summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/pulsar.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/pulsar.cpp')
-rw-r--r--src/mame/drivers/pulsar.cpp53
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)