A GameBoy emulator written in Rust
iogb
should be run using cargo. Pass the path to your ROM file using -r / --rom
.
cargo run -- --rom ~/legal_rom.gb
The following command line arguments may be passed to iogb
:
-s
,--scale
The displaying scaling to use (1, 2, 4, 8, 16, 32)-b
,--bootrom
The path to a gameboy bootrom
- CPU
- Implement all instructions
- Switch to cycle accurate timing
- Implement DMA
- GPU
- Render sprites
- Render window
- Switch to cycle accurate timing
- Input
- Implement controller data register (0xFF00)
- Audio
- Implement all 4 sound channels
- Implement sound control registers
- MBC
- Implement MBC2
- Implement MBC3
- Implement MBC5
- Interface
- Pass inputs to GB
- Misc
- Implement Gameboy Colour
- Consider project layout
- Fix TODOs
- Pass all of Blargg's tests