summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/machine/rp5c01.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/machine/rp5c01.h')
-rw-r--r--src/devices/machine/rp5c01.h16
1 files changed, 14 insertions, 2 deletions
diff --git a/src/devices/machine/rp5c01.h b/src/devices/machine/rp5c01.h
index 7e48269b72c..511663b47c0 100644
--- a/src/devices/machine/rp5c01.h
+++ b/src/devices/machine/rp5c01.h
@@ -65,11 +65,11 @@ protected:
virtual bool nvram_read(util::read_stream &file) override;
virtual bool nvram_write(util::write_stream &file) override;
- TIMER_CALLBACK_MEMBER(advance_1hz_clock);
+ virtual TIMER_CALLBACK_MEMBER(advance_1hz_clock);
TIMER_CALLBACK_MEMBER(advance_16hz_clock);
-private:
inline void set_alarm_line();
+private:
inline int read_counter(int counter);
inline void write_counter(int counter, int value);
inline void check_alarm();
@@ -77,6 +77,7 @@ private:
devcb_write_line m_out_alarm_cb;
bool m_battery_backed;
+protected:
uint8_t m_reg[2][13]; // clock registers
uint8_t m_ram[13]; // RAM
@@ -87,6 +88,7 @@ private:
int m_1hz; // 1 Hz condition
int m_16hz; // 16 Hz condition
+private:
// timers
emu_timer *m_clock_timer;
emu_timer *m_16hz_timer;
@@ -101,9 +103,19 @@ public:
tc8521_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
};
+class lh5045_device : public rp5c01_device
+{
+public:
+ // construction/destruction
+ lh5045_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+
+private:
+ virtual TIMER_CALLBACK_MEMBER(advance_1hz_clock) override;
+};
// device type definition
DECLARE_DEVICE_TYPE(RP5C01, rp5c01_device)
DECLARE_DEVICE_TYPE(TC8521, tc8521_device)
+DECLARE_DEVICE_TYPE(LH5045, lh5045_device)
#endif // MAME_MACHINE_RP5C01_H