safeboy, a gameboy emulator in Rust
safeboy is a GameBoy (8bit, black and white) emulator made in Rust. It's based mainly on RBoy implementation (https://github.com/mvdnes/rboy).
Learning purposes
This emulator is made for learning purposes. With that I mind:
- I documented as much as I can all complicated hardware instructions and other parts of the core (MMU, GPU, etc.)
- I try to have as many as test cases as possible (WIP!)
- Variable names are not abbreviated like it's usual in emulators, so it's more understandable
Supported features
- MBC1
- Timer
TODO
- Rest of MBCs
- Sound
- Serial Port
- Accuracy
License
MIT
Some links and interesting stuff
Link | Description |
---|---|
Pandocs | Clasic GameBoy and GameBoy Color reference |
awesome-gbdev | Good compilation of resources about GameBoy development |
mooneye-gb | GameBoy research project with many accuracy notes |
Simplicity Betrayed | Good article on emulation |
GameBoy Programming Info | Some programming info on the GameBoy |
Virtual GameBoy | Multiplatform GameBoy emulator |
Gambatte | Cycle accurate GameBoy emulator with sources |
GBDev Wiki | Wiki for GB developers with many links and info |
GameBoy ASMSCHOOL | Good series of articles on GameBoy assembly |
Emulating the GameBoy | Collection of articles on GameBoy emulation with tons of detail and implementation snippets |
Z-80 articles | Collection of low level details about the Z80 |
Z-80 Stack | Good article on the Z80 stack and assembler details |
GameBoy Playmobile | Building a wireless GameBoy, good series of articles |
GameBoy sound hardware | Hardware guide for audio |
GameBoy sound controller | More docs on audio hardware |