mirror of
https://github.com/n64decomp/mk64
synced 2026-05-30 00:16:29 -04:00
Match OS funcs (#152)
* Matched osSyncPrintf.c * Matched contramread.c * Matched contramwrite.c * Matched osPfsInit and osPfsGetStatus
This commit is contained in:
@@ -277,6 +277,7 @@ $(BUILD_DIR)/src/os/__osLeoInterrupt.o: OPT_FLAGS := -O1
|
||||
$(BUILD_DIR)/src/os/_Printf.o: OPT_FLAGS := -O3
|
||||
$(BUILD_DIR)/src/os/_Litob.o: OPT_FLAGS := -O3
|
||||
$(BUILD_DIR)/src/os/_Ldtob.o: OPT_FLAGS := -O3
|
||||
$(BUILD_DIR)/src/os/osSyncPrintf.o: OPT_FLAGS := -O3
|
||||
|
||||
|
||||
#################### Compile course vertex to mio0 #####################
|
||||
|
||||
@@ -42,7 +42,7 @@ glabel func_80091D74
|
||||
/* 092A08 80091E08 11600008 */ beqz $t3, .L80091E2C
|
||||
/* 092A0C 80091E0C 02002025 */ move $a0, $s0
|
||||
/* 092A10 80091E10 02802825 */ move $a1, $s4
|
||||
/* 092A14 80091E14 0C0339C8 */ jal func_800CE720
|
||||
/* 092A14 80091E14 0C0339C8 */ jal osPfsInit
|
||||
/* 092A18 80091E18 00003025 */ move $a2, $zero
|
||||
/* 092A1C 80091E1C 10400005 */ beqz $v0, .L80091E34
|
||||
/* 092A20 80091E20 02802025 */ move $a0, $s4
|
||||
|
||||
@@ -20,13 +20,13 @@ glabel func_80095BD0
|
||||
/* 096818 80095C18 0441000B */ bgez $v0, .L80095C48
|
||||
/* 09681C 80095C1C AFB90028 */ sw $t9, 0x28($sp)
|
||||
/* 096820 80095C20 3C04800F */ lui $a0, %hi(D_800F0BCC) # $a0, 0x800f
|
||||
/* 096824 80095C24 0C033DDD */ jal func_800CF774
|
||||
/* 096824 80095C24 0C033DDD */ jal rmonPrintf
|
||||
/* 096828 80095C28 24840BCC */ addiu $a0, %lo(D_800F0BCC) # addiu $a0, $a0, 0xbcc
|
||||
/* 09682C 80095C2C 10000007 */ b .L80095C4C
|
||||
/* 096830 80095C30 C7A4004C */ lwc1 $f4, 0x4c($sp)
|
||||
.L80095C34:
|
||||
/* 096834 80095C34 3C04800F */ lui $a0, %hi(D_800F0BEC) # $a0, 0x800f
|
||||
/* 096838 80095C38 0C033DDD */ jal func_800CF774
|
||||
/* 096838 80095C38 0C033DDD */ jal rmonPrintf
|
||||
/* 09683C 80095C3C 24840BEC */ addiu $a0, %lo(D_800F0BEC) # addiu $a0, $a0, 0xbec
|
||||
/* 096840 80095C40 1000006E */ b .L80095DFC
|
||||
/* 096844 80095C44 02001025 */ move $v0, $s0
|
||||
|
||||
@@ -89,7 +89,7 @@ glabel L800AA334
|
||||
/* 0AB030 800AA430 3C058019 */ lui $a1, %hi(D_8018E868) # $a1, 0x8019
|
||||
/* 0AB034 800AA434 24A5E868 */ addiu $a1, %lo(D_8018E868) # addiu $a1, $a1, -0x1798
|
||||
/* 0AB038 800AA438 2484F0B8 */ addiu $a0, %lo(gSIEventMesgQueue) # addiu $a0, $a0, -0xf48
|
||||
/* 0AB03C 800AA43C 0C0339C8 */ jal func_800CE720
|
||||
/* 0AB03C 800AA43C 0C0339C8 */ jal osPfsInit
|
||||
/* 0AB040 800AA440 00003025 */ move $a2, $zero
|
||||
/* 0AB044 800AA444 3C03800F */ lui $v1, %hi(D_800E86F8) # $v1, 0x800f
|
||||
/* 0AB048 800AA448 246386F8 */ addiu $v1, %lo(D_800E86F8) # addiu $v1, $v1, -0x7908
|
||||
|
||||
@@ -9,7 +9,7 @@ glabel func_800B4560
|
||||
/* 0B517C 800B457C 3C04800F */ lui $a0, %hi(D_800F2BE8) # $a0, 0x800f
|
||||
/* 0B5180 800B4580 24842BE8 */ addiu $a0, %lo(D_800F2BE8) # addiu $a0, $a0, 0x2be8
|
||||
/* 0B5184 800B4584 8CA52DE0 */ lw $a1, %lo(D_80162DE0)($a1)
|
||||
/* 0B5188 800B4588 0C033DDD */ jal func_800CF774
|
||||
/* 0B5188 800B4588 0C033DDD */ jal rmonPrintf
|
||||
/* 0B518C 800B458C AFAE0018 */ sw $t6, 0x18($sp)
|
||||
/* 0B5190 800B4590 8FAF0020 */ lw $t7, 0x20($sp)
|
||||
/* 0B5194 800B4594 3C058019 */ lui $a1, %hi(D_8018EE16) # 0x8019
|
||||
@@ -17,7 +17,7 @@ glabel func_800B4560
|
||||
/* 0B519C 800B459C 000FC1C0 */ sll $t8, $t7, 7
|
||||
/* 0B51A0 800B45A0 00B82821 */ addu $a1, $a1, $t8
|
||||
/* 0B51A4 800B45A4 90A5EE16 */ lbu $a1, %lo(D_8018EE16)($a1) # -0x11ea($a1)
|
||||
/* 0B51A8 800B45A8 0C033DDD */ jal func_800CF774
|
||||
/* 0B51A8 800B45A8 0C033DDD */ jal rmonPrintf
|
||||
/* 0B51AC 800B45AC 24842BF8 */ addiu $a0, %lo(D_800F2BF8) # addiu $a0, $a0, 0x2bf8
|
||||
/* 0B51B0 800B45B0 8FB90024 */ lw $t9, 0x24($sp)
|
||||
/* 0B51B4 800B45B4 8FA90018 */ lw $t1, 0x18($sp)
|
||||
@@ -25,7 +25,7 @@ glabel func_800B4560
|
||||
/* 0B51BC 800B45BC 001941C0 */ sll $t0, $t9, 7
|
||||
/* 0B51C0 800B45C0 01095021 */ addu $t2, $t0, $t1
|
||||
/* 0B51C4 800B45C4 91450006 */ lbu $a1, 6($t2)
|
||||
/* 0B51C8 800B45C8 0C033DDD */ jal func_800CF774
|
||||
/* 0B51C8 800B45C8 0C033DDD */ jal rmonPrintf
|
||||
/* 0B51CC 800B45CC 24842C0C */ addiu $a0, %lo(D_800F2C0C) # addiu $a0, $a0, 0x2c0c
|
||||
/* 0B51D0 800B45D0 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 0B51D4 800B45D4 27BD0020 */ addiu $sp, $sp, 0x20
|
||||
|
||||
@@ -52,7 +52,7 @@ glabel func_800B5B94
|
||||
/* 0B6848 800B5C48 3C058019 */ lui $a1, %hi(D_8018E868) # $a1, 0x8019
|
||||
/* 0B684C 800B5C4C 24A5E868 */ addiu $a1, %lo(D_8018E868) # addiu $a1, $a1, -0x1798
|
||||
/* 0B6850 800B5C50 2484F0B8 */ addiu $a0, %lo(gSIEventMesgQueue) # addiu $a0, $a0, -0xf48
|
||||
/* 0B6854 800B5C54 0C0339C8 */ jal func_800CE720
|
||||
/* 0B6854 800B5C54 0C0339C8 */ jal osPfsInit
|
||||
/* 0B6858 800B5C58 00003025 */ move $a2, $zero
|
||||
/* 0B685C 800B5C5C 10400010 */ beqz $v0, .L800B5CA0
|
||||
/* 0B6860 800B5C60 24180001 */ li $t8, 1
|
||||
|
||||
@@ -50,7 +50,7 @@ glabel func_800B5DA4
|
||||
/* 0B6A50 800B5E50 3C058019 */ lui $a1, %hi(D_8018E8D0) # $a1, 0x8019
|
||||
/* 0B6A54 800B5E54 24A5E8D0 */ addiu $a1, %lo(D_8018E8D0) # addiu $a1, $a1, -0x1730
|
||||
/* 0B6A58 800B5E58 2484F0B8 */ addiu $a0, %lo(gSIEventMesgQueue) # addiu $a0, $a0, -0xf48
|
||||
/* 0B6A5C 800B5E5C 0C0339C8 */ jal func_800CE720
|
||||
/* 0B6A5C 800B5E5C 0C0339C8 */ jal osPfsInit
|
||||
/* 0B6A60 800B5E60 24060001 */ li $a2, 1
|
||||
/* 0B6A64 800B5E64 10400010 */ beqz $v0, .L800B5EA8
|
||||
/* 0B6A68 800B5E68 24180001 */ li $t8, 1
|
||||
|
||||
@@ -15,7 +15,7 @@ glabel func_800B6014
|
||||
/* 0B6C44 800B6044 3C058019 */ lui $a1, %hi(D_8018E8D0) # $a1, 0x8019
|
||||
/* 0B6C48 800B6048 24A5E8D0 */ addiu $a1, %lo(D_8018E8D0) # addiu $a1, $a1, -0x1730
|
||||
/* 0B6C4C 800B604C 2484F0B8 */ addiu $a0, %lo(gSIEventMesgQueue) # addiu $a0, $a0, -0xf48
|
||||
/* 0B6C50 800B6050 0C0339C8 */ jal func_800CE720
|
||||
/* 0B6C50 800B6050 0C0339C8 */ jal osPfsInit
|
||||
/* 0B6C54 800B6054 24060001 */ li $a2, 1
|
||||
/* 0B6C58 800B6058 14400004 */ bnez $v0, .L800B606C
|
||||
/* 0B6C5C 800B605C 00401825 */ move $v1, $v0
|
||||
|
||||
@@ -8,7 +8,7 @@ glabel func_8800B6AF8
|
||||
/* 0B7710 800B6B10 3C058019 */ lui $a1, %hi(D_8018E868) # $a1, 0x8019
|
||||
/* 0B7714 800B6B14 24A5E868 */ addiu $a1, %lo(D_8018E868) # addiu $a1, $a1, -0x1798
|
||||
/* 0B7718 800B6B18 2484F0B8 */ addiu $a0, %lo(gSIEventMesgQueue) # addiu $a0, $a0, -0xf48
|
||||
/* 0B771C 800B6B1C 0C0339C8 */ jal func_800CE720
|
||||
/* 0B771C 800B6B1C 0C0339C8 */ jal osPfsInit
|
||||
/* 0B7720 800B6B20 00003025 */ move $a2, $zero
|
||||
/* 0B7724 800B6B24 1440002D */ bnez $v0, .L800B6BDC
|
||||
/* 0B7728 800B6B28 3C048019 */ lui $a0, %hi(D_8018E868) # $a0, 0x8019
|
||||
|
||||
@@ -1,265 +0,0 @@
|
||||
# assembler directives
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
.set gp=64
|
||||
|
||||
.include "macros.inc"
|
||||
|
||||
.section .text, "ax"
|
||||
|
||||
glabel __osContRamRead
|
||||
/* 0D68B0 800D5CB0 27BDFFA0 */ addiu $sp, $sp, -0x60
|
||||
/* 0D68B4 800D5CB4 3C0E8019 */ lui $t6, %hi(__osPfsPifRam) # $t6, 0x8019
|
||||
/* 0D68B8 800D5CB8 AFBF001C */ sw $ra, 0x1c($sp)
|
||||
/* 0D68BC 800D5CBC 25CE6590 */ addiu $t6, %lo(__osPfsPifRam) # addiu $t6, $t6, 0x6590
|
||||
/* 0D68C0 800D5CC0 240F0002 */ li $t7, 2
|
||||
/* 0D68C4 800D5CC4 AFA40060 */ sw $a0, 0x60($sp)
|
||||
/* 0D68C8 800D5CC8 AFA50064 */ sw $a1, 0x64($sp)
|
||||
/* 0D68CC 800D5CCC AFA60068 */ sw $a2, 0x68($sp)
|
||||
/* 0D68D0 800D5CD0 AFA7006C */ sw $a3, 0x6c($sp)
|
||||
/* 0D68D4 800D5CD4 AFB00018 */ sw $s0, 0x18($sp)
|
||||
/* 0D68D8 800D5CD8 AFA0005C */ sw $zero, 0x5c($sp)
|
||||
/* 0D68DC 800D5CDC AFAE0054 */ sw $t6, 0x54($sp)
|
||||
/* 0D68E0 800D5CE0 0C034EE8 */ jal __osSiGetAccess
|
||||
/* 0D68E4 800D5CE4 AFAF0028 */ sw $t7, 0x28($sp)
|
||||
/* 0D68E8 800D5CE8 24180002 */ li $t8, 2
|
||||
/* 0D68EC 800D5CEC 3C018019 */ lui $at, %hi(_osLastSentSiCmd) # $at, 0x8019
|
||||
/* 0D68F0 800D5CF0 A0386540 */ sb $t8, %lo(_osLastSentSiCmd)($at)
|
||||
/* 0D68F4 800D5CF4 8FA40064 */ lw $a0, 0x64($sp)
|
||||
/* 0D68F8 800D5CF8 0C0357BD */ jal __osPackRamReadData
|
||||
/* 0D68FC 800D5CFC 97A5006A */ lhu $a1, 0x6a($sp)
|
||||
/* 0D6900 800D5D00 3C058019 */ lui $a1, %hi(__osPfsPifRam) # $a1, 0x8019
|
||||
/* 0D6904 800D5D04 24A56590 */ addiu $a1, %lo(__osPfsPifRam) # addiu $a1, $a1, 0x6590
|
||||
/* 0D6908 800D5D08 0C034EA8 */ jal __osSiRawStartDma
|
||||
/* 0D690C 800D5D0C 24040001 */ li $a0, 1
|
||||
/* 0D6910 800D5D10 AFA2005C */ sw $v0, 0x5c($sp)
|
||||
/* 0D6914 800D5D14 8FA40060 */ lw $a0, 0x60($sp)
|
||||
/* 0D6918 800D5D18 00002825 */ move $a1, $zero
|
||||
/* 0D691C 800D5D1C 0C0335D4 */ jal osRecvMesg
|
||||
/* 0D6920 800D5D20 24060001 */ li $a2, 1
|
||||
.L800D5D24:
|
||||
/* 0D6924 800D5D24 AFA00058 */ sw $zero, 0x58($sp)
|
||||
.L800D5D28:
|
||||
/* 0D6928 800D5D28 8FA80058 */ lw $t0, 0x58($sp)
|
||||
/* 0D692C 800D5D2C 8FAA0058 */ lw $t2, 0x58($sp)
|
||||
/* 0D6930 800D5D30 3C018019 */ lui $at, %hi(__osPfsPifRam) # 0x8019
|
||||
/* 0D6934 800D5D34 00084880 */ sll $t1, $t0, 2
|
||||
/* 0D6938 800D5D38 00290821 */ addu $at, $at, $t1
|
||||
/* 0D693C 800D5D3C 241900FF */ li $t9, 255
|
||||
/* 0D6940 800D5D40 AC396590 */ sw $t9, %lo(__osPfsPifRam)($at) # 0x6590($at)
|
||||
/* 0D6944 800D5D44 254B0001 */ addiu $t3, $t2, 1
|
||||
/* 0D6948 800D5D48 29610010 */ slti $at, $t3, 0x10
|
||||
/* 0D694C 800D5D4C 1420FFF6 */ bnez $at, .L800D5D28
|
||||
/* 0D6950 800D5D50 AFAB0058 */ sw $t3, 0x58($sp)
|
||||
/* 0D6954 800D5D54 3C018019 */ lui $at, 0x8019 # $at, 0x8019
|
||||
/* 0D6958 800D5D58 3C058019 */ lui $a1, %hi(__osPfsPifRam) # $a1, 0x8019
|
||||
/* 0D695C 800D5D5C AC2065CC */ sw $zero, 0x65cc($at)
|
||||
/* 0D6960 800D5D60 24A56590 */ addiu $a1, %lo(__osPfsPifRam) # addiu $a1, $a1, 0x6590
|
||||
/* 0D6964 800D5D64 0C034EA8 */ jal __osSiRawStartDma
|
||||
/* 0D6968 800D5D68 00002025 */ move $a0, $zero
|
||||
/* 0D696C 800D5D6C AFA2005C */ sw $v0, 0x5c($sp)
|
||||
/* 0D6970 800D5D70 8FA40060 */ lw $a0, 0x60($sp)
|
||||
/* 0D6974 800D5D74 00002825 */ move $a1, $zero
|
||||
/* 0D6978 800D5D78 0C0335D4 */ jal osRecvMesg
|
||||
/* 0D697C 800D5D7C 24060001 */ li $a2, 1
|
||||
/* 0D6980 800D5D80 8FAD0064 */ lw $t5, 0x64($sp)
|
||||
/* 0D6984 800D5D84 3C0C8019 */ lui $t4, %hi(__osPfsPifRam) # $t4, 0x8019
|
||||
/* 0D6988 800D5D88 258C6590 */ addiu $t4, %lo(__osPfsPifRam) # addiu $t4, $t4, 0x6590
|
||||
/* 0D698C 800D5D8C 11A0000C */ beqz $t5, .L800D5DC0
|
||||
/* 0D6990 800D5D90 AFAC0054 */ sw $t4, 0x54($sp)
|
||||
/* 0D6994 800D5D94 19A0000A */ blez $t5, .L800D5DC0
|
||||
/* 0D6998 800D5D98 AFA00058 */ sw $zero, 0x58($sp)
|
||||
.L800D5D9C:
|
||||
/* 0D699C 800D5D9C 8FB80058 */ lw $t8, 0x58($sp)
|
||||
/* 0D69A0 800D5DA0 8FB90064 */ lw $t9, 0x64($sp)
|
||||
/* 0D69A4 800D5DA4 8FAE0054 */ lw $t6, 0x54($sp)
|
||||
/* 0D69A8 800D5DA8 27080001 */ addiu $t0, $t8, 1
|
||||
/* 0D69AC 800D5DAC 0119082A */ slt $at, $t0, $t9
|
||||
/* 0D69B0 800D5DB0 25CF0001 */ addiu $t7, $t6, 1
|
||||
/* 0D69B4 800D5DB4 AFA80058 */ sw $t0, 0x58($sp)
|
||||
/* 0D69B8 800D5DB8 1420FFF8 */ bnez $at, .L800D5D9C
|
||||
/* 0D69BC 800D5DBC AFAF0054 */ sw $t7, 0x54($sp)
|
||||
.L800D5DC0:
|
||||
/* 0D69C0 800D5DC0 8FAA0054 */ lw $t2, 0x54($sp)
|
||||
/* 0D69C4 800D5DC4 27A9002C */ addiu $t1, $sp, 0x2c
|
||||
/* 0D69C8 800D5DC8 254C0024 */ addiu $t4, $t2, 0x24
|
||||
.L800D5DCC:
|
||||
/* 0D69CC 800D5DCC 89410000 */ lwl $at, ($t2)
|
||||
/* 0D69D0 800D5DD0 99410003 */ lwr $at, 3($t2)
|
||||
/* 0D69D4 800D5DD4 254A000C */ addiu $t2, $t2, 0xc
|
||||
/* 0D69D8 800D5DD8 2529000C */ addiu $t1, $t1, 0xc
|
||||
/* 0D69DC 800D5DDC AD21FFF4 */ sw $at, -0xc($t1)
|
||||
/* 0D69E0 800D5DE0 8941FFF8 */ lwl $at, -8($t2)
|
||||
/* 0D69E4 800D5DE4 9941FFFB */ lwr $at, -5($t2)
|
||||
/* 0D69E8 800D5DE8 AD21FFF8 */ sw $at, -8($t1)
|
||||
/* 0D69EC 800D5DEC 8941FFFC */ lwl $at, -4($t2)
|
||||
/* 0D69F0 800D5DF0 9941FFFF */ lwr $at, -1($t2)
|
||||
/* 0D69F4 800D5DF4 154CFFF5 */ bne $t2, $t4, .L800D5DCC
|
||||
/* 0D69F8 800D5DF8 AD21FFFC */ sw $at, -4($t1)
|
||||
/* 0D69FC 800D5DFC 89410000 */ lwl $at, ($t2)
|
||||
/* 0D6A00 800D5E00 99410003 */ lwr $at, 3($t2)
|
||||
/* 0D6A04 800D5E04 AD210000 */ sw $at, ($t1)
|
||||
/* 0D6A08 800D5E08 93AD002E */ lbu $t5, 0x2e($sp)
|
||||
/* 0D6A0C 800D5E0C 31AE00C0 */ andi $t6, $t5, 0xc0
|
||||
/* 0D6A10 800D5E10 000E7903 */ sra $t7, $t6, 4
|
||||
/* 0D6A14 800D5E14 15E00025 */ bnez $t7, .L800D5EAC
|
||||
/* 0D6A18 800D5E18 AFAF005C */ sw $t7, 0x5c($sp)
|
||||
/* 0D6A1C 800D5E1C 27A4002C */ addiu $a0, $sp, 0x2c
|
||||
/* 0D6A20 800D5E20 0C035FC4 */ jal __osContDataCrc
|
||||
/* 0D6A24 800D5E24 24840006 */ addiu $a0, $a0, 6
|
||||
/* 0D6A28 800D5E28 A3A20027 */ sb $v0, 0x27($sp)
|
||||
/* 0D6A2C 800D5E2C 93B80027 */ lbu $t8, 0x27($sp)
|
||||
/* 0D6A30 800D5E30 93A80052 */ lbu $t0, 0x52($sp)
|
||||
/* 0D6A34 800D5E34 1308000F */ beq $t8, $t0, .L800D5E74
|
||||
/* 0D6A38 800D5E38 00000000 */ nop
|
||||
/* 0D6A3C 800D5E3C 8FA40060 */ lw $a0, 0x60($sp)
|
||||
/* 0D6A40 800D5E40 0C0339F5 */ jal func_800CE7D4
|
||||
/* 0D6A44 800D5E44 8FA50064 */ lw $a1, 0x64($sp)
|
||||
/* 0D6A48 800D5E48 AFA2005C */ sw $v0, 0x5c($sp)
|
||||
/* 0D6A4C 800D5E4C 8FB9005C */ lw $t9, 0x5c($sp)
|
||||
/* 0D6A50 800D5E50 13200005 */ beqz $t9, .L800D5E68
|
||||
/* 0D6A54 800D5E54 00000000 */ nop
|
||||
/* 0D6A58 800D5E58 0C034EF9 */ jal __osSiRelAccess
|
||||
/* 0D6A5C 800D5E5C 00000000 */ nop
|
||||
/* 0D6A60 800D5E60 1000001F */ b .L800D5EE0
|
||||
/* 0D6A64 800D5E64 8FA2005C */ lw $v0, 0x5c($sp)
|
||||
.L800D5E68:
|
||||
/* 0D6A68 800D5E68 240B0004 */ li $t3, 4
|
||||
/* 0D6A6C 800D5E6C 1000000F */ b .L800D5EAC
|
||||
/* 0D6A70 800D5E70 AFAB005C */ sw $t3, 0x5c($sp)
|
||||
.L800D5E74:
|
||||
/* 0D6A74 800D5E74 AFA00058 */ sw $zero, 0x58($sp)
|
||||
.L800D5E78:
|
||||
/* 0D6A78 800D5E78 8FAC0058 */ lw $t4, 0x58($sp)
|
||||
/* 0D6A7C 800D5E7C 8FA9006C */ lw $t1, 0x6c($sp)
|
||||
/* 0D6A80 800D5E80 03AC5021 */ addu $t2, $sp, $t4
|
||||
/* 0D6A84 800D5E84 914A0032 */ lbu $t2, 0x32($t2)
|
||||
/* 0D6A88 800D5E88 A12A0000 */ sb $t2, ($t1)
|
||||
/* 0D6A8C 800D5E8C 8FAF0058 */ lw $t7, 0x58($sp)
|
||||
/* 0D6A90 800D5E90 8FAD006C */ lw $t5, 0x6c($sp)
|
||||
/* 0D6A94 800D5E94 25F80001 */ addiu $t8, $t7, 1
|
||||
/* 0D6A98 800D5E98 2B010020 */ slti $at, $t8, 0x20
|
||||
/* 0D6A9C 800D5E9C 25AE0001 */ addiu $t6, $t5, 1
|
||||
/* 0D6AA0 800D5EA0 AFB80058 */ sw $t8, 0x58($sp)
|
||||
/* 0D6AA4 800D5EA4 1420FFF4 */ bnez $at, .L800D5E78
|
||||
/* 0D6AA8 800D5EA8 AFAE006C */ sw $t6, 0x6c($sp)
|
||||
.L800D5EAC:
|
||||
/* 0D6AAC 800D5EAC 8FA8005C */ lw $t0, 0x5c($sp)
|
||||
/* 0D6AB0 800D5EB0 24010004 */ li $at, 4
|
||||
/* 0D6AB4 800D5EB4 15010007 */ bne $t0, $at, .L800D5ED4
|
||||
/* 0D6AB8 800D5EB8 00000000 */ nop
|
||||
/* 0D6ABC 800D5EBC 8FB90028 */ lw $t9, 0x28($sp)
|
||||
/* 0D6AC0 800D5EC0 2B300000 */ slti $s0, $t9, 0
|
||||
/* 0D6AC4 800D5EC4 3A100001 */ xori $s0, $s0, 1
|
||||
/* 0D6AC8 800D5EC8 272BFFFF */ addiu $t3, $t9, -1
|
||||
/* 0D6ACC 800D5ECC 1600FF95 */ bnez $s0, .L800D5D24
|
||||
/* 0D6AD0 800D5ED0 AFAB0028 */ sw $t3, 0x28($sp)
|
||||
.L800D5ED4:
|
||||
/* 0D6AD4 800D5ED4 0C034EF9 */ jal __osSiRelAccess
|
||||
/* 0D6AD8 800D5ED8 00000000 */ nop
|
||||
/* 0D6ADC 800D5EDC 8FA2005C */ lw $v0, 0x5c($sp)
|
||||
.L800D5EE0:
|
||||
/* 0D6AE0 800D5EE0 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
/* 0D6AE4 800D5EE4 8FB00018 */ lw $s0, 0x18($sp)
|
||||
/* 0D6AE8 800D5EE8 27BD0060 */ addiu $sp, $sp, 0x60
|
||||
/* 0D6AEC 800D5EEC 03E00008 */ jr $ra
|
||||
/* 0D6AF0 800D5EF0 00000000 */ nop
|
||||
|
||||
glabel __osPackRamReadData
|
||||
/* 0D6AF4 800D5EF4 27BDFFB8 */ addiu $sp, $sp, -0x48
|
||||
/* 0D6AF8 800D5EF8 3C0E8019 */ lui $t6, %hi(__osPfsPifRam) # $t6, 0x8019
|
||||
/* 0D6AFC 800D5EFC 25CE6590 */ addiu $t6, %lo(__osPfsPifRam) # addiu $t6, $t6, 0x6590
|
||||
/* 0D6B00 800D5F00 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* 0D6B04 800D5F04 AFA40048 */ sw $a0, 0x48($sp)
|
||||
/* 0D6B08 800D5F08 AFA5004C */ sw $a1, 0x4c($sp)
|
||||
/* 0D6B0C 800D5F0C AFAE0044 */ sw $t6, 0x44($sp)
|
||||
/* 0D6B10 800D5F10 AFA00018 */ sw $zero, 0x18($sp)
|
||||
.L800D5F14:
|
||||
/* 0D6B14 800D5F14 8FAF0018 */ lw $t7, 0x18($sp)
|
||||
/* 0D6B18 800D5F18 8FB90018 */ lw $t9, 0x18($sp)
|
||||
/* 0D6B1C 800D5F1C 3C018019 */ lui $at, %hi(__osPfsPifRam) # 0x8019
|
||||
/* 0D6B20 800D5F20 000FC080 */ sll $t8, $t7, 2
|
||||
/* 0D6B24 800D5F24 00380821 */ addu $at, $at, $t8
|
||||
/* 0D6B28 800D5F28 AC206590 */ sw $zero, %lo(__osPfsPifRam)($at) # 0x6590($at)
|
||||
/* 0D6B2C 800D5F2C 27280001 */ addiu $t0, $t9, 1
|
||||
/* 0D6B30 800D5F30 29010010 */ slti $at, $t0, 0x10
|
||||
/* 0D6B34 800D5F34 1420FFF7 */ bnez $at, .L800D5F14
|
||||
/* 0D6B38 800D5F38 AFA80018 */ sw $t0, 0x18($sp)
|
||||
/* 0D6B3C 800D5F3C 24090001 */ li $t1, 1
|
||||
/* 0D6B40 800D5F40 3C018019 */ lui $at, 0x8019
|
||||
/* 0D6B44 800D5F44 240A00FF */ li $t2, 255
|
||||
/* 0D6B48 800D5F48 240B0003 */ li $t3, 3
|
||||
/* 0D6B4C 800D5F4C 240C0021 */ li $t4, 33
|
||||
/* 0D6B50 800D5F50 240D0002 */ li $t5, 2
|
||||
/* 0D6B54 800D5F54 AC2965CC */ sw $t1, 0x65cc($at)
|
||||
/* 0D6B58 800D5F58 A3AA001C */ sb $t2, 0x1c($sp)
|
||||
/* 0D6B5C 800D5F5C A3AB001D */ sb $t3, 0x1d($sp)
|
||||
/* 0D6B60 800D5F60 A3AC001E */ sb $t4, 0x1e($sp)
|
||||
/* 0D6B64 800D5F64 A3AD001F */ sb $t5, 0x1f($sp)
|
||||
/* 0D6B68 800D5F68 0C035F98 */ jal __osContAddressCrc
|
||||
/* 0D6B6C 800D5F6C 97A4004E */ lhu $a0, 0x4e($sp)
|
||||
/* 0D6B70 800D5F70 97AE004E */ lhu $t6, 0x4e($sp)
|
||||
/* 0D6B74 800D5F74 241900FF */ li $t9, 255
|
||||
/* 0D6B78 800D5F78 A3B90042 */ sb $t9, 0x42($sp)
|
||||
/* 0D6B7C 800D5F7C 000E7940 */ sll $t7, $t6, 5
|
||||
/* 0D6B80 800D5F80 004FC025 */ or $t8, $v0, $t7
|
||||
/* 0D6B84 800D5F84 A7B80020 */ sh $t8, 0x20($sp)
|
||||
/* 0D6B88 800D5F88 AFA00018 */ sw $zero, 0x18($sp)
|
||||
.L800D5F8C:
|
||||
/* 0D6B8C 800D5F8C 8FA90018 */ lw $t1, 0x18($sp)
|
||||
/* 0D6B90 800D5F90 240800FF */ li $t0, 255
|
||||
/* 0D6B94 800D5F94 03A95021 */ addu $t2, $sp, $t1
|
||||
/* 0D6B98 800D5F98 A1480022 */ sb $t0, 0x22($t2)
|
||||
/* 0D6B9C 800D5F9C 8FAB0018 */ lw $t3, 0x18($sp)
|
||||
/* 0D6BA0 800D5FA0 256C0001 */ addiu $t4, $t3, 1
|
||||
/* 0D6BA4 800D5FA4 29810020 */ slti $at, $t4, 0x20
|
||||
/* 0D6BA8 800D5FA8 1420FFF8 */ bnez $at, .L800D5F8C
|
||||
/* 0D6BAC 800D5FAC AFAC0018 */ sw $t4, 0x18($sp)
|
||||
/* 0D6BB0 800D5FB0 8FAD0048 */ lw $t5, 0x48($sp)
|
||||
/* 0D6BB4 800D5FB4 11A0000E */ beqz $t5, .L800D5FF0
|
||||
/* 0D6BB8 800D5FB8 00000000 */ nop
|
||||
/* 0D6BBC 800D5FBC 19A0000C */ blez $t5, .L800D5FF0
|
||||
/* 0D6BC0 800D5FC0 AFA00018 */ sw $zero, 0x18($sp)
|
||||
.L800D5FC4:
|
||||
/* 0D6BC4 800D5FC4 8FAE0044 */ lw $t6, 0x44($sp)
|
||||
/* 0D6BC8 800D5FC8 A1C00000 */ sb $zero, ($t6)
|
||||
/* 0D6BCC 800D5FCC 8FB90018 */ lw $t9, 0x18($sp)
|
||||
/* 0D6BD0 800D5FD0 8FA90048 */ lw $t1, 0x48($sp)
|
||||
/* 0D6BD4 800D5FD4 8FAF0044 */ lw $t7, 0x44($sp)
|
||||
/* 0D6BD8 800D5FD8 27280001 */ addiu $t0, $t9, 1
|
||||
/* 0D6BDC 800D5FDC 0109082A */ slt $at, $t0, $t1
|
||||
/* 0D6BE0 800D5FE0 25F80001 */ addiu $t8, $t7, 1
|
||||
/* 0D6BE4 800D5FE4 AFA80018 */ sw $t0, 0x18($sp)
|
||||
/* 0D6BE8 800D5FE8 1420FFF6 */ bnez $at, .L800D5FC4
|
||||
/* 0D6BEC 800D5FEC AFB80044 */ sw $t8, 0x44($sp)
|
||||
.L800D5FF0:
|
||||
/* 0D6BF0 800D5FF0 27AB001C */ addiu $t3, $sp, 0x1c
|
||||
/* 0D6BF4 800D5FF4 256D0024 */ addiu $t5, $t3, 0x24
|
||||
/* 0D6BF8 800D5FF8 8FAA0044 */ lw $t2, 0x44($sp)
|
||||
.L800D5FFC:
|
||||
/* 0D6BFC 800D5FFC 8D610000 */ lw $at, ($t3)
|
||||
/* 0D6C00 800D6000 256B000C */ addiu $t3, $t3, 0xc
|
||||
/* 0D6C04 800D6004 254A000C */ addiu $t2, $t2, 0xc
|
||||
/* 0D6C08 800D6008 A941FFF4 */ swl $at, -0xc($t2)
|
||||
/* 0D6C0C 800D600C B941FFF7 */ swr $at, -9($t2)
|
||||
/* 0D6C10 800D6010 8D61FFF8 */ lw $at, -8($t3)
|
||||
/* 0D6C14 800D6014 A941FFF8 */ swl $at, -8($t2)
|
||||
/* 0D6C18 800D6018 B941FFFB */ swr $at, -5($t2)
|
||||
/* 0D6C1C 800D601C 8D61FFFC */ lw $at, -4($t3)
|
||||
/* 0D6C20 800D6020 A941FFFC */ swl $at, -4($t2)
|
||||
/* 0D6C24 800D6024 156DFFF5 */ bne $t3, $t5, .L800D5FFC
|
||||
/* 0D6C28 800D6028 B941FFFF */ swr $at, -1($t2)
|
||||
/* 0D6C2C 800D602C 8D610000 */ lw $at, ($t3)
|
||||
/* 0D6C30 800D6030 241800FE */ li $t8, 254
|
||||
/* 0D6C34 800D6034 A9410000 */ swl $at, ($t2)
|
||||
/* 0D6C38 800D6038 B9410003 */ swr $at, 3($t2)
|
||||
/* 0D6C3C 800D603C 8FAE0044 */ lw $t6, 0x44($sp)
|
||||
/* 0D6C40 800D6040 25CF0028 */ addiu $t7, $t6, 0x28
|
||||
/* 0D6C44 800D6044 AFAF0044 */ sw $t7, 0x44($sp)
|
||||
/* 0D6C48 800D6048 A1F80000 */ sb $t8, ($t7)
|
||||
/* 0D6C4C 800D604C 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 0D6C50 800D6050 27BD0048 */ addiu $sp, $sp, 0x48
|
||||
/* 0D6C54 800D6054 03E00008 */ jr $ra
|
||||
/* 0D6C58 800D6058 00000000 */ nop
|
||||
|
||||
/* 0D6C5C 800D605C 00000000 */ nop
|
||||
@@ -1,264 +0,0 @@
|
||||
# assembler directives
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
.set gp=64
|
||||
|
||||
.include "macros.inc"
|
||||
|
||||
.section .text, "ax"
|
||||
|
||||
glabel __osContRamWrite
|
||||
/* 0D7EF0 800D72F0 27BDFFA0 */ addiu $sp, $sp, -0x60
|
||||
/* 0D7EF4 800D72F4 8FB80070 */ lw $t8, 0x70($sp)
|
||||
/* 0D7EF8 800D72F8 3C0E8019 */ lui $t6, %hi(__osPfsPifRam) # $t6, 0x8019
|
||||
/* 0D7EFC 800D72FC 25CE6590 */ addiu $t6, %lo(__osPfsPifRam) # addiu $t6, $t6, 0x6590
|
||||
/* 0D7F00 800D7300 240F0002 */ li $t7, 2
|
||||
/* 0D7F04 800D7304 24010001 */ li $at, 1
|
||||
/* 0D7F08 800D7308 AFBF001C */ sw $ra, 0x1c($sp)
|
||||
/* 0D7F0C 800D730C AFA40060 */ sw $a0, 0x60($sp)
|
||||
/* 0D7F10 800D7310 AFA50064 */ sw $a1, 0x64($sp)
|
||||
/* 0D7F14 800D7314 AFA60068 */ sw $a2, 0x68($sp)
|
||||
/* 0D7F18 800D7318 AFA7006C */ sw $a3, 0x6c($sp)
|
||||
/* 0D7F1C 800D731C AFB00018 */ sw $s0, 0x18($sp)
|
||||
/* 0D7F20 800D7320 AFA0005C */ sw $zero, 0x5c($sp)
|
||||
/* 0D7F24 800D7324 AFAE0054 */ sw $t6, 0x54($sp)
|
||||
/* 0D7F28 800D7328 13010009 */ beq $t8, $at, .L800D7350
|
||||
/* 0D7F2C 800D732C AFAF0028 */ sw $t7, 0x28($sp)
|
||||
/* 0D7F30 800D7330 97B9006A */ lhu $t9, 0x6a($sp)
|
||||
/* 0D7F34 800D7334 2B210007 */ slti $at, $t9, 7
|
||||
/* 0D7F38 800D7338 10200005 */ beqz $at, .L800D7350
|
||||
/* 0D7F3C 800D733C 00000000 */ nop
|
||||
/* 0D7F40 800D7340 13200003 */ beqz $t9, .L800D7350
|
||||
/* 0D7F44 800D7344 00000000 */ nop
|
||||
/* 0D7F48 800D7348 10000070 */ b .L800D750C
|
||||
/* 0D7F4C 800D734C 00001025 */ move $v0, $zero
|
||||
.L800D7350:
|
||||
/* 0D7F50 800D7350 0C034EE8 */ jal __osSiGetAccess
|
||||
/* 0D7F54 800D7354 00000000 */ nop
|
||||
/* 0D7F58 800D7358 24080003 */ li $t0, 3
|
||||
/* 0D7F5C 800D735C 3C018019 */ lui $at, %hi(_osLastSentSiCmd) # $at, 0x8019
|
||||
/* 0D7F60 800D7360 A0286540 */ sb $t0, %lo(_osLastSentSiCmd)($at)
|
||||
/* 0D7F64 800D7364 8FA40064 */ lw $a0, 0x64($sp)
|
||||
/* 0D7F68 800D7368 97A5006A */ lhu $a1, 0x6a($sp)
|
||||
/* 0D7F6C 800D736C 0C035D48 */ jal __osPackRamWriteData
|
||||
/* 0D7F70 800D7370 8FA6006C */ lw $a2, 0x6c($sp)
|
||||
/* 0D7F74 800D7374 3C058019 */ lui $a1, %hi(__osPfsPifRam) # $a1, 0x8019
|
||||
/* 0D7F78 800D7378 24A56590 */ addiu $a1, %lo(__osPfsPifRam) # addiu $a1, $a1, 0x6590
|
||||
/* 0D7F7C 800D737C 0C034EA8 */ jal __osSiRawStartDma
|
||||
/* 0D7F80 800D7380 24040001 */ li $a0, 1
|
||||
/* 0D7F84 800D7384 AFA2005C */ sw $v0, 0x5c($sp)
|
||||
/* 0D7F88 800D7388 8FA40060 */ lw $a0, 0x60($sp)
|
||||
/* 0D7F8C 800D738C 00002825 */ move $a1, $zero
|
||||
/* 0D7F90 800D7390 0C0335D4 */ jal osRecvMesg
|
||||
/* 0D7F94 800D7394 24060001 */ li $a2, 1
|
||||
.L800D7398:
|
||||
/* 0D7F98 800D7398 AFA00058 */ sw $zero, 0x58($sp)
|
||||
.L800D739C:
|
||||
/* 0D7F9C 800D739C 8FAA0058 */ lw $t2, 0x58($sp)
|
||||
/* 0D7FA0 800D73A0 8FAC0058 */ lw $t4, 0x58($sp)
|
||||
/* 0D7FA4 800D73A4 3C018019 */ lui $at, %hi(__osPfsPifRam) # 0x8019
|
||||
/* 0D7FA8 800D73A8 000A5880 */ sll $t3, $t2, 2
|
||||
/* 0D7FAC 800D73AC 002B0821 */ addu $at, $at, $t3
|
||||
/* 0D7FB0 800D73B0 240900FF */ li $t1, 255
|
||||
/* 0D7FB4 800D73B4 AC296590 */ sw $t1, %lo(__osPfsPifRam)($at) # 0x6590($at)
|
||||
/* 0D7FB8 800D73B8 258D0001 */ addiu $t5, $t4, 1
|
||||
/* 0D7FBC 800D73BC 29A10010 */ slti $at, $t5, 0x10
|
||||
/* 0D7FC0 800D73C0 1420FFF6 */ bnez $at, .L800D739C
|
||||
/* 0D7FC4 800D73C4 AFAD0058 */ sw $t5, 0x58($sp)
|
||||
/* 0D7FC8 800D73C8 3C018019 */ lui $at, 0x8019 # $at, 0x8019
|
||||
/* 0D7FCC 800D73CC 3C058019 */ lui $a1, %hi(__osPfsPifRam) # $a1, 0x8019
|
||||
/* 0D7FD0 800D73D0 AC2065CC */ sw $zero, 0x65cc($at)
|
||||
/* 0D7FD4 800D73D4 24A56590 */ addiu $a1, %lo(__osPfsPifRam) # addiu $a1, $a1, 0x6590
|
||||
/* 0D7FD8 800D73D8 0C034EA8 */ jal __osSiRawStartDma
|
||||
/* 0D7FDC 800D73DC 00002025 */ move $a0, $zero
|
||||
/* 0D7FE0 800D73E0 AFA2005C */ sw $v0, 0x5c($sp)
|
||||
/* 0D7FE4 800D73E4 8FA40060 */ lw $a0, 0x60($sp)
|
||||
/* 0D7FE8 800D73E8 00002825 */ move $a1, $zero
|
||||
/* 0D7FEC 800D73EC 0C0335D4 */ jal osRecvMesg
|
||||
/* 0D7FF0 800D73F0 24060001 */ li $a2, 1
|
||||
/* 0D7FF4 800D73F4 8FAF0064 */ lw $t7, 0x64($sp)
|
||||
/* 0D7FF8 800D73F8 3C0E8019 */ lui $t6, %hi(__osPfsPifRam) # $t6, 0x8019
|
||||
/* 0D7FFC 800D73FC 25CE6590 */ addiu $t6, %lo(__osPfsPifRam) # addiu $t6, $t6, 0x6590
|
||||
/* 0D8000 800D7400 11E0000C */ beqz $t7, .L800D7434
|
||||
/* 0D8004 800D7404 AFAE0054 */ sw $t6, 0x54($sp)
|
||||
/* 0D8008 800D7408 19E0000A */ blez $t7, .L800D7434
|
||||
/* 0D800C 800D740C AFA00058 */ sw $zero, 0x58($sp)
|
||||
.L800D7410:
|
||||
/* 0D8010 800D7410 8FA80058 */ lw $t0, 0x58($sp)
|
||||
/* 0D8014 800D7414 8FA90064 */ lw $t1, 0x64($sp)
|
||||
/* 0D8018 800D7418 8FB80054 */ lw $t8, 0x54($sp)
|
||||
/* 0D801C 800D741C 250A0001 */ addiu $t2, $t0, 1
|
||||
/* 0D8020 800D7420 0149082A */ slt $at, $t2, $t1
|
||||
/* 0D8024 800D7424 27190001 */ addiu $t9, $t8, 1
|
||||
/* 0D8028 800D7428 AFAA0058 */ sw $t2, 0x58($sp)
|
||||
/* 0D802C 800D742C 1420FFF8 */ bnez $at, .L800D7410
|
||||
/* 0D8030 800D7430 AFB90054 */ sw $t9, 0x54($sp)
|
||||
.L800D7434:
|
||||
/* 0D8034 800D7434 8FAC0054 */ lw $t4, 0x54($sp)
|
||||
/* 0D8038 800D7438 27AB002C */ addiu $t3, $sp, 0x2c
|
||||
/* 0D803C 800D743C 258E0024 */ addiu $t6, $t4, 0x24
|
||||
.L800D7440:
|
||||
/* 0D8040 800D7440 89810000 */ lwl $at, ($t4)
|
||||
/* 0D8044 800D7444 99810003 */ lwr $at, 3($t4)
|
||||
/* 0D8048 800D7448 258C000C */ addiu $t4, $t4, 0xc
|
||||
/* 0D804C 800D744C 256B000C */ addiu $t3, $t3, 0xc
|
||||
/* 0D8050 800D7450 AD61FFF4 */ sw $at, -0xc($t3)
|
||||
/* 0D8054 800D7454 8981FFF8 */ lwl $at, -8($t4)
|
||||
/* 0D8058 800D7458 9981FFFB */ lwr $at, -5($t4)
|
||||
/* 0D805C 800D745C AD61FFF8 */ sw $at, -8($t3)
|
||||
/* 0D8060 800D7460 8981FFFC */ lwl $at, -4($t4)
|
||||
/* 0D8064 800D7464 9981FFFF */ lwr $at, -1($t4)
|
||||
/* 0D8068 800D7468 158EFFF5 */ bne $t4, $t6, .L800D7440
|
||||
/* 0D806C 800D746C AD61FFFC */ sw $at, -4($t3)
|
||||
/* 0D8070 800D7470 89810000 */ lwl $at, ($t4)
|
||||
/* 0D8074 800D7474 99810003 */ lwr $at, 3($t4)
|
||||
/* 0D8078 800D7478 AD610000 */ sw $at, ($t3)
|
||||
/* 0D807C 800D747C 93AF002E */ lbu $t7, 0x2e($sp)
|
||||
/* 0D8080 800D7480 31F800C0 */ andi $t8, $t7, 0xc0
|
||||
/* 0D8084 800D7484 0018C903 */ sra $t9, $t8, 4
|
||||
/* 0D8088 800D7488 17200013 */ bnez $t9, .L800D74D8
|
||||
/* 0D808C 800D748C AFB9005C */ sw $t9, 0x5c($sp)
|
||||
/* 0D8090 800D7490 0C035FC4 */ jal __osContDataCrc
|
||||
/* 0D8094 800D7494 8FA4006C */ lw $a0, 0x6c($sp)
|
||||
/* 0D8098 800D7498 93A80052 */ lbu $t0, 0x52($sp)
|
||||
/* 0D809C 800D749C 1048000E */ beq $v0, $t0, .L800D74D8
|
||||
/* 0D80A0 800D74A0 00000000 */ nop
|
||||
/* 0D80A4 800D74A4 8FA40060 */ lw $a0, 0x60($sp)
|
||||
/* 0D80A8 800D74A8 0C0339F5 */ jal func_800CE7D4
|
||||
/* 0D80AC 800D74AC 8FA50064 */ lw $a1, 0x64($sp)
|
||||
/* 0D80B0 800D74B0 AFA2005C */ sw $v0, 0x5c($sp)
|
||||
/* 0D80B4 800D74B4 8FAA005C */ lw $t2, 0x5c($sp)
|
||||
/* 0D80B8 800D74B8 11400005 */ beqz $t2, .L800D74D0
|
||||
/* 0D80BC 800D74BC 00000000 */ nop
|
||||
/* 0D80C0 800D74C0 0C034EF9 */ jal __osSiRelAccess
|
||||
/* 0D80C4 800D74C4 00000000 */ nop
|
||||
/* 0D80C8 800D74C8 10000010 */ b .L800D750C
|
||||
/* 0D80CC 800D74CC 8FA2005C */ lw $v0, 0x5c($sp)
|
||||
.L800D74D0:
|
||||
/* 0D80D0 800D74D0 24090004 */ li $t1, 4
|
||||
/* 0D80D4 800D74D4 AFA9005C */ sw $t1, 0x5c($sp)
|
||||
.L800D74D8:
|
||||
/* 0D80D8 800D74D8 8FAD005C */ lw $t5, 0x5c($sp)
|
||||
/* 0D80DC 800D74DC 24010004 */ li $at, 4
|
||||
/* 0D80E0 800D74E0 15A10007 */ bne $t5, $at, .L800D7500
|
||||
/* 0D80E4 800D74E4 00000000 */ nop
|
||||
/* 0D80E8 800D74E8 8FAE0028 */ lw $t6, 0x28($sp)
|
||||
/* 0D80EC 800D74EC 29D00000 */ slti $s0, $t6, 0
|
||||
/* 0D80F0 800D74F0 3A100001 */ xori $s0, $s0, 1
|
||||
/* 0D80F4 800D74F4 25CCFFFF */ addiu $t4, $t6, -1
|
||||
/* 0D80F8 800D74F8 1600FFA7 */ bnez $s0, .L800D7398
|
||||
/* 0D80FC 800D74FC AFAC0028 */ sw $t4, 0x28($sp)
|
||||
.L800D7500:
|
||||
/* 0D8100 800D7500 0C034EF9 */ jal __osSiRelAccess
|
||||
/* 0D8104 800D7504 00000000 */ nop
|
||||
/* 0D8108 800D7508 8FA2005C */ lw $v0, 0x5c($sp)
|
||||
.L800D750C:
|
||||
/* 0D810C 800D750C 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
/* 0D8110 800D7510 8FB00018 */ lw $s0, 0x18($sp)
|
||||
/* 0D8114 800D7514 27BD0060 */ addiu $sp, $sp, 0x60
|
||||
/* 0D8118 800D7518 03E00008 */ jr $ra
|
||||
/* 0D811C 800D751C 00000000 */ nop
|
||||
|
||||
glabel __osPackRamWriteData
|
||||
/* 0D8120 800D7520 27BDFFB8 */ addiu $sp, $sp, -0x48
|
||||
/* 0D8124 800D7524 3C0E8019 */ lui $t6, %hi(__osPfsPifRam) # $t6, 0x8019
|
||||
/* 0D8128 800D7528 25CE6590 */ addiu $t6, %lo(__osPfsPifRam) # addiu $t6, $t6, 0x6590
|
||||
/* 0D812C 800D752C AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* 0D8130 800D7530 AFA40048 */ sw $a0, 0x48($sp)
|
||||
/* 0D8134 800D7534 AFA5004C */ sw $a1, 0x4c($sp)
|
||||
/* 0D8138 800D7538 AFA60050 */ sw $a2, 0x50($sp)
|
||||
/* 0D813C 800D753C AFAE0044 */ sw $t6, 0x44($sp)
|
||||
/* 0D8140 800D7540 AFA00018 */ sw $zero, 0x18($sp)
|
||||
.L800D7544:
|
||||
/* 0D8144 800D7544 8FAF0018 */ lw $t7, 0x18($sp)
|
||||
/* 0D8148 800D7548 8FB90018 */ lw $t9, 0x18($sp)
|
||||
/* 0D814C 800D754C 3C018019 */ lui $at, %hi(__osPfsPifRam) # 0x8019
|
||||
/* 0D8150 800D7550 000FC080 */ sll $t8, $t7, 2
|
||||
/* 0D8154 800D7554 00380821 */ addu $at, $at, $t8
|
||||
/* 0D8158 800D7558 AC206590 */ sw $zero, %lo(__osPfsPifRam)($at) # 0x6590($at)
|
||||
/* 0D815C 800D755C 27280001 */ addiu $t0, $t9, 1
|
||||
/* 0D8160 800D7560 29010010 */ slti $at, $t0, 0x10
|
||||
/* 0D8164 800D7564 1420FFF7 */ bnez $at, .L800D7544
|
||||
/* 0D8168 800D7568 AFA80018 */ sw $t0, 0x18($sp)
|
||||
/* 0D816C 800D756C 24090001 */ li $t1, 1
|
||||
/* 0D8170 800D7570 3C018019 */ lui $at, 0x8019 # $at, 0x8019
|
||||
/* 0D8174 800D7574 240A00FF */ li $t2, 255
|
||||
/* 0D8178 800D7578 240B0023 */ li $t3, 35
|
||||
/* 0D817C 800D757C 240C0001 */ li $t4, 1
|
||||
/* 0D8180 800D7580 240D0003 */ li $t5, 3
|
||||
/* 0D8184 800D7584 AC2965CC */ sw $t1, 0x65cc($at)
|
||||
/* 0D8188 800D7588 A3AA001C */ sb $t2, 0x1c($sp)
|
||||
/* 0D818C 800D758C A3AB001D */ sb $t3, 0x1d($sp)
|
||||
/* 0D8190 800D7590 A3AC001E */ sb $t4, 0x1e($sp)
|
||||
/* 0D8194 800D7594 A3AD001F */ sb $t5, 0x1f($sp)
|
||||
/* 0D8198 800D7598 0C035F98 */ jal __osContAddressCrc
|
||||
/* 0D819C 800D759C 97A4004E */ lhu $a0, 0x4e($sp)
|
||||
/* 0D81A0 800D75A0 97AE004E */ lhu $t6, 0x4e($sp)
|
||||
/* 0D81A4 800D75A4 241900FF */ li $t9, 255
|
||||
/* 0D81A8 800D75A8 A3B90042 */ sb $t9, 0x42($sp)
|
||||
/* 0D81AC 800D75AC 000E7940 */ sll $t7, $t6, 5
|
||||
/* 0D81B0 800D75B0 004FC025 */ or $t8, $v0, $t7
|
||||
/* 0D81B4 800D75B4 A7B80020 */ sh $t8, 0x20($sp)
|
||||
/* 0D81B8 800D75B8 AFA00018 */ sw $zero, 0x18($sp)
|
||||
.L800D75BC:
|
||||
/* 0D81BC 800D75BC 8FA80050 */ lw $t0, 0x50($sp)
|
||||
/* 0D81C0 800D75C0 8FAA0018 */ lw $t2, 0x18($sp)
|
||||
/* 0D81C4 800D75C4 91090000 */ lbu $t1, ($t0)
|
||||
/* 0D81C8 800D75C8 03AA5821 */ addu $t3, $sp, $t2
|
||||
/* 0D81CC 800D75CC A1690022 */ sb $t1, 0x22($t3)
|
||||
/* 0D81D0 800D75D0 8FAE0018 */ lw $t6, 0x18($sp)
|
||||
/* 0D81D4 800D75D4 8FAC0050 */ lw $t4, 0x50($sp)
|
||||
/* 0D81D8 800D75D8 25CF0001 */ addiu $t7, $t6, 1
|
||||
/* 0D81DC 800D75DC 29E10020 */ slti $at, $t7, 0x20
|
||||
/* 0D81E0 800D75E0 258D0001 */ addiu $t5, $t4, 1
|
||||
/* 0D81E4 800D75E4 AFAF0018 */ sw $t7, 0x18($sp)
|
||||
/* 0D81E8 800D75E8 1420FFF4 */ bnez $at, .L800D75BC
|
||||
/* 0D81EC 800D75EC AFAD0050 */ sw $t5, 0x50($sp)
|
||||
/* 0D81F0 800D75F0 8FB80048 */ lw $t8, 0x48($sp)
|
||||
/* 0D81F4 800D75F4 1300000E */ beqz $t8, .L800D7630
|
||||
/* 0D81F8 800D75F8 00000000 */ nop
|
||||
/* 0D81FC 800D75FC 1B00000C */ blez $t8, .L800D7630
|
||||
/* 0D8200 800D7600 AFA00018 */ sw $zero, 0x18($sp)
|
||||
.L800D7604:
|
||||
/* 0D8204 800D7604 8FB90044 */ lw $t9, 0x44($sp)
|
||||
/* 0D8208 800D7608 A3200000 */ sb $zero, ($t9)
|
||||
/* 0D820C 800D760C 8FAA0018 */ lw $t2, 0x18($sp)
|
||||
/* 0D8210 800D7610 8FAC0048 */ lw $t4, 0x48($sp)
|
||||
/* 0D8214 800D7614 8FA80044 */ lw $t0, 0x44($sp)
|
||||
/* 0D8218 800D7618 254B0001 */ addiu $t3, $t2, 1
|
||||
/* 0D821C 800D761C 016C082A */ slt $at, $t3, $t4
|
||||
/* 0D8220 800D7620 25090001 */ addiu $t1, $t0, 1
|
||||
/* 0D8224 800D7624 AFAB0018 */ sw $t3, 0x18($sp)
|
||||
/* 0D8228 800D7628 1420FFF6 */ bnez $at, .L800D7604
|
||||
/* 0D822C 800D762C AFA90044 */ sw $t1, 0x44($sp)
|
||||
.L800D7630:
|
||||
/* 0D8230 800D7630 27AE001C */ addiu $t6, $sp, 0x1c
|
||||
/* 0D8234 800D7634 25D80024 */ addiu $t8, $t6, 0x24
|
||||
/* 0D8238 800D7638 8FAD0044 */ lw $t5, 0x44($sp)
|
||||
.L800D763C:
|
||||
/* 0D823C 800D763C 8DC10000 */ lw $at, ($t6)
|
||||
/* 0D8240 800D7640 25CE000C */ addiu $t6, $t6, 0xc
|
||||
/* 0D8244 800D7644 25AD000C */ addiu $t5, $t5, 0xc
|
||||
/* 0D8248 800D7648 A9A1FFF4 */ swl $at, -0xc($t5)
|
||||
/* 0D824C 800D764C B9A1FFF7 */ swr $at, -9($t5)
|
||||
/* 0D8250 800D7650 8DC1FFF8 */ lw $at, -8($t6)
|
||||
/* 0D8254 800D7654 A9A1FFF8 */ swl $at, -8($t5)
|
||||
/* 0D8258 800D7658 B9A1FFFB */ swr $at, -5($t5)
|
||||
/* 0D825C 800D765C 8DC1FFFC */ lw $at, -4($t6)
|
||||
/* 0D8260 800D7660 A9A1FFFC */ swl $at, -4($t5)
|
||||
/* 0D8264 800D7664 15D8FFF5 */ bne $t6, $t8, .L800D763C
|
||||
/* 0D8268 800D7668 B9A1FFFF */ swr $at, -1($t5)
|
||||
/* 0D826C 800D766C 8DC10000 */ lw $at, ($t6)
|
||||
/* 0D8270 800D7670 240900FE */ li $t1, 254
|
||||
/* 0D8274 800D7674 A9A10000 */ swl $at, ($t5)
|
||||
/* 0D8278 800D7678 B9A10003 */ swr $at, 3($t5)
|
||||
/* 0D827C 800D767C 8FB90044 */ lw $t9, 0x44($sp)
|
||||
/* 0D8280 800D7680 27280028 */ addiu $t0, $t9, 0x28
|
||||
/* 0D8284 800D7684 AFA80044 */ sw $t0, 0x44($sp)
|
||||
/* 0D8288 800D7688 A1090000 */ sb $t1, ($t0)
|
||||
/* 0D828C 800D768C 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 0D8290 800D7690 27BD0048 */ addiu $sp, $sp, 0x48
|
||||
/* 0D8294 800D7694 03E00008 */ jr $ra
|
||||
/* 0D8298 800D7698 00000000 */ nop
|
||||
|
||||
/* 0D829C 800D769C 00000000 */ nop
|
||||
@@ -1,132 +0,0 @@
|
||||
# assembler directives
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
.set gp=64
|
||||
|
||||
.include "macros.inc"
|
||||
|
||||
.section .text, "ax"
|
||||
|
||||
glabel func_800CE720
|
||||
/* 0CF320 800CE720 27BDFFE0 */ addiu $sp, $sp, -0x20
|
||||
/* 0CF324 800CE724 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* 0CF328 800CE728 AFA40020 */ sw $a0, 0x20($sp)
|
||||
/* 0CF32C 800CE72C AFA50024 */ sw $a1, 0x24($sp)
|
||||
/* 0CF330 800CE730 AFA60028 */ sw $a2, 0x28($sp)
|
||||
/* 0CF334 800CE734 0C034EE8 */ jal __osSiGetAccess
|
||||
/* 0CF338 800CE738 AFA0001C */ sw $zero, 0x1c($sp)
|
||||
/* 0CF33C 800CE73C 8FA40020 */ lw $a0, 0x20($sp)
|
||||
/* 0CF340 800CE740 0C0339F5 */ jal func_800CE7D4
|
||||
/* 0CF344 800CE744 8FA50028 */ lw $a1, 0x28($sp)
|
||||
/* 0CF348 800CE748 0C034EF9 */ jal __osSiRelAccess
|
||||
/* 0CF34C 800CE74C AFA2001C */ sw $v0, 0x1c($sp)
|
||||
/* 0CF350 800CE750 8FAE001C */ lw $t6, 0x1c($sp)
|
||||
/* 0CF354 800CE754 11C00003 */ beqz $t6, .L800CE764
|
||||
/* 0CF358 800CE758 00000000 */ nop
|
||||
/* 0CF35C 800CE75C 10000019 */ b .L800CE7C4
|
||||
/* 0CF360 800CE760 01C01025 */ move $v0, $t6
|
||||
.L800CE764:
|
||||
/* 0CF364 800CE764 8FAF0020 */ lw $t7, 0x20($sp)
|
||||
/* 0CF368 800CE768 8FB80024 */ lw $t8, 0x24($sp)
|
||||
/* 0CF36C 800CE76C AF0F0004 */ sw $t7, 4($t8)
|
||||
/* 0CF370 800CE770 8FA80024 */ lw $t0, 0x24($sp)
|
||||
/* 0CF374 800CE774 8FB90028 */ lw $t9, 0x28($sp)
|
||||
/* 0CF378 800CE778 AD190008 */ sw $t9, 8($t0)
|
||||
/* 0CF37C 800CE77C 8FA90024 */ lw $t1, 0x24($sp)
|
||||
/* 0CF380 800CE780 AD200000 */ sw $zero, ($t1)
|
||||
/* 0CF384 800CE784 0C0352D9 */ jal __osGetId
|
||||
/* 0CF388 800CE788 8FA40024 */ lw $a0, 0x24($sp)
|
||||
/* 0CF38C 800CE78C AFA2001C */ sw $v0, 0x1c($sp)
|
||||
/* 0CF390 800CE790 8FAA001C */ lw $t2, 0x1c($sp)
|
||||
/* 0CF394 800CE794 11400003 */ beqz $t2, .L800CE7A4
|
||||
/* 0CF398 800CE798 00000000 */ nop
|
||||
/* 0CF39C 800CE79C 10000009 */ b .L800CE7C4
|
||||
/* 0CF3A0 800CE7A0 01401025 */ move $v0, $t2
|
||||
.L800CE7A4:
|
||||
/* 0CF3A4 800CE7A4 0C035494 */ jal osPfsChecker
|
||||
/* 0CF3A8 800CE7A8 8FA40024 */ lw $a0, 0x24($sp)
|
||||
/* 0CF3AC 800CE7AC 8FAB0024 */ lw $t3, 0x24($sp)
|
||||
/* 0CF3B0 800CE7B0 AFA2001C */ sw $v0, 0x1c($sp)
|
||||
/* 0CF3B4 800CE7B4 8D6C0000 */ lw $t4, ($t3)
|
||||
/* 0CF3B8 800CE7B8 358D0001 */ ori $t5, $t4, 1
|
||||
/* 0CF3BC 800CE7BC AD6D0000 */ sw $t5, ($t3)
|
||||
/* 0CF3C0 800CE7C0 8FA2001C */ lw $v0, 0x1c($sp)
|
||||
.L800CE7C4:
|
||||
/* 0CF3C4 800CE7C4 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 0CF3C8 800CE7C8 27BD0020 */ addiu $sp, $sp, 0x20
|
||||
/* 0CF3CC 800CE7CC 03E00008 */ jr $ra
|
||||
/* 0CF3D0 800CE7D0 00000000 */ nop
|
||||
|
||||
glabel func_800CE7D4
|
||||
/* 0CF3D4 800CE7D4 27BDFFC8 */ addiu $sp, $sp, -0x38
|
||||
/* 0CF3D8 800CE7D8 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* 0CF3DC 800CE7DC AFA40038 */ sw $a0, 0x38($sp)
|
||||
/* 0CF3E0 800CE7E0 AFA5003C */ sw $a1, 0x3c($sp)
|
||||
/* 0CF3E4 800CE7E4 AFA00034 */ sw $zero, 0x34($sp)
|
||||
/* 0CF3E8 800CE7E8 0C033954 */ jal __osPfsRequestData
|
||||
/* 0CF3EC 800CE7EC 00002025 */ move $a0, $zero
|
||||
/* 0CF3F0 800CE7F0 3C058019 */ lui $a1, %hi(__osPfsPifRam) # $a1, 0x8019
|
||||
/* 0CF3F4 800CE7F4 24A56590 */ addiu $a1, %lo(__osPfsPifRam) # addiu $a1, $a1, 0x6590
|
||||
/* 0CF3F8 800CE7F8 0C034EA8 */ jal __osSiRawStartDma
|
||||
/* 0CF3FC 800CE7FC 24040001 */ li $a0, 1
|
||||
/* 0CF400 800CE800 AFA20034 */ sw $v0, 0x34($sp)
|
||||
/* 0CF404 800CE804 8FA40038 */ lw $a0, 0x38($sp)
|
||||
/* 0CF408 800CE808 27A50030 */ addiu $a1, $sp, 0x30
|
||||
/* 0CF40C 800CE80C 0C0335D4 */ jal osRecvMesg
|
||||
/* 0CF410 800CE810 24060001 */ li $a2, 1
|
||||
/* 0CF414 800CE814 3C058019 */ lui $a1, %hi(__osPfsPifRam) # $a1, 0x8019
|
||||
/* 0CF418 800CE818 24A56590 */ addiu $a1, %lo(__osPfsPifRam) # addiu $a1, $a1, 0x6590
|
||||
/* 0CF41C 800CE81C 0C034EA8 */ jal __osSiRawStartDma
|
||||
/* 0CF420 800CE820 00002025 */ move $a0, $zero
|
||||
/* 0CF424 800CE824 AFA20034 */ sw $v0, 0x34($sp)
|
||||
/* 0CF428 800CE828 8FA40038 */ lw $a0, 0x38($sp)
|
||||
/* 0CF42C 800CE82C 27A50030 */ addiu $a1, $sp, 0x30
|
||||
/* 0CF430 800CE830 0C0335D4 */ jal osRecvMesg
|
||||
/* 0CF434 800CE834 24060001 */ li $a2, 1
|
||||
/* 0CF438 800CE838 27A4002F */ addiu $a0, $sp, 0x2f
|
||||
/* 0CF43C 800CE83C 0C033993 */ jal __osPfsGetInitData
|
||||
/* 0CF440 800CE840 27A5001C */ addiu $a1, $sp, 0x1c
|
||||
/* 0CF444 800CE844 8FAE003C */ lw $t6, 0x3c($sp)
|
||||
/* 0CF448 800CE848 000E7880 */ sll $t7, $t6, 2
|
||||
/* 0CF44C 800CE84C 03AFC021 */ addu $t8, $sp, $t7
|
||||
/* 0CF450 800CE850 9318001E */ lbu $t8, 0x1e($t8)
|
||||
/* 0CF454 800CE854 33190001 */ andi $t9, $t8, 1
|
||||
/* 0CF458 800CE858 13200006 */ beqz $t9, .L800CE874
|
||||
/* 0CF45C 800CE85C 00000000 */ nop
|
||||
/* 0CF460 800CE860 33080002 */ andi $t0, $t8, 2
|
||||
/* 0CF464 800CE864 11000003 */ beqz $t0, .L800CE874
|
||||
/* 0CF468 800CE868 00000000 */ nop
|
||||
/* 0CF46C 800CE86C 10000018 */ b .L800CE8D0
|
||||
/* 0CF470 800CE870 24020002 */ li $v0, 2
|
||||
.L800CE874:
|
||||
/* 0CF474 800CE874 8FA9003C */ lw $t1, 0x3c($sp)
|
||||
/* 0CF478 800CE878 27AB001C */ addiu $t3, $sp, 0x1c
|
||||
/* 0CF47C 800CE87C 00095080 */ sll $t2, $t1, 2
|
||||
/* 0CF480 800CE880 014B6021 */ addu $t4, $t2, $t3
|
||||
/* 0CF484 800CE884 918D0003 */ lbu $t5, 3($t4)
|
||||
/* 0CF488 800CE888 15A00005 */ bnez $t5, .L800CE8A0
|
||||
/* 0CF48C 800CE88C 00000000 */ nop
|
||||
/* 0CF490 800CE890 918E0002 */ lbu $t6, 2($t4)
|
||||
/* 0CF494 800CE894 31CF0001 */ andi $t7, $t6, 1
|
||||
/* 0CF498 800CE898 15E00003 */ bnez $t7, .L800CE8A8
|
||||
/* 0CF49C 800CE89C 00000000 */ nop
|
||||
.L800CE8A0:
|
||||
/* 0CF4A0 800CE8A0 1000000B */ b .L800CE8D0
|
||||
/* 0CF4A4 800CE8A4 24020001 */ li $v0, 1
|
||||
.L800CE8A8:
|
||||
/* 0CF4A8 800CE8A8 8FB9003C */ lw $t9, 0x3c($sp)
|
||||
/* 0CF4AC 800CE8AC 0019C080 */ sll $t8, $t9, 2
|
||||
/* 0CF4B0 800CE8B0 03B84021 */ addu $t0, $sp, $t8
|
||||
/* 0CF4B4 800CE8B4 9108001E */ lbu $t0, 0x1e($t0)
|
||||
/* 0CF4B8 800CE8B8 31090004 */ andi $t1, $t0, 4
|
||||
/* 0CF4BC 800CE8BC 11200003 */ beqz $t1, .L800CE8CC
|
||||
/* 0CF4C0 800CE8C0 00000000 */ nop
|
||||
/* 0CF4C4 800CE8C4 10000002 */ b .L800CE8D0
|
||||
/* 0CF4C8 800CE8C8 24020004 */ li $v0, 4
|
||||
.L800CE8CC:
|
||||
/* 0CF4CC 800CE8CC 8FA20034 */ lw $v0, 0x34($sp)
|
||||
.L800CE8D0:
|
||||
/* 0CF4D0 800CE8D0 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 0CF4D4 800CE8D4 27BD0038 */ addiu $sp, $sp, 0x38
|
||||
/* 0CF4D8 800CE8D8 03E00008 */ jr $ra
|
||||
/* 0CF4DC 800CE8DC 00000000 */ nop
|
||||
@@ -1,37 +0,0 @@
|
||||
# assembler directives
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
.set gp=64
|
||||
|
||||
.include "macros.inc"
|
||||
|
||||
.section .text, "ax"
|
||||
|
||||
glabel osSyncPrintf
|
||||
/* 0D0360 800CF760 AFA40000 */ sw $a0, ($sp)
|
||||
/* 0D0364 800CF764 AFA50004 */ sw $a1, 4($sp)
|
||||
/* 0D0368 800CF768 AFA60008 */ sw $a2, 8($sp)
|
||||
/* 0D036C 800CF76C 03E00008 */ jr $ra
|
||||
/* 0D0370 800CF770 24020001 */ li $v0, 1
|
||||
|
||||
glabel func_800CF774
|
||||
/* 0D0374 800CF774 27BDFFE0 */ addiu $sp, $sp, -0x20
|
||||
/* 0D0378 800CF778 AFA40020 */ sw $a0, 0x20($sp)
|
||||
/* 0D037C 800CF77C AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* 0D0380 800CF780 AFA50024 */ sw $a1, 0x24($sp)
|
||||
/* 0D0384 800CF784 AFA60028 */ sw $a2, 0x28($sp)
|
||||
/* 0D0388 800CF788 AFA7002C */ sw $a3, 0x2c($sp)
|
||||
/* 0D038C 800CF78C 3C04800D */ lui $a0, %hi(osSyncPrintf) # $a0, 0x800d
|
||||
/* 0D0390 800CF790 2484F760 */ addiu $a0, %lo(osSyncPrintf) # addiu $a0, $a0, -0x8a0
|
||||
/* 0D0394 800CF794 27A70024 */ addiu $a3, $sp, 0x24
|
||||
/* 0D0398 800CF798 8FA60020 */ lw $a2, 0x20($sp)
|
||||
/* 0D039C 800CF79C 0C035AA4 */ jal _Printf
|
||||
/* 0D03A0 800CF7A0 00002825 */ move $a1, $zero
|
||||
/* 0D03A4 800CF7A4 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 0D03A8 800CF7A8 27BD0020 */ addiu $sp, $sp, 0x20
|
||||
/* 0D03AC 800CF7AC 03E00008 */ jr $ra
|
||||
/* 0D03B0 800CF7B0 00000000 */ nop
|
||||
|
||||
/* 0D03B4 800CF7B4 00000000 */ nop
|
||||
/* 0D03B8 800CF7B8 00000000 */ nop
|
||||
/* 0D03BC 800CF7BC 00000000 */ nop
|
||||
@@ -131,7 +131,7 @@ SECTIONS
|
||||
BUILD_DIR/src/os/osSetTime.o(.text);
|
||||
BUILD_DIR/src/os/osEepromProbe.o(.text);
|
||||
BUILD_DIR/src/os/osPfsIsPlug.o(.text);
|
||||
BUILD_DIR/asm/os/non_matchings/func_800CE720.o(.text);
|
||||
BUILD_DIR/src/os/osPfsInit.o(.text);
|
||||
BUILD_DIR/src/os/osPfsNumFiles.o(.text);
|
||||
BUILD_DIR/src/os/osPfsFileState.o(.text);
|
||||
BUILD_DIR/src/os/osPfsFreeBlocks.o(.text);
|
||||
@@ -140,7 +140,7 @@ SECTIONS
|
||||
BUILD_DIR/src/os/guPerspectiveF.o(.text);
|
||||
BUILD_DIR/src/os/guLookAtF.o(.text);
|
||||
BUILD_DIR/src/os/guTranslateF.o(.text);
|
||||
BUILD_DIR/asm/os/non_matchings/osSyncPrintf.o(.text);
|
||||
BUILD_DIR/src/os/osSyncPrintf.o(.text);
|
||||
BUILD_DIR/src/os/guMtxCatL.o(.text);
|
||||
BUILD_DIR/src/os/osPfsSearchFile.o(.text);
|
||||
BUILD_DIR/src/os/osPfsDeleteFile.o(.text);
|
||||
@@ -191,13 +191,13 @@ SECTIONS
|
||||
BUILD_DIR/src/os/osEepromWrite.o(.text);
|
||||
BUILD_DIR/src/os/contpfs.o(.text);
|
||||
BUILD_DIR/src/os/osPfsChecker.o(.text);
|
||||
BUILD_DIR/asm/os/non_matchings/contramread.o(.text);
|
||||
BUILD_DIR/src/os/contramread.o(.text);
|
||||
BUILD_DIR/src/os/guNormalize.o(.text);
|
||||
BUILD_DIR/src/os/math/sinf.o(.text);
|
||||
BUILD_DIR/src/os/math/cosf.o(.text);
|
||||
BUILD_DIR/src/os/_Printf.o(.text);
|
||||
BUILD_DIR/src/os/guMtxCatF.o(.text);
|
||||
BUILD_DIR/asm/os/non_matchings/contramwrite.o(.text);
|
||||
BUILD_DIR/src/os/contramwrite.o(.text);
|
||||
BUILD_DIR/src/os/osEepromRead.o(.text);
|
||||
BUILD_DIR/src/os/__osAiDeviceBusy.o(.text);
|
||||
BUILD_DIR/asm/os/osSetIntMask.o(.text);
|
||||
|
||||
+7
-7
@@ -318,7 +318,7 @@ GLOBAL_ASM("asm/non_matchings/code_80091750/func_80091B78.s")
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
||||
s32 func_800CE720(OSMesgQueue *, OSPfs *, ?); // extern
|
||||
s32 osPfsInit(OSMesgQueue *, OSPfs *, ?); // extern
|
||||
extern OSPfs D_8018E868;
|
||||
extern ? D_8018E938;
|
||||
extern ? D_8018EB38;
|
||||
@@ -347,7 +347,7 @@ extern OSMesgQueue gSIEventMesgQueue;
|
||||
}
|
||||
osPfsIsPlug(&gSIEventMesgQueue, &sp67);
|
||||
if ((sp67 & 1) != 0) {
|
||||
if (func_800CE720(&gSIEventMesgQueue, &D_8018E868, 0) != 0) {
|
||||
if (osPfsInit(&gSIEventMesgQueue, &D_8018E868, 0) != 0) {
|
||||
return 0;
|
||||
}
|
||||
phi_s0 = 0;
|
||||
@@ -2010,7 +2010,7 @@ GLOBAL_ASM("asm/non_matchings/code_80091750/func_80095AE0.s")
|
||||
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
||||
void *func_800959F8(void *, ? *, void *, s32); // extern
|
||||
? func_80095AE0(void *, s32, s32, s32, f32); // extern
|
||||
? func_800CF774(? *); // extern
|
||||
? rmonPrintf(? *); // extern
|
||||
extern ? D_02007BB8;
|
||||
extern ? D_02007CD8;
|
||||
extern ? D_02007DF8;
|
||||
@@ -2036,7 +2036,7 @@ void *func_80095BD0(void *arg0, s32 arg1, s32 arg2, s32 arg3, u32 arg4, s32 arg5
|
||||
if (temp_v0 < 0x2F7) {
|
||||
sp28 = gGfxPool + (temp_v0 << 6) + 0xFAC0;
|
||||
if (temp_v0 < 0) {
|
||||
func_800CF774(&D_800F0BCC);
|
||||
rmonPrintf(&D_800F0BCC);
|
||||
}
|
||||
func_80095AE0(sp28, arg2, arg3, arg6, arg7);
|
||||
arg0->unk0 = 0x1020040;
|
||||
@@ -2080,7 +2080,7 @@ void *func_80095BD0(void *arg0, s32 arg1, s32 arg2, s32 arg3, u32 arg4, s32 arg5
|
||||
}
|
||||
return func_800959F8(temp_s0 + 8, phi_a1, temp_s0, temp_a3);
|
||||
}
|
||||
func_800CF774(&D_800F0BEC);
|
||||
rmonPrintf(&D_800F0BEC);
|
||||
return arg0;
|
||||
}
|
||||
#else
|
||||
@@ -14323,7 +14323,7 @@ GLOBAL_ASM("asm/non_matchings/code_80091750/func_800AA280.s")
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909
|
||||
s32 check_for_controller_pak(?); /* extern */
|
||||
s32 func_800CE720(? *, ? *, ?); /* extern */
|
||||
s32 osPfsInit(? *, ? *, ?); /* extern */
|
||||
s32 osPfsFindFile(? *, u16, s32, ? *, ? *, ? *); /* extern */
|
||||
s32 osPfsFreeBlocks(? *, s32 *); /* extern */
|
||||
s32 osPfsNumFiles(? *, s32 *, s32 *); /* extern */
|
||||
@@ -14380,7 +14380,7 @@ block_12:
|
||||
arg0->unk4 = 2;
|
||||
return;
|
||||
}
|
||||
temp_v0_3 = func_800CE720(&gSIEventMesgQueue, &D_8018E868, 0);
|
||||
temp_v0_3 = osPfsInit(&gSIEventMesgQueue, &D_8018E868, 0);
|
||||
if (temp_v0_3 != 0) {
|
||||
if (temp_v0_3 != 1) {
|
||||
if (temp_v0_3 != 4) {
|
||||
|
||||
+12
-12
@@ -2630,7 +2630,7 @@ s32 func_800B4520(void) {
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by mips_to_c commit cc33060578851a93591ed035e96ffd1f15c765f1
|
||||
? func_800CF774(? *, s32); /* extern */
|
||||
? rmonPrintf(? *, s32); /* extern */
|
||||
extern ? D_800F2BE8;
|
||||
extern ? D_800F2BF8;
|
||||
extern ? D_800F2C0C;
|
||||
@@ -2643,9 +2643,9 @@ UNUSED void func_800B4560(s32 arg0, s32 arg1) {
|
||||
s32 sp18;
|
||||
|
||||
sp18 = D_8018D9C0;
|
||||
func_800CF774(&D_800F2BE8, D_80162DE0);
|
||||
func_800CF774(&D_800F2BF8, (s32) *(&D_8018EE16 + (arg0 << 7)));
|
||||
func_800CF774(&D_800F2C0C, (s32) ((arg1 << 7) + sp18)->unk6);
|
||||
rmonPrintf(&D_800F2BE8, D_80162DE0);
|
||||
rmonPrintf(&D_800F2BF8, (s32) *(&D_8018EE16 + (arg0 << 7)));
|
||||
rmonPrintf(&D_800F2C0C, (s32) ((arg1 << 7) + sp18)->unk6);
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/code_800AF9B0/func_800B4560.s")
|
||||
@@ -3467,7 +3467,7 @@ s32 check_for_controller_pak(s32 controller) {
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
||||
s32 check_for_controller_pak(s32); // extern
|
||||
s32 func_800CE720(? *, OSPfs *, ?); // extern
|
||||
s32 osPfsInit(? *, OSPfs *, ?); // extern
|
||||
extern u16 D_800E86F0;
|
||||
extern u32 D_800E86F4;
|
||||
extern s8 D_800E86F8;
|
||||
@@ -3512,7 +3512,7 @@ block_9:
|
||||
if (check_for_controller_pak(0) == 0) {
|
||||
return 1;
|
||||
}
|
||||
temp_v0_3 = func_800CE720(&gSIEventMesgQueue, &D_8018E868, 0);
|
||||
temp_v0_3 = osPfsInit(&gSIEventMesgQueue, &D_8018E868, 0);
|
||||
if (temp_v0_3 != 0) {
|
||||
if (temp_v0_3 != 1) {
|
||||
if (temp_v0_3 != 4) {
|
||||
@@ -3560,7 +3560,7 @@ GLOBAL_ASM("asm/non_matchings/code_800AF9B0/func_800B5B94.s")
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
||||
s32 check_for_controller_pak(?); // extern
|
||||
s32 func_800CE720(? *, OSPfs *, ?); // extern
|
||||
s32 osPfsInit(? *, OSPfs *, ?); // extern
|
||||
extern u16 D_800E86F0;
|
||||
extern u32 D_800E86F4;
|
||||
extern s8 D_800E86FC;
|
||||
@@ -3602,7 +3602,7 @@ block_8:
|
||||
if (check_for_controller_pak(1) == 0) {
|
||||
return 1;
|
||||
}
|
||||
temp_v0_3 = func_800CE720(&gSIEventMesgQueue, &D_8018E8D0, 1);
|
||||
temp_v0_3 = osPfsInit(&gSIEventMesgQueue, &D_8018E8D0, 1);
|
||||
if (temp_v0_3 != 0) {
|
||||
if (temp_v0_3 != 1) {
|
||||
if (temp_v0_3 != 4) {
|
||||
@@ -3649,7 +3649,7 @@ s32 func_800B5F30(void) {
|
||||
return -4;
|
||||
}
|
||||
if (check_for_controller_pak(0) != 0) {
|
||||
sp1C = func_800CE720(&gSIEventMesgQueue, &D_8018E868, 0);
|
||||
sp1C = osPfsInit(&gSIEventMesgQueue, &D_8018E868, 0);
|
||||
if (osPfsNumFiles(&D_8018E868, &D_8018EB78, &D_8018EB7C) != 0) {
|
||||
D_800E86F8 = 0;
|
||||
return -2;
|
||||
@@ -3674,7 +3674,7 @@ s32 func_800B6014(void) {
|
||||
return -4;
|
||||
}
|
||||
if (check_for_controller_pak(1) != 0) {
|
||||
temp_v0 = func_800CE720(&gSIEventMesgQueue, &D_8018E8D0, 1);
|
||||
temp_v0 = osPfsInit(&gSIEventMesgQueue, &D_8018E8D0, 1);
|
||||
if (temp_v0 == 0) {
|
||||
D_800E86FC = 1;
|
||||
}
|
||||
@@ -4116,7 +4116,7 @@ s32 func_800B6A68(void) {
|
||||
//generated by mips_to_c commit cc33060578851a93591ed035e96ffd1f15c765f1
|
||||
s32 check_for_controller_pak(?); /* extern */
|
||||
? func_800B6A68(); /* extern */
|
||||
s32 func_800CE720(? *, ? *, ?); /* extern */
|
||||
s32 osPfsInit(? *, ? *, ?); /* extern */
|
||||
s32 osPfsFindFile(? *, u16, s32, ? *, ? *, ? *); /* extern */
|
||||
s32 osPfsFreeBlocks(? *, s32 *); /* extern */
|
||||
s32 osPfsNumFiles(? *, s32 *, s32 *); /* extern */
|
||||
@@ -4135,7 +4135,7 @@ extern ? gSIEventMesgQueue;
|
||||
UNUSED void func_800B6AF8(void) {
|
||||
s32 temp_t1;
|
||||
|
||||
if ((check_for_controller_pak(0) != 0) && (func_800CE720(&gSIEventMesgQueue, &D_8018E868, 0) == 0) && (osPfsFindFile(&D_8018E868, D_800E86F0, D_800E86F4, &D_800F2E64, &D_800F2E74, &D_8018EB84) != 0) && (osPfsNumFiles(&D_8018E868, &D_8018EB78, &D_8018EB7C) == 0) && (D_8018EB7C < D_8018EB78) && (osPfsFreeBlocks(&D_8018E868, &gControllerPakNumPagesFree) == 0)) {
|
||||
if ((check_for_controller_pak(0) != 0) && (osPfsInit(&gSIEventMesgQueue, &D_8018E868, 0) == 0) && (osPfsFindFile(&D_8018E868, D_800E86F0, D_800E86F4, &D_800F2E64, &D_800F2E74, &D_8018EB84) != 0) && (osPfsNumFiles(&D_8018E868, &D_8018EB78, &D_8018EB7C) == 0) && (D_8018EB7C < D_8018EB78) && (osPfsFreeBlocks(&D_8018E868, &gControllerPakNumPagesFree) == 0)) {
|
||||
temp_t1 = (s32) gControllerPakNumPagesFree >> 8;
|
||||
gControllerPakNumPagesFree = temp_t1;
|
||||
if (temp_t1 >= 0x79) {
|
||||
|
||||
+1
-1
@@ -77,7 +77,7 @@ void func_800CA330(s32);
|
||||
void func_800CA388(s32);
|
||||
|
||||
// os
|
||||
s32 func_800CE720(OSMesgQueue*, OSPfs*, s32);
|
||||
s32 osPfsInit(OSMesgQueue*, OSPfs*, s32);
|
||||
|
||||
// memory.c
|
||||
u32 func_802A7B70(u16);
|
||||
|
||||
+7
-12
@@ -2,11 +2,9 @@
|
||||
#include "PR/rcp.h"
|
||||
#include "controller.h"
|
||||
|
||||
extern s32 func_800CE7D4(OSMesgQueue *, s32);
|
||||
extern s32 __osPfsGetStatus(OSMesgQueue *, s32);
|
||||
void __osPackRamReadData(int channel, u16 address);
|
||||
|
||||
//u32 D_801965CC;
|
||||
|
||||
s32 __osContRamRead(OSMesgQueue *mq, int channel, u16 address, u8 *buffer) {
|
||||
s32 ret;
|
||||
int i;
|
||||
@@ -21,11 +19,12 @@ s32 __osContRamRead(OSMesgQueue *mq, int channel, u16 address, u8 *buffer) {
|
||||
__osPackRamReadData(channel, address);
|
||||
ret = __osSiRawStartDma(OS_WRITE, &__osPfsPifRam);
|
||||
osRecvMesg(mq, NULL, OS_MESG_BLOCK);
|
||||
for (i = 0; i < 16; i++) {
|
||||
__osPfsPifRam.ramarray[i] = 0xFF;
|
||||
}
|
||||
do {
|
||||
//D_801965CC = 0;
|
||||
|
||||
for (i = 0; i < 16; i++) {
|
||||
__osPfsPifRam.ramarray[i] = 0xFF;
|
||||
}
|
||||
__osPfsPifRam.pifstatus = 0;
|
||||
ret = __osSiRawStartDma(OS_READ, &__osPfsPifRam);
|
||||
osRecvMesg(mq, NULL, OS_MESG_BLOCK);
|
||||
ptr = (u8 *)&__osPfsPifRam;
|
||||
@@ -40,7 +39,7 @@ s32 __osContRamRead(OSMesgQueue *mq, int channel, u16 address, u8 *buffer) {
|
||||
u8 c;
|
||||
c = __osContDataCrc((u8*)&ramreadformat.data);
|
||||
if (c != ramreadformat.datacrc) {
|
||||
ret = func_800CE7D4(mq, channel);
|
||||
ret = __osPfsGetStatus(mq, channel);
|
||||
if (ret != 0) {
|
||||
__osSiRelAccess();
|
||||
return ret;
|
||||
@@ -52,10 +51,6 @@ s32 __osContRamRead(OSMesgQueue *mq, int channel, u16 address, u8 *buffer) {
|
||||
}
|
||||
}
|
||||
}
|
||||
// diff here somewhere
|
||||
else {
|
||||
ret = 1/* PFS_ERR_NOPACK */;
|
||||
}
|
||||
if (ret != PFS_ERR_CONTRFAIL) {
|
||||
break;
|
||||
}
|
||||
|
||||
+6
-10
@@ -2,9 +2,8 @@
|
||||
#include "PR/rcp.h"
|
||||
#include "controller.h"
|
||||
|
||||
extern s32 func_800CE7D4(OSMesgQueue *, s32);
|
||||
extern s32 __osPfsGetStatus(OSMesgQueue *, s32);
|
||||
void __osPackRamWriteData(int channel, u16 address, u8 *buffer);
|
||||
//extern u32 D_801965CC;
|
||||
|
||||
s32 __osContRamWrite(OSMesgQueue *mq, int channel, u16 address, u8 *buffer, int force) {
|
||||
s32 ret;
|
||||
@@ -24,11 +23,11 @@ s32 __osContRamWrite(OSMesgQueue *mq, int channel, u16 address, u8 *buffer, int
|
||||
__osPackRamWriteData(channel, address, buffer);
|
||||
ret = __osSiRawStartDma(OS_WRITE, &__osPfsPifRam);
|
||||
osRecvMesg(mq, NULL, OS_MESG_BLOCK);
|
||||
for (i = 0; i < 16; i++) {
|
||||
__osPfsPifRam.ramarray[i] = 0xFF;
|
||||
}
|
||||
do {
|
||||
//D_801965CC = 0;
|
||||
for (i = 0; i < 16; i++) {
|
||||
__osPfsPifRam.ramarray[i] = 0xFF;
|
||||
}
|
||||
__osPfsPifRam.pifstatus = 0;
|
||||
ret = __osSiRawStartDma(OS_READ, &__osPfsPifRam);
|
||||
osRecvMesg(mq, NULL, OS_MESG_BLOCK);
|
||||
ptr = (u8 *)&__osPfsPifRam;
|
||||
@@ -43,16 +42,13 @@ s32 __osContRamWrite(OSMesgQueue *mq, int channel, u16 address, u8 *buffer, int
|
||||
ret = CHNL_ERR(ramreadformat);
|
||||
if (ret == 0) {
|
||||
if (__osContDataCrc(buffer) != ramreadformat.datacrc) {
|
||||
ret = func_800CE7D4(mq, channel);
|
||||
ret = __osPfsGetStatus(mq, channel);
|
||||
if (ret != 0) {
|
||||
__osSiRelAccess();
|
||||
return ret;
|
||||
}
|
||||
ret = PFS_ERR_CONTRFAIL;
|
||||
}
|
||||
// same diff as contramread
|
||||
} else {
|
||||
ret = PFS_ERR_NOPACK;
|
||||
}
|
||||
if (ret != PFS_ERR_CONTRFAIL) {
|
||||
break;
|
||||
|
||||
@@ -0,0 +1,49 @@
|
||||
#include "libultra_internal.h"
|
||||
#include "controller.h"
|
||||
|
||||
// osPfsInit
|
||||
s32 osPfsInit(OSMesgQueue *queue, OSPfs *pfs, int channel)
|
||||
{
|
||||
s32 ret;
|
||||
ret = 0;
|
||||
|
||||
__osSiGetAccess();
|
||||
ret = __osPfsGetStatus(queue, channel);
|
||||
__osSiRelAccess();
|
||||
if (ret != 0)
|
||||
return ret;
|
||||
|
||||
pfs->queue = queue;
|
||||
pfs->channel = channel;
|
||||
pfs->status = 0;
|
||||
ERRCK(__osGetId(pfs));
|
||||
|
||||
ret = osPfsChecker(pfs);
|
||||
pfs->status |= PFS_INITIALIZED;
|
||||
return ret;
|
||||
}
|
||||
|
||||
// __osPfsGetStatus
|
||||
s32 __osPfsGetStatus(OSMesgQueue *queue, int channel)
|
||||
{
|
||||
s32 ret;
|
||||
OSMesg dummy;
|
||||
u8 pattern;
|
||||
OSContStatus data[MAXCONTROLLERS];
|
||||
|
||||
ret = 0;
|
||||
__osPfsRequestData(0);
|
||||
ret = __osSiRawStartDma(OS_WRITE, &__osPfsPifRam);
|
||||
osRecvMesg(queue, &dummy, OS_MESG_BLOCK);
|
||||
ret = __osSiRawStartDma(OS_READ, &__osPfsPifRam);
|
||||
osRecvMesg(queue, &dummy, OS_MESG_BLOCK);
|
||||
__osPfsGetInitData(&pattern, &data);
|
||||
|
||||
if (((data[channel].status & CONT_CARD_ON) != 0) && ((data[channel].status & CONT_CARD_PULL) != 0))
|
||||
return PFS_ERR_NEW_PACK;
|
||||
if ((data[channel].errno != 0) || ((data[channel].status & CONT_CARD_ON) == 0))
|
||||
return PFS_ERR_NOPACK;
|
||||
if ((data[channel].status & CONT_ADDR_CRC_ER) != 0)
|
||||
return PFS_ERR_CONTRFAIL;
|
||||
return ret;
|
||||
}
|
||||
@@ -1,14 +1,14 @@
|
||||
#include "libultra_internal.h"
|
||||
#include "libc/stdarg.h"
|
||||
|
||||
// neither function matches
|
||||
|
||||
void osSyncPrintf(const char *fmt, ...) {
|
||||
if (1);
|
||||
char *osSyncPrintf(char *arg0, const char *arg1, size_t size) {
|
||||
// ifdef'd formatting code?
|
||||
return (1);
|
||||
}
|
||||
|
||||
void func_800CF774(const char *fmt, ...) {
|
||||
va_list args;
|
||||
|
||||
_Printf(osSyncPrintf, 0, fmt, &args);
|
||||
void rmonPrintf(const char *fmt, ...) {
|
||||
va_list args;
|
||||
va_start(args, fmt);
|
||||
_Printf(osSyncPrintf, NULL, fmt, args);
|
||||
va_end(args);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user