Rusty Game Boy Emulator

Mon, 16 March 2026

In Progress

A work-in-progress Nintendo Game Boy (DMG-01) emulator written in Rust with CPU, memory bus, timer, and interrupt support.

GitHub
Rust
Assembly
Systems Programming
Emulation

Overview

A work-in-progress Nintendo Game Boy (DMG-01) emulator written in Rust. This project currently has basic CPU + memory bus + timer + interrupts functionality and is now focused on developing the PPU and cartridge support.

Current Status

Implemented / Working

Partially Implemented

Not Implemented Yet

Running

Prerequisites

Run the current tests (Blargg CPU instruction tests)

The current main is set up to run a Blargg CPU test ROM and print serial output emitted by the ROM.

  1. Ensure test ROMs exist at the expected path:

    • blargg/cpu_instrs/individual/01-special.gb
  2. Run:

    • cargo run

The emulator loop:

If you want to run a different ROM, edit the test_roms list in src/main.rs.

Project Layout (high level)

Roadmap

Graphics (PPU)

Longer-term

Notes

References

Documentation

Test ROMs