For a laugh, here are a couple of titles I created back in the depths of time. Be warned, they are VERY basic. Indeed, they are almost entirely written in BASIC with only a smattering of machine code to bolster the odd bit.

Few of the many programming projects I started ever got to the point where they were complete enough to be useable. Usually they took me so long (especially with the irritating demands of school and homework, and the more enjoyable distraction of playing Elite!) that they were obsolete before being half done. None of it represents good programming practises, sadly, since I was very much on the learn-as-you-go curve.

These are not intended for serious use. This is strictly for retro-nerd entertainment value only!


First up is a Z80 assembler. Painfully slow and embarrassingly basic it may be, but it does just about make the process of creating small-ish machine code routines less agonising than using POKE tables.

assem_shot.gif (1680 bytes)

Each line consists of a line number, an optional label (jump target name, etc), the mnemonic, and it's arguments. Formatting and some checking is done when you enter it. The first line must be an ORG statement, and you should keep your code between 56000 (ramtop+1000, see below) and 62500. Jumps and address references (relative and absolute) are computed upon assembly.

To perform the assembly, type ASSEMBLE. Other commands include LOAD, SAVE, LIST (or LISTline), RENUMBER, NEW, INKcolour, PAPERcolour and RTOP=ramtop.

The option to use a 3rd-party turbo-loader for loading/saving is included, but it's probably inadvisable to use it with an emulator. The loader code was not written by me, it was a type-in from a magazine, "copyright 1985 EKH".

Assem35.z80 (26 KB)


2-player classic Tanx game. I seem to vaguely recall this being my own version of some game I'd seen on a BBC Micro.

barrage_shot.gif (1255 bytes)

Start by specifying the size of your armies. You play rounds with 100 soldiers each. When you run out of soldiers, the game is over (ie: army size of 300 should give at least three rounds). You estimate an angle and velocity for your shot, like any tanx game, but you can also specify a delta from that. Up to three shots are fired in a barrage, the initial values then plus and minus the delta values. As you lose soldiers, you get fewer shots per turn.

Hitting close to the enemy gun emplacement will kill some proportion of the enemy. How accurate you must be to destroy the base depends on the skill level. If you hit the cities beyond each gun, you get a penalty. Wind speed and direction influence the path of the shells.

The terrain is randomly generated, and can be damaged by shots.

Worms it is not. There are one or two bugs, and it doesn't always play fair!

Barrage.z80 (12 KB)