summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorMade <made111@gmx.de>2020-05-02 17:39:44 +0200
committerMade <made111@gmx.de>2020-05-02 17:39:44 +0200
commitdba3fd7f6eb8d0895bec720db75a6b37fc7259a0 (patch)
treeb714c3f553bb3387ed822d0fe6f7f1f07c496d22 /include
parent3a51b862659071a4dab8296f1c9cfbe38d287887 (diff)
Decompile FX_cp.s
Diffstat (limited to 'include')
-rw-r--r--include/fx.h29
1 files changed, 28 insertions, 1 deletions
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;