/rustiegb

GB emulator written in Rust

Primary LanguageRust

RustieGB

GB emulator written in Rust.

This project's original intention was to learn Rust by coding something cool and, at the same time, complex. Therefore, this emulator only features the basics to emulate GB and focus in learning to work with Rust rather than new functionalities, speed or improvements.

Blargg test status

CPU

  • 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)

Instruction timing

  • Instruction timing

DMG Sound

  • 01: Registers
  • 02: Len CTR
  • 03: Trigger
  • 04: Sweep
  • 05: Sweep details
  • 06: Overflow on trigger
  • 07: Len Sweep period sync
  • 08: Len CTR during power
  • 09: Wave read while on
  • 10: Wave trigger while on
  • 11: Regs after power
  • 12: Wave write while on

OAM Bug

  • 01: LCD sync
  • 02: Causes
  • 03: Non Causes
  • 04: Scanline timing
  • 05: Timing bug
  • 06: Timing no bug
  • 07: Timing effect
  • 08: Instr effect