From 6791916f75e901335d535ab34a0be93b767366e6 Mon Sep 17 00:00:00 2001 From: Raimon Zamora Date: Wed, 6 Aug 2025 10:31:02 +0200 Subject: [PATCH] [NEW] [zx_disk] SEEK command (0x0f) [completat] --- zx_disk.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/zx_disk.cpp b/zx_disk.cpp index fe589c6..005f254 100644 --- a/zx_disk.cpp +++ b/zx_disk.cpp @@ -74,12 +74,14 @@ namespace zx_disk uint8_t ST0() { - return current_drive | (current_head<<2) | (seeking ? 0x20 : 0x00) | (fdd0busy ? 0x00 : 0x40); + return current_drive | (current_head<<2) | (seeking ? 0x20 : 0x00) | (fdd0busy ? 0x00 : 0x80); } uint8_t ST3() { - return current_drive | (current_head<<2) | 0x38; // ST3 + const bool ready = (current_head==0) && (current_drive==0); + return current_drive | (current_head<<2) | ((current_track==0)?0x10:0) | + (ready?0x20:0) | 0x08; // TS } void start_command(uint8_t command); @@ -224,6 +226,7 @@ namespace zx_disk current_drive = command & 0x3; call_count = 0; current_track = 0; + seeking = true; process_current_command = nullptr; mode = ZX_FDC_MODE_IDLE; break;