you can install gopher-boy with following comand.
go get github.com/bokuweb/gopher-boy/cmd/gopher-boyThis emulator uses the go library pixel, which requires OpenGL. You may need to install some requirements which can be found on the pixels readme.
- go1.12.7
GO111MODULE=on go run -tags="native" cmd/gopher-boy/main.go hello.gb
make build-wasm
make serve
gopher-boy YOUR_GAMEBOY_ROM.gb| keyboard | game pad |
|---|---|
| ← | ← button |
| ↑ | ↑ button |
| ↓ | ↓ button |
| → | → button |
| Z | A button |
| X | B button |
| Enter | Start button |
| Backspace | Select button |
make test
| ROM | Result |
|---|---|
| cpu_instrs | ✅ |
| instr_timing | ❌ (#255) |
| 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 | ✅ |
Please install reg-cli.
npm i -g reg-cliExecute regression test
make regUpdate expected images
make reg-update"gopher" by Renée French CC-BY-3.0
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




