#ifndef EE_REGS_H #define EE_REGS_H #include "ps2.h" /* * EE Registers */ #define SET_REG32(r, x) \ *((volatile uint32 *) r) = (x) #define SET_REG64(r, x) \ *((volatile uint64 *) r) = (x) #define SET_REG128(r, x) \ *((volatile uint128 *) r) = (x) #define GET_REG32(r) \ *((volatile uint32 *) r) #define GET_REG64(r) \ *((volatile uint64 *) r) #define GET_REG128(r) \ *((volatile uint128 *) r) /* Module TIMER */ #define T0_COUNT 0x10000000 #define T0_MODE 0x10000010 #define T0_COMP 0x10000020 #define T0_HOLD 0x10000030 #define T1_COUNT 0x10000800 #define T1_MODE 0x10000810 #define T1_COMP 0x10000820 #define T1_HOLD 0x10000830 #define T2_COUNT 0x10001000 #define T2_MODE 0x10001010 #define T2_COMP 0x10001020 #define T3_COUNT 0x10001800 #define T3_MODE 0x10001810 #define T3_COMP 0x10001820 /* Module IPU */ #define IPU_CMD 0x10002000 #define IPU_CTRL 0x10002010 #define IPU_BP 0x10002020 #define IPU_TOP 0x10002030 /* Module GIF */ #define GIF_CTRL 0x10003000 #define GIF_MODE 0x10003010 #define GIF_STAT 0x10003020 #define GIF_TAG0 0x10003040 #define GIF_TAG1 0x10003050 #define GIF_TAG2 0x10003060 #define GIF_TAG3 0x10003070 #define GIF_CNT 0x10003080 #define GIF_P3CNT 0x10003090 #define GIF_P3TAG 0x100030a0 /* Module VIF0 */ #define VIF0_STAT 0x10003800 #define VIF0_FBRST 0x10003810 #define VIF0_ERR 0x10003820 #define VIF0_MARK 0x10003830 #define VIF0_CYCLE 0x10003840 #define VIF0_MODE 0x10003850 #define VIF0_NUM 0x10003860 #define VIF0_MASK 0x10003870 #define VIF0_CODE 0x10003880 #define VIF0_ITOPS 0x10003890 #define VIF0_ITOP 0x100038d0 #define VIF0_R0 0x10003900 #define VIF0_R1 0x10003910 #define VIF0_R2 0x10003920 #define VIF0_R3 0x10003930 #define VIF0_C0 0x10003940 #define VIF0_C1 0x10003950 #define VIF0_C2 0x10003960 #define VIF0_C3 0x10003970 /* Module VIF1 */ #define VIF1_STAT 0x10003c00 #define VIF1_FBRST 0x10003c10 #define VIF1_ERR 0x10003c20 #define VIF1_MARK 0x10003c30 #define VIF1_CYCLE 0x10003c40 #define VIF1_MODE 0x10003c50 #define VIF1_NUM 0x10003c60 #define VIF1_MASK 0x10003c70 #define VIF1_CODE 0x10003c80 #define VIF1_ITOPS 0x10003c90 #define VIF1_BASE 0x10003ca0 #define VIF1_OFST 0x10003cb0 #define VIF1_TOPS 0x10003cc0 #define VIF1_ITOP 0x10003cd0 #define VIF1_TOP 0x10003ce0 #define VIF1_R0 0x10003d00 #define VIF1_R1 0x10003d10 #define VIF1_R2 0x10003d20 #define VIF1_R3 0x10003d30 #define VIF1_C0 0x10003d40 #define VIF1_C1 0x10003d50 #define VIF1_C2 0x10003d60 #define VIF1_C3 0x10003d70 /* Module FIFO */ #define VIF0_FIFO 0x1000400 #define VIF1_FIFO 0x1000500 #define GIF_FIFO 0x1000600 #define IPU_out_FIFO 0x1000700 #define IPU_in_FIFO 0x1000701 /* Module DMAC */ #define D0_CHCR 0x10008000 #define D0_MADR 0x10008010 #define D0_QWC 0x10008020 #define D0_TADR 0x10008030 #define D0_ASR0 0x10008040 #define D0_ASR1 0x10008050 #define D1_CHCR 0x10009000 #define D1_MADR 0x10009010 #define D1_QWC 0x10009020 #define D1_TADR 0x10009030 #define D1_ASR0 0x10009040 #define D1_ASR1 0x10009050 #define D2_CHCR 0x1000a000 #define D2_MADR 0x1000a010 #define D2_QWC 0x1000a020 #define D2_TADR 0x1000a030 #define D2_ASR0 0x1000a040 #define D2_ASR1 0x1000a050 #define D3_CHCR 0x1000b000 #define D3_MADR 0x1000b010 #define D3_QWC 0x1000b020 #define D4_CHCR 0x1000b400 #define D4_MADR 0x1000b410 #define D4_QWC 0x1000b420 #define D4_TADR 0x1000b430 #define D5_CHCR 0x1000c000 #define D5_MADR 0x1000c010 #define D5_QWC 0x1000c020 #define D6_CHCR 0x1000c400 #define D6_MADR 0x1000c410 #define D6_QWC 0x1000c420 #define D6_TADR 0x1000c430 #define D7_CHCR 0x1000c800 #define D7_MADR 0x1000c810 #define D7_QWC 0x1000c820 #define D8_CHCR 0x1000d000 #define D8_MADR 0x1000d010 #define D8_QWC 0x1000d020 #define D8_SADR 0x1000d080 #define D9_CHCR 0x1000d400 #define D9_MADR 0x1000d410 #define D9_QWC 0x1000d420 #define D9_TADR 0x1000d430 #define D9_SADR 0x1000d480 #define D_CTRL 0x1000e000 #define D_STAT 0x1000e010 #define D_PCR 0x1000e020 #define D_SQWC 0x1000e030 #define D_RBSR 0x1000e040 #define D_RBOR 0x1000e050 #define D_STADR 0x1000e060 #define D_ENABLER 0x1000f520 #define D_ENABLEW 0x1000f590 /* Module INTC */ #define I_STAT 0x1000f000 #define I_MASK 0x1000f010 /* Module SIF */ #define SB_SMFLG 0x1000f230 /* Module GS Special */ #define GS_PMODE 0x12000000 #define GS_SMODE1 0x12000010 #define GS_SMODE2 0x12000020 #define GS_SRFSH 0x12000030 #define GS_SYNCH1 0x12000040 #define GS_SYNCH2 0x12000050 #define GS_SYNCV 0x12000060 #define GS_DISPFB1 0x12000070 #define GS_DISPLAY1 0x12000080 #define GS_DISPFB2 0x12000090 #define GS_DISPLAY2 0x120000a0 #define GS_EXTBUF 0x120000b0 #define GS_EXTDATA 0x120000c0 #define GS_EXTWRITE 0x120000d0 #define GS_BGCOLOR 0x120000e0 #define GS_CSR 0x12001000 #define GS_IMR 0x12001010 #define GS_BUSDIR 0x12001040 #define GS_SIGLBLID 0x12001080 #endif