Skip to content

DaynaPORT ROM-verified READ/WRITE + fixes (2026.07.25)

Pre-release
Pre-release

Choose a tag to compare

@ingpaschke ingpaschke released this 25 Jul 20:33

DaynaPORT throughput + fixes for the BlueSCSI Pico 2 W (RP2350) target.

This build replaces the READ(6)/WRITE(6) handling with semantics derived from
disassembling Dayna's own SCSI/Link SL003 device firmware (Z180 ROMs v1.3b2
and v2.0), and folds in the timing, prefetch, and Wi-Fi power-save work.

What changed since v2026.07.24-daynaport

  • READ(6) rewritten from the device ROM. Polled mode (CDB[5] bit 6 clear)
    is now strictly one record per read with a truthful "more pending" flag, as
    the real device does; blind mode batches up to 16 records with a zero-length
    terminator on a capped batch. Fixes a polled-mode flag bug that forced hosts
    into slow timer-polling.
  • WRITE(6) selector corrected to CDB[5] bit 7 (was CDB[5] == 0), matching
    the device, and rejects a nonzero CDB[1..2].
  • Inbound ring overflow-reads-as-empty fix; ring enlarged to 48 slots on the
    RP2350.
  • platform_millis() derived from the 64-bit counter (no 71.6-minute wrap).
  • Read-ahead prefetch cache invalidated on image (re)open.
  • WiFiPowerSave ini option (default off) for low latency.

Measured (RX)

  • Mac SE/30 (System 7.5, DaynaPORT 7.5.3): 90 KB/s VM on (polled) / 100 KB/s
    VM off (blind)
  • Atari Falcon (FreeMiNT): 100 KB/s
  • Mac Plus (System 7.0.1, MacTCP): functional

Install

Flash BlueSCSI_Pico_2_DaynaPORT-v2026.07.25.uf2 via BOOTSEL, or copy the
.bin onto the SD card root for the on-device bootloader.

Pico 2 W (RP2350) / Pico_2_DaynaPORT target only. Network READ/WRITE changes
are also open as PR BlueSCSI#399 against upstream.

Atari (FreeMiNT) driver

SCSILINK-v2026.07.25.XIF: the paired FreeMiNT SCSILINK network driver
(batched multi-packet TX + poll fixes). Copy to the FreeMiNT XIF directory as
SCSILINK.XIF. Uses blind mode (CDB[5] 0xC0).