Green Beret and Space Harrier, My 2 favourite ZX Spectrum Games by My 2 Favourite ZX Spectrum Programmers, Respectively Jonathan M. ”Joffa” Smith and Keith Burkhill (A Part Homage/”Loveletter” and Part Technical Explanation of Their Best Games).


Jonathan M. ”Joffa” Smith (1 February 1967 – 26 June 2010) was an english videogame developer/creator (among other things) primarily famous for the Sinclair ZX Spectrum games he made in the 1980’s.

Jonathan started programming in the early days of the ZX Spectrum (around 1983) and in the summer of 1984 decided to take what would become his first published game ’Pud Pud in Weird World’ (plus an untitled ’Donkey Kong’ type game) to what would become the biggest videogame publisher in Great Britain in the 1980’s, Ocean Software.

Ocean decided to publish ’Pud Pud’ that Jonathan had made in the famous ’bedroom programmer’ style; i. e. entirely on his own. Something that can’t have been easy/inexpensive as Pud Pud is a very large ZX Spectrum 48k game, and it probably required Jonathan to have at least Sinclair Research’s own Interface 1 add-on attached to his 48k ZX Spectrum, so he could hook up at least 1 Microdrive (Sinclair Research’s own version of the Diskette Drive) to it.

Doing the programming, and testing the build that came out of it, with a single ZX Spectrum and a cassette recorder for storage would probably not have been possible for mere practical reasons, as it would just have been to cumbersome and slow (writing the code in the assembler program that already took up memory space in the ZX Spectrum, making the build, saving the build to a compact cassette, reseting the ZX Spectrum, loading the build, running it to see if worked und so weider).

How Jonathan in reality did it, I honestly don’t know as I wasn’t a fly on the wall in his room back in 1983-84, but I’m pretty sure he had at least 1 Microdrive connected to his ZX Spectrum. But the fact is that he did make Pud Pud, and the fact that it actually uses almost all of the available memory in a ZX Spectrum 48k, is in my opinion a testament to it not have been easy, even with a Microdrive (or more) hooked up to his ZX Spectrum 48k.

And as I said Ocean Software were willing to publish Pud Pud in Weird World for Jonathan, but they were also so impressed with Jonathan’s general skills in programming and game and graphics design, that they immediately offered him a job in-house at Ocean as well.

At Ocean Software Jonthan went on making games like ’Kong Strikes Back!’ with Nigel Alderson (of Chuckie Egg fame), ’Hypersports’, ’Mikie’, ’Terra Cresta’, ’Cobra’ and then of course one of this article’s two main subjects, the ZX Spectrum version of ’Green Beret’.

Jonathan made all of these games in a span of 2 or 3 years plus he also contributed to a few other games in that same time frame, but then he also got time to invent the ’Plip Plop” sound engine, making the ZX Spectrum 16/48k’s single sound channel sound like it was actually 3 channels (a deep note substituting a bass drum, a ”zap” for a snare drum and then a third for the melody line, that could even change waveform between sawtooth, square and pulse width modulated square during the ”songs”).

All in all you could argue that Jonathan had his work cut out for him during his time at Ocean Software, and during 1986 (where he, in my opinion, did his best work for Ocean) he probably started to realise his own worth, and ended up opting out of his contract with Ocean around (I assume) the end of 1986, to start up his own videogame production company, Special FX, along with a few others individuals.

At Special FX Jonathan started out porting a technically even more advanced game than Cobra and Green Beret, ’Hysteria’, with 3-layers of parallex scrolling and, for a horizontally scrolling ZX Spectrum game, a lot of (almost completely attribute clash free) color from the Commodore 64, for Software Projects in around 2 weeks (he must really have gotten his various routines up and running at that point!). And then later Firefly, Batman: The Caped Crusader and Midnight Resistance all for Ocean Software.

Jonthan did the graphics in his games himself (at least the vast majority of the time I assume), as he was actually not only a very accomplished programmer, but also a very talented ”visual” artist in his own right. He had made small animated films and a lot of other ”arty stuff” while he was still at school. In fact he was so much into the visual art stuff, that he was in doubt, whether he should pursue a career in movie making or game making, but in the end he of course chose the latter.

To be fair it was far from unusual that other people contributed to Jonathan’s games. Martin Galway in particular made the music for all of Jonathan’s Ocean/Imagine games (Imagine was Ocean Software’s sublabel, picked up from the ”ruins” of the original Imagine Software), were the Plip Plop music engine was utilized. The only two ZX Spectrum games where Jonathan are listed as the sole contributer, are Hypersports and Green Beret.

From 1989 and on Jonathan, with Special FX, began getting games for the Atari ST, the Amiga and the Gameboy published. Later throughout the 90’s and 00’s Jonthan continued to make games for various companies on platforms such as the Nintendo Gameboy Advance, Sega Genesis/Megadrive, Super Nintendo Entertainment System (SNES), the MSX computers and late in his career even one game for the ill-fated Gizmondo handheld console (and apparantly also a very early mobile phone game).

Ok, this was the ”homage” to Jonathan’s ”professional accomplishments”. A little later on when I get to the Keith Burkhill part of this article, I will talk a bit about Jonathan’s personality as well.

Now to Jonathan achievements when he converted Green Beret to the ZX Spectrum.


Konami’s coin-op game ’Green Beret’ (’Rush ’n’ Attack’ in the US) is not a game that I personally rank among my favourite arcade games of all time. Not even by a longshot, as I always felt it was a bit boring actually, and I did play it a few times back when it was just released.

Nowadays I have the arcade version of Green Beret on 2 different ’Konami Arcade Classics’ collections and have played it a bit from time to time, and my opinion of it hasn’t really changed. It’s still a pretty decent arcade game, but from especially the so called ’Golden Era of Arcade Games’ (1978 to 1983), there are quite few games I personally like much more.

Arcade/coin-op games such as Galaxians, Frogger, Xevious, Pole Position, Tutankham, Rally X, Pengo, Dig Dug, Gyruss, Up ’n’ Down, OutRun and Space Harrier are in my opinion just so much more fun to play than the arcade version of Green Beret. And the ideas they are based upon are often much more unique too.

It’s not even like the coin-op version of Green Beret is actually the worst offender, when it comes to being unoriginal though. The idea of only being equipped with a knife and the occasional ”power-up” in the form of flamethrowers, grenade launchers etc., was quite unique for the time, it’s just that the execution (or rather the gameplay) of the arcade version, leaves something to be desired in my opinion.

And this is actually where the ZX Spectrum version of ’Green Beret’ comes into the picture.

Nobody can really accuse it for having boring gameplay, on the contrary many will probably say its gameplay is just too hard. And yes, Green Beret is a tough game in the ZX Spectrum version, mainly because Jonathan (probably more out of necessity than actual burning desire) decided to ”shake up” the gameplay up quite a bit compared to the coin-op version.

Not really the game’s core mechanics, consisting of knife combat, occasionally firing the various power ups, jumping, laying down to avoid enemy bullets, climbing ladders, automatically jumping onto ladders when you decide to jump near them (which in fact is a gameplay mechanic in itself) etc., but in fact just how the different enemies of the game ”choose” to appear on the screen (more about that a bit later on).

As I said earlier, why Jonathan chose to ”shake up” the gameplay in Green Beret, probably was out of pure necessity. Jonathan simply, I believe, for especially one reason (that I will explain in detail a bit later on) ran out of memory, when he programmed the ZX Spectrum version of Green Beret.

Jonathan actually said doing so himself in an interview, he gave to a ZX Spectrum-centric website/ blog around 9 month prior to him (sadly) leaving this world (this interview actually also contains examples of his considerably writing talents - if anyone are interested, I’m sure they can ”dig up” this particular interview on the internet).

So, yes, Jonathan did run out of memory when he converted Green Beret to the ZX Spectrum. And it is actually quite evident that he did so as there’s no music in the ZX Spectrum version, while there was music in all of his other coin-op conversions, as well as in most of his ”own creations” (Pud Pud in Weird World, Cobra, Hysteria and Firefly). And these were all 48k ZX Spectrum games too.

Also the ZX Spectrum version of Green Beret has no real title screen. Upon loading the game the player is prompted with a small ”window”, telling him (or her) to choose his preferred control method. After deciding the control method, the screen goes blank and it just says ”Stab to start” in the upper left corner of the screen, and when you have ”stabbed” and played your game until game over, ”Stab to start” just appears in the upper left corner of the screen once again.

The ZX Spectrum version of Green Beret do not have the animated ”congratulations” screen from the arcade version after completing each level either (but I admit that was not really out of the ordinary leaving such things out in ZX Spectrum 48k coin-op conversions).

The reason why Jonathan ran out of memory (although not completely of course – the ZX Spectrum version of Green Beret was completed afterall), I believe, was that he used ”preshifted tiles”, contrary to tiles that are shifted ”on the fly” by real time processor calculations, for the background graphics in his scrolling routine.

Tiles are the small/smallish pieces of graphics, the background graphics in 2D games are build out of and that are more than often repeated many times in the different levels of the games (ladder elements, the ”ground” you walk on etc, etc).

Shifting bytes (pixels) basically means moving all the bits in a given byte either left or right (on the Z80 processor specifically that can be done in increments of 1 or 4 bits).

Eurogamer.net actually once around the ZX Spectrum’s 30th anniversary had a comparison article of it and the Commodore 64, where different key people from the british 8 bit videogames industry of the 80’s (programmers, writers from various of the 8 bit printed magazines aimed mostly at gamers at the time etc) gave their ”2 cents” about the industry of the time.

Here Jon Ritman (of Matchday, Heads over Heels and Batman, among others, fame) ”panned” Jonathan for using preshifted tiles in his games (which effectively means that if you want a game to scroll at 2 pixels at a time, like in the ZX Spectrum version of Green Beret, you will have to have 4 different versions of a tile pre-stored in the memory), because he thought it was a lazy/inefficient way of doing things.

From a memory ”conserving” point of view it is an inefficient method, but from a performance one (framerate, number of sprites you can have on screen at the same time etc) it is not, as it frees up a lot of processor power for other purposes, such as the already mentioned sprites (and the processor can even end up being so ”relieved” from its ”burden”, that you actually can have pretty good in-game sound effects in a 16/48k ZX Spectrum game, which is not easy to achieve at all).

And the ZX Spectrum version of Green Beret does have a good framerate, it can have quite a lot of sprites on the screen at the same time, and it does have pretty good sound effects at the same time (the latter of course in the infamous ZX Spectrum 16/48k ”farting” style).

So Jonathan had very good reasons to go with the preshifted tiles ”model” in his Green Beret ZX Spectrum conversion, as he wanted the game to play really well, like he (at least I assume) wanted every game he made to do.

As I mentioned earlier, the main difference between the coin-op version and the ZX Spectrum version of Green Beret, is how the various enemies ”chooses” to appear in the game(and in the ZX Spectrum version also sometimes chooses to disappear).

In Konami’s original version enemies appears at fixed locations (i.e. they appear at the same spots every game you play), while in the ZX Spectrum version they appear what seems randomly (i.e. in reality never quite the same way as the game before).

The reason why Jonathan chose to let the enemies in the game appear seemingly randomly, was (again I believe) out of pure necessity, as storing the locations where the different enemies appears in the coin-up version in the memory, simply wasn’t a possibility in the ZX Spectrum version, because of the memory ”restrictions” Jonathan (again because of the preshifted tiles ”model” he had chosen) faced.

So Jonathan had to sort of ”reinvent the wheel” when programming the ZX Spectrum version of Green Beret. And to do so he made an algorithm in the program code (I believe) that determined when an enemy would appear (and sometimes disappear also) that appeared to be random, but of course in reality had a number conditions, that had to be met before an enemy would appear (and in the end nothing computers do are random after all).

And that can’t have been an easy task by any measure at all. Jonathan probably spent months tweaking the different conditions in his algorithm (that probably wasn’t even that long in terms of program lines), until he finally one day got the result he desired. And in the end the result he desired was that the game played really, really well.

And the ZX Spectrum version of Green Beret does play really, really well in my opinion; it’s tough, but in the end it’s not unfair. And then it in my opinion also have that ”one more go” kind of difficulty that the very best arcade games possesses; it’s difficult to get far in the game and very difficult to actually master it, but at the same time most people can train themselves up to get decently far in the game.

And that Jonathan achieved that (altering the gameplay of the coin-op version into something truly outstanding with his algorithm), in my opinion, elevates him into the same league as the very best of arcade games programmers (mainly japanese, but there are a few others from other parts of the world as well).

Green Beret consists of 4 different levels graphically/layout speaking (both the arcade and the ZX Spectrum version), but Jonathan didn’t stop with the first 4 levels when it came to his usage of his algorithm. He spent time tweaking it until he had reached level 12 (level 5 and 9 are graphically/layout-wise the same as level 1 and so on). And he made his algorithm really work out also on the later levels. The game never in my experience becomes unfair.

Now I have to confess that I have not personally made it further than to level 4 in the ZX Spectrum version of Green Beret, but there is a video walkthrough of the game on the Youtube channel ’World of Longplays’ (link below) of an extremely skilled individual completing the first 12 levels of the game (after that it just starts over difficulty-wise I believe), that shows how things begin to really heat up in the game at level (”stage” in the game) 5, at around 12:10 and then goes more or less ”berserk” at level 9, at around 25:20.

This video is in my opinion a testament to not alone how well Jonathan’s version of Green Beret runs, but in particular to how well Jonathan managed to tweak his algorithm into delivering really, really tough (but ultimately fair) gameplay.

The video, I’m almost 100% convinced, is not done with a cheat code or anything. The player does ”die” a couple of times during the video, but as the Green Beret is pretty generous with extra lifes it never becomes a problem (also anyone that have played the ZX Spectrum version of Green Beret will probably acknowledge, that it is indeed a very, very skilled individual that is playing the game in this video).

https://www.youtube.com/watch?v=g2e0XYahs6Y&t=1593s

There is another ”thing” that distinguishes Jonathan’s version of Green Beret from Konami’s original as well. The ”karate”/jumping enemies jumps all the time in his version, while they only jump when they get near and start to attack the player character in Konami’s original.

Again this change from Jonathan, I firmly believe, was out of sheer necessity. In Konami’s version of the game the various enemies are ”color coded”, which was not an option Jonathan had when he programmed the ZX Spectrum version, because of the ZX Spectrum’s attribute/color clash issues.

But Jonathan overcame this problem, by simply making the ”karate”/jumping enemies, jump all the time whenever they appeared.

One last note on Jonthan’s version of Green Beret is that he graphically used some very clever ”tricks”, to first of all allow some (almost) color clash free color in a sidescrolling ZX Spectrum (which is by no measure an easy task the way Jonathan did it), and then by using the ZX Spectrum’s ability to add brightness to its colors.

The ZX Spectrum has a color palette of 8 colors, but by adding brightness to these, it is effectively expanded to 15 colors in total (black is still same old black whether you use brightness or not).

The way Jonathan achieved almost color clash free scrolling in his version Green Beret, was in fact very simple; he just used 8 pixels wide (or the same as the width of one character space) black borders at each side of any object, that didn’t share the same color as its ”neighbour” or the ”sky”.

These black borders in fact consist of 8 x 8 pixels character spaces completely ”inked out”, and while the graphics scroll these conceil the fact, that there are actually color clash going on behind them that you simply can’t see, because the background (paper) color is completely ”blacked out” by the foreground (ink) color (which in the ”playing field” of the ZX Spectrum version of Green Beret is always black).

The brightness function of the ZX Spectrum Jonathan used to create, in my opinion, pretty impressive shadow effects, that, (again) in my opinion, really adds to the atmosphere in the game.

What Jonathan made possibly on a humble ZX Spectrum 48k (mainly his algorith for enemy appearance, but also his colorful scrolling rutine and graphics overall) when programming Green Beret on it, is why I personally consider it my favourite ZX Spectrum game of all time, and also a part of my personal list of top 10 videogames of all time.

 Skrmbillede 614png

Screenshot from the ZX Spectrum version of 'Green Beret'


Ok now on to Keith Burkhill and his ZX Spectrum ’Space Harrier’ conversion.

Contrary to Jonathan M. Smith there is almost literally no information to be found on how Keith Burkhill is as a person, when he was born etc. It does however seem like he is still working in a branch of the game developing industry, although seemingly not in one that does what he is most known for in the general public, developing action games.

The lack of general information, interviews etc. featuring Keith could quite possible be on purpose from his side, as it’s often so that computer programmers are leaning more or less towards being introverts. And it is only natural that it is so in my opinion, as it can only be considered an asset as a programmer to be able to ”shut out” the rest of the world and concentrate more or less 100% on the task you’re on in my opinion.

So Keith is probably more or less an introvert. Jonathan was also an introvert, but contrary to Keith he was also an artist. And the ”trouble” that, in my opinion, arises when you’re an artist (a real one not a fake one, that is) is that artists tend to be very sensitive, in the way that they absorb the ”inputs” they get from their surroundings much more than ”ordinary people”.

In fact, in my opinion, it’s not really something they can help themselves doing. And when (real) artists almost always (if not always, at least the really good ones) are perfectionists to a very large extent, and in reality idealists, then the different ”inputs” they get from the outside world often provokes them, and in the end spurs them to try ”better things” in the time and age they live in.

And that’s probably the main difference between Jonathan and Keith. Keith could more or less let things pass as long as he was relatively safe, while ”things” got to Jonathan and then inspired him to try to better them, like any (real) artist would.

As I said there’s very little to be found on Keith’s personality on the internet, but I did find one reasonably long paragraph where he tells a bit about his experiences in the game developing industry.

From what I can read out of it, he’s not a man with out humour at all. And he also comes of as somewhat critical towards the videogame developing industry in genereral (not that that industry is much worse than many other industries in my opinion, after all money more or less rules everywhere).

On the other hand there’s a lot more to found on Jonathan personality. He did do at least one interview (although to a ”hobby” site), he was quite active on World of Spectrum’s forum pages and his personality more often than not seeped into his videogame creations (at least the ones he did on the ZX Spectrum).

He sometimes credited himself, the games’ author, as Jonathan Smiff, Jon Smiff etc. (sometimes even mirrored/”inverted”), he used ducks in Terra Cresta to visualize remaining ”lifes” (which I’m pretty sure is not how it’s done in the arcade version), there was the ”Stab to start” prompt in Green Beret, there was how the player character sometimes landed on his head in the long horse discipline in Hypersports (though I don’t if that was actually also in the arcade version) etc.

But where Jonathan took things to whole new level was in Cobra, a videogame tie-in of the movie starring Sylvester Stallone. Jonathan was offered to make a videogame out either the Cobra movie or the Topgun movie and chose the former.

Jonathan however didn’t opt for making a game out of Cobra that really did the movie any justice (not that the movie deserves much justice in the first place in my opinion!). No he decided to make a game that would effectively become a spoof on the movie.

He used a duck like in Terra Cresta to depict remaining life (this time though only one that slowly vanished as the player’s energy depleted) and then the player charater’s main ”weapon” in the game was head-butts.

There were also the small baby carriages that stunned the player character on contact, making him vulnerable to the other enemies for a short time and then Martin Galway’s music rather parodic music, that Jonathan even managed to make some of play as small jingles in-game (something only Matthew Smith other than him, in my opinion, managed to make sound good in a ZX Spectrum 16/48k game).

Yes Jonathan did indeed like to poke some fun whenever he got the opportunity, even if he was in fact somewhat shy and a bit of an introvert.

What probably ”sums up” Jonathan as a human being and a person the most in his own words is, that he once said that he chose to smile, where he probably should have run. But then again where should he have run to, there are after all only so few places anybody can ”run to” (and where do you then run from there?), so it was probably only sensible that he did not ”run” (and in the end it’s probably also the ”story” of most people’s lifes anyway).

So it probably wasn’t easy being Jonathan M. Smith most the time, but in the end what he had to face through out his life, as the true artist I believe he was, also spured or inspired him to create what ever he created, be it videogames, small animated films, graphics and in his later years apparantly also writing (or at least he was starting to write novels).

So, yes, Jonathan M. Smith and Keith Burkhill had (have) in some ways quite different personalities. Jonathan was the brave one that that tried to hide his insecurity, while Keith chose to do the hard work in becoming one of the true technical whizzos of the ZX Spectrum videogame developing scene and then other than that keeping a relatively low profile.

And Keith, in my opinion, was the technical whizzo of the ZX Spectrum game developing scene, at least when it came to developing action games. The only other individual I can personally see really matches him in the entire ZX Spectrum game developing scene of the 1980’s when it comes technical wizardry, was Mike Singleton (which sadly like Jonathan M. Smith isn’t among us anymore either) of Lords of Midnight and Doomsdark’s Revenge fame.

The fact that Mike Singleton managed to squeeze around 4000 and 6000 locations each viewable from 8 directions into a 48k ZX Spectrum in respectively Lords of Midnight and Doomsdark’s Revenge, most certainly deserves an article on its own (although I’m sure, that I’m not the one who could do such an article, as I don’t have much clue to how he actually did it).

Professionally Keith got a bit earlier into the game development ”game” than Jonathan, as he already in 1983 (the very early days of the Sinclair ZX Spectrum, as it was released in april 1982) had his first game, the Missile Command clone ’Missile Defence’, published by Anirog Software.

Missile Defence is considered by many as the best Missile Command clone released for the ZX Spectrum, and although I haven’t really played the game myself (not really into Missile Command), I can say that presentation-wise it is a very good game considering it is a 1983 ZX Spectrum game.

In 1984 Keith had ’Gilligan’s Gold’, a clone of ’Bagman’ (in my opininon itself one the most classic coin-op games) and originally published and developed by the french company Valadon Automation (which itself carries an interesting and out of the ordinary ”story”) published by Ocean Software (and to great success also it seems).

For some reason though Keith didn’t make any further games than Gilligan’s Gold for Ocean, but instead got contracted by Elite Systems (along with the previously mentioned Nigel Alderton – of Chuckie Egg fame, remember!) into making the ZX Spectrum version of Capcom’s coin-op classic Commando before Christmas 1985 in a very short time span (with Kate Trueman doing the graphics and Rory C. Green the loading screen, I believe).

The ZX Spectrum version of Commando (1985) of course turned out to be one of the very best arcade conversions on the system, and is in my opinion the first game that Keith was involved in that truly carried the ”stamp” of his technical mastery.

From what I can see, the ZX Spectrum version of Commando is what you could call a ”one pixel vertical scroller”, which means it scrolls in the smallest increment possible (one pixel) and furthermore it plays and runs very smoothly (in fact in my opinion it’s one of a few arcade conversions on the ZX Spectrum, where the ZX Spectrum versions actually plays better than their arcade brethrens).

Then Keith (again for Elite Systems) went on to make the ZX Spectrum conversion of ’Ghosts ’n’ Goblins’ (Capcom again) in 1986. And again it seems to be a ”one pixel scroller”, although this time horizontal (first level) and later multi directional, and again also playing very well.

Next up for Keith for Elite Systems (and his final game for them) was his 1986 conversion of Sega’s coin-op classic ’Space Harrier’ (and of course one this article’s main subjects), and again from a technical (and also a gameplay one in my opinion) point of view a very accomplished version.

From there on Keith went on to make a string of ZX Spectrum games for Activision, Audiogenic Software, Encore (a budget label mainly re-releasing Elite Systems and Durell Software’s back catalog) and Image Works. The most notable being his 1988 conversion of Sega’s ’Afterburner’, which again was a major technical accomplishment on the ZX Spectrum (but in the end maybe was beginning to stretch the limits of what was possible on ”the old Speccy” a bit to thin) and then the well done 1991 conversion of Gottlieb’s arcade game ’Exterminator’.

Keith carried on making games for the ZX Spectrum until almost the very end of the machine’s commercial lifespan as a gaming machine, with his last efforts being released in 1991 at a time where budget releases had been dominating the ZX Spectrum ”gaming scene” for years.

It seems that Keith, contrary to Jonathan who was employed to Ocean Software a large part of his ZX Spectrum game making career, was freelance - Nigel Alderton and he, it seems, each got 10.000£ for making Commando in around 8 weeks of almost literally working around the clock, and with a 1.000£ fine for each day they were late (which in the end wasn’t effectuated as the development of the game ended up only running a couple of days late) - during his ZX Spectrum years (he did join Software Studios, which seems to have been some kind of ”collective” for game developers, though, when he did his Sega conversions for Activision, it seems).

Later, when he had stopped making ZX Spectrum games, it seems Keith joined the ranks of such companies as Probe Software, Audiogenic Software, Extended Play Productions and Crawfish Interactive making conversions of games in such high profile franchises as ’Alien’, ’Mortal Kombat’, ’Fifa’ and ’Street Fighter’, and on platforms such as Nintendo’s Gameboy Color and Gameboy Advance and Sega’s Gamegear, Master System and Saturn.

All these games, being on mainly handheld systems, were all, at a minimum, solid conversions and especially Street Fighter Alpha 3 on the Gameboy Advance, the last game Keith worked on in his ”action game” developer career, is highly regarded and considered by most the best fighting game on the system.

In the end what happened to both Keith and Jonathan’s game developing careers (and why they eventually faded out) probably was, that they were both from the bedroom programmer ”school” of programmers, which meant they were used to have more or less control total over their ”output”.

And then when 3D-engine powered games became fashionsable (and achieveable) in the mid 1990’s, in particularly with the original Playstation’s appearance, both Keith and Jonathan probably found it more than difficult to fit in to the new ”regime” of bigger and bigger development teams and less and less influence over the end product to each of the members of the teams, and they eventually ended up just giving up on the idea of being a videogame developer.

Jonathan though, it seems, wasn’t really able to ”let go of the past”, but kept ”dabbling” with programming ZX Spectrum games even when he had stopped making games for a living, while Keith turned to a very different branch (and to ”hardcore” gamers probably not considered a very serious one) of the game developing bussiness, where he is (maybe) allowed to be a bit more ”lazy” in the way he approaches the tasks he is faced with, than when he made high profile conversions.

In the end you could probably say that the Indie games ”movement” came about 10 years to late for Jonathan, as he would probably have thrived in that ”scene”. Keith on the other hand probably always saw things more ”professionally” and little less artisticly than Jonathan, and therefore it was likely not extremely difficult for him to ”change gears” and move over to another branch of the business.

Ok, enough dabbling and onto the ”analysis” of Keith’s technical achievement when he programmed the ZX Spectrum version of Space Harrier.


In my opinion the ZX Spectrum version of Space Harrier is probably the most technically advanced action game on the system. First of all it is a conversion of an arcade game that was in reality ”the state of the art” both in terms of hardware and software when it was released, and thus ”light-years” ahead of the humble ZX Spectrum, with its ”Sprite Scaling” hardware and software technologies.

So alone the fact that Keith managed to make it run quite smoothly on the ZX Spectrum (and I would argue, maybe even smoother than the arcade version) is a major achievement in my opinion, as it was simply not an easy task to make a fast moving pseudo 3D game without all the hardware trickery Sega had on their hands.

That Keith also had to fit the game into a mere 48k bytes of ram, whereas Sega probably had more like half of a Megabyte at their disposal, also is a testament to the technical genius of Keith in my opinion.

It of course didn’t come without sacrifices. The bonus/challenge stages in the ZX Spectrum version of Space Harrier are merely ”scripted” events that depicts how the bonus was achieved, with the player having no control whatsoever over the proceedings. And the marvellous music from the coin-op version was entirely missing, while the sound effects were ”nerfed” into very basic ”farting style” ZX Spectrum 48k sound effects.

Keith did however, I believe, manage to squeeze every single level from the arcade version into his version, but even there, there were missing bits and pieces like parts of the ”background” graphics in some levels and some of the enemy variants (although I can’t say the latter with precision, as I haven’t studied the differences that hard).

Then there was of course the fact that the ZX Spectrum, with its color/attribute clash issues, by no means was suited in replicating a very colorful pseudo 3D arcade game, so the ZX Spectrum version of course ended up having a rather ”psychodelic” appearance that didn’t go easy on everybody’s eyes on the old CRT televisions (although I have to say that playing the game in an emulator on a modern flat screen TV, does remove the most glaring issues in that regard in my opinion).

And after all a Space Harrier game does always start with the rather famous words ”Welcome to the Fantasy Zone”, so maybe the ”psychodelic” color coding of the ZX Spectrum isn’t too far off in the end. And maybe some could argue that it even adds something to the original arcade version, but that might be taking things a bit too far, I admit.

And then Keith even managed to squeeze in the ever changing ”checkerboard” background graphics, which in my opinion is extremely impressive when you really think of it.

If you move the player character (Harrier, I believe his called actually) to the very top of the screen the ”chequer board” actually fills out a little less than half of the total screen (not only of the ”playing field”), which means that a lot of data continuously has to be moved very, very fast before you even start to add the rather large number of masked sprites on top of that.

I don’t think that there are many others than Keith Burkhill (if any) that was/are able to achieve that on the humble ZX Spectrum.

And Keith was known as the technical wizzo of the ZX Spectrum games developing scene. In the aforementioned comparison article of the ZX Spectrum and the Commodore 64 published on Eurogamer.net, Gary Liddon (who wrote for the most 2 popular magazines devoted to respectively the ZX Spectrum and the Commodore 64 - ’Crash!’ and ’Zzap! 64’ - and actually came out of the Commodore 64 ”scene”) remembers how ”mind boggling” he thought Keith’s screen drawing routines were at the time.

From Gary’s recollections it seems that Keith had found a way to follow the raster scan down the screen and only updating the graphics where the beam had just passed.

Raster Scan is the way the images on old CRT (Catode-Ray Tube) televisions are displayed, ”drawing” scanline by scanline down the screen always from left to right, but with a short ”sweep” back to the left at the end of each line.

On the ZX Spectrum a small very customised ”aid chip” called the ”ULA” every 1/50th of a second reads what’s in the screen buffer (located at address 16k - or 16384 – and containing the actual graphics plus the attribute values for each of the 32x24 character spaces on the ZX Spectrum’s screen) and then sends the data to the UHF module which converts the digital data from the ULA into analogue ”data” which are then sent to the television set and displayed.

I must admit that I don’t quite grasp Gary’s recollection of Keith’s screen drawing routines updating the graphics after the beam had just passed. To me it would seem more logical to update the graphics just before the beam was to pass, because then you would sort of have the screen updating ”stuff” out of the way as soon as the raster scan beam had ”drawn” its last scan line on the television, with a ”clean sheet” in front of you where you could do all the calculations, sound outputs etc. the program/game required until the next raster scan appeared.

Of course we can be pretty sure that Keith had reserved memory space for a ”mirror” of the ”playing field” somewhere in the ZX Spectrum’s RAM when he programmed Space Harrier, as it was a common way to do things (build a mirror of the screen image ”next up” gradually through the various routines in the code and then when it was finished send it the fastest way possible to the actual screen buffer).

But Keith seems to have taken things to an ”extreme” in his pursuit of getting the most ”juice” out of the ZX Spectrum’s Z80 processor, and somehow found a way to ”keep an eye” on what the ULA was up to and then at the very ”last minute” (actually not a very fitting word, I admit) sending the data in his ”playing field” mirror to the addresses in the screen buffer where the actual ”playing field” was situated, ensuring that there were almost literally no valueable computer processing time wasted.

How you actually ”keep an eye” on the ULA, I don’t know, but in reality it’s probably not ”big science”, as the Z80 and ULA of course are connected in the first place or else the ULA wouldn’t be able to scan the screen buffer. The challenge probably more lies in doing it in a very fast and efficient way.

And I do believe that Keith’s code in his conversion of Space Harrier to the ZX Spectrum must have been very fast and efficient for the fact alone that displaying the aforementioned ”checkerboard” must have taken a lot of power out the ZX Spectrum’s Z80 processor.

How he actually did the checkerboard ”thing” I don’t know. Did he actually calculate it ”on the fly” with all the bit shifting etc. that would require? Or did he in some very clever way use a set number of ”tiles” that allowed him to build the ”checkerboard” the way it was supposed to look whereever ”Harrier” was situated on the screen.

The last ”theory” is far from impossible in my opinion as a ”checkerboard” quite naturally has a certain pattern build into it, which means it to a certain extent repeats itself, which again means it probably wouldn’t require an enormous amount of ”tiles” to build the various ”states” it could occur in (plus it probably wouldn’t require anywhere near the same amount of calculations that calculating the checkerboard ”from the bottom up” would).


Skrmbillede 720png

Screenshot of Space Harrier ZX Spectrum version with the very impressive ”checkerboard” running underneath the "action" and "maxed out"


Ok that was the main article. Now a few final words to ”round” things up.

What you 2, Jonathan M. ”Joffa” Smith and Keith Burkhill, did with the ”underdog” of the 80’s 8 bit homecomputer scene, the Sinclair ZX Spectrum, was in my opinion something really, really special.

And in fact in the grander scheme of the history of videogames developing, I also believe that what you did was very special (but then again in my opinion the Sinclair ZX Spectrum also played – and to some extent still plays – a major role in the history of videogames developing, and, yes, also in the history of computer programming in general even today).

So Jonathan M. ”Joffa” Smith, Rest In Peace, and rest assured that your legacy will continue grow and probably never will be forgotten. And Keith Burkhill be assured that what you achieved on a technical level with the Sinclair ZX Spectrum won’t be forgotten anytime soon either.

Home: http://yupeeter.com