Skip to content

abbysmal/Goodboy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Goodboy

A pure OCaml Gameboy emulator

This project is a work in progress Gameboy emulator written in pure OCaml. The goal is to provide a full Gameboy + Gameboy Color emulator with support for most cartridges kind out there, and experiment with a few different frontends.

Current progress

Currently most of the core logic is implemented, minus a few bugs, and simple games can be played. (Tetris and Tobu Tobu Girl are good examples) I'm currently working on fixing more core logic bugs causing some games to fail and will then proceed to more complicated games.

Currently implemented:

  • Gameboy CPU (cpu_instrs running successfully minus test 02)
  • Timers
  • GPU (Window, Background, Sprites)
  • MBC1 and MBC0 type cartridges
  • SDL and Notty frontends

On my todo list:

  • Audio processing unit
  • GBC and SGB modes
  • Javascript frontend

The codebase is as of now a bit of a mess, everything is slightly more complicated than it needs to be and the overall performances are not optimal. The interfaces will change dramatically in the future, I have never written an emulator, and the patterns to use were slightly blurry to me.

Screenshots

Debugger Notty debugger interface

Notty frontend (running Tetris) Notty frontend

SDL frontend (running Tobu Tobu Girl) SDL frontend

Releases

No releases published

Packages

No packages published