diff options
author | 2014-01-08 22:38:15 +0000 | |
---|---|---|
committer | 2014-01-08 22:38:15 +0000 | |
commit | f4655e0ae469df0f9b3e46ed6e1f1e41ce896b2d (patch) | |
tree | ec7e052afa286723761ca9db0bd3330b4908886e /src | |
parent | fa006a2c7c00de3d1c913516c5e57c77da6b0b02 (diff) |
Removed hack and hooked up Z80DART now that parity works. [smf]
Diffstat (limited to 'src')
-rw-r--r-- | src/mess/drivers/pulsar.c | 58 |
1 files changed, 15 insertions, 43 deletions
diff --git a/src/mess/drivers/pulsar.c b/src/mess/drivers/pulsar.c index 7d61273fabd..e8eeb227c97 100644 --- a/src/mess/drivers/pulsar.c +++ b/src/mess/drivers/pulsar.c @@ -59,7 +59,6 @@ public: , m_brg(*this, "brg") , m_fdc (*this, "fdc") , m_floppy0(*this, "fdc:0") - , m_terminal(*this, TERMINAL_TAG) , m_rtc(*this, "rtc") { } @@ -73,18 +72,14 @@ public: DECLARE_WRITE8_MEMBER(ppi_pb_w); DECLARE_WRITE8_MEMBER(ppi_pc_w); DECLARE_READ8_MEMBER(ppi_pc_r); - DECLARE_WRITE8_MEMBER(kbd_put); - DECLARE_READ8_MEMBER(keyin_r); - DECLARE_READ8_MEMBER(status_r); + private: - UINT8 m_term_data; 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_t> m_fdc; required_device<floppy_connector> m_floppy0; - required_device<generic_terminal_device> m_terminal; required_device<msm5832_device> m_rtc; }; @@ -98,9 +93,7 @@ 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, 0xc0) AM_READ(keyin_r) AM_DEVWRITE(TERMINAL_TAG, generic_terminal_device, write) - AM_RANGE(0xc1, 0xc1) AM_READ(status_r) + AM_RANGE(0xc0, 0xc3) AM_MIRROR(0x0c) AM_DEVREADWRITE("z80dart", z80dart_device, ba_cd_r, ba_cd_w) AM_RANGE(0xd0, 0xd3) AM_MIRROR(0x0c) AM_DEVREADWRITE("fdc", fd1797_t, read, write) AM_RANGE(0xe0, 0xe3) AM_MIRROR(0x0c) AM_DEVREADWRITE("ppi", i8255_device, read, write) AM_RANGE(0xf0, 0xff) AM_WRITE(baud_w) @@ -196,17 +189,19 @@ static I8255_INTERFACE( ppi_intf ) }; static DEVICE_INPUT_DEFAULTS_START( terminal ) - DEVICE_INPUT_DEFAULTS( "TERM_FRAME", 0x0f, 0x06 ) // 9600 - DEVICE_INPUT_DEFAULTS( "TERM_FRAME", 0x30, 0x10 ) // 7E1 + DEVICE_INPUT_DEFAULTS( "TERM_BAUD", 0xff, 0x06 ) // 9600 + DEVICE_INPUT_DEFAULTS( "TERM_DATABITS", 0xff, 0x02 ) // 7 + DEVICE_INPUT_DEFAULTS( "TERM_PARITY", 0xff, 0x02 ) // E + DEVICE_INPUT_DEFAULTS( "TERM_STOPBITS", 0xff, 0x00 ) // 1 DEVICE_INPUT_DEFAULTS_END static Z80DART_INTERFACE( dart_intf ) { 0, 0, 0, 0, - DEVCB_NULL,//DEVCB_DEVICE_LINE_MEMBER("rs232", serial_port_device, tx), - DEVCB_NULL,//DEVCB_DEVICE_LINE_MEMBER("rs232", rs232_port_device, dtr_w), - DEVCB_NULL,//DEVCB_DEVICE_LINE_MEMBER("rs232", rs232_port_device, rts_w), + DEVCB_DEVICE_LINE_MEMBER("rs232", serial_port_device, tx), + DEVCB_DEVICE_LINE_MEMBER("rs232", rs232_port_device, dtr_w), + DEVCB_DEVICE_LINE_MEMBER("rs232", rs232_port_device, rts_w), DEVCB_NULL, DEVCB_NULL, @@ -254,28 +249,6 @@ DRIVER_INIT_MEMBER( pulsar_state, pulsar ) membank("bankw1")->configure_entry(0, &main[0xf800]); } -READ8_MEMBER( pulsar_state::keyin_r ) -{ - UINT8 ret = m_term_data; - m_term_data = 0; - return ret; -} - -READ8_MEMBER( pulsar_state::status_r ) -{ - return (m_term_data) ? 5 : 4; -} - -WRITE8_MEMBER( pulsar_state::kbd_put ) -{ - m_term_data = data; -} - -static GENERIC_TERMINAL_INTERFACE( terminal_intf ) -{ - DEVCB_DRIVER_MEMBER(pulsar_state, kbd_put) -}; - static MACHINE_CONFIG_START( pulsar, pulsar_state ) /* basic machine hardware */ MCFG_CPU_ADD("maincpu",Z80, XTAL_4MHz) @@ -289,13 +262,12 @@ static MACHINE_CONFIG_START( pulsar, pulsar_state ) MCFG_MSM5832_ADD("rtc", XTAL_32_768kHz) MCFG_COM8116_ADD("brg", XTAL_5_0688MHz, NULL, WRITELINE(pulsar_state, fr_w), WRITELINE(pulsar_state, ft_w)) MCFG_Z80DART_ADD("z80dart", XTAL_4MHz, dart_intf ) - MCFG_GENERIC_TERMINAL_ADD(TERMINAL_TAG, terminal_intf) - //MCFG_RS232_PORT_ADD("rs232", default_rs232_devices, "serial_terminal") - //MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE("z80dart", z80dart_device, rxa_w)) - //MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE("z80dart", z80dart_device, dcda_w)) - //MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE("z80dart", z80dart_device, ctsa_w)) - //MCFG_RS232_OUT_RI_HANDLER(DEVWRITELINE("z80dart", z80dart_device, ria_w)) - //MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("serial_terminal", terminal) + MCFG_RS232_PORT_ADD("rs232", default_rs232_devices, "serial_terminal") + MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE("z80dart", z80dart_device, rxa_w)) + MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE("z80dart", z80dart_device, dcda_w)) + MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE("z80dart", z80dart_device, ctsa_w)) + MCFG_RS232_OUT_RI_HANDLER(DEVWRITELINE("z80dart", z80dart_device, ria_w)) + MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("serial_terminal", terminal) MCFG_FD1797x_ADD("fdc", XTAL_4MHz / 2) MCFG_FLOPPY_DRIVE_ADD("fdc:0", pulsar_floppies, "525dd", floppy_image_device::default_floppy_formats) MACHINE_CONFIG_END |