Files
oot-gc/debug/Fire/rspASM.c
cadmic d693726da8 SDK headers cleanup (#26)
* Use #include "..." rather than #include <...>

* Remove unused dolphin headers

* Go through dolphin/base.h

* Remove __cplusplus guards

* Go through dolphin/gx.h

* Move dolphin OS headers to subdirectory

* Go through dolphin/os.h

* Go through the rest of dolphin headers

* Split out si.h

* Split up hw_regs.h

* Change #include <> to #include "" in debug info

* Create dolphin/thp.h

* Go through variables.h

* Create dolphin.h
2024-02-21 13:56:38 -08:00

1027 lines
24 KiB
C

/*
Compile unit: C:\HOMEBOY\STEPHEN\Japanese Ocarina\Fire\rspASM.c
Producer: MW EABI PPC C-Compiler
Language: C89
Code range: 0x8008CF0C -> 0x8008D248
*/
#include "dolphin/types.h"
// Erased
static s32 rspVMULF(s16* pVec1, s16* pVec2, s16* pVecResult, u32 nElement, s32* pAcc) {
// Parameters
// s16* pVec1; // r4
// s16* pVec2; // r30
// s16* pVecResult; // r6
// u32 nElement; // r31
// s32* pAcc; // r8
// Local variables
s32 i; // r20
u16 du; // r1+0x8
s64 taccum; // r19
s64 clampMask; // r17
// References
// -> s32 cmask_tab[8];
// -> s32 emask_tab[8];
}
// Erased
static s32 rspVMUDL(s16* pVec1, s16* pVec2, s16* pVecResult, u32 nElement, s32* pAcc) {
// Parameters
// s16* pVec1; // r4
// s16* pVec2; // r19
// s16* pVecResult; // r6
// u32 nElement; // r31
// s32* pAcc; // r8
// Local variables
s32 i; // r22
u16 du; // r1+0x8
s64 taccum; // r3
s64 clampMask; // r21
// References
// -> s32 cmask_tab[8];
// -> s32 emask_tab[8];
}
// Erased
static s32 rspVMUDM(s16* pVec1, s16* pVec2, s16* pVecResult, u32 nElement, s32* pAcc) {
// Parameters
// s16* pVec1; // r4
// s16* pVec2; // r17
// s16* pVecResult; // r6
// u32 nElement; // r18
// s32* pAcc; // r8
// Local variables
s32 i; // r23
u16 du; // r1+0x8
s64 taccum; // r22
s64 clampMask; // r20
// References
// -> s32 cmask_tab[8];
// -> s32 emask_tab[8];
}
// Range: 0x8008D0B0 -> 0x8008D248
static s32 rspVMUDN(s16* pVec1, s16* pVec2, s16* pVecResult, u32 nElement, s64* pAcc) {
// Parameters
// s16* pVec1; // r4
// s16* pVec2; // r30
// s16* pVecResult; // r6
// u32 nElement; // r31
// s64* pAcc; // r8
// Local variables
s32 i; // r20
u16 du; // r1+0x8
s64 taccum; // r19
s64 clampMask; // r17
// References
// -> s32 cmask_tab[8];
// -> s32 emask_tab[8];
}
// Erased
static s32 rspVMUDH(s16* pVec1, s16* pVec2, s16* pVecResult, u32 nElement, s32* pAcc) {
// Parameters
// s16* pVec1; // r4
// s16* pVec2; // r30
// s16* pVecResult; // r6
// u32 nElement; // r31
// s32* pAcc; // r8
// Local variables
s32 i; // r22
u16 du; // r1+0x8
s64 taccum; // r21
s64 clampMask; // r19
// References
// -> s32 cmask_tab[8];
// -> s32 emask_tab[8];
}
// Erased
static s32 rspVMACF(s16* pVec1, s16* pVec2, s16* pVecResult, u32 nElement, s32* pAcc) {
// Parameters
// s16* pVec1; // r4
// s16* pVec2; // r17
// s16* pVecResult; // r6
// u32 nElement; // r18
// s32* pAcc; // r8
// Local variables
s32 i; // r23
u16 du; // r1+0x8
s64 taccum; // r22
s64 clampMask; // r20
// References
// -> s32 cmask_tab[8];
// -> s32 emask_tab[8];
}
// Erased
static s32 rspVMADL(s16* pVec1, s16* pVec2, s16* pVecResult, u32 nElement, s32* pAcc) {
// Parameters
// s16* pVec1; // r4
// s16* pVec2; // r27
// s16* pVecResult; // r6
// u32 nElement; // r28
// s32* pAcc; // r8
// Local variables
s32 i; // r31
u16 du; // r1+0x8
s64 taccum; // r3
s64 clampMask; // r30
// References
// -> s32 cmask_tab[8];
// -> s32 emask_tab[8];
}
// Erased
static s32 rspVMADM(s16* pVec1, s16* pVec2, s16* pVecResult, u32 nElement, s32* pAcc) {
// Parameters
// s16* pVec1; // r4
// s16* pVec2; // r17
// s16* pVecResult; // r6
// u32 nElement; // r18
// s32* pAcc; // r8
// Local variables
s32 i; // r23
u16 du; // r1+0x8
s64 taccum; // r22
s64 clampMask; // r20
// References
// -> s32 cmask_tab[8];
// -> s32 emask_tab[8];
}
// Range: 0x8008CF0C -> 0x8008D0B0
static s32 rspVMADN(s16* pVec1, s16* pVec2, s16* pVecResult, u32 nElement, s64* pAcc) {
// Parameters
// s16* pVec1; // r4
// s16* pVec2; // r30
// s16* pVecResult; // r6
// u32 nElement; // r31
// s64* pAcc; // r8
// Local variables
s32 i; // r20
u16 du; // r1+0x8
s64 taccum; // r19
s64 clampMask; // r17
// References
// -> s32 cmask_tab[8];
// -> s32 emask_tab[8];
}
// Erased
static s32 rspVMADH(s16* pVec1, s16* pVec2, s16* pVecResult, u32 nElement, s32* pAcc) {
// Parameters
// s16* pVec1; // r4
// s16* pVec2; // r18
// s16* pVecResult; // r6
// u32 nElement; // r19
// s32* pAcc; // r8
// Local variables
s32 i; // r24
u16 du; // r1+0x8
s64 taccum; // r23
s64 clampMask; // r21
// References
// -> s32 cmask_tab[8];
// -> s32 emask_tab[8];
}
// Erased
static s32 rspVADD(s16* pVec1, s16* pVec2, s16* pVecResult, u32 nElement, s32* pAcc) {
// Parameters
// s16* pVec1; // r4
// s16* pVec2; // r1+0x10
// s16* pVecResult; // r6
// u32 nElement; // r1+0x18
// s32* pAcc; // r8
// Local variables
s32 i; // r10
s32 carry; // r28
s32 di; // r28
// References
// -> static u16 rsp_VCO;
// -> s32 cmask_tab[8];
// -> s32 emask_tab[8];
}
// Erased
static s32 rspVSUB(s16* pVec1, s16* pVec2, s16* pVecResult, u32 nElement, s32* pAcc) {
// Parameters
// s16* pVec1; // r4
// s16* pVec2; // r1+0x10
// s16* pVecResult; // r6
// u32 nElement; // r1+0x18
// s32* pAcc; // r8
// Local variables
s32 i; // r10
s32 borrow; // r28
s32 di; // r29
// References
// -> static u16 rsp_VCO;
// -> s32 cmask_tab[8];
// -> s32 emask_tab[8];
}
// Erased
static s32 rspVADDC(s16* pVec1, s16* pVec2, s16* pVecResult, u32 nElement, s32* pAcc) {
// Parameters
// s16* pVec1; // r4
// s16* pVec2; // r1+0x10
// s16* pVecResult; // r6
// u32 nElement; // r1+0x18
// s32* pAcc; // r8
// Local variables
s32 i; // r10
u32 di; // r27
// References
// -> static u16 rsp_VCO;
// -> s32 cmask_tab[8];
// -> s32 emask_tab[8];
}
// Erased
static s32 rspVSUBC(s16* pVec1, s16* pVec2, s16* pVecResult, u32 nElement, s32* pAcc) {
// Parameters
// s16* pVec1; // r4
// s16* pVec2; // r1+0x10
// s16* pVecResult; // r6
// u32 nElement; // r1+0x18
// s32* pAcc; // r8
// Local variables
s32 i; // r10
s32 di; // r29
// References
// -> static u16 rsp_VCO;
// -> s32 cmask_tab[8];
// -> s32 emask_tab[8];
}
// Erased
static s32 rspVGE(s16* pVec1, s16* pVec2, s16* pVecResult, u32 nElement, s32* pAcc) {
// Parameters
// s16* pVec1; // r4
// s16* pVec2; // r1+0x10
// s16* pVecResult; // r6
// u32 nElement; // r1+0x18
// s32* pAcc; // r8
// Local variables
s32 i; // r12
s16 si; // r1+0x8
s16 ti; // r1+0x8
// References
// -> static u16 rsp_VCO;
// -> static u16 rsp_VCC;
// -> s32 cmask_tab[8];
// -> s32 emask_tab[8];
// -> static u8 vco_carry[8];
// -> static u8 vco_equal[8];
}
// Erased
static s32 rspVCL(s16* pVec1, s16* pVec2, s16* pVecResult, u32 nElement, s32* pAcc) {
// Parameters
// s16* pVec1; // r4
// s16* pVec2; // r1+0x10
// s16* pVecResult; // r6
// u32 nElement; // r1+0x18
// s32* pAcc; // r8
// Local variables
u16 sf; // r30
u16 tf; // r29
s32 di; // r1+0x8
s32 i; // r28
s32 ge; // r11
s32 le; // r27
s32 vce; // r26
s32 eq; // r25
s32 carry; // r24
// References
// -> static u8 rsp_VCE;
// -> static u16 rsp_VCO;
// -> static u16 rsp_VCC;
// -> s32 cmask_tab[8];
// -> s32 emask_tab[8];
}
// Erased
static s32 rspVSAW(s16* pResult, u32 nElement, s32* pAcc) {
// Parameters
// s16* pResult; // r4
// u32 nElement; // r1+0x10
// s32* pAcc; // r6
// Local variables
s32 i; // r29
s32 element; // r28
u16 ri; // r1+0x8
}
// Erased
static s32 rspAsmADD(struct __anon_0x5845E* pRSP, s16 rd, s16 rs, s16 rt) {
// Parameters
// struct __anon_0x5845E* pRSP; // r1+0x0
// s16 rd; // r1+0x4
// s16 rs; // r1+0x6
// s16 rt; // r1+0x8
}
// Erased
static s32 rspAsmADDI(struct __anon_0x5845E* pRSP, s16 rt, s16 rs, s16 immediate) {
// Parameters
// struct __anon_0x5845E* pRSP; // r1+0x0
// s16 rt; // r1+0x4
// s16 rs; // r1+0x6
// s16 immediate; // r1+0x8
}
// Erased
static s32 rspAsmAND(struct __anon_0x5845E* pRSP, s16 rd, s16 rs, s16 rt) {
// Parameters
// struct __anon_0x5845E* pRSP; // r1+0x0
// s16 rd; // r1+0x4
// s16 rs; // r1+0x6
// s16 rt; // r1+0x8
}
// Erased
static s32 rspAsmANDI(struct __anon_0x5845E* pRSP, s16 rt, s16 rs, s16 immediate) {
// Parameters
// struct __anon_0x5845E* pRSP; // r1+0x0
// s16 rt; // r1+0x4
// s16 rs; // r1+0x6
// s16 immediate; // r1+0x8
}
// Erased
static s32 rspAsmLB(struct __anon_0x5845E* pRSP, s16 rt, s16 offset, s16 base) {
// Parameters
// struct __anon_0x5845E* pRSP; // r1+0x0
// s16 rt; // r1+0x4
// s16 offset; // r1+0x6
// s16 base; // r1+0x8
}
// Erased
static s32 rspAsmLBU(struct __anon_0x5845E* pRSP, s16 rt, s16 offset, s16 base) {
// Parameters
// struct __anon_0x5845E* pRSP; // r1+0x0
// s16 rt; // r1+0x4
// s16 offset; // r1+0x6
// s16 base; // r1+0x8
}
// Erased
static s32 rspAsmLH(struct __anon_0x5845E* pRSP, s16 rt, s16 offset, s16 base) {
// Parameters
// struct __anon_0x5845E* pRSP; // r1+0x0
// s16 rt; // r1+0x4
// s16 offset; // r1+0x6
// s16 base; // r1+0x8
}
// Erased
static s32 rspAsmLHU(struct __anon_0x5845E* pRSP, s16 rt, s16 offset, s16 base) {
// Parameters
// struct __anon_0x5845E* pRSP; // r1+0x0
// s16 rt; // r1+0x4
// s16 offset; // r1+0x6
// s16 base; // r1+0x8
}
// Erased
static s32 rspAsmLUI(struct __anon_0x5845E* pRSP, s16 rt, s16 immediate) {
// Parameters
// struct __anon_0x5845E* pRSP; // r1+0x0
// s16 rt; // r1+0x4
// s16 immediate; // r1+0x6
}
// Erased
static s32 rspAsmLW(struct __anon_0x5845E* pRSP, s16 rt, s16 offset, s16 base) {
// Parameters
// struct __anon_0x5845E* pRSP; // r1+0x0
// s16 rt; // r1+0x4
// s16 offset; // r1+0x6
// s16 base; // r1+0x8
}
// Erased
static s32 rspAsmMFC0(struct __anon_0x5845E* pRSP, s16 rt, s16 rd) {
// Parameters
// struct __anon_0x5845E* pRSP; // r1+0x0
// s16 rt; // r1+0x4
// s16 rd; // r1+0x6
}
// Erased
static s32 rspAsmMTC0(struct __anon_0x5845E* pRSP, s16 rt, s16 rd) {
// Parameters
// struct __anon_0x5845E* pRSP; // r1+0x0
// s16 rt; // r1+0x4
// s16 rd; // r1+0x6
}
// Erased
static s32 rspAsmMTC2(struct __anon_0x5845E* pRSP, s16 rt, s16 vd, s16 e) {
// Parameters
// struct __anon_0x5845E* pRSP; // r1+0x0
// s16 rt; // r1+0x4
// s16 vd; // r1+0x6
// s16 e; // r1+0x8
}
// Erased
static s32 rspAsmNOP() {}
// Erased
static s32 rspAsmOR(struct __anon_0x5845E* pRSP, s16 rd, s16 rs, s16 rt) {
// Parameters
// struct __anon_0x5845E* pRSP; // r1+0x0
// s16 rd; // r1+0x4
// s16 rs; // r1+0x6
// s16 rt; // r1+0x8
}
// Erased
static s32 rspAsmORI(struct __anon_0x5845E* pRSP, s16 rt, s16 rs, s16 immediate) {
// Parameters
// struct __anon_0x5845E* pRSP; // r1+0x0
// s16 rt; // r1+0x4
// s16 rs; // r1+0x6
// s16 immediate; // r1+0x8
}
// Erased
static s32 rspAsmSH(struct __anon_0x5845E* pRSP, s16 rt, s16 offset, s16 base) {
// Parameters
// struct __anon_0x5845E* pRSP; // r1+0x0
// s16 rt; // r1+0x4
// s16 offset; // r1+0x6
// s16 base; // r1+0x8
}
// Erased
static s32 rspAsmSLL(struct __anon_0x5845E* pRSP, s16 rd, s16 rt, s16 sa) {
// Parameters
// struct __anon_0x5845E* pRSP; // r1+0x0
// s16 rd; // r1+0x4
// s16 rt; // r1+0x6
// s16 sa; // r1+0x8
}
// Erased
static s32 rspAsmSRL(struct __anon_0x5845E* pRSP, s16 rd, s16 rt, s16 sa) {
// Parameters
// struct __anon_0x5845E* pRSP; // r1+0x0
// s16 rd; // r1+0x4
// s16 rt; // r1+0x6
// s16 sa; // r1+0x8
}
// Erased
static s32 rspAsmSRLV(struct __anon_0x5845E* pRSP, s16 rd, s16 rt, s16 rs) {
// Parameters
// struct __anon_0x5845E* pRSP; // r1+0x0
// s16 rd; // r1+0x4
// s16 rt; // r1+0x6
// s16 rs; // r1+0x8
}
// Erased
static s32 rspAsmSUB(struct __anon_0x5845E* pRSP, s16 rd, s16 rs, s16 rt) {
// Parameters
// struct __anon_0x5845E* pRSP; // r1+0x0
// s16 rd; // r1+0x4
// s16 rs; // r1+0x6
// s16 rt; // r1+0x8
}
// Erased
static s32 rspAsmSW(struct __anon_0x5845E* pRSP, s16 rt, s16 offset, s16 nBase) {
// Parameters
// struct __anon_0x5845E* pRSP; // r1+0x0
// s16 rt; // r1+0x4
// s16 offset; // r1+0x6
// s16 nBase; // r1+0x8
}
// Erased
static s32 rspAsmSSV(struct __anon_0x5845E* pRSP, s16 nVT, s16 nElement, s16 nOffset, s16 nBase) {
// Parameters
// struct __anon_0x5845E* pRSP; // r1+0x0
// s16 nVT; // r1+0x4
// s16 nElement; // r1+0x6
// s16 nOffset; // r1+0x8
// s16 nBase; // r1+0xA
// Local variables
char* pVT; // r4
}
// Erased
static s32 rspAsmSLV(struct __anon_0x5845E* pRSP, s16 nVT, s16 nElement, s16 nOffset, s16 nBase) {
// Parameters
// struct __anon_0x5845E* pRSP; // r1+0x0
// s16 nVT; // r1+0x4
// s16 nElement; // r1+0x6
// s16 nOffset; // r1+0x8
// s16 nBase; // r1+0xA
// Local variables
char* pVT; // r5
char* pDMEM; // r4
}
// Erased
static s32 rspAsmSDV(struct __anon_0x5845E* pRSP, s16 nVT, s16 nElement, s16 nOffset, s16 nBase) {
// Parameters
// struct __anon_0x5845E* pRSP; // r1+0x0
// s16 nVT; // r1+0x4
// s16 nElement; // r1+0x6
// s16 nOffset; // r1+0x8
// s16 nBase; // r1+0xA
// Local variables
char* pVT; // r5
char* pDMEM; // r4
}
// Erased
static s32 rspAsmSQV(struct __anon_0x5845E* pRSP, s16 nVT, s16 nElement, s16 nOffset, s16 nBase) {
// Parameters
// struct __anon_0x5845E* pRSP; // r1+0x0
// s16 nVT; // r1+0x4
// s16 nElement; // r1+0x6
// s16 nOffset; // r1+0x8
// s16 nBase; // r1+0xA
// Local variables
char* pVT; // r4
s16 i; // r3
}
// Erased
static s32 rspAsmLSV(struct __anon_0x5845E* pRSP, s16 nVT, s16 nElement, s16 nOffset, s16 nBase) {
// Parameters
// struct __anon_0x5845E* pRSP; // r1+0x0
// s16 nVT; // r1+0x4
// s16 nElement; // r1+0x6
// s16 nOffset; // r1+0x8
// s16 nBase; // r1+0xA
}
// Erased
static s32 rspAsmLDV(struct __anon_0x5845E* pRSP, s16 nVT, s16 nElement, s16 nOffset, s16 nBase) {
// Parameters
// struct __anon_0x5845E* pRSP; // r1+0x0
// s16 nVT; // r1+0x4
// s16 nElement; // r1+0x6
// s16 nOffset; // r1+0x8
// s16 nBase; // r1+0xA
// Local variables
char* pVReg; // r4
char* pDMEM; // r7
}
// Erased
static s32 rspAsmLPV(struct __anon_0x5845E* pRSP, s16 nVT, s16 nOffset, s16 nBase) {
// Parameters
// struct __anon_0x5845E* pRSP; // r1+0x0
// s16 nVT; // r1+0x4
// s16 nOffset; // r1+0x8
// s16 nBase; // r1+0xA
// Local variables
s32 nAddress; // r5
}
// Erased
static s32 rspAsmLQV(struct __anon_0x5845E* pRSP, s16 nVT, s16 nElement, s16 nOffset, s16 nBase) {
// Parameters
// struct __anon_0x5845E* pRSP; // r1+0x0
// s16 nVT; // r1+0x4
// s16 nElement; // r1+0x6
// s16 nOffset; // r1+0x8
// s16 nBase; // r1+0xA
// Local variables
char* pVT; // r9
s16 i; // r8
}
// Erased
static s32 rspAsmLRV(struct __anon_0x5845E* pRSP, s16 nVT, s16 nElement, s16 nOffset, s16 nBase) {
// Parameters
// struct __anon_0x5845E* pRSP; // r1+0x0
// s16 nVT; // r1+0x4
// s16 nElement; // r1+0x6
// s16 nOffset; // r1+0x8
// s16 nBase; // r1+0xA
// Local variables
char* pVT; // r8
s16 i; // r7
s16 nStartAddress; // r8
}
// Erased
static s32 rspAsmVAND(struct __anon_0x5845E* pRSP, s16 nVD, s16 nVS, s16 nVT, s16 nE) {
// Parameters
// struct __anon_0x5845E* pRSP; // r3
// s16 nVD; // r1+0xC
// s16 nVS; // r1+0xE
// s16 nVT; // r1+0x10
// s16 nE; // r1+0x12
// Local variables
s16 i; // r28
s16 j; // r1+0x8
s32 nResult; // r4
}
// Erased
static s32 rspAsmVXOR(struct __anon_0x5845E* pRSP, s16 nVD, s16 nVS, s16 nVT, s16 nE) {
// Parameters
// struct __anon_0x5845E* pRSP; // r3
// s16 nVD; // r1+0xC
// s16 nVS; // r1+0xE
// s16 nVT; // r1+0x10
// s16 nE; // r1+0x12
// Local variables
s16 i; // r28
s16 j; // r1+0x8
s32 nResult; // r4
}
// Erased
static s32 rspAsmVADD(struct __anon_0x5845E* pRSP, s16 nVD, s16 nVS, s16 nVT, s16 nE) {
// Parameters
// struct __anon_0x5845E* pRSP; // r3
// s16 nVD; // r1+0xC
// s16 nVS; // r1+0xE
// s16 nVT; // r1+0x10
// s16 nE; // r1+0x12
// Local variables
s16 i; // r30
s16 j; // r29
s32 nResult; // r24
}
// Erased
static s32 rspAsmVADDC(struct __anon_0x5845E* pRSP, s16 nVD, s16 nVS, s16 nVT, s16 nE) {
// Parameters
// struct __anon_0x5845E* pRSP; // r3
// s16 nVD; // r1+0xC
// s16 nVS; // r1+0xE
// s16 nVT; // r1+0x10
// s16 nE; // r1+0x12
// Local variables
s16 i; // r30
s16 j; // r29
s32 nResult; // r27
}
// Erased
static s32 rspAsmVSUB(struct __anon_0x5845E* pRSP, s16 nVD, s16 nVS, s16 nVT, s16 nE) {
// Parameters
// struct __anon_0x5845E* pRSP; // r3
// s16 nVD; // r1+0xC
// s16 nVS; // r1+0xE
// s16 nVT; // r1+0x10
// s16 nE; // r1+0x12
// Local variables
s16 i; // r30
s16 j; // r29
s32 nResult; // r24
}
// Erased
static s32 rspAsmVSUBC(struct __anon_0x5845E* pRSP, s16 nVD, s16 nVS, s16 nVT, s16 nE) {
// Parameters
// struct __anon_0x5845E* pRSP; // r3
// s16 nVD; // r1+0xC
// s16 nVS; // r1+0xE
// s16 nVT; // r1+0x10
// s16 nE; // r1+0x12
// Local variables
s16 i; // r30
s16 j; // r29
s32 nResult; // r25
}
// Erased
static s32 rspAsmVGE(struct __anon_0x5845E* pRSP, s16 nVD, s16 nVS, s16 nVT, s16 nE) {
// Parameters
// struct __anon_0x5845E* pRSP; // r3
// s16 nVD; // r1+0xC
// s16 nVS; // r1+0xE
// s16 nVT; // r1+0x10
// s16 nE; // r1+0x12
// Local variables
s16 i; // r28
s16 j; // r27
s32 nResult; // r24
}
// Erased
static s32 rspAsmVCL(struct __anon_0x5845E* pRSP, s16 nVD, s16 nVS, s16 nVT, s16 nE) {
// Parameters
// struct __anon_0x5845E* pRSP; // r22
// s16 nVD; // r1+0xC
// s16 nVS; // r1+0xE
// s16 nVT; // r1+0x10
// s16 nE; // r1+0x12
// Local variables
s16 nLE; // r27
s16 nGE; // r26
s16 nEQ; // r25
s16 nCarry; // r21
s16 i; // r24
s16 j; // r23
s16 nDI; // r25
}
// Erased
static s32 rspAsmVMADM(struct __anon_0x5845E* pRSP, s16 nVD, s16 nVS, s16 nVT, s16 nE) {
// Parameters
// struct __anon_0x5845E* pRSP; // r1+0x40
// s16 nVD; // r1+0x44
// s16 nVS; // r1+0xE
// s16 nVT; // r1+0x10
// s16 nE; // r1+0x12
// Local variables
s32 i; // r26
s32 j; // r25
s64 product; // r30
s16 buffer[8]; // r1+0x1C
}
// Erased
static s32 rspAsmVMADN(struct __anon_0x5845E* pRSP, s16 nVD, s16 nVS, s16 nVT, s16 nE) {
// Parameters
// struct __anon_0x5845E* pRSP; // r1+0x40
// s16 nVD; // r1+0x44
// s16 nVS; // r1+0xE
// s16 nVT; // r1+0x10
// s16 nE; // r1+0x12
// Local variables
s32 i; // r26
s32 j; // r25
s64 product; // r30
s16 buffer[8]; // r1+0x1C
}
// Erased
static s32 rspAsmVMADH(struct __anon_0x5845E* pRSP, s16 nVD, s16 nVS, s16 nVT, s16 nE) {
// Parameters
// struct __anon_0x5845E* pRSP; // r1+0x40
// s16 nVD; // r1+0x44
// s16 nVS; // r1+0xE
// s16 nVT; // r1+0x10
// s16 nE; // r1+0x12
// Local variables
s32 i; // r26
s32 j; // r25
s64 product; // r30
s16 buffer[8]; // r1+0x1C
}
// Erased
static s32 rspAsmVMADL(struct __anon_0x5845E* pRSP, s16 nVD, s16 nVS, s16 nVT, s16 nE) {
// Parameters
// struct __anon_0x5845E* pRSP; // r1+0x40
// s16 nVD; // r1+0x44
// s16 nVS; // r1+0xE
// s16 nVT; // r1+0x10
// s16 nE; // r1+0x12
// Local variables
s32 i; // r26
s32 j; // r25
s64 product; // r1+0x8
s16 buffer[8]; // r1+0x1C
}
// Erased
static s32 rspAsmVMUDH(struct __anon_0x5845E* pRSP, s16 nVD, s16 nVS, s16 nVT, s16 nE) {
// Parameters
// struct __anon_0x5845E* pRSP; // r1+0x38
// s16 nVD; // r1+0x3C
// s16 nVS; // r1+0xE
// s16 nVT; // r1+0x10
// s16 nE; // r1+0x12
// Local variables
s32 i; // r28
s32 j; // r25
s64 product; // r30
s16 buffer[8]; // r1+0x1C
}
// Erased
static s32 rspAsmVMUDL(struct __anon_0x5845E* pRSP, s16 nVD, s16 nVS, s16 nVT, s16 nE) {
// Parameters
// struct __anon_0x5845E* pRSP; // r1+0x38
// s16 nVD; // r1+0x3C
// s16 nVS; // r1+0xE
// s16 nVT; // r1+0x10
// s16 nE; // r1+0x12
// Local variables
s32 i; // r28
s32 j; // r25
s64 product; // r1+0x8
s16 buffer[8]; // r1+0x1C
}
// Erased
static s32 rspAsmVMUDM(struct __anon_0x5845E* pRSP, s16 nVD, s16 nVS, s16 nVT, s16 nE) {
// Parameters
// struct __anon_0x5845E* pRSP; // r1+0x38
// s16 nVD; // r1+0x3C
// s16 nVS; // r1+0xE
// s16 nVT; // r1+0x10
// s16 nE; // r1+0x12
// Local variables
s32 i; // r28
s32 j; // r25
s64 product; // r30
s16 buffer[8]; // r1+0x1C
}
// Erased
static s32 rspAsmVMUDN(struct __anon_0x5845E* pRSP, s16 nVD, s16 nVS, s16 nVT, s16 nE) {
// Parameters
// struct __anon_0x5845E* pRSP; // r1+0x38
// s16 nVD; // r1+0x3C
// s16 nVS; // r1+0xE
// s16 nVT; // r1+0x10
// s16 nE; // r1+0x12
// Local variables
s32 i; // r28
s32 j; // r25
s64 product; // r30
s16 buffer[8]; // r1+0x1C
}
// Erased
static s32 rspAsmVMULF(struct __anon_0x5845E* pRSP, s16 nVD, s16 nVS, s16 nVT, s16 nE) {
// Parameters
// struct __anon_0x5845E* pRSP; // r1+0x38
// s16 nVD; // r1+0x3C
// s16 nVS; // r1+0xE
// s16 nVT; // r1+0x10
// s16 nE; // r1+0x12
// Local variables
s32 i; // r28
s32 j; // r25
s64 product; // r30
s16 buffer[8]; // r1+0x1C
}
// Erased
static s32 rspAsmVMACF(struct __anon_0x5845E* pRSP, s16 nVD, s16 nVS, s16 nVT, s16 nE) {
// Parameters
// struct __anon_0x5845E* pRSP; // r1+0x40
// s16 nVD; // r1+0x44
// s16 nVS; // r1+0xE
// s16 nVT; // r1+0x10
// s16 nE; // r1+0x12
// Local variables
s32 i; // r26
s32 j; // r25
s64 product; // r30
s16 buffer[8]; // r1+0x1C
}
// Erased
static s32 rspAsmVSAR(struct __anon_0x5845E* pRSP, s16 nVD, s16 nE) {
// Parameters
// struct __anon_0x5845E* pRSP; // r3
// s16 nVD; // r1+0x4
// s16 nE; // r1+0xA
// Local variables
s16 i; // r6
}
// Erased
static s32 rspDMARead(struct __anon_0x5845E* pRSP, s32 nDMEMAddress, s32 nRDRAMAddress, s32 nLength) {
// Parameters
// struct __anon_0x5845E* pRSP; // r1+0x8
// s32 nDMEMAddress; // r1+0xC
// s32 nRDRAMAddress; // r1+0x10
// s32 nLength; // r30
// Local variables
s32 i; // r5
s32 nAddress; // r5
s16* pDMEM; // r31
s16* pRDRAM; // r6
void* pData; // r1+0x1C
}
// Erased
static s32 rspDMAWrite(struct __anon_0x5845E* pRSP, s32 nDMEMAddress, s32 nRDRAMAddress, s32 nLength) {
// Parameters
// struct __anon_0x5845E* pRSP; // r1+0x8
// s32 nDMEMAddress; // r1+0xC
// s32 nRDRAMAddress; // r1+0x10
// s32 nLength; // r31
// Local variables
s32 i; // r5
s32 nAddress; // r5
s16* pDMEM; // r30
s16* pRDRAM; // r6
void* pData; // r1+0x1C
}
// Erased
static s32 rspDisassemble(struct __anon_0x5845E* pRSP, struct __anon_0x575BD* pTask) {
// Parameters
// struct __anon_0x5845E* pRSP; // r22
// struct __anon_0x575BD* pTask; // r19
// Local variables
struct tXL_FILE* pIMEMFile; // r1+0x105C
s32 i; // r27
s32 h; // r20
s32 nCodeAddress; // r7
s32 nDataAddress; // r9
s32 nFound; // r24
u32 nOutData; // r31
void* pCode; // r1+0x1058
void* pData; // r1+0x1054
u32 nRS; // r7
u32 nRT; // r20
u32 nRD; // r21
u32 nSA; // r19
u32 nOffset; // r6
u32 nTarget; // r5
u32 nE; // r7
u32 nVT; // r7
u32 nVS; // r6
u32 nVD; // r5
u32 nDE; // r6
u32 nBase; // r7
u32 nElement; // r6
u32 nSize; // r1+0x1048
s32 nImmediate; // r7
s32 nCount; // r29
char acOp[8]; // r1+0x1040
char acTemp[8]; // r1+0x1038
char acOpString[8]; // r1+0x1030
char acTempString[128]; // r1+0xFB0
char acOpList[500][8]; // r1+0x10
s32 nFirst; // r23
}