ZX Coding Days

The other day I found some old ZX Spectrum programming guides I had stored in my attic.
Two straight programming books and two adventure books, where the source code for several IF games was printed.

ZX Spectrum Coding Guides

I leafed through the battered, dirty copy of “Como Programar o Seu ZX Spectrum” / “Programming your ZX Spectrum” by Tim Hartnell and Dilwyn Jones, published in 1982. I instantly felt the urge to code for the Spectrum, if only to experience BASIC in all its glory.

The book cost 497 Escudos, the old Portuguese coin, it’s almost the equivalent of 2.5 €. I never read this book as a kid, my father purchased it at my brother’s request but all I wanted to do was play. Programming didn’t even occur to me and I wish I had read it. I would have got the urge to code a lot earlier!

I’m going to dive into Spectrum programming and document the experience. Let’s call it “ZX Coding Days”!

I downloaded Unreal Speccy Portable, but its mapping of the Spectrum’s keyboard to the Mac’s isn’t great, it got stuck in a loop every time I pressed Shift + another key.

I tried out Fuse and fell in love. The Mac OS X version feels like the perfect solution. This is one of the things I really like about the Macintosh, there is ONE, maybe TWO fantastic implementations of what you need. I’m in a nostalgic mood, so why don’t you also take a look at Boxer, the DOS-Box for Mac? Gorgeous design.

Ok, so I have an emulator. Let’s start reading the book!

First Page

The first page nearly made me weep with nostalgia.
Here’s a rough translation of the last line:

The moment has come. Turn on your Spectrum. ‘Light up’ your TV, and let’s begin.

Ok, so the Spectrum keyboard had shortcuts for all the programming keywords, as you can see in this awesome screenshot I took of Fuse:


Those white and red words on each key are activated by Symbol-Shift and other shifts. Had no idea, I just played games on the thing!

Stuff I learned:

REM means remark, and are comments. Now it all makes sense.
LIST shows the currently loaded program. NEW erases it. I’m using the emulator’s snapshots to store the program, later on I’ll see about actually putting it in the Spectrum format, probably with another app.

Typing line number and Enter eliminates that line. This is awesome because it means I can alter lines without having to type them all in the correct order, which is a fantastic way around the lack of a mouse.

I didn’t go much further than that simple Hello World, because it’s a bit painful still to have instant shortcuts for keywords ( I type P and Print shows up). Had to do a lot of backspacing!

If you have any suggestions about where I can take this feature, go ahead. It’s entirely possible I’ll get discouraged and forget about it.