summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/bus/isa/isa.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/bus/isa/isa.cpp')
-rw-r--r--src/devices/bus/isa/isa.cpp254
1 files changed, 129 insertions, 125 deletions
diff --git a/src/devices/bus/isa/isa.cpp b/src/devices/bus/isa/isa.cpp
index 92ead5df95b..f212f61d3d7 100644
--- a/src/devices/bus/isa/isa.cpp
+++ b/src/devices/bus/isa/isa.cpp
@@ -107,10 +107,10 @@ isa8_device::isa8_device(const machine_config &mconfig, const char *tag, device_
isa8_device::isa8_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
device_t(mconfig, type, tag, owner, clock),
device_memory_interface(mconfig, *this),
- m_mem_config("ISA 8-bit mem", ENDIANNESS_LITTLE, 8, 24, 0, address_map_constructor()),
- m_io_config("ISA 8-bit I/O", ENDIANNESS_LITTLE, 8, 16, 0, address_map_constructor()),
- m_mem16_config("ISA 16-bit mem", ENDIANNESS_LITTLE, 16, 24, 0, address_map_constructor()),
- m_io16_config("ISA 16-bit I/O", ENDIANNESS_LITTLE, 16, 16, 0, address_map_constructor()),
+ m_mem_config("mem8", ENDIANNESS_LITTLE, 8, 24, 0, address_map_constructor()),
+ m_io_config("io8", ENDIANNESS_LITTLE, 8, 16, 0, address_map_constructor()),
+ m_mem16_config("mem16", ENDIANNESS_LITTLE, 16, 24, 0, address_map_constructor()),
+ m_io16_config("io16", ENDIANNESS_LITTLE, 16, 16, 0, address_map_constructor()),
m_memspace(*this, finder_base::DUMMY_TAG, -1),
m_iospace(*this, finder_base::DUMMY_TAG, -1),
m_memwidth(0),
@@ -125,6 +125,7 @@ isa8_device::isa8_device(const machine_config &mconfig, device_type type, const
m_out_drq1_cb(*this),
m_out_drq2_cb(*this),
m_out_drq3_cb(*this),
+ m_write_iochrdy(*this),
m_write_iochck(*this)
{
std::fill(std::begin(m_dma_device), std::end(m_dma_device), nullptr);
@@ -151,22 +152,22 @@ device_memory_interface::space_config_vector isa16_device::memory_space_config()
};
}
-READ8_MEMBER(isa8_device::mem_r)
+uint8_t isa8_device::mem_r(offs_t offset)
{
return m_memspace->read_byte(offset);
}
-WRITE8_MEMBER(isa8_device::mem_w)
+void isa8_device::mem_w(offs_t offset, uint8_t data)
{
m_memspace->write_byte(offset, data);
}
-READ8_MEMBER(isa8_device::io_r)
+uint8_t isa8_device::io_r(offs_t offset)
{
return m_iospace->read_byte(offset);
}
-WRITE8_MEMBER(isa8_device::io_w)
+void isa8_device::io_w(offs_t offset, uint8_t data)
{
m_iospace->write_byte(offset, data);
}
@@ -222,19 +223,6 @@ void isa8_device::device_config_complete()
void isa8_device::device_resolve_objects()
{
- // resolve callbacks
- m_write_iochck.resolve_safe();
-
- m_out_irq2_cb.resolve_safe();
- m_out_irq3_cb.resolve_safe();
- m_out_irq4_cb.resolve_safe();
- m_out_irq5_cb.resolve_safe();
- m_out_irq6_cb.resolve_safe();
- m_out_irq7_cb.resolve_safe();
- m_out_drq1_cb.resolve_safe();
- m_out_drq2_cb.resolve_safe();
- m_out_drq3_cb.resolve_safe();
-
m_iowidth = m_iospace->data_width();
m_memwidth = m_memspace->data_width();
}
@@ -256,7 +244,7 @@ void isa8_device::device_reset()
}
-template<typename R, typename W> void isa8_device::install_space(int spacenum, offs_t start, offs_t end, R rhandler, W whandler)
+template <typename R, typename W> void isa8_device::install_space(int spacenum, offs_t start, offs_t end, R rhandler, W whandler)
{
int buswidth;
address_space *space;
@@ -276,24 +264,35 @@ template<typename R, typename W> void isa8_device::install_space(int spacenum, o
fatalerror("Unknown space passed to isa8_device::install_space!\n");
}
- switch(buswidth)
+ switch (buswidth)
{
case 8:
- space->install_readwrite_handler(start, end, rhandler, whandler, 0);
+ space->install_read_handler(start, end, rhandler, 0);
+ space->install_write_handler(start, end, whandler, 0);
break;
case 16:
- space->install_readwrite_handler(start, end, rhandler, whandler, 0xffff);
+ space->install_read_handler(start, end, rhandler, 0xffff);
+ space->install_write_handler(start, end, whandler, 0xffff);
break;
case 32:
- if ((start % 4) == 0) {
- if ((end-start)==1) {
- space->install_readwrite_handler(start, end+2, rhandler, whandler, 0x0000ffff);
- } else {
- space->install_readwrite_handler(start, end, rhandler, whandler, 0xffffffff);
+ if ((start % 4) == 0)
+ {
+ if ((end - start) == 1)
+ {
+ space->install_read_handler(start, end + 2, rhandler, 0x0000ffff);
+ space->install_write_handler(start, end + 2, whandler, 0x0000ffff);
}
- } else {
+ else
+ {
+ space->install_read_handler(start, end, rhandler, 0xffffffff);
+ space->install_write_handler(start, end, whandler, 0xffffffff);
+ }
+ }
+ else
+ {
// we handle just misaligned by 2
- space->install_readwrite_handler(start-2, end, rhandler, whandler, 0xffff0000);
+ space->install_read_handler(start - 2, end, rhandler, 0xffff0000);
+ space->install_write_handler(start - 2, end, whandler, 0xffff0000);
}
break;
default:
@@ -301,42 +300,56 @@ template<typename R, typename W> void isa8_device::install_space(int spacenum, o
}
}
-template<typename R, typename W> void isa8_device::install_memory(offs_t start, offs_t end, R rhandler, W whandler)
-{
- install_space(AS_ISA_MEM, start, end, rhandler, whandler);
-}
-
-template<typename R, typename W> void isa8_device::install_device(offs_t start, offs_t end, R rhandler, W whandler)
-{
- install_space(AS_ISA_IO, start, end, rhandler, whandler);
-}
-
template void isa8_device::install_space<read8_delegate, write8_delegate >(int spacenum, offs_t start, offs_t end, read8_delegate rhandler, write8_delegate whandler);
+template void isa8_device::install_space<read8_delegate, write8m_delegate >(int spacenum, offs_t start, offs_t end, read8_delegate rhandler, write8m_delegate whandler);
+template void isa8_device::install_space<read8_delegate, write8s_delegate >(int spacenum, offs_t start, offs_t end, read8_delegate rhandler, write8s_delegate whandler);
+template void isa8_device::install_space<read8_delegate, write8sm_delegate >(int spacenum, offs_t start, offs_t end, read8_delegate rhandler, write8sm_delegate whandler);
+template void isa8_device::install_space<read8_delegate, write8mo_delegate >(int spacenum, offs_t start, offs_t end, read8_delegate rhandler, write8mo_delegate whandler);
+template void isa8_device::install_space<read8_delegate, write8smo_delegate>(int spacenum, offs_t start, offs_t end, read8_delegate rhandler, write8smo_delegate whandler);
+
+template void isa8_device::install_space<read8m_delegate, write8_delegate >(int spacenum, offs_t start, offs_t end, read8m_delegate rhandler, write8_delegate whandler);
template void isa8_device::install_space<read8m_delegate, write8m_delegate >(int spacenum, offs_t start, offs_t end, read8m_delegate rhandler, write8m_delegate whandler);
+template void isa8_device::install_space<read8m_delegate, write8s_delegate >(int spacenum, offs_t start, offs_t end, read8m_delegate rhandler, write8s_delegate whandler);
+template void isa8_device::install_space<read8m_delegate, write8sm_delegate >(int spacenum, offs_t start, offs_t end, read8m_delegate rhandler, write8sm_delegate whandler);
+template void isa8_device::install_space<read8m_delegate, write8mo_delegate >(int spacenum, offs_t start, offs_t end, read8m_delegate rhandler, write8mo_delegate whandler);
+template void isa8_device::install_space<read8m_delegate, write8smo_delegate>(int spacenum, offs_t start, offs_t end, read8m_delegate rhandler, write8smo_delegate whandler);
+
+template void isa8_device::install_space<read8s_delegate, write8_delegate >(int spacenum, offs_t start, offs_t end, read8s_delegate rhandler, write8_delegate whandler);
+template void isa8_device::install_space<read8s_delegate, write8m_delegate >(int spacenum, offs_t start, offs_t end, read8s_delegate rhandler, write8m_delegate whandler);
template void isa8_device::install_space<read8s_delegate, write8s_delegate >(int spacenum, offs_t start, offs_t end, read8s_delegate rhandler, write8s_delegate whandler);
+template void isa8_device::install_space<read8s_delegate, write8sm_delegate >(int spacenum, offs_t start, offs_t end, read8s_delegate rhandler, write8sm_delegate whandler);
+template void isa8_device::install_space<read8s_delegate, write8mo_delegate >(int spacenum, offs_t start, offs_t end, read8s_delegate rhandler, write8mo_delegate whandler);
+template void isa8_device::install_space<read8s_delegate, write8smo_delegate>(int spacenum, offs_t start, offs_t end, read8s_delegate rhandler, write8smo_delegate whandler);
+
+template void isa8_device::install_space<read8sm_delegate, write8_delegate >(int spacenum, offs_t start, offs_t end, read8sm_delegate rhandler, write8_delegate whandler);
+template void isa8_device::install_space<read8sm_delegate, write8m_delegate >(int spacenum, offs_t start, offs_t end, read8sm_delegate rhandler, write8m_delegate whandler);
+template void isa8_device::install_space<read8sm_delegate, write8s_delegate >(int spacenum, offs_t start, offs_t end, read8sm_delegate rhandler, write8s_delegate whandler);
template void isa8_device::install_space<read8sm_delegate, write8sm_delegate >(int spacenum, offs_t start, offs_t end, read8sm_delegate rhandler, write8sm_delegate whandler);
-template void isa8_device::install_space<read8mo_delegate, write8mo_delegate >(int spacenum, offs_t start, offs_t end, read8mo_delegate rhandler, write8mo_delegate whandler);
-template void isa8_device::install_space<read8smo_delegate, write8smo_delegate>(int spacenum, offs_t start, offs_t end, read8smo_delegate rhandler, write8smo_delegate whandler);
+template void isa8_device::install_space<read8sm_delegate, write8mo_delegate >(int spacenum, offs_t start, offs_t end, read8sm_delegate rhandler, write8mo_delegate whandler);
+template void isa8_device::install_space<read8sm_delegate, write8smo_delegate>(int spacenum, offs_t start, offs_t end, read8sm_delegate rhandler, write8smo_delegate whandler);
-template void isa8_device::install_memory<read8_delegate, write8_delegate >(offs_t start, offs_t end, read8_delegate rhandler, write8_delegate whandler);
-template void isa8_device::install_memory<read8m_delegate, write8m_delegate >(offs_t start, offs_t end, read8m_delegate rhandler, write8m_delegate whandler);
-template void isa8_device::install_memory<read8s_delegate, write8s_delegate >(offs_t start, offs_t end, read8s_delegate rhandler, write8s_delegate whandler);
-template void isa8_device::install_memory<read8sm_delegate, write8sm_delegate >(offs_t start, offs_t end, read8sm_delegate rhandler, write8sm_delegate whandler);
-template void isa8_device::install_memory<read8mo_delegate, write8mo_delegate >(offs_t start, offs_t end, read8mo_delegate rhandler, write8mo_delegate whandler);
-template void isa8_device::install_memory<read8smo_delegate, write8smo_delegate>(offs_t start, offs_t end, read8smo_delegate rhandler, write8smo_delegate whandler);
+template void isa8_device::install_space<read8mo_delegate, write8_delegate >(int spacenum, offs_t start, offs_t end, read8mo_delegate rhandler, write8_delegate whandler);
+template void isa8_device::install_space<read8mo_delegate, write8m_delegate >(int spacenum, offs_t start, offs_t end, read8mo_delegate rhandler, write8m_delegate whandler);
+template void isa8_device::install_space<read8mo_delegate, write8s_delegate >(int spacenum, offs_t start, offs_t end, read8mo_delegate rhandler, write8s_delegate whandler);
+template void isa8_device::install_space<read8mo_delegate, write8sm_delegate >(int spacenum, offs_t start, offs_t end, read8mo_delegate rhandler, write8sm_delegate whandler);
+template void isa8_device::install_space<read8mo_delegate, write8mo_delegate >(int spacenum, offs_t start, offs_t end, read8mo_delegate rhandler, write8mo_delegate whandler);
+template void isa8_device::install_space<read8mo_delegate, write8smo_delegate>(int spacenum, offs_t start, offs_t end, read8mo_delegate rhandler, write8smo_delegate whandler);
-template void isa8_device::install_device<read8_delegate, write8_delegate >(offs_t start, offs_t end, read8_delegate rhandler, write8_delegate whandler);
-template void isa8_device::install_device<read8m_delegate, write8m_delegate >(offs_t start, offs_t end, read8m_delegate rhandler, write8m_delegate whandler);
-template void isa8_device::install_device<read8s_delegate, write8s_delegate >(offs_t start, offs_t end, read8s_delegate rhandler, write8s_delegate whandler);
-template void isa8_device::install_device<read8sm_delegate, write8sm_delegate >(offs_t start, offs_t end, read8sm_delegate rhandler, write8sm_delegate whandler);
-template void isa8_device::install_device<read8mo_delegate, write8mo_delegate >(offs_t start, offs_t end, read8mo_delegate rhandler, write8mo_delegate whandler);
-template void isa8_device::install_device<read8smo_delegate, write8smo_delegate>(offs_t start, offs_t end, read8smo_delegate rhandler, write8smo_delegate whandler);
+template void isa8_device::install_space<read8smo_delegate, write8_delegate >(int spacenum, offs_t start, offs_t end, read8smo_delegate rhandler, write8_delegate whandler);
+template void isa8_device::install_space<read8smo_delegate, write8m_delegate >(int spacenum, offs_t start, offs_t end, read8smo_delegate rhandler, write8m_delegate whandler);
+template void isa8_device::install_space<read8smo_delegate, write8s_delegate >(int spacenum, offs_t start, offs_t end, read8smo_delegate rhandler, write8s_delegate whandler);
+template void isa8_device::install_space<read8smo_delegate, write8sm_delegate >(int spacenum, offs_t start, offs_t end, read8smo_delegate rhandler, write8sm_delegate whandler);
+template void isa8_device::install_space<read8smo_delegate, write8mo_delegate >(int spacenum, offs_t start, offs_t end, read8smo_delegate rhandler, write8mo_delegate whandler);
+template void isa8_device::install_space<read8smo_delegate, write8smo_delegate>(int spacenum, offs_t start, offs_t end, read8smo_delegate rhandler, write8smo_delegate whandler);
+void isa8_device::install_bank(offs_t start, offs_t end, uint8_t *data)
+{
+ m_memspace->install_ram(start, end, data);
+}
-void isa8_device::install_bank(offs_t start, offs_t end, const char *tag, uint8_t *data)
+void isa8_device::install_bank(offs_t start, offs_t end, memory_bank *bank)
{
- m_memspace->install_readwrite_bank(start, end, 0, tag );
- machine().root_device().membank(m_memspace->device().siblingtag(tag).c_str())->set_base(data);
+ m_memspace->install_readwrite_bank(start, end, bank);
}
void isa8_device::unmap_bank(offs_t start, offs_t end)
@@ -344,16 +357,15 @@ void isa8_device::unmap_bank(offs_t start, offs_t end)
m_memspace->unmap_readwrite(start, end);
}
-void isa8_device::install_rom(device_t *dev, offs_t start, offs_t end, const char *tag, const char *region)
+void isa8_device::install_rom(device_t *dev, offs_t start, offs_t end, const char *region)
{
if (machine().root_device().memregion("isa")) {
uint8_t *src = dev->memregion(region)->base();
uint8_t *dest = machine().root_device().memregion("isa")->base() + start - 0xc0000;
memcpy(dest,src, end - start + 1);
} else {
- m_memspace->install_read_bank(start, end, 0, tag);
+ m_memspace->install_rom(start, end, machine().root_device().memregion(dev->subtag(region).c_str())->base());
m_memspace->unmap_write(start, end);
- machine().root_device().membank(m_memspace->device().siblingtag(tag).c_str())->set_base(machine().root_device().memregion(dev->subtag(region).c_str())->base());
}
}
@@ -369,18 +381,23 @@ bool isa8_device::is_option_rom_space_available(offs_t start, int size)
return true;
}
+void isa8_device::unmap_readwrite(offs_t start, offs_t end)
+{
+ m_memspace->unmap_readwrite(start, end);
+}
+
// interrupt request from isa card
-WRITE_LINE_MEMBER( isa8_device::irq2_w ) { m_out_irq2_cb(state); }
-WRITE_LINE_MEMBER( isa8_device::irq3_w ) { m_out_irq3_cb(state); }
-WRITE_LINE_MEMBER( isa8_device::irq4_w ) { m_out_irq4_cb(state); }
-WRITE_LINE_MEMBER( isa8_device::irq5_w ) { m_out_irq5_cb(state); }
-WRITE_LINE_MEMBER( isa8_device::irq6_w ) { m_out_irq6_cb(state); }
-WRITE_LINE_MEMBER( isa8_device::irq7_w ) { m_out_irq7_cb(state); }
+void isa8_device::irq2_w(int state) { m_out_irq2_cb(state); }
+void isa8_device::irq3_w(int state) { m_out_irq3_cb(state); }
+void isa8_device::irq4_w(int state) { m_out_irq4_cb(state); }
+void isa8_device::irq5_w(int state) { m_out_irq5_cb(state); }
+void isa8_device::irq6_w(int state) { m_out_irq6_cb(state); }
+void isa8_device::irq7_w(int state) { m_out_irq7_cb(state); }
// dma request from isa card
-WRITE_LINE_MEMBER( isa8_device::drq1_w ) { m_out_drq1_cb(state); }
-WRITE_LINE_MEMBER( isa8_device::drq2_w ) { m_out_drq2_cb(state); }
-WRITE_LINE_MEMBER( isa8_device::drq3_w ) { m_out_drq3_cb(state); }
+void isa8_device::drq1_w(int state) { m_out_drq1_cb(state); }
+void isa8_device::drq2_w(int state) { m_out_drq2_cb(state); }
+void isa8_device::drq3_w(int state) { m_out_drq3_cb(state); }
uint8_t isa8_device::dack_r(int line)
{
@@ -407,6 +424,11 @@ void isa8_device::eop_w(int channel, int state)
m_dma_device[channel]->eop_w(state);
}
+void isa8_device::set_ready(int state)
+{
+ m_write_iochrdy(state);
+}
+
void isa8_device::nmi()
{
// active low pulse
@@ -428,8 +450,8 @@ void isa8_device::nmi()
//-------------------------------------------------
device_isa8_card_interface::device_isa8_card_interface(const machine_config &mconfig, device_t &device)
- : device_slot_card_interface(mconfig, device),
- m_isa(nullptr), m_isa_dev(nullptr), m_next(nullptr)
+ : device_interface(device, "isa"),
+ m_isa(nullptr), m_isa_dev(nullptr)
{
}
@@ -485,28 +507,7 @@ isa16_device::isa16_device(const machine_config &mconfig, const char *tag, devic
{
}
-//-------------------------------------------------
-// device_start - device-specific startup
-//-------------------------------------------------
-
-void isa16_device::device_start()
-{
- isa8_device::device_start();
-
- // resolve callbacks
- m_out_irq10_cb.resolve_safe();
- m_out_irq11_cb.resolve_safe();
- m_out_irq12_cb.resolve_safe();
- m_out_irq14_cb.resolve_safe();
- m_out_irq15_cb.resolve_safe();
-
- m_out_drq0_cb.resolve_safe();
- m_out_drq5_cb.resolve_safe();
- m_out_drq6_cb.resolve_safe();
- m_out_drq7_cb.resolve_safe();
-}
-
-void isa16_device::install16_device(offs_t start, offs_t end, read16_delegate rhandler, write16_delegate whandler)
+template<typename R, typename W> void isa16_device::install16_device(offs_t start, offs_t end, R rhandler, W whandler)
{
int buswidth = m_iowidth;
switch(buswidth)
@@ -523,7 +524,7 @@ void isa16_device::install16_device(offs_t start, offs_t end, read16_delegate rh
m_iospace->install_readwrite_handler(start, end, rhandler, whandler, 0xffffffff);
}
} else {
- // we handle just misalligned by 2
+ // we handle just misaligned by 2
m_iospace->install_readwrite_handler(start-2, end, rhandler, whandler, 0xffff0000);
}
@@ -533,72 +534,75 @@ void isa16_device::install16_device(offs_t start, offs_t end, read16_delegate rh
}
}
-READ16_MEMBER(isa16_device::mem16_r)
+template void isa16_device::install16_device<read16_delegate, write16_delegate >(offs_t start, offs_t end, read16_delegate rhandler, write16_delegate whandler);
+template void isa16_device::install16_device<read16s_delegate, write16s_delegate >(offs_t start, offs_t end, read16s_delegate rhandler, write16s_delegate whandler);
+template void isa16_device::install16_device<read16sm_delegate, write16sm_delegate >(offs_t start, offs_t end, read16sm_delegate rhandler, write16sm_delegate whandler);
+template void isa16_device::install16_device<read16smo_delegate, write16smo_delegate>(offs_t start, offs_t end, read16smo_delegate rhandler, write16smo_delegate whandler);
+
+uint16_t isa16_device::mem16_r(offs_t offset, uint16_t mem_mask)
{
return m_memspace->read_word(offset<<1, mem_mask);
}
-WRITE16_MEMBER(isa16_device::mem16_w)
+void isa16_device::mem16_w(offs_t offset, uint16_t data, uint16_t mem_mask)
{
m_memspace->write_word(offset<<1, data, mem_mask);
}
-READ16_MEMBER(isa16_device::io16_r)
+uint16_t isa16_device::io16_r(offs_t offset, uint16_t mem_mask)
{
return m_iospace->read_word(offset<<1, mem_mask);
}
-WRITE16_MEMBER(isa16_device::io16_w)
+void isa16_device::io16_w(offs_t offset, uint16_t data, uint16_t mem_mask)
{
m_iospace->write_word(offset<<1, data, mem_mask);
}
-READ16_MEMBER(isa16_device::mem16_swap_r)
+uint16_t isa16_device::mem16_swap_r(offs_t offset, uint16_t mem_mask)
{
- uint16_t rv;
- mem_mask = (mem_mask<<8) | (mem_mask>>8);
+ mem_mask = swapendian_int16(mem_mask);
- rv = m_memspace->read_word(offset<<1, mem_mask);
+ uint16_t rv = m_memspace->read_word(offset<<1, mem_mask);
- return (rv<<8) | (rv>>8);
+ return swapendian_int16(rv);
}
-WRITE16_MEMBER(isa16_device::mem16_swap_w)
+void isa16_device::mem16_swap_w(offs_t offset, uint16_t data, uint16_t mem_mask)
{
- mem_mask = (mem_mask<<8) | (mem_mask>>8);
- data = (data<<8) | (data>>8);
+ mem_mask = swapendian_int16(mem_mask);
+ data = swapendian_int16(data);
m_memspace->write_word(offset<<1, data, mem_mask);
}
-READ16_MEMBER(isa16_device::io16_swap_r)
+uint16_t isa16_device::io16_swap_r(offs_t offset, uint16_t mem_mask)
{
- uint16_t rv;
- mem_mask = (mem_mask<<8) | (mem_mask>>8);
+ mem_mask = swapendian_int16(mem_mask);
- rv = m_iospace->read_word(offset<<1, mem_mask);
+ uint16_t rv = m_iospace->read_word(offset<<1, mem_mask);
- return (rv<<8) | (rv>>8);
+ return swapendian_int16(rv);
}
-WRITE16_MEMBER(isa16_device::io16_swap_w)
+void isa16_device::io16_swap_w(offs_t offset, uint16_t data, uint16_t mem_mask)
{
- mem_mask = (mem_mask<<8) | (mem_mask>>8);
- data = (data<<8) | (data>>8);
+ mem_mask = swapendian_int16(mem_mask);
+ data = swapendian_int16(data);
m_iospace->write_word(offset<<1, data, mem_mask);
}
// interrupt request from isa card
-WRITE_LINE_MEMBER( isa16_device::irq10_w ) { m_out_irq10_cb(state); }
-WRITE_LINE_MEMBER( isa16_device::irq11_w ) { m_out_irq11_cb(state); }
-WRITE_LINE_MEMBER( isa16_device::irq12_w ) { m_out_irq12_cb(state); }
-WRITE_LINE_MEMBER( isa16_device::irq14_w ) { m_out_irq14_cb(state); }
-WRITE_LINE_MEMBER( isa16_device::irq15_w ) { m_out_irq15_cb(state); }
+void isa16_device::irq10_w(int state) { m_out_irq10_cb(state); }
+void isa16_device::irq11_w(int state) { m_out_irq11_cb(state); }
+void isa16_device::irq12_w(int state) { m_out_irq12_cb(state); }
+void isa16_device::irq14_w(int state) { m_out_irq14_cb(state); }
+void isa16_device::irq15_w(int state) { m_out_irq15_cb(state); }
// dma request from isa card
-WRITE_LINE_MEMBER( isa16_device::drq0_w ) { m_out_drq0_cb(state); }
-WRITE_LINE_MEMBER( isa16_device::drq5_w ) { m_out_drq5_cb(state); }
-WRITE_LINE_MEMBER( isa16_device::drq6_w ) { m_out_drq6_cb(state); }
-WRITE_LINE_MEMBER( isa16_device::drq7_w ) { m_out_drq7_cb(state); }
+void isa16_device::drq0_w(int state) { m_out_drq0_cb(state); }
+void isa16_device::drq5_w(int state) { m_out_drq5_cb(state); }
+void isa16_device::drq6_w(int state) { m_out_drq6_cb(state); }
+void isa16_device::drq7_w(int state) { m_out_drq7_cb(state); }
uint16_t isa16_device::dack16_r(int line)
{