Share Tweet reddit Email

Last Sunday, the Commodore 64/128 Programming Facebook group was carrying on its business as usual when received an invaluable gift from Michael Archer – the source code of many Commodore 64 games he programmed between 1986-1992.

Michael is not referring to some game he made for his own pleasure and kept it hidden all these years. He’s talking about major titles he worked on at the time: Nemesis the Warlock (Martech), Slaine (Martech), Rampage (Activision), Altered Beast (Activision), Atomic Robokid (Activision), Alien3 (Acclaim Entertainment). Not too shabby, eh?

The games are mostly arcade conversion for the Commodore 64 showing that, at the time, the aging platform was still very capable to face the newer 16-bits computers toe to toe.

All the source code is now available on Github. Archer was also kind enough to add to each one of them a short paragraph giving some extra information about them, which we reproduce here for the reader’s convenience.

Nemesis the Warlock

One of the first examples of sprite duplication to have tall sprites using the same sprite number. Using the overlapping technique. A shout out to an old friend Simon Nickol, and also Stavros Fasoulas who I believe was one of the first people to discover this technique, I’m not 100% sure from memory if this was correct.

Development Started on 29th December 1986 The Source code was cross-compiled via a BBC Microcomputer with a parallel data link between the BBC user port and C64 port. The C64 had a modified ROM which I hot-linked my communication code which copied itself to zero page, to allow entire memory to download to. This long since gone, but I have the Cable still, and the download side on the BBC was written into a custom BBC SWR (Side Ways Rom).

Altered Beast

The actual source files here used an older version of PDS development System and this puts a binary data header at the beginning. So the files are not broken, it’s just how the system stored the information.

Code started on 25th July 1989 and the last edit on 11th September 1989. A prime example of pressured development time to produce a title.

Atomic Robo-kid

The source code to the C64 Conversion of Atomic Robokid. This was a multi-loader with lots of levels. I dumped all my backup folders here, I think the first time to use a sprite multiplexer. From looking at source it handled up to 22 sprites (badly sometimes! but it works). I made it quite dynamic how the sprites were handled. Totally forgotten this code as to how it hangs together.

Source used cross development called PDS on a PC to build, so it’s not complete how you would go about making it assemble now, with complex multi-loader part There is nice source code for a tape and disk loader as separate files may be some use to somebody. Looks like used something called kdos.

Alien 3

This is the entire source code for the 8-bit C64 computer, written in 6502 Assembly Language. The development was done on a PC via a PDS Development system, so it is not easily convertible to another target format. There are several utilities used in the development, missing is the sprite editors and level designer tools. As these were on the actual C64 itself.

As this 30years old, looking at it myself I don’t remember much as the code. But for sake of preservation with the current retro scene on the C64, I hope maybe someone finds something useful.

Rampage

Don’t remember much about this except was helped by an old friend David Wainwright, and also David Jolliff. Rampage had large sprites, and few people at the time really could work out how it is done. Started on 21st May 1987 most of it completed in-house sleeping on a floor for a few weeks!

Slaine

Unusual one as this game used the bitmap screen on C64, a twist on the traditional text adventures where the elements and thoughts of slaine where presented on the screen. Code used macro’s a lot to generate the scrolling of the text. The assembler was using ADE on the BBC Micro and sent to the C64 via a parallel link cable. Started on 21/05/1987 no idea when finished, the mind is a blank here.

A big shout out to Jas Austin as he was one of the designers here. I’m sure most of the logic was his. As I can’t work out what I did looking back over it 30 years later.

Although all the source code is now preserved, it might take some work to get them ready to be rebuild with modern assemblers since they weren’t developed in a Commodore 64, but in a variety of systems, including the PDS (Program Development System) and other cross-development systems.

Nonetheless, we all have to thank Michael Archer for his kindness taking the time to dig out these jewels of the Commodore 64 history of his secret wood chest and share them with all of us.

Link: Github