summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/bus/c64
diff options
context:
space:
mode:
author Ivan Vangelista <mesgnet@yahoo.it>2014-04-14 17:11:41 +0000
committer Ivan Vangelista <mesgnet@yahoo.it>2014-04-14 17:11:41 +0000
commit177b6f63ae79c4bed8c456266fa346a6a38774c1 (patch)
tree93a3392dc2a6f8e27edaa5800f14633e6c84842d /src/emu/bus/c64
parentf895dd6a7970246cffe4b7bf05cc989d1025bdf1 (diff)
tpi6525_device: converted to devcb2 (nw)
Diffstat (limited to 'src/emu/bus/c64')
-rw-r--r--src/emu/bus/c64/ieee488.c24
-rw-r--r--src/emu/bus/c64/magic_voice.c23
2 files changed, 16 insertions, 31 deletions
diff --git a/src/emu/bus/c64/ieee488.c b/src/emu/bus/c64/ieee488.c
index 4906d49fefc..caba811afea 100644
--- a/src/emu/bus/c64/ieee488.c
+++ b/src/emu/bus/c64/ieee488.c
@@ -138,27 +138,19 @@ WRITE8_MEMBER( c64_ieee488_device::tpi_pc_w )
m_roml_sel = BIT(data, 4);
}
-static const tpi6525_interface tpi_intf =
-{
- DEVCB_NULL,
- DEVCB_DEVICE_MEMBER(DEVICE_SELF_OWNER, c64_ieee488_device, tpi_pa_r),
- DEVCB_DEVICE_MEMBER(DEVICE_SELF_OWNER, c64_ieee488_device, tpi_pa_w),
- DEVCB_DEVICE_MEMBER(IEEE488_TAG, ieee488_device, dio_r),
- DEVCB_DEVICE_MEMBER(IEEE488_TAG, ieee488_device, dio_w),
- DEVCB_DEVICE_MEMBER(DEVICE_SELF_OWNER, c64_ieee488_device, tpi_pc_r),
- DEVCB_DEVICE_MEMBER(DEVICE_SELF_OWNER, c64_ieee488_device, tpi_pc_w),
- DEVCB_NULL,
- DEVCB_NULL
-};
-
-
//-------------------------------------------------
// MACHINE_CONFIG_FRAGMENT( c64_ieee488 )
//-------------------------------------------------
static MACHINE_CONFIG_FRAGMENT( c64_ieee488 )
- MCFG_TPI6525_ADD(MOS6525_TAG, tpi_intf)
-
+ MCFG_DEVICE_ADD(MOS6525_TAG, TPI6525, 0)
+ MCFG_TPI6525_IN_PA_CB(READ8(c64_ieee488_device, tpi_pa_r))
+ MCFG_TPI6525_OUT_PA_CB(WRITE8(c64_ieee488_device, tpi_pa_w))
+ MCFG_TPI6525_IN_PB_CB(DEVREAD8(IEEE488_TAG, ieee488_device, dio_r))
+ MCFG_TPI6525_OUT_PB_CB(DEVWRITE8(IEEE488_TAG, ieee488_device, dio_w))
+ MCFG_TPI6525_IN_PC_CB(READ8(c64_ieee488_device, tpi_pc_r))
+ MCFG_TPI6525_OUT_PC_CB(WRITE8(c64_ieee488_device, tpi_pc_w))
+
MCFG_CBM_IEEE488_ADD(NULL)
MCFG_C64_PASSTHRU_EXPANSION_SLOT_ADD()
MACHINE_CONFIG_END
diff --git a/src/emu/bus/c64/magic_voice.c b/src/emu/bus/c64/magic_voice.c
index 8f1f5c8616e..a1758bf3c00 100644
--- a/src/emu/bus/c64/magic_voice.c
+++ b/src/emu/bus/c64/magic_voice.c
@@ -185,20 +185,6 @@ WRITE_LINE_MEMBER( c64_magic_voice_cartridge_device::tpi_cb_w )
m_exrom = state;
}
-static const tpi6525_interface tpi_intf =
-{
- DEVCB_DEVICE_LINE_MEMBER(DEVICE_SELF_OWNER, c64_magic_voice_cartridge_device, tpi_irq_w),
- DEVCB_DEVICE_MEMBER(DEVICE_SELF_OWNER, c64_magic_voice_cartridge_device, tpi_pa_r),
- DEVCB_DEVICE_MEMBER(DEVICE_SELF_OWNER, c64_magic_voice_cartridge_device, tpi_pa_w),
- DEVCB_DEVICE_MEMBER(DEVICE_SELF_OWNER, c64_magic_voice_cartridge_device, tpi_pb_r),
- DEVCB_DEVICE_MEMBER(DEVICE_SELF_OWNER, c64_magic_voice_cartridge_device, tpi_pb_w),
- DEVCB_NULL,
- DEVCB_NULL,
- DEVCB_DEVICE_LINE_MEMBER(DEVICE_SELF_OWNER, c64_magic_voice_cartridge_device, tpi_ca_w),
- DEVCB_DEVICE_LINE_MEMBER(DEVICE_SELF_OWNER, c64_magic_voice_cartridge_device, tpi_cb_w),
-};
-
-
//-------------------------------------------------
// t6721_interface
//-------------------------------------------------
@@ -235,7 +221,14 @@ WRITE_LINE_MEMBER( c64_magic_voice_cartridge_device::apd_w )
//-------------------------------------------------
static MACHINE_CONFIG_FRAGMENT( c64_magic_voice )
- MCFG_TPI6525_ADD(MOS6525_TAG, tpi_intf)
+ MCFG_DEVICE_ADD(MOS6525_TAG, TPI6525, 0)
+ MCFG_TPI6525_OUT_IRQ_CB(WRITELINE(c64_magic_voice_cartridge_device, tpi_irq_w))
+ MCFG_TPI6525_IN_PA_CB(READ8(c64_magic_voice_cartridge_device, tpi_pa_r))
+ MCFG_TPI6525_OUT_PA_CB(WRITE8(c64_magic_voice_cartridge_device, tpi_pa_w))
+ MCFG_TPI6525_IN_PB_CB(READ8(c64_magic_voice_cartridge_device, tpi_pb_r))
+ MCFG_TPI6525_OUT_PB_CB(WRITE8(c64_magic_voice_cartridge_device, tpi_pb_w))
+ MCFG_TPI6525_OUT_CA_CB(WRITELINE(c64_magic_voice_cartridge_device, tpi_ca_w))
+ MCFG_TPI6525_OUT_CA_CB(WRITELINE(c64_magic_voice_cartridge_device, tpi_cb_w))
MCFG_40105_ADD(CMOS40105_TAG, DEVWRITELINE(MOS6525_TAG, tpi6525_device, i3_w), NULL)
MCFG_SPEAKER_STANDARD_MONO("mono")