Something a little different for GTW, but Jonathan Kendall was a C64 developer who worked for Zenit Corp back in the 1990’s and played a major role on the Fun School titles – developing the database system for it. He was also involved on the C64 conversion of Darius + for The Edge.
At present, Jonathan has been in the process of preserving his work, which includes a variety of demos and snippets of code – some in particular very cool bits of work, which seem a shame not to get hosted.
As a result, I have set up this page to share Jonathan’s work as he recovers it, but also share some of the stories below which Jonathan has shared based on his developments. Keep an eye on this post over time under the Prototypes section and i’ll add any updates as they arrive. Please feel free to compile and add to any collections (CSDB, Gamebase etc) The latest pack of Jonathan’s work can be downloaded below (which currently has the disk containing Darius +)
Jonathan’s recollections of the Zzap demo on image016v.d64
“I wrote the Zzap! Demo at around the same time I was writing the database for Europress. A little bit before Darius+. The dates in the source files may not necessarily reflect this since it is quite possible I began the Zzap demo before Darius+ but returned to the Zzap demo after abandoning Darius+. The date in the source file is likely to represent the last time I changed the code. I sometimes changed the style of boilerplate code I used, only beginning to use dates toward the end when I thought it may make interesting reading when looking back upon it from a long time hence. 🙂
The Zzap demo evolved out of my fondness for playing around with other people’s game programs. Some of this was borne of the curiosity to find how other developers operated, some of it was due to the desire to play through the games I liked rapidly. After surprising myself with how easy it was to reverse engineer a game from an infinite lives poke and make it an invulnerability poke, I started to get absorbed with hacking games. Occasionally adding features not present in the originals.
Eventually I called ZZap and told them I could offer them more than their typical poke for infinite lives and to my surprise, at the end of my first speculative telephone call to the office, they then offered me the entire poke section of the magazine. This was considerably more than I had wanted. I doubted the sincerity or authority of the person I was speaking to to grant me an entire section. In fact I doubted them to the extent that it came as a total surprise to me when a package from their office was delivered to my doorstep which I opened to discover a pack of the latest video game releases. Like many programmers of the day I was also a game enthusiast, I was delighted.
The demo you see on the disk is an early assembly of the main part of what was to be a three part system. In the main part you see some unwritten scroll code can be read with just a ‘proof’ text made from some juvenile Teenage Mutant Ninja Turtle references. There is disabled code in the source to make the Zzap logo bounce in from the bottom of the screen. This I achieved using a demo-style technique called FLD. Perhaps, in the version you have, if you press the space bar, the bitmap logo will and you then either see what was written in at some stage, which is a list of game titles, if not then it might be an earlier version which I think just said “Cheating little monsters ‘r’ go!”. The appearance of juvenility in my labels and test texts occurred for somewhat the same reason people whistle to keep their spirits up during work that, believe it or not, can be tedious. 🙂
What would have happened is that after a piece of introductory text, you’d press space to be taken to that main part, read a jocular piece of scroll text, then press space to reveal a menu of game cheats and hacks. You’d then place the disk in the drive, go through the menu with the joystick and press fire to select the game, which would then load with the cheat installed.
One day I called the Zzap offices and was surprised for a second time when the person who answered the telephone was an employee of the receiver. The publisher went bust. I shelved the Zzap demo. I didn’t see a good reason to finish an unprofitable project. This led to friction between myself and the artist who, nevertheless, wanted his work to be seen.
The cheats I wrote at that time for IO, Delta, Citadel and Bombuzal, are still on disk images I have. I can post them if you think they’d be of interest. Perhaps oddly, Citadel was the one I did the most work for. I say oddly because it wasn’t a brilliant game, but having seen it receive so much publicity through Zzap and having watched Martin Walker receive so many accolades for it, including being said to be among the best 64 programmers, I thought I should at least have a look. Because the cheat system is quite sophisticated I am even more pleased with it that one or two of my paid projects. It required to write a worm for a software loading system which was fairly sophisticated in that among its features were anti-hacking measures designed to protect against just such an attack.
There was a point in fact when I called Martin Walker to ask him to compose some music for me and give it to me for free but he refused. Which annoyed me because by this time I was pleased enough with myself to think that I deserved it. 🙂
Still, after Newsfield folded, the Zzap demo started to gather dust.
You can control the speed of the large scrolltext with joystick on port 2.
PS. Since you have the source file you can locate the .byte directives in the code and give them something far more interesting to say. The larger scroll has escape codes which change the text colourway, the small scroll has a variety of escape codes which give you control over the colour, speed and direction of travel. You can insert pauses too.”
Jonathan’s C64 development memories
I began programming in BASIC on the ZX81 and then in Assembler/Machine-Code on the Commodore 64. I played around in BASIC on many of the other 8-bit micros, BBC, Oric, etc. The decision to go with the ’64 came after much reading and discussion with friends. In 1981/2, before the machines really had any history nor software it was much harder to grasp the differences than today looking back. I kind of went with a gut feeling for the 64. It felt like the carnivore of the 8-bit world.
I turned 12 February 1982 which was about the time of the release the Spectrum and 64. It was easy to find people in the school playground who where keen consumers but not to find others with ideas on development and production. Of those few appeared to be actually producing genuine end results. The actual effect of learning was all I was interested in. It was all about the hard-copy, what can you Do with what you know? So I tried to teach myself based on what would impress me when I saw it working. Of course this could all be very simple. My first program was a duplicate of a 2D game where you controlled a simulated air flow and your goal was to blow a falling object into a bucket. I still like the idea of it since so much diversity has crept out of game and software and hardware design and so much genericism has crept in. It isn’t as of everything has been answered it’s that people have got stuck with the kind of question they are trying to find an answer to. Today it’s like everybody trying to improve on yesterday’s solution, rather than finishing with that question and moving on to a new one.
It turned out, after computer stores began to open, that the store I hung out in was frequented by Andrew Betts, who had brought in some demos on the Atari 400 and 800 and Commodore 64 and was writing Warhawk. I spent a lot of time trying to persuade Andrew to teach me how to progra and he spent a lot of time refusing to. He eventually wrote Warhawk with Michael Ware and Ian. Mike and I became friends and remain in contact now. Andrew then split away from the group to work alone, I expect, so he could stop sharing the royalties. From there he wrote I.Ball, Scuba Kidz and I Ball 2 at about the time I started writing demos.
Andrew was not really a public spirited person but he found girlfriends, to buck the trend associated with computer programmers. One of his girlfriend I went to school with in the mid eighties. We lost contact. Rumour was that eventually Andrew had met a Muslim girl, converted to Islam and changed his name.
Michael, aka Flash, started to write alone. This work included Tanium and Tidemarsh. Mike was also experimenting with a more tech/demo style of programming with plot routines and sprite scaling in his free time. He was also, like us all, amassing a large pile of half finished, abandoned and forgotten projects. We have recently started working together on putting it all into the hands of the community. I have a pile of around fifty disks I will be transferring to .d64 format in my free time.
Towards the late eighties for me something had changed. Conceptually, I had broken through on programming and suddenly fairly sophisticated programs became quite easy for me to produce. I lost my admiration for other people in the local community. I had entered a different place now where my technical skills exceeded theirs. I had taken myself out of circulation for a while to devote time to elevating my skill in software development. It wasn’t so much a conscious decision, I had school leaving, my enthusiasm for the task of software development and my reassessment for what my friends where doing on my side now that school was officially and permanently over and I could see where things were going.
After emerging from my Assembler I re-established contact with Mike. He had set up a residence inhabited by Mike (himself), Ian, who had a permanent day job and had been principle graphics artist for Warhawk and by Adam. Mike coded, Ian did poetry graphics and music, Adam wrote music. I looked on and persisted in own projects. By this time most of their work was being carried out on Amigas. I also began programming for the Amiga. Only Mike and I continued to work on the 64.
Adam became half of The Conductor and The Cowboy, a music production team who made the trance record Feeling this Way.
In that mixture a chap called Simon appeared who started to program the Amiga. I met a duo, Darren and Leroy, after they introduced themselves to me in the local amusement arcade and started talking about projects. Sceptical from the number of people who would claim talent without really being able to show any I went over for a demo of their work and to my surprise they where both very good. Leroy was the biggest surprise, having no training nor contact with the industry or any industry, he marked himself as a professional from the very first thing he showed me and I remember asking him “Did you draw that? You drew that yourself? YOU drew that?”. I really had to establish he was the author of the work he was showing me and wasn’t just showing me somebody else’s work he liked. Darren provided the art for me for an unfinished and unreleased demo I made for Zzap! 64 for their magazine cover disk. Leroy then went on to enjoy a solid career at Probe then Eurocom and recently, Eight Pixel Square.
1989, I moved to Exeter at the request of a friend. He once tried to write a Commodore text adventure of John Masefield’s Box of Delights for the 64. At around the time I had started a regular magazine column within the pages of ACE magazine and, from a number of years hence, a technical help service for programmers from the small-ads pages where I had positioned myself as a coder’s trouble-shooter. I guess it felt typical to me that amongst those ads from people selling their Oric or Spectrum, just one ad was offering machine-code programming advice. The ad was popular and I received calls and letters from across the UK. Mostly for fairly simple problems beginners were having.
Writing for Ace magazine was a hobby for me while to fill breaks while I wrote the database program on the 64 for Europress for their Funschool series. It is fair to add ‘database’ is an optimistic title, it is better explained as a Rolodex simulator. After posting a beta test to the office, a programmer called to ask me to explain how I had achieved a filing effect I was using. Aping the 8.3 file extension of the PC. It is easier to show than describe, so here you can see how the .fs3 file extension for Fun School 3, falls outside of the inverted commas. It is a ridiculously trivial matter or pride just because I never saw any other example of the same technique and wonder how many other people would know how?
I still had the hubris of a teenager and when a caller from Europress asked me how I was doing it, I brushed him aside explaining he had my source code so if he couldn’t work it out from that I wasn’t interested in talking to him. Arrogant? Yes. I also knew my source code would be very hard for an outsider to decipher, it is one way I protected my work.
I hacked games and wrote pokes for fun in my spare time. Yes, when I was having a break from programming I’d be hacking, when I was having a break from that I’d be writing for ACE.
Presently a Scots programmer called me in and said “Hello, er… do you knew anything about sprite multiplexers?”. It was Mark Hughes who had just won the contract for the Commodore conversion of Black Tiger. He spoken to Andrew Braybrook who had told him to, as Hughes reported “Put a raster interrupt after every sprite”. I actually can’t remember if I was much help to him on that but he did eventually write the game, which was meaningful to me since I was such an admirer of Capcom and that particular game at that time.
It did, if nothing else, spur my interest in multiplexers. A simple sprite multiplexer appears in Teddy’s House, for Funschool 4.”
Recollections about developments on Funschool 4
“Here’s some of the technical gumf behind Teddy’s House. It became a bit of of a soft joke with friends of mine since, even then, it was hardly an awe inspiring game. However, it had about 20 sprites on the screen, high-res overlays for the paint-tins, three for the birds, six for the post truck, and eight for the text which asks you the questions at the bottom.
The text at the bottom is the only piece on the game which flickers, since Chris Walsh persuaded me not to bother with that kind of detail. Everything else I had written until that point, including the fill code, runs at a full 50Hz as per a high standard arcade game. Compare the fill on Funschool to the speed of the fill code to other programs, eg The Hobbit, and the reason I was called in to be the technical guy becomes clear. You have to sit and wait for The Hobbit and this was thought a deal breaker for children. My code is very much faster. 🙂
My success infuriated Chris who had been boasting of technical credentials from experience at Argonaut who, following Starglider II, where possibly the premier house at that time. I had then been called in almost to win a bet by one of the business owners that he knew the better coders, basically, to beat Chris Walsh at programming. I confess though, that I am writing to defend the technology behind the product since it seems so simple. And, to be fair, is. The title is by and large, my own work and so what I’m really pleading is “It isn’t as bad as it looks!”. In fact, the only thing I didn’t write in that game is the little podium that appears between levels. When I left Europress I asked not to be credited for my work because I felt embarrassed about being linked with it. So, to this day, it is credited to Chris Walsh. To be fair to him, he did have to reverse engineer my code, something which nobody should have to do.”