diff options
author | 2017-11-16 21:57:17 +1100 | |
---|---|---|
committer | 2017-11-16 21:57:17 +1100 | |
commit | 4c9bac79ff0cf7aa1b87048485ed8ea77dea8051 (patch) | |
tree | 0724395d37ec9a1e3a2f0102b087f9df711bf801 | |
parent | 5e9d96569de666da76ca905ee1148324a9abe756 (diff) |
(nw) amust : replaced generic keyboard with uart.
-rw-r--r-- | src/mame/drivers/amust.cpp | 52 |
1 files changed, 17 insertions, 35 deletions
diff --git a/src/mame/drivers/amust.cpp b/src/mame/drivers/amust.cpp index 8fce7406fb8..6a7b8db8d4b 100644 --- a/src/mame/drivers/amust.cpp +++ b/src/mame/drivers/amust.cpp @@ -84,8 +84,9 @@ ToDo: #include "cpu/z80/z80.h" #include "machine/i8251.h" #include "machine/i8255.h" -#include "machine/keyboard.h" #include "machine/pit8253.h" +#include "machine/clock.h" +#include "bus/rs232/rs232.h" #include "machine/upd765.h" #include "sound/beep.h" #include "video/mc6845.h" @@ -115,8 +116,6 @@ public: DECLARE_DRIVER_INIT(amust); DECLARE_MACHINE_RESET(amust); - DECLARE_READ8_MEMBER(port00_r); - DECLARE_READ8_MEMBER(port01_r); DECLARE_READ8_MEMBER(port04_r); DECLARE_WRITE8_MEMBER(port04_w); DECLARE_READ8_MEMBER(port05_r); @@ -181,10 +180,8 @@ ADDRESS_MAP_END static ADDRESS_MAP_START( io_map, AS_IO, 8, amust_state ) ADDRESS_MAP_UNMAP_HIGH ADDRESS_MAP_GLOBAL_MASK(0xff) - //AM_RANGE(0x00, 0x00) AM_DEVREADWRITE("uart1", i8251_device, data_r, data_w) - //AM_RANGE(0x01, 0x01) AM_DEVREADWRITE("uart1", i8251_device, status_r, control_w) - AM_RANGE(0x00, 0x00) AM_READ(port00_r) - AM_RANGE(0x01, 0x01) AM_READ(port01_r) + AM_RANGE(0x00, 0x00) AM_DEVREADWRITE("uart1", i8251_device, data_r, data_w) + AM_RANGE(0x01, 0x01) AM_DEVREADWRITE("uart1", i8251_device, status_r, control_w) AM_RANGE(0x02, 0x02) AM_DEVREADWRITE("uart2", i8251_device, data_r, data_w) AM_RANGE(0x03, 0x03) AM_DEVREADWRITE("uart2", i8251_device, status_r, control_w) AM_RANGE(0x04, 0x07) AM_DEVREADWRITE("ppi1", i8255_device, read, write) @@ -215,18 +212,6 @@ static INPUT_PORTS_START( amust ) PORT_DIPSETTING( 0x08, "4" ) INPUT_PORTS_END -READ8_MEMBER( amust_state::port00_r ) -{ - u8 ret = m_term_data; - m_term_data = 0; - return ret; -} - -READ8_MEMBER( amust_state::port01_r ) -{ - return 0xff; -} - // bodgy INTERRUPT_GEN_MEMBER( amust_state::irq_vs ) { @@ -315,11 +300,6 @@ WRITE8_MEMBER( amust_state::port0d_w ) m_p_videoram[video_address] = data; } -void amust_state::kbd_put(u8 data) -{ - m_term_data = data; -} - /* F4 Character Displayer */ static const gfx_layout amust_charlayout = { @@ -419,29 +399,31 @@ static MACHINE_CONFIG_START( amust ) MCFG_MC6845_CHAR_WIDTH(8) MCFG_MC6845_UPDATE_ROW_CB(amust_state, crtc_update_row) - MCFG_DEVICE_ADD("keybd", GENERIC_KEYBOARD, 0) - MCFG_GENERIC_KEYBOARD_CB(PUT(amust_state, kbd_put)) MCFG_UPD765A_ADD("fdc", false, true) MCFG_FLOPPY_DRIVE_ADD("fdc:0", amust_floppies, "525qd", floppy_image_device::default_floppy_formats) MCFG_FLOPPY_DRIVE_SOUND(true) MCFG_FLOPPY_DRIVE_ADD("fdc:1", amust_floppies, "525qd", floppy_image_device::default_floppy_formats) MCFG_FLOPPY_DRIVE_SOUND(true) - //MCFG_DEVICE_ADD("uart1", I8251, 0) - //MCFG_I8251_TXD_HANDLER(DEVWRITELINE("rs232", rs232_port_device, write_txd)) - //MCFG_I8251_DTR_HANDLER(DEVWRITELINE("rs232", rs232_port_device, write_dtr)) - //MCFG_I8251_RTS_HANDLER(DEVWRITELINE("rs232", rs232_port_device, write_rts)) + MCFG_DEVICE_ADD("uart_clock", CLOCK, 153600) + MCFG_CLOCK_SIGNAL_HANDLER(DEVWRITELINE("uart1", i8251_device, write_txc)) + MCFG_DEVCB_CHAIN_OUTPUT(DEVWRITELINE("uart1", i8251_device, write_rxc)) + + MCFG_DEVICE_ADD("uart1", I8251, 0) + MCFG_I8251_TXD_HANDLER(DEVWRITELINE("rs232", rs232_port_device, write_txd)) + MCFG_I8251_DTR_HANDLER(DEVWRITELINE("rs232", rs232_port_device, write_dtr)) + MCFG_I8251_RTS_HANDLER(DEVWRITELINE("rs232", rs232_port_device, write_rts)) + + MCFG_RS232_PORT_ADD("rs232", default_rs232_devices, "keyboard") + MCFG_RS232_RXD_HANDLER(DEVWRITELINE("uart1", i8251_device, write_rxd)) + MCFG_RS232_CTS_HANDLER(DEVWRITELINE("uart1", i8251_device, write_cts)) + MCFG_RS232_DSR_HANDLER(DEVWRITELINE("uart1", i8251_device, write_dsr)) MCFG_DEVICE_ADD("uart2", I8251, 0) //MCFG_I8251_TXD_HANDLER(DEVWRITELINE("rs232", rs232_port_device, write_txd)) //MCFG_I8251_DTR_HANDLER(DEVWRITELINE("rs232", rs232_port_device, write_dtr)) //MCFG_I8251_RTS_HANDLER(DEVWRITELINE("rs232", rs232_port_device, write_rts)) - //MCFG_RS232_PORT_ADD("rs232", default_rs232_devices, "terminal") - //MCFG_RS232_RXD_HANDLER(DEVWRITELINE("uart8251", i8251_device, write_rxd)) - //MCFG_RS232_CTS_HANDLER(DEVWRITELINE("uart8251", i8251_device, write_cts)) - //MCFG_RS232_DSR_HANDLER(DEVWRITELINE("uart8251", i8251_device, write_dsr)) - MCFG_DEVICE_ADD("pit", PIT8253, 0) MCFG_DEVICE_ADD("ppi1", I8255A, 0) |