ZX Spectrum development - simple input/graphics example
Last updated on March 4, 2012, 15:11 by Sebastian Mihai
The ZX Spectrum was my computer throughout my childhood, and I loved it to bits. It was my first development platform, during my futile attempts to reproduce games I saw in arcades.

The Spectrum has its own BASIC interpreter, and it was a solid way to introduce users to computer programming. The interpreted language will never offer the same performance as assembly, but it was easy to learn. I wrote all sorts of little games, which are now unfortunately lost.

Here is a simple BASIC program which allows the user to move an animated person on the screen. It's easy to understand, and can help if you wish to learn how to program the ZX Spectrum. Moreover, here is an image of the Spectrum keyboard for reference. This type of multi-function keys was unique to the Sinclair computers, and while it allowed experts to type less, the learning curve was steep, scaring beginners off. I was pleasantly surprised that I still remembered many of the multi-functions after about seventeen years.


If you are completely unfamiliar with ZX Spectrum, here are a few tips:
- the source of the program is contained in the rom, since the interpreter and editor run ON the actual Spectrum
- after loading the rom, you can hit the R key (to type RUN), followed by Enter
- to stop the program, you can either press Q, or issue a BASIC Break command by pressing Caps Shift and Space together. (Caps Shift is mapped to the left Shift key by default by Speccy)

Downloads


- rom in SNA format - the compiled rom in SNA format. Load it in a ZX Spectrum emulator which supports this format.
- rom in Z80 format - the compiled rom in Z80 format. Load it in a ZX Spectrum emulator which supports this format.
- Speccy emulator - Supports both SNA and Z80 formats.

Screenshots


If you use the materials on this page, or any other page on this web site, you do so at your own risk. They are provided "as is". No warranty is provided or implied. I neither guarantee that the materials will work, nor that they will not be harmful in any way.

RGB Overdose (my entry at the GMD game programming competition)

Gameboy development - Burly Bear vs. The Mean Foxes

Project One - An action RPG engine

Neo Geo development - Neo Thunder

Sega Genesis development - Gen Poker

Airplane Vegas slot machine

Animal Keeper

Gameboy Advance development - smgbalib library

Gameboy Advance development - Balanced Diet

Super Nintendo development - Bucket

Atari 2600 development - Snappy (batari basic)

Nintendo NES development - Invaders must die!

Atari Lynx development - Catkanoid

TurboGrafx-16/PC Engine development - Alddee

Colecovision development - Mowleco

Sega Master System development - Burgers of Hanoi

Gameboy Color development - Burly Bear vs. The Mean Foxes (GBC version)

Nintendo Virtual Boy development - Real Danger

Vectrex development - Scalar Ownage

ZX Spectrum development - simple input/graphics example

Atari 5200 development - Shooting Gallery

Neo Geo Pocket Color development - NGCollector

My homebrew cartridges

Mowleco (ColecoVision) featured in Retro Gamer issue 106

BlackBerry PlayBook development - Sheepish Bearings (Native SDK, OpenGL)

Capacitor study circuit

Catch That LED! - an electronic game circuit

555 timer and 4017 decade counter - traffic lights circuit

A simple Atari 2600 joystick tester circuit

Seven segment display circuit with the 4511 decoder and the 4029 counter

Video compilation of my classic console homebrew games