For the Budding ZX Spectrum Machine Code Programmer, I Would Like to Share Some Handy Resources for ZX Spectrum Games Development That I've Found on the Internet.

The Sinclair ZX Spectrum is one of my 3 favourite gaming platforms of all time (the other 2 being the Playstation Vita and the *New* Nintendo 3DS XL) and I have always dreamt of making my own machine code powered action game for it (I did make a simple Space Invaders clone in the early 80's in ZX Basic).

And around 3 years ago I had a bit of time on my hands and nothing else I wanted to do at the time, and at the same time I had gotten a good idea for a 2D action game I wanted to make, and as I know a fair bit about how the ZX Spectrum's ”internals” are structured (and have a general affection for the machine) I opted for trying to make the game on the ZX Spectrum.

I had never programmed any machine code programs before and had only read a bit about how it was done back in the day, so I didn't know much about how to approach doing it, and therefore I started to search the internet for resources that could help me in my ”quest”.

First of all I found a very good free utility for making games for the ZX Spectrum (and other 8-bit home computers aswell) in machine code/assembler language, called ”TommyGun – a retro development toolkit”, made by a guy called Tony Thompson, in which you can make your own graphics (sprites and tiles), install an assembler program (I use the Pasmo Z80 assembler myself), make screens/maps, see an overview of the memory layout, edit strings and make music for the games you are developing.

Skrmbillede 67png

TommyGun's "dashboard".


I'm not entirely sure if music making and editing strings is working at this stage, as I haven't used these functions yet, but it's easy to make your own sprites and see them animated at different speeds and making tiles, and screen and game map building is also very well implemented.

All in all it is a very usefull and well made 8 bit development tool (although I'm not sure if the other 8 bit platforms are as well supported as the ZX Spectrum one yet) and then it's free, so I certainly recommend any budding 8 bit games programmer to check it out.

TommyGun (and a newer version I haven't checked out yet) can be found at:

      http://www.worldofspectrum.org/utilities.html


I also found what is practically a goldmine of information for any budding ZX Spectrum games developer on a blog called ”Bytes: Chuntey - R Tape loading error". It contains about 20 long articles by a guy called ”Arjun” (edit: in fact it seems that most - if not all - of the articles are written by Jonathan Cauldwell, creater of the Egghead games among others) that covers just about everything worth knowing about programming games for the ZX Spectrum in machine code/assembler language (and by everything I mean just about every trick in the book – from fast scrolling routines, making sprites, music and AY effects to collision detection, interrupts etc., etc.).

These articles can be found at:

https://chuntey.wordpress.com/category/z80-assembly/


Another really useful ressource is an online (although it can be saved and used offline as well) tutorial for Z80 assembly programming in general by a guy called Patai Gergely.

It's an excellent tool for someone who has never programmed in Z80 assembler language before, as it's very easy to use and much, much better than looking through the manual for the Z80 processor or some old books on the subject (which by the way CAN be found on the internet if anybody is interested).

The tutorial can be found at:

http://sgate.emt.bme.hu/patai/publications/z80guide/

And is highly recommended.


There is also an indepth article about making sprites (masked) on the ZX Spectrum at:

http://oldmachinery.blogspot.dk/2014/04/zx-sprites.html


Lastly I will recommend using the Spectaculator ZX Spectrum emulator for Windows when developing games for the ZX Spectrum, as it supports all of the official ZX Spectrums as well as the 2 most popular Russian clones. It also has a debugger built-in which could become handy when testing games.

The Spectaculator is something I will recommend in general if you like playing or programming ZX Spectrum games, as it's just such a well-rounded product; it can mimic an old CRT television (with scanlines and all) for example and in general just have a lot of options for ”personalizing” your experience. And then it runs really well; there is no flickering or other oddities not supposed to be there when you are playing the games.

The only ”downside” is that it's not free (I think it is about 15$ if you don't want to have access to future upgrades, else it's about the double). In my opinion it's well spent money though, and if you're in doubt that ZX Spectrum gaming and programming really is your thing, there is a 30 day trial version for you to download for free (just to clarify: I have no connections whatsoever to the people behind Spectaculator, but bought it myself about 10 years ago and have never regretted doing so).

The Spectaculator can be downloaded at:

http://www.spectaculator.com/


Ok, I think this about it, but if you have gotten further appetite for information about the ZX Spectrum, lastly I would like to recommend the ”mother” of all ZX Spectrum websites:

http://www.worldofspectrum.org/

Here you can find everything from games and forums to emulators and information on remakes of classic ZX Spectrum games

Home: http://yupeeter.com