Sample Spectrum Emulator
Get a ZX Spectrum ROM
To run a ZX Spectrum emulator, you'll need a copy of the ZX Spectrum ROM. You can download a copy of the ROM from this link. It should be in the same directory as the emulator.
C++ Implementation — SDL2
Click this link to download the C++ implementation using SDL2.
To compile and run this code, on Linux or Mac, run:
clang++ -Wall -O3 -std=c++20 -o omse-mini omse-mini.cpp $(pkg-config --cflags --libs sdl2)
./omse-mini
and use the appropriate compiler flags for compiling with SDL on Windows, where you likely don't have the pkg-config tool (you may need to change the #include <SDL.h> to #include <SDL2/SDL.h>):
C++ Implementation — SDL3
Click this link to download the C++ implementation using SDL3.
To compile and run this code, on Linux or Mac, run:
clang++ -Wall -O3 -std=c++20 -o omse-mini omse-mini-sdl3.cpp $(pkg-config --cflags --libs sdl3)
./omse-mini
Go Implementation — SDL2
As an alternative, you can download the Go implementation from this link.
To run this code, you'll need to have the Go compiler installed. You can compile and run the code with:
go mod init omse-mini
go get github.com/veandco/go-sdl2/sdl
go get github.com/imneme/chips-to-go/z80
go run omse-mini.go
(When logged in, completion status appears here.)