diff options
Diffstat (limited to 'src/devices/bus/c64/ieee488.cpp')
-rw-r--r-- | src/devices/bus/c64/ieee488.cpp | 28 |
1 files changed, 16 insertions, 12 deletions
diff --git a/src/devices/bus/c64/ieee488.cpp b/src/devices/bus/c64/ieee488.cpp index ef33798bdfc..ee07023f2cc 100644 --- a/src/devices/bus/c64/ieee488.cpp +++ b/src/devices/bus/c64/ieee488.cpp @@ -141,18 +141,22 @@ WRITE8_MEMBER( c64_ieee488_device::tpi_pc_w ) // device_add_mconfig - add device configuration //------------------------------------------------- -MACHINE_CONFIG_START(c64_ieee488_device::device_add_mconfig) - MCFG_DEVICE_ADD(MOS6525_TAG, TPI6525, 0) - MCFG_TPI6525_IN_PA_CB(READ8(*this, c64_ieee488_device, tpi_pa_r)) - MCFG_TPI6525_OUT_PA_CB(WRITE8(*this, c64_ieee488_device, tpi_pa_w)) - MCFG_TPI6525_IN_PB_CB(READ8(IEEE488_TAG, ieee488_device, dio_r)) - MCFG_TPI6525_OUT_PB_CB(WRITE8(IEEE488_TAG, ieee488_device, host_dio_w)) - MCFG_TPI6525_IN_PC_CB(READ8(*this, c64_ieee488_device, tpi_pc_r)) - MCFG_TPI6525_OUT_PC_CB(WRITE8(*this, c64_ieee488_device, tpi_pc_w)) - - MCFG_CBM_IEEE488_ADD(nullptr) - MCFG_C64_PASSTHRU_EXPANSION_SLOT_ADD() -MACHINE_CONFIG_END +void c64_ieee488_device::device_add_mconfig(machine_config &config) +{ + TPI6525(config, m_tpi, 0); + m_tpi->in_pa_cb().set(FUNC(c64_ieee488_device::tpi_pa_r)); + m_tpi->out_pa_cb().set(FUNC(c64_ieee488_device::tpi_pa_w)); + m_tpi->in_pb_cb().set(m_bus, FUNC(ieee488_device::dio_r)); + m_tpi->out_pb_cb().set(m_bus, FUNC(ieee488_device::host_dio_w)); + m_tpi->in_pc_cb().set(FUNC(c64_ieee488_device::tpi_pc_r)); + m_tpi->out_pc_cb().set(FUNC(c64_ieee488_device::tpi_pc_w)); + + IEEE488(config, m_bus, 0); + ieee488_slot_device::add_cbm_defaults(config, nullptr); + + C64_EXPANSION_SLOT(config, m_exp, c64_expansion_cards, nullptr); + m_exp->set_passthrough(); +} |