Previous 199869 Revisions Next

r26664 Friday 20th December, 2013 at 00:26:35 UTC by smf
converted serial & rs232 devices to devcb2 [smf]
[src/emu/bus/a2bus]a2midi.c a2ssc.c
[src/emu/bus/c64]midi_maplin.c midi_namesoft.c midi_passport.c midi_sci.c midi_siel.c swiftlink.c turbo232.c vic1011.c
[src/emu/bus/ieee488]shark.c softbox.c
[src/emu/bus/pet]superpet.c
[src/emu/bus/s100]wunderbus.c
[src/emu/bus/vic20]vic1011.c
[src/mess/drivers]68ksbc.c abc1600.c abc80.c abc80x.c altos5.c ampro.c amstr_pc.c apricot.c atarist.c avigo.c bbc.c bullet.c bw12.c bw2.c cbm2.c compis.c dectalk.c ep64.c esq1.c esq5505.c esqkt.c horizon.c ht68k.c hx20.c isbc.c kyocera.c mikromik.c ob68k1a.c pc.c pc1512.c pc8401a.c portfoli.c prof80.c px4.c ql.c qx10.c sage2.c sdk86.c sg1000.c softbox.c super6.c superslave.c tandy2k.c tavernie.c tiki100.c v1050.c victor9k.c vixen.c vk100.c votrpss.c votrtnt.c vt100.c wangpc.c wicat.c xerox820.c xor100.c
[src/mess/includes]pc.h
[src/mess/machine]isa_com.c isa_gus.c isa_sblaster.c mpu401.c pc.c serial.c serial.h

trunk/src/emu/bus/ieee488/softbox.c
r26663r26664
258258
259259
260260//-------------------------------------------------
261//  rs232_port_interface rs232_intf
262//-------------------------------------------------
263
264static const rs232_port_interface rs232_intf =
265{
266   DEVCB_NULL,
267   DEVCB_NULL,
268   DEVCB_NULL,
269   DEVCB_NULL,
270   DEVCB_NULL
271};
272
273
274//-------------------------------------------------
275261//  MACHINE_CONFIG_FRAGMENT( softbox )
276262//-------------------------------------------------
277263
r26663r26664
290276   MCFG_HARDDISK_ADD("harddisk2")
291277   MCFG_HARDDISK_ADD("harddisk3")
292278   MCFG_HARDDISK_ADD("harddisk4")
293   MCFG_RS232_PORT_ADD(RS232_TAG, rs232_intf, default_rs232_devices, NULL)
279   MCFG_RS232_PORT_ADD(RS232_TAG, default_rs232_devices, NULL)
294280MACHINE_CONFIG_END
295281
296282
trunk/src/emu/bus/ieee488/shark.c
r26663r26664
7474
7575
7676//-------------------------------------------------
77//  rs232_port_interface rs232_intf
78//-------------------------------------------------
79
80static const rs232_port_interface rs232_intf =
81{
82   DEVCB_NULL,
83   DEVCB_NULL,
84   DEVCB_NULL,
85   DEVCB_NULL,
86   DEVCB_NULL
87};
88
89
90//-------------------------------------------------
9177//  MACHINE_CONFIG_FRAGMENT( mshark )
9278//-------------------------------------------------
9379
r26663r26664
9985
10086   // devices
10187   MCFG_HARDDISK_ADD("harddisk1")
102   MCFG_RS232_PORT_ADD(RS232_TAG, rs232_intf, default_rs232_devices, NULL)
88   MCFG_RS232_PORT_ADD(RS232_TAG, default_rs232_devices, NULL)
10389MACHINE_CONFIG_END
10490
10591
trunk/src/emu/bus/a2bus/a2midi.c
r26663r26664
4848   SLOT_INTERFACE("midiin", MIDIIN_PORT)
4949SLOT_INTERFACE_END
5050
51static const serial_port_interface midiin_intf =
52{
53   DEVCB_DEVICE_LINE_MEMBER(DEVICE_SELF_OWNER, a2bus_midi_device, midi_rx_w)
54};
55
5651static SLOT_INTERFACE_START(midiout_slot)
5752   SLOT_INTERFACE("midiout", MIDIOUT_PORT)
5853SLOT_INTERFACE_END
5954
60static const serial_port_interface midiout_intf =
61{
62   DEVCB_NULL  // midi out ports don't transmit inward
63};
64
6555MACHINE_CONFIG_FRAGMENT( midi )
6656   MCFG_PTM6840_ADD(MIDI_PTM_TAG, ptm_interface)
6757   MCFG_ACIA6850_ADD(MIDI_ACIA_TAG, acia_interface)
68   MCFG_SERIAL_PORT_ADD("mdin", midiin_intf, midiin_slot, "midiin")
69   MCFG_SERIAL_PORT_ADD("mdout", midiout_intf, midiout_slot, "midiout")
58
59   MCFG_SERIAL_PORT_ADD("mdin", midiin_slot, "midiin")
60   MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(DEVICE_SELF, a2bus_midi_device, midi_rx_w))
61
62   MCFG_SERIAL_PORT_ADD("mdout", midiout_slot, "midiout")
7063MACHINE_CONFIG_END
7164
7265//-------------------------------------------------
trunk/src/emu/bus/a2bus/a2ssc.c
r26663r26664
3333   SLOT_INTERFACE("null_modem", NULL_MODEM)
3434SLOT_INTERFACE_END
3535
36static const rs232_port_interface rs232_intf =
37{
38   DEVCB_DEVICE_LINE_MEMBER(SSC_ACIA_TAG, mos6551_device, rxd_w),
39   DEVCB_DEVICE_LINE_MEMBER(SSC_ACIA_TAG, mos6551_device, dcd_w),
40   DEVCB_DEVICE_LINE_MEMBER(SSC_ACIA_TAG, mos6551_device, dsr_w),
41   DEVCB_NULL,
42   DEVCB_DEVICE_LINE_MEMBER(SSC_ACIA_TAG, mos6551_device, cts_w)
43};
44
4536MACHINE_CONFIG_FRAGMENT( ssc )
4637   MCFG_MOS6551_ADD(SSC_ACIA_TAG, XTAL_1_8432MHz, WRITELINE(a2bus_ssc_device, acia_irq_w))
4738   MCFG_MOS6551_RXD_TXD_CALLBACKS(NULL, DEVWRITELINE(SSC_RS232_TAG, rs232_port_device, tx))
4839
49   MCFG_RS232_PORT_ADD(SSC_RS232_TAG, rs232_intf, rs232_devices, NULL)
40   MCFG_RS232_PORT_ADD(SSC_RS232_TAG, rs232_devices, NULL)
41   MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(SSC_ACIA_TAG, mos6551_device, rxd_w))
42   MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE(SSC_ACIA_TAG, mos6551_device, dcd_w))
43   MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE(SSC_ACIA_TAG, mos6551_device, dsr_w))
44   MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE(SSC_ACIA_TAG, mos6551_device, cts_w))
5045MACHINE_CONFIG_END
5146
5247ROM_START( ssc )
trunk/src/emu/bus/s100/wunderbus.c
r26663r26664
105105};
106106
107107
108//-------------------------------------------------
109//  rs232_port_interface rs232a_intf
110//-------------------------------------------------
111
112108static DEVICE_INPUT_DEFAULTS_START( terminal )
113109   DEVICE_INPUT_DEFAULTS( "TERM_FRAME", 0x0f, 0x0d ) // 110
114110   DEVICE_INPUT_DEFAULTS( "TERM_FRAME", 0x30, 0x20 ) // 8N2
115111DEVICE_INPUT_DEFAULTS_END
116112
117static const rs232_port_interface rs232a_intf =
118{
119   DEVCB_DEVICE_LINE_MEMBER(INS8250_1_TAG, ins8250_uart_device, rx_w),
120   DEVCB_DEVICE_LINE_MEMBER(INS8250_1_TAG, ins8250_uart_device, dcd_w),
121   DEVCB_DEVICE_LINE_MEMBER(INS8250_1_TAG, ins8250_uart_device, dsr_w),
122   DEVCB_DEVICE_LINE_MEMBER(INS8250_1_TAG, ins8250_uart_device, ri_w),
123   DEVCB_DEVICE_LINE_MEMBER(INS8250_1_TAG, ins8250_uart_device, cts_w)
124};
125113
126
127114//-------------------------------------------------
128//  rs232_port_interface rs232b_intf
129//-------------------------------------------------
130
131static const rs232_port_interface rs232b_intf =
132{
133   DEVCB_DEVICE_LINE_MEMBER(INS8250_2_TAG, ins8250_uart_device, rx_w),
134   DEVCB_DEVICE_LINE_MEMBER(INS8250_2_TAG, ins8250_uart_device, dcd_w),
135   DEVCB_DEVICE_LINE_MEMBER(INS8250_2_TAG, ins8250_uart_device, dsr_w),
136   DEVCB_DEVICE_LINE_MEMBER(INS8250_2_TAG, ins8250_uart_device, ri_w),
137   DEVCB_DEVICE_LINE_MEMBER(INS8250_2_TAG, ins8250_uart_device, cts_w)
138};
139
140
141//-------------------------------------------------
142//  rs232_port_interface rs232c_intf
143//-------------------------------------------------
144
145static const rs232_port_interface rs232c_intf =
146{
147   DEVCB_DEVICE_LINE_MEMBER(INS8250_3_TAG, ins8250_uart_device, rx_w),
148   DEVCB_DEVICE_LINE_MEMBER(INS8250_3_TAG, ins8250_uart_device, dcd_w),
149   DEVCB_DEVICE_LINE_MEMBER(INS8250_3_TAG, ins8250_uart_device, dsr_w),
150   DEVCB_DEVICE_LINE_MEMBER(INS8250_3_TAG, ins8250_uart_device, ri_w),
151   DEVCB_DEVICE_LINE_MEMBER(INS8250_3_TAG, ins8250_uart_device, cts_w)
152};
153
154
155//-------------------------------------------------
156115//  UPD1990A_INTERFACE( rtc_intf )
157116//-------------------------------------------------
158117
r26663r26664
175134   MCFG_INS8250_ADD(INS8250_1_TAG, ace1_intf, XTAL_18_432MHz/10)
176135   MCFG_INS8250_ADD(INS8250_2_TAG, ace2_intf, XTAL_18_432MHz/10)
177136   MCFG_INS8250_ADD(INS8250_3_TAG, ace3_intf, XTAL_18_432MHz/10)
178   MCFG_RS232_PORT_ADD(RS232_A_TAG, rs232a_intf, default_rs232_devices, "serial_terminal")
137
138   MCFG_RS232_PORT_ADD(RS232_A_TAG, default_rs232_devices, "serial_terminal")
139   MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(INS8250_1_TAG, ins8250_uart_device, rx_w))
140   MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE(INS8250_1_TAG, ins8250_uart_device, dcd_w))
141   MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE(INS8250_1_TAG, ins8250_uart_device, dsr_w))
142   MCFG_RS232_OUT_RI_HANDLER(DEVWRITELINE(INS8250_1_TAG, ins8250_uart_device, ri_w))
143   MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE(INS8250_1_TAG, ins8250_uart_device, cts_w))
179144   MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("serial_terminal", terminal)
180   MCFG_RS232_PORT_ADD(RS232_B_TAG, rs232b_intf, default_rs232_devices, NULL)
181   MCFG_RS232_PORT_ADD(RS232_C_TAG, rs232c_intf, default_rs232_devices, NULL)
145
146   MCFG_RS232_PORT_ADD(RS232_B_TAG, default_rs232_devices, NULL)
147   MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(INS8250_2_TAG, ins8250_uart_device, rx_w))
148   MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE(INS8250_2_TAG, ins8250_uart_device, dcd_w))
149   MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE(INS8250_2_TAG, ins8250_uart_device, dsr_w))
150   MCFG_RS232_OUT_RI_HANDLER(DEVWRITELINE(INS8250_2_TAG, ins8250_uart_device, ri_w))
151   MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE(INS8250_2_TAG, ins8250_uart_device, cts_w))
152
153   MCFG_RS232_PORT_ADD(RS232_C_TAG, default_rs232_devices, NULL)
154   MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(INS8250_3_TAG, ins8250_uart_device, rx_w))
155   MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE(INS8250_3_TAG, ins8250_uart_device, dcd_w))
156   MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE(INS8250_3_TAG, ins8250_uart_device, dsr_w))
157   MCFG_RS232_OUT_RI_HANDLER(DEVWRITELINE(INS8250_3_TAG, ins8250_uart_device, ri_w))
158   MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE(INS8250_3_TAG, ins8250_uart_device, cts_w))
159
182160   MCFG_UPD1990A_ADD(UPD1990C_TAG, XTAL_32_768kHz, NULL, DEVWRITELINE(DEVICE_SELF, s100_wunderbus_device, rtc_tp_w))
183161MACHINE_CONFIG_END
184162
trunk/src/emu/bus/vic20/vic1011.c
r26663r26664
2929
3030
3131//-------------------------------------------------
32//  rs232_port_interface rs232_intf
33//-------------------------------------------------
34
35static const rs232_port_interface rs232_intf =
36{
37   DEVCB_DEVICE_LINE_MEMBER(DEVICE_SELF_OWNER, vic1011_device, rxd_w),
38   DEVCB_NULL,
39   DEVCB_NULL,
40   DEVCB_NULL,
41   DEVCB_NULL
42};
43
44
45//-------------------------------------------------
4632//  MACHINE_DRIVER( vic1011 )
4733//-------------------------------------------------
4834
4935static MACHINE_CONFIG_FRAGMENT( vic1011 )
50   MCFG_RS232_PORT_ADD(RS232_TAG, rs232_intf, default_rs232_devices, NULL)
36   MCFG_RS232_PORT_ADD(RS232_TAG, default_rs232_devices, NULL)
37   MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(DEVICE_SELF, vic1011_device, rxd_w))
5138MACHINE_CONFIG_END
5239
5340
trunk/src/emu/bus/pet/superpet.c
r26663r26664
5757
5858
5959//-------------------------------------------------
60//  rs232_port_interface rs232_intf
61//-------------------------------------------------
62
63static const rs232_port_interface rs232_intf =
64{
65   DEVCB_DEVICE_LINE_MEMBER(MOS6551_TAG, mos6551_device, rxd_w),
66   DEVCB_DEVICE_LINE_MEMBER(MOS6551_TAG, mos6551_device, dcd_w),
67   DEVCB_DEVICE_LINE_MEMBER(MOS6551_TAG, mos6551_device, dsr_w),
68   DEVCB_NULL,
69   DEVCB_DEVICE_LINE_MEMBER(MOS6551_TAG, mos6551_device, cts_w)
70};
71
72
73//-------------------------------------------------
7460//  ADDRESS_MAP( superpet_mem )
7561//-------------------------------------------------
7662
r26663r26664
9278   MCFG_MOS6551_ADD(MOS6551_TAG, XTAL_1_8432MHz, WRITELINE(superpet_device, acia_irq_w))
9379   MCFG_MOS6551_RXD_TXD_CALLBACKS(NULL, DEVWRITELINE(RS232_TAG, rs232_port_device, tx))
9480
95   MCFG_RS232_PORT_ADD(RS232_TAG, rs232_intf, default_rs232_devices, NULL)
81   MCFG_RS232_PORT_ADD(RS232_TAG, default_rs232_devices, NULL)
82   MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(MOS6551_TAG, mos6551_device, rxd_w))
83   MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE(MOS6551_TAG, mos6551_device, dcd_w))
84   MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE(MOS6551_TAG, mos6551_device, dsr_w))
85   MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE(MOS6551_TAG, mos6551_device, cts_w))
9686MACHINE_CONFIG_END
9787
9888
trunk/src/emu/bus/c64/midi_maplin.c
r26663r26664
7878   }
7979}
8080
81static const serial_port_interface midiin_intf =
82{
83   DEVCB_DEVICE_LINE_MEMBER(DEVICE_SELF_OWNER, c64_maplin_midi_cartridge_device, midi_rx_w)
84};
8581
86
8782//-------------------------------------------------
8883//  SLOT_INTERFACE( midiout_slot )
8984//-------------------------------------------------
r26663r26664
9287   SLOT_INTERFACE("midiout", MIDIOUT_PORT)
9388SLOT_INTERFACE_END
9489
95static const serial_port_interface midiout_intf =
96{
97   DEVCB_NULL  // midi out ports don't transmit inward
98};
9990
100
10191//-------------------------------------------------
10292//  MACHINE_CONFIG_FRAGMENT( c64_maplin_midi )
10393//-------------------------------------------------
r26663r26664
10595static MACHINE_CONFIG_FRAGMENT( c64_maplin_midi )
10696   MCFG_ACIA6850_ADD(MC6850_TAG, acia_intf)
10797
108   MCFG_SERIAL_PORT_ADD("mdin", midiin_intf, midiin_slot, "midiin")
109   MCFG_SERIAL_PORT_ADD("mdout", midiout_intf, midiout_slot, "midiout")
98   MCFG_SERIAL_PORT_ADD("mdin", midiin_slot, "midiin")
99   MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(DEVICE_SELF, c64_maplin_midi_cartridge_device, midi_rx_w))
100
101   MCFG_SERIAL_PORT_ADD("mdout", midiout_slot, "midiout")
110102MACHINE_CONFIG_END
111103
112104
trunk/src/emu/bus/c64/midi_siel.c
r26663r26664
7878   }
7979}
8080
81static const serial_port_interface midiin_intf =
82{
83   DEVCB_DEVICE_LINE_MEMBER(DEVICE_SELF_OWNER, c64_siel_midi_cartridge_device, midi_rx_w)
84};
8581
86
8782//-------------------------------------------------
8883//  SLOT_INTERFACE( midiout_slot )
8984//-------------------------------------------------
r26663r26664
9287   SLOT_INTERFACE("midiout", MIDIOUT_PORT)
9388SLOT_INTERFACE_END
9489
95static const serial_port_interface midiout_intf =
96{
97   DEVCB_NULL  // midi out ports don't transmit inward
98};
9990
100
10191//-------------------------------------------------
10292//  MACHINE_CONFIG_FRAGMENT( c64_siel_midi )
10393//-------------------------------------------------
r26663r26664
10595static MACHINE_CONFIG_FRAGMENT( c64_siel_midi )
10696   MCFG_ACIA6850_ADD(MC6850_TAG, acia_intf)
10797
108   MCFG_SERIAL_PORT_ADD("mdin", midiin_intf, midiin_slot, "midiin")
109   MCFG_SERIAL_PORT_ADD("mdout", midiout_intf, midiout_slot, "midiout")
98   MCFG_SERIAL_PORT_ADD("mdin", midiin_slot, "midiin")
99   MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(DEVICE_SELF, c64_siel_midi_cartridge_device, midi_rx_w))
100
101   MCFG_SERIAL_PORT_ADD("mdout", midiout_slot, "midiout")
110102MACHINE_CONFIG_END
111103
112104
trunk/src/emu/bus/c64/midi_sci.c
r26663r26664
7878   }
7979}
8080
81static const serial_port_interface midiin_intf =
82{
83   DEVCB_DEVICE_LINE_MEMBER(DEVICE_SELF_OWNER, c64_sequential_midi_cartridge_device, midi_rx_w)
84};
8581
86
8782//-------------------------------------------------
8883//  SLOT_INTERFACE( midiout_slot )
8984//-------------------------------------------------
r26663r26664
9287   SLOT_INTERFACE("midiout", MIDIOUT_PORT)
9388SLOT_INTERFACE_END
9489
95static const serial_port_interface midiout_intf =
96{
97   DEVCB_NULL  // midi out ports don't transmit inward
98};
9990
100
10191//-------------------------------------------------
10292//  MACHINE_CONFIG_FRAGMENT( c64_sequential_midi )
10393//-------------------------------------------------
r26663r26664
10595static MACHINE_CONFIG_FRAGMENT( c64_sequential_midi )
10696   MCFG_ACIA6850_ADD(MC6850_TAG, acia_intf)
10797
108   MCFG_SERIAL_PORT_ADD("mdin", midiin_intf, midiin_slot, "midiin")
109   MCFG_SERIAL_PORT_ADD("mdout", midiout_intf, midiout_slot, "midiout")
98   MCFG_SERIAL_PORT_ADD("mdin", midiin_slot, "midiin")
99   MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(DEVICE_SELF, c64_sequential_midi_cartridge_device, midi_rx_w))
100
101   MCFG_SERIAL_PORT_ADD("mdout", midiout_slot, "midiout")
110102MACHINE_CONFIG_END
111103
112104
trunk/src/emu/bus/c64/midi_passport.c
r26663r26664
101101   }
102102}
103103
104static const serial_port_interface midiin_intf =
105{
106   DEVCB_DEVICE_LINE_MEMBER(DEVICE_SELF_OWNER, c64_passport_midi_cartridge_device, midi_rx_w)
107};
108104
109
110105//-------------------------------------------------
111106//  SLOT_INTERFACE( midiout_slot )
112107//-------------------------------------------------
r26663r26664
115110   SLOT_INTERFACE("midiout", MIDIOUT_PORT)
116111SLOT_INTERFACE_END
117112
118static const serial_port_interface midiout_intf =
119{
120   DEVCB_NULL  // midi out ports don't transmit inward
121};
122113
123
124114//-------------------------------------------------
125115//  MACHINE_CONFIG_FRAGMENT( c64_passport_midi )
126116//-------------------------------------------------
r26663r26664
129119   MCFG_ACIA6850_ADD(MC6850_TAG, acia_intf)
130120   MCFG_PTM6840_ADD(MC6840_TAG, ptm_intf)
131121
132   MCFG_SERIAL_PORT_ADD("mdin", midiin_intf, midiin_slot, "midiin")
133   MCFG_SERIAL_PORT_ADD("mdout", midiout_intf, midiout_slot, "midiout")
122   MCFG_SERIAL_PORT_ADD("mdin", midiin_slot, "midiin")
123   MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(DEVICE_SELF, c64_passport_midi_cartridge_device, midi_rx_w))
124
125   MCFG_SERIAL_PORT_ADD("mdout", midiout_slot, "midiout")
134126MACHINE_CONFIG_END
135127
136128
trunk/src/emu/bus/c64/turbo232.c
r26663r26664
3636
3737
3838//-------------------------------------------------
39//  rs232_port_interface rs232_intf
40//-------------------------------------------------
41
42static const rs232_port_interface rs232_intf =
43{
44   DEVCB_DEVICE_LINE_MEMBER(MOS6551_TAG, mos6551_device, rxd_w),
45   DEVCB_DEVICE_LINE_MEMBER(MOS6551_TAG, mos6551_device, dcd_w),
46   DEVCB_DEVICE_LINE_MEMBER(MOS6551_TAG, mos6551_device, dsr_w),
47   DEVCB_NULL,
48   DEVCB_DEVICE_LINE_MEMBER(MOS6551_TAG, mos6551_device, cts_w)
49};
50
51
52//-------------------------------------------------
5339//  MACHINE_CONFIG_FRAGMENT( c64_turbo232 )
5440//-------------------------------------------------
5541
r26663r26664
5743   MCFG_MOS6551_ADD(MOS6551_TAG, XTAL_3_6864MHz, WRITELINE(c64_turbo232_cartridge_device, acia_irq_w))
5844   MCFG_MOS6551_RXD_TXD_CALLBACKS(NULL, DEVWRITELINE(RS232_TAG, rs232_port_device, tx))
5945
60   MCFG_RS232_PORT_ADD(RS232_TAG, rs232_intf, default_rs232_devices, NULL)
46   MCFG_RS232_PORT_ADD(RS232_TAG, default_rs232_devices, NULL)
47   MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(MOS6551_TAG, mos6551_device, rxd_w))
48   MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE(MOS6551_TAG, mos6551_device, dcd_w))
49   MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE(MOS6551_TAG, mos6551_device, dsr_w))
50   MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE(MOS6551_TAG, mos6551_device, cts_w))
6151MACHINE_CONFIG_END
6252
6353
trunk/src/emu/bus/c64/vic1011.c
r26663r26664
2929
3030
3131//-------------------------------------------------
32//  rs232_port_interface rs232_intf
33//-------------------------------------------------
34
35static const rs232_port_interface rs232_intf =
36{
37   DEVCB_DEVICE_LINE_MEMBER(DEVICE_SELF_OWNER, c64_vic1011_device, rxd_w),
38   DEVCB_NULL,
39   DEVCB_NULL,
40   DEVCB_NULL,
41   DEVCB_NULL
42};
43
44
45//-------------------------------------------------
4632//  MACHINE_DRIVER( vic1011 )
4733//-------------------------------------------------
4834
4935static MACHINE_CONFIG_FRAGMENT( vic1011 )
50   MCFG_RS232_PORT_ADD(RS232_TAG, rs232_intf, default_rs232_devices, NULL)
36   MCFG_RS232_PORT_ADD(RS232_TAG, default_rs232_devices, NULL)
37   MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(DEVICE_SELF, c64_vic1011_device, rxd_w))
5138MACHINE_CONFIG_END
5239
5340
trunk/src/emu/bus/c64/swiftlink.c
r26663r26664
3636
3737
3838//-------------------------------------------------
39//  rs232_port_interface rs232_intf
40//-------------------------------------------------
41
42static const rs232_port_interface rs232_intf =
43{
44   DEVCB_DEVICE_LINE_MEMBER(MOS6551_TAG, mos6551_device, rxd_w),
45   DEVCB_DEVICE_LINE_MEMBER(MOS6551_TAG, mos6551_device, dcd_w),
46   DEVCB_DEVICE_LINE_MEMBER(MOS6551_TAG, mos6551_device, dsr_w),
47   DEVCB_NULL,
48   DEVCB_DEVICE_LINE_MEMBER(MOS6551_TAG, mos6551_device, cts_w)
49};
50
51
52//-------------------------------------------------
5339//  MACHINE_CONFIG_FRAGMENT( c64_swiftlink )
5440//-------------------------------------------------
5541
r26663r26664
5743   MCFG_MOS6551_ADD(MOS6551_TAG, XTAL_3_6864MHz, WRITELINE(c64_swiftlink_cartridge_device, acia_irq_w))
5844   MCFG_MOS6551_RXD_TXD_CALLBACKS(NULL, DEVWRITELINE(RS232_TAG, rs232_port_device, tx))
5945
60   MCFG_RS232_PORT_ADD(RS232_TAG, rs232_intf, default_rs232_devices, NULL)
46   MCFG_RS232_PORT_ADD(RS232_TAG, default_rs232_devices, NULL)
47   MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(MOS6551_TAG, mos6551_device, rxd_w))
48   MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE(MOS6551_TAG, mos6551_device, dcd_w))
49   MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE(MOS6551_TAG, mos6551_device, dsr_w))
50   MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE(MOS6551_TAG, mos6551_device, cts_w))
6151MACHINE_CONFIG_END
6252
6353
trunk/src/emu/bus/c64/midi_namesoft.c
r26663r26664
7878   }
7979}
8080
81static const serial_port_interface midiin_intf =
82{
83   DEVCB_DEVICE_LINE_MEMBER(DEVICE_SELF_OWNER, c64_namesoft_midi_cartridge_device, midi_rx_w)
84};
8581
86
8782//-------------------------------------------------
8883//  SLOT_INTERFACE( midiout_slot )
8984//-------------------------------------------------
r26663r26664
9287   SLOT_INTERFACE("midiout", MIDIOUT_PORT)
9388SLOT_INTERFACE_END
9489
95static const serial_port_interface midiout_intf =
96{
97   DEVCB_NULL  // midi out ports don't transmit inward
98};
9990
100
10191//-------------------------------------------------
10292//  MACHINE_CONFIG_FRAGMENT( c64_passport_midi )
10393//-------------------------------------------------
r26663r26664
10595static MACHINE_CONFIG_FRAGMENT( c64_passport_midi )
10696   MCFG_ACIA6850_ADD(MC6850_TAG, acia_intf)
10797
108   MCFG_SERIAL_PORT_ADD("mdin", midiin_intf, midiin_slot, "midiin")
109   MCFG_SERIAL_PORT_ADD("mdout", midiout_intf, midiout_slot, "midiout")
98   MCFG_SERIAL_PORT_ADD("mdin", midiin_slot, "midiin")
99   MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(DEVICE_SELF, c64_namesoft_midi_cartridge_device, midi_rx_w))
100
101   MCFG_SERIAL_PORT_ADD("mdout", midiout_slot, "midiout")
110102MACHINE_CONFIG_END
111103
112104
trunk/src/mess/includes/pc.h
r26663r26664
203203extern const struct pit8253_interface pcjr_pit8253_config;
204204extern const struct pit8253_interface mc1502_pit8253_config;
205205extern const ins8250_interface ibm5150_com_interface[4];
206extern const rs232_port_interface ibm5150_serport_config[4];
207206extern const i8255_interface ibm5160_ppi8255_interface;
208207extern const i8255_interface pc_ppi8255_interface;
209208extern const i8255_interface pcjr_ppi8255_interface;
trunk/src/mess/drivers/votrtnt.c
r26663r26664
101101   DEVCB_NULL
102102};
103103
104static const rs232_port_interface rs232_intf =
105{
106   DEVCB_NULL,
107   DEVCB_NULL,
108   DEVCB_NULL,
109   DEVCB_NULL,
110   DEVCB_NULL
111};
112
113104static struct votrax_sc01_interface votrtnt_votrax_interface =
114105{
115106   DEVCB_CPU_INPUT_LINE("maincpu", INPUT_LINE_IRQ0)
r26663r26664
129120
130121   /* serial hardware */
131122   MCFG_ACIA6850_ADD("acia", acia_intf)
132   MCFG_RS232_PORT_ADD("rs232", rs232_intf, default_rs232_devices, "serial_terminal")
123   MCFG_RS232_PORT_ADD("rs232", default_rs232_devices, "serial_terminal")
133124
134125   /* sound hardware */
135126   MCFG_SPEAKER_STANDARD_MONO("mono")
trunk/src/mess/drivers/softbox.c
r26663r26664
336336};
337337
338338
339//-------------------------------------------------
340//  rs232_port_interface rs232_intf
341//-------------------------------------------------
342
343339static DEVICE_INPUT_DEFAULTS_START( terminal )
344340   DEVICE_INPUT_DEFAULTS( "TERM_FRAME", 0x0f, 0x06 ) // 9600
345341   DEVICE_INPUT_DEFAULTS( "TERM_FRAME", 0x30, 0x10 ) // 7E1
346342DEVICE_INPUT_DEFAULTS_END
347343
348static const rs232_port_interface rs232_intf =
349{
350   DEVCB_NULL,
351   DEVCB_NULL,
352   DEVCB_NULL,
353   DEVCB_NULL,
354   DEVCB_NULL
355};
356344
357345
358
359346//**************************************************************************
360347//  MACHINE INITIALIZATION
361348//**************************************************************************
r26663r26664
431418   MCFG_HARDDISK_ADD("harddisk2")
432419   MCFG_HARDDISK_ADD("harddisk3")
433420   MCFG_HARDDISK_ADD("harddisk4")
434   MCFG_RS232_PORT_ADD(RS232_TAG, rs232_intf, default_rs232_devices, "serial_terminal")
421   MCFG_RS232_PORT_ADD(RS232_TAG, default_rs232_devices, "serial_terminal")
435422   MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("serial_terminal", terminal)
436423   MCFG_IMI5000H_ADD("corvus1")
437424
trunk/src/mess/drivers/sage2.c
r26663r26664
497497};
498498
499499
500//-------------------------------------------------
501//  rs232_port_interface rs232a_intf
502//-------------------------------------------------
503
504500static DEVICE_INPUT_DEFAULTS_START( terminal )
505501   DEVICE_INPUT_DEFAULTS( "TERM_FRAME", 0x0f, 0x08 ) // 19200
506502   DEVICE_INPUT_DEFAULTS( "TERM_FRAME", 0x30, 0x10 ) // 7E1
507503DEVICE_INPUT_DEFAULTS_END
508504
509static const rs232_port_interface rs232a_intf =
510{
511   DEVCB_NULL,
512   DEVCB_NULL,
513   DEVCB_NULL,
514   DEVCB_NULL,
515   DEVCB_NULL
516};
517505
518506
519//-------------------------------------------------
520//  rs232_port_interface rs232b_intf
521//-------------------------------------------------
522
523static const rs232_port_interface rs232b_intf =
524{
525   DEVCB_NULL,
526   DEVCB_NULL,
527   DEVCB_NULL,
528   DEVCB_NULL,
529   DEVCB_NULL
530};
531
532
533
534507//**************************************************************************
535508//  MACHINE INITIALIZATION
536509//**************************************************************************
r26663r26664
582555   MCFG_FLOPPY_DRIVE_ADD(UPD765_TAG ":0", sage2_floppies, "525qd", floppy_image_device::default_floppy_formats)
583556   MCFG_FLOPPY_DRIVE_ADD(UPD765_TAG ":1", sage2_floppies, "525qd", floppy_image_device::default_floppy_formats)
584557   MCFG_IEEE488_BUS_ADD()
585   MCFG_RS232_PORT_ADD(RS232_A_TAG, rs232a_intf, default_rs232_devices, "serial_terminal")
558   MCFG_RS232_PORT_ADD(RS232_A_TAG, default_rs232_devices, "serial_terminal")
586559   MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("serial_terminal", terminal)
587   MCFG_RS232_PORT_ADD(RS232_B_TAG, rs232b_intf, default_rs232_devices, NULL)
560   MCFG_RS232_PORT_ADD(RS232_B_TAG, default_rs232_devices, NULL)
588561
589562   // internal ram
590563   MCFG_RAM_ADD(RAM_TAG)
trunk/src/mess/drivers/ep64.c
r26663r26664
461461//  DEVICE CONFIGURATION
462462//**************************************************************************
463463
464//-------------------------------------------------
465//  rs232_port_interface rs232_intf
466//-------------------------------------------------
467464
468static const rs232_port_interface rs232_intf =
469{
470   DEVCB_NULL,
471   DEVCB_NULL,
472   DEVCB_NULL,
473   DEVCB_NULL,
474   DEVCB_DEVICE_LINE_MEMBER(DAVE_TAG, dave_device, int2_w)
475};
476
477
478465//-------------------------------------------------
479466//  cassette_interface cass_intf
480467//-------------------------------------------------
r26663r26664
542529   MCFG_EP64_EXPANSION_BUS_SLOT_ADD(EP64_EXPANSION_BUS_TAG, DAVE_TAG, NULL)
543530   MCFG_EP64_EXPANSION_BUS_CALLBACKS(INPUTLINE(Z80_TAG, INPUT_LINE_IRQ0), INPUTLINE(Z80_TAG, INPUT_LINE_NMI), INPUTLINE(Z80_TAG, Z80_INPUT_LINE_WAIT))
544531   MCFG_CENTRONICS_PRINTER_ADD(CENTRONICS_TAG, standard_centronics)
545   MCFG_RS232_PORT_ADD(RS232_TAG, rs232_intf, default_rs232_devices, NULL)
532
533   MCFG_RS232_PORT_ADD(RS232_TAG, default_rs232_devices, NULL)
534   MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE(DAVE_TAG, dave_device, int2_w))
535
546536   MCFG_CASSETTE_ADD(CASSETTE1_TAG, cass_intf)
547537   MCFG_CASSETTE_ADD(CASSETTE2_TAG, cass_intf)
548538
trunk/src/mess/drivers/cbm2.c
r26663r26664
19251925};
19261926
19271927
1928//-------------------------------------------------
1929//  rs232_port_interface rs232_intf
1930//-------------------------------------------------
19311928
1932static const rs232_port_interface rs232_intf =
1933{
1934   DEVCB_DEVICE_LINE_MEMBER(MOS6551A_TAG, mos6551_device, rxd_w),
1935   DEVCB_DEVICE_LINE_MEMBER(MOS6551A_TAG, mos6551_device, dcd_w),
1936   DEVCB_DEVICE_LINE_MEMBER(MOS6551A_TAG, mos6551_device, dsr_w),
1937   DEVCB_NULL,
1938   DEVCB_DEVICE_LINE_MEMBER(MOS6551A_TAG, mos6551_device, cts_w)
1939};
1940
1941
1942
19431929//**************************************************************************
19441930//  MACHINE INITIALIZATION
19451931//**************************************************************************
r26663r26664
21962182   MCFG_VCS_CONTROL_PORT_ADD(CONTROL2_TAG, vcs_control_port_devices, NULL)
21972183   MCFG_CBM2_EXPANSION_SLOT_ADD(CBM2_EXPANSION_SLOT_TAG, VIC6567_CLOCK, cbm2_expansion_cards, NULL)
21982184   MCFG_CBM2_USER_PORT_ADD(CBM2_USER_PORT_TAG, p500_user_intf, cbm2_user_port_cards, NULL)
2199   MCFG_RS232_PORT_ADD(RS232_TAG, rs232_intf, default_rs232_devices, NULL)
2185
2186   MCFG_RS232_PORT_ADD(RS232_TAG, default_rs232_devices, NULL)
2187   MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(MOS6551A_TAG, mos6551_device, rxd_w))
2188   MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE(MOS6551A_TAG, mos6551_device, dcd_w))
2189   MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE(MOS6551A_TAG, mos6551_device, dsr_w))
2190   MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE(MOS6551A_TAG, mos6551_device, cts_w))
2191
22002192   MCFG_QUICKLOAD_ADD("quickload", p500_state, p500, "p00,prg", CBM_QUICKLOAD_DELAY_SECONDS)
22012193
22022194   // internal ram
r26663r26664
22532245   MCFG_VCS_CONTROL_PORT_ADD(CONTROL2_TAG, vcs_control_port_devices, NULL)
22542246   MCFG_CBM2_EXPANSION_SLOT_ADD(CBM2_EXPANSION_SLOT_TAG, VIC6569_CLOCK, cbm2_expansion_cards, NULL)
22552247   MCFG_CBM2_USER_PORT_ADD(CBM2_USER_PORT_TAG, p500_user_intf, cbm2_user_port_cards, NULL)
2256   MCFG_RS232_PORT_ADD(RS232_TAG, rs232_intf, default_rs232_devices, NULL)
2248
2249   MCFG_RS232_PORT_ADD(RS232_TAG, default_rs232_devices, NULL)
2250   MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(MOS6551A_TAG, mos6551_device, rxd_w))
2251   MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE(MOS6551A_TAG, mos6551_device, dcd_w))
2252   MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE(MOS6551A_TAG, mos6551_device, dsr_w))
2253   MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE(MOS6551A_TAG, mos6551_device, cts_w))
2254
22572255   MCFG_QUICKLOAD_ADD("quickload", p500_state, p500, "p00,prg", CBM_QUICKLOAD_DELAY_SECONDS)
22582256
22592257   // internal ram
r26663r26664
23162314   MCFG_VCS_CONTROL_PORT_ADD(CONTROL2_TAG, vcs_control_port_devices, NULL)
23172315   MCFG_CBM2_EXPANSION_SLOT_ADD(CBM2_EXPANSION_SLOT_TAG, XTAL_18MHz/9, cbm2_expansion_cards, NULL)
23182316   MCFG_CBM2_USER_PORT_ADD(CBM2_USER_PORT_TAG, user_intf, cbm2_user_port_cards, NULL)
2319   MCFG_RS232_PORT_ADD(RS232_TAG, rs232_intf, default_rs232_devices, NULL)
2317
2318   MCFG_RS232_PORT_ADD(RS232_TAG, default_rs232_devices, NULL)
2319   MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(MOS6551A_TAG, mos6551_device, rxd_w))
2320   MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE(MOS6551A_TAG, mos6551_device, dcd_w))
2321   MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE(MOS6551A_TAG, mos6551_device, dsr_w))
2322   MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE(MOS6551A_TAG, mos6551_device, cts_w))
2323
23202324   MCFG_QUICKLOAD_ADD("quickload", cbm2_state, cbmb, "p00,prg,t64", CBM_QUICKLOAD_DELAY_SECONDS)
23212325
23222326   // software list
trunk/src/mess/drivers/xor100.c
r26663r26664
499499}
500500
501501
502//-------------------------------------------------
503//  rs232_port_interface rs232a_intf
504//-------------------------------------------------
505
506static const rs232_port_interface rs232a_intf =
507{
508   DEVCB_NULL,
509   DEVCB_NULL,
510   DEVCB_NULL,
511   DEVCB_NULL,
512   DEVCB_NULL
513};
514
515
516//-------------------------------------------------
517//  rs232_port_interface rs232b_intf
518//-------------------------------------------------
519
520502static DEVICE_INPUT_DEFAULTS_START( terminal )
521503   DEVICE_INPUT_DEFAULTS( "TERM_FRAME", 0x0f, 0x06 ) // 9600
522504   DEVICE_INPUT_DEFAULTS( "TERM_FRAME", 0x30, 0x00 ) // 8N1
523505DEVICE_INPUT_DEFAULTS_END
524506
525static const rs232_port_interface rs232b_intf =
526{
527   DEVCB_NULL,
528   DEVCB_NULL,
529   DEVCB_NULL,
530   DEVCB_NULL,
531   DEVCB_NULL
532};
533507
534508static S100_INTERFACE( s100_intf )
535509{
r26663r26664
605579   MCFG_FLOPPY_DRIVE_ADD(WD1795_TAG":2", xor100_floppies, NULL,    floppy_image_device::default_floppy_formats)
606580   MCFG_FLOPPY_DRIVE_ADD(WD1795_TAG":3", xor100_floppies, NULL,    floppy_image_device::default_floppy_formats)
607581   MCFG_CENTRONICS_PRINTER_ADD(CENTRONICS_TAG, xor100_centronics_intf)
608   MCFG_RS232_PORT_ADD(RS232_A_TAG, rs232a_intf, default_rs232_devices, NULL)
609   MCFG_RS232_PORT_ADD(RS232_B_TAG, rs232b_intf, default_rs232_devices, "serial_terminal")
582   MCFG_RS232_PORT_ADD(RS232_A_TAG, default_rs232_devices, NULL)
583   MCFG_RS232_PORT_ADD(RS232_B_TAG, default_rs232_devices, "serial_terminal")
610584   MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("serial_terminal", terminal)
611585
612586   // S-100
trunk/src/mess/drivers/apricot.c
r26663r26664
212212   DEVCB_NULL
213213};
214214
215// note: missing a receive clock callback to support external clock mode
216// (m_data_selector_rts == 1 and m_data_selector_dtr == 0)
217static const rs232_port_interface rs232_intf =
218{
219   DEVCB_NULL,
220   DEVCB_DEVICE_LINE_MEMBER("ic15", z80dart_device, dcda_w),
221   DEVCB_DEVICE_LINE_MEMBER("ic15", z80dart_device, synca_w),
222   DEVCB_NULL,
223   DEVCB_DEVICE_LINE_MEMBER("ic15", z80dart_device, ctsa_w)
224};
225
226215// note: fault output should be connected to syncb input of the sio
227216static const centronics_interface apricot_centronics_intf =
228217{
r26663r26664
416405   MCFG_Z80SIO0_ADD("ic15", XTAL_15MHz / 6, apricot_z80sio_intf)
417406
418407   // rs232 port
419   MCFG_RS232_PORT_ADD("rs232", rs232_intf, default_rs232_devices, NULL)
408   MCFG_RS232_PORT_ADD("rs232", default_rs232_devices, NULL)
409// note: missing a receive clock callback to support external clock mode
410// (m_data_selector_rts == 1 and m_data_selector_dtr == 0)
411   MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE("ic15", z80dart_device, dcda_w))
412   MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE("ic15", z80dart_device, synca_w))
413   MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE("ic15", z80dart_device, ctsa_w))
420414
421415   // centronics printer
422416   MCFG_CENTRONICS_PRINTER_ADD("centronics", apricot_centronics_intf)
trunk/src/mess/drivers/pc.c
r26663r26664
10471047   MCFG_INS8250_ADD( "ins8250_1", ibm5150_com_interface[1], XTAL_1_8432MHz )   /* TODO: Verify model */
10481048   MCFG_INS8250_ADD( "ins8250_2", ibm5150_com_interface[2], XTAL_1_8432MHz )   /* TODO: Verify model */
10491049   MCFG_INS8250_ADD( "ins8250_3", ibm5150_com_interface[3], XTAL_1_8432MHz )   /* TODO: Verify model */
1050   MCFG_RS232_PORT_ADD( "serport0", ibm5150_serport_config[0], ibm5150_com, NULL )
1051   MCFG_RS232_PORT_ADD( "serport1", ibm5150_serport_config[1], ibm5150_com, NULL )
1052   MCFG_RS232_PORT_ADD( "serport2", ibm5150_serport_config[2], ibm5150_com, NULL )
1053   MCFG_RS232_PORT_ADD( "serport3", ibm5150_serport_config[3], ibm5150_com, NULL )
10541050
1051   MCFG_RS232_PORT_ADD( "serport0", ibm5150_com, NULL )
1052   MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, rx_w))
1053   MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, dcd_w))
1054   MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, dsr_w))
1055   MCFG_RS232_OUT_RI_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, ri_w))
1056   MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, cts_w))
1057
1058   MCFG_RS232_PORT_ADD( "serport1", ibm5150_com, NULL )
1059   MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, rx_w))
1060   MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, dcd_w))
1061   MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, dsr_w))
1062   MCFG_RS232_OUT_RI_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, ri_w))
1063   MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, cts_w))
1064
1065   MCFG_RS232_PORT_ADD( "serport2", ibm5150_com, NULL )
1066   MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE("ins8250_2", ins8250_uart_device, rx_w))
1067   MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE("ins8250_2", ins8250_uart_device, dcd_w))
1068   MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE("ins8250_2", ins8250_uart_device, dsr_w))
1069   MCFG_RS232_OUT_RI_HANDLER(DEVWRITELINE("ins8250_2", ins8250_uart_device, ri_w))
1070   MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE("ins8250_2", ins8250_uart_device, cts_w))
1071
1072   MCFG_RS232_PORT_ADD( "serport3", ibm5150_com, NULL )
1073   MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE("ins8250_3", ins8250_uart_device, rx_w))
1074   MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE("ins8250_3", ins8250_uart_device, dcd_w))
1075   MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE("ins8250_3", ins8250_uart_device, dsr_w))
1076   MCFG_RS232_OUT_RI_HANDLER(DEVWRITELINE("ins8250_3", ins8250_uart_device, ri_w))
1077   MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE("ins8250_3", ins8250_uart_device, cts_w))
1078
10551079   /* video hardware */
10561080   MCFG_FRAGMENT_ADD( pcvideo_cga )
10571081   MCFG_GFXDECODE(ibm5150)
r26663r26664
11551179   MCFG_INS8250_ADD( "ins8250_1", ibm5150_com_interface[1], XTAL_1_8432MHz )   /* TODO: Verify model */
11561180   MCFG_INS8250_ADD( "ins8250_2", ibm5150_com_interface[2], XTAL_1_8432MHz )   /* TODO: Verify model */
11571181   MCFG_INS8250_ADD( "ins8250_3", ibm5150_com_interface[3], XTAL_1_8432MHz )   /* TODO: Verify model */
1158   MCFG_RS232_PORT_ADD( "serport0", ibm5150_serport_config[0], ibm5150_com, NULL )
1159   MCFG_RS232_PORT_ADD( "serport1", ibm5150_serport_config[1], ibm5150_com, NULL )
1160   MCFG_RS232_PORT_ADD( "serport2", ibm5150_serport_config[2], ibm5150_com, NULL )
1161   MCFG_RS232_PORT_ADD( "serport3", ibm5150_serport_config[3], ibm5150_com, NULL )
1182
1183   MCFG_RS232_PORT_ADD( "serport0", ibm5150_com, NULL )
1184   MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, rx_w))
1185   MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, dcd_w))
1186   MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, dsr_w))
1187   MCFG_RS232_OUT_RI_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, ri_w))
1188   MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, cts_w))
1189
1190   MCFG_RS232_PORT_ADD( "serport1", ibm5150_com, NULL )
1191   MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, rx_w))
1192   MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, dcd_w))
1193   MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, dsr_w))
1194   MCFG_RS232_OUT_RI_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, ri_w))
1195   MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, cts_w))
1196
1197   MCFG_RS232_PORT_ADD( "serport2", ibm5150_com, NULL )
1198   MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE("ins8250_2", ins8250_uart_device, rx_w))
1199   MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE("ins8250_2", ins8250_uart_device, dcd_w))
1200   MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE("ins8250_2", ins8250_uart_device, dsr_w))
1201   MCFG_RS232_OUT_RI_HANDLER(DEVWRITELINE("ins8250_2", ins8250_uart_device, ri_w))
1202   MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE("ins8250_2", ins8250_uart_device, cts_w))
1203
1204   MCFG_RS232_PORT_ADD( "serport3", ibm5150_com, NULL )
1205   MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE("ins8250_3", ins8250_uart_device, rx_w))
1206   MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE("ins8250_3", ins8250_uart_device, dcd_w))
1207   MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE("ins8250_3", ins8250_uart_device, dsr_w))
1208   MCFG_RS232_OUT_RI_HANDLER(DEVWRITELINE("ins8250_3", ins8250_uart_device, ri_w))
1209   MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE("ins8250_3", ins8250_uart_device, cts_w))
1210
11621211   MCFG_PC_JOY_ADD("pc_joy")
11631212
11641213   /* video hardware */
r26663r26664
12251274
12261275   MCFG_INS8250_ADD( "ins8250_0", ibm5150_com_interface[0], XTAL_1_8432MHz )   /* TODO: Verify model */
12271276   MCFG_INS8250_ADD( "ins8250_1", ibm5150_com_interface[1], XTAL_1_8432MHz )   /* TODO: Verify model */
1228   MCFG_RS232_PORT_ADD( "serport0", ibm5150_serport_config[0], ibm5150_com, NULL )
1229   MCFG_RS232_PORT_ADD( "serport1", ibm5150_serport_config[1], ibm5150_com, NULL )
12301277
1278   MCFG_RS232_PORT_ADD( "serport0", ibm5150_com, NULL )
1279   MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, rx_w))
1280   MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, dcd_w))
1281   MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, dsr_w))
1282   MCFG_RS232_OUT_RI_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, ri_w))
1283   MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, cts_w))
1284
1285   MCFG_RS232_PORT_ADD( "serport1", ibm5150_com, NULL )
1286   MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, rx_w))
1287   MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, dcd_w))
1288   MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, dsr_w))
1289   MCFG_RS232_OUT_RI_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, ri_w))
1290   MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, cts_w))
1291
12311292   /* video hardware */
12321293   MCFG_PCVIDEO_T1000_ADD("pcvideo_t1000")
12331294   MCFG_GFXDECODE(t1000)
r26663r26664
12831344
12841345   MCFG_INS8250_ADD( "ins8250_0", ibm5150_com_interface[0], XTAL_1_8432MHz )   /* TODO: Verify model */
12851346   MCFG_INS8250_ADD( "ins8250_1", ibm5150_com_interface[1], XTAL_1_8432MHz )   /* TODO: Verify model */
1286   MCFG_RS232_PORT_ADD( "serport0", ibm5150_serport_config[0], ibm5150_com, NULL )
1287   MCFG_RS232_PORT_ADD( "serport1", ibm5150_serport_config[1], ibm5150_com, NULL )
12881347
1348   MCFG_RS232_PORT_ADD( "serport0", ibm5150_com, NULL )
1349   MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, rx_w))
1350   MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, dcd_w))
1351   MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, dsr_w))
1352   MCFG_RS232_OUT_RI_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, ri_w))
1353   MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, cts_w))
1354
1355   MCFG_RS232_PORT_ADD( "serport1", ibm5150_com, NULL )
1356   MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, rx_w))
1357   MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, dcd_w))
1358   MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, dsr_w))
1359   MCFG_RS232_OUT_RI_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, ri_w))
1360   MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, cts_w))
1361
12891362   /* video hardware */
12901363   MCFG_PCVIDEO_T1000_ADD("pcvideo_t1000")
12911364   MCFG_GFXDECODE(t1000)
r26663r26664
13421415
13431416   MCFG_INS8250_ADD( "ins8250_0", ibm5150_com_interface[0], XTAL_1_8432MHz )   /* TODO: Verify model */
13441417   MCFG_INS8250_ADD( "ins8250_1", ibm5150_com_interface[1], XTAL_1_8432MHz )   /* TODO: Verify model */
1345   MCFG_RS232_PORT_ADD( "serport0", ibm5150_serport_config[0], ibm5150_com, NULL )
1346   MCFG_RS232_PORT_ADD( "serport1", ibm5150_serport_config[1], ibm5150_com, NULL )
13471418
1419   MCFG_RS232_PORT_ADD( "serport0", ibm5150_com, NULL )
1420   MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, rx_w))
1421   MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, dcd_w))
1422   MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, dsr_w))
1423   MCFG_RS232_OUT_RI_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, ri_w))
1424   MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, cts_w))
1425
1426   MCFG_RS232_PORT_ADD( "serport1", ibm5150_com, NULL )
1427   MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, rx_w))
1428   MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, dcd_w))
1429   MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, dsr_w))
1430   MCFG_RS232_OUT_RI_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, ri_w))
1431   MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, cts_w))
1432
13481433   /* video hardware */
13491434   MCFG_PCVIDEO_T1000_ADD("pcvideo_t1000")
13501435   MCFG_GFXDECODE(t1000)
r26663r26664
14191504
14201505   MCFG_INS8250_ADD( "ins8250_0", ibm5150_com_interface[0], XTAL_1_8432MHz )   /* TODO: Verify model */
14211506   MCFG_INS8250_ADD( "ins8250_1", ibm5150_com_interface[1], XTAL_1_8432MHz )   /* TODO: Verify model */
1422   MCFG_RS232_PORT_ADD( "serport0", ibm5150_serport_config[0], ibm5150_com, NULL )
1423   MCFG_RS232_PORT_ADD( "serport1", ibm5150_serport_config[1], ibm5150_com, NULL )
14241507
1508   MCFG_RS232_PORT_ADD( "serport0", ibm5150_com, NULL )
1509   MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, rx_w))
1510   MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, dcd_w))
1511   MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, dsr_w))
1512   MCFG_RS232_OUT_RI_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, ri_w))
1513   MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, cts_w))
1514
1515   MCFG_RS232_PORT_ADD( "serport1", ibm5150_com, NULL )
1516   MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, rx_w))
1517   MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, dcd_w))
1518   MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, dsr_w))
1519   MCFG_RS232_OUT_RI_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, ri_w))
1520   MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, cts_w))
1521
14251522   /* video hardware */
14261523   MCFG_PCVIDEO_PCJR_ADD("pcvideo_pcjr")
14271524   MCFG_GFXDECODE(ibmpcjr)
r26663r26664
16061703   MCFG_INS8250_ADD( "ins8250_1", ibm5150_com_interface[1], XTAL_1_8432MHz )   /* TODO: Verify model */
16071704   MCFG_INS8250_ADD( "ins8250_2", ibm5150_com_interface[2], XTAL_1_8432MHz )   /* TODO: Verify model */
16081705   MCFG_INS8250_ADD( "ins8250_3", ibm5150_com_interface[3], XTAL_1_8432MHz )   /* TODO: Verify model */
1609   MCFG_RS232_PORT_ADD( "serport0", ibm5150_serport_config[0], ibm5150_com, NULL )
1610   MCFG_RS232_PORT_ADD( "serport1", ibm5150_serport_config[1], ibm5150_com, NULL )
1611   MCFG_RS232_PORT_ADD( "serport2", ibm5150_serport_config[2], ibm5150_com, NULL )
1612   MCFG_RS232_PORT_ADD( "serport3", ibm5150_serport_config[3], ibm5150_com, NULL )
16131706
1707   MCFG_RS232_PORT_ADD( "serport0", ibm5150_com, NULL )
1708   MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, rx_w))
1709   MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, dcd_w))
1710   MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, dsr_w))
1711   MCFG_RS232_OUT_RI_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, ri_w))
1712   MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, cts_w))
1713
1714   MCFG_RS232_PORT_ADD( "serport1", ibm5150_com, NULL )
1715   MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, rx_w))
1716   MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, dcd_w))
1717   MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, dsr_w))
1718   MCFG_RS232_OUT_RI_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, ri_w))
1719   MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, cts_w))
1720
1721   MCFG_RS232_PORT_ADD( "serport2", ibm5150_com, NULL )
1722   MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE("ins8250_2", ins8250_uart_device, rx_w))
1723   MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE("ins8250_2", ins8250_uart_device, dcd_w))
1724   MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE("ins8250_2", ins8250_uart_device, dsr_w))
1725   MCFG_RS232_OUT_RI_HANDLER(DEVWRITELINE("ins8250_2", ins8250_uart_device, ri_w))
1726   MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE("ins8250_2", ins8250_uart_device, cts_w))
1727
1728   MCFG_RS232_PORT_ADD( "serport3", ibm5150_com, NULL )
1729   MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE("ins8250_3", ins8250_uart_device, rx_w))
1730   MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE("ins8250_3", ins8250_uart_device, dcd_w))
1731   MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE("ins8250_3", ins8250_uart_device, dsr_w))
1732   MCFG_RS232_OUT_RI_HANDLER(DEVWRITELINE("ins8250_3", ins8250_uart_device, ri_w))
1733   MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE("ins8250_3", ins8250_uart_device, cts_w))
1734
16141735   /* video hardware */
16151736   MCFG_FRAGMENT_ADD( pcvideo_cga )
16161737   MCFG_GFXDECODE(ibm5150)
r26663r26664
16821803   MCFG_INS8250_ADD( "ins8250_1", ibm5150_com_interface[1], XTAL_1_8432MHz )   /* TODO: Verify model */
16831804   MCFG_INS8250_ADD( "ins8250_2", ibm5150_com_interface[2], XTAL_1_8432MHz )   /* TODO: Verify model */
16841805   MCFG_INS8250_ADD( "ins8250_3", ibm5150_com_interface[3], XTAL_1_8432MHz )   /* TODO: Verify model */
1685   MCFG_RS232_PORT_ADD( "serport0", ibm5150_serport_config[0], ibm5150_com, NULL )
1686   MCFG_RS232_PORT_ADD( "serport1", ibm5150_serport_config[1], ibm5150_com, NULL )
1687   MCFG_RS232_PORT_ADD( "serport2", ibm5150_serport_config[2], ibm5150_com, NULL )
1688   MCFG_RS232_PORT_ADD( "serport3", ibm5150_serport_config[3], ibm5150_com, NULL )
16891806
1807   MCFG_RS232_PORT_ADD( "serport0", ibm5150_com, NULL )
1808   MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, rx_w))
1809   MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, dcd_w))
1810   MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, dsr_w))
1811   MCFG_RS232_OUT_RI_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, ri_w))
1812   MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, cts_w))
1813
1814   MCFG_RS232_PORT_ADD( "serport1", ibm5150_com, NULL )
1815   MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, rx_w))
1816   MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, dcd_w))
1817   MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, dsr_w))
1818   MCFG_RS232_OUT_RI_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, ri_w))
1819   MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, cts_w))
1820
1821   MCFG_RS232_PORT_ADD( "serport2", ibm5150_com, NULL )
1822   MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE("ins8250_2", ins8250_uart_device, rx_w))
1823   MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE("ins8250_2", ins8250_uart_device, dcd_w))
1824   MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE("ins8250_2", ins8250_uart_device, dsr_w))
1825   MCFG_RS232_OUT_RI_HANDLER(DEVWRITELINE("ins8250_2", ins8250_uart_device, ri_w))
1826   MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE("ins8250_2", ins8250_uart_device, cts_w))
1827
1828   MCFG_RS232_PORT_ADD( "serport3", ibm5150_com, NULL )
1829   MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE("ins8250_3", ins8250_uart_device, rx_w))
1830   MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE("ins8250_3", ins8250_uart_device, dcd_w))
1831   MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE("ins8250_3", ins8250_uart_device, dsr_w))
1832   MCFG_RS232_OUT_RI_HANDLER(DEVWRITELINE("ins8250_3", ins8250_uart_device, ri_w))
1833   MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE("ins8250_3", ins8250_uart_device, cts_w))
1834
16901835   /* video hardware */
16911836//  MCFG_FRAGMENT_ADD( pcvideo_ega ) // Put this back after ISA are added to this driver
16921837   MCFG_FRAGMENT_ADD( pcvideo_cga )
r26663r26664
17371882   MCFG_INS8250_ADD( "ins8250_1", ibm5150_com_interface[1], XTAL_1_8432MHz )   /* TODO: Verify model */
17381883   MCFG_INS8250_ADD( "ins8250_2", ibm5150_com_interface[2], XTAL_1_8432MHz )   /* TODO: Verify model */
17391884   MCFG_INS8250_ADD( "ins8250_3", ibm5150_com_interface[3], XTAL_1_8432MHz )   /* TODO: Verify model */
1740   MCFG_RS232_PORT_ADD( "serport0", ibm5150_serport_config[0], ibm5150_com, NULL )
1741   MCFG_RS232_PORT_ADD( "serport1", ibm5150_serport_config[1], ibm5150_com, NULL )
1742   MCFG_RS232_PORT_ADD( "serport2", ibm5150_serport_config[2], ibm5150_com, NULL )
1743   MCFG_RS232_PORT_ADD( "serport3", ibm5150_serport_config[3], ibm5150_com, NULL )
17441885
1886   MCFG_RS232_PORT_ADD( "serport0", ibm5150_com, NULL )
1887   MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, rx_w))
1888   MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, dcd_w))
1889   MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, dsr_w))
1890   MCFG_RS232_OUT_RI_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, ri_w))
1891   MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, cts_w))
1892
1893   MCFG_RS232_PORT_ADD( "serport1", ibm5150_com, NULL )
1894   MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, rx_w))
1895   MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, dcd_w))
1896   MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, dsr_w))
1897   MCFG_RS232_OUT_RI_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, ri_w))
1898   MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, cts_w))
1899
1900   MCFG_RS232_PORT_ADD( "serport2", ibm5150_com, NULL )
1901   MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE("ins8250_2", ins8250_uart_device, rx_w))
1902   MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE("ins8250_2", ins8250_uart_device, dcd_w))
1903   MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE("ins8250_2", ins8250_uart_device, dsr_w))
1904   MCFG_RS232_OUT_RI_HANDLER(DEVWRITELINE("ins8250_2", ins8250_uart_device, ri_w))
1905   MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE("ins8250_2", ins8250_uart_device, cts_w))
1906
1907   MCFG_RS232_PORT_ADD( "serport3", ibm5150_com, NULL )
1908   MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE("ins8250_3", ins8250_uart_device, rx_w))
1909   MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE("ins8250_3", ins8250_uart_device, dcd_w))
1910   MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE("ins8250_3", ins8250_uart_device, dsr_w))
1911   MCFG_RS232_OUT_RI_HANDLER(DEVWRITELINE("ins8250_3", ins8250_uart_device, ri_w))
1912   MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE("ins8250_3", ins8250_uart_device, cts_w))
1913
17451914   /* video hardware */
17461915   MCFG_FRAGMENT_ADD( pcvideo_poisk2 )
17471916   MCFG_GFXDECODE(ibm5150)
r26663r26664
17921961   MCFG_INS8250_ADD( "ins8250_1", ibm5150_com_interface[1], XTAL_1_8432MHz )   /* TODO: Verify model */
17931962   MCFG_INS8250_ADD( "ins8250_2", ibm5150_com_interface[2], XTAL_1_8432MHz )   /* TODO: Verify model */
17941963   MCFG_INS8250_ADD( "ins8250_3", ibm5150_com_interface[3], XTAL_1_8432MHz )   /* TODO: Verify model */
1795   MCFG_RS232_PORT_ADD( "serport0", ibm5150_serport_config[0], ibm5150_com, NULL )
1796   MCFG_RS232_PORT_ADD( "serport1", ibm5150_serport_config[1], ibm5150_com, NULL )
1797   MCFG_RS232_PORT_ADD( "serport2", ibm5150_serport_config[2], ibm5150_com, NULL )
1798   MCFG_RS232_PORT_ADD( "serport3", ibm5150_serport_config[3], ibm5150_com, NULL )
17991964
1965   MCFG_RS232_PORT_ADD( "serport0", ibm5150_com, NULL )
1966   MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, rx_w))
1967   MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, dcd_w))
1968   MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, dsr_w))
1969   MCFG_RS232_OUT_RI_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, ri_w))
1970   MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, cts_w))
1971
1972   MCFG_RS232_PORT_ADD( "serport1", ibm5150_com, NULL )
1973   MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, rx_w))
1974   MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, dcd_w))
1975   MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, dsr_w))
1976   MCFG_RS232_OUT_RI_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, ri_w))
1977   MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, cts_w))
1978
1979   MCFG_RS232_PORT_ADD( "serport2", ibm5150_com, NULL )
1980   MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE("ins8250_2", ins8250_uart_device, rx_w))
1981   MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE("ins8250_2", ins8250_uart_device, dcd_w))
1982   MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE("ins8250_2", ins8250_uart_device, dsr_w))
1983   MCFG_RS232_OUT_RI_HANDLER(DEVWRITELINE("ins8250_2", ins8250_uart_device, ri_w))
1984   MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE("ins8250_2", ins8250_uart_device, cts_w))
1985
1986   MCFG_RS232_PORT_ADD( "serport3", ibm5150_com, NULL )
1987   MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE("ins8250_3", ins8250_uart_device, rx_w))
1988   MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE("ins8250_3", ins8250_uart_device, dcd_w))
1989   MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE("ins8250_3", ins8250_uart_device, dsr_w))
1990   MCFG_RS232_OUT_RI_HANDLER(DEVWRITELINE("ins8250_3", ins8250_uart_device, ri_w))
1991   MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE("ins8250_3", ins8250_uart_device, cts_w))
1992
18001993   /* video hardware */
18011994   MCFG_FRAGMENT_ADD( pcvideo_cga )
18021995   MCFG_GFXDECODE(ibm5150)
r26663r26664
18472040   MCFG_INS8250_ADD( "ins8250_1", ibm5150_com_interface[1], XTAL_1_8432MHz )   /* TODO: Verify model */
18482041   MCFG_INS8250_ADD( "ins8250_2", ibm5150_com_interface[2], XTAL_1_8432MHz )   /* TODO: Verify model */
18492042   MCFG_INS8250_ADD( "ins8250_3", ibm5150_com_interface[3], XTAL_1_8432MHz )   /* TODO: Verify model */
1850   MCFG_RS232_PORT_ADD( "serport0", ibm5150_serport_config[0], ibm5150_com, NULL )
1851   MCFG_RS232_PORT_ADD( "serport1", ibm5150_serport_config[1], ibm5150_com, NULL )
1852   MCFG_RS232_PORT_ADD( "serport2", ibm5150_serport_config[2], ibm5150_com, NULL )
1853   MCFG_RS232_PORT_ADD( "serport3", ibm5150_serport_config[3], ibm5150_com, NULL )
18542043
2044   MCFG_RS232_PORT_ADD( "serport0", ibm5150_com, NULL )
2045   MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, rx_w))
2046   MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, dcd_w))
2047   MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, dsr_w))
2048   MCFG_RS232_OUT_RI_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, ri_w))
2049   MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, cts_w))
2050
2051   MCFG_RS232_PORT_ADD( "serport1", ibm5150_com, NULL )
2052   MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, rx_w))
2053   MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, dcd_w))
2054   MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, dsr_w))
2055   MCFG_RS232_OUT_RI_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, ri_w))
2056   MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, cts_w))
2057
2058   MCFG_RS232_PORT_ADD( "serport2", ibm5150_com, NULL )
2059   MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE("ins8250_2", ins8250_uart_device, rx_w))
2060   MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE("ins8250_2", ins8250_uart_device, dcd_w))
2061   MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE("ins8250_2", ins8250_uart_device, dsr_w))
2062   MCFG_RS232_OUT_RI_HANDLER(DEVWRITELINE("ins8250_2", ins8250_uart_device, ri_w))
2063   MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE("ins8250_2", ins8250_uart_device, cts_w))
2064
2065   MCFG_RS232_PORT_ADD( "serport3", ibm5150_com, NULL )
2066   MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE("ins8250_3", ins8250_uart_device, rx_w))
2067   MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE("ins8250_3", ins8250_uart_device, dcd_w))
2068   MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE("ins8250_3", ins8250_uart_device, dsr_w))
2069   MCFG_RS232_OUT_RI_HANDLER(DEVWRITELINE("ins8250_3", ins8250_uart_device, ri_w))
2070   MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE("ins8250_3", ins8250_uart_device, cts_w))
2071
18552072   /* video hardware */
18562073   MCFG_FRAGMENT_ADD( pcvideo_cga )
18572074   MCFG_GFXDECODE(ibm5150)
r26663r26664
19022119   MCFG_INS8250_ADD( "ins8250_1", ibm5150_com_interface[1], XTAL_1_8432MHz )   /* TODO: Verify model */
19032120   MCFG_INS8250_ADD( "ins8250_2", ibm5150_com_interface[2], XTAL_1_8432MHz )   /* TODO: Verify model */
19042121   MCFG_INS8250_ADD( "ins8250_3", ibm5150_com_interface[3], XTAL_1_8432MHz )   /* TODO: Verify model */
1905   MCFG_RS232_PORT_ADD( "serport0", ibm5150_serport_config[0], ibm5150_com, NULL )
1906   MCFG_RS232_PORT_ADD( "serport1", ibm5150_serport_config[1], ibm5150_com, NULL )
1907   MCFG_RS232_PORT_ADD( "serport2", ibm5150_serport_config[2], ibm5150_com, NULL )
1908   MCFG_RS232_PORT_ADD( "serport3", ibm5150_serport_config[3], ibm5150_com, NULL )
19092122
2123   MCFG_RS232_PORT_ADD( "serport0", ibm5150_com, NULL )
2124   MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, rx_w))
2125   MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, dcd_w))
2126   MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, dsr_w))
2127   MCFG_RS232_OUT_RI_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, ri_w))
2128   MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, cts_w))
2129
2130   MCFG_RS232_PORT_ADD( "serport1", ibm5150_com, NULL )
2131   MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, rx_w))
2132   MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, dcd_w))
2133   MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, dsr_w))
2134   MCFG_RS232_OUT_RI_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, ri_w))
2135   MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, cts_w))
2136
2137   MCFG_RS232_PORT_ADD( "serport2", ibm5150_com, NULL )
2138   MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE("ins8250_2", ins8250_uart_device, rx_w))
2139   MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE("ins8250_2", ins8250_uart_device, dcd_w))
2140   MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE("ins8250_2", ins8250_uart_device, dsr_w))
2141   MCFG_RS232_OUT_RI_HANDLER(DEVWRITELINE("ins8250_2", ins8250_uart_device, ri_w))
2142   MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE("ins8250_2", ins8250_uart_device, cts_w))
2143
2144   MCFG_RS232_PORT_ADD( "serport3", ibm5150_com, NULL )
2145   MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE("ins8250_3", ins8250_uart_device, rx_w))
2146   MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE("ins8250_3", ins8250_uart_device, dcd_w))
2147   MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE("ins8250_3", ins8250_uart_device, dsr_w))
2148   MCFG_RS232_OUT_RI_HANDLER(DEVWRITELINE("ins8250_3", ins8250_uart_device, ri_w))
2149   MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE("ins8250_3", ins8250_uart_device, cts_w))
2150
19102151   /* video hardware */
19112152   MCFG_FRAGMENT_ADD( pcvideo_cga )
19122153   MCFG_GFXDECODE(ibm5150)
trunk/src/mess/drivers/ht68k.c
r26663r26664
121121   if (m_floppy) {m_floppy->ss_w(BIT(data,3) ? 0 : 1);}
122122}
123123
124static const rs232_port_interface rs232_intf =
125{
126   DEVCB_DEVICE_LINE_MEMBER("duart68681", duartn68681_device, rx_a_w),
127   DEVCB_NULL,
128   DEVCB_NULL,
129   DEVCB_NULL,
130   DEVCB_NULL
131};
132
133124static const duartn68681_config ht68k_duart68681_config =
134125{
135126   DEVCB_DRIVER_LINE_MEMBER(ht68k_state, duart_irq_handler),
r26663r26664
148139   /* basic machine hardware */
149140   MCFG_CPU_ADD("maincpu",M68000, XTAL_8MHz)
150141   MCFG_CPU_PROGRAM_MAP(ht68k_mem)
151   MCFG_RS232_PORT_ADD("rs232", rs232_intf, default_rs232_devices, "serial_terminal")
142   MCFG_RS232_PORT_ADD("rs232", default_rs232_devices, "serial_terminal")
143   MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE("duart68681", duartn68681_device, rx_a_w))
152144
153145   /* video hardware */
154146   MCFG_DUARTN68681_ADD( "duart68681", XTAL_8MHz / 2, ht68k_duart68681_config )
trunk/src/mess/drivers/sg1000.c
r26663r26664
686686   DEVCB_NULL
687687};
688688
689//-------------------------------------------------
690//  rs232_port_interface rs232_intf
691//-------------------------------------------------
692
693static const rs232_port_interface rs232_intf =
694{
695   DEVCB_NULL,
696   DEVCB_NULL,
697   DEVCB_NULL,
698   DEVCB_NULL,
699   DEVCB_NULL
700};
701
702689/*-------------------------------------------------
703690    MACHINE_START( sg1000 )
704691-------------------------------------------------*/
r26663r26664
902889   MCFG_FLOPPY_DRIVE_ADD(UPD765_TAG ":0", sf7000_floppies, "3ssdd", sf7000_state::floppy_formats)
903890   MCFG_CENTRONICS_PRINTER_ADD(CENTRONICS_TAG, standard_centronics)
904891   MCFG_CASSETTE_ADD("cassette", sc3000_cassette_interface)
905   MCFG_RS232_PORT_ADD(RS232_TAG, rs232_intf, default_rs232_devices, NULL)
892   MCFG_RS232_PORT_ADD(RS232_TAG, default_rs232_devices, NULL)
906893
907894   /* software lists */
908895   MCFG_SOFTWARE_LIST_ADD("flop_list","sf7000")
trunk/src/mess/drivers/horizon.c
r26663r26664
133133};
134134
135135
136//-------------------------------------------------
137//  rs232_port_interface rs232a_intf
138//-------------------------------------------------
139
140136static DEVICE_INPUT_DEFAULTS_START( terminal )
141137   DEVICE_INPUT_DEFAULTS( "TERM_FRAME", 0x0f, 0x06 ) // 9600
142138   DEVICE_INPUT_DEFAULTS( "TERM_FRAME", 0x30, 0x00 ) // 8N1
143139DEVICE_INPUT_DEFAULTS_END
144140
145static const rs232_port_interface rs232a_intf =
146{
147   DEVCB_NULL,
148   DEVCB_NULL,
149   DEVCB_NULL,
150   DEVCB_NULL,
151   DEVCB_NULL
152};
153141
154
155142//-------------------------------------------------
156//  rs232_port_interface rs232b_intf
157//-------------------------------------------------
158
159static const rs232_port_interface rs232b_intf =
160{
161   DEVCB_NULL,
162   DEVCB_NULL,
163   DEVCB_NULL,
164   DEVCB_NULL,
165   DEVCB_NULL
166};
167
168
169//-------------------------------------------------
170143//  S100_INTERFACE( s100_intf )
171144//-------------------------------------------------
172145
r26663r26664
219192   // devices
220193   MCFG_I8251_ADD(I8251_L_TAG, usart_l_intf)
221194   MCFG_I8251_ADD(I8251_R_TAG, usart_r_intf)
222   MCFG_RS232_PORT_ADD(RS232_A_TAG, rs232a_intf, default_rs232_devices, "serial_terminal")
195   MCFG_RS232_PORT_ADD(RS232_A_TAG, default_rs232_devices, "serial_terminal")
223196   MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("serial_terminal", terminal)
224   MCFG_RS232_PORT_ADD(RS232_B_TAG, rs232b_intf, default_rs232_devices, NULL)
197   MCFG_RS232_PORT_ADD(RS232_B_TAG, default_rs232_devices, NULL)
225198
226199   // S-100
227200   MCFG_S100_BUS_ADD(s100_intf)
trunk/src/mess/drivers/amstr_pc.c
r26663r26664
272272   MCFG_INS8250_ADD( "ins8250_1", ibm5150_com_interface[1], XTAL_1_8432MHz )   /* TODO: Verify model */
273273   MCFG_INS8250_ADD( "ins8250_2", ibm5150_com_interface[2], XTAL_1_8432MHz )   /* TODO: Verify model */
274274   MCFG_INS8250_ADD( "ins8250_3", ibm5150_com_interface[3], XTAL_1_8432MHz )   /* TODO: Verify model */
275   MCFG_RS232_PORT_ADD( "serport0", ibm5150_serport_config[0], amstr_com, NULL )
276   MCFG_RS232_PORT_ADD( "serport1", ibm5150_serport_config[1], amstr_com, NULL )
277   MCFG_RS232_PORT_ADD( "serport2", ibm5150_serport_config[2], amstr_com, NULL )
278   MCFG_RS232_PORT_ADD( "serport3", ibm5150_serport_config[3], amstr_com, NULL )
279275
276   MCFG_RS232_PORT_ADD( "serport0", amstr_com, NULL )
277   MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, rx_w))
278   MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, dcd_w))
279   MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, dsr_w))
280   MCFG_RS232_OUT_RI_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, ri_w))
281   MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, cts_w))
282
283   MCFG_RS232_PORT_ADD( "serport1", amstr_com, NULL )
284   MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, rx_w))
285   MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, dcd_w))
286   MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, dsr_w))
287   MCFG_RS232_OUT_RI_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, ri_w))
288   MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, cts_w))
289
290   MCFG_RS232_PORT_ADD( "serport2", amstr_com, NULL )
291   MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE("ins8250_2", ins8250_uart_device, rx_w))
292   MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE("ins8250_2", ins8250_uart_device, dcd_w))
293   MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE("ins8250_2", ins8250_uart_device, dsr_w))
294   MCFG_RS232_OUT_RI_HANDLER(DEVWRITELINE("ins8250_2", ins8250_uart_device, ri_w))
295   MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE("ins8250_2", ins8250_uart_device, cts_w))
296
297   MCFG_RS232_PORT_ADD( "serport3", amstr_com, NULL )
298   MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE("ins8250_3", ins8250_uart_device, rx_w))
299   MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE("ins8250_3", ins8250_uart_device, dcd_w))
300   MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE("ins8250_3", ins8250_uart_device, dsr_w))
301   MCFG_RS232_OUT_RI_HANDLER(DEVWRITELINE("ins8250_3", ins8250_uart_device, ri_w))
302   MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE("ins8250_3", ins8250_uart_device, cts_w))
303
280304   /* video hardware */
281305   MCFG_FRAGMENT_ADD( pcvideo_pc200 )
282306   MCFG_GFXDECODE(pc200)
r26663r26664
345369   MCFG_INS8250_ADD( "ins8250_1", ibm5150_com_interface[1], XTAL_1_8432MHz )   /* TODO: Verify model */
346370   MCFG_INS8250_ADD( "ins8250_2", ibm5150_com_interface[2], XTAL_1_8432MHz )   /* TODO: Verify model */
347371   MCFG_INS8250_ADD( "ins8250_3", ibm5150_com_interface[3], XTAL_1_8432MHz )   /* TODO: Verify model */
348   MCFG_RS232_PORT_ADD( "serport0", ibm5150_serport_config[0], amstr_com, NULL )
349   MCFG_RS232_PORT_ADD( "serport1", ibm5150_serport_config[1], amstr_com, NULL )
350   MCFG_RS232_PORT_ADD( "serport2", ibm5150_serport_config[2], amstr_com, NULL )
351   MCFG_RS232_PORT_ADD( "serport3", ibm5150_serport_config[3], amstr_com, NULL )
352372
373   MCFG_RS232_PORT_ADD( "serport0", amstr_com, NULL )
374   MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, rx_w))
375   MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, dcd_w))
376   MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, dsr_w))
377   MCFG_RS232_OUT_RI_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, ri_w))
378   MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE("ins8250_0", ins8250_uart_device, cts_w))
379
380   MCFG_RS232_PORT_ADD( "serport1", amstr_com, NULL )
381   MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, rx_w))
382   MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, dcd_w))
383   MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, dsr_w))
384   MCFG_RS232_OUT_RI_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, ri_w))
385   MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE("ins8250_1", ins8250_uart_device, cts_w))
386
387   MCFG_RS232_PORT_ADD( "serport2", amstr_com, NULL )
388   MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE("ins8250_2", ins8250_uart_device, rx_w))
389   MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE("ins8250_2", ins8250_uart_device, dcd_w))
390   MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE("ins8250_2", ins8250_uart_device, dsr_w))
391   MCFG_RS232_OUT_RI_HANDLER(DEVWRITELINE("ins8250_2", ins8250_uart_device, ri_w))
392   MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE("ins8250_2", ins8250_uart_device, cts_w))
393
394   MCFG_RS232_PORT_ADD( "serport3", amstr_com, NULL )
395   MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE("ins8250_3", ins8250_uart_device, rx_w))
396   MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE("ins8250_3", ins8250_uart_device, dcd_w))
397   MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE("ins8250_3", ins8250_uart_device, dsr_w))
398   MCFG_RS232_OUT_RI_HANDLER(DEVWRITELINE("ins8250_3", ins8250_uart_device, ri_w))
399   MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE("ins8250_3", ins8250_uart_device, cts_w))
400
353401   /* video hardware */
354402   MCFG_FRAGMENT_ADD( pcvideo_pc200 )
355403   MCFG_GFXDECODE(pc200)
trunk/src/mess/drivers/bullet.c
r26663r26664
10661066}
10671067
10681068
1069//-------------------------------------------------
1070//  rs232_port_interface rs232a_intf
1071//-------------------------------------------------
1072
10731069static DEVICE_INPUT_DEFAULTS_START( terminal )
10741070   DEVICE_INPUT_DEFAULTS( "TERM_FRAME", 0x0f, 0x06 ) // 9600
10751071   DEVICE_INPUT_DEFAULTS( "TERM_FRAME", 0x30, 0x00 ) // 8N1
10761072DEVICE_INPUT_DEFAULTS_END
10771073
1078static const rs232_port_interface rs232a_intf =
1079{
1080   DEVCB_NULL,
1081   DEVCB_NULL,
1082   DEVCB_NULL,
1083   DEVCB_NULL,
1084   DEVCB_NULL
1085};
10861074
1087
10881075//-------------------------------------------------
1089//  rs232_port_interface rs232b_intf
1090//-------------------------------------------------
1091
1092static const rs232_port_interface rs232b_intf =
1093{
1094   DEVCB_NULL,
1095   DEVCB_NULL,
1096   DEVCB_NULL,
1097   DEVCB_NULL,
1098   DEVCB_NULL
1099};
1100
1101
1102//-------------------------------------------------
11031076//  z80_daisy_config daisy_chain
11041077//-------------------------------------------------
11051078
r26663r26664
12471220   MCFG_FLOPPY_DRIVE_ADD(MB8877_TAG":6", bullet_8_floppies, NULL,      floppy_image_device::default_floppy_formats)
12481221   MCFG_FLOPPY_DRIVE_ADD(MB8877_TAG":7", bullet_8_floppies, NULL,      floppy_image_device::default_floppy_formats)
12491222   MCFG_CENTRONICS_PRINTER_ADD(CENTRONICS_TAG, standard_centronics)
1250   MCFG_RS232_PORT_ADD(RS232_A_TAG, rs232b_intf, default_rs232_devices, "serial_terminal")
1223   MCFG_RS232_PORT_ADD(RS232_A_TAG, default_rs232_devices, "serial_terminal")
12511224   MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("serial_terminal", terminal)
1252   MCFG_RS232_PORT_ADD(RS232_B_TAG, rs232a_intf, default_rs232_devices, NULL)
1225   MCFG_RS232_PORT_ADD(RS232_B_TAG, default_rs232_devices, NULL)
12531226
12541227   // software lists
12551228   MCFG_SOFTWARE_LIST_ADD("flop_list", "wmbullet")
r26663r26664
12891262   MCFG_FLOPPY_DRIVE_ADD(MB8877_TAG":8", bullet_35_floppies, NULL, floppy_image_device::default_floppy_formats)
12901263   MCFG_FLOPPY_DRIVE_ADD(MB8877_TAG":9", bullet_35_floppies, NULL, floppy_image_device::default_floppy_formats)
12911264   MCFG_CENTRONICS_PRINTER_ADD(CENTRONICS_TAG, standard_centronics)
1292   MCFG_RS232_PORT_ADD(RS232_A_TAG, rs232b_intf, default_rs232_devices, "serial_terminal")
1265   MCFG_RS232_PORT_ADD(RS232_A_TAG, default_rs232_devices, "serial_terminal")
12931266   MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("serial_terminal", terminal)
1294   MCFG_RS232_PORT_ADD(RS232_B_TAG, rs232a_intf, default_rs232_devices, NULL)
1267   MCFG_RS232_PORT_ADD(RS232_B_TAG, default_rs232_devices, NULL)
12951268
12961269   MCFG_SCSIBUS_ADD(SCSIBUS_TAG)
12971270   MCFG_SCSIDEV_ADD(SCSIBUS_TAG ":harddisk0", SCSIHD, SCSI_ID_0)
trunk/src/mess/drivers/vk100.c
r26663r26664
10211021   DEVCB_NULL // out_syndet_cb
10221022};
10231023
1024static const rs232_port_interface rs232_intf =
1025{
1026   DEVCB_NULL,
1027   DEVCB_NULL,
1028   DEVCB_NULL,
1029   DEVCB_NULL,
1030   DEVCB_NULL
1031};
1032
10331024static MACHINE_CONFIG_START( vk100, vk100_state )
10341025   /* basic machine hardware */
10351026   MCFG_CPU_ADD("maincpu", I8085A, XTAL_5_0688MHz)
r26663r26664
10451036
10461037   /* i8251 uart */
10471038   MCFG_I8251_ADD("i8251", i8251_intf)
1048   MCFG_RS232_PORT_ADD(RS232_TAG, rs232_intf, default_rs232_devices, NULL)
1039   MCFG_RS232_PORT_ADD(RS232_TAG, default_rs232_devices, NULL)
10491040   MCFG_COM8116_ADD(COM5016T_TAG, XTAL_5_0688MHz, NULL, DEVWRITELINE("i8251", i8251_device, rxc_w), DEVWRITELINE("i8251", i8251_device, txc_w))
10501041
10511042   MCFG_DEFAULT_LAYOUT( layout_vk100 )
trunk/src/mess/drivers/isbc.c
r26663r26664
256256   DEVCB_NULL
257257};
258258
259static const rs232_port_interface rs232_intf =
260{
261   DEVCB_NULL,
262   DEVCB_DEVICE_LINE_MEMBER("uart8274", z80dart_device, dcda_w),
263   DEVCB_NULL,
264   DEVCB_NULL,
265   DEVCB_DEVICE_LINE_MEMBER("uart8274", z80dart_device, ctsa_w)
266};
267
268259READ8_MEMBER( isbc_state::get_slave_ack )
269260{
270261   if (offset == 7)
r26663r26664
323314   MCFG_I8255A_ADD("ppi", isbc286_ppi_interface)
324315   MCFG_CENTRONICS_PRINTER_ADD("centronics", isbc_centronics)
325316   MCFG_I8274_ADD("uart8274", XTAL_16MHz/4, isbc_uart8274_interface)
326   MCFG_RS232_PORT_ADD("rs232", rs232_intf, default_rs232_devices, NULL)
327317
318   MCFG_RS232_PORT_ADD("rs232", default_rs232_devices, NULL)
319   MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE("uart8274", z80dart_device, dcda_w))
320   MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE("uart8274", z80dart_device, ctsa_w))
321
328322   MCFG_ISBX_SLOT_ADD("sbx1", 0, isbx_cards, "fdc_218a")
329323   MCFG_ISBX_SLOT_MINTR0_CALLBACK(DEVWRITELINE("pic_1", pic8259_device, ir3_w))
330324   MCFG_ISBX_SLOT_MINTR1_CALLBACK(DEVWRITELINE("pic_1", pic8259_device, ir4_w))
trunk/src/mess/drivers/esqkt.c
r26663r26664
240240   SLOT_INTERFACE("midiin", MIDIIN_PORT)
241241SLOT_INTERFACE_END
242242
243static const serial_port_interface midiin_intf =
244{
245   DEVCB_DEVICE_LINE_MEMBER("duart", duartn68681_device, rx_a_w)   // route MIDI Tx send directly to 68681 channel A Rx
246};
247
248243static SLOT_INTERFACE_START(midiout_slot)
249244   SLOT_INTERFACE("midiout", MIDIOUT_PORT)
250245SLOT_INTERFACE_END
251246
252static const serial_port_interface midiout_intf =
253{
254   DEVCB_NULL  // midi out ports don't transmit inward
255};
256
257247static MACHINE_CONFIG_START( kt, esqkt_state )
258248   MCFG_CPU_ADD("maincpu", M68EC020, XTAL_16MHz)
259249   MCFG_CPU_PROGRAM_MAP(kt_map)
r26663r26664
264254   MCFG_ESQPANEL2x40_SQ1_ADD("sq1panel", esqpanel_config)
265255
266256   MCFG_DUARTN68681_ADD("duart", 4000000, duart_config)
267   MCFG_SERIAL_PORT_ADD("mdin", midiin_intf, midiin_slot, "midiin")
268   MCFG_SERIAL_PORT_ADD("mdout", midiout_intf, midiout_slot, "midiout")
269257
258   MCFG_SERIAL_PORT_ADD("mdin", midiin_slot, "midiin")
259   MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE("duart", duartn68681_device, rx_a_w)) // route MIDI Tx send directly to 68681 channel A Rx
260
261   MCFG_SERIAL_PORT_ADD("mdout", midiout_slot, "midiout")
262
270263   MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
271264   MCFG_SOUND_ADD("ensoniq", ES5506, XTAL_16MHz)
272265   MCFG_SOUND_CONFIG(es5506_config)
trunk/src/mess/drivers/qx10.c
r26663r26664
843843   AM_RANGE(0x00000, 0x5ffff) AM_READWRITE(vram_r,vram_w)
844844ADDRESS_MAP_END
845845
846//-------------------------------------------------
847//  rs232_port_interface rs232_intf
848//-------------------------------------------------
849
850static const rs232_port_interface rs232_intf =
851{
852   DEVCB_NULL,
853   DEVCB_NULL,
854   DEVCB_NULL,
855   DEVCB_NULL,
856   DEVCB_NULL
857};
858
859846static MACHINE_CONFIG_START( qx10, qx10_state )
860847   /* basic machine hardware */
861848   MCFG_CPU_ADD("maincpu",Z80, MAIN_CLK / 4)
r26663r26664
887874   MCFG_UPD765A_ADD("upd765", true, true)
888875   MCFG_FLOPPY_DRIVE_ADD("upd765:0", qx10_floppies, "525dd", floppy_image_device::default_floppy_formats)
889876   MCFG_FLOPPY_DRIVE_ADD("upd765:1", qx10_floppies, "525dd", floppy_image_device::default_floppy_formats)
890   MCFG_RS232_PORT_ADD(RS232_TAG, rs232_intf, default_rs232_devices, NULL)
877   MCFG_RS232_PORT_ADD(RS232_TAG, default_rs232_devices, NULL)
891878   MCFG_QX10_KEYBOARD_ADD("kbd", qx10_keyboard_interface)
892879
893880   /* internal ram */
trunk/src/mess/drivers/avigo.c
r26663r26664
234234   DEVCB_NULL
235235};
236236
237static const rs232_port_interface avigo_serport_config =
238{
239   DEVCB_DEVICE_LINE_MEMBER("ns16550", ins8250_uart_device, rx_w),
240   DEVCB_DEVICE_LINE_MEMBER("ns16550", ins8250_uart_device, dcd_w),
241   DEVCB_DEVICE_LINE_MEMBER("ns16550", ins8250_uart_device, dsr_w),
242   DEVCB_DEVICE_LINE_MEMBER("ns16550", ins8250_uart_device, ri_w),
243   DEVCB_DEVICE_LINE_MEMBER("ns16550", ins8250_uart_device, cts_w)
244};
245
246237void avigo_state::machine_reset()
247238{
248239   /* if is a cold start initialize flash contents */
r26663r26664
893884   MCFG_QUANTUM_TIME(attotime::from_hz(60))
894885
895886   MCFG_NS16550_ADD( "ns16550", avigo_com_interface, XTAL_1_8432MHz )
896   MCFG_RS232_PORT_ADD( "serport", avigo_serport_config, avigo_com, NULL )
897887
888   MCFG_RS232_PORT_ADD( "serport", avigo_com, NULL )
889   MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE("ns16550", ins8250_uart_device, rx_w))
890   MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE("ns16550", ins8250_uart_device, dcd_w))
891   MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE("ns16550", ins8250_uart_device, dsr_w))
892   MCFG_RS232_OUT_RI_HANDLER(DEVWRITELINE("ns16550", ins8250_uart_device, ri_w))
893   MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE("ns16550", ins8250_uart_device, cts_w))
894
898895   /* video hardware */
899896   MCFG_SCREEN_ADD("screen", LCD)
900897   MCFG_SCREEN_REFRESH_RATE(50)
trunk/src/mess/drivers/dectalk.c
r26663r26664
399399   DEVCB_DRIVER_MEMBER(dectalk_state, dectalk_duart_output),           /* output port */
400400};
401401
402static const rs232_port_interface rs232_intf =
403{
404   DEVCB_DEVICE_LINE_MEMBER("duartn68681", duartn68681_device, rx_b_w),
405   DEVCB_NULL,
406   DEVCB_NULL,
407   DEVCB_NULL,
408   DEVCB_NULL
409};
410402
411
412403/* FIFO and TMS32010 stuff */
413404#define SPC_INITIALIZE state->m_m68k_spcflags_latch&0x1 // speech initialize flag
414405#define SPC_IRQ_ENABLED ((state->m_m68k_spcflags_latch&0x40)>>6) // irq enable flag
r26663r26664
921912
922913   /* Y2 is a 3.579545 MHz xtal for the dtmf decoder chip */
923914
924   MCFG_RS232_PORT_ADD("rs232", rs232_intf, default_rs232_devices, "serial_terminal")
915   MCFG_RS232_PORT_ADD("rs232", default_rs232_devices, "serial_terminal")
916   MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE("duartn68681", duartn68681_device, rx_b_w))
925917MACHINE_CONFIG_END
926918
927919
trunk/src/mess/drivers/altos5.c
r26663r26664
427427   DEVCB_NULL
428428};
429429
430static const rs232_port_interface rs232_intf =
431{
432   DEVCB_NULL,
433   DEVCB_DEVICE_LINE_MEMBER("z80sio", z80dart_device, dcdb_w),
434   DEVCB_NULL,
435   DEVCB_DEVICE_LINE_MEMBER("z80sio", z80dart_device, rib_w),
436   DEVCB_DEVICE_LINE_MEMBER("z80sio", z80dart_device, ctsb_w)
437};
438
439430static SLOT_INTERFACE_START( altos5_floppies )
440431   SLOT_INTERFACE( "525dd", FLOPPY_525_DD )
441432SLOT_INTERFACE_END
r26663r26664
508499   MCFG_Z80CTC_ADD( "z80ctc",   XTAL_8MHz / 2, ctc_intf )
509500   MCFG_Z80DART_ADD("z80dart",  XTAL_8MHz / 2, dart_intf )
510501   MCFG_Z80SIO0_ADD("z80sio",   XTAL_8MHz / 2, sio_intf )
511   MCFG_RS232_PORT_ADD("rs232", rs232_intf, default_rs232_devices, "serial_terminal")
502
503   MCFG_RS232_PORT_ADD("rs232", default_rs232_devices, "serial_terminal")
504   MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE("z80sio", z80dart_device, dcdb_w))
505   MCFG_RS232_OUT_RI_HANDLER(DEVWRITELINE("z80sio", z80dart_device, rib_w))
506   MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE("z80sio", z80dart_device, ctsb_w))
507
512508   MCFG_TIMER_DRIVER_ADD_PERIODIC("ctc_tick", altos5_state, ctc_tick, attotime::from_hz(XTAL_8MHz / 4))
513509   MCFG_FD1797x_ADD("fdc", XTAL_8MHz / 8)
514510   MCFG_FLOPPY_DRIVE_ADD("fdc:0", altos5_floppies, "525dd", floppy_image_device::default_floppy_formats)
trunk/src/mess/drivers/pc8401a.c
r26663r26664
582582   DEVCB_NULL
583583};
584584
585//-------------------------------------------------
586//  rs232_port_interface rs232_intf
587//-------------------------------------------------
588
589static const rs232_port_interface rs232_intf =
590{
591   DEVCB_NULL,
592   DEVCB_NULL,
593   DEVCB_NULL,
594   DEVCB_NULL,
595   DEVCB_NULL
596};
597
598585/* Machine Drivers */
599586
600587static MACHINE_CONFIG_START( pc8401a, pc8401a_state )
r26663r26664
610597   MCFG_UPD1990A_ADD(UPD1990A_TAG, XTAL_32_768kHz, NULL, NULL)
611598   MCFG_I8255A_ADD(I8255A_TAG, ppi_intf)
612599   MCFG_I8251_ADD(I8251_TAG, uart_intf)
613   MCFG_RS232_PORT_ADD(RS232_TAG, rs232_intf, default_rs232_devices, NULL)
600   MCFG_RS232_PORT_ADD(RS232_TAG, default_rs232_devices, NULL)
614601
615602   /* video hardware */
616603   MCFG_FRAGMENT_ADD(pc8401a_video)
r26663r26664
644631   MCFG_UPD1990A_ADD(UPD1990A_TAG, XTAL_32_768kHz, NULL, NULL)
645632   MCFG_I8255A_ADD(I8255A_TAG, ppi_intf)
646633   MCFG_I8251_ADD(I8251_TAG, uart_intf)
647   MCFG_RS232_PORT_ADD(RS232_TAG, rs232_intf, default_rs232_devices, NULL)
634   MCFG_RS232_PORT_ADD(RS232_TAG, default_rs232_devices, NULL)
648635
649636   /* video hardware */
650637   MCFG_FRAGMENT_ADD(pc8500_video)
trunk/src/mess/drivers/compis.c
r26663r26664
673673
674674
675675//-------------------------------------------------
676//  rs232_port_interface rs232a_intf
677//-------------------------------------------------
678
679static const rs232_port_interface rs232a_intf =
680{
681   DEVCB_NULL,
682   DEVCB_DEVICE_LINE_MEMBER(I8274_TAG, z80dart_device, dcda_w),
683   DEVCB_NULL,
684   DEVCB_NULL,
685   DEVCB_DEVICE_LINE_MEMBER(I8274_TAG, z80dart_device, ctsa_w)
686};
687
688
689//-------------------------------------------------
690//  rs232_port_interface rs232b_intf
691//-------------------------------------------------
692
693static const rs232_port_interface rs232b_intf =
694{
695   DEVCB_NULL,
696   DEVCB_DEVICE_LINE_MEMBER(I8274_TAG, z80dart_device, dcdb_w),
697   DEVCB_NULL,
698   DEVCB_NULL,
699   DEVCB_DEVICE_LINE_MEMBER(I8274_TAG, z80dart_device, ctsb_w)
700};
701
702
703//-------------------------------------------------
704676//  cassette_interface compis_cassette_interface
705677//-------------------------------------------------
706678
r26663r26664
790762   MCFG_I8274_ADD(I8274_TAG, XTAL_16MHz/4, mpsc_intf)
791763   MCFG_MM58274C_ADD(MM58174A_TAG, rtc_intf)
792764   MCFG_CASSETTE_ADD(CASSETTE_TAG, compis_cassette_interface)
793   MCFG_RS232_PORT_ADD(RS232_A_TAG, rs232a_intf, default_rs232_devices, NULL)
794   MCFG_RS232_PORT_ADD(RS232_B_TAG, rs232b_intf, default_rs232_devices, NULL)
765
766   MCFG_RS232_PORT_ADD(RS232_A_TAG, default_rs232_devices, NULL)
767   MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE(I8274_TAG, z80dart_device, dcda_w))
768   MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE(I8274_TAG, z80dart_device, ctsa_w))
769
770   MCFG_RS232_PORT_ADD(RS232_B_TAG, default_rs232_devices, NULL)
771   MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE(I8274_TAG, z80dart_device, dcdb_w))
772   MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE(I8274_TAG, z80dart_device, ctsb_w))
773
795774   MCFG_CENTRONICS_PRINTER_ADD(CENTRONICS_TAG, standard_centronics)
796775   MCFG_TIMER_DRIVER_ADD_PERIODIC("tape", compis_state, tape_tick, attotime::from_hz(44100))
797776   MCFG_ISBX_SLOT_ADD(ISBX_0_TAG, 0, isbx_cards, "fdc")
trunk/src/mess/drivers/wicat.c
r26663r26664
601601   1   // first day
602602};
603603
604struct rs232_port_interface wicat_serial1_intf =
605{
606   DEVCB_DEVICE_LINE_MEMBER("uart1",mc2661_device,rx_w),  // RX out
607   DEVCB_DEVICE_LINE_MEMBER("uart1",mc2661_device,dcd_w),  // DCD out
608   DEVCB_DEVICE_LINE_MEMBER("uart1",mc2661_device,dsr_w),  // DSR out
609   DEVCB_NULL,  // RI out
610   DEVCB_DEVICE_LINE_MEMBER("uart1",mc2661_device,cts_w)   // CTS out
611};
612
613struct rs232_port_interface wicat_serial2_intf =
614{
615   DEVCB_DEVICE_LINE_MEMBER("uart2",mc2661_device,rx_w),  // RX out
616   DEVCB_DEVICE_LINE_MEMBER("uart2",mc2661_device,dcd_w),  // DCD out
617   DEVCB_DEVICE_LINE_MEMBER("uart2",mc2661_device,dsr_w),  // DSR out
618   DEVCB_NULL,  // RI out
619   DEVCB_DEVICE_LINE_MEMBER("uart2",mc2661_device,cts_w)   // CTS out
620};
621
622struct rs232_port_interface wicat_serial3_intf =
623{
624   DEVCB_DEVICE_LINE_MEMBER("uart3",mc2661_device,rx_w),  // RX out
625   DEVCB_DEVICE_LINE_MEMBER("uart3",mc2661_device,dcd_w),  // DCD out
626   DEVCB_DEVICE_LINE_MEMBER("uart3",mc2661_device,dsr_w),  // DSR out
627   DEVCB_NULL,  // RI out
628   DEVCB_DEVICE_LINE_MEMBER("uart3",mc2661_device,cts_w)   // CTS out
629};
630
631struct rs232_port_interface wicat_serial4_intf =
632{
633   DEVCB_DEVICE_LINE_MEMBER("uart4",mc2661_device,rx_w),  // RX out
634   DEVCB_DEVICE_LINE_MEMBER("uart4",mc2661_device,dcd_w),  // DCD out
635   DEVCB_DEVICE_LINE_MEMBER("uart4",mc2661_device,dsr_w),  // DSR out
636   DEVCB_NULL,  // RI out
637   DEVCB_DEVICE_LINE_MEMBER("uart4",mc2661_device,cts_w)   // CTS out
638};
639
640struct rs232_port_interface wicat_serial5_intf =
641{
642   DEVCB_DEVICE_LINE_MEMBER("uart5",mc2661_device,rx_w),  // RX out
643   DEVCB_DEVICE_LINE_MEMBER("uart5",mc2661_device,dcd_w),  // DCD out
644   DEVCB_DEVICE_LINE_MEMBER("uart5",mc2661_device,dsr_w),  // DSR out
645   DEVCB_NULL,  // RI out
646   DEVCB_DEVICE_LINE_MEMBER("uart5",mc2661_device,cts_w)   // CTS out
647};
648
649604AM9517A_INTERFACE( wicat_videodma_intf )
650605{
651606   DEVCB_DRIVER_LINE_MEMBER(wicat_state,dma_hrq_w), // m_out_hreq_cb;
r26663r26664
676631   MCFG_MC2661_ADD("uart5", XTAL_5_0688MHz, wicat_uart5_intf)
677632   MCFG_MC2661_ADD("uart6", XTAL_5_0688MHz, wicat_uart6_intf)  // connected to modem port
678633
679   MCFG_RS232_PORT_ADD("serial1",wicat_serial1_intf,default_rs232_devices,NULL)
680   MCFG_RS232_PORT_ADD("serial2",wicat_serial2_intf,default_rs232_devices,NULL)
681   MCFG_RS232_PORT_ADD("serial3",wicat_serial3_intf,default_rs232_devices,NULL)
682   MCFG_RS232_PORT_ADD("serial4",wicat_serial4_intf,default_rs232_devices,NULL)
683   MCFG_RS232_PORT_ADD("serial5",wicat_serial5_intf,default_rs232_devices,NULL)
634   MCFG_RS232_PORT_ADD("serial1",default_rs232_devices,NULL)
635   MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE("uart1",mc2661_device,rx_w))
636   MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE("uart1",mc2661_device,dcd_w))
637   MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE("uart1",mc2661_device,dsr_w))
638   MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE("uart1",mc2661_device,cts_w))
684639
640   MCFG_RS232_PORT_ADD("serial2",default_rs232_devices,NULL)
641   MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE("uart2",mc2661_device,rx_w))
642   MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE("uart2",mc2661_device,dcd_w))
643   MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE("uart2",mc2661_device,dsr_w))
644   MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE("uart2",mc2661_device,cts_w))
645
646   MCFG_RS232_PORT_ADD("serial3",default_rs232_devices,NULL)
647   MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE("uart3",mc2661_device,rx_w))
648   MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE("uart3",mc2661_device,dcd_w))
649   MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE("uart3",mc2661_device,dsr_w))
650   MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE("uart3",mc2661_device,cts_w))
651
652   MCFG_RS232_PORT_ADD("serial4",default_rs232_devices,NULL)
653   MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE("uart4",mc2661_device,rx_w))
654   MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE("uart4",mc2661_device,dcd_w))
655   MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE("uart4",mc2661_device,dsr_w))
656   MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE("uart4",mc2661_device,cts_w))
657
658   MCFG_RS232_PORT_ADD("serial5",default_rs232_devices,NULL)
659   MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE("uart5",mc2661_device,rx_w))
660   MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE("uart5",mc2661_device,dcd_w))
661   MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE("uart5",mc2661_device,dsr_w))
662   MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE("uart5",mc2661_device,cts_w))
663
685664   /* video hardware */
686665   MCFG_CPU_ADD("videocpu",Z8002,XTAL_8MHz/2)  // AMD AMZ8002DC
687666   MCFG_CPU_PROGRAM_MAP(wicat_video_mem)
trunk/src/mess/drivers/atarist.c
r26663r26664
21432143
21442144
21452145//-------------------------------------------------
2146//  rs232_port_interface rs232_intf
2147//-------------------------------------------------
2148
2149static const rs232_port_interface rs232_intf =
2150{
2151   DEVCB_NULL,
2152   DEVCB_NULL,
2153   DEVCB_NULL,
2154   DEVCB_NULL,
2155   DEVCB_NULL
2156};
2157
2158
2159//-------------------------------------------------
21602146//  SLOT_INTERFACE( midiin_slot )
21612147//-------------------------------------------------
21622148
r26663r26664
21742160   }
21752161}
21762162
2177static const serial_port_interface midiin_intf =
2178{
2179   DEVCB_DRIVER_LINE_MEMBER(st_state, midi_rx_w)
2180};
21812163
2182
21832164//-------------------------------------------------
21842165//  SLOT_INTERFACE( midiout_slot )
21852166//-------------------------------------------------
r26663r26664
21882169   SLOT_INTERFACE("midiout", MIDIOUT_PORT)
21892170SLOT_INTERFACE_END
21902171
2191static const serial_port_interface midiout_intf =
2192{
2193   DEVCB_NULL  // midi out ports don't transmit inward
2194};
21952172
21962173
2197
21982174//**************************************************************************
21992175//  MACHINE INITIALIZATION
22002176//**************************************************************************
r26663r26664
24382414   MCFG_FLOPPY_DRIVE_ADD(WD1772_TAG ":1", atari_floppies, 0,      st_state::floppy_formats)
24392415
24402416   MCFG_CENTRONICS_PRINTER_ADD(CENTRONICS_TAG, centronics_intf)
2441   MCFG_RS232_PORT_ADD(RS232_TAG, rs232_intf, default_rs232_devices, NULL)
2442   MCFG_SERIAL_PORT_ADD("mdin", midiin_intf, midiin_slot, "midiin")
2443   MCFG_SERIAL_PORT_ADD("mdout", midiout_intf, midiout_slot, "midiout")
2417   MCFG_RS232_PORT_ADD(RS232_TAG, default_rs232_devices, NULL)
24442418
2419   MCFG_SERIAL_PORT_ADD("mdin", midiin_slot, "midiin")
2420   MCFG_SERIAL_OUT_RX_HANDLER(WRITELINE(st_state, midi_rx_w))
2421
2422   MCFG_SERIAL_PORT_ADD("mdout", midiout_slot, "midiout")
2423
24452424   // cartridge
24462425   MCFG_CARTSLOT_ADD("cart")
24472426   MCFG_CARTSLOT_EXTENSION_LIST("bin,rom")
r26663r26664
24932472   MCFG_FLOPPY_DRIVE_ADD(WD1772_TAG ":0", atari_floppies, "35dd", st_state::floppy_formats)
24942473   MCFG_FLOPPY_DRIVE_ADD(WD1772_TAG ":1", atari_floppies, 0,      st_state::floppy_formats)
24952474   MCFG_CENTRONICS_PRINTER_ADD(CENTRONICS_TAG, centronics_intf)
2496   MCFG_RS232_PORT_ADD(RS232_TAG, rs232_intf, default_rs232_devices, NULL)
2497   MCFG_SERIAL_PORT_ADD("mdin", midiin_intf, midiin_slot, "midiin")
2498   MCFG_SERIAL_PORT_ADD("mdout", midiout_intf, midiout_slot, "midiout")
2475   MCFG_RS232_PORT_ADD(RS232_TAG, default_rs232_devices, NULL)
2476
2477   MCFG_SERIAL_PORT_ADD("mdin", midiin_slot, "midiin")
2478   MCFG_SERIAL_OUT_RX_HANDLER(WRITELINE(st_state, midi_rx_w))
2479
2480   MCFG_SERIAL_PORT_ADD("mdout", midiout_slot, "midiout")
24992481   MCFG_RP5C15_ADD(RP5C15_TAG, XTAL_32_768kHz, rtc_intf)
25002482
25012483   // cartridge
r26663r26664
25572539   MCFG_FLOPPY_DRIVE_ADD(WD1772_TAG ":0", atari_floppies, "35dd", st_state::floppy_formats)
25582540   MCFG_FLOPPY_DRIVE_ADD(WD1772_TAG ":1", atari_floppies, 0,      st_state::floppy_formats)
25592541   MCFG_CENTRONICS_PRINTER_ADD(CENTRONICS_TAG, centronics_intf)
2560   MCFG_RS232_PORT_ADD(RS232_TAG, rs232_intf, default_rs232_devices, NULL)
2561   MCFG_SERIAL_PORT_ADD("mdin", midiin_intf, midiin_slot, "midiin")
2562   MCFG_SERIAL_PORT_ADD("mdout", midiout_intf, midiout_slot, "midiout")
2542   MCFG_RS232_PORT_ADD(RS232_TAG, default_rs232_devices, NULL)
25632543
2544   MCFG_SERIAL_PORT_ADD("mdin", midiin_slot, "midiin")
2545   MCFG_SERIAL_OUT_RX_HANDLER(WRITELINE(st_state, midi_rx_w))
2546
2547   MCFG_SERIAL_PORT_ADD("mdout", midiout_slot, "midiout")
2548
25642549   // cartridge
25652550   MCFG_CARTSLOT_ADD("cart")
25662551   MCFG_CARTSLOT_EXTENSION_LIST("bin,rom")
r26663r26664
26312616   MCFG_FLOPPY_DRIVE_ADD(WD1772_TAG ":0", atari_floppies, "35dd", 0, st_state::floppy_formats)
26322617   MCFG_FLOPPY_DRIVE_ADD(WD1772_TAG ":1", atari_floppies, 0,      0, st_state::floppy_formats)
26332618   MCFG_CENTRONICS_PRINTER_ADD(CENTRONICS_TAG, centronics_intf)
2634   MCFG_RS232_PORT_ADD(RS232_TAG, rs232_intf, default_rs232_devices, NULL, NULL)
2635   MCFG_SERIAL_PORT_ADD("mdin", midiin_intf, midiin_slot, "midiin", NULL)
2636   MCFG_SERIAL_PORT_ADD("mdout", midiout_intf, midiout_slot, "midiout", NULL)
2619   MCFG_RS232_PORT_ADD(RS232_TAG, default_rs232_devices, NULL, NULL)
26372620
2621   MCFG_SERIAL_PORT_ADD("mdin", midiin_slot, "midiin", NULL)
2622   MCFG_SERIAL_OUT_RX_HANDLER(WRITELINE(st_state, midi_rx_w))
2623
2624   MCFG_SERIAL_PORT_ADD("mdout", midiout_slot, "midiout", NULL)
2625
26382626   // cartridge
26392627   MCFG_CARTSLOT_ADD("cart")
26402628   MCFG_CARTSLOT_EXTENSION_LIST("bin,rom")
trunk/src/mess/drivers/68ksbc.c
r26663r26664
7474   DEVCB_NULL
7575};
7676
77static const rs232_port_interface rs232_intf =
78{
79   DEVCB_NULL,
80   DEVCB_NULL,
81   DEVCB_NULL,
82   DEVCB_NULL,
83   DEVCB_NULL
84};
85
8677static MACHINE_CONFIG_START( c68ksbc, c68ksbc_state )
8778   /* basic machine hardware */
8879   MCFG_CPU_ADD("maincpu", M68000, 8000000) // text says 8MHz, schematic says 10MHz
8980   MCFG_CPU_PROGRAM_MAP(c68ksbc_mem)
9081
9182   MCFG_ACIA6850_ADD("acia", acia_intf)
92   MCFG_RS232_PORT_ADD("rs232", rs232_intf, default_rs232_devices, "serial_terminal")
83   MCFG_RS232_PORT_ADD("rs232", default_rs232_devices, "serial_terminal")
9384MACHINE_CONFIG_END
9485
9586/* ROM definition */
trunk/src/mess/drivers/kyocera.c
r26663r26664
11991199   DEVCB_NULL
12001200};
12011201
1202//-------------------------------------------------
1203//  rs232_port_interface rs232_intf
1204//-------------------------------------------------
1205
1206static const rs232_port_interface rs232_intf =
1207{
1208   DEVCB_NULL,
1209   DEVCB_NULL,
1210   DEVCB_NULL,
1211   DEVCB_NULL,
1212   DEVCB_NULL
1213};
1214
12151202/* Machine Drivers */
12161203
12171204void kc85_state::machine_start()
r26663r26664
14051392   MCFG_I8155_ADD(I8155_TAG, XTAL_4_9152MHz/2, kc85_8155_intf)
14061393   MCFG_UPD1990A_ADD(UPD1990A_TAG, XTAL_32_768kHz, NULL, INPUTLINE(I8085_TAG, I8085_RST75_LINE))
14071394   MCFG_IM6402_ADD(IM6402_TAG, uart_intf)
1408   MCFG_RS232_PORT_ADD(RS232_TAG, rs232_intf, default_rs232_devices, NULL)
1395   MCFG_RS232_PORT_ADD(RS232_TAG, default_rs232_devices, NULL)
14091396   MCFG_CENTRONICS_PRINTER_ADD(CENTRONICS_TAG, standard_centronics)
14101397   MCFG_CASSETTE_ADD("cassette", kc85_cassette_interface)
14111398
r26663r26664
14441431   MCFG_I8155_ADD(I8155_TAG, XTAL_4_9152MHz/2, kc85_8155_intf)
14451432   MCFG_UPD1990A_ADD(UPD1990A_TAG, XTAL_32_768kHz, NULL, INPUTLINE(I8085_TAG, I8085_RST75_LINE))
14461433   MCFG_IM6402_ADD(IM6402_TAG, uart_intf)
1447   MCFG_RS232_PORT_ADD(RS232_TAG, rs232_intf, default_rs232_devices, NULL)
1434   MCFG_RS232_PORT_ADD(RS232_TAG, default_rs232_devices, NULL)
14481435   MCFG_CENTRONICS_PRINTER_ADD(CENTRONICS_TAG, standard_centronics)
14491436   MCFG_CASSETTE_ADD("cassette", kc85_cassette_interface)
14501437
r26663r26664
14951482   MCFG_I8155_ADD(I8155_TAG, XTAL_4_9152MHz/2, kc85_8155_intf)
14961483   MCFG_UPD1990A_ADD(UPD1990A_TAG, XTAL_32_768kHz, NULL, INPUTLINE(I8085_TAG, I8085_RST75_LINE))
14971484   MCFG_IM6402_ADD(IM6402_TAG, uart_intf)
1498   MCFG_RS232_PORT_ADD(RS232_TAG, rs232_intf, default_rs232_devices, NULL)
1485   MCFG_RS232_PORT_ADD(RS232_TAG, default_rs232_devices, NULL)
14991486   MCFG_CENTRONICS_PRINTER_ADD(CENTRONICS_TAG, standard_centronics)
15001487   MCFG_CASSETTE_ADD("cassette", kc85_cassette_interface)
15011488//  MCFG_MC14412_ADD(MC14412_TAG, XTAL_1MHz)
r26663r26664
15451532   MCFG_I8155_ADD(I8155_TAG, XTAL_4_9152MHz/2, tandy200_8155_intf)
15461533   MCFG_RP5C01_ADD(RP5C01A_TAG, XTAL_32_768kHz, tandy200_rtc_intf)
15471534   MCFG_I8251_ADD(I8251_TAG, /*XTAL_4_9152MHz/2,*/ tandy200_uart_intf)
1548   MCFG_RS232_PORT_ADD(RS232_TAG, rs232_intf, default_rs232_devices, NULL)
1535   MCFG_RS232_PORT_ADD(RS232_TAG, default_rs232_devices, NULL)
15491536//  MCFG_MC14412_ADD(MC14412_TAG, XTAL_1MHz)
15501537   MCFG_CENTRONICS_PRINTER_ADD(CENTRONICS_TAG, standard_centronics)
15511538   MCFG_CASSETTE_ADD("cassette", kc85_cassette_interface)
trunk/src/mess/drivers/xerox820.c
r26663r26664
521521};
522522
523523
524//-------------------------------------------------
525//  rs232_port_interface rs232a_intf
526//-------------------------------------------------
527
528static const rs232_port_interface rs232a_intf =
529{
530   DEVCB_NULL,
531   DEVCB_NULL,
532   DEVCB_NULL,
533   DEVCB_NULL,
534   DEVCB_NULL
535};
536
537
538//-------------------------------------------------
539//  rs232_port_interface rs232b_intf
540//-------------------------------------------------
541
542static const rs232_port_interface rs232b_intf =
543{
544   DEVCB_NULL,
545   DEVCB_NULL,
546   DEVCB_NULL,
547   DEVCB_NULL,
548   DEVCB_NULL
549};
550
551524/* Video */
552525
553526UINT32 xerox820_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
r26663r26664
729702   MCFG_FLOPPY_DRIVE_ADD(FD1771_TAG":0", xerox820_floppies, "sa400", floppy_image_device::default_floppy_formats)
730703   MCFG_FLOPPY_DRIVE_ADD(FD1771_TAG":1", xerox820_floppies, "sa400", floppy_image_device::default_floppy_formats)
731704   MCFG_COM8116_ADD(COM8116_TAG, XTAL_5_0688MHz, NULL, WRITELINE(xerox820_state, fr_w), DEVWRITELINE(Z80SIO_TAG, z80dart_device, rxtxcb_w))
732   MCFG_RS232_PORT_ADD(RS232_A_TAG, rs232a_intf, default_rs232_devices, NULL)
733   MCFG_RS232_PORT_ADD(RS232_B_TAG, rs232b_intf, default_rs232_devices, NULL)
705   MCFG_RS232_PORT_ADD(RS232_A_TAG, default_rs232_devices, NULL)
706   MCFG_RS232_PORT_ADD(RS232_B_TAG, default_rs232_devices, NULL)
734707   MCFG_ASCII_KEYBOARD_ADD(KEYBOARD_TAG, keyboard_intf)
735708
736709   /* internal ram */
r26663r26664
777750   MCFG_FLOPPY_DRIVE_ADD(FD1797_TAG":0", xerox820_floppies, "sa450", floppy_image_device::default_floppy_formats)
778751   MCFG_FLOPPY_DRIVE_ADD(FD1797_TAG":1", xerox820_floppies, "sa450", floppy_image_device::default_floppy_formats)
779752   MCFG_COM8116_ADD(COM8116_TAG, XTAL_5_0688MHz, NULL, WRITELINE(xerox820_state, fr_w), DEVWRITELINE(Z80SIO_TAG, z80dart_device, rxtxcb_w))
780   MCFG_RS232_PORT_ADD(RS232_A_TAG, rs232a_intf, default_rs232_devices, NULL)
781   MCFG_RS232_PORT_ADD(RS232_B_TAG, rs232b_intf, default_rs232_devices, NULL)
753   MCFG_RS232_PORT_ADD(RS232_A_TAG, default_rs232_devices, NULL)
754   MCFG_RS232_PORT_ADD(RS232_B_TAG, default_rs232_devices, NULL)
782755   MCFG_ASCII_KEYBOARD_ADD(KEYBOARD_TAG, keyboard_intf)
783756
784757   // SASI bus
trunk/src/mess/drivers/v1050.c
r26663r26664
10131013   update_fdc();
10141014}
10151015
1016//-------------------------------------------------
1017//  rs232_port_interface rs232_intf
1018//-------------------------------------------------
1019
1020static const rs232_port_interface rs232_intf =
1021{
1022   DEVCB_NULL,
1023   DEVCB_NULL,
1024   DEVCB_NULL,
1025   DEVCB_NULL,
1026   DEVCB_NULL
1027};
1028
10291016/*
10301017static LEGACY_FLOPPY_OPTIONS_START( v1050 )
10311018    LEGACY_FLOPPY_OPTION( v1050, "dsk", "Visual 1050 disk image", basicdsk_identify_default, basicdsk_construct_default, NULL,
r26663r26664
11501137   MCFG_FLOPPY_DRIVE_ADD(MB8877_TAG":3", v1050_floppies, NULL,    floppy_image_device::default_floppy_formats)
11511138   MCFG_TIMER_DRIVER_ADD_PERIODIC(TIMER_KB_TAG, v1050_state, kb_8251_tick, attotime::from_hz((double)XTAL_16MHz/4/13/8))
11521139   MCFG_TIMER_DRIVER_ADD(TIMER_SIO_TAG, v1050_state, sio_8251_tick)
1153   MCFG_RS232_PORT_ADD(RS232_TAG, rs232_intf, default_rs232_devices, NULL)
1140   MCFG_RS232_PORT_ADD(RS232_TAG, default_rs232_devices, NULL)
11541141
11551142   // SASI bus
11561143   MCFG_SCSIBUS_ADD(SASIBUS_TAG)
trunk/src/mess/drivers/tiki100.c
r26663r26664
623623   { NULL }
624624};
625625
626//-------------------------------------------------
627//  rs232_port_interface rs232_intf
628//-------------------------------------------------
629626
630static const rs232_port_interface rs232_intf =
631{
632   DEVCB_NULL,
633   DEVCB_NULL,
634   DEVCB_NULL,
635   DEVCB_NULL,
636   DEVCB_NULL
637};
638
639
640627//-------------------------------------------------
641628//  cassette_interface cassette_intf
642629//-------------------------------------------------
r26663r26664
720707   MCFG_FD1797x_ADD(FD1797_TAG, XTAL_8MHz/8) // FD1767PL-02 or FD1797-PL
721708   MCFG_FLOPPY_DRIVE_ADD(FD1797_TAG":0", tiki100_floppies, "525qd", tiki100_state::floppy_formats)
722709   MCFG_FLOPPY_DRIVE_ADD(FD1797_TAG":1", tiki100_floppies, "525qd", tiki100_state::floppy_formats)
723   MCFG_RS232_PORT_ADD(RS232_A_TAG, rs232_intf, default_rs232_devices, NULL)
724   MCFG_RS232_PORT_ADD(RS232_B_TAG, rs232_intf, default_rs232_devices, NULL)
710   MCFG_RS232_PORT_ADD(RS232_A_TAG, default_rs232_devices, NULL)
711   MCFG_RS232_PORT_ADD(RS232_B_TAG, default_rs232_devices, NULL)
725712   MCFG_CENTRONICS_PRINTER_ADD(CENTRONICS_TAG, standard_centronics)
726713   MCFG_CASSETTE_ADD(CASSETTE_TAG, cassette_intf)
727714   MCFG_TIMER_DRIVER_ADD_PERIODIC("tape", tiki100_state, tape_tick, attotime::from_hz(44100))
trunk/src/mess/drivers/abc1600.c
r26663r26664
845845}
846846
847847
848//-------------------------------------------------
849//  rs232_port_interface rs232a_intf
850//-------------------------------------------------
851848
852static const rs232_port_interface rs232a_intf =
853{
854   DEVCB_NULL,
855   DEVCB_NULL,
856   DEVCB_NULL,
857   DEVCB_NULL,
858   DEVCB_NULL
859};
860
861
862//-------------------------------------------------
863//  rs232_port_interface rs232b_intf
864//-------------------------------------------------
865
866static const rs232_port_interface rs232b_intf =
867{
868   DEVCB_NULL,
869   DEVCB_NULL,
870   DEVCB_NULL,
871   DEVCB_NULL,
872   DEVCB_NULL
873};
874
875
876
877849//**************************************************************************
878850//  MACHINE INITIALIZATION
879851//**************************************************************************
r26663r26664
980952   MCFG_FLOPPY_DRIVE_ADD(SAB1797_02P_TAG":0", abc1600_floppies, NULL,    floppy_image_device::default_floppy_formats)
981953   MCFG_FLOPPY_DRIVE_ADD(SAB1797_02P_TAG":1", abc1600_floppies, NULL,    floppy_image_device::default_floppy_formats)
982954   MCFG_FLOPPY_DRIVE_ADD(SAB1797_02P_TAG":2", abc1600_floppies, "525qd", floppy_image_device::default_floppy_formats)
983   MCFG_RS232_PORT_ADD(RS232_A_TAG, rs232a_intf, default_rs232_devices, NULL)
984   MCFG_RS232_PORT_ADD(RS232_B_TAG, rs232b_intf, default_rs232_devices, NULL)
955   MCFG_RS232_PORT_ADD(RS232_A_TAG, default_rs232_devices, NULL)
956   MCFG_RS232_PORT_ADD(RS232_B_TAG, default_rs232_devices, NULL)
985957   MCFG_ABC_KEYBOARD_PORT_ADD("abc99", DEVWRITELINE(Z8470AB1_TAG, z80dart_device, rxtxcb_w), DEVWRITELINE(Z8470AB1_TAG, z80dart_device, dcdb_w))
986958   MCFG_ABCBUS_SLOT_ADD("bus0i", abc1600bus_cards, NULL)
987959   MCFG_ABCBUS_SLOT_IRQ_CALLBACK(DEVWRITELINE(Z8536B1_TAG, z8536_device, pa7_w))
trunk/src/mess/drivers/ob68k1a.c
r26663r26664
258258}
259259
260260
261//-------------------------------------------------
262//  rs232_port_interface rs232a_intf
263//-------------------------------------------------
264261
265static const rs232_port_interface rs232a_intf =
266{
267   DEVCB_NULL,
268   DEVCB_NULL,
269   DEVCB_NULL,
270   DEVCB_NULL,
271   DEVCB_NULL
272};
273
274
275//-------------------------------------------------
276//  rs232_port_interface rs232b_intf
277//-------------------------------------------------
278
279static const rs232_port_interface rs232b_intf =
280{
281   DEVCB_NULL,
282   DEVCB_NULL,
283   DEVCB_NULL,
284   DEVCB_NULL,
285   DEVCB_NULL
286};
287
288
289
290262//**************************************************************************
291263//  MACHINE INITIALIZATION
292264//**************************************************************************
r26663r26664
346318   MCFG_ACIA6850_ADD(MC6850_0_TAG, acia0_intf)
347319   MCFG_ACIA6850_ADD(MC6850_1_TAG, acia1_intf)
348320   MCFG_COM8116_ADD(COM8116_TAG, XTAL_5_0688MHz, NULL, WRITELINE(ob68k1a_state, rx_tx_0_w), WRITELINE(ob68k1a_state, rx_tx_1_w))
349   MCFG_RS232_PORT_ADD(RS232_A_TAG, rs232a_intf, default_rs232_devices, "serial_terminal")
350   MCFG_RS232_PORT_ADD(RS232_B_TAG, rs232b_intf, default_rs232_devices, NULL)
321   MCFG_RS232_PORT_ADD(RS232_A_TAG, default_rs232_devices, "serial_terminal")
322   MCFG_RS232_PORT_ADD(RS232_B_TAG, default_rs232_devices, NULL)
351323
352324   // internal ram
353325   MCFG_RAM_ADD(RAM_TAG)
trunk/src/mess/drivers/tandy2k.c
r26663r26664
603603   DEVCB_NULL                                      // NOT BUSY output
604604};
605605
606//-------------------------------------------------
607//  rs232_port_interface rs232_intf
608//-------------------------------------------------
609
610static const rs232_port_interface rs232_intf =
611{
612   DEVCB_NULL,
613   DEVCB_NULL,
614   DEVCB_NULL,
615   DEVCB_NULL,
616   DEVCB_NULL
617};
618
619606// Keyboard
620607
621608WRITE_LINE_MEMBER( tandy2k_state::kbdclk_w )
r26663r26664
712699   MCFG_FLOPPY_DRIVE_ADD(I8272A_TAG ":0", tandy2k_floppies, "525qd", floppy_image_device::default_floppy_formats)
713700   MCFG_FLOPPY_DRIVE_ADD(I8272A_TAG ":1", tandy2k_floppies, "525qd", floppy_image_device::default_floppy_formats)
714701   MCFG_CENTRONICS_PRINTER_ADD(CENTRONICS_TAG, standard_centronics)
715   MCFG_RS232_PORT_ADD(RS232_TAG, rs232_intf, default_rs232_devices, NULL)
702   MCFG_RS232_PORT_ADD(RS232_TAG, default_rs232_devices, NULL)
716703   MCFG_TANDY2K_KEYBOARD_ADD(WRITELINE(tandy2k_state, kbdclk_w), WRITELINE(tandy2k_state, kbddat_w))
717704
718705   // software lists
trunk/src/mess/drivers/pc1512.c
r26663r26664
11331133SLOT_INTERFACE_END
11341134
11351135
1136//-------------------------------------------------
1137//  rs232_port_interface rs232_intf
1138//-------------------------------------------------
11391136
1140static const rs232_port_interface rs232_intf =
1141{
1142   DEVCB_DEVICE_LINE_MEMBER(INS8250_TAG, ins8250_uart_device, rx_w),
1143   DEVCB_DEVICE_LINE_MEMBER(INS8250_TAG, ins8250_uart_device, dcd_w),
1144   DEVCB_DEVICE_LINE_MEMBER(INS8250_TAG, ins8250_uart_device, dsr_w),
1145   DEVCB_DEVICE_LINE_MEMBER(INS8250_TAG, ins8250_uart_device, ri_w),
1146   DEVCB_DEVICE_LINE_MEMBER(INS8250_TAG, ins8250_uart_device, cts_w)
1147};
1148
1149
1150
11511137//**************************************************************************
11521138//  MACHINE INITIALIZATION
11531139//**************************************************************************
r26663r26664
13111297   MCFG_FLOPPY_DRIVE_ADD(PC_FDC_XT_TAG ":1", pc1512_floppies, NULL,    pc1512_state::floppy_formats)
13121298   MCFG_INS8250_ADD(INS8250_TAG, uart_intf, XTAL_1_8432MHz)
13131299   MCFG_CENTRONICS_PRINTER_ADD(CENTRONICS_TAG, centronics_intf)
1314   MCFG_RS232_PORT_ADD(RS232_TAG, rs232_intf, default_rs232_devices, NULL)
1300   MCFG_RS232_PORT_ADD(RS232_TAG, default_rs232_devices, NULL)
1301   MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(INS8250_TAG, ins8250_uart_device, rx_w))
1302   MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE(INS8250_TAG, ins8250_uart_device, dcd_w))
1303   MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE(INS8250_TAG, ins8250_uart_device, dsr_w))
1304   MCFG_RS232_OUT_RI_HANDLER(DEVWRITELINE(INS8250_TAG, ins8250_uart_device, ri_w))
1305   MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE(INS8250_TAG, ins8250_uart_device, cts_w))
13151306
13161307   // ISA8 bus
13171308   MCFG_ISA8_BUS_ADD(ISA_BUS_TAG, ":" I8086_TAG, isabus_intf)
r26663r26664
13751366   MCFG_FLOPPY_DRIVE_ADD(PC_FDC_XT_TAG ":1", pc1512_floppies, NULL,    pc1512_state::floppy_formats)
13761367   MCFG_INS8250_ADD(INS8250_TAG, uart_intf, XTAL_1_8432MHz)
13771368   MCFG_CENTRONICS_PRINTER_ADD(CENTRONICS_TAG, centronics_intf)
1378   MCFG_RS232_PORT_ADD(RS232_TAG, rs232_intf, default_rs232_devices, NULL)
1369   MCFG_RS232_PORT_ADD(RS232_TAG, default_rs232_devices, NULL)
1370   MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(INS8250_TAG, ins8250_uart_device, rx_w))
1371   MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE(INS8250_TAG, ins8250_uart_device, dcd_w))
1372   MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE(INS8250_TAG, ins8250_uart_device, dsr_w))
1373   MCFG_RS232_OUT_RI_HANDLER(DEVWRITELINE(INS8250_TAG, ins8250_uart_device, ri_w))
1374   MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE(INS8250_TAG, ins8250_uart_device, cts_w))
13791375
13801376   // ISA8 bus
13811377   MCFG_ISA8_BUS_ADD(ISA_BUS_TAG, ":" I8086_TAG, isabus_intf)
trunk/src/mess/drivers/mikromik.c
r26663r26664
683683}
684684
685685
686//-------------------------------------------------
687//  rs232_port_interface rs232a_intf
688//-------------------------------------------------
689
690static const rs232_port_interface rs232a_intf =
691{
692   DEVCB_NULL,
693   DEVCB_NULL,
694   DEVCB_NULL,
695   DEVCB_NULL,
696   DEVCB_NULL
697};
698
699
700//-------------------------------------------------
701//  rs232_port_interface rs232b_intf
702//-------------------------------------------------
703
704static const rs232_port_interface rs232b_intf =
705{
706   DEVCB_NULL,
707   DEVCB_NULL,
708   DEVCB_NULL,
709   DEVCB_NULL,
710   DEVCB_NULL
711};
712
713
714//-------------------------------------------------
715//  rs232_port_interface rs232c_intf
716//-------------------------------------------------
717
718static const rs232_port_interface rs232c_intf =
719{
720   DEVCB_NULL,
721   DEVCB_NULL,
722   DEVCB_NULL,
723   DEVCB_NULL,
724   DEVCB_DEVICE_LINE_MEMBER(UPD7201_TAG, z80dart_device, ctsb_w)
725};
726
727
728
729686//**************************************************************************
730687//  MACHINE INITIALIZATION
731688//**************************************************************************
r26663r26664
799756   MCFG_UPD7201_ADD(UPD7201_TAG, XTAL_6_144MHz/2, mpsc_intf)
800757   MCFG_FLOPPY_DRIVE_ADD(UPD765_TAG ":0", mm1_floppies, "525qd", mm1_state::floppy_formats)
801758   MCFG_FLOPPY_DRIVE_ADD(UPD765_TAG ":1", mm1_floppies, "525qd", mm1_state::floppy_formats)
802   MCFG_RS232_PORT_ADD(RS232_A_TAG, rs232a_intf, default_rs232_devices, NULL)
803   MCFG_RS232_PORT_ADD(RS232_B_TAG, rs232b_intf, default_rs232_devices, NULL)
804   MCFG_RS232_PORT_ADD(RS232_C_TAG, rs232c_intf, default_rs232_devices, NULL)
759   MCFG_RS232_PORT_ADD(RS232_A_TAG, default_rs232_devices, NULL)
760   MCFG_RS232_PORT_ADD(RS232_B_TAG, default_rs232_devices, NULL)
805761
762   MCFG_RS232_PORT_ADD(RS232_C_TAG, default_rs232_devices, NULL)
763   MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE(UPD7201_TAG, z80dart_device, ctsb_w))
764
806765   // internal ram
807766   MCFG_RAM_ADD(RAM_TAG)
808767   MCFG_RAM_DEFAULT_SIZE("64K")
trunk/src/mess/drivers/vt100.c
r26663r26664
418418   DEVCB_NULL // out_syndet_cb
419419};
420420
421static const rs232_port_interface rs232_intf =
422{
423   DEVCB_NULL,
424   DEVCB_NULL,
425   DEVCB_NULL,
426   DEVCB_NULL,
427   DEVCB_NULL
428};
429
430421static MACHINE_CONFIG_START( vt100, vt100_state )
431422   /* basic machine hardware */
432423   MCFG_CPU_ADD("maincpu",I8080, XTAL_24_8832MHz / 9)
r26663r26664
454445
455446   /* i8251 uart */
456447   MCFG_I8251_ADD("i8251", i8251_intf)
457   MCFG_RS232_PORT_ADD(RS232_TAG, rs232_intf, default_rs232_devices, NULL)
448   MCFG_RS232_PORT_ADD(RS232_TAG, default_rs232_devices, NULL)
458449   MCFG_COM8116_ADD(COM5016T_TAG, XTAL_5_0688MHz, NULL, DEVWRITELINE("i8251", i8251_device, rxc_w), DEVWRITELINE("i8251", i8251_device, txc_w))
459450
460451
trunk/src/mess/drivers/esq5505.c
r26663r26664
653653   SLOT_INTERFACE("midiin", MIDIIN_PORT)
654654SLOT_INTERFACE_END
655655
656static const serial_port_interface midiin_intf =
657{
658   DEVCB_DEVICE_LINE_MEMBER("duart", duartn68681_device, rx_a_w)   // route MIDI Tx send directly to 68681 channel A Rx
659};
660
661656static SLOT_INTERFACE_START(midiout_slot)
662657   SLOT_INTERFACE("midiout", MIDIOUT_PORT)
663658SLOT_INTERFACE_END
664659
665static const serial_port_interface midiout_intf =
666{
667   DEVCB_NULL  // midi out ports don't transmit inward
668};
669
670660static MACHINE_CONFIG_START( vfx, esq5505_state )
671661   MCFG_CPU_ADD("maincpu", M68000, XTAL_10MHz)
672662   MCFG_CPU_PROGRAM_MAP(vfx_map)
r26663r26664
678668
679669   MCFG_DUARTN68681_ADD("duart", 4000000, duart_config)
680670
681   MCFG_SERIAL_PORT_ADD("mdin", midiin_intf, midiin_slot, "midiin")
682   MCFG_SERIAL_PORT_ADD("mdout", midiout_intf, midiout_slot, "midiout")
671   MCFG_SERIAL_PORT_ADD("mdin", midiin_slot, "midiin")
672   MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE("duart", duartn68681_device, rx_a_w)) // route MIDI Tx send directly to 68681 channel A Rx
683673
674   MCFG_SERIAL_PORT_ADD("mdout", midiout_slot, "midiout")
675
684676   MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
685677
686678   MCFG_SOUND_ADD("pump", ESQ_5505_5510_PUMP, XTAL_10MHz / (16 * 21))
r26663r26664
732724
733725   MCFG_DUARTN68681_ADD("duart", 4000000, duart_config)
734726
735   MCFG_SERIAL_PORT_ADD("mdin", midiin_intf, midiin_slot, "midiin")
736   MCFG_SERIAL_PORT_ADD("mdout", midiout_intf, midiout_slot, "midiout")
727   MCFG_SERIAL_PORT_ADD("mdin", midiin_slot, "midiin")
728   MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE("duart", duartn68681_device, rx_a_w)) // route MIDI Tx send directly to 68681 channel A Rx
737729
730   MCFG_SERIAL_PORT_ADD("mdout", midiout_slot, "midiout")
731
738732   MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
739733
740734   MCFG_SOUND_ADD("pump", ESQ_5505_5510_PUMP, XTAL_30_4761MHz / (2 * 16 * 32))
trunk/src/mess/drivers/abc80x.c
r26663r26664
884884};
885885
886886
887//-------------------------------------------------
888//  rs232_port_interface rs232a_intf
889//-------------------------------------------------
890
891static const rs232_port_interface rs232a_intf =
892{
893   DEVCB_NULL,
894   DEVCB_DEVICE_LINE_MEMBER(Z80DART_TAG, z80dart_device, dcda_w),
895   DEVCB_NULL,
896   DEVCB_NULL,
897   DEVCB_DEVICE_LINE_MEMBER(Z80DART_TAG, z80dart_device, ctsa_w)
898};
899
900
901//-------------------------------------------------
902//  rs232_port_interface rs232b_intf
903//-------------------------------------------------
904
905static const rs232_port_interface rs232b_intf =
906{
907   DEVCB_NULL,
908   DEVCB_DEVICE_LINE_MEMBER(Z80SIO_TAG, z80dart_device, dcda_w),
909   DEVCB_NULL,
910   DEVCB_NULL,
911   DEVCB_DEVICE_LINE_MEMBER(Z80SIO_TAG, z80dart_device, ctsa_w)
912};
913
914
915
916887//**************************************************************************
917888//  MACHINE INITIALIZATION
918889//**************************************************************************
r26663r26664
11761147   MCFG_Z80SIO2_ADD(Z80SIO_TAG, ABC800_X01/2/2, sio_intf)
11771148   MCFG_Z80DART_ADD(Z80DART_TAG, ABC800_X01/2/2, abc800_dart_intf)
11781149   MCFG_CASSETTE_ADD("cassette", cass_intf)
1179   MCFG_RS232_PORT_ADD(RS232_A_TAG, rs232a_intf, default_rs232_devices, NULL)
1180   MCFG_RS232_PORT_ADD(RS232_B_TAG, rs232b_intf, default_rs232_devices, NULL)
1150
1151   MCFG_RS232_PORT_ADD(RS232_A_TAG, default_rs232_devices, NULL)
1152   MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE(Z80DART_TAG, z80dart_device, dcda_w))
1153   MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE(Z80DART_TAG, z80dart_device, ctsa_w))
1154
1155   MCFG_RS232_PORT_ADD(RS232_B_TAG, default_rs232_devices, NULL)
1156   MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE(Z80SIO_TAG, z80dart_device, dcda_w))
1157   MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE(Z80SIO_TAG, z80dart_device, ctsa_w))
1158
11811159   MCFG_ABC_KEYBOARD_PORT_ADD("abc800", DEVWRITELINE(Z80DART_TAG, z80dart_device, rxtxcb_w), DEVWRITELINE(Z80DART_TAG, z80dart_device, dcdb_w))
11821160
11831161   // ABC bus
r26663r26664
12191197   MCFG_Z80SIO2_ADD(Z80SIO_TAG, ABC800_X01/2/2, sio_intf)
12201198   MCFG_Z80DART_ADD(Z80DART_TAG, ABC800_X01/2/2, abc800_dart_intf)
12211199   MCFG_CASSETTE_ADD("cassette", cass_intf)
1222   MCFG_RS232_PORT_ADD(RS232_A_TAG, rs232a_intf, default_rs232_devices, NULL)
1223   MCFG_RS232_PORT_ADD(RS232_B_TAG, rs232b_intf, default_rs232_devices, NULL)
1200
1201   MCFG_RS232_PORT_ADD(RS232_A_TAG, default_rs232_devices, NULL)
1202   MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE(Z80DART_TAG, z80dart_device, dcda_w))
1203   MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE(Z80DART_TAG, z80dart_device, ctsa_w))
1204
1205   MCFG_RS232_PORT_ADD(RS232_B_TAG, default_rs232_devices, NULL)
1206   MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE(Z80SIO_TAG, z80dart_device, dcda_w))
1207   MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE(Z80SIO_TAG, z80dart_device, ctsa_w))
1208
12241209   MCFG_ABC_KEYBOARD_PORT_ADD("abc800", DEVWRITELINE(Z80DART_TAG, z80dart_device, rxtxcb_w), DEVWRITELINE(Z80DART_TAG, z80dart_device, dcdb_w))
12251210
12261211   // ABC bus
r26663r26664
12621247   MCFG_Z80SIO2_ADD(Z80SIO_TAG, ABC800_X01/2/2, sio_intf)
12631248   MCFG_Z80DART_ADD(Z80DART_TAG, ABC800_X01/2/2, abc802_dart_intf)
12641249   MCFG_CASSETTE_ADD("cassette", cass_intf)
1265   MCFG_RS232_PORT_ADD(RS232_A_TAG, rs232a_intf, default_rs232_devices, NULL)
1266   MCFG_RS232_PORT_ADD(RS232_B_TAG, rs232b_intf, default_rs232_devices, NULL)
1250
1251   MCFG_RS232_PORT_ADD(RS232_A_TAG, default_rs232_devices, NULL)
1252   MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE(Z80DART_TAG, z80dart_device, dcda_w))
1253   MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE(Z80DART_TAG, z80dart_device, ctsa_w))
1254
1255   MCFG_RS232_PORT_ADD(RS232_B_TAG, default_rs232_devices, NULL)
1256   MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE(Z80SIO_TAG, z80dart_device, dcda_w))
1257   MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE(Z80SIO_TAG, z80dart_device, ctsa_w))
1258
12671259   MCFG_ABC_KEYBOARD_PORT_ADD("abc55", DEVWRITELINE(Z80DART_TAG, z80dart_device, rxtxcb_w), DEVWRITELINE(Z80DART_TAG, z80dart_device, dcdb_w))
12681260
12691261   // ABC bus
r26663r26664
12981290   MCFG_Z80CTC_ADD(Z80CTC_TAG, ABC800_X01/2/2, ctc_intf)
12991291   MCFG_Z80SIO2_ADD(Z80SIO_TAG, ABC800_X01/2/2, sio_intf)
13001292   MCFG_Z80DART_ADD(Z80DART_TAG, ABC800_X01/2/2, abc806_dart_intf)
1301   MCFG_RS232_PORT_ADD(RS232_A_TAG, rs232a_intf, default_rs232_devices, NULL)
1302   MCFG_RS232_PORT_ADD(RS232_B_TAG, rs232b_intf, default_rs232_devices, NULL)
1293
1294   MCFG_RS232_PORT_ADD(RS232_A_TAG, default_rs232_devices, NULL)
1295   MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE(Z80DART_TAG, z80dart_device, dcda_w))
1296   MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE(Z80DART_TAG, z80dart_device, ctsa_w))
1297
1298   MCFG_RS232_PORT_ADD(RS232_B_TAG, default_rs232_devices, NULL)
1299   MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE(Z80SIO_TAG, z80dart_device, dcda_w))
1300   MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE(Z80SIO_TAG, z80dart_device, ctsa_w))
1301
13031302   MCFG_ABC_KEYBOARD_PORT_ADD("abc77", DEVWRITELINE(Z80DART_TAG, z80dart_device, rxtxcb_w), DEVWRITELINE(Z80DART_TAG, z80dart_device, dcdb_w))
13041303
13051304   // ABC bus
trunk/src/mess/drivers/wangpc.c
r26663r26664
10421042
10431043
10441044//-------------------------------------------------
1045//  rs232_port_interface rs232_intf
1046//-------------------------------------------------
1047
1048static const rs232_port_interface rs232_intf =
1049{
1050   DEVCB_NULL,
1051   DEVCB_NULL,
1052   DEVCB_NULL,
1053   DEVCB_NULL,
1054   DEVCB_NULL
1055};
1056
1057
1058//-------------------------------------------------
10591045//  WANGPC_BUS_INTERFACE( kb_intf )
10601046//-------------------------------------------------
10611047
r26663r26664
12061192   MCFG_FLOPPY_DRIVE_ADD(UPD765_TAG ":0", wangpc_floppies, "525dd", wangpc_state::floppy_formats)
12071193   MCFG_FLOPPY_DRIVE_ADD(UPD765_TAG ":1", wangpc_floppies, "525dd", wangpc_state::floppy_formats)
12081194   MCFG_CENTRONICS_PRINTER_ADD(CENTRONICS_TAG, centronics_intf)
1209   MCFG_RS232_PORT_ADD(RS232_TAG, rs232_intf, default_rs232_devices, NULL)
1195   MCFG_RS232_PORT_ADD(RS232_TAG, default_rs232_devices, NULL)
12101196   MCFG_WANGPC_KEYBOARD_ADD()
12111197
12121198   // bus
trunk/src/mess/drivers/px4.c
r26663r26664
12421242//  MACHINE DRIVERS
12431243//**************************************************************************
12441244
1245static const rs232_port_interface rs232_intf =
1246{
1247   DEVCB_NULL,
1248   DEVCB_NULL,
1249   DEVCB_NULL,
1250   DEVCB_NULL,
1251   DEVCB_NULL
1252};
1253
12541245static const cassette_interface px4_cassette_interface =
12551246{
12561247   cassette_default_formats,
r26663r26664
12991290   MCFG_EPSON_SIO_ADD("sio", NULL)
13001291
13011292   // rs232 port
1302   MCFG_RS232_PORT_ADD("rs232", rs232_intf, default_rs232_devices, NULL)
1293   MCFG_RS232_PORT_ADD("rs232", default_rs232_devices, NULL)
13031294
13041295   // rom capsules
13051296   MCFG_CARTSLOT_ADD("capsule1")
trunk/src/mess/drivers/tavernie.c
r26663r26664
342342   DEVCB_NULL
343343};
344344
345static const rs232_port_interface rs232_intf =
346{
347   DEVCB_NULL,
348   DEVCB_NULL,
349   DEVCB_NULL,
350   DEVCB_NULL,
351   DEVCB_NULL
352};
353
354345WRITE8_MEMBER( tavernie_state::kbd_put )
355346{
356347   m_term_data = data;
r26663r26664
376367
377368   /* Devices */
378369   MCFG_CASSETTE_ADD( "cassette", default_cassette_interface )
379   MCFG_RS232_PORT_ADD("rs232", rs232_intf, default_rs232_devices, "serial_terminal")
370   MCFG_RS232_PORT_ADD("rs232", default_rs232_devices, "serial_terminal")
380371   MCFG_PIA6821_ADD("pia", mc6821_intf)
381372   MCFG_PTM6840_ADD("ptm", mc6840_intf)
382373   MCFG_ACIA6850_ADD("acia", mc6850_intf)
trunk/src/mess/drivers/bw2.c
r26663r26664
595595SLOT_INTERFACE_END
596596
597597
598//-------------------------------------------------
599//  rs232_port_interface rs232_intf
600//-------------------------------------------------
601598
602static const rs232_port_interface rs232_intf =
603{
604   DEVCB_NULL,
605   DEVCB_NULL,
606   DEVCB_NULL,
607   DEVCB_NULL,
608   DEVCB_NULL
609};
610
611
612
613599//**************************************************************************
614600//  MACHINE INITIALIZATION
615601//**************************************************************************
r26663r26664
674660   MCFG_FLOPPY_DRIVE_ADD(WD2797_TAG":0", bw2_floppies, "35dd", bw2_state::floppy_formats)
675661   MCFG_FLOPPY_DRIVE_ADD(WD2797_TAG":1", bw2_floppies, NULL,   bw2_state::floppy_formats)
676662   MCFG_BW2_EXPANSION_SLOT_ADD(BW2_EXPANSION_SLOT_TAG, XTAL_16MHz, bw2_expansion_cards, NULL)
677   MCFG_RS232_PORT_ADD(RS232_TAG, rs232_intf, default_rs232_devices, NULL)
663   MCFG_RS232_PORT_ADD(RS232_TAG, default_rs232_devices, NULL)
678664
679665   // software list
680666   MCFG_SOFTWARE_LIST_ADD("flop_list","bw2")
trunk/src/mess/drivers/ampro.c
r26663r26664
166166   DEVCB_NULL         /* ZC/TO2 callback */
167167};
168168
169static const rs232_port_interface rs232_intf =
170{
171   DEVCB_NULL,
172   DEVCB_NULL,
173   DEVCB_NULL,
174   DEVCB_NULL,
175   DEVCB_NULL
176};
177
178169static SLOT_INTERFACE_START( ampro_floppies )
179170   SLOT_INTERFACE( "525dd", FLOPPY_525_DD )
180171SLOT_INTERFACE_END
r26663r26664
209200   /* Devices */
210201   MCFG_Z80CTC_ADD( "z80ctc",   XTAL_16MHz / 4, ctc_intf )
211202   MCFG_Z80DART_ADD("z80dart",  XTAL_16MHz / 4, dart_intf )
212   MCFG_RS232_PORT_ADD("rs232", rs232_intf, default_rs232_devices, "serial_terminal")
203   MCFG_RS232_PORT_ADD("rs232", default_rs232_devices, "serial_terminal")
213204   MCFG_TIMER_DRIVER_ADD_PERIODIC("ctc_tick", ampro_state, ctc_tick, attotime::from_hz(XTAL_16MHz / 8))
214205   MCFG_WD1772x_ADD("fdc", XTAL_16MHz / 2)
215206   MCFG_FLOPPY_DRIVE_ADD("fdc:0", ampro_floppies, "525dd", floppy_image_device::default_floppy_formats)
trunk/src/mess/drivers/superslave.c
r26663r26664
336336};
337337
338338
339//-------------------------------------------------
340//  rs232_port_interface rs232a_intf
341//-------------------------------------------------
342
343339static DEVICE_INPUT_DEFAULTS_START( terminal )
344340   DEVICE_INPUT_DEFAULTS( "TERM_FRAME", 0x0f, 0x06 ) // 9600
345341   DEVICE_INPUT_DEFAULTS( "TERM_FRAME", 0x30, 0x00 ) // 8N1
346342DEVICE_INPUT_DEFAULTS_END
347343
348static const rs232_port_interface rs232a_intf =
349{
350   DEVCB_NULL,
351   DEVCB_DEVICE_LINE_MEMBER(Z80DART_0_TAG, z80dart_device, dcda_w),
352   DEVCB_NULL,
353   DEVCB_NULL,
354   DEVCB_DEVICE_LINE_MEMBER(Z80DART_0_TAG, z80dart_device, ctsa_w)
355};
356344
357
358345//-------------------------------------------------
359//  rs232_port_interface rs232b_intf
360//-------------------------------------------------
361
362static const rs232_port_interface rs232b_intf =
363{
364   DEVCB_NULL,
365   DEVCB_DEVICE_LINE_MEMBER(Z80DART_0_TAG, z80dart_device, dcdb_w),
366   DEVCB_NULL,
367   DEVCB_NULL,
368   DEVCB_DEVICE_LINE_MEMBER(Z80DART_0_TAG, z80dart_device, ctsb_w)
369};
370
371
372//-------------------------------------------------
373//  rs232_port_interface rs232c_intf
374//-------------------------------------------------
375
376static const rs232_port_interface rs232c_intf =
377{
378   DEVCB_NULL,
379   DEVCB_DEVICE_LINE_MEMBER(Z80DART_1_TAG, z80dart_device, dcda_w),
380   DEVCB_NULL,
381   DEVCB_NULL,
382   DEVCB_DEVICE_LINE_MEMBER(Z80DART_1_TAG, z80dart_device, ctsa_w)
383};
384
385
386//-------------------------------------------------
387//  rs232_port_interface rs232d_intf
388//-------------------------------------------------
389
390static const rs232_port_interface rs232d_intf =
391{
392   DEVCB_NULL,
393   DEVCB_DEVICE_LINE_MEMBER(Z80DART_1_TAG, z80dart_device, dcdb_w),
394   DEVCB_NULL,
395   DEVCB_NULL,
396   DEVCB_DEVICE_LINE_MEMBER(Z80DART_1_TAG, z80dart_device, ctsb_w)
397};
398
399
400//-------------------------------------------------
401346//  z80_daisy_config superslave_daisy_chain
402347//-------------------------------------------------
403348
r26663r26664
456401   MCFG_Z80DART_ADD(Z80DART_1_TAG, XTAL_8MHz/2, dart1_intf)
457402   MCFG_Z80PIO_ADD(Z80PIO_TAG, XTAL_8MHz/2, pio_intf)
458403   MCFG_COM8116_ADD(BR1941_TAG, XTAL_5_0688MHz, NULL, WRITELINE(superslave_state, fr_w), WRITELINE(superslave_state, ft_w))
459   MCFG_RS232_PORT_ADD(RS232_A_TAG, rs232a_intf, default_rs232_devices, "serial_terminal")
404
405   MCFG_RS232_PORT_ADD(RS232_A_TAG, default_rs232_devices, "serial_terminal")
406   MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE(Z80DART_0_TAG, z80dart_device, dcda_w))
407   MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE(Z80DART_0_TAG, z80dart_device, ctsa_w))
460408   MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("serial_terminal", terminal)
461   MCFG_RS232_PORT_ADD(RS232_B_TAG, rs232b_intf, default_rs232_devices, NULL)
462   MCFG_RS232_PORT_ADD(RS232_C_TAG, rs232c_intf, default_rs232_devices, NULL)
463   MCFG_RS232_PORT_ADD(RS232_D_TAG, rs232d_intf, default_rs232_devices, NULL)
464409
410   MCFG_RS232_PORT_ADD(RS232_B_TAG, default_rs232_devices, NULL)
411   MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE(Z80DART_0_TAG, z80dart_device, dcdb_w))
412   MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE(Z80DART_0_TAG, z80dart_device, ctsb_w))
413
414   MCFG_RS232_PORT_ADD(RS232_C_TAG, default_rs232_devices, NULL)
415   MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE(Z80DART_1_TAG, z80dart_device, dcda_w))
416   MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE(Z80DART_1_TAG, z80dart_device, ctsa_w))
417
418   MCFG_RS232_PORT_ADD(RS232_D_TAG, default_rs232_devices, NULL)
419   MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE(Z80DART_1_TAG, z80dart_device, dcdb_w))
420   MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE(Z80DART_1_TAG, z80dart_device, ctsb_w))
421
465422   // internal ram
466423   MCFG_RAM_ADD(RAM_TAG)
467424   MCFG_RAM_DEFAULT_SIZE("64K")
trunk/src/mess/drivers/ql.c
r26663r26664
887887};
888888
889889
890//-------------------------------------------------
891//  rs232_port_interface rs232a_intf
892//-------------------------------------------------
893890
894static const rs232_port_interface rs232a_intf =
895{
896   DEVCB_NULL,
897   DEVCB_NULL,
898   DEVCB_NULL,
899   DEVCB_NULL,
900   DEVCB_NULL
901};
902
903
904//-------------------------------------------------
905//  rs232_port_interface rs232b_intf
906//-------------------------------------------------
907
908static const rs232_port_interface rs232b_intf =
909{
910   DEVCB_NULL,
911   DEVCB_NULL,
912   DEVCB_NULL,
913   DEVCB_NULL,
914   DEVCB_NULL
915};
916
917
918
919891//**************************************************************************
920892//  MACHINE INITIALIZATION
921893//**************************************************************************
r26663r26664
10341006   MCFG_WD1772_ADD(WD1772_TAG,ql_wd17xx_interface)
10351007   MCFG_MICRODRIVE_ADD(MDV_1, mdv1_config)
10361008   MCFG_MICRODRIVE_ADD(MDV_2, mdv2_config)
1037   MCFG_RS232_PORT_ADD(RS232_A_TAG, rs232a_intf, default_rs232_devices, NULL) // wired as DCE
1038   MCFG_RS232_PORT_ADD(RS232_B_TAG, rs232b_intf, default_rs232_devices, NULL) // wired as DTE
1009   MCFG_RS232_PORT_ADD(RS232_A_TAG, default_rs232_devices, NULL) // wired as DCE
1010   MCFG_RS232_PORT_ADD(RS232_B_TAG, default_rs232_devices, NULL) // wired as DTE
10391011
10401012   // cartridge
10411013   MCFG_CARTSLOT_ADD("cart")
trunk/src/mess/drivers/vixen.c
r26663r26664
709709}
710710
711711
712//-------------------------------------------------
713//  rs232_port_interface rs232_intf
714//-------------------------------------------------
715712
716static const rs232_port_interface rs232_intf =
717{
718   DEVCB_NULL,
719   DEVCB_NULL,
720   DEVCB_NULL,
721   DEVCB_NULL,
722   DEVCB_NULL
723};
724
725
726
727713//**************************************************************************
728714//  MACHINE INITIALIZATION
729715//**************************************************************************
r26663r26664
832818   MCFG_IEEE488_BUS_ADD()
833819   MCFG_IEEE488_SRQ_CALLBACK(WRITELINE(vixen_state, srq_w))
834820   MCFG_IEEE488_ATN_CALLBACK(WRITELINE(vixen_state, atn_w))
835   MCFG_RS232_PORT_ADD(RS232_TAG, rs232_intf, default_rs232_devices, NULL)
821   MCFG_RS232_PORT_ADD(RS232_TAG, default_rs232_devices, NULL)
836822
837823   /* software lists */
838824   MCFG_SOFTWARE_LIST_ADD("disk_list", "vixen")
trunk/src/mess/drivers/victor9k.c
r26663r26664
11741174SLOT_INTERFACE_END
11751175
11761176
1177//-------------------------------------------------
1178//  rs232_port_interface rs232a_intf
1179//-------------------------------------------------
1180
1181static const rs232_port_interface rs232a_intf =
1182{
1183   DEVCB_NULL,
1184   DEVCB_DEVICE_LINE_MEMBER(UPD7201_TAG, z80dart_device, dcda_w),
1185   DEVCB_NULL,
1186   DEVCB_DEVICE_LINE_MEMBER(UPD7201_TAG, z80dart_device, ria_w),
1187   DEVCB_DEVICE_LINE_MEMBER(UPD7201_TAG, z80dart_device, ctsa_w)
1188};
1189
1190
1191//-------------------------------------------------
1192//  rs232_port_interface rs232b_intf
1193//-------------------------------------------------
1194
1195static const rs232_port_interface rs232b_intf =
1196{
1197   DEVCB_NULL,
1198   DEVCB_DEVICE_LINE_MEMBER(UPD7201_TAG, z80dart_device, dcdb_w),
1199   DEVCB_NULL,
1200   DEVCB_DEVICE_LINE_MEMBER(UPD7201_TAG, z80dart_device, rib_w),
1201   DEVCB_DEVICE_LINE_MEMBER(UPD7201_TAG, z80dart_device, ctsb_w)
1202};
1203
1204
1205
12061177//**************************************************************************
12071178//  MACHINE INITIALIZATION
12081179//**************************************************************************
r26663r26664
12811252   MCFG_VIA6522_ADD(M6522_6_TAG, XTAL_30MHz/30, via6_intf)
12821253   MCFG_FLOPPY_DRIVE_ADD(I8048_TAG":0", victor9k_floppies, "525qd", floppy_image_device::default_floppy_formats)
12831254   MCFG_FLOPPY_DRIVE_ADD(I8048_TAG":1", victor9k_floppies, "525qd", floppy_image_device::default_floppy_formats)
1284   MCFG_RS232_PORT_ADD(RS232_A_TAG, rs232a_intf, default_rs232_devices, NULL)
1285   MCFG_RS232_PORT_ADD(RS232_B_TAG, rs232b_intf, default_rs232_devices, NULL)
1255
1256   MCFG_RS232_PORT_ADD(RS232_A_TAG, default_rs232_devices, NULL)
1257   MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE(UPD7201_TAG, z80dart_device, dcda_w))
1258   MCFG_RS232_OUT_RI_HANDLER(DEVWRITELINE(UPD7201_TAG, z80dart_device, ria_w))
1259   MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE(UPD7201_TAG, z80dart_device, ctsa_w))
1260
1261   MCFG_RS232_PORT_ADD(RS232_B_TAG, default_rs232_devices, NULL)
1262   MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE(UPD7201_TAG, z80dart_device, dcdb_w))
1263   MCFG_RS232_OUT_RI_HANDLER(DEVWRITELINE(UPD7201_TAG, z80dart_device, rib_w))
1264   MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE(UPD7201_TAG, z80dart_device, ctsb_w))
1265
12861266   MCFG_VICTOR9K_KEYBOARD_ADD(WRITELINE(victor9k_state, kbrdy_w))
12871267
12881268   // internal ram
trunk/src/mess/drivers/portfoli.c
r26663r26664
772772};
773773
774774
775//-------------------------------------------------
776//  rs232_port_interface rs232_intf
777//-------------------------------------------------
778775
779static const rs232_port_interface rs232_intf =
780{
781   DEVCB_DEVICE_LINE_MEMBER(M82C50A_TAG, ins8250_uart_device, rx_w),
782   DEVCB_DEVICE_LINE_MEMBER(M82C50A_TAG, ins8250_uart_device, dcd_w),
783   DEVCB_DEVICE_LINE_MEMBER(M82C50A_TAG, ins8250_uart_device, dsr_w),
784   DEVCB_DEVICE_LINE_MEMBER(M82C50A_TAG, ins8250_uart_device, ri_w),
785   DEVCB_DEVICE_LINE_MEMBER(M82C50A_TAG, ins8250_uart_device, cts_w)
786};
787
788
789
790776//**************************************************************************
791777//  IMAGE LOADING
792778//**************************************************************************
r26663r26664
913899   MCFG_INS8250_ADD(M82C50A_TAG, i8250_intf, XTAL_1_8432MHz) // should be MCFG_INS8250A_ADD
914900   MCFG_TIMER_DRIVER_ADD_PERIODIC("counter", portfolio_state, counter_tick, attotime::from_hz(XTAL_32_768kHz/16384))
915901   MCFG_TIMER_DRIVER_ADD_PERIODIC(TIMER_TICK_TAG, portfolio_state, system_tick, attotime::from_hz(XTAL_32_768kHz/32768))
916   MCFG_RS232_PORT_ADD(RS232_TAG, rs232_intf, default_rs232_devices, NULL)
917902
903   MCFG_RS232_PORT_ADD(RS232_TAG, default_rs232_devices, NULL)
904   MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(M82C50A_TAG, ins8250_uart_device, rx_w))
905   MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE(M82C50A_TAG, ins8250_uart_device, dcd_w))
906   MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE(M82C50A_TAG, ins8250_uart_device, dsr_w))
907   MCFG_RS232_OUT_RI_HANDLER(DEVWRITELINE(M82C50A_TAG, ins8250_uart_device, ri_w))
908   MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE(M82C50A_TAG, ins8250_uart_device, cts_w))
909
918910   /* fake keyboard */
919911   MCFG_TIMER_DRIVER_ADD_PERIODIC("keyboard", portfolio_state, keyboard_tick, attotime::from_usec(2500))
920912
trunk/src/mess/drivers/esq1.c
r26663r26664
590590   SLOT_INTERFACE("midiin", MIDIIN_PORT)
591591SLOT_INTERFACE_END
592592
593static const serial_port_interface midiin_intf =
594{
595   DEVCB_DEVICE_LINE_MEMBER("duart", duartn68681_device, rx_a_w)   // route MIDI Tx send directly to 68681 channel A Rx
596};
597
598593static SLOT_INTERFACE_START(midiout_slot)
599594   SLOT_INTERFACE("midiout", MIDIOUT_PORT)
600595SLOT_INTERFACE_END
601596
602static const serial_port_interface midiout_intf =
603{
604   DEVCB_NULL  // midi out ports don't transmit inward
605};
606
607597static const duartn68681_config duart_config =
608598{
609599   DEVCB_DRIVER_LINE_MEMBER(esq1_state, duart_irq_handler),
r26663r26664
627617
628618   MCFG_DUARTN68681_ADD("duart", 4000000, duart_config)
629619   MCFG_ESQPANEL2x40_ADD("panel", esqpanel_config)
630   MCFG_SERIAL_PORT_ADD("mdin", midiin_intf, midiin_slot, "midiin")
631   MCFG_SERIAL_PORT_ADD("mdout", midiout_intf, midiout_slot, "midiout")
632620
621   MCFG_SERIAL_PORT_ADD("mdin", midiin_slot, "midiin")
622   MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE("duart", duartn68681_device, rx_a_w)) // route MIDI Tx send directly to 68681 channel A Rx
623
624   MCFG_SERIAL_PORT_ADD("mdout", midiout_slot, "midiout")
625
633626   MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
634627
635628   MCFG_SOUND_ADD("filters", ESQ1_FILTERS, 0)
trunk/src/mess/drivers/prof80.c
r26663r26664
451451};
452452
453453
454//-------------------------------------------------
455//  rs232_port_interface rs232_intf
456//-------------------------------------------------
457454
458static const rs232_port_interface rs232_intf =
459{
460   DEVCB_NULL,
461   DEVCB_NULL,
462   DEVCB_NULL,
463   DEVCB_NULL,
464   DEVCB_NULL
465};
466
467
468
469455//**************************************************************************
470456//  MACHINE INITIALIZATION
471457//**************************************************************************
r26663r26664
549535   MCFG_ECBBUS_SLOT_ADD(5, "ecb_5", ecbbus_cards, NULL)
550536
551537   // V24
552   MCFG_RS232_PORT_ADD(RS232_A_TAG, rs232_intf, default_rs232_devices, NULL)
553   MCFG_RS232_PORT_ADD(RS232_B_TAG, rs232_intf, default_rs232_devices, NULL)
538   MCFG_RS232_PORT_ADD(RS232_A_TAG, default_rs232_devices, NULL)
539   MCFG_RS232_PORT_ADD(RS232_B_TAG, default_rs232_devices, NULL)
554540
555541   // internal ram
556542   MCFG_RAM_ADD(RAM_TAG)
trunk/src/mess/drivers/bbc.c
r26663r26664
629629   DEVCB_NULL
630630};
631631
632static const rs232_port_interface rs232_intf =
633{
634   DEVCB_NULL,
635   DEVCB_NULL,
636   DEVCB_NULL,
637   DEVCB_NULL,
638   DEVCB_NULL
639};
640
641632static MACHINE_CONFIG_FRAGMENT( bbc_cartslot )
642633   MCFG_CARTSLOT_ADD("cart1")
643634   MCFG_CARTSLOT_EXTENSION_LIST("rom")
r26663r26664
705696
706697   /* acia */
707698   MCFG_ACIA6850_ADD("acia6850", bbc_acia6850_interface)
708   MCFG_RS232_PORT_ADD(RS232_TAG, rs232_intf, default_rs232_devices, NULL)
699   MCFG_RS232_PORT_ADD(RS232_TAG, default_rs232_devices, NULL)
709700
710701   /* devices */
711702   MCFG_VIA6522_ADD("via6522_0", 1000000, bbcb_system_via)
r26663r26664
892883
893884   /* acia */
894885   MCFG_ACIA6850_ADD("acia6850", bbc_acia6850_interface)
895   MCFG_RS232_PORT_ADD(RS232_TAG, rs232_intf, default_rs232_devices, NULL)
886   MCFG_RS232_PORT_ADD(RS232_TAG, default_rs232_devices, NULL)
896887
897888   /* devices */
898889   MCFG_UPD7002_ADD("upd7002", bbc_uPD7002)
trunk/src/mess/drivers/bw12.c
r26663r26664
601601FLOPPY_FORMATS_END
602602
603603
604//-------------------------------------------------
605//  rs232_port_interface rs232a_intf
606//-------------------------------------------------
607
608static const rs232_port_interface rs232a_intf =
609{
610   DEVCB_NULL,
611   DEVCB_DEVICE_LINE_MEMBER(Z80SIO_TAG, z80dart_device, dcda_w),
612   DEVCB_NULL,
613   DEVCB_NULL,
614   DEVCB_DEVICE_LINE_MEMBER(Z80SIO_TAG, z80dart_device, ctsa_w)
615};
616
617
618//-------------------------------------------------
619//  rs232_port_interface rs232b_intf
620//-------------------------------------------------
621
622static const rs232_port_interface rs232b_intf =
623{
624   DEVCB_NULL,
625   DEVCB_DEVICE_LINE_MEMBER(Z80SIO_TAG, z80dart_device, dcdb_w),
626   DEVCB_NULL,
627   DEVCB_NULL,
628   DEVCB_DEVICE_LINE_MEMBER(Z80SIO_TAG, z80dart_device, ctsb_w)
629};
630
631604/* F4 Character Displayer */
632605static const gfx_layout bw12_charlayout =
633606{
r26663r26664
679652   MCFG_Z80SIO0_ADD(Z80SIO_TAG, XTAL_16MHz/4, sio_intf)
680653   MCFG_PIT8253_ADD(PIT8253_TAG, pit_intf)
681654   MCFG_AY3600_ADD(AY3600PRO002_TAG, 0, bw12_ay3600_intf)
682   MCFG_RS232_PORT_ADD(RS232_A_TAG, rs232a_intf, default_rs232_devices, NULL)
683   MCFG_RS232_PORT_ADD(RS232_B_TAG, rs232b_intf, default_rs232_devices, NULL)
684655
656   MCFG_RS232_PORT_ADD(RS232_A_TAG, default_rs232_devices, NULL)
657   MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE(Z80SIO_TAG, z80dart_device, dcda_w))
658   MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE(Z80SIO_TAG, z80dart_device, ctsa_w))
659
660   MCFG_RS232_PORT_ADD(RS232_B_TAG, default_rs232_devices, NULL)
661   MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE(Z80SIO_TAG, z80dart_device, dcdb_w))
662   MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE(Z80SIO_TAG, z80dart_device, ctsb_w))
663
685664   /* printer */
686665   MCFG_CENTRONICS_PRINTER_ADD(CENTRONICS_TAG, bw12_centronics_intf)
687666MACHINE_CONFIG_END
trunk/src/mess/drivers/abc80.c
r26663r26664
452452};
453453
454454
455//-------------------------------------------------
456//  rs232_port_interface rs232_intf
457//-------------------------------------------------
458455
459static const rs232_port_interface rs232_intf =
460{
461   DEVCB_NULL,
462   DEVCB_NULL,
463   DEVCB_NULL,
464   DEVCB_NULL,
465   DEVCB_NULL
466};
467
468
469
470456//**************************************************************************
471457//  MACHINE INITIALIZATION
472458//**************************************************************************
r26663r26664
574560   MCFG_ABC80_KEYBOARD_ADD(WRITELINE(abc80_state, keydown_w))
575561   MCFG_ABCBUS_SLOT_ADD(ABCBUS_TAG, abcbus_cards, "slow")
576562   MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("slow", abc830_slow)
577   MCFG_RS232_PORT_ADD(RS232_TAG, rs232_intf, default_rs232_devices, NULL)
563   MCFG_RS232_PORT_ADD(RS232_TAG, default_rs232_devices, NULL)
578564   MCFG_ASCII_KEYBOARD_ADD(KEYBOARD_TAG, keyboard_intf)
579565
580566   // internal ram
trunk/src/mess/drivers/votrpss.c
r26663r26664
209209   DEVCB_NULL
210210};
211211
212static const rs232_port_interface rs232_intf =
213{
214   DEVCB_NULL,
215   DEVCB_NULL,
216   DEVCB_NULL,
217   DEVCB_NULL,
218   DEVCB_NULL
219};
220
221212static const struct pit8253_interface pit_intf =
222213{
223214   {
r26663r26664
350341
351342   /* Serial components - comment out if not needed */
352343   //MCFG_TIMER_DRIVER_ADD_PERIODIC("serial", votrpss_state, serial_tick, attotime::from_hz(153600))
353   //MCFG_RS232_PORT_ADD("rs232", rs232_intf, default_rs232_devices, "serial_terminal")
344   //MCFG_RS232_PORT_ADD("rs232", default_rs232_devices, "serial_terminal")
354345MACHINE_CONFIG_END
355346
356347
trunk/src/mess/drivers/hx20.c
r26663r26664
755755}
756756
757757
758//-------------------------------------------------
759//  rs232_port_interface rs232_intf
760//-------------------------------------------------
761758
762static const rs232_port_interface rs232_intf =
763{
764   DEVCB_NULL,
765   DEVCB_NULL,
766   DEVCB_NULL,
767   DEVCB_NULL,
768   DEVCB_NULL
769};
770
771
772
773759//**************************************************************************
774760//  VIDEO
775761//**************************************************************************
r26663r26664
862848   // devices
863849   MCFG_MC146818_ADD(MC146818_TAG, XTAL_4_194304Mhz)
864850   MCFG_MC146818_IRQ_HANDLER(WRITELINE(hx20_state, rtc_irq_w))
865   MCFG_RS232_PORT_ADD(RS232_TAG, rs232_intf, default_rs232_devices, NULL)
851   MCFG_RS232_PORT_ADD(RS232_TAG, default_rs232_devices, NULL)
866852   MCFG_CASSETTE_ADD(CASSETTE_TAG, default_cassette_interface)
867853   MCFG_EPSON_SIO_ADD("sio", "tf20")
868854
trunk/src/mess/drivers/super6.c
r26663r26664
494494};
495495
496496
497//-------------------------------------------------
498//  rs232_port_interface rs232a_intf
499//-------------------------------------------------
500
501497static DEVICE_INPUT_DEFAULTS_START( terminal )
502498   DEVICE_INPUT_DEFAULTS( "TERM_FRAME", 0x0f, 0x08 ) // 19200
503499   DEVICE_INPUT_DEFAULTS( "TERM_FRAME", 0x30, 0x00 ) // 8N1
504500DEVICE_INPUT_DEFAULTS_END
505501
506static const rs232_port_interface rs232a_intf =
507{
508   DEVCB_NULL,
509   DEVCB_NULL,
510   DEVCB_NULL,
511   DEVCB_NULL,
512   DEVCB_NULL
513};
514502
515503
516//-------------------------------------------------
517//  rs232_port_interface rs232b_intf
518//-------------------------------------------------
519
520static const rs232_port_interface rs232b_intf =
521{
522   DEVCB_NULL,
523   DEVCB_NULL,
524   DEVCB_NULL,
525   DEVCB_NULL,
526   DEVCB_NULL
527};
528
529
530
531504//**************************************************************************
532505//  MACHINE INITIALIZATION
533506//**************************************************************************
r26663r26664
588561   MCFG_COM8116_ADD(BR1945_TAG, XTAL_5_0688MHz, NULL, WRITELINE(super6_state, fr_w), DEVWRITELINE(Z80DART_TAG, z80dart_device, rxtxcb_w))
589562   MCFG_FLOPPY_DRIVE_ADD(WD2793_TAG":0", super6_floppies, "525dd", floppy_image_device::default_floppy_formats)
590563   MCFG_FLOPPY_DRIVE_ADD(WD2793_TAG":1", super6_floppies, NULL,    floppy_image_device::default_floppy_formats)
591   MCFG_RS232_PORT_ADD(RS232_A_TAG, rs232b_intf, default_rs232_devices, "serial_terminal")
564   MCFG_RS232_PORT_ADD(RS232_A_TAG, default_rs232_devices, "serial_terminal")
592565   MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("serial_terminal", terminal)
593   MCFG_RS232_PORT_ADD(RS232_B_TAG, rs232a_intf, default_rs232_devices, NULL)
566   MCFG_RS232_PORT_ADD(RS232_B_TAG, default_rs232_devices, NULL)
594567
595568   // internal ram
596569   MCFG_RAM_ADD(RAM_TAG)
trunk/src/mess/drivers/sdk86.c
r26663r26664
165165   DEVICE_INPUT_DEFAULTS( "TERM_FRAME", 0x30, 0x20 ) // 8N2
166166DEVICE_INPUT_DEFAULTS_END
167167
168static const rs232_port_interface rs232_intf =
169{
170   DEVCB_NULL,
171   DEVCB_NULL,
172   DEVCB_NULL,
173   DEVCB_NULL,
174   DEVCB_NULL
175};
176
177168static MACHINE_CONFIG_START( sdk86, sdk86_state )
178169   /* basic machine hardware */
179170   MCFG_CPU_ADD("maincpu", I8086, XTAL_14_7456MHz/3) /* divided down by i8284 clock generator; jumper selection allows it to be slowed to 2.5MHz, hence changing divider from 3 to 6 */
r26663r26664
186177   /* Devices */
187178   MCFG_I8251_ADD(I8251_TAG, usart_intf)
188179   MCFG_I8279_ADD("i8279", 2500000, sdk86_intf) // based on divider
189   MCFG_RS232_PORT_ADD(RS232_TAG, rs232_intf, default_rs232_devices, "serial_terminal")
180   MCFG_RS232_PORT_ADD(RS232_TAG, default_rs232_devices, "serial_terminal")
190181   MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("serial_terminal", terminal)
191182   MCFG_TIMER_DRIVER_ADD_PERIODIC("serial", sdk86_state, serial_tick, attotime::from_hz(307200))
192183MACHINE_CONFIG_END
trunk/src/mess/machine/serial.c
r26663r26664
1616
1717serial_port_device::serial_port_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
1818   : device_t(mconfig, SERIAL_PORT, "Serial Port", tag, owner, clock, "serial_port", __FILE__),
19      device_slot_interface(mconfig, *this),
20      m_dev(NULL)
19   device_slot_interface(mconfig, *this),
20   m_dev(NULL),
21   m_out_rx_handler(*this)
2122{
2223}
2324
2425serial_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)
2526   : device_t(mconfig, type, name, tag, owner, clock, shortname, source),
26      device_slot_interface(mconfig, *this),
27      m_dev(NULL)
27   device_slot_interface(mconfig, *this),
28   m_dev(NULL),
29   m_out_rx_handler(*this)
2830{
2931}
3032
r26663r26664
3436
3537void serial_port_device::device_config_complete()
3638{
37   const serial_port_interface *intf = reinterpret_cast<const serial_port_interface *>(static_config());
38   if (intf != NULL)
39   {
40      *static_cast<serial_port_interface *>(this) = *intf;
41   }
42   else
43   {
44      memset(&m_out_rx_cb, 0, sizeof(m_out_rx_cb));
45   }
4639   m_dev = dynamic_cast<device_serial_port_interface *>(get_card_device());
4740}
4841
4942void serial_port_device::device_start()
5043{
51   m_out_rx_func.resolve(m_out_rx_cb, *this);
44   m_out_rx_handler.resolve_safe();
5245}
5346
5447const device_type RS232_PORT = &device_creator<rs232_port_device>;
r26663r26664
6962}
7063
7164rs232_port_device::rs232_port_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
72   : serial_port_device(mconfig, RS232_PORT, "RS232 Port", tag, owner, clock, "rs232", __FILE__)
65   : serial_port_device(mconfig, RS232_PORT, "RS232 Port", tag, owner, clock, "rs232", __FILE__),
66   m_out_dcd_handler(*this),
67   m_out_dsr_handler(*this),
68   m_out_ri_handler(*this),
69   m_out_cts_handler(*this)
7370{
7471}
7572
r26663r26664
7976
8077void rs232_port_device::device_config_complete()
8178{
82   const rs232_port_interface *intf = reinterpret_cast<const rs232_port_interface *>(static_config());
83   if (intf != NULL)
84   {
85      *static_cast<rs232_port_interface *>(this) = *intf;
86      memcpy(&(serial_port_interface::m_out_rx_cb), &(rs232_port_interface::m_out_rx_cb), sizeof(rs232_port_interface::m_out_rx_cb));
87   }
88   else
89   {
90      memset(&(serial_port_interface::m_out_rx_cb), 0, sizeof(serial_port_interface::m_out_rx_cb));
91      memset(&m_out_dcd_cb, 0, sizeof(m_out_dcd_cb));
92      memset(&m_out_dsr_cb, 0, sizeof(m_out_dsr_cb));
93      memset(&m_out_ri_cb, 0, sizeof(m_out_ri_cb));
94      memset(&m_out_cts_cb, 0, sizeof(m_out_cts_cb));
95   }
79   serial_port_device::device_config_complete();
9680   m_dev = dynamic_cast<device_rs232_port_interface *>(get_card_device());
97   serial_port_device::m_dev = dynamic_cast<device_serial_port_interface *>(get_card_device());
9881   loopdtr = 0;
9982   looprts = 0;
10083}
r26663r26664
10285void rs232_port_device::device_start()
10386{
10487   serial_port_device::device_start();
105   m_out_dcd_func.resolve(m_out_dcd_cb, *this);
106   m_out_dsr_func.resolve(m_out_dsr_cb, *this);
107   m_out_ri_func.resolve(m_out_ri_cb, *this);
108   m_out_cts_func.resolve(m_out_cts_cb, *this);
88   m_out_dcd_handler.resolve_safe();
89   m_out_dsr_handler.resolve_safe();
90   m_out_ri_handler.resolve_safe();
91   m_out_cts_handler.resolve_safe();
10992}
11093
11194// XXX:make loopback handshaking optional if needed
trunk/src/mess/machine/serial.h
r26663r26664
33
44#include "emu.h"
55
6#define MCFG_SERIAL_PORT_ADD(_tag, _intf, _slot_intf, _def_slot) \
6#define MCFG_SERIAL_PORT_ADD(_tag, _slot_intf, _def_slot) \
77   MCFG_DEVICE_ADD(_tag, SERIAL_PORT, 0) \
8   MCFG_DEVICE_CONFIG(_intf) \
98   MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, false)
109
11#define MCFG_RS232_PORT_ADD(_tag, _intf, _slot_intf, _def_slot) \
10#define MCFG_RS232_PORT_ADD(_tag, _slot_intf, _def_slot) \
1211   MCFG_DEVICE_ADD(_tag, RS232_PORT, 0) \
13   MCFG_DEVICE_CONFIG(_intf) \
1412   MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, false)
1513
16struct serial_port_interface
17{
18   devcb_write_line    m_out_rx_cb;
19};
14#define MCFG_SERIAL_OUT_RX_HANDLER(_devcb) \
15   devcb = &serial_port_device::set_out_rx_handler(*device, DEVCB2_##_devcb);
2016
2117class device_serial_port_interface : public device_slot_card_interface
2218{
r26663r26664
3228};
3329
3430class serial_port_device : public device_t,
35                     public serial_port_interface,
36                     public device_slot_interface
31   public device_slot_interface
3732{
3833public:
3934   serial_port_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
4035   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);
4136   virtual ~serial_port_device();
4237
38   // static configuration helpers
39   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); }
40
4341   DECLARE_WRITE_LINE_MEMBER( tx ) { if(m_dev) m_dev->tx(state); }
4442   DECLARE_READ_LINE_MEMBER( rx )  { return (m_dev) ? m_dev->rx() : 1; }
4543
46   void out_rx(UINT8 param)  { m_out_rx_func(param); }
44   void out_rx(UINT8 param)  { m_out_rx_handler(param); }
45
4746protected:
4847   virtual void device_start();
4948   virtual void device_config_complete();
5049   device_serial_port_interface *m_dev;
50
5151private:
52   devcb_resolved_write_line m_out_rx_func;
52   devcb2_write_line m_out_rx_handler;
5353};
5454
5555extern const device_type SERIAL_PORT;
5656
57struct rs232_port_interface
58{
59   devcb_write_line    m_out_rx_cb;
60   devcb_write_line    m_out_dcd_cb;
61   devcb_write_line    m_out_dsr_cb;
62   devcb_write_line    m_out_ri_cb;
63   devcb_write_line    m_out_cts_cb;
64};
6557
6658class device_rs232_port_interface : public device_serial_port_interface
6759{
r26663r26664
7668   virtual UINT8 dsr_r() { return m_dsr; }
7769   virtual UINT8 ri_r()  { return m_ri; }
7870   virtual UINT8 cts_r() { return m_cts; }
71
7972protected:
8073   UINT8 m_dtr;
8174   UINT8 m_rts;
r26663r26664
8578   UINT8 m_cts;
8679};
8780
88class rs232_port_device : public serial_port_device,
89                     public rs232_port_interface
81
82#define MCFG_RS232_OUT_DCD_HANDLER(_devcb) \
83   devcb = &rs232_port_device::set_out_dcd_handler(*device, DEVCB2_##_devcb);
84
85#define MCFG_RS232_OUT_DSR_HANDLER(_devcb) \
86   devcb = &rs232_port_device::set_out_dsr_handler(*device, DEVCB2_##_devcb);
87
88#define MCFG_RS232_OUT_RI_HANDLER(_devcb) \
89   devcb = &rs232_port_device::set_out_ri_handler(*device, DEVCB2_##_devcb);
90
91#define MCFG_RS232_OUT_CTS_HANDLER(_devcb) \
92   devcb = &rs232_port_device::set_out_cts_handler(*device, DEVCB2_##_devcb);
93
94
95class rs232_port_device : public serial_port_device
9096{
9197public:
9298   rs232_port_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
9399   virtual ~rs232_port_device();
94100
101   // static configuration helpers
102   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); }
103   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); }
104   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); }
105   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); }
106
95107   DECLARE_WRITE_LINE_MEMBER( dtr_w );
96108   DECLARE_WRITE_LINE_MEMBER( rts_w );
97109
r26663r26664
100112   DECLARE_READ_LINE_MEMBER( ri_r )  { return (m_dev) ? m_dev->ri_r() : 0; }
101113   DECLARE_READ_LINE_MEMBER( cts_r ) { return (m_dev) ? m_dev->cts_r() : looprts; }
102114
103   void out_dcd(UINT8 param) { m_out_dcd_func(param); }
104   void out_dsr(UINT8 param) { m_out_dsr_func(param); }
105   void out_ri(UINT8 param)  { m_out_ri_func(param); }
106   void out_cts(UINT8 param) { m_out_cts_func(param); }
115   void out_dcd(UINT8 param) { m_out_dcd_handler(param); }
116   void out_dsr(UINT8 param) { m_out_dsr_handler(param); }
117   void out_ri(UINT8 param)  { m_out_ri_handler(param); }
118   void out_cts(UINT8 param) { m_out_cts_handler(param); }
107119
108120protected:
109121   virtual void device_start();
110122   virtual void device_config_complete();
123
124private:
111125   device_rs232_port_interface *m_dev;
112private:
113   devcb_resolved_write_line m_out_dcd_func;
114   devcb_resolved_write_line m_out_dsr_func;
115   devcb_resolved_write_line m_out_ri_func;
116   devcb_resolved_write_line m_out_cts_func;
126   devcb2_write_line  m_out_dcd_handler;
127   devcb2_write_line  m_out_dsr_handler;
128   devcb2_write_line  m_out_ri_handler;
129   devcb2_write_line  m_out_cts_handler;
117130   UINT8 loopdtr;
118131   UINT8 looprts;
119132};
trunk/src/mess/machine/mpu401.c
r26663r26664
7070   SLOT_INTERFACE("midiin", MIDIIN_PORT)
7171SLOT_INTERFACE_END
7272
73static const serial_port_interface midiin_intf =
74{
75   DEVCB_DEVICE_LINE_MEMBER(DEVICE_SELF_OWNER, mpu401_device, midi_rx_w)
76};
77
7873static SLOT_INTERFACE_START(midiout_slot)
7974   SLOT_INTERFACE("midiout", MIDIOUT_PORT)
8075SLOT_INTERFACE_END
8176
82static const serial_port_interface midiout_intf =
83{
84   DEVCB_NULL  // midi out ports don't transmit inward
85};
86
8777MACHINE_CONFIG_FRAGMENT( mpu401 )
8878   MCFG_CPU_ADD(M6801_TAG, M6801, 4000000) /* 4 MHz as per schematics */
8979   MCFG_CPU_PROGRAM_MAP(mpu401_map)
9080   MCFG_CPU_IO_MAP(mpu401_io_map)
9181   MCFG_M6801_SER_TX(WRITELINE(mpu401_device, mpu401_midi_tx))
9282
93   MCFG_SERIAL_PORT_ADD(MIDIIN_TAG, midiin_intf, midiin_slot, "midiin")
94   MCFG_SERIAL_PORT_ADD(MIDIOUT_TAG, midiout_intf, midiout_slot, "midiout")
83   MCFG_SERIAL_PORT_ADD(MIDIIN_TAG, midiin_slot, "midiin")
84   MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(DEVICE_SELF, mpu401_device, midi_rx_w))
85
86   MCFG_SERIAL_PORT_ADD(MIDIOUT_TAG, midiout_slot, "midiout")
9587MACHINE_CONFIG_END
9688
9789ROM_START( mpu401 )
trunk/src/mess/machine/isa_gus.c
r26663r26664
12191219   SLOT_INTERFACE("midiin", MIDIIN_PORT)
12201220SLOT_INTERFACE_END
12211221
1222static const serial_port_interface midiin_intf =
1223{
1224   DEVCB_DEVICE_LINE_MEMBER(DEVICE_SELF_OWNER, isa16_gus_device, midi_rx_w)
1225};
1226
12271222static SLOT_INTERFACE_START(midiout_slot)
12281223   SLOT_INTERFACE("midiout", MIDIOUT_PORT)
12291224SLOT_INTERFACE_END
12301225
1231static const serial_port_interface midiout_intf =
1232{
1233   DEVCB_NULL  // midi out ports don't transmit inward
1234};
1235
12361226static const gf1_interface gus_gf1_config =
12371227{
12381228   DEVCB_DEVICE_LINE_MEMBER(DEVICE_SELF_OWNER,isa16_gus_device,wavetable_irq),
r26663r26664
12531243   MCFG_SOUND_ROUTE(0,"lspeaker",0.50)
12541244   MCFG_SOUND_ROUTE(1,"rspeaker",0.50)
12551245   MCFG_ACIA6850_ADD("midi",gus_midi_interface)
1256   MCFG_SERIAL_PORT_ADD("mdin", midiin_intf, midiin_slot, "midiin")
1257   MCFG_SERIAL_PORT_ADD("mdout", midiout_intf, midiout_slot, "midiout")
1246   MCFG_SERIAL_PORT_ADD("mdin", midiin_slot, "midiin")
1247   MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(DEVICE_SELF, isa16_gus_device, midi_rx_w))
1248
1249   MCFG_SERIAL_PORT_ADD("mdout", midiout_slot, "midiout")
12581250MACHINE_CONFIG_END
12591251
12601252static INPUT_PORTS_START( gus_joy )
trunk/src/mess/machine/isa_sblaster.c
r26663r26664
6565   SLOT_INTERFACE("midiin", MIDIIN_PORT)
6666SLOT_INTERFACE_END
6767
68static const serial_port_interface midiin_intf =
69{
70   DEVCB_DEVICE_LINE_MEMBER(DEVICE_SELF_OWNER, sb_device, midi_rx_w)
71};
72
7368static SLOT_INTERFACE_START(midiout_slot)
7469   SLOT_INTERFACE("midiout", MIDIOUT_PORT)
7570SLOT_INTERFACE_END
7671
77static const serial_port_interface midiout_intf =
78{
79   DEVCB_NULL  // midi out ports don't transmit inward
80};
81
8272static MACHINE_CONFIG_FRAGMENT( sblaster1_0_config )
8373   MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
8474   MCFG_SOUND_ADD("ym3812", YM3812, ym3812_StdClock)
r26663r26664
9787   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.00)
9888
9989   MCFG_PC_JOY_ADD("pc_joy")
100   MCFG_SERIAL_PORT_ADD("mdin", midiin_intf, midiin_slot, "midiin")
101   MCFG_SERIAL_PORT_ADD("mdout", midiout_intf, midiout_slot, "midiout")
90   MCFG_SERIAL_PORT_ADD("mdin", midiin_slot, "midiin")
91   MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(DEVICE_SELF, sb_device, midi_rx_w))
92
93   MCFG_SERIAL_PORT_ADD("mdout", midiout_slot, "midiout")
10294MACHINE_CONFIG_END
10395
10496static MACHINE_CONFIG_FRAGMENT( sblaster1_5_config )
r26663r26664
114106   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.00)
115107
116108   MCFG_PC_JOY_ADD("pc_joy")
117   MCFG_SERIAL_PORT_ADD("mdin", midiin_intf, midiin_slot, "midiin")
118   MCFG_SERIAL_PORT_ADD("mdout", midiout_intf, midiout_slot, "midiout")
109   MCFG_SERIAL_PORT_ADD("mdin", midiin_slot, "midiin")
110   MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(DEVICE_SELF, sb_device, midi_rx_w))
111
112   MCFG_SERIAL_PORT_ADD("mdout", midiout_slot, "midiout")
119113MACHINE_CONFIG_END
120114
121115static MACHINE_CONFIG_FRAGMENT( sblaster_16_config )
r26663r26664
131125   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.00)
132126
133127   MCFG_PC_JOY_ADD("pc_joy")
134   MCFG_SERIAL_PORT_ADD("mdin", midiin_intf, midiin_slot, "midiin")
135   MCFG_SERIAL_PORT_ADD("mdout", midiout_intf, midiout_slot, "midiout")
128   MCFG_SERIAL_PORT_ADD("mdin", midiin_slot, "midiin")
129   MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(DEVICE_SELF, sb_device, midi_rx_w))
130
131   MCFG_SERIAL_PORT_ADD("mdout", midiout_slot, "midiout")
136132MACHINE_CONFIG_END
137133
138134static READ8_DEVICE_HANDLER( ym3812_16_r )
trunk/src/mess/machine/pc.c
r26663r26664
520520   }
521521};
522522
523const rs232_port_interface ibm5150_serport_config[4] =
524{
525   {
526      DEVCB_DEVICE_LINE_MEMBER("ins8250_0", ins8250_uart_device, rx_w),
527      DEVCB_DEVICE_LINE_MEMBER("ins8250_0", ins8250_uart_device, dcd_w),
528      DEVCB_DEVICE_LINE_MEMBER("ins8250_0", ins8250_uart_device, dsr_w),
529      DEVCB_DEVICE_LINE_MEMBER("ins8250_0", ins8250_uart_device, ri_w),
530      DEVCB_DEVICE_LINE_MEMBER("ins8250_0", ins8250_uart_device, cts_w)
531   },
532   {
533      DEVCB_DEVICE_LINE_MEMBER("ins8250_1", ins8250_uart_device, rx_w),
534      DEVCB_DEVICE_LINE_MEMBER("ins8250_1", ins8250_uart_device, dcd_w),
535      DEVCB_DEVICE_LINE_MEMBER("ins8250_1", ins8250_uart_device, dsr_w),
536      DEVCB_DEVICE_LINE_MEMBER("ins8250_1", ins8250_uart_device, ri_w),
537      DEVCB_DEVICE_LINE_MEMBER("ins8250_1", ins8250_uart_device, cts_w)
538   },
539   {
540      DEVCB_DEVICE_LINE_MEMBER("ins8250_2", ins8250_uart_device, rx_w),
541      DEVCB_DEVICE_LINE_MEMBER("ins8250_2", ins8250_uart_device, dcd_w),
542      DEVCB_DEVICE_LINE_MEMBER("ins8250_2", ins8250_uart_device, dsr_w),
543      DEVCB_DEVICE_LINE_MEMBER("ins8250_2", ins8250_uart_device, ri_w),
544      DEVCB_DEVICE_LINE_MEMBER("ins8250_2", ins8250_uart_device, cts_w)
545   },
546   {
547      DEVCB_DEVICE_LINE_MEMBER("ins8250_3", ins8250_uart_device, rx_w),
548      DEVCB_DEVICE_LINE_MEMBER("ins8250_3", ins8250_uart_device, dcd_w),
549      DEVCB_DEVICE_LINE_MEMBER("ins8250_3", ins8250_uart_device, dsr_w),
550      DEVCB_DEVICE_LINE_MEMBER("ins8250_3", ins8250_uart_device, ri_w),
551      DEVCB_DEVICE_LINE_MEMBER("ins8250_3", ins8250_uart_device, cts_w)
552   }
553};
554
555523/**********************************************************
556524 *
557525 * NMI handling
trunk/src/mess/machine/isa_com.c
r26663r26664
4747    }*/
4848};
4949
50static const rs232_port_interface serport_config[2] =
51{
52   {
53      DEVCB_DEVICE_LINE_MEMBER("uart_0", ins8250_uart_device, rx_w),
54      DEVCB_DEVICE_LINE_MEMBER("uart_0", ins8250_uart_device, dcd_w),
55      DEVCB_DEVICE_LINE_MEMBER("uart_0", ins8250_uart_device, dsr_w),
56      DEVCB_DEVICE_LINE_MEMBER("uart_0", ins8250_uart_device, ri_w),
57      DEVCB_DEVICE_LINE_MEMBER("uart_0", ins8250_uart_device, cts_w)
58   },
59   {
60      DEVCB_DEVICE_LINE_MEMBER("uart_1", ins8250_uart_device, rx_w),
61      DEVCB_DEVICE_LINE_MEMBER("uart_1", ins8250_uart_device, dcd_w),
62      DEVCB_DEVICE_LINE_MEMBER("uart_1", ins8250_uart_device, dsr_w),
63      DEVCB_DEVICE_LINE_MEMBER("uart_1", ins8250_uart_device, ri_w),
64      DEVCB_DEVICE_LINE_MEMBER("uart_1", ins8250_uart_device, cts_w)
65   }/*,
66    {
67        DEVCB_DEVICE_LINE_MEMBER("uart_2", ins8250_uart_device, rx_w),
68        DEVCB_DEVICE_LINE_MEMBER("uart_2", ins8250_uart_device, dcd_w),
69        DEVCB_DEVICE_LINE_MEMBER("uart_2", ins8250_uart_device, dsr_w),
70        DEVCB_DEVICE_LINE_MEMBER("uart_2", ins8250_uart_device, ri_w),
71        DEVCB_DEVICE_LINE_MEMBER("uart_2", ins8250_uart_device, cts_w)
72    },
73    {
74        DEVCB_DEVICE_LINE_MEMBER("uart_3", ins8250_uart_device, rx_w),
75        DEVCB_DEVICE_LINE_MEMBER("uart_3", ins8250_uart_device, dcd_w),
76        DEVCB_DEVICE_LINE_MEMBER("uart_3", ins8250_uart_device, dsr_w),
77        DEVCB_DEVICE_LINE_MEMBER("uart_3", ins8250_uart_device, ri_w),
78        DEVCB_DEVICE_LINE_MEMBER("uart_3", ins8250_uart_device, cts_w)
79    }*/
80};
81
8250static SLOT_INTERFACE_START(isa_com)
8351   SLOT_INTERFACE("microsoft_mouse", MSFT_SERIAL_MOUSE)
8452   SLOT_INTERFACE("msystems_mouse", MSYSTEM_SERIAL_MOUSE)
r26663r26664
9159   MCFG_INS8250_ADD( "uart_1", genpc_com_interface[1], XTAL_1_8432MHz )
9260   //MCFG_INS8250_ADD( "uart_2", genpc_com_interface[2], XTAL_1_8432MHz )
9361   //MCFG_INS8250_ADD( "uart_3", genpc_com_interface[3], XTAL_1_8432MHz )
94   MCFG_RS232_PORT_ADD( "serport0", serport_config[0], isa_com, "microsoft_mouse" )
95   MCFG_RS232_PORT_ADD( "serport1", serport_config[1], isa_com, NULL )
96   //MCFG_RS232_PORT_ADD( "serport2", serport_config[2], isa_com, NULL )
97   //MCFG_RS232_PORT_ADD( "serport3", serport_config[3], isa_com, NULL )
62
63   MCFG_RS232_PORT_ADD( "serport0", isa_com, "microsoft_mouse" )
64   MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE("uart_0", ins8250_uart_device, rx_w))
65   MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE("uart_0", ins8250_uart_device, dcd_w))
66   MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE("uart_0", ins8250_uart_device, dsr_w))
67   MCFG_RS232_OUT_RI_HANDLER(DEVWRITELINE("uart_0", ins8250_uart_device, ri_w))
68   MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE("uart_0", ins8250_uart_device, cts_w))
69
70   MCFG_RS232_PORT_ADD( "serport1", isa_com, NULL )
71   MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE("uart_1", ins8250_uart_device, rx_w))
72   MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE("uart_1", ins8250_uart_device, dcd_w))
73   MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE("uart_1", ins8250_uart_device, dsr_w))
74   MCFG_RS232_OUT_RI_HANDLER(DEVWRITELINE("uart_1", ins8250_uart_device, ri_w))
75   MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE("uart_1", ins8250_uart_device, cts_w))
76
77   //MCFG_RS232_PORT_ADD( "serport2", isa_com, NULL )
78   //MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE("uart_1", ins8250_uart_device, rx_w))
79   //MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE("uart_1", ins8250_uart_device, dcd_w))
80   //MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE("uart_1", ins8250_uart_device, dsr_w))
81   //MCFG_RS232_OUT_RI_HANDLER(DEVWRITELINE("uart_1", ins8250_uart_device, ri_w))
82   //MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE("uart_1", ins8250_uart_device, cts_w))
83
84   //MCFG_RS232_PORT_ADD( "serport3", isa_com, NULL )
85   //MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE("uart_2", ins8250_uart_device, rx_w))
86   //MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE("uart_2", ins8250_uart_device, dcd_w))
87   //MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE("uart_2", ins8250_uart_device, dsr_w))
88   //MCFG_RS232_OUT_RI_HANDLER(DEVWRITELINE("uart_2", ins8250_uart_device, ri_w))
89   //MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE("uart_2", ins8250_uart_device, cts_w))
9890MACHINE_CONFIG_END
9991
10092//**************************************************************************
r26663r26664
160152   MCFG_NS16450_ADD( "uart_1", genpc_com_interface[1], XTAL_1_8432MHz )
161153//  MCFG_NS16450_ADD( "uart_2", genpc_com_interface[2], XTAL_1_8432MHz )
162154//  MCFG_NS16450_ADD( "uart_3", genpc_com_interface[3], XTAL_1_8432MHz )
163   MCFG_RS232_PORT_ADD( "serport0", serport_config[0], isa_com, "microsoft_mouse" )
164   MCFG_RS232_PORT_ADD( "serport1", serport_config[1], isa_com, NULL )
165//  MCFG_RS232_PORT_ADD( "serport2", serport_config[2], isa_com, NULL )
166//  MCFG_RS232_PORT_ADD( "serport3", serport_config[3], isa_com, NULL )
155   MCFG_RS232_PORT_ADD( "serport0", isa_com, "microsoft_mouse" )
156   MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE("uart_0", ins8250_uart_device, rx_w))
157   MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE("uart_0", ins8250_uart_device, dcd_w))
158   MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE("uart_0", ins8250_uart_device, dsr_w))
159   MCFG_RS232_OUT_RI_HANDLER(DEVWRITELINE("uart_0", ins8250_uart_device, ri_w))
160   MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE("uart_0", ins8250_uart_device, cts_w))
161
162   MCFG_RS232_PORT_ADD( "serport1", isa_com, NULL )
163   MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE("uart_1", ins8250_uart_device, rx_w))
164   MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE("uart_1", ins8250_uart_device, dcd_w))
165   MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE("uart_1", ins8250_uart_device, dsr_w))
166   MCFG_RS232_OUT_RI_HANDLER(DEVWRITELINE("uart_1", ins8250_uart_device, ri_w))
167   MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE("uart_1", ins8250_uart_device, cts_w))
168
169//  MCFG_RS232_PORT_ADD( "serport2", isa_com, NULL )
170//  MCFG_RS232_PORT_ADD( "serport3", isa_com, NULL )
167171MACHINE_CONFIG_END
168172
169173//**************************************************************************

Previous 199869 Revisions Next


© 1997-2024 The MAME Team