gopher-boy

module
v0.0.0-...-5560990 Latest Latest
Warning

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

Go to latest
Published: Oct 30, 2019 License: MIT

README

gopher-boy

CircleCI Go Report Card

    

Installation

you can install gopher-boy with following comand.

go get github.com/bokuweb/gopher-boy/cmd/gopher-boy

This emulator uses the go library pixel, which requires OpenGL. You may need to install some requirements which can be found on the pixels readme.

Requirements

  • go1.12.7

Development

Native
GO111MODULE=on go run -tags="native" cmd/gopher-boy/main.go hello.gb
WebAssembly
make build-wasm
make serve

Usage

gopher-boy YOUR_GAMEBOY_ROM.gb
Keymap
keyboard game pad
← button
↑ button
↓ button
→ button
Z A button
X B button
Enter Start button
Backspace Select button

Testing

make test
Current status
Blargg's test ROM
ROM Result
cpu_instrs
instr_timing ❌ (#255)
mooneye-gb's test ROM
ROM Result
emulator-only/mbc1/bits_bank1
acceptance/instr/daa
acceptance/timer/div_write
acceptance/timer/tim00
acceptance/timer/tim01
acceptance/timer/tim10
acceptance/timer/tim11
acceptance/if_ie_registers
Visual regression test

Please install reg-cli.

npm i -g reg-cli

Execute regression test

make reg

Update expected images

make reg-update

Credit

"gopher" by Renée French CC-BY-3.0

Known Bugs and TODO list

PR welcome :)

  • Implement APU
  • Support scale option
  • Support WebAssembly
  • 8*16 sprite
  • LCD interrupt
  • Keypad interrupt
  • cartridges
    • Support ROM+MBC1+RAM+BATT catridge
    • Support ROM+MBC2 catridge
    • Support ROM+MBC2+BATTERY catridge
    • Support ROM+RAM catridge
    • Support ROM+RAM+BATTERY catridge
    • Support ROM+MMM01 catridge
    • Support ROM+MMM01+SRAM catridge
    • Support ROM+MMM01+SRAM+BATT catridge
    • Support ROM+MBC3+RAM catridge
    • Support ROM+MBC3+RAM+BATT catridge
    • Support ROM+MBC5 catridge
    • Support ROM+MBC5+RAM catridge
    • Support ROM+MBC5+RAM+BATT catridge
    • Support ROM+MBC5+RUMBLE catridge
    • Support ROM+MBC5+RUMBLE+SRAM catridge
    • Support ROM+MBC5+RUMBLE+SRAM+BATT catridge
    • Support Pocket Camera catridge
    • Support Bandai TAMA5 catridge
    • Support Hudson HuC-3 catridge

Jump to

Keyboard shortcuts

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