Game Boy emulator written in Rust.
This uses boot rom of https://github.com/LIJI32/SameBoy.
- Abstruct
- https://gbdev.io/pandocs/
- https://github.com/pokemium/gb-docs-ja (for japanese)
- MBC
- CPU
- PPU
- APU
- Timer
- Joypad
- OAM DMA transfer
Test | gb-emu |
---|---|
cpu instrs | 👍 |
instr timing | 👍 |
mem timing | 👍 |
mem timing 2 | 👍 |
halt bug | 👍 |
oam bug | ❌ |
dmg sound | ❌ |
cgb sound | ❌ |
- Catridge
- Catridge loading
- MBC1
- MBC3
- MBC5
- Others
- CPU
- Instructions
- Interrupt handling
- PPU
- Background
- Window
- Sprite
- V-blank interrupt
- LCDC STAT interrupt
- Sprite and background priority
- APU
- Channel1
- Envelope
- Sweep
- Channel2
- Envelope
- Channel3
- Channel4
- Envelope
- Channel1
- Timer
- Timer registers
- Timer overflow interrupt
- Joypad
- Joypad input
- Joypad interrupt
- OAM DMA transfer
- Saving game data
wasm-pack build --target web --out-dir www/wasm