/safeboy

A GameBoy emulator written in Rust

Primary LanguageRust

safeboy, a gameboy emulator in Rust

Build Status

Safeboy Logo

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