Running new C code on a 1982 ZX Spectrum in 2018

Whilst this is old-hat to those in the retro scene, the idea that I can write new code for my old Speccy is very exciting!

The 1980s home computer retro scene remains very vibrant. I dip a toe in every so often and recently have been enjoying the new Speccy games that I’ve found on Indie Retro News.

One thing that caught my eye with these releases was the mentions of “engines”. It turns out that people have been building games engines for the ZX Spectrum for years. Mostly in C it seems and mostly using the z88dk toolchain.

So I had a quick play around with z88dk and was gob-smacked to see how easy it is to generate a TAP file from C code that you can run on a Spectrum emulator:

And if you have an SD card interface like the divMMC Future for your original 1982 Spectrum, like me, then you can run your first new code on it since 1986. Yes I know it’s Hello World but I’m buzzing.

Hello Speccy

Related to this, I discovered recently that a game I wrote in 1985, The Cherry Run (play it online here) has an awful bug.

Cherry Run

I don’t have the original Z80 Assembly code so I tried out a disassembler and realised I have forgotten 100% of whatever I knew about Z80 :-) However I was able to extract the Basic loader for the game which was cool.

Cherry Basic

So do I try and fix that 33 year old bug or re-write the game in C using one of those game engines?

Conor O'Neill

Tech guy who likes running slowly

Bandon, Cork, Ireland https://conoroneill.net