summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/machine/exorterm.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/machine/exorterm.cpp')
-rw-r--r--src/devices/machine/exorterm.cpp61
1 files changed, 24 insertions, 37 deletions
diff --git a/src/devices/machine/exorterm.cpp b/src/devices/machine/exorterm.cpp
index 9db3f0658e4..977b84ec937 100644
--- a/src/devices/machine/exorterm.cpp
+++ b/src/devices/machine/exorterm.cpp
@@ -17,7 +17,8 @@ TODO
****************************************************************************/
#include "emu.h"
-#include "machine/exorterm.h"
+#include "exorterm.h"
+
#include "speaker.h"
#include "exorterm155.lh"
@@ -304,7 +305,7 @@ void exorterm155_device::pia_kbd_pb_w(u8 data)
// if the firmware uses these?
}
-WRITE_LINE_MEMBER(exorterm155_device::pia_cfg_cb2_w)
+void exorterm155_device::pia_cfg_cb2_w(int state)
{
m_beeper->set_state(!state);
}
@@ -334,11 +335,6 @@ void exorterm155_device::pia_disp_pb_w(u8 data)
m_rs232_conn_dtr_handler(BIT(data, 7));
}
-READ_LINE_MEMBER(exorterm155_device::pia_disp_ca2_r)
-{
- return m_ring;
-}
-
//**************************************************************************
// VIDEO EMULATION
//**************************************************************************
@@ -458,7 +454,7 @@ GFXDECODE_END
// MACHINE EMULATION
//**************************************************************************
-WRITE_LINE_MEMBER(exorterm155_device::sys_timer_w)
+void exorterm155_device::sys_timer_w(int state)
{
// 3.4ms
m_pia_disp->cb1_w(state);
@@ -478,7 +474,7 @@ WRITE_LINE_MEMBER(exorterm155_device::sys_timer_w)
}
}
-WRITE_LINE_MEMBER(exorterm155_device::write_f1_clock)
+void exorterm155_device::write_f1_clock(int state)
{
if (BIT(m_rs232_baud->read(), 0))
{
@@ -487,7 +483,7 @@ WRITE_LINE_MEMBER(exorterm155_device::write_f1_clock)
}
}
-WRITE_LINE_MEMBER(exorterm155_device::write_f3_clock)
+void exorterm155_device::write_f3_clock(int state)
{
if (BIT(m_rs232_baud->read(), 1))
{
@@ -496,7 +492,7 @@ WRITE_LINE_MEMBER(exorterm155_device::write_f3_clock)
}
}
-WRITE_LINE_MEMBER(exorterm155_device::write_f5_clock)
+void exorterm155_device::write_f5_clock(int state)
{
if (BIT(m_rs232_baud->read(), 2))
{
@@ -505,7 +501,7 @@ WRITE_LINE_MEMBER(exorterm155_device::write_f5_clock)
}
}
-WRITE_LINE_MEMBER(exorterm155_device::write_f6_clock)
+void exorterm155_device::write_f6_clock(int state)
{
if (BIT(m_rs232_baud->read(), 3))
{
@@ -514,7 +510,7 @@ WRITE_LINE_MEMBER(exorterm155_device::write_f6_clock)
}
}
-WRITE_LINE_MEMBER(exorterm155_device::write_f7_clock)
+void exorterm155_device::write_f7_clock(int state)
{
if (BIT(m_rs232_baud->read(), 4))
{
@@ -523,7 +519,7 @@ WRITE_LINE_MEMBER(exorterm155_device::write_f7_clock)
}
}
-WRITE_LINE_MEMBER(exorterm155_device::write_f8_clock)
+void exorterm155_device::write_f8_clock(int state)
{
if (BIT(m_rs232_baud->read(), 5))
{
@@ -532,7 +528,7 @@ WRITE_LINE_MEMBER(exorterm155_device::write_f8_clock)
}
}
-WRITE_LINE_MEMBER(exorterm155_device::write_f9_clock)
+void exorterm155_device::write_f9_clock(int state)
{
if (BIT(m_rs232_baud->read(), 6))
{
@@ -541,7 +537,7 @@ WRITE_LINE_MEMBER(exorterm155_device::write_f9_clock)
}
}
-WRITE_LINE_MEMBER(exorterm155_device::write_f11_clock)
+void exorterm155_device::write_f11_clock(int state)
{
if (BIT(m_rs232_baud->read(), 7))
{
@@ -550,7 +546,7 @@ WRITE_LINE_MEMBER(exorterm155_device::write_f11_clock)
}
}
-WRITE_LINE_MEMBER(exorterm155_device::write_f13_clock)
+void exorterm155_device::write_f13_clock(int state)
{
if (BIT(m_rs232_baud->read(), 8))
{
@@ -559,38 +555,38 @@ WRITE_LINE_MEMBER(exorterm155_device::write_f13_clock)
}
}
-WRITE_LINE_MEMBER(exorterm155_device::acia_txd_w)
+void exorterm155_device::acia_txd_w(int state)
{
m_rs232_conn_txd_handler(state);
}
-WRITE_LINE_MEMBER(exorterm155_device::acia_rts_w)
+void exorterm155_device::acia_rts_w(int state)
{
m_rs232_conn_rts_handler(state);
}
-WRITE_LINE_MEMBER(exorterm155_device::rs232_conn_dcd_w)
+void exorterm155_device::rs232_conn_dcd_w(int state)
{
m_acia->write_dcd(state);
}
-WRITE_LINE_MEMBER(exorterm155_device::rs232_conn_dsr_w)
+void exorterm155_device::rs232_conn_dsr_w(int state)
{
// Input of Display PIA PB5, pulled high.
m_dsr = state;
}
-WRITE_LINE_MEMBER(exorterm155_device::rs232_conn_ri_w)
+void exorterm155_device::rs232_conn_ri_w(int state)
{
- m_ring = state;
+ m_pia_disp->ca2_w(state);
}
-WRITE_LINE_MEMBER(exorterm155_device::rs232_conn_cts_w)
+void exorterm155_device::rs232_conn_cts_w(int state)
{
m_acia->write_cts(state);
}
-WRITE_LINE_MEMBER(exorterm155_device::rs232_conn_rxd_w)
+void exorterm155_device::rs232_conn_rxd_w(int state)
{
m_acia->write_rxd(state);
}
@@ -734,13 +730,6 @@ TIMER_CALLBACK_MEMBER(exorterm155_device::kbd_repeat)
-void exorterm155_device::device_resolve_objects()
-{
- m_rs232_conn_dtr_handler.resolve_safe();
- m_rs232_conn_rts_handler.resolve_safe();
- m_rs232_conn_txd_handler.resolve_safe();
-}
-
void exorterm155_device::device_start()
{
m_online_led.resolve();
@@ -757,12 +746,11 @@ void exorterm155_device::device_start()
save_item(NAME(m_sys_timer_count));
save_item(NAME(m_dsr));
- save_item(NAME(m_ring));
save_item(NAME(m_kbd_start_holdoff));
// Keyboard
- m_kbd_scan_timer = machine().scheduler().timer_alloc(timer_expired_delegate(FUNC(exorterm155_device::kbd_scan_row), this));
- m_kbd_repeat_timer = machine().scheduler().timer_alloc(timer_expired_delegate(FUNC(exorterm155_device::kbd_repeat), this));
+ m_kbd_scan_timer = timer_alloc(FUNC(exorterm155_device::kbd_scan_row), this);
+ m_kbd_repeat_timer = timer_alloc(FUNC(exorterm155_device::kbd_repeat), this);
kbd_reset_state();
kbd_repeat_stop();
@@ -774,7 +762,6 @@ void exorterm155_device::device_start()
save_item(NAME(m_kbd_last_modifiers));
m_dsr = 1;
- m_ring = 0;
}
void exorterm155_device::device_reset()
@@ -877,7 +864,7 @@ void exorterm155_device::device_add_mconfig(machine_config &config)
m_pia_disp->writepa_handler().set(FUNC(exorterm155_device::pia_disp_pa_w));
m_pia_disp->readpb_handler().set(FUNC(exorterm155_device::pia_disp_pb_r));
m_pia_disp->writepb_handler().set(FUNC(exorterm155_device::pia_disp_pb_w));
- m_pia_disp->readca2_handler().set(FUNC(exorterm155_device::pia_disp_ca2_r));
+ m_pia_disp->ca2_w(0);
m_pia_disp->irqa_handler().set(m_irqs, FUNC(input_merger_device::in_w<5>));
m_pia_disp->irqb_handler().set(m_irqs, FUNC(input_merger_device::in_w<6>));