diff options
author | 2012-01-23 21:49:46 +0000 | |
---|---|---|
committer | 2012-01-23 21:49:46 +0000 | |
commit | c8822a8937cd76f36293ca7b5d973def1b9a15b1 (patch) | |
tree | 798acef020b06e16b3ac4b40a37caec5efa635b8 /src/emu/machine/mccs1850.h | |
parent | 2e80c5ff0ea737aafd47120337014813031d437e (diff) |
mess sync (nw)
Diffstat (limited to 'src/emu/machine/mccs1850.h')
-rw-r--r-- | src/emu/machine/mccs1850.h | 33 |
1 files changed, 8 insertions, 25 deletions
diff --git a/src/emu/machine/mccs1850.h b/src/emu/machine/mccs1850.h index da3e43a72d0..7a1427847e7 100644 --- a/src/emu/machine/mccs1850.h +++ b/src/emu/machine/mccs1850.h @@ -31,41 +31,27 @@ // INTERFACE CONFIGURATION MACROS //************************************************************************** -#define MCFG_MCCS1850_ADD(_tag, _clock, _config) \ +#define MCFG_MCCS1850_ADD(_tag, _clock, _int_cb, _pse_cb, _nuc_cb) \ MCFG_DEVICE_ADD(_tag, MCCS1850, _clock) \ - MCFG_DEVICE_CONFIG(_config) - - -#define MCCS1850_INTERFACE(name) \ - const mccs1850_interface (name) = - + downcast<mccs1850_device *>(device)->set_cb(_int_cb, _pse_cb, _nuc_cb); //************************************************************************** // TYPE DEFINITIONS //************************************************************************** -// ======================> mccs1850_interface - -struct mccs1850_interface -{ - devcb_write_line m_out_int_cb; - devcb_write_line m_out_pse_cb; - devcb_write_line m_out_nuc_cb; -}; - - - // ======================> mccs1850_device class mccs1850_device : public device_t, public device_rtc_interface, - public device_nvram_interface, - public mccs1850_interface + public device_nvram_interface { public: + typedef delegate<void (bool state)> cb_t; + // construction/destruction mccs1850_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); + void set_cb(cb_t int_cb, cb_t pse_cb, cb_t nuc_cb); DECLARE_WRITE_LINE_MEMBER( ce_w ); DECLARE_WRITE_LINE_MEMBER( sck_w ); @@ -77,7 +63,6 @@ public: protected: // device-level overrides - virtual void device_config_complete(); virtual void device_start(); virtual void device_reset(); virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr); @@ -93,16 +78,14 @@ protected: private: inline void check_interrupt(); - inline void set_pse_line(int state); + inline void set_pse_line(bool state); inline UINT8 read_register(offs_t offset); inline void write_register(offs_t offset, UINT8 data); inline void advance_seconds(); static const device_timer_id TIMER_CLOCK = 0; - devcb_resolved_write_line m_out_int_func; - devcb_resolved_write_line m_out_pse_func; - devcb_resolved_write_line m_out_nuc_func; + cb_t int_cb, pse_cb, nuc_cb; UINT8 m_ram[0x80]; // RAM |