/dawngb

GameBoy Color emulator written in Go.

Primary LanguageGoMIT LicenseMIT

DawnGB

DawnGB is GameBoy Color emulator written in Go.

You can play on web!

Screenshots

Desktop

prism megaman shantae pokered

Browser(Web)

    

Features

  • GB(DMG) and GBC(CGB) support
  • MBC1, MBC3, MBC5, MBC30 support
  • Sound(APU) support
  • Libretro support(run make libretro)
  • Multiplatform support
  • Work on Browser(here)

Usage

  • Desktop: Run go run ./src/ebi and drag and drop a ROM file into the window.
  • Browser: Visit here.

Key mapping is as follows:

  • A: X
  • B: Z
  • Start: Enter
  • Select: Backspace
  • : Arrow keys

Internal

.
├── core  # Emulator core
├── src   # Frontend
└── util  # Utility (should be renamed to "internal" in the future)

Accuracy

Keep the code as simple as possible, so synchronization is done at each instruction, and line-rendering is done at once on HBlank.

So game like "Prehistorik Man", which modifies the PPU registers during mid-frame, may not draw correctly.