Skip to content

CDTV with netplay desyncs on every boot regardless of CD presence #386

Description

@ztronzo

CDTV with netplay desyncs on every boot regardless of CD presence, before any game loads.
Root cause is the CDTV CD controller thread writing to emulated hardware registers asynchronously during initialization.
These register values are read by the Amiga ROM during boot and written to chip RAM at different emulation frame counts on each client.
Fix requires deferring CDTV controller register writes to frame boundaries in deterministic mode, similar to the existing hard drive desync fix.

Looking at the log, the exact sequence is:

uae_start_tread "cdtv" function at 0000000000fa5830 arg 0000000000000000
CDTV: CD thread started
CDTV: reset

↓ thread starts and runs asynchronously

Card 1: Z2 0x00e90000   64K IO  CDTV DMAC/CD Controller

↓ Amiga ROM autoconfig probes the CDTV controller

CDTV: command register read while empty
CDTV: command register read while empty
WARNING: ERROR 8 from netplay server

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions