YAREGB is Yet Another Rust Emulator (for) Game Boy.
This is a study project and HEAVILY borrows code and observation from rylev's book, mooneyegb and rusty-boy. Most of the documentation and code below to these and many other open source projects.
The main goals of this project are:
- Getting started in Rust and mess with pointers and bitwise operations
- Learn about and document my findings regarding DMG internals, Z80 and ASM
- Implement build blargg test roms
- Implement a debugger
- Mess around with Reverse Engineering GB ROMs and hardware
- Documentation
- Add schematics and file layout
- Add commentaries regarding RAM addr
- CPU
- Registers
- Flags
- Instruction Set
- Timer and Divider Registers
- Interrupts
- GPU
- Rendering (Tile RAM)
- I/O
- Joypad Input
- Sound Controller
- Serial Data Transfer (Game Link)
- Memory Maps
- Tests
- Add blargg test roms
- Debugger
- Implement a debugger