Cadence 1.5
Cadence 1.5 — Hardware fidelity & disk protections
This release is the result of a full emulation-fidelity audit, subsystem by subsystem, validated against ZEXALL, real software and original protected disks.
Floppy disc (765 / DSK) — rebuilt for accuracy
The disc subsystem was rewritten from a "happy-path AMSDOS" model into a datasheet-faithful µPD765 with a real rotation model:
- Sector search by full C,H,R,N identity with wrong-cylinder / bad-cylinder status, true weak sectors, and physical track ordering (no more ID collisions).
- 300 rpm rotation model: angular sector search, real rotational latency, byte-paced transfers at 32 µs with intermittent RQM, and datasheet-exact overrun.
- Faithful command set: overrun termination, DE/DD and end-of-cylinder status, background/overlapped seeks with per-unit head position, 77-step recalibrate, motor-aware ready, index-anchored READ TRACK, and FORMAT that takes its real revolution (DISCKIT3 formats in ~30 s, as on hardware).
- Copy-protection support: gap overreads, deleted-data marks with skip semantics, the phantom second drive, and timing-based checks — original protected releases now load: Aliens, Billy 2 (gaps), Trantor (Alkatraz), Chase HQ (deleted-data), and more.
Z80
ZEXALL now passes: BIT/CPI/ADC-SBC undocumented flags, the 0xFF interrupt vector, INI/IND/OUTI/OUTD flags, exact instruction timings (INIR, LD A,I/R), the DD/FD prefix passthrough, and RETI's IFF handling.
Gate Array, PSG, PPI & tape
- Gate Array: correct mode-3 pen decoding, RMR bit-4 interrupt cancel, A14 port decode.
- PSG: measured AY volume curve and exact tone periods (odd-period detune and Nyquist aliasing gone).
- PPI/keyboard 8255 corner cases.
- Tape: CDT at 1 µs resolution (fixes intermittent loads), unknown-block hardening, correct 0x20 pause, and WAV at the exact sample rate.
Binaries for Linux (AppImage), macOS (.dmg) and Windows are attached below.