Gambatte is an accuracy-focused, cross-platform Game Boy and Game Boy Color emulator. The project is based on hundreds of corner case hardware tests, as well as previous documentation and reverse engineering efforts.
The core emulation code is contained in a separate library back-end (libgambatte) written in pure platform-independent C++. There is a GUI that uses Trolltech's Qt4 toolkit (gambatte_qt), and a simple command-line SDL front-end (gambatte_sdl). The GUI front-end contains platform-specific extensions for video, sound, and timers.
Product's homepage
What's New in This Release: [ read full changelog ]
· XvBlitter: Try grabbing all adapter ports before giving up. Fixes XVideo engine unnecessarily unavailable while mplayer running.
· Don't call glTexSubImage2D in blit() because that tends to block on OS X (and quite possibly other implementations), use paged-flipped sw double buffer. This should fix OS X being less audio underrun-resistant than other platforms.
· Add GBC DMG palettes. Wasn't able to use the .pal-files by nitro322, but thanks nonetheless.
· Use mapped GBC palette by default for recognized DMG game titles.
· libgambatte: Add ROM title getter.
· Add Turbo A/B input mapping with configurable number of frames per press.
· Add Quit input mapping.
· Support Game Genie codes.
· Support 01xxxxxx Game Shark codes.
· Support .gz files.
· Avoid using magic header values to detect file type to avoid potential conflicts with ROM content.
· Gambatte Qt: Support command line parameters.
· Gambatte Qt: Work around WMs messing up if full screen is set too early.
· InputDialog: Protect against Qt signaling redundant inputbox focusIn events causing joystick mutex relock, which could basically break joystick input.
· Always pause on file dialog for all platforms. Too much screwiness with the way native dialogs work in Qt, and I think this may be overall nicer either way.
· AlsaEngine: Limit number of iterations of snd_pcm_writei loop to make sure we don't get an infinite loop in weird cases.
· Allow loading HuC1 ROM images.
· Provide option to use heuristics to support certain multicart MBCs disguised as MBC1 (Bomberman Collection, Mortal Combat I & II, Super Chinese Land 1,2,3 Dash, maybe others)
· Default fast-forward speed 8.
· libgambatte: compilation and warning fixes for clang.
· Better facilitate overriding CC and CXX from the command line.
· Mac OS X build fixes for newer SDKs.
· Redirect some error printing from stdout to stderr
· Minor fixes, refactoring and clean-ups.