Newman — Driving the SID chip: Assembly Language, Composition, and Sound Design for the C64 (2017)

author James Newman (Bath Spa University)
date 2017
article G|A|M|E — Games as Art, Media, Entertainment, issue 6/2017; CC BY-NC 4.0
created 2026-08-30 · updated 2026-08-31

An academic article arguing that the C64's sound is as much the product of the composers' bespoke player routines ("drivers") as of the sid itself: rob-hubbard and martin-galway wrote their own 6502 drivers, and the techniques those drivers codified — rapid arpeggiation, channel sharing, wavetable drums, portamento, even sample playback through a chip bug — define the C64 aesthetic and, later, "chiptune". It quotes interviews with Hubbard, Galway, Daglish, Huelsbeck and Bob Yannes, and Anders McSweeney's 1993 disassembly of a Hubbard driver.

Key claims#

  • The chip: bob-yannes, hired for his synthesis knowledge, "really wanted to do a multi-track, polyphonic music synthesizer"; MOS manager Charles Winterble: "already 10 times better than anything else out there and 20 times better than it needs to be". Three voices, four waveforms selectable per cycle, sync and ring modulation, continuous pulse width (Chris Huelsbeck: PWM is "the holy grail" of the SID), a multimode resonant filter, per-voice ADSR with attacks of "a couple of milliseconds" and releases "approaching 30 seconds"; everything through 29 8-bit registers set in hex. Yannes on the filter: "I knew it wouldn't work very well"; Ben Daglish on chip variation: "you never had ANY idea how it was gonna sound on another machine" — Beach-Head let the user adjust filter settings to compensate.
  • The driver: with no sequencers or trackers, Hubbard "used to load up a machine code monitor and literally display the bytes in real time … I would tend to work on four bar chunks"; the software and the music were written "hand in hand". McSweeney's disassembly: 900–1000 bytes controlling instruments (8-byte structures), notes, portamento, vibrato, arpeggio, pulse width and sequences; a "notework"/"soundwork" split; the main loop runs three times per frame at 50/60 Hz, so control has single-frame precision — timings "based on computational and audiovisual system contingencies rather than musical relevance". Instrument byte 7: bit 1 = "skydive" (slow frequency fall), bit 2 = octave arpeggio; combined "used a lot in Hubbard songs" (Monty on the Run, Crazy Comets). Galway's driver emphasised waveform manipulation, ring modulation and PWM (developed for Cyclone/Helikopter Jagd); Hubbard's emphasised percussion — Galway: "I wouldn't have minded having a go with his software and doing music in my style with his percussion."
  • Limited polyphony → multiplexing: The Human Race used two voices with the third for effects; Delta lets the player choose music or effects; usually effects steal notes (Thing on a Spring, Commando). Hubbard: "Most of it was simply done by multiplexing the three channels. If the lead line has two beats rest, put a fill or some effect in there." In commando the percussion is spread over all three channels — noise and toms on channel 1 beside the lead, ring-modulated percussion on channel 2 beside the arpeggiated chords, an off-beat snare on channel 3 alternating with the bassline — and there is no kick drum: the bass covers the downbeat.
  • Wavetable drums: McSweeney: "Drums are made from a noise channel and also a fast frequency down, with fast decay. Bass drums use a square wave, and only the first 50th of a second is a noise channel. This is the tell-tale instrument that gives away a Rob Hubbard routine! Hihats and other drums use noise all the time." One frame of noise then a pitched waveform with a pitch drop sounds like two channels: the noise is the stick, the pitch drop the body. In sanxion the pulse bass gets a noise attack, so a 16th-note bassline is also a continuous hi-hat/shaker from one channel; Crazy Comets does the same on pitched instruments. Sanxion's ring-modulated leads sound "utterly cacophonous" alone but gel in context.
  • Arpeggios at 50 Hz simulate chords — the "warbling" Newman calls "perhaps more than any other, characteristic of chip music", with Akesson's comparison to Bach's Partita No. 2; Galway: "fast arpeggios, and chorusing/echoes" make it sound like more is going on.
  • Samples: Galway "figured out how samples were played by hacking into someone else's code … my program synthesized the drums as a series of farts and burps"; by Game Over "quite sophisticated". The trick exploits a DC offset between channels: rapid writes to the volume register make clicks that form PCM — a "phantom" fourth voice; the 8580 removed the offset, so it is "all but inaudible" there.
  • Single-voice echo (Neil Baldwin, NES, on a C64 trick): truncate notes and play the same notes shifted later in the gaps at a lower volume.
  • Hubbard: "You'd look in the manual on the C64 and it would say things like… don't set this bit whatever you do and we'd say 'OK, I don't care, I'm going to try setting the bit and see if it does anything'." Documentation was written before finished silicon (Yannes).
  • Legacy: HVSC archives the files (hvsc); SidStation, Therapsid, chipsounds and QuadraSID re-house the chip but lose driver-level tricks (per-note arpeggio changes, the DC-offset digi).

Practical takeaways#

Sourced confirmation of the classic C64 recipes: noise for one frame then pitch-dropping pulse for drums; drums and fills anywhere a channel is free; bass with a noise transient as bass + hi-hat; 50 Hz arpeggios for chords. And the reminder that instrument design and arrangement were one activity — the "driver personality".

Notable quotes#

Rob Hubbard: "If the lead line has two beats rest, put a fill or some effect in there."

McSweeney on Hubbard's drums: "only the first 50th of a second is a noise channel. This is the tell-tale instrument that gives away a Rob Hubbard routine!"

Pages touched#

rob-hubbard · martin-galway · bob-yannes · commando · monty-on-the-run · sanxion · hvsc · sid · sid-player-routine · wavetable-programming · channel-interleaving · chord-arpeggio · pulse-width-modulation · filter-programming · fake-echo · chiptune · instrument-design · octave-bass · pitch-slide-and-portamento · ring-modulation-and-sync · tracking-workflow · commodore-64 · sidechain-pump · melody-writing · sound-effects

source file wiki/summaries/s-newman-driving-the-sid-chip.md · graph