A cycle-accurate, ppu not-quite-so hobby project.
Go to file
Rekai Nyangadzayi Musuka 8a352ca807 chore: prevent bitrot 2024-10-13 14:59:24 -05:00
.vscode chore: update recommended vscode extensions 2022-10-21 00:14:10 -03:00
bin chore: add a creative-commons boot rom for compat 2021-09-24 16:15:55 -03:00
src chore: prevent bitrot 2024-10-13 14:59:24 -05:00
.drone.yml chore: update CI config 2021-07-09 01:30:40 -05:00
.gitignore chore: update .gitignore 2021-05-05 18:37:11 -05:00
Cargo.lock chore: prevent bitrot 2024-10-13 14:59:24 -05:00
Cargo.toml chore: prevent bitrot 2024-10-13 14:59:24 -05:00
README.md chore(readme): add build instructions 2022-10-26 21:05:00 -03:00

README.md

Rekai's Gameboy Emulator

Status

  • From Blargg Test ROMs
    • cpu_instrs
    • instr_timing
    • mem_timing
    • mem_timing-2
    • dmg_sound (partial)
  • dmg-acid2
  • From mooneye-gb:
    • Cartridges:
      • MBC1
      • MBC1M
      • MBC2
      • MBC5
  • Implements a cycle-accurate PPU FIFO
    • Doesn't *exactly* work just yet

Supports: ROM-only, MBC1, MBC2, MBC3 and MBC5 games.

Compiling

This project was last successfully built on Rust 1.64.0

  1. git clone https://github.com/paoda/gb
  2. cd gb
  3. cargo run --release

Controls

Controls are defined here

Key Button
X B
Z A
Enter START
Shift SELECT

Then use the Arrow keys for the D-Pad

Credits

The Boot ROM found in the bin/ directory was made by Optix over here