diff options
author | Miodrag Milanović <mmicko@gmail.com> | 2014-10-27 08:37:15 +0100 |
---|---|---|
committer | Miodrag Milanović <mmicko@gmail.com> | 2014-10-27 08:37:15 +0100 |
commit | 1843c0d532ad4e1fead6cc8a2d08ca0f750833b2 (patch) | |
tree | 7a5b59cf04ab5003d99d1c1a28cc592ccf82bf05 | |
parent | d4fe5e8b0cbe4e2aaff5400d832a67b77dd80379 (diff) | |
parent | f6078bdbc70e3a9e9c6a9ae77383a40fe9a71c73 (diff) |
Merge pull request #20 from shattered/_2a8a61a
isa_hdc: ec1841 compatibility
-rw-r--r-- | src/emu/bus/isa/hdc.c | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/src/emu/bus/isa/hdc.c b/src/emu/bus/isa/hdc.c index 479c0fc3eec..0d866e4580b 100644 --- a/src/emu/bus/isa/hdc.c +++ b/src/emu/bus/isa/hdc.c @@ -749,7 +749,12 @@ void isa8_hdc_device::pc_hdc_data_w(int data) logerror("hdc_data_w $%02x\n", data); *buffer_ptr++ = data; - status |= STA_READY; + // XXX ec1841 wants this + if (buffer[0] == CMD_SETPARAM && data_cnt == 9) { + status &= ~STA_READY; + } else { + status |= STA_READY; + } if (--data_cnt == 0) { if (LOG_HDC_STATUS) @@ -758,8 +763,7 @@ void isa8_hdc_device::pc_hdc_data_w(int data) status &= ~STA_COMMAND; status &= ~STA_REQUEST; status &= ~STA_READY; - status |= STA_INPUT; - + status &= ~STA_INPUT; timer->adjust(attotime::from_msec(1),0); } } @@ -851,6 +855,9 @@ UINT8 isa8_hdc_device::pc_hdc_status_r() UINT8 isa8_hdc_device::pc_hdc_dipswitch_r() { + status |= STA_READY; // XXX + if (LOG_HDC_STATUS) + logerror("%s: pc_hdc_dipswitch_r: status $%02X\n", machine().describe_context(), status); return dip; } |