summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Olivier Galibert <galibert@pobox.com>2017-12-16 13:21:01 +0100
committer Olivier Galibert <galibert@pobox.com>2017-12-16 13:22:21 +0100
commit0932b9c2ae7c59681144e8b65862ed541a01c47f (patch)
tree0294d40bffb0520ea178057318ed03c3a15d4d77
parent77829f86719aa73ec3eddf08a9c7dfa71c89f5f3 (diff)
ide: Add non-space cs access methods, use them wherever possible [O. Galibert]
-rw-r--r--src/devices/bus/a1bus/a1cffa.cpp8
-rw-r--r--src/devices/bus/a2bus/a2cffa.cpp8
-rw-r--r--src/devices/bus/a2bus/a2vulcan.cpp12
-rw-r--r--src/devices/bus/a2bus/a2zipdrive.cpp8
-rw-r--r--src/devices/bus/adam/ide.cpp10
-rw-r--r--src/devices/bus/amiga/zorro/buddha.cpp16
-rw-r--r--src/devices/bus/c64/ide64.cpp8
-rw-r--r--src/devices/bus/cpc/symbfac2.cpp10
-rw-r--r--src/devices/bus/isa/ide.cpp4
-rw-r--r--src/devices/bus/isa/side116.cpp12
-rw-r--r--src/devices/bus/isa/xtide.cpp12
-rw-r--r--src/devices/bus/kc/d004.cpp8
-rw-r--r--src/devices/bus/lpci/southbridge.cpp8
-rw-r--r--src/devices/bus/ql/qubide.cpp14
-rw-r--r--src/devices/bus/ti99/peb/tn_ide.cpp8
-rw-r--r--src/devices/machine/atadev.cpp21
-rw-r--r--src/devices/machine/atadev.h14
-rw-r--r--src/devices/machine/ataflash.cpp8
-rw-r--r--src/devices/machine/atahle.cpp48
-rw-r--r--src/devices/machine/atahle.h13
-rw-r--r--src/devices/machine/ataintf.cpp35
-rw-r--r--src/devices/machine/ataintf.h13
-rw-r--r--src/devices/machine/idectrl.cpp64
-rw-r--r--src/devices/machine/idectrl.h26
-rw-r--r--src/devices/machine/pci-ide.cpp8
-rw-r--r--src/devices/machine/vt83c461.cpp19
-rw-r--r--src/devices/machine/vt83c461.h3
-rw-r--r--src/mame/drivers/amiga.cpp8
-rw-r--r--src/mame/drivers/cobra.cpp8
-rw-r--r--src/mame/drivers/firebeat.cpp16
-rw-r--r--src/mame/drivers/jaguar.cpp4
-rw-r--r--src/mame/drivers/kinst.cpp8
-rw-r--r--src/mame/drivers/ksys573.cpp8
-rw-r--r--src/mame/drivers/pc9801.cpp8
-rw-r--r--src/mame/drivers/qdrmfgp.cpp2
-rw-r--r--src/mame/drivers/taitotz.cpp4
-rw-r--r--src/mame/drivers/viper.cpp24
-rw-r--r--src/mame/drivers/zn.cpp18
-rw-r--r--src/mame/machine/swtpc09.cpp8
-rw-r--r--src/mame/video/turrett.cpp4
40 files changed, 315 insertions, 223 deletions
diff --git a/src/devices/bus/a1bus/a1cffa.cpp b/src/devices/bus/a1bus/a1cffa.cpp
index 6900e3a85c0..9835969e164 100644
--- a/src/devices/bus/a1bus/a1cffa.cpp
+++ b/src/devices/bus/a1bus/a1cffa.cpp
@@ -100,7 +100,7 @@ READ8_MEMBER(a1bus_cffa_device::cffa_r)
break;
case 0x8:
- m_lastdata = m_ata->read16_cs0(space, (offset & 0xf) - 8, 0xff);
+ m_lastdata = m_ata->read16_cs0((offset & 0xf) - 8, 0xff);
return m_lastdata & 0x00ff;
case 0x9:
@@ -110,7 +110,7 @@ READ8_MEMBER(a1bus_cffa_device::cffa_r)
case 0xd:
case 0xe:
case 0xf:
- return m_ata->read16_cs0(space, (offset & 0xf) - 8, 0xff);
+ return m_ata->read16_cs0((offset & 0xf) - 8, 0xff);
}
return 0xff;
@@ -135,7 +135,7 @@ WRITE8_MEMBER(a1bus_cffa_device::cffa_w)
case 0x8:
- m_ata->write16_cs0(space, (offset & 0xf) - 8, data, 0xff);
+ m_ata->write16_cs0((offset & 0xf) - 8, data, 0xff);
break;
case 0x9:
@@ -145,7 +145,7 @@ WRITE8_MEMBER(a1bus_cffa_device::cffa_w)
case 0xd:
case 0xe:
case 0xf:
- m_ata->write16_cs0(space, (offset & 0xf) - 8, data, 0xff);
+ m_ata->write16_cs0((offset & 0xf) - 8, data, 0xff);
break;
}
diff --git a/src/devices/bus/a2bus/a2cffa.cpp b/src/devices/bus/a2bus/a2cffa.cpp
index 0ac47f0183f..544d4480078 100644
--- a/src/devices/bus/a2bus/a2cffa.cpp
+++ b/src/devices/bus/a2bus/a2cffa.cpp
@@ -148,7 +148,7 @@ uint8_t a2bus_cffa2000_device::read_c0nx(address_space &space, uint8_t offset)
// Apple /// driver uses sta $c080,x when writing, which causes spurious reads of c088
if (!m_inwritecycle)
{
- m_lastreaddata = m_ata->read16_cs0(space, offset - 8, 0xffff);
+ m_lastreaddata = m_ata->read16_cs0(offset - 8);
}
return m_lastreaddata & 0xff;
@@ -159,7 +159,7 @@ uint8_t a2bus_cffa2000_device::read_c0nx(address_space &space, uint8_t offset)
case 0xd:
case 0xe:
case 0xf:
- return m_ata->read16_cs0(space, offset-8, 0xff);
+ return m_ata->read16_cs0(offset-8, 0xff);
}
return 0xff;
@@ -195,7 +195,7 @@ void a2bus_cffa2000_device::write_c0nx(address_space &space, uint8_t offset, uin
m_lastdata &= 0xff00;
m_lastdata |= data;
// printf("%02x to 8, m_lastdata = %x\n", data, m_lastdata);
- m_ata->write16_cs0(space, offset-8, m_lastdata, 0xffff);
+ m_ata->write16_cs0(offset-8, m_lastdata);
break;
case 9:
@@ -205,7 +205,7 @@ void a2bus_cffa2000_device::write_c0nx(address_space &space, uint8_t offset, uin
case 0xd:
case 0xe:
case 0xf:
- m_ata->write16_cs0(space, offset-8, data, 0xff);
+ m_ata->write16_cs0(offset-8, data, 0xff);
break;
}
}
diff --git a/src/devices/bus/a2bus/a2vulcan.cpp b/src/devices/bus/a2bus/a2vulcan.cpp
index a0054e33f6b..fc96c0236df 100644
--- a/src/devices/bus/a2bus/a2vulcan.cpp
+++ b/src/devices/bus/a2bus/a2vulcan.cpp
@@ -168,7 +168,7 @@ uint8_t a2bus_vulcanbase_device::read_c0nx(address_space &space, uint8_t offset)
switch (offset)
{
case 0:
- m_lastdata = m_ata->read16_cs0(space, offset, 0xffff);
+ m_lastdata = m_ata->read16_cs0(offset);
// printf("IDE: read %04x\n", m_lastdata);
m_last_read_was_0 = true;
return m_lastdata&0xff;
@@ -181,7 +181,7 @@ uint8_t a2bus_vulcanbase_device::read_c0nx(address_space &space, uint8_t offset)
}
else
{
- return m_ata->read16_cs0(space, offset, 0xff);
+ return m_ata->read16_cs0(offset, 0xff);
}
case 2:
@@ -190,7 +190,7 @@ uint8_t a2bus_vulcanbase_device::read_c0nx(address_space &space, uint8_t offset)
case 5:
case 6:
case 7:
- return m_ata->read16_cs0(space, offset, 0xff);
+ return m_ata->read16_cs0(offset, 0xff);
default:
logerror("a2vulcan: unknown read @ C0n%x\n", offset);
@@ -222,11 +222,11 @@ void a2bus_vulcanbase_device::write_c0nx(address_space &space, uint8_t offset, u
m_lastdata &= 0x00ff;
m_lastdata |= (data << 8);
// printf("IDE: write %04x\n", m_lastdata);
- m_ata->write16_cs0(space, 0, m_lastdata, 0xffff);
+ m_ata->write16_cs0(0, m_lastdata);
}
else
{
- m_ata->write16_cs0(space, offset, data, 0xff);
+ m_ata->write16_cs0(offset, data, 0xff);
}
break;
@@ -237,7 +237,7 @@ void a2bus_vulcanbase_device::write_c0nx(address_space &space, uint8_t offset, u
case 6:
case 7:
// printf("%02x to IDE controller @ %x\n", data, offset);
- m_ata->write16_cs0(space, offset, data, 0xff);
+ m_ata->write16_cs0(offset, data, 0xff);
break;
case 9: // ROM bank
diff --git a/src/devices/bus/a2bus/a2zipdrive.cpp b/src/devices/bus/a2bus/a2zipdrive.cpp
index bb41ffd7dc6..3fec919d5ac 100644
--- a/src/devices/bus/a2bus/a2zipdrive.cpp
+++ b/src/devices/bus/a2bus/a2zipdrive.cpp
@@ -111,10 +111,10 @@ uint8_t a2bus_zipdrivebase_device::read_c0nx(address_space &space, uint8_t offse
case 5:
case 6:
case 7:
- return m_ata->read16_cs0(space, offset, 0xff);
+ return m_ata->read16_cs0(offset, 0xff);
case 8: // data port
- m_lastdata = m_ata->read16_cs0(space, offset, 0xffff);
+ m_lastdata = m_ata->read16_cs0(offset);
// printf("%04x @ IDE data\n", m_lastdata);
return m_lastdata&0xff;
@@ -147,7 +147,7 @@ void a2bus_zipdrivebase_device::write_c0nx(address_space &space, uint8_t offset,
case 6:
case 7:
// printf("%02x to IDE controller @ %x\n", data, offset);
- m_ata->write16_cs0(space, offset, data, 0xff);
+ m_ata->write16_cs0(offset, data, 0xff);
break;
case 8:
@@ -159,7 +159,7 @@ void a2bus_zipdrivebase_device::write_c0nx(address_space &space, uint8_t offset,
// printf("%02x to IDE data hi\n", data);
m_lastdata &= 0x00ff;
m_lastdata |= (data << 8);
- m_ata->write16_cs0(space, 0, m_lastdata, 0xffff);
+ m_ata->write16_cs0(0, m_lastdata);
break;
default:
diff --git a/src/devices/bus/adam/ide.cpp b/src/devices/bus/adam/ide.cpp
index 1921a722ff6..79f0349d819 100644
--- a/src/devices/bus/adam/ide.cpp
+++ b/src/devices/bus/adam/ide.cpp
@@ -114,7 +114,7 @@ uint8_t powermate_ide_device::adam_bd_r(address_space &space, offs_t offset, uin
case 0x05:
case 0x06:
case 0x07:
- data = m_ata->read16_cs0(space, offset & 0x07, 0xff);
+ data = m_ata->read16_cs0(offset & 0x07, 0xff);
break;
case 0x40: // Printer status
@@ -135,7 +135,7 @@ uint8_t powermate_ide_device::adam_bd_r(address_space &space, offs_t offset, uin
break;
case 0x58:
- m_ata_data = m_ata->read16_cs0(space, 0, 0xffff);
+ m_ata_data = m_ata->read16_cs0(0);
data = m_ata_data & 0xff;
break;
@@ -145,7 +145,7 @@ uint8_t powermate_ide_device::adam_bd_r(address_space &space, offs_t offset, uin
break;
case 0x5a:
- data = m_ata->read16_cs1(space, 6, 0xff);
+ data = m_ata->read16_cs1(6, 0xff);
break;
case 0x5b: // Digital Input Register
@@ -174,7 +174,7 @@ void powermate_ide_device::adam_bd_w(address_space &space, offs_t offset, uint8_
case 0x05:
case 0x06:
case 0x07:
- m_ata->write16_cs0(space, offset & 0x07, data, 0xff);
+ m_ata->write16_cs0(offset & 0x07, data, 0xff);
break;
case 0x40:
@@ -186,7 +186,7 @@ void powermate_ide_device::adam_bd_w(address_space &space, offs_t offset, uint8_
case 0x58:
m_ata_data |= data;
- m_ata->write16_cs0(space, 0, m_ata_data, 0xffff);
+ m_ata->write16_cs0(0, m_ata_data);
break;
case 0x59:
diff --git a/src/devices/bus/amiga/zorro/buddha.cpp b/src/devices/bus/amiga/zorro/buddha.cpp
index c76e48d5aa0..806cdbab02e 100644
--- a/src/devices/bus/amiga/zorro/buddha.cpp
+++ b/src/devices/bus/amiga/zorro/buddha.cpp
@@ -257,7 +257,7 @@ WRITE16_MEMBER( buddha_device::ide_interrupt_enable_w )
READ16_MEMBER( buddha_device::ide_0_cs0_r )
{
- uint16_t data = m_ata_0->read16_cs0(space, (offset >> 1) & 0x07, (mem_mask << 8) | (mem_mask >> 8));
+ uint16_t data = m_ata_0->read16_cs0((offset >> 1) & 0x07, (mem_mask << 8) | (mem_mask >> 8));
data = (data << 8) | (data >> 8);
if (VERBOSE)
@@ -274,12 +274,12 @@ WRITE16_MEMBER( buddha_device::ide_0_cs0_w )
mem_mask = (mem_mask << 8) | (mem_mask >> 8);
data = (data << 8) | (data >> 8);
- m_ata_0->write16_cs0(space, (offset >> 1) & 0x07, data, mem_mask);
+ m_ata_0->write16_cs0((offset >> 1) & 0x07, data, mem_mask);
}
READ16_MEMBER( buddha_device::ide_0_cs1_r )
{
- uint16_t data = m_ata_0->read16_cs1(space, (offset >> 1) & 0x07, (mem_mask << 8) | (mem_mask >> 8));
+ uint16_t data = m_ata_0->read16_cs1((offset >> 1) & 0x07, (mem_mask << 8) | (mem_mask >> 8));
data = (data << 8) | (data >> 8);
if (VERBOSE)
@@ -296,12 +296,12 @@ WRITE16_MEMBER( buddha_device::ide_0_cs1_w )
mem_mask = (mem_mask << 8) | (mem_mask >> 8);
data = (data << 8) | (data >> 8);
- m_ata_0->write16_cs1(space, (offset >> 1) & 0x07, data, mem_mask);
+ m_ata_0->write16_cs1((offset >> 1) & 0x07, data, mem_mask);
}
READ16_MEMBER( buddha_device::ide_1_cs0_r )
{
- uint16_t data = m_ata_1->read16_cs0(space, (offset >> 1) & 0x07, (mem_mask << 8) | (mem_mask >> 8));
+ uint16_t data = m_ata_1->read16_cs0((offset >> 1) & 0x07, (mem_mask << 8) | (mem_mask >> 8));
data = (data << 8) | (data >> 8);
if (VERBOSE)
@@ -318,12 +318,12 @@ WRITE16_MEMBER( buddha_device::ide_1_cs0_w )
mem_mask = (mem_mask << 8) | (mem_mask >> 8);
data = (data << 8) | (data >> 8);
- m_ata_1->write16_cs0(space, (offset >> 1) & 0x07, data, mem_mask);
+ m_ata_1->write16_cs0((offset >> 1) & 0x07, data, mem_mask);
}
READ16_MEMBER( buddha_device::ide_1_cs1_r )
{
- uint16_t data = m_ata_1->read16_cs1(space, (offset >> 1) & 0x07, (mem_mask << 8) | (mem_mask >> 8));
+ uint16_t data = m_ata_1->read16_cs1((offset >> 1) & 0x07, (mem_mask << 8) | (mem_mask >> 8));
data = (data << 8) | (data >> 8);
if (VERBOSE)
@@ -340,5 +340,5 @@ WRITE16_MEMBER( buddha_device::ide_1_cs1_w )
mem_mask = (mem_mask << 8) | (mem_mask >> 8);
data = (data << 8) | (data >> 8);
- m_ata_1->write16_cs1(space, (offset >> 1) & 0x07, data, mem_mask);
+ m_ata_1->write16_cs1((offset >> 1) & 0x07, data, mem_mask);
}
diff --git a/src/devices/bus/c64/ide64.cpp b/src/devices/bus/c64/ide64.cpp
index 5a99bdcc4fa..f78c65554d0 100644
--- a/src/devices/bus/c64/ide64.cpp
+++ b/src/devices/bus/c64/ide64.cpp
@@ -172,13 +172,13 @@ uint8_t c64_ide64_cartridge_device::c64_cd_r(address_space &space, offs_t offset
if (io1_offset >= 0x20 && io1_offset < 0x28)
{
- m_ata_data = m_ata->read16_cs0(space, offset & 0x07, 0xffff);
+ m_ata_data = m_ata->read16_cs0(offset & 0x07);
data = m_ata_data & 0xff;
}
else if (io1_offset >= 0x28 && io1_offset < 0x30)
{
- m_ata_data = m_ata->read16_cs1(space, offset & 0x07, 0xffff);
+ m_ata_data = m_ata->read16_cs1(offset & 0x07);
data = m_ata_data & 0xff;
}
@@ -275,13 +275,13 @@ void c64_ide64_cartridge_device::c64_cd_w(address_space &space, offs_t offset, u
{
m_ata_data = (m_ata_data & 0xff00) | data;
- m_ata->write16_cs0(space, offset & 0x07, m_ata_data, 0xffff);
+ m_ata->write16_cs0(offset & 0x07, m_ata_data);
}
else if (io1_offset >= 0x28 && io1_offset < 0x30)
{
m_ata_data = (m_ata_data & 0xff00) | data;
- m_ata->write16_cs1(space, offset & 0x07, m_ata_data, 0xffff);
+ m_ata->write16_cs1(offset & 0x07, m_ata_data);
}
else if (io1_offset == 0x31)
{
diff --git a/src/devices/bus/cpc/symbfac2.cpp b/src/devices/bus/cpc/symbfac2.cpp
index 07ff76a14c5..46c95767d42 100644
--- a/src/devices/bus/cpc/symbfac2.cpp
+++ b/src/devices/bus/cpc/symbfac2.cpp
@@ -135,27 +135,27 @@ READ8_MEMBER(cpc_symbiface2_device::ide_cs0_r)
else
{
m_iohigh = true;
- m_ide_data = m_ide->read16_cs0(space,offset);
+ m_ide_data = m_ide->read16_cs0(offset);
return m_ide_data & 0xff;
}
}
else
- return m_ide->read16_cs0(space,offset);
+ return m_ide->read16_cs0(offset);
}
WRITE8_MEMBER(cpc_symbiface2_device::ide_cs0_w)
{
- m_ide->write16_cs0(space,offset,data);
+ m_ide->write16_cs0(offset, data);
}
READ8_MEMBER(cpc_symbiface2_device::ide_cs1_r)
{
- return m_ide->read16_cs1(space,offset);
+ return m_ide->read16_cs1(offset);
}
WRITE8_MEMBER(cpc_symbiface2_device::ide_cs1_w)
{
- m_ide->write16_cs1(space,offset,data);
+ m_ide->write16_cs1(offset, data);
}
// RTC (Dallas DS1287A)
diff --git a/src/devices/bus/isa/ide.cpp b/src/devices/bus/isa/ide.cpp
index bef1b88d755..541e741738c 100644
--- a/src/devices/bus/isa/ide.cpp
+++ b/src/devices/bus/isa/ide.cpp
@@ -16,12 +16,12 @@
READ8_MEMBER(isa16_ide_device::ide16_alt_r )
{
- return m_ide->read16_cs1(space, 6/2, 0xff);
+ return m_ide->read16_cs1(6/2, 0xff);
}
WRITE8_MEMBER(isa16_ide_device::ide16_alt_w )
{
- m_ide->write16_cs1(space, 6/2, data, 0xff);
+ m_ide->write16_cs1(6/2, data, 0xff);
}
DEVICE_ADDRESS_MAP_START(map, 16, isa16_ide_device)
diff --git a/src/devices/bus/isa/side116.cpp b/src/devices/bus/isa/side116.cpp
index 1ee606046bb..97b8c824ed1 100644
--- a/src/devices/bus/isa/side116.cpp
+++ b/src/devices/bus/isa/side116.cpp
@@ -134,13 +134,13 @@ READ8_MEMBER( side116_device::read )
if (offset == 0)
{
- uint16_t ide_data = m_ata->read16_cs0(space, 0, 0xffff);
+ uint16_t ide_data = m_ata->read16_cs0(0);
data = ide_data & 0xff;
m_latch = ide_data >> 8;
}
else if (offset < 8)
{
- data = m_ata->read16_cs0(space, offset & 7, 0xff);
+ data = m_ata->read16_cs0(offset & 7, 0xff);
}
else if (offset == 8)
{
@@ -148,7 +148,7 @@ READ8_MEMBER( side116_device::read )
}
else
{
- data = m_ata->read16_cs1(space, offset & 7, 0xff);
+ data = m_ata->read16_cs1(offset & 7, 0xff);
}
return data;
@@ -159,11 +159,11 @@ WRITE8_MEMBER( side116_device::write )
if (offset == 0)
{
uint16_t ide_data = (m_latch << 8) | data;
- m_ata->write16_cs0(space, 0, ide_data, 0xffff);
+ m_ata->write16_cs0(0, ide_data);
}
else if (offset < 8)
{
- m_ata->write16_cs0(space, offset & 7, data, 0xff);
+ m_ata->write16_cs0(offset & 7, data, 0xff);
}
else if (offset == 8)
{
@@ -171,7 +171,7 @@ WRITE8_MEMBER( side116_device::write )
}
else
{
- m_ata->write16_cs1(space, offset & 7, data, 0xff);
+ m_ata->write16_cs1(offset & 7, data, 0xff);
}
}
diff --git a/src/devices/bus/isa/xtide.cpp b/src/devices/bus/isa/xtide.cpp
index 0b1ea0490bc..29656b7c464 100644
--- a/src/devices/bus/isa/xtide.cpp
+++ b/src/devices/bus/isa/xtide.cpp
@@ -63,13 +63,13 @@ READ8_MEMBER( xtide_device::read )
if (offset == 0)
{
- uint16_t data16 = m_ata->read16_cs0(space, offset & 7, 0xffff);
+ uint16_t data16 = m_ata->read16_cs0(offset & 7);
result = data16 & 0xff;
m_d8_d15_latch = data16 >> 8;
}
else if (offset < 8)
{
- result = m_ata->read16_cs0(space, offset & 7, 0xff);
+ result = m_ata->read16_cs0(offset & 7, 0xff);
}
else if (offset == 8)
{
@@ -77,7 +77,7 @@ READ8_MEMBER( xtide_device::read )
}
else
{
- result = m_ata->read16_cs1(space, offset & 7, 0xff);
+ result = m_ata->read16_cs1(offset & 7, 0xff);
}
// logerror("%s xtide_device::read: offset=%d, result=%2X\n",device->machine().describe_context(),offset,result);
@@ -93,11 +93,11 @@ WRITE8_MEMBER( xtide_device::write )
{
// Data register transfer low byte and latched high
uint16_t data16 = (m_d8_d15_latch << 8) | data;
- m_ata->write16_cs0(space, offset & 7, data16, 0xffff);
+ m_ata->write16_cs0(offset & 7, data16);
}
else if (offset < 8)
{
- m_ata->write16_cs0(space, offset & 7, data, 0xff);
+ m_ata->write16_cs0(offset & 7, data, 0xff);
}
else if (offset == 8)
{
@@ -105,7 +105,7 @@ WRITE8_MEMBER( xtide_device::write )
}
else
{
- m_ata->write16_cs1(space, offset & 7, data, 0xff);
+ m_ata->write16_cs1(offset & 7, data, 0xff);
}
}
diff --git a/src/devices/bus/kc/d004.cpp b/src/devices/bus/kc/d004.cpp
index 8c63d36635b..97b10acec7c 100644
--- a/src/devices/bus/kc/d004.cpp
+++ b/src/devices/bus/kc/d004.cpp
@@ -433,11 +433,11 @@ READ8_MEMBER(kc_d004_gide_device::gide_r)
{
if (ide_cs == 0 )
{
- m_ata_data = m_ata->read16_cs0(space, io_addr & 0x07, 0xffff);
+ m_ata_data = m_ata->read16_cs0(io_addr & 0x07);
}
else
{
- m_ata_data = m_ata->read16_cs1(space, io_addr & 0x07, 0xffff);
+ m_ata_data = m_ata->read16_cs1(io_addr & 0x07);
}
}
@@ -482,11 +482,11 @@ WRITE8_MEMBER(kc_d004_gide_device::gide_w)
{
if (ide_cs == 0)
{
- m_ata->write16_cs0(space, io_addr & 0x07, m_ata_data, 0xffff);
+ m_ata->write16_cs0(io_addr & 0x07, m_ata_data);
}
else
{
- m_ata->write16_cs1(space, io_addr & 0x07, m_ata_data, 0xffff);
+ m_ata->write16_cs1(io_addr & 0x07, m_ata_data);
}
}
}
diff --git a/src/devices/bus/lpci/southbridge.cpp b/src/devices/bus/lpci/southbridge.cpp
index 6ed308499c4..1b467c39bc9 100644
--- a/src/devices/bus/lpci/southbridge.cpp
+++ b/src/devices/bus/lpci/southbridge.cpp
@@ -136,22 +136,22 @@ southbridge_device::southbridge_device(const machine_config &mconfig, device_typ
/// HACK: the memory system cannot cope with mixing the 8 bit device map from the fdc with a 32 bit handler
READ8_MEMBER(southbridge_device::ide_read_cs1_r)
{
- return m_ide->read32_cs1(space, 1, (uint32_t) 0xff0000) >> 16;
+ return m_ide->read32_cs1(1, 0xff0000) >> 16;
}
WRITE8_MEMBER(southbridge_device::ide_write_cs1_w)
{
- m_ide->write32_cs1(space, 1, (uint32_t) data << 16, (uint32_t) 0xff0000);
+ m_ide->write32_cs1(1, data << 16, 0xff0000);
}
READ8_MEMBER(southbridge_device::ide2_read_cs1_r)
{
- return m_ide2->read32_cs1(space, 1, (uint32_t) 0xff0000) >> 16;
+ return m_ide2->read32_cs1(1, 0xff0000) >> 16;
}
WRITE8_MEMBER(southbridge_device::ide2_write_cs1_w)
{
- m_ide2->write32_cs1(space, 1, (uint32_t) data << 16, (uint32_t) 0xff0000);
+ m_ide2->write32_cs1(1, data << 16, 0xff0000);
}
//-------------------------------------------------
diff --git a/src/devices/bus/ql/qubide.cpp b/src/devices/bus/ql/qubide.cpp
index dfa55185695..593e58057e2 100644
--- a/src/devices/bus/ql/qubide.cpp
+++ b/src/devices/bus/ql/qubide.cpp
@@ -210,15 +210,15 @@ uint8_t qubide_device::read(address_space &space, offs_t offset, uint8_t data)
switch (offset & 0x0f)
{
case 0:
- data = m_ata->read16_cs1(space, 0x07, 0xff);
+ data = m_ata->read16_cs1(0x07, 0xff);
break;
default:
- data = m_ata->read16_cs0(space, offset & 0x07, 0xff);
+ data = m_ata->read16_cs0(offset & 0x07, 0xff);
break;
case 0x08: case 0x0a: case 0x0c:
- m_ata_data = m_ata->read16_cs0(space, 0x00, 0xffff);
+ m_ata_data = m_ata->read16_cs0(0);
data = m_ata_data >> 8;
break;
@@ -228,7 +228,7 @@ uint8_t qubide_device::read(address_space &space, offs_t offset, uint8_t data)
break;
case 0x0e: case 0x0f:
- data = m_ata->read16_cs1(space, 0x05, 0xff);
+ data = m_ata->read16_cs1(0x05, 0xff);
break;
}
}
@@ -255,7 +255,7 @@ void qubide_device::write(address_space &space, offs_t offset, uint8_t data)
switch (offset & 0x0f)
{
case 0: case 0x0e: case 0x0f:
- m_ata->write16_cs1(space, 0x05, data, 0xff);
+ m_ata->write16_cs1(0x05, data, 0xff);
break;
case 0x08: case 0x0a: case 0x0c:
@@ -265,11 +265,11 @@ void qubide_device::write(address_space &space, offs_t offset, uint8_t data)
case 0x09: case 0x0b: case 0x0d:
m_ata_data = (m_ata_data & 0xff00) | data;
- m_ata->write16_cs0(space, 0x00, m_ata_data, 0xffff);
+ m_ata->write16_cs0(0, m_ata_data);
break;
default:
- m_ata->write16_cs0(space, offset & 0x07, data, 0xff);
+ m_ata->write16_cs0(offset & 0x07, data, 0xff);
break;
}
}
diff --git a/src/devices/bus/ti99/peb/tn_ide.cpp b/src/devices/bus/ti99/peb/tn_ide.cpp
index 781078528aa..83bcf0031f8 100644
--- a/src/devices/bus/ti99/peb/tn_ide.cpp
+++ b/src/devices/bus/ti99/peb/tn_ide.cpp
@@ -160,7 +160,7 @@ READ8Z_MEMBER(nouspikel_ide_interface_device::readz)
case 2: /* IDE registers set 1 (CS1Fx) */
if (m_tms9995_mode ? (!(addr & 1)) : (addr & 1))
{ /* first read triggers 16-bit read cycle */
- m_input_latch = (! (addr & 0x10)) ? m_ata->read16_cs0(space, (addr >> 1) & 0x7, 0xffff) : 0;
+ m_input_latch = (! (addr & 0x10)) ? m_ata->read16_cs0((addr >> 1) & 0x7) : 0;
}
/* return latched input */
@@ -171,7 +171,7 @@ READ8Z_MEMBER(nouspikel_ide_interface_device::readz)
case 3: /* IDE registers set 2 (CS3Fx) */
if (m_tms9995_mode ? (!(addr & 1)) : (addr & 1))
{ /* first read triggers 16-bit read cycle */
- m_input_latch = (! (addr & 0x10)) ? m_ata->read16_cs1(space, (addr >> 1) & 0x7, 0xffff) : 0;
+ m_input_latch = (! (addr & 0x10)) ? m_ata->read16_cs1((addr >> 1) & 0x7) : 0;
}
/* return latched input */
@@ -243,7 +243,7 @@ WRITE8_MEMBER(nouspikel_ide_interface_device::write)
if (m_tms9995_mode ? (addr & 1) : (!(addr & 1)))
{ /* second write triggers 16-bit write cycle */
- m_ata->write16_cs0(space, (addr >> 1) & 0x7, m_output_latch, 0xffff);
+ m_ata->write16_cs0((addr >> 1) & 0x7, m_output_latch);
}
break;
case 3: /* IDE registers set 2 (CS3Fx) */
@@ -261,7 +261,7 @@ WRITE8_MEMBER(nouspikel_ide_interface_device::write)
if (m_tms9995_mode ? (addr & 1) : (!(addr & 1)))
{ /* second write triggers 16-bit write cycle */
- m_ata->write16_cs1(space, (addr >> 1) & 0x7, m_output_latch, 0xffff);
+ m_ata->write16_cs1((addr >> 1) & 0x7, m_output_latch);
}
break;
}
diff --git a/src/devices/machine/atadev.cpp b/src/devices/machine/atadev.cpp
index 03cae8a67ed..d844ee9fd15 100644
--- a/src/devices/machine/atadev.cpp
+++ b/src/devices/machine/atadev.cpp
@@ -21,3 +21,24 @@ device_ata_interface::device_ata_interface(const machine_config &mconfig, device
m_pdiag_handler(device)
{
}
+
+
+READ16_MEMBER( device_ata_interface::read16_cs0 )
+{
+ return read16_cs0(offset, mem_mask);
+}
+
+READ16_MEMBER( device_ata_interface::read16_cs1 )
+{
+ return read16_cs1(offset, mem_mask);
+}
+
+WRITE16_MEMBER( device_ata_interface::write16_cs0 )
+{
+ write16_cs0(offset, data, mem_mask);
+}
+
+WRITE16_MEMBER( device_ata_interface::write16_cs1 )
+{
+ write16_cs1(offset, data, mem_mask);
+}
diff --git a/src/devices/machine/atadev.h b/src/devices/machine/atadev.h
index fd9ccf32ccf..8cc9404b6e8 100644
--- a/src/devices/machine/atadev.h
+++ b/src/devices/machine/atadev.h
@@ -24,13 +24,19 @@ class device_ata_interface : public device_slot_card_interface
public:
device_ata_interface(const machine_config &mconfig, device_t &device);
+ DECLARE_READ16_MEMBER(read16_cs0);
+ DECLARE_READ16_MEMBER(read16_cs1);
+ DECLARE_WRITE16_MEMBER(write16_cs0);
+ DECLARE_WRITE16_MEMBER(write16_cs1);
+
virtual uint16_t read_dma() = 0;
- virtual DECLARE_READ16_MEMBER(read16_cs0) = 0;
- virtual DECLARE_READ16_MEMBER(read16_cs1) = 0;
+ virtual u16 read16_cs0(offs_t offset, u16 mem_mask = 0xffff) = 0;
+ virtual u16 read16_cs1(offs_t offset, u16 mem_mask = 0xffff) = 0;
virtual void write_dma(uint16_t data) = 0;
- virtual DECLARE_WRITE16_MEMBER(write16_cs0) = 0;
- virtual DECLARE_WRITE16_MEMBER(write16_cs1) = 0;
+ virtual void write16_cs0(offs_t offset, u16 data, u16 mem_mask = 0xffff) = 0;
+ virtual void write16_cs1(offs_t offset, u16 data, u16 mem_mask = 0xffff) = 0;
+
virtual DECLARE_WRITE_LINE_MEMBER(write_dmack) = 0;
virtual DECLARE_WRITE_LINE_MEMBER(write_csel) = 0;
virtual DECLARE_WRITE_LINE_MEMBER(write_dasp) = 0;
diff --git a/src/devices/machine/ataflash.cpp b/src/devices/machine/ataflash.cpp
index c6fde433b90..991dad90ca6 100644
--- a/src/devices/machine/ataflash.cpp
+++ b/src/devices/machine/ataflash.cpp
@@ -37,11 +37,11 @@ READ16_MEMBER( ata_flash_pccard_device::read_memory )
if(offset <= 7)
{
m_8bit_data_transfers = !ACCESSING_BITS_8_15; // HACK
- return read16_cs0(space, offset, mem_mask);
+ return read16_cs0(offset, mem_mask);
}
else if(offset <= 15)
{
- return read16_cs1(space, offset & 7, mem_mask);
+ return read16_cs1(offset & 7, mem_mask);
}
else
{
@@ -54,11 +54,11 @@ WRITE16_MEMBER( ata_flash_pccard_device::write_memory )
if(offset <= 7)
{
m_8bit_data_transfers = !ACCESSING_BITS_8_15; // HACK
- write16_cs0(space, offset, data, mem_mask);
+ write16_cs0(offset, data, mem_mask);
}
else if( offset <= 15)
{
- write16_cs1(space, offset & 7, data, mem_mask);
+ write16_cs1(offset & 7, data, mem_mask);
}
}
diff --git a/src/devices/machine/atahle.cpp b/src/devices/machine/atahle.cpp
index f79cf7dd11f..e021d26d309 100644
--- a/src/devices/machine/atahle.cpp
+++ b/src/devices/machine/atahle.cpp
@@ -584,11 +584,11 @@ uint16_t ata_hle_device::read_dma()
return result;
}
-READ16_MEMBER( ata_hle_device::read16_cs0 )
+u16 ata_hle_device::read16_cs0(offs_t offset, u16)
{
/* logit */
// if (offset != IDE_CS0_DATA_RW && offset != IDE_CS0_STATUS_R)
- LOG(("%s:IDE cs0 read at %X, mem_mask=%d\n", machine().describe_context(), offset, mem_mask));
+ LOG(("%s:IDE cs0 read at %X\n", machine().describe_context(), offset));
uint16_t result = 0xffff;
@@ -596,7 +596,7 @@ READ16_MEMBER( ata_hle_device::read16_cs0 )
{
if (m_dmack)
{
- logerror( "%s: %s dev %d read_cs0 %04x %04x ignored (DMACK)\n", machine().describe_context(), tag(), dev(), offset, mem_mask );
+ logerror( "%s: %s dev %d read_cs0 %04x %04x ignored (DMACK)\n", machine().describe_context(), tag(), dev(), offset );
}
else if ((m_status & IDE_STATUS_BSY) && offset != IDE_CS0_STATUS_R)
{
@@ -607,7 +607,7 @@ READ16_MEMBER( ata_hle_device::read16_cs0 )
switch (offset)
{
case IDE_CS0_DATA_RW:
- logerror( "%s: %s dev %d read_cs0 %04x %04x ignored (BSY)\n", machine().describe_context(), tag(), dev(), offset, mem_mask );
+ logerror( "%s: %s dev %d read_cs0 %04x %04x ignored (BSY)\n", machine().describe_context(), tag(), dev(), offset );
break;
default:
@@ -692,7 +692,7 @@ READ16_MEMBER( ata_hle_device::read16_cs0 )
/* log anything else */
default:
- logerror("%s:unknown IDE cs0 read at %03X, mem_mask=%d\n", machine().describe_context(), offset, mem_mask);
+ logerror("%s:unknown IDE cs0 read at %03X\n", machine().describe_context(), offset);
break;
}
}
@@ -702,11 +702,12 @@ READ16_MEMBER( ata_hle_device::read16_cs0 )
return result;
}
-READ16_MEMBER( ata_hle_device::read16_cs1 )
+
+u16 ata_hle_device::read16_cs1(offs_t offset, u16)
{
/* logit */
// if (offset != IDE_CS1_ALTERNATE_STATUS_R)
- LOG(("%s:IDE cs1 read at %X, mem_mask=%d\n", machine().describe_context(), offset, mem_mask));
+ LOG(("%s:IDE cs1 read at %X\n", machine().describe_context(), offset));
uint16_t result = 0xffff;
@@ -714,7 +715,7 @@ READ16_MEMBER( ata_hle_device::read16_cs1 )
{
if (m_dmack)
{
- logerror( "%s: %s dev %d read_cs1 %04x %04x ignored (DMACK)\n", machine().describe_context(), tag(), dev(), offset, mem_mask );
+ logerror( "%s: %s dev %d read_cs1 %04x ignored (DMACK)\n", machine().describe_context(), tag(), dev(), offset );
}
else
{
@@ -758,7 +759,7 @@ READ16_MEMBER( ata_hle_device::read16_cs1 )
/* log anything else */
default:
- logerror("%s:unknown IDE cs1 read at %03X, mem_mask=%d\n", machine().describe_context(), offset, mem_mask);
+ logerror("%s:unknown IDE cs1 read at %03X\n", machine().describe_context(), offset);
break;
}
}
@@ -806,24 +807,23 @@ void ata_hle_device::write_dma( uint16_t data )
}
}
-WRITE16_MEMBER( ata_hle_device::write16_cs0 )
+void ata_hle_device::write16_cs0(offs_t offset, u16 data, u16)
{
/* logit */
if (offset != IDE_CS0_DATA_RW)
- LOG(("%s:IDE cs0 write to %X = %08X, mem_mask=%d\n", machine().describe_context(), offset, data, mem_mask));
- // fprintf(stderr, "ide write %03x %02x mem_mask=%d\n", offset, data, size);
+ LOG(("%s:IDE cs0 write to %X = %08X\n", machine().describe_context(), offset, data));
if (m_dmack)
{
- logerror( "%s: %s dev %d write_cs0 %04x %04x %04x ignored (DMACK)\n", machine().describe_context(), tag(), dev(), offset, data, mem_mask );
+ logerror( "%s: %s dev %d write_cs0 %04x %04x ignored (DMACK)\n", machine().describe_context(), tag(), dev(), offset, data );
}
else if ((m_status & IDE_STATUS_BSY) && offset != IDE_CS0_COMMAND_W)
{
- logerror( "%s: %s dev %d write_cs0 %04x %04x %04x ignored (BSY) command %02x\n", machine().describe_context(), tag(), dev(), offset, data, mem_mask, m_command );
+ logerror( "%s: %s dev %d write_cs0 %04x %04x ignored (BSY) command %02x\n", machine().describe_context(), tag(), dev(), offset, data, m_command );
}
else if ((m_status & IDE_STATUS_DRQ) && offset != IDE_CS0_DATA_RW && offset != IDE_CS0_COMMAND_W)
{
- logerror( "%s: %s dev %d write_cs0 %04x %04x %04x ignored (DRQ) command %02x\n", machine().describe_context(), tag(), dev(), offset, data, mem_mask, m_command );
+ logerror( "%s: %s dev %d write_cs0 %04x %04x ignored (DRQ) command %02x\n", machine().describe_context(), tag(), dev(), offset, data, m_command );
}
else
{
@@ -837,7 +837,7 @@ WRITE16_MEMBER( ata_hle_device::write16_cs0 )
{
if (!(m_status & IDE_STATUS_DRQ))
{
- logerror( "%s: %s dev %d write_cs0 %04x %04x %04x ignored (!DRQ)\n", machine().describe_context(), tag(), dev(), offset, data, mem_mask );
+ logerror( "%s: %s dev %d write_cs0 %04x %04x ignored (!DRQ)\n", machine().describe_context(), tag(), dev(), offset, data );
}
else
{
@@ -884,11 +884,11 @@ WRITE16_MEMBER( ata_hle_device::write16_cs0 )
// Packet devices can accept DEVICE RESET when BSY or DRQ is set.
if (m_status & IDE_STATUS_BSY)
{
- logerror( "%s: %s dev %d write_cs0 %04x %04x %04x ignored (BSY) command %02x\n", machine().describe_context(), tag(), dev(), offset, data, mem_mask, m_command );
+ logerror( "%s: %s dev %d write_cs0 %04x %04x ignored (BSY) command %02x\n", machine().describe_context(), tag(), dev(), offset, data, m_command );
}
else if (m_status & IDE_STATUS_DRQ)
{
- logerror( "%s: %s dev %d write_cs0 %04x %04x %04x ignored (DRQ) command %02x\n", machine().describe_context(), tag(), dev(), offset, data, mem_mask, m_command );
+ logerror( "%s: %s dev %d write_cs0 %04x %04x ignored (DRQ) command %02x\n", machine().describe_context(), tag(), dev(), offset, data, m_command );
}
else if (device_selected() || m_command == IDE_COMMAND_DIAGNOSTIC)
{
@@ -909,20 +909,20 @@ WRITE16_MEMBER( ata_hle_device::write16_cs0 )
break;
default:
- logerror("%s:unknown IDE cs0 write at %03X = %04x, mem_mask=%d\n", machine().describe_context(), offset, data, mem_mask);
+ logerror("%s:unknown IDE cs0 write at %03X = %04x\n", machine().describe_context(), offset, data);
break;
}
}
}
-WRITE16_MEMBER( ata_hle_device::write16_cs1 )
+void ata_hle_device::write16_cs1(offs_t offset, u16 data, u16)
{
/* logit */
- LOG(("%s:IDE cs1 write to %X = %08X, mem_mask=%d\n", machine().describe_context(), offset, data, mem_mask));
+ LOG(("%s:IDE cs1 write to %X = %08X\n", machine().describe_context(), offset, data));
if (m_dmack)
{
- logerror( "%s: %s dev %d write_cs1 %04x %04x %04x ignored (DMACK)\n", machine().describe_context(), tag(), dev(), offset, data, mem_mask );
+ logerror( "%s: %s dev %d write_cs1 %04x %04x ignored (DMACK)\n", machine().describe_context(), tag(), dev(), offset, data );
}
else
{
@@ -944,7 +944,7 @@ WRITE16_MEMBER( ata_hle_device::write16_cs1 )
{
if (m_resetting)
{
- logerror( "%s: %s dev %d write_cs1 %04x %04x %04x ignored (RESET)\n", machine().describe_context(), tag(), dev(), offset, data, mem_mask );
+ logerror( "%s: %s dev %d write_cs1 %04x %04x ignored (RESET)\n", machine().describe_context(), tag(), dev(), offset, data );
}
else
{
@@ -964,7 +964,7 @@ WRITE16_MEMBER( ata_hle_device::write16_cs1 )
break;
default:
- logerror("%s:unknown IDE cs1 write at %03X = %04x, mem_mask=%d\n", machine().describe_context(), offset, data, mem_mask);
+ logerror("%s:unknown IDE cs1 write at %03X = %04x\n", machine().describe_context(), offset, data);
break;
}
}
diff --git a/src/devices/machine/atahle.h b/src/devices/machine/atahle.h
index 81ac893f277..175e83b33db 100644
--- a/src/devices/machine/atahle.h
+++ b/src/devices/machine/atahle.h
@@ -19,17 +19,22 @@ class ata_hle_device : public device_t, public device_ata_interface
{
public:
virtual uint16_t read_dma() override;
- virtual DECLARE_READ16_MEMBER(read16_cs0) override;
- virtual DECLARE_READ16_MEMBER(read16_cs1) override;
+ virtual u16 read16_cs0(offs_t offset, u16 mem_mask = 0xffff) override;
+ virtual u16 read16_cs1(offs_t offset, u16 mem_mask = 0xffff) override;
virtual void write_dma(uint16_t data) override;
- virtual DECLARE_WRITE16_MEMBER(write16_cs0) override;
- virtual DECLARE_WRITE16_MEMBER(write16_cs1) override;
+ virtual void write16_cs0(offs_t offset, u16 data, u16 mem_mask = 0xffff) override;
+ virtual void write16_cs1(offs_t offset, u16 data, u16 mem_mask = 0xffff) override;
virtual DECLARE_WRITE_LINE_MEMBER(write_csel) override;
virtual DECLARE_WRITE_LINE_MEMBER(write_dasp) override;
virtual DECLARE_WRITE_LINE_MEMBER(write_dmack) override;
virtual DECLARE_WRITE_LINE_MEMBER(write_pdiag) override;
+ using device_ata_interface::read16_cs0;
+ using device_ata_interface::read16_cs1;
+ using device_ata_interface::write16_cs0;
+ using device_ata_interface::write16_cs1;
+
protected:
ata_hle_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
diff --git a/src/devices/machine/ataintf.cpp b/src/devices/machine/ataintf.cpp
index f5cb4a2a7d5..d41f4018c5b 100644
--- a/src/devices/machine/ataintf.cpp
+++ b/src/devices/machine/ataintf.cpp
@@ -136,12 +136,12 @@ uint16_t ata_interface_device::read_dma()
return result;
}
-READ16_MEMBER( ata_interface_device::read16_cs0 )
+u16 ata_interface_device::read16_cs0(offs_t offset, u16 mem_mask)
{
uint16_t result = mem_mask;
for (auto & elem : m_slot)
if (elem->dev() != nullptr)
- result &= elem->dev()->read16_cs0(space, offset, mem_mask);
+ result &= elem->dev()->read16_cs0(offset, mem_mask);
// { static int last_status = -1; if (offset == 7 ) { if( result == last_status ) return last_status; last_status = result; } else last_status = -1; }
@@ -150,18 +150,27 @@ READ16_MEMBER( ata_interface_device::read16_cs0 )
return result;
}
-READ16_MEMBER( ata_interface_device::read16_cs1 )
+u16 ata_interface_device::read16_cs1(offs_t offset, u16 mem_mask)
{
uint16_t result = mem_mask;
for (auto & elem : m_slot)
if (elem->dev() != nullptr)
- result &= elem->dev()->read16_cs1(space, offset, mem_mask);
+ result &= elem->dev()->read16_cs1(offset, mem_mask);
// logerror( "%s: read cs1 %04x %04x %04x\n", machine().describe_context(), offset, result, mem_mask );
return result;
}
+READ16_MEMBER( ata_interface_device::read16_cs0 )
+{
+ return read16_cs0(offset, mem_mask);
+}
+
+READ16_MEMBER( ata_interface_device::read16_cs1 )
+{
+ return read16_cs1(offset, mem_mask);
+}
/*************************************
*
@@ -178,22 +187,32 @@ void ata_interface_device::write_dma( uint16_t data )
elem->dev()->write_dma(data);
}
-WRITE16_MEMBER( ata_interface_device::write16_cs0 )
+void ata_interface_device::write16_cs0(offs_t offset, u16 data, u16 mem_mask)
{
// logerror( "%s: write cs0 %04x %04x %04x\n", machine().describe_context(), offset, data, mem_mask );
for (auto & elem : m_slot)
if (elem->dev() != nullptr)
- elem->dev()->write16_cs0(space, offset, data, mem_mask);
+ elem->dev()->write16_cs0(offset, data, mem_mask);
}
-WRITE16_MEMBER( ata_interface_device::write16_cs1 )
+void ata_interface_device::write16_cs1(offs_t offset, u16 data, u16 mem_mask)
{
// logerror( "%s: write cs1 %04x %04x %04x\n", machine().describe_context(), offset, data, mem_mask );
for (auto & elem : m_slot)
if (elem->dev() != nullptr)
- elem->dev()->write16_cs1(space, offset, data, mem_mask);
+ elem->dev()->write16_cs1(offset, data, mem_mask);
+}
+
+WRITE16_MEMBER( ata_interface_device::write16_cs0 )
+{
+ write16_cs0(offset, data, mem_mask);
+}
+
+WRITE16_MEMBER( ata_interface_device::write16_cs1 )
+{
+ write16_cs1(offset, data, mem_mask);
}
WRITE_LINE_MEMBER( ata_interface_device::write_dmack )
diff --git a/src/devices/machine/ataintf.h b/src/devices/machine/ataintf.h
index 99900b9806e..bc5b9f42d49 100644
--- a/src/devices/machine/ataintf.h
+++ b/src/devices/machine/ataintf.h
@@ -85,13 +85,18 @@ public:
template <class Object> static devcb_base &set_dmarq_handler(device_t &device, Object &&cb) { return downcast<ata_interface_device &>(device).m_dmarq_handler.set_callback(std::forward<Object>(cb)); }
template <class Object> static devcb_base &set_dasp_handler(device_t &device, Object &&cb) { return downcast<ata_interface_device &>(device).m_dasp_handler.set_callback(std::forward<Object>(cb)); }
+ DECLARE_READ16_MEMBER(read16_cs0);
+ DECLARE_READ16_MEMBER(read16_cs1);
+ DECLARE_WRITE16_MEMBER(write16_cs0);
+ DECLARE_WRITE16_MEMBER(write16_cs1);
+
uint16_t read_dma();
- virtual DECLARE_READ16_MEMBER(read16_cs0);
- virtual DECLARE_READ16_MEMBER(read16_cs1);
+ virtual u16 read16_cs0(offs_t offset, u16 mem_mask = 0xffff);
+ virtual u16 read16_cs1(offs_t offset, u16 mem_mask = 0xffff);
void write_dma(uint16_t data);
- virtual DECLARE_WRITE16_MEMBER(write16_cs0);
- virtual DECLARE_WRITE16_MEMBER(write16_cs1);
+ virtual void write16_cs0(offs_t offset, u16 data, u16 mem_mask = 0xffff);
+ virtual void write16_cs1(offs_t offset, u16 data, u16 mem_mask = 0xffff);
DECLARE_WRITE_LINE_MEMBER(write_dmack);
protected:
diff --git a/src/devices/machine/idectrl.cpp b/src/devices/machine/idectrl.cpp
index f32968ed3ce..cbd4e622621 100644
--- a/src/devices/machine/idectrl.cpp
+++ b/src/devices/machine/idectrl.cpp
@@ -36,7 +36,7 @@ ide_controller_device::ide_controller_device(const machine_config &mconfig, devi
{
}
-READ16_MEMBER( ide_controller_device::read16_cs0 )
+u16 ide_controller_device::read16_cs0(offs_t offset, u16 mem_mask)
{
if (mem_mask == 0xffff && offset == 1)
{
@@ -45,48 +45,48 @@ READ16_MEMBER( ide_controller_device::read16_cs0 )
}
if (mem_mask == 0xff00)
{
- return ata_interface_device::read16_cs0(space, (offset * 2) + 1, 0xff) << 8;
+ return ata_interface_device::read16_cs0((offset * 2) + 1, 0xff) << 8;
}
else
{
- return ata_interface_device::read16_cs0(space, offset * 2, mem_mask);
+ return ata_interface_device::read16_cs0(offset * 2, mem_mask);
}
}
-READ16_MEMBER( ide_controller_device::read16_cs1 )
+u16 ide_controller_device::read16_cs1(offs_t offset, u16 mem_mask)
{
if (mem_mask == 0xff00)
{
- return ata_interface_device::read16_cs1(space, (offset * 2) + 1, 0xff) << 8;
+ return ata_interface_device::read16_cs1((offset * 2) + 1, 0xff) << 8;
}
else
{
- return ata_interface_device::read16_cs1(space, offset * 2, mem_mask);
+ return ata_interface_device::read16_cs1(offset * 2, mem_mask);
}
}
-WRITE16_MEMBER( ide_controller_device::write16_cs0 )
+void ide_controller_device::write16_cs0(offs_t offset, u16 data, u16 mem_mask)
{
if (mem_mask == 0xffff && offset == 1 ){ offset = 0; popmessage( "requires ide_controller_32_device" ); }
if (mem_mask == 0xff00)
{
- return ata_interface_device::write16_cs0(space, (offset * 2) + 1, data >> 8, 0xff);
+ return ata_interface_device::write16_cs0((offset * 2) + 1, data >> 8, 0xff);
}
else
{
- return ata_interface_device::write16_cs0(space, offset * 2, data, mem_mask);
+ return ata_interface_device::write16_cs0(offset * 2, data, mem_mask);
}
}
-WRITE16_MEMBER( ide_controller_device::write16_cs1 )
+void ide_controller_device::write16_cs1(offs_t offset, u16 data, u16 mem_mask)
{
if (mem_mask == 0xff00)
{
- return ata_interface_device::write16_cs1(space, (offset * 2) + 1, data >> 8, 0xff);
+ return ata_interface_device::write16_cs1((offset * 2) + 1, data >> 8, 0xff);
}
else
{
- return ata_interface_device::write16_cs1(space, offset * 2, data, mem_mask);
+ return ata_interface_device::write16_cs1(offset * 2, data, mem_mask);
}
}
@@ -105,18 +105,23 @@ ide_controller_32_device::ide_controller_32_device(const machine_config &mconfig
READ32_MEMBER(ide_controller_32_device::read32_cs0)
{
+ return read32_cs0(offset, mem_mask);
+}
+
+u32 ide_controller_32_device::read32_cs0(offs_t offset, u32 mem_mask)
+{
uint32_t data = 0;
if (ACCESSING_BITS_0_15)
{
- data = ide_controller_device::read16_cs0(space, (offset * 2), mem_mask);
+ data = ide_controller_device::read16_cs0((offset * 2), mem_mask);
if (offset == 0 && ACCESSING_BITS_16_31)
- data |= ide_controller_device::read16_cs0(space, (offset * 2), mem_mask >> 16) << 16;
+ data |= ide_controller_device::read16_cs0((offset * 2), mem_mask >> 16) << 16;
}
else if (ACCESSING_BITS_16_31)
{
- data = ide_controller_device::read16_cs0(space, (offset * 2) + 1, mem_mask >> 16) << 16;
+ data = ide_controller_device::read16_cs0((offset * 2) + 1, mem_mask >> 16) << 16;
}
return data;
@@ -124,15 +129,20 @@ READ32_MEMBER(ide_controller_32_device::read32_cs0)
READ32_MEMBER(ide_controller_32_device::read32_cs1)
{
+ return read32_cs1(offset, mem_mask);
+}
+
+u32 ide_controller_32_device::read32_cs1(offs_t offset, u32 mem_mask)
+{
uint32_t data = 0;
if (ACCESSING_BITS_0_15)
{
- data = ide_controller_device::read16_cs1(space, (offset * 2), mem_mask);
+ data = ide_controller_device::read16_cs1((offset * 2), mem_mask);
}
else if (ACCESSING_BITS_16_23)
{
- data = ide_controller_device::read16_cs1(space, (offset * 2) + 1, mem_mask >> 16) << 16;
+ data = ide_controller_device::read16_cs1((offset * 2) + 1, mem_mask >> 16) << 16;
}
return data;
@@ -140,28 +150,38 @@ READ32_MEMBER(ide_controller_32_device::read32_cs1)
WRITE32_MEMBER(ide_controller_32_device::write32_cs0)
{
+ write32_cs0(offset, data, mem_mask);
+}
+
+void ide_controller_32_device::write32_cs0(offs_t offset, u32 data, u32 mem_mask)
+{
if (ACCESSING_BITS_0_15)
{
- ide_controller_device::write16_cs0(space, (offset * 2), data, mem_mask);
+ ide_controller_device::write16_cs0((offset * 2), data, mem_mask);
if (offset == 0 && ACCESSING_BITS_16_31)
- ata_interface_device::write16_cs0(space, (offset * 2), data >> 16, mem_mask >> 16);
+ ata_interface_device::write16_cs0((offset * 2), data >> 16, mem_mask >> 16);
}
else if (ACCESSING_BITS_16_31)
{
- ide_controller_device::write16_cs0(space, (offset * 2) + 1, data >> 16, mem_mask >> 16);
+ ide_controller_device::write16_cs0((offset * 2) + 1, data >> 16, mem_mask >> 16);
}
}
WRITE32_MEMBER(ide_controller_32_device::write32_cs1)
{
+ write32_cs1(offset, data, mem_mask);
+}
+
+void ide_controller_32_device::write32_cs1(offs_t offset, u32 data, u32 mem_mask)
+{
if (ACCESSING_BITS_0_15)
{
- ide_controller_device::write16_cs1(space, (offset * 2), data, mem_mask);
+ ide_controller_device::write16_cs1((offset * 2), data, mem_mask);
}
else if (ACCESSING_BITS_16_31)
{
- ide_controller_device::write16_cs1(space, (offset * 2) + 1, data >> 16, mem_mask >> 16);
+ ide_controller_device::write16_cs1((offset * 2) + 1, data >> 16, mem_mask >> 16);
}
}
diff --git a/src/devices/machine/idectrl.h b/src/devices/machine/idectrl.h
index 1017826d246..a6995e7af39 100644
--- a/src/devices/machine/idectrl.h
+++ b/src/devices/machine/idectrl.h
@@ -32,10 +32,15 @@ class ide_controller_device : public ata_interface_device
public:
ide_controller_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_READ16_MEMBER(read16_cs0) override;
- virtual DECLARE_READ16_MEMBER(read16_cs1) override;
- virtual DECLARE_WRITE16_MEMBER(write16_cs0) override;
- virtual DECLARE_WRITE16_MEMBER(write16_cs1) override;
+ virtual u16 read16_cs0(offs_t offset, u16 mem_mask = 0xffff) override;
+ virtual u16 read16_cs1(offs_t offset, u16 mem_mask = 0xffff) override;
+ virtual void write16_cs0(offs_t offset, u16 data, u16 mem_mask = 0xffff) override;
+ virtual void write16_cs1(offs_t offset, u16 data, u16 mem_mask = 0xffff) override;
+
+ using ata_interface_device::read16_cs0;
+ using ata_interface_device::read16_cs1;
+ using ata_interface_device::write16_cs0;
+ using ata_interface_device::write16_cs1;
protected:
ide_controller_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
@@ -57,10 +62,15 @@ class ide_controller_32_device : public ide_controller_device
public:
ide_controller_32_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_READ32_MEMBER(read32_cs0);
- virtual DECLARE_READ32_MEMBER(read32_cs1);
- virtual DECLARE_WRITE32_MEMBER(write32_cs0);
- virtual DECLARE_WRITE32_MEMBER(write32_cs1);
+ u32 read32_cs0(offs_t offset, u32 mem_mask = 0xffffffff);
+ u32 read32_cs1(offs_t offset, u32 mem_mask = 0xffffffff);
+ void write32_cs0(offs_t offset, u32 data, u32 mem_mask = 0xffffffff);
+ void write32_cs1(offs_t offset, u32 data, u32 mem_mask = 0xffffffff);
+
+ DECLARE_READ32_MEMBER(read32_cs0);
+ DECLARE_READ32_MEMBER(read32_cs1);
+ DECLARE_WRITE32_MEMBER(write32_cs0);
+ DECLARE_WRITE32_MEMBER(write32_cs1);
protected:
ide_controller_32_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
diff --git a/src/devices/machine/pci-ide.cpp b/src/devices/machine/pci-ide.cpp
index 4ff36f856d1..acc6472bd9a 100644
--- a/src/devices/machine/pci-ide.cpp
+++ b/src/devices/machine/pci-ide.cpp
@@ -117,7 +117,7 @@ READ32_MEMBER(ide_pci_device::ide_read_cs1)
{
// PCI offset starts at 0x3f4, idectrl expects 0x3f0
uint32_t data;
- data = m_ide->read32_cs1(space, 1, mem_mask);
+ data = m_ide->read32_cs1(1, mem_mask);
if (0)
logerror("%s:ide_read_cs1 offset=%08X data=%08X mask=%08X\n", machine().describe_context(), offset, data, mem_mask);
return data;
@@ -126,21 +126,21 @@ READ32_MEMBER(ide_pci_device::ide_read_cs1)
WRITE32_MEMBER(ide_pci_device::ide_write_cs1)
{
// PCI offset starts at 0x3f4, idectrl expects 0x3f0
- m_ide->write32_cs1(space, 1, data, mem_mask);
+ m_ide->write32_cs1(1, data, mem_mask);
}
READ32_MEMBER(ide_pci_device::ide2_read_cs1)
{
// PCI offset starts at 0x374, idectrl expects 0x370
uint32_t data;
- data = m_ide2->read32_cs1(space, 1, mem_mask);
+ data = m_ide2->read32_cs1(1, mem_mask);
return data;
}
WRITE32_MEMBER(ide_pci_device::ide2_write_cs1)
{
// PCI offset starts at 0x374, idectrl expects 0x370
- m_ide2->write32_cs1(space, 1, data, mem_mask);
+ m_ide2->write32_cs1(1, data, mem_mask);
}
WRITE_LINE_MEMBER(ide_pci_device::ide_interrupt)
diff --git a/src/devices/machine/vt83c461.cpp b/src/devices/machine/vt83c461.cpp
index e085924e107..afe6071f9d3 100644
--- a/src/devices/machine/vt83c461.cpp
+++ b/src/devices/machine/vt83c461.cpp
@@ -37,10 +37,15 @@ void vt83c461_device::device_start()
READ32_MEMBER( vt83c461_device::read_config )
{
+ return read_config(offset);
+}
+
+uint32_t vt83c461_device::read_config(offs_t offset)
+{
uint32_t result = 0;
/* logit */
- LOG("%s:IDE via config read at %X, mem_mask=%d\n", machine().describe_context(), offset, mem_mask);
+ LOG("%s:IDE via config read at %X\n", machine().describe_context(), offset);
switch(offset)
{
@@ -61,20 +66,22 @@ READ32_MEMBER( vt83c461_device::read_config )
break;
default:
- logerror("%s:unknown IDE via config read at %03X, mem_mask=%d\n", machine().describe_context(), offset, mem_mask);
+ logerror("%s:unknown IDE via config read at %03X\n", machine().describe_context(), offset);
break;
}
-// printf( "vt83c461 read config %04x %08x %04x\n", offset, result, mem_mask );
return result;
}
WRITE32_MEMBER( vt83c461_device::write_config )
{
-// printf( "vt83c461 write config %04x %08x %04x\n", offset, data, mem_mask );
+ write_config(offset, data);
+}
+void vt83c461_device::write_config(offs_t offset, uint32_t data)
+{
/* logit */
- LOG("%s:IDE via config write to %X = %08X, mem_mask=%d\n", machine().describe_context(), offset, data, mem_mask);
+ LOG("%s:IDE via config write to %X = %08X\n", machine().describe_context(), offset, data);
switch (offset)
{
@@ -95,7 +102,7 @@ WRITE32_MEMBER( vt83c461_device::write_config )
break;
default:
- logerror("%s:unknown IDE via config write at %03X = %08x, mem_mask=%d\n", machine().describe_context(), offset, data, mem_mask);
+ logerror("%s:unknown IDE via config write at %03X = %08x\n", machine().describe_context(), offset, data);
break;
}
}
diff --git a/src/devices/machine/vt83c461.h b/src/devices/machine/vt83c461.h
index 26dc2916641..9d7d015aa44 100644
--- a/src/devices/machine/vt83c461.h
+++ b/src/devices/machine/vt83c461.h
@@ -32,6 +32,9 @@ class vt83c461_device : public ide_controller_32_device
public:
vt83c461_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ uint32_t read_config(offs_t offset);
+ void write_config(offs_t offset, u32 data);
+
DECLARE_READ32_MEMBER(read_config);
DECLARE_WRITE32_MEMBER(write_config);
diff --git a/src/mame/drivers/amiga.cpp b/src/mame/drivers/amiga.cpp
index 0dac55ae493..c45179b6683 100644
--- a/src/mame/drivers/amiga.cpp
+++ b/src/mame/drivers/amiga.cpp
@@ -755,9 +755,9 @@ READ16_MEMBER( a4000_state::ide_r )
// this very likely doesn't respond to all the addresses, figure out which ones
if (BIT(offset, 12))
- data = m_ata->read16_cs1(space, (offset >> 1) & 0x07, mem_mask);
+ data = m_ata->read16_cs1((offset >> 1) & 0x07, mem_mask);
else
- data = m_ata->read16_cs0(space, (offset >> 1) & 0x07, mem_mask);
+ data = m_ata->read16_cs0((offset >> 1) & 0x07, mem_mask);
// swap
data = (data << 8) | (data >> 8);
@@ -777,9 +777,9 @@ WRITE16_MEMBER( a4000_state::ide_w )
// this very likely doesn't respond to all the addresses, figure out which ones
if (BIT(offset, 12))
- m_ata->write16_cs1(space, (offset >> 1) & 0x07, data, mem_mask);
+ m_ata->write16_cs1((offset >> 1) & 0x07, data, mem_mask);
else
- m_ata->write16_cs0(space, (offset >> 1) & 0x07, data, mem_mask);
+ m_ata->write16_cs0((offset >> 1) & 0x07, data, mem_mask);
}
WRITE_LINE_MEMBER( a4000_state::ide_interrupt_w )
diff --git a/src/mame/drivers/cobra.cpp b/src/mame/drivers/cobra.cpp
index e6466abcba9..6e51f108c4e 100644
--- a/src/mame/drivers/cobra.cpp
+++ b/src/mame/drivers/cobra.cpp
@@ -1947,7 +1947,7 @@ READ16_MEMBER(cobra_state::sub_ata0_r)
{
mem_mask = ( mem_mask << 8 ) | ( mem_mask >> 8 );
- uint32_t data = m_ata->read16_cs0(space, offset, mem_mask);
+ uint32_t data = m_ata->read16_cs0(offset, mem_mask);
data = ( data << 8 ) | ( data >> 8 );
return data;
@@ -1958,14 +1958,14 @@ WRITE16_MEMBER(cobra_state::sub_ata0_w)
mem_mask = ( mem_mask << 8 ) | ( mem_mask >> 8 );
data = ( data << 8 ) | ( data >> 8 );
- m_ata->write16_cs0(space, offset, data, mem_mask);
+ m_ata->write16_cs0(offset, data, mem_mask);
}
READ16_MEMBER(cobra_state::sub_ata1_r)
{
mem_mask = ( mem_mask << 8 ) | ( mem_mask >> 8 );
- uint32_t data = m_ata->read16_cs1(space, offset, mem_mask);
+ uint32_t data = m_ata->read16_cs1(offset, mem_mask);
return ( data << 8 ) | ( data >> 8 );
}
@@ -1975,7 +1975,7 @@ WRITE16_MEMBER(cobra_state::sub_ata1_w)
mem_mask = ( mem_mask << 8 ) | ( mem_mask >> 8 );
data = ( data << 8 ) | ( data >> 8 );
- m_ata->write16_cs1(space, offset, data, mem_mask);
+ m_ata->write16_cs1(offset, data, mem_mask);
}
READ32_MEMBER(cobra_state::sub_comram_r)
diff --git a/src/mame/drivers/firebeat.cpp b/src/mame/drivers/firebeat.cpp
index 30611940fe5..c2a8341c9e5 100644
--- a/src/mame/drivers/firebeat.cpp
+++ b/src/mame/drivers/firebeat.cpp
@@ -448,12 +448,12 @@ READ32_MEMBER(firebeat_state::ata_command_r )
// printf("ata_command_r: %08X, %08X\n", offset, mem_mask);
if (ACCESSING_BITS_16_31)
{
- r = m_ata->read16_cs0(space, offset*2, BYTESWAP16((mem_mask >> 16) & 0xffff));
+ r = m_ata->read16_cs0(offset*2, BYTESWAP16((mem_mask >> 16) & 0xffff));
return BYTESWAP16(r) << 16;
}
else
{
- r = m_ata->read16_cs0(space, (offset*2) + 1, BYTESWAP16((mem_mask >> 0) & 0xffff));
+ r = m_ata->read16_cs0((offset*2) + 1, BYTESWAP16((mem_mask >> 0) & 0xffff));
return BYTESWAP16(r) << 0;
}
}
@@ -464,11 +464,11 @@ WRITE32_MEMBER(firebeat_state::ata_command_w )
if (ACCESSING_BITS_16_31)
{
- m_ata->write16_cs0(space, offset*2, BYTESWAP16((data >> 16) & 0xffff), BYTESWAP16((mem_mask >> 16) & 0xffff));
+ m_ata->write16_cs0(offset*2, BYTESWAP16((data >> 16) & 0xffff), BYTESWAP16((mem_mask >> 16) & 0xffff));
}
else
{
- m_ata->write16_cs0(space, (offset*2) + 1, BYTESWAP16((data >> 0) & 0xffff), BYTESWAP16((mem_mask >> 0) & 0xffff));
+ m_ata->write16_cs0((offset*2) + 1, BYTESWAP16((data >> 0) & 0xffff), BYTESWAP16((mem_mask >> 0) & 0xffff));
}
}
@@ -480,12 +480,12 @@ READ32_MEMBER(firebeat_state::ata_control_r )
if (ACCESSING_BITS_16_31)
{
- r = m_ata->read16_cs1(space, offset*2, BYTESWAP16((mem_mask >> 16) & 0xffff));
+ r = m_ata->read16_cs1(offset*2, BYTESWAP16((mem_mask >> 16) & 0xffff));
return BYTESWAP16(r) << 16;
}
else
{
- r = m_ata->read16_cs1(space, (offset*2) + 1, BYTESWAP16((mem_mask >> 0) & 0xffff));
+ r = m_ata->read16_cs1((offset*2) + 1, BYTESWAP16((mem_mask >> 0) & 0xffff));
return BYTESWAP16(r) << 0;
}
}
@@ -494,11 +494,11 @@ WRITE32_MEMBER(firebeat_state::ata_control_w )
{
if (ACCESSING_BITS_16_31)
{
- m_ata->write16_cs1(space, offset*2, BYTESWAP16(data >> 16) & 0xffff, BYTESWAP16((mem_mask >> 16) & 0xffff));
+ m_ata->write16_cs1(offset*2, BYTESWAP16(data >> 16) & 0xffff, BYTESWAP16((mem_mask >> 16) & 0xffff));
}
else
{
- m_ata->write16_cs1(space, (offset*2) + 1, BYTESWAP16(data >> 0) & 0xffff, BYTESWAP16((mem_mask >> 0) & 0xffff));
+ m_ata->write16_cs1((offset*2) + 1, BYTESWAP16(data >> 0) & 0xffff, BYTESWAP16((mem_mask >> 0) & 0xffff));
}
}
diff --git a/src/mame/drivers/jaguar.cpp b/src/mame/drivers/jaguar.cpp
index a2090a66503..85a5c7e7666 100644
--- a/src/mame/drivers/jaguar.cpp
+++ b/src/mame/drivers/jaguar.cpp
@@ -382,7 +382,7 @@ public:
{
}
- virtual DECLARE_WRITE16_MEMBER(write16_cs0) override
+ virtual void write16_cs0(offs_t offset, u16 data, u16 mem_mask) override
{
// the first write is to the device head register
if( offset == 6 && (m_status & IDE_STATUS_DRQ))
@@ -390,7 +390,7 @@ public:
m_status &= ~IDE_STATUS_DRQ;
}
- ide_hdd_device::write16_cs0(space, offset, data, mem_mask);
+ ide_hdd_device::write16_cs0(offset, data, mem_mask);
}
};
diff --git a/src/mame/drivers/kinst.cpp b/src/mame/drivers/kinst.cpp
index 43cc2e86ce9..1f718930278 100644
--- a/src/mame/drivers/kinst.cpp
+++ b/src/mame/drivers/kinst.cpp
@@ -342,25 +342,25 @@ INTERRUPT_GEN_MEMBER(kinst_state::irq0_start)
READ32_MEMBER(kinst_state::ide_r)
{
- return m_ata->read16_cs0(space, offset / 2, mem_mask);
+ return m_ata->read16_cs0(offset / 2, mem_mask);
}
WRITE32_MEMBER(kinst_state::ide_w)
{
- m_ata->write16_cs0(space, offset / 2, data, mem_mask);
+ m_ata->write16_cs0(offset / 2, data, mem_mask);
}
READ32_MEMBER(kinst_state::ide_extra_r)
{
- return m_ata->read16_cs1(space, 6, 0xff);
+ return m_ata->read16_cs1(6, 0xff);
}
WRITE32_MEMBER(kinst_state::ide_extra_w)
{
- m_ata->write16_cs1(space, 6, data, 0xff);
+ m_ata->write16_cs1(6, data, 0xff);
}
diff --git a/src/mame/drivers/ksys573.cpp b/src/mame/drivers/ksys573.cpp
index 3fe3ddd96e7..62b9b0faebd 100644
--- a/src/mame/drivers/ksys573.cpp
+++ b/src/mame/drivers/ksys573.cpp
@@ -625,19 +625,17 @@ TIMER_CALLBACK_MEMBER( ksys573_state::atapi_xfer_end )
m_atapi_timer->adjust( attotime::never );
- address_space &space = m_maincpu->space( AS_PROGRAM );
-
for( int i = 0; i < m_atapi_xfersize; i++ )
{
- uint32_t d = m_ata->read16_cs0( space, (uint32_t) 0, (uint32_t) 0xffff ) << 0;
- d |= m_ata->read16_cs0( space, (uint32_t) 0, (uint32_t) 0xffff ) << 16;
+ uint32_t d = m_ata->read16_cs0(0) << 0;
+ d |= m_ata->read16_cs0(0) << 16;
m_p_n_psxram[ m_atapi_xferbase / 4 ] = d;
m_atapi_xferbase += 4;
}
/// HACK: konami80s only works if you dma more data than requested
- if( ( m_ata->read16_cs1( space, (uint32_t) 6, (uint32_t) 0xffff ) & 8 ) != 0 )
+ if( ( m_ata->read16_cs1(6) & 8 ) != 0 )
{
m_atapi_timer->adjust( m_maincpu->cycles_to_attotime( ( ATAPI_CYCLES_PER_SECTOR * ( m_atapi_xfersize / 64 ) ) ) );
}
diff --git a/src/mame/drivers/pc9801.cpp b/src/mame/drivers/pc9801.cpp
index 19945e6c790..6b7bcc42704 100644
--- a/src/mame/drivers/pc9801.cpp
+++ b/src/mame/drivers/pc9801.cpp
@@ -511,22 +511,22 @@ WRITE8_MEMBER(pc9801_state::ide_ctrl_w)
READ16_MEMBER(pc9801_state::ide_cs0_r)
{
- return (m_ide_sel ? m_ide2 : m_ide1)->read16_cs0(space, offset, mem_mask);
+ return (m_ide_sel ? m_ide2 : m_ide1)->read16_cs0(offset, mem_mask);
}
WRITE16_MEMBER(pc9801_state::ide_cs0_w)
{
- (m_ide_sel ? m_ide2 : m_ide1)->write16_cs0(space, offset, data, mem_mask);
+ (m_ide_sel ? m_ide2 : m_ide1)->write16_cs0(offset, data, mem_mask);
}
READ16_MEMBER(pc9801_state::ide_cs1_r)
{
- return (m_ide_sel ? m_ide2 : m_ide1)->read16_cs1(space, offset, mem_mask);
+ return (m_ide_sel ? m_ide2 : m_ide1)->read16_cs1(offset, mem_mask);
}
WRITE16_MEMBER(pc9801_state::ide_cs1_w)
{
- (m_ide_sel ? m_ide2 : m_ide1)->write16_cs1(space, offset, data, mem_mask);
+ (m_ide_sel ? m_ide2 : m_ide1)->write16_cs1(offset, data, mem_mask);
}
WRITE_LINE_MEMBER(pc9801_state::ide1_irq_w)
diff --git a/src/mame/drivers/qdrmfgp.cpp b/src/mame/drivers/qdrmfgp.cpp
index 3d52c96a280..03e0c3e1b52 100644
--- a/src/mame/drivers/qdrmfgp.cpp
+++ b/src/mame/drivers/qdrmfgp.cpp
@@ -224,7 +224,7 @@ READ16_MEMBER(qdrmfgp_state::gp2_ide_std_r)
break;
}
}
- return m_ata->read16_cs0(space, offset, mem_mask);
+ return m_ata->read16_cs0(offset, mem_mask);
}
diff --git a/src/mame/drivers/taitotz.cpp b/src/mame/drivers/taitotz.cpp
index 25380aa5f12..dc5dae94808 100644
--- a/src/mame/drivers/taitotz.cpp
+++ b/src/mame/drivers/taitotz.cpp
@@ -2176,7 +2176,7 @@ WRITE8_MEMBER(taitotz_state::tlcs_rtc_w)
READ16_MEMBER(taitotz_state::tlcs_ide0_r)
{
- uint16_t d = m_ata->read16_cs0(space, offset, mem_mask);
+ uint16_t d = m_ata->read16_cs0(offset, mem_mask);
if (offset == 7)
d &= ~0x2; // Type Zero doesn't like the index bit. It's defined as vendor-specific, so it probably shouldn't be up...
// The status check explicitly checks for 0x50 (drive ready, seek complete).
@@ -2185,7 +2185,7 @@ READ16_MEMBER(taitotz_state::tlcs_ide0_r)
READ16_MEMBER(taitotz_state::tlcs_ide1_r)
{
- uint16_t d = m_ata->read16_cs1(space, offset, mem_mask);
+ uint16_t d = m_ata->read16_cs1(offset, mem_mask);
if (offset == 6)
d &= ~0x2; // Type Zero doesn't like the index bit. It's defined as vendor-specific, so it probably shouldn't be up...
// The status check explicitly checks for 0x50 (drive ready, seek complete).
diff --git a/src/mame/drivers/viper.cpp b/src/mame/drivers/viper.cpp
index d99488af903..b06fc5c108d 100644
--- a/src/mame/drivers/viper.cpp
+++ b/src/mame/drivers/viper.cpp
@@ -1370,7 +1370,7 @@ READ64_MEMBER(viper_state::cf_card_data_r)
{
case 0x8: // Duplicate Even RD Data
{
- r |= m_ata->read16_cs0(space, 0, mem_mask >> 16) << 16;
+ r |= m_ata->read16_cs0(0, mem_mask >> 16) << 16;
break;
}
@@ -1391,7 +1391,7 @@ WRITE64_MEMBER(viper_state::cf_card_data_w)
{
case 0x8: // Duplicate Even RD Data
{
- m_ata->write16_cs0(space, 0, data >> 16, mem_mask >> 16);
+ m_ata->write16_cs0(0, data >> 16, mem_mask >> 16);
break;
}
@@ -1422,7 +1422,7 @@ READ64_MEMBER(viper_state::cf_card_r)
case 0x6: // Select Card/Head
case 0x7: // Status
{
- r |= m_ata->read16_cs0(space, offset & 7, mem_mask >> 16) << 16;
+ r |= m_ata->read16_cs0(offset & 7, mem_mask >> 16) << 16;
break;
}
@@ -1431,13 +1431,13 @@ READ64_MEMBER(viper_state::cf_card_r)
case 0xd: // Duplicate Error
{
- r |= m_ata->read16_cs0(space, 1, mem_mask >> 16) << 16;
+ r |= m_ata->read16_cs0(1, mem_mask >> 16) << 16;
break;
}
case 0xe: // Alt Status
case 0xf: // Drive Address
{
- r |= m_ata->read16_cs1(space, offset & 7, mem_mask >> 16) << 16;
+ r |= m_ata->read16_cs1(offset & 7, mem_mask >> 16) << 16;
break;
}
@@ -1487,7 +1487,7 @@ WRITE64_MEMBER(viper_state::cf_card_w)
case 0x6: // Select Card/Head
case 0x7: // Command
{
- m_ata->write16_cs0(space, offset & 7, data >> 16, mem_mask >> 16);
+ m_ata->write16_cs0(offset & 7, data >> 16, mem_mask >> 16);
break;
}
@@ -1496,13 +1496,13 @@ WRITE64_MEMBER(viper_state::cf_card_w)
case 0xd: // Duplicate Features
{
- m_ata->write16_cs0(space, 1, data >> 16, mem_mask >> 16);
+ m_ata->write16_cs0(1, data >> 16, mem_mask >> 16);
break;
}
case 0xe: // Device Ctl
case 0xf: // Reserved
{
- m_ata->write16_cs1(space, offset & 7, data >> 16, mem_mask >> 16);
+ m_ata->write16_cs1(offset & 7, data >> 16, mem_mask >> 16);
break;
}
@@ -1557,10 +1557,10 @@ READ64_MEMBER(viper_state::ata_r)
switch(offset & 0x80)
{
case 0x00:
- r |= m_ata->read16_cs0(space, reg, mem_mask >> 16) << 16;
+ r |= m_ata->read16_cs0(reg, mem_mask >> 16) << 16;
break;
case 0x80:
- r |= m_ata->read16_cs1(space, reg, mem_mask >> 16) << 16;
+ r |= m_ata->read16_cs1(reg, mem_mask >> 16) << 16;
break;
}
}
@@ -1577,10 +1577,10 @@ WRITE64_MEMBER(viper_state::ata_w)
switch(offset & 0x80)
{
case 0x00:
- m_ata->write16_cs0(space, reg, data >> 16, mem_mask >> 16);
+ m_ata->write16_cs0(reg, data >> 16, mem_mask >> 16);
break;
case 0x80:
- m_ata->write16_cs1(space, reg, data >> 16, mem_mask >> 16);
+ m_ata->write16_cs1(reg, data >> 16, mem_mask >> 16);
break;
}
}
diff --git a/src/mame/drivers/zn.cpp b/src/mame/drivers/zn.cpp
index 23450c13f90..8bf8be8b73c 100644
--- a/src/mame/drivers/zn.cpp
+++ b/src/mame/drivers/zn.cpp
@@ -1272,13 +1272,11 @@ void zn_state::atpsx_dma_read( uint32_t *p_n_psxram, uint32_t n_address, int32_t
return;
}
- address_space &space = m_maincpu->space(AS_PROGRAM);
-
/* dma size is in 32-bit words, convert to words */
n_size <<= 1;
while( n_size > 0 )
{
- psxwriteword( p_n_psxram, n_address, m_vt83c461->read32_cs0(space, (uint32_t) 0, (uint32_t) 0xffff) );
+ psxwriteword( p_n_psxram, n_address, m_vt83c461->read32_cs0(0, 0xffff) );
n_address += 2;
n_size--;
}
@@ -1295,15 +1293,15 @@ READ16_MEMBER(zn_state::vt83c461_16_r)
if( offset >= 0x30 / 2 && offset < 0x40 / 2 )
{
- return m_vt83c461->read_config( space, ( offset / 2 ) & 3, mem_mask << shift ) >> shift;
+ return m_vt83c461->read_config( ( offset / 2 ) & 3 ) >> shift;
}
else if( offset >= 0x1f0 / 2 && offset < 0x1f8 / 2 )
{
- return m_vt83c461->read32_cs0( space, ( offset / 2 ) & 1, (uint32_t) mem_mask << shift ) >> shift;
+ return m_vt83c461->read32_cs0( ( offset / 2 ) & 1, mem_mask << shift ) >> shift;
}
else if( offset >= 0x3f0 / 2 && offset < 0x3f8 / 2 )
{
- return m_vt83c461->read32_cs1( space, ( offset / 2 ) & 1, (uint32_t) mem_mask << shift ) >> shift;
+ return m_vt83c461->read32_cs1( ( offset / 2 ) & 1, mem_mask << shift ) >> shift;
}
else
{
@@ -1318,15 +1316,15 @@ WRITE16_MEMBER(zn_state::vt83c461_16_w)
if( offset >= 0x30 / 2 && offset < 0x40 / 2 )
{
- m_vt83c461->write_config( space, ( offset / 2 ) & 3, data << shift, mem_mask << shift );
+ m_vt83c461->write_config( ( offset / 2 ) & 3, data << shift );
}
else if( offset >= 0x1f0 / 2 && offset < 0x1f8 / 2 )
{
- m_vt83c461->write32_cs0( space, ( offset / 2 ) & 1, (uint32_t) data << shift, (uint32_t) mem_mask << shift );
+ m_vt83c461->write32_cs0( ( offset / 2 ) & 1, data << shift, mem_mask << shift );
}
else if( offset >= 0x3f0 / 2 && offset < 0x3f8 / 2 )
{
- m_vt83c461->write32_cs1( space, ( offset / 2 ) & 1, (uint32_t) data << shift, (uint32_t) mem_mask << shift );
+ m_vt83c461->write32_cs1( ( offset / 2 ) & 1, data << shift, mem_mask << shift );
}
else
{
@@ -1338,7 +1336,7 @@ READ16_MEMBER(zn_state::vt83c461_32_r)
{
if( offset == 0x1f0/2 )
{
- uint32_t data = m_vt83c461->read32_cs0(space, 0, 0xffffffff);
+ uint32_t data = m_vt83c461->read32_cs0(0);
m_vt83c461_latch = data >> 16;
return data & 0xffff;
}
diff --git a/src/mame/machine/swtpc09.cpp b/src/mame/machine/swtpc09.cpp
index 6d2ef3d5e5b..0268f87663a 100644
--- a/src/mame/machine/swtpc09.cpp
+++ b/src/mame/machine/swtpc09.cpp
@@ -420,13 +420,13 @@ WRITE8_MEMBER( swtpc09_state::piaide_b_w )
{
if (!(data & 0x02)) //rd line bit 1
{
- tempidedata = m_ide->read16_cs0(space, (data&0x1c)>>2, 0xffff);
+ tempidedata = m_ide->read16_cs0((data&0x1c)>>2);
LOG(("swtpc09_ide_bus_r: offset $%02X data %04X\n", (data&0x1c)>>2, tempidedata));
m_piaide_porta = tempidedata & 0x00ff;
}
else if (!(data & 0x01)) //wr line bit 0
{
- m_ide->write16_cs0(space, (data&0x1c)>>2, m_piaide_porta, 0xffff);
+ m_ide->write16_cs0((data&0x1c)>>2, m_piaide_porta);
LOG(("swtpc09_ide_bus_w: offset $%02X data %04X\n", (data&0x1c)>>2, m_piaide_porta));
}
}
@@ -434,13 +434,13 @@ WRITE8_MEMBER( swtpc09_state::piaide_b_w )
{
if (!(data & 0x02)) //rd line bit 1
{
- tempidedata = m_ide->read16_cs1(space, (data&0x1c)>>2, 0xffff);
+ tempidedata = m_ide->read16_cs1((data&0x1c)>>2);
LOG(("swtpc09_ide_bus_r: offset $%02X data %04X\n", (data&0x1c)>>2, tempidedata));
m_piaide_porta = tempidedata & 0x00ff;
}
else if (!(data & 0x01)) //wr line bit 0
{
- m_ide->write16_cs1(space, (data&0x1c)>>2, m_piaide_porta, 0xffff);
+ m_ide->write16_cs1((data&0x1c)>>2, m_piaide_porta);
LOG(("swtpc09_ide_bus_w: offset $%02X data %04X\n", (data&0x1c)>>2, m_piaide_porta));
}
}
diff --git a/src/mame/video/turrett.cpp b/src/mame/video/turrett.cpp
index 8ff1c37d045..e7a44cedd59 100644
--- a/src/mame/video/turrett.cpp
+++ b/src/mame/video/turrett.cpp
@@ -312,7 +312,7 @@ WRITE32_MEMBER( turrett_state::dma_w )
while (words--)
{
- ram[addr & DIMM_BANK_MASK] = m_ata->read16_cs0(space, 0, 0xffff);
+ ram[addr & DIMM_BANK_MASK] = m_ata->read16_cs0(0);
++addr;
}
@@ -324,7 +324,7 @@ WRITE32_MEMBER( turrett_state::dma_w )
{
while (words--)
{
- uint16_t data = m_ata->read16_cs0(space, 0, 0xffff);
+ uint16_t data = m_ata->read16_cs0(0);
// TODO: Verify if this is correct
if ((data & 0xc400) == 0xc400)