wd_fdc: Drop DRQ when ending a normal command or starting a "Force Interrupt" command

This commit is contained in:
AJR 2023-04-16 13:14:59 -04:00
parent 2518ba9a42
commit 60ced2cb0c

View File

@ -366,7 +366,9 @@ void wd_fdc_device_base::command_end()
main_state = sub_state = IDLE;
motor_timeout = 0;
if(!drq && (status & S_BUSY)) {
if(drq)
drop_drq();
else if (status & S_BUSY) {
if (!t_cmd->enabled()) {
status &= ~S_BUSY;
}
@ -1096,6 +1098,12 @@ void wd_fdc_device_base::interrupt_start()
status_type_1 = true;
}
if(drq) {
drq = false;
if(!drq_cb.isnull())
drq_cb(false);
}
intrq_cond = command & 0x0f;
if(!intrq && (command & I_IMM)) {