diff options
Diffstat (limited to 'src/devices/bus/ss50/mpc.cpp')
-rw-r--r-- | src/devices/bus/ss50/mpc.cpp | 33 |
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); |