summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/machine/pci9050.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/machine/pci9050.cpp')
-rw-r--r--src/devices/machine/pci9050.cpp44
1 files changed, 21 insertions, 23 deletions
diff --git a/src/devices/machine/pci9050.cpp b/src/devices/machine/pci9050.cpp
index e65434d3f5a..c3425d01a4b 100644
--- a/src/devices/machine/pci9050.cpp
+++ b/src/devices/machine/pci9050.cpp
@@ -41,7 +41,7 @@ void pci9050_device::map(address_map &map)
pci9050_device::pci9050_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
: pci_device(mconfig, PCI9050, tag, owner, clock)
- , m_user_input_handler(*this), m_user_output_handler(*this)
+ , m_user_input_handler(*this, 0), m_user_output_handler(*this)
{
set_ids(0x10b59050, 0x01, 0x06800000, 0x10b59050);
for(int i=0; i<4; i++) {
@@ -69,8 +69,6 @@ void pci9050_device::device_start()
else
add_map(0, M_MEM | M_DISABLED, address_map_constructor(), nullptr);
- m_user_input_handler.resolve();
- m_user_output_handler.resolve();
// Save states
save_item(NAME(m_lasrr));
save_item(NAME(m_lasba));
@@ -168,106 +166,106 @@ void pci9050_device::remap_rom()
}
}
-READ32_MEMBER (pci9050_device::lasrr_r)
+uint32_t pci9050_device::lasrr_r(offs_t offset)
{
return m_lasrr[offset];
}
-WRITE32_MEMBER(pci9050_device::lasrr_w)
+void pci9050_device::lasrr_w(offs_t offset, uint32_t data)
{
logerror("%s:PCI9050 local bus %d range = %08x: %s flags %d pf %d addr bits 27-4 %08x\n", machine().describe_context(), offset, data, (data & 1) ? "I/O" : "MEM", (data & 6)>>1, (data & 8)>>3, data & 0xfffffff);
m_lasrr[offset] = data;
remap_local(offset);
}
-READ32_MEMBER (pci9050_device::eromrr_r)
+uint32_t pci9050_device::eromrr_r()
{
return m_eromrr;
}
-WRITE32_MEMBER(pci9050_device::eromrr_w)
+void pci9050_device::eromrr_w(uint32_t data)
{
logerror("%s:PCI9050 ROM range = %08x: addr bits 27-11 %08x\n", machine().describe_context(), data, data & 0xfffff800);
m_eromrr = data;
remap_rom();
}
-READ32_MEMBER (pci9050_device::lasba_r)
+uint32_t pci9050_device::lasba_r(offs_t offset)
{
return m_lasba[offset];
}
-WRITE32_MEMBER(pci9050_device::lasba_w)
+void pci9050_device::lasba_w(offs_t offset, uint32_t data)
{
logerror("%s:PCI9050 local bus %d base = %08x: enable %d remap %08x\n", machine().describe_context(), offset, data, data&1, data & 0x0ffffffe);
m_lasba[offset] = data;
remap_local(offset);
}
-READ32_MEMBER (pci9050_device::eromba_r)
+uint32_t pci9050_device::eromba_r()
{
return m_eromba;
}
-WRITE32_MEMBER(pci9050_device::eromba_w)
+void pci9050_device::eromba_w(uint32_t data)
{
logerror("%s:PCI9050 ROM base = %08x: remap %08x\n", machine().describe_context(), data, data & 0x0ffff800);
m_eromba = data;
remap_rom();
}
-READ32_MEMBER (pci9050_device::lasbrd_r)
+uint32_t pci9050_device::lasbrd_r(offs_t offset)
{
return m_lasbrd[offset];
}
-WRITE32_MEMBER(pci9050_device::lasbrd_w)
+void pci9050_device::lasbrd_w(offs_t offset, uint32_t data)
{
logerror("%s:PCI9050 local bus %d descriptors = %08x: burst %d prefetch %d width %d, endian %s, endian mode %d\n", machine().describe_context(), offset, data, data&1, (data >> 5) & 1, (data >> 22) & 3, ((data >> 24) & 1) ? "BE" : "LE", (data >> 25) & 1);
m_lasbrd[offset] = data;
remap_local(offset);
}
-READ32_MEMBER (pci9050_device::erombrd_r)
+uint32_t pci9050_device::erombrd_r()
{
return m_erombrd;
}
-WRITE32_MEMBER(pci9050_device::erombrd_w)
+void pci9050_device::erombrd_w(uint32_t data)
{
logerror("%s:PCI9050 ROM descriptors = %08x: burst %d prefetch %d bits %d, endian %s, endian mode %d\n", machine().describe_context(), data, data&1, (data >> 5) & 1, (data >> 22) & 3, ((data >> 24) & 1) ? "BE" : "LE", (data >> 25) & 1);
m_erombrd = data;
remap_rom();
}
-READ32_MEMBER (pci9050_device::csbase_r)
+uint32_t pci9050_device::csbase_r(offs_t offset)
{
return m_csbase[offset];
}
-WRITE32_MEMBER(pci9050_device::csbase_w)
+void pci9050_device::csbase_w(offs_t offset, uint32_t data)
{
logerror("%s:PCI9050 chip select %d base = %08x: enable %d size %08x\n", machine().describe_context(), offset, data, data&1, data&0xfffffffe);
m_csbase[offset] = data;
remap_local(offset);
}
-READ32_MEMBER (pci9050_device::intcsr_r)
+uint32_t pci9050_device::intcsr_r()
{
logerror("%s:PCI9050 IRQ CSR read %08x\n", machine().describe_context(), m_intcsr);
return m_intcsr;
}
-WRITE32_MEMBER(pci9050_device::intcsr_w)
+void pci9050_device::intcsr_w(uint32_t data)
{
logerror("%s:PCI9050 IRQ CSR write %08x\n", machine().describe_context(), data);
m_intcsr = data;
remap_rom();
}
-READ32_MEMBER (pci9050_device::cntrl_r)
+uint32_t pci9050_device::cntrl_r()
{
- if (!m_user_input_handler.isnull())
+ if (!m_user_input_handler.isunset())
{
int readData = m_user_input_handler();
for (int userIndex = 0; userIndex < 4; userIndex++)
@@ -279,7 +277,7 @@ READ32_MEMBER (pci9050_device::cntrl_r)
return m_cntrl;
}
-WRITE32_MEMBER(pci9050_device::cntrl_w)
+void pci9050_device::cntrl_w(uint32_t data)
{
if (0)
logerror("%s:PCI9050 CNTRL write %08x\n", machine().describe_context(), data);
@@ -288,7 +286,7 @@ WRITE32_MEMBER(pci9050_device::cntrl_w)
remap_rom();
if ((oldData ^ m_cntrl) & 0x3000)
remap_cb();
- if (!m_user_output_handler.isnull()) {
+ if (!m_user_output_handler.isunset()) {
int userData = 0;
for (int userIndex = 0; userIndex < 4; userIndex++)
userData |= ((m_cntrl >> (2 + userIndex * 3)) & 1) << userIndex;