About
GBCC is a cross-platform Game Boy and Game Boy Color emulator written in C, with a focus on accuracy. Available on Linux, macOS, Windows, and Android.
Features
I've written some small bits about things I found interesting on the technology page. You can also take a look at the manpage for an idea of what's supported.
Emulator
- SDL & GTK GUIs
- Shaders: Dot-Matrix, Colour-Correct and Subpixel
- Colour-Correct and Subpixel shaders provide accurate GBC colour reproduction
- Screenshots, both with & without shaders applied
- Gamepad support
- Cartridge saves, including real-time clock data
- Auto-save after game writes to SRAM
- Save states
- Auto-save on close & resume on open
- Adjustable turbo mode
- Palettes for DMG games
- Frame blending
- VRAM tile data display
Hardware
Legend: Supported ✓, Partially Supported ✓, Not Supported ❌
- Game Boy Revisions:
- Game Boy ✓
- Game Boy Color ✓
- Game Boy Pocket ❌
- Super Game Boy ❌
- Memory Bank Controllers:
- MBC1 ✓
- MBC2 ✓
- MBC3 ✓
- MBC5 ✓
- MBC6 ❌
- MBC7 ✓
- HuC1 ✓ (IR port not implemented)
- HuC3 ✓ (IR port not implemented)
- MMM01 ✓
- Sachen MMC1 ❌
- Sachen MMC2 ❌
- Peripherals & I/O:
- Link Cable ✓ (Only supports a fake "link" with itself)
- IR Port ❌
- Rumble Pak ✓
- Accelerometer ✓
- Game Boy Printer ✓ (Only to terminal)
- Game Boy Camera ✓ (Linux & Android only)
- Pocket Sonar ❌
- Mobile Adapter GB ❌
- Barcode Boy ❌
Screenshots
Click an image to see the 1080p Subpixel (for GBC) or Dot-Matrix (for DMG) shaded version
Resources
- Gameboy Opcodes
- Handy overview of opcode timings & sizes
- The Pandocs
- The introduction to Game Boy hardware
- Mooneye GB
- Well documented set of test ROMs
- GBDev Wiki
- Detailed articles on every aspect of core Game Boy hardware
- Tauwasser's Wiki
- Great documentation of the MMM01 & Sachen mappers
- Awesome GBDev
- Links to everything else you could ever want to know