Skip to content

laullon/b2t80s

Repository files navigation

Go Report Card Build Status

b2t80s

Z80 & 6502 Based Computers, consoles and arcades Emulator (back to the 80's)

  • ZX Spectrum [90%]
  • Amstrad CPC [80%]
  • MSX 1 [70%]
  • NES [50%]
  • Tetris Arcade [80%]

Download

https://github.com/laullon/b2t80s/releases/latest

Usage

  -bp string
        Breakpoints [0xXXXX[,0xXXXX,...]]
  -cpuprofile file
        write cpu profile to file
  -debug
        shows debugger
  -dskA string
        disc file to load on drive A
  -memprofile file
        write memory profile to file
  -mode string
        Spectrum model to emulate [48k|128k|plus3|cpc464|cpc6128|msx1|atetris|nes] (default "48k")
  -rom string
        msx1 rom file to load - format: [mapper::]filename - Mappers:konami
  -slow
        Real Spectrum loading process
  -tap string
        tap file to load
  -z80 string
        z80 file to load
  -cart nes cartridge

Build and Run

Requirements

All OS

  • Go 1.13+

Linux:

  • libgl1-mesa-dev
  • libegl1-mesa-dev
  • libgles2-mesa-dev
  • xorg-dev
  • libasound2-dev

Macos:

  • Xcode (latest)

Dependencies

go get -u github.com/go-bindata/go-bindata/...
$HOME/go/bin/go-bindata -pkg data -o data/data.go data/...

Run

go run main.go --mode 48k -tap "./games/ManicMiner.tap"
go run main.go --mode nes -cart "games/nes/1942 (JU) [p1].nes"
go run main.go --mode atetris

links

ZX

CPC

Z80

my

ZexDoc

zmac --zmac zexdocsmall.asm
go test -v -timeout 999m github.com/laullon/b2t80s/emulator -run TestZEXDoc

TODOs

// TODO: test OLC:PGE for UI - https://github.com/OneLoneCoder/olcPixelGameEngine

traces

/usr/local/bin/go test -trace=trace.out -timeout 15s github.com/laullon/b2t80s/cpu/z80 --v
go tool trace trace.out