Gambatte is an open source GBC emulator that is designed to be portable. The core emulation is kept separate from the UI. This was done to ensure the emulation can be platform dependant and easily ported to separate operating systems.
Besides Gambatte’s platform independent design, it is also designed to be accurate. Being based on many corner case hardware tests and reverse engineering. Thanks to the emulators accuracy focus, it does mean that it is also highly compatible with a multitude of games.
The QT GUI frontend of Gambatte is designed to also provide more platform specific functions such as handling of the video, sound and timers. The GUI frontend is meant to be able to run on all systems as well, however the Gambatte team have only provided builds for both Windows and Mac OS X.