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%]
https://github.com/laullon/b2t80s/releases/latest
-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
- Go 1.13+
- libgl1-mesa-dev
- libegl1-mesa-dev
- libgles2-mesa-dev
- xorg-dev
- libasound2-dev
- Xcode (latest)
go get -u github.com/go-bindata/go-bindata/...
$HOME/go/bin/go-bindata -pkg data -o data/data.go data/...
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
- https://stackoverflow.com/questions/1215777/writing-a-graphical-z80-emulator-in-c-or-c
- tests: http://mdfs.net/Software/Z80/Exerciser/
- The Complete Spectrum ROM Disassembly: https://skoolkid.github.io/rom/maps/all.html#0038
- SPECTRUM 128 ROM 0 DISASSEMBLY http://www.matthew-wilson.net/spectrum/rom/128_ROM0.html?LMCL=aH_qpw&LMCL=L7lymk#L1F45
- Roms: http://www.shadowmagic.org.uk/spectrum/roms.html
- Contention Test Success http://www.zxdesign.info/testSuccess.shtml
- Video Parameters http://www.zxdesign.info/vidparam.shtml
- cpc6128 rom: http://cpctech.cpc-live.com/docs/os.asm
- http://cpctech.cpc-live.com/docs/basic.asm
- http://cpctech.cpc-live.com/docs/amsdos.asm
zmac --zmac zexdocsmall.asm
go test -v -timeout 999m github.com/laullon/b2t80s/emulator -run TestZEXDoc
// TODO: test OLC:PGE for UI - https://github.com/OneLoneCoder/olcPixelGameEngine
/usr/local/bin/go test -trace=trace.out -timeout 15s github.com/laullon/b2t80s/cpu/z80 --v
go tool trace trace.out