Interview With Andreas Wallström: For The Love Of The C64

UPDATE 24-April-2017: Andreas has informed us that the Kickstarter has been cancelled!

The Commodore 64 was our first true love in gaming and computing. The beautiful C64 invokes great memories from decades ago, with memories feeling so vivid that they seem like they happened just yesterday!

Nostalgia is truly intoxicating, especially when meeting fellow C64 lovers like Andreas Wallström. If you don’t know who Andreas is, then this interview will give you an insight into Andreas’ passions and great dedication he has towards the fabled C64. We have been following Andreas for a while on social media and constantly refer to his awesome C64.com site. Once we found out that Andreas had a C64 book on Kickstarter, we took note as his book is unlike other C64 books we have seen or read before.

We managed to grab Andreas to tell us a bit more about himself, his passions and of course, his new C64 tome.

AUSRETROGAMER [ARG]: Hello Andreas, thank you for your time to do this interview. Before we delve into your wonderful projects, tell us about yourself – when did you start gaming and/or dabbling with gaming systems and computers? 

Andreas Wallström [AW]: My name is Andreas Wallström. I’m a 43 year old father, graphic designer, photographer, drummer and a massive Commodore 64 fan. Some time at the beginning of the 1980’s, my father brought home the ColecoVision, so that was the first machine I started with. But in 1984, dad brought home the C64, a 1541 disk drive, a 1530 tape deck, a MPS 801 printer and five Mastertronic games. That was the start of my love affair with the greatest machine of all time – which changed my life forever.

ARG: When did you discover the Commodore 64 and what was it about the C64 that got you hooked on this 8-bit micro?
AW: I got hooked pretty quickly. I was only allowed to use the C64 during weekends at first, but like the sneaky little bastard that I was, I brought friends home during lunch breaks to play games like H.E.R.O., Snoopy and Spy Hunter. Dad and I undertook a BASIC course in 1985, but that didn’t really spark my interest. The programming exercises were mainly aimed at an older audience, but I was still happy to just be near the machine. I got really hooked when I first saw crack intros (cracktros) and demos. I was very impressed when I saw text scrolling on screen for the first time!

ARG: Is the C64 your only love or do you have other computers, consoles or systems you like to use and play on?
AW: I play games and watch demos on three machines: The C64, the Amiga and the Mega Drive. I never owned a Mega Drive back in the day, but I love the games on it. Favourite games on these other two machines would be; on the Amiga: Pirates!, Defender of the Crown, Beach Volley, King of Chicago, Super Cars and Another World. On the Mega Drive, they are: Sonic the Hedgehog II, Castle of Illusion and The Lion King.

ARG: As you are a graphic designer and photographer by trade, did the C64 (or other systems) play a part in your choice of vocation? 

AW: It certainly did. My grandmother was a painter, so designing things runs in the blood. I started drawing logos and fonts on the C64 when I was 14 years old, so that was the start of my self-education in the field of digital graphics. I constantly thank the creators of the C64 and the people that inspired me along the way because it’s thanks to them that I have the job that I have today.

ARG: Your website, c64.com is a treasure trove of information on the C64 (we constantly use it!) which has been around for almost 20 years! What made you start this site? And, do you have outside (contributors) that assist you with it?
 
AW: C64.COM was started by my friends Creeper/Flash Inc and Jordan/Antic. I helped out in the beginning but wanted to do a different kind of C64 homepage, so I started C64hq.com. After a few years working apart, I suggested that we’d join forces again to create one cool site together. That was in 2006 if I remember correctly. The reason why both sites were started was simply because the undying love for the C64. We’re a small team and would love more contributors, so if anyone is interested, please apply!

ARG: Let’s get to your latest project, the Commodore 64: For the Love Of A Machine book, which is currently seeking crowdfunding on Kickstarter – could you tell us a bit more about this project and what people can expect from the finished product?
AW: Since I have something of an obsession with the C64, I thought it would be a great idea to design a beautiful coffee-table book that celebrates the world’s most popular computer. People can expect a 224 pages hardback book filled to the brim with C64 nostalgia. There will be interviews with Al Charpentier who was VP of Engineering at Commodore during the creation of the C64 and he also created the VIC-II graphics chip. I have also done an interview with Bob Yannes who created the SID chip and he was one of two engineers that put the C64 together. We got a lot to thank this man, and trust me when I say, without Yannes, there would be no C64!

Apart from these guys, there are in-depth interviews with the likes of Chris Hüelsbeck, Ben Daglish and Fred Gray. People can expect an interview with programmer John Twiddy who programmed The Last Ninja. Something I’m also very proud of are the game commentaries from people that created many of the games that we love. And hey, did I mention the scans of Rob Hubbard’s original music notes? Rob wrote the music to games like Sanxion, Thing on a Spring, Crazy Comets, and Spellbound to name a few. For the first time ever, people are given the chance to gain insight into how he used to compose his famous C64 tunes.

ARG: You have managed to get interviews with some big names from Commodore and the gaming community – was this a difficult process? How did you go about securing interviews with big names like Al Charpentier and Bob Yannes for instance?
 
AW: You know, for some reason I’d like to torture myself by pursuing people, knowing how hard it is to find people that have said no to others. The interview with Mr.Z/Triad for instance was particularly challenging – It took me three years to get a ‘yes’ from him and then it took eight years to finish the interview! Obviously, the interview was started way before I started thinking of doing a book, but you get an idea what I’m willing to go through. Regarding how I secured interviews with Al and Bob, well, I’ll have to keep that myself for now, let’s just say that being in the scene since 1987 helped a lot. Oh yeah, persistence helps too.

ARG: What sets this C64 book apart from others? 

AW: The interviews for sure. You won’t find current interviews anywhere with people like Bob Yannes, Mr.Z/Triad and Dave Collier who programmed games like Yie Ar Kung-Fu, Green Beret and Hyper Sports. This is the first time he’s talking to anyone about the good old C64 days. The Rob Hubbard scripts of course make this book stand out too. I’m also putting focus on women in games which I haven’t seen in any other books. The book will also include professional photography and photos from old copy-parties and meetings that have not been seen before. I take great pride in this and I will make sure the book has a really eye-catching design.

ARG: The pledge tiers are all enticing and we are struggling to pick just one – they all look good! Got any tips on which one we should go for?
AW:
How about the associate producer one? *smiles* I would really recommend to get the physical book together with a poster from Dave Rowe and/or Steinar Lund. They’re going to look great on any wall!

ARG: Before we let you go, do you have an all-time favourite C64 game and chiptune?

AW: The impossible question and despite the figure skating events in Winter Games, that would be my favourite game. When it comes to music, one tune I always love to listen to is the main tune in Krakout by Ben Daglish. It’s fast paced, it’s jolly and the melodies are second to none!

Like all good things, even an interview must come to an end. We honestly could’ve asked Andreas another hundred questions, which he would have happily answered, but we thought we’d better let him go to concentrate on his upcoming book. As we say our goodbyes, we are left quite confident that Andreas’ book will be something quite special, for all fans! If you want to back Andreas’ C64 book, head over to Kickstarter now.

source: Commodore 64: For the Love of a Machine

 

Interview with Bob Yannes: SID Chip Inventor

What a coup it would have been if we were able to interview the creator of the SID chip, Mr. Robert (Bob) Yannes. Instead, we found an interview from August 1996 with Bob and Andreas Varga. We thought that the interview was insightful and still relevant to be shared (unedited) with all SID fans and retro gaming enthusiasts. Read on!

SID

Andreas Varga [AV]: Did you foresee that people would actually treat your little VLSI-chip like an instrument?
Bob Yannes [BY]: Actually, I was an electronic music hobbyist before I started working for MOS Technology (one of Commodore’s chip divisions at the time) and before I knew anything at all about VLSI chip design. One of the reasons I was hired was my knowledge of music synthesis was deemed valuable for future MOS/Commodore products. When I designed the SID chip, I was attempting to create a single-chip synthesizer voice which hopefully would find it’s way into polyphonic/polytimbral synthesizers.

AV: Are you aware of the existence of programs like SIDPLAY, PlaySID,… which emulate the SID chip up to the smallest click ?
BY: I only recently became aware of them (through your website). I’m afraid I haven’t thought much about SID in the last 15 years…I am constantly amazed and gratified at the number of people who have been positively affected by the SID chip and the Commodore 64 (which I also designed) and who continue to do productive things with them despite their “obsolescence”.

AV: Have you heard the tunes by Rob Hubbard, Martin Galway, Tim Follin, Jeroen Tel, and all the other composers ?
BY: I’m afraid not, are recordings available in the US?

AV: Did you believe this was possible to do with your chip?
BY: Since I haven’t heard them I’m not sure what we are talking about, however, I did design the SID chip with enough resolution to produce high-quality music. I was never able to refine the Signal-to-noise ratio to the level I wanted, though.

EnsoniqLogo

AV: How much of the architecture in the SID inspired you when working with the Ensoniq synthesizers?
BY: The SID chip was my first attempt at a phase-accumulating oscillator, which is the heart of all wavetable synthesis systems. Due to time constraints, the oscillators in SID were not multiplexed, therefore they took up a lot of chip area, constraining the number of voices I could fit on a chip. All ENSONIQ sound chips use a multiplexed oscillator which allows us to produce at least 32 voices per chip. Aside from that, little else of SID is to be found in our designs, which more closely resemble the Mountain Computer sound card for the Apple II (the basis of the Alpha Syntauri system). The DOC I chip (used in the Mirage and ESQ-1) was modeled on this sound card. Our current designs, which include waveform interpolation, digital filters and digital effects are new designs that aren’t really based on anything other than our imaginations.

AV: How big impact do you think the SID had on the synthesizer industry?
BY: Well, I don’t think it had much impact on the synthesizer industry. I remember once at Commodore that Sequential Circuits was interested in buying the chip, but nothing ever came of it. My intention in designing the chip (since MOS Technology was a merchant semiconductor house at the time and sold chips to the outside world) was to be able to sell the SID chip to synthesizer manufacturers. SID chip production was completely consumed by the Commodore 64 and by the time chips were readily available, I had left Commodore and never had the opportunity to improve the fidelity of the chip.

AV: What would you have changed in the SIDs design, if you had a bigger budget from Commodore ?
BY: The issue wasn’t budget, it was development time and chip size constraints. The design/prototype/debug/production schedule of the SID chip, VIC II chip and Commodore 64 were incredibly tight (some would say impossibly tight)–we did things faster than Commodore had ever done before and were never able to repeat after! If I had had more time, I would have developed a proper MOS op-amp which would have eliminated the signal leakage which occurred when the volume of the voice was supposed to be zero. This lead to poor signal-to-noise ratio, although it could be dealt with by stopping the oscillator. It would also have greatly improved the filter, particularly in achieving high resonance. I originally planned to have an exponential look-up table to provide a direct translation for the equal-tempered scale, but it took up too much silicon and it was easy enough to do in software anyway.

AV: The SID is very complex for its time. Why didn’t you settle with an easier design ?
BY: I thought the sound chips on the market (including those in the Atari computers) were primitive and obviously had been designed by people who knew nothing about music. As I said previously, I was attempting to create a synthesizer chip which could be used in professional synthesizers.

AV: Do you still own a C64 (or another SID-equipped computer) ?
BY: Sure, I have a couple of them (including the portable), but I honestly haven’t turned them on in years.

AV: Did Commodore ever plan to build an improved successor to the SID ?
BY: I don’t know. After I left I don’t think there was anyone there who knew enough about music synthesis to do much more than improve the yield of the SID chip. I would have liked to have improved the SID chip before we had to release to production, but I doubt it would have made any difference to the success of the Commodore 64.

sid_C64

AV: Can you give us a short overview of the SID internal architecture ?
BY: It’s pretty brute-force, I didn’t have time to be elegant. Each “voice” consisted of an Oscillator, a Waveform Generator, a Waveform Selector, a Waveform D/A converter, a Multiplying D/A converter for amplitude control and an Envelope Generator for modulation. The analog output of each voice could be sent through a Multimode Analog Filter or bypass the filter and a final Multiplying D/A converter provided overall manual volume control.

As I recall, the Oscillator is a 24-bit phase-accumulating design of which thelower 16-bits are programmable for pitch control. The output of the accumulator goes directly to a D/A converter through a waveform selector. Normally, the output of a phase-accumulating oscillator would be used as an address into memory which contained a wavetable, but SID had to be entirely self-contained and there was no room at all for a wavetable on the chip.

The Sawtooth waveform was created by sending the upper 12-bits of the accumulator to the 12-bit Waveform D/A.

The Triangle waveform was created by using the MSB of the accumulator to invert the remaining upper 11 accumulator bits using EXOR gates. These 11 bits were then left-shifted (throwing away the MSB) and sent to the Waveform D/A (so the resolution of the triangle waveform was half that of the sawtooth, but the amplitude and frequency were the same).

The Pulse waveform was created by sending the upper 12-bits of the accumulator to a 12-bit digital comparator. The output of the comparator was either a one or a zero. This single output was then sent to all 12 bits of the Waveform D/A.

The Noise waveform was created using a 23-bit pseudo-random sequence generator (i.e., a shift register with specific outputs fed back to the input through combinatorial logic). The shift register was clocked by one of the intermediate bits of the accumulator to keep the frequency content of the noise waveform relatively the same as the pitched waveforms. The upper 12-bits of the shift register were sent to the Waveform D/A.

Since all of the waveforms were just digital bits, the Waveform Selector consisted of multiplexers that selected which waveform bits would be sent to the Waveform D/A. The multiplexers were single transistors and did not provide a “lock-out”, allowing combinations of the waveforms to be selected. The combination was actually a logical ANDing of the bits of each waveform, which produced unpredictable results, so I didn’t encourage this, especially since it could lock up the pseudo-random sequence generator by filling it with zeroes.

The output of the Waveform D/A (which was an analog voltage at this point) was fed into the reference input of an 8-bit multiplying D/A, creating a DCA (digitally-controlled-amplifier). The digital control word which modulated the amplitude of the waveform came from the Envelope Generator.

The Envelope Generator was simply an 8-bit up/down counter which, when triggered by the Gate bit, counted from 0 to 255 at the Attack rate, from 255 down to the programmed Sustain value at the Decay rate, remained at the Sustain value until the Gate bit was cleared then counted down from the Sustain value to 0 at the Release rate.

A programmable frequency divider was used to set the various rates (unfortunately I don’t remember how many bits the divider was, either 12 or 16 bits). A small look-up table translated the 16 register-programmable values to the appropriate number to load into the frequency divider. Depending on what state the Envelope Generator was in (i.e. ADS or R), the appropriate register would be selected and that number would be translated and loaded into the divider. Obviously it would have been better to have individual bit control of the divider which would have provided great resolution for each rate, however I did not have enough silicon area for a lot of register bits. Using this approach, I was able to cram a wide range of rates into 4 bits, allowing the ADSR to be defined in two bytes instead of eight. The actual numbers in the look-up table were arrived at subjectively by setting up typical patches on a Sequential Circuits Pro-1 and measuring the envelope times by ear (which is why the available rates seem strange)!

In order to more closely model the exponential decay of sounds, another look-up table on the output of the Envelope Generator would sequentially divide the clock to the Envelope Generator by two at specific counts in the Decay and Release cycles. This created a piece-wise linear approximation of an exponential. I was particularly happy how well this worked considering the simplicity of the circuitry. The Attack, however, was linear, but this sounded fine.

A digital comparator was used for the Sustain function. The upper four bits of the Up/Down counter were compared to the programmed Sustain value and would stop the clock to the Envelope Generator when the counter counted down to the Sustain value. This created 16 linearly spaced sustain levels without havingto go through a look-up table translation between the 4-bit register value and the 8-bit Envelope Generator output. It also meant that sustain levels were adjustable in steps of 16. Again, more register bits would have provided higher resolution.

When the Gate bit was cleared, the clock would again be enabled, allowing the counter to count down to zero. Like an analog envelope generator, the SID Envelope Generator would track the Sustain level if it was changed to a lower value during the Sustain portion of the envelope, however, it would not count UP if the Sustain level were set higher.

The 8-bit output of the Envelope Generator was then sent to the Multiplying D/A converter to modulate the amplitude of the selected Oscillator Waveform (to be technically accurate, actually the waveform was modulating the output of the Envelope Generator, but the result is the same).

Hard Sync was accomplished by clearing the accumulator of an Oscillator based on the accumulator MSB of the previous oscillator.

Ring Modulation was accomplished by substituting the accumulator MSB of an oscillator in the EXOR function of the triangle waveform generator with the accumulator MSB of the previous oscillator. That is why the triangle waveform must be selected to use Ring Modulation.

The Filter was a classic multi-mode (state variable) VCF design. There was no way to create a variable transconductance amplifier in our NMOS process, so I simply used FETs as voltage-controlled resistors to control the cutoff frequency. An 11-bit D/A converter generates the control voltage for the FETs (it’s actually a 12-bit D/A, but the LSB had no audible affect so I disconnected it!).

Filter resonance was controlled by a 4-bit weighted resistor ladder. Each bit would turn on one of the weighted resistors and allow a portion of the output to feed back to the input. The state-variable design provided simultaneous low-pass, band-pass and high-pass outputs. Analog switches selected which combination of outputs were sent to the final amplifier (a notch filter was created by enabling both the high and low-pass outputs simultaneously).

The filter is the worst part of SID because I could not create high-gain op-amps in NMOS, which were essential to a resonant filter. In addition, the resistance of the FETs varied considerably with processing, so different lots of SID chips had different cutoff frequency characteristics. I knew it wouldn’t work very well, but it was better than nothing and I didn’t have time to make it better.

Analog switches were also used to either route an Oscillator output through or around the filter to the final amplifier. The final amp was a 4-bit multiplying D/A converter which allowed the volume of the output signal to be controlled. By stopping an Oscillator, it was possible to apply a DC voltage to this D/A. Audio could then be created by having the microprocessor write the Final Volume register in real-time. Game programs often used this method to synthesize speech or play “sampled” sounds.

An external audio input could also be mixed in at the final amp or processed through the filter.

The Modulation registers were probably never used since they could easily be simulated in software without having to give up a voice. For novice programmers they provided a way to create vibrato or filter sweeps without having to write much code (just read the value from the modulation register and write it back to the frequency register). These registers just give microprocessor access to the upper 8 bits of the instantaneous value of the waveform and envelope of Voice 3. Since you probably wouldn’t want to hear the modulation source in the audio output, an analog switch was provided to turn off the audio output of Voice 3.

AV: Any other interesting tidbits or anecdotes ?
BY: The funniest thing I remember was getting in a whole bunch of C-64 video games which had been written in Japan. The Japanese are so obsessed with technical specifications that they had written their code according to a SID spec. sheet (which I had written before SID prototypes even existed). Needless to say, the specs were not accurate. Rather than correct the obvious errors in their code, they produced games with out of tune sounds and filter settings that produced only quiet, muffled sound at the output. As far as they were concerned, it didn’t matter that their code sounded all wrong, they had written their code correctly according to the spec. and that was all that mattered!

____________________________________________________________________________________________________________________

NOTE: The original interview has since been lost to the sands of time on the internet. Luckily for us, the Internet Archive Wayback Machine salvaged the interview before it was lost forever.