projects/2019–21

Gameboy Emulator

A Game Boy emulator in Swift, built out of curiosity about how the hardware works.

  • Swift
  • iOS
  • macOS
Swift source from the Game Boy emulator's instruction table

A step up from my CHIP-8 emulator: real hardware this time. The emulator core is shared Swift code used by both iOS and macOS apps, with one subsystem for each part of the Game Boy.

  • Subsystems: CPU and instruction decoding, registers, timer, MMU and memory bank controllers, PPU, APU and cartridge loading.
  • Debugger: a built-in debugger view on iOS for inspecting CPU state.