Craterboy is a Rust-based Game Boy emulator focused on accuracy, performance, and a clean separation between core emulation and the frontend. The goal is a headless, testable core with a thin UI shell that runs well on desktop and Raspberry Pi handhelds.
- Accurate DMG/CGB emulation with tight timing and hardware quirks.
- Clear core/frontend split so the emulator core is independent and testable.
- Modern UI with ROM management, overlays, and debugger panes.
- Save states, rewind, and structured logging.
- Strong testing culture with ROM suites, property tests, and fuzzing.
- Rust for the emulator core and tooling.
winitfor the window/event loop.wgpufor GPU-backed frame presentation and filters.- Slint for UI (ROM picker, HUD, debug overlays).
cpalfor audio output.gilrsfor optional gamepad input.proptestandcargo fuzzfor reliability testing.
- FR0001: Bootable DMG display slice (winit/wgpu frame output).
- FR0002: Input + frame pacing.
- FR0003: Audio output.
- FR0004: Cartridge + save data support.
- FR0005: Slint ROM manager and HUD.
- FR0008: Reliability harness (ROM tests, property tests, fuzzers).
Early planning and scaffolding. Expect rapid iteration as the core and frontend take shape.