Try out my game boy emulator

Hi All,

I'm giving the old "game boy" emulator a go :slight_smile:
I've heard and read that it probably wont work very well (poor performance), and it does seem like mario is on the moon when Im running it in my simulator (does poor performance in the simulator always transfer to poor performance on the device?).
This is what it looks like in the simulator:
post image

I'm in group 5, so I don't have a device to try anything out on :frowning: Is there anyone who would want to help out and try my build out? Would greatly appreciate it :slight_smile:
Its sitting at GbEmu.pdx.zip - Google Drive
I did'nt dare put a gameboy file on it, so you need to add one yourself in the "images" folder named "supermario.gb" - it dose'nt need to be super mario but that is the one I tried out myself (Super Mario Land). The A button is mapped to start and the B button is mapped to which ever key makes mario jump :slight_smile: I've also mapped left and right keys.

/Jimmie

1 Like

Computers have much more CPU power than Playdate, so unfortunately, performance is likely to get worse on-device. Cool exercise though!

Yes.

Even great performance in the Simulator can mean poor performance on device.

Yeah this is what I'm expecting. It does run very fast outside of the playdate simulator though (Im just wrapping an emulator that normally uses SDL for graphics) so I dont really know what to expect.
Would be nice to just get a confirmation on how it runs on a real device.

My guess is that the main problem is that the emulator runs a single operation per cycle and it basically sits in a gigantic switch statement hoping around the code depending on what CPU instruction to perform next. This probably kills the branch prediction and being a limited CPU that might be enough to bring it to its knees while on a regular PC CPU it runs fast enough even though caches are getting trashed.
Probably a lot of work to rewrite it though :frowning:

1 Like