Wiki health
What lint looks at, computed at build time (2026-08-31). The maintainer fixes these by ingesting sources, not by editing pages by hand.
Entity kinds
Pages with unverified claims 104
Text marked (unverified) is model knowledge waiting for a source. Highest counts first.
- SIDin #7 — Inside Modules: Ivan Del Duca's music engine (Stefano Tognon, 2005) 7
- SIDin #1–15 — Editorials and News digest (Stefano Tognon, 2002–2015) 6
- SIDin #7 — xxlarge: Ninja's 256-byte cover of 'X large' analysed (Stefano Tognon, 2005) 4
- Defense Mechanism — LSDj Noise Channel Tutorial (v9.2.L) (video, 2022) 3
- SIDin #1 — Ripping a game: Dig Dug (Stefano Tognon, 2002) 3
- SIDin #2 — David Whittaker's Lazy Jones music routine (Stefano Tognon, 2002) 3
- SIDin #4 — Martin Galway's Arkanoid music routine, the explanation (Stefano Tognon, 2003) 3
- SIDin #6 — Asterion Sid Tracker v1.0 reviewed (Stefano Tognon, 2004) 3
- SIDin #6 — Inside DigiOrganizer, Polonius's 4-bit sample editor (Stefano Tognon, 2004) 3
- SIDin #9 — Tiny Sid Compo, the 256-byte entries (Stefano Tognon, 2006) 3
- Harmonic series and overtones 2
- Player identification (pattern searching) 2
- Dig Dug (C64, Datasoft 1984) — the music routine 2
- Fred (Ink) 2
- Future Composer (C64) 2
- LSDj (Little Sound Dj) 2
- SIDId 2
- chipmusic.org — speech synthesis thread (2012) 2
- Defense Mechanism — Making every LSDJ kick I can think of (video, 2024) 2
- Pain Perdu — Hidden LSDJ Tricks EP5: Shortcuts and Workflow (video, 2016) 2
- realdmx: Johannes Bjerregaard's own player — the James Bond 3 demo (a Maniacs of Noise commission) and Myth 2
- realdmx: three smaller drivers — Fred Gray's Mutants (song as code), Jeroen Kimmel's 'Red's music player' (1989) and David Whittaker's Panther driver 2
- realdmx: Reyn Ouwehand's Armada (MUSICFILE, 'Special version for Reyn Ouwehand', 1989) and Dutch Breeze (the 1990 MoN player) 2
- SIDin #1 — Iseq music composition program: the comp.sys.cbm threads and Steve Judd's Commando cover (2002) 2
- SIDin #3 — Ripping BASIC based tune: Sheba and Testcard (Stefano Tognon, 2003) 2
- SIDin #4 — Chris Abbott interview (Stefano Tognon, 2003) 2
- SIDin #4 — Ripping a BASIC program into RSID: Telengard (Stefano Tognon, 2003) 2
- SIDin #5 — Music Engines Pattern Searching, part 2: the Lostack database (Stefano Tognon, 2004) 2
- SIDin #6 — Jan Diabelez Arnt Harries (Rambones) interview (Stefano Tognon, 2004) 2
- SIDin #7 — Dustbin (Stefano Palmonari) interview (Stefano Tognon, 2005) 2
- SIDin #8 — Tiny Sid Compo, the 512-byte entries (Stefano Tognon, 2005) 2
- SIDin #9 — Catweasel Mk4 follow-up: driver, hardware buffer, two 6581s and the filter (Stefano Tognon, 2006) 2
- SIDin #12 — Mihály Horváth (Hermit) interview (Stefano Tognon, 2008) 2
- Tyler Barnes — Advanced LSDJ Tutorial: The Ghost Channel (video, 2013) 2
- Wikipedia (en): Chris Huelsbeck 2
- Fake echo / delay 2
- Semitones — the only unit you need 1
- The PC tracker scene 1995–98, as it saw itself 1
- Tracker 1
- Abrasive 1
- Andreas Varga 1
- Charles Deenen 1
- Chris Hülsbeck 1
- Commodore 64 1
- Commodore Zone 1
- Ender (Andrew Burke) 1
- Game Boy 1
- Hermit (Mihaly Horvath) 1
- Hornet 1
- HVSC — High Voltage SID Collection 1
- Impulse Tracker 1
- IT module format (.it) 1
- Kosmic (KFMF) 1
- Leviathan 1
- Lord Pegasus (Zack Smith) 1
- Maelcum 1
- Martin Galway 1
- Mikmak (Jean-Paul Mikkers) 1
- MUSICFILE — the Maniacs of Noise driver 1
- Nanoloop 1
- Necros (Andy Sega) 1
- nitro2k01 1
- Renaissance 1
- siddump 1
- VICE 1
- chipmusic.org — LSDJ live performance thread (2010) 1
- chipmusic.org — lsdj wav channel release? (2013) 1
- Defense Mechanism — LSDj Learning Lab: Overtones / Ghost Channel with Allpass Filter (video, 2020) 1
- Defense Mechanism — LSDj Learning Lab shorts: Limit and Vshift, Long Filter Sweeps, Self-Resonating Bass (videos, 2020) 1
- Defense Mechanism — LSDJ Wave Channel Tutorial..? (More of a ramble) (video, 2020) 1
- little-scale — How to: Prepare Samples and Create LSDJ Kits (2008) 1
- roboctopus — PWM, I Choose You! (2014) 1
- roboctopus — The Kinda Sorta Supersaw-lite; or, a Beefy Saw Bass (2013) 1
- Pain Perdu — Hidden LSDJ Tricks EP1: Instrument Retriggering (video, 2016) 1
- Pain Perdu — Hidden LSDJ Tricks EP2: In-depth WAV channel walkthrough (video, 2016) 1
- Pain Perdu — Hidden LSDJ Tricks EP3: \"Isometric\" save-file walkthrough (video, 2016) 1
- Pain Perdu — Hidden LSDJ Tricks EP4: Sidechaining (video, 2016) 1
- Pan Docs — Audio Registers 1
- realdmx: two scene players with their own sources — Francois Prijt's Audial Arts 'zong player' v1/v2 (1991) and Adam Bulka's FAME 'Sound Routine f 4.1.0' (1988) 1
- realdmx: Charles Deenen's two test tunes — an undated MUSICFILE build and the 'Scoop designs' Maniacs of Noise player 1
- GitHub realdmx/c64_6581_sid_players — Cybernoid II in Deenen's MUSICFILE, the MoN SFX player, the Driller listing 1
- SIDin #1 — Luca Carrafiello (Luca/FIRE) interview (Stefano Tognon, 2002) 1
- SIDin #3 — Stephan Schmid (Steppe) interview (Stefano Tognon, 2003) 1
- SIDin #5 — Chris Huelsbeck interview (Stefano Tognon, 2004) 1
- SIDin #5 — High Voltage Music Engines Collection (Stefano Tognon, 2004) 1
- SIDin #12 — Tiny Sid 2, part 3: Plaster (512 b) and Back To Basics (256 b) (Stefano Tognon, 2008) 1
- SIDin #13 — Inside JITT64: the player routine (Stefano Tognon, 2010) 1
- SIDin #13 — JITT64 Tracker: Tognon's Java Ice Team Tracker from the user's side (2010) 1
- SIDin #13 — TSM & Freedom interview (Stefano Tognon, 2010) 1
- SIDin #14 — Inside Matt Gray's Dominator player (Tognon's commented PLAYER V4.2 and the musician's guide to composing in it, 2015) 1
- SIDin #14 — Inside Hunter's Moon (Martin Walker's sound-effects engine, reverse-engineered, 2015) 1
- SIDin #15 — Inside Matt Gray's Serpent Demo player (the 4-bit sample voice, reverse-engineered, 2015) 1
- Soundmonitor lineage and wiki pages: tracker-history/soundmonitor.txt, C64-Wiki.de, de.wikipedia 1
- TW #4 — Interview with Stalker (Zer0) 1
- TW #90 — Interview with Cosmic/RR (Pizza Head) 1
- Multispeed (framespeed) 1
- Pitch slides and tone portamento 1
- Pulse width modulation (PWM) 1
- Randomization and probability (MayBe, RandomiZe) 1
- Recording samples (sources, cabling, sound cards, rates) 1
- Retrigger and resync 1
- Shuffle, swing and FunkTempo 1
- Volume slides, fades and effect memory 1
- Wavetable programming (waveform / arp tables) 1
Wanted pages 6
Most-linked first — the best candidates for the next ingest.
Stubs 30
Pages under 180 words of Markdown.
- Storlek 63 words
- Infu 66 words
- Greg Heo 68 words
- 4ntler 73 words
- TW #74 — Motherboard Sampling (Spieg) 74 words
- TW #86 — Wrecking Samples with Impulse Tracker (Graham the Happy Scum) 87 words
- Sami Tammilehto (Psi) 92 words
- TW #86 — Hexadecimal 101 (chinaski) 96 words
- Peter "Crayon" Hanning 97 words
- TW #76 — Realism in MODs (Behemoth) 105 words
- Lars "ZAP" Hamre 107 words
- Sabrepulse 116 words
- TW #42 — Impulse Tracker v1.01 (Pulse) 116 words
- TW #106 — A Little Panning (Airon) 139 words
- LoK 141 words
- TW #51 — How to listen to tracked music (mrdata) 145 words
- Subhuman (Seth Miller) 148 words
- Olivier Lapicque 149 words
- fisherman (Matt Overington) 157 words
- Compunet 163 words
- TW #3 — Music: Beginning the Tracking Experience (Psibelius) 166 words
- Andreas Varga 169 words
- Mosaic (Renaissance) 169 words
- NOISE (New Objectives In Sound Exploration) 173 words
- Island of Reil (Jesse Rothenberg) 175 words
- Triton (Fredrik Huss and Magnus Högdahl) 176 words
- Hypnogram 177 words
- Mesonyx (Jon Dal Kristbjornsson) 177 words
- Mikmak (Jean-Paul Mikkers) 177 words
- TW #15 — Interview with SV (GraveDigger) 178 words
Orphans 0
No inbound links except from the index or the log.
none.
Missing from the index 0
none.
Recently updated
- siddump 2026-08-31
- roboctopus — The Kinda Sorta Supersaw-lite; or, a Beefy Saw Bass (2013) 2026-08-31
- roboctopus — PWM, I Choose You! (2014) 2026-08-31
- roboctopus — LSDJ & You: Echo Chamber (2014) 2026-08-31
- roboctopus — LSDJ & You: Collapse of the Waveform (2014) 2026-08-31
- roboctopus 2026-08-31
- realdmx: three smaller drivers — Fred Gray's Mutants (song as code), Jeroen Kimmel's 'Red's music player' (1989) and David Whittaker's Panther driver 2026-08-31
- realdmx: Martin Galway's Arkanoid — Tognon's SIDin #4 reverse-engineering, with the 'sample' synthesis through $D418 2026-08-31
- realdmx: Jonathan Dunn's Daley Thompson '88 and Ocean Loader 5 in Paul Hughes's Ocean music driver 2026-08-31
- realdmx: Johannes Bjerregaard's own player — the James Bond 3 demo (a Maniacs of Noise commission) and Myth 2026-08-31
- realdmx: Charles Deenen's two test tunes — an undated MUSICFILE build and the 'Scoop designs' Maniacs of Noise player 2026-08-31
- reSID 2026-08-31
- nitro2k01 2026-08-31
- little-scale — the chip sample packs (2008–2012) 2026-08-31
- little-scale — the LSDJ kit releases, and the stock kits extracted (2008–2014) 2026-08-31
Latest log entries
2026-08-31 — Ripples summary-first, clusters A and B (inbox/plan-ripples-summary-first-2026-08-31.md)#
Operation: consolidation, with the list inverted — read one summary, land it on every page that names it. No new sources; nothing in raw/ touched. 170 → 134 unlanded claims across 100 → 83 pages.
Cluster A — Hülsbeck and Rainbow Arts (170 → 155, six pages)#
Six interviews and press visits (1987–2011) read once and spread over the pages each serves a different slice of: 64er 4→0, shades 4→0, rainbow-arts 4→0, arkanoid 1→0, plus two neighbours the plan pointed at, great-giana-sisters 1→0 and chris-huelsbeck 1→0.
- 64er had the listing and the prize but not the competition. It now has the contest from four sides — Hülsbeck's own "Das war im Februar 1986. Ich habe von dem Wettbewerb gelesen und dachte mir, ich mache da mal mit" (Happy Computer 3/87, which also notes 64'er as "eine Schwesterzeitschrift der Happy-Computer"), the 16-year-old's aim ("determined to get at least noticed … I never expected to win"), and, in 1996, "I had no contact with the 'scene'" beside "Winning the first music competition in a german computer mag" as the proudest moment of his career. A dating conflict is now stated rather than smoothed: Wikipedia cites the announcement to 64'er 6/1986 p. 173, Hülsbeck says February 1986; both stand, and shades points at the page where they stand. The Soundmonitor listing came out of the prize ("Danach habe ich mit der Redaktion vereinbart, daß ich noch ein Programm schreibe") and was reprinted in "64'er Extra Nr. 13".
- shades gained what made him enter (Synthsample "brachten mich auf die Idee") and the order of events that the wiki had backwards-shaped: the MusicMaster play routine existed before the tune, and only the win made him build an editor around it.
- rainbow-arts now carries two accounts of the hiring side by side (VGMPF/Remix64: the company phones him; his own March-1987 telling: "In der Zwischenzeit habe ich mich mit Rainbow Arts in Verbindung gesetzt"; 2011: "first contracted, then hired"), the Bad Cat delay that cost him the sample-priority credit, and its 1990s DOS side — Lollypop, commissioned from Brain Bug in Aarhus with Vibrants doing the audio (JCH on AdLib SFX, Drax and Metal on music), PC 1994 / Amiga 1995.
- arkanoid gets one paragraph it was missing: the game is routinely named as the first with sampled drums, and the claim is disputed — Hülsbeck's 1996 "So Martin Galway got the fame with 'Arkanoid'" against Galway's own refusal to claim the invention. Both sides already live on martin-galway; the game page now says so instead of implying a settled first.
Cluster B — JCH's memoir and the editor lineage (155 → 134, eleven pages)#
charles-deenen 4→0, maniacs-of-noise 3→0, tracker-scene-history 3→0, sid-factory-ii 2→0, hewson 2→0, tim-follin 1→0, turbo-assembler 1→0, cheesecutter 1→0, cybernoid-ii 1→0, musicfile 1→0, jeroen-tel 2→0.
- The memoir's densest unlanded item was the prestige economy, and it belonged on tracker-scene-history: in 1987 "almost everyone was using a public domain editor called SoundMonitor", but "there was also an enormous prestige in using one's own player … I was among just two or three people in Denmark that could do this"; shared-tool sounds went "trite". Status, not convenience, produced the 1987–89 wave of private drivers. With it: the group-hopping chronology (New Men → Galaxy → 2000 A.D. → INXS → Jewels → Wizax → Dominators → Channel 42, late 1987 to 1989) and where the C64 line parts from the Amiga line — JCH wanting voices side by side with independent flexible sequences, against SoundTracker's voices "fused together in the same pattern".
- charles-deenen is the page the memoir changes most: he was the gatekeeper of the English market. He turned JCH down — "the English market not wanting the 'hit, snare' kind of music and that I should listen to what tim-follin had done" — took him on after the Push-It intro tune, and the one job that followed was Chase HQ II, Link composing while JCH multiplexed two SFX voices against two music voices. That single sentence also gave tim-follin the one thing his page lacked: evidence of what UK publishers were buying, not just what composers admired. Tel's 1994 and 1996 statements were added to the driver-authorship resolution, where they line up with every other first-hand account.
- turbo-assembler finally says why a music page cares about an assembler: JCH wrote NewPlayer and his editor in it and typed his first tunes as hex into Laxity's player listing — and it ran out. By December 1990 its memory footprint was the bottleneck, so editor v3 moved to Henning Andersen's EASS cross-assembler, edited on an Amiga 500 and dumped into C64 RAM.
- cheesecutter gets the provenance of two things it displays: the stacked view (JCH's paper sketches predate his seeing SoundTracker — "the notes in horizontal bars" first, downward columns after) and the
NP21.G4in its own player credit (JCH'sNN.GNscheme, dated on paper at 10.G0, 15.G7, 17.G1 = hard restart). sid-factory-ii gets the same chain from the other end — Laxity's new player version for the JCH editor, and SIDId's five separate signatures (JCH_NewPlayerV1–V20,Vibrants/Laxity,Laxity_NewPlayer_V21,SidFactory/Laxity2006,SidFactory_II/Laxity2020) that make the line legible inside hvsc. - musicfile gained its design constraint in Deenen's own numbers — "six to eight kilobyte of memory for music and sound effects", $200–1000, two to six days — which is why its tables are terse. cybernoid-ii and jeroen-tel gained the credit split his 2010 list makes explicit: on the famous Tel titles Deenen puts himself down for sound effects, not music.
- Two "merely relevant" calls, written as pointers rather than paragraphs: chris-abbott's 2003 interview says nothing further about maniacs-of-noise (the page now says exactly that and points at the remix economy on his own page), and goto80's Wikipedia entry is the after-story of tracker-scene-history, not part of it — one sentence, at the end of the 1997–98 debates.
Cluster C — the defMON / CheeseCutter tool family (134 → 95, sixteen pages)#
The most mechanical of the four: tool and person pages that the tools' own documentation had never reached. frantic 4→0, chipmusic-org 4→0, goattracker 4→0, live-tracking 4→0, vice 4→0, goto80 2→0, siddump 2→0, ninjatracker 2→0, lasse-oorni 2→0, defmon 2→0, midi-in-trackers 2→0, game-boy 3→0, dag-lem 1→0, hardsid 1→0, resid 1→0, tiny-sid-compo 1→0.
- One README served four pages. CheeseCutter's credits — "reSID engine by Dag Lem & A. Lankila. Parts of reSID interface (sid.cpp) by Cadaver / CovertBitops" — landed on resid (which gained
ccutter's flags: reSID-fp is the default,-nofpturns it off,-fpr xpicks a filter preset "0..16 for 6581 and 0..1 for 8580"), on dag-lem and on lasse-oorni, whose code is inside an editor he did not write. hardsid got the 2026 answer about USBSID-Pico support — "not a quick afternoon hack" — which is the honest state of real-SID output in editors. - vice was the page with four sources and no account of what people do with it. It now has the 2002 Dig Dug rip's monitor workflow (breakpoints to log executed addresses,
d, orsavea memory range forjc64dis), the assemble-load-listen loop of Gray's public player (64tass→a.out→ x64), composing in emulators since 2013 (scarzix, with his caveat that 6581 revisions differ so much "everyone will say their own C64 had the right sound"), and the humblest use of all — a tool author's release note reading "untested beyond starting in VICE in NTSC mode". - ninjatracker finally says why it exists, in Cadaver's own 2002 words: GoatTracker "was fast & easy to compose on, but finally I had to realize that music made with it takes too much memory (because of the patterns…). So I started the quest for the extremely optimized playroutine/musicdata combination". goattracker gets the same comparison from the other side — CheeseCutter's author choosing "features/comfort over speed", so GoatTracker's player is the lighter one on rastertime — plus what it does not have (the stacked track view Scarzix went looking for).
- frantic's design philosophy is now documented from his program as well as from the forum: "Power through simplicity and flexibility rather than a large number of 'special functions'", hard-restart and vibrato left to the user, the player's coder interface (
$1000/jsr $1003once a frame /$1006for the extra multispeed calls) and defBPM — a formula and a printed table instead of a sync feature. - live-tracking gained both sides of the clock. On the C64: mute keys, follow-play, and the three levels of defMON sync (Scannerboy's user-port adapter, defSYNC over a serial cable, or manual BPM matching with ±1-tick nudges live). On the Game Boy: little-scale's operating procedure in order, including the trap — stopping the MIDI clock stops LSDj, and CONTINUE is not a resume; you must reselect the position by hand. game-boy took the wiring consequences (a 22k–100k pull-down on the LSDj clock line, six machines per program per box or 15 in LSDj-only mode, ~35–200 BPM on a DMG, and a
$14017 that clocks Nanoloop but never LSDj). - chipmusic-org was an index of threads and is now also an account of the forum as a distribution channel: the CheeseCutter Facebook-group detour for a Mac build, the defMON thread as "the de facto support channel" with named testers, Scannerboy's sync adapter with no shop but a thread, and little-scale's loud TR-808 rebuild answering a kit-volume wish from a year earlier. Two missing thread index lines were added while there.
- siddump gained a use it did not know it had: defMON's sidTAB is "quite similar to siddump output", and the community's hard-restart survey was compiled "from CSDb and siddump analysis" — the dump as a table format, not just a diagnostic.
Cluster D — Matt Gray, SIDin #14–15 (95 → 80, nine pages)#
matt-gray 3→0, system-3 3→0, driller 2→0, matt-gray-player 2→0, tracking-workflow 2→0, dominator 1→0, codemasters 1→0, last-ninja-2 1→0 (and vice, already cleared in C).
- The plan predicted this material was "already read", and it was — what was left was player analysis that belongs on the person and game pages. driller now measures itself against the later engine: one-byte durations instead of
$FD kk, arpeggio moved from the instrument byte to a pattern command, per-instrument pulse limits ("in Driller it was fixed into the source"), the hat and the end-of-tune fade-out both absent. dominator gets Tognon's ordering of the three engines he has read — Driller → Serpent Demo → Dominator, "as features maturated from one to another". - tracking-workflow gained the one genuinely transferable thing in SIDin #14: the six-table order of work for any assembler-era driver (speed → instruments → drum tables → arpeggio tables → patterns → tracks), and the habit that makes it bearable — naming the bytes (
INSTR = $FA,ARPEG = $FD,DUR5 = $75) so a pattern reads as music. Beside it, from the LSDj side, Pain Perdu's "TEMPO is not BPM": grooves govern structure, sixteen steps are a bar only at groove6, and numbering grooves by tick count makes the table number tell you the feel. - system-3 got the Bangkok Knights audition told three times, and the three tellings do not overlap: the vacancy was rob-hubbard's (leaving for EA), the turnaround was "a few days", the offer came "within the hour", and the call came from Mark Cale.
- Two honest small calls: codemasters gets one pointer sentence for a 2015 interview that only lists it among remembered companies, and last-ninja-2 gets Gray's refusal of a formula — "If there was a formula I'd have bottled it by now."
State after all four clusters#
170 → 80 unlanded claims across 100 → 59 pages. tools/lint.py clean: no broken links, no orphans, no frontmatter issues, index complete, citation drift 0. Unverified markers unchanged at 158 across 104 pages (one wording fix on siddump, whose "none of the three sources" no longer matched a five-source page). tools/build-site.py re-run.
What is left is the genuine one-off tail the plan predicted: nothing above 3 claims, and the top of it is now channel-interleaving, ghost-channel, impulse-tracker and it-format (3 each), then a long run of 2s and 1s — the OpenMPT manual pages, the Pain Perdu LSDj series and the TraxWeekly interviews.
2026-08-31 — Unlanded ripples, pass 6: the whole long tail down to 4, and a new lint check#
Operation: consolidation. No new sources; nothing in raw/ touched.
Fifteen pages, clearing every page the previous plan named plus the first four of the next tier: filter-programming 7→0, hvsc 7→0, hard-restart 6→0, detune 6→0, rob-hubbard 6→0, game-boy-apu 6→0, fasttracker-2 6→0, melody-writing 6→0, arrangement 6→0, soundmonitor 5→0, martin-galway 5→0, volume-slides 4→0, ring-modulation-and-sync 4→0, recording-samples 4→0, chip-samples 4→0. Total 252 → 170 unlanded claims across 115 → 100 pages.
Sizes: filter-programming 34.0→39.9 KB · hvsc 12.0→15.9 · hard-restart 29.3→34.9 · detune 8.8→12.8 · rob-hubbard 16.9→20.3 · game-boy-apu 16.9→21.9 · fasttracker-2 15.5→18.2 · melody-writing 7.6→12.1 · arrangement 13.4→19.0 · soundmonitor 12.8→15.7 · martin-galway 17.1→19.4 · volume-slides 9.1→11.5 · ring-modulation-and-sync 14.6→16.6 · recording-samples 9.1→12.3 · chip-samples 31.1→34.2.
What each page was actually missing#
- filter-programming was strong on registers and tools and had no entry earlier than 1986. It now opens the driver history with Dig Dug (1984), where the filter is not a table but a set of step commands in the note stream (
$28cutoff,$30resonance,$50/$60route in and out,$58mode) with four zero-page shadows written as$D417 = $FC + $FAand$D418 = $FB + $FD— the shadow-register pattern every later driver repeats. Then the size-coded end: a whole filter as a 17-byte cutoff table (Tognon's 15BB), ENV3 into the cutoff a year before Resolution (aleksi-eeben,lda $D41C / lsr / adc #$20), and two sweeps for free — Agemixer's song counter and Frantic'sjsr $b5ffinto BASIC ROM, which also fixes his tune's 399-second length. The find worth repeating is in Tips: the filter is not only the chip, it is the board — Tognon's checklist for hosting a SID outside a C64 requires filter capacitors "like in C64, otherwise the filter (of the same chip) will have different behavior", and on his catweasel a low cutoff did not colour the sound, it swallowed whole voices. With it, his diagnosis method: dump, read the routing, patch every$D417write, play again. - hvsc had the collection's history and none of its machinery. Added: sidid as the tool HVSC and DeepSID use, with the observation that its
.nfocites players by collection path (/MUSICIANS/H/Huelsbeck_Chris/Starball.sid) — the archive is stable enough to be a code reference; hvmec, Tognon's companion collection of the engines rather than the tunes, and the source of the wiki's editor-versus-tracker distinction; what a hard rip costs (The Trivia Arcade: three entry points, four raster calls a frame, hence RSID); the prehistory from a composer's side (JCH's floppy-swapped 1990 collection, "later dwarfed by HVSC"); and the archive in the 2020s, where packed defmon tunes arrive through DeepSID and martin_demsky's were accepted in the 2020-12 update. - hard-restart gained a section it had been missing entirely: what a decade of release notes settled. GoatTracker 1.4b makes the restart programmable (1 or 2 frames), 1.4c/d run the wavetable through the restart frame, 1.5 switches to the test bit "for much sharper sounds" and makes the HR ADSR configurable ("previously only AD"), 2.05 adds legato, 2.59 gives the gate-off timer
$80/$40disable bits, and 2.47 adds/Z— a deliberate random delay on reSID writes "in order to make potential ADSR-bugging on C64 audible", the closest thing in the wiki to a test for whether a restart will hold up on hardware. NinjaTracker converges on the same points from 1.1 to 2.03. Also: Galway's Arkanoid instrument ends in two timing bytes ($1Brelease delay,$1Crestart delay,$FF= none), Matt Gray's V4.2 byte 6 as "a 'basic' restart of note", and MoN's gate-off point as a per-instrument nibble with$fb"connect" as its legato opposite. - detune had no primary-source authority and no C64 tracker sections. The sid datasheet already recommends it under Unison — "a slight detuning of each oscillator or tuning to musical intervals" for "a rich, animated sound". Added CheeseCutter (command
3, 16-bit) and defMON (theAFbyte:$00–$19finetune where$19= a semitone, so one step ≈ 4 cents, and bend speeds above that — detune and portamento share a column). Then two ends nobody had written down: detune as a size-coding device (a fixed$1Eadded to voice 3's frequency low byte so two voices can share one track) and when the whole tune is detuned — Matt Gray's player runs at A4 ≈ 424 Hz on PAL, "Some of Galway's tracks were the same, Green Beret for instance was at 424hz", with his advice to retune such material as samples with fine-tune rather than a pitch-shifter. - rob-hubbard: what Matt Gray actually borrowed — "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". Plus the hard-restart provenance chain from JCH's memoir (Hubbard used it, Laxity figured it out, JO of Amok taught JCH), his own summary of the job as Tel quotes it — "It was like making music with boxing gloves on" — and Commando as the scene's benchmark cover tune in the 2002 iseq argument.
- game-boy-apu: the crystal as the tuning reference ("the crystal oscillator is responsible for controlling all timing aspects … the underclocked Game Boy plays back just under an octave lower"), and why the fix is to retune the ROM table for a round 4.000000 MHz so the machine lands an exact octave down. The wave channel's budget from both sides: 16 levels against 65,536 is the crunch, and 16^32 ≈ 3.4 × 10^38 waveforms means searching the space is not a method (little-scale's patch would finish in "1,079,028,307,100,000,000,000,000,000 centuries"). Plus why ghost-channel intervals are harmonic — a rider must complete a whole number of cycles in 32 samples, and 16/3 = 5⅓ is why even the useful one aliases — and three new rows in the quirks table (hardware sweep and envelope "take like no CPU whatsoever"; a stutter kick cannot outlive its envelope or LENGTH; the kit rate as a property of LSDj, not of the chip).
- fasttracker-2: the FT2-vs-ST3 argument as the participants themselves ended it — vadimvs's correct prediction that the feature set, not the interface, would decide it, and daedalus's "let that stupid old argument DIE!" — and a C64 editor author's structural verdict: JCH found FT2 "much of the same principle as my own music editors of the past, except the channels did not use separate sequences", which is the orderlist difference in one clause.
- melody-writing gained the scene's own argument about whether any of it matters (TraxWeekly #39–40: basehead's actual claim, maelcum on chords as one tool, trixter refusing the framing) and a "what the tools let a melody do" section: IT's
Alt-Itemplates and sustain loops, LSDj's shared phrases and per-chain transpose, GoatTracker's+++that cannot re-open a gate the wavetable cleared, SID-Wizard's absolute pitches in the arp column, and which waveforms make a lead that survives both chip revisions. - arrangement: the song screen as the arrangement — empty rows between sections (visible blocks, and in live mode islands that loop back on themselves), marks via three presses of
B, per-channel queueing, and a clipboard that survives a song load if both songs share a template. Then "two intensities of the same part" (one verse kick, one chorus kick, no pattern change), why ducking channels the kick never touches keeps a breakdown's pulse, and echo as a final pass over free space. - soundmonitor had its model and history but not why people left it: it was everybody's sound (JCH: the prestige was in your own player; its tunes went "trite"), its data was uncompressed and its player "way too slow … for rastertiming" (scarzix), and Matt Gray's summary — "to get your own sound you need to write your own routines I feel".
- martin-galway: Tel's characterisation as technique ("playing around with the 'octaves' all the time"), Gray's consistent second place and the 424 Hz tuning he shares with him, and what Ocean did with his idea after he left — jonathan-dunn's driver as the same macro-language with lead-sheet comments.
- volume-slides: LIMIT versus VOLUME stated as a rule (VOLUME scales before CUTOFF/Q/PHASE/DIST and destroys the shape you liked; LIMIT constrains after and is therefore the wave channel's fader), OpenMPT's Fast Volume Slides as a per-song flag, and
E02→E03as a 16th-note pump. - ring-modulation-and-sync: a CheeseCutter section (the gate/sync/ring/test nybble, and "Waveforms
$3,$6and$7are audible only on new SID"), the defMON manual's column split, and Galway's Rambo loader as heard-in-code — ring modulation as an instrument ($41 | RINGBIT) and as a mid-phrase poke into the playing instrument's control byte. - recording-samples gained the method for recording a sound chip you are playing yourself: build the interface and take the signal before the machine's analogue stage ("you can always add a digital filter via software if you so desire"), generate the material yourself and say so, capture at 16-bit/44.1 and process at the point of use, state the coverage. Plus a section on recording toward a target smaller than you are.
- chip-samples: pulling samples straight out of a ROM with Audacity's Raw Data import (signed 8-bit PCM, mono, 12000 Hz as a starting point) and finding the audio by eye, because PCM looks like a waveform where code looks like a block; Schism's
Alt-Ytext-to-sample; "volume is height" for hand-drawn waves; and JCH's own 1991 digi voice, which stayed private because the editor was "too hairy to be used by anyone else but me".
New in tools/lint.py: citation drift#
The previous pass noticed pages whose sources: frontmatter listed summaries their ## Sources section did not. That check now runs in the linter (both directions), and it found 35 pages — the frontmatter and the section disagreeing by up to nine entries (instrument-design), with lsdj drifting both ways at once. All 35 reconciled; the check now reports 0.
State#
676 pages. tools/lint.py clean — no broken links, no orphans, no frontmatter issues, index complete, citation drift 0. Unverified markers 158 across 104 pages (unchanged; one HVSC marker narrowed to name the article that would settle it — SIDin #15's "JSIDPLAY2", in raw/ and not yet summarised). Unlanded ripples 170 across 100 pages. tools/build-site.py re-run.
Next on the list (nothing above 4 now): vice (4), shades (4), rainbow-arts (4), goattracker (4), frantic (4), chipmusic-org (4), charles-deenen (4), 64er (4), then a long tail of 3s and 2s.
2026-08-31 — Unlanded ripples, pass 5: the whole "next on the list"#
Operation: consolidation. No new sources; nothing in raw/ touched.
Six pages in one sitting, clearing every page the previous plan named: sidid 9→0, shuffle-funktempo 8→0, multispeed 8→0, sid-format 8→0, instrument-tables 8→0, adsr-envelope 8→0, pitch-slide-and-portamento 7→0 (with commodore-64 10→0 earlier the same day). Total 318 → 252 unlanded claims across 123 → 115 pages. Sizes: sidid 4.9→13.6 KB, shuffle-funktempo 12.1→17.7, multispeed 11.9→16.5, sid-format 14.1→18.4, instrument-tables 28.1→35.4, adsr-envelope 25.5→30.2, pitch-slide-and-portamento 21.6→25.9.
What each page was actually missing#
- sidid had a cheat sheet of names and nothing about what a name means. The nine summaries were the realdmx driver sources, so the page gained what a signature keys on —
Fred_Grayis the note-trigger idiomsta V1CTRL,x / inc V1CTRL,x,David_Whittakerthe gate writestx SIDV1CTRL / inx / stx SIDV1CTRL,Jeroen_Kimmelits instrument-load code, andMartin_Galway's published signature keys on theCMP #$C0in an interpreter whose music can re-point the play vector — and one name, a family of players: Hubbard's driver "with small modifications" across ~30 tunes and two disassemblies that already differ, Ocean's driver compiled two ways per game, Bjerregaard's two files with different data encodings,David_Whittakercovering both the trivial Lazy Jones routine and the full Panther command language. The find of the pass is one line in johannes-bjerregaard's own 1989;IMPROVEMENTS:list:;RECOGNITION BYTES CHANGED!— a working composer tracking which bytes of his player identified it, in the same file as a Maniacs of Noise job sheet. Also: the name credits the driver's author, which is whyPaul_Hughesexists andJonathan_Dunndoes not. - shuffle-funktempo had no defMON section on a page about swing. defMON has no groove list at all — per-step, per-channel speed columns (ticks − 1), so drums can run
5 3 5 3against a straight melody — and under hardware sync the adapter's six pulses per two steps leave exactly one swing available,4+2. Beside it now sits the smallest possible swing: a tiny-sid-compo entry XORs the duration byte with$08after every note. From LSDj: the groove reaches into the instruments (wave SPEED should equal the groove's tick count), it is a resolution knob as much as a feel (groove3= 32nds for sidechain recovery), two grooves can run at once if the tick totals match, and a tempo curve can be written per phrase. New tip: a swung song is a swung clock — chip sync counts steps, not milliseconds. - multispeed was missing the file layer: a
.sidheader cannot say "four calls a frame", which is what RSID is for, and the CIA constants a multispeed tune ends up depending on. The consequence, dated: HVSC update 40 shipped "about 500 multi speed fixes" for one wrong constant — "the C64 has$4CC7and not$4CF9cycles per frame, due to running at 50.125Hz instead of 50Hz". Plus a CheeseCutter section ("doesn't work well past 4x") and what the tools supported, 2002–2015 — GoatTracker to 16×, TFX 2.97 claiming "up to 10x on all channels, and 72x on a single channel", ACID 64's "exact timing for … multi speed songs". - sid-format covered SID-Wizard and GoatTracker exports and no others: CheeseCutter writes
.sidonly throughct2util(whoseimportandinitcommands move a tune between player versions or wrap a custom player), and defMON exports no.sidat all — packs to PRG, strip the two load-address bytes, and 2SID tunes cannot be packed. General warning now stated: the export is not the editor's playback. Two smaller finds: the header's SID-model bits are what a two-socket catweasel uses to pick its chip, and Hunter's Moon uses thesongsfield as a sound-effect bank — 16 "songs" that are 16 effect routines. - instrument-tables gained the size-limit extreme (Tiny SID 2005: Laxity's two parallel wave tables, 4mat's five bytes with "only one counter for both data & waveform", and a 3-byte instrument that carries the note duration), Galway's Arkanoid instrument as memory the music pokes while it plays (29-byte definition, 34-byte running copy,
SETNI/INSTR/SETCI), the LSDj table economy (32 tables against far more phrases,Sbeing relative, the instrument number as the table's trigger), and a date for when a private driver acquires a wave table at all: JCH's NewPlayer, July 1988. - adsr-envelope had no defMON or CheeseCutter section. defMON's field guide states the trap plainly — sustain "is the loudest = the VOLUME (not the time)" — and that the envelope runs on regardless of the gate column; CheeseCutter is unusual in setting one envelope parameter per pattern command (
A0–AF…D0–DF) and in naming four restart types including the "Laxity restart" that leaves AD alone. Two more: JITT64 makes AD and SR tables of their own, and Lazy Jones writes AD$66once for the whole tune and never writes SR at all, so the gate retrigger is the entire articulation. - pitch-slide-and-portamento gained CheeseCutter (portamento works only on tied notes and must be activated before them) and defMON (no slide command by design; the
AFcolumn packs finetune, bend-up speed and bend-down speed into one byte), the 2024–25 LSDj kick material (L80always lands on C1, so the phrase note tunes the transient; 9.4.0'sRfinally retriggers pitch), and why PITCH SAFE exists — the noise LFSR can produce zeros and go silent mid-slide on a DMG, so SAFE re-inits the channel at the cost of texture.
Housekeeping#
Six pages had summaries in sources: that were missing from their ## Sources line (s-lsdj-manual three times, s-painperdu-06-grooves, s-it-manual, others); all reconciled — the two lists now match on every page touched today.
State#
676 pages. tools/lint.py clean — no broken links, no orphans, no frontmatter issues, index complete. Unverified markers 158 across 104 pages (four added deliberately: two auto-transcript values on LSDj pages, two SIDId questions that name what would settle them). Unlanded ripples 252 across 115 pages. tools/build-site.py re-run.
Next on the list (the long tail starts here — no page above 7): filter-programming (7), hvsc (7), hard-restart (6), detune (6), rob-hubbard (6), game-boy-apu (6), fasttracker-2 (6), melody-writing (6), arrangement (6), soundmonitor (5), martin-galway (5).
2026-08-31 — Unlanded ripples, pass 4: commodore-64#
Operation: consolidation. No new sources; nothing in raw/ touched.
10 summaries named commodore-64 and the page cited none of them. All 10 landed; 11.0 → 22.5 KB. Total now 318 → 308 unlanded claims across 123 → 122 pages.
What the ten were, and what they exposed#
Nine of the ten are the defmon/goto80 seam (the megathread, three defMON wiki pages, the electro·pizza VICE guide, goto80's own site, the 2002 Remix64 interview, Wikipedia) plus JCH's memoir, the Telengard RSID rip and the furnace C64 docs. On a platform page they turned out to be about one thing the page had never said out loud: the machine outside the chip. The page went straight from the SID's registers to composer anecdotes, with nothing in between about the clock, the memory map, the ports, the keyboard, or what it takes to record or emulate the thing. Sorting machine from chip was again the whole job — the 2SID address map, the register table and goto80's list of loves and hates all belong on sid and stayed there, referenced rather than repeated.
Five sections that had no home anywhere in the wiki:
- Clock, frame and memory map. PAL Ø2 = 985248 Hz, NTSC = 1022727 Hz (defBPM's constants, and they agree with the book's 17734475 / 18), one PAL frame = 19656 cycles — which is exactly why defMON's 1× timer preset is
$4CC7, and why it can sit on an exact BPM where frame-locked editors cannot. Then the eight addresses that recur across every C64 music source in one table:$0801,$1000–$1FFF,$D011,$D012,$D400–$D41C,$D418,$DD00/$DD01,$DE00–$DFFF. - The crowded neighbourhood.
$DE00–$DFFFis 512 bytes wanted by a MIDI cartridge, a fastload cartridge and the second SID at once. The page already carried the SID-Wizard book's warning that cartridges clash with MIDI interfaces there; frantic's reason for putting defMON's sync on the user port instead — MIDI carts collide with the 1541 Ultimate and Action Replay whose fastload routines defMON uses for disk I/O — is the same collision from the other side, and the two now sit together. - Music from BASIC, and what an interpreted note costs. The sid page already had Telengard as a shipped game that pokes registers from BASIC; the number that belongs to the machine is what it costs — one
POKE≈ 5 200 cycles ≈ a quarter of a PAL frame,for qq=1 to 600: next≈ 672 000. That is the argument for raster-interrupt players in one figure. Also its four-byte sequencer rows, where0= hold and255= gate off, i.e. a tracker's empty row and note-off in 1983. - The keyboard. The C64 has keys a PC does not (
RUN/STOP,C=,CONTROL, the back-arrow←,£,↑,RESTORE) and C64 editors lean on all of them — defMON is driven almost entirely from them. That is why every emulator guide in the wiki opens with a key-mapping table, and why FlexiArcade sells a 3D-printed defMON keyboard overlay. The mapping tables themselves stay on vice. - Noise and clean recording / running it in emulation / two machines at once. The book's video-port pin-5 ground fix now sits beside frantic's video-port recording and 4mat's
POKE 53265,65screen blanking. Emulation gets the fact that Debian'svicepackage ships no C64 ROMs (copyright), the three practitioners' verdicts on what emulation is good for, and furnace as the machine modelled rather than emulated. And two-machine work — goto80 and frantic's weekly two-C64 defMON jams from 2008, defSYNC's$DD00CLK-bit poll, and JCH carrying tunes from an Amiga 500 to the C64 on paper before cross-assembling with EASS from December 1990.
One To-verify item narrowed#
The page's single marker asserted two things at once. The PAL/NTSC half is now resolved: a tune does play at a different pitch and tempo on the other standard unless the player compensates — defMON is PAL-tuned and needed a rebuilt frequency table for its 2018-02-11 NTSC build, its tempo math takes the clock as a parameter, and the .sid header carries CIA timer values for cross-standard playback. What remains unverified is only whether Drean is the Argentine PAL-N variant, and the marker now names the kind of source that would settle it.
State#
676 pages. tools/lint.py clean — no broken links, no orphans, no frontmatter issues, index complete. Unverified markers 154 across 101 pages (unchanged; one narrowed, none removed). Unlanded ripples 308 across 122 pages. tools/build-site.py re-run.
Next on the list: sidid (9), shuffle-funktempo (8), multispeed (8), sid-format (8), instrument-tables (8), adsr-envelope (8), pitch-slide-and-portamento (7).
2026-08-31 — Unlanded ripples, pass 3: sid#
Operation: consolidation. No new sources; nothing in raw/ touched.
The second of the two big hubs: 22 summaries named sid and the page cited none of them. All 22 landed; 43.0 → 66.0 KB. Total now 340 → 318 unlanded claims across 124 → 123 pages.
Why so many, and what was actually missing#
The page was built from the datasheet, the Programmer's Reference Guide, the Yannes interview and Alstrup's measurements — so it was strong on what the silicon does and almost silent on what forty years of players did to it. The 22 unlanded summaries are mostly editors (defMON's four wiki pages and its megathread, CheeseCutter, Soundmonitor) and reverse-engineered drivers (Galway's Arkanoid, Matt Gray's Serpent Demo, the Tiny Sid 256-byte entries), plus four interviews. Deciding what was chip and what was tool was most of the work; recipes went out as pointers, register-level behaviour stayed.
Five things that had no home anywhere in the wiki:
- A section for
$D418. The register does two unrelated jobs — volume in the low nybble, filter mode in the high — so every program that touches one has to preserve the other, and three sources thirty years apart show the same defensive idiom: Soundmonitor's volume byte "almost identical to SID register 24, but without the filter nibble", Galway'slda #$0F / ora TEMP / sta $D418, defMON's two self-modified operands ($10B1, "Make sure that the upper nibble is always zero"). The volume-register fourth voice then gets its three generations in one place: 1986 Galway, who explicitly disclaims the invention ("Never would I claim to have invented that technique, I just got it published first") and whose Arkanoid percussion turns out to contain no PCM data at all — six routines adding a constant to a 4-bit accumulator through a halving delay table; 1987 Matt Gray's fourth pattern channel streaming nibbles from a CIA-2 NMI while the raster IRQ plays the SID voices; 1991 JCH hacking digis into his own editor and making exactly four tunes with them. - Two SIDs, or three. The page treated the chip as singular. Now: the chip is mono, so stereo means a second chip; defMON's selectable bases
$D4xx/$D5xx/$DExx/$DFxx(and the warning that a wrong one corrupts RAM); the cost in software — a second full copy of the player, no packing for 2SID tunes, and frantic's "about 95% of all bugs I have fixed in defMON over the years were related to that"; and hermit writing a 3SID tracker on a real C64 in four months of 2008, four years before sid-wizard, because "DMC 4.3 and Prophet64" were the only 2SID editors he could find. - Software can ask which chip it is on. defMON's init detects 6581 vs 8580 (disabling interrupts while it does, which is an integration trap) and then acts on the answer, hard-capping the filter cutoff at
$0200on an 8580 and$0000on a 6581 "to make the chips behave more alike". TLR'ssid-detect2.prgfinds a second chip at an unknown address. - The filter clicks when you switch it — less on the 8580. soundmonitor 1986 gives a sound a
FF"touch no filter register" value "which avoids the SID's click when filters switch"; freedom 2010 gives the positive form — on the 8580 the click is faint enough that "it is possible to change filter type on an instrument while a note is being played". Twenty-four years, two sources, one artefact, and a technique that only exists on the newer chip. - The MIDIbox SID. The page had the chip driven from a PC (Catweasel) but not the chip in a MIDI synthesizer. It also supplies the wiki's definition of "wavetable" in the C64 sense, and the envelope bug with a number on it: "The gate is delayed by up to ca. 30mS!"
Findings worth keeping#
- The noise-reset trick has a discoverer and a date. The page already documented that the test bit restarts the noise shift register (Alstrup's measurements, 4mat's
$f9then$81recipe). JCH's memoir attributes it: johannes-bjerregaard, visiting him around 1988, "discovered how to use a test bit in the SID chip to reset the random numbers used internally by the noise waveform", making noise "more predictable … slightly more metallic" — and JCH's scanned papers include a draft magazine article about using the test bit when composing. frantic states the mechanism cleanly for tracker users: it "resets the oscillator that produces the waveform, and that is completely independent of the volume envelope generation". - A contradiction narrowed by released music. The page carried "the OSC3/ENV3 readback was never used" (Furnace; Yannes's own "probably never used") against the PRG's examples and Alstrup's measurements. Three 2005 tiny-sid-compo entries settle it as released music:
$D41Bpicks note positions (lda $d41b / and #7 / sta pos) and self-modifies waveforms, and aleksi-eeben derives the filter cutoff from$D41C(lda $D41C / lsr / adc #$20) — the datasheet's own "WAH WAH" suggestion, in a 256-byte tune twenty-three years later. Read "never used" as "rarely, and then mostly where code size mattered more than a voice". - Two tools agree on the silent combined waveforms. CheeseCutter's cheat sheet — "Waveforms $3, $6 and $7 are audible only on new SID (8580)" — is exactly Chordian's
31/61/71audibility table, reached from a different editor in a different decade. - Microtuning is free on the SID and not on the Game Boy, and the reason is one line of the datasheet: 16 bits of frequency divider. little-scale's 2009 compilation call names the SID among chips with "a frequency resolution that is fine enough for the composition of microtonal music"; lsdj needs its ROM note table patched, a SID editor needs nothing.
- The cutoff's low three bits can simply go unwritten — anarkiwi's register dump shows defMON never touches
$D415, "so the rightmost two ACID digits of a set value do nothing". - A 1983 game that pokes the SID from BASIC. Telengard zeroes all 25 registers, computes a 60-entry note table by one multiplication per semitone (
r=61176/64814), and times notes by how long the interpreter takes — the Programmer's Reference Guide style as shipped software, and the reason its rip had to become an RSID. - Emulation, four verdicts, four different missing pieces: hermit 2008 (the analogue filter, and "the note-frequency dependent samplerate of the SID"), goto80 2002 ("Don't imitate, innovate — fuck emulators"), frantic 2020 ("It's like a fractal maze that drives you more mad the closer you try to get to it", and defMON is native so you work on the real chip), and electro·pizza 2019 arriving from the other side — VICE on a Pocket CHIP is for learning defMON, "especially useful in experimenting with and constructing instruments and effects in the SID tab", not for performing.
State#
676 pages. tools/lint.py clean — no broken links, no orphans, no frontmatter issues, index complete. Unverified markers 154 across 101 pages (unchanged). Unlanded ripples 318 across 123 pages. tools/build-site.py re-run.
Next on the list: commodore-64 (10), sidid (9), shuffle-funktempo (8), multispeed (8), sid-format (8), instrument-tables (8), adsr-envelope (8), pitch-slide-and-portamento (7).