Summer Challenge 2014 Retrochallenge

Homebrew Donkey Kong game for the VIC-20

It’s time again to “kid myself” for another month, thinking I’ll someday complete an actual Retrochallenge (, but WHO CARES… it’s a fun activity no matter what!!! This time around, I’m going to continue a challenge that I apparently put off for 32 years, after discovering a cassette tape I had all this time with my original source code on it.

Homebrew Donkey Kong game for the VIC-20
Homebrew Donkey Kong game for the VIC-20

Back in my younger days, when I either had delusions of grandeur of being a professional programmer, or I was simply insane enough to even attempt it, I tried to write a Donkey Kong game for the Commodore VIC-20 IN BASIC!!! I was totally nuts to even try, I know, but teenagers to some degree are still expected to lack a certain measure of common sense. Even teenagers from back in the early 80’s.

Need more proof? I believed I could not only write it in BASIC (!!!snicker!!!), but I could also do it in an unexpanded VIC-20 having “3583 BYTES FREE” (BWAHAHAHAHAHA!!!)

HA..!! HA..!! Whooooo..!!!! Ohhh… let me calm down here for a bit…

Whoa… OK…

The real proof that I tried is in the picture. That is the only screen in the game. It was also the only game level I was going to attempt. I don’t exactly remember WHY I stopped working on it back in those days, but after looking at the materials I have today regarding the program, I’m guessing I had simply run out of memory (at a time when I couldn’t afford to buy additional memory). All the program does at the moment is move the fireball characters randomly, and allow the player to move the “stick figure” Mario. With this program loaded into the VIC-20 memory, I only have 43 bytes remaining.

My challenge for SC2014 is to try and finish this one level, to at least have it as playable as one would expect the original Donkey Kong level to play. I may attempt to make it fit in the original 5K RAM (the current code is HIGHLY inefficient), but will reserve the option to increase the memory size of the VIC-20 in order to complete it. As most VIC-20 owners may have known, expanding the memory of a VIC-20 changes certain important pointers to screen memory and such, which would require some of my original code to be rewritten to address the change.

Leave a Reply