diff options
author | 2018-05-06 00:40:40 +1000 | |
---|---|---|
committer | 2018-05-06 00:51:27 +1000 | |
commit | 4ea3cd0bc1f54e47a0d38a47afac38101549e9ee (patch) | |
tree | bbadc20010b6bad48cf321b1c864655587e4b8ad /src/mame/drivers/cbm2.cpp | |
parent | bba5127d7a73ca44fdc0dcab7286846c81206771 (diff) |
Streamline machine configuration macros - everyone's a device edition.
Start replacing special device macros with additional constructors,
starting with ISA, INTELLEC 4 and RS-232 buses.
Allow an object finder to take on the target of another object finder.
(For a combination of the previous two things in action, see either the
INTELLEC 4 driver, or the Apple 2 PC Exporter card. Also check out
looping over a device finder array to instantiate devices in some
places. Lots of things no longer need to pass tags around.)
Start supplying default clocks for things that have a standard clock or
have all clocks internal.
Eliminate the separate DEV versions of the DEVCB_ macros. Previously,
the plain versions were a shortcut for DEVICE_SELF as the target. You
can now supply a string tag (relative to current device being
configured), an object finder (takes on the base and relative tag), or
a reference to a device/interface (only do this if you know the device
won't be replaced out from under it, but that's a safe assumption for
your subdevices). In almost all cases, you can get the effect you want
by supplying *this as the target.
Eliminate sound and CPU versions of macros. They serve no useful
purpose, provide no extra checks, make error messages longer, add
indirection, and mislead newbies into thinking there's a difference.
Remove a lot of now-unnecessary ":" prefixes binding things relative to
machine root.
Clean up some miscellaneous rot.
Examples of new functionality in use in (some more subtle than others):
* src/mame/drivers/intellec4.cpp
* src/mame/drivers/tranz330.cpp
* src/mame/drivers/osboren1.cpp
* src/mame/drivers/zorba.cpp
* src/mame/devices/smioc.cpp
* src/devices/bus/a2bus/pc_xporter.cpp
* src/devices/bus/isa/isa.h
* src/devices/bus/isa/isa.h
* src/devices/bus/intellec4/intellec4.h
Diffstat (limited to 'src/mame/drivers/cbm2.cpp')
-rw-r--r-- | src/mame/drivers/cbm2.cpp | 386 |
1 files changed, 193 insertions, 193 deletions
diff --git a/src/mame/drivers/cbm2.cpp b/src/mame/drivers/cbm2.cpp index b8a61292605..4d74dfbf873 100644 --- a/src/mame/drivers/cbm2.cpp +++ b/src/mame/drivers/cbm2.cpp @@ -2314,15 +2314,15 @@ MACHINE_CONFIG_START(p500_state::p500_ntsc) MCFG_MACHINE_RESET_OVERRIDE(p500_state, p500) // basic hardware - MCFG_CPU_ADD(M6509_TAG, M6509, XTAL(14'318'181)/14) + MCFG_DEVICE_ADD(M6509_TAG, M6509, XTAL(14'318'181)/14) MCFG_M6502_DISABLE_DIRECT() // address decoding is 100% dynamic, no RAM/ROM banks - MCFG_CPU_PROGRAM_MAP(p500_mem) + MCFG_DEVICE_PROGRAM_MAP(p500_mem) MCFG_QUANTUM_PERFECT_CPU(M6509_TAG) // video hardware MCFG_DEVICE_ADD(MOS6567_TAG, MOS6567, XTAL(14'318'181)/14) MCFG_MOS6566_CPU(M6509_TAG) - MCFG_MOS6566_IRQ_CALLBACK(WRITELINE(p500_state, vic_irq_w)) + MCFG_MOS6566_IRQ_CALLBACK(WRITELINE(*this, p500_state, vic_irq_w)) MCFG_VIDEO_SET_SCREEN(SCREEN_TAG) MCFG_DEVICE_ADDRESS_MAP(0, vic_videoram_map) MCFG_DEVICE_ADDRESS_MAP(1, vic_colorram_map) @@ -2334,79 +2334,79 @@ MACHINE_CONFIG_START(p500_state::p500_ntsc) // sound hardware MCFG_SPEAKER_STANDARD_MONO("mono") - MCFG_SOUND_ADD(MOS6581_TAG, MOS6581, XTAL(14'318'181)/14) - MCFG_MOS6581_POTX_CALLBACK(READ8(p500_state, sid_potx_r)) - MCFG_MOS6581_POTY_CALLBACK(READ8(p500_state, sid_poty_r)) + MCFG_DEVICE_ADD(MOS6581_TAG, MOS6581, XTAL(14'318'181)/14) + MCFG_MOS6581_POTX_CALLBACK(READ8(*this, p500_state, sid_potx_r)) + MCFG_MOS6581_POTY_CALLBACK(READ8(*this, p500_state, sid_poty_r)) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00) // devices MCFG_PLS100_ADD(PLA1_TAG) MCFG_PLS100_ADD(PLA2_TAG) MCFG_DEVICE_ADD(MOS6525_1_TAG, TPI6525, 0) - MCFG_TPI6525_OUT_IRQ_CB(WRITELINE(p500_state, tpi1_irq_w)) - MCFG_TPI6525_IN_PA_CB(READ8(cbm2_state, tpi1_pa_r)) - MCFG_TPI6525_OUT_PA_CB(WRITE8(cbm2_state, tpi1_pa_w)) - MCFG_TPI6525_IN_PB_CB(READ8(cbm2_state, tpi1_pb_r)) - MCFG_TPI6525_OUT_PB_CB(WRITE8(cbm2_state, tpi1_pb_w)) - MCFG_TPI6525_OUT_CA_CB(WRITELINE(p500_state, tpi1_ca_w)) - MCFG_TPI6525_OUT_CB_CB(WRITELINE(p500_state, tpi1_cb_w)) + MCFG_TPI6525_OUT_IRQ_CB(WRITELINE(*this, p500_state, tpi1_irq_w)) + MCFG_TPI6525_IN_PA_CB(READ8(*this, cbm2_state, tpi1_pa_r)) + MCFG_TPI6525_OUT_PA_CB(WRITE8(*this, cbm2_state, tpi1_pa_w)) + MCFG_TPI6525_IN_PB_CB(READ8(*this, cbm2_state, tpi1_pb_r)) + MCFG_TPI6525_OUT_PB_CB(WRITE8(*this, cbm2_state, tpi1_pb_w)) + MCFG_TPI6525_OUT_CA_CB(WRITELINE(*this, p500_state, tpi1_ca_w)) + MCFG_TPI6525_OUT_CB_CB(WRITELINE(*this, p500_state, tpi1_cb_w)) MCFG_DEVICE_ADD(MOS6525_2_TAG, TPI6525, 0) - MCFG_TPI6525_OUT_PA_CB(WRITE8(cbm2_state, tpi2_pa_w)) - MCFG_TPI6525_OUT_PB_CB(WRITE8(cbm2_state, tpi2_pb_w)) - MCFG_TPI6525_IN_PC_CB(READ8(p500_state, tpi2_pc_r)) - MCFG_TPI6525_OUT_PC_CB(WRITE8(p500_state, tpi2_pc_w)) + MCFG_TPI6525_OUT_PA_CB(WRITE8(*this, cbm2_state, tpi2_pa_w)) + MCFG_TPI6525_OUT_PB_CB(WRITE8(*this, cbm2_state, tpi2_pb_w)) + MCFG_TPI6525_IN_PC_CB(READ8(*this, p500_state, tpi2_pc_r)) + MCFG_TPI6525_OUT_PC_CB(WRITE8(*this, p500_state, tpi2_pc_w)) MCFG_DEVICE_ADD(MOS6551A_TAG, MOS6551, VIC6567_CLOCK) MCFG_MOS6551_XTAL(XTAL(1'843'200)) - MCFG_MOS6551_IRQ_HANDLER(DEVWRITELINE(MOS6525_1_TAG, tpi6525_device, i4_w)) - MCFG_MOS6551_TXD_HANDLER(DEVWRITELINE(RS232_TAG, rs232_port_device, write_txd)) - MCFG_MOS6551_DTR_HANDLER(DEVWRITELINE(RS232_TAG, rs232_port_device, write_dtr)) - MCFG_MOS6551_RTS_HANDLER(DEVWRITELINE(RS232_TAG, rs232_port_device, write_rts)) - MCFG_MOS6551_RXC_HANDLER(DEVWRITELINE(RS232_TAG, rs232_port_device, write_etc)) + MCFG_MOS6551_IRQ_HANDLER(WRITELINE(MOS6525_1_TAG, tpi6525_device, i4_w)) + MCFG_MOS6551_TXD_HANDLER(WRITELINE(RS232_TAG, rs232_port_device, write_txd)) + MCFG_MOS6551_DTR_HANDLER(WRITELINE(RS232_TAG, rs232_port_device, write_dtr)) + MCFG_MOS6551_RTS_HANDLER(WRITELINE(RS232_TAG, rs232_port_device, write_rts)) + MCFG_MOS6551_RXC_HANDLER(WRITELINE(RS232_TAG, rs232_port_device, write_etc)) MCFG_DEVICE_ADD(MOS6526_TAG, MOS6526A, XTAL(14'318'181)/14) MCFG_MOS6526_TOD(60) - MCFG_MOS6526_IRQ_CALLBACK(DEVWRITELINE(MOS6525_1_TAG, tpi6525_device, i2_w)) - MCFG_MOS6526_CNT_CALLBACK(DEVWRITELINE(CBM2_USER_PORT_TAG, cbm2_user_port_device, cnt_w)) - MCFG_MOS6526_SP_CALLBACK(DEVWRITELINE(CBM2_USER_PORT_TAG, cbm2_user_port_device, sp_w)) - MCFG_MOS6526_PA_INPUT_CALLBACK(READ8(cbm2_state, cia_pa_r)) - MCFG_MOS6526_PA_OUTPUT_CALLBACK(WRITE8(cbm2_state, cia_pa_w)) - MCFG_MOS6526_PB_INPUT_CALLBACK(READ8(cbm2_state, cia_pb_r)) - MCFG_MOS6526_PB_OUTPUT_CALLBACK(DEVWRITE8(CBM2_USER_PORT_TAG, cbm2_user_port_device, d2_w)) - MCFG_MOS6526_PC_CALLBACK(DEVWRITELINE(CBM2_USER_PORT_TAG, cbm2_user_port_device, pc_w)) - MCFG_DS75160A_ADD(DS75160A_TAG, DEVREAD8(IEEE488_TAG, ieee488_device, dio_r), DEVWRITE8(IEEE488_TAG, ieee488_device, dio_w)) + MCFG_MOS6526_IRQ_CALLBACK(WRITELINE(MOS6525_1_TAG, tpi6525_device, i2_w)) + MCFG_MOS6526_CNT_CALLBACK(WRITELINE(CBM2_USER_PORT_TAG, cbm2_user_port_device, cnt_w)) + MCFG_MOS6526_SP_CALLBACK(WRITELINE(CBM2_USER_PORT_TAG, cbm2_user_port_device, sp_w)) + MCFG_MOS6526_PA_INPUT_CALLBACK(READ8(*this, cbm2_state, cia_pa_r)) + MCFG_MOS6526_PA_OUTPUT_CALLBACK(WRITE8(*this, cbm2_state, cia_pa_w)) + MCFG_MOS6526_PB_INPUT_CALLBACK(READ8(*this, cbm2_state, cia_pb_r)) + MCFG_MOS6526_PB_OUTPUT_CALLBACK(WRITE8(CBM2_USER_PORT_TAG, cbm2_user_port_device, d2_w)) + MCFG_MOS6526_PC_CALLBACK(WRITELINE(CBM2_USER_PORT_TAG, cbm2_user_port_device, pc_w)) + MCFG_DS75160A_ADD(DS75160A_TAG, READ8(IEEE488_TAG, ieee488_device, dio_r), WRITE8(IEEE488_TAG, ieee488_device, dio_w)) MCFG_DEVICE_ADD(DS75161A_TAG, DS75161A, 0) - MCFG_DS75161A_IN_REN_CB(DEVREADLINE(IEEE488_TAG, ieee488_device, ren_r)) - MCFG_DS75161A_IN_IFC_CB(DEVREADLINE(IEEE488_TAG, ieee488_device, ifc_r)) - MCFG_DS75161A_IN_NDAC_CB(DEVREADLINE(IEEE488_TAG, ieee488_device, ndac_r)) - MCFG_DS75161A_IN_NRFD_CB(DEVREADLINE(IEEE488_TAG, ieee488_device, nrfd_r)) - MCFG_DS75161A_IN_DAV_CB(DEVREADLINE(IEEE488_TAG, ieee488_device, dav_r)) - MCFG_DS75161A_IN_EOI_CB(DEVREADLINE(IEEE488_TAG, ieee488_device, eoi_r)) - MCFG_DS75161A_IN_ATN_CB(DEVREADLINE(IEEE488_TAG, ieee488_device, atn_r)) - MCFG_DS75161A_IN_SRQ_CB(DEVREADLINE(IEEE488_TAG, ieee488_device, srq_r)) - MCFG_DS75161A_OUT_REN_CB(DEVWRITELINE(IEEE488_TAG, ieee488_device, ren_w)) - MCFG_DS75161A_OUT_IFC_CB(DEVWRITELINE(IEEE488_TAG, ieee488_device, ifc_w)) - MCFG_DS75161A_OUT_NDAC_CB(DEVWRITELINE(IEEE488_TAG, ieee488_device, ndac_w)) - MCFG_DS75161A_OUT_NRFD_CB(DEVWRITELINE(IEEE488_TAG, ieee488_device, nrfd_w)) - MCFG_DS75161A_OUT_DAV_CB(DEVWRITELINE(IEEE488_TAG, ieee488_device, dav_w)) - MCFG_DS75161A_OUT_EOI_CB(DEVWRITELINE(IEEE488_TAG, ieee488_device, eoi_w)) - MCFG_DS75161A_OUT_ATN_CB(DEVWRITELINE(IEEE488_TAG, ieee488_device, atn_w)) - MCFG_DS75161A_OUT_SRQ_CB(DEVWRITELINE(IEEE488_TAG, ieee488_device, srq_w)) + MCFG_DS75161A_IN_REN_CB(READLINE(IEEE488_TAG, ieee488_device, ren_r)) + MCFG_DS75161A_IN_IFC_CB(READLINE(IEEE488_TAG, ieee488_device, ifc_r)) + MCFG_DS75161A_IN_NDAC_CB(READLINE(IEEE488_TAG, ieee488_device, ndac_r)) + MCFG_DS75161A_IN_NRFD_CB(READLINE(IEEE488_TAG, ieee488_device, nrfd_r)) + MCFG_DS75161A_IN_DAV_CB(READLINE(IEEE488_TAG, ieee488_device, dav_r)) + MCFG_DS75161A_IN_EOI_CB(READLINE(IEEE488_TAG, ieee488_device, eoi_r)) + MCFG_DS75161A_IN_ATN_CB(READLINE(IEEE488_TAG, ieee488_device, atn_r)) + MCFG_DS75161A_IN_SRQ_CB(READLINE(IEEE488_TAG, ieee488_device, srq_r)) + MCFG_DS75161A_OUT_REN_CB(WRITELINE(IEEE488_TAG, ieee488_device, ren_w)) + MCFG_DS75161A_OUT_IFC_CB(WRITELINE(IEEE488_TAG, ieee488_device, ifc_w)) + MCFG_DS75161A_OUT_NDAC_CB(WRITELINE(IEEE488_TAG, ieee488_device, ndac_w)) + MCFG_DS75161A_OUT_NRFD_CB(WRITELINE(IEEE488_TAG, ieee488_device, nrfd_w)) + MCFG_DS75161A_OUT_DAV_CB(WRITELINE(IEEE488_TAG, ieee488_device, dav_w)) + MCFG_DS75161A_OUT_EOI_CB(WRITELINE(IEEE488_TAG, ieee488_device, eoi_w)) + MCFG_DS75161A_OUT_ATN_CB(WRITELINE(IEEE488_TAG, ieee488_device, atn_w)) + MCFG_DS75161A_OUT_SRQ_CB(WRITELINE(IEEE488_TAG, ieee488_device, srq_w)) MCFG_CBM_IEEE488_ADD("c8050") - MCFG_IEEE488_SRQ_CALLBACK(DEVWRITELINE(MOS6525_1_TAG, tpi6525_device, i1_w)) - MCFG_PET_DATASSETTE_PORT_ADD(PET_DATASSETTE_PORT_TAG, cbm_datassette_devices, nullptr, DEVWRITELINE(MOS6526_TAG, mos6526_device, flag_w)) + MCFG_IEEE488_SRQ_CALLBACK(WRITELINE(MOS6525_1_TAG, tpi6525_device, i1_w)) + MCFG_PET_DATASSETTE_PORT_ADD(PET_DATASSETTE_PORT_TAG, cbm_datassette_devices, nullptr, WRITELINE(MOS6526_TAG, mos6526_device, flag_w)) MCFG_VCS_CONTROL_PORT_ADD(CONTROL1_TAG, vcs_control_port_devices, nullptr) - MCFG_VCS_CONTROL_PORT_TRIGGER_CALLBACK(DEVWRITELINE(MOS6567_TAG, mos6567_device, lp_w)) + MCFG_VCS_CONTROL_PORT_TRIGGER_CALLBACK(WRITELINE(MOS6567_TAG, mos6567_device, lp_w)) MCFG_VCS_CONTROL_PORT_ADD(CONTROL2_TAG, vcs_control_port_devices, nullptr) MCFG_CBM2_EXPANSION_SLOT_ADD(CBM2_EXPANSION_SLOT_TAG, XTAL(14'318'181)/14, cbm2_expansion_cards, nullptr) MCFG_CBM2_USER_PORT_ADD(CBM2_USER_PORT_TAG, cbm2_user_port_cards, nullptr) - MCFG_CBM2_USER_PORT_IRQ_CALLBACK(WRITELINE(p500_state, user_irq_w)) - MCFG_CBM2_USER_PORT_SP_CALLBACK(DEVWRITELINE(MOS6526_TAG, mos6526_device, sp_w)) - MCFG_CBM2_USER_PORT_CNT_CALLBACK(DEVWRITELINE(MOS6526_TAG, mos6526_device, cnt_w)) - MCFG_CBM2_USER_PORT_FLAG_CALLBACK(DEVWRITELINE(MOS6526_TAG, mos6526_device, flag_w)) - MCFG_RS232_PORT_ADD(RS232_TAG, default_rs232_devices, nullptr) - MCFG_RS232_RXD_HANDLER(DEVWRITELINE(MOS6551A_TAG, mos6551_device, write_rxd)) - MCFG_RS232_DCD_HANDLER(DEVWRITELINE(MOS6551A_TAG, mos6551_device, write_dcd)) - MCFG_RS232_DSR_HANDLER(DEVWRITELINE(MOS6551A_TAG, mos6551_device, write_dsr)) - MCFG_RS232_CTS_HANDLER(DEVWRITELINE(MOS6551A_TAG, mos6551_device, write_cts)) + MCFG_CBM2_USER_PORT_IRQ_CALLBACK(WRITELINE(*this, p500_state, user_irq_w)) + MCFG_CBM2_USER_PORT_SP_CALLBACK(WRITELINE(MOS6526_TAG, mos6526_device, sp_w)) + MCFG_CBM2_USER_PORT_CNT_CALLBACK(WRITELINE(MOS6526_TAG, mos6526_device, cnt_w)) + MCFG_CBM2_USER_PORT_FLAG_CALLBACK(WRITELINE(MOS6526_TAG, mos6526_device, flag_w)) + MCFG_DEVICE_ADD(RS232_TAG, RS232_PORT, default_rs232_devices, nullptr) + MCFG_RS232_RXD_HANDLER(WRITELINE(MOS6551A_TAG, mos6551_device, write_rxd)) + MCFG_RS232_DCD_HANDLER(WRITELINE(MOS6551A_TAG, mos6551_device, write_dcd)) + MCFG_RS232_DSR_HANDLER(WRITELINE(MOS6551A_TAG, mos6551_device, write_dsr)) + MCFG_RS232_CTS_HANDLER(WRITELINE(MOS6551A_TAG, mos6551_device, write_cts)) MCFG_QUICKLOAD_ADD("quickload", p500_state, p500, "p00,prg", CBM_QUICKLOAD_DELAY_SECONDS) @@ -2430,15 +2430,15 @@ MACHINE_CONFIG_START(p500_state::p500_pal) MCFG_MACHINE_RESET_OVERRIDE(p500_state, p500) // basic hardware - MCFG_CPU_ADD(M6509_TAG, M6509, XTAL(17'734'472)/18) + MCFG_DEVICE_ADD(M6509_TAG, M6509, XTAL(17'734'472)/18) MCFG_M6502_DISABLE_DIRECT() // address decoding is 100% dynamic, no RAM/ROM banks - MCFG_CPU_PROGRAM_MAP(p500_mem) + MCFG_DEVICE_PROGRAM_MAP(p500_mem) MCFG_QUANTUM_PERFECT_CPU(M6509_TAG) // video hardware MCFG_DEVICE_ADD(MOS6569_TAG, MOS6569, XTAL(17'734'472)/18) MCFG_MOS6566_CPU(M6509_TAG) - MCFG_MOS6566_IRQ_CALLBACK(WRITELINE(p500_state, vic_irq_w)) + MCFG_MOS6566_IRQ_CALLBACK(WRITELINE(*this, p500_state, vic_irq_w)) MCFG_VIDEO_SET_SCREEN(SCREEN_TAG) MCFG_DEVICE_ADDRESS_MAP(0, vic_videoram_map) MCFG_DEVICE_ADDRESS_MAP(1, vic_colorram_map) @@ -2450,76 +2450,76 @@ MACHINE_CONFIG_START(p500_state::p500_pal) // sound hardware MCFG_SPEAKER_STANDARD_MONO("mono") - MCFG_SOUND_ADD(MOS6581_TAG, MOS6581, XTAL(17'734'472)/18) - MCFG_MOS6581_POTX_CALLBACK(READ8(p500_state, sid_potx_r)) - MCFG_MOS6581_POTY_CALLBACK(READ8(p500_state, sid_poty_r)) + MCFG_DEVICE_ADD(MOS6581_TAG, MOS6581, XTAL(17'734'472)/18) + MCFG_MOS6581_POTX_CALLBACK(READ8(*this, p500_state, sid_potx_r)) + MCFG_MOS6581_POTY_CALLBACK(READ8(*this, p500_state, sid_poty_r)) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00) // devices MCFG_PLS100_ADD(PLA1_TAG) MCFG_PLS100_ADD(PLA2_TAG) MCFG_DEVICE_ADD(MOS6525_1_TAG, TPI6525, 0) - MCFG_TPI6525_OUT_IRQ_CB(WRITELINE(p500_state, tpi1_irq_w)) - MCFG_TPI6525_IN_PA_CB(READ8(cbm2_state, tpi1_pa_r)) - MCFG_TPI6525_OUT_PA_CB(WRITE8(cbm2_state, tpi1_pa_w)) - MCFG_TPI6525_IN_PB_CB(READ8(cbm2_state, tpi1_pb_r)) - MCFG_TPI6525_OUT_PB_CB(WRITE8(cbm2_state, tpi1_pb_w)) - MCFG_TPI6525_OUT_CA_CB(WRITELINE(p500_state, tpi1_ca_w)) - MCFG_TPI6525_OUT_CB_CB(WRITELINE(p500_state, tpi1_cb_w)) + MCFG_TPI6525_OUT_IRQ_CB(WRITELINE(*this, p500_state, tpi1_irq_w)) + MCFG_TPI6525_IN_PA_CB(READ8(*this, cbm2_state, tpi1_pa_r)) + MCFG_TPI6525_OUT_PA_CB(WRITE8(*this, cbm2_state, tpi1_pa_w)) + MCFG_TPI6525_IN_PB_CB(READ8(*this, cbm2_state, tpi1_pb_r)) + MCFG_TPI6525_OUT_PB_CB(WRITE8(*this, cbm2_state, tpi1_pb_w)) + MCFG_TPI6525_OUT_CA_CB(WRITELINE(*this, p500_state, tpi1_ca_w)) + MCFG_TPI6525_OUT_CB_CB(WRITELINE(*this, p500_state, tpi1_cb_w)) MCFG_DEVICE_ADD(MOS6525_2_TAG, TPI6525, 0) - MCFG_TPI6525_OUT_PA_CB(WRITE8(cbm2_state, tpi2_pa_w)) - MCFG_TPI6525_OUT_PB_CB(WRITE8(cbm2_state, tpi2_pb_w)) - MCFG_TPI6525_IN_PC_CB(READ8(p500_state, tpi2_pc_r)) - MCFG_TPI6525_OUT_PC_CB(WRITE8(p500_state, tpi2_pc_w)) + MCFG_TPI6525_OUT_PA_CB(WRITE8(*this, cbm2_state, tpi2_pa_w)) + MCFG_TPI6525_OUT_PB_CB(WRITE8(*this, cbm2_state, tpi2_pb_w)) + MCFG_TPI6525_IN_PC_CB(READ8(*this, p500_state, tpi2_pc_r)) + MCFG_TPI6525_OUT_PC_CB(WRITE8(*this, p500_state, tpi2_pc_w)) MCFG_DEVICE_ADD(MOS6551A_TAG, MOS6551, 0) MCFG_MOS6551_XTAL(XTAL(1'843'200)) - MCFG_MOS6551_IRQ_HANDLER(DEVWRITELINE(MOS6525_1_TAG, tpi6525_device, i4_w)) - MCFG_MOS6551_TXD_HANDLER(DEVWRITELINE(RS232_TAG, rs232_port_device, write_txd)) + MCFG_MOS6551_IRQ_HANDLER(WRITELINE(MOS6525_1_TAG, tpi6525_device, i4_w)) + MCFG_MOS6551_TXD_HANDLER(WRITELINE(RS232_TAG, rs232_port_device, write_txd)) MCFG_DEVICE_ADD(MOS6526_TAG, MOS6526A, XTAL(17'734'472)/18) MCFG_MOS6526_TOD(50) - MCFG_MOS6526_IRQ_CALLBACK(DEVWRITELINE(MOS6525_1_TAG, tpi6525_device, i2_w)) - MCFG_MOS6526_CNT_CALLBACK(DEVWRITELINE(CBM2_USER_PORT_TAG, cbm2_user_port_device, cnt_w)) - MCFG_MOS6526_SP_CALLBACK(DEVWRITELINE(CBM2_USER_PORT_TAG, cbm2_user_port_device, sp_w)) - MCFG_MOS6526_PA_INPUT_CALLBACK(READ8(cbm2_state, cia_pa_r)) - MCFG_MOS6526_PA_OUTPUT_CALLBACK(WRITE8(cbm2_state, cia_pa_w)) - MCFG_MOS6526_PB_INPUT_CALLBACK(READ8(cbm2_state, cia_pb_r)) - MCFG_MOS6526_PB_OUTPUT_CALLBACK(DEVWRITE8(CBM2_USER_PORT_TAG, cbm2_user_port_device, d2_w)) - MCFG_MOS6526_PC_CALLBACK(DEVWRITELINE(CBM2_USER_PORT_TAG, cbm2_user_port_device, pc_w)) - MCFG_DS75160A_ADD(DS75160A_TAG, DEVREAD8(IEEE488_TAG, ieee488_device, dio_r), DEVWRITE8(IEEE488_TAG, ieee488_device, dio_w)) + MCFG_MOS6526_IRQ_CALLBACK(WRITELINE(MOS6525_1_TAG, tpi6525_device, i2_w)) + MCFG_MOS6526_CNT_CALLBACK(WRITELINE(CBM2_USER_PORT_TAG, cbm2_user_port_device, cnt_w)) + MCFG_MOS6526_SP_CALLBACK(WRITELINE(CBM2_USER_PORT_TAG, cbm2_user_port_device, sp_w)) + MCFG_MOS6526_PA_INPUT_CALLBACK(READ8(*this, cbm2_state, cia_pa_r)) + MCFG_MOS6526_PA_OUTPUT_CALLBACK(WRITE8(*this, cbm2_state, cia_pa_w)) + MCFG_MOS6526_PB_INPUT_CALLBACK(READ8(*this, cbm2_state, cia_pb_r)) + MCFG_MOS6526_PB_OUTPUT_CALLBACK(WRITE8(CBM2_USER_PORT_TAG, cbm2_user_port_device, d2_w)) + MCFG_MOS6526_PC_CALLBACK(WRITELINE(CBM2_USER_PORT_TAG, cbm2_user_port_device, pc_w)) + MCFG_DS75160A_ADD(DS75160A_TAG, READ8(IEEE488_TAG, ieee488_device, dio_r), WRITE8(IEEE488_TAG, ieee488_device, dio_w)) MCFG_DEVICE_ADD(DS75161A_TAG, DS75161A, 0) - MCFG_DS75161A_IN_REN_CB(DEVREADLINE(IEEE488_TAG, ieee488_device, ren_r)) - MCFG_DS75161A_IN_IFC_CB(DEVREADLINE(IEEE488_TAG, ieee488_device, ifc_r)) - MCFG_DS75161A_IN_NDAC_CB(DEVREADLINE(IEEE488_TAG, ieee488_device, ndac_r)) - MCFG_DS75161A_IN_NRFD_CB(DEVREADLINE(IEEE488_TAG, ieee488_device, nrfd_r)) - MCFG_DS75161A_IN_DAV_CB(DEVREADLINE(IEEE488_TAG, ieee488_device, dav_r)) - MCFG_DS75161A_IN_EOI_CB(DEVREADLINE(IEEE488_TAG, ieee488_device, eoi_r)) - MCFG_DS75161A_IN_ATN_CB(DEVREADLINE(IEEE488_TAG, ieee488_device, atn_r)) - MCFG_DS75161A_IN_SRQ_CB(DEVREADLINE(IEEE488_TAG, ieee488_device, srq_r)) - MCFG_DS75161A_OUT_REN_CB(DEVWRITELINE(IEEE488_TAG, ieee488_device, ren_w)) - MCFG_DS75161A_OUT_IFC_CB(DEVWRITELINE(IEEE488_TAG, ieee488_device, ifc_w)) - MCFG_DS75161A_OUT_NDAC_CB(DEVWRITELINE(IEEE488_TAG, ieee488_device, ndac_w)) - MCFG_DS75161A_OUT_NRFD_CB(DEVWRITELINE(IEEE488_TAG, ieee488_device, nrfd_w)) - MCFG_DS75161A_OUT_DAV_CB(DEVWRITELINE(IEEE488_TAG, ieee488_device, dav_w)) - MCFG_DS75161A_OUT_EOI_CB(DEVWRITELINE(IEEE488_TAG, ieee488_device, eoi_w)) - MCFG_DS75161A_OUT_ATN_CB(DEVWRITELINE(IEEE488_TAG, ieee488_device, atn_w)) - MCFG_DS75161A_OUT_SRQ_CB(DEVWRITELINE(IEEE488_TAG, ieee488_device, srq_w)) + MCFG_DS75161A_IN_REN_CB(READLINE(IEEE488_TAG, ieee488_device, ren_r)) + MCFG_DS75161A_IN_IFC_CB(READLINE(IEEE488_TAG, ieee488_device, ifc_r)) + MCFG_DS75161A_IN_NDAC_CB(READLINE(IEEE488_TAG, ieee488_device, ndac_r)) + MCFG_DS75161A_IN_NRFD_CB(READLINE(IEEE488_TAG, ieee488_device, nrfd_r)) + MCFG_DS75161A_IN_DAV_CB(READLINE(IEEE488_TAG, ieee488_device, dav_r)) + MCFG_DS75161A_IN_EOI_CB(READLINE(IEEE488_TAG, ieee488_device, eoi_r)) + MCFG_DS75161A_IN_ATN_CB(READLINE(IEEE488_TAG, ieee488_device, atn_r)) + MCFG_DS75161A_IN_SRQ_CB(READLINE(IEEE488_TAG, ieee488_device, srq_r)) + MCFG_DS75161A_OUT_REN_CB(WRITELINE(IEEE488_TAG, ieee488_device, ren_w)) + MCFG_DS75161A_OUT_IFC_CB(WRITELINE(IEEE488_TAG, ieee488_device, ifc_w)) + MCFG_DS75161A_OUT_NDAC_CB(WRITELINE(IEEE488_TAG, ieee488_device, ndac_w)) + MCFG_DS75161A_OUT_NRFD_CB(WRITELINE(IEEE488_TAG, ieee488_device, nrfd_w)) + MCFG_DS75161A_OUT_DAV_CB(WRITELINE(IEEE488_TAG, ieee488_device, dav_w)) + MCFG_DS75161A_OUT_EOI_CB(WRITELINE(IEEE488_TAG, ieee488_device, eoi_w)) + MCFG_DS75161A_OUT_ATN_CB(WRITELINE(IEEE488_TAG, ieee488_device, atn_w)) + MCFG_DS75161A_OUT_SRQ_CB(WRITELINE(IEEE488_TAG, ieee488_device, srq_w)) MCFG_CBM_IEEE488_ADD("c8050") - MCFG_IEEE488_SRQ_CALLBACK(DEVWRITELINE(MOS6525_1_TAG, tpi6525_device, i1_w)) - MCFG_PET_DATASSETTE_PORT_ADD(PET_DATASSETTE_PORT_TAG, cbm_datassette_devices, nullptr, DEVWRITELINE(MOS6526_TAG, mos6526_device, flag_w)) + MCFG_IEEE488_SRQ_CALLBACK(WRITELINE(MOS6525_1_TAG, tpi6525_device, i1_w)) + MCFG_PET_DATASSETTE_PORT_ADD(PET_DATASSETTE_PORT_TAG, cbm_datassette_devices, nullptr, WRITELINE(MOS6526_TAG, mos6526_device, flag_w)) MCFG_VCS_CONTROL_PORT_ADD(CONTROL1_TAG, vcs_control_port_devices, nullptr) - MCFG_VCS_CONTROL_PORT_TRIGGER_CALLBACK(DEVWRITELINE(MOS6569_TAG, mos6569_device, lp_w)) + MCFG_VCS_CONTROL_PORT_TRIGGER_CALLBACK(WRITELINE(MOS6569_TAG, mos6569_device, lp_w)) MCFG_VCS_CONTROL_PORT_ADD(CONTROL2_TAG, vcs_control_port_devices, nullptr) MCFG_CBM2_EXPANSION_SLOT_ADD(CBM2_EXPANSION_SLOT_TAG, XTAL(17'734'472)/18, cbm2_expansion_cards, nullptr) MCFG_CBM2_USER_PORT_ADD(CBM2_USER_PORT_TAG, cbm2_user_port_cards, nullptr) - MCFG_CBM2_USER_PORT_IRQ_CALLBACK(WRITELINE(p500_state, user_irq_w)) - MCFG_CBM2_USER_PORT_SP_CALLBACK(DEVWRITELINE(MOS6526_TAG, mos6526_device, sp_w)) - MCFG_CBM2_USER_PORT_CNT_CALLBACK(DEVWRITELINE(MOS6526_TAG, mos6526_device, cnt_w)) - MCFG_CBM2_USER_PORT_FLAG_CALLBACK(DEVWRITELINE(MOS6526_TAG, mos6526_device, flag_w)) - MCFG_RS232_PORT_ADD(RS232_TAG, default_rs232_devices, nullptr) - MCFG_RS232_RXD_HANDLER(DEVWRITELINE(MOS6551A_TAG, mos6551_device, write_rxd)) - MCFG_RS232_DCD_HANDLER(DEVWRITELINE(MOS6551A_TAG, mos6551_device, write_dcd)) - MCFG_RS232_DSR_HANDLER(DEVWRITELINE(MOS6551A_TAG, mos6551_device, write_dsr)) - MCFG_RS232_CTS_HANDLER(DEVWRITELINE(MOS6551A_TAG, mos6551_device, write_cts)) + MCFG_CBM2_USER_PORT_IRQ_CALLBACK(WRITELINE(*this, p500_state, user_irq_w)) + MCFG_CBM2_USER_PORT_SP_CALLBACK(WRITELINE(MOS6526_TAG, mos6526_device, sp_w)) + MCFG_CBM2_USER_PORT_CNT_CALLBACK(WRITELINE(MOS6526_TAG, mos6526_device, cnt_w)) + MCFG_CBM2_USER_PORT_FLAG_CALLBACK(WRITELINE(MOS6526_TAG, mos6526_device, flag_w)) + MCFG_DEVICE_ADD(RS232_TAG, RS232_PORT, default_rs232_devices, nullptr) + MCFG_RS232_RXD_HANDLER(WRITELINE(MOS6551A_TAG, mos6551_device, write_rxd)) + MCFG_RS232_DCD_HANDLER(WRITELINE(MOS6551A_TAG, mos6551_device, write_dcd)) + MCFG_RS232_DSR_HANDLER(WRITELINE(MOS6551A_TAG, mos6551_device, write_dsr)) + MCFG_RS232_CTS_HANDLER(WRITELINE(MOS6551A_TAG, mos6551_device, write_cts)) MCFG_QUICKLOAD_ADD("quickload", p500_state, p500, "p00,prg", CBM_QUICKLOAD_DELAY_SECONDS) @@ -2543,9 +2543,9 @@ MACHINE_CONFIG_START(cbm2_state::cbm2lp_ntsc) MCFG_MACHINE_RESET_OVERRIDE(cbm2_state, cbm2) // basic hardware - MCFG_CPU_ADD(M6509_TAG, M6509, XTAL(18'000'000)/9) + MCFG_DEVICE_ADD(M6509_TAG, M6509, XTAL(18'000'000)/9) MCFG_M6502_DISABLE_DIRECT() // address decoding is 100% dynamic, no RAM/ROM banks - MCFG_CPU_PROGRAM_MAP(cbm2_mem) + MCFG_DEVICE_PROGRAM_MAP(cbm2_mem) MCFG_QUANTUM_PERFECT_CPU(M6509_TAG) // video hardware @@ -2566,72 +2566,72 @@ MACHINE_CONFIG_START(cbm2_state::cbm2lp_ntsc) // sound hardware MCFG_SPEAKER_STANDARD_MONO("mono") - MCFG_SOUND_ADD(MOS6581_TAG, MOS6581, XTAL(18'000'000)/9) - MCFG_MOS6581_POTX_CALLBACK(READ8(cbm2_state, sid_potx_r)) - MCFG_MOS6581_POTY_CALLBACK(READ8(cbm2_state, sid_poty_r)) + MCFG_DEVICE_ADD(MOS6581_TAG, MOS6581, XTAL(18'000'000)/9) + MCFG_MOS6581_POTX_CALLBACK(READ8(*this, cbm2_state, sid_potx_r)) + MCFG_MOS6581_POTY_CALLBACK(READ8(*this, cbm2_state, sid_poty_r)) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00) // devices MCFG_PLS100_ADD(PLA1_TAG) MCFG_DEVICE_ADD(MOS6525_1_TAG, TPI6525, 0) - MCFG_TPI6525_OUT_IRQ_CB(WRITELINE(cbm2_state, tpi1_irq_w)) - MCFG_TPI6525_IN_PA_CB(READ8(cbm2_state, tpi1_pa_r)) - MCFG_TPI6525_OUT_PA_CB(WRITE8(cbm2_state, tpi1_pa_w)) - MCFG_TPI6525_IN_PA_CB(READ8(cbm2_state, tpi1_pb_r)) - MCFG_TPI6525_OUT_PB_CB(WRITE8(cbm2_state, tpi1_pb_w)) - MCFG_TPI6525_OUT_CA_CB(WRITELINE(cbm2_state, tpi1_ca_w)) + MCFG_TPI6525_OUT_IRQ_CB(WRITELINE(*this, cbm2_state, tpi1_irq_w)) + MCFG_TPI6525_IN_PA_CB(READ8(*this, cbm2_state, tpi1_pa_r)) + MCFG_TPI6525_OUT_PA_CB(WRITE8(*this, cbm2_state, tpi1_pa_w)) + MCFG_TPI6525_IN_PA_CB(READ8(*this, cbm2_state, tpi1_pb_r)) + MCFG_TPI6525_OUT_PB_CB(WRITE8(*this, cbm2_state, tpi1_pb_w)) + MCFG_TPI6525_OUT_CA_CB(WRITELINE(*this, cbm2_state, tpi1_ca_w)) MCFG_DEVICE_ADD(MOS6525_2_TAG, TPI6525, 0) - MCFG_TPI6525_OUT_PA_CB(WRITE8(cbm2_state, tpi2_pa_w)) - MCFG_TPI6525_OUT_PB_CB(WRITE8(cbm2_state, tpi2_pb_w)) - MCFG_TPI6525_IN_PC_CB(READ8(cbm2_state, tpi2_pc_r)) + MCFG_TPI6525_OUT_PA_CB(WRITE8(*this, cbm2_state, tpi2_pa_w)) + MCFG_TPI6525_OUT_PB_CB(WRITE8(*this, cbm2_state, tpi2_pb_w)) + MCFG_TPI6525_IN_PC_CB(READ8(*this, cbm2_state, tpi2_pc_r)) MCFG_DEVICE_ADD(MOS6551A_TAG, MOS6551, 0) MCFG_MOS6551_XTAL(XTAL(1'843'200)) - MCFG_MOS6551_IRQ_HANDLER(DEVWRITELINE(MOS6525_1_TAG, tpi6525_device, i4_w)) - MCFG_MOS6551_TXD_HANDLER(DEVWRITELINE(RS232_TAG, rs232_port_device, write_txd)) + MCFG_MOS6551_IRQ_HANDLER(WRITELINE(MOS6525_1_TAG, tpi6525_device, i4_w)) + MCFG_MOS6551_TXD_HANDLER(WRITELINE(RS232_TAG, rs232_port_device, write_txd)) MCFG_DEVICE_ADD(MOS6526_TAG, MOS6526A, XTAL(18'000'000)/9) MCFG_MOS6526_TOD(60) - MCFG_MOS6526_IRQ_CALLBACK(DEVWRITELINE(MOS6525_1_TAG, tpi6525_device, i2_w)) - MCFG_MOS6526_CNT_CALLBACK(DEVWRITELINE(CBM2_USER_PORT_TAG, cbm2_user_port_device, cnt_w)) - MCFG_MOS6526_SP_CALLBACK(DEVWRITELINE(CBM2_USER_PORT_TAG, cbm2_user_port_device, sp_w)) - MCFG_MOS6526_PA_INPUT_CALLBACK(READ8(cbm2_state, cia_pa_r)) - MCFG_MOS6526_PA_OUTPUT_CALLBACK(WRITE8(cbm2_state, cia_pa_w)) - MCFG_MOS6526_PB_INPUT_CALLBACK(READ8(cbm2_state, cia_pb_r)) - MCFG_MOS6526_PB_OUTPUT_CALLBACK(DEVWRITE8(CBM2_USER_PORT_TAG, cbm2_user_port_device, d2_w)) - MCFG_MOS6526_PC_CALLBACK(DEVWRITELINE(CBM2_USER_PORT_TAG, cbm2_user_port_device, pc_w)) - MCFG_DS75160A_ADD(DS75160A_TAG, DEVREAD8(IEEE488_TAG, ieee488_device, dio_r), DEVWRITE8(IEEE488_TAG, ieee488_device, dio_w)) + MCFG_MOS6526_IRQ_CALLBACK(WRITELINE(MOS6525_1_TAG, tpi6525_device, i2_w)) + MCFG_MOS6526_CNT_CALLBACK(WRITELINE(CBM2_USER_PORT_TAG, cbm2_user_port_device, cnt_w)) + MCFG_MOS6526_SP_CALLBACK(WRITELINE(CBM2_USER_PORT_TAG, cbm2_user_port_device, sp_w)) + MCFG_MOS6526_PA_INPUT_CALLBACK(READ8(*this, cbm2_state, cia_pa_r)) + MCFG_MOS6526_PA_OUTPUT_CALLBACK(WRITE8(*this, cbm2_state, cia_pa_w)) + MCFG_MOS6526_PB_INPUT_CALLBACK(READ8(*this, cbm2_state, cia_pb_r)) + MCFG_MOS6526_PB_OUTPUT_CALLBACK(WRITE8(CBM2_USER_PORT_TAG, cbm2_user_port_device, d2_w)) + MCFG_MOS6526_PC_CALLBACK(WRITELINE(CBM2_USER_PORT_TAG, cbm2_user_port_device, pc_w)) + MCFG_DS75160A_ADD(DS75160A_TAG, READ8(IEEE488_TAG, ieee488_device, dio_r), WRITE8(IEEE488_TAG, ieee488_device, dio_w)) MCFG_DEVICE_ADD(DS75161A_TAG, DS75161A, 0) - MCFG_DS75161A_IN_REN_CB(DEVREADLINE(IEEE488_TAG, ieee488_device, ren_r)) - MCFG_DS75161A_IN_IFC_CB(DEVREADLINE(IEEE488_TAG, ieee488_device, ifc_r)) - MCFG_DS75161A_IN_NDAC_CB(DEVREADLINE(IEEE488_TAG, ieee488_device, ndac_r)) - MCFG_DS75161A_IN_NRFD_CB(DEVREADLINE(IEEE488_TAG, ieee488_device, nrfd_r)) - MCFG_DS75161A_IN_DAV_CB(DEVREADLINE(IEEE488_TAG, ieee488_device, dav_r)) - MCFG_DS75161A_IN_EOI_CB(DEVREADLINE(IEEE488_TAG, ieee488_device, eoi_r)) - MCFG_DS75161A_IN_ATN_CB(DEVREADLINE(IEEE488_TAG, ieee488_device, atn_r)) - MCFG_DS75161A_IN_SRQ_CB(DEVREADLINE(IEEE488_TAG, ieee488_device, srq_r)) - MCFG_DS75161A_OUT_REN_CB(DEVWRITELINE(IEEE488_TAG, ieee488_device, ren_w)) - MCFG_DS75161A_OUT_IFC_CB(DEVWRITELINE(IEEE488_TAG, ieee488_device, ifc_w)) - MCFG_DS75161A_OUT_NDAC_CB(DEVWRITELINE(IEEE488_TAG, ieee488_device, ndac_w)) - MCFG_DS75161A_OUT_NRFD_CB(DEVWRITELINE(IEEE488_TAG, ieee488_device, nrfd_w)) - MCFG_DS75161A_OUT_DAV_CB(DEVWRITELINE(IEEE488_TAG, ieee488_device, dav_w)) - MCFG_DS75161A_OUT_EOI_CB(DEVWRITELINE(IEEE488_TAG, ieee488_device, eoi_w)) - MCFG_DS75161A_OUT_ATN_CB(DEVWRITELINE(IEEE488_TAG, ieee488_device, atn_w)) - MCFG_DS75161A_OUT_SRQ_CB(DEVWRITELINE(IEEE488_TAG, ieee488_device, srq_w)) + MCFG_DS75161A_IN_REN_CB(READLINE(IEEE488_TAG, ieee488_device, ren_r)) + MCFG_DS75161A_IN_IFC_CB(READLINE(IEEE488_TAG, ieee488_device, ifc_r)) + MCFG_DS75161A_IN_NDAC_CB(READLINE(IEEE488_TAG, ieee488_device, ndac_r)) + MCFG_DS75161A_IN_NRFD_CB(READLINE(IEEE488_TAG, ieee488_device, nrfd_r)) + MCFG_DS75161A_IN_DAV_CB(READLINE(IEEE488_TAG, ieee488_device, dav_r)) + MCFG_DS75161A_IN_EOI_CB(READLINE(IEEE488_TAG, ieee488_device, eoi_r)) + MCFG_DS75161A_IN_ATN_CB(READLINE(IEEE488_TAG, ieee488_device, atn_r)) + MCFG_DS75161A_IN_SRQ_CB(READLINE(IEEE488_TAG, ieee488_device, srq_r)) + MCFG_DS75161A_OUT_REN_CB(WRITELINE(IEEE488_TAG, ieee488_device, ren_w)) + MCFG_DS75161A_OUT_IFC_CB(WRITELINE(IEEE488_TAG, ieee488_device, ifc_w)) + MCFG_DS75161A_OUT_NDAC_CB(WRITELINE(IEEE488_TAG, ieee488_device, ndac_w)) + MCFG_DS75161A_OUT_NRFD_CB(WRITELINE(IEEE488_TAG, ieee488_device, nrfd_w)) + MCFG_DS75161A_OUT_DAV_CB(WRITELINE(IEEE488_TAG, ieee488_device, dav_w)) + MCFG_DS75161A_OUT_EOI_CB(WRITELINE(IEEE488_TAG, ieee488_device, eoi_w)) + MCFG_DS75161A_OUT_ATN_CB(WRITELINE(IEEE488_TAG, ieee488_device, atn_w)) + MCFG_DS75161A_OUT_SRQ_CB(WRITELINE(IEEE488_TAG, ieee488_device, srq_w)) MCFG_CBM_IEEE488_ADD("c8050") - MCFG_IEEE488_SRQ_CALLBACK(DEVWRITELINE(MOS6525_1_TAG, tpi6525_device, i1_w)) - MCFG_PET_DATASSETTE_PORT_ADD(PET_DATASSETTE_PORT_TAG, cbm_datassette_devices, nullptr, DEVWRITELINE(MOS6526_TAG, mos6526_device, flag_w)) + MCFG_IEEE488_SRQ_CALLBACK(WRITELINE(MOS6525_1_TAG, tpi6525_device, i1_w)) + MCFG_PET_DATASSETTE_PORT_ADD(PET_DATASSETTE_PORT_TAG, cbm_datassette_devices, nullptr, WRITELINE(MOS6526_TAG, mos6526_device, flag_w)) MCFG_VCS_CONTROL_PORT_ADD(CONTROL1_TAG, vcs_control_port_devices, nullptr) MCFG_VCS_CONTROL_PORT_ADD(CONTROL2_TAG, vcs_control_port_devices, nullptr) MCFG_CBM2_EXPANSION_SLOT_ADD(CBM2_EXPANSION_SLOT_TAG, XTAL(18'000'000)/9, cbm2_expansion_cards, nullptr) MCFG_CBM2_USER_PORT_ADD(CBM2_USER_PORT_TAG, cbm2_user_port_cards, nullptr) - MCFG_CBM2_USER_PORT_IRQ_CALLBACK(WRITELINE(cbm2_state, user_irq_w)) - MCFG_CBM2_USER_PORT_SP_CALLBACK(DEVWRITELINE(MOS6526_TAG, mos6526_device, sp_w)) - MCFG_CBM2_USER_PORT_CNT_CALLBACK(DEVWRITELINE(MOS6526_TAG, mos6526_device, cnt_w)) - MCFG_CBM2_USER_PORT_FLAG_CALLBACK(DEVWRITELINE(MOS6526_TAG, mos6526_device, flag_w)) - MCFG_RS232_PORT_ADD(RS232_TAG, default_rs232_devices, nullptr) - MCFG_RS232_RXD_HANDLER(DEVWRITELINE(MOS6551A_TAG, mos6551_device, write_rxd)) - MCFG_RS232_DCD_HANDLER(DEVWRITELINE(MOS6551A_TAG, mos6551_device, write_dcd)) - MCFG_RS232_DSR_HANDLER(DEVWRITELINE(MOS6551A_TAG, mos6551_device, write_dsr)) - MCFG_RS232_CTS_HANDLER(DEVWRITELINE(MOS6551A_TAG, mos6551_device, write_cts)) + MCFG_CBM2_USER_PORT_IRQ_CALLBACK(WRITELINE(*this, cbm2_state, user_irq_w)) + MCFG_CBM2_USER_PORT_SP_CALLBACK(WRITELINE(MOS6526_TAG, mos6526_device, sp_w)) + MCFG_CBM2_USER_PORT_CNT_CALLBACK(WRITELINE(MOS6526_TAG, mos6526_device, cnt_w)) + MCFG_CBM2_USER_PORT_FLAG_CALLBACK(WRITELINE(MOS6526_TAG, mos6526_device, flag_w)) + MCFG_DEVICE_ADD(RS232_TAG, RS232_PORT, default_rs232_devices, nullptr) + MCFG_RS232_RXD_HANDLER(WRITELINE(MOS6551A_TAG, mos6551_device, write_rxd)) + MCFG_RS232_DCD_HANDLER(WRITELINE(MOS6551A_TAG, mos6551_device, write_dcd)) + MCFG_RS232_DSR_HANDLER(WRITELINE(MOS6551A_TAG, mos6551_device, write_dsr)) + MCFG_RS232_CTS_HANDLER(WRITELINE(MOS6551A_TAG, mos6551_device, write_cts)) MCFG_QUICKLOAD_ADD("quickload", cbm2_state, cbmb, "p00,prg,t64", CBM_QUICKLOAD_DELAY_SECONDS) @@ -2703,7 +2703,7 @@ MACHINE_CONFIG_END MACHINE_CONFIG_START(cbm2_state::cbm2hp_ntsc) cbm2lp_ntsc(config); MCFG_DEVICE_MODIFY(MOS6525_2_TAG) - MCFG_TPI6525_IN_PC_CB(READ8(cbm2hp_state, tpi2_pc_r)) + MCFG_TPI6525_IN_PC_CB(READ8(*this, cbm2hp_state, tpi2_pc_r)) MACHINE_CONFIG_END @@ -2735,26 +2735,26 @@ MACHINE_CONFIG_START(cbm2hp_state::bx256hp) b256hp(config); MCFG_MACHINE_START_OVERRIDE(cbm2_state, cbm2x_ntsc) - MCFG_CPU_ADD(EXT_I8088_TAG, I8088, XTAL(12'000'000)) - MCFG_CPU_PROGRAM_MAP(ext_mem) - MCFG_CPU_IO_MAP(ext_io) - MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE(EXT_I8259A_TAG, pic8259_device, inta_cb) + MCFG_DEVICE_ADD(EXT_I8088_TAG, I8088, XTAL(12'000'000)) + MCFG_DEVICE_PROGRAM_MAP(ext_mem) + MCFG_DEVICE_IO_MAP(ext_io) + MCFG_DEVICE_IRQ_ACKNOWLEDGE_DEVICE(EXT_I8259A_TAG, pic8259_device, inta_cb) MCFG_DEVICE_ADD(EXT_I8259A_TAG, PIC8259, 0) MCFG_PIC8259_OUT_INT_CB(INPUTLINE(EXT_I8088_TAG, INPUT_LINE_IRQ0)) MCFG_DEVICE_ADD(EXT_MOS6525_TAG, TPI6525, 0) - MCFG_TPI6525_IN_PA_CB(DEVREAD8(EXT_MOS6526_TAG, mos6526_device, pa_r)) - MCFG_TPI6525_IN_PB_CB(READ8(cbm2_state, ext_tpi_pb_r)) - MCFG_TPI6525_OUT_PB_CB(WRITE8(cbm2_state, ext_tpi_pb_w)) - MCFG_TPI6525_OUT_PC_CB(WRITE8(cbm2_state, ext_tpi_pc_w)) + MCFG_TPI6525_IN_PA_CB(READ8(EXT_MOS6526_TAG, mos6526_device, pa_r)) + MCFG_TPI6525_IN_PB_CB(READ8(*this, cbm2_state, ext_tpi_pb_r)) + MCFG_TPI6525_OUT_PB_CB(WRITE8(*this, cbm2_state, ext_tpi_pb_w)) + MCFG_TPI6525_OUT_PC_CB(WRITE8(*this, cbm2_state, ext_tpi_pc_w)) MCFG_DEVICE_ADD(EXT_MOS6526_TAG, MOS6526, XTAL(18'000'000)/9) MCFG_MOS6526_TOD(60) - MCFG_MOS6526_IRQ_CALLBACK(WRITELINE(cbm2_state, ext_cia_irq_w)) - MCFG_MOS6526_PA_INPUT_CALLBACK(DEVREAD8(EXT_MOS6525_TAG, tpi6525_device, pa_r)) - MCFG_MOS6526_PB_INPUT_CALLBACK(READ8(cbm2_state, ext_cia_pb_r)) - MCFG_MOS6526_PB_OUTPUT_CALLBACK(WRITE8(cbm2_state, ext_cia_pb_w)) + MCFG_MOS6526_IRQ_CALLBACK(WRITELINE(*this, cbm2_state, ext_cia_irq_w)) + MCFG_MOS6526_PA_INPUT_CALLBACK(READ8(EXT_MOS6525_TAG, tpi6525_device, pa_r)) + MCFG_MOS6526_PB_INPUT_CALLBACK(READ8(*this, cbm2_state, ext_cia_pb_r)) + MCFG_MOS6526_PB_OUTPUT_CALLBACK(WRITE8(*this, cbm2_state, ext_cia_pb_w)) MCFG_SOFTWARE_LIST_ADD("flop_list2", "bx256hp_flop") MACHINE_CONFIG_END @@ -2770,7 +2770,7 @@ MACHINE_CONFIG_START(cbm2_state::cbm2hp_pal) // devices MCFG_DEVICE_MODIFY(MOS6525_2_TAG) - MCFG_TPI6525_IN_PC_CB(READ8(cbm2hp_state, tpi2_pc_r)) + MCFG_TPI6525_IN_PC_CB(READ8(*this, cbm2hp_state, tpi2_pc_r)) MCFG_DEVICE_MODIFY(MOS6526_TAG) MCFG_MOS6526_TOD(50) @@ -2805,26 +2805,26 @@ MACHINE_CONFIG_START(cbm2hp_state::cbm730) cbm720(config); MCFG_MACHINE_START_OVERRIDE(cbm2_state, cbm2x_pal) - MCFG_CPU_ADD(EXT_I8088_TAG, I8088, XTAL(12'000'000)) - MCFG_CPU_PROGRAM_MAP(ext_mem) - MCFG_CPU_IO_MAP(ext_io) - MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE(EXT_I8259A_TAG, pic8259_device, inta_cb) + MCFG_DEVICE_ADD(EXT_I8088_TAG, I8088, XTAL(12'000'000)) + MCFG_DEVICE_PROGRAM_MAP(ext_mem) + MCFG_DEVICE_IO_MAP(ext_io) + MCFG_DEVICE_IRQ_ACKNOWLEDGE_DEVICE(EXT_I8259A_TAG, pic8259_device, inta_cb) MCFG_DEVICE_ADD(EXT_I8259A_TAG, PIC8259, 0) MCFG_PIC8259_OUT_INT_CB(INPUTLINE(EXT_I8088_TAG, INPUT_LINE_IRQ0)) MCFG_DEVICE_ADD(EXT_MOS6525_TAG, TPI6525, 0) - MCFG_TPI6525_IN_PA_CB(DEVREAD8(EXT_MOS6526_TAG, mos6526_device, pa_r)) - MCFG_TPI6525_IN_PB_CB(READ8(cbm2_state, ext_tpi_pb_r)) - MCFG_TPI6525_OUT_PB_CB(WRITE8(cbm2_state, ext_tpi_pb_w)) - MCFG_TPI6525_OUT_PC_CB(WRITE8(cbm2_state, ext_tpi_pc_w)) + MCFG_TPI6525_IN_PA_CB(READ8(EXT_MOS6526_TAG, mos6526_device, pa_r)) + MCFG_TPI6525_IN_PB_CB(READ8(*this, cbm2_state, ext_tpi_pb_r)) + MCFG_TPI6525_OUT_PB_CB(WRITE8(*this, cbm2_state, ext_tpi_pb_w)) + MCFG_TPI6525_OUT_PC_CB(WRITE8(*this, cbm2_state, ext_tpi_pc_w)) MCFG_DEVICE_ADD(EXT_MOS6526_TAG, MOS6526, XTAL(18'000'000)/9) MCFG_MOS6526_TOD(50) - MCFG_MOS6526_IRQ_CALLBACK(WRITELINE(cbm2_state, ext_cia_irq_w)) - MCFG_MOS6526_PA_INPUT_CALLBACK(DEVREAD8(EXT_MOS6525_TAG, tpi6525_device, pa_r)) - MCFG_MOS6526_PB_INPUT_CALLBACK(READ8(cbm2_state, ext_cia_pb_r)) - MCFG_MOS6526_PB_OUTPUT_CALLBACK(WRITE8(cbm2_state, ext_cia_pb_w)) + MCFG_MOS6526_IRQ_CALLBACK(WRITELINE(*this, cbm2_state, ext_cia_irq_w)) + MCFG_MOS6526_PA_INPUT_CALLBACK(READ8(EXT_MOS6525_TAG, tpi6525_device, pa_r)) + MCFG_MOS6526_PB_INPUT_CALLBACK(READ8(*this, cbm2_state, ext_cia_pb_r)) + MCFG_MOS6526_PB_OUTPUT_CALLBACK(WRITE8(*this, cbm2_state, ext_cia_pb_w)) MCFG_SOFTWARE_LIST_ADD("flop_list2", "bx256hp_flop") MACHINE_CONFIG_END |