diff options
Diffstat (limited to 'trunk/src/emu/cpu/jaguar/jaguar.h')
-rw-r--r-- | trunk/src/emu/cpu/jaguar/jaguar.h | 111 |
1 files changed, 111 insertions, 0 deletions
diff --git a/trunk/src/emu/cpu/jaguar/jaguar.h b/trunk/src/emu/cpu/jaguar/jaguar.h new file mode 100644 index 00000000000..a29da2384d4 --- /dev/null +++ b/trunk/src/emu/cpu/jaguar/jaguar.h @@ -0,0 +1,111 @@ +/*************************************************************************** + + jaguar.h + Interface file for the portable Jaguar DSP emulator. + Written by Aaron Giles + +***************************************************************************/ + +#pragma once + +#ifndef __JAGUAR_H__ +#define __JAGUAR_H__ + + + +/*************************************************************************** + GLOBAL CONSTANTS +***************************************************************************/ + +#define JAGUAR_VARIANT_GPU 0 +#define JAGUAR_VARIANT_DSP 1 + + + +/*************************************************************************** + REGISTER ENUMERATION +***************************************************************************/ + +enum +{ + JAGUAR_PC=1,JAGUAR_FLAGS, + JAGUAR_R0,JAGUAR_R1,JAGUAR_R2,JAGUAR_R3,JAGUAR_R4,JAGUAR_R5,JAGUAR_R6,JAGUAR_R7, + JAGUAR_R8,JAGUAR_R9,JAGUAR_R10,JAGUAR_R11,JAGUAR_R12,JAGUAR_R13,JAGUAR_R14,JAGUAR_R15, + JAGUAR_R16,JAGUAR_R17,JAGUAR_R18,JAGUAR_R19,JAGUAR_R20,JAGUAR_R21,JAGUAR_R22,JAGUAR_R23, + JAGUAR_R24,JAGUAR_R25,JAGUAR_R26,JAGUAR_R27,JAGUAR_R28,JAGUAR_R29,JAGUAR_R30,JAGUAR_R31 +}; + +enum +{ + G_FLAGS = 0, + G_MTXC, + G_MTXA, + G_END, + G_PC, + G_CTRL, + G_HIDATA, + G_DIVCTRL, + G_DUMMY, + G_REMAINDER, + G_CTRLMAX +}; + +enum +{ + D_FLAGS = 0, + D_MTXC, + D_MTXA, + D_END, + D_PC, + D_CTRL, + D_MOD, + D_DIVCTRL, + D_MACHI, + D_REMAINDER, + D_CTRLMAX +}; + + + +/*************************************************************************** + CONFIGURATION STRUCTURE +***************************************************************************/ + +typedef void (*jaguar_int_func)(device_t *device); + + +typedef struct _jaguar_cpu_config jaguar_cpu_config; +struct _jaguar_cpu_config +{ + jaguar_int_func cpu_int_callback; +}; + + + +/*************************************************************************** + INTERRUPT CONSTANTS +***************************************************************************/ + +#define JAGUAR_IRQ0 0 /* IRQ0 */ +#define JAGUAR_IRQ1 1 /* IRQ1 */ +#define JAGUAR_IRQ2 2 /* IRQ2 */ +#define JAGUAR_IRQ3 3 /* IRQ3 */ +#define JAGUAR_IRQ4 4 /* IRQ4 */ +#define JAGUAR_IRQ5 5 /* IRQ5 */ + + + +/*************************************************************************** + PUBLIC FUNCTIONS +***************************************************************************/ + +DECLARE_LEGACY_CPU_DEVICE(JAGUARGPU, jaguargpu); +extern void jaguargpu_ctrl_w(device_t *device, offs_t offset, UINT32 data, UINT32 mem_mask); +extern UINT32 jaguargpu_ctrl_r(device_t *device, offs_t offset); + +DECLARE_LEGACY_CPU_DEVICE(JAGUARDSP, jaguardsp); +extern void jaguardsp_ctrl_w(device_t *device, offs_t offset, UINT32 data, UINT32 mem_mask); +extern UINT32 jaguardsp_ctrl_r(device_t *device, offs_t offset); + + +#endif /* __JAGUAR_H__ */ |