From 4686f93034f2f412bf0f3c5c26cd533d68dba9b8 Mon Sep 17 00:00:00 2001 From: cracyc Date: Tue, 12 Apr 2016 18:09:11 -0500 Subject: [PATCH] upd765: indicate ready status in st0 after seek (nw) --- src/devices/machine/upd765.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/devices/machine/upd765.cpp b/src/devices/machine/upd765.cpp index 48901ef2314..7229793417d 100644 --- a/src/devices/machine/upd765.cpp +++ b/src/devices/machine/upd765.cpp @@ -1399,6 +1399,8 @@ void upd765_family_device::recalibrate_start(floppy_info &fi) fi.sub_state = SEEK_WAIT_STEP_TIME_DONE; fi.dir = 1; fi.counter = 77; + fi.ready = get_ready(command[1] & 3); + fi.st0 = (fi.ready ? 0 : ST0_NR); seek_continue(fi); } @@ -1408,6 +1410,8 @@ void upd765_family_device::seek_start(floppy_info &fi) fi.main_state = SEEK; fi.sub_state = SEEK_WAIT_STEP_TIME_DONE; fi.dir = fi.pcn > command[2] ? 1 : 0; + fi.ready = get_ready(command[1] & 3); + fi.st0 = (fi.ready ? 0 : ST0_NR); seek_continue(fi); } @@ -1458,7 +1462,7 @@ void upd765_family_device::seek_continue(floppy_info &fi) if(done) fi.pcn = 0; else if(!fi.counter) { - fi.st0 = ST0_FAIL|ST0_SE|ST0_EC | fi.id; + fi.st0 |= ST0_FAIL|ST0_SE|ST0_EC | fi.id; command_end(fi, false); return; } @@ -1468,7 +1472,7 @@ void upd765_family_device::seek_continue(floppy_info &fi) break; } if(done) { - fi.st0 = ST0_SE | fi.id; + fi.st0 |= ST0_SE | fi.id; command_end(fi, false); return; }