From 3e2fa0bb86920e5e6865ff5c76eea3ba167b5c34 Mon Sep 17 00:00:00 2001 From: Simon Dick Date: Wed, 2 Sep 2026 14:50:46 +0100 Subject: [PATCH] Fingerprint Copperline's new open-source A2091 ROM test/a1200-a2091.toml targets Copperline's A2091 Zorro II SCSI board with its bundled clean-room open-source A2091 ROM (copperhf-device branch, commit 90e91de2, unreleased) rather than the real Commodore firmware already covered by scsi.device-37.64-a2091.txt. Every pin, dialect, and the unlisted-NSCMD_ETD_READ64 WARN finding come back byte-identical to a4091.device-42.39-openrom.txt - expected, since the new ROM's README says its device/SCSI/mounter code is shared with the A4091 open ROM. Recorded as a clean confirmation that the shared code behaves identically on both emulated boards, not as a new finding. Co-Authored-By: Claude Opus 4.8 Claude-Session: https://claude.ai/code/session_01EbDNgMg5EyWbEBRUvAoqP4 --- fingerprints/INDEX.md | 11 ++++++ .../scsi.device-42.40-a2091-openrom.txt | 38 +++++++++++++++++++ test/a1200-a2091.toml | 29 ++++++++++++++ 3 files changed, 78 insertions(+) create mode 100644 fingerprints/scsi.device-42.40-a2091-openrom.txt create mode 100644 test/a1200-a2091.toml diff --git a/fingerprints/INDEX.md b/fingerprints/INDEX.md index e77b2b5..c518223 100644 --- a/fingerprints/INDEX.md +++ b/fingerprints/INDEX.md @@ -11,6 +11,7 @@ copperhf.device-1.0.txt 1.0 PASS copperhf.device [ lide.device-40.12-ripple.txt 40.12 PASS lide 40.12 (03.08.2026) Release-40.12-a387f65 oktagon.device-6.10-atbus2008.txt 6.10 FAIL rc=10 oktagon.device 6.10 (26.08.95) [UNSTABLE — intermittent errs, see file notes] scsi.device-37.64-a2091.txt 37.64 PASS SCSI/XT driver +scsi.device-42.40-a2091-openrom.txt 42.40 PASS scsi 42.40 (31.8.2026) scsi.device-45.7-a3000-sdmac.txt 45.7 PASS scsidisk 45.7 (16.5.2018) scsi.device-47.4-a1200-ide.txt 47.4 PASS IDE_scsidisk 47.4 (30.12.2019) scsi.device-47.4-a3000-sdmac.txt 47.4 PASS scsidisk 47.4 (30.12.2019) @@ -18,6 +19,16 @@ trackdisk.device-34.1-ks13.txt 34.1 PASS (pre-NSD, no idstr trackdisk.device-40.1-ks31.txt 40.1 PASS (pre-NSD, no idstring) trackdisk.device-47.14-ks32.txt 47.14 FAIL rc=10 (pre-NSD, no idstring) +`scsi.device-42.40-a2091-openrom.txt` is Copperline's clean-room open +A2091 ROM (unreleased at fingerprint time, `copperhf-device` branch, +commit 90e91de2 — not the real Commodore firmware fingerprinted as +`scsi.device-37.64-a2091.txt` above). Every pin, dialect, and the +unlisted-NSCMD_ETD_READ64 finding are byte-identical to +`a4091.device-42.39-openrom.txt` — expected, since its README states the +device/SCSI/mounter code is shared with the A4091 open ROM; this run is +a clean confirmation that the two boards' emulated behaviour actually +matches, not just their source. + ## scsi.device pin drift across OS versions (- = test not reached): pin V37/a2091 V45/a3000 V47/ide V47/a3000 past-end-err — 20 3 20 diff --git a/fingerprints/scsi.device-42.40-a2091-openrom.txt b/fingerprints/scsi.device-42.40-a2091-openrom.txt new file mode 100644 index 0000000..6a2e9f0 --- /dev/null +++ b/fingerprints/scsi.device-42.40-a2091-openrom.txt @@ -0,0 +1,38 @@ +# devsoak fingerprint (60s classification, -Z) +driver scsi.device version 42.40 +idstring: scsi 42.40 (31.8.2026) +geometry: sector size 512 +nsd: devtype=5, 20 commands listed +dialects: CMD ETD TD64 NSD64 +pin bad-unit-err = -1 +pin changestate = 0 +pin clear-err = 0 +pin drivetype-err = -3 +pin etd-stale-err = 29 +pin flush-err = -3 +pin format-err = 0 +pin format64-err = 0 +pin iof-quick = 0 +pin maxxfer-over = 1 +pin motor-err = 0 +pin motor-off-actual = -1515870811 +pin nsd-undersized-err = -4 +pin nsd64-hiword-err = 52 +pin nsdformat64-err = 0 +pin numtracks-err = -3 +pin past-end-err = 52 +pin protstatus = 0 +pin rawread-err = -3 +pin rawwrite-err = -3 +pin stop-err = 0 +pin stop-gates = 1 +pin td64-hiword-err = 52 +pin unaligned-len-err = 0 +pin unaligned-off-err = 0 +pin unlisted64-works = 1 +pin update-err = 0 +pin zero-length-actual = 0 +pin zero-length-err = 0 +finding: WARN unlisted-64: NSCMD_ETD_READ64 works without being advertised +matrix: 3 full passes, 0 failures, 0 warnings +RESULT PASS diff --git a/test/a1200-a2091.toml b/test/a1200-a2091.toml new file mode 100644 index 0000000..34f0b0a --- /dev/null +++ b/test/a1200-a2091.toml @@ -0,0 +1,29 @@ +# devsoak fingerprint config: A1200 + KS3.2, victim HDF behind Copperline's +# A2091 Zorro II SCSI board (WD33C93), using Copperline's bundled +# clean-room open-source A2091 ROM (assets/a2091/copperline-a2091.rom in +# the Copperline repo -- NOT the real Commodore A2091 firmware already +# fingerprinted as scsi.device-37.64-a2091.txt). Auto-discovery of the +# bundled ROM only works for an *installed* copperline binary (next to +# it, or under share/copperline/a2091/); a target/release/ build needs +# rom= pointed at it explicitly, as below. Serial to host stdout for -o +# ser capture. +# +# The victim HDF path is relative to the copperline working directory; +# ci/fingerprint.sh creates it automatically in its scratch workdir. +# The rom path assumes Simon's kick32.a1200.rom; override as needed. + +rom = "/Users/simond/kick32.a1200.rom" + +[machine] +profile = "A1200" + +[memory] +fast = "8M" + +[scsi] +controller = "a2091" +rom = "/Users/simond/src/external/Copperline/assets/a2091/copperline-a2091.rom" +unit0 = "victim.hdf" + +[serial] +mode = "stdout"