diff options
Diffstat (limited to 'trunk/src/emu/machine/k033906.h')
-rw-r--r-- | trunk/src/emu/machine/k033906.h | 89 |
1 files changed, 89 insertions, 0 deletions
diff --git a/trunk/src/emu/machine/k033906.h b/trunk/src/emu/machine/k033906.h new file mode 100644 index 00000000000..7a46d253539 --- /dev/null +++ b/trunk/src/emu/machine/k033906.h @@ -0,0 +1,89 @@ +/*************************************************************************** + + Konami 033906 + +***************************************************************************/ + +#pragma once + +#ifndef __K033906_H__ +#define __K033906_H__ + +#include "emu.h" + + + +/*************************************************************************** + DEVICE CONFIGURATION MACROS +***************************************************************************/ + +#define MCFG_K033906_ADD(_tag, _config) \ + MCFG_DEVICE_ADD(_tag, K033906, 0) \ + MCFG_DEVICE_CONFIG(_config) + + +/*************************************************************************** + TYPE DEFINITIONS +***************************************************************************/ + + +// ======================> k033906_interface + +struct k033906_interface +{ + const char *m_voodoo_tag; +}; + + + +// ======================> k033906_device + +class k033906_device : public device_t, + public k033906_interface +{ +public: + // construction/destruction + k033906_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); + + UINT32 k033906_r(UINT32 offset); + void k033906_w(UINT32 offset, UINT32 data, UINT32 mem_mask); + void k033906_set_reg(UINT8 state); + +protected: + // device-level overrides + virtual void device_config_complete(); + virtual void device_start(); + virtual void device_reset() { } + virtual void device_post_load() { } + virtual void device_clock_changed() { } + +private: + + UINT32 k033906_reg_r(int reg); + void k033906_reg_w(int reg, UINT32 data); + + /* i/o lines */ + UINT32 * m_reg; + UINT32 * m_ram; + + int m_reg_set; // 1 = access reg / 0 = access ram + + device_t *m_voodoo; +}; + + +// device type definition +extern const device_type K033906; + + + +/*************************************************************************** + PROTOTYPES +***************************************************************************/ + +extern READ32_DEVICE_HANDLER( k033906_r ); +extern WRITE32_DEVICE_HANDLER( k033906_w ); +extern WRITE_LINE_DEVICE_HANDLER( k033906_set_reg ); + + +#endif /* __K033906_H__ */ |