papermario/ver/us/asm/nonmatchings/os/osCreatePiManager/osCreatePiManager.s
Ethan Roseman a1f7a21114
Rodata migration + other goodz (#208)
* rodata migration

* a5dd0 rodata migration

* e79b0 rodata migration

* more rodata migration

* more migration

* goombario rodata

* SetNpcCollision32

* removing old stuff

* oops

* UnkBackgroundFunc

* removing unnecessary files

* UnkBackgroundFunc2

* UnkStarFuncs

* .

* misc star decomp and AddHP

* oops

* AddFP

* fix offset, update symbol_addrs

* .

* git subrepo pull tools/splat

subrepo:
  subdir:   "tools/splat"
  merged:   "f602284b3e"
upstream:
  origin:   "https://github.com/ethteck/splat.git"
  branch:   "master"
  commit:   "f602284b3e"
git-subrepo:
  version:  "0.4.3"
  origin:   "https://github.com/ingydotnet/git-subrepo"
  commit:   "2f68596"

* re-disasm

* fix effect disasm

* oops

* fix lullaby
2021-03-13 00:53:11 +09:00

108 lines
6.0 KiB
ArmAsm

.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel osCreatePiManager
/* 3BDE0 800609E0 27BDFFC8 */ addiu $sp, $sp, -0x38
/* 3BDE4 800609E4 AFB00018 */ sw $s0, 0x18($sp)
/* 3BDE8 800609E8 00808021 */ addu $s0, $a0, $zero
/* 3BDEC 800609EC AFB5002C */ sw $s5, 0x2c($sp)
/* 3BDF0 800609F0 00A0A821 */ addu $s5, $a1, $zero
/* 3BDF4 800609F4 AFB40028 */ sw $s4, 0x28($sp)
/* 3BDF8 800609F8 3C148009 */ lui $s4, %hi(__osPiDevMgr)
/* 3BDFC 800609FC 26943D50 */ addiu $s4, $s4, %lo(__osPiDevMgr)
/* 3BE00 80060A00 AFBF0030 */ sw $ra, 0x30($sp)
/* 3BE04 80060A04 AFB30024 */ sw $s3, 0x24($sp)
/* 3BE08 80060A08 AFB20020 */ sw $s2, 0x20($sp)
/* 3BE0C 80060A0C AFB1001C */ sw $s1, 0x1c($sp)
/* 3BE10 80060A10 8E820000 */ lw $v0, ($s4)
/* 3BE14 80060A14 00C02821 */ addu $a1, $a2, $zero
/* 3BE18 80060A18 1440004C */ bnez $v0, .L80060B4C
/* 3BE1C 80060A1C 00E03021 */ addu $a2, $a3, $zero
/* 3BE20 80060A20 0C019560 */ jal osCreateMesgQueue
/* 3BE24 80060A24 02A02021 */ addu $a0, $s5, $zero
/* 3BE28 80060A28 3C13800B */ lui $s3, %hi(__osPiMesgQueue)
/* 3BE2C 80060A2C 2673F890 */ addiu $s3, $s3, %lo(__osPiMesgQueue)
/* 3BE30 80060A30 02602021 */ addu $a0, $s3, $zero
/* 3BE34 80060A34 3C05800B */ lui $a1, %hi(piMgrMesgBuff)
/* 3BE38 80060A38 24A5F8A8 */ addiu $a1, $a1, %lo(piMgrMesgBuff)
/* 3BE3C 80060A3C 0C019560 */ jal osCreateMesgQueue
/* 3BE40 80060A40 24060001 */ addiu $a2, $zero, 1
/* 3BE44 80060A44 3C028009 */ lui $v0, %hi(__osPiAccessQueueEnabled)
/* 3BE48 80060A48 8C423D90 */ lw $v0, %lo(__osPiAccessQueueEnabled)($v0)
/* 3BE4C 80060A4C 54400004 */ bnel $v0, $zero, .L80060A60
/* 3BE50 80060A50 24040008 */ addiu $a0, $zero, 8
/* 3BE54 80060A54 0C018514 */ jal __osPiCreateAccessQueue
/* 3BE58 80060A58 00000000 */ nop
/* 3BE5C 80060A5C 24040008 */ addiu $a0, $zero, 8
.L80060A60:
/* 3BE60 80060A60 02602821 */ addu $a1, $s3, $zero
/* 3BE64 80060A64 3C062222 */ lui $a2, 0x2222
/* 3BE68 80060A68 0C019654 */ jal osSetEventMesg
/* 3BE6C 80060A6C 34C62222 */ ori $a2, $a2, 0x2222
/* 3BE70 80060A70 2412FFFF */ addiu $s2, $zero, -1
/* 3BE74 80060A74 0C0197CC */ jal osGetThreadPri
/* 3BE78 80060A78 00002021 */ addu $a0, $zero, $zero
/* 3BE7C 80060A7C 00401821 */ addu $v1, $v0, $zero
/* 3BE80 80060A80 0070102A */ slt $v0, $v1, $s0
/* 3BE84 80060A84 10400005 */ beqz $v0, .L80060A9C
/* 3BE88 80060A88 00000000 */ nop
/* 3BE8C 80060A8C 00609021 */ addu $s2, $v1, $zero
/* 3BE90 80060A90 00002021 */ addu $a0, $zero, $zero
/* 3BE94 80060A94 0C0197D4 */ jal osSetThreadPri
/* 3BE98 80060A98 02002821 */ addu $a1, $s0, $zero
.L80060A9C:
/* 3BE9C 80060A9C 0C01ACD8 */ jal __osDisableInt
/* 3BEA0 80060AA0 00000000 */ nop
/* 3BEA4 80060AA4 3C11800B */ lui $s1, %hi(piMgrThread)
/* 3BEA8 80060AA8 2631E6E0 */ addiu $s1, $s1, %lo(piMgrThread)
/* 3BEAC 80060AAC 02202021 */ addu $a0, $s1, $zero
/* 3BEB0 80060AB0 00002821 */ addu $a1, $zero, $zero
/* 3BEB4 80060AB4 3C068006 */ lui $a2, %hi(__osDevMgrMain)
/* 3BEB8 80060AB8 24C61090 */ addiu $a2, $a2, %lo(__osDevMgrMain)
/* 3BEBC 80060ABC 24030001 */ addiu $v1, $zero, 1
/* 3BEC0 80060AC0 AE830000 */ sw $v1, ($s4)
/* 3BEC4 80060AC4 3C03800B */ lui $v1, %hi(gOsPiMessageQueue)
/* 3BEC8 80060AC8 24634380 */ addiu $v1, $v1, %lo(gOsPiMessageQueue)
/* 3BECC 80060ACC 3C018009 */ lui $at, %hi(__osPiDevMgr+0x10)
/* 3BED0 80060AD0 AC233D60 */ sw $v1, %lo(__osPiDevMgr+0x10)($at)
/* 3BED4 80060AD4 3C038007 */ lui $v1, %hi(osPiRawStartDma)
/* 3BED8 80060AD8 2463B480 */ addiu $v1, $v1, %lo(osPiRawStartDma)
/* 3BEDC 80060ADC 3C018009 */ lui $at, %hi(__osPiDevMgr+0x14)
/* 3BEE0 80060AE0 AC233D64 */ sw $v1, %lo(__osPiDevMgr+0x14)($at)
/* 3BEE4 80060AE4 3C038006 */ lui $v1, %hi(osEPiRawStartDma)
/* 3BEE8 80060AE8 24630B70 */ addiu $v1, $v1, %lo(osEPiRawStartDma)
/* 3BEEC 80060AEC 3C018009 */ lui $at, %hi(__osPiDevMgr+0x18)
/* 3BEF0 80060AF0 AC233D68 */ sw $v1, %lo(__osPiDevMgr+0x18)($at)
/* 3BEF4 80060AF4 3C03800B */ lui $v1, %hi(__osPiMesgQueue)
/* 3BEF8 80060AF8 2463F890 */ addiu $v1, $v1, %lo(__osPiMesgQueue)
/* 3BEFC 80060AFC AFB00014 */ sw $s0, 0x14($sp)
/* 3BF00 80060B00 00408021 */ addu $s0, $v0, $zero
/* 3BF04 80060B04 02803821 */ addu $a3, $s4, $zero
/* 3BF08 80060B08 3C018009 */ lui $at, %hi(__osPiDevMgr+0x4)
/* 3BF0C 80060B0C AC313D54 */ sw $s1, %lo(__osPiDevMgr+0x4)($at)
/* 3BF10 80060B10 3C018009 */ lui $at, %hi(__osPiDevMgr+0x8)
/* 3BF14 80060B14 AC353D58 */ sw $s5, %lo(__osPiDevMgr+0x8)($at)
/* 3BF18 80060B18 3C018009 */ lui $at, %hi(__osPiDevMgr+0xC)
/* 3BF1C 80060B1C AC333D5C */ sw $s3, %lo(__osPiDevMgr+0xC)($at)
/* 3BF20 80060B20 0C019798 */ jal osCreateThread
/* 3BF24 80060B24 AFA30010 */ sw $v1, 0x10($sp)
/* 3BF28 80060B28 0C019808 */ jal osStartThread
/* 3BF2C 80060B2C 02202021 */ addu $a0, $s1, $zero
/* 3BF30 80060B30 0C01ACF4 */ jal __osRestoreInt
/* 3BF34 80060B34 02002021 */ addu $a0, $s0, $zero
/* 3BF38 80060B38 2402FFFF */ addiu $v0, $zero, -1
/* 3BF3C 80060B3C 12420003 */ beq $s2, $v0, .L80060B4C
/* 3BF40 80060B40 00002021 */ addu $a0, $zero, $zero
/* 3BF44 80060B44 0C0197D4 */ jal osSetThreadPri
/* 3BF48 80060B48 02402821 */ addu $a1, $s2, $zero
.L80060B4C:
/* 3BF4C 80060B4C 8FBF0030 */ lw $ra, 0x30($sp)
/* 3BF50 80060B50 8FB5002C */ lw $s5, 0x2c($sp)
/* 3BF54 80060B54 8FB40028 */ lw $s4, 0x28($sp)
/* 3BF58 80060B58 8FB30024 */ lw $s3, 0x24($sp)
/* 3BF5C 80060B5C 8FB20020 */ lw $s2, 0x20($sp)
/* 3BF60 80060B60 8FB1001C */ lw $s1, 0x1c($sp)
/* 3BF64 80060B64 8FB00018 */ lw $s0, 0x18($sp)
/* 3BF68 80060B68 03E00008 */ jr $ra
/* 3BF6C 80060B6C 27BD0038 */ addiu $sp, $sp, 0x38