Update to JSGB – Java GameBoy Emu

The Java GameBoy Emulator JSGB by Pedro Ladaria saw an update today. I know this isn’t a native Mac OSX emulator but, it will run in both Firefox and Safari for Mac. It recommends Google Chrome however, I don’t have that browser to test it with. I did sign up for Chrome updates from Google today so, I’m hoping to have a physical copy soon. The emulator runs Mario Land, Tetris, Dr. Mario, Bomberman, Kirby’s Dream Land, Space Invaders, Motocross Maniacs, Bomb Jack, Bubble Ghost, Boxxle 2, Drop Zone, Castelian, Serpent, and Centipede. In Firefox I got an average of 22 frames per second, with a max of 23 FPS. With Safari I was able to get a whopping 59 FPS on average, with a max of 60 FPS. This is great for those of you who don’t want to install anything on your computer or are trying to kill time at work. As I become more aware of Java based emulators I will test them out and report back here at Mac Emulators. To play with this emulator go to the homepage. Let’s check out some of the features and the changes.


  • GLPv2 lisenced
  • Pure javascript and HTML5.
  • Works perfect with Google Chrome (even on a simple netbook). Slow with Firefox.
  • Integrated debugger (with disassembler, memory viewer, cpu registers…).
  • Almost everything is emulated, except sound.
  • Supports scanline effects, sprite priority, palettes, accurate timing…
  • Changes:
  • Now the framerate is limited by setInterval (one frame is painted every 17ms).
  • Input bug solved. Auto-repeated keys caused emulation to freeze.
  • DAA instruction (stolen from VisualBoyAdvance).
  • CPU emulation: using “macros” for similar instructions. This makes faster code (and easier to maintain).
  • Window display over background (seems to work in ‘Space Invaders’ or ‘Bubble Ghost’ intros).
  • Renaming functions and variables to keep a “Programming Style”.
  • HALT instruction (the weird-IME-off behavior is not emulated).
  • Added a Caller Stack, this makes debugging a lot easier.
  • Rewrited the whole LCD controller emulation. Now it’s much more accurate (and slower) it has pallete support, X/Y flipping, transparency and sprite priority.
  • Support for Chrome/Chromium putImageData (weird!).
  • Bug corrected on reading color info from tile data.
  • Partial MBC1 emulation (ROM switch). On bank switching, copies the bank into GameBoy memory.
  • Lots of optimizations.
  • MBC1 emulation rewrited. Instead copying, just makes a reference some games do more than 1000 bank switchings per second.
  • Found a bug in CPU, now more games are playable, like “Kirby’s Dreamland”, “Bomberman” and “Mario Land”.
  • Joined all timing routines (CPU, LCD, Timer) into a single one.
  • JSGB Homepage

    Cheers and thanks to EmuHQ for posting the good news.

    About Mac Emulators
    I am an Old School gamer with roots in emulation and gaming. I love video games, but mostly I love the old ones from our past. Emulation is a way to experience all these old games on your personal computer.

    Leave a Reply

    Fill in your details below or click an icon to log in:

    WordPress.com Logo

    You are commenting using your WordPress.com account. Log Out /  Change )

    Google+ photo

    You are commenting using your Google+ account. Log Out /  Change )

    Twitter picture

    You are commenting using your Twitter account. Log Out /  Change )

    Facebook photo

    You are commenting using your Facebook account. Log Out /  Change )


    Connecting to %s

    %d bloggers like this: