diff options
Diffstat (limited to 'src/emu/machine/tms9902.h')
-rw-r--r-- | src/emu/machine/tms9902.h | 168 |
1 files changed, 84 insertions, 84 deletions
diff --git a/src/emu/machine/tms9902.h b/src/emu/machine/tms9902.h index 16784d3aa2e..6642c0d3721 100644 --- a/src/emu/machine/tms9902.h +++ b/src/emu/machine/tms9902.h @@ -44,133 +44,133 @@ extern const device_type TMS9902; struct tms9902_interface { - devcb_write_line int_callback; - devcb_write_line rcv_callback; - devcb_write8 xmit_callback; - devcb_write8 ctrl_callback; + devcb_write_line int_callback; + devcb_write_line rcv_callback; + devcb_write8 xmit_callback; + devcb_write8 ctrl_callback; }; class tms9902_device : public device_t { public: tms9902_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); - void set_clock(bool state); + void set_clock(bool state); - void rcv_cts(line_state state); - void rcv_dsr(line_state state); - void rcv_data(UINT8 data); - void rcv_break(bool value); - void rcv_framing_error(); - void rcv_parity_error(); + void rcv_cts(line_state state); + void rcv_dsr(line_state state); + void rcv_data(UINT8 data); + void rcv_break(bool value); + void rcv_framing_error(); + void rcv_parity_error(); - double get_baudpoll(); + double get_baudpoll(); - int get_config_value(); + int get_config_value(); DECLARE_READ8_MEMBER( cruread ); DECLARE_WRITE8_MEMBER( cruwrite ); protected: - void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr); - void device_start(); - void device_reset(); - void device_stop(); + void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr); + void device_start(); + void device_reset(); + void device_stop(); private: - void field_interrupts(); - void reload_interval_timer(); - void send_break(bool state); - void set_receive_data_rate(); - void set_transmit_data_rate(); - void set_stop_bits(); - void set_data_bits(); - void set_parity(); - void transmit_line_state(); - void set_rts(line_state state); - void initiate_transmit(); - void reset_uart(); - - devcb_resolved_write_line int_callback; - devcb_resolved_write_line rcv_callback; - devcb_resolved_write8 xmit_callback; - devcb_resolved_write8 ctrl_callback; // needs to be used with get_config_value + void field_interrupts(); + void reload_interval_timer(); + void send_break(bool state); + void set_receive_data_rate(); + void set_transmit_data_rate(); + void set_stop_bits(); + void set_data_bits(); + void set_parity(); + void transmit_line_state(); + void set_rts(line_state state); + void initiate_transmit(); + void reset_uart(); + + devcb_resolved_write_line int_callback; + devcb_resolved_write_line rcv_callback; + devcb_resolved_write8 xmit_callback; + devcb_resolved_write8 ctrl_callback; // needs to be used with get_config_value // tms9902 clock rate (PHI* pin, normally connected to TMS9900 Phi3*) // Official range is 2MHz-3.3MHz. Some tms9902s were sold as "MP9214", and // were tested for speeds up to 4MHz, provided the clk4m control bit is set. // (warning: 3MHz on a tms9900 is equivalent to 12MHz on a tms9995 or tms99000) - double m_clock_rate; + double m_clock_rate; /* Modes */ - bool m_LDCTRL; // Load control register - bool m_LDIR; // Load interval register - bool m_LRDR; // Load receive data register - bool m_LXDR; // Load transmit data register - bool m_TSTMD; // Test mode + bool m_LDCTRL; // Load control register + bool m_LDIR; // Load interval register + bool m_LRDR; // Load receive data register + bool m_LXDR; // Load transmit data register + bool m_TSTMD; // Test mode /* output pin */ - bool m_RTSON; // RTS-on request + bool m_RTSON; // RTS-on request /* transmitter registers */ - bool m_BRKON; // BRK-on request - bool m_BRKout; // indicates the current BRK state + bool m_BRKON; // BRK-on request + bool m_BRKout; // indicates the current BRK state - UINT8 m_XBR; // transmit buffer register - UINT8 m_XSR; // transmit shift register + UINT8 m_XBR; // transmit buffer register + UINT8 m_XSR; // transmit shift register /* receiver registers */ - UINT8 m_RBR; // Receive buffer register + UINT8 m_RBR; // Receive buffer register /* Interrupt enable flags */ - bool m_DSCENB; // Data set change interrupt enable - bool m_RIENB; // Receiver interrupt enable - bool m_XBIENB; // Tansmit buffer interrupt enable - bool m_TIMENB; // Timer interrupt enable + bool m_DSCENB; // Data set change interrupt enable + bool m_RIENB; // Receiver interrupt enable + bool m_XBIENB; // Tansmit buffer interrupt enable + bool m_TIMENB; // Timer interrupt enable /* - Rate registers. The receive bit rate calculates as - bitrate = clock1 / (2 * (8 ^ RDV8) * RDR) - (similarly for transmit) + Rate registers. The receive bit rate calculates as + bitrate = clock1 / (2 * (8 ^ RDV8) * RDR) + (similarly for transmit) - where clock1 = clock_rate / (CLK4M? 4:3) - */ - UINT16 m_RDR; // Receive data rate - bool m_RDV8; // Receive data rate divider - UINT16 m_XDR; // Transmit data rate - bool m_XDV8; // Transmit data rate divider + where clock1 = clock_rate / (CLK4M? 4:3) + */ + UINT16 m_RDR; // Receive data rate + bool m_RDV8; // Receive data rate divider + UINT16 m_XDR; // Transmit data rate + bool m_XDV8; // Transmit data rate divider /* Status flags */ - bool m_INT; // mirrors /INT output line, inverted - bool m_DSCH; // Data set status change + bool m_INT; // mirrors /INT output line, inverted + bool m_DSCH; // Data set status change - bool m_CTSin; // Inverted /CTS input (i.e. CTS) - bool m_DSRin; // Inverted /DSR input (i.e. DSR) - bool m_RTSout; // Current inverted /RTS line state (i.e. RTS) + bool m_CTSin; // Inverted /CTS input (i.e. CTS) + bool m_DSRin; // Inverted /DSR input (i.e. DSR) + bool m_RTSout; // Current inverted /RTS line state (i.e. RTS) - bool m_TIMELP; // Timer elapsed - bool m_TIMERR; // Timer error + bool m_TIMELP; // Timer elapsed + bool m_TIMERR; // Timer error - bool m_XSRE; // Transmit shift register empty - bool m_XBRE; // Transmit buffer register empty - bool m_RBRL; // Receive buffer register loaded + bool m_XSRE; // Transmit shift register empty + bool m_XBRE; // Transmit buffer register empty + bool m_RBRL; // Receive buffer register loaded - bool m_RIN; // State of the RIN pin - bool m_RSBD; // Receive start bit detect - bool m_RFBD; // Receive full bit detect - bool m_RFER; // Receive framing error - bool m_ROVER; // Receiver overflow - bool m_RPER; // Receive parity error + bool m_RIN; // State of the RIN pin + bool m_RSBD; // Receive start bit detect + bool m_RFBD; // Receive full bit detect + bool m_RFER; // Receive framing error + bool m_ROVER; // Receiver overflow + bool m_RPER; // Receive parity error - UINT8 m_RCL; // Character length - bool m_ODDP; - bool m_PENB; - UINT8 m_STOPB; - bool m_CLK4M; // /PHI input divide select + UINT8 m_RCL; // Character length + bool m_ODDP; + bool m_PENB; + UINT8 m_STOPB; + bool m_CLK4M; // /PHI input divide select - UINT8 m_TMR; /* interval timer */ + UINT8 m_TMR; /* interval timer */ /* clock registers */ - emu_timer *m_dectimer; /* MESS timer, used to emulate the decrementer register */ + emu_timer *m_dectimer; /* MESS timer, used to emulate the decrementer register */ emu_timer *m_recvtimer; emu_timer *m_sendtimer; @@ -178,10 +178,10 @@ private: // data source should deliver data bytes at every 1/baudpoll call. // This is to ensure that data is delivered at a rate that is expected // from the emulated program. - double m_baudpoll; + double m_baudpoll; // Caches the last configuration setting (used with the ctrl_callback) - int m_last_config_value; + int m_last_config_value; }; /*************************************************************************** |