Rob Hubbard
C64 game composer of the mid-1980s who wrote his own 6502 music driver and, with it, the sound that Newman's article treats as the template of "SID music" (source: s-newman-driving-the-sid-chip). A working professional musician before computers — "I worked as a pro musician, and I started learning basic followed by machine code" — he was 30 in 1986, wrote for Mastertronic, Firebird, Elite, System 3, Gremlin Graphics, Martech and Alligata, and by 1997 was audio technical director at Electronic Arts in Silicon Valley (source: s-sidmusic-hubbard-interviews). To martin-galway in 1986 he was "the only one I pay respect to"; to jeroen-tel "the Godfather of Commodore 64 music" (sources: s-sidmusic-galway-interviews, s-hugi38-interview-jeroen-tel).
Career and dates#
- 1984: wrote a music program, educational software and a game; the game's publisher went broke and the verdict "graphics are good, game is bad, music is great" made him "decide to just do music and audio". "After half a year of begging at software companies" the first three jobs were Action Biker (Mastertronic), Thing on a Spring (Gremlin Graphics) and Confuzion (Incentive); Thing on a Spring "was actually something I wrote to test my first driver" and "got me started" (source: s-sidmusic-hubbard-interviews).
- 1986: favourites then were Master of Magic, Comets, Gerry the Germ, Spellbound and Kentilla, the "absolute" favourites monty-on-the-run and Zoids; upcoming were International Karate, Kentilla, Spellbound, Thrust and Proteus; he planned a break for the Schneider CPC and Spectrum 128 and hoped for the Amiga (source: s-sidmusic-hubbard-interviews).
- 1988–89: the last C64 tunes, PowerPlay Hockey or Kings of the Beach for EA, "both had samples in them" — "I knew that they would probably be the last of the C64, as sales were declining rapidly" (chip-samples). Then Lost Files of Sherlock Holmes on PC and "nearly all of the EA Sports titles on the Genesis" (Madden, NHL Hockey, PGA Golf); in 1997 Nuclear Strike, the IASIG steering committee, and "very little music for games these days" (source: s-sidmusic-hubbard-interviews).
- He never received royalties; Invade-a-load's reuse of One Man and His Droid was news to him; his original source disks were thrown out when EA UK moved offices, so "SidPlay has really made it possible for me to have an archive of those old tunes" (hvsc) (source: s-sidmusic-hubbard-interviews).
Working method#
- No editor: "I just used an assembler and edit the source code — most people in those days did the same. There really wasn't time to sit and write an editor"; in 1986: "I do my music in pure machine code using an assembler. I tested those programs, but their possibilities are limited. 'Electrosound' is the only one that I like" (source: s-sidmusic-hubbard-interviews). Newman's account has him loading "a machine code monitor" and changing bytes in real time, four bars at a time, the driver and the music developed "hand in hand" — "You can think of something to do with the software and you immediately know what the musical implication of that is gonna be" (source: s-newman-driving-the-sid-chip); the two descriptions fit together: source in an assembler, values tweaked live in a monitor (sid-player-routine, tracking-workflow).
- Speed: "Normally it takes about two weeks to compose and arrange … I managed to do one in two days. That's how 'Commando', 'Zoids' and 'One Man and his Droid' were created" (source: s-sidmusic-hubbard-interviews). The commando story: one listen to the arcade original, a night at Elite's office, the tune on every C64 in the building by 8 am, on the train home by 10.
- The brief: influences Jarre, Synergy "and other synth bands"; "My main thought was really to try to get a strong bass line and a strong melodic line" (source: s-sidmusic-hubbard-interviews).
- Three phases, in his own 1997 view: early tunes "very safe, give them what they want"; a middle period "more adventurous and … generally better"; later tunes that "sometimes tried to push the SID too much" — I-Ball, commissioned as Cabaret Voltaire pastiche, "was pushing the driver too much". Favourites in 1997: sanxion, Kentilla, Crazy Comets and WAR (source: s-sidmusic-hubbard-interviews).
- Sketches at the keyboard: the Dragon's Lair 2 tunes began as three hours of recorded improvisation in one afternoon; Chimera and WAR were written around 1980, before the C64 (source: s-sidmusic-hubbard-interviews).
Techniques attributed to his driver#
- Wavetable drums: noise for one frame (1/50 s), then a pulse wave with a fast pitch drop and fast decay — "the tell-tale instrument that gives away a Rob Hubbard routine" (McSweeney's 1993 disassembly, quoted by Newman). See wavetable-programming.
- A drum frame by frame: Thorsten Klose traced the Auf Wiedersehen Monty bass drum from a siddump register dump (channel 2 at 0:38, one row per 20 ms frame):
$11triangle at A-3 with the gate on and ADSR08F8, then$81noise at B-5,$41pulse at E-3,$40pulse at C#3 with the gate off, then A#1 with the control byte unchanged — absolute pitches, steps of +26 / −31 / −3 / −15 semitones; "this tune impressed me so much in the 80s, that I was never be able to forget those groove drums" (source: s-ucapps-wavetable-sounds-tutorial-1). The full table is on monty-on-the-run and the worked wave table on wavetable-programming. lasse-oorni learned the same drums by playing "songs slowed down so that I understood how drum sounds (e.g. Hubbard) were pieced together from frames of noise, triangle, pulse etc." (source: s-lemon64-learning-sid-sound-design). - Multiplexing: "If the lead line has two beats rest, put a fill or some effect in there" — drums and fills on whatever channel is free; in commando the percussion is spread over all three voices and there is no kick drum. See channel-interleaving.
- Skydive + octave arpeggio: instrument flags for a slow pitch fall and an octave arpeggio, "used a lot in Hubbard songs" (monty-on-the-run, Crazy Comets); Monty's middle section "was an excuse to use the new pitch bend code" (pitch-slide-and-portamento, octave-bass).
- Noise attacks on pitched instruments (sanxion, Crazy Comets): a 16th-note pulse bass doubles as a hi-hat.
- Ring-modulated, pitched percussion doing rhythmic and contrapuntal duty (Commando, The Last V8, Sanxion) — see ring-modulation-and-sync.
- On experimentation: "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'." (all: source s-newman-driving-the-sid-chip)
- Samples: the "Go!" in BMX Kidz is his own voice; the 1988–89 EA tunes used samples (source: s-sidmusic-hubbard-interviews).
- hard-restart, before it had a name. JCH's memoir puts Hubbard at the start of the technique's provenance chain: "It was Jesper [JO of Amok] who first made me aware of the technique known as hard-restart. It had previously been used by Rob Hubbard and also Laxity had figured it out." Note that the driver read from the code below has no restart routine as such — a Hubbard note-off writes
$00to AD and SR together with the gate bit, so every note ends with the fastest possible release, which is the same effect reached from the other end (sources: s-chordian-my-computer-chronicles, s-realdmx-hubbard-player).
The driver, read from the code#
McSweeney's commented disassembly of the Monty on the Run driver and a Commando disassembly are public in the realdmx collection; the details live on hubbard-player (source: s-realdmx-hubbard-player). What they confirm or sharpen from the accounts above:
- The header says it: "This player was used (with small modifications) for his first approx. 30 tunes" — SIDwave's "almost 30 games" and the "swap the patches" method match a driver whose Commando version differs from Monty's only by a per-song tempo table, a vibrato threshold and one extra instrument flag.
- The size: the Commando file's labels keep the original addresses, and the player with its 192-byte note table spans
$1000–$14a1— 1186 bytes, McSweeney's "900–1000 bytes" of code. - The drum, exactly: an instrument flag; the first tick is noise, then every frame the instrument's own waveform with the gate off while the frequency high byte drops by one — "Fast attack/decay and a rapid downwards frequency slide creates this sound" (McSweeney). The Sanxion-style hi-hat on a bass is the same flag on a pulse instrument.
- "Skydive" and the octave arpeggio are the other two flag bits (
$02,$04); the "new pitch bend code" of Monty is a per-note byte ($90= up 16 per frame,$99= down 24) in the middle-section patterns. - The vibrato is a 3-bit counter mirrored into
0,1,2,3,3,2,1,0times a fraction of a semitone — "A clever little trick to create an oscillating value" — and only starts on notes of 8 ticks or more; matt-gray's remark that Rob's vibrato "used the correct algorithm" refers to this semitone-relative step (vibrato). - Instruments are 8 bytes and there are 20 of them in Monty, 13 in Commando; the pulse sweep bounces between
$0800and$0effand rewrites the instrument's own bytes.
What other composers say#
- Galway wanted his percussion: "I suppose I was simply wanting to use his program to get all that percussion … Perhaps we should have swapped drivers for a game" (source: s-remix64-galway-interview); in 1986 Galway rated every other musician "second class" for lack of programming skill or arrangement experience (source: s-sidmusic-galway-interviews).
- Tel studied him from 1985 to 1987, "making notes about his arrangements, techniques, melodies & sounds", and composed inside Hubbard's routine before he had his own; he sees Hubbard as the one who mimicked real instruments — bass guitar, electric guitar, drums, violin, piano — "extremely catchy and very 'to the point'" (source: s-hugi38-interview-jeroen-tel). Tel's favourite Hubbard tunes: Thing on a Spring, The Last V8, Crazy Comets, Tarzan, Zoids (source: s-sidmusic-jeroen-tel-interviews).
- Hubbard's own favourites among his peers: Galway (Rambo, Comic Bakery, Chariots of Fire from Hyper Sports) and David Whittaker; in 1997 he was still in touch with Galway, Whittaker, Tel, charles-deenen and Barry Leitch (source: s-sidmusic-hubbard-interviews). bob-yannes had never heard him in 1996 (source: s-sidmusic-yannes-interview).
- JCH, who was fourteen when he heard him: Hubbard "made the SID chip warp into space age almost single-handedly", and JCH bought cheap Mastertronic games purely for the title music (source: s-chordian-my-computer-chronicles). jeroen-tel in a 1990s diskmag interview keeps it short — "Rob Hubbard has proved to be a great composer" (source: s-domination01-jeroen-tel-interview) — and goto80, a generation later, lists him among his favourite C64 composers next to Kjell Nordbo, Jeff and Zardax (source: s-remix64-goto80-interview).
- His own summary of the job, as Tel quotes it: "It was like making music with boxing gloves on" (source: s-gamesart-jeroen-tel-interview) — the line Tel uses to explain why he remade the tunes decades later with more voices.
- An English journalist quoted by Happy Computer in 1986: "It's unbelievable, how he makes the C64 sound like ten voices with only three" (source: s-sidmusic-hubbard-interviews).
- A 2020s enthusiast site calls him "arguably the most celebrated SID musician of all time" and names monty-on-the-run, commando and International Karate+ as his iconic titles (source: s-commodore-64-eu-sid-chip; secondary).
Works named in the sources#
Action Biker (1985), Thing on a Spring (1985, first driver; note-stealing effects), Confuzion (1985), Commando (1985), Monty on the Run (1985), Crazy Comets (1985), The Last V8 (1985), The Human Race (1985, two voices + effects), One Man and His Droid (1985, written on spec, in two days), Master of Magic, Zoids, Gerry the Germ, Spellbound, Kentilla (1986), International Karate, Thrust, Proteus, Sanxion (1986), Delta (1987, music/effects toggle; hidden jingles cut from Sanxion and Romeo/Juliet), I-Ball, Knucklebusters, Nemesis the Warlock, Warhawk, Auf Wiedersehen Monty (title with Ben Daglish, two days at Gremlin), Dragon's Lair 2, BMX Kidz, WAR, Chimera, Tarzan, PowerPlay Hockey and Kings of the Beach (1988–89) (sources: s-newman-driving-the-sid-chip, s-sidmusic-hubbard-interviews, s-sidmusic-jeroen-tel-interviews).
Seen by the next generation#
- matt-gray: the first Hubbard tracks he heard were One Man & His Droid and Phantom of the Asteroids — "He had created quite a complex sound from just three monophonic sound channels"; in November 1987 Gray's Bangkok Knights loader stood in for Hubbard, who "had done the in-game, but I think he was departing for the US"; Gray's cricket sound in Tusker copied one from Hubbard's Flash Gordon. A "SID player available for licence" offered to Gray at a show "turned out to be just a disassembled Rob Hubbard routine which they'd re-commented and labelled up" (source: s-c64com-matt-gray-interview). Asked in 2015 how much of the matt-gray-player is Hubbard's, Gray is precise about which idea he took and which he did not: "Created from scratch, but there were fundamental things that mine and say Rob Hubbards also did. I did borrow his idea of drum tables but it was always coded from scratch … My vibrato routine was very different to his and Martin Galway's" — the drum table travelled, the vibrato did not (compare the mirrored 3-bit counter above; sources: s-sidin15-matt-gray-interview, s-realdmx-hubbard-player). The Bangkok Knights stand-in he describes as taking the call "instead of my hero Rob Hubbard"; asked for the best C64 authors he names Hubbard and Galway "in almost equal amount", Hubbard as the one who "had a huge range of influence to draw from", and puts One Man & His Droid, Phantom of the Asteroids, WAR and Knucklebusters on his list of best SIDs (source: s-sidin15-matt-gray-interview).
- charles-deenen's favourite C64 musicians: "Rob + Martin"; chris-huelsbeck lists Hubbard first among the composers he likes (sources: s-charles-deenen-interviews, s-remix64-huelsbeck-interview).
- jeroen-tel's explanation of three-channel arithmetic comes from a Dutch video interview with Hubbard (source: s-vgmpf-maniacs-of-noise).
The scene's Hubbard#
- SIDwave: arrived in 1985 with demos where F1–F7 switched tunes and sounds "made with ring modulation and sync"; "his player was so cleverly coded, that it needs little RAM and raster consumption (compared to Galway)"; his method, as told to the author — load the most recent tune and "swap the patches", then upgrade the player a little; "Rob's 'Monty on the Run' player, has been used in almost 30 games"; Red (Jeroen Kimmel) in 1986 and laxity in 1987 started by composing in his player, and "most later used players" share his structure (source: s-recollection-brief-history-of-sid).
- chordian: "one of the first game composers on the C64 to introduce the idea of a freelance resource … He 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"; "vibrato and arpeggio effects calculated by the music player" as the quantum leap; more than 75 games 1985–89 (source: s-chordian-sid-musicians).
- matt-gray: phoned him "several times in 87 … I was interested in licensing his player but he didn't seem that keen"; Sanxion's loader "10/10 on the SID for me", its one-channel bass-with-hat copied for Bangkok Knights; drums by waveform switching "was originally Rob Hubbard's idea" (sources: s-vandalism63-matt-gray-interview, s-rvg-matt-gray-interview).
- His tunes as the scene's benchmark. When Steve Judd's iseq was argued over on comp.sys.cbm in June 2002, the way to settle whether a new editor was any good was to demand a Hubbard cover: Agemixer challenged Judd to cover commando in it, and posted his own cover — made in DMC 4.0B — to hvsc as
/VARIOUS/A-F/Agemixer/Commando_Remix.sid. Judd's own iseq version of Commando is printed in sidin #1 with its instruments, and his three-call drum (two frames of noise or noise-then-triangle at a fixed high frequency, then the real waveform) is the generic descendant of the Hubbard drum above (source: s-sidin01-iseq). - SIDId:
Rob_Hubbard,(Rob_Hubbard_Digi), the 1984 Companion to the Commodore 64 type-in driver "on Rob Hubbard's two earliest SIDs", Paradroid's HubbardEd (1991) and Jason Page's RobTracker "based on Rob Hubbard's Digi routine" (source: s-sidid-player-list).
- chris-abbott (C64Audio, 2003): Thing on a Spring "was without doubt the most influential SID ever made, though I prefer Gerry the Germ, Spellbound and Kentilla"; Hubbard and Galway "hit the spot more times than most, because they combined experience, hard work, technical genius and sheer musicality"; and on his return to the stage — "Would Rob Hubbard be performing unplugged unless he had been bought back into the scene by BIT Live?" (source: s-sidin04-abbott-interview).
- In sidin: laxity (2007) calls him his "all time favourite" and lists Master of Magic, Wiz and Crazy Comets among the best SIDs ever, having learned the craft inside his player (hubbard-player); richard-bayliss (2006) names Mega Apocalypse and, as "his best work", Lightforce (sources: s-sidin11-laxity-interview, s-sidin10-bayliss-interview).
Related#
martin-galway · jeroen-tel · sid · sid-player-routine · wavetable-programming · commando · sanxion · monty-on-the-run · commodore-zone · chiptune · siddump · lasse-oorni
Sources#
s-newman-driving-the-sid-chip · s-sidmusic-hubbard-interviews · s-remix64-galway-interview · s-sidmusic-galway-interviews · s-hugi38-interview-jeroen-tel · s-sidmusic-jeroen-tel-interviews · s-sidmusic-yannes-interview · s-ucapps-wavetable-sounds-tutorial-1 · s-lemon64-learning-sid-sound-design · s-commodore-64-eu-sid-chip · s-c64com-matt-gray-interview · s-charles-deenen-interviews · s-remix64-huelsbeck-interview · s-vgmpf-maniacs-of-noise · s-recollection-brief-history-of-sid · s-vandalism63-matt-gray-interview · s-rvg-matt-gray-interview · s-chordian-sid-musicians · s-sidid-player-list · s-realdmx-hubbard-player · s-sidin04-abbott-interview · s-sidin11-laxity-interview · s-sidin10-bayliss-interview · s-sidin15-matt-gray-interview · s-chordian-my-computer-chronicles · s-domination01-jeroen-tel-interview · s-gamesart-jeroen-tel-interview · s-remix64-goto80-interview · s-sidin01-iseq