summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/cpu/g65816/g65816.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/cpu/g65816/g65816.h')
-rw-r--r--src/devices/cpu/g65816/g65816.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/devices/cpu/g65816/g65816.h b/src/devices/cpu/g65816/g65816.h
index e53f9eb784b..454dc7fd1b5 100644
--- a/src/devices/cpu/g65816/g65816.h
+++ b/src/devices/cpu/g65816/g65816.h
@@ -56,7 +56,8 @@ public:
// construction/destruction
g65816_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
-protected:
+ auto wdm_handler() { return m_wdm_w.bind(); }
+
/* Registers - used by g65816_set_reg() and g65816_get_reg() */
enum
{
@@ -66,6 +67,7 @@ protected:
_5A22_FASTROM
};
+protected:
g65816_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, int cpu_type, address_map_constructor internal);
// device-level overrides
@@ -96,6 +98,7 @@ protected:
address_space_config m_data_config;
address_space_config m_opcode_config;
address_space_config m_vector_config;
+ devcb_write8 m_wdm_w; /* WDM callback */
typedef void (g65816_device::*opcode_func) ();
typedef unsigned (g65816_device::*get_reg_func)(int regnum);
@@ -139,8 +142,10 @@ protected:
void g65816_set_pc(unsigned val);
unsigned g65816_get_sp();
void g65816_set_sp(unsigned val);
+public:
unsigned g65816_get_reg(int regnum);
void g65816_set_reg(int regnum, unsigned value);
+protected:
void g65816_restore_state();
unsigned g65816i_read_8_normal(unsigned address);
unsigned g65816i_read_8_immediate(unsigned address);