• videomancer/1.0.0-rc.44 7261fc6d7c

    lars released this 2026-08-05 03:26:46 +00:00 | 4 commits to main since this release

    Videomancer 1.0.0-rc.44

    Dual analog loopback stability for 1.0.0 readiness — RGsB, composite/S-Video, and YPbPr AC EXT sync restored at HD.

    Changes

    • RGsB dual loopback (a4-3) — FPGA EXT HS/VS on r_gs_b at 720p/1080p; ADV7181 STDI/SOG alone did not lock the HD return leg. Desk HIL: 22/22 recovered on acceptance slice.
    • Composite / S-Video dual loopback (a0-0, a0-1) — Restore FPGA EXT sync on the YPbPr CP path when Dual remaps CVBS/Y-C at HD; fixes cb_cr_swapped, bar failures, and composite→composite hue shift. Desk HIL: 11/11 at 720p60 and 1080p30 per leg.
    • YPbPr AC dual loopback (a1-2) — Same EXT sync regression as composite when fpga_drives_decoder_sync() replaced blanket dual-mode sync. Anchor leg 11/11 at 720p60 and 1080p30.
    • Gate E program scan — All 27/27 embedded programs register on program scan (pre-release filter applies to SD-only mem:/ paths only).
    • Includes rc.43 — H Phase Out/In, unified Sync Out LC fix, full 27-program HD Dual rebuild.

    Requires

    • Flash 1.0.0-rc.44 UF2 (MCU + embedded programs). Not interchangeable with rc.43 program packs alone.
    • LZX Connect 1.3.5 or newer recommended.

    Beta testing focus

    Goals: lifecycle/beta/goals/1.0.0-rc.44.yaml.

    1. Dual analog legs — Passthru color bars at 720p60 / 1080p30 on YPbPr (a1-2), composite (a0-0), S-Video (a0-1), and RGsB (a4-3).
    2. Composite hue — Dual composite→composite loopback; confirm stable hue vs rc.43 (no catastrophic shift).
    3. Heavy programs — Lumarian / Moire / Mycelium / Pinwheel on HD Dual (regression vs rc.43).

    Report feedback at /instruments/videomancer/beta or via Connect.

    Downloads
  • videomancer/1.0.0-rc.43 7261fc6d7c

    lars released this 2026-08-04 07:29:41 +00:00 | 4 commits to main since this release

    Videomancer 1.0.0-rc.43

    H Phase Out/In for dual IO, unified Sync Out LC fix, and full 27-program HD Dual pack rebuild.

    Changes

    • H Phase Out / In (dual IO) — OLED settings and SPI registers 0x0A / 0x0B trim Sync Out phase and EXT analog-in delay on dual routing. Desk validation: serial smoke 8/8 + HIL h-phase gate 10/10.
    • Unified Sync Out generator — single video_sync_generator on vid_clk with program-input reference (dual and non-dual). Removes duplicate HDMI-RX-domain generator that exceeded HX4K LC on Lumarian, Moire, Mycelium, and Pinwheel HD Dual builds.
    • dual_sync_delay BRAM — split read/write inference with registered-read compensation in dual_ext_sync_delay_total.
    • All 27 embedded vmprogs rebuilt and signed — Lumarian pipeline delay trim; Mycelium wet-only chroma mix on HD Dual (luma wet/dry unchanged).
    • Includes rc.42 — HD progressive dual passthru CP lock, RTL external-sync delay, and PAL 576i regression fixes.

    Requires

    • Flash 1.0.0-rc.43 UF2 (MCU + embedded programs). Not interchangeable with rc.42 program packs alone.
    • LZX Connect 1.3.5 or newer recommended.

    Beta testing focus

    Goals: lifecycle/beta/goals/1.0.0-rc.43.yaml.

    1. H Phase Out/In — Dual routing; trim Sync Out and Analog In phase at 720p60 and 1080p30 on YPbPr and RGB 1V loops.
    2. Heavy programs on HD Dual — Load Lumarian, Moire, Mycelium, Pinwheel; confirm picture lock and no unlock on mode switch.
    3. HD dual passthru regression — 720p60 / 1080p30 color bars on YPbPr (a1-2) and RGB 1V (a2-4).

    Report feedback at /instruments/videomancer/beta or via Connect.

    Downloads
  • videomancer/1.0.0-rc.42 7261fc6d7c

    lars released this 2026-08-03 20:19:24 +00:00 | 4 commits to main since this release

    Videomancer 1.0.0-rc.42

    HD progressive dual analog passthru fix — ADV7181 CP lock, RTL external-sync delay, HIL banding metric.

    Changes

    • HD dual passthru (720p60 / 1080p30) — Stop applying NTSC HS-position CP overrides on HD progressive dual lock; set invert_cr_cb for external-sync HD. Fixes ~33px offset, Cb/Cr swap, and bar-level failures on YPbPr and RGB 1V loopback legs.
    • RTL dual sync delay — HD progressive timings use 17 LLC clocks (was 50) in dual_ext_sync_delay_clks; passthru bitstream rebuilt.
    • Desk HIL — banding_spectral ignores full-width shallow-ramp curvature (false positives on analog legs). Desk validation: 7/7 on HD dual failure slice; dual rcguard sim guards green.
    • Includes rc.41 — PAL dual 576i passthru CP + RTL delay fixes and refreshed embedded vmprog pack.

    Requires

    • Flash 1.0.0-rc.42 UF2 (MCU + embedded programs). Not interchangeable with rc.40/rc.41 program packs alone.
    • LZX Connect 1.3.5 or newer recommended.

    Beta testing focus

    Goals: lifecycle/beta/goals/1.0.0-rc.42.yaml.

    1. HD dual 720p60 / 1080p30 — Routing Dual; YPbPr (a1-2) and RGB 1V (a2-4) loops; passthru color bars.
    2. PAL dual 576i — Regression vs rc.41; YPbPr loop at 576i50.
    3. Program library — Install official pack via Connect after flash.

    Report feedback at /instruments/videomancer/beta or via Connect.

    Downloads
  • videomancer/1.0.0-rc.41 7261fc6d7c

    lars released this 2026-08-02 07:30:51 +00:00 | 4 commits to main since this release

    Published from monorepo via lzx firmware-publish (2026-08-02T07:30:50.871814+00:00)

    Downloads
  • connect/1.3.5 7261fc6d7c

    connect/1.3.5 Stable

    lars released this 2026-08-01 03:55:14 +00:00 | 4 commits to main since this release

    LZX Connect 1.3.5

    Bugfix release: program library upload reliability and firmware version display.

    Fixed in 1.3.5

    • Program library upload — Classify USB disconnect (broken pipe) with actionable errors; skip Windows recovery when device reset mid-transfer
    • Firmware version display — Do not cache stale RC when device is faulted; clear version when flash starts
    • Embedded catalog — Diver 1.0.2 final; remove dead fallback URLs for CDN-only legacy DFU artifacts

    Requires Videomancer firmware

    Program library uploads also need Videomancer 1.0.0-rc.40 (watchdog feeding during SD writes).

    Supported devices

    • Videomancer (UF2)
    • Scrolls, Diver, Escher Sketch (STM32 DFU)
    • TBC2 Mk2 (autodownload)

    Artifacts

    • Windows: MSI + NSIS setup
    • macOS: universal DMG (Apple Silicon + Intel)
    • Linux: .deb + AppImage
    Downloads
  • videomancer/1.0.0-rc.40 7261fc6d7c

    lars released this 2026-08-01 03:46:21 +00:00 | 4 commits to main since this release

    Videomancer 1.0.0-rc.40

    Program-library upload reliability — watchdog feeding during SD writes, plus desk HIL automation hooks.

    Changes

    • Program-library upload watchdog — Feed the RP2040 watchdog during fs put / FatFS commits so long program-library transfers no longer reset mid-upload (host sees USB hangup / broken pipe on macOS, Linux, and Windows). Pairs with LZX Connect 1.3.5.
    • Shell developer hooks — screen dump and ui inject (developer mode only) for desk vmtest / UI automation; no customer-facing behavior change unless developer mode is enabled.
    • Desk HIL harness (repo-only) — vmtest round-2 fixes; no FPGA or embedded pack changes vs rc.39.

    Requires

    • Flash 1.0.0-rc.40 UF2 (MCU only — same signed vmprog packs as rc.39).
    • LZX Connect 1.3.5 or newer for improved upload error handling.

    Beta testing focus

    Goals: lifecycle/beta/goals/1.0.0-rc.40.yaml.

    1. Program library upload — Install or refresh an official program pack via Connect; confirm no mid-transfer reset or broken pipe.
    2. Dual RGB 1V bars — Quick regression at 720p60 / 1080p30 (same as rc.39).
    3. HDMI / standalone smoke — Passthru bars still lock and display.

    Report feedback at /instruments/videomancer/beta or via Connect.

    Downloads
  • diver/1.0.2 7261fc6d7c

    diver/1.0.2 Stable

    lars released this 2026-07-31 08:20:59 +00:00 | 4 commits to main since this release

    Diver firmware 1.0.2 — final release.

    Built from the community repo homegrownVHS/diver-firmware-community at commit 471be9cc.

    What's new

    • TVP5150 microprocessor restart (Issue #6, startup freeze): explicit write of 0x00 to
      register 0x7F at the top of TVP5150AM1_Setup() restarts the on-die ROM v4.00
      microprocessor per TI SLEA093 section 1.2. Earlier firmware relied on the power-up
      default and never issued this restart, leaving the sync-lock loop a nondeterministic
      start. This addresses the startup-freeze race that could require multiple power cycles.

    Cumulative since 1.0.0

    • Horizontal seam / ramp discontinuity (Issue #1) — fixed in 1.0.1
    • vwave mirror boundary missing sample (Issue #7) — fixed in 1.0.1
    • Dual variable definition across translation units (Issue #8) — fixed in 1.0.1
    • State not saved on power cycle (Issue #4) — wear-leveled persistence, fixed in 1.0.1
    • Frame tearing from mid-session sector erase (Issue #9) — fixed in 1.0.1
    • TVP5150 VCR-mode auto-switch glitches — VCR lock forced, added in 1.0.1
    • H-phase CV ADC noise / edge shimmer (Issue #3) — partially mitigated in 1.0.1

    Known issues carried forward

    • Intermittent sync blip on some sources (low)
    • H-phase CV ADC noise: partial mitigation only
    • Shapes not centred horizontally (HPHASE_OFFSET is per-unit); calibration planned

    Recommended file: diver_1.0.2.dfu — flash over rear USB in DFU mode.

    Identical to 1.0.2-rc.1; no code changed at promotion to final.

    Downloads
  • tbc2/1.1.0 7261fc6d7c

    tbc2/1.1.0 Stable

    lars released this 2026-07-31 08:20:41 +00:00 | 4 commits to main since this release

    TBC2 firmware 1.1.0 (OLED reports tbc2/1.1.0; includes BOOT.bin for LZX Connect).

    Downloads
  • videomancer/1.0.0-rc.39 7261fc6d7c

    lars released this 2026-07-31 07:33:16 +00:00 | 4 commits to main since this release

    Videomancer 1.0.0-rc.39

    Dual-mode RGB 1V loopback accuracy — EXT sync delay, encoder CSC, and clean 1V DAC sync.

    Changes

    • Dual EXT sync delay — HDMI RX HS/VS into ADV7181C EXT sync is delayed ~50 LLC clocks (dual_sync_delay, BRAM circular buffer so Lumarian still fits) so clamp recovery overshoot no longer lands in the first active bars on RGB 1V / DC+EXT paths.
    • RGB 1V DAC syncr_g_b_s keeps sync_on_rgb off so sync tips on the 1V rails cannot crush decoder auto-clamp (dual loopback HIL).
    • Encoder chroma scale — ADV7393 HD CSC chroma coeffs ×0.92 (GY unchanged) to cut G-leak into R/B primaries on the RGB 1V path while greys stay put.
    • Dual analog loopback CSC — R/B mapping and mode switching for YPbPr AC ↔ RGB 1V dual legs; FPGA reload on dual analog_in changes.
    • Re-signed embeds — all release-stage embedded .vmprog packs rebuilt from current RTL (incl. EXT sync delay) and Ed25519-signed.

    Requires

    • Rebuild and resign all embedded vmprogs (core_top + dual_sync_delay in all four cores).
    • Flash 1.0.0-rc.39 UF2 (MCU + packs); Connect with Show pre-release firmware.

    Beta testing focus

    Goals: lifecycle/beta/goals/1.0.0-rc.39.yaml.

    1. Dual RGB 1V bars — Dual routing, Analog Out/In = RGB 1V; passthru color bars at 720p60 and 1080p30; levels and primaries look right (no crushed black / blown white / strong G→B leak).
    2. Dual YPbPr AC control — same Dual path on YPbPr AC; confirm no regression vs rc.38.
    3. HDMI / standalone smoke — quick passthru check that HDMI and standalone still lock and display.
    4. YPbPr DVD (rc.38) — if time, spot-check NTSC classify and Y replug from rc.38 goals.

    Report feedback at /instruments/videomancer/beta or via Connect.

    Downloads
  • programs/1.0.2 7261fc6d7c

    lars released this 2026-07-28 17:06:41 +00:00 | 4 commits to main since this release

    Official Videomancer program library 1.0.2.

    Rebuilt against current videomancer-sdk (sync-delay compensation / processing_delay_clks divisible-by-4 rule).

    37 / 40 release-stage SD programs packed for rev_b.

    Not included (build failed this pass):

    • rollshut — nextpnr placement (over LC capacity)
    • stoa — SD timing constraint
    • vertigo — SD timing constraint
    Downloads