Decompile _VirtualToPhysicalTask

This commit is contained in:
Ryan Dwyer
2021-03-17 18:45:31 +10:00
parent 2f0e164f67
commit 66bb93c9c1
21 changed files with 52 additions and 125 deletions
+1 -1
View File
@@ -113,7 +113,7 @@ glabel func0f1106f4
/* f1106fc: afbf0014 */ sw $ra,0x14($sp)
/* f110700: 3c04800a */ lui $a0,%hi(var800a22d0)
/* f110704: 248422d0 */ addiu $a0,$a0,%lo(var800a22d0)
/* f110708: 0c012c5c */ jal func0004b170
/* f110708: 0c012c5c */ jal bcopy
/* f11070c: 2406005b */ addiu $a2,$zero,0x5b
/* f110710: 8fbf0014 */ lw $ra,0x14($sp)
/* f110714: 27bd0018 */ addiu $sp,$sp,0x18
+2 -2
View File
@@ -3552,7 +3552,7 @@ Gfx *func0f15b114(Gfx *gdl)
void bgLoadFile(void *memaddr, u32 offset, u32 len)
{
if (var8007fc04) {
func0004b170(var8007fc08 + offset, memaddr, len);
bcopy(var8007fc08 + offset, memaddr, len);
} else {
func0f166ff0(g_Stages[g_StageIndex].bgfileid, memaddr, offset, len);
}
@@ -7158,7 +7158,7 @@ u32 bgInflate(void *src, void *dst, u32 len)
result = rzipInflate(src, dst, tmpbuffer);
} else {
result = len;
func0004b170(src, dst, len);
bcopy(src, dst, len);
}
return result;
+2 -2
View File
@@ -5721,7 +5721,7 @@ glabel func0f173010
/* f173338: afa20034 */ sw $v0,0x34($sp)
/* f17333c: 8fa4149c */ lw $a0,0x149c($sp)
/* f173340: 00402825 */ or $a1,$v0,$zero
/* f173344: 0c012c5c */ jal func0004b170
/* f173344: 0c012c5c */ jal bcopy
/* f173348: 24060010 */ addiu $a2,$zero,0x10
/* f17334c: 8fa70034 */ lw $a3,0x34($sp)
/* f173350: 8fa60038 */ lw $a2,0x38($sp)
@@ -5730,7 +5730,7 @@ glabel func0f173010
/* f17335c: 24e50010 */ addiu $a1,$a3,0x10
/* f173360: afa50034 */ sw $a1,0x34($sp)
/* f173364: 24c60008 */ addiu $a2,$a2,0x8
/* f173368: 0c012c5c */ jal func0004b170
/* f173368: 0c012c5c */ jal bcopy
/* f17336c: 2484fff8 */ addiu $a0,$a0,-8
/* f173370: 8fa70034 */ lw $a3,0x34($sp)
/* f173374: 8e18000c */ lw $t8,0xc($s0)
-2
View File
@@ -4,6 +4,4 @@
#include "data.h"
#include "types.h"
void *func0004b170(void *src, void *dst, u32 len);
#endif
+1 -1
View File
@@ -700,7 +700,7 @@ glabel func00006d60
/* 6ec4: 8fa40044 */ lw $a0,0x44($sp)
.L00006ec8:
/* 6ec8: 2605000c */ addiu $a1,$s0,0xc
/* 6ecc: 0c012c5c */ jal func0004b170
/* 6ecc: 0c012c5c */ jal bcopy
/* 6ed0: 24060020 */ addiu $a2,$zero,0x20
/* 6ed4: 8fab0044 */ lw $t3,0x44($sp)
/* 6ed8: 24190010 */ addiu $t9,$zero,0x10
+1 -1
View File
@@ -2047,7 +2047,7 @@ glabel func0000a044
/* a9e4: 0000c012 */ mflo $t8
/* a9e8: 00f87021 */ addu $t6,$a3,$t8
/* a9ec: ac2ed594 */ sw $t6,%lo(g_ViData)($at)
/* a9f0: 0c012c5c */ jal func0004b170
/* a9f0: 0c012c5c */ jal bcopy
/* a9f4: 8ca5d594 */ lw $a1,%lo(g_ViData)($a1)
/* a9f8: 3c038009 */ lui $v1,%hi(var80092874+0x3)
/* a9fc: 24632877 */ addiu $v1,$v1,%lo(var80092874+0x3)
+1 -1
View File
@@ -340,7 +340,7 @@ glabel func000237e8
/* 23808: 8deff024 */ lw $t7,%lo(var8005f024)($t7)
/* 2380c: afa70018 */ sw $a3,0x18($sp)
/* 23810: 01e52021 */ addu $a0,$t7,$a1
/* 23814: 0c012c5c */ jal func0004b170
/* 23814: 0c012c5c */ jal bcopy
/* 23818: 00e02825 */ or $a1,$a3,$zero
/* 2381c: 10000007 */ b .L0002383c
/* 23820: 8fa20018 */ lw $v0,0x18($sp)
+1 -1
View File
@@ -1255,7 +1255,7 @@ glabel func00038ba8
/* 38c60: afb8001c */ sw $t8,0x1c($sp)
/* 38c64: 8fa4001c */ lw $a0,0x1c($sp)
/* 38c68: 8fa50024 */ lw $a1,0x24($sp)
/* 38c6c: 0c012c5c */ jal func0004b170
/* 38c6c: 0c012c5c */ jal bcopy
/* 38c70: 8fa60028 */ lw $a2,0x28($sp)
/* 38c74: 3c08800a */ lui $t0,%hi(var8009c3c4)
/* 38c78: 8d08c3c4 */ lw $t0,%lo(var8009c3c4)($t0)
+2 -2
View File
@@ -74,7 +74,7 @@ glabel func0003c56c
/* 3c5a8: 8fa40024 */ lw $a0,0x24($sp)
/* 3c5ac: 8fa5002c */ lw $a1,0x2c($sp)
/* 3c5b0: 24060010 */ addiu $a2,$zero,0x10
/* 3c5b4: 0c012c5c */ jal func0004b170
/* 3c5b4: 0c012c5c */ jal bcopy
/* 3c5b8: 2484000c */ addiu $a0,$a0,0xc
/* 3c5bc: 8fa40024 */ lw $a0,0x24($sp)
/* 3c5c0: 0c00c5dc */ jal alLink
@@ -142,7 +142,7 @@ glabel alEvtqPostEvent
/* 3c694: 8fa5002c */ lw $a1,0x2c($sp)
/* 3c698: 8fa40034 */ lw $a0,0x34($sp)
/* 3c69c: 24060010 */ addiu $a2,$zero,0x10
/* 3c6a0: 0c012c5c */ jal func0004b170
/* 3c6a0: 0c012c5c */ jal bcopy
/* 3c6a4: 24a5000c */ addiu $a1,$a1,0xc
/* 3c6a8: 8faa0038 */ lw $t2,0x38($sp)
/* 3c6ac: 3c017fff */ lui $at,0x7fff
+3 -3
View File
@@ -8983,7 +8983,7 @@ glabel func00041600
/* 41b34: 27ab0070 */ addiu $t3,$sp,0x70
/* 41b38: 012b2021 */ addu $a0,$t1,$t3
/* 41b3c: 27a50028 */ addiu $a1,$sp,0x28
/* 41b40: 0c012c5c */ jal func0004b170
/* 41b40: 0c012c5c */ jal bcopy
/* 41b44: 24060010 */ addiu $a2,$zero,0x10
/* 41b48: 1000000f */ b .L00041b88
/* 41b4c: 00000000 */ nop
@@ -9000,7 +9000,7 @@ glabel func00041600
/* 41b74: 010fc021 */ addu $t8,$t0,$t7
/* 41b78: 030e2021 */ addu $a0,$t8,$t6
/* 41b7c: 27a50028 */ addiu $a1,$sp,0x28
/* 41b80: 0c012c5c */ jal func0004b170
/* 41b80: 0c012c5c */ jal bcopy
/* 41b84: 24060010 */ addiu $a2,$zero,0x10
.L00041b88:
/* 41b88: afa00024 */ sw $zero,0x24($sp)
@@ -11211,7 +11211,7 @@ glabel func0004371c
/* 43bc4: 27a80034 */ addiu $t0,$sp,0x34
/* 43bc8: 01e82821 */ addu $a1,$t7,$t0
/* 43bcc: 24846a64 */ addiu $a0,$a0,0x6a64
/* 43bd0: 0c012c5c */ jal func0004b170
/* 43bd0: 0c012c5c */ jal bcopy
/* 43bd4: 24060048 */ addiu $a2,$zero,0x48
/* 43bd8: 8fa9094c */ lw $t1,0x94c($sp)
/* 43bdc: 8fae093c */ lw $t6,0x93c($sp)
+1 -1
View File
@@ -32,7 +32,7 @@ glabel func00043dd0
/* 43e08: 2525001c */ addiu $a1,$t1,0x1c
/* 43e0c: 012a2021 */ addu $a0,$t1,$t2
/* 43e10: 2484001c */ addiu $a0,$a0,0x1c
/* 43e14: 0c012c5c */ jal func0004b170
/* 43e14: 0c012c5c */ jal bcopy
/* 43e18: 01403025 */ or $a2,$t2,$zero
/* 43e1c: 8fab0020 */ lw $t3,0x20($sp)
/* 43e20: 8fad001c */ lw $t5,0x1c($sp)
+1 -1
View File
@@ -552,7 +552,7 @@ glabel func00045608
/* 4573c: 8dab0020 */ lw $t3,0x20($t5)
/* 45740: 8da50010 */ lw $a1,0x10($t5)
/* 45744: 8d64000c */ lw $a0,0xc($t3)
/* 45748: 0c012c5c */ jal func0004b170
/* 45748: 0c012c5c */ jal bcopy
/* 4574c: 2484000c */ addiu $a0,$a0,0xc
/* 45750: 10000008 */ b .L00045774
/* 45754: 00000000 */ nop
+2 -2
View File
@@ -5,7 +5,7 @@
#include "types.h"
GLOBAL_ASM(
glabel func0004b170
glabel bcopy
/* 4b170: 10c0001a */ beqz $a2,.L0004b1dc
/* 4b174: 00a03825 */ or $a3,$a1,$zero
/* 4b178: 10850018 */ beq $a0,$a1,.L0004b1dc
@@ -225,4 +225,4 @@ glabel func0004b170
/* 4b474: 00000000 */ nop
/* 4b478: 00000000 */ nop
/* 4b47c: 00000000 */ nop
);
);
+3 -3
View File
@@ -612,7 +612,7 @@ glabel func0004c6b4
/* 4c7d0: 02202025 */ or $a0,$s1,$zero
.L0004c7d4:
/* 4c7d4: 2605000c */ addiu $a1,$s0,0xc
/* 4c7d8: 0c012c5c */ jal func0004b170
/* 4c7d8: 0c012c5c */ jal bcopy
/* 4c7dc: 24060020 */ addiu $a2,$zero,0x20
/* 4c7e0: 922e001b */ lbu $t6,0x1b($s1)
/* 4c7e4: 24090010 */ addiu $t1,$zero,0x10
@@ -741,7 +741,7 @@ glabel func0004c934
/* 4c98c: 2484c870 */ addiu $a0,$a0,%lo(var8009c870)
/* 4c990: 57280006 */ bnel $t9,$t0,.L0004c9ac
/* 4c994: 92490065 */ lbu $t1,0x65($s2)
/* 4c998: 0c012c5c */ jal func0004b170
/* 4c998: 0c012c5c */ jal bcopy
/* 4c99c: 24060100 */ addiu $a2,$zero,0x100
/* 4c9a0: 10000091 */ b .L0004cbe8
/* 4c9a4: 00001025 */ or $v0,$zero,$zero
@@ -897,7 +897,7 @@ glabel func0004c934
/* 4cbc4: 24a5c870 */ addiu $a1,$a1,%lo(var8009c870)
/* 4cbc8: 8fa4005c */ lw $a0,0x5c($sp)
/* 4cbcc: 24060100 */ addiu $a2,$zero,0x100
/* 4cbd0: 0c012c5c */ jal func0004b170
/* 4cbd0: 0c012c5c */ jal bcopy
/* 4cbd4: a02b0984 */ sb $t3,%lo(var80060984)($at)
/* 4cbd8: 8e4e0008 */ lw $t6,0x8($s2)
/* 4cbdc: 3c018006 */ lui $at,%hi(var80060980)
+3 -3
View File
@@ -166,7 +166,7 @@ glabel func0004d000
/* 4d21c: 0114082a */ slt $at,$t0,$s4
/* 4d220: 5020000a */ beqzl $at,.L0004d24c
/* 4d224: 0000a025 */ or $s4,$zero,$zero
/* 4d228: 0c012c5c */ jal func0004b170
/* 4d228: 0c012c5c */ jal bcopy
/* 4d22c: 24060100 */ addiu $a2,$zero,0x100
/* 4d230: 8fa90290 */ lw $t1,0x290($sp)
/* 4d234: 8fb6028c */ lw $s6,0x28c($sp)
@@ -211,11 +211,11 @@ glabel func0004d000
/* 4d2b8: 27a50070 */ addiu $a1,$sp,0x70
/* 4d2bc: 24060010 */ addiu $a2,$zero,0x10
/* 4d2c0: a7ad0064 */ sh $t5,0x64($sp)
/* 4d2c4: 0c012c5c */ jal func0004b170
/* 4d2c4: 0c012c5c */ jal bcopy
/* 4d2c8: afae0060 */ sw $t6,0x60($sp)
/* 4d2cc: 8fa402a8 */ lw $a0,0x2a8($sp)
/* 4d2d0: 27a5006c */ addiu $a1,$sp,0x6c
/* 4d2d4: 0c012c5c */ jal func0004b170
/* 4d2d4: 0c012c5c */ jal bcopy
/* 4d2d8: 24060004 */ addiu $a2,$zero,0x4
/* 4d2dc: 8faf02b0 */ lw $t7,0x2b0($sp)
/* 4d2e0: 8e79005c */ lw $t9,0x5c($s3)
+2 -2
View File
@@ -127,12 +127,12 @@ glabel func00050a00
/* 50b88: a44f0008 */ sh $t7,0x8($v0)
/* 50b8c: 8fb80038 */ lw $t8,0x38($sp)
/* 50b90: 24060010 */ addiu $a2,$zero,0x10
/* 50b94: 0c012c5c */ jal func0004b170
/* 50b94: 0c012c5c */ jal bcopy
/* 50b98: ac580004 */ sw $t8,0x4($v0)
/* 50b9c: 8fa50168 */ lw $a1,0x168($sp)
/* 50ba0: 27a40044 */ addiu $a0,$sp,0x44
/* 50ba4: 24060004 */ addiu $a2,$zero,0x4
/* 50ba8: 0c012c5c */ jal func0004b170
/* 50ba8: 0c012c5c */ jal bcopy
/* 50bac: 24a5000a */ addiu $a1,$a1,0xa
/* 50bb0: 8e640004 */ lw $a0,0x4($s3)
/* 50bb4: 0c012ea4 */ jal __osPfsGetStatus
+1 -1
View File
@@ -130,7 +130,7 @@ glabel func00050d60
.L00050ebc:
/* 50ebc: 8fa50094 */ lw $a1,0x94($sp)
/* 50ec0: 24060050 */ addiu $a2,$zero,0x50
/* 50ec4: 0c012c5c */ jal func0004b170
/* 50ec4: 0c012c5c */ jal bcopy
/* 50ec8: afa70088 */ sw $a3,0x88($sp)
/* 50ecc: 8faa0094 */ lw $t2,0x94($sp)
/* 50ed0: 3c0b8006 */ lui $t3,%hi(var80061220)
+1 -1
View File
@@ -232,7 +232,7 @@ glabel func000513b0
/* 516d0: 8fa40044 */ lw $a0,0x44($sp)
.L000516d4:
/* 516d4: 2605000c */ addiu $a1,$s0,0xc
/* 516d8: 0c012c5c */ jal func0004b170
/* 516d8: 0c012c5c */ jal bcopy
/* 516dc: 24060020 */ addiu $a2,$zero,0x20
/* 516e0: 8fab0044 */ lw $t3,0x44($sp)
/* 516e4: 24190010 */ addiu $t9,$zero,0x10
+1 -1
View File
@@ -125,7 +125,7 @@ glabel __osContRamRead
/* 4ba18: 10000006 */ b .L0004ba34
/* 4ba1c: 24130004 */ addiu $s3,$zero,0x4
.L0004ba20:
/* 4ba20: 0c012c5c */ jal func0004b170
/* 4ba20: 0c012c5c */ jal bcopy
/* 4ba24: 24060020 */ addiu $a2,$zero,0x20
/* 4ba28: 10000003 */ b .L0004ba38
/* 4ba2c: 24010004 */ addiu $at,$zero,0x4
+1 -1
View File
@@ -103,7 +103,7 @@ glabel __osContRamWrite
/* 4b774: 24060020 */ addiu $a2,$zero,0x20
/* 4b778: 00594025 */ or $t0,$v0,$t9
/* 4b77c: a2080005 */ sb $t0,0x5($s0)
/* 4b780: 0c012c5c */ jal func0004b170
/* 4b780: 0c012c5c */ jal bcopy
/* 4b784: 8fa40074 */ lw $a0,0x74($sp)
/* 4b788: 24040001 */ addiu $a0,$zero,0x1
/* 4b78c: 0c012a34 */ jal __osSiRawStartDma
+22 -93
View File
@@ -2,102 +2,31 @@
#include "libultra_internal.h"
#include "data.h"
u32 var80090a70;
u32 var80090a74;
u32 var80090a78;
u32 var80090a7c;
u32 var80090a80;
u32 var80090a84;
u32 var80090a88;
u32 var80090a8c;
u32 var80090a90;
u32 var80090a94;
u32 var80090a98;
u32 var80090a9c;
u32 var80090aa0;
u32 var80090aa4;
u32 var80090aa8;
u32 var80090aac;
OSTask tmp_task;
OSTask *_VirtualToPhysicalTask(OSTask *intp);
GLOBAL_ASM(
glabel _VirtualToPhysicalTask
/* 5e40: 27bdffe8 */ addiu $sp,$sp,-24
/* 5e44: afbf0014 */ sw $ra,0x14($sp)
/* 5e48: 3c058009 */ lui $a1,%hi(var80090a70)
/* 5e4c: 24a50a70 */ addiu $a1,$a1,%lo(var80090a70)
/* 5e50: 0c012c5c */ jal func0004b170
/* 5e54: 24060040 */ addiu $a2,$zero,0x40
/* 5e58: 3c048009 */ lui $a0,%hi(var80090a80)
/* 5e5c: 8c840a80 */ lw $a0,%lo(var80090a80)($a0)
/* 5e60: 10800005 */ beqz $a0,.L00005e78
/* 5e64: 00000000 */ nop
/* 5e68: 0c012d20 */ jal osVirtualToPhysical
/* 5e6c: 00000000 */ nop
/* 5e70: 3c018009 */ lui $at,%hi(var80090a80)
/* 5e74: ac220a80 */ sw $v0,%lo(var80090a80)($at)
.L00005e78:
/* 5e78: 3c048009 */ lui $a0,%hi(var80090a88)
/* 5e7c: 8c840a88 */ lw $a0,%lo(var80090a88)($a0)
/* 5e80: 10800005 */ beqz $a0,.L00005e98
/* 5e84: 00000000 */ nop
/* 5e88: 0c012d20 */ jal osVirtualToPhysical
/* 5e8c: 00000000 */ nop
/* 5e90: 3c018009 */ lui $at,%hi(var80090a88)
/* 5e94: ac220a88 */ sw $v0,%lo(var80090a88)($at)
.L00005e98:
/* 5e98: 3c048009 */ lui $a0,%hi(var80090a90)
/* 5e9c: 8c840a90 */ lw $a0,%lo(var80090a90)($a0)
/* 5ea0: 10800005 */ beqz $a0,.L00005eb8
/* 5ea4: 00000000 */ nop
/* 5ea8: 0c012d20 */ jal osVirtualToPhysical
/* 5eac: 00000000 */ nop
/* 5eb0: 3c018009 */ lui $at,%hi(var80090a90)
/* 5eb4: ac220a90 */ sw $v0,%lo(var80090a90)($at)
.L00005eb8:
/* 5eb8: 3c048009 */ lui $a0,%hi(var80090a98)
/* 5ebc: 8c840a98 */ lw $a0,%lo(var80090a98)($a0)
/* 5ec0: 10800005 */ beqz $a0,.L00005ed8
/* 5ec4: 00000000 */ nop
/* 5ec8: 0c012d20 */ jal osVirtualToPhysical
/* 5ecc: 00000000 */ nop
/* 5ed0: 3c018009 */ lui $at,%hi(var80090a98)
/* 5ed4: ac220a98 */ sw $v0,%lo(var80090a98)($at)
.L00005ed8:
/* 5ed8: 3c048009 */ lui $a0,%hi(var80090a9c)
/* 5edc: 8c840a9c */ lw $a0,%lo(var80090a9c)($a0)
/* 5ee0: 10800005 */ beqz $a0,.L00005ef8
/* 5ee4: 00000000 */ nop
/* 5ee8: 0c012d20 */ jal osVirtualToPhysical
/* 5eec: 00000000 */ nop
/* 5ef0: 3c018009 */ lui $at,%hi(var80090a9c)
/* 5ef4: ac220a9c */ sw $v0,%lo(var80090a9c)($at)
.L00005ef8:
/* 5ef8: 3c048009 */ lui $a0,%hi(var80090aa0)
/* 5efc: 8c840aa0 */ lw $a0,%lo(var80090aa0)($a0)
/* 5f00: 10800005 */ beqz $a0,.L00005f18
/* 5f04: 00000000 */ nop
/* 5f08: 0c012d20 */ jal osVirtualToPhysical
/* 5f0c: 00000000 */ nop
/* 5f10: 3c018009 */ lui $at,%hi(var80090aa0)
/* 5f14: ac220aa0 */ sw $v0,%lo(var80090aa0)($at)
.L00005f18:
/* 5f18: 3c048009 */ lui $a0,%hi(var80090aa8)
/* 5f1c: 8c840aa8 */ lw $a0,%lo(var80090aa8)($a0)
/* 5f20: 50800006 */ beqzl $a0,.L00005f3c
/* 5f24: 8fbf0014 */ lw $ra,0x14($sp)
/* 5f28: 0c012d20 */ jal osVirtualToPhysical
/* 5f2c: 00000000 */ nop
/* 5f30: 3c018009 */ lui $at,%hi(var80090aa8)
/* 5f34: ac220aa8 */ sw $v0,%lo(var80090aa8)($at)
/* 5f38: 8fbf0014 */ lw $ra,0x14($sp)
.L00005f3c:
/* 5f3c: 3c028009 */ lui $v0,%hi(var80090a70)
/* 5f40: 24420a70 */ addiu $v0,$v0,%lo(var80090a70)
/* 5f44: 03e00008 */ jr $ra
/* 5f48: 27bd0018 */ addiu $sp,$sp,0x18
);
#define _osVirtualToPhysical(ptr) \
if (ptr != NULL) { \
ptr = (void *)osVirtualToPhysical(ptr); \
}
OSTask *_VirtualToPhysicalTask(OSTask *intp)
{
OSTask *tp;
tp = &tmp_task;
bcopy(intp, tp, sizeof(OSTask));
_osVirtualToPhysical(tp->t.ucode);
_osVirtualToPhysical(tp->t.ucode_data);
_osVirtualToPhysical(tp->t.dram_stack);
_osVirtualToPhysical(tp->t.output_buff);
_osVirtualToPhysical(tp->t.output_buff_size);
_osVirtualToPhysical(tp->t.data_ptr);
_osVirtualToPhysical(tp->t.yield_data_ptr);
return tp;
}
void osSpTaskLoad(OSTask *intp)
{