MGBEmu
MGBEmu is a managed Game Boy emulator capable of emulating both Game Boy Classic and Game Boy Color. It allows you to run old Game Boy games on your PC.
To run a Game Boy game, you need a ROM image of the game. ROM image is a copy of the Game Boy cartridge contents, stored in a single file (usually with .GB or .GBC extension). You can create ROM images from cartridges you own using a special device connected to your PC, or you can download cartridges from the internet. PDRoms has some free Game Boy cartridge ROMs available for download.
Be aware that some websites offer downloads of cartridge ROMs that are not freely redistributable. Please do not download ROMs of cartridges that you don’t own from these places. And please don’t ask me where to find such websites.
Known limitations
- Background priority is being ignored during sprite rendering. Sometimes a sprite can cover parts of background that are supposed to be covering the sprite.
- RTC circuit of the MBC3 cartridge controller is not emulated. Games requiring on-cartridge clock will not work properly. Affects a limited number of Game Boy Color games.
- User interface is very limited. There is not even a way to remap the keys.
Technical details
- This is an interpreter. No recompilation happens: it won’t run well on very old machines
- Sound is emulated using this technique. All the credit for the sound quality goes to Blargg. I merely rewrote his algorithm to C#.
- This thing also runs on Xbox 360 (it also supports Rumble Pak emulation there). I also have a neat way of transfering ROM images from PC to the console (indie games don’t get internet or socket access so I had to think outside the box). I might try to get this to the Xbox Live Marketplace.
- The emulator is fully written in C#.
- Compatibility is decent. Apart from the known limitations, this emulator could handle all the games I have thrown at it.
- I will probably release the source code at some point in the future.