diff options
Diffstat (limited to 'src/mame/drivers/pulsar.cpp')
-rw-r--r-- | src/mame/drivers/pulsar.cpp | 53 |
1 files changed, 19 insertions, 34 deletions
diff --git a/src/mame/drivers/pulsar.cpp b/src/mame/drivers/pulsar.cpp index 4aa69e07b8b..c65bc3b09fb 100644 --- a/src/mame/drivers/pulsar.cpp +++ b/src/mame/drivers/pulsar.cpp @@ -49,24 +49,20 @@ X - Test off-board memory banks class pulsar_state : public driver_device { public: - pulsar_state(const machine_config &mconfig, device_type type, const char *tag) : - driver_device(mconfig, type, tag), - m_maincpu(*this, "maincpu"), - m_dart(*this, "z80dart"), - m_brg(*this, "brg"), - m_fdc (*this, "fdc"), - m_floppy0(*this, "fdc:0"), - m_floppy1(*this, "fdc:1"), - m_rtc(*this, "rtc") - { - } + pulsar_state(const machine_config &mconfig, device_type type, const char *tag) + : driver_device(mconfig, type, tag) + , m_maincpu(*this, "maincpu") + , m_brg(*this, "brg") + , m_fdc (*this, "fdc") + , m_floppy0(*this, "fdc:0") + , m_floppy1(*this, "fdc:1") + , m_rtc(*this, "rtc") + { } DECLARE_DRIVER_INIT(pulsar); DECLARE_MACHINE_RESET(pulsar); TIMER_CALLBACK_MEMBER(pulsar_reset); DECLARE_WRITE8_MEMBER(baud_w); - DECLARE_WRITE_LINE_MEMBER(fr_w); - DECLARE_WRITE_LINE_MEMBER(ft_w); DECLARE_WRITE8_MEMBER(ppi_pa_w); DECLARE_WRITE8_MEMBER(ppi_pb_w); DECLARE_WRITE8_MEMBER(ppi_pc_w); @@ -75,7 +71,6 @@ public: private: floppy_image_device *m_floppy; required_device<cpu_device> m_maincpu; - required_device<z80dart_device> m_dart; required_device<com8116_device> m_brg; required_device<fd1797_device> m_fdc; required_device<floppy_connector> m_floppy0; @@ -93,25 +88,12 @@ ADDRESS_MAP_END static ADDRESS_MAP_START(pulsar_io, AS_IO, 8, pulsar_state) ADDRESS_MAP_UNMAP_HIGH ADDRESS_MAP_GLOBAL_MASK(0xff) - AM_RANGE(0xc0, 0xc3) AM_MIRROR(0x0c) AM_DEVREADWRITE("z80dart", z80dart_device, ba_cd_r, ba_cd_w) + AM_RANGE(0xc0, 0xc3) AM_MIRROR(0x0c) AM_DEVREADWRITE("dart", z80dart_device, ba_cd_r, ba_cd_w) AM_RANGE(0xd0, 0xd3) AM_MIRROR(0x0c) AM_DEVREADWRITE("fdc", fd1797_device, read, write) AM_RANGE(0xe0, 0xe3) AM_MIRROR(0x0c) AM_DEVREADWRITE("ppi", i8255_device, read, write) AM_RANGE(0xf0, 0xff) AM_WRITE(baud_w) ADDRESS_MAP_END -// Schematic has the labels for FT and FR the wrong way around, -// the pin numbers are correct. -WRITE_LINE_MEMBER( pulsar_state::fr_w ) -{ - m_dart->rxca_w(state); - m_dart->txca_w(state); -} - -WRITE_LINE_MEMBER( pulsar_state::ft_w ) -{ - m_dart->rxcb_w(state); - m_dart->txcb_w(state); -} WRITE8_MEMBER( pulsar_state::baud_w ) { @@ -127,7 +109,7 @@ TIMER_CALLBACK_MEMBER( pulsar_state::pulsar_reset) static const z80_daisy_config daisy_chain_intf[] = { - { "z80dart" }, + { "dart" }, { nullptr } }; @@ -240,20 +222,23 @@ static MACHINE_CONFIG_START( pulsar ) MCFG_MSM5832_ADD("rtc", XTAL_32_768kHz) - MCFG_DEVICE_ADD("z80dart", Z80DART, XTAL_4MHz) + MCFG_DEVICE_ADD("dart", Z80DART, XTAL_4MHz) MCFG_Z80DART_OUT_TXDA_CB(DEVWRITELINE("rs232", rs232_port_device, write_txd)) MCFG_Z80DART_OUT_DTRA_CB(DEVWRITELINE("rs232", rs232_port_device, write_dtr)) MCFG_Z80DART_OUT_RTSA_CB(DEVWRITELINE("rs232", rs232_port_device, write_rts)) MCFG_Z80DART_OUT_INT_CB(INPUTLINE("maincpu", INPUT_LINE_IRQ0)) MCFG_RS232_PORT_ADD("rs232", default_rs232_devices, "terminal") - MCFG_RS232_RXD_HANDLER(DEVWRITELINE("z80dart", z80dart_device, rxa_w)) - MCFG_RS232_CTS_HANDLER(DEVWRITELINE("z80dart", z80dart_device, ctsa_w)) + MCFG_RS232_RXD_HANDLER(DEVWRITELINE("dart", z80dart_device, rxa_w)) + MCFG_RS232_CTS_HANDLER(DEVWRITELINE("dart", z80dart_device, ctsa_w)) MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("terminal", terminal) MCFG_DEVICE_ADD("brg", COM8116, XTAL_5_0688MHz) - MCFG_COM8116_FR_HANDLER(WRITELINE(pulsar_state, fr_w)) - MCFG_COM8116_FT_HANDLER(WRITELINE(pulsar_state, ft_w)) + // Schematic has the labels for FT and FR the wrong way around, but the pin numbers are correct. + MCFG_COM8116_FR_HANDLER(DEVWRITELINE("dart", z80dart_device, txca_w)) + MCFG_DEVCB_CHAIN_OUTPUT(DEVWRITELINE("dart", z80dart_device, rxca_w)) + MCFG_COM8116_FT_HANDLER(DEVWRITELINE("dart", z80dart_device, txcb_w)) + MCFG_DEVCB_CHAIN_OUTPUT(DEVWRITELINE("dart", z80dart_device, rxcb_w)) MCFG_FD1797_ADD("fdc", XTAL_4MHz / 2) MCFG_FLOPPY_DRIVE_ADD("fdc:0", pulsar_floppies, "525hd", floppy_image_device::default_floppy_formats) |