diff options
author | 2017-02-26 03:08:23 +0300 | |
---|---|---|
committer | 2017-02-27 00:16:35 +0300 | |
commit | 0b4832bdf3f7e521675bd89a5141c9d1eed5b557 (patch) | |
tree | 37f2b9702df2a1ad67b78c995f0b84b708657ce8 /src/devices/bus/rs232/ie15.h | |
parent | 4b9648e7cd7cae926c4b088b8a5840cd1364ec1c (diff) |
ie15: convert to a device with frontends (standalone driver and rs232 slot device)
Diffstat (limited to 'src/devices/bus/rs232/ie15.h')
-rw-r--r-- | src/devices/bus/rs232/ie15.h | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/src/devices/bus/rs232/ie15.h b/src/devices/bus/rs232/ie15.h new file mode 100644 index 00000000000..281a842b634 --- /dev/null +++ b/src/devices/bus/rs232/ie15.h @@ -0,0 +1,42 @@ +// license:BSD-3-Clause +// copyright-holders:Sergey Svishchev + +#ifndef MAME_BUS_RS232_IE15_H +#define MAME_BUS_RS232_IE15_H + +#include "rs232.h" +#include "machine/ie15.h" + + +class ie15_terminal_device : public ie15_device, + public device_rs232_port_interface +{ +public: + ie15_terminal_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + + virtual DECLARE_WRITE_LINE_MEMBER( input_txd ) override { ie15_device::serial_rx_callback(state); } + + DECLARE_WRITE_LINE_MEMBER(update_serial); + +protected: + virtual ioport_constructor device_input_ports() const override; + virtual void device_start() override; + virtual void device_reset() override; + virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override; + + virtual void tra_callback() override; + virtual void tra_complete() override; + virtual void rcv_complete() override; + +private: + required_ioport m_rs232_txbaud; + required_ioport m_rs232_rxbaud; + required_ioport m_rs232_startbits; + required_ioport m_rs232_databits; + required_ioport m_rs232_parity; + required_ioport m_rs232_stopbits; +}; + +extern const device_type SERIAL_TERMINAL_IE15; + +#endif // MAME_BUS_RS232_IE15_H |