summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/machine/dmac.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/machine/dmac.cpp')
-rw-r--r--src/devices/machine/dmac.cpp39
1 files changed, 21 insertions, 18 deletions
diff --git a/src/devices/machine/dmac.cpp b/src/devices/machine/dmac.cpp
index 34992fc4f5c..ba1167eb2d5 100644
--- a/src/devices/machine/dmac.cpp
+++ b/src/devices/machine/dmac.cpp
@@ -145,6 +145,8 @@ void dmac_device::check_interrupts()
// any interrupts pending?
if (m_istr & ISTR_INT_MASK)
m_istr |= ISTR_INT_P;
+ else
+ m_istr &= ~ISTR_INT_P;
}
else
m_istr &= ~ISTR_INT_P;
@@ -202,18 +204,19 @@ READ16_MEMBER( dmac_device::register_read )
case 0x48:
case 0x49:
- case 0x50:
- case 0x58:
- case 0x59:
- case 0x5a:
- case 0x5b:
- case 0x5c:
- case 0x5e:
- case 0x5f:
data = m_scsi_read_handler(offset);
if (VERBOSE)
- logerror("%s('%s'): read scsi data @ %02x %04x [mask = %04x]\n", shortname(), basetag(), offset, data, mem_mask);
+ logerror("%s('%s'): read scsi register @ %02x %04x [mask = %04x]\n", shortname(), basetag(), offset, data, mem_mask);
+
+ break;
+
+ case 0x50:
+ case 0x51:
+ case 0x52:
+ case 0x53:
+ if (VERBOSE)
+ logerror("%s('%s'): read xt register @ %02x %04x [mask = %04x]\n", shortname(), basetag(), offset, data, mem_mask);
break;
@@ -306,20 +309,20 @@ WRITE16_MEMBER( dmac_device::register_write )
case 0x48:
case 0x49:
- case 0x50:
- case 0x58:
- case 0x59:
- case 0x5a:
- case 0x5b:
- case 0x5c:
- case 0x5e:
- case 0x5f:
if (VERBOSE)
- logerror("%s('%s'): write scsi data @ %02x %04x [mask = %04x]\n", shortname(), basetag(), offset, data, mem_mask);
+ logerror("%s('%s'): write scsi register @ %02x %04x [mask = %04x]\n", shortname(), basetag(), offset, data, mem_mask);
m_scsi_write_handler(offset, data, 0xff);
break;
+ case 0x50:
+ case 0x51:
+ case 0x52:
+ case 0x53:
+ if (VERBOSE)
+ logerror("%s('%s'): write xt register @ %02x %04x [mask = %04x]\n", shortname(), basetag(), offset, data, mem_mask);
+ break;
+
case 0x70:
if (VERBOSE)
logerror("%s('%s'): write dma start strobe %04x [mask = %04x]\n", shortname(), basetag(), data, mem_mask);