Skip to content

v1.0.1 - Real-hardware fixes, credited to Tokra

Latest

Choose a tag to compare

@xahmol xahmol released this 26 Aug 11:03
· 3 commits to main since this release

A real-hardware feedback pass on v1.0.0.

Thanks to Tokra

Every fix in this release was prompted by Tokra (Akronyme Analogiker)
live-testing v1.0.0 on his own C128 and RGBtoHDMI setup after release,
and reporting back in real detail -- VICE-monitor register-dump
comparisons against his own working "VDC Mode Mania" build, a direct
screenshot review of a raster-timing routine, and real-monitor
observations from years of his own VDC demo work. Thank you for the time
spent testing and the precision of the reports -- this release exists
because of that feedback.

Fixes

  • VSYNC (register 7) off-by-one on VDC-IMONO/VDC-IM800/VDC-ITFLI.
    Tokra reported RGBtoHDMI interlace fields swapped for the mono modes; a
    live VICE-monitor io d600 comparison against his own build (his own
    idea) found this project's VTOTAL - VADJUST derivation undershooting
    his real literal values by exactly 1 for three of the four interlaced
    modes he checked (VDC-IHFLI's own value already matched). Fixed to his
    own constants -- the ITFLI fix was missed in this tag's first pass and
    folded in shortly after; see "Amendment" below.
  • REFRESH (register 36) boot-baseline leak on the same two modes,
    found in the same comparison pass -- a recurrence of this project's
    own known "boot-baseline register leak" bug class on a register that
    hadn't been added to the capture/restore set yet.
  • raster_calibrate()'s CIA-timer sync-point bug. Tokra reviewed a
    screenshot of the calibration loop directly and identified that the
    CIA timer started counting before any known VBlank-aligned reference
    point, letting the first sample land anywhere in a frame -- fixed by
    establishing that reference point before the timer starts. Cross-
    validated afterward against an independent real-hardware measurement
    ("Risen from Oblivion VDC v2", Crest/Oxyron 2006) landing on the exact
    same value on the same machine.
  • Title screen raster bar retuned for the small timing shift the
    calibration fix introduced.

New

  • Live VSYNC nudge (cursor up/down) on the four interlaced-colour/
    mono showcases, added directly on Tokra's own observation that
    "interlace is super fiddly -- some displays may actually need the +1
    value," and that his own original demo already offers exactly this
    live adjustment. On-screen key hints now show it (and the existing
    +/- colour cycle) on the relevant info screens.
  • Genuine diagonal panning in VDC-PANORAMA 2D's scripted tour -- two
    of its four legs are now real simultaneous-axis diagonal glides across
    the full image, not just alternating vertical/horizontal edge traces.
  • Build version + timestamp now shown on the system diagnostics
    screen.

Credits

Full, dedicated thanks to Tokra added to include/defines.h's own
credit block, this changelog, and the in-demo end-credits scroller --
alongside newly added credits for VDC SpectruMania and Colour
Spectrum
(both C128 VDC takes on ZX Spectrum graphics that inspired
VDC Spectrum mode) and Risen from Oblivion VDC v2 (whose own
VDC-timing "system analysis" screen inspired raster_calibrate()),
which were missing from the v1.0.0 credit block.

Amendment (same tag)

A re-audit of the full Messenger thread with Tokra found his VDC-ITFLI
report ("you use 99 while I use 98 for reg 7, decimal") hadn't actually
been applied in the first fix pass, despite being recorded as done.
Fixed and folded into this same v1.0.1 tag/release rather than cut as a
separate patch version, since the original hadn't been widely distributed
yet. If you already downloaded v1.0.1 before this note, re-download --
VDCR_VSYNC for VDC-ITFLI changed from 0x63 (99) to 0x62 (98).

Getting started

  1. Download vdcmaniac_v1.0.1.zip below.
  2. Extract it -- it contains vdcmaniac.d81 (the disk image) and
    README.pdf.
  3. Write the D81 to a real 1581 (or equivalent, e.g. an Ultimate II+), or
    mount it directly on an Ultimate II+ / in VICE
    (x128 -drive8truedrive vdcmaniac.d81).
  4. Boot with only that drive active on the IEC bus, at device 8.

Full requirements, known issues, and build-from-source instructions are
in the README.