summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/bus/ss50/mpc.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/bus/ss50/mpc.cpp')
-rw-r--r--src/devices/bus/ss50/mpc.cpp33
1 files changed, 16 insertions, 17 deletions
diff --git a/src/devices/bus/ss50/mpc.cpp b/src/devices/bus/ss50/mpc.cpp
index 18194605a9c..f18bbff8fe4 100644
--- a/src/devices/bus/ss50/mpc.cpp
+++ b/src/devices/bus/ss50/mpc.cpp
@@ -37,21 +37,21 @@ public:
protected:
// device-specific overrides
- virtual ioport_constructor device_input_ports() const override;
- virtual void device_add_mconfig(machine_config &config) override;
- virtual void device_start() override;
+ virtual ioport_constructor device_input_ports() const override ATTR_COLD;
+ virtual void device_add_mconfig(machine_config &config) override ATTR_COLD;
+ virtual void device_start() override ATTR_COLD;
// interface-specific overrides
virtual u8 register_read(offs_t offset) override;
virtual void register_write(offs_t offset, u8 data) override;
- virtual DECLARE_WRITE_LINE_MEMBER(f110_w) override;
- virtual DECLARE_WRITE_LINE_MEMBER(f300_w) override;
+ virtual void f110_w(int state) override;
+ virtual void f300_w(int state) override;
private:
- DECLARE_WRITE_LINE_MEMBER(serial_input_w);
- DECLARE_WRITE_LINE_MEMBER(reader_control_w);
- DECLARE_READ_LINE_MEMBER(count_r);
- DECLARE_WRITE_LINE_MEMBER(count_select_w);
+ void serial_input_w(int state);
+ void reader_control_w(int state);
+ int count_r();
+ void count_select_w(int state);
required_device<pia6821_device> m_pia;
required_device<input_merger_device> m_loopback;
@@ -88,7 +88,6 @@ ioport_constructor ss50_mpc_device::device_input_ports() const
static DEVICE_INPUT_DEFAULTS_START( terminal )
DEVICE_INPUT_DEFAULTS("RS232_RXBAUD", 0xff, RS232_BAUD_300)
DEVICE_INPUT_DEFAULTS("RS232_TXBAUD", 0xff, RS232_BAUD_300)
- DEVICE_INPUT_DEFAULTS("RS232_STARTBITS", 0xff, RS232_STARTBITS_1)
DEVICE_INPUT_DEFAULTS("RS232_DATABITS", 0xff, RS232_DATABITS_8)
DEVICE_INPUT_DEFAULTS("RS232_PARITY", 0xff, RS232_PARITY_NONE)
DEVICE_INPUT_DEFAULTS("RS232_STOPBITS", 0xff, RS232_STOPBITS_1)
@@ -102,7 +101,7 @@ DEVICE_INPUT_DEFAULTS_END
void ss50_mpc_device::device_add_mconfig(machine_config &config)
{
- PIA6821(config, m_pia, 0); // actually MC6820
+ PIA6821(config, m_pia); // actually MC6820
m_pia->writepa_handler().set("outgate", FUNC(input_merger_device::in_w<0>)).bit(0);
m_pia->cb2_handler().set(FUNC(ss50_mpc_device::reader_control_w));
m_pia->readpb_handler().set_ioport("STOP").mask(0x01).lshift(6);
@@ -134,24 +133,24 @@ void ss50_mpc_device::device_start()
save_item(NAME(m_count_select));
}
-WRITE_LINE_MEMBER(ss50_mpc_device::serial_input_w)
+void ss50_mpc_device::serial_input_w(int state)
{
m_pia->write_porta_line(7, state);
m_loopback->in_w<0>(state);
}
-WRITE_LINE_MEMBER(ss50_mpc_device::reader_control_w)
+void ss50_mpc_device::reader_control_w(int state)
{
m_loopback->in_w<1>(state);
}
-READ_LINE_MEMBER(ss50_mpc_device::count_r)
+int ss50_mpc_device::count_r()
{
return BIT(m_counter->count(), m_count_select ? 4 : 3);
}
-WRITE_LINE_MEMBER(ss50_mpc_device::count_select_w)
+void ss50_mpc_device::count_select_w(int state)
{
m_count_select = bool(state);
}
@@ -175,13 +174,13 @@ void ss50_mpc_device::register_write(offs_t offset, u8 data)
m_pia->write(offset & 3, data);
}
-WRITE_LINE_MEMBER(ss50_mpc_device::f110_w)
+void ss50_mpc_device::f110_w(int state)
{
if (m_baud_jumper->read())
m_counter->clock_w(state);
}
-WRITE_LINE_MEMBER(ss50_mpc_device::f300_w)
+void ss50_mpc_device::f300_w(int state)
{
if (!m_baud_jumper->read())
m_counter->clock_w(state);