zBoy is a multiplatform GameBoy emulator. I started this project mainly because I never had the occasion to work with computers at the lowest (machine code) level. zBoy is my way to learn about architecture of microprocessors, assembly language, memory addressing, etc...
So far, the emulator is able to emulate correctly most (if not all) of GameBoy´s CPU instructions (which CPU is, by the way, a slightly modified Zilog
Z80 microprocessor - very similar to the Intel 8080), and handles in a rather nice way the GameBoy´s video subsystem, as well as required I/O operations and hardware interrupts. zBoy is able to load most of existing GameBoy ROMs into memory, and run them. zBoy supports load/save features, can perform PCX screenshots either manually or automatically (every few seconds), and even emulates an internal battery for ROMs that were designed to use one (this allows to use the internal save option provided by such games, remember highest scores, etc).
zBoy allows to play using a keyboard, or a joypad (or both). The emulator is available for Linux, DOS and Windows.
If you are looking for some ROMs to test zBoy with, you can download a game pack of few public domain GameBoy games here. Note, that I won´t provide any commercial ROMs to you. Do not even bother asking me - you will only waste your time.
* zBoy´s history... *
zBoy v0.11 [09 Jan 2011]
- Resetting few additional internal variables at emulator´s restart (F10) - now Duck Tales is not crashing anymore when restarted,
- Optimizations of the video subsystem and CPU emulation code (the emulator is about 2x faster now),
- Added support for Joypads,
- Added the possibility to redefine all keys (both emulated buttons and emulator´s hotkeys),
- Fixed a small calculation bug causing the emulator to run at max (unlimited) speed after loading a game state,
- Added the "--ROMINFOS" command-line parameter, making zBoy to show various informations about the loaded ROM before starting the emulation,
- Added the "--NOSPEEDLIMIT" command-line parameter to play zBoy at unlimited speed (might be useful for benchmarking purposes),
- Added the "--SHOWFPS" command-line parameter to make zBoy display FPS value while playing (was always displayed before),
- Added support for "turbo keys" (also known as "auto fire") for buttons A and B,
- Implemented support for the MBC2 memory controller - made working such games like F-1 Race, Kid
Icarus, Rolan´s Curse II, Torpedo Range...,
- Implemented support for the MBC3 memory controller (but without TIMER support so far) - made working such games like Pokemon Blue and Pokemon Red,
- Added the "--NOSCREENSAVER" command-line parameter which prohibits any screensaver to start while the emulator is running (Linux only),
- Added the "--HISCORESMEM" option that tells zBoy to memorize HiScores in games that aren´t able to do so by themselves (supports "Pipe Dream", "Pac-Man" and "Super Marioland"),
- The IME (Interrupt Master Enable) register is always set to 0 at boot now (games like "Pac-Man special color edition", "Pagemaster" and "Hook" are not crashing at start anymore).
zBoy v0.10 [17 Dec 2010]
- First non-alpha version of zBoy, many GameBoy games are fully playable.
zBoy v0.00 [22 Aug 2010]-[20 Nov 2010]
- Several versions of the zBoy emulator appeared, published as "alpha releases", without any versionning.