Previous 199869 Revisions Next

r26782 Friday 27th December, 2013 at 13:23:02 UTC by smf
expose less of the diserial internals, which has meant adding i8251_device::write_cts (nw)
[src/emu]diserial.h
[src/emu/machine]i8251.c i8251.h
[src/mess/drivers]rainbow.c

trunk/src/emu/diserial.h
r26781r26782
4848   device_serial_interface(const machine_config &mconfig, device_t &device);
4949   virtual ~device_serial_interface();
5050
51   virtual void input_callback(UINT8 state) = 0;
51   void connect(device_serial_interface *other_connection);
52   DECLARE_WRITE_LINE_MEMBER(rx_w);
53   DECLARE_WRITE_LINE_MEMBER(tx_clock_w);
54   DECLARE_WRITE_LINE_MEMBER(rx_clock_w);
55   DECLARE_WRITE_LINE_MEMBER(clock_w);
5256
57protected:
5358   void set_data_frame(int num_data_bits, int stop_bit_count, int parity_code, bool synchronous);
5459
5560   void receive_register_reset();
r26781r26782
6671   void set_rate(UINT32 clock, int div) { set_rcv_rate(clock, div); set_tra_rate(clock, div); }
6772   void set_rate(int baud) { set_rcv_rate(baud); set_tra_rate(baud); }
6873
69   DECLARE_WRITE_LINE_MEMBER(tx_clock_w);
70   DECLARE_WRITE_LINE_MEMBER(rx_clock_w);
71   DECLARE_WRITE_LINE_MEMBER(clock_w);
72
7374   void transmit_register_reset();
7475   void transmit_register_add_bit(int bit);
7576   void transmit_register_setup(UINT8 data_byte);
r26781r26782
9091
9192   void set_other_connection(device_serial_interface *other_connection);
9293
93   void connect(device_serial_interface *other_connection);
94   DECLARE_WRITE_LINE_MEMBER(rx_w);
95protected:
94   virtual void input_callback(UINT8 state) = 0;
95
9696   UINT8 m_input_state;
9797   UINT8 m_connection_state;
9898   virtual void tra_callback() { }
trunk/src/emu/machine/i8251.c
r26781r26782
754754   }
755755}
756756
757WRITE_LINE_MEMBER(i8251_device::write_cts)
758{
759   if (state)
760   {
761      input_callback(m_input_state | CTS);
762   }
763   else
764   {
765      input_callback(m_input_state & ~CTS);
766   }
767}
768
757769WRITE_LINE_MEMBER(i8251_device::write_dsr)
758770{
759771   if (state)
trunk/src/emu/machine/i8251.h
r26781r26782
8484   DECLARE_WRITE_LINE_MEMBER( rxc_w ) { if (state) receive_clock(); }
8585
8686   DECLARE_WRITE_LINE_MEMBER( write_rx );
87   DECLARE_WRITE_LINE_MEMBER( write_cts );
8788   DECLARE_WRITE_LINE_MEMBER( write_dsr );
8889
8990   void receive_character(UINT8 ch);
trunk/src/mess/drivers/rainbow.c
r26781r26782
561561   m_z80_halted = true;
562562   m_kbd_tx_ready = m_kbd_rx_ready = false;
563563
564   m_kbd8251->input_callback(device_serial_interface::CTS); // raise clear to send
564   m_kbd8251->write_cts(1);
565565
566566   m_KBD = 0;
567567

Previous 199869 Revisions Next


© 1997-2024 The MAME Team