summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/bus/abckb/abc77.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/bus/abckb/abc77.h')
-rw-r--r--src/devices/bus/abckb/abc77.h27
1 files changed, 9 insertions, 18 deletions
diff --git a/src/devices/bus/abckb/abc77.h b/src/devices/bus/abckb/abc77.h
index 1d79f374f90..304f8c3329f 100644
--- a/src/devices/bus/abckb/abc77.h
+++ b/src/devices/bus/abckb/abc77.h
@@ -26,7 +26,8 @@
// ======================> abc77_device
-class abc77_device : public device_t, public abc_keyboard_interface
+class abc77_device : public device_t,
+ public abc_keyboard_interface
{
public:
// construction/destruction
@@ -40,7 +41,6 @@ protected:
// device-level overrides
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;
// optional information overrides
virtual const tiny_rom_entry *device_rom_region() const override;
@@ -49,17 +49,11 @@ protected:
// abc_keyboard_interface overrides
virtual void txd_w(int state) override;
+ virtual void reset_w(int state) override;
private:
- enum
- {
- TIMER_SERIAL,
- TIMER_RESET
- };
-
- inline void serial_output(int state);
- inline void serial_clock();
- inline void key_down(int state);
+ TIMER_CALLBACK_MEMBER(serial_clock);
+ TIMER_CALLBACK_MEMBER(reset_tick);
required_device<i8035_device> m_maincpu;
required_device<watchdog_timer_device> m_watchdog;
@@ -67,11 +61,8 @@ private:
required_ioport_array<12> m_x;
required_ioport m_dsw;
- int m_txd; // transmit data
int m_keylatch; // keyboard row latch
- int m_keydown; // key down
int m_clock; // transmit clock
- int m_hys; // hysteresis
int m_stb; // strobe
uint8_t m_j3;
@@ -81,16 +72,16 @@ private:
uint8_t p1_r();
void p2_w(uint8_t data);
- DECLARE_READ_LINE_MEMBER( t1_r );
- DECLARE_WRITE_LINE_MEMBER( prog_w );
- void j3_w(uint8_t data);
+ int t1_r() { return m_clock; }
+ void prog_w(int state) { m_stb = state; }
+ void j3_w(uint8_t data) { m_j3 = data; }
void abc77_io(address_map &map);
void abc77_map(address_map &map);
};
-class abc55_device : public abc77_device
+class abc55_device : public abc77_device
{
public:
// construction/destruction