Previous 199869 Revisions Next

r26691 Sunday 22nd December, 2013 at 22:05:13 UTC by smf
replaced read rx callback in Z80DART (and clones) with a write handler, which allows multiple chips to be connected together without using glue methods. [smf]
[src/emu/bus/abcbus]sio.c
[src/emu/bus/wangpc]mcc.c rtc.c
[src/emu/machine]z80dart.c z80dart.h
[src/mess/drivers]abc1600.c abc80x.c altos5.c ampro.c apricot.c apricotf.c apricotp.c attache.c bigbord2.c bullet.c bw12.c compis.c huebler.c isbc.c mikromik.c mtx.c mz2500.c nanos.c osbexec.c pcm.c qx10.c rt1715.c super6.c superslave.c tdv2324.c tiki100.c trs80m2.c victor9k.c x1.c x1twin.c xerox820.c
[src/mess/includes]abc1600.h abc80x.h huebler.h
[src/mess/machine]abc77.c abc77.h abc800kb.c abc800kb.h abc99.c abc99.h abckb.c abckb.h mc80.c tf20.c

trunk/src/emu/bus/abcbus/sio.c
r26690r26691
9797   DEVCB_NULL,
9898   DEVCB_NULL,
9999   DEVCB_NULL,
100   DEVCB_NULL,
101100
102101   DEVCB_NULL,
103102   DEVCB_NULL,
104103   DEVCB_NULL,
105104   DEVCB_NULL,
106105   DEVCB_NULL,
106
107107   DEVCB_NULL,
108
108   DEVCB_NULL,
109   DEVCB_NULL,
110   DEVCB_NULL,
109111   DEVCB_NULL
110112};
111113
trunk/src/emu/bus/wangpc/rtc.c
r26690r26691
166166   DEVCB_NULL,
167167   DEVCB_NULL,
168168   DEVCB_NULL,
169   DEVCB_NULL,
170169
171170   DEVCB_NULL,
172171   DEVCB_NULL,
173172   DEVCB_NULL,
174173   DEVCB_NULL,
175174   DEVCB_NULL,
175
176   DEVCB_CPU_INPUT_LINE(Z80_TAG, INPUT_LINE_IRQ0),
176177   DEVCB_NULL,
177
178   DEVCB_CPU_INPUT_LINE(Z80_TAG, INPUT_LINE_IRQ0)
178   DEVCB_NULL,
179   DEVCB_NULL,
180   DEVCB_NULL
179181};
180182
181183
trunk/src/emu/bus/wangpc/mcc.c
r26690r26691
6666   DEVCB_NULL,
6767   DEVCB_NULL,
6868   DEVCB_NULL,
69   DEVCB_NULL,
7069
7170   DEVCB_NULL,
7271   DEVCB_NULL,
7372   DEVCB_NULL,
7473   DEVCB_NULL,
7574   DEVCB_NULL,
75
7676   DEVCB_NULL,
77
77   DEVCB_NULL,
78   DEVCB_NULL,
79   DEVCB_NULL,
7880   DEVCB_NULL
7981};
8082
r26690r26691
9294   DEVCB_NULL,
9395   DEVCB_NULL,
9496   DEVCB_NULL,
95   DEVCB_NULL,
9697
9798   DEVCB_NULL,
9899   DEVCB_NULL,
99100   DEVCB_NULL,
100101   DEVCB_NULL,
101102   DEVCB_NULL,
103
102104   DEVCB_NULL,
103
105   DEVCB_NULL,
106   DEVCB_NULL,
107   DEVCB_NULL,
104108   DEVCB_NULL
105109};
106110
trunk/src/emu/machine/z80dart.c
r26690r26691
166166   {
167167      m_rxca = m_txca = m_rxcb = m_txcb = 0;
168168
169      memset(&m_in_rxda_cb, 0, sizeof(m_in_rxda_cb));
170169      memset(&m_out_txda_cb, 0, sizeof(m_out_txda_cb));
171170      memset(&m_out_dtra_cb, 0, sizeof(m_out_dtra_cb));
172171      memset(&m_out_rtsa_cb, 0, sizeof(m_out_rtsa_cb));
173172      memset(&m_out_wrdya_cb, 0, sizeof(m_out_wrdya_cb));
174173      memset(&m_out_synca_cb, 0, sizeof(m_out_synca_cb));
175      memset(&m_in_rxdb_cb, 0, sizeof(m_in_rxdb_cb));
176174      memset(&m_out_txdb_cb, 0, sizeof(m_out_txdb_cb));
177175      memset(&m_out_dtrb_cb, 0, sizeof(m_out_dtrb_cb));
178176      memset(&m_out_rtsb_cb, 0, sizeof(m_out_rtsb_cb));
r26690r26691
200198   m_chanA->m_rxc = m_rxca;
201199   m_chanA->m_txc = m_txca;
202200
203   m_chanA->m_in_rxd_cb = m_in_rxda_cb;
204201   m_chanA->m_out_txd_cb = m_out_txda_cb;
205202   m_chanA->m_out_dtr_cb = m_out_dtra_cb;
206203   m_chanA->m_out_rts_cb = m_out_rtsa_cb;
r26690r26691
213210   m_chanB->m_rxc = m_rxcb;
214211   m_chanB->m_txc = m_txcb;
215212
216   m_chanB->m_in_rxd_cb = m_in_rxdb_cb;
217   m_chanB->m_in_rxd_cb = m_in_rxdb_cb;
218213   m_chanB->m_out_txd_cb = m_out_txdb_cb;
219214   m_chanB->m_out_dtr_cb = m_out_dtrb_cb;
220215   m_chanB->m_out_rts_cb = m_out_rtsb_cb;
r26690r26691
509504   m_index = m_uart->get_channel_index(this);
510505
511506   // resolve callbacks
512   m_in_rxd_func.resolve(m_in_rxd_cb, *m_uart);
513507   m_out_txd_func.resolve(m_out_txd_cb, *m_uart);
514508   m_out_dtr_func.resolve(m_out_dtr_cb, *m_uart);
515509   m_out_rts_func.resolve(m_out_rts_cb, *m_uart);
r26690r26691
654648{
655649   if (m_wr[3] & WR3_RX_ENABLE)
656650   {
657      if (m_in_rxd_func.isnull())
658         receive_register_update_bit(get_in_data_bit());
659      else
660         receive_register_update_bit(m_in_rxd_func());
651      receive_register_update_bit(get_in_data_bit());
661652   }
662653}
663654
r26690r26691
13311322
13321323   serial_connection_out();
13331324}
1325
1326
1327//-------------------------------------------------
1328//  write_rx -
1329//-------------------------------------------------
1330
1331WRITE_LINE_MEMBER(z80dart_channel::write_rx)
1332{
1333   if (state)
1334   {
1335      input_callback(m_input_state | RX);
1336   }
1337   else
1338   {
1339      input_callback(m_input_state & ~RX);
1340   }
1341}
1342
trunk/src/emu/machine/z80dart.h
r26690r26691
218218   int m_rxcb;
219219   int m_txcb;
220220
221   devcb_read_line     m_in_rxda_cb;
222221   devcb_write_line    m_out_txda_cb;
223222   devcb_write_line    m_out_dtra_cb;
224223   devcb_write_line    m_out_rtsa_cb;
225224   devcb_write_line    m_out_wrdya_cb;
226225   devcb_write_line    m_out_synca_cb;
227226
228   devcb_read_line     m_in_rxdb_cb;
229227   devcb_write_line    m_out_txdb_cb;
230228   devcb_write_line    m_out_dtrb_cb;
231229   devcb_write_line    m_out_rtsb_cb;
r26690r26691
272270
273271   void receive_data(UINT8 data);
274272
273   DECLARE_WRITE_LINE_MEMBER( write_rx );
275274   DECLARE_WRITE_LINE_MEMBER( cts_w );
276275   DECLARE_WRITE_LINE_MEMBER( dcd_w );
277276   DECLARE_WRITE_LINE_MEMBER( ri_w );
r26690r26691
279278   DECLARE_WRITE_LINE_MEMBER( txc_w );
280279   DECLARE_WRITE_LINE_MEMBER( sync_w );
281280
282   devcb_read_line    m_in_rxd_cb;
283281   devcb_write_line   m_out_txd_cb;
284282   devcb_write_line   m_out_dtr_cb;
285283   devcb_write_line   m_out_rts_cb;
r26690r26691
437435   int get_rx_word_length();
438436   int get_tx_word_length();
439437
440   devcb_resolved_read_line    m_in_rxd_func;
441438   devcb_resolved_write_line   m_out_txd_func;
442439   devcb_resolved_write_line   m_out_dtr_func;
443440   devcb_resolved_write_line   m_out_rts_func;
r26690r26691
497494   // interrupt acknowledge
498495   int m1_r();
499496
497   DECLARE_WRITE_LINE_MEMBER( rxa_w ) { m_chanA->write_rx(state); }
498   DECLARE_WRITE_LINE_MEMBER( rxb_w ) { m_chanB->write_rx(state); }
500499   DECLARE_WRITE_LINE_MEMBER( ctsa_w ) { m_chanA->cts_w(state); }
501500   DECLARE_WRITE_LINE_MEMBER( ctsb_w ) { m_chanB->cts_w(state); }
502501   DECLARE_WRITE_LINE_MEMBER( dcda_w ) { m_chanA->dcd_w(state); }
trunk/src/mess/machine/abc99.c
r26690r26691
431431
432432
433433//-------------------------------------------------
434//  serial_output -
435//-------------------------------------------------
436
437inline void abc99_device::serial_output(int state)
438{
439   if (m_txd != state)
440   {
441      m_txd = state;
442
443      m_slot->write_rx(m_txd);
444   }
445}
446
447
448//-------------------------------------------------
434449//  serial_clock -
435450//-------------------------------------------------
436451
r26690r26691
489504      m_t1_z2(0),
490505      m_t1_z5(0),
491506      m_led_en(0),
492      m_reset(1)
507      m_reset(1),
508      m_txd(1)
493509{
494510}
495511
r26690r26691
516532   save_item(NAME(m_t1_z5));
517533   save_item(NAME(m_led_en));
518534   save_item(NAME(m_reset));
535   save_item(NAME(m_txd));
519536}
520537
521538
r26690r26691
551568
552569
553570//-------------------------------------------------
554//  rxd_r -
555//-------------------------------------------------
556
557int abc99_device::rxd_r()
558{
559   return m_so_z2 && m_so_z5;
560}
561
562
563//-------------------------------------------------
564571//  txd_w -
565572//-------------------------------------------------
566573
r26690r26691
616623
617624   // serial output
618625   m_so_z2 = BIT(data, 0);
626   serial_output(m_so_z2 && m_so_z5);
619627
620628   // key down
621629   key_down(!BIT(data, 1));
r26690r26691
758766
759767   // serial output
760768   m_so_z5 = BIT(data, 6);
769   serial_output(m_so_z2 && m_so_z5);
761770
762771   // keyboard CPU T1
763772   m_t1_z2 = BIT(data, 7);
trunk/src/mess/machine/abc99.h
r26690r26691
4040   virtual ioport_constructor device_input_ports() const;
4141
4242   // abc_keyboard_interface overrides
43   virtual int rxd_r();
4443   virtual void txd_w(int state);
4544
4645   DECLARE_INPUT_CHANGED_MEMBER( keyboard_reset );
r26690r26691
8382   };
8483
8584   inline void serial_input();
85   inline void serial_output(int state);
8686   inline void serial_clock();
8787   inline void key_down(int state);
8888   inline void scan_mouse();
r26690r26691
108108   int m_t1_z5;
109109   int m_led_en;
110110   int m_reset;
111   int m_txd;
111112};
112113
113114
trunk/src/mess/machine/abc800kb.c
r26690r26691
293293   if (m_txd != state)
294294   {
295295      m_txd = state;
296
297      m_slot->write_rx(m_txd);
296298   }
297299}
298300
r26690r26691
397399
398400
399401//-------------------------------------------------
400//  rxd_r -
401//-------------------------------------------------
402
403int abc800_keyboard_device::rxd_r()
404{
405   return m_txd;
406}
407
408
409//-------------------------------------------------
410402//  txd_w -
411403//-------------------------------------------------
412404
trunk/src/mess/machine/abc800kb.h
r26690r26691
4141   virtual ioport_constructor device_input_ports() const;
4242
4343   // abc_keyboard_interface overrides
44   virtual int rxd_r();
4544   virtual void txd_w(int state);
4645
4746   // not really public
trunk/src/mess/machine/abckb.c
r26690r26691
5252abc_keyboard_port_device::abc_keyboard_port_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) :
5353   device_t(mconfig, ABC_KEYBOARD_PORT, "Luxor ABC keyboard port", tag, owner, clock, "abc_keyboard_port", __FILE__),
5454   device_slot_interface(mconfig, *this),
55   m_write_trxc(*this),
56   m_write_keydown(*this)
55   m_out_rx_handler(*this),
56   m_out_trxc_handler(*this),
57   m_out_keydown_handler(*this)
5758{
5859}
5960
r26690r26691
6768   m_card = dynamic_cast<abc_keyboard_interface *>(get_card_device());
6869
6970   // resolve callbacks
70   m_write_trxc.resolve_safe();
71   m_write_keydown.resolve_safe();
71   m_out_rx_handler.resolve_safe();
72   m_out_trxc_handler.resolve_safe();
73   m_out_keydown_handler.resolve_safe();
7274}
7375
7476
r26690r26691
8486
8587
8688//-------------------------------------------------
87//  rxd_r -
89//  write_rx -
8890//-------------------------------------------------
8991
90READ_LINE_MEMBER( abc_keyboard_port_device::rxd_r )
92WRITE_LINE_MEMBER( abc_keyboard_port_device::write_rx )
9193{
92   int state = 1;
93
94   if (m_card != NULL)
95      state = m_card->rxd_r();
96
97   return state;
94   m_out_rx_handler(state);
9895}
9996
10097
r26690r26691
115112
116113WRITE_LINE_MEMBER( abc_keyboard_port_device::trxc_w )
117114{
118   m_write_trxc(state);
115   m_out_trxc_handler(state);
119116}
120117
121118
r26690r26691
125122
126123WRITE_LINE_MEMBER( abc_keyboard_port_device::keydown_w )
127124{
128   m_write_keydown(state);
125   m_out_keydown_handler(state);
129126}
130127
131128
trunk/src/mess/machine/abckb.h
r26690r26691
1919
2020
2121//**************************************************************************
22//  MACROS / CONSTANTS
22//  INTERFACE CONFIGURATION MACROS
2323//**************************************************************************
2424
25#define ABC_KEYBOARD_PORT_TAG   "kb"
25#define MCFG_ABC_KEYBOARD_PORT_ADD(_tag, _def_slot) \
26   MCFG_DEVICE_ADD(_tag, ABC_KEYBOARD_PORT, 0) \
27   MCFG_DEVICE_SLOT_INTERFACE(abc_keyboard_devices, _def_slot, false)
2628
29#define MCFG_ABC_KEYBOARD_OUT_RX_HANDLER(_devcb) \
30   devcb = &abc_keyboard_port_device::set_out_rx_handler(*device, DEVCB2_##_devcb);
2731
32#define MCFG_ABC_KEYBOARD_OUT_TRXC_HANDLER(_devcb) \
33   devcb = &abc_keyboard_port_device::set_out_trxc_handler(*device, DEVCB2_##_devcb);
2834
29//**************************************************************************
30//  INTERFACE CONFIGURATION MACROS
31//**************************************************************************
35#define MCFG_ABC_KEYBOARD_OUT_KEYDOWN_HANDLER(_devcb) \
36   devcb = &abc_keyboard_port_device::set_out_keydown_handler(*device, DEVCB2_##_devcb);
3237
33#define MCFG_ABC_KEYBOARD_PORT_ADD(_def_slot, _trxc, _keydown) \
34   MCFG_DEVICE_ADD(ABC_KEYBOARD_PORT_TAG, ABC_KEYBOARD_PORT, 0) \
35   MCFG_DEVICE_SLOT_INTERFACE(abc_keyboard_devices, _def_slot, false) \
36   downcast<abc_keyboard_port_device *>(device)->set_callbacks(DEVCB2_##_trxc, DEVCB2_##_keydown);
3738
3839
39
4040//**************************************************************************
4141//  TYPE DEFINITIONS
4242//**************************************************************************
r26690r26691
5050   // construction/destruction
5151   abc_keyboard_port_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
5252
53   template<class _trxc, class _keydown> void set_callbacks(_trxc trxc, _keydown keydown) {
54      m_write_trxc.set_callback(trxc);
55      m_write_keydown.set_callback(keydown);
56   }
53   template<class _Object> static devcb2_base &set_out_rx_handler(device_t &device, _Object object) { return downcast<abc_keyboard_port_device &>(device).m_out_rx_handler.set_callback(object); }
54   template<class _Object> static devcb2_base &set_out_trxc_handler(device_t &device, _Object object) { return downcast<abc_keyboard_port_device &>(device).m_out_trxc_handler.set_callback(object); }
55   template<class _Object> static devcb2_base &set_out_keydown_handler(device_t &device, _Object object) { return downcast<abc_keyboard_port_device &>(device).m_out_keydown_handler.set_callback(object); }
5756
5857   // computer interface
59   DECLARE_READ_LINE_MEMBER( rxd_r );
6058   DECLARE_WRITE_LINE_MEMBER( txd_w );
6159
6260   // peripheral interface
61   DECLARE_WRITE_LINE_MEMBER( write_rx );
6362   DECLARE_WRITE_LINE_MEMBER( trxc_w );
6463   DECLARE_WRITE_LINE_MEMBER( keydown_w );
6564
r26690r26691
6867   virtual void device_start();
6968   virtual void device_reset();
7069
71   devcb2_write_line m_write_trxc;
72   devcb2_write_line m_write_keydown;
70   devcb2_write_line m_out_rx_handler;
71   devcb2_write_line m_out_trxc_handler;
72   devcb2_write_line m_out_keydown_handler;
7373
7474   abc_keyboard_interface *m_card;
7575};
r26690r26691
8181   // construction/destruction
8282   abc_keyboard_interface(const machine_config &mconfig, device_t &device);
8383
84   virtual int rxd_r() { return 1; };
8584   virtual void txd_w(int state) { };
8685
8786protected:
trunk/src/mess/machine/tf20.c
r26690r26691
9393   DEVCB_NULL,
9494   DEVCB_NULL,
9595   DEVCB_NULL,
96   DEVCB_NULL,
9796
9897   DEVCB_NULL,
9998   DEVCB_NULL,
10099   DEVCB_NULL,
101100   DEVCB_NULL,
102101   DEVCB_NULL,
103   DEVCB_NULL,
104102
105103   DEVCB_NULL,
106104   DEVCB_NULL,
trunk/src/mess/machine/mc80.c
r26690r26691
201201   DEVCB_NULL,
202202   DEVCB_NULL,
203203   DEVCB_NULL,
204   DEVCB_NULL,
205204
206205   DEVCB_NULL,
207206   DEVCB_NULL,
208207   DEVCB_NULL,
209208   DEVCB_NULL,
210209   DEVCB_NULL,
210
211211   DEVCB_NULL,
212
212   DEVCB_NULL,
213   DEVCB_NULL,
214   DEVCB_NULL,
213215   DEVCB_NULL
214216};
trunk/src/mess/machine/abc77.c
r26690r26691
383383   if (m_txd != state)
384384   {
385385      m_txd = state;
386
387      m_slot->write_rx(m_txd);
386388   }
387389}
388390
r26690r26691
527529
528530
529531//-------------------------------------------------
530//  rxd_r -
531//-------------------------------------------------
532
533int abc77_device::rxd_r()
534{
535   return m_txd;
536}
537
538
539//-------------------------------------------------
540532//  txd_w -
541533//-------------------------------------------------
542534
trunk/src/mess/machine/abc77.h
r26690r26691
4242   virtual ioport_constructor device_input_ports() const;
4343
4444   // abc_keyboard_interface overrides
45   virtual int rxd_r();
4645   virtual void txd_w(int state);
4746
4847   DECLARE_INPUT_CHANGED_MEMBER( keyboard_reset );
trunk/src/mess/includes/abc80x.h
r26690r26691
6161#define DISCRETE_TAG        "discrete"
6262#define RS232_A_TAG         "rs232a"
6363#define RS232_B_TAG         "rs232b"
64#define ABC_KEYBOARD_PORT_TAG   "kb"
6465
6566
6667//**************************************************************************
r26690r26691
8687         m_char_ram(*this, "char_ram"),
8788         m_io_sb(*this, "SB"),
8889         m_ctc_z0(0),
89         m_sio_rxdb(1),
9090         m_sio_txcb(0),
9191         m_sio_txdb(1),
9292         m_sio_rtsb(1),
r26690r26691
123123   void clock_cassette(int state);
124124
125125   DECLARE_READ8_MEMBER( pling_r );
126   DECLARE_READ_LINE_MEMBER( keyboard_txd_r );
127126   DECLARE_READ8_MEMBER( keyboard_col_r );
128127   DECLARE_WRITE8_MEMBER( keyboard_row_w );
129128   DECLARE_WRITE8_MEMBER( keyboard_ctrl_w );
r26690r26691
133132   DECLARE_WRITE_LINE_MEMBER( ctc_z0_w );
134133   DECLARE_WRITE_LINE_MEMBER( ctc_z1_w );
135134   DECLARE_WRITE_LINE_MEMBER( ctc_z2_w );
136   DECLARE_READ_LINE_MEMBER( sio_rxdb_r );
137135   DECLARE_WRITE_LINE_MEMBER( sio_txdb_w );
138136   DECLARE_WRITE_LINE_MEMBER( sio_dtrb_w );
139137   DECLARE_WRITE_LINE_MEMBER( sio_rtsb_w );
r26690r26691
151149   // serial state
152150   UINT8 m_sb;
153151   int m_ctc_z0;
154   int m_sio_rxdb;
155   int m_sio_rxcb;
156152   int m_sio_txcb;
157153   int m_sio_txdb;
158154   int m_sio_rtsb;
trunk/src/mess/includes/abc1600.h
r26690r26691
4545#define BUS2_TAG            "bus2"
4646#define RS232_A_TAG         "rs232a"
4747#define RS232_B_TAG         "rs232b"
48#define ABC_KEYBOARD_PORT_TAG   "kb"
4849
4950
5051
trunk/src/mess/includes/huebler.h
r26690r26691
2525   amu880_state(const machine_config &mconfig, device_type type, const char *tag)
2626      : driver_device(mconfig, type, tag),
2727         m_cassette(*this, "cassette"),
28         m_z80sio(*this, Z80SIO_TAG),
2829         m_kb_rom(*this, "keyboard"),
2930         m_char_rom(*this, "chargen"),
3031         m_video_ram(*this, "video_ram"),
r26690r26691
5152   { }
5253
5354   required_device<cassette_image_device> m_cassette;
55   required_device<z80dart_device> m_z80sio;
5456   required_memory_region m_kb_rom;
5557   required_memory_region m_char_rom;
5658   required_shared_ptr<UINT8> m_video_ram;
r26690r26691
7779   UINT32 screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
7880
7981   DECLARE_READ8_MEMBER( keyboard_r );
82   TIMER_DEVICE_CALLBACK_MEMBER( tape_tick );
8083
8184   void scan_keyboard();
8285
trunk/src/mess/drivers/attache.c
r26690r26691
900900   DEVCB_NULL,
901901   DEVCB_NULL,
902902   DEVCB_NULL,
903   DEVCB_NULL,
904903
905904   DEVCB_NULL,
906905   DEVCB_NULL,
907906   DEVCB_NULL,
908907   DEVCB_NULL,
909908   DEVCB_NULL,
909
910910   DEVCB_NULL,
911
911   DEVCB_NULL,
912   DEVCB_NULL,
913   DEVCB_NULL,
912914   DEVCB_NULL
913915};
914916
trunk/src/mess/drivers/bigbord2.c
r26690r26691
431431   DEVCB_NULL,
432432   DEVCB_NULL,
433433   DEVCB_NULL,
434   DEVCB_NULL,
435434
436435   DEVCB_NULL,
437436   DEVCB_NULL,
438437   DEVCB_NULL,
439438   DEVCB_NULL,
440439   DEVCB_NULL,
440
441   DEVCB_DRIVER_LINE_MEMBER(bigbord2_state, bigbord2_interrupt),
441442   DEVCB_NULL,
442
443   DEVCB_DRIVER_LINE_MEMBER(bigbord2_state, bigbord2_interrupt)
443   DEVCB_NULL,
444   DEVCB_NULL,
445   DEVCB_NULL
444446};
445447
446448
trunk/src/mess/drivers/mz2500.c
r26690r26691
21202120   DEVCB_NULL,
21212121   DEVCB_NULL,
21222122   DEVCB_NULL,
2123   DEVCB_NULL,
21242123
21252124   DEVCB_NULL,
21262125   DEVCB_NULL,
21272126   DEVCB_NULL,
21282127   DEVCB_NULL,
21292128   DEVCB_NULL,
2129
21302130   DEVCB_NULL,
2131
2131   DEVCB_NULL,
2132   DEVCB_NULL,
2133   DEVCB_NULL,
21322134   DEVCB_NULL
21332135};
21342136
trunk/src/mess/drivers/bullet.c
r26690r26691
760760{
761761   0, 0, 0, 0,
762762
763   DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, serial_port_device, rx),
764763   DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, serial_port_device, tx),
765764   DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, dtr_w),
766765   DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, rts_w),
767766   DEVCB_DRIVER_LINE_MEMBER(bullet_state, dartardy_w),
768767   DEVCB_NULL,
769768
770   DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, serial_port_device, rx),
771769   DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, serial_port_device, tx),
772770   DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, rs232_port_device, dtr_w),
773771   DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, rs232_port_device, rts_w),
774772   DEVCB_DRIVER_LINE_MEMBER(bullet_state, dartbrdy_w),
775773   DEVCB_NULL,
776774
777   DEVCB_CPU_INPUT_LINE(Z80_TAG, INPUT_LINE_IRQ0)
775   DEVCB_CPU_INPUT_LINE(Z80_TAG, INPUT_LINE_IRQ0),
776   DEVCB_NULL,
777   DEVCB_NULL,
778   DEVCB_NULL,
779   DEVCB_NULL
778780};
779781
780782
r26690r26691
12201222   MCFG_FLOPPY_DRIVE_ADD(MB8877_TAG":6", bullet_8_floppies, NULL,      floppy_image_device::default_floppy_formats)
12211223   MCFG_FLOPPY_DRIVE_ADD(MB8877_TAG":7", bullet_8_floppies, NULL,      floppy_image_device::default_floppy_formats)
12221224   MCFG_CENTRONICS_PRINTER_ADD(CENTRONICS_TAG, standard_centronics)
1225
12231226   MCFG_RS232_PORT_ADD(RS232_A_TAG, default_rs232_devices, "serial_terminal")
1227   MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(Z80DART_TAG, z80dart_device, rxa_w))
12241228   MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("serial_terminal", terminal)
1229
12251230   MCFG_RS232_PORT_ADD(RS232_B_TAG, default_rs232_devices, NULL)
1231   MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(Z80DART_TAG, z80dart_device, rxb_w))
12261232
12271233   // software lists
12281234   MCFG_SOFTWARE_LIST_ADD("flop_list", "wmbullet")
r26690r26691
12621268   MCFG_FLOPPY_DRIVE_ADD(MB8877_TAG":8", bullet_35_floppies, NULL, floppy_image_device::default_floppy_formats)
12631269   MCFG_FLOPPY_DRIVE_ADD(MB8877_TAG":9", bullet_35_floppies, NULL, floppy_image_device::default_floppy_formats)
12641270   MCFG_CENTRONICS_PRINTER_ADD(CENTRONICS_TAG, standard_centronics)
1271
12651272   MCFG_RS232_PORT_ADD(RS232_A_TAG, default_rs232_devices, "serial_terminal")
1273   MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(Z80DART_TAG, z80dart_device, rxa_w))
12661274   MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("serial_terminal", terminal)
1275
12671276   MCFG_RS232_PORT_ADD(RS232_B_TAG, default_rs232_devices, NULL)
1277   MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(Z80DART_TAG, z80dart_device, rxb_w))
12681278
12691279   MCFG_SCSIBUS_ADD(SCSIBUS_TAG)
12701280   MCFG_SCSIDEV_ADD(SCSIBUS_TAG ":harddisk0", SCSIHD, SCSI_ID_0)
trunk/src/mess/drivers/isbc.c
r26690r26691
137137   DEVCB_DEVICE_LINE_MEMBER("uart8251", i8251_device, write_rx)
138138};
139139
140static const serial_terminal_interface isbc_terminal_intf =
141{
142   DEVCB_DEVICE_LINE_MEMBER("uart8274", z80dart_device, rxb_w)
143};
144
140145static const struct pit8253_interface isbc86_pit_config =
141146{
142147   {
r26690r26691
228233{
229234   0, 0, 0, 0,
230235
231   DEVCB_DEVICE_LINE_MEMBER("rs232", serial_port_device, rx),
232236   DEVCB_DEVICE_LINE_MEMBER("rs232", serial_port_device, tx),
233237   DEVCB_DEVICE_LINE_MEMBER("rs232", rs232_port_device, dtr_w),
234238   DEVCB_DEVICE_LINE_MEMBER("rs232", rs232_port_device, rts_w),
235239   DEVCB_NULL,
236240   DEVCB_NULL,
237241
238   DEVCB_DEVICE_LINE_MEMBER("terminal", serial_terminal_device, tx_r),
239242   DEVCB_DEVICE_LINE_MEMBER("terminal", serial_terminal_device, rx_w),
240243   DEVCB_NULL,
241244   DEVCB_NULL,
242245   DEVCB_NULL,
243246   DEVCB_NULL,
244247
245   DEVCB_DEVICE_LINE_MEMBER("pic_0", pic8259_device, ir6_w)
248   DEVCB_DEVICE_LINE_MEMBER("pic_0", pic8259_device, ir6_w),
249   DEVCB_NULL,
250   DEVCB_NULL,
251   DEVCB_NULL,
252   DEVCB_NULL
246253};
247254
248255static const i8251_interface isbc_uart8251_interface =
r26690r26691
316323   MCFG_I8274_ADD("uart8274", XTAL_16MHz/4, isbc_uart8274_interface)
317324
318325   MCFG_RS232_PORT_ADD("rs232", default_rs232_devices, NULL)
326   MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE("uart8274", z80dart_device, rxa_w))
319327   MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE("uart8274", z80dart_device, dcda_w))
320328   MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE("uart8274", z80dart_device, ctsa_w))
321329
r26690r26691
330338   MCFG_ISBC_215_IRQ(DEVWRITELINE("pic_0", pic8259_device, ir5_w))
331339
332340   /* video hardware */
333   MCFG_SERIAL_TERMINAL_ADD("terminal", terminal_intf, 9600)
341   MCFG_SERIAL_TERMINAL_ADD("terminal", isbc_terminal_intf, 9600)
334342   MCFG_DEVICE_INPUT_DEFAULTS(isbc286_terminal)
335343MACHINE_CONFIG_END
336344
trunk/src/mess/drivers/qx10.c
r26690r26691
465465{
466466   0, 0, 0, 0, // channel b clock set by pit2 channel 2
467467
468   DEVCB_DEVICE_LINE_MEMBER("kbd", serial_keyboard_device, tx_r),
469468   DEVCB_DEVICE_LINE_MEMBER("kbd", serial_keyboard_device, rx_w),
470469   DEVCB_NULL,
471470   DEVCB_NULL,
472471   DEVCB_NULL,
473472   DEVCB_NULL,
474473
475   DEVCB_DEVICE_LINE_MEMBER(RS232_TAG, serial_port_device, rx),
476474   DEVCB_DEVICE_LINE_MEMBER(RS232_TAG, serial_port_device, tx),
477475   DEVCB_DEVICE_LINE_MEMBER(RS232_TAG, rs232_port_device, dtr_w),
478476   DEVCB_DEVICE_LINE_MEMBER(RS232_TAG, rs232_port_device, rts_w),
479477   DEVCB_NULL,
480478   DEVCB_NULL,
481479
482   DEVCB_DRIVER_LINE_MEMBER(qx10_state, keyboard_irq)
480   DEVCB_DRIVER_LINE_MEMBER(qx10_state, keyboard_irq),
481   DEVCB_NULL,
482   DEVCB_NULL,
483   DEVCB_NULL,
484   DEVCB_NULL
483485};
484486
485487static struct serial_keyboard_interface qx10_keyboard_interface =
486488{
487   DEVCB_NULL
489   DEVCB_DEVICE_LINE_MEMBER("upd7201", z80dart_device, rxa_w)
488490};
489491
490492WRITE_LINE_MEMBER(qx10_state::keyboard_irq)
r26690r26691
874876   MCFG_UPD765A_ADD("upd765", true, true)
875877   MCFG_FLOPPY_DRIVE_ADD("upd765:0", qx10_floppies, "525dd", floppy_image_device::default_floppy_formats)
876878   MCFG_FLOPPY_DRIVE_ADD("upd765:1", qx10_floppies, "525dd", floppy_image_device::default_floppy_formats)
879
877880   MCFG_RS232_PORT_ADD(RS232_TAG, default_rs232_devices, NULL)
881   MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE("upd7201", upd7201_device, rxb_w))
882
878883   MCFG_QX10_KEYBOARD_ADD("kbd", qx10_keyboard_interface)
879884
880885   /* internal ram */
trunk/src/mess/drivers/altos5.c
r26690r26691
382382   DEVCB_NULL,
383383   DEVCB_NULL,
384384   DEVCB_NULL,
385   DEVCB_NULL,
386385
387386   // printer
388387   DEVCB_NULL,
r26690r26691
390389   DEVCB_NULL,
391390   DEVCB_NULL,
392391   DEVCB_NULL,
393   DEVCB_NULL,
394392
395393   DEVCB_CPU_INPUT_LINE("maincpu", INPUT_LINE_IRQ0),
396394   DEVCB_NULL,
r26690r26691
405403   0, 0, 0, 0,
406404
407405   // console#2
408   DEVCB_NULL, // ChA in data
409406   DEVCB_NULL, // out data
410407   DEVCB_NULL, // DTR
411408   DEVCB_NULL, // RTS
r26690r26691
413410   DEVCB_NULL, // SYNC
414411
415412   // console#1
416   DEVCB_DEVICE_LINE_MEMBER("rs232", serial_port_device, rx),
417413   DEVCB_DEVICE_LINE_MEMBER("rs232", serial_port_device, tx),
418414   DEVCB_DEVICE_LINE_MEMBER("rs232", rs232_port_device, dtr_w),
419415   DEVCB_DEVICE_LINE_MEMBER("rs232", rs232_port_device, rts_w),
r26690r26691
501497   MCFG_Z80SIO0_ADD("z80sio",   XTAL_8MHz / 2, sio_intf )
502498
503499   MCFG_RS232_PORT_ADD("rs232", default_rs232_devices, "serial_terminal")
500   MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE("z80sio", z80dart_device, rxb_w))
504501   MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE("z80sio", z80dart_device, dcdb_w))
505502   MCFG_RS232_OUT_RI_HANDLER(DEVWRITELINE("z80sio", z80dart_device, rib_w))
506503   MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE("z80sio", z80dart_device, ctsb_w))
trunk/src/mess/drivers/ampro.c
r26690r26691
122122{
123123   0, 0, 0, 0,
124124
125   DEVCB_DEVICE_LINE_MEMBER("rs232", serial_port_device, rx),
126125   DEVCB_DEVICE_LINE_MEMBER("rs232", serial_port_device, tx),
127126   DEVCB_DEVICE_LINE_MEMBER("rs232", rs232_port_device, dtr_w),
128127   DEVCB_DEVICE_LINE_MEMBER("rs232", rs232_port_device, rts_w),
129128   DEVCB_NULL,
130129   DEVCB_NULL,
131130
132   DEVCB_NULL, // ChB in data
133131   DEVCB_NULL, // out data
134132   DEVCB_NULL, // DTR
135133   DEVCB_NULL, // RTS
r26690r26691
201199   MCFG_Z80CTC_ADD( "z80ctc",   XTAL_16MHz / 4, ctc_intf )
202200   MCFG_Z80DART_ADD("z80dart",  XTAL_16MHz / 4, dart_intf )
203201   MCFG_RS232_PORT_ADD("rs232", default_rs232_devices, "serial_terminal")
202   MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE("z80dart", z80dart_device, rxa_w))
203
204204   MCFG_TIMER_DRIVER_ADD_PERIODIC("ctc_tick", ampro_state, ctc_tick, attotime::from_hz(XTAL_16MHz / 8))
205205   MCFG_WD1772x_ADD("fdc", XTAL_16MHz / 2)
206206   MCFG_FLOPPY_DRIVE_ADD("fdc:0", ampro_floppies, "525dd", floppy_image_device::default_floppy_formats)
trunk/src/mess/drivers/compis.c
r26690r26691
641641{
642642   0, 0, 0, 0,
643643
644   DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, serial_port_device, rx),
645644   DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, serial_port_device, tx),
646645   DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, dtr_w),
647646   DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, rts_w),
648647   DEVCB_NULL,
649648   DEVCB_NULL,
650649
651   DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, serial_port_device, rx),
652650   DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, serial_port_device, tx),
653651   DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, rs232_port_device, dtr_w),
654652   DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, rs232_port_device, rts_w),
655653   DEVCB_NULL,
656654   DEVCB_NULL,
657655
658   DEVCB_DEVICE_LINE_MEMBER(I80186_TAG, i80186_cpu_device, int3_w)
656   DEVCB_DEVICE_LINE_MEMBER(I80186_TAG, i80186_cpu_device, int3_w),
657   DEVCB_NULL,
658   DEVCB_NULL,
659   DEVCB_NULL,
660   DEVCB_NULL
659661};
660662
661663
r26690r26691
762764   MCFG_CASSETTE_ADD(CASSETTE_TAG, compis_cassette_interface)
763765
764766   MCFG_RS232_PORT_ADD(RS232_A_TAG, default_rs232_devices, NULL)
767   MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(I8274_TAG, z80dart_device, rxa_w))
765768   MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE(I8274_TAG, z80dart_device, dcda_w))
766769   MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE(I8274_TAG, z80dart_device, ctsa_w))
767770
768771   MCFG_RS232_PORT_ADD(RS232_B_TAG, default_rs232_devices, NULL)
772   MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(I8274_TAG, z80dart_device, rxb_w))
769773   MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE(I8274_TAG, z80dart_device, dcdb_w))
770774   MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE(I8274_TAG, z80dart_device, ctsb_w))
771775
trunk/src/mess/drivers/xerox820.c
r26690r26691
423423{
424424   0, 0, 0, 0,
425425
426   DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, serial_port_device, rx),
427426   DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, serial_port_device, tx),
428427   DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, dtr_w),
429428   DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, rts_w),
430429   DEVCB_NULL,
431430   DEVCB_NULL,
432431
433   DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, serial_port_device, rx),
434432   DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, serial_port_device, tx),
435433   DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, rs232_port_device, dtr_w),
436434   DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, rs232_port_device, rts_w),
437435   DEVCB_NULL,
438436   DEVCB_NULL,
439437
440   DEVCB_CPU_INPUT_LINE(Z80_TAG, INPUT_LINE_IRQ0)
438   DEVCB_CPU_INPUT_LINE(Z80_TAG, INPUT_LINE_IRQ0),
439   DEVCB_NULL,
440   DEVCB_NULL,
441   DEVCB_NULL,
442   DEVCB_NULL
441443};
442444
443445/* Z80 CTC */
r26690r26691
702704   MCFG_FLOPPY_DRIVE_ADD(FD1771_TAG":0", xerox820_floppies, "sa400", floppy_image_device::default_floppy_formats)
703705   MCFG_FLOPPY_DRIVE_ADD(FD1771_TAG":1", xerox820_floppies, "sa400", floppy_image_device::default_floppy_formats)
704706   MCFG_COM8116_ADD(COM8116_TAG, XTAL_5_0688MHz, NULL, WRITELINE(xerox820_state, fr_w), DEVWRITELINE(Z80SIO_TAG, z80dart_device, rxtxcb_w))
707
705708   MCFG_RS232_PORT_ADD(RS232_A_TAG, default_rs232_devices, NULL)
709   MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(Z80SIO_TAG, z80sio0_device, rxa_w))
710
706711   MCFG_RS232_PORT_ADD(RS232_B_TAG, default_rs232_devices, NULL)
712   MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(Z80SIO_TAG, z80sio0_device, rxb_w))
713
707714   MCFG_ASCII_KEYBOARD_ADD(KEYBOARD_TAG, keyboard_intf)
708715
709716   /* internal ram */
trunk/src/mess/drivers/trs80m2.c
r26690r26691
649649   DEVCB_NULL,
650650   DEVCB_NULL,
651651   DEVCB_NULL,
652   DEVCB_NULL,
653652
654653   DEVCB_NULL,
655654   DEVCB_NULL,
656655   DEVCB_NULL,
657656   DEVCB_NULL,
658657   DEVCB_NULL,
658
659   DEVCB_CPU_INPUT_LINE(Z80_TAG, INPUT_LINE_IRQ0),
659660   DEVCB_NULL,
660
661   DEVCB_CPU_INPUT_LINE(Z80_TAG, INPUT_LINE_IRQ0)
661   DEVCB_NULL,
662   DEVCB_NULL,
663   DEVCB_NULL
662664};
663665
664666
trunk/src/mess/drivers/apricotp.c
r26690r26691
488488   DEVCB_NULL,
489489   DEVCB_NULL,
490490   DEVCB_NULL,
491   DEVCB_NULL,
492491
493492   DEVCB_NULL,
494493   DEVCB_NULL,
495494   DEVCB_NULL,
496495   DEVCB_NULL,
497496   DEVCB_NULL,
497
498   DEVCB_DEVICE_LINE_MEMBER(I8259A_TAG, pic8259_device, ir4_w),
498499   DEVCB_NULL,
499
500   DEVCB_DEVICE_LINE_MEMBER(I8259A_TAG, pic8259_device, ir4_w)
500   DEVCB_NULL,
501   DEVCB_NULL,
502   DEVCB_NULL
501503};
502504
503505
trunk/src/mess/drivers/nanos.c
r26690r26691
168168   DEVCB_NULL,
169169   DEVCB_NULL,
170170   DEVCB_NULL,
171   DEVCB_NULL,
172171
173172   DEVCB_NULL,
174173   DEVCB_NULL,
175174   DEVCB_NULL,
176175   DEVCB_NULL,
177176   DEVCB_NULL,
177
178   DEVCB_DRIVER_LINE_MEMBER(nanos_state, z80daisy_interrupt),
178179   DEVCB_NULL,
179
180   DEVCB_DRIVER_LINE_MEMBER(nanos_state, z80daisy_interrupt)
180   DEVCB_NULL,
181   DEVCB_NULL,
182   DEVCB_NULL
181183};
182184
183185static Z80SIO_INTERFACE( sio2_intf )
r26690r26691
189191   DEVCB_NULL,
190192   DEVCB_NULL,
191193   DEVCB_NULL,
192   DEVCB_NULL,
193194
194195   DEVCB_NULL,
195196   DEVCB_NULL,
196197   DEVCB_NULL,
197198   DEVCB_NULL,
198199   DEVCB_NULL,
200
201   DEVCB_DRIVER_LINE_MEMBER(nanos_state, z80daisy_interrupt),
199202   DEVCB_NULL,
200
201   DEVCB_DRIVER_LINE_MEMBER(nanos_state, z80daisy_interrupt)
203   DEVCB_NULL,
204   DEVCB_NULL,
205   DEVCB_NULL
202206};
203207
204208/* Z80 Daisy Chain */
trunk/src/mess/drivers/mikromik.c
r26690r26691
628628{
629629   0, 0, 0, 0,
630630
631   DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, serial_port_device, rx),
632631   DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, serial_port_device, tx),
633632   DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, dtr_w),
634633   DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, rts_w),
r26690r26691
640639   DEVCB_NULL,
641640   DEVCB_NULL,
642641   DEVCB_NULL,
643   DEVCB_NULL,
644642
645643   DEVCB_NULL,
646644   DEVCB_DRIVER_LINE_MEMBER(mm1_state, drq2_w),    // receive DRQ
r26690r26691
756754   MCFG_UPD7201_ADD(UPD7201_TAG, XTAL_6_144MHz/2, mpsc_intf)
757755   MCFG_FLOPPY_DRIVE_ADD(UPD765_TAG ":0", mm1_floppies, "525qd", mm1_state::floppy_formats)
758756   MCFG_FLOPPY_DRIVE_ADD(UPD765_TAG ":1", mm1_floppies, "525qd", mm1_state::floppy_formats)
757
759758   MCFG_RS232_PORT_ADD(RS232_A_TAG, default_rs232_devices, NULL)
759   MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE(UPD7201_TAG, z80dart_device, rxa_w))
760
760761   MCFG_RS232_PORT_ADD(RS232_B_TAG, default_rs232_devices, NULL)
761762
762763   MCFG_RS232_PORT_ADD(RS232_C_TAG, default_rs232_devices, NULL)
trunk/src/mess/drivers/apricot.c
r26690r26691
190190   XTAL_4MHz / 16, XTAL_4MHz / 16,
191191
192192   // channel a
193   DEVCB_DEVICE_LINE_MEMBER("rs232", serial_port_device, rx),
194193   DEVCB_DEVICE_LINE_MEMBER("rs232", serial_port_device, tx),
195194   DEVCB_DEVICE_LINE_MEMBER("rs232", rs232_port_device, dtr_w),
196195   DEVCB_DEVICE_LINE_MEMBER("rs232", rs232_port_device, rts_w),
r26690r26691
199198
200199   // channel b
201200   DEVCB_NULL,
202   DEVCB_NULL,
203201   DEVCB_DRIVER_LINE_MEMBER(apricot_state, data_selector_dtr_w),
204202   DEVCB_DRIVER_LINE_MEMBER(apricot_state, data_selector_rts_w),
205203   DEVCB_NULL,
r26690r26691
408406   MCFG_RS232_PORT_ADD("rs232", default_rs232_devices, NULL)
409407// note: missing a receive clock callback to support external clock mode
410408// (m_data_selector_rts == 1 and m_data_selector_dtr == 0)
409   MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE("ic15", z80dart_device, rxa_w))
411410   MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE("ic15", z80dart_device, dcda_w))
412411   MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE("ic15", z80dart_device, synca_w))
413412   MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE("ic15", z80dart_device, ctsa_w))
trunk/src/mess/drivers/rt1715.c
r26690r26691
280280   DEVCB_NULL,
281281   DEVCB_NULL,
282282   DEVCB_NULL,
283   DEVCB_NULL,
284283
285284   DEVCB_NULL,
286285   DEVCB_NULL,
287286   DEVCB_NULL,
288287   DEVCB_NULL,
289288   DEVCB_NULL,
289
290290   DEVCB_NULL,
291
291   DEVCB_NULL,
292   DEVCB_NULL,
293   DEVCB_NULL,
292294   DEVCB_NULL
293295};
294296
trunk/src/mess/drivers/abc80x.c
r26690r26691
700700   m_ctc_z0 = state;
701701}
702702
703READ_LINE_MEMBER( abc800_state::sio_rxdb_r )
704{
705   return m_sio_rxdb;
706}
707
708703WRITE_LINE_MEMBER( abc800_state::sio_txdb_w )
709704{
710705   m_sio_txdb = state;
r26690r26691
742737{
743738   0, 0, 0, 0,
744739
745   DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, serial_port_device, rx),
746740   DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, serial_port_device, tx),
747741   DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, rs232_port_device, dtr_w),
748742   DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, rs232_port_device, rts_w),
749743   DEVCB_NULL,
750744   DEVCB_NULL,
751745
752   DEVCB_DRIVER_LINE_MEMBER(abc800_state, sio_rxdb_r),
753746   DEVCB_DRIVER_LINE_MEMBER(abc800_state, sio_txdb_w),
754747   DEVCB_DRIVER_LINE_MEMBER(abc800_state, sio_dtrb_w),
755748   DEVCB_DRIVER_LINE_MEMBER(abc800_state, sio_rtsb_w),
756749   DEVCB_NULL,
757750   DEVCB_NULL,
758751
759   DEVCB_CPU_INPUT_LINE(Z80_TAG, INPUT_LINE_IRQ0)
752   DEVCB_CPU_INPUT_LINE(Z80_TAG, INPUT_LINE_IRQ0),
753   DEVCB_NULL,
754   DEVCB_NULL,
755   DEVCB_NULL,
756   DEVCB_NULL
760757};
761758
762759
r26690r26691
768765{
769766   0, 0, 0, 0,
770767
771   DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, serial_port_device, rx),
772768   DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, serial_port_device, tx),
773769   DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, dtr_w),
774770   DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, rts_w),
775771   DEVCB_NULL,
776772   DEVCB_NULL,
777773
778   DEVCB_DEVICE_LINE_MEMBER(ABC_KEYBOARD_PORT_TAG, abc_keyboard_port_device, rxd_r),
779774   DEVCB_DEVICE_LINE_MEMBER(ABC_KEYBOARD_PORT_TAG, abc_keyboard_port_device, txd_w),
780775   DEVCB_NULL,
781776   DEVCB_NULL,
782777   DEVCB_NULL,
783778   DEVCB_NULL,
784779
785   DEVCB_CPU_INPUT_LINE(Z80_TAG, INPUT_LINE_IRQ0)
780   DEVCB_CPU_INPUT_LINE(Z80_TAG, INPUT_LINE_IRQ0),
781   DEVCB_NULL,
782   DEVCB_NULL,
783   DEVCB_NULL,
784   DEVCB_NULL
786785};
787786
788787
r26690r26691
806805{
807806   0, 0, 0, 0,
808807
809   DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, serial_port_device, rx),
810808   DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, serial_port_device, tx),
811809   DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, dtr_w),
812810   DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, rts_w),
813811   DEVCB_NULL,
814812   DEVCB_NULL,
815813
816   DEVCB_DEVICE_LINE_MEMBER(ABC_KEYBOARD_PORT_TAG, abc_keyboard_port_device, rxd_r),
817814   DEVCB_DEVICE_LINE_MEMBER(ABC_KEYBOARD_PORT_TAG, abc_keyboard_port_device, txd_w),
818815   DEVCB_DRIVER_LINE_MEMBER(abc802_state, lrs_w),
819816   DEVCB_DRIVER_LINE_MEMBER(abc802_state, mux80_40_w),
820817   DEVCB_NULL,
821818   DEVCB_NULL,
822819
823   DEVCB_CPU_INPUT_LINE(Z80_TAG, INPUT_LINE_IRQ0)
820   DEVCB_CPU_INPUT_LINE(Z80_TAG, INPUT_LINE_IRQ0),
821   DEVCB_NULL,
822   DEVCB_NULL,
823   DEVCB_NULL,
824   DEVCB_NULL
824825};
825826
826827
r26690r26691
839840{
840841   0, 0, 0, 0,
841842
842   DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, serial_port_device, rx),
843843   DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, serial_port_device, tx),
844844   DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, dtr_w),
845845   DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, rts_w),
846846   DEVCB_NULL,
847847   DEVCB_NULL,
848848
849   DEVCB_DEVICE_LINE_MEMBER(ABC_KEYBOARD_PORT_TAG, abc_keyboard_port_device, rxd_r),
850849   DEVCB_DEVICE_LINE_MEMBER(ABC_KEYBOARD_PORT_TAG, abc_keyboard_port_device, txd_w),
851850   DEVCB_DRIVER_LINE_MEMBER(abc806_state, keydtr_w),
852851   DEVCB_NULL,
853852   DEVCB_NULL,
854853   DEVCB_NULL,
855854
856   DEVCB_CPU_INPUT_LINE(Z80_TAG, INPUT_LINE_IRQ0)
855   DEVCB_CPU_INPUT_LINE(Z80_TAG, INPUT_LINE_IRQ0),
856   DEVCB_NULL,
857   DEVCB_NULL,
858   DEVCB_NULL
857859};
858860
859861
r26690r26691
913915
914916         if (m_dfd_in && !dfd_in)
915917         {
916            m_sio_rxdb = !(m_tape_ctr == 15);
918            m_sio->rxb_w(!(m_tape_ctr == 15));
917919         }
918920
919921         if (!dfd_in && (m_tape_ctr == 15))
r26690r26691
947949   save_item(NAME(m_pling));
948950   save_item(NAME(m_sb));
949951   save_item(NAME(m_ctc_z0));
950   save_item(NAME(m_sio_rxdb));
951   save_item(NAME(m_sio_rxcb));
952   save_item(NAME(m_sio_txcb));
953952   save_item(NAME(m_sio_txdb));
954953   save_item(NAME(m_sio_rtsb));
955954   save_item(NAME(m_dfd_out));
r26690r26691
996995   save_item(NAME(m_pling));
997996   save_item(NAME(m_sb));
998997   save_item(NAME(m_ctc_z0));
999   save_item(NAME(m_sio_rxdb));
1000   save_item(NAME(m_sio_rxcb));
1001   save_item(NAME(m_sio_txcb));
1002998   save_item(NAME(m_sio_txdb));
1003999   save_item(NAME(m_sio_rtsb));
10041000   save_item(NAME(m_dfd_out));
r26690r26691
10681064   save_item(NAME(m_fetch_charram));
10691065   save_item(NAME(m_map));
10701066   save_item(NAME(m_ctc_z0));
1071   save_item(NAME(m_sio_rxdb));
1072   save_item(NAME(m_sio_rxcb));
1073   save_item(NAME(m_sio_txcb));
10741067   save_item(NAME(m_sio_txdb));
10751068   save_item(NAME(m_sio_rtsb));
10761069   save_item(NAME(m_dfd_out));
r26690r26691
11491142   MCFG_CASSETTE_ADD("cassette", cass_intf)
11501143
11511144   MCFG_RS232_PORT_ADD(RS232_A_TAG, default_rs232_devices, NULL)
1145   MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(Z80DART_TAG, z80dart_device, rxa_w))
11521146   MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE(Z80DART_TAG, z80dart_device, dcda_w))
11531147   MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE(Z80DART_TAG, z80dart_device, ctsa_w))
11541148
11551149   MCFG_RS232_PORT_ADD(RS232_B_TAG, default_rs232_devices, NULL)
1150   MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(Z80SIO_TAG, z80dart_device, rxa_w))
11561151   MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE(Z80SIO_TAG, z80dart_device, dcda_w))
11571152   MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE(Z80SIO_TAG, z80dart_device, ctsa_w))
11581153
1159   MCFG_ABC_KEYBOARD_PORT_ADD("abc800", DEVWRITELINE(Z80DART_TAG, z80dart_device, rxtxcb_w), DEVWRITELINE(Z80DART_TAG, z80dart_device, dcdb_w))
1154   MCFG_ABC_KEYBOARD_PORT_ADD(ABC_KEYBOARD_PORT_TAG, "abc800")
1155   MCFG_ABC_KEYBOARD_OUT_RX_HANDLER(DEVWRITELINE(Z80DART_TAG, z80dart_device, rxb_w))
1156   MCFG_ABC_KEYBOARD_OUT_TRXC_HANDLER(DEVWRITELINE(Z80DART_TAG, z80dart_device, rxtxcb_w))
1157   MCFG_ABC_KEYBOARD_OUT_KEYDOWN_HANDLER(DEVWRITELINE(Z80DART_TAG, z80dart_device, dcdb_w))
11601158
11611159   // ABC bus
11621160   MCFG_ABCBUS_SLOT_ADD(ABCBUS_TAG, abcbus_cards, "abc830")
r26690r26691
11991197   MCFG_CASSETTE_ADD("cassette", cass_intf)
12001198
12011199   MCFG_RS232_PORT_ADD(RS232_A_TAG, default_rs232_devices, NULL)
1200   MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(Z80DART_TAG, z80dart_device, rxa_w))
12021201   MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE(Z80DART_TAG, z80dart_device, dcda_w))
12031202   MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE(Z80DART_TAG, z80dart_device, ctsa_w))
12041203
12051204   MCFG_RS232_PORT_ADD(RS232_B_TAG, default_rs232_devices, NULL)
1205   MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(Z80SIO_TAG, z80dart_device, rxa_w))
12061206   MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE(Z80SIO_TAG, z80dart_device, dcda_w))
12071207   MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE(Z80SIO_TAG, z80dart_device, ctsa_w))
12081208
1209   MCFG_ABC_KEYBOARD_PORT_ADD("abc800", DEVWRITELINE(Z80DART_TAG, z80dart_device, rxtxcb_w), DEVWRITELINE(Z80DART_TAG, z80dart_device, dcdb_w))
1209   MCFG_ABC_KEYBOARD_PORT_ADD(ABC_KEYBOARD_PORT_TAG, "abc800")
1210   MCFG_ABC_KEYBOARD_OUT_RX_HANDLER(DEVWRITELINE(Z80DART_TAG, z80dart_device, rxb_w))
1211   MCFG_ABC_KEYBOARD_OUT_TRXC_HANDLER(DEVWRITELINE(Z80DART_TAG, z80dart_device, rxtxcb_w))
1212   MCFG_ABC_KEYBOARD_OUT_KEYDOWN_HANDLER(DEVWRITELINE(Z80DART_TAG, z80dart_device, dcdb_w))
12101213
12111214   // ABC bus
12121215   MCFG_ABCBUS_SLOT_ADD(ABCBUS_TAG, abcbus_cards, "abc830")
r26690r26691
12491252   MCFG_CASSETTE_ADD("cassette", cass_intf)
12501253
12511254   MCFG_RS232_PORT_ADD(RS232_A_TAG, default_rs232_devices, NULL)
1255   MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(Z80DART_TAG, z80dart_device, rxa_w))
12521256   MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE(Z80DART_TAG, z80dart_device, dcda_w))
12531257   MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE(Z80DART_TAG, z80dart_device, ctsa_w))
12541258
12551259   MCFG_RS232_PORT_ADD(RS232_B_TAG, default_rs232_devices, NULL)
1260   MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(Z80SIO_TAG, z80dart_device, rxa_w))
12561261   MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE(Z80SIO_TAG, z80dart_device, dcda_w))
12571262   MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE(Z80SIO_TAG, z80dart_device, ctsa_w))
12581263
1259   MCFG_ABC_KEYBOARD_PORT_ADD("abc55", DEVWRITELINE(Z80DART_TAG, z80dart_device, rxtxcb_w), DEVWRITELINE(Z80DART_TAG, z80dart_device, dcdb_w))
1264   MCFG_ABC_KEYBOARD_PORT_ADD(ABC_KEYBOARD_PORT_TAG, "abc55")
1265   MCFG_ABC_KEYBOARD_OUT_RX_HANDLER(DEVWRITELINE(Z80DART_TAG, z80dart_device, rxb_w))
1266   MCFG_ABC_KEYBOARD_OUT_TRXC_HANDLER(DEVWRITELINE(Z80DART_TAG, z80dart_device, rxtxcb_w))
1267   MCFG_ABC_KEYBOARD_OUT_KEYDOWN_HANDLER(DEVWRITELINE(Z80DART_TAG, z80dart_device, dcdb_w))
12601268
12611269   // ABC bus
12621270   MCFG_ABCBUS_SLOT_ADD(ABCBUS_TAG, abcbus_cards, "abc834")
r26690r26691
12921300   MCFG_Z80DART_ADD(Z80DART_TAG, ABC800_X01/2/2, abc806_dart_intf)
12931301
12941302   MCFG_RS232_PORT_ADD(RS232_A_TAG, default_rs232_devices, NULL)
1303   MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(Z80DART_TAG, z80dart_device, rxa_w))
12951304   MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE(Z80DART_TAG, z80dart_device, dcda_w))
12961305   MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE(Z80DART_TAG, z80dart_device, ctsa_w))
12971306
12981307   MCFG_RS232_PORT_ADD(RS232_B_TAG, default_rs232_devices, NULL)
1308   MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(Z80SIO_TAG, z80dart_device, rxa_w))
12991309   MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE(Z80SIO_TAG, z80dart_device, dcda_w))
13001310   MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE(Z80SIO_TAG, z80dart_device, ctsa_w))
13011311
1302   MCFG_ABC_KEYBOARD_PORT_ADD("abc77", DEVWRITELINE(Z80DART_TAG, z80dart_device, rxtxcb_w), DEVWRITELINE(Z80DART_TAG, z80dart_device, dcdb_w))
1312   MCFG_ABC_KEYBOARD_PORT_ADD(ABC_KEYBOARD_PORT_TAG, "abc77")
1313   MCFG_ABC_KEYBOARD_OUT_RX_HANDLER(DEVWRITELINE(Z80DART_TAG, z80dart_device, rxb_w))
1314   MCFG_ABC_KEYBOARD_OUT_TRXC_HANDLER(DEVWRITELINE(Z80DART_TAG, z80dart_device, rxtxcb_w))
1315   MCFG_ABC_KEYBOARD_OUT_KEYDOWN_HANDLER(DEVWRITELINE(Z80DART_TAG, z80dart_device, dcdb_w))
13031316
13041317   // ABC bus
13051318   MCFG_ABCBUS_SLOT_ADD(ABCBUS_TAG, abcbus_cards, "abc832")
trunk/src/mess/drivers/x1.c
r26690r26691
22842284   DEVCB_NULL,
22852285   DEVCB_NULL,
22862286   DEVCB_NULL,
2287   DEVCB_NULL,
22882287
22892288   DEVCB_NULL,
22902289   DEVCB_NULL,
22912290   DEVCB_NULL,
22922291   DEVCB_NULL,
22932292   DEVCB_NULL,
2293
2294   DEVCB_CPU_INPUT_LINE("x1_cpu", INPUT_LINE_IRQ0),
22942295   DEVCB_NULL,
2295
2296   DEVCB_CPU_INPUT_LINE("x1_cpu", INPUT_LINE_IRQ0)
2296   DEVCB_NULL,
2297   DEVCB_NULL,
2298   DEVCB_NULL
22972299};
22982300
22992301static const z80_daisy_config x1_daisy[] =
trunk/src/mess/drivers/osbexec.c
r26690r26691
464464   DEVCB_NULL,
465465   DEVCB_NULL,
466466   DEVCB_NULL,
467   DEVCB_NULL,
468467
469468   DEVCB_NULL,
470469   DEVCB_NULL,
471470   DEVCB_NULL,
472471   DEVCB_NULL,
473472   DEVCB_NULL,
473
474   DEVCB_NULL,  //DEVCB_CPU_INPUT_LINE(Z80_TAG, INPUT_LINE_IRQ0)
474475   DEVCB_NULL,
475
476   DEVCB_NULL  //DEVCB_CPU_INPUT_LINE(Z80_TAG, INPUT_LINE_IRQ0)
476   DEVCB_NULL,
477   DEVCB_NULL,
478   DEVCB_NULL
477479};
478480
479481
trunk/src/mess/drivers/superslave.c
r26690r26691
276276{
277277   0, 0, 0, 0,
278278
279   DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, serial_port_device, rx),
280279   DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, serial_port_device, tx),
281280   DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, dtr_w),
282281   DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, rts_w),
283282   DEVCB_NULL,
284283   DEVCB_NULL,
285284
286   DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, serial_port_device, rx),
287285   DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, serial_port_device, tx),
288286   DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, rs232_port_device, dtr_w),
289287   DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, rs232_port_device, rts_w),
290288   DEVCB_NULL,
291289   DEVCB_NULL,
292290
293   DEVCB_CPU_INPUT_LINE(Z80_TAG, INPUT_LINE_IRQ0)
291   DEVCB_CPU_INPUT_LINE(Z80_TAG, INPUT_LINE_IRQ0),
292   DEVCB_NULL,
293   DEVCB_NULL,
294   DEVCB_NULL,
295   DEVCB_NULL
294296};
295297
296298
r26690r26691
302304{
303305   0, 0, 0, 0,
304306
305   DEVCB_DEVICE_LINE_MEMBER(RS232_C_TAG, serial_port_device, rx),
306307   DEVCB_DEVICE_LINE_MEMBER(RS232_C_TAG, serial_port_device, tx),
307308   DEVCB_DEVICE_LINE_MEMBER(RS232_C_TAG, rs232_port_device, dtr_w),
308309   DEVCB_DEVICE_LINE_MEMBER(RS232_C_TAG, rs232_port_device, rts_w),
309310   DEVCB_NULL,
310311   DEVCB_NULL,
311312
312   DEVCB_DEVICE_LINE_MEMBER(RS232_D_TAG, serial_port_device, rx),
313313   DEVCB_DEVICE_LINE_MEMBER(RS232_D_TAG, serial_port_device, tx),
314314   DEVCB_DEVICE_LINE_MEMBER(RS232_D_TAG, rs232_port_device, dtr_w),
315315   DEVCB_DEVICE_LINE_MEMBER(RS232_D_TAG, rs232_port_device, rts_w),
316316   DEVCB_NULL,
317317   DEVCB_NULL,
318318
319   DEVCB_CPU_INPUT_LINE(Z80_TAG, INPUT_LINE_IRQ0)
319   DEVCB_CPU_INPUT_LINE(Z80_TAG, INPUT_LINE_IRQ0),
320   DEVCB_NULL,
321   DEVCB_NULL,
322   DEVCB_NULL,
323   DEVCB_NULL
320324};
321325
322326
r26690r26691
403407   MCFG_COM8116_ADD(BR1941_TAG, XTAL_5_0688MHz, NULL, WRITELINE(superslave_state, fr_w), WRITELINE(superslave_state, ft_w))
404408
405409   MCFG_RS232_PORT_ADD(RS232_A_TAG, default_rs232_devices, "serial_terminal")
410   MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(Z80DART_0_TAG, z80dart_device, rxa_w))
406411   MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE(Z80DART_0_TAG, z80dart_device, dcda_w))
407412   MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE(Z80DART_0_TAG, z80dart_device, ctsa_w))
408413   MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("serial_terminal", terminal)
409414
410415   MCFG_RS232_PORT_ADD(RS232_B_TAG, default_rs232_devices, NULL)
416   MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(Z80DART_0_TAG, z80dart_device, rxb_w))
411417   MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE(Z80DART_0_TAG, z80dart_device, dcdb_w))
412418   MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE(Z80DART_0_TAG, z80dart_device, ctsb_w))
413419
414420   MCFG_RS232_PORT_ADD(RS232_C_TAG, default_rs232_devices, NULL)
421   MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(Z80DART_1_TAG, z80dart_device, rxa_w))
415422   MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE(Z80DART_1_TAG, z80dart_device, dcda_w))
416423   MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE(Z80DART_1_TAG, z80dart_device, ctsa_w))
417424
418425   MCFG_RS232_PORT_ADD(RS232_D_TAG, default_rs232_devices, NULL)
426   MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(Z80DART_1_TAG, z80dart_device, rxb_w))
419427   MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE(Z80DART_1_TAG, z80dart_device, dcdb_w))
420428   MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE(Z80DART_1_TAG, z80dart_device, ctsb_w))
421429
trunk/src/mess/drivers/mtx.c
r26690r26691
260260   DEVCB_NULL,
261261   DEVCB_NULL,
262262   DEVCB_NULL,
263   DEVCB_NULL,
264263
265264   DEVCB_NULL,
266265   DEVCB_NULL,
267266   DEVCB_NULL,
268267   DEVCB_NULL,
269268   DEVCB_NULL,
269
270   DEVCB_CPU_INPUT_LINE(Z80_TAG, INPUT_LINE_IRQ0),
270271   DEVCB_NULL,
271
272   DEVCB_CPU_INPUT_LINE(Z80_TAG, INPUT_LINE_IRQ0)
272   DEVCB_NULL,
273   DEVCB_NULL,
274   DEVCB_NULL
273275};
274276
275277/*-------------------------------------------------
trunk/src/mess/drivers/victor9k.c
r26690r26691
380380{
381381   0, 0, 0, 0,
382382
383   DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, serial_port_device, rx),
384383   DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, serial_port_device, tx),
385384   DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, dtr_w),
386385   DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, rts_w),
387386   DEVCB_NULL,
388387   DEVCB_NULL,
389388
390   DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, serial_port_device, rx),
391389   DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, serial_port_device, tx),
392390   DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, rs232_port_device, dtr_w),
393391   DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, rs232_port_device, rts_w),
r26690r26691
12541252   MCFG_FLOPPY_DRIVE_ADD(I8048_TAG":1", victor9k_floppies, "525qd", floppy_image_device::default_floppy_formats)
12551253
12561254   MCFG_RS232_PORT_ADD(RS232_A_TAG, default_rs232_devices, NULL)
1255   MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(UPD7201_TAG, z80dart_device, rxa_w))
12571256   MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE(UPD7201_TAG, z80dart_device, dcda_w))
12581257   MCFG_RS232_OUT_RI_HANDLER(DEVWRITELINE(UPD7201_TAG, z80dart_device, ria_w))
12591258   MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE(UPD7201_TAG, z80dart_device, ctsa_w))
12601259
12611260   MCFG_RS232_PORT_ADD(RS232_B_TAG, default_rs232_devices, NULL)
1261   MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(UPD7201_TAG, z80dart_device, rxb_w))
12621262   MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE(UPD7201_TAG, z80dart_device, dcdb_w))
12631263   MCFG_RS232_OUT_RI_HANDLER(DEVWRITELINE(UPD7201_TAG, z80dart_device, rib_w))
12641264   MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE(UPD7201_TAG, z80dart_device, ctsb_w))
trunk/src/mess/drivers/pcm.c
r26690r26691
278278   DEVCB_NULL,
279279   DEVCB_NULL,
280280   DEVCB_NULL,
281   DEVCB_NULL,
282281
283282   DEVCB_NULL,
284283   DEVCB_NULL,
285284   DEVCB_NULL,
286285   DEVCB_NULL,
287286   DEVCB_NULL,
287
288288   DEVCB_NULL,
289
289   DEVCB_NULL,
290   DEVCB_NULL,
291   DEVCB_NULL,
290292   DEVCB_NULL
291293};
292294
trunk/src/mess/drivers/x1twin.c
r26690r26691
450450   DEVCB_NULL,
451451   DEVCB_NULL,
452452   DEVCB_NULL,
453   DEVCB_NULL,
454453
455454   DEVCB_NULL,
456455   DEVCB_NULL,
457456   DEVCB_NULL,
458457   DEVCB_NULL,
459458   DEVCB_NULL,
459
460   DEVCB_CPU_INPUT_LINE("x1_cpu", INPUT_LINE_IRQ0),
460461   DEVCB_NULL,
461
462   DEVCB_CPU_INPUT_LINE("x1_cpu", INPUT_LINE_IRQ0)
462   DEVCB_NULL,
463   DEVCB_NULL,
464   DEVCB_NULL
463465};
464466
465467
trunk/src/mess/drivers/apricotf.c
r26690r26691
245245   DEVCB_NULL,
246246   DEVCB_NULL,
247247   DEVCB_NULL,
248   DEVCB_NULL,
249248
250249   DEVCB_NULL,
251250   DEVCB_NULL,
252251   DEVCB_NULL,
253252   DEVCB_NULL,
254253   DEVCB_NULL,
254
255   DEVCB_DRIVER_LINE_MEMBER(f1_state, sio_int_w),
255256   DEVCB_NULL,
256
257   DEVCB_DRIVER_LINE_MEMBER(f1_state, sio_int_w)
257   DEVCB_NULL,
258   DEVCB_NULL,
259   DEVCB_NULL
258260};
259261
260262
trunk/src/mess/drivers/bw12.c
r26690r26691
450450{
451451   0, 0, 0, 0,
452452
453   DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, serial_port_device, rx),
454453   DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, serial_port_device, tx),
455454   DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, dtr_w),
456455   DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, rts_w),
457456   DEVCB_NULL,
458457   DEVCB_NULL,
459458
460   DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, serial_port_device, rx),
461459   DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, serial_port_device, tx),
462460   DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, rs232_port_device, dtr_w),
463461   DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, rs232_port_device, rts_w),
464462   DEVCB_NULL,
465463   DEVCB_NULL,
466464
467   DEVCB_CPU_INPUT_LINE(Z80_TAG, INPUT_LINE_IRQ0)
465   DEVCB_CPU_INPUT_LINE(Z80_TAG, INPUT_LINE_IRQ0),
466   DEVCB_NULL,
467   DEVCB_NULL,
468   DEVCB_NULL,
469   DEVCB_NULL
468470};
469471
470472/* PIT8253 Interface */
r26690r26691
654656   MCFG_AY3600_ADD(AY3600PRO002_TAG, 0, bw12_ay3600_intf)
655657
656658   MCFG_RS232_PORT_ADD(RS232_A_TAG, default_rs232_devices, NULL)
659   MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(Z80SIO_TAG, z80dart_device, rxa_w))
657660   MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE(Z80SIO_TAG, z80dart_device, dcda_w))
658661   MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE(Z80SIO_TAG, z80dart_device, ctsa_w))
659662
660663   MCFG_RS232_PORT_ADD(RS232_B_TAG, default_rs232_devices, NULL)
664   MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(Z80SIO_TAG, z80dart_device, rxb_w))
661665   MCFG_RS232_OUT_DCD_HANDLER(DEVWRITELINE(Z80SIO_TAG, z80dart_device, dcdb_w))
662666   MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE(Z80SIO_TAG, z80dart_device, ctsb_w))
663667
trunk/src/mess/drivers/tiki100.c
r26690r26691
468468{
469469   0, 0, 0, 0,
470470
471   DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, serial_port_device, rx),
472471   DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, serial_port_device, tx),
473472   DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, dtr_w),
474473   DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, rts_w),
475474   DEVCB_NULL,
476475   DEVCB_NULL,
477476
478   DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, serial_port_device, rx),
479477   DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, serial_port_device, tx),
480478   DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, rs232_port_device, dtr_w),
481479   DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, rs232_port_device, rts_w),
482480   DEVCB_NULL,
483481
484482   DEVCB_NULL,
485   DEVCB_CPU_INPUT_LINE(Z80_TAG, INPUT_LINE_IRQ0)
483   DEVCB_CPU_INPUT_LINE(Z80_TAG, INPUT_LINE_IRQ0),
484   DEVCB_NULL,
485   DEVCB_NULL,
486   DEVCB_NULL
486487};
487488
488489/* Z80-PIO Interface */
r26690r26691
707708   MCFG_FD1797x_ADD(FD1797_TAG, XTAL_8MHz/8) // FD1767PL-02 or FD1797-PL
708709   MCFG_FLOPPY_DRIVE_ADD(FD1797_TAG":0", tiki100_floppies, "525qd", tiki100_state::floppy_formats)
709710   MCFG_FLOPPY_DRIVE_ADD(FD1797_TAG":1", tiki100_floppies, "525qd", tiki100_state::floppy_formats)
711
710712   MCFG_RS232_PORT_ADD(RS232_A_TAG, default_rs232_devices, NULL)
713   MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(Z80DART_TAG, z80dart_device, rxa_w))
714
711715   MCFG_RS232_PORT_ADD(RS232_B_TAG, default_rs232_devices, NULL)
716   MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(Z80DART_TAG, z80dart_device, rxb_w))
717
712718   MCFG_CENTRONICS_PRINTER_ADD(CENTRONICS_TAG, standard_centronics)
713719   MCFG_CASSETTE_ADD(CASSETTE_TAG, cassette_intf)
714720   MCFG_TIMER_DRIVER_ADD_PERIODIC("tape", tiki100_state, tape_tick, attotime::from_hz(44100))
trunk/src/mess/drivers/abc1600.c
r26690r26691
616616{
617617   0, 0, 0, 0,
618618
619   DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, serial_port_device, rx),
620619   DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, serial_port_device, tx),
621620   DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, rs232_port_device, dtr_w),
622621   DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, rs232_port_device, rts_w),
623622   DEVCB_NULL,
624623   DEVCB_NULL,
625624
626   DEVCB_DEVICE_LINE_MEMBER(ABC_KEYBOARD_PORT_TAG, abc_keyboard_port_device, rxd_r),
627625   DEVCB_DEVICE_LINE_MEMBER(ABC_KEYBOARD_PORT_TAG, abc_keyboard_port_device, txd_w),
628626   DEVCB_NULL,
629627   DEVCB_NULL,
630628   DEVCB_NULL,
631629   DEVCB_NULL,
632630
633   DEVCB_CPU_INPUT_LINE(MC68008P8_TAG, M68K_IRQ_5) // shared with SCC
631   DEVCB_CPU_INPUT_LINE(MC68008P8_TAG, M68K_IRQ_5), // shared with SCC
632   DEVCB_NULL,
633   DEVCB_NULL,
634   DEVCB_NULL,
635   DEVCB_NULL
634636};
635637
636638
r26690r26691
952954   MCFG_FLOPPY_DRIVE_ADD(SAB1797_02P_TAG":0", abc1600_floppies, NULL,    floppy_image_device::default_floppy_formats)
953955   MCFG_FLOPPY_DRIVE_ADD(SAB1797_02P_TAG":1", abc1600_floppies, NULL,    floppy_image_device::default_floppy_formats)
954956   MCFG_FLOPPY_DRIVE_ADD(SAB1797_02P_TAG":2", abc1600_floppies, "525qd", floppy_image_device::default_floppy_formats)
957
955958   MCFG_RS232_PORT_ADD(RS232_A_TAG, default_rs232_devices, NULL)
959
956960   MCFG_RS232_PORT_ADD(RS232_B_TAG, default_rs232_devices, NULL)
957   MCFG_ABC_KEYBOARD_PORT_ADD("abc99", DEVWRITELINE(Z8470AB1_TAG, z80dart_device, rxtxcb_w), DEVWRITELINE(Z8470AB1_TAG, z80dart_device, dcdb_w))
961   MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(Z8470AB1_TAG, z80dart_device, rxa_w))
962
963   MCFG_ABC_KEYBOARD_PORT_ADD(ABC_KEYBOARD_PORT_TAG, "abc99")
964   MCFG_ABC_KEYBOARD_OUT_RX_HANDLER(DEVWRITELINE(Z8470AB1_TAG, z80dart_device, rxb_w))
965   MCFG_ABC_KEYBOARD_OUT_TRXC_HANDLER(DEVWRITELINE(Z8470AB1_TAG, z80dart_device, rxtxcb_w))
966   MCFG_ABC_KEYBOARD_OUT_KEYDOWN_HANDLER(DEVWRITELINE(Z8470AB1_TAG, z80dart_device, dcdb_w))
967
958968   MCFG_ABCBUS_SLOT_ADD("bus0i", abc1600bus_cards, NULL)
959969   MCFG_ABCBUS_SLOT_IRQ_CALLBACK(DEVWRITELINE(Z8536B1_TAG, z8536_device, pa7_w))
960970   MCFG_ABCBUS_SLOT_ADD("bus0x", abc1600bus_cards, NULL)
trunk/src/mess/drivers/tdv2324.c
r26690r26691
296296   DEVCB_NULL,
297297   DEVCB_NULL,
298298   DEVCB_NULL,
299   DEVCB_NULL,
300299
301300   DEVCB_NULL,
302301   DEVCB_NULL,
303302   DEVCB_NULL,
304303   DEVCB_NULL,
305304   DEVCB_NULL,
305
306306   DEVCB_NULL,
307
307   DEVCB_NULL,
308   DEVCB_NULL,
309   DEVCB_NULL,
308310   DEVCB_NULL
309311};
310312
trunk/src/mess/drivers/super6.c
r26690r26691
371371{
372372   0, 0, 0, 0,
373373
374   DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, serial_port_device, rx),
375374   DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, serial_port_device, tx),
376375   DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, dtr_w),
377376   DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, rts_w),
378377   DEVCB_NULL,
379378   DEVCB_NULL,
380379
381   DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, serial_port_device, rx),
382380   DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, serial_port_device, tx),
383381   DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, rs232_port_device, dtr_w),
384382   DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, rs232_port_device, rts_w),
385383   DEVCB_NULL,
386384   DEVCB_NULL,
387385
388   DEVCB_CPU_INPUT_LINE(Z80_TAG, INPUT_LINE_IRQ0)
386   DEVCB_CPU_INPUT_LINE(Z80_TAG, INPUT_LINE_IRQ0),
387   DEVCB_NULL,
388   DEVCB_NULL,
389   DEVCB_NULL,
390   DEVCB_NULL
389391};
390392
391393
r26690r26691
561563   MCFG_COM8116_ADD(BR1945_TAG, XTAL_5_0688MHz, NULL, WRITELINE(super6_state, fr_w), DEVWRITELINE(Z80DART_TAG, z80dart_device, rxtxcb_w))
562564   MCFG_FLOPPY_DRIVE_ADD(WD2793_TAG":0", super6_floppies, "525dd", floppy_image_device::default_floppy_formats)
563565   MCFG_FLOPPY_DRIVE_ADD(WD2793_TAG":1", super6_floppies, NULL,    floppy_image_device::default_floppy_formats)
566
564567   MCFG_RS232_PORT_ADD(RS232_A_TAG, default_rs232_devices, "serial_terminal")
568   MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(Z80DART_TAG, z80dart_device, rxa_w))
565569   MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("serial_terminal", terminal)
570
566571   MCFG_RS232_PORT_ADD(RS232_B_TAG, default_rs232_devices, NULL)
572   MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(Z80DART_TAG, z80dart_device, rxb_w))
567573
568574   // internal ram
569575   MCFG_RAM_ADD(RAM_TAG)
trunk/src/mess/drivers/huebler.c
r26690r26691
284284
285285/* Z80-SIO Interface */
286286
287READ_LINE_MEMBER(amu880_state::cassette_r)
287TIMER_DEVICE_CALLBACK_MEMBER( amu880_state::tape_tick )
288288{
289   return m_cassette->input() < 0.0;
289   m_z80sio->rxa_w(m_cassette->input() < 0.0);
290290}
291291
292292WRITE_LINE_MEMBER(amu880_state::cassette_w)
r26690r26691
298298{
299299   0, 0, 0, 0,
300300
301   DEVCB_DRIVER_LINE_MEMBER(amu880_state, cassette_r),
302301   DEVCB_DRIVER_LINE_MEMBER(amu880_state, cassette_w),
303302   DEVCB_NULL,
304303   DEVCB_NULL,
r26690r26691
310309   DEVCB_NULL,
311310   DEVCB_NULL,
312311   DEVCB_NULL,
312
313   DEVCB_CPU_INPUT_LINE(Z80_TAG, INPUT_LINE_IRQ0),
313314   DEVCB_NULL,
314
315   DEVCB_CPU_INPUT_LINE(Z80_TAG, INPUT_LINE_IRQ0)
315   DEVCB_NULL,
316   DEVCB_NULL,
317   DEVCB_NULL
316318};
317319
318320/* Z80 Daisy Chain */
r26690r26691
409411   MCFG_Z80SIO0_ADD(Z80SIO_TAG, XTAL_10MHz/4, sio_intf) // U856
410412
411413   MCFG_CASSETTE_ADD("cassette", amu880_cassette_interface)
414   MCFG_TIMER_DRIVER_ADD_PERIODIC("tape", amu880_state, tape_tick, attotime::from_hz(44100))
412415
413416   /* internal ram */
414417   MCFG_RAM_ADD(RAM_TAG)

Previous 199869 Revisions Next


© 1997-2024 The MAME Team