My Commodore 64 programs

This is mainly a trip down memory lane for myself, but you might find it enjoyable. Here is some of my creative output on the Commodore 64 from ages 9 to about 15. After that, we got an Amiga and I immediately forgot all about the good old C64.

In 1985 my dad bought a Commodore 64 and hooked it up to an old TV. Pretty soon after we got it, I started typing in programs from the excellent user’s guide and from magazines.

Commodore 64

My first programs were very simple and did nothing more than load in sprites and make them fly across the screen. I would design these sprites on graph paper, convert the pixels to binary numbers in my head, and type these numbers into a BASIC program.

From these early days I remember the lightbulb moment when I finally understood the difference between GOTO and GOSUB, but also being stuck on how to use the joystick to control my sprites. I would try to figure stuff out from magazines or from books from our small local library, but often these were for other computers. Most of what I read went over my head.

The first actual "game" I remember writing was named Ed, after the game’s main character. The design was heavily influenced by Donald Duck’s Playground. All you could do was make Ed walk down the street and enter a restaurant, followed by an animation of Ed eating some food. That was the whole thing.

All of these early attempts were saved on cassette tape and have been overwritten with new things many times hence, so they are long lost. However, I managed to hang on to my 5 1/4-inch floppies and recently transferred them to D64 files.

I’ve been spelunking through these old floppies to find what my 11-year-old self was up to. Here’s a selection of what I was able to recover.

Masters of the Jungle (1987?)

Inspired by the first stage of the classic Jungle Hunt, which has you swinging from vines like Tarzan, as well as the guerrilla war in Surinam being fought by the rebels from Ronnie Brunswijk’s Jungle Commando. (I remember this war being in the news at the time, although I don’t think anybody swung from vines.)

The goal is to make your Rambo jump at the right moment to catch the vine and safely land in the other tree. The gameplay is actually quite horrible — the position of the vine does not seem to matter at all!

If you press fire to jump, the guy falls to his death. The trick is to press fire and hold the joystick to the left at the same time. That’s it, that’s the entire game mechanic. Apparently I was unable to figure out how to do the vine holding thing. It’s not a lot of fun to play unless you’re 10 years old and you made this game yourself. 😂

Masters Of The Jungle

MVE Tool System (1988)

Over my career I’ve written a number of GUI frameworks from scratch, and this is probably the first one.

Around this time, user interfaces that used pull-down menus started to become popular, no doubt inspired by the Apple Macintosh. This program is basically a bad clone of the Final Cartridge menu. It has a couple of utilities for doing disk stuff and a calculator that doesn’t seem to work.

MVE Tool System

It was controlled by the joystick as we didn’t have a mouse at this point — and even if we did, I wouldn’t have known how to use it from BASIC.

Sprite Stealer Deluxe (1988)

For many of my early programs, most likely including some on this page, I did not have a sprite editor. So I would draw the sprites on graph paper — 24 columns by 21 rows — then turn each group of 8 pixels into a byte, doing the bitwise math in my head, 63 bytes in total.

I made a lot of sprites this way until my dad typed in the listing for Sprite Magic from Compute!’s Gazette and I could finally create sprites on the computer by drawing them with the joystick. Much faster! It hadn’t occurred to me to write one of those programs myself, but I probably didn’t have the skills at the time anyway.

Sprite Stealer Deluxe menu

Another way to get sprites was to grab them from memory. Load a game, reset the C64, and then look at sprite memory since resetting doesn’t erase anything in RAM. Sprite Stealer Deluxe lets you view all the sprites in memory and then it outputs the corresponding DATA statements that you could put in your BASIC program.

Sprite Stealer Deluxe editor

When I tried using this program in VICE for making the screenshots it felt extremely unresponsive at first. Turns out that for some reason you have to press space after typing a command key. I must have had problems reading keyboard input and this was the “solution”.

Sprite Maker 64 (1988)

Apparently I also wrote my own sprite editing tool, although I may have copied this idea from somewhere. It just prints a number of DATA statements on the screen and then exits. Using the C64’s built-in screen editor you can then change pixels by writing a * or a dot — and don’t forget to press RETURN on each line!

When you’re done, type RUN again. Now the program will loop through these lines and calculate the actual byte values for the sprite pixels. It’s so brilliant that I’d be surprised if I actually came up with this idea myself.

Sprite Maker

Invader Break (1988)

Breakout games were all the rage and especially Arkanoid was awesome. The intro music is still one of my favorites.

Invader Break intro

I attempted to make my own breakout game, but couldn’t figure out how to do the physics. In Invader Break, the ball will bounce up and down but otherwise always follows the horizontal position of the paddle.

This is typical for the games I wrote at the time: I often wasn’t able to solve some programming problem central to the working of the game, so I just changed the rules (in my defense, I didn’t even know what physics was).

That’s why in Invader Break the goal isn’t to catch the ball with the paddle but to hit the ghost with the ball. Odd perhaps, but lots of games at the time were odd.

Invader Break game

By the way, if you’re wondering why the text looks weird: that’s what happens when you put the screen in multicolor mode. I thought it looked cool and fit the “spooky” aesthetic of the game. I don’t think I had a character editor at this time, so this was a way to get around the boring default font.

Mega Music (1988)

I had no recollection of this one, but apparently I wrote a basic music making app.

Mega Music

Interestingly enough, I must not have known what the black piano keys are for as you can only play the white keys (C major scale). The numbers 1–8 at the top of the piano are for changing the timbre.

The menu on the right is activated by first pressing SPACE, and then you can use the joystick to choose an option. Weird, but C64 user interfaces were weird a lot of the time anyway.

I did spend a lot of time listening to the awesome SID tunes on the C64, so it’s not so strange I made my own music program. In fact, I found several that I made but they’re all not very good.

Ghost Magic (1988)

Text adventures were a popular genre and I wrote one of my own, even though I never really like playing these kinds of games very much. The game is in Dutch because I did not know enough English to write all this prose — although according to the screenshot my Dutch wasn’t great either!

Ghost Magic

I actually remember writing this game. I was only allowed to use the computer on Wednesdays when I had the afternoon off from school, and on Saturdays. This one Saturday my soccer match was canceled and so I had more time than usual on the computer. My mom brought me tomato soup for lunch so I could keep coding. In my recollection, I wrote all of this game on that same day but looking at it now that seems unlikely as the listing is almost 500 lines long.

Chang-Chi (1988)

It’s got an Asian-sounding name, so it must be martial arts! I loved playing Kung-Fu Master and International Karate and Last Ninja, so naturally I had to make my own fighting game.

(By the way, I have no idea what “Chang Chi” means in Chinese, it just sounded cool. According to Google Translate it is “eat”. Okay then. I probably got the name from the comics.)

Chang Chi intro

It’s no IK+ but I was pretty proud of it at the time. There is no computer player — no way I would have been able to write an AI back then.

Chang Chi gameplay

The game is a bit slow to start up because I hadn’t quite figured out that sprites can actually be saved along with the BASIC program. And so the first few hundred lines of the program look like this:

Chang Chi sprites

I used to calculate such numbers by hand but at least for Chang-Chi I was using a sprite maker program to create all these DATA statements.

Cruel Cannon (1993?)

I had already moved on to the Amiga at this point but while reading a book on the Amiga’s internals, I had this flash of insight and suddenly — finally! — understood how the C64 graphics actually worked.

So I spent a weekend going back to the good old C64 and wrote my last game for it, Cruel Cannon. It’s hangman but with a cannon that shoots limbs off the poor guy when you guess a letter wrong. I was probably “inspired” by the sadist bonus stage of Commando Libya. Then again, hangman itself is pretty cruel if you think about it.

This is most likely the largest program I ever wrote on the C64, still in BASIC, and at least this time I knew what I was doing!

Cruel Cannon

Graphics

I was really into flight simulators and played games like Gunship and ACE for hours. I had always wanted to make my own flight sims but that was way out of my reach at the time (although I did end up writing 3D games on my Amiga many years later). That didn’t stop me from day dreaming and making cool mockups in the excellent Amica Paint drawing program. These are circa 1990:

Flight sim mockup 1
Flight sim mockup 2

I did spend a lot of timing drawing things on the C64, first with a cracked copy of Koala Paint using a joystick (awkward!), later in Amica Paint using the 1351 mouse. Unfortunately, I wasn’t able to find many of these drawings. They must have been on floppies that got thrown out at some point.

Here’s a cobra that I copied from a disk magazine cover:

Cobra

I changed my “handle” often. On the image above it was Hawkeye and the logo at the bottom says DA, which would have been Digital Artists. Other “company” names I found on these floppies were MVE for Master Vision Elektronics (also Mikro-Vision Elektronics), TSW for Thys Softworks, Megatronics, Lionsoft, PowerNurt, New Art Incorporated, Vampier Software, and no doubt many others.

An early logo screen made in Koala Painter:

TSW

Fonts (character sets)

Besides sprites and graphics, I also spent a lot of time drawing custom character sets.

On the C64 and most other 8-bit computers, the character set wasn’t just used for text but also for background graphics. Essentially, the screen is a 40×25 tilemap and the characters are the tiles. The C64 offers 256 possible characters of 8×8 pixels (or 4×8 in multicolor mode) that you can redefine however you want.

I didn’t have much luck editing my own character sets until I came across the excellent program The Ultimate Font Editor. From then on, I wasted many hours making fonts and tiles for games I’d never actually write — or copying the fonts from games I liked.

Ultimate Font Editor

The Ultimate Font Editor also allowed you to design screens using the tiles you made. Here’s a screen that is obviously inspired by Sid Meier’s Pirates! (Not sure what happened to the color, though.)

Tilemap

That’s it for the Commodore 64. Around 1991 my dad bought an Amiga 500 and, with the exception of Cruel Cannon, I never looked back. You can see some of my Amiga stuff here.