Skip to content

ARLocke322/zig-gbc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

186 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

zig-gbc

🕹️ A Cycle-Accurate Game Boy Colour emulator written in Zig.

Demo Demo Demo Demo

Features

  • Full Sharp LR35902 instruction set
  • All memory structures and registers apart from Serial Transfer
  • Currently supports 4 GameBoy cartridge types with automatic detection
  • Full PPU using scanline rendering with DMG and CGB modes
  • Various components such as the Timer, Interrupt Controller, and Joypad
  • SDL3 GUI using Zig's C interoperability, implementing rendering and ROM selection
  • Full APU implementation, using SDL's Audio Stream to drive frame rate + timing
  • Working save games
  • Toggleable emulation speeds

Usage

Build & run

zig build run

Controls

Game Boy Keyboard
D-Pad Arrow Keys
A Z
B X
Start Enter
Select Right Shift
Emulator Keyboard
Toggle Speed S

Planned features

  • Save states
  • FIFO rendering
  • Additional MBCs

Test Roms

  • Passes Blargg cpu instructions, instruction timing, interrupt timing, and memory timing tests

About

🕹️ A Cycle-Accurate Game Boy Colour emulator written in Zig.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages