summaryrefslogtreecommitdiffstatshomepage
path: root/trunk/src/emu/cpu/sm8500/sm8500.h
diff options
context:
space:
mode:
Diffstat (limited to 'trunk/src/emu/cpu/sm8500/sm8500.h')
-rw-r--r--trunk/src/emu/cpu/sm8500/sm8500.h39
1 files changed, 39 insertions, 0 deletions
diff --git a/trunk/src/emu/cpu/sm8500/sm8500.h b/trunk/src/emu/cpu/sm8500/sm8500.h
new file mode 100644
index 00000000000..7e942b6b68f
--- /dev/null
+++ b/trunk/src/emu/cpu/sm8500/sm8500.h
@@ -0,0 +1,39 @@
+#pragma once
+
+#ifndef __SM8500_H__
+#define __SM8500_H__
+
+
+typedef struct {
+ void (*handle_dma)(device_t *device, int cycles);
+ void (*handle_timers)(device_t *device, int cycles);
+} SM8500_CONFIG;
+
+/* interrupts */
+#define ILL_INT 0
+#define DMA_INT 1
+#define TIM0_INT 2
+#define EXT_INT 3
+#define UART_INT 4
+#define LCDC_INT 5
+#define TIM1_INT 6
+#define CK_INT 7
+#define PIO_INT 8
+#define WDT_INT 9
+#define NMI_INT 10
+
+enum
+{
+ /* "main" 16 bit register */
+ SM8500_PC=1, SM8500_SP, SM8500_PS, SM8500_SYS16, SM8500_RR0, SM8500_RR2, SM8500_RR4, SM8500_RR6, SM8500_RR8, SM8500_RR10,
+ SM8500_RR12, SM8500_RR14,
+ /* additional internal 8 bit registers */
+ SM8500_IE0, SM8500_IE1, SM8500_IR0, SM8500_IR1, SM8500_P0, SM8500_P1, SM8500_P2, SM8500_P3, SM8500_SYS, SM8500_CKC,
+ SM8500_SPH, SM8500_SPL, SM8500_PS0, SM8500_PS1, SM8500_P0C, SM8500_P1C, SM8500_P2C, SM8500_P3C,
+};
+
+DECLARE_LEGACY_CPU_DEVICE(SM8500, sm8500);
+
+extern CPU_DISASSEMBLE( sm8500 );
+
+#endif /* __SM8500_H__ */