summaryrefslogtreecommitdiffstatshomepage
path: root/trunk/src/emu/cpu/lr35902/lr35902.h
diff options
context:
space:
mode:
Diffstat (limited to 'trunk/src/emu/cpu/lr35902/lr35902.h')
-rw-r--r--trunk/src/emu/cpu/lr35902/lr35902.h36
1 files changed, 36 insertions, 0 deletions
diff --git a/trunk/src/emu/cpu/lr35902/lr35902.h b/trunk/src/emu/cpu/lr35902/lr35902.h
new file mode 100644
index 00000000000..54f5717de9a
--- /dev/null
+++ b/trunk/src/emu/cpu/lr35902/lr35902.h
@@ -0,0 +1,36 @@
+#pragma once
+
+#ifndef __LR35902_H__
+#define __LR35902_H__
+
+
+typedef void (*lr35902_timer_fired_func)(device_t *device, int cycles);
+
+typedef struct _lr35902_cpu_core lr35902_cpu_core;
+struct _lr35902_cpu_core
+{
+ const UINT16 *regs;
+ UINT8 features;
+ lr35902_timer_fired_func timer_expired_func;
+};
+
+enum
+{
+ LR35902_PC=1, LR35902_SP, LR35902_AF, LR35902_BC, LR35902_DE, LR35902_HL,
+ LR35902_IRQ_STATE,
+ /* Pseudo registers to keep track of the interrupt statuses */
+ LR35902_IE, LR35902_IF,
+ /* Pseudo register to change and check the cpu operating speed */
+ LR35902_SPEED,
+};
+
+#define LR35902_FEATURE_HALT_BUG 0x01
+
+/****************************************************************************/
+/* Return register contents */
+/****************************************************************************/
+DECLARE_LEGACY_CPU_DEVICE(LR35902, lr35902);
+
+extern CPU_DISASSEMBLE( lr35902 );
+
+#endif /* __LR35902_H__ */