mirror of
https://github.com/FranLMSP/rmg-001.git
synced 2024-09-20 10:10:50 +00:00
48 lines
1.7 KiB
Markdown
48 lines
1.7 KiB
Markdown
# RMG-001
|
|
Rust Matrix Game - 001: Yet Another Rust Gameboy Emulator.
|
|
|
|
This is just a fun project I'm making for learning and practice purposes. If you want a fully-featured Gameboy emulator, this is probably not the best one :P
|
|
|
|
Any help or suggestion is welcome!
|
|
|
|
# Screenshots
|
|
![CPU Instructions](screenshots/cpu_instrs.png)
|
|
![CPU Timing](screenshots/instr_timing.png)
|
|
![Link's Awakening](screenshots/links_awakening.png)
|
|
![Mario Land 2](screenshots/mario-land-2.png)
|
|
![Pokémon Silver](screenshots/pokemon-silver.png)
|
|
![Pokémon Yellow](screenshots/pokemon-yellow.png)
|
|
|
|
# TODO
|
|
- [x] CPU implementation
|
|
- [x] Interrupts
|
|
- [x] Timer
|
|
- [x] Joypad (not configurable yet)
|
|
- [x] PPU implementations
|
|
- [ ] MBC Implementations
|
|
- [x] NoMBC
|
|
- [x] MBC1 (Multicart not implemented)
|
|
- [x] MBC2
|
|
- [x] MBC3 (partially implemented, RTC missing)
|
|
- [x] MBC5
|
|
- [ ] MBC6
|
|
- [ ] MBC7
|
|
- [ ] HuC1
|
|
- [x] Save files
|
|
- [ ] Web Assembly support (because this is a Rust project and it has to support Web Assembly)
|
|
- [ ] Gameboy boot ROM (not important for now)
|
|
- [ ] Gameboy Color compatibility
|
|
- [ ] Sound
|
|
- [ ] Many code refactors and optimizations
|
|
|
|
# Resources
|
|
This project would have been completely impossible without all the documentation and help that exists online for the Nintendo Gameboy:
|
|
- The EmuDev community
|
|
- Pandocs: https://gbdev.io/pandocs/
|
|
- Gameboy emulation guide: https://hacktixme.ga/GBEDG/
|
|
- CPU opcodes table: https://izik1.github.io/gbops/
|
|
- Opcodes behaviour: https://rgbds.gbdev.io/docs/v0.5.1/gbz80.7
|
|
- Blargg's test ROMs: https://github.com/retrio/gb-test-roms
|
|
- Mooneye test ROMs: https://github.com/Gekkio/mooneye-test-suite
|
|
- The Ultimate Gameboy talk: https://youtu.be/HyzD8pNlpwI
|