1
0
mirror of https://github.com/zeldaret/oot.git synced 2024-09-21 21:04:43 +00:00
oot/asm/non_matchings/code/sched/func_800C9018.s
Lucas Shaw 21750d5aee
Naming some functions in libultra_code, decompiling a decent amount. (#77)
* osgetactivequeue ok

* osspdevicebusy ok

* osGetCurrFaultedThread ok

* osSpRawStartDma OK

* __osSpSetPc and osViGetCurrentFramebuffer OK

* sinf, sins, and sptask OK

* coss OK

* cosf OK

* ran format.sh

* Updated PR to use ultratypes

* osContStartQuery OK

* ran format.sh

* Updated PR to fix issues

* Made suggested changes
2020-04-18 21:40:27 -04:00

129 lines
5.7 KiB
ArmAsm

.rdata
glabel D_801460B0
.asciz "%08d:scHandleRetrace %08x\n"
.balign 4
glabel D_801460CC
.asciz "%08x %08x %08x %d\n"
.balign 4
.text
glabel func_800C9018
/* B401B8 800C9018 27BDFFA8 */ addiu $sp, $sp, -0x58
/* B401BC 800C901C 3C0E8013 */ lui $t6, %hi(D_8012D290) # $t6, 0x8013
/* B401C0 800C9020 AFBF0024 */ sw $ra, 0x24($sp)
/* B401C4 800C9024 AFB00020 */ sw $s0, 0x20($sp)
/* B401C8 800C9028 25CED290 */ addiu $t6, %lo(D_8012D290) # addiu $t6, $t6, -0x2d70
/* B401CC 800C902C 8DCF0000 */ lw $t7, ($t6)
/* B401D0 800C9030 00808025 */ move $s0, $a0
/* B401D4 800C9034 11E00015 */ beqz $t7, .L800C908C
/* B401D8 800C9038 00000000 */ nop
/* B401DC 800C903C 0C001A78 */ jal osGetTime
/* B401E0 800C9040 00000000 */ nop
/* B401E4 800C9044 00402025 */ move $a0, $v0
/* B401E8 800C9048 00602825 */ move $a1, $v1
/* B401EC 800C904C 24060000 */ li $a2, 0
/* B401F0 800C9050 0C000E1E */ jal __ll_mul
/* B401F4 800C9054 24070040 */ li $a3, 64
/* B401F8 800C9058 00402025 */ move $a0, $v0
/* B401FC 800C905C 00602825 */ move $a1, $v1
/* B40200 800C9060 24060000 */ li $a2, 0
/* B40204 800C9064 0C000DDE */ jal __ull_div
/* B40208 800C9068 24070BB8 */ li $a3, 3000
/* B4020C 800C906C AFA20048 */ sw $v0, 0x48($sp)
/* B40210 800C9070 0C0419D8 */ jal osViGetCurrentFramebuffer
/* B40214 800C9074 AFA3004C */ sw $v1, 0x4c($sp)
/* B40218 800C9078 3C048014 */ lui $a0, %hi(D_801460B0) # $a0, 0x8014
/* B4021C 800C907C 248460B0 */ addiu $a0, %lo(D_801460B0) # addiu $a0, $a0, 0x60b0
/* B40220 800C9080 8FA5004C */ lw $a1, 0x4c($sp)
/* B40224 800C9084 0C00084C */ jal osSyncPrintf
/* B40228 800C9088 00403025 */ move $a2, $v0
.L800C908C:
/* B4022C 800C908C 0C0002D2 */ jal ViConfig_UpdateBlack
/* B40230 800C9090 00000000 */ nop
/* B40234 800C9094 8E090238 */ lw $t1, 0x238($s0)
/* B40238 800C9098 252A0001 */ addiu $t2, $t1, 1
/* B4023C 800C909C 0C0419D8 */ jal osViGetCurrentFramebuffer
/* B40240 800C90A0 AE0A0238 */ sw $t2, 0x238($s0)
/* B40244 800C90A4 8E050244 */ lw $a1, 0x244($s0)
/* B40248 800C90A8 00004025 */ move $t0, $zero
/* B4024C 800C90AC 10A00003 */ beqz $a1, .L800C90BC
/* B40250 800C90B0 00000000 */ nop
/* B40254 800C90B4 10000001 */ b .L800C90BC
/* B40258 800C90B8 8CA80004 */ lw $t0, 4($a1)
.L800C90BC:
/* B4025C 800C90BC 5502000F */ bnel $t0, $v0, .L800C90FC
/* B40260 800C90C0 8E020240 */ lw $v0, 0x240($s0)
/* B40264 800C90C4 8E020240 */ lw $v0, 0x240($s0)
/* B40268 800C90C8 10400003 */ beqz $v0, .L800C90D8
/* B4026C 800C90CC 00000000 */ nop
/* B40270 800C90D0 A0400010 */ sb $zero, 0x10($v0)
/* B40274 800C90D4 8E050244 */ lw $a1, 0x244($s0)
.L800C90D8:
/* B40278 800C90D8 50A00004 */ beql $a1, $zero, .L800C90EC
/* B4027C 800C90DC 8E0B0248 */ lw $t3, 0x248($s0)
/* B40280 800C90E0 A0A00010 */ sb $zero, 0x10($a1)
/* B40284 800C90E4 8E050244 */ lw $a1, 0x244($s0)
/* B40288 800C90E8 8E0B0248 */ lw $t3, 0x248($s0)
.L800C90EC:
/* B4028C 800C90EC AE050240 */ sw $a1, 0x240($s0)
/* B40290 800C90F0 AE000248 */ sw $zero, 0x248($s0)
/* B40294 800C90F4 AE0B0244 */ sw $t3, 0x244($s0)
/* B40298 800C90F8 8E020240 */ lw $v0, 0x240($s0)
.L800C90FC:
/* B4029C 800C90FC 1040000E */ beqz $v0, .L800C9138
/* B402A0 800C9100 00000000 */ nop
/* B402A4 800C9104 80430012 */ lb $v1, 0x12($v0)
/* B402A8 800C9108 18600004 */ blez $v1, .L800C911C
/* B402AC 800C910C 246CFFFF */ addiu $t4, $v1, -1
/* B402B0 800C9110 A04C0012 */ sb $t4, 0x12($v0)
/* B402B4 800C9114 8E0D0240 */ lw $t5, 0x240($s0)
/* B402B8 800C9118 81A30012 */ lb $v1, 0x12($t5)
.L800C911C:
/* B402BC 800C911C 1C600006 */ bgtz $v1, .L800C9138
/* B402C0 800C9120 00000000 */ nop
/* B402C4 800C9124 8E050244 */ lw $a1, 0x244($s0)
/* B402C8 800C9128 10A00003 */ beqz $a1, .L800C9138
/* B402CC 800C912C 00000000 */ nop
/* B402D0 800C9130 0C032139 */ jal func_800C84E4
/* B402D4 800C9134 02002025 */ move $a0, $s0
.L800C9138:
/* B402D8 800C9138 3C0E8013 */ lui $t6, %hi(D_8012D290) # $t6, 0x8013
/* B402DC 800C913C 25CED290 */ addiu $t6, %lo(D_8012D290) # addiu $t6, $t6, -0x2d70
/* B402E0 800C9140 8DCF0000 */ lw $t7, ($t6)
/* B402E4 800C9144 11E00016 */ beqz $t7, .L800C91A0
/* B402E8 800C9148 00000000 */ nop
/* B402EC 800C914C 0C0419D8 */ jal osViGetCurrentFramebuffer
/* B402F0 800C9150 00000000 */ nop
/* B402F4 800C9154 0C0011D0 */ jal osViGetNextFramebuffer
/* B402F8 800C9158 AFA2002C */ sw $v0, 0x2c($sp)
/* B402FC 800C915C 8E050244 */ lw $a1, 0x244($s0)
/* B40300 800C9160 3C048014 */ lui $a0, %hi(D_801460CC) # $a0, 0x8014
/* B40304 800C9164 248460CC */ addiu $a0, %lo(D_801460CC) # addiu $a0, $a0, 0x60cc
/* B40308 800C9168 10A00003 */ beqz $a1, .L800C9178
/* B4030C 800C916C 00403025 */ move $a2, $v0
/* B40310 800C9170 10000002 */ b .L800C917C
/* B40314 800C9174 8CA70004 */ lw $a3, 4($a1)
.L800C9178:
/* B40318 800C9178 00003825 */ move $a3, $zero
.L800C917C:
/* B4031C 800C917C 8E020240 */ lw $v0, 0x240($s0)
/* B40320 800C9180 8FA5002C */ lw $a1, 0x2c($sp)
/* B40324 800C9184 00004025 */ move $t0, $zero
/* B40328 800C9188 10400003 */ beqz $v0, .L800C9198
/* B4032C 800C918C 00000000 */ nop
/* B40330 800C9190 10000001 */ b .L800C9198
/* B40334 800C9194 80480012 */ lb $t0, 0x12($v0)
.L800C9198:
/* B40338 800C9198 0C00084C */ jal osSyncPrintf
/* B4033C 800C919C AFA80010 */ sw $t0, 0x10($sp)
.L800C91A0:
/* B40340 800C91A0 0C0323B7 */ jal func_800C8EDC
/* B40344 800C91A4 02002025 */ move $a0, $s0
/* B40348 800C91A8 8FBF0024 */ lw $ra, 0x24($sp)
/* B4034C 800C91AC 8FB00020 */ lw $s0, 0x20($sp)
/* B40350 800C91B0 27BD0058 */ addiu $sp, $sp, 0x58
/* B40354 800C91B4 03E00008 */ jr $ra
/* B40358 800C91B8 00000000 */ nop