Commando (C64, 1985)
rob-hubbard's soundtrack for Elite's Commando — Newman's worked example of multiplexing on three voices. Channel 1 carries the lead melody and noise/tom hits, channel 2 the arpeggiated chord backing and ring-modulated percussion, channel 3 the bassline and an off-beat snare; "there is no kick drum on the downbeat and channel 3's bassline effectively covers this function alternating with the snare". Sound effects steal notes during play (source: s-newman-driving-the-sid-chip).
How it was written#
Hubbard's own story: "I went down to their office and started working on it late at night, and worked on it through the night. I took one listen to the original arcade version and started working on the c64 version. I think they wanted some resemblance to the arcade version, but I just did what I wanted to do. By the time everyone arrived at 8.00am in the morning, I had loaded the main tune on every C64 in the building! I got my cheque and was on a train home by 10.00 am" — one of the tunes he names as done "in two days" against his usual two weeks (source: s-sidmusic-hubbard-interviews).
martin-galway singled it out among other people's tunes: "not a sonically true copy of the original, but a completely different funky arrangement which I thought was a very efficient way to solve the problem and get bang for the buck", and named Commando (with Outrun) as a game he would have liked to score himself (sources: s-remix64-galway-interview, s-sidmusic-galway-interviews).
The two accounts of its writing time — "through the night" to Commodore Zone (c. 1997) and "in two days" to Happy Computer (1986) — are consistent (source: s-sidmusic-hubbard-interviews). A 2020s enthusiast site lists it with monty-on-the-run and International Karate+ as Hubbard's iconic titles (source: s-commodore-64-eu-sid-chip; secondary).
Techniques to study in it: channel-interleaving, wavetable-programming (drums), chord-arpeggio, ring-modulation-and-sync — and Hubbard's brief, "a strong bass line and a strong melodic line" (source: s-sidmusic-hubbard-interviews).
The title tune in its driver#
A disassembly of the title music with the driver is in the realdmx collection, written out with note names and an INSTR macro (source: s-realdmx-hubbard-player; the format is on hubbard-player):
- Three tracks over 32 patterns, tempo 3 frames per tick (
songtempos !by 2), 13 instruments. The bass is$52,$01,$41,$09,$9f,$00,$16,$08— pulse, attack/decay$09, sustain/release$9f, and the Commando-only flag$08that adds$16to the pulse-width low byte every frame; the snare is$00,$02,$81,$0a,$09,$00,$00,$05— noise with the drum and octave-arpeggio flags together ("IARP | IDRUM"). - The bass patterns (
p01 … p0e) carry the drum hits themselves:+INSTR 2,5 / A1 / 1, A2 / +INSTR 3,3 / As3 …— bass note, octave, then instrument 3 (the snare) on the same voice, which is Newman's "channel 3's bassline effectively covers this function alternating with the snare" written out (channel-interleaving). - The lead patterns are full of per-note pitch bends (
a3 cf,a3 bf,a3 a8,8f d1) and 32-tick extensions (47,4f), and the arpeggio patternp17: 81 05 46 01 46 01 46 …is single 1-tick notes on instrument 5 ($da,$08,$41,$05,$a9,$00,$02,$0d— pulse with the drum, octave-arpeggio and pulse-lo flags,$0d) rather than a chord table.
Steve Judd's Iseq cover (2002)#
sidin #1 prints Judd's transcription of the title tune in his own editor iseq, which shows the Hubbard sounds rebuilt register by register (source: s-sidin01-iseq): the bass hubbass is pulse $41 with attack/decay $09, sustain/release $D0 and a three-step pulse-width list $0102 $01FF $0016; the crash is two calls of noise at fixed high frequencies (freq=0f82 1f04, control $81 then $80); crish-v1 is triangle + ring modulation switched through noise (creg=15 81 81 15); hublead sweeps its pulse width (0900 09a8 0a50 0af8 0ba0 0c48) under a frq+ vibrato list. The bass patterns interleave inst=0(hubbass) and inst=1(crash) on one voice — the voice-sharing the disassembly above shows (channel-interleaving) — and the backing uses a two-note [+0 +12] arpeggio (octave-bass). Agemixer's own cover, made in DMC 4.0B, is HVSC's Agemixer/Commando_Remix.sid.
Related#
rob-hubbard · sanxion · monty-on-the-run · martin-galway
Sources#
s-newman-driving-the-sid-chip · s-sidmusic-hubbard-interviews · s-remix64-galway-interview · s-sidmusic-galway-interviews · s-commodore-64-eu-sid-chip · s-realdmx-hubbard-player · s-sidin01-iseq