siddump
A command-line utility that runs a .sid file (sid-format) in a small 6502 emulation and prints, frame by frame, what the tune writes to the sid registers — the tool C64 musicians use to see how an instrument is built instead of guessing by ear. It "processes the .sid file by emulating the C64 CPU, and dumps SID register changes to STDOUT" (source: s-ucapps-wavetable-sounds-tutorial-1); it "shows the values the tune is writing to the SID registers per each frame" (Lasse Öörni, source: s-lemon64-learning-sid-sound-design).
Facts#
- Distributed from Covert BitOps (covertbitops.c64.org — lasse-oorni's site) as SIDDump V1.0 (source: s-ucapps-wavetable-sounds-tutorial-1); a later release is CSDb release 192079, which Öörni himself points learners to (source: s-lemon64-learning-sid-sound-design). The chipmusic.org thread speaks of "the SidDump creator" without naming him; see To verify.
- Version 1.05 (2013-07-06) added "partial support for multispeed tunes". Earlier versions stopped on multispeed players with "CPU executed abnormally high amount of instructions" (Gallefoss's Electronic Transfer, 5×), because full support "may require emulating the full CPU + CIA timer + IRQ environment, which SidDump doesn't really do"; 1.05 instead breaks out when the init routine loops and calls the interrupt vector once per frame — "not entirely foolproof (depends on how complicated code the player interrupt runs)" (source: s-chipmusic-sid-music-hints-n-tips).
- Used by: Lasse Öörni (recommended to learners in 2020, as the modern equivalent of listening to tunes slowed down), 4mat (who tried to build a siddump-log → goattracker instrument converter), Awol (who ripped a kick from a Mortimer Twang tune), Thorsten Klose (the Auf Wiedersehen Monty bass drum, with a perl converter to MIDIbox SID patches) (sources: s-lemon64-learning-sid-sound-design, s-chipmusic-sid-music-hints-n-tips, s-ucapps-wavetable-sounds-tutorial-1).
- A dump is also a table format. iLKke's defMON guide describes that editor's sidTAB — the single table holding every instrument and effect — as "quite similar to siddump output", which is the practical reason a dumped instrument transfers into it almost row for row (defmon; source: s-defmon-wiki-defmoning-101). The same community's hard-restart survey was compiled "from CSDb and siddump analysis": read what known tunes write to the registers in the frames before a note, then tabulate the methods (source: s-defmon-wiki-defmoning-102).
Cheat sheet#
| what | how |
|---|---|
| dump a tune to a text file | siddump tune.sid -tX > out.txt — X = the tune's length in seconds; or simply siddump.exe tune.sid > dump |
| reading the output | one row per frame: 50 rows = 1 s on PAL, 60 on NTSC; frame number ≈ 50 × seconds |
| columns, per channel | Freq (the 16-bit frequency value) · Note/Abs (note name and an absolute note byte; a note in parentheses is the nearest note) · WF (control byte: 11 triangle + gate, 81 noise + gate, 41 pulse + gate, 40 pulse with the gate off …) · ADSR (08F8 = attack 0, decay 8, sustain F, release 8) · Pul (pulse width); a filter column follows the three channels |
| unchanged values | printed as .... / .. |
| viewer | anything monospaced — Notepad, not WordPad (the columns break) |
| multispeed tunes | needs 1.05 or later; may still fail on complex interrupt code |
The Abs byte is $80 plus the semitone index counted from C-0 (AD = A-3, C7 = B-5, A8 = E-3, A5 = C#3, 96 = A#1 in Klose's dump) — the same numbering as goattracker's absolute wavetable notes (81–DF = C#0–B-7), so a dumped drum can be typed straight into a GoatTracker wavetable (derived by comparing the two documents; worked example on wavetable-programming).
Related#
sid · wavetable-programming · instrument-design · tracking-workflow · multispeed · goattracker · sid-wizard · lasse-oorni · hvsc · sid-player-routine · defmon · hard-restart
To verify#
- (unverified) siddump's author is Lasse Öörni (Cadaver): the tool is hosted on his Covert BitOps site and he recommends it, but none of the sources on this page names the author.
Sources#
s-lemon64-learning-sid-sound-design · s-chipmusic-sid-music-hints-n-tips · s-ucapps-wavetable-sounds-tutorial-1 · s-defmon-wiki-defmoning-101 · s-defmon-wiki-defmoning-102