Yet another Game Boy emulator.
Essentially a rewrite in Rust of my other Game Boy emulator written in ReasonML.
$ cd frontend/yeeboy-sdl2
$ cargo run --release -- path/to/rom-file
Optionally provide --trace
to have the emulator spew out every instruction while it's running.
Keep in mind that it has a negative impact on performance, depending on your terminal of choice.
$ cd frontend/yeeboy-wasm
$ wasm-pack build
$ cd www
$ npm run start
The emulator will be available at http://localhost:8080
Keyboard | GameBoy |
---|---|
X | A |
B | Z |
Left Shift | Select |
Space | Start |
Up arrow | Up |
Down arrow | Down |
Left arrow | Left |
Right arrow | Right |
Escape | Quit |
- Basic architecture and organization
- CPU Instructions
- CB Instructions
- Still missing a few obscure instructions (check opcodes.rs)
- Timers
- Interrupts
- GPU
- Backgrounds
- Sprites
- Windows
- Needs more testing
- Cartridges
- ROM
- Headers
- MBC1 (WIP)
- MBC3
- Frontends
- SDL2
- WASM
- Controllers
- CLI flags
- Timing is off (need to add a frame limiter)
- Audio
- Save
- Logger
- Debugger
- GPU Debugging windows
- OAM Viewer
- Tile map
- Background map
- Palettes
- Config file
- Automated testing
-
01-special -
02-interrupts -
03-op_sp_hl -
04-op_r_imm -
05-op_rp -
06-ld_r_r -
07-jr_jp_call_ret_rst -
08-misc_instrs -
09-op_r_r -
10-bit_ops -
11-op_a_hl
- Dr Mario
- Tetris
- Super Mario Land
- Pokemon Red
Any game that isn't RomOnly, MBC1 or MBC3