Currently this is very simple ZX Spectrum 48k emulator. Written moslty by AI, but me also do my job.
Current status:
- Z80 emulation works well. Only one zexall.com test failed.
- ULA emulation works well. Refresh timings works. No ghosting support.
- Sound & TapeOut works ugly. TapeIn not realized.
- TAP loader works well.
- TZX hungs somewhere.
- No printer, kempston, etc support.
But this emulator already can play "/pkg/tape/testdata/batty.tap"
To build the emulator:
go build -o zxgo cmd/zxgo/main.go
To run the emulator:
./zxgo {file to load in tape player}
To run the emulator with profiling enabled:
./zxgo -trace
This will generate three files:
cpu.prof
- CPU profiling datamem.prof
- Memory profiling datatrace.out
- Execution trace data
Then analyze the profiles with:
go tool pprof cpu.prof
go tool pprof mem.prof
go tool trace trace.out