diff options
Diffstat (limited to 'src/mame/drivers/c64.cpp')
-rw-r--r-- | src/mame/drivers/c64.cpp | 304 |
1 files changed, 152 insertions, 152 deletions
diff --git a/src/mame/drivers/c64.cpp b/src/mame/drivers/c64.cpp index b9004fb54a1..25dc47a1d4b 100644 --- a/src/mame/drivers/c64.cpp +++ b/src/mame/drivers/c64.cpp @@ -1329,17 +1329,17 @@ void c64_state::machine_reset() MACHINE_CONFIG_START(c64_state::ntsc) // basic hardware - MCFG_CPU_ADD(M6510_TAG, M6510, XTAL(14'318'181)/14) - MCFG_CPU_PROGRAM_MAP(c64_mem) + MCFG_DEVICE_ADD(M6510_TAG, M6510, XTAL(14'318'181)/14) + MCFG_DEVICE_PROGRAM_MAP(c64_mem) MCFG_M6502_DISABLE_DIRECT() // address decoding is 100% dynamic, no RAM/ROM banks - MCFG_M6510_PORT_CALLBACKS(READ8(c64_state, cpu_r), WRITE8(c64_state, cpu_w)) + MCFG_M6510_PORT_CALLBACKS(READ8(*this, c64_state, cpu_r), WRITE8(*this, c64_state, cpu_w)) MCFG_M6510_PORT_PULLS(0x17, 0xc8) MCFG_QUANTUM_PERFECT_CPU(M6510_TAG) // video hardware MCFG_DEVICE_ADD(MOS6567_TAG, MOS6567, XTAL(14'318'181)/14) MCFG_MOS6566_CPU(M6510_TAG) - MCFG_MOS6566_IRQ_CALLBACK(WRITELINE(c64_state, vic_irq_w)) + MCFG_MOS6566_IRQ_CALLBACK(WRITELINE(*this, c64_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) @@ -1351,63 +1351,63 @@ MACHINE_CONFIG_START(c64_state::ntsc) // sound hardware MCFG_SPEAKER_STANDARD_MONO("mono") - MCFG_SOUND_ADD(MOS6581_TAG, MOS6581, XTAL(14'318'181)/14) - MCFG_MOS6581_POTX_CALLBACK(READ8(c64_state, sid_potx_r)) - MCFG_MOS6581_POTY_CALLBACK(READ8(c64_state, sid_poty_r)) + MCFG_DEVICE_ADD(MOS6581_TAG, MOS6581, XTAL(14'318'181)/14) + MCFG_MOS6581_POTX_CALLBACK(READ8(*this, c64_state, sid_potx_r)) + MCFG_MOS6581_POTY_CALLBACK(READ8(*this, c64_state, sid_poty_r)) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00) // devices MCFG_PLS100_ADD(PLA_TAG) MCFG_DEVICE_ADD(MOS6526_1_TAG, MOS6526, XTAL(14'318'181)/14) MCFG_MOS6526_TOD(60) - MCFG_MOS6526_IRQ_CALLBACK(WRITELINE(c64_state, cia1_irq_w)) - MCFG_MOS6526_CNT_CALLBACK(DEVWRITELINE(PET_USER_PORT_TAG, pet_user_port_device, write_4)) - MCFG_MOS6526_SP_CALLBACK(DEVWRITELINE(PET_USER_PORT_TAG, pet_user_port_device, write_5)) - MCFG_MOS6526_PA_INPUT_CALLBACK(READ8(c64_state, cia1_pa_r)) - MCFG_MOS6526_PB_INPUT_CALLBACK(READ8(c64_state, cia1_pb_r)) - MCFG_MOS6526_PB_OUTPUT_CALLBACK(WRITE8(c64_state, cia1_pb_w)) + MCFG_MOS6526_IRQ_CALLBACK(WRITELINE(*this, c64_state, cia1_irq_w)) + MCFG_MOS6526_CNT_CALLBACK(WRITELINE(PET_USER_PORT_TAG, pet_user_port_device, write_4)) + MCFG_MOS6526_SP_CALLBACK(WRITELINE(PET_USER_PORT_TAG, pet_user_port_device, write_5)) + MCFG_MOS6526_PA_INPUT_CALLBACK(READ8(*this, c64_state, cia1_pa_r)) + MCFG_MOS6526_PB_INPUT_CALLBACK(READ8(*this, c64_state, cia1_pb_r)) + MCFG_MOS6526_PB_OUTPUT_CALLBACK(WRITE8(*this, c64_state, cia1_pb_w)) MCFG_DEVICE_ADD(MOS6526_2_TAG, MOS6526, XTAL(14'318'181)/14) MCFG_MOS6526_TOD(60) - MCFG_MOS6526_IRQ_CALLBACK(WRITELINE(c64_state, cia2_irq_w)) - MCFG_MOS6526_CNT_CALLBACK(DEVWRITELINE(PET_USER_PORT_TAG, pet_user_port_device, write_6)) - MCFG_MOS6526_SP_CALLBACK(DEVWRITELINE(PET_USER_PORT_TAG, pet_user_port_device, write_7)) - MCFG_MOS6526_PA_INPUT_CALLBACK(READ8(c64_state, cia2_pa_r)) - MCFG_MOS6526_PA_OUTPUT_CALLBACK(WRITE8(c64_state, cia2_pa_w)) - MCFG_MOS6526_PB_INPUT_CALLBACK(READ8(c64_state, cia2_pb_r)) - MCFG_MOS6526_PB_OUTPUT_CALLBACK(WRITE8(c64_state, cia2_pb_w)) - MCFG_MOS6526_PC_CALLBACK(DEVWRITELINE(PET_USER_PORT_TAG, pet_user_port_device, write_8)) - MCFG_PET_DATASSETTE_PORT_ADD(PET_DATASSETTE_PORT_TAG, cbm_datassette_devices, "c1530", DEVWRITELINE(MOS6526_1_TAG, mos6526_device, flag_w)) + MCFG_MOS6526_IRQ_CALLBACK(WRITELINE(*this, c64_state, cia2_irq_w)) + MCFG_MOS6526_CNT_CALLBACK(WRITELINE(PET_USER_PORT_TAG, pet_user_port_device, write_6)) + MCFG_MOS6526_SP_CALLBACK(WRITELINE(PET_USER_PORT_TAG, pet_user_port_device, write_7)) + MCFG_MOS6526_PA_INPUT_CALLBACK(READ8(*this, c64_state, cia2_pa_r)) + MCFG_MOS6526_PA_OUTPUT_CALLBACK(WRITE8(*this, c64_state, cia2_pa_w)) + MCFG_MOS6526_PB_INPUT_CALLBACK(READ8(*this, c64_state, cia2_pb_r)) + MCFG_MOS6526_PB_OUTPUT_CALLBACK(WRITE8(*this, c64_state, cia2_pb_w)) + MCFG_MOS6526_PC_CALLBACK(WRITELINE(PET_USER_PORT_TAG, pet_user_port_device, write_8)) + MCFG_PET_DATASSETTE_PORT_ADD(PET_DATASSETTE_PORT_TAG, cbm_datassette_devices, "c1530", WRITELINE(MOS6526_1_TAG, mos6526_device, flag_w)) MCFG_CBM_IEC_ADD("c1541") - MCFG_CBM_IEC_BUS_SRQ_CALLBACK(DEVWRITELINE(MOS6526_1_TAG, mos6526_device, flag_w)) - MCFG_CBM_IEC_BUS_ATN_CALLBACK(DEVWRITELINE(PET_USER_PORT_TAG, pet_user_port_device, write_9)) + MCFG_CBM_IEC_BUS_SRQ_CALLBACK(WRITELINE(MOS6526_1_TAG, mos6526_device, flag_w)) + MCFG_CBM_IEC_BUS_ATN_CALLBACK(WRITELINE(PET_USER_PORT_TAG, pet_user_port_device, write_9)) 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, "joy") MCFG_C64_EXPANSION_SLOT_ADD(C64_EXPANSION_SLOT_TAG, XTAL(14'318'181)/14, c64_expansion_cards, nullptr) - MCFG_C64_EXPANSION_SLOT_IRQ_CALLBACK(WRITELINE(c64_state, exp_irq_w)) - MCFG_C64_EXPANSION_SLOT_NMI_CALLBACK(WRITELINE(c64_state, exp_nmi_w)) - MCFG_C64_EXPANSION_SLOT_RESET_CALLBACK(WRITELINE(c64_state, exp_reset_w)) - MCFG_C64_EXPANSION_SLOT_CD_INPUT_CALLBACK(READ8(c64_state, read)) - MCFG_C64_EXPANSION_SLOT_CD_OUTPUT_CALLBACK(WRITE8(c64_state, write)) - MCFG_C64_EXPANSION_SLOT_DMA_CALLBACK(WRITELINE(c64_state, exp_dma_w)) + MCFG_C64_EXPANSION_SLOT_IRQ_CALLBACK(WRITELINE(*this, c64_state, exp_irq_w)) + MCFG_C64_EXPANSION_SLOT_NMI_CALLBACK(WRITELINE(*this, c64_state, exp_nmi_w)) + MCFG_C64_EXPANSION_SLOT_RESET_CALLBACK(WRITELINE(*this, c64_state, exp_reset_w)) + MCFG_C64_EXPANSION_SLOT_CD_INPUT_CALLBACK(READ8(*this, c64_state, read)) + MCFG_C64_EXPANSION_SLOT_CD_OUTPUT_CALLBACK(WRITE8(*this, c64_state, write)) + MCFG_C64_EXPANSION_SLOT_DMA_CALLBACK(WRITELINE(*this, c64_state, exp_dma_w)) MCFG_PET_USER_PORT_ADD(PET_USER_PORT_TAG, c64_user_port_cards, nullptr) - MCFG_PET_USER_PORT_3_HANDLER(WRITELINE(c64_state, exp_reset_w)) - MCFG_PET_USER_PORT_4_HANDLER(DEVWRITELINE(MOS6526_1_TAG, mos6526_device, cnt_w)) - MCFG_PET_USER_PORT_5_HANDLER(DEVWRITELINE(MOS6526_1_TAG, mos6526_device, sp_w)) - MCFG_PET_USER_PORT_6_HANDLER(DEVWRITELINE(MOS6526_2_TAG, mos6526_device, cnt_w)) - MCFG_PET_USER_PORT_7_HANDLER(DEVWRITELINE(MOS6526_2_TAG, mos6526_device, sp_w)) - MCFG_PET_USER_PORT_9_HANDLER(DEVWRITELINE(CBM_IEC_TAG, cbm_iec_device, atn_w)) - MCFG_PET_USER_PORT_B_HANDLER(DEVWRITELINE(MOS6526_2_TAG, mos6526_device, flag_w)) - MCFG_PET_USER_PORT_C_HANDLER(WRITELINE(c64_state, write_user_pb0)) - MCFG_PET_USER_PORT_D_HANDLER(WRITELINE(c64_state, write_user_pb1)) - MCFG_PET_USER_PORT_E_HANDLER(WRITELINE(c64_state, write_user_pb2)) - MCFG_PET_USER_PORT_F_HANDLER(WRITELINE(c64_state, write_user_pb3)) - MCFG_PET_USER_PORT_H_HANDLER(WRITELINE(c64_state, write_user_pb4)) - MCFG_PET_USER_PORT_J_HANDLER(WRITELINE(c64_state, write_user_pb5)) - MCFG_PET_USER_PORT_K_HANDLER(WRITELINE(c64_state, write_user_pb6)) - MCFG_PET_USER_PORT_L_HANDLER(WRITELINE(c64_state, write_user_pb7)) - MCFG_PET_USER_PORT_M_HANDLER(WRITELINE(c64_state, write_user_pa2)) + MCFG_PET_USER_PORT_3_HANDLER(WRITELINE(*this, c64_state, exp_reset_w)) + MCFG_PET_USER_PORT_4_HANDLER(WRITELINE(MOS6526_1_TAG, mos6526_device, cnt_w)) + MCFG_PET_USER_PORT_5_HANDLER(WRITELINE(MOS6526_1_TAG, mos6526_device, sp_w)) + MCFG_PET_USER_PORT_6_HANDLER(WRITELINE(MOS6526_2_TAG, mos6526_device, cnt_w)) + MCFG_PET_USER_PORT_7_HANDLER(WRITELINE(MOS6526_2_TAG, mos6526_device, sp_w)) + MCFG_PET_USER_PORT_9_HANDLER(WRITELINE(CBM_IEC_TAG, cbm_iec_device, atn_w)) + MCFG_PET_USER_PORT_B_HANDLER(WRITELINE(MOS6526_2_TAG, mos6526_device, flag_w)) + MCFG_PET_USER_PORT_C_HANDLER(WRITELINE(*this, c64_state, write_user_pb0)) + MCFG_PET_USER_PORT_D_HANDLER(WRITELINE(*this, c64_state, write_user_pb1)) + MCFG_PET_USER_PORT_E_HANDLER(WRITELINE(*this, c64_state, write_user_pb2)) + MCFG_PET_USER_PORT_F_HANDLER(WRITELINE(*this, c64_state, write_user_pb3)) + MCFG_PET_USER_PORT_H_HANDLER(WRITELINE(*this, c64_state, write_user_pb4)) + MCFG_PET_USER_PORT_J_HANDLER(WRITELINE(*this, c64_state, write_user_pb5)) + MCFG_PET_USER_PORT_K_HANDLER(WRITELINE(*this, c64_state, write_user_pb6)) + MCFG_PET_USER_PORT_L_HANDLER(WRITELINE(*this, c64_state, write_user_pb7)) + MCFG_PET_USER_PORT_M_HANDLER(WRITELINE(*this, c64_state, write_user_pa2)) MCFG_QUICKLOAD_ADD("quickload", c64_state, cbm_c64, "p00,prg,t64", CBM_QUICKLOAD_DELAY_SECONDS) @@ -1445,8 +1445,8 @@ MACHINE_CONFIG_START(sx64_state::ntsc_sx) ntsc(config); // basic hardware - MCFG_CPU_MODIFY(M6510_TAG) - MCFG_M6510_PORT_CALLBACKS(READ8(sx64_state, cpu_r), WRITE8(sx64_state, cpu_w)) + MCFG_DEVICE_MODIFY(M6510_TAG) + MCFG_M6510_PORT_CALLBACKS(READ8(*this, sx64_state, cpu_r), WRITE8(*this, sx64_state, cpu_w)) MCFG_M6510_PORT_PULLS(0x07, 0xc0) // devices @@ -1474,9 +1474,9 @@ MACHINE_CONFIG_END MACHINE_CONFIG_START(c64c_state::ntsc_c) ntsc(config); - MCFG_SOUND_REPLACE(MOS6581_TAG, MOS8580, XTAL(14'318'181)/14) - MCFG_MOS6581_POTX_CALLBACK(READ8(c64_state, sid_potx_r)) - MCFG_MOS6581_POTY_CALLBACK(READ8(c64_state, sid_poty_r)) + MCFG_DEVICE_REPLACE(MOS6581_TAG, MOS8580, XTAL(14'318'181)/14) + MCFG_MOS6581_POTX_CALLBACK(READ8(*this, c64_state, sid_potx_r)) + MCFG_MOS6581_POTY_CALLBACK(READ8(*this, c64_state, sid_poty_r)) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00) MACHINE_CONFIG_END @@ -1487,17 +1487,17 @@ MACHINE_CONFIG_END MACHINE_CONFIG_START(c64_state::pal) // basic hardware - MCFG_CPU_ADD(M6510_TAG, M6510, XTAL(17'734'472)/18) - MCFG_CPU_PROGRAM_MAP(c64_mem) + MCFG_DEVICE_ADD(M6510_TAG, M6510, XTAL(17'734'472)/18) + MCFG_DEVICE_PROGRAM_MAP(c64_mem) MCFG_M6502_DISABLE_DIRECT() // address decoding is 100% dynamic, no RAM/ROM banks - MCFG_M6510_PORT_CALLBACKS(READ8(c64_state, cpu_r), WRITE8(c64_state, cpu_w)) + MCFG_M6510_PORT_CALLBACKS(READ8(*this, c64_state, cpu_r), WRITE8(*this, c64_state, cpu_w)) MCFG_M6510_PORT_PULLS(0x17, 0xc8) MCFG_QUANTUM_PERFECT_CPU(M6510_TAG) // video hardware MCFG_DEVICE_ADD(MOS6569_TAG, MOS6569, XTAL(17'734'472)/18) MCFG_MOS6566_CPU(M6510_TAG) - MCFG_MOS6566_IRQ_CALLBACK(WRITELINE(c64_state, vic_irq_w)) + MCFG_MOS6566_IRQ_CALLBACK(WRITELINE(*this, c64_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) @@ -1509,64 +1509,64 @@ MACHINE_CONFIG_START(c64_state::pal) // sound hardware MCFG_SPEAKER_STANDARD_MONO("mono") - MCFG_SOUND_ADD(MOS6581_TAG, MOS6581, XTAL(17'734'472)/18) - MCFG_MOS6581_POTX_CALLBACK(READ8(c64_state, sid_potx_r)) - MCFG_MOS6581_POTY_CALLBACK(READ8(c64_state, sid_poty_r)) + MCFG_DEVICE_ADD(MOS6581_TAG, MOS6581, XTAL(17'734'472)/18) + MCFG_MOS6581_POTX_CALLBACK(READ8(*this, c64_state, sid_potx_r)) + MCFG_MOS6581_POTY_CALLBACK(READ8(*this, c64_state, sid_poty_r)) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00) // devices MCFG_PLS100_ADD(PLA_TAG) MCFG_DEVICE_ADD(MOS6526_1_TAG, MOS6526, XTAL(17'734'472)/18) MCFG_MOS6526_TOD(50) - MCFG_MOS6526_IRQ_CALLBACK(WRITELINE(c64_state, cia1_irq_w)) - MCFG_MOS6526_CNT_CALLBACK(DEVWRITELINE(PET_USER_PORT_TAG, pet_user_port_device, write_4)) - MCFG_MOS6526_SP_CALLBACK(DEVWRITELINE(PET_USER_PORT_TAG, pet_user_port_device, write_5)) - MCFG_MOS6526_PA_INPUT_CALLBACK(READ8(c64_state, cia1_pa_r)) - MCFG_MOS6526_PA_OUTPUT_CALLBACK(WRITE8(c64_state, cia1_pa_w)) - MCFG_MOS6526_PB_INPUT_CALLBACK(READ8(c64_state, cia1_pb_r)) - MCFG_MOS6526_PB_OUTPUT_CALLBACK(WRITE8(c64_state, cia1_pb_w)) + MCFG_MOS6526_IRQ_CALLBACK(WRITELINE(*this, c64_state, cia1_irq_w)) + MCFG_MOS6526_CNT_CALLBACK(WRITELINE(PET_USER_PORT_TAG, pet_user_port_device, write_4)) + MCFG_MOS6526_SP_CALLBACK(WRITELINE(PET_USER_PORT_TAG, pet_user_port_device, write_5)) + MCFG_MOS6526_PA_INPUT_CALLBACK(READ8(*this, c64_state, cia1_pa_r)) + MCFG_MOS6526_PA_OUTPUT_CALLBACK(WRITE8(*this, c64_state, cia1_pa_w)) + MCFG_MOS6526_PB_INPUT_CALLBACK(READ8(*this, c64_state, cia1_pb_r)) + MCFG_MOS6526_PB_OUTPUT_CALLBACK(WRITE8(*this, c64_state, cia1_pb_w)) MCFG_DEVICE_ADD(MOS6526_2_TAG, MOS6526, XTAL(17'734'472)/18) MCFG_MOS6526_TOD(50) - MCFG_MOS6526_IRQ_CALLBACK(WRITELINE(c64_state, cia2_irq_w)) - MCFG_MOS6526_CNT_CALLBACK(DEVWRITELINE(PET_USER_PORT_TAG, pet_user_port_device, write_6)) - MCFG_MOS6526_SP_CALLBACK(DEVWRITELINE(PET_USER_PORT_TAG, pet_user_port_device, write_7)) - MCFG_MOS6526_PA_INPUT_CALLBACK(READ8(c64_state, cia2_pa_r)) - MCFG_MOS6526_PA_OUTPUT_CALLBACK(WRITE8(c64_state, cia2_pa_w)) - MCFG_MOS6526_PB_INPUT_CALLBACK(READ8(c64_state, cia2_pb_r)) - MCFG_MOS6526_PB_OUTPUT_CALLBACK(WRITE8(c64_state, cia2_pb_w)) - MCFG_MOS6526_PC_CALLBACK(DEVWRITELINE(PET_USER_PORT_TAG, pet_user_port_device, write_8)) - MCFG_PET_DATASSETTE_PORT_ADD(PET_DATASSETTE_PORT_TAG, cbm_datassette_devices, "c1530", DEVWRITELINE(MOS6526_1_TAG, mos6526_device, flag_w)) + MCFG_MOS6526_IRQ_CALLBACK(WRITELINE(*this, c64_state, cia2_irq_w)) + MCFG_MOS6526_CNT_CALLBACK(WRITELINE(PET_USER_PORT_TAG, pet_user_port_device, write_6)) + MCFG_MOS6526_SP_CALLBACK(WRITELINE(PET_USER_PORT_TAG, pet_user_port_device, write_7)) + MCFG_MOS6526_PA_INPUT_CALLBACK(READ8(*this, c64_state, cia2_pa_r)) + MCFG_MOS6526_PA_OUTPUT_CALLBACK(WRITE8(*this, c64_state, cia2_pa_w)) + MCFG_MOS6526_PB_INPUT_CALLBACK(READ8(*this, c64_state, cia2_pb_r)) + MCFG_MOS6526_PB_OUTPUT_CALLBACK(WRITE8(*this, c64_state, cia2_pb_w)) + MCFG_MOS6526_PC_CALLBACK(WRITELINE(PET_USER_PORT_TAG, pet_user_port_device, write_8)) + MCFG_PET_DATASSETTE_PORT_ADD(PET_DATASSETTE_PORT_TAG, cbm_datassette_devices, "c1530", WRITELINE(MOS6526_1_TAG, mos6526_device, flag_w)) MCFG_CBM_IEC_ADD("c1541") - MCFG_CBM_IEC_BUS_SRQ_CALLBACK(DEVWRITELINE(MOS6526_1_TAG, mos6526_device, flag_w)) - MCFG_CBM_IEC_BUS_ATN_CALLBACK(DEVWRITELINE(PET_USER_PORT_TAG, pet_user_port_device, write_9)) + MCFG_CBM_IEC_BUS_SRQ_CALLBACK(WRITELINE(MOS6526_1_TAG, mos6526_device, flag_w)) + MCFG_CBM_IEC_BUS_ATN_CALLBACK(WRITELINE(PET_USER_PORT_TAG, pet_user_port_device, write_9)) 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, "joy") MCFG_C64_EXPANSION_SLOT_ADD(C64_EXPANSION_SLOT_TAG, XTAL(17'734'472)/18, c64_expansion_cards, nullptr) - MCFG_C64_EXPANSION_SLOT_IRQ_CALLBACK(WRITELINE(c64_state, exp_irq_w)) - MCFG_C64_EXPANSION_SLOT_NMI_CALLBACK(WRITELINE(c64_state, exp_nmi_w)) - MCFG_C64_EXPANSION_SLOT_RESET_CALLBACK(WRITELINE(c64_state, exp_reset_w)) - MCFG_C64_EXPANSION_SLOT_CD_INPUT_CALLBACK(READ8(c64_state, read)) - MCFG_C64_EXPANSION_SLOT_CD_OUTPUT_CALLBACK(WRITE8(c64_state, write)) - MCFG_C64_EXPANSION_SLOT_DMA_CALLBACK(WRITELINE(c64_state, exp_dma_w)) + MCFG_C64_EXPANSION_SLOT_IRQ_CALLBACK(WRITELINE(*this, c64_state, exp_irq_w)) + MCFG_C64_EXPANSION_SLOT_NMI_CALLBACK(WRITELINE(*this, c64_state, exp_nmi_w)) + MCFG_C64_EXPANSION_SLOT_RESET_CALLBACK(WRITELINE(*this, c64_state, exp_reset_w)) + MCFG_C64_EXPANSION_SLOT_CD_INPUT_CALLBACK(READ8(*this, c64_state, read)) + MCFG_C64_EXPANSION_SLOT_CD_OUTPUT_CALLBACK(WRITE8(*this, c64_state, write)) + MCFG_C64_EXPANSION_SLOT_DMA_CALLBACK(WRITELINE(*this, c64_state, exp_dma_w)) MCFG_PET_USER_PORT_ADD(PET_USER_PORT_TAG, c64_user_port_cards, nullptr) - MCFG_PET_USER_PORT_3_HANDLER(WRITELINE(c64_state, exp_reset_w)) - MCFG_PET_USER_PORT_4_HANDLER(DEVWRITELINE(MOS6526_1_TAG, mos6526_device, cnt_w)) - MCFG_PET_USER_PORT_5_HANDLER(DEVWRITELINE(MOS6526_1_TAG, mos6526_device, sp_w)) - MCFG_PET_USER_PORT_6_HANDLER(DEVWRITELINE(MOS6526_2_TAG, mos6526_device, cnt_w)) - MCFG_PET_USER_PORT_7_HANDLER(DEVWRITELINE(MOS6526_2_TAG, mos6526_device, sp_w)) - MCFG_PET_USER_PORT_9_HANDLER(DEVWRITELINE(CBM_IEC_TAG, cbm_iec_device, atn_w)) - MCFG_PET_USER_PORT_B_HANDLER(DEVWRITELINE(MOS6526_2_TAG, mos6526_device, flag_w)) - MCFG_PET_USER_PORT_C_HANDLER(WRITELINE(c64_state, write_user_pb0)) - MCFG_PET_USER_PORT_D_HANDLER(WRITELINE(c64_state, write_user_pb1)) - MCFG_PET_USER_PORT_E_HANDLER(WRITELINE(c64_state, write_user_pb2)) - MCFG_PET_USER_PORT_F_HANDLER(WRITELINE(c64_state, write_user_pb3)) - MCFG_PET_USER_PORT_H_HANDLER(WRITELINE(c64_state, write_user_pb4)) - MCFG_PET_USER_PORT_J_HANDLER(WRITELINE(c64_state, write_user_pb5)) - MCFG_PET_USER_PORT_K_HANDLER(WRITELINE(c64_state, write_user_pb6)) - MCFG_PET_USER_PORT_L_HANDLER(WRITELINE(c64_state, write_user_pb7)) - MCFG_PET_USER_PORT_M_HANDLER(WRITELINE(c64_state, write_user_pa2)) + MCFG_PET_USER_PORT_3_HANDLER(WRITELINE(*this, c64_state, exp_reset_w)) + MCFG_PET_USER_PORT_4_HANDLER(WRITELINE(MOS6526_1_TAG, mos6526_device, cnt_w)) + MCFG_PET_USER_PORT_5_HANDLER(WRITELINE(MOS6526_1_TAG, mos6526_device, sp_w)) + MCFG_PET_USER_PORT_6_HANDLER(WRITELINE(MOS6526_2_TAG, mos6526_device, cnt_w)) + MCFG_PET_USER_PORT_7_HANDLER(WRITELINE(MOS6526_2_TAG, mos6526_device, sp_w)) + MCFG_PET_USER_PORT_9_HANDLER(WRITELINE(CBM_IEC_TAG, cbm_iec_device, atn_w)) + MCFG_PET_USER_PORT_B_HANDLER(WRITELINE(MOS6526_2_TAG, mos6526_device, flag_w)) + MCFG_PET_USER_PORT_C_HANDLER(WRITELINE(*this, c64_state, write_user_pb0)) + MCFG_PET_USER_PORT_D_HANDLER(WRITELINE(*this, c64_state, write_user_pb1)) + MCFG_PET_USER_PORT_E_HANDLER(WRITELINE(*this, c64_state, write_user_pb2)) + MCFG_PET_USER_PORT_F_HANDLER(WRITELINE(*this, c64_state, write_user_pb3)) + MCFG_PET_USER_PORT_H_HANDLER(WRITELINE(*this, c64_state, write_user_pb4)) + MCFG_PET_USER_PORT_J_HANDLER(WRITELINE(*this, c64_state, write_user_pb5)) + MCFG_PET_USER_PORT_K_HANDLER(WRITELINE(*this, c64_state, write_user_pb6)) + MCFG_PET_USER_PORT_L_HANDLER(WRITELINE(*this, c64_state, write_user_pb7)) + MCFG_PET_USER_PORT_M_HANDLER(WRITELINE(*this, c64_state, write_user_pa2)) MCFG_QUICKLOAD_ADD("quickload", c64_state, cbm_c64, "p00,prg,t64", CBM_QUICKLOAD_DELAY_SECONDS) @@ -1594,8 +1594,8 @@ MACHINE_CONFIG_START(sx64_state::pal_sx) pal(config); // basic hardware - MCFG_CPU_MODIFY(M6510_TAG) - MCFG_M6510_PORT_CALLBACKS(READ8(sx64_state, cpu_r), WRITE8(sx64_state, cpu_w)) + MCFG_DEVICE_MODIFY(M6510_TAG) + MCFG_M6510_PORT_CALLBACKS(READ8(*this, sx64_state, cpu_r), WRITE8(*this, sx64_state, cpu_w)) MCFG_M6510_PORT_PULLS(0x07, 0xc0) // devices @@ -1610,9 +1610,9 @@ MACHINE_CONFIG_END MACHINE_CONFIG_START(c64c_state::pal_c) pal(config); - MCFG_SOUND_REPLACE(MOS6581_TAG, MOS8580, XTAL(17'734'472)/18) - MCFG_MOS6581_POTX_CALLBACK(READ8(c64_state, sid_potx_r)) - MCFG_MOS6581_POTY_CALLBACK(READ8(c64_state, sid_poty_r)) + MCFG_DEVICE_REPLACE(MOS6581_TAG, MOS8580, XTAL(17'734'472)/18) + MCFG_MOS6581_POTX_CALLBACK(READ8(*this, c64_state, sid_potx_r)) + MCFG_MOS6581_POTY_CALLBACK(READ8(*this, c64_state, sid_poty_r)) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00) MACHINE_CONFIG_END @@ -1623,17 +1623,17 @@ MACHINE_CONFIG_END MACHINE_CONFIG_START(c64gs_state::pal_gs) // basic hardware - MCFG_CPU_ADD(M6510_TAG, M6510, XTAL(17'734'472)/18) - MCFG_CPU_PROGRAM_MAP(c64_mem) + MCFG_DEVICE_ADD(M6510_TAG, M6510, XTAL(17'734'472)/18) + MCFG_DEVICE_PROGRAM_MAP(c64_mem) MCFG_M6502_DISABLE_DIRECT() // address decoding is 100% dynamic, no RAM/ROM banks - MCFG_M6510_PORT_CALLBACKS(READ8(c64gs_state, cpu_r), WRITE8(c64gs_state, cpu_w)) + MCFG_M6510_PORT_CALLBACKS(READ8(*this, c64gs_state, cpu_r), WRITE8(*this, c64gs_state, cpu_w)) MCFG_M6510_PORT_PULLS(0x07, 0xc0) MCFG_QUANTUM_PERFECT_CPU(M6510_TAG) // video hardware MCFG_DEVICE_ADD(MOS6569_TAG, MOS8565, XTAL(17'734'472)/18) MCFG_MOS6566_CPU(M6510_TAG) - MCFG_MOS6566_IRQ_CALLBACK(WRITELINE(c64_state, vic_irq_w)) + MCFG_MOS6566_IRQ_CALLBACK(WRITELINE(*this, c64_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) @@ -1645,63 +1645,63 @@ MACHINE_CONFIG_START(c64gs_state::pal_gs) // sound hardware MCFG_SPEAKER_STANDARD_MONO("mono") - MCFG_SOUND_ADD(MOS6581_TAG, MOS8580, XTAL(17'734'472)/18) - MCFG_MOS6581_POTX_CALLBACK(READ8(c64_state, sid_potx_r)) - MCFG_MOS6581_POTY_CALLBACK(READ8(c64_state, sid_poty_r)) + MCFG_DEVICE_ADD(MOS6581_TAG, MOS8580, XTAL(17'734'472)/18) + MCFG_MOS6581_POTX_CALLBACK(READ8(*this, c64_state, sid_potx_r)) + MCFG_MOS6581_POTY_CALLBACK(READ8(*this, c64_state, sid_poty_r)) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00) // devices MCFG_PLS100_ADD(PLA_TAG) MCFG_DEVICE_ADD(MOS6526_1_TAG, MOS6526, XTAL(17'734'472)/18) MCFG_MOS6526_TOD(50) - MCFG_MOS6526_IRQ_CALLBACK(WRITELINE(c64_state, cia1_irq_w)) - MCFG_MOS6526_CNT_CALLBACK(DEVWRITELINE(PET_USER_PORT_TAG, pet_user_port_device, write_4)) - MCFG_MOS6526_SP_CALLBACK(DEVWRITELINE(PET_USER_PORT_TAG, pet_user_port_device, write_5)) - MCFG_MOS6526_PA_INPUT_CALLBACK(READ8(c64gs_state, cia1_pa_r)) - MCFG_MOS6526_PA_OUTPUT_CALLBACK(WRITE8(c64_state, cia1_pa_w)) - MCFG_MOS6526_PB_INPUT_CALLBACK(READ8(c64gs_state, cia1_pb_r)) - MCFG_MOS6526_PB_OUTPUT_CALLBACK(WRITE8(c64_state, cia1_pb_w)) + MCFG_MOS6526_IRQ_CALLBACK(WRITELINE(*this, c64_state, cia1_irq_w)) + MCFG_MOS6526_CNT_CALLBACK(WRITELINE(PET_USER_PORT_TAG, pet_user_port_device, write_4)) + MCFG_MOS6526_SP_CALLBACK(WRITELINE(PET_USER_PORT_TAG, pet_user_port_device, write_5)) + MCFG_MOS6526_PA_INPUT_CALLBACK(READ8(*this, c64gs_state, cia1_pa_r)) + MCFG_MOS6526_PA_OUTPUT_CALLBACK(WRITE8(*this, c64_state, cia1_pa_w)) + MCFG_MOS6526_PB_INPUT_CALLBACK(READ8(*this, c64gs_state, cia1_pb_r)) + MCFG_MOS6526_PB_OUTPUT_CALLBACK(WRITE8(*this, c64_state, cia1_pb_w)) MCFG_DEVICE_ADD(MOS6526_2_TAG, MOS6526, XTAL(17'734'472)/18) MCFG_MOS6526_TOD(50) - MCFG_MOS6526_IRQ_CALLBACK(WRITELINE(c64_state, cia2_irq_w)) - MCFG_MOS6526_CNT_CALLBACK(DEVWRITELINE(PET_USER_PORT_TAG, pet_user_port_device, write_6)) - MCFG_MOS6526_SP_CALLBACK(DEVWRITELINE(PET_USER_PORT_TAG, pet_user_port_device, write_7)) - MCFG_MOS6526_PA_INPUT_CALLBACK(READ8(c64_state, cia2_pa_r)) - MCFG_MOS6526_PA_OUTPUT_CALLBACK(WRITE8(c64_state, cia2_pa_w)) - MCFG_MOS6526_PB_INPUT_CALLBACK(READ8(c64_state, cia2_pb_r)) - MCFG_MOS6526_PB_OUTPUT_CALLBACK(WRITE8(c64_state, cia2_pb_w)) - MCFG_MOS6526_PC_CALLBACK(DEVWRITELINE(PET_USER_PORT_TAG, pet_user_port_device, write_8)) + MCFG_MOS6526_IRQ_CALLBACK(WRITELINE(*this, c64_state, cia2_irq_w)) + MCFG_MOS6526_CNT_CALLBACK(WRITELINE(PET_USER_PORT_TAG, pet_user_port_device, write_6)) + MCFG_MOS6526_SP_CALLBACK(WRITELINE(PET_USER_PORT_TAG, pet_user_port_device, write_7)) + MCFG_MOS6526_PA_INPUT_CALLBACK(READ8(*this, c64_state, cia2_pa_r)) + MCFG_MOS6526_PA_OUTPUT_CALLBACK(WRITE8(*this, c64_state, cia2_pa_w)) + MCFG_MOS6526_PB_INPUT_CALLBACK(READ8(*this, c64_state, cia2_pb_r)) + MCFG_MOS6526_PB_OUTPUT_CALLBACK(WRITE8(*this, c64_state, cia2_pb_w)) + MCFG_MOS6526_PC_CALLBACK(WRITELINE(PET_USER_PORT_TAG, pet_user_port_device, write_8)) MCFG_CBM_IEC_ADD(nullptr) - MCFG_CBM_IEC_BUS_SRQ_CALLBACK(DEVWRITELINE(MOS6526_1_TAG, mos6526_device, flag_w)) - MCFG_CBM_IEC_BUS_ATN_CALLBACK(DEVWRITELINE(PET_USER_PORT_TAG, pet_user_port_device, write_9)) + MCFG_CBM_IEC_BUS_SRQ_CALLBACK(WRITELINE(MOS6526_1_TAG, mos6526_device, flag_w)) + MCFG_CBM_IEC_BUS_ATN_CALLBACK(WRITELINE(PET_USER_PORT_TAG, pet_user_port_device, write_9)) 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, "joy") MCFG_C64_EXPANSION_SLOT_ADD(C64_EXPANSION_SLOT_TAG, XTAL(17'734'472)/18, c64_expansion_cards, nullptr) - MCFG_C64_EXPANSION_SLOT_IRQ_CALLBACK(WRITELINE(c64_state, exp_irq_w)) - MCFG_C64_EXPANSION_SLOT_NMI_CALLBACK(WRITELINE(c64_state, exp_nmi_w)) - MCFG_C64_EXPANSION_SLOT_RESET_CALLBACK(WRITELINE(c64_state, exp_reset_w)) - MCFG_C64_EXPANSION_SLOT_CD_INPUT_CALLBACK(READ8(c64_state, read)) - MCFG_C64_EXPANSION_SLOT_CD_OUTPUT_CALLBACK(WRITE8(c64_state, write)) - MCFG_C64_EXPANSION_SLOT_DMA_CALLBACK(WRITELINE(c64_state, exp_dma_w)) + MCFG_C64_EXPANSION_SLOT_IRQ_CALLBACK(WRITELINE(*this, c64_state, exp_irq_w)) + MCFG_C64_EXPANSION_SLOT_NMI_CALLBACK(WRITELINE(*this, c64_state, exp_nmi_w)) + MCFG_C64_EXPANSION_SLOT_RESET_CALLBACK(WRITELINE(*this, c64_state, exp_reset_w)) + MCFG_C64_EXPANSION_SLOT_CD_INPUT_CALLBACK(READ8(*this, c64_state, read)) + MCFG_C64_EXPANSION_SLOT_CD_OUTPUT_CALLBACK(WRITE8(*this, c64_state, write)) + MCFG_C64_EXPANSION_SLOT_DMA_CALLBACK(WRITELINE(*this, c64_state, exp_dma_w)) MCFG_PET_USER_PORT_ADD(PET_USER_PORT_TAG, c64_user_port_cards, nullptr) - MCFG_PET_USER_PORT_3_HANDLER(WRITELINE(c64_state, exp_reset_w)) - MCFG_PET_USER_PORT_4_HANDLER(DEVWRITELINE(MOS6526_1_TAG, mos6526_device, cnt_w)) - MCFG_PET_USER_PORT_5_HANDLER(DEVWRITELINE(MOS6526_1_TAG, mos6526_device, sp_w)) - MCFG_PET_USER_PORT_6_HANDLER(DEVWRITELINE(MOS6526_2_TAG, mos6526_device, cnt_w)) - MCFG_PET_USER_PORT_7_HANDLER(DEVWRITELINE(MOS6526_2_TAG, mos6526_device, sp_w)) - MCFG_PET_USER_PORT_9_HANDLER(DEVWRITELINE(CBM_IEC_TAG, cbm_iec_device, atn_w)) - MCFG_PET_USER_PORT_B_HANDLER(DEVWRITELINE(MOS6526_2_TAG, mos6526_device, flag_w)) - MCFG_PET_USER_PORT_C_HANDLER(WRITELINE(c64_state, write_user_pb0)) - MCFG_PET_USER_PORT_D_HANDLER(WRITELINE(c64_state, write_user_pb1)) - MCFG_PET_USER_PORT_E_HANDLER(WRITELINE(c64_state, write_user_pb2)) - MCFG_PET_USER_PORT_F_HANDLER(WRITELINE(c64_state, write_user_pb3)) - MCFG_PET_USER_PORT_H_HANDLER(WRITELINE(c64_state, write_user_pb4)) - MCFG_PET_USER_PORT_J_HANDLER(WRITELINE(c64_state, write_user_pb5)) - MCFG_PET_USER_PORT_K_HANDLER(WRITELINE(c64_state, write_user_pb6)) - MCFG_PET_USER_PORT_L_HANDLER(WRITELINE(c64_state, write_user_pb7)) - MCFG_PET_USER_PORT_M_HANDLER(WRITELINE(c64_state, write_user_pa2)) + MCFG_PET_USER_PORT_3_HANDLER(WRITELINE(*this, c64_state, exp_reset_w)) + MCFG_PET_USER_PORT_4_HANDLER(WRITELINE(MOS6526_1_TAG, mos6526_device, cnt_w)) + MCFG_PET_USER_PORT_5_HANDLER(WRITELINE(MOS6526_1_TAG, mos6526_device, sp_w)) + MCFG_PET_USER_PORT_6_HANDLER(WRITELINE(MOS6526_2_TAG, mos6526_device, cnt_w)) + MCFG_PET_USER_PORT_7_HANDLER(WRITELINE(MOS6526_2_TAG, mos6526_device, sp_w)) + MCFG_PET_USER_PORT_9_HANDLER(WRITELINE(CBM_IEC_TAG, cbm_iec_device, atn_w)) + MCFG_PET_USER_PORT_B_HANDLER(WRITELINE(MOS6526_2_TAG, mos6526_device, flag_w)) + MCFG_PET_USER_PORT_C_HANDLER(WRITELINE(*this, c64_state, write_user_pb0)) + MCFG_PET_USER_PORT_D_HANDLER(WRITELINE(*this, c64_state, write_user_pb1)) + MCFG_PET_USER_PORT_E_HANDLER(WRITELINE(*this, c64_state, write_user_pb2)) + MCFG_PET_USER_PORT_F_HANDLER(WRITELINE(*this, c64_state, write_user_pb3)) + MCFG_PET_USER_PORT_H_HANDLER(WRITELINE(*this, c64_state, write_user_pb4)) + MCFG_PET_USER_PORT_J_HANDLER(WRITELINE(*this, c64_state, write_user_pb5)) + MCFG_PET_USER_PORT_K_HANDLER(WRITELINE(*this, c64_state, write_user_pb6)) + MCFG_PET_USER_PORT_L_HANDLER(WRITELINE(*this, c64_state, write_user_pb7)) + MCFG_PET_USER_PORT_M_HANDLER(WRITELINE(*this, c64_state, write_user_pa2)) MCFG_QUICKLOAD_ADD("quickload", c64_state, cbm_c64, "p00,prg,t64", CBM_QUICKLOAD_DELAY_SECONDS) |