Skip to content

5DO 1.5.0

Latest

Choose a tag to compare

@github-actions github-actions released this 08 Nov 04:08
· 1 commit to master since this release

5DO 1.5.0

Release date: 2026-11-08
Status: Accuracy and presentation update on the 1.4.0 feature release.

Highlights

  • GPU HQx 2x/3x/4x. HQx is now a rule-table GPU pass in OpenGL/GLES, Direct3D 11,
    and Vulkan instead of a CPU switch expansion. The CPU HqxFilter remains the
    reference oracle and parity tests cover the shared rule table. On the RTX 4070,
    4K HQx presentation measures 0.14-0.34 ms per frame and the GPU pass
    0.09-0.17 ms, down from 6.82/10.93 ms CPU-bound.
  • Video-clean differential panel. The 3DO background register is now kept as
    24-bit RGB through the CPU assembler and every GPU palette shader, and a zero VDL
    display-list word is treated as a stop that retains the previous bitmap. The
    50-title panel now matches 50/50 frame hashes at frames 60/120/300 (up from
    32/50).
  • Reference field boundary and checkpoint sampling. RunFrame ends on the
    263/312-line VDL field boundary instead of a rounded ARM-cycle budget, and the
    differential harness captures Opera's ARM/CD checkpoint state in that
    checkpoint's own video callback. The residual same-frame instruction delta is
    11-20 at frame 60 and 23-2,223 at frame 120.
  • CD interrupt and transfer parity. The Opera CD poll reset keeps the three
    interrupt enables and the POLRE media latch, and the XBUS CD FIQ is level-held
    each clock batch. READ_DATA now rejects invalid MSF and past-end transfers,
    aborts stale read-ahead, publishes status with the first queued sector, and
    accumulates sector deadlines like the reference. The command-50 boot handoff fell
    from +207,707 cycles / +86,511 instructions to -818 / -376.
  • Better differential triage. Reports classify instruction-phase PC/CPSR
    divergences, CD command cadence, and per-command PC/instruction evidence.
    ISO staging is atomic with one transient-CHD retry, and a per-title capture
    failure is reported as an error instead of aborting a panel.
  • Launch alias. The desktop shell accepts -fullscreen in addition to
    -f/--fullscreen, and the smoke-test marker records windowState=FullScreen
    when the launch mode was applied.

Changed

  • VDLP save-state section is version 4 and Machine section is version 3. Both store
    the 24-bit background and convert packed 5-bit backgrounds from older states.
  • --cd-commands now writes opcode cycle pc instructions; the differential
    harness understands the extended form.
  • New diagnostics: --cd-register-trace and --clio-read-trace, plus the
    harness --timer-trace option.
  • HQx shaders and rule tables are shared by the three GPU backends. The generated
    CPU switch files were removed; the compact rule table is checked in and
    regenerated by tools/generate_hqx_rules.py.

Validation

  • Full suite 1,939/1,939 passes in Debug.
  • dotnet build reports 0 warnings and 0 errors; dotnet format --verify-no-changes and jb inspectcode --severity=WARNING are clean.
  • Opt-in GPU renderer tests pass for Direct3D 11 and Vulkan HQx 2x/3x/4x parity,
    and the opt-in WGL/ANGLE GL probe passes the HQx rule-texture path.
  • 50-title differential panel: 50/50 frame hashes at frames 60/120/300,
    0 errors, and all first PC/CPSR divergences instruction-aligned to the
    neighboring reference field. The 5-title panel matches 5/5 frame hashes at
    300 frames; the 3,000-frame showcase keeps 4/5 (Road Rash remains divergent).
  • Windows x64 remains the validated target. Linux x64 full-suite and CLI/frontend
    smoke validation pass; GPU presentation under llvmpipe/SSH remains
    preview/best-effort. macOS and arm64 bundles are cross-published and
    architecture-validated.

Requirements

  • The .NET 10 Runtime installed on the host. The bundles are framework-dependent
    and do not include the runtime. Choose the x64 or arm64 bundle that matches
    your OS.
  • A legally obtained 1 MB 3DO BIOS ROM (for example panafz1.bin).
  • Legally obtained 3DO disc images in ISO, BIN, CUE+BIN, or CHD format.
  • Optional: network access for the online cover catalog. Local covers and the core
    emulator work offline.

Download

System Bundle
Windows x64 5do-1.5.0-win-x64.zip
Windows arm64 5do-1.5.0-win-arm64.zip
Linux x64 5do-1.5.0-linux-x64.tar.gz
Linux arm64 5do-1.5.0-linux-arm64.tar.gz
macOS x64 5do-1.5.0-osx-x64.tar.gz
macOS arm64 5do-1.5.0-osx-arm64.tar.gz

Each bundle contains the framework-dependent single-file CLI and desktop app,
README.md, LICENSE, THIRD-PARTY-NOTICES.md, whatsnew.md, and the
release/legal docs. See the release page
for SHA256SUMS.txt.

Known limits

  • CD command cadence is the remaining behavioral differential on the 50-title panel;
    the 3,000-frame showcase still diverges on Road Rash.
  • HQx GPU parity is pixel-identical on the tested synthetic probes; unusual drivers
    may still report shader or texture-format limitations and fall back to the
    unfiltered scale path.
  • VRR depends on the GPU, driver, monitor, and desktop; 5DO only avoids the blocking
    swap interval.
  • The differential panel's frame-hash matches are strong evidence, not a full
    compatibility claim for every title.