mirror of
https://github.com/holub/mame
synced 2025-04-23 00:39:36 +03:00
wd_fdc: Condition command completion interrupt on busy flag having been set
(nw) The logic for dropping the busy flag and raising INTRQ still seems a bit questionable, but at least the Pied Piper does not like spurious interrupts to occur from these conditions when 0xd0 is in the command register (and the busy flag that indicates that a command is in progress is therefore not set).
This commit is contained in:
parent
0777e03e0f
commit
0be58f3630
@ -275,7 +275,7 @@ void wd_fdc_device_base::command_end()
|
||||
main_state = sub_state = IDLE;
|
||||
motor_timeout = 0;
|
||||
|
||||
if (!drq) {
|
||||
if(!drq && (status & S_BUSY)) {
|
||||
status &= ~S_BUSY;
|
||||
intrq = true;
|
||||
if(!intrq_cb.isnull())
|
||||
@ -2194,7 +2194,7 @@ void wd_fdc_device_base::drop_drq()
|
||||
drq = false;
|
||||
if(!drq_cb.isnull())
|
||||
drq_cb(false);
|
||||
if (main_state == IDLE) {
|
||||
if(main_state == IDLE && (status & S_BUSY)) {
|
||||
status &= ~S_BUSY;
|
||||
intrq = true;
|
||||
if(!intrq_cb.isnull())
|
||||
|
Loading…
Reference in New Issue
Block a user