All Projects → Engil → Goodboy

Engil / Goodboy

Licence: other
A pure OCaml Gameboy emulator

Programming Languages

ocaml
1615 projects
python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Goodboy

gameboi
An Original GameBoy emulator?
Stars: ✭ 20 (-73.33%)
Mutual labels:  gameboy, gameboy-emulator
jsGBC-core
jsGBC Core Emulator
Stars: ✭ 14 (-81.33%)
Mutual labels:  gameboy, gameboy-emulator
Goboy
Multi-platform Nintendo Game Boy Color emulator written in Go
Stars: ✭ 2,403 (+3104%)
Mutual labels:  gameboy, gameboy-emulator
mealybug-tearoom-tests
🪲☕️ Game Boy emulator test ROMs
Stars: ✭ 40 (-46.67%)
Mutual labels:  gameboy, gameboy-emulator
CAMLBOY
A Game Boy emulator written in OCaml that runs in your browser 🐫 🎮
Stars: ✭ 409 (+445.33%)
Mutual labels:  gameboy, gameboy-emulator
Jitboy
A Game Boy emulator with dynamic recompilation (JIT)
Stars: ✭ 190 (+153.33%)
Mutual labels:  gameboy, gameboy-emulator
demo-emulator
Nintendo Game Boy emulator written in Go to be used in workshops about emulator programming
Stars: ✭ 41 (-45.33%)
Mutual labels:  gameboy, gameboy-emulator
Giibiiadvance
A GB, GBC and GBA emulator with GB Camera support.
Stars: ✭ 141 (+88%)
Mutual labels:  gameboy, gameboy-emulator
Awesome Gbdev
Contribute
Stars: ✭ 3,016 (+3921.33%)
Mutual labels:  gameboy, gameboy-emulator
Rustyboy
A Gameboy emulator written in Rust.
Stars: ✭ 224 (+198.67%)
Mutual labels:  gameboy, gameboy-emulator
ghidra-gb
[WIP] A simple Ghidra loader for GameBoy ROMs
Stars: ✭ 11 (-85.33%)
Mutual labels:  gameboy, gameboy-emulator
ostrich
A Game Boy Sound System player for macOS, written in Swift
Stars: ✭ 37 (-50.67%)
Mutual labels:  gameboy, gameboy-emulator
Metroboy
MetroBoy - A playable, circuit-level simulation of an entire Game Boy
Stars: ✭ 169 (+125.33%)
Mutual labels:  gameboy, gameboy-emulator
Gopher Boy
🎮 A Game Boy emulator written in Go
Stars: ✭ 206 (+174.67%)
Mutual labels:  gameboy, gameboy-emulator
Gbemu
A Gameboy emulator in modern C++
Stars: ✭ 149 (+98.67%)
Mutual labels:  gameboy, gameboy-emulator
Mgba
mGBA Game Boy Advance Emulator
Stars: ✭ 3,355 (+4373.33%)
Mutual labels:  gameboy, gameboy-emulator
Cryboy
A Game Boy (Color) emulator written in Crystal
Stars: ✭ 68 (-9.33%)
Mutual labels:  gameboy, gameboy-emulator
Gbemu
WebAssembly based Gameboy Emulator
Stars: ✭ 120 (+60%)
Mutual labels:  gameboy, gameboy-emulator
Binjgb
Gameboy emulator implemented in C
Stars: ✭ 222 (+196%)
Mutual labels:  gameboy, gameboy-emulator
RGB
RGB (Rust Game Boy) is a simple emulator for the original game boy
Stars: ✭ 19 (-74.67%)
Mutual labels:  gameboy, gameboy-emulator

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

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].