gomeboy

command module
v0.0.0-...-77df42f Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 14, 2024 License: MIT Imports: 17 Imported by: 0

README

gomeboy

GitHub go.mod Go version (subdirectory of monorepo)

GomeBoy is my attempt at creating a fairly accurate and reasonably performant Game Boy emulator written with golang. It is still currently in the very early stages of development, but it is already capable of running quite a few games with varying degrees of success.


Screenshots

DMG Games

DMG Games running on CGB hardware

CGB Games

Peripherals (Printer)

Printer


Features

  • GameBoy (DMG) and GameBoy Color (CGB) support
  • SRAM and RTC support
  • Run DMG games with CGB colorization palettes (without using a boot ROM)
  • Automated testing against a large number of test ROMs
  • Peripherals
    • Cartridge Mappers
      • MBC1
      • MBC2
      • MBC3
      • MBC5
      • ROM
    • Cheat Carts
      • Game Genie
      • GameShark
    • Serial
      • Printer
      • Link Cable
      • Local Multiplayer (needs reimplementation)
  • Platform-agnostic (runs on Windows, Linux, and Mac)

Automated Test Results

progress

Test Suite Pass Rate Tests Passed Tests Failed Tests Total
acid2 75% 3 1 4
bully 50% 1 1 2
blarrg 100% 43 0 43
little-things-gb 100% 4 0 4
mooneye 98% 112 2 114
samesuite 14% 11 67 78
scribbltests 100% 5 0 5
strikethrough 0% 0 2 2

Visit the tests directory for more information.


TODO

  • build instructions
  • github actions
  • improve error handling and logging
  • expose more emulator options to the user
  • reimplement link cable & local multiplayer

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
internal
apu
cpu
io
ppu
pkg
display/event
Package event defines the various event types that can be sent to a display.Driver.
Package event defines the various event types that can be sent to a display.Driver.
log

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL