mirror of
https://github.com/OpenDriver2/REDRIVER2.git
synced 2024-11-24 11:22:39 +01:00
118 lines
4.2 KiB
C
118 lines
4.2 KiB
C
#ifndef GTEREG_H
|
|
#define GTEREG_H
|
|
|
|
//Externals
|
|
extern int LIM(int value, int max, int min, unsigned int flag);
|
|
|
|
extern GTERegisters gteRegs;
|
|
|
|
// TODO: rename all defines with "C2_" prefix
|
|
|
|
/* Data Registers mtc2 mfc2 */
|
|
#define VX0 (gteRegs.CP2D.p[ 0 ].sw.l)
|
|
#define VY0 (gteRegs.CP2D.p[ 0 ].sw.h)
|
|
#define VZ0 (gteRegs.CP2D.p[ 1 ].sw.l)
|
|
#define VX1 (gteRegs.CP2D.p[ 2 ].w.l)
|
|
#define VY1 (gteRegs.CP2D.p[ 2 ].w.h)
|
|
#define VZ1 (gteRegs.CP2D.p[ 3 ].w.l)
|
|
#define VX2 (gteRegs.CP2D.p[ 4 ].w.l)
|
|
#define VY2 (gteRegs.CP2D.p[ 4 ].w.h)
|
|
#define VZ2 (gteRegs.CP2D.p[ 5 ].w.l)
|
|
#define R (gteRegs.CP2D.p[ 6 ].b.l)
|
|
#define G (gteRegs.CP2D.p[ 6 ].b.h)
|
|
#define B (gteRegs.CP2D.p[ 6 ].b.h2)
|
|
#define CODE (gteRegs.CP2D.p[ 6 ].b.h3)
|
|
#define OTZ (gteRegs.CP2D.p[ 7 ].w.l)
|
|
#define IR0 (gteRegs.CP2D.p[ 8 ].sw.l)
|
|
#define IR1 (gteRegs.CP2D.p[ 9 ].sw.l)
|
|
#define IR2 (gteRegs.CP2D.p[ 10 ].sw.l)
|
|
#define IR3 (gteRegs.CP2D.p[ 11 ].sw.l)
|
|
#define SXY0 (gteRegs.CP2D.p[ 12 ].d)
|
|
#define SX0 (gteRegs.CP2D.p[ 12 ].sw.l)
|
|
#define SY0 (gteRegs.CP2D.p[ 12 ].sw.h)
|
|
#define SXY1 (gteRegs.CP2D.p[ 13 ].d)
|
|
#define SX1 (gteRegs.CP2D.p[ 13 ].sw.l)
|
|
#define SY1 (gteRegs.CP2D.p[ 13 ].sw.h)
|
|
#define SXY2 (gteRegs.CP2D.p[ 14 ].d)
|
|
#define SX2 (gteRegs.CP2D.p[ 14 ].sw.l)
|
|
#define SY2 (gteRegs.CP2D.p[ 14 ].sw.h)
|
|
#define SXYP (gteRegs.CP2D.p[ 15 ].d)
|
|
#define SXP (gteRegs.CP2D.p[ 15 ].sw.l)
|
|
#define SYP (gteRegs.CP2D.p[ 15 ].sw.h)
|
|
#define SZ0 (gteRegs.CP2D.p[ 16 ].w.l)
|
|
#define SZ1 (gteRegs.CP2D.p[ 17 ].w.l)
|
|
#define SZ2 (gteRegs.CP2D.p[ 18 ].w.l)
|
|
#define SZ3 (gteRegs.CP2D.p[ 19 ].w.l)
|
|
#define RGB0 (gteRegs.CP2D.p[ 20 ].d)
|
|
#define R0 (gteRegs.CP2D.p[ 20 ].b.l)
|
|
#define G0 (gteRegs.CP2D.p[ 20 ].b.h)
|
|
#define B0 (gteRegs.CP2D.p[ 20 ].b.h2)
|
|
#define CD0 (gteRegs.CP2D.p[ 20 ].b.h3)
|
|
#define RGB1 (gteRegs.CP2D.p[ 21 ].d)
|
|
#define R1 (gteRegs.CP2D.p[ 21 ].b.l)
|
|
#define G1 (gteRegs.CP2D.p[ 21 ].b.h)
|
|
#define B1 (gteRegs.CP2D.p[ 21 ].b.h2)
|
|
#define CD1 (gteRegs.CP2D.p[ 21 ].b.h3)
|
|
#define RGB2 (gteRegs.CP2D.p[ 22 ].d)
|
|
#define R2 (gteRegs.CP2D.p[ 22 ].b.l)
|
|
#define G2 (gteRegs.CP2D.p[ 22 ].b.h)
|
|
#define B2 (gteRegs.CP2D.p[ 22 ].b.h2)
|
|
#define CD2 (gteRegs.CP2D.p[ 22 ].b.h3)
|
|
#define RES1 (gteRegs.CP2D.p[ 23 ].d)
|
|
#define MAC0 (gteRegs.CP2D.p[ 24 ].sd)
|
|
#define MAC1 (gteRegs.CP2D.p[ 25 ].sd)
|
|
#define MAC2 (gteRegs.CP2D.p[ 26 ].sd)
|
|
#define MAC3 (gteRegs.CP2D.p[ 27 ].sd)
|
|
#define IRGB (gteRegs.CP2D.p[ 28 ].d)
|
|
#define ORGB (gteRegs.CP2D.p[ 29 ].d)
|
|
#define LZCS (gteRegs.CP2D.p[ 30 ].d)
|
|
#define LZCR (gteRegs.CP2D.p[ 31 ].d)
|
|
|
|
/* Control Registers ctc2 cfc2*/
|
|
|
|
#define R11 (gteRegs.CP2C.p[ 0 ].sw.l)
|
|
#define R12 (gteRegs.CP2C.p[ 0 ].sw.h)
|
|
#define R13 (gteRegs.CP2C.p[ 1 ].sw.l)
|
|
#define R21 (gteRegs.CP2C.p[ 1 ].sw.h)
|
|
#define R22 (gteRegs.CP2C.p[ 2 ].sw.l)
|
|
#define R23 (gteRegs.CP2C.p[ 2 ].sw.h)
|
|
#define R31 (gteRegs.CP2C.p[ 3 ].sw.l)
|
|
#define R32 (gteRegs.CP2C.p[ 3 ].sw.h)
|
|
#define R33 (gteRegs.CP2C.p[ 4 ].sw.l)
|
|
#define TRX (gteRegs.CP2C.p[ 5 ].sd)
|
|
#define TRY (gteRegs.CP2C.p[ 6 ].sd)
|
|
#define TRZ (gteRegs.CP2C.p[ 7 ].sd)
|
|
#define L11 (gteRegs.CP2C.p[ 8 ].sw.l)
|
|
#define L12 (gteRegs.CP2C.p[ 8 ].sw.h)
|
|
#define L13 (gteRegs.CP2C.p[ 9 ].sw.l)
|
|
#define L21 (gteRegs.CP2C.p[ 9 ].sw.h)
|
|
#define L22 (gteRegs.CP2C.p[ 10 ].sw.l)
|
|
#define L23 (gteRegs.CP2C.p[ 10 ].sw.h)
|
|
#define L31 (gteRegs.CP2C.p[ 11 ].sw.l)
|
|
#define L32 (gteRegs.CP2C.p[ 11 ].sw.h)
|
|
#define L33 (gteRegs.CP2C.p[ 12 ].sw.l)
|
|
#define RBK (gteRegs.CP2C.p[ 13 ].sd)
|
|
#define GBK (gteRegs.CP2C.p[ 14 ].sd)
|
|
#define BBK (gteRegs.CP2C.p[ 15 ].sd)
|
|
#define LR1 (gteRegs.CP2C.p[ 16 ].sw.l)
|
|
#define LR2 (gteRegs.CP2C.p[ 16 ].sw.h)
|
|
#define LR3 (gteRegs.CP2C.p[ 17 ].sw.l)
|
|
#define LG1 (gteRegs.CP2C.p[ 17 ].sw.h)
|
|
#define LG2 (gteRegs.CP2C.p[ 18 ].sw.l)
|
|
#define LG3 (gteRegs.CP2C.p[ 18 ].sw.h)
|
|
#define LB1 (gteRegs.CP2C.p[ 19 ].sw.l)
|
|
#define LB2 (gteRegs.CP2C.p[ 19 ].sw.h)
|
|
#define LB3 (gteRegs.CP2C.p[ 20 ].sw.l)
|
|
#define RFC (gteRegs.CP2C.p[ 21 ].sd)
|
|
#define GFC (gteRegs.CP2C.p[ 22 ].sd)
|
|
#define BFC (gteRegs.CP2C.p[ 23 ].sd)
|
|
#define OFX (gteRegs.CP2C.p[ 24 ].sd)
|
|
#define OFY (gteRegs.CP2C.p[ 25 ].sd)
|
|
#define H (gteRegs.CP2C.p[ 26 ].sw.l)
|
|
#define DQA (gteRegs.CP2C.p[ 27 ].sw.l)
|
|
#define DQB (gteRegs.CP2C.p[ 28 ].sd)
|
|
#define ZSF3 (gteRegs.CP2C.p[ 29 ].sw.l)
|
|
#define ZSF4 (gteRegs.CP2C.p[ 30 ].sw.l)
|
|
#define FLAG (gteRegs.CP2C.p[ 31 ].d)
|
|
|
|
#endif |