A Love Letter to the Commodore 64

Written by enfors | Published 2018/11/02
Tech Story Tags: programming | commodore-64 | retro-gaming | commodore | tech-open-letter

TLDRvia the TL;DR App

Dad, if you don’t stop talking about things from the 1900’s, people are going to think YOU are from the 1900's!

It’s been nine years since my daugter said the above to me at six years old, and I’ve nearly forgiven her by now. I still love her, but this story isn’t about her. No, this story is about my first love, the Commodore 64 — a home computer from the 80’s, which is still the best selling computer of all time. More PC’s have been sold since, of course, but no single model of any computer has sold as many units as the Commodore 64 did back in the day.

So why do I love this crappy old computer, you may ask? Why is it that I get a special look in my eyes when I think of its glittery blue startup screen, and why is it that I shiver when I hear its characteristic SID music? The answer is simple — nostalgia. Let me tell you the story of how I came to treasure this piece of 80’s technology.

When I was nine years old, my brother was gifted an old Commodore Vic-20, which was the precursor to the Commodore 64. Back in those days, computers didn’t have harddrives, and usually not even floppy drives; they came with tape decks. You’d type:

LOAD

… and press enter, and the screen would reply:

PRESS PLAY ON TAPE

… and a few minutes later, whatever was stored first on that tape would hopefully be loaded and ready to run.

My copy of The Book. Photo by me.

The Book

When my brother received that computer, he also received The Book. Oh, that book was special indeed. It was red, and worn with age, and contained within its tattered pages something which to me was magical — the BASIC source code of games that you could type in. The Book was called “Spela Vic!” (“Play Vic!” in English). The previous owner of the computer had typed up a few of these games and saved them on a tape, that thankfully came with the computer. It was so exciting to slowly load those games, one after the other, to see what would happen when we started them. The Book was what ignited my passion for programming, which remains to this day; without it, I might not have been a software developer now, who knows.

The Commodore 64 and its games

Anyway. That old Vic-20 sadly broke not too long after. A few years later, during the summer of 1988, I spent a lot of time flipping through The Book. I longingly read through the game descriptions over and over, trying to understand the BASIC listings. By this time my brother had also aquired a number of computer magazines (mostly Svenska Hemdator Hacking). These too I perused, especially the reviews of games for the more powerful Commodore 64.

Then, in the fall of the same year, my father bought me my very own Commodore 64. Oh what a joyful day that was! I was finally able to play computer games again! Two of my earliest favorites were Zorro and Bruce Lee, both of which came on a compilation tape called “Master Games Platform Perfection” with the computer itself.

Bruce Lee longplay by DerSchmu.

Computer games were obviously a lot different then from what they are now, as is clearly evident by the above video. A modern computer in 2018 will typically have something like eight gigabytes of RAM, which amounts to over eight billion bytes, while the Commodore 64 had 64 thousand bytes. This means that the modern computer has 131072 times the amount of RAM my precious old computer had. That’s a difference of some significance; memory was seriously scarce in those days, which meant that the game creators had to spend a whole lot of time optimizing their software to make it as small as possible, so that they could fit as much content as possible in the games. For example, would you believe me if I told you that the music by Rob Hubbard for Monty on the Run was only four kilobytes? That’s considerably shorter than the amounts of text in this article (even if we pretend that Unicode isn’t a thing, and that each character still is one byte). And still, the song is over six minutes long, and well worth a listen.

Monty on the Run music by Rob Hubbard. Video by PeyserCommodore.

And as if the amount of RAM and three channel SID sound chip wasn’t limited enough, its CPU, the MOS 6510, clocked in at roughly one MHz. Yeah. Things were different back then. Believe me when I tell you that making games on such a system was a craft. A modern computer has 16,777,216 colors (eight bits for red, green and blue each, gives us a total of 24 bits which allows for 16,777,216 different combinations). The Commodore 64, on the other hand, had 16 colors in total. So that’s a difference by a factor of a million, give or take.

But all these limitations did bring some advantages too, that modern games do not have — they left a lot to the imagination. When I go run through the forests of a modern game, my imagination is completely disengaged because it is not needed — every possible detail is right there on my screen. But when I entered the mysterious forests of the cursed kingdom of Torot in Firelord on my beloved Commodore 64, that’s a completely different story. There, the graphics are almost symbolic even if they were detailed for their time, and this symbolism triggered the imagination of my young, fertile mind. That in itself had some value, I think. Books have an advantage over movies in that they create images in your mind, and the graphics of the 80’s are a little bit like books in this regard.

Brief Firelord video by Old Games Database.

The graphics

Don’t get me wrong — limited as the platform was, what some people managed to squeeze out of the Commodore 64 was nothing short of amazing. Just look at the background in International Karate+ by Archer MacLean; the choice of color is lovely, as are the animations of the water and wildlife (bonus points if you spot a dolphin!).

International Karate+ review by Njenkin.

Although the background in this game is indeed amazing for its time, the best feature of the International Karate games’ graphics were the well-drawn, smoothly animated fighters. Fist II, another well-known and loved fighting game at the time, didn’t have nearly as smooth animations; but on the other hand, it had a vast world to explore as compared to the one screen of International Karate+.

Fist II longplay by DerSchmu.

Notice also that when it came to fighting games in those days, the right move was the one with the “correct” range; if you were too close to your opponent, your attack would go straight through them in most games.

The cooperative games

There were many games which supported two simultaneous players using two joysticks. And while it was hilarious to thwart Bruce Lee’s progress as the green Yamu, the games I enjoyed the most where the ones where I could play cooperatively with a friend. Probably the most well-known of these games is Bubble Bobble, where the players take on the role of two dragons spitting bubbles at monsters and clearing stages.

Bubble Bobble two-player game, posted by JimPlaysGames.

Another one that I also really liked was WizBall. It featured asymmetric multiplayer, in that one player played as the wizball, and the other played as the cat (which also spent most of its time looking like a ball). WizBall featured a system where you had to strategically choose what your next upgrade would be, which I thought was a lot of fun. The game was about painting the backgrounds, because apparently some bastard had stolen all the color in the world.

WizBall two-player game, posted by TheConsole Killer.

The graphics of the Commodore 64

Speaking of Commodore 64 backgrounds, one interesting aspect of that was that it was all based on blocks of eight by eight pixels. Those blocks were actually characters — letters, numbers, and other such things, but redefined to look like a background tiles rather than characters. There was room for 25 rows and 40 columns of these tiles or characters on the screen, giving the Commodore 64 screen a resolution of 320 by 200 pixels (not counting the border).

So to make the background graphics, the graphics designer would redefine the characters to look like game tiles rather than letters and numbers, and arrange them on the screen. Then to scroll, you could have the computer offset the entire background by one to seven pixels; you’d increase or decrease the offset at every screen update, making the tiles move. Once the offset reached minus one or eight, you’d reset it to seven or zero, move all tiles one block over, and start anew.

So that takes care of the background — but what about the foreground? The fast-moving ships, the fighters, the bullets, and other assorted things a game needs? They were called “sprites” and moved about freely, “above”, and disconnected from, the background; hence the word “sprite” — this is where the usage of this word in computer graphics comes from. Eight of these sprites could be shown at a time, although clever programming tricks could be employed to display more than that.

Another interesting aspect of Commodore 64 graphics were the fact that each background character had two colors. For example in the well-known Commodore 64 starting screen, all characters have a background color of blue, while the “foreground” color (the text) is light blue.

Wait — does that mean that only two colors could be used in every eight by eight cell? Yes, in high resolution mode. But the Commodore 64 also had a low resolution mode that allowed four colors per cell. The drawback of this mode was that each pixel was twice as wide as a normal pixel (which technically meant that each “pixel” consisted of two pixels, and therefore two bits, and two bits make it possible to store four different values, or four colors). Take a look at the beautiful, high-resolution image below. If you look closely enough, you’ll see that each eight by eight pixel cell consists of only two colors (incidentally, the previously mentioned Firelord game also used high resolution graphics — most games used low resolution).

The Mill by oliverlindau.

The music

If there’s one thing about the Commodore 64 that ignites more nostalgia than the games, it’s the music. The sound chip on the computer, the legendary SID, could only play three sounds at a time — it had three channels for output. Let me tell you that making music on the Commodore 64 was no walk in the park. The average musician didn’t use any kind of music software to compose the songs, no! The musician would create their own small piece of software for playing music and the instruments in assembly, and then create the music by typing in numbers for each note. This meant that the musician had to be a programmer as well.

Nevertheless, some of the music created on the Commodore 64 is absolutely amazing, considering the constraints involved. For example, listen to the intro music to the ill-fated Giana Sisters by Chris Huelbeck below. Ill-fated, because it was deemed (for a good reason, I guess) to be a clone of Super Mario Bros, and banned from being sold.

Giana Sisters intro music by Chris Huelsbeck, posted by ClassicGames4You.

Many techniques were used to work around the limitations of the system. For example, to play a three note chord would require all three sound channels, leaving no channels free for other instruments. To get around this, songs would often use arpeggio — the rapid switching of notes — on one channel, which gave the illusion of a chord being played. The music of Street Surfer by David Whittaker uses arpeggio extensively and to great effect.

Street Surfer music by David Whittaker, posted by N2144.

I cannot conclude the section on music without mentioning my absolute favorite Commodore 64 song: Central Park by Matt Gray from Last Ninja 2. I have spent more time rocking out to this tune than it would be wise for me to admit to, or even imply.

Central Park by Matt Gray, posted by unclejubalon.

BASIC — my introduction to programming

But the aspect of the Commodore 64 which has had the most impact in my life was the built-in BASIC (Beginner’s All-purpose Symbolic Instruction Code) programming language, and the fact that the computer manual was really a book teaching you how to program in BASIC. I soon became obsessed with programing; I even spent time during recess at school writing programs on graph paper.

Making (very, very bad) games for the Commodore 64 was what taught me the basics, pun intended, of how programming and computers work. I eventually wanted to learn how to program in assembler as well, but I never managed to get ahold of a book on the subject (at least not until a few years later, but by then I had moved on to the Commodore Amiga 1200).

So why am I writing this article, 30 years later?

Well, uhmm… I’m not quite sure, to be honest. I just know that the I love that old computer, and it still fascinates me to this day. It comes from a time where programmers had to really watch how much memory they used, because there was so very little of it to use. And you had to really understand the hardware to get the most out of its limited resources. But I think this made people of the time more deliberate programmers. Not necessarily better, mind you, but different.

If you’re as fascinated by this subject as I am, you might be interested to read the diary kept of Andrew Braybrook while he created the game Paradroid. Below, you’ll find a movie of the finished result of his game.

Paradroid longplay by DerSchmu.

And just in case all this has as you excited as it has me, it is actually possible to learn how to program on the Commodore 64 (or an emulator thereof). There’s plenty to read on the subject on the net, and you can pay for a course at www.64bites.com, which looks really interesting I think. They have free content too, which definitely is worth checking out.

If you enjoyed this article, feel free to follow me on Twitter, or find me at the Operation Get Your Shit Together site.


Published by HackerNoon on 2018/11/02