From dba3fd7f6eb8d0895bec720db75a6b37fc7259a0 Mon Sep 17 00:00:00 2001 From: Made Date: Sat, 2 May 2020 17:39:44 +0200 Subject: Decompile FX_cp.s --- include/fx.h | 29 ++++++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) (limited to 'include/fx.h') diff --git a/include/fx.h b/include/fx.h index 82938219..e753eead 100644 --- a/include/fx.h +++ b/include/fx.h @@ -4,14 +4,41 @@ #define FX32_INT_MASK 0xFFFFF000 #define FX32_INT_ABS_MASK 0x7FFFF000 #define FX32_FRAC_MASK 0x00000FFF - #define FX32_INT_SHIFT 0xC + +#define FX64_INT_MASK 0xFFFFFFFFFFFFF000 +#define FX64_INT_ABS_MASK 0x7FFFFFFFFFFFF000 +#define FX64_FRAC_MASK 0x0000000000000FFF #define FX64_INT_SHIFT 0xC + #define FX32_INT(x) (((x) & FX32_INT_MASK) >> FX32_INT_SHIFT) #define FX32_INT_ABS(x) (((x) & FX32_INT_ABS_MASK) >> FX32_INT_SHIFT) #define FX32_FRAC(x) ((x) & FX32_FRAC_MASK) +#define FX64_INT(x) (((x) & FX64_INT_MASK) >> FX64_INT_SHIFT) +#define FX64_INT_ABS(x) (((x) & FX64_INT_ABS_MASK) >> FX64_INT_SHIFT) +#define FX64_FRAC(x) ((x) & FX64_FRAC_MASK) + + + +#define HW_REG_DIVCNT 0x04000280 +#define HW_REG_DIV_NUMER 0x04000290 +#define HW_REG_DIV_DENOM 0x04000298 +#define HW_REG_DIV_RESULT 0x040002A0 +#define HW_REG_DIVREM_RESULT 0x040002A8 + +#define HW_REG_SQRTCNT 0x040002B0 +#define HW_REG_SQRT_RESULT 0x040002B4 +#define HW_REG_SQRT_PARAM 0x040002B8 + +#define SETREG16(x, y) ((*(vu16 *)x) = y) +#define SETREG32(x, y) ((*(vu32 *)x) = y) +#define SETREG64(x, y) ((*(vu64 *)x) = y) +#define READREG16(x) (*(vu16 *)x) +#define READREG32(x) (*(vu32 *)x) +#define READREG64(x) (*(vu64 *)x) + struct Vecx32 { s32 x; -- cgit v1.2.3