summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/machine/msm6242.h
diff options
context:
space:
mode:
author Angelo Salese <angelosa@users.noreply.github.com>2011-12-19 20:01:16 +0000
committer Angelo Salese <angelosa@users.noreply.github.com>2011-12-19 20:01:16 +0000
commitcdbdf6d2c75ba8fcb793bd3e4f6d1e814945ffe3 (patch)
tree17fbc53f288ca025b71423c2c1520d7a4461f659 /src/emu/machine/msm6242.h
parent6d8285349ac47bd84fc03ca5ea2c880c6d845231 (diff)
Fixed devcb_write_line callback in the device, apparently my second TIMER_CALLBACK hates interface functions ...
Diffstat (limited to 'src/emu/machine/msm6242.h')
-rw-r--r--src/emu/machine/msm6242.h17
1 files changed, 10 insertions, 7 deletions
diff --git a/src/emu/machine/msm6242.h b/src/emu/machine/msm6242.h
index 534561bf4b3..bed9c6829ce 100644
--- a/src/emu/machine/msm6242.h
+++ b/src/emu/machine/msm6242.h
@@ -12,6 +12,9 @@
#ifndef __MSM6242DEV_H__
#define __MSM6242DEV_H__
+#include "emu.h"
+#include "machine/devhelpr.h"
+
#define MCFG_MSM6242_ADD(_tag, _config) \
MCFG_DEVICE_ADD(_tag, msm6242, XTAL_32_768kHz) \
@@ -20,12 +23,12 @@
#define MSM6242_INTERFACE(name) \
const msm6242_interface (name) =
-// ======================> ramdac_interface
+// ======================> msm6242_interface
typedef struct _msm6242_interface msm6242_interface;
struct _msm6242_interface
{
- devcb_write_line m_out_int_line; /* Callback is called whenever the state of the INT output changes */
+ devcb_write_line m_out_int_cb;
};
typedef struct
@@ -47,25 +50,25 @@ public:
DECLARE_WRITE8_MEMBER( write );
DECLARE_READ8_MEMBER( read );
void rtc_timer_callback();
- void std_callback();
protected:
// device-level overrides
+ virtual void device_config_complete();
virtual bool device_validity_check(emu_options &options, const game_driver &driver) const;
virtual void device_start();
virtual void device_reset();
- virtual void device_config_complete();
static TIMER_CALLBACK( rtc_inc_callback );
- static TIMER_CALLBACK( std_callback );
private:
UINT8 m_reg[3];
+ UINT8 m_irq_flag;
+ UINT8 m_irq_type;
+ UINT16 m_tick;
rtc_regs_t m_rtc;
rtc_regs_t m_hold;
- emu_timer *m_std_timer;
- devcb_resolved_write_line m_irq_changed;
+ devcb_resolved_write_line m_out_int_func;
};