diff options
Diffstat (limited to 'src')
255 files changed, 2491 insertions, 2276 deletions
diff --git a/src/emu/bus/a2bus/a2midi.c b/src/emu/bus/a2bus/a2midi.c index eddf833895a..3b026667acd 100644 --- a/src/emu/bus/a2bus/a2midi.c +++ b/src/emu/bus/a2bus/a2midi.c @@ -6,9 +6,10 @@ *********************************************************************/ -#include "emu.h" -#include "includes/apple2.h" #include "a2midi.h" +#include "bus/midi/midi.h" +#include "bus/midi/midiinport.h" +#include "bus/midi/midioutport.h" /*************************************************************************** @@ -36,7 +37,7 @@ static ACIA6850_INTERFACE( acia_interface ) { 31250*16, // tx clock 0, // rx clock (we manually clock rx) - DEVCB_DEVICE_LINE_MEMBER("mdout", serial_port_device, tx), // tx out + DEVCB_DEVICE_LINE_MEMBER("mdout", midi_port_device, write_txd), // tx out DEVCB_NULL, // rts out DEVCB_DEVICE_LINE_MEMBER(DEVICE_SELF_OWNER, a2bus_midi_device, acia_irq_w) }; @@ -53,10 +54,10 @@ MACHINE_CONFIG_FRAGMENT( midi ) MCFG_PTM6840_ADD(MIDI_PTM_TAG, ptm_interface) MCFG_ACIA6850_ADD(MIDI_ACIA_TAG, acia_interface) - MCFG_SERIAL_PORT_ADD("mdin", midiin_slot, "midiin") - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(DEVICE_SELF, a2bus_midi_device, midi_rx_w)) + MCFG_MIDI_PORT_ADD("mdin", midiin_slot, "midiin") + MCFG_MIDI_RX_HANDLER(DEVWRITELINE(DEVICE_SELF, a2bus_midi_device, midi_rx_w)) - MCFG_SERIAL_PORT_ADD("mdout", midiout_slot, "midiout") + MCFG_MIDI_PORT_ADD("mdout", midiout_slot, "midiout") MACHINE_CONFIG_END //------------------------------------------------- diff --git a/src/emu/bus/a2bus/a2midi.h b/src/emu/bus/a2bus/a2midi.h index 1cd1c447c75..c46e2bb8665 100644 --- a/src/emu/bus/a2bus/a2midi.h +++ b/src/emu/bus/a2bus/a2midi.h @@ -9,13 +9,9 @@ #ifndef __A2BUS_MIDI__ #define __A2BUS_MIDI__ -#include "emu.h" #include "a2bus.h" #include "machine/6840ptm.h" #include "machine/6850acia.h" -#include "machine/serial.h" -#include "machine/midiinport.h" -#include "machine/midioutport.h" //************************************************************************** // TYPE DEFINITIONS diff --git a/src/emu/bus/a2bus/a2ssc.c b/src/emu/bus/a2bus/a2ssc.c index 2b0404bda5a..ec647509737 100644 --- a/src/emu/bus/a2bus/a2ssc.c +++ b/src/emu/bus/a2bus/a2ssc.c @@ -6,12 +6,8 @@ *********************************************************************/ -#include "emu.h" -#include "includes/apple2.h" #include "a2ssc.h" -#include "machine/terminal.h" -#include "machine/null_modem.h" -#include "machine/serial.h" +#include "bus/rs232/rs232.h" /*************************************************************************** @@ -31,13 +27,13 @@ const device_type A2BUS_SSC = &device_creator<a2bus_ssc_device>; MACHINE_CONFIG_FRAGMENT( ssc ) MCFG_DEVICE_ADD(SSC_ACIA_TAG, MOS6551, XTAL_1_8432MHz) MCFG_MOS6551_IRQ_HANDLER(WRITELINE(a2bus_ssc_device, acia_irq_w)) - MCFG_MOS6551_TXD_HANDLER(DEVWRITELINE(SSC_RS232_TAG, rs232_port_device, tx)) + MCFG_MOS6551_TXD_HANDLER(DEVWRITELINE(SSC_RS232_TAG, rs232_port_device, write_txd)) MCFG_RS232_PORT_ADD(SSC_RS232_TAG, default_rs232_devices, NULL) - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(SSC_ACIA_TAG, mos6551_device, rxd_w)) - MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE(SSC_ACIA_TAG, mos6551_device, dcd_w)) - MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE(SSC_ACIA_TAG, mos6551_device, dsr_w)) - MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE(SSC_ACIA_TAG, mos6551_device, cts_w)) + MCFG_RS232_RXD_HANDLER(DEVWRITELINE(SSC_ACIA_TAG, mos6551_device, rxd_w)) + MCFG_RS232_DCD_HANDLER(DEVWRITELINE(SSC_ACIA_TAG, mos6551_device, dcd_w)) + MCFG_RS232_DSR_HANDLER(DEVWRITELINE(SSC_ACIA_TAG, mos6551_device, dsr_w)) + MCFG_RS232_CTS_HANDLER(DEVWRITELINE(SSC_ACIA_TAG, mos6551_device, cts_w)) MACHINE_CONFIG_END ROM_START( ssc ) diff --git a/src/emu/bus/a2bus/a2ssc.h b/src/emu/bus/a2bus/a2ssc.h index ada44ea659e..feeffb306fa 100644 --- a/src/emu/bus/a2bus/a2ssc.h +++ b/src/emu/bus/a2bus/a2ssc.h @@ -9,7 +9,6 @@ #ifndef __A2BUS_SSC__ #define __A2BUS_SSC__ -#include "emu.h" #include "a2bus.h" #include "machine/mos6551.h" diff --git a/src/emu/bus/bus.mak b/src/emu/bus/bus.mak index df272541fd6..820760a9304 100644 --- a/src/emu/bus/bus.mak +++ b/src/emu/bus/bus.mak @@ -579,3 +579,27 @@ BUSOBJS += $(BUSOBJ)/centronics/covox.o BUSOBJS += $(BUSOBJ)/centronics/dsjoy.o BUSOBJS += $(BUSOBJ)/centronics/image.o endif + +#------------------------------------------------- +# +#@src/emu/bus/rs232/rs232.h,BUSES += RS232 +#------------------------------------------------- + +ifneq ($(filter RS232,$(BUSES)),) +BUSOBJS += $(BUSOBJ)/rs232/keyboard.o +BUSOBJS += $(BUSOBJ)/rs232/null_modem.o +BUSOBJS += $(BUSOBJ)/rs232/rs232.o +BUSOBJS += $(BUSOBJ)/rs232/ser_mouse.o +BUSOBJS += $(BUSOBJ)/rs232/terminal.o +endif + +#------------------------------------------------- +# +#@src/emu/bus/midi/midi.h,BUSES += MIDI +#------------------------------------------------- + +ifneq ($(filter MIDI,$(BUSES)),) +BUSOBJS += $(BUSOBJ)/midi/midi.o +BUSOBJS += $(BUSOBJ)/midi/midiinport.o +BUSOBJS += $(BUSOBJ)/midi/midioutport.o +endif diff --git a/src/emu/bus/c64/midi_maplin.c b/src/emu/bus/c64/midi_maplin.c index 4300d2b95e2..df6830064c2 100644 --- a/src/emu/bus/c64/midi_maplin.c +++ b/src/emu/bus/c64/midi_maplin.c @@ -10,6 +10,9 @@ **********************************************************************/ #include "midi_maplin.h" +#include "bus/midi/midi.h" +#include "bus/midi/midiinport.h" +#include "bus/midi/midioutport.h" @@ -41,7 +44,7 @@ static ACIA6850_INTERFACE( acia_intf ) { 500000, 0, // rx clock (we manually clock rx) - DEVCB_DEVICE_LINE_MEMBER("mdout", serial_port_device, tx), + DEVCB_DEVICE_LINE_MEMBER("mdout", midi_port_device, write_txd), DEVCB_NULL, DEVCB_DEVICE_LINE_MEMBER(DEVICE_SELF_OWNER, c64_maplin_midi_cartridge_device, acia_irq_w) }; @@ -82,10 +85,10 @@ SLOT_INTERFACE_END static MACHINE_CONFIG_FRAGMENT( c64_maplin_midi ) MCFG_ACIA6850_ADD(MC6850_TAG, acia_intf) - MCFG_SERIAL_PORT_ADD("mdin", midiin_slot, "midiin") - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(DEVICE_SELF, c64_maplin_midi_cartridge_device, midi_rx_w)) + MCFG_MIDI_PORT_ADD("mdin", midiin_slot, "midiin") + MCFG_MIDI_RX_HANDLER(DEVWRITELINE(DEVICE_SELF, c64_maplin_midi_cartridge_device, midi_rx_w)) - MCFG_SERIAL_PORT_ADD("mdout", midiout_slot, "midiout") + MCFG_MIDI_PORT_ADD("mdout", midiout_slot, "midiout") MACHINE_CONFIG_END diff --git a/src/emu/bus/c64/midi_maplin.h b/src/emu/bus/c64/midi_maplin.h index 94faa9a5c20..c9ddf94dbe4 100644 --- a/src/emu/bus/c64/midi_maplin.h +++ b/src/emu/bus/c64/midi_maplin.h @@ -14,12 +14,8 @@ #ifndef __C64_MIDI_MAPLIN__ #define __C64_MIDI_MAPLIN__ -#include "emu.h" #include "exp.h" #include "machine/6850acia.h" -#include "machine/serial.h" -#include "machine/midiinport.h" -#include "machine/midioutport.h" diff --git a/src/emu/bus/c64/midi_namesoft.c b/src/emu/bus/c64/midi_namesoft.c index dcee8205f1c..aea458cbd5a 100644 --- a/src/emu/bus/c64/midi_namesoft.c +++ b/src/emu/bus/c64/midi_namesoft.c @@ -10,6 +10,9 @@ **********************************************************************/ #include "midi_namesoft.h" +#include "bus/midi/midi.h" +#include "bus/midi/midiinport.h" +#include "bus/midi/midioutport.h" @@ -41,7 +44,7 @@ static ACIA6850_INTERFACE( acia_intf ) { 500000, 0, // rx clock (we manually clock rx) - DEVCB_DEVICE_LINE_MEMBER("mdout", serial_port_device, tx), + DEVCB_DEVICE_LINE_MEMBER("mdout", midi_port_device, write_txd), DEVCB_NULL, DEVCB_DEVICE_LINE_MEMBER(DEVICE_SELF_OWNER, c64_namesoft_midi_cartridge_device, acia_irq_w) }; @@ -82,10 +85,10 @@ SLOT_INTERFACE_END static MACHINE_CONFIG_FRAGMENT( c64_passport_midi ) MCFG_ACIA6850_ADD(MC6850_TAG, acia_intf) - MCFG_SERIAL_PORT_ADD("mdin", midiin_slot, "midiin") - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(DEVICE_SELF, c64_namesoft_midi_cartridge_device, midi_rx_w)) + MCFG_MIDI_PORT_ADD("mdin", midiin_slot, "midiin") + MCFG_MIDI_RX_HANDLER(DEVWRITELINE(DEVICE_SELF, c64_namesoft_midi_cartridge_device, midi_rx_w)) - MCFG_SERIAL_PORT_ADD("mdout", midiout_slot, "midiout") + MCFG_MIDI_PORT_ADD("mdout", midiout_slot, "midiout") MACHINE_CONFIG_END diff --git a/src/emu/bus/c64/midi_namesoft.h b/src/emu/bus/c64/midi_namesoft.h index f5d54f6337f..547fee0140a 100644 --- a/src/emu/bus/c64/midi_namesoft.h +++ b/src/emu/bus/c64/midi_namesoft.h @@ -14,12 +14,8 @@ #ifndef __C64_MIDI_NAMESOFT__ #define __C64_MIDI_NAMESOFT__ -#include "emu.h" #include "exp.h" #include "machine/6850acia.h" -#include "machine/serial.h" -#include "machine/midiinport.h" -#include "machine/midioutport.h" diff --git a/src/emu/bus/c64/midi_passport.c b/src/emu/bus/c64/midi_passport.c index 3c4a1d092b0..e28b0182553 100644 --- a/src/emu/bus/c64/midi_passport.c +++ b/src/emu/bus/c64/midi_passport.c @@ -10,6 +10,9 @@ **********************************************************************/ #include "midi_passport.h" +#include "bus/midi/midi.h" +#include "bus/midi/midiinport.h" +#include "bus/midi/midioutport.h" @@ -64,7 +67,7 @@ static ACIA6850_INTERFACE( acia_intf ) { 500000, 0, // rx clock (we manually clock rx) - DEVCB_DEVICE_LINE_MEMBER("mdout", serial_port_device, tx), + DEVCB_DEVICE_LINE_MEMBER("mdout", midi_port_device, write_txd), DEVCB_NULL, DEVCB_DEVICE_LINE_MEMBER(DEVICE_SELF_OWNER, c64_passport_midi_cartridge_device, acia_irq_w) }; @@ -106,10 +109,10 @@ static MACHINE_CONFIG_FRAGMENT( c64_passport_midi ) MCFG_ACIA6850_ADD(MC6850_TAG, acia_intf) MCFG_PTM6840_ADD(MC6840_TAG, ptm_intf) - MCFG_SERIAL_PORT_ADD("mdin", midiin_slot, "midiin") - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(DEVICE_SELF, c64_passport_midi_cartridge_device, midi_rx_w)) + MCFG_MIDI_PORT_ADD("mdin", midiin_slot, "midiin") + MCFG_MIDI_RX_HANDLER(DEVWRITELINE(DEVICE_SELF, c64_passport_midi_cartridge_device, midi_rx_w)) - MCFG_SERIAL_PORT_ADD("mdout", midiout_slot, "midiout") + MCFG_MIDI_PORT_ADD("mdout", midiout_slot, "midiout") MACHINE_CONFIG_END diff --git a/src/emu/bus/c64/midi_passport.h b/src/emu/bus/c64/midi_passport.h index fe02d5fef52..a126e97d56d 100644 --- a/src/emu/bus/c64/midi_passport.h +++ b/src/emu/bus/c64/midi_passport.h @@ -14,13 +14,9 @@ #ifndef __C64_MIDI_PASSPORT__ #define __C64_MIDI_PASSPORT__ -#include "emu.h" #include "exp.h" #include "machine/6840ptm.h" #include "machine/6850acia.h" -#include "machine/serial.h" -#include "machine/midiinport.h" -#include "machine/midioutport.h" diff --git a/src/emu/bus/c64/midi_sci.c b/src/emu/bus/c64/midi_sci.c index 144e1510299..ef39829bfb7 100644 --- a/src/emu/bus/c64/midi_sci.c +++ b/src/emu/bus/c64/midi_sci.c @@ -10,6 +10,9 @@ **********************************************************************/ #include "midi_sci.h" +#include "bus/midi/midi.h" +#include "bus/midi/midiinport.h" +#include "bus/midi/midioutport.h" @@ -41,7 +44,7 @@ static ACIA6850_INTERFACE( acia_intf ) { 500000, 0, // rx clock (we manually clock rx) - DEVCB_DEVICE_LINE_MEMBER("mdout", serial_port_device, tx), + DEVCB_DEVICE_LINE_MEMBER("mdout", midi_port_device, write_txd), DEVCB_NULL, DEVCB_DEVICE_LINE_MEMBER(DEVICE_SELF_OWNER, c64_sequential_midi_cartridge_device, acia_irq_w) }; @@ -82,10 +85,10 @@ SLOT_INTERFACE_END static MACHINE_CONFIG_FRAGMENT( c64_sequential_midi ) MCFG_ACIA6850_ADD(MC6850_TAG, acia_intf) - MCFG_SERIAL_PORT_ADD("mdin", midiin_slot, "midiin") - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(DEVICE_SELF, c64_sequential_midi_cartridge_device, midi_rx_w)) + MCFG_MIDI_PORT_ADD("mdin", midiin_slot, "midiin") + MCFG_MIDI_RX_HANDLER(DEVWRITELINE(DEVICE_SELF, c64_sequential_midi_cartridge_device, midi_rx_w)) - MCFG_SERIAL_PORT_ADD("mdout", midiout_slot, "midiout") + MCFG_MIDI_PORT_ADD("mdout", midiout_slot, "midiout") MACHINE_CONFIG_END diff --git a/src/emu/bus/c64/midi_sci.h b/src/emu/bus/c64/midi_sci.h index c1ff88cdcb8..1f5010ff3c6 100644 --- a/src/emu/bus/c64/midi_sci.h +++ b/src/emu/bus/c64/midi_sci.h @@ -14,12 +14,8 @@ #ifndef __C64_MIDI_SCI__ #define __C64_MIDI_SCI__ -#include "emu.h" #include "exp.h" #include "machine/6850acia.h" -#include "machine/serial.h" -#include "machine/midiinport.h" -#include "machine/midioutport.h" diff --git a/src/emu/bus/c64/midi_siel.c b/src/emu/bus/c64/midi_siel.c index 8f2e4160365..7acda555651 100644 --- a/src/emu/bus/c64/midi_siel.c +++ b/src/emu/bus/c64/midi_siel.c @@ -10,6 +10,9 @@ **********************************************************************/ #include "midi_siel.h" +#include "bus/midi/midi.h" +#include "bus/midi/midiinport.h" +#include "bus/midi/midioutport.h" @@ -41,7 +44,7 @@ static ACIA6850_INTERFACE( acia_intf ) { XTAL_2MHz, 0, // rx clock (we manually clock rx) - DEVCB_DEVICE_LINE_MEMBER("mdout", serial_port_device, tx), + DEVCB_DEVICE_LINE_MEMBER("mdout", midi_port_device, write_txd), DEVCB_NULL, DEVCB_DEVICE_LINE_MEMBER(DEVICE_SELF_OWNER, c64_siel_midi_cartridge_device, acia_irq_w) }; @@ -82,10 +85,10 @@ SLOT_INTERFACE_END static MACHINE_CONFIG_FRAGMENT( c64_siel_midi ) MCFG_ACIA6850_ADD(MC6850_TAG, acia_intf) - MCFG_SERIAL_PORT_ADD("mdin", midiin_slot, "midiin") - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(DEVICE_SELF, c64_siel_midi_cartridge_device, midi_rx_w)) + MCFG_MIDI_PORT_ADD("mdin", midiin_slot, "midiin") + MCFG_MIDI_RX_HANDLER(DEVWRITELINE(DEVICE_SELF, c64_siel_midi_cartridge_device, midi_rx_w)) - MCFG_SERIAL_PORT_ADD("mdout", midiout_slot, "midiout") + MCFG_MIDI_PORT_ADD("mdout", midiout_slot, "midiout") MACHINE_CONFIG_END diff --git a/src/emu/bus/c64/midi_siel.h b/src/emu/bus/c64/midi_siel.h index 80a94d25f7a..a4682c488b9 100644 --- a/src/emu/bus/c64/midi_siel.h +++ b/src/emu/bus/c64/midi_siel.h @@ -14,12 +14,8 @@ #ifndef __C64_MIDI_SIEL__ #define __C64_MIDI_SIEL__ -#include "emu.h" #include "exp.h" #include "machine/6850acia.h" -#include "machine/serial.h" -#include "machine/midiinport.h" -#include "machine/midioutport.h" diff --git a/src/emu/bus/c64/swiftlink.c b/src/emu/bus/c64/swiftlink.c index 2552239b2a2..0f7604860ec 100644 --- a/src/emu/bus/c64/swiftlink.c +++ b/src/emu/bus/c64/swiftlink.c @@ -16,6 +16,7 @@ */ #include "swiftlink.h" +#include "bus/rs232/rs232.h" @@ -42,13 +43,13 @@ const device_type C64_SWIFTLINK = &device_creator<c64_swiftlink_cartridge_device static MACHINE_CONFIG_FRAGMENT( c64_swiftlink ) MCFG_DEVICE_ADD(MOS6551_TAG, MOS6551, XTAL_3_6864MHz) MCFG_MOS6551_IRQ_HANDLER(WRITELINE(c64_swiftlink_cartridge_device, acia_irq_w)) - MCFG_MOS6551_TXD_HANDLER(DEVWRITELINE(RS232_TAG, rs232_port_device, tx)) + MCFG_MOS6551_TXD_HANDLER(DEVWRITELINE(RS232_TAG, rs232_port_device, write_txd)) MCFG_RS232_PORT_ADD(RS232_TAG, default_rs232_devices, NULL) - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(MOS6551_TAG, mos6551_device, rxd_w)) - MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE(MOS6551_TAG, mos6551_device, dcd_w)) - MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE(MOS6551_TAG, mos6551_device, dsr_w)) - MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE(MOS6551_TAG, mos6551_device, cts_w)) + MCFG_RS232_RXD_HANDLER(DEVWRITELINE(MOS6551_TAG, mos6551_device, rxd_w)) + MCFG_RS232_DCD_HANDLER(DEVWRITELINE(MOS6551_TAG, mos6551_device, dcd_w)) + MCFG_RS232_DSR_HANDLER(DEVWRITELINE(MOS6551_TAG, mos6551_device, dsr_w)) + MCFG_RS232_CTS_HANDLER(DEVWRITELINE(MOS6551_TAG, mos6551_device, cts_w)) MACHINE_CONFIG_END diff --git a/src/emu/bus/c64/swiftlink.h b/src/emu/bus/c64/swiftlink.h index d4aec28f962..f9b615dd56b 100644 --- a/src/emu/bus/c64/swiftlink.h +++ b/src/emu/bus/c64/swiftlink.h @@ -15,10 +15,8 @@ #define __SWIFTLINK__ -#include "emu.h" #include "exp.h" #include "machine/mos6551.h" -#include "machine/serial.h" diff --git a/src/emu/bus/c64/turbo232.c b/src/emu/bus/c64/turbo232.c index 8e497cda3d3..73cb133d767 100644 --- a/src/emu/bus/c64/turbo232.c +++ b/src/emu/bus/c64/turbo232.c @@ -42,13 +42,13 @@ const device_type C64_TURBO232 = &device_creator<c64_turbo232_cartridge_device>; static MACHINE_CONFIG_FRAGMENT( c64_turbo232 ) MCFG_DEVICE_ADD(MOS6551_TAG, MOS6551, XTAL_3_6864MHz) MCFG_MOS6551_IRQ_HANDLER(WRITELINE(c64_turbo232_cartridge_device, acia_irq_w)) - MCFG_MOS6551_TXD_HANDLER(DEVWRITELINE(RS232_TAG, rs232_port_device, tx)) + MCFG_MOS6551_TXD_HANDLER(DEVWRITELINE(RS232_TAG, rs232_port_device, write_txd)) MCFG_RS232_PORT_ADD(RS232_TAG, default_rs232_devices, NULL) - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(MOS6551_TAG, mos6551_device, rxd_w)) - MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE(MOS6551_TAG, mos6551_device, dcd_w)) - MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE(MOS6551_TAG, mos6551_device, dsr_w)) - MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE(MOS6551_TAG, mos6551_device, cts_w)) + MCFG_RS232_RXD_HANDLER(DEVWRITELINE(MOS6551_TAG, mos6551_device, rxd_w)) + MCFG_RS232_DCD_HANDLER(DEVWRITELINE(MOS6551_TAG, mos6551_device, dcd_w)) + MCFG_RS232_DSR_HANDLER(DEVWRITELINE(MOS6551_TAG, mos6551_device, dsr_w)) + MCFG_RS232_CTS_HANDLER(DEVWRITELINE(MOS6551_TAG, mos6551_device, cts_w)) MACHINE_CONFIG_END diff --git a/src/emu/bus/c64/turbo232.h b/src/emu/bus/c64/turbo232.h index 4686bfa4626..308c7455b26 100644 --- a/src/emu/bus/c64/turbo232.h +++ b/src/emu/bus/c64/turbo232.h @@ -15,12 +15,9 @@ #define __TURBO232__ -#include "emu.h" #include "exp.h" #include "machine/mos6551.h" -#include "machine/null_modem.h" -#include "machine/serial.h" -#include "machine/terminal.h" +#include "bus/rs232/rs232.h" diff --git a/src/emu/bus/ieee488/hardbox.c b/src/emu/bus/ieee488/hardbox.c index cfc914d6d87..9b877a27f41 100644 --- a/src/emu/bus/ieee488/hardbox.c +++ b/src/emu/bus/ieee488/hardbox.c @@ -43,6 +43,11 @@ #include "hardbox.h" +#include "cpu/z80/z80.h" +#include "machine/i8251.h" +#include "machine/i8255.h" +#include "imagedev/harddriv.h" +#include "includes/corvushd.h" diff --git a/src/emu/bus/ieee488/hardbox.h b/src/emu/bus/ieee488/hardbox.h index 5c6c4631bdc..4f705085ec0 100644 --- a/src/emu/bus/ieee488/hardbox.h +++ b/src/emu/bus/ieee488/hardbox.h @@ -14,13 +14,7 @@ #ifndef __PET_HARDBOX__ #define __PET_HARDBOX__ -#include "emu.h" #include "ieee488.h" -#include "cpu/z80/z80.h" -#include "imagedev/harddriv.h" -#include "includes/corvushd.h" -#include "machine/i8255.h" -#include "machine/serial.h" diff --git a/src/emu/bus/ieee488/shark.c b/src/emu/bus/ieee488/shark.c index 0b417a7fb61..16c66fda0c0 100644 --- a/src/emu/bus/ieee488/shark.c +++ b/src/emu/bus/ieee488/shark.c @@ -10,6 +10,9 @@ **********************************************************************/ #include "shark.h" +#include "bus/rs232/rs232.h" +#include "cpu/i8085/i8085.h" +#include "imagedev/harddriv.h" diff --git a/src/emu/bus/ieee488/shark.h b/src/emu/bus/ieee488/shark.h index f38fbd90501..8306e5210d9 100644 --- a/src/emu/bus/ieee488/shark.h +++ b/src/emu/bus/ieee488/shark.h @@ -16,11 +16,7 @@ #ifndef __SHARK__ #define __SHARK__ -#include "emu.h" #include "ieee488.h" -#include "cpu/i8085/i8085.h" -#include "imagedev/harddriv.h" -#include "machine/serial.h" diff --git a/src/emu/bus/ieee488/softbox.c b/src/emu/bus/ieee488/softbox.c index 475dba99d82..21de6666d6d 100644 --- a/src/emu/bus/ieee488/softbox.c +++ b/src/emu/bus/ieee488/softbox.c @@ -18,7 +18,12 @@ #include "softbox.h" - +#include "bus/rs232/rs232.h" +#include "cpu/z80/z80.h" +#include "imagedev/harddriv.h" +#include "includes/corvushd.h" +#include "machine/i8251.h" +#include "machine/i8255.h" //************************************************************************** @@ -99,9 +104,9 @@ ADDRESS_MAP_END static const i8251_interface usart_intf = { - DEVCB_DEVICE_LINE_MEMBER(RS232_TAG, serial_port_device, tx), - DEVCB_DEVICE_LINE_MEMBER(RS232_TAG, rs232_port_device, dtr_w), - DEVCB_DEVICE_LINE_MEMBER(RS232_TAG, rs232_port_device, rts_w), + DEVCB_DEVICE_LINE_MEMBER(RS232_TAG, rs232_port_device, write_txd), + DEVCB_DEVICE_LINE_MEMBER(RS232_TAG, rs232_port_device, write_dtr), + DEVCB_DEVICE_LINE_MEMBER(RS232_TAG, rs232_port_device, write_rts), DEVCB_NULL, DEVCB_NULL, DEVCB_NULL, @@ -284,10 +289,12 @@ static MACHINE_CONFIG_FRAGMENT( softbox ) MCFG_HARDDISK_ADD("harddisk2") MCFG_HARDDISK_ADD("harddisk3") MCFG_HARDDISK_ADD("harddisk4") + MCFG_RS232_PORT_ADD(RS232_TAG, default_rs232_devices, NULL) + MCFG_RS232_RXD_HANDLER(DEVWRITELINE(I8251_TAG, i8251_device, write_rx)) + MCFG_RS232_DSR_HANDLER(DEVWRITELINE(I8251_TAG, i8251_device, write_dsr)) MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("serial_terminal", terminal) - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(I8251_TAG, i8251_device, write_rx)) - MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE(I8251_TAG, i8251_device, write_dsr)) + //MCFG_IMI7000_BUS_ADD("imi5000h", NULL, NULL, NULL) MACHINE_CONFIG_END diff --git a/src/emu/bus/ieee488/softbox.h b/src/emu/bus/ieee488/softbox.h index 3f7bb21f80f..9edc2f8adcb 100644 --- a/src/emu/bus/ieee488/softbox.h +++ b/src/emu/bus/ieee488/softbox.h @@ -14,16 +14,8 @@ #ifndef __PET_SOFTBOX__ #define __PET_SOFTBOX__ -#include "emu.h" #include "ieee488.h" -#include "bus/imi7000/imi7000.h" -#include "cpu/z80/z80.h" -#include "imagedev/harddriv.h" -#include "includes/corvushd.h" #include "machine/com8116.h" -#include "machine/i8251.h" -#include "machine/i8255.h" -#include "machine/serial.h" diff --git a/src/emu/bus/midi/midi.c b/src/emu/bus/midi/midi.c new file mode 100644 index 00000000000..5021f82f440 --- /dev/null +++ b/src/emu/bus/midi/midi.c @@ -0,0 +1,40 @@ +#include "midi.h" + +const device_type MIDI_PORT = &device_creator<midi_port_device>; + +device_midi_port_interface::device_midi_port_interface(const machine_config &mconfig, device_t &device) + : device_slot_card_interface(mconfig, device) +{ +} + +device_midi_port_interface::~device_midi_port_interface() +{ +} + +midi_port_device::midi_port_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) + : device_t(mconfig, MIDI_PORT, "Midi Port", tag, owner, clock, "midi_port", __FILE__), + device_slot_interface(mconfig, *this), + m_rxd_handler(*this), + m_dev(NULL) +{ +} + +midi_port_device::~midi_port_device() +{ +} + +void midi_port_device::device_config_complete() +{ + m_dev = dynamic_cast<device_midi_port_interface *>(get_card_device()); +} + +void midi_port_device::device_start() +{ + m_rxd_handler.resolve_safe(); +} + +WRITE_LINE_MEMBER( midi_port_device::write_txd ) +{ + if(m_dev) + m_dev->input_txd(state); +} diff --git a/src/emu/bus/midi/midi.h b/src/emu/bus/midi/midi.h new file mode 100644 index 00000000000..7b386ac9de4 --- /dev/null +++ b/src/emu/bus/midi/midi.h @@ -0,0 +1,62 @@ +#ifndef __BUS_MIDI_H__ +#define __BUS_MIDI_H__ + +#include "emu.h" + +#define MCFG_MIDI_PORT_ADD(_tag, _slot_intf, _def_slot) \ + MCFG_DEVICE_ADD(_tag, MIDI_PORT, 0) \ + MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, false) + +#define MCFG_MIDI_RX_HANDLER(_devcb) \ + devcb = &midi_port_device::set_rx_handler(*device, DEVCB2_##_devcb); + +class device_midi_port_interface; + +class midi_port_device : public device_t, + public device_slot_interface +{ + friend class device_midi_port_interface; + +public: + midi_port_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); + virtual ~midi_port_device(); + + // static configuration helpers + template<class _Object> static devcb2_base &set_rx_handler(device_t &device, _Object object) { return downcast<midi_port_device &>(device).m_rxd_handler.set_callback(object); } + + DECLARE_WRITE_LINE_MEMBER( write_txd ); + + DECLARE_READ_LINE_MEMBER( rx_r ) { return m_rxd; } + +protected: + virtual void device_start(); + virtual void device_config_complete(); + + int m_rxd; + + devcb2_write_line m_rxd_handler; + +private: + device_midi_port_interface *m_dev; +}; + +class device_midi_port_interface : public device_slot_card_interface +{ + friend class midi_port_device; + +public: + device_midi_port_interface(const machine_config &mconfig, device_t &device); + virtual ~device_midi_port_interface(); + + virtual DECLARE_WRITE_LINE_MEMBER( input_txd ) {} + DECLARE_WRITE_LINE_MEMBER( output_rxd ) { m_port->m_rxd = state; m_port->m_rxd_handler(state); } + +protected: + midi_port_device *m_port; +}; + +extern const device_type MIDI_PORT; + +SLOT_INTERFACE_EXTERN( default_midi_devices ); + +#endif diff --git a/src/mess/machine/midiinport.c b/src/emu/bus/midi/midiinport.c index dafabf44c45..906a183e7b4 100644 --- a/src/mess/machine/midiinport.c +++ b/src/emu/bus/midi/midiinport.c @@ -6,14 +6,14 @@ *********************************************************************/ -#include "machine/midiinport.h" +#include "midiinport.h" const device_type MIDIIN_PORT = &device_creator<midiin_port_device>; midiin_port_device::midiin_port_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) : device_t(mconfig, MIDIIN_PORT, "MIDI In port", tag, owner, clock, "midiin_port", __FILE__), - device_serial_port_interface(mconfig, *this), - m_midiin(*this, "midiinimg") + device_midi_port_interface(mconfig, *this), + m_midiin(*this, "midiinimg") { } diff --git a/src/mess/machine/midiinport.h b/src/emu/bus/midi/midiinport.h index e0feed17b38..fd2bce7f86b 100644 --- a/src/mess/machine/midiinport.h +++ b/src/emu/bus/midi/midiinport.h @@ -2,33 +2,33 @@ midiinport.h - MIDI In serial port - glues the image device to the pluggable serial port + MIDI In port - glues the image device to the pluggable midi port *********************************************************************/ #ifndef _MIDIINPORT_H_ #define _MIDIINPORT_H_ -#include "emu.h" -#include "machine/serial.h" +#include "midi.h" #include "imagedev/midiin.h" -class midiin_port_device : - public device_t, - public device_serial_port_interface +class midiin_port_device : public device_t, + public device_midi_port_interface { public: midiin_port_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); - virtual machine_config_constructor device_mconfig_additions() const; - DECLARE_WRITE_LINE_MEMBER( read ) { m_owner->out_rx(state); } - virtual void tx(UINT8 state) { } + + DECLARE_WRITE_LINE_MEMBER( read ) { output_rxd(state); } + protected: - virtual void device_start() { m_owner = dynamic_cast<serial_port_device *>(owner()); } + virtual machine_config_constructor device_mconfig_additions() const; + virtual void device_start() { m_owner = dynamic_cast<midi_port_device *>(owner()); } virtual void device_reset() { } + private: - serial_port_device *m_owner; required_device<midiin_device> m_midiin; }; extern const device_type MIDIIN_PORT; + #endif diff --git a/src/mess/machine/midioutport.c b/src/emu/bus/midi/midioutport.c index 7cecf1e4abf..1d4f9e4b408 100644 --- a/src/mess/machine/midioutport.c +++ b/src/emu/bus/midi/midioutport.c @@ -6,14 +6,14 @@ *********************************************************************/ -#include "machine/midioutport.h" +#include "midioutport.h" const device_type MIDIOUT_PORT = &device_creator<midiout_port_device>; midiout_port_device::midiout_port_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) : device_t(mconfig, MIDIOUT_PORT, "MIDI Out port", tag, owner, clock, "midiout_port", __FILE__), - device_serial_port_interface(mconfig, *this), - m_midiout(*this, "midioutimg") + device_midi_port_interface(mconfig, *this), + m_midiout(*this, "midioutimg") { } diff --git a/src/mess/machine/midioutport.h b/src/emu/bus/midi/midioutport.h index 30069d09dee..573eea5cc0f 100644 --- a/src/mess/machine/midioutport.h +++ b/src/emu/bus/midi/midioutport.h @@ -2,33 +2,33 @@ midioutport.h - MIDI Out serial port - glues the image device to the pluggable serial port + MIDI Out port - glues the image device to the pluggable midi port *********************************************************************/ #ifndef _MIDIOUTPORT_H_ #define _MIDIOUTPORT_H_ -#include "emu.h" -#include "machine/serial.h" +#include "midi.h" #include "imagedev/midiout.h" -class midiout_port_device : - public device_t, - public device_serial_port_interface +class midiout_port_device : public device_t, + public device_midi_port_interface { public: midiout_port_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); virtual machine_config_constructor device_mconfig_additions() const; DECLARE_WRITE_LINE_MEMBER( read ) { } virtual void tx(UINT8 state) { m_midiout->tx(state); } + protected: virtual void device_start() { } virtual void device_reset() { } + private: - //serial_port_device *m_owner; required_device<midiout_device> m_midiout; }; extern const device_type MIDIOUT_PORT; + #endif diff --git a/src/emu/bus/pet/superpet.c b/src/emu/bus/pet/superpet.c index 777aa907e5a..5135571ed3b 100644 --- a/src/emu/bus/pet/superpet.c +++ b/src/emu/bus/pet/superpet.c @@ -10,6 +10,8 @@ **********************************************************************/ #include "superpet.h" +#include "bus/rs232/rs232.h" +#include "cpu/m6809/m6809.h" @@ -77,13 +79,13 @@ static MACHINE_CONFIG_FRAGMENT( superpet ) MCFG_DEVICE_ADD(MOS6551_TAG, MOS6551, XTAL_1_8432MHz) MCFG_MOS6551_IRQ_HANDLER(WRITELINE(superpet_device, acia_irq_w)) - MCFG_MOS6551_TXD_HANDLER(DEVWRITELINE(RS232_TAG, rs232_port_device, tx)) + MCFG_MOS6551_TXD_HANDLER(DEVWRITELINE(RS232_TAG, rs232_port_device, write_txd)) MCFG_RS232_PORT_ADD(RS232_TAG, default_rs232_devices, NULL) - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(MOS6551_TAG, mos6551_device, rxd_w)) - MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE(MOS6551_TAG, mos6551_device, dcd_w)) - MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE(MOS6551_TAG, mos6551_device, dsr_w)) - MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE(MOS6551_TAG, mos6551_device, cts_w)) + MCFG_RS232_RXD_HANDLER(DEVWRITELINE(MOS6551_TAG, mos6551_device, rxd_w)) + MCFG_RS232_DCD_HANDLER(DEVWRITELINE(MOS6551_TAG, mos6551_device, dcd_w)) + MCFG_RS232_DSR_HANDLER(DEVWRITELINE(MOS6551_TAG, mos6551_device, dsr_w)) + MCFG_RS232_CTS_HANDLER(DEVWRITELINE(MOS6551_TAG, mos6551_device, cts_w)) MACHINE_CONFIG_END diff --git a/src/emu/bus/pet/superpet.h b/src/emu/bus/pet/superpet.h index 3aa21a6d33b..de7d6ee9f75 100644 --- a/src/emu/bus/pet/superpet.h +++ b/src/emu/bus/pet/superpet.h @@ -14,12 +14,9 @@ #ifndef __SUPERPET__ #define __SUPERPET__ -#include "emu.h" #include "exp.h" -#include "cpu/m6809/m6809.h" #include "machine/mos6551.h" #include "machine/mos6702.h" -#include "machine/serial.h" diff --git a/src/emu/bus/rs232/keyboard.c b/src/emu/bus/rs232/keyboard.c new file mode 100644 index 00000000000..8b83decc708 --- /dev/null +++ b/src/emu/bus/rs232/keyboard.c @@ -0,0 +1,184 @@ +/*************************************************************************** +Generic ASCII Keyboard + +Use MCFG_SERIAL_KEYBOARD_ADD to attach this as a serial device to a terminal +or computer. + +Use MCFG_ASCII_KEYBOARD_ADD to attach as a generic ascii input device in +cases where either the driver isn't developed enough yet; or for testing; +or for the case of a computer with an inbuilt (not serial) ascii keyboard. + +Example of usage in a driver. + +In MACHINE_CONFIG + MCFG_ASCII_KEYBOARD_ADD(KEYBOARD_TAG, keyboard_intf) + +In the code: + +WRITE8_MEMBER( xxx_state::kbd_put ) +{ + (code to capture the key as it is pressed) +} + +static ASCII_KEYBOARD_INTERFACE( keyboard_intf ) +{ + DEVCB_DRIVER_MEMBER(xxx_state, kbd_put) +}; + +***************************************************************************/ + +#include "keyboard.h" + +/*************************************************************************** + IMPLEMENTATION +***************************************************************************/ + +static INPUT_PORTS_START(serial_keyboard) + PORT_INCLUDE(generic_keyboard) + PORT_START("TERM_FRAME") + PORT_CONFNAME(0x0f, 0x06, "Baud") PORT_CHANGED_MEMBER(DEVICE_SELF, serial_keyboard_device, update_frame, 0) + PORT_CONFSETTING( 0x0d, "110") + PORT_CONFSETTING( 0x00, "150") + PORT_CONFSETTING( 0x01, "300") + PORT_CONFSETTING( 0x02, "600") + PORT_CONFSETTING( 0x03, "1200") + PORT_CONFSETTING( 0x04, "2400") + PORT_CONFSETTING( 0x05, "4800") + PORT_CONFSETTING( 0x06, "9600") + PORT_CONFSETTING( 0x07, "14400") + PORT_CONFSETTING( 0x08, "19200") + PORT_CONFSETTING( 0x09, "28800") + PORT_CONFSETTING( 0x0a, "38400") + PORT_CONFSETTING( 0x0b, "57600") + PORT_CONFSETTING( 0x0c, "115200") + PORT_CONFNAME(0x30, 0x00, "Format") PORT_CHANGED_MEMBER(DEVICE_SELF, serial_keyboard_device, update_frame, 0) + PORT_CONFSETTING( 0x00, "8N1") + PORT_CONFSETTING( 0x10, "7E1") + PORT_CONFSETTING( 0x20, "8N2") + PORT_CONFSETTING( 0x30, "8E1") +INPUT_PORTS_END + +ioport_constructor serial_keyboard_device::device_input_ports() const +{ + return INPUT_PORTS_NAME(serial_keyboard); +} + +serial_keyboard_device::serial_keyboard_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) + : generic_keyboard_device(mconfig, SERIAL_KEYBOARD, "Serial Keyboard", tag, owner, clock, "serial_keyboard", __FILE__), + device_serial_interface(mconfig, *this), + device_rs232_port_interface(mconfig, *this), + m_io_term_frame(*this, "TERM_FRAME") +{ +} + +serial_keyboard_device::serial_keyboard_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock, const char *shortname, const char *source) + : generic_keyboard_device(mconfig, type, name, tag, owner, clock, shortname, source), + device_serial_interface(mconfig, *this), + device_rs232_port_interface(mconfig, *this), + m_io_term_frame(*this, "TERM_FRAME") +{ +} + +void serial_keyboard_device::device_config_complete() +{ + const serial_keyboard_interface *intf = reinterpret_cast<const serial_keyboard_interface *>(static_config()); + if(intf != NULL) + { + *static_cast<serial_keyboard_interface *>(this) = *intf; + } + else + { + memset(&m_out_tx_cb, 0, sizeof(m_out_tx_cb)); + } +} + +static int rates[] = {150, 300, 600, 1200, 2400, 4800, 9600, 14400, 19200, 28800, 38400, 57600, 115200, 110}; + +void serial_keyboard_device::device_start() +{ + int baud = clock(); + if(!baud) baud = 9600; + m_out_tx_func.resolve(m_out_tx_cb, *this); + m_timer = timer_alloc(); + set_data_frame(1, 8, PARITY_NONE, STOP_BITS_1); + set_tra_rate(baud); +} + +INPUT_CHANGED_MEMBER(serial_keyboard_device::update_frame) +{ + reset(); +} + +void serial_keyboard_device::device_reset() +{ + generic_keyboard_device::device_reset(); + m_rbit = 1; + if (m_port) + output_rxd(m_rbit); + else + m_out_tx_func(m_rbit); + + UINT8 val = m_io_term_frame->read(); + set_tra_rate(rates[val & 0x0f]); + + switch(val & 0x30) + { + case 0x10: + set_data_frame(1, 7, PARITY_EVEN, STOP_BITS_1); + break; + case 0x00: + default: + set_data_frame(1, 8, PARITY_NONE, STOP_BITS_1); + break; + case 0x20: + set_data_frame(1, 8, PARITY_NONE, STOP_BITS_2); + break; + case 0x30: + set_data_frame(1, 8, PARITY_EVEN, STOP_BITS_1); + break; + } +} + +void serial_keyboard_device::device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) +{ + if (id) + device_serial_interface::device_timer(timer, id, param, ptr); + else + generic_keyboard_device::device_timer(timer, id, param, ptr); +} + +void serial_keyboard_device::send_key(UINT8 code) +{ + if(is_transmit_register_empty()) + { + transmit_register_setup(code); + return; + } + m_key_valid = true; + m_curr_key = code; +} + +void serial_keyboard_device::tra_callback() +{ + m_rbit = transmit_register_get_data_bit(); + if(m_port) + output_rxd(m_rbit); + else + m_out_tx_func(m_rbit); +} + +void serial_keyboard_device::tra_complete() +{ + if(m_key_valid) + { + transmit_register_setup(m_curr_key); + m_key_valid = false; + } +} + +READ_LINE_MEMBER(serial_keyboard_device::tx_r) +{ + return m_rbit; +} + +const device_type SERIAL_KEYBOARD = &device_creator<serial_keyboard_device>; diff --git a/src/emu/bus/rs232/keyboard.h b/src/emu/bus/rs232/keyboard.h new file mode 100644 index 00000000000..8e0da84ea20 --- /dev/null +++ b/src/emu/bus/rs232/keyboard.h @@ -0,0 +1,64 @@ +#ifndef __RS232_KEYBOARD_H__ +#define __RS232_KEYBOARD_H__ + +#include "rs232.h" +#include "machine/keyboard.h" + +/*************************************************************************** + TYPE DEFINITIONS +***************************************************************************/ + +struct serial_keyboard_interface +{ + devcb_write_line m_out_tx_cb; +}; + +/*************************************************************************** + DEVICE CONFIGURATION MACROS +***************************************************************************/ + +#define MCFG_SERIAL_KEYBOARD_ADD(_tag, _intrf, _clock) \ + MCFG_DEVICE_ADD(_tag, SERIAL_KEYBOARD, _clock) \ + MCFG_DEVICE_CONFIG(_intrf) + +/*************************************************************************** + FUNCTION PROTOTYPES +***************************************************************************/ + +class serial_keyboard_device : + public generic_keyboard_device, + public device_serial_interface, + public device_rs232_port_interface, + public serial_keyboard_interface +{ +public: + serial_keyboard_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); + serial_keyboard_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock, const char *shortname, const char *source); + + virtual DECLARE_WRITE_LINE_MEMBER( input_txd ) { device_serial_interface::rx_w(state); } + DECLARE_READ_LINE_MEMBER(tx_r); + + virtual ioport_constructor device_input_ports() const; + + DECLARE_INPUT_CHANGED_MEMBER(update_frame); + +protected: + virtual void device_start(); + virtual void device_config_complete(); + virtual void device_reset(); + virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr); + virtual void tra_callback(); + virtual void tra_complete(); + virtual void input_callback(UINT8 state) { m_input_state = state; } + virtual void send_key(UINT8 code); +private: + int m_rbit; + UINT8 m_curr_key; + bool m_key_valid; + devcb_resolved_write_line m_out_tx_func; + required_ioport m_io_term_frame; +}; + +extern const device_type SERIAL_KEYBOARD; + +#endif /* __RS232_KEYBOARD_H__ */ diff --git a/src/mess/machine/null_modem.c b/src/emu/bus/rs232/null_modem.c index 243ee62df86..e477faf5906 100644 --- a/src/mess/machine/null_modem.c +++ b/src/emu/bus/rs232/null_modem.c @@ -1,11 +1,11 @@ -#include "machine/null_modem.h" +#include "null_modem.h" const device_type NULL_MODEM = &device_creator<null_modem_device>; null_modem_device::null_modem_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) : device_t(mconfig, NULL_MODEM, "Null Modem", tag, owner, clock, "null_modem", __FILE__), - device_serial_port_interface(mconfig, *this), - m_bitbanger(*this, "bitbanger") + device_rs232_port_interface(mconfig, *this), + m_bitbanger(*this, "bitbanger") { } diff --git a/src/emu/bus/rs232/null_modem.h b/src/emu/bus/rs232/null_modem.h new file mode 100644 index 00000000000..14c462b00fa --- /dev/null +++ b/src/emu/bus/rs232/null_modem.h @@ -0,0 +1,27 @@ +#ifndef NULL_MODEM_H_ +#define NULL_MODEM_H_ + +#include "bus/rs232/rs232.h" +#include "imagedev/bitbngr.h" + +class null_modem_device : public device_t, + public device_rs232_port_interface +{ +public: + null_modem_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); + virtual machine_config_constructor device_mconfig_additions() const; + + WRITE_LINE_MEMBER( read ) { output_rxd(state); } /// HACK for DEVCB + virtual WRITE_LINE_MEMBER( input_txd ) { m_bitbanger->output(state); } + +protected: + virtual void device_start() {} + virtual void device_reset() { output_rxd(1); } + +private: + required_device<bitbanger_device> m_bitbanger; +}; + +extern const device_type NULL_MODEM; + +#endif diff --git a/src/emu/bus/rs232/rs232.c b/src/emu/bus/rs232/rs232.c new file mode 100644 index 00000000000..0d8778070ba --- /dev/null +++ b/src/emu/bus/rs232/rs232.c @@ -0,0 +1,99 @@ +#include "rs232.h" + +const device_type RS232_PORT = &device_creator<rs232_port_device>; + +rs232_port_device::rs232_port_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) : + device_t(mconfig, RS232_PORT, "RS232 Port", tag, owner, clock, "rs232", __FILE__), + device_slot_interface(mconfig, *this), + m_rxd_handler(*this), + m_dcd_handler(*this), + m_dsr_handler(*this), + m_ri_handler(*this), + m_cts_handler(*this), + m_dev(NULL) +{ +} + +rs232_port_device::rs232_port_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock, const char *shortname, const char *source) + : device_t(mconfig, type, name, tag, owner, clock, shortname, source), + device_slot_interface(mconfig, *this), + m_rxd_handler(*this), + m_dcd_handler(*this), + m_dsr_handler(*this), + m_ri_handler(*this), + m_cts_handler(*this), + m_dev(NULL) +{ +} + +rs232_port_device::~rs232_port_device() +{ +} + +void rs232_port_device::device_config_complete() +{ + m_dev = dynamic_cast<device_rs232_port_interface *>(get_card_device()); +} + +void rs232_port_device::device_start() +{ + m_rxd_handler.resolve_safe(); + m_dcd_handler.resolve_safe(); + m_dsr_handler.resolve_safe(); + m_ri_handler.resolve_safe(); + m_cts_handler.resolve_safe(); + + save_item(NAME(m_rxd)); + save_item(NAME(m_dcd)); + save_item(NAME(m_dsr)); + save_item(NAME(m_ri)); + save_item(NAME(m_cts)); + + m_rxd = 1; + m_dcd = 0; + m_dsr = 0; + m_ri = 0; + m_cts = 0; + + m_rxd_handler(1); + m_dcd_handler(0); + m_dsr_handler(0); + m_ri_handler(0); + m_cts_handler(0); +} + +WRITE_LINE_MEMBER( rs232_port_device::write_txd ) +{ + if(m_dev) + m_dev->input_txd(state); +} + +WRITE_LINE_MEMBER( rs232_port_device::write_dtr ) +{ + if(m_dev) + m_dev->input_dtr(state); +} + +WRITE_LINE_MEMBER( rs232_port_device::write_rts ) +{ + if(m_dev) + return m_dev->input_rts(state); +} + +#include "null_modem.h" +#include "terminal.h" + +device_rs232_port_interface::device_rs232_port_interface(const machine_config &mconfig, device_t &device) + : device_slot_card_interface(mconfig, device) +{ + m_port = dynamic_cast<rs232_port_device *>(device.owner()); +} + +device_rs232_port_interface::~device_rs232_port_interface() +{ +} + +SLOT_INTERFACE_START( default_rs232_devices ) + SLOT_INTERFACE("serial_terminal", SERIAL_TERMINAL) + SLOT_INTERFACE("null_modem", NULL_MODEM) +SLOT_INTERFACE_END diff --git a/src/emu/bus/rs232/rs232.h b/src/emu/bus/rs232/rs232.h new file mode 100644 index 00000000000..e4b7ed3ac0b --- /dev/null +++ b/src/emu/bus/rs232/rs232.h @@ -0,0 +1,100 @@ +#ifndef __BUS_RS232_H__ +#define __BUS_RS232_H__ + +#include "emu.h" + +#define MCFG_RS232_PORT_ADD(_tag, _slot_intf, _def_slot) \ + MCFG_DEVICE_ADD(_tag, RS232_PORT, 0) \ + MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, false) + +#define MCFG_RS232_RXD_HANDLER(_devcb) \ + devcb = &rs232_port_device::set_rx_handler(*device, DEVCB2_##_devcb); + +#define MCFG_RS232_DCD_HANDLER(_devcb) \ + devcb = &rs232_port_device::set_dcd_handler(*device, DEVCB2_##_devcb); + +#define MCFG_RS232_DSR_HANDLER(_devcb) \ + devcb = &rs232_port_device::set_dsr_handler(*device, DEVCB2_##_devcb); + +#define MCFG_RS232_RI_HANDLER(_devcb) \ + devcb = &rs232_port_device::set_ri_handler(*device, DEVCB2_##_devcb); + +#define MCFG_RS232_CTS_HANDLER(_devcb) \ + devcb = &rs232_port_device::set_cts_handler(*device, DEVCB2_##_devcb); + +class device_rs232_port_interface; + +class rs232_port_device : public device_t, + public device_slot_interface +{ + friend class device_rs232_port_interface; + +public: + rs232_port_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); + rs232_port_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock, const char *shortname, const char *source); + virtual ~rs232_port_device(); + + // static configuration helpers + template<class _Object> static devcb2_base &set_rx_handler(device_t &device, _Object object) { return downcast<rs232_port_device &>(device).m_rxd_handler.set_callback(object); } + template<class _Object> static devcb2_base &set_dcd_handler(device_t &device, _Object object) { return downcast<rs232_port_device &>(device).m_dcd_handler.set_callback(object); } + template<class _Object> static devcb2_base &set_dsr_handler(device_t &device, _Object object) { return downcast<rs232_port_device &>(device).m_dsr_handler.set_callback(object); } + template<class _Object> static devcb2_base &set_ri_handler(device_t &device, _Object object) { return downcast<rs232_port_device &>(device).m_ri_handler.set_callback(object); } + template<class _Object> static devcb2_base &set_cts_handler(device_t &device, _Object object) { return downcast<rs232_port_device &>(device).m_cts_handler.set_callback(object); } + + DECLARE_WRITE_LINE_MEMBER( write_txd ); + DECLARE_WRITE_LINE_MEMBER( write_dtr ); + DECLARE_WRITE_LINE_MEMBER( write_rts ); + + DECLARE_READ_LINE_MEMBER( rxd_r ) { return m_rxd; } + DECLARE_READ_LINE_MEMBER( dcd_r ) { return m_dcd; } + DECLARE_READ_LINE_MEMBER( dsr_r ) { return m_dsr; } + DECLARE_READ_LINE_MEMBER( ri_r ) { return m_ri; } + DECLARE_READ_LINE_MEMBER( cts_r ) { return m_cts; } + +protected: + virtual void device_start(); + virtual void device_config_complete(); + + int m_rxd; + int m_dcd; + int m_dsr; + int m_ri; + int m_cts; + + devcb2_write_line m_rxd_handler; + devcb2_write_line m_dcd_handler; + devcb2_write_line m_dsr_handler; + devcb2_write_line m_ri_handler; + devcb2_write_line m_cts_handler; + +private: + device_rs232_port_interface *m_dev; +}; + +class device_rs232_port_interface: public device_slot_card_interface +{ + friend class rs232_port_device; + +public: + device_rs232_port_interface(const machine_config &mconfig, device_t &device); + virtual ~device_rs232_port_interface(); + + virtual DECLARE_WRITE_LINE_MEMBER( input_txd ) {} + virtual DECLARE_WRITE_LINE_MEMBER( input_dtr ) {} + virtual DECLARE_WRITE_LINE_MEMBER( input_rts ) {} + + DECLARE_WRITE_LINE_MEMBER( output_rxd ) { m_port->m_rxd = state; m_port->m_rxd_handler(state); } + DECLARE_WRITE_LINE_MEMBER( output_dcd ) { m_port->m_dcd = state; m_port->m_dcd_handler(state); } + DECLARE_WRITE_LINE_MEMBER( output_dsr ) { m_port->m_dsr = state; m_port->m_dsr_handler(state); } + DECLARE_WRITE_LINE_MEMBER( output_ri ) { m_port->m_ri = state; m_port->m_ri_handler(state); } + DECLARE_WRITE_LINE_MEMBER( output_cts ) { m_port->m_cts = state; m_port->m_cts_handler(state); } + +protected: + rs232_port_device *m_port; +}; + +extern const device_type RS232_PORT; + +SLOT_INTERFACE_EXTERN( default_rs232_devices ); + +#endif diff --git a/src/mess/machine/ser_mouse.c b/src/emu/bus/rs232/ser_mouse.c index b62f4d6f3b9..2f81512730c 100644 --- a/src/mess/machine/ser_mouse.c +++ b/src/emu/bus/rs232/ser_mouse.c @@ -6,27 +6,28 @@ ***************************************************************************/ -#include "machine/ser_mouse.h" +#include "ser_mouse.h" -const device_type MSFT_SERIAL_MOUSE = &device_creator<microsoft_mouse_device>; -const device_type MSYSTEM_SERIAL_MOUSE = &device_creator<mouse_systems_mouse_device>; - serial_mouse_device::serial_mouse_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock, const char *shortname, const char *source) : device_t(mconfig, type, name, tag, owner, clock, shortname, source), - device_rs232_port_interface(mconfig, *this), - device_serial_interface(mconfig, *this), - m_x(*this, "ser_mouse_x"), - m_y(*this, "ser_mouse_y"), - m_btn(*this, "ser_mouse_btn") + device_rs232_port_interface(mconfig, *this), + device_serial_interface(mconfig, *this), + m_x(*this, "ser_mouse_x"), + m_y(*this, "ser_mouse_y"), + m_btn(*this, "ser_mouse_btn") { } +const device_type MSFT_SERIAL_MOUSE = &device_creator<microsoft_mouse_device>; + microsoft_mouse_device::microsoft_mouse_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) : serial_mouse_device(mconfig, MSFT_SERIAL_MOUSE, "Microsoft Serial Mouse", tag, owner, clock, "microsoft_mouse", __FILE__) { } +const device_type MSYSTEM_SERIAL_MOUSE = &device_creator<mouse_systems_mouse_device>; + mouse_systems_mouse_device::mouse_systems_mouse_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) : serial_mouse_device(mconfig, MSYSTEM_SERIAL_MOUSE, "Mouse Systems Serial Mouse", tag, owner, clock, "mouse_systems_mouse", __FILE__) { @@ -34,7 +35,6 @@ mouse_systems_mouse_device::mouse_systems_mouse_device(const machine_config &mco void serial_mouse_device::device_start() { - m_owner = dynamic_cast<rs232_port_device *>(owner()); m_timer = timer_alloc(); m_enabled = false; set_frame(); @@ -44,15 +44,11 @@ void serial_mouse_device::device_start() void serial_mouse_device::device_reset() { m_head = m_tail = 0; - tx(0); - m_dcd = 0; - m_owner->out_dcd(0); - m_dsr = 0; - m_owner->out_dsr(0); - m_ri = 0; - m_owner->out_ri(0); - m_cts = 0; - m_owner->out_cts(0); + output_rxd(0); + output_dcd(0); + output_dsr(0); + output_ri(0); + output_cts(0); } void serial_mouse_device::tra_complete() @@ -63,8 +59,7 @@ void serial_mouse_device::tra_complete() void serial_mouse_device::tra_callback() { - m_rbit = transmit_register_get_data_bit(); - m_owner->out_rx(m_rbit); + output_rxd(transmit_register_get_data_bit()); } /************************************************************************** @@ -196,15 +191,13 @@ void serial_mouse_device::set_mouse_enable(bool state) if(state && !m_enabled) { m_timer->adjust(attotime::zero, 0, attotime::from_hz(240)); - m_rbit = 1; - m_owner->out_rx(1); + output_rxd(1); } else if(!state && m_enabled) { m_timer->adjust(attotime::never); m_head = m_tail = 0; - m_rbit = 0; - m_owner->out_rx(0); + output_rxd(0); } m_enabled = state; diff --git a/src/mess/machine/ser_mouse.h b/src/emu/bus/rs232/ser_mouse.h index 4aaff2bdd6e..5ba86cca495 100644 --- a/src/mess/machine/ser_mouse.h +++ b/src/emu/bus/rs232/ser_mouse.h @@ -7,8 +7,7 @@ #ifndef SER_MOUSE_H_ #define SER_MOUSE_H_ -#include "emu.h" -#include "machine/serial.h" +#include "rs232.h" class serial_mouse_device : public device_t, @@ -37,7 +36,6 @@ private: UINT8 m_head, m_tail, m_mb; emu_timer *m_timer; - rs232_port_device *m_owner; bool m_enabled; required_ioport m_x; @@ -49,29 +47,38 @@ class microsoft_mouse_device : public serial_mouse_device { public: microsoft_mouse_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); - virtual void dtr_w(UINT8 state) { m_dtr = state; check_state(); } - virtual void rts_w(UINT8 state) { m_rts = state; check_state(); m_old_rts = state; } + virtual DECLARE_WRITE_LINE_MEMBER( input_dtr ) { m_dtr = state; check_state(); } + virtual DECLARE_WRITE_LINE_MEMBER( input_rts ) { m_rts = state; check_state(); m_old_rts = state; } + protected: virtual void set_frame() { set_data_frame(1, 7, PARITY_NONE, STOP_BITS_2); } virtual void mouse_trans(int dx, int dy, int nb, int mbc); virtual void device_reset() {m_old_rts = 0; serial_mouse_device::device_reset();} + private: void check_state(); - UINT8 m_old_rts; + int m_dtr; + int m_rts; + int m_old_rts; }; + extern const device_type MSFT_SERIAL_MOUSE; class mouse_systems_mouse_device : public serial_mouse_device { public: mouse_systems_mouse_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); - virtual void dtr_w(UINT8 state) { m_dtr = state; check_state(); } - virtual void rts_w(UINT8 state) { m_rts = state; check_state(); } + virtual DECLARE_WRITE_LINE_MEMBER( input_dtr ) { m_dtr = state; check_state(); } + virtual DECLARE_WRITE_LINE_MEMBER( input_rts ) { m_rts = state; check_state(); } + protected: virtual void set_frame() { set_data_frame(1, 8, PARITY_NONE, STOP_BITS_2); } virtual void mouse_trans(int dx, int dy, int nb, int mbc); + private: void check_state() { set_mouse_enable((m_dtr && m_rts)?true:false); } + int m_dtr; + int m_rts; }; extern const device_type MSYSTEM_SERIAL_MOUSE; diff --git a/src/emu/bus/rs232/terminal.c b/src/emu/bus/rs232/terminal.c new file mode 100644 index 00000000000..b2ba0692743 --- /dev/null +++ b/src/emu/bus/rs232/terminal.c @@ -0,0 +1,157 @@ +#include "terminal.h" + +static INPUT_PORTS_START(serial_terminal) + PORT_INCLUDE(generic_terminal) + PORT_START("TERM_TXBAUD") + PORT_CONFNAME(0xff, 0x06, "TX Baud") PORT_WRITE_LINE_DEVICE_MEMBER(DEVICE_SELF, serial_terminal_device, update_serial) + PORT_CONFSETTING( 0x0d, "110") + PORT_CONFSETTING( 0x00, "150") + PORT_CONFSETTING( 0x01, "300") + PORT_CONFSETTING( 0x02, "600") + PORT_CONFSETTING( 0x03, "1200") + PORT_CONFSETTING( 0x04, "2400") + PORT_CONFSETTING( 0x05, "4800") + PORT_CONFSETTING( 0x06, "9600") + PORT_CONFSETTING( 0x07, "14400") + PORT_CONFSETTING( 0x08, "19200") + PORT_CONFSETTING( 0x09, "28800") + PORT_CONFSETTING( 0x0a, "38400") + PORT_CONFSETTING( 0x0b, "57600") + PORT_CONFSETTING( 0x0c, "115200") + + PORT_START("TERM_RXBAUD") + PORT_CONFNAME(0xff, 0x06, "RX Baud") PORT_WRITE_LINE_DEVICE_MEMBER(DEVICE_SELF, serial_terminal_device, update_serial) + PORT_CONFSETTING( 0x0d, "110") + PORT_CONFSETTING( 0x00, "150") + PORT_CONFSETTING( 0x01, "300") + PORT_CONFSETTING( 0x02, "600") + PORT_CONFSETTING( 0x03, "1200") + PORT_CONFSETTING( 0x04, "2400") + PORT_CONFSETTING( 0x05, "4800") + PORT_CONFSETTING( 0x06, "9600") + PORT_CONFSETTING( 0x07, "14400") + PORT_CONFSETTING( 0x08, "19200") + PORT_CONFSETTING( 0x09, "28800") + PORT_CONFSETTING( 0x0a, "38400") + PORT_CONFSETTING( 0x0b, "57600") + PORT_CONFSETTING( 0x0c, "115200") + + PORT_START("TERM_STARTBITS") + PORT_CONFNAME(0xff, 0x01, "Start Bits") PORT_WRITE_LINE_DEVICE_MEMBER(DEVICE_SELF, serial_terminal_device, update_serial) + PORT_CONFSETTING( 0x00, "0") + PORT_CONFSETTING( 0x01, "1") + + PORT_START("TERM_DATABITS") + PORT_CONFNAME(0xff, 0x03, "Data Bits") PORT_WRITE_LINE_DEVICE_MEMBER(DEVICE_SELF, serial_terminal_device, update_serial) + PORT_CONFSETTING( 0x00, "5") + PORT_CONFSETTING( 0x01, "6") + PORT_CONFSETTING( 0x02, "7") + PORT_CONFSETTING( 0x03, "8") + PORT_CONFSETTING( 0x04, "9") + + PORT_START("TERM_PARITY") + PORT_CONFNAME(0xff, 0x00, "Parity") PORT_WRITE_LINE_DEVICE_MEMBER(DEVICE_SELF, serial_terminal_device, update_serial) + PORT_CONFSETTING( 0x00, "None") + PORT_CONFSETTING( 0x01, "Odd") + PORT_CONFSETTING( 0x02, "Even") + PORT_CONFSETTING( 0x03, "Mark") + PORT_CONFSETTING( 0x04, "Space") + + PORT_START("TERM_STOPBITS") + PORT_CONFNAME(0xff, 0x01, "Stop Bits") PORT_WRITE_LINE_DEVICE_MEMBER(DEVICE_SELF, serial_terminal_device, update_serial) + PORT_CONFSETTING( 0x00, "0") + PORT_CONFSETTING( 0x01, "1") + PORT_CONFSETTING( 0x02, "1.5") + PORT_CONFSETTING( 0x03, "2") +INPUT_PORTS_END + +ioport_constructor serial_terminal_device::device_input_ports() const +{ + return INPUT_PORTS_NAME(serial_terminal); +} + +serial_terminal_device::serial_terminal_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) + : generic_terminal_device(mconfig, SERIAL_TERMINAL, "Serial Terminal", tag, owner, clock, "serial_terminal", __FILE__), + device_serial_interface(mconfig, *this), + device_rs232_port_interface(mconfig, *this), + m_io_term_txbaud(*this, "TERM_TXBAUD"), + m_io_term_rxbaud(*this, "TERM_RXBAUD"), + m_io_term_startbits(*this, "TERM_STARTBITS"), + m_io_term_databits(*this, "TERM_DATABITS"), + m_io_term_parity(*this, "TERM_PARITY"), + m_io_term_stopbits(*this, "TERM_STOPBITS") +{ +} + +void serial_terminal_device::device_start() +{ +} + +WRITE_LINE_MEMBER(serial_terminal_device::update_serial) +{ + static const int m_baud[] = {150, 300, 600, 1200, 2400, 4800, 9600, 14400, 19200, 28800, 38400, 57600, 115200, 110}; + static const int m_startbits[] = {0, 1}; + static const int m_databits[] = {5, 6, 7, 8, 9}; + static const parity_t m_parity[] = {PARITY_NONE, PARITY_ODD, PARITY_EVEN, PARITY_MARK, PARITY_SPACE}; + static const stop_bits_t m_stopbits[] = {STOP_BITS_0, STOP_BITS_1, STOP_BITS_1_5, STOP_BITS_2}; + + UINT8 startbits = m_io_term_startbits->read(); + UINT8 databits = m_io_term_databits->read(); + UINT8 parity = m_io_term_parity->read(); + UINT8 stopbits = m_io_term_stopbits->read(); + + set_data_frame(m_startbits[startbits], m_databits[databits], m_parity[parity], m_stopbits[stopbits]); + + UINT8 txbaud = m_io_term_txbaud->read(); + set_tra_rate(m_baud[txbaud]); + + UINT8 rxbaud = m_io_term_rxbaud->read(); + set_rcv_rate(m_baud[rxbaud]); +} + +void serial_terminal_device::device_reset() +{ + generic_terminal_device::device_reset(); + + output_rxd(1); + + update_serial(0); +} + +void serial_terminal_device::device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) +{ + device_serial_interface::device_timer(timer, id, param, ptr); +} + +void serial_terminal_device::send_key(UINT8 code) +{ + if(is_transmit_register_empty()) + { + transmit_register_setup(code); + return; + } + m_key_valid = true; + m_curr_key = code; +} + +void serial_terminal_device::tra_callback() +{ + output_rxd(transmit_register_get_data_bit()); +} + +void serial_terminal_device::tra_complete() +{ + if(m_key_valid) + { + transmit_register_setup(m_curr_key); + m_key_valid = false; + } +} + +void serial_terminal_device::rcv_complete() +{ + receive_register_extract(); + term_write(get_received_char()); +} + +const device_type SERIAL_TERMINAL = &device_creator<serial_terminal_device>; diff --git a/src/emu/bus/rs232/terminal.h b/src/emu/bus/rs232/terminal.h new file mode 100644 index 00000000000..ec382457dc7 --- /dev/null +++ b/src/emu/bus/rs232/terminal.h @@ -0,0 +1,45 @@ +#ifndef __RS232_TERMINAL_H__ +#define __RS232_TERMINAL_H__ + +#include "rs232.h" +#include "machine/terminal.h" + + +class serial_terminal_device : public generic_terminal_device, + public device_serial_interface, + public device_rs232_port_interface +{ +public: + serial_terminal_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); + + virtual DECLARE_WRITE_LINE_MEMBER( input_txd ) { device_serial_interface::rx_w(state); } + + DECLARE_WRITE_LINE_MEMBER(update_serial); + +protected: + virtual void device_start(); + virtual void device_reset(); + virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr); + virtual ioport_constructor device_input_ports() const; + + virtual void tra_callback(); + virtual void tra_complete(); + virtual void rcv_complete(); + virtual void input_callback(UINT8 state) { m_input_state = state; } + virtual void send_key(UINT8 code); + +private: + required_ioport m_io_term_txbaud; + required_ioport m_io_term_rxbaud; + required_ioport m_io_term_startbits; + required_ioport m_io_term_databits; + required_ioport m_io_term_parity; + required_ioport m_io_term_stopbits; + + UINT8 m_curr_key; + bool m_key_valid; +}; + +extern const device_type SERIAL_TERMINAL; + +#endif /* __RS232_TERMINAL_H__ */ diff --git a/src/emu/bus/s100/wunderbus.c b/src/emu/bus/s100/wunderbus.c index e28f87fbbed..7f0f0e4ed2f 100644 --- a/src/emu/bus/s100/wunderbus.c +++ b/src/emu/bus/s100/wunderbus.c @@ -10,6 +10,7 @@ **********************************************************************/ #include "wunderbus.h" +#include "bus/rs232/rs232.h" @@ -66,9 +67,9 @@ WRITE_LINE_MEMBER( s100_wunderbus_device::pic_int_w ) static ins8250_interface ace1_intf = { - DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, serial_port_device, tx), - DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, dtr_w), - DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, rts_w), + DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, write_txd), + DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, write_dtr), + DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, write_rts), DEVCB_DEVICE_LINE_MEMBER(I8259A_TAG, pic8259_device, ir3_w), DEVCB_NULL, DEVCB_NULL @@ -81,9 +82,9 @@ static ins8250_interface ace1_intf = static ins8250_interface ace2_intf = { - DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, serial_port_device, tx), - DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, rs232_port_device, dtr_w), - DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, rs232_port_device, rts_w), + DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, rs232_port_device, write_txd), + DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, rs232_port_device, write_dtr), + DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, rs232_port_device, write_rts), DEVCB_DEVICE_LINE_MEMBER(I8259A_TAG, pic8259_device, ir4_w), DEVCB_NULL, DEVCB_NULL @@ -96,9 +97,9 @@ static ins8250_interface ace2_intf = static ins8250_interface ace3_intf = { - DEVCB_DEVICE_LINE_MEMBER(RS232_C_TAG, serial_port_device, tx), - DEVCB_DEVICE_LINE_MEMBER(RS232_C_TAG, rs232_port_device, dtr_w), - DEVCB_DEVICE_LINE_MEMBER(RS232_C_TAG, rs232_port_device, rts_w), + DEVCB_DEVICE_LINE_MEMBER(RS232_C_TAG, rs232_port_device, write_txd), + DEVCB_DEVICE_LINE_MEMBER(RS232_C_TAG, rs232_port_device, write_dtr), + DEVCB_DEVICE_LINE_MEMBER(RS232_C_TAG, rs232_port_device, write_rts), DEVCB_DEVICE_LINE_MEMBER(I8259A_TAG, pic8259_device, ir5_w), DEVCB_NULL, DEVCB_NULL @@ -140,26 +141,26 @@ static MACHINE_CONFIG_FRAGMENT( s100_wunderbus ) MCFG_INS8250_ADD(INS8250_3_TAG, ace3_intf, XTAL_18_432MHz/10) MCFG_RS232_PORT_ADD(RS232_A_TAG, default_rs232_devices, "serial_terminal") - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(INS8250_1_TAG, ins8250_uart_device, rx_w)) - MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE(INS8250_1_TAG, ins8250_uart_device, dcd_w)) - MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE(INS8250_1_TAG, ins8250_uart_device, dsr_w)) - MCFG_RS232_OUT_RI_HANDLER(DEVWRITELINE(INS8250_1_TAG, ins8250_uart_device, ri_w)) - MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE(INS8250_1_TAG, ins8250_uart_device, cts_w)) + MCFG_RS232_RXD_HANDLER(DEVWRITELINE(INS8250_1_TAG, ins8250_uart_device, rx_w)) + MCFG_RS232_DCD_HANDLER(DEVWRITELINE(INS8250_1_TAG, ins8250_uart_device, dcd_w)) + MCFG_RS232_DSR_HANDLER(DEVWRITELINE(INS8250_1_TAG, ins8250_uart_device, dsr_w)) + MCFG_RS232_RI_HANDLER(DEVWRITELINE(INS8250_1_TAG, ins8250_uart_device, ri_w)) + MCFG_RS232_CTS_HANDLER(DEVWRITELINE(INS8250_1_TAG, ins8250_uart_device, cts_w)) MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("serial_terminal", terminal) MCFG_RS232_PORT_ADD(RS232_B_TAG, default_rs232_devices, NULL) - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(INS8250_2_TAG, ins8250_uart_device, rx_w)) - MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE(INS8250_2_TAG, ins8250_uart_device, dcd_w)) - MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE(INS8250_2_TAG, ins8250_uart_device, dsr_w)) - MCFG_RS232_OUT_RI_HANDLER(DEVWRITELINE(INS8250_2_TAG, ins8250_uart_device, ri_w)) - MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE(INS8250_2_TAG, ins8250_uart_device, cts_w)) + MCFG_RS232_RXD_HANDLER(DEVWRITELINE(INS8250_2_TAG, ins8250_uart_device, rx_w)) + MCFG_RS232_DCD_HANDLER(DEVWRITELINE(INS8250_2_TAG, ins8250_uart_device, dcd_w)) + MCFG_RS232_DSR_HANDLER(DEVWRITELINE(INS8250_2_TAG, ins8250_uart_device, dsr_w)) + MCFG_RS232_RI_HANDLER(DEVWRITELINE(INS8250_2_TAG, ins8250_uart_device, ri_w)) + MCFG_RS232_CTS_HANDLER(DEVWRITELINE(INS8250_2_TAG, ins8250_uart_device, cts_w)) MCFG_RS232_PORT_ADD(RS232_C_TAG, default_rs232_devices, NULL) - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(INS8250_3_TAG, ins8250_uart_device, rx_w)) - MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE(INS8250_3_TAG, ins8250_uart_device, dcd_w)) - MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE(INS8250_3_TAG, ins8250_uart_device, dsr_w)) - MCFG_RS232_OUT_RI_HANDLER(DEVWRITELINE(INS8250_3_TAG, ins8250_uart_device, ri_w)) - MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE(INS8250_3_TAG, ins8250_uart_device, cts_w)) + MCFG_RS232_RXD_HANDLER(DEVWRITELINE(INS8250_3_TAG, ins8250_uart_device, rx_w)) + MCFG_RS232_DCD_HANDLER(DEVWRITELINE(INS8250_3_TAG, ins8250_uart_device, dcd_w)) + MCFG_RS232_DSR_HANDLER(DEVWRITELINE(INS8250_3_TAG, ins8250_uart_device, dsr_w)) + MCFG_RS232_RI_HANDLER(DEVWRITELINE(INS8250_3_TAG, ins8250_uart_device, ri_w)) + MCFG_RS232_CTS_HANDLER(DEVWRITELINE(INS8250_3_TAG, ins8250_uart_device, cts_w)) MCFG_UPD1990A_ADD(UPD1990C_TAG, XTAL_32_768kHz, NULL, DEVWRITELINE(DEVICE_SELF, s100_wunderbus_device, rtc_tp_w)) MACHINE_CONFIG_END diff --git a/src/emu/bus/s100/wunderbus.h b/src/emu/bus/s100/wunderbus.h index bb8adcc25bc..2ce59c881b8 100644 --- a/src/emu/bus/s100/wunderbus.h +++ b/src/emu/bus/s100/wunderbus.h @@ -14,11 +14,9 @@ #ifndef __S100_WUNDERBUS__ #define __S100_WUNDERBUS__ -#include "emu.h" #include "s100.h" #include "machine/ins8250.h" #include "machine/pic8259.h" -#include "machine/serial.h" #include "machine/upd1990a.h" diff --git a/src/emu/bus/vic20/vic1011.c b/src/emu/bus/vic20/vic1011.c index e076bd3652a..5e86be9d81c 100644 --- a/src/emu/bus/vic20/vic1011.c +++ b/src/emu/bus/vic20/vic1011.c @@ -34,10 +34,10 @@ const device_type VIC1011 = &device_creator<vic1011_device>; static MACHINE_CONFIG_FRAGMENT( vic1011 ) MCFG_RS232_PORT_ADD(RS232_TAG, default_rs232_devices, NULL) - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(DEVICE_SELF, vic1011_device, output_rxd)) - MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE(DEVICE_SELF, vic1011_device, output_h)) - MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE(DEVICE_SELF, vic1011_device, output_k)) - MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE(DEVICE_SELF, vic1011_device, output_l)) + MCFG_RS232_RXD_HANDLER(DEVWRITELINE(DEVICE_SELF, vic1011_device, output_rxd)) + MCFG_RS232_DCD_HANDLER(DEVWRITELINE(DEVICE_SELF, vic1011_device, output_h)) + MCFG_RS232_CTS_HANDLER(DEVWRITELINE(DEVICE_SELF, vic1011_device, output_k)) + MCFG_RS232_DSR_HANDLER(DEVWRITELINE(DEVICE_SELF, vic1011_device, output_l)) MACHINE_CONFIG_END @@ -85,12 +85,12 @@ WRITE_LINE_MEMBER( vic1011_device::output_rxd ) void vic1011_device::input_d(int state) { - m_rs232->rts_w(state); + m_rs232->write_rts(state); } void vic1011_device::input_e(int state) { - m_rs232->dtr_w(state); + m_rs232->write_dtr(state); } void vic1011_device::input_j(int state) @@ -100,5 +100,5 @@ void vic1011_device::input_j(int state) void vic1011_device::input_m(int state) { - m_rs232->tx(!state); + m_rs232->write_txd(!state); } diff --git a/src/emu/bus/vic20/vic1011.h b/src/emu/bus/vic20/vic1011.h index 90e149560d9..10c2963b75d 100644 --- a/src/emu/bus/vic20/vic1011.h +++ b/src/emu/bus/vic20/vic1011.h @@ -14,9 +14,8 @@ #ifndef __VIC1011__ #define __VIC1011__ -#include "emu.h" #include "user.h" -#include "machine/serial.h" +#include "bus/rs232/rs232.h" diff --git a/src/emu/emu.mak b/src/emu/emu.mak index cbaeb86772d..8b2abe052b3 100644 --- a/src/emu/emu.mak +++ b/src/emu/emu.mak @@ -35,6 +35,7 @@ OBJDIRS += \ $(EMUOBJ)/bus/c64 \ $(EMUOBJ)/bus/cbm2 \ $(EMUOBJ)/bus/cbmiec \ + $(EMUOBJ)/bus/centronics \ $(EMUOBJ)/bus/comx35 \ $(EMUOBJ)/bus/ecbbus \ $(EMUOBJ)/bus/econet \ @@ -42,9 +43,11 @@ OBJDIRS += \ $(EMUOBJ)/bus/ieee488 \ $(EMUOBJ)/bus/imi7000 \ $(EMUOBJ)/bus/isbx \ + $(EMUOBJ)/bus/midi \ $(EMUOBJ)/bus/pc_kbd \ $(EMUOBJ)/bus/pet \ $(EMUOBJ)/bus/plus4 \ + $(EMUOBJ)/bus/rs232 \ $(EMUOBJ)/bus/s100 \ $(EMUOBJ)/bus/vcs \ $(EMUOBJ)/bus/vic10 \ @@ -54,7 +57,6 @@ OBJDIRS += \ $(EMUOBJ)/bus/wangpc \ $(EMUOBJ)/bus/a2bus \ $(EMUOBJ)/bus/nubus \ - $(EMUOBJ)/bus/centronics \ $(EMUOBJ)/bus/iq151 \ $(EMUOBJ)/bus/kc \ $(EMUOBJ)/bus/tvc \ @@ -190,12 +192,14 @@ EMUDRIVEROBJS = \ EMUMACHINEOBJS = \ $(EMUMACHINE)/bcreader.o \ $(EMUMACHINE)/buffer.o \ - $(EMUMACHINE)/latch.o \ $(EMUMACHINE)/generic.o \ - $(EMUMACHINE)/ram.o \ - $(EMUMACHINE)/nvram.o \ + $(EMUMACHINE)/keyboard.o \ $(EMUMACHINE)/laserdsc.o \ + $(EMUMACHINE)/latch.o \ $(EMUMACHINE)/netlist.o \ + $(EMUMACHINE)/nvram.o \ + $(EMUMACHINE)/ram.o \ + $(EMUMACHINE)/terminal.o \ EMUIMAGEDEVOBJS = \ $(EMUIMAGEDEV)/bitbngr.o \ diff --git a/src/mess/machine/keyboard.c b/src/emu/machine/keyboard.c index d96c746b360..84ba2e74129 100644 --- a/src/mess/machine/keyboard.c +++ b/src/emu/machine/keyboard.c @@ -1,9 +1,6 @@ /*************************************************************************** Generic ASCII Keyboard -Use MCFG_SERIAL_KEYBOARD_ADD to attach this as a serial device to a terminal -or computer. - Use MCFG_ASCII_KEYBOARD_ADD to attach as a generic ascii input device in cases where either the driver isn't developed enough yet; or for testing; or for the case of a computer with an inbuilt (not serial) ascii keyboard. @@ -35,30 +32,30 @@ static ASCII_KEYBOARD_INTERFACE( keyboard_intf ) generic_keyboard_device::generic_keyboard_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock, const char *shortname, const char *source) - : device_t(mconfig, type, name, tag, owner, clock, shortname, source) - , m_io_kbd0(*this, "TERM_LINE0") - , m_io_kbd1(*this, "TERM_LINE1") - , m_io_kbd2(*this, "TERM_LINE2") - , m_io_kbd3(*this, "TERM_LINE3") - , m_io_kbd4(*this, "TERM_LINE4") - , m_io_kbd5(*this, "TERM_LINE5") - , m_io_kbd6(*this, "TERM_LINE6") - , m_io_kbd7(*this, "TERM_LINE7") - , m_io_kbdc(*this, "TERM_LINEC") + : device_t(mconfig, type, name, tag, owner, clock, shortname, source), + m_io_kbd0(*this, "TERM_LINE0"), + m_io_kbd1(*this, "TERM_LINE1"), + m_io_kbd2(*this, "TERM_LINE2"), + m_io_kbd3(*this, "TERM_LINE3"), + m_io_kbd4(*this, "TERM_LINE4"), + m_io_kbd5(*this, "TERM_LINE5"), + m_io_kbd6(*this, "TERM_LINE6"), + m_io_kbd7(*this, "TERM_LINE7"), + m_io_kbdc(*this, "TERM_LINEC") { } generic_keyboard_device::generic_keyboard_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) - : device_t(mconfig, GENERIC_KEYBOARD, "Generic Keyboard", tag, owner, clock, "generic_keyboard", __FILE__) - , m_io_kbd0(*this, "TERM_LINE0") - , m_io_kbd1(*this, "TERM_LINE1") - , m_io_kbd2(*this, "TERM_LINE2") - , m_io_kbd3(*this, "TERM_LINE3") - , m_io_kbd4(*this, "TERM_LINE4") - , m_io_kbd5(*this, "TERM_LINE5") - , m_io_kbd6(*this, "TERM_LINE6") - , m_io_kbd7(*this, "TERM_LINE7") - , m_io_kbdc(*this, "TERM_LINEC") + : device_t(mconfig, GENERIC_KEYBOARD, "Generic Keyboard", tag, owner, clock, "generic_keyboard", __FILE__), + m_io_kbd0(*this, "TERM_LINE0"), + m_io_kbd1(*this, "TERM_LINE1"), + m_io_kbd2(*this, "TERM_LINE2"), + m_io_kbd3(*this, "TERM_LINE3"), + m_io_kbd4(*this, "TERM_LINE4"), + m_io_kbd5(*this, "TERM_LINE5"), + m_io_kbd6(*this, "TERM_LINE6"), + m_io_kbd7(*this, "TERM_LINE7"), + m_io_kbdc(*this, "TERM_LINEC") { } @@ -207,7 +204,7 @@ MACHINE_CONFIG_END machine_config_constructor generic_keyboard_device::device_mconfig_additions() const { - return MACHINE_CONFIG_NAME(generic_keyboard); + return MACHINE_CONFIG_NAME(generic_keyboard); } void generic_keyboard_device::device_start() @@ -273,7 +270,7 @@ Char Dec Oct Hex | Char Dec Oct Hex | Char Dec Oct Hex | Char Dec Oct (us) 31 0037 0x1f | ? 63 0077 0x3f | _ 95 0137 0x5f | (del) 127 0177 0x7f */ -static INPUT_PORTS_START( generic_keyboard ) +INPUT_PORTS_START( generic_keyboard ) PORT_START("TERM_LINEC") PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("Ctrl") PORT_CODE(KEYCODE_LCONTROL) PORT_CODE(KEYCODE_RCONTROL) PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("Shift") PORT_CODE(KEYCODE_LSHIFT) PORT_CODE(KEYCODE_RSHIFT) PORT_CHAR(UCHAR_SHIFT_1) @@ -365,155 +362,3 @@ ioport_constructor generic_keyboard_device::device_input_ports() const } const device_type GENERIC_KEYBOARD = &device_creator<generic_keyboard_device>; - -static INPUT_PORTS_START(serial_keyboard) - PORT_INCLUDE(generic_keyboard) - PORT_START("TERM_FRAME") - PORT_CONFNAME(0x0f, 0x06, "Baud") PORT_CHANGED_MEMBER(DEVICE_SELF, serial_keyboard_device, update_frame, 0) - PORT_CONFSETTING( 0x0d, "110") - PORT_CONFSETTING( 0x00, "150") - PORT_CONFSETTING( 0x01, "300") - PORT_CONFSETTING( 0x02, "600") - PORT_CONFSETTING( 0x03, "1200") - PORT_CONFSETTING( 0x04, "2400") - PORT_CONFSETTING( 0x05, "4800") - PORT_CONFSETTING( 0x06, "9600") - PORT_CONFSETTING( 0x07, "14400") - PORT_CONFSETTING( 0x08, "19200") - PORT_CONFSETTING( 0x09, "28800") - PORT_CONFSETTING( 0x0a, "38400") - PORT_CONFSETTING( 0x0b, "57600") - PORT_CONFSETTING( 0x0c, "115200") - PORT_CONFNAME(0x30, 0x00, "Format") PORT_CHANGED_MEMBER(DEVICE_SELF, serial_keyboard_device, update_frame, 0) - PORT_CONFSETTING( 0x00, "8N1") - PORT_CONFSETTING( 0x10, "7E1") - PORT_CONFSETTING( 0x20, "8N2") - PORT_CONFSETTING( 0x30, "8E1") -INPUT_PORTS_END - -ioport_constructor serial_keyboard_device::device_input_ports() const -{ - return INPUT_PORTS_NAME(serial_keyboard); -} - -serial_keyboard_device::serial_keyboard_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) - : generic_keyboard_device(mconfig, SERIAL_KEYBOARD, "Serial Keyboard", tag, owner, clock, "serial_keyboard", __FILE__), - device_serial_interface(mconfig, *this), - device_serial_port_interface(mconfig, *this), - m_io_term_frame(*this, "TERM_FRAME") -{ -} - -serial_keyboard_device::serial_keyboard_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock, const char *shortname, const char *source) - : generic_keyboard_device(mconfig, type, name, tag, owner, clock, shortname, source), - device_serial_interface(mconfig, *this), - device_serial_port_interface(mconfig, *this), - m_io_term_frame(*this, "TERM_FRAME") -{ -} - -void serial_keyboard_device::device_config_complete() -{ - const serial_keyboard_interface *intf = reinterpret_cast<const serial_keyboard_interface *>(static_config()); - if(intf != NULL) - { - *static_cast<serial_keyboard_interface *>(this) = *intf; - } - else - { - memset(&m_out_tx_cb, 0, sizeof(m_out_tx_cb)); - } -} - -static int rates[] = {150, 300, 600, 1200, 2400, 4800, 9600, 14400, 19200, 28800, 38400, 57600, 115200, 110}; - -void serial_keyboard_device::device_start() -{ - int baud = clock(); - if(!baud) baud = 9600; - m_owner = dynamic_cast<serial_port_device *>(owner()); - m_out_tx_func.resolve(m_out_tx_cb, *this); - m_slot = m_owner && 1; - m_timer = timer_alloc(); - set_data_frame(1, 8, PARITY_NONE, STOP_BITS_1); - set_tra_rate(baud); -} - -INPUT_CHANGED_MEMBER(serial_keyboard_device::update_frame) -{ - reset(); -} - -void serial_keyboard_device::device_reset() -{ - generic_keyboard_device::device_reset(); - m_rbit = 1; - if(m_slot) - m_owner->out_rx(m_rbit); - else - m_out_tx_func(m_rbit); - - UINT8 val = m_io_term_frame->read(); - set_tra_rate(rates[val & 0x0f]); - - switch(val & 0x30) - { - case 0x10: - set_data_frame(1, 7, PARITY_EVEN, STOP_BITS_1); - break; - case 0x00: - default: - set_data_frame(1, 8, PARITY_NONE, STOP_BITS_1); - break; - case 0x20: - set_data_frame(1, 8, PARITY_NONE, STOP_BITS_2); - break; - case 0x30: - set_data_frame(1, 8, PARITY_EVEN, STOP_BITS_1); - break; - } -} - -void serial_keyboard_device::device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) -{ - if (id) - device_serial_interface::device_timer(timer, id, param, ptr); - else - generic_keyboard_device::device_timer(timer, id, param, ptr); -} - -void serial_keyboard_device::send_key(UINT8 code) -{ - if(is_transmit_register_empty()) - { - transmit_register_setup(code); - return; - } - m_key_valid = true; - m_curr_key = code; -} - -void serial_keyboard_device::tra_callback() -{ - m_rbit = transmit_register_get_data_bit(); - if(m_slot) - m_owner->out_rx(m_rbit); - else - m_out_tx_func(m_rbit); -} - -void serial_keyboard_device::tra_complete() -{ - if(m_key_valid) - { - transmit_register_setup(m_curr_key); - m_key_valid = false; - } -} - -READ_LINE_MEMBER(serial_keyboard_device::tx_r) -{ - return m_rbit; -} - -const device_type SERIAL_KEYBOARD = &device_creator<serial_keyboard_device>; diff --git a/src/mess/machine/keyboard.h b/src/emu/machine/keyboard.h index f752f63f2fc..bb03845f8ef 100644 --- a/src/mess/machine/keyboard.h +++ b/src/emu/machine/keyboard.h @@ -2,7 +2,6 @@ #define __KEYBOARD_H__ #include "emu.h" -#include "machine/serial.h" /*************************************************************************** TYPE DEFINITIONS @@ -15,28 +14,20 @@ struct keyboard_interface #define ASCII_KEYBOARD_INTERFACE(name) const keyboard_interface (name) = -struct serial_keyboard_interface -{ - devcb_write_line m_out_tx_cb; -}; - /*************************************************************************** DEVICE CONFIGURATION MACROS ***************************************************************************/ -#define KEYBOARD_TAG "keyboard" #define MCFG_ASCII_KEYBOARD_ADD(_tag, _intrf) \ MCFG_DEVICE_ADD(_tag, GENERIC_KEYBOARD, 0) \ MCFG_DEVICE_CONFIG(_intrf) -#define MCFG_SERIAL_KEYBOARD_ADD(_tag, _intrf, _clock) \ - MCFG_DEVICE_ADD(_tag, SERIAL_KEYBOARD, _clock) \ - MCFG_DEVICE_CONFIG(_intrf) - /*************************************************************************** FUNCTION PROTOTYPES ***************************************************************************/ +INPUT_PORTS_EXTERN( generic_keyboard ); + class generic_keyboard_device : public device_t, public keyboard_interface @@ -75,39 +66,4 @@ private: extern const device_type GENERIC_KEYBOARD; -class serial_keyboard_device : - public generic_keyboard_device, - public device_serial_interface, - public device_serial_port_interface, - public serial_keyboard_interface -{ -public: - serial_keyboard_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); - serial_keyboard_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock, const char *shortname, const char *source); - - DECLARE_WRITE_LINE_MEMBER(rx_w) { m_tbit = state; device_serial_interface::rx_w(state); } - DECLARE_READ_LINE_MEMBER(tx_r); - virtual ioport_constructor device_input_ports() const; - - DECLARE_INPUT_CHANGED_MEMBER(update_frame); -protected: - virtual void device_start(); - virtual void device_config_complete(); - virtual void device_reset(); - virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr); - virtual void tra_callback(); - virtual void tra_complete(); - virtual void input_callback(UINT8 state) { m_input_state = state; } - virtual void send_key(UINT8 code); -private: - serial_port_device *m_owner; - bool m_slot; - UINT8 m_curr_key; - bool m_key_valid; - devcb_resolved_write_line m_out_tx_func; - required_ioport m_io_term_frame; -}; - -extern const device_type SERIAL_KEYBOARD; - #endif /* __KEYBOARD_H__ */ diff --git a/src/mess/machine/terminal.c b/src/emu/machine/terminal.c index c9a743a7d92..f9c091445e8 100644 --- a/src/mess/machine/terminal.c +++ b/src/emu/machine/terminal.c @@ -1,5 +1,7 @@ #include "machine/terminal.h" +#define KEYBOARD_TAG "keyboard" + /*************************************************************************** IMPLEMENTATION ***************************************************************************/ @@ -384,7 +386,7 @@ Char Dec Oct Hex | Char Dec Oct Hex | Char Dec Oct Hex | Char Dec Oct (us) 31 0037 0x1f | ? 63 0077 0x3f | _ 95 0137 0x5f | (del) 127 0177 0x7f */ -static INPUT_PORTS_START( generic_terminal ) +INPUT_PORTS_START( generic_terminal ) PORT_START("TERM_CONF") PORT_CONFNAME( 0x01, 0x01, "Cursor") PORT_CONFSETTING( 0x00, DEF_STR(No)) @@ -411,187 +413,3 @@ ioport_constructor generic_terminal_device::device_input_ports() const const device_type GENERIC_TERMINAL = &device_creator<generic_terminal_device>; -static INPUT_PORTS_START(serial_terminal) - PORT_INCLUDE(generic_terminal) - PORT_START("TERM_TXBAUD") - PORT_CONFNAME(0xff, 0x06, "TX Baud") PORT_WRITE_LINE_DEVICE_MEMBER(DEVICE_SELF, serial_terminal_device, update_serial) - PORT_CONFSETTING( 0x0d, "110") - PORT_CONFSETTING( 0x00, "150") - PORT_CONFSETTING( 0x01, "300") - PORT_CONFSETTING( 0x02, "600") - PORT_CONFSETTING( 0x03, "1200") - PORT_CONFSETTING( 0x04, "2400") - PORT_CONFSETTING( 0x05, "4800") - PORT_CONFSETTING( 0x06, "9600") - PORT_CONFSETTING( 0x07, "14400") - PORT_CONFSETTING( 0x08, "19200") - PORT_CONFSETTING( 0x09, "28800") - PORT_CONFSETTING( 0x0a, "38400") - PORT_CONFSETTING( 0x0b, "57600") - PORT_CONFSETTING( 0x0c, "115200") - - PORT_START("TERM_RXBAUD") - PORT_CONFNAME(0xff, 0x06, "RX Baud") PORT_WRITE_LINE_DEVICE_MEMBER(DEVICE_SELF, serial_terminal_device, update_serial) - PORT_CONFSETTING( 0x0d, "110") - PORT_CONFSETTING( 0x00, "150") - PORT_CONFSETTING( 0x01, "300") - PORT_CONFSETTING( 0x02, "600") - PORT_CONFSETTING( 0x03, "1200") - PORT_CONFSETTING( 0x04, "2400") - PORT_CONFSETTING( 0x05, "4800") - PORT_CONFSETTING( 0x06, "9600") - PORT_CONFSETTING( 0x07, "14400") - PORT_CONFSETTING( 0x08, "19200") - PORT_CONFSETTING( 0x09, "28800") - PORT_CONFSETTING( 0x0a, "38400") - PORT_CONFSETTING( 0x0b, "57600") - PORT_CONFSETTING( 0x0c, "115200") - - PORT_START("TERM_STARTBITS") - PORT_CONFNAME(0xff, 0x01, "Start Bits") PORT_WRITE_LINE_DEVICE_MEMBER(DEVICE_SELF, serial_terminal_device, update_serial) - PORT_CONFSETTING( 0x00, "0") - PORT_CONFSETTING( 0x01, "1") - - PORT_START("TERM_DATABITS") - PORT_CONFNAME(0xff, 0x03, "Data Bits") PORT_WRITE_LINE_DEVICE_MEMBER(DEVICE_SELF, serial_terminal_device, update_serial) - PORT_CONFSETTING( 0x00, "5") - PORT_CONFSETTING( 0x01, "6") - PORT_CONFSETTING( 0x02, "7") - PORT_CONFSETTING( 0x03, "8") - PORT_CONFSETTING( 0x04, "9") - - PORT_START("TERM_PARITY") - PORT_CONFNAME(0xff, 0x00, "Parity") PORT_WRITE_LINE_DEVICE_MEMBER(DEVICE_SELF, serial_terminal_device, update_serial) - PORT_CONFSETTING( 0x00, "None") - PORT_CONFSETTING( 0x01, "Odd") - PORT_CONFSETTING( 0x02, "Even") - PORT_CONFSETTING( 0x03, "Mark") - PORT_CONFSETTING( 0x04, "Space") - - PORT_START("TERM_STOPBITS") - PORT_CONFNAME(0xff, 0x01, "Stop Bits") PORT_WRITE_LINE_DEVICE_MEMBER(DEVICE_SELF, serial_terminal_device, update_serial) - PORT_CONFSETTING( 0x00, "0") - PORT_CONFSETTING( 0x01, "1") - PORT_CONFSETTING( 0x02, "1.5") - PORT_CONFSETTING( 0x03, "2") -INPUT_PORTS_END - -ioport_constructor serial_terminal_device::device_input_ports() const -{ - return INPUT_PORTS_NAME(serial_terminal); -} - -serial_terminal_device::serial_terminal_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) - : generic_terminal_device(mconfig, SERIAL_TERMINAL, "Serial Terminal", tag, owner, clock, "serial_terminal", __FILE__), - device_serial_interface(mconfig, *this), - device_serial_port_interface(mconfig, *this), - m_io_term_txbaud(*this, "TERM_TXBAUD"), - m_io_term_rxbaud(*this, "TERM_RXBAUD"), - m_io_term_startbits(*this, "TERM_STARTBITS"), - m_io_term_databits(*this, "TERM_DATABITS"), - m_io_term_parity(*this, "TERM_PARITY"), - m_io_term_stopbits(*this, "TERM_STOPBITS") -{ -} - -void serial_terminal_device::device_config_complete() -{ - const serial_terminal_interface *intf = reinterpret_cast<const serial_terminal_interface *>(static_config()); - if(intf != NULL) - { - *static_cast<serial_terminal_interface *>(this) = *intf; - } - else - { - memset(&m_out_tx_cb, 0, sizeof(m_out_tx_cb)); - } -} - -void serial_terminal_device::device_start() -{ - m_owner = dynamic_cast<serial_port_device *>(owner()); - m_out_tx_func.resolve(m_out_tx_cb, *this); - m_slot = m_owner && 1; -} - -WRITE_LINE_MEMBER(serial_terminal_device::update_serial) -{ - static const int m_baud[] = {150, 300, 600, 1200, 2400, 4800, 9600, 14400, 19200, 28800, 38400, 57600, 115200, 110}; - static const int m_startbits[] = {0, 1}; - static const int m_databits[] = {5, 6, 7, 8, 9}; - static const parity_t m_parity[] = {PARITY_NONE, PARITY_ODD, PARITY_EVEN, PARITY_MARK, PARITY_SPACE}; - static const stop_bits_t m_stopbits[] = {STOP_BITS_0, STOP_BITS_1, STOP_BITS_1_5, STOP_BITS_2}; - - UINT8 startbits = m_io_term_startbits->read(); - UINT8 databits = m_io_term_databits->read(); - UINT8 parity = m_io_term_parity->read(); - UINT8 stopbits = m_io_term_stopbits->read(); - - set_data_frame(m_startbits[startbits], m_databits[databits], m_parity[parity], m_stopbits[stopbits]); - - UINT8 txbaud = m_io_term_txbaud->read(); - set_tra_rate(m_baud[txbaud]); - - UINT8 rxbaud = m_io_term_rxbaud->read(); - set_rcv_rate(m_baud[rxbaud]); -} - -void serial_terminal_device::device_reset() -{ - generic_terminal_device::device_reset(); - - m_rbit = 1; - if(m_slot) - m_owner->out_rx(m_rbit); - else - m_out_tx_func(m_rbit); - - update_serial(0); -} - -void serial_terminal_device::device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) -{ - device_serial_interface::device_timer(timer, id, param, ptr); -} - -void serial_terminal_device::send_key(UINT8 code) -{ - if(is_transmit_register_empty()) - { - transmit_register_setup(code); - return; - } - m_key_valid = true; - m_curr_key = code; -} - -void serial_terminal_device::tra_callback() -{ - m_rbit = transmit_register_get_data_bit(); - if(m_slot) - m_owner->out_rx(m_rbit); - else - m_out_tx_func(m_rbit); -} - -void serial_terminal_device::tra_complete() -{ - if(m_key_valid) - { - transmit_register_setup(m_curr_key); - m_key_valid = false; - } -} - -void serial_terminal_device::rcv_complete() -{ - receive_register_extract(); - term_write(get_received_char()); -} - -READ_LINE_MEMBER(serial_terminal_device::tx_r) -{ - return m_rbit; -} - -const device_type SERIAL_TERMINAL = &device_creator<serial_terminal_device>; diff --git a/src/mess/machine/terminal.h b/src/emu/machine/terminal.h index 3b9ca41be67..59e91cfd7d6 100644 --- a/src/mess/machine/terminal.h +++ b/src/emu/machine/terminal.h @@ -1,10 +1,9 @@ #ifndef __TERMINAL_H__ #define __TERMINAL_H__ -#include "emu.h" -#include "machine/serial.h" #include "machine/keyboard.h" +#define TERMINAL_SCREEN_TAG "terminal_screen" /*************************************************************************** TYPE DEFINITIONS @@ -17,16 +16,9 @@ struct terminal_interface #define GENERIC_TERMINAL_INTERFACE(name) const terminal_interface (name) = -struct serial_terminal_interface -{ - devcb_write_line m_out_tx_cb; -}; - /*************************************************************************** DEVICE CONFIGURATION MACROS ***************************************************************************/ -#define TERMINAL_TAG "terminal" -#define TERMINAL_SCREEN_TAG "terminal_screen" #define MCFG_GENERIC_TERMINAL_ADD(_tag, _intrf) \ MCFG_DEVICE_ADD(_tag, GENERIC_TERMINAL, 0) \ @@ -35,10 +27,6 @@ struct serial_terminal_interface #define MCFG_GENERIC_TERMINAL_REMOVE(_tag) \ MCFG_DEVICE_REMOVE(_tag) -#define MCFG_SERIAL_TERMINAL_ADD(_tag, _intrf, _clock) \ - MCFG_DEVICE_ADD(_tag, SERIAL_TERMINAL, _clock) \ - MCFG_DEVICE_CONFIG(_intrf) - /*************************************************************************** FUNCTION PROTOTYPES ***************************************************************************/ @@ -46,6 +34,8 @@ struct serial_terminal_interface #define TERMINAL_WIDTH 80 #define TERMINAL_HEIGHT 24 +INPUT_PORTS_EXTERN( generic_terminal ); + class generic_terminal_device : public device_t, public terminal_interface @@ -82,48 +72,4 @@ private: extern const device_type GENERIC_TERMINAL; -class serial_terminal_device : - public generic_terminal_device, - public device_serial_interface, - public device_serial_port_interface, - public serial_terminal_interface -{ -public: - serial_terminal_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); - - DECLARE_WRITE_LINE_MEMBER(rx_w) { m_tbit = state; device_serial_interface::rx_w(state); } - DECLARE_READ_LINE_MEMBER(tx_r); - virtual void tx(UINT8 state) { rx_w(state); } - virtual ioport_constructor device_input_ports() const; - - DECLARE_WRITE_LINE_MEMBER(update_serial); - -protected: - virtual void device_start(); - virtual void device_config_complete(); - virtual void device_reset(); - virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr); - virtual void tra_callback(); - virtual void tra_complete(); - virtual void rcv_complete(); - virtual void input_callback(UINT8 state) { m_input_state = state; } - virtual void send_key(UINT8 code); - -private: - required_ioport m_io_term_txbaud; - required_ioport m_io_term_rxbaud; - required_ioport m_io_term_startbits; - required_ioport m_io_term_databits; - required_ioport m_io_term_parity; - required_ioport m_io_term_stopbits; - - serial_port_device *m_owner; - bool m_slot; - UINT8 m_curr_key; - bool m_key_valid; - devcb_resolved_write_line m_out_tx_func; -}; - -extern const device_type SERIAL_TERMINAL; - #endif /* __TERMINAL_H__ */ diff --git a/src/mess/drivers/68ksbc.c b/src/mess/drivers/68ksbc.c index f9a17899cde..13081d40b0e 100644 --- a/src/mess/drivers/68ksbc.c +++ b/src/mess/drivers/68ksbc.c @@ -26,10 +26,9 @@ ****************************************************************************/ -#include "emu.h" +#include "bus/rs232/rs232.h" #include "cpu/m68000/m68000.h" #include "machine/6850acia.h" -#include "machine/serial.h" class c68ksbc_state : public driver_device @@ -38,7 +37,8 @@ public: c68ksbc_state(const machine_config &mconfig, device_type type, const char *tag) : driver_device(mconfig, type, tag), m_maincpu(*this, "maincpu") - { } + { + } required_device<cpu_device> m_maincpu; virtual void machine_reset(); @@ -66,8 +66,8 @@ static ACIA6850_INTERFACE( acia_intf ) { 153600, 153600, - DEVCB_DEVICE_LINE_MEMBER("rs232", serial_port_device, tx), - DEVCB_DEVICE_LINE_MEMBER("rs232", rs232_port_device, rts_w), + DEVCB_DEVICE_LINE_MEMBER("rs232", rs232_port_device, write_txd), + DEVCB_DEVICE_LINE_MEMBER("rs232", rs232_port_device, write_rts), DEVCB_NULL }; @@ -79,8 +79,8 @@ static MACHINE_CONFIG_START( c68ksbc, c68ksbc_state ) MCFG_ACIA6850_ADD("acia", acia_intf) MCFG_RS232_PORT_ADD("rs232", default_rs232_devices, "serial_terminal") - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE("acia", acia6850_device, write_rx)) - MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE("acia", acia6850_device, write_cts)) + MCFG_RS232_RXD_HANDLER(DEVWRITELINE("acia", acia6850_device, write_rx)) + MCFG_RS232_CTS_HANDLER(DEVWRITELINE("acia", acia6850_device, write_cts)) MACHINE_CONFIG_END /* ROM definition */ diff --git a/src/mess/drivers/abc1600.c b/src/mess/drivers/abc1600.c index b183e12d933..590779b7637 100644 --- a/src/mess/drivers/abc1600.c +++ b/src/mess/drivers/abc1600.c @@ -616,9 +616,9 @@ static Z80DART_INTERFACE( dart_intf ) { 0, 0, 0, 0, - DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, serial_port_device, tx), - DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, rs232_port_device, dtr_w), - DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, rs232_port_device, rts_w), + DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, rs232_port_device, write_txd), + DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, rs232_port_device, write_dtr), + DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, rs232_port_device, write_rts), DEVCB_NULL, DEVCB_NULL, @@ -958,7 +958,7 @@ static MACHINE_CONFIG_START( abc1600, abc1600_state ) MCFG_RS232_PORT_ADD(RS232_A_TAG, default_rs232_devices, NULL) MCFG_RS232_PORT_ADD(RS232_B_TAG, default_rs232_devices, NULL) - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(Z8470AB1_TAG, z80dart_device, rxa_w)) + MCFG_RS232_RXD_HANDLER(DEVWRITELINE(Z8470AB1_TAG, z80dart_device, rxa_w)) MCFG_ABC_KEYBOARD_PORT_ADD(ABC_KEYBOARD_PORT_TAG, "abc99") MCFG_ABC_KEYBOARD_OUT_RX_HANDLER(DEVWRITELINE(Z8470AB1_TAG, z80dart_device, rxb_w)) diff --git a/src/mess/drivers/abc80.c b/src/mess/drivers/abc80.c index 2c8914ae597..cd334ca90c2 100644 --- a/src/mess/drivers/abc80.c +++ b/src/mess/drivers/abc80.c @@ -79,7 +79,7 @@ Notes: #include "includes/abc80.h" - +#define KEYBOARD_TAG "keyboard" //************************************************************************** // MACROS / CONSTANTS @@ -322,7 +322,7 @@ READ8_MEMBER( abc80_state::pio_pb_r ) UINT8 data = 0; // receive data - data |= m_rs232->rx(); + data |= m_rs232->rxd_r(); // clear to send data |= m_rs232->cts_r() << 1; @@ -356,10 +356,10 @@ WRITE8_MEMBER( abc80_state::pio_pb_w ) */ // transmit data - m_rs232->tx(BIT(data, 3)); + m_rs232->write_txd(BIT(data, 3)); // request to send - m_rs232->rts_w(BIT(data, 4)); + m_rs232->write_rts(BIT(data, 4)); // cassette motor if (BIT(data, 5)) diff --git a/src/mess/drivers/abc80x.c b/src/mess/drivers/abc80x.c index a215b3f5d89..0012c8ab728 100644 --- a/src/mess/drivers/abc80x.c +++ b/src/mess/drivers/abc80x.c @@ -737,9 +737,9 @@ static Z80SIO_INTERFACE( sio_intf ) { 0, 0, 0, 0, - DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, serial_port_device, tx), - DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, rs232_port_device, dtr_w), - DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, rs232_port_device, rts_w), + DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, rs232_port_device, write_txd), + DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, rs232_port_device, write_dtr), + DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, rs232_port_device, write_rts), DEVCB_NULL, DEVCB_NULL, @@ -765,9 +765,9 @@ static Z80DART_INTERFACE( abc800_dart_intf ) { 0, 0, 0, 0, - DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, serial_port_device, tx), - DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, dtr_w), - DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, rts_w), + DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, write_txd), + DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, write_dtr), + DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, write_rts), DEVCB_NULL, DEVCB_NULL, @@ -805,9 +805,9 @@ static Z80DART_INTERFACE( abc802_dart_intf ) { 0, 0, 0, 0, - DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, serial_port_device, tx), - DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, dtr_w), - DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, rts_w), + DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, write_txd), + DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, write_dtr), + DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, write_rts), DEVCB_NULL, DEVCB_NULL, @@ -840,9 +840,9 @@ static Z80DART_INTERFACE( abc806_dart_intf ) { 0, 0, 0, 0, - DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, serial_port_device, tx), - DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, dtr_w), - DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, rts_w), + DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, write_txd), + DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, write_dtr), + DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, write_rts), DEVCB_NULL, DEVCB_NULL, @@ -1142,14 +1142,14 @@ static MACHINE_CONFIG_START( abc800c, abc800c_state ) MCFG_CASSETTE_ADD("cassette", cass_intf) MCFG_RS232_PORT_ADD(RS232_A_TAG, default_rs232_devices, NULL) - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(Z80DART_TAG, z80dart_device, rxa_w)) - MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE(Z80DART_TAG, z80dart_device, dcda_w)) - MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE(Z80DART_TAG, z80dart_device, ctsa_w)) + MCFG_RS232_RXD_HANDLER(DEVWRITELINE(Z80DART_TAG, z80dart_device, rxa_w)) + MCFG_RS232_DCD_HANDLER(DEVWRITELINE(Z80DART_TAG, z80dart_device, dcda_w)) + MCFG_RS232_CTS_HANDLER(DEVWRITELINE(Z80DART_TAG, z80dart_device, ctsa_w)) MCFG_RS232_PORT_ADD(RS232_B_TAG, default_rs232_devices, NULL) - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(Z80SIO_TAG, z80dart_device, rxa_w)) - MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE(Z80SIO_TAG, z80dart_device, dcda_w)) - MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE(Z80SIO_TAG, z80dart_device, ctsa_w)) + MCFG_RS232_RXD_HANDLER(DEVWRITELINE(Z80SIO_TAG, z80dart_device, rxa_w)) + MCFG_RS232_DCD_HANDLER(DEVWRITELINE(Z80SIO_TAG, z80dart_device, dcda_w)) + MCFG_RS232_CTS_HANDLER(DEVWRITELINE(Z80SIO_TAG, z80dart_device, ctsa_w)) MCFG_ABC_KEYBOARD_PORT_ADD(ABC_KEYBOARD_PORT_TAG, "abc800") MCFG_ABC_KEYBOARD_OUT_RX_HANDLER(DEVWRITELINE(Z80DART_TAG, z80dart_device, rxb_w)) @@ -1197,14 +1197,14 @@ static MACHINE_CONFIG_START( abc800m, abc800m_state ) MCFG_CASSETTE_ADD("cassette", cass_intf) MCFG_RS232_PORT_ADD(RS232_A_TAG, default_rs232_devices, NULL) - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(Z80DART_TAG, z80dart_device, rxa_w)) - MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE(Z80DART_TAG, z80dart_device, dcda_w)) - MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE(Z80DART_TAG, z80dart_device, ctsa_w)) + MCFG_RS232_RXD_HANDLER(DEVWRITELINE(Z80DART_TAG, z80dart_device, rxa_w)) + MCFG_RS232_DCD_HANDLER(DEVWRITELINE(Z80DART_TAG, z80dart_device, dcda_w)) + MCFG_RS232_CTS_HANDLER(DEVWRITELINE(Z80DART_TAG, z80dart_device, ctsa_w)) MCFG_RS232_PORT_ADD(RS232_B_TAG, default_rs232_devices, NULL) - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(Z80SIO_TAG, z80dart_device, rxa_w)) - MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE(Z80SIO_TAG, z80dart_device, dcda_w)) - MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE(Z80SIO_TAG, z80dart_device, ctsa_w)) + MCFG_RS232_RXD_HANDLER(DEVWRITELINE(Z80SIO_TAG, z80dart_device, rxa_w)) + MCFG_RS232_DCD_HANDLER(DEVWRITELINE(Z80SIO_TAG, z80dart_device, dcda_w)) + MCFG_RS232_CTS_HANDLER(DEVWRITELINE(Z80SIO_TAG, z80dart_device, ctsa_w)) MCFG_ABC_KEYBOARD_PORT_ADD(ABC_KEYBOARD_PORT_TAG, "abc800") MCFG_ABC_KEYBOARD_OUT_RX_HANDLER(DEVWRITELINE(Z80DART_TAG, z80dart_device, rxb_w)) @@ -1252,14 +1252,14 @@ static MACHINE_CONFIG_START( abc802, abc802_state ) MCFG_CASSETTE_ADD("cassette", cass_intf) MCFG_RS232_PORT_ADD(RS232_A_TAG, default_rs232_devices, NULL) - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(Z80DART_TAG, z80dart_device, rxa_w)) - MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE(Z80DART_TAG, z80dart_device, dcda_w)) - MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE(Z80DART_TAG, z80dart_device, ctsa_w)) + MCFG_RS232_RXD_HANDLER(DEVWRITELINE(Z80DART_TAG, z80dart_device, rxa_w)) + MCFG_RS232_DCD_HANDLER(DEVWRITELINE(Z80DART_TAG, z80dart_device, dcda_w)) + MCFG_RS232_CTS_HANDLER(DEVWRITELINE(Z80DART_TAG, z80dart_device, ctsa_w)) MCFG_RS232_PORT_ADD(RS232_B_TAG, default_rs232_devices, NULL) - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(Z80SIO_TAG, z80dart_device, rxa_w)) - MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE(Z80SIO_TAG, z80dart_device, dcda_w)) - MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE(Z80SIO_TAG, z80dart_device, ctsa_w)) + MCFG_RS232_RXD_HANDLER(DEVWRITELINE(Z80SIO_TAG, z80dart_device, rxa_w)) + MCFG_RS232_DCD_HANDLER(DEVWRITELINE(Z80SIO_TAG, z80dart_device, dcda_w)) + MCFG_RS232_CTS_HANDLER(DEVWRITELINE(Z80SIO_TAG, z80dart_device, ctsa_w)) MCFG_ABC_KEYBOARD_PORT_ADD(ABC_KEYBOARD_PORT_TAG, "abc55") MCFG_ABC_KEYBOARD_OUT_RX_HANDLER(DEVWRITELINE(Z80DART_TAG, z80dart_device, rxb_w)) @@ -1300,14 +1300,14 @@ static MACHINE_CONFIG_START( abc806, abc806_state ) MCFG_Z80DART_ADD(Z80DART_TAG, ABC800_X01/2/2, abc806_dart_intf) MCFG_RS232_PORT_ADD(RS232_A_TAG, default_rs232_devices, NULL) - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(Z80DART_TAG, z80dart_device, rxa_w)) - MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE(Z80DART_TAG, z80dart_device, dcda_w)) - MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE(Z80DART_TAG, z80dart_device, ctsa_w)) + MCFG_RS232_RXD_HANDLER(DEVWRITELINE(Z80DART_TAG, z80dart_device, rxa_w)) + MCFG_RS232_DCD_HANDLER(DEVWRITELINE(Z80DART_TAG, z80dart_device, dcda_w)) + MCFG_RS232_CTS_HANDLER(DEVWRITELINE(Z80DART_TAG, z80dart_device, ctsa_w)) MCFG_RS232_PORT_ADD(RS232_B_TAG, default_rs232_devices, NULL) - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(Z80SIO_TAG, z80dart_device, rxa_w)) - MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE(Z80SIO_TAG, z80dart_device, dcda_w)) - MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE(Z80SIO_TAG, z80dart_device, ctsa_w)) + MCFG_RS232_RXD_HANDLER(DEVWRITELINE(Z80SIO_TAG, z80dart_device, rxa_w)) + MCFG_RS232_DCD_HANDLER(DEVWRITELINE(Z80SIO_TAG, z80dart_device, dcda_w)) + MCFG_RS232_CTS_HANDLER(DEVWRITELINE(Z80SIO_TAG, z80dart_device, ctsa_w)) MCFG_ABC_KEYBOARD_PORT_ADD(ABC_KEYBOARD_PORT_TAG, "abc77") MCFG_ABC_KEYBOARD_OUT_RX_HANDLER(DEVWRITELINE(Z80DART_TAG, z80dart_device, rxb_w)) diff --git a/src/mess/drivers/altair.c b/src/mess/drivers/altair.c index 40a23937aaa..a2e96cd63c0 100644 --- a/src/mess/drivers/altair.c +++ b/src/mess/drivers/altair.c @@ -18,10 +18,9 @@ ****************************************************************************/ -#include "emu.h" +#include "bus/rs232/rs232.h" #include "cpu/i8085/i8085.h" #include "machine/6850acia.h" -#include "machine/serial.h" #include "imagedev/snapquik.h" @@ -90,8 +89,8 @@ static ACIA6850_INTERFACE( acia0_intf ) { 153600, // TODO: these are set using jumpers S3/S2/S1/S0 153600, - DEVCB_DEVICE_LINE_MEMBER("rs232", serial_port_device, tx), - DEVCB_DEVICE_LINE_MEMBER("rs232", rs232_port_device, rts_w), + DEVCB_DEVICE_LINE_MEMBER("rs232", rs232_port_device, write_txd), + DEVCB_DEVICE_LINE_MEMBER("rs232", rs232_port_device, write_rts), DEVCB_NULL }; @@ -106,9 +105,9 @@ static MACHINE_CONFIG_START( altair, altair_state ) MCFG_ACIA6850_ADD("mc6850", acia0_intf) MCFG_RS232_PORT_ADD("rs232", default_rs232_devices, "serial_terminal") - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE("mc6850", acia6850_device, write_rx)) - MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE("mc6850", acia6850_device, write_dcd)) - MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE("mc6850", acia6850_device, write_cts)) + MCFG_RS232_RXD_HANDLER(DEVWRITELINE("mc6850", acia6850_device, write_rx)) + MCFG_RS232_DCD_HANDLER(DEVWRITELINE("mc6850", acia6850_device, write_dcd)) + MCFG_RS232_CTS_HANDLER(DEVWRITELINE("mc6850", acia6850_device, write_cts)) /* quickload */ MCFG_QUICKLOAD_ADD("quickload", altair_state, altair, "bin", 0) diff --git a/src/mess/drivers/altos5.c b/src/mess/drivers/altos5.c index 9319ad4f229..ce4c81d2111 100644 --- a/src/mess/drivers/altos5.c +++ b/src/mess/drivers/altos5.c @@ -14,14 +14,13 @@ ****************************************************************************/ -#include "emu.h" +#include "bus/rs232/rs232.h" #include "cpu/z80/z80.h" #include "cpu/z80/z80daisy.h" #include "machine/z80ctc.h" #include "machine/z80pio.h" #include "machine/z80dart.h" #include "machine/z80dma.h" -#include "machine/serial.h" #include "machine/wd_fdc.h" @@ -410,9 +409,9 @@ static Z80SIO_INTERFACE( sio_intf ) DEVCB_NULL, // SYNC // console#1 - 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_DEVICE_LINE_MEMBER("rs232", rs232_port_device, write_txd), + DEVCB_DEVICE_LINE_MEMBER("rs232", rs232_port_device, write_dtr), + DEVCB_DEVICE_LINE_MEMBER("rs232", rs232_port_device, write_rts), DEVCB_NULL, DEVCB_NULL, @@ -497,10 +496,10 @@ static MACHINE_CONFIG_START( altos5, altos5_state ) MCFG_Z80SIO0_ADD("z80sio", XTAL_8MHz / 2, sio_intf ) MCFG_RS232_PORT_ADD("rs232", default_rs232_devices, "serial_terminal") - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE("z80sio", z80dart_device, rxb_w)) - MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE("z80sio", z80dart_device, dcdb_w)) - MCFG_RS232_OUT_RI_HANDLER(DEVWRITELINE("z80sio", z80dart_device, rib_w)) - MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE("z80sio", z80dart_device, ctsb_w)) + MCFG_RS232_RXD_HANDLER(DEVWRITELINE("z80sio", z80dart_device, rxb_w)) + MCFG_RS232_DCD_HANDLER(DEVWRITELINE("z80sio", z80dart_device, dcdb_w)) + MCFG_RS232_RI_HANDLER(DEVWRITELINE("z80sio", z80dart_device, rib_w)) + MCFG_RS232_CTS_HANDLER(DEVWRITELINE("z80sio", z80dart_device, ctsb_w)) MCFG_TIMER_DRIVER_ADD_PERIODIC("ctc_tick", altos5_state, ctc_tick, attotime::from_hz(XTAL_8MHz / 4)) MCFG_FD1797x_ADD("fdc", XTAL_8MHz / 8) diff --git a/src/mess/drivers/ampro.c b/src/mess/drivers/ampro.c index a5f092eda72..9d6d460fc77 100644 --- a/src/mess/drivers/ampro.c +++ b/src/mess/drivers/ampro.c @@ -21,12 +21,11 @@ ToDo: ****************************************************************************/ -#include "emu.h" +#include "bus/rs232/rs232.h" #include "cpu/z80/z80.h" #include "cpu/z80/z80daisy.h" #include "machine/z80ctc.h" #include "machine/z80dart.h" -#include "machine/serial.h" #include "machine/wd_fdc.h" @@ -122,9 +121,9 @@ static Z80DART_INTERFACE( dart_intf ) { 0, 0, 0, 0, - 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_DEVICE_LINE_MEMBER("rs232", rs232_port_device, write_txd), + DEVCB_DEVICE_LINE_MEMBER("rs232", rs232_port_device, write_dtr), + DEVCB_DEVICE_LINE_MEMBER("rs232", rs232_port_device, write_rts), DEVCB_NULL, DEVCB_NULL, @@ -199,7 +198,7 @@ static MACHINE_CONFIG_START( ampro, ampro_state ) MCFG_Z80CTC_ADD( "z80ctc", XTAL_16MHz / 4, ctc_intf ) MCFG_Z80DART_ADD("z80dart", XTAL_16MHz / 4, dart_intf ) MCFG_RS232_PORT_ADD("rs232", default_rs232_devices, "serial_terminal") - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE("z80dart", z80dart_device, rxa_w)) + MCFG_RS232_RXD_HANDLER(DEVWRITELINE("z80dart", z80dart_device, rxa_w)) MCFG_TIMER_DRIVER_ADD_PERIODIC("ctc_tick", ampro_state, ctc_tick, attotime::from_hz(XTAL_16MHz / 8)) MCFG_WD1772x_ADD("fdc", XTAL_16MHz / 2) diff --git a/src/mess/drivers/amstr_pc.c b/src/mess/drivers/amstr_pc.c index 2984e3feff9..b23b4534a42 100644 --- a/src/mess/drivers/amstr_pc.c +++ b/src/mess/drivers/amstr_pc.c @@ -24,7 +24,7 @@ More information can be found at http://www.seasip.info/AmstradXT/1640tech/index ***************************************************************************/ -#include "emu.h" +#include "bus/rs232/ser_mouse.h" #include "cpu/nec/nec.h" #include "cpu/i86/i86.h" #include "sound/speaker.h" @@ -269,32 +269,32 @@ static MACHINE_CONFIG_START( pc200, amstrad_pc_state ) MCFG_INS8250_ADD( "ins8250_3", ibm5150_com_interface[3], XTAL_1_8432MHz ) /* TODO: Verify model */ MCFG_RS232_PORT_ADD( "serport0", amstr_com, NULL ) - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, rx_w)) - MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, dcd_w)) - MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, dsr_w)) - MCFG_RS232_OUT_RI_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, ri_w)) - MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, cts_w)) + MCFG_RS232_RXD_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, rx_w)) + MCFG_RS232_DCD_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, dcd_w)) + MCFG_RS232_DSR_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, dsr_w)) + MCFG_RS232_RI_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, ri_w)) + MCFG_RS232_CTS_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, cts_w)) MCFG_RS232_PORT_ADD( "serport1", amstr_com, NULL ) - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, rx_w)) - MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, dcd_w)) - MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, dsr_w)) - MCFG_RS232_OUT_RI_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, ri_w)) - MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, cts_w)) + MCFG_RS232_RXD_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, rx_w)) + MCFG_RS232_DCD_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, dcd_w)) + MCFG_RS232_DSR_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, dsr_w)) + MCFG_RS232_RI_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, ri_w)) + MCFG_RS232_CTS_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, cts_w)) MCFG_RS232_PORT_ADD( "serport2", amstr_com, NULL ) - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE("ins8250_2", ins8250_uart_device, rx_w)) - MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE("ins8250_2", ins8250_uart_device, dcd_w)) - MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE("ins8250_2", ins8250_uart_device, dsr_w)) - MCFG_RS232_OUT_RI_HANDLER(DEVWRITELINE("ins8250_2", ins8250_uart_device, ri_w)) - MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE("ins8250_2", ins8250_uart_device, cts_w)) + MCFG_RS232_RXD_HANDLER(DEVWRITELINE("ins8250_2", ins8250_uart_device, rx_w)) + MCFG_RS232_DCD_HANDLER(DEVWRITELINE("ins8250_2", ins8250_uart_device, dcd_w)) + MCFG_RS232_DSR_HANDLER(DEVWRITELINE("ins8250_2", ins8250_uart_device, dsr_w)) + MCFG_RS232_RI_HANDLER(DEVWRITELINE("ins8250_2", ins8250_uart_device, ri_w)) + MCFG_RS232_CTS_HANDLER(DEVWRITELINE("ins8250_2", ins8250_uart_device, cts_w)) MCFG_RS232_PORT_ADD( "serport3", amstr_com, NULL ) - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE("ins8250_3", ins8250_uart_device, rx_w)) - MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE("ins8250_3", ins8250_uart_device, dcd_w)) - MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE("ins8250_3", ins8250_uart_device, dsr_w)) - MCFG_RS232_OUT_RI_HANDLER(DEVWRITELINE("ins8250_3", ins8250_uart_device, ri_w)) - MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE("ins8250_3", ins8250_uart_device, cts_w)) + MCFG_RS232_RXD_HANDLER(DEVWRITELINE("ins8250_3", ins8250_uart_device, rx_w)) + MCFG_RS232_DCD_HANDLER(DEVWRITELINE("ins8250_3", ins8250_uart_device, dcd_w)) + MCFG_RS232_DSR_HANDLER(DEVWRITELINE("ins8250_3", ins8250_uart_device, dsr_w)) + MCFG_RS232_RI_HANDLER(DEVWRITELINE("ins8250_3", ins8250_uart_device, ri_w)) + MCFG_RS232_CTS_HANDLER(DEVWRITELINE("ins8250_3", ins8250_uart_device, cts_w)) /* video hardware */ MCFG_FRAGMENT_ADD( pcvideo_pc200 ) @@ -371,32 +371,32 @@ static MACHINE_CONFIG_START( ppc512, amstrad_pc_state ) MCFG_INS8250_ADD( "ins8250_3", ibm5150_com_interface[3], XTAL_1_8432MHz ) /* TODO: Verify model */ MCFG_RS232_PORT_ADD( "serport0", amstr_com, NULL ) - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, rx_w)) - MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, dcd_w)) - MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, dsr_w)) - MCFG_RS232_OUT_RI_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, ri_w)) - MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, cts_w)) + MCFG_RS232_RXD_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, rx_w)) + MCFG_RS232_DCD_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, dcd_w)) + MCFG_RS232_DSR_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, dsr_w)) + MCFG_RS232_RI_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, ri_w)) + MCFG_RS232_CTS_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, cts_w)) MCFG_RS232_PORT_ADD( "serport1", amstr_com, NULL ) - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, rx_w)) - MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, dcd_w)) - MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, dsr_w)) - MCFG_RS232_OUT_RI_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, ri_w)) - MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, cts_w)) + MCFG_RS232_RXD_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, rx_w)) + MCFG_RS232_DCD_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, dcd_w)) + MCFG_RS232_DSR_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, dsr_w)) + MCFG_RS232_RI_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, ri_w)) + MCFG_RS232_CTS_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, cts_w)) MCFG_RS232_PORT_ADD( "serport2", amstr_com, NULL ) - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE("ins8250_2", ins8250_uart_device, rx_w)) - MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE("ins8250_2", ins8250_uart_device, dcd_w)) - MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE("ins8250_2", ins8250_uart_device, dsr_w)) - MCFG_RS232_OUT_RI_HANDLER(DEVWRITELINE("ins8250_2", ins8250_uart_device, ri_w)) - MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE("ins8250_2", ins8250_uart_device, cts_w)) + MCFG_RS232_RXD_HANDLER(DEVWRITELINE("ins8250_2", ins8250_uart_device, rx_w)) + MCFG_RS232_DCD_HANDLER(DEVWRITELINE("ins8250_2", ins8250_uart_device, dcd_w)) + MCFG_RS232_DSR_HANDLER(DEVWRITELINE("ins8250_2", ins8250_uart_device, dsr_w)) + MCFG_RS232_RI_HANDLER(DEVWRITELINE("ins8250_2", ins8250_uart_device, ri_w)) + MCFG_RS232_CTS_HANDLER(DEVWRITELINE("ins8250_2", ins8250_uart_device, cts_w)) MCFG_RS232_PORT_ADD( "serport3", amstr_com, NULL ) - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE("ins8250_3", ins8250_uart_device, rx_w)) - MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE("ins8250_3", ins8250_uart_device, dcd_w)) - MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE("ins8250_3", ins8250_uart_device, dsr_w)) - MCFG_RS232_OUT_RI_HANDLER(DEVWRITELINE("ins8250_3", ins8250_uart_device, ri_w)) - MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE("ins8250_3", ins8250_uart_device, cts_w)) + MCFG_RS232_RXD_HANDLER(DEVWRITELINE("ins8250_3", ins8250_uart_device, rx_w)) + MCFG_RS232_DCD_HANDLER(DEVWRITELINE("ins8250_3", ins8250_uart_device, dcd_w)) + MCFG_RS232_DSR_HANDLER(DEVWRITELINE("ins8250_3", ins8250_uart_device, dsr_w)) + MCFG_RS232_RI_HANDLER(DEVWRITELINE("ins8250_3", ins8250_uart_device, ri_w)) + MCFG_RS232_CTS_HANDLER(DEVWRITELINE("ins8250_3", ins8250_uart_device, cts_w)) /* video hardware */ MCFG_FRAGMENT_ADD( pcvideo_pc200 ) diff --git a/src/mess/drivers/apollo.c b/src/mess/drivers/apollo.c index a9a5c6cddb7..491ae716d66 100644 --- a/src/mess/drivers/apollo.c +++ b/src/mess/drivers/apollo.c @@ -39,6 +39,8 @@ #include "apollo_dsp.lh" +#define TERMINAL_TAG "terminal" + // we use this to prevent excessive logging (if emulation runs amok) // error.log will be 10 MB for 100000 lines #define APOLLO_MAX_NO_OF_LOG_LINES 1000000 diff --git a/src/mess/drivers/apricot.c b/src/mess/drivers/apricot.c index dafce208a0e..01e76a39a75 100644 --- a/src/mess/drivers/apricot.c +++ b/src/mess/drivers/apricot.c @@ -10,7 +10,8 @@ ***************************************************************************/ -#include "emu.h" +#include "bus/centronics/ctronics.h" +#include "bus/rs232/rs232.h" #include "cpu/i86/i86.h" #include "cpu/i8089/i8089.h" #include "machine/ram.h" @@ -18,8 +19,6 @@ #include "machine/i8255.h" #include "machine/pic8259.h" #include "machine/z80dart.h" -#include "machine/serial.h" -#include "bus/centronics/ctronics.h" #include "machine/wd_fdc.h" #include "video/mc6845.h" #include "sound/sn76496.h" @@ -222,9 +221,9 @@ static Z80SIO_INTERFACE( apricot_z80sio_intf ) XTAL_4MHz / 16, XTAL_4MHz / 16, // channel a - 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_DEVICE_LINE_MEMBER("rs232", rs232_port_device, write_txd), + DEVCB_DEVICE_LINE_MEMBER("rs232", rs232_port_device, write_dtr), + DEVCB_DEVICE_LINE_MEMBER("rs232", rs232_port_device, write_rts), DEVCB_DEVICE_LINE_MEMBER("ic71", i8089_device, drq2_w), DEVCB_NULL, @@ -425,10 +424,10 @@ static MACHINE_CONFIG_START( apricot, apricot_state ) MCFG_RS232_PORT_ADD("rs232", default_rs232_devices, NULL) // note: missing a receive clock callback to support external clock mode // (m_data_selector_rts == 1 and m_data_selector_dtr == 0) - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE("ic15", z80dart_device, rxa_w)) - MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE("ic15", z80dart_device, dcda_w)) - MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE("ic15", z80dart_device, synca_w)) - MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE("ic15", z80dart_device, ctsa_w)) + MCFG_RS232_RXD_HANDLER(DEVWRITELINE("ic15", z80dart_device, rxa_w)) + MCFG_RS232_DCD_HANDLER(DEVWRITELINE("ic15", z80dart_device, dcda_w)) + MCFG_RS232_DSR_HANDLER(DEVWRITELINE("ic15", z80dart_device, synca_w)) + MCFG_RS232_CTS_HANDLER(DEVWRITELINE("ic15", z80dart_device, ctsa_w)) // centronics printer MCFG_CENTRONICS_ADD("centronics", centronics_printers, "image") diff --git a/src/mess/drivers/atarist.c b/src/mess/drivers/atarist.c index 9d65391dd60..003c4d9bfeb 100644 --- a/src/mess/drivers/atarist.c +++ b/src/mess/drivers/atarist.c @@ -1,6 +1,9 @@ // license:BSD-3-Clause // copyright-holders:Curt Coder, Olivier Galibert #include "includes/atarist.h" +#include "bus/midi/midi.h" +#include "bus/midi/midiinport.h" +#include "bus/midi/midioutport.h" #include "video/atarist.h" /* @@ -1753,10 +1756,10 @@ WRITE8_MEMBER( st_state::psg_pa_w ) m_fdc->set_floppy(floppy); // request to send - m_rs232->rts_w(BIT(data, 3)); + m_rs232->write_rts(BIT(data, 3)); // data terminal ready - m_rs232->dtr_w(BIT(data, 4)); + m_rs232->write_dtr(BIT(data, 4)); // centronics strobe m_centronics->write_strobe(BIT(data, 5)); @@ -1808,10 +1811,10 @@ WRITE8_MEMBER( stbook_state::psg_pa_w ) m_fdc->set_floppy(floppy); // request to send - m_rs232->rts_w(BIT(data, 3)); + m_rs232->write_rts(BIT(data, 3)); // data terminal ready - m_rs232->dtr_w(BIT(data, 4)); + m_rs232->write_dtr(BIT(data, 4)); // centronics strobe m_centronics->write_strobe(BIT(data, 5)); @@ -1886,7 +1889,7 @@ static ACIA6850_INTERFACE( acia_midi_intf ) { Y2/64, 0, // rx clock (we manually clock rx) - DEVCB_DEVICE_LINE_MEMBER("mdout", serial_port_device, tx), + DEVCB_DEVICE_LINE_MEMBER("mdout", midi_port_device, write_txd), DEVCB_NULL, DEVCB_DRIVER_LINE_MEMBER(st_state, acia_midi_irq_w) }; @@ -1912,7 +1915,7 @@ static MC68901_INTERFACE( mfp_intf ) DEVCB_NULL, /* TBO */ DEVCB_NULL, /* TCO */ DEVCB_DRIVER_LINE_MEMBER(st_state, mfp_tdo_w), /* TDO */ - DEVCB_DEVICE_LINE_MEMBER(RS232_TAG, serial_port_device, tx) + DEVCB_DEVICE_LINE_MEMBER(RS232_TAG, rs232_port_device, write_txd) }; @@ -1931,7 +1934,7 @@ static MC68901_INTERFACE( atariste_mfp_intf ) DEVCB_NULL, /* TBO */ DEVCB_NULL, /* TCO */ DEVCB_DRIVER_LINE_MEMBER(st_state, mfp_tdo_w), /* TDO */ - DEVCB_DEVICE_LINE_MEMBER(RS232_TAG, serial_port_device, tx) + DEVCB_DEVICE_LINE_MEMBER(RS232_TAG, rs232_port_device, write_txd) }; @@ -1953,7 +1956,7 @@ static MC68901_INTERFACE( stbook_mfp_intf ) DEVCB_NULL, /* TBO */ DEVCB_NULL, /* TCO */ DEVCB_DRIVER_LINE_MEMBER(st_state, mfp_tdo_w), /* TDO */ - DEVCB_DEVICE_LINE_MEMBER(RS232_TAG, serial_port_device, tx) + DEVCB_DEVICE_LINE_MEMBER(RS232_TAG, rs232_port_device, write_txd) }; void st_state::fdc_intrq_w(bool state) @@ -2268,15 +2271,15 @@ static MACHINE_CONFIG_START( st, st_state ) MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", "centronics") MCFG_RS232_PORT_ADD(RS232_TAG, default_rs232_devices, NULL) - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(MC68901_TAG, mc68901_device, write_rx)) - MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE(MC68901_TAG, mc68901_device, i1_w)) - MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE(MC68901_TAG, mc68901_device, i2_w)) - MCFG_RS232_OUT_RI_HANDLER(DEVWRITELINE(MC68901_TAG, mc68901_device, i6_w)) + MCFG_RS232_RXD_HANDLER(DEVWRITELINE(MC68901_TAG, mc68901_device, write_rx)) + MCFG_RS232_DCD_HANDLER(DEVWRITELINE(MC68901_TAG, mc68901_device, i1_w)) + MCFG_RS232_CTS_HANDLER(DEVWRITELINE(MC68901_TAG, mc68901_device, i2_w)) + MCFG_RS232_RI_HANDLER(DEVWRITELINE(MC68901_TAG, mc68901_device, i6_w)) - MCFG_SERIAL_PORT_ADD("mdin", midiin_slot, "midiin") - MCFG_SERIAL_OUT_RX_HANDLER(WRITELINE(st_state, midi_rx_w)) + MCFG_MIDI_PORT_ADD("mdin", midiin_slot, "midiin") + MCFG_MIDI_RX_HANDLER(WRITELINE(st_state, midi_rx_w)) - MCFG_SERIAL_PORT_ADD("mdout", midiout_slot, "midiout") + MCFG_MIDI_PORT_ADD("mdout", midiout_slot, "midiout") // cartridge MCFG_CARTSLOT_ADD("cart") @@ -2335,15 +2338,15 @@ static MACHINE_CONFIG_START( megast, megast_state ) MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", "centronics") MCFG_RS232_PORT_ADD(RS232_TAG, default_rs232_devices, NULL) - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(MC68901_TAG, mc68901_device, write_rx)) - MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE(MC68901_TAG, mc68901_device, i1_w)) - MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE(MC68901_TAG, mc68901_device, i2_w)) - MCFG_RS232_OUT_RI_HANDLER(DEVWRITELINE(MC68901_TAG, mc68901_device, i6_w)) + MCFG_RS232_RXD_HANDLER(DEVWRITELINE(MC68901_TAG, mc68901_device, write_rx)) + MCFG_RS232_DCD_HANDLER(DEVWRITELINE(MC68901_TAG, mc68901_device, i1_w)) + MCFG_RS232_CTS_HANDLER(DEVWRITELINE(MC68901_TAG, mc68901_device, i2_w)) + MCFG_RS232_RI_HANDLER(DEVWRITELINE(MC68901_TAG, mc68901_device, i6_w)) - MCFG_SERIAL_PORT_ADD("mdin", midiin_slot, "midiin") - MCFG_SERIAL_OUT_RX_HANDLER(WRITELINE(st_state, midi_rx_w)) + MCFG_MIDI_PORT_ADD("mdin", midiin_slot, "midiin") + MCFG_MIDI_RX_HANDLER(WRITELINE(st_state, midi_rx_w)) - MCFG_SERIAL_PORT_ADD("mdout", midiout_slot, "midiout") + MCFG_MIDI_PORT_ADD("mdout", midiout_slot, "midiout") MCFG_RP5C15_ADD(RP5C15_TAG, XTAL_32_768kHz, rtc_intf) // cartridge @@ -2411,15 +2414,15 @@ static MACHINE_CONFIG_START( ste, ste_state ) MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", "centronics") MCFG_RS232_PORT_ADD(RS232_TAG, default_rs232_devices, NULL) - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(MC68901_TAG, mc68901_device, write_rx)) - MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE(MC68901_TAG, mc68901_device, i1_w)) - MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE(MC68901_TAG, mc68901_device, i2_w)) - MCFG_RS232_OUT_RI_HANDLER(DEVWRITELINE(MC68901_TAG, mc68901_device, i6_w)) + MCFG_RS232_RXD_HANDLER(DEVWRITELINE(MC68901_TAG, mc68901_device, write_rx)) + MCFG_RS232_DCD_HANDLER(DEVWRITELINE(MC68901_TAG, mc68901_device, i1_w)) + MCFG_RS232_CTS_HANDLER(DEVWRITELINE(MC68901_TAG, mc68901_device, i2_w)) + MCFG_RS232_RI_HANDLER(DEVWRITELINE(MC68901_TAG, mc68901_device, i6_w)) - MCFG_SERIAL_PORT_ADD("mdin", midiin_slot, "midiin") - MCFG_SERIAL_OUT_RX_HANDLER(WRITELINE(st_state, midi_rx_w)) + MCFG_MIDI_PORT_ADD("mdin", midiin_slot, "midiin") + MCFG_MIDI_RX_HANDLER(WRITELINE(st_state, midi_rx_w)) - MCFG_SERIAL_PORT_ADD("mdout", midiout_slot, "midiout") + MCFG_MIDI_PORT_ADD("mdout", midiout_slot, "midiout") // cartridge MCFG_CARTSLOT_ADD("cart") diff --git a/src/mess/drivers/avigo.c b/src/mess/drivers/avigo.c index 8bebc86ceb0..2583438a256 100644 --- a/src/mess/drivers/avigo.c +++ b/src/mess/drivers/avigo.c @@ -69,7 +69,7 @@ ******************************************************************************/ -#include "emu.h" +#include "bus/rs232/null_modem.h" #include "includes/avigo.h" #include "avigo.lh" @@ -226,9 +226,9 @@ WRITE_LINE_MEMBER( avigo_state::com_interrupt ) static const ins8250_interface avigo_com_interface = { - DEVCB_DEVICE_LINE_MEMBER("serport", serial_port_device, tx), - DEVCB_DEVICE_LINE_MEMBER("serport", rs232_port_device, dtr_w), - DEVCB_DEVICE_LINE_MEMBER("serport", rs232_port_device, rts_w), + DEVCB_DEVICE_LINE_MEMBER("serport", rs232_port_device, write_txd), + DEVCB_DEVICE_LINE_MEMBER("serport", rs232_port_device, write_dtr), + DEVCB_DEVICE_LINE_MEMBER("serport", rs232_port_device, write_rts), DEVCB_DRIVER_LINE_MEMBER(avigo_state, com_interrupt), DEVCB_NULL, DEVCB_NULL @@ -886,11 +886,11 @@ static MACHINE_CONFIG_START( avigo, avigo_state ) MCFG_NS16550_ADD( "ns16550", avigo_com_interface, XTAL_1_8432MHz ) MCFG_RS232_PORT_ADD( "serport", avigo_com, NULL ) - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE("ns16550", ins8250_uart_device, rx_w)) - MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE("ns16550", ins8250_uart_device, dcd_w)) - MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE("ns16550", ins8250_uart_device, dsr_w)) - MCFG_RS232_OUT_RI_HANDLER(DEVWRITELINE("ns16550", ins8250_uart_device, ri_w)) - MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE("ns16550", ins8250_uart_device, cts_w)) + MCFG_RS232_RXD_HANDLER(DEVWRITELINE("ns16550", ins8250_uart_device, rx_w)) + MCFG_RS232_DCD_HANDLER(DEVWRITELINE("ns16550", ins8250_uart_device, dcd_w)) + MCFG_RS232_DSR_HANDLER(DEVWRITELINE("ns16550", ins8250_uart_device, dsr_w)) + MCFG_RS232_RI_HANDLER(DEVWRITELINE("ns16550", ins8250_uart_device, ri_w)) + MCFG_RS232_CTS_HANDLER(DEVWRITELINE("ns16550", ins8250_uart_device, cts_w)) /* video hardware */ MCFG_SCREEN_ADD("screen", LCD) diff --git a/src/mess/drivers/basic52.c b/src/mess/drivers/basic52.c index b951e46b272..0b4422ad7a9 100644 --- a/src/mess/drivers/basic52.c +++ b/src/mess/drivers/basic52.c @@ -37,14 +37,17 @@ to discover the special features of this Basic. #include "machine/i8255.h" #include "machine/terminal.h" +#define TERMINAL_TAG "terminal" class basic52_state : public driver_device { public: basic52_state(const machine_config &mconfig, device_type type, const char *tag) : driver_device(mconfig, type, tag), - m_maincpu(*this, "maincpu"), - m_terminal(*this, TERMINAL_TAG) { } + m_maincpu(*this, "maincpu"), + m_terminal(*this, TERMINAL_TAG) + { + } DECLARE_WRITE8_MEMBER(kbd_put); DECLARE_READ8_MEMBER(unk_r); diff --git a/src/mess/drivers/bbc.c b/src/mess/drivers/bbc.c index 9c965279633..8b3ab93434d 100644 --- a/src/mess/drivers/bbc.c +++ b/src/mess/drivers/bbc.c @@ -42,6 +42,7 @@ #include "emu.h" /* Components */ +#include "bus/rs232/rs232.h" #include "cpu/m6502/m6502.h" #include "cpu/m6502/m65sc02.h" #include "machine/6522via.h" @@ -731,9 +732,9 @@ static MACHINE_CONFIG_START( bbca, bbc_state ) /* acia */ MCFG_ACIA6850_ADD("acia6850", bbc_acia6850_interface) MCFG_RS232_PORT_ADD(RS232_TAG, default_rs232_devices, NULL) - MCFG_SERIAL_OUT_RX_HANDLER(WRITELINE(bbc_state, write_rxd_serial)) - MCFG_RS232_OUT_DCD_HANDLER(WRITELINE(bbc_state, write_dcd_serial)) - MCFG_RS232_OUT_CTS_HANDLER(WRITELINE(bbc_state, write_cts_serial)) + MCFG_RS232_RXD_HANDLER(WRITELINE(bbc_state, write_rxd_serial)) + MCFG_RS232_DCD_HANDLER(WRITELINE(bbc_state, write_dcd_serial)) + MCFG_RS232_CTS_HANDLER(WRITELINE(bbc_state, write_cts_serial)) /* system via */ MCFG_DEVICE_ADD("via6522_0", VIA6522, 1000000) @@ -954,9 +955,9 @@ static MACHINE_CONFIG_START( bbcm, bbc_state ) MCFG_ACIA6850_ADD("acia6850", bbc_acia6850_interface) MCFG_RS232_PORT_ADD(RS232_TAG, default_rs232_devices, NULL) - MCFG_SERIAL_OUT_RX_HANDLER(WRITELINE(bbc_state, write_rxd_serial)) - MCFG_RS232_OUT_DCD_HANDLER(WRITELINE(bbc_state, write_dcd_serial)) - MCFG_RS232_OUT_CTS_HANDLER(WRITELINE(bbc_state, write_cts_serial)) + MCFG_RS232_RXD_HANDLER(WRITELINE(bbc_state, write_rxd_serial)) + MCFG_RS232_DCD_HANDLER(WRITELINE(bbc_state, write_dcd_serial)) + MCFG_RS232_CTS_HANDLER(WRITELINE(bbc_state, write_cts_serial)) /* adc */ MCFG_UPD7002_ADD("upd7002", bbc_uPD7002) diff --git a/src/mess/drivers/besta.c b/src/mess/drivers/besta.c index 03e3c47f769..0a089121acc 100644 --- a/src/mess/drivers/besta.c +++ b/src/mess/drivers/besta.c @@ -25,6 +25,8 @@ } \ } while (0) +#define TERMINAL_TAG "terminal" + class besta_state : public driver_device { public: @@ -32,7 +34,9 @@ public: : driver_device(mconfig, type, tag), m_maincpu(*this, "maincpu"), m_terminal(*this, TERMINAL_TAG), - m_p_ram(*this, "p_ram") { } + m_p_ram(*this, "p_ram") + { + } DECLARE_READ8_MEMBER( mpcc_reg_r ); DECLARE_WRITE8_MEMBER( mpcc_reg_w ); diff --git a/src/mess/drivers/bigbord2.c b/src/mess/drivers/bigbord2.c index 185102b30b6..b6cbd6cd8c5 100644 --- a/src/mess/drivers/bigbord2.c +++ b/src/mess/drivers/bigbord2.c @@ -92,6 +92,7 @@ X - change banks #include "machine/wd_fdc.h" #define SCREEN_TAG "screen" +#define KEYBOARD_TAG "keyboard" #define Z80_TAG "u39" #define Z80SIO_TAG "u16" #define Z80CTCA_TAG "u37" @@ -102,17 +103,18 @@ class bigbord2_state : public driver_device { public: bigbord2_state(const machine_config &mconfig, device_type type, const char *tag) - : driver_device(mconfig, type, tag) - , m_maincpu(*this, Z80_TAG) - , m_6845(*this, "crtc") - , m_ctca(*this, Z80CTCA_TAG) - , m_ctcb(*this, Z80CTCA_TAG) - , m_dma(*this, Z80DMA_TAG) - , m_fdc(*this, "fdc") - , m_floppy0(*this, "fdc:0") - , m_floppy1(*this, "fdc:1") - , m_beeper(*this, "beeper") - { } + : driver_device(mconfig, type, tag), + m_maincpu(*this, Z80_TAG), + m_6845(*this, "crtc"), + m_ctca(*this, Z80CTCA_TAG), + m_ctcb(*this, Z80CTCA_TAG), + m_dma(*this, Z80DMA_TAG), + m_fdc(*this, "fdc"), + m_floppy0(*this, "fdc:0"), + m_floppy1(*this, "fdc:1"), + m_beeper(*this, "beeper") + { + } DECLARE_WRITE8_MEMBER(portc8_w ); DECLARE_WRITE8_MEMBER(portcc_w ); diff --git a/src/mess/drivers/binbug.c b/src/mess/drivers/binbug.c index 432abdc8587..2f986faa79e 100644 --- a/src/mess/drivers/binbug.c +++ b/src/mess/drivers/binbug.c @@ -50,24 +50,26 @@ ****************************************************************************/ -#include "emu.h" +#include "bus/rs232/keyboard.h" #include "cpu/s2650/s2650.h" -#include "machine/keyboard.h" #include "imagedev/cassette.h" #include "sound/wave.h" #include "imagedev/snapquik.h" +#define KEYBOARD_TAG "keyboard" class binbug_state : public driver_device { public: binbug_state(const machine_config &mconfig, device_type type, const char *tag) : driver_device(mconfig, type, tag), - m_keyboard(*this, KEYBOARD_TAG), - m_cass(*this, "cassette"), - m_p_videoram(*this, "videoram"), - m_p_attribram(*this, "attribram") , - m_maincpu(*this, "maincpu") { } + m_keyboard(*this, KEYBOARD_TAG), + m_cass(*this, "cassette"), + m_p_videoram(*this, "videoram"), + m_p_attribram(*this, "attribram"), + m_maincpu(*this, "maincpu") + { + } DECLARE_WRITE8_MEMBER(binbug_ctrl_w); DECLARE_READ8_MEMBER(binbug_serial_r); diff --git a/src/mess/drivers/bullet.c b/src/mess/drivers/bullet.c index 549feb8c0d4..23278584b14 100644 --- a/src/mess/drivers/bullet.c +++ b/src/mess/drivers/bullet.c @@ -59,6 +59,7 @@ Notes: */ #include "includes/bullet.h" +#include "bus/rs232/rs232.h" @@ -759,15 +760,15 @@ static Z80DART_INTERFACE( dart_intf ) { 0, 0, 0, 0, - DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, serial_port_device, tx), - DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, dtr_w), - DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, rts_w), + DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, write_txd), + DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, write_dtr), + DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, write_rts), DEVCB_DRIVER_LINE_MEMBER(bullet_state, dartardy_w), DEVCB_NULL, - DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, serial_port_device, tx), - DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, rs232_port_device, dtr_w), - DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, rs232_port_device, rts_w), + DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, rs232_port_device, write_txd), + DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, rs232_port_device, write_dtr), + DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, rs232_port_device, write_rts), DEVCB_DRIVER_LINE_MEMBER(bullet_state, dartbrdy_w), DEVCB_NULL, @@ -1259,11 +1260,11 @@ static MACHINE_CONFIG_START( bullet, bullet_state ) MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", CENTRONICS_TAG) MCFG_RS232_PORT_ADD(RS232_A_TAG, default_rs232_devices, "serial_terminal") - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(Z80DART_TAG, z80dart_device, rxa_w)) + MCFG_RS232_RXD_HANDLER(DEVWRITELINE(Z80DART_TAG, z80dart_device, rxa_w)) MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("serial_terminal", terminal) MCFG_RS232_PORT_ADD(RS232_B_TAG, default_rs232_devices, NULL) - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(Z80DART_TAG, z80dart_device, rxb_w)) + MCFG_RS232_RXD_HANDLER(DEVWRITELINE(Z80DART_TAG, z80dart_device, rxb_w)) // software lists MCFG_SOFTWARE_LIST_ADD("flop_list", "wmbullet") @@ -1309,11 +1310,11 @@ static MACHINE_CONFIG_START( bulletf, bulletf_state ) MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", CENTRONICS_TAG) MCFG_RS232_PORT_ADD(RS232_A_TAG, default_rs232_devices, "serial_terminal") - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(Z80DART_TAG, z80dart_device, rxa_w)) + MCFG_RS232_RXD_HANDLER(DEVWRITELINE(Z80DART_TAG, z80dart_device, rxa_w)) MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("serial_terminal", terminal) MCFG_RS232_PORT_ADD(RS232_B_TAG, default_rs232_devices, NULL) - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(Z80DART_TAG, z80dart_device, rxb_w)) + MCFG_RS232_RXD_HANDLER(DEVWRITELINE(Z80DART_TAG, z80dart_device, rxb_w)) MCFG_SCSIBUS_ADD(SCSIBUS_TAG) MCFG_SCSIDEV_ADD(SCSIBUS_TAG ":harddisk0", SCSIHD, SCSI_ID_0) diff --git a/src/mess/drivers/bw12.c b/src/mess/drivers/bw12.c index 5b3967afea2..64741c7b3e8 100644 --- a/src/mess/drivers/bw12.c +++ b/src/mess/drivers/bw12.c @@ -24,6 +24,7 @@ ****************************************************************************/ #include "includes/bw12.h" +#include "bus/rs232/rs232.h" /* @@ -436,15 +437,15 @@ static Z80SIO_INTERFACE( sio_intf ) { 0, 0, 0, 0, - DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, serial_port_device, tx), - DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, dtr_w), - DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, rts_w), + DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, write_txd), + DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, write_dtr), + DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, write_rts), DEVCB_NULL, DEVCB_NULL, - DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, serial_port_device, tx), - DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, rs232_port_device, dtr_w), - DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, rs232_port_device, rts_w), + DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, rs232_port_device, write_txd), + DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, rs232_port_device, write_dtr), + DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, rs232_port_device, write_rts), DEVCB_NULL, DEVCB_NULL, @@ -645,14 +646,14 @@ static MACHINE_CONFIG_START( common, bw12_state ) MCFG_AY3600_DATA_READY_CB(WRITELINE(bw12_state, ay3600_data_ready_w)) MCFG_RS232_PORT_ADD(RS232_A_TAG, default_rs232_devices, NULL) - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(Z80SIO_TAG, z80dart_device, rxa_w)) - MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE(Z80SIO_TAG, z80dart_device, dcda_w)) - MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE(Z80SIO_TAG, z80dart_device, ctsa_w)) + MCFG_RS232_RXD_HANDLER(DEVWRITELINE(Z80SIO_TAG, z80dart_device, rxa_w)) + MCFG_RS232_DCD_HANDLER(DEVWRITELINE(Z80SIO_TAG, z80dart_device, dcda_w)) + MCFG_RS232_CTS_HANDLER(DEVWRITELINE(Z80SIO_TAG, z80dart_device, ctsa_w)) MCFG_RS232_PORT_ADD(RS232_B_TAG, default_rs232_devices, NULL) - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(Z80SIO_TAG, z80dart_device, rxb_w)) - MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE(Z80SIO_TAG, z80dart_device, dcdb_w)) - MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE(Z80SIO_TAG, z80dart_device, ctsb_w)) + MCFG_RS232_RXD_HANDLER(DEVWRITELINE(Z80SIO_TAG, z80dart_device, rxb_w)) + MCFG_RS232_DCD_HANDLER(DEVWRITELINE(Z80SIO_TAG, z80dart_device, dcdb_w)) + MCFG_RS232_CTS_HANDLER(DEVWRITELINE(Z80SIO_TAG, z80dart_device, ctsb_w)) /* printer */ MCFG_CENTRONICS_ADD("centronics", centronics_printers, "image") diff --git a/src/mess/drivers/bw2.c b/src/mess/drivers/bw2.c index 20979514a6f..59a09bea8db 100644 --- a/src/mess/drivers/bw2.c +++ b/src/mess/drivers/bw2.c @@ -25,6 +25,7 @@ ***************************************************************************/ #include "includes/bw2.h" +#include "bus/rs232/rs232.h" @@ -555,9 +556,9 @@ static const struct pit8253_interface pit_intf = static const i8251_interface usart_intf = { - DEVCB_DEVICE_LINE_MEMBER(RS232_TAG, serial_port_device, tx), - DEVCB_DEVICE_LINE_MEMBER(RS232_TAG, rs232_port_device, dtr_w), - DEVCB_DEVICE_LINE_MEMBER(RS232_TAG, rs232_port_device, rts_w), + DEVCB_DEVICE_LINE_MEMBER(RS232_TAG, rs232_port_device, write_txd), + DEVCB_DEVICE_LINE_MEMBER(RS232_TAG, rs232_port_device, write_dtr), + DEVCB_DEVICE_LINE_MEMBER(RS232_TAG, rs232_port_device, write_rts), DEVCB_NULL, DEVCB_NULL, DEVCB_NULL, @@ -671,8 +672,8 @@ static MACHINE_CONFIG_START( bw2, bw2_state ) MCFG_BW2_EXPANSION_SLOT_ADD(BW2_EXPANSION_SLOT_TAG, XTAL_16MHz, bw2_expansion_cards, NULL) MCFG_RS232_PORT_ADD(RS232_TAG, default_rs232_devices, NULL) - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(I8251_TAG, i8251_device, write_rx)) - MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE(I8251_TAG, i8251_device, write_dsr)) + MCFG_RS232_RXD_HANDLER(DEVWRITELINE(I8251_TAG, i8251_device, write_rx)) + MCFG_RS232_DSR_HANDLER(DEVWRITELINE(I8251_TAG, i8251_device, write_dsr)) // software list MCFG_SOFTWARE_LIST_ADD("flop_list","bw2") diff --git a/src/mess/drivers/c900.c b/src/mess/drivers/c900.c index 2a3dd9e1857..88d707298ab 100644 --- a/src/mess/drivers/c900.c +++ b/src/mess/drivers/c900.c @@ -20,15 +20,17 @@ #include "cpu/z8000/z8000.h" #include "machine/terminal.h" +#define TERMINAL_TAG "terminal" class c900_state : public driver_device { public: c900_state(const machine_config &mconfig, device_type type, const char *tag) - : driver_device(mconfig, type, tag) - , m_maincpu(*this, "maincpu") - , m_terminal(*this, TERMINAL_TAG) - { } + : driver_device(mconfig, type, tag), + m_maincpu(*this, "maincpu"), + m_terminal(*this, TERMINAL_TAG) + { + } DECLARE_READ16_MEMBER(port1e_r); DECLARE_READ16_MEMBER(key_r); diff --git a/src/mess/drivers/cbm2.c b/src/mess/drivers/cbm2.c index d2d5046dad4..caf45190581 100644 --- a/src/mess/drivers/cbm2.c +++ b/src/mess/drivers/cbm2.c @@ -11,6 +11,7 @@ */ #include "includes/cbm2.h" +#include "bus/rs232/rs232.h" @@ -2168,7 +2169,7 @@ static MACHINE_CONFIG_START( p500_ntsc, p500_state ) MCFG_DEVICE_ADD(MOS6551A_TAG, MOS6551, XTAL_1_8432MHz) MCFG_MOS6551_IRQ_HANDLER(DEVWRITELINE(MOS6525_1_TAG, tpi6525_device, i4_w)) - MCFG_MOS6551_TXD_HANDLER(DEVWRITELINE(RS232_TAG, rs232_port_device, tx)) + MCFG_MOS6551_TXD_HANDLER(DEVWRITELINE(RS232_TAG, rs232_port_device, write_txd)) MCFG_MOS6526_ADD(MOS6526_TAG, VIC6567_CLOCK, 60, DEVWRITELINE(MOS6525_1_TAG, tpi6525_device, i2_w)) MCFG_MOS6526_SERIAL_CALLBACKS(DEVWRITELINE(CBM2_USER_PORT_TAG, cbm2_user_port_device, cnt_w), DEVWRITELINE(CBM2_USER_PORT_TAG, cbm2_user_port_device, sp_w)) @@ -2186,10 +2187,10 @@ static MACHINE_CONFIG_START( p500_ntsc, p500_state ) MCFG_CBM2_USER_PORT_ADD(CBM2_USER_PORT_TAG, p500_user_intf, cbm2_user_port_cards, NULL) MCFG_RS232_PORT_ADD(RS232_TAG, default_rs232_devices, NULL) - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(MOS6551A_TAG, mos6551_device, rxd_w)) - MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE(MOS6551A_TAG, mos6551_device, dcd_w)) - MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE(MOS6551A_TAG, mos6551_device, dsr_w)) - MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE(MOS6551A_TAG, mos6551_device, cts_w)) + MCFG_RS232_RXD_HANDLER(DEVWRITELINE(MOS6551A_TAG, mos6551_device, rxd_w)) + MCFG_RS232_DCD_HANDLER(DEVWRITELINE(MOS6551A_TAG, mos6551_device, dcd_w)) + MCFG_RS232_DSR_HANDLER(DEVWRITELINE(MOS6551A_TAG, mos6551_device, dsr_w)) + MCFG_RS232_CTS_HANDLER(DEVWRITELINE(MOS6551A_TAG, mos6551_device, cts_w)) MCFG_QUICKLOAD_ADD("quickload", p500_state, p500, "p00,prg", CBM_QUICKLOAD_DELAY_SECONDS) @@ -2234,7 +2235,7 @@ static MACHINE_CONFIG_START( p500_pal, p500_state ) MCFG_DEVICE_ADD(MOS6551A_TAG, MOS6551, XTAL_1_8432MHz) MCFG_MOS6551_IRQ_HANDLER(DEVWRITELINE(MOS6525_1_TAG, tpi6525_device, i4_w)) - MCFG_MOS6551_TXD_HANDLER(DEVWRITELINE(RS232_TAG, rs232_port_device, tx)) + MCFG_MOS6551_TXD_HANDLER(DEVWRITELINE(RS232_TAG, rs232_port_device, write_txd)) MCFG_MOS6526_ADD(MOS6526_TAG, VIC6569_CLOCK, 50, DEVWRITELINE(MOS6525_1_TAG, tpi6525_device, i2_w)) MCFG_MOS6526_SERIAL_CALLBACKS(DEVWRITELINE(CBM2_USER_PORT_TAG, cbm2_user_port_device, cnt_w), DEVWRITELINE(CBM2_USER_PORT_TAG, cbm2_user_port_device, sp_w)) @@ -2252,10 +2253,10 @@ static MACHINE_CONFIG_START( p500_pal, p500_state ) MCFG_CBM2_USER_PORT_ADD(CBM2_USER_PORT_TAG, p500_user_intf, cbm2_user_port_cards, NULL) MCFG_RS232_PORT_ADD(RS232_TAG, default_rs232_devices, NULL) - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(MOS6551A_TAG, mos6551_device, rxd_w)) - MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE(MOS6551A_TAG, mos6551_device, dcd_w)) - MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE(MOS6551A_TAG, mos6551_device, dsr_w)) - MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE(MOS6551A_TAG, mos6551_device, cts_w)) + MCFG_RS232_RXD_HANDLER(DEVWRITELINE(MOS6551A_TAG, mos6551_device, rxd_w)) + MCFG_RS232_DCD_HANDLER(DEVWRITELINE(MOS6551A_TAG, mos6551_device, dcd_w)) + MCFG_RS232_DSR_HANDLER(DEVWRITELINE(MOS6551A_TAG, mos6551_device, dsr_w)) + MCFG_RS232_CTS_HANDLER(DEVWRITELINE(MOS6551A_TAG, mos6551_device, cts_w)) MCFG_QUICKLOAD_ADD("quickload", p500_state, p500, "p00,prg", CBM_QUICKLOAD_DELAY_SECONDS) @@ -2307,7 +2308,7 @@ static MACHINE_CONFIG_START( cbm2lp_ntsc, cbm2_state ) MCFG_DEVICE_ADD(MOS6551A_TAG, MOS6551, XTAL_1_8432MHz) MCFG_MOS6551_IRQ_HANDLER(DEVWRITELINE(MOS6525_1_TAG, tpi6525_device, i4_w)) - MCFG_MOS6551_TXD_HANDLER(DEVWRITELINE(RS232_TAG, rs232_port_device, tx)) + MCFG_MOS6551_TXD_HANDLER(DEVWRITELINE(RS232_TAG, rs232_port_device, write_txd)) MCFG_MOS6526_ADD(MOS6526_TAG, XTAL_18MHz/9, 60, DEVWRITELINE(MOS6525_1_TAG, tpi6525_device, i2_w)) MCFG_MOS6526_SERIAL_CALLBACKS(DEVWRITELINE(CBM2_USER_PORT_TAG, cbm2_user_port_device, cnt_w), DEVWRITELINE(CBM2_USER_PORT_TAG, cbm2_user_port_device, sp_w)) @@ -2324,10 +2325,10 @@ static MACHINE_CONFIG_START( cbm2lp_ntsc, cbm2_state ) MCFG_CBM2_USER_PORT_ADD(CBM2_USER_PORT_TAG, user_intf, cbm2_user_port_cards, NULL) MCFG_RS232_PORT_ADD(RS232_TAG, default_rs232_devices, NULL) - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(MOS6551A_TAG, mos6551_device, rxd_w)) - MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE(MOS6551A_TAG, mos6551_device, dcd_w)) - MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE(MOS6551A_TAG, mos6551_device, dsr_w)) - MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE(MOS6551A_TAG, mos6551_device, cts_w)) + MCFG_RS232_RXD_HANDLER(DEVWRITELINE(MOS6551A_TAG, mos6551_device, rxd_w)) + MCFG_RS232_DCD_HANDLER(DEVWRITELINE(MOS6551A_TAG, mos6551_device, dcd_w)) + MCFG_RS232_DSR_HANDLER(DEVWRITELINE(MOS6551A_TAG, mos6551_device, dsr_w)) + MCFG_RS232_CTS_HANDLER(DEVWRITELINE(MOS6551A_TAG, mos6551_device, cts_w)) MCFG_QUICKLOAD_ADD("quickload", cbm2_state, cbmb, "p00,prg,t64", CBM_QUICKLOAD_DELAY_SECONDS) diff --git a/src/mess/drivers/ccs2810.c b/src/mess/drivers/ccs2810.c index 94666282133..2ce5a2f6594 100644 --- a/src/mess/drivers/ccs2810.c +++ b/src/mess/drivers/ccs2810.c @@ -66,17 +66,19 @@ ToDo: #include "machine/terminal.h" #include "machine/wd_fdc.h" +#define TERMINAL_TAG "terminal" class ccs_state : public driver_device { public: ccs_state(const machine_config &mconfig, device_type type, const char *tag) - : driver_device(mconfig, type, tag) - , m_maincpu(*this, "maincpu") - , m_terminal(*this, TERMINAL_TAG) - , m_fdc (*this, "fdc") - , m_floppy0(*this, "fdc:0") - { } + : driver_device(mconfig, type, tag), + m_maincpu(*this, "maincpu"), + m_terminal(*this, TERMINAL_TAG), + m_fdc (*this, "fdc"), + m_floppy0(*this, "fdc:0") + { + } DECLARE_DRIVER_INIT(ccs2810); DECLARE_DRIVER_INIT(ccs2422); diff --git a/src/mess/drivers/ccs300.c b/src/mess/drivers/ccs300.c index ecde740914b..4bf4ba8a4b8 100644 --- a/src/mess/drivers/ccs300.c +++ b/src/mess/drivers/ccs300.c @@ -23,15 +23,17 @@ There's unknown usage of ports 11 thru 1B, 34, and F0 thru F2. #include "cpu/z80/z80.h" #include "machine/terminal.h" +#define TERMINAL_TAG "terminal" class ccs300_state : public driver_device { public: ccs300_state(const machine_config &mconfig, device_type type, const char *tag) - : driver_device(mconfig, type, tag) - , m_maincpu(*this, "maincpu") - , m_terminal(*this, TERMINAL_TAG) - { } + : driver_device(mconfig, type, tag), + m_maincpu(*this, "maincpu"), + m_terminal(*this, TERMINAL_TAG) + { + } DECLARE_DRIVER_INIT(ccs300); DECLARE_MACHINE_RESET(ccs300); diff --git a/src/mess/drivers/cd2650.c b/src/mess/drivers/cd2650.c index ef580c11da4..d1b44459d05 100644 --- a/src/mess/drivers/cd2650.c +++ b/src/mess/drivers/cd2650.c @@ -36,17 +36,19 @@ TODO #include "sound/wave.h" #include "sound/beep.h" +#define KEYBOARD_TAG "keyboard" class cd2650_state : public driver_device { public: cd2650_state(const machine_config &mconfig, device_type type, const char *tag) - : driver_device(mconfig, type, tag) - , m_p_videoram(*this, "videoram") - , m_maincpu(*this, "maincpu") - , m_beep(*this, "beeper") - , m_cass(*this, "cassette") - { } + : driver_device(mconfig, type, tag), + m_p_videoram(*this, "videoram"), + m_maincpu(*this, "maincpu"), + m_beep(*this, "beeper"), + m_cass(*this, "cassette") + { + } DECLARE_READ8_MEMBER(keyin_r); DECLARE_WRITE8_MEMBER(beep_w); @@ -57,6 +59,7 @@ public: const UINT8 *m_p_chargen; UINT32 screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); required_shared_ptr<UINT8> m_p_videoram; + private: UINT8 m_term_data; virtual void machine_reset(); diff --git a/src/mess/drivers/chaos.c b/src/mess/drivers/chaos.c index b2d9ccd95c9..73eecec4142 100644 --- a/src/mess/drivers/chaos.c +++ b/src/mess/drivers/chaos.c @@ -33,15 +33,18 @@ #include "cpu/s2650/s2650.h" #include "machine/terminal.h" +#define TERMINAL_TAG "terminal" class chaos_state : public driver_device { public: chaos_state(const machine_config &mconfig, device_type type, const char *tag) : driver_device(mconfig, type, tag), - m_terminal(*this, TERMINAL_TAG), - m_p_ram(*this, "p_ram") , - m_maincpu(*this, "maincpu") { } + m_terminal(*this, TERMINAL_TAG), + m_p_ram(*this, "p_ram") , + m_maincpu(*this, "maincpu") + { + } DECLARE_READ8_MEMBER(port1e_r); DECLARE_WRITE8_MEMBER(port1f_w); diff --git a/src/mess/drivers/clcd.c b/src/mess/drivers/clcd.c index 4a908957cfa..71288f57d2b 100644 --- a/src/mess/drivers/clcd.c +++ b/src/mess/drivers/clcd.c @@ -10,15 +10,14 @@ ****************************************************************************/ -#include "emu.h" #include "bus/centronics/ctronics.h" +#include "bus/rs232/rs232.h" #include "cpu/m6502/m65c02.h" #include "machine/6522via.h" #include "machine/bankdev.h" #include "machine/mos6551.h" #include "machine/msm58321.h" #include "machine/ram.h" -#include "machine/serial.h" #include "sound/speaker.h" #include "rendlay.h" #include "mcfglgcy.h" @@ -729,15 +728,15 @@ static MACHINE_CONFIG_START(clcd, clcd_state) MCFG_DEVICE_ADD("acia", MOS6551, XTAL_1_8432MHz) MCFG_MOS6551_IRQ_HANDLER(DEVWRITELINE("maincpu", m65c02_device, nmi_line)) - MCFG_MOS6551_TXD_HANDLER(DEVWRITELINE("rs232", rs232_port_device, tx)) - MCFG_MOS6551_RTS_HANDLER(DEVWRITELINE("rs232", rs232_port_device, rts_w)) - MCFG_MOS6551_DTR_HANDLER(DEVWRITELINE("rs232", rs232_port_device, dtr_w)) + MCFG_MOS6551_TXD_HANDLER(DEVWRITELINE("rs232", rs232_port_device, write_txd)) + MCFG_MOS6551_RTS_HANDLER(DEVWRITELINE("rs232", rs232_port_device, write_rts)) + MCFG_MOS6551_DTR_HANDLER(DEVWRITELINE("rs232", rs232_port_device, write_dtr)) MCFG_RS232_PORT_ADD("rs232", default_rs232_devices, NULL) - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE("acia", mos6551_device, rxd_w)) - MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE("acia", mos6551_device, dcd_w)) - MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE("acia", mos6551_device, dsr_w)) - MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE("via1", via6522_device, write_pb4)) + MCFG_RS232_RXD_HANDLER(DEVWRITELINE("acia", mos6551_device, rxd_w)) + MCFG_RS232_DCD_HANDLER(DEVWRITELINE("acia", mos6551_device, dcd_w)) + MCFG_RS232_DSR_HANDLER(DEVWRITELINE("acia", mos6551_device, dsr_w)) + MCFG_RS232_CTS_HANDLER(DEVWRITELINE("via1", via6522_device, write_pb4)) MCFG_CENTRONICS_ADD("centronics", centronics_printers, "image") MCFG_CENTRONICS_BUSY_HANDLER(DEVWRITELINE("via1", via6522_device, write_pb6)) MCFG_DEVCB_XOR(1) diff --git a/src/mess/drivers/cm1800.c b/src/mess/drivers/cm1800.c index 93ad7b03e60..e27c7572ab8 100644 --- a/src/mess/drivers/cm1800.c +++ b/src/mess/drivers/cm1800.c @@ -37,13 +37,17 @@ to be a save command. #include "cpu/i8085/i8085.h" #include "machine/terminal.h" +#define TERMINAL_TAG "terminal" + class cm1800_state : public driver_device { public: cm1800_state(const machine_config &mconfig, device_type type, const char *tag) : driver_device(mconfig, type, tag), - m_terminal(*this, TERMINAL_TAG) , - m_maincpu(*this, "maincpu") { } + m_terminal(*this, TERMINAL_TAG) , + m_maincpu(*this, "maincpu") + { + } DECLARE_READ8_MEMBER( term_status_r ); DECLARE_READ8_MEMBER( term_r ); diff --git a/src/mess/drivers/codata.c b/src/mess/drivers/codata.c index 0652da5f7a2..20a1569c184 100644 --- a/src/mess/drivers/codata.c +++ b/src/mess/drivers/codata.c @@ -15,16 +15,18 @@ #include "cpu/m68000/m68000.h" #include "machine/terminal.h" +#define TERMINAL_TAG "terminal" class codata_state : public driver_device { public: codata_state(const machine_config &mconfig, device_type type, const char *tag) - : driver_device(mconfig, type, tag) - , m_p_base(*this, "rambase") - , m_terminal(*this, TERMINAL_TAG) - , m_maincpu(*this, "maincpu") - { } + : driver_device(mconfig, type, tag), + m_p_base(*this, "rambase"), + m_terminal(*this, TERMINAL_TAG), + m_maincpu(*this, "maincpu") + { + } DECLARE_READ16_MEMBER(keyin_r); DECLARE_READ16_MEMBER(status_r); diff --git a/src/mess/drivers/compis.c b/src/mess/drivers/compis.c index cca403ebd3f..64d32a10b7c 100644 --- a/src/mess/drivers/compis.c +++ b/src/mess/drivers/compis.c @@ -41,6 +41,7 @@ ******************************************************************************/ #include "includes/compis.h" +#include "bus/rs232/rs232.h" @@ -651,15 +652,15 @@ static I8274_INTERFACE( mpsc_intf ) { 0, 0, 0, 0, - DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, serial_port_device, tx), - DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, dtr_w), - DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, rts_w), + DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, write_txd), + DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, write_dtr), + DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, write_rts), DEVCB_NULL, DEVCB_NULL, - DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, serial_port_device, tx), - DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, rs232_port_device, dtr_w), - DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, rs232_port_device, rts_w), + DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, rs232_port_device, write_txd), + DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, rs232_port_device, write_dtr), + DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, rs232_port_device, write_rts), DEVCB_NULL, DEVCB_NULL, @@ -774,14 +775,14 @@ static MACHINE_CONFIG_START( compis, compis_state ) MCFG_CASSETTE_ADD(CASSETTE_TAG, compis_cassette_interface) MCFG_RS232_PORT_ADD(RS232_A_TAG, default_rs232_devices, NULL) - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(I8274_TAG, z80dart_device, rxa_w)) - MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE(I8274_TAG, z80dart_device, dcda_w)) - MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE(I8274_TAG, z80dart_device, ctsa_w)) + MCFG_RS232_RXD_HANDLER(DEVWRITELINE(I8274_TAG, z80dart_device, rxa_w)) + MCFG_RS232_DCD_HANDLER(DEVWRITELINE(I8274_TAG, z80dart_device, dcda_w)) + MCFG_RS232_CTS_HANDLER(DEVWRITELINE(I8274_TAG, z80dart_device, ctsa_w)) MCFG_RS232_PORT_ADD(RS232_B_TAG, default_rs232_devices, NULL) - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(I8274_TAG, z80dart_device, rxb_w)) - MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE(I8274_TAG, z80dart_device, dcdb_w)) - MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE(I8274_TAG, z80dart_device, ctsb_w)) + MCFG_RS232_RXD_HANDLER(DEVWRITELINE(I8274_TAG, z80dart_device, rxb_w)) + MCFG_RS232_DCD_HANDLER(DEVWRITELINE(I8274_TAG, z80dart_device, dcdb_w)) + MCFG_RS232_CTS_HANDLER(DEVWRITELINE(I8274_TAG, z80dart_device, ctsb_w)) MCFG_CENTRONICS_ADD(CENTRONICS_TAG, centronics_printers, "image") diff --git a/src/mess/drivers/compucolor.c b/src/mess/drivers/compucolor.c index c76e9b63fac..592b052d140 100644 --- a/src/mess/drivers/compucolor.c +++ b/src/mess/drivers/compucolor.c @@ -25,11 +25,10 @@ #define CRT5027_TAG "uf9" #define RS232_TAG "rs232" -#include "emu.h" +#include "bus/rs232/rs232.h" #include "cpu/i8085/i8085.h" #include "machine/compclr_flp.h" #include "machine/ram.h" -#include "machine/serial.h" #include "machine/tms5501.h" #include "video/tms9927.h" @@ -411,15 +410,15 @@ WRITE_LINE_MEMBER( compucolor2_state::xmt_w ) switch ((m_xo >> 4) & 0x03) { case 0: - m_rs232->tx(state); + m_rs232->write_txd(state); break; case 1: - m_floppy0->tx(state); + m_floppy0->write_txd(state); break; case 2: - m_floppy1->tx(state); + m_floppy1->write_txd(state); break; } } @@ -439,8 +438,8 @@ void compucolor2_state::machine_start() void compucolor2_state::machine_reset() { - m_rs232->rts_w(1); - m_rs232->dtr_w(1); + m_rs232->write_rts(1); + m_rs232->write_dtr(1); } void compucolor2_state::palette_init() @@ -474,12 +473,15 @@ static MACHINE_CONFIG_START( compucolor2, compucolor2_state ) MCFG_TMS5501_XMT_CALLBACK(WRITELINE(compucolor2_state, xmt_w)) MCFG_TMS5501_XI_CALLBACK(READ8(compucolor2_state, xi_r)) MCFG_TMS5501_XO_CALLBACK(WRITE8(compucolor2_state, xo_w)) + MCFG_RS232_PORT_ADD(RS232_TAG, default_rs232_devices, NULL) - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(TMS5501_TAG, tms5501_device, rcv_w)) + MCFG_RS232_RXD_HANDLER(DEVWRITELINE(TMS5501_TAG, tms5501_device, rcv_w)) + MCFG_COMPUCOLOR_FLOPPY_PORT_ADD("cd0", compucolor_floppy_port_devices, "floppy") - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(TMS5501_TAG, tms5501_device, rcv_w)) + MCFG_RS232_RXD_HANDLER(DEVWRITELINE(TMS5501_TAG, tms5501_device, rcv_w)) + MCFG_COMPUCOLOR_FLOPPY_PORT_ADD("cd1", compucolor_floppy_port_devices, NULL) - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(TMS5501_TAG, tms5501_device, rcv_w)) + MCFG_RS232_RXD_HANDLER(DEVWRITELINE(TMS5501_TAG, tms5501_device, rcv_w)) // internal ram MCFG_RAM_ADD(RAM_TAG) diff --git a/src/mess/drivers/czk80.c b/src/mess/drivers/czk80.c index fc4dcd976cc..5a2424a74d0 100644 --- a/src/mess/drivers/czk80.c +++ b/src/mess/drivers/czk80.c @@ -49,16 +49,18 @@ I/O ports: These ranges are what is guessed #include "machine/z80ctc.h" #include "machine/terminal.h" +#define TERMINAL_TAG "terminal" class czk80_state : public driver_device { public: czk80_state(const machine_config &mconfig, device_type type, const char *tag) - : driver_device(mconfig, type, tag) - , m_maincpu(*this, "maincpu") - , m_terminal(*this, TERMINAL_TAG) - , m_fdc(*this, "fdc") - { } + : driver_device(mconfig, type, tag), + m_maincpu(*this, "maincpu"), + m_terminal(*this, TERMINAL_TAG), + m_fdc(*this, "fdc") + { + } DECLARE_DRIVER_INIT(czk80); DECLARE_MACHINE_RESET(czk80); @@ -162,8 +164,8 @@ 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_NULL,//DEVCB_DEVICE_LINE_MEMBER("rs232", rs232_port_device, write_dtr), + DEVCB_NULL,//DEVCB_DEVICE_LINE_MEMBER("rs232", rs232_port_device, write_rts), DEVCB_NULL, DEVCB_NULL, diff --git a/src/mess/drivers/d6809.c b/src/mess/drivers/d6809.c index 9fba5e4e2cc..a21f42d667b 100644 --- a/src/mess/drivers/d6809.c +++ b/src/mess/drivers/d6809.c @@ -86,15 +86,17 @@ devices. #include "cpu/m6809/m6809.h" #include "machine/terminal.h" +#define TERMINAL_TAG "terminal" class d6809_state : public driver_device { public: d6809_state(const machine_config &mconfig, device_type type, const char *tag) : driver_device(mconfig, type, tag), - m_maincpu(*this, "maincpu"), - m_terminal(*this, TERMINAL_TAG) - { } + m_maincpu(*this, "maincpu"), + m_terminal(*this, TERMINAL_TAG) + { + } required_device<cpu_device> m_maincpu; required_device<generic_terminal_device> m_terminal; diff --git a/src/mess/drivers/dectalk.c b/src/mess/drivers/dectalk.c index 3abf4e4eced..03cfb28d22e 100644 --- a/src/mess/drivers/dectalk.c +++ b/src/mess/drivers/dectalk.c @@ -273,13 +273,12 @@ dgc (dg(no!spam)cx@mac.com) #undef SERIAL_TO_STDERR /* Core includes */ -#include "emu.h" +#include "bus/rs232/rs232.h" #include "cpu/m68000/m68000.h" #include "cpu/tms32010/tms32010.h" #include "machine/n68681.h" #include "machine/x2212.h" #include "sound/dac.h" -#include "machine/serial.h" class dectalk_state : public driver_device @@ -296,7 +295,9 @@ public: m_dsp(*this, "dsp"), m_duart(*this, "duartn68681"), m_nvram(*this, "x2212"), - m_dac(*this, "dac") { } + m_dac(*this, "dac") + { + } // input fifo, between m68k and tms32010 UINT16 m_infifo[32]; // technically eight 74LS224 4bit*16stage FIFO chips, arranged as a 32 stage, 16-bit wide fifo @@ -883,7 +884,7 @@ static MACHINE_CONFIG_START( dectalk, dectalk_state ) MCFG_DUARTN68681_ADD( "duartn68681", XTAL_3_6864MHz ) /* 2681 duart (not 68681!); Y3 3.6864MHz Xtal */ MCFG_DUARTN68681_IRQ_CALLBACK(WRITELINE(dectalk_state, dectalk_duart_irq_handler)) MCFG_DUARTN68681_A_TX_CALLBACK(WRITELINE(dectalk_state, dectalk_duart_txa)) - MCFG_DUARTN68681_B_TX_CALLBACK(DEVWRITELINE("rs232", serial_port_device, tx)) + MCFG_DUARTN68681_B_TX_CALLBACK(DEVWRITELINE("rs232", rs232_port_device, write_txd)) MCFG_DUARTN68681_INPORT_CALLBACK(READ8(dectalk_state, dectalk_duart_input)) MCFG_DUARTN68681_OUTPORT_CALLBACK(WRITE8(dectalk_state, dectalk_duart_output)) @@ -908,7 +909,7 @@ static MACHINE_CONFIG_START( dectalk, dectalk_state ) /* Y2 is a 3.579545 MHz xtal for the dtmf decoder chip */ MCFG_RS232_PORT_ADD("rs232", default_rs232_devices, "serial_terminal") - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE("duartn68681", duartn68681_device, rx_b_w)) + MCFG_RS232_RXD_HANDLER(DEVWRITELINE("duartn68681", duartn68681_device, rx_b_w)) MACHINE_CONFIG_END diff --git a/src/mess/drivers/digel804.c b/src/mess/drivers/digel804.c index 9dbdcd4c2a9..2219156e3d4 100644 --- a/src/mess/drivers/digel804.c +++ b/src/mess/drivers/digel804.c @@ -67,21 +67,22 @@ #include "machine/ram.h" #include "digel804.lh" +#define TERMINAL_TAG "terminal" class digel804_state : public driver_device { public: digel804_state(const machine_config &mconfig, device_type type, const char *tag) : driver_device(mconfig, type, tag), - m_maincpu(*this, "maincpu"), - m_terminal(*this, TERMINAL_TAG), - m_speaker(*this, "speaker"), - m_acia(*this, "acia"), - m_vfd(*this, "vfd"), - m_kb(*this, "74c923"), - m_ram(*this, RAM_TAG) - //, m_main_ram(*this, "main_ram") - { } + m_maincpu(*this, "maincpu"), + m_terminal(*this, TERMINAL_TAG), + m_speaker(*this, "speaker"), + m_acia(*this, "acia"), + m_vfd(*this, "vfd"), + m_kb(*this, "74c923"), + m_ram(*this, RAM_TAG) + { + } required_device<cpu_device> m_maincpu; required_device<generic_terminal_device> m_terminal; diff --git a/src/mess/drivers/dms86.c b/src/mess/drivers/dms86.c index 1387e188f0a..f2fb4f4df4e 100644 --- a/src/mess/drivers/dms86.c +++ b/src/mess/drivers/dms86.c @@ -26,15 +26,17 @@ the monitor and goes straight to "Joining HiNet". #include "cpu/i86/i86.h" #include "machine/terminal.h" +#define TERMINAL_TAG "terminal" class dms86_state : public driver_device { public: dms86_state(const machine_config &mconfig, device_type type, const char *tag) : driver_device(mconfig, type, tag), - m_maincpu(*this, "maincpu"), - m_terminal(*this, TERMINAL_TAG) - { } + m_maincpu(*this, "maincpu"), + m_terminal(*this, TERMINAL_TAG) + { + } required_device<cpu_device> m_maincpu; required_device<generic_terminal_device> m_terminal; diff --git a/src/mess/drivers/dsb46.c b/src/mess/drivers/dsb46.c index 3728fa01c6b..e5be4fd2e28 100644 --- a/src/mess/drivers/dsb46.c +++ b/src/mess/drivers/dsb46.c @@ -22,15 +22,17 @@ Both roms contain Z80 code. #include "cpu/z80/z80.h" #include "machine/terminal.h" +#define TERMINAL_TAG "terminal" class dsb46_state : public driver_device { public: dsb46_state(const machine_config &mconfig, device_type type, const char *tag) - : driver_device(mconfig, type, tag) - , m_maincpu(*this, "maincpu") - , m_terminal(*this, TERMINAL_TAG) - { } + : driver_device(mconfig, type, tag), + m_maincpu(*this, "maincpu"), + m_terminal(*this, TERMINAL_TAG) + { + } DECLARE_READ8_MEMBER(port00_r); DECLARE_READ8_MEMBER(port01_r); diff --git a/src/mess/drivers/dual68.c b/src/mess/drivers/dual68.c index 2c7c6c10b2d..78d66966152 100644 --- a/src/mess/drivers/dual68.c +++ b/src/mess/drivers/dual68.c @@ -11,16 +11,18 @@ #include "cpu/i8085/i8085.h" #include "machine/terminal.h" +#define TERMINAL_TAG "terminal" class dual68_state : public driver_device { public: dual68_state(const machine_config &mconfig, device_type type, const char *tag) : driver_device(mconfig, type, tag), - m_maincpu(*this, "maincpu"), - m_terminal(*this, TERMINAL_TAG) - , - m_p_ram(*this, "p_ram"){ } + m_maincpu(*this, "maincpu"), + m_terminal(*this, TERMINAL_TAG), + m_p_ram(*this, "p_ram") + { + } required_device<cpu_device> m_maincpu; required_device<generic_terminal_device> m_terminal; diff --git a/src/mess/drivers/ec65.c b/src/mess/drivers/ec65.c index 9198a251ff9..8f4f27222a7 100644 --- a/src/mess/drivers/ec65.c +++ b/src/mess/drivers/ec65.c @@ -22,6 +22,7 @@ #define VIA6522_0_TAG "via6522_0" #define VIA6522_1_TAG "via6522_1" #define MC6845_TAG "mc6845" +#define KEYBOARD_TAG "keyboard" class ec65_state : public driver_device { @@ -31,7 +32,9 @@ public: m_via_0(*this, VIA6522_0_TAG), m_via_1(*this, VIA6522_1_TAG), m_p_videoram(*this, "videoram"), - m_maincpu(*this, "maincpu") { } + m_maincpu(*this, "maincpu") + { + } DECLARE_WRITE8_MEMBER(kbd_put); UINT8 *m_p_chargen; diff --git a/src/mess/drivers/ep64.c b/src/mess/drivers/ep64.c index 9b69846c7de..8ae8311217f 100644 --- a/src/mess/drivers/ep64.c +++ b/src/mess/drivers/ep64.c @@ -254,7 +254,7 @@ READ8_MEMBER( ep64_state::rd1_r ) data |= m_centronics_busy << 3; // serial - data |= m_rs232->rx() << 4; + data |= m_rs232->rxd_r() << 4; data |= m_rs232->cts_r() << 5; // cassette @@ -286,8 +286,8 @@ WRITE8_MEMBER( ep64_state::wr2_w ) */ // serial - m_rs232->tx(!BIT(data, 0)); - m_rs232->rts_w(!BIT(data, 1)); + m_rs232->write_txd(!BIT(data, 0)); + m_rs232->write_rts(!BIT(data, 1)); } @@ -540,7 +540,7 @@ static MACHINE_CONFIG_START( ep64, ep64_state ) MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", CENTRONICS_TAG) MCFG_RS232_PORT_ADD(RS232_TAG, default_rs232_devices, NULL) - MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE(DAVE_TAG, dave_device, int2_w)) + MCFG_RS232_CTS_HANDLER(DEVWRITELINE(DAVE_TAG, dave_device, int2_w)) MCFG_CASSETTE_ADD(CASSETTE1_TAG, cass_intf) MCFG_CASSETTE_ADD(CASSETTE2_TAG, cass_intf) diff --git a/src/mess/drivers/esq1.c b/src/mess/drivers/esq1.c index e12c9271ab9..b2be6ea182f 100644 --- a/src/mess/drivers/esq1.c +++ b/src/mess/drivers/esq1.c @@ -178,16 +178,14 @@ NOTES: ***************************************************************************/ -#include "emu.h" +#include "bus/midi/midi.h" +#include "bus/midi/midiinport.h" +#include "bus/midi/midioutport.h" #include "cpu/m6809/m6809.h" #include "sound/es5503.h" #include "machine/n68681.h" #include "machine/wd_fdc.h" - #include "machine/esqpanel.h" -#include "machine/serial.h" -#include "machine/midiinport.h" -#include "machine/midioutport.h" #define WD1772_TAG "wd1772" @@ -399,7 +397,7 @@ public: required_device<esq1_filters> m_filters; optional_device<wd1772_t> m_fdc; optional_device<esqpanel2x40_device> m_panel; - optional_device<serial_port_device> m_mdout; + optional_device<midi_port_device> m_mdout; DECLARE_READ8_MEMBER(wd1772_r); DECLARE_WRITE8_MEMBER(wd1772_w); @@ -559,7 +557,7 @@ WRITE8_MEMBER(esq1_state::duart_output) // MIDI send WRITE_LINE_MEMBER(esq1_state::duart_tx_a) { - m_mdout->tx(state); + m_mdout->write_txd(state); } WRITE_LINE_MEMBER(esq1_state::duart_tx_b) @@ -613,10 +611,10 @@ static MACHINE_CONFIG_START( esq1, esq1_state ) MCFG_ESQPANEL2x40_ADD("panel", esqpanel_config) - MCFG_SERIAL_PORT_ADD("mdin", midiin_slot, "midiin") - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE("duart", duartn68681_device, rx_a_w)) // route MIDI Tx send directly to 68681 channel A Rx + MCFG_MIDI_PORT_ADD("mdin", midiin_slot, "midiin") + MCFG_MIDI_RX_HANDLER(DEVWRITELINE("duart", duartn68681_device, rx_a_w)) // route MIDI Tx send directly to 68681 channel A Rx - MCFG_SERIAL_PORT_ADD("mdout", midiout_slot, "midiout") + MCFG_MIDI_PORT_ADD("mdout", midiout_slot, "midiout") MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker") diff --git a/src/mess/drivers/esq5505.c b/src/mess/drivers/esq5505.c index 58b5a976c8e..fa7003f8dd0 100644 --- a/src/mess/drivers/esq5505.c +++ b/src/mess/drivers/esq5505.c @@ -126,7 +126,9 @@ #include <cstdio> -#include "emu.h" +#include "bus/midi/midi.h" +#include "bus/midi/midiinport.h" +#include "bus/midi/midioutport.h" #include "cpu/m68000/m68000.h" #include "sound/es5506.h" #include "sound/esqpump.h" @@ -137,9 +139,6 @@ #include "formats/esq16_dsk.h" #include "machine/esqvfd.h" #include "machine/esqpanel.h" -#include "machine/serial.h" -#include "machine/midiinport.h" -#include "machine/midioutport.h" #define GENERIC (0) #define EPS (1) @@ -183,7 +182,7 @@ public: optional_device<wd1772_t> m_fdc; required_device<esqpanel_device> m_panel; optional_device<hd63450_device> m_dmac; - required_device<serial_port_device> m_mdout; + required_device<midi_port_device> m_mdout; virtual void machine_start(); virtual void machine_reset(); @@ -502,7 +501,7 @@ WRITE8_MEMBER(esq5505_state::duart_output) // MIDI send WRITE_LINE_MEMBER(esq5505_state::duart_tx_a) { - m_mdout->tx(state); + m_mdout->write_txd(state); } WRITE_LINE_MEMBER(esq5505_state::duart_tx_b) @@ -660,10 +659,10 @@ static MACHINE_CONFIG_START( vfx, esq5505_state ) MCFG_DUARTN68681_OUTPORT_CALLBACK(WRITE8(esq5505_state, duart_output)) MCFG_DUARTN68681_SET_EXTERNAL_CLOCKS(500000, 500000, 1000000, 1000000) - MCFG_SERIAL_PORT_ADD("mdin", midiin_slot, "midiin") - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE("duart", duartn68681_device, rx_a_w)) // route MIDI Tx send directly to 68681 channel A Rx + MCFG_MIDI_PORT_ADD("mdin", midiin_slot, "midiin") + MCFG_MIDI_RX_HANDLER(DEVWRITELINE("duart", duartn68681_device, rx_a_w)) // route MIDI Tx send directly to 68681 channel A Rx - MCFG_SERIAL_PORT_ADD("mdout", midiout_slot, "midiout") + MCFG_MIDI_PORT_ADD("mdout", midiout_slot, "midiout") MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker") @@ -722,10 +721,10 @@ static MACHINE_CONFIG_START(vfx32, esq5505_state) MCFG_DUARTN68681_OUTPORT_CALLBACK(WRITE8(esq5505_state, duart_output)) MCFG_DUARTN68681_SET_EXTERNAL_CLOCKS(500000, 500000, 1000000, 1000000) - MCFG_SERIAL_PORT_ADD("mdin", midiin_slot, "midiin") - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE("duart", duartn68681_device, rx_a_w)) // route MIDI Tx send directly to 68681 channel A Rx + MCFG_MIDI_PORT_ADD("mdin", midiin_slot, "midiin") + MCFG_MIDI_RX_HANDLER(DEVWRITELINE("duart", duartn68681_device, rx_a_w)) // route MIDI Tx send directly to 68681 channel A Rx - MCFG_SERIAL_PORT_ADD("mdout", midiout_slot, "midiout") + MCFG_MIDI_PORT_ADD("mdout", midiout_slot, "midiout") MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker") diff --git a/src/mess/drivers/esqkt.c b/src/mess/drivers/esqkt.c index a37d1fd3151..6bd6060944c 100644 --- a/src/mess/drivers/esqkt.c +++ b/src/mess/drivers/esqkt.c @@ -21,15 +21,14 @@ ***************************************************************************/ -#include "emu.h" +#include "bus/midi/midi.h" +#include "bus/midi/midiinport.h" +#include "bus/midi/midioutport.h" #include "cpu/m68000/m68000.h" #include "cpu/es5510/es5510.h" #include "sound/es5506.h" #include "machine/n68681.h" #include "machine/esqpanel.h" -#include "machine/serial.h" -#include "machine/midiinport.h" -#include "machine/midioutport.h" class esqkt_state : public driver_device { @@ -47,7 +46,7 @@ public: required_device<es5510_device> m_esp; required_device<duartn68681_device> m_duart; required_device<esqpanel2x40_sq1_device> m_sq1panel; - required_device<serial_port_device> m_mdout; + required_device<midi_port_device> m_mdout; virtual void machine_reset(); @@ -189,7 +188,7 @@ WRITE8_MEMBER(esqkt_state::duart_output) WRITE_LINE_MEMBER(esqkt_state::duart_tx_a) { - m_mdout->tx(state); + m_mdout->write_txd(state); } WRITE_LINE_MEMBER(esqkt_state::duart_tx_b) @@ -250,10 +249,10 @@ static MACHINE_CONFIG_START( kt, esqkt_state ) MCFG_DUARTN68681_SET_EXTERNAL_CLOCKS(500000, 500000, 1000000, 1000000) MCFG_DUARTN68681_SET_EXTERNAL_CLOCKS(500000, 500000, 1000000, 1000000) - MCFG_SERIAL_PORT_ADD("mdin", midiin_slot, "midiin") - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE("duart", duartn68681_device, rx_a_w)) // route MIDI Tx send directly to 68681 channel A Rx + MCFG_MIDI_PORT_ADD("mdin", midiin_slot, "midiin") + MCFG_MIDI_RX_HANDLER(DEVWRITELINE("duart", duartn68681_device, rx_a_w)) // route MIDI Tx send directly to 68681 channel A Rx - MCFG_SERIAL_PORT_ADD("mdout", midiout_slot, "midiout") + MCFG_MIDI_PORT_ADD("mdout", midiout_slot, "midiout") MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker") MCFG_SOUND_ADD("ensoniq", ES5506, XTAL_16MHz) diff --git a/src/mess/drivers/evmbug.c b/src/mess/drivers/evmbug.c index b0f1d11fbcf..41a726ff14a 100644 --- a/src/mess/drivers/evmbug.c +++ b/src/mess/drivers/evmbug.c @@ -15,14 +15,17 @@ #include "cpu/tms9900/tms9995.h" #include "machine/terminal.h" +#define TERMINAL_TAG "terminal" + class evmbug_state : public driver_device { public: evmbug_state(const machine_config &mconfig, device_type type, const char *tag) - : driver_device(mconfig, type, tag) - , m_maincpu(*this, "maincpu") - , m_terminal(*this, TERMINAL_TAG) - { } + : driver_device(mconfig, type, tag), + m_maincpu(*this, "maincpu"), + m_terminal(*this, TERMINAL_TAG) + { + } DECLARE_READ8_MEMBER(rs232_r); DECLARE_WRITE8_MEMBER(rs232_w); diff --git a/src/mess/drivers/exp85.c b/src/mess/drivers/exp85.c index f010121474d..e7be716ced3 100644 --- a/src/mess/drivers/exp85.c +++ b/src/mess/drivers/exp85.c @@ -151,7 +151,7 @@ READ_LINE_MEMBER( exp85_state::sid_r ) } else { - data = m_rs232->rx(); + data = m_rs232->rxd_r(); } return data; @@ -165,7 +165,7 @@ WRITE_LINE_MEMBER( exp85_state::sod_w ) } else { - m_rs232->tx(state); + m_rs232->write_txd(state); } } diff --git a/src/mess/drivers/ft68m.c b/src/mess/drivers/ft68m.c index 8fa6e502c18..3b1d7807dbc 100644 --- a/src/mess/drivers/ft68m.c +++ b/src/mess/drivers/ft68m.c @@ -17,15 +17,18 @@ Interrupts: INT6 is output of Timer 2, INT7 is output of Timer 3 (refresh), #include "cpu/m68000/m68000.h" #include "machine/terminal.h" +#define TERMINAL_TAG "terminal" + class ft68m_state : public driver_device { public: ft68m_state(const machine_config &mconfig, device_type type, const char *tag) - : driver_device(mconfig, type, tag) - , m_p_base(*this, "rambase") - , m_maincpu(*this, "maincpu") - , m_terminal(*this, TERMINAL_TAG) - { } + : driver_device(mconfig, type, tag), + m_p_base(*this, "rambase"), + m_maincpu(*this, "maincpu"), + m_terminal(*this, TERMINAL_TAG) + { + } DECLARE_WRITE8_MEMBER(kbd_put); DECLARE_READ16_MEMBER(keyin_r); diff --git a/src/mess/drivers/h19.c b/src/mess/drivers/h19.c index d75456ef797..db6abfa191e 100644 --- a/src/mess/drivers/h19.c +++ b/src/mess/drivers/h19.c @@ -39,6 +39,7 @@ #include "machine/ins8250.h" #include "machine/keyboard.h" +#define KEYBOARD_TAG "keyboard" #define H19_CLOCK (XTAL_12_288MHz / 6) #define H19_BEEP_FRQ (H19_CLOCK / 1024) @@ -54,12 +55,13 @@ public: h19_state(const machine_config &mconfig, device_type type, const char *tag) : driver_device(mconfig, type, tag), - m_maincpu(*this, "maincpu"), - m_crtc(*this, "crtc"), - m_ace(*this, "ins8250"), - m_beep(*this, "beeper"), - m_p_videoram(*this, "videoram") - { } + m_maincpu(*this, "maincpu"), + m_crtc(*this, "crtc"), + m_ace(*this, "ins8250"), + m_beep(*this, "beeper"), + m_p_videoram(*this, "videoram") + { + } required_device<cpu_device> m_maincpu; required_device<mc6845_device> m_crtc; diff --git a/src/mess/drivers/h89.c b/src/mess/drivers/h89.c index db84dd77904..506b3c3f95e 100644 --- a/src/mess/drivers/h89.c +++ b/src/mess/drivers/h89.c @@ -19,19 +19,20 @@ ****************************************************************************/ -#include "emu.h" +#include "bus/rs232/rs232.h" #include "cpu/z80/z80.h" #include "machine/ins8250.h" -#include "machine/terminal.h" +#define RS232_TAG "rs232" class h89_state : public driver_device { public: h89_state(const machine_config &mconfig, device_type type, const char *tag) : driver_device(mconfig, type, tag), - m_maincpu(*this, "maincpu") - { } + m_maincpu(*this, "maincpu") + { + } required_device<cpu_device> m_maincpu; @@ -107,14 +108,18 @@ WRITE8_MEMBER( h89_state::port_f2_w ) m_port_f2 = data; } -static const serial_terminal_interface terminal_intf = -{ - DEVCB_DEVICE_LINE_MEMBER("ins8250", ins8250_uart_device, rx_w) -}; +static DEVICE_INPUT_DEFAULTS_START( terminal ) + DEVICE_INPUT_DEFAULTS( "TERM_TXBAUD", 0xff, 0x06 ) // 9600 + DEVICE_INPUT_DEFAULTS( "TERM_RXBAUD", 0xff, 0x06 ) // 9600 + DEVICE_INPUT_DEFAULTS( "TERM_STARTBITS", 0xff, 0x01 ) // 1 + DEVICE_INPUT_DEFAULTS( "TERM_DATABITS", 0xff, 0x03 ) // 8 + DEVICE_INPUT_DEFAULTS( "TERM_PARITY", 0xff, 0x00 ) // N + DEVICE_INPUT_DEFAULTS( "TERM_STOPBITS", 0xff, 0x01 ) // 1 +DEVICE_INPUT_DEFAULTS_END static const ins8250_interface h89_ins8250_interface = { - DEVCB_DEVICE_LINE_MEMBER(TERMINAL_TAG, serial_terminal_device, rx_w), + DEVCB_DEVICE_LINE_MEMBER(RS232_TAG, rs232_port_device, write_txd), DEVCB_NULL, DEVCB_NULL, DEVCB_NULL, @@ -144,7 +149,9 @@ static MACHINE_CONFIG_START( h89, h89_state ) MCFG_INS8250_ADD( "ins8250", h89_ins8250_interface, XTAL_1_8432MHz ) - MCFG_SERIAL_TERMINAL_ADD(TERMINAL_TAG, terminal_intf, 9600) + MCFG_RS232_PORT_ADD(RS232_TAG, default_rs232_devices, "serial_terminal") + MCFG_RS232_RXD_HANDLER(DEVWRITELINE("ins8250", ins8250_uart_device, rx_w)) + MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("serial_terminal", terminal) MCFG_TIMER_DRIVER_ADD_PERIODIC("irq_timer", h89_state, h89_irq_timer, attotime::from_hz(100)) MACHINE_CONFIG_END diff --git a/src/mess/drivers/harriet.c b/src/mess/drivers/harriet.c index 87a8cfe73d6..e80d4943af5 100644 --- a/src/mess/drivers/harriet.c +++ b/src/mess/drivers/harriet.c @@ -14,14 +14,17 @@ #include "cpu/m68000/m68000.h" #include "machine/terminal.h" +#define TERMINAL_TAG "terminal" + class harriet_state : public driver_device { public: harriet_state(const machine_config &mconfig, device_type type, const char *tag) : driver_device(mconfig, type, tag), - m_maincpu(*this, "maincpu"), - m_terminal(*this, TERMINAL_TAG) - { } + m_maincpu(*this, "maincpu"), + m_terminal(*this, TERMINAL_TAG) + { + } // devices required_device<cpu_device> m_maincpu; diff --git a/src/mess/drivers/horizon.c b/src/mess/drivers/horizon.c index e8ecef6669a..db962d87271 100644 --- a/src/mess/drivers/horizon.c +++ b/src/mess/drivers/horizon.c @@ -30,11 +30,10 @@ */ -#include "emu.h" +#include "bus/rs232/rs232.h" #include "bus/s100/s100.h" #include "cpu/z80/z80.h" #include "machine/i8251.h" -#include "machine/serial.h" #define Z80_TAG "z80" #define I8251_L_TAG "3a" @@ -103,9 +102,9 @@ INPUT_PORTS_END static const i8251_interface usart_l_intf = { - DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, serial_port_device, tx), - DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, dtr_w), - DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, rts_w), + DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, write_txd), + DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, write_dtr), + DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, write_rts), DEVCB_NULL, DEVCB_NULL, DEVCB_NULL, @@ -119,9 +118,9 @@ static const i8251_interface usart_l_intf = static const i8251_interface usart_r_intf = { - DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, serial_port_device, tx), - DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, rs232_port_device, dtr_w), - DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, rs232_port_device, rts_w), + DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, rs232_port_device, write_txd), + DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, rs232_port_device, write_dtr), + DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, rs232_port_device, write_rts), DEVCB_NULL, DEVCB_NULL, DEVCB_NULL, @@ -202,13 +201,13 @@ static MACHINE_CONFIG_START( horizon, horizon_state ) MCFG_I8251_ADD(I8251_R_TAG, usart_r_intf) MCFG_RS232_PORT_ADD(RS232_A_TAG, default_rs232_devices, "serial_terminal") - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(I8251_L_TAG, i8251_device, write_rx)) - MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE(I8251_L_TAG, i8251_device, write_rx)) + MCFG_RS232_RXD_HANDLER(DEVWRITELINE(I8251_L_TAG, i8251_device, write_rx)) + MCFG_RS232_DSR_HANDLER(DEVWRITELINE(I8251_L_TAG, i8251_device, write_rx)) MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("serial_terminal", terminal) MCFG_RS232_PORT_ADD(RS232_B_TAG, default_rs232_devices, NULL) - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(I8251_R_TAG, i8251_device, write_rx)) - MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE(I8251_R_TAG, i8251_device, write_rx)) + MCFG_RS232_RXD_HANDLER(DEVWRITELINE(I8251_R_TAG, i8251_device, write_rx)) + MCFG_RS232_DSR_HANDLER(DEVWRITELINE(I8251_R_TAG, i8251_device, write_rx)) // S-100 MCFG_S100_BUS_ADD(s100_intf) diff --git a/src/mess/drivers/hpz80unk.c b/src/mess/drivers/hpz80unk.c index 0213d9898f4..1c0f90a9a4c 100644 --- a/src/mess/drivers/hpz80unk.c +++ b/src/mess/drivers/hpz80unk.c @@ -36,15 +36,18 @@ Z nothing #include "cpu/z80/z80.h" #include "machine/terminal.h" +#define TERMINAL_TAG "terminal" class hpz80unk_state : public driver_device { public: hpz80unk_state(const machine_config &mconfig, device_type type, const char *tag) : driver_device(mconfig, type, tag), - m_maincpu(*this, "maincpu"), - m_terminal(*this, TERMINAL_TAG), - m_p_rom(*this, "p_rom"){ } + m_maincpu(*this, "maincpu"), + m_terminal(*this, TERMINAL_TAG), + m_p_rom(*this, "p_rom") + { + } required_device<cpu_device> m_maincpu; required_device<generic_terminal_device> m_terminal; diff --git a/src/mess/drivers/ht68k.c b/src/mess/drivers/ht68k.c index de680c9f61e..a69aa4a680e 100644 --- a/src/mess/drivers/ht68k.c +++ b/src/mess/drivers/ht68k.c @@ -26,28 +26,27 @@ Lot of infos available at: http://www.classiccmp.org/cini/ht68k.htm ****************************************************************************/ -#include "emu.h" +#include "bus/rs232/rs232.h" #include "cpu/m68000/m68000.h" #include "machine/n68681.h" #include "machine/wd_fdc.h" -#include "machine/serial.h" - class ht68k_state : public driver_device { public: ht68k_state(const machine_config &mconfig, device_type type, const char *tag) - : driver_device(mconfig, type, tag), - m_maincpu(*this, "maincpu"), - m_duart(*this, "duart68681"), - m_fdc(*this, "wd1770"), - m_floppy0(*this, "wd1770:0"), - m_floppy1(*this, "wd1770:1"), - m_floppy2(*this, "wd1770:2"), - m_floppy3(*this, "wd1770:3"), - m_floppy(NULL), - m_p_ram(*this, "p_ram"){ } - + : driver_device(mconfig, type, tag), + m_maincpu(*this, "maincpu"), + m_duart(*this, "duart68681"), + m_fdc(*this, "wd1770"), + m_floppy0(*this, "wd1770:0"), + m_floppy1(*this, "wd1770:1"), + m_floppy2(*this, "wd1770:2"), + m_floppy3(*this, "wd1770:3"), + m_floppy(NULL), + m_p_ram(*this, "p_ram") + { + } required_device<cpu_device> m_maincpu; required_device<duartn68681_device> m_duart; @@ -130,14 +129,15 @@ static MACHINE_CONFIG_START( ht68k, ht68k_state ) /* basic machine hardware */ MCFG_CPU_ADD("maincpu",M68000, XTAL_8MHz) MCFG_CPU_PROGRAM_MAP(ht68k_mem) + MCFG_RS232_PORT_ADD("rs232", default_rs232_devices, "serial_terminal") - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE("duart68681", duartn68681_device, rx_a_w)) + MCFG_RS232_RXD_HANDLER(DEVWRITELINE("duart68681", duartn68681_device, rx_a_w)) /* video hardware */ MCFG_DUARTN68681_ADD( "duart68681", XTAL_8MHz / 2 ) MCFG_DUARTN68681_SET_EXTERNAL_CLOCKS(500000, 500000, 1000000, 1000000) MCFG_DUARTN68681_IRQ_CALLBACK(WRITELINE(ht68k_state, duart_irq_handler)) - MCFG_DUARTN68681_A_TX_CALLBACK(DEVWRITELINE("rs232", serial_port_device, tx)) + MCFG_DUARTN68681_A_TX_CALLBACK(DEVWRITELINE("rs232", rs232_port_device, write_txd)) MCFG_DUARTN68681_B_TX_CALLBACK(WRITELINE(ht68k_state, duart_txb)) MCFG_DUARTN68681_INPORT_CALLBACK(READ8(ht68k_state, duart_input)) MCFG_DUARTN68681_OUTPORT_CALLBACK(WRITE8(ht68k_state, duart_output)) diff --git a/src/mess/drivers/hx20.c b/src/mess/drivers/hx20.c index fdc27bf89d2..25adeaa0d2c 100644 --- a/src/mess/drivers/hx20.c +++ b/src/mess/drivers/hx20.c @@ -299,7 +299,7 @@ WRITE8_MEMBER( hx20_state::main_p2_w ) */ // RS-232 - m_rs232->tx(BIT(data, 1)); + m_rs232->write_txd(BIT(data, 1)); // serial m_slave_sio = BIT(data, 2); @@ -469,7 +469,7 @@ WRITE8_MEMBER( hx20_state::slave_p3_w ) */ // RS-232 - m_rs232->rts_w(BIT(data, 1)); + m_rs232->write_rts(BIT(data, 1)); // main m_slave_flag = BIT(data, 4); diff --git a/src/mess/drivers/ie15.c b/src/mess/drivers/ie15.c index 49d832ad9cc..2201aa20f94 100644 --- a/src/mess/drivers/ie15.c +++ b/src/mess/drivers/ie15.c @@ -51,16 +51,17 @@ #endif #define BITBANGER_TAG "bitbanger" +#define KEYBOARD_TAG "keyboard" class ie15_state : public driver_device { public: ie15_state(const machine_config &mconfig, device_type type, const char *tag) - : driver_device(mconfig, type, tag) - , m_maincpu(*this, "maincpu") - , m_beeper(*this, "beeper") - , m_bitbanger(*this, BITBANGER_TAG) - , m_io_keyboard(*this, KEYBOARD_TAG) + : driver_device(mconfig, type, tag), + m_maincpu(*this, "maincpu"), + m_beeper(*this, "beeper"), + m_bitbanger(*this, BITBANGER_TAG), + m_io_keyboard(*this, KEYBOARD_TAG) { } virtual void machine_reset(); diff --git a/src/mess/drivers/imds.c b/src/mess/drivers/imds.c index 9e27342e4eb..55ceab44844 100644 --- a/src/mess/drivers/imds.c +++ b/src/mess/drivers/imds.c @@ -19,18 +19,19 @@ real hardware. #include "emu.h" #include "cpu/i8085/i8085.h" -//#include "machine/ins8250.h" #include "machine/terminal.h" +#define TERMINAL_TAG "terminal" class imds_state : public driver_device { public: imds_state(const machine_config &mconfig, device_type type, const char *tag) : driver_device(mconfig, type, tag), - m_maincpu(*this, "maincpu"), - m_terminal(*this, TERMINAL_TAG) - { } + m_maincpu(*this, "maincpu"), + m_terminal(*this, TERMINAL_TAG) + { + } required_device<cpu_device> m_maincpu; required_device<generic_terminal_device> m_terminal; diff --git a/src/mess/drivers/imsai.c b/src/mess/drivers/imsai.c index c85d8036c5b..9a40bac2bd3 100644 --- a/src/mess/drivers/imsai.c +++ b/src/mess/drivers/imsai.c @@ -23,17 +23,19 @@ #include "machine/pit8253.h" #include "machine/terminal.h" +#define TERMINAL_TAG "terminal" class imsai_state : public driver_device { public: imsai_state(const machine_config &mconfig, device_type type, const char *tag) - : driver_device(mconfig, type, tag) - , m_maincpu(*this, "maincpu") - , m_terminal(*this, TERMINAL_TAG) - , m_uart(*this, "uart") - , m_pit(*this, "pit") - { } + : driver_device(mconfig, type, tag), + m_maincpu(*this, "maincpu"), + m_terminal(*this, TERMINAL_TAG), + m_uart(*this, "uart"), + m_pit(*this, "pit") + { + } DECLARE_WRITE8_MEMBER(kbd_put); DECLARE_READ8_MEMBER(keyin_r); diff --git a/src/mess/drivers/indiana.c b/src/mess/drivers/indiana.c index a2f2a3bd281..b1e6497816a 100644 --- a/src/mess/drivers/indiana.c +++ b/src/mess/drivers/indiana.c @@ -12,12 +12,11 @@ ****************************************************************************/ -#include "emu.h" +#include "bus/rs232/keyboard.h" #include "cpu/m68000/m68000.h" #include "machine/isa.h" #include "machine/isa_cards.h" #include "machine/mc68901.h" -#include "machine/keyboard.h" #define M68K_TAG "maincpu" #define ISABUS_TAG "isa" @@ -110,7 +109,7 @@ static MC68901_INTERFACE( mfp_interface ) DEVCB_NULL, /* TBO */ DEVCB_NULL, /* TCO */ DEVCB_NULL, /* TDO */ - DEVCB_DEVICE_LINE_MEMBER("keyboard", serial_keyboard_device, rx_w), /* serial output */ + DEVCB_DEVICE_LINE_MEMBER("keyboard", serial_keyboard_device, input_txd), /* serial output */ DEVCB_NULL, DEVCB_NULL }; diff --git a/src/mess/drivers/ipc.c b/src/mess/drivers/ipc.c index cf4796f9a63..31a33caa74b 100644 --- a/src/mess/drivers/ipc.c +++ b/src/mess/drivers/ipc.c @@ -43,16 +43,17 @@ #include "cpu/i8085/i8085.h" #include "machine/terminal.h" - +#define TERMINAL_TAG "terminal" class ipc_state : public driver_device { public: ipc_state(const machine_config &mconfig, device_type type, const char *tag) : driver_device(mconfig, type, tag), - m_maincpu(*this, "maincpu"), - m_terminal(*this, TERMINAL_TAG) - { } + m_maincpu(*this, "maincpu"), + m_terminal(*this, TERMINAL_TAG) + { + } required_device<cpu_device> m_maincpu; required_device<generic_terminal_device> m_terminal; diff --git a/src/mess/drivers/ipds.c b/src/mess/drivers/ipds.c index c3c00873971..81092cd4376 100644 --- a/src/mess/drivers/ipds.c +++ b/src/mess/drivers/ipds.c @@ -11,15 +11,17 @@ #include "video/i8275.h" #include "machine/keyboard.h" +#define KEYBOARD_TAG "keyboard" class ipds_state : public driver_device { public: ipds_state(const machine_config &mconfig, device_type type, const char *tag) : driver_device(mconfig, type, tag), - m_maincpu(*this, "maincpu"), - m_crtc(*this, "i8275") - { } + m_maincpu(*this, "maincpu"), + m_crtc(*this, "i8275") + { + } required_device<cpu_device> m_maincpu; required_device<i8275_device> m_crtc; diff --git a/src/mess/drivers/isbc.c b/src/mess/drivers/isbc.c index d3b5ca287d9..f574c11aad9 100644 --- a/src/mess/drivers/isbc.c +++ b/src/mess/drivers/isbc.c @@ -12,7 +12,7 @@ isbc86 commands: BYTE WORD REAL EREAL ROMTEST. ROMTEST works, the others hang. ****************************************************************************/ -#include "emu.h" +#include "bus/rs232/rs232.h" #include "cpu/i86/i86.h" #include "cpu/i86/i286.h" #include "machine/terminal.h" @@ -21,7 +21,6 @@ isbc86 commands: BYTE WORD REAL EREAL ROMTEST. ROMTEST works, the others hang. #include "machine/i8255.h" #include "machine/i8251.h" #include "machine/z80dart.h" -#include "machine/serial.h" #include "bus/centronics/ctronics.h" #include "bus/isbx/isbx.h" #include "machine/isbc_215g.h" @@ -183,9 +182,9 @@ static const i8255_interface isbc86_ppi_interface = static const i8251_interface isbc86_uart8251_interface = { - 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_DEVICE_LINE_MEMBER("rs232", rs232_port_device, write_txd), + DEVCB_DEVICE_LINE_MEMBER("rs232", rs232_port_device, write_dtr), + DEVCB_DEVICE_LINE_MEMBER("rs232", rs232_port_device, write_rts), DEVCB_DEVICE_LINE_MEMBER("pic_0", pic8259_device, ir6_w), DEVCB_NULL, DEVCB_NULL, @@ -255,15 +254,15 @@ static I8274_INTERFACE(isbc286_uart8274_interface) { 0, 0, 0, 0, - DEVCB_DEVICE_LINE_MEMBER("rs232a", serial_port_device, tx), - DEVCB_DEVICE_LINE_MEMBER("rs232a", rs232_port_device, dtr_w), - DEVCB_DEVICE_LINE_MEMBER("rs232a", rs232_port_device, rts_w), + DEVCB_DEVICE_LINE_MEMBER("rs232a", rs232_port_device, write_txd), + DEVCB_DEVICE_LINE_MEMBER("rs232a", rs232_port_device, write_dtr), + DEVCB_DEVICE_LINE_MEMBER("rs232a", rs232_port_device, write_rts), DEVCB_NULL, DEVCB_NULL, - DEVCB_DEVICE_LINE_MEMBER("rs232b", serial_port_device, tx), - DEVCB_DEVICE_LINE_MEMBER("rs232b", rs232_port_device, dtr_w), - DEVCB_DEVICE_LINE_MEMBER("rs232b", rs232_port_device, rts_w), + DEVCB_DEVICE_LINE_MEMBER("rs232b", rs232_port_device, write_txd), + DEVCB_DEVICE_LINE_MEMBER("rs232b", rs232_port_device, write_dtr), + DEVCB_DEVICE_LINE_MEMBER("rs232b", rs232_port_device, write_rts), DEVCB_NULL, DEVCB_NULL, @@ -292,9 +291,9 @@ static MACHINE_CONFIG_START( isbc86, isbc_state ) /* video hardware */ MCFG_RS232_PORT_ADD("rs232", default_rs232_devices, "serial_terminal") - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE("uart8251", i8251_device, write_rx)) - MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE("uart8251", i8251_device, write_cts)) - MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE("uart8251", i8251_device, write_dsr)) + MCFG_RS232_RXD_HANDLER(DEVWRITELINE("uart8251", i8251_device, write_rx)) + MCFG_RS232_CTS_HANDLER(DEVWRITELINE("uart8251", i8251_device, write_cts)) + MCFG_RS232_DSR_HANDLER(DEVWRITELINE("uart8251", i8251_device, write_dsr)) MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("serial_terminal", isbc86_terminal) MACHINE_CONFIG_END @@ -332,9 +331,9 @@ static MACHINE_CONFIG_START( isbc286, isbc_state ) MCFG_I8274_ADD("uart8274", XTAL_16MHz/4, isbc286_uart8274_interface) MCFG_RS232_PORT_ADD("rs232a", default_rs232_devices, NULL) - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE("uart8274", z80dart_device, rxa_w)) - MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE("uart8274", z80dart_device, dcda_w)) - MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE("uart8274", z80dart_device, ctsa_w)) + MCFG_RS232_RXD_HANDLER(DEVWRITELINE("uart8274", z80dart_device, rxa_w)) + MCFG_RS232_DCD_HANDLER(DEVWRITELINE("uart8274", z80dart_device, dcda_w)) + MCFG_RS232_CTS_HANDLER(DEVWRITELINE("uart8274", z80dart_device, ctsa_w)) MCFG_ISBX_SLOT_ADD("sbx1", 0, isbx_cards, NULL) MCFG_ISBX_SLOT_MINTR0_CALLBACK(DEVWRITELINE("pic_1", pic8259_device, ir3_w)) @@ -348,9 +347,9 @@ static MACHINE_CONFIG_START( isbc286, isbc_state ) /* video hardware */ MCFG_RS232_PORT_ADD("rs232b", default_rs232_devices, "serial_terminal") - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE("uart8274", z80dart_device, rxb_w)) - MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE("uart8274", z80dart_device, dcdb_w)) - MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE("uart8274", z80dart_device, ctsb_w)) + MCFG_RS232_RXD_HANDLER(DEVWRITELINE("uart8274", z80dart_device, rxb_w)) + MCFG_RS232_DCD_HANDLER(DEVWRITELINE("uart8274", z80dart_device, dcdb_w)) + MCFG_RS232_CTS_HANDLER(DEVWRITELINE("uart8274", z80dart_device, ctsb_w)) MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("serial_terminal", isbc286_terminal) MACHINE_CONFIG_END diff --git a/src/mess/drivers/jade.c b/src/mess/drivers/jade.c index 67fd7f8563e..d6d7d230f7a 100644 --- a/src/mess/drivers/jade.c +++ b/src/mess/drivers/jade.c @@ -18,16 +18,18 @@ #include "machine/i8251.h" #include "machine/terminal.h" +#define TERMINAL_TAG "terminal" class jade_state : public driver_device { public: jade_state(const machine_config &mconfig, device_type type, const char *tag) - : driver_device(mconfig, type, tag) - , m_maincpu(*this, "maincpu") - , m_terminal(*this, TERMINAL_TAG) - , m_uart(*this, "uart") - { } + : driver_device(mconfig, type, tag), + m_maincpu(*this, "maincpu"), + m_terminal(*this, TERMINAL_TAG), + m_uart(*this, "uart") + { + } DECLARE_WRITE8_MEMBER(kbd_put); DECLARE_READ8_MEMBER(keyin_r); diff --git a/src/mess/drivers/jupiter.c b/src/mess/drivers/jupiter.c index 977eaa44f6c..b69222e8d9a 100644 --- a/src/mess/drivers/jupiter.c +++ b/src/mess/drivers/jupiter.c @@ -26,6 +26,8 @@ ToDo: #include "machine/wd17xx.h" #include "includes/jupiter.h" +#define TERMINAL_TAG "terminal" +#define KEYBOARD_TAG "keyboard" //************************************************************************** diff --git a/src/mess/drivers/k8915.c b/src/mess/drivers/k8915.c index 1ceb8a26bac..bba54b0e1b3 100644 --- a/src/mess/drivers/k8915.c +++ b/src/mess/drivers/k8915.c @@ -14,15 +14,17 @@ #include "cpu/z80/z80.h" #include "machine/keyboard.h" +#define KEYBOARD_TAG "keyboard" class k8915_state : public driver_device { public: k8915_state(const machine_config &mconfig, device_type type, const char *tag) : driver_device(mconfig, type, tag), - m_maincpu(*this, "maincpu") - , - m_p_videoram(*this, "p_videoram"){ } + m_maincpu(*this, "maincpu"), + m_p_videoram(*this, "p_videoram") + { + } required_device<cpu_device> m_maincpu; DECLARE_READ8_MEMBER( k8915_52_r ); diff --git a/src/mess/drivers/kyocera.c b/src/mess/drivers/kyocera.c index 5e322cba2b8..fc565ef3efa 100644 --- a/src/mess/drivers/kyocera.c +++ b/src/mess/drivers/kyocera.c @@ -1019,8 +1019,8 @@ WRITE8_MEMBER( kc85_state::i8155_pb_w ) if (m_buzzer) m_speaker->level_w(m_bell); // RS-232 - m_rs232->dtr_w(BIT(data, 6)); - m_rs232->rts_w(BIT(data, 7)); + m_rs232->write_dtr(BIT(data, 6)); + m_rs232->write_rts(BIT(data, 7)); } WRITE_LINE_MEMBER( kc85_state::write_centronics_busy ) @@ -1197,7 +1197,7 @@ static IM6402_INTERFACE( uart_intf ) { 0, 0, - DEVCB_DEVICE_LINE_MEMBER(RS232_TAG, serial_port_device, tx), + DEVCB_DEVICE_LINE_MEMBER(RS232_TAG, rs232_port_device, write_txd), DEVCB_NULL, DEVCB_NULL, DEVCB_NULL @@ -1207,9 +1207,9 @@ static IM6402_INTERFACE( uart_intf ) static const i8251_interface tandy200_uart_intf = { - DEVCB_DEVICE_LINE_MEMBER(RS232_TAG, serial_port_device, tx), - DEVCB_DEVICE_LINE_MEMBER(RS232_TAG, rs232_port_device, dtr_w), - DEVCB_DEVICE_LINE_MEMBER(RS232_TAG, rs232_port_device, rts_w), + DEVCB_DEVICE_LINE_MEMBER(RS232_TAG, rs232_port_device, write_txd), + DEVCB_DEVICE_LINE_MEMBER(RS232_TAG, rs232_port_device, write_dtr), + DEVCB_DEVICE_LINE_MEMBER(RS232_TAG, rs232_port_device, write_rts), DEVCB_NULL, DEVCB_NULL, DEVCB_NULL, @@ -1419,7 +1419,7 @@ static MACHINE_CONFIG_START( kc85, kc85_state ) MCFG_IM6402_ADD(IM6402_TAG, uart_intf) MCFG_RS232_PORT_ADD(RS232_TAG, default_rs232_devices, NULL) - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(IM6402_TAG, im6402_device, write_rx)) + MCFG_RS232_RXD_HANDLER(DEVWRITELINE(IM6402_TAG, im6402_device, write_rx)) MCFG_CENTRONICS_ADD(CENTRONICS_TAG, centronics_printers, "image") MCFG_CENTRONICS_BUSY_HANDLER(WRITELINE(kc85_state, write_centronics_busy)) @@ -1569,8 +1569,8 @@ static MACHINE_CONFIG_START( tandy200, tandy200_state ) MCFG_I8251_ADD(I8251_TAG, /*XTAL_4_9152MHz/2,*/ tandy200_uart_intf) MCFG_RS232_PORT_ADD(RS232_TAG, default_rs232_devices, NULL) - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(I8251_TAG, i8251_device, write_rx)) - MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE(I8251_TAG, i8251_device, write_dsr)) + MCFG_RS232_RXD_HANDLER(DEVWRITELINE(I8251_TAG, i8251_device, write_rx)) + MCFG_RS232_DSR_HANDLER(DEVWRITELINE(I8251_TAG, i8251_device, write_dsr)) // MCFG_MC14412_ADD(MC14412_TAG, XTAL_1MHz) MCFG_CENTRONICS_ADD(CENTRONICS_TAG, centronics_printers, "image") diff --git a/src/mess/drivers/lft.c b/src/mess/drivers/lft.c index 0f2b9053447..b15916e036c 100644 --- a/src/mess/drivers/lft.c +++ b/src/mess/drivers/lft.c @@ -11,15 +11,17 @@ #include "cpu/i86/i86.h" #include "machine/terminal.h" +#define TERMINAL_TAG "terminal" class lft_state : public driver_device { public: lft_state(const machine_config &mconfig, device_type type, const char *tag) - : driver_device(mconfig, type, tag) - , m_maincpu(*this, "maincpu") - , m_terminal(*this, TERMINAL_TAG) - { } + : driver_device(mconfig, type, tag), + m_maincpu(*this, "maincpu"), + m_terminal(*this, TERMINAL_TAG) + { + } DECLARE_WRITE8_MEMBER(kbd_put); DECLARE_READ16_MEMBER(keyin_r); diff --git a/src/mess/drivers/llc.c b/src/mess/drivers/llc.c index e57dfde16e6..5057f2abb70 100644 --- a/src/mess/drivers/llc.c +++ b/src/mess/drivers/llc.c @@ -51,6 +51,8 @@ #include "includes/llc.h" #include "llc1.lh" +#define KEYBOARD_TAG "keyboard" + /* Address maps */ static ADDRESS_MAP_START( llc1_mem, AS_PROGRAM, 8, llc_state ) AM_RANGE(0x0000, 0x07ff) AM_ROM // Monitor ROM diff --git a/src/mess/drivers/m20.c b/src/mess/drivers/m20.c index 6826a7146f5..8eb6a720608 100644 --- a/src/mess/drivers/m20.c +++ b/src/mess/drivers/m20.c @@ -48,6 +48,8 @@ E I1 Vectored interrupt error #include "machine/keyboard.h" +#define KEYBOARD_TAG "keyboard" + class m20_state : public driver_device { public: @@ -62,7 +64,9 @@ public: m_fd1797(*this, "fd1797"), m_floppy0(*this, "fd1797:0:5dd"), m_floppy1(*this, "fd1797:1:5dd"), - m_p_videoram(*this, "p_videoram"){ } + m_p_videoram(*this, "p_videoram") + { + } required_device<z8001_device> m_maincpu; required_device<ram_device> m_ram; diff --git a/src/mess/drivers/mcb216.c b/src/mess/drivers/mcb216.c index ba5cfc457c9..477581d252c 100644 --- a/src/mess/drivers/mcb216.c +++ b/src/mess/drivers/mcb216.c @@ -36,15 +36,17 @@ #include "cpu/z80/z80.h" #include "machine/terminal.h" +#define TERMINAL_TAG "terminal" class mcb216_state : public driver_device { public: mcb216_state(const machine_config &mconfig, device_type type, const char *tag) - : driver_device(mconfig, type, tag) - , m_maincpu(*this, "maincpu") - , m_terminal(*this, TERMINAL_TAG) - { } + : driver_device(mconfig, type, tag), + m_maincpu(*this, "maincpu"), + m_terminal(*this, TERMINAL_TAG) + { + } DECLARE_WRITE8_MEMBER(kbd_put); DECLARE_READ8_MEMBER(keyin_r); diff --git a/src/mess/drivers/mccpm.c b/src/mess/drivers/mccpm.c index f003f391ff6..708939eee87 100644 --- a/src/mess/drivers/mccpm.c +++ b/src/mess/drivers/mccpm.c @@ -57,16 +57,18 @@ PIO A-Data 0F4h, A-Command 0F5h, B-Data 0F6h, B-Command 0F7h #include "cpu/z80/z80.h" #include "machine/terminal.h" +#define TERMINAL_TAG "terminal" class mccpm_state : public driver_device { public: mccpm_state(const machine_config &mconfig, device_type type, const char *tag) : driver_device(mconfig, type, tag), - m_maincpu(*this, "maincpu"), - m_terminal(*this, TERMINAL_TAG) - , - m_p_ram(*this, "p_ram"){ } + m_maincpu(*this, "maincpu"), + m_terminal(*this, TERMINAL_TAG), + m_p_ram(*this, "p_ram") + { + } required_device<cpu_device> m_maincpu; required_device<generic_terminal_device> m_terminal; diff --git a/src/mess/drivers/mice.c b/src/mess/drivers/mice.c index cef500e9f6b..d25fa0c5480 100644 --- a/src/mess/drivers/mice.c +++ b/src/mess/drivers/mice.c @@ -20,15 +20,17 @@ The connection to the outside world is via RS232 to a terminal. #include "cpu/i8085/i8085.h" #include "machine/terminal.h" +#define TERMINAL_TAG "terminal" class mice_state : public driver_device { public: mice_state(const machine_config &mconfig, device_type type, const char *tag) : driver_device(mconfig, type, tag), - m_maincpu(*this, "maincpu"), - m_terminal(*this, TERMINAL_TAG) - { } + m_maincpu(*this, "maincpu"), + m_terminal(*this, TERMINAL_TAG) + { + } required_device<cpu_device> m_maincpu; required_device<generic_terminal_device> m_terminal; diff --git a/src/mess/drivers/microdec.c b/src/mess/drivers/microdec.c index 2bf46b44919..cf75aaaad7b 100644 --- a/src/mess/drivers/microdec.c +++ b/src/mess/drivers/microdec.c @@ -11,15 +11,17 @@ #include "machine/upd765.h" #include "machine/terminal.h" +#define TERMINAL_TAG "terminal" class microdec_state : public driver_device { public: microdec_state(const machine_config &mconfig, device_type type, const char *tag) - : driver_device(mconfig, type, tag) - , m_terminal(*this, TERMINAL_TAG) - , m_maincpu(*this, "maincpu") - { } + : driver_device(mconfig, type, tag), + m_terminal(*this, TERMINAL_TAG), + m_maincpu(*this, "maincpu") + { + } DECLARE_READ8_MEMBER(status_r); DECLARE_READ8_MEMBER(keyin_r); diff --git a/src/mess/drivers/mikromik.c b/src/mess/drivers/mikromik.c index 7b28920cd92..f8cc6695d9d 100644 --- a/src/mess/drivers/mikromik.c +++ b/src/mess/drivers/mikromik.c @@ -628,9 +628,9 @@ static UPD7201_INTERFACE( mpsc_intf ) { 0, 0, 0, 0, - DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, serial_port_device, tx), - DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, dtr_w), - DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, rts_w), + DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, write_txd), + DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, write_dtr), + DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, write_rts), DEVCB_NULL, DEVCB_NULL, @@ -756,12 +756,12 @@ static MACHINE_CONFIG_START( mm1, mm1_state ) MCFG_FLOPPY_DRIVE_ADD(UPD765_TAG ":1", mm1_floppies, "525qd", mm1_state::floppy_formats) MCFG_RS232_PORT_ADD(RS232_A_TAG, default_rs232_devices, NULL) - MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE(UPD7201_TAG, z80dart_device, rxa_w)) + MCFG_RS232_CTS_HANDLER(DEVWRITELINE(UPD7201_TAG, z80dart_device, rxa_w)) MCFG_RS232_PORT_ADD(RS232_B_TAG, default_rs232_devices, NULL) MCFG_RS232_PORT_ADD(RS232_C_TAG, default_rs232_devices, NULL) - MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE(UPD7201_TAG, z80dart_device, ctsb_w)) + MCFG_RS232_CTS_HANDLER(DEVWRITELINE(UPD7201_TAG, z80dart_device, ctsb_w)) // internal ram MCFG_RAM_ADD(RAM_TAG) diff --git a/src/mess/drivers/mits680b.c b/src/mess/drivers/mits680b.c index a25b438f9a6..9043ca6c71f 100644 --- a/src/mess/drivers/mits680b.c +++ b/src/mess/drivers/mits680b.c @@ -27,15 +27,17 @@ ToDo: #include "machine/mos6551.h" #include "machine/terminal.h" +#define TERMINAL_TAG "terminal" class mits680b_state : public driver_device { public: mits680b_state(const machine_config &mconfig, device_type type, const char *tag) : driver_device(mconfig, type, tag), - m_maincpu(*this, "maincpu"), - m_terminal(*this, TERMINAL_TAG) - { } + m_maincpu(*this, "maincpu"), + m_terminal(*this, TERMINAL_TAG) + { + } required_device<cpu_device> m_maincpu; required_device<generic_terminal_device> m_terminal; diff --git a/src/mess/drivers/modellot.c b/src/mess/drivers/modellot.c index ba8ef5b177b..26f2cec7479 100644 --- a/src/mess/drivers/modellot.c +++ b/src/mess/drivers/modellot.c @@ -20,15 +20,17 @@ #include "cpu/z80/z80.h" #include "machine/keyboard.h" +#define KEYBOARD_TAG "keyboard" class modellot_state : public driver_device { public: modellot_state(const machine_config &mconfig, device_type type, const char *tag) - : driver_device(mconfig, type, tag) - , m_p_videoram(*this, "videoram") - , m_maincpu(*this, "maincpu") - { } + : driver_device(mconfig, type, tag), + m_p_videoram(*this, "videoram"), + m_maincpu(*this, "maincpu") + { + } DECLARE_READ8_MEMBER(port77_r); DECLARE_READ8_MEMBER(portff_r); diff --git a/src/mess/drivers/ms9540.c b/src/mess/drivers/ms9540.c index f8edb31567b..87d949f333d 100644 --- a/src/mess/drivers/ms9540.c +++ b/src/mess/drivers/ms9540.c @@ -27,17 +27,21 @@ Chips: #include "cpu/m68000/m68000.h" #include "machine/terminal.h" +#define TERMINAL_TAG "terminal" + class ms9540_state : public driver_device { public: ms9540_state(const machine_config &mconfig, device_type type, const char *tag) - : driver_device(mconfig, type, tag) - , m_p_base(*this, "rambase") - , m_maincpu(*this, "maincpu") - , m_terminal(*this, TERMINAL_TAG) - { } + : driver_device(mconfig, type, tag), + m_p_base(*this, "rambase"), + m_maincpu(*this, "maincpu"), + m_terminal(*this, TERMINAL_TAG) + { + } DECLARE_WRITE8_MEMBER(kbd_put); + private: UINT8 m_term_data; virtual void machine_reset(); diff --git a/src/mess/drivers/msbc1.c b/src/mess/drivers/msbc1.c index 68709dbe9a2..728e8cdaea6 100644 --- a/src/mess/drivers/msbc1.c +++ b/src/mess/drivers/msbc1.c @@ -53,6 +53,8 @@ Notes: #include "machine/terminal.h" #include "includes/msbc1.h" +#define TERMINAL_TAG "terminal" + static ADDRESS_MAP_START( msbc1_mem, AS_PROGRAM, 16, msbc1_state ) ADDRESS_MAP_UNMAP_HIGH AM_RANGE(0x000000, 0x03ffff) AM_RAM diff --git a/src/mess/drivers/mx2178.c b/src/mess/drivers/mx2178.c index 2a0ac6991b1..4d0e4e31dda 100644 --- a/src/mess/drivers/mx2178.c +++ b/src/mess/drivers/mx2178.c @@ -17,22 +17,23 @@ ***************************************************************************************************/ -#include "emu.h" +#include "bus/rs232/rs232.h" #include "cpu/z80/z80.h" #include "video/mc6845.h" #include "machine/6850acia.h" -#include "machine/serial.h" #include "machine/keyboard.h" +#define KEYBOARD_TAG "keyboard" class mx2178_state : public driver_device { public: mx2178_state(const machine_config &mconfig, device_type type, const char *tag) - : driver_device(mconfig, type, tag) - , m_p_videoram(*this, "videoram") - , m_maincpu(*this, "maincpu") - { } + : driver_device(mconfig, type, tag), + m_p_videoram(*this, "videoram"), + m_maincpu(*this, "maincpu") + { + } DECLARE_READ8_MEMBER(keyin_r); DECLARE_WRITE8_MEMBER(kbd_put); @@ -97,8 +98,8 @@ static ACIA6850_INTERFACE( acia_intf ) { 614400, 614400, - DEVCB_DEVICE_LINE_MEMBER("rs232", serial_port_device, tx), - DEVCB_DEVICE_LINE_MEMBER("rs232", rs232_port_device, rts_w), + DEVCB_DEVICE_LINE_MEMBER("rs232", rs232_port_device, write_txd), + DEVCB_DEVICE_LINE_MEMBER("rs232", rs232_port_device, write_rts), DEVCB_CPU_INPUT_LINE("maincpu", INPUT_LINE_IRQ0) }; diff --git a/src/mess/drivers/ob68k1a.c b/src/mess/drivers/ob68k1a.c index 229ed33cc77..44a276cff01 100644 --- a/src/mess/drivers/ob68k1a.c +++ b/src/mess/drivers/ob68k1a.c @@ -173,8 +173,8 @@ static ACIA6850_INTERFACE( acia0_intf ) { 0, 0, - DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, serial_port_device, tx), - DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, rts_w), + DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, write_txd), + DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, write_rts), DEVCB_NULL }; @@ -187,8 +187,8 @@ static ACIA6850_INTERFACE( acia1_intf ) { 0, 0, - DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, serial_port_device, tx), - DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, rs232_port_device, rts_w), + DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, rs232_port_device, write_txd), + DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, rs232_port_device, write_rts), DEVCB_NULL, }; @@ -272,14 +272,14 @@ static MACHINE_CONFIG_START( ob68k1a, ob68k1a_state ) MCFG_COM8116_ADD(COM8116_TAG, XTAL_5_0688MHz, NULL, WRITELINE(ob68k1a_state, rx_tx_0_w), WRITELINE(ob68k1a_state, rx_tx_1_w)) MCFG_RS232_PORT_ADD(RS232_A_TAG, default_rs232_devices, "serial_terminal") - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(MC6850_0_TAG, acia6850_device, write_rx)) - MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE(MC6850_0_TAG, acia6850_device, write_dcd)) - MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE(MC6850_0_TAG, acia6850_device, write_cts)) + MCFG_RS232_RXD_HANDLER(DEVWRITELINE(MC6850_0_TAG, acia6850_device, write_rx)) + MCFG_RS232_DCD_HANDLER(DEVWRITELINE(MC6850_0_TAG, acia6850_device, write_dcd)) + MCFG_RS232_CTS_HANDLER(DEVWRITELINE(MC6850_0_TAG, acia6850_device, write_cts)) MCFG_RS232_PORT_ADD(RS232_B_TAG, default_rs232_devices, NULL) - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(MC6850_1_TAG, acia6850_device, write_rx)) - MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE(MC6850_1_TAG, acia6850_device, write_dcd)) - MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE(MC6850_1_TAG, acia6850_device, write_cts)) + MCFG_RS232_RXD_HANDLER(DEVWRITELINE(MC6850_1_TAG, acia6850_device, write_rx)) + MCFG_RS232_DCD_HANDLER(DEVWRITELINE(MC6850_1_TAG, acia6850_device, write_dcd)) + MCFG_RS232_CTS_HANDLER(DEVWRITELINE(MC6850_1_TAG, acia6850_device, write_cts)) // internal ram MCFG_RAM_ADD(RAM_TAG) diff --git a/src/mess/drivers/okean240.c b/src/mess/drivers/okean240.c index ed5bc5f417c..4ebd731088d 100644 --- a/src/mess/drivers/okean240.c +++ b/src/mess/drivers/okean240.c @@ -54,6 +54,8 @@ Usage of terminal: #include "machine/keyboard.h" #include "machine/terminal.h" +#define KEYBOARD_TAG "keyboard" +#define TERMINAL_TAG "terminal" class okean240_state : public driver_device { @@ -65,12 +67,14 @@ public: okean240_state(const machine_config &mconfig, device_type type, const char *tag) : driver_device(mconfig, type, tag), - m_term_data(0), - m_j(0), - m_scroll(0), - m_p_videoram(*this, "p_videoram"), - m_io_modifiers(*this, "MODIFIERS"), - m_maincpu(*this, "maincpu") { } + m_term_data(0), + m_j(0), + m_scroll(0), + m_p_videoram(*this, "p_videoram"), + m_io_modifiers(*this, "MODIFIERS"), + m_maincpu(*this, "maincpu") + { + } DECLARE_READ8_MEMBER(okean240_kbd_status_r); DECLARE_READ8_MEMBER(okean240a_kbd_status_r); diff --git a/src/mess/drivers/onyx.c b/src/mess/drivers/onyx.c index dee5794dfa3..9e76cd78574 100644 --- a/src/mess/drivers/onyx.c +++ b/src/mess/drivers/onyx.c @@ -33,18 +33,22 @@ and be connected to a RS422 network. //#include "machine/z80dma.h" #include "machine/terminal.h" +#define TERMINAL_TAG "terminal" class onyx_state : public driver_device { public: onyx_state(const machine_config &mconfig, device_type type, const char *tag) : driver_device(mconfig, type, tag), - m_maincpu(*this, "maincpu"), - m_terminal(*this, TERMINAL_TAG) { } + m_maincpu(*this, "maincpu"), + m_terminal(*this, TERMINAL_TAG) + { + } DECLARE_MACHINE_RESET(c8002); DECLARE_WRITE8_MEMBER(kbd_put); DECLARE_READ8_MEMBER(portff05_r); + private: UINT8 m_term_data; required_device<cpu_device> m_maincpu; diff --git a/src/mess/drivers/p8k.c b/src/mess/drivers/p8k.c index 659b93384b9..e13dc5f3718 100644 --- a/src/mess/drivers/p8k.c +++ b/src/mess/drivers/p8k.c @@ -57,14 +57,17 @@ #include "sound/beep.h" #include "machine/terminal.h" +#define TERMINAL_TAG "terminal" class p8k_state : public driver_device { public: p8k_state(const machine_config &mconfig, device_type type, const char *tag) : driver_device(mconfig, type, tag), - m_maincpu(*this, "maincpu"), - m_terminal(*this, TERMINAL_TAG) { } + m_maincpu(*this, "maincpu"), + m_terminal(*this, TERMINAL_TAG) + { + } DECLARE_READ8_MEMBER(p8k_port0_r); DECLARE_WRITE8_MEMBER(p8k_port0_w); diff --git a/src/mess/drivers/pc.c b/src/mess/drivers/pc.c index 914434fa988..2cc2f161499 100644 --- a/src/mess/drivers/pc.c +++ b/src/mess/drivers/pc.c @@ -57,7 +57,8 @@ video HW too. ***************************************************************************/ -#include "emu.h" +#include "bus/rs232/rs232.h" +#include "bus/rs232/ser_mouse.h" #include "cpu/nec/nec.h" #include "cpu/i86/i86.h" #include "cpu/i86/i286.h" @@ -79,7 +80,6 @@ video HW too. #include "machine/pc_joy.h" #include "machine/pckeybrd.h" #include "machine/pc_lpt.h" -#include "machine/serial.h" #include "includes/europc.h" #include "includes/tandy1t.h" @@ -90,7 +90,6 @@ video HW too. #include "imagedev/harddriv.h" #include "imagedev/cassette.h" #include "imagedev/cartslot.h" -#include "imagedev/serial.h" #include "formats/mfi_dsk.h" #include "formats/pc_dsk.h" #include "formats/asst128_dsk.h" @@ -817,18 +816,18 @@ static MACHINE_CONFIG_START( pccga, pc_state ) MCFG_INS8250_ADD( "ins8250_1", ibm5150_com_interface[1], XTAL_1_8432MHz ) /* TODO: Verify model */ MCFG_RS232_PORT_ADD( "serport0", ibm5150_com, NULL ) - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, rx_w)) - MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, dcd_w)) - MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, dsr_w)) - MCFG_RS232_OUT_RI_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, ri_w)) - MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, cts_w)) + MCFG_RS232_RXD_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, rx_w)) + MCFG_RS232_DCD_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, dcd_w)) + MCFG_RS232_DSR_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, dsr_w)) + MCFG_RS232_RI_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, ri_w)) + MCFG_RS232_CTS_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, cts_w)) MCFG_RS232_PORT_ADD( "serport1", ibm5150_com, NULL ) - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, rx_w)) - MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, dcd_w)) - MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, dsr_w)) - MCFG_RS232_OUT_RI_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, ri_w)) - MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, cts_w)) + MCFG_RS232_RXD_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, rx_w)) + MCFG_RS232_DCD_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, dcd_w)) + MCFG_RS232_DSR_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, dsr_w)) + MCFG_RS232_RI_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, ri_w)) + MCFG_RS232_CTS_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, cts_w)) MCFG_FRAGMENT_ADD( pcvideo_cga ) MCFG_GFXDECODE(ibm5150) @@ -932,18 +931,18 @@ static MACHINE_CONFIG_START( europc, europc_pc_state ) MCFG_INS8250_ADD( "ins8250_1", ibm5150_com_interface[1], XTAL_1_8432MHz ) /* TODO: Verify model */ MCFG_RS232_PORT_ADD( "serport0", ibm5150_com, NULL ) - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, rx_w)) - MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, dcd_w)) - MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, dsr_w)) - MCFG_RS232_OUT_RI_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, ri_w)) - MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, cts_w)) + MCFG_RS232_RXD_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, rx_w)) + MCFG_RS232_DCD_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, dcd_w)) + MCFG_RS232_DSR_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, dsr_w)) + MCFG_RS232_RI_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, ri_w)) + MCFG_RS232_CTS_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, cts_w)) MCFG_RS232_PORT_ADD( "serport1", ibm5150_com, NULL ) - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, rx_w)) - MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, dcd_w)) - MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, dsr_w)) - MCFG_RS232_OUT_RI_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, ri_w)) - MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, cts_w)) + MCFG_RS232_RXD_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, rx_w)) + MCFG_RS232_DCD_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, dcd_w)) + MCFG_RS232_DSR_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, dsr_w)) + MCFG_RS232_RI_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, ri_w)) + MCFG_RS232_CTS_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, cts_w)) MCFG_PC_JOY_ADD("pc_joy") @@ -1012,18 +1011,18 @@ static MACHINE_CONFIG_START( t1000hx, tandy_pc_state ) MCFG_INS8250_ADD( "ins8250_1", ibm5150_com_interface[1], XTAL_1_8432MHz ) /* TODO: Verify model */ MCFG_RS232_PORT_ADD( "serport0", ibm5150_com, NULL ) - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, rx_w)) - MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, dcd_w)) - MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, dsr_w)) - MCFG_RS232_OUT_RI_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, ri_w)) - MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, cts_w)) + MCFG_RS232_RXD_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, rx_w)) + MCFG_RS232_DCD_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, dcd_w)) + MCFG_RS232_DSR_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, dsr_w)) + MCFG_RS232_RI_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, ri_w)) + MCFG_RS232_CTS_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, cts_w)) MCFG_RS232_PORT_ADD( "serport1", ibm5150_com, NULL ) - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, rx_w)) - MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, dcd_w)) - MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, dsr_w)) - MCFG_RS232_OUT_RI_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, ri_w)) - MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, cts_w)) + MCFG_RS232_RXD_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, rx_w)) + MCFG_RS232_DCD_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, dcd_w)) + MCFG_RS232_DSR_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, dsr_w)) + MCFG_RS232_RI_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, ri_w)) + MCFG_RS232_CTS_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, cts_w)) /* video hardware */ MCFG_PCVIDEO_T1000_ADD("pcvideo_t1000") @@ -1081,18 +1080,18 @@ static MACHINE_CONFIG_START( t1000_16, tandy_pc_state ) MCFG_INS8250_ADD( "ins8250_1", ibm5150_com_interface[1], XTAL_1_8432MHz ) /* TODO: Verify model */ MCFG_RS232_PORT_ADD( "serport0", ibm5150_com, NULL ) - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, rx_w)) - MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, dcd_w)) - MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, dsr_w)) - MCFG_RS232_OUT_RI_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, ri_w)) - MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, cts_w)) + MCFG_RS232_RXD_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, rx_w)) + MCFG_RS232_DCD_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, dcd_w)) + MCFG_RS232_DSR_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, dsr_w)) + MCFG_RS232_RI_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, ri_w)) + MCFG_RS232_CTS_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, cts_w)) MCFG_RS232_PORT_ADD( "serport1", ibm5150_com, NULL ) - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, rx_w)) - MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, dcd_w)) - MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, dsr_w)) - MCFG_RS232_OUT_RI_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, ri_w)) - MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, cts_w)) + MCFG_RS232_RXD_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, rx_w)) + MCFG_RS232_DCD_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, dcd_w)) + MCFG_RS232_DSR_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, dsr_w)) + MCFG_RS232_RI_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, ri_w)) + MCFG_RS232_CTS_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, cts_w)) /* video hardware */ MCFG_PCVIDEO_T1000_ADD("pcvideo_t1000") @@ -1151,18 +1150,18 @@ static MACHINE_CONFIG_START( t1000_286, tandy_pc_state ) MCFG_INS8250_ADD( "ins8250_1", ibm5150_com_interface[1], XTAL_1_8432MHz ) /* TODO: Verify model */ MCFG_RS232_PORT_ADD( "serport0", ibm5150_com, NULL ) - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, rx_w)) - MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, dcd_w)) - MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, dsr_w)) - MCFG_RS232_OUT_RI_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, ri_w)) - MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, cts_w)) + MCFG_RS232_RXD_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, rx_w)) + MCFG_RS232_DCD_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, dcd_w)) + MCFG_RS232_DSR_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, dsr_w)) + MCFG_RS232_RI_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, ri_w)) + MCFG_RS232_CTS_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, cts_w)) MCFG_RS232_PORT_ADD( "serport1", ibm5150_com, NULL ) - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, rx_w)) - MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, dcd_w)) - MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, dsr_w)) - MCFG_RS232_OUT_RI_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, ri_w)) - MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, cts_w)) + MCFG_RS232_RXD_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, rx_w)) + MCFG_RS232_DCD_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, dcd_w)) + MCFG_RS232_DSR_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, dsr_w)) + MCFG_RS232_RI_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, ri_w)) + MCFG_RS232_CTS_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, cts_w)) /* video hardware */ MCFG_PCVIDEO_T1000_ADD("pcvideo_t1000") @@ -1233,11 +1232,11 @@ static MACHINE_CONFIG_START( ibmpcjr, tandy_pc_state ) MCFG_INS8250_ADD( "ins8250_1", ibm5150_com_interface[1], XTAL_1_8432MHz ) /* TODO: Verify model */ MCFG_RS232_PORT_ADD( "serport1", ibm5150_com, NULL ) - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, rx_w)) - MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, dcd_w)) - MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, dsr_w)) - MCFG_RS232_OUT_RI_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, ri_w)) - MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, cts_w)) + MCFG_RS232_RXD_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, rx_w)) + MCFG_RS232_DCD_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, dcd_w)) + MCFG_RS232_DSR_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, dsr_w)) + MCFG_RS232_RI_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, ri_w)) + MCFG_RS232_CTS_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, cts_w)) /* video hardware */ MCFG_PCVIDEO_PCJR_ADD("pcvideo_pcjr") @@ -1352,18 +1351,18 @@ static MACHINE_CONFIG_START( asst128, pc_state ) MCFG_INS8250_ADD( "ins8250_1", ibm5150_com_interface[1], XTAL_1_8432MHz ) /* TODO: Verify model */ MCFG_RS232_PORT_ADD( "serport0", ibm5150_com, NULL ) - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, rx_w)) - MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, dcd_w)) - MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, dsr_w)) - MCFG_RS232_OUT_RI_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, ri_w)) - MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, cts_w)) + MCFG_RS232_RXD_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, rx_w)) + MCFG_RS232_DCD_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, dcd_w)) + MCFG_RS232_DSR_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, dsr_w)) + MCFG_RS232_RI_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, ri_w)) + MCFG_RS232_CTS_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, cts_w)) MCFG_RS232_PORT_ADD( "serport1", ibm5150_com, NULL ) - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, rx_w)) - MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, dcd_w)) - MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, dsr_w)) - MCFG_RS232_OUT_RI_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, ri_w)) - MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, cts_w)) + MCFG_RS232_RXD_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, rx_w)) + MCFG_RS232_DCD_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, dcd_w)) + MCFG_RS232_DSR_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, dsr_w)) + MCFG_RS232_RI_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, ri_w)) + MCFG_RS232_CTS_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, cts_w)) MACHINE_CONFIG_END static MACHINE_CONFIG_START( iskr3104, pc_state ) @@ -1387,18 +1386,18 @@ static MACHINE_CONFIG_START( iskr3104, pc_state ) MCFG_INS8250_ADD( "ins8250_1", ibm5150_com_interface[1], XTAL_1_8432MHz ) /* TODO: Verify model */ MCFG_RS232_PORT_ADD( "serport0", ibm5150_com, NULL ) - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, rx_w)) - MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, dcd_w)) - MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, dsr_w)) - MCFG_RS232_OUT_RI_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, ri_w)) - MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, cts_w)) + MCFG_RS232_RXD_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, rx_w)) + MCFG_RS232_DCD_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, dcd_w)) + MCFG_RS232_DSR_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, dsr_w)) + MCFG_RS232_RI_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, ri_w)) + MCFG_RS232_CTS_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, cts_w)) MCFG_RS232_PORT_ADD( "serport1", ibm5150_com, NULL ) - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, rx_w)) - MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, dcd_w)) - MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, dsr_w)) - MCFG_RS232_OUT_RI_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, ri_w)) - MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, cts_w)) + MCFG_RS232_RXD_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, rx_w)) + MCFG_RS232_DCD_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, dcd_w)) + MCFG_RS232_DSR_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, dsr_w)) + MCFG_RS232_RI_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, ri_w)) + MCFG_RS232_CTS_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, cts_w)) /* video hardware */ // MCFG_FRAGMENT_ADD( pcvideo_ega ) // Put this back after ISA are added to this driver @@ -1450,18 +1449,18 @@ static MACHINE_CONFIG_START( poisk2, pc_state ) MCFG_INS8250_ADD( "ins8250_1", ibm5150_com_interface[1], XTAL_1_8432MHz ) /* TODO: Verify model */ MCFG_RS232_PORT_ADD( "serport0", ibm5150_com, NULL ) - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, rx_w)) - MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, dcd_w)) - MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, dsr_w)) - MCFG_RS232_OUT_RI_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, ri_w)) - MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, cts_w)) + MCFG_RS232_RXD_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, rx_w)) + MCFG_RS232_DCD_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, dcd_w)) + MCFG_RS232_DSR_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, dsr_w)) + MCFG_RS232_RI_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, ri_w)) + MCFG_RS232_CTS_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, cts_w)) MCFG_RS232_PORT_ADD( "serport1", ibm5150_com, NULL ) - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, rx_w)) - MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, dcd_w)) - MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, dsr_w)) - MCFG_RS232_OUT_RI_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, ri_w)) - MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, cts_w)) + MCFG_RS232_RXD_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, rx_w)) + MCFG_RS232_DCD_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, dcd_w)) + MCFG_RS232_DSR_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, dsr_w)) + MCFG_RS232_RI_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, ri_w)) + MCFG_RS232_CTS_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, cts_w)) /* video hardware */ MCFG_FRAGMENT_ADD( pcvideo_poisk2 ) @@ -1513,18 +1512,18 @@ static MACHINE_CONFIG_START( zenith, pc_state ) MCFG_INS8250_ADD( "ins8250_1", ibm5150_com_interface[1], XTAL_1_8432MHz ) /* TODO: Verify model */ MCFG_RS232_PORT_ADD( "serport0", ibm5150_com, NULL ) - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, rx_w)) - MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, dcd_w)) - MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, dsr_w)) - MCFG_RS232_OUT_RI_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, ri_w)) - MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, cts_w)) + MCFG_RS232_RXD_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, rx_w)) + MCFG_RS232_DCD_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, dcd_w)) + MCFG_RS232_DSR_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, dsr_w)) + MCFG_RS232_RI_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, ri_w)) + MCFG_RS232_CTS_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, cts_w)) MCFG_RS232_PORT_ADD( "serport1", ibm5150_com, NULL ) - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, rx_w)) - MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, dcd_w)) - MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, dsr_w)) - MCFG_RS232_OUT_RI_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, ri_w)) - MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, cts_w)) + MCFG_RS232_RXD_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, rx_w)) + MCFG_RS232_DCD_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, dcd_w)) + MCFG_RS232_DSR_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, dsr_w)) + MCFG_RS232_RI_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, ri_w)) + MCFG_RS232_CTS_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, cts_w)) /* video hardware */ MCFG_FRAGMENT_ADD( pcvideo_cga ) @@ -1576,18 +1575,18 @@ static MACHINE_CONFIG_START( olivetti, pc_state ) MCFG_INS8250_ADD( "ins8250_1", ibm5150_com_interface[1], XTAL_1_8432MHz ) /* TODO: Verify model */ MCFG_RS232_PORT_ADD( "serport0", ibm5150_com, NULL ) - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, rx_w)) - MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, dcd_w)) - MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, dsr_w)) - MCFG_RS232_OUT_RI_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, ri_w)) - MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, cts_w)) + MCFG_RS232_RXD_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, rx_w)) + MCFG_RS232_DCD_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, dcd_w)) + MCFG_RS232_DSR_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, dsr_w)) + MCFG_RS232_RI_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, ri_w)) + MCFG_RS232_CTS_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, cts_w)) MCFG_RS232_PORT_ADD( "serport1", ibm5150_com, NULL ) - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, rx_w)) - MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, dcd_w)) - MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, dsr_w)) - MCFG_RS232_OUT_RI_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, ri_w)) - MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, cts_w)) + MCFG_RS232_RXD_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, rx_w)) + MCFG_RS232_DCD_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, dcd_w)) + MCFG_RS232_DSR_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, dsr_w)) + MCFG_RS232_RI_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, ri_w)) + MCFG_RS232_CTS_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, cts_w)) /* video hardware */ MCFG_FRAGMENT_ADD( pcvideo_cga ) @@ -1639,18 +1638,18 @@ static MACHINE_CONFIG_START( ibm5550, pc_state ) MCFG_INS8250_ADD( "ins8250_1", ibm5150_com_interface[1], XTAL_1_8432MHz ) /* TODO: Verify model */ MCFG_RS232_PORT_ADD( "serport0", ibm5150_com, NULL ) - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, rx_w)) - MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, dcd_w)) - MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, dsr_w)) - MCFG_RS232_OUT_RI_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, ri_w)) - MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, cts_w)) + MCFG_RS232_RXD_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, rx_w)) + MCFG_RS232_DCD_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, dcd_w)) + MCFG_RS232_DSR_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, dsr_w)) + MCFG_RS232_RI_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, ri_w)) + MCFG_RS232_CTS_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, cts_w)) MCFG_RS232_PORT_ADD( "serport1", ibm5150_com, NULL ) - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, rx_w)) - MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, dcd_w)) - MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, dsr_w)) - MCFG_RS232_OUT_RI_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, ri_w)) - MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, cts_w)) + MCFG_RS232_RXD_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, rx_w)) + MCFG_RS232_DCD_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, dcd_w)) + MCFG_RS232_DSR_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, dsr_w)) + MCFG_RS232_RI_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, ri_w)) + MCFG_RS232_CTS_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, cts_w)) /* video hardware */ MCFG_FRAGMENT_ADD( pcvideo_cga ) diff --git a/src/mess/drivers/pc1512.c b/src/mess/drivers/pc1512.c index 3cf9068628f..b9c815d1257 100644 --- a/src/mess/drivers/pc1512.c +++ b/src/mess/drivers/pc1512.c @@ -87,6 +87,7 @@ This is done by following steps 11 and 12. */ #include "includes/pc1512.h" +#include "bus/rs232/rs232.h" #include "video/isa_ega.h" @@ -1065,9 +1066,9 @@ void pc1512_state::fdc_drq_w(bool state) static const ins8250_interface uart_intf = { - DEVCB_DEVICE_LINE_MEMBER(RS232_TAG, serial_port_device, tx), - DEVCB_DEVICE_LINE_MEMBER(RS232_TAG, rs232_port_device, dtr_w), - DEVCB_DEVICE_LINE_MEMBER(RS232_TAG, rs232_port_device, rts_w), + DEVCB_DEVICE_LINE_MEMBER(RS232_TAG, rs232_port_device, write_txd), + DEVCB_DEVICE_LINE_MEMBER(RS232_TAG, rs232_port_device, write_dtr), + DEVCB_DEVICE_LINE_MEMBER(RS232_TAG, rs232_port_device, write_rts), DEVCB_DEVICE_LINE_MEMBER(I8259A2_TAG, pic8259_device, ir4_w), DEVCB_NULL, DEVCB_NULL @@ -1328,11 +1329,11 @@ static MACHINE_CONFIG_START( pc1512, pc1512_state ) MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", CENTRONICS_TAG) MCFG_RS232_PORT_ADD(RS232_TAG, default_rs232_devices, NULL) - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(INS8250_TAG, ins8250_uart_device, rx_w)) - MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE(INS8250_TAG, ins8250_uart_device, dcd_w)) - MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE(INS8250_TAG, ins8250_uart_device, dsr_w)) - MCFG_RS232_OUT_RI_HANDLER(DEVWRITELINE(INS8250_TAG, ins8250_uart_device, ri_w)) - MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE(INS8250_TAG, ins8250_uart_device, cts_w)) + MCFG_RS232_RXD_HANDLER(DEVWRITELINE(INS8250_TAG, ins8250_uart_device, rx_w)) + MCFG_RS232_DCD_HANDLER(DEVWRITELINE(INS8250_TAG, ins8250_uart_device, dcd_w)) + MCFG_RS232_DSR_HANDLER(DEVWRITELINE(INS8250_TAG, ins8250_uart_device, dsr_w)) + MCFG_RS232_RI_HANDLER(DEVWRITELINE(INS8250_TAG, ins8250_uart_device, ri_w)) + MCFG_RS232_CTS_HANDLER(DEVWRITELINE(INS8250_TAG, ins8250_uart_device, cts_w)) // ISA8 bus MCFG_ISA8_BUS_ADD(ISA_BUS_TAG, ":" I8086_TAG, isabus_intf) @@ -1406,11 +1407,11 @@ static MACHINE_CONFIG_START( pc1640, pc1640_state ) MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", CENTRONICS_TAG) MCFG_RS232_PORT_ADD(RS232_TAG, default_rs232_devices, NULL) - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(INS8250_TAG, ins8250_uart_device, rx_w)) - MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE(INS8250_TAG, ins8250_uart_device, dcd_w)) - MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE(INS8250_TAG, ins8250_uart_device, dsr_w)) - MCFG_RS232_OUT_RI_HANDLER(DEVWRITELINE(INS8250_TAG, ins8250_uart_device, ri_w)) - MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE(INS8250_TAG, ins8250_uart_device, cts_w)) + MCFG_RS232_RXD_HANDLER(DEVWRITELINE(INS8250_TAG, ins8250_uart_device, rx_w)) + MCFG_RS232_DCD_HANDLER(DEVWRITELINE(INS8250_TAG, ins8250_uart_device, dcd_w)) + MCFG_RS232_DSR_HANDLER(DEVWRITELINE(INS8250_TAG, ins8250_uart_device, dsr_w)) + MCFG_RS232_RI_HANDLER(DEVWRITELINE(INS8250_TAG, ins8250_uart_device, ri_w)) + MCFG_RS232_CTS_HANDLER(DEVWRITELINE(INS8250_TAG, ins8250_uart_device, cts_w)) // ISA8 bus MCFG_ISA8_BUS_ADD(ISA_BUS_TAG, ":" I8086_TAG, isabus_intf) diff --git a/src/mess/drivers/pc8401a.c b/src/mess/drivers/pc8401a.c index ba57fe231c9..ea005ab6892 100644 --- a/src/mess/drivers/pc8401a.c +++ b/src/mess/drivers/pc8401a.c @@ -33,6 +33,8 @@ */ +#include "bus/rs232/rs232.h" + /* Fake Keyboard */ void pc8401a_state::scan_keyboard() @@ -571,9 +573,9 @@ static I8255A_INTERFACE( ppi_intf ) static const i8251_interface uart_intf = { - DEVCB_DEVICE_LINE_MEMBER(RS232_TAG, serial_port_device, tx), - DEVCB_DEVICE_LINE_MEMBER(RS232_TAG, rs232_port_device, dtr_w), - DEVCB_DEVICE_LINE_MEMBER(RS232_TAG, rs232_port_device, rts_w), + DEVCB_DEVICE_LINE_MEMBER(RS232_TAG, rs232_port_device, write_txd), + DEVCB_DEVICE_LINE_MEMBER(RS232_TAG, rs232_port_device, write_dtr), + DEVCB_DEVICE_LINE_MEMBER(RS232_TAG, rs232_port_device, write_rts), DEVCB_NULL, DEVCB_NULL, DEVCB_NULL, @@ -597,8 +599,8 @@ static MACHINE_CONFIG_START( pc8401a, pc8401a_state ) MCFG_I8251_ADD(I8251_TAG, uart_intf) MCFG_RS232_PORT_ADD(RS232_TAG, default_rs232_devices, NULL) - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(I8251_TAG, i8251_device, write_rx)) - MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE(I8251_TAG, i8251_device, write_dsr)) + MCFG_RS232_RXD_HANDLER(DEVWRITELINE(I8251_TAG, i8251_device, write_rx)) + MCFG_RS232_DSR_HANDLER(DEVWRITELINE(I8251_TAG, i8251_device, write_dsr)) /* video hardware */ MCFG_FRAGMENT_ADD(pc8401a_video) diff --git a/src/mess/drivers/pdp11.c b/src/mess/drivers/pdp11.c index 9845eef35c2..b2c2cb024e1 100644 --- a/src/mess/drivers/pdp11.c +++ b/src/mess/drivers/pdp11.c @@ -91,14 +91,17 @@ #include "machine/terminal.h" #include "machine/rx01.h" +#define TERMINAL_TAG "terminal" + class pdp11_state : public driver_device { public: pdp11_state(const machine_config &mconfig, device_type type, const char *tag) : driver_device(mconfig, type, tag), - m_maincpu(*this, "maincpu"), - m_terminal(*this, TERMINAL_TAG) - { } + m_maincpu(*this, "maincpu"), + m_terminal(*this, TERMINAL_TAG) + { + } required_device<cpu_device> m_maincpu; required_device<generic_terminal_device> m_terminal; diff --git a/src/mess/drivers/pes.c b/src/mess/drivers/pes.c index cbe8c49f03c..95e0977e58b 100644 --- a/src/mess/drivers/pes.c +++ b/src/mess/drivers/pes.c @@ -64,7 +64,6 @@ Address map: #include "includes/pes.h" #include "cpu/mcs51/mcs51.h" #include "sound/tms5220.h" -#include "machine/terminal.h" /* Devices */ WRITE8_MEMBER(pes_state::pes_kbd_input) diff --git a/src/mess/drivers/phunsy.c b/src/mess/drivers/phunsy.c index 17625cce0a5..7d1543ff697 100644 --- a/src/mess/drivers/phunsy.c +++ b/src/mess/drivers/phunsy.c @@ -35,17 +35,19 @@ #define LOG 1 +#define KEYBOARD_TAG "keyboard" class phunsy_state : public driver_device { public: phunsy_state(const machine_config &mconfig, device_type type, const char *tag) - : driver_device(mconfig, type, tag) - , m_maincpu(*this, "maincpu") - , m_speaker(*this, "speaker") - , m_cass(*this, "cassette") - , m_p_videoram(*this, "videoram") - { } + : driver_device(mconfig, type, tag), + m_maincpu(*this, "maincpu"), + m_speaker(*this, "speaker"), + m_cass(*this, "cassette"), + m_p_videoram(*this, "videoram") + { + } DECLARE_DRIVER_INIT(phunsy); DECLARE_READ8_MEMBER( phunsy_data_r ); diff --git a/src/mess/drivers/pimps.c b/src/mess/drivers/pimps.c index b842f1d93b0..48583198f60 100644 --- a/src/mess/drivers/pimps.c +++ b/src/mess/drivers/pimps.c @@ -24,14 +24,17 @@ V Virtual Memory #include "cpu/i8085/i8085.h" #include "machine/terminal.h" +#define TERMINAL_TAG "terminal" class pimps_state : public driver_device { public: pimps_state(const machine_config &mconfig, device_type type, const char *tag) : driver_device(mconfig, type, tag), - m_terminal(*this, TERMINAL_TAG) , - m_maincpu(*this, "maincpu") { } + m_terminal(*this, TERMINAL_TAG), + m_maincpu(*this, "maincpu") + { + } DECLARE_READ8_MEMBER(term_status_r); DECLARE_READ8_MEMBER(term_r); diff --git a/src/mess/drivers/pipbug.c b/src/mess/drivers/pipbug.c index 9705c693348..b1f749c4304 100644 --- a/src/mess/drivers/pipbug.c +++ b/src/mess/drivers/pipbug.c @@ -37,7 +37,7 @@ ****************************************************************************/ -#include "emu.h" +#include "bus/rs232/rs232.h" #include "cpu/s2650/s2650.h" #include "machine/terminal.h" #include "imagedev/snapquik.h" @@ -168,11 +168,11 @@ static MACHINE_CONFIG_START( pipbug, pipbug_state ) MCFG_CPU_ADD("maincpu",S2650, XTAL_1MHz) MCFG_CPU_PROGRAM_MAP(pipbug_mem) MCFG_CPU_IO_MAP(pipbug_io) - MCFG_S2650_FLAG_HANDLER(DEVWRITELINE("rs232", rs232_port_device, tx)) + MCFG_S2650_FLAG_HANDLER(DEVWRITELINE("rs232", rs232_port_device, write_txd)) /* video hardware */ MCFG_RS232_PORT_ADD("rs232", default_rs232_devices, "serial_terminal") - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE("maincpu", s2650_device, write_sense)) + MCFG_RS232_RXD_HANDLER(DEVWRITELINE("maincpu", s2650_device, write_sense)) MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("serial_terminal", terminal) /* quickload */ diff --git a/src/mess/drivers/pm68k.c b/src/mess/drivers/pm68k.c index d07503b3dcd..100b8407c0e 100644 --- a/src/mess/drivers/pm68k.c +++ b/src/mess/drivers/pm68k.c @@ -14,15 +14,18 @@ Status: Boots into monitor, some commands work, some freeze. #include "cpu/m68000/m68000.h" #include "machine/terminal.h" +#define TERMINAL_TAG "terminal" + class pm68k_state : public driver_device { public: pm68k_state(const machine_config &mconfig, device_type type, const char *tag) - : driver_device(mconfig, type, tag) - , m_p_base(*this, "rambase") - , m_maincpu(*this, "maincpu") - , m_terminal(*this, TERMINAL_TAG) - { } + : driver_device(mconfig, type, tag), + m_p_base(*this, "rambase"), + m_maincpu(*this, "maincpu"), + m_terminal(*this, TERMINAL_TAG) + { + } DECLARE_WRITE8_MEMBER(kbd_put); DECLARE_READ16_MEMBER(keyin_r); diff --git a/src/mess/drivers/poly.c b/src/mess/drivers/poly.c index 591eab9b505..38d18f6e2f1 100644 --- a/src/mess/drivers/poly.c +++ b/src/mess/drivers/poly.c @@ -40,18 +40,19 @@ #include "machine/keyboard.h" #include "sound/speaker.h" - +#define KEYBOARD_TAG "keyboard" class poly_state : public driver_device { public: poly_state(const machine_config &mconfig, device_type type, const char *tag) : driver_device(mconfig, type, tag), - m_maincpu(*this, "maincpu"), - m_pia0(*this, "pia0"), - m_pia1(*this, "pia1"), - m_videoram(*this, "videoram") - { } + m_maincpu(*this, "maincpu"), + m_pia0(*this, "pia0"), + m_pia1(*this, "pia1"), + m_videoram(*this, "videoram") + { + } required_device<cpu_device> m_maincpu; required_device<pia6821_device> m_pia0; @@ -123,7 +124,7 @@ static ACIA6850_INTERFACE( acia_intf ) 1, 1, DEVCB_NULL,//DEVCB_DEVICE_LINE_MEMBER("rs232", serial_port_device, tx), - DEVCB_NULL,//DEVCB_DEVICE_LINE_MEMBER("rs232", rs232_port_device, rts_w), + DEVCB_NULL,//DEVCB_DEVICE_LINE_MEMBER("rs232", rs232_port_device, write_rts), DEVCB_NULL }; diff --git a/src/mess/drivers/portfoli.c b/src/mess/drivers/portfoli.c index d7d1d706e3e..381281f1f8b 100644 --- a/src/mess/drivers/portfoli.c +++ b/src/mess/drivers/portfoli.c @@ -78,6 +78,7 @@ */ #include "includes/portfoli.h" +#include "bus/rs232/rs232.h" #include "rendlay.h" @@ -731,9 +732,9 @@ WRITE_LINE_MEMBER( portfolio_state::i8250_intrpt_w ) static const ins8250_interface i8250_intf = { - DEVCB_DEVICE_LINE_MEMBER(RS232_TAG, serial_port_device, tx), - DEVCB_DEVICE_LINE_MEMBER(RS232_TAG, rs232_port_device, dtr_w), - DEVCB_DEVICE_LINE_MEMBER(RS232_TAG, rs232_port_device, rts_w), + DEVCB_DEVICE_LINE_MEMBER(RS232_TAG, rs232_port_device, write_txd), + DEVCB_DEVICE_LINE_MEMBER(RS232_TAG, rs232_port_device, write_dtr), + DEVCB_DEVICE_LINE_MEMBER(RS232_TAG, rs232_port_device, write_rts), DEVCB_DRIVER_LINE_MEMBER(portfolio_state, i8250_intrpt_w), DEVCB_NULL, DEVCB_NULL @@ -885,11 +886,11 @@ static MACHINE_CONFIG_START( portfolio, portfolio_state ) MCFG_TIMER_DRIVER_ADD_PERIODIC(TIMER_TICK_TAG, portfolio_state, system_tick, attotime::from_hz(XTAL_32_768kHz/32768)) MCFG_RS232_PORT_ADD(RS232_TAG, default_rs232_devices, NULL) - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(M82C50A_TAG, ins8250_uart_device, rx_w)) - MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE(M82C50A_TAG, ins8250_uart_device, dcd_w)) - MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE(M82C50A_TAG, ins8250_uart_device, dsr_w)) - MCFG_RS232_OUT_RI_HANDLER(DEVWRITELINE(M82C50A_TAG, ins8250_uart_device, ri_w)) - MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE(M82C50A_TAG, ins8250_uart_device, cts_w)) + MCFG_RS232_RXD_HANDLER(DEVWRITELINE(M82C50A_TAG, ins8250_uart_device, rx_w)) + MCFG_RS232_DCD_HANDLER(DEVWRITELINE(M82C50A_TAG, ins8250_uart_device, dcd_w)) + MCFG_RS232_DSR_HANDLER(DEVWRITELINE(M82C50A_TAG, ins8250_uart_device, dsr_w)) + MCFG_RS232_RI_HANDLER(DEVWRITELINE(M82C50A_TAG, ins8250_uart_device, ri_w)) + MCFG_RS232_CTS_HANDLER(DEVWRITELINE(M82C50A_TAG, ins8250_uart_device, cts_w)) /* fake keyboard */ MCFG_TIMER_DRIVER_ADD_PERIODIC("keyboard", portfolio_state, keyboard_tick, attotime::from_usec(2500)) diff --git a/src/mess/drivers/prof80.c b/src/mess/drivers/prof80.c index ae2f78f4e6c..72d56f83d34 100644 --- a/src/mess/drivers/prof80.c +++ b/src/mess/drivers/prof80.c @@ -124,11 +124,11 @@ void prof80_state::ls259_w(int fa, int sa, int fb, int sb) break; case 2: // _RTS - m_rs232a->rts_w(fb); + m_rs232a->write_rts(fb); break; case 3: // TX - m_rs232a->tx(fb); + m_rs232a->write_txd(fb); break; case 4: // _MSTOP @@ -143,7 +143,7 @@ void prof80_state::ls259_w(int fa, int sa, int fb, int sb) break; case 5: // TXP - m_rs232b->tx(fb); + m_rs232b->write_txd(fb); break; case 6: // TSTB @@ -212,7 +212,7 @@ READ8_MEMBER( prof80_state::status_r ) UINT8 data = 0; // serial receive - data |= !m_rs232a->rx(); + data |= !m_rs232a->rxd_r(); // clear to send data |= m_rs232a->cts_r() << 4; diff --git a/src/mess/drivers/ptcsol.c b/src/mess/drivers/ptcsol.c index 0dd50c4597f..16a1670b055 100644 --- a/src/mess/drivers/ptcsol.c +++ b/src/mess/drivers/ptcsol.c @@ -122,6 +122,8 @@ struct cass_data_t { } output; }; +#define KEYBOARD_TAG "keyboard" + class sol20_state : public driver_device { public: @@ -133,21 +135,22 @@ public: sol20_state(const machine_config &mconfig, device_type type, const char *tag) : driver_device(mconfig, type, tag), - m_maincpu(*this, "maincpu"), - m_cass1(*this, "cassette"), - m_cass2(*this, "cassette2"), - m_uart(*this, "uart"), - m_uart_s(*this, "uart_s"), - m_p_videoram(*this, "videoram"), - m_iop_arrows(*this, "ARROWS"), - m_iop_config(*this, "CONFIG"), - m_iop_s1(*this, "S1"), - m_iop_s2(*this, "S2"), - m_iop_s3(*this, "S3"), - m_iop_s4(*this, "S4"), - m_cassette1(*this, "cassette"), - m_cassette2(*this, "cassette2") - { } + m_maincpu(*this, "maincpu"), + m_cass1(*this, "cassette"), + m_cass2(*this, "cassette2"), + m_uart(*this, "uart"), + m_uart_s(*this, "uart_s"), + m_p_videoram(*this, "videoram"), + m_iop_arrows(*this, "ARROWS"), + m_iop_config(*this, "CONFIG"), + m_iop_s1(*this, "S1"), + m_iop_s2(*this, "S2"), + m_iop_s3(*this, "S3"), + m_iop_s4(*this, "S4"), + m_cassette1(*this, "cassette"), + m_cassette2(*this, "cassette2") + { + } DECLARE_READ8_MEMBER( sol20_f8_r ); DECLARE_READ8_MEMBER( sol20_f9_r ); diff --git a/src/mess/drivers/pulsar.c b/src/mess/drivers/pulsar.c index 3ca81f00ba7..3c8c318e1b5 100644 --- a/src/mess/drivers/pulsar.c +++ b/src/mess/drivers/pulsar.c @@ -35,14 +35,13 @@ X - Test off-board memory banks ****************************************************************************/ -#include "emu.h" +#include "bus/rs232/rs232.h" #include "cpu/z80/z80.h" #include "cpu/z80/z80daisy.h" #include "machine/z80dart.h" #include "machine/msm5832.h" #include "machine/i8255.h" #include "machine/com8116.h" -#include "machine/serial.h" #include "machine/wd_fdc.h" @@ -198,9 +197,9 @@ static Z80DART_INTERFACE( dart_intf ) { 0, 0, 0, 0, - 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_DEVICE_LINE_MEMBER("rs232", rs232_port_device, write_txd), + DEVCB_DEVICE_LINE_MEMBER("rs232", rs232_port_device, write_dtr), + DEVCB_DEVICE_LINE_MEMBER("rs232", rs232_port_device, write_rts), DEVCB_NULL, DEVCB_NULL, @@ -261,9 +260,11 @@ 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_RS232_PORT_ADD("rs232", default_rs232_devices, "serial_terminal") - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE("z80dart", z80dart_device, rxa_w)) - MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE("z80dart", z80dart_device, ctsa_w)) + MCFG_RS232_RXD_HANDLER(DEVWRITELINE("z80dart", z80dart_device, rxa_w)) + MCFG_RS232_CTS_HANDLER(DEVWRITELINE("z80dart", z80dart_device, ctsa_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) diff --git a/src/mess/drivers/px4.c b/src/mess/drivers/px4.c index 6ba6255f4a7..a0a79fdef74 100644 --- a/src/mess/drivers/px4.c +++ b/src/mess/drivers/px4.c @@ -10,7 +10,7 @@ ***************************************************************************/ -#include "emu.h" +#include "bus/rs232/rs232.h" #include "cpu/z80/z80.h" #include "machine/ram.h" #include "machine/epson_sio.h" @@ -20,7 +20,6 @@ #include "machine/ram.h" #include "machine/nvram.h" #include "sound/speaker.h" -#include "machine/serial.h" #include "px4.lh" @@ -798,7 +797,7 @@ void px4_state::txd_w(int data) else if (BIT(m_swr, 3)) // to rs232 - m_rs232->tx(data); + m_rs232->write_txd(data); // else to cartridge } @@ -928,8 +927,8 @@ WRITE8_MEMBER( px4_state::px4_artcr_w ) m_artsr &= ~(ART_PE | ART_OE | ART_FE); // rs232 - m_rs232->dtr_w(!BIT(data, 1)); - m_rs232->rts_w(!BIT(data, 5)); + m_rs232->write_dtr(!BIT(data, 1)); + m_rs232->write_rts(!BIT(data, 5)); } // switch register @@ -1429,10 +1428,10 @@ static MACHINE_CONFIG_START( px4, px4_state ) // rs232 port MCFG_RS232_PORT_ADD("rs232", default_rs232_devices, NULL) - MCFG_SERIAL_OUT_RX_HANDLER(WRITELINE(px4_state, rs232_rx_w)) - MCFG_RS232_OUT_DCD_HANDLER(WRITELINE(px4_state, rs232_dcd_w)) - MCFG_RS232_OUT_DSR_HANDLER(WRITELINE(px4_state, rs232_dsr_w)) - MCFG_RS232_OUT_CTS_HANDLER(WRITELINE(px4_state, rs232_cts_w)) + MCFG_RS232_RXD_HANDLER(WRITELINE(px4_state, rs232_rx_w)) + MCFG_RS232_DCD_HANDLER(WRITELINE(px4_state, rs232_dcd_w)) + MCFG_RS232_DSR_HANDLER(WRITELINE(px4_state, rs232_dsr_w)) + MCFG_RS232_CTS_HANDLER(WRITELINE(px4_state, rs232_cts_w)) // rom capsules MCFG_CARTSLOT_ADD("capsule1") diff --git a/src/mess/drivers/ql.c b/src/mess/drivers/ql.c index 75e86c8eddc..1a586f7eb3d 100644 --- a/src/mess/drivers/ql.c +++ b/src/mess/drivers/ql.c @@ -159,7 +159,7 @@ READ8_MEMBER( ql_state::ipc_port2_r ) UINT8 data = 0; // SER2 serial data input - data |= m_ser2->rx(); + data |= m_ser2->rxd_r(); // COMDATA data |= m_comdata << 7; @@ -211,7 +211,7 @@ WRITE8_MEMBER( ql_state::ipc_port2_w ) // TODO SER1 clear to send // SER2 data terminal ready - m_ser2->dtr_w(!BIT(data, 5)); + m_ser2->write_dtr(!BIT(data, 5)); // COMDATA m_comdata = BIT(data, 7); @@ -782,7 +782,7 @@ static ZX8302_INTERFACE( ql_zx8302_intf ) DEVCB_DRIVER_LINE_MEMBER(ql_state, ql_baudx4_w), DEVCB_DRIVER_LINE_MEMBER(ql_state, ql_comdata_w), DEVCB_NULL, // TXD1 - DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, serial_port_device, tx), + DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, rs232_port_device, write_txd), DEVCB_NULL, // NETOUT DEVCB_DRIVER_LINE_MEMBER(ql_state, zx8302_mdselck_w), DEVCB_DEVICE_LINE_MEMBER(MDV_1, microdrive_image_device, comms_in_w), @@ -1005,7 +1005,7 @@ static MACHINE_CONFIG_START( ql, ql_state ) MCFG_MICRODRIVE_ADD(MDV_2, mdv2_config) MCFG_RS232_PORT_ADD(RS232_A_TAG, default_rs232_devices, NULL) // wired as DCE MCFG_RS232_PORT_ADD(RS232_B_TAG, default_rs232_devices, NULL) // wired as DTE - MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE(ZX8302_TAG, zx8302_device, write_cts2)) + MCFG_RS232_CTS_HANDLER(DEVWRITELINE(ZX8302_TAG, zx8302_device, write_cts2)) // cartridge MCFG_CARTSLOT_ADD("cart") diff --git a/src/mess/drivers/qtsbc.c b/src/mess/drivers/qtsbc.c index e4cc7a535ef..478e0eb7f39 100644 --- a/src/mess/drivers/qtsbc.c +++ b/src/mess/drivers/qtsbc.c @@ -14,16 +14,18 @@ #include "cpu/z80/z80.h" #include "machine/terminal.h" +#define TERMINAL_TAG "terminal" class qtsbc_state : public driver_device { public: qtsbc_state(const machine_config &mconfig, device_type type, const char *tag) : driver_device(mconfig, type, tag), - m_maincpu(*this, "maincpu"), - m_terminal(*this, TERMINAL_TAG) - , - m_p_ram(*this, "p_ram"){ } + m_maincpu(*this, "maincpu"), + m_terminal(*this, TERMINAL_TAG), + m_p_ram(*this, "p_ram") + { + } required_device<cpu_device> m_maincpu; required_device<generic_terminal_device> m_terminal; diff --git a/src/mess/drivers/qx10.c b/src/mess/drivers/qx10.c index 8b1b7458acb..216f3fb7b6f 100644 --- a/src/mess/drivers/qx10.c +++ b/src/mess/drivers/qx10.c @@ -29,7 +29,7 @@ ****************************************************************************/ -#include "emu.h" +#include "bus/rs232/rs232.h" #include "cpu/z80/z80.h" #include "machine/pit8253.h" #include "machine/pic8259.h" @@ -37,7 +37,6 @@ #include "machine/mc146818.h" #include "machine/i8255.h" #include "machine/am9517a.h" -#include "machine/serial.h" #include "video/upd7220.h" #include "machine/upd765.h" #include "machine/ram.h" @@ -56,21 +55,23 @@ class qx10_state : public driver_device public: qx10_state(const machine_config &mconfig, device_type type, const char *tag) : driver_device(mconfig, type, tag), - m_pit_1(*this, "pit8253_1"), - m_pit_2(*this, "pit8253_2"), - m_pic_m(*this, "pic8259_master"), - m_pic_s(*this, "pic8259_slave"), - m_scc(*this, "upd7201"), - m_ppi(*this, "i8255"), - m_dma_1(*this, "8237dma_1"), - m_dma_2(*this, "8237dma_2"), - m_fdc(*this, "upd765"), - m_hgdc(*this, "upd7220"), - m_rtc(*this, "rtc"), - m_kbd(*this, "kbd"), - m_vram_bank(0), - m_maincpu(*this, "maincpu"), - m_ram(*this, RAM_TAG) { } + m_pit_1(*this, "pit8253_1"), + m_pit_2(*this, "pit8253_2"), + m_pic_m(*this, "pic8259_master"), + m_pic_s(*this, "pic8259_slave"), + m_scc(*this, "upd7201"), + m_ppi(*this, "i8255"), + m_dma_1(*this, "8237dma_1"), + m_dma_2(*this, "8237dma_2"), + m_fdc(*this, "upd765"), + m_hgdc(*this, "upd7220"), + m_rtc(*this, "rtc"), + m_kbd(*this, "kbd"), + m_vram_bank(0), + m_maincpu(*this, "maincpu"), + m_ram(*this, RAM_TAG) + { + } required_device<pit8253_device> m_pit_1; required_device<pit8253_device> m_pit_2; @@ -465,15 +466,15 @@ static UPD7201_INTERFACE(qx10_upd7201_interface) { 0, 0, 0, 0, // channel b clock set by pit2 channel 2 - DEVCB_DEVICE_LINE_MEMBER("kbd", serial_keyboard_device, rx_w), + DEVCB_DEVICE_LINE_MEMBER("kbd", serial_keyboard_device, input_txd), DEVCB_NULL, DEVCB_NULL, DEVCB_NULL, DEVCB_NULL, - DEVCB_DEVICE_LINE_MEMBER(RS232_TAG, serial_port_device, tx), - DEVCB_DEVICE_LINE_MEMBER(RS232_TAG, rs232_port_device, dtr_w), - DEVCB_DEVICE_LINE_MEMBER(RS232_TAG, rs232_port_device, rts_w), + DEVCB_DEVICE_LINE_MEMBER(RS232_TAG, rs232_port_device, write_txd), + DEVCB_DEVICE_LINE_MEMBER(RS232_TAG, rs232_port_device, write_dtr), + DEVCB_DEVICE_LINE_MEMBER(RS232_TAG, rs232_port_device, write_rts), DEVCB_NULL, DEVCB_NULL, @@ -878,7 +879,7 @@ static MACHINE_CONFIG_START( qx10, qx10_state ) MCFG_FLOPPY_DRIVE_ADD("upd765:1", qx10_floppies, "525dd", floppy_image_device::default_floppy_formats) MCFG_RS232_PORT_ADD(RS232_TAG, default_rs232_devices, NULL) - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE("upd7201", upd7201_device, rxb_w)) + MCFG_RS232_RXD_HANDLER(DEVWRITELINE("upd7201", upd7201_device, rxb_w)) MCFG_QX10_KEYBOARD_ADD("kbd", qx10_keyboard_interface) diff --git a/src/mess/drivers/ravens.c b/src/mess/drivers/ravens.c index a1fa2ff0320..542eb48966d 100644 --- a/src/mess/drivers/ravens.c +++ b/src/mess/drivers/ravens.c @@ -77,6 +77,7 @@ ToDo: #include "sound/wave.h" #include "ravens.lh" +#define TERMINAL_TAG "terminal" class ravens_state : public driver_device { @@ -85,7 +86,9 @@ public: : driver_device(mconfig, type, tag), m_maincpu(*this, "maincpu"), m_terminal(*this, TERMINAL_TAG), - m_cass(*this, "cassette") { } + m_cass(*this, "cassette") + { + } DECLARE_READ8_MEMBER(port07_r); DECLARE_READ8_MEMBER(port17_r); diff --git a/src/mess/drivers/rm380z.c b/src/mess/drivers/rm380z.c index a579f5fb153..ec44eb109cf 100644 --- a/src/mess/drivers/rm380z.c +++ b/src/mess/drivers/rm380z.c @@ -87,6 +87,7 @@ Module timer tag static_vblank_timer name m_expire.seconds #include "includes/rm380z.h" +#define KEYBOARD_TAG "keyboard" static ADDRESS_MAP_START(rm380z_mem, AS_PROGRAM, 8, rm380z_state) AM_RANGE( 0xe000, 0xefff ) AM_ROM AM_REGION(RM380Z_MAINCPU_TAG, 0) diff --git a/src/mess/drivers/rvoice.c b/src/mess/drivers/rvoice.c index 63b1d71d55a..6081e447258 100644 --- a/src/mess/drivers/rvoice.c +++ b/src/mess/drivers/rvoice.c @@ -16,6 +16,8 @@ /* Defines */ +#define TERMINAL_TAG "terminal" + /* Components */ struct hd63701y0_t diff --git a/src/mess/drivers/sacstate.c b/src/mess/drivers/sacstate.c index 846c2b38470..28ff0beff85 100644 --- a/src/mess/drivers/sacstate.c +++ b/src/mess/drivers/sacstate.c @@ -36,15 +36,17 @@ Other input will either result in '!' message, or halt. #include "cpu/i8008/i8008.h" #include "machine/terminal.h" +#define TERMINAL_TAG "terminal" class sacstate_state : public driver_device { public: sacstate_state(const machine_config &mconfig, device_type type, const char *tag) : driver_device(mconfig, type, tag), - m_maincpu(*this, "maincpu"), - m_terminal(*this, TERMINAL_TAG) - { } + m_maincpu(*this, "maincpu"), + m_terminal(*this, TERMINAL_TAG) + { + } required_device<cpu_device> m_maincpu; required_device<generic_terminal_device> m_terminal; diff --git a/src/mess/drivers/sage2.c b/src/mess/drivers/sage2.c index a39ec32d67e..772468a2ba1 100644 --- a/src/mess/drivers/sage2.c +++ b/src/mess/drivers/sage2.c @@ -24,6 +24,7 @@ */ #include "includes/sage2.h" +#include "bus/rs232/rs232.h" //************************************************************************** @@ -455,9 +456,9 @@ static const struct pit8253_interface pit1_intf = static const i8251_interface usart0_intf = { - DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, serial_port_device, tx), - DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, dtr_w), - DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, rts_w), + DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, write_txd), + DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, write_dtr), + DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, write_rts), DEVCB_CPU_INPUT_LINE(M68000_TAG, M68K_IRQ_5), DEVCB_DEVICE_LINE_MEMBER(I8259_TAG, pic8259_device, ir2_w), DEVCB_NULL, @@ -471,9 +472,9 @@ static const i8251_interface usart0_intf = static const i8251_interface usart1_intf = { - DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, serial_port_device, tx), - DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, rs232_port_device, dtr_w), - DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, rs232_port_device, rts_w), + DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, rs232_port_device, write_txd), + DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, rs232_port_device, write_dtr), + DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, rs232_port_device, write_rts), DEVCB_DEVICE_LINE_MEMBER(I8259_TAG, pic8259_device, ir1_w), DEVCB_DEVICE_LINE_MEMBER(I8259_TAG, pic8259_device, ir3_w), DEVCB_NULL, @@ -574,13 +575,13 @@ static MACHINE_CONFIG_START( sage2, sage2_state ) MCFG_IEEE488_BUS_ADD() MCFG_RS232_PORT_ADD(RS232_A_TAG, default_rs232_devices, "serial_terminal") - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(I8251_0_TAG, i8251_device, write_rx)) - MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE(I8251_0_TAG, i8251_device, write_dsr)) + MCFG_RS232_RXD_HANDLER(DEVWRITELINE(I8251_0_TAG, i8251_device, write_rx)) + MCFG_RS232_DSR_HANDLER(DEVWRITELINE(I8251_0_TAG, i8251_device, write_dsr)) MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("serial_terminal", terminal) MCFG_RS232_PORT_ADD(RS232_B_TAG, default_rs232_devices, NULL) - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(I8251_1_TAG, i8251_device, write_rx)) - MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE(I8251_1_TAG, i8251_device, write_dsr)) + MCFG_RS232_RXD_HANDLER(DEVWRITELINE(I8251_1_TAG, i8251_device, write_rx)) + MCFG_RS232_DSR_HANDLER(DEVWRITELINE(I8251_1_TAG, i8251_device, write_dsr)) // internal ram MCFG_RAM_ADD(RAM_TAG) diff --git a/src/mess/drivers/sapi1.c b/src/mess/drivers/sapi1.c index b1621dc7f2a..69654e7ea59 100644 --- a/src/mess/drivers/sapi1.c +++ b/src/mess/drivers/sapi1.c @@ -38,21 +38,24 @@ Unable to proceed due to no info available (& in English). #include "machine/keyboard.h" #include "machine/terminal.h" +#define TERMINAL_TAG "terminal" +#define KEYBOARD_TAG "keyboard" class sapi1_state : public driver_device { public: sapi1_state(const machine_config &mconfig, device_type type, const char *tag) - : driver_device(mconfig, type, tag) - , m_p_videoram(*this, "videoram") - , m_bank1(*this, "bank1") - , m_line0(*this, "LINE0") - , m_line1(*this, "LINE1") - , m_line2(*this, "LINE2") - , m_line3(*this, "LINE3") - , m_line4(*this, "LINE4") - , m_maincpu(*this, "maincpu") - { } + : driver_device(mconfig, type, tag), + m_p_videoram(*this, "videoram"), + m_bank1(*this, "bank1"), + m_line0(*this, "LINE0"), + m_line1(*this, "LINE1"), + m_line2(*this, "LINE2"), + m_line3(*this, "LINE3"), + m_line4(*this, "LINE4"), + m_maincpu(*this, "maincpu") + { + } optional_shared_ptr<UINT8> m_p_videoram; DECLARE_READ8_MEMBER(sapi1_keyboard_r); diff --git a/src/mess/drivers/sbc6510.c b/src/mess/drivers/sbc6510.c index ebae4c60b86..d7bb32eab77 100644 --- a/src/mess/drivers/sbc6510.c +++ b/src/mess/drivers/sbc6510.c @@ -57,15 +57,18 @@ ToDo: #include "sound/ay8910.h" #include "machine/terminal.h" +#define TERMINAL_TAG "terminal" class sbc6510_state : public driver_device { public: sbc6510_state(const machine_config &mconfig, device_type type, const char *tag) : driver_device(mconfig, type, tag), - m_maincpu(*this, "maincpu") , - m_videocpu(*this, "videocpu") , - m_terminal(*this, TERMINAL_TAG) { } + m_maincpu(*this, "maincpu"), + m_videocpu(*this, "videocpu"), + m_terminal(*this, TERMINAL_TAG) + { + } DECLARE_READ8_MEMBER(a2_r); DECLARE_WRITE8_MEMBER(a2_w); diff --git a/src/mess/drivers/sdk86.c b/src/mess/drivers/sdk86.c index e64a364a983..e8a5c9d40ed 100644 --- a/src/mess/drivers/sdk86.c +++ b/src/mess/drivers/sdk86.c @@ -26,11 +26,10 @@ ToDo: ****************************************************************************/ -#include "emu.h" +#include "bus/rs232/rs232.h" #include "cpu/i86/i86.h" #include "machine/i8251.h" #include "machine/i8279.h" -#include "machine/serial.h" #include "sdk86.lh" #define I8251_TAG "i8251" @@ -138,8 +137,8 @@ TIMER_DEVICE_CALLBACK_MEMBER( sdk86_state::serial_tick ) static const i8251_interface usart_intf = { - DEVCB_DEVICE_LINE_MEMBER(RS232_TAG, serial_port_device, tx), - DEVCB_DEVICE_LINE_MEMBER(RS232_TAG, rs232_port_device, dtr_w), + DEVCB_DEVICE_LINE_MEMBER(RS232_TAG, rs232_port_device, write_txd), + DEVCB_DEVICE_LINE_MEMBER(RS232_TAG, rs232_port_device, write_dtr), DEVCB_NULL, // connected to CTS DEVCB_NULL, DEVCB_NULL, @@ -181,8 +180,8 @@ static MACHINE_CONFIG_START( sdk86, sdk86_state ) MCFG_I8279_ADD("i8279", 2500000, sdk86_intf) // based on divider MCFG_RS232_PORT_ADD(RS232_TAG, default_rs232_devices, "serial_terminal") - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(I8251_TAG, i8251_device, write_rx)) - MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE(I8251_TAG, i8251_device, write_dsr)) + MCFG_RS232_RXD_HANDLER(DEVWRITELINE(I8251_TAG, i8251_device, write_rx)) + MCFG_RS232_DSR_HANDLER(DEVWRITELINE(I8251_TAG, i8251_device, write_dsr)) MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("serial_terminal", terminal) MCFG_TIMER_DRIVER_ADD_PERIODIC("serial", sdk86_state, serial_tick, attotime::from_hz(307200)) diff --git a/src/mess/drivers/seattle.c b/src/mess/drivers/seattle.c index 4ff7ede5ee6..0bb51fd39c3 100644 --- a/src/mess/drivers/seattle.c +++ b/src/mess/drivers/seattle.c @@ -33,15 +33,17 @@ There is a 4MHz crystal connected to the 9513. #include "cpu/i86/i86.h" #include "machine/terminal.h" +#define TERMINAL_TAG "terminal" class seattle_comp_state : public driver_device { public: seattle_comp_state(const machine_config &mconfig, device_type type, const char *tag) - : driver_device(mconfig, type, tag) - , m_maincpu(*this, "maincpu") - , m_terminal(*this, TERMINAL_TAG) - { } + : driver_device(mconfig, type, tag), + m_maincpu(*this, "maincpu"), + m_terminal(*this, TERMINAL_TAG) + { + } DECLARE_READ16_MEMBER(read); DECLARE_WRITE16_MEMBER(write); diff --git a/src/mess/drivers/sg1000.c b/src/mess/drivers/sg1000.c index f44f3e25ede..5dba367127d 100644 --- a/src/mess/drivers/sg1000.c +++ b/src/mess/drivers/sg1000.c @@ -66,6 +66,7 @@ Notes: #include "includes/sg1000.h" +#include "bus/rs232/rs232.h" #include "machine/sega8_rom.h" @@ -655,9 +656,9 @@ static I8255_INTERFACE( sf7000_ppi_intf ) static const i8251_interface usart_intf = { - DEVCB_DEVICE_LINE_MEMBER(RS232_TAG, serial_port_device, tx), - DEVCB_DEVICE_LINE_MEMBER(RS232_TAG, rs232_port_device, dtr_w), - DEVCB_DEVICE_LINE_MEMBER(RS232_TAG, rs232_port_device, rts_w), + DEVCB_DEVICE_LINE_MEMBER(RS232_TAG, rs232_port_device, write_txd), + DEVCB_DEVICE_LINE_MEMBER(RS232_TAG, rs232_port_device, write_dtr), + DEVCB_DEVICE_LINE_MEMBER(RS232_TAG, rs232_port_device, write_rts), DEVCB_NULL, DEVCB_NULL, DEVCB_NULL, @@ -891,8 +892,8 @@ static MACHINE_CONFIG_START( sf7000, sf7000_state ) MCFG_CASSETTE_ADD("cassette", sc3000_cassette_interface) MCFG_RS232_PORT_ADD(RS232_TAG, default_rs232_devices, NULL) - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(UPD8251_TAG, i8251_device, write_rx)) - MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE(UPD8251_TAG, i8251_device, write_dsr)) + MCFG_RS232_RXD_HANDLER(DEVWRITELINE(UPD8251_TAG, i8251_device, write_rx)) + MCFG_RS232_DSR_HANDLER(DEVWRITELINE(UPD8251_TAG, i8251_device, write_dsr)) /* software lists */ MCFG_SOFTWARE_LIST_ADD("flop_list","sf7000") diff --git a/src/mess/drivers/sgi_ip2.c b/src/mess/drivers/sgi_ip2.c index 14a256896c2..9ab3a403e63 100644 --- a/src/mess/drivers/sgi_ip2.c +++ b/src/mess/drivers/sgi_ip2.c @@ -48,6 +48,7 @@ #include "machine/68681.h" /* DUART0, DUART1 */ #include "machine/terminal.h" +#define TERMINAL_TAG "terminal" class sgi_ip2_state : public driver_device { @@ -59,7 +60,9 @@ public: m_mainram(*this, "mainram"), m_bss(*this, "bss"), m_ptmap(*this, "ptmap"), - m_rtc(*this, "rtc") { } + m_rtc(*this, "rtc") + { + } DECLARE_READ8_MEMBER(sgi_ip2_m_but_r); DECLARE_WRITE8_MEMBER(sgi_ip2_m_but_w); diff --git a/src/mess/drivers/softbox.c b/src/mess/drivers/softbox.c index 38a9942df66..b45d3c145e5 100644 --- a/src/mess/drivers/softbox.c +++ b/src/mess/drivers/softbox.c @@ -94,7 +94,7 @@ */ #include "includes/softbox.h" - +#include "bus/rs232/rs232.h" //************************************************************************** @@ -178,9 +178,9 @@ INPUT_PORTS_END static const i8251_interface usart_intf = { - DEVCB_DEVICE_LINE_MEMBER(RS232_TAG, serial_port_device, tx), - DEVCB_DEVICE_LINE_MEMBER(RS232_TAG, rs232_port_device, dtr_w), - DEVCB_DEVICE_LINE_MEMBER(RS232_TAG, rs232_port_device, rts_w), + DEVCB_DEVICE_LINE_MEMBER(RS232_TAG, rs232_port_device, write_txd), + DEVCB_DEVICE_LINE_MEMBER(RS232_TAG, rs232_port_device, write_dtr), + DEVCB_DEVICE_LINE_MEMBER(RS232_TAG, rs232_port_device, write_rts), DEVCB_NULL, DEVCB_NULL, DEVCB_NULL, @@ -423,9 +423,10 @@ static MACHINE_CONFIG_START( softbox, softbox_state ) MCFG_HARDDISK_ADD("harddisk4") MCFG_RS232_PORT_ADD(RS232_TAG, default_rs232_devices, "serial_terminal") - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(I8251_TAG, i8251_device, write_rx)) - MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE(I8251_TAG, i8251_device, write_dsr)) + MCFG_RS232_RXD_HANDLER(DEVWRITELINE(I8251_TAG, i8251_device, write_rx)) + MCFG_RS232_DSR_HANDLER(DEVWRITELINE(I8251_TAG, i8251_device, write_dsr)) MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("serial_terminal", terminal) + MCFG_IMI7000_BUS_ADD("imi5000h", NULL, NULL, NULL) // software lists diff --git a/src/mess/drivers/sun1.c b/src/mess/drivers/sun1.c index ef6baa47d5b..cee882941d2 100644 --- a/src/mess/drivers/sun1.c +++ b/src/mess/drivers/sun1.c @@ -52,16 +52,18 @@ #include "machine/z80dart.h" #include "machine/terminal.h" +#define TERMINAL_TAG "terminal" class sun1_state : public driver_device { public: sun1_state(const machine_config &mconfig, device_type type, const char *tag) : driver_device(mconfig, type, tag), - m_maincpu(*this, "maincpu"), - m_terminal(*this, TERMINAL_TAG) - , - m_p_ram(*this, "p_ram"){ } + m_maincpu(*this, "maincpu"), + m_terminal(*this, TERMINAL_TAG), + m_p_ram(*this, "p_ram") + { + } required_device<cpu_device> m_maincpu; required_device<generic_terminal_device> m_terminal; diff --git a/src/mess/drivers/super6.c b/src/mess/drivers/super6.c index bf3d3e5deb0..8f7b686d708 100644 --- a/src/mess/drivers/super6.c +++ b/src/mess/drivers/super6.c @@ -11,6 +11,7 @@ */ +#include "bus/rs232/rs232.h" #include "includes/super6.h" @@ -371,15 +372,15 @@ static Z80DART_INTERFACE( dart_intf ) { 0, 0, 0, 0, - DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, serial_port_device, tx), - DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, dtr_w), - DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, rts_w), + DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, write_txd), + DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, write_dtr), + DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, write_rts), DEVCB_NULL, DEVCB_NULL, - DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, serial_port_device, tx), - DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, rs232_port_device, dtr_w), - DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, rs232_port_device, rts_w), + DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, rs232_port_device, write_txd), + DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, rs232_port_device, write_dtr), + DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, rs232_port_device, write_rts), DEVCB_NULL, DEVCB_NULL, @@ -569,11 +570,11 @@ static MACHINE_CONFIG_START( super6, super6_state ) MCFG_FLOPPY_DRIVE_ADD(WD2793_TAG":1", super6_floppies, NULL, floppy_image_device::default_floppy_formats) MCFG_RS232_PORT_ADD(RS232_A_TAG, default_rs232_devices, "serial_terminal") - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(Z80DART_TAG, z80dart_device, rxa_w)) + MCFG_RS232_RXD_HANDLER(DEVWRITELINE(Z80DART_TAG, z80dart_device, rxa_w)) MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("serial_terminal", terminal) MCFG_RS232_PORT_ADD(RS232_B_TAG, default_rs232_devices, NULL) - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(Z80DART_TAG, z80dart_device, rxb_w)) + MCFG_RS232_RXD_HANDLER(DEVWRITELINE(Z80DART_TAG, z80dart_device, rxb_w)) // internal ram MCFG_RAM_ADD(RAM_TAG) diff --git a/src/mess/drivers/superslave.c b/src/mess/drivers/superslave.c index d378d146e57..5350125a2b0 100644 --- a/src/mess/drivers/superslave.c +++ b/src/mess/drivers/superslave.c @@ -276,15 +276,15 @@ static Z80DART_INTERFACE( dart0_intf ) { 0, 0, 0, 0, - DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, serial_port_device, tx), - DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, dtr_w), - DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, rts_w), + DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, write_txd), + DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, write_dtr), + DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, write_rts), DEVCB_NULL, DEVCB_NULL, - DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, serial_port_device, tx), - DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, rs232_port_device, dtr_w), - DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, rs232_port_device, rts_w), + DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, rs232_port_device, write_txd), + DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, rs232_port_device, write_dtr), + DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, rs232_port_device, write_rts), DEVCB_NULL, DEVCB_NULL, @@ -304,15 +304,15 @@ static Z80DART_INTERFACE( dart1_intf ) { 0, 0, 0, 0, - DEVCB_DEVICE_LINE_MEMBER(RS232_C_TAG, serial_port_device, tx), - DEVCB_DEVICE_LINE_MEMBER(RS232_C_TAG, rs232_port_device, dtr_w), - DEVCB_DEVICE_LINE_MEMBER(RS232_C_TAG, rs232_port_device, rts_w), + DEVCB_DEVICE_LINE_MEMBER(RS232_C_TAG, rs232_port_device, write_txd), + DEVCB_DEVICE_LINE_MEMBER(RS232_C_TAG, rs232_port_device, write_dtr), + DEVCB_DEVICE_LINE_MEMBER(RS232_C_TAG, rs232_port_device, write_rts), DEVCB_NULL, DEVCB_NULL, - DEVCB_DEVICE_LINE_MEMBER(RS232_D_TAG, serial_port_device, tx), - DEVCB_DEVICE_LINE_MEMBER(RS232_D_TAG, rs232_port_device, dtr_w), - DEVCB_DEVICE_LINE_MEMBER(RS232_D_TAG, rs232_port_device, rts_w), + DEVCB_DEVICE_LINE_MEMBER(RS232_D_TAG, rs232_port_device, write_txd), + DEVCB_DEVICE_LINE_MEMBER(RS232_D_TAG, rs232_port_device, write_dtr), + DEVCB_DEVICE_LINE_MEMBER(RS232_D_TAG, rs232_port_device, write_rts), DEVCB_NULL, DEVCB_NULL, @@ -411,25 +411,25 @@ static MACHINE_CONFIG_START( superslave, superslave_state ) MCFG_COM8116_ADD(BR1941_TAG, XTAL_5_0688MHz, NULL, WRITELINE(superslave_state, fr_w), WRITELINE(superslave_state, ft_w)) MCFG_RS232_PORT_ADD(RS232_A_TAG, default_rs232_devices, "serial_terminal") - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(Z80DART_0_TAG, z80dart_device, rxa_w)) - MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE(Z80DART_0_TAG, z80dart_device, dcda_w)) - MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE(Z80DART_0_TAG, z80dart_device, ctsa_w)) + MCFG_RS232_RXD_HANDLER(DEVWRITELINE(Z80DART_0_TAG, z80dart_device, rxa_w)) + MCFG_RS232_DCD_HANDLER(DEVWRITELINE(Z80DART_0_TAG, z80dart_device, dcda_w)) + MCFG_RS232_CTS_HANDLER(DEVWRITELINE(Z80DART_0_TAG, z80dart_device, ctsa_w)) MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("serial_terminal", terminal) MCFG_RS232_PORT_ADD(RS232_B_TAG, default_rs232_devices, NULL) - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(Z80DART_0_TAG, z80dart_device, rxb_w)) - MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE(Z80DART_0_TAG, z80dart_device, dcdb_w)) - MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE(Z80DART_0_TAG, z80dart_device, ctsb_w)) + MCFG_RS232_RXD_HANDLER(DEVWRITELINE(Z80DART_0_TAG, z80dart_device, rxb_w)) + MCFG_RS232_DCD_HANDLER(DEVWRITELINE(Z80DART_0_TAG, z80dart_device, dcdb_w)) + MCFG_RS232_CTS_HANDLER(DEVWRITELINE(Z80DART_0_TAG, z80dart_device, ctsb_w)) MCFG_RS232_PORT_ADD(RS232_C_TAG, default_rs232_devices, NULL) - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(Z80DART_1_TAG, z80dart_device, rxa_w)) - MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE(Z80DART_1_TAG, z80dart_device, dcda_w)) - MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE(Z80DART_1_TAG, z80dart_device, ctsa_w)) + MCFG_RS232_RXD_HANDLER(DEVWRITELINE(Z80DART_1_TAG, z80dart_device, rxa_w)) + MCFG_RS232_DCD_HANDLER(DEVWRITELINE(Z80DART_1_TAG, z80dart_device, dcda_w)) + MCFG_RS232_CTS_HANDLER(DEVWRITELINE(Z80DART_1_TAG, z80dart_device, ctsa_w)) MCFG_RS232_PORT_ADD(RS232_D_TAG, default_rs232_devices, NULL) - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(Z80DART_1_TAG, z80dart_device, rxb_w)) - MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE(Z80DART_1_TAG, z80dart_device, dcdb_w)) - MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE(Z80DART_1_TAG, z80dart_device, ctsb_w)) + MCFG_RS232_RXD_HANDLER(DEVWRITELINE(Z80DART_1_TAG, z80dart_device, rxb_w)) + MCFG_RS232_DCD_HANDLER(DEVWRITELINE(Z80DART_1_TAG, z80dart_device, dcdb_w)) + MCFG_RS232_CTS_HANDLER(DEVWRITELINE(Z80DART_1_TAG, z80dart_device, ctsb_w)) // internal ram MCFG_RAM_ADD(RAM_TAG) diff --git a/src/mess/drivers/swtpc.c b/src/mess/drivers/swtpc.c index 60df8e05d71..f87cbfaa26f 100644 --- a/src/mess/drivers/swtpc.c +++ b/src/mess/drivers/swtpc.c @@ -44,15 +44,17 @@ Z Goto Prom (0xC000) #include "cpu/m6800/m6800.h" #include "machine/terminal.h" +#define TERMINAL_TAG "terminal" class swtpc_state : public driver_device { public: swtpc_state(const machine_config &mconfig, device_type type, const char *tag) : driver_device(mconfig, type, tag), - m_maincpu(*this, "maincpu"), - m_terminal(*this, TERMINAL_TAG) - { } + m_maincpu(*this, "maincpu"), + m_terminal(*this, TERMINAL_TAG) + { + } required_device<cpu_device> m_maincpu; required_device<generic_terminal_device> m_terminal; diff --git a/src/mess/drivers/systec.c b/src/mess/drivers/systec.c index ac1bb3f5f3a..6ba0be4a004 100644 --- a/src/mess/drivers/systec.c +++ b/src/mess/drivers/systec.c @@ -35,15 +35,17 @@ #include "cpu/z80/z80.h" #include "machine/terminal.h" +#define TERMINAL_TAG "terminal" class systec_state : public driver_device { public: systec_state(const machine_config &mconfig, device_type type, const char *tag) : driver_device(mconfig, type, tag), - m_maincpu(*this, "maincpu"), - m_terminal(*this, TERMINAL_TAG) - { } + m_maincpu(*this, "maincpu"), + m_terminal(*this, TERMINAL_TAG) + { + } required_device<cpu_device> m_maincpu; required_device<generic_terminal_device> m_terminal; diff --git a/src/mess/drivers/tandy2k.c b/src/mess/drivers/tandy2k.c index fc3d53f3491..d447b32e80a 100644 --- a/src/mess/drivers/tandy2k.c +++ b/src/mess/drivers/tandy2k.c @@ -26,6 +26,7 @@ */ #include "includes/tandy2k.h" +#include "bus/rs232/rs232.h" enum { @@ -408,9 +409,9 @@ WRITE_LINE_MEMBER( tandy2k_state::txrdy_w ) static const i8251_interface usart_intf = { - DEVCB_DEVICE_LINE_MEMBER(RS232_TAG, serial_port_device, tx), - DEVCB_DEVICE_LINE_MEMBER(RS232_TAG, rs232_port_device, dtr_w), - DEVCB_DEVICE_LINE_MEMBER(RS232_TAG, rs232_port_device, rts_w), + DEVCB_DEVICE_LINE_MEMBER(RS232_TAG, rs232_port_device, write_txd), + DEVCB_DEVICE_LINE_MEMBER(RS232_TAG, rs232_port_device, write_dtr), + DEVCB_DEVICE_LINE_MEMBER(RS232_TAG, rs232_port_device, write_rts), DEVCB_DRIVER_LINE_MEMBER(tandy2k_state, rxrdy_w), DEVCB_DRIVER_LINE_MEMBER(tandy2k_state, txrdy_w), DEVCB_NULL, @@ -724,8 +725,8 @@ static MACHINE_CONFIG_START( tandy2k, tandy2k_state ) MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", CENTRONICS_TAG) MCFG_RS232_PORT_ADD(RS232_TAG, default_rs232_devices, NULL) - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(I8251A_TAG, i8251_device, write_rx)) - MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE(I8251A_TAG, i8251_device, write_dsr)) + MCFG_RS232_RXD_HANDLER(DEVWRITELINE(I8251A_TAG, i8251_device, write_rx)) + MCFG_RS232_DSR_HANDLER(DEVWRITELINE(I8251A_TAG, i8251_device, write_dsr)) MCFG_TANDY2K_KEYBOARD_ADD(WRITELINE(tandy2k_state, kbdclk_w), WRITELINE(tandy2k_state, kbddat_w)) diff --git a/src/mess/drivers/tavernie.c b/src/mess/drivers/tavernie.c index 3431938769e..0fdd7314c39 100644 --- a/src/mess/drivers/tavernie.c +++ b/src/mess/drivers/tavernie.c @@ -48,20 +48,20 @@ Z - more scan lines per row (cursor is bigger) ****************************************************************************/ -#include "emu.h" +#include "bus/rs232/rs232.h" #include "cpu/m6809/m6809.h" #include "machine/6821pia.h" #include "machine/6840ptm.h" #include "machine/6850acia.h" #include "video/mc6845.h" #include "machine/keyboard.h" -#include "machine/serial.h" #include "imagedev/cassette.h" #include "machine/wd_fdc.h" #include "sound/wave.h" #include "sound/beep.h" #include "tavernie.lh" +#define KEYBOARD_TAG "keyboard" class tavernie_state : public driver_device { @@ -303,8 +303,8 @@ static ACIA6850_INTERFACE( mc6850_intf ) { 153600, 153600, - DEVCB_DEVICE_LINE_MEMBER("rs232", serial_port_device, tx), - DEVCB_DEVICE_LINE_MEMBER("rs232", rs232_port_device, rts_w), + DEVCB_DEVICE_LINE_MEMBER("rs232", rs232_port_device, write_txd), + DEVCB_DEVICE_LINE_MEMBER("rs232", rs232_port_device, write_rts), DEVCB_NULL }; @@ -335,8 +335,8 @@ static MACHINE_CONFIG_START( cpu09, tavernie_state ) MCFG_CASSETTE_ADD( "cassette", default_cassette_interface ) MCFG_RS232_PORT_ADD("rs232", default_rs232_devices, "serial_terminal") - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE("acia", acia6850_device, write_rx)) - MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE("acia", acia6850_device, write_cts)) + MCFG_RS232_RXD_HANDLER(DEVWRITELINE("acia", acia6850_device, write_rx)) + MCFG_RS232_CTS_HANDLER(DEVWRITELINE("acia", acia6850_device, write_cts)) MCFG_DEVICE_ADD("pia", PIA6821, 0) MCFG_PIA_READPA_HANDLER(READ8(tavernie_state, pa_r)) diff --git a/src/mess/drivers/tiki100.c b/src/mess/drivers/tiki100.c index 68e7f4f95e3..f71b01d81c2 100644 --- a/src/mess/drivers/tiki100.c +++ b/src/mess/drivers/tiki100.c @@ -26,6 +26,7 @@ */ #include "includes/tiki100.h" +#include "bus/rs232/rs232.h" /* Memory Banking */ @@ -468,15 +469,15 @@ static Z80DART_INTERFACE( dart_intf ) { 0, 0, 0, 0, - DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, serial_port_device, tx), - DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, dtr_w), - DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, rts_w), + DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, write_txd), + DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, write_dtr), + DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, write_rts), DEVCB_NULL, DEVCB_NULL, - DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, serial_port_device, tx), - DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, rs232_port_device, dtr_w), - DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, rs232_port_device, rts_w), + DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, rs232_port_device, write_txd), + DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, rs232_port_device, write_dtr), + DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, rs232_port_device, write_rts), DEVCB_NULL, DEVCB_NULL, @@ -725,10 +726,10 @@ static MACHINE_CONFIG_START( tiki100, tiki100_state ) MCFG_FLOPPY_DRIVE_ADD(FD1797_TAG":1", tiki100_floppies, "525qd", tiki100_state::floppy_formats) MCFG_RS232_PORT_ADD(RS232_A_TAG, default_rs232_devices, NULL) - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(Z80DART_TAG, z80dart_device, rxa_w)) + MCFG_RS232_RXD_HANDLER(DEVWRITELINE(Z80DART_TAG, z80dart_device, rxa_w)) MCFG_RS232_PORT_ADD(RS232_B_TAG, default_rs232_devices, NULL) - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(Z80DART_TAG, z80dart_device, rxb_w)) + MCFG_RS232_RXD_HANDLER(DEVWRITELINE(Z80DART_TAG, z80dart_device, rxb_w)) MCFG_CENTRONICS_ADD(CENTRONICS_TAG, centronics_printers, "image") MCFG_CENTRONICS_DATA_INPUT_BUFFER("cent_data_in") diff --git a/src/mess/drivers/tk80bs.c b/src/mess/drivers/tk80bs.c index 79e4e0cb1eb..f264c9f9bf0 100644 --- a/src/mess/drivers/tk80bs.c +++ b/src/mess/drivers/tk80bs.c @@ -27,16 +27,18 @@ TODO: #include "machine/i8255.h" #include "machine/keyboard.h" +#define KEYBOARD_TAG "keyboard" class tk80bs_state : public driver_device { public: tk80bs_state(const machine_config &mconfig, device_type type, const char *tag) - : driver_device(mconfig, type, tag) - , m_p_videoram(*this, "videoram") - , m_maincpu(*this, "maincpu") - , m_ppi(*this, "ppi") - { } + : driver_device(mconfig, type, tag), + m_p_videoram(*this, "videoram"), + m_maincpu(*this, "maincpu"), + m_ppi(*this, "ppi") + { + } DECLARE_READ8_MEMBER(ppi_custom_r); DECLARE_WRITE8_MEMBER(ppi_custom_w); diff --git a/src/mess/drivers/tricep.c b/src/mess/drivers/tricep.c index 34e9f13808b..98b9d419047 100644 --- a/src/mess/drivers/tricep.c +++ b/src/mess/drivers/tricep.c @@ -10,6 +10,7 @@ #include "cpu/m68000/m68000.h" #include "machine/terminal.h" +#define TERMINAL_TAG "terminal" class tricep_state : public driver_device { diff --git a/src/mess/drivers/trs80m2.c b/src/mess/drivers/trs80m2.c index 0600397b9dc..759ef75f40c 100644 --- a/src/mess/drivers/trs80m2.c +++ b/src/mess/drivers/trs80m2.c @@ -23,6 +23,7 @@ #include "includes/trs80m2.h" +#define KEYBOARD_TAG "keyboard" //************************************************************************** diff --git a/src/mess/drivers/ts802.c b/src/mess/drivers/ts802.c index af7a9a53726..3a6ed42b28a 100644 --- a/src/mess/drivers/ts802.c +++ b/src/mess/drivers/ts802.c @@ -29,15 +29,17 @@ #include "machine/z80dart.h" #include "machine/wd_fdc.h" +#define TERMINAL_TAG "terminal" class ts802_state : public driver_device { public: ts802_state(const machine_config &mconfig, device_type type, const char *tag) - : driver_device(mconfig, type, tag) - , m_maincpu(*this, "maincpu") - , m_terminal(*this, TERMINAL_TAG) - { } + : driver_device(mconfig, type, tag), + m_maincpu(*this, "maincpu"), + m_terminal(*this, TERMINAL_TAG) + { + } DECLARE_DRIVER_INIT(ts802); DECLARE_MACHINE_RESET(ts802); @@ -150,8 +152,8 @@ static Z80DART_INTERFACE( dart0_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_NULL, //DEVCB_DEVICE_LINE_MEMBER("rs232", rs232_port_device, write_dtr), + DEVCB_NULL, //DEVCB_DEVICE_LINE_MEMBER("rs232", rs232_port_device, write_rts), DEVCB_NULL, DEVCB_NULL, @@ -173,8 +175,8 @@ static Z80DART_INTERFACE( dart1_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_NULL, //DEVCB_DEVICE_LINE_MEMBER("rs232", rs232_port_device, write_dtr), + DEVCB_NULL, //DEVCB_DEVICE_LINE_MEMBER("rs232", rs232_port_device, write_rts), DEVCB_NULL, DEVCB_NULL, diff --git a/src/mess/drivers/ts816.c b/src/mess/drivers/ts816.c index be4dd62cbc5..0bcdb334a43 100644 --- a/src/mess/drivers/ts816.c +++ b/src/mess/drivers/ts816.c @@ -14,15 +14,17 @@ #include "cpu/z80/z80.h" #include "machine/terminal.h" +#define TERMINAL_TAG "terminal" class ts816_state : public driver_device { public: ts816_state(const machine_config &mconfig, device_type type, const char *tag) - : driver_device(mconfig, type, tag) - , m_maincpu(*this, "maincpu") - , m_terminal(*this, TERMINAL_TAG) - { } + : driver_device(mconfig, type, tag), + m_maincpu(*this, "maincpu"), + m_terminal(*this, TERMINAL_TAG) + { + } DECLARE_WRITE8_MEMBER(kbd_put); DECLARE_READ8_MEMBER(keyin_r); diff --git a/src/mess/drivers/v1050.c b/src/mess/drivers/v1050.c index eae1160acd0..41c897e7c3d 100644 --- a/src/mess/drivers/v1050.c +++ b/src/mess/drivers/v1050.c @@ -150,6 +150,7 @@ Notes: */ #include "includes/v1050.h" +#include "bus/rs232/rs232.h" void v1050_state::set_interrupt(UINT8 mask, int state) { @@ -976,9 +977,9 @@ WRITE_LINE_MEMBER( v1050_state::sio_txrdy_w ) static const i8251_interface sio_8251_intf = { - DEVCB_DEVICE_LINE_MEMBER(RS232_TAG, serial_port_device, tx), - DEVCB_DEVICE_LINE_MEMBER(RS232_TAG, rs232_port_device, dtr_w), - DEVCB_DEVICE_LINE_MEMBER(RS232_TAG, rs232_port_device, rts_w), + DEVCB_DEVICE_LINE_MEMBER(RS232_TAG, rs232_port_device, write_txd), + DEVCB_DEVICE_LINE_MEMBER(RS232_TAG, rs232_port_device, write_dtr), + DEVCB_DEVICE_LINE_MEMBER(RS232_TAG, rs232_port_device, write_rts), DEVCB_DRIVER_LINE_MEMBER(v1050_state, sio_rxrdy_w), DEVCB_DRIVER_LINE_MEMBER(v1050_state, sio_txrdy_w), DEVCB_NULL, @@ -1155,8 +1156,8 @@ static MACHINE_CONFIG_START( v1050, v1050_state ) MCFG_TIMER_DRIVER_ADD(TIMER_SIO_TAG, v1050_state, sio_8251_tick) MCFG_RS232_PORT_ADD(RS232_TAG, default_rs232_devices, NULL) - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(I8251A_SIO_TAG, i8251_device, write_rx)) - MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE(I8251A_SIO_TAG, i8251_device, write_dsr)) + MCFG_RS232_RXD_HANDLER(DEVWRITELINE(I8251A_SIO_TAG, i8251_device, write_rx)) + MCFG_RS232_DSR_HANDLER(DEVWRITELINE(I8251A_SIO_TAG, i8251_device, write_dsr)) // SASI bus MCFG_SCSIBUS_ADD(SASIBUS_TAG) diff --git a/src/mess/drivers/v6809.c b/src/mess/drivers/v6809.c index a9de0584c0b..6ad532d9f5d 100644 --- a/src/mess/drivers/v6809.c +++ b/src/mess/drivers/v6809.c @@ -59,21 +59,22 @@ ToDo: #include "sound/speaker.h" #include "machine/wd_fdc.h" - +#define KEYBOARD_TAG "keyboard" class v6809_state : public driver_device { public: v6809_state(const machine_config &mconfig, device_type type, const char *tag) - : driver_device(mconfig, type, tag) - , m_video_address(0) - , m_pia0(*this, "pia0") - , m_maincpu(*this, "maincpu") - , m_crtc(*this, "crtc") - , m_fdc(*this, "fdc") - , m_floppy0(*this, "fdc:0") - , m_speaker(*this, "speaker") - { } + : driver_device(mconfig, type, tag), + m_video_address(0), + m_pia0(*this, "pia0"), + m_maincpu(*this, "maincpu"), + m_crtc(*this, "crtc"), + m_fdc(*this, "fdc"), + m_floppy0(*this, "fdc:0"), + m_speaker(*this, "speaker") + { + } DECLARE_WRITE_LINE_MEMBER(speaker_en_w); DECLARE_WRITE_LINE_MEMBER(speaker_w); diff --git a/src/mess/drivers/vax11.c b/src/mess/drivers/vax11.c index 95d5d7d0ac1..807b17fdd6a 100644 --- a/src/mess/drivers/vax11.c +++ b/src/mess/drivers/vax11.c @@ -68,14 +68,17 @@ #include "machine/terminal.h" #include "machine/rx01.h" +#define TERMINAL_TAG "terminal" + class vax11_state : public driver_device { public: vax11_state(const machine_config &mconfig, device_type type, const char *tag) : driver_device(mconfig, type, tag), - m_maincpu(*this, "maincpu"), - m_terminal(*this, TERMINAL_TAG) - { } + m_maincpu(*this, "maincpu"), + m_terminal(*this, TERMINAL_TAG) + { + } required_device<cpu_device> m_maincpu; required_device<generic_terminal_device> m_terminal; diff --git a/src/mess/drivers/vector4.c b/src/mess/drivers/vector4.c index 755b366a7e9..48e8050fd12 100644 --- a/src/mess/drivers/vector4.c +++ b/src/mess/drivers/vector4.c @@ -10,15 +10,17 @@ #include "cpu/z80/z80.h" #include "machine/terminal.h" +#define TERMINAL_TAG "terminal" class vector4_state : public driver_device { public: vector4_state(const machine_config &mconfig, device_type type, const char *tag) : driver_device(mconfig, type, tag), - m_maincpu(*this, "maincpu"), - m_terminal(*this, TERMINAL_TAG) - { } + m_maincpu(*this, "maincpu"), + m_terminal(*this, TERMINAL_TAG) + { + } required_device<cpu_device> m_maincpu; required_device<generic_terminal_device> m_terminal; diff --git a/src/mess/drivers/victor9k.c b/src/mess/drivers/victor9k.c index 020338ed995..8fff4ec9bf5 100644 --- a/src/mess/drivers/victor9k.c +++ b/src/mess/drivers/victor9k.c @@ -387,15 +387,15 @@ static UPD7201_INTERFACE( mpsc_intf ) { 0, 0, 0, 0, - DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, serial_port_device, tx), - DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, dtr_w), - DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, rts_w), + DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, write_txd), + DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, write_dtr), + DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, write_rts), DEVCB_NULL, DEVCB_NULL, - DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, serial_port_device, tx), - DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, rs232_port_device, dtr_w), - DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, rs232_port_device, rts_w), + DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, rs232_port_device, write_txd), + DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, rs232_port_device, write_dtr), + DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, rs232_port_device, write_rts), DEVCB_NULL, DEVCB_NULL, @@ -1039,18 +1039,18 @@ static MACHINE_CONFIG_START( victor9k, victor9k_state ) MCFG_FLOPPY_DRIVE_ADD(I8048_TAG":1", victor9k_floppies, "525qd", floppy_image_device::default_floppy_formats) MCFG_RS232_PORT_ADD(RS232_A_TAG, default_rs232_devices, NULL) - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(UPD7201_TAG, z80dart_device, rxa_w)) - MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE(UPD7201_TAG, z80dart_device, dcda_w)) - MCFG_RS232_OUT_RI_HANDLER(WRITELINE(victor9k_state, write_ria)) - MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE(UPD7201_TAG, z80dart_device, ctsa_w)) - MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE(M6522_2_TAG, via6522_device, write_pa3)) + MCFG_RS232_RXD_HANDLER(DEVWRITELINE(UPD7201_TAG, z80dart_device, rxa_w)) + MCFG_RS232_DCD_HANDLER(DEVWRITELINE(UPD7201_TAG, z80dart_device, dcda_w)) + MCFG_RS232_RI_HANDLER(WRITELINE(victor9k_state, write_ria)) + MCFG_RS232_CTS_HANDLER(DEVWRITELINE(UPD7201_TAG, z80dart_device, ctsa_w)) + MCFG_RS232_DSR_HANDLER(DEVWRITELINE(M6522_2_TAG, via6522_device, write_pa3)) MCFG_RS232_PORT_ADD(RS232_B_TAG, default_rs232_devices, NULL) - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(UPD7201_TAG, z80dart_device, rxb_w)) - MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE(UPD7201_TAG, z80dart_device, dcdb_w)) - MCFG_RS232_OUT_RI_HANDLER(WRITELINE(victor9k_state, write_ria)) - MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE(UPD7201_TAG, z80dart_device, ctsb_w)) - MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE(M6522_2_TAG, via6522_device, write_pa5)) + MCFG_RS232_RXD_HANDLER(DEVWRITELINE(UPD7201_TAG, z80dart_device, rxb_w)) + MCFG_RS232_DCD_HANDLER(DEVWRITELINE(UPD7201_TAG, z80dart_device, dcdb_w)) + MCFG_RS232_RI_HANDLER(WRITELINE(victor9k_state, write_ria)) + MCFG_RS232_CTS_HANDLER(DEVWRITELINE(UPD7201_TAG, z80dart_device, ctsb_w)) + MCFG_RS232_DSR_HANDLER(DEVWRITELINE(M6522_2_TAG, via6522_device, write_pa5)) MCFG_DEVICE_ADD(VICTOR9K_KEYBOARD_TAG, VICTOR9K_KEYBOARD, 0) MCFG_VICTOR9K_KBRDY_HANDLER(WRITELINE(victor9k_state, kbrdy_w)) diff --git a/src/mess/drivers/vixen.c b/src/mess/drivers/vixen.c index 5e0c34dbcac..059945a6bd7 100644 --- a/src/mess/drivers/vixen.c +++ b/src/mess/drivers/vixen.c @@ -670,9 +670,9 @@ WRITE_LINE_MEMBER( vixen_state::txrdy_w ) static const i8251_interface usart_intf = { - DEVCB_DEVICE_LINE_MEMBER(RS232_TAG, serial_port_device, tx), - DEVCB_DEVICE_LINE_MEMBER(RS232_TAG, rs232_port_device, dtr_w), - DEVCB_DEVICE_LINE_MEMBER(RS232_TAG, rs232_port_device, rts_w), + DEVCB_DEVICE_LINE_MEMBER(RS232_TAG, rs232_port_device, write_txd), + DEVCB_DEVICE_LINE_MEMBER(RS232_TAG, rs232_port_device, write_dtr), + DEVCB_DEVICE_LINE_MEMBER(RS232_TAG, rs232_port_device, write_rts), DEVCB_DRIVER_LINE_MEMBER(vixen_state, rxrdy_w), DEVCB_DRIVER_LINE_MEMBER(vixen_state, txrdy_w), DEVCB_NULL, @@ -818,8 +818,8 @@ static MACHINE_CONFIG_START( vixen, vixen_state ) MCFG_IEEE488_ATN_CALLBACK(WRITELINE(vixen_state, atn_w)) MCFG_RS232_PORT_ADD(RS232_TAG, default_rs232_devices, NULL) - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(P8251A_TAG, i8251_device, write_rx)) - MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE(P8251A_TAG, i8251_device, write_dsr)) + MCFG_RS232_RXD_HANDLER(DEVWRITELINE(P8251A_TAG, i8251_device, write_rx)) + MCFG_RS232_DSR_HANDLER(DEVWRITELINE(P8251A_TAG, i8251_device, write_dsr)) /* software lists */ MCFG_SOFTWARE_LIST_ADD("disk_list", "vixen") diff --git a/src/mess/drivers/vk100.c b/src/mess/drivers/vk100.c index 59f186d9828..bc5eedee9ee 100644 --- a/src/mess/drivers/vk100.c +++ b/src/mess/drivers/vk100.c @@ -146,13 +146,12 @@ state machine and sees if the GO bit ever finishes and goes back to 0 // debug state dump for the vector generator #undef DEBUG_VG_STATE -#include "emu.h" +#include "bus/rs232/rs232.h" #include "cpu/i8085/i8085.h" #include "sound/beep.h" #include "video/mc6845.h" #include "machine/com8116.h" #include "machine/i8251.h" -#include "machine/serial.h" #include "vk100.lh" #define RS232_TAG "rs232" @@ -179,7 +178,9 @@ public: m_capsshift(*this, "CAPSSHIFT"), m_dipsw(*this, "SWITCHES") - { } + { + } + required_device<cpu_device> m_maincpu; required_device<mc6845_device> m_crtc; required_device<beep_device> m_speaker; @@ -1010,9 +1011,9 @@ static MC6845_INTERFACE( mc6845_intf ) static const i8251_interface i8251_intf = { - DEVCB_DEVICE_LINE_MEMBER(RS232_TAG, serial_port_device, tx), - DEVCB_DEVICE_LINE_MEMBER(RS232_TAG, rs232_port_device, dtr_w), - DEVCB_DEVICE_LINE_MEMBER(RS232_TAG, rs232_port_device, rts_w), + DEVCB_DEVICE_LINE_MEMBER(RS232_TAG, rs232_port_device, write_txd), + DEVCB_DEVICE_LINE_MEMBER(RS232_TAG, rs232_port_device, write_dtr), + DEVCB_DEVICE_LINE_MEMBER(RS232_TAG, rs232_port_device, write_rts), //DEVCB_DRIVER_LINE_MEMBER(vk100_state, i8251_rts), // out_rts_cb DEVCB_DRIVER_LINE_MEMBER(vk100_state, i8251_rxrdy_int), // out_rxrdy_cb DEVCB_DRIVER_LINE_MEMBER(vk100_state, i8251_txrdy_int), // out_txrdy_cb @@ -1037,8 +1038,8 @@ static MACHINE_CONFIG_START( vk100, vk100_state ) MCFG_I8251_ADD("i8251", i8251_intf) MCFG_RS232_PORT_ADD(RS232_TAG, default_rs232_devices, NULL) - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE("i8251", i8251_device, write_rx)) - MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE("i8251", i8251_device, write_dsr)) + MCFG_RS232_RXD_HANDLER(DEVWRITELINE("i8251", i8251_device, write_rx)) + MCFG_RS232_DSR_HANDLER(DEVWRITELINE("i8251", i8251_device, write_dsr)) MCFG_COM8116_ADD(COM5016T_TAG, XTAL_5_0688MHz, NULL, DEVWRITELINE("i8251", i8251_device, rxc_w), DEVWRITELINE("i8251", i8251_device, txc_w)) diff --git a/src/mess/drivers/votrpss.c b/src/mess/drivers/votrpss.c index 07d946c2cf1..a14d96e54af 100644 --- a/src/mess/drivers/votrpss.c +++ b/src/mess/drivers/votrpss.c @@ -68,7 +68,7 @@ Things to be looked at: ******************************************************************************/ /* Core includes */ -#include "emu.h" +#include "bus/rs232/rs232.h" #include "cpu/z80/z80.h" //#include "votrpss.lh" @@ -78,22 +78,23 @@ Things to be looked at: #include "machine/i8255.h" #include "machine/pit8253.h" #include "machine/i8251.h" -#include "machine/serial.h" /* For testing */ #include "machine/terminal.h" +#define TERMINAL_TAG "terminal" class votrpss_state : public driver_device { public: votrpss_state(const machine_config &mconfig, device_type type, const char *tag) - : driver_device(mconfig, type, tag) - , m_maincpu(*this, "maincpu") - , m_terminal(*this, TERMINAL_TAG) - , m_ppi(*this, "ppi") - , m_uart(*this, "uart") - { } + : driver_device(mconfig, type, tag), + m_maincpu(*this, "maincpu"), + m_terminal(*this, TERMINAL_TAG), + m_ppi(*this, "ppi"), + m_uart(*this, "uart") + { + } DECLARE_WRITE8_MEMBER(kbd_put); DECLARE_READ8_MEMBER(ppi_pa_r); @@ -194,8 +195,8 @@ IRQ_CALLBACK_MEMBER( votrpss_state::irq_ack ) static const i8251_interface uart_intf = { //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_DEVICE_LINE_MEMBER("rs232", rs232_port_device, write_dtr), + //DEVCB_DEVICE_LINE_MEMBER("rs232", rs232_port_device, write_rts), DEVCB_NULL, DEVCB_NULL, DEVCB_NULL, diff --git a/src/mess/drivers/votrtnt.c b/src/mess/drivers/votrtnt.c index a54a6684643..98ffc192412 100644 --- a/src/mess/drivers/votrtnt.c +++ b/src/mess/drivers/votrtnt.c @@ -30,10 +30,9 @@ ******************************************************************************/ /* Core includes */ -#include "emu.h" +#include "bus/rs232/rs232.h" #include "cpu/m6800/m6800.h" #include "machine/6850acia.h" -#include "machine/serial.h" #include "sound/votrax.h" #include "votrtnt.lh" @@ -93,8 +92,8 @@ static ACIA6850_INTERFACE( acia_intf ) { 153600, 153600, - DEVCB_DEVICE_LINE_MEMBER("rs232", serial_port_device, tx), - DEVCB_DEVICE_LINE_MEMBER("rs232", rs232_port_device, rts_w), + DEVCB_DEVICE_LINE_MEMBER("rs232", rs232_port_device, write_txd), + DEVCB_DEVICE_LINE_MEMBER("rs232", rs232_port_device, write_rts), DEVCB_NULL }; @@ -119,8 +118,8 @@ static MACHINE_CONFIG_START( votrtnt, votrtnt_state ) MCFG_ACIA6850_ADD("acia", acia_intf) MCFG_RS232_PORT_ADD("rs232", default_rs232_devices, "serial_terminal") - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE("acia", acia6850_device, write_rx)) - MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE("acia", acia6850_device, write_cts)) + MCFG_RS232_RXD_HANDLER(DEVWRITELINE("acia", acia6850_device, write_rx)) + MCFG_RS232_CTS_HANDLER(DEVWRITELINE("acia", acia6850_device, write_cts)) /* sound hardware */ MCFG_SPEAKER_STANDARD_MONO("mono") diff --git a/src/mess/drivers/vt100.c b/src/mess/drivers/vt100.c index a23a8056d2d..22424112ba3 100644 --- a/src/mess/drivers/vt100.c +++ b/src/mess/drivers/vt100.c @@ -17,12 +17,11 @@ http://bitsavers.org/pdf/dec/terminal/vt125/MP01053_VT125_Mar82.pdf ****************************************************************************/ -#include "emu.h" +#include "bus/rs232/rs232.h" #include "cpu/i8085/i8085.h" #include "cpu/z80/z80.h" #include "machine/com8116.h" #include "machine/i8251.h" -#include "machine/serial.h" #include "sound/beep.h" #include "video/vtvideo.h" #include "vt100.lh" @@ -41,7 +40,8 @@ public: m_uart(*this, "i8251"), m_dbrg(*this, COM5016T_TAG), m_p_ram(*this, "p_ram") - { } + { + } required_device<cpu_device> m_maincpu; required_device<vt100_video_device> m_crtc; @@ -407,9 +407,9 @@ GFXDECODE_END static const i8251_interface i8251_intf = { - DEVCB_DEVICE_LINE_MEMBER(RS232_TAG, serial_port_device, tx), - DEVCB_DEVICE_LINE_MEMBER(RS232_TAG, rs232_port_device, dtr_w), - DEVCB_DEVICE_LINE_MEMBER(RS232_TAG, rs232_port_device, rts_w), + DEVCB_DEVICE_LINE_MEMBER(RS232_TAG, rs232_port_device, write_txd), + DEVCB_DEVICE_LINE_MEMBER(RS232_TAG, rs232_port_device, write_dtr), + DEVCB_DEVICE_LINE_MEMBER(RS232_TAG, rs232_port_device, write_rts), DEVCB_NULL, // out_rxrdy_cb DEVCB_NULL, // out_txrdy_cb DEVCB_NULL, // out_txempty_cb @@ -443,8 +443,8 @@ static MACHINE_CONFIG_START( vt100, vt100_state ) MCFG_I8251_ADD("i8251", i8251_intf) MCFG_RS232_PORT_ADD(RS232_TAG, default_rs232_devices, NULL) - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE("i8251", i8251_device, write_rx)) - MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE("i8251", i8251_device, write_dsr)) + MCFG_RS232_RXD_HANDLER(DEVWRITELINE("i8251", i8251_device, write_rx)) + MCFG_RS232_DSR_HANDLER(DEVWRITELINE("i8251", i8251_device, write_dsr)) MCFG_COM8116_ADD(COM5016T_TAG, XTAL_5_0688MHz, NULL, DEVWRITELINE("i8251", i8251_device, rxc_w), DEVWRITELINE("i8251", i8251_device, txc_w)) diff --git a/src/mess/drivers/wangpc.c b/src/mess/drivers/wangpc.c index 5ab2eb012db..c39ac873044 100644 --- a/src/mess/drivers/wangpc.c +++ b/src/mess/drivers/wangpc.c @@ -20,6 +20,7 @@ */ #include "includes/wangpc.h" +#include "bus/rs232/rs232.h" //************************************************************************** @@ -963,11 +964,11 @@ static MC2661_INTERFACE( epci_intf ) { 0, 0, - DEVCB_DEVICE_LINE_MEMBER(RS232_TAG, serial_port_device, tx), + DEVCB_DEVICE_LINE_MEMBER(RS232_TAG, rs232_port_device, write_txd), DEVCB_DRIVER_LINE_MEMBER(wangpc_state, epci_irq_w), DEVCB_NULL, - DEVCB_DEVICE_LINE_MEMBER(RS232_TAG, rs232_port_device, rts_w), - DEVCB_DEVICE_LINE_MEMBER(RS232_TAG, rs232_port_device, dtr_w), + DEVCB_DEVICE_LINE_MEMBER(RS232_TAG, rs232_port_device, write_rts), + DEVCB_DEVICE_LINE_MEMBER(RS232_TAG, rs232_port_device, write_dtr), DEVCB_DRIVER_LINE_MEMBER(wangpc_state, epci_irq_w), DEVCB_NULL, DEVCB_NULL @@ -1206,7 +1207,7 @@ static MACHINE_CONFIG_START( wangpc, wangpc_state ) MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", CENTRONICS_TAG) MCFG_RS232_PORT_ADD(RS232_TAG, default_rs232_devices, NULL) - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(SCN2661_TAG,mc2661_device,rx_w)) + MCFG_RS232_RXD_HANDLER(DEVWRITELINE(SCN2661_TAG,mc2661_device,rx_w)) MCFG_WANGPC_KEYBOARD_ADD() diff --git a/src/mess/drivers/wicat.c b/src/mess/drivers/wicat.c index bda5a615d0c..687ee5b4d88 100644 --- a/src/mess/drivers/wicat.c +++ b/src/mess/drivers/wicat.c @@ -8,11 +8,10 @@ Wicat - various systems. ****************************************************************************/ -#include "emu.h" +#include "bus/rs232/rs232.h" #include "cpu/m68000/m68000.h" #include "cpu/z8000/z8000.h" #include "cpu/8x300/8x300.h" -#include "machine/serial.h" #include "machine/6522via.h" #include "machine/mm58274c.h" #include "machine/mc2661.h" @@ -27,28 +26,29 @@ class wicat_state : public driver_device { public: wicat_state(const machine_config &mconfig, device_type type, const char *tag) - : driver_device(mconfig, type, tag) - , m_vram(*this, "vram") - , m_maincpu(*this, "maincpu") - , m_rtc(*this, "rtc") - , m_via(*this, "via") - , m_uart0(*this,"uart0") - , m_uart1(*this,"uart1") - , m_uart2(*this,"uart2") - , m_uart3(*this,"uart3") - , m_uart4(*this,"uart4") - , m_uart5(*this,"uart5") - , m_uart6(*this,"uart6") - , m_videocpu(*this,"videocpu") - , m_videoctrl(*this,"video") - , m_videodma(*this,"videodma") - , m_videouart0(*this,"videouart0") - , m_videouart1(*this,"videouart1") - , m_videouart(*this,"videouart") - , m_videosram(*this,"vsram") - , m_chargen(*this,"g2char") - , m_fdc(*this,"fdc") - { } + : driver_device(mconfig, type, tag), + m_vram(*this, "vram"), + m_maincpu(*this, "maincpu"), + m_rtc(*this, "rtc"), + m_via(*this, "via"), + m_uart0(*this,"uart0"), + m_uart1(*this,"uart1"), + m_uart2(*this,"uart2"), + m_uart3(*this,"uart3"), + m_uart4(*this,"uart4"), + m_uart5(*this,"uart5"), + m_uart6(*this,"uart6"), + m_videocpu(*this,"videocpu"), + m_videoctrl(*this,"video"), + m_videodma(*this,"videodma"), + m_videouart0(*this,"videouart0"), + m_videouart1(*this,"videouart1"), + m_videouart(*this,"videouart"), + m_videosram(*this,"vsram"), + m_chargen(*this,"g2char"), + m_fdc(*this,"fdc") + { + } DECLARE_READ16_MEMBER(invalid_r); DECLARE_WRITE16_MEMBER(invalid_w); @@ -766,11 +766,11 @@ static mc2661_interface wicat_uart1_intf = { 0, 0, - DEVCB_DEVICE_LINE_MEMBER("serial1", serial_port_device, tx), + DEVCB_DEVICE_LINE_MEMBER("serial1", rs232_port_device, write_txd), DEVCB_CPU_INPUT_LINE("maincpu",M68K_IRQ_2), // RXRDY out DEVCB_NULL, - DEVCB_DEVICE_LINE_MEMBER("serial1", rs232_port_device, rts_w), - DEVCB_DEVICE_LINE_MEMBER("serial1", rs232_port_device, dtr_w), + DEVCB_DEVICE_LINE_MEMBER("serial1", rs232_port_device, write_rts), + DEVCB_DEVICE_LINE_MEMBER("serial1", rs232_port_device, write_dtr), DEVCB_CPU_INPUT_LINE("maincpu",M68K_IRQ_2), // TXEMT out DEVCB_NULL, DEVCB_NULL @@ -780,11 +780,11 @@ static mc2661_interface wicat_uart2_intf = { 0, 0, - DEVCB_DEVICE_LINE_MEMBER("serial2", serial_port_device, tx), + DEVCB_DEVICE_LINE_MEMBER("serial2", rs232_port_device, write_txd), DEVCB_CPU_INPUT_LINE("maincpu",M68K_IRQ_2), // RXRDY out DEVCB_NULL, - DEVCB_DEVICE_LINE_MEMBER("serial2", rs232_port_device, rts_w), - DEVCB_DEVICE_LINE_MEMBER("serial2", rs232_port_device, dtr_w), + DEVCB_DEVICE_LINE_MEMBER("serial2", rs232_port_device, write_rts), + DEVCB_DEVICE_LINE_MEMBER("serial2", rs232_port_device, write_dtr), DEVCB_NULL, // TXEMT out DEVCB_NULL, DEVCB_NULL @@ -794,11 +794,11 @@ static mc2661_interface wicat_uart3_intf = { 0, 0, - DEVCB_DEVICE_LINE_MEMBER("serial3", serial_port_device, tx), + DEVCB_DEVICE_LINE_MEMBER("serial3", rs232_port_device, write_txd), DEVCB_CPU_INPUT_LINE("maincpu",M68K_IRQ_2), // RXRDY out DEVCB_NULL, - DEVCB_DEVICE_LINE_MEMBER("serial3", rs232_port_device, rts_w), - DEVCB_DEVICE_LINE_MEMBER("serial3", rs232_port_device, dtr_w), + DEVCB_DEVICE_LINE_MEMBER("serial3", rs232_port_device, write_rts), + DEVCB_DEVICE_LINE_MEMBER("serial3", rs232_port_device, write_dtr), DEVCB_CPU_INPUT_LINE("maincpu",M68K_IRQ_2), // TXEMT out DEVCB_NULL, DEVCB_NULL @@ -808,11 +808,11 @@ static mc2661_interface wicat_uart4_intf = { 0, 0, - DEVCB_DEVICE_LINE_MEMBER("serial4", serial_port_device, tx), + DEVCB_DEVICE_LINE_MEMBER("serial4", rs232_port_device, write_txd), DEVCB_CPU_INPUT_LINE("maincpu",M68K_IRQ_2), // RXRDY out DEVCB_NULL, - DEVCB_DEVICE_LINE_MEMBER("serial4", rs232_port_device, rts_w), - DEVCB_DEVICE_LINE_MEMBER("serial4", rs232_port_device, dtr_w), + DEVCB_DEVICE_LINE_MEMBER("serial4", rs232_port_device, write_rts), + DEVCB_DEVICE_LINE_MEMBER("serial4", rs232_port_device, write_dtr), DEVCB_CPU_INPUT_LINE("maincpu",M68K_IRQ_2), // TXEMT out DEVCB_NULL, DEVCB_NULL @@ -822,11 +822,11 @@ static mc2661_interface wicat_uart5_intf = { 0, 0, - DEVCB_DEVICE_LINE_MEMBER("serial5", serial_port_device, tx), + DEVCB_DEVICE_LINE_MEMBER("serial5", rs232_port_device, write_txd), DEVCB_CPU_INPUT_LINE("maincpu",M68K_IRQ_2), // RXRDY out DEVCB_NULL, - DEVCB_DEVICE_LINE_MEMBER("serial5", rs232_port_device, rts_w), - DEVCB_DEVICE_LINE_MEMBER("serial5", rs232_port_device, dtr_w), + DEVCB_DEVICE_LINE_MEMBER("serial5", rs232_port_device, write_rts), + DEVCB_DEVICE_LINE_MEMBER("serial5", rs232_port_device, write_dtr), DEVCB_CPU_INPUT_LINE("maincpu",M68K_IRQ_2), // TXEMT out DEVCB_NULL, DEVCB_NULL @@ -837,11 +837,11 @@ static mc2661_interface wicat_uart6_intf = { 0, // RXC 0, // TXC - DEVCB_NULL, //DEVCB_DEVICE_LINE_MEMBER(RS232_TAG, serial_port_device, tx), // RXD out + DEVCB_NULL, //DEVCB_DEVICE_LINE_MEMBER(RS232_TAG, rs232_port_device, write_txd), // RXD out DEVCB_CPU_INPUT_LINE("maincpu",M68K_IRQ_2), // RXRDY out DEVCB_NULL, // TXRDY out - DEVCB_NULL, //DEVCB_DEVICE_LINE_MEMBER(RS232_TAG, rs232_port_device, rts_w), // RTS out - DEVCB_NULL, //DEVCB_DEVICE_LINE_MEMBER(RS232_TAG, rs232_port_device, dtr_w), // DTR out + DEVCB_NULL, //DEVCB_DEVICE_LINE_MEMBER(RS232_TAG, rs232_port_device, write_rts), // RTS out + DEVCB_NULL, //DEVCB_DEVICE_LINE_MEMBER(RS232_TAG, rs232_port_device, write_dtr), // DTR out DEVCB_CPU_INPUT_LINE("maincpu",M68K_IRQ_2), // TXEMT out DEVCB_NULL, // BKDET out DEVCB_NULL // XSYNC out @@ -869,8 +869,8 @@ static mc2661_interface wicat_video_uart1_intf = DEVCB_NULL, // RXD out DEVCB_CPU_INPUT_LINE("videocpu",INPUT_LINE_IRQ0), // RXRDY out DEVCB_NULL, // TXRDY out - DEVCB_NULL, //DEVCB_DEVICE_LINE_MEMBER(RS232_TAG, rs232_port_device, rts_w), // RTS out - DEVCB_NULL, //DEVCB_DEVICE_LINE_MEMBER(RS232_TAG, rs232_port_device, dtr_w), // DTR out + DEVCB_NULL, //DEVCB_DEVICE_LINE_MEMBER(RS232_TAG, rs232_port_device, write_rts), // RTS out + DEVCB_NULL, //DEVCB_DEVICE_LINE_MEMBER(RS232_TAG, rs232_port_device, write_dtr), // DTR out DEVCB_NULL, // TXEMT out DEVCB_NULL, // BKDET out DEVCB_NULL // XSYNC out @@ -926,34 +926,34 @@ static MACHINE_CONFIG_START( wicat, wicat_state ) MCFG_MC2661_ADD("uart6", XTAL_5_0688MHz, wicat_uart6_intf) // connected to modem port MCFG_RS232_PORT_ADD("serial1",default_rs232_devices,NULL) - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE("uart1",mc2661_device,rx_w)) - MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE("uart1",mc2661_device,dcd_w)) - MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE("uart1",mc2661_device,dsr_w)) - MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE("uart1",mc2661_device,cts_w)) + MCFG_RS232_RXD_HANDLER(DEVWRITELINE("uart1",mc2661_device,rx_w)) + MCFG_RS232_DCD_HANDLER(DEVWRITELINE("uart1",mc2661_device,dcd_w)) + MCFG_RS232_DSR_HANDLER(DEVWRITELINE("uart1",mc2661_device,dsr_w)) + MCFG_RS232_CTS_HANDLER(DEVWRITELINE("uart1",mc2661_device,cts_w)) MCFG_RS232_PORT_ADD("serial2",default_rs232_devices,NULL) - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE("uart2",mc2661_device,rx_w)) - MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE("uart2",mc2661_device,dcd_w)) - MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE("uart2",mc2661_device,dsr_w)) - MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE("uart2",mc2661_device,cts_w)) + MCFG_RS232_RXD_HANDLER(DEVWRITELINE("uart2",mc2661_device,rx_w)) + MCFG_RS232_DCD_HANDLER(DEVWRITELINE("uart2",mc2661_device,dcd_w)) + MCFG_RS232_DSR_HANDLER(DEVWRITELINE("uart2",mc2661_device,dsr_w)) + MCFG_RS232_CTS_HANDLER(DEVWRITELINE("uart2",mc2661_device,cts_w)) MCFG_RS232_PORT_ADD("serial3",default_rs232_devices,NULL) - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE("uart3",mc2661_device,rx_w)) - MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE("uart3",mc2661_device,dcd_w)) - MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE("uart3",mc2661_device,dsr_w)) - MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE("uart3",mc2661_device,cts_w)) + MCFG_RS232_RXD_HANDLER(DEVWRITELINE("uart3",mc2661_device,rx_w)) + MCFG_RS232_DCD_HANDLER(DEVWRITELINE("uart3",mc2661_device,dcd_w)) + MCFG_RS232_DSR_HANDLER(DEVWRITELINE("uart3",mc2661_device,dsr_w)) + MCFG_RS232_CTS_HANDLER(DEVWRITELINE("uart3",mc2661_device,cts_w)) MCFG_RS232_PORT_ADD("serial4",default_rs232_devices,NULL) - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE("uart4",mc2661_device,rx_w)) - MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE("uart4",mc2661_device,dcd_w)) - MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE("uart4",mc2661_device,dsr_w)) - MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE("uart4",mc2661_device,cts_w)) + MCFG_RS232_RXD_HANDLER(DEVWRITELINE("uart4",mc2661_device,rx_w)) + MCFG_RS232_DCD_HANDLER(DEVWRITELINE("uart4",mc2661_device,dcd_w)) + MCFG_RS232_DSR_HANDLER(DEVWRITELINE("uart4",mc2661_device,dsr_w)) + MCFG_RS232_CTS_HANDLER(DEVWRITELINE("uart4",mc2661_device,cts_w)) MCFG_RS232_PORT_ADD("serial5",default_rs232_devices,NULL) - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE("uart5",mc2661_device,rx_w)) - MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE("uart5",mc2661_device,dcd_w)) - MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE("uart5",mc2661_device,dsr_w)) - MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE("uart5",mc2661_device,cts_w)) + MCFG_RS232_RXD_HANDLER(DEVWRITELINE("uart5",mc2661_device,rx_w)) + MCFG_RS232_DCD_HANDLER(DEVWRITELINE("uart5",mc2661_device,dcd_w)) + MCFG_RS232_DSR_HANDLER(DEVWRITELINE("uart5",mc2661_device,dsr_w)) + MCFG_RS232_CTS_HANDLER(DEVWRITELINE("uart5",mc2661_device,cts_w)) /* video hardware */ MCFG_CPU_ADD("videocpu",Z8002,XTAL_8MHz/2) // AMD AMZ8002DC diff --git a/src/mess/drivers/x68k.c b/src/mess/drivers/x68k.c index 1ab26d52adb..80a8fff8198 100644 --- a/src/mess/drivers/x68k.c +++ b/src/mess/drivers/x68k.c @@ -1420,7 +1420,7 @@ static MC68901_INTERFACE( mfp_interface ) DEVCB_DRIVER_LINE_MEMBER(x68k_state, mfp_tbo_w), /* TBO */ DEVCB_NULL, /* TCO */ DEVCB_NULL, /* TDO */ - DEVCB_DEVICE_LINE_MEMBER("keyboard", serial_keyboard_device, rx_w), /* serial output */ + DEVCB_DEVICE_LINE_MEMBER("keyboard", serial_keyboard_device, input_txd), /* serial output */ DEVCB_NULL, DEVCB_NULL }; diff --git a/src/mess/drivers/xerox820.c b/src/mess/drivers/xerox820.c index 049a38a405a..1295054f26e 100644 --- a/src/mess/drivers/xerox820.c +++ b/src/mess/drivers/xerox820.c @@ -38,6 +38,9 @@ #include "includes/xerox820.h" +#include "bus/rs232/rs232.h" + +#define KEYBOARD_TAG "keyboard" /* Read/Write Handlers */ @@ -423,15 +426,15 @@ static Z80SIO_INTERFACE( sio_intf ) { 0, 0, 0, 0, - DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, serial_port_device, tx), - DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, dtr_w), - DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, rts_w), + DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, write_txd), + DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, write_dtr), + DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, write_rts), DEVCB_NULL, DEVCB_NULL, - DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, serial_port_device, tx), - DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, rs232_port_device, dtr_w), - DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, rs232_port_device, rts_w), + DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, rs232_port_device, write_txd), + DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, rs232_port_device, write_dtr), + DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, rs232_port_device, write_rts), DEVCB_NULL, DEVCB_NULL, @@ -706,10 +709,10 @@ static MACHINE_CONFIG_START( xerox820, xerox820_state ) MCFG_COM8116_ADD(COM8116_TAG, XTAL_5_0688MHz, NULL, WRITELINE(xerox820_state, fr_w), DEVWRITELINE(Z80SIO_TAG, z80dart_device, rxtxcb_w)) MCFG_RS232_PORT_ADD(RS232_A_TAG, default_rs232_devices, NULL) - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(Z80SIO_TAG, z80sio0_device, rxa_w)) + MCFG_RS232_RXD_HANDLER(DEVWRITELINE(Z80SIO_TAG, z80sio0_device, rxa_w)) MCFG_RS232_PORT_ADD(RS232_B_TAG, default_rs232_devices, NULL) - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(Z80SIO_TAG, z80sio0_device, rxb_w)) + MCFG_RS232_RXD_HANDLER(DEVWRITELINE(Z80SIO_TAG, z80sio0_device, rxb_w)) MCFG_ASCII_KEYBOARD_ADD(KEYBOARD_TAG, keyboard_intf) diff --git a/src/mess/drivers/xor100.c b/src/mess/drivers/xor100.c index 0b3e73e9fd8..e96f460bcfb 100644 --- a/src/mess/drivers/xor100.c +++ b/src/mess/drivers/xor100.c @@ -36,6 +36,7 @@ #include "includes/xor100.h" +#include "bus/rs232/rs232.h" /* Read/Write Handlers */ @@ -374,9 +375,9 @@ WRITE_LINE_MEMBER( xor100_state::com5016_ft_w ) static const i8251_interface printer_8251_intf = { - DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, serial_port_device, tx), - DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, dtr_w), - DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, rts_w), + DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, write_txd), + DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, write_dtr), + DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, write_rts), DEVCB_NULL, DEVCB_NULL, DEVCB_NULL, @@ -387,9 +388,9 @@ static const i8251_interface printer_8251_intf = static const i8251_interface terminal_8251_intf = { - DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, serial_port_device, tx), - DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, rs232_port_device, dtr_w), - DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, rs232_port_device, rts_w), + DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, rs232_port_device, write_txd), + DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, rs232_port_device, write_dtr), + DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, rs232_port_device, write_rts), DEVCB_NULL, DEVCB_NULL, DEVCB_NULL, @@ -591,12 +592,12 @@ static MACHINE_CONFIG_START( xor100, xor100_state ) MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", "centronics") MCFG_RS232_PORT_ADD(RS232_A_TAG, default_rs232_devices, NULL) - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(I8251_A_TAG, i8251_device, write_rx)) - MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE(I8251_A_TAG, i8251_device, write_dsr)) + MCFG_RS232_RXD_HANDLER(DEVWRITELINE(I8251_A_TAG, i8251_device, write_rx)) + MCFG_RS232_DSR_HANDLER(DEVWRITELINE(I8251_A_TAG, i8251_device, write_dsr)) MCFG_RS232_PORT_ADD(RS232_B_TAG, default_rs232_devices, "serial_terminal") - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(I8251_B_TAG, i8251_device, write_rx)) - MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE(I8251_B_TAG, i8251_device, write_dsr)) + MCFG_RS232_RXD_HANDLER(DEVWRITELINE(I8251_B_TAG, i8251_device, write_rx)) + MCFG_RS232_DSR_HANDLER(DEVWRITELINE(I8251_B_TAG, i8251_device, write_dsr)) MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("serial_terminal", terminal) diff --git a/src/mess/drivers/z9001.c b/src/mess/drivers/z9001.c index 1d4db09f88a..7af76ebaee6 100644 --- a/src/mess/drivers/z9001.c +++ b/src/mess/drivers/z9001.c @@ -39,18 +39,21 @@ ToDo: // temporary #include "machine/keyboard.h" -// +#define KEYBOARD_TAG "keyboard" + class z9001_state : public driver_device { public: z9001_state(const machine_config &mconfig, device_type type, const char *tag) : driver_device(mconfig, type, tag), - m_maincpu(*this, "maincpu"), - m_framecnt(0), - m_beeper(*this, "beeper"), - m_cass(*this, "cassette"), - m_p_colorram(*this, "colorram"), - m_p_videoram(*this, "videoram"){ } + m_maincpu(*this, "maincpu"), + m_framecnt(0), + m_beeper(*this, "beeper"), + m_cass(*this, "cassette"), + m_p_colorram(*this, "colorram"), + m_p_videoram(*this, "videoram") + { + } required_device<cpu_device> m_maincpu; UINT8 m_framecnt; diff --git a/src/mess/drivers/zexall.c b/src/mess/drivers/zexall.c index 7affabf258c..69df49bd651 100644 --- a/src/mess/drivers/zexall.c +++ b/src/mess/drivers/zexall.c @@ -47,16 +47,18 @@ One i/o port is used: #include "cpu/z80/z80.h" #include "machine/terminal.h" +#define TERMINAL_TAG "terminal" class zexall_state : public driver_device { public: zexall_state(const machine_config &mconfig, device_type type, const char *tag) - : driver_device(mconfig, type, tag) - , m_maincpu(*this, "maincpu") - , m_terminal(*this, TERMINAL_TAG) - , m_main_ram(*this, "main_ram") - { } + : driver_device(mconfig, type, tag), + m_maincpu(*this, "maincpu"), + m_terminal(*this, TERMINAL_TAG), + m_main_ram(*this, "main_ram") + { + } DECLARE_READ8_MEMBER( zexall_output_ack_r ); DECLARE_READ8_MEMBER( zexall_output_req_r ); diff --git a/src/mess/drivers/zorba.c b/src/mess/drivers/zorba.c index f5685cb7750..29f6feafeb8 100644 --- a/src/mess/drivers/zorba.c +++ b/src/mess/drivers/zorba.c @@ -38,25 +38,28 @@ Note: because the 8275 isn't working, a generic video handler is being used at t #include "machine/keyboard.h" #include "machine/wd_fdc.h" +#define KEYBOARD_TAG "keyboard" + class zorba_state : public driver_device { public: zorba_state(const machine_config &mconfig, device_type type, const char *tag) - : driver_device(mconfig, type, tag) - , m_p_videoram(*this, "videoram") - , m_maincpu(*this, "maincpu") - , m_beep(*this, "beeper") - , m_dma(*this, "dma") - , m_u0(*this, "uart0") - , m_u1(*this, "uart1") - , m_u2(*this, "uart2") - , m_pia0(*this, "pia0") - , m_pia1(*this, "pia1") - , m_crtc(*this, "crtc") - , m_fdc (*this, "fdc") - , m_floppy0(*this, "fdc:0") - , m_floppy1(*this, "fdc:1") - { } + : driver_device(mconfig, type, tag), + m_p_videoram(*this, "videoram"), + m_maincpu(*this, "maincpu"), + m_beep(*this, "beeper"), + m_dma(*this, "dma"), + m_u0(*this, "uart0"), + m_u1(*this, "uart1"), + m_u2(*this, "uart2"), + m_pia0(*this, "pia0"), + m_pia1(*this, "pia1"), + m_crtc(*this, "crtc"), + m_fdc (*this, "fdc"), + m_floppy0(*this, "fdc:0"), + m_floppy1(*this, "fdc:1") + { + } public: const UINT8 *m_p_chargen; diff --git a/src/mess/drivers/zrt80.c b/src/mess/drivers/zrt80.c index 0b2b4f4def6..be6a29c48e0 100644 --- a/src/mess/drivers/zrt80.c +++ b/src/mess/drivers/zrt80.c @@ -23,6 +23,7 @@ #include "machine/keyboard.h" #include "sound/beep.h" +#define KEYBOARD_TAG "keyboard" class zrt80_state : public driver_device { @@ -33,13 +34,14 @@ public: }; zrt80_state(const machine_config &mconfig, device_type type, const char *tag) - : driver_device(mconfig, type, tag) - , m_p_videoram(*this, "videoram") - , m_maincpu(*this, "maincpu") - , m_crtc(*this, "crtc") - , m_8250(*this, "ins8250") - , m_beep(*this, "beeper") - { } + : driver_device(mconfig, type, tag), + m_p_videoram(*this, "videoram"), + m_maincpu(*this, "maincpu"), + m_crtc(*this, "crtc"), + m_8250(*this, "ins8250"), + m_beep(*this, "beeper") + { + } DECLARE_READ8_MEMBER(zrt80_10_r); DECLARE_WRITE8_MEMBER(zrt80_30_w); diff --git a/src/mess/drivers/zsbc3.c b/src/mess/drivers/zsbc3.c index 39ea7dd5288..6c6669ee38f 100644 --- a/src/mess/drivers/zsbc3.c +++ b/src/mess/drivers/zsbc3.c @@ -38,15 +38,17 @@ #include "cpu/z80/z80.h" #include "machine/terminal.h" +#define TERMINAL_TAG "terminal" class zsbc3_state : public driver_device { public: zsbc3_state(const machine_config &mconfig, device_type type, const char *tag) - : driver_device(mconfig, type, tag) - , m_maincpu(*this, "maincpu") - , m_terminal(*this, TERMINAL_TAG) - { } + : driver_device(mconfig, type, tag), + m_maincpu(*this, "maincpu"), + m_terminal(*this, TERMINAL_TAG) + { + } DECLARE_READ8_MEMBER(zsbc3_28_r); DECLARE_READ8_MEMBER(zsbc3_2a_r); diff --git a/src/mess/includes/abc1600.h b/src/mess/includes/abc1600.h index 064a599a402..ebbcac95b51 100644 --- a/src/mess/includes/abc1600.h +++ b/src/mess/includes/abc1600.h @@ -5,8 +5,8 @@ #ifndef __ABC1600__ #define __ABC1600__ -#include "emu.h" #include "bus/abcbus/abcbus.h" +#include "bus/rs232/rs232.h" #include "cpu/m68000/m68000.h" #include "machine/8530scc.h" #include "machine/abckb.h" @@ -14,7 +14,6 @@ #include "machine/e0516.h" #include "machine/nmc9306.h" #include "machine/ram.h" -#include "machine/serial.h" #include "machine/wd_fdc.h" #include "machine/z80dart.h" #include "machine/z80dma.h" diff --git a/src/mess/includes/abc80.h b/src/mess/includes/abc80.h index 47f32bbae6f..43d62add34d 100644 --- a/src/mess/includes/abc80.h +++ b/src/mess/includes/abc80.h @@ -9,8 +9,8 @@ #ifndef __ABC80__ #define __ABC80__ -#include "emu.h" #include "bus/abcbus/abcbus.h" +#include "bus/rs232/rs232.h" #include "cpu/z80/z80.h" #include "cpu/z80/z80daisy.h" #include "imagedev/flopdrv.h" @@ -19,7 +19,6 @@ #include "machine/abc80kb.h" #include "machine/keyboard.h" #include "machine/ram.h" -#include "machine/serial.h" #include "machine/z80pio.h" #include "sound/sn76477.h" diff --git a/src/mess/includes/abc80x.h b/src/mess/includes/abc80x.h index 3652787bbff..cbeb582611e 100644 --- a/src/mess/includes/abc80x.h +++ b/src/mess/includes/abc80x.h @@ -7,8 +7,8 @@ #define MODERN_DRIVER_INIT -#include "emu.h" #include "bus/abcbus/abcbus.h" +#include "bus/rs232/rs232.h" #include "cpu/z80/z80.h" #include "cpu/z80/z80daisy.h" #include "cpu/mcs48/mcs48.h" @@ -16,7 +16,6 @@ #include "machine/abckb.h" #include "machine/abc800kb.h" #include "machine/e0516.h" -#include "machine/serial.h" #include "machine/z80ctc.h" #include "machine/z80dart.h" #include "machine/ram.h" diff --git a/src/mess/includes/atarist.h b/src/mess/includes/atarist.h index dc74cbfd86f..52e3717059e 100644 --- a/src/mess/includes/atarist.h +++ b/src/mess/includes/atarist.h @@ -5,7 +5,7 @@ #ifndef __ATARI_ST__ #define __ATARI_ST__ -#include "emu.h" +#include "bus/rs232/rs232.h" #include "cpu/m68000/m68000.h" #include "cpu/m6800/m6800.h" #include "imagedev/cartslot.h" @@ -13,12 +13,9 @@ #include "machine/8530scc.h" #include "bus/centronics/ctronics.h" #include "machine/mc68901.h" -#include "machine/midiinport.h" -#include "machine/midioutport.h" #include "machine/ram.h" #include "machine/rescap.h" #include "machine/rp5c15.h" -#include "machine/serial.h" #include "machine/wd_fdc.h" #include "sound/ay8910.h" #include "sound/lmc1992.h" diff --git a/src/mess/includes/avigo.h b/src/mess/includes/avigo.h index 2ddd89ebf59..eb172f09d6c 100644 --- a/src/mess/includes/avigo.h +++ b/src/mess/includes/avigo.h @@ -9,11 +9,10 @@ #ifndef AVIGO_H_ #define AVIGO_H_ +#include "bus/rs232/rs232.h" #include "cpu/z80/z80.h" #include "machine/rp5c01.h" #include "machine/ins8250.h" -#include "machine/serial.h" -#include "machine/null_modem.h" #include "machine/intelfsh.h" #include "machine/nvram.h" #include "sound/speaker.h" diff --git a/src/mess/includes/bbc.h b/src/mess/includes/bbc.h index 7905ecef767..2eabe335a33 100644 --- a/src/mess/includes/bbc.h +++ b/src/mess/includes/bbc.h @@ -11,6 +11,7 @@ #ifndef BBC_H_ #define BBC_H_ +#include "bus/rs232/rs232.h" #include "machine/6522via.h" #include "machine/6850acia.h" #include "machine/mc6854.h" @@ -23,7 +24,6 @@ #include "sound/sn76496.h" #include "sound/tms5220.h" #include "imagedev/cassette.h" -#include "machine/serial.h" #define RS232_TAG "rs232" diff --git a/src/mess/includes/bullet.h b/src/mess/includes/bullet.h index 240dcadcfc0..454ab273a09 100644 --- a/src/mess/includes/bullet.h +++ b/src/mess/includes/bullet.h @@ -12,7 +12,6 @@ #include "machine/scsibus.h" #include "machine/scsicb.h" #include "machine/scsihd.h" -#include "machine/serial.h" #include "machine/wd_fdc.h" #include "machine/z80ctc.h" #include "machine/z80dart.h" diff --git a/src/mess/includes/bw12.h b/src/mess/includes/bw12.h index 4d43fb08570..6f72259be36 100644 --- a/src/mess/includes/bw12.h +++ b/src/mess/includes/bw12.h @@ -11,7 +11,6 @@ #include "machine/pit8253.h" #include "machine/ram.h" #include "machine/rescap.h" -#include "machine/serial.h" #include "machine/upd765.h" #include "machine/z80dart.h" #include "video/mc6845.h" diff --git a/src/mess/includes/bw2.h b/src/mess/includes/bw2.h index 300bc9ac5fa..babc69846fb 100644 --- a/src/mess/includes/bw2.h +++ b/src/mess/includes/bw2.h @@ -14,7 +14,6 @@ #include "machine/i8255.h" #include "machine/pit8253.h" #include "machine/ram.h" -#include "machine/serial.h" #include "machine/wd_fdc.h" #include "video/msm6255.h" #include "rendlay.h" diff --git a/src/mess/includes/cbm2.h b/src/mess/includes/cbm2.h index 5f3cd7182ac..5e75e7ea738 100644 --- a/src/mess/includes/cbm2.h +++ b/src/mess/includes/cbm2.h @@ -22,7 +22,6 @@ #include "machine/pic8259.h" #include "machine/pla.h" #include "machine/ram.h" -#include "machine/serial.h" #include "sound/dac.h" #include "sound/mos6581.h" #include "video/mc6845.h" diff --git a/src/mess/includes/compis.h b/src/mess/includes/compis.h index 0540f6e6058..ea4202de421 100644 --- a/src/mess/includes/compis.h +++ b/src/mess/includes/compis.h @@ -28,7 +28,6 @@ #include "machine/pic8259.h" #include "machine/pit8253.h" #include "machine/ram.h" -#include "machine/serial.h" #include "machine/z80dart.h" #include "video/upd7220.h" diff --git a/src/mess/includes/cxhumax.h b/src/mess/includes/cxhumax.h index 2bba6a9f5ec..87786304f31 100644 --- a/src/mess/includes/cxhumax.h +++ b/src/mess/includes/cxhumax.h @@ -24,6 +24,8 @@ struct cx_timer_regs_t UINT32 timer_irq; }; +#define TERMINAL_TAG "terminal" + class cxhumax_state : public driver_device { public: diff --git a/src/mess/includes/dm7000.h b/src/mess/includes/dm7000.h index b7141fca791..38380c74532 100644 --- a/src/mess/includes/dm7000.h +++ b/src/mess/includes/dm7000.h @@ -5,13 +5,17 @@ #include "cpu/powerpc/ppc.h" #include "machine/terminal.h" +#define TERMINAL_TAG "terminal" + class dm7000_state : public driver_device { public: dm7000_state(const machine_config &mconfig, device_type type, const char *tag) : driver_device(mconfig, type, tag), m_maincpu(*this, "maincpu"), - m_terminal(*this, TERMINAL_TAG) { } + m_terminal(*this, TERMINAL_TAG) + { + } required_device<cpu_device> m_maincpu; required_device<generic_terminal_device> m_terminal; diff --git a/src/mess/includes/ep64.h b/src/mess/includes/ep64.h index ee9e1dd874c..8ca72ebb35b 100644 --- a/src/mess/includes/ep64.h +++ b/src/mess/includes/ep64.h @@ -14,15 +14,14 @@ #ifndef __EP64__ #define __EP64__ -#include "emu.h" #include "audio/dave.h" +#include "bus/rs232/rs232.h" #include "bus/ep64/exp.h" #include "cpu/z80/z80.h" #include "imagedev/cartslot.h" #include "imagedev/cassette.h" #include "bus/centronics/ctronics.h" #include "machine/ram.h" -#include "machine/serial.h" #include "video/nick.h" #define Z80_TAG "u1" diff --git a/src/mess/includes/exp85.h b/src/mess/includes/exp85.h index f585ec213ca..b5a57422d2e 100644 --- a/src/mess/includes/exp85.h +++ b/src/mess/includes/exp85.h @@ -3,9 +3,8 @@ #ifndef __EXP85__ #define __EXP85__ -#include "emu.h" +#include "bus/rs232/rs232.h" #include "imagedev/cassette.h" -#include "machine/serial.h" #include "sound/speaker.h" #define SCREEN_TAG "screen" diff --git a/src/mess/includes/hx20.h b/src/mess/includes/hx20.h index dfccaffc288..5c7c444371f 100644 --- a/src/mess/includes/hx20.h +++ b/src/mess/includes/hx20.h @@ -3,13 +3,12 @@ #ifndef __HX20__ #define __HX20__ -#include "emu.h" +#include "bus/rs232/rs232.h" #include "cpu/m6800/m6800.h" #include "imagedev/cassette.h" #include "machine/epson_sio.h" #include "machine/mc146818.h" #include "machine/ram.h" -#include "machine/serial.h" #include "video/upd7227.h" #include "sound/speaker.h" #include "rendlay.h" diff --git a/src/mess/includes/kyocera.h b/src/mess/includes/kyocera.h index 1f30a9c5832..4dbdd1d8e02 100644 --- a/src/mess/includes/kyocera.h +++ b/src/mess/includes/kyocera.h @@ -6,7 +6,7 @@ #define __KYOCERA__ -#include "emu.h" +#include "bus/rs232/rs232.h" #include "cpu/i8085/i8085.h" #include "imagedev/cartslot.h" #include "imagedev/cassette.h" @@ -17,7 +17,6 @@ #include "machine/im6402.h" #include "machine/ram.h" #include "machine/rp5c01.h" -#include "machine/serial.h" #include "machine/upd1990a.h" #include "video/hd44102.h" #include "video/hd61830.h" diff --git a/src/mess/includes/mc1502.h b/src/mess/includes/mc1502.h index 6e9e6873ece..02b031b03eb 100644 --- a/src/mess/includes/mc1502.h +++ b/src/mess/includes/mc1502.h @@ -14,7 +14,6 @@ #include "machine/pic8259.h" #include "machine/pit8253.h" #include "machine/ram.h" -#include "machine/serial.h" #include "machine/xsu_cards.h" #include "sound/speaker.h" diff --git a/src/mess/includes/mikromik.h b/src/mess/includes/mikromik.h index 5fb3f10e722..0b1981b7f3e 100644 --- a/src/mess/includes/mikromik.h +++ b/src/mess/includes/mikromik.h @@ -5,14 +5,13 @@ #ifndef __MIKROMIKKO__ #define __MIKROMIKKO__ -#include "emu.h" +#include "bus/rs232/rs232.h" #include "cpu/i8085/i8085.h" #include "formats/mm_dsk.h" #include "machine/am9517a.h" #include "machine/i8212.h" #include "machine/pit8253.h" #include "machine/ram.h" -#include "machine/serial.h" #include "machine/z80dart.h" #include "machine/upd765.h" #include "sound/speaker.h" diff --git a/src/mess/includes/ob68k1a.h b/src/mess/includes/ob68k1a.h index 2768c8b6e6e..4f0560273fd 100644 --- a/src/mess/includes/ob68k1a.h +++ b/src/mess/includes/ob68k1a.h @@ -5,14 +5,13 @@ #ifndef __OB68K1A__ #define __OB68K1A__ -#include "emu.h" +#include "bus/rs232/rs232.h" #include "cpu/m68000/m68000.h" #include "machine/6821pia.h" #include "machine/6840ptm.h" #include "machine/6850acia.h" #include "machine/com8116.h" #include "machine/ram.h" -#include "machine/serial.h" #define MC68000L10_TAG "u50" #define MC6821_0_TAG "u32" diff --git a/src/mess/includes/pc.h b/src/mess/includes/pc.h index 03f3f6b515e..e77faacf8fa 100644 --- a/src/mess/includes/pc.h +++ b/src/mess/includes/pc.h @@ -10,8 +10,6 @@ #include "machine/ins8250.h" #include "machine/i8255.h" #include "machine/am9517a.h" -#include "machine/serial.h" -#include "machine/ser_mouse.h" #include "bus/pc_kbd/pc_kbdc.h" #include "machine/upd765.h" #include "sound/speaker.h" diff --git a/src/mess/includes/pc1512.h b/src/mess/includes/pc1512.h index 49a4f3c4a4a..390691f158c 100644 --- a/src/mess/includes/pc1512.h +++ b/src/mess/includes/pc1512.h @@ -21,7 +21,6 @@ #include "machine/pc1512kb.h" #include "machine/pc_fdc.h" #include "machine/ram.h" -#include "machine/serial.h" #include "sound/speaker.h" #include "video/mc6845.h" #include "video/isa_pc1640_iga.h" diff --git a/src/mess/includes/pc8401a.h b/src/mess/includes/pc8401a.h index a434a6ba51a..9176300ad79 100644 --- a/src/mess/includes/pc8401a.h +++ b/src/mess/includes/pc8401a.h @@ -12,7 +12,6 @@ #include "machine/i8255.h" #include "machine/i8251.h" #include "machine/ram.h" -#include "machine/serial.h" #include "machine/upd1990a.h" #include "video/mc6845.h" #include "video/sed1330.h" diff --git a/src/mess/includes/pes.h b/src/mess/includes/pes.h index 7a0518abacf..f6d5dddd8fc 100644 --- a/src/mess/includes/pes.h +++ b/src/mess/includes/pes.h @@ -13,15 +13,18 @@ #include "sound/tms5220.h" #include "cpu/mcs51/mcs51.h" +#define TERMINAL_TAG "terminal" + class pes_state : public driver_device { public: pes_state(const machine_config &mconfig, device_type type, const char *tag) : driver_device(mconfig, type, tag), - m_maincpu(*this, "maincpu"), - m_terminal(*this, TERMINAL_TAG), - m_speech(*this, "tms5220") - { } + m_maincpu(*this, "maincpu"), + m_terminal(*this, TERMINAL_TAG), + m_speech(*this, "tms5220") + { + } required_device<i80c31_device> m_maincpu; required_device<generic_terminal_device> m_terminal; diff --git a/src/mess/includes/portfoli.h b/src/mess/includes/portfoli.h index a54908acfc7..fd8a297e786 100644 --- a/src/mess/includes/portfoli.h +++ b/src/mess/includes/portfoli.h @@ -13,7 +13,6 @@ #include "machine/ins8250.h" #include "machine/nvram.h" #include "machine/ram.h" -#include "machine/serial.h" #include "sound/speaker.h" #include "video/hd61830.h" diff --git a/src/mess/includes/prof80.h b/src/mess/includes/prof80.h index b43fccc3223..5a48f376196 100644 --- a/src/mess/includes/prof80.h +++ b/src/mess/includes/prof80.h @@ -5,14 +5,13 @@ #ifndef __PROF80__ #define __PROF80__ -#include "emu.h" #include "bus/ecbbus/ecbbus.h" +#include "bus/rs232/rs232.h" #include "cpu/z80/z80.h" #include "cpu/z80/z80daisy.h" #include "machine/prof80mmu.h" #include "machine/ram.h" #include "machine/rescap.h" -#include "machine/serial.h" #include "machine/upd1990a.h" #include "machine/upd765.h" diff --git a/src/mess/includes/ql.h b/src/mess/includes/ql.h index 34cda1e5f77..e76534e997a 100644 --- a/src/mess/includes/ql.h +++ b/src/mess/includes/ql.h @@ -5,8 +5,8 @@ #ifndef __QL__ #define __QL__ +#include "bus/rs232/rs232.h" #include "machine/ram.h" -#include "machine/serial.h" #include "machine/wd17xx.h" #define SCREEN_TAG "screen" diff --git a/src/mess/includes/sage2.h b/src/mess/includes/sage2.h index f0bc4743c16..8a2f5191670 100644 --- a/src/mess/includes/sage2.h +++ b/src/mess/includes/sage2.h @@ -10,7 +10,6 @@ #include "machine/pit8253.h" #include "machine/pic8259.h" #include "machine/ram.h" -#include "machine/serial.h" #include "machine/upd765.h" #define M68000_TAG "u68" diff --git a/src/mess/includes/sg1000.h b/src/mess/includes/sg1000.h index cd8c93a1123..a5d468fc1cd 100644 --- a/src/mess/includes/sg1000.h +++ b/src/mess/includes/sg1000.h @@ -15,7 +15,6 @@ #include "machine/i8251.h" #include "machine/ram.h" #include "machine/sega8_slot.h" -#include "machine/serial.h" #include "machine/upd765.h" #include "sound/sn76496.h" #include "video/tms9928a.h" diff --git a/src/mess/includes/softbox.h b/src/mess/includes/softbox.h index 05b45102728..13546f2b3ce 100644 --- a/src/mess/includes/softbox.h +++ b/src/mess/includes/softbox.h @@ -14,7 +14,6 @@ #include "machine/com8116.h" #include "machine/i8251.h" #include "machine/i8255.h" -#include "machine/serial.h" #define Z80_TAG "z80" #define I8251_TAG "ic15" diff --git a/src/mess/includes/super6.h b/src/mess/includes/super6.h index 33af095eb8e..7993cbcff95 100644 --- a/src/mess/includes/super6.h +++ b/src/mess/includes/super6.h @@ -10,7 +10,6 @@ #include "cpu/z80/z80daisy.h" #include "machine/com8116.h" #include "machine/ram.h" -#include "machine/serial.h" #include "machine/wd_fdc.h" #include "machine/z80ctc.h" #include "machine/z80dart.h" diff --git a/src/mess/includes/superslave.h b/src/mess/includes/superslave.h index c43e3a8d39d..cfdc2f5d51d 100644 --- a/src/mess/includes/superslave.h +++ b/src/mess/includes/superslave.h @@ -5,13 +5,12 @@ #ifndef __SUPERSLAVE__ #define __SUPERSLAVE__ -#include "emu.h" +#include "bus/rs232/rs232.h" #include "cpu/z80/z80.h" #include "cpu/z80/z80daisy.h" #include "machine/com8116.h" #include "machine/pic8259.h" #include "machine/ram.h" -#include "machine/serial.h" #include "machine/z80dart.h" #include "machine/z80pio.h" diff --git a/src/mess/includes/tandy2k.h b/src/mess/includes/tandy2k.h index b193160b190..62d0d8bc688 100644 --- a/src/mess/includes/tandy2k.h +++ b/src/mess/includes/tandy2k.h @@ -14,7 +14,6 @@ #include "machine/pit8253.h" #include "machine/pic8259.h" #include "machine/ram.h" -#include "machine/serial.h" #include "machine/tandy2kb.h" #include "machine/upd765.h" #include "sound/speaker.h" diff --git a/src/mess/includes/tiki100.h b/src/mess/includes/tiki100.h index 57310e7e8db..c1a07983e01 100644 --- a/src/mess/includes/tiki100.h +++ b/src/mess/includes/tiki100.h @@ -13,7 +13,6 @@ #include "formats/tiki100_dsk.h" #include "imagedev/cassette.h" #include "machine/ram.h" -#include "machine/serial.h" #include "machine/z80ctc.h" #include "machine/z80dart.h" #include "machine/z80pio.h" diff --git a/src/mess/includes/tsispch.h b/src/mess/includes/tsispch.h index 9d19007684d..90c68e27ebf 100644 --- a/src/mess/includes/tsispch.h +++ b/src/mess/includes/tsispch.h @@ -13,17 +13,20 @@ #include "machine/pic8259.h" #include "machine/terminal.h" +#define TERMINAL_TAG "terminal" + class tsispch_state : public driver_device { public: tsispch_state(const machine_config &mconfig, device_type type, const char *tag) : driver_device(mconfig, type, tag), - m_maincpu(*this, "maincpu"), - m_dsp(*this, "dsp"), - m_terminal(*this, TERMINAL_TAG), - m_uart(*this, "i8251a_u15"), - m_pic(*this, "pic8259") - { } + m_maincpu(*this, "maincpu"), + m_dsp(*this, "dsp"), + m_terminal(*this, TERMINAL_TAG), + m_uart(*this, "i8251a_u15"), + m_pic(*this, "pic8259") + { + } required_device<cpu_device> m_maincpu; required_device<cpu_device> m_dsp; diff --git a/src/mess/includes/v1050.h b/src/mess/includes/v1050.h index 9ac0428a5e1..421d24ab18a 100644 --- a/src/mess/includes/v1050.h +++ b/src/mess/includes/v1050.h @@ -19,7 +19,6 @@ #include "machine/scsibus.h" #include "machine/scsicb.h" #include "machine/scsihd.h" -#include "machine/serial.h" #include "machine/v1050kb.h" #include "machine/wd_fdc.h" #include "video/mc6845.h" diff --git a/src/mess/includes/victor9k.h b/src/mess/includes/victor9k.h index 5b10c13901b..8c7da5d5778 100644 --- a/src/mess/includes/victor9k.h +++ b/src/mess/includes/victor9k.h @@ -14,7 +14,7 @@ #ifndef __VICTOR9K__ #define __VICTOR9K__ -#include "emu.h" +#include "bus/rs232/rs232.h" #include "cpu/i86/i86.h" #include "cpu/mcs48/mcs48.h" #include "imagedev/floppy.h" @@ -25,7 +25,6 @@ #include "machine/mc6852.h" #include "machine/pit8253.h" #include "machine/pic8259.h" -#include "machine/serial.h" #include "machine/z80dart.h" #include "machine/victor9kb.h" #include "sound/hc55516.h" diff --git a/src/mess/includes/vixen.h b/src/mess/includes/vixen.h index 051a4d6eca7..e0cd2d6e01c 100644 --- a/src/mess/includes/vixen.h +++ b/src/mess/includes/vixen.h @@ -3,13 +3,12 @@ #ifndef __VIXEN__ #define __VIXEN__ -#include "emu.h" +#include "bus/rs232/rs232.h" #include "cpu/z80/z80.h" #include "machine/i8155.h" #include "machine/i8251.h" #include "bus/ieee488/ieee488.h" #include "machine/ram.h" -#include "machine/serial.h" #include "machine/wd_fdc.h" #include "sound/discrete.h" diff --git a/src/mess/includes/wangpc.h b/src/mess/includes/wangpc.h index a7c472b06bb..2d8fc146b2c 100644 --- a/src/mess/includes/wangpc.h +++ b/src/mess/includes/wangpc.h @@ -17,7 +17,6 @@ #include "machine/pit8253.h" #include "machine/pic8259.h" #include "machine/ram.h" -#include "machine/serial.h" #include "machine/upd765.h" #include "machine/wangpckb.h" diff --git a/src/mess/includes/xerox820.h b/src/mess/includes/xerox820.h index 18b95d96df5..1276305b996 100644 --- a/src/mess/includes/xerox820.h +++ b/src/mess/includes/xerox820.h @@ -14,7 +14,6 @@ #include "machine/scsibus.h" #include "machine/scsicb.h" #include "machine/scsihd.h" -#include "machine/serial.h" #include "machine/wd_fdc.h" #include "machine/z80pio.h" #include "machine/z80ctc.h" diff --git a/src/mess/includes/xor100.h b/src/mess/includes/xor100.h index 3ed9a7d2ca6..236cf9d25a4 100644 --- a/src/mess/includes/xor100.h +++ b/src/mess/includes/xor100.h @@ -13,7 +13,6 @@ #include "bus/centronics/ctronics.h" #include "machine/i8255.h" #include "machine/i8251.h" -#include "machine/serial.h" #include "machine/wd_fdc.h" #include "machine/z80ctc.h" diff --git a/src/mess/machine/bbc.c b/src/mess/machine/bbc.c index fdd308d4a3a..0a8f8e5029a 100644 --- a/src/mess/machine/bbc.c +++ b/src/mess/machine/bbc.c @@ -1354,7 +1354,7 @@ WRITE_LINE_MEMBER( bbc_state::bbc_rts_w ) { if ( m_serproc_data & 0x40 ) { - m_rs232->rts_w(state); + m_rs232->write_rts(state); m_cass_out_enabled = 0; } else @@ -1368,7 +1368,7 @@ WRITE_LINE_MEMBER( bbc_state::bbc_txd_w ) { if ( m_serproc_data & 0x40 ) { - m_rs232->tx(state); + m_rs232->write_txd(state); } else { diff --git a/src/mess/machine/compclr_flp.c b/src/mess/machine/compclr_flp.c index c1838c61847..c38ea54b78c 100644 --- a/src/mess/machine/compclr_flp.c +++ b/src/mess/machine/compclr_flp.c @@ -78,7 +78,7 @@ machine_config_constructor compucolor_floppy_device::device_mconfig_additions() //------------------------------------------------- device_compucolor_floppy_port_interface::device_compucolor_floppy_port_interface(const machine_config &mconfig, device_t &device) - : device_serial_port_interface(mconfig, device) + : device_rs232_port_interface(mconfig, device) { } @@ -88,7 +88,7 @@ device_compucolor_floppy_port_interface::device_compucolor_floppy_port_interface //------------------------------------------------- compucolor_floppy_port_device::compucolor_floppy_port_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) - : serial_port_device(mconfig, COMPUCOLOR_FLOPPY_PORT, "Compucolor Floppy Port", tag, owner, clock, "compclr_flp_port", __FILE__) + : rs232_port_device(mconfig, COMPUCOLOR_FLOPPY_PORT, "Compucolor Floppy Port", tag, owner, clock, "compclr_flp_port", __FILE__) { } @@ -116,7 +116,7 @@ compucolor_floppy_device::compucolor_floppy_device(const machine_config &mconfig void compucolor_floppy_port_device::device_config_complete() { - serial_port_device::device_config_complete(); + rs232_port_device::device_config_complete(); m_dev = dynamic_cast<device_compucolor_floppy_port_interface *>(get_card_device()); } @@ -128,7 +128,7 @@ void compucolor_floppy_port_device::device_config_complete() void compucolor_floppy_port_device::device_start() { - serial_port_device::device_start(); + rs232_port_device::device_start(); } @@ -153,7 +153,7 @@ void compucolor_floppy_device::device_timer(emu_timer &timer, device_timer_id id { if (!m_sel && !m_rw) { - m_owner->out_rx(read_bit()); + output_rxd(read_bit()); } } @@ -179,7 +179,7 @@ void compucolor_floppy_device::rw_w(int state) { if (!m_rw && state) { - m_owner->out_rx(1); + output_rxd(1); } m_rw = state; @@ -224,7 +224,7 @@ void compucolor_floppy_device::select_w(int state) if (!m_sel && state) { - m_owner->out_rx(1); + output_rxd(1); } m_sel = state; diff --git a/src/mess/machine/compclr_flp.h b/src/mess/machine/compclr_flp.h index 3bbdeb79006..4d75e3ca923 100644 --- a/src/mess/machine/compclr_flp.h +++ b/src/mess/machine/compclr_flp.h @@ -14,10 +14,9 @@ #ifndef __COMPCLR_FLP__ #define __COMPCLR_FLP__ -#include "emu.h" +#include "bus/rs232/rs232.h" #include "formats/ccvf_dsk.h" #include "imagedev/floppy.h" -#include "machine/serial.h" @@ -37,7 +36,7 @@ // ======================> device_compucolor_floppy_port_interface -class device_compucolor_floppy_port_interface : public device_serial_port_interface +class device_compucolor_floppy_port_interface : public device_rs232_port_interface { public: device_compucolor_floppy_port_interface(const machine_config &mconfig, device_t &device); @@ -51,7 +50,7 @@ public: // ======================> compucolor_floppy_port_device -class compucolor_floppy_port_device : public serial_port_device +class compucolor_floppy_port_device : public rs232_port_device { public: compucolor_floppy_port_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); @@ -74,7 +73,7 @@ private: // ======================> compucolor_floppy_device class compucolor_floppy_device : public device_t, - public device_compucolor_floppy_port_interface + public device_compucolor_floppy_port_interface { public: // construction/destruction @@ -124,6 +123,4 @@ extern const device_type COMPUCOLOR_FLOPPY; // slot devices SLOT_INTERFACE_EXTERN( compucolor_floppy_port_devices ); - - #endif diff --git a/src/mess/machine/isa_com.c b/src/mess/machine/isa_com.c index a084d4f6eb4..a51cad5b682 100644 --- a/src/mess/machine/isa_com.c +++ b/src/mess/machine/isa_com.c @@ -5,42 +5,42 @@ ***************************************************************************/ #include "isa_com.h" -#include "machine/ser_mouse.h" -#include "machine/terminal.h" -#include "machine/null_modem.h" -#include "machine/serial.h" +#include "bus/rs232/rs232.h" +#include "bus/rs232/ser_mouse.h" +#include "bus/rs232/terminal.h" +#include "bus/rs232/null_modem.h" #include "machine/ins8250.h" static const ins8250_interface genpc_com_interface[2]= { { - DEVCB_DEVICE_LINE_MEMBER("serport0", serial_port_device, tx), - DEVCB_DEVICE_LINE_MEMBER("serport0", rs232_port_device, dtr_w), - DEVCB_DEVICE_LINE_MEMBER("serport0", rs232_port_device, rts_w), + DEVCB_DEVICE_LINE_MEMBER("serport0", rs232_port_device, write_txd), + DEVCB_DEVICE_LINE_MEMBER("serport0", rs232_port_device, write_dtr), + DEVCB_DEVICE_LINE_MEMBER("serport0", rs232_port_device, write_rts), DEVCB_DEVICE_LINE_MEMBER(DEVICE_SELF_OWNER, isa8_com_device, pc_com_interrupt_1), DEVCB_NULL, DEVCB_NULL }, { - DEVCB_DEVICE_LINE_MEMBER("serport1", serial_port_device, tx), - DEVCB_DEVICE_LINE_MEMBER("serport1", rs232_port_device, dtr_w), - DEVCB_DEVICE_LINE_MEMBER("serport1", rs232_port_device, rts_w), + DEVCB_DEVICE_LINE_MEMBER("serport1", rs232_port_device, write_txd), + DEVCB_DEVICE_LINE_MEMBER("serport1", rs232_port_device, write_dtr), + DEVCB_DEVICE_LINE_MEMBER("serport1", rs232_port_device, write_rts), DEVCB_DEVICE_LINE_MEMBER(DEVICE_SELF_OWNER, isa8_com_device, pc_com_interrupt_2), DEVCB_NULL, DEVCB_NULL }/*, { - DEVCB_DEVICE_LINE_MEMBER("serport2", serial_port_device, tx), - DEVCB_DEVICE_LINE_MEMBER("serport2", rs232_port_device, dtr_w), - DEVCB_DEVICE_LINE_MEMBER("serport2", rs232_port_device, rts_w), + DEVCB_DEVICE_LINE_MEMBER("serport2", rs232_port_device, write_txd), + DEVCB_DEVICE_LINE_MEMBER("serport2", rs232_port_device, write_dtr), + DEVCB_DEVICE_LINE_MEMBER("serport2", rs232_port_device, write_rts), DEVCB_DEVICE_LINE_MEMBER(DEVICE_SELF_OWNER, isa8_com_device, pc_com_interrupt_1), DEVCB_NULL, DEVCB_NULL }, { - DEVCB_DEVICE_LINE_MEMBER("serport3", serial_port_device, tx), - DEVCB_DEVICE_LINE_MEMBER("serport3", rs232_port_device, dtr_w), - DEVCB_DEVICE_LINE_MEMBER("serport3", rs232_port_device, rts_w), + DEVCB_DEVICE_LINE_MEMBER("serport3", rs232_port_device, write_txd), + DEVCB_DEVICE_LINE_MEMBER("serport3", rs232_port_device, write_dtr), + DEVCB_DEVICE_LINE_MEMBER("serport3", rs232_port_device, write_rts), DEVCB_DEVICE_LINE_MEMBER(DEVICE_SELF_OWNER, isa8_com_device, pc_com_interrupt_2), DEVCB_NULL, DEVCB_NULL @@ -61,32 +61,32 @@ static MACHINE_CONFIG_FRAGMENT( com_config ) //MCFG_INS8250_ADD( "uart_3", genpc_com_interface[3], XTAL_1_8432MHz ) MCFG_RS232_PORT_ADD( "serport0", isa_com, "microsoft_mouse" ) - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE("uart_0", ins8250_uart_device, rx_w)) - MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE("uart_0", ins8250_uart_device, dcd_w)) - MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE("uart_0", ins8250_uart_device, dsr_w)) - MCFG_RS232_OUT_RI_HANDLER(DEVWRITELINE("uart_0", ins8250_uart_device, ri_w)) - MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE("uart_0", ins8250_uart_device, cts_w)) + MCFG_RS232_RXD_HANDLER(DEVWRITELINE("uart_0", ins8250_uart_device, rx_w)) + MCFG_RS232_DCD_HANDLER(DEVWRITELINE("uart_0", ins8250_uart_device, dcd_w)) + MCFG_RS232_DSR_HANDLER(DEVWRITELINE("uart_0", ins8250_uart_device, dsr_w)) + MCFG_RS232_RI_HANDLER(DEVWRITELINE("uart_0", ins8250_uart_device, ri_w)) + MCFG_RS232_CTS_HANDLER(DEVWRITELINE("uart_0", ins8250_uart_device, cts_w)) MCFG_RS232_PORT_ADD( "serport1", isa_com, NULL ) - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE("uart_1", ins8250_uart_device, rx_w)) - MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE("uart_1", ins8250_uart_device, dcd_w)) - MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE("uart_1", ins8250_uart_device, dsr_w)) - MCFG_RS232_OUT_RI_HANDLER(DEVWRITELINE("uart_1", ins8250_uart_device, ri_w)) - MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE("uart_1", ins8250_uart_device, cts_w)) + MCFG_RS232_RXD_HANDLER(DEVWRITELINE("uart_1", ins8250_uart_device, rx_w)) + MCFG_RS232_DCD_HANDLER(DEVWRITELINE("uart_1", ins8250_uart_device, dcd_w)) + MCFG_RS232_DSR_HANDLER(DEVWRITELINE("uart_1", ins8250_uart_device, dsr_w)) + MCFG_RS232_RI_HANDLER(DEVWRITELINE("uart_1", ins8250_uart_device, ri_w)) + MCFG_RS232_CTS_HANDLER(DEVWRITELINE("uart_1", ins8250_uart_device, cts_w)) //MCFG_RS232_PORT_ADD( "serport2", isa_com, NULL ) - //MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE("uart_1", ins8250_uart_device, rx_w)) - //MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE("uart_1", ins8250_uart_device, dcd_w)) - //MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE("uart_1", ins8250_uart_device, dsr_w)) - //MCFG_RS232_OUT_RI_HANDLER(DEVWRITELINE("uart_1", ins8250_uart_device, ri_w)) - //MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE("uart_1", ins8250_uart_device, cts_w)) + //MCFG_RS232_RXD_HANDLER(DEVWRITELINE("uart_1", ins8250_uart_device, rx_w)) + //MCFG_RS232_DCD_HANDLER(DEVWRITELINE("uart_1", ins8250_uart_device, dcd_w)) + //MCFG_RS232_DSR_HANDLER(DEVWRITELINE("uart_1", ins8250_uart_device, dsr_w)) + //MCFG_RS232_RI_HANDLER(DEVWRITELINE("uart_1", ins8250_uart_device, ri_w)) + //MCFG_RS232_CTS_HANDLER(DEVWRITELINE("uart_1", ins8250_uart_device, cts_w)) //MCFG_RS232_PORT_ADD( "serport3", isa_com, NULL ) - //MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE("uart_2", ins8250_uart_device, rx_w)) - //MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE("uart_2", ins8250_uart_device, dcd_w)) - //MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE("uart_2", ins8250_uart_device, dsr_w)) - //MCFG_RS232_OUT_RI_HANDLER(DEVWRITELINE("uart_2", ins8250_uart_device, ri_w)) - //MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE("uart_2", ins8250_uart_device, cts_w)) + //MCFG_RS232_RXD_HANDLER(DEVWRITELINE("uart_2", ins8250_uart_device, rx_w)) + //MCFG_RS232_DCD_HANDLER(DEVWRITELINE("uart_2", ins8250_uart_device, dcd_w)) + //MCFG_RS232_DSR_HANDLER(DEVWRITELINE("uart_2", ins8250_uart_device, dsr_w)) + //MCFG_RS232_RI_HANDLER(DEVWRITELINE("uart_2", ins8250_uart_device, ri_w)) + //MCFG_RS232_CTS_HANDLER(DEVWRITELINE("uart_2", ins8250_uart_device, cts_w)) MACHINE_CONFIG_END //************************************************************************** @@ -153,18 +153,18 @@ static MACHINE_CONFIG_FRAGMENT( com_at_config ) // MCFG_NS16450_ADD( "uart_2", genpc_com_interface[2], XTAL_1_8432MHz ) // MCFG_NS16450_ADD( "uart_3", genpc_com_interface[3], XTAL_1_8432MHz ) MCFG_RS232_PORT_ADD( "serport0", isa_com, "microsoft_mouse" ) - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE("uart_0", ins8250_uart_device, rx_w)) - MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE("uart_0", ins8250_uart_device, dcd_w)) - MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE("uart_0", ins8250_uart_device, dsr_w)) - MCFG_RS232_OUT_RI_HANDLER(DEVWRITELINE("uart_0", ins8250_uart_device, ri_w)) - MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE("uart_0", ins8250_uart_device, cts_w)) + MCFG_RS232_RXD_HANDLER(DEVWRITELINE("uart_0", ins8250_uart_device, rx_w)) + MCFG_RS232_DCD_HANDLER(DEVWRITELINE("uart_0", ins8250_uart_device, dcd_w)) + MCFG_RS232_DSR_HANDLER(DEVWRITELINE("uart_0", ins8250_uart_device, dsr_w)) + MCFG_RS232_RI_HANDLER(DEVWRITELINE("uart_0", ins8250_uart_device, ri_w)) + MCFG_RS232_CTS_HANDLER(DEVWRITELINE("uart_0", ins8250_uart_device, cts_w)) MCFG_RS232_PORT_ADD( "serport1", isa_com, NULL ) - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE("uart_1", ins8250_uart_device, rx_w)) - MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE("uart_1", ins8250_uart_device, dcd_w)) - MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE("uart_1", ins8250_uart_device, dsr_w)) - MCFG_RS232_OUT_RI_HANDLER(DEVWRITELINE("uart_1", ins8250_uart_device, ri_w)) - MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE("uart_1", ins8250_uart_device, cts_w)) + MCFG_RS232_RXD_HANDLER(DEVWRITELINE("uart_1", ins8250_uart_device, rx_w)) + MCFG_RS232_DCD_HANDLER(DEVWRITELINE("uart_1", ins8250_uart_device, dcd_w)) + MCFG_RS232_DSR_HANDLER(DEVWRITELINE("uart_1", ins8250_uart_device, dsr_w)) + MCFG_RS232_RI_HANDLER(DEVWRITELINE("uart_1", ins8250_uart_device, ri_w)) + MCFG_RS232_CTS_HANDLER(DEVWRITELINE("uart_1", ins8250_uart_device, cts_w)) // MCFG_RS232_PORT_ADD( "serport2", isa_com, NULL ) // MCFG_RS232_PORT_ADD( "serport3", isa_com, NULL ) diff --git a/src/mess/machine/isa_gus.c b/src/mess/machine/isa_gus.c index 6963f074d54..d3a88999250 100644 --- a/src/mess/machine/isa_gus.c +++ b/src/mess/machine/isa_gus.c @@ -5,7 +5,9 @@ */ -#include "emu.h" +#include "bus/midi/midi.h" +#include "bus/midi/midiinport.h" +#include "bus/midi/midioutport.h" #include "isa_gus.h" #include "sound/speaker.h" #include "machine/6850acia.h" @@ -1204,7 +1206,7 @@ static ACIA6850_INTERFACE(gus_midi_interface) { 31250 * 16, 0, - DEVCB_DEVICE_LINE_MEMBER("mdout", serial_port_device, tx), + DEVCB_DEVICE_LINE_MEMBER("mdout", midi_port_device, write_txd), DEVCB_NULL, DEVCB_DEVICE_LINE_MEMBER(DEVICE_SELF_OWNER,isa16_gus_device,midi_irq) }; @@ -1237,10 +1239,10 @@ static MACHINE_CONFIG_FRAGMENT( gus_config ) MCFG_SOUND_ROUTE(0,"lspeaker",0.50) MCFG_SOUND_ROUTE(1,"rspeaker",0.50) MCFG_ACIA6850_ADD("midi",gus_midi_interface) - MCFG_SERIAL_PORT_ADD("mdin", midiin_slot, "midiin") - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(DEVICE_SELF, isa16_gus_device, midi_rx_w)) + MCFG_MIDI_PORT_ADD("mdin", midiin_slot, "midiin") + MCFG_MIDI_RX_HANDLER(DEVWRITELINE(DEVICE_SELF, isa16_gus_device, midi_rx_w)) - MCFG_SERIAL_PORT_ADD("mdout", midiout_slot, "midiout") + MCFG_MIDI_PORT_ADD("mdout", midiout_slot, "midiout") MACHINE_CONFIG_END static INPUT_PORTS_START( gus_joy ) diff --git a/src/mess/machine/isa_gus.h b/src/mess/machine/isa_gus.h index 106d66ee9da..82ef33012ae 100644 --- a/src/mess/machine/isa_gus.h +++ b/src/mess/machine/isa_gus.h @@ -43,9 +43,6 @@ #include "emu.h" #include "machine/isa.h" #include "machine/6850acia.h" -#include "machine/serial.h" -#include "machine/midiinport.h" -#include "machine/midioutport.h" //************************************************************************** // TYPE DEFINITIONS diff --git a/src/mess/machine/isa_sblaster.c b/src/mess/machine/isa_sblaster.c index 09185546ff6..d890b658dbc 100644 --- a/src/mess/machine/isa_sblaster.c +++ b/src/mess/machine/isa_sblaster.c @@ -9,8 +9,10 @@ ***************************************************************************/ -#include "emu.h" #include "isa_sblaster.h" +#include "bus/midi/midi.h" +#include "bus/midi/midiinport.h" +#include "bus/midi/midioutport.h" #include "sound/speaker.h" #include "sound/3812intf.h" #include "sound/262intf.h" @@ -87,10 +89,10 @@ static MACHINE_CONFIG_FRAGMENT( sblaster1_0_config ) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.00) MCFG_PC_JOY_ADD("pc_joy") - MCFG_SERIAL_PORT_ADD("mdin", midiin_slot, "midiin") - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(DEVICE_SELF, sb_device, midi_rx_w)) + MCFG_MIDI_PORT_ADD("mdin", midiin_slot, "midiin") + MCFG_MIDI_RX_HANDLER(DEVWRITELINE(DEVICE_SELF, sb_device, midi_rx_w)) - MCFG_SERIAL_PORT_ADD("mdout", midiout_slot, "midiout") + MCFG_MIDI_PORT_ADD("mdout", midiout_slot, "midiout") MACHINE_CONFIG_END static MACHINE_CONFIG_FRAGMENT( sblaster1_5_config ) @@ -106,10 +108,10 @@ static MACHINE_CONFIG_FRAGMENT( sblaster1_5_config ) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.00) MCFG_PC_JOY_ADD("pc_joy") - MCFG_SERIAL_PORT_ADD("mdin", midiin_slot, "midiin") - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(DEVICE_SELF, sb_device, midi_rx_w)) + MCFG_MIDI_PORT_ADD("mdin", midiin_slot, "midiin") + MCFG_MIDI_RX_HANDLER(DEVWRITELINE(DEVICE_SELF, sb_device, midi_rx_w)) - MCFG_SERIAL_PORT_ADD("mdout", midiout_slot, "midiout") + MCFG_MIDI_PORT_ADD("mdout", midiout_slot, "midiout") MACHINE_CONFIG_END static MACHINE_CONFIG_FRAGMENT( sblaster_16_config ) @@ -125,10 +127,10 @@ static MACHINE_CONFIG_FRAGMENT( sblaster_16_config ) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.00) MCFG_PC_JOY_ADD("pc_joy") - MCFG_SERIAL_PORT_ADD("mdin", midiin_slot, "midiin") - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(DEVICE_SELF, sb_device, midi_rx_w)) + MCFG_MIDI_PORT_ADD("mdin", midiin_slot, "midiin") + MCFG_MIDI_RX_HANDLER(DEVWRITELINE(DEVICE_SELF, sb_device, midi_rx_w)) - MCFG_SERIAL_PORT_ADD("mdout", midiout_slot, "midiout") + MCFG_MIDI_PORT_ADD("mdout", midiout_slot, "midiout") MACHINE_CONFIG_END static READ8_DEVICE_HANDLER( ym3812_16_r ) @@ -1656,7 +1658,7 @@ void sb_device::tra_complete() // Tx completed sending byte void sb_device::tra_callback() // Tx send bit { int bit = transmit_register_get_data_bit(); - m_mdout->tx(bit); + m_mdout->write_txd(bit); } void sb_device::xmit_char(UINT8 data) diff --git a/src/mess/machine/isa_sblaster.h b/src/mess/machine/isa_sblaster.h index 4fc2016a262..5a85240cdf5 100644 --- a/src/mess/machine/isa_sblaster.h +++ b/src/mess/machine/isa_sblaster.h @@ -3,13 +3,10 @@ #ifndef __ISA_SOUND_BLASTER_H__ #define __ISA_SOUND_BLASTER_H__ -#include "emu.h" +#include "bus/midi/midi.h" #include "machine/isa.h" #include "sound/dac.h" #include "machine/pc_joy.h" -#include "machine/serial.h" -#include "machine/midiinport.h" -#include "machine/midioutport.h" #define SIXTEENBIT 0x01 #define STEREO 0x02 @@ -101,7 +98,7 @@ public: required_device<dac_device> m_dacl; required_device<dac_device> m_dacr; required_device<pc_joy_device> m_joy; - required_device<serial_port_device> m_mdout; + required_device<midi_port_device> m_mdout; void process_fifo(UINT8 cmd); void queue(UINT8 data); diff --git a/src/mess/machine/mpu401.c b/src/mess/machine/mpu401.c index 16361ab329d..d6e900e6683 100644 --- a/src/mess/machine/mpu401.c +++ b/src/mess/machine/mpu401.c @@ -37,6 +37,9 @@ ***************************************************************************/ #include "machine/mpu401.h" +#include "bus/midi/midi.h" +#include "bus/midi/midiinport.h" +#include "bus/midi/midioutport.h" #define M6801_TAG "mpu6801" #define ROM_TAG "mpurom" @@ -78,12 +81,12 @@ MACHINE_CONFIG_FRAGMENT( mpu401 ) MCFG_CPU_ADD(M6801_TAG, M6801, 4000000) /* 4 MHz as per schematics */ MCFG_CPU_PROGRAM_MAP(mpu401_map) MCFG_CPU_IO_MAP(mpu401_io_map) - MCFG_M6801_SER_TX(WRITELINE(mpu401_device, mpu401_midi_tx)) + MCFG_M6801_SER_TX(DEVWRITELINE(MIDIOUT_TAG, midi_port_device, write_txd)) - MCFG_SERIAL_PORT_ADD(MIDIIN_TAG, midiin_slot, "midiin") - MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(DEVICE_SELF, mpu401_device, midi_rx_w)) + MCFG_MIDI_PORT_ADD(MIDIIN_TAG, midiin_slot, "midiin") + MCFG_MIDI_RX_HANDLER(DEVWRITELINE(DEVICE_SELF, mpu401_device, midi_rx_w)) - MCFG_SERIAL_PORT_ADD(MIDIOUT_TAG, midiout_slot, "midiout") + MCFG_MIDI_PORT_ADD(MIDIOUT_TAG, midiout_slot, "midiout") MACHINE_CONFIG_END ROM_START( mpu401 ) @@ -127,7 +130,6 @@ const rom_entry *mpu401_device::device_rom_region() const mpu401_device::mpu401_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) : device_t(mconfig, MPU401, "Roland MPU-401 I/O box", tag, owner, clock, "mpu401", __FILE__), m_ourcpu(*this, M6801_TAG), - m_mdout(*this, MIDIOUT_TAG), write_irq(*this) { } @@ -293,9 +295,3 @@ WRITE_LINE_MEMBER( mpu401_device::midi_rx_w ) m_port2 &= ~P2_MIDI_IN; } } - -// MIDI send -WRITE_LINE_MEMBER(mpu401_device::mpu401_midi_tx) -{ - m_mdout->tx(state); -} diff --git a/src/mess/machine/mpu401.h b/src/mess/machine/mpu401.h index 0e814787339..61c6c3dd140 100644 --- a/src/mess/machine/mpu401.h +++ b/src/mess/machine/mpu401.h @@ -3,11 +3,8 @@ #ifndef __MPU401_H__ #define __MPU401_H__ -#include "emu.h" +#include "bus/midi/midi.h" #include "cpu/m6800/m6800.h" -#include "machine/serial.h" -#include "machine/midiinport.h" -#include "machine/midioutport.h" #define MCFG_MPU401_ADD(_tag, _irqf ) \ MCFG_DEVICE_ADD(_tag, MPU401, 0) \ @@ -30,7 +27,6 @@ public: virtual machine_config_constructor device_mconfig_additions() const; required_device<m6801_cpu_device> m_ourcpu; - required_device<serial_port_device> m_mdout; template<class _write> void set_irqf(_write wr) { @@ -48,7 +44,6 @@ public: DECLARE_READ8_MEMBER(port2_r); DECLARE_WRITE8_MEMBER(port2_w); DECLARE_WRITE_LINE_MEMBER(midi_rx_w); - DECLARE_WRITE_LINE_MEMBER(mpu401_midi_tx); // public API - call for reads/writes at I/O 330/331 on PC, C0n0/C0n1 on Apple II, etc. DECLARE_READ8_MEMBER(mpu_r); diff --git a/src/mess/machine/null_modem.h b/src/mess/machine/null_modem.h deleted file mode 100644 index e624f2518c5..00000000000 --- a/src/mess/machine/null_modem.h +++ /dev/null @@ -1,26 +0,0 @@ -#ifndef NULL_MODEM_H_ -#define NULL_MODEM_H_ - -#include "emu.h" -#include "machine/serial.h" -#include "imagedev/bitbngr.h" - -class null_modem_device : - public device_t, - public device_serial_port_interface -{ -public: - null_modem_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); - virtual machine_config_constructor device_mconfig_additions() const; - DECLARE_WRITE_LINE_MEMBER( read ) { m_rbit = state; m_owner->out_rx(state); } - virtual void tx(UINT8 state) { m_tbit = state; m_bitbanger->output(state); } -protected: - virtual void device_start() { m_owner = dynamic_cast<serial_port_device *>(owner()); } - virtual void device_reset() { m_owner->out_rx(1); m_rbit = 1; } -private: - serial_port_device *m_owner; - required_device<bitbanger_device> m_bitbanger; -}; - -extern const device_type NULL_MODEM; -#endif diff --git a/src/mess/machine/pc.c b/src/mess/machine/pc.c index f3f0f459b04..608ceb06eac 100644 --- a/src/mess/machine/pc.c +++ b/src/mess/machine/pc.c @@ -11,8 +11,8 @@ ***************************************************************************/ -#include "emu.h" #include "includes/pc.h" +#include "bus/rs232/rs232.h" #include "cpu/i86/i86.h" #include "machine/i8255.h" @@ -359,33 +359,33 @@ WRITE_LINE_MEMBER(pc_state::pc_com_interrupt_2) const ins8250_interface ibm5150_com_interface[4]= { { - DEVCB_DEVICE_LINE_MEMBER("serport0", serial_port_device, tx), - DEVCB_DEVICE_LINE_MEMBER("serport0", rs232_port_device, dtr_w), - DEVCB_DEVICE_LINE_MEMBER("serport0", rs232_port_device, rts_w), + DEVCB_DEVICE_LINE_MEMBER("serport0", rs232_port_device, write_txd), + DEVCB_DEVICE_LINE_MEMBER("serport0", rs232_port_device, write_dtr), + DEVCB_DEVICE_LINE_MEMBER("serport0", rs232_port_device, write_rts), DEVCB_DRIVER_LINE_MEMBER(pc_state,pc_com_interrupt_1), DEVCB_NULL, DEVCB_NULL }, { - DEVCB_DEVICE_LINE_MEMBER("serport1", serial_port_device, tx), - DEVCB_DEVICE_LINE_MEMBER("serport1", rs232_port_device, dtr_w), - DEVCB_DEVICE_LINE_MEMBER("serport1", rs232_port_device, rts_w), + DEVCB_DEVICE_LINE_MEMBER("serport1", rs232_port_device, write_txd), + DEVCB_DEVICE_LINE_MEMBER("serport1", rs232_port_device, write_dtr), + DEVCB_DEVICE_LINE_MEMBER("serport1", rs232_port_device, write_rts), DEVCB_DRIVER_LINE_MEMBER(pc_state,pc_com_interrupt_2), DEVCB_NULL, DEVCB_NULL }, { - DEVCB_DEVICE_LINE_MEMBER("serport2", serial_port_device, tx), - DEVCB_DEVICE_LINE_MEMBER("serport2", rs232_port_device, dtr_w), - DEVCB_DEVICE_LINE_MEMBER("serport2", rs232_port_device, rts_w), + DEVCB_DEVICE_LINE_MEMBER("serport2", rs232_port_device, write_txd), + DEVCB_DEVICE_LINE_MEMBER("serport2", rs232_port_device, write_dtr), + DEVCB_DEVICE_LINE_MEMBER("serport2", rs232_port_device, write_rts), DEVCB_DRIVER_LINE_MEMBER(pc_state,pc_com_interrupt_1), DEVCB_NULL, DEVCB_NULL }, { - DEVCB_DEVICE_LINE_MEMBER("serport3", serial_port_device, tx), - DEVCB_DEVICE_LINE_MEMBER("serport3", rs232_port_device, dtr_w), - DEVCB_DEVICE_LINE_MEMBER("serport3", rs232_port_device, rts_w), + DEVCB_DEVICE_LINE_MEMBER("serport3", rs232_port_device, write_txd), + DEVCB_DEVICE_LINE_MEMBER("serport3", rs232_port_device, write_dtr), + DEVCB_DEVICE_LINE_MEMBER("serport3", rs232_port_device, write_rts), DEVCB_DRIVER_LINE_MEMBER(pc_state,pc_com_interrupt_2), DEVCB_NULL, DEVCB_NULL diff --git a/src/mess/machine/qx10kbd.h b/src/mess/machine/qx10kbd.h index 4afc512f950..07e83a397da 100644 --- a/src/mess/machine/qx10kbd.h +++ b/src/mess/machine/qx10kbd.h @@ -2,7 +2,7 @@ #define QX10KBD_H_ #include "emu.h" -#include "machine/keyboard.h" +#include "bus/rs232/keyboard.h" #define MCFG_QX10_KEYBOARD_ADD(_tag, _intrf) \ MCFG_DEVICE_ADD(_tag, QX10_KEYBOARD, 1200) \ diff --git a/src/mess/machine/serial.c b/src/mess/machine/serial.c deleted file mode 100644 index a71cec90a23..00000000000 --- a/src/mess/machine/serial.c +++ /dev/null @@ -1,126 +0,0 @@ -#include "emu.h" -#include "serial.h" - -const device_type SERIAL_PORT = &device_creator<serial_port_device>; - -device_serial_port_interface::device_serial_port_interface(const machine_config &mconfig, device_t &device) - : device_slot_card_interface(mconfig, device) -{ - m_rbit = FALSE; - m_tbit = FALSE; -} - -device_serial_port_interface::~device_serial_port_interface() -{ -} - -serial_port_device::serial_port_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) - : device_t(mconfig, SERIAL_PORT, "Serial Port", tag, owner, clock, "serial_port", __FILE__), - device_slot_interface(mconfig, *this), - m_dev(NULL), - m_out_rx_handler(*this) -{ -} - -serial_port_device::serial_port_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock, const char *shortname, const char *source) - : device_t(mconfig, type, name, tag, owner, clock, shortname, source), - device_slot_interface(mconfig, *this), - m_dev(NULL), - m_out_rx_handler(*this) -{ -} - -serial_port_device::~serial_port_device() -{ -} - -void serial_port_device::device_config_complete() -{ - m_dev = dynamic_cast<device_serial_port_interface *>(get_card_device()); -} - -void serial_port_device::device_start() -{ - m_out_rx_handler.resolve_safe(); -} - -const device_type RS232_PORT = &device_creator<rs232_port_device>; - -device_rs232_port_interface::device_rs232_port_interface(const machine_config &mconfig, device_t &device) - : device_serial_port_interface(mconfig, device) -{ - m_dtr = FALSE; - m_rts = FALSE; - m_dcd = FALSE; - m_dsr = FALSE; - m_ri = FALSE; - m_cts = FALSE; -} - -device_rs232_port_interface::~device_rs232_port_interface() -{ -} - -rs232_port_device::rs232_port_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) - : serial_port_device(mconfig, RS232_PORT, "RS232 Port", tag, owner, clock, "rs232", __FILE__), - m_out_dcd_handler(*this), - m_out_dsr_handler(*this), - m_out_ri_handler(*this), - m_out_cts_handler(*this) -{ -} - -rs232_port_device::~rs232_port_device() -{ -} - -void rs232_port_device::device_config_complete() -{ - serial_port_device::device_config_complete(); - m_dev = dynamic_cast<device_rs232_port_interface *>(get_card_device()); - loopdtr = 0; - looprts = 0; -} - -void rs232_port_device::device_start() -{ - serial_port_device::device_start(); - m_out_dcd_handler.resolve_safe(); - m_out_dsr_handler.resolve_safe(); - m_out_ri_handler.resolve_safe(); - m_out_cts_handler.resolve_safe(); -} - -// XXX:make loopback handshaking optional if needed -WRITE_LINE_MEMBER( rs232_port_device::dtr_w ) -{ - if(m_dev) - return m_dev->dtr_w(state); - - if(serial_port_device::m_dev) - { - loopdtr = state; - out_dcd(state); - out_dsr(state); - } -} - -WRITE_LINE_MEMBER( rs232_port_device::rts_w ) -{ - if(m_dev) - return m_dev->rts_w(state); - - if(serial_port_device::m_dev) - { - looprts = state; - out_cts(state); - } -} - -#include "machine/null_modem.h" -#include "machine/terminal.h" - -SLOT_INTERFACE_START( default_rs232_devices ) - SLOT_INTERFACE("serial_terminal", SERIAL_TERMINAL) - SLOT_INTERFACE("null_modem", NULL_MODEM) -SLOT_INTERFACE_END diff --git a/src/mess/machine/serial.h b/src/mess/machine/serial.h deleted file mode 100644 index 5b028c2ea72..00000000000 --- a/src/mess/machine/serial.h +++ /dev/null @@ -1,138 +0,0 @@ -#ifndef __SERIAL_H__ -#define __SERIAL_H__ - -#include "emu.h" - -#define MCFG_SERIAL_PORT_ADD(_tag, _slot_intf, _def_slot) \ - MCFG_DEVICE_ADD(_tag, SERIAL_PORT, 0) \ - MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, false) - -#define MCFG_RS232_PORT_ADD(_tag, _slot_intf, _def_slot) \ - MCFG_DEVICE_ADD(_tag, RS232_PORT, 0) \ - MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, false) - -#define MCFG_SERIAL_OUT_RX_HANDLER(_devcb) \ - devcb = &serial_port_device::set_out_rx_handler(*device, DEVCB2_##_devcb); - -class device_serial_port_interface : public device_slot_card_interface -{ -public: - device_serial_port_interface(const machine_config &mconfig, device_t &device); - virtual ~device_serial_port_interface(); - - virtual void tx(UINT8 state) { m_tbit = state; } - virtual UINT8 rx() { return m_rbit; } -protected: - UINT8 m_rbit; - UINT8 m_tbit; -}; - -class serial_port_device : public device_t, - public device_slot_interface -{ -public: - serial_port_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); - serial_port_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock, const char *shortname, const char *source); - virtual ~serial_port_device(); - - // static configuration helpers - template<class _Object> static devcb2_base &set_out_rx_handler(device_t &device, _Object object) { return downcast<serial_port_device &>(device).m_out_rx_handler.set_callback(object); } - - DECLARE_WRITE_LINE_MEMBER( tx ) { if(m_dev) m_dev->tx(state); } - DECLARE_READ_LINE_MEMBER( rx ) { return (m_dev) ? m_dev->rx() : 1; } - - void out_rx(UINT8 param) { m_out_rx_handler(param); } - -protected: - virtual void device_start(); - virtual void device_config_complete(); - device_serial_port_interface *m_dev; - -private: - devcb2_write_line m_out_rx_handler; -}; - -extern const device_type SERIAL_PORT; - - -class device_rs232_port_interface : public device_serial_port_interface -{ -public: - device_rs232_port_interface(const machine_config &mconfig, device_t &device); - virtual ~device_rs232_port_interface(); - - virtual void dtr_w(UINT8 state) { m_dtr = state; } - virtual void rts_w(UINT8 state) { m_rts = state; } - - virtual UINT8 dcd_r() { return m_dcd; } - virtual UINT8 dsr_r() { return m_dsr; } - virtual UINT8 ri_r() { return m_ri; } - virtual UINT8 cts_r() { return m_cts; } - -protected: - UINT8 m_dtr; - UINT8 m_rts; - UINT8 m_dcd; - UINT8 m_dsr; - UINT8 m_ri; - UINT8 m_cts; -}; - - -#define MCFG_RS232_OUT_DCD_HANDLER(_devcb) \ - devcb = &rs232_port_device::set_out_dcd_handler(*device, DEVCB2_##_devcb); - -#define MCFG_RS232_OUT_DSR_HANDLER(_devcb) \ - devcb = &rs232_port_device::set_out_dsr_handler(*device, DEVCB2_##_devcb); - -#define MCFG_RS232_OUT_RI_HANDLER(_devcb) \ - devcb = &rs232_port_device::set_out_ri_handler(*device, DEVCB2_##_devcb); - -#define MCFG_RS232_OUT_CTS_HANDLER(_devcb) \ - devcb = &rs232_port_device::set_out_cts_handler(*device, DEVCB2_##_devcb); - - -class rs232_port_device : public serial_port_device -{ -public: - rs232_port_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); - virtual ~rs232_port_device(); - - // static configuration helpers - template<class _Object> static devcb2_base &set_out_dcd_handler(device_t &device, _Object object) { return downcast<rs232_port_device &>(device).m_out_dcd_handler.set_callback(object); } - template<class _Object> static devcb2_base &set_out_dsr_handler(device_t &device, _Object object) { return downcast<rs232_port_device &>(device).m_out_dsr_handler.set_callback(object); } - template<class _Object> static devcb2_base &set_out_ri_handler(device_t &device, _Object object) { return downcast<rs232_port_device &>(device).m_out_ri_handler.set_callback(object); } - template<class _Object> static devcb2_base &set_out_cts_handler(device_t &device, _Object object) { return downcast<rs232_port_device &>(device).m_out_cts_handler.set_callback(object); } - - DECLARE_WRITE_LINE_MEMBER( dtr_w ); - DECLARE_WRITE_LINE_MEMBER( rts_w ); - - DECLARE_READ_LINE_MEMBER( dcd_r ) { return (m_dev) ? m_dev->dcd_r() : loopdtr; } - DECLARE_READ_LINE_MEMBER( dsr_r ) { return (m_dev) ? m_dev->dsr_r() : loopdtr; } - DECLARE_READ_LINE_MEMBER( ri_r ) { return (m_dev) ? m_dev->ri_r() : 0; } - DECLARE_READ_LINE_MEMBER( cts_r ) { return (m_dev) ? m_dev->cts_r() : looprts; } - - void out_dcd(UINT8 param) { m_out_dcd_handler(param); } - void out_dsr(UINT8 param) { m_out_dsr_handler(param); } - void out_ri(UINT8 param) { m_out_ri_handler(param); } - void out_cts(UINT8 param) { m_out_cts_handler(param); } - -protected: - virtual void device_start(); - virtual void device_config_complete(); - -private: - device_rs232_port_interface *m_dev; - devcb2_write_line m_out_dcd_handler; - devcb2_write_line m_out_dsr_handler; - devcb2_write_line m_out_ri_handler; - devcb2_write_line m_out_cts_handler; - UINT8 loopdtr; - UINT8 looprts; -}; - -extern const device_type RS232_PORT; - -SLOT_INTERFACE_EXTERN( default_rs232_devices ); - -#endif diff --git a/src/mess/machine/teleprinter.c b/src/mess/machine/teleprinter.c index f35a1c57357..c1853d7b60d 100644 --- a/src/mess/machine/teleprinter.c +++ b/src/mess/machine/teleprinter.c @@ -1,5 +1,7 @@ #include "machine/teleprinter.h" +#define KEYBOARD_TAG "keyboard" + static const UINT8 teleprinter_font[128*8] = { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, diff --git a/src/mess/machine/x68k_kbd.h b/src/mess/machine/x68k_kbd.h index a44752cf3fa..81917fba18b 100644 --- a/src/mess/machine/x68k_kbd.h +++ b/src/mess/machine/x68k_kbd.h @@ -2,7 +2,7 @@ #define X68K_KBD_H_ #include "emu.h" -#include "machine/keyboard.h" +#include "bus/rs232/keyboard.h" #define MCFG_X68K_KEYBOARD_ADD(_tag, _intrf) \ MCFG_DEVICE_ADD(_tag, X68K_KEYBOARD, 1200) \ diff --git a/src/mess/mess.mak b/src/mess/mess.mak index 6b6e48768e0..4892dd362fe 100644 --- a/src/mess/mess.mak +++ b/src/mess/mess.mak @@ -485,6 +485,7 @@ MACHINES += Z8536 # specify available bus cores #------------------------------------------------- +BUSES += A2BUS BUSES += ABCBUS BUSES += ADAM BUSES += ADAMNET @@ -492,29 +493,30 @@ BUSES += BW2 BUSES += C64 BUSES += CBM2 BUSES += CBMIEC +BUSES += CENTRONICS BUSES += COMX35 BUSES += ECBBUS BUSES += ECONET BUSES += EP64 BUSES += IEEE488 BUSES += IMI7000 +BUSES += IQ151 BUSES += ISBX +BUSES += KC +BUSES += MIDI +BUSES += NUBUS BUSES += PC_KBD BUSES += PET BUSES += PLUS4 +BUSES += RS232 BUSES += S100 +BUSES += TVC +BUSES += VCS BUSES += VIC10 BUSES += VIC20 BUSES += VIDBRAIN -BUSES += VCS BUSES += VIP BUSES += WANGPC -BUSES += A2BUS -BUSES += NUBUS -BUSES += CENTRONICS -BUSES += IQ151 -BUSES += KC -BUSES += TVC BUSES += Z88 #------------------------------------------------- @@ -801,12 +803,9 @@ $(MESSOBJ)/shared.a: \ $(MESS_MACHINE)/hd63450.o \ $(MESS_MACHINE)/i8271.o \ $(MESS_MACHINE)/kb3600.o \ - $(MESS_MACHINE)/keyboard.o \ $(MESS_MACHINE)/kr2376.o \ $(MESS_MACHINE)/mb8795.o \ $(MESS_MACHINE)/microdrv.o \ - $(MESS_MACHINE)/midiinport.o \ - $(MESS_MACHINE)/midioutport.o \ $(MESS_MACHINE)/mpc105.o \ $(MESS_MACHINE)/mpu401.o \ $(MESS_MACHINE)/msm6222b.o \ @@ -814,18 +813,15 @@ $(MESSOBJ)/shared.a: \ $(MESS_MACHINE)/ncr5390.o \ $(MESS_MACHINE)/ne1000.o \ $(MESS_MACHINE)/ne2000.o \ - $(MESS_MACHINE)/null_modem.o\ $(MESS_MACHINE)/pc_lpt.o \ $(MESS_MACHINE)/s1410.o \ $(MESS_MACHINE)/sa1403d.o \ $(MESS_MACHINE)/sed1200.o \ - $(MESS_MACHINE)/serial.o \ $(MESS_MACHINE)/smartmed.o \ $(MESS_MACHINE)/strata.o \ $(MESS_MACHINE)/smc92x4.o \ $(MESS_MACHINE)/sonydriv.o \ $(MESS_MACHINE)/teleprinter.o \ - $(MESS_MACHINE)/terminal.o \ $(MESS_MACHINE)/z80bin.o \ $(MESSOBJ)/isa.a: \ @@ -1680,7 +1676,6 @@ $(MESSOBJ)/pcshare.a: \ $(MESS_MACHINE)/pc_fdc.o \ $(MESS_MACHINE)/pc_joy.o \ $(MESS_MACHINE)/pc_joy_sw.o \ - $(MESS_MACHINE)/ser_mouse.o \ $(MESS_VIDEO)/crtc_ega.o \ $(MESS_MACHINE)/i82371ab.o \ $(MESS_MACHINE)/i82371sb.o \ |