Skip to content

kiltum/zxgo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

67 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ZX Spectrum Emulator in Go

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"

Building

To build the emulator:

go build -o zxgo cmd/zxgo/main.go

Running

To run the emulator:

./zxgo {file to load in tape player}

Profiling

To run the emulator with profiling enabled:

./zxgo -trace

This will generate three files:

  • cpu.prof - CPU profiling data
  • mem.prof - Memory profiling data
  • trace.out - Execution trace data

Then analyze the profiles with:

go tool pprof cpu.prof
go tool pprof mem.prof
go tool trace trace.out

About

ZX Spectrum emulator, written on Go

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages