This is part 1 in a 5-part series about my computer chronicles, right from the beginning of the 80’s to the end of the 90’s. I’ll go into details about the computers I used, how I got into the C64 demo scene, created my music players and editors, and the experiences I had on the way until the turn of the millennium. If you’re not used to home computers and chiptunes, fret not! I have tried my best to intersperse the text with interactive question boxes to help explain the technical terms and jargon in passing.
“This is the shop where they have the Commodore 64, dad.”
It was shortly before spring in 1984. I was 18 years at the time and still living together with my parents in our old house in Rungsted, some 24 km north of Copenhagen. Money was definitely not my forte, but dad had finally promised to help me buy the Commodore 64 that I had been dying to get for so long.
We went into the shop and quickly found the shelves where they were showcasing all the popular home computers. Among these, they had a Commodore 64 and a Sinclair ZX Spectrum that we could type on. No monitors. Just checking out the keyboards. But the decision had already been made, so we found a shop assistant in a jiffy and asked to buy a C64.
“I’m sorry, we just sold the last one and we can’t sell the demo model over there.”
I was devastated. We had come this far and I had been very excited. I really wanted to get something out of the trip. I went back to the shelves and pointed at the ZX Spectrum.
“This is also a great computer, dad, and it’s pretty popular as well.”
My dad walked over next to me and tried typing on the bouncy rubber keys. He started getting that doubtful look on his face and I knew he needed some convincing. I talked some more about how awesome the ZX Spectrum was and why it could be a sensible alternative. Dad walked back to the C64 on display and typed on its keyboard.
“The keyboard on this computer seems so much better – much more sturdy.”
And with that his decision was made. We were going to wait until the shop had the C64 in stock again, and then we would buy it as we had always planned.
Going home again with empty hands was a terrible feeling that day, but my dad was right. Eventually we bought my first C64 on April 2, 1984, and it was one of the best decisions he ever made for me. It became by far the greatest home computer I ever had and it would later become the center of an epic chapter in the demo scene during the 80’s and 90’s.
Eventually I would invent a music editor on it that would leave a major surge throughout the entire demo scene – an editor that has since inspired many of its offspring today. A lot of C64 composers favored this music editor and produced amazing tunes that can be found in the High Voltage SID Collection today.
Just think how different this might have been if my dad had not put his foot down that day.
The High Voltage SID Collection is one of the largest computer music collections available today. SID is an acronym for “Sound Interface Device” and was the name of the sound chip in the Commodore 64 home computer. It was surprisingly advanced in 1982.
It had three channels across eight octaves, ADSR, four different waveforms, pulsating on the square waveform, three ring modulators, and multi mode filtering. The music was quite simple in the beginning, barely making use of the basic waveforms, but eventually music players were written that utilized all of its capabilities. These music players were typically called 50 times a second, quickly changing waveforms and frequencies to simulate vibrato, drums and arpeggio chords.
The Commodore 64 was quite popular back in the 80’s and the 90’s and a lot of excellent chiptunes were produced on it. Not only in the many games released, but also in a ton of demos and intros produced by amateur coders. The team behind the HVSC has been collecting all of these since 1996. At the time of publishing this blog post, update #65 contained more than 48000 SID tunes. The tunes are wrapped in a proprietary file format. An emulator that sounds like the SID chip can be used to play these.
However, I have converted some of the most popular SID tunes to stereo MP3 for easy listening right here on this blog. Click the MUSIC link in the top menu if you want to check this out.
Born in 1966, and thus a 50 years old geezer as of 2016, I was one of those nerds that came to experience the very beginning of arcade games, video game consoles and finally home computers. Video game consoles was never really my thing. I particularly didn’t want an Atari 2600. Even at that time, I thought its graphics capabilities were way too crude. I wanted something better than that. I was so envious at arcade games at the time. Why couldn’t we have something that looked this good at home?
I was a bit of a nerd in Rungsted school and only really had one consistently good friend there. Henry. He was also a bit of a nerd, and together we sat at a school table in between classes and drew weird creatures in our notebooks. We were also fond of racing sets such as Carrera Servo 160 and we spent a lot of our free time competing against each other on them.
Henry had many brothers, one of which was Jan. He was almost as old as Henry. One time when I visited them in the beginning of the 80’s, Jan showed me this strange new thing he had just bought to help him in school. It was a Sinclair ZX81. I had never seen a home computer before, and at first I thought it was just an advanced calculator. He showed me some commands on the screen and I was immediately hooked.
One of the earliest low cost home computers released in 1981. It was extremely simple with just 1 KB of RAM, 24 x 32 characters text mode, a monochrome 64 x 48 pixels graphics mode, a pressure-sensitive membrane keyboard and no sound. It connected to the television. BASIC listings had to be stored on a separate cassette tape recorder.
Nevertheless it was hugely successful and sold more than 1.5 million units at the time. It was the very first introduction to computers for many users, myself included.
I remember that we later typed a BASIC listing into it that I had written down on paper. As Jan didn’t have a tape recorder for saving yet, we had to type it in all over again every time we wanted to run it. Henry and Jan later bought a Sinclair ZX Spectrum and introduced me to some of the games there, but that’s where I went with a Commodore 64 myself.
BASIC is an acronym for “Beginner’s All-purpose Symbolic Instruction Code” and is a simple high-level programming language used by many home computers in the 80’s, typically stored in firmware that was immediately present as the computer was turned on.
The language typically had numbered lines that you could jump to. For example, the first line of a program could be
10 PRINT "HELLO WORLD" and the next
20 GOTO 10. You then typed
RUN and the code would print out “HELLO WORLD” on lines scrolling up from the bottom until you stopped it. You could assign variables, use proper loops, read from data lines, peek and poke the memory and many other things, but as it was an interpreted language it was usually too slow to be used for advanced stuff.
Many computer magazines of that time period even had listings on several pages for us to type into our computer. It would of course take quite a while and often there would be errors caused by typos that would then have to be corrected afterwards.
At about the 6th grade I moved to another school. Through my racing sets I got to know a new friend, Axel. He was very different than Henry, certainly much less of a nerd. He too bought a ZX81 and also had the problem of not being able to save our listings at first. He actually had the ZX81 switched on during the night because he didn’t want to type in the latest listing again the next day.
It didn’t last long until he got a tape recorder for it.
I was really bad with money at the time and had to visit Henry or Axel if I wanted to get my computer fix. Axel next bought a Commodore VIC-20, and we had a lot of fun programming weird sound tests in BASIC. We didn’t really know what we were doing – we just created a lot of
FOR/NEXT loops and poked the sound chip for hilarious effect. Among these programs we made one that sounded just like poo dropping in the toilet. Lots of laughs there.
This was the predecessor to the Commodore 64, announced two years earlier in 1980. It was encased in exactly the same keyboard box, only brighter.
You would think that it would have some of the capabilities of its big brother of 1982, but the jump down to VIC-20 was actually quite significant. It only had 5 KB of RAM (and only 3.5 KB of these available to BASIC), a 22 x 23 text mode producing enormous letters, and a 176 × 184 pixels graphics mode. There were no sprites and no hardware scrolling. The sound was equally simple, just three pulse channels of three octaves scattered over five octaves, and a fourth noise channel. The C64 could do eight contiguous octaves.
Axel’s stepfather was a reverend, and he was the genuinely serious type. At one point, Axel ran the poo sound program for him and Axel commented, “Listen dad – mud!”
Texas Instruments TI-99/4A
My very first home computer was a Texas Instruments TI-99/4A in 1983. The good old silver gray computer with a real keyboard and 16 colors. I really loved it at the time and typed in a ton of listings from various magazines. What I absolutely didn’t love was that hitting the key combination for the plus character was almost the same as quitting out of BASIC.
I lost a lot of typing that way.
Nevertheless I managed to type in a lot of games and learned a lot. Eventually I managed to make my own games in Extended BASIC. Some of them were even relatively advanced, such as controlling an animated creature across a bridge dealing with various challenges in waves. It was probably inspired by Parsec, a great horizontal shoot’em up on cartridge for this computer.
But these early games are also among one of my biggest regrets of my life. When I lost interest in the computer a few years later, I made the foolish move of selling it together with the only tapes that contained these precious nuggets. Not long after that, I learned that the house of the buyers had burned down with all their possessions in it.
My tapes with my first BASIC games were gone forever.
The TI-99/4A was actually a strange combination of both being awesome and deficient all at the same time. It had 28 interrupt-driven sprites. You could define one, put it on screen, give it a direction and speed, and it would move along minding its own business while Extended BASIC did something else. There were of course limitations – more than four sprites on a line blanked out – but still.
The sound chip was not impressive, but it did have three voices plus a noise channel, and a brilliant speech synthesizer could be added in the right side. It was even used by some games such as Parsec.
A sprite is a small two-dimensional graphical object that can be moved around on the screen without disturbing the background graphics nor any other sprites. It’s almost as if a sprite is operating on a plane all of its own. Sprites were immensely popular in early arcade games and on many home computers.
Remember early Mario and Pac-Man? Those were sprites.
The cartridge port allowed for swapping while the computer was still on. Inserting a new one automatically reset it. I have never seen another computer that could do that.
But on the other hand, the TI-99/4A had a 16-bit processor with limitations that made it slower than even some contemporary 8-bit competitors. Worst of all, there was absolutely no access to machine code, assembler, peek and poke. Not unless you bought a memory cartridge and a hard disk solution that was incredibly expensive. I was financially strained so I had to stick with whatever Extended BASIC could do. It could do a lot of cute things, but eventually the computer was just too inadequate and time soon passed it by as a rusty moped in the roadside.
That’s when I got the Commodore 64 instead.
When my dad and I finally bought my Commodore 64 in 1984, I also got Omega Race on cartridge (a conversion of a static vector arcade shooter) and Jeff Minter’s Revenge of the Mutant Camels on cassette tape (a side-scrolling shoot’em up). I also bought the cassette recorder at the same time. It took a few years more before I got a diskette drive.
Jeff Minter was one of the first game developer celebrities on the C64. His games often demonstrated a fondness for llamas, sheep and camels. As a fan of early arcade games with flashy colors, many of his C64 games were often fast and psychedelic.
Before we continue, a word about another one of my pals.
Marc is one of my oldest friends that I met in 2nd or 3rd grade. We’ve been close friends sharing a lot of the same interests, even almost the same birthday. I’m just one day older than he is. He was the outgoing type that talked a lot and I was kind of the other way around, and that actually worked out quite well. He did all the talking and I did the commenting.
So together with my two best friends at that time, Axel and Marc, we enjoyed a lot of games on the C64. Some we honestly bought from the local computer shop, ironically called Spectrum. It was right next to the gas station where we bought our candy and snacks. The shopkeepers were slightly gullible and lend us a few games at one point. Being the dirty scoundrel teenagers we were at that time, of course we copied them at home before returning them.
Games on cassette tape usually didn’t have screenshots on its sleeve at this time, and at one point Axel bought one that turned out to be awful. He then held a magnet to the tape and claimed that the tape was faulty. He got his money back and bought a better game.
Dirty scoundrel teenagers.
I also remember that Axel once allowed me to buy a game for his money if I accepted bringing his jar of small change coins. That didn’t bother me at all. I immediately went to the shop, poured the coins all over their desk and bought a game. I was really hungry for new games for the C64.
Even though the shop was called Spectrum, there were all kinds of home computers and gadgets of any kind. This was where we were introduced to the Commodore 1541 diskette drive, and we also tried out a Macintosh – using a mouse for the very first time. That was a weird experience. If only we had known how groundbreaking it truly was.
But eventually we concluded that we couldn’t just buy a lot of games. Money was tight and games were expensive. So naturally, we had to find other ways. Marc started looking in Den Blå Avis, “The Blue Newspaper”, which is sort of the Danish counterpart to Craigslist. Let’s just use their abbreviation DBA from now on. It was a place before the internet where you could buy and sell all kinds of used things. There was also a section where you could buy very cheap C64 games, which were of course cracked.
Marc and I made the call, we agreed to meet at their place, we bought a few games, and had a great time playing them. This was the first time I saw cracker intros on C64 games. It didn’t mean anything to me back then and I didn’t care. I just wanted to have the games. Later, I finally got a Commodore 1541 diskette station and now we bought our cheap games on 5.25″ floppy disks.
I mentioned earlier that I might never have had a C64 if not for my dad (at least not at that time) but I also have to say that if it hadn’t been for my friend Marc, I might never have gotten into the C64 demo scene in the first place. Who knows, maybe I would never have made any SID music at all.
You see, being hungry for more C64 games as he were (maybe even more so than me) he kept getting in touch with sellers in DBA. I would probably have been too lazy to make as many calls as he did. At one point, he got hold of one Lars in Herlev, right next to an impressive hospital tower. Lars was a true nerdy type and had a good supply of new games on disk, all cracked. He had a good friend named Claus that lived just a few blocks further down the road, and as Lars switched to Amiga games only, Claus took over supplying us with more games for the C64.
It then turned out that Claus had quite a few acquaintances in the demo scene.
The demo scene
The thing about the demo scene at that time is that cracks and demos were pretty much inseparable. It was possible to deal with demos only, but the line between the two things was virtually non-existent. The demo scene was about sending diskettes to each other via standard mail, and a diskette had typically a few cracked games and a few demos. Demos were coded by the amateur coders to prove what they could do, and games were cracked and then had an intro added to inform the gamer who had done the deed. Demo groups spawned all over Europe, and more often than not, a group had both demo coders, crackers, suppliers and swappers. It was an amazing phenomenon that was now starting to bloom.
In 1986, Lars, Claus and a few of their friends formed their own cracking group called New Men. I had learned a little bit of assembler language on the C64, and I joined to make a couple of intros for them. They were my first feeble attempts and were not very smooth, but they had nice ideas like animating the letters of the logo. I also spent way too long maintaining a demo editor. The members of New Men could add their own full screen picture and music of their own choice, along with a smooth scroll text in the bottom.
And then as 1987 arrived, things started to get a lot more interesting.
At around spring that year, I started fiddling with the idea of creating my own music player. Music on the C64 had always been a major interest of mine right from beginning, but it was quite crude to begin with. For a long time the game programmers didn’t know how to make it say much more that the old types of monotone bleeps. The game Super Pipeline opened my ears for the wonders of good ADSR, but it wasn’t until Rob Hubbard came along that the SID chip was really used properly. Rob Hubbard quickly figured out how to make pulsating, vibrato, drums mixed from various waveforms, arpeggio and other wonderful effects. Together with awesome tunes with good melodies and even guitar solos, Rob Hubbard made the SID chip warp into space age almost single-handedly. I was so fascinated with the way he enhanced the musical experience that I started buying cheap Mastertronic games just to enjoy his tunes on the title screen. I didn’t give a hoot about the game itself, as long as his music was present.
One of the first game composers on the C64 to introduce the idea of a freelance resource to be hired by game developers instead of being part of a team. Rob Hubbard coded his own music player and delivered a block containing both the player and the sound data, typically with several tunes and jingles as well as an array of sound effects. The game developer would then just call this music player with an argument depending on what piece of music or sound effect was needed in the game code.
Rob Hubbard’s work was also revolutionary because of the way the capabilities of the SID chip was utilized extensively, combining its output with vibrato and arpeggio effects calculated by the music player. Although a few other musicians had experimented with a similar upgrade, Rob Hubbard’s tunes took the C64 gaming world by storm. It was a quantum leap that would soon be the norm in C64 games as other composers learned to follow the same pattern, whether by freelance too or as part of a team.
But at the same time, Rob Hubbard was also a skillful musician and repeatedly created long and varied masterpieces that would sometimes even have guitar solos or be arranged like symphonies. He wrote and converted music for more than 75 games from 1985 to 1989, including Monty on the Run, Crazy Comets, Master of Magic, Commando, Delta, Thrust, Sanxion and International Karate. Other composers on the C64 have had their impressive innovations and music too, like certainly Martin Galway and Tim Follin, but Rob Hubbard will always be special to me for the way he revolutionized music on the C64.
So around spring that year, I started coding my first crude music player on the C64. I was even thinking about making an editor for it in one go, but just as I had sketched out the first ideas on paper, I got my Amiga 500 and along with it, the music program Aegis Sonix. This was a classic composer with notes and sheets, and I quickly learned to compose my very first tunes in it. I had absolutely no prior knowledge. No training, no education, no parent forcing me to play the violin or the piano. Nevertheless I managed to construct actual tunes almost immediately. Somehow I surprised myself – I imagined it would be much harder to make music without any kind of education. They were simple tunes, of course, but still.
This was a music composition program that used the sheet music design where you place notes on lines, scrolling the screen to the right. It made use of the four channels of the Amiga to play samples as well as its own waveforms that used rudimentary emulation with phasing and filtering. It was great in 1987 when options were few for the Amiga.
Unfortunately the program did not make it possible to use the saved songs in separate productions such as games and demos. You could only load the songs back into Aegis Sonix to play them and that was pretty much it. Other compositional programs such as the Soundtracker soon replaced it as the choice for game and demo coders.
But although composing music in Aegis Sonix on the Amiga was fun, I still had that very special desire to make SID music on the C64. I finished coding my music player and that’s when I got the idea to transfer tunes from Aegis Sonix, note by note. Since I had no ingenious technical wizardry to help me transfer this digitally, I settled with reading the notes from the Amiga monitor, write them down on pieces of paper, then typing them into the C64 using a couple of input programs written in BASIC. It was exactly as crude and cumbersome as it sounds, but the novelty of having my own music in my own player in 1987 was a massive drive. Writing down a tune typically took a couple of hours. By far the worst labor was a medley of several Christmas tunes in one big composition. It took over 5 hours dotting that one down, and then typing it into the C64 took another 3-4 hours. And the old music player wasn’t exactly top of the pops either. It took a lot of CPU time in the beginning, and the swapping of waveforms in some of the instruments was done programmatically instead of using a flexible table.
Well, we all had to start somewhere.
Meanwhile, New Men added a few more members that I soon met at Claus’ place. Brian was a demo coder that would later also be involved in cracking games, and Kim was a hungry swapper that had an urge for spreading the newest cracks in Europe. Where Lars and Claus were sort of laid back and accepted the role of just passing on software, Brian and Kim wanted more. Both were determined to be involved in the scene. They wanted to swap with the best, make amazing demos, and produce the tidiest cracks. Especially Brian had a network of talented friends that could also code in assembler on the C64.
All computers run their commands using machine code operations. It’s basically just raw numbers that means something to it. It can load data into registers, calculate, load or store data into memory or the I/O chips, even compare and branch around.
An assembler listing is a low-level language that gives all these numbers short names and labels so that we humans can understand it. This always have to be compiled into the machine code, a process that typically takes a few seconds or more depending on the size of the program. Good assembler languages does this in multiple passes to make sure everything is tight and references the original labels correctly.
On the home computers of the 80’s, coding in assembler was the only option for professional game coders as well as cunning demo coders. It ran the code as fast as was possible which was required to do all of the fancy effects. Coding in BASIC was not just immensely slower, it also had various other limitations.
In spite of my simple tunes that barely paired a bass and a leader, Brian and his friends were really excited that I could make music for their demos, and even in my own player. In 1987, almost everyone was using a public domain editor called SoundMonitor. Not only did this produce a very familiar sound that became trite in the long run, there was also an enormous prestige in using one’s own player. At that time, I was among just two or three people in Denmark that could do this. After making a few demos myself with some of my OldPlayer music, both Kim and Brian joined Jewels in November. Jewels was a combined demo and cracking group that became much more prominent than New Men had ever been. Brian and his friends made a lot of demos showcasing dithered logos, weird scroll texts, breaking the side-border, and of course using a lot of my OldPlayer music. People in the scene all over Europe starting noticing their cracks, their demos, and the unique music. It felt good seeing demos with my music chosen for them.
At that time there was a ton of other tunes ripped from many games that could have been used instead, but having truly original music in a demo mattered. It was part of what made some demos cooler than others. New visual effects not seen before, new records broken, and new music never heard before. It gained due respect for the creators.
This was one of the first music editors on the C64, released in 1986 by the German composer Chris Huelsbeck. It was originally released as a type-in listing for a German magazine. The three channels of the SID chip were edited side-by-side using hexadecimal numbers, you could edit while also playing the tune, and the instruments could make use of arpeggios and portamento.
It was a popular choice in the beginning since it made it possible to use the music in your own productions. However, the player used a lot of CPU time, the music blocks were big, and the music itself had a distinct sound that almost always revealed the source of origin. As better music players and editors arrived, SoundMonitor was largely abandoned.
A later offspring called RockMonitor was developed that could also play digital samples.
Although simple and occasionally disharmonic, I could now deliver the music.
With all these groups spawning all over Europe, mailing each other floppy disks with demos and cracks, it was inevitable that we would eventually start having meetings where we could meet up, talk to each other, and swap software. For a long time these meetings had the nasty name copy-parties, because frankly, a lot of cracked games were also swapped here. Later, as the years passed and games stopped being produced for the old home computers anymore, they changed the name to demo-parties instead.
Actually calling it a party might also be a misleading synonym. This wasn’t about dancing, drinking and getting laid. Typically, a big hall or a school was rented, a backbone set up to handle the electricity and network, and people would arrive bringing their own computers and gear. Nerds would be sitting side by side playing games, copying software, watching demos they had just acquired, and if there were a lot of them in the same room, there would of course be a racket of music, bleeps, noisy ghettoblasters, and people talking all over the place. Later parties grew in size and also started introducing competitions in many different kinds of categories for multiple computer formats. The best demo, the best music, the best picture, and so forth. Some people brought demo code along with their gear, but maybe it wasn’t finished and they had to hurry up coding the rest at the party before the deadline. Then the productions would be shown on a big cinematic screen to an audience of greasy nerds, and if they liked what they saw, there would be a lot of loud praise.
This was another way to gain respect – to win a competition at one of these parties.
Part of this experience was understanding the limits of the computers at the time. Amiga demos could show a lot more colors and easily produce sampled music compared to the C64, but they were never compared directly in these competitions. For the C64, people in the scene knew what its capabilities were. How the graphics modes worked. What the SID music could sound like. How many sprites it had (8) and how difficult it was to have more. As demos evolved, new techniques were discovered – like breaking the side-border and placing sprites out there. Coders knew how difficult this really was. It wasn’t just opening it up with a command and that was it. You had to do it for each scanline in a very timely manner, and sprites moving vertically could disrupt this timing. Other techniques were invented to scroll an entire high resolution image smoothly across the screen or wave it around in chunks. Primitive digital samples could be played by exploiting a small click the SID chip made when changing the volume. All of this and much more was shown in demos, other demo coders copied it and improved upon it, and when people went nuts at one of the party competitions, it was because they knew how difficult it was to code whatever they were watching right now. Sure, there was also the point of actual design, but in the beginning it was more about breaking records and show off.
Imagine not knowing anything about the limitations of the C64 and just watch a random demo on the competition screen. You would probably wonder what all the fuss was about and why everyone would get so excited about it.
My first copy-party was arranged by New Life in February 1988, a big stretch north of Copenhagen. It was a small one with probably less than two dozens of people, and it was relatively laid back. We merely showed our new demos and talked. I met the promising Danish composer Future Freak for the first and only time, and I remember he said something in the line of, “There can be a lot of money in making music for games!” That was the ultimate dream for us musicians – to actually get our new compositions on real games, just like Rob Hubbard and Martin Galway.
That would later turn out to be difficult.
In May later that year, Brian and his friends were planning a ride in his car through most of Germany to visit a promising Orion/MCG party in Marl. I got the flu and actually ought to have stayed home, but I was just as eager to get there. We were four or five people in Brian’s car and I sat in the back with blankets around me, riding off the flu on the way. I had the SX-64 with me, a transportable version of a Commodore 64 with a built-in floppy drive, a tiny monitor and a keyboard built into the lid. Ole, one of Brian’s friends, was an excellent coder and together we worked on a demo effect on the ferry to Germany. I just plugged in my SX-64 in the cafeteria and we all watched while Ole did his magic. Driving down through Germany took forever and when we finally arrived in Marl, we found nothing going on. The party had been cancelled. We didn’t really get that pissed about it, but at the same time we wanted to know what had happened. After wasting time in a hall with arcade machines, we visited one of the guys involved in an apartment where he was living with his parents. It didn’t take long before we had to admit the futility of the situation. We got back in the car and drove the long way back to Denmark. At least Ole and I coded some more on the ferry, and Ole actually made a very interesting demo effect where an animated sprite that I had drawn (probably the only one ever) had the strip lights of a horizontal tunnel shine on him as he walked to the side. Sadly this demo effect was never finished and released.
That was the end of part 1. Click here for part 2.