Gambit
Gambit copied to clipboard
A C-based GameBoy emulator, created as a learning exercise
GAMBIT
A simple GameBoy emulator
The motivation behind the creation of Gambit is purely academic: to explore emulation and various aspects of the hardware-software interface in a practical setting. Emulation of the Nintendo GameBoy has been accomplished by many people before, but this makes it a great learning exercise: GB emulation is relatively well-documented (as far as proprietary hardware goes), there is a fairly substantial amount of open-source code to use as reference, and success is rewarded by clear visual evidence and the ability to play some fun classic games.
References
Imran Nazar: GameBoy Emulation in JavaScript
A series of detailed articles on emulation development in JavaScript; ten parts are currently available, and others are expected to follow.
Marat Fayzullin: Computer Emulation Resources
A page of many articles, links, and source code related to emulation. Of particular interest are "HOWTO: Writing An Emulator," "Nintendo GameBoy Architecture," and the author's own source code for a portable Z80 emulator.
The Pan Docs
An extremely thorough document of the GameBoy hardware specs, including video, sound, and memory layout, based on work by many authors. Hosted by nocash, this appears to be the most recent version of a document that's been floating around the internet for the past 15 years.
Zilog Z80 Family CPU User Manual (pdf)
An extensive technical document from the designers of the chip on which the GameBoy CPU is based. This pdf includes detailed information on every register, operation, etc.
Existing Emulators
- https://github.com/Two9A/jsGB
- http://code.google.com/p/gnuboy/
- https://github.com/zodttd/gameboy4iphone (A version of gnuboy with an iPhone frontend)
- http://sourceforge.net/projects/gambatte/
- http://code.google.com/p/ugabe/