Last Updated on: 26th April 2022, 02:57 pm
Gnuboy – an emulator with interface for X11, fbcon, svgalib and SDL. Some roms are not compatible with it, but most of them work fine.
One of the fastest if not the fastest GB/GBC emu-lator available.
gnuboy was written well over 20 years ago and achieved full speed on most machines of that era, on today’s machines it runs close to 0% CPU usage.
gnuboy development was mostly stagnant for the past 20 years, but I (Laguna, the present developer) revived it using the last released sources and CVS dumps and fixed numerous minor issues with modern compilers and systems, as well as the occasional bugfix, plus a new SDL2 backend.
Unlike most modern GB emulators, gnuboy doesn’t strive to be cycle-accurate (except where necessary), but to be fast, portable and compatible and to provide a good gaming experience.
gnuboy emulates nearly all aspects of the (Color) Gameboy, including all of the following and much more:
– Full GBZ80 instruction set.
– Scanline-based LCD engine.
– Ten sprites per scanline limit.
– Support for all CGB graphics extensions.
– Sprite DMA, HDMA, and GDMA.
– All four sound channels including digital samples.
– MBC1, MBC2, MBC3 (including clock), and MBC5 mappers.
– Wave pattern memory corruption when sound channel 3 is played.
– Pad, timer, divide counter, and other basic hardware registers.
– CGB double-speed CPU mode.
In addition to basic emulation, gnuboy provides the following features:
– Highly flexible keybinding and configuration subsystem.
– State saving and loading at any point.
– Very precise timing/synchronization, preserved across save/load.
– Joystick support on Linux, DOS, and all SDL-based ports.
– Fully customizable palettes for DMG games.
– Screen scaling by a factor of 2, 3, or 4 in all ports.
– Hardware-based screen scaling on platforms where it’s available.
– Debug traces to stdout.
– Dynamic palette allocation when run in 256-color modes.
– OR simulated 3/3/2 bits per channel in 256-color modes.
gnuboy supports a wide range of host systems, and has been tested successfully on: GNU/Linux, FreeBSD, OpenBSD, BeOS, Linux/390 (IBM S/390 Mainframe), SunOS/Sun Ultra60, IRIX/SGI O2, IRIX/SGI Indy, AIX/Unknown, DR-DOS, MS-DOS, Windows DOS box, Windows 9x/NT/2k.