David Whittaker's player (the Panther driver) cheat sheet

From David Whittaker's player (the Panther driver) · print · built 2026-08-31

Reference

Cheat sheet#

All from the Panther disassembly (source: s-realdmx-fredgray-kimmel-whittaker).

Track = list of pattern addresses, !wo 0 loops it; the three tracks have different lengths (53 / 65 / 53 entries). Pattern = byte stream; FLAGS is cleared at every note, so arpeggio, slide and drum must be re-issued per note.

bytemeaning
$00–$7fnote (index into a 95-entry table, $0116 = C-0); ends the step
$80–$93command (below)
$b8–$bftempo = value − $b7 (1–8 frames per tick)
$c0–$ccarpeggio list 0–12
$d0 aa ssADSR follows (two bytes)
$e0–$ffduration = value − $df (1–32 ticks)
commandeffect
$80hold the current note for another duration (no retrigger)
$81 / $82vibrato off / on
$83 vvolume / mode byte
$84 lo,hi,delay / $85slide down / up: after delay frames the step accumulates every frame (a quadratic sweep)
$86 / $87bend down / up one semitone per tick
$88end of pattern
$89 speed,depthvibrato parameters
$8a / $8b / $8c / $8dwaveform noise / pulse / sawtooth / triangle
$8edrum: on odd frames control $80 (noise) with the frequency high byte + $31
$8f npulse width high byte
$90 min,max,speedpulse bounce between two high bytes
$91stop music
$92 / $93triangle + ring modulation / pulse + sync

Arpeggio lists (one step per frame; any byte ≥ $54 restarts): $00,$03,$07,$88 · $00,$04,$07,$88 · $00,$03,$07,$0c,$88 · $00,$04,$07,$0c,$88 · $07,$0c,$0f,$88 · $07,$0c,$10,$88 · $03,$07,$0c,$88 · $04,$07,$0c,$88 · $00,$0c,$88 · $00,$04,$88 · $00,$03,$88 · $00,$05,$88 · $00,$07,$88 (chord-arpeggio).

"Instruments" as they appear in the data: PC_PULSE,$90,$02,$08,$28,$d0,$0a,$40 (pulse bouncing between $02xx and $08xx at speed $28, AD $0a, SR $40); $92,$90,$02,$08,$14,$89,$7f,$fe,$82,$d0,$df,$00,$ff,$84,$80,$00,$01 (ring-triangle, pulse bounce, deep vibrato, slide down — a siren); $8d,$89,$28,$50,$82,$d0,$0d,$70 / $f7,$c0,$3c,$e7,$c1,$3a (triangle, vibrato, then 24 ticks of a minor arpeggio on $3c and 8 of a major one on $3a); $be,$d0,$00,$00,$ff,$80,$88 (tempo 7, ADSR $00/$00, 32 ticks, hold — a silent pattern).