summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/machine/pcf8573.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/machine/pcf8573.h')
-rw-r--r--src/devices/machine/pcf8573.h15
1 files changed, 8 insertions, 7 deletions
diff --git a/src/devices/machine/pcf8573.h b/src/devices/machine/pcf8573.h
index 1085118da4f..91916ebef12 100644
--- a/src/devices/machine/pcf8573.h
+++ b/src/devices/machine/pcf8573.h
@@ -55,20 +55,21 @@ public:
void set_a0(int a0) { m_slave_address = (m_slave_address & 0xfd) | (a0 << 1); }
void set_a1(int a1) { m_slave_address = (m_slave_address & 0xfb) | (a1 << 2); }
- DECLARE_WRITE_LINE_MEMBER(a0_w);
- DECLARE_WRITE_LINE_MEMBER(a1_w);
- DECLARE_WRITE_LINE_MEMBER(scl_w);
- DECLARE_WRITE_LINE_MEMBER(sda_w);
- DECLARE_READ_LINE_MEMBER(sda_r);
+ void a0_w(int state);
+ void a1_w(int state);
+ void scl_w(int state);
+ void sda_w(int state);
+ int sda_r();
protected:
// device-level overrides
virtual void device_start() override;
- virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
// device_rtc_interface overrides
virtual void rtc_clock_updated(int year, int month, int day, int day_of_week, int hour, int minute, int second) override;
+ TIMER_CALLBACK_MEMBER(clock_tick);
+
private:
static constexpr uint8_t PCF8573_SLAVE_ADDRESS = 0xd0;
@@ -117,7 +118,7 @@ private:
int m_address;
int m_status;
- enum { STATE_IDLE, STATE_ADDRESS, STATE_MODE, STATE_DATAIN, STATE_DATAOUT };
+ enum { STATE_IDLE, STATE_ADDRESS, STATE_MODE, STATE_DATAIN, STATE_DATAOUT, STATE_READSELACK };
};
// device type definition