diff --git a/src/emu/cpu/z80/tlcs_z80.c b/src/emu/cpu/z80/tlcs_z80.c index 594a99dce07..ba5ca332097 100644 --- a/src/emu/cpu/z80/tlcs_z80.c +++ b/src/emu/cpu/z80/tlcs_z80.c @@ -8,7 +8,7 @@ #include "z80.h" #include "machine/z80ctc.h" #include "machine/z80pio.h" -#include "machine/z80sio.h" +#include "machine/z80dart.h" //TODO: These interfaces should default to DEVCB_NULL pointers and // the actual callbacks should be provided by the driver that instantiates the TLCS-Z80 CPU. @@ -18,16 +18,6 @@ // m_tlcsz80->set_internal_pio_interface (pio_intf); // m_tlcsz80->set_internal_sio_interface (sio_intf); -static const z80sio_interface sio_intf = -{ - DEVCB_CPU_INPUT_LINE(DEVICE_SELF_OWNER, INPUT_LINE_IRQ0), /* interrupt handler */ - DEVCB_NULL, /* DTR changed handler */ - DEVCB_NULL, /* RTS changed handler */ - DEVCB_NULL, /* BREAK changed handler */ - DEVCB_NULL, /* transmit handler */ - DEVCB_NULL /* receive handler */ -}; - /* Daisy Chaining */ #ifdef UNUSED @@ -42,7 +32,7 @@ static const z80_daisy_config tlcsz80_daisy_chain[] = static ADDRESS_MAP_START( tlcs_z80_internal_io_map, AS_IO, 8, tlcs_z80_device ) AM_RANGE(0x10, 0x13) AM_DEVREADWRITE(TLCSZ80_INTERNAL_CTC_TAG, z80ctc_device, read, write) - AM_RANGE(0x18, 0x1B) AM_DEVREADWRITE(TLCSZ80_INTERNAL_SIO_TAG, z80sio_device, read, write) + AM_RANGE(0x18, 0x1B) AM_DEVREADWRITE(TLCSZ80_INTERNAL_SIO_TAG, z80sio0_device, cd_ba_r, cd_ba_w) AM_RANGE(0x1C, 0x1F) AM_DEVREADWRITE(TLCSZ80_INTERNAL_PIO_TAG, z80pio_device, read, write) // AM_RANGE(0xF0, 0xF0) TODO: Watchdog Timer: Stand-by mode Register // AM_RANGE(0xF1, 0xF1) TODO: Watchdog Timer: command Register @@ -57,7 +47,8 @@ static MACHINE_CONFIG_FRAGMENT( tlcs_z80 ) MCFG_DEVICE_ADD(TLCSZ80_INTERNAL_CTC_TAG, Z80CTC, TLCS_Z80_CLOCK) MCFG_Z80CTC_INTR_CB(INPUTLINE(DEVICE_SELF, INPUT_LINE_IRQ0)) - MCFG_Z80SIO_ADD(TLCSZ80_INTERNAL_SIO_TAG, TLCS_Z80_CLOCK, sio_intf) + MCFG_Z80SIO0_ADD(TLCSZ80_INTERNAL_SIO_TAG, TLCS_Z80_CLOCK, 0, 0, 0, 0) + MCFG_Z80DART_OUT_INT_CB(INPUTLINE(DEVICE_SELF, INPUT_LINE_IRQ0)) MCFG_DEVICE_ADD(TLCSZ80_INTERNAL_PIO_TAG, Z80PIO, TLCS_Z80_CLOCK) MCFG_Z80PIO_OUT_INT_CB(INPUTLINE(DEVICE_SELF, INPUT_LINE_IRQ0)) diff --git a/src/mess/drivers/pve500.c b/src/mess/drivers/pve500.c index e2a6a3ca3dc..5a89f22d319 100644 --- a/src/mess/drivers/pve500.c +++ b/src/mess/drivers/pve500.c @@ -24,7 +24,7 @@ #include "emu.h" #include "cpu/z80/z80.h" #include "machine/z80ctc.h" -#include "machine/z80sio.h" +#include "machine/z80dart.h" #include "pve500.lh" #define IO_EXPANDER_PORTA 0 @@ -62,16 +62,6 @@ private: }; -static const z80sio_interface external_sio_intf = -{ - DEVCB_CPU_INPUT_LINE("maincpu", INPUT_LINE_IRQ0), /* interrupt handler */ - DEVCB_NULL, /* DTR changed handler */ - DEVCB_NULL, /* RTS changed handler */ - DEVCB_NULL, /* BREAK changed handler */ - DEVCB_NULL, /* transmit handler */ - DEVCB_NULL /* receive handler */ -}; - static const z80_daisy_config maincpu_daisy_chain[] = { { "external_ctc" }, @@ -81,7 +71,7 @@ static const z80_daisy_config maincpu_daisy_chain[] = static ADDRESS_MAP_START(maincpu_io, AS_IO, 8, pve500_state) - AM_RANGE(0x00, 0x03) AM_DEVREADWRITE("external_sio", z80sio_device, read, write) + AM_RANGE(0x00, 0x03) AM_DEVREADWRITE("external_sio", z80sio0_device, cd_ba_r, cd_ba_w) AM_RANGE(0x08, 0x0B) AM_DEVREADWRITE("external_ctc", z80ctc_device, read, write) ADDRESS_MAP_END @@ -308,7 +298,8 @@ static MACHINE_CONFIG_START( pve500, pve500_state ) MCFG_DEVICE_ADD("external_ctc", Z80CTC, XTAL_12MHz / 2) MCFG_Z80CTC_INTR_CB(INPUTLINE("maincpu", INPUT_LINE_IRQ0)) - MCFG_Z80SIO_ADD("external_sio", XTAL_12MHz / 2, external_sio_intf) + MCFG_Z80SIO0_ADD("external_sio", XTAL_12MHz / 2, 0, 0, 0, 0) + MCFG_Z80DART_OUT_INT_CB(INPUTLINE("maincpu", INPUT_LINE_IRQ0)) MCFG_CPU_ADD("subcpu", TLCS_Z80, XTAL_12MHz / 2) /* TMPZ84C015BF-6 (TOSHIBA TLCS-Z80) */ MCFG_CPU_PROGRAM_MAP(subcpu_prg)