tmds-sparkle
tmds-sparkle · runs in vfpga-runnerModel
An early-HD circuit-bent VFPGA that corrupts the HDMI/DVI TMDS digital link — the shimmering sparkle / bit-error look of a marginal HDMI cable. A real 4-input bitwise LUT (the literal FPGA LUT16 truth table) wired over the picture's bit-planes is the per-pixel TMDS bit-flip field; that bit-error field is XOR-combined onto a datapath that adds the rest of the bent-link artifacts — a DC-balance break drifts the running disparity into horizontal banding, a character-boundary slip shears each scanline sideways, and a control-period leak bleeds saturated sync-character speckle into the active video. p1 sets the bit-error rate (the sparkle density), p2 the LUT truth table (the flip mask), p3 the disparity drift, p4 the char-slip. CIN1 adds onto the error rate; GIN1 re-rolls the error seed (a cable-wiggle burst). Every "random" error is deterministic (frame + pixel + seed hashed) so the bend is reproducible.
I/O
- Video in: 1 (vin1…vin1)
- Video out: 1 (vout1)
Controls (param knobs)
| Slot | Knob | Range | Default | What it does |
|---|---|---|---|---|
p1 | rate | 0 … 1 | 0.12 | Bit-error rate — the control-period sparkle density. |
p2 | flip-mask | 0 … 65535 | 27030 | The 16-bit LUT truth table (the per-channel bit-flip mask; 0x6996 = 4-input parity). |
p3 | disparity | 0 … 1 | 0.25 | DC-balance break → running-disparity drift → horizontal banding. |
p4 | slip | 0 … 0.5 | 0.06 | Char-boundary slip → per-line horizontal pixel shear. |
CV roles
| Input | Role | What it modulates |
|---|---|---|
cv1 | RATE | Adds onto the bit-error rate (patch an LFO/envelope to pulse the sparkle). |
Each CV input has a bipolar SCALE attenuverter + OFFSET on the card, and an always-on scope.
Gate roles
| Input | Role | What it triggers |
|---|---|---|
g1 | WIGGLE | A TRIGGER: each rising edge re-rolls the error seed → a fresh cable-wiggle burst. |
Gate inputs raw-pass into the host's synthetic gN_evt params; the factory hysteresis edge-detects rising edges (rise > 0.6 / fall < 0.4).
Usage
Add a vfpga-runner, pick tmds-sparkle from the card's load preset… menu, and patch the
active outputs into OUTPUT / a video mixer / a downstream effect.