FUZZ — signal-flow flowchart

Image rep algo 34 · slots 34 · unit 0 (I-RAM load 84) · family distortion · confidence high.

fuzz: rail-clip waveshaper

42 words, 6 class-A coefficient multiplies (4 named), 0 instructions still opaque, 13 of 42 not yet decoded. Landmarks detected: 2 waveshaper LUT selector(s).

flowchart TD
    N0["Stereo input (L / R)"]
    N1["Waveshaper transfer curve<br/>3-word LUT idiom, class-6 curve select (&times;2)"]
    N0 --> N1
    N2["controls: DRIVE, ADJUST"]
    N1 -.-> N2
    N3["VOLUME<br/>output level"]
    N1 --> N3
    N4["REV SEND<br/>to reverb bus"]
    N3 --> N4
    N5["Output (RETURN to kernel epilogue)"]
    N4 --> N5

    classDef io fill:#e8eef7,stroke:#33475b,stroke-width:1px,color:#111;
    classDef proven fill:#d7f0d7,stroke:#2e7d32,stroke-width:2px,color:#111;
    classDef measured fill:#dbe9fb,stroke:#1565c0,stroke-width:1.5px,color:#111;
    classDef inferred fill:#fdf0d5,stroke:#b8860b,stroke-width:1.5px,color:#111;
    classDef open fill:#eeeeee,stroke:#888,stroke-width:1px,color:#333,stroke-dasharray:5 5;
    classDef ctrl fill:#f3e8fb,stroke:#6a1b9a,stroke-width:1px,color:#111;
    class N0,N5 io;
    class N1 inferred;
    class N2,N3,N4 ctrl;

Classic-topology match

Most likely textbook topology: Memoryless waveshaper (drive → nonlinearity → level) + optional tone biquad.

gain(drive) → nonlinear transfer → gain(level); OVERDRIVE/EXCITER append a DF-I tone biquad, FUZZ/DISTORTION are the bare (harder) shaper.

Instruction hint: the nonlinearity is a class-6 table lookup (addr8 0x28 = table selector). The class-6 idiom reads a table FROM C-RAM (index in m_tb); it is NOT undumped — C-RAM is populated entirely from dumped ROM (per-preset parameter streams + the boot blob at Sub CPU ROM 0x01E6BE). PROVEN for the identical idiom’s LFO-waveform role: that table is a 24-entry sine UPLOADED BY THE HOST, matching 0.95·2^23·sin(2πk/24+0.1) to 1 LSB — no internal silicon ROM is in the class-6 path. (Open DECODE, not missing data: which exact C-RAM cells hold the waveshaper table and the index arithmetic.) Present in OVERDRIVE, FUZZ and DISTORTION alike. The ACT 0x12/0x13/0x14 cluster, LIVE only in OVERDRIVE and ABSENT from FUZZ, is the post tone BIQUAD (its coeffs [0.019, 0.609, −0.448, 0.750] sit in biquad range, e.g. −a2≈0.448 for a 4 kHz low-pass); it is NOT a polynomial waveshaper (an earlier reading, now retracted — the same cluster is the DF-I biquad state ops 0x13=ld.ta / 0x14=mac.tb).

UI parameters (MEASURED, notes/kn5000-dsp-paramlist.md): DRIVE, ADJUST, VOLUME, REV SEND.

Per-instruction detail: ../disasm/prog34_fuzz.dsm. Confidence legend and method: README.md. Narrative: the MAME development blog, KN5000 effects-DSP series (Parts 78-84). Reference: the project docs site, /effects-dsp/.