Four decades of the ZX Spectrum: ten projects keeping the 8-bit era alive

Forty years ago today, Sinclair Research released the ZX Spectrum, and the landscape of home computing shifted forever. The machine β€” known affectionately as the "Speccy" β€” went on to become one of the best-selling microcomputers of all time. More remarkably, it still commands a large and active community of developers, archivists, and hardware hackers who continue to build for and preserve the platform.

For many of us, the Spectrum was a gateway into programming, whether that meant typing in 10 PRINT "I AM COOL" or poking around hex values in search of infinite lives. That early enthusiasm persists today through a thriving ecosystem of emulators, development tools, and new hardware. To mark the anniversary, here's a look at ten projects that are keeping Spectrum development and play alive in 2022.

Emulation for every platform

If you want to run original Spectrum software on modern hardware, the options are plentiful. Rustzx, written by @Pacmancoder in Rust, is a cross-platform emulator that supports tap (tape), sna (snapshot), scr (screenshot), and rom files. It runs on macOS, Linux, and Windows, which means your old game collection β€” or the programs you typed in from magazines decades ago β€” are still accessible.

For a no-install option, there's JSSpeccy 3, a browser-based emulator that can also be embedded in your own website. The third major release leans on modern web technologies to faithfully reproduce those distinctive 8-color graphics and beeper audio.

Screenshot of Treasure Island Dizzy being played in Rustzx.
Treasure Island Dizzy, my nomination for the best video game and character ever created loaded into Rustzx.

Screenshot of Jetpac being played in a web browser.
The original ZX Spectrum version of Jetpac being played on the web. The gameplay still holds up today!

The Internet Archive is a valuable companion to either emulator, hosting a substantial library of Spectrum games along with scans of classic publications like Sinclair User and Crash.

Reverse engineering and tape tools

For those interested in how Spectrum software works under the hood, disassembly remains a thriving pursuit. Disassembling means taking an executable and breaking it down into human-readable assembler language. SkoolKit is a suite of tools that converts Spectrum software into its skool format, allowing you to organize, annotate, and publish disassembled code as browsable HTML. Documented examples include JetPac, Chuckie Egg, and The Great Escape, with more available. In a related effort, @dpt has ported The Great Escape to C, documenting the reverse engineering process along the way.

Animation showing No. 5's take on disassembly.
If you grew up with a Spectrum, you’ll probably understand this reference / seemingly random animated GIF.

Tape handling has its own ecosystem of specialized tools. Tzxtools is a command-line collection for working with tzx files, the preservation format used for cassette tapes across the ZX Spectrum, Amstrad CPC, Commodore 64, and other platforms. It also handles tsx files. The utilities convert old tape recordings or wav files to tzx, generate tap files for emulators and the ZX Spectrum Next, and load tzx files back onto real hardware.

Going in the other direction, zxtap-to-wav converts tap files into wav files. That's useful if you have an old MP3 player or smartphone: load your favorite games as audio, pipe them through an MP3-to-cassette adapter, and you have a working tape collection.

Image of a cassette adapter.
I can actually remember when these things were considered β€œcutting edge” technology.

Modern development for Z80

Writing and debugging Z80 assembly has come a long way from the days of pencil and paper. DeZog is a VS Code extension that provides a full development environment for Z80 assembly, with debugging facilities that were unimaginable a few decades ago. The author also maintains a video series on programming the Spectrum in C and Z80 assembly.

Animation showing the DeZog VS Code extension
Feel right at home and step through your code with ease in VS Code.

For compilation, sjasmplus is a Z80 assembly cross-compiler for Linux, macOS, and Windows. A cross-compiler differs from a standard compiler in that it produces machine code for a platform other than the one it runs on. Sjasmplus is feature-rich, most notably including a Lua-based scripting engine.

If you wrote Z80 assembly back in the day, chances are you didn't write tests β€” test-driven development wasn't part of the culture, and code was expected to work flawlessly on the first try. For today's practitioners, @rhargreaves's zx-spec brings TDD to the Spectrum with a dedicated testing framework.

Screenshot showing passing and failing tests.
I assert that this is cool.

Creative tools: music and graphics

New music for the Spectrum's humble beeper continues to appear. @Utz82's fluidcore is a 4-channel PCM wavetable player designed specifically for the platform's single-bit audio output. The underlying technique is detailed in a tutorial for those inclined to experiment.

For visuals, @Jarikomppa's Image Spectrumizer converts any image into something that looks native to a Spectrum screen. It offers both GUI and command-line interfaces with plenty of settings to tweak, though it's Windows-only.

Screenshot showing a photographed being transformed into the correct dimensions and colors for display on a Spectrum.
My face coming to a loading screen near you.

The Spectrum Next and a birthday mixtape

The community's ambitions extend beyond preservation. Following a successful crowdfunding campaign in 2017, the ZX Spectrum Next launched as a modernized, compatible update to the original hardware with additional capabilities. New software is already appearing, including The Level 9 Compilation, a collection of text adventure games. The #spectrum-next topic page tracks how the ecosystem develops. Someone has even written a utility for the Spectrum to communicate via HTTP, hinting at networked possibilities for the platform.

Screenshot of Scapeghost for the ZX Spectrum Next
Scapeghost for ZX Spectrum Next.

No tribute to the Spectrum would be complete without a covertape, and the community has delivered: The ZX Spectrum 40th Birthday Game Mix Tape is a bundle of 40 new games playable on original hardware, the Spectrum Next, or emulators. It's not free β€” donations of $10 USD or more β€” but proceeds go to Special Effect, a charity helping people with severe physical disabilities access video games. The collection is available at itch.io.

Screenshots of the games included in the ZX Spectrum 40th Birthday Mix Tape
Screenshots of the games included in the ZX Spectrum 40th Birthday Mix Tape

A ZX Spectrum loading screen showing a "spectrumized" audio cassette.