summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/machine/ie15.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/machine/ie15.h')
-rw-r--r--src/devices/machine/ie15.h28
1 files changed, 22 insertions, 6 deletions
diff --git a/src/devices/machine/ie15.h b/src/devices/machine/ie15.h
index 7390fb5fea5..025c3940f9e 100644
--- a/src/devices/machine/ie15.h
+++ b/src/devices/machine/ie15.h
@@ -6,7 +6,6 @@
#pragma once
-#include "bus/rs232/rs232.h"
#include "cpu/ie15/ie15.h"
#include "machine/ie15_kbd.h"
#include "sound/beep.h"
@@ -39,13 +38,22 @@ class ie15_device : public device_t, public device_serial_interface
public:
ie15_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- DECLARE_WRITE8_MEMBER(write) { term_write(data); }
+ // Interface to a RS232 connection.
+ auto rs232_conn_txd_handler() { return m_rs232_conn_txd_handler.bind(); }
+ auto rs232_conn_dtr_handler() { return m_rs232_conn_dtr_handler.bind(); }
+ auto rs232_conn_rts_handler() { return m_rs232_conn_rts_handler.bind(); }
+ DECLARE_WRITE_LINE_MEMBER(rs232_conn_dcd_w);
+ DECLARE_WRITE_LINE_MEMBER(rs232_conn_dsr_w);
+ DECLARE_WRITE_LINE_MEMBER(rs232_conn_ri_w);
+ DECLARE_WRITE_LINE_MEMBER(rs232_conn_cts_w);
+ DECLARE_WRITE_LINE_MEMBER(rs232_conn_rxd_w);
- DECLARE_WRITE_LINE_MEMBER(serial_rx_callback);
+ DECLARE_WRITE_LINE_MEMBER(update_serial);
protected:
ie15_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+ virtual void device_resolve_objects() 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;
@@ -58,8 +66,6 @@ protected:
virtual void tra_callback() override;
virtual void tra_complete() override;
- void term_write(uint8_t data) { m_serial_rx_char = data; m_serial_rx_ready = IE_FALSE; }
-
private:
static const device_timer_id TIMER_HBLANK = 0;
void scanline_callback();
@@ -129,10 +135,20 @@ private:
required_region_ptr<u8> m_p_videoram;
required_region_ptr<u8> m_p_chargen;
required_device<beep_device> m_beeper;
- required_device<rs232_port_device> m_rs232;
required_device<screen_device> m_screen;
required_device<ie15_keyboard_device> m_keyboard;
required_ioport m_io_keyboard;
+
+ devcb_write_line m_rs232_conn_txd_handler;
+ devcb_write_line m_rs232_conn_dtr_handler;
+ devcb_write_line m_rs232_conn_rts_handler;
+
+ // Until the UART is implemented
+ required_ioport m_rs232_txbaud;
+ required_ioport m_rs232_rxbaud;
+ required_ioport m_rs232_databits;
+ required_ioport m_rs232_parity;
+ required_ioport m_rs232_stopbits;
};
DECLARE_DEVICE_TYPE(IE15, ie15_device)