summaryrefslogtreecommitdiffstatshomepage
path: root/src
diff options
context:
space:
mode:
author smf- <smf-@users.noreply.github.com>2014-02-15 01:29:27 +0000
committer smf- <smf-@users.noreply.github.com>2014-02-15 01:29:27 +0000
commitb37d92de7246ff7da31a235b996e89db6f8c8d22 (patch)
tree616a8439278f4ff3331b677c9b841ed71657290a /src
parent88bc8a4673a710bdcdd2640f39b3b33bc2b76ab0 (diff)
created src\emu\bus\rs232 & src\emu\bus\midi directories and separated rs232 and midi devices, changed h89 to use an rs232 port to communicate with the serial terminal to instead of connecting it directly. [smf]
Diffstat (limited to 'src')
-rw-r--r--src/emu/bus/a2bus/a2midi.c13
-rw-r--r--src/emu/bus/a2bus/a2midi.h4
-rw-r--r--src/emu/bus/a2bus/a2ssc.c16
-rw-r--r--src/emu/bus/a2bus/a2ssc.h1
-rw-r--r--src/emu/bus/bus.mak24
-rw-r--r--src/emu/bus/c64/midi_maplin.c11
-rw-r--r--src/emu/bus/c64/midi_maplin.h4
-rw-r--r--src/emu/bus/c64/midi_namesoft.c11
-rw-r--r--src/emu/bus/c64/midi_namesoft.h4
-rw-r--r--src/emu/bus/c64/midi_passport.c11
-rw-r--r--src/emu/bus/c64/midi_passport.h4
-rw-r--r--src/emu/bus/c64/midi_sci.c11
-rw-r--r--src/emu/bus/c64/midi_sci.h4
-rw-r--r--src/emu/bus/c64/midi_siel.c11
-rw-r--r--src/emu/bus/c64/midi_siel.h4
-rw-r--r--src/emu/bus/c64/swiftlink.c11
-rw-r--r--src/emu/bus/c64/swiftlink.h2
-rw-r--r--src/emu/bus/c64/turbo232.c10
-rw-r--r--src/emu/bus/c64/turbo232.h5
-rw-r--r--src/emu/bus/ieee488/hardbox.c5
-rw-r--r--src/emu/bus/ieee488/hardbox.h6
-rw-r--r--src/emu/bus/ieee488/shark.c3
-rw-r--r--src/emu/bus/ieee488/shark.h4
-rw-r--r--src/emu/bus/ieee488/softbox.c19
-rw-r--r--src/emu/bus/ieee488/softbox.h8
-rw-r--r--src/emu/bus/midi/midi.c40
-rw-r--r--src/emu/bus/midi/midi.h62
-rw-r--r--src/emu/bus/midi/midiinport.c (renamed from src/mess/machine/midiinport.c)6
-rw-r--r--src/emu/bus/midi/midiinport.h (renamed from src/mess/machine/midiinport.h)22
-rw-r--r--src/emu/bus/midi/midioutport.c (renamed from src/mess/machine/midioutport.c)6
-rw-r--r--src/emu/bus/midi/midioutport.h (renamed from src/mess/machine/midioutport.h)14
-rw-r--r--src/emu/bus/pet/superpet.c12
-rw-r--r--src/emu/bus/pet/superpet.h3
-rw-r--r--src/emu/bus/rs232/keyboard.c184
-rw-r--r--src/emu/bus/rs232/keyboard.h64
-rw-r--r--src/emu/bus/rs232/null_modem.c (renamed from src/mess/machine/null_modem.c)6
-rw-r--r--src/emu/bus/rs232/null_modem.h27
-rw-r--r--src/emu/bus/rs232/rs232.c99
-rw-r--r--src/emu/bus/rs232/rs232.h100
-rw-r--r--src/emu/bus/rs232/ser_mouse.c (renamed from src/mess/machine/ser_mouse.c)43
-rw-r--r--src/emu/bus/rs232/ser_mouse.h (renamed from src/mess/machine/ser_mouse.h)23
-rw-r--r--src/emu/bus/rs232/terminal.c157
-rw-r--r--src/emu/bus/rs232/terminal.h45
-rw-r--r--src/emu/bus/s100/wunderbus.c49
-rw-r--r--src/emu/bus/s100/wunderbus.h2
-rw-r--r--src/emu/bus/vic20/vic1011.c14
-rw-r--r--src/emu/bus/vic20/vic1011.h3
-rw-r--r--src/emu/emu.mak12
-rw-r--r--src/emu/machine/keyboard.c (renamed from src/mess/machine/keyboard.c)199
-rw-r--r--src/emu/machine/keyboard.h (renamed from src/mess/machine/keyboard.h)48
-rw-r--r--src/emu/machine/terminal.c (renamed from src/mess/machine/terminal.c)188
-rw-r--r--src/emu/machine/terminal.h (renamed from src/mess/machine/terminal.h)60
-rw-r--r--src/mess/drivers/68ksbc.c14
-rw-r--r--src/mess/drivers/abc1600.c8
-rw-r--r--src/mess/drivers/abc80.c8
-rw-r--r--src/mess/drivers/abc80x.c72
-rw-r--r--src/mess/drivers/altair.c13
-rw-r--r--src/mess/drivers/altos5.c17
-rw-r--r--src/mess/drivers/ampro.c11
-rw-r--r--src/mess/drivers/amstr_pc.c82
-rw-r--r--src/mess/drivers/apollo.c2
-rw-r--r--src/mess/drivers/apricot.c19
-rw-r--r--src/mess/drivers/atarist.c61
-rw-r--r--src/mess/drivers/avigo.c18
-rw-r--r--src/mess/drivers/basic52.c7
-rw-r--r--src/mess/drivers/bbc.c13
-rw-r--r--src/mess/drivers/besta.c6
-rw-r--r--src/mess/drivers/bigbord2.c24
-rw-r--r--src/mess/drivers/binbug.c16
-rw-r--r--src/mess/drivers/bullet.c21
-rw-r--r--src/mess/drivers/bw12.c25
-rw-r--r--src/mess/drivers/bw2.c11
-rw-r--r--src/mess/drivers/c900.c10
-rw-r--r--src/mess/drivers/cbm2.c31
-rw-r--r--src/mess/drivers/ccs2810.c14
-rw-r--r--src/mess/drivers/ccs300.c10
-rw-r--r--src/mess/drivers/cd2650.c15
-rw-r--r--src/mess/drivers/chaos.c9
-rw-r--r--src/mess/drivers/clcd.c17
-rw-r--r--src/mess/drivers/cm1800.c8
-rw-r--r--src/mess/drivers/codata.c12
-rw-r--r--src/mess/drivers/compis.c25
-rw-r--r--src/mess/drivers/compucolor.c22
-rw-r--r--src/mess/drivers/czk80.c16
-rw-r--r--src/mess/drivers/d6809.c8
-rw-r--r--src/mess/drivers/dectalk.c11
-rw-r--r--src/mess/drivers/digel804.c19
-rw-r--r--src/mess/drivers/dms86.c8
-rw-r--r--src/mess/drivers/dsb46.c10
-rw-r--r--src/mess/drivers/dual68.c10
-rw-r--r--src/mess/drivers/ec65.c5
-rw-r--r--src/mess/drivers/ep64.c8
-rw-r--r--src/mess/drivers/esq1.c18
-rw-r--r--src/mess/drivers/esq5505.c23
-rw-r--r--src/mess/drivers/esqkt.c17
-rw-r--r--src/mess/drivers/evmbug.c11
-rw-r--r--src/mess/drivers/exp85.c4
-rw-r--r--src/mess/drivers/ft68m.c13
-rw-r--r--src/mess/drivers/h19.c14
-rw-r--r--src/mess/drivers/h89.c27
-rw-r--r--src/mess/drivers/harriet.c9
-rw-r--r--src/mess/drivers/horizon.c23
-rw-r--r--src/mess/drivers/hpz80unk.c9
-rw-r--r--src/mess/drivers/ht68k.c32
-rw-r--r--src/mess/drivers/hx20.c4
-rw-r--r--src/mess/drivers/ie15.c11
-rw-r--r--src/mess/drivers/imds.c9
-rw-r--r--src/mess/drivers/imsai.c14
-rw-r--r--src/mess/drivers/indiana.c5
-rw-r--r--src/mess/drivers/ipc.c9
-rw-r--r--src/mess/drivers/ipds.c8
-rw-r--r--src/mess/drivers/isbc.c39
-rw-r--r--src/mess/drivers/jade.c12
-rw-r--r--src/mess/drivers/jupiter.c2
-rw-r--r--src/mess/drivers/k8915.c8
-rw-r--r--src/mess/drivers/kyocera.c18
-rw-r--r--src/mess/drivers/lft.c10
-rw-r--r--src/mess/drivers/llc.c2
-rw-r--r--src/mess/drivers/m20.c6
-rw-r--r--src/mess/drivers/mcb216.c10
-rw-r--r--src/mess/drivers/mccpm.c10
-rw-r--r--src/mess/drivers/mice.c8
-rw-r--r--src/mess/drivers/microdec.c10
-rw-r--r--src/mess/drivers/mikromik.c10
-rw-r--r--src/mess/drivers/mits680b.c8
-rw-r--r--src/mess/drivers/modellot.c10
-rw-r--r--src/mess/drivers/ms9540.c14
-rw-r--r--src/mess/drivers/msbc1.c2
-rw-r--r--src/mess/drivers/mx2178.c17
-rw-r--r--src/mess/drivers/ob68k1a.c20
-rw-r--r--src/mess/drivers/okean240.c16
-rw-r--r--src/mess/drivers/onyx.c8
-rw-r--r--src/mess/drivers/p8k.c7
-rw-r--r--src/mess/drivers/pc.c235
-rw-r--r--src/mess/drivers/pc1512.c27
-rw-r--r--src/mess/drivers/pc8401a.c12
-rw-r--r--src/mess/drivers/pdp11.c9
-rw-r--r--src/mess/drivers/pes.c1
-rw-r--r--src/mess/drivers/phunsy.c14
-rw-r--r--src/mess/drivers/pimps.c7
-rw-r--r--src/mess/drivers/pipbug.c6
-rw-r--r--src/mess/drivers/pm68k.c13
-rw-r--r--src/mess/drivers/poly.c15
-rw-r--r--src/mess/drivers/portfoli.c17
-rw-r--r--src/mess/drivers/prof80.c8
-rw-r--r--src/mess/drivers/ptcsol.c33
-rw-r--r--src/mess/drivers/pulsar.c15
-rw-r--r--src/mess/drivers/px4.c17
-rw-r--r--src/mess/drivers/ql.c8
-rw-r--r--src/mess/drivers/qtsbc.c10
-rw-r--r--src/mess/drivers/qx10.c45
-rw-r--r--src/mess/drivers/ravens.c5
-rw-r--r--src/mess/drivers/rm380z.c1
-rw-r--r--src/mess/drivers/rvoice.c2
-rw-r--r--src/mess/drivers/sacstate.c8
-rw-r--r--src/mess/drivers/sage2.c21
-rw-r--r--src/mess/drivers/sapi1.c23
-rw-r--r--src/mess/drivers/sbc6510.c9
-rw-r--r--src/mess/drivers/sdk86.c11
-rw-r--r--src/mess/drivers/seattle.c10
-rw-r--r--src/mess/drivers/sg1000.c11
-rw-r--r--src/mess/drivers/sgi_ip2.c5
-rw-r--r--src/mess/drivers/softbox.c13
-rw-r--r--src/mess/drivers/sun1.c10
-rw-r--r--src/mess/drivers/super6.c17
-rw-r--r--src/mess/drivers/superslave.c48
-rw-r--r--src/mess/drivers/swtpc.c8
-rw-r--r--src/mess/drivers/systec.c8
-rw-r--r--src/mess/drivers/tandy2k.c11
-rw-r--r--src/mess/drivers/tavernie.c12
-rw-r--r--src/mess/drivers/tiki100.c17
-rw-r--r--src/mess/drivers/tk80bs.c12
-rw-r--r--src/mess/drivers/tricep.c1
-rw-r--r--src/mess/drivers/trs80m2.c1
-rw-r--r--src/mess/drivers/ts802.c18
-rw-r--r--src/mess/drivers/ts816.c10
-rw-r--r--src/mess/drivers/v1050.c11
-rw-r--r--src/mess/drivers/v6809.c21
-rw-r--r--src/mess/drivers/vax11.c9
-rw-r--r--src/mess/drivers/vector4.c8
-rw-r--r--src/mess/drivers/victor9k.c32
-rw-r--r--src/mess/drivers/vixen.c10
-rw-r--r--src/mess/drivers/vk100.c17
-rw-r--r--src/mess/drivers/votrpss.c21
-rw-r--r--src/mess/drivers/votrtnt.c11
-rw-r--r--src/mess/drivers/vt100.c16
-rw-r--r--src/mess/drivers/wangpc.c9
-rw-r--r--src/mess/drivers/wicat.c128
-rw-r--r--src/mess/drivers/x68k.c2
-rw-r--r--src/mess/drivers/xerox820.c19
-rw-r--r--src/mess/drivers/xor100.c21
-rw-r--r--src/mess/drivers/z9001.c17
-rw-r--r--src/mess/drivers/zexall.c12
-rw-r--r--src/mess/drivers/zorba.c33
-rw-r--r--src/mess/drivers/zrt80.c16
-rw-r--r--src/mess/drivers/zsbc3.c10
-rw-r--r--src/mess/includes/abc1600.h3
-rw-r--r--src/mess/includes/abc80.h3
-rw-r--r--src/mess/includes/abc80x.h3
-rw-r--r--src/mess/includes/atarist.h5
-rw-r--r--src/mess/includes/avigo.h3
-rw-r--r--src/mess/includes/bbc.h2
-rw-r--r--src/mess/includes/bullet.h1
-rw-r--r--src/mess/includes/bw12.h1
-rw-r--r--src/mess/includes/bw2.h1
-rw-r--r--src/mess/includes/cbm2.h1
-rw-r--r--src/mess/includes/compis.h1
-rw-r--r--src/mess/includes/cxhumax.h2
-rw-r--r--src/mess/includes/dm7000.h6
-rw-r--r--src/mess/includes/ep64.h3
-rw-r--r--src/mess/includes/exp85.h3
-rw-r--r--src/mess/includes/hx20.h3
-rw-r--r--src/mess/includes/kyocera.h3
-rw-r--r--src/mess/includes/mc1502.h1
-rw-r--r--src/mess/includes/mikromik.h3
-rw-r--r--src/mess/includes/ob68k1a.h3
-rw-r--r--src/mess/includes/pc.h2
-rw-r--r--src/mess/includes/pc1512.h1
-rw-r--r--src/mess/includes/pc8401a.h1
-rw-r--r--src/mess/includes/pes.h11
-rw-r--r--src/mess/includes/portfoli.h1
-rw-r--r--src/mess/includes/prof80.h3
-rw-r--r--src/mess/includes/ql.h2
-rw-r--r--src/mess/includes/sage2.h1
-rw-r--r--src/mess/includes/sg1000.h1
-rw-r--r--src/mess/includes/softbox.h1
-rw-r--r--src/mess/includes/super6.h1
-rw-r--r--src/mess/includes/superslave.h3
-rw-r--r--src/mess/includes/tandy2k.h1
-rw-r--r--src/mess/includes/tiki100.h1
-rw-r--r--src/mess/includes/tsispch.h15
-rw-r--r--src/mess/includes/v1050.h1
-rw-r--r--src/mess/includes/victor9k.h3
-rw-r--r--src/mess/includes/vixen.h3
-rw-r--r--src/mess/includes/wangpc.h1
-rw-r--r--src/mess/includes/xerox820.h1
-rw-r--r--src/mess/includes/xor100.h1
-rw-r--r--src/mess/machine/bbc.c4
-rw-r--r--src/mess/machine/compclr_flp.c14
-rw-r--r--src/mess/machine/compclr_flp.h11
-rw-r--r--src/mess/machine/isa_com.c92
-rw-r--r--src/mess/machine/isa_gus.c12
-rw-r--r--src/mess/machine/isa_gus.h3
-rw-r--r--src/mess/machine/isa_sblaster.c24
-rw-r--r--src/mess/machine/isa_sblaster.h7
-rw-r--r--src/mess/machine/mpu401.c18
-rw-r--r--src/mess/machine/mpu401.h7
-rw-r--r--src/mess/machine/null_modem.h26
-rw-r--r--src/mess/machine/pc.c26
-rw-r--r--src/mess/machine/qx10kbd.h2
-rw-r--r--src/mess/machine/serial.c126
-rw-r--r--src/mess/machine/serial.h138
-rw-r--r--src/mess/machine/teleprinter.c2
-rw-r--r--src/mess/machine/x68k_kbd.h2
-rw-r--r--src/mess/mess.mak23
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 \