The ZX Spectrum Reverse Engineering and Clone Desgin Blog


A site dedicated to the reverse engineering of the ZX Spectrum and related projects.

< 2 of 6 >

Mikro-Gen and Skyway

Dec 5, 2007

Back in October this year (20/10/2007) at the 2007 WOS meet-up, I happened to show the assembled ZX Spectrum enthusiasts a copy of an unfinished game I had been writing for Mikro-Gen back in the mid 1980's. The story behind it and why it was never finished is slightly convoluted, involves money, mystery and contracts; a brief affair and madness.

I did not think that any of this would be interesting in the present day, so it never occurred to me to tell anyone about it. See here for the exact quote.

Anyway, I've put together a complete archive of information, but first the background behind me, games programming and Mikro-Gen:

Days of Wonder

In the Winter of 1981, I came across a ZX81 in the local W H Smith store. I was 11 years old, and out shopping with my Father. The ZX81 was mounted on a dark grey vaccum formed plastic console, itself mounted beneath a 12inch blank and white television. The ZX81 was sunk slightly into the console so that its left hand connectors were covered, and the whole display unit was recessed into the shops wall shelving, so that the television did not protrude too far into the shop; the ZX81, resplendent on its sleek grey mounting, stuck out like a thumb.

A customer was typing something into the ZX81 with his young daughter, which he finished doing as I approached. The computer asked the girl to type in her name, which she did dutifully, and then the computer replied "Hello Lucy. Pleased to meet you.". I was amazed!

The customer re-ran the program and turned to me, encouraging me to have a go. I typed my name, slowly, on the keyboard and pressed Enter when instructed. The computer said "Hello Chris. Pleased to meet you.". I was speechless. How did the computer know my name? I knew I'd just typed it on the keyboard, but to have it read back to me, well, that was fantastic! There had never been anything like the ZX81 before.

I was hooked.

Learning to Batch Program

Many months later, towards the summer of 1982, a friends father bought a ZX81. After much nagging I was given a loan of the ZX81 Programming Manual. I read it repeatedly from cover to cover, piecing together my own programs that used more and more BASIC constructs like IF THEN and FOR loops, which I would write out and take into W H Smith on Saturdays to try out on the store ZX81. In the intervening week I would modify and improve programs ready for the coming Saturday.

I had independently invented Batch Processing.

My First Computer

My parents presented me with my first computer, the ZX81 in November 1982 (I can still recall the smell of the machine, fresh and sterile). The ZX Spectrum had been available for six months, but the ZX81 had for me been an object of focus for such a long time, it was a dream come true.

It was also my first experience of computer games, outside the games arcade. These were so exciting, or rather, the concept of playing games on a computer, my computer, was exciting.

So at the age of 12, I realised that I could create my own games, and spent most of my time doing that and playing 3D Monster Maze, which was fantastic at the time. Then at Christmas, I was presented with a ZX Spectrum 48K.

The ZX Spectrum

The ZX Spectrum's colour and sound opened up new possibilities, as did the improved graphics, and was a whole new learning experience. Generally I was far more interested in writing games, terrible ones to begin with, instead of playing games. If anything I usually preferred to watch other people playing; I was mostly interested in the new games, how they looked and how much better technically they were from those previous.

In the Beginning there was BASIC

Within six months of owning a ZX Spectrum I was writing simple games in BASIC. Graphics, and there movement let me down of course, as BASIC was very limiting. I bought a few books, some dipping into machine code - but none with enough explanation to be accessible by a 13 year old. My graphic skills did improve though, inspired by the quality of such producers as Ultimate Play The Game, Ocean, BubbleBus and others.

Then, in early 1985, after a year or so of Spectrum ownership, some of my graphical designs gave me an idea for a game, and I produce a number of 'demo' screen shots to show how the whole thing would look.


My first contact with Mikro-Gen was at the 16th ZX Microfair, June 22 1985. I had taken my demo screen designs along with me to show to various games producers. Mikro-Gen were probably the most recognisable name at this Microfair, and so I spoke to who turned out to be the Managing Director Mike Meek, waving my silver ZX Printer screen prints in front of him. We talked about about the game I had in the pipeline, and he wrote his name on the inside of a large cardboard format copy of Herbets Dummy Run, asking me to send him a demo copy of the game.

This was fantastic encouragement, but I knew I needed to improve my graphics programming, and where else to buy a book or two on the subject than at the ZX Microfair! I bought Machine Code Sprites And Graphics by John Durst / Sunshine Publications, and Machine Code Applications for the ZX Spectrum / Sunshine Books

My graphics programming improved immensely with the help of these books, and the game 'Cybex' went through several changes before being presented to Mikro-Gen in it's final form in late summer 1986.

Shortly after that I was invited up to London to meet the team at the Annual Mikro-Gen Games Playing Championship Final held at the Savoy Hotel, 5th November 1986. The final saw contestants playing Raffaele Cecco's new game "Cop-Out" to the last man standing.

There I met Keith Goodyear and Raffaele Cecco.

A New Wally

A few months later in the spring of 1987, whilst I was at the Mikro-Gen offices in Bracknel finalising some details of 'Cybex' and poking about with the Amstrad CPC conversion of Dynamite Dan II that Keith was doing, I began to talk with the then Managing Director Rod Cobain about a new Wally game. I took away some graphic fragments left over from previous games and the seed of an idea.

Over the spring and early summer months I worked on the Wally game, doing graphics in a similar Mikro-Gen style, and based around a prototype graphics engine. I could have taken some sprite code from Mikro-Gen, but it wasn't clear what would be best to take as they had a habit of rewriting it for each new game anyway.

Goodbye Mikro-Gen

Time moved on and Mikro-Gen's parent company, Thorn, ran into financial difficulty and folded taking Mikro-Gen with them. This was during the Summer of 1987, the receivers had been called and time was marching on. Cybex had still not been released, and I knew I was going to be left with a Wally game I could do nothing with.

So during the summer I took some of the more 'spacey' graphics I had lying around from the Mikro-Gen work, combined them with the more spacey graphics I had done and turned the game into a "run around shooting" effort - Skyway. This is probably why it bares a resemblance to Exolon - written by Raffaele Cecco, post Mikro-Gen, for Hewson Consultants.

The Mikro-Gen fold became final in October, and as I was free of my contract with Mikro-Gen I sold the by then very dated Cybex outright to Software Publishing Associates - over a year after I had written it.

Skyway hung about for quite a few months due to studies, but in June 1988 I submitted it to Hewson for evaluation. They liked it (7/10 for a playable demo), and of course they thought the graphics were too like Exolon. This was all fixable, but the games market for the Spectrum was slowing down and I started getting interested in other things such as precise timing loaders, hardware and fast sprite engines. In the end, university was around the corner, and that finaly drew me away from games programming.

Next! After 20 years in the attic, I present Skyway!