Migrate to dtk

Former-commit-id: 639b99e7c838f64457336e6c06b44c41a5cdace2
This commit is contained in:
Phillip Stephens 2023-10-08 04:41:43 -07:00
parent 419604163a
commit 8b86d53d1f
834 changed files with 34449 additions and 1204574 deletions

5
.gitignore vendored
View File

@ -19,4 +19,7 @@ build.ninja
.ninja_log
dwarfD/
objdiff.json
orig/*/*
!orig/*/.gitkeep
tools/mwcc_compiler/*
!tools/mwcc_compiler/.gitkeep

View File

@ -1,10 +1,10 @@
{
"[c]": {
"files.encoding": "shiftjis",
"files.encoding": "utf8",
"editor.defaultFormatter": "xaver.clang-format"
},
"[cpp]": {
"files.encoding": "shiftjis",
"files.encoding": "utf8",
"editor.defaultFormatter": "xaver.clang-format"
},
"[python]":{

View File

@ -1,877 +0,0 @@
.include "macros.inc"
.section .ctors, "wa"
lbl_ctor:
.4byte __sinit_CCollidableAABox_cpp
.section .data
.balign 8
.global __vt__16CCollidableAABox
__vt__16CCollidableAABox:
# ROM: 0x3E9AD0
.4byte 0
.4byte 0
.4byte GetTableIndex__16CCollidableAABoxCFv
.4byte SetMaterial__19CCollisionPrimitiveFRC13CMaterialList
.4byte GetMaterial__19CCollisionPrimitiveCFv
.4byte CalculateAABox__16CCollidableAABoxCFRC12CTransform4f
.4byte CalculateLocalAABox__16CCollidableAABoxCFv
.4byte GetPrimType__16CCollidableAABoxCFv
.4byte __dt__16CCollidableAABoxFv
.4byte CastRayInternal__16CCollidableAABoxCFRC25CInternalRayCastStructure
.section .sdata
.balign 8
.global sTableIndex__16CCollidableAABox
sTableIndex__16CCollidableAABox:
# ROM: 0x3F6088
.4byte 0xFFFFFFFF
.section .bss
.balign 8
.lcomm normalTable, 0x48, 4
.section .text, "ax"
.global GetTableIndex__16CCollidableAABoxCFv
GetTableIndex__16CCollidableAABoxCFv:
/* 802CD4C8 002CA428 80 6D 9B 28 */ lwz r3, sTableIndex__16CCollidableAABox@sda21(r13)
/* 802CD4CC 002CA42C 4E 80 00 20 */ blr
.global GetPrimType__16CCollidableAABoxCFv
GetPrimType__16CCollidableAABoxCFv:
/* 802CD4D0 002CA430 3C 60 41 41 */ lis r3, 0x41414258@ha
/* 802CD4D4 002CA434 38 63 42 58 */ addi r3, r3, 0x41414258@l
/* 802CD4D8 002CA438 4E 80 00 20 */ blr
.global Transform__16CCollidableAABoxCFRC12CTransform4f
Transform__16CCollidableAABoxCFRC12CTransform4f:
/* 802CD4DC 002CA43C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802CD4E0 002CA440 7C 08 02 A6 */ mflr r0
/* 802CD4E4 002CA444 90 01 00 24 */ stw r0, 0x24(r1)
/* 802CD4E8 002CA448 C0 45 00 2C */ lfs f2, 0x2c(r5)
/* 802CD4EC 002CA44C C0 04 00 18 */ lfs f0, 0x18(r4)
/* 802CD4F0 002CA450 C0 24 00 24 */ lfs f1, 0x24(r4)
/* 802CD4F4 002CA454 EC 60 10 2A */ fadds f3, f0, f2
/* 802CD4F8 002CA458 C0 E5 00 1C */ lfs f7, 0x1c(r5)
/* 802CD4FC 002CA45C EC 81 10 2A */ fadds f4, f1, f2
/* 802CD500 002CA460 C0 04 00 20 */ lfs f0, 0x20(r4)
/* 802CD504 002CA464 C0 C5 00 0C */ lfs f6, 0xc(r5)
/* 802CD508 002CA468 38 A1 00 08 */ addi r5, r1, 8
/* 802CD50C 002CA46C EC A0 38 2A */ fadds f5, f0, f7
/* 802CD510 002CA470 C0 44 00 1C */ lfs f2, 0x1c(r4)
/* 802CD514 002CA474 C0 24 00 14 */ lfs f1, 0x14(r4)
/* 802CD518 002CA478 C0 04 00 10 */ lfs f0, 0x10(r4)
/* 802CD51C 002CA47C EC 42 30 2A */ fadds f2, f2, f6
/* 802CD520 002CA480 EC 21 38 2A */ fadds f1, f1, f7
/* 802CD524 002CA484 EC 00 30 2A */ fadds f0, f0, f6
/* 802CD528 002CA488 D0 A1 00 0C */ stfs f5, 0xc(r1)
/* 802CD52C 002CA48C 38 81 00 14 */ addi r4, r1, 0x14
/* 802CD530 002CA490 D0 41 00 08 */ stfs f2, 8(r1)
/* 802CD534 002CA494 D0 81 00 10 */ stfs f4, 0x10(r1)
/* 802CD538 002CA498 D0 01 00 14 */ stfs f0, 0x14(r1)
/* 802CD53C 002CA49C D0 21 00 18 */ stfs f1, 0x18(r1)
/* 802CD540 002CA4A0 D0 61 00 1C */ stfs f3, 0x1c(r1)
/* 802CD544 002CA4A4 48 06 AF C5 */ bl __ct__6CAABoxFRC9CVector3fRC9CVector3f
/* 802CD548 002CA4A8 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802CD54C 002CA4AC 7C 08 03 A6 */ mtlr r0
/* 802CD550 002CA4B0 38 21 00 20 */ addi r1, r1, 0x20
/* 802CD554 002CA4B4 4E 80 00 20 */ blr
.global CalculateAABox__16CCollidableAABoxCFRC12CTransform4f
CalculateAABox__16CCollidableAABoxCFRC12CTransform4f:
/* 802CD558 002CA4B8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802CD55C 002CA4BC 7C 08 02 A6 */ mflr r0
/* 802CD560 002CA4C0 90 01 00 14 */ stw r0, 0x14(r1)
/* 802CD564 002CA4C4 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802CD568 002CA4C8 7C 7F 1B 78 */ mr r31, r3
/* 802CD56C 002CA4CC 4B FF FF 71 */ bl Transform__16CCollidableAABoxCFRC12CTransform4f
/* 802CD570 002CA4D0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802CD574 002CA4D4 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802CD578 002CA4D8 7C 08 03 A6 */ mtlr r0
/* 802CD57C 002CA4DC 38 21 00 10 */ addi r1, r1, 0x10
/* 802CD580 002CA4E0 4E 80 00 20 */ blr
.global CalculateLocalAABox__16CCollidableAABoxCFv
CalculateLocalAABox__16CCollidableAABoxCFv:
/* 802CD584 002CA4E4 C0 04 00 10 */ lfs f0, 0x10(r4)
/* 802CD588 002CA4E8 D0 03 00 00 */ stfs f0, 0(r3)
/* 802CD58C 002CA4EC C0 04 00 14 */ lfs f0, 0x14(r4)
/* 802CD590 002CA4F0 D0 03 00 04 */ stfs f0, 4(r3)
/* 802CD594 002CA4F4 C0 04 00 18 */ lfs f0, 0x18(r4)
/* 802CD598 002CA4F8 D0 03 00 08 */ stfs f0, 8(r3)
/* 802CD59C 002CA4FC C0 04 00 1C */ lfs f0, 0x1c(r4)
/* 802CD5A0 002CA500 D0 03 00 0C */ stfs f0, 0xc(r3)
/* 802CD5A4 002CA504 C0 04 00 20 */ lfs f0, 0x20(r4)
/* 802CD5A8 002CA508 D0 03 00 10 */ stfs f0, 0x10(r3)
/* 802CD5AC 002CA50C C0 04 00 24 */ lfs f0, 0x24(r4)
/* 802CD5B0 002CA510 D0 03 00 14 */ stfs f0, 0x14(r3)
/* 802CD5B4 002CA514 4E 80 00 20 */ blr
.global CastRayInternal__16CCollidableAABoxCFRC25CInternalRayCastStructure
CastRayInternal__16CCollidableAABoxCFRC25CInternalRayCastStructure:
/* 802CD5B8 002CA518 94 21 FE 80 */ stwu r1, -0x180(r1)
/* 802CD5BC 002CA51C 7C 08 02 A6 */ mflr r0
/* 802CD5C0 002CA520 90 01 01 84 */ stw r0, 0x184(r1)
/* 802CD5C4 002CA524 DB E1 01 70 */ stfd f31, 0x170(r1)
/* 802CD5C8 002CA528 F3 E1 01 78 */ psq_st f31, 376(r1), 0, qr0
/* 802CD5CC 002CA52C DB C1 01 60 */ stfd f30, 0x160(r1)
/* 802CD5D0 002CA530 F3 C1 01 68 */ psq_st f30, 360(r1), 0, qr0
/* 802CD5D4 002CA534 DB A1 01 50 */ stfd f29, 0x150(r1)
/* 802CD5D8 002CA538 F3 A1 01 58 */ psq_st f29, 344(r1), 0, qr0
/* 802CD5DC 002CA53C DB 81 01 40 */ stfd f28, 0x140(r1)
/* 802CD5E0 002CA540 F3 81 01 48 */ psq_st f28, 328(r1), 0, qr0
/* 802CD5E4 002CA544 93 E1 01 3C */ stw r31, 0x13c(r1)
/* 802CD5E8 002CA548 93 C1 01 38 */ stw r30, 0x138(r1)
/* 802CD5EC 002CA54C 93 A1 01 34 */ stw r29, 0x134(r1)
/* 802CD5F0 002CA550 93 81 01 30 */ stw r28, 0x130(r1)
/* 802CD5F4 002CA554 7C 9C 23 78 */ mr r28, r4
/* 802CD5F8 002CA558 7C 7F 1B 78 */ mr r31, r3
/* 802CD5FC 002CA55C 7F 83 E3 78 */ mr r3, r28
/* 802CD600 002CA560 7C BD 2B 78 */ mr r29, r5
/* 802CD604 002CA564 81 9C 00 00 */ lwz r12, 0(r28)
/* 802CD608 002CA568 83 C5 00 6C */ lwz r30, 0x6c(r5)
/* 802CD60C 002CA56C 81 8C 00 10 */ lwz r12, 0x10(r12)
/* 802CD610 002CA570 7D 89 03 A6 */ mtctr r12
/* 802CD614 002CA574 4E 80 04 21 */ bctrl
/* 802CD618 002CA578 7C 64 1B 78 */ mr r4, r3
/* 802CD61C 002CA57C 7F C3 F3 78 */ mr r3, r30
/* 802CD620 002CA580 48 00 7D 2D */ bl Passes__15CMaterialFilterCFRC13CMaterialList
/* 802CD624 002CA584 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 802CD628 002CA588 40 82 00 64 */ bne lbl_802CD68C
/* 802CD62C 002CA58C C0 22 C4 80 */ lfs f1, lbl_805AE1A0@sda21(r2)
/* 802CD630 002CA590 38 61 00 24 */ addi r3, r1, 0x24
/* 802CD634 002CA594 C0 02 C4 84 */ lfs f0, lbl_805AE1A4@sda21(r2)
/* 802CD638 002CA598 D0 3F 00 00 */ stfs f1, 0(r31)
/* 802CD63C 002CA59C D0 3F 00 04 */ stfs f1, 4(r31)
/* 802CD640 002CA5A0 D0 3F 00 08 */ stfs f1, 8(r31)
/* 802CD644 002CA5A4 D0 3F 00 0C */ stfs f1, 0xc(r31)
/* 802CD648 002CA5A8 D0 01 00 24 */ stfs f0, 0x24(r1)
/* 802CD64C 002CA5AC D0 21 00 28 */ stfs f1, 0x28(r1)
/* 802CD650 002CA5B0 D0 21 00 2C */ stfs f1, 0x2c(r1)
/* 802CD654 002CA5B4 48 04 72 A5 */ bl Normalize__9CVector3fFv
/* 802CD658 002CA5B8 C0 21 00 24 */ lfs f1, 0x24(r1)
/* 802CD65C 002CA5BC 38 00 00 00 */ li r0, 0
/* 802CD660 002CA5C0 C0 02 C4 80 */ lfs f0, lbl_805AE1A0@sda21(r2)
/* 802CD664 002CA5C4 D0 3F 00 10 */ stfs f1, 0x10(r31)
/* 802CD668 002CA5C8 C0 21 00 28 */ lfs f1, 0x28(r1)
/* 802CD66C 002CA5CC D0 3F 00 14 */ stfs f1, 0x14(r31)
/* 802CD670 002CA5D0 C0 21 00 2C */ lfs f1, 0x2c(r1)
/* 802CD674 002CA5D4 D0 3F 00 18 */ stfs f1, 0x18(r31)
/* 802CD678 002CA5D8 D0 1F 00 1C */ stfs f0, 0x1c(r31)
/* 802CD67C 002CA5DC 98 1F 00 20 */ stb r0, 0x20(r31)
/* 802CD680 002CA5E0 90 1F 00 2C */ stw r0, 0x2c(r31)
/* 802CD684 002CA5E4 90 1F 00 28 */ stw r0, 0x28(r31)
/* 802CD688 002CA5E8 48 00 02 7C */ b lbl_802CD904
lbl_802CD68C:
/* 802CD68C 002CA5EC 38 61 01 00 */ addi r3, r1, 0x100
/* 802CD690 002CA5F0 38 9D 00 3C */ addi r4, r29, 0x3c
/* 802CD694 002CA5F4 48 04 54 E1 */ bl __ct__12CTransform4fFRC12CTransform4f
/* 802CD698 002CA5F8 38 61 00 6C */ addi r3, r1, 0x6c
/* 802CD69C 002CA5FC 38 9D 00 3C */ addi r4, r29, 0x3c
/* 802CD6A0 002CA600 48 04 55 FD */ bl GetQuickInverse__12CTransform4fCFv
/* 802CD6A4 002CA604 38 61 00 D0 */ addi r3, r1, 0xd0
/* 802CD6A8 002CA608 38 81 00 6C */ addi r4, r1, 0x6c
/* 802CD6AC 002CA60C 48 04 54 C9 */ bl __ct__12CTransform4fFRC12CTransform4f
/* 802CD6B0 002CA610 7F A5 EB 78 */ mr r5, r29
/* 802CD6B4 002CA614 38 61 00 3C */ addi r3, r1, 0x3c
/* 802CD6B8 002CA618 38 81 00 D0 */ addi r4, r1, 0xd0
/* 802CD6BC 002CA61C 48 04 54 2D */ bl __ml__12CTransform4fCFRC9CVector3f
/* 802CD6C0 002CA620 C0 41 00 3C */ lfs f2, 0x3c(r1)
/* 802CD6C4 002CA624 38 61 00 30 */ addi r3, r1, 0x30
/* 802CD6C8 002CA628 C0 21 00 40 */ lfs f1, 0x40(r1)
/* 802CD6CC 002CA62C 38 81 00 D0 */ addi r4, r1, 0xd0
/* 802CD6D0 002CA630 C0 01 00 44 */ lfs f0, 0x44(r1)
/* 802CD6D4 002CA634 38 BD 00 2C */ addi r5, r29, 0x2c
/* 802CD6D8 002CA638 D0 41 00 60 */ stfs f2, 0x60(r1)
/* 802CD6DC 002CA63C D0 21 00 64 */ stfs f1, 0x64(r1)
/* 802CD6E0 002CA640 D0 01 00 68 */ stfs f0, 0x68(r1)
/* 802CD6E4 002CA644 48 04 53 9D */ bl Rotate__12CTransform4fCFRC9CVector3f
/* 802CD6E8 002CA648 C0 41 00 30 */ lfs f2, 0x30(r1)
/* 802CD6EC 002CA64C 38 7C 00 10 */ addi r3, r28, 0x10
/* 802CD6F0 002CA650 C0 21 00 34 */ lfs f1, 0x34(r1)
/* 802CD6F4 002CA654 38 81 00 60 */ addi r4, r1, 0x60
/* 802CD6F8 002CA658 C0 01 00 38 */ lfs f0, 0x38(r1)
/* 802CD6FC 002CA65C 38 A1 00 54 */ addi r5, r1, 0x54
/* 802CD700 002CA660 D0 41 00 54 */ stfs f2, 0x54(r1)
/* 802CD704 002CA664 38 C1 00 14 */ addi r6, r1, 0x14
/* 802CD708 002CA668 C3 FD 00 38 */ lfs f31, 0x38(r29)
/* 802CD70C 002CA66C 38 E1 00 10 */ addi r7, r1, 0x10
/* 802CD710 002CA670 D0 21 00 58 */ stfs f1, 0x58(r1)
/* 802CD714 002CA674 39 01 00 0C */ addi r8, r1, 0xc
/* 802CD718 002CA678 39 21 00 08 */ addi r9, r1, 8
/* 802CD71C 002CA67C D0 01 00 5C */ stfs f0, 0x5c(r1)
/* 802CD720 002CA680 48 00 44 89 */ bl BoxLineTest__13CollisionUtilFRC6CAABoxRC9CVector3fRC9CVector3fRfRfRiRb
/* 802CD724 002CA684 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 802CD728 002CA688 41 82 00 24 */ beq lbl_802CD74C
/* 802CD72C 002CA68C C0 21 00 14 */ lfs f1, 0x14(r1)
/* 802CD730 002CA690 C0 02 C4 80 */ lfs f0, lbl_805AE1A0@sda21(r2)
/* 802CD734 002CA694 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 802CD738 002CA698 41 80 00 14 */ blt lbl_802CD74C
/* 802CD73C 002CA69C FC 1F 00 40 */ fcmpo cr0, f31, f0
/* 802CD740 002CA6A0 40 81 00 6C */ ble lbl_802CD7AC
/* 802CD744 002CA6A4 FC 01 F8 40 */ fcmpo cr0, f1, f31
/* 802CD748 002CA6A8 40 81 00 64 */ ble lbl_802CD7AC
lbl_802CD74C:
/* 802CD74C 002CA6AC C0 22 C4 80 */ lfs f1, lbl_805AE1A0@sda21(r2)
/* 802CD750 002CA6B0 38 61 00 18 */ addi r3, r1, 0x18
/* 802CD754 002CA6B4 C0 02 C4 84 */ lfs f0, lbl_805AE1A4@sda21(r2)
/* 802CD758 002CA6B8 D0 3F 00 00 */ stfs f1, 0(r31)
/* 802CD75C 002CA6BC D0 3F 00 04 */ stfs f1, 4(r31)
/* 802CD760 002CA6C0 D0 3F 00 08 */ stfs f1, 8(r31)
/* 802CD764 002CA6C4 D0 3F 00 0C */ stfs f1, 0xc(r31)
/* 802CD768 002CA6C8 D0 01 00 18 */ stfs f0, 0x18(r1)
/* 802CD76C 002CA6CC D0 21 00 1C */ stfs f1, 0x1c(r1)
/* 802CD770 002CA6D0 D0 21 00 20 */ stfs f1, 0x20(r1)
/* 802CD774 002CA6D4 48 04 71 85 */ bl Normalize__9CVector3fFv
/* 802CD778 002CA6D8 C0 21 00 18 */ lfs f1, 0x18(r1)
/* 802CD77C 002CA6DC 38 00 00 00 */ li r0, 0
/* 802CD780 002CA6E0 C0 02 C4 80 */ lfs f0, lbl_805AE1A0@sda21(r2)
/* 802CD784 002CA6E4 D0 3F 00 10 */ stfs f1, 0x10(r31)
/* 802CD788 002CA6E8 C0 21 00 1C */ lfs f1, 0x1c(r1)
/* 802CD78C 002CA6EC D0 3F 00 14 */ stfs f1, 0x14(r31)
/* 802CD790 002CA6F0 C0 21 00 20 */ lfs f1, 0x20(r1)
/* 802CD794 002CA6F4 D0 3F 00 18 */ stfs f1, 0x18(r31)
/* 802CD798 002CA6F8 D0 1F 00 1C */ stfs f0, 0x1c(r31)
/* 802CD79C 002CA6FC 98 1F 00 20 */ stb r0, 0x20(r31)
/* 802CD7A0 002CA700 90 1F 00 2C */ stw r0, 0x2c(r31)
/* 802CD7A4 002CA704 90 1F 00 28 */ stw r0, 0x28(r31)
/* 802CD7A8 002CA708 48 00 01 5C */ b lbl_802CD904
lbl_802CD7AC:
/* 802CD7AC 002CA70C 88 01 00 08 */ lbz r0, 8(r1)
/* 802CD7B0 002CA710 28 00 00 00 */ cmplwi r0, 0
/* 802CD7B4 002CA714 41 82 00 0C */ beq lbl_802CD7C0
/* 802CD7B8 002CA718 C0 62 C4 84 */ lfs f3, lbl_805AE1A4@sda21(r2)
/* 802CD7BC 002CA71C 48 00 00 08 */ b lbl_802CD7C4
lbl_802CD7C0:
/* 802CD7C0 002CA720 C0 62 C4 88 */ lfs f3, lbl_805AE1A8@sda21(r2)
lbl_802CD7C4:
/* 802CD7C4 002CA724 3C 60 80 5A */ lis r3, sZeroVector__9CVector3f@ha
/* 802CD7C8 002CA728 80 A1 00 0C */ lwz r5, 0xc(r1)
/* 802CD7CC 002CA72C 38 83 66 A0 */ addi r4, r3, sZeroVector__9CVector3f@l
/* 802CD7D0 002CA730 38 61 00 48 */ addi r3, r1, 0x48
/* 802CD7D4 002CA734 C0 44 00 00 */ lfs f2, 0(r4)
/* 802CD7D8 002CA738 54 A0 10 3A */ slwi r0, r5, 2
/* 802CD7DC 002CA73C C0 24 00 04 */ lfs f1, 4(r4)
/* 802CD7E0 002CA740 2C 05 00 00 */ cmpwi r5, 0
/* 802CD7E4 002CA744 C0 04 00 08 */ lfs f0, 8(r4)
/* 802CD7E8 002CA748 D0 41 00 48 */ stfs f2, 0x48(r1)
/* 802CD7EC 002CA74C D0 21 00 4C */ stfs f1, 0x4c(r1)
/* 802CD7F0 002CA750 D0 01 00 50 */ stfs f0, 0x50(r1)
/* 802CD7F4 002CA754 7C 63 05 2E */ stfsx f3, r3, r0
/* 802CD7F8 002CA758 C3 C1 00 48 */ lfs f30, 0x48(r1)
/* 802CD7FC 002CA75C C3 A1 00 4C */ lfs f29, 0x4c(r1)
/* 802CD800 002CA760 C3 81 00 50 */ lfs f28, 0x50(r1)
/* 802CD804 002CA764 41 82 00 10 */ beq lbl_802CD814
/* 802CD808 002CA768 7C 7C 02 14 */ add r3, r28, r0
/* 802CD80C 002CA76C C3 E3 00 10 */ lfs f31, 0x10(r3)
/* 802CD810 002CA770 48 00 00 10 */ b lbl_802CD820
lbl_802CD814:
/* 802CD814 002CA774 7C 7C 02 14 */ add r3, r28, r0
/* 802CD818 002CA778 C0 03 00 1C */ lfs f0, 0x1c(r3)
/* 802CD81C 002CA77C FF E0 00 50 */ fneg f31, f0
lbl_802CD820:
/* 802CD820 002CA780 7F 83 E3 78 */ mr r3, r28
/* 802CD824 002CA784 81 9C 00 00 */ lwz r12, 0(r28)
/* 802CD828 002CA788 81 8C 00 10 */ lwz r12, 0x10(r12)
/* 802CD82C 002CA78C 7D 89 03 A6 */ mtctr r12
/* 802CD830 002CA790 4E 80 04 21 */ bctrl
/* 802CD834 002CA794 C0 C1 00 14 */ lfs f6, 0x14(r1)
/* 802CD838 002CA798 38 00 00 01 */ li r0, 1
/* 802CD83C 002CA79C C0 41 00 58 */ lfs f2, 0x58(r1)
/* 802CD840 002CA7A0 38 81 01 00 */ addi r4, r1, 0x100
/* 802CD844 002CA7A4 C0 21 00 5C */ lfs f1, 0x5c(r1)
/* 802CD848 002CA7A8 C0 01 00 54 */ lfs f0, 0x54(r1)
/* 802CD84C 002CA7AC EC 86 00 B2 */ fmuls f4, f6, f2
/* 802CD850 002CA7B0 C0 A1 00 64 */ lfs f5, 0x64(r1)
/* 802CD854 002CA7B4 EC 46 00 72 */ fmuls f2, f6, f1
/* 802CD858 002CA7B8 C0 61 00 68 */ lfs f3, 0x68(r1)
/* 802CD85C 002CA7BC EC 06 00 32 */ fmuls f0, f6, f0
/* 802CD860 002CA7C0 C0 21 00 60 */ lfs f1, 0x60(r1)
/* 802CD864 002CA7C4 EC 85 20 2A */ fadds f4, f5, f4
/* 802CD868 002CA7C8 D0 C1 00 A0 */ stfs f6, 0xa0(r1)
/* 802CD86C 002CA7CC EC 43 10 2A */ fadds f2, f3, f2
/* 802CD870 002CA7D0 EC 01 00 2A */ fadds f0, f1, f0
/* 802CD874 002CA7D4 D3 C1 00 B0 */ stfs f30, 0xb0(r1)
/* 802CD878 002CA7D8 D0 81 00 A8 */ stfs f4, 0xa8(r1)
/* 802CD87C 002CA7DC D0 01 00 A4 */ stfs f0, 0xa4(r1)
/* 802CD880 002CA7E0 D0 41 00 AC */ stfs f2, 0xac(r1)
/* 802CD884 002CA7E4 D3 A1 00 B4 */ stfs f29, 0xb4(r1)
/* 802CD888 002CA7E8 D3 81 00 B8 */ stfs f28, 0xb8(r1)
/* 802CD88C 002CA7EC D3 E1 00 BC */ stfs f31, 0xbc(r1)
/* 802CD890 002CA7F0 98 01 00 C0 */ stb r0, 0xc0(r1)
/* 802CD894 002CA7F4 80 03 00 00 */ lwz r0, 0(r3)
/* 802CD898 002CA7F8 80 A3 00 04 */ lwz r5, 4(r3)
/* 802CD89C 002CA7FC 38 61 00 A0 */ addi r3, r1, 0xa0
/* 802CD8A0 002CA800 90 A1 00 CC */ stw r5, 0xcc(r1)
/* 802CD8A4 002CA804 90 01 00 C8 */ stw r0, 0xc8(r1)
/* 802CD8A8 002CA808 4B FE 00 09 */ bl Transform__14CRayCastResultFRC12CTransform4f
/* 802CD8AC 002CA80C C0 01 00 A0 */ lfs f0, 0xa0(r1)
/* 802CD8B0 002CA810 D0 1F 00 00 */ stfs f0, 0(r31)
/* 802CD8B4 002CA814 C0 01 00 A4 */ lfs f0, 0xa4(r1)
/* 802CD8B8 002CA818 D0 1F 00 04 */ stfs f0, 4(r31)
/* 802CD8BC 002CA81C C0 01 00 A8 */ lfs f0, 0xa8(r1)
/* 802CD8C0 002CA820 D0 1F 00 08 */ stfs f0, 8(r31)
/* 802CD8C4 002CA824 C0 01 00 AC */ lfs f0, 0xac(r1)
/* 802CD8C8 002CA828 D0 1F 00 0C */ stfs f0, 0xc(r31)
/* 802CD8CC 002CA82C C0 01 00 B0 */ lfs f0, 0xb0(r1)
/* 802CD8D0 002CA830 D0 1F 00 10 */ stfs f0, 0x10(r31)
/* 802CD8D4 002CA834 C0 01 00 B4 */ lfs f0, 0xb4(r1)
/* 802CD8D8 002CA838 D0 1F 00 14 */ stfs f0, 0x14(r31)
/* 802CD8DC 002CA83C C0 01 00 B8 */ lfs f0, 0xb8(r1)
/* 802CD8E0 002CA840 D0 1F 00 18 */ stfs f0, 0x18(r31)
/* 802CD8E4 002CA844 C0 01 00 BC */ lfs f0, 0xbc(r1)
/* 802CD8E8 002CA848 D0 1F 00 1C */ stfs f0, 0x1c(r31)
/* 802CD8EC 002CA84C 88 01 00 C0 */ lbz r0, 0xc0(r1)
/* 802CD8F0 002CA850 98 1F 00 20 */ stb r0, 0x20(r31)
/* 802CD8F4 002CA854 80 01 00 C8 */ lwz r0, 0xc8(r1)
/* 802CD8F8 002CA858 80 61 00 CC */ lwz r3, 0xcc(r1)
/* 802CD8FC 002CA85C 90 7F 00 2C */ stw r3, 0x2c(r31)
/* 802CD900 002CA860 90 1F 00 28 */ stw r0, 0x28(r31)
lbl_802CD904:
/* 802CD904 002CA864 E3 E1 01 78 */ psq_l f31, 376(r1), 0, qr0
/* 802CD908 002CA868 CB E1 01 70 */ lfd f31, 0x170(r1)
/* 802CD90C 002CA86C E3 C1 01 68 */ psq_l f30, 360(r1), 0, qr0
/* 802CD910 002CA870 CB C1 01 60 */ lfd f30, 0x160(r1)
/* 802CD914 002CA874 E3 A1 01 58 */ psq_l f29, 344(r1), 0, qr0
/* 802CD918 002CA878 CB A1 01 50 */ lfd f29, 0x150(r1)
/* 802CD91C 002CA87C E3 81 01 48 */ psq_l f28, 328(r1), 0, qr0
/* 802CD920 002CA880 CB 81 01 40 */ lfd f28, 0x140(r1)
/* 802CD924 002CA884 83 E1 01 3C */ lwz r31, 0x13c(r1)
/* 802CD928 002CA888 83 C1 01 38 */ lwz r30, 0x138(r1)
/* 802CD92C 002CA88C 83 A1 01 34 */ lwz r29, 0x134(r1)
/* 802CD930 002CA890 80 01 01 84 */ lwz r0, 0x184(r1)
/* 802CD934 002CA894 83 81 01 30 */ lwz r28, 0x130(r1)
/* 802CD938 002CA898 7C 08 03 A6 */ mtlr r0
/* 802CD93C 002CA89C 38 21 01 80 */ addi r1, r1, 0x180
/* 802CD940 002CA8A0 4E 80 00 20 */ blr
.global CollideMovingSphere__16CCollidableAABoxFRC27CInternalCollisionStructureRC9CVector3fRdR14CCollisionInfo
CollideMovingSphere__16CCollidableAABoxFRC27CInternalCollisionStructureRC9CVector3fRdR14CCollisionInfo:
/* 802CD944 002CA8A4 94 21 FE F0 */ stwu r1, -0x110(r1)
/* 802CD948 002CA8A8 7C 08 02 A6 */ mflr r0
/* 802CD94C 002CA8AC 90 01 01 14 */ stw r0, 0x114(r1)
/* 802CD950 002CA8B0 BF 41 00 F8 */ stmw r26, 0xf8(r1)
/* 802CD954 002CA8B4 7C 7A 1B 78 */ mr r26, r3
/* 802CD958 002CA8B8 7C BC 2B 78 */ mr r28, r5
/* 802CD95C 002CA8BC 7C 9B 23 78 */ mr r27, r4
/* 802CD960 002CA8C0 7C DF 33 78 */ mr r31, r6
/* 802CD964 002CA8C4 38 BA 00 08 */ addi r5, r26, 8
/* 802CD968 002CA8C8 83 A3 00 00 */ lwz r29, 0(r3)
/* 802CD96C 002CA8CC 38 61 00 60 */ addi r3, r1, 0x60
/* 802CD970 002CA8D0 83 DA 00 38 */ lwz r30, 0x38(r26)
/* 802CD974 002CA8D4 81 9D 00 00 */ lwz r12, 0(r29)
/* 802CD978 002CA8D8 7F A4 EB 78 */ mr r4, r29
/* 802CD97C 002CA8DC 81 8C 00 14 */ lwz r12, 0x14(r12)
/* 802CD980 002CA8E0 7D 89 03 A6 */ mtctr r12
/* 802CD984 002CA8E4 4E 80 04 21 */ bctrl
/* 802CD988 002CA8E8 C0 A1 00 60 */ lfs f5, 0x60(r1)
/* 802CD98C 002CA8EC 7F C4 F3 78 */ mr r4, r30
/* 802CD990 002CA8F0 C0 81 00 64 */ lfs f4, 0x64(r1)
/* 802CD994 002CA8F4 38 61 00 28 */ addi r3, r1, 0x28
/* 802CD998 002CA8F8 C0 61 00 68 */ lfs f3, 0x68(r1)
/* 802CD99C 002CA8FC 38 BA 00 40 */ addi r5, r26, 0x40
/* 802CD9A0 002CA900 C0 41 00 6C */ lfs f2, 0x6c(r1)
/* 802CD9A4 002CA904 C0 21 00 70 */ lfs f1, 0x70(r1)
/* 802CD9A8 002CA908 C0 01 00 74 */ lfs f0, 0x74(r1)
/* 802CD9AC 002CA90C D0 A1 00 78 */ stfs f5, 0x78(r1)
/* 802CD9B0 002CA910 D0 81 00 7C */ stfs f4, 0x7c(r1)
/* 802CD9B4 002CA914 D0 61 00 80 */ stfs f3, 0x80(r1)
/* 802CD9B8 002CA918 D0 41 00 84 */ stfs f2, 0x84(r1)
/* 802CD9BC 002CA91C D0 21 00 88 */ stfs f1, 0x88(r1)
/* 802CD9C0 002CA920 D0 01 00 8C */ stfs f0, 0x8c(r1)
/* 802CD9C4 002CA924 48 00 69 91 */ bl Transform__17CCollidableSphereCFRC12CTransform4f
/* 802CD9C8 002CA928 C0 C1 00 28 */ lfs f6, 0x28(r1)
/* 802CD9CC 002CA92C 3C 60 80 5A */ lis r3, sZeroVector__9CVector3f@ha
/* 802CD9D0 002CA930 C0 A1 00 2C */ lfs f5, 0x2c(r1)
/* 802CD9D4 002CA934 39 03 66 A0 */ addi r8, r3, sZeroVector__9CVector3f@l
/* 802CD9D8 002CA938 C0 81 00 30 */ lfs f4, 0x30(r1)
/* 802CD9DC 002CA93C 38 61 00 50 */ addi r3, r1, 0x50
/* 802CD9E0 002CA940 C0 61 00 34 */ lfs f3, 0x34(r1)
/* 802CD9E4 002CA944 38 81 00 78 */ addi r4, r1, 0x78
/* 802CD9E8 002CA948 C0 5B 00 08 */ lfs f2, 8(r27)
/* 802CD9EC 002CA94C 38 A1 00 1C */ addi r5, r1, 0x1c
/* 802CD9F0 002CA950 C0 3B 00 04 */ lfs f1, 4(r27)
/* 802CD9F4 002CA954 38 C1 00 08 */ addi r6, r1, 8
/* 802CD9F8 002CA958 C0 1B 00 00 */ lfs f0, 0(r27)
/* 802CD9FC 002CA95C FC E0 10 50 */ fneg f7, f2
/* 802CDA00 002CA960 D0 C1 00 50 */ stfs f6, 0x50(r1)
/* 802CDA04 002CA964 FC 40 08 50 */ fneg f2, f1
/* 802CDA08 002CA968 FC 00 00 50 */ fneg f0, f0
/* 802CDA0C 002CA96C C0 C8 00 00 */ lfs f6, 0(r8)
/* 802CDA10 002CA970 D0 A1 00 54 */ stfs f5, 0x54(r1)
/* 802CDA14 002CA974 C0 A8 00 04 */ lfs f5, 4(r8)
/* 802CDA18 002CA978 38 E1 00 44 */ addi r7, r1, 0x44
/* 802CDA1C 002CA97C D0 81 00 58 */ stfs f4, 0x58(r1)
/* 802CDA20 002CA980 C0 88 00 08 */ lfs f4, 8(r8)
/* 802CDA24 002CA984 39 01 00 38 */ addi r8, r1, 0x38
/* 802CDA28 002CA988 D0 61 00 5C */ stfs f3, 0x5c(r1)
/* 802CDA2C 002CA98C C8 3C 00 00 */ lfd f1, 0(r28)
/* 802CDA30 002CA990 D8 21 00 08 */ stfd f1, 8(r1)
/* 802CDA34 002CA994 D0 C1 00 44 */ stfs f6, 0x44(r1)
/* 802CDA38 002CA998 D0 A1 00 48 */ stfs f5, 0x48(r1)
/* 802CDA3C 002CA99C D0 81 00 4C */ stfs f4, 0x4c(r1)
/* 802CDA40 002CA9A0 D0 C1 00 38 */ stfs f6, 0x38(r1)
/* 802CDA44 002CA9A4 D0 A1 00 3C */ stfs f5, 0x3c(r1)
/* 802CDA48 002CA9A8 D0 81 00 40 */ stfs f4, 0x40(r1)
/* 802CDA4C 002CA9AC D0 01 00 1C */ stfs f0, 0x1c(r1)
/* 802CDA50 002CA9B0 D0 41 00 20 */ stfs f2, 0x20(r1)
/* 802CDA54 002CA9B4 D0 E1 00 24 */ stfs f7, 0x24(r1)
/* 802CDA58 002CA9B8 48 00 2A 39 */ bl MovingSphereAABox__13CollisionUtilFRC7CSphereRC6CAABoxRC9CVector3fRdR9CVector3fR9CVector3f
/* 802CDA5C 002CA9BC 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 802CDA60 002CA9C0 41 82 01 78 */ beq lbl_802CDBD8
/* 802CDA64 002CA9C4 C8 E1 00 08 */ lfd f7, 8(r1)
/* 802CDA68 002CA9C8 C8 1C 00 00 */ lfd f0, 0(r28)
/* 802CDA6C 002CA9CC FC 07 00 40 */ fcmpo cr0, f7, f0
/* 802CDA70 002CA9D0 40 80 01 68 */ bge lbl_802CDBD8
/* 802CDA74 002CA9D4 C0 C1 00 5C */ lfs f6, 0x5c(r1)
/* 802CDA78 002CA9D8 7F C3 F3 78 */ mr r3, r30
/* 802CDA7C 002CA9DC C0 41 00 3C */ lfs f2, 0x3c(r1)
/* 802CDA80 002CA9E0 C0 21 00 40 */ lfs f1, 0x40(r1)
/* 802CDA84 002CA9E4 C0 01 00 38 */ lfs f0, 0x38(r1)
/* 802CDA88 002CA9E8 EC 86 00 B2 */ fmuls f4, f6, f2
/* 802CDA8C 002CA9EC C0 A1 00 54 */ lfs f5, 0x54(r1)
/* 802CDA90 002CA9F0 EC 46 00 72 */ fmuls f2, f6, f1
/* 802CDA94 002CA9F4 C0 61 00 58 */ lfs f3, 0x58(r1)
/* 802CDA98 002CA9F8 EC 06 00 32 */ fmuls f0, f6, f0
/* 802CDA9C 002CA9FC C0 21 00 50 */ lfs f1, 0x50(r1)
/* 802CDAA0 002CAA00 EC 85 20 28 */ fsubs f4, f5, f4
/* 802CDAA4 002CAA04 EC 43 10 28 */ fsubs f2, f3, f2
/* 802CDAA8 002CAA08 EC 01 00 28 */ fsubs f0, f1, f0
/* 802CDAAC 002CAA0C D0 81 00 48 */ stfs f4, 0x48(r1)
/* 802CDAB0 002CAA10 D0 01 00 44 */ stfs f0, 0x44(r1)
/* 802CDAB4 002CAA14 D0 41 00 4C */ stfs f2, 0x4c(r1)
/* 802CDAB8 002CAA18 D8 FC 00 00 */ stfd f7, 0(r28)
/* 802CDABC 002CAA1C C0 41 00 38 */ lfs f2, 0x38(r1)
/* 802CDAC0 002CAA20 C0 21 00 3C */ lfs f1, 0x3c(r1)
/* 802CDAC4 002CAA24 C0 01 00 40 */ lfs f0, 0x40(r1)
/* 802CDAC8 002CAA28 FC 40 10 50 */ fneg f2, f2
/* 802CDACC 002CAA2C FC 20 08 50 */ fneg f1, f1
/* 802CDAD0 002CAA30 FC 00 00 50 */ fneg f0, f0
/* 802CDAD4 002CAA34 D0 41 00 10 */ stfs f2, 0x10(r1)
/* 802CDAD8 002CAA38 D0 21 00 14 */ stfs f1, 0x14(r1)
/* 802CDADC 002CAA3C D0 01 00 18 */ stfs f0, 0x18(r1)
/* 802CDAE0 002CAA40 81 9E 00 00 */ lwz r12, 0(r30)
/* 802CDAE4 002CAA44 81 8C 00 10 */ lwz r12, 0x10(r12)
/* 802CDAE8 002CAA48 7D 89 03 A6 */ mtctr r12
/* 802CDAEC 002CAA4C 4E 80 04 21 */ bctrl
/* 802CDAF0 002CAA50 7C 7E 1B 78 */ mr r30, r3
/* 802CDAF4 002CAA54 7F A3 EB 78 */ mr r3, r29
/* 802CDAF8 002CAA58 81 9D 00 00 */ lwz r12, 0(r29)
/* 802CDAFC 002CAA5C 81 8C 00 10 */ lwz r12, 0x10(r12)
/* 802CDB00 002CAA60 7D 89 03 A6 */ mtctr r12
/* 802CDB04 002CAA64 4E 80 04 21 */ bctrl
/* 802CDB08 002CAA68 7C 65 1B 78 */ mr r5, r3
/* 802CDB0C 002CAA6C 7F C6 F3 78 */ mr r6, r30
/* 802CDB10 002CAA70 38 61 00 90 */ addi r3, r1, 0x90
/* 802CDB14 002CAA74 38 81 00 44 */ addi r4, r1, 0x44
/* 802CDB18 002CAA78 38 E1 00 10 */ addi r7, r1, 0x10
/* 802CDB1C 002CAA7C 48 00 09 2D */ bl __ct__14CCollisionInfoFRC9CVector3fRC13CMaterialListRC13CMaterialListRC9CVector3f
/* 802CDB20 002CAA80 80 81 00 90 */ lwz r4, 0x90(r1)
/* 802CDB24 002CAA84 38 60 00 01 */ li r3, 1
/* 802CDB28 002CAA88 80 01 00 94 */ lwz r0, 0x94(r1)
/* 802CDB2C 002CAA8C 90 9F 00 00 */ stw r4, 0(r31)
/* 802CDB30 002CAA90 90 1F 00 04 */ stw r0, 4(r31)
/* 802CDB34 002CAA94 80 01 00 98 */ lwz r0, 0x98(r1)
/* 802CDB38 002CAA98 90 1F 00 08 */ stw r0, 8(r31)
/* 802CDB3C 002CAA9C 80 81 00 9C */ lwz r4, 0x9c(r1)
/* 802CDB40 002CAAA0 80 01 00 A0 */ lwz r0, 0xa0(r1)
/* 802CDB44 002CAAA4 90 9F 00 0C */ stw r4, 0xc(r31)
/* 802CDB48 002CAAA8 90 1F 00 10 */ stw r0, 0x10(r31)
/* 802CDB4C 002CAAAC 80 01 00 A4 */ lwz r0, 0xa4(r1)
/* 802CDB50 002CAAB0 90 1F 00 14 */ stw r0, 0x14(r31)
/* 802CDB54 002CAAB4 80 81 00 A8 */ lwz r4, 0xa8(r1)
/* 802CDB58 002CAAB8 80 01 00 AC */ lwz r0, 0xac(r1)
/* 802CDB5C 002CAABC 90 9F 00 18 */ stw r4, 0x18(r31)
/* 802CDB60 002CAAC0 90 1F 00 1C */ stw r0, 0x1c(r31)
/* 802CDB64 002CAAC4 80 01 00 B0 */ lwz r0, 0xb0(r1)
/* 802CDB68 002CAAC8 90 1F 00 20 */ stw r0, 0x20(r31)
/* 802CDB6C 002CAACC 80 81 00 B4 */ lwz r4, 0xb4(r1)
/* 802CDB70 002CAAD0 80 01 00 B8 */ lwz r0, 0xb8(r1)
/* 802CDB74 002CAAD4 90 9F 00 24 */ stw r4, 0x24(r31)
/* 802CDB78 002CAAD8 90 1F 00 28 */ stw r0, 0x28(r31)
/* 802CDB7C 002CAADC 80 01 00 BC */ lwz r0, 0xbc(r1)
/* 802CDB80 002CAAE0 90 1F 00 2C */ stw r0, 0x2c(r31)
/* 802CDB84 002CAAE4 88 01 00 C0 */ lbz r0, 0xc0(r1)
/* 802CDB88 002CAAE8 98 1F 00 30 */ stb r0, 0x30(r31)
/* 802CDB8C 002CAAEC 88 01 00 C1 */ lbz r0, 0xc1(r1)
/* 802CDB90 002CAAF0 98 1F 00 31 */ stb r0, 0x31(r31)
/* 802CDB94 002CAAF4 C8 01 00 C8 */ lfd f0, 0xc8(r1)
/* 802CDB98 002CAAF8 D8 1F 00 38 */ stfd f0, 0x38(r31)
/* 802CDB9C 002CAAFC C8 01 00 D0 */ lfd f0, 0xd0(r1)
/* 802CDBA0 002CAB00 D8 1F 00 40 */ stfd f0, 0x40(r31)
/* 802CDBA4 002CAB04 80 81 00 D8 */ lwz r4, 0xd8(r1)
/* 802CDBA8 002CAB08 80 01 00 DC */ lwz r0, 0xdc(r1)
/* 802CDBAC 002CAB0C 90 9F 00 48 */ stw r4, 0x48(r31)
/* 802CDBB0 002CAB10 90 1F 00 4C */ stw r0, 0x4c(r31)
/* 802CDBB4 002CAB14 80 01 00 E0 */ lwz r0, 0xe0(r1)
/* 802CDBB8 002CAB18 90 1F 00 50 */ stw r0, 0x50(r31)
/* 802CDBBC 002CAB1C 80 81 00 E4 */ lwz r4, 0xe4(r1)
/* 802CDBC0 002CAB20 80 01 00 E8 */ lwz r0, 0xe8(r1)
/* 802CDBC4 002CAB24 90 9F 00 54 */ stw r4, 0x54(r31)
/* 802CDBC8 002CAB28 90 1F 00 58 */ stw r0, 0x58(r31)
/* 802CDBCC 002CAB2C 80 01 00 EC */ lwz r0, 0xec(r1)
/* 802CDBD0 002CAB30 90 1F 00 5C */ stw r0, 0x5c(r31)
/* 802CDBD4 002CAB34 48 00 00 08 */ b lbl_802CDBDC
lbl_802CDBD8:
/* 802CDBD8 002CAB38 38 60 00 00 */ li r3, 0
lbl_802CDBDC:
/* 802CDBDC 002CAB3C BB 41 00 F8 */ lmw r26, 0xf8(r1)
/* 802CDBE0 002CAB40 80 01 01 14 */ lwz r0, 0x114(r1)
/* 802CDBE4 002CAB44 7C 08 03 A6 */ mtlr r0
/* 802CDBE8 002CAB48 38 21 01 10 */ addi r1, r1, 0x110
/* 802CDBEC 002CAB4C 4E 80 00 20 */ blr
.global CollideMovingAABox__16CCollidableAABoxFRC27CInternalCollisionStructureRC9CVector3fRdR14CCollisionInfo
CollideMovingAABox__16CCollidableAABoxFRC27CInternalCollisionStructureRC9CVector3fRdR14CCollisionInfo:
/* 802CDBF0 002CAB50 94 21 FE F0 */ stwu r1, -0x110(r1)
/* 802CDBF4 002CAB54 7C 08 02 A6 */ mflr r0
/* 802CDBF8 002CAB58 90 01 01 14 */ stw r0, 0x114(r1)
/* 802CDBFC 002CAB5C BF 41 00 F8 */ stmw r26, 0xf8(r1)
/* 802CDC00 002CAB60 7C 7A 1B 78 */ mr r26, r3
/* 802CDC04 002CAB64 7C BC 2B 78 */ mr r28, r5
/* 802CDC08 002CAB68 7C 9B 23 78 */ mr r27, r4
/* 802CDC0C 002CAB6C 7C DF 33 78 */ mr r31, r6
/* 802CDC10 002CAB70 38 BA 00 08 */ addi r5, r26, 8
/* 802CDC14 002CAB74 83 A3 00 00 */ lwz r29, 0(r3)
/* 802CDC18 002CAB78 83 C3 00 38 */ lwz r30, 0x38(r3)
/* 802CDC1C 002CAB7C 38 61 00 4C */ addi r3, r1, 0x4c
/* 802CDC20 002CAB80 7F A4 EB 78 */ mr r4, r29
/* 802CDC24 002CAB84 4B FF F8 B9 */ bl Transform__16CCollidableAABoxCFRC12CTransform4f
/* 802CDC28 002CAB88 C0 A1 00 4C */ lfs f5, 0x4c(r1)
/* 802CDC2C 002CAB8C 7F C4 F3 78 */ mr r4, r30
/* 802CDC30 002CAB90 C0 81 00 50 */ lfs f4, 0x50(r1)
/* 802CDC34 002CAB94 38 61 00 34 */ addi r3, r1, 0x34
/* 802CDC38 002CAB98 C0 61 00 54 */ lfs f3, 0x54(r1)
/* 802CDC3C 002CAB9C 38 BA 00 40 */ addi r5, r26, 0x40
/* 802CDC40 002CABA0 C0 41 00 58 */ lfs f2, 0x58(r1)
/* 802CDC44 002CABA4 C0 21 00 5C */ lfs f1, 0x5c(r1)
/* 802CDC48 002CABA8 C0 01 00 60 */ lfs f0, 0x60(r1)
/* 802CDC4C 002CABAC D0 A1 00 7C */ stfs f5, 0x7c(r1)
/* 802CDC50 002CABB0 D0 81 00 80 */ stfs f4, 0x80(r1)
/* 802CDC54 002CABB4 D0 61 00 84 */ stfs f3, 0x84(r1)
/* 802CDC58 002CABB8 D0 41 00 88 */ stfs f2, 0x88(r1)
/* 802CDC5C 002CABBC D0 21 00 8C */ stfs f1, 0x8c(r1)
/* 802CDC60 002CABC0 D0 01 00 90 */ stfs f0, 0x90(r1)
/* 802CDC64 002CABC4 4B FF F8 79 */ bl Transform__16CCollidableAABoxCFRC12CTransform4f
/* 802CDC68 002CABC8 3C 60 80 5A */ lis r3, sZeroVector__9CVector3f@ha
/* 802CDC6C 002CABCC C0 A1 00 34 */ lfs f5, 0x34(r1)
/* 802CDC70 002CABD0 38 83 66 A0 */ addi r4, r3, sZeroVector__9CVector3f@l
/* 802CDC74 002CABD4 C0 81 00 38 */ lfs f4, 0x38(r1)
/* 802CDC78 002CABD8 C0 C4 00 00 */ lfs f6, 0(r4)
/* 802CDC7C 002CABDC 7F 65 DB 78 */ mr r5, r27
/* 802CDC80 002CABE0 C0 E4 00 04 */ lfs f7, 4(r4)
/* 802CDC84 002CABE4 38 61 00 7C */ addi r3, r1, 0x7c
/* 802CDC88 002CABE8 C1 04 00 08 */ lfs f8, 8(r4)
/* 802CDC8C 002CABEC 38 81 00 64 */ addi r4, r1, 0x64
/* 802CDC90 002CABF0 C0 61 00 3C */ lfs f3, 0x3c(r1)
/* 802CDC94 002CABF4 38 C1 00 08 */ addi r6, r1, 8
/* 802CDC98 002CABF8 C0 41 00 40 */ lfs f2, 0x40(r1)
/* 802CDC9C 002CABFC 38 E1 00 28 */ addi r7, r1, 0x28
/* 802CDCA0 002CAC00 C0 21 00 44 */ lfs f1, 0x44(r1)
/* 802CDCA4 002CAC04 39 01 00 1C */ addi r8, r1, 0x1c
/* 802CDCA8 002CAC08 C0 01 00 48 */ lfs f0, 0x48(r1)
/* 802CDCAC 002CAC0C D0 A1 00 64 */ stfs f5, 0x64(r1)
/* 802CDCB0 002CAC10 D0 81 00 68 */ stfs f4, 0x68(r1)
/* 802CDCB4 002CAC14 D0 61 00 6C */ stfs f3, 0x6c(r1)
/* 802CDCB8 002CAC18 D0 41 00 70 */ stfs f2, 0x70(r1)
/* 802CDCBC 002CAC1C D0 21 00 74 */ stfs f1, 0x74(r1)
/* 802CDCC0 002CAC20 D0 01 00 78 */ stfs f0, 0x78(r1)
/* 802CDCC4 002CAC24 D0 C1 00 28 */ stfs f6, 0x28(r1)
/* 802CDCC8 002CAC28 D0 E1 00 2C */ stfs f7, 0x2c(r1)
/* 802CDCCC 002CAC2C D1 01 00 30 */ stfs f8, 0x30(r1)
/* 802CDCD0 002CAC30 D0 C1 00 1C */ stfs f6, 0x1c(r1)
/* 802CDCD4 002CAC34 D0 E1 00 20 */ stfs f7, 0x20(r1)
/* 802CDCD8 002CAC38 D1 01 00 24 */ stfs f8, 0x24(r1)
/* 802CDCDC 002CAC3C 48 00 3F D9 */ bl AABox_AABox_Moving__13CollisionUtilFRC6CAABoxRC6CAABoxRC9CVector3fRdR9CVector3fR9CVector3f
/* 802CDCE0 002CAC40 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 802CDCE4 002CAC44 41 82 01 48 */ beq lbl_802CDE2C
/* 802CDCE8 002CAC48 C8 21 00 08 */ lfd f1, 8(r1)
/* 802CDCEC 002CAC4C C8 02 C4 90 */ lfd f0, lbl_805AE1B0@sda21(r2)
/* 802CDCF0 002CAC50 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 802CDCF4 002CAC54 40 81 01 38 */ ble lbl_802CDE2C
/* 802CDCF8 002CAC58 C8 1C 00 00 */ lfd f0, 0(r28)
/* 802CDCFC 002CAC5C FC 01 00 40 */ fcmpo cr0, f1, f0
/* 802CDD00 002CAC60 40 80 01 2C */ bge lbl_802CDE2C
/* 802CDD04 002CAC64 D8 3C 00 00 */ stfd f1, 0(r28)
/* 802CDD08 002CAC68 7F C3 F3 78 */ mr r3, r30
/* 802CDD0C 002CAC6C C0 41 00 1C */ lfs f2, 0x1c(r1)
/* 802CDD10 002CAC70 C0 21 00 20 */ lfs f1, 0x20(r1)
/* 802CDD14 002CAC74 C0 01 00 24 */ lfs f0, 0x24(r1)
/* 802CDD18 002CAC78 FC 40 10 50 */ fneg f2, f2
/* 802CDD1C 002CAC7C FC 20 08 50 */ fneg f1, f1
/* 802CDD20 002CAC80 FC 00 00 50 */ fneg f0, f0
/* 802CDD24 002CAC84 D0 41 00 10 */ stfs f2, 0x10(r1)
/* 802CDD28 002CAC88 D0 21 00 14 */ stfs f1, 0x14(r1)
/* 802CDD2C 002CAC8C D0 01 00 18 */ stfs f0, 0x18(r1)
/* 802CDD30 002CAC90 81 9E 00 00 */ lwz r12, 0(r30)
/* 802CDD34 002CAC94 81 8C 00 10 */ lwz r12, 0x10(r12)
/* 802CDD38 002CAC98 7D 89 03 A6 */ mtctr r12
/* 802CDD3C 002CAC9C 4E 80 04 21 */ bctrl
/* 802CDD40 002CACA0 7C 7E 1B 78 */ mr r30, r3
/* 802CDD44 002CACA4 7F A3 EB 78 */ mr r3, r29
/* 802CDD48 002CACA8 81 9D 00 00 */ lwz r12, 0(r29)
/* 802CDD4C 002CACAC 81 8C 00 10 */ lwz r12, 0x10(r12)
/* 802CDD50 002CACB0 7D 89 03 A6 */ mtctr r12
/* 802CDD54 002CACB4 4E 80 04 21 */ bctrl
/* 802CDD58 002CACB8 7C 65 1B 78 */ mr r5, r3
/* 802CDD5C 002CACBC 7F C6 F3 78 */ mr r6, r30
/* 802CDD60 002CACC0 38 61 00 98 */ addi r3, r1, 0x98
/* 802CDD64 002CACC4 38 81 00 28 */ addi r4, r1, 0x28
/* 802CDD68 002CACC8 38 E1 00 1C */ addi r7, r1, 0x1c
/* 802CDD6C 002CACCC 39 01 00 10 */ addi r8, r1, 0x10
/* 802CDD70 002CACD0 48 00 06 0D */ bl __ct__14CCollisionInfoFRC9CVector3fRC13CMaterialListRC13CMaterialListRC9CVector3fRC9CVector3f
/* 802CDD74 002CACD4 80 81 00 98 */ lwz r4, 0x98(r1)
/* 802CDD78 002CACD8 38 60 00 01 */ li r3, 1
/* 802CDD7C 002CACDC 80 01 00 9C */ lwz r0, 0x9c(r1)
/* 802CDD80 002CACE0 90 9F 00 00 */ stw r4, 0(r31)
/* 802CDD84 002CACE4 90 1F 00 04 */ stw r0, 4(r31)
/* 802CDD88 002CACE8 80 01 00 A0 */ lwz r0, 0xa0(r1)
/* 802CDD8C 002CACEC 90 1F 00 08 */ stw r0, 8(r31)
/* 802CDD90 002CACF0 80 81 00 A4 */ lwz r4, 0xa4(r1)
/* 802CDD94 002CACF4 80 01 00 A8 */ lwz r0, 0xa8(r1)
/* 802CDD98 002CACF8 90 9F 00 0C */ stw r4, 0xc(r31)
/* 802CDD9C 002CACFC 90 1F 00 10 */ stw r0, 0x10(r31)
/* 802CDDA0 002CAD00 80 01 00 AC */ lwz r0, 0xac(r1)
/* 802CDDA4 002CAD04 90 1F 00 14 */ stw r0, 0x14(r31)
/* 802CDDA8 002CAD08 80 81 00 B0 */ lwz r4, 0xb0(r1)
/* 802CDDAC 002CAD0C 80 01 00 B4 */ lwz r0, 0xb4(r1)
/* 802CDDB0 002CAD10 90 9F 00 18 */ stw r4, 0x18(r31)
/* 802CDDB4 002CAD14 90 1F 00 1C */ stw r0, 0x1c(r31)
/* 802CDDB8 002CAD18 80 01 00 B8 */ lwz r0, 0xb8(r1)
/* 802CDDBC 002CAD1C 90 1F 00 20 */ stw r0, 0x20(r31)
/* 802CDDC0 002CAD20 80 81 00 BC */ lwz r4, 0xbc(r1)
/* 802CDDC4 002CAD24 80 01 00 C0 */ lwz r0, 0xc0(r1)
/* 802CDDC8 002CAD28 90 9F 00 24 */ stw r4, 0x24(r31)
/* 802CDDCC 002CAD2C 90 1F 00 28 */ stw r0, 0x28(r31)
/* 802CDDD0 002CAD30 80 01 00 C4 */ lwz r0, 0xc4(r1)
/* 802CDDD4 002CAD34 90 1F 00 2C */ stw r0, 0x2c(r31)
/* 802CDDD8 002CAD38 88 01 00 C8 */ lbz r0, 0xc8(r1)
/* 802CDDDC 002CAD3C 98 1F 00 30 */ stb r0, 0x30(r31)
/* 802CDDE0 002CAD40 88 01 00 C9 */ lbz r0, 0xc9(r1)
/* 802CDDE4 002CAD44 98 1F 00 31 */ stb r0, 0x31(r31)
/* 802CDDE8 002CAD48 C8 01 00 D0 */ lfd f0, 0xd0(r1)
/* 802CDDEC 002CAD4C D8 1F 00 38 */ stfd f0, 0x38(r31)
/* 802CDDF0 002CAD50 C8 01 00 D8 */ lfd f0, 0xd8(r1)
/* 802CDDF4 002CAD54 D8 1F 00 40 */ stfd f0, 0x40(r31)
/* 802CDDF8 002CAD58 80 81 00 E0 */ lwz r4, 0xe0(r1)
/* 802CDDFC 002CAD5C 80 01 00 E4 */ lwz r0, 0xe4(r1)
/* 802CDE00 002CAD60 90 9F 00 48 */ stw r4, 0x48(r31)
/* 802CDE04 002CAD64 90 1F 00 4C */ stw r0, 0x4c(r31)
/* 802CDE08 002CAD68 80 01 00 E8 */ lwz r0, 0xe8(r1)
/* 802CDE0C 002CAD6C 90 1F 00 50 */ stw r0, 0x50(r31)
/* 802CDE10 002CAD70 80 81 00 EC */ lwz r4, 0xec(r1)
/* 802CDE14 002CAD74 80 01 00 F0 */ lwz r0, 0xf0(r1)
/* 802CDE18 002CAD78 90 9F 00 54 */ stw r4, 0x54(r31)
/* 802CDE1C 002CAD7C 90 1F 00 58 */ stw r0, 0x58(r31)
/* 802CDE20 002CAD80 80 01 00 F4 */ lwz r0, 0xf4(r1)
/* 802CDE24 002CAD84 90 1F 00 5C */ stw r0, 0x5c(r31)
/* 802CDE28 002CAD88 48 00 00 08 */ b lbl_802CDE30
lbl_802CDE2C:
/* 802CDE2C 002CAD8C 38 60 00 00 */ li r3, 0
lbl_802CDE30:
/* 802CDE30 002CAD90 BB 41 00 F8 */ lmw r26, 0xf8(r1)
/* 802CDE34 002CAD94 80 01 01 14 */ lwz r0, 0x114(r1)
/* 802CDE38 002CAD98 7C 08 03 A6 */ mtlr r0
/* 802CDE3C 002CAD9C 38 21 01 10 */ addi r1, r1, 0x110
/* 802CDE40 002CADA0 4E 80 00 20 */ blr
.global AABox_AABox__7CollideFRC27CInternalCollisionStructureR18CCollisionInfoList
AABox_AABox__7CollideFRC27CInternalCollisionStructureR18CCollisionInfoList:
/* 802CDE44 002CADA4 94 21 FF 80 */ stwu r1, -0x80(r1)
/* 802CDE48 002CADA8 7C 08 02 A6 */ mflr r0
/* 802CDE4C 002CADAC 90 01 00 84 */ stw r0, 0x84(r1)
/* 802CDE50 002CADB0 93 E1 00 7C */ stw r31, 0x7c(r1)
/* 802CDE54 002CADB4 93 C1 00 78 */ stw r30, 0x78(r1)
/* 802CDE58 002CADB8 93 A1 00 74 */ stw r29, 0x74(r1)
/* 802CDE5C 002CADBC 7C 9D 23 78 */ mr r29, r4
/* 802CDE60 002CADC0 93 81 00 70 */ stw r28, 0x70(r1)
/* 802CDE64 002CADC4 7C 7C 1B 78 */ mr r28, r3
/* 802CDE68 002CADC8 38 BC 00 08 */ addi r5, r28, 8
/* 802CDE6C 002CADCC 83 C3 00 00 */ lwz r30, 0(r3)
/* 802CDE70 002CADD0 38 61 00 20 */ addi r3, r1, 0x20
/* 802CDE74 002CADD4 83 FC 00 38 */ lwz r31, 0x38(r28)
/* 802CDE78 002CADD8 7F C4 F3 78 */ mr r4, r30
/* 802CDE7C 002CADDC 4B FF F6 61 */ bl Transform__16CCollidableAABoxCFRC12CTransform4f
/* 802CDE80 002CADE0 C0 A1 00 20 */ lfs f5, 0x20(r1)
/* 802CDE84 002CADE4 7F E4 FB 78 */ mr r4, r31
/* 802CDE88 002CADE8 C0 81 00 24 */ lfs f4, 0x24(r1)
/* 802CDE8C 002CADEC 38 61 00 08 */ addi r3, r1, 8
/* 802CDE90 002CADF0 C0 61 00 28 */ lfs f3, 0x28(r1)
/* 802CDE94 002CADF4 38 BC 00 40 */ addi r5, r28, 0x40
/* 802CDE98 002CADF8 C0 41 00 2C */ lfs f2, 0x2c(r1)
/* 802CDE9C 002CADFC C0 21 00 30 */ lfs f1, 0x30(r1)
/* 802CDEA0 002CAE00 C0 01 00 34 */ lfs f0, 0x34(r1)
/* 802CDEA4 002CAE04 D0 A1 00 50 */ stfs f5, 0x50(r1)
/* 802CDEA8 002CAE08 D0 81 00 54 */ stfs f4, 0x54(r1)
/* 802CDEAC 002CAE0C D0 61 00 58 */ stfs f3, 0x58(r1)
/* 802CDEB0 002CAE10 D0 41 00 5C */ stfs f2, 0x5c(r1)
/* 802CDEB4 002CAE14 D0 21 00 60 */ stfs f1, 0x60(r1)
/* 802CDEB8 002CAE18 D0 01 00 64 */ stfs f0, 0x64(r1)
/* 802CDEBC 002CAE1C 4B FF F6 21 */ bl Transform__16CCollidableAABoxCFRC12CTransform4f
/* 802CDEC0 002CAE20 C0 A1 00 08 */ lfs f5, 8(r1)
/* 802CDEC4 002CAE24 7F E3 FB 78 */ mr r3, r31
/* 802CDEC8 002CAE28 C0 81 00 0C */ lfs f4, 0xc(r1)
/* 802CDECC 002CAE2C C0 61 00 10 */ lfs f3, 0x10(r1)
/* 802CDED0 002CAE30 C0 41 00 14 */ lfs f2, 0x14(r1)
/* 802CDED4 002CAE34 C0 21 00 18 */ lfs f1, 0x18(r1)
/* 802CDED8 002CAE38 C0 01 00 1C */ lfs f0, 0x1c(r1)
/* 802CDEDC 002CAE3C D0 A1 00 38 */ stfs f5, 0x38(r1)
/* 802CDEE0 002CAE40 D0 81 00 3C */ stfs f4, 0x3c(r1)
/* 802CDEE4 002CAE44 D0 61 00 40 */ stfs f3, 0x40(r1)
/* 802CDEE8 002CAE48 D0 41 00 44 */ stfs f2, 0x44(r1)
/* 802CDEEC 002CAE4C D0 21 00 48 */ stfs f1, 0x48(r1)
/* 802CDEF0 002CAE50 D0 01 00 4C */ stfs f0, 0x4c(r1)
/* 802CDEF4 002CAE54 81 9F 00 00 */ lwz r12, 0(r31)
/* 802CDEF8 002CAE58 81 8C 00 10 */ lwz r12, 0x10(r12)
/* 802CDEFC 002CAE5C 7D 89 03 A6 */ mtctr r12
/* 802CDF00 002CAE60 4E 80 04 21 */ bctrl
/* 802CDF04 002CAE64 7C 7F 1B 78 */ mr r31, r3
/* 802CDF08 002CAE68 7F C3 F3 78 */ mr r3, r30
/* 802CDF0C 002CAE6C 81 9E 00 00 */ lwz r12, 0(r30)
/* 802CDF10 002CAE70 81 8C 00 10 */ lwz r12, 0x10(r12)
/* 802CDF14 002CAE74 7D 89 03 A6 */ mtctr r12
/* 802CDF18 002CAE78 4E 80 04 21 */ bctrl
/* 802CDF1C 002CAE7C 7C 64 1B 78 */ mr r4, r3
/* 802CDF20 002CAE80 7F E6 FB 78 */ mr r6, r31
/* 802CDF24 002CAE84 7F A7 EB 78 */ mr r7, r29
/* 802CDF28 002CAE88 38 61 00 50 */ addi r3, r1, 0x50
/* 802CDF2C 002CAE8C 38 A1 00 38 */ addi r5, r1, 0x38
/* 802CDF30 002CAE90 48 00 4B 91 */ bl AABoxAABoxIntersection__13CollisionUtilFRC6CAABoxRC13CMaterialListRC6CAABoxRC13CMaterialListR18CCollisionInfoList
/* 802CDF34 002CAE94 80 01 00 84 */ lwz r0, 0x84(r1)
/* 802CDF38 002CAE98 83 E1 00 7C */ lwz r31, 0x7c(r1)
/* 802CDF3C 002CAE9C 83 C1 00 78 */ lwz r30, 0x78(r1)
/* 802CDF40 002CAEA0 83 A1 00 74 */ lwz r29, 0x74(r1)
/* 802CDF44 002CAEA4 83 81 00 70 */ lwz r28, 0x70(r1)
/* 802CDF48 002CAEA8 7C 08 03 A6 */ mtlr r0
/* 802CDF4C 002CAEAC 38 21 00 80 */ addi r1, r1, 0x80
/* 802CDF50 002CAEB0 4E 80 00 20 */ blr
.global AABox_AABox_Bool__7CollideFRC27CInternalCollisionStructure
AABox_AABox_Bool__7CollideFRC27CInternalCollisionStructure:
/* 802CDF54 002CAEB4 94 21 FF 90 */ stwu r1, -0x70(r1)
/* 802CDF58 002CAEB8 7C 08 02 A6 */ mflr r0
/* 802CDF5C 002CAEBC 90 01 00 74 */ stw r0, 0x74(r1)
/* 802CDF60 002CAEC0 93 E1 00 6C */ stw r31, 0x6c(r1)
/* 802CDF64 002CAEC4 93 C1 00 68 */ stw r30, 0x68(r1)
/* 802CDF68 002CAEC8 7C 7E 1B 78 */ mr r30, r3
/* 802CDF6C 002CAECC 38 61 00 20 */ addi r3, r1, 0x20
/* 802CDF70 002CAED0 83 FE 00 38 */ lwz r31, 0x38(r30)
/* 802CDF74 002CAED4 38 BE 00 08 */ addi r5, r30, 8
/* 802CDF78 002CAED8 80 9E 00 00 */ lwz r4, 0(r30)
/* 802CDF7C 002CAEDC 4B FF F5 61 */ bl Transform__16CCollidableAABoxCFRC12CTransform4f
/* 802CDF80 002CAEE0 C0 A1 00 20 */ lfs f5, 0x20(r1)
/* 802CDF84 002CAEE4 7F E4 FB 78 */ mr r4, r31
/* 802CDF88 002CAEE8 C0 81 00 24 */ lfs f4, 0x24(r1)
/* 802CDF8C 002CAEEC 38 61 00 08 */ addi r3, r1, 8
/* 802CDF90 002CAEF0 C0 61 00 28 */ lfs f3, 0x28(r1)
/* 802CDF94 002CAEF4 38 BE 00 40 */ addi r5, r30, 0x40
/* 802CDF98 002CAEF8 C0 41 00 2C */ lfs f2, 0x2c(r1)
/* 802CDF9C 002CAEFC C0 21 00 30 */ lfs f1, 0x30(r1)
/* 802CDFA0 002CAF00 C0 01 00 34 */ lfs f0, 0x34(r1)
/* 802CDFA4 002CAF04 D0 A1 00 50 */ stfs f5, 0x50(r1)
/* 802CDFA8 002CAF08 D0 81 00 54 */ stfs f4, 0x54(r1)
/* 802CDFAC 002CAF0C D0 61 00 58 */ stfs f3, 0x58(r1)
/* 802CDFB0 002CAF10 D0 41 00 5C */ stfs f2, 0x5c(r1)
/* 802CDFB4 002CAF14 D0 21 00 60 */ stfs f1, 0x60(r1)
/* 802CDFB8 002CAF18 D0 01 00 64 */ stfs f0, 0x64(r1)
/* 802CDFBC 002CAF1C 4B FF F5 21 */ bl Transform__16CCollidableAABoxCFRC12CTransform4f
/* 802CDFC0 002CAF20 C0 A1 00 08 */ lfs f5, 8(r1)
/* 802CDFC4 002CAF24 38 61 00 50 */ addi r3, r1, 0x50
/* 802CDFC8 002CAF28 C0 81 00 0C */ lfs f4, 0xc(r1)
/* 802CDFCC 002CAF2C 38 81 00 38 */ addi r4, r1, 0x38
/* 802CDFD0 002CAF30 C0 61 00 10 */ lfs f3, 0x10(r1)
/* 802CDFD4 002CAF34 C0 41 00 14 */ lfs f2, 0x14(r1)
/* 802CDFD8 002CAF38 C0 21 00 18 */ lfs f1, 0x18(r1)
/* 802CDFDC 002CAF3C C0 01 00 1C */ lfs f0, 0x1c(r1)
/* 802CDFE0 002CAF40 D0 A1 00 38 */ stfs f5, 0x38(r1)
/* 802CDFE4 002CAF44 D0 81 00 3C */ stfs f4, 0x3c(r1)
/* 802CDFE8 002CAF48 D0 61 00 40 */ stfs f3, 0x40(r1)
/* 802CDFEC 002CAF4C D0 41 00 44 */ stfs f2, 0x44(r1)
/* 802CDFF0 002CAF50 D0 21 00 48 */ stfs f1, 0x48(r1)
/* 802CDFF4 002CAF54 D0 01 00 4C */ stfs f0, 0x4c(r1)
/* 802CDFF8 002CAF58 48 00 4E C5 */ bl AABoxAABoxIntersection__13CollisionUtilFRC6CAABoxRC6CAABox
/* 802CDFFC 002CAF5C 80 01 00 74 */ lwz r0, 0x74(r1)
/* 802CE000 002CAF60 83 E1 00 6C */ lwz r31, 0x6c(r1)
/* 802CE004 002CAF64 83 C1 00 68 */ lwz r30, 0x68(r1)
/* 802CE008 002CAF68 7C 08 03 A6 */ mtlr r0
/* 802CE00C 002CAF6C 38 21 00 70 */ addi r1, r1, 0x70
/* 802CE010 002CAF70 4E 80 00 20 */ blr
.global GetType__16CCollidableAABoxFv
GetType__16CCollidableAABoxFv:
/* 802CE014 002CAF74 3C A0 80 2D */ lis r5, SetStaticTableIndex__16CCollidableAABoxFUi@ha
/* 802CE018 002CAF78 3C 80 80 3D */ lis r4, lbl_803D69E8@ha
/* 802CE01C 002CAF7C 38 05 E0 30 */ addi r0, r5, SetStaticTableIndex__16CCollidableAABoxFUi@l
/* 802CE020 002CAF80 90 03 00 00 */ stw r0, 0(r3)
/* 802CE024 002CAF84 38 04 69 E8 */ addi r0, r4, lbl_803D69E8@l
/* 802CE028 002CAF88 90 03 00 04 */ stw r0, 4(r3)
/* 802CE02C 002CAF8C 4E 80 00 20 */ blr
.global SetStaticTableIndex__16CCollidableAABoxFUi
SetStaticTableIndex__16CCollidableAABoxFUi:
/* 802CE030 002CAF90 90 6D 9B 28 */ stw r3, sTableIndex__16CCollidableAABox@sda21(r13)
/* 802CE034 002CAF94 4E 80 00 20 */ blr
.global __sinit_CCollidableAABox_cpp
__sinit_CCollidableAABox_cpp:
/* 802CE038 002CAF98 C0 42 C4 88 */ lfs f2, lbl_805AE1A8@sda21(r2)
/* 802CE03C 002CAF9C 3C 60 80 48 */ lis r3, normalTable@ha
/* 802CE040 002CAFA0 C0 22 C4 80 */ lfs f1, lbl_805AE1A0@sda21(r2)
/* 802CE044 002CAFA4 D4 43 94 98 */ stfsu f2, normalTable@l(r3)
/* 802CE048 002CAFA8 C0 02 C4 84 */ lfs f0, lbl_805AE1A4@sda21(r2)
/* 802CE04C 002CAFAC D0 23 00 04 */ stfs f1, 4(r3)
/* 802CE050 002CAFB0 D0 23 00 08 */ stfs f1, 8(r3)
/* 802CE054 002CAFB4 D0 03 00 0C */ stfs f0, 0xc(r3)
/* 802CE058 002CAFB8 D0 23 00 10 */ stfs f1, 0x10(r3)
/* 802CE05C 002CAFBC D0 23 00 14 */ stfs f1, 0x14(r3)
/* 802CE060 002CAFC0 D0 23 00 18 */ stfs f1, 0x18(r3)
/* 802CE064 002CAFC4 D0 43 00 1C */ stfs f2, 0x1c(r3)
/* 802CE068 002CAFC8 D0 23 00 20 */ stfs f1, 0x20(r3)
/* 802CE06C 002CAFCC D0 23 00 24 */ stfs f1, 0x24(r3)
/* 802CE070 002CAFD0 D0 03 00 28 */ stfs f0, 0x28(r3)
/* 802CE074 002CAFD4 D0 23 00 2C */ stfs f1, 0x2c(r3)
/* 802CE078 002CAFD8 D0 23 00 30 */ stfs f1, 0x30(r3)
/* 802CE07C 002CAFDC D0 23 00 34 */ stfs f1, 0x34(r3)
/* 802CE080 002CAFE0 D0 43 00 38 */ stfs f2, 0x38(r3)
/* 802CE084 002CAFE4 D0 23 00 3C */ stfs f1, 0x3c(r3)
/* 802CE088 002CAFE8 D0 23 00 40 */ stfs f1, 0x40(r3)
/* 802CE08C 002CAFEC D0 03 00 44 */ stfs f0, 0x44(r3)
/* 802CE090 002CAFF0 4E 80 00 20 */ blr
.section .sdata2, "a"
.balign 8
.global lbl_805AE1A0
lbl_805AE1A0:
# ROM: 0x3FAA40
.4byte 0
.global lbl_805AE1A4
lbl_805AE1A4:
# ROM: 0x3FAA44
.float 1.0
.global lbl_805AE1A8
lbl_805AE1A8:
# ROM: 0x3FAA48
.float -1.0
.4byte 0
.global lbl_805AE1B0
lbl_805AE1B0:
# ROM: 0x3FAA50
.4byte 0
.4byte 0
.section .rodata
.balign 8
.global lbl_803D69E8
lbl_803D69E8:
# ROM: 0x3D39E8
.asciz "CCollidableAABox"
.balign 4
.4byte 0

View File

@ -1,35 +0,0 @@
.include "macros.inc"
.section .sdata
.balign 8
.global sTableIndex__27CCollidableCollisionSurface
sTableIndex__27CCollidableCollisionSurface:
# ROM: 0x3F6090
.4byte 0xFFFFFFFF
.4byte 0
.section .text, "ax"
.global GetType__27CCollidableCollisionSurfaceFv
GetType__27CCollidableCollisionSurfaceFv:
/* 802CE094 002CAFF4 3C A0 80 2D */ lis r5, SetStaticTableIndex__27CCollidableCollisionSurfaceFUi@ha
/* 802CE098 002CAFF8 3C 80 80 3D */ lis r4, lbl_803D6A00@ha
/* 802CE09C 002CAFFC 38 05 E0 B0 */ addi r0, r5, SetStaticTableIndex__27CCollidableCollisionSurfaceFUi@l
/* 802CE0A0 002CB000 90 03 00 00 */ stw r0, 0(r3)
/* 802CE0A4 002CB004 38 04 6A 00 */ addi r0, r4, lbl_803D6A00@l
/* 802CE0A8 002CB008 90 03 00 04 */ stw r0, 4(r3)
/* 802CE0AC 002CB00C 4E 80 00 20 */ blr
.global SetStaticTableIndex__27CCollidableCollisionSurfaceFUi
SetStaticTableIndex__27CCollidableCollisionSurfaceFUi:
/* 802CE0B0 002CB010 90 6D 9B 30 */ stw r3, sTableIndex__27CCollidableCollisionSurface@sda21(r13)
/* 802CE0B4 002CB014 4E 80 00 20 */ blr
.section .rodata
.balign 8
.global lbl_803D6A00
lbl_803D6A00:
# ROM: 0x3D3A00
.asciz "CCollidableCollisionSurface"
.4byte 0

File diff suppressed because it is too large Load Diff

View File

@ -1,315 +0,0 @@
.include "macros.inc"
.section .text, "ax"
.global Swap__14CCollisionInfoFv
Swap__14CCollisionInfoFv:
/* 802CE0B8 002CB018 C0 03 00 48 */ lfs f0, 0x48(r3)
/* 802CE0BC 002CB01C C0 23 00 4C */ lfs f1, 0x4c(r3)
/* 802CE0C0 002CB020 FC 00 00 50 */ fneg f0, f0
/* 802CE0C4 002CB024 C0 43 00 50 */ lfs f2, 0x50(r3)
/* 802CE0C8 002CB028 FC 20 08 50 */ fneg f1, f1
/* 802CE0CC 002CB02C FC 40 10 50 */ fneg f2, f2
/* 802CE0D0 002CB030 D0 03 00 48 */ stfs f0, 0x48(r3)
/* 802CE0D4 002CB034 D0 23 00 4C */ stfs f1, 0x4c(r3)
/* 802CE0D8 002CB038 D0 43 00 50 */ stfs f2, 0x50(r3)
/* 802CE0DC 002CB03C C0 03 00 54 */ lfs f0, 0x54(r3)
/* 802CE0E0 002CB040 C0 23 00 58 */ lfs f1, 0x58(r3)
/* 802CE0E4 002CB044 FC 00 00 50 */ fneg f0, f0
/* 802CE0E8 002CB048 C0 43 00 5C */ lfs f2, 0x5c(r3)
/* 802CE0EC 002CB04C FC 20 08 50 */ fneg f1, f1
/* 802CE0F0 002CB050 FC 40 10 50 */ fneg f2, f2
/* 802CE0F4 002CB054 D0 03 00 54 */ stfs f0, 0x54(r3)
/* 802CE0F8 002CB058 D0 23 00 58 */ stfs f1, 0x58(r3)
/* 802CE0FC 002CB05C D0 43 00 5C */ stfs f2, 0x5c(r3)
/* 802CE100 002CB060 80 A3 00 38 */ lwz r5, 0x38(r3)
/* 802CE104 002CB064 80 C3 00 3C */ lwz r6, 0x3c(r3)
/* 802CE108 002CB068 80 03 00 40 */ lwz r0, 0x40(r3)
/* 802CE10C 002CB06C 80 83 00 44 */ lwz r4, 0x44(r3)
/* 802CE110 002CB070 90 83 00 3C */ stw r4, 0x3c(r3)
/* 802CE114 002CB074 90 03 00 38 */ stw r0, 0x38(r3)
/* 802CE118 002CB078 90 C3 00 44 */ stw r6, 0x44(r3)
/* 802CE11C 002CB07C 90 A3 00 40 */ stw r5, 0x40(r3)
/* 802CE120 002CB080 4E 80 00 20 */ blr
.global GetExtreme__14CCollisionInfoCFv
GetExtreme__14CCollisionInfoCFv:
/* 802CE124 002CB084 C0 24 00 00 */ lfs f1, 0(r4)
/* 802CE128 002CB088 C0 04 00 0C */ lfs f0, 0xc(r4)
/* 802CE12C 002CB08C C0 64 00 04 */ lfs f3, 4(r4)
/* 802CE130 002CB090 C0 44 00 10 */ lfs f2, 0x10(r4)
/* 802CE134 002CB094 EC 21 00 2A */ fadds f1, f1, f0
/* 802CE138 002CB098 C0 04 00 18 */ lfs f0, 0x18(r4)
/* 802CE13C 002CB09C EC A3 10 2A */ fadds f5, f3, f2
/* 802CE140 002CB0A0 C0 84 00 1C */ lfs f4, 0x1c(r4)
/* 802CE144 002CB0A4 C0 64 00 08 */ lfs f3, 8(r4)
/* 802CE148 002CB0A8 EC 21 00 2A */ fadds f1, f1, f0
/* 802CE14C 002CB0AC C0 44 00 14 */ lfs f2, 0x14(r4)
/* 802CE150 002CB0B0 C0 04 00 24 */ lfs f0, 0x24(r4)
/* 802CE154 002CB0B4 EC 63 10 2A */ fadds f3, f3, f2
/* 802CE158 002CB0B8 C0 44 00 20 */ lfs f2, 0x20(r4)
/* 802CE15C 002CB0BC EC A5 20 2A */ fadds f5, f5, f4
/* 802CE160 002CB0C0 C0 84 00 28 */ lfs f4, 0x28(r4)
/* 802CE164 002CB0C4 EC 01 00 2A */ fadds f0, f1, f0
/* 802CE168 002CB0C8 C0 24 00 2C */ lfs f1, 0x2c(r4)
/* 802CE16C 002CB0CC EC 43 10 2A */ fadds f2, f3, f2
/* 802CE170 002CB0D0 EC 65 20 2A */ fadds f3, f5, f4
/* 802CE174 002CB0D4 D0 03 00 00 */ stfs f0, 0(r3)
/* 802CE178 002CB0D8 EC 02 08 2A */ fadds f0, f2, f1
/* 802CE17C 002CB0DC D0 63 00 04 */ stfs f3, 4(r3)
/* 802CE180 002CB0E0 D0 03 00 08 */ stfs f0, 8(r3)
/* 802CE184 002CB0E4 4E 80 00 20 */ blr
.global __ct__14CCollisionInfoFQ214CCollisionInfo8EInvalid
__ct__14CCollisionInfoFQ214CCollisionInfo8EInvalid:
/* 802CE188 002CB0E8 C0 02 C4 98 */ lfs f0, lbl_805AE1B8@sda21(r2)
/* 802CE18C 002CB0EC 38 00 00 00 */ li r0, 0
/* 802CE190 002CB0F0 D0 03 00 00 */ stfs f0, 0(r3)
/* 802CE194 002CB0F4 D0 03 00 04 */ stfs f0, 4(r3)
/* 802CE198 002CB0F8 D0 03 00 08 */ stfs f0, 8(r3)
/* 802CE19C 002CB0FC D0 03 00 0C */ stfs f0, 0xc(r3)
/* 802CE1A0 002CB100 D0 03 00 10 */ stfs f0, 0x10(r3)
/* 802CE1A4 002CB104 D0 03 00 14 */ stfs f0, 0x14(r3)
/* 802CE1A8 002CB108 D0 03 00 18 */ stfs f0, 0x18(r3)
/* 802CE1AC 002CB10C D0 03 00 1C */ stfs f0, 0x1c(r3)
/* 802CE1B0 002CB110 D0 03 00 20 */ stfs f0, 0x20(r3)
/* 802CE1B4 002CB114 D0 03 00 24 */ stfs f0, 0x24(r3)
/* 802CE1B8 002CB118 D0 03 00 28 */ stfs f0, 0x28(r3)
/* 802CE1BC 002CB11C D0 03 00 2C */ stfs f0, 0x2c(r3)
/* 802CE1C0 002CB120 98 03 00 30 */ stb r0, 0x30(r3)
/* 802CE1C4 002CB124 98 03 00 31 */ stb r0, 0x31(r3)
/* 802CE1C8 002CB128 90 03 00 3C */ stw r0, 0x3c(r3)
/* 802CE1CC 002CB12C 90 03 00 38 */ stw r0, 0x38(r3)
/* 802CE1D0 002CB130 90 03 00 44 */ stw r0, 0x44(r3)
/* 802CE1D4 002CB134 90 03 00 40 */ stw r0, 0x40(r3)
/* 802CE1D8 002CB138 D0 03 00 48 */ stfs f0, 0x48(r3)
/* 802CE1DC 002CB13C D0 03 00 4C */ stfs f0, 0x4c(r3)
/* 802CE1E0 002CB140 D0 03 00 50 */ stfs f0, 0x50(r3)
/* 802CE1E4 002CB144 D0 03 00 54 */ stfs f0, 0x54(r3)
/* 802CE1E8 002CB148 D0 03 00 58 */ stfs f0, 0x58(r3)
/* 802CE1EC 002CB14C D0 03 00 5C */ stfs f0, 0x5c(r3)
/* 802CE1F0 002CB150 4E 80 00 20 */ blr
.global GetSwapped__14CCollisionInfoCFv
GetSwapped__14CCollisionInfoCFv:
/* 802CE1F4 002CB154 C0 04 00 00 */ lfs f0, 0(r4)
/* 802CE1F8 002CB158 D0 03 00 00 */ stfs f0, 0(r3)
/* 802CE1FC 002CB15C C0 04 00 04 */ lfs f0, 4(r4)
/* 802CE200 002CB160 D0 03 00 04 */ stfs f0, 4(r3)
/* 802CE204 002CB164 C0 04 00 08 */ lfs f0, 8(r4)
/* 802CE208 002CB168 D0 03 00 08 */ stfs f0, 8(r3)
/* 802CE20C 002CB16C C0 04 00 0C */ lfs f0, 0xc(r4)
/* 802CE210 002CB170 D0 03 00 0C */ stfs f0, 0xc(r3)
/* 802CE214 002CB174 C0 04 00 10 */ lfs f0, 0x10(r4)
/* 802CE218 002CB178 D0 03 00 10 */ stfs f0, 0x10(r3)
/* 802CE21C 002CB17C C0 04 00 14 */ lfs f0, 0x14(r4)
/* 802CE220 002CB180 D0 03 00 14 */ stfs f0, 0x14(r3)
/* 802CE224 002CB184 C0 04 00 18 */ lfs f0, 0x18(r4)
/* 802CE228 002CB188 D0 03 00 18 */ stfs f0, 0x18(r3)
/* 802CE22C 002CB18C C0 04 00 1C */ lfs f0, 0x1c(r4)
/* 802CE230 002CB190 D0 03 00 1C */ stfs f0, 0x1c(r3)
/* 802CE234 002CB194 C0 04 00 20 */ lfs f0, 0x20(r4)
/* 802CE238 002CB198 D0 03 00 20 */ stfs f0, 0x20(r3)
/* 802CE23C 002CB19C C0 04 00 24 */ lfs f0, 0x24(r4)
/* 802CE240 002CB1A0 D0 03 00 24 */ stfs f0, 0x24(r3)
/* 802CE244 002CB1A4 C0 04 00 28 */ lfs f0, 0x28(r4)
/* 802CE248 002CB1A8 D0 03 00 28 */ stfs f0, 0x28(r3)
/* 802CE24C 002CB1AC C0 04 00 2C */ lfs f0, 0x2c(r4)
/* 802CE250 002CB1B0 D0 03 00 2C */ stfs f0, 0x2c(r3)
/* 802CE254 002CB1B4 88 04 00 30 */ lbz r0, 0x30(r4)
/* 802CE258 002CB1B8 98 03 00 30 */ stb r0, 0x30(r3)
/* 802CE25C 002CB1BC 88 04 00 31 */ lbz r0, 0x31(r4)
/* 802CE260 002CB1C0 98 03 00 31 */ stb r0, 0x31(r3)
/* 802CE264 002CB1C4 80 04 00 40 */ lwz r0, 0x40(r4)
/* 802CE268 002CB1C8 80 A4 00 44 */ lwz r5, 0x44(r4)
/* 802CE26C 002CB1CC 90 A3 00 3C */ stw r5, 0x3c(r3)
/* 802CE270 002CB1D0 90 03 00 38 */ stw r0, 0x38(r3)
/* 802CE274 002CB1D4 80 04 00 38 */ lwz r0, 0x38(r4)
/* 802CE278 002CB1D8 80 A4 00 3C */ lwz r5, 0x3c(r4)
/* 802CE27C 002CB1DC 90 A3 00 44 */ stw r5, 0x44(r3)
/* 802CE280 002CB1E0 90 03 00 40 */ stw r0, 0x40(r3)
/* 802CE284 002CB1E4 C0 04 00 54 */ lfs f0, 0x54(r4)
/* 802CE288 002CB1E8 D0 03 00 48 */ stfs f0, 0x48(r3)
/* 802CE28C 002CB1EC C0 04 00 58 */ lfs f0, 0x58(r4)
/* 802CE290 002CB1F0 D0 03 00 4C */ stfs f0, 0x4c(r3)
/* 802CE294 002CB1F4 C0 04 00 5C */ lfs f0, 0x5c(r4)
/* 802CE298 002CB1F8 D0 03 00 50 */ stfs f0, 0x50(r3)
/* 802CE29C 002CB1FC C0 04 00 48 */ lfs f0, 0x48(r4)
/* 802CE2A0 002CB200 D0 03 00 54 */ stfs f0, 0x54(r3)
/* 802CE2A4 002CB204 C0 04 00 4C */ lfs f0, 0x4c(r4)
/* 802CE2A8 002CB208 D0 03 00 58 */ stfs f0, 0x58(r3)
/* 802CE2AC 002CB20C C0 04 00 50 */ lfs f0, 0x50(r4)
/* 802CE2B0 002CB210 D0 03 00 5C */ stfs f0, 0x5c(r3)
/* 802CE2B4 002CB214 4E 80 00 20 */ blr
.global __ct__14CCollisionInfoFRC6CAABoxRC13CMaterialListRC13CMaterialListRC9CVector3fRC9CVector3f
__ct__14CCollisionInfoFRC6CAABoxRC13CMaterialListRC13CMaterialListRC9CVector3fRC9CVector3f:
/* 802CE2B8 002CB218 C0 04 00 00 */ lfs f0, 0(r4)
/* 802CE2BC 002CB21C 38 00 00 01 */ li r0, 1
/* 802CE2C0 002CB220 C0 22 C4 98 */ lfs f1, lbl_805AE1B8@sda21(r2)
/* 802CE2C4 002CB224 D0 03 00 00 */ stfs f0, 0(r3)
/* 802CE2C8 002CB228 C0 04 00 04 */ lfs f0, 4(r4)
/* 802CE2CC 002CB22C D0 03 00 04 */ stfs f0, 4(r3)
/* 802CE2D0 002CB230 C0 04 00 08 */ lfs f0, 8(r4)
/* 802CE2D4 002CB234 D0 03 00 08 */ stfs f0, 8(r3)
/* 802CE2D8 002CB238 C0 44 00 0C */ lfs f2, 0xc(r4)
/* 802CE2DC 002CB23C C0 04 00 00 */ lfs f0, 0(r4)
/* 802CE2E0 002CB240 EC 02 00 28 */ fsubs f0, f2, f0
/* 802CE2E4 002CB244 D0 03 00 0C */ stfs f0, 0xc(r3)
/* 802CE2E8 002CB248 D0 23 00 10 */ stfs f1, 0x10(r3)
/* 802CE2EC 002CB24C D0 23 00 14 */ stfs f1, 0x14(r3)
/* 802CE2F0 002CB250 C0 04 00 04 */ lfs f0, 4(r4)
/* 802CE2F4 002CB254 C0 44 00 10 */ lfs f2, 0x10(r4)
/* 802CE2F8 002CB258 EC 02 00 28 */ fsubs f0, f2, f0
/* 802CE2FC 002CB25C D0 23 00 18 */ stfs f1, 0x18(r3)
/* 802CE300 002CB260 D0 03 00 1C */ stfs f0, 0x1c(r3)
/* 802CE304 002CB264 D0 23 00 20 */ stfs f1, 0x20(r3)
/* 802CE308 002CB268 C0 04 00 08 */ lfs f0, 8(r4)
/* 802CE30C 002CB26C C0 44 00 14 */ lfs f2, 0x14(r4)
/* 802CE310 002CB270 D0 23 00 24 */ stfs f1, 0x24(r3)
/* 802CE314 002CB274 EC 02 00 28 */ fsubs f0, f2, f0
/* 802CE318 002CB278 D0 23 00 28 */ stfs f1, 0x28(r3)
/* 802CE31C 002CB27C D0 03 00 2C */ stfs f0, 0x2c(r3)
/* 802CE320 002CB280 98 03 00 30 */ stb r0, 0x30(r3)
/* 802CE324 002CB284 98 03 00 31 */ stb r0, 0x31(r3)
/* 802CE328 002CB288 80 06 00 00 */ lwz r0, 0(r6)
/* 802CE32C 002CB28C 80 86 00 04 */ lwz r4, 4(r6)
/* 802CE330 002CB290 90 83 00 3C */ stw r4, 0x3c(r3)
/* 802CE334 002CB294 90 03 00 38 */ stw r0, 0x38(r3)
/* 802CE338 002CB298 80 05 00 00 */ lwz r0, 0(r5)
/* 802CE33C 002CB29C 80 85 00 04 */ lwz r4, 4(r5)
/* 802CE340 002CB2A0 90 83 00 44 */ stw r4, 0x44(r3)
/* 802CE344 002CB2A4 90 03 00 40 */ stw r0, 0x40(r3)
/* 802CE348 002CB2A8 C0 07 00 00 */ lfs f0, 0(r7)
/* 802CE34C 002CB2AC D0 03 00 48 */ stfs f0, 0x48(r3)
/* 802CE350 002CB2B0 C0 07 00 04 */ lfs f0, 4(r7)
/* 802CE354 002CB2B4 D0 03 00 4C */ stfs f0, 0x4c(r3)
/* 802CE358 002CB2B8 C0 07 00 08 */ lfs f0, 8(r7)
/* 802CE35C 002CB2BC D0 03 00 50 */ stfs f0, 0x50(r3)
/* 802CE360 002CB2C0 C0 08 00 00 */ lfs f0, 0(r8)
/* 802CE364 002CB2C4 D0 03 00 54 */ stfs f0, 0x54(r3)
/* 802CE368 002CB2C8 C0 08 00 04 */ lfs f0, 4(r8)
/* 802CE36C 002CB2CC D0 03 00 58 */ stfs f0, 0x58(r3)
/* 802CE370 002CB2D0 C0 08 00 08 */ lfs f0, 8(r8)
/* 802CE374 002CB2D4 D0 03 00 5C */ stfs f0, 0x5c(r3)
/* 802CE378 002CB2D8 4E 80 00 20 */ blr
.global __ct__14CCollisionInfoFRC9CVector3fRC13CMaterialListRC13CMaterialListRC9CVector3fRC9CVector3f
__ct__14CCollisionInfoFRC9CVector3fRC13CMaterialListRC13CMaterialListRC9CVector3fRC9CVector3f:
/* 802CE37C 002CB2DC C0 04 00 00 */ lfs f0, 0(r4)
/* 802CE380 002CB2E0 3D 20 80 5A */ lis r9, sZeroVector__9CVector3f@ha
/* 802CE384 002CB2E4 39 49 66 A0 */ addi r10, r9, sZeroVector__9CVector3f@l
/* 802CE388 002CB2E8 39 20 00 01 */ li r9, 1
/* 802CE38C 002CB2EC D0 03 00 00 */ stfs f0, 0(r3)
/* 802CE390 002CB2F0 38 00 00 00 */ li r0, 0
/* 802CE394 002CB2F4 C0 04 00 04 */ lfs f0, 4(r4)
/* 802CE398 002CB2F8 D0 03 00 04 */ stfs f0, 4(r3)
/* 802CE39C 002CB2FC C0 04 00 08 */ lfs f0, 8(r4)
/* 802CE3A0 002CB300 D0 03 00 08 */ stfs f0, 8(r3)
/* 802CE3A4 002CB304 C0 0A 00 00 */ lfs f0, 0(r10)
/* 802CE3A8 002CB308 D0 03 00 0C */ stfs f0, 0xc(r3)
/* 802CE3AC 002CB30C C0 0A 00 04 */ lfs f0, 4(r10)
/* 802CE3B0 002CB310 D0 03 00 10 */ stfs f0, 0x10(r3)
/* 802CE3B4 002CB314 C0 0A 00 08 */ lfs f0, 8(r10)
/* 802CE3B8 002CB318 D0 03 00 14 */ stfs f0, 0x14(r3)
/* 802CE3BC 002CB31C C0 0A 00 00 */ lfs f0, 0(r10)
/* 802CE3C0 002CB320 D0 03 00 18 */ stfs f0, 0x18(r3)
/* 802CE3C4 002CB324 C0 0A 00 04 */ lfs f0, 4(r10)
/* 802CE3C8 002CB328 D0 03 00 1C */ stfs f0, 0x1c(r3)
/* 802CE3CC 002CB32C C0 0A 00 08 */ lfs f0, 8(r10)
/* 802CE3D0 002CB330 D0 03 00 20 */ stfs f0, 0x20(r3)
/* 802CE3D4 002CB334 C0 0A 00 00 */ lfs f0, 0(r10)
/* 802CE3D8 002CB338 D0 03 00 24 */ stfs f0, 0x24(r3)
/* 802CE3DC 002CB33C C0 0A 00 04 */ lfs f0, 4(r10)
/* 802CE3E0 002CB340 D0 03 00 28 */ stfs f0, 0x28(r3)
/* 802CE3E4 002CB344 C0 0A 00 08 */ lfs f0, 8(r10)
/* 802CE3E8 002CB348 D0 03 00 2C */ stfs f0, 0x2c(r3)
/* 802CE3EC 002CB34C 99 23 00 30 */ stb r9, 0x30(r3)
/* 802CE3F0 002CB350 98 03 00 31 */ stb r0, 0x31(r3)
/* 802CE3F4 002CB354 80 06 00 00 */ lwz r0, 0(r6)
/* 802CE3F8 002CB358 80 86 00 04 */ lwz r4, 4(r6)
/* 802CE3FC 002CB35C 90 83 00 3C */ stw r4, 0x3c(r3)
/* 802CE400 002CB360 90 03 00 38 */ stw r0, 0x38(r3)
/* 802CE404 002CB364 80 05 00 00 */ lwz r0, 0(r5)
/* 802CE408 002CB368 80 85 00 04 */ lwz r4, 4(r5)
/* 802CE40C 002CB36C 90 83 00 44 */ stw r4, 0x44(r3)
/* 802CE410 002CB370 90 03 00 40 */ stw r0, 0x40(r3)
/* 802CE414 002CB374 C0 07 00 00 */ lfs f0, 0(r7)
/* 802CE418 002CB378 D0 03 00 48 */ stfs f0, 0x48(r3)
/* 802CE41C 002CB37C C0 07 00 04 */ lfs f0, 4(r7)
/* 802CE420 002CB380 D0 03 00 4C */ stfs f0, 0x4c(r3)
/* 802CE424 002CB384 C0 07 00 08 */ lfs f0, 8(r7)
/* 802CE428 002CB388 D0 03 00 50 */ stfs f0, 0x50(r3)
/* 802CE42C 002CB38C C0 08 00 00 */ lfs f0, 0(r8)
/* 802CE430 002CB390 D0 03 00 54 */ stfs f0, 0x54(r3)
/* 802CE434 002CB394 C0 08 00 04 */ lfs f0, 4(r8)
/* 802CE438 002CB398 D0 03 00 58 */ stfs f0, 0x58(r3)
/* 802CE43C 002CB39C C0 08 00 08 */ lfs f0, 8(r8)
/* 802CE440 002CB3A0 D0 03 00 5C */ stfs f0, 0x5c(r3)
/* 802CE444 002CB3A4 4E 80 00 20 */ blr
.global __ct__14CCollisionInfoFRC9CVector3fRC13CMaterialListRC13CMaterialListRC9CVector3f
__ct__14CCollisionInfoFRC9CVector3fRC13CMaterialListRC13CMaterialListRC9CVector3f:
/* 802CE448 002CB3A8 C0 04 00 00 */ lfs f0, 0(r4)
/* 802CE44C 002CB3AC 3D 00 80 5A */ lis r8, sZeroVector__9CVector3f@ha
/* 802CE450 002CB3B0 39 28 66 A0 */ addi r9, r8, sZeroVector__9CVector3f@l
/* 802CE454 002CB3B4 39 00 00 01 */ li r8, 1
/* 802CE458 002CB3B8 D0 03 00 00 */ stfs f0, 0(r3)
/* 802CE45C 002CB3BC 38 00 00 00 */ li r0, 0
/* 802CE460 002CB3C0 C0 04 00 04 */ lfs f0, 4(r4)
/* 802CE464 002CB3C4 D0 03 00 04 */ stfs f0, 4(r3)
/* 802CE468 002CB3C8 C0 04 00 08 */ lfs f0, 8(r4)
/* 802CE46C 002CB3CC D0 03 00 08 */ stfs f0, 8(r3)
/* 802CE470 002CB3D0 C0 09 00 00 */ lfs f0, 0(r9)
/* 802CE474 002CB3D4 D0 03 00 0C */ stfs f0, 0xc(r3)
/* 802CE478 002CB3D8 C0 09 00 04 */ lfs f0, 4(r9)
/* 802CE47C 002CB3DC D0 03 00 10 */ stfs f0, 0x10(r3)
/* 802CE480 002CB3E0 C0 09 00 08 */ lfs f0, 8(r9)
/* 802CE484 002CB3E4 D0 03 00 14 */ stfs f0, 0x14(r3)
/* 802CE488 002CB3E8 C0 09 00 00 */ lfs f0, 0(r9)
/* 802CE48C 002CB3EC D0 03 00 18 */ stfs f0, 0x18(r3)
/* 802CE490 002CB3F0 C0 09 00 04 */ lfs f0, 4(r9)
/* 802CE494 002CB3F4 D0 03 00 1C */ stfs f0, 0x1c(r3)
/* 802CE498 002CB3F8 C0 09 00 08 */ lfs f0, 8(r9)
/* 802CE49C 002CB3FC D0 03 00 20 */ stfs f0, 0x20(r3)
/* 802CE4A0 002CB400 C0 09 00 00 */ lfs f0, 0(r9)
/* 802CE4A4 002CB404 D0 03 00 24 */ stfs f0, 0x24(r3)
/* 802CE4A8 002CB408 C0 09 00 04 */ lfs f0, 4(r9)
/* 802CE4AC 002CB40C D0 03 00 28 */ stfs f0, 0x28(r3)
/* 802CE4B0 002CB410 C0 09 00 08 */ lfs f0, 8(r9)
/* 802CE4B4 002CB414 D0 03 00 2C */ stfs f0, 0x2c(r3)
/* 802CE4B8 002CB418 99 03 00 30 */ stb r8, 0x30(r3)
/* 802CE4BC 002CB41C 98 03 00 31 */ stb r0, 0x31(r3)
/* 802CE4C0 002CB420 80 06 00 00 */ lwz r0, 0(r6)
/* 802CE4C4 002CB424 80 86 00 04 */ lwz r4, 4(r6)
/* 802CE4C8 002CB428 90 83 00 3C */ stw r4, 0x3c(r3)
/* 802CE4CC 002CB42C 90 03 00 38 */ stw r0, 0x38(r3)
/* 802CE4D0 002CB430 80 05 00 00 */ lwz r0, 0(r5)
/* 802CE4D4 002CB434 80 85 00 04 */ lwz r4, 4(r5)
/* 802CE4D8 002CB438 90 83 00 44 */ stw r4, 0x44(r3)
/* 802CE4DC 002CB43C 90 03 00 40 */ stw r0, 0x40(r3)
/* 802CE4E0 002CB440 C0 07 00 00 */ lfs f0, 0(r7)
/* 802CE4E4 002CB444 D0 03 00 48 */ stfs f0, 0x48(r3)
/* 802CE4E8 002CB448 C0 07 00 04 */ lfs f0, 4(r7)
/* 802CE4EC 002CB44C D0 03 00 4C */ stfs f0, 0x4c(r3)
/* 802CE4F0 002CB450 C0 07 00 08 */ lfs f0, 8(r7)
/* 802CE4F4 002CB454 D0 03 00 50 */ stfs f0, 0x50(r3)
/* 802CE4F8 002CB458 C0 07 00 00 */ lfs f0, 0(r7)
/* 802CE4FC 002CB45C C0 27 00 04 */ lfs f1, 4(r7)
/* 802CE500 002CB460 C0 47 00 08 */ lfs f2, 8(r7)
/* 802CE504 002CB464 FC 00 00 50 */ fneg f0, f0
/* 802CE508 002CB468 FC 20 08 50 */ fneg f1, f1
/* 802CE50C 002CB46C FC 40 10 50 */ fneg f2, f2
/* 802CE510 002CB470 D0 03 00 54 */ stfs f0, 0x54(r3)
/* 802CE514 002CB474 D0 23 00 58 */ stfs f1, 0x58(r3)
/* 802CE518 002CB478 D0 43 00 5C */ stfs f2, 0x5c(r3)
/* 802CE51C 002CB47C 4E 80 00 20 */ blr
.section .sdata2, "a"
.balign 8
.global lbl_805AE1B8
lbl_805AE1B8:
# ROM: 0x3FAA58
.4byte 0
.4byte 0

File diff suppressed because it is too large Load Diff

View File

@ -1,135 +0,0 @@
.include "macros.inc"
.section .text, "ax"
.global GetInvUnscaledTransformRay__5CMRayCFRC12CTransform4f
GetInvUnscaledTransformRay__5CMRayCFRC12CTransform4f:
/* 802D5FE8 002D2F48 94 21 FF 70 */ stwu r1, -0x90(r1)
/* 802D5FEC 002D2F4C 7C 08 02 A6 */ mflr r0
/* 802D5FF0 002D2F50 90 01 00 94 */ stw r0, 0x94(r1)
/* 802D5FF4 002D2F54 93 E1 00 8C */ stw r31, 0x8c(r1)
/* 802D5FF8 002D2F58 7C 9F 23 78 */ mr r31, r4
/* 802D5FFC 002D2F5C 7C A4 2B 78 */ mr r4, r5
/* 802D6000 002D2F60 93 C1 00 88 */ stw r30, 0x88(r1)
/* 802D6004 002D2F64 7C 7E 1B 78 */ mr r30, r3
/* 802D6008 002D2F68 38 61 00 20 */ addi r3, r1, 0x20
/* 802D600C 002D2F6C 48 03 CC 91 */ bl GetQuickInverse__12CTransform4fCFv
/* 802D6010 002D2F70 38 61 00 50 */ addi r3, r1, 0x50
/* 802D6014 002D2F74 38 81 00 20 */ addi r4, r1, 0x20
/* 802D6018 002D2F78 48 03 CB 5D */ bl __ct__12CTransform4fFRC12CTransform4f
/* 802D601C 002D2F7C 38 61 00 08 */ addi r3, r1, 8
/* 802D6020 002D2F80 38 81 00 50 */ addi r4, r1, 0x50
/* 802D6024 002D2F84 38 BF 00 0C */ addi r5, r31, 0xc
/* 802D6028 002D2F88 48 03 CA C1 */ bl __ml__12CTransform4fCFRC9CVector3f
/* 802D602C 002D2F8C 7F E5 FB 78 */ mr r5, r31
/* 802D6030 002D2F90 38 61 00 14 */ addi r3, r1, 0x14
/* 802D6034 002D2F94 38 81 00 50 */ addi r4, r1, 0x50
/* 802D6038 002D2F98 48 03 CA B1 */ bl __ml__12CTransform4fCFRC9CVector3f
/* 802D603C 002D2F9C C0 3F 00 24 */ lfs f1, 0x24(r31)
/* 802D6040 002D2FA0 7F C3 F3 78 */ mr r3, r30
/* 802D6044 002D2FA4 C0 5F 00 28 */ lfs f2, 0x28(r31)
/* 802D6048 002D2FA8 38 81 00 14 */ addi r4, r1, 0x14
/* 802D604C 002D2FAC 38 A1 00 08 */ addi r5, r1, 8
/* 802D6050 002D2FB0 48 00 00 CD */ bl __ct__5CMRayFRC9CVector3fRC9CVector3fff
/* 802D6054 002D2FB4 80 01 00 94 */ lwz r0, 0x94(r1)
/* 802D6058 002D2FB8 83 E1 00 8C */ lwz r31, 0x8c(r1)
/* 802D605C 002D2FBC 83 C1 00 88 */ lwz r30, 0x88(r1)
/* 802D6060 002D2FC0 7C 08 03 A6 */ mtlr r0
/* 802D6064 002D2FC4 38 21 00 90 */ addi r1, r1, 0x90
/* 802D6068 002D2FC8 4E 80 00 20 */ blr
.global __ct__5CMRayFRC9CVector3fRC9CVector3ff
__ct__5CMRayFRC9CVector3fRC9CVector3ff:
/* 802D606C 002D2FCC C0 44 00 00 */ lfs f2, 0(r4)
/* 802D6070 002D2FD0 C0 02 C5 50 */ lfs f0, lbl_805AE270@sda21(r2)
/* 802D6074 002D2FD4 D0 43 00 00 */ stfs f2, 0(r3)
/* 802D6078 002D2FD8 EC 00 08 24 */ fdivs f0, f0, f1
/* 802D607C 002D2FDC C0 44 00 04 */ lfs f2, 4(r4)
/* 802D6080 002D2FE0 D0 43 00 04 */ stfs f2, 4(r3)
/* 802D6084 002D2FE4 C0 44 00 08 */ lfs f2, 8(r4)
/* 802D6088 002D2FE8 D0 43 00 08 */ stfs f2, 8(r3)
/* 802D608C 002D2FEC C0 45 00 00 */ lfs f2, 0(r5)
/* 802D6090 002D2FF0 C0 A5 00 04 */ lfs f5, 4(r5)
/* 802D6094 002D2FF4 EC 41 00 B2 */ fmuls f2, f1, f2
/* 802D6098 002D2FF8 C0 64 00 00 */ lfs f3, 0(r4)
/* 802D609C 002D2FFC C0 85 00 08 */ lfs f4, 8(r5)
/* 802D60A0 002D3000 EC C1 01 72 */ fmuls f6, f1, f5
/* 802D60A4 002D3004 C0 E4 00 04 */ lfs f7, 4(r4)
/* 802D60A8 002D3008 EC 43 10 2A */ fadds f2, f3, f2
/* 802D60AC 002D300C C0 A4 00 08 */ lfs f5, 8(r4)
/* 802D60B0 002D3010 EC 61 01 32 */ fmuls f3, f1, f4
/* 802D60B4 002D3014 EC 87 30 2A */ fadds f4, f7, f6
/* 802D60B8 002D3018 D0 43 00 0C */ stfs f2, 0xc(r3)
/* 802D60BC 002D301C EC 45 18 2A */ fadds f2, f5, f3
/* 802D60C0 002D3020 D0 83 00 10 */ stfs f4, 0x10(r3)
/* 802D60C4 002D3024 D0 43 00 14 */ stfs f2, 0x14(r3)
/* 802D60C8 002D3028 C0 63 00 0C */ lfs f3, 0xc(r3)
/* 802D60CC 002D302C C0 43 00 00 */ lfs f2, 0(r3)
/* 802D60D0 002D3030 C0 C3 00 10 */ lfs f6, 0x10(r3)
/* 802D60D4 002D3034 C0 A3 00 04 */ lfs f5, 4(r3)
/* 802D60D8 002D3038 EC 43 10 28 */ fsubs f2, f3, f2
/* 802D60DC 002D303C C0 83 00 14 */ lfs f4, 0x14(r3)
/* 802D60E0 002D3040 C0 63 00 08 */ lfs f3, 8(r3)
/* 802D60E4 002D3044 EC A6 28 28 */ fsubs f5, f6, f5
/* 802D60E8 002D3048 D0 43 00 18 */ stfs f2, 0x18(r3)
/* 802D60EC 002D304C EC 44 18 28 */ fsubs f2, f4, f3
/* 802D60F0 002D3050 D0 A3 00 1C */ stfs f5, 0x1c(r3)
/* 802D60F4 002D3054 D0 43 00 20 */ stfs f2, 0x20(r3)
/* 802D60F8 002D3058 D0 23 00 24 */ stfs f1, 0x24(r3)
/* 802D60FC 002D305C D0 03 00 28 */ stfs f0, 0x28(r3)
/* 802D6100 002D3060 C0 05 00 00 */ lfs f0, 0(r5)
/* 802D6104 002D3064 D0 03 00 2C */ stfs f0, 0x2c(r3)
/* 802D6108 002D3068 C0 05 00 04 */ lfs f0, 4(r5)
/* 802D610C 002D306C D0 03 00 30 */ stfs f0, 0x30(r3)
/* 802D6110 002D3070 C0 05 00 08 */ lfs f0, 8(r5)
/* 802D6114 002D3074 D0 03 00 34 */ stfs f0, 0x34(r3)
/* 802D6118 002D3078 4E 80 00 20 */ blr
.global __ct__5CMRayFRC9CVector3fRC9CVector3fff
__ct__5CMRayFRC9CVector3fRC9CVector3fff:
/* 802D611C 002D307C C0 04 00 00 */ lfs f0, 0(r4)
/* 802D6120 002D3080 D0 03 00 00 */ stfs f0, 0(r3)
/* 802D6124 002D3084 C0 04 00 04 */ lfs f0, 4(r4)
/* 802D6128 002D3088 D0 03 00 04 */ stfs f0, 4(r3)
/* 802D612C 002D308C C0 04 00 08 */ lfs f0, 8(r4)
/* 802D6130 002D3090 D0 03 00 08 */ stfs f0, 8(r3)
/* 802D6134 002D3094 C0 05 00 00 */ lfs f0, 0(r5)
/* 802D6138 002D3098 D0 03 00 0C */ stfs f0, 0xc(r3)
/* 802D613C 002D309C C0 05 00 04 */ lfs f0, 4(r5)
/* 802D6140 002D30A0 D0 03 00 10 */ stfs f0, 0x10(r3)
/* 802D6144 002D30A4 C0 05 00 08 */ lfs f0, 8(r5)
/* 802D6148 002D30A8 D0 03 00 14 */ stfs f0, 0x14(r3)
/* 802D614C 002D30AC C0 63 00 0C */ lfs f3, 0xc(r3)
/* 802D6150 002D30B0 C0 03 00 00 */ lfs f0, 0(r3)
/* 802D6154 002D30B4 C0 C3 00 10 */ lfs f6, 0x10(r3)
/* 802D6158 002D30B8 C0 A3 00 04 */ lfs f5, 4(r3)
/* 802D615C 002D30BC EC 03 00 28 */ fsubs f0, f3, f0
/* 802D6160 002D30C0 C0 83 00 14 */ lfs f4, 0x14(r3)
/* 802D6164 002D30C4 C0 63 00 08 */ lfs f3, 8(r3)
/* 802D6168 002D30C8 EC A6 28 28 */ fsubs f5, f6, f5
/* 802D616C 002D30CC D0 03 00 18 */ stfs f0, 0x18(r3)
/* 802D6170 002D30D0 EC 04 18 28 */ fsubs f0, f4, f3
/* 802D6174 002D30D4 D0 A3 00 1C */ stfs f5, 0x1c(r3)
/* 802D6178 002D30D8 D0 03 00 20 */ stfs f0, 0x20(r3)
/* 802D617C 002D30DC D0 23 00 24 */ stfs f1, 0x24(r3)
/* 802D6180 002D30E0 D0 43 00 28 */ stfs f2, 0x28(r3)
/* 802D6184 002D30E4 C0 63 00 28 */ lfs f3, 0x28(r3)
/* 802D6188 002D30E8 C0 03 00 18 */ lfs f0, 0x18(r3)
/* 802D618C 002D30EC C0 43 00 1C */ lfs f2, 0x1c(r3)
/* 802D6190 002D30F0 C0 23 00 20 */ lfs f1, 0x20(r3)
/* 802D6194 002D30F4 EC 03 00 32 */ fmuls f0, f3, f0
/* 802D6198 002D30F8 EC 43 00 B2 */ fmuls f2, f3, f2
/* 802D619C 002D30FC EC 23 00 72 */ fmuls f1, f3, f1
/* 802D61A0 002D3100 D0 03 00 2C */ stfs f0, 0x2c(r3)
/* 802D61A4 002D3104 D0 43 00 30 */ stfs f2, 0x30(r3)
/* 802D61A8 002D3108 D0 23 00 34 */ stfs f1, 0x34(r3)
/* 802D61AC 002D310C 4E 80 00 20 */ blr
.section .sdata2, "a"
.balign 8
.global lbl_805AE270
lbl_805AE270:
# ROM: 0x3FAB10
.float 1.0
.4byte 0

View File

@ -1,107 +0,0 @@
.include "macros.inc"
.comm skPassEverything__15CMaterialFilter, 0x18, 4
.section .ctors, "wa"
lbl_ctor:
.4byte __sinit_CMaterialFilter_cpp
.section .text, "ax"
.global Passes__15CMaterialFilterCFRC13CMaterialList
Passes__15CMaterialFilterCFRC13CMaterialList:
/* 802D534C 002D22AC 80 03 00 10 */ lwz r0, 0x10(r3)
/* 802D5350 002D22B0 2C 00 00 02 */ cmpwi r0, 2
/* 802D5354 002D22B4 41 82 00 68 */ beq lbl_802D53BC
/* 802D5358 002D22B8 40 80 00 14 */ bge lbl_802D536C
/* 802D535C 002D22BC 2C 00 00 00 */ cmpwi r0, 0
/* 802D5360 002D22C0 41 82 00 18 */ beq lbl_802D5378
/* 802D5364 002D22C4 40 80 00 1C */ bge lbl_802D5380
/* 802D5368 002D22C8 48 00 00 FC */ b lbl_802D5464
lbl_802D536C:
/* 802D536C 002D22CC 2C 00 00 04 */ cmpwi r0, 4
/* 802D5370 002D22D0 40 80 00 F4 */ bge lbl_802D5464
/* 802D5374 002D22D4 48 00 00 7C */ b lbl_802D53F0
lbl_802D5378:
/* 802D5378 002D22D8 38 60 00 01 */ li r3, 1
/* 802D537C 002D22DC 4E 80 00 20 */ blr
lbl_802D5380:
/* 802D5380 002D22E0 80 C3 00 00 */ lwz r6, 0(r3)
/* 802D5384 002D22E4 38 A0 00 00 */ li r5, 0
/* 802D5388 002D22E8 80 04 00 00 */ lwz r0, 0(r4)
/* 802D538C 002D22EC 80 E3 00 04 */ lwz r7, 4(r3)
/* 802D5390 002D22F0 80 64 00 04 */ lwz r3, 4(r4)
/* 802D5394 002D22F4 7C C0 00 38 */ and r0, r6, r0
/* 802D5398 002D22F8 7C 00 2A 78 */ xor r0, r0, r5
/* 802D539C 002D22FC 7C E3 18 38 */ and r3, r7, r3
/* 802D53A0 002D2300 7C 63 2A 78 */ xor r3, r3, r5
/* 802D53A4 002D2304 7C 60 03 79 */ or. r0, r3, r0
/* 802D53A8 002D2308 41 82 00 0C */ beq lbl_802D53B4
/* 802D53AC 002D230C 38 60 00 01 */ li r3, 1
/* 802D53B0 002D2310 4E 80 00 20 */ blr
lbl_802D53B4:
/* 802D53B4 002D2314 38 60 00 00 */ li r3, 0
/* 802D53B8 002D2318 4E 80 00 20 */ blr
lbl_802D53BC:
/* 802D53BC 002D231C 80 A4 00 00 */ lwz r5, 0(r4)
/* 802D53C0 002D2320 38 00 00 00 */ li r0, 0
/* 802D53C4 002D2324 80 C3 00 08 */ lwz r6, 8(r3)
/* 802D53C8 002D2328 80 E3 00 0C */ lwz r7, 0xc(r3)
/* 802D53CC 002D232C 80 84 00 04 */ lwz r4, 4(r4)
/* 802D53D0 002D2330 7C C3 28 38 */ and r3, r6, r5
/* 802D53D4 002D2334 7C 63 02 78 */ xor r3, r3, r0
/* 802D53D8 002D2338 7C E4 20 38 */ and r4, r7, r4
/* 802D53DC 002D233C 7C 80 02 78 */ xor r0, r4, r0
/* 802D53E0 002D2340 7C 03 1B 78 */ or r3, r0, r3
/* 802D53E4 002D2344 7C 63 00 34 */ cntlzw r3, r3
/* 802D53E8 002D2348 54 63 D9 7E */ srwi r3, r3, 5
/* 802D53EC 002D234C 4E 80 00 20 */ blr
lbl_802D53F0:
/* 802D53F0 002D2350 80 03 00 00 */ lwz r0, 0(r3)
/* 802D53F4 002D2354 38 C0 00 00 */ li r6, 0
/* 802D53F8 002D2358 80 E4 00 00 */ lwz r7, 0(r4)
/* 802D53FC 002D235C 80 A3 00 04 */ lwz r5, 4(r3)
/* 802D5400 002D2360 81 04 00 04 */ lwz r8, 4(r4)
/* 802D5404 002D2364 7C 00 38 38 */ and r0, r0, r7
/* 802D5408 002D2368 7C 00 32 78 */ xor r0, r0, r6
/* 802D540C 002D236C 7C A4 40 38 */ and r4, r5, r8
/* 802D5410 002D2370 7C 84 32 78 */ xor r4, r4, r6
/* 802D5414 002D2374 7C 80 03 79 */ or. r0, r4, r0
/* 802D5418 002D2378 41 82 00 0C */ beq lbl_802D5424
/* 802D541C 002D237C 38 00 00 01 */ li r0, 1
/* 802D5420 002D2380 48 00 00 08 */ b lbl_802D5428
lbl_802D5424:
/* 802D5424 002D2384 7C C0 33 78 */ mr r0, r6
lbl_802D5428:
/* 802D5428 002D2388 54 00 06 3F */ clrlwi. r0, r0, 0x18
/* 802D542C 002D238C 41 82 00 30 */ beq lbl_802D545C
/* 802D5430 002D2390 80 A3 00 08 */ lwz r5, 8(r3)
/* 802D5434 002D2394 38 80 00 00 */ li r4, 0
/* 802D5438 002D2398 80 63 00 0C */ lwz r3, 0xc(r3)
/* 802D543C 002D239C 7C 80 FE 70 */ srawi r0, r4, 0x1f
/* 802D5440 002D23A0 7C A5 38 38 */ and r5, r5, r7
/* 802D5444 002D23A4 7C 63 40 38 */ and r3, r3, r8
/* 802D5448 002D23A8 7C 63 22 78 */ xor r3, r3, r4
/* 802D544C 002D23AC 7C A0 02 78 */ xor r0, r5, r0
/* 802D5450 002D23B0 7C 60 03 79 */ or. r0, r3, r0
/* 802D5454 002D23B4 40 82 00 08 */ bne lbl_802D545C
/* 802D5458 002D23B8 38 C0 00 01 */ li r6, 1
lbl_802D545C:
/* 802D545C 002D23BC 7C C3 33 78 */ mr r3, r6
/* 802D5460 002D23C0 4E 80 00 20 */ blr
lbl_802D5464:
/* 802D5464 002D23C4 38 60 00 01 */ li r3, 1
/* 802D5468 002D23C8 4E 80 00 20 */ blr
.global __sinit_CMaterialFilter_cpp
__sinit_CMaterialFilter_cpp:
/* 802D546C 002D23CC 3C 60 80 5A */ lis r3, skPassEverything__15CMaterialFilter@ha
/* 802D5470 002D23D0 38 80 FF FF */ li r4, -1
/* 802D5474 002D23D4 38 63 FD 18 */ addi r3, r3, skPassEverything__15CMaterialFilter@l
/* 802D5478 002D23D8 38 00 00 00 */ li r0, 0
/* 802D547C 002D23DC 90 83 00 04 */ stw r4, 4(r3)
/* 802D5480 002D23E0 90 03 00 00 */ stw r0, 0(r3)
/* 802D5484 002D23E4 90 03 00 0C */ stw r0, 0xc(r3)
/* 802D5488 002D23E8 90 03 00 08 */ stw r0, 8(r3)
/* 802D548C 002D23EC 90 03 00 10 */ stw r0, 0x10(r3)
/* 802D5490 002D23F0 4E 80 00 20 */ blr

View File

@ -1,70 +0,0 @@
.include "macros.inc"
.section .text, "ax"
.global BitPosition__13CMaterialListFUx
BitPosition__13CMaterialListFUx:
/* 802CFC08 002CCB68 38 00 00 08 */ li r0, 8
/* 802CFC0C 002CCB6C 39 20 00 00 */ li r9, 0
/* 802CFC10 002CCB70 39 40 00 00 */ li r10, 0
/* 802CFC14 002CCB74 39 00 00 01 */ li r8, 1
/* 802CFC18 002CCB78 38 E0 00 00 */ li r7, 0
/* 802CFC1C 002CCB7C 7C 09 03 A6 */ mtctr r0
lbl_802CFC20:
/* 802CFC20 002CCB80 7C 86 40 38 */ and r6, r4, r8
/* 802CFC24 002CCB84 7C 65 38 38 */ and r5, r3, r7
/* 802CFC28 002CCB88 7C C6 3A 78 */ xor r6, r6, r7
/* 802CFC2C 002CCB8C 7C A5 3A 78 */ xor r5, r5, r7
/* 802CFC30 002CCB90 7C C5 2B 79 */ or. r5, r6, r5
/* 802CFC34 002CCB94 41 82 00 0C */ beq lbl_802CFC40
/* 802CFC38 002CCB98 7D 23 4B 78 */ mr r3, r9
/* 802CFC3C 002CCB9C 4E 80 00 20 */ blr
lbl_802CFC40:
/* 802CFC40 002CCBA0 54 84 F8 3E */ rotlwi r4, r4, 0x1f
/* 802CFC44 002CCBA4 54 60 F8 7E */ srwi r0, r3, 1
/* 802CFC48 002CCBA8 50 64 F8 00 */ rlwimi r4, r3, 0x1f, 0, 0
/* 802CFC4C 002CCBAC 39 29 00 01 */ addi r9, r9, 1
/* 802CFC50 002CCBB0 7C 86 40 38 */ and r6, r4, r8
/* 802CFC54 002CCBB4 7C 05 38 38 */ and r5, r0, r7
/* 802CFC58 002CCBB8 7C C6 3A 78 */ xor r6, r6, r7
/* 802CFC5C 002CCBBC 7C A5 3A 78 */ xor r5, r5, r7
/* 802CFC60 002CCBC0 7C C5 2B 79 */ or. r5, r6, r5
/* 802CFC64 002CCBC4 41 82 00 0C */ beq lbl_802CFC70
/* 802CFC68 002CCBC8 7D 23 4B 78 */ mr r3, r9
/* 802CFC6C 002CCBCC 4E 80 00 20 */ blr
lbl_802CFC70:
/* 802CFC70 002CCBD0 54 84 F8 3E */ rotlwi r4, r4, 0x1f
/* 802CFC74 002CCBD4 39 29 00 01 */ addi r9, r9, 1
/* 802CFC78 002CCBD8 50 04 F8 00 */ rlwimi r4, r0, 0x1f, 0, 0
/* 802CFC7C 002CCBDC 54 00 F8 7E */ srwi r0, r0, 1
/* 802CFC80 002CCBE0 7C 86 40 38 */ and r6, r4, r8
/* 802CFC84 002CCBE4 7C 05 38 38 */ and r5, r0, r7
/* 802CFC88 002CCBE8 7C C6 3A 78 */ xor r6, r6, r7
/* 802CFC8C 002CCBEC 7C A5 3A 78 */ xor r5, r5, r7
/* 802CFC90 002CCBF0 7C C5 2B 79 */ or. r5, r6, r5
/* 802CFC94 002CCBF4 41 82 00 0C */ beq lbl_802CFCA0
/* 802CFC98 002CCBF8 7D 23 4B 78 */ mr r3, r9
/* 802CFC9C 002CCBFC 4E 80 00 20 */ blr
lbl_802CFCA0:
/* 802CFCA0 002CCC00 54 84 F8 3E */ rotlwi r4, r4, 0x1f
/* 802CFCA4 002CCC04 39 29 00 01 */ addi r9, r9, 1
/* 802CFCA8 002CCC08 50 04 F8 00 */ rlwimi r4, r0, 0x1f, 0, 0
/* 802CFCAC 002CCC0C 54 00 F8 7E */ srwi r0, r0, 1
/* 802CFCB0 002CCC10 7C 86 40 38 */ and r6, r4, r8
/* 802CFCB4 002CCC14 7C 05 38 38 */ and r5, r0, r7
/* 802CFCB8 002CCC18 7C C6 3A 78 */ xor r6, r6, r7
/* 802CFCBC 002CCC1C 7C A5 3A 78 */ xor r5, r5, r7
/* 802CFCC0 002CCC20 7C C5 2B 79 */ or. r5, r6, r5
/* 802CFCC4 002CCC24 41 82 00 0C */ beq lbl_802CFCD0
/* 802CFCC8 002CCC28 7D 23 4B 78 */ mr r3, r9
/* 802CFCCC 002CCC2C 4E 80 00 20 */ blr
lbl_802CFCD0:
/* 802CFCD0 002CCC30 54 84 F8 3E */ rotlwi r4, r4, 0x1f
/* 802CFCD4 002CCC34 39 29 00 01 */ addi r9, r9, 1
/* 802CFCD8 002CCC38 50 04 F8 00 */ rlwimi r4, r0, 0x1f, 0, 0
/* 802CFCDC 002CCC3C 54 00 F8 7E */ srwi r0, r0, 1
/* 802CFCE0 002CCC40 7C 03 03 78 */ mr r3, r0
/* 802CFCE4 002CCC44 39 4A 00 03 */ addi r10, r10, 3
/* 802CFCE8 002CCC48 42 00 FF 38 */ bdnz lbl_802CFC20
/* 802CFCEC 002CCC4C 38 60 FF FF */ li r3, -1
/* 802CFCF0 002CCC50 4E 80 00 20 */ blr

View File

@ -1,787 +0,0 @@
.include "macros.inc"
.section .text, "ax"
.global OBBIntersectsBox__6COBBoxCFRC6COBBox
OBBIntersectsBox__6COBBoxCFRC6COBBox:
/* 802D5494 002D23F4 94 21 FE 60 */ stwu r1, -0x1a0(r1)
/* 802D5498 002D23F8 DB E1 01 90 */ stfd f31, 0x190(r1)
/* 802D549C 002D23FC F3 E1 01 98 */ psq_st f31, 408(r1), 0, qr0
/* 802D54A0 002D2400 DB C1 01 80 */ stfd f30, 0x180(r1)
/* 802D54A4 002D2404 F3 C1 01 88 */ psq_st f30, 392(r1), 0, qr0
/* 802D54A8 002D2408 DB A1 01 70 */ stfd f29, 0x170(r1)
/* 802D54AC 002D240C F3 A1 01 78 */ psq_st f29, 376(r1), 0, qr0
/* 802D54B0 002D2410 DB 81 01 60 */ stfd f28, 0x160(r1)
/* 802D54B4 002D2414 F3 81 01 68 */ psq_st f28, 360(r1), 0, qr0
/* 802D54B8 002D2418 DB 61 01 50 */ stfd f27, 0x150(r1)
/* 802D54BC 002D241C F3 61 01 58 */ psq_st f27, 344(r1), 0, qr0
/* 802D54C0 002D2420 DB 41 01 40 */ stfd f26, 0x140(r1)
/* 802D54C4 002D2424 F3 41 01 48 */ psq_st f26, 328(r1), 0, qr0
/* 802D54C8 002D2428 DB 21 01 30 */ stfd f25, 0x130(r1)
/* 802D54CC 002D242C F3 21 01 38 */ psq_st f25, 312(r1), 0, qr0
/* 802D54D0 002D2430 DB 01 01 20 */ stfd f24, 0x120(r1)
/* 802D54D4 002D2434 F3 01 01 28 */ psq_st f24, 296(r1), 0, qr0
/* 802D54D8 002D2438 DA E1 01 10 */ stfd f23, 0x110(r1)
/* 802D54DC 002D243C F2 E1 01 18 */ psq_st f23, 280(r1), 0, qr0
/* 802D54E0 002D2440 DA C1 01 00 */ stfd f22, 0x100(r1)
/* 802D54E4 002D2444 F2 C1 01 08 */ psq_st f22, 264(r1), 0, qr0
/* 802D54E8 002D2448 DA A1 00 F0 */ stfd f21, 0xf0(r1)
/* 802D54EC 002D244C F2 A1 00 F8 */ psq_st f21, 248(r1), 0, qr0
/* 802D54F0 002D2450 DA 81 00 E0 */ stfd f20, 0xe0(r1)
/* 802D54F4 002D2454 F2 81 00 E8 */ psq_st f20, 232(r1), 0, qr0
/* 802D54F8 002D2458 DA 61 00 D0 */ stfd f19, 0xd0(r1)
/* 802D54FC 002D245C F2 61 00 D8 */ psq_st f19, 216(r1), 0, qr0
/* 802D5500 002D2460 DA 41 00 C0 */ stfd f18, 0xc0(r1)
/* 802D5504 002D2464 F2 41 00 C8 */ psq_st f18, 200(r1), 0, qr0
/* 802D5508 002D2468 DA 21 00 B0 */ stfd f17, 0xb0(r1)
/* 802D550C 002D246C F2 21 00 B8 */ psq_st f17, 184(r1), 0, qr0
/* 802D5510 002D2470 DA 01 00 A0 */ stfd f16, 0xa0(r1)
/* 802D5514 002D2474 F2 01 00 A8 */ psq_st f16, 168(r1), 0, qr0
/* 802D5518 002D2478 D9 E1 00 90 */ stfd f15, 0x90(r1)
/* 802D551C 002D247C F1 E1 00 98 */ psq_st f15, 152(r1), 0, qr0
/* 802D5520 002D2480 D9 C1 00 80 */ stfd f14, 0x80(r1)
/* 802D5524 002D2484 F1 C1 00 88 */ psq_st f14, 136(r1), 0, qr0
/* 802D5528 002D2488 C0 A3 00 10 */ lfs f5, 0x10(r3)
/* 802D552C 002D248C 38 E1 00 14 */ addi r7, r1, 0x14
/* 802D5530 002D2490 C1 64 00 10 */ lfs f11, 0x10(r4)
/* 802D5534 002D2494 39 03 00 30 */ addi r8, r3, 0x30
/* 802D5538 002D2498 FE C0 28 18 */ frsp f22, f5
/* 802D553C 002D249C C3 63 00 00 */ lfs f27, 0(r3)
/* 802D5540 002D24A0 C0 44 00 00 */ lfs f2, 0(r4)
/* 802D5544 002D24A4 FE A0 58 18 */ frsp f21, f11
/* 802D5548 002D24A8 C1 A4 00 14 */ lfs f13, 0x14(r4)
/* 802D554C 002D24AC FF 00 D8 18 */ frsp f24, f27
/* 802D5550 002D24B0 C0 C3 00 20 */ lfs f6, 0x20(r3)
/* 802D5554 002D24B4 EE 36 05 72 */ fmuls f17, f22, f21
/* 802D5558 002D24B8 C1 84 00 20 */ lfs f12, 0x20(r4)
/* 802D555C 002D24BC FE E0 10 18 */ frsp f23, f2
/* 802D5560 002D24C0 C0 24 00 04 */ lfs f1, 4(r4)
/* 802D5564 002D24C4 FE A0 68 18 */ frsp f21, f13
/* 802D5568 002D24C8 C2 64 00 18 */ lfs f19, 0x18(r4)
/* 802D556C 002D24CC EE 18 8D FA */ fmadds f16, f24, f23, f17
/* 802D5570 002D24D0 C0 E3 00 14 */ lfs f7, 0x14(r3)
/* 802D5574 002D24D4 EE 36 05 72 */ fmuls f17, f22, f21
/* 802D5578 002D24D8 C1 23 00 18 */ lfs f9, 0x18(r3)
/* 802D557C 002D24DC C2 44 00 24 */ lfs f18, 0x24(r4)
/* 802D5580 002D24E0 FF 40 30 18 */ frsp f26, f6
/* 802D5584 002D24E4 FF 20 60 18 */ frsp f25, f12
/* 802D5588 002D24E8 C0 04 00 08 */ lfs f0, 8(r4)
/* 802D558C 002D24EC C0 83 00 04 */ lfs f4, 4(r3)
/* 802D5590 002D24F0 FE E0 08 18 */ frsp f23, f1
/* 802D5594 002D24F4 C0 63 00 08 */ lfs f3, 8(r3)
/* 802D5598 002D24F8 FE A0 98 18 */ frsp f21, f19
/* 802D559C 002D24FC ED FA 86 7A */ fmadds f15, f26, f25, f16
/* 802D55A0 002D2500 C2 84 00 28 */ lfs f20, 0x28(r4)
/* 802D55A4 002D2504 EE 18 8D FA */ fmadds f16, f24, f23, f17
/* 802D55A8 002D2508 C1 03 00 24 */ lfs f8, 0x24(r3)
/* 802D55AC 002D250C C1 43 00 28 */ lfs f10, 0x28(r3)
/* 802D55B0 002D2510 FF 20 90 18 */ frsp f25, f18
/* 802D55B4 002D2514 D1 E1 00 14 */ stfs f15, 0x14(r1)
/* 802D55B8 002D2518 FE E0 00 18 */ frsp f23, f0
/* 802D55BC 002D251C ED FA 86 7A */ fmadds f15, f26, f25, f16
/* 802D55C0 002D2520 C2 03 00 1C */ lfs f16, 0x1c(r3)
/* 802D55C4 002D2524 C3 24 00 1C */ lfs f25, 0x1c(r4)
/* 802D55C8 002D2528 EE 36 05 72 */ fmuls f17, f22, f21
/* 802D55CC 002D252C C2 A3 00 0C */ lfs f21, 0xc(r3)
/* 802D55D0 002D2530 EF 99 80 28 */ fsubs f28, f25, f16
/* 802D55D4 002D2534 C2 C4 00 0C */ lfs f22, 0xc(r4)
/* 802D55D8 002D2538 FF 20 A0 18 */ frsp f25, f20
/* 802D55DC 002D253C C3 A3 00 2C */ lfs f29, 0x2c(r3)
/* 802D55E0 002D2540 EE 18 8D FA */ fmadds f16, f24, f23, f17
/* 802D55E4 002D2544 C2 E4 00 2C */ lfs f23, 0x2c(r4)
/* 802D55E8 002D2548 D1 E1 00 18 */ stfs f15, 0x18(r1)
/* 802D55EC 002D254C EF 16 A8 28 */ fsubs f24, f22, f21
/* 802D55F0 002D2550 EE DC 01 72 */ fmuls f22, f28, f5
/* 802D55F4 002D2554 38 64 00 30 */ addi r3, r4, 0x30
/* 802D55F8 002D2558 EE BC 01 F2 */ fmuls f21, f28, f7
/* 802D55FC 002D255C D3 61 00 5C */ stfs f27, 0x5c(r1)
/* 802D5600 002D2560 EE 3C 02 72 */ fmuls f17, f28, f9
/* 802D5604 002D2564 ED FA 86 7A */ fmadds f15, f26, f25, f16
/* 802D5608 002D2568 EE F7 E8 28 */ fsubs f23, f23, f29
/* 802D560C 002D256C D0 A1 00 60 */ stfs f5, 0x60(r1)
/* 802D5610 002D2570 EE D8 B6 FA */ fmadds f22, f24, f27, f22
/* 802D5614 002D2574 EE 18 A9 3A */ fmadds f16, f24, f4, f21
/* 802D5618 002D2578 D0 C1 00 64 */ stfs f6, 0x64(r1)
/* 802D561C 002D257C EC B8 88 FA */ fmadds f5, f24, f3, f17
/* 802D5620 002D2580 EE 37 B1 BA */ fmadds f17, f23, f6, f22
/* 802D5624 002D2584 D0 81 00 68 */ stfs f4, 0x68(r1)
/* 802D5628 002D2588 EC D7 82 3A */ fmadds f6, f23, f8, f16
/* 802D562C 002D258C EC B7 2A BA */ fmadds f5, f23, f10, f5
/* 802D5630 002D2590 D0 E1 00 6C */ stfs f7, 0x6c(r1)
/* 802D5634 002D2594 D1 01 00 70 */ stfs f8, 0x70(r1)
/* 802D5638 002D2598 D0 61 00 74 */ stfs f3, 0x74(r1)
/* 802D563C 002D259C D1 21 00 78 */ stfs f9, 0x78(r1)
/* 802D5640 002D25A0 D1 41 00 7C */ stfs f10, 0x7c(r1)
/* 802D5644 002D25A4 D0 41 00 38 */ stfs f2, 0x38(r1)
/* 802D5648 002D25A8 D1 61 00 3C */ stfs f11, 0x3c(r1)
/* 802D564C 002D25AC D1 81 00 40 */ stfs f12, 0x40(r1)
/* 802D5650 002D25B0 D0 21 00 44 */ stfs f1, 0x44(r1)
/* 802D5654 002D25B4 D1 A1 00 48 */ stfs f13, 0x48(r1)
/* 802D5658 002D25B8 D2 41 00 4C */ stfs f18, 0x4c(r1)
/* 802D565C 002D25BC D0 01 00 50 */ stfs f0, 0x50(r1)
/* 802D5660 002D25C0 D2 61 00 54 */ stfs f19, 0x54(r1)
/* 802D5664 002D25C4 D2 81 00 58 */ stfs f20, 0x58(r1)
/* 802D5668 002D25C8 D2 21 00 08 */ stfs f17, 8(r1)
/* 802D566C 002D25CC D0 C1 00 0C */ stfs f6, 0xc(r1)
/* 802D5670 002D25D0 D0 A1 00 10 */ stfs f5, 0x10(r1)
/* 802D5674 002D25D4 D1 E1 00 1C */ stfs f15, 0x1c(r1)
/* 802D5678 002D25D8 FE C0 38 18 */ frsp f22, f7
/* 802D567C 002D25DC FE A0 58 18 */ frsp f21, f11
/* 802D5680 002D25E0 FF 00 20 18 */ frsp f24, f4
/* 802D5684 002D25E4 FE E0 10 18 */ frsp f23, f2
/* 802D5688 002D25E8 EE 36 05 72 */ fmuls f17, f22, f21
/* 802D568C 002D25EC FE A0 68 18 */ frsp f21, f13
/* 802D5690 002D25F0 FF 40 40 18 */ frsp f26, f8
/* 802D5694 002D25F4 EE 18 8D FA */ fmadds f16, f24, f23, f17
/* 802D5698 002D25F8 FF 20 60 18 */ frsp f25, f12
/* 802D569C 002D25FC EE 36 05 72 */ fmuls f17, f22, f21
/* 802D56A0 002D2600 FE E0 08 18 */ frsp f23, f1
/* 802D56A4 002D2604 ED FA 86 7A */ fmadds f15, f26, f25, f16
/* 802D56A8 002D2608 FE A0 98 18 */ frsp f21, f19
/* 802D56AC 002D260C EE 18 8D FA */ fmadds f16, f24, f23, f17
/* 802D56B0 002D2610 FF 20 90 18 */ frsp f25, f18
/* 802D56B4 002D2614 D1 E7 00 0C */ stfs f15, 0xc(r7)
/* 802D56B8 002D2618 FE E0 00 18 */ frsp f23, f0
/* 802D56BC 002D261C EE 36 05 72 */ fmuls f17, f22, f21
/* 802D56C0 002D2620 ED FA 86 7A */ fmadds f15, f26, f25, f16
/* 802D56C4 002D2624 FF 20 A0 18 */ frsp f25, f20
/* 802D56C8 002D2628 EE 18 8D FA */ fmadds f16, f24, f23, f17
/* 802D56CC 002D262C D1 E7 00 10 */ stfs f15, 0x10(r7)
/* 802D56D0 002D2630 ED FA 86 7A */ fmadds f15, f26, f25, f16
/* 802D56D4 002D2634 D1 E7 00 14 */ stfs f15, 0x14(r7)
/* 802D56D8 002D2638 FE C0 48 18 */ frsp f22, f9
/* 802D56DC 002D263C 38 00 00 03 */ li r0, 3
/* 802D56E0 002D2640 FE A0 58 18 */ frsp f21, f11
/* 802D56E4 002D2644 7D 04 43 78 */ mr r4, r8
/* 802D56E8 002D2648 FF 00 18 18 */ frsp f24, f3
/* 802D56EC 002D264C 7C E5 3B 78 */ mr r5, r7
/* 802D56F0 002D2650 EE 36 05 72 */ fmuls f17, f22, f21
/* 802D56F4 002D2654 38 C1 00 08 */ addi r6, r1, 8
/* 802D56F8 002D2658 FE E0 10 18 */ frsp f23, f2
/* 802D56FC 002D265C C0 42 C5 40 */ lfs f2, lbl_805AE260@sda21(r2)
/* 802D5700 002D2660 FE A0 68 18 */ frsp f21, f13
/* 802D5704 002D2664 FF 40 50 18 */ frsp f26, f10
/* 802D5708 002D2668 EE 18 8D FA */ fmadds f16, f24, f23, f17
/* 802D570C 002D266C FF 20 60 18 */ frsp f25, f12
/* 802D5710 002D2670 EE 36 05 72 */ fmuls f17, f22, f21
/* 802D5714 002D2674 FE E0 08 18 */ frsp f23, f1
/* 802D5718 002D2678 ED FA 86 7A */ fmadds f15, f26, f25, f16
/* 802D571C 002D267C FE A0 98 18 */ frsp f21, f19
/* 802D5720 002D2680 EE 18 8D FA */ fmadds f16, f24, f23, f17
/* 802D5724 002D2684 FF 20 90 18 */ frsp f25, f18
/* 802D5728 002D2688 D1 E7 00 18 */ stfs f15, 0x18(r7)
/* 802D572C 002D268C FE E0 00 18 */ frsp f23, f0
/* 802D5730 002D2690 EE 36 05 72 */ fmuls f17, f22, f21
/* 802D5734 002D2694 ED FA 86 7A */ fmadds f15, f26, f25, f16
/* 802D5738 002D2698 FF 20 A0 18 */ frsp f25, f20
/* 802D573C 002D269C EE 18 8D FA */ fmadds f16, f24, f23, f17
/* 802D5740 002D26A0 D1 E7 00 1C */ stfs f15, 0x1c(r7)
/* 802D5744 002D26A4 ED FA 86 7A */ fmadds f15, f26, f25, f16
/* 802D5748 002D26A8 D1 E7 00 20 */ stfs f15, 0x20(r7)
/* 802D574C 002D26AC 7C 09 03 A6 */ mtctr r0
lbl_802D5750:
/* 802D5750 002D26B0 C0 25 00 04 */ lfs f1, 4(r5)
/* 802D5754 002D26B4 C0 05 00 00 */ lfs f0, 0(r5)
/* 802D5758 002D26B8 FC 80 0A 10 */ fabs f4, f1
/* 802D575C 002D26BC C0 25 00 08 */ lfs f1, 8(r5)
/* 802D5760 002D26C0 FC E0 02 10 */ fabs f7, f0
/* 802D5764 002D26C4 C0 06 00 00 */ lfs f0, 0(r6)
/* 802D5768 002D26C8 FD 00 0A 10 */ fabs f8, f1
/* 802D576C 002D26CC C0 63 00 04 */ lfs f3, 4(r3)
/* 802D5770 002D26D0 FC 20 20 18 */ frsp f1, f4
/* 802D5774 002D26D4 C0 A3 00 00 */ lfs f5, 0(r3)
/* 802D5778 002D26D8 FD 20 02 10 */ fabs f9, f0
/* 802D577C 002D26DC C0 C3 00 08 */ lfs f6, 8(r3)
/* 802D5780 002D26E0 FC 80 38 18 */ frsp f4, f7
/* 802D5784 002D26E4 C0 E4 00 00 */ lfs f7, 0(r4)
/* 802D5788 002D26E8 EC 03 00 72 */ fmuls f0, f3, f1
/* 802D578C 002D26EC FC 60 40 18 */ frsp f3, f8
/* 802D5790 002D26F0 FC 20 48 18 */ frsp f1, f9
/* 802D5794 002D26F4 EC 05 01 3A */ fmadds f0, f5, f4, f0
/* 802D5798 002D26F8 EC 06 00 FA */ fmadds f0, f6, f3, f0
/* 802D579C 002D26FC EC 07 00 2A */ fadds f0, f7, f0
/* 802D57A0 002D2700 EC 02 00 2A */ fadds f0, f2, f0
/* 802D57A4 002D2704 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 802D57A8 002D2708 40 81 00 0C */ ble lbl_802D57B4
/* 802D57AC 002D270C 38 60 00 00 */ li r3, 0
/* 802D57B0 002D2710 48 00 03 2C */ b lbl_802D5ADC
lbl_802D57B4:
/* 802D57B4 002D2714 38 84 00 04 */ addi r4, r4, 4
/* 802D57B8 002D2718 38 A5 00 0C */ addi r5, r5, 0xc
/* 802D57BC 002D271C 38 C6 00 04 */ addi r6, r6, 4
/* 802D57C0 002D2720 42 00 FF 90 */ bdnz lbl_802D5750
/* 802D57C4 002D2724 38 00 00 03 */ li r0, 3
/* 802D57C8 002D2728 7C 64 1B 78 */ mr r4, r3
/* 802D57CC 002D272C C0 A1 00 10 */ lfs f5, 0x10(r1)
/* 802D57D0 002D2730 C0 81 00 08 */ lfs f4, 8(r1)
/* 802D57D4 002D2734 C0 61 00 0C */ lfs f3, 0xc(r1)
/* 802D57D8 002D2738 C0 22 C5 40 */ lfs f1, lbl_805AE260@sda21(r2)
/* 802D57DC 002D273C 7C 09 03 A6 */ mtctr r0
lbl_802D57E0:
/* 802D57E0 002D2740 C0 07 00 0C */ lfs f0, 0xc(r7)
/* 802D57E4 002D2744 C0 E7 00 00 */ lfs f7, 0(r7)
/* 802D57E8 002D2748 FC 40 02 10 */ fabs f2, f0
/* 802D57EC 002D274C C1 07 00 18 */ lfs f8, 0x18(r7)
/* 802D57F0 002D2750 FC C0 3A 10 */ fabs f6, f7
/* 802D57F4 002D2754 C2 88 00 04 */ lfs f20, 4(r8)
/* 802D57F8 002D2758 FD 20 42 10 */ fabs f9, f8
/* 802D57FC 002D275C C2 68 00 00 */ lfs f19, 0(r8)
/* 802D5800 002D2760 FC 40 10 18 */ frsp f2, f2
/* 802D5804 002D2764 C2 48 00 08 */ lfs f18, 8(r8)
/* 802D5808 002D2768 EC 00 00 F2 */ fmuls f0, f0, f3
/* 802D580C 002D276C C1 44 00 00 */ lfs f10, 0(r4)
/* 802D5810 002D2770 FC C0 30 18 */ frsp f6, f6
/* 802D5814 002D2774 EC 54 00 B2 */ fmuls f2, f20, f2
/* 802D5818 002D2778 EC 07 01 3A */ fmadds f0, f7, f4, f0
/* 802D581C 002D277C FC E0 48 18 */ frsp f7, f9
/* 802D5820 002D2780 EC 53 11 BA */ fmadds f2, f19, f6, f2
/* 802D5824 002D2784 EC 08 01 7A */ fmadds f0, f8, f5, f0
/* 802D5828 002D2788 EC D2 11 FA */ fmadds f6, f18, f7, f2
/* 802D582C 002D278C FC 40 02 10 */ fabs f2, f0
/* 802D5830 002D2790 EC 06 50 2A */ fadds f0, f6, f10
/* 802D5834 002D2794 FC 40 10 18 */ frsp f2, f2
/* 802D5838 002D2798 EC 01 00 2A */ fadds f0, f1, f0
/* 802D583C 002D279C FC 02 00 40 */ fcmpo cr0, f2, f0
/* 802D5840 002D27A0 40 81 00 0C */ ble lbl_802D584C
/* 802D5844 002D27A4 38 60 00 00 */ li r3, 0
/* 802D5848 002D27A8 48 00 02 94 */ b lbl_802D5ADC
lbl_802D584C:
/* 802D584C 002D27AC 38 E7 00 04 */ addi r7, r7, 4
/* 802D5850 002D27B0 38 84 00 04 */ addi r4, r4, 4
/* 802D5854 002D27B4 42 00 FF 8C */ bdnz lbl_802D57E0
/* 802D5858 002D27B8 C2 A1 00 20 */ lfs f21, 0x20(r1)
/* 802D585C 002D27BC C3 21 00 18 */ lfs f25, 0x18(r1)
/* 802D5860 002D27C0 FC 00 AA 10 */ fabs f0, f21
/* 802D5864 002D27C4 C2 C1 00 2C */ lfs f22, 0x2c(r1)
/* 802D5868 002D27C8 FC 40 CA 10 */ fabs f2, f25
/* 802D586C 002D27CC C3 41 00 1C */ lfs f26, 0x1c(r1)
/* 802D5870 002D27D0 FC 20 B2 10 */ fabs f1, f22
/* 802D5874 002D27D4 C1 A1 00 0C */ lfs f13, 0xc(r1)
/* 802D5878 002D27D8 FF 00 00 18 */ frsp f24, f0
/* 802D587C 002D27DC C3 A3 00 08 */ lfs f29, 8(r3)
/* 802D5880 002D27E0 FC 60 D2 10 */ fabs f3, f26
/* 802D5884 002D27E4 C3 63 00 04 */ lfs f27, 4(r3)
/* 802D5888 002D27E8 FF C0 10 18 */ frsp f30, f2
/* 802D588C 002D27EC C3 E1 00 10 */ lfs f31, 0x10(r1)
/* 802D5890 002D27F0 EC 16 03 72 */ fmuls f0, f22, f13
/* 802D5894 002D27F4 C1 82 C5 40 */ lfs f12, lbl_805AE260@sda21(r2)
/* 802D5898 002D27F8 FE E0 08 18 */ frsp f23, f1
/* 802D589C 002D27FC EC 52 06 32 */ fmuls f2, f18, f24
/* 802D58A0 002D2800 EC 15 07 F8 */ fmsubs f0, f21, f31, f0
/* 802D58A4 002D2804 FF 80 18 18 */ frsp f28, f3
/* 802D58A8 002D2808 EC 3D 07 B2 */ fmuls f1, f29, f30
/* 802D58AC 002D280C FC 00 02 10 */ fabs f0, f0
/* 802D58B0 002D2810 EC 54 15 FA */ fmadds f2, f20, f23, f2
/* 802D58B4 002D2814 EC 7B 0F 3A */ fmadds f3, f27, f28, f1
/* 802D58B8 002D2818 FC 20 00 18 */ frsp f1, f0
/* 802D58BC 002D281C EC 02 18 2A */ fadds f0, f2, f3
/* 802D58C0 002D2820 EC 0C 00 2A */ fadds f0, f12, f0
/* 802D58C4 002D2824 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 802D58C8 002D2828 40 81 00 0C */ ble lbl_802D58D4
/* 802D58CC 002D282C 38 60 00 00 */ li r3, 0
/* 802D58D0 002D2830 48 00 02 0C */ b lbl_802D5ADC
lbl_802D58D4:
/* 802D58D4 002D2834 C1 61 00 24 */ lfs f11, 0x24(r1)
/* 802D58D8 002D2838 C0 E1 00 14 */ lfs f7, 0x14(r1)
/* 802D58DC 002D283C FC 00 5A 10 */ fabs f0, f11
/* 802D58E0 002D2840 C1 41 00 30 */ lfs f10, 0x30(r1)
/* 802D58E4 002D2844 FC 40 3A 10 */ fabs f2, f7
/* 802D58E8 002D2848 C0 C3 00 00 */ lfs f6, 0(r3)
/* 802D58EC 002D284C FC 20 52 10 */ fabs f1, f10
/* 802D58F0 002D2850 FD 00 00 18 */ frsp f8, f0
/* 802D58F4 002D2854 FC A0 10 18 */ frsp f5, f2
/* 802D58F8 002D2858 EC 0A 03 72 */ fmuls f0, f10, f13
/* 802D58FC 002D285C FD 20 08 18 */ frsp f9, f1
/* 802D5900 002D2860 EC 52 02 32 */ fmuls f2, f18, f8
/* 802D5904 002D2864 EC 3D 01 72 */ fmuls f1, f29, f5
/* 802D5908 002D2868 EC 0B 07 F8 */ fmsubs f0, f11, f31, f0
/* 802D590C 002D286C EC 54 12 7A */ fmadds f2, f20, f9, f2
/* 802D5910 002D2870 EC 66 0F 3A */ fmadds f3, f6, f28, f1
/* 802D5914 002D2874 FC 20 02 10 */ fabs f1, f0
/* 802D5918 002D2878 EC 02 18 2A */ fadds f0, f2, f3
/* 802D591C 002D287C FC 20 08 18 */ frsp f1, f1
/* 802D5920 002D2880 EC 0C 00 2A */ fadds f0, f12, f0
/* 802D5924 002D2884 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 802D5928 002D2888 40 81 00 0C */ ble lbl_802D5934
/* 802D592C 002D288C 38 60 00 00 */ li r3, 0
/* 802D5930 002D2890 48 00 01 AC */ b lbl_802D5ADC
lbl_802D5934:
/* 802D5934 002D2894 C0 81 00 28 */ lfs f4, 0x28(r1)
/* 802D5938 002D2898 EE 1B 01 72 */ fmuls f16, f27, f5
/* 802D593C 002D289C C0 61 00 34 */ lfs f3, 0x34(r1)
/* 802D5940 002D28A0 FC 20 22 10 */ fabs f1, f4
/* 802D5944 002D28A4 FC 40 1A 10 */ fabs f2, f3
/* 802D5948 002D28A8 EC 03 03 72 */ fmuls f0, f3, f13
/* 802D594C 002D28AC FC 20 08 18 */ frsp f1, f1
/* 802D5950 002D28B0 FC 40 10 18 */ frsp f2, f2
/* 802D5954 002D28B4 ED E4 07 F8 */ fmsubs f15, f4, f31, f0
/* 802D5958 002D28B8 EE 32 00 72 */ fmuls f17, f18, f1
/* 802D595C 002D28BC EC 06 87 BA */ fmadds f0, f6, f30, f16
/* 802D5960 002D28C0 FD E0 7A 10 */ fabs f15, f15
/* 802D5964 002D28C4 EE 14 88 BA */ fmadds f16, f20, f2, f17
/* 802D5968 002D28C8 FD E0 78 18 */ frsp f15, f15
/* 802D596C 002D28CC EC 10 00 2A */ fadds f0, f16, f0
/* 802D5970 002D28D0 EC 0C 00 2A */ fadds f0, f12, f0
/* 802D5974 002D28D4 FC 0F 00 40 */ fcmpo cr0, f15, f0
/* 802D5978 002D28D8 40 81 00 0C */ ble lbl_802D5984
/* 802D597C 002D28DC 38 60 00 00 */ li r3, 0
/* 802D5980 002D28E0 48 00 01 5C */ b lbl_802D5ADC
lbl_802D5984:
/* 802D5984 002D28E4 ED F2 01 72 */ fmuls f15, f18, f5
/* 802D5988 002D28E8 C0 01 00 08 */ lfs f0, 8(r1)
/* 802D598C 002D28EC EE 3D 02 32 */ fmuls f17, f29, f8
/* 802D5990 002D28F0 EE 07 07 F2 */ fmuls f16, f7, f31
/* 802D5994 002D28F4 ED F3 7D FA */ fmadds f15, f19, f23, f15
/* 802D5998 002D28F8 ED DB 88 7A */ fmadds f14, f27, f1, f17
/* 802D599C 002D28FC EE 36 80 38 */ fmsubs f17, f22, f0, f16
/* 802D59A0 002D2900 EE 0F 70 2A */ fadds f16, f15, f14
/* 802D59A4 002D2904 FD E0 8A 10 */ fabs f15, f17
/* 802D59A8 002D2908 EE 0C 80 2A */ fadds f16, f12, f16
/* 802D59AC 002D290C FE 20 78 18 */ frsp f17, f15
/* 802D59B0 002D2910 FC 11 80 40 */ fcmpo cr0, f17, f16
/* 802D59B4 002D2914 40 81 00 0C */ ble lbl_802D59C0
/* 802D59B8 002D2918 38 60 00 00 */ li r3, 0
/* 802D59BC 002D291C 48 00 01 20 */ b lbl_802D5ADC
lbl_802D59C0:
/* 802D59C0 002D2920 EE 12 07 B2 */ fmuls f16, f18, f30
/* 802D59C4 002D2924 EE 3D 06 32 */ fmuls f17, f29, f24
/* 802D59C8 002D2928 EE D9 07 F2 */ fmuls f22, f25, f31
/* 802D59CC 002D292C ED F3 82 7A */ fmadds f15, f19, f9, f16
/* 802D59D0 002D2930 EE 06 88 7A */ fmadds f16, f6, f1, f17
/* 802D59D4 002D2934 EE CA B0 38 */ fmsubs f22, f10, f0, f22
/* 802D59D8 002D2938 ED 4F 80 2A */ fadds f10, f15, f16
/* 802D59DC 002D293C FD E0 B2 10 */ fabs f15, f22
/* 802D59E0 002D2940 ED 4C 50 2A */ fadds f10, f12, f10
/* 802D59E4 002D2944 FE C0 78 18 */ frsp f22, f15
/* 802D59E8 002D2948 FC 16 50 40 */ fcmpo cr0, f22, f10
/* 802D59EC 002D294C 40 81 00 0C */ ble lbl_802D59F8
/* 802D59F0 002D2950 38 60 00 00 */ li r3, 0
/* 802D59F4 002D2954 48 00 00 E8 */ b lbl_802D5ADC
lbl_802D59F8:
/* 802D59F8 002D2958 EE D2 07 32 */ fmuls f22, f18, f28
/* 802D59FC 002D295C EE 5B 06 32 */ fmuls f18, f27, f24
/* 802D5A00 002D2960 ED 5A 07 F2 */ fmuls f10, f26, f31
/* 802D5A04 002D2964 ED F3 B0 BA */ fmadds f15, f19, f2, f22
/* 802D5A08 002D2968 EE 06 92 3A */ fmadds f16, f6, f8, f18
/* 802D5A0C 002D296C ED 43 50 38 */ fmsubs f10, f3, f0, f10
/* 802D5A10 002D2970 EC 6F 80 2A */ fadds f3, f15, f16
/* 802D5A14 002D2974 FD 40 52 10 */ fabs f10, f10
/* 802D5A18 002D2978 EC 6C 18 2A */ fadds f3, f12, f3
/* 802D5A1C 002D297C FD 40 50 18 */ frsp f10, f10
/* 802D5A20 002D2980 FC 0A 18 40 */ fcmpo cr0, f10, f3
/* 802D5A24 002D2984 40 81 00 0C */ ble lbl_802D5A30
/* 802D5A28 002D2988 38 60 00 00 */ li r3, 0
/* 802D5A2C 002D298C 48 00 00 B0 */ b lbl_802D5ADC
lbl_802D5A30:
/* 802D5A30 002D2990 ED 54 01 72 */ fmuls f10, f20, f5
/* 802D5A34 002D2994 EC BD 02 72 */ fmuls f5, f29, f9
/* 802D5A38 002D2998 EC 75 00 32 */ fmuls f3, f21, f0
/* 802D5A3C 002D299C ED 53 56 3A */ fmadds f10, f19, f24, f10
/* 802D5A40 002D29A0 ED FB 28 BA */ fmadds f15, f27, f2, f5
/* 802D5A44 002D29A4 EC A7 1B 78 */ fmsubs f5, f7, f13, f3
/* 802D5A48 002D29A8 EC 6A 78 2A */ fadds f3, f10, f15
/* 802D5A4C 002D29AC FC A0 2A 10 */ fabs f5, f5
/* 802D5A50 002D29B0 EC 6C 18 2A */ fadds f3, f12, f3
/* 802D5A54 002D29B4 FC A0 28 18 */ frsp f5, f5
/* 802D5A58 002D29B8 FC 05 18 40 */ fcmpo cr0, f5, f3
/* 802D5A5C 002D29BC 40 81 00 0C */ ble lbl_802D5A68
/* 802D5A60 002D29C0 38 60 00 00 */ li r3, 0
/* 802D5A64 002D29C4 48 00 00 78 */ b lbl_802D5ADC
lbl_802D5A68:
/* 802D5A68 002D29C8 EC F4 07 B2 */ fmuls f7, f20, f30
/* 802D5A6C 002D29CC EC BD 05 F2 */ fmuls f5, f29, f23
/* 802D5A70 002D29D0 EC 6B 00 32 */ fmuls f3, f11, f0
/* 802D5A74 002D29D4 EC F3 3A 3A */ fmadds f7, f19, f8, f7
/* 802D5A78 002D29D8 EC 46 28 BA */ fmadds f2, f6, f2, f5
/* 802D5A7C 002D29DC EC 79 1B 78 */ fmsubs f3, f25, f13, f3
/* 802D5A80 002D29E0 EC 47 10 2A */ fadds f2, f7, f2
/* 802D5A84 002D29E4 FC 60 1A 10 */ fabs f3, f3
/* 802D5A88 002D29E8 EC 4C 10 2A */ fadds f2, f12, f2
/* 802D5A8C 002D29EC FC 60 18 18 */ frsp f3, f3
/* 802D5A90 002D29F0 FC 03 10 40 */ fcmpo cr0, f3, f2
/* 802D5A94 002D29F4 40 81 00 0C */ ble lbl_802D5AA0
/* 802D5A98 002D29F8 38 60 00 00 */ li r3, 0
/* 802D5A9C 002D29FC 48 00 00 40 */ b lbl_802D5ADC
lbl_802D5AA0:
/* 802D5AA0 002D2A00 EC 74 07 32 */ fmuls f3, f20, f28
/* 802D5AA4 002D2A04 EC 5B 05 F2 */ fmuls f2, f27, f23
/* 802D5AA8 002D2A08 EC 04 00 32 */ fmuls f0, f4, f0
/* 802D5AAC 002D2A0C EC 73 18 7A */ fmadds f3, f19, f1, f3
/* 802D5AB0 002D2A10 EC 46 12 7A */ fmadds f2, f6, f9, f2
/* 802D5AB4 002D2A14 EC 3A 03 78 */ fmsubs f1, f26, f13, f0
/* 802D5AB8 002D2A18 EC 03 10 2A */ fadds f0, f3, f2
/* 802D5ABC 002D2A1C FC 20 0A 10 */ fabs f1, f1
/* 802D5AC0 002D2A20 EC 0C 00 2A */ fadds f0, f12, f0
/* 802D5AC4 002D2A24 FC 20 08 18 */ frsp f1, f1
/* 802D5AC8 002D2A28 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 802D5ACC 002D2A2C 7C 00 00 26 */ mfcr r0
/* 802D5AD0 002D2A30 54 00 17 FE */ rlwinm r0, r0, 2, 0x1f, 0x1f
/* 802D5AD4 002D2A34 7C 00 00 34 */ cntlzw r0, r0
/* 802D5AD8 002D2A38 54 03 D9 7E */ srwi r3, r0, 5
lbl_802D5ADC:
/* 802D5ADC 002D2A3C E3 E1 01 98 */ psq_l f31, 408(r1), 0, qr0
/* 802D5AE0 002D2A40 CB E1 01 90 */ lfd f31, 0x190(r1)
/* 802D5AE4 002D2A44 E3 C1 01 88 */ psq_l f30, 392(r1), 0, qr0
/* 802D5AE8 002D2A48 CB C1 01 80 */ lfd f30, 0x180(r1)
/* 802D5AEC 002D2A4C E3 A1 01 78 */ psq_l f29, 376(r1), 0, qr0
/* 802D5AF0 002D2A50 CB A1 01 70 */ lfd f29, 0x170(r1)
/* 802D5AF4 002D2A54 E3 81 01 68 */ psq_l f28, 360(r1), 0, qr0
/* 802D5AF8 002D2A58 CB 81 01 60 */ lfd f28, 0x160(r1)
/* 802D5AFC 002D2A5C E3 61 01 58 */ psq_l f27, 344(r1), 0, qr0
/* 802D5B00 002D2A60 CB 61 01 50 */ lfd f27, 0x150(r1)
/* 802D5B04 002D2A64 E3 41 01 48 */ psq_l f26, 328(r1), 0, qr0
/* 802D5B08 002D2A68 CB 41 01 40 */ lfd f26, 0x140(r1)
/* 802D5B0C 002D2A6C E3 21 01 38 */ psq_l f25, 312(r1), 0, qr0
/* 802D5B10 002D2A70 CB 21 01 30 */ lfd f25, 0x130(r1)
/* 802D5B14 002D2A74 E3 01 01 28 */ psq_l f24, 296(r1), 0, qr0
/* 802D5B18 002D2A78 CB 01 01 20 */ lfd f24, 0x120(r1)
/* 802D5B1C 002D2A7C E2 E1 01 18 */ psq_l f23, 280(r1), 0, qr0
/* 802D5B20 002D2A80 CA E1 01 10 */ lfd f23, 0x110(r1)
/* 802D5B24 002D2A84 E2 C1 01 08 */ psq_l f22, 264(r1), 0, qr0
/* 802D5B28 002D2A88 CA C1 01 00 */ lfd f22, 0x100(r1)
/* 802D5B2C 002D2A8C E2 A1 00 F8 */ psq_l f21, 248(r1), 0, qr0
/* 802D5B30 002D2A90 CA A1 00 F0 */ lfd f21, 0xf0(r1)
/* 802D5B34 002D2A94 E2 81 00 E8 */ psq_l f20, 232(r1), 0, qr0
/* 802D5B38 002D2A98 CA 81 00 E0 */ lfd f20, 0xe0(r1)
/* 802D5B3C 002D2A9C E2 61 00 D8 */ psq_l f19, 216(r1), 0, qr0
/* 802D5B40 002D2AA0 CA 61 00 D0 */ lfd f19, 0xd0(r1)
/* 802D5B44 002D2AA4 E2 41 00 C8 */ psq_l f18, 200(r1), 0, qr0
/* 802D5B48 002D2AA8 CA 41 00 C0 */ lfd f18, 0xc0(r1)
/* 802D5B4C 002D2AAC E2 21 00 B8 */ psq_l f17, 184(r1), 0, qr0
/* 802D5B50 002D2AB0 CA 21 00 B0 */ lfd f17, 0xb0(r1)
/* 802D5B54 002D2AB4 E2 01 00 A8 */ psq_l f16, 168(r1), 0, qr0
/* 802D5B58 002D2AB8 CA 01 00 A0 */ lfd f16, 0xa0(r1)
/* 802D5B5C 002D2ABC E1 E1 00 98 */ psq_l f15, 152(r1), 0, qr0
/* 802D5B60 002D2AC0 C9 E1 00 90 */ lfd f15, 0x90(r1)
/* 802D5B64 002D2AC4 E1 C1 00 88 */ psq_l f14, 136(r1), 0, qr0
/* 802D5B68 002D2AC8 C9 C1 00 80 */ lfd f14, 0x80(r1)
/* 802D5B6C 002D2ACC 38 21 01 A0 */ addi r1, r1, 0x1a0
/* 802D5B70 002D2AD0 4E 80 00 20 */ blr
.global AABoxIntersectsBox__6COBBoxCFRC6CAABox
AABoxIntersectsBox__6COBBoxCFRC6CAABox:
/* 802D5B74 002D2AD4 94 21 FF B0 */ stwu r1, -0x50(r1)
/* 802D5B78 002D2AD8 7C 08 02 A6 */ mflr r0
/* 802D5B7C 002D2ADC 3C A0 80 5A */ lis r5, sIdentity__12CTransform4f@ha
/* 802D5B80 002D2AE0 90 01 00 54 */ stw r0, 0x54(r1)
/* 802D5B84 002D2AE4 38 A5 66 70 */ addi r5, r5, sIdentity__12CTransform4f@l
/* 802D5B88 002D2AE8 93 E1 00 4C */ stw r31, 0x4c(r1)
/* 802D5B8C 002D2AEC 7C 7F 1B 78 */ mr r31, r3
/* 802D5B90 002D2AF0 38 61 00 08 */ addi r3, r1, 8
/* 802D5B94 002D2AF4 48 00 01 89 */ bl FromAABox__6COBBoxFRC6CAABoxRC12CTransform4f
/* 802D5B98 002D2AF8 7F E3 FB 78 */ mr r3, r31
/* 802D5B9C 002D2AFC 38 81 00 08 */ addi r4, r1, 8
/* 802D5BA0 002D2B00 4B FF F8 F5 */ bl OBBIntersectsBox__6COBBoxCFRC6COBBox
/* 802D5BA4 002D2B04 80 01 00 54 */ lwz r0, 0x54(r1)
/* 802D5BA8 002D2B08 83 E1 00 4C */ lwz r31, 0x4c(r1)
/* 802D5BAC 002D2B0C 7C 08 03 A6 */ mtlr r0
/* 802D5BB0 002D2B10 38 21 00 50 */ addi r1, r1, 0x50
/* 802D5BB4 002D2B14 4E 80 00 20 */ blr
.global LineIntersectsBox__6COBBoxCFRC5CMRayRf
LineIntersectsBox__6COBBoxCFRC5CMRayRf:
/* 802D5BB8 002D2B18 94 21 FF 10 */ stwu r1, -0xf0(r1)
/* 802D5BBC 002D2B1C 7C 08 02 A6 */ mflr r0
/* 802D5BC0 002D2B20 90 01 00 F4 */ stw r0, 0xf4(r1)
/* 802D5BC4 002D2B24 DB E1 00 E0 */ stfd f31, 0xe0(r1)
/* 802D5BC8 002D2B28 F3 E1 00 E8 */ psq_st f31, 232(r1), 0, qr0
/* 802D5BCC 002D2B2C DB C1 00 D0 */ stfd f30, 0xd0(r1)
/* 802D5BD0 002D2B30 F3 C1 00 D8 */ psq_st f30, 216(r1), 0, qr0
/* 802D5BD4 002D2B34 DB A1 00 C0 */ stfd f29, 0xc0(r1)
/* 802D5BD8 002D2B38 F3 A1 00 C8 */ psq_st f29, 200(r1), 0, qr0
/* 802D5BDC 002D2B3C 93 E1 00 BC */ stw r31, 0xbc(r1)
/* 802D5BE0 002D2B40 93 C1 00 B8 */ stw r30, 0xb8(r1)
/* 802D5BE4 002D2B44 93 A1 00 B4 */ stw r29, 0xb4(r1)
/* 802D5BE8 002D2B48 7C 7D 1B 78 */ mr r29, r3
/* 802D5BEC 002D2B4C 7C 9E 23 78 */ mr r30, r4
/* 802D5BF0 002D2B50 C0 43 00 38 */ lfs f2, 0x38(r3)
/* 802D5BF4 002D2B54 7C BF 2B 78 */ mr r31, r5
/* 802D5BF8 002D2B58 C0 23 00 34 */ lfs f1, 0x34(r3)
/* 802D5BFC 002D2B5C 38 61 00 20 */ addi r3, r1, 0x20
/* 802D5C00 002D2B60 C0 1D 00 30 */ lfs f0, 0x30(r29)
/* 802D5C04 002D2B64 FC 40 10 50 */ fneg f2, f2
/* 802D5C08 002D2B68 FC 20 08 50 */ fneg f1, f1
/* 802D5C0C 002D2B6C 38 81 00 08 */ addi r4, r1, 8
/* 802D5C10 002D2B70 FC 00 00 50 */ fneg f0, f0
/* 802D5C14 002D2B74 38 BD 00 30 */ addi r5, r29, 0x30
/* 802D5C18 002D2B78 D0 41 00 10 */ stfs f2, 0x10(r1)
/* 802D5C1C 002D2B7C D0 01 00 08 */ stfs f0, 8(r1)
/* 802D5C20 002D2B80 D0 21 00 0C */ stfs f1, 0xc(r1)
/* 802D5C24 002D2B84 48 06 28 E5 */ bl __ct__6CAABoxFRC9CVector3fRC9CVector3f
/* 802D5C28 002D2B88 7F C4 F3 78 */ mr r4, r30
/* 802D5C2C 002D2B8C 7F A5 EB 78 */ mr r5, r29
/* 802D5C30 002D2B90 38 61 00 38 */ addi r3, r1, 0x38
/* 802D5C34 002D2B94 48 00 03 B5 */ bl GetInvUnscaledTransformRay__5CMRayCFRC12CTransform4f
/* 802D5C38 002D2B98 3C 60 80 5A */ lis r3, sZeroVector__9CVector3f@ha
/* 802D5C3C 002D2B9C C3 A1 00 38 */ lfs f29, 0x38(r1)
/* 802D5C40 002D2BA0 38 E3 66 A0 */ addi r7, r3, sZeroVector__9CVector3f@l
/* 802D5C44 002D2BA4 C3 C1 00 3C */ lfs f30, 0x3c(r1)
/* 802D5C48 002D2BA8 C3 E1 00 40 */ lfs f31, 0x40(r1)
/* 802D5C4C 002D2BAC 7F E6 FB 78 */ mr r6, r31
/* 802D5C50 002D2BB0 C1 A1 00 44 */ lfs f13, 0x44(r1)
/* 802D5C54 002D2BB4 38 61 00 70 */ addi r3, r1, 0x70
/* 802D5C58 002D2BB8 C1 81 00 48 */ lfs f12, 0x48(r1)
/* 802D5C5C 002D2BBC 38 81 00 20 */ addi r4, r1, 0x20
/* 802D5C60 002D2BC0 C1 61 00 4C */ lfs f11, 0x4c(r1)
/* 802D5C64 002D2BC4 38 A1 00 14 */ addi r5, r1, 0x14
/* 802D5C68 002D2BC8 C1 41 00 50 */ lfs f10, 0x50(r1)
/* 802D5C6C 002D2BCC C1 21 00 54 */ lfs f9, 0x54(r1)
/* 802D5C70 002D2BD0 C1 01 00 58 */ lfs f8, 0x58(r1)
/* 802D5C74 002D2BD4 C0 E1 00 5C */ lfs f7, 0x5c(r1)
/* 802D5C78 002D2BD8 C0 C1 00 60 */ lfs f6, 0x60(r1)
/* 802D5C7C 002D2BDC C0 A1 00 64 */ lfs f5, 0x64(r1)
/* 802D5C80 002D2BE0 C0 81 00 68 */ lfs f4, 0x68(r1)
/* 802D5C84 002D2BE4 C0 61 00 6C */ lfs f3, 0x6c(r1)
/* 802D5C88 002D2BE8 C0 47 00 00 */ lfs f2, 0(r7)
/* 802D5C8C 002D2BEC C0 27 00 04 */ lfs f1, 4(r7)
/* 802D5C90 002D2BF0 C0 07 00 08 */ lfs f0, 8(r7)
/* 802D5C94 002D2BF4 D3 A1 00 70 */ stfs f29, 0x70(r1)
/* 802D5C98 002D2BF8 D3 C1 00 74 */ stfs f30, 0x74(r1)
/* 802D5C9C 002D2BFC D3 E1 00 78 */ stfs f31, 0x78(r1)
/* 802D5CA0 002D2C00 D1 A1 00 7C */ stfs f13, 0x7c(r1)
/* 802D5CA4 002D2C04 D1 81 00 80 */ stfs f12, 0x80(r1)
/* 802D5CA8 002D2C08 D1 61 00 84 */ stfs f11, 0x84(r1)
/* 802D5CAC 002D2C0C D1 41 00 88 */ stfs f10, 0x88(r1)
/* 802D5CB0 002D2C10 D1 21 00 8C */ stfs f9, 0x8c(r1)
/* 802D5CB4 002D2C14 D1 01 00 90 */ stfs f8, 0x90(r1)
/* 802D5CB8 002D2C18 D0 E1 00 94 */ stfs f7, 0x94(r1)
/* 802D5CBC 002D2C1C D0 C1 00 98 */ stfs f6, 0x98(r1)
/* 802D5CC0 002D2C20 D0 A1 00 9C */ stfs f5, 0x9c(r1)
/* 802D5CC4 002D2C24 D0 81 00 A0 */ stfs f4, 0xa0(r1)
/* 802D5CC8 002D2C28 D0 61 00 A4 */ stfs f3, 0xa4(r1)
/* 802D5CCC 002D2C2C D0 41 00 14 */ stfs f2, 0x14(r1)
/* 802D5CD0 002D2C30 D0 21 00 18 */ stfs f1, 0x18(r1)
/* 802D5CD4 002D2C34 D0 01 00 1C */ stfs f0, 0x1c(r1)
/* 802D5CD8 002D2C38 4B FF D8 B9 */ bl RayAABoxIntersection__13CollisionUtilFRC5CMRayRC6CAABoxR9CVector3fRf
/* 802D5CDC 002D2C3C 7C 03 00 D0 */ neg r0, r3
/* 802D5CE0 002D2C40 7C 00 1B 78 */ or r0, r0, r3
/* 802D5CE4 002D2C44 54 03 0F FE */ srwi r3, r0, 0x1f
/* 802D5CE8 002D2C48 E3 E1 00 E8 */ psq_l f31, 232(r1), 0, qr0
/* 802D5CEC 002D2C4C CB E1 00 E0 */ lfd f31, 0xe0(r1)
/* 802D5CF0 002D2C50 E3 C1 00 D8 */ psq_l f30, 216(r1), 0, qr0
/* 802D5CF4 002D2C54 CB C1 00 D0 */ lfd f30, 0xd0(r1)
/* 802D5CF8 002D2C58 E3 A1 00 C8 */ psq_l f29, 200(r1), 0, qr0
/* 802D5CFC 002D2C5C CB A1 00 C0 */ lfd f29, 0xc0(r1)
/* 802D5D00 002D2C60 83 E1 00 BC */ lwz r31, 0xbc(r1)
/* 802D5D04 002D2C64 83 C1 00 B8 */ lwz r30, 0xb8(r1)
/* 802D5D08 002D2C68 80 01 00 F4 */ lwz r0, 0xf4(r1)
/* 802D5D0C 002D2C6C 83 A1 00 B4 */ lwz r29, 0xb4(r1)
/* 802D5D10 002D2C70 7C 08 03 A6 */ mtlr r0
/* 802D5D14 002D2C74 38 21 00 F0 */ addi r1, r1, 0xf0
/* 802D5D18 002D2C78 4E 80 00 20 */ blr
.global FromAABox__6COBBoxFRC6CAABoxRC12CTransform4f
FromAABox__6COBBoxFRC6CAABoxRC12CTransform4f:
/* 802D5D1C 002D2C7C 94 21 FF 30 */ stwu r1, -0xd0(r1)
/* 802D5D20 002D2C80 7C 08 02 A6 */ mflr r0
/* 802D5D24 002D2C84 90 01 00 D4 */ stw r0, 0xd4(r1)
/* 802D5D28 002D2C88 93 E1 00 CC */ stw r31, 0xcc(r1)
/* 802D5D2C 002D2C8C 7C BF 2B 78 */ mr r31, r5
/* 802D5D30 002D2C90 93 C1 00 C8 */ stw r30, 0xc8(r1)
/* 802D5D34 002D2C94 7C 9E 23 78 */ mr r30, r4
/* 802D5D38 002D2C98 93 A1 00 C4 */ stw r29, 0xc4(r1)
/* 802D5D3C 002D2C9C 7C 7D 1B 78 */ mr r29, r3
/* 802D5D40 002D2CA0 38 61 00 08 */ addi r3, r1, 8
/* 802D5D44 002D2CA4 48 06 18 C9 */ bl GetCenterPoint__6CAABoxCFv
/* 802D5D48 002D2CA8 C0 A1 00 08 */ lfs f5, 8(r1)
/* 802D5D4C 002D2CAC 38 61 00 2C */ addi r3, r1, 0x2c
/* 802D5D50 002D2CB0 C0 81 00 0C */ lfs f4, 0xc(r1)
/* 802D5D54 002D2CB4 38 81 00 20 */ addi r4, r1, 0x20
/* 802D5D58 002D2CB8 C0 61 00 10 */ lfs f3, 0x10(r1)
/* 802D5D5C 002D2CBC C0 5E 00 10 */ lfs f2, 0x10(r30)
/* 802D5D60 002D2CC0 C0 3E 00 14 */ lfs f1, 0x14(r30)
/* 802D5D64 002D2CC4 C0 1E 00 0C */ lfs f0, 0xc(r30)
/* 802D5D68 002D2CC8 EC 42 20 28 */ fsubs f2, f2, f4
/* 802D5D6C 002D2CCC EC 21 18 28 */ fsubs f1, f1, f3
/* 802D5D70 002D2CD0 D0 A1 00 20 */ stfs f5, 0x20(r1)
/* 802D5D74 002D2CD4 EC 00 28 28 */ fsubs f0, f0, f5
/* 802D5D78 002D2CD8 D0 81 00 24 */ stfs f4, 0x24(r1)
/* 802D5D7C 002D2CDC D0 61 00 28 */ stfs f3, 0x28(r1)
/* 802D5D80 002D2CE0 D0 01 00 14 */ stfs f0, 0x14(r1)
/* 802D5D84 002D2CE4 D0 41 00 18 */ stfs f2, 0x18(r1)
/* 802D5D88 002D2CE8 D0 21 00 1C */ stfs f1, 0x1c(r1)
/* 802D5D8C 002D2CEC 48 03 D3 B5 */ bl Translate__12CTransform4fFRC9CVector3f
/* 802D5D90 002D2CF0 7F E4 FB 78 */ mr r4, r31
/* 802D5D94 002D2CF4 38 61 00 5C */ addi r3, r1, 0x5c
/* 802D5D98 002D2CF8 38 A1 00 2C */ addi r5, r1, 0x2c
/* 802D5D9C 002D2CFC 48 03 CB B5 */ bl __ml__12CTransform4fCFRC12CTransform4f
/* 802D5DA0 002D2D00 38 61 00 8C */ addi r3, r1, 0x8c
/* 802D5DA4 002D2D04 38 81 00 5C */ addi r4, r1, 0x5c
/* 802D5DA8 002D2D08 48 03 CD CD */ bl __ct__12CTransform4fFRC12CTransform4f
/* 802D5DAC 002D2D0C 7F A3 EB 78 */ mr r3, r29
/* 802D5DB0 002D2D10 38 81 00 8C */ addi r4, r1, 0x8c
/* 802D5DB4 002D2D14 38 A1 00 14 */ addi r5, r1, 0x14
/* 802D5DB8 002D2D18 48 00 01 DD */ bl __ct__6COBBoxFRC12CTransform4fRC9CVector3f
/* 802D5DBC 002D2D1C 80 01 00 D4 */ lwz r0, 0xd4(r1)
/* 802D5DC0 002D2D20 83 E1 00 CC */ lwz r31, 0xcc(r1)
/* 802D5DC4 002D2D24 83 C1 00 C8 */ lwz r30, 0xc8(r1)
/* 802D5DC8 002D2D28 83 A1 00 C4 */ lwz r29, 0xc4(r1)
/* 802D5DCC 002D2D2C 7C 08 03 A6 */ mtlr r0
/* 802D5DD0 002D2D30 38 21 00 D0 */ addi r1, r1, 0xd0
/* 802D5DD4 002D2D34 4E 80 00 20 */ blr
.global CalculateAABox__6COBBoxCFRC12CTransform4f
CalculateAABox__6COBBoxCFRC12CTransform4f:
/* 802D5DD8 002D2D38 94 21 FF 40 */ stwu r1, -0xc0(r1)
/* 802D5DDC 002D2D3C 7C 08 02 A6 */ mflr r0
/* 802D5DE0 002D2D40 90 01 00 C4 */ stw r0, 0xc4(r1)
/* 802D5DE4 002D2D44 93 E1 00 BC */ stw r31, 0xbc(r1)
/* 802D5DE8 002D2D48 93 C1 00 B8 */ stw r30, 0xb8(r1)
/* 802D5DEC 002D2D4C 7C 9E 23 78 */ mr r30, r4
/* 802D5DF0 002D2D50 7C A4 2B 78 */ mr r4, r5
/* 802D5DF4 002D2D54 93 A1 00 B4 */ stw r29, 0xb4(r1)
/* 802D5DF8 002D2D58 7C 7D 1B 78 */ mr r29, r3
/* 802D5DFC 002D2D5C 38 61 00 50 */ addi r3, r1, 0x50
/* 802D5E00 002D2D60 7F C5 F3 78 */ mr r5, r30
/* 802D5E04 002D2D64 48 03 CB 4D */ bl __ml__12CTransform4fCFRC12CTransform4f
/* 802D5E08 002D2D68 38 61 00 80 */ addi r3, r1, 0x80
/* 802D5E0C 002D2D6C 38 81 00 50 */ addi r4, r1, 0x50
/* 802D5E10 002D2D70 48 03 CD 65 */ bl __ct__12CTransform4fFRC12CTransform4f
/* 802D5E14 002D2D74 C0 82 C5 44 */ lfs f4, lbl_805AE264@sda21(r2)
/* 802D5E18 002D2D78 3C 60 80 5A */ lis r3, mskInvertedBox__6CAABox@ha
/* 802D5E1C 002D2D7C C4 E3 67 54 */ lfsu f7, mskInvertedBox__6CAABox@l(r3)
/* 802D5E20 002D2D80 3B E0 00 00 */ li r31, 0
/* 802D5E24 002D2D84 C0 3E 00 34 */ lfs f1, 0x34(r30)
/* 802D5E28 002D2D88 C0 7E 00 38 */ lfs f3, 0x38(r30)
/* 802D5E2C 002D2D8C C0 02 C5 48 */ lfs f0, lbl_805AE268@sda21(r2)
/* 802D5E30 002D2D90 ED 24 00 72 */ fmuls f9, f4, f1
/* 802D5E34 002D2D94 ED 04 00 F2 */ fmuls f8, f4, f3
/* 802D5E38 002D2D98 C0 C3 00 04 */ lfs f6, 4(r3)
/* 802D5E3C 002D2D9C ED 40 00 F2 */ fmuls f10, f0, f3
/* 802D5E40 002D2DA0 C0 A3 00 08 */ lfs f5, 8(r3)
/* 802D5E44 002D2DA4 ED 60 00 72 */ fmuls f11, f0, f1
/* 802D5E48 002D2DA8 C0 5E 00 30 */ lfs f2, 0x30(r30)
/* 802D5E4C 002D2DAC C0 63 00 10 */ lfs f3, 0x10(r3)
/* 802D5E50 002D2DB0 EC 24 00 B2 */ fmuls f1, f4, f2
/* 802D5E54 002D2DB4 C0 83 00 0C */ lfs f4, 0xc(r3)
/* 802D5E58 002D2DB8 EC 00 00 B2 */ fmuls f0, f0, f2
/* 802D5E5C 002D2DBC C0 43 00 14 */ lfs f2, 0x14(r3)
/* 802D5E60 002D2DC0 D0 E1 00 38 */ stfs f7, 0x38(r1)
/* 802D5E64 002D2DC4 D0 C1 00 3C */ stfs f6, 0x3c(r1)
/* 802D5E68 002D2DC8 D0 A1 00 40 */ stfs f5, 0x40(r1)
/* 802D5E6C 002D2DCC D0 81 00 44 */ stfs f4, 0x44(r1)
/* 802D5E70 002D2DD0 D0 61 00 48 */ stfs f3, 0x48(r1)
/* 802D5E74 002D2DD4 D0 41 00 4C */ stfs f2, 0x4c(r1)
/* 802D5E78 002D2DD8 D0 21 00 2C */ stfs f1, 0x2c(r1)
/* 802D5E7C 002D2DDC D1 21 00 30 */ stfs f9, 0x30(r1)
/* 802D5E80 002D2DE0 D1 01 00 34 */ stfs f8, 0x34(r1)
/* 802D5E84 002D2DE4 D0 01 00 20 */ stfs f0, 0x20(r1)
/* 802D5E88 002D2DE8 D1 61 00 24 */ stfs f11, 0x24(r1)
/* 802D5E8C 002D2DEC D1 41 00 28 */ stfs f10, 0x28(r1)
lbl_802D5E90:
/* 802D5E90 002D2DF0 57 E0 07 7B */ rlwinm. r0, r31, 0, 0x1d, 0x1d
/* 802D5E94 002D2DF4 41 82 00 0C */ beq lbl_802D5EA0
/* 802D5E98 002D2DF8 C0 21 00 34 */ lfs f1, 0x34(r1)
/* 802D5E9C 002D2DFC 48 00 00 08 */ b lbl_802D5EA4
lbl_802D5EA0:
/* 802D5EA0 002D2E00 C0 21 00 28 */ lfs f1, 0x28(r1)
lbl_802D5EA4:
/* 802D5EA4 002D2E04 57 E0 07 BD */ rlwinm. r0, r31, 0, 0x1e, 0x1e
/* 802D5EA8 002D2E08 41 82 00 0C */ beq lbl_802D5EB4
/* 802D5EAC 002D2E0C C0 41 00 30 */ lfs f2, 0x30(r1)
/* 802D5EB0 002D2E10 48 00 00 08 */ b lbl_802D5EB8
lbl_802D5EB4:
/* 802D5EB4 002D2E14 C0 41 00 24 */ lfs f2, 0x24(r1)
lbl_802D5EB8:
/* 802D5EB8 002D2E18 57 E0 07 FF */ clrlwi. r0, r31, 0x1f
/* 802D5EBC 002D2E1C 41 82 00 0C */ beq lbl_802D5EC8
/* 802D5EC0 002D2E20 C0 01 00 2C */ lfs f0, 0x2c(r1)
/* 802D5EC4 002D2E24 48 00 00 08 */ b lbl_802D5ECC
lbl_802D5EC8:
/* 802D5EC8 002D2E28 C0 01 00 20 */ lfs f0, 0x20(r1)
lbl_802D5ECC:
/* 802D5ECC 002D2E2C D0 01 00 14 */ stfs f0, 0x14(r1)
/* 802D5ED0 002D2E30 38 61 00 08 */ addi r3, r1, 8
/* 802D5ED4 002D2E34 38 81 00 80 */ addi r4, r1, 0x80
/* 802D5ED8 002D2E38 38 A1 00 14 */ addi r5, r1, 0x14
/* 802D5EDC 002D2E3C D0 41 00 18 */ stfs f2, 0x18(r1)
/* 802D5EE0 002D2E40 D0 21 00 1C */ stfs f1, 0x1c(r1)
/* 802D5EE4 002D2E44 48 03 CC 05 */ bl __ml__12CTransform4fCFRC9CVector3f
/* 802D5EE8 002D2E48 38 61 00 38 */ addi r3, r1, 0x38
/* 802D5EEC 002D2E4C 38 81 00 08 */ addi r4, r1, 8
/* 802D5EF0 002D2E50 48 06 1C 19 */ bl AccumulateBounds__6CAABoxFRC9CVector3f
/* 802D5EF4 002D2E54 3B FF 00 01 */ addi r31, r31, 1
/* 802D5EF8 002D2E58 2C 1F 00 08 */ cmpwi r31, 8
/* 802D5EFC 002D2E5C 41 80 FF 94 */ blt lbl_802D5E90
/* 802D5F00 002D2E60 C0 01 00 38 */ lfs f0, 0x38(r1)
/* 802D5F04 002D2E64 D0 1D 00 00 */ stfs f0, 0(r29)
/* 802D5F08 002D2E68 C0 01 00 3C */ lfs f0, 0x3c(r1)
/* 802D5F0C 002D2E6C D0 1D 00 04 */ stfs f0, 4(r29)
/* 802D5F10 002D2E70 C0 01 00 40 */ lfs f0, 0x40(r1)
/* 802D5F14 002D2E74 D0 1D 00 08 */ stfs f0, 8(r29)
/* 802D5F18 002D2E78 C0 01 00 44 */ lfs f0, 0x44(r1)
/* 802D5F1C 002D2E7C D0 1D 00 0C */ stfs f0, 0xc(r29)
/* 802D5F20 002D2E80 C0 01 00 48 */ lfs f0, 0x48(r1)
/* 802D5F24 002D2E84 D0 1D 00 10 */ stfs f0, 0x10(r29)
/* 802D5F28 002D2E88 C0 01 00 4C */ lfs f0, 0x4c(r1)
/* 802D5F2C 002D2E8C D0 1D 00 14 */ stfs f0, 0x14(r29)
/* 802D5F30 002D2E90 83 E1 00 BC */ lwz r31, 0xbc(r1)
/* 802D5F34 002D2E94 83 C1 00 B8 */ lwz r30, 0xb8(r1)
/* 802D5F38 002D2E98 83 A1 00 B4 */ lwz r29, 0xb4(r1)
/* 802D5F3C 002D2E9C 80 01 00 C4 */ lwz r0, 0xc4(r1)
/* 802D5F40 002D2EA0 7C 08 03 A6 */ mtlr r0
/* 802D5F44 002D2EA4 38 21 00 C0 */ addi r1, r1, 0xc0
/* 802D5F48 002D2EA8 4E 80 00 20 */ blr
.global __ct__6COBBoxFR12CInputStream
__ct__6COBBoxFR12CInputStream:
/* 802D5F4C 002D2EAC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802D5F50 002D2EB0 7C 08 02 A6 */ mflr r0
/* 802D5F54 002D2EB4 90 01 00 14 */ stw r0, 0x14(r1)
/* 802D5F58 002D2EB8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802D5F5C 002D2EBC 7C 9F 23 78 */ mr r31, r4
/* 802D5F60 002D2EC0 93 C1 00 08 */ stw r30, 8(r1)
/* 802D5F64 002D2EC4 7C 7E 1B 78 */ mr r30, r3
/* 802D5F68 002D2EC8 48 03 D3 75 */ bl __ct__12CTransform4fFR12CInputStream
/* 802D5F6C 002D2ECC 7F E4 FB 78 */ mr r4, r31
/* 802D5F70 002D2ED0 38 7E 00 30 */ addi r3, r30, 0x30
/* 802D5F74 002D2ED4 48 03 EC 19 */ bl __ct__9CVector3fFR12CInputStream
/* 802D5F78 002D2ED8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802D5F7C 002D2EDC 7F C3 F3 78 */ mr r3, r30
/* 802D5F80 002D2EE0 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802D5F84 002D2EE4 83 C1 00 08 */ lwz r30, 8(r1)
/* 802D5F88 002D2EE8 7C 08 03 A6 */ mtlr r0
/* 802D5F8C 002D2EEC 38 21 00 10 */ addi r1, r1, 0x10
/* 802D5F90 002D2EF0 4E 80 00 20 */ blr
.global __ct__6COBBoxFRC12CTransform4fRC9CVector3f
__ct__6COBBoxFRC12CTransform4fRC9CVector3f:
/* 802D5F94 002D2EF4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802D5F98 002D2EF8 7C 08 02 A6 */ mflr r0
/* 802D5F9C 002D2EFC 90 01 00 14 */ stw r0, 0x14(r1)
/* 802D5FA0 002D2F00 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802D5FA4 002D2F04 7C BF 2B 78 */ mr r31, r5
/* 802D5FA8 002D2F08 93 C1 00 08 */ stw r30, 8(r1)
/* 802D5FAC 002D2F0C 7C 7E 1B 78 */ mr r30, r3
/* 802D5FB0 002D2F10 48 03 CB C5 */ bl __ct__12CTransform4fFRC12CTransform4f
/* 802D5FB4 002D2F14 C0 1F 00 00 */ lfs f0, 0(r31)
/* 802D5FB8 002D2F18 7F C3 F3 78 */ mr r3, r30
/* 802D5FBC 002D2F1C D0 1E 00 30 */ stfs f0, 0x30(r30)
/* 802D5FC0 002D2F20 C0 1F 00 04 */ lfs f0, 4(r31)
/* 802D5FC4 002D2F24 D0 1E 00 34 */ stfs f0, 0x34(r30)
/* 802D5FC8 002D2F28 C0 1F 00 08 */ lfs f0, 8(r31)
/* 802D5FCC 002D2F2C D0 1E 00 38 */ stfs f0, 0x38(r30)
/* 802D5FD0 002D2F30 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802D5FD4 002D2F34 83 C1 00 08 */ lwz r30, 8(r1)
/* 802D5FD8 002D2F38 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802D5FDC 002D2F3C 7C 08 03 A6 */ mtlr r0
/* 802D5FE0 002D2F40 38 21 00 10 */ addi r1, r1, 0x10
/* 802D5FE4 002D2F44 4E 80 00 20 */ blr
.section .sdata2, "a"
.balign 8
.global lbl_805AE260
lbl_805AE260:
# ROM: 0x3FAB00
.float 1.1920929E-7
.global lbl_805AE264
lbl_805AE264:
# ROM: 0x3FAB04
.float 1.0
.global lbl_805AE268
lbl_805AE268:
# ROM: 0x3FAB08
.float -1.0
.4byte 0

File diff suppressed because it is too large Load Diff

View File

@ -1,109 +0,0 @@
.include "macros.inc"
.section .text, "ax"
.global AddColliders__17InternalCollidersFv
AddColliders__17InternalCollidersFv:
/* 802CE520 002CB480 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802CE524 002CB484 7C 08 02 A6 */ mflr r0
/* 802CE528 002CB488 3C 60 80 3D */ lis r3, lbl_803D6A20@ha
/* 802CE52C 002CB48C 3C A0 80 2D */ lis r5, AABox_AABox__7CollideFRC27CInternalCollisionStructureR18CCollisionInfoList@ha
/* 802CE530 002CB490 38 83 6A 20 */ addi r4, r3, lbl_803D6A20@l
/* 802CE534 002CB494 90 01 00 14 */ stw r0, 0x14(r1)
/* 802CE538 002CB498 38 65 DE 44 */ addi r3, r5, AABox_AABox__7CollideFRC27CInternalCollisionStructureR18CCollisionInfoList@l
/* 802CE53C 002CB49C 7C 85 23 78 */ mr r5, r4
/* 802CE540 002CB4A0 48 00 01 A5 */ bl InitAddCollider__19CCollisionPrimitiveFPFRC27CInternalCollisionStructureR18CCollisionInfoList_bPCcPCc
/* 802CE544 002CB4A4 3C 60 80 3D */ lis r3, lbl_803D6A20@ha
/* 802CE548 002CB4A8 3C 80 80 2D */ lis r4, Sphere_AABox__7CollideFRC27CInternalCollisionStructureR18CCollisionInfoList@ha
/* 802CE54C 002CB4AC 38 A3 6A 20 */ addi r5, r3, lbl_803D6A20@l
/* 802CE550 002CB4B0 38 64 4A 7C */ addi r3, r4, Sphere_AABox__7CollideFRC27CInternalCollisionStructureR18CCollisionInfoList@l
/* 802CE554 002CB4B4 38 85 00 11 */ addi r4, r5, 0x11
/* 802CE558 002CB4B8 48 00 01 8D */ bl InitAddCollider__19CCollisionPrimitiveFPFRC27CInternalCollisionStructureR18CCollisionInfoList_bPCcPCc
/* 802CE55C 002CB4BC 3C 60 80 3D */ lis r3, lbl_803D6A20@ha
/* 802CE560 002CB4C0 3C A0 80 2D */ lis r5, Sphere_Sphere__7CollideFRC27CInternalCollisionStructureR18CCollisionInfoList@ha
/* 802CE564 002CB4C4 38 83 6A 20 */ addi r4, r3, lbl_803D6A20@l
/* 802CE568 002CB4C8 38 84 00 11 */ addi r4, r4, 0x11
/* 802CE56C 002CB4CC 38 65 48 4C */ addi r3, r5, Sphere_Sphere__7CollideFRC27CInternalCollisionStructureR18CCollisionInfoList@l
/* 802CE570 002CB4D0 7C 85 23 78 */ mr r5, r4
/* 802CE574 002CB4D4 48 00 01 71 */ bl InitAddCollider__19CCollisionPrimitiveFPFRC27CInternalCollisionStructureR18CCollisionInfoList_bPCcPCc
/* 802CE578 002CB4D8 3C 60 80 3D */ lis r3, lbl_803D6A20@ha
/* 802CE57C 002CB4DC 3C A0 80 2D */ lis r5, AABox_AABox_Bool__7CollideFRC27CInternalCollisionStructure@ha
/* 802CE580 002CB4E0 38 83 6A 20 */ addi r4, r3, lbl_803D6A20@l
/* 802CE584 002CB4E4 38 65 DF 54 */ addi r3, r5, AABox_AABox_Bool__7CollideFRC27CInternalCollisionStructure@l
/* 802CE588 002CB4E8 7C 85 23 78 */ mr r5, r4
/* 802CE58C 002CB4EC 48 00 01 29 */ bl InitAddBooleanCollider__19CCollisionPrimitiveFPFRC27CInternalCollisionStructure_bPCcPCc
/* 802CE590 002CB4F0 3C 60 80 3D */ lis r3, lbl_803D6A20@ha
/* 802CE594 002CB4F4 3C 80 80 2D */ lis r4, Sphere_AABox_Bool__7CollideFRC27CInternalCollisionStructure@ha
/* 802CE598 002CB4F8 38 A3 6A 20 */ addi r5, r3, lbl_803D6A20@l
/* 802CE59C 002CB4FC 38 64 51 00 */ addi r3, r4, Sphere_AABox_Bool__7CollideFRC27CInternalCollisionStructure@l
/* 802CE5A0 002CB500 38 85 00 11 */ addi r4, r5, 0x11
/* 802CE5A4 002CB504 48 00 01 11 */ bl InitAddBooleanCollider__19CCollisionPrimitiveFPFRC27CInternalCollisionStructure_bPCcPCc
/* 802CE5A8 002CB508 3C 60 80 3D */ lis r3, lbl_803D6A20@ha
/* 802CE5AC 002CB50C 3C A0 80 2D */ lis r5, Sphere_Sphere_Bool__7CollideFRC27CInternalCollisionStructure@ha
/* 802CE5B0 002CB510 38 83 6A 20 */ addi r4, r3, lbl_803D6A20@l
/* 802CE5B4 002CB514 38 84 00 11 */ addi r4, r4, 0x11
/* 802CE5B8 002CB518 38 65 47 78 */ addi r3, r5, Sphere_Sphere_Bool__7CollideFRC27CInternalCollisionStructure@l
/* 802CE5BC 002CB51C 7C 85 23 78 */ mr r5, r4
/* 802CE5C0 002CB520 48 00 00 F5 */ bl InitAddBooleanCollider__19CCollisionPrimitiveFPFRC27CInternalCollisionStructure_bPCcPCc
/* 802CE5C4 002CB524 3C 60 80 3D */ lis r3, lbl_803D6A20@ha
/* 802CE5C8 002CB528 3C A0 80 2D */ lis r5, CollideMovingAABox__16CCollidableAABoxFRC27CInternalCollisionStructureRC9CVector3fRdR14CCollisionInfo@ha
/* 802CE5CC 002CB52C 38 83 6A 20 */ addi r4, r3, lbl_803D6A20@l
/* 802CE5D0 002CB530 38 65 DB F0 */ addi r3, r5, CollideMovingAABox__16CCollidableAABoxFRC27CInternalCollisionStructureRC9CVector3fRdR14CCollisionInfo@l
/* 802CE5D4 002CB534 7C 85 23 78 */ mr r5, r4
/* 802CE5D8 002CB538 48 00 00 AD */ bl InitAddMovingCollider__19CCollisionPrimitiveFPFRC27CInternalCollisionStructureRC9CVector3fRdR14CCollisionInfo_bPCcPCc
/* 802CE5DC 002CB53C 3C 60 80 3D */ lis r3, lbl_803D6A20@ha
/* 802CE5E0 002CB540 3C A0 80 2D */ lis r5, CollideMovingSphere__16CCollidableAABoxFRC27CInternalCollisionStructureRC9CVector3fRdR14CCollisionInfo@ha
/* 802CE5E4 002CB544 38 83 6A 20 */ addi r4, r3, lbl_803D6A20@l
/* 802CE5E8 002CB548 38 65 D9 44 */ addi r3, r5, CollideMovingSphere__16CCollidableAABoxFRC27CInternalCollisionStructureRC9CVector3fRdR14CCollisionInfo@l
/* 802CE5EC 002CB54C 38 A4 00 11 */ addi r5, r4, 0x11
/* 802CE5F0 002CB550 48 00 00 95 */ bl InitAddMovingCollider__19CCollisionPrimitiveFPFRC27CInternalCollisionStructureRC9CVector3fRdR14CCollisionInfo_bPCcPCc
/* 802CE5F4 002CB554 3C 60 80 3D */ lis r3, lbl_803D6A20@ha
/* 802CE5F8 002CB558 3C 80 80 2D */ lis r4, CollideMovingAABox__17CCollidableSphereFRC27CInternalCollisionStructureRC9CVector3fRdR14CCollisionInfo@ha
/* 802CE5FC 002CB55C 38 A3 6A 20 */ addi r5, r3, lbl_803D6A20@l
/* 802CE600 002CB560 38 64 41 30 */ addi r3, r4, CollideMovingAABox__17CCollidableSphereFRC27CInternalCollisionStructureRC9CVector3fRdR14CCollisionInfo@l
/* 802CE604 002CB564 38 85 00 11 */ addi r4, r5, 0x11
/* 802CE608 002CB568 48 00 00 7D */ bl InitAddMovingCollider__19CCollisionPrimitiveFPFRC27CInternalCollisionStructureRC9CVector3fRdR14CCollisionInfo_bPCcPCc
/* 802CE60C 002CB56C 3C 60 80 3D */ lis r3, lbl_803D6A20@ha
/* 802CE610 002CB570 3C A0 80 2D */ lis r5, CollideMovingSphere__17CCollidableSphereFRC27CInternalCollisionStructureRC9CVector3fRdR14CCollisionInfo@ha
/* 802CE614 002CB574 38 83 6A 20 */ addi r4, r3, lbl_803D6A20@l
/* 802CE618 002CB578 38 84 00 11 */ addi r4, r4, 0x11
/* 802CE61C 002CB57C 38 65 3E 78 */ addi r3, r5, CollideMovingSphere__17CCollidableSphereFRC27CInternalCollisionStructureRC9CVector3fRdR14CCollisionInfo@l
/* 802CE620 002CB580 7C 85 23 78 */ mr r5, r4
/* 802CE624 002CB584 48 00 00 61 */ bl InitAddMovingCollider__19CCollisionPrimitiveFPFRC27CInternalCollisionStructureRC9CVector3fRdR14CCollisionInfo_bPCcPCc
/* 802CE628 002CB588 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802CE62C 002CB58C 7C 08 03 A6 */ mtlr r0
/* 802CE630 002CB590 38 21 00 10 */ addi r1, r1, 0x10
/* 802CE634 002CB594 4E 80 00 20 */ blr
.global AddTypes__17InternalCollidersFv
AddTypes__17InternalCollidersFv:
/* 802CE638 002CB598 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802CE63C 002CB59C 7C 08 02 A6 */ mflr r0
/* 802CE640 002CB5A0 90 01 00 24 */ stw r0, 0x24(r1)
/* 802CE644 002CB5A4 38 61 00 18 */ addi r3, r1, 0x18
/* 802CE648 002CB5A8 4B FF F9 CD */ bl GetType__16CCollidableAABoxFv
/* 802CE64C 002CB5AC 38 61 00 18 */ addi r3, r1, 0x18
/* 802CE650 002CB5B0 48 00 10 E9 */ bl InitAddType__19CCollisionPrimitiveFRCQ219CCollisionPrimitive4Type
/* 802CE654 002CB5B4 38 61 00 10 */ addi r3, r1, 0x10
/* 802CE658 002CB5B8 4B FF FA 3D */ bl GetType__27CCollidableCollisionSurfaceFv
/* 802CE65C 002CB5BC 38 61 00 10 */ addi r3, r1, 0x10
/* 802CE660 002CB5C0 48 00 10 D9 */ bl InitAddType__19CCollisionPrimitiveFRCQ219CCollisionPrimitive4Type
/* 802CE664 002CB5C4 38 61 00 08 */ addi r3, r1, 8
/* 802CE668 002CB5C8 48 00 6C 65 */ bl GetType__17CCollidableSphereFv
/* 802CE66C 002CB5CC 38 61 00 08 */ addi r3, r1, 8
/* 802CE670 002CB5D0 48 00 10 C9 */ bl InitAddType__19CCollisionPrimitiveFRCQ219CCollisionPrimitive4Type
/* 802CE674 002CB5D4 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802CE678 002CB5D8 7C 08 03 A6 */ mtlr r0
/* 802CE67C 002CB5DC 38 21 00 20 */ addi r1, r1, 0x20
/* 802CE680 002CB5E0 4E 80 00 20 */ blr
.section .rodata
.balign 8
.global lbl_803D6A20
lbl_803D6A20:
# ROM: 0x3D3A20
.asciz "CCollidableAABox"
.asciz "CCollidableSphere"
.balign 4
.4byte 0

View File

@ -1,252 +0,0 @@
.include "macros.inc"
.section .bss
.balign 8
.global SecParams
SecParams:
.skip 0x100
.global __GBA
__GBA:
.skip 0x400
.section .sbss, "wa"
.balign 8
.global __GBAReset
__GBAReset:
.skip 0x4
.section .data, "wa"
.balign 8
ResetFunctionInfo:
.4byte OnReset
.4byte 127
.4byte 0
.4byte 0
.section .text, "ax"
.global ShortCommandProc
ShortCommandProc:
/* 803C95F8 003C6558 3C 80 80 57 */ lis r4, __GBA@ha
/* 803C95FC 003C655C 54 63 40 2E */ slwi r3, r3, 8
/* 803C9600 003C6560 38 04 A1 A0 */ addi r0, r4, __GBA@l
/* 803C9604 003C6564 7C 60 1A 14 */ add r3, r0, r3
/* 803C9608 003C6568 80 03 00 20 */ lwz r0, 0x20(r3)
/* 803C960C 003C656C 2C 00 00 00 */ cmpwi r0, 0
/* 803C9610 003C6570 4C 82 00 20 */ bnelr
/* 803C9614 003C6574 88 03 00 05 */ lbz r0, 5(r3)
/* 803C9618 003C6578 28 00 00 00 */ cmplwi r0, 0
/* 803C961C 003C657C 40 82 00 10 */ bne lbl_803C962C
/* 803C9620 003C6580 88 03 00 06 */ lbz r0, 6(r3)
/* 803C9624 003C6584 28 00 00 04 */ cmplwi r0, 4
/* 803C9628 003C6588 41 82 00 10 */ beq lbl_803C9638
lbl_803C962C:
/* 803C962C 003C658C 38 00 00 01 */ li r0, 1
/* 803C9630 003C6590 90 03 00 20 */ stw r0, 0x20(r3)
/* 803C9634 003C6594 4E 80 00 20 */ blr
lbl_803C9638:
/* 803C9638 003C6598 88 03 00 07 */ lbz r0, 7(r3)
/* 803C963C 003C659C 80 63 00 14 */ lwz r3, 0x14(r3)
/* 803C9640 003C65A0 70 00 00 3A */ andi. r0, r0, 0x3a
/* 803C9644 003C65A4 98 03 00 00 */ stb r0, 0(r3)
/* 803C9648 003C65A8 4E 80 00 20 */ blr
.global GBAInit
GBAInit:
/* 803C964C 003C65AC 7C 08 02 A6 */ mflr r0
/* 803C9650 003C65B0 3C 60 80 00 */ lis r3, 0x800000F8@ha
/* 803C9654 003C65B4 90 01 00 04 */ stw r0, 4(r1)
/* 803C9658 003C65B8 3C 80 80 57 */ lis r4, __GBA@ha
/* 803C965C 003C65BC 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 803C9660 003C65C0 BF 61 00 0C */ stmw r27, 0xc(r1)
/* 803C9664 003C65C4 3B A4 A1 A0 */ addi r29, r4, __GBA@l
/* 803C9668 003C65C8 3B 60 00 00 */ li r27, 0
/* 803C966C 003C65CC 3B E0 00 00 */ li r31, 0
/* 803C9670 003C65D0 80 03 00 F8 */ lwz r0, 0x800000F8@l(r3)
/* 803C9674 003C65D4 3C 60 43 1C */ lis r3, 0x431BDE83@ha
/* 803C9678 003C65D8 38 63 DE 83 */ addi r3, r3, 0x431BDE83@l
/* 803C967C 003C65DC 54 00 F0 BE */ srwi r0, r0, 2
/* 803C9680 003C65E0 7C 03 00 16 */ mulhwu r0, r3, r0
/* 803C9684 003C65E4 54 00 8B FE */ srwi r0, r0, 0xf
/* 803C9688 003C65E8 1C 00 00 3C */ mulli r0, r0, 0x3c
/* 803C968C 003C65EC 3C 60 80 57 */ lis r3, SecParams@ha
/* 803C9690 003C65F0 3B 83 A0 A0 */ addi r28, r3, SecParams@l
/* 803C9694 003C65F4 54 1E E8 FE */ srwi r30, r0, 3
lbl_803C9698:
/* 803C9698 003C65F8 93 DD 00 34 */ stw r30, 0x34(r29)
/* 803C969C 003C65FC 38 7D 00 24 */ addi r3, r29, 0x24
/* 803C96A0 003C6600 93 FD 00 30 */ stw r31, 0x30(r29)
/* 803C96A4 003C6604 4B FB AF 21 */ bl OSInitThreadQueue
/* 803C96A8 003C6608 3B 7B 00 01 */ addi r27, r27, 1
/* 803C96AC 003C660C 93 9D 00 F8 */ stw r28, 0xf8(r29)
/* 803C96B0 003C6610 2C 1B 00 04 */ cmpwi r27, 4
/* 803C96B4 003C6614 3B BD 01 00 */ addi r29, r29, 0x100
/* 803C96B8 003C6618 3B 9C 00 40 */ addi r28, r28, 0x40
/* 803C96BC 003C661C 41 80 FF DC */ blt lbl_803C9698
/* 803C96C0 003C6620 4B FB 49 A5 */ bl OSInitAlarm
/* 803C96C4 003C6624 4B FA 63 41 */ bl DSPInit
/* 803C96C8 003C6628 38 00 00 00 */ li r0, 0
/* 803C96CC 003C662C 3C 60 80 3F */ lis r3, ResetFunctionInfo@ha
/* 803C96D0 003C6630 90 0D B1 58 */ stw r0, __GBAReset@sda21(r13)
/* 803C96D4 003C6634 38 63 71 60 */ addi r3, r3, ResetFunctionInfo@l
/* 803C96D8 003C6638 4B FB 99 55 */ bl OSRegisterResetFunction
/* 803C96DC 003C663C BB 61 00 0C */ lmw r27, 0xc(r1)
/* 803C96E0 003C6640 80 01 00 24 */ lwz r0, 0x24(r1)
/* 803C96E4 003C6644 38 21 00 20 */ addi r1, r1, 0x20
/* 803C96E8 003C6648 7C 08 03 A6 */ mtlr r0
/* 803C96EC 003C664C 4E 80 00 20 */ blr
.global GBAGetStatusAsync
GBAGetStatusAsync:
/* 803C96F0 003C6650 7C 08 02 A6 */ mflr r0
/* 803C96F4 003C6654 3C C0 80 57 */ lis r6, __GBA@ha
/* 803C96F8 003C6658 90 01 00 04 */ stw r0, 4(r1)
/* 803C96FC 003C665C 54 67 40 2E */ slwi r7, r3, 8
/* 803C9700 003C6660 38 06 A1 A0 */ addi r0, r6, __GBA@l
/* 803C9704 003C6664 94 21 FF F8 */ stwu r1, -8(r1)
/* 803C9708 003C6668 7C E0 3A 14 */ add r7, r0, r7
/* 803C970C 003C666C 80 07 00 1C */ lwz r0, 0x1c(r7)
/* 803C9710 003C6670 28 00 00 00 */ cmplwi r0, 0
/* 803C9714 003C6674 41 82 00 0C */ beq lbl_803C9720
/* 803C9718 003C6678 38 60 00 02 */ li r3, 2
/* 803C971C 003C667C 48 00 00 28 */ b lbl_803C9744
lbl_803C9720:
/* 803C9720 003C6680 38 00 00 00 */ li r0, 0
/* 803C9724 003C6684 98 07 00 00 */ stb r0, 0(r7)
/* 803C9728 003C6688 3C C0 80 3D */ lis r6, ShortCommandProc@ha
/* 803C972C 003C668C 38 C6 95 F8 */ addi r6, r6, ShortCommandProc@l
/* 803C9730 003C6690 90 87 00 14 */ stw r4, 0x14(r7)
/* 803C9734 003C6694 38 80 00 01 */ li r4, 1
/* 803C9738 003C6698 90 A7 00 1C */ stw r5, 0x1c(r7)
/* 803C973C 003C669C 38 A0 00 03 */ li r5, 3
/* 803C9740 003C66A0 48 00 17 69 */ bl __GBATransfer
lbl_803C9744:
/* 803C9744 003C66A4 80 01 00 0C */ lwz r0, 0xc(r1)
/* 803C9748 003C66A8 38 21 00 08 */ addi r1, r1, 8
/* 803C974C 003C66AC 7C 08 03 A6 */ mtlr r0
/* 803C9750 003C66B0 4E 80 00 20 */ blr
.global GBAGetStatus
GBAGetStatus:
/* 803C9754 003C66B4 7C 08 02 A6 */ mflr r0
/* 803C9758 003C66B8 90 01 00 04 */ stw r0, 4(r1)
/* 803C975C 003C66BC 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 803C9760 003C66C0 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 803C9764 003C66C4 3B E3 00 00 */ addi r31, r3, 0
/* 803C9768 003C66C8 3C 60 80 57 */ lis r3, __GBA@ha
/* 803C976C 003C66CC 57 E5 40 2E */ slwi r5, r31, 8
/* 803C9770 003C66D0 38 03 A1 A0 */ addi r0, r3, __GBA@l
/* 803C9774 003C66D4 7C E0 2A 14 */ add r7, r0, r5
/* 803C9778 003C66D8 80 07 00 1C */ lwz r0, 0x1c(r7)
/* 803C977C 003C66DC 28 00 00 00 */ cmplwi r0, 0
/* 803C9780 003C66E0 41 82 00 0C */ beq lbl_803C978C
/* 803C9784 003C66E4 38 60 00 02 */ li r3, 2
/* 803C9788 003C66E8 48 00 00 34 */ b lbl_803C97BC
lbl_803C978C:
/* 803C978C 003C66EC 38 00 00 00 */ li r0, 0
/* 803C9790 003C66F0 98 07 00 00 */ stb r0, 0(r7)
/* 803C9794 003C66F4 3C A0 80 3D */ lis r5, __GBASyncCallback@ha
/* 803C9798 003C66F8 38 05 AC E4 */ addi r0, r5, __GBASyncCallback@l
/* 803C979C 003C66FC 90 87 00 14 */ stw r4, 0x14(r7)
/* 803C97A0 003C6700 3C 60 80 3D */ lis r3, ShortCommandProc@ha
/* 803C97A4 003C6704 38 C3 95 F8 */ addi r6, r3, ShortCommandProc@l
/* 803C97A8 003C6708 90 07 00 1C */ stw r0, 0x1c(r7)
/* 803C97AC 003C670C 38 7F 00 00 */ addi r3, r31, 0
/* 803C97B0 003C6710 38 80 00 01 */ li r4, 1
/* 803C97B4 003C6714 38 A0 00 03 */ li r5, 3
/* 803C97B8 003C6718 48 00 16 F1 */ bl __GBATransfer
lbl_803C97BC:
/* 803C97BC 003C671C 2C 03 00 00 */ cmpwi r3, 0
/* 803C97C0 003C6720 41 82 00 08 */ beq lbl_803C97C8
/* 803C97C4 003C6724 48 00 00 0C */ b lbl_803C97D0
lbl_803C97C8:
/* 803C97C8 003C6728 7F E3 FB 78 */ mr r3, r31
/* 803C97CC 003C672C 48 00 15 4D */ bl __GBASync
lbl_803C97D0:
/* 803C97D0 003C6730 80 01 00 24 */ lwz r0, 0x24(r1)
/* 803C97D4 003C6734 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 803C97D8 003C6738 38 21 00 20 */ addi r1, r1, 0x20
/* 803C97DC 003C673C 7C 08 03 A6 */ mtlr r0
/* 803C97E0 003C6740 4E 80 00 20 */ blr
.global GBAResetAsync
GBAResetAsync:
/* 803C97E4 003C6744 7C 08 02 A6 */ mflr r0
/* 803C97E8 003C6748 3C C0 80 57 */ lis r6, __GBA@ha
/* 803C97EC 003C674C 90 01 00 04 */ stw r0, 4(r1)
/* 803C97F0 003C6750 54 67 40 2E */ slwi r7, r3, 8
/* 803C97F4 003C6754 38 06 A1 A0 */ addi r0, r6, __GBA@l
/* 803C97F8 003C6758 94 21 FF F8 */ stwu r1, -8(r1)
/* 803C97FC 003C675C 7C E0 3A 14 */ add r7, r0, r7
/* 803C9800 003C6760 80 07 00 1C */ lwz r0, 0x1c(r7)
/* 803C9804 003C6764 28 00 00 00 */ cmplwi r0, 0
/* 803C9808 003C6768 41 82 00 0C */ beq lbl_803C9814
/* 803C980C 003C676C 38 60 00 02 */ li r3, 2
/* 803C9810 003C6770 48 00 00 28 */ b lbl_803C9838
lbl_803C9814:
/* 803C9814 003C6774 38 00 00 FF */ li r0, 0xff
/* 803C9818 003C6778 98 07 00 00 */ stb r0, 0(r7)
/* 803C981C 003C677C 3C C0 80 3D */ lis r6, ShortCommandProc@ha
/* 803C9820 003C6780 38 C6 95 F8 */ addi r6, r6, ShortCommandProc@l
/* 803C9824 003C6784 90 87 00 14 */ stw r4, 0x14(r7)
/* 803C9828 003C6788 38 80 00 01 */ li r4, 1
/* 803C982C 003C678C 90 A7 00 1C */ stw r5, 0x1c(r7)
/* 803C9830 003C6790 38 A0 00 03 */ li r5, 3
/* 803C9834 003C6794 48 00 16 75 */ bl __GBATransfer
lbl_803C9838:
/* 803C9838 003C6798 80 01 00 0C */ lwz r0, 0xc(r1)
/* 803C983C 003C679C 38 21 00 08 */ addi r1, r1, 8
/* 803C9840 003C67A0 7C 08 03 A6 */ mtlr r0
/* 803C9844 003C67A4 4E 80 00 20 */ blr
.global GBAReset
GBAReset:
/* 803C9848 003C67A8 7C 08 02 A6 */ mflr r0
/* 803C984C 003C67AC 90 01 00 04 */ stw r0, 4(r1)
/* 803C9850 003C67B0 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 803C9854 003C67B4 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 803C9858 003C67B8 3B E3 00 00 */ addi r31, r3, 0
/* 803C985C 003C67BC 3C 60 80 57 */ lis r3, __GBA@ha
/* 803C9860 003C67C0 57 E5 40 2E */ slwi r5, r31, 8
/* 803C9864 003C67C4 38 03 A1 A0 */ addi r0, r3, __GBA@l
/* 803C9868 003C67C8 7C E0 2A 14 */ add r7, r0, r5
/* 803C986C 003C67CC 80 07 00 1C */ lwz r0, 0x1c(r7)
/* 803C9870 003C67D0 28 00 00 00 */ cmplwi r0, 0
/* 803C9874 003C67D4 41 82 00 0C */ beq lbl_803C9880
/* 803C9878 003C67D8 38 60 00 02 */ li r3, 2
/* 803C987C 003C67DC 48 00 00 34 */ b lbl_803C98B0
lbl_803C9880:
/* 803C9880 003C67E0 38 00 00 FF */ li r0, 0xff
/* 803C9884 003C67E4 98 07 00 00 */ stb r0, 0(r7)
/* 803C9888 003C67E8 3C A0 80 3D */ lis r5, __GBASyncCallback@ha
/* 803C988C 003C67EC 38 05 AC E4 */ addi r0, r5, __GBASyncCallback@l
/* 803C9890 003C67F0 90 87 00 14 */ stw r4, 0x14(r7)
/* 803C9894 003C67F4 3C 60 80 3D */ lis r3, ShortCommandProc@ha
/* 803C9898 003C67F8 38 C3 95 F8 */ addi r6, r3, ShortCommandProc@l
/* 803C989C 003C67FC 90 07 00 1C */ stw r0, 0x1c(r7)
/* 803C98A0 003C6800 38 7F 00 00 */ addi r3, r31, 0
/* 803C98A4 003C6804 38 80 00 01 */ li r4, 1
/* 803C98A8 003C6808 38 A0 00 03 */ li r5, 3
/* 803C98AC 003C680C 48 00 15 FD */ bl __GBATransfer
lbl_803C98B0:
/* 803C98B0 003C6810 2C 03 00 00 */ cmpwi r3, 0
/* 803C98B4 003C6814 41 82 00 08 */ beq lbl_803C98BC
/* 803C98B8 003C6818 48 00 00 0C */ b lbl_803C98C4
lbl_803C98BC:
/* 803C98BC 003C681C 7F E3 FB 78 */ mr r3, r31
/* 803C98C0 003C6820 48 00 14 59 */ bl __GBASync
lbl_803C98C4:
/* 803C98C4 003C6824 80 01 00 24 */ lwz r0, 0x24(r1)
/* 803C98C8 003C6828 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 803C98CC 003C682C 38 21 00 20 */ addi r1, r1, 0x20
/* 803C98D0 003C6830 7C 08 03 A6 */ mtlr r0
/* 803C98D4 003C6834 4E 80 00 20 */ blr
.fn OnReset, local
/* 803C98D8 003C6838 38 00 00 01 */ li r0, 1
/* 803C98DC 003C683C 90 0D B1 58 */ stw r0, __GBAReset@sda21(r13)
/* 803C98E0 003C6840 38 60 00 01 */ li r3, 1
/* 803C98E4 003C6844 4E 80 00 20 */ blr
.endfn OnReset

View File

@ -1,104 +0,0 @@
.include "macros.inc"
.section .text, "ax"
.global GBAGetProcessStatus
GBAGetProcessStatus:
/* 803C98E8 003C6848 7C 08 02 A6 */ mflr r0
/* 803C98EC 003C684C 3C A0 80 57 */ lis r5, __GBA@ha
/* 803C98F0 003C6850 90 01 00 04 */ stw r0, 4(r1)
/* 803C98F4 003C6854 54 63 40 2E */ slwi r3, r3, 8
/* 803C98F8 003C6858 38 05 A1 A0 */ addi r0, r5, __GBA@l
/* 803C98FC 003C685C 94 21 FF C8 */ stwu r1, -0x38(r1)
/* 803C9900 003C6860 BE E1 00 14 */ stmw r23, 0x14(r1)
/* 803C9904 003C6864 7E E0 1A 14 */ add r23, r0, r3
/* 803C9908 003C6868 3B 04 00 00 */ addi r24, r4, 0
/* 803C990C 003C686C 3B F7 00 40 */ addi r31, r23, 0x40
/* 803C9910 003C6870 4B FB 7D 51 */ bl OSDisableInterrupts
/* 803C9914 003C6874 80 1F 00 14 */ lwz r0, 0x14(r31)
/* 803C9918 003C6878 3B A3 00 00 */ addi r29, r3, 0
/* 803C991C 003C687C 28 00 00 00 */ cmplwi r0, 0
/* 803C9920 003C6880 41 82 01 04 */ beq lbl_803C9A24
/* 803C9924 003C6884 80 7F 00 34 */ lwz r3, 0x34(r31)
/* 803C9928 003C6888 3B C0 00 00 */ li r30, 0
/* 803C992C 003C688C 80 1F 00 28 */ lwz r0, 0x28(r31)
/* 803C9930 003C6890 3B 80 00 02 */ li r28, 2
/* 803C9934 003C6894 1C A3 00 64 */ mulli r5, r3, 0x64
/* 803C9938 003C6898 80 9F 00 64 */ lwz r4, 0x64(r31)
/* 803C993C 003C689C 80 7F 00 2C */ lwz r3, 0x2c(r31)
/* 803C9940 003C68A0 7C 85 23 D6 */ divw r4, r5, r4
/* 803C9944 003C68A4 7C 63 F2 78 */ xor r3, r3, r30
/* 803C9948 003C68A8 7C 00 F2 78 */ xor r0, r0, r30
/* 803C994C 003C68AC 7C 60 03 79 */ or. r0, r3, r0
/* 803C9950 003C68B0 54 9B 06 3E */ clrlwi r27, r4, 0x18
/* 803C9954 003C68B4 41 82 00 C0 */ beq lbl_803C9A14
/* 803C9958 003C68B8 4B FB BA 51 */ bl OSGetTime
/* 803C995C 003C68BC 3E E0 80 00 */ lis r23, 0x800000F8@ha
/* 803C9960 003C68C0 80 DF 00 2C */ lwz r6, 0x2c(r31)
/* 803C9964 003C68C4 80 17 00 F8 */ lwz r0, 0x800000F8@l(r23)
/* 803C9968 003C68C8 3C A0 10 62 */ lis r5, 0x10624DD3@ha
/* 803C996C 003C68CC 7F 26 20 10 */ subfc r25, r6, r4
/* 803C9970 003C68D0 80 9F 00 28 */ lwz r4, 0x28(r31)
/* 803C9974 003C68D4 3B E5 4D D3 */ addi r31, r5, 0x10624DD3@l
/* 803C9978 003C68D8 54 00 F0 BE */ srwi r0, r0, 2
/* 803C997C 003C68DC 7C 1F 00 16 */ mulhwu r0, r31, r0
/* 803C9980 003C68E0 7F 44 19 10 */ subfe r26, r4, r3
/* 803C9984 003C68E4 54 06 D1 BE */ srwi r6, r0, 6
/* 803C9988 003C68E8 38 7A 00 00 */ addi r3, r26, 0
/* 803C998C 003C68EC 38 99 00 00 */ addi r4, r25, 0
/* 803C9990 003C68F0 38 A0 00 00 */ li r5, 0
/* 803C9994 003C68F4 4B FC 02 39 */ bl __div2i
/* 803C9998 003C68F8 38 E0 15 7C */ li r7, 0x157c
/* 803C999C 003C68FC 6C 65 80 00 */ xoris r5, r3, 0x8000
/* 803C99A0 003C6900 6F C3 80 00 */ xoris r3, r30, 0x8000
/* 803C99A4 003C6904 7C 07 20 10 */ subfc r0, r7, r4
/* 803C99A8 003C6908 7C 63 29 10 */ subfe r3, r3, r5
/* 803C99AC 003C690C 7C 65 29 10 */ subfe r3, r5, r5
/* 803C99B0 003C6910 7C 63 00 D1 */ neg. r3, r3
/* 803C99B4 003C6914 41 82 00 50 */ beq lbl_803C9A04
/* 803C99B8 003C6918 80 77 00 F8 */ lwz r3, 0xf8(r23)
/* 803C99BC 003C691C 7C BE 39 D6 */ mullw r5, r30, r7
/* 803C99C0 003C6920 54 63 F0 BE */ srwi r3, r3, 2
/* 803C99C4 003C6924 7C 7F 18 16 */ mulhwu r3, r31, r3
/* 803C99C8 003C6928 54 66 D1 BE */ srwi r6, r3, 6
/* 803C99CC 003C692C 7C 66 38 16 */ mulhwu r3, r6, r7
/* 803C99D0 003C6930 7C A5 1A 14 */ add r5, r5, r3
/* 803C99D4 003C6934 7C 66 F1 D6 */ mullw r3, r6, r30
/* 803C99D8 003C6938 7F 60 FE 70 */ srawi r0, r27, 0x1f
/* 803C99DC 003C693C 7C A5 1A 14 */ add r5, r5, r3
/* 803C99E0 003C6940 7C 60 C9 D6 */ mullw r3, r0, r25
/* 803C99E4 003C6944 7C 1B C8 16 */ mulhwu r0, r27, r25
/* 803C99E8 003C6948 7C 63 02 14 */ add r3, r3, r0
/* 803C99EC 003C694C 7C 1B D1 D6 */ mullw r0, r27, r26
/* 803C99F0 003C6950 7C 9B C9 D6 */ mullw r4, r27, r25
/* 803C99F4 003C6954 7C C6 39 D6 */ mullw r6, r6, r7
/* 803C99F8 003C6958 7C 63 02 14 */ add r3, r3, r0
/* 803C99FC 003C695C 4B FC 01 D1 */ bl __div2i
/* 803C9A00 003C6960 7C 9B 23 78 */ mr r27, r4
lbl_803C9A04:
/* 803C9A04 003C6964 57 60 06 3E */ clrlwi r0, r27, 0x18
/* 803C9A08 003C6968 28 00 00 64 */ cmplwi r0, 0x64
/* 803C9A0C 003C696C 41 80 00 08 */ blt lbl_803C9A14
/* 803C9A10 003C6970 3B 60 00 64 */ li r27, 0x64
lbl_803C9A14:
/* 803C9A14 003C6974 28 18 00 00 */ cmplwi r24, 0
/* 803C9A18 003C6978 41 82 00 24 */ beq lbl_803C9A3C
/* 803C9A1C 003C697C 9B 78 00 00 */ stb r27, 0(r24)
/* 803C9A20 003C6980 48 00 00 1C */ b lbl_803C9A3C
lbl_803C9A24:
/* 803C9A24 003C6984 80 17 00 1C */ lwz r0, 0x1c(r23)
/* 803C9A28 003C6988 28 00 00 00 */ cmplwi r0, 0
/* 803C9A2C 003C698C 41 82 00 0C */ beq lbl_803C9A38
/* 803C9A30 003C6990 3B 80 00 02 */ li r28, 2
/* 803C9A34 003C6994 48 00 00 08 */ b lbl_803C9A3C
lbl_803C9A38:
/* 803C9A38 003C6998 3B 80 00 00 */ li r28, 0
lbl_803C9A3C:
/* 803C9A3C 003C699C 7F A3 EB 78 */ mr r3, r29
/* 803C9A40 003C69A0 4B FB 7C 49 */ bl OSRestoreInterrupts
/* 803C9A44 003C69A4 7F 83 E3 78 */ mr r3, r28
/* 803C9A48 003C69A8 BA E1 00 14 */ lmw r23, 0x14(r1)
/* 803C9A4C 003C69AC 80 01 00 3C */ lwz r0, 0x3c(r1)
/* 803C9A50 003C69B0 38 21 00 38 */ addi r1, r1, 0x38
/* 803C9A54 003C69B4 7C 08 03 A6 */ mtlr r0
/* 803C9A58 003C69B8 4E 80 00 20 */ blr

File diff suppressed because it is too large Load Diff

View File

@ -1,246 +0,0 @@
.include "macros.inc"
.section .data, "wa"
.balign 8
D35:
.byte 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
.byte 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 2,255, 0, 33
.byte 19, 6, 18, 3, 18, 4, 19, 5, 0,146, 0,255, 0,136,255,255
.byte 0,137,255,255, 0,138,255,255, 0,139,255,255,143, 0,139, 0
.byte 140, 0, 2,191,128,126, 22,252,220,209, 22,253, 0, 0, 22,251
.byte 0, 1, 2,191,128,120, 36,255, 2,128,171,186, 2,148, 0, 41
.byte 142, 0, 2,191,128,120, 32,255, 2, 64, 15,255, 31, 94, 0,155
.byte 0, 0, 0,153, 0, 32, 0,135, 0, 0, 0,128, 0, 65, 2,159
.byte 128,188, 2,191, 0,140, 2,191,128,126, 22,252,220,209, 22,253
.byte 0, 3, 22,251, 0, 1,143, 0, 2,191,128,120, 2,128,205,209
.byte 2,148, 0, 76, 38,255, 2,128, 0, 1, 2,149, 0, 94, 2,128
.byte 0, 2, 2,149,128, 0, 2,159, 0, 76, 0, 33,142, 0, 2,191
.byte 128,120, 36,255, 2,191,128,120, 36,255, 2,191,128,120, 36,255
.byte 2,191,128,120, 0,197,255,255, 2, 64, 15,255, 28,158, 2,191
.byte 128,120, 0,199,255,255, 2,191,128,120, 0,198,255,255, 2,191
.byte 128,120, 0,192,255,255, 2,191,128,120, 32,255, 2, 64, 15,255
.byte 31, 94, 2,191,128,120, 33,255, 2,191,128,120, 35,255, 18, 5
.byte 18, 6, 2,159,128,181, 0, 33,129, 0, 0,129, 0, 16, 16, 32
.byte 27, 62, 0,223, 20, 86, 3, 64,255,208,132, 23, 0,128, 0, 0
.byte 0,134, 0, 0, 0,130, 0, 31, 0,222, 21,246, 20, 8, 0,223
.byte 23,102, 3, 64, 0,255, 31, 95, 2,191,136,229, 31, 28,129, 30
.byte 25, 30, 20,120, 31,252, 31, 94, 2,191,136, 9, 2,191,135, 35
.byte 0, 6,129, 6, 0,222, 22,108, 20, 4, 2, 64,255, 0, 0,223
.byte 18, 49, 21,120, 3, 64, 0,255, 31, 95, 2,191,136,229, 31, 28
.byte 129, 30, 25, 30, 20,120, 31,252, 31, 94, 2,191,136, 9, 2,191
.byte 135, 35,129, 0,137, 0, 0,209, 0, 5,153, 0,130, 0, 2,149
.byte 0,229, 2,145, 0,243, 0,130, 0, 16, 0,134, 0, 1, 0,208
.byte 23, 27,145, 0,125, 0, 77, 0, 21, 1, 31, 95, 0,223, 0, 3
.byte 21, 4, 2,191,136, 9, 2,159, 1, 2, 0,130, 0, 17, 0,223
.byte 0, 3, 21, 1, 31, 95, 0,222, 16, 67, 2, 64,255,240, 2,191
.byte 136,229, 2,159, 1, 2, 0,130, 0, 16, 0,134, 0, 1, 0,208
.byte 18,133,145, 0, 77, 0, 21, 1, 0,222, 0, 3, 20, 4, 31, 94
.byte 2,191,136, 9, 0,131, 0, 19, 27,126,137, 35, 0,131, 0, 19
.byte 0,223, 0, 7, 0,222, 17,184, 2, 64,255,240, 31, 94, 2,191
.byte 129,244,241, 0, 2,191,132, 88,143, 0, 0,130, 0, 21, 0,222
.byte 0, 6, 0,218, 22, 91, 2,191,136,229, 20,253, 20, 3, 27, 94
.byte 27, 92, 0,130, 0, 22, 0,222, 23, 35, 20,244, 0,218, 22,107
.byte 2,191,136,229,177, 0, 2,144, 1, 46,129, 0, 20,253,142, 0
.byte 0,223, 20,145, 3, 64,208,240, 28,191, 0,223, 20,104, 0,209
.byte 17,252, 21,124, 28,223, 0,209, 17,184,153, 0, 20, 24, 20,120
.byte 31, 94, 31,254, 31,101, 54, 0, 20, 2, 31,102, 55, 0, 21, 1
.byte 76, 0, 21, 24,153, 0, 53, 0, 76, 0, 0,223, 0, 18, 63, 0
.byte 0,255, 0, 18, 20,112, 0,223, 0, 17, 63, 0, 0,255, 0, 17
.byte 31,165, 21, 1, 31,230,241, 0, 21,248,245, 0, 31, 95, 31,125
.byte 129, 0, 0,222, 0, 17, 52, 0,137, 0, 0,223, 0, 18, 53, 0
.byte 76, 0, 0,223, 0, 18, 21,120, 76, 0,137, 0, 31,254, 21, 8
.byte 59, 0, 0,222, 0, 17, 62, 0, 0,223, 0, 18, 59, 0, 28,191
.byte 0,218, 21,241, 53, 0, 2,149, 1,146, 0,223, 16,226, 21, 8
.byte 31, 95, 0,223, 16, 59,121, 0, 57, 0, 48,128, 0,254, 0, 34
.byte 0,220, 18, 41, 0,221, 17,248, 92, 0,240, 0, 31,229, 48,128
.byte 2,159, 1,165, 0,223, 16,202, 21, 8, 31, 95, 0,223, 16, 67
.byte 117, 0, 57, 0, 48,128, 0,254, 0, 34, 0,220, 18, 89, 0,221
.byte 22,254, 76, 0,240, 0, 31,229, 48,128, 0,254, 0, 35, 0,218
.byte 0, 8, 0,216, 0, 9, 0,155, 0, 32, 0,153, 0, 8, 0,135
.byte 0, 0, 2,191,128,139, 2,223, 0, 0, 0, 0, 0, 0, 0, 0
.byte 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
lbl_803F7520:
.asciz "GBAKey.c"
.balign 4
lbl_803F752C:
.asciz "GBA - unexpected dsp call"
.section .text, "ax"
.fn F23, local
/* 803CAF40 003C7EA0 7C 08 02 A6 */ mflr r0
/* 803CAF44 003C7EA4 3C 80 80 57 */ lis r4, __GBA@ha
/* 803CAF48 003C7EA8 90 01 00 04 */ stw r0, 4(r1)
/* 803CAF4C 003C7EAC 38 84 A1 A0 */ addi r4, r4, __GBA@l
/* 803CAF50 003C7EB0 38 04 00 A8 */ addi r0, r4, 0xa8
/* 803CAF54 003C7EB4 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 803CAF58 003C7EB8 7C 00 18 40 */ cmplw r0, r3
/* 803CAF5C 003C7EBC 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 803CAF60 003C7EC0 40 82 00 0C */ bne lbl_803CAF6C
/* 803CAF64 003C7EC4 38 00 00 00 */ li r0, 0
/* 803CAF68 003C7EC8 48 00 00 68 */ b lbl_803CAFD0
lbl_803CAF6C:
/* 803CAF6C 003C7ECC 38 84 01 00 */ addi r4, r4, 0x100
/* 803CAF70 003C7ED0 38 04 00 A8 */ addi r0, r4, 0xa8
/* 803CAF74 003C7ED4 7C 00 18 40 */ cmplw r0, r3
/* 803CAF78 003C7ED8 40 82 00 0C */ bne lbl_803CAF84
/* 803CAF7C 003C7EDC 38 00 00 01 */ li r0, 1
/* 803CAF80 003C7EE0 48 00 00 50 */ b lbl_803CAFD0
lbl_803CAF84:
/* 803CAF84 003C7EE4 38 04 01 A8 */ addi r0, r4, 0x1a8
/* 803CAF88 003C7EE8 7C 00 18 40 */ cmplw r0, r3
/* 803CAF8C 003C7EEC 38 84 01 00 */ addi r4, r4, 0x100
/* 803CAF90 003C7EF0 40 82 00 0C */ bne lbl_803CAF9C
/* 803CAF94 003C7EF4 38 00 00 02 */ li r0, 2
/* 803CAF98 003C7EF8 48 00 00 38 */ b lbl_803CAFD0
lbl_803CAF9C:
/* 803CAF9C 003C7EFC 38 04 01 A8 */ addi r0, r4, 0x1a8
/* 803CAFA0 003C7F00 7C 00 18 40 */ cmplw r0, r3
/* 803CAFA4 003C7F04 40 82 00 0C */ bne lbl_803CAFB0
/* 803CAFA8 003C7F08 38 00 00 03 */ li r0, 3
/* 803CAFAC 003C7F0C 48 00 00 24 */ b lbl_803CAFD0
lbl_803CAFB0:
/* 803CAFB0 003C7F10 3C 60 80 3F */ lis r3, lbl_803F7520@ha
/* 803CAFB4 003C7F14 4C C6 31 82 */ crclr 6
/* 803CAFB8 003C7F18 3C 80 80 3F */ lis r4, lbl_803F752C@ha
/* 803CAFBC 003C7F1C 38 A4 75 2C */ addi r5, r4, lbl_803F752C@l
/* 803CAFC0 003C7F20 38 63 75 20 */ addi r3, r3, lbl_803F7520@l
/* 803CAFC4 003C7F24 38 80 00 A9 */ li r4, 0xa9
/* 803CAFC8 003C7F28 4B FB 4A 65 */ bl OSPanic
/* 803CAFCC 003C7F2C 38 00 FF FF */ li r0, -1
lbl_803CAFD0:
/* 803CAFD0 003C7F30 3C 60 80 57 */ lis r3, __GBA@ha
/* 803CAFD4 003C7F34 54 04 40 2E */ slwi r4, r0, 8
/* 803CAFD8 003C7F38 38 03 A1 A0 */ addi r0, r3, __GBA@l
/* 803CAFDC 003C7F3C 7F E0 22 14 */ add r31, r0, r4
/* 803CAFE0 003C7F40 3C 60 AB BA */ lis r3, 0xabba
/* 803CAFE4 003C7F44 4B FA 4A 0D */ bl DSPSendMailToDSP
lbl_803CAFE8:
/* 803CAFE8 003C7F48 4B FA 49 D1 */ bl DSPCheckMailToDSP
/* 803CAFEC 003C7F4C 28 03 00 00 */ cmplwi r3, 0
/* 803CAFF0 003C7F50 40 82 FF F8 */ bne lbl_803CAFE8
/* 803CAFF4 003C7F54 80 7F 00 F8 */ lwz r3, 0xf8(r31)
/* 803CAFF8 003C7F58 4B FA 49 F9 */ bl DSPSendMailToDSP
lbl_803CAFFC:
/* 803CAFFC 003C7F5C 4B FA 49 BD */ bl DSPCheckMailToDSP
/* 803CB000 003C7F60 28 03 00 00 */ cmplwi r3, 0
/* 803CB004 003C7F64 40 82 FF F8 */ bne lbl_803CAFFC
/* 803CB008 003C7F68 80 01 00 24 */ lwz r0, 0x24(r1)
/* 803CB00C 003C7F6C 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 803CB010 003C7F70 38 21 00 20 */ addi r1, r1, 0x20
/* 803CB014 003C7F74 7C 08 03 A6 */ mtlr r0
/* 803CB018 003C7F78 4E 80 00 20 */ blr
.endfn F23
.fn F25, local
/* 803CB01C 003C7F7C 3C 80 80 57 */ lis r4, __GBA@ha
/* 803CB020 003C7F80 7C 08 02 A6 */ mflr r0
/* 803CB024 003C7F84 38 84 A1 A0 */ addi r4, r4, __GBA@l
/* 803CB028 003C7F88 90 01 00 04 */ stw r0, 4(r1)
/* 803CB02C 003C7F8C 38 04 00 A8 */ addi r0, r4, 0xa8
/* 803CB030 003C7F90 7C 00 18 40 */ cmplw r0, r3
/* 803CB034 003C7F94 94 21 FF F8 */ stwu r1, -8(r1)
/* 803CB038 003C7F98 40 82 00 0C */ bne lbl_803CB044
/* 803CB03C 003C7F9C 38 00 00 00 */ li r0, 0
/* 803CB040 003C7FA0 48 00 00 68 */ b lbl_803CB0A8
lbl_803CB044:
/* 803CB044 003C7FA4 38 84 01 00 */ addi r4, r4, 0x100
/* 803CB048 003C7FA8 38 04 00 A8 */ addi r0, r4, 0xa8
/* 803CB04C 003C7FAC 7C 00 18 40 */ cmplw r0, r3
/* 803CB050 003C7FB0 40 82 00 0C */ bne lbl_803CB05C
/* 803CB054 003C7FB4 38 00 00 01 */ li r0, 1
/* 803CB058 003C7FB8 48 00 00 50 */ b lbl_803CB0A8
lbl_803CB05C:
/* 803CB05C 003C7FBC 38 04 01 A8 */ addi r0, r4, 0x1a8
/* 803CB060 003C7FC0 7C 00 18 40 */ cmplw r0, r3
/* 803CB064 003C7FC4 38 84 01 00 */ addi r4, r4, 0x100
/* 803CB068 003C7FC8 40 82 00 0C */ bne lbl_803CB074
/* 803CB06C 003C7FCC 38 00 00 02 */ li r0, 2
/* 803CB070 003C7FD0 48 00 00 38 */ b lbl_803CB0A8
lbl_803CB074:
/* 803CB074 003C7FD4 38 04 01 A8 */ addi r0, r4, 0x1a8
/* 803CB078 003C7FD8 7C 00 18 40 */ cmplw r0, r3
/* 803CB07C 003C7FDC 40 82 00 0C */ bne lbl_803CB088
/* 803CB080 003C7FE0 38 00 00 03 */ li r0, 3
/* 803CB084 003C7FE4 48 00 00 24 */ b lbl_803CB0A8
lbl_803CB088:
/* 803CB088 003C7FE8 3C 60 80 3F */ lis r3, lbl_803F7520@ha
/* 803CB08C 003C7FEC 4C C6 31 82 */ crclr 6
/* 803CB090 003C7FF0 3C 80 80 3F */ lis r4, lbl_803F752C@ha
/* 803CB094 003C7FF4 38 A4 75 2C */ addi r5, r4, lbl_803F752C@l
/* 803CB098 003C7FF8 38 63 75 20 */ addi r3, r3, lbl_803F7520@l
/* 803CB09C 003C7FFC 38 80 00 A9 */ li r4, 0xa9
/* 803CB0A0 003C8000 4B FB 49 8D */ bl OSPanic
/* 803CB0A4 003C8004 38 00 FF FF */ li r0, -1
lbl_803CB0A8:
/* 803CB0A8 003C8008 7C 03 03 78 */ mr r3, r0
/* 803CB0AC 003C800C 38 80 00 00 */ li r4, 0
/* 803CB0B0 003C8010 4B FF ED B1 */ bl __GBAX01
/* 803CB0B4 003C8014 80 01 00 0C */ lwz r0, 0xc(r1)
/* 803CB0B8 003C8018 38 21 00 08 */ addi r1, r1, 8
/* 803CB0BC 003C801C 7C 08 03 A6 */ mtlr r0
/* 803CB0C0 003C8020 4E 80 00 20 */ blr
.endfn F25
.fn __GBAX02
/* 803CB0C4 003C8024 7C 08 02 A6 */ mflr r0
/* 803CB0C8 003C8028 3C A0 80 57 */ lis r5, __GBA@ha
/* 803CB0CC 003C802C 90 01 00 04 */ stw r0, 4(r1)
/* 803CB0D0 003C8030 38 05 A1 A0 */ addi r0, r5, __GBA@l
/* 803CB0D4 003C8034 54 63 40 2E */ slwi r3, r3, 8
/* 803CB0D8 003C8038 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 803CB0DC 003C803C 38 A0 00 04 */ li r5, 4
/* 803CB0E0 003C8040 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 803CB0E4 003C8044 7F E0 1A 14 */ add r31, r0, r3
/* 803CB0E8 003C8048 93 C1 00 18 */ stw r30, 0x18(r1)
/* 803CB0EC 003C804C 3B DF 00 40 */ addi r30, r31, 0x40
/* 803CB0F0 003C8050 93 A1 00 14 */ stw r29, 0x14(r1)
/* 803CB0F4 003C8054 83 BF 00 F8 */ lwz r29, 0xf8(r31)
/* 803CB0F8 003C8058 38 7D 00 00 */ addi r3, r29, 0
/* 803CB0FC 003C805C 4B C3 83 95 */ bl memcpy
/* 803CB100 003C8060 80 1E 00 00 */ lwz r0, 0(r30)
/* 803CB104 003C8064 38 7D 00 20 */ addi r3, r29, 0x20
/* 803CB108 003C8068 38 80 00 20 */ li r4, 0x20
/* 803CB10C 003C806C 90 1D 00 04 */ stw r0, 4(r29)
/* 803CB110 003C8070 80 1E 00 04 */ lwz r0, 4(r30)
/* 803CB114 003C8074 90 1D 00 08 */ stw r0, 8(r29)
/* 803CB118 003C8078 80 1E 00 0C */ lwz r0, 0xc(r30)
/* 803CB11C 003C807C 90 1D 00 0C */ stw r0, 0xc(r29)
/* 803CB120 003C8080 90 7D 00 10 */ stw r3, 0x10(r29)
/* 803CB124 003C8084 4B FB 39 61 */ bl DCInvalidateRange
/* 803CB128 003C8088 38 7D 00 00 */ addi r3, r29, 0
/* 803CB12C 003C808C 38 80 00 20 */ li r4, 0x20
/* 803CB130 003C8090 4B FB 39 81 */ bl DCFlushRange
/* 803CB134 003C8094 38 00 00 FF */ li r0, 0xff
/* 803CB138 003C8098 3C 80 80 3F */ lis r4, D35@ha
/* 803CB13C 003C809C 90 1F 00 AC */ stw r0, 0xac(r31)
/* 803CB140 003C80A0 38 84 71 A0 */ addi r4, r4, D35@l
/* 803CB144 003C80A4 3C 04 80 00 */ addis r0, r4, 0x8000
/* 803CB148 003C80A8 90 1F 00 B4 */ stw r0, 0xb4(r31)
/* 803CB14C 003C80AC 38 00 03 80 */ li r0, 0x380
/* 803CB150 003C80B0 3C A0 80 3D */ lis r5, F23@ha
/* 803CB154 003C80B4 90 1F 00 B8 */ stw r0, 0xb8(r31)
/* 803CB158 003C80B8 38 C0 00 00 */ li r6, 0
/* 803CB15C 003C80BC 38 00 00 10 */ li r0, 0x10
/* 803CB160 003C80C0 90 DF 00 BC */ stw r6, 0xbc(r31)
/* 803CB164 003C80C4 38 A5 AF 40 */ addi r5, r5, F23@l
/* 803CB168 003C80C8 3C 80 80 3D */ lis r4, F25@ha
/* 803CB16C 003C80CC B0 1F 00 CC */ sth r0, 0xcc(r31)
/* 803CB170 003C80D0 38 04 B0 1C */ addi r0, r4, F25@l
/* 803CB174 003C80D4 38 7F 00 A8 */ addi r3, r31, 0xa8
/* 803CB178 003C80D8 90 BF 00 D0 */ stw r5, 0xd0(r31)
/* 803CB17C 003C80DC 90 DF 00 D4 */ stw r6, 0xd4(r31)
/* 803CB180 003C80E0 90 1F 00 D8 */ stw r0, 0xd8(r31)
/* 803CB184 003C80E4 90 DF 00 DC */ stw r6, 0xdc(r31)
/* 803CB188 003C80E8 4B FA 49 D9 */ bl DSPAddTask
/* 803CB18C 003C80EC 80 01 00 24 */ lwz r0, 0x24(r1)
/* 803CB190 003C80F0 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 803CB194 003C80F4 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 803CB198 003C80F8 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 803CB19C 003C80FC 38 21 00 20 */ addi r1, r1, 0x20
/* 803CB1A0 003C8100 7C 08 03 A6 */ mtlr r0
/* 803CB1A4 003C8104 4E 80 00 20 */ blr
.endfn __GBAX02

View File

@ -1,107 +0,0 @@
.include "macros.inc"
.section .text, "ax"
.global ReadProc
ReadProc:
/* 803CA920 003C7880 7C 08 02 A6 */ mflr r0
/* 803CA924 003C7884 3C 80 80 57 */ lis r4, __GBA@ha
/* 803CA928 003C7888 90 01 00 04 */ stw r0, 4(r1)
/* 803CA92C 003C788C 54 63 40 2E */ slwi r3, r3, 8
/* 803CA930 003C7890 38 04 A1 A0 */ addi r0, r4, __GBA@l
/* 803CA934 003C7894 94 21 FF E8 */ stwu r1, -0x18(r1)
/* 803CA938 003C7898 93 E1 00 14 */ stw r31, 0x14(r1)
/* 803CA93C 003C789C 7F E0 1A 14 */ add r31, r0, r3
/* 803CA940 003C78A0 80 1F 00 20 */ lwz r0, 0x20(r31)
/* 803CA944 003C78A4 2C 00 00 00 */ cmpwi r0, 0
/* 803CA948 003C78A8 40 82 00 24 */ bne lbl_803CA96C
/* 803CA94C 003C78AC 80 7F 00 18 */ lwz r3, 0x18(r31)
/* 803CA950 003C78B0 38 9F 00 05 */ addi r4, r31, 5
/* 803CA954 003C78B4 38 A0 00 04 */ li r5, 4
/* 803CA958 003C78B8 4B C3 8B 39 */ bl memcpy
/* 803CA95C 003C78BC 88 1F 00 09 */ lbz r0, 9(r31)
/* 803CA960 003C78C0 80 7F 00 14 */ lwz r3, 0x14(r31)
/* 803CA964 003C78C4 70 00 00 3A */ andi. r0, r0, 0x3a
/* 803CA968 003C78C8 98 03 00 00 */ stb r0, 0(r3)
lbl_803CA96C:
/* 803CA96C 003C78CC 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 803CA970 003C78D0 83 E1 00 14 */ lwz r31, 0x14(r1)
/* 803CA974 003C78D4 38 21 00 18 */ addi r1, r1, 0x18
/* 803CA978 003C78D8 7C 08 03 A6 */ mtlr r0
/* 803CA97C 003C78DC 4E 80 00 20 */ blr
.global GBAReadAsync
GBAReadAsync:
/* 803CA980 003C78E0 7C 08 02 A6 */ mflr r0
/* 803CA984 003C78E4 3C E0 80 57 */ lis r7, __GBA@ha
/* 803CA988 003C78E8 90 01 00 04 */ stw r0, 4(r1)
/* 803CA98C 003C78EC 54 68 40 2E */ slwi r8, r3, 8
/* 803CA990 003C78F0 38 07 A1 A0 */ addi r0, r7, __GBA@l
/* 803CA994 003C78F4 94 21 FF F8 */ stwu r1, -8(r1)
/* 803CA998 003C78F8 7D 00 42 14 */ add r8, r0, r8
/* 803CA99C 003C78FC 80 08 00 1C */ lwz r0, 0x1c(r8)
/* 803CA9A0 003C7900 28 00 00 00 */ cmplwi r0, 0
/* 803CA9A4 003C7904 41 82 00 0C */ beq lbl_803CA9B0
/* 803CA9A8 003C7908 38 60 00 02 */ li r3, 2
/* 803CA9AC 003C790C 48 00 00 30 */ b lbl_803CA9DC
lbl_803CA9B0:
/* 803CA9B0 003C7910 38 00 00 14 */ li r0, 0x14
/* 803CA9B4 003C7914 98 08 00 00 */ stb r0, 0(r8)
/* 803CA9B8 003C7918 3C E0 80 3D */ lis r7, ReadProc@ha
/* 803CA9BC 003C791C 38 07 A9 20 */ addi r0, r7, ReadProc@l
/* 803CA9C0 003C7920 90 88 00 18 */ stw r4, 0x18(r8)
/* 803CA9C4 003C7924 38 80 00 01 */ li r4, 1
/* 803CA9C8 003C7928 90 A8 00 14 */ stw r5, 0x14(r8)
/* 803CA9CC 003C792C 38 A0 00 05 */ li r5, 5
/* 803CA9D0 003C7930 90 C8 00 1C */ stw r6, 0x1c(r8)
/* 803CA9D4 003C7934 7C 06 03 78 */ mr r6, r0
/* 803CA9D8 003C7938 48 00 04 D1 */ bl __GBATransfer
lbl_803CA9DC:
/* 803CA9DC 003C793C 80 01 00 0C */ lwz r0, 0xc(r1)
/* 803CA9E0 003C7940 38 21 00 08 */ addi r1, r1, 8
/* 803CA9E4 003C7944 7C 08 03 A6 */ mtlr r0
/* 803CA9E8 003C7948 4E 80 00 20 */ blr
.global GBARead
GBARead:
/* 803CA9EC 003C794C 7C 08 02 A6 */ mflr r0
/* 803CA9F0 003C7950 90 01 00 04 */ stw r0, 4(r1)
/* 803CA9F4 003C7954 94 21 FF D8 */ stwu r1, -0x28(r1)
/* 803CA9F8 003C7958 93 E1 00 24 */ stw r31, 0x24(r1)
/* 803CA9FC 003C795C 3B E3 00 00 */ addi r31, r3, 0
/* 803CAA00 003C7960 3C 60 80 57 */ lis r3, __GBA@ha
/* 803CAA04 003C7964 57 E6 40 2E */ slwi r6, r31, 8
/* 803CAA08 003C7968 38 03 A1 A0 */ addi r0, r3, __GBA@l
/* 803CAA0C 003C796C 7D 00 32 14 */ add r8, r0, r6
/* 803CAA10 003C7970 80 08 00 1C */ lwz r0, 0x1c(r8)
/* 803CAA14 003C7974 28 00 00 00 */ cmplwi r0, 0
/* 803CAA18 003C7978 41 82 00 0C */ beq lbl_803CAA24
/* 803CAA1C 003C797C 38 60 00 02 */ li r3, 2
/* 803CAA20 003C7980 48 00 00 38 */ b lbl_803CAA58
lbl_803CAA24:
/* 803CAA24 003C7984 38 00 00 14 */ li r0, 0x14
/* 803CAA28 003C7988 98 08 00 00 */ stb r0, 0(r8)
/* 803CAA2C 003C798C 3C E0 80 3D */ lis r7, __GBASyncCallback@ha
/* 803CAA30 003C7990 3C 60 80 3D */ lis r3, ReadProc@ha
/* 803CAA34 003C7994 90 88 00 18 */ stw r4, 0x18(r8)
/* 803CAA38 003C7998 38 C3 A9 20 */ addi r6, r3, ReadProc@l
/* 803CAA3C 003C799C 38 07 AC E4 */ addi r0, r7, __GBASyncCallback@l
/* 803CAA40 003C79A0 90 A8 00 14 */ stw r5, 0x14(r8)
/* 803CAA44 003C79A4 7F E3 FB 78 */ mr r3, r31
/* 803CAA48 003C79A8 38 80 00 01 */ li r4, 1
/* 803CAA4C 003C79AC 90 08 00 1C */ stw r0, 0x1c(r8)
/* 803CAA50 003C79B0 38 A0 00 05 */ li r5, 5
/* 803CAA54 003C79B4 48 00 04 55 */ bl __GBATransfer
lbl_803CAA58:
/* 803CAA58 003C79B8 2C 03 00 00 */ cmpwi r3, 0
/* 803CAA5C 003C79BC 41 82 00 08 */ beq lbl_803CAA64
/* 803CAA60 003C79C0 48 00 00 0C */ b lbl_803CAA6C
lbl_803CAA64:
/* 803CAA64 003C79C4 7F E3 FB 78 */ mr r3, r31
/* 803CAA68 003C79C8 48 00 02 B1 */ bl __GBASync
lbl_803CAA6C:
/* 803CAA6C 003C79CC 80 01 00 2C */ lwz r0, 0x2c(r1)
/* 803CAA70 003C79D0 83 E1 00 24 */ lwz r31, 0x24(r1)
/* 803CAA74 003C79D4 38 21 00 28 */ addi r1, r1, 0x28
/* 803CAA78 003C79D8 7C 08 03 A6 */ mtlr r0
/* 803CAA7C 003C79DC 4E 80 00 20 */ blr

View File

@ -1,116 +0,0 @@
.include "macros.inc"
.section .text, "ax"
.global WriteProc
WriteProc:
/* 803CAA80 003C79E0 3C 80 80 57 */ lis r4, __GBA@ha
/* 803CAA84 003C79E4 54 63 40 2E */ slwi r3, r3, 8
/* 803CAA88 003C79E8 38 04 A1 A0 */ addi r0, r4, __GBA@l
/* 803CAA8C 003C79EC 7C 60 1A 14 */ add r3, r0, r3
/* 803CAA90 003C79F0 80 03 00 20 */ lwz r0, 0x20(r3)
/* 803CAA94 003C79F4 2C 00 00 00 */ cmpwi r0, 0
/* 803CAA98 003C79F8 4C 82 00 20 */ bnelr
/* 803CAA9C 003C79FC 88 03 00 05 */ lbz r0, 5(r3)
/* 803CAAA0 003C7A00 80 63 00 14 */ lwz r3, 0x14(r3)
/* 803CAAA4 003C7A04 70 00 00 3A */ andi. r0, r0, 0x3a
/* 803CAAA8 003C7A08 98 03 00 00 */ stb r0, 0(r3)
/* 803CAAAC 003C7A0C 4E 80 00 20 */ blr
.global GBAWriteAsync
GBAWriteAsync:
/* 803CAAB0 003C7A10 7C 08 02 A6 */ mflr r0
/* 803CAAB4 003C7A14 90 01 00 04 */ stw r0, 4(r1)
/* 803CAAB8 003C7A18 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 803CAABC 003C7A1C BF 61 00 1C */ stmw r27, 0x1c(r1)
/* 803CAAC0 003C7A20 3B 63 00 00 */ addi r27, r3, 0
/* 803CAAC4 003C7A24 3C 60 80 57 */ lis r3, __GBA@ha
/* 803CAAC8 003C7A28 57 67 40 2E */ slwi r7, r27, 8
/* 803CAACC 003C7A2C 38 03 A1 A0 */ addi r0, r3, __GBA@l
/* 803CAAD0 003C7A30 7F E0 3A 14 */ add r31, r0, r7
/* 803CAAD4 003C7A34 3B 84 00 00 */ addi r28, r4, 0
/* 803CAAD8 003C7A38 3B A5 00 00 */ addi r29, r5, 0
/* 803CAADC 003C7A3C 80 1F 00 1C */ lwz r0, 0x1c(r31)
/* 803CAAE0 003C7A40 3B C6 00 00 */ addi r30, r6, 0
/* 803CAAE4 003C7A44 28 00 00 00 */ cmplwi r0, 0
/* 803CAAE8 003C7A48 41 82 00 0C */ beq lbl_803CAAF4
/* 803CAAEC 003C7A4C 38 60 00 02 */ li r3, 2
/* 803CAAF0 003C7A50 48 00 00 40 */ b lbl_803CAB30
lbl_803CAAF4:
/* 803CAAF4 003C7A54 38 00 00 15 */ li r0, 0x15
/* 803CAAF8 003C7A58 98 1F 00 00 */ stb r0, 0(r31)
/* 803CAAFC 003C7A5C 38 9C 00 00 */ addi r4, r28, 0
/* 803CAB00 003C7A60 38 7F 00 01 */ addi r3, r31, 1
/* 803CAB04 003C7A64 38 A0 00 04 */ li r5, 4
/* 803CAB08 003C7A68 4B C3 89 89 */ bl memcpy
/* 803CAB0C 003C7A6C 93 9F 00 18 */ stw r28, 0x18(r31)
/* 803CAB10 003C7A70 3C 60 80 3D */ lis r3, WriteProc@ha
/* 803CAB14 003C7A74 38 C3 AA 80 */ addi r6, r3, WriteProc@l
/* 803CAB18 003C7A78 93 BF 00 14 */ stw r29, 0x14(r31)
/* 803CAB1C 003C7A7C 7F 63 DB 78 */ mr r3, r27
/* 803CAB20 003C7A80 38 80 00 05 */ li r4, 5
/* 803CAB24 003C7A84 93 DF 00 1C */ stw r30, 0x1c(r31)
/* 803CAB28 003C7A88 38 A0 00 01 */ li r5, 1
/* 803CAB2C 003C7A8C 48 00 03 7D */ bl __GBATransfer
lbl_803CAB30:
/* 803CAB30 003C7A90 BB 61 00 1C */ lmw r27, 0x1c(r1)
/* 803CAB34 003C7A94 80 01 00 34 */ lwz r0, 0x34(r1)
/* 803CAB38 003C7A98 38 21 00 30 */ addi r1, r1, 0x30
/* 803CAB3C 003C7A9C 7C 08 03 A6 */ mtlr r0
/* 803CAB40 003C7AA0 4E 80 00 20 */ blr
.global GBAWrite
GBAWrite:
/* 803CAB44 003C7AA4 7C 08 02 A6 */ mflr r0
/* 803CAB48 003C7AA8 90 01 00 04 */ stw r0, 4(r1)
/* 803CAB4C 003C7AAC 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 803CAB50 003C7AB0 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 803CAB54 003C7AB4 93 C1 00 28 */ stw r30, 0x28(r1)
/* 803CAB58 003C7AB8 3B C5 00 00 */ addi r30, r5, 0
/* 803CAB5C 003C7ABC 93 A1 00 24 */ stw r29, 0x24(r1)
/* 803CAB60 003C7AC0 3B A4 00 00 */ addi r29, r4, 0
/* 803CAB64 003C7AC4 93 81 00 20 */ stw r28, 0x20(r1)
/* 803CAB68 003C7AC8 3B 83 00 00 */ addi r28, r3, 0
/* 803CAB6C 003C7ACC 3C 60 80 57 */ lis r3, __GBA@ha
/* 803CAB70 003C7AD0 57 86 40 2E */ slwi r6, r28, 8
/* 803CAB74 003C7AD4 38 03 A1 A0 */ addi r0, r3, __GBA@l
/* 803CAB78 003C7AD8 7F E0 32 14 */ add r31, r0, r6
/* 803CAB7C 003C7ADC 80 1F 00 1C */ lwz r0, 0x1c(r31)
/* 803CAB80 003C7AE0 28 00 00 00 */ cmplwi r0, 0
/* 803CAB84 003C7AE4 41 82 00 0C */ beq lbl_803CAB90
/* 803CAB88 003C7AE8 38 60 00 02 */ li r3, 2
/* 803CAB8C 003C7AEC 48 00 00 48 */ b lbl_803CABD4
lbl_803CAB90:
/* 803CAB90 003C7AF0 38 00 00 15 */ li r0, 0x15
/* 803CAB94 003C7AF4 98 1F 00 00 */ stb r0, 0(r31)
/* 803CAB98 003C7AF8 38 9D 00 00 */ addi r4, r29, 0
/* 803CAB9C 003C7AFC 38 7F 00 01 */ addi r3, r31, 1
/* 803CABA0 003C7B00 38 A0 00 04 */ li r5, 4
/* 803CABA4 003C7B04 4B C3 88 ED */ bl memcpy
/* 803CABA8 003C7B08 93 BF 00 18 */ stw r29, 0x18(r31)
/* 803CABAC 003C7B0C 3C 80 80 3D */ lis r4, __GBASyncCallback@ha
/* 803CABB0 003C7B10 38 04 AC E4 */ addi r0, r4, __GBASyncCallback@l
/* 803CABB4 003C7B14 93 DF 00 14 */ stw r30, 0x14(r31)
/* 803CABB8 003C7B18 3C 60 80 3D */ lis r3, WriteProc@ha
/* 803CABBC 003C7B1C 38 C3 AA 80 */ addi r6, r3, WriteProc@l
/* 803CABC0 003C7B20 90 1F 00 1C */ stw r0, 0x1c(r31)
/* 803CABC4 003C7B24 38 7C 00 00 */ addi r3, r28, 0
/* 803CABC8 003C7B28 38 80 00 05 */ li r4, 5
/* 803CABCC 003C7B2C 38 A0 00 01 */ li r5, 1
/* 803CABD0 003C7B30 48 00 02 D9 */ bl __GBATransfer
lbl_803CABD4:
/* 803CABD4 003C7B34 2C 03 00 00 */ cmpwi r3, 0
/* 803CABD8 003C7B38 41 82 00 08 */ beq lbl_803CABE0
/* 803CABDC 003C7B3C 48 00 00 0C */ b lbl_803CABE8
lbl_803CABE0:
/* 803CABE0 003C7B40 7F 83 E3 78 */ mr r3, r28
/* 803CABE4 003C7B44 48 00 01 35 */ bl __GBASync
lbl_803CABE8:
/* 803CABE8 003C7B48 80 01 00 34 */ lwz r0, 0x34(r1)
/* 803CABEC 003C7B4C 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 803CABF0 003C7B50 83 C1 00 28 */ lwz r30, 0x28(r1)
/* 803CABF4 003C7B54 83 A1 00 24 */ lwz r29, 0x24(r1)
/* 803CABF8 003C7B58 83 81 00 20 */ lwz r28, 0x20(r1)
/* 803CABFC 003C7B5C 38 21 00 30 */ addi r1, r1, 0x30
/* 803CAC00 003C7B60 7C 08 03 A6 */ mtlr r0
/* 803CAC04 003C7B64 4E 80 00 20 */ blr

View File

@ -1,238 +0,0 @@
.include "macros.inc"
.section .text, "ax"
.global __GBAHandler
__GBAHandler:
/* 803CAC08 003C7B68 7C 08 02 A6 */ mflr r0
/* 803CAC0C 003C7B6C 90 01 00 04 */ stw r0, 4(r1)
/* 803CAC10 003C7B70 94 21 FD 08 */ stwu r1, -0x2f8(r1)
/* 803CAC14 003C7B74 93 E1 02 F4 */ stw r31, 0x2f4(r1)
/* 803CAC18 003C7B78 93 C1 02 F0 */ stw r30, 0x2f0(r1)
/* 803CAC1C 003C7B7C 3B C5 00 00 */ addi r30, r5, 0
/* 803CAC20 003C7B80 93 A1 02 EC */ stw r29, 0x2ec(r1)
/* 803CAC24 003C7B84 3B A3 00 00 */ addi r29, r3, 0
/* 803CAC28 003C7B88 3C 60 80 57 */ lis r3, __GBA@ha
/* 803CAC2C 003C7B8C 80 0D B1 58 */ lwz r0, __GBAReset@sda21(r13)
/* 803CAC30 003C7B90 57 A6 40 2E */ slwi r6, r29, 8
/* 803CAC34 003C7B94 2C 00 00 00 */ cmpwi r0, 0
/* 803CAC38 003C7B98 38 03 A1 A0 */ addi r0, r3, __GBA@l
/* 803CAC3C 003C7B9C 7F E0 32 14 */ add r31, r0, r6
/* 803CAC40 003C7BA0 40 82 00 88 */ bne lbl_803CACC8
/* 803CAC44 003C7BA4 54 80 07 3F */ clrlwi. r0, r4, 0x1c
/* 803CAC48 003C7BA8 41 82 00 10 */ beq lbl_803CAC58
/* 803CAC4C 003C7BAC 38 00 00 01 */ li r0, 1
/* 803CAC50 003C7BB0 90 1F 00 20 */ stw r0, 0x20(r31)
/* 803CAC54 003C7BB4 48 00 00 0C */ b lbl_803CAC60
lbl_803CAC58:
/* 803CAC58 003C7BB8 38 00 00 00 */ li r0, 0
/* 803CAC5C 003C7BBC 90 1F 00 20 */ stw r0, 0x20(r31)
lbl_803CAC60:
/* 803CAC60 003C7BC0 81 9F 00 38 */ lwz r12, 0x38(r31)
/* 803CAC64 003C7BC4 28 0C 00 00 */ cmplwi r12, 0
/* 803CAC68 003C7BC8 41 82 00 18 */ beq lbl_803CAC80
/* 803CAC6C 003C7BCC 38 00 00 00 */ li r0, 0
/* 803CAC70 003C7BD0 7D 88 03 A6 */ mtlr r12
/* 803CAC74 003C7BD4 90 1F 00 38 */ stw r0, 0x38(r31)
/* 803CAC78 003C7BD8 7F A3 EB 78 */ mr r3, r29
/* 803CAC7C 003C7BDC 4E 80 00 21 */ blrl
lbl_803CAC80:
/* 803CAC80 003C7BE0 80 1F 00 1C */ lwz r0, 0x1c(r31)
/* 803CAC84 003C7BE4 28 00 00 00 */ cmplwi r0, 0
/* 803CAC88 003C7BE8 41 82 00 40 */ beq lbl_803CACC8
/* 803CAC8C 003C7BEC 38 61 00 18 */ addi r3, r1, 0x18
/* 803CAC90 003C7BF0 4B FB 49 85 */ bl OSClearContext
/* 803CAC94 003C7BF4 38 61 00 18 */ addi r3, r1, 0x18
/* 803CAC98 003C7BF8 4B FB 47 85 */ bl OSSetCurrentContext
/* 803CAC9C 003C7BFC 81 9F 00 1C */ lwz r12, 0x1c(r31)
/* 803CACA0 003C7C00 38 00 00 00 */ li r0, 0
/* 803CACA4 003C7C04 38 7D 00 00 */ addi r3, r29, 0
/* 803CACA8 003C7C08 90 1F 00 1C */ stw r0, 0x1c(r31)
/* 803CACAC 003C7C0C 7D 88 03 A6 */ mtlr r12
/* 803CACB0 003C7C10 80 9F 00 20 */ lwz r4, 0x20(r31)
/* 803CACB4 003C7C14 4E 80 00 21 */ blrl
/* 803CACB8 003C7C18 38 61 00 18 */ addi r3, r1, 0x18
/* 803CACBC 003C7C1C 4B FB 49 59 */ bl OSClearContext
/* 803CACC0 003C7C20 7F C3 F3 78 */ mr r3, r30
/* 803CACC4 003C7C24 4B FB 47 59 */ bl OSSetCurrentContext
lbl_803CACC8:
/* 803CACC8 003C7C28 80 01 02 FC */ lwz r0, 0x2fc(r1)
/* 803CACCC 003C7C2C 83 E1 02 F4 */ lwz r31, 0x2f4(r1)
/* 803CACD0 003C7C30 83 C1 02 F0 */ lwz r30, 0x2f0(r1)
/* 803CACD4 003C7C34 83 A1 02 EC */ lwz r29, 0x2ec(r1)
/* 803CACD8 003C7C38 38 21 02 F8 */ addi r1, r1, 0x2f8
/* 803CACDC 003C7C3C 7C 08 03 A6 */ mtlr r0
/* 803CACE0 003C7C40 4E 80 00 20 */ blr
.global __GBASyncCallback
__GBASyncCallback:
/* 803CACE4 003C7C44 7C 08 02 A6 */ mflr r0
/* 803CACE8 003C7C48 3C 80 80 57 */ lis r4, __GBA@ha
/* 803CACEC 003C7C4C 90 01 00 04 */ stw r0, 4(r1)
/* 803CACF0 003C7C50 54 63 40 2E */ slwi r3, r3, 8
/* 803CACF4 003C7C54 38 04 A1 A0 */ addi r0, r4, __GBA@l
/* 803CACF8 003C7C58 7C 60 1A 14 */ add r3, r0, r3
/* 803CACFC 003C7C5C 94 21 FF F8 */ stwu r1, -8(r1)
/* 803CAD00 003C7C60 38 63 00 24 */ addi r3, r3, 0x24
/* 803CAD04 003C7C64 4B FB A4 F5 */ bl OSWakeupThread
/* 803CAD08 003C7C68 80 01 00 0C */ lwz r0, 0xc(r1)
/* 803CAD0C 003C7C6C 38 21 00 08 */ addi r1, r1, 8
/* 803CAD10 003C7C70 7C 08 03 A6 */ mtlr r0
/* 803CAD14 003C7C74 4E 80 00 20 */ blr
.global __GBASync
__GBASync:
/* 803CAD18 003C7C78 7C 08 02 A6 */ mflr r0
/* 803CAD1C 003C7C7C 3C 80 80 57 */ lis r4, __GBA@ha
/* 803CAD20 003C7C80 90 01 00 04 */ stw r0, 4(r1)
/* 803CAD24 003C7C84 54 63 40 2E */ slwi r3, r3, 8
/* 803CAD28 003C7C88 38 04 A1 A0 */ addi r0, r4, __GBA@l
/* 803CAD2C 003C7C8C 94 21 FF E8 */ stwu r1, -0x18(r1)
/* 803CAD30 003C7C90 93 E1 00 14 */ stw r31, 0x14(r1)
/* 803CAD34 003C7C94 7F E0 1A 14 */ add r31, r0, r3
/* 803CAD38 003C7C98 93 C1 00 10 */ stw r30, 0x10(r1)
/* 803CAD3C 003C7C9C 4B FB 69 25 */ bl OSDisableInterrupts
/* 803CAD40 003C7CA0 7C 7E 1B 78 */ mr r30, r3
/* 803CAD44 003C7CA4 48 00 00 0C */ b lbl_803CAD50
lbl_803CAD48:
/* 803CAD48 003C7CA8 38 7F 00 24 */ addi r3, r31, 0x24
/* 803CAD4C 003C7CAC 4B FB A3 C1 */ bl OSSleepThread
lbl_803CAD50:
/* 803CAD50 003C7CB0 80 1F 00 1C */ lwz r0, 0x1c(r31)
/* 803CAD54 003C7CB4 28 00 00 00 */ cmplwi r0, 0
/* 803CAD58 003C7CB8 40 82 FF F0 */ bne lbl_803CAD48
/* 803CAD5C 003C7CBC 83 FF 00 20 */ lwz r31, 0x20(r31)
/* 803CAD60 003C7CC0 7F C3 F3 78 */ mr r3, r30
/* 803CAD64 003C7CC4 4B FB 69 25 */ bl OSRestoreInterrupts
/* 803CAD68 003C7CC8 7F E3 FB 78 */ mr r3, r31
/* 803CAD6C 003C7CCC 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 803CAD70 003C7CD0 83 E1 00 14 */ lwz r31, 0x14(r1)
/* 803CAD74 003C7CD4 83 C1 00 10 */ lwz r30, 0x10(r1)
/* 803CAD78 003C7CD8 38 21 00 18 */ addi r1, r1, 0x18
/* 803CAD7C 003C7CDC 7C 08 03 A6 */ mtlr r0
/* 803CAD80 003C7CE0 4E 80 00 20 */ blr
.global TypeAndStatusCallback
TypeAndStatusCallback:
/* 803CAD84 003C7CE4 7C 08 02 A6 */ mflr r0
/* 803CAD88 003C7CE8 90 01 00 04 */ stw r0, 4(r1)
/* 803CAD8C 003C7CEC 94 21 FD 10 */ stwu r1, -0x2f0(r1)
/* 803CAD90 003C7CF0 93 E1 02 EC */ stw r31, 0x2ec(r1)
/* 803CAD94 003C7CF4 3B E3 00 00 */ addi r31, r3, 0
/* 803CAD98 003C7CF8 3C 60 80 57 */ lis r3, __GBA@ha
/* 803CAD9C 003C7CFC 93 C1 02 E8 */ stw r30, 0x2e8(r1)
/* 803CADA0 003C7D00 57 E5 40 2E */ slwi r5, r31, 8
/* 803CADA4 003C7D04 93 A1 02 E4 */ stw r29, 0x2e4(r1)
/* 803CADA8 003C7D08 80 0D B1 58 */ lwz r0, __GBAReset@sda21(r13)
/* 803CADAC 003C7D0C 2C 00 00 00 */ cmpwi r0, 0
/* 803CADB0 003C7D10 38 03 A1 A0 */ addi r0, r3, __GBA@l
/* 803CADB4 003C7D14 7F C0 2A 14 */ add r30, r0, r5
/* 803CADB8 003C7D18 40 82 00 D4 */ bne lbl_803CAE8C
/* 803CADBC 003C7D1C 54 80 06 3F */ clrlwi. r0, r4, 0x18
/* 803CADC0 003C7D20 40 82 00 14 */ bne lbl_803CADD4
/* 803CADC4 003C7D24 54 83 00 1E */ rlwinm r3, r4, 0, 0, 0xf
/* 803CADC8 003C7D28 3C 03 FF FC */ addis r0, r3, 0xfffc
/* 803CADCC 003C7D2C 28 00 00 00 */ cmplwi r0, 0
/* 803CADD0 003C7D30 41 82 00 10 */ beq lbl_803CADE0
lbl_803CADD4:
/* 803CADD4 003C7D34 38 00 00 01 */ li r0, 1
/* 803CADD8 003C7D38 90 1E 00 20 */ stw r0, 0x20(r30)
/* 803CADDC 003C7D3C 48 00 00 3C */ b lbl_803CAE18
lbl_803CADE0:
/* 803CADE0 003C7D40 3C 60 80 3D */ lis r3, __GBAHandler@ha
/* 803CADE4 003C7D44 80 BE 00 0C */ lwz r5, 0xc(r30)
/* 803CADE8 003C7D48 39 03 AC 08 */ addi r8, r3, __GBAHandler@l
/* 803CADEC 003C7D4C 80 FE 00 10 */ lwz r7, 0x10(r30)
/* 803CADF0 003C7D50 81 3E 00 30 */ lwz r9, 0x30(r30)
/* 803CADF4 003C7D54 7F E3 FB 78 */ mr r3, r31
/* 803CADF8 003C7D58 81 5E 00 34 */ lwz r10, 0x34(r30)
/* 803CADFC 003C7D5C 38 9E 00 00 */ addi r4, r30, 0
/* 803CAE00 003C7D60 38 DE 00 05 */ addi r6, r30, 5
/* 803CAE04 003C7D64 4B FF 48 95 */ bl SITransfer
/* 803CAE08 003C7D68 2C 03 00 00 */ cmpwi r3, 0
/* 803CAE0C 003C7D6C 40 82 00 80 */ bne lbl_803CAE8C
/* 803CAE10 003C7D70 38 00 00 02 */ li r0, 2
/* 803CAE14 003C7D74 90 1E 00 20 */ stw r0, 0x20(r30)
lbl_803CAE18:
/* 803CAE18 003C7D78 81 9E 00 38 */ lwz r12, 0x38(r30)
/* 803CAE1C 003C7D7C 28 0C 00 00 */ cmplwi r12, 0
/* 803CAE20 003C7D80 41 82 00 18 */ beq lbl_803CAE38
/* 803CAE24 003C7D84 38 00 00 00 */ li r0, 0
/* 803CAE28 003C7D88 7D 88 03 A6 */ mtlr r12
/* 803CAE2C 003C7D8C 90 1E 00 38 */ stw r0, 0x38(r30)
/* 803CAE30 003C7D90 7F E3 FB 78 */ mr r3, r31
/* 803CAE34 003C7D94 4E 80 00 21 */ blrl
lbl_803CAE38:
/* 803CAE38 003C7D98 80 1E 00 1C */ lwz r0, 0x1c(r30)
/* 803CAE3C 003C7D9C 28 00 00 00 */ cmplwi r0, 0
/* 803CAE40 003C7DA0 41 82 00 4C */ beq lbl_803CAE8C
/* 803CAE44 003C7DA4 4B FB 46 35 */ bl OSGetCurrentContext
/* 803CAE48 003C7DA8 3B A3 00 00 */ addi r29, r3, 0
/* 803CAE4C 003C7DAC 38 61 00 10 */ addi r3, r1, 0x10
/* 803CAE50 003C7DB0 4B FB 47 C5 */ bl OSClearContext
/* 803CAE54 003C7DB4 38 61 00 10 */ addi r3, r1, 0x10
/* 803CAE58 003C7DB8 4B FB 45 C5 */ bl OSSetCurrentContext
/* 803CAE5C 003C7DBC 81 9E 00 1C */ lwz r12, 0x1c(r30)
/* 803CAE60 003C7DC0 38 00 00 00 */ li r0, 0
/* 803CAE64 003C7DC4 38 7F 00 00 */ addi r3, r31, 0
/* 803CAE68 003C7DC8 90 1E 00 1C */ stw r0, 0x1c(r30)
/* 803CAE6C 003C7DCC 7D 88 03 A6 */ mtlr r12
/* 803CAE70 003C7DD0 80 9E 00 20 */ lwz r4, 0x20(r30)
/* 803CAE74 003C7DD4 4E 80 00 21 */ blrl
/* 803CAE78 003C7DD8 38 61 00 10 */ addi r3, r1, 0x10
/* 803CAE7C 003C7DDC 4B FB 47 99 */ bl OSClearContext
/* 803CAE80 003C7DE0 7F A3 EB 78 */ mr r3, r29
/* 803CAE84 003C7DE4 4B FB 45 99 */ bl OSSetCurrentContext
/* 803CAE88 003C7DE8 4B FB 9C 65 */ bl __OSReschedule
lbl_803CAE8C:
/* 803CAE8C 003C7DEC 80 01 02 F4 */ lwz r0, 0x2f4(r1)
/* 803CAE90 003C7DF0 83 E1 02 EC */ lwz r31, 0x2ec(r1)
/* 803CAE94 003C7DF4 83 C1 02 E8 */ lwz r30, 0x2e8(r1)
/* 803CAE98 003C7DF8 83 A1 02 E4 */ lwz r29, 0x2e4(r1)
/* 803CAE9C 003C7DFC 38 21 02 F0 */ addi r1, r1, 0x2f0
/* 803CAEA0 003C7E00 7C 08 03 A6 */ mtlr r0
/* 803CAEA4 003C7E04 4E 80 00 20 */ blr
.global __GBATransfer
__GBATransfer:
/* 803CAEA8 003C7E08 7C 08 02 A6 */ mflr r0
/* 803CAEAC 003C7E0C 90 01 00 04 */ stw r0, 4(r1)
/* 803CAEB0 003C7E10 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 803CAEB4 003C7E14 BF 61 00 1C */ stmw r27, 0x1c(r1)
/* 803CAEB8 003C7E18 3B 63 00 00 */ addi r27, r3, 0
/* 803CAEBC 003C7E1C 3C 60 80 57 */ lis r3, __GBA@ha
/* 803CAEC0 003C7E20 57 67 40 2E */ slwi r7, r27, 8
/* 803CAEC4 003C7E24 38 03 A1 A0 */ addi r0, r3, __GBA@l
/* 803CAEC8 003C7E28 3B 84 00 00 */ addi r28, r4, 0
/* 803CAECC 003C7E2C 3B A5 00 00 */ addi r29, r5, 0
/* 803CAED0 003C7E30 3B E6 00 00 */ addi r31, r6, 0
/* 803CAED4 003C7E34 7F C0 3A 14 */ add r30, r0, r7
/* 803CAED8 003C7E38 4B FB 67 89 */ bl OSDisableInterrupts
/* 803CAEDC 003C7E3C 93 FE 00 38 */ stw r31, 0x38(r30)
/* 803CAEE0 003C7E40 3C 80 80 3D */ lis r4, TypeAndStatusCallback@ha
/* 803CAEE4 003C7E44 3B E3 00 00 */ addi r31, r3, 0
/* 803CAEE8 003C7E48 93 9E 00 0C */ stw r28, 0xc(r30)
/* 803CAEEC 003C7E4C 38 84 AD 84 */ addi r4, r4, TypeAndStatusCallback@l
/* 803CAEF0 003C7E50 7F 63 DB 78 */ mr r3, r27
/* 803CAEF4 003C7E54 93 BE 00 10 */ stw r29, 0x10(r30)
/* 803CAEF8 003C7E58 4B FF 4D 69 */ bl SIGetTypeAsync
/* 803CAEFC 003C7E5C 7F E3 FB 78 */ mr r3, r31
/* 803CAF00 003C7E60 4B FB 67 89 */ bl OSRestoreInterrupts
/* 803CAF04 003C7E64 BB 61 00 1C */ lmw r27, 0x1c(r1)
/* 803CAF08 003C7E68 38 60 00 00 */ li r3, 0
/* 803CAF0C 003C7E6C 80 01 00 34 */ lwz r0, 0x34(r1)
/* 803CAF10 003C7E70 38 21 00 30 */ addi r1, r1, 0x30
/* 803CAF14 003C7E74 7C 08 03 A6 */ mtlr r0
/* 803CAF18 003C7E78 4E 80 00 20 */ blr
.global __GBASetDelay
__GBASetDelay:
/* 803CAF1C 003C7E7C 3C 80 80 57 */ lis r4, __GBA@ha
/* 803CAF20 003C7E80 54 63 40 2E */ slwi r3, r3, 8
/* 803CAF24 003C7E84 38 04 A1 A0 */ addi r0, r4, __GBA@l
/* 803CAF28 003C7E88 7C E0 1A 14 */ add r7, r0, r3
/* 803CAF2C 003C7E8C 80 67 00 30 */ lwz r3, 0x30(r7)
/* 803CAF30 003C7E90 80 87 00 34 */ lwz r4, 0x34(r7)
/* 803CAF34 003C7E94 90 C7 00 34 */ stw r6, 0x34(r7)
/* 803CAF38 003C7E98 90 A7 00 30 */ stw r5, 0x30(r7)
/* 803CAF3C 003C7E9C 4E 80 00 20 */ blr

View File

@ -1,120 +0,0 @@
.include "macros.inc"
.section .text, "ax"
.global PPCMfmsr
PPCMfmsr:
/* 8036F7D4 0036C734 7C 60 00 A6 */ mfmsr r3
/* 8036F7D8 0036C738 4E 80 00 20 */ blr
.global PPCMtmsr
PPCMtmsr:
/* 8036F7DC 0036C73C 7C 60 01 24 */ mtmsr r3
/* 8036F7E0 0036C740 4E 80 00 20 */ blr
.global PPCMfhid0
PPCMfhid0:
/* 8036F7E4 0036C744 7C 70 FA A6 */ mfspr r3, 0x3f0
/* 8036F7E8 0036C748 4E 80 00 20 */ blr
.global PPCMthid0
PPCMthid0:
/* 8036F7EC 0036C74C 7C 70 FB A6 */ mtspr 0x3f0, r3
/* 8036F7F0 0036C750 4E 80 00 20 */ blr
.global PPCMfl2cr
PPCMfl2cr:
/* 8036F7F4 0036C754 7C 79 FA A6 */ mfspr r3, 0x3f9
/* 8036F7F8 0036C758 4E 80 00 20 */ blr
.global PPCMtl2cr
PPCMtl2cr:
/* 8036F7FC 0036C75C 7C 79 FB A6 */ mtspr 0x3f9, r3
/* 8036F800 0036C760 4E 80 00 20 */ blr
.global PPCMtdec
PPCMtdec:
/* 8036F804 0036C764 7C 76 03 A6 */ mtspr 0x16, r3
/* 8036F808 0036C768 4E 80 00 20 */ blr
.global PPCSync
PPCSync:
/* 8036F80C 0036C76C 44 00 00 02 */ sc
/* 8036F810 0036C770 4E 80 00 20 */ blr
.global PPCHalt
PPCHalt:
/* 8036F814 0036C774 7C 00 04 AC */ sync
lbl_8036F818:
/* 8036F818 0036C778 60 00 00 00 */ nop
/* 8036F81C 0036C77C 38 60 00 00 */ li r3, 0
/* 8036F820 0036C780 60 00 00 00 */ nop
/* 8036F824 0036C784 4B FF FF F4 */ b lbl_8036F818
.global PPCMffpscr
PPCMffpscr:
/* 8036F828 0036C788 94 21 FF E8 */ stwu r1, -0x18(r1)
/* 8036F82C 0036C78C DB E1 00 10 */ stfd f31, 0x10(r1)
/* 8036F830 0036C790 FF E0 04 8E */ mffs f31
/* 8036F834 0036C794 DB E1 00 08 */ stfd f31, 8(r1)
/* 8036F838 0036C798 80 61 00 0C */ lwz r3, 0xc(r1)
/* 8036F83C 0036C79C CB E1 00 10 */ lfd f31, 0x10(r1)
/* 8036F840 0036C7A0 38 21 00 18 */ addi r1, r1, 0x18
/* 8036F844 0036C7A4 4E 80 00 20 */ blr
.global PPCMtfpscr
PPCMtfpscr:
/* 8036F848 0036C7A8 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8036F84C 0036C7AC DB E1 00 18 */ stfd f31, 0x18(r1)
/* 8036F850 0036C7B0 38 80 00 00 */ li r4, 0
/* 8036F854 0036C7B4 90 81 00 10 */ stw r4, 0x10(r1)
/* 8036F858 0036C7B8 90 61 00 14 */ stw r3, 0x14(r1)
/* 8036F85C 0036C7BC CB E1 00 10 */ lfd f31, 0x10(r1)
/* 8036F860 0036C7C0 FD FE FD 8E */ mtfsf 0xff, f31
/* 8036F864 0036C7C4 CB E1 00 18 */ lfd f31, 0x18(r1)
/* 8036F868 0036C7C8 38 21 00 20 */ addi r1, r1, 0x20
/* 8036F86C 0036C7CC 4E 80 00 20 */ blr
.global PPCMfhid2
PPCMfhid2:
/* 8036F870 0036C7D0 7C 78 E2 A6 */ mfspr r3, 0x398
/* 8036F874 0036C7D4 4E 80 00 20 */ blr
.global PPCMthid2
PPCMthid2:
/* 8036F878 0036C7D8 7C 78 E3 A6 */ mtspr 0x398, r3
/* 8036F87C 0036C7DC 4E 80 00 20 */ blr
.global PPCMfwpar
PPCMfwpar:
/* 8036F880 0036C7E0 7C 00 04 AC */ sync
/* 8036F884 0036C7E4 7C 79 E2 A6 */ mfspr r3, 0x399
/* 8036F888 0036C7E8 4E 80 00 20 */ blr
.global PPCMtwpar
PPCMtwpar:
/* 8036F88C 0036C7EC 7C 79 E3 A6 */ mtspr 0x399, r3
/* 8036F890 0036C7F0 4E 80 00 20 */ blr
.global PPCDisableSpeculation
PPCDisableSpeculation:
/* 8036F894 0036C7F4 7C 08 02 A6 */ mflr r0
/* 8036F898 0036C7F8 90 01 00 04 */ stw r0, 4(r1)
/* 8036F89C 0036C7FC 94 21 FF F8 */ stwu r1, -8(r1)
/* 8036F8A0 0036C800 4B FF FF 45 */ bl PPCMfhid0
/* 8036F8A4 0036C804 60 63 02 00 */ ori r3, r3, 0x200
/* 8036F8A8 0036C808 4B FF FF 45 */ bl PPCMthid0
/* 8036F8AC 0036C80C 80 01 00 0C */ lwz r0, 0xc(r1)
/* 8036F8B0 0036C810 38 21 00 08 */ addi r1, r1, 8
/* 8036F8B4 0036C814 7C 08 03 A6 */ mtlr r0
/* 8036F8B8 0036C818 4E 80 00 20 */ blr
.global PPCSetFpIEEEMode
PPCSetFpIEEEMode:
/* 8036F8BC 0036C81C FF A0 00 8C */ mtfsb0 0x1d
/* 8036F8C0 0036C820 4E 80 00 20 */ blr
.global PPCSetFpNonIEEEMode
PPCSetFpNonIEEEMode:
/* 8036F8C4 0036C824 FF A0 00 4C */ mtfsb1 0x1d
/* 8036F8C8 0036C828 4E 80 00 20 */ blr

View File

@ -1,736 +0,0 @@
.include "macros.inc"
.section .data
.balign 8
.global AIVersion
AIVersion:
.asciz "<< Dolphin SDK - AI\trelease build: Sep 5 2002 05:34:25 (0x2301) >>"
.4byte 0
.section .sdata
.balign 8
.global __AIVersion
__AIVersion:
.4byte AIVersion
.4byte 0
.section .sbss
.balign 8
__AIS_Callback:
.skip 0x4
__AID_Callback:
.skip 0x4
__CallbackStack:
.skip 0x4
__OldStack:
.skip 0x4
__AI_init_flag:
.skip 0x4
__AID_Active:
.skip 0x4
bound_32KHz:
.skip 0x8
bound_48KHz:
.skip 0x8
min_wait:
.skip 0x8
max_wait:
.skip 0x8
buffer:
.skip 0x8
.section .text, "ax"
.global AIRegisterDMACallback
AIRegisterDMACallback:
/* 8036CF3C 00369E9C 7C 08 02 A6 */ mflr r0
/* 8036CF40 00369EA0 90 01 00 04 */ stw r0, 4(r1)
/* 8036CF44 00369EA4 94 21 FF E8 */ stwu r1, -0x18(r1)
/* 8036CF48 00369EA8 93 E1 00 14 */ stw r31, 0x14(r1)
/* 8036CF4C 00369EAC 93 C1 00 10 */ stw r30, 0x10(r1)
/* 8036CF50 00369EB0 7C 7E 1B 78 */ mr r30, r3
/* 8036CF54 00369EB4 83 ED AA FC */ lwz r31, __AID_Callback@sda21(r13)
/* 8036CF58 00369EB8 48 01 47 09 */ bl OSDisableInterrupts
/* 8036CF5C 00369EBC 93 CD AA FC */ stw r30, __AID_Callback@sda21(r13)
/* 8036CF60 00369EC0 48 01 47 29 */ bl OSRestoreInterrupts
/* 8036CF64 00369EC4 7F E3 FB 78 */ mr r3, r31
/* 8036CF68 00369EC8 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 8036CF6C 00369ECC 83 E1 00 14 */ lwz r31, 0x14(r1)
/* 8036CF70 00369ED0 83 C1 00 10 */ lwz r30, 0x10(r1)
/* 8036CF74 00369ED4 38 21 00 18 */ addi r1, r1, 0x18
/* 8036CF78 00369ED8 7C 08 03 A6 */ mtlr r0
/* 8036CF7C 00369EDC 4E 80 00 20 */ blr
.global AIInitDMA
AIInitDMA:
/* 8036CF80 00369EE0 7C 08 02 A6 */ mflr r0
/* 8036CF84 00369EE4 90 01 00 04 */ stw r0, 4(r1)
/* 8036CF88 00369EE8 94 21 FF E8 */ stwu r1, -0x18(r1)
/* 8036CF8C 00369EEC 93 E1 00 14 */ stw r31, 0x14(r1)
/* 8036CF90 00369EF0 3B E4 00 00 */ addi r31, r4, 0
/* 8036CF94 00369EF4 93 C1 00 10 */ stw r30, 0x10(r1)
/* 8036CF98 00369EF8 3B C3 00 00 */ addi r30, r3, 0
/* 8036CF9C 00369EFC 48 01 46 C5 */ bl OSDisableInterrupts
/* 8036CFA0 00369F00 3C 80 CC 00 */ lis r4, 0xCC005030@ha
/* 8036CFA4 00369F04 A0 04 50 30 */ lhz r0, 0xCC005030@l(r4)
/* 8036CFA8 00369F08 38 A4 50 00 */ addi r5, r4, 0x5000
/* 8036CFAC 00369F0C 38 C4 50 00 */ addi r6, r4, 0x5000
/* 8036CFB0 00369F10 38 E4 50 00 */ addi r7, r4, 0x5000
/* 8036CFB4 00369F14 54 04 00 2A */ rlwinm r4, r0, 0, 0, 0x15
/* 8036CFB8 00369F18 57 C0 84 3E */ srwi r0, r30, 0x10
/* 8036CFBC 00369F1C 7C 80 03 78 */ or r0, r4, r0
/* 8036CFC0 00369F20 B0 05 00 30 */ sth r0, 0x30(r5)
/* 8036CFC4 00369F24 57 C0 04 3E */ clrlwi r0, r30, 0x10
/* 8036CFC8 00369F28 A0 86 00 32 */ lhz r4, 0x32(r6)
/* 8036CFCC 00369F2C 54 84 06 DE */ rlwinm r4, r4, 0, 0x1b, 0xf
/* 8036CFD0 00369F30 7C 80 03 78 */ or r0, r4, r0
/* 8036CFD4 00369F34 B0 06 00 32 */ sth r0, 0x32(r6)
/* 8036CFD8 00369F38 57 E0 DC 3E */ rlwinm r0, r31, 0x1b, 0x10, 0x1f
/* 8036CFDC 00369F3C A0 87 00 36 */ lhz r4, 0x36(r7)
/* 8036CFE0 00369F40 54 84 00 20 */ rlwinm r4, r4, 0, 0, 0x10
/* 8036CFE4 00369F44 7C 80 03 78 */ or r0, r4, r0
/* 8036CFE8 00369F48 B0 07 00 36 */ sth r0, 0x36(r7)
/* 8036CFEC 00369F4C 48 01 46 9D */ bl OSRestoreInterrupts
/* 8036CFF0 00369F50 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 8036CFF4 00369F54 83 E1 00 14 */ lwz r31, 0x14(r1)
/* 8036CFF8 00369F58 83 C1 00 10 */ lwz r30, 0x10(r1)
/* 8036CFFC 00369F5C 38 21 00 18 */ addi r1, r1, 0x18
/* 8036D000 00369F60 7C 08 03 A6 */ mtlr r0
/* 8036D004 00369F64 4E 80 00 20 */ blr
.global AIStartDMA
AIStartDMA:
/* 8036D008 00369F68 3C 60 CC 00 */ lis r3, 0xCC005000@ha
/* 8036D00C 00369F6C 38 63 50 00 */ addi r3, r3, 0xCC005000@l
/* 8036D010 00369F70 A0 03 00 36 */ lhz r0, 0x36(r3)
/* 8036D014 00369F74 60 00 80 00 */ ori r0, r0, 0x8000
/* 8036D018 00369F78 B0 03 00 36 */ sth r0, 0x36(r3)
/* 8036D01C 00369F7C 4E 80 00 20 */ blr
.global AIStopDMA
AIStopDMA:
/* 8036D020 00369F80 3C 60 CC 00 */ lis r3, 0xCC005000@ha
/* 8036D024 00369F84 38 63 50 00 */ addi r3, r3, 0xCC005000@l
/* 8036D028 00369F88 A0 03 00 36 */ lhz r0, 0x36(r3)
/* 8036D02C 00369F8C 54 00 04 5E */ rlwinm r0, r0, 0, 0x11, 0xf
/* 8036D030 00369F90 B0 03 00 36 */ sth r0, 0x36(r3)
/* 8036D034 00369F94 4E 80 00 20 */ blr
.global AIGetDMAStartAddr
AIGetDMAStartAddr:
/* 8036D038 00369F98 3C 60 CC 00 */ lis r3, 0xCC005000@ha
/* 8036D03C 00369F9C 38 63 50 00 */ addi r3, r3, 0xCC005000@l
/* 8036D040 00369FA0 A0 83 00 30 */ lhz r4, 0x30(r3)
/* 8036D044 00369FA4 A0 03 00 32 */ lhz r0, 0x32(r3)
/* 8036D048 00369FA8 54 03 04 34 */ rlwinm r3, r0, 0, 0x10, 0x1a
/* 8036D04C 00369FAC 50 83 81 9E */ rlwimi r3, r4, 0x10, 6, 0xf
/* 8036D050 00369FB0 4E 80 00 20 */ blr
.global AIRegisterStreamCallback
AIRegisterStreamCallback:
/* 8036D054 00369FB4 7C 08 02 A6 */ mflr r0
/* 8036D058 00369FB8 90 01 00 04 */ stw r0, 4(r1)
/* 8036D05C 00369FBC 94 21 FF E8 */ stwu r1, -0x18(r1)
/* 8036D060 00369FC0 93 E1 00 14 */ stw r31, 0x14(r1)
/* 8036D064 00369FC4 93 C1 00 10 */ stw r30, 0x10(r1)
/* 8036D068 00369FC8 7C 7E 1B 78 */ mr r30, r3
/* 8036D06C 00369FCC 83 ED AA F8 */ lwz r31, __AIS_Callback@sda21(r13)
/* 8036D070 00369FD0 48 01 45 F1 */ bl OSDisableInterrupts
/* 8036D074 00369FD4 93 CD AA F8 */ stw r30, __AIS_Callback@sda21(r13)
/* 8036D078 00369FD8 48 01 46 11 */ bl OSRestoreInterrupts
/* 8036D07C 00369FDC 7F E3 FB 78 */ mr r3, r31
/* 8036D080 00369FE0 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 8036D084 00369FE4 83 E1 00 14 */ lwz r31, 0x14(r1)
/* 8036D088 00369FE8 83 C1 00 10 */ lwz r30, 0x10(r1)
/* 8036D08C 00369FEC 38 21 00 18 */ addi r1, r1, 0x18
/* 8036D090 00369FF0 7C 08 03 A6 */ mtlr r0
/* 8036D094 00369FF4 4E 80 00 20 */ blr
.global AIResetStreamSampleCount
AIResetStreamSampleCount:
/* 8036D098 00369FF8 3C 60 CC 00 */ lis r3, 0xCC006C00@ha
/* 8036D09C 00369FFC 80 03 6C 00 */ lwz r0, 0xCC006C00@l(r3)
/* 8036D0A0 0036A000 54 00 06 F2 */ rlwinm r0, r0, 0, 0x1b, 0x19
/* 8036D0A4 0036A004 60 00 00 20 */ ori r0, r0, 0x20
/* 8036D0A8 0036A008 90 03 6C 00 */ stw r0, 0x6c00(r3)
/* 8036D0AC 0036A00C 4E 80 00 20 */ blr
.global AISetStreamTrigger
AISetStreamTrigger:
/* 8036D0B0 0036A010 3C 80 CC 00 */ lis r4, 0xCC006C0C@ha
/* 8036D0B4 0036A014 90 64 6C 0C */ stw r3, 0xCC006C0C@l(r4)
/* 8036D0B8 0036A018 4E 80 00 20 */ blr
.global AISetStreamPlayState
AISetStreamPlayState:
/* 8036D0BC 0036A01C 7C 08 02 A6 */ mflr r0
/* 8036D0C0 0036A020 90 01 00 04 */ stw r0, 4(r1)
/* 8036D0C4 0036A024 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8036D0C8 0036A028 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8036D0CC 0036A02C 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8036D0D0 0036A030 93 A1 00 14 */ stw r29, 0x14(r1)
/* 8036D0D4 0036A034 7C 7D 1B 78 */ mr r29, r3
/* 8036D0D8 0036A038 48 00 00 BD */ bl AIGetStreamPlayState
/* 8036D0DC 0036A03C 7C 1D 18 40 */ cmplw r29, r3
/* 8036D0E0 0036A040 41 82 00 98 */ beq lbl_8036D178
/* 8036D0E4 0036A044 48 00 02 89 */ bl AIGetStreamSampleRate
/* 8036D0E8 0036A048 28 03 00 00 */ cmplwi r3, 0
/* 8036D0EC 0036A04C 40 82 00 78 */ bne lbl_8036D164
/* 8036D0F0 0036A050 28 1D 00 01 */ cmplwi r29, 1
/* 8036D0F4 0036A054 40 82 00 70 */ bne lbl_8036D164
/* 8036D0F8 0036A058 48 00 02 CD */ bl AIGetStreamVolRight
/* 8036D0FC 0036A05C 7C 7E 1B 78 */ mr r30, r3
/* 8036D100 0036A060 48 00 02 99 */ bl AIGetStreamVolLeft
/* 8036D104 0036A064 3B A3 00 00 */ addi r29, r3, 0
/* 8036D108 0036A068 38 60 00 00 */ li r3, 0
/* 8036D10C 0036A06C 48 00 02 9D */ bl AISetStreamVolRight
/* 8036D110 0036A070 38 60 00 00 */ li r3, 0
/* 8036D114 0036A074 48 00 02 69 */ bl AISetStreamVolLeft
/* 8036D118 0036A078 48 01 45 49 */ bl OSDisableInterrupts
/* 8036D11C 0036A07C 7C 7F 1B 78 */ mr r31, r3
/* 8036D120 0036A080 48 00 05 A1 */ bl __AI_SRC_INIT
/* 8036D124 0036A084 3C 80 CC 00 */ lis r4, 0xCC006C00@ha
/* 8036D128 0036A088 80 04 6C 00 */ lwz r0, 0xCC006C00@l(r4)
/* 8036D12C 0036A08C 38 7F 00 00 */ addi r3, r31, 0
/* 8036D130 0036A090 54 00 06 F2 */ rlwinm r0, r0, 0, 0x1b, 0x19
/* 8036D134 0036A094 60 00 00 20 */ ori r0, r0, 0x20
/* 8036D138 0036A098 90 04 6C 00 */ stw r0, 0x6c00(r4)
/* 8036D13C 0036A09C 80 04 6C 00 */ lwz r0, 0x6c00(r4)
/* 8036D140 0036A0A0 54 00 00 3C */ rlwinm r0, r0, 0, 0, 0x1e
/* 8036D144 0036A0A4 60 00 00 01 */ ori r0, r0, 1
/* 8036D148 0036A0A8 90 04 6C 00 */ stw r0, 0x6c00(r4)
/* 8036D14C 0036A0AC 48 01 45 3D */ bl OSRestoreInterrupts
/* 8036D150 0036A0B0 7F C3 F3 78 */ mr r3, r30
/* 8036D154 0036A0B4 48 00 02 29 */ bl AISetStreamVolLeft
/* 8036D158 0036A0B8 7F A3 EB 78 */ mr r3, r29
/* 8036D15C 0036A0BC 48 00 02 4D */ bl AISetStreamVolRight
/* 8036D160 0036A0C0 48 00 00 18 */ b lbl_8036D178
lbl_8036D164:
/* 8036D164 0036A0C4 3C 60 CC 00 */ lis r3, 0xCC006C00@ha
/* 8036D168 0036A0C8 80 03 6C 00 */ lwz r0, 0xCC006C00@l(r3)
/* 8036D16C 0036A0CC 54 00 00 3C */ rlwinm r0, r0, 0, 0, 0x1e
/* 8036D170 0036A0D0 7C 00 EB 78 */ or r0, r0, r29
/* 8036D174 0036A0D4 90 03 6C 00 */ stw r0, 0x6c00(r3)
lbl_8036D178:
/* 8036D178 0036A0D8 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8036D17C 0036A0DC 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8036D180 0036A0E0 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8036D184 0036A0E4 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 8036D188 0036A0E8 38 21 00 20 */ addi r1, r1, 0x20
/* 8036D18C 0036A0EC 7C 08 03 A6 */ mtlr r0
/* 8036D190 0036A0F0 4E 80 00 20 */ blr
.global AIGetStreamPlayState
AIGetStreamPlayState:
/* 8036D194 0036A0F4 3C 60 CC 00 */ lis r3, 0xCC006C00@ha
/* 8036D198 0036A0F8 80 03 6C 00 */ lwz r0, 0xCC006C00@l(r3)
/* 8036D19C 0036A0FC 54 03 07 FE */ clrlwi r3, r0, 0x1f
/* 8036D1A0 0036A100 4E 80 00 20 */ blr
.global AISetDSPSampleRate
AISetDSPSampleRate:
/* 8036D1A4 0036A104 7C 08 02 A6 */ mflr r0
/* 8036D1A8 0036A108 90 01 00 04 */ stw r0, 4(r1)
/* 8036D1AC 0036A10C 94 21 FF D8 */ stwu r1, -0x28(r1)
/* 8036D1B0 0036A110 BF 41 00 10 */ stmw r26, 0x10(r1)
/* 8036D1B4 0036A114 7C 7A 1B 78 */ mr r26, r3
/* 8036D1B8 0036A118 48 00 00 CD */ bl AIGetDSPSampleRate
/* 8036D1BC 0036A11C 7C 1A 18 40 */ cmplw r26, r3
/* 8036D1C0 0036A120 41 82 00 B0 */ beq lbl_8036D270
/* 8036D1C4 0036A124 3F E0 CC 00 */ lis r31, 0xCC006C00@ha
/* 8036D1C8 0036A128 80 1F 6C 00 */ lwz r0, 0xCC006C00@l(r31)
/* 8036D1CC 0036A12C 28 1A 00 00 */ cmplwi r26, 0
/* 8036D1D0 0036A130 54 00 06 B0 */ rlwinm r0, r0, 0, 0x1a, 0x18
/* 8036D1D4 0036A134 90 1F 6C 00 */ stw r0, 0x6c00(r31)
/* 8036D1D8 0036A138 40 82 00 98 */ bne lbl_8036D270
/* 8036D1DC 0036A13C 48 00 01 BD */ bl AIGetStreamVolLeft
/* 8036D1E0 0036A140 7C 7E 1B 78 */ mr r30, r3
/* 8036D1E4 0036A144 48 00 01 E1 */ bl AIGetStreamVolRight
/* 8036D1E8 0036A148 80 1F 6C 00 */ lwz r0, 0x6c00(r31)
/* 8036D1EC 0036A14C 3B A3 00 00 */ addi r29, r3, 0
/* 8036D1F0 0036A150 54 1B 07 FE */ clrlwi r27, r0, 0x1f
/* 8036D1F4 0036A154 48 00 01 79 */ bl AIGetStreamSampleRate
/* 8036D1F8 0036A158 3B 83 00 00 */ addi r28, r3, 0
/* 8036D1FC 0036A15C 38 60 00 00 */ li r3, 0
/* 8036D200 0036A160 48 00 01 7D */ bl AISetStreamVolLeft
/* 8036D204 0036A164 38 60 00 00 */ li r3, 0
/* 8036D208 0036A168 48 00 01 A1 */ bl AISetStreamVolRight
/* 8036D20C 0036A16C 48 01 44 55 */ bl OSDisableInterrupts
/* 8036D210 0036A170 7C 7A 1B 78 */ mr r26, r3
/* 8036D214 0036A174 48 00 04 AD */ bl __AI_SRC_INIT
/* 8036D218 0036A178 80 9F 6C 00 */ lwz r4, 0x6c00(r31)
/* 8036D21C 0036A17C 57 80 08 3C */ slwi r0, r28, 1
/* 8036D220 0036A180 38 7A 00 00 */ addi r3, r26, 0
/* 8036D224 0036A184 54 84 06 F2 */ rlwinm r4, r4, 0, 0x1b, 0x19
/* 8036D228 0036A188 60 84 00 20 */ ori r4, r4, 0x20
/* 8036D22C 0036A18C 90 9F 6C 00 */ stw r4, 0x6c00(r31)
/* 8036D230 0036A190 80 9F 6C 00 */ lwz r4, 0x6c00(r31)
/* 8036D234 0036A194 54 84 07 FA */ rlwinm r4, r4, 0, 0x1f, 0x1d
/* 8036D238 0036A198 7C 80 03 78 */ or r0, r4, r0
/* 8036D23C 0036A19C 90 1F 6C 00 */ stw r0, 0x6c00(r31)
/* 8036D240 0036A1A0 80 1F 6C 00 */ lwz r0, 0x6c00(r31)
/* 8036D244 0036A1A4 54 00 00 3C */ rlwinm r0, r0, 0, 0, 0x1e
/* 8036D248 0036A1A8 7C 00 DB 78 */ or r0, r0, r27
/* 8036D24C 0036A1AC 90 1F 6C 00 */ stw r0, 0x6c00(r31)
/* 8036D250 0036A1B0 80 1F 6C 00 */ lwz r0, 0x6c00(r31)
/* 8036D254 0036A1B4 60 00 00 40 */ ori r0, r0, 0x40
/* 8036D258 0036A1B8 90 1F 6C 00 */ stw r0, 0x6c00(r31)
/* 8036D25C 0036A1BC 48 01 44 2D */ bl OSRestoreInterrupts
/* 8036D260 0036A1C0 7F C3 F3 78 */ mr r3, r30
/* 8036D264 0036A1C4 48 00 01 19 */ bl AISetStreamVolLeft
/* 8036D268 0036A1C8 7F A3 EB 78 */ mr r3, r29
/* 8036D26C 0036A1CC 48 00 01 3D */ bl AISetStreamVolRight
lbl_8036D270:
/* 8036D270 0036A1D0 BB 41 00 10 */ lmw r26, 0x10(r1)
/* 8036D274 0036A1D4 80 01 00 2C */ lwz r0, 0x2c(r1)
/* 8036D278 0036A1D8 38 21 00 28 */ addi r1, r1, 0x28
/* 8036D27C 0036A1DC 7C 08 03 A6 */ mtlr r0
/* 8036D280 0036A1E0 4E 80 00 20 */ blr
.global AIGetDSPSampleRate
AIGetDSPSampleRate:
/* 8036D284 0036A1E4 3C 60 CC 00 */ lis r3, 0xCC006C00@ha
/* 8036D288 0036A1E8 80 03 6C 00 */ lwz r0, 0xCC006C00@l(r3)
/* 8036D28C 0036A1EC 54 00 D7 FE */ rlwinm r0, r0, 0x1a, 0x1f, 0x1f
/* 8036D290 0036A1F0 68 03 00 01 */ xori r3, r0, 1
/* 8036D294 0036A1F4 4E 80 00 20 */ blr
.global __AI_set_stream_sample_rate
__AI_set_stream_sample_rate:
/* 8036D298 0036A1F8 7C 08 02 A6 */ mflr r0
/* 8036D29C 0036A1FC 90 01 00 04 */ stw r0, 4(r1)
/* 8036D2A0 0036A200 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8036D2A4 0036A204 BF 21 00 14 */ stmw r25, 0x14(r1)
/* 8036D2A8 0036A208 7C 79 1B 78 */ mr r25, r3
/* 8036D2AC 0036A20C 48 00 00 C1 */ bl AIGetStreamSampleRate
/* 8036D2B0 0036A210 7C 19 18 40 */ cmplw r25, r3
/* 8036D2B4 0036A214 41 82 00 A4 */ beq lbl_8036D358
/* 8036D2B8 0036A218 3F E0 CC 00 */ lis r31, 0xCC006C00@ha
/* 8036D2BC 0036A21C 80 1F 6C 00 */ lwz r0, 0xCC006C00@l(r31)
/* 8036D2C0 0036A220 54 00 07 FE */ clrlwi r0, r0, 0x1f
/* 8036D2C4 0036A224 7C 1D 03 78 */ mr r29, r0
/* 8036D2C8 0036A228 48 00 00 D1 */ bl AIGetStreamVolLeft
/* 8036D2CC 0036A22C 7C 7C 1B 78 */ mr r28, r3
/* 8036D2D0 0036A230 48 00 00 F5 */ bl AIGetStreamVolRight
/* 8036D2D4 0036A234 3B 63 00 00 */ addi r27, r3, 0
/* 8036D2D8 0036A238 38 60 00 00 */ li r3, 0
/* 8036D2DC 0036A23C 48 00 00 CD */ bl AISetStreamVolRight
/* 8036D2E0 0036A240 38 60 00 00 */ li r3, 0
/* 8036D2E4 0036A244 48 00 00 99 */ bl AISetStreamVolLeft
/* 8036D2E8 0036A248 80 7F 6C 00 */ lwz r3, 0x6c00(r31)
/* 8036D2EC 0036A24C 80 1F 6C 00 */ lwz r0, 0x6c00(r31)
/* 8036D2F0 0036A250 54 7A 06 72 */ rlwinm r26, r3, 0, 0x19, 0x19
/* 8036D2F4 0036A254 54 00 06 B0 */ rlwinm r0, r0, 0, 0x1a, 0x18
/* 8036D2F8 0036A258 90 1F 6C 00 */ stw r0, 0x6c00(r31)
/* 8036D2FC 0036A25C 48 01 43 65 */ bl OSDisableInterrupts
/* 8036D300 0036A260 7C 7E 1B 78 */ mr r30, r3
/* 8036D304 0036A264 48 00 03 BD */ bl __AI_SRC_INIT
/* 8036D308 0036A268 80 9F 6C 00 */ lwz r4, 0x6c00(r31)
/* 8036D30C 0036A26C 57 20 08 3C */ slwi r0, r25, 1
/* 8036D310 0036A270 38 7E 00 00 */ addi r3, r30, 0
/* 8036D314 0036A274 7C 84 D3 78 */ or r4, r4, r26
/* 8036D318 0036A278 90 9F 6C 00 */ stw r4, 0x6c00(r31)
/* 8036D31C 0036A27C 80 9F 6C 00 */ lwz r4, 0x6c00(r31)
/* 8036D320 0036A280 54 84 06 F2 */ rlwinm r4, r4, 0, 0x1b, 0x19
/* 8036D324 0036A284 60 84 00 20 */ ori r4, r4, 0x20
/* 8036D328 0036A288 90 9F 6C 00 */ stw r4, 0x6c00(r31)
/* 8036D32C 0036A28C 80 9F 6C 00 */ lwz r4, 0x6c00(r31)
/* 8036D330 0036A290 54 84 07 FA */ rlwinm r4, r4, 0, 0x1f, 0x1d
/* 8036D334 0036A294 7C 80 03 78 */ or r0, r4, r0
/* 8036D338 0036A298 90 1F 6C 00 */ stw r0, 0x6c00(r31)
/* 8036D33C 0036A29C 48 01 43 4D */ bl OSRestoreInterrupts
/* 8036D340 0036A2A0 7F A3 EB 78 */ mr r3, r29
/* 8036D344 0036A2A4 4B FF FD 79 */ bl AISetStreamPlayState
/* 8036D348 0036A2A8 7F 83 E3 78 */ mr r3, r28
/* 8036D34C 0036A2AC 48 00 00 31 */ bl AISetStreamVolLeft
/* 8036D350 0036A2B0 7F 63 DB 78 */ mr r3, r27
/* 8036D354 0036A2B4 48 00 00 55 */ bl AISetStreamVolRight
lbl_8036D358:
/* 8036D358 0036A2B8 BB 21 00 14 */ lmw r25, 0x14(r1)
/* 8036D35C 0036A2BC 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8036D360 0036A2C0 38 21 00 30 */ addi r1, r1, 0x30
/* 8036D364 0036A2C4 7C 08 03 A6 */ mtlr r0
/* 8036D368 0036A2C8 4E 80 00 20 */ blr
.global AIGetStreamSampleRate
AIGetStreamSampleRate:
/* 8036D36C 0036A2CC 3C 60 CC 00 */ lis r3, 0xCC006C00@ha
/* 8036D370 0036A2D0 80 03 6C 00 */ lwz r0, 0xCC006C00@l(r3)
/* 8036D374 0036A2D4 54 03 FF FE */ rlwinm r3, r0, 0x1f, 0x1f, 0x1f
/* 8036D378 0036A2D8 4E 80 00 20 */ blr
.global AISetStreamVolLeft
AISetStreamVolLeft:
/* 8036D37C 0036A2DC 3C 80 CC 00 */ lis r4, 0xCC006C00@ha
/* 8036D380 0036A2E0 38 84 6C 00 */ addi r4, r4, 0xCC006C00@l
/* 8036D384 0036A2E4 80 04 00 04 */ lwz r0, 4(r4)
/* 8036D388 0036A2E8 54 00 00 2E */ rlwinm r0, r0, 0, 0, 0x17
/* 8036D38C 0036A2EC 50 60 06 3E */ rlwimi r0, r3, 0, 0x18, 0x1f
/* 8036D390 0036A2F0 90 04 00 04 */ stw r0, 4(r4)
/* 8036D394 0036A2F4 4E 80 00 20 */ blr
.global AIGetStreamVolLeft
AIGetStreamVolLeft:
/* 8036D398 0036A2F8 3C 60 CC 00 */ lis r3, 0xCC006C04@ha
/* 8036D39C 0036A2FC 80 03 6C 04 */ lwz r0, 0xCC006C04@l(r3)
/* 8036D3A0 0036A300 54 03 06 3E */ clrlwi r3, r0, 0x18
/* 8036D3A4 0036A304 4E 80 00 20 */ blr
.global AISetStreamVolRight
AISetStreamVolRight:
/* 8036D3A8 0036A308 3C 80 CC 00 */ lis r4, 0xCC006C00@ha
/* 8036D3AC 0036A30C 38 84 6C 00 */ addi r4, r4, 0xCC006C00@l
/* 8036D3B0 0036A310 80 04 00 04 */ lwz r0, 4(r4)
/* 8036D3B4 0036A314 54 00 06 1E */ rlwinm r0, r0, 0, 0x18, 0xf
/* 8036D3B8 0036A318 50 60 44 2E */ rlwimi r0, r3, 8, 0x10, 0x17
/* 8036D3BC 0036A31C 90 04 00 04 */ stw r0, 4(r4)
/* 8036D3C0 0036A320 4E 80 00 20 */ blr
.global AIGetStreamVolRight
AIGetStreamVolRight:
/* 8036D3C4 0036A324 3C 60 CC 00 */ lis r3, 0xCC006C04@ha
/* 8036D3C8 0036A328 80 03 6C 04 */ lwz r0, 0xCC006C04@l(r3)
/* 8036D3CC 0036A32C 54 03 C6 3E */ rlwinm r3, r0, 0x18, 0x18, 0x1f
/* 8036D3D0 0036A330 4E 80 00 20 */ blr
.global AIInit
AIInit:
/* 8036D3D4 0036A334 7C 08 02 A6 */ mflr r0
/* 8036D3D8 0036A338 90 01 00 04 */ stw r0, 4(r1)
/* 8036D3DC 0036A33C 94 21 FF E8 */ stwu r1, -0x18(r1)
/* 8036D3E0 0036A340 93 E1 00 14 */ stw r31, 0x14(r1)
/* 8036D3E4 0036A344 93 C1 00 10 */ stw r30, 0x10(r1)
/* 8036D3E8 0036A348 3B C3 00 00 */ addi r30, r3, 0
/* 8036D3EC 0036A34C 80 0D AB 08 */ lwz r0, __AI_init_flag@sda21(r13)
/* 8036D3F0 0036A350 2C 00 00 01 */ cmpwi r0, 1
/* 8036D3F4 0036A354 41 82 01 34 */ beq lbl_8036D528
/* 8036D3F8 0036A358 80 6D 9E A8 */ lwz r3, __AIVersion@sda21(r13)
/* 8036D3FC 0036A35C 48 01 0C 3D */ bl OSRegisterVersion
/* 8036D400 0036A360 3C 60 80 00 */ lis r3, 0x800000F8@ha
/* 8036D404 0036A364 80 03 00 F8 */ lwz r0, 0x800000F8@l(r3)
/* 8036D408 0036A368 3C 60 43 1C */ lis r3, 0x431BDE83@ha
/* 8036D40C 0036A36C 3C 80 00 01 */ lis r4, 0x0000A428@ha
/* 8036D410 0036A370 54 00 F0 BE */ srwi r0, r0, 2
/* 8036D414 0036A374 38 63 DE 83 */ addi r3, r3, 0x431BDE83@l
/* 8036D418 0036A378 7C 03 00 16 */ mulhwu r0, r3, r0
/* 8036D41C 0036A37C 54 09 8B FE */ srwi r9, r0, 0xf
/* 8036D420 0036A380 38 A4 A4 28 */ addi r5, r4, 0x0000A428@l
/* 8036D424 0036A384 38 64 A4 10 */ addi r3, r4, -23536
/* 8036D428 0036A388 38 04 F6 18 */ addi r0, r4, -2536
/* 8036D42C 0036A38C 3C 80 10 62 */ lis r4, 0x10624DD3@ha
/* 8036D430 0036A390 7C E9 29 D6 */ mullw r7, r9, r5
/* 8036D434 0036A394 39 44 4D D3 */ addi r10, r4, 0x10624DD3@l
/* 8036D438 0036A398 7C A9 19 D6 */ mullw r5, r9, r3
/* 8036D43C 0036A39C 7C 89 01 D6 */ mullw r4, r9, r0
/* 8036D440 0036A3A0 1D 09 7B 24 */ mulli r8, r9, 0x7b24
/* 8036D444 0036A3A4 1C 69 0B B8 */ mulli r3, r9, 0xbb8
/* 8036D448 0036A3A8 7D 0A 40 16 */ mulhwu r8, r10, r8
/* 8036D44C 0036A3AC 7C EA 38 16 */ mulhwu r7, r10, r7
/* 8036D450 0036A3B0 7C AA 28 16 */ mulhwu r5, r10, r5
/* 8036D454 0036A3B4 7C 8A 20 16 */ mulhwu r4, r10, r4
/* 8036D458 0036A3B8 7C 6A 18 16 */ mulhwu r3, r10, r3
/* 8036D45C 0036A3BC 55 08 BA 7E */ srwi r8, r8, 9
/* 8036D460 0036A3C0 54 E7 BA 7E */ srwi r7, r7, 9
/* 8036D464 0036A3C4 91 0D AB 14 */ stw r8, bound_32KHz+4@sda21(r13)
/* 8036D468 0036A3C8 54 A5 BA 7E */ srwi r5, r5, 9
/* 8036D46C 0036A3CC 54 84 BA 7E */ srwi r4, r4, 9
/* 8036D470 0036A3D0 90 ED AB 1C */ stw r7, bound_48KHz+4@sda21(r13)
/* 8036D474 0036A3D4 3B E0 00 00 */ li r31, 0
/* 8036D478 0036A3D8 54 63 BA 7E */ srwi r3, r3, 9
/* 8036D47C 0036A3DC 90 AD AB 24 */ stw r5, min_wait+4@sda21(r13)
/* 8036D480 0036A3E0 3C C0 CC 00 */ lis r6, 0xCC006C00@ha
/* 8036D484 0036A3E4 90 6D AB 34 */ stw r3, buffer+4@sda21(r13)
/* 8036D488 0036A3E8 38 60 00 01 */ li r3, 1
/* 8036D48C 0036A3EC 80 06 6C 00 */ lwz r0, 0xCC006C00@l(r6)
/* 8036D490 0036A3F0 90 8D AB 2C */ stw r4, max_wait+4@sda21(r13)
/* 8036D494 0036A3F4 54 00 06 F2 */ rlwinm r0, r0, 0, 0x1b, 0x19
/* 8036D498 0036A3F8 60 00 00 20 */ ori r0, r0, 0x20
/* 8036D49C 0036A3FC 93 ED AB 10 */ stw r31, bound_32KHz@sda21(r13)
/* 8036D4A0 0036A400 93 ED AB 18 */ stw r31, bound_48KHz@sda21(r13)
/* 8036D4A4 0036A404 93 ED AB 20 */ stw r31, min_wait@sda21(r13)
/* 8036D4A8 0036A408 93 ED AB 28 */ stw r31, max_wait@sda21(r13)
/* 8036D4AC 0036A40C 93 ED AB 30 */ stw r31, buffer@sda21(r13)
/* 8036D4B0 0036A410 80 A6 6C 04 */ lwz r5, 0x6c04(r6)
/* 8036D4B4 0036A414 90 06 6C 00 */ stw r0, 0x6c00(r6)
/* 8036D4B8 0036A418 54 A0 06 1E */ rlwinm r0, r5, 0, 0x18, 0xf
/* 8036D4BC 0036A41C 60 00 00 00 */ nop
/* 8036D4C0 0036A420 90 06 6C 04 */ stw r0, 0x6c04(r6)
/* 8036D4C4 0036A424 80 06 6C 04 */ lwz r0, 0x6c04(r6)
/* 8036D4C8 0036A428 54 00 00 2E */ rlwinm r0, r0, 0, 0, 0x17
/* 8036D4CC 0036A42C 60 00 00 00 */ nop
/* 8036D4D0 0036A430 90 06 6C 04 */ stw r0, 0x6c04(r6)
/* 8036D4D4 0036A434 93 E6 6C 0C */ stw r31, 0x6c0c(r6)
/* 8036D4D8 0036A438 4B FF FD C1 */ bl __AI_set_stream_sample_rate
/* 8036D4DC 0036A43C 38 60 00 00 */ li r3, 0
/* 8036D4E0 0036A440 4B FF FC C5 */ bl AISetDSPSampleRate
/* 8036D4E4 0036A444 3C 60 80 37 */ lis r3, __AIDHandler@ha
/* 8036D4E8 0036A448 93 ED AA F8 */ stw r31, __AIS_Callback@sda21(r13)
/* 8036D4EC 0036A44C 38 83 D5 BC */ addi r4, r3, __AIDHandler@l
/* 8036D4F0 0036A450 93 ED AA FC */ stw r31, __AID_Callback@sda21(r13)
/* 8036D4F4 0036A454 38 60 00 05 */ li r3, 5
/* 8036D4F8 0036A458 93 CD AB 00 */ stw r30, __CallbackStack@sda21(r13)
/* 8036D4FC 0036A45C 48 01 41 B1 */ bl __OSSetInterruptHandler
/* 8036D500 0036A460 3C 60 04 00 */ lis r3, 0x400
/* 8036D504 0036A464 48 01 45 AD */ bl __OSUnmaskInterrupts
/* 8036D508 0036A468 3C 60 80 37 */ lis r3, __AISHandler@ha
/* 8036D50C 0036A46C 38 83 D5 40 */ addi r4, r3, __AISHandler@l
/* 8036D510 0036A470 38 60 00 08 */ li r3, 8
/* 8036D514 0036A474 48 01 41 99 */ bl __OSSetInterruptHandler
/* 8036D518 0036A478 3C 60 00 80 */ lis r3, 0x80
/* 8036D51C 0036A47C 48 01 45 95 */ bl __OSUnmaskInterrupts
/* 8036D520 0036A480 38 00 00 01 */ li r0, 1
/* 8036D524 0036A484 90 0D AB 08 */ stw r0, __AI_init_flag@sda21(r13)
lbl_8036D528:
/* 8036D528 0036A488 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 8036D52C 0036A48C 83 E1 00 14 */ lwz r31, 0x14(r1)
/* 8036D530 0036A490 83 C1 00 10 */ lwz r30, 0x10(r1)
/* 8036D534 0036A494 38 21 00 18 */ addi r1, r1, 0x18
/* 8036D538 0036A498 7C 08 03 A6 */ mtlr r0
/* 8036D53C 0036A49C 4E 80 00 20 */ blr
.global __AISHandler
__AISHandler:
/* 8036D540 0036A4A0 7C 08 02 A6 */ mflr r0
/* 8036D544 0036A4A4 90 01 00 04 */ stw r0, 4(r1)
/* 8036D548 0036A4A8 94 21 FD 20 */ stwu r1, -0x2e0(r1)
/* 8036D54C 0036A4AC 93 E1 02 DC */ stw r31, 0x2dc(r1)
/* 8036D550 0036A4B0 3F E0 CC 00 */ lis r31, 0xCC006C00@ha
/* 8036D554 0036A4B4 80 1F 6C 00 */ lwz r0, 0xCC006C00@l(r31)
/* 8036D558 0036A4B8 38 61 00 10 */ addi r3, r1, 0x10
/* 8036D55C 0036A4BC 93 C1 02 D8 */ stw r30, 0x2d8(r1)
/* 8036D560 0036A4C0 60 00 00 08 */ ori r0, r0, 8
/* 8036D564 0036A4C4 90 1F 6C 00 */ stw r0, 0x6c00(r31)
/* 8036D568 0036A4C8 3B C4 00 00 */ addi r30, r4, 0
/* 8036D56C 0036A4CC 48 01 20 A9 */ bl OSClearContext
/* 8036D570 0036A4D0 38 61 00 10 */ addi r3, r1, 0x10
/* 8036D574 0036A4D4 48 01 1E A9 */ bl OSSetCurrentContext
/* 8036D578 0036A4D8 81 8D AA F8 */ lwz r12, __AIS_Callback@sda21(r13)
/* 8036D57C 0036A4DC 28 0C 00 00 */ cmplwi r12, 0
/* 8036D580 0036A4E0 41 82 00 14 */ beq lbl_8036D594
/* 8036D584 0036A4E4 38 7F 6C 00 */ addi r3, r31, 0x6c00
/* 8036D588 0036A4E8 7D 88 03 A6 */ mtlr r12
/* 8036D58C 0036A4EC 80 63 00 08 */ lwz r3, 8(r3)
/* 8036D590 0036A4F0 4E 80 00 21 */ blrl
lbl_8036D594:
/* 8036D594 0036A4F4 38 61 00 10 */ addi r3, r1, 0x10
/* 8036D598 0036A4F8 48 01 20 7D */ bl OSClearContext
/* 8036D59C 0036A4FC 7F C3 F3 78 */ mr r3, r30
/* 8036D5A0 0036A500 48 01 1E 7D */ bl OSSetCurrentContext
/* 8036D5A4 0036A504 80 01 02 E4 */ lwz r0, 0x2e4(r1)
/* 8036D5A8 0036A508 83 E1 02 DC */ lwz r31, 0x2dc(r1)
/* 8036D5AC 0036A50C 83 C1 02 D8 */ lwz r30, 0x2d8(r1)
/* 8036D5B0 0036A510 38 21 02 E0 */ addi r1, r1, 0x2e0
/* 8036D5B4 0036A514 7C 08 03 A6 */ mtlr r0
/* 8036D5B8 0036A518 4E 80 00 20 */ blr
.global __AIDHandler
__AIDHandler:
/* 8036D5BC 0036A51C 7C 08 02 A6 */ mflr r0
/* 8036D5C0 0036A520 3C 60 CC 00 */ lis r3, 0xCC005000@ha
/* 8036D5C4 0036A524 90 01 00 04 */ stw r0, 4(r1)
/* 8036D5C8 0036A528 38 63 50 00 */ addi r3, r3, 0xCC005000@l
/* 8036D5CC 0036A52C 38 00 FF 5F */ li r0, -161
/* 8036D5D0 0036A530 94 21 FD 20 */ stwu r1, -0x2e0(r1)
/* 8036D5D4 0036A534 93 E1 02 DC */ stw r31, 0x2dc(r1)
/* 8036D5D8 0036A538 3B E4 00 00 */ addi r31, r4, 0
/* 8036D5DC 0036A53C A0 A3 00 0A */ lhz r5, 0xa(r3)
/* 8036D5E0 0036A540 7C A0 00 38 */ and r0, r5, r0
/* 8036D5E4 0036A544 60 00 00 08 */ ori r0, r0, 8
/* 8036D5E8 0036A548 B0 03 00 0A */ sth r0, 0xa(r3)
/* 8036D5EC 0036A54C 38 61 00 10 */ addi r3, r1, 0x10
/* 8036D5F0 0036A550 48 01 20 25 */ bl OSClearContext
/* 8036D5F4 0036A554 38 61 00 10 */ addi r3, r1, 0x10
/* 8036D5F8 0036A558 48 01 1E 25 */ bl OSSetCurrentContext
/* 8036D5FC 0036A55C 80 6D AA FC */ lwz r3, __AID_Callback@sda21(r13)
/* 8036D600 0036A560 28 03 00 00 */ cmplwi r3, 0
/* 8036D604 0036A564 41 82 00 40 */ beq lbl_8036D644
/* 8036D608 0036A568 80 0D AB 0C */ lwz r0, __AID_Active@sda21(r13)
/* 8036D60C 0036A56C 2C 00 00 00 */ cmpwi r0, 0
/* 8036D610 0036A570 40 82 00 34 */ bne lbl_8036D644
/* 8036D614 0036A574 80 0D AB 00 */ lwz r0, __CallbackStack@sda21(r13)
/* 8036D618 0036A578 38 80 00 01 */ li r4, 1
/* 8036D61C 0036A57C 90 8D AB 0C */ stw r4, __AID_Active@sda21(r13)
/* 8036D620 0036A580 28 00 00 00 */ cmplwi r0, 0
/* 8036D624 0036A584 41 82 00 0C */ beq lbl_8036D630
/* 8036D628 0036A588 48 00 00 41 */ bl __AICallbackStackSwitch
/* 8036D62C 0036A58C 48 00 00 10 */ b lbl_8036D63C
lbl_8036D630:
/* 8036D630 0036A590 39 83 00 00 */ addi r12, r3, 0
/* 8036D634 0036A594 7D 88 03 A6 */ mtlr r12
/* 8036D638 0036A598 4E 80 00 21 */ blrl
lbl_8036D63C:
/* 8036D63C 0036A59C 38 00 00 00 */ li r0, 0
/* 8036D640 0036A5A0 90 0D AB 0C */ stw r0, __AID_Active@sda21(r13)
lbl_8036D644:
/* 8036D644 0036A5A4 38 61 00 10 */ addi r3, r1, 0x10
/* 8036D648 0036A5A8 48 01 1F CD */ bl OSClearContext
/* 8036D64C 0036A5AC 7F E3 FB 78 */ mr r3, r31
/* 8036D650 0036A5B0 48 01 1D CD */ bl OSSetCurrentContext
/* 8036D654 0036A5B4 80 01 02 E4 */ lwz r0, 0x2e4(r1)
/* 8036D658 0036A5B8 83 E1 02 DC */ lwz r31, 0x2dc(r1)
/* 8036D65C 0036A5BC 38 21 02 E0 */ addi r1, r1, 0x2e0
/* 8036D660 0036A5C0 7C 08 03 A6 */ mtlr r0
/* 8036D664 0036A5C4 4E 80 00 20 */ blr
.global __AICallbackStackSwitch
__AICallbackStackSwitch:
/* 8036D668 0036A5C8 7C 08 02 A6 */ mflr r0
/* 8036D66C 0036A5CC 90 01 00 04 */ stw r0, 4(r1)
/* 8036D670 0036A5D0 94 21 FF E8 */ stwu r1, -0x18(r1)
/* 8036D674 0036A5D4 93 E1 00 14 */ stw r31, 0x14(r1)
/* 8036D678 0036A5D8 7C 7F 1B 78 */ mr r31, r3
/* 8036D67C 0036A5DC 3C A0 80 5B */ lis r5, __OldStack@ha
/* 8036D680 0036A5E0 38 A5 96 C4 */ addi r5, r5, __OldStack@l
/* 8036D684 0036A5E4 90 25 00 00 */ stw r1, 0(r5)
/* 8036D688 0036A5E8 3C A0 80 5B */ lis r5, __CallbackStack@ha
/* 8036D68C 0036A5EC 38 A5 96 C0 */ addi r5, r5, __CallbackStack@l
/* 8036D690 0036A5F0 80 25 00 00 */ lwz r1, 0(r5)
/* 8036D694 0036A5F4 38 21 FF F8 */ addi r1, r1, -8
/* 8036D698 0036A5F8 7F E8 03 A6 */ mtlr r31
/* 8036D69C 0036A5FC 4E 80 00 21 */ blrl
/* 8036D6A0 0036A600 3C A0 80 5B */ lis r5, __OldStack@ha
/* 8036D6A4 0036A604 38 A5 96 C4 */ addi r5, r5, __OldStack@l
/* 8036D6A8 0036A608 80 25 00 00 */ lwz r1, 0(r5)
/* 8036D6AC 0036A60C 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 8036D6B0 0036A610 83 E1 00 14 */ lwz r31, 0x14(r1)
/* 8036D6B4 0036A614 38 21 00 18 */ addi r1, r1, 0x18
/* 8036D6B8 0036A618 7C 08 03 A6 */ mtlr r0
/* 8036D6BC 0036A61C 4E 80 00 20 */ blr
.global __AI_SRC_INIT
__AI_SRC_INIT:
/* 8036D6C0 0036A620 7C 08 02 A6 */ mflr r0
/* 8036D6C4 0036A624 90 01 00 04 */ stw r0, 4(r1)
/* 8036D6C8 0036A628 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8036D6CC 0036A62C BF 41 00 18 */ stmw r26, 0x18(r1)
/* 8036D6D0 0036A630 38 80 00 00 */ li r4, 0
/* 8036D6D4 0036A634 38 60 00 00 */ li r3, 0
/* 8036D6D8 0036A638 38 00 00 00 */ li r0, 0
/* 8036D6DC 0036A63C 3B 80 00 00 */ li r28, 0
/* 8036D6E0 0036A640 3B A0 00 00 */ li r29, 0
/* 8036D6E4 0036A644 48 00 00 04 */ b lbl_8036D6E8
lbl_8036D6E8:
/* 8036D6E8 0036A648 3F E0 CC 00 */ lis r31, 0xcc00
/* 8036D6EC 0036A64C 48 00 00 04 */ b lbl_8036D6F0
lbl_8036D6F0:
/* 8036D6F0 0036A650 48 00 01 64 */ b lbl_8036D854
lbl_8036D6F4:
/* 8036D6F4 0036A654 80 1F 6C 00 */ lwz r0, 0x6c00(r31)
/* 8036D6F8 0036A658 3B DF 6C 00 */ addi r30, r31, 0x6c00
/* 8036D6FC 0036A65C 3B DE 00 08 */ addi r30, r30, 8
/* 8036D700 0036A660 54 00 06 F2 */ rlwinm r0, r0, 0, 0x1b, 0x19
/* 8036D704 0036A664 60 00 00 20 */ ori r0, r0, 0x20
/* 8036D708 0036A668 90 1F 6C 00 */ stw r0, 0x6c00(r31)
/* 8036D70C 0036A66C 80 1F 6C 00 */ lwz r0, 0x6c00(r31)
/* 8036D710 0036A670 54 00 07 FA */ rlwinm r0, r0, 0, 0x1f, 0x1d
/* 8036D714 0036A674 90 1F 6C 00 */ stw r0, 0x6c00(r31)
/* 8036D718 0036A678 80 1F 6C 00 */ lwz r0, 0x6c00(r31)
/* 8036D71C 0036A67C 54 00 00 3C */ rlwinm r0, r0, 0, 0, 0x1e
/* 8036D720 0036A680 60 00 00 01 */ ori r0, r0, 1
/* 8036D724 0036A684 90 1F 6C 00 */ stw r0, 0x6c00(r31)
/* 8036D728 0036A688 80 7E 00 00 */ lwz r3, 0(r30)
/* 8036D72C 0036A68C 48 00 00 04 */ b lbl_8036D730
lbl_8036D730:
/* 8036D730 0036A690 48 00 00 04 */ b lbl_8036D734
lbl_8036D734:
/* 8036D734 0036A694 80 1E 00 00 */ lwz r0, 0(r30)
/* 8036D738 0036A698 7C 03 00 40 */ cmplw r3, r0
/* 8036D73C 0036A69C 41 82 FF F8 */ beq lbl_8036D734
/* 8036D740 0036A6A0 48 01 7C 69 */ bl OSGetTime
/* 8036D744 0036A6A4 80 1F 6C 00 */ lwz r0, 0x6c00(r31)
/* 8036D748 0036A6A8 7C 9A 23 78 */ mr r26, r4
/* 8036D74C 0036A6AC 7C 7B 1B 78 */ mr r27, r3
/* 8036D750 0036A6B0 54 00 07 FA */ rlwinm r0, r0, 0, 0x1f, 0x1d
/* 8036D754 0036A6B4 60 00 00 02 */ ori r0, r0, 2
/* 8036D758 0036A6B8 90 1F 6C 00 */ stw r0, 0x6c00(r31)
/* 8036D75C 0036A6BC 80 1F 6C 00 */ lwz r0, 0x6c00(r31)
/* 8036D760 0036A6C0 54 00 00 3C */ rlwinm r0, r0, 0, 0, 0x1e
/* 8036D764 0036A6C4 60 00 00 01 */ ori r0, r0, 1
/* 8036D768 0036A6C8 90 1F 6C 00 */ stw r0, 0x6c00(r31)
/* 8036D76C 0036A6CC 80 7E 00 00 */ lwz r3, 0(r30)
/* 8036D770 0036A6D0 48 00 00 04 */ b lbl_8036D774
lbl_8036D774:
/* 8036D774 0036A6D4 48 00 00 04 */ b lbl_8036D778
lbl_8036D778:
/* 8036D778 0036A6D8 80 1E 00 00 */ lwz r0, 0(r30)
/* 8036D77C 0036A6DC 7C 03 00 40 */ cmplw r3, r0
/* 8036D780 0036A6E0 41 82 FF F8 */ beq lbl_8036D778
/* 8036D784 0036A6E4 48 01 7C 25 */ bl OSGetTime
/* 8036D788 0036A6E8 7D 1A 20 10 */ subfc r8, r26, r4
/* 8036D78C 0036A6EC 81 8D AB 14 */ lwz r12, bound_32KHz+4@sda21(r13)
/* 8036D790 0036A6F0 80 BF 6C 00 */ lwz r5, 0x6c00(r31)
/* 8036D794 0036A6F4 7C FB 19 10 */ subfe r7, r27, r3
/* 8036D798 0036A6F8 81 4D AB 34 */ lwz r10, buffer+4@sda21(r13)
/* 8036D79C 0036A6FC 6C E7 80 00 */ xoris r7, r7, 0x8000
/* 8036D7A0 0036A700 54 A5 07 FA */ rlwinm r5, r5, 0, 0x1f, 0x1d
/* 8036D7A4 0036A704 81 6D AB 10 */ lwz r11, bound_32KHz@sda21(r13)
/* 8036D7A8 0036A708 7C CA 60 10 */ subfc r6, r10, r12
/* 8036D7AC 0036A70C 81 2D AB 30 */ lwz r9, buffer@sda21(r13)
/* 8036D7B0 0036A710 90 BF 6C 00 */ stw r5, 0x6c00(r31)
/* 8036D7B4 0036A714 7C 09 59 10 */ subfe r0, r9, r11
/* 8036D7B8 0036A718 6C 05 80 00 */ xoris r5, r0, 0x8000
/* 8036D7BC 0036A71C 7C 06 40 10 */ subfc r0, r6, r8
/* 8036D7C0 0036A720 80 1F 6C 00 */ lwz r0, 0x6c00(r31)
/* 8036D7C4 0036A724 7C A5 39 10 */ subfe r5, r5, r7
/* 8036D7C8 0036A728 7C A7 39 10 */ subfe r5, r7, r7
/* 8036D7CC 0036A72C 7C A5 00 D0 */ neg r5, r5
/* 8036D7D0 0036A730 54 00 00 3C */ rlwinm r0, r0, 0, 0, 0x1e
/* 8036D7D4 0036A734 2C 05 00 00 */ cmpwi r5, 0
/* 8036D7D8 0036A738 90 1F 6C 00 */ stw r0, 0x6c00(r31)
/* 8036D7DC 0036A73C 41 82 00 14 */ beq lbl_8036D7F0
/* 8036D7E0 0036A740 83 AD AB 20 */ lwz r29, min_wait@sda21(r13)
/* 8036D7E4 0036A744 38 00 00 01 */ li r0, 1
/* 8036D7E8 0036A748 83 8D AB 24 */ lwz r28, min_wait+4@sda21(r13)
/* 8036D7EC 0036A74C 48 00 00 68 */ b lbl_8036D854
lbl_8036D7F0:
/* 8036D7F0 0036A750 7C CC 50 14 */ addc r6, r12, r10
/* 8036D7F4 0036A754 7C 0B 49 14 */ adde r0, r11, r9
/* 8036D7F8 0036A758 6C 05 80 00 */ xoris r5, r0, 0x8000
/* 8036D7FC 0036A75C 7C 06 40 10 */ subfc r0, r6, r8
/* 8036D800 0036A760 7C A5 39 10 */ subfe r5, r5, r7
/* 8036D804 0036A764 7C A7 39 10 */ subfe r5, r7, r7
/* 8036D808 0036A768 7C A5 00 D0 */ neg r5, r5
/* 8036D80C 0036A76C 2C 05 00 00 */ cmpwi r5, 0
/* 8036D810 0036A770 40 82 00 40 */ bne lbl_8036D850
/* 8036D814 0036A774 80 AD AB 1C */ lwz r5, bound_48KHz+4@sda21(r13)
/* 8036D818 0036A778 80 0D AB 18 */ lwz r0, bound_48KHz@sda21(r13)
/* 8036D81C 0036A77C 7C CA 28 10 */ subfc r6, r10, r5
/* 8036D820 0036A780 7C 09 01 10 */ subfe r0, r9, r0
/* 8036D824 0036A784 6C 05 80 00 */ xoris r5, r0, 0x8000
/* 8036D828 0036A788 7C 06 40 10 */ subfc r0, r6, r8
/* 8036D82C 0036A78C 7C A5 39 10 */ subfe r5, r5, r7
/* 8036D830 0036A790 7C A7 39 10 */ subfe r5, r7, r7
/* 8036D834 0036A794 7C A5 00 D0 */ neg r5, r5
/* 8036D838 0036A798 2C 05 00 00 */ cmpwi r5, 0
/* 8036D83C 0036A79C 41 82 00 14 */ beq lbl_8036D850
/* 8036D840 0036A7A0 83 AD AB 28 */ lwz r29, max_wait@sda21(r13)
/* 8036D844 0036A7A4 38 00 00 01 */ li r0, 1
/* 8036D848 0036A7A8 83 8D AB 2C */ lwz r28, max_wait+4@sda21(r13)
/* 8036D84C 0036A7AC 48 00 00 08 */ b lbl_8036D854
lbl_8036D850:
/* 8036D850 0036A7B0 38 00 00 00 */ li r0, 0
lbl_8036D854:
/* 8036D854 0036A7B4 28 00 00 00 */ cmplwi r0, 0
/* 8036D858 0036A7B8 41 82 FE 9C */ beq lbl_8036D6F4
/* 8036D85C 0036A7BC 7F 64 E0 14 */ addc r27, r4, r28
/* 8036D860 0036A7C0 7F 43 E9 14 */ adde r26, r3, r29
/* 8036D864 0036A7C4 48 00 00 04 */ b lbl_8036D868
lbl_8036D868:
/* 8036D868 0036A7C8 48 00 00 04 */ b lbl_8036D86C
lbl_8036D86C:
/* 8036D86C 0036A7CC 48 01 7B 3D */ bl OSGetTime
/* 8036D870 0036A7D0 6C 65 80 00 */ xoris r5, r3, 0x8000
/* 8036D874 0036A7D4 6F 43 80 00 */ xoris r3, r26, 0x8000
/* 8036D878 0036A7D8 7C 1B 20 10 */ subfc r0, r27, r4
/* 8036D87C 0036A7DC 7C 63 29 10 */ subfe r3, r3, r5
/* 8036D880 0036A7E0 7C 65 29 10 */ subfe r3, r5, r5
/* 8036D884 0036A7E4 7C 63 00 D0 */ neg r3, r3
/* 8036D888 0036A7E8 2C 03 00 00 */ cmpwi r3, 0
/* 8036D88C 0036A7EC 40 82 FF E0 */ bne lbl_8036D86C
/* 8036D890 0036A7F0 BB 41 00 18 */ lmw r26, 0x18(r1)
/* 8036D894 0036A7F4 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8036D898 0036A7F8 38 21 00 30 */ addi r1, r1, 0x30
/* 8036D89C 0036A7FC 7C 08 03 A6 */ mtlr r0
/* 8036D8A0 0036A800 4E 80 00 20 */ blr

File diff suppressed because it is too large Load Diff

View File

@ -1,329 +0,0 @@
.include "macros.inc"
.section .data
.balign 8
.global ARQVersionString
ARQVersionString:
.asciz "<< Dolphin SDK - ARQ\trelease build: Sep 5 2002 05:34:29 (0x2301) >>"
.balign 4
.section .sdata
.balign 8
.global lbl_805A8A78
lbl_805A8A78:
.4byte ARQVersionString
.4byte 0
.section .sbss
.balign 8
.global __ARQRequestQueueHi
__ARQRequestQueueHi:
.skip 0x4
.global __ARQRequestTailHi
__ARQRequestTailHi:
.skip 0x4
.global __ARQRequestQueueLo
__ARQRequestQueueLo:
.skip 0x4
.global __ARQRequestTailLo
__ARQRequestTailLo:
.skip 0x4
.global __ARQRequestPendingHi
__ARQRequestPendingHi:
.skip 0x4
.global __ARQRequestPendingLo
__ARQRequestPendingLo:
.skip 0x4
.global __ARQCallbackHi
__ARQCallbackHi:
.skip 0x4
.global __ARQCallbackLo
__ARQCallbackLo:
.skip 0x4
.global __ARQChunkSize
__ARQChunkSize:
.skip 0x4
.global __ARQ_init_flag
__ARQ_init_flag:
.skip 0x4
.section .text, "ax"
.global __ARQServiceQueueLo
__ARQServiceQueueLo:
/* 8036F430 0036C390 7C 08 02 A6 */ mflr r0
/* 8036F434 0036C394 90 01 00 04 */ stw r0, 4(r1)
/* 8036F438 0036C398 94 21 FF F8 */ stwu r1, -8(r1)
/* 8036F43C 0036C39C 80 0D AB 6C */ lwz r0, __ARQRequestPendingLo@sda21(r13)
/* 8036F440 0036C3A0 28 00 00 00 */ cmplwi r0, 0
/* 8036F444 0036C3A4 40 82 00 1C */ bne lbl_8036F460
/* 8036F448 0036C3A8 80 6D AB 60 */ lwz r3, __ARQRequestQueueLo@sda21(r13)
/* 8036F44C 0036C3AC 28 03 00 00 */ cmplwi r3, 0
/* 8036F450 0036C3B0 41 82 00 10 */ beq lbl_8036F460
/* 8036F454 0036C3B4 90 6D AB 6C */ stw r3, __ARQRequestPendingLo@sda21(r13)
/* 8036F458 0036C3B8 80 03 00 00 */ lwz r0, 0(r3)
/* 8036F45C 0036C3BC 90 0D AB 60 */ stw r0, __ARQRequestQueueLo@sda21(r13)
lbl_8036F460:
/* 8036F460 0036C3C0 80 AD AB 6C */ lwz r5, __ARQRequestPendingLo@sda21(r13)
/* 8036F464 0036C3C4 28 05 00 00 */ cmplwi r5, 0
/* 8036F468 0036C3C8 41 82 00 B8 */ beq lbl_8036F520
/* 8036F46C 0036C3CC 80 C5 00 18 */ lwz r6, 0x18(r5)
/* 8036F470 0036C3D0 80 0D AB 78 */ lwz r0, __ARQChunkSize@sda21(r13)
/* 8036F474 0036C3D4 7C 06 00 40 */ cmplw r6, r0
/* 8036F478 0036C3D8 41 81 00 3C */ bgt lbl_8036F4B4
/* 8036F47C 0036C3DC 80 65 00 08 */ lwz r3, 8(r5)
/* 8036F480 0036C3E0 28 03 00 00 */ cmplwi r3, 0
/* 8036F484 0036C3E4 40 82 00 14 */ bne lbl_8036F498
/* 8036F488 0036C3E8 80 85 00 10 */ lwz r4, 0x10(r5)
/* 8036F48C 0036C3EC 80 A5 00 14 */ lwz r5, 0x14(r5)
/* 8036F490 0036C3F0 4B FF E4 95 */ bl ARStartDMA
/* 8036F494 0036C3F4 48 00 00 10 */ b lbl_8036F4A4
lbl_8036F498:
/* 8036F498 0036C3F8 80 85 00 14 */ lwz r4, 0x14(r5)
/* 8036F49C 0036C3FC 80 A5 00 10 */ lwz r5, 0x10(r5)
/* 8036F4A0 0036C400 4B FF E4 85 */ bl ARStartDMA
lbl_8036F4A4:
/* 8036F4A4 0036C404 80 6D AB 6C */ lwz r3, __ARQRequestPendingLo@sda21(r13)
/* 8036F4A8 0036C408 80 03 00 1C */ lwz r0, 0x1c(r3)
/* 8036F4AC 0036C40C 90 0D AB 74 */ stw r0, __ARQCallbackLo@sda21(r13)
/* 8036F4B0 0036C410 48 00 00 34 */ b lbl_8036F4E4
lbl_8036F4B4:
/* 8036F4B4 0036C414 80 65 00 08 */ lwz r3, 8(r5)
/* 8036F4B8 0036C418 28 03 00 00 */ cmplwi r3, 0
/* 8036F4BC 0036C41C 40 82 00 18 */ bne lbl_8036F4D4
/* 8036F4C0 0036C420 80 85 00 10 */ lwz r4, 0x10(r5)
/* 8036F4C4 0036C424 7C 06 03 78 */ mr r6, r0
/* 8036F4C8 0036C428 80 A5 00 14 */ lwz r5, 0x14(r5)
/* 8036F4CC 0036C42C 4B FF E4 59 */ bl ARStartDMA
/* 8036F4D0 0036C430 48 00 00 14 */ b lbl_8036F4E4
lbl_8036F4D4:
/* 8036F4D4 0036C434 80 85 00 14 */ lwz r4, 0x14(r5)
/* 8036F4D8 0036C438 7C 06 03 78 */ mr r6, r0
/* 8036F4DC 0036C43C 80 A5 00 10 */ lwz r5, 0x10(r5)
/* 8036F4E0 0036C440 4B FF E4 45 */ bl ARStartDMA
lbl_8036F4E4:
/* 8036F4E4 0036C444 80 6D AB 6C */ lwz r3, __ARQRequestPendingLo@sda21(r13)
/* 8036F4E8 0036C448 80 8D AB 78 */ lwz r4, __ARQChunkSize@sda21(r13)
/* 8036F4EC 0036C44C 80 03 00 18 */ lwz r0, 0x18(r3)
/* 8036F4F0 0036C450 7C 04 00 50 */ subf r0, r4, r0
/* 8036F4F4 0036C454 90 03 00 18 */ stw r0, 0x18(r3)
/* 8036F4F8 0036C458 80 8D AB 6C */ lwz r4, __ARQRequestPendingLo@sda21(r13)
/* 8036F4FC 0036C45C 80 0D AB 78 */ lwz r0, __ARQChunkSize@sda21(r13)
/* 8036F500 0036C460 80 64 00 10 */ lwz r3, 0x10(r4)
/* 8036F504 0036C464 7C 03 02 14 */ add r0, r3, r0
/* 8036F508 0036C468 90 04 00 10 */ stw r0, 0x10(r4)
/* 8036F50C 0036C46C 80 8D AB 6C */ lwz r4, __ARQRequestPendingLo@sda21(r13)
/* 8036F510 0036C470 80 0D AB 78 */ lwz r0, __ARQChunkSize@sda21(r13)
/* 8036F514 0036C474 80 64 00 14 */ lwz r3, 0x14(r4)
/* 8036F518 0036C478 7C 03 02 14 */ add r0, r3, r0
/* 8036F51C 0036C47C 90 04 00 14 */ stw r0, 0x14(r4)
lbl_8036F520:
/* 8036F520 0036C480 80 01 00 0C */ lwz r0, 0xc(r1)
/* 8036F524 0036C484 38 21 00 08 */ addi r1, r1, 8
/* 8036F528 0036C488 7C 08 03 A6 */ mtlr r0
/* 8036F52C 0036C48C 4E 80 00 20 */ blr
.global __ARQCallbackHack
__ARQCallbackHack:
/* 8036F530 0036C490 4E 80 00 20 */ blr
.global __ARQInterruptServiceRoutine
__ARQInterruptServiceRoutine:
/* 8036F534 0036C494 7C 08 02 A6 */ mflr r0
/* 8036F538 0036C498 90 01 00 04 */ stw r0, 4(r1)
/* 8036F53C 0036C49C 94 21 FF F8 */ stwu r1, -8(r1)
/* 8036F540 0036C4A0 81 8D AB 70 */ lwz r12, __ARQCallbackHi@sda21(r13)
/* 8036F544 0036C4A4 28 0C 00 00 */ cmplwi r12, 0
/* 8036F548 0036C4A8 41 82 00 20 */ beq lbl_8036F568
/* 8036F54C 0036C4AC 80 6D AB 68 */ lwz r3, __ARQRequestPendingHi@sda21(r13)
/* 8036F550 0036C4B0 7D 88 03 A6 */ mtlr r12
/* 8036F554 0036C4B4 4E 80 00 21 */ blrl
/* 8036F558 0036C4B8 38 00 00 00 */ li r0, 0
/* 8036F55C 0036C4BC 90 0D AB 68 */ stw r0, __ARQRequestPendingHi@sda21(r13)
/* 8036F560 0036C4C0 90 0D AB 70 */ stw r0, __ARQCallbackHi@sda21(r13)
/* 8036F564 0036C4C4 48 00 00 28 */ b lbl_8036F58C
lbl_8036F568:
/* 8036F568 0036C4C8 81 8D AB 74 */ lwz r12, __ARQCallbackLo@sda21(r13)
/* 8036F56C 0036C4CC 28 0C 00 00 */ cmplwi r12, 0
/* 8036F570 0036C4D0 41 82 00 1C */ beq lbl_8036F58C
/* 8036F574 0036C4D4 80 6D AB 6C */ lwz r3, __ARQRequestPendingLo@sda21(r13)
/* 8036F578 0036C4D8 7D 88 03 A6 */ mtlr r12
/* 8036F57C 0036C4DC 4E 80 00 21 */ blrl
/* 8036F580 0036C4E0 38 00 00 00 */ li r0, 0
/* 8036F584 0036C4E4 90 0D AB 6C */ stw r0, __ARQRequestPendingLo@sda21(r13)
/* 8036F588 0036C4E8 90 0D AB 74 */ stw r0, __ARQCallbackLo@sda21(r13)
lbl_8036F58C:
/* 8036F58C 0036C4EC 80 CD AB 58 */ lwz r6, __ARQRequestQueueHi@sda21(r13)
/* 8036F590 0036C4F0 28 06 00 00 */ cmplwi r6, 0
/* 8036F594 0036C4F4 41 82 00 4C */ beq lbl_8036F5E0
/* 8036F598 0036C4F8 80 66 00 08 */ lwz r3, 8(r6)
/* 8036F59C 0036C4FC 28 03 00 00 */ cmplwi r3, 0
/* 8036F5A0 0036C500 40 82 00 18 */ bne lbl_8036F5B8
/* 8036F5A4 0036C504 80 86 00 10 */ lwz r4, 0x10(r6)
/* 8036F5A8 0036C508 80 A6 00 14 */ lwz r5, 0x14(r6)
/* 8036F5AC 0036C50C 80 C6 00 18 */ lwz r6, 0x18(r6)
/* 8036F5B0 0036C510 4B FF E3 75 */ bl ARStartDMA
/* 8036F5B4 0036C514 48 00 00 14 */ b lbl_8036F5C8
lbl_8036F5B8:
/* 8036F5B8 0036C518 80 86 00 14 */ lwz r4, 0x14(r6)
/* 8036F5BC 0036C51C 80 A6 00 10 */ lwz r5, 0x10(r6)
/* 8036F5C0 0036C520 80 C6 00 18 */ lwz r6, 0x18(r6)
/* 8036F5C4 0036C524 4B FF E3 61 */ bl ARStartDMA
lbl_8036F5C8:
/* 8036F5C8 0036C528 80 6D AB 58 */ lwz r3, __ARQRequestQueueHi@sda21(r13)
/* 8036F5CC 0036C52C 80 03 00 1C */ lwz r0, 0x1c(r3)
/* 8036F5D0 0036C530 90 0D AB 70 */ stw r0, __ARQCallbackHi@sda21(r13)
/* 8036F5D4 0036C534 90 6D AB 68 */ stw r3, __ARQRequestPendingHi@sda21(r13)
/* 8036F5D8 0036C538 80 03 00 00 */ lwz r0, 0(r3)
/* 8036F5DC 0036C53C 90 0D AB 58 */ stw r0, __ARQRequestQueueHi@sda21(r13)
lbl_8036F5E0:
/* 8036F5E0 0036C540 80 0D AB 68 */ lwz r0, __ARQRequestPendingHi@sda21(r13)
/* 8036F5E4 0036C544 28 00 00 00 */ cmplwi r0, 0
/* 8036F5E8 0036C548 40 82 00 08 */ bne lbl_8036F5F0
/* 8036F5EC 0036C54C 4B FF FE 45 */ bl __ARQServiceQueueLo
lbl_8036F5F0:
/* 8036F5F0 0036C550 80 01 00 0C */ lwz r0, 0xc(r1)
/* 8036F5F4 0036C554 38 21 00 08 */ addi r1, r1, 8
/* 8036F5F8 0036C558 7C 08 03 A6 */ mtlr r0
/* 8036F5FC 0036C55C 4E 80 00 20 */ blr
.global ARQInit
ARQInit:
/* 8036F600 0036C560 7C 08 02 A6 */ mflr r0
/* 8036F604 0036C564 90 01 00 04 */ stw r0, 4(r1)
/* 8036F608 0036C568 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8036F60C 0036C56C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8036F610 0036C570 80 0D AB 7C */ lwz r0, __ARQ_init_flag@sda21(r13)
/* 8036F614 0036C574 2C 00 00 01 */ cmpwi r0, 1
/* 8036F618 0036C578 41 82 00 44 */ beq lbl_8036F65C
/* 8036F61C 0036C57C 80 6D 9E B8 */ lwz r3, lbl_805A8A78@sda21(r13)
/* 8036F620 0036C580 48 00 EA 19 */ bl OSRegisterVersion
/* 8036F624 0036C584 3B E0 00 00 */ li r31, 0
/* 8036F628 0036C588 38 00 10 00 */ li r0, 0x1000
/* 8036F62C 0036C58C 93 ED AB 60 */ stw r31, __ARQRequestQueueLo@sda21(r13)
/* 8036F630 0036C590 3C 60 80 37 */ lis r3, __ARQInterruptServiceRoutine@ha
/* 8036F634 0036C594 93 ED AB 58 */ stw r31, __ARQRequestQueueHi@sda21(r13)
/* 8036F638 0036C598 38 63 F5 34 */ addi r3, r3, __ARQInterruptServiceRoutine@l
/* 8036F63C 0036C59C 90 0D AB 78 */ stw r0, __ARQChunkSize@sda21(r13)
/* 8036F640 0036C5A0 4B FF E2 65 */ bl ARRegisterDMACallback
/* 8036F644 0036C5A4 38 00 00 01 */ li r0, 1
/* 8036F648 0036C5A8 93 ED AB 68 */ stw r31, __ARQRequestPendingHi@sda21(r13)
/* 8036F64C 0036C5AC 93 ED AB 6C */ stw r31, __ARQRequestPendingLo@sda21(r13)
/* 8036F650 0036C5B0 93 ED AB 70 */ stw r31, __ARQCallbackHi@sda21(r13)
/* 8036F654 0036C5B4 93 ED AB 74 */ stw r31, __ARQCallbackLo@sda21(r13)
/* 8036F658 0036C5B8 90 0D AB 7C */ stw r0, __ARQ_init_flag@sda21(r13)
lbl_8036F65C:
/* 8036F65C 0036C5BC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8036F660 0036C5C0 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8036F664 0036C5C4 38 21 00 10 */ addi r1, r1, 0x10
/* 8036F668 0036C5C8 7C 08 03 A6 */ mtlr r0
/* 8036F66C 0036C5CC 4E 80 00 20 */ blr
.global ARQPostRequest
ARQPostRequest:
/* 8036F670 0036C5D0 7C 08 02 A6 */ mflr r0
/* 8036F674 0036C5D4 28 0A 00 00 */ cmplwi r10, 0
/* 8036F678 0036C5D8 90 01 00 04 */ stw r0, 4(r1)
/* 8036F67C 0036C5DC 38 00 00 00 */ li r0, 0
/* 8036F680 0036C5E0 94 21 FF C8 */ stwu r1, -0x38(r1)
/* 8036F684 0036C5E4 93 E1 00 34 */ stw r31, 0x34(r1)
/* 8036F688 0036C5E8 93 C1 00 30 */ stw r30, 0x30(r1)
/* 8036F68C 0036C5EC 3B C6 00 00 */ addi r30, r6, 0
/* 8036F690 0036C5F0 93 A1 00 2C */ stw r29, 0x2c(r1)
/* 8036F694 0036C5F4 3B A3 00 00 */ addi r29, r3, 0
/* 8036F698 0036C5F8 90 03 00 00 */ stw r0, 0(r3)
/* 8036F69C 0036C5FC 90 83 00 04 */ stw r4, 4(r3)
/* 8036F6A0 0036C600 90 A3 00 08 */ stw r5, 8(r3)
/* 8036F6A4 0036C604 90 E3 00 10 */ stw r7, 0x10(r3)
/* 8036F6A8 0036C608 91 03 00 14 */ stw r8, 0x14(r3)
/* 8036F6AC 0036C60C 91 23 00 18 */ stw r9, 0x18(r3)
/* 8036F6B0 0036C610 41 82 00 0C */ beq lbl_8036F6BC
/* 8036F6B4 0036C614 91 5D 00 1C */ stw r10, 0x1c(r29)
/* 8036F6B8 0036C618 48 00 00 10 */ b lbl_8036F6C8
lbl_8036F6BC:
/* 8036F6BC 0036C61C 3C 60 80 37 */ lis r3, __ARQCallbackHack@ha
/* 8036F6C0 0036C620 38 03 F5 30 */ addi r0, r3, __ARQCallbackHack@l
/* 8036F6C4 0036C624 90 1D 00 1C */ stw r0, 0x1c(r29)
lbl_8036F6C8:
/* 8036F6C8 0036C628 48 01 1F 99 */ bl OSDisableInterrupts
/* 8036F6CC 0036C62C 2C 1E 00 01 */ cmpwi r30, 1
/* 8036F6D0 0036C630 3B E3 00 00 */ addi r31, r3, 0
/* 8036F6D4 0036C634 41 82 00 38 */ beq lbl_8036F70C
/* 8036F6D8 0036C638 40 80 00 54 */ bge lbl_8036F72C
/* 8036F6DC 0036C63C 2C 1E 00 00 */ cmpwi r30, 0
/* 8036F6E0 0036C640 40 80 00 08 */ bge lbl_8036F6E8
/* 8036F6E4 0036C644 48 00 00 48 */ b lbl_8036F72C
lbl_8036F6E8:
/* 8036F6E8 0036C648 80 0D AB 60 */ lwz r0, __ARQRequestQueueLo@sda21(r13)
/* 8036F6EC 0036C64C 28 00 00 00 */ cmplwi r0, 0
/* 8036F6F0 0036C650 41 82 00 10 */ beq lbl_8036F700
/* 8036F6F4 0036C654 80 6D AB 64 */ lwz r3, __ARQRequestTailLo@sda21(r13)
/* 8036F6F8 0036C658 93 A3 00 00 */ stw r29, 0(r3)
/* 8036F6FC 0036C65C 48 00 00 08 */ b lbl_8036F704
lbl_8036F700:
/* 8036F700 0036C660 93 AD AB 60 */ stw r29, __ARQRequestQueueLo@sda21(r13)
lbl_8036F704:
/* 8036F704 0036C664 93 AD AB 64 */ stw r29, __ARQRequestTailLo@sda21(r13)
/* 8036F708 0036C668 48 00 00 24 */ b lbl_8036F72C
lbl_8036F70C:
/* 8036F70C 0036C66C 80 0D AB 58 */ lwz r0, __ARQRequestQueueHi@sda21(r13)
/* 8036F710 0036C670 28 00 00 00 */ cmplwi r0, 0
/* 8036F714 0036C674 41 82 00 10 */ beq lbl_8036F724
/* 8036F718 0036C678 80 6D AB 5C */ lwz r3, __ARQRequestTailHi@sda21(r13)
/* 8036F71C 0036C67C 93 A3 00 00 */ stw r29, 0(r3)
/* 8036F720 0036C680 48 00 00 08 */ b lbl_8036F728
lbl_8036F724:
/* 8036F724 0036C684 93 AD AB 58 */ stw r29, __ARQRequestQueueHi@sda21(r13)
lbl_8036F728:
/* 8036F728 0036C688 93 AD AB 5C */ stw r29, __ARQRequestTailHi@sda21(r13)
lbl_8036F72C:
/* 8036F72C 0036C68C 80 0D AB 68 */ lwz r0, __ARQRequestPendingHi@sda21(r13)
/* 8036F730 0036C690 28 00 00 00 */ cmplwi r0, 0
/* 8036F734 0036C694 40 82 00 74 */ bne lbl_8036F7A8
/* 8036F738 0036C698 80 0D AB 6C */ lwz r0, __ARQRequestPendingLo@sda21(r13)
/* 8036F73C 0036C69C 28 00 00 00 */ cmplwi r0, 0
/* 8036F740 0036C6A0 40 82 00 68 */ bne lbl_8036F7A8
/* 8036F744 0036C6A4 80 CD AB 58 */ lwz r6, __ARQRequestQueueHi@sda21(r13)
/* 8036F748 0036C6A8 28 06 00 00 */ cmplwi r6, 0
/* 8036F74C 0036C6AC 41 82 00 4C */ beq lbl_8036F798
/* 8036F750 0036C6B0 80 66 00 08 */ lwz r3, 8(r6)
/* 8036F754 0036C6B4 28 03 00 00 */ cmplwi r3, 0
/* 8036F758 0036C6B8 40 82 00 18 */ bne lbl_8036F770
/* 8036F75C 0036C6BC 80 86 00 10 */ lwz r4, 0x10(r6)
/* 8036F760 0036C6C0 80 A6 00 14 */ lwz r5, 0x14(r6)
/* 8036F764 0036C6C4 80 C6 00 18 */ lwz r6, 0x18(r6)
/* 8036F768 0036C6C8 4B FF E1 BD */ bl ARStartDMA
/* 8036F76C 0036C6CC 48 00 00 14 */ b lbl_8036F780
lbl_8036F770:
/* 8036F770 0036C6D0 80 86 00 14 */ lwz r4, 0x14(r6)
/* 8036F774 0036C6D4 80 A6 00 10 */ lwz r5, 0x10(r6)
/* 8036F778 0036C6D8 80 C6 00 18 */ lwz r6, 0x18(r6)
/* 8036F77C 0036C6DC 4B FF E1 A9 */ bl ARStartDMA
lbl_8036F780:
/* 8036F780 0036C6E0 80 6D AB 58 */ lwz r3, __ARQRequestQueueHi@sda21(r13)
/* 8036F784 0036C6E4 80 03 00 1C */ lwz r0, 0x1c(r3)
/* 8036F788 0036C6E8 90 0D AB 70 */ stw r0, __ARQCallbackHi@sda21(r13)
/* 8036F78C 0036C6EC 90 6D AB 68 */ stw r3, __ARQRequestPendingHi@sda21(r13)
/* 8036F790 0036C6F0 80 03 00 00 */ lwz r0, 0(r3)
/* 8036F794 0036C6F4 90 0D AB 58 */ stw r0, __ARQRequestQueueHi@sda21(r13)
lbl_8036F798:
/* 8036F798 0036C6F8 80 0D AB 68 */ lwz r0, __ARQRequestPendingHi@sda21(r13)
/* 8036F79C 0036C6FC 28 00 00 00 */ cmplwi r0, 0
/* 8036F7A0 0036C700 40 82 00 08 */ bne lbl_8036F7A8
/* 8036F7A4 0036C704 4B FF FC 8D */ bl __ARQServiceQueueLo
lbl_8036F7A8:
/* 8036F7A8 0036C708 7F E3 FB 78 */ mr r3, r31
/* 8036F7AC 0036C70C 48 01 1E DD */ bl OSRestoreInterrupts
/* 8036F7B0 0036C710 80 01 00 3C */ lwz r0, 0x3c(r1)
/* 8036F7B4 0036C714 83 E1 00 34 */ lwz r31, 0x34(r1)
/* 8036F7B8 0036C718 83 C1 00 30 */ lwz r30, 0x30(r1)
/* 8036F7BC 0036C71C 83 A1 00 2C */ lwz r29, 0x2c(r1)
/* 8036F7C0 0036C720 38 21 00 38 */ addi r1, r1, 0x38
/* 8036F7C4 0036C724 7C 08 03 A6 */ mtlr r0
/* 8036F7C8 0036C728 4E 80 00 20 */ blr
.global ARQGetChunkSize
ARQGetChunkSize:
/* 8036F7CC 0036C72C 80 6D AB 78 */ lwz r3, __ARQChunkSize@sda21(r13)
/* 8036F7D0 0036C730 4E 80 00 20 */ blr

File diff suppressed because it is too large Load Diff

View File

@ -1,301 +0,0 @@
.include "macros.inc"
.section .text, "ax"
.global __CARDGetFatBlock
__CARDGetFatBlock:
/* 803BA56C 003B74CC 80 63 00 88 */ lwz r3, 0x88(r3)
/* 803BA570 003B74D0 4E 80 00 20 */ blr
.fn WriteCallback, local
/* 803BA574 003B74D4 7C 08 02 A6 */ mflr r0
/* 803BA578 003B74D8 90 01 00 04 */ stw r0, 4(r1)
/* 803BA57C 003B74DC 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 803BA580 003B74E0 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 803BA584 003B74E4 93 C1 00 18 */ stw r30, 0x18(r1)
/* 803BA588 003B74E8 7C 9E 23 79 */ or. r30, r4, r4
/* 803BA58C 003B74EC 93 A1 00 14 */ stw r29, 0x14(r1)
/* 803BA590 003B74F0 3B A3 00 00 */ addi r29, r3, 0
/* 803BA594 003B74F4 1C BD 01 10 */ mulli r5, r29, 0x110
/* 803BA598 003B74F8 3C 60 80 57 */ lis r3, __CARDBlock@ha
/* 803BA59C 003B74FC 38 03 9A 58 */ addi r0, r3, __CARDBlock@l
/* 803BA5A0 003B7500 7F E0 2A 14 */ add r31, r0, r5
/* 803BA5A4 003B7504 41 80 00 48 */ blt lbl_803BA5EC
/* 803BA5A8 003B7508 80 7F 00 80 */ lwz r3, 0x80(r31)
/* 803BA5AC 003B750C 80 1F 00 88 */ lwz r0, 0x88(r31)
/* 803BA5B0 003B7510 38 83 60 00 */ addi r4, r3, 0x6000
/* 803BA5B4 003B7514 7C 00 20 40 */ cmplw r0, r4
/* 803BA5B8 003B7518 3C A3 00 01 */ addis r5, r3, 1
/* 803BA5BC 003B751C 38 A5 80 00 */ addi r5, r5, -32768
/* 803BA5C0 003B7520 40 82 00 18 */ bne lbl_803BA5D8
/* 803BA5C4 003B7524 90 BF 00 88 */ stw r5, 0x88(r31)
/* 803BA5C8 003B7528 38 65 00 00 */ addi r3, r5, 0
/* 803BA5CC 003B752C 38 A0 20 00 */ li r5, 0x2000
/* 803BA5D0 003B7530 4B C4 8E C1 */ bl memcpy
/* 803BA5D4 003B7534 48 00 00 18 */ b lbl_803BA5EC
lbl_803BA5D8:
/* 803BA5D8 003B7538 90 9F 00 88 */ stw r4, 0x88(r31)
/* 803BA5DC 003B753C 38 64 00 00 */ addi r3, r4, 0
/* 803BA5E0 003B7540 38 85 00 00 */ addi r4, r5, 0
/* 803BA5E4 003B7544 38 A0 20 00 */ li r5, 0x2000
/* 803BA5E8 003B7548 4B C4 8E A9 */ bl memcpy
lbl_803BA5EC:
/* 803BA5EC 003B754C 80 1F 00 D0 */ lwz r0, 0xd0(r31)
/* 803BA5F0 003B7550 28 00 00 00 */ cmplwi r0, 0
/* 803BA5F4 003B7554 40 82 00 10 */ bne lbl_803BA604
/* 803BA5F8 003B7558 38 7F 00 00 */ addi r3, r31, 0
/* 803BA5FC 003B755C 38 9E 00 00 */ addi r4, r30, 0
/* 803BA600 003B7560 4B FF E8 59 */ bl __CARDPutControlBlock
lbl_803BA604:
/* 803BA604 003B7564 80 1F 00 D8 */ lwz r0, 0xd8(r31)
/* 803BA608 003B7568 28 00 00 00 */ cmplwi r0, 0
/* 803BA60C 003B756C 7C 0C 03 78 */ mr r12, r0
/* 803BA610 003B7570 41 82 00 1C */ beq lbl_803BA62C
/* 803BA614 003B7574 38 00 00 00 */ li r0, 0
/* 803BA618 003B7578 7D 88 03 A6 */ mtlr r12
/* 803BA61C 003B757C 90 1F 00 D8 */ stw r0, 0xd8(r31)
/* 803BA620 003B7580 38 7D 00 00 */ addi r3, r29, 0
/* 803BA624 003B7584 38 9E 00 00 */ addi r4, r30, 0
/* 803BA628 003B7588 4E 80 00 21 */ blrl
lbl_803BA62C:
/* 803BA62C 003B758C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 803BA630 003B7590 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 803BA634 003B7594 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 803BA638 003B7598 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 803BA63C 003B759C 38 21 00 20 */ addi r1, r1, 0x20
/* 803BA640 003B75A0 7C 08 03 A6 */ mtlr r0
/* 803BA644 003B75A4 4E 80 00 20 */ blr
.endfn WriteCallback
.fn EraseCallback, local
/* 803BA648 003B75A8 7C 08 02 A6 */ mflr r0
/* 803BA64C 003B75AC 90 01 00 04 */ stw r0, 4(r1)
/* 803BA650 003B75B0 94 21 FF D8 */ stwu r1, -0x28(r1)
/* 803BA654 003B75B4 93 E1 00 24 */ stw r31, 0x24(r1)
/* 803BA658 003B75B8 3B E3 00 00 */ addi r31, r3, 0
/* 803BA65C 003B75BC 3C 60 80 57 */ lis r3, __CARDBlock@ha
/* 803BA660 003B75C0 93 C1 00 20 */ stw r30, 0x20(r1)
/* 803BA664 003B75C4 1C BF 01 10 */ mulli r5, r31, 0x110
/* 803BA668 003B75C8 93 A1 00 1C */ stw r29, 0x1c(r1)
/* 803BA66C 003B75CC 38 03 9A 58 */ addi r0, r3, __CARDBlock@l
/* 803BA670 003B75D0 7C 9D 23 79 */ or. r29, r4, r4
/* 803BA674 003B75D4 7F C0 2A 14 */ add r30, r0, r5
/* 803BA678 003B75D8 41 80 00 3C */ blt lbl_803BA6B4
/* 803BA67C 003B75DC 80 BE 00 88 */ lwz r5, 0x88(r30)
/* 803BA680 003B75E0 3C 60 80 3C */ lis r3, WriteCallback@ha
/* 803BA684 003B75E4 80 1E 00 80 */ lwz r0, 0x80(r30)
/* 803BA688 003B75E8 38 E3 A5 74 */ addi r7, r3, WriteCallback@l
/* 803BA68C 003B75EC 80 7E 00 0C */ lwz r3, 0xc(r30)
/* 803BA690 003B75F0 7C 00 28 50 */ subf r0, r0, r5
/* 803BA694 003B75F4 54 00 9B 7E */ srwi r0, r0, 0xd
/* 803BA698 003B75F8 7C 83 01 D6 */ mullw r4, r3, r0
/* 803BA69C 003B75FC 38 C5 00 00 */ addi r6, r5, 0
/* 803BA6A0 003B7600 38 7F 00 00 */ addi r3, r31, 0
/* 803BA6A4 003B7604 38 A0 20 00 */ li r5, 0x2000
/* 803BA6A8 003B7608 4B FF FE 61 */ bl __CARDWrite
/* 803BA6AC 003B760C 7C 7D 1B 79 */ or. r29, r3, r3
/* 803BA6B0 003B7610 40 80 00 44 */ bge lbl_803BA6F4
lbl_803BA6B4:
/* 803BA6B4 003B7614 80 1E 00 D0 */ lwz r0, 0xd0(r30)
/* 803BA6B8 003B7618 28 00 00 00 */ cmplwi r0, 0
/* 803BA6BC 003B761C 40 82 00 10 */ bne lbl_803BA6CC
/* 803BA6C0 003B7620 38 7E 00 00 */ addi r3, r30, 0
/* 803BA6C4 003B7624 38 9D 00 00 */ addi r4, r29, 0
/* 803BA6C8 003B7628 4B FF E7 91 */ bl __CARDPutControlBlock
lbl_803BA6CC:
/* 803BA6CC 003B762C 80 1E 00 D8 */ lwz r0, 0xd8(r30)
/* 803BA6D0 003B7630 28 00 00 00 */ cmplwi r0, 0
/* 803BA6D4 003B7634 7C 0C 03 78 */ mr r12, r0
/* 803BA6D8 003B7638 41 82 00 1C */ beq lbl_803BA6F4
/* 803BA6DC 003B763C 38 00 00 00 */ li r0, 0
/* 803BA6E0 003B7640 7D 88 03 A6 */ mtlr r12
/* 803BA6E4 003B7644 90 1E 00 D8 */ stw r0, 0xd8(r30)
/* 803BA6E8 003B7648 38 7F 00 00 */ addi r3, r31, 0
/* 803BA6EC 003B764C 38 9D 00 00 */ addi r4, r29, 0
/* 803BA6F0 003B7650 4E 80 00 21 */ blrl
lbl_803BA6F4:
/* 803BA6F4 003B7654 80 01 00 2C */ lwz r0, 0x2c(r1)
/* 803BA6F8 003B7658 83 E1 00 24 */ lwz r31, 0x24(r1)
/* 803BA6FC 003B765C 83 C1 00 20 */ lwz r30, 0x20(r1)
/* 803BA700 003B7660 83 A1 00 1C */ lwz r29, 0x1c(r1)
/* 803BA704 003B7664 38 21 00 28 */ addi r1, r1, 0x28
/* 803BA708 003B7668 7C 08 03 A6 */ mtlr r0
/* 803BA70C 003B766C 4E 80 00 20 */ blr
.endfn EraseCallback
.global __CARDAllocBlock
__CARDAllocBlock:
/* 803BA710 003B7670 7C 08 02 A6 */ mflr r0
/* 803BA714 003B7674 1C E3 01 10 */ mulli r7, r3, 0x110
/* 803BA718 003B7678 90 01 00 04 */ stw r0, 4(r1)
/* 803BA71C 003B767C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 803BA720 003B7680 3C C0 80 57 */ lis r6, __CARDBlock@ha
/* 803BA724 003B7684 38 06 9A 58 */ addi r0, r6, __CARDBlock@l
/* 803BA728 003B7688 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 803BA72C 003B768C 7D 20 3A 14 */ add r9, r0, r7
/* 803BA730 003B7690 93 C1 00 18 */ stw r30, 0x18(r1)
/* 803BA734 003B7694 80 09 00 00 */ lwz r0, 0(r9)
/* 803BA738 003B7698 2C 00 00 00 */ cmpwi r0, 0
/* 803BA73C 003B769C 40 82 00 0C */ bne lbl_803BA748
/* 803BA740 003B76A0 38 60 FF FD */ li r3, -3
/* 803BA744 003B76A4 48 00 00 CC */ b lbl_803BA810
lbl_803BA748:
/* 803BA748 003B76A8 81 09 00 88 */ lwz r8, 0x88(r9)
/* 803BA74C 003B76AC A0 08 00 06 */ lhz r0, 6(r8)
/* 803BA750 003B76B0 7C 00 20 40 */ cmplw r0, r4
/* 803BA754 003B76B4 40 80 00 0C */ bge lbl_803BA760
/* 803BA758 003B76B8 38 60 FF F7 */ li r3, -9
/* 803BA75C 003B76BC 48 00 00 B4 */ b lbl_803BA810
lbl_803BA760:
/* 803BA760 003B76C0 7C 04 00 50 */ subf r0, r4, r0
/* 803BA764 003B76C4 B0 08 00 06 */ sth r0, 6(r8)
/* 803BA768 003B76C8 3C C0 00 01 */ lis r6, 0x0000FFFF@ha
/* 803BA76C 003B76CC 39 86 FF FF */ addi r12, r6, 0x0000FFFF@l
/* 803BA770 003B76D0 A1 68 00 08 */ lhz r11, 8(r8)
/* 803BA774 003B76D4 38 0C 00 00 */ addi r0, r12, 0
/* 803BA778 003B76D8 3B C0 00 00 */ li r30, 0
/* 803BA77C 003B76DC 48 00 00 7C */ b lbl_803BA7F8
lbl_803BA780:
/* 803BA780 003B76E0 A1 49 00 10 */ lhz r10, 0x10(r9)
/* 803BA784 003B76E4 3B DE 00 01 */ addi r30, r30, 1
/* 803BA788 003B76E8 57 C6 04 3E */ clrlwi r6, r30, 0x10
/* 803BA78C 003B76EC 38 EA FF FB */ addi r7, r10, -5
/* 803BA790 003B76F0 7C 07 30 00 */ cmpw r7, r6
/* 803BA794 003B76F4 40 80 00 0C */ bge lbl_803BA7A0
/* 803BA798 003B76F8 38 60 FF FA */ li r3, -6
/* 803BA79C 003B76FC 48 00 00 74 */ b lbl_803BA810
lbl_803BA7A0:
/* 803BA7A0 003B7700 39 6B 00 01 */ addi r11, r11, 1
/* 803BA7A4 003B7704 55 66 04 3E */ clrlwi r6, r11, 0x10
/* 803BA7A8 003B7708 28 06 00 05 */ cmplwi r6, 5
/* 803BA7AC 003B770C 41 80 00 0C */ blt lbl_803BA7B8
/* 803BA7B0 003B7710 7C 06 50 40 */ cmplw r6, r10
/* 803BA7B4 003B7714 41 80 00 08 */ blt lbl_803BA7BC
lbl_803BA7B8:
/* 803BA7B8 003B7718 39 60 00 05 */ li r11, 5
lbl_803BA7BC:
/* 803BA7BC 003B771C 55 66 0B FC */ rlwinm r6, r11, 1, 0xf, 0x1e
/* 803BA7C0 003B7720 7C E8 32 14 */ add r7, r8, r6
/* 803BA7C4 003B7724 A0 C7 00 00 */ lhz r6, 0(r7)
/* 803BA7C8 003B7728 28 06 00 00 */ cmplwi r6, 0
/* 803BA7CC 003B772C 40 82 00 2C */ bne lbl_803BA7F8
/* 803BA7D0 003B7730 55 86 04 3E */ clrlwi r6, r12, 0x10
/* 803BA7D4 003B7734 28 06 FF FF */ cmplwi r6, 0xffff
/* 803BA7D8 003B7738 40 82 00 0C */ bne lbl_803BA7E4
/* 803BA7DC 003B773C 7D 6C 5B 78 */ mr r12, r11
/* 803BA7E0 003B7740 48 00 00 0C */ b lbl_803BA7EC
lbl_803BA7E4:
/* 803BA7E4 003B7744 57 E6 0B FC */ rlwinm r6, r31, 1, 0xf, 0x1e
/* 803BA7E8 003B7748 7D 68 33 2E */ sthx r11, r8, r6
lbl_803BA7EC:
/* 803BA7EC 003B774C B0 07 00 00 */ sth r0, 0(r7)
/* 803BA7F0 003B7750 3B EB 00 00 */ addi r31, r11, 0
/* 803BA7F4 003B7754 38 84 FF FF */ addi r4, r4, -1
lbl_803BA7F8:
/* 803BA7F8 003B7758 28 04 00 00 */ cmplwi r4, 0
/* 803BA7FC 003B775C 40 82 FF 84 */ bne lbl_803BA780
/* 803BA800 003B7760 B1 68 00 08 */ sth r11, 8(r8)
/* 803BA804 003B7764 7D 04 43 78 */ mr r4, r8
/* 803BA808 003B7768 B1 89 00 BE */ sth r12, 0xbe(r9)
/* 803BA80C 003B776C 48 00 00 B9 */ bl __CARDUpdateFatBlock
lbl_803BA810:
/* 803BA810 003B7770 80 01 00 24 */ lwz r0, 0x24(r1)
/* 803BA814 003B7774 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 803BA818 003B7778 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 803BA81C 003B777C 38 21 00 20 */ addi r1, r1, 0x20
/* 803BA820 003B7780 7C 08 03 A6 */ mtlr r0
/* 803BA824 003B7784 4E 80 00 20 */ blr
.global __CARDFreeBlock
__CARDFreeBlock:
/* 803BA828 003B7788 7C 08 02 A6 */ mflr r0
/* 803BA82C 003B778C 1C E3 01 10 */ mulli r7, r3, 0x110
/* 803BA830 003B7790 90 01 00 04 */ stw r0, 4(r1)
/* 803BA834 003B7794 3C C0 80 57 */ lis r6, __CARDBlock@ha
/* 803BA838 003B7798 94 21 FF F8 */ stwu r1, -8(r1)
/* 803BA83C 003B779C 38 06 9A 58 */ addi r0, r6, __CARDBlock@l
/* 803BA840 003B77A0 7D 20 3A 14 */ add r9, r0, r7
/* 803BA844 003B77A4 80 09 00 00 */ lwz r0, 0(r9)
/* 803BA848 003B77A8 2C 00 00 00 */ cmpwi r0, 0
/* 803BA84C 003B77AC 40 82 00 0C */ bne lbl_803BA858
/* 803BA850 003B77B0 38 60 FF FD */ li r3, -3
/* 803BA854 003B77B4 48 00 00 60 */ b lbl_803BA8B4
lbl_803BA858:
/* 803BA858 003B77B8 81 09 00 88 */ lwz r8, 0x88(r9)
/* 803BA85C 003B77BC 38 E0 00 00 */ li r7, 0
/* 803BA860 003B77C0 48 00 00 40 */ b lbl_803BA8A0
lbl_803BA864:
/* 803BA864 003B77C4 54 84 04 3E */ clrlwi r4, r4, 0x10
/* 803BA868 003B77C8 28 04 00 05 */ cmplwi r4, 5
/* 803BA86C 003B77CC 41 80 00 10 */ blt lbl_803BA87C
/* 803BA870 003B77D0 A0 09 00 10 */ lhz r0, 0x10(r9)
/* 803BA874 003B77D4 7C 04 00 40 */ cmplw r4, r0
/* 803BA878 003B77D8 41 80 00 0C */ blt lbl_803BA884
lbl_803BA87C:
/* 803BA87C 003B77DC 38 60 FF FA */ li r3, -6
/* 803BA880 003B77E0 48 00 00 34 */ b lbl_803BA8B4
lbl_803BA884:
/* 803BA884 003B77E4 54 80 08 3C */ slwi r0, r4, 1
/* 803BA888 003B77E8 7C C8 02 14 */ add r6, r8, r0
/* 803BA88C 003B77EC A0 86 00 00 */ lhz r4, 0(r6)
/* 803BA890 003B77F0 B0 E6 00 00 */ sth r7, 0(r6)
/* 803BA894 003B77F4 A0 C8 00 06 */ lhz r6, 6(r8)
/* 803BA898 003B77F8 38 06 00 01 */ addi r0, r6, 1
/* 803BA89C 003B77FC B0 08 00 06 */ sth r0, 6(r8)
lbl_803BA8A0:
/* 803BA8A0 003B7800 54 80 04 3E */ clrlwi r0, r4, 0x10
/* 803BA8A4 003B7804 28 00 FF FF */ cmplwi r0, 0xffff
/* 803BA8A8 003B7808 40 82 FF BC */ bne lbl_803BA864
/* 803BA8AC 003B780C 7D 04 43 78 */ mr r4, r8
/* 803BA8B0 003B7810 48 00 00 15 */ bl __CARDUpdateFatBlock
lbl_803BA8B4:
/* 803BA8B4 003B7814 80 01 00 0C */ lwz r0, 0xc(r1)
/* 803BA8B8 003B7818 38 21 00 08 */ addi r1, r1, 8
/* 803BA8BC 003B781C 7C 08 03 A6 */ mtlr r0
/* 803BA8C0 003B7820 4E 80 00 20 */ blr
.global __CARDUpdateFatBlock
__CARDUpdateFatBlock:
/* 803BA8C4 003B7824 7C 08 02 A6 */ mflr r0
/* 803BA8C8 003B7828 90 01 00 04 */ stw r0, 4(r1)
/* 803BA8CC 003B782C 94 21 FF D8 */ stwu r1, -0x28(r1)
/* 803BA8D0 003B7830 93 E1 00 24 */ stw r31, 0x24(r1)
/* 803BA8D4 003B7834 93 C1 00 20 */ stw r30, 0x20(r1)
/* 803BA8D8 003B7838 3B C5 00 00 */ addi r30, r5, 0
/* 803BA8DC 003B783C 93 A1 00 1C */ stw r29, 0x1c(r1)
/* 803BA8E0 003B7840 3B A4 00 00 */ addi r29, r4, 0
/* 803BA8E4 003B7844 38 BD 00 00 */ addi r5, r29, 0
/* 803BA8E8 003B7848 93 81 00 18 */ stw r28, 0x18(r1)
/* 803BA8EC 003B784C 3B 83 00 00 */ addi r28, r3, 0
/* 803BA8F0 003B7850 38 DD 00 02 */ addi r6, r29, 2
/* 803BA8F4 003B7854 A0 64 00 04 */ lhz r3, 4(r4)
/* 803BA8F8 003B7858 1C 9C 01 10 */ mulli r4, r28, 0x110
/* 803BA8FC 003B785C 38 03 00 01 */ addi r0, r3, 1
/* 803BA900 003B7860 3C 60 80 57 */ lis r3, __CARDBlock@ha
/* 803BA904 003B7864 B0 1D 00 04 */ sth r0, 4(r29)
/* 803BA908 003B7868 38 03 9A 58 */ addi r0, r3, __CARDBlock@l
/* 803BA90C 003B786C 7F E0 22 14 */ add r31, r0, r4
/* 803BA910 003B7870 38 7D 00 04 */ addi r3, r29, 4
/* 803BA914 003B7874 38 80 1F FC */ li r4, 0x1ffc
/* 803BA918 003B7878 48 00 02 BD */ bl __CARDCheckSum
/* 803BA91C 003B787C 38 7D 00 00 */ addi r3, r29, 0
/* 803BA920 003B7880 38 80 20 00 */ li r4, 0x2000
/* 803BA924 003B7884 4B FC 41 BD */ bl DCStoreRange
/* 803BA928 003B7888 93 DF 00 D8 */ stw r30, 0xd8(r31)
/* 803BA92C 003B788C 3C 60 80 3C */ lis r3, EraseCallback@ha
/* 803BA930 003B7890 38 A3 A6 48 */ addi r5, r3, EraseCallback@l
/* 803BA934 003B7894 80 1F 00 80 */ lwz r0, 0x80(r31)
/* 803BA938 003B7898 7F 83 E3 78 */ mr r3, r28
/* 803BA93C 003B789C 80 9F 00 0C */ lwz r4, 0xc(r31)
/* 803BA940 003B78A0 7C 00 E8 50 */ subf r0, r0, r29
/* 803BA944 003B78A4 54 00 9B 7E */ srwi r0, r0, 0xd
/* 803BA948 003B78A8 7C 84 01 D6 */ mullw r4, r4, r0
/* 803BA94C 003B78AC 4B FF E2 89 */ bl __CARDEraseSector
/* 803BA950 003B78B0 80 01 00 2C */ lwz r0, 0x2c(r1)
/* 803BA954 003B78B4 83 E1 00 24 */ lwz r31, 0x24(r1)
/* 803BA958 003B78B8 83 C1 00 20 */ lwz r30, 0x20(r1)
/* 803BA95C 003B78BC 83 A1 00 1C */ lwz r29, 0x1c(r1)
/* 803BA960 003B78C0 83 81 00 18 */ lwz r28, 0x18(r1)
/* 803BA964 003B78C4 38 21 00 28 */ addi r1, r1, 0x28
/* 803BA968 003B78C8 7C 08 03 A6 */ mtlr r0
/* 803BA96C 003B78CC 4E 80 00 20 */ blr

File diff suppressed because it is too large Load Diff

View File

@ -1,237 +0,0 @@
.include "macros.inc"
.section .text, "ax"
.fn CreateCallbackFat, local
/* 803BD1C0 003BA120 7C 08 02 A6 */ mflr r0
/* 803BD1C4 003BA124 90 01 00 04 */ stw r0, 4(r1)
/* 803BD1C8 003BA128 94 21 FF D8 */ stwu r1, -0x28(r1)
/* 803BD1CC 003BA12C BF 61 00 14 */ stmw r27, 0x14(r1)
/* 803BD1D0 003BA130 3B 83 00 00 */ addi r28, r3, 0
/* 803BD1D4 003BA134 3C 60 80 57 */ lis r3, __CARDBlock@ha
/* 803BD1D8 003BA138 1C BC 01 10 */ mulli r5, r28, 0x110
/* 803BD1DC 003BA13C 38 03 9A 58 */ addi r0, r3, __CARDBlock@l
/* 803BD1E0 003BA140 7F E0 2A 14 */ add r31, r0, r5
/* 803BD1E4 003BA144 83 BF 00 D0 */ lwz r29, 0xd0(r31)
/* 803BD1E8 003BA148 3B 60 00 00 */ li r27, 0
/* 803BD1EC 003BA14C 7C 9E 23 79 */ or. r30, r4, r4
/* 803BD1F0 003BA150 93 7F 00 D0 */ stw r27, 0xd0(r31)
/* 803BD1F4 003BA154 41 80 00 C0 */ blt lbl_803BD2B4
/* 803BD1F8 003BA158 7F E3 FB 78 */ mr r3, r31
/* 803BD1FC 003BA15C 4B FF D7 75 */ bl __CARDGetDirBlock
/* 803BD200 003BA160 A0 1F 00 BC */ lhz r0, 0xbc(r31)
/* 803BD204 003BA164 38 A0 00 04 */ li r5, 4
/* 803BD208 003BA168 80 9F 01 0C */ lwz r4, 0x10c(r31)
/* 803BD20C 003BA16C 54 00 30 32 */ slwi r0, r0, 6
/* 803BD210 003BA170 7F C3 02 14 */ add r30, r3, r0
/* 803BD214 003BA174 38 7E 00 00 */ addi r3, r30, 0
/* 803BD218 003BA178 4B C4 62 79 */ bl memcpy
/* 803BD21C 003BA17C 80 9F 01 0C */ lwz r4, 0x10c(r31)
/* 803BD220 003BA180 38 7E 00 04 */ addi r3, r30, 4
/* 803BD224 003BA184 38 A0 00 02 */ li r5, 2
/* 803BD228 003BA188 38 84 00 04 */ addi r4, r4, 4
/* 803BD22C 003BA18C 4B C4 62 65 */ bl memcpy
/* 803BD230 003BA190 38 00 00 04 */ li r0, 4
/* 803BD234 003BA194 98 1E 00 34 */ stb r0, 0x34(r30)
/* 803BD238 003BA198 38 00 FF FF */ li r0, -1
/* 803BD23C 003BA19C 3C 60 80 00 */ lis r3, 0x800000F8@ha
/* 803BD240 003BA1A0 9B 7E 00 35 */ stb r27, 0x35(r30)
/* 803BD244 003BA1A4 A0 9F 00 BE */ lhz r4, 0xbe(r31)
/* 803BD248 003BA1A8 B0 9E 00 36 */ sth r4, 0x36(r30)
/* 803BD24C 003BA1AC 9B 7E 00 07 */ stb r27, 7(r30)
/* 803BD250 003BA1B0 90 1E 00 2C */ stw r0, 0x2c(r30)
/* 803BD254 003BA1B4 B3 7E 00 30 */ sth r27, 0x30(r30)
/* 803BD258 003BA1B8 B3 7E 00 32 */ sth r27, 0x32(r30)
/* 803BD25C 003BA1BC 90 1E 00 3C */ stw r0, 0x3c(r30)
/* 803BD260 003BA1C0 A0 1E 00 32 */ lhz r0, 0x32(r30)
/* 803BD264 003BA1C4 54 00 00 3A */ rlwinm r0, r0, 0, 0, 0x1d
/* 803BD268 003BA1C8 60 00 00 01 */ ori r0, r0, 1
/* 803BD26C 003BA1CC B0 1E 00 32 */ sth r0, 0x32(r30)
/* 803BD270 003BA1D0 80 9F 00 C0 */ lwz r4, 0xc0(r31)
/* 803BD274 003BA1D4 93 64 00 08 */ stw r27, 8(r4)
/* 803BD278 003BA1D8 A0 1E 00 36 */ lhz r0, 0x36(r30)
/* 803BD27C 003BA1DC 80 9F 00 C0 */ lwz r4, 0xc0(r31)
/* 803BD280 003BA1E0 B0 04 00 10 */ sth r0, 0x10(r4)
/* 803BD284 003BA1E4 80 03 00 F8 */ lwz r0, 0x800000F8@l(r3)
/* 803BD288 003BA1E8 54 1B F0 BE */ srwi r27, r0, 2
/* 803BD28C 003BA1EC 4B FC 81 1D */ bl OSGetTime
/* 803BD290 003BA1F0 38 DB 00 00 */ addi r6, r27, 0
/* 803BD294 003BA1F4 38 A0 00 00 */ li r5, 0
/* 803BD298 003BA1F8 4B FC C9 35 */ bl __div2i
/* 803BD29C 003BA1FC 90 9E 00 28 */ stw r4, 0x28(r30)
/* 803BD2A0 003BA200 38 7C 00 00 */ addi r3, r28, 0
/* 803BD2A4 003BA204 38 9D 00 00 */ addi r4, r29, 0
/* 803BD2A8 003BA208 4B FF D8 69 */ bl __CARDUpdateDir
/* 803BD2AC 003BA20C 7C 7E 1B 79 */ or. r30, r3, r3
/* 803BD2B0 003BA210 40 80 00 2C */ bge lbl_803BD2DC
lbl_803BD2B4:
/* 803BD2B4 003BA214 38 7F 00 00 */ addi r3, r31, 0
/* 803BD2B8 003BA218 38 9E 00 00 */ addi r4, r30, 0
/* 803BD2BC 003BA21C 4B FF BB 9D */ bl __CARDPutControlBlock
/* 803BD2C0 003BA220 28 1D 00 00 */ cmplwi r29, 0
/* 803BD2C4 003BA224 41 82 00 18 */ beq lbl_803BD2DC
/* 803BD2C8 003BA228 39 9D 00 00 */ addi r12, r29, 0
/* 803BD2CC 003BA22C 7D 88 03 A6 */ mtlr r12
/* 803BD2D0 003BA230 38 7C 00 00 */ addi r3, r28, 0
/* 803BD2D4 003BA234 38 9E 00 00 */ addi r4, r30, 0
/* 803BD2D8 003BA238 4E 80 00 21 */ blrl
lbl_803BD2DC:
/* 803BD2DC 003BA23C BB 61 00 14 */ lmw r27, 0x14(r1)
/* 803BD2E0 003BA240 80 01 00 2C */ lwz r0, 0x2c(r1)
/* 803BD2E4 003BA244 38 21 00 28 */ addi r1, r1, 0x28
/* 803BD2E8 003BA248 7C 08 03 A6 */ mtlr r0
/* 803BD2EC 003BA24C 4E 80 00 20 */ blr
.endfn CreateCallbackFat
.global CARDCreateAsync
CARDCreateAsync:
/* 803BD2F0 003BA250 7C 08 02 A6 */ mflr r0
/* 803BD2F4 003BA254 90 01 00 04 */ stw r0, 4(r1)
/* 803BD2F8 003BA258 94 21 FF B8 */ stwu r1, -0x48(r1)
/* 803BD2FC 003BA25C BE E1 00 24 */ stmw r23, 0x24(r1)
/* 803BD300 003BA260 3B 44 00 00 */ addi r26, r4, 0
/* 803BD304 003BA264 3B 23 00 00 */ addi r25, r3, 0
/* 803BD308 003BA268 3B 65 00 00 */ addi r27, r5, 0
/* 803BD30C 003BA26C 3B 86 00 00 */ addi r28, r6, 0
/* 803BD310 003BA270 3B A7 00 00 */ addi r29, r7, 0
/* 803BD314 003BA274 38 7A 00 00 */ addi r3, r26, 0
/* 803BD318 003BA278 4B FD 2E A9 */ bl strlen
/* 803BD31C 003BA27C 28 03 00 20 */ cmplwi r3, 0x20
/* 803BD320 003BA280 40 81 00 0C */ ble lbl_803BD32C
/* 803BD324 003BA284 38 60 FF F4 */ li r3, -12
/* 803BD328 003BA288 48 00 01 D4 */ b lbl_803BD4FC
lbl_803BD32C:
/* 803BD32C 003BA28C 38 79 00 00 */ addi r3, r25, 0
/* 803BD330 003BA290 38 81 00 1C */ addi r4, r1, 0x1c
/* 803BD334 003BA294 4B FF BA 6D */ bl __CARDGetControlBlock
/* 803BD338 003BA298 2C 03 00 00 */ cmpwi r3, 0
/* 803BD33C 003BA29C 40 80 00 08 */ bge lbl_803BD344
/* 803BD340 003BA2A0 48 00 01 BC */ b lbl_803BD4FC
lbl_803BD344:
/* 803BD344 003BA2A4 28 1B 00 00 */ cmplwi r27, 0
/* 803BD348 003BA2A8 41 82 00 1C */ beq lbl_803BD364
/* 803BD34C 003BA2AC 80 61 00 1C */ lwz r3, 0x1c(r1)
/* 803BD350 003BA2B0 80 83 00 0C */ lwz r4, 0xc(r3)
/* 803BD354 003BA2B4 7C 1B 23 96 */ divwu r0, r27, r4
/* 803BD358 003BA2B8 7C 00 21 D6 */ mullw r0, r0, r4
/* 803BD35C 003BA2BC 7C 00 D8 51 */ subf. r0, r0, r27
/* 803BD360 003BA2C0 41 82 00 0C */ beq lbl_803BD36C
lbl_803BD364:
/* 803BD364 003BA2C4 38 60 FF 80 */ li r3, -128
/* 803BD368 003BA2C8 48 00 01 94 */ b lbl_803BD4FC
lbl_803BD36C:
/* 803BD36C 003BA2CC 3C 80 00 01 */ lis r4, 0x0000FFFF@ha
/* 803BD370 003BA2D0 3B C4 FF FF */ addi r30, r4, 0x0000FFFF@l
/* 803BD374 003BA2D4 4B FF D5 FD */ bl __CARDGetDirBlock
/* 803BD378 003BA2D8 3B E3 00 00 */ addi r31, r3, 0
/* 803BD37C 003BA2DC 3B 1F 00 00 */ addi r24, r31, 0
/* 803BD380 003BA2E0 3A E0 00 00 */ li r23, 0
/* 803BD384 003BA2E4 48 00 00 8C */ b lbl_803BD410
lbl_803BD388:
/* 803BD388 003BA2E8 88 18 00 00 */ lbz r0, 0(r24)
/* 803BD38C 003BA2EC 28 00 00 FF */ cmplwi r0, 0xff
/* 803BD390 003BA2F0 40 82 00 18 */ bne lbl_803BD3A8
/* 803BD394 003BA2F4 57 C0 04 3E */ clrlwi r0, r30, 0x10
/* 803BD398 003BA2F8 28 00 FF FF */ cmplwi r0, 0xffff
/* 803BD39C 003BA2FC 40 82 00 6C */ bne lbl_803BD408
/* 803BD3A0 003BA300 7E FE BB 78 */ mr r30, r23
/* 803BD3A4 003BA304 48 00 00 64 */ b lbl_803BD408
lbl_803BD3A8:
/* 803BD3A8 003BA308 80 81 00 1C */ lwz r4, 0x1c(r1)
/* 803BD3AC 003BA30C 38 78 00 00 */ addi r3, r24, 0
/* 803BD3B0 003BA310 38 A0 00 04 */ li r5, 4
/* 803BD3B4 003BA314 80 84 01 0C */ lwz r4, 0x10c(r4)
/* 803BD3B8 003BA318 4B FD 04 C5 */ bl memcmp
/* 803BD3BC 003BA31C 2C 03 00 00 */ cmpwi r3, 0
/* 803BD3C0 003BA320 40 82 00 48 */ bne lbl_803BD408
/* 803BD3C4 003BA324 80 81 00 1C */ lwz r4, 0x1c(r1)
/* 803BD3C8 003BA328 38 78 00 04 */ addi r3, r24, 4
/* 803BD3CC 003BA32C 38 A0 00 02 */ li r5, 2
/* 803BD3D0 003BA330 80 84 01 0C */ lwz r4, 0x10c(r4)
/* 803BD3D4 003BA334 38 84 00 04 */ addi r4, r4, 4
/* 803BD3D8 003BA338 4B FD 04 A5 */ bl memcmp
/* 803BD3DC 003BA33C 2C 03 00 00 */ cmpwi r3, 0
/* 803BD3E0 003BA340 40 82 00 28 */ bne lbl_803BD408
/* 803BD3E4 003BA344 38 78 00 00 */ addi r3, r24, 0
/* 803BD3E8 003BA348 38 9A 00 00 */ addi r4, r26, 0
/* 803BD3EC 003BA34C 4B FF F9 81 */ bl __CARDCompareFileName
/* 803BD3F0 003BA350 2C 03 00 00 */ cmpwi r3, 0
/* 803BD3F4 003BA354 41 82 00 14 */ beq lbl_803BD408
/* 803BD3F8 003BA358 80 61 00 1C */ lwz r3, 0x1c(r1)
/* 803BD3FC 003BA35C 38 80 FF F9 */ li r4, -7
/* 803BD400 003BA360 4B FF BA 59 */ bl __CARDPutControlBlock
/* 803BD404 003BA364 48 00 00 F8 */ b lbl_803BD4FC
lbl_803BD408:
/* 803BD408 003BA368 3B 18 00 40 */ addi r24, r24, 0x40
/* 803BD40C 003BA36C 3A F7 00 01 */ addi r23, r23, 1
lbl_803BD410:
/* 803BD410 003BA370 56 E0 04 3E */ clrlwi r0, r23, 0x10
/* 803BD414 003BA374 28 00 00 7F */ cmplwi r0, 0x7f
/* 803BD418 003BA378 41 80 FF 70 */ blt lbl_803BD388
/* 803BD41C 003BA37C 57 C0 04 3E */ clrlwi r0, r30, 0x10
/* 803BD420 003BA380 28 00 FF FF */ cmplwi r0, 0xffff
/* 803BD424 003BA384 40 82 00 14 */ bne lbl_803BD438
/* 803BD428 003BA388 80 61 00 1C */ lwz r3, 0x1c(r1)
/* 803BD42C 003BA38C 38 80 FF F8 */ li r4, -8
/* 803BD430 003BA390 4B FF BA 29 */ bl __CARDPutControlBlock
/* 803BD434 003BA394 48 00 00 C8 */ b lbl_803BD4FC
lbl_803BD438:
/* 803BD438 003BA398 80 61 00 1C */ lwz r3, 0x1c(r1)
/* 803BD43C 003BA39C 4B FF D1 31 */ bl __CARDGetFatBlock
/* 803BD440 003BA3A0 80 81 00 1C */ lwz r4, 0x1c(r1)
/* 803BD444 003BA3A4 A0 03 00 06 */ lhz r0, 6(r3)
/* 803BD448 003BA3A8 80 64 00 0C */ lwz r3, 0xc(r4)
/* 803BD44C 003BA3AC 7C 03 01 D6 */ mullw r0, r3, r0
/* 803BD450 003BA3B0 7C 00 D8 40 */ cmplw r0, r27
/* 803BD454 003BA3B4 40 80 00 14 */ bge lbl_803BD468
/* 803BD458 003BA3B8 38 64 00 00 */ addi r3, r4, 0
/* 803BD45C 003BA3BC 38 80 FF F7 */ li r4, -9
/* 803BD460 003BA3C0 4B FF B9 F9 */ bl __CARDPutControlBlock
/* 803BD464 003BA3C4 48 00 00 98 */ b lbl_803BD4FC
lbl_803BD468:
/* 803BD468 003BA3C8 28 1D 00 00 */ cmplwi r29, 0
/* 803BD46C 003BA3CC 41 82 00 0C */ beq lbl_803BD478
/* 803BD470 003BA3D0 7F A0 EB 78 */ mr r0, r29
/* 803BD474 003BA3D4 48 00 00 0C */ b lbl_803BD480
lbl_803BD478:
/* 803BD478 003BA3D8 3C 60 80 3B */ lis r3, __CARDDefaultApiCallback@ha
/* 803BD47C 003BA3DC 38 03 7E 74 */ addi r0, r3, __CARDDefaultApiCallback@l
lbl_803BD480:
/* 803BD480 003BA3E0 90 04 00 D0 */ stw r0, 0xd0(r4)
/* 803BD484 003BA3E4 57 C0 32 B2 */ rlwinm r0, r30, 6, 0xa, 0x19
/* 803BD488 003BA3E8 7C FF 02 14 */ add r7, r31, r0
/* 803BD48C 003BA3EC 80 61 00 1C */ lwz r3, 0x1c(r1)
/* 803BD490 003BA3F0 57 DD 04 3E */ clrlwi r29, r30, 0x10
/* 803BD494 003BA3F4 38 9A 00 00 */ addi r4, r26, 0
/* 803BD498 003BA3F8 B3 C3 00 BC */ sth r30, 0xbc(r3)
/* 803BD49C 003BA3FC 38 67 00 08 */ addi r3, r7, 8
/* 803BD4A0 003BA400 38 A0 00 20 */ li r5, 0x20
/* 803BD4A4 003BA404 80 C1 00 1C */ lwz r6, 0x1c(r1)
/* 803BD4A8 003BA408 80 06 00 0C */ lwz r0, 0xc(r6)
/* 803BD4AC 003BA40C 7C 1B 03 96 */ divwu r0, r27, r0
/* 803BD4B0 003BA410 B0 07 00 38 */ sth r0, 0x38(r7)
/* 803BD4B4 003BA414 4B FD 2C 11 */ bl strncpy
/* 803BD4B8 003BA418 80 81 00 1C */ lwz r4, 0x1c(r1)
/* 803BD4BC 003BA41C 3C 60 80 3C */ lis r3, CreateCallbackFat@ha
/* 803BD4C0 003BA420 38 A3 D1 C0 */ addi r5, r3, CreateCallbackFat@l
/* 803BD4C4 003BA424 93 84 00 C0 */ stw r28, 0xc0(r4)
/* 803BD4C8 003BA428 7F 23 CB 78 */ mr r3, r25
/* 803BD4CC 003BA42C 93 3C 00 00 */ stw r25, 0(r28)
/* 803BD4D0 003BA430 93 BC 00 04 */ stw r29, 4(r28)
/* 803BD4D4 003BA434 80 81 00 1C */ lwz r4, 0x1c(r1)
/* 803BD4D8 003BA438 80 04 00 0C */ lwz r0, 0xc(r4)
/* 803BD4DC 003BA43C 7C 9B 03 96 */ divwu r4, r27, r0
/* 803BD4E0 003BA440 4B FF D2 31 */ bl __CARDAllocBlock
/* 803BD4E4 003BA444 7C 64 1B 79 */ or. r4, r3, r3
/* 803BD4E8 003BA448 40 80 00 10 */ bge lbl_803BD4F8
/* 803BD4EC 003BA44C 80 61 00 1C */ lwz r3, 0x1c(r1)
/* 803BD4F0 003BA450 4B FF B9 69 */ bl __CARDPutControlBlock
/* 803BD4F4 003BA454 48 00 00 08 */ b lbl_803BD4FC
lbl_803BD4F8:
/* 803BD4F8 003BA458 7C 83 23 78 */ mr r3, r4
lbl_803BD4FC:
/* 803BD4FC 003BA45C BA E1 00 24 */ lmw r23, 0x24(r1)
/* 803BD500 003BA460 80 01 00 4C */ lwz r0, 0x4c(r1)
/* 803BD504 003BA464 38 21 00 48 */ addi r1, r1, 0x48
/* 803BD508 003BA468 7C 08 03 A6 */ mtlr r0
/* 803BD50C 003BA46C 4E 80 00 20 */ blr

View File

@ -1,214 +0,0 @@
.include "macros.inc"
.section .text, "ax"
.global DeleteCallback
DeleteCallback:
/* 803BDC74 003BABD4 7C 08 02 A6 */ mflr r0
/* 803BDC78 003BABD8 90 01 00 04 */ stw r0, 4(r1)
/* 803BDC7C 003BABDC 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 803BDC80 003BABE0 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 803BDC84 003BABE4 93 C1 00 18 */ stw r30, 0x18(r1)
/* 803BDC88 003BABE8 93 A1 00 14 */ stw r29, 0x14(r1)
/* 803BDC8C 003BABEC 7C 9D 23 79 */ or. r29, r4, r4
/* 803BDC90 003BABF0 93 81 00 10 */ stw r28, 0x10(r1)
/* 803BDC94 003BABF4 3B 83 00 00 */ addi r28, r3, 0
/* 803BDC98 003BABF8 1C BC 01 10 */ mulli r5, r28, 0x110
/* 803BDC9C 003BABFC 3C 60 80 57 */ lis r3, __CARDBlock@ha
/* 803BDCA0 003BAC00 38 03 9A 58 */ addi r0, r3, __CARDBlock@l
/* 803BDCA4 003BAC04 7F E0 2A 14 */ add r31, r0, r5
/* 803BDCA8 003BAC08 83 DF 00 D0 */ lwz r30, 0xd0(r31)
/* 803BDCAC 003BAC0C 38 00 00 00 */ li r0, 0
/* 803BDCB0 003BAC10 90 1F 00 D0 */ stw r0, 0xd0(r31)
/* 803BDCB4 003BAC14 41 80 00 1C */ blt lbl_803BDCD0
/* 803BDCB8 003BAC18 A0 9F 00 BE */ lhz r4, 0xbe(r31)
/* 803BDCBC 003BAC1C 38 7C 00 00 */ addi r3, r28, 0
/* 803BDCC0 003BAC20 38 BE 00 00 */ addi r5, r30, 0
/* 803BDCC4 003BAC24 4B FF CB 65 */ bl __CARDFreeBlock
/* 803BDCC8 003BAC28 7C 7D 1B 79 */ or. r29, r3, r3
/* 803BDCCC 003BAC2C 40 80 00 2C */ bge lbl_803BDCF8
lbl_803BDCD0:
/* 803BDCD0 003BAC30 38 7F 00 00 */ addi r3, r31, 0
/* 803BDCD4 003BAC34 38 9D 00 00 */ addi r4, r29, 0
/* 803BDCD8 003BAC38 4B FF B1 81 */ bl __CARDPutControlBlock
/* 803BDCDC 003BAC3C 28 1E 00 00 */ cmplwi r30, 0
/* 803BDCE0 003BAC40 41 82 00 18 */ beq lbl_803BDCF8
/* 803BDCE4 003BAC44 39 9E 00 00 */ addi r12, r30, 0
/* 803BDCE8 003BAC48 7D 88 03 A6 */ mtlr r12
/* 803BDCEC 003BAC4C 38 7C 00 00 */ addi r3, r28, 0
/* 803BDCF0 003BAC50 38 9D 00 00 */ addi r4, r29, 0
/* 803BDCF4 003BAC54 4E 80 00 21 */ blrl
lbl_803BDCF8:
/* 803BDCF8 003BAC58 80 01 00 24 */ lwz r0, 0x24(r1)
/* 803BDCFC 003BAC5C 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 803BDD00 003BAC60 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 803BDD04 003BAC64 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 803BDD08 003BAC68 83 81 00 10 */ lwz r28, 0x10(r1)
/* 803BDD0C 003BAC6C 38 21 00 20 */ addi r1, r1, 0x20
/* 803BDD10 003BAC70 7C 08 03 A6 */ mtlr r0
/* 803BDD14 003BAC74 4E 80 00 20 */ blr
.global CARDFastDeleteAsync
CARDFastDeleteAsync:
/* 803BDD18 003BAC78 7C 08 02 A6 */ mflr r0
/* 803BDD1C 003BAC7C 90 01 00 04 */ stw r0, 4(r1)
/* 803BDD20 003BAC80 94 21 FF D8 */ stwu r1, -0x28(r1)
/* 803BDD24 003BAC84 93 E1 00 24 */ stw r31, 0x24(r1)
/* 803BDD28 003BAC88 93 C1 00 20 */ stw r30, 0x20(r1)
/* 803BDD2C 003BAC8C 3B C5 00 00 */ addi r30, r5, 0
/* 803BDD30 003BAC90 93 A1 00 1C */ stw r29, 0x1c(r1)
/* 803BDD34 003BAC94 7C 9D 23 79 */ or. r29, r4, r4
/* 803BDD38 003BAC98 93 81 00 18 */ stw r28, 0x18(r1)
/* 803BDD3C 003BAC9C 3B 83 00 00 */ addi r28, r3, 0
/* 803BDD40 003BACA0 41 80 00 0C */ blt lbl_803BDD4C
/* 803BDD44 003BACA4 2C 1D 00 7F */ cmpwi r29, 0x7f
/* 803BDD48 003BACA8 41 80 00 0C */ blt lbl_803BDD54
lbl_803BDD4C:
/* 803BDD4C 003BACAC 38 60 FF 80 */ li r3, -128
/* 803BDD50 003BACB0 48 00 00 D4 */ b lbl_803BDE24
lbl_803BDD54:
/* 803BDD54 003BACB4 38 7C 00 00 */ addi r3, r28, 0
/* 803BDD58 003BACB8 38 81 00 14 */ addi r4, r1, 0x14
/* 803BDD5C 003BACBC 4B FF B0 45 */ bl __CARDGetControlBlock
/* 803BDD60 003BACC0 2C 03 00 00 */ cmpwi r3, 0
/* 803BDD64 003BACC4 40 80 00 08 */ bge lbl_803BDD6C
/* 803BDD68 003BACC8 48 00 00 BC */ b lbl_803BDE24
lbl_803BDD6C:
/* 803BDD6C 003BACCC 80 61 00 14 */ lwz r3, 0x14(r1)
/* 803BDD70 003BACD0 4B FF CC 01 */ bl __CARDGetDirBlock
/* 803BDD74 003BACD4 57 A0 30 32 */ slwi r0, r29, 6
/* 803BDD78 003BACD8 7F E3 02 14 */ add r31, r3, r0
/* 803BDD7C 003BACDC 80 61 00 14 */ lwz r3, 0x14(r1)
/* 803BDD80 003BACE0 7F E4 FB 78 */ mr r4, r31
/* 803BDD84 003BACE4 4B FF F0 51 */ bl __CARDAccess
/* 803BDD88 003BACE8 7C 64 1B 79 */ or. r4, r3, r3
/* 803BDD8C 003BACEC 40 80 00 10 */ bge lbl_803BDD9C
/* 803BDD90 003BACF0 80 61 00 14 */ lwz r3, 0x14(r1)
/* 803BDD94 003BACF4 4B FF B0 C5 */ bl __CARDPutControlBlock
/* 803BDD98 003BACF8 48 00 00 8C */ b lbl_803BDE24
lbl_803BDD9C:
/* 803BDD9C 003BACFC 80 61 00 14 */ lwz r3, 0x14(r1)
/* 803BDDA0 003BAD00 7F A4 EB 78 */ mr r4, r29
/* 803BDDA4 003BAD04 4B FF F4 15 */ bl __CARDIsOpened
/* 803BDDA8 003BAD08 2C 03 00 00 */ cmpwi r3, 0
/* 803BDDAC 003BAD0C 41 82 00 14 */ beq lbl_803BDDC0
/* 803BDDB0 003BAD10 80 61 00 14 */ lwz r3, 0x14(r1)
/* 803BDDB4 003BAD14 38 80 FF FF */ li r4, -1
/* 803BDDB8 003BAD18 4B FF B0 A1 */ bl __CARDPutControlBlock
/* 803BDDBC 003BAD1C 48 00 00 68 */ b lbl_803BDE24
lbl_803BDDC0:
/* 803BDDC0 003BAD20 A0 1F 00 36 */ lhz r0, 0x36(r31)
/* 803BDDC4 003BAD24 7F E3 FB 78 */ mr r3, r31
/* 803BDDC8 003BAD28 80 C1 00 14 */ lwz r6, 0x14(r1)
/* 803BDDCC 003BAD2C 38 80 00 FF */ li r4, 0xff
/* 803BDDD0 003BAD30 38 A0 00 40 */ li r5, 0x40
/* 803BDDD4 003BAD34 B0 06 00 BE */ sth r0, 0xbe(r6)
/* 803BDDD8 003BAD38 4B C4 55 D1 */ bl memset
/* 803BDDDC 003BAD3C 28 1E 00 00 */ cmplwi r30, 0
/* 803BDDE0 003BAD40 41 82 00 0C */ beq lbl_803BDDEC
/* 803BDDE4 003BAD44 7F C0 F3 78 */ mr r0, r30
/* 803BDDE8 003BAD48 48 00 00 0C */ b lbl_803BDDF4
lbl_803BDDEC:
/* 803BDDEC 003BAD4C 3C 60 80 3B */ lis r3, __CARDDefaultApiCallback@ha
/* 803BDDF0 003BAD50 38 03 7E 74 */ addi r0, r3, __CARDDefaultApiCallback@l
lbl_803BDDF4:
/* 803BDDF4 003BAD54 80 A1 00 14 */ lwz r5, 0x14(r1)
/* 803BDDF8 003BAD58 3C 60 80 3C */ lis r3, DeleteCallback@ha
/* 803BDDFC 003BAD5C 38 83 DC 74 */ addi r4, r3, DeleteCallback@l
/* 803BDE00 003BAD60 90 05 00 D0 */ stw r0, 0xd0(r5)
/* 803BDE04 003BAD64 7F 83 E3 78 */ mr r3, r28
/* 803BDE08 003BAD68 4B FF CD 09 */ bl __CARDUpdateDir
/* 803BDE0C 003BAD6C 7C 7F 1B 79 */ or. r31, r3, r3
/* 803BDE10 003BAD70 40 80 00 10 */ bge lbl_803BDE20
/* 803BDE14 003BAD74 80 61 00 14 */ lwz r3, 0x14(r1)
/* 803BDE18 003BAD78 7F E4 FB 78 */ mr r4, r31
/* 803BDE1C 003BAD7C 4B FF B0 3D */ bl __CARDPutControlBlock
lbl_803BDE20:
/* 803BDE20 003BAD80 7F E3 FB 78 */ mr r3, r31
lbl_803BDE24:
/* 803BDE24 003BAD84 80 01 00 2C */ lwz r0, 0x2c(r1)
/* 803BDE28 003BAD88 83 E1 00 24 */ lwz r31, 0x24(r1)
/* 803BDE2C 003BAD8C 83 C1 00 20 */ lwz r30, 0x20(r1)
/* 803BDE30 003BAD90 83 A1 00 1C */ lwz r29, 0x1c(r1)
/* 803BDE34 003BAD94 83 81 00 18 */ lwz r28, 0x18(r1)
/* 803BDE38 003BAD98 38 21 00 28 */ addi r1, r1, 0x28
/* 803BDE3C 003BAD9C 7C 08 03 A6 */ mtlr r0
/* 803BDE40 003BADA0 4E 80 00 20 */ blr
.global CARDDeleteAsync
CARDDeleteAsync:
/* 803BDE44 003BADA4 7C 08 02 A6 */ mflr r0
/* 803BDE48 003BADA8 90 01 00 04 */ stw r0, 4(r1)
/* 803BDE4C 003BADAC 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 803BDE50 003BADB0 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 803BDE54 003BADB4 3B E3 00 00 */ addi r31, r3, 0
/* 803BDE58 003BADB8 93 C1 00 28 */ stw r30, 0x28(r1)
/* 803BDE5C 003BADBC 3B C5 00 00 */ addi r30, r5, 0
/* 803BDE60 003BADC0 93 A1 00 24 */ stw r29, 0x24(r1)
/* 803BDE64 003BADC4 3B A4 00 00 */ addi r29, r4, 0
/* 803BDE68 003BADC8 38 81 00 18 */ addi r4, r1, 0x18
/* 803BDE6C 003BADCC 4B FF AF 35 */ bl __CARDGetControlBlock
/* 803BDE70 003BADD0 2C 03 00 00 */ cmpwi r3, 0
/* 803BDE74 003BADD4 40 80 00 08 */ bge lbl_803BDE7C
/* 803BDE78 003BADD8 48 00 00 C0 */ b lbl_803BDF38
lbl_803BDE7C:
/* 803BDE7C 003BADDC 80 61 00 18 */ lwz r3, 0x18(r1)
/* 803BDE80 003BADE0 38 9D 00 00 */ addi r4, r29, 0
/* 803BDE84 003BADE4 38 A1 00 14 */ addi r5, r1, 0x14
/* 803BDE88 003BADE8 4B FF F0 15 */ bl __CARDGetFileNo
/* 803BDE8C 003BADEC 7C 64 1B 79 */ or. r4, r3, r3
/* 803BDE90 003BADF0 40 80 00 10 */ bge lbl_803BDEA0
/* 803BDE94 003BADF4 80 61 00 18 */ lwz r3, 0x18(r1)
/* 803BDE98 003BADF8 4B FF AF C1 */ bl __CARDPutControlBlock
/* 803BDE9C 003BADFC 48 00 00 9C */ b lbl_803BDF38
lbl_803BDEA0:
/* 803BDEA0 003BAE00 80 61 00 18 */ lwz r3, 0x18(r1)
/* 803BDEA4 003BAE04 80 81 00 14 */ lwz r4, 0x14(r1)
/* 803BDEA8 003BAE08 4B FF F3 11 */ bl __CARDIsOpened
/* 803BDEAC 003BAE0C 2C 03 00 00 */ cmpwi r3, 0
/* 803BDEB0 003BAE10 41 82 00 14 */ beq lbl_803BDEC4
/* 803BDEB4 003BAE14 80 61 00 18 */ lwz r3, 0x18(r1)
/* 803BDEB8 003BAE18 38 80 FF FF */ li r4, -1
/* 803BDEBC 003BAE1C 4B FF AF 9D */ bl __CARDPutControlBlock
/* 803BDEC0 003BAE20 48 00 00 78 */ b lbl_803BDF38
lbl_803BDEC4:
/* 803BDEC4 003BAE24 80 61 00 18 */ lwz r3, 0x18(r1)
/* 803BDEC8 003BAE28 4B FF CA A9 */ bl __CARDGetDirBlock
/* 803BDECC 003BAE2C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803BDED0 003BAE30 38 80 00 FF */ li r4, 0xff
/* 803BDED4 003BAE34 80 C1 00 18 */ lwz r6, 0x18(r1)
/* 803BDED8 003BAE38 38 A0 00 40 */ li r5, 0x40
/* 803BDEDC 003BAE3C 54 00 30 32 */ slwi r0, r0, 6
/* 803BDEE0 003BAE40 7C 63 02 14 */ add r3, r3, r0
/* 803BDEE4 003BAE44 A0 03 00 36 */ lhz r0, 0x36(r3)
/* 803BDEE8 003BAE48 B0 06 00 BE */ sth r0, 0xbe(r6)
/* 803BDEEC 003BAE4C 4B C4 54 BD */ bl memset
/* 803BDEF0 003BAE50 28 1E 00 00 */ cmplwi r30, 0
/* 803BDEF4 003BAE54 41 82 00 0C */ beq lbl_803BDF00
/* 803BDEF8 003BAE58 7F C0 F3 78 */ mr r0, r30
/* 803BDEFC 003BAE5C 48 00 00 0C */ b lbl_803BDF08
lbl_803BDF00:
/* 803BDF00 003BAE60 3C 60 80 3B */ lis r3, __CARDDefaultApiCallback@ha
/* 803BDF04 003BAE64 38 03 7E 74 */ addi r0, r3, __CARDDefaultApiCallback@l
lbl_803BDF08:
/* 803BDF08 003BAE68 80 A1 00 18 */ lwz r5, 0x18(r1)
/* 803BDF0C 003BAE6C 3C 60 80 3C */ lis r3, DeleteCallback@ha
/* 803BDF10 003BAE70 38 83 DC 74 */ addi r4, r3, DeleteCallback@l
/* 803BDF14 003BAE74 90 05 00 D0 */ stw r0, 0xd0(r5)
/* 803BDF18 003BAE78 7F E3 FB 78 */ mr r3, r31
/* 803BDF1C 003BAE7C 4B FF CB F5 */ bl __CARDUpdateDir
/* 803BDF20 003BAE80 7C 7F 1B 79 */ or. r31, r3, r3
/* 803BDF24 003BAE84 40 80 00 10 */ bge lbl_803BDF34
/* 803BDF28 003BAE88 80 61 00 18 */ lwz r3, 0x18(r1)
/* 803BDF2C 003BAE8C 7F E4 FB 78 */ mr r4, r31
/* 803BDF30 003BAE90 4B FF AF 29 */ bl __CARDPutControlBlock
lbl_803BDF34:
/* 803BDF34 003BAE94 7F E3 FB 78 */ mr r3, r31
lbl_803BDF38:
/* 803BDF38 003BAE98 80 01 00 34 */ lwz r0, 0x34(r1)
/* 803BDF3C 003BAE9C 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 803BDF40 003BAEA0 83 C1 00 28 */ lwz r30, 0x28(r1)
/* 803BDF44 003BAEA4 83 A1 00 24 */ lwz r29, 0x24(r1)
/* 803BDF48 003BAEA8 38 21 00 30 */ addi r1, r1, 0x30
/* 803BDF4C 003BAEAC 7C 08 03 A6 */ mtlr r0
/* 803BDF50 003BAEB0 4E 80 00 20 */ blr

View File

@ -1,177 +0,0 @@
.include "macros.inc"
.section .text, "ax"
.global __CARDGetDirBlock
__CARDGetDirBlock:
/* 803BA970 003B78D0 80 63 00 84 */ lwz r3, 0x84(r3)
/* 803BA974 003B78D4 4E 80 00 20 */ blr
.fn WriteCallback, local
/* 803BA978 003B78D8 7C 08 02 A6 */ mflr r0
/* 803BA97C 003B78DC 90 01 00 04 */ stw r0, 4(r1)
/* 803BA980 003B78E0 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 803BA984 003B78E4 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 803BA988 003B78E8 93 C1 00 18 */ stw r30, 0x18(r1)
/* 803BA98C 003B78EC 7C 9E 23 79 */ or. r30, r4, r4
/* 803BA990 003B78F0 93 A1 00 14 */ stw r29, 0x14(r1)
/* 803BA994 003B78F4 3B A3 00 00 */ addi r29, r3, 0
/* 803BA998 003B78F8 1C BD 01 10 */ mulli r5, r29, 0x110
/* 803BA99C 003B78FC 3C 60 80 57 */ lis r3, __CARDBlock@ha
/* 803BA9A0 003B7900 38 03 9A 58 */ addi r0, r3, __CARDBlock@l
/* 803BA9A4 003B7904 7F E0 2A 14 */ add r31, r0, r5
/* 803BA9A8 003B7908 41 80 00 44 */ blt lbl_803BA9EC
/* 803BA9AC 003B790C 80 7F 00 80 */ lwz r3, 0x80(r31)
/* 803BA9B0 003B7910 80 1F 00 84 */ lwz r0, 0x84(r31)
/* 803BA9B4 003B7914 38 83 20 00 */ addi r4, r3, 0x2000
/* 803BA9B8 003B7918 7C 00 20 40 */ cmplw r0, r4
/* 803BA9BC 003B791C 38 03 40 00 */ addi r0, r3, 0x4000
/* 803BA9C0 003B7920 40 82 00 18 */ bne lbl_803BA9D8
/* 803BA9C4 003B7924 90 1F 00 84 */ stw r0, 0x84(r31)
/* 803BA9C8 003B7928 7C 03 03 78 */ mr r3, r0
/* 803BA9CC 003B792C 38 A0 20 00 */ li r5, 0x2000
/* 803BA9D0 003B7930 4B C4 8A C1 */ bl memcpy
/* 803BA9D4 003B7934 48 00 00 18 */ b lbl_803BA9EC
lbl_803BA9D8:
/* 803BA9D8 003B7938 90 9F 00 84 */ stw r4, 0x84(r31)
/* 803BA9DC 003B793C 38 64 00 00 */ addi r3, r4, 0
/* 803BA9E0 003B7940 7C 04 03 78 */ mr r4, r0
/* 803BA9E4 003B7944 38 A0 20 00 */ li r5, 0x2000
/* 803BA9E8 003B7948 4B C4 8A A9 */ bl memcpy
lbl_803BA9EC:
/* 803BA9EC 003B794C 80 1F 00 D0 */ lwz r0, 0xd0(r31)
/* 803BA9F0 003B7950 28 00 00 00 */ cmplwi r0, 0
/* 803BA9F4 003B7954 40 82 00 10 */ bne lbl_803BAA04
/* 803BA9F8 003B7958 38 7F 00 00 */ addi r3, r31, 0
/* 803BA9FC 003B795C 38 9E 00 00 */ addi r4, r30, 0
/* 803BAA00 003B7960 4B FF E4 59 */ bl __CARDPutControlBlock
lbl_803BAA04:
/* 803BAA04 003B7964 80 1F 00 D8 */ lwz r0, 0xd8(r31)
/* 803BAA08 003B7968 28 00 00 00 */ cmplwi r0, 0
/* 803BAA0C 003B796C 7C 0C 03 78 */ mr r12, r0
/* 803BAA10 003B7970 41 82 00 1C */ beq lbl_803BAA2C
/* 803BAA14 003B7974 38 00 00 00 */ li r0, 0
/* 803BAA18 003B7978 7D 88 03 A6 */ mtlr r12
/* 803BAA1C 003B797C 90 1F 00 D8 */ stw r0, 0xd8(r31)
/* 803BAA20 003B7980 38 7D 00 00 */ addi r3, r29, 0
/* 803BAA24 003B7984 38 9E 00 00 */ addi r4, r30, 0
/* 803BAA28 003B7988 4E 80 00 21 */ blrl
lbl_803BAA2C:
/* 803BAA2C 003B798C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 803BAA30 003B7990 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 803BAA34 003B7994 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 803BAA38 003B7998 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 803BAA3C 003B799C 38 21 00 20 */ addi r1, r1, 0x20
/* 803BAA40 003B79A0 7C 08 03 A6 */ mtlr r0
/* 803BAA44 003B79A4 4E 80 00 20 */ blr
.endfn WriteCallback
.fn EraseCallback, local
/* 803BAA48 003B79A8 7C 08 02 A6 */ mflr r0
/* 803BAA4C 003B79AC 90 01 00 04 */ stw r0, 4(r1)
/* 803BAA50 003B79B0 94 21 FF D8 */ stwu r1, -0x28(r1)
/* 803BAA54 003B79B4 93 E1 00 24 */ stw r31, 0x24(r1)
/* 803BAA58 003B79B8 3B E3 00 00 */ addi r31, r3, 0
/* 803BAA5C 003B79BC 3C 60 80 57 */ lis r3, __CARDBlock@ha
/* 803BAA60 003B79C0 93 C1 00 20 */ stw r30, 0x20(r1)
/* 803BAA64 003B79C4 1C BF 01 10 */ mulli r5, r31, 0x110
/* 803BAA68 003B79C8 93 A1 00 1C */ stw r29, 0x1c(r1)
/* 803BAA6C 003B79CC 38 03 9A 58 */ addi r0, r3, __CARDBlock@l
/* 803BAA70 003B79D0 7C 9D 23 79 */ or. r29, r4, r4
/* 803BAA74 003B79D4 7F C0 2A 14 */ add r30, r0, r5
/* 803BAA78 003B79D8 41 80 00 3C */ blt lbl_803BAAB4
/* 803BAA7C 003B79DC 80 BE 00 84 */ lwz r5, 0x84(r30)
/* 803BAA80 003B79E0 3C 60 80 3C */ lis r3, WriteCallback@ha
/* 803BAA84 003B79E4 80 1E 00 80 */ lwz r0, 0x80(r30)
/* 803BAA88 003B79E8 38 E3 A9 78 */ addi r7, r3, WriteCallback@l
/* 803BAA8C 003B79EC 80 7E 00 0C */ lwz r3, 0xc(r30)
/* 803BAA90 003B79F0 7C 00 28 50 */ subf r0, r0, r5
/* 803BAA94 003B79F4 54 00 9B 7E */ srwi r0, r0, 0xd
/* 803BAA98 003B79F8 7C 83 01 D6 */ mullw r4, r3, r0
/* 803BAA9C 003B79FC 38 C5 00 00 */ addi r6, r5, 0
/* 803BAAA0 003B7A00 38 7F 00 00 */ addi r3, r31, 0
/* 803BAAA4 003B7A04 38 A0 20 00 */ li r5, 0x2000
/* 803BAAA8 003B7A08 4B FF FA 61 */ bl __CARDWrite
/* 803BAAAC 003B7A0C 7C 7D 1B 79 */ or. r29, r3, r3
/* 803BAAB0 003B7A10 40 80 00 44 */ bge lbl_803BAAF4
lbl_803BAAB4:
/* 803BAAB4 003B7A14 80 1E 00 D0 */ lwz r0, 0xd0(r30)
/* 803BAAB8 003B7A18 28 00 00 00 */ cmplwi r0, 0
/* 803BAABC 003B7A1C 40 82 00 10 */ bne lbl_803BAACC
/* 803BAAC0 003B7A20 38 7E 00 00 */ addi r3, r30, 0
/* 803BAAC4 003B7A24 38 9D 00 00 */ addi r4, r29, 0
/* 803BAAC8 003B7A28 4B FF E3 91 */ bl __CARDPutControlBlock
lbl_803BAACC:
/* 803BAACC 003B7A2C 80 1E 00 D8 */ lwz r0, 0xd8(r30)
/* 803BAAD0 003B7A30 28 00 00 00 */ cmplwi r0, 0
/* 803BAAD4 003B7A34 7C 0C 03 78 */ mr r12, r0
/* 803BAAD8 003B7A38 41 82 00 1C */ beq lbl_803BAAF4
/* 803BAADC 003B7A3C 38 00 00 00 */ li r0, 0
/* 803BAAE0 003B7A40 7D 88 03 A6 */ mtlr r12
/* 803BAAE4 003B7A44 90 1E 00 D8 */ stw r0, 0xd8(r30)
/* 803BAAE8 003B7A48 38 7F 00 00 */ addi r3, r31, 0
/* 803BAAEC 003B7A4C 38 9D 00 00 */ addi r4, r29, 0
/* 803BAAF0 003B7A50 4E 80 00 21 */ blrl
lbl_803BAAF4:
/* 803BAAF4 003B7A54 80 01 00 2C */ lwz r0, 0x2c(r1)
/* 803BAAF8 003B7A58 83 E1 00 24 */ lwz r31, 0x24(r1)
/* 803BAAFC 003B7A5C 83 C1 00 20 */ lwz r30, 0x20(r1)
/* 803BAB00 003B7A60 83 A1 00 1C */ lwz r29, 0x1c(r1)
/* 803BAB04 003B7A64 38 21 00 28 */ addi r1, r1, 0x28
/* 803BAB08 003B7A68 7C 08 03 A6 */ mtlr r0
/* 803BAB0C 003B7A6C 4E 80 00 20 */ blr
.endfn EraseCallback
.global __CARDUpdateDir
__CARDUpdateDir:
/* 803BAB10 003B7A70 7C 08 02 A6 */ mflr r0
/* 803BAB14 003B7A74 90 01 00 04 */ stw r0, 4(r1)
/* 803BAB18 003B7A78 94 21 FF D8 */ stwu r1, -0x28(r1)
/* 803BAB1C 003B7A7C 93 E1 00 24 */ stw r31, 0x24(r1)
/* 803BAB20 003B7A80 93 C1 00 20 */ stw r30, 0x20(r1)
/* 803BAB24 003B7A84 93 A1 00 1C */ stw r29, 0x1c(r1)
/* 803BAB28 003B7A88 3B A4 00 00 */ addi r29, r4, 0
/* 803BAB2C 003B7A8C 93 81 00 18 */ stw r28, 0x18(r1)
/* 803BAB30 003B7A90 3B 83 00 00 */ addi r28, r3, 0
/* 803BAB34 003B7A94 1C BC 01 10 */ mulli r5, r28, 0x110
/* 803BAB38 003B7A98 3C 60 80 57 */ lis r3, __CARDBlock@ha
/* 803BAB3C 003B7A9C 38 03 9A 58 */ addi r0, r3, __CARDBlock@l
/* 803BAB40 003B7AA0 7F C0 2A 14 */ add r30, r0, r5
/* 803BAB44 003B7AA4 80 1E 00 00 */ lwz r0, 0(r30)
/* 803BAB48 003B7AA8 2C 00 00 00 */ cmpwi r0, 0
/* 803BAB4C 003B7AAC 40 82 00 0C */ bne lbl_803BAB58
/* 803BAB50 003B7AB0 38 60 FF FD */ li r3, -3
/* 803BAB54 003B7AB4 48 00 00 60 */ b lbl_803BABB4
lbl_803BAB58:
/* 803BAB58 003B7AB8 83 FE 00 84 */ lwz r31, 0x84(r30)
/* 803BAB5C 003B7ABC 38 80 1F FC */ li r4, 0x1ffc
/* 803BAB60 003B7AC0 A8 BF 1F FA */ lha r5, 0x1ffa(r31)
/* 803BAB64 003B7AC4 38 DF 1F C0 */ addi r6, r31, 0x1fc0
/* 803BAB68 003B7AC8 38 7F 00 00 */ addi r3, r31, 0
/* 803BAB6C 003B7ACC 38 05 00 01 */ addi r0, r5, 1
/* 803BAB70 003B7AD0 B0 1F 1F FA */ sth r0, 0x1ffa(r31)
/* 803BAB74 003B7AD4 38 A6 00 3C */ addi r5, r6, 0x3c
/* 803BAB78 003B7AD8 38 C6 00 3E */ addi r6, r6, 0x3e
/* 803BAB7C 003B7ADC 48 00 00 59 */ bl __CARDCheckSum
/* 803BAB80 003B7AE0 38 7F 00 00 */ addi r3, r31, 0
/* 803BAB84 003B7AE4 38 80 20 00 */ li r4, 0x2000
/* 803BAB88 003B7AE8 4B FC 3F 59 */ bl DCStoreRange
/* 803BAB8C 003B7AEC 93 BE 00 D8 */ stw r29, 0xd8(r30)
/* 803BAB90 003B7AF0 3C 60 80 3C */ lis r3, EraseCallback@ha
/* 803BAB94 003B7AF4 38 A3 AA 48 */ addi r5, r3, EraseCallback@l
/* 803BAB98 003B7AF8 80 1E 00 80 */ lwz r0, 0x80(r30)
/* 803BAB9C 003B7AFC 7F 83 E3 78 */ mr r3, r28
/* 803BABA0 003B7B00 80 9E 00 0C */ lwz r4, 0xc(r30)
/* 803BABA4 003B7B04 7C 00 F8 50 */ subf r0, r0, r31
/* 803BABA8 003B7B08 54 00 9B 7E */ srwi r0, r0, 0xd
/* 803BABAC 003B7B0C 7C 84 01 D6 */ mullw r4, r4, r0
/* 803BABB0 003B7B10 4B FF E0 25 */ bl __CARDEraseSector
lbl_803BABB4:
/* 803BABB4 003B7B14 80 01 00 2C */ lwz r0, 0x2c(r1)
/* 803BABB8 003B7B18 83 E1 00 24 */ lwz r31, 0x24(r1)
/* 803BABBC 003B7B1C 83 C1 00 20 */ lwz r30, 0x20(r1)
/* 803BABC0 003B7B20 83 A1 00 1C */ lwz r29, 0x1c(r1)
/* 803BABC4 003B7B24 83 81 00 18 */ lwz r28, 0x18(r1)
/* 803BABC8 003B7B28 38 21 00 28 */ addi r1, r1, 0x28
/* 803BABCC 003B7B2C 7C 08 03 A6 */ mtlr r0
/* 803BABD0 003B7B30 4E 80 00 20 */ blr

View File

@ -1,536 +0,0 @@
.include "macros.inc"
.section .text, "ax"
.fn FormatCallback, local
/* 803BC588 003B94E8 7C 08 02 A6 */ mflr r0
/* 803BC58C 003B94EC 90 01 00 04 */ stw r0, 4(r1)
/* 803BC590 003B94F0 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 803BC594 003B94F4 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 803BC598 003B94F8 93 C1 00 18 */ stw r30, 0x18(r1)
/* 803BC59C 003B94FC 3B C3 00 00 */ addi r30, r3, 0
/* 803BC5A0 003B9500 3C 60 80 57 */ lis r3, __CARDBlock@ha
/* 803BC5A4 003B9504 93 A1 00 14 */ stw r29, 0x14(r1)
/* 803BC5A8 003B9508 1C BE 01 10 */ mulli r5, r30, 0x110
/* 803BC5AC 003B950C 93 81 00 10 */ stw r28, 0x10(r1)
/* 803BC5B0 003B9510 38 03 9A 58 */ addi r0, r3, __CARDBlock@l
/* 803BC5B4 003B9514 7C 9C 23 79 */ or. r28, r4, r4
/* 803BC5B8 003B9518 7F E0 2A 14 */ add r31, r0, r5
/* 803BC5BC 003B951C 41 80 00 C4 */ blt lbl_803BC680
/* 803BC5C0 003B9520 80 7F 00 28 */ lwz r3, 0x28(r31)
/* 803BC5C4 003B9524 38 03 00 01 */ addi r0, r3, 1
/* 803BC5C8 003B9528 90 1F 00 28 */ stw r0, 0x28(r31)
/* 803BC5CC 003B952C 80 9F 00 28 */ lwz r4, 0x28(r31)
/* 803BC5D0 003B9530 2C 04 00 05 */ cmpwi r4, 5
/* 803BC5D4 003B9534 40 80 00 28 */ bge lbl_803BC5FC
/* 803BC5D8 003B9538 80 1F 00 0C */ lwz r0, 0xc(r31)
/* 803BC5DC 003B953C 3C 60 80 3C */ lis r3, FormatCallback@ha
/* 803BC5E0 003B9540 38 A3 C5 88 */ addi r5, r3, FormatCallback@l
/* 803BC5E4 003B9544 7C 80 21 D6 */ mullw r4, r0, r4
/* 803BC5E8 003B9548 38 7E 00 00 */ addi r3, r30, 0
/* 803BC5EC 003B954C 4B FF C5 E9 */ bl __CARDEraseSector
/* 803BC5F0 003B9550 7C 7C 1B 79 */ or. r28, r3, r3
/* 803BC5F4 003B9554 41 80 00 8C */ blt lbl_803BC680
/* 803BC5F8 003B9558 48 00 00 B4 */ b lbl_803BC6AC
lbl_803BC5FC:
/* 803BC5FC 003B955C 2C 04 00 0A */ cmpwi r4, 0xa
/* 803BC600 003B9560 40 80 00 3C */ bge lbl_803BC63C
/* 803BC604 003B9564 80 1F 00 0C */ lwz r0, 0xc(r31)
/* 803BC608 003B9568 38 C4 FF FB */ addi r6, r4, -5
/* 803BC60C 003B956C 3C 60 80 3C */ lis r3, FormatCallback@ha
/* 803BC610 003B9570 80 BF 00 80 */ lwz r5, 0x80(r31)
/* 803BC614 003B9574 7C 80 31 D6 */ mullw r4, r0, r6
/* 803BC618 003B9578 54 C0 68 24 */ slwi r0, r6, 0xd
/* 803BC61C 003B957C 38 E3 C5 88 */ addi r7, r3, FormatCallback@l
/* 803BC620 003B9580 7C C5 02 14 */ add r6, r5, r0
/* 803BC624 003B9584 38 7E 00 00 */ addi r3, r30, 0
/* 803BC628 003B9588 38 A0 20 00 */ li r5, 0x2000
/* 803BC62C 003B958C 4B FF DE DD */ bl __CARDWrite
/* 803BC630 003B9590 7C 7C 1B 79 */ or. r28, r3, r3
/* 803BC634 003B9594 41 80 00 4C */ blt lbl_803BC680
/* 803BC638 003B9598 48 00 00 74 */ b lbl_803BC6AC
lbl_803BC63C:
/* 803BC63C 003B959C 80 7F 00 80 */ lwz r3, 0x80(r31)
/* 803BC640 003B95A0 38 A0 20 00 */ li r5, 0x2000
/* 803BC644 003B95A4 38 03 20 00 */ addi r0, r3, 0x2000
/* 803BC648 003B95A8 90 1F 00 84 */ stw r0, 0x84(r31)
/* 803BC64C 003B95AC 80 9F 00 80 */ lwz r4, 0x80(r31)
/* 803BC650 003B95B0 80 7F 00 84 */ lwz r3, 0x84(r31)
/* 803BC654 003B95B4 38 84 40 00 */ addi r4, r4, 0x4000
/* 803BC658 003B95B8 4B C4 6E 39 */ bl memcpy
/* 803BC65C 003B95BC 80 7F 00 80 */ lwz r3, 0x80(r31)
/* 803BC660 003B95C0 38 A0 20 00 */ li r5, 0x2000
/* 803BC664 003B95C4 38 03 60 00 */ addi r0, r3, 0x6000
/* 803BC668 003B95C8 90 1F 00 88 */ stw r0, 0x88(r31)
/* 803BC66C 003B95CC 80 9F 00 80 */ lwz r4, 0x80(r31)
/* 803BC670 003B95D0 80 7F 00 88 */ lwz r3, 0x88(r31)
/* 803BC674 003B95D4 3C 84 00 01 */ addis r4, r4, 1
/* 803BC678 003B95D8 38 84 80 00 */ addi r4, r4, -32768
/* 803BC67C 003B95DC 4B C4 6E 15 */ bl memcpy
lbl_803BC680:
/* 803BC680 003B95E0 83 BF 00 D0 */ lwz r29, 0xd0(r31)
/* 803BC684 003B95E4 38 00 00 00 */ li r0, 0
/* 803BC688 003B95E8 38 7F 00 00 */ addi r3, r31, 0
/* 803BC68C 003B95EC 90 1F 00 D0 */ stw r0, 0xd0(r31)
/* 803BC690 003B95F0 7F 84 E3 78 */ mr r4, r28
/* 803BC694 003B95F4 4B FF C7 C5 */ bl __CARDPutControlBlock
/* 803BC698 003B95F8 39 9D 00 00 */ addi r12, r29, 0
/* 803BC69C 003B95FC 7D 88 03 A6 */ mtlr r12
/* 803BC6A0 003B9600 38 7E 00 00 */ addi r3, r30, 0
/* 803BC6A4 003B9604 38 9C 00 00 */ addi r4, r28, 0
/* 803BC6A8 003B9608 4E 80 00 21 */ blrl
lbl_803BC6AC:
/* 803BC6AC 003B960C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 803BC6B0 003B9610 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 803BC6B4 003B9614 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 803BC6B8 003B9618 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 803BC6BC 003B961C 83 81 00 10 */ lwz r28, 0x10(r1)
/* 803BC6C0 003B9620 38 21 00 20 */ addi r1, r1, 0x20
/* 803BC6C4 003B9624 7C 08 03 A6 */ mtlr r0
/* 803BC6C8 003B9628 4E 80 00 20 */ blr
.endfn FormatCallback
.global __CARDFormatRegionAsync
__CARDFormatRegionAsync:
/* 803BC6CC 003B962C 7C 08 02 A6 */ mflr r0
/* 803BC6D0 003B9630 90 01 00 04 */ stw r0, 4(r1)
/* 803BC6D4 003B9634 94 21 FF A8 */ stwu r1, -0x58(r1)
/* 803BC6D8 003B9638 BE 41 00 20 */ stmw r18, 0x20(r1)
/* 803BC6DC 003B963C 3A 84 00 00 */ addi r20, r4, 0
/* 803BC6E0 003B9640 3A C3 00 00 */ addi r22, r3, 0
/* 803BC6E4 003B9644 3A 65 00 00 */ addi r19, r5, 0
/* 803BC6E8 003B9648 38 81 00 18 */ addi r4, r1, 0x18
/* 803BC6EC 003B964C 4B FF C6 B5 */ bl __CARDGetControlBlock
/* 803BC6F0 003B9650 2C 03 00 00 */ cmpwi r3, 0
/* 803BC6F4 003B9654 40 80 00 08 */ bge lbl_803BC6FC
/* 803BC6F8 003B9658 48 00 06 18 */ b lbl_803BCD10
lbl_803BC6FC:
/* 803BC6FC 003B965C 80 61 00 18 */ lwz r3, 0x18(r1)
/* 803BC700 003B9660 38 80 00 FF */ li r4, 0xff
/* 803BC704 003B9664 38 A0 20 00 */ li r5, 0x2000
/* 803BC708 003B9668 83 63 00 80 */ lwz r27, 0x80(r3)
/* 803BC70C 003B966C 7F 63 DB 78 */ mr r3, r27
/* 803BC710 003B9670 4B C4 6C 99 */ bl memset
/* 803BC714 003B9674 3C 60 CC 00 */ lis r3, 0xCC00206E@ha
/* 803BC718 003B9678 A2 43 20 6E */ lhz r18, 0xCC00206E@l(r3)
/* 803BC71C 003B967C B2 9B 00 24 */ sth r20, 0x24(r27)
/* 803BC720 003B9680 4B FC 73 B5 */ bl __OSLockSram
/* 803BC724 003B9684 80 03 00 0C */ lwz r0, 0xc(r3)
/* 803BC728 003B9688 90 1B 00 14 */ stw r0, 0x14(r27)
/* 803BC72C 003B968C 88 03 00 12 */ lbz r0, 0x12(r3)
/* 803BC730 003B9690 38 60 00 00 */ li r3, 0
/* 803BC734 003B9694 90 1B 00 18 */ stw r0, 0x18(r27)
/* 803BC738 003B9698 4B FC 77 5D */ bl __OSUnlockSram
/* 803BC73C 003B969C 4B FC 8C 6D */ bl OSGetTime
/* 803BC740 003B96A0 3A A4 00 00 */ addi r21, r4, 0
/* 803BC744 003B96A4 3A 83 00 00 */ addi r20, r3, 0
/* 803BC748 003B96A8 3B 55 00 00 */ addi r26, r21, 0
/* 803BC74C 003B96AC 3B D4 00 00 */ addi r30, r20, 0
/* 803BC750 003B96B0 4B FC 73 E1 */ bl __OSLockSramEx
/* 803BC754 003B96B4 1C 16 00 0C */ mulli r0, r22, 0xc
/* 803BC758 003B96B8 7F 23 02 14 */ add r25, r3, r0
/* 803BC75C 003B96BC 3C 60 41 C6 */ lis r3, 0x41C64E6D@ha
/* 803BC760 003B96C0 3B 19 00 00 */ addi r24, r25, 0
/* 803BC764 003B96C4 3B E3 4E 6D */ addi r31, r3, 0x41C64E6D@l
/* 803BC768 003B96C8 3B 80 00 00 */ li r28, 0
/* 803BC76C 003B96CC 3A E0 00 04 */ li r23, 4
/* 803BC770 003B96D0 48 00 03 74 */ b lbl_803BCAE4
lbl_803BC774:
/* 803BC774 003B96D4 7C BE F9 D6 */ mullw r5, r30, r31
/* 803BC778 003B96D8 7C 7A F8 16 */ mulhwu r3, r26, r31
/* 803BC77C 003B96DC 3B C0 00 00 */ li r30, 0
/* 803BC780 003B96E0 7C A5 1A 14 */ add r5, r5, r3
/* 803BC784 003B96E4 7C 7A F1 D6 */ mullw r3, r26, r30
/* 803BC788 003B96E8 7C 1A F9 D6 */ mullw r0, r26, r31
/* 803BC78C 003B96EC 3B A0 30 39 */ li r29, 0x3039
/* 803BC790 003B96F0 7C 80 E8 14 */ addc r4, r0, r29
/* 803BC794 003B96F4 7C 05 1A 14 */ add r0, r5, r3
/* 803BC798 003B96F8 7C 60 F1 14 */ adde r3, r0, r30
/* 803BC79C 003B96FC 38 A0 00 10 */ li r5, 0x10
/* 803BC7A0 003B9700 4B FC D7 9D */ bl __shr2i
/* 803BC7A4 003B9704 7C C3 F9 D6 */ mullw r6, r3, r31
/* 803BC7A8 003B9708 88 18 00 00 */ lbz r0, 0(r24)
/* 803BC7AC 003B970C 7C A4 F8 16 */ mulhwu r5, r4, r31
/* 803BC7B0 003B9710 7C C6 2A 14 */ add r6, r6, r5
/* 803BC7B4 003B9714 7D 04 00 14 */ addc r8, r4, r0
/* 803BC7B8 003B9718 7F 87 07 34 */ extsh r7, r28
/* 803BC7BC 003B971C 7C A4 F1 D6 */ mullw r5, r4, r30
/* 803BC7C0 003B9720 7D 1B 39 AE */ stbx r8, r27, r7
/* 803BC7C4 003B9724 7C 04 F9 D6 */ mullw r0, r4, r31
/* 803BC7C8 003B9728 7C 80 E8 14 */ addc r4, r0, r29
/* 803BC7CC 003B972C 7C 06 2A 14 */ add r0, r6, r5
/* 803BC7D0 003B9730 7C 60 F1 14 */ adde r3, r0, r30
/* 803BC7D4 003B9734 38 A0 00 10 */ li r5, 0x10
/* 803BC7D8 003B9738 4B FC D7 65 */ bl __shr2i
/* 803BC7DC 003B973C 3B 40 7F FF */ li r26, 0x7fff
/* 803BC7E0 003B9740 7C 60 F0 38 */ and r0, r3, r30
/* 803BC7E4 003B9744 7C 84 D0 38 */ and r4, r4, r26
/* 803BC7E8 003B9748 7C A0 F9 D6 */ mullw r5, r0, r31
/* 803BC7EC 003B974C 7C 64 F8 16 */ mulhwu r3, r4, r31
/* 803BC7F0 003B9750 7C A5 1A 14 */ add r5, r5, r3
/* 803BC7F4 003B9754 7C 64 F1 D6 */ mullw r3, r4, r30
/* 803BC7F8 003B9758 7C 04 F9 D6 */ mullw r0, r4, r31
/* 803BC7FC 003B975C 7C 80 E8 14 */ addc r4, r0, r29
/* 803BC800 003B9760 7C 05 1A 14 */ add r0, r5, r3
/* 803BC804 003B9764 7C 60 F1 14 */ adde r3, r0, r30
/* 803BC808 003B9768 38 A0 00 10 */ li r5, 0x10
/* 803BC80C 003B976C 4B FC D7 31 */ bl __shr2i
/* 803BC810 003B9770 7C C3 F9 D6 */ mullw r6, r3, r31
/* 803BC814 003B9774 7C A4 F8 16 */ mulhwu r5, r4, r31
/* 803BC818 003B9778 39 3C 00 01 */ addi r9, r28, 1
/* 803BC81C 003B977C 7D 29 07 34 */ extsh r9, r9
/* 803BC820 003B9780 7C 19 48 AE */ lbzx r0, r25, r9
/* 803BC824 003B9784 7C C6 2A 14 */ add r6, r6, r5
/* 803BC828 003B9788 7C A4 F1 D6 */ mullw r5, r4, r30
/* 803BC82C 003B978C 7C E4 00 14 */ addc r7, r4, r0
/* 803BC830 003B9790 7C 04 F9 D6 */ mullw r0, r4, r31
/* 803BC834 003B9794 7C FB 49 AE */ stbx r7, r27, r9
/* 803BC838 003B9798 7C 80 E8 14 */ addc r4, r0, r29
/* 803BC83C 003B979C 7C 06 2A 14 */ add r0, r6, r5
/* 803BC840 003B97A0 7C 60 F1 14 */ adde r3, r0, r30
/* 803BC844 003B97A4 38 A0 00 10 */ li r5, 0x10
/* 803BC848 003B97A8 4B FC D6 F5 */ bl __shr2i
/* 803BC84C 003B97AC 7C 60 F0 38 */ and r0, r3, r30
/* 803BC850 003B97B0 7C 84 D0 38 */ and r4, r4, r26
/* 803BC854 003B97B4 7C A0 F9 D6 */ mullw r5, r0, r31
/* 803BC858 003B97B8 7C 64 F8 16 */ mulhwu r3, r4, r31
/* 803BC85C 003B97BC 7C A5 1A 14 */ add r5, r5, r3
/* 803BC860 003B97C0 7C 64 F1 D6 */ mullw r3, r4, r30
/* 803BC864 003B97C4 7C 04 F9 D6 */ mullw r0, r4, r31
/* 803BC868 003B97C8 7C 80 E8 14 */ addc r4, r0, r29
/* 803BC86C 003B97CC 7C 05 1A 14 */ add r0, r5, r3
/* 803BC870 003B97D0 7C 60 F1 14 */ adde r3, r0, r30
/* 803BC874 003B97D4 38 A0 00 10 */ li r5, 0x10
/* 803BC878 003B97D8 4B FC D6 C5 */ bl __shr2i
/* 803BC87C 003B97DC 7C C3 F9 D6 */ mullw r6, r3, r31
/* 803BC880 003B97E0 7C A4 F8 16 */ mulhwu r5, r4, r31
/* 803BC884 003B97E4 39 3C 00 02 */ addi r9, r28, 2
/* 803BC888 003B97E8 7D 29 07 34 */ extsh r9, r9
/* 803BC88C 003B97EC 7C 19 48 AE */ lbzx r0, r25, r9
/* 803BC890 003B97F0 7C C6 2A 14 */ add r6, r6, r5
/* 803BC894 003B97F4 7C A4 F1 D6 */ mullw r5, r4, r30
/* 803BC898 003B97F8 7C E4 00 14 */ addc r7, r4, r0
/* 803BC89C 003B97FC 7C 04 F9 D6 */ mullw r0, r4, r31
/* 803BC8A0 003B9800 7C FB 49 AE */ stbx r7, r27, r9
/* 803BC8A4 003B9804 7C 80 E8 14 */ addc r4, r0, r29
/* 803BC8A8 003B9808 7C 06 2A 14 */ add r0, r6, r5
/* 803BC8AC 003B980C 7C 60 F1 14 */ adde r3, r0, r30
/* 803BC8B0 003B9810 38 A0 00 10 */ li r5, 0x10
/* 803BC8B4 003B9814 4B FC D6 89 */ bl __shr2i
/* 803BC8B8 003B9818 7C 60 F0 38 */ and r0, r3, r30
/* 803BC8BC 003B981C 7C 84 D0 38 */ and r4, r4, r26
/* 803BC8C0 003B9820 7C A0 F9 D6 */ mullw r5, r0, r31
/* 803BC8C4 003B9824 7C 64 F8 16 */ mulhwu r3, r4, r31
/* 803BC8C8 003B9828 7C A5 1A 14 */ add r5, r5, r3
/* 803BC8CC 003B982C 7C 64 F1 D6 */ mullw r3, r4, r30
/* 803BC8D0 003B9830 7C 04 F9 D6 */ mullw r0, r4, r31
/* 803BC8D4 003B9834 7C 80 E8 14 */ addc r4, r0, r29
/* 803BC8D8 003B9838 7C 05 1A 14 */ add r0, r5, r3
/* 803BC8DC 003B983C 7C 60 F1 14 */ adde r3, r0, r30
/* 803BC8E0 003B9840 38 A0 00 10 */ li r5, 0x10
/* 803BC8E4 003B9844 4B FC D6 59 */ bl __shr2i
/* 803BC8E8 003B9848 7C C3 F9 D6 */ mullw r6, r3, r31
/* 803BC8EC 003B984C 7C A4 F8 16 */ mulhwu r5, r4, r31
/* 803BC8F0 003B9850 39 3C 00 03 */ addi r9, r28, 3
/* 803BC8F4 003B9854 7D 29 07 34 */ extsh r9, r9
/* 803BC8F8 003B9858 7C 19 48 AE */ lbzx r0, r25, r9
/* 803BC8FC 003B985C 7C C6 2A 14 */ add r6, r6, r5
/* 803BC900 003B9860 7C A4 F1 D6 */ mullw r5, r4, r30
/* 803BC904 003B9864 7C E4 00 14 */ addc r7, r4, r0
/* 803BC908 003B9868 7C 04 F9 D6 */ mullw r0, r4, r31
/* 803BC90C 003B986C 7C FB 49 AE */ stbx r7, r27, r9
/* 803BC910 003B9870 7C 80 E8 14 */ addc r4, r0, r29
/* 803BC914 003B9874 7C 06 2A 14 */ add r0, r6, r5
/* 803BC918 003B9878 7C 60 F1 14 */ adde r3, r0, r30
/* 803BC91C 003B987C 38 A0 00 10 */ li r5, 0x10
/* 803BC920 003B9880 4B FC D6 1D */ bl __shr2i
/* 803BC924 003B9884 7C 60 F0 38 */ and r0, r3, r30
/* 803BC928 003B9888 7C 84 D0 38 */ and r4, r4, r26
/* 803BC92C 003B988C 7C A0 F9 D6 */ mullw r5, r0, r31
/* 803BC930 003B9890 7C 64 F8 16 */ mulhwu r3, r4, r31
/* 803BC934 003B9894 7C A5 1A 14 */ add r5, r5, r3
/* 803BC938 003B9898 7C 64 F1 D6 */ mullw r3, r4, r30
/* 803BC93C 003B989C 7C 04 F9 D6 */ mullw r0, r4, r31
/* 803BC940 003B98A0 7C 80 E8 14 */ addc r4, r0, r29
/* 803BC944 003B98A4 7C 05 1A 14 */ add r0, r5, r3
/* 803BC948 003B98A8 7C 60 F1 14 */ adde r3, r0, r30
/* 803BC94C 003B98AC 38 A0 00 10 */ li r5, 0x10
/* 803BC950 003B98B0 4B FC D5 ED */ bl __shr2i
/* 803BC954 003B98B4 7C C3 F9 D6 */ mullw r6, r3, r31
/* 803BC958 003B98B8 7C A4 F8 16 */ mulhwu r5, r4, r31
/* 803BC95C 003B98BC 39 3C 00 04 */ addi r9, r28, 4
/* 803BC960 003B98C0 7D 29 07 34 */ extsh r9, r9
/* 803BC964 003B98C4 7C 19 48 AE */ lbzx r0, r25, r9
/* 803BC968 003B98C8 7C C6 2A 14 */ add r6, r6, r5
/* 803BC96C 003B98CC 7C A4 F1 D6 */ mullw r5, r4, r30
/* 803BC970 003B98D0 7C E4 00 14 */ addc r7, r4, r0
/* 803BC974 003B98D4 7C 04 F9 D6 */ mullw r0, r4, r31
/* 803BC978 003B98D8 7C FB 49 AE */ stbx r7, r27, r9
/* 803BC97C 003B98DC 7C 80 E8 14 */ addc r4, r0, r29
/* 803BC980 003B98E0 7C 06 2A 14 */ add r0, r6, r5
/* 803BC984 003B98E4 7C 60 F1 14 */ adde r3, r0, r30
/* 803BC988 003B98E8 38 A0 00 10 */ li r5, 0x10
/* 803BC98C 003B98EC 4B FC D5 B1 */ bl __shr2i
/* 803BC990 003B98F0 7C 60 F0 38 */ and r0, r3, r30
/* 803BC994 003B98F4 7C 84 D0 38 */ and r4, r4, r26
/* 803BC998 003B98F8 7C A0 F9 D6 */ mullw r5, r0, r31
/* 803BC99C 003B98FC 7C 64 F8 16 */ mulhwu r3, r4, r31
/* 803BC9A0 003B9900 7C A5 1A 14 */ add r5, r5, r3
/* 803BC9A4 003B9904 7C 64 F1 D6 */ mullw r3, r4, r30
/* 803BC9A8 003B9908 7C 04 F9 D6 */ mullw r0, r4, r31
/* 803BC9AC 003B990C 7C 80 E8 14 */ addc r4, r0, r29
/* 803BC9B0 003B9910 7C 05 1A 14 */ add r0, r5, r3
/* 803BC9B4 003B9914 7C 60 F1 14 */ adde r3, r0, r30
/* 803BC9B8 003B9918 38 A0 00 10 */ li r5, 0x10
/* 803BC9BC 003B991C 4B FC D5 81 */ bl __shr2i
/* 803BC9C0 003B9920 7C C3 F9 D6 */ mullw r6, r3, r31
/* 803BC9C4 003B9924 7C A4 F8 16 */ mulhwu r5, r4, r31
/* 803BC9C8 003B9928 39 3C 00 05 */ addi r9, r28, 5
/* 803BC9CC 003B992C 7D 29 07 34 */ extsh r9, r9
/* 803BC9D0 003B9930 7C 19 48 AE */ lbzx r0, r25, r9
/* 803BC9D4 003B9934 7C C6 2A 14 */ add r6, r6, r5
/* 803BC9D8 003B9938 7C A4 F1 D6 */ mullw r5, r4, r30
/* 803BC9DC 003B993C 7C E4 00 14 */ addc r7, r4, r0
/* 803BC9E0 003B9940 7C 04 F9 D6 */ mullw r0, r4, r31
/* 803BC9E4 003B9944 7C FB 49 AE */ stbx r7, r27, r9
/* 803BC9E8 003B9948 7C 80 E8 14 */ addc r4, r0, r29
/* 803BC9EC 003B994C 7C 06 2A 14 */ add r0, r6, r5
/* 803BC9F0 003B9950 7C 60 F1 14 */ adde r3, r0, r30
/* 803BC9F4 003B9954 38 A0 00 10 */ li r5, 0x10
/* 803BC9F8 003B9958 4B FC D5 45 */ bl __shr2i
/* 803BC9FC 003B995C 7C 60 F0 38 */ and r0, r3, r30
/* 803BCA00 003B9960 7C 84 D0 38 */ and r4, r4, r26
/* 803BCA04 003B9964 7C A0 F9 D6 */ mullw r5, r0, r31
/* 803BCA08 003B9968 7C 64 F8 16 */ mulhwu r3, r4, r31
/* 803BCA0C 003B996C 7C A5 1A 14 */ add r5, r5, r3
/* 803BCA10 003B9970 7C 64 F1 D6 */ mullw r3, r4, r30
/* 803BCA14 003B9974 7C 04 F9 D6 */ mullw r0, r4, r31
/* 803BCA18 003B9978 7C 80 E8 14 */ addc r4, r0, r29
/* 803BCA1C 003B997C 7C 05 1A 14 */ add r0, r5, r3
/* 803BCA20 003B9980 7C 60 F1 14 */ adde r3, r0, r30
/* 803BCA24 003B9984 38 A0 00 10 */ li r5, 0x10
/* 803BCA28 003B9988 4B FC D5 15 */ bl __shr2i
/* 803BCA2C 003B998C 7C C3 F9 D6 */ mullw r6, r3, r31
/* 803BCA30 003B9990 7C A4 F8 16 */ mulhwu r5, r4, r31
/* 803BCA34 003B9994 39 3C 00 06 */ addi r9, r28, 6
/* 803BCA38 003B9998 7D 29 07 34 */ extsh r9, r9
/* 803BCA3C 003B999C 7C 19 48 AE */ lbzx r0, r25, r9
/* 803BCA40 003B99A0 7C C6 2A 14 */ add r6, r6, r5
/* 803BCA44 003B99A4 7C A4 F1 D6 */ mullw r5, r4, r30
/* 803BCA48 003B99A8 7C E4 00 14 */ addc r7, r4, r0
/* 803BCA4C 003B99AC 7C 04 F9 D6 */ mullw r0, r4, r31
/* 803BCA50 003B99B0 7C FB 49 AE */ stbx r7, r27, r9
/* 803BCA54 003B99B4 7C 80 E8 14 */ addc r4, r0, r29
/* 803BCA58 003B99B8 7C 06 2A 14 */ add r0, r6, r5
/* 803BCA5C 003B99BC 7C 60 F1 14 */ adde r3, r0, r30
/* 803BCA60 003B99C0 38 A0 00 10 */ li r5, 0x10
/* 803BCA64 003B99C4 4B FC D4 D9 */ bl __shr2i
/* 803BCA68 003B99C8 7C 60 F0 38 */ and r0, r3, r30
/* 803BCA6C 003B99CC 7C 84 D0 38 */ and r4, r4, r26
/* 803BCA70 003B99D0 7C A0 F9 D6 */ mullw r5, r0, r31
/* 803BCA74 003B99D4 7C 64 F8 16 */ mulhwu r3, r4, r31
/* 803BCA78 003B99D8 7C A5 1A 14 */ add r5, r5, r3
/* 803BCA7C 003B99DC 7C 64 F1 D6 */ mullw r3, r4, r30
/* 803BCA80 003B99E0 7C 04 F9 D6 */ mullw r0, r4, r31
/* 803BCA84 003B99E4 7C 80 E8 14 */ addc r4, r0, r29
/* 803BCA88 003B99E8 7C 05 1A 14 */ add r0, r5, r3
/* 803BCA8C 003B99EC 7C 60 F1 14 */ adde r3, r0, r30
/* 803BCA90 003B99F0 38 A0 00 10 */ li r5, 0x10
/* 803BCA94 003B99F4 4B FC D4 A9 */ bl __shr2i
/* 803BCA98 003B99F8 7C C3 F9 D6 */ mullw r6, r3, r31
/* 803BCA9C 003B99FC 7C A4 F8 16 */ mulhwu r5, r4, r31
/* 803BCAA0 003B9A00 39 3C 00 07 */ addi r9, r28, 7
/* 803BCAA4 003B9A04 7D 29 07 34 */ extsh r9, r9
/* 803BCAA8 003B9A08 7C 19 48 AE */ lbzx r0, r25, r9
/* 803BCAAC 003B9A0C 7C C6 2A 14 */ add r6, r6, r5
/* 803BCAB0 003B9A10 7C A4 F1 D6 */ mullw r5, r4, r30
/* 803BCAB4 003B9A14 7C E4 00 14 */ addc r7, r4, r0
/* 803BCAB8 003B9A18 7C 04 F9 D6 */ mullw r0, r4, r31
/* 803BCABC 003B9A1C 7C FB 49 AE */ stbx r7, r27, r9
/* 803BCAC0 003B9A20 7C 80 E8 14 */ addc r4, r0, r29
/* 803BCAC4 003B9A24 7C 06 2A 14 */ add r0, r6, r5
/* 803BCAC8 003B9A28 7C 60 F1 14 */ adde r3, r0, r30
/* 803BCACC 003B9A2C 38 A0 00 10 */ li r5, 0x10
/* 803BCAD0 003B9A30 4B FC D4 6D */ bl __shr2i
/* 803BCAD4 003B9A34 7C 9A D0 38 */ and r26, r4, r26
/* 803BCAD8 003B9A38 7C 7E F0 38 */ and r30, r3, r30
/* 803BCADC 003B9A3C 3B 18 00 08 */ addi r24, r24, 8
/* 803BCAE0 003B9A40 3B 9C 00 08 */ addi r28, r28, 8
lbl_803BCAE4:
/* 803BCAE4 003B9A44 7F 80 07 34 */ extsh r0, r28
/* 803BCAE8 003B9A48 7C 00 B8 00 */ cmpw r0, r23
/* 803BCAEC 003B9A4C 41 80 FC 88 */ blt lbl_803BC774
/* 803BCAF0 003B9A50 48 00 02 18 */ b lbl_803BCD08
lbl_803BCAF4:
/* 803BCAF4 003B9A54 3C 60 41 C6 */ lis r3, 0x41C64E6D@ha
/* 803BCAF8 003B9A58 3B 23 4E 6D */ addi r25, r3, 0x41C64E6D@l
/* 803BCAFC 003B9A5C 48 00 00 80 */ b lbl_803BCB7C
lbl_803BCB00:
/* 803BCB00 003B9A60 7C BE C9 D6 */ mullw r5, r30, r25
/* 803BCB04 003B9A64 7C 7A C8 16 */ mulhwu r3, r26, r25
/* 803BCB08 003B9A68 3B 00 00 00 */ li r24, 0
/* 803BCB0C 003B9A6C 7C A5 1A 14 */ add r5, r5, r3
/* 803BCB10 003B9A70 7C 7A C1 D6 */ mullw r3, r26, r24
/* 803BCB14 003B9A74 7C 1A C9 D6 */ mullw r0, r26, r25
/* 803BCB18 003B9A78 3A E0 30 39 */ li r23, 0x3039
/* 803BCB1C 003B9A7C 7C 80 B8 14 */ addc r4, r0, r23
/* 803BCB20 003B9A80 7C 05 1A 14 */ add r0, r5, r3
/* 803BCB24 003B9A84 7C 60 C1 14 */ adde r3, r0, r24
/* 803BCB28 003B9A88 38 A0 00 10 */ li r5, 0x10
/* 803BCB2C 003B9A8C 4B FC D4 11 */ bl __shr2i
/* 803BCB30 003B9A90 7C C3 C9 D6 */ mullw r6, r3, r25
/* 803BCB34 003B9A94 88 1D 00 00 */ lbz r0, 0(r29)
/* 803BCB38 003B9A98 7C A4 C8 16 */ mulhwu r5, r4, r25
/* 803BCB3C 003B9A9C 7C C6 2A 14 */ add r6, r6, r5
/* 803BCB40 003B9AA0 7D 04 00 14 */ addc r8, r4, r0
/* 803BCB44 003B9AA4 7F 87 07 34 */ extsh r7, r28
/* 803BCB48 003B9AA8 7C A4 C1 D6 */ mullw r5, r4, r24
/* 803BCB4C 003B9AAC 7D 1B 39 AE */ stbx r8, r27, r7
/* 803BCB50 003B9AB0 7C 04 C9 D6 */ mullw r0, r4, r25
/* 803BCB54 003B9AB4 7C 80 B8 14 */ addc r4, r0, r23
/* 803BCB58 003B9AB8 7C 06 2A 14 */ add r0, r6, r5
/* 803BCB5C 003B9ABC 7C 60 C1 14 */ adde r3, r0, r24
/* 803BCB60 003B9AC0 38 A0 00 10 */ li r5, 0x10
/* 803BCB64 003B9AC4 4B FC D3 D9 */ bl __shr2i
/* 803BCB68 003B9AC8 38 00 7F FF */ li r0, 0x7fff
/* 803BCB6C 003B9ACC 7C 9A 00 38 */ and r26, r4, r0
/* 803BCB70 003B9AD0 7C 7E C0 38 */ and r30, r3, r24
/* 803BCB74 003B9AD4 3B BD 00 01 */ addi r29, r29, 1
/* 803BCB78 003B9AD8 3B 9C 00 01 */ addi r28, r28, 1
lbl_803BCB7C:
/* 803BCB7C 003B9ADC 7F 80 07 34 */ extsh r0, r28
/* 803BCB80 003B9AE0 2C 00 00 0C */ cmpwi r0, 0xc
/* 803BCB84 003B9AE4 41 80 FF 7C */ blt lbl_803BCB00
/* 803BCB88 003B9AE8 38 60 00 00 */ li r3, 0
/* 803BCB8C 003B9AEC 4B FC 73 2D */ bl __OSUnlockSramEx
/* 803BCB90 003B9AF0 92 5B 00 1C */ stw r18, 0x1c(r27)
/* 803BCB94 003B9AF4 3A 40 00 00 */ li r18, 0
/* 803BCB98 003B9AF8 38 7B 00 00 */ addi r3, r27, 0
/* 803BCB9C 003B9AFC 92 BB 00 10 */ stw r21, 0x10(r27)
/* 803BCBA0 003B9B00 38 BB 01 FC */ addi r5, r27, 0x1fc
/* 803BCBA4 003B9B04 38 DB 01 FE */ addi r6, r27, 0x1fe
/* 803BCBA8 003B9B08 92 9B 00 0C */ stw r20, 0xc(r27)
/* 803BCBAC 003B9B0C 38 80 01 FC */ li r4, 0x1fc
/* 803BCBB0 003B9B10 B2 5B 00 20 */ sth r18, 0x20(r27)
/* 803BCBB4 003B9B14 80 E1 00 18 */ lwz r7, 0x18(r1)
/* 803BCBB8 003B9B18 A0 07 00 08 */ lhz r0, 8(r7)
/* 803BCBBC 003B9B1C B0 1B 00 22 */ sth r0, 0x22(r27)
/* 803BCBC0 003B9B20 4B FF E0 15 */ bl __CARDCheckSum
/* 803BCBC4 003B9B24 48 00 00 4C */ b lbl_803BCC10
lbl_803BCBC8:
/* 803BCBC8 003B9B28 80 81 00 18 */ lwz r4, 0x18(r1)
/* 803BCBCC 003B9B2C 7E 43 07 34 */ extsh r3, r18
/* 803BCBD0 003B9B30 38 03 00 01 */ addi r0, r3, 1
/* 803BCBD4 003B9B34 80 64 00 80 */ lwz r3, 0x80(r4)
/* 803BCBD8 003B9B38 54 00 68 24 */ slwi r0, r0, 0xd
/* 803BCBDC 003B9B3C 38 80 00 FF */ li r4, 0xff
/* 803BCBE0 003B9B40 7E 83 02 14 */ add r20, r3, r0
/* 803BCBE4 003B9B44 38 74 00 00 */ addi r3, r20, 0
/* 803BCBE8 003B9B48 38 A0 20 00 */ li r5, 0x2000
/* 803BCBEC 003B9B4C 4B C4 67 BD */ bl memset
/* 803BCBF0 003B9B50 38 94 1F C0 */ addi r4, r20, 0x1fc0
/* 803BCBF4 003B9B54 B2 54 1F FA */ sth r18, 0x1ffa(r20)
/* 803BCBF8 003B9B58 38 74 00 00 */ addi r3, r20, 0
/* 803BCBFC 003B9B5C 38 A4 00 3C */ addi r5, r4, 0x3c
/* 803BCC00 003B9B60 38 C4 00 3E */ addi r6, r4, 0x3e
/* 803BCC04 003B9B64 38 80 1F FC */ li r4, 0x1ffc
/* 803BCC08 003B9B68 4B FF DF CD */ bl __CARDCheckSum
/* 803BCC0C 003B9B6C 3A 52 00 01 */ addi r18, r18, 1
lbl_803BCC10:
/* 803BCC10 003B9B70 7E 40 07 34 */ extsh r0, r18
/* 803BCC14 003B9B74 2C 00 00 02 */ cmpwi r0, 2
/* 803BCC18 003B9B78 41 80 FF B0 */ blt lbl_803BCBC8
/* 803BCC1C 003B9B7C 3A 40 00 00 */ li r18, 0
/* 803BCC20 003B9B80 48 00 00 60 */ b lbl_803BCC80
lbl_803BCC24:
/* 803BCC24 003B9B84 80 81 00 18 */ lwz r4, 0x18(r1)
/* 803BCC28 003B9B88 7E 43 07 34 */ extsh r3, r18
/* 803BCC2C 003B9B8C 38 03 00 03 */ addi r0, r3, 3
/* 803BCC30 003B9B90 80 64 00 80 */ lwz r3, 0x80(r4)
/* 803BCC34 003B9B94 54 00 68 24 */ slwi r0, r0, 0xd
/* 803BCC38 003B9B98 38 80 00 00 */ li r4, 0
/* 803BCC3C 003B9B9C 7E 83 02 14 */ add r20, r3, r0
/* 803BCC40 003B9BA0 38 74 00 00 */ addi r3, r20, 0
/* 803BCC44 003B9BA4 38 A0 20 00 */ li r5, 0x2000
/* 803BCC48 003B9BA8 4B C4 67 61 */ bl memset
/* 803BCC4C 003B9BAC B2 54 00 04 */ sth r18, 4(r20)
/* 803BCC50 003B9BB0 38 00 00 04 */ li r0, 4
/* 803BCC54 003B9BB4 38 B4 00 00 */ addi r5, r20, 0
/* 803BCC58 003B9BB8 80 81 00 18 */ lwz r4, 0x18(r1)
/* 803BCC5C 003B9BBC 38 74 00 04 */ addi r3, r20, 4
/* 803BCC60 003B9BC0 38 D4 00 02 */ addi r6, r20, 2
/* 803BCC64 003B9BC4 A0 E4 00 10 */ lhz r7, 0x10(r4)
/* 803BCC68 003B9BC8 38 80 1F FC */ li r4, 0x1ffc
/* 803BCC6C 003B9BCC 38 E7 FF FB */ addi r7, r7, -5
/* 803BCC70 003B9BD0 B0 F4 00 06 */ sth r7, 6(r20)
/* 803BCC74 003B9BD4 B0 14 00 08 */ sth r0, 8(r20)
/* 803BCC78 003B9BD8 4B FF DF 5D */ bl __CARDCheckSum
/* 803BCC7C 003B9BDC 3A 52 00 01 */ addi r18, r18, 1
lbl_803BCC80:
/* 803BCC80 003B9BE0 7E 40 07 34 */ extsh r0, r18
/* 803BCC84 003B9BE4 2C 00 00 02 */ cmpwi r0, 2
/* 803BCC88 003B9BE8 41 80 FF 9C */ blt lbl_803BCC24
/* 803BCC8C 003B9BEC 28 13 00 00 */ cmplwi r19, 0
/* 803BCC90 003B9BF0 41 82 00 0C */ beq lbl_803BCC9C
/* 803BCC94 003B9BF4 7E 60 9B 78 */ mr r0, r19
/* 803BCC98 003B9BF8 48 00 00 0C */ b lbl_803BCCA4
lbl_803BCC9C:
/* 803BCC9C 003B9BFC 3C 60 80 3B */ lis r3, __CARDDefaultApiCallback@ha
/* 803BCCA0 003B9C00 38 03 7E 74 */ addi r0, r3, __CARDDefaultApiCallback@l
lbl_803BCCA4:
/* 803BCCA4 003B9C04 80 A1 00 18 */ lwz r5, 0x18(r1)
/* 803BCCA8 003B9C08 3C 60 00 01 */ lis r3, 0x0000A000@ha
/* 803BCCAC 003B9C0C 38 83 A0 00 */ addi r4, r3, 0x0000A000@l
/* 803BCCB0 003B9C10 90 05 00 D0 */ stw r0, 0xd0(r5)
/* 803BCCB4 003B9C14 80 61 00 18 */ lwz r3, 0x18(r1)
/* 803BCCB8 003B9C18 80 63 00 80 */ lwz r3, 0x80(r3)
/* 803BCCBC 003B9C1C 4B FC 1E 25 */ bl DCStoreRange
/* 803BCCC0 003B9C20 80 81 00 18 */ lwz r4, 0x18(r1)
/* 803BCCC4 003B9C24 38 00 00 00 */ li r0, 0
/* 803BCCC8 003B9C28 3C 60 80 3C */ lis r3, FormatCallback@ha
/* 803BCCCC 003B9C2C 90 04 00 28 */ stw r0, 0x28(r4)
/* 803BCCD0 003B9C30 38 A3 C5 88 */ addi r5, r3, FormatCallback@l
/* 803BCCD4 003B9C34 38 76 00 00 */ addi r3, r22, 0
/* 803BCCD8 003B9C38 80 C1 00 18 */ lwz r6, 0x18(r1)
/* 803BCCDC 003B9C3C 80 86 00 0C */ lwz r4, 0xc(r6)
/* 803BCCE0 003B9C40 80 06 00 28 */ lwz r0, 0x28(r6)
/* 803BCCE4 003B9C44 7C 84 01 D6 */ mullw r4, r4, r0
/* 803BCCE8 003B9C48 4B FF BE ED */ bl __CARDEraseSector
/* 803BCCEC 003B9C4C 7C 72 1B 79 */ or. r18, r3, r3
/* 803BCCF0 003B9C50 40 80 00 10 */ bge lbl_803BCD00
/* 803BCCF4 003B9C54 80 61 00 18 */ lwz r3, 0x18(r1)
/* 803BCCF8 003B9C58 7E 44 93 78 */ mr r4, r18
/* 803BCCFC 003B9C5C 4B FF C1 5D */ bl __CARDPutControlBlock
lbl_803BCD00:
/* 803BCD00 003B9C60 7E 43 93 78 */ mr r3, r18
/* 803BCD04 003B9C64 48 00 00 0C */ b lbl_803BCD10
lbl_803BCD08:
/* 803BCD08 003B9C68 7F B9 02 14 */ add r29, r25, r0
/* 803BCD0C 003B9C6C 4B FF FD E8 */ b lbl_803BCAF4
lbl_803BCD10:
/* 803BCD10 003B9C70 BA 41 00 20 */ lmw r18, 0x20(r1)
/* 803BCD14 003B9C74 80 01 00 5C */ lwz r0, 0x5c(r1)
/* 803BCD18 003B9C78 38 21 00 58 */ addi r1, r1, 0x58
/* 803BCD1C 003B9C7C 7C 08 03 A6 */ mtlr r0
/* 803BCD20 003B9C80 4E 80 00 20 */ blr
.global CARDFormatAsync
CARDFormatAsync:
/* 803BCD24 003B9C84 7C 08 02 A6 */ mflr r0
/* 803BCD28 003B9C88 90 01 00 04 */ stw r0, 4(r1)
/* 803BCD2C 003B9C8C 94 21 FF E8 */ stwu r1, -0x18(r1)
/* 803BCD30 003B9C90 93 E1 00 14 */ stw r31, 0x14(r1)
/* 803BCD34 003B9C94 3B E4 00 00 */ addi r31, r4, 0
/* 803BCD38 003B9C98 93 C1 00 10 */ stw r30, 0x10(r1)
/* 803BCD3C 003B9C9C 3B C3 00 00 */ addi r30, r3, 0
/* 803BCD40 003B9CA0 4B FF C0 21 */ bl __CARDGetFontEncode
/* 803BCD44 003B9CA4 38 83 00 00 */ addi r4, r3, 0
/* 803BCD48 003B9CA8 38 7E 00 00 */ addi r3, r30, 0
/* 803BCD4C 003B9CAC 38 BF 00 00 */ addi r5, r31, 0
/* 803BCD50 003B9CB0 4B FF F9 7D */ bl __CARDFormatRegionAsync
/* 803BCD54 003B9CB4 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 803BCD58 003B9CB8 83 E1 00 14 */ lwz r31, 0x14(r1)
/* 803BCD5C 003B9CBC 83 C1 00 10 */ lwz r30, 0x10(r1)
/* 803BCD60 003B9CC0 38 21 00 18 */ addi r1, r1, 0x18
/* 803BCD64 003B9CC4 7C 08 03 A6 */ mtlr r0
/* 803BCD68 003B9CC8 4E 80 00 20 */ blr

View File

@ -1,785 +0,0 @@
.include "macros.inc"
.section .data, "wa"
.balign 8
.global SectorSizeTable
SectorSizeTable:
.4byte 0x00002000
.4byte 0x00004000
.4byte 0x00008000
.4byte 0x00010000
.4byte 0x00020000
.4byte 0x00040000
.4byte 0x00000000
.4byte 0x00000000
.global LatencyTable
LatencyTable:
.4byte 0x00000004
.4byte 0x00000008
.4byte 0x00000010
.4byte 0x00000020
.4byte 0x00000040
.4byte 0x00000080
.4byte 0x00000100
.4byte 0x00000200
.section .text, "ax"
.global IsCard
IsCard:
/* 803BBB10 003B8A70 54 60 00 1F */ rlwinm. r0, r3, 0, 0, 0xf
/* 803BBB14 003B8A74 41 82 00 24 */ beq lbl_803BBB38
/* 803BBB18 003B8A78 3C 03 80 00 */ addis r0, r3, 0x8000
/* 803BBB1C 003B8A7C 28 00 00 04 */ cmplwi r0, 4
/* 803BBB20 003B8A80 40 82 00 10 */ bne lbl_803BBB30
/* 803BBB24 003B8A84 A0 0D A0 40 */ lhz r0, __CARDVendorID@sda21(r13)
/* 803BBB28 003B8A88 28 00 FF FF */ cmplwi r0, 0xffff
/* 803BBB2C 003B8A8C 40 82 00 0C */ bne lbl_803BBB38
lbl_803BBB30:
/* 803BBB30 003B8A90 38 60 00 00 */ li r3, 0
/* 803BBB34 003B8A94 4E 80 00 20 */ blr
lbl_803BBB38:
/* 803BBB38 003B8A98 54 60 07 BF */ clrlwi. r0, r3, 0x1e
/* 803BBB3C 003B8A9C 41 82 00 0C */ beq lbl_803BBB48
/* 803BBB40 003B8AA0 38 60 00 00 */ li r3, 0
/* 803BBB44 003B8AA4 4E 80 00 20 */ blr
lbl_803BBB48:
/* 803BBB48 003B8AA8 54 65 06 3A */ rlwinm r5, r3, 0, 0x18, 0x1d
/* 803BBB4C 003B8AAC 2C 05 00 20 */ cmpwi r5, 0x20
/* 803BBB50 003B8AB0 41 82 00 48 */ beq lbl_803BBB98
/* 803BBB54 003B8AB4 40 80 00 28 */ bge lbl_803BBB7C
/* 803BBB58 003B8AB8 2C 05 00 08 */ cmpwi r5, 8
/* 803BBB5C 003B8ABC 41 82 00 3C */ beq lbl_803BBB98
/* 803BBB60 003B8AC0 40 80 00 10 */ bge lbl_803BBB70
/* 803BBB64 003B8AC4 2C 05 00 04 */ cmpwi r5, 4
/* 803BBB68 003B8AC8 41 82 00 30 */ beq lbl_803BBB98
/* 803BBB6C 003B8ACC 48 00 00 24 */ b lbl_803BBB90
lbl_803BBB70:
/* 803BBB70 003B8AD0 2C 05 00 10 */ cmpwi r5, 0x10
/* 803BBB74 003B8AD4 41 82 00 24 */ beq lbl_803BBB98
/* 803BBB78 003B8AD8 48 00 00 18 */ b lbl_803BBB90
lbl_803BBB7C:
/* 803BBB7C 003B8ADC 2C 05 00 80 */ cmpwi r5, 0x80
/* 803BBB80 003B8AE0 41 82 00 18 */ beq lbl_803BBB98
/* 803BBB84 003B8AE4 40 80 00 0C */ bge lbl_803BBB90
/* 803BBB88 003B8AE8 2C 05 00 40 */ cmpwi r5, 0x40
/* 803BBB8C 003B8AEC 41 82 00 0C */ beq lbl_803BBB98
lbl_803BBB90:
/* 803BBB90 003B8AF0 38 60 00 00 */ li r3, 0
/* 803BBB94 003B8AF4 4E 80 00 20 */ blr
lbl_803BBB98:
/* 803BBB98 003B8AF8 3C 80 80 3F */ lis r4, SectorSizeTable@ha
/* 803BBB9C 003B8AFC 54 63 BE FA */ rlwinm r3, r3, 0x17, 0x1b, 0x1d
/* 803BBBA0 003B8B00 38 04 6E 60 */ addi r0, r4, SectorSizeTable@l
/* 803BBBA4 003B8B04 7C 60 1A 14 */ add r3, r0, r3
/* 803BBBA8 003B8B08 80 63 00 00 */ lwz r3, 0(r3)
/* 803BBBAC 003B8B0C 2C 03 00 00 */ cmpwi r3, 0
/* 803BBBB0 003B8B10 40 82 00 0C */ bne lbl_803BBBBC
/* 803BBBB4 003B8B14 38 60 00 00 */ li r3, 0
/* 803BBBB8 003B8B18 4E 80 00 20 */ blr
lbl_803BBBBC:
/* 803BBBBC 003B8B1C 54 A0 88 DC */ rlwinm r0, r5, 0x11, 3, 0xe
/* 803BBBC0 003B8B20 7C 00 1B 96 */ divwu r0, r0, r3
/* 803BBBC4 003B8B24 28 00 00 08 */ cmplwi r0, 8
/* 803BBBC8 003B8B28 40 80 00 0C */ bge lbl_803BBBD4
/* 803BBBCC 003B8B2C 38 60 00 00 */ li r3, 0
/* 803BBBD0 003B8B30 4E 80 00 20 */ blr
lbl_803BBBD4:
/* 803BBBD4 003B8B34 38 60 00 01 */ li r3, 1
/* 803BBBD8 003B8B38 4E 80 00 20 */ blr
.global CARDProbeEx
CARDProbeEx:
/* 803BBBDC 003B8B3C 7C 08 02 A6 */ mflr r0
/* 803BBBE0 003B8B40 90 01 00 04 */ stw r0, 4(r1)
/* 803BBBE4 003B8B44 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 803BBBE8 003B8B48 BF 61 00 1C */ stmw r27, 0x1c(r1)
/* 803BBBEC 003B8B4C 7C 7B 1B 79 */ or. r27, r3, r3
/* 803BBBF0 003B8B50 3B 84 00 00 */ addi r28, r4, 0
/* 803BBBF4 003B8B54 3B E5 00 00 */ addi r31, r5, 0
/* 803BBBF8 003B8B58 41 80 00 0C */ blt lbl_803BBC04
/* 803BBBFC 003B8B5C 2C 1B 00 02 */ cmpwi r27, 2
/* 803BBC00 003B8B60 41 80 00 0C */ blt lbl_803BBC0C
lbl_803BBC04:
/* 803BBC04 003B8B64 38 60 FF 80 */ li r3, -128
/* 803BBC08 003B8B68 48 00 01 3C */ b lbl_803BBD44
lbl_803BBC0C:
/* 803BBC0C 003B8B6C 3C 60 80 00 */ lis r3, 0x800030E3@ha
/* 803BBC10 003B8B70 88 03 30 E3 */ lbz r0, 0x800030E3@l(r3)
/* 803BBC14 003B8B74 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18
/* 803BBC18 003B8B78 41 82 00 0C */ beq lbl_803BBC24
/* 803BBC1C 003B8B7C 38 60 FF FD */ li r3, -3
/* 803BBC20 003B8B80 48 00 01 24 */ b lbl_803BBD44
lbl_803BBC24:
/* 803BBC24 003B8B84 1C 9B 01 10 */ mulli r4, r27, 0x110
/* 803BBC28 003B8B88 3C 60 80 57 */ lis r3, __CARDBlock@ha
/* 803BBC2C 003B8B8C 38 03 9A 58 */ addi r0, r3, __CARDBlock@l
/* 803BBC30 003B8B90 7F C0 22 14 */ add r30, r0, r4
/* 803BBC34 003B8B94 4B FC 5A 2D */ bl OSDisableInterrupts
/* 803BBC38 003B8B98 3B A3 00 00 */ addi r29, r3, 0
/* 803BBC3C 003B8B9C 38 7B 00 00 */ addi r3, r27, 0
/* 803BBC40 003B8BA0 48 00 4D A1 */ bl EXIProbeEx
/* 803BBC44 003B8BA4 2C 03 FF FF */ cmpwi r3, -1
/* 803BBC48 003B8BA8 40 82 00 0C */ bne lbl_803BBC54
/* 803BBC4C 003B8BAC 3B C0 FF FD */ li r30, -3
/* 803BBC50 003B8BB0 48 00 00 E8 */ b lbl_803BBD38
lbl_803BBC54:
/* 803BBC54 003B8BB4 2C 03 00 00 */ cmpwi r3, 0
/* 803BBC58 003B8BB8 40 82 00 0C */ bne lbl_803BBC64
/* 803BBC5C 003B8BBC 3B C0 FF FF */ li r30, -1
/* 803BBC60 003B8BC0 48 00 00 D8 */ b lbl_803BBD38
lbl_803BBC64:
/* 803BBC64 003B8BC4 80 1E 00 00 */ lwz r0, 0(r30)
/* 803BBC68 003B8BC8 2C 00 00 00 */ cmpwi r0, 0
/* 803BBC6C 003B8BCC 41 82 00 40 */ beq lbl_803BBCAC
/* 803BBC70 003B8BD0 80 1E 00 24 */ lwz r0, 0x24(r30)
/* 803BBC74 003B8BD4 2C 00 00 01 */ cmpwi r0, 1
/* 803BBC78 003B8BD8 40 80 00 0C */ bge lbl_803BBC84
/* 803BBC7C 003B8BDC 3B C0 FF FF */ li r30, -1
/* 803BBC80 003B8BE0 48 00 00 B8 */ b lbl_803BBD38
lbl_803BBC84:
/* 803BBC84 003B8BE4 28 1C 00 00 */ cmplwi r28, 0
/* 803BBC88 003B8BE8 41 82 00 0C */ beq lbl_803BBC94
/* 803BBC8C 003B8BEC A0 1E 00 08 */ lhz r0, 8(r30)
/* 803BBC90 003B8BF0 90 1C 00 00 */ stw r0, 0(r28)
lbl_803BBC94:
/* 803BBC94 003B8BF4 28 1F 00 00 */ cmplwi r31, 0
/* 803BBC98 003B8BF8 41 82 00 0C */ beq lbl_803BBCA4
/* 803BBC9C 003B8BFC 80 1E 00 0C */ lwz r0, 0xc(r30)
/* 803BBCA0 003B8C00 90 1F 00 00 */ stw r0, 0(r31)
lbl_803BBCA4:
/* 803BBCA4 003B8C04 3B C0 00 00 */ li r30, 0
/* 803BBCA8 003B8C08 48 00 00 90 */ b lbl_803BBD38
lbl_803BBCAC:
/* 803BBCAC 003B8C0C 7F 63 DB 78 */ mr r3, r27
/* 803BBCB0 003B8C10 48 00 58 85 */ bl EXIGetState
/* 803BBCB4 003B8C14 54 60 07 39 */ rlwinm. r0, r3, 0, 0x1c, 0x1c
/* 803BBCB8 003B8C18 41 82 00 0C */ beq lbl_803BBCC4
/* 803BBCBC 003B8C1C 3B C0 FF FE */ li r30, -2
/* 803BBCC0 003B8C20 48 00 00 78 */ b lbl_803BBD38
lbl_803BBCC4:
/* 803BBCC4 003B8C24 38 7B 00 00 */ addi r3, r27, 0
/* 803BBCC8 003B8C28 38 A1 00 14 */ addi r5, r1, 0x14
/* 803BBCCC 003B8C2C 38 80 00 00 */ li r4, 0
/* 803BBCD0 003B8C30 48 00 58 A5 */ bl EXIGetID
/* 803BBCD4 003B8C34 2C 03 00 00 */ cmpwi r3, 0
/* 803BBCD8 003B8C38 40 82 00 0C */ bne lbl_803BBCE4
/* 803BBCDC 003B8C3C 3B C0 FF FF */ li r30, -1
/* 803BBCE0 003B8C40 48 00 00 58 */ b lbl_803BBD38
lbl_803BBCE4:
/* 803BBCE4 003B8C44 80 61 00 14 */ lwz r3, 0x14(r1)
/* 803BBCE8 003B8C48 4B FF FE 29 */ bl IsCard
/* 803BBCEC 003B8C4C 2C 03 00 00 */ cmpwi r3, 0
/* 803BBCF0 003B8C50 41 82 00 44 */ beq lbl_803BBD34
/* 803BBCF4 003B8C54 28 1C 00 00 */ cmplwi r28, 0
/* 803BBCF8 003B8C58 41 82 00 10 */ beq lbl_803BBD08
/* 803BBCFC 003B8C5C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803BBD00 003B8C60 54 00 06 3A */ rlwinm r0, r0, 0, 0x18, 0x1d
/* 803BBD04 003B8C64 90 1C 00 00 */ stw r0, 0(r28)
lbl_803BBD08:
/* 803BBD08 003B8C68 28 1F 00 00 */ cmplwi r31, 0
/* 803BBD0C 003B8C6C 41 82 00 20 */ beq lbl_803BBD2C
/* 803BBD10 003B8C70 80 81 00 14 */ lwz r4, 0x14(r1)
/* 803BBD14 003B8C74 3C 60 80 3F */ lis r3, SectorSizeTable@ha
/* 803BBD18 003B8C78 38 03 6E 60 */ addi r0, r3, SectorSizeTable@l
/* 803BBD1C 003B8C7C 54 83 BE FA */ rlwinm r3, r4, 0x17, 0x1b, 0x1d
/* 803BBD20 003B8C80 7C 60 1A 14 */ add r3, r0, r3
/* 803BBD24 003B8C84 80 03 00 00 */ lwz r0, 0(r3)
/* 803BBD28 003B8C88 90 1F 00 00 */ stw r0, 0(r31)
lbl_803BBD2C:
/* 803BBD2C 003B8C8C 3B C0 00 00 */ li r30, 0
/* 803BBD30 003B8C90 48 00 00 08 */ b lbl_803BBD38
lbl_803BBD34:
/* 803BBD34 003B8C94 3B C0 FF FE */ li r30, -2
lbl_803BBD38:
/* 803BBD38 003B8C98 7F A3 EB 78 */ mr r3, r29
/* 803BBD3C 003B8C9C 4B FC 59 4D */ bl OSRestoreInterrupts
/* 803BBD40 003B8CA0 7F C3 F3 78 */ mr r3, r30
lbl_803BBD44:
/* 803BBD44 003B8CA4 BB 61 00 1C */ lmw r27, 0x1c(r1)
/* 803BBD48 003B8CA8 80 01 00 34 */ lwz r0, 0x34(r1)
/* 803BBD4C 003B8CAC 38 21 00 30 */ addi r1, r1, 0x30
/* 803BBD50 003B8CB0 7C 08 03 A6 */ mtlr r0
/* 803BBD54 003B8CB4 4E 80 00 20 */ blr
.global DoMount
DoMount:
/* 803BBD58 003B8CB8 7C 08 02 A6 */ mflr r0
/* 803BBD5C 003B8CBC 90 01 00 04 */ stw r0, 4(r1)
/* 803BBD60 003B8CC0 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 803BBD64 003B8CC4 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 803BBD68 003B8CC8 93 C1 00 28 */ stw r30, 0x28(r1)
/* 803BBD6C 003B8CCC 93 A1 00 24 */ stw r29, 0x24(r1)
/* 803BBD70 003B8CD0 3B A3 00 00 */ addi r29, r3, 0
/* 803BBD74 003B8CD4 1C 9D 01 10 */ mulli r4, r29, 0x110
/* 803BBD78 003B8CD8 93 81 00 20 */ stw r28, 0x20(r1)
/* 803BBD7C 003B8CDC 3C 60 80 57 */ lis r3, __CARDBlock@ha
/* 803BBD80 003B8CE0 38 03 9A 58 */ addi r0, r3, __CARDBlock@l
/* 803BBD84 003B8CE4 7C 60 22 14 */ add r3, r0, r4
/* 803BBD88 003B8CE8 80 03 00 24 */ lwz r0, 0x24(r3)
/* 803BBD8C 003B8CEC 3B E3 00 00 */ addi r31, r3, 0
/* 803BBD90 003B8CF0 2C 00 00 00 */ cmpwi r0, 0
/* 803BBD94 003B8CF4 40 82 02 AC */ bne lbl_803BC040
/* 803BBD98 003B8CF8 38 7D 00 00 */ addi r3, r29, 0
/* 803BBD9C 003B8CFC 38 A1 00 18 */ addi r5, r1, 0x18
/* 803BBDA0 003B8D00 38 80 00 00 */ li r4, 0
/* 803BBDA4 003B8D04 48 00 57 D1 */ bl EXIGetID
/* 803BBDA8 003B8D08 2C 03 00 00 */ cmpwi r3, 0
/* 803BBDAC 003B8D0C 40 82 00 0C */ bne lbl_803BBDB8
/* 803BBDB0 003B8D10 3B C0 FF FD */ li r30, -3
/* 803BBDB4 003B8D14 48 00 00 20 */ b lbl_803BBDD4
lbl_803BBDB8:
/* 803BBDB8 003B8D18 80 61 00 18 */ lwz r3, 0x18(r1)
/* 803BBDBC 003B8D1C 4B FF FD 55 */ bl IsCard
/* 803BBDC0 003B8D20 2C 03 00 00 */ cmpwi r3, 0
/* 803BBDC4 003B8D24 41 82 00 0C */ beq lbl_803BBDD0
/* 803BBDC8 003B8D28 3B C0 00 00 */ li r30, 0
/* 803BBDCC 003B8D2C 48 00 00 08 */ b lbl_803BBDD4
lbl_803BBDD0:
/* 803BBDD0 003B8D30 3B C0 FF FE */ li r30, -2
lbl_803BBDD4:
/* 803BBDD4 003B8D34 2C 1E 00 00 */ cmpwi r30, 0
/* 803BBDD8 003B8D38 41 80 03 44 */ blt lbl_803BC11C
/* 803BBDDC 003B8D3C 80 01 00 18 */ lwz r0, 0x18(r1)
/* 803BBDE0 003B8D40 3C 80 80 3F */ lis r4, SectorSizeTable@ha
/* 803BBDE4 003B8D44 38 84 6E 60 */ addi r4, r4, SectorSizeTable@l
/* 803BBDE8 003B8D48 90 1F 01 08 */ stw r0, 0x108(r31)
/* 803BBDEC 003B8D4C 3C 60 80 3F */ lis r3, LatencyTable@ha
/* 803BBDF0 003B8D50 38 03 6E 80 */ addi r0, r3, LatencyTable@l
/* 803BBDF4 003B8D54 80 A1 00 18 */ lwz r5, 0x18(r1)
/* 803BBDF8 003B8D58 38 7D 00 00 */ addi r3, r29, 0
/* 803BBDFC 003B8D5C 54 A5 06 3A */ rlwinm r5, r5, 0, 0x18, 0x1d
/* 803BBE00 003B8D60 B0 BF 00 08 */ sth r5, 8(r31)
/* 803BBE04 003B8D64 80 A1 00 18 */ lwz r5, 0x18(r1)
/* 803BBE08 003B8D68 54 A5 BE FA */ rlwinm r5, r5, 0x17, 0x1b, 0x1d
/* 803BBE0C 003B8D6C 7C 84 2A 14 */ add r4, r4, r5
/* 803BBE10 003B8D70 80 84 00 00 */ lwz r4, 0(r4)
/* 803BBE14 003B8D74 90 9F 00 0C */ stw r4, 0xc(r31)
/* 803BBE18 003B8D78 A0 BF 00 08 */ lhz r5, 8(r31)
/* 803BBE1C 003B8D7C 80 9F 00 0C */ lwz r4, 0xc(r31)
/* 803BBE20 003B8D80 54 A5 A0 16 */ slwi r5, r5, 0x14
/* 803BBE24 003B8D84 7C A5 1E 70 */ srawi r5, r5, 3
/* 803BBE28 003B8D88 7C A5 01 94 */ addze r5, r5
/* 803BBE2C 003B8D8C 7C 85 23 D6 */ divw r4, r5, r4
/* 803BBE30 003B8D90 B0 9F 00 10 */ sth r4, 0x10(r31)
/* 803BBE34 003B8D94 80 81 00 18 */ lwz r4, 0x18(r1)
/* 803BBE38 003B8D98 54 84 D6 FA */ rlwinm r4, r4, 0x1a, 0x1b, 0x1d
/* 803BBE3C 003B8D9C 7C 80 22 14 */ add r4, r0, r4
/* 803BBE40 003B8DA0 80 04 00 00 */ lwz r0, 0(r4)
/* 803BBE44 003B8DA4 90 1F 00 14 */ stw r0, 0x14(r31)
/* 803BBE48 003B8DA8 4B FF C4 FD */ bl __CARDClearStatus
/* 803BBE4C 003B8DAC 7C 7E 1B 79 */ or. r30, r3, r3
/* 803BBE50 003B8DB0 41 80 02 CC */ blt lbl_803BC11C
/* 803BBE54 003B8DB4 38 7D 00 00 */ addi r3, r29, 0
/* 803BBE58 003B8DB8 38 81 00 14 */ addi r4, r1, 0x14
/* 803BBE5C 003B8DBC 4B FF C3 F9 */ bl __CARDReadStatus
/* 803BBE60 003B8DC0 7C 7E 1B 79 */ or. r30, r3, r3
/* 803BBE64 003B8DC4 41 80 02 B8 */ blt lbl_803BC11C
/* 803BBE68 003B8DC8 7F A3 EB 78 */ mr r3, r29
/* 803BBE6C 003B8DCC 48 00 4A F5 */ bl EXIProbe
/* 803BBE70 003B8DD0 2C 03 00 00 */ cmpwi r3, 0
/* 803BBE74 003B8DD4 40 82 00 0C */ bne lbl_803BBE80
/* 803BBE78 003B8DD8 3B C0 FF FD */ li r30, -3
/* 803BBE7C 003B8DDC 48 00 02 A0 */ b lbl_803BC11C
lbl_803BBE80:
/* 803BBE80 003B8DE0 88 01 00 14 */ lbz r0, 0x14(r1)
/* 803BBE84 003B8DE4 54 00 06 73 */ rlwinm. r0, r0, 0, 0x19, 0x19
/* 803BBE88 003B8DE8 40 82 01 14 */ bne lbl_803BBF9C
/* 803BBE8C 003B8DEC 38 7D 00 00 */ addi r3, r29, 0
/* 803BBE90 003B8DF0 38 9F 00 18 */ addi r4, r31, 0x18
/* 803BBE94 003B8DF4 4B FF D5 6D */ bl __CARDUnlock
/* 803BBE98 003B8DF8 7C 7E 1B 79 */ or. r30, r3, r3
/* 803BBE9C 003B8DFC 41 80 02 80 */ blt lbl_803BC11C
/* 803BBEA0 003B8E00 4B FC 7C 91 */ bl __OSLockSramEx
/* 803BBEA4 003B8E04 1C 1D 00 0C */ mulli r0, r29, 0xc
/* 803BBEA8 003B8E08 7C 83 02 14 */ add r4, r3, r0
/* 803BBEAC 003B8E0C 88 1F 00 18 */ lbz r0, 0x18(r31)
/* 803BBEB0 003B8E10 38 BF 00 18 */ addi r5, r31, 0x18
/* 803BBEB4 003B8E14 98 04 00 00 */ stb r0, 0(r4)
/* 803BBEB8 003B8E18 39 05 00 02 */ addi r8, r5, 2
/* 803BBEBC 003B8E1C 39 25 00 03 */ addi r9, r5, 3
/* 803BBEC0 003B8E20 88 FF 00 18 */ lbz r7, 0x18(r31)
/* 803BBEC4 003B8E24 39 45 00 04 */ addi r10, r5, 4
/* 803BBEC8 003B8E28 88 1F 00 19 */ lbz r0, 0x19(r31)
/* 803BBECC 003B8E2C 39 65 00 05 */ addi r11, r5, 5
/* 803BBED0 003B8E30 39 85 00 06 */ addi r12, r5, 6
/* 803BBED4 003B8E34 98 04 00 01 */ stb r0, 1(r4)
/* 803BBED8 003B8E38 3B 85 00 07 */ addi r28, r5, 7
/* 803BBEDC 003B8E3C 38 A0 00 08 */ li r5, 8
/* 803BBEE0 003B8E40 88 1F 00 19 */ lbz r0, 0x19(r31)
/* 803BBEE4 003B8E44 88 C8 00 00 */ lbz r6, 0(r8)
/* 803BBEE8 003B8E48 7C 07 02 14 */ add r0, r7, r0
/* 803BBEEC 003B8E4C 98 C4 00 02 */ stb r6, 2(r4)
/* 803BBEF0 003B8E50 88 E8 00 00 */ lbz r7, 0(r8)
/* 803BBEF4 003B8E54 88 C9 00 00 */ lbz r6, 0(r9)
/* 803BBEF8 003B8E58 7C 00 3A 14 */ add r0, r0, r7
/* 803BBEFC 003B8E5C 98 C4 00 03 */ stb r6, 3(r4)
/* 803BBF00 003B8E60 88 E9 00 00 */ lbz r7, 0(r9)
/* 803BBF04 003B8E64 88 CA 00 00 */ lbz r6, 0(r10)
/* 803BBF08 003B8E68 7C 00 3A 14 */ add r0, r0, r7
/* 803BBF0C 003B8E6C 98 C4 00 04 */ stb r6, 4(r4)
/* 803BBF10 003B8E70 88 EA 00 00 */ lbz r7, 0(r10)
/* 803BBF14 003B8E74 88 CB 00 00 */ lbz r6, 0(r11)
/* 803BBF18 003B8E78 7C 00 3A 14 */ add r0, r0, r7
/* 803BBF1C 003B8E7C 98 C4 00 05 */ stb r6, 5(r4)
/* 803BBF20 003B8E80 88 EB 00 00 */ lbz r7, 0(r11)
/* 803BBF24 003B8E84 88 CC 00 00 */ lbz r6, 0(r12)
/* 803BBF28 003B8E88 7C 00 3A 14 */ add r0, r0, r7
/* 803BBF2C 003B8E8C 98 C4 00 06 */ stb r6, 6(r4)
/* 803BBF30 003B8E90 88 EC 00 00 */ lbz r7, 0(r12)
/* 803BBF34 003B8E94 88 DC 00 00 */ lbz r6, 0(r28)
/* 803BBF38 003B8E98 7C 00 3A 14 */ add r0, r0, r7
/* 803BBF3C 003B8E9C 98 C4 00 07 */ stb r6, 7(r4)
/* 803BBF40 003B8EA0 88 DC 00 00 */ lbz r6, 0(r28)
/* 803BBF44 003B8EA4 7C 00 32 14 */ add r0, r0, r6
/* 803BBF48 003B8EA8 48 00 01 F0 */ b lbl_803BC138
lbl_803BBF4C:
/* 803BBF4C 003B8EAC 20 85 00 0C */ subfic r4, r5, 0xc
/* 803BBF50 003B8EB0 2C 05 00 0C */ cmpwi r5, 0xc
/* 803BBF54 003B8EB4 7C 89 03 A6 */ mtctr r4
/* 803BBF58 003B8EB8 40 80 00 28 */ bge lbl_803BBF80
lbl_803BBF5C:
/* 803BBF5C 003B8EBC 38 E5 00 18 */ addi r7, r5, 0x18
/* 803BBF60 003B8EC0 7C FF 3A 14 */ add r7, r31, r7
/* 803BBF64 003B8EC4 88 87 00 00 */ lbz r4, 0(r7)
/* 803BBF68 003B8EC8 38 A5 00 01 */ addi r5, r5, 1
/* 803BBF6C 003B8ECC 98 86 00 00 */ stb r4, 0(r6)
/* 803BBF70 003B8ED0 38 C6 00 01 */ addi r6, r6, 1
/* 803BBF74 003B8ED4 88 87 00 00 */ lbz r4, 0(r7)
/* 803BBF78 003B8ED8 7C 00 22 14 */ add r0, r0, r4
/* 803BBF7C 003B8EDC 42 00 FF E0 */ bdnz lbl_803BBF5C
lbl_803BBF80:
/* 803BBF80 003B8EE0 7C 63 EA 14 */ add r3, r3, r29
/* 803BBF84 003B8EE4 7C 00 00 F8 */ nor r0, r0, r0
/* 803BBF88 003B8EE8 98 03 00 26 */ stb r0, 0x26(r3)
/* 803BBF8C 003B8EEC 38 60 00 01 */ li r3, 1
/* 803BBF90 003B8EF0 4B FC 7F 29 */ bl __OSUnlockSramEx
/* 803BBF94 003B8EF4 7F C3 F3 78 */ mr r3, r30
/* 803BBF98 003B8EF8 48 00 01 B0 */ b lbl_803BC148
lbl_803BBF9C:
/* 803BBF9C 003B8EFC 38 00 00 01 */ li r0, 1
/* 803BBFA0 003B8F00 90 1F 00 24 */ stw r0, 0x24(r31)
/* 803BBFA4 003B8F04 4B FC 7B 8D */ bl __OSLockSramEx
/* 803BBFA8 003B8F08 1C 1D 00 0C */ mulli r0, r29, 0xc
/* 803BBFAC 003B8F0C 3B C3 00 00 */ addi r30, r3, 0
/* 803BBFB0 003B8F10 7C BE 02 14 */ add r5, r30, r0
/* 803BBFB4 003B8F14 88 85 00 00 */ lbz r4, 0(r5)
/* 803BBFB8 003B8F18 38 C0 00 08 */ li r6, 8
/* 803BBFBC 003B8F1C 88 05 00 01 */ lbz r0, 1(r5)
/* 803BBFC0 003B8F20 88 65 00 02 */ lbz r3, 2(r5)
/* 803BBFC4 003B8F24 7F 84 02 14 */ add r28, r4, r0
/* 803BBFC8 003B8F28 88 05 00 03 */ lbz r0, 3(r5)
/* 803BBFCC 003B8F2C 7F 9C 1A 14 */ add r28, r28, r3
/* 803BBFD0 003B8F30 88 65 00 04 */ lbz r3, 4(r5)
/* 803BBFD4 003B8F34 7F 9C 02 14 */ add r28, r28, r0
/* 803BBFD8 003B8F38 88 05 00 05 */ lbz r0, 5(r5)
/* 803BBFDC 003B8F3C 7F 9C 1A 14 */ add r28, r28, r3
/* 803BBFE0 003B8F40 88 65 00 06 */ lbz r3, 6(r5)
/* 803BBFE4 003B8F44 7F 9C 02 14 */ add r28, r28, r0
/* 803BBFE8 003B8F48 88 05 00 07 */ lbz r0, 7(r5)
/* 803BBFEC 003B8F4C 7F 9C 1A 14 */ add r28, r28, r3
/* 803BBFF0 003B8F50 7F 9C 02 14 */ add r28, r28, r0
/* 803BBFF4 003B8F54 48 00 01 4C */ b lbl_803BC140
lbl_803BBFF8:
/* 803BBFF8 003B8F58 20 06 00 0C */ subfic r0, r6, 0xc
/* 803BBFFC 003B8F5C 2C 06 00 0C */ cmpwi r6, 0xc
/* 803BC000 003B8F60 7C 09 03 A6 */ mtctr r0
/* 803BC004 003B8F64 40 80 00 14 */ bge lbl_803BC018
lbl_803BC008:
/* 803BC008 003B8F68 88 03 00 00 */ lbz r0, 0(r3)
/* 803BC00C 003B8F6C 38 63 00 01 */ addi r3, r3, 1
/* 803BC010 003B8F70 7F 9C 02 14 */ add r28, r28, r0
/* 803BC014 003B8F74 42 00 FF F4 */ bdnz lbl_803BC008
lbl_803BC018:
/* 803BC018 003B8F78 38 60 00 00 */ li r3, 0
/* 803BC01C 003B8F7C 4B FC 7E 9D */ bl __OSUnlockSramEx
/* 803BC020 003B8F80 7C 7E EA 14 */ add r3, r30, r29
/* 803BC024 003B8F84 7F 80 E0 F8 */ nor r0, r28, r28
/* 803BC028 003B8F88 88 63 00 26 */ lbz r3, 0x26(r3)
/* 803BC02C 003B8F8C 54 00 06 3E */ clrlwi r0, r0, 0x18
/* 803BC030 003B8F90 7C 03 00 40 */ cmplw r3, r0
/* 803BC034 003B8F94 41 82 00 0C */ beq lbl_803BC040
/* 803BC038 003B8F98 3B C0 FF FB */ li r30, -5
/* 803BC03C 003B8F9C 48 00 00 E0 */ b lbl_803BC11C
lbl_803BC040:
/* 803BC040 003B8FA0 80 1F 00 24 */ lwz r0, 0x24(r31)
/* 803BC044 003B8FA4 2C 00 00 01 */ cmpwi r0, 1
/* 803BC048 003B8FA8 40 82 00 88 */ bne lbl_803BC0D0
/* 803BC04C 003B8FAC 80 7F 01 08 */ lwz r3, 0x108(r31)
/* 803BC050 003B8FB0 3C 03 80 00 */ addis r0, r3, 0x8000
/* 803BC054 003B8FB4 28 00 00 04 */ cmplwi r0, 4
/* 803BC058 003B8FB8 40 82 00 34 */ bne lbl_803BC08C
/* 803BC05C 003B8FBC 4B FC 7A D5 */ bl __OSLockSramEx
/* 803BC060 003B8FC0 1C 1D 00 0C */ mulli r0, r29, 0xc
/* 803BC064 003B8FC4 7F 83 02 2E */ lhzx r28, r3, r0
/* 803BC068 003B8FC8 38 60 00 00 */ li r3, 0
/* 803BC06C 003B8FCC 4B FC 7E 4D */ bl __OSUnlockSramEx
/* 803BC070 003B8FD0 A0 0D A0 40 */ lhz r0, __CARDVendorID@sda21(r13)
/* 803BC074 003B8FD4 28 00 FF FF */ cmplwi r0, 0xffff
/* 803BC078 003B8FD8 41 82 00 0C */ beq lbl_803BC084
/* 803BC07C 003B8FDC 7C 1C 00 40 */ cmplw r28, r0
/* 803BC080 003B8FE0 41 82 00 0C */ beq lbl_803BC08C
lbl_803BC084:
/* 803BC084 003B8FE4 3B C0 FF FE */ li r30, -2
/* 803BC088 003B8FE8 48 00 00 94 */ b lbl_803BC11C
lbl_803BC08C:
/* 803BC08C 003B8FEC 38 00 00 02 */ li r0, 2
/* 803BC090 003B8FF0 90 1F 00 24 */ stw r0, 0x24(r31)
/* 803BC094 003B8FF4 38 7D 00 00 */ addi r3, r29, 0
/* 803BC098 003B8FF8 38 80 00 01 */ li r4, 1
/* 803BC09C 003B8FFC 4B FF C0 F9 */ bl __CARDEnableInterrupt
/* 803BC0A0 003B9000 7C 7E 1B 79 */ or. r30, r3, r3
/* 803BC0A4 003B9004 41 80 00 78 */ blt lbl_803BC11C
/* 803BC0A8 003B9008 3C 60 80 3B */ lis r3, __CARDExiHandler@ha
/* 803BC0AC 003B900C 38 83 7F 50 */ addi r4, r3, __CARDExiHandler@l
/* 803BC0B0 003B9010 38 7D 00 00 */ addi r3, r29, 0
/* 803BC0B4 003B9014 48 00 46 BD */ bl EXISetExiCallback
/* 803BC0B8 003B9018 7F A3 EB 78 */ mr r3, r29
/* 803BC0BC 003B901C 48 00 53 9D */ bl EXIUnlock
/* 803BC0C0 003B9020 3C 80 00 01 */ lis r4, 0x0000A000@ha
/* 803BC0C4 003B9024 80 7F 00 80 */ lwz r3, 0x80(r31)
/* 803BC0C8 003B9028 38 84 A0 00 */ addi r4, r4, 0x0000A000@l
/* 803BC0CC 003B902C 4B FC 29 B9 */ bl DCInvalidateRange
lbl_803BC0D0:
/* 803BC0D0 003B9030 80 9F 00 24 */ lwz r4, 0x24(r31)
/* 803BC0D4 003B9034 3C 60 80 3C */ lis r3, __CARDMountCallback@ha
/* 803BC0D8 003B9038 80 1F 00 0C */ lwz r0, 0xc(r31)
/* 803BC0DC 003B903C 38 E3 C1 68 */ addi r7, r3, __CARDMountCallback@l
/* 803BC0E0 003B9040 38 64 FF FE */ addi r3, r4, -2
/* 803BC0E4 003B9044 7C 80 19 D6 */ mullw r4, r0, r3
/* 803BC0E8 003B9048 80 BF 00 80 */ lwz r5, 0x80(r31)
/* 803BC0EC 003B904C 54 60 68 24 */ slwi r0, r3, 0xd
/* 803BC0F0 003B9050 7C C5 02 14 */ add r6, r5, r0
/* 803BC0F4 003B9054 38 7D 00 00 */ addi r3, r29, 0
/* 803BC0F8 003B9058 38 A0 20 00 */ li r5, 0x2000
/* 803BC0FC 003B905C 4B FF E2 CD */ bl __CARDRead
/* 803BC100 003B9060 7C 7C 1B 79 */ or. r28, r3, r3
/* 803BC104 003B9064 40 80 00 10 */ bge lbl_803BC114
/* 803BC108 003B9068 38 7F 00 00 */ addi r3, r31, 0
/* 803BC10C 003B906C 38 9C 00 00 */ addi r4, r28, 0
/* 803BC110 003B9070 4B FF CD 49 */ bl __CARDPutControlBlock
lbl_803BC114:
/* 803BC114 003B9074 7F 83 E3 78 */ mr r3, r28
/* 803BC118 003B9078 48 00 00 30 */ b lbl_803BC148
lbl_803BC11C:
/* 803BC11C 003B907C 7F A3 EB 78 */ mr r3, r29
/* 803BC120 003B9080 48 00 53 39 */ bl EXIUnlock
/* 803BC124 003B9084 38 7D 00 00 */ addi r3, r29, 0
/* 803BC128 003B9088 38 9E 00 00 */ addi r4, r30, 0
/* 803BC12C 003B908C 48 00 03 15 */ bl DoUnmount
/* 803BC130 003B9090 7F C3 F3 78 */ mr r3, r30
/* 803BC134 003B9094 48 00 00 14 */ b lbl_803BC148
lbl_803BC138:
/* 803BC138 003B9098 38 C4 00 08 */ addi r6, r4, 8
/* 803BC13C 003B909C 4B FF FE 10 */ b lbl_803BBF4C
lbl_803BC140:
/* 803BC140 003B90A0 38 65 00 08 */ addi r3, r5, 8
/* 803BC144 003B90A4 4B FF FE B4 */ b lbl_803BBFF8
lbl_803BC148:
/* 803BC148 003B90A8 80 01 00 34 */ lwz r0, 0x34(r1)
/* 803BC14C 003B90AC 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 803BC150 003B90B0 83 C1 00 28 */ lwz r30, 0x28(r1)
/* 803BC154 003B90B4 83 A1 00 24 */ lwz r29, 0x24(r1)
/* 803BC158 003B90B8 83 81 00 20 */ lwz r28, 0x20(r1)
/* 803BC15C 003B90BC 38 21 00 30 */ addi r1, r1, 0x30
/* 803BC160 003B90C0 7C 08 03 A6 */ mtlr r0
/* 803BC164 003B90C4 4E 80 00 20 */ blr
.global __CARDMountCallback
__CARDMountCallback:
/* 803BC168 003B90C8 7C 08 02 A6 */ mflr r0
/* 803BC16C 003B90CC 90 01 00 04 */ stw r0, 4(r1)
/* 803BC170 003B90D0 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 803BC174 003B90D4 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 803BC178 003B90D8 93 C1 00 18 */ stw r30, 0x18(r1)
/* 803BC17C 003B90DC 93 A1 00 14 */ stw r29, 0x14(r1)
/* 803BC180 003B90E0 3B A4 00 00 */ addi r29, r4, 0
/* 803BC184 003B90E4 2C 1D FF FD */ cmpwi r29, -3
/* 803BC188 003B90E8 93 81 00 10 */ stw r28, 0x10(r1)
/* 803BC18C 003B90EC 3B 83 00 00 */ addi r28, r3, 0
/* 803BC190 003B90F0 1C BC 01 10 */ mulli r5, r28, 0x110
/* 803BC194 003B90F4 3C 60 80 57 */ lis r3, __CARDBlock@ha
/* 803BC198 003B90F8 38 03 9A 58 */ addi r0, r3, __CARDBlock@l
/* 803BC19C 003B90FC 7F E0 2A 14 */ add r31, r0, r5
/* 803BC1A0 003B9100 41 82 00 A8 */ beq lbl_803BC248
/* 803BC1A4 003B9104 40 80 00 10 */ bge lbl_803BC1B4
/* 803BC1A8 003B9108 2C 1D FF FB */ cmpwi r29, -5
/* 803BC1AC 003B910C 41 82 00 9C */ beq lbl_803BC248
/* 803BC1B0 003B9110 48 00 00 A4 */ b lbl_803BC254
lbl_803BC1B4:
/* 803BC1B4 003B9114 2C 1D 00 01 */ cmpwi r29, 1
/* 803BC1B8 003B9118 41 82 00 4C */ beq lbl_803BC204
/* 803BC1BC 003B911C 40 80 00 98 */ bge lbl_803BC254
/* 803BC1C0 003B9120 2C 1D 00 00 */ cmpwi r29, 0
/* 803BC1C4 003B9124 40 80 00 08 */ bge lbl_803BC1CC
/* 803BC1C8 003B9128 48 00 00 8C */ b lbl_803BC254
lbl_803BC1CC:
/* 803BC1CC 003B912C 80 7F 00 24 */ lwz r3, 0x24(r31)
/* 803BC1D0 003B9130 38 03 00 01 */ addi r0, r3, 1
/* 803BC1D4 003B9134 2C 00 00 07 */ cmpwi r0, 7
/* 803BC1D8 003B9138 90 1F 00 24 */ stw r0, 0x24(r31)
/* 803BC1DC 003B913C 40 80 00 18 */ bge lbl_803BC1F4
/* 803BC1E0 003B9140 7F 83 E3 78 */ mr r3, r28
/* 803BC1E4 003B9144 4B FF FB 75 */ bl DoMount
/* 803BC1E8 003B9148 7C 7D 1B 79 */ or. r29, r3, r3
/* 803BC1EC 003B914C 41 80 00 68 */ blt lbl_803BC254
/* 803BC1F0 003B9150 48 00 00 90 */ b lbl_803BC280
lbl_803BC1F4:
/* 803BC1F4 003B9154 7F E3 FB 78 */ mr r3, r31
/* 803BC1F8 003B9158 4B FF F2 D5 */ bl __CARDVerify
/* 803BC1FC 003B915C 7C 7D 1B 78 */ mr r29, r3
/* 803BC200 003B9160 48 00 00 54 */ b lbl_803BC254
lbl_803BC204:
/* 803BC204 003B9164 3C 60 80 3C */ lis r3, __CARDMountCallback@ha
/* 803BC208 003B9168 38 03 C1 68 */ addi r0, r3, __CARDMountCallback@l
/* 803BC20C 003B916C 3C 60 80 3C */ lis r3, __CARDUnlockedHandler@ha
/* 803BC210 003B9170 90 1F 00 DC */ stw r0, 0xdc(r31)
/* 803BC214 003B9174 38 A3 81 10 */ addi r5, r3, __CARDUnlockedHandler@l
/* 803BC218 003B9178 38 7C 00 00 */ addi r3, r28, 0
/* 803BC21C 003B917C 38 80 00 00 */ li r4, 0
/* 803BC220 003B9180 48 00 51 45 */ bl EXILock
/* 803BC224 003B9184 2C 03 00 00 */ cmpwi r3, 0
/* 803BC228 003B9188 41 82 00 58 */ beq lbl_803BC280
/* 803BC22C 003B918C 38 00 00 00 */ li r0, 0
/* 803BC230 003B9190 90 1F 00 DC */ stw r0, 0xdc(r31)
/* 803BC234 003B9194 7F 83 E3 78 */ mr r3, r28
/* 803BC238 003B9198 4B FF FB 21 */ bl DoMount
/* 803BC23C 003B919C 7C 7D 1B 79 */ or. r29, r3, r3
/* 803BC240 003B91A0 41 80 00 14 */ blt lbl_803BC254
/* 803BC244 003B91A4 48 00 00 3C */ b lbl_803BC280
lbl_803BC248:
/* 803BC248 003B91A8 38 7C 00 00 */ addi r3, r28, 0
/* 803BC24C 003B91AC 38 9D 00 00 */ addi r4, r29, 0
/* 803BC250 003B91B0 48 00 01 F1 */ bl DoUnmount
lbl_803BC254:
/* 803BC254 003B91B4 83 DF 00 D0 */ lwz r30, 0xd0(r31)
/* 803BC258 003B91B8 38 00 00 00 */ li r0, 0
/* 803BC25C 003B91BC 38 7F 00 00 */ addi r3, r31, 0
/* 803BC260 003B91C0 90 1F 00 D0 */ stw r0, 0xd0(r31)
/* 803BC264 003B91C4 7F A4 EB 78 */ mr r4, r29
/* 803BC268 003B91C8 4B FF CB F1 */ bl __CARDPutControlBlock
/* 803BC26C 003B91CC 39 9E 00 00 */ addi r12, r30, 0
/* 803BC270 003B91D0 7D 88 03 A6 */ mtlr r12
/* 803BC274 003B91D4 38 7C 00 00 */ addi r3, r28, 0
/* 803BC278 003B91D8 38 9D 00 00 */ addi r4, r29, 0
/* 803BC27C 003B91DC 4E 80 00 21 */ blrl
lbl_803BC280:
/* 803BC280 003B91E0 80 01 00 24 */ lwz r0, 0x24(r1)
/* 803BC284 003B91E4 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 803BC288 003B91E8 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 803BC28C 003B91EC 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 803BC290 003B91F0 83 81 00 10 */ lwz r28, 0x10(r1)
/* 803BC294 003B91F4 38 21 00 20 */ addi r1, r1, 0x20
/* 803BC298 003B91F8 7C 08 03 A6 */ mtlr r0
/* 803BC29C 003B91FC 4E 80 00 20 */ blr
.global CARDMountAsync
CARDMountAsync:
/* 803BC2A0 003B9200 7C 08 02 A6 */ mflr r0
/* 803BC2A4 003B9204 90 01 00 04 */ stw r0, 4(r1)
/* 803BC2A8 003B9208 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 803BC2AC 003B920C BF 41 00 18 */ stmw r26, 0x18(r1)
/* 803BC2B0 003B9210 7C 7E 1B 79 */ or. r30, r3, r3
/* 803BC2B4 003B9214 3B 44 00 00 */ addi r26, r4, 0
/* 803BC2B8 003B9218 3B 65 00 00 */ addi r27, r5, 0
/* 803BC2BC 003B921C 3B A6 00 00 */ addi r29, r6, 0
/* 803BC2C0 003B9220 41 80 00 0C */ blt lbl_803BC2CC
/* 803BC2C4 003B9224 2C 1E 00 02 */ cmpwi r30, 2
/* 803BC2C8 003B9228 41 80 00 0C */ blt lbl_803BC2D4
lbl_803BC2CC:
/* 803BC2CC 003B922C 38 60 FF 80 */ li r3, -128
/* 803BC2D0 003B9230 48 00 01 5C */ b lbl_803BC42C
lbl_803BC2D4:
/* 803BC2D4 003B9234 3C 60 80 00 */ lis r3, 0x800030E3@ha
/* 803BC2D8 003B9238 88 03 30 E3 */ lbz r0, 0x800030E3@l(r3)
/* 803BC2DC 003B923C 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18
/* 803BC2E0 003B9240 41 82 00 0C */ beq lbl_803BC2EC
/* 803BC2E4 003B9244 38 60 FF FD */ li r3, -3
/* 803BC2E8 003B9248 48 00 01 44 */ b lbl_803BC42C
lbl_803BC2EC:
/* 803BC2EC 003B924C 1C 9E 01 10 */ mulli r4, r30, 0x110
/* 803BC2F0 003B9250 3C 60 80 57 */ lis r3, __CARDBlock@ha
/* 803BC2F4 003B9254 38 03 9A 58 */ addi r0, r3, __CARDBlock@l
/* 803BC2F8 003B9258 7F E0 22 14 */ add r31, r0, r4
/* 803BC2FC 003B925C 4B FC 53 65 */ bl OSDisableInterrupts
/* 803BC300 003B9260 80 1F 00 04 */ lwz r0, 4(r31)
/* 803BC304 003B9264 3B 83 00 00 */ addi r28, r3, 0
/* 803BC308 003B9268 2C 00 FF FF */ cmpwi r0, -1
/* 803BC30C 003B926C 40 82 00 14 */ bne lbl_803BC320
/* 803BC310 003B9270 7F 83 E3 78 */ mr r3, r28
/* 803BC314 003B9274 4B FC 53 75 */ bl OSRestoreInterrupts
/* 803BC318 003B9278 38 60 FF FF */ li r3, -1
/* 803BC31C 003B927C 48 00 01 10 */ b lbl_803BC42C
lbl_803BC320:
/* 803BC320 003B9280 80 1F 00 00 */ lwz r0, 0(r31)
/* 803BC324 003B9284 2C 00 00 00 */ cmpwi r0, 0
/* 803BC328 003B9288 40 82 00 24 */ bne lbl_803BC34C
/* 803BC32C 003B928C 7F C3 F3 78 */ mr r3, r30
/* 803BC330 003B9290 48 00 52 05 */ bl EXIGetState
/* 803BC334 003B9294 54 60 07 39 */ rlwinm. r0, r3, 0, 0x1c, 0x1c
/* 803BC338 003B9298 41 82 00 14 */ beq lbl_803BC34C
/* 803BC33C 003B929C 7F 83 E3 78 */ mr r3, r28
/* 803BC340 003B92A0 4B FC 53 49 */ bl OSRestoreInterrupts
/* 803BC344 003B92A4 38 60 FF FE */ li r3, -2
/* 803BC348 003B92A8 48 00 00 E4 */ b lbl_803BC42C
lbl_803BC34C:
/* 803BC34C 003B92AC 38 00 FF FF */ li r0, -1
/* 803BC350 003B92B0 90 1F 00 04 */ stw r0, 4(r31)
/* 803BC354 003B92B4 28 1D 00 00 */ cmplwi r29, 0
/* 803BC358 003B92B8 93 5F 00 80 */ stw r26, 0x80(r31)
/* 803BC35C 003B92BC 93 7F 00 C4 */ stw r27, 0xc4(r31)
/* 803BC360 003B92C0 41 82 00 0C */ beq lbl_803BC36C
/* 803BC364 003B92C4 7F A0 EB 78 */ mr r0, r29
/* 803BC368 003B92C8 48 00 00 0C */ b lbl_803BC374
lbl_803BC36C:
/* 803BC36C 003B92CC 3C 60 80 3B */ lis r3, __CARDDefaultApiCallback@ha
/* 803BC370 003B92D0 38 03 7E 74 */ addi r0, r3, __CARDDefaultApiCallback@l
lbl_803BC374:
/* 803BC374 003B92D4 90 1F 00 D0 */ stw r0, 0xd0(r31)
/* 803BC378 003B92D8 38 00 00 00 */ li r0, 0
/* 803BC37C 003B92DC 90 1F 00 CC */ stw r0, 0xcc(r31)
/* 803BC380 003B92E0 80 1F 00 00 */ lwz r0, 0(r31)
/* 803BC384 003B92E4 2C 00 00 00 */ cmpwi r0, 0
/* 803BC388 003B92E8 40 82 00 34 */ bne lbl_803BC3BC
/* 803BC38C 003B92EC 3C 60 80 3B */ lis r3, __CARDExtHandler@ha
/* 803BC390 003B92F0 38 83 7E 78 */ addi r4, r3, __CARDExtHandler@l
/* 803BC394 003B92F4 38 7E 00 00 */ addi r3, r30, 0
/* 803BC398 003B92F8 48 00 46 FD */ bl EXIAttach
/* 803BC39C 003B92FC 2C 03 00 00 */ cmpwi r3, 0
/* 803BC3A0 003B9300 40 82 00 1C */ bne lbl_803BC3BC
/* 803BC3A4 003B9304 38 00 FF FD */ li r0, -3
/* 803BC3A8 003B9308 90 1F 00 04 */ stw r0, 4(r31)
/* 803BC3AC 003B930C 7F 83 E3 78 */ mr r3, r28
/* 803BC3B0 003B9310 4B FC 52 D9 */ bl OSRestoreInterrupts
/* 803BC3B4 003B9314 38 60 FF FD */ li r3, -3
/* 803BC3B8 003B9318 48 00 00 74 */ b lbl_803BC42C
lbl_803BC3BC:
/* 803BC3BC 003B931C 3B A0 00 00 */ li r29, 0
/* 803BC3C0 003B9320 93 BF 00 24 */ stw r29, 0x24(r31)
/* 803BC3C4 003B9324 38 00 00 01 */ li r0, 1
/* 803BC3C8 003B9328 38 7E 00 00 */ addi r3, r30, 0
/* 803BC3CC 003B932C 90 1F 00 00 */ stw r0, 0(r31)
/* 803BC3D0 003B9330 38 80 00 00 */ li r4, 0
/* 803BC3D4 003B9334 48 00 43 9D */ bl EXISetExiCallback
/* 803BC3D8 003B9338 38 7F 00 E0 */ addi r3, r31, 0xe0
/* 803BC3DC 003B933C 4B FC 20 19 */ bl OSCancelAlarm
/* 803BC3E0 003B9340 93 BF 00 84 */ stw r29, 0x84(r31)
/* 803BC3E4 003B9344 7F 83 E3 78 */ mr r3, r28
/* 803BC3E8 003B9348 93 BF 00 88 */ stw r29, 0x88(r31)
/* 803BC3EC 003B934C 4B FC 52 9D */ bl OSRestoreInterrupts
/* 803BC3F0 003B9350 3C 60 80 3C */ lis r3, __CARDMountCallback@ha
/* 803BC3F4 003B9354 38 03 C1 68 */ addi r0, r3, __CARDMountCallback@l
/* 803BC3F8 003B9358 3C 60 80 3C */ lis r3, __CARDUnlockedHandler@ha
/* 803BC3FC 003B935C 90 1F 00 DC */ stw r0, 0xdc(r31)
/* 803BC400 003B9360 38 A3 81 10 */ addi r5, r3, __CARDUnlockedHandler@l
/* 803BC404 003B9364 38 7E 00 00 */ addi r3, r30, 0
/* 803BC408 003B9368 38 80 00 00 */ li r4, 0
/* 803BC40C 003B936C 48 00 4F 59 */ bl EXILock
/* 803BC410 003B9370 2C 03 00 00 */ cmpwi r3, 0
/* 803BC414 003B9374 40 82 00 0C */ bne lbl_803BC420
/* 803BC418 003B9378 38 60 00 00 */ li r3, 0
/* 803BC41C 003B937C 48 00 00 10 */ b lbl_803BC42C
lbl_803BC420:
/* 803BC420 003B9380 93 BF 00 DC */ stw r29, 0xdc(r31)
/* 803BC424 003B9384 7F C3 F3 78 */ mr r3, r30
/* 803BC428 003B9388 4B FF F9 31 */ bl DoMount
lbl_803BC42C:
/* 803BC42C 003B938C BB 41 00 18 */ lmw r26, 0x18(r1)
/* 803BC430 003B9390 80 01 00 34 */ lwz r0, 0x34(r1)
/* 803BC434 003B9394 38 21 00 30 */ addi r1, r1, 0x30
/* 803BC438 003B9398 7C 08 03 A6 */ mtlr r0
/* 803BC43C 003B939C 4E 80 00 20 */ blr
.global DoUnmount
DoUnmount:
/* 803BC440 003B93A0 7C 08 02 A6 */ mflr r0
/* 803BC444 003B93A4 90 01 00 04 */ stw r0, 4(r1)
/* 803BC448 003B93A8 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 803BC44C 003B93AC 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 803BC450 003B93B0 93 C1 00 18 */ stw r30, 0x18(r1)
/* 803BC454 003B93B4 93 A1 00 14 */ stw r29, 0x14(r1)
/* 803BC458 003B93B8 3B A4 00 00 */ addi r29, r4, 0
/* 803BC45C 003B93BC 93 81 00 10 */ stw r28, 0x10(r1)
/* 803BC460 003B93C0 3B 83 00 00 */ addi r28, r3, 0
/* 803BC464 003B93C4 1C BC 01 10 */ mulli r5, r28, 0x110
/* 803BC468 003B93C8 3C 60 80 57 */ lis r3, __CARDBlock@ha
/* 803BC46C 003B93CC 38 03 9A 58 */ addi r0, r3, __CARDBlock@l
/* 803BC470 003B93D0 7F E0 2A 14 */ add r31, r0, r5
/* 803BC474 003B93D4 4B FC 51 ED */ bl OSDisableInterrupts
/* 803BC478 003B93D8 80 1F 00 00 */ lwz r0, 0(r31)
/* 803BC47C 003B93DC 3B C3 00 00 */ addi r30, r3, 0
/* 803BC480 003B93E0 2C 00 00 00 */ cmpwi r0, 0
/* 803BC484 003B93E4 41 82 00 30 */ beq lbl_803BC4B4
/* 803BC488 003B93E8 38 7C 00 00 */ addi r3, r28, 0
/* 803BC48C 003B93EC 38 80 00 00 */ li r4, 0
/* 803BC490 003B93F0 48 00 42 E1 */ bl EXISetExiCallback
/* 803BC494 003B93F4 7F 83 E3 78 */ mr r3, r28
/* 803BC498 003B93F8 48 00 47 09 */ bl EXIDetach
/* 803BC49C 003B93FC 38 7F 00 E0 */ addi r3, r31, 0xe0
/* 803BC4A0 003B9400 4B FC 1F 55 */ bl OSCancelAlarm
/* 803BC4A4 003B9404 38 00 00 00 */ li r0, 0
/* 803BC4A8 003B9408 90 1F 00 00 */ stw r0, 0(r31)
/* 803BC4AC 003B940C 93 BF 00 04 */ stw r29, 4(r31)
/* 803BC4B0 003B9410 90 1F 00 24 */ stw r0, 0x24(r31)
lbl_803BC4B4:
/* 803BC4B4 003B9414 7F C3 F3 78 */ mr r3, r30
/* 803BC4B8 003B9418 4B FC 51 D1 */ bl OSRestoreInterrupts
/* 803BC4BC 003B941C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 803BC4C0 003B9420 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 803BC4C4 003B9424 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 803BC4C8 003B9428 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 803BC4CC 003B942C 83 81 00 10 */ lwz r28, 0x10(r1)
/* 803BC4D0 003B9430 38 21 00 20 */ addi r1, r1, 0x20
/* 803BC4D4 003B9434 7C 08 03 A6 */ mtlr r0
/* 803BC4D8 003B9438 4E 80 00 20 */ blr
.global CARDUnmount
CARDUnmount:
/* 803BC4DC 003B943C 7C 08 02 A6 */ mflr r0
/* 803BC4E0 003B9440 90 01 00 04 */ stw r0, 4(r1)
/* 803BC4E4 003B9444 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 803BC4E8 003B9448 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 803BC4EC 003B944C 38 81 00 0C */ addi r4, r1, 0xc
/* 803BC4F0 003B9450 93 C1 00 18 */ stw r30, 0x18(r1)
/* 803BC4F4 003B9454 93 A1 00 14 */ stw r29, 0x14(r1)
/* 803BC4F8 003B9458 3B A3 00 00 */ addi r29, r3, 0
/* 803BC4FC 003B945C 4B FF C8 A5 */ bl __CARDGetControlBlock
/* 803BC500 003B9460 2C 03 00 00 */ cmpwi r3, 0
/* 803BC504 003B9464 40 80 00 08 */ bge lbl_803BC50C
/* 803BC508 003B9468 48 00 00 64 */ b lbl_803BC56C
lbl_803BC50C:
/* 803BC50C 003B946C 1C 9D 01 10 */ mulli r4, r29, 0x110
/* 803BC510 003B9470 3C 60 80 57 */ lis r3, __CARDBlock@ha
/* 803BC514 003B9474 38 03 9A 58 */ addi r0, r3, __CARDBlock@l
/* 803BC518 003B9478 7F C0 22 14 */ add r30, r0, r4
/* 803BC51C 003B947C 4B FC 51 45 */ bl OSDisableInterrupts
/* 803BC520 003B9480 80 1E 00 00 */ lwz r0, 0(r30)
/* 803BC524 003B9484 3B E3 00 00 */ addi r31, r3, 0
/* 803BC528 003B9488 2C 00 00 00 */ cmpwi r0, 0
/* 803BC52C 003B948C 41 82 00 34 */ beq lbl_803BC560
/* 803BC530 003B9490 38 7D 00 00 */ addi r3, r29, 0
/* 803BC534 003B9494 38 80 00 00 */ li r4, 0
/* 803BC538 003B9498 48 00 42 39 */ bl EXISetExiCallback
/* 803BC53C 003B949C 7F A3 EB 78 */ mr r3, r29
/* 803BC540 003B94A0 48 00 46 61 */ bl EXIDetach
/* 803BC544 003B94A4 38 7E 00 E0 */ addi r3, r30, 0xe0
/* 803BC548 003B94A8 4B FC 1E AD */ bl OSCancelAlarm
/* 803BC54C 003B94AC 38 60 00 00 */ li r3, 0
/* 803BC550 003B94B0 90 7E 00 00 */ stw r3, 0(r30)
/* 803BC554 003B94B4 38 00 FF FD */ li r0, -3
/* 803BC558 003B94B8 90 1E 00 04 */ stw r0, 4(r30)
/* 803BC55C 003B94BC 90 7E 00 24 */ stw r3, 0x24(r30)
lbl_803BC560:
/* 803BC560 003B94C0 7F E3 FB 78 */ mr r3, r31
/* 803BC564 003B94C4 4B FC 51 25 */ bl OSRestoreInterrupts
/* 803BC568 003B94C8 38 60 00 00 */ li r3, 0
lbl_803BC56C:
/* 803BC56C 003B94CC 80 01 00 24 */ lwz r0, 0x24(r1)
/* 803BC570 003B94D0 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 803BC574 003B94D4 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 803BC578 003B94D8 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 803BC57C 003B94DC 38 21 00 20 */ addi r1, r1, 0x20
/* 803BC580 003B94E0 7C 08 03 A6 */ mtlr r0
/* 803BC584 003B94E4 4E 80 00 20 */ blr

View File

@ -1,66 +0,0 @@
.include "macros.inc"
.section .sdata, "wa"
.balign 8
.global __CARDVendorID
__CARDVendorID:
.2byte 0xFFFF
.balign 4
.section .text, "ax"
.global CARDGetSerialNo
CARDGetSerialNo:
/* 803BE5E8 003BB548 7C 08 02 A6 */ mflr r0
/* 803BE5EC 003BB54C 2C 03 00 00 */ cmpwi r3, 0
/* 803BE5F0 003BB550 90 01 00 04 */ stw r0, 4(r1)
/* 803BE5F4 003BB554 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 803BE5F8 003BB558 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 803BE5FC 003BB55C 3B E4 00 00 */ addi r31, r4, 0
/* 803BE600 003BB560 41 80 00 0C */ blt lbl_803BE60C
/* 803BE604 003BB564 2C 03 00 02 */ cmpwi r3, 2
/* 803BE608 003BB568 41 80 00 0C */ blt lbl_803BE614
lbl_803BE60C:
/* 803BE60C 003BB56C 38 60 FF 80 */ li r3, -128
/* 803BE610 003BB570 48 00 00 88 */ b lbl_803BE698
lbl_803BE614:
/* 803BE614 003BB574 38 81 00 10 */ addi r4, r1, 0x10
/* 803BE618 003BB578 4B FF A7 89 */ bl __CARDGetControlBlock
/* 803BE61C 003BB57C 2C 03 00 00 */ cmpwi r3, 0
/* 803BE620 003BB580 40 80 00 08 */ bge lbl_803BE628
/* 803BE624 003BB584 48 00 00 74 */ b lbl_803BE698
lbl_803BE628:
/* 803BE628 003BB588 80 61 00 10 */ lwz r3, 0x10(r1)
/* 803BE62C 003BB58C 38 E0 00 00 */ li r7, 0
/* 803BE630 003BB590 38 C0 00 00 */ li r6, 0
/* 803BE634 003BB594 80 A3 00 80 */ lwz r5, 0x80(r3)
/* 803BE638 003BB598 38 80 00 00 */ li r4, 0
/* 803BE63C 003BB59C 80 65 00 04 */ lwz r3, 4(r5)
/* 803BE640 003BB5A0 80 05 00 00 */ lwz r0, 0(r5)
/* 803BE644 003BB5A4 7C E7 1A 78 */ xor r7, r7, r3
/* 803BE648 003BB5A8 38 65 00 08 */ addi r3, r5, 8
/* 803BE64C 003BB5AC 7C C6 02 78 */ xor r6, r6, r0
/* 803BE650 003BB5B0 80 05 00 08 */ lwz r0, 8(r5)
/* 803BE654 003BB5B4 80 63 00 04 */ lwz r3, 4(r3)
/* 803BE658 003BB5B8 7C C6 02 78 */ xor r6, r6, r0
/* 803BE65C 003BB5BC 7C E7 1A 78 */ xor r7, r7, r3
/* 803BE660 003BB5C0 38 65 00 10 */ addi r3, r5, 0x10
/* 803BE664 003BB5C4 80 05 00 10 */ lwz r0, 0x10(r5)
/* 803BE668 003BB5C8 80 63 00 04 */ lwz r3, 4(r3)
/* 803BE66C 003BB5CC 7C C6 02 78 */ xor r6, r6, r0
/* 803BE670 003BB5D0 7C E7 1A 78 */ xor r7, r7, r3
/* 803BE674 003BB5D4 38 65 00 18 */ addi r3, r5, 0x18
/* 803BE678 003BB5D8 80 05 00 18 */ lwz r0, 0x18(r5)
/* 803BE67C 003BB5DC 80 63 00 04 */ lwz r3, 4(r3)
/* 803BE680 003BB5E0 7C C6 02 78 */ xor r6, r6, r0
/* 803BE684 003BB5E4 7C E7 1A 78 */ xor r7, r7, r3
/* 803BE688 003BB5E8 90 FF 00 04 */ stw r7, 4(r31)
/* 803BE68C 003BB5EC 90 DF 00 00 */ stw r6, 0(r31)
/* 803BE690 003BB5F0 80 61 00 10 */ lwz r3, 0x10(r1)
/* 803BE694 003BB5F4 4B FF A7 C5 */ bl __CARDPutControlBlock
lbl_803BE698:
/* 803BE698 003BB5F8 80 01 00 24 */ lwz r0, 0x24(r1)
/* 803BE69C 003BB5FC 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 803BE6A0 003BB600 38 21 00 20 */ addi r1, r1, 0x20
/* 803BE6A4 003BB604 7C 08 03 A6 */ mtlr r0
/* 803BE6A8 003BB608 4E 80 00 20 */ blr

View File

@ -1,339 +0,0 @@
.include "macros.inc"
.section .text, "ax"
.global __CARDCompareFileName
__CARDCompareFileName:
/* 803BCD6C 003B9CCC 38 A3 00 08 */ addi r5, r3, 8
/* 803BCD70 003B9CD0 38 E0 00 20 */ li r7, 0x20
/* 803BCD74 003B9CD4 48 00 00 3C */ b lbl_803BCDB0
lbl_803BCD78:
/* 803BCD78 003B9CD8 88 05 00 00 */ lbz r0, 0(r5)
/* 803BCD7C 003B9CDC 38 A5 00 01 */ addi r5, r5, 1
/* 803BCD80 003B9CE0 88 C4 00 00 */ lbz r6, 0(r4)
/* 803BCD84 003B9CE4 38 84 00 01 */ addi r4, r4, 1
/* 803BCD88 003B9CE8 7C 03 07 74 */ extsb r3, r0
/* 803BCD8C 003B9CEC 7C C0 07 74 */ extsb r0, r6
/* 803BCD90 003B9CF0 7C 03 00 00 */ cmpw r3, r0
/* 803BCD94 003B9CF4 41 82 00 0C */ beq lbl_803BCDA0
/* 803BCD98 003B9CF8 38 60 00 00 */ li r3, 0
/* 803BCD9C 003B9CFC 4E 80 00 20 */ blr
lbl_803BCDA0:
/* 803BCDA0 003B9D00 7C C0 07 75 */ extsb. r0, r6
/* 803BCDA4 003B9D04 40 82 00 0C */ bne lbl_803BCDB0
/* 803BCDA8 003B9D08 38 60 00 01 */ li r3, 1
/* 803BCDAC 003B9D0C 4E 80 00 20 */ blr
lbl_803BCDB0:
/* 803BCDB0 003B9D10 34 E7 FF FF */ addic. r7, r7, -1
/* 803BCDB4 003B9D14 40 80 FF C4 */ bge lbl_803BCD78
/* 803BCDB8 003B9D18 88 04 00 00 */ lbz r0, 0(r4)
/* 803BCDBC 003B9D1C 7C 00 07 75 */ extsb. r0, r0
/* 803BCDC0 003B9D20 40 82 00 0C */ bne lbl_803BCDCC
/* 803BCDC4 003B9D24 38 60 00 01 */ li r3, 1
/* 803BCDC8 003B9D28 4E 80 00 20 */ blr
lbl_803BCDCC:
/* 803BCDCC 003B9D2C 38 60 00 00 */ li r3, 0
/* 803BCDD0 003B9D30 4E 80 00 20 */ blr
.global __CARDAccess
__CARDAccess:
/* 803BCDD4 003B9D34 7C 08 02 A6 */ mflr r0
/* 803BCDD8 003B9D38 90 01 00 04 */ stw r0, 4(r1)
/* 803BCDDC 003B9D3C 94 21 FF E8 */ stwu r1, -0x18(r1)
/* 803BCDE0 003B9D40 93 E1 00 14 */ stw r31, 0x14(r1)
/* 803BCDE4 003B9D44 7C 9F 23 78 */ mr r31, r4
/* 803BCDE8 003B9D48 93 C1 00 10 */ stw r30, 0x10(r1)
/* 803BCDEC 003B9D4C 3B C3 00 00 */ addi r30, r3, 0
/* 803BCDF0 003B9D50 88 04 00 00 */ lbz r0, 0(r4)
/* 803BCDF4 003B9D54 28 00 00 FF */ cmplwi r0, 0xff
/* 803BCDF8 003B9D58 40 82 00 0C */ bne lbl_803BCE04
/* 803BCDFC 003B9D5C 38 60 FF FC */ li r3, -4
/* 803BCE00 003B9D60 48 00 00 54 */ b lbl_803BCE54
lbl_803BCE04:
/* 803BCE04 003B9D64 3C 60 80 57 */ lis r3, __CARDDiskNone@ha
/* 803BCE08 003B9D68 80 9E 01 0C */ lwz r4, 0x10c(r30)
/* 803BCE0C 003B9D6C 38 03 9C 78 */ addi r0, r3, __CARDDiskNone@l
/* 803BCE10 003B9D70 7C 04 00 40 */ cmplw r4, r0
/* 803BCE14 003B9D74 41 82 00 34 */ beq lbl_803BCE48
/* 803BCE18 003B9D78 38 7F 00 00 */ addi r3, r31, 0
/* 803BCE1C 003B9D7C 38 A0 00 04 */ li r5, 4
/* 803BCE20 003B9D80 4B FD 0A 5D */ bl memcmp
/* 803BCE24 003B9D84 2C 03 00 00 */ cmpwi r3, 0
/* 803BCE28 003B9D88 40 82 00 28 */ bne lbl_803BCE50
/* 803BCE2C 003B9D8C 80 9E 01 0C */ lwz r4, 0x10c(r30)
/* 803BCE30 003B9D90 38 7F 00 04 */ addi r3, r31, 4
/* 803BCE34 003B9D94 38 A0 00 02 */ li r5, 2
/* 803BCE38 003B9D98 38 84 00 04 */ addi r4, r4, 4
/* 803BCE3C 003B9D9C 4B FD 0A 41 */ bl memcmp
/* 803BCE40 003B9DA0 2C 03 00 00 */ cmpwi r3, 0
/* 803BCE44 003B9DA4 40 82 00 0C */ bne lbl_803BCE50
lbl_803BCE48:
/* 803BCE48 003B9DA8 38 60 00 00 */ li r3, 0
/* 803BCE4C 003B9DAC 48 00 00 08 */ b lbl_803BCE54
lbl_803BCE50:
/* 803BCE50 003B9DB0 38 60 FF F6 */ li r3, -10
lbl_803BCE54:
/* 803BCE54 003B9DB4 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 803BCE58 003B9DB8 83 E1 00 14 */ lwz r31, 0x14(r1)
/* 803BCE5C 003B9DBC 83 C1 00 10 */ lwz r30, 0x10(r1)
/* 803BCE60 003B9DC0 38 21 00 18 */ addi r1, r1, 0x18
/* 803BCE64 003B9DC4 7C 08 03 A6 */ mtlr r0
/* 803BCE68 003B9DC8 4E 80 00 20 */ blr
.global __CARDIsWritable
__CARDIsWritable:
/* 803BCE6C 003B9DCC 88 03 00 00 */ lbz r0, 0(r3)
/* 803BCE70 003B9DD0 28 00 00 FF */ cmplwi r0, 0xff
/* 803BCE74 003B9DD4 40 82 00 0C */ bne lbl_803BCE80
/* 803BCE78 003B9DD8 38 60 FF FC */ li r3, -4
/* 803BCE7C 003B9DDC 4E 80 00 20 */ blr
lbl_803BCE80:
/* 803BCE80 003B9DE0 88 03 00 34 */ lbz r0, 0x34(r3)
/* 803BCE84 003B9DE4 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d
/* 803BCE88 003B9DE8 41 82 00 0C */ beq lbl_803BCE94
/* 803BCE8C 003B9DEC 38 60 00 00 */ li r3, 0
/* 803BCE90 003B9DF0 4E 80 00 20 */ blr
lbl_803BCE94:
/* 803BCE94 003B9DF4 38 60 FF F6 */ li r3, -10
/* 803BCE98 003B9DF8 4E 80 00 20 */ blr
.global __CARDGetFileNo
__CARDGetFileNo:
/* 803BCE9C 003B9DFC 7C 08 02 A6 */ mflr r0
/* 803BCEA0 003B9E00 90 01 00 04 */ stw r0, 4(r1)
/* 803BCEA4 003B9E04 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 803BCEA8 003B9E08 BF 41 00 18 */ stmw r26, 0x18(r1)
/* 803BCEAC 003B9E0C 7C 7B 1B 78 */ mr r27, r3
/* 803BCEB0 003B9E10 3B 84 00 00 */ addi r28, r4, 0
/* 803BCEB4 003B9E14 3B A5 00 00 */ addi r29, r5, 0
/* 803BCEB8 003B9E18 80 03 00 00 */ lwz r0, 0(r3)
/* 803BCEBC 003B9E1C 2C 00 00 00 */ cmpwi r0, 0
/* 803BCEC0 003B9E20 40 82 00 0C */ bne lbl_803BCECC
/* 803BCEC4 003B9E24 38 60 FF FD */ li r3, -3
/* 803BCEC8 003B9E28 48 00 01 10 */ b lbl_803BCFD8
lbl_803BCECC:
/* 803BCECC 003B9E2C 7F 63 DB 78 */ mr r3, r27
/* 803BCED0 003B9E30 4B FF DA A1 */ bl __CARDGetDirBlock
/* 803BCED4 003B9E34 3C 80 80 57 */ lis r4, __CARDDiskNone@ha
/* 803BCED8 003B9E38 3B E3 00 00 */ addi r31, r3, 0
/* 803BCEDC 003B9E3C 3B 44 9C 78 */ addi r26, r4, __CARDDiskNone@l
/* 803BCEE0 003B9E40 3B C0 00 00 */ li r30, 0
lbl_803BCEE4:
/* 803BCEE4 003B9E44 88 1F 00 00 */ lbz r0, 0(r31)
/* 803BCEE8 003B9E48 28 00 00 FF */ cmplwi r0, 0xff
/* 803BCEEC 003B9E4C 40 82 00 0C */ bne lbl_803BCEF8
/* 803BCEF0 003B9E50 38 00 FF FC */ li r0, -4
/* 803BCEF4 003B9E54 48 00 00 4C */ b lbl_803BCF40
lbl_803BCEF8:
/* 803BCEF8 003B9E58 80 9B 01 0C */ lwz r4, 0x10c(r27)
/* 803BCEFC 003B9E5C 7C 04 D0 40 */ cmplw r4, r26
/* 803BCF00 003B9E60 41 82 00 34 */ beq lbl_803BCF34
/* 803BCF04 003B9E64 38 7F 00 00 */ addi r3, r31, 0
/* 803BCF08 003B9E68 38 A0 00 04 */ li r5, 4
/* 803BCF0C 003B9E6C 4B FD 09 71 */ bl memcmp
/* 803BCF10 003B9E70 2C 03 00 00 */ cmpwi r3, 0
/* 803BCF14 003B9E74 40 82 00 28 */ bne lbl_803BCF3C
/* 803BCF18 003B9E78 80 9B 01 0C */ lwz r4, 0x10c(r27)
/* 803BCF1C 003B9E7C 38 7F 00 04 */ addi r3, r31, 4
/* 803BCF20 003B9E80 38 A0 00 02 */ li r5, 2
/* 803BCF24 003B9E84 38 84 00 04 */ addi r4, r4, 4
/* 803BCF28 003B9E88 4B FD 09 55 */ bl memcmp
/* 803BCF2C 003B9E8C 2C 03 00 00 */ cmpwi r3, 0
/* 803BCF30 003B9E90 40 82 00 0C */ bne lbl_803BCF3C
lbl_803BCF34:
/* 803BCF34 003B9E94 38 00 00 00 */ li r0, 0
/* 803BCF38 003B9E98 48 00 00 08 */ b lbl_803BCF40
lbl_803BCF3C:
/* 803BCF3C 003B9E9C 38 00 FF F6 */ li r0, -10
lbl_803BCF40:
/* 803BCF40 003B9EA0 2C 00 00 00 */ cmpwi r0, 0
/* 803BCF44 003B9EA4 41 80 00 80 */ blt lbl_803BCFC4
/* 803BCF48 003B9EA8 38 FC 00 00 */ addi r7, r28, 0
/* 803BCF4C 003B9EAC 38 DF 00 08 */ addi r6, r31, 8
/* 803BCF50 003B9EB0 38 80 00 20 */ li r4, 0x20
/* 803BCF54 003B9EB4 48 00 00 3C */ b lbl_803BCF90
lbl_803BCF58:
/* 803BCF58 003B9EB8 88 06 00 00 */ lbz r0, 0(r6)
/* 803BCF5C 003B9EBC 38 C6 00 01 */ addi r6, r6, 1
/* 803BCF60 003B9EC0 88 A7 00 00 */ lbz r5, 0(r7)
/* 803BCF64 003B9EC4 38 E7 00 01 */ addi r7, r7, 1
/* 803BCF68 003B9EC8 7C 03 07 74 */ extsb r3, r0
/* 803BCF6C 003B9ECC 7C A0 07 74 */ extsb r0, r5
/* 803BCF70 003B9ED0 7C 03 00 00 */ cmpw r3, r0
/* 803BCF74 003B9ED4 41 82 00 0C */ beq lbl_803BCF80
/* 803BCF78 003B9ED8 38 00 00 00 */ li r0, 0
/* 803BCF7C 003B9EDC 48 00 00 34 */ b lbl_803BCFB0
lbl_803BCF80:
/* 803BCF80 003B9EE0 7C A0 07 75 */ extsb. r0, r5
/* 803BCF84 003B9EE4 40 82 00 0C */ bne lbl_803BCF90
/* 803BCF88 003B9EE8 38 00 00 01 */ li r0, 1
/* 803BCF8C 003B9EEC 48 00 00 24 */ b lbl_803BCFB0
lbl_803BCF90:
/* 803BCF90 003B9EF0 34 84 FF FF */ addic. r4, r4, -1
/* 803BCF94 003B9EF4 40 80 FF C4 */ bge lbl_803BCF58
/* 803BCF98 003B9EF8 88 07 00 00 */ lbz r0, 0(r7)
/* 803BCF9C 003B9EFC 7C 00 07 75 */ extsb. r0, r0
/* 803BCFA0 003B9F00 40 82 00 0C */ bne lbl_803BCFAC
/* 803BCFA4 003B9F04 38 00 00 01 */ li r0, 1
/* 803BCFA8 003B9F08 48 00 00 08 */ b lbl_803BCFB0
lbl_803BCFAC:
/* 803BCFAC 003B9F0C 38 00 00 00 */ li r0, 0
lbl_803BCFB0:
/* 803BCFB0 003B9F10 2C 00 00 00 */ cmpwi r0, 0
/* 803BCFB4 003B9F14 41 82 00 10 */ beq lbl_803BCFC4
/* 803BCFB8 003B9F18 93 DD 00 00 */ stw r30, 0(r29)
/* 803BCFBC 003B9F1C 38 60 00 00 */ li r3, 0
/* 803BCFC0 003B9F20 48 00 00 18 */ b lbl_803BCFD8
lbl_803BCFC4:
/* 803BCFC4 003B9F24 3B DE 00 01 */ addi r30, r30, 1
/* 803BCFC8 003B9F28 2C 1E 00 7F */ cmpwi r30, 0x7f
/* 803BCFCC 003B9F2C 3B FF 00 40 */ addi r31, r31, 0x40
/* 803BCFD0 003B9F30 41 80 FF 14 */ blt lbl_803BCEE4
/* 803BCFD4 003B9F34 38 60 FF FC */ li r3, -4
lbl_803BCFD8:
/* 803BCFD8 003B9F38 BB 41 00 18 */ lmw r26, 0x18(r1)
/* 803BCFDC 003B9F3C 80 01 00 34 */ lwz r0, 0x34(r1)
/* 803BCFE0 003B9F40 38 21 00 30 */ addi r1, r1, 0x30
/* 803BCFE4 003B9F44 7C 08 03 A6 */ mtlr r0
/* 803BCFE8 003B9F48 4E 80 00 20 */ blr
.global CARDOpen
CARDOpen:
/* 803BCFEC 003B9F4C 7C 08 02 A6 */ mflr r0
/* 803BCFF0 003B9F50 90 01 00 04 */ stw r0, 4(r1)
/* 803BCFF4 003B9F54 38 00 FF FF */ li r0, -1
/* 803BCFF8 003B9F58 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 803BCFFC 003B9F5C BE E1 00 1C */ stmw r23, 0x1c(r1)
/* 803BD000 003B9F60 3B 84 00 00 */ addi r28, r4, 0
/* 803BD004 003B9F64 3B A5 00 00 */ addi r29, r5, 0
/* 803BD008 003B9F68 3B 63 00 00 */ addi r27, r3, 0
/* 803BD00C 003B9F6C 38 81 00 14 */ addi r4, r1, 0x14
/* 803BD010 003B9F70 90 05 00 00 */ stw r0, 0(r5)
/* 803BD014 003B9F74 4B FF BD 8D */ bl __CARDGetControlBlock
/* 803BD018 003B9F78 2C 03 00 00 */ cmpwi r3, 0
/* 803BD01C 003B9F7C 40 80 00 08 */ bge lbl_803BD024
/* 803BD020 003B9F80 48 00 01 30 */ b lbl_803BD150
lbl_803BD024:
/* 803BD024 003B9F84 83 E1 00 14 */ lwz r31, 0x14(r1)
/* 803BD028 003B9F88 80 1F 00 00 */ lwz r0, 0(r31)
/* 803BD02C 003B9F8C 2C 00 00 00 */ cmpwi r0, 0
/* 803BD030 003B9F90 40 82 00 0C */ bne lbl_803BD03C
/* 803BD034 003B9F94 3A E0 FF FD */ li r23, -3
/* 803BD038 003B9F98 48 00 00 B8 */ b lbl_803BD0F0
lbl_803BD03C:
/* 803BD03C 003B9F9C 7F E3 FB 78 */ mr r3, r31
/* 803BD040 003B9FA0 4B FF D9 31 */ bl __CARDGetDirBlock
/* 803BD044 003B9FA4 3C 80 80 57 */ lis r4, __CARDDiskNone@ha
/* 803BD048 003B9FA8 3A E3 00 00 */ addi r23, r3, 0
/* 803BD04C 003B9FAC 3B 44 9C 78 */ addi r26, r4, __CARDDiskNone@l
/* 803BD050 003B9FB0 3B 20 00 00 */ li r25, 0
lbl_803BD054:
/* 803BD054 003B9FB4 88 17 00 00 */ lbz r0, 0(r23)
/* 803BD058 003B9FB8 3B 17 00 00 */ addi r24, r23, 0
/* 803BD05C 003B9FBC 28 00 00 FF */ cmplwi r0, 0xff
/* 803BD060 003B9FC0 40 82 00 0C */ bne lbl_803BD06C
/* 803BD064 003B9FC4 38 00 FF FC */ li r0, -4
/* 803BD068 003B9FC8 48 00 00 4C */ b lbl_803BD0B4
lbl_803BD06C:
/* 803BD06C 003B9FCC 80 9F 01 0C */ lwz r4, 0x10c(r31)
/* 803BD070 003B9FD0 7C 04 D0 40 */ cmplw r4, r26
/* 803BD074 003B9FD4 41 82 00 34 */ beq lbl_803BD0A8
/* 803BD078 003B9FD8 38 78 00 00 */ addi r3, r24, 0
/* 803BD07C 003B9FDC 38 A0 00 04 */ li r5, 4
/* 803BD080 003B9FE0 4B FD 07 FD */ bl memcmp
/* 803BD084 003B9FE4 2C 03 00 00 */ cmpwi r3, 0
/* 803BD088 003B9FE8 40 82 00 28 */ bne lbl_803BD0B0
/* 803BD08C 003B9FEC 80 9F 01 0C */ lwz r4, 0x10c(r31)
/* 803BD090 003B9FF0 38 78 00 04 */ addi r3, r24, 4
/* 803BD094 003B9FF4 38 A0 00 02 */ li r5, 2
/* 803BD098 003B9FF8 38 84 00 04 */ addi r4, r4, 4
/* 803BD09C 003B9FFC 4B FD 07 E1 */ bl memcmp
/* 803BD0A0 003BA000 2C 03 00 00 */ cmpwi r3, 0
/* 803BD0A4 003BA004 40 82 00 0C */ bne lbl_803BD0B0
lbl_803BD0A8:
/* 803BD0A8 003BA008 38 00 00 00 */ li r0, 0
/* 803BD0AC 003BA00C 48 00 00 08 */ b lbl_803BD0B4
lbl_803BD0B0:
/* 803BD0B0 003BA010 38 00 FF F6 */ li r0, -10
lbl_803BD0B4:
/* 803BD0B4 003BA014 2C 00 00 00 */ cmpwi r0, 0
/* 803BD0B8 003BA018 41 80 00 24 */ blt lbl_803BD0DC
/* 803BD0BC 003BA01C 38 77 00 00 */ addi r3, r23, 0
/* 803BD0C0 003BA020 38 9C 00 00 */ addi r4, r28, 0
/* 803BD0C4 003BA024 4B FF FC A9 */ bl __CARDCompareFileName
/* 803BD0C8 003BA028 2C 03 00 00 */ cmpwi r3, 0
/* 803BD0CC 003BA02C 41 82 00 10 */ beq lbl_803BD0DC
/* 803BD0D0 003BA030 3B D9 00 00 */ addi r30, r25, 0
/* 803BD0D4 003BA034 3A E0 00 00 */ li r23, 0
/* 803BD0D8 003BA038 48 00 00 18 */ b lbl_803BD0F0
lbl_803BD0DC:
/* 803BD0DC 003BA03C 3B 39 00 01 */ addi r25, r25, 1
/* 803BD0E0 003BA040 2C 19 00 7F */ cmpwi r25, 0x7f
/* 803BD0E4 003BA044 3A F7 00 40 */ addi r23, r23, 0x40
/* 803BD0E8 003BA048 41 80 FF 6C */ blt lbl_803BD054
/* 803BD0EC 003BA04C 3A E0 FF FC */ li r23, -4
lbl_803BD0F0:
/* 803BD0F0 003BA050 2C 17 00 00 */ cmpwi r23, 0
/* 803BD0F4 003BA054 41 80 00 50 */ blt lbl_803BD144
/* 803BD0F8 003BA058 80 61 00 14 */ lwz r3, 0x14(r1)
/* 803BD0FC 003BA05C 4B FF D8 75 */ bl __CARDGetDirBlock
/* 803BD100 003BA060 57 C0 30 32 */ slwi r0, r30, 6
/* 803BD104 003BA064 7C A3 02 14 */ add r5, r3, r0
/* 803BD108 003BA068 A0 85 00 36 */ lhz r4, 0x36(r5)
/* 803BD10C 003BA06C 28 04 00 05 */ cmplwi r4, 5
/* 803BD110 003BA070 41 80 00 14 */ blt lbl_803BD124
/* 803BD114 003BA074 80 61 00 14 */ lwz r3, 0x14(r1)
/* 803BD118 003BA078 A0 03 00 10 */ lhz r0, 0x10(r3)
/* 803BD11C 003BA07C 7C 04 00 40 */ cmplw r4, r0
/* 803BD120 003BA080 41 80 00 0C */ blt lbl_803BD12C
lbl_803BD124:
/* 803BD124 003BA084 3A E0 FF FA */ li r23, -6
/* 803BD128 003BA088 48 00 00 1C */ b lbl_803BD144
lbl_803BD12C:
/* 803BD12C 003BA08C 93 7D 00 00 */ stw r27, 0(r29)
/* 803BD130 003BA090 38 00 00 00 */ li r0, 0
/* 803BD134 003BA094 93 DD 00 04 */ stw r30, 4(r29)
/* 803BD138 003BA098 90 1D 00 08 */ stw r0, 8(r29)
/* 803BD13C 003BA09C A0 05 00 36 */ lhz r0, 0x36(r5)
/* 803BD140 003BA0A0 B0 1D 00 10 */ sth r0, 0x10(r29)
lbl_803BD144:
/* 803BD144 003BA0A4 80 61 00 14 */ lwz r3, 0x14(r1)
/* 803BD148 003BA0A8 7E E4 BB 78 */ mr r4, r23
/* 803BD14C 003BA0AC 4B FF BD 0D */ bl __CARDPutControlBlock
lbl_803BD150:
/* 803BD150 003BA0B0 BA E1 00 1C */ lmw r23, 0x1c(r1)
/* 803BD154 003BA0B4 80 01 00 44 */ lwz r0, 0x44(r1)
/* 803BD158 003BA0B8 38 21 00 40 */ addi r1, r1, 0x40
/* 803BD15C 003BA0BC 7C 08 03 A6 */ mtlr r0
/* 803BD160 003BA0C0 4E 80 00 20 */ blr
.global CARDClose
CARDClose:
/* 803BD164 003BA0C4 7C 08 02 A6 */ mflr r0
/* 803BD168 003BA0C8 90 01 00 04 */ stw r0, 4(r1)
/* 803BD16C 003BA0CC 94 21 FF E8 */ stwu r1, -0x18(r1)
/* 803BD170 003BA0D0 93 E1 00 14 */ stw r31, 0x14(r1)
/* 803BD174 003BA0D4 7C 7F 1B 78 */ mr r31, r3
/* 803BD178 003BA0D8 38 81 00 0C */ addi r4, r1, 0xc
/* 803BD17C 003BA0DC 80 63 00 00 */ lwz r3, 0(r3)
/* 803BD180 003BA0E0 4B FF BC 21 */ bl __CARDGetControlBlock
/* 803BD184 003BA0E4 2C 03 00 00 */ cmpwi r3, 0
/* 803BD188 003BA0E8 40 80 00 08 */ bge lbl_803BD190
/* 803BD18C 003BA0EC 48 00 00 18 */ b lbl_803BD1A4
lbl_803BD190:
/* 803BD190 003BA0F0 38 00 FF FF */ li r0, -1
/* 803BD194 003BA0F4 90 1F 00 00 */ stw r0, 0(r31)
/* 803BD198 003BA0F8 38 80 00 00 */ li r4, 0
/* 803BD19C 003BA0FC 80 61 00 0C */ lwz r3, 0xc(r1)
/* 803BD1A0 003BA100 4B FF BC B9 */ bl __CARDPutControlBlock
lbl_803BD1A4:
/* 803BD1A4 003BA104 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 803BD1A8 003BA108 83 E1 00 14 */ lwz r31, 0x14(r1)
/* 803BD1AC 003BA10C 38 21 00 18 */ addi r1, r1, 0x18
/* 803BD1B0 003BA110 7C 08 03 A6 */ mtlr r0
/* 803BD1B4 003BA114 4E 80 00 20 */ blr
.global __CARDIsOpened
__CARDIsOpened:
/* 803BD1B8 003BA118 38 60 00 00 */ li r3, 0
/* 803BD1BC 003BA11C 4E 80 00 20 */ blr

View File

@ -1,185 +0,0 @@
.include "macros.inc"
.section .text, "ax"
.global BlockReadCallback
BlockReadCallback:
/* 803BA2EC 003B724C 7C 08 02 A6 */ mflr r0
/* 803BA2F0 003B7250 90 01 00 04 */ stw r0, 4(r1)
/* 803BA2F4 003B7254 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 803BA2F8 003B7258 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 803BA2FC 003B725C 3B E3 00 00 */ addi r31, r3, 0
/* 803BA300 003B7260 3C 60 80 57 */ lis r3, __CARDBlock@ha
/* 803BA304 003B7264 93 C1 00 18 */ stw r30, 0x18(r1)
/* 803BA308 003B7268 1C BF 01 10 */ mulli r5, r31, 0x110
/* 803BA30C 003B726C 93 A1 00 14 */ stw r29, 0x14(r1)
/* 803BA310 003B7270 38 03 9A 58 */ addi r0, r3, __CARDBlock@l
/* 803BA314 003B7274 7C 9D 23 79 */ or. r29, r4, r4
/* 803BA318 003B7278 7F C0 2A 14 */ add r30, r0, r5
/* 803BA31C 003B727C 41 80 00 50 */ blt lbl_803BA36C
/* 803BA320 003B7280 80 7E 00 B8 */ lwz r3, 0xb8(r30)
/* 803BA324 003B7284 38 03 02 00 */ addi r0, r3, 0x200
/* 803BA328 003B7288 90 1E 00 B8 */ stw r0, 0xb8(r30)
/* 803BA32C 003B728C 80 7E 00 B0 */ lwz r3, 0xb0(r30)
/* 803BA330 003B7290 38 03 02 00 */ addi r0, r3, 0x200
/* 803BA334 003B7294 90 1E 00 B0 */ stw r0, 0xb0(r30)
/* 803BA338 003B7298 80 7E 00 B4 */ lwz r3, 0xb4(r30)
/* 803BA33C 003B729C 38 03 02 00 */ addi r0, r3, 0x200
/* 803BA340 003B72A0 90 1E 00 B4 */ stw r0, 0xb4(r30)
/* 803BA344 003B72A4 80 7E 00 AC */ lwz r3, 0xac(r30)
/* 803BA348 003B72A8 34 03 FF FF */ addic. r0, r3, -1
/* 803BA34C 003B72AC 90 1E 00 AC */ stw r0, 0xac(r30)
/* 803BA350 003B72B0 40 81 00 1C */ ble lbl_803BA36C
/* 803BA354 003B72B4 3C 60 80 3C */ lis r3, BlockReadCallback@ha
/* 803BA358 003B72B8 38 83 A2 EC */ addi r4, r3, BlockReadCallback@l
/* 803BA35C 003B72BC 38 7F 00 00 */ addi r3, r31, 0
/* 803BA360 003B72C0 4B FF E6 25 */ bl __CARDReadSegment
/* 803BA364 003B72C4 7C 7D 1B 79 */ or. r29, r3, r3
/* 803BA368 003B72C8 40 80 00 44 */ bge lbl_803BA3AC
lbl_803BA36C:
/* 803BA36C 003B72CC 80 1E 00 D0 */ lwz r0, 0xd0(r30)
/* 803BA370 003B72D0 28 00 00 00 */ cmplwi r0, 0
/* 803BA374 003B72D4 40 82 00 10 */ bne lbl_803BA384
/* 803BA378 003B72D8 38 7E 00 00 */ addi r3, r30, 0
/* 803BA37C 003B72DC 38 9D 00 00 */ addi r4, r29, 0
/* 803BA380 003B72E0 4B FF EA D9 */ bl __CARDPutControlBlock
lbl_803BA384:
/* 803BA384 003B72E4 80 1E 00 D4 */ lwz r0, 0xd4(r30)
/* 803BA388 003B72E8 28 00 00 00 */ cmplwi r0, 0
/* 803BA38C 003B72EC 7C 0C 03 78 */ mr r12, r0
/* 803BA390 003B72F0 41 82 00 1C */ beq lbl_803BA3AC
/* 803BA394 003B72F4 38 00 00 00 */ li r0, 0
/* 803BA398 003B72F8 7D 88 03 A6 */ mtlr r12
/* 803BA39C 003B72FC 90 1E 00 D4 */ stw r0, 0xd4(r30)
/* 803BA3A0 003B7300 38 7F 00 00 */ addi r3, r31, 0
/* 803BA3A4 003B7304 38 9D 00 00 */ addi r4, r29, 0
/* 803BA3A8 003B7308 4E 80 00 21 */ blrl
lbl_803BA3AC:
/* 803BA3AC 003B730C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 803BA3B0 003B7310 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 803BA3B4 003B7314 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 803BA3B8 003B7318 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 803BA3BC 003B731C 38 21 00 20 */ addi r1, r1, 0x20
/* 803BA3C0 003B7320 7C 08 03 A6 */ mtlr r0
/* 803BA3C4 003B7324 4E 80 00 20 */ blr
.global __CARDRead
__CARDRead:
/* 803BA3C8 003B7328 7C 08 02 A6 */ mflr r0
/* 803BA3CC 003B732C 1D 23 01 10 */ mulli r9, r3, 0x110
/* 803BA3D0 003B7330 90 01 00 04 */ stw r0, 4(r1)
/* 803BA3D4 003B7334 3D 00 80 57 */ lis r8, __CARDBlock@ha
/* 803BA3D8 003B7338 94 21 FF F8 */ stwu r1, -8(r1)
/* 803BA3DC 003B733C 38 08 9A 58 */ addi r0, r8, __CARDBlock@l
/* 803BA3E0 003B7340 7D 00 4A 14 */ add r8, r0, r9
/* 803BA3E4 003B7344 80 08 00 00 */ lwz r0, 0(r8)
/* 803BA3E8 003B7348 2C 00 00 00 */ cmpwi r0, 0
/* 803BA3EC 003B734C 40 82 00 0C */ bne lbl_803BA3F8
/* 803BA3F0 003B7350 38 60 FF FD */ li r3, -3
/* 803BA3F4 003B7354 48 00 00 28 */ b lbl_803BA41C
lbl_803BA3F8:
/* 803BA3F8 003B7358 90 E8 00 D4 */ stw r7, 0xd4(r8)
/* 803BA3FC 003B735C 54 A0 BA 7E */ srwi r0, r5, 9
/* 803BA400 003B7360 3C A0 80 3C */ lis r5, BlockReadCallback@ha
/* 803BA404 003B7364 90 08 00 AC */ stw r0, 0xac(r8)
/* 803BA408 003B7368 38 05 A2 EC */ addi r0, r5, BlockReadCallback@l
/* 803BA40C 003B736C 90 88 00 B0 */ stw r4, 0xb0(r8)
/* 803BA410 003B7370 7C 04 03 78 */ mr r4, r0
/* 803BA414 003B7374 90 C8 00 B4 */ stw r6, 0xb4(r8)
/* 803BA418 003B7378 4B FF E5 6D */ bl __CARDReadSegment
lbl_803BA41C:
/* 803BA41C 003B737C 80 01 00 0C */ lwz r0, 0xc(r1)
/* 803BA420 003B7380 38 21 00 08 */ addi r1, r1, 8
/* 803BA424 003B7384 7C 08 03 A6 */ mtlr r0
/* 803BA428 003B7388 4E 80 00 20 */ blr
.global BlockWriteCallback
BlockWriteCallback:
/* 803BA42C 003B738C 7C 08 02 A6 */ mflr r0
/* 803BA430 003B7390 90 01 00 04 */ stw r0, 4(r1)
/* 803BA434 003B7394 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 803BA438 003B7398 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 803BA43C 003B739C 3B E3 00 00 */ addi r31, r3, 0
/* 803BA440 003B73A0 3C 60 80 57 */ lis r3, __CARDBlock@ha
/* 803BA444 003B73A4 93 C1 00 18 */ stw r30, 0x18(r1)
/* 803BA448 003B73A8 1C BF 01 10 */ mulli r5, r31, 0x110
/* 803BA44C 003B73AC 93 A1 00 14 */ stw r29, 0x14(r1)
/* 803BA450 003B73B0 38 03 9A 58 */ addi r0, r3, __CARDBlock@l
/* 803BA454 003B73B4 7C 9D 23 79 */ or. r29, r4, r4
/* 803BA458 003B73B8 7F C0 2A 14 */ add r30, r0, r5
/* 803BA45C 003B73BC 41 80 00 50 */ blt lbl_803BA4AC
/* 803BA460 003B73C0 80 7E 00 B8 */ lwz r3, 0xb8(r30)
/* 803BA464 003B73C4 38 03 00 80 */ addi r0, r3, 0x80
/* 803BA468 003B73C8 90 1E 00 B8 */ stw r0, 0xb8(r30)
/* 803BA46C 003B73CC 80 7E 00 B0 */ lwz r3, 0xb0(r30)
/* 803BA470 003B73D0 38 03 00 80 */ addi r0, r3, 0x80
/* 803BA474 003B73D4 90 1E 00 B0 */ stw r0, 0xb0(r30)
/* 803BA478 003B73D8 80 7E 00 B4 */ lwz r3, 0xb4(r30)
/* 803BA47C 003B73DC 38 03 00 80 */ addi r0, r3, 0x80
/* 803BA480 003B73E0 90 1E 00 B4 */ stw r0, 0xb4(r30)
/* 803BA484 003B73E4 80 7E 00 AC */ lwz r3, 0xac(r30)
/* 803BA488 003B73E8 34 03 FF FF */ addic. r0, r3, -1
/* 803BA48C 003B73EC 90 1E 00 AC */ stw r0, 0xac(r30)
/* 803BA490 003B73F0 40 81 00 1C */ ble lbl_803BA4AC
/* 803BA494 003B73F4 3C 60 80 3C */ lis r3, BlockWriteCallback@ha
/* 803BA498 003B73F8 38 83 A4 2C */ addi r4, r3, BlockWriteCallback@l
/* 803BA49C 003B73FC 38 7F 00 00 */ addi r3, r31, 0
/* 803BA4A0 003B7400 4B FF E6 19 */ bl __CARDWritePage
/* 803BA4A4 003B7404 7C 7D 1B 79 */ or. r29, r3, r3
/* 803BA4A8 003B7408 40 80 00 44 */ bge lbl_803BA4EC
lbl_803BA4AC:
/* 803BA4AC 003B740C 80 1E 00 D0 */ lwz r0, 0xd0(r30)
/* 803BA4B0 003B7410 28 00 00 00 */ cmplwi r0, 0
/* 803BA4B4 003B7414 40 82 00 10 */ bne lbl_803BA4C4
/* 803BA4B8 003B7418 38 7E 00 00 */ addi r3, r30, 0
/* 803BA4BC 003B741C 38 9D 00 00 */ addi r4, r29, 0
/* 803BA4C0 003B7420 4B FF E9 99 */ bl __CARDPutControlBlock
lbl_803BA4C4:
/* 803BA4C4 003B7424 80 1E 00 D4 */ lwz r0, 0xd4(r30)
/* 803BA4C8 003B7428 28 00 00 00 */ cmplwi r0, 0
/* 803BA4CC 003B742C 7C 0C 03 78 */ mr r12, r0
/* 803BA4D0 003B7430 41 82 00 1C */ beq lbl_803BA4EC
/* 803BA4D4 003B7434 38 00 00 00 */ li r0, 0
/* 803BA4D8 003B7438 7D 88 03 A6 */ mtlr r12
/* 803BA4DC 003B743C 90 1E 00 D4 */ stw r0, 0xd4(r30)
/* 803BA4E0 003B7440 38 7F 00 00 */ addi r3, r31, 0
/* 803BA4E4 003B7444 38 9D 00 00 */ addi r4, r29, 0
/* 803BA4E8 003B7448 4E 80 00 21 */ blrl
lbl_803BA4EC:
/* 803BA4EC 003B744C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 803BA4F0 003B7450 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 803BA4F4 003B7454 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 803BA4F8 003B7458 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 803BA4FC 003B745C 38 21 00 20 */ addi r1, r1, 0x20
/* 803BA500 003B7460 7C 08 03 A6 */ mtlr r0
/* 803BA504 003B7464 4E 80 00 20 */ blr
.global __CARDWrite
__CARDWrite:
/* 803BA508 003B7468 7C 08 02 A6 */ mflr r0
/* 803BA50C 003B746C 1D 23 01 10 */ mulli r9, r3, 0x110
/* 803BA510 003B7470 90 01 00 04 */ stw r0, 4(r1)
/* 803BA514 003B7474 3D 00 80 57 */ lis r8, __CARDBlock@ha
/* 803BA518 003B7478 94 21 FF F8 */ stwu r1, -8(r1)
/* 803BA51C 003B747C 38 08 9A 58 */ addi r0, r8, __CARDBlock@l
/* 803BA520 003B7480 7D 00 4A 14 */ add r8, r0, r9
/* 803BA524 003B7484 80 08 00 00 */ lwz r0, 0(r8)
/* 803BA528 003B7488 2C 00 00 00 */ cmpwi r0, 0
/* 803BA52C 003B748C 40 82 00 0C */ bne lbl_803BA538
/* 803BA530 003B7490 38 60 FF FD */ li r3, -3
/* 803BA534 003B7494 48 00 00 28 */ b lbl_803BA55C
lbl_803BA538:
/* 803BA538 003B7498 90 E8 00 D4 */ stw r7, 0xd4(r8)
/* 803BA53C 003B749C 54 A0 C9 FE */ srwi r0, r5, 7
/* 803BA540 003B74A0 3C A0 80 3C */ lis r5, BlockWriteCallback@ha
/* 803BA544 003B74A4 90 08 00 AC */ stw r0, 0xac(r8)
/* 803BA548 003B74A8 38 05 A4 2C */ addi r0, r5, BlockWriteCallback@l
/* 803BA54C 003B74AC 90 88 00 B0 */ stw r4, 0xb0(r8)
/* 803BA550 003B74B0 7C 04 03 78 */ mr r4, r0
/* 803BA554 003B74B4 90 C8 00 B4 */ stw r6, 0xb4(r8)
/* 803BA558 003B74B8 4B FF E5 61 */ bl __CARDWritePage
lbl_803BA55C:
/* 803BA55C 003B74BC 80 01 00 0C */ lwz r0, 0xc(r1)
/* 803BA560 003B74C0 38 21 00 08 */ addi r1, r1, 8
/* 803BA564 003B74C4 7C 08 03 A6 */ mtlr r0
/* 803BA568 003B74C8 4E 80 00 20 */ blr

View File

@ -1,308 +0,0 @@
.include "macros.inc"
.section .text, "ax"
.global __CARDSeek
__CARDSeek:
/* 803BD510 003BA470 7C 08 02 A6 */ mflr r0
/* 803BD514 003BA474 90 01 00 04 */ stw r0, 4(r1)
/* 803BD518 003BA478 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 803BD51C 003BA47C 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 803BD520 003BA480 3B E6 00 00 */ addi r31, r6, 0
/* 803BD524 003BA484 93 C1 00 28 */ stw r30, 0x28(r1)
/* 803BD528 003BA488 3B C5 00 00 */ addi r30, r5, 0
/* 803BD52C 003BA48C 93 A1 00 24 */ stw r29, 0x24(r1)
/* 803BD530 003BA490 3B A4 00 00 */ addi r29, r4, 0
/* 803BD534 003BA494 38 81 00 18 */ addi r4, r1, 0x18
/* 803BD538 003BA498 93 81 00 20 */ stw r28, 0x20(r1)
/* 803BD53C 003BA49C 7C 7C 1B 78 */ mr r28, r3
/* 803BD540 003BA4A0 80 63 00 00 */ lwz r3, 0(r3)
/* 803BD544 003BA4A4 4B FF B8 5D */ bl __CARDGetControlBlock
/* 803BD548 003BA4A8 2C 03 00 00 */ cmpwi r3, 0
/* 803BD54C 003BA4AC 40 80 00 08 */ bge lbl_803BD554
/* 803BD550 003BA4B0 48 00 01 58 */ b lbl_803BD6A8
lbl_803BD554:
/* 803BD554 003BA4B4 A0 1C 00 10 */ lhz r0, 0x10(r28)
/* 803BD558 003BA4B8 28 00 00 05 */ cmplwi r0, 5
/* 803BD55C 003BA4BC 41 80 00 28 */ blt lbl_803BD584
/* 803BD560 003BA4C0 80 61 00 18 */ lwz r3, 0x18(r1)
/* 803BD564 003BA4C4 A0 A3 00 10 */ lhz r5, 0x10(r3)
/* 803BD568 003BA4C8 7C 00 28 40 */ cmplw r0, r5
/* 803BD56C 003BA4CC 40 80 00 18 */ bge lbl_803BD584
/* 803BD570 003BA4D0 80 83 00 0C */ lwz r4, 0xc(r3)
/* 803BD574 003BA4D4 80 1C 00 08 */ lwz r0, 8(r28)
/* 803BD578 003BA4D8 7C 85 21 D6 */ mullw r4, r5, r4
/* 803BD57C 003BA4DC 7C 04 00 00 */ cmpw r4, r0
/* 803BD580 003BA4E0 41 81 00 14 */ bgt lbl_803BD594
lbl_803BD584:
/* 803BD584 003BA4E4 80 61 00 18 */ lwz r3, 0x18(r1)
/* 803BD588 003BA4E8 38 80 FF 80 */ li r4, -128
/* 803BD58C 003BA4EC 4B FF B8 CD */ bl __CARDPutControlBlock
/* 803BD590 003BA4F0 48 00 01 18 */ b lbl_803BD6A8
lbl_803BD594:
/* 803BD594 003BA4F4 4B FF D3 DD */ bl __CARDGetDirBlock
/* 803BD598 003BA4F8 80 1C 00 04 */ lwz r0, 4(r28)
/* 803BD59C 003BA4FC 80 A1 00 18 */ lwz r5, 0x18(r1)
/* 803BD5A0 003BA500 54 00 30 32 */ slwi r0, r0, 6
/* 803BD5A4 003BA504 7C 83 02 14 */ add r4, r3, r0
/* 803BD5A8 003BA508 80 65 00 0C */ lwz r3, 0xc(r5)
/* 803BD5AC 003BA50C A0 04 00 38 */ lhz r0, 0x38(r4)
/* 803BD5B0 003BA510 7C 60 19 D6 */ mullw r3, r0, r3
/* 803BD5B4 003BA514 7C 03 F0 00 */ cmpw r3, r30
/* 803BD5B8 003BA518 40 81 00 10 */ ble lbl_803BD5C8
/* 803BD5BC 003BA51C 7C 1E EA 14 */ add r0, r30, r29
/* 803BD5C0 003BA520 7C 03 00 00 */ cmpw r3, r0
/* 803BD5C4 003BA524 40 80 00 14 */ bge lbl_803BD5D8
lbl_803BD5C8:
/* 803BD5C8 003BA528 38 65 00 00 */ addi r3, r5, 0
/* 803BD5CC 003BA52C 38 80 FF F5 */ li r4, -11
/* 803BD5D0 003BA530 4B FF B8 89 */ bl __CARDPutControlBlock
/* 803BD5D4 003BA534 48 00 00 D4 */ b lbl_803BD6A8
lbl_803BD5D8:
/* 803BD5D8 003BA538 93 85 00 C0 */ stw r28, 0xc0(r5)
/* 803BD5DC 003BA53C 93 BC 00 0C */ stw r29, 0xc(r28)
/* 803BD5E0 003BA540 80 1C 00 08 */ lwz r0, 8(r28)
/* 803BD5E4 003BA544 7C 1E 00 00 */ cmpw r30, r0
/* 803BD5E8 003BA548 40 80 00 40 */ bge lbl_803BD628
/* 803BD5EC 003BA54C 38 00 00 00 */ li r0, 0
/* 803BD5F0 003BA550 90 1C 00 08 */ stw r0, 8(r28)
/* 803BD5F4 003BA554 A0 04 00 36 */ lhz r0, 0x36(r4)
/* 803BD5F8 003BA558 B0 1C 00 10 */ sth r0, 0x10(r28)
/* 803BD5FC 003BA55C A0 9C 00 10 */ lhz r4, 0x10(r28)
/* 803BD600 003BA560 28 04 00 05 */ cmplwi r4, 5
/* 803BD604 003BA564 41 80 00 14 */ blt lbl_803BD618
/* 803BD608 003BA568 80 61 00 18 */ lwz r3, 0x18(r1)
/* 803BD60C 003BA56C A0 03 00 10 */ lhz r0, 0x10(r3)
/* 803BD610 003BA570 7C 04 00 40 */ cmplw r4, r0
/* 803BD614 003BA574 41 80 00 14 */ blt lbl_803BD628
lbl_803BD618:
/* 803BD618 003BA578 80 61 00 18 */ lwz r3, 0x18(r1)
/* 803BD61C 003BA57C 38 80 FF FA */ li r4, -6
/* 803BD620 003BA580 4B FF B8 39 */ bl __CARDPutControlBlock
/* 803BD624 003BA584 48 00 00 84 */ b lbl_803BD6A8
lbl_803BD628:
/* 803BD628 003BA588 80 61 00 18 */ lwz r3, 0x18(r1)
/* 803BD62C 003BA58C 4B FF CF 41 */ bl __CARDGetFatBlock
/* 803BD630 003BA590 48 00 00 4C */ b lbl_803BD67C
lbl_803BD634:
/* 803BD634 003BA594 80 1C 00 08 */ lwz r0, 8(r28)
/* 803BD638 003BA598 7C 00 22 14 */ add r0, r0, r4
/* 803BD63C 003BA59C 90 1C 00 08 */ stw r0, 8(r28)
/* 803BD640 003BA5A0 A0 1C 00 10 */ lhz r0, 0x10(r28)
/* 803BD644 003BA5A4 54 00 08 3C */ slwi r0, r0, 1
/* 803BD648 003BA5A8 7C 03 02 2E */ lhzx r0, r3, r0
/* 803BD64C 003BA5AC B0 1C 00 10 */ sth r0, 0x10(r28)
/* 803BD650 003BA5B0 A0 BC 00 10 */ lhz r5, 0x10(r28)
/* 803BD654 003BA5B4 28 05 00 05 */ cmplwi r5, 5
/* 803BD658 003BA5B8 41 80 00 14 */ blt lbl_803BD66C
/* 803BD65C 003BA5BC 80 81 00 18 */ lwz r4, 0x18(r1)
/* 803BD660 003BA5C0 A0 04 00 10 */ lhz r0, 0x10(r4)
/* 803BD664 003BA5C4 7C 05 00 40 */ cmplw r5, r0
/* 803BD668 003BA5C8 41 80 00 14 */ blt lbl_803BD67C
lbl_803BD66C:
/* 803BD66C 003BA5CC 80 61 00 18 */ lwz r3, 0x18(r1)
/* 803BD670 003BA5D0 38 80 FF FA */ li r4, -6
/* 803BD674 003BA5D4 4B FF B7 E5 */ bl __CARDPutControlBlock
/* 803BD678 003BA5D8 48 00 00 30 */ b lbl_803BD6A8
lbl_803BD67C:
/* 803BD67C 003BA5DC 80 81 00 18 */ lwz r4, 0x18(r1)
/* 803BD680 003BA5E0 80 BC 00 08 */ lwz r5, 8(r28)
/* 803BD684 003BA5E4 80 84 00 0C */ lwz r4, 0xc(r4)
/* 803BD688 003BA5E8 38 04 FF FF */ addi r0, r4, -1
/* 803BD68C 003BA5EC 7F C0 00 78 */ andc r0, r30, r0
/* 803BD690 003BA5F0 7C 05 00 40 */ cmplw r5, r0
/* 803BD694 003BA5F4 41 80 FF A0 */ blt lbl_803BD634
/* 803BD698 003BA5F8 93 DC 00 08 */ stw r30, 8(r28)
/* 803BD69C 003BA5FC 38 60 00 00 */ li r3, 0
/* 803BD6A0 003BA600 80 01 00 18 */ lwz r0, 0x18(r1)
/* 803BD6A4 003BA604 90 1F 00 00 */ stw r0, 0(r31)
lbl_803BD6A8:
/* 803BD6A8 003BA608 80 01 00 34 */ lwz r0, 0x34(r1)
/* 803BD6AC 003BA60C 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 803BD6B0 003BA610 83 C1 00 28 */ lwz r30, 0x28(r1)
/* 803BD6B4 003BA614 83 A1 00 24 */ lwz r29, 0x24(r1)
/* 803BD6B8 003BA618 83 81 00 20 */ lwz r28, 0x20(r1)
/* 803BD6BC 003BA61C 38 21 00 30 */ addi r1, r1, 0x30
/* 803BD6C0 003BA620 7C 08 03 A6 */ mtlr r0
/* 803BD6C4 003BA624 4E 80 00 20 */ blr
.fn ReadCallback, local
/* 803BD6C8 003BA628 7C 08 02 A6 */ mflr r0
/* 803BD6CC 003BA62C 90 01 00 04 */ stw r0, 4(r1)
/* 803BD6D0 003BA630 94 21 FF D8 */ stwu r1, -0x28(r1)
/* 803BD6D4 003BA634 BF 61 00 14 */ stmw r27, 0x14(r1)
/* 803BD6D8 003BA638 3B A3 00 00 */ addi r29, r3, 0
/* 803BD6DC 003BA63C 3C 60 80 57 */ lis r3, __CARDBlock@ha
/* 803BD6E0 003BA640 1C BD 01 10 */ mulli r5, r29, 0x110
/* 803BD6E4 003BA644 38 03 9A 58 */ addi r0, r3, __CARDBlock@l
/* 803BD6E8 003BA648 7C 9E 23 79 */ or. r30, r4, r4
/* 803BD6EC 003BA64C 7F E0 2A 14 */ add r31, r0, r5
/* 803BD6F0 003BA650 41 80 00 C8 */ blt lbl_803BD7B8
/* 803BD6F4 003BA654 83 9F 00 C0 */ lwz r28, 0xc0(r31)
/* 803BD6F8 003BA658 80 9C 00 0C */ lwz r4, 0xc(r28)
/* 803BD6FC 003BA65C 2C 04 00 00 */ cmpwi r4, 0
/* 803BD700 003BA660 40 80 00 0C */ bge lbl_803BD70C
/* 803BD704 003BA664 3B C0 FF F2 */ li r30, -14
/* 803BD708 003BA668 48 00 00 B0 */ b lbl_803BD7B8
lbl_803BD70C:
/* 803BD70C 003BA66C 80 BF 00 0C */ lwz r5, 0xc(r31)
/* 803BD710 003BA670 80 DC 00 08 */ lwz r6, 8(r28)
/* 803BD714 003BA674 38 05 FF FF */ addi r0, r5, -1
/* 803BD718 003BA678 7C 03 00 F8 */ nor r3, r0, r0
/* 803BD71C 003BA67C 7C 06 2A 14 */ add r0, r6, r5
/* 803BD720 003BA680 7C 60 00 38 */ and r0, r3, r0
/* 803BD724 003BA684 7F 66 00 50 */ subf r27, r6, r0
/* 803BD728 003BA688 7C 1B 20 50 */ subf r0, r27, r4
/* 803BD72C 003BA68C 90 1C 00 0C */ stw r0, 0xc(r28)
/* 803BD730 003BA690 80 1C 00 0C */ lwz r0, 0xc(r28)
/* 803BD734 003BA694 2C 00 00 00 */ cmpwi r0, 0
/* 803BD738 003BA698 40 81 00 80 */ ble lbl_803BD7B8
/* 803BD73C 003BA69C 7F E3 FB 78 */ mr r3, r31
/* 803BD740 003BA6A0 4B FF CE 2D */ bl __CARDGetFatBlock
/* 803BD744 003BA6A4 80 1C 00 08 */ lwz r0, 8(r28)
/* 803BD748 003BA6A8 7C 00 DA 14 */ add r0, r0, r27
/* 803BD74C 003BA6AC 90 1C 00 08 */ stw r0, 8(r28)
/* 803BD750 003BA6B0 A0 1C 00 10 */ lhz r0, 0x10(r28)
/* 803BD754 003BA6B4 54 00 08 3C */ slwi r0, r0, 1
/* 803BD758 003BA6B8 7C 03 02 2E */ lhzx r0, r3, r0
/* 803BD75C 003BA6BC B0 1C 00 10 */ sth r0, 0x10(r28)
/* 803BD760 003BA6C0 A0 7C 00 10 */ lhz r3, 0x10(r28)
/* 803BD764 003BA6C4 28 03 00 05 */ cmplwi r3, 5
/* 803BD768 003BA6C8 41 80 00 10 */ blt lbl_803BD778
/* 803BD76C 003BA6CC A0 1F 00 10 */ lhz r0, 0x10(r31)
/* 803BD770 003BA6D0 7C 03 00 40 */ cmplw r3, r0
/* 803BD774 003BA6D4 41 80 00 0C */ blt lbl_803BD780
lbl_803BD778:
/* 803BD778 003BA6D8 3B C0 FF FA */ li r30, -6
/* 803BD77C 003BA6DC 48 00 00 3C */ b lbl_803BD7B8
lbl_803BD780:
/* 803BD780 003BA6E0 80 BC 00 0C */ lwz r5, 0xc(r28)
/* 803BD784 003BA6E4 80 1F 00 0C */ lwz r0, 0xc(r31)
/* 803BD788 003BA6E8 7C 05 00 00 */ cmpw r5, r0
/* 803BD78C 003BA6EC 40 80 00 08 */ bge lbl_803BD794
/* 803BD790 003BA6F0 48 00 00 08 */ b lbl_803BD798
lbl_803BD794:
/* 803BD794 003BA6F4 7C 05 03 78 */ mr r5, r0
lbl_803BD798:
/* 803BD798 003BA6F8 7C 80 19 D6 */ mullw r4, r0, r3
/* 803BD79C 003BA6FC 80 DF 00 B4 */ lwz r6, 0xb4(r31)
/* 803BD7A0 003BA700 3C 60 80 3C */ lis r3, ReadCallback@ha
/* 803BD7A4 003BA704 38 E3 D6 C8 */ addi r7, r3, ReadCallback@l
/* 803BD7A8 003BA708 38 7D 00 00 */ addi r3, r29, 0
/* 803BD7AC 003BA70C 4B FF CC 1D */ bl __CARDRead
/* 803BD7B0 003BA710 7C 7E 1B 79 */ or. r30, r3, r3
/* 803BD7B4 003BA714 40 80 00 30 */ bge lbl_803BD7E4
lbl_803BD7B8:
/* 803BD7B8 003BA718 83 7F 00 D0 */ lwz r27, 0xd0(r31)
/* 803BD7BC 003BA71C 38 00 00 00 */ li r0, 0
/* 803BD7C0 003BA720 38 7F 00 00 */ addi r3, r31, 0
/* 803BD7C4 003BA724 90 1F 00 D0 */ stw r0, 0xd0(r31)
/* 803BD7C8 003BA728 7F C4 F3 78 */ mr r4, r30
/* 803BD7CC 003BA72C 4B FF B6 8D */ bl __CARDPutControlBlock
/* 803BD7D0 003BA730 39 9B 00 00 */ addi r12, r27, 0
/* 803BD7D4 003BA734 7D 88 03 A6 */ mtlr r12
/* 803BD7D8 003BA738 38 7D 00 00 */ addi r3, r29, 0
/* 803BD7DC 003BA73C 38 9E 00 00 */ addi r4, r30, 0
/* 803BD7E0 003BA740 4E 80 00 21 */ blrl
lbl_803BD7E4:
/* 803BD7E4 003BA744 BB 61 00 14 */ lmw r27, 0x14(r1)
/* 803BD7E8 003BA748 80 01 00 2C */ lwz r0, 0x2c(r1)
/* 803BD7EC 003BA74C 38 21 00 28 */ addi r1, r1, 0x28
/* 803BD7F0 003BA750 7C 08 03 A6 */ mtlr r0
/* 803BD7F4 003BA754 4E 80 00 20 */ blr
.endfn ReadCallback
.global CARDReadAsync
CARDReadAsync:
/* 803BD7F8 003BA758 7C 08 02 A6 */ mflr r0
/* 803BD7FC 003BA75C 90 01 00 04 */ stw r0, 4(r1)
/* 803BD800 003BA760 54 C0 05 FF */ clrlwi. r0, r6, 0x17
/* 803BD804 003BA764 94 21 FF C8 */ stwu r1, -0x38(r1)
/* 803BD808 003BA768 BF 61 00 24 */ stmw r27, 0x24(r1)
/* 803BD80C 003BA76C 3B A3 00 00 */ addi r29, r3, 0
/* 803BD810 003BA770 3B C4 00 00 */ addi r30, r4, 0
/* 803BD814 003BA774 3B E5 00 00 */ addi r31, r5, 0
/* 803BD818 003BA778 3B 67 00 00 */ addi r27, r7, 0
/* 803BD81C 003BA77C 40 82 00 0C */ bne lbl_803BD828
/* 803BD820 003BA780 57 E0 05 FF */ clrlwi. r0, r31, 0x17
/* 803BD824 003BA784 41 82 00 0C */ beq lbl_803BD830
lbl_803BD828:
/* 803BD828 003BA788 38 60 FF 80 */ li r3, -128
/* 803BD82C 003BA78C 48 00 01 00 */ b lbl_803BD92C
lbl_803BD830:
/* 803BD830 003BA790 38 7D 00 00 */ addi r3, r29, 0
/* 803BD834 003BA794 38 9F 00 00 */ addi r4, r31, 0
/* 803BD838 003BA798 38 A6 00 00 */ addi r5, r6, 0
/* 803BD83C 003BA79C 38 C1 00 1C */ addi r6, r1, 0x1c
/* 803BD840 003BA7A0 4B FF FC D1 */ bl __CARDSeek
/* 803BD844 003BA7A4 2C 03 00 00 */ cmpwi r3, 0
/* 803BD848 003BA7A8 40 80 00 08 */ bge lbl_803BD850
/* 803BD84C 003BA7AC 48 00 00 E0 */ b lbl_803BD92C
lbl_803BD850:
/* 803BD850 003BA7B0 80 61 00 1C */ lwz r3, 0x1c(r1)
/* 803BD854 003BA7B4 4B FF D1 1D */ bl __CARDGetDirBlock
/* 803BD858 003BA7B8 80 1D 00 04 */ lwz r0, 4(r29)
/* 803BD85C 003BA7BC 54 00 30 32 */ slwi r0, r0, 6
/* 803BD860 003BA7C0 7F 83 02 14 */ add r28, r3, r0
/* 803BD864 003BA7C4 80 61 00 1C */ lwz r3, 0x1c(r1)
/* 803BD868 003BA7C8 7F 84 E3 78 */ mr r4, r28
/* 803BD86C 003BA7CC 4B FF F5 69 */ bl __CARDAccess
/* 803BD870 003BA7D0 38 83 00 00 */ addi r4, r3, 0
/* 803BD874 003BA7D4 2C 04 FF F6 */ cmpwi r4, -10
/* 803BD878 003BA7D8 40 82 00 10 */ bne lbl_803BD888
/* 803BD87C 003BA7DC 7F 83 E3 78 */ mr r3, r28
/* 803BD880 003BA7E0 4B FF F5 ED */ bl __CARDIsWritable
/* 803BD884 003BA7E4 7C 64 1B 78 */ mr r4, r3
lbl_803BD888:
/* 803BD888 003BA7E8 2C 04 00 00 */ cmpwi r4, 0
/* 803BD88C 003BA7EC 40 80 00 10 */ bge lbl_803BD89C
/* 803BD890 003BA7F0 80 61 00 1C */ lwz r3, 0x1c(r1)
/* 803BD894 003BA7F4 4B FF B5 C5 */ bl __CARDPutControlBlock
/* 803BD898 003BA7F8 48 00 00 94 */ b lbl_803BD92C
lbl_803BD89C:
/* 803BD89C 003BA7FC 38 7E 00 00 */ addi r3, r30, 0
/* 803BD8A0 003BA800 38 9F 00 00 */ addi r4, r31, 0
/* 803BD8A4 003BA804 4B FC 11 E1 */ bl DCInvalidateRange
/* 803BD8A8 003BA808 28 1B 00 00 */ cmplwi r27, 0
/* 803BD8AC 003BA80C 41 82 00 0C */ beq lbl_803BD8B8
/* 803BD8B0 003BA810 7F 60 DB 78 */ mr r0, r27
/* 803BD8B4 003BA814 48 00 00 0C */ b lbl_803BD8C0
lbl_803BD8B8:
/* 803BD8B8 003BA818 3C 60 80 3B */ lis r3, __CARDDefaultApiCallback@ha
/* 803BD8BC 003BA81C 38 03 7E 74 */ addi r0, r3, __CARDDefaultApiCallback@l
lbl_803BD8C0:
/* 803BD8C0 003BA820 80 61 00 1C */ lwz r3, 0x1c(r1)
/* 803BD8C4 003BA824 90 03 00 D0 */ stw r0, 0xd0(r3)
/* 803BD8C8 003BA828 80 61 00 1C */ lwz r3, 0x1c(r1)
/* 803BD8CC 003BA82C 80 9D 00 08 */ lwz r4, 8(r29)
/* 803BD8D0 003BA830 80 A3 00 0C */ lwz r5, 0xc(r3)
/* 803BD8D4 003BA834 38 05 FF FF */ addi r0, r5, -1
/* 803BD8D8 003BA838 7C 88 00 38 */ and r8, r4, r0
/* 803BD8DC 003BA83C 7C 68 28 50 */ subf r3, r8, r5
/* 803BD8E0 003BA840 7C 1F 18 00 */ cmpw r31, r3
/* 803BD8E4 003BA844 40 80 00 08 */ bge lbl_803BD8EC
/* 803BD8E8 003BA848 7F E3 FB 78 */ mr r3, r31
lbl_803BD8EC:
/* 803BD8EC 003BA84C A0 1D 00 10 */ lhz r0, 0x10(r29)
/* 803BD8F0 003BA850 3C 80 80 3C */ lis r4, ReadCallback@ha
/* 803BD8F4 003BA854 3B E3 00 00 */ addi r31, r3, 0
/* 803BD8F8 003BA858 80 7D 00 00 */ lwz r3, 0(r29)
/* 803BD8FC 003BA85C 7C 05 01 D6 */ mullw r0, r5, r0
/* 803BD900 003BA860 38 E4 D6 C8 */ addi r7, r4, ReadCallback@l
/* 803BD904 003BA864 38 BF 00 00 */ addi r5, r31, 0
/* 803BD908 003BA868 38 DE 00 00 */ addi r6, r30, 0
/* 803BD90C 003BA86C 7C 88 02 14 */ add r4, r8, r0
/* 803BD910 003BA870 4B FF CA B9 */ bl __CARDRead
/* 803BD914 003BA874 7C 7D 1B 79 */ or. r29, r3, r3
/* 803BD918 003BA878 40 80 00 10 */ bge lbl_803BD928
/* 803BD91C 003BA87C 80 61 00 1C */ lwz r3, 0x1c(r1)
/* 803BD920 003BA880 7F A4 EB 78 */ mr r4, r29
/* 803BD924 003BA884 4B FF B5 35 */ bl __CARDPutControlBlock
lbl_803BD928:
/* 803BD928 003BA888 7F A3 EB 78 */ mr r3, r29
lbl_803BD92C:
/* 803BD92C 003BA88C BB 61 00 24 */ lmw r27, 0x24(r1)
/* 803BD930 003BA890 80 01 00 3C */ lwz r0, 0x3c(r1)
/* 803BD934 003BA894 38 21 00 38 */ addi r1, r1, 0x38
/* 803BD938 003BA898 7C 08 03 A6 */ mtlr r0
/* 803BD93C 003BA89C 4E 80 00 20 */ blr

View File

@ -1,146 +0,0 @@
.include "macros.inc"
.section .text, "ax"
.global CARDRenameAsync
CARDRenameAsync:
/* 803BE3EC 003BB34C 7C 08 02 A6 */ mflr r0
/* 803BE3F0 003BB350 90 01 00 04 */ stw r0, 4(r1)
/* 803BE3F4 003BB354 94 21 FF B8 */ stwu r1, -0x48(r1)
/* 803BE3F8 003BB358 BE E1 00 24 */ stmw r23, 0x24(r1)
/* 803BE3FC 003BB35C 7C 9D 23 78 */ mr r29, r4
/* 803BE400 003BB360 3B 83 00 00 */ addi r28, r3, 0
/* 803BE404 003BB364 3B C5 00 00 */ addi r30, r5, 0
/* 803BE408 003BB368 3B E6 00 00 */ addi r31, r6, 0
/* 803BE40C 003BB36C 88 84 00 00 */ lbz r4, 0(r4)
/* 803BE410 003BB370 7C 80 07 74 */ extsb r0, r4
/* 803BE414 003BB374 2C 00 00 FF */ cmpwi r0, 0xff
/* 803BE418 003BB378 41 82 00 24 */ beq lbl_803BE43C
/* 803BE41C 003BB37C 88 7E 00 00 */ lbz r3, 0(r30)
/* 803BE420 003BB380 7C 60 07 74 */ extsb r0, r3
/* 803BE424 003BB384 2C 00 00 FF */ cmpwi r0, 0xff
/* 803BE428 003BB388 41 82 00 14 */ beq lbl_803BE43C
/* 803BE42C 003BB38C 7C 80 07 75 */ extsb. r0, r4
/* 803BE430 003BB390 41 82 00 0C */ beq lbl_803BE43C
/* 803BE434 003BB394 7C 60 07 75 */ extsb. r0, r3
/* 803BE438 003BB398 40 82 00 0C */ bne lbl_803BE444
lbl_803BE43C:
/* 803BE43C 003BB39C 38 60 FF 80 */ li r3, -128
/* 803BE440 003BB3A0 48 00 01 94 */ b lbl_803BE5D4
lbl_803BE444:
/* 803BE444 003BB3A4 7F A3 EB 78 */ mr r3, r29
/* 803BE448 003BB3A8 4B FD 1D 79 */ bl strlen
/* 803BE44C 003BB3AC 28 03 00 20 */ cmplwi r3, 0x20
/* 803BE450 003BB3B0 41 81 00 14 */ bgt lbl_803BE464
/* 803BE454 003BB3B4 7F C3 F3 78 */ mr r3, r30
/* 803BE458 003BB3B8 4B FD 1D 69 */ bl strlen
/* 803BE45C 003BB3BC 28 03 00 20 */ cmplwi r3, 0x20
/* 803BE460 003BB3C0 40 81 00 0C */ ble lbl_803BE46C
lbl_803BE464:
/* 803BE464 003BB3C4 38 60 FF F4 */ li r3, -12
/* 803BE468 003BB3C8 48 00 01 6C */ b lbl_803BE5D4
lbl_803BE46C:
/* 803BE46C 003BB3CC 38 7C 00 00 */ addi r3, r28, 0
/* 803BE470 003BB3D0 38 81 00 18 */ addi r4, r1, 0x18
/* 803BE474 003BB3D4 4B FF A9 2D */ bl __CARDGetControlBlock
/* 803BE478 003BB3D8 2C 03 00 00 */ cmpwi r3, 0
/* 803BE47C 003BB3DC 40 80 00 08 */ bge lbl_803BE484
/* 803BE480 003BB3E0 48 00 01 54 */ b lbl_803BE5D4
lbl_803BE484:
/* 803BE484 003BB3E4 80 61 00 18 */ lwz r3, 0x18(r1)
/* 803BE488 003BB3E8 3A E0 FF FF */ li r23, -1
/* 803BE48C 003BB3EC 3B 00 FF FF */ li r24, -1
/* 803BE490 003BB3F0 4B FF C4 E1 */ bl __CARDGetDirBlock
/* 803BE494 003BB3F4 3B 43 00 00 */ addi r26, r3, 0
/* 803BE498 003BB3F8 3B 7A 00 00 */ addi r27, r26, 0
/* 803BE49C 003BB3FC 3B 20 00 00 */ li r25, 0
lbl_803BE4A0:
/* 803BE4A0 003BB400 88 1B 00 00 */ lbz r0, 0(r27)
/* 803BE4A4 003BB404 28 00 00 FF */ cmplwi r0, 0xff
/* 803BE4A8 003BB408 41 82 00 70 */ beq lbl_803BE518
/* 803BE4AC 003BB40C 80 81 00 18 */ lwz r4, 0x18(r1)
/* 803BE4B0 003BB410 38 7B 00 00 */ addi r3, r27, 0
/* 803BE4B4 003BB414 38 A0 00 04 */ li r5, 4
/* 803BE4B8 003BB418 80 84 01 0C */ lwz r4, 0x10c(r4)
/* 803BE4BC 003BB41C 4B FC F3 C1 */ bl memcmp
/* 803BE4C0 003BB420 2C 03 00 00 */ cmpwi r3, 0
/* 803BE4C4 003BB424 40 82 00 54 */ bne lbl_803BE518
/* 803BE4C8 003BB428 80 81 00 18 */ lwz r4, 0x18(r1)
/* 803BE4CC 003BB42C 38 7B 00 04 */ addi r3, r27, 4
/* 803BE4D0 003BB430 38 A0 00 02 */ li r5, 2
/* 803BE4D4 003BB434 80 84 01 0C */ lwz r4, 0x10c(r4)
/* 803BE4D8 003BB438 38 84 00 04 */ addi r4, r4, 4
/* 803BE4DC 003BB43C 4B FC F3 A1 */ bl memcmp
/* 803BE4E0 003BB440 2C 03 00 00 */ cmpwi r3, 0
/* 803BE4E4 003BB444 40 82 00 34 */ bne lbl_803BE518
/* 803BE4E8 003BB448 38 7B 00 00 */ addi r3, r27, 0
/* 803BE4EC 003BB44C 38 9D 00 00 */ addi r4, r29, 0
/* 803BE4F0 003BB450 4B FF E8 7D */ bl __CARDCompareFileName
/* 803BE4F4 003BB454 2C 03 00 00 */ cmpwi r3, 0
/* 803BE4F8 003BB458 41 82 00 08 */ beq lbl_803BE500
/* 803BE4FC 003BB45C 7F 37 CB 78 */ mr r23, r25
lbl_803BE500:
/* 803BE500 003BB460 38 7B 00 00 */ addi r3, r27, 0
/* 803BE504 003BB464 38 9E 00 00 */ addi r4, r30, 0
/* 803BE508 003BB468 4B FF E8 65 */ bl __CARDCompareFileName
/* 803BE50C 003BB46C 2C 03 00 00 */ cmpwi r3, 0
/* 803BE510 003BB470 41 82 00 08 */ beq lbl_803BE518
/* 803BE514 003BB474 7F 38 CB 78 */ mr r24, r25
lbl_803BE518:
/* 803BE518 003BB478 3B 39 00 01 */ addi r25, r25, 1
/* 803BE51C 003BB47C 2C 19 00 7F */ cmpwi r25, 0x7f
/* 803BE520 003BB480 3B 7B 00 40 */ addi r27, r27, 0x40
/* 803BE524 003BB484 41 80 FF 7C */ blt lbl_803BE4A0
/* 803BE528 003BB488 2C 17 FF FF */ cmpwi r23, -1
/* 803BE52C 003BB48C 40 82 00 14 */ bne lbl_803BE540
/* 803BE530 003BB490 80 61 00 18 */ lwz r3, 0x18(r1)
/* 803BE534 003BB494 38 80 FF FC */ li r4, -4
/* 803BE538 003BB498 4B FF A9 21 */ bl __CARDPutControlBlock
/* 803BE53C 003BB49C 48 00 00 98 */ b lbl_803BE5D4
lbl_803BE540:
/* 803BE540 003BB4A0 2C 18 FF FF */ cmpwi r24, -1
/* 803BE544 003BB4A4 41 82 00 14 */ beq lbl_803BE558
/* 803BE548 003BB4A8 80 61 00 18 */ lwz r3, 0x18(r1)
/* 803BE54C 003BB4AC 38 80 FF F9 */ li r4, -7
/* 803BE550 003BB4B0 4B FF A9 09 */ bl __CARDPutControlBlock
/* 803BE554 003BB4B4 48 00 00 80 */ b lbl_803BE5D4
lbl_803BE558:
/* 803BE558 003BB4B8 56 E0 30 32 */ slwi r0, r23, 6
/* 803BE55C 003BB4BC 80 61 00 18 */ lwz r3, 0x18(r1)
/* 803BE560 003BB4C0 7F 7A 02 14 */ add r27, r26, r0
/* 803BE564 003BB4C4 38 9B 00 00 */ addi r4, r27, 0
/* 803BE568 003BB4C8 4B FF E8 6D */ bl __CARDAccess
/* 803BE56C 003BB4CC 7C 64 1B 79 */ or. r4, r3, r3
/* 803BE570 003BB4D0 40 80 00 10 */ bge lbl_803BE580
/* 803BE574 003BB4D4 80 61 00 18 */ lwz r3, 0x18(r1)
/* 803BE578 003BB4D8 4B FF A8 E1 */ bl __CARDPutControlBlock
/* 803BE57C 003BB4DC 48 00 00 58 */ b lbl_803BE5D4
lbl_803BE580:
/* 803BE580 003BB4E0 38 9E 00 00 */ addi r4, r30, 0
/* 803BE584 003BB4E4 38 7B 00 08 */ addi r3, r27, 8
/* 803BE588 003BB4E8 38 A0 00 20 */ li r5, 0x20
/* 803BE58C 003BB4EC 4B FD 1B 39 */ bl strncpy
/* 803BE590 003BB4F0 3C 60 80 00 */ lis r3, 0x800000F8@ha
/* 803BE594 003BB4F4 80 03 00 F8 */ lwz r0, 0x800000F8@l(r3)
/* 803BE598 003BB4F8 54 1D F0 BE */ srwi r29, r0, 2
/* 803BE59C 003BB4FC 4B FC 6E 0D */ bl OSGetTime
/* 803BE5A0 003BB500 38 DD 00 00 */ addi r6, r29, 0
/* 803BE5A4 003BB504 38 A0 00 00 */ li r5, 0
/* 803BE5A8 003BB508 4B FC B6 25 */ bl __div2i
/* 803BE5AC 003BB50C 90 9B 00 28 */ stw r4, 0x28(r27)
/* 803BE5B0 003BB510 38 7C 00 00 */ addi r3, r28, 0
/* 803BE5B4 003BB514 38 9F 00 00 */ addi r4, r31, 0
/* 803BE5B8 003BB518 4B FF C5 59 */ bl __CARDUpdateDir
/* 803BE5BC 003BB51C 7C 7B 1B 79 */ or. r27, r3, r3
/* 803BE5C0 003BB520 40 80 00 10 */ bge lbl_803BE5D0
/* 803BE5C4 003BB524 80 61 00 18 */ lwz r3, 0x18(r1)
/* 803BE5C8 003BB528 7F 64 DB 78 */ mr r4, r27
/* 803BE5CC 003BB52C 4B FF A8 8D */ bl __CARDPutControlBlock
lbl_803BE5D0:
/* 803BE5D0 003BB530 7F 63 DB 78 */ mr r3, r27
lbl_803BE5D4:
/* 803BE5D4 003BB534 BA E1 00 24 */ lmw r23, 0x24(r1)
/* 803BE5D8 003BB538 80 01 00 4C */ lwz r0, 0x4c(r1)
/* 803BE5DC 003BB53C 38 21 00 48 */ addi r1, r1, 0x48
/* 803BE5E0 003BB540 7C 08 03 A6 */ mtlr r0
/* 803BE5E4 003BB544 4E 80 00 20 */ blr

View File

@ -1,345 +0,0 @@
.include "macros.inc"
.section .text, "ax"
.global UpdateIconOffsets
UpdateIconOffsets:
/* 803BDF54 003BAEB4 81 03 00 2C */ lwz r8, 0x2c(r3)
/* 803BDF58 003BAEB8 3C 08 00 01 */ addis r0, r8, 1
/* 803BDF5C 003BAEBC 28 00 FF FF */ cmplwi r0, 0xffff
/* 803BDF60 003BAEC0 40 82 00 18 */ bne lbl_803BDF78
/* 803BDF64 003BAEC4 38 00 00 00 */ li r0, 0
/* 803BDF68 003BAEC8 98 04 00 2E */ stb r0, 0x2e(r4)
/* 803BDF6C 003BAECC 39 00 00 00 */ li r8, 0
/* 803BDF70 003BAED0 B0 04 00 34 */ sth r0, 0x34(r4)
/* 803BDF74 003BAED4 B0 04 00 36 */ sth r0, 0x36(r4)
lbl_803BDF78:
/* 803BDF78 003BAED8 88 03 00 07 */ lbz r0, 7(r3)
/* 803BDF7C 003BAEDC 39 20 00 00 */ li r9, 0
/* 803BDF80 003BAEE0 54 00 07 BE */ clrlwi r0, r0, 0x1e
/* 803BDF84 003BAEE4 2C 00 00 02 */ cmpwi r0, 2
/* 803BDF88 003BAEE8 41 82 00 28 */ beq lbl_803BDFB0
/* 803BDF8C 003BAEEC 40 80 00 38 */ bge lbl_803BDFC4
/* 803BDF90 003BAEF0 2C 00 00 01 */ cmpwi r0, 1
/* 803BDF94 003BAEF4 40 80 00 08 */ bge lbl_803BDF9C
/* 803BDF98 003BAEF8 48 00 00 2C */ b lbl_803BDFC4
lbl_803BDF9C:
/* 803BDF9C 003BAEFC 91 04 00 3C */ stw r8, 0x3c(r4)
/* 803BDFA0 003BAF00 38 08 0C 00 */ addi r0, r8, 0xc00
/* 803BDFA4 003BAF04 39 08 0E 00 */ addi r8, r8, 0xe00
/* 803BDFA8 003BAF08 90 04 00 40 */ stw r0, 0x40(r4)
/* 803BDFAC 003BAF0C 48 00 00 24 */ b lbl_803BDFD0
lbl_803BDFB0:
/* 803BDFB0 003BAF10 91 04 00 3C */ stw r8, 0x3c(r4)
/* 803BDFB4 003BAF14 38 00 FF FF */ li r0, -1
/* 803BDFB8 003BAF18 39 08 18 00 */ addi r8, r8, 0x1800
/* 803BDFBC 003BAF1C 90 04 00 40 */ stw r0, 0x40(r4)
/* 803BDFC0 003BAF20 48 00 00 10 */ b lbl_803BDFD0
lbl_803BDFC4:
/* 803BDFC4 003BAF24 38 00 FF FF */ li r0, -1
/* 803BDFC8 003BAF28 90 04 00 3C */ stw r0, 0x3c(r4)
/* 803BDFCC 003BAF2C 90 04 00 40 */ stw r0, 0x40(r4)
lbl_803BDFD0:
/* 803BDFD0 003BAF30 38 00 00 02 */ li r0, 2
/* 803BDFD4 003BAF34 7C 09 03 A6 */ mtctr r0
/* 803BDFD8 003BAF38 38 E4 00 00 */ addi r7, r4, 0
/* 803BDFDC 003BAF3C 39 40 00 00 */ li r10, 0
/* 803BDFE0 003BAF40 38 C0 00 00 */ li r6, 0
/* 803BDFE4 003BAF44 38 00 FF FF */ li r0, -1
lbl_803BDFE8:
/* 803BDFE8 003BAF48 A0 A3 00 30 */ lhz r5, 0x30(r3)
/* 803BDFEC 003BAF4C 7C A5 36 30 */ sraw r5, r5, r6
/* 803BDFF0 003BAF50 54 A5 07 BE */ clrlwi r5, r5, 0x1e
/* 803BDFF4 003BAF54 2C 05 00 02 */ cmpwi r5, 2
/* 803BDFF8 003BAF58 41 82 00 24 */ beq lbl_803BE01C
/* 803BDFFC 003BAF5C 40 80 00 2C */ bge lbl_803BE028
/* 803BE000 003BAF60 2C 05 00 01 */ cmpwi r5, 1
/* 803BE004 003BAF64 40 80 00 08 */ bge lbl_803BE00C
/* 803BE008 003BAF68 48 00 00 20 */ b lbl_803BE028
lbl_803BE00C:
/* 803BE00C 003BAF6C 91 07 00 44 */ stw r8, 0x44(r7)
/* 803BE010 003BAF70 39 20 00 01 */ li r9, 1
/* 803BE014 003BAF74 39 08 04 00 */ addi r8, r8, 0x400
/* 803BE018 003BAF78 48 00 00 14 */ b lbl_803BE02C
lbl_803BE01C:
/* 803BE01C 003BAF7C 91 07 00 44 */ stw r8, 0x44(r7)
/* 803BE020 003BAF80 39 08 08 00 */ addi r8, r8, 0x800
/* 803BE024 003BAF84 48 00 00 08 */ b lbl_803BE02C
lbl_803BE028:
/* 803BE028 003BAF88 90 07 00 44 */ stw r0, 0x44(r7)
lbl_803BE02C:
/* 803BE02C 003BAF8C A0 A3 00 30 */ lhz r5, 0x30(r3)
/* 803BE030 003BAF90 38 C6 00 02 */ addi r6, r6, 2
/* 803BE034 003BAF94 38 E7 00 04 */ addi r7, r7, 4
/* 803BE038 003BAF98 7C A5 36 30 */ sraw r5, r5, r6
/* 803BE03C 003BAF9C 54 A5 07 BE */ clrlwi r5, r5, 0x1e
/* 803BE040 003BAFA0 2C 05 00 02 */ cmpwi r5, 2
/* 803BE044 003BAFA4 41 82 00 24 */ beq lbl_803BE068
/* 803BE048 003BAFA8 40 80 00 2C */ bge lbl_803BE074
/* 803BE04C 003BAFAC 2C 05 00 01 */ cmpwi r5, 1
/* 803BE050 003BAFB0 40 80 00 08 */ bge lbl_803BE058
/* 803BE054 003BAFB4 48 00 00 20 */ b lbl_803BE074
lbl_803BE058:
/* 803BE058 003BAFB8 91 07 00 44 */ stw r8, 0x44(r7)
/* 803BE05C 003BAFBC 39 20 00 01 */ li r9, 1
/* 803BE060 003BAFC0 39 08 04 00 */ addi r8, r8, 0x400
/* 803BE064 003BAFC4 48 00 00 14 */ b lbl_803BE078
lbl_803BE068:
/* 803BE068 003BAFC8 91 07 00 44 */ stw r8, 0x44(r7)
/* 803BE06C 003BAFCC 39 08 08 00 */ addi r8, r8, 0x800
/* 803BE070 003BAFD0 48 00 00 08 */ b lbl_803BE078
lbl_803BE074:
/* 803BE074 003BAFD4 90 07 00 44 */ stw r0, 0x44(r7)
lbl_803BE078:
/* 803BE078 003BAFD8 A0 A3 00 30 */ lhz r5, 0x30(r3)
/* 803BE07C 003BAFDC 38 C6 00 02 */ addi r6, r6, 2
/* 803BE080 003BAFE0 39 4A 00 01 */ addi r10, r10, 1
/* 803BE084 003BAFE4 7C A5 36 30 */ sraw r5, r5, r6
/* 803BE088 003BAFE8 54 A5 07 BE */ clrlwi r5, r5, 0x1e
/* 803BE08C 003BAFEC 2C 05 00 02 */ cmpwi r5, 2
/* 803BE090 003BAFF0 38 E7 00 04 */ addi r7, r7, 4
/* 803BE094 003BAFF4 41 82 00 24 */ beq lbl_803BE0B8
/* 803BE098 003BAFF8 40 80 00 2C */ bge lbl_803BE0C4
/* 803BE09C 003BAFFC 2C 05 00 01 */ cmpwi r5, 1
/* 803BE0A0 003BB000 40 80 00 08 */ bge lbl_803BE0A8
/* 803BE0A4 003BB004 48 00 00 20 */ b lbl_803BE0C4
lbl_803BE0A8:
/* 803BE0A8 003BB008 91 07 00 44 */ stw r8, 0x44(r7)
/* 803BE0AC 003BB00C 39 20 00 01 */ li r9, 1
/* 803BE0B0 003BB010 39 08 04 00 */ addi r8, r8, 0x400
/* 803BE0B4 003BB014 48 00 00 14 */ b lbl_803BE0C8
lbl_803BE0B8:
/* 803BE0B8 003BB018 91 07 00 44 */ stw r8, 0x44(r7)
/* 803BE0BC 003BB01C 39 08 08 00 */ addi r8, r8, 0x800
/* 803BE0C0 003BB020 48 00 00 08 */ b lbl_803BE0C8
lbl_803BE0C4:
/* 803BE0C4 003BB024 90 07 00 44 */ stw r0, 0x44(r7)
lbl_803BE0C8:
/* 803BE0C8 003BB028 A0 A3 00 30 */ lhz r5, 0x30(r3)
/* 803BE0CC 003BB02C 38 C6 00 02 */ addi r6, r6, 2
/* 803BE0D0 003BB030 39 4A 00 01 */ addi r10, r10, 1
/* 803BE0D4 003BB034 7C A5 36 30 */ sraw r5, r5, r6
/* 803BE0D8 003BB038 54 A5 07 BE */ clrlwi r5, r5, 0x1e
/* 803BE0DC 003BB03C 2C 05 00 02 */ cmpwi r5, 2
/* 803BE0E0 003BB040 38 E7 00 04 */ addi r7, r7, 4
/* 803BE0E4 003BB044 41 82 00 24 */ beq lbl_803BE108
/* 803BE0E8 003BB048 40 80 00 2C */ bge lbl_803BE114
/* 803BE0EC 003BB04C 2C 05 00 01 */ cmpwi r5, 1
/* 803BE0F0 003BB050 40 80 00 08 */ bge lbl_803BE0F8
/* 803BE0F4 003BB054 48 00 00 20 */ b lbl_803BE114
lbl_803BE0F8:
/* 803BE0F8 003BB058 91 07 00 44 */ stw r8, 0x44(r7)
/* 803BE0FC 003BB05C 39 20 00 01 */ li r9, 1
/* 803BE100 003BB060 39 08 04 00 */ addi r8, r8, 0x400
/* 803BE104 003BB064 48 00 00 14 */ b lbl_803BE118
lbl_803BE108:
/* 803BE108 003BB068 91 07 00 44 */ stw r8, 0x44(r7)
/* 803BE10C 003BB06C 39 08 08 00 */ addi r8, r8, 0x800
/* 803BE110 003BB070 48 00 00 08 */ b lbl_803BE118
lbl_803BE114:
/* 803BE114 003BB074 90 07 00 44 */ stw r0, 0x44(r7)
lbl_803BE118:
/* 803BE118 003BB078 38 C6 00 02 */ addi r6, r6, 2
/* 803BE11C 003BB07C 38 E7 00 04 */ addi r7, r7, 4
/* 803BE120 003BB080 39 4A 00 01 */ addi r10, r10, 1
/* 803BE124 003BB084 42 00 FE C4 */ bdnz lbl_803BDFE8
/* 803BE128 003BB088 2C 09 00 00 */ cmpwi r9, 0
/* 803BE12C 003BB08C 41 82 00 10 */ beq lbl_803BE13C
/* 803BE130 003BB090 91 04 00 64 */ stw r8, 0x64(r4)
/* 803BE134 003BB094 39 08 02 00 */ addi r8, r8, 0x200
/* 803BE138 003BB098 48 00 00 0C */ b lbl_803BE144
lbl_803BE13C:
/* 803BE13C 003BB09C 38 00 FF FF */ li r0, -1
/* 803BE140 003BB0A0 90 04 00 64 */ stw r0, 0x64(r4)
lbl_803BE144:
/* 803BE144 003BB0A4 91 04 00 68 */ stw r8, 0x68(r4)
/* 803BE148 003BB0A8 4E 80 00 20 */ blr
.global CARDGetStatus
CARDGetStatus:
/* 803BE14C 003BB0AC 7C 08 02 A6 */ mflr r0
/* 803BE150 003BB0B0 90 01 00 04 */ stw r0, 4(r1)
/* 803BE154 003BB0B4 94 21 FF D8 */ stwu r1, -0x28(r1)
/* 803BE158 003BB0B8 93 E1 00 24 */ stw r31, 0x24(r1)
/* 803BE15C 003BB0BC 3B E5 00 00 */ addi r31, r5, 0
/* 803BE160 003BB0C0 93 C1 00 20 */ stw r30, 0x20(r1)
/* 803BE164 003BB0C4 93 A1 00 1C */ stw r29, 0x1c(r1)
/* 803BE168 003BB0C8 7C 9D 23 79 */ or. r29, r4, r4
/* 803BE16C 003BB0CC 41 80 00 0C */ blt lbl_803BE178
/* 803BE170 003BB0D0 2C 1D 00 7F */ cmpwi r29, 0x7f
/* 803BE174 003BB0D4 41 80 00 0C */ blt lbl_803BE180
lbl_803BE178:
/* 803BE178 003BB0D8 38 60 FF 80 */ li r3, -128
/* 803BE17C 003BB0DC 48 00 00 E0 */ b lbl_803BE25C
lbl_803BE180:
/* 803BE180 003BB0E0 38 81 00 14 */ addi r4, r1, 0x14
/* 803BE184 003BB0E4 4B FF AC 1D */ bl __CARDGetControlBlock
/* 803BE188 003BB0E8 2C 03 00 00 */ cmpwi r3, 0
/* 803BE18C 003BB0EC 40 80 00 08 */ bge lbl_803BE194
/* 803BE190 003BB0F0 48 00 00 CC */ b lbl_803BE25C
lbl_803BE194:
/* 803BE194 003BB0F4 80 61 00 14 */ lwz r3, 0x14(r1)
/* 803BE198 003BB0F8 4B FF C7 D9 */ bl __CARDGetDirBlock
/* 803BE19C 003BB0FC 57 A0 30 32 */ slwi r0, r29, 6
/* 803BE1A0 003BB100 7F A3 02 14 */ add r29, r3, r0
/* 803BE1A4 003BB104 80 61 00 14 */ lwz r3, 0x14(r1)
/* 803BE1A8 003BB108 7F A4 EB 78 */ mr r4, r29
/* 803BE1AC 003BB10C 4B FF EC 29 */ bl __CARDAccess
/* 803BE1B0 003BB110 3B C3 00 00 */ addi r30, r3, 0
/* 803BE1B4 003BB114 2C 1E FF F6 */ cmpwi r30, -10
/* 803BE1B8 003BB118 40 82 00 10 */ bne lbl_803BE1C8
/* 803BE1BC 003BB11C 7F A3 EB 78 */ mr r3, r29
/* 803BE1C0 003BB120 4B FF EC AD */ bl __CARDIsWritable
/* 803BE1C4 003BB124 7C 7E 1B 78 */ mr r30, r3
lbl_803BE1C8:
/* 803BE1C8 003BB128 2C 1E 00 00 */ cmpwi r30, 0
/* 803BE1CC 003BB12C 41 80 00 84 */ blt lbl_803BE250
/* 803BE1D0 003BB130 38 9D 00 00 */ addi r4, r29, 0
/* 803BE1D4 003BB134 38 7F 00 28 */ addi r3, r31, 0x28
/* 803BE1D8 003BB138 38 A0 00 04 */ li r5, 4
/* 803BE1DC 003BB13C 4B C4 52 B5 */ bl memcpy
/* 803BE1E0 003BB140 38 7F 00 2C */ addi r3, r31, 0x2c
/* 803BE1E4 003BB144 38 9D 00 04 */ addi r4, r29, 4
/* 803BE1E8 003BB148 38 A0 00 02 */ li r5, 2
/* 803BE1EC 003BB14C 4B C4 52 A5 */ bl memcpy
/* 803BE1F0 003BB150 80 A1 00 14 */ lwz r5, 0x14(r1)
/* 803BE1F4 003BB154 7F E3 FB 78 */ mr r3, r31
/* 803BE1F8 003BB158 A0 DD 00 38 */ lhz r6, 0x38(r29)
/* 803BE1FC 003BB15C 38 9D 00 08 */ addi r4, r29, 8
/* 803BE200 003BB160 80 05 00 0C */ lwz r0, 0xc(r5)
/* 803BE204 003BB164 38 A0 00 20 */ li r5, 0x20
/* 803BE208 003BB168 7C 06 01 D6 */ mullw r0, r6, r0
/* 803BE20C 003BB16C 90 1F 00 20 */ stw r0, 0x20(r31)
/* 803BE210 003BB170 4B C4 52 81 */ bl memcpy
/* 803BE214 003BB174 80 1D 00 28 */ lwz r0, 0x28(r29)
/* 803BE218 003BB178 38 7D 00 00 */ addi r3, r29, 0
/* 803BE21C 003BB17C 38 9F 00 00 */ addi r4, r31, 0
/* 803BE220 003BB180 90 1F 00 24 */ stw r0, 0x24(r31)
/* 803BE224 003BB184 88 1D 00 07 */ lbz r0, 7(r29)
/* 803BE228 003BB188 98 1F 00 2E */ stb r0, 0x2e(r31)
/* 803BE22C 003BB18C 80 1D 00 2C */ lwz r0, 0x2c(r29)
/* 803BE230 003BB190 90 1F 00 30 */ stw r0, 0x30(r31)
/* 803BE234 003BB194 A0 1D 00 30 */ lhz r0, 0x30(r29)
/* 803BE238 003BB198 B0 1F 00 34 */ sth r0, 0x34(r31)
/* 803BE23C 003BB19C A0 1D 00 32 */ lhz r0, 0x32(r29)
/* 803BE240 003BB1A0 B0 1F 00 36 */ sth r0, 0x36(r31)
/* 803BE244 003BB1A4 80 1D 00 3C */ lwz r0, 0x3c(r29)
/* 803BE248 003BB1A8 90 1F 00 38 */ stw r0, 0x38(r31)
/* 803BE24C 003BB1AC 4B FF FD 09 */ bl UpdateIconOffsets
lbl_803BE250:
/* 803BE250 003BB1B0 80 61 00 14 */ lwz r3, 0x14(r1)
/* 803BE254 003BB1B4 7F C4 F3 78 */ mr r4, r30
/* 803BE258 003BB1B8 4B FF AC 01 */ bl __CARDPutControlBlock
lbl_803BE25C:
/* 803BE25C 003BB1BC 80 01 00 2C */ lwz r0, 0x2c(r1)
/* 803BE260 003BB1C0 83 E1 00 24 */ lwz r31, 0x24(r1)
/* 803BE264 003BB1C4 83 C1 00 20 */ lwz r30, 0x20(r1)
/* 803BE268 003BB1C8 83 A1 00 1C */ lwz r29, 0x1c(r1)
/* 803BE26C 003BB1CC 38 21 00 28 */ addi r1, r1, 0x28
/* 803BE270 003BB1D0 7C 08 03 A6 */ mtlr r0
/* 803BE274 003BB1D4 4E 80 00 20 */ blr
.global CARDSetStatusAsync
CARDSetStatusAsync:
/* 803BE278 003BB1D8 7C 08 02 A6 */ mflr r0
/* 803BE27C 003BB1DC 90 01 00 04 */ stw r0, 4(r1)
/* 803BE280 003BB1E0 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 803BE284 003BB1E4 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 803BE288 003BB1E8 7C 9F 23 79 */ or. r31, r4, r4
/* 803BE28C 003BB1EC 93 C1 00 28 */ stw r30, 0x28(r1)
/* 803BE290 003BB1F0 3B C6 00 00 */ addi r30, r6, 0
/* 803BE294 003BB1F4 93 A1 00 24 */ stw r29, 0x24(r1)
/* 803BE298 003BB1F8 3B A5 00 00 */ addi r29, r5, 0
/* 803BE29C 003BB1FC 93 81 00 20 */ stw r28, 0x20(r1)
/* 803BE2A0 003BB200 3B 83 00 00 */ addi r28, r3, 0
/* 803BE2A4 003BB204 41 80 00 40 */ blt lbl_803BE2E4
/* 803BE2A8 003BB208 2C 1F 00 7F */ cmpwi r31, 0x7f
/* 803BE2AC 003BB20C 40 80 00 38 */ bge lbl_803BE2E4
/* 803BE2B0 003BB210 80 7D 00 30 */ lwz r3, 0x30(r29)
/* 803BE2B4 003BB214 3C 03 00 01 */ addis r0, r3, 1
/* 803BE2B8 003BB218 28 00 FF FF */ cmplwi r0, 0xffff
/* 803BE2BC 003BB21C 41 82 00 0C */ beq lbl_803BE2C8
/* 803BE2C0 003BB220 28 03 02 00 */ cmplwi r3, 0x200
/* 803BE2C4 003BB224 40 80 00 20 */ bge lbl_803BE2E4
lbl_803BE2C8:
/* 803BE2C8 003BB228 80 7D 00 38 */ lwz r3, 0x38(r29)
/* 803BE2CC 003BB22C 3C 03 00 01 */ addis r0, r3, 1
/* 803BE2D0 003BB230 28 00 FF FF */ cmplwi r0, 0xffff
/* 803BE2D4 003BB234 41 82 00 18 */ beq lbl_803BE2EC
/* 803BE2D8 003BB238 54 60 04 FE */ clrlwi r0, r3, 0x13
/* 803BE2DC 003BB23C 28 00 1F C0 */ cmplwi r0, 0x1fc0
/* 803BE2E0 003BB240 40 81 00 0C */ ble lbl_803BE2EC
lbl_803BE2E4:
/* 803BE2E4 003BB244 38 60 FF 80 */ li r3, -128
/* 803BE2E8 003BB248 48 00 00 E4 */ b lbl_803BE3CC
lbl_803BE2EC:
/* 803BE2EC 003BB24C 38 7C 00 00 */ addi r3, r28, 0
/* 803BE2F0 003BB250 38 81 00 18 */ addi r4, r1, 0x18
/* 803BE2F4 003BB254 4B FF AA AD */ bl __CARDGetControlBlock
/* 803BE2F8 003BB258 2C 03 00 00 */ cmpwi r3, 0
/* 803BE2FC 003BB25C 40 80 00 08 */ bge lbl_803BE304
/* 803BE300 003BB260 48 00 00 CC */ b lbl_803BE3CC
lbl_803BE304:
/* 803BE304 003BB264 80 61 00 18 */ lwz r3, 0x18(r1)
/* 803BE308 003BB268 4B FF C6 69 */ bl __CARDGetDirBlock
/* 803BE30C 003BB26C 57 E0 30 32 */ slwi r0, r31, 6
/* 803BE310 003BB270 7F E3 02 14 */ add r31, r3, r0
/* 803BE314 003BB274 80 61 00 18 */ lwz r3, 0x18(r1)
/* 803BE318 003BB278 7F E4 FB 78 */ mr r4, r31
/* 803BE31C 003BB27C 4B FF EA B9 */ bl __CARDAccess
/* 803BE320 003BB280 7C 64 1B 79 */ or. r4, r3, r3
/* 803BE324 003BB284 40 80 00 10 */ bge lbl_803BE334
/* 803BE328 003BB288 80 61 00 18 */ lwz r3, 0x18(r1)
/* 803BE32C 003BB28C 4B FF AB 2D */ bl __CARDPutControlBlock
/* 803BE330 003BB290 48 00 00 9C */ b lbl_803BE3CC
lbl_803BE334:
/* 803BE334 003BB294 88 1D 00 2E */ lbz r0, 0x2e(r29)
/* 803BE338 003BB298 38 7F 00 00 */ addi r3, r31, 0
/* 803BE33C 003BB29C 38 9D 00 00 */ addi r4, r29, 0
/* 803BE340 003BB2A0 98 1F 00 07 */ stb r0, 7(r31)
/* 803BE344 003BB2A4 80 1D 00 30 */ lwz r0, 0x30(r29)
/* 803BE348 003BB2A8 90 1F 00 2C */ stw r0, 0x2c(r31)
/* 803BE34C 003BB2AC A0 1D 00 34 */ lhz r0, 0x34(r29)
/* 803BE350 003BB2B0 B0 1F 00 30 */ sth r0, 0x30(r31)
/* 803BE354 003BB2B4 A0 1D 00 36 */ lhz r0, 0x36(r29)
/* 803BE358 003BB2B8 B0 1F 00 32 */ sth r0, 0x32(r31)
/* 803BE35C 003BB2BC 80 1D 00 38 */ lwz r0, 0x38(r29)
/* 803BE360 003BB2C0 90 1F 00 3C */ stw r0, 0x3c(r31)
/* 803BE364 003BB2C4 4B FF FB F1 */ bl UpdateIconOffsets
/* 803BE368 003BB2C8 80 7F 00 2C */ lwz r3, 0x2c(r31)
/* 803BE36C 003BB2CC 3C 03 00 01 */ addis r0, r3, 1
/* 803BE370 003BB2D0 28 00 FF FF */ cmplwi r0, 0xffff
/* 803BE374 003BB2D4 40 82 00 14 */ bne lbl_803BE388
/* 803BE378 003BB2D8 A0 1F 00 32 */ lhz r0, 0x32(r31)
/* 803BE37C 003BB2DC 54 00 00 3A */ rlwinm r0, r0, 0, 0, 0x1d
/* 803BE380 003BB2E0 60 00 00 01 */ ori r0, r0, 1
/* 803BE384 003BB2E4 B0 1F 00 32 */ sth r0, 0x32(r31)
lbl_803BE388:
/* 803BE388 003BB2E8 3C 60 80 00 */ lis r3, 0x800000F8@ha
/* 803BE38C 003BB2EC 80 03 00 F8 */ lwz r0, 0x800000F8@l(r3)
/* 803BE390 003BB2F0 54 1D F0 BE */ srwi r29, r0, 2
/* 803BE394 003BB2F4 4B FC 70 15 */ bl OSGetTime
/* 803BE398 003BB2F8 38 DD 00 00 */ addi r6, r29, 0
/* 803BE39C 003BB2FC 38 A0 00 00 */ li r5, 0
/* 803BE3A0 003BB300 4B FC B8 2D */ bl __div2i
/* 803BE3A4 003BB304 90 9F 00 28 */ stw r4, 0x28(r31)
/* 803BE3A8 003BB308 38 7C 00 00 */ addi r3, r28, 0
/* 803BE3AC 003BB30C 38 9E 00 00 */ addi r4, r30, 0
/* 803BE3B0 003BB310 4B FF C7 61 */ bl __CARDUpdateDir
/* 803BE3B4 003BB314 7C 7C 1B 79 */ or. r28, r3, r3
/* 803BE3B8 003BB318 40 80 00 10 */ bge lbl_803BE3C8
/* 803BE3BC 003BB31C 80 61 00 18 */ lwz r3, 0x18(r1)
/* 803BE3C0 003BB320 7F 84 E3 78 */ mr r4, r28
/* 803BE3C4 003BB324 4B FF AA 95 */ bl __CARDPutControlBlock
lbl_803BE3C8:
/* 803BE3C8 003BB328 7F 83 E3 78 */ mr r3, r28
lbl_803BE3CC:
/* 803BE3CC 003BB32C 80 01 00 34 */ lwz r0, 0x34(r1)
/* 803BE3D0 003BB330 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 803BE3D4 003BB334 83 C1 00 28 */ lwz r30, 0x28(r1)
/* 803BE3D8 003BB338 83 A1 00 24 */ lwz r29, 0x24(r1)
/* 803BE3DC 003BB33C 83 81 00 20 */ lwz r28, 0x20(r1)
/* 803BE3E0 003BB340 38 21 00 30 */ addi r1, r1, 0x30
/* 803BE3E4 003BB344 7C 08 03 A6 */ mtlr r0
/* 803BE3E8 003BB348 4E 80 00 20 */ blr

File diff suppressed because it is too large Load Diff

View File

@ -1,232 +0,0 @@
.include "macros.inc"
.section .text, "ax"
WriteCallback:
/* 803BD940 003BA8A0 7C 08 02 A6 */ mflr r0
/* 803BD944 003BA8A4 90 01 00 04 */ stw r0, 4(r1)
/* 803BD948 003BA8A8 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 803BD94C 003BA8AC 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 803BD950 003BA8B0 93 C1 00 18 */ stw r30, 0x18(r1)
/* 803BD954 003BA8B4 3B C3 00 00 */ addi r30, r3, 0
/* 803BD958 003BA8B8 3C 60 80 57 */ lis r3, __CARDBlock@ha
/* 803BD95C 003BA8BC 93 A1 00 14 */ stw r29, 0x14(r1)
/* 803BD960 003BA8C0 1C BE 01 10 */ mulli r5, r30, 0x110
/* 803BD964 003BA8C4 93 81 00 10 */ stw r28, 0x10(r1)
/* 803BD968 003BA8C8 38 03 9A 58 */ addi r0, r3, __CARDBlock@l
/* 803BD96C 003BA8CC 7C 9C 23 79 */ or. r28, r4, r4
/* 803BD970 003BA8D0 7F E0 2A 14 */ add r31, r0, r5
/* 803BD974 003BA8D4 41 80 00 F0 */ blt lbl_803BDA64
/* 803BD978 003BA8D8 83 BF 00 C0 */ lwz r29, 0xc0(r31)
/* 803BD97C 003BA8DC 80 7D 00 0C */ lwz r3, 0xc(r29)
/* 803BD980 003BA8E0 2C 03 00 00 */ cmpwi r3, 0
/* 803BD984 003BA8E4 40 80 00 0C */ bge lbl_803BD990
/* 803BD988 003BA8E8 3B 80 FF F2 */ li r28, -14
/* 803BD98C 003BA8EC 48 00 00 D8 */ b lbl_803BDA64
lbl_803BD990:
/* 803BD990 003BA8F0 80 1F 00 0C */ lwz r0, 0xc(r31)
/* 803BD994 003BA8F4 7C 00 18 50 */ subf r0, r0, r3
/* 803BD998 003BA8F8 90 1D 00 0C */ stw r0, 0xc(r29)
/* 803BD99C 003BA8FC 80 1D 00 0C */ lwz r0, 0xc(r29)
/* 803BD9A0 003BA900 2C 00 00 00 */ cmpwi r0, 0
/* 803BD9A4 003BA904 41 81 00 54 */ bgt lbl_803BD9F8
/* 803BD9A8 003BA908 7F E3 FB 78 */ mr r3, r31
/* 803BD9AC 003BA90C 4B FF CF C5 */ bl __CARDGetDirBlock
/* 803BD9B0 003BA910 80 BD 00 04 */ lwz r5, 4(r29)
/* 803BD9B4 003BA914 3C 80 80 00 */ lis r4, 0x800000F8@ha
/* 803BD9B8 003BA918 80 04 00 F8 */ lwz r0, 0x800000F8@l(r4)
/* 803BD9BC 003BA91C 54 A4 30 32 */ slwi r4, r5, 6
/* 803BD9C0 003BA920 7F 83 22 14 */ add r28, r3, r4
/* 803BD9C4 003BA924 54 1D F0 BE */ srwi r29, r0, 2
/* 803BD9C8 003BA928 4B FC 79 E1 */ bl OSGetTime
/* 803BD9CC 003BA92C 38 DD 00 00 */ addi r6, r29, 0
/* 803BD9D0 003BA930 38 A0 00 00 */ li r5, 0
/* 803BD9D4 003BA934 4B FC C1 F9 */ bl __div2i
/* 803BD9D8 003BA938 90 9C 00 28 */ stw r4, 0x28(r28)
/* 803BD9DC 003BA93C 38 00 00 00 */ li r0, 0
/* 803BD9E0 003BA940 38 7E 00 00 */ addi r3, r30, 0
/* 803BD9E4 003BA944 80 9F 00 D0 */ lwz r4, 0xd0(r31)
/* 803BD9E8 003BA948 90 1F 00 D0 */ stw r0, 0xd0(r31)
/* 803BD9EC 003BA94C 4B FF D1 25 */ bl __CARDUpdateDir
/* 803BD9F0 003BA950 7C 7C 1B 78 */ mr r28, r3
/* 803BD9F4 003BA954 48 00 00 68 */ b lbl_803BDA5C
lbl_803BD9F8:
/* 803BD9F8 003BA958 7F E3 FB 78 */ mr r3, r31
/* 803BD9FC 003BA95C 4B FF CB 71 */ bl __CARDGetFatBlock
/* 803BDA00 003BA960 80 9D 00 08 */ lwz r4, 8(r29)
/* 803BDA04 003BA964 80 1F 00 0C */ lwz r0, 0xc(r31)
/* 803BDA08 003BA968 7C 04 02 14 */ add r0, r4, r0
/* 803BDA0C 003BA96C 90 1D 00 08 */ stw r0, 8(r29)
/* 803BDA10 003BA970 A0 1D 00 10 */ lhz r0, 0x10(r29)
/* 803BDA14 003BA974 54 00 08 3C */ slwi r0, r0, 1
/* 803BDA18 003BA978 7C 03 02 2E */ lhzx r0, r3, r0
/* 803BDA1C 003BA97C B0 1D 00 10 */ sth r0, 0x10(r29)
/* 803BDA20 003BA980 A0 9D 00 10 */ lhz r4, 0x10(r29)
/* 803BDA24 003BA984 28 04 00 05 */ cmplwi r4, 5
/* 803BDA28 003BA988 41 80 00 10 */ blt lbl_803BDA38
/* 803BDA2C 003BA98C A0 1F 00 10 */ lhz r0, 0x10(r31)
/* 803BDA30 003BA990 7C 04 00 40 */ cmplw r4, r0
/* 803BDA34 003BA994 41 80 00 0C */ blt lbl_803BDA40
lbl_803BDA38:
/* 803BDA38 003BA998 3B 80 FF FA */ li r28, -6
/* 803BDA3C 003BA99C 48 00 00 28 */ b lbl_803BDA64
lbl_803BDA40:
/* 803BDA40 003BA9A0 80 1F 00 0C */ lwz r0, 0xc(r31)
/* 803BDA44 003BA9A4 3C 60 80 3C */ lis r3, EraseCallback@ha
/* 803BDA48 003BA9A8 38 A3 DA B0 */ addi r5, r3, EraseCallback@l
/* 803BDA4C 003BA9AC 7C 80 21 D6 */ mullw r4, r0, r4
/* 803BDA50 003BA9B0 38 7E 00 00 */ addi r3, r30, 0
/* 803BDA54 003BA9B4 4B FF B1 81 */ bl __CARDEraseSector
/* 803BDA58 003BA9B8 7C 7C 1B 78 */ mr r28, r3
lbl_803BDA5C:
/* 803BDA5C 003BA9BC 2C 1C 00 00 */ cmpwi r28, 0
/* 803BDA60 003BA9C0 40 80 00 30 */ bge lbl_803BDA90
lbl_803BDA64:
/* 803BDA64 003BA9C4 83 BF 00 D0 */ lwz r29, 0xd0(r31)
/* 803BDA68 003BA9C8 38 00 00 00 */ li r0, 0
/* 803BDA6C 003BA9CC 38 7F 00 00 */ addi r3, r31, 0
/* 803BDA70 003BA9D0 90 1F 00 D0 */ stw r0, 0xd0(r31)
/* 803BDA74 003BA9D4 7F 84 E3 78 */ mr r4, r28
/* 803BDA78 003BA9D8 4B FF B3 E1 */ bl __CARDPutControlBlock
/* 803BDA7C 003BA9DC 39 9D 00 00 */ addi r12, r29, 0
/* 803BDA80 003BA9E0 7D 88 03 A6 */ mtlr r12
/* 803BDA84 003BA9E4 38 7E 00 00 */ addi r3, r30, 0
/* 803BDA88 003BA9E8 38 9C 00 00 */ addi r4, r28, 0
/* 803BDA8C 003BA9EC 4E 80 00 21 */ blrl
lbl_803BDA90:
/* 803BDA90 003BA9F0 80 01 00 24 */ lwz r0, 0x24(r1)
/* 803BDA94 003BA9F4 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 803BDA98 003BA9F8 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 803BDA9C 003BA9FC 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 803BDAA0 003BAA00 83 81 00 10 */ lwz r28, 0x10(r1)
/* 803BDAA4 003BAA04 38 21 00 20 */ addi r1, r1, 0x20
/* 803BDAA8 003BAA08 7C 08 03 A6 */ mtlr r0
/* 803BDAAC 003BAA0C 4E 80 00 20 */ blr
EraseCallback:
/* 803BDAB0 003BAA10 7C 08 02 A6 */ mflr r0
/* 803BDAB4 003BAA14 90 01 00 04 */ stw r0, 4(r1)
/* 803BDAB8 003BAA18 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 803BDABC 003BAA1C 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 803BDAC0 003BAA20 93 C1 00 18 */ stw r30, 0x18(r1)
/* 803BDAC4 003BAA24 93 A1 00 14 */ stw r29, 0x14(r1)
/* 803BDAC8 003BAA28 7C 9D 23 79 */ or. r29, r4, r4
/* 803BDACC 003BAA2C 93 81 00 10 */ stw r28, 0x10(r1)
/* 803BDAD0 003BAA30 3B 83 00 00 */ addi r28, r3, 0
/* 803BDAD4 003BAA34 1C BC 01 10 */ mulli r5, r28, 0x110
/* 803BDAD8 003BAA38 3C 60 80 57 */ lis r3, __CARDBlock@ha
/* 803BDADC 003BAA3C 38 03 9A 58 */ addi r0, r3, __CARDBlock@l
/* 803BDAE0 003BAA40 7F E0 2A 14 */ add r31, r0, r5
/* 803BDAE4 003BAA44 41 80 00 30 */ blt lbl_803BDB14
/* 803BDAE8 003BAA48 80 9F 00 C0 */ lwz r4, 0xc0(r31)
/* 803BDAEC 003BAA4C 3C 60 80 3C */ lis r3, WriteCallback@ha
/* 803BDAF0 003BAA50 38 E3 D9 40 */ addi r7, r3, WriteCallback@l
/* 803BDAF4 003BAA54 80 BF 00 0C */ lwz r5, 0xc(r31)
/* 803BDAF8 003BAA58 A0 04 00 10 */ lhz r0, 0x10(r4)
/* 803BDAFC 003BAA5C 80 DF 00 B4 */ lwz r6, 0xb4(r31)
/* 803BDB00 003BAA60 38 7C 00 00 */ addi r3, r28, 0
/* 803BDB04 003BAA64 7C 85 01 D6 */ mullw r4, r5, r0
/* 803BDB08 003BAA68 4B FF CA 01 */ bl __CARDWrite
/* 803BDB0C 003BAA6C 7C 7D 1B 79 */ or. r29, r3, r3
/* 803BDB10 003BAA70 40 80 00 30 */ bge lbl_803BDB40
lbl_803BDB14:
/* 803BDB14 003BAA74 83 DF 00 D0 */ lwz r30, 0xd0(r31)
/* 803BDB18 003BAA78 38 00 00 00 */ li r0, 0
/* 803BDB1C 003BAA7C 38 7F 00 00 */ addi r3, r31, 0
/* 803BDB20 003BAA80 90 1F 00 D0 */ stw r0, 0xd0(r31)
/* 803BDB24 003BAA84 7F A4 EB 78 */ mr r4, r29
/* 803BDB28 003BAA88 4B FF B3 31 */ bl __CARDPutControlBlock
/* 803BDB2C 003BAA8C 39 9E 00 00 */ addi r12, r30, 0
/* 803BDB30 003BAA90 7D 88 03 A6 */ mtlr r12
/* 803BDB34 003BAA94 38 7C 00 00 */ addi r3, r28, 0
/* 803BDB38 003BAA98 38 9D 00 00 */ addi r4, r29, 0
/* 803BDB3C 003BAA9C 4E 80 00 21 */ blrl
lbl_803BDB40:
/* 803BDB40 003BAAA0 80 01 00 24 */ lwz r0, 0x24(r1)
/* 803BDB44 003BAAA4 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 803BDB48 003BAAA8 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 803BDB4C 003BAAAC 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 803BDB50 003BAAB0 83 81 00 10 */ lwz r28, 0x10(r1)
/* 803BDB54 003BAAB4 38 21 00 20 */ addi r1, r1, 0x20
/* 803BDB58 003BAAB8 7C 08 03 A6 */ mtlr r0
/* 803BDB5C 003BAABC 4E 80 00 20 */ blr
.global CARDWriteAsync
CARDWriteAsync:
/* 803BDB60 003BAAC0 7C 08 02 A6 */ mflr r0
/* 803BDB64 003BAAC4 90 01 00 04 */ stw r0, 4(r1)
/* 803BDB68 003BAAC8 94 21 FF C8 */ stwu r1, -0x38(r1)
/* 803BDB6C 003BAACC BF 61 00 24 */ stmw r27, 0x24(r1)
/* 803BDB70 003BAAD0 3B 86 00 00 */ addi r28, r6, 0
/* 803BDB74 003BAAD4 3B 65 00 00 */ addi r27, r5, 0
/* 803BDB78 003BAAD8 3B E4 00 00 */ addi r31, r4, 0
/* 803BDB7C 003BAADC 3B C3 00 00 */ addi r30, r3, 0
/* 803BDB80 003BAAE0 3B A7 00 00 */ addi r29, r7, 0
/* 803BDB84 003BAAE4 38 9B 00 00 */ addi r4, r27, 0
/* 803BDB88 003BAAE8 38 BC 00 00 */ addi r5, r28, 0
/* 803BDB8C 003BAAEC 38 C1 00 1C */ addi r6, r1, 0x1c
/* 803BDB90 003BAAF0 4B FF F9 81 */ bl __CARDSeek
/* 803BDB94 003BAAF4 2C 03 00 00 */ cmpwi r3, 0
/* 803BDB98 003BAAF8 40 80 00 08 */ bge lbl_803BDBA0
/* 803BDB9C 003BAAFC 48 00 00 C4 */ b lbl_803BDC60
lbl_803BDBA0:
/* 803BDBA0 003BAB00 80 61 00 1C */ lwz r3, 0x1c(r1)
/* 803BDBA4 003BAB04 80 83 00 0C */ lwz r4, 0xc(r3)
/* 803BDBA8 003BAB08 38 84 FF FF */ addi r4, r4, -1
/* 803BDBAC 003BAB0C 7F 80 20 39 */ and. r0, r28, r4
/* 803BDBB0 003BAB10 40 82 00 0C */ bne lbl_803BDBBC
/* 803BDBB4 003BAB14 7F 60 20 39 */ and. r0, r27, r4
/* 803BDBB8 003BAB18 41 82 00 10 */ beq lbl_803BDBC8
lbl_803BDBBC:
/* 803BDBBC 003BAB1C 38 80 FF 80 */ li r4, -128
/* 803BDBC0 003BAB20 4B FF B2 99 */ bl __CARDPutControlBlock
/* 803BDBC4 003BAB24 48 00 00 9C */ b lbl_803BDC60
lbl_803BDBC8:
/* 803BDBC8 003BAB28 4B FF CD A9 */ bl __CARDGetDirBlock
/* 803BDBCC 003BAB2C 80 1E 00 04 */ lwz r0, 4(r30)
/* 803BDBD0 003BAB30 54 00 30 32 */ slwi r0, r0, 6
/* 803BDBD4 003BAB34 7C 83 02 14 */ add r4, r3, r0
/* 803BDBD8 003BAB38 80 61 00 1C */ lwz r3, 0x1c(r1)
/* 803BDBDC 003BAB3C 4B FF F1 F9 */ bl __CARDAccess
/* 803BDBE0 003BAB40 7C 64 1B 79 */ or. r4, r3, r3
/* 803BDBE4 003BAB44 40 80 00 10 */ bge lbl_803BDBF4
/* 803BDBE8 003BAB48 80 61 00 1C */ lwz r3, 0x1c(r1)
/* 803BDBEC 003BAB4C 4B FF B2 6D */ bl __CARDPutControlBlock
/* 803BDBF0 003BAB50 48 00 00 70 */ b lbl_803BDC60
lbl_803BDBF4:
/* 803BDBF4 003BAB54 38 7F 00 00 */ addi r3, r31, 0
/* 803BDBF8 003BAB58 38 9B 00 00 */ addi r4, r27, 0
/* 803BDBFC 003BAB5C 4B FC 0E E5 */ bl DCStoreRange
/* 803BDC00 003BAB60 28 1D 00 00 */ cmplwi r29, 0
/* 803BDC04 003BAB64 41 82 00 0C */ beq lbl_803BDC10
/* 803BDC08 003BAB68 7F A0 EB 78 */ mr r0, r29
/* 803BDC0C 003BAB6C 48 00 00 0C */ b lbl_803BDC18
lbl_803BDC10:
/* 803BDC10 003BAB70 3C 60 80 3B */ lis r3, __CARDDefaultApiCallback@ha
/* 803BDC14 003BAB74 38 03 7E 74 */ addi r0, r3, __CARDDefaultApiCallback@l
lbl_803BDC18:
/* 803BDC18 003BAB78 80 81 00 1C */ lwz r4, 0x1c(r1)
/* 803BDC1C 003BAB7C 3C 60 80 3C */ lis r3, EraseCallback@ha
/* 803BDC20 003BAB80 38 A3 DA B0 */ addi r5, r3, EraseCallback@l
/* 803BDC24 003BAB84 90 04 00 D0 */ stw r0, 0xd0(r4)
/* 803BDC28 003BAB88 80 61 00 1C */ lwz r3, 0x1c(r1)
/* 803BDC2C 003BAB8C 93 E3 00 B4 */ stw r31, 0xb4(r3)
/* 803BDC30 003BAB90 80 61 00 1C */ lwz r3, 0x1c(r1)
/* 803BDC34 003BAB94 A0 1E 00 10 */ lhz r0, 0x10(r30)
/* 803BDC38 003BAB98 80 83 00 0C */ lwz r4, 0xc(r3)
/* 803BDC3C 003BAB9C 80 7E 00 00 */ lwz r3, 0(r30)
/* 803BDC40 003BABA0 7C 84 01 D6 */ mullw r4, r4, r0
/* 803BDC44 003BABA4 4B FF AF 91 */ bl __CARDEraseSector
/* 803BDC48 003BABA8 7C 7E 1B 79 */ or. r30, r3, r3
/* 803BDC4C 003BABAC 40 80 00 10 */ bge lbl_803BDC5C
/* 803BDC50 003BABB0 80 61 00 1C */ lwz r3, 0x1c(r1)
/* 803BDC54 003BABB4 7F C4 F3 78 */ mr r4, r30
/* 803BDC58 003BABB8 4B FF B2 01 */ bl __CARDPutControlBlock
lbl_803BDC5C:
/* 803BDC5C 003BABBC 7F C3 F3 78 */ mr r3, r30
lbl_803BDC60:
/* 803BDC60 003BABC0 BB 61 00 24 */ lmw r27, 0x24(r1)
/* 803BDC64 003BABC4 80 01 00 3C */ lwz r0, 0x3c(r1)
/* 803BDC68 003BABC8 38 21 00 38 */ addi r1, r1, 0x38
/* 803BDC6C 003BABCC 7C 08 03 A6 */ mtlr r0
/* 803BDC70 003BABD0 4E 80 00 20 */ blr

View File

@ -1,92 +0,0 @@
.include "macros.inc"
.section .sbss
.balign 8
__DBInterface:
.skip 0x4
DBVerbose:
.skip 0x4
.section .data
.balign 8
.global lbl_803EF9B8
lbl_803EF9B8:
.asciz "DBExceptionDestination\n"
.section .text, "ax"
.global DBInit
DBInit:
/* 8036F8CC 0036C82C 3C 80 80 00 */ lis r4, 0x80000040@ha
/* 8036F8D0 0036C830 38 04 00 40 */ addi r0, r4, 0x80000040@l
/* 8036F8D4 0036C834 3C 60 80 37 */ lis r3, __DBExceptionDestination@ha
/* 8036F8D8 0036C838 90 0D AB 80 */ stw r0, __DBInterface@sda21(r13)
/* 8036F8DC 0036C83C 38 63 F9 3C */ addi r3, r3, __DBExceptionDestination@l
/* 8036F8E0 0036C840 3C 03 80 00 */ addis r0, r3, 0x8000
/* 8036F8E4 0036C844 90 04 00 48 */ stw r0, 0x48(r4)
/* 8036F8E8 0036C848 38 00 00 01 */ li r0, 1
/* 8036F8EC 0036C84C 90 0D AB 84 */ stw r0, DBVerbose@sda21(r13)
/* 8036F8F0 0036C850 4E 80 00 20 */ blr
.global __DBExceptionDestinationAux
__DBExceptionDestinationAux:
/* 8036F8F4 0036C854 7C 08 02 A6 */ mflr r0
/* 8036F8F8 0036C858 3C 60 80 3F */ lis r3, lbl_803EF9B8@ha
/* 8036F8FC 0036C85C 90 01 00 04 */ stw r0, 4(r1)
/* 8036F900 0036C860 38 63 F9 B8 */ addi r3, r3, lbl_803EF9B8@l
/* 8036F904 0036C864 4C C6 31 82 */ crclr 6
/* 8036F908 0036C868 94 21 FF E8 */ stwu r1, -0x18(r1)
/* 8036F90C 0036C86C 93 E1 00 14 */ stw r31, 0x14(r1)
/* 8036F910 0036C870 80 80 00 C0 */ lwz r4, 0xc0(r0)
/* 8036F914 0036C874 3F E4 80 00 */ addis r31, r4, 0x8000
/* 8036F918 0036C878 48 01 00 95 */ bl OSReport
/* 8036F91C 0036C87C 7F E3 FB 78 */ mr r3, r31
/* 8036F920 0036C880 48 00 FD 19 */ bl OSDumpContext
/* 8036F924 0036C884 4B FF FE F1 */ bl PPCHalt
/* 8036F928 0036C888 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 8036F92C 0036C88C 83 E1 00 14 */ lwz r31, 0x14(r1)
/* 8036F930 0036C890 38 21 00 18 */ addi r1, r1, 0x18
/* 8036F934 0036C894 7C 08 03 A6 */ mtlr r0
/* 8036F938 0036C898 4E 80 00 20 */ blr
.global __DBExceptionDestination
__DBExceptionDestination:
/* 8036F93C 0036C89C 7C 60 00 A6 */ mfmsr r3
/* 8036F940 0036C8A0 60 63 00 30 */ ori r3, r3, 0x30
/* 8036F944 0036C8A4 7C 60 01 24 */ mtmsr r3
/* 8036F948 0036C8A8 4B FF FF AC */ b __DBExceptionDestinationAux
.global __DBIsExceptionMarked
__DBIsExceptionMarked:
/* 8036F94C 0036C8AC 80 8D AB 80 */ lwz r4, __DBInterface@sda21(r13)
/* 8036F950 0036C8B0 54 60 06 3E */ clrlwi r0, r3, 0x18
/* 8036F954 0036C8B4 38 60 00 01 */ li r3, 1
/* 8036F958 0036C8B8 80 84 00 04 */ lwz r4, 4(r4)
/* 8036F95C 0036C8BC 7C 60 00 30 */ slw r0, r3, r0
/* 8036F960 0036C8C0 7C 83 00 38 */ and r3, r4, r0
/* 8036F964 0036C8C4 4E 80 00 20 */ blr
.global DBPrintf
DBPrintf:
/* 8036F968 0036C8C8 94 21 FF 90 */ stwu r1, -0x70(r1)
/* 8036F96C 0036C8CC 40 86 00 24 */ bne cr1, lbl_8036F990
/* 8036F970 0036C8D0 D8 21 00 28 */ stfd f1, 0x28(r1)
/* 8036F974 0036C8D4 D8 41 00 30 */ stfd f2, 0x30(r1)
/* 8036F978 0036C8D8 D8 61 00 38 */ stfd f3, 0x38(r1)
/* 8036F97C 0036C8DC D8 81 00 40 */ stfd f4, 0x40(r1)
/* 8036F980 0036C8E0 D8 A1 00 48 */ stfd f5, 0x48(r1)
/* 8036F984 0036C8E4 D8 C1 00 50 */ stfd f6, 0x50(r1)
/* 8036F988 0036C8E8 D8 E1 00 58 */ stfd f7, 0x58(r1)
/* 8036F98C 0036C8EC D9 01 00 60 */ stfd f8, 0x60(r1)
lbl_8036F990:
/* 8036F990 0036C8F0 90 61 00 08 */ stw r3, 8(r1)
/* 8036F994 0036C8F4 90 81 00 0C */ stw r4, 0xc(r1)
/* 8036F998 0036C8F8 90 A1 00 10 */ stw r5, 0x10(r1)
/* 8036F99C 0036C8FC 90 C1 00 14 */ stw r6, 0x14(r1)
/* 8036F9A0 0036C900 90 E1 00 18 */ stw r7, 0x18(r1)
/* 8036F9A4 0036C904 91 01 00 1C */ stw r8, 0x1c(r1)
/* 8036F9A8 0036C908 91 21 00 20 */ stw r9, 0x20(r1)
/* 8036F9AC 0036C90C 91 41 00 24 */ stw r10, 0x24(r1)
/* 8036F9B0 0036C910 38 21 00 70 */ addi r1, r1, 0x70
/* 8036F9B4 0036C914 4E 80 00 20 */ blr

View File

@ -1,190 +0,0 @@
.include "macros.inc"
.section .sdata
.balign 8
.global __DSPVersion
__DSPVersion:
.4byte __DSPVersionString
.balign 8
.section .sbss
.balign 8
.global __DSP_init_flag
__DSP_init_flag:
.skip 0x8
.section .data
.balign 8
__DSPVersionString:
.asciz "<< Dolphin SDK - DSP\trelease build: Sep 5 2002 05:35:13 (0x2301) >>"
.balign 4
.asciz "DSPInit(): Build Date: %s %s\n"
.balign 4
.asciz "Sep 5 2002"
.asciz "05:35:13"
.balign 4
.section .text, "ax"
.global DSPCheckMailToDSP
DSPCheckMailToDSP:
/* 8036F9B8 0036C918 3C 60 CC 00 */ lis r3, 0xCC005000@ha
/* 8036F9BC 0036C91C A0 03 50 00 */ lhz r0, 0xCC005000@l(r3)
/* 8036F9C0 0036C920 54 03 8F FE */ rlwinm r3, r0, 0x11, 0x1f, 0x1f
/* 8036F9C4 0036C924 4E 80 00 20 */ blr
.global DSPCheckMailFromDSP
DSPCheckMailFromDSP:
/* 8036F9C8 0036C928 3C 60 CC 00 */ lis r3, 0xCC005004@ha
/* 8036F9CC 0036C92C A0 03 50 04 */ lhz r0, 0xCC005004@l(r3)
/* 8036F9D0 0036C930 54 03 8F FE */ rlwinm r3, r0, 0x11, 0x1f, 0x1f
/* 8036F9D4 0036C934 4E 80 00 20 */ blr
.global DSPReadMailFromDSP
DSPReadMailFromDSP:
/* 8036F9D8 0036C938 3C 60 CC 00 */ lis r3, 0xCC005000@ha
/* 8036F9DC 0036C93C 38 63 50 00 */ addi r3, r3, 0xCC005000@l
/* 8036F9E0 0036C940 A0 03 00 04 */ lhz r0, 4(r3)
/* 8036F9E4 0036C944 A0 63 00 06 */ lhz r3, 6(r3)
/* 8036F9E8 0036C948 50 03 80 1E */ rlwimi r3, r0, 0x10, 0, 0xf
/* 8036F9EC 0036C94C 4E 80 00 20 */ blr
.global DSPSendMailToDSP
DSPSendMailToDSP:
/* 8036F9F0 0036C950 3C 80 CC 00 */ lis r4, 0xCC005000@ha
/* 8036F9F4 0036C954 54 60 84 3E */ srwi r0, r3, 0x10
/* 8036F9F8 0036C958 B0 04 50 00 */ sth r0, 0xCC005000@l(r4)
/* 8036F9FC 0036C95C B0 64 50 02 */ sth r3, 0x5002(r4)
/* 8036FA00 0036C960 4E 80 00 20 */ blr
.global DSPInit
DSPInit:
/* 8036FA04 0036C964 7C 08 02 A6 */ mflr r0
/* 8036FA08 0036C968 3C 60 80 3F */ lis r3, __DSPVersionString@ha
/* 8036FA0C 0036C96C 90 01 00 04 */ stw r0, 4(r1)
/* 8036FA10 0036C970 38 A3 F9 D0 */ addi r5, r3, __DSPVersionString@l
/* 8036FA14 0036C974 4C C6 31 82 */ crclr 6
/* 8036FA18 0036C978 38 65 00 48 */ addi r3, r5, 0x48
/* 8036FA1C 0036C97C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8036FA20 0036C980 38 85 00 68 */ addi r4, r5, 0x68
/* 8036FA24 0036C984 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8036FA28 0036C988 38 A5 00 74 */ addi r5, r5, 0x74
/* 8036FA2C 0036C98C 48 00 01 A5 */ bl __DSP_debug_printf
/* 8036FA30 0036C990 80 0D AB 88 */ lwz r0, __DSP_init_flag@sda21(r13)
/* 8036FA34 0036C994 2C 00 00 01 */ cmpwi r0, 1
/* 8036FA38 0036C998 41 82 00 7C */ beq lbl_8036FAB4
/* 8036FA3C 0036C99C 80 6D 9E C0 */ lwz r3, __DSPVersion@sda21(r13)
/* 8036FA40 0036C9A0 48 00 E5 F9 */ bl OSRegisterVersion
/* 8036FA44 0036C9A4 48 01 1C 1D */ bl OSDisableInterrupts
/* 8036FA48 0036C9A8 3C 80 80 37 */ lis r4, __DSPHandler@ha
/* 8036FA4C 0036C9AC 3B E3 00 00 */ addi r31, r3, 0
/* 8036FA50 0036C9B0 38 84 FC 20 */ addi r4, r4, __DSPHandler@l
/* 8036FA54 0036C9B4 38 60 00 07 */ li r3, 7
/* 8036FA58 0036C9B8 48 01 1C 55 */ bl __OSSetInterruptHandler
/* 8036FA5C 0036C9BC 3C 60 01 00 */ lis r3, 0x100
/* 8036FA60 0036C9C0 48 01 20 51 */ bl __OSUnmaskInterrupts
/* 8036FA64 0036C9C4 3C 60 CC 00 */ lis r3, 0xCC005000@ha
/* 8036FA68 0036C9C8 38 C3 50 00 */ addi r6, r3, 0xCC005000@l
/* 8036FA6C 0036C9CC A0 63 50 0A */ lhz r3, 0x500a(r3)
/* 8036FA70 0036C9D0 38 00 FF 57 */ li r0, -169
/* 8036FA74 0036C9D4 7C 60 00 38 */ and r0, r3, r0
/* 8036FA78 0036C9D8 60 00 08 00 */ ori r0, r0, 0x800
/* 8036FA7C 0036C9DC B0 06 00 0A */ sth r0, 0xa(r6)
/* 8036FA80 0036C9E0 38 A0 FF 53 */ li r5, -173
/* 8036FA84 0036C9E4 38 80 00 00 */ li r4, 0
/* 8036FA88 0036C9E8 A0 E6 00 0A */ lhz r7, 0xa(r6)
/* 8036FA8C 0036C9EC 38 00 00 01 */ li r0, 1
/* 8036FA90 0036C9F0 38 7F 00 00 */ addi r3, r31, 0
/* 8036FA94 0036C9F4 7C E5 28 38 */ and r5, r7, r5
/* 8036FA98 0036C9F8 B0 A6 00 0A */ sth r5, 0xa(r6)
/* 8036FA9C 0036C9FC 90 8D AB 98 */ stw r4, __DSP_tmp_task@sda21(r13)
/* 8036FAA0 0036CA00 90 8D AB A4 */ stw r4, __DSP_curr_task@sda21(r13)
/* 8036FAA4 0036CA04 90 8D AB 9C */ stw r4, __DSP_last_task@sda21(r13)
/* 8036FAA8 0036CA08 90 8D AB A0 */ stw r4, __DSP_first_task@sda21(r13)
/* 8036FAAC 0036CA0C 90 0D AB 88 */ stw r0, __DSP_init_flag@sda21(r13)
/* 8036FAB0 0036CA10 48 01 1B D9 */ bl OSRestoreInterrupts
lbl_8036FAB4:
/* 8036FAB4 0036CA14 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8036FAB8 0036CA18 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8036FABC 0036CA1C 38 21 00 10 */ addi r1, r1, 0x10
/* 8036FAC0 0036CA20 7C 08 03 A6 */ mtlr r0
/* 8036FAC4 0036CA24 4E 80 00 20 */ blr
.global DSPReset
DSPReset:
/* 8036FAC8 0036CA28 7C 08 02 A6 */ mflr r0
/* 8036FACC 0036CA2C 90 01 00 04 */ stw r0, 4(r1)
/* 8036FAD0 0036CA30 94 21 FF F8 */ stwu r1, -8(r1)
/* 8036FAD4 0036CA34 48 01 1B 8D */ bl OSDisableInterrupts
/* 8036FAD8 0036CA38 3C 80 CC 00 */ lis r4, 0xCC005000@ha
/* 8036FADC 0036CA3C 38 84 50 00 */ addi r4, r4, 0xCC005000@l
/* 8036FAE0 0036CA40 A0 A4 00 0A */ lhz r5, 0xa(r4)
/* 8036FAE4 0036CA44 38 00 FF 57 */ li r0, -169
/* 8036FAE8 0036CA48 7C A0 00 38 */ and r0, r5, r0
/* 8036FAEC 0036CA4C 60 00 08 01 */ ori r0, r0, 0x801
/* 8036FAF0 0036CA50 B0 04 00 0A */ sth r0, 0xa(r4)
/* 8036FAF4 0036CA54 38 00 00 00 */ li r0, 0
/* 8036FAF8 0036CA58 90 0D AB 88 */ stw r0, __DSP_init_flag@sda21(r13)
/* 8036FAFC 0036CA5C 48 01 1B 8D */ bl OSRestoreInterrupts
/* 8036FB00 0036CA60 80 01 00 0C */ lwz r0, 0xc(r1)
/* 8036FB04 0036CA64 38 21 00 08 */ addi r1, r1, 8
/* 8036FB08 0036CA68 7C 08 03 A6 */ mtlr r0
/* 8036FB0C 0036CA6C 4E 80 00 20 */ blr
.global DSPHalt
DSPHalt:
/* 8036FB10 0036CA70 7C 08 02 A6 */ mflr r0
/* 8036FB14 0036CA74 90 01 00 04 */ stw r0, 4(r1)
/* 8036FB18 0036CA78 94 21 FF F8 */ stwu r1, -8(r1)
/* 8036FB1C 0036CA7C 48 01 1B 45 */ bl OSDisableInterrupts
/* 8036FB20 0036CA80 3C 80 CC 00 */ lis r4, 0xCC005000@ha
/* 8036FB24 0036CA84 38 84 50 00 */ addi r4, r4, 0xCC005000@l
/* 8036FB28 0036CA88 A0 A4 00 0A */ lhz r5, 0xa(r4)
/* 8036FB2C 0036CA8C 38 00 FF 57 */ li r0, -169
/* 8036FB30 0036CA90 7C A0 00 38 */ and r0, r5, r0
/* 8036FB34 0036CA94 60 00 00 04 */ ori r0, r0, 4
/* 8036FB38 0036CA98 B0 04 00 0A */ sth r0, 0xa(r4)
/* 8036FB3C 0036CA9C 48 01 1B 4D */ bl OSRestoreInterrupts
/* 8036FB40 0036CAA0 80 01 00 0C */ lwz r0, 0xc(r1)
/* 8036FB44 0036CAA4 38 21 00 08 */ addi r1, r1, 8
/* 8036FB48 0036CAA8 7C 08 03 A6 */ mtlr r0
/* 8036FB4C 0036CAAC 4E 80 00 20 */ blr
.global DSPGetDMAStatus
DSPGetDMAStatus:
/* 8036FB50 0036CAB0 3C 60 CC 00 */ lis r3, 0xCC00500A@ha
/* 8036FB54 0036CAB4 A0 03 50 0A */ lhz r0, 0xCC00500A@l(r3)
/* 8036FB58 0036CAB8 54 03 05 AC */ rlwinm r3, r0, 0, 0x16, 0x16
/* 8036FB5C 0036CABC 4E 80 00 20 */ blr
.global DSPAddTask
DSPAddTask:
/* 8036FB60 0036CAC0 7C 08 02 A6 */ mflr r0
/* 8036FB64 0036CAC4 90 01 00 04 */ stw r0, 4(r1)
/* 8036FB68 0036CAC8 94 21 FF E8 */ stwu r1, -0x18(r1)
/* 8036FB6C 0036CACC 93 E1 00 14 */ stw r31, 0x14(r1)
/* 8036FB70 0036CAD0 93 C1 00 10 */ stw r30, 0x10(r1)
/* 8036FB74 0036CAD4 7C 7E 1B 78 */ mr r30, r3
/* 8036FB78 0036CAD8 48 01 1A E9 */ bl OSDisableInterrupts
/* 8036FB7C 0036CADC 3B E3 00 00 */ addi r31, r3, 0
/* 8036FB80 0036CAE0 38 7E 00 00 */ addi r3, r30, 0
/* 8036FB84 0036CAE4 48 00 07 ED */ bl __DSP_insert_task
/* 8036FB88 0036CAE8 38 00 00 00 */ li r0, 0
/* 8036FB8C 0036CAEC 90 1E 00 00 */ stw r0, 0(r30)
/* 8036FB90 0036CAF0 38 00 00 01 */ li r0, 1
/* 8036FB94 0036CAF4 38 7F 00 00 */ addi r3, r31, 0
/* 8036FB98 0036CAF8 90 1E 00 08 */ stw r0, 8(r30)
/* 8036FB9C 0036CAFC 48 01 1A ED */ bl OSRestoreInterrupts
/* 8036FBA0 0036CB00 80 0D AB A0 */ lwz r0, __DSP_first_task@sda21(r13)
/* 8036FBA4 0036CB04 7C 1E 00 40 */ cmplw r30, r0
/* 8036FBA8 0036CB08 40 82 00 0C */ bne lbl_8036FBB4
/* 8036FBAC 0036CB0C 7F C3 F3 78 */ mr r3, r30
/* 8036FBB0 0036CB10 48 00 06 35 */ bl __DSP_boot_task
lbl_8036FBB4:
/* 8036FBB4 0036CB14 7F C3 F3 78 */ mr r3, r30
/* 8036FBB8 0036CB18 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 8036FBBC 0036CB1C 83 E1 00 14 */ lwz r31, 0x14(r1)
/* 8036FBC0 0036CB20 83 C1 00 10 */ lwz r30, 0x10(r1)
/* 8036FBC4 0036CB24 38 21 00 18 */ addi r1, r1, 0x18
/* 8036FBC8 0036CB28 7C 08 03 A6 */ mtlr r0
/* 8036FBCC 0036CB2C 4E 80 00 20 */ blr

View File

@ -1,27 +0,0 @@
.include "macros.inc"
.section .text, "ax"
.global __DSP_debug_printf
__DSP_debug_printf:
/* 8036FBD0 0036CB30 94 21 FF 90 */ stwu r1, -0x70(r1)
/* 8036FBD4 0036CB34 40 86 00 24 */ bne cr1, lbl_8036FBF8
/* 8036FBD8 0036CB38 D8 21 00 28 */ stfd f1, 0x28(r1)
/* 8036FBDC 0036CB3C D8 41 00 30 */ stfd f2, 0x30(r1)
/* 8036FBE0 0036CB40 D8 61 00 38 */ stfd f3, 0x38(r1)
/* 8036FBE4 0036CB44 D8 81 00 40 */ stfd f4, 0x40(r1)
/* 8036FBE8 0036CB48 D8 A1 00 48 */ stfd f5, 0x48(r1)
/* 8036FBEC 0036CB4C D8 C1 00 50 */ stfd f6, 0x50(r1)
/* 8036FBF0 0036CB50 D8 E1 00 58 */ stfd f7, 0x58(r1)
/* 8036FBF4 0036CB54 D9 01 00 60 */ stfd f8, 0x60(r1)
lbl_8036FBF8:
/* 8036FBF8 0036CB58 90 61 00 08 */ stw r3, 8(r1)
/* 8036FBFC 0036CB5C 90 81 00 0C */ stw r4, 0xc(r1)
/* 8036FC00 0036CB60 90 A1 00 10 */ stw r5, 0x10(r1)
/* 8036FC04 0036CB64 90 C1 00 14 */ stw r6, 0x14(r1)
/* 8036FC08 0036CB68 90 E1 00 18 */ stw r7, 0x18(r1)
/* 8036FC0C 0036CB6C 91 01 00 1C */ stw r8, 0x1c(r1)
/* 8036FC10 0036CB70 91 21 00 20 */ stw r9, 0x20(r1)
/* 8036FC14 0036CB74 91 41 00 24 */ stw r10, 0x24(r1)
/* 8036FC18 0036CB78 38 21 00 70 */ addi r1, r1, 0x70
/* 8036FC1C 0036CB7C 4E 80 00 20 */ blr

View File

@ -1,672 +0,0 @@
.include "macros.inc"
.section .data
.balign 8
__DSP_msg1:
.asciz "DSP is booting task: 0x%08X\n"
.balign 4
.asciz "__DSP_boot_task() : IRAM MMEM ADDR: 0x%08X\n"
.balign 4
.asciz "__DSP_boot_task() : IRAM DSP ADDR : 0x%08X\n"
.balign 4
.asciz "__DSP_boot_task() : IRAM LENGTH : 0x%08X\n"
.balign 4
.asciz "__DSP_boot_task() : DRAM MMEM ADDR: 0x%08X\n"
.balign 4
.asciz "__DSP_boot_task() : Start Vector : 0x%08X\n"
.balign 4
.asciz "__DSP_add_task() : Added task : 0x%08X\n"
.section .sbss
.balign 8
.global __DSP_rude_task_pending
__DSP_rude_task_pending:
.skip 0x4
.global __DSP_rude_task
__DSP_rude_task:
.skip 0x4
.global __DSP_tmp_task
__DSP_tmp_task:
.skip 0x4
.global __DSP_last_task
__DSP_last_task:
.skip 0x4
.global __DSP_first_task
__DSP_first_task:
.skip 0x4
.global __DSP_curr_task
__DSP_curr_task:
.skip 0x4
.section .text, "ax"
.global __DSPHandler
__DSPHandler:
/* 8036FC20 0036CB80 7C 08 02 A6 */ mflr r0
/* 8036FC24 0036CB84 3C 60 CC 00 */ lis r3, 0xCC005000@ha
/* 8036FC28 0036CB88 90 01 00 04 */ stw r0, 4(r1)
/* 8036FC2C 0036CB8C 38 63 50 00 */ addi r3, r3, 0xCC005000@l
/* 8036FC30 0036CB90 38 00 FF D7 */ li r0, -41
/* 8036FC34 0036CB94 94 21 FD 18 */ stwu r1, -0x2e8(r1)
/* 8036FC38 0036CB98 93 E1 02 E4 */ stw r31, 0x2e4(r1)
/* 8036FC3C 0036CB9C 3B E4 00 00 */ addi r31, r4, 0
/* 8036FC40 0036CBA0 A0 A3 00 0A */ lhz r5, 0xa(r3)
/* 8036FC44 0036CBA4 7C A0 00 38 */ and r0, r5, r0
/* 8036FC48 0036CBA8 60 00 00 80 */ ori r0, r0, 0x80
/* 8036FC4C 0036CBAC B0 03 00 0A */ sth r0, 0xa(r3)
/* 8036FC50 0036CBB0 38 61 00 10 */ addi r3, r1, 0x10
/* 8036FC54 0036CBB4 48 00 F9 C1 */ bl OSClearContext
/* 8036FC58 0036CBB8 38 61 00 10 */ addi r3, r1, 0x10
/* 8036FC5C 0036CBBC 48 00 F7 C1 */ bl OSSetCurrentContext
lbl_8036FC60:
/* 8036FC60 0036CBC0 4B FF FD 69 */ bl DSPCheckMailFromDSP
/* 8036FC64 0036CBC4 28 03 00 00 */ cmplwi r3, 0
/* 8036FC68 0036CBC8 41 82 FF F8 */ beq lbl_8036FC60
/* 8036FC6C 0036CBCC 4B FF FD 6D */ bl DSPReadMailFromDSP
/* 8036FC70 0036CBD0 80 AD AB A4 */ lwz r5, __DSP_curr_task@sda21(r13)
/* 8036FC74 0036CBD4 80 05 00 08 */ lwz r0, 8(r5)
/* 8036FC78 0036CBD8 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e
/* 8036FC7C 0036CBDC 41 82 00 18 */ beq lbl_8036FC94
/* 8036FC80 0036CBE0 3C 03 23 2F */ addis r0, r3, 0x232f
/* 8036FC84 0036CBE4 28 00 00 02 */ cmplwi r0, 2
/* 8036FC88 0036CBE8 40 82 00 0C */ bne lbl_8036FC94
/* 8036FC8C 0036CBEC 3C 60 DC D1 */ lis r3, 0xDCD10003@ha
/* 8036FC90 0036CBF0 38 63 00 03 */ addi r3, r3, 0xDCD10003@l
lbl_8036FC94:
/* 8036FC94 0036CBF4 3C 80 DC D1 */ lis r4, 0xDCD10002@ha
/* 8036FC98 0036CBF8 38 04 00 02 */ addi r0, r4, 0xDCD10002@l
/* 8036FC9C 0036CBFC 7C 03 00 00 */ cmpw r3, r0
/* 8036FCA0 0036CC00 41 82 00 74 */ beq lbl_8036FD14
/* 8036FCA4 0036CC04 40 80 00 14 */ bge lbl_8036FCB8
/* 8036FCA8 0036CC08 7C 03 20 00 */ cmpw r3, r4
/* 8036FCAC 0036CC0C 41 82 00 20 */ beq lbl_8036FCCC
/* 8036FCB0 0036CC10 40 80 00 40 */ bge lbl_8036FCF0
/* 8036FCB4 0036CC14 48 00 03 6C */ b lbl_80370020
lbl_8036FCB8:
/* 8036FCB8 0036CC18 38 04 00 04 */ addi r0, r4, 4
/* 8036FCBC 0036CC1C 7C 03 00 00 */ cmpw r3, r0
/* 8036FCC0 0036CC20 41 82 03 48 */ beq lbl_80370008
/* 8036FCC4 0036CC24 40 80 03 5C */ bge lbl_80370020
/* 8036FCC8 0036CC28 48 00 01 B4 */ b lbl_8036FE7C
lbl_8036FCCC:
/* 8036FCCC 0036CC2C 38 00 00 01 */ li r0, 1
/* 8036FCD0 0036CC30 90 05 00 00 */ stw r0, 0(r5)
/* 8036FCD4 0036CC34 80 6D AB A4 */ lwz r3, __DSP_curr_task@sda21(r13)
/* 8036FCD8 0036CC38 81 83 00 28 */ lwz r12, 0x28(r3)
/* 8036FCDC 0036CC3C 28 0C 00 00 */ cmplwi r12, 0
/* 8036FCE0 0036CC40 41 82 03 40 */ beq lbl_80370020
/* 8036FCE4 0036CC44 7D 88 03 A6 */ mtlr r12
/* 8036FCE8 0036CC48 4E 80 00 21 */ blrl
/* 8036FCEC 0036CC4C 48 00 03 34 */ b lbl_80370020
lbl_8036FCF0:
/* 8036FCF0 0036CC50 38 00 00 01 */ li r0, 1
/* 8036FCF4 0036CC54 90 05 00 00 */ stw r0, 0(r5)
/* 8036FCF8 0036CC58 80 6D AB A4 */ lwz r3, __DSP_curr_task@sda21(r13)
/* 8036FCFC 0036CC5C 81 83 00 2C */ lwz r12, 0x2c(r3)
/* 8036FD00 0036CC60 28 0C 00 00 */ cmplwi r12, 0
/* 8036FD04 0036CC64 41 82 03 1C */ beq lbl_80370020
/* 8036FD08 0036CC68 7D 88 03 A6 */ mtlr r12
/* 8036FD0C 0036CC6C 4E 80 00 21 */ blrl
/* 8036FD10 0036CC70 48 00 03 10 */ b lbl_80370020
lbl_8036FD14:
/* 8036FD14 0036CC74 80 0D AB 90 */ lwz r0, __DSP_rude_task_pending@sda21(r13)
/* 8036FD18 0036CC78 2C 00 00 00 */ cmpwi r0, 0
/* 8036FD1C 0036CC7C 41 82 00 98 */ beq lbl_8036FDB4
/* 8036FD20 0036CC80 80 0D AB 94 */ lwz r0, __DSP_rude_task@sda21(r13)
/* 8036FD24 0036CC84 7C 05 00 40 */ cmplw r5, r0
/* 8036FD28 0036CC88 40 82 00 44 */ bne lbl_8036FD6C
/* 8036FD2C 0036CC8C 3C 60 CD D1 */ lis r3, 0xCDD10003@ha
/* 8036FD30 0036CC90 38 63 00 03 */ addi r3, r3, 0xCDD10003@l
/* 8036FD34 0036CC94 4B FF FC BD */ bl DSPSendMailToDSP
lbl_8036FD38:
/* 8036FD38 0036CC98 4B FF FC 81 */ bl DSPCheckMailToDSP
/* 8036FD3C 0036CC9C 28 03 00 00 */ cmplwi r3, 0
/* 8036FD40 0036CCA0 40 82 FF F8 */ bne lbl_8036FD38
/* 8036FD44 0036CCA4 38 00 00 00 */ li r0, 0
/* 8036FD48 0036CCA8 80 6D AB A4 */ lwz r3, __DSP_curr_task@sda21(r13)
/* 8036FD4C 0036CCAC 90 0D AB 94 */ stw r0, __DSP_rude_task@sda21(r13)
/* 8036FD50 0036CCB0 90 0D AB 90 */ stw r0, __DSP_rude_task_pending@sda21(r13)
/* 8036FD54 0036CCB4 81 83 00 2C */ lwz r12, 0x2c(r3)
/* 8036FD58 0036CCB8 28 0C 00 00 */ cmplwi r12, 0
/* 8036FD5C 0036CCBC 41 82 02 C4 */ beq lbl_80370020
/* 8036FD60 0036CCC0 7D 88 03 A6 */ mtlr r12
/* 8036FD64 0036CCC4 4E 80 00 21 */ blrl
/* 8036FD68 0036CCC8 48 00 02 B8 */ b lbl_80370020
lbl_8036FD6C:
/* 8036FD6C 0036CCCC 3C 60 CD D1 */ lis r3, 0xCDD10001@ha
/* 8036FD70 0036CCD0 38 63 00 01 */ addi r3, r3, 0xCDD10001@l
/* 8036FD74 0036CCD4 4B FF FC 7D */ bl DSPSendMailToDSP
lbl_8036FD78:
/* 8036FD78 0036CCD8 4B FF FC 41 */ bl DSPCheckMailToDSP
/* 8036FD7C 0036CCDC 28 03 00 00 */ cmplwi r3, 0
/* 8036FD80 0036CCE0 40 82 FF F8 */ bne lbl_8036FD78
/* 8036FD84 0036CCE4 80 6D AB A4 */ lwz r3, __DSP_curr_task@sda21(r13)
/* 8036FD88 0036CCE8 80 8D AB 94 */ lwz r4, __DSP_rude_task@sda21(r13)
/* 8036FD8C 0036CCEC 48 00 02 B9 */ bl __DSP_exec_task
/* 8036FD90 0036CCF0 80 6D AB A4 */ lwz r3, __DSP_curr_task@sda21(r13)
/* 8036FD94 0036CCF4 38 80 00 02 */ li r4, 2
/* 8036FD98 0036CCF8 38 00 00 00 */ li r0, 0
/* 8036FD9C 0036CCFC 90 83 00 00 */ stw r4, 0(r3)
/* 8036FDA0 0036CD00 80 6D AB 94 */ lwz r3, __DSP_rude_task@sda21(r13)
/* 8036FDA4 0036CD04 90 0D AB 90 */ stw r0, __DSP_rude_task_pending@sda21(r13)
/* 8036FDA8 0036CD08 90 6D AB A4 */ stw r3, __DSP_curr_task@sda21(r13)
/* 8036FDAC 0036CD0C 90 0D AB 94 */ stw r0, __DSP_rude_task@sda21(r13)
/* 8036FDB0 0036CD10 48 00 02 70 */ b lbl_80370020
lbl_8036FDB4:
/* 8036FDB4 0036CD14 80 05 00 38 */ lwz r0, 0x38(r5)
/* 8036FDB8 0036CD18 28 00 00 00 */ cmplwi r0, 0
/* 8036FDBC 0036CD1C 40 82 00 80 */ bne lbl_8036FE3C
/* 8036FDC0 0036CD20 80 0D AB A0 */ lwz r0, __DSP_first_task@sda21(r13)
/* 8036FDC4 0036CD24 7C 05 00 40 */ cmplw r5, r0
/* 8036FDC8 0036CD28 40 82 00 38 */ bne lbl_8036FE00
/* 8036FDCC 0036CD2C 3C 60 CD D1 */ lis r3, 0xCDD10003@ha
/* 8036FDD0 0036CD30 38 63 00 03 */ addi r3, r3, 0xCDD10003@l
/* 8036FDD4 0036CD34 4B FF FC 1D */ bl DSPSendMailToDSP
lbl_8036FDD8:
/* 8036FDD8 0036CD38 4B FF FB E1 */ bl DSPCheckMailToDSP
/* 8036FDDC 0036CD3C 28 03 00 00 */ cmplwi r3, 0
/* 8036FDE0 0036CD40 40 82 FF F8 */ bne lbl_8036FDD8
/* 8036FDE4 0036CD44 80 6D AB A4 */ lwz r3, __DSP_curr_task@sda21(r13)
/* 8036FDE8 0036CD48 81 83 00 2C */ lwz r12, 0x2c(r3)
/* 8036FDEC 0036CD4C 28 0C 00 00 */ cmplwi r12, 0
/* 8036FDF0 0036CD50 41 82 02 30 */ beq lbl_80370020
/* 8036FDF4 0036CD54 7D 88 03 A6 */ mtlr r12
/* 8036FDF8 0036CD58 4E 80 00 21 */ blrl
/* 8036FDFC 0036CD5C 48 00 02 24 */ b lbl_80370020
lbl_8036FE00:
/* 8036FE00 0036CD60 3C 60 CD D1 */ lis r3, 0xCDD10001@ha
/* 8036FE04 0036CD64 38 63 00 01 */ addi r3, r3, 0xCDD10001@l
/* 8036FE08 0036CD68 4B FF FB E9 */ bl DSPSendMailToDSP
lbl_8036FE0C:
/* 8036FE0C 0036CD6C 4B FF FB AD */ bl DSPCheckMailToDSP
/* 8036FE10 0036CD70 28 03 00 00 */ cmplwi r3, 0
/* 8036FE14 0036CD74 40 82 FF F8 */ bne lbl_8036FE0C
/* 8036FE18 0036CD78 80 6D AB A4 */ lwz r3, __DSP_curr_task@sda21(r13)
/* 8036FE1C 0036CD7C 80 8D AB A0 */ lwz r4, __DSP_first_task@sda21(r13)
/* 8036FE20 0036CD80 48 00 02 25 */ bl __DSP_exec_task
/* 8036FE24 0036CD84 80 6D AB A4 */ lwz r3, __DSP_curr_task@sda21(r13)
/* 8036FE28 0036CD88 38 00 00 02 */ li r0, 2
/* 8036FE2C 0036CD8C 90 03 00 00 */ stw r0, 0(r3)
/* 8036FE30 0036CD90 80 0D AB A0 */ lwz r0, __DSP_first_task@sda21(r13)
/* 8036FE34 0036CD94 90 0D AB A4 */ stw r0, __DSP_curr_task@sda21(r13)
/* 8036FE38 0036CD98 48 00 01 E8 */ b lbl_80370020
lbl_8036FE3C:
/* 8036FE3C 0036CD9C 3C 60 CD D1 */ lis r3, 0xCDD10001@ha
/* 8036FE40 0036CDA0 38 63 00 01 */ addi r3, r3, 0xCDD10001@l
/* 8036FE44 0036CDA4 4B FF FB AD */ bl DSPSendMailToDSP
lbl_8036FE48:
/* 8036FE48 0036CDA8 4B FF FB 71 */ bl DSPCheckMailToDSP
/* 8036FE4C 0036CDAC 28 03 00 00 */ cmplwi r3, 0
/* 8036FE50 0036CDB0 40 82 FF F8 */ bne lbl_8036FE48
/* 8036FE54 0036CDB4 80 6D AB A4 */ lwz r3, __DSP_curr_task@sda21(r13)
/* 8036FE58 0036CDB8 80 83 00 38 */ lwz r4, 0x38(r3)
/* 8036FE5C 0036CDBC 48 00 01 E9 */ bl __DSP_exec_task
/* 8036FE60 0036CDC0 80 6D AB A4 */ lwz r3, __DSP_curr_task@sda21(r13)
/* 8036FE64 0036CDC4 38 00 00 02 */ li r0, 2
/* 8036FE68 0036CDC8 90 03 00 00 */ stw r0, 0(r3)
/* 8036FE6C 0036CDCC 80 6D AB A4 */ lwz r3, __DSP_curr_task@sda21(r13)
/* 8036FE70 0036CDD0 80 03 00 38 */ lwz r0, 0x38(r3)
/* 8036FE74 0036CDD4 90 0D AB A4 */ stw r0, __DSP_curr_task@sda21(r13)
/* 8036FE78 0036CDD8 48 00 01 A8 */ b lbl_80370020
lbl_8036FE7C:
/* 8036FE7C 0036CDDC 80 0D AB 90 */ lwz r0, __DSP_rude_task_pending@sda21(r13)
/* 8036FE80 0036CDE0 2C 00 00 00 */ cmpwi r0, 0
/* 8036FE84 0036CDE4 41 82 00 60 */ beq lbl_8036FEE4
/* 8036FE88 0036CDE8 81 85 00 30 */ lwz r12, 0x30(r5)
/* 8036FE8C 0036CDEC 28 0C 00 00 */ cmplwi r12, 0
/* 8036FE90 0036CDF0 41 82 00 10 */ beq lbl_8036FEA0
/* 8036FE94 0036CDF4 7D 88 03 A6 */ mtlr r12
/* 8036FE98 0036CDF8 38 65 00 00 */ addi r3, r5, 0
/* 8036FE9C 0036CDFC 4E 80 00 21 */ blrl
lbl_8036FEA0:
/* 8036FEA0 0036CE00 3C 60 CD D1 */ lis r3, 0xCDD10001@ha
/* 8036FEA4 0036CE04 38 63 00 01 */ addi r3, r3, 0xCDD10001@l
/* 8036FEA8 0036CE08 4B FF FB 49 */ bl DSPSendMailToDSP
lbl_8036FEAC:
/* 8036FEAC 0036CE0C 4B FF FB 0D */ bl DSPCheckMailToDSP
/* 8036FEB0 0036CE10 28 03 00 00 */ cmplwi r3, 0
/* 8036FEB4 0036CE14 40 82 FF F8 */ bne lbl_8036FEAC
/* 8036FEB8 0036CE18 38 60 00 00 */ li r3, 0
/* 8036FEBC 0036CE1C 80 8D AB 94 */ lwz r4, __DSP_rude_task@sda21(r13)
/* 8036FEC0 0036CE20 48 00 01 85 */ bl __DSP_exec_task
/* 8036FEC4 0036CE24 80 6D AB A4 */ lwz r3, __DSP_curr_task@sda21(r13)
/* 8036FEC8 0036CE28 48 00 05 49 */ bl __DSP_remove_task
/* 8036FECC 0036CE2C 80 6D AB 94 */ lwz r3, __DSP_rude_task@sda21(r13)
/* 8036FED0 0036CE30 38 00 00 00 */ li r0, 0
/* 8036FED4 0036CE34 90 0D AB 90 */ stw r0, __DSP_rude_task_pending@sda21(r13)
/* 8036FED8 0036CE38 90 6D AB A4 */ stw r3, __DSP_curr_task@sda21(r13)
/* 8036FEDC 0036CE3C 90 0D AB 94 */ stw r0, __DSP_rude_task@sda21(r13)
/* 8036FEE0 0036CE40 48 00 01 40 */ b lbl_80370020
lbl_8036FEE4:
/* 8036FEE4 0036CE44 80 05 00 38 */ lwz r0, 0x38(r5)
/* 8036FEE8 0036CE48 28 00 00 00 */ cmplwi r0, 0
/* 8036FEEC 0036CE4C 40 82 00 B4 */ bne lbl_8036FFA0
/* 8036FEF0 0036CE50 80 0D AB A0 */ lwz r0, __DSP_first_task@sda21(r13)
/* 8036FEF4 0036CE54 7C 05 00 40 */ cmplw r5, r0
/* 8036FEF8 0036CE58 40 82 00 4C */ bne lbl_8036FF44
/* 8036FEFC 0036CE5C 81 85 00 30 */ lwz r12, 0x30(r5)
/* 8036FF00 0036CE60 28 0C 00 00 */ cmplwi r12, 0
/* 8036FF04 0036CE64 41 82 00 10 */ beq lbl_8036FF14
/* 8036FF08 0036CE68 7D 88 03 A6 */ mtlr r12
/* 8036FF0C 0036CE6C 38 65 00 00 */ addi r3, r5, 0
/* 8036FF10 0036CE70 4E 80 00 21 */ blrl
lbl_8036FF14:
/* 8036FF14 0036CE74 3C 60 CD D1 */ lis r3, 0xCDD10002@ha
/* 8036FF18 0036CE78 38 63 00 02 */ addi r3, r3, 0xCDD10002@l
/* 8036FF1C 0036CE7C 4B FF FA D5 */ bl DSPSendMailToDSP
lbl_8036FF20:
/* 8036FF20 0036CE80 4B FF FA 99 */ bl DSPCheckMailToDSP
/* 8036FF24 0036CE84 28 03 00 00 */ cmplwi r3, 0
/* 8036FF28 0036CE88 40 82 FF F8 */ bne lbl_8036FF20
/* 8036FF2C 0036CE8C 80 6D AB A4 */ lwz r3, __DSP_curr_task@sda21(r13)
/* 8036FF30 0036CE90 38 00 00 03 */ li r0, 3
/* 8036FF34 0036CE94 90 03 00 00 */ stw r0, 0(r3)
/* 8036FF38 0036CE98 80 6D AB A4 */ lwz r3, __DSP_curr_task@sda21(r13)
/* 8036FF3C 0036CE9C 48 00 04 D5 */ bl __DSP_remove_task
/* 8036FF40 0036CEA0 48 00 00 E0 */ b lbl_80370020
lbl_8036FF44:
/* 8036FF44 0036CEA4 81 85 00 30 */ lwz r12, 0x30(r5)
/* 8036FF48 0036CEA8 28 0C 00 00 */ cmplwi r12, 0
/* 8036FF4C 0036CEAC 41 82 00 10 */ beq lbl_8036FF5C
/* 8036FF50 0036CEB0 7D 88 03 A6 */ mtlr r12
/* 8036FF54 0036CEB4 38 65 00 00 */ addi r3, r5, 0
/* 8036FF58 0036CEB8 4E 80 00 21 */ blrl
lbl_8036FF5C:
/* 8036FF5C 0036CEBC 3C 60 CD D1 */ lis r3, 0xCDD10001@ha
/* 8036FF60 0036CEC0 38 63 00 01 */ addi r3, r3, 0xCDD10001@l
/* 8036FF64 0036CEC4 4B FF FA 8D */ bl DSPSendMailToDSP
lbl_8036FF68:
/* 8036FF68 0036CEC8 4B FF FA 51 */ bl DSPCheckMailToDSP
/* 8036FF6C 0036CECC 28 03 00 00 */ cmplwi r3, 0
/* 8036FF70 0036CED0 40 82 FF F8 */ bne lbl_8036FF68
/* 8036FF74 0036CED4 80 8D AB A4 */ lwz r4, __DSP_curr_task@sda21(r13)
/* 8036FF78 0036CED8 38 00 00 03 */ li r0, 3
/* 8036FF7C 0036CEDC 38 60 00 00 */ li r3, 0
/* 8036FF80 0036CEE0 90 04 00 00 */ stw r0, 0(r4)
/* 8036FF84 0036CEE4 80 8D AB A0 */ lwz r4, __DSP_first_task@sda21(r13)
/* 8036FF88 0036CEE8 48 00 00 BD */ bl __DSP_exec_task
/* 8036FF8C 0036CEEC 80 0D AB A0 */ lwz r0, __DSP_first_task@sda21(r13)
/* 8036FF90 0036CEF0 80 6D AB 9C */ lwz r3, __DSP_last_task@sda21(r13)
/* 8036FF94 0036CEF4 90 0D AB A4 */ stw r0, __DSP_curr_task@sda21(r13)
/* 8036FF98 0036CEF8 48 00 04 79 */ bl __DSP_remove_task
/* 8036FF9C 0036CEFC 48 00 00 84 */ b lbl_80370020
lbl_8036FFA0:
/* 8036FFA0 0036CF00 81 85 00 30 */ lwz r12, 0x30(r5)
/* 8036FFA4 0036CF04 28 0C 00 00 */ cmplwi r12, 0
/* 8036FFA8 0036CF08 41 82 00 10 */ beq lbl_8036FFB8
/* 8036FFAC 0036CF0C 7D 88 03 A6 */ mtlr r12
/* 8036FFB0 0036CF10 38 65 00 00 */ addi r3, r5, 0
/* 8036FFB4 0036CF14 4E 80 00 21 */ blrl
lbl_8036FFB8:
/* 8036FFB8 0036CF18 3C 60 CD D1 */ lis r3, 0xCDD10001@ha
/* 8036FFBC 0036CF1C 38 63 00 01 */ addi r3, r3, 0xCDD10001@l
/* 8036FFC0 0036CF20 4B FF FA 31 */ bl DSPSendMailToDSP
lbl_8036FFC4:
/* 8036FFC4 0036CF24 4B FF F9 F5 */ bl DSPCheckMailToDSP
/* 8036FFC8 0036CF28 28 03 00 00 */ cmplwi r3, 0
/* 8036FFCC 0036CF2C 40 82 FF F8 */ bne lbl_8036FFC4
/* 8036FFD0 0036CF30 80 8D AB A4 */ lwz r4, __DSP_curr_task@sda21(r13)
/* 8036FFD4 0036CF34 38 00 00 03 */ li r0, 3
/* 8036FFD8 0036CF38 38 60 00 00 */ li r3, 0
/* 8036FFDC 0036CF3C 90 04 00 00 */ stw r0, 0(r4)
/* 8036FFE0 0036CF40 80 8D AB A4 */ lwz r4, __DSP_curr_task@sda21(r13)
/* 8036FFE4 0036CF44 80 84 00 38 */ lwz r4, 0x38(r4)
/* 8036FFE8 0036CF48 48 00 00 5D */ bl __DSP_exec_task
/* 8036FFEC 0036CF4C 80 6D AB A4 */ lwz r3, __DSP_curr_task@sda21(r13)
/* 8036FFF0 0036CF50 80 03 00 38 */ lwz r0, 0x38(r3)
/* 8036FFF4 0036CF54 90 0D AB A4 */ stw r0, __DSP_curr_task@sda21(r13)
/* 8036FFF8 0036CF58 80 6D AB A4 */ lwz r3, __DSP_curr_task@sda21(r13)
/* 8036FFFC 0036CF5C 80 63 00 3C */ lwz r3, 0x3c(r3)
/* 80370000 0036CF60 48 00 04 11 */ bl __DSP_remove_task
/* 80370004 0036CF64 48 00 00 1C */ b lbl_80370020
lbl_80370008:
/* 80370008 0036CF68 81 85 00 34 */ lwz r12, 0x34(r5)
/* 8037000C 0036CF6C 28 0C 00 00 */ cmplwi r12, 0
/* 80370010 0036CF70 41 82 00 10 */ beq lbl_80370020
/* 80370014 0036CF74 7D 88 03 A6 */ mtlr r12
/* 80370018 0036CF78 38 65 00 00 */ addi r3, r5, 0
/* 8037001C 0036CF7C 4E 80 00 21 */ blrl
lbl_80370020:
/* 80370020 0036CF80 38 61 00 10 */ addi r3, r1, 0x10
/* 80370024 0036CF84 48 00 F5 F1 */ bl OSClearContext
/* 80370028 0036CF88 7F E3 FB 78 */ mr r3, r31
/* 8037002C 0036CF8C 48 00 F3 F1 */ bl OSSetCurrentContext
/* 80370030 0036CF90 80 01 02 EC */ lwz r0, 0x2ec(r1)
/* 80370034 0036CF94 83 E1 02 E4 */ lwz r31, 0x2e4(r1)
/* 80370038 0036CF98 38 21 02 E8 */ addi r1, r1, 0x2e8
/* 8037003C 0036CF9C 7C 08 03 A6 */ mtlr r0
/* 80370040 0036CFA0 4E 80 00 20 */ blr
.global __DSP_exec_task
__DSP_exec_task:
/* 80370044 0036CFA4 7C 08 02 A6 */ mflr r0
/* 80370048 0036CFA8 90 01 00 04 */ stw r0, 4(r1)
/* 8037004C 0036CFAC 94 21 FF E8 */ stwu r1, -0x18(r1)
/* 80370050 0036CFB0 93 E1 00 14 */ stw r31, 0x14(r1)
/* 80370054 0036CFB4 3B E4 00 00 */ addi r31, r4, 0
/* 80370058 0036CFB8 93 C1 00 10 */ stw r30, 0x10(r1)
/* 8037005C 0036CFBC 7C 7E 1B 79 */ or. r30, r3, r3
/* 80370060 0036CFC0 41 82 00 44 */ beq lbl_803700A4
/* 80370064 0036CFC4 80 7E 00 18 */ lwz r3, 0x18(r30)
/* 80370068 0036CFC8 4B FF F9 89 */ bl DSPSendMailToDSP
lbl_8037006C:
/* 8037006C 0036CFCC 4B FF F9 4D */ bl DSPCheckMailToDSP
/* 80370070 0036CFD0 28 03 00 00 */ cmplwi r3, 0
/* 80370074 0036CFD4 40 82 FF F8 */ bne lbl_8037006C
/* 80370078 0036CFD8 80 7E 00 1C */ lwz r3, 0x1c(r30)
/* 8037007C 0036CFDC 4B FF F9 75 */ bl DSPSendMailToDSP
lbl_80370080:
/* 80370080 0036CFE0 4B FF F9 39 */ bl DSPCheckMailToDSP
/* 80370084 0036CFE4 28 03 00 00 */ cmplwi r3, 0
/* 80370088 0036CFE8 40 82 FF F8 */ bne lbl_80370080
/* 8037008C 0036CFEC 80 7E 00 20 */ lwz r3, 0x20(r30)
/* 80370090 0036CFF0 4B FF F9 61 */ bl DSPSendMailToDSP
lbl_80370094:
/* 80370094 0036CFF4 4B FF F9 25 */ bl DSPCheckMailToDSP
/* 80370098 0036CFF8 28 03 00 00 */ cmplwi r3, 0
/* 8037009C 0036CFFC 40 82 FF F8 */ bne lbl_80370094
/* 803700A0 0036D000 48 00 00 40 */ b lbl_803700E0
lbl_803700A4:
/* 803700A4 0036D004 38 60 00 00 */ li r3, 0
/* 803700A8 0036D008 4B FF F9 49 */ bl DSPSendMailToDSP
lbl_803700AC:
/* 803700AC 0036D00C 4B FF F9 0D */ bl DSPCheckMailToDSP
/* 803700B0 0036D010 28 03 00 00 */ cmplwi r3, 0
/* 803700B4 0036D014 40 82 FF F8 */ bne lbl_803700AC
/* 803700B8 0036D018 38 60 00 00 */ li r3, 0
/* 803700BC 0036D01C 4B FF F9 35 */ bl DSPSendMailToDSP
lbl_803700C0:
/* 803700C0 0036D020 4B FF F8 F9 */ bl DSPCheckMailToDSP
/* 803700C4 0036D024 28 03 00 00 */ cmplwi r3, 0
/* 803700C8 0036D028 40 82 FF F8 */ bne lbl_803700C0
/* 803700CC 0036D02C 38 60 00 00 */ li r3, 0
/* 803700D0 0036D030 4B FF F9 21 */ bl DSPSendMailToDSP
lbl_803700D4:
/* 803700D4 0036D034 4B FF F8 E5 */ bl DSPCheckMailToDSP
/* 803700D8 0036D038 28 03 00 00 */ cmplwi r3, 0
/* 803700DC 0036D03C 40 82 FF F8 */ bne lbl_803700D4
lbl_803700E0:
/* 803700E0 0036D040 80 7F 00 0C */ lwz r3, 0xc(r31)
/* 803700E4 0036D044 4B FF F9 0D */ bl DSPSendMailToDSP
lbl_803700E8:
/* 803700E8 0036D048 4B FF F8 D1 */ bl DSPCheckMailToDSP
/* 803700EC 0036D04C 28 03 00 00 */ cmplwi r3, 0
/* 803700F0 0036D050 40 82 FF F8 */ bne lbl_803700E8
/* 803700F4 0036D054 80 7F 00 10 */ lwz r3, 0x10(r31)
/* 803700F8 0036D058 4B FF F8 F9 */ bl DSPSendMailToDSP
lbl_803700FC:
/* 803700FC 0036D05C 4B FF F8 BD */ bl DSPCheckMailToDSP
/* 80370100 0036D060 28 03 00 00 */ cmplwi r3, 0
/* 80370104 0036D064 40 82 FF F8 */ bne lbl_803700FC
/* 80370108 0036D068 80 7F 00 14 */ lwz r3, 0x14(r31)
/* 8037010C 0036D06C 4B FF F8 E5 */ bl DSPSendMailToDSP
lbl_80370110:
/* 80370110 0036D070 4B FF F8 A9 */ bl DSPCheckMailToDSP
/* 80370114 0036D074 28 03 00 00 */ cmplwi r3, 0
/* 80370118 0036D078 40 82 FF F8 */ bne lbl_80370110
/* 8037011C 0036D07C 80 1F 00 00 */ lwz r0, 0(r31)
/* 80370120 0036D080 28 00 00 00 */ cmplwi r0, 0
/* 80370124 0036D084 40 82 00 58 */ bne lbl_8037017C
/* 80370128 0036D088 A0 7F 00 24 */ lhz r3, 0x24(r31)
/* 8037012C 0036D08C 4B FF F8 C5 */ bl DSPSendMailToDSP
lbl_80370130:
/* 80370130 0036D090 4B FF F8 89 */ bl DSPCheckMailToDSP
/* 80370134 0036D094 28 03 00 00 */ cmplwi r3, 0
/* 80370138 0036D098 40 82 FF F8 */ bne lbl_80370130
/* 8037013C 0036D09C 38 60 00 00 */ li r3, 0
/* 80370140 0036D0A0 4B FF F8 B1 */ bl DSPSendMailToDSP
lbl_80370144:
/* 80370144 0036D0A4 4B FF F8 75 */ bl DSPCheckMailToDSP
/* 80370148 0036D0A8 28 03 00 00 */ cmplwi r3, 0
/* 8037014C 0036D0AC 40 82 FF F8 */ bne lbl_80370144
/* 80370150 0036D0B0 38 60 00 00 */ li r3, 0
/* 80370154 0036D0B4 4B FF F8 9D */ bl DSPSendMailToDSP
lbl_80370158:
/* 80370158 0036D0B8 4B FF F8 61 */ bl DSPCheckMailToDSP
/* 8037015C 0036D0BC 28 03 00 00 */ cmplwi r3, 0
/* 80370160 0036D0C0 40 82 FF F8 */ bne lbl_80370158
/* 80370164 0036D0C4 38 60 00 00 */ li r3, 0
/* 80370168 0036D0C8 4B FF F8 89 */ bl DSPSendMailToDSP
lbl_8037016C:
/* 8037016C 0036D0CC 4B FF F8 4D */ bl DSPCheckMailToDSP
/* 80370170 0036D0D0 28 03 00 00 */ cmplwi r3, 0
/* 80370174 0036D0D4 40 82 FF F8 */ bne lbl_8037016C
/* 80370178 0036D0D8 48 00 00 54 */ b lbl_803701CC
lbl_8037017C:
/* 8037017C 0036D0DC A0 7F 00 26 */ lhz r3, 0x26(r31)
/* 80370180 0036D0E0 4B FF F8 71 */ bl DSPSendMailToDSP
lbl_80370184:
/* 80370184 0036D0E4 4B FF F8 35 */ bl DSPCheckMailToDSP
/* 80370188 0036D0E8 28 03 00 00 */ cmplwi r3, 0
/* 8037018C 0036D0EC 40 82 FF F8 */ bne lbl_80370184
/* 80370190 0036D0F0 80 7F 00 18 */ lwz r3, 0x18(r31)
/* 80370194 0036D0F4 4B FF F8 5D */ bl DSPSendMailToDSP
lbl_80370198:
/* 80370198 0036D0F8 4B FF F8 21 */ bl DSPCheckMailToDSP
/* 8037019C 0036D0FC 28 03 00 00 */ cmplwi r3, 0
/* 803701A0 0036D100 40 82 FF F8 */ bne lbl_80370198
/* 803701A4 0036D104 80 7F 00 1C */ lwz r3, 0x1c(r31)
/* 803701A8 0036D108 4B FF F8 49 */ bl DSPSendMailToDSP
lbl_803701AC:
/* 803701AC 0036D10C 4B FF F8 0D */ bl DSPCheckMailToDSP
/* 803701B0 0036D110 28 03 00 00 */ cmplwi r3, 0
/* 803701B4 0036D114 40 82 FF F8 */ bne lbl_803701AC
/* 803701B8 0036D118 80 7F 00 20 */ lwz r3, 0x20(r31)
/* 803701BC 0036D11C 4B FF F8 35 */ bl DSPSendMailToDSP
lbl_803701C0:
/* 803701C0 0036D120 4B FF F7 F9 */ bl DSPCheckMailToDSP
/* 803701C4 0036D124 28 03 00 00 */ cmplwi r3, 0
/* 803701C8 0036D128 40 82 FF F8 */ bne lbl_803701C0
lbl_803701CC:
/* 803701CC 0036D12C 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 803701D0 0036D130 83 E1 00 14 */ lwz r31, 0x14(r1)
/* 803701D4 0036D134 83 C1 00 10 */ lwz r30, 0x10(r1)
/* 803701D8 0036D138 38 21 00 18 */ addi r1, r1, 0x18
/* 803701DC 0036D13C 7C 08 03 A6 */ mtlr r0
/* 803701E0 0036D140 4E 80 00 20 */ blr
.global __DSP_boot_task
__DSP_boot_task:
/* 803701E4 0036D144 7C 08 02 A6 */ mflr r0
/* 803701E8 0036D148 3C 80 80 3F */ lis r4, __DSP_msg1@ha
/* 803701EC 0036D14C 90 01 00 04 */ stw r0, 4(r1)
/* 803701F0 0036D150 94 21 FF E8 */ stwu r1, -0x18(r1)
/* 803701F4 0036D154 93 E1 00 14 */ stw r31, 0x14(r1)
/* 803701F8 0036D158 3B E4 FA 50 */ addi r31, r4, __DSP_msg1@l
/* 803701FC 0036D15C 93 C1 00 10 */ stw r30, 0x10(r1)
/* 80370200 0036D160 3B C3 00 00 */ addi r30, r3, 0
lbl_80370204:
/* 80370204 0036D164 4B FF F7 C5 */ bl DSPCheckMailFromDSP
/* 80370208 0036D168 28 03 00 00 */ cmplwi r3, 0
/* 8037020C 0036D16C 41 82 FF F8 */ beq lbl_80370204
/* 80370210 0036D170 4B FF F7 C9 */ bl DSPReadMailFromDSP
/* 80370214 0036D174 90 61 00 0C */ stw r3, 0xc(r1)
/* 80370218 0036D178 3C 60 80 F4 */ lis r3, 0x80F3A001@ha
/* 8037021C 0036D17C 38 63 A0 01 */ addi r3, r3, 0x80F3A001@l
/* 80370220 0036D180 4B FF F7 D1 */ bl DSPSendMailToDSP
lbl_80370224:
/* 80370224 0036D184 4B FF F7 95 */ bl DSPCheckMailToDSP
/* 80370228 0036D188 28 03 00 00 */ cmplwi r3, 0
/* 8037022C 0036D18C 40 82 FF F8 */ bne lbl_80370224
/* 80370230 0036D190 80 7E 00 0C */ lwz r3, 0xc(r30)
/* 80370234 0036D194 4B FF F7 BD */ bl DSPSendMailToDSP
lbl_80370238:
/* 80370238 0036D198 4B FF F7 81 */ bl DSPCheckMailToDSP
/* 8037023C 0036D19C 28 03 00 00 */ cmplwi r3, 0
/* 80370240 0036D1A0 40 82 FF F8 */ bne lbl_80370238
/* 80370244 0036D1A4 3C 60 80 F4 */ lis r3, 0x80F3C002@ha
/* 80370248 0036D1A8 38 63 C0 02 */ addi r3, r3, 0x80F3C002@l
/* 8037024C 0036D1AC 4B FF F7 A5 */ bl DSPSendMailToDSP
lbl_80370250:
/* 80370250 0036D1B0 4B FF F7 69 */ bl DSPCheckMailToDSP
/* 80370254 0036D1B4 28 03 00 00 */ cmplwi r3, 0
/* 80370258 0036D1B8 40 82 FF F8 */ bne lbl_80370250
/* 8037025C 0036D1BC 80 1E 00 14 */ lwz r0, 0x14(r30)
/* 80370260 0036D1C0 54 03 04 3E */ clrlwi r3, r0, 0x10
/* 80370264 0036D1C4 4B FF F7 8D */ bl DSPSendMailToDSP
lbl_80370268:
/* 80370268 0036D1C8 4B FF F7 51 */ bl DSPCheckMailToDSP
/* 8037026C 0036D1CC 28 03 00 00 */ cmplwi r3, 0
/* 80370270 0036D1D0 40 82 FF F8 */ bne lbl_80370268
/* 80370274 0036D1D4 3C 60 80 F4 */ lis r3, 0x80F3A002@ha
/* 80370278 0036D1D8 38 63 A0 02 */ addi r3, r3, 0x80F3A002@l
/* 8037027C 0036D1DC 4B FF F7 75 */ bl DSPSendMailToDSP
lbl_80370280:
/* 80370280 0036D1E0 4B FF F7 39 */ bl DSPCheckMailToDSP
/* 80370284 0036D1E4 28 03 00 00 */ cmplwi r3, 0
/* 80370288 0036D1E8 40 82 FF F8 */ bne lbl_80370280
/* 8037028C 0036D1EC 80 7E 00 10 */ lwz r3, 0x10(r30)
/* 80370290 0036D1F0 4B FF F7 61 */ bl DSPSendMailToDSP
lbl_80370294:
/* 80370294 0036D1F4 4B FF F7 25 */ bl DSPCheckMailToDSP
/* 80370298 0036D1F8 28 03 00 00 */ cmplwi r3, 0
/* 8037029C 0036D1FC 40 82 FF F8 */ bne lbl_80370294
/* 803702A0 0036D200 3C 60 80 F4 */ lis r3, 0x80F3B002@ha
/* 803702A4 0036D204 38 63 B0 02 */ addi r3, r3, 0x80F3B002@l
/* 803702A8 0036D208 4B FF F7 49 */ bl DSPSendMailToDSP
lbl_803702AC:
/* 803702AC 0036D20C 4B FF F7 0D */ bl DSPCheckMailToDSP
/* 803702B0 0036D210 28 03 00 00 */ cmplwi r3, 0
/* 803702B4 0036D214 40 82 FF F8 */ bne lbl_803702AC
/* 803702B8 0036D218 38 60 00 00 */ li r3, 0
/* 803702BC 0036D21C 4B FF F7 35 */ bl DSPSendMailToDSP
lbl_803702C0:
/* 803702C0 0036D220 4B FF F6 F9 */ bl DSPCheckMailToDSP
/* 803702C4 0036D224 28 03 00 00 */ cmplwi r3, 0
/* 803702C8 0036D228 40 82 FF F8 */ bne lbl_803702C0
/* 803702CC 0036D22C 3C 60 80 F4 */ lis r3, 0x80F3D001@ha
/* 803702D0 0036D230 38 63 D0 01 */ addi r3, r3, 0x80F3D001@l
/* 803702D4 0036D234 4B FF F7 1D */ bl DSPSendMailToDSP
lbl_803702D8:
/* 803702D8 0036D238 4B FF F6 E1 */ bl DSPCheckMailToDSP
/* 803702DC 0036D23C 28 03 00 00 */ cmplwi r3, 0
/* 803702E0 0036D240 40 82 FF F8 */ bne lbl_803702D8
/* 803702E4 0036D244 A0 7E 00 24 */ lhz r3, 0x24(r30)
/* 803702E8 0036D248 4B FF F7 09 */ bl DSPSendMailToDSP
lbl_803702EC:
/* 803702EC 0036D24C 4B FF F6 CD */ bl DSPCheckMailToDSP
/* 803702F0 0036D250 28 03 00 00 */ cmplwi r3, 0
/* 803702F4 0036D254 40 82 FF F8 */ bne lbl_803702EC
/* 803702F8 0036D258 38 7F 00 00 */ addi r3, r31, 0
/* 803702FC 0036D25C 4C C6 31 82 */ crclr 6
/* 80370300 0036D260 38 9E 00 00 */ addi r4, r30, 0
/* 80370304 0036D264 4B FF F8 CD */ bl __DSP_debug_printf
/* 80370308 0036D268 80 9E 00 0C */ lwz r4, 0xc(r30)
/* 8037030C 0036D26C 38 7F 00 20 */ addi r3, r31, 0x20
/* 80370310 0036D270 4C C6 31 82 */ crclr 6
/* 80370314 0036D274 4B FF F8 BD */ bl __DSP_debug_printf
/* 80370318 0036D278 80 9E 00 14 */ lwz r4, 0x14(r30)
/* 8037031C 0036D27C 38 7F 00 50 */ addi r3, r31, 0x50
/* 80370320 0036D280 4C C6 31 82 */ crclr 6
/* 80370324 0036D284 4B FF F8 AD */ bl __DSP_debug_printf
/* 80370328 0036D288 80 9E 00 10 */ lwz r4, 0x10(r30)
/* 8037032C 0036D28C 38 7F 00 80 */ addi r3, r31, 0x80
/* 80370330 0036D290 4C C6 31 82 */ crclr 6
/* 80370334 0036D294 4B FF F8 9D */ bl __DSP_debug_printf
/* 80370338 0036D298 80 9E 00 1C */ lwz r4, 0x1c(r30)
/* 8037033C 0036D29C 38 7F 00 B0 */ addi r3, r31, 0xb0
/* 80370340 0036D2A0 4C C6 31 82 */ crclr 6
/* 80370344 0036D2A4 4B FF F8 8D */ bl __DSP_debug_printf
/* 80370348 0036D2A8 A0 9E 00 24 */ lhz r4, 0x24(r30)
/* 8037034C 0036D2AC 38 7F 00 E0 */ addi r3, r31, 0xe0
/* 80370350 0036D2B0 4C C6 31 82 */ crclr 6
/* 80370354 0036D2B4 4B FF F8 7D */ bl __DSP_debug_printf
/* 80370358 0036D2B8 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 8037035C 0036D2BC 83 E1 00 14 */ lwz r31, 0x14(r1)
/* 80370360 0036D2C0 83 C1 00 10 */ lwz r30, 0x10(r1)
/* 80370364 0036D2C4 38 21 00 18 */ addi r1, r1, 0x18
/* 80370368 0036D2C8 7C 08 03 A6 */ mtlr r0
/* 8037036C 0036D2CC 4E 80 00 20 */ blr
.global __DSP_insert_task
__DSP_insert_task:
/* 80370370 0036D2D0 80 0D AB A0 */ lwz r0, __DSP_first_task@sda21(r13)
/* 80370374 0036D2D4 28 00 00 00 */ cmplwi r0, 0
/* 80370378 0036D2D8 40 82 00 20 */ bne lbl_80370398
/* 8037037C 0036D2DC 90 6D AB A4 */ stw r3, __DSP_curr_task@sda21(r13)
/* 80370380 0036D2E0 38 00 00 00 */ li r0, 0
/* 80370384 0036D2E4 90 6D AB 9C */ stw r3, __DSP_last_task@sda21(r13)
/* 80370388 0036D2E8 90 6D AB A0 */ stw r3, __DSP_first_task@sda21(r13)
/* 8037038C 0036D2EC 90 03 00 3C */ stw r0, 0x3c(r3)
/* 80370390 0036D2F0 90 03 00 38 */ stw r0, 0x38(r3)
/* 80370394 0036D2F4 4E 80 00 20 */ blr
lbl_80370398:
/* 80370398 0036D2F8 7C 05 03 78 */ mr r5, r0
/* 8037039C 0036D2FC 48 00 00 44 */ b lbl_803703E0
lbl_803703A0:
/* 803703A0 0036D300 80 83 00 04 */ lwz r4, 4(r3)
/* 803703A4 0036D304 80 05 00 04 */ lwz r0, 4(r5)
/* 803703A8 0036D308 7C 04 00 40 */ cmplw r4, r0
/* 803703AC 0036D30C 40 80 00 30 */ bge lbl_803703DC
/* 803703B0 0036D310 80 05 00 3C */ lwz r0, 0x3c(r5)
/* 803703B4 0036D314 90 03 00 3C */ stw r0, 0x3c(r3)
/* 803703B8 0036D318 90 65 00 3C */ stw r3, 0x3c(r5)
/* 803703BC 0036D31C 90 A3 00 38 */ stw r5, 0x38(r3)
/* 803703C0 0036D320 80 83 00 3C */ lwz r4, 0x3c(r3)
/* 803703C4 0036D324 28 04 00 00 */ cmplwi r4, 0
/* 803703C8 0036D328 40 82 00 0C */ bne lbl_803703D4
/* 803703CC 0036D32C 90 6D AB A0 */ stw r3, __DSP_first_task@sda21(r13)
/* 803703D0 0036D330 48 00 00 18 */ b lbl_803703E8
lbl_803703D4:
/* 803703D4 0036D334 90 64 00 38 */ stw r3, 0x38(r4)
/* 803703D8 0036D338 48 00 00 10 */ b lbl_803703E8
lbl_803703DC:
/* 803703DC 0036D33C 80 A5 00 38 */ lwz r5, 0x38(r5)
lbl_803703E0:
/* 803703E0 0036D340 28 05 00 00 */ cmplwi r5, 0
/* 803703E4 0036D344 40 82 FF BC */ bne lbl_803703A0
lbl_803703E8:
/* 803703E8 0036D348 28 05 00 00 */ cmplwi r5, 0
/* 803703EC 0036D34C 4C 82 00 20 */ bnelr
/* 803703F0 0036D350 80 8D AB 9C */ lwz r4, __DSP_last_task@sda21(r13)
/* 803703F4 0036D354 38 00 00 00 */ li r0, 0
/* 803703F8 0036D358 90 64 00 38 */ stw r3, 0x38(r4)
/* 803703FC 0036D35C 90 03 00 38 */ stw r0, 0x38(r3)
/* 80370400 0036D360 80 0D AB 9C */ lwz r0, __DSP_last_task@sda21(r13)
/* 80370404 0036D364 90 03 00 3C */ stw r0, 0x3c(r3)
/* 80370408 0036D368 90 6D AB 9C */ stw r3, __DSP_last_task@sda21(r13)
/* 8037040C 0036D36C 4E 80 00 20 */ blr
.global __DSP_remove_task
__DSP_remove_task:
/* 80370410 0036D370 38 80 00 00 */ li r4, 0
/* 80370414 0036D374 90 83 00 08 */ stw r4, 8(r3)
/* 80370418 0036D378 38 00 00 03 */ li r0, 3
/* 8037041C 0036D37C 90 03 00 00 */ stw r0, 0(r3)
/* 80370420 0036D380 80 0D AB A0 */ lwz r0, __DSP_first_task@sda21(r13)
/* 80370424 0036D384 7C 00 18 40 */ cmplw r0, r3
/* 80370428 0036D388 40 82 00 30 */ bne lbl_80370458
/* 8037042C 0036D38C 80 03 00 38 */ lwz r0, 0x38(r3)
/* 80370430 0036D390 28 00 00 00 */ cmplwi r0, 0
/* 80370434 0036D394 41 82 00 14 */ beq lbl_80370448
/* 80370438 0036D398 90 0D AB A0 */ stw r0, __DSP_first_task@sda21(r13)
/* 8037043C 0036D39C 80 63 00 38 */ lwz r3, 0x38(r3)
/* 80370440 0036D3A0 90 83 00 3C */ stw r4, 0x3c(r3)
/* 80370444 0036D3A4 4E 80 00 20 */ blr
lbl_80370448:
/* 80370448 0036D3A8 90 8D AB A4 */ stw r4, __DSP_curr_task@sda21(r13)
/* 8037044C 0036D3AC 90 8D AB 9C */ stw r4, __DSP_last_task@sda21(r13)
/* 80370450 0036D3B0 90 8D AB A0 */ stw r4, __DSP_first_task@sda21(r13)
/* 80370454 0036D3B4 4E 80 00 20 */ blr
lbl_80370458:
/* 80370458 0036D3B8 80 0D AB 9C */ lwz r0, __DSP_last_task@sda21(r13)
/* 8037045C 0036D3BC 7C 00 18 40 */ cmplw r0, r3
/* 80370460 0036D3C0 40 82 00 20 */ bne lbl_80370480
/* 80370464 0036D3C4 80 03 00 3C */ lwz r0, 0x3c(r3)
/* 80370468 0036D3C8 90 0D AB 9C */ stw r0, __DSP_last_task@sda21(r13)
/* 8037046C 0036D3CC 80 63 00 3C */ lwz r3, 0x3c(r3)
/* 80370470 0036D3D0 90 83 00 38 */ stw r4, 0x38(r3)
/* 80370474 0036D3D4 80 0D AB A0 */ lwz r0, __DSP_first_task@sda21(r13)
/* 80370478 0036D3D8 90 0D AB A4 */ stw r0, __DSP_curr_task@sda21(r13)
/* 8037047C 0036D3DC 4E 80 00 20 */ blr
lbl_80370480:
/* 80370480 0036D3E0 80 03 00 38 */ lwz r0, 0x38(r3)
/* 80370484 0036D3E4 90 0D AB A4 */ stw r0, __DSP_curr_task@sda21(r13)
/* 80370488 0036D3E8 80 03 00 38 */ lwz r0, 0x38(r3)
/* 8037048C 0036D3EC 80 83 00 3C */ lwz r4, 0x3c(r3)
/* 80370490 0036D3F0 90 04 00 38 */ stw r0, 0x38(r4)
/* 80370494 0036D3F4 80 03 00 3C */ lwz r0, 0x3c(r3)
/* 80370498 0036D3F8 80 63 00 38 */ lwz r3, 0x38(r3)
/* 8037049C 0036D3FC 90 03 00 3C */ stw r0, 0x3c(r3)
/* 803704A0 0036D400 4E 80 00 20 */ blr

View File

@ -1,761 +0,0 @@
.include "macros.inc"
.section .bss
.balign 8
.global __block_for_run_callback
__block_for_run_callback:
.skip 0x30
.global __block_for_prep_callback
__block_for_prep_callback:
.skip 0x30
.global __block_for_stream_status
__block_for_stream_status:
.skip 0x30
.global __block_for_ais_isr
__block_for_ais_isr:
.skip 0x30
.global __block_for_flushtracks
__block_for_flushtracks:
.skip 0x30
.global __block_for_set_state
__block_for_set_state:
.skip 0x30
.global __block_for_next_track
__block_for_next_track:
.skip 0x30
.section .sbss, "wa"
.balign 8
.global __DTKCurrentTrack
__DTKCurrentTrack:
.skip 0x4
.global __DTKPlayListHead
__DTKPlayListHead:
.skip 0x4
.global __DTKPlayListTail
__DTKPlayListTail:
.skip 0x4
.global __DTKState
__DTKState:
.skip 0x4
.global __DTKTempState
__DTKTempState:
.skip 0x4
.global __DTKRepeatMode
__DTKRepeatMode:
.skip 0x4
.global __DTKPosition
__DTKPosition:
.skip 0x4
.global __DTKInterruptFrequency
__DTKInterruptFrequency:
.skip 0x4
.global __DTKVolumeL
__DTKVolumeL:
.skip 0x1
.global __DTKVolumeR
__DTKVolumeR:
.skip 0x3
.global __DTKShutdownFlag
__DTKShutdownFlag:
.skip 0x4
.global __DTKTrackEnded
__DTKTrackEnded:
.skip 0x4
.global __DTKFlushCallback
__DTKFlushCallback:
.skip 0x4
.section .text, "ax"
.global __DTKCallbackForStreamStatus
__DTKCallbackForStreamStatus:
/* 803B7518 003B4478 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 803B751C 003B447C 4C 82 00 20 */ bnelr
/* 803B7520 003B4480 38 00 00 01 */ li r0, 1
/* 803B7524 003B4484 90 0D B0 00 */ stw r0, __DTKTrackEnded@sda21(r13)
/* 803B7528 003B4488 38 00 00 00 */ li r0, 0
/* 803B752C 003B448C 90 0D AF F0 */ stw r0, __DTKPosition@sda21(r13)
/* 803B7530 003B4490 4E 80 00 20 */ blr
.global __DTKCallbackForRun
__DTKCallbackForRun:
/* 803B7534 003B4494 7C 08 02 A6 */ mflr r0
/* 803B7538 003B4498 90 01 00 04 */ stw r0, 4(r1)
/* 803B753C 003B449C 94 21 FF F8 */ stwu r1, -8(r1)
/* 803B7540 003B44A0 88 6D AF F8 */ lbz r3, __DTKVolumeL@sda21(r13)
/* 803B7544 003B44A4 4B FB 5E 39 */ bl AISetStreamVolLeft
/* 803B7548 003B44A8 88 6D AF F9 */ lbz r3, __DTKVolumeR@sda21(r13)
/* 803B754C 003B44AC 4B FB 5E 5D */ bl AISetStreamVolRight
/* 803B7550 003B44B0 4B FB 5B 49 */ bl AIResetStreamSampleCount
/* 803B7554 003B44B4 80 6D AF F4 */ lwz r3, __DTKInterruptFrequency@sda21(r13)
/* 803B7558 003B44B8 4B FB 5B 59 */ bl AISetStreamTrigger
/* 803B755C 003B44BC 38 60 00 01 */ li r3, 1
/* 803B7560 003B44C0 4B FB 5B 5D */ bl AISetStreamPlayState
/* 803B7564 003B44C4 3C 60 80 57 */ lis r3, __block_for_run_callback@ha
/* 803B7568 003B44C8 38 63 99 08 */ addi r3, r3, __block_for_run_callback@l
/* 803B756C 003B44CC 38 80 00 00 */ li r4, 0
/* 803B7570 003B44D0 4B FB C8 4D */ bl DVDStopStreamAtEndAsync
/* 803B7574 003B44D4 80 6D AF D8 */ lwz r3, __DTKCurrentTrack@sda21(r13)
/* 803B7578 003B44D8 38 00 00 01 */ li r0, 1
/* 803B757C 003B44DC 90 0D AF E4 */ stw r0, __DTKState@sda21(r13)
/* 803B7580 003B44E0 28 03 00 00 */ cmplwi r3, 0
/* 803B7584 003B44E4 41 82 00 24 */ beq lbl_803B75A8
/* 803B7588 003B44E8 81 83 00 10 */ lwz r12, 0x10(r3)
/* 803B758C 003B44EC 28 0C 00 00 */ cmplwi r12, 0
/* 803B7590 003B44F0 41 82 00 18 */ beq lbl_803B75A8
/* 803B7594 003B44F4 80 03 00 0C */ lwz r0, 0xc(r3)
/* 803B7598 003B44F8 54 03 07 FF */ clrlwi. r3, r0, 0x1f
/* 803B759C 003B44FC 41 82 00 0C */ beq lbl_803B75A8
/* 803B75A0 003B4500 7D 88 03 A6 */ mtlr r12
/* 803B75A4 003B4504 4E 80 00 21 */ blrl
lbl_803B75A8:
/* 803B75A8 003B4508 80 01 00 0C */ lwz r0, 0xc(r1)
/* 803B75AC 003B450C 38 21 00 08 */ addi r1, r1, 8
/* 803B75B0 003B4510 7C 08 03 A6 */ mtlr r0
/* 803B75B4 003B4514 4E 80 00 20 */ blr
.global __DTKCallbackForPreparePaused
__DTKCallbackForPreparePaused:
/* 803B75B8 003B4518 7C 08 02 A6 */ mflr r0
/* 803B75BC 003B451C 38 60 00 00 */ li r3, 0
/* 803B75C0 003B4520 90 01 00 04 */ stw r0, 4(r1)
/* 803B75C4 003B4524 94 21 FF F8 */ stwu r1, -8(r1)
/* 803B75C8 003B4528 4B FB 5D B5 */ bl AISetStreamVolLeft
/* 803B75CC 003B452C 38 60 00 00 */ li r3, 0
/* 803B75D0 003B4530 4B FB 5D D9 */ bl AISetStreamVolRight
/* 803B75D4 003B4534 38 60 00 00 */ li r3, 0
/* 803B75D8 003B4538 4B FB 5A E5 */ bl AISetStreamPlayState
/* 803B75DC 003B453C 3C 60 80 57 */ lis r3, __block_for_prep_callback@ha
/* 803B75E0 003B4540 38 63 99 38 */ addi r3, r3, __block_for_prep_callback@l
/* 803B75E4 003B4544 38 80 00 00 */ li r4, 0
/* 803B75E8 003B4548 4B FB C7 D5 */ bl DVDStopStreamAtEndAsync
/* 803B75EC 003B454C 80 6D AF D8 */ lwz r3, __DTKCurrentTrack@sda21(r13)
/* 803B75F0 003B4550 38 00 00 02 */ li r0, 2
/* 803B75F4 003B4554 90 0D AF E4 */ stw r0, __DTKState@sda21(r13)
/* 803B75F8 003B4558 28 03 00 00 */ cmplwi r3, 0
/* 803B75FC 003B455C 41 82 00 24 */ beq lbl_803B7620
/* 803B7600 003B4560 81 83 00 10 */ lwz r12, 0x10(r3)
/* 803B7604 003B4564 28 0C 00 00 */ cmplwi r12, 0
/* 803B7608 003B4568 41 82 00 18 */ beq lbl_803B7620
/* 803B760C 003B456C 80 03 00 0C */ lwz r0, 0xc(r3)
/* 803B7610 003B4570 54 03 06 B5 */ rlwinm. r3, r0, 0, 0x1a, 0x1a
/* 803B7614 003B4574 41 82 00 0C */ beq lbl_803B7620
/* 803B7618 003B4578 7D 88 03 A6 */ mtlr r12
/* 803B761C 003B457C 4E 80 00 21 */ blrl
lbl_803B7620:
/* 803B7620 003B4580 80 01 00 0C */ lwz r0, 0xc(r1)
/* 803B7624 003B4584 38 21 00 08 */ addi r1, r1, 8
/* 803B7628 003B4588 7C 08 03 A6 */ mtlr r0
/* 803B762C 003B458C 4E 80 00 20 */ blr
.global __DTKCallbackForPlaylist
__DTKCallbackForPlaylist:
/* 803B7630 003B4590 7C 08 02 A6 */ mflr r0
/* 803B7634 003B4594 90 01 00 04 */ stw r0, 4(r1)
/* 803B7638 003B4598 94 21 FF F8 */ stwu r1, -8(r1)
/* 803B763C 003B459C 90 6D AF F0 */ stw r3, __DTKPosition@sda21(r13)
/* 803B7640 003B45A0 80 0D B0 00 */ lwz r0, __DTKTrackEnded@sda21(r13)
/* 803B7644 003B45A4 28 00 00 00 */ cmplwi r0, 0
/* 803B7648 003B45A8 41 82 01 C0 */ beq lbl_803B7808
/* 803B764C 003B45AC 80 6D AF D8 */ lwz r3, __DTKCurrentTrack@sda21(r13)
/* 803B7650 003B45B0 38 00 00 00 */ li r0, 0
/* 803B7654 003B45B4 90 0D B0 00 */ stw r0, __DTKTrackEnded@sda21(r13)
/* 803B7658 003B45B8 28 03 00 00 */ cmplwi r3, 0
/* 803B765C 003B45BC 41 82 00 24 */ beq lbl_803B7680
/* 803B7660 003B45C0 81 83 00 10 */ lwz r12, 0x10(r3)
/* 803B7664 003B45C4 28 0C 00 00 */ cmplwi r12, 0
/* 803B7668 003B45C8 41 82 00 18 */ beq lbl_803B7680
/* 803B766C 003B45CC 80 03 00 0C */ lwz r0, 0xc(r3)
/* 803B7670 003B45D0 54 03 06 F7 */ rlwinm. r3, r0, 0, 0x1b, 0x1b
/* 803B7674 003B45D4 41 82 00 0C */ beq lbl_803B7680
/* 803B7678 003B45D8 7D 88 03 A6 */ mtlr r12
/* 803B767C 003B45DC 4E 80 00 21 */ blrl
lbl_803B7680:
/* 803B7680 003B45E0 38 00 00 03 */ li r0, 3
/* 803B7684 003B45E4 90 0D AF E4 */ stw r0, __DTKState@sda21(r13)
/* 803B7688 003B45E8 80 0D AF EC */ lwz r0, __DTKRepeatMode@sda21(r13)
/* 803B768C 003B45EC 2C 00 00 01 */ cmpwi r0, 1
/* 803B7690 003B45F0 41 82 00 A0 */ beq lbl_803B7730
/* 803B7694 003B45F4 40 80 00 10 */ bge lbl_803B76A4
/* 803B7698 003B45F8 2C 00 00 00 */ cmpwi r0, 0
/* 803B769C 003B45FC 40 80 00 14 */ bge lbl_803B76B0
/* 803B76A0 003B4600 48 00 01 7C */ b lbl_803B781C
lbl_803B76A4:
/* 803B76A4 003B4604 2C 00 00 03 */ cmpwi r0, 3
/* 803B76A8 003B4608 40 80 01 74 */ bge lbl_803B781C
/* 803B76AC 003B460C 48 00 01 18 */ b lbl_803B77C4
lbl_803B76B0:
/* 803B76B0 003B4610 80 6D AF D8 */ lwz r3, __DTKCurrentTrack@sda21(r13)
/* 803B76B4 003B4614 28 03 00 00 */ cmplwi r3, 0
/* 803B76B8 003B4618 41 82 01 64 */ beq lbl_803B781C
/* 803B76BC 003B461C 80 03 00 04 */ lwz r0, 4(r3)
/* 803B76C0 003B4620 28 00 00 00 */ cmplwi r0, 0
/* 803B76C4 003B4624 41 82 00 40 */ beq lbl_803B7704
/* 803B76C8 003B4628 90 0D AF D8 */ stw r0, __DTKCurrentTrack@sda21(r13)
/* 803B76CC 003B462C 38 60 00 00 */ li r3, 0
/* 803B76D0 003B4630 4B FB 5C AD */ bl AISetStreamVolLeft
/* 803B76D4 003B4634 38 60 00 00 */ li r3, 0
/* 803B76D8 003B4638 4B FB 5C D1 */ bl AISetStreamVolRight
/* 803B76DC 003B463C 38 60 00 00 */ li r3, 0
/* 803B76E0 003B4640 4B FB 59 DD */ bl AISetStreamPlayState
/* 803B76E4 003B4644 80 8D AF D8 */ lwz r4, __DTKCurrentTrack@sda21(r13)
/* 803B76E8 003B4648 3C 60 80 3B */ lis r3, __DTKCallbackForRun@ha
/* 803B76EC 003B464C 38 C3 75 34 */ addi r6, r3, __DTKCallbackForRun@l
/* 803B76F0 003B4650 38 64 00 14 */ addi r3, r4, 0x14
/* 803B76F4 003B4654 38 80 00 00 */ li r4, 0
/* 803B76F8 003B4658 38 A0 00 00 */ li r5, 0
/* 803B76FC 003B465C 4B FB A3 89 */ bl DVDPrepareStreamAsync
/* 803B7700 003B4660 48 00 01 1C */ b lbl_803B781C
lbl_803B7704:
/* 803B7704 003B4664 80 0D AF DC */ lwz r0, __DTKPlayListHead@sda21(r13)
/* 803B7708 003B4668 38 60 00 00 */ li r3, 0
/* 803B770C 003B466C 90 0D AF D8 */ stw r0, __DTKCurrentTrack@sda21(r13)
/* 803B7710 003B4670 4B FB 5C 6D */ bl AISetStreamVolLeft
/* 803B7714 003B4674 38 60 00 00 */ li r3, 0
/* 803B7718 003B4678 4B FB 5C 91 */ bl AISetStreamVolRight
/* 803B771C 003B467C 38 60 00 00 */ li r3, 0
/* 803B7720 003B4680 4B FB 59 9D */ bl AISetStreamPlayState
/* 803B7724 003B4684 38 00 00 00 */ li r0, 0
/* 803B7728 003B4688 90 0D AF E4 */ stw r0, __DTKState@sda21(r13)
/* 803B772C 003B468C 48 00 00 F0 */ b lbl_803B781C
lbl_803B7730:
/* 803B7730 003B4690 80 6D AF D8 */ lwz r3, __DTKCurrentTrack@sda21(r13)
/* 803B7734 003B4694 28 03 00 00 */ cmplwi r3, 0
/* 803B7738 003B4698 41 82 00 E4 */ beq lbl_803B781C
/* 803B773C 003B469C 80 03 00 04 */ lwz r0, 4(r3)
/* 803B7740 003B46A0 28 00 00 00 */ cmplwi r0, 0
/* 803B7744 003B46A4 41 82 00 40 */ beq lbl_803B7784
/* 803B7748 003B46A8 90 0D AF D8 */ stw r0, __DTKCurrentTrack@sda21(r13)
/* 803B774C 003B46AC 38 60 00 00 */ li r3, 0
/* 803B7750 003B46B0 4B FB 5C 2D */ bl AISetStreamVolLeft
/* 803B7754 003B46B4 38 60 00 00 */ li r3, 0
/* 803B7758 003B46B8 4B FB 5C 51 */ bl AISetStreamVolRight
/* 803B775C 003B46BC 38 60 00 00 */ li r3, 0
/* 803B7760 003B46C0 4B FB 59 5D */ bl AISetStreamPlayState
/* 803B7764 003B46C4 80 8D AF D8 */ lwz r4, __DTKCurrentTrack@sda21(r13)
/* 803B7768 003B46C8 3C 60 80 3B */ lis r3, __DTKCallbackForRun@ha
/* 803B776C 003B46CC 38 C3 75 34 */ addi r6, r3, __DTKCallbackForRun@l
/* 803B7770 003B46D0 38 64 00 14 */ addi r3, r4, 0x14
/* 803B7774 003B46D4 38 80 00 00 */ li r4, 0
/* 803B7778 003B46D8 38 A0 00 00 */ li r5, 0
/* 803B777C 003B46DC 4B FB A3 09 */ bl DVDPrepareStreamAsync
/* 803B7780 003B46E0 48 00 00 9C */ b lbl_803B781C
lbl_803B7784:
/* 803B7784 003B46E4 80 0D AF DC */ lwz r0, __DTKPlayListHead@sda21(r13)
/* 803B7788 003B46E8 38 60 00 00 */ li r3, 0
/* 803B778C 003B46EC 90 0D AF D8 */ stw r0, __DTKCurrentTrack@sda21(r13)
/* 803B7790 003B46F0 4B FB 5B ED */ bl AISetStreamVolLeft
/* 803B7794 003B46F4 38 60 00 00 */ li r3, 0
/* 803B7798 003B46F8 4B FB 5C 11 */ bl AISetStreamVolRight
/* 803B779C 003B46FC 38 60 00 00 */ li r3, 0
/* 803B77A0 003B4700 4B FB 59 1D */ bl AISetStreamPlayState
/* 803B77A4 003B4704 80 8D AF D8 */ lwz r4, __DTKCurrentTrack@sda21(r13)
/* 803B77A8 003B4708 3C 60 80 3B */ lis r3, __DTKCallbackForRun@ha
/* 803B77AC 003B470C 38 C3 75 34 */ addi r6, r3, __DTKCallbackForRun@l
/* 803B77B0 003B4710 38 64 00 14 */ addi r3, r4, 0x14
/* 803B77B4 003B4714 38 80 00 00 */ li r4, 0
/* 803B77B8 003B4718 38 A0 00 00 */ li r5, 0
/* 803B77BC 003B471C 4B FB A2 C9 */ bl DVDPrepareStreamAsync
/* 803B77C0 003B4720 48 00 00 5C */ b lbl_803B781C
lbl_803B77C4:
/* 803B77C4 003B4724 80 0D AF D8 */ lwz r0, __DTKCurrentTrack@sda21(r13)
/* 803B77C8 003B4728 28 00 00 00 */ cmplwi r0, 0
/* 803B77CC 003B472C 41 82 00 50 */ beq lbl_803B781C
/* 803B77D0 003B4730 38 60 00 00 */ li r3, 0
/* 803B77D4 003B4734 4B FB 5B A9 */ bl AISetStreamVolLeft
/* 803B77D8 003B4738 38 60 00 00 */ li r3, 0
/* 803B77DC 003B473C 4B FB 5B CD */ bl AISetStreamVolRight
/* 803B77E0 003B4740 38 60 00 00 */ li r3, 0
/* 803B77E4 003B4744 4B FB 58 D9 */ bl AISetStreamPlayState
/* 803B77E8 003B4748 80 8D AF D8 */ lwz r4, __DTKCurrentTrack@sda21(r13)
/* 803B77EC 003B474C 3C 60 80 3B */ lis r3, __DTKCallbackForRun@ha
/* 803B77F0 003B4750 38 C3 75 34 */ addi r6, r3, __DTKCallbackForRun@l
/* 803B77F4 003B4754 38 64 00 14 */ addi r3, r4, 0x14
/* 803B77F8 003B4758 38 80 00 00 */ li r4, 0
/* 803B77FC 003B475C 38 A0 00 00 */ li r5, 0
/* 803B7800 003B4760 4B FB A2 85 */ bl DVDPrepareStreamAsync
/* 803B7804 003B4764 48 00 00 18 */ b lbl_803B781C
lbl_803B7808:
/* 803B7808 003B4768 3C 60 80 57 */ lis r3, __block_for_stream_status@ha
/* 803B780C 003B476C 3C 80 80 3B */ lis r4, __DTKCallbackForStreamStatus@ha
/* 803B7810 003B4770 38 63 99 68 */ addi r3, r3, __block_for_stream_status@l
/* 803B7814 003B4774 38 84 75 18 */ addi r4, r4, __DTKCallbackForStreamStatus@l
/* 803B7818 003B4778 4B FB C6 61 */ bl DVDGetStreamErrorStatusAsync
lbl_803B781C:
/* 803B781C 003B477C 80 01 00 0C */ lwz r0, 0xc(r1)
/* 803B7820 003B4780 38 21 00 08 */ addi r1, r1, 8
/* 803B7824 003B4784 7C 08 03 A6 */ mtlr r0
/* 803B7828 003B4788 4E 80 00 20 */ blr
.global __DTKCallbackForAIInterrupt
__DTKCallbackForAIInterrupt:
/* 803B782C 003B478C 7C 08 02 A6 */ mflr r0
/* 803B7830 003B4790 90 01 00 04 */ stw r0, 4(r1)
/* 803B7834 003B4794 94 21 FF F8 */ stwu r1, -8(r1)
/* 803B7838 003B4798 80 0D AF F4 */ lwz r0, __DTKInterruptFrequency@sda21(r13)
/* 803B783C 003B479C 7C 63 02 14 */ add r3, r3, r0
/* 803B7840 003B47A0 4B FB 58 71 */ bl AISetStreamTrigger
/* 803B7844 003B47A4 80 0D AF D8 */ lwz r0, __DTKCurrentTrack@sda21(r13)
/* 803B7848 003B47A8 28 00 00 00 */ cmplwi r0, 0
/* 803B784C 003B47AC 41 82 00 18 */ beq lbl_803B7864
/* 803B7850 003B47B0 3C 60 80 57 */ lis r3, __block_for_ais_isr@ha
/* 803B7854 003B47B4 3C 80 80 3B */ lis r4, __DTKCallbackForPlaylist@ha
/* 803B7858 003B47B8 38 63 99 98 */ addi r3, r3, __block_for_ais_isr@l
/* 803B785C 003B47BC 38 84 76 30 */ addi r4, r4, __DTKCallbackForPlaylist@l
/* 803B7860 003B47C0 4B FB C6 D5 */ bl DVDGetStreamPlayAddrAsync
lbl_803B7864:
/* 803B7864 003B47C4 80 01 00 0C */ lwz r0, 0xc(r1)
/* 803B7868 003B47C8 38 21 00 08 */ addi r1, r1, 8
/* 803B786C 003B47CC 7C 08 03 A6 */ mtlr r0
/* 803B7870 003B47D0 4E 80 00 20 */ blr
.global __DTKCallbackForFlush
__DTKCallbackForFlush:
/* 803B7874 003B47D4 7C 08 02 A6 */ mflr r0
/* 803B7878 003B47D8 38 60 00 00 */ li r3, 0
/* 803B787C 003B47DC 90 01 00 04 */ stw r0, 4(r1)
/* 803B7880 003B47E0 94 21 FF E8 */ stwu r1, -0x18(r1)
/* 803B7884 003B47E4 93 E1 00 14 */ stw r31, 0x14(r1)
/* 803B7888 003B47E8 4B FB 58 35 */ bl AISetStreamPlayState
/* 803B788C 003B47EC 83 ED AF DC */ lwz r31, __DTKPlayListHead@sda21(r13)
/* 803B7890 003B47F0 48 00 00 10 */ b lbl_803B78A0
lbl_803B7894:
/* 803B7894 003B47F4 38 7F 00 14 */ addi r3, r31, 0x14
/* 803B7898 003B47F8 4B FB 9E B5 */ bl DVDClose
/* 803B789C 003B47FC 83 FF 00 04 */ lwz r31, 4(r31)
lbl_803B78A0:
/* 803B78A0 003B4800 28 1F 00 00 */ cmplwi r31, 0
/* 803B78A4 003B4804 40 82 FF F0 */ bne lbl_803B7894
/* 803B78A8 003B4808 81 8D B0 04 */ lwz r12, __DTKFlushCallback@sda21(r13)
/* 803B78AC 003B480C 3B E0 00 00 */ li r31, 0
/* 803B78B0 003B4810 93 ED AF DC */ stw r31, __DTKPlayListHead@sda21(r13)
/* 803B78B4 003B4814 28 0C 00 00 */ cmplwi r12, 0
/* 803B78B8 003B4818 93 ED AF E0 */ stw r31, __DTKPlayListTail@sda21(r13)
/* 803B78BC 003B481C 93 ED AF D8 */ stw r31, __DTKCurrentTrack@sda21(r13)
/* 803B78C0 003B4820 93 ED AF E4 */ stw r31, __DTKState@sda21(r13)
/* 803B78C4 003B4824 41 82 00 10 */ beq lbl_803B78D4
/* 803B78C8 003B4828 7D 88 03 A6 */ mtlr r12
/* 803B78CC 003B482C 4E 80 00 21 */ blrl
/* 803B78D0 003B4830 93 ED B0 04 */ stw r31, __DTKFlushCallback@sda21(r13)
lbl_803B78D4:
/* 803B78D4 003B4834 38 00 00 00 */ li r0, 0
/* 803B78D8 003B4838 90 0D AF E4 */ stw r0, __DTKState@sda21(r13)
/* 803B78DC 003B483C 90 0D AF FC */ stw r0, __DTKShutdownFlag@sda21(r13)
/* 803B78E0 003B4840 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 803B78E4 003B4844 83 E1 00 14 */ lwz r31, 0x14(r1)
/* 803B78E8 003B4848 38 21 00 18 */ addi r1, r1, 0x18
/* 803B78EC 003B484C 7C 08 03 A6 */ mtlr r0
/* 803B78F0 003B4850 4E 80 00 20 */ blr
.global __DTKCallbackForStop
__DTKCallbackForStop:
/* 803B78F4 003B4854 7C 08 02 A6 */ mflr r0
/* 803B78F8 003B4858 90 01 00 04 */ stw r0, 4(r1)
/* 803B78FC 003B485C 94 21 FF F8 */ stwu r1, -8(r1)
/* 803B7900 003B4860 80 6D AF D8 */ lwz r3, __DTKCurrentTrack@sda21(r13)
/* 803B7904 003B4864 28 03 00 00 */ cmplwi r3, 0
/* 803B7908 003B4868 41 82 00 24 */ beq lbl_803B792C
/* 803B790C 003B486C 81 83 00 10 */ lwz r12, 0x10(r3)
/* 803B7910 003B4870 28 0C 00 00 */ cmplwi r12, 0
/* 803B7914 003B4874 41 82 00 18 */ beq lbl_803B792C
/* 803B7918 003B4878 80 03 00 0C */ lwz r0, 0xc(r3)
/* 803B791C 003B487C 54 03 07 BD */ rlwinm. r3, r0, 0, 0x1e, 0x1e
/* 803B7920 003B4880 41 82 00 0C */ beq lbl_803B792C
/* 803B7924 003B4884 7D 88 03 A6 */ mtlr r12
/* 803B7928 003B4888 4E 80 00 21 */ blrl
lbl_803B792C:
/* 803B792C 003B488C 38 00 00 00 */ li r0, 0
/* 803B7930 003B4890 90 0D AF E4 */ stw r0, __DTKState@sda21(r13)
/* 803B7934 003B4894 80 01 00 0C */ lwz r0, 0xc(r1)
/* 803B7938 003B4898 38 21 00 08 */ addi r1, r1, 8
/* 803B793C 003B489C 7C 08 03 A6 */ mtlr r0
/* 803B7940 003B48A0 4E 80 00 20 */ blr
.global __DTKCallbackForNextTrack
__DTKCallbackForNextTrack:
/* 803B7944 003B48A4 7C 08 02 A6 */ mflr r0
/* 803B7948 003B48A8 38 60 00 00 */ li r3, 0
/* 803B794C 003B48AC 90 01 00 04 */ stw r0, 4(r1)
/* 803B7950 003B48B0 94 21 FF F8 */ stwu r1, -8(r1)
/* 803B7954 003B48B4 4B FB 57 69 */ bl AISetStreamPlayState
/* 803B7958 003B48B8 4B FC 9D 09 */ bl OSDisableInterrupts
/* 803B795C 003B48BC 80 8D AF D8 */ lwz r4, __DTKCurrentTrack@sda21(r13)
/* 803B7960 003B48C0 28 04 00 00 */ cmplwi r4, 0
/* 803B7964 003B48C4 41 82 00 14 */ beq lbl_803B7978
/* 803B7968 003B48C8 80 04 00 04 */ lwz r0, 4(r4)
/* 803B796C 003B48CC 28 00 00 00 */ cmplwi r0, 0
/* 803B7970 003B48D0 41 82 00 08 */ beq lbl_803B7978
/* 803B7974 003B48D4 90 0D AF D8 */ stw r0, __DTKCurrentTrack@sda21(r13)
lbl_803B7978:
/* 803B7978 003B48D8 4B FC 9D 11 */ bl OSRestoreInterrupts
/* 803B797C 003B48DC 38 00 00 00 */ li r0, 0
/* 803B7980 003B48E0 90 0D AF E4 */ stw r0, __DTKState@sda21(r13)
/* 803B7984 003B48E4 80 6D AF E8 */ lwz r3, __DTKTempState@sda21(r13)
/* 803B7988 003B48E8 48 00 02 19 */ bl DTKSetState
/* 803B798C 003B48EC 80 01 00 0C */ lwz r0, 0xc(r1)
/* 803B7990 003B48F0 38 21 00 08 */ addi r1, r1, 8
/* 803B7994 003B48F4 7C 08 03 A6 */ mtlr r0
/* 803B7998 003B48F8 4E 80 00 20 */ blr
.global DTKInit
DTKInit:
/* 803B799C 003B48FC 7C 08 02 A6 */ mflr r0
/* 803B79A0 003B4900 3C 60 00 01 */ lis r3, 0x0000BB80@ha
/* 803B79A4 003B4904 90 01 00 04 */ stw r0, 4(r1)
/* 803B79A8 003B4908 38 83 BB 80 */ addi r4, r3, 0x0000BB80@l
/* 803B79AC 003B490C 38 A0 00 00 */ li r5, 0
/* 803B79B0 003B4910 94 21 FF F8 */ stwu r1, -8(r1)
/* 803B79B4 003B4914 38 00 00 FF */ li r0, 0xff
/* 803B79B8 003B4918 38 60 00 00 */ li r3, 0
/* 803B79BC 003B491C 90 AD AF E4 */ stw r5, __DTKState@sda21(r13)
/* 803B79C0 003B4920 90 AD AF EC */ stw r5, __DTKRepeatMode@sda21(r13)
/* 803B79C4 003B4924 90 AD AF F0 */ stw r5, __DTKPosition@sda21(r13)
/* 803B79C8 003B4928 90 8D AF F4 */ stw r4, __DTKInterruptFrequency@sda21(r13)
/* 803B79CC 003B492C 98 0D AF F8 */ stb r0, __DTKVolumeL@sda21(r13)
/* 803B79D0 003B4930 90 AD AF D8 */ stw r5, __DTKCurrentTrack@sda21(r13)
/* 803B79D4 003B4934 90 AD AF DC */ stw r5, __DTKPlayListHead@sda21(r13)
/* 803B79D8 003B4938 90 AD AF E0 */ stw r5, __DTKPlayListTail@sda21(r13)
/* 803B79DC 003B493C 98 0D AF F9 */ stb r0, __DTKVolumeR@sda21(r13)
/* 803B79E0 003B4940 4B FB 59 9D */ bl AISetStreamVolLeft
/* 803B79E4 003B4944 38 60 00 00 */ li r3, 0
/* 803B79E8 003B4948 4B FB 59 C1 */ bl AISetStreamVolRight
/* 803B79EC 003B494C 3C 60 80 3B */ lis r3, __DTKCallbackForAIInterrupt@ha
/* 803B79F0 003B4950 38 63 78 2C */ addi r3, r3, __DTKCallbackForAIInterrupt@l
/* 803B79F4 003B4954 4B FB 56 61 */ bl AIRegisterStreamCallback
/* 803B79F8 003B4958 4B FB 56 A1 */ bl AIResetStreamSampleCount
/* 803B79FC 003B495C 38 60 00 00 */ li r3, 0
/* 803B7A00 003B4960 4B FB 56 BD */ bl AISetStreamPlayState
/* 803B7A04 003B4964 80 01 00 0C */ lwz r0, 0xc(r1)
/* 803B7A08 003B4968 38 21 00 08 */ addi r1, r1, 8
/* 803B7A0C 003B496C 7C 08 03 A6 */ mtlr r0
/* 803B7A10 003B4970 4E 80 00 20 */ blr
.global DTKQueueTrack
DTKQueueTrack:
/* 803B7A14 003B4974 7C 08 02 A6 */ mflr r0
/* 803B7A18 003B4978 90 01 00 04 */ stw r0, 4(r1)
/* 803B7A1C 003B497C 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 803B7A20 003B4980 BF 61 00 1C */ stmw r27, 0x1c(r1)
/* 803B7A24 003B4984 3B 84 00 00 */ addi r28, r4, 0
/* 803B7A28 003B4988 3B 63 00 00 */ addi r27, r3, 0
/* 803B7A2C 003B498C 3B A5 00 00 */ addi r29, r5, 0
/* 803B7A30 003B4990 3B C6 00 00 */ addi r30, r6, 0
/* 803B7A34 003B4994 38 9C 00 14 */ addi r4, r28, 0x14
/* 803B7A38 003B4998 3B E0 00 00 */ li r31, 0
/* 803B7A3C 003B499C 4B FB 9C 49 */ bl DVDOpen
/* 803B7A40 003B49A0 2C 03 00 00 */ cmpwi r3, 0
/* 803B7A44 003B49A4 40 82 00 0C */ bne lbl_803B7A50
/* 803B7A48 003B49A8 38 60 00 01 */ li r3, 1
/* 803B7A4C 003B49AC 48 00 00 D0 */ b lbl_803B7B1C
lbl_803B7A50:
/* 803B7A50 003B49B0 4B FC 9C 11 */ bl OSDisableInterrupts
/* 803B7A54 003B49B4 93 7C 00 08 */ stw r27, 8(r28)
/* 803B7A58 003B49B8 93 BC 00 0C */ stw r29, 0xc(r28)
/* 803B7A5C 003B49BC 93 DC 00 10 */ stw r30, 0x10(r28)
/* 803B7A60 003B49C0 80 0D AF DC */ lwz r0, __DTKPlayListHead@sda21(r13)
/* 803B7A64 003B49C4 28 00 00 00 */ cmplwi r0, 0
/* 803B7A68 003B49C8 40 82 00 2C */ bne lbl_803B7A94
/* 803B7A6C 003B49CC 93 8D AF DC */ stw r28, __DTKPlayListHead@sda21(r13)
/* 803B7A70 003B49D0 38 00 00 00 */ li r0, 0
/* 803B7A74 003B49D4 93 8D AF E0 */ stw r28, __DTKPlayListTail@sda21(r13)
/* 803B7A78 003B49D8 90 1C 00 00 */ stw r0, 0(r28)
/* 803B7A7C 003B49DC 90 1C 00 04 */ stw r0, 4(r28)
/* 803B7A80 003B49E0 80 0D AF E4 */ lwz r0, __DTKState@sda21(r13)
/* 803B7A84 003B49E4 28 00 00 01 */ cmplwi r0, 1
/* 803B7A88 003B49E8 40 82 00 28 */ bne lbl_803B7AB0
/* 803B7A8C 003B49EC 3B E0 00 01 */ li r31, 1
/* 803B7A90 003B49F0 48 00 00 20 */ b lbl_803B7AB0
lbl_803B7A94:
/* 803B7A94 003B49F4 80 8D AF E0 */ lwz r4, __DTKPlayListTail@sda21(r13)
/* 803B7A98 003B49F8 38 00 00 00 */ li r0, 0
/* 803B7A9C 003B49FC 93 84 00 04 */ stw r28, 4(r4)
/* 803B7AA0 003B4A00 80 8D AF E0 */ lwz r4, __DTKPlayListTail@sda21(r13)
/* 803B7AA4 003B4A04 90 9C 00 00 */ stw r4, 0(r28)
/* 803B7AA8 003B4A08 93 8D AF E0 */ stw r28, __DTKPlayListTail@sda21(r13)
/* 803B7AAC 003B4A0C 90 1C 00 04 */ stw r0, 4(r28)
lbl_803B7AB0:
/* 803B7AB0 003B4A10 80 0D AF D8 */ lwz r0, __DTKCurrentTrack@sda21(r13)
/* 803B7AB4 003B4A14 28 00 00 00 */ cmplwi r0, 0
/* 803B7AB8 003B4A18 40 82 00 08 */ bne lbl_803B7AC0
/* 803B7ABC 003B4A1C 93 8D AF D8 */ stw r28, __DTKCurrentTrack@sda21(r13)
lbl_803B7AC0:
/* 803B7AC0 003B4A20 4B FC 9B C9 */ bl OSRestoreInterrupts
/* 803B7AC4 003B4A24 28 1C 00 00 */ cmplwi r28, 0
/* 803B7AC8 003B4A28 41 82 00 24 */ beq lbl_803B7AEC
/* 803B7ACC 003B4A2C 81 9C 00 10 */ lwz r12, 0x10(r28)
/* 803B7AD0 003B4A30 28 0C 00 00 */ cmplwi r12, 0
/* 803B7AD4 003B4A34 41 82 00 18 */ beq lbl_803B7AEC
/* 803B7AD8 003B4A38 80 1C 00 0C */ lwz r0, 0xc(r28)
/* 803B7ADC 003B4A3C 54 03 07 39 */ rlwinm. r3, r0, 0, 0x1c, 0x1c
/* 803B7AE0 003B4A40 41 82 00 0C */ beq lbl_803B7AEC
/* 803B7AE4 003B4A44 7D 88 03 A6 */ mtlr r12
/* 803B7AE8 003B4A48 4E 80 00 21 */ blrl
lbl_803B7AEC:
/* 803B7AEC 003B4A4C 28 1F 00 00 */ cmplwi r31, 0
/* 803B7AF0 003B4A50 41 82 00 28 */ beq lbl_803B7B18
/* 803B7AF4 003B4A54 38 00 00 03 */ li r0, 3
/* 803B7AF8 003B4A58 80 8D AF D8 */ lwz r4, __DTKCurrentTrack@sda21(r13)
/* 803B7AFC 003B4A5C 3C 60 80 3B */ lis r3, __DTKCallbackForRun@ha
/* 803B7B00 003B4A60 90 0D AF E4 */ stw r0, __DTKState@sda21(r13)
/* 803B7B04 003B4A64 38 C3 75 34 */ addi r6, r3, __DTKCallbackForRun@l
/* 803B7B08 003B4A68 38 64 00 14 */ addi r3, r4, 0x14
/* 803B7B0C 003B4A6C 38 80 00 00 */ li r4, 0
/* 803B7B10 003B4A70 38 A0 00 00 */ li r5, 0
/* 803B7B14 003B4A74 4B FB 9F 71 */ bl DVDPrepareStreamAsync
lbl_803B7B18:
/* 803B7B18 003B4A78 38 60 00 00 */ li r3, 0
lbl_803B7B1C:
/* 803B7B1C 003B4A7C BB 61 00 1C */ lmw r27, 0x1c(r1)
/* 803B7B20 003B4A80 80 01 00 34 */ lwz r0, 0x34(r1)
/* 803B7B24 003B4A84 38 21 00 30 */ addi r1, r1, 0x30
/* 803B7B28 003B4A88 7C 08 03 A6 */ mtlr r0
/* 803B7B2C 003B4A8C 4E 80 00 20 */ blr
.global DTKFlushTracks
DTKFlushTracks:
/* 803B7B30 003B4A90 7C 08 02 A6 */ mflr r0
/* 803B7B34 003B4A94 90 01 00 04 */ stw r0, 4(r1)
/* 803B7B38 003B4A98 94 21 FF F8 */ stwu r1, -8(r1)
/* 803B7B3C 003B4A9C 80 0D AF E4 */ lwz r0, __DTKState@sda21(r13)
/* 803B7B40 003B4AA0 28 00 00 03 */ cmplwi r0, 3
/* 803B7B44 003B4AA4 41 82 00 40 */ beq lbl_803B7B84
/* 803B7B48 003B4AA8 80 8D AF E4 */ lwz r4, __DTKState@sda21(r13)
/* 803B7B4C 003B4AAC 38 00 00 03 */ li r0, 3
/* 803B7B50 003B4AB0 90 6D B0 04 */ stw r3, __DTKFlushCallback@sda21(r13)
/* 803B7B54 003B4AB4 28 04 00 01 */ cmplwi r4, 1
/* 803B7B58 003B4AB8 90 0D AF E4 */ stw r0, __DTKState@sda21(r13)
/* 803B7B5C 003B4ABC 40 82 00 1C */ bne lbl_803B7B78
/* 803B7B60 003B4AC0 3C 60 80 57 */ lis r3, __block_for_flushtracks@ha
/* 803B7B64 003B4AC4 3C 80 80 3B */ lis r4, __DTKCallbackForFlush@ha
/* 803B7B68 003B4AC8 38 63 99 C8 */ addi r3, r3, __block_for_flushtracks@l
/* 803B7B6C 003B4ACC 38 84 78 74 */ addi r4, r4, __DTKCallbackForFlush@l
/* 803B7B70 003B4AD0 4B FB C0 C9 */ bl DVDCancelStreamAsync
/* 803B7B74 003B4AD4 48 00 00 10 */ b lbl_803B7B84
lbl_803B7B78:
/* 803B7B78 003B4AD8 38 60 00 00 */ li r3, 0
/* 803B7B7C 003B4ADC 38 80 00 00 */ li r4, 0
/* 803B7B80 003B4AE0 4B FF FC F5 */ bl __DTKCallbackForFlush
lbl_803B7B84:
/* 803B7B84 003B4AE4 80 01 00 0C */ lwz r0, 0xc(r1)
/* 803B7B88 003B4AE8 38 21 00 08 */ addi r1, r1, 8
/* 803B7B8C 003B4AEC 7C 08 03 A6 */ mtlr r0
/* 803B7B90 003B4AF0 4E 80 00 20 */ blr
.global DTKSetSampleRate
DTKSetSampleRate:
/* 803B7B94 003B4AF4 4E 80 00 20 */ blr
.global DTKSetRepeatMode
DTKSetRepeatMode:
/* 803B7B98 003B4AF8 90 6D AF EC */ stw r3, __DTKRepeatMode@sda21(r13)
/* 803B7B9C 003B4AFC 4E 80 00 20 */ blr
.global DTKSetState
DTKSetState:
/* 803B7BA0 003B4B00 7C 08 02 A6 */ mflr r0
/* 803B7BA4 003B4B04 90 01 00 04 */ stw r0, 4(r1)
/* 803B7BA8 003B4B08 94 21 FF F8 */ stwu r1, -8(r1)
/* 803B7BAC 003B4B0C 80 0D AF E4 */ lwz r0, __DTKState@sda21(r13)
/* 803B7BB0 003B4B10 7C 00 18 40 */ cmplw r0, r3
/* 803B7BB4 003B4B14 41 82 01 BC */ beq lbl_803B7D70
/* 803B7BB8 003B4B18 80 0D AF E4 */ lwz r0, __DTKState@sda21(r13)
/* 803B7BBC 003B4B1C 28 00 00 03 */ cmplwi r0, 3
/* 803B7BC0 003B4B20 40 82 00 08 */ bne lbl_803B7BC8
/* 803B7BC4 003B4B24 48 00 01 AC */ b lbl_803B7D70
lbl_803B7BC8:
/* 803B7BC8 003B4B28 2C 03 00 02 */ cmpwi r3, 2
/* 803B7BCC 003B4B2C 41 82 01 5C */ beq lbl_803B7D28
/* 803B7BD0 003B4B30 40 80 00 14 */ bge lbl_803B7BE4
/* 803B7BD4 003B4B34 2C 03 00 00 */ cmpwi r3, 0
/* 803B7BD8 003B4B38 41 82 00 18 */ beq lbl_803B7BF0
/* 803B7BDC 003B4B3C 40 80 00 58 */ bge lbl_803B7C34
/* 803B7BE0 003B4B40 48 00 01 90 */ b lbl_803B7D70
lbl_803B7BE4:
/* 803B7BE4 003B4B44 2C 03 00 04 */ cmpwi r3, 4
/* 803B7BE8 003B4B48 41 82 00 FC */ beq lbl_803B7CE4
/* 803B7BEC 003B4B4C 48 00 01 84 */ b lbl_803B7D70
lbl_803B7BF0:
/* 803B7BF0 003B4B50 80 0D AF D8 */ lwz r0, __DTKCurrentTrack@sda21(r13)
/* 803B7BF4 003B4B54 28 00 00 00 */ cmplwi r0, 0
/* 803B7BF8 003B4B58 41 82 01 78 */ beq lbl_803B7D70
/* 803B7BFC 003B4B5C 38 00 00 03 */ li r0, 3
/* 803B7C00 003B4B60 90 0D AF E4 */ stw r0, __DTKState@sda21(r13)
/* 803B7C04 003B4B64 38 60 00 00 */ li r3, 0
/* 803B7C08 003B4B68 4B FB 57 75 */ bl AISetStreamVolLeft
/* 803B7C0C 003B4B6C 38 60 00 00 */ li r3, 0
/* 803B7C10 003B4B70 4B FB 57 99 */ bl AISetStreamVolRight
/* 803B7C14 003B4B74 38 60 00 00 */ li r3, 0
/* 803B7C18 003B4B78 4B FB 54 A5 */ bl AISetStreamPlayState
/* 803B7C1C 003B4B7C 3C 60 80 57 */ lis r3, __block_for_set_state@ha
/* 803B7C20 003B4B80 3C 80 80 3B */ lis r4, __DTKCallbackForStop@ha
/* 803B7C24 003B4B84 38 63 99 F8 */ addi r3, r3, __block_for_set_state@l
/* 803B7C28 003B4B88 38 84 78 F4 */ addi r4, r4, __DTKCallbackForStop@l
/* 803B7C2C 003B4B8C 4B FB C0 0D */ bl DVDCancelStreamAsync
/* 803B7C30 003B4B90 48 00 01 40 */ b lbl_803B7D70
lbl_803B7C34:
/* 803B7C34 003B4B94 80 0D AF E4 */ lwz r0, __DTKState@sda21(r13)
/* 803B7C38 003B4B98 28 00 00 02 */ cmplwi r0, 2
/* 803B7C3C 003B4B9C 40 82 00 64 */ bne lbl_803B7CA0
/* 803B7C40 003B4BA0 88 6D AF F8 */ lbz r3, __DTKVolumeL@sda21(r13)
/* 803B7C44 003B4BA4 4B FB 57 39 */ bl AISetStreamVolLeft
/* 803B7C48 003B4BA8 88 6D AF F9 */ lbz r3, __DTKVolumeR@sda21(r13)
/* 803B7C4C 003B4BAC 4B FB 57 5D */ bl AISetStreamVolRight
/* 803B7C50 003B4BB0 4B FB 54 49 */ bl AIResetStreamSampleCount
/* 803B7C54 003B4BB4 80 6D AF F4 */ lwz r3, __DTKInterruptFrequency@sda21(r13)
/* 803B7C58 003B4BB8 4B FB 54 59 */ bl AISetStreamTrigger
/* 803B7C5C 003B4BBC 38 60 00 01 */ li r3, 1
/* 803B7C60 003B4BC0 4B FB 54 5D */ bl AISetStreamPlayState
/* 803B7C64 003B4BC4 80 6D AF D8 */ lwz r3, __DTKCurrentTrack@sda21(r13)
/* 803B7C68 003B4BC8 38 00 00 01 */ li r0, 1
/* 803B7C6C 003B4BCC 90 0D AF E4 */ stw r0, __DTKState@sda21(r13)
/* 803B7C70 003B4BD0 28 03 00 00 */ cmplwi r3, 0
/* 803B7C74 003B4BD4 41 82 00 64 */ beq lbl_803B7CD8
/* 803B7C78 003B4BD8 41 82 00 60 */ beq lbl_803B7CD8
/* 803B7C7C 003B4BDC 81 83 00 10 */ lwz r12, 0x10(r3)
/* 803B7C80 003B4BE0 28 0C 00 00 */ cmplwi r12, 0
/* 803B7C84 003B4BE4 41 82 00 54 */ beq lbl_803B7CD8
/* 803B7C88 003B4BE8 80 03 00 0C */ lwz r0, 0xc(r3)
/* 803B7C8C 003B4BEC 54 03 07 FF */ clrlwi. r3, r0, 0x1f
/* 803B7C90 003B4BF0 41 82 00 48 */ beq lbl_803B7CD8
/* 803B7C94 003B4BF4 7D 88 03 A6 */ mtlr r12
/* 803B7C98 003B4BF8 4E 80 00 21 */ blrl
/* 803B7C9C 003B4BFC 48 00 00 3C */ b lbl_803B7CD8
lbl_803B7CA0:
/* 803B7CA0 003B4C00 80 8D AF D8 */ lwz r4, __DTKCurrentTrack@sda21(r13)
/* 803B7CA4 003B4C04 28 04 00 00 */ cmplwi r4, 0
/* 803B7CA8 003B4C08 41 82 00 28 */ beq lbl_803B7CD0
/* 803B7CAC 003B4C0C 38 00 00 03 */ li r0, 3
/* 803B7CB0 003B4C10 3C 60 80 3B */ lis r3, __DTKCallbackForRun@ha
/* 803B7CB4 003B4C14 90 0D AF E4 */ stw r0, __DTKState@sda21(r13)
/* 803B7CB8 003B4C18 38 C3 75 34 */ addi r6, r3, __DTKCallbackForRun@l
/* 803B7CBC 003B4C1C 38 64 00 14 */ addi r3, r4, 0x14
/* 803B7CC0 003B4C20 38 80 00 00 */ li r4, 0
/* 803B7CC4 003B4C24 38 A0 00 00 */ li r5, 0
/* 803B7CC8 003B4C28 4B FB 9D BD */ bl DVDPrepareStreamAsync
/* 803B7CCC 003B4C2C 48 00 00 0C */ b lbl_803B7CD8
lbl_803B7CD0:
/* 803B7CD0 003B4C30 38 00 00 01 */ li r0, 1
/* 803B7CD4 003B4C34 90 0D AF E4 */ stw r0, __DTKState@sda21(r13)
lbl_803B7CD8:
/* 803B7CD8 003B4C38 38 00 00 00 */ li r0, 0
/* 803B7CDC 003B4C3C 90 0D B0 00 */ stw r0, __DTKTrackEnded@sda21(r13)
/* 803B7CE0 003B4C40 48 00 00 90 */ b lbl_803B7D70
lbl_803B7CE4:
/* 803B7CE4 003B4C44 80 0D AF E4 */ lwz r0, __DTKState@sda21(r13)
/* 803B7CE8 003B4C48 28 00 00 00 */ cmplwi r0, 0
/* 803B7CEC 003B4C4C 40 82 00 84 */ bne lbl_803B7D70
/* 803B7CF0 003B4C50 80 8D AF D8 */ lwz r4, __DTKCurrentTrack@sda21(r13)
/* 803B7CF4 003B4C54 28 04 00 00 */ cmplwi r4, 0
/* 803B7CF8 003B4C58 41 82 00 24 */ beq lbl_803B7D1C
/* 803B7CFC 003B4C5C 38 00 00 03 */ li r0, 3
/* 803B7D00 003B4C60 3C 60 80 3B */ lis r3, __DTKCallbackForPreparePaused@ha
/* 803B7D04 003B4C64 90 0D AF E4 */ stw r0, __DTKState@sda21(r13)
/* 803B7D08 003B4C68 38 C3 75 B8 */ addi r6, r3, __DTKCallbackForPreparePaused@l
/* 803B7D0C 003B4C6C 38 64 00 14 */ addi r3, r4, 0x14
/* 803B7D10 003B4C70 38 80 00 00 */ li r4, 0
/* 803B7D14 003B4C74 38 A0 00 00 */ li r5, 0
/* 803B7D18 003B4C78 4B FB 9D 6D */ bl DVDPrepareStreamAsync
lbl_803B7D1C:
/* 803B7D1C 003B4C7C 38 00 00 00 */ li r0, 0
/* 803B7D20 003B4C80 90 0D B0 00 */ stw r0, __DTKTrackEnded@sda21(r13)
/* 803B7D24 003B4C84 48 00 00 4C */ b lbl_803B7D70
lbl_803B7D28:
/* 803B7D28 003B4C88 38 60 00 00 */ li r3, 0
/* 803B7D2C 003B4C8C 4B FB 53 91 */ bl AISetStreamPlayState
/* 803B7D30 003B4C90 80 0D AF E4 */ lwz r0, __DTKState@sda21(r13)
/* 803B7D34 003B4C94 28 00 00 01 */ cmplwi r0, 1
/* 803B7D38 003B4C98 40 82 00 0C */ bne lbl_803B7D44
/* 803B7D3C 003B4C9C 38 00 00 02 */ li r0, 2
/* 803B7D40 003B4CA0 90 0D AF E4 */ stw r0, __DTKState@sda21(r13)
lbl_803B7D44:
/* 803B7D44 003B4CA4 80 6D AF D8 */ lwz r3, __DTKCurrentTrack@sda21(r13)
/* 803B7D48 003B4CA8 28 03 00 00 */ cmplwi r3, 0
/* 803B7D4C 003B4CAC 41 82 00 24 */ beq lbl_803B7D70
/* 803B7D50 003B4CB0 81 83 00 10 */ lwz r12, 0x10(r3)
/* 803B7D54 003B4CB4 28 0C 00 00 */ cmplwi r12, 0
/* 803B7D58 003B4CB8 41 82 00 18 */ beq lbl_803B7D70
/* 803B7D5C 003B4CBC 80 03 00 0C */ lwz r0, 0xc(r3)
/* 803B7D60 003B4CC0 54 03 07 7B */ rlwinm. r3, r0, 0, 0x1d, 0x1d
/* 803B7D64 003B4CC4 41 82 00 0C */ beq lbl_803B7D70
/* 803B7D68 003B4CC8 7D 88 03 A6 */ mtlr r12
/* 803B7D6C 003B4CCC 4E 80 00 21 */ blrl
lbl_803B7D70:
/* 803B7D70 003B4CD0 80 01 00 0C */ lwz r0, 0xc(r1)
/* 803B7D74 003B4CD4 38 21 00 08 */ addi r1, r1, 8
/* 803B7D78 003B4CD8 7C 08 03 A6 */ mtlr r0
/* 803B7D7C 003B4CDC 4E 80 00 20 */ blr
.global DTKNextTrack
DTKNextTrack:
/* 803B7D80 003B4CE0 7C 08 02 A6 */ mflr r0
/* 803B7D84 003B4CE4 90 01 00 04 */ stw r0, 4(r1)
/* 803B7D88 003B4CE8 94 21 FF F8 */ stwu r1, -8(r1)
/* 803B7D8C 003B4CEC 80 0D AF E4 */ lwz r0, __DTKState@sda21(r13)
/* 803B7D90 003B4CF0 28 00 00 03 */ cmplwi r0, 3
/* 803B7D94 003B4CF4 41 82 00 80 */ beq lbl_803B7E14
/* 803B7D98 003B4CF8 80 0D AF D8 */ lwz r0, __DTKCurrentTrack@sda21(r13)
/* 803B7D9C 003B4CFC 28 00 00 00 */ cmplwi r0, 0
/* 803B7DA0 003B4D00 41 82 00 74 */ beq lbl_803B7E14
/* 803B7DA4 003B4D04 80 6D AF E4 */ lwz r3, __DTKState@sda21(r13)
/* 803B7DA8 003B4D08 38 00 00 03 */ li r0, 3
/* 803B7DAC 003B4D0C 90 6D AF E8 */ stw r3, __DTKTempState@sda21(r13)
/* 803B7DB0 003B4D10 90 0D AF E4 */ stw r0, __DTKState@sda21(r13)
/* 803B7DB4 003B4D14 80 0D AF E8 */ lwz r0, __DTKTempState@sda21(r13)
/* 803B7DB8 003B4D18 28 00 00 01 */ cmplwi r0, 1
/* 803B7DBC 003B4D1C 40 82 00 2C */ bne lbl_803B7DE8
/* 803B7DC0 003B4D20 38 60 00 00 */ li r3, 0
/* 803B7DC4 003B4D24 4B FB 55 B9 */ bl AISetStreamVolLeft
/* 803B7DC8 003B4D28 38 60 00 00 */ li r3, 0
/* 803B7DCC 003B4D2C 4B FB 55 DD */ bl AISetStreamVolRight
/* 803B7DD0 003B4D30 3C 60 80 57 */ lis r3, __block_for_next_track@ha
/* 803B7DD4 003B4D34 3C 80 80 3B */ lis r4, __DTKCallbackForNextTrack@ha
/* 803B7DD8 003B4D38 38 63 9A 28 */ addi r3, r3, __block_for_next_track@l
/* 803B7DDC 003B4D3C 38 84 79 44 */ addi r4, r4, __DTKCallbackForNextTrack@l
/* 803B7DE0 003B4D40 4B FB BE 59 */ bl DVDCancelStreamAsync
/* 803B7DE4 003B4D44 48 00 00 30 */ b lbl_803B7E14
lbl_803B7DE8:
/* 803B7DE8 003B4D48 4B FC 98 79 */ bl OSDisableInterrupts
/* 803B7DEC 003B4D4C 80 8D AF D8 */ lwz r4, __DTKCurrentTrack@sda21(r13)
/* 803B7DF0 003B4D50 28 04 00 00 */ cmplwi r4, 0
/* 803B7DF4 003B4D54 41 82 00 14 */ beq lbl_803B7E08
/* 803B7DF8 003B4D58 80 04 00 04 */ lwz r0, 4(r4)
/* 803B7DFC 003B4D5C 28 00 00 00 */ cmplwi r0, 0
/* 803B7E00 003B4D60 41 82 00 08 */ beq lbl_803B7E08
/* 803B7E04 003B4D64 90 0D AF D8 */ stw r0, __DTKCurrentTrack@sda21(r13)
lbl_803B7E08:
/* 803B7E08 003B4D68 4B FC 98 81 */ bl OSRestoreInterrupts
/* 803B7E0C 003B4D6C 80 0D AF E8 */ lwz r0, __DTKTempState@sda21(r13)
/* 803B7E10 003B4D70 90 0D AF E4 */ stw r0, __DTKState@sda21(r13)
lbl_803B7E14:
/* 803B7E14 003B4D74 80 01 00 0C */ lwz r0, 0xc(r1)
/* 803B7E18 003B4D78 38 21 00 08 */ addi r1, r1, 8
/* 803B7E1C 003B4D7C 7C 08 03 A6 */ mtlr r0
/* 803B7E20 003B4D80 4E 80 00 20 */ blr
.global DTKGetState
DTKGetState:
/* 803B7E24 003B4D84 80 6D AF E4 */ lwz r3, __DTKState@sda21(r13)
/* 803B7E28 003B4D88 4E 80 00 20 */ blr
.global DTKSetVolume
DTKSetVolume:
/* 803B7E2C 003B4D8C 7C 08 02 A6 */ mflr r0
/* 803B7E30 003B4D90 90 01 00 04 */ stw r0, 4(r1)
/* 803B7E34 003B4D94 94 21 FF E8 */ stwu r1, -0x18(r1)
/* 803B7E38 003B4D98 93 E1 00 14 */ stw r31, 0x14(r1)
/* 803B7E3C 003B4D9C 7C 9F 23 78 */ mr r31, r4
/* 803B7E40 003B4DA0 98 6D AF F8 */ stb r3, __DTKVolumeL@sda21(r13)
/* 803B7E44 003B4DA4 9B ED AF F9 */ stb r31, __DTKVolumeR@sda21(r13)
/* 803B7E48 003B4DA8 80 0D AF E4 */ lwz r0, __DTKState@sda21(r13)
/* 803B7E4C 003B4DAC 28 00 00 01 */ cmplwi r0, 1
/* 803B7E50 003B4DB0 40 82 00 10 */ bne lbl_803B7E60
/* 803B7E54 003B4DB4 4B FB 55 29 */ bl AISetStreamVolLeft
/* 803B7E58 003B4DB8 7F E3 FB 78 */ mr r3, r31
/* 803B7E5C 003B4DBC 4B FB 55 4D */ bl AISetStreamVolRight
lbl_803B7E60:
/* 803B7E60 003B4DC0 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 803B7E64 003B4DC4 83 E1 00 14 */ lwz r31, 0x14(r1)
/* 803B7E68 003B4DC8 38 21 00 18 */ addi r1, r1, 0x18
/* 803B7E6C 003B4DCC 7C 08 03 A6 */ mtlr r0
/* 803B7E70 003B4DD0 4E 80 00 20 */ blr

File diff suppressed because it is too large Load Diff

View File

@ -1,150 +0,0 @@
.include "macros.inc"
.section .data
.balign 8
.global lbl_803F0100
lbl_803F0100:
# ROM: 0x3ED100
.4byte 0
.4byte 0x00023A00
.4byte 0x00062800
.4byte 0x00030200
.4byte 0x00031100
.4byte 0x00052000
.4byte 0x00052001
.4byte 0x00052100
.4byte 0x00052400
.4byte 0x00052401
.4byte 0x00052402
.4byte 0x000B5A01
.4byte 0x00056300
.4byte 0x00020401
.4byte 0x00020400
.4byte 0x00040800
.4byte 0x00100007
.4byte 0
.section .text, "ax"
.global ErrorCode2Num
ErrorCode2Num:
/* 80374AB0 00371A10 38 00 00 02 */ li r0, 2
/* 80374AB4 00371A14 3C 80 80 3F */ lis r4, lbl_803F0100@ha
/* 80374AB8 00371A18 7C 09 03 A6 */ mtctr r0
/* 80374ABC 00371A1C 38 84 01 00 */ addi r4, r4, lbl_803F0100@l
/* 80374AC0 00371A20 38 A0 00 00 */ li r5, 0
lbl_80374AC4:
/* 80374AC4 00371A24 80 04 00 00 */ lwz r0, 0(r4)
/* 80374AC8 00371A28 7C 03 00 40 */ cmplw r3, r0
/* 80374ACC 00371A2C 40 82 00 0C */ bne lbl_80374AD8
/* 80374AD0 00371A30 54 A3 06 3E */ clrlwi r3, r5, 0x18
/* 80374AD4 00371A34 4E 80 00 20 */ blr
lbl_80374AD8:
/* 80374AD8 00371A38 84 04 00 04 */ lwzu r0, 4(r4)
/* 80374ADC 00371A3C 38 A5 00 01 */ addi r5, r5, 1
/* 80374AE0 00371A40 7C 03 00 40 */ cmplw r3, r0
/* 80374AE4 00371A44 40 82 00 0C */ bne lbl_80374AF0
/* 80374AE8 00371A48 54 A3 06 3E */ clrlwi r3, r5, 0x18
/* 80374AEC 00371A4C 4E 80 00 20 */ blr
lbl_80374AF0:
/* 80374AF0 00371A50 84 04 00 04 */ lwzu r0, 4(r4)
/* 80374AF4 00371A54 38 A5 00 01 */ addi r5, r5, 1
/* 80374AF8 00371A58 7C 03 00 40 */ cmplw r3, r0
/* 80374AFC 00371A5C 40 82 00 0C */ bne lbl_80374B08
/* 80374B00 00371A60 54 A3 06 3E */ clrlwi r3, r5, 0x18
/* 80374B04 00371A64 4E 80 00 20 */ blr
lbl_80374B08:
/* 80374B08 00371A68 84 04 00 04 */ lwzu r0, 4(r4)
/* 80374B0C 00371A6C 38 A5 00 01 */ addi r5, r5, 1
/* 80374B10 00371A70 7C 03 00 40 */ cmplw r3, r0
/* 80374B14 00371A74 40 82 00 0C */ bne lbl_80374B20
/* 80374B18 00371A78 54 A3 06 3E */ clrlwi r3, r5, 0x18
/* 80374B1C 00371A7C 4E 80 00 20 */ blr
lbl_80374B20:
/* 80374B20 00371A80 84 04 00 04 */ lwzu r0, 4(r4)
/* 80374B24 00371A84 38 A5 00 01 */ addi r5, r5, 1
/* 80374B28 00371A88 7C 03 00 40 */ cmplw r3, r0
/* 80374B2C 00371A8C 40 82 00 0C */ bne lbl_80374B38
/* 80374B30 00371A90 54 A3 06 3E */ clrlwi r3, r5, 0x18
/* 80374B34 00371A94 4E 80 00 20 */ blr
lbl_80374B38:
/* 80374B38 00371A98 84 04 00 04 */ lwzu r0, 4(r4)
/* 80374B3C 00371A9C 38 A5 00 01 */ addi r5, r5, 1
/* 80374B40 00371AA0 7C 03 00 40 */ cmplw r3, r0
/* 80374B44 00371AA4 40 82 00 0C */ bne lbl_80374B50
/* 80374B48 00371AA8 54 A3 06 3E */ clrlwi r3, r5, 0x18
/* 80374B4C 00371AAC 4E 80 00 20 */ blr
lbl_80374B50:
/* 80374B50 00371AB0 84 04 00 04 */ lwzu r0, 4(r4)
/* 80374B54 00371AB4 38 A5 00 01 */ addi r5, r5, 1
/* 80374B58 00371AB8 7C 03 00 40 */ cmplw r3, r0
/* 80374B5C 00371ABC 40 82 00 0C */ bne lbl_80374B68
/* 80374B60 00371AC0 54 A3 06 3E */ clrlwi r3, r5, 0x18
/* 80374B64 00371AC4 4E 80 00 20 */ blr
lbl_80374B68:
/* 80374B68 00371AC8 84 04 00 04 */ lwzu r0, 4(r4)
/* 80374B6C 00371ACC 38 A5 00 01 */ addi r5, r5, 1
/* 80374B70 00371AD0 7C 03 00 40 */ cmplw r3, r0
/* 80374B74 00371AD4 40 82 00 0C */ bne lbl_80374B80
/* 80374B78 00371AD8 54 A3 06 3E */ clrlwi r3, r5, 0x18
/* 80374B7C 00371ADC 4E 80 00 20 */ blr
lbl_80374B80:
/* 80374B80 00371AE0 84 04 00 04 */ lwzu r0, 4(r4)
/* 80374B84 00371AE4 38 A5 00 01 */ addi r5, r5, 1
/* 80374B88 00371AE8 7C 03 00 40 */ cmplw r3, r0
/* 80374B8C 00371AEC 40 82 00 0C */ bne lbl_80374B98
/* 80374B90 00371AF0 54 A3 06 3E */ clrlwi r3, r5, 0x18
/* 80374B94 00371AF4 4E 80 00 20 */ blr
lbl_80374B98:
/* 80374B98 00371AF8 38 84 00 04 */ addi r4, r4, 4
/* 80374B9C 00371AFC 38 A5 00 01 */ addi r5, r5, 1
/* 80374BA0 00371B00 42 00 FF 24 */ bdnz lbl_80374AC4
/* 80374BA4 00371B04 3C 80 00 10 */ lis r4, 0x10
/* 80374BA8 00371B08 7C 03 20 40 */ cmplw r3, r4
/* 80374BAC 00371B0C 41 80 00 18 */ blt lbl_80374BC4
/* 80374BB0 00371B10 38 04 00 08 */ addi r0, r4, 8
/* 80374BB4 00371B14 7C 03 00 40 */ cmplw r3, r0
/* 80374BB8 00371B18 41 81 00 0C */ bgt lbl_80374BC4
/* 80374BBC 00371B1C 38 60 00 11 */ li r3, 0x11
/* 80374BC0 00371B20 4E 80 00 20 */ blr
lbl_80374BC4:
/* 80374BC4 00371B24 38 60 00 1D */ li r3, 0x1d
/* 80374BC8 00371B28 4E 80 00 20 */ blr
.global __DVDStoreErrorCode
__DVDStoreErrorCode:
/* 80374BCC 00371B2C 7C 08 02 A6 */ mflr r0
/* 80374BD0 00371B30 90 01 00 04 */ stw r0, 4(r1)
/* 80374BD4 00371B34 3C 03 FE DD */ addis r0, r3, 0xfedd
/* 80374BD8 00371B38 28 00 45 67 */ cmplwi r0, 0x4567
/* 80374BDC 00371B3C 94 21 FF E8 */ stwu r1, -0x18(r1)
/* 80374BE0 00371B40 93 E1 00 14 */ stw r31, 0x14(r1)
/* 80374BE4 00371B44 40 82 00 0C */ bne lbl_80374BF0
/* 80374BE8 00371B48 3B E0 00 FF */ li r31, 0xff
/* 80374BEC 00371B4C 48 00 00 38 */ b lbl_80374C24
lbl_80374BF0:
/* 80374BF0 00371B50 28 00 45 68 */ cmplwi r0, 0x4568
/* 80374BF4 00371B54 40 82 00 0C */ bne lbl_80374C00
/* 80374BF8 00371B58 3B E0 00 FE */ li r31, 0xfe
/* 80374BFC 00371B5C 48 00 00 28 */ b lbl_80374C24
lbl_80374C00:
/* 80374C00 00371B60 54 7F 46 3E */ srwi r31, r3, 0x18
/* 80374C04 00371B64 54 63 02 3E */ clrlwi r3, r3, 8
/* 80374C08 00371B68 4B FF FE A9 */ bl ErrorCode2Num
/* 80374C0C 00371B6C 28 1F 00 06 */ cmplwi r31, 6
/* 80374C10 00371B70 41 80 00 08 */ blt lbl_80374C18
/* 80374C14 00371B74 3B E0 00 06 */ li r31, 6
lbl_80374C18:
/* 80374C18 00371B78 1C 1F 00 1E */ mulli r0, r31, 0x1e
/* 80374C1C 00371B7C 54 63 06 3E */ clrlwi r3, r3, 0x18
/* 80374C20 00371B80 7F E3 02 14 */ add r31, r3, r0
lbl_80374C24:
/* 80374C24 00371B84 48 00 EF 0D */ bl __OSLockSramEx
/* 80374C28 00371B88 9B E3 00 24 */ stb r31, 0x24(r3)
/* 80374C2C 00371B8C 38 60 00 01 */ li r3, 1
/* 80374C30 00371B90 48 00 F2 89 */ bl __OSUnlockSramEx
/* 80374C34 00371B94 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 80374C38 00371B98 83 E1 00 14 */ lwz r31, 0x14(r1)
/* 80374C3C 00371B9C 38 21 00 18 */ addi r1, r1, 0x18
/* 80374C40 00371BA0 7C 08 03 A6 */ mtlr r0
/* 80374C44 00371BA4 4E 80 00 20 */ blr

View File

@ -1,301 +0,0 @@
.include "macros.inc"
.section .data
.balign 8
.if version < 2
.global lbl_803F0148
lbl_803F0148:
# ROM: 0x3ED148
.4byte 0x0A0A0A83
.4byte 0x47838981
.4byte 0x5B82AA94
.4byte 0xAD90B682
.4byte 0xB582DC82
.4byte 0xB582BD81
.4byte 0x420A0A96
.4byte 0x7B91CC82
.4byte 0xCC837083
.4byte 0x8F815B83
.4byte 0x7B835E83
.4byte 0x9382F089
.4byte 0x9F82B582
.4byte 0xC493648C
.4byte 0xB982F04F
.4byte 0x464682C9
.4byte 0x82B58141
.4byte 0x0A967B91
.4byte 0xCC82CC8E
.4byte 0xE688B590
.4byte 0xE096BE8F
.4byte 0x9182CC8E
.4byte 0x778EA682
.4byte 0xC98F5D82
.4byte 0xC182C482
.4byte 0xAD82BE82
.4byte 0xB382A281
.4byte 0x42000000
.global lbl_803F01B8
lbl_803F01B8:
# ROM: 0x3ED1B8
.asciz "\n\n\nAn error has occurred.\nTurn the power off and refer to the\nNintendo GameCube Instruction Booklet\nfor further instructions."
.balign 4
.global lbl_803F0238
lbl_803F0238:
# ROM: 0x3ED238
.4byte 0x0A0A0A41
.4byte 0x6E206572
.4byte 0x726F7220
.4byte 0x68617320
.4byte 0x6F636375
.4byte 0x72726564
.4byte 0x2E0A5475
.4byte 0x726E2074
.4byte 0x68652070
.4byte 0x6F776572
.4byte 0x206F6666
.4byte 0x20616E64
.4byte 0x20726566
.4byte 0x65722074
.4byte 0x6F207468
.4byte 0x650A4E69
.4byte 0x6E74656E
.4byte 0x646F2047
.4byte 0x616D6543
.4byte 0x75626599
.asciz " Instruction Booklet\nfor further instructions."
.balign 4
.global lbl_803F02B8
lbl_803F02B8:
# ROM: 0x3ED2B8
.asciz "\n\n\nEin Fehler ist aufgetreten.\nBitte schalten Sie den NINTENDO GAMECUBE\naus und lesen Sie die Bedienungsanleitung,\num weitere Informationen zu erhalten."
.balign 4
.global lbl_803F0354
lbl_803F0354:
# ROM: 0x3ED354
.4byte 0x0A0A0A55
.4byte 0x6E652065
.4byte 0x72726575
.4byte 0x72206573
.4byte 0x74207375
.4byte 0x7276656E
.4byte 0x75652E0A
.4byte 0x45746569
.4byte 0x676E657A
.4byte 0x206C6120
.4byte 0x636F6E73
.4byte 0x6F6C6520
.4byte 0x65742072
.4byte 0xE966E972
.asciz "ez-vous au\nmanuel d'instructions NINTENDO GAMECUBE\npour de plus amples informations."
.balign 4
.global lbl_803F03E4
lbl_803F03E4:
# ROM: 0x3ED3E4
.4byte 0x0A0A0A53
.4byte 0x65206861
.4byte 0x2070726F
.4byte 0x64756369
.4byte 0x646F2075
.4byte 0x6E206572
.4byte 0x726F722E
.4byte 0x0A417061
.4byte 0x6761206C
.4byte 0x6120636F
.4byte 0x6E736F6C
.4byte 0x61207920
.4byte 0x636F6E73
.4byte 0x756C7461
.4byte 0x20656C20
.4byte 0x6D616E75
.4byte 0x616C0A64
.4byte 0x6520696E
.4byte 0x73747275
.4byte 0x6363696F
.4byte 0x6E657320
.4byte 0x6465204E
.4byte 0x494E5445
.4byte 0x4E444F20
.4byte 0x47414D45
.4byte 0x43554245
.4byte 0x0A706172
.4byte 0x61206F62
.4byte 0x74656E65
.4byte 0x72206DE1
.4byte 0x7320696E
.4byte 0x666F726D
.4byte 0x616369F3
.4byte 0x6E2E0000
.global lbl_803F046C
lbl_803F046C:
# ROM: 0x3ED46C
.4byte 0x0A0A0A53
.4byte 0x6920E820
.asciz "verificato un errore.\nSpegni (OFF) e controlla il manuale\nd'istruzioni del NINTENDO GAMECUBE\nper ulteriori indicazioni."
.global lbl_803F04EC
lbl_803F04EC:
# ROM: 0x3ED4EC
.asciz "\n\n\nEr is een fout opgetreden.\nZet de NINTENDO GAMECUBE uit en\nraadpleeg de handleiding van de\nNintendo GameCube voor nadere\ninstructies."
.balign 4
.endif
.if version < 2
.section .sdata
.balign 8
.global lbl_805A8AB0
lbl_805A8AB0:
# ROM: 0x3F6450
.4byte lbl_803F0148
.global lbl_805A8AB4
lbl_805A8AB4:
# ROM: 0x3F6454
.4byte lbl_803F01B8
.section .sdata2
.balign 8
.global lbl_805AEB20
lbl_805AEB20:
# ROM: 0x3FB3C0
.4byte 0
.global lbl_805AEB24
lbl_805AEB24:
# ROM: 0x3FB3C4
.4byte 0xFFFFFF00
.section .rodata
.balign 8
lbl_803D8570:
# ROM: 0x3D5570
.4byte lbl_803F0238
.4byte lbl_803F02B8
.4byte lbl_803F0354
.4byte lbl_803F03E4
.4byte lbl_803F046C
.4byte lbl_803F04EC
.endif
.section .sbss
.balign 8
.global lbl_805A9820
lbl_805A9820:
.skip 0x8
.section .text, "ax"
.if version < 2
.global ShowMessage
ShowMessage:
/* 80374D40 00371CA0 7C 08 02 A6 */ mflr r0
/* 80374D44 00371CA4 90 01 00 04 */ stw r0, 4(r1)
/* 80374D48 00371CA8 94 21 FF E8 */ stwu r1, -0x18(r1)
/* 80374D4C 00371CAC 80 62 CE 00 */ lwz r3, lbl_805AEB20@sda21(r2)
/* 80374D50 00371CB0 80 02 CE 04 */ lwz r0, lbl_805AEB24@sda21(r2)
/* 80374D54 00371CB4 90 61 00 14 */ stw r3, 0x14(r1)
/* 80374D58 00371CB8 90 01 00 10 */ stw r0, 0x10(r1)
/* 80374D5C 00371CBC 48 01 47 7D */ bl VIGetTvFormat
/* 80374D60 00371CC0 28 03 00 00 */ cmplwi r3, 0
/* 80374D64 00371CC4 40 82 00 24 */ bne lbl_80374D88
/* 80374D68 00371CC8 48 00 C1 DD */ bl OSGetFontEncode
/* 80374D6C 00371CCC 54 60 04 3E */ clrlwi r0, r3, 0x10
/* 80374D70 00371CD0 28 00 00 01 */ cmplwi r0, 1
/* 80374D74 00371CD4 40 82 00 0C */ bne lbl_80374D80
/* 80374D78 00371CD8 80 AD 9E F0 */ lwz r5, lbl_805A8AB0@sda21(r13)
/* 80374D7C 00371CDC 48 00 00 24 */ b lbl_80374DA0
lbl_80374D80:
/* 80374D80 00371CE0 80 AD 9E F4 */ lwz r5, lbl_805A8AB4@sda21(r13)
/* 80374D84 00371CE4 48 00 00 1C */ b lbl_80374DA0
lbl_80374D88:
/* 80374D88 00371CE8 48 00 F4 C1 */ bl OSGetLanguage
/* 80374D8C 00371CEC 3C 80 80 3E */ lis r4, lbl_803D8570@ha
/* 80374D90 00371CF0 54 63 15 BA */ rlwinm r3, r3, 2, 0x16, 0x1d
/* 80374D94 00371CF4 38 04 85 70 */ addi r0, r4, lbl_803D8570@l
/* 80374D98 00371CF8 7C 60 1A 14 */ add r3, r0, r3
/* 80374D9C 00371CFC 80 A3 00 00 */ lwz r5, 0(r3)
lbl_80374DA0:
/* 80374DA0 00371D00 80 C1 00 14 */ lwz r6, 0x14(r1)
/* 80374DA4 00371D04 38 81 00 08 */ addi r4, r1, 8
/* 80374DA8 00371D08 80 01 00 10 */ lwz r0, 0x10(r1)
/* 80374DAC 00371D0C 38 61 00 0C */ addi r3, r1, 0xc
/* 80374DB0 00371D10 90 C1 00 08 */ stw r6, 8(r1)
/* 80374DB4 00371D14 90 01 00 0C */ stw r0, 0xc(r1)
/* 80374DB8 00371D18 48 00 B7 79 */ bl OSFatal
/* 80374DBC 00371D1C 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 80374DC0 00371D20 38 21 00 18 */ addi r1, r1, 0x18
/* 80374DC4 00371D24 7C 08 03 A6 */ mtlr r0
/* 80374DC8 00371D28 4E 80 00 20 */ blr
.global DVDSetAutoFatalMessaging
DVDSetAutoFatalMessaging:
/* 80374DCC 00371D2C 7C 08 02 A6 */ mflr r0
/* 80374DD0 00371D30 90 01 00 04 */ stw r0, 4(r1)
/* 80374DD4 00371D34 94 21 FF E8 */ stwu r1, -0x18(r1)
/* 80374DD8 00371D38 93 E1 00 14 */ stw r31, 0x14(r1)
/* 80374DDC 00371D3C 93 C1 00 10 */ stw r30, 0x10(r1)
/* 80374DE0 00371D40 7C 7E 1B 78 */ mr r30, r3
/* 80374DE4 00371D44 48 00 C8 7D */ bl OSDisableInterrupts
/* 80374DE8 00371D48 80 0D AC 60 */ lwz r0, lbl_805A9820@sda21(r13)
/* 80374DEC 00371D4C 28 00 00 00 */ cmplwi r0, 0
/* 80374DF0 00371D50 41 82 00 0C */ beq lbl_80374DFC
/* 80374DF4 00371D54 3B E0 00 01 */ li r31, 1
/* 80374DF8 00371D58 48 00 00 08 */ b lbl_80374E00
lbl_80374DFC:
/* 80374DFC 00371D5C 3B E0 00 00 */ li r31, 0
lbl_80374E00:
/* 80374E00 00371D60 2C 1E 00 00 */ cmpwi r30, 0
/* 80374E04 00371D64 41 82 00 10 */ beq lbl_80374E14
/* 80374E08 00371D68 3C 80 80 37 */ lis r4, ShowMessage@ha
/* 80374E0C 00371D6C 38 04 4D 40 */ addi r0, r4, ShowMessage@l
/* 80374E10 00371D70 48 00 00 08 */ b lbl_80374E18
lbl_80374E14:
/* 80374E14 00371D74 38 00 00 00 */ li r0, 0
lbl_80374E18:
/* 80374E18 00371D78 90 0D AC 60 */ stw r0, lbl_805A9820@sda21(r13)
/* 80374E1C 00371D7C 48 00 C8 6D */ bl OSRestoreInterrupts
/* 80374E20 00371D80 7F E3 FB 78 */ mr r3, r31
/* 80374E24 00371D84 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 80374E28 00371D88 83 E1 00 14 */ lwz r31, 0x14(r1)
/* 80374E2C 00371D8C 83 C1 00 10 */ lwz r30, 0x10(r1)
/* 80374E30 00371D90 38 21 00 18 */ addi r1, r1, 0x18
/* 80374E34 00371D94 7C 08 03 A6 */ mtlr r0
/* 80374E38 00371D98 4E 80 00 20 */ blr
.endif
.global __DVDPrintFatalMessage
__DVDPrintFatalMessage:
/* 80374E3C 00371D9C 7C 08 02 A6 */ mflr r0
/* 80374E40 00371DA0 90 01 00 04 */ stw r0, 4(r1)
/* 80374E44 00371DA4 94 21 FF F8 */ stwu r1, -8(r1)
/* 80374E48 00371DA8 81 8D AC 60 */ lwz r12, lbl_805A9820@sda21(r13)
/* 80374E4C 00371DAC 28 0C 00 00 */ cmplwi r12, 0
/* 80374E50 00371DB0 41 82 00 0C */ beq lbl_80374E5C
/* 80374E54 00371DB4 7D 88 03 A6 */ mtlr r12
/* 80374E58 00371DB8 4E 80 00 21 */ blrl
lbl_80374E5C:
/* 80374E5C 00371DBC 80 01 00 0C */ lwz r0, 0xc(r1)
/* 80374E60 00371DC0 38 21 00 08 */ addi r1, r1, 8
/* 80374E64 00371DC4 7C 08 03 A6 */ mtlr r0
/* 80374E68 00371DC8 4E 80 00 20 */ blr

View File

@ -1,733 +0,0 @@
.include "macros.inc"
.section .sbss
.balign 8
.global lbl_805A97B0
lbl_805A97B0:
.skip 0x4
.global lbl_805A97B4
lbl_805A97B4:
.skip 0x4
.global lbl_805A97B8
lbl_805A97B8:
.skip 0x4
.global lbl_805A97BC
lbl_805A97BC:
.skip 0x4
.global lbl_805A97C0
lbl_805A97C0:
.skip 0x4
.global __DVDLongFileNameFlag
__DVDLongFileNameFlag:
.skip 0x4
.global __DVDThreadQueue
__DVDThreadQueue:
.skip 0x8
.section .sdata
.balign 8
.global lbl_805A8A90
lbl_805A8A90:
# ROM: 0x3F6430
.asciz "dvdfs.c"
.section .data
.balign 8
lbl_803EFB90:
.asciz "DVDConvertEntrynumToPath(possibly DVDOpen or DVDChangeDir or DVDOpenDir): specified directory or file (%s) doesn't match standard 8.3 format. This is a temporary restriction and will be removed soon\n"
.balign 4
lbl_803EFC58:
.asciz "Warning: DVDOpen(): file '%s' was not found under %s.\n"
.balign 4
lbl_803EFC90:
# ROM: 0x3ECC90
.asciz "DVDReadAsync(): specified area is out of the file "
.asciz "DVDRead(): specified area is out of the file "
.balign 4
.asciz "DVDSeek(): offset is out of the file "
.balign 4
.asciz "Warning: DVDOpenDir(): file '%s' was not found under %s.\n"
.balign 4
.asciz "DVDPrepareStreamAsync(): Specified start address (filestart(0x%x) + offset(0x%x)) is not 32KB aligned"
.balign 4
.asciz "DVDPrepareStreamAsync(): Specified length (0x%x) is not a multiple of 32768(32*1024)"
.balign 4
.asciz "DVDPrepareStreamAsync(): The area specified (offset(0x%x), length(0x%x)) is out of the file"
.asciz "DVDPrepareStream(): Specified start address (filestart(0x%x) + offset(0x%x)) is not 32KB aligned"
.balign 4
.asciz "DVDPrepareStream(): Specified length (0x%x) is not a multiple of 32768(32*1024)"
.asciz "DVDPrepareStream(): The area specified (offset(0x%x), length(0x%x)) is out of the file"
.balign 4
.section .text, "ax"
.global __DVDFSInit
__DVDFSInit:
/* 803712E4 0036E244 3C 60 80 00 */ lis r3, 0x80000038@ha
/* 803712E8 0036E248 90 6D AB F0 */ stw r3, lbl_805A97B0@sda21(r13)
/* 803712EC 0036E24C 80 03 00 38 */ lwz r0, 0x80000038@l(r3)
/* 803712F0 0036E250 90 0D AB F4 */ stw r0, lbl_805A97B4@sda21(r13)
/* 803712F4 0036E254 80 6D AB F4 */ lwz r3, lbl_805A97B4@sda21(r13)
/* 803712F8 0036E258 28 03 00 00 */ cmplwi r3, 0
/* 803712FC 0036E25C 4D 82 00 20 */ beqlr
/* 80371300 0036E260 80 03 00 08 */ lwz r0, 8(r3)
/* 80371304 0036E264 90 0D AB FC */ stw r0, lbl_805A97BC@sda21(r13)
/* 80371308 0036E268 80 0D AB FC */ lwz r0, lbl_805A97BC@sda21(r13)
/* 8037130C 0036E26C 1C 00 00 0C */ mulli r0, r0, 0xc
/* 80371310 0036E270 7C 03 02 14 */ add r0, r3, r0
/* 80371314 0036E274 90 0D AB F8 */ stw r0, lbl_805A97B8@sda21(r13)
/* 80371318 0036E278 4E 80 00 20 */ blr
.global DVDConvertPathToEntrynum
DVDConvertPathToEntrynum:
/* 8037131C 0036E27C 7C 08 02 A6 */ mflr r0
/* 80371320 0036E280 90 01 00 04 */ stw r0, 4(r1)
/* 80371324 0036E284 94 21 FF B8 */ stwu r1, -0x48(r1)
/* 80371328 0036E288 BE 81 00 18 */ stmw r20, 0x18(r1)
/* 8037132C 0036E28C 7C 77 1B 78 */ mr r23, r3
/* 80371330 0036E290 3C 60 80 3F */ lis r3, lbl_803EFB90@ha
/* 80371334 0036E294 3B 37 00 00 */ addi r25, r23, 0
/* 80371338 0036E298 3B E3 FB 90 */ addi r31, r3, lbl_803EFB90@l
/* 8037133C 0036E29C 83 4D AC 00 */ lwz r26, lbl_805A97C0@sda21(r13)
lbl_80371340:
/* 80371340 0036E2A0 88 77 00 00 */ lbz r3, 0(r23)
/* 80371344 0036E2A4 7C 60 07 75 */ extsb. r0, r3
/* 80371348 0036E2A8 40 82 00 0C */ bne lbl_80371354
/* 8037134C 0036E2AC 7F 43 D3 78 */ mr r3, r26
/* 80371350 0036E2B0 48 00 02 AC */ b lbl_803715FC
lbl_80371354:
/* 80371354 0036E2B4 7C 60 07 74 */ extsb r0, r3
/* 80371358 0036E2B8 2C 00 00 2F */ cmpwi r0, 0x2f
/* 8037135C 0036E2BC 40 82 00 10 */ bne lbl_8037136C
/* 80371360 0036E2C0 3B 40 00 00 */ li r26, 0
/* 80371364 0036E2C4 3A F7 00 01 */ addi r23, r23, 1
/* 80371368 0036E2C8 4B FF FF D8 */ b lbl_80371340
lbl_8037136C:
/* 8037136C 0036E2CC 2C 00 00 2E */ cmpwi r0, 0x2e
/* 80371370 0036E2D0 40 82 00 74 */ bne lbl_803713E4
/* 80371374 0036E2D4 88 77 00 01 */ lbz r3, 1(r23)
/* 80371378 0036E2D8 7C 60 07 74 */ extsb r0, r3
/* 8037137C 0036E2DC 2C 00 00 2E */ cmpwi r0, 0x2e
/* 80371380 0036E2E0 40 82 00 44 */ bne lbl_803713C4
/* 80371384 0036E2E4 88 77 00 02 */ lbz r3, 2(r23)
/* 80371388 0036E2E8 2C 03 00 2F */ cmpwi r3, 0x2f
/* 8037138C 0036E2EC 40 82 00 1C */ bne lbl_803713A8
/* 80371390 0036E2F0 1C 7A 00 0C */ mulli r3, r26, 0xc
/* 80371394 0036E2F4 80 8D AB F4 */ lwz r4, lbl_805A97B4@sda21(r13)
/* 80371398 0036E2F8 38 03 00 04 */ addi r0, r3, 4
/* 8037139C 0036E2FC 7F 44 00 2E */ lwzx r26, r4, r0
/* 803713A0 0036E300 3A F7 00 03 */ addi r23, r23, 3
/* 803713A4 0036E304 4B FF FF 9C */ b lbl_80371340
lbl_803713A8:
/* 803713A8 0036E308 7C 60 07 75 */ extsb. r0, r3
/* 803713AC 0036E30C 40 82 00 38 */ bne lbl_803713E4
/* 803713B0 0036E310 1C 1A 00 0C */ mulli r0, r26, 0xc
/* 803713B4 0036E314 80 6D AB F4 */ lwz r3, lbl_805A97B4@sda21(r13)
/* 803713B8 0036E318 7C 63 02 14 */ add r3, r3, r0
/* 803713BC 0036E31C 80 63 00 04 */ lwz r3, 4(r3)
/* 803713C0 0036E320 48 00 02 3C */ b lbl_803715FC
lbl_803713C4:
/* 803713C4 0036E324 2C 00 00 2F */ cmpwi r0, 0x2f
/* 803713C8 0036E328 40 82 00 0C */ bne lbl_803713D4
/* 803713CC 0036E32C 3A F7 00 02 */ addi r23, r23, 2
/* 803713D0 0036E330 4B FF FF 70 */ b lbl_80371340
lbl_803713D4:
/* 803713D4 0036E334 7C 60 07 75 */ extsb. r0, r3
/* 803713D8 0036E338 40 82 00 0C */ bne lbl_803713E4
/* 803713DC 0036E33C 7F 43 D3 78 */ mr r3, r26
/* 803713E0 0036E340 48 00 02 1C */ b lbl_803715FC
lbl_803713E4:
/* 803713E4 0036E344 80 0D AC 04 */ lwz r0, __DVDLongFileNameFlag@sda21(r13)
/* 803713E8 0036E348 28 00 00 00 */ cmplwi r0, 0
/* 803713EC 0036E34C 40 82 00 AC */ bne lbl_80371498
/* 803713F0 0036E350 3B 97 00 00 */ addi r28, r23, 0
/* 803713F4 0036E354 38 A0 00 00 */ li r5, 0
/* 803713F8 0036E358 38 80 00 00 */ li r4, 0
/* 803713FC 0036E35C 48 00 00 48 */ b lbl_80371444
lbl_80371400:
/* 80371400 0036E360 7C 60 07 74 */ extsb r0, r3
/* 80371404 0036E364 2C 00 00 2E */ cmpwi r0, 0x2e
/* 80371408 0036E368 40 82 00 2C */ bne lbl_80371434
/* 8037140C 0036E36C 7C 17 E0 50 */ subf r0, r23, r28
/* 80371410 0036E370 2C 00 00 08 */ cmpwi r0, 8
/* 80371414 0036E374 41 81 00 0C */ bgt lbl_80371420
/* 80371418 0036E378 2C 05 00 01 */ cmpwi r5, 1
/* 8037141C 0036E37C 40 82 00 0C */ bne lbl_80371428
lbl_80371420:
/* 80371420 0036E380 38 80 00 01 */ li r4, 1
/* 80371424 0036E384 48 00 00 38 */ b lbl_8037145C
lbl_80371428:
/* 80371428 0036E388 3B 1C 00 01 */ addi r24, r28, 1
/* 8037142C 0036E38C 38 A0 00 01 */ li r5, 1
/* 80371430 0036E390 48 00 00 10 */ b lbl_80371440
lbl_80371434:
/* 80371434 0036E394 2C 00 00 20 */ cmpwi r0, 0x20
/* 80371438 0036E398 40 82 00 08 */ bne lbl_80371440
/* 8037143C 0036E39C 38 80 00 01 */ li r4, 1
lbl_80371440:
/* 80371440 0036E3A0 3B 9C 00 01 */ addi r28, r28, 1
lbl_80371444:
/* 80371444 0036E3A4 88 7C 00 00 */ lbz r3, 0(r28)
/* 80371448 0036E3A8 7C 60 07 75 */ extsb. r0, r3
/* 8037144C 0036E3AC 41 82 00 10 */ beq lbl_8037145C
/* 80371450 0036E3B0 7C 60 07 74 */ extsb r0, r3
/* 80371454 0036E3B4 2C 00 00 2F */ cmpwi r0, 0x2f
/* 80371458 0036E3B8 40 82 FF A8 */ bne lbl_80371400
lbl_8037145C:
/* 8037145C 0036E3BC 2C 05 00 01 */ cmpwi r5, 1
/* 80371460 0036E3C0 40 82 00 14 */ bne lbl_80371474
/* 80371464 0036E3C4 7C 18 E0 50 */ subf r0, r24, r28
/* 80371468 0036E3C8 2C 00 00 03 */ cmpwi r0, 3
/* 8037146C 0036E3CC 40 81 00 08 */ ble lbl_80371474
/* 80371470 0036E3D0 38 80 00 01 */ li r4, 1
lbl_80371474:
/* 80371474 0036E3D4 2C 04 00 00 */ cmpwi r4, 0
/* 80371478 0036E3D8 41 82 00 44 */ beq lbl_803714BC
/* 8037147C 0036E3DC 38 BF 00 00 */ addi r5, r31, 0
/* 80371480 0036E3E0 4C C6 31 82 */ crclr 6
/* 80371484 0036E3E4 38 D9 00 00 */ addi r6, r25, 0
/* 80371488 0036E3E8 38 6D 9E D0 */ addi r3, r13, lbl_805A8A90@sda21
/* 8037148C 0036E3EC 38 80 01 7B */ li r4, 0x17b
/* 80371490 0036E3F0 48 00 E5 9D */ bl OSPanic
/* 80371494 0036E3F4 48 00 00 28 */ b lbl_803714BC
lbl_80371498:
/* 80371498 0036E3F8 7E FC BB 78 */ mr r28, r23
/* 8037149C 0036E3FC 48 00 00 08 */ b lbl_803714A4
lbl_803714A0:
/* 803714A0 0036E400 3B 9C 00 01 */ addi r28, r28, 1
lbl_803714A4:
/* 803714A4 0036E404 88 7C 00 00 */ lbz r3, 0(r28)
/* 803714A8 0036E408 7C 60 07 75 */ extsb. r0, r3
/* 803714AC 0036E40C 41 82 00 10 */ beq lbl_803714BC
/* 803714B0 0036E410 7C 60 07 74 */ extsb r0, r3
/* 803714B4 0036E414 2C 00 00 2F */ cmpwi r0, 0x2f
/* 803714B8 0036E418 40 82 FF E8 */ bne lbl_803714A0
lbl_803714BC:
/* 803714BC 0036E41C 88 1C 00 00 */ lbz r0, 0(r28)
/* 803714C0 0036E420 7C 00 07 75 */ extsb. r0, r0
/* 803714C4 0036E424 40 82 00 0C */ bne lbl_803714D0
/* 803714C8 0036E428 3B C0 00 00 */ li r30, 0
/* 803714CC 0036E42C 48 00 00 08 */ b lbl_803714D4
lbl_803714D0:
/* 803714D0 0036E430 3B C0 00 01 */ li r30, 1
lbl_803714D4:
/* 803714D4 0036E434 1F BA 00 0C */ mulli r29, r26, 0xc
/* 803714D8 0036E438 7F 77 E0 50 */ subf r27, r23, r28
/* 803714DC 0036E43C 3B 5A 00 01 */ addi r26, r26, 1
/* 803714E0 0036E440 48 00 00 E4 */ b lbl_803715C4
lbl_803714E4:
/* 803714E4 0036E444 1F 9A 00 0C */ mulli r28, r26, 0xc
/* 803714E8 0036E448 7C 83 E0 2E */ lwzx r4, r3, r28
/* 803714EC 0036E44C 54 80 00 0F */ rlwinm. r0, r4, 0, 0, 7
/* 803714F0 0036E450 40 82 00 0C */ bne lbl_803714FC
/* 803714F4 0036E454 38 00 00 00 */ li r0, 0
/* 803714F8 0036E458 48 00 00 08 */ b lbl_80371500
lbl_803714FC:
/* 803714FC 0036E45C 38 00 00 01 */ li r0, 1
lbl_80371500:
/* 80371500 0036E460 2C 00 00 00 */ cmpwi r0, 0
/* 80371504 0036E464 40 82 00 0C */ bne lbl_80371510
/* 80371508 0036E468 2C 1E 00 01 */ cmpwi r30, 1
/* 8037150C 0036E46C 41 82 00 80 */ beq lbl_8037158C
lbl_80371510:
/* 80371510 0036E470 80 6D AB F8 */ lwz r3, lbl_805A97B8@sda21(r13)
/* 80371514 0036E474 54 80 02 3E */ clrlwi r0, r4, 8
/* 80371518 0036E478 3A B7 00 00 */ addi r21, r23, 0
/* 8037151C 0036E47C 7E 83 02 14 */ add r20, r3, r0
/* 80371520 0036E480 48 00 00 38 */ b lbl_80371558
lbl_80371524:
/* 80371524 0036E484 88 14 00 00 */ lbz r0, 0(r20)
/* 80371528 0036E488 3A 94 00 01 */ addi r20, r20, 1
/* 8037152C 0036E48C 7C 03 07 74 */ extsb r3, r0
/* 80371530 0036E490 48 01 B9 F5 */ bl tolower
/* 80371534 0036E494 88 15 00 00 */ lbz r0, 0(r21)
/* 80371538 0036E498 3A C3 00 00 */ addi r22, r3, 0
/* 8037153C 0036E49C 3A B5 00 01 */ addi r21, r21, 1
/* 80371540 0036E4A0 7C 03 07 74 */ extsb r3, r0
/* 80371544 0036E4A4 48 01 B9 E1 */ bl tolower
/* 80371548 0036E4A8 7C 03 B0 00 */ cmpw r3, r22
/* 8037154C 0036E4AC 41 82 00 0C */ beq lbl_80371558
/* 80371550 0036E4B0 38 00 00 00 */ li r0, 0
/* 80371554 0036E4B4 48 00 00 30 */ b lbl_80371584
lbl_80371558:
/* 80371558 0036E4B8 88 14 00 00 */ lbz r0, 0(r20)
/* 8037155C 0036E4BC 7C 00 07 75 */ extsb. r0, r0
/* 80371560 0036E4C0 40 82 FF C4 */ bne lbl_80371524
/* 80371564 0036E4C4 88 75 00 00 */ lbz r3, 0(r21)
/* 80371568 0036E4C8 2C 03 00 2F */ cmpwi r3, 0x2f
/* 8037156C 0036E4CC 41 82 00 0C */ beq lbl_80371578
/* 80371570 0036E4D0 7C 60 07 75 */ extsb. r0, r3
/* 80371574 0036E4D4 40 82 00 0C */ bne lbl_80371580
lbl_80371578:
/* 80371578 0036E4D8 38 00 00 01 */ li r0, 1
/* 8037157C 0036E4DC 48 00 00 08 */ b lbl_80371584
lbl_80371580:
/* 80371580 0036E4E0 38 00 00 00 */ li r0, 0
lbl_80371584:
/* 80371584 0036E4E4 2C 00 00 01 */ cmpwi r0, 1
/* 80371588 0036E4E8 41 82 00 58 */ beq lbl_803715E0
lbl_8037158C:
/* 8037158C 0036E4EC 80 0D AB F4 */ lwz r0, lbl_805A97B4@sda21(r13)
/* 80371590 0036E4F0 7C 60 E2 14 */ add r3, r0, r28
/* 80371594 0036E4F4 80 03 00 00 */ lwz r0, 0(r3)
/* 80371598 0036E4F8 54 00 00 0F */ rlwinm. r0, r0, 0, 0, 7
/* 8037159C 0036E4FC 40 82 00 0C */ bne lbl_803715A8
/* 803715A0 0036E500 38 00 00 00 */ li r0, 0
/* 803715A4 0036E504 48 00 00 08 */ b lbl_803715AC
lbl_803715A8:
/* 803715A8 0036E508 38 00 00 01 */ li r0, 1
lbl_803715AC:
/* 803715AC 0036E50C 2C 00 00 00 */ cmpwi r0, 0
/* 803715B0 0036E510 41 82 00 0C */ beq lbl_803715BC
/* 803715B4 0036E514 80 03 00 08 */ lwz r0, 8(r3)
/* 803715B8 0036E518 48 00 00 08 */ b lbl_803715C0
lbl_803715BC:
/* 803715BC 0036E51C 38 1A 00 01 */ addi r0, r26, 1
lbl_803715C0:
/* 803715C0 0036E520 7C 1A 03 78 */ mr r26, r0
lbl_803715C4:
/* 803715C4 0036E524 80 6D AB F4 */ lwz r3, lbl_805A97B4@sda21(r13)
/* 803715C8 0036E528 38 03 00 08 */ addi r0, r3, 8
/* 803715CC 0036E52C 7C 1D 00 2E */ lwzx r0, r29, r0
/* 803715D0 0036E530 7C 1A 00 40 */ cmplw r26, r0
/* 803715D4 0036E534 41 80 FF 10 */ blt lbl_803714E4
/* 803715D8 0036E538 38 60 FF FF */ li r3, -1
/* 803715DC 0036E53C 48 00 00 20 */ b lbl_803715FC
lbl_803715E0:
/* 803715E0 0036E540 2C 1E 00 00 */ cmpwi r30, 0
/* 803715E4 0036E544 40 82 00 0C */ bne lbl_803715F0
/* 803715E8 0036E548 7F 43 D3 78 */ mr r3, r26
/* 803715EC 0036E54C 48 00 00 10 */ b lbl_803715FC
lbl_803715F0:
/* 803715F0 0036E550 7E FB BA 14 */ add r23, r27, r23
/* 803715F4 0036E554 3A F7 00 01 */ addi r23, r23, 1
/* 803715F8 0036E558 4B FF FD 48 */ b lbl_80371340
lbl_803715FC:
/* 803715FC 0036E55C BA 81 00 18 */ lmw r20, 0x18(r1)
/* 80371600 0036E560 80 01 00 4C */ lwz r0, 0x4c(r1)
/* 80371604 0036E564 38 21 00 48 */ addi r1, r1, 0x48
/* 80371608 0036E568 7C 08 03 A6 */ mtlr r0
/* 8037160C 0036E56C 4E 80 00 20 */ blr
.global DVDFastOpen
DVDFastOpen:
/* 80371610 0036E570 2C 03 00 00 */ cmpwi r3, 0
/* 80371614 0036E574 41 80 00 38 */ blt lbl_8037164C
/* 80371618 0036E578 80 0D AB FC */ lwz r0, lbl_805A97BC@sda21(r13)
/* 8037161C 0036E57C 7C 03 00 40 */ cmplw r3, r0
/* 80371620 0036E580 40 80 00 2C */ bge lbl_8037164C
/* 80371624 0036E584 1C C3 00 0C */ mulli r6, r3, 0xc
/* 80371628 0036E588 80 6D AB F4 */ lwz r3, lbl_805A97B4@sda21(r13)
/* 8037162C 0036E58C 7C 03 30 2E */ lwzx r0, r3, r6
/* 80371630 0036E590 54 00 00 0F */ rlwinm. r0, r0, 0, 0, 7
/* 80371634 0036E594 40 82 00 0C */ bne lbl_80371640
/* 80371638 0036E598 38 00 00 00 */ li r0, 0
/* 8037163C 0036E59C 48 00 00 08 */ b lbl_80371644
lbl_80371640:
/* 80371640 0036E5A0 38 00 00 01 */ li r0, 1
lbl_80371644:
/* 80371644 0036E5A4 2C 00 00 00 */ cmpwi r0, 0
/* 80371648 0036E5A8 41 82 00 0C */ beq lbl_80371654
lbl_8037164C:
/* 8037164C 0036E5AC 38 60 00 00 */ li r3, 0
/* 80371650 0036E5B0 4E 80 00 20 */ blr
lbl_80371654:
/* 80371654 0036E5B4 7C 63 32 14 */ add r3, r3, r6
/* 80371658 0036E5B8 80 A3 00 04 */ lwz r5, 4(r3)
/* 8037165C 0036E5BC 38 00 00 00 */ li r0, 0
/* 80371660 0036E5C0 38 60 00 01 */ li r3, 1
/* 80371664 0036E5C4 90 A4 00 30 */ stw r5, 0x30(r4)
/* 80371668 0036E5C8 80 AD AB F4 */ lwz r5, lbl_805A97B4@sda21(r13)
/* 8037166C 0036E5CC 7C A5 32 14 */ add r5, r5, r6
/* 80371670 0036E5D0 80 A5 00 08 */ lwz r5, 8(r5)
/* 80371674 0036E5D4 90 A4 00 34 */ stw r5, 0x34(r4)
/* 80371678 0036E5D8 90 04 00 38 */ stw r0, 0x38(r4)
/* 8037167C 0036E5DC 90 04 00 0C */ stw r0, 0xc(r4)
/* 80371680 0036E5E0 4E 80 00 20 */ blr
.global DVDOpen
DVDOpen:
/* 80371684 0036E5E4 7C 08 02 A6 */ mflr r0
/* 80371688 0036E5E8 90 01 00 04 */ stw r0, 4(r1)
/* 8037168C 0036E5EC 94 21 FF 68 */ stwu r1, -0x98(r1)
/* 80371690 0036E5F0 93 E1 00 94 */ stw r31, 0x94(r1)
/* 80371694 0036E5F4 3B E4 00 00 */ addi r31, r4, 0
/* 80371698 0036E5F8 93 C1 00 90 */ stw r30, 0x90(r1)
/* 8037169C 0036E5FC 3B C3 00 00 */ addi r30, r3, 0
/* 803716A0 0036E600 4B FF FC 7D */ bl DVDConvertPathToEntrynum
/* 803716A4 0036E604 2C 03 00 00 */ cmpwi r3, 0
/* 803716A8 0036E608 40 80 00 30 */ bge lbl_803716D8
/* 803716AC 0036E60C 38 61 00 10 */ addi r3, r1, 0x10
/* 803716B0 0036E610 38 80 00 80 */ li r4, 0x80
/* 803716B4 0036E614 48 00 02 1D */ bl DVDGetCurrentDir
/* 803716B8 0036E618 3C 60 80 3F */ lis r3, lbl_803EFC58@ha
/* 803716BC 0036E61C 4C C6 31 82 */ crclr 6
/* 803716C0 0036E620 38 63 FC 58 */ addi r3, r3, lbl_803EFC58@l
/* 803716C4 0036E624 38 9E 00 00 */ addi r4, r30, 0
/* 803716C8 0036E628 38 A1 00 10 */ addi r5, r1, 0x10
/* 803716CC 0036E62C 48 00 E2 E1 */ bl OSReport
/* 803716D0 0036E630 38 60 00 00 */ li r3, 0
/* 803716D4 0036E634 48 00 00 60 */ b lbl_80371734
lbl_803716D8:
/* 803716D8 0036E638 1C A3 00 0C */ mulli r5, r3, 0xc
/* 803716DC 0036E63C 80 6D AB F4 */ lwz r3, lbl_805A97B4@sda21(r13)
/* 803716E0 0036E640 7C 03 28 2E */ lwzx r0, r3, r5
/* 803716E4 0036E644 54 00 00 0F */ rlwinm. r0, r0, 0, 0, 7
/* 803716E8 0036E648 40 82 00 0C */ bne lbl_803716F4
/* 803716EC 0036E64C 38 00 00 00 */ li r0, 0
/* 803716F0 0036E650 48 00 00 08 */ b lbl_803716F8
lbl_803716F4:
/* 803716F4 0036E654 38 00 00 01 */ li r0, 1
lbl_803716F8:
/* 803716F8 0036E658 2C 00 00 00 */ cmpwi r0, 0
/* 803716FC 0036E65C 41 82 00 0C */ beq lbl_80371708
/* 80371700 0036E660 38 60 00 00 */ li r3, 0
/* 80371704 0036E664 48 00 00 30 */ b lbl_80371734
lbl_80371708:
/* 80371708 0036E668 7C 63 2A 14 */ add r3, r3, r5
/* 8037170C 0036E66C 80 83 00 04 */ lwz r4, 4(r3)
/* 80371710 0036E670 38 00 00 00 */ li r0, 0
/* 80371714 0036E674 38 60 00 01 */ li r3, 1
/* 80371718 0036E678 90 9F 00 30 */ stw r4, 0x30(r31)
/* 8037171C 0036E67C 80 8D AB F4 */ lwz r4, lbl_805A97B4@sda21(r13)
/* 80371720 0036E680 7C 84 2A 14 */ add r4, r4, r5
/* 80371724 0036E684 80 84 00 08 */ lwz r4, 8(r4)
/* 80371728 0036E688 90 9F 00 34 */ stw r4, 0x34(r31)
/* 8037172C 0036E68C 90 1F 00 38 */ stw r0, 0x38(r31)
/* 80371730 0036E690 90 1F 00 0C */ stw r0, 0xc(r31)
lbl_80371734:
/* 80371734 0036E694 80 01 00 9C */ lwz r0, 0x9c(r1)
/* 80371738 0036E698 83 E1 00 94 */ lwz r31, 0x94(r1)
/* 8037173C 0036E69C 83 C1 00 90 */ lwz r30, 0x90(r1)
/* 80371740 0036E6A0 38 21 00 98 */ addi r1, r1, 0x98
/* 80371744 0036E6A4 7C 08 03 A6 */ mtlr r0
/* 80371748 0036E6A8 4E 80 00 20 */ blr
.global DVDClose
DVDClose:
/* 8037174C 0036E6AC 7C 08 02 A6 */ mflr r0
/* 80371750 0036E6B0 90 01 00 04 */ stw r0, 4(r1)
/* 80371754 0036E6B4 94 21 FF F8 */ stwu r1, -8(r1)
/* 80371758 0036E6B8 48 00 2D 25 */ bl DVDCancel
/* 8037175C 0036E6BC 38 60 00 01 */ li r3, 1
/* 80371760 0036E6C0 80 01 00 0C */ lwz r0, 0xc(r1)
/* 80371764 0036E6C4 38 21 00 08 */ addi r1, r1, 8
/* 80371768 0036E6C8 7C 08 03 A6 */ mtlr r0
/* 8037176C 0036E6CC 4E 80 00 20 */ blr
.global entryToPath
entryToPath:
/* 80371770 0036E6D0 7C 08 02 A6 */ mflr r0
/* 80371774 0036E6D4 28 03 00 00 */ cmplwi r3, 0
/* 80371778 0036E6D8 90 01 00 04 */ stw r0, 4(r1)
/* 8037177C 0036E6DC 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 80371780 0036E6E0 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 80371784 0036E6E4 93 C1 00 28 */ stw r30, 0x28(r1)
/* 80371788 0036E6E8 3B C5 00 00 */ addi r30, r5, 0
/* 8037178C 0036E6EC 93 A1 00 24 */ stw r29, 0x24(r1)
/* 80371790 0036E6F0 3B A4 00 00 */ addi r29, r4, 0
/* 80371794 0036E6F4 93 81 00 20 */ stw r28, 0x20(r1)
/* 80371798 0036E6F8 40 82 00 0C */ bne lbl_803717A4
/* 8037179C 0036E6FC 38 60 00 00 */ li r3, 0
/* 803717A0 0036E700 48 00 01 10 */ b lbl_803718B0
lbl_803717A4:
/* 803717A4 0036E704 80 8D AB F4 */ lwz r4, lbl_805A97B4@sda21(r13)
/* 803717A8 0036E708 1C 63 00 0C */ mulli r3, r3, 0xc
/* 803717AC 0036E70C 80 CD AB F8 */ lwz r6, lbl_805A97B8@sda21(r13)
/* 803717B0 0036E710 38 A4 00 04 */ addi r5, r4, 4
/* 803717B4 0036E714 7C 04 18 2E */ lwzx r0, r4, r3
/* 803717B8 0036E718 7C 65 18 2E */ lwzx r3, r5, r3
/* 803717BC 0036E71C 54 00 02 3E */ clrlwi r0, r0, 8
/* 803717C0 0036E720 28 03 00 00 */ cmplwi r3, 0
/* 803717C4 0036E724 7F E6 02 14 */ add r31, r6, r0
/* 803717C8 0036E728 40 82 00 0C */ bne lbl_803717D4
/* 803717CC 0036E72C 38 60 00 00 */ li r3, 0
/* 803717D0 0036E730 48 00 00 80 */ b lbl_80371850
lbl_803717D4:
/* 803717D4 0036E734 1C 63 00 0C */ mulli r3, r3, 0xc
/* 803717D8 0036E738 7C 04 18 2E */ lwzx r0, r4, r3
/* 803717DC 0036E73C 7F A4 EB 78 */ mr r4, r29
/* 803717E0 0036E740 7C 65 18 2E */ lwzx r3, r5, r3
/* 803717E4 0036E744 38 BE 00 00 */ addi r5, r30, 0
/* 803717E8 0036E748 54 00 02 3E */ clrlwi r0, r0, 8
/* 803717EC 0036E74C 7F 86 02 14 */ add r28, r6, r0
/* 803717F0 0036E750 4B FF FF 81 */ bl entryToPath
/* 803717F4 0036E754 7C 03 F0 40 */ cmplw r3, r30
/* 803717F8 0036E758 40 82 00 08 */ bne lbl_80371800
/* 803717FC 0036E75C 48 00 00 54 */ b lbl_80371850
lbl_80371800:
/* 80371800 0036E760 38 03 00 00 */ addi r0, r3, 0
/* 80371804 0036E764 38 63 00 01 */ addi r3, r3, 1
/* 80371808 0036E768 38 80 00 2F */ li r4, 0x2f
/* 8037180C 0036E76C 7C C3 F0 50 */ subf r6, r3, r30
/* 80371810 0036E770 7C 9D 01 AE */ stbx r4, r29, r0
/* 80371814 0036E774 38 86 00 00 */ addi r4, r6, 0
/* 80371818 0036E778 7C BD 1A 14 */ add r5, r29, r3
/* 8037181C 0036E77C 48 00 00 18 */ b lbl_80371834
lbl_80371820:
/* 80371820 0036E780 88 1C 00 00 */ lbz r0, 0(r28)
/* 80371824 0036E784 3B 9C 00 01 */ addi r28, r28, 1
/* 80371828 0036E788 38 84 FF FF */ addi r4, r4, -1
/* 8037182C 0036E78C 98 05 00 00 */ stb r0, 0(r5)
/* 80371830 0036E790 38 A5 00 01 */ addi r5, r5, 1
lbl_80371834:
/* 80371834 0036E794 28 04 00 00 */ cmplwi r4, 0
/* 80371838 0036E798 41 82 00 10 */ beq lbl_80371848
/* 8037183C 0036E79C 88 1C 00 00 */ lbz r0, 0(r28)
/* 80371840 0036E7A0 7C 00 07 75 */ extsb. r0, r0
/* 80371844 0036E7A4 40 82 FF DC */ bne lbl_80371820
lbl_80371848:
/* 80371848 0036E7A8 7C 04 30 50 */ subf r0, r4, r6
/* 8037184C 0036E7AC 7C 63 02 14 */ add r3, r3, r0
lbl_80371850:
/* 80371850 0036E7B0 7C 03 F0 40 */ cmplw r3, r30
/* 80371854 0036E7B4 40 82 00 08 */ bne lbl_8037185C
/* 80371858 0036E7B8 48 00 00 58 */ b lbl_803718B0
lbl_8037185C:
/* 8037185C 0036E7BC 38 03 00 00 */ addi r0, r3, 0
/* 80371860 0036E7C0 38 63 00 01 */ addi r3, r3, 1
/* 80371864 0036E7C4 38 80 00 2F */ li r4, 0x2f
/* 80371868 0036E7C8 7C E3 F0 50 */ subf r7, r3, r30
/* 8037186C 0036E7CC 7C 9D 01 AE */ stbx r4, r29, r0
/* 80371870 0036E7D0 38 DF 00 00 */ addi r6, r31, 0
/* 80371874 0036E7D4 38 87 00 00 */ addi r4, r7, 0
/* 80371878 0036E7D8 7C BD 1A 14 */ add r5, r29, r3
/* 8037187C 0036E7DC 48 00 00 18 */ b lbl_80371894
lbl_80371880:
/* 80371880 0036E7E0 88 06 00 00 */ lbz r0, 0(r6)
/* 80371884 0036E7E4 38 C6 00 01 */ addi r6, r6, 1
/* 80371888 0036E7E8 38 84 FF FF */ addi r4, r4, -1
/* 8037188C 0036E7EC 98 05 00 00 */ stb r0, 0(r5)
/* 80371890 0036E7F0 38 A5 00 01 */ addi r5, r5, 1
lbl_80371894:
/* 80371894 0036E7F4 28 04 00 00 */ cmplwi r4, 0
/* 80371898 0036E7F8 41 82 00 10 */ beq lbl_803718A8
/* 8037189C 0036E7FC 88 06 00 00 */ lbz r0, 0(r6)
/* 803718A0 0036E800 7C 00 07 75 */ extsb. r0, r0
/* 803718A4 0036E804 40 82 FF DC */ bne lbl_80371880
lbl_803718A8:
/* 803718A8 0036E808 7C 04 38 50 */ subf r0, r4, r7
/* 803718AC 0036E80C 7C 63 02 14 */ add r3, r3, r0
lbl_803718B0:
/* 803718B0 0036E810 80 01 00 34 */ lwz r0, 0x34(r1)
/* 803718B4 0036E814 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 803718B8 0036E818 83 C1 00 28 */ lwz r30, 0x28(r1)
/* 803718BC 0036E81C 83 A1 00 24 */ lwz r29, 0x24(r1)
/* 803718C0 0036E820 83 81 00 20 */ lwz r28, 0x20(r1)
/* 803718C4 0036E824 38 21 00 30 */ addi r1, r1, 0x30
/* 803718C8 0036E828 7C 08 03 A6 */ mtlr r0
/* 803718CC 0036E82C 4E 80 00 20 */ blr
.global DVDGetCurrentDir
DVDGetCurrentDir:
/* 803718D0 0036E830 7C 08 02 A6 */ mflr r0
/* 803718D4 0036E834 90 01 00 04 */ stw r0, 4(r1)
/* 803718D8 0036E838 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 803718DC 0036E83C 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 803718E0 0036E840 93 C1 00 18 */ stw r30, 0x18(r1)
/* 803718E4 0036E844 3B C4 00 00 */ addi r30, r4, 0
/* 803718E8 0036E848 38 BE 00 00 */ addi r5, r30, 0
/* 803718EC 0036E84C 93 A1 00 14 */ stw r29, 0x14(r1)
/* 803718F0 0036E850 3B A3 00 00 */ addi r29, r3, 0
/* 803718F4 0036E854 38 9D 00 00 */ addi r4, r29, 0
/* 803718F8 0036E858 83 ED AC 00 */ lwz r31, lbl_805A97C0@sda21(r13)
/* 803718FC 0036E85C 38 7F 00 00 */ addi r3, r31, 0
/* 80371900 0036E860 4B FF FE 71 */ bl entryToPath
/* 80371904 0036E864 7C 03 F0 40 */ cmplw r3, r30
/* 80371908 0036E868 40 82 00 14 */ bne lbl_8037191C
/* 8037190C 0036E86C 38 00 00 00 */ li r0, 0
/* 80371910 0036E870 7C 7D F2 14 */ add r3, r29, r30
/* 80371914 0036E874 98 03 FF FF */ stb r0, -1(r3)
/* 80371918 0036E878 48 00 00 5C */ b lbl_80371974
lbl_8037191C:
/* 8037191C 0036E87C 1C 1F 00 0C */ mulli r0, r31, 0xc
/* 80371920 0036E880 80 8D AB F4 */ lwz r4, lbl_805A97B4@sda21(r13)
/* 80371924 0036E884 7C 04 00 2E */ lwzx r0, r4, r0
/* 80371928 0036E888 54 00 00 0F */ rlwinm. r0, r0, 0, 0, 7
/* 8037192C 0036E88C 40 82 00 0C */ bne lbl_80371938
/* 80371930 0036E890 38 00 00 00 */ li r0, 0
/* 80371934 0036E894 48 00 00 08 */ b lbl_8037193C
lbl_80371938:
/* 80371938 0036E898 38 00 00 01 */ li r0, 1
lbl_8037193C:
/* 8037193C 0036E89C 2C 00 00 00 */ cmpwi r0, 0
/* 80371940 0036E8A0 41 82 00 28 */ beq lbl_80371968
/* 80371944 0036E8A4 38 1E FF FF */ addi r0, r30, -1
/* 80371948 0036E8A8 7C 03 00 40 */ cmplw r3, r0
/* 8037194C 0036E8AC 40 82 00 10 */ bne lbl_8037195C
/* 80371950 0036E8B0 38 00 00 00 */ li r0, 0
/* 80371954 0036E8B4 7C 1D 19 AE */ stbx r0, r29, r3
/* 80371958 0036E8B8 48 00 00 1C */ b lbl_80371974
lbl_8037195C:
/* 8037195C 0036E8BC 38 00 00 2F */ li r0, 0x2f
/* 80371960 0036E8C0 7C 1D 19 AE */ stbx r0, r29, r3
/* 80371964 0036E8C4 38 63 00 01 */ addi r3, r3, 1
lbl_80371968:
/* 80371968 0036E8C8 38 00 00 00 */ li r0, 0
/* 8037196C 0036E8CC 7C 1D 19 AE */ stbx r0, r29, r3
/* 80371970 0036E8D0 38 00 00 01 */ li r0, 1
lbl_80371974:
/* 80371974 0036E8D4 7C 03 03 78 */ mr r3, r0
/* 80371978 0036E8D8 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8037197C 0036E8DC 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80371980 0036E8E0 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80371984 0036E8E4 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 80371988 0036E8E8 38 21 00 20 */ addi r1, r1, 0x20
/* 8037198C 0036E8EC 7C 08 03 A6 */ mtlr r0
/* 80371990 0036E8F0 4E 80 00 20 */ blr
.global DVDReadAsyncPrio
DVDReadAsyncPrio:
/* 80371994 0036E8F4 7C 08 02 A6 */ mflr r0
/* 80371998 0036E8F8 90 01 00 04 */ stw r0, 4(r1)
/* 8037199C 0036E8FC 94 21 FF C8 */ stwu r1, -0x38(r1)
/* 803719A0 0036E900 BF 41 00 20 */ stmw r26, 0x20(r1)
/* 803719A4 0036E904 7C DD 33 79 */ or. r29, r6, r6
/* 803719A8 0036E908 3B 43 00 00 */ addi r26, r3, 0
/* 803719AC 0036E90C 3B 64 00 00 */ addi r27, r4, 0
/* 803719B0 0036E910 3B 85 00 00 */ addi r28, r5, 0
/* 803719B4 0036E914 3B C7 00 00 */ addi r30, r7, 0
/* 803719B8 0036E918 3B E8 00 00 */ addi r31, r8, 0
/* 803719BC 0036E91C 41 80 00 10 */ blt lbl_803719CC
/* 803719C0 0036E920 80 1A 00 34 */ lwz r0, 0x34(r26)
/* 803719C4 0036E924 7C 1D 00 40 */ cmplw r29, r0
/* 803719C8 0036E928 41 80 00 1C */ blt lbl_803719E4
lbl_803719CC:
/* 803719CC 0036E92C 3C 60 80 3F */ lis r3, lbl_803EFC90@ha
/* 803719D0 0036E930 4C C6 31 82 */ crclr 6
/* 803719D4 0036E934 38 A3 FC 90 */ addi r5, r3, lbl_803EFC90@l
/* 803719D8 0036E938 38 6D 9E D0 */ addi r3, r13, lbl_805A8A90@sda21
/* 803719DC 0036E93C 38 80 02 E6 */ li r4, 0x2e6
/* 803719E0 0036E940 48 00 E0 4D */ bl OSPanic
lbl_803719E4:
/* 803719E4 0036E944 7C 9D E2 15 */ add. r4, r29, r28
/* 803719E8 0036E948 41 80 00 14 */ blt lbl_803719FC
/* 803719EC 0036E94C 80 7A 00 34 */ lwz r3, 0x34(r26)
/* 803719F0 0036E950 38 03 00 20 */ addi r0, r3, 0x20
/* 803719F4 0036E954 7C 04 00 40 */ cmplw r4, r0
/* 803719F8 0036E958 41 80 00 1C */ blt lbl_80371A14
lbl_803719FC:
/* 803719FC 0036E95C 3C 60 80 3F */ lis r3, lbl_803EFC90@ha
/* 80371A00 0036E960 4C C6 31 82 */ crclr 6
/* 80371A04 0036E964 38 A3 FC 90 */ addi r5, r3, lbl_803EFC90@l
/* 80371A08 0036E968 38 6D 9E D0 */ addi r3, r13, lbl_805A8A90@sda21
/* 80371A0C 0036E96C 38 80 02 EC */ li r4, 0x2ec
/* 80371A10 0036E970 48 00 E0 1D */ bl OSPanic
lbl_80371A14:
/* 80371A14 0036E974 93 DA 00 38 */ stw r30, 0x38(r26)
/* 80371A18 0036E978 3C 60 80 37 */ lis r3, cbForReadAsync@ha
/* 80371A1C 0036E97C 38 E3 1A 54 */ addi r7, r3, cbForReadAsync@l
/* 80371A20 0036E980 80 1A 00 30 */ lwz r0, 0x30(r26)
/* 80371A24 0036E984 38 7A 00 00 */ addi r3, r26, 0
/* 80371A28 0036E988 38 9B 00 00 */ addi r4, r27, 0
/* 80371A2C 0036E98C 38 BC 00 00 */ addi r5, r28, 0
/* 80371A30 0036E990 39 1F 00 00 */ addi r8, r31, 0
/* 80371A34 0036E994 7C C0 EA 14 */ add r6, r0, r29
/* 80371A38 0036E998 48 00 1E BD */ bl DVDReadAbsAsyncPrio
/* 80371A3C 0036E99C BB 41 00 20 */ lmw r26, 0x20(r1)
/* 80371A40 0036E9A0 38 60 00 01 */ li r3, 1
/* 80371A44 0036E9A4 80 01 00 3C */ lwz r0, 0x3c(r1)
/* 80371A48 0036E9A8 38 21 00 38 */ addi r1, r1, 0x38
/* 80371A4C 0036E9AC 7C 08 03 A6 */ mtlr r0
/* 80371A50 0036E9B0 4E 80 00 20 */ blr
.global cbForReadAsync
cbForReadAsync:
/* 80371A54 0036E9B4 7C 08 02 A6 */ mflr r0
/* 80371A58 0036E9B8 90 01 00 04 */ stw r0, 4(r1)
/* 80371A5C 0036E9BC 94 21 FF F8 */ stwu r1, -8(r1)
/* 80371A60 0036E9C0 81 84 00 38 */ lwz r12, 0x38(r4)
/* 80371A64 0036E9C4 28 0C 00 00 */ cmplwi r12, 0
/* 80371A68 0036E9C8 41 82 00 0C */ beq lbl_80371A74
/* 80371A6C 0036E9CC 7D 88 03 A6 */ mtlr r12
/* 80371A70 0036E9D0 4E 80 00 21 */ blrl
lbl_80371A74:
/* 80371A74 0036E9D4 80 01 00 0C */ lwz r0, 0xc(r1)
/* 80371A78 0036E9D8 38 21 00 08 */ addi r1, r1, 8
/* 80371A7C 0036E9DC 7C 08 03 A6 */ mtlr r0
/* 80371A80 0036E9E0 4E 80 00 20 */ blr
.global DVDPrepareStreamAsync
DVDPrepareStreamAsync:
/* 80371A84 0036E9E4 7C 08 02 A6 */ mflr r0
/* 80371A88 0036E9E8 90 01 00 04 */ stw r0, 4(r1)
/* 80371A8C 0036E9EC 94 21 FF C8 */ stwu r1, -0x38(r1)
/* 80371A90 0036E9F0 BF 61 00 24 */ stmw r27, 0x24(r1)
/* 80371A94 0036E9F4 3B A5 00 00 */ addi r29, r5, 0
/* 80371A98 0036E9F8 7C 7B 1B 78 */ mr r27, r3
/* 80371A9C 0036E9FC 3B 84 00 00 */ addi r28, r4, 0
/* 80371AA0 0036EA00 3B C6 00 00 */ addi r30, r6, 0
/* 80371AA4 0036EA04 80 E3 00 30 */ lwz r7, 0x30(r3)
/* 80371AA8 0036EA08 3C 60 80 3F */ lis r3, lbl_803EFB90@ha
/* 80371AAC 0036EA0C 3B E3 FB 90 */ addi r31, r3, lbl_803EFB90@l
/* 80371AB0 0036EA10 7C 07 EA 14 */ add r0, r7, r29
/* 80371AB4 0036EA14 54 00 04 7F */ clrlwi. r0, r0, 0x11
/* 80371AB8 0036EA18 41 82 00 20 */ beq lbl_80371AD8
/* 80371ABC 0036EA1C 38 C7 00 00 */ addi r6, r7, 0
/* 80371AC0 0036EA20 4C C6 31 82 */ crclr 6
/* 80371AC4 0036EA24 38 FD 00 00 */ addi r7, r29, 0
/* 80371AC8 0036EA28 38 BF 01 C8 */ addi r5, r31, 0x1c8
/* 80371ACC 0036EA2C 38 6D 9E D0 */ addi r3, r13, lbl_805A8A90@sda21
/* 80371AD0 0036EA30 38 80 04 A5 */ li r4, 0x4a5
/* 80371AD4 0036EA34 48 00 DF 59 */ bl OSPanic
lbl_80371AD8:
/* 80371AD8 0036EA38 28 1C 00 00 */ cmplwi r28, 0
/* 80371ADC 0036EA3C 40 82 00 0C */ bne lbl_80371AE8
/* 80371AE0 0036EA40 80 1B 00 34 */ lwz r0, 0x34(r27)
/* 80371AE4 0036EA44 7F 9D 00 50 */ subf r28, r29, r0
lbl_80371AE8:
/* 80371AE8 0036EA48 57 80 04 7F */ clrlwi. r0, r28, 0x11
/* 80371AEC 0036EA4C 41 82 00 1C */ beq lbl_80371B08
/* 80371AF0 0036EA50 38 DC 00 00 */ addi r6, r28, 0
/* 80371AF4 0036EA54 4C C6 31 82 */ crclr 6
/* 80371AF8 0036EA58 38 BF 02 30 */ addi r5, r31, 0x230
/* 80371AFC 0036EA5C 38 6D 9E D0 */ addi r3, r13, lbl_805A8A90@sda21
/* 80371B00 0036EA60 38 80 04 AF */ li r4, 0x4af
/* 80371B04 0036EA64 48 00 DF 29 */ bl OSPanic
lbl_80371B08:
/* 80371B08 0036EA68 80 7B 00 34 */ lwz r3, 0x34(r27)
/* 80371B0C 0036EA6C 7C 1D 18 40 */ cmplw r29, r3
/* 80371B10 0036EA70 40 80 00 10 */ bge lbl_80371B20
/* 80371B14 0036EA74 7C 1D E2 14 */ add r0, r29, r28
/* 80371B18 0036EA78 7C 00 18 40 */ cmplw r0, r3
/* 80371B1C 0036EA7C 40 81 00 20 */ ble lbl_80371B3C
lbl_80371B20:
/* 80371B20 0036EA80 38 DD 00 00 */ addi r6, r29, 0
/* 80371B24 0036EA84 4C C6 31 82 */ crclr 6
/* 80371B28 0036EA88 38 FC 00 00 */ addi r7, r28, 0
/* 80371B2C 0036EA8C 38 BF 02 88 */ addi r5, r31, 0x288
/* 80371B30 0036EA90 38 6D 9E D0 */ addi r3, r13, lbl_805A8A90@sda21
/* 80371B34 0036EA94 38 80 04 B7 */ li r4, 0x4b7
/* 80371B38 0036EA98 48 00 DE F5 */ bl OSPanic
lbl_80371B3C:
/* 80371B3C 0036EA9C 93 DB 00 38 */ stw r30, 0x38(r27)
/* 80371B40 0036EAA0 3C 60 80 37 */ lis r3, cbForPrepareStreamAsync@ha
/* 80371B44 0036EAA4 38 C3 1B 70 */ addi r6, r3, cbForPrepareStreamAsync@l
/* 80371B48 0036EAA8 80 1B 00 30 */ lwz r0, 0x30(r27)
/* 80371B4C 0036EAAC 38 7B 00 00 */ addi r3, r27, 0
/* 80371B50 0036EAB0 38 9C 00 00 */ addi r4, r28, 0
/* 80371B54 0036EAB4 7C A0 EA 14 */ add r5, r0, r29
/* 80371B58 0036EAB8 48 00 20 1D */ bl DVDPrepareStreamAbsAsync
/* 80371B5C 0036EABC BB 61 00 24 */ lmw r27, 0x24(r1)
/* 80371B60 0036EAC0 80 01 00 3C */ lwz r0, 0x3c(r1)
/* 80371B64 0036EAC4 38 21 00 38 */ addi r1, r1, 0x38
/* 80371B68 0036EAC8 7C 08 03 A6 */ mtlr r0
/* 80371B6C 0036EACC 4E 80 00 20 */ blr
.global cbForPrepareStreamAsync
cbForPrepareStreamAsync:
/* 80371B70 0036EAD0 7C 08 02 A6 */ mflr r0
/* 80371B74 0036EAD4 90 01 00 04 */ stw r0, 4(r1)
/* 80371B78 0036EAD8 94 21 FF F8 */ stwu r1, -8(r1)
/* 80371B7C 0036EADC 81 84 00 38 */ lwz r12, 0x38(r4)
/* 80371B80 0036EAE0 28 0C 00 00 */ cmplwi r12, 0
/* 80371B84 0036EAE4 41 82 00 0C */ beq lbl_80371B90
/* 80371B88 0036EAE8 7D 88 03 A6 */ mtlr r12
/* 80371B8C 0036EAEC 4E 80 00 21 */ blrl
lbl_80371B90:
/* 80371B90 0036EAF0 80 01 00 0C */ lwz r0, 0xc(r1)
/* 80371B94 0036EAF4 38 21 00 08 */ addi r1, r1, 8
/* 80371B98 0036EAF8 7C 08 03 A6 */ mtlr r0
/* 80371B9C 0036EAFC 4E 80 00 20 */ blr

View File

@ -1,74 +0,0 @@
.include "macros.inc"
.section .text, "ax"
.global DVDCompareDiskID
DVDCompareDiskID:
/* 80374C48 00371BA8 7C 08 02 A6 */ mflr r0
/* 80374C4C 00371BAC 90 01 00 04 */ stw r0, 4(r1)
/* 80374C50 00371BB0 94 21 FF E8 */ stwu r1, -0x18(r1)
/* 80374C54 00371BB4 93 E1 00 14 */ stw r31, 0x14(r1)
/* 80374C58 00371BB8 3B E4 00 00 */ addi r31, r4, 0
/* 80374C5C 00371BBC 93 C1 00 10 */ stw r30, 0x10(r1)
/* 80374C60 00371BC0 7C 7E 1B 78 */ mr r30, r3
/* 80374C64 00371BC4 88 03 00 00 */ lbz r0, 0(r3)
/* 80374C68 00371BC8 7C 00 07 75 */ extsb. r0, r0
/* 80374C6C 00371BCC 41 82 00 30 */ beq lbl_80374C9C
/* 80374C70 00371BD0 88 1F 00 00 */ lbz r0, 0(r31)
/* 80374C74 00371BD4 7C 00 07 75 */ extsb. r0, r0
/* 80374C78 00371BD8 41 82 00 24 */ beq lbl_80374C9C
/* 80374C7C 00371BDC 38 7E 00 00 */ addi r3, r30, 0
/* 80374C80 00371BE0 38 9F 00 00 */ addi r4, r31, 0
/* 80374C84 00371BE4 38 A0 00 04 */ li r5, 4
/* 80374C88 00371BE8 48 01 B2 D5 */ bl strncmp
/* 80374C8C 00371BEC 2C 03 00 00 */ cmpwi r3, 0
/* 80374C90 00371BF0 41 82 00 0C */ beq lbl_80374C9C
/* 80374C94 00371BF4 38 60 00 00 */ li r3, 0
/* 80374C98 00371BF8 48 00 00 90 */ b lbl_80374D28
lbl_80374C9C:
/* 80374C9C 00371BFC 88 1E 00 04 */ lbz r0, 4(r30)
/* 80374CA0 00371C00 7C 00 07 75 */ extsb. r0, r0
/* 80374CA4 00371C04 41 82 00 28 */ beq lbl_80374CCC
/* 80374CA8 00371C08 88 1F 00 04 */ lbz r0, 4(r31)
/* 80374CAC 00371C0C 7C 00 07 75 */ extsb. r0, r0
/* 80374CB0 00371C10 41 82 00 1C */ beq lbl_80374CCC
/* 80374CB4 00371C14 38 7E 00 04 */ addi r3, r30, 4
/* 80374CB8 00371C18 38 9F 00 04 */ addi r4, r31, 4
/* 80374CBC 00371C1C 38 A0 00 02 */ li r5, 2
/* 80374CC0 00371C20 48 01 B2 9D */ bl strncmp
/* 80374CC4 00371C24 2C 03 00 00 */ cmpwi r3, 0
/* 80374CC8 00371C28 41 82 00 0C */ beq lbl_80374CD4
lbl_80374CCC:
/* 80374CCC 00371C2C 38 60 00 00 */ li r3, 0
/* 80374CD0 00371C30 48 00 00 58 */ b lbl_80374D28
lbl_80374CD4:
/* 80374CD4 00371C34 88 7E 00 06 */ lbz r3, 6(r30)
/* 80374CD8 00371C38 28 03 00 FF */ cmplwi r3, 0xff
/* 80374CDC 00371C3C 41 82 00 20 */ beq lbl_80374CFC
/* 80374CE0 00371C40 88 1F 00 06 */ lbz r0, 6(r31)
/* 80374CE4 00371C44 28 00 00 FF */ cmplwi r0, 0xff
/* 80374CE8 00371C48 41 82 00 14 */ beq lbl_80374CFC
/* 80374CEC 00371C4C 7C 03 00 40 */ cmplw r3, r0
/* 80374CF0 00371C50 41 82 00 0C */ beq lbl_80374CFC
/* 80374CF4 00371C54 38 60 00 00 */ li r3, 0
/* 80374CF8 00371C58 48 00 00 30 */ b lbl_80374D28
lbl_80374CFC:
/* 80374CFC 00371C5C 88 7E 00 07 */ lbz r3, 7(r30)
/* 80374D00 00371C60 28 03 00 FF */ cmplwi r3, 0xff
/* 80374D04 00371C64 41 82 00 20 */ beq lbl_80374D24
/* 80374D08 00371C68 88 1F 00 07 */ lbz r0, 7(r31)
/* 80374D0C 00371C6C 28 00 00 FF */ cmplwi r0, 0xff
/* 80374D10 00371C70 41 82 00 14 */ beq lbl_80374D24
/* 80374D14 00371C74 7C 03 00 40 */ cmplw r3, r0
/* 80374D18 00371C78 41 82 00 0C */ beq lbl_80374D24
/* 80374D1C 00371C7C 38 60 00 00 */ li r3, 0
/* 80374D20 00371C80 48 00 00 08 */ b lbl_80374D28
lbl_80374D24:
/* 80374D24 00371C84 38 60 00 01 */ li r3, 1
lbl_80374D28:
/* 80374D28 00371C88 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 80374D2C 00371C8C 83 E1 00 14 */ lwz r31, 0x14(r1)
/* 80374D30 00371C90 83 C1 00 10 */ lwz r30, 0x10(r1)
/* 80374D34 00371C94 38 21 00 18 */ addi r1, r1, 0x18
/* 80374D38 00371C98 7C 08 03 A6 */ mtlr r0
/* 80374D3C 00371C9C 4E 80 00 20 */ blr

File diff suppressed because it is too large Load Diff

View File

@ -1,159 +0,0 @@
.include "macros.inc"
.section .bss
.balign 8
.obj WaitingQueue, local
.skip 0x20
.endobj WaitingQueue
.section .text, "ax"
.fn __DVDClearWaitingQueue
/* 803748B8 00371818 3C 60 80 54 */ lis r3, WaitingQueue@ha
/* 803748BC 0037181C 38 63 0B F8 */ addi r3, r3, WaitingQueue@l
/* 803748C0 00371820 90 63 00 00 */ stw r3, 0(r3)
/* 803748C4 00371824 38 A3 00 08 */ addi r5, r3, 8
/* 803748C8 00371828 38 83 00 10 */ addi r4, r3, 0x10
/* 803748CC 0037182C 90 63 00 04 */ stw r3, 4(r3)
/* 803748D0 00371830 38 63 00 18 */ addi r3, r3, 0x18
/* 803748D4 00371834 90 A5 00 00 */ stw r5, 0(r5)
/* 803748D8 00371838 90 A5 00 04 */ stw r5, 4(r5)
/* 803748DC 0037183C 90 84 00 00 */ stw r4, 0(r4)
/* 803748E0 00371840 90 84 00 04 */ stw r4, 4(r4)
/* 803748E4 00371844 90 63 00 00 */ stw r3, 0(r3)
/* 803748E8 00371848 90 63 00 04 */ stw r3, 4(r3)
/* 803748EC 0037184C 4E 80 00 20 */ blr
.endfn __DVDClearWaitingQueue
.fn __DVDPushWaitingQueue
/* 803748F0 00371850 7C 08 02 A6 */ mflr r0
/* 803748F4 00371854 90 01 00 04 */ stw r0, 4(r1)
/* 803748F8 00371858 94 21 FF E8 */ stwu r1, -0x18(r1)
/* 803748FC 0037185C 93 E1 00 14 */ stw r31, 0x14(r1)
/* 80374900 00371860 3B E4 00 00 */ addi r31, r4, 0
/* 80374904 00371864 93 C1 00 10 */ stw r30, 0x10(r1)
/* 80374908 00371868 3B C3 00 00 */ addi r30, r3, 0
/* 8037490C 0037186C 48 00 CD 55 */ bl OSDisableInterrupts
/* 80374910 00371870 3C 80 80 54 */ lis r4, WaitingQueue@ha
/* 80374914 00371874 57 C5 18 38 */ slwi r5, r30, 3
/* 80374918 00371878 38 04 0B F8 */ addi r0, r4, WaitingQueue@l
/* 8037491C 0037187C 7C A0 2A 14 */ add r5, r0, r5
/* 80374920 00371880 80 85 00 04 */ lwz r4, 4(r5)
/* 80374924 00371884 93 E4 00 00 */ stw r31, 0(r4)
/* 80374928 00371888 80 05 00 04 */ lwz r0, 4(r5)
/* 8037492C 0037188C 90 1F 00 04 */ stw r0, 4(r31)
/* 80374930 00371890 90 BF 00 00 */ stw r5, 0(r31)
/* 80374934 00371894 93 E5 00 04 */ stw r31, 4(r5)
/* 80374938 00371898 48 00 CD 51 */ bl OSRestoreInterrupts
/* 8037493C 0037189C 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 80374940 003718A0 38 60 00 01 */ li r3, 1
/* 80374944 003718A4 83 E1 00 14 */ lwz r31, 0x14(r1)
/* 80374948 003718A8 83 C1 00 10 */ lwz r30, 0x10(r1)
/* 8037494C 003718AC 38 21 00 18 */ addi r1, r1, 0x18
/* 80374950 003718B0 7C 08 03 A6 */ mtlr r0
/* 80374954 003718B4 4E 80 00 20 */ blr
.endfn __DVDPushWaitingQueue
.fn __DVDPopWaitingQueue
/* 80374958 003718B8 7C 08 02 A6 */ mflr r0
/* 8037495C 003718BC 90 01 00 04 */ stw r0, 4(r1)
/* 80374960 003718C0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80374964 003718C4 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80374968 003718C8 48 00 CC F9 */ bl OSDisableInterrupts
/* 8037496C 003718CC 38 00 00 04 */ li r0, 4
/* 80374970 003718D0 3C 80 80 54 */ lis r4, WaitingQueue@ha
/* 80374974 003718D4 7C 09 03 A6 */ mtctr r0
/* 80374978 003718D8 38 84 0B F8 */ addi r4, r4, WaitingQueue@l
/* 8037497C 003718DC 3B E0 00 00 */ li r31, 0
.L_80374980:
/* 80374980 003718E0 80 04 00 00 */ lwz r0, 0(r4)
/* 80374984 003718E4 7C 00 20 40 */ cmplw r0, r4
/* 80374988 003718E8 41 82 00 48 */ beq .L_803749D0
/* 8037498C 003718EC 48 00 CC FD */ bl OSRestoreInterrupts
/* 80374990 003718F0 48 00 CC D1 */ bl OSDisableInterrupts
/* 80374994 003718F4 3C 80 80 54 */ lis r4, WaitingQueue@ha
/* 80374998 003718F8 57 E5 18 38 */ slwi r5, r31, 3
/* 8037499C 003718FC 38 04 0B F8 */ addi r0, r4, WaitingQueue@l
/* 803749A0 00371900 7C A0 2A 14 */ add r5, r0, r5
/* 803749A4 00371904 83 E5 00 00 */ lwz r31, 0(r5)
/* 803749A8 00371908 80 1F 00 00 */ lwz r0, 0(r31)
/* 803749AC 0037190C 90 05 00 00 */ stw r0, 0(r5)
/* 803749B0 00371910 80 9F 00 00 */ lwz r4, 0(r31)
/* 803749B4 00371914 90 A4 00 04 */ stw r5, 4(r4)
/* 803749B8 00371918 48 00 CC D1 */ bl OSRestoreInterrupts
/* 803749BC 0037191C 38 00 00 00 */ li r0, 0
/* 803749C0 00371920 90 1F 00 00 */ stw r0, 0(r31)
/* 803749C4 00371924 7F E3 FB 78 */ mr r3, r31
/* 803749C8 00371928 90 1F 00 04 */ stw r0, 4(r31)
/* 803749CC 0037192C 48 00 00 18 */ b .L_803749E4
.L_803749D0:
/* 803749D0 00371930 38 84 00 08 */ addi r4, r4, 8
/* 803749D4 00371934 3B FF 00 01 */ addi r31, r31, 1
/* 803749D8 00371938 42 00 FF A8 */ bdnz .L_80374980
/* 803749DC 0037193C 48 00 CC AD */ bl OSRestoreInterrupts
/* 803749E0 00371940 38 60 00 00 */ li r3, 0
.L_803749E4:
/* 803749E4 00371944 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803749E8 00371948 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 803749EC 0037194C 38 21 00 10 */ addi r1, r1, 0x10
/* 803749F0 00371950 7C 08 03 A6 */ mtlr r0
/* 803749F4 00371954 4E 80 00 20 */ blr
.endfn __DVDPopWaitingQueue
.fn __DVDCheckWaitingQueue
/* 803749F8 00371958 7C 08 02 A6 */ mflr r0
/* 803749FC 0037195C 90 01 00 04 */ stw r0, 4(r1)
/* 80374A00 00371960 94 21 FF F8 */ stwu r1, -8(r1)
/* 80374A04 00371964 48 00 CC 5D */ bl OSDisableInterrupts
/* 80374A08 00371968 38 00 00 04 */ li r0, 4
/* 80374A0C 0037196C 3C 80 80 54 */ lis r4, WaitingQueue@ha
/* 80374A10 00371970 7C 09 03 A6 */ mtctr r0
/* 80374A14 00371974 38 84 0B F8 */ addi r4, r4, WaitingQueue@l
.L_80374A18:
/* 80374A18 00371978 80 04 00 00 */ lwz r0, 0(r4)
/* 80374A1C 0037197C 7C 00 20 40 */ cmplw r0, r4
/* 80374A20 00371980 41 82 00 10 */ beq .L_80374A30
/* 80374A24 00371984 48 00 CC 65 */ bl OSRestoreInterrupts
/* 80374A28 00371988 38 60 00 01 */ li r3, 1
/* 80374A2C 0037198C 48 00 00 14 */ b .L_80374A40
.L_80374A30:
/* 80374A30 00371990 38 84 00 08 */ addi r4, r4, 8
/* 80374A34 00371994 42 00 FF E4 */ bdnz .L_80374A18
/* 80374A38 00371998 48 00 CC 51 */ bl OSRestoreInterrupts
/* 80374A3C 0037199C 38 60 00 00 */ li r3, 0
.L_80374A40:
/* 80374A40 003719A0 80 01 00 0C */ lwz r0, 0xc(r1)
/* 80374A44 003719A4 38 21 00 08 */ addi r1, r1, 8
/* 80374A48 003719A8 7C 08 03 A6 */ mtlr r0
/* 80374A4C 003719AC 4E 80 00 20 */ blr
.endfn __DVDCheckWaitingQueue
.fn __DVDDequeueWaitingQueue
/* 80374A50 003719B0 7C 08 02 A6 */ mflr r0
/* 80374A54 003719B4 90 01 00 04 */ stw r0, 4(r1)
/* 80374A58 003719B8 94 21 FF E8 */ stwu r1, -0x18(r1)
/* 80374A5C 003719BC 93 E1 00 14 */ stw r31, 0x14(r1)
/* 80374A60 003719C0 7C 7F 1B 78 */ mr r31, r3
/* 80374A64 003719C4 48 00 CB FD */ bl OSDisableInterrupts
/* 80374A68 003719C8 80 9F 00 04 */ lwz r4, 4(r31)
/* 80374A6C 003719CC 80 BF 00 00 */ lwz r5, 0(r31)
/* 80374A70 003719D0 28 04 00 00 */ cmplwi r4, 0
/* 80374A74 003719D4 41 82 00 0C */ beq .L_80374A80
/* 80374A78 003719D8 28 05 00 00 */ cmplwi r5, 0
/* 80374A7C 003719DC 40 82 00 10 */ bne .L_80374A8C
.L_80374A80:
/* 80374A80 003719E0 48 00 CC 09 */ bl OSRestoreInterrupts
/* 80374A84 003719E4 38 60 00 00 */ li r3, 0
/* 80374A88 003719E8 48 00 00 14 */ b .L_80374A9C
.L_80374A8C:
/* 80374A8C 003719EC 90 A4 00 00 */ stw r5, 0(r4)
/* 80374A90 003719F0 90 85 00 04 */ stw r4, 4(r5)
/* 80374A94 003719F4 48 00 CB F5 */ bl OSRestoreInterrupts
/* 80374A98 003719F8 38 60 00 01 */ li r3, 1
.L_80374A9C:
/* 80374A9C 003719FC 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 80374AA0 00371A00 83 E1 00 14 */ lwz r31, 0x14(r1)
/* 80374AA4 00371A04 38 21 00 18 */ addi r1, r1, 0x18
/* 80374AA8 00371A08 7C 08 03 A6 */ mtlr r0
/* 80374AAC 00371A0C 4E 80 00 20 */ blr
.endfn __DVDDequeueWaitingQueue

View File

@ -1,209 +0,0 @@
.include "macros.inc"
.section .bss
.balign 8
lbl_80540C18:
.skip 0x40
lbl_80540C58:
.skip 0x30
.section .sbss
.balign 8
status:
.skip 0x4
bb2:
.skip 0x4
idTmp:
.skip 0x8
.section .sdata
.balign 8
.global lbl_805A8AB8
lbl_805A8AB8:
# ROM: 0x3F6458
.4byte 0x0A000000
.global lbl_805A8ABC
lbl_805A8ABC:
# ROM: 0x3F645C
.4byte 0x4F464600
.global lbl_805A8AC0
lbl_805A8AC0:
# ROM: 0x3F6460
.4byte 0x4F4E0000
.4byte 0
.section .data
.balign 8
lbl_803F0578:
# ROM: 0x3ED578
.asciz " Game Name ... %c%c%c%c\n"
.balign 4
.asciz " Company ..... %c%c\n"
.balign 4
.asciz " Disk # ...... %d\n"
.asciz " Game ver .... %d\n"
.asciz " Streaming ... %s\n"
.section .text, "ax"
.global cb
cb:
/* 80374E6C 00371DCC 7C 08 02 A6 */ mflr r0
/* 80374E70 00371DD0 2C 03 00 00 */ cmpwi r3, 0
/* 80374E74 00371DD4 90 01 00 04 */ stw r0, 4(r1)
/* 80374E78 00371DD8 94 21 FF E8 */ stwu r1, -0x18(r1)
/* 80374E7C 00371DDC 93 E1 00 14 */ stw r31, 0x14(r1)
/* 80374E80 00371DE0 3B E4 00 00 */ addi r31, r4, 0
/* 80374E84 00371DE4 40 81 00 7C */ ble lbl_80374F00
/* 80374E88 00371DE8 80 0D AC 68 */ lwz r0, status@sda21(r13)
/* 80374E8C 00371DEC 2C 00 00 01 */ cmpwi r0, 1
/* 80374E90 00371DF0 41 82 00 3C */ beq lbl_80374ECC
/* 80374E94 00371DF4 40 80 00 9C */ bge lbl_80374F30
/* 80374E98 00371DF8 2C 00 00 00 */ cmpwi r0, 0
/* 80374E9C 00371DFC 40 80 00 08 */ bge lbl_80374EA4
/* 80374EA0 00371E00 48 00 00 90 */ b lbl_80374F30
lbl_80374EA4:
/* 80374EA4 00371E04 38 00 00 01 */ li r0, 1
/* 80374EA8 00371E08 80 8D AC 6C */ lwz r4, bb2@sda21(r13)
/* 80374EAC 00371E0C 3C 60 80 37 */ lis r3, cb@ha
/* 80374EB0 00371E10 90 0D AC 68 */ stw r0, status@sda21(r13)
/* 80374EB4 00371E14 38 E3 4E 6C */ addi r7, r3, cb@l
/* 80374EB8 00371E18 38 7F 00 00 */ addi r3, r31, 0
/* 80374EBC 00371E1C 38 A0 00 20 */ li r5, 0x20
/* 80374EC0 00371E20 38 C0 04 20 */ li r6, 0x420
/* 80374EC4 00371E24 4B FF EB 0D */ bl DVDReadAbsAsyncForBS
/* 80374EC8 00371E28 48 00 00 68 */ b lbl_80374F30
lbl_80374ECC:
/* 80374ECC 00371E2C 38 00 00 02 */ li r0, 2
/* 80374ED0 00371E30 80 CD AC 6C */ lwz r6, bb2@sda21(r13)
/* 80374ED4 00371E34 90 0D AC 68 */ stw r0, status@sda21(r13)
/* 80374ED8 00371E38 3C 60 80 37 */ lis r3, cb@ha
/* 80374EDC 00371E3C 38 E3 4E 6C */ addi r7, r3, cb@l
/* 80374EE0 00371E40 80 A6 00 08 */ lwz r5, 8(r6)
/* 80374EE4 00371E44 7F E3 FB 78 */ mr r3, r31
/* 80374EE8 00371E48 80 86 00 10 */ lwz r4, 0x10(r6)
/* 80374EEC 00371E4C 38 05 00 1F */ addi r0, r5, 0x1f
/* 80374EF0 00371E50 80 C6 00 04 */ lwz r6, 4(r6)
/* 80374EF4 00371E54 54 05 00 34 */ rlwinm r5, r0, 0, 0, 0x1a
/* 80374EF8 00371E58 4B FF EA D9 */ bl DVDReadAbsAsyncForBS
/* 80374EFC 00371E5C 48 00 00 34 */ b lbl_80374F30
lbl_80374F00:
/* 80374F00 00371E60 2C 03 FF FF */ cmpwi r3, -1
/* 80374F04 00371E64 41 82 00 2C */ beq lbl_80374F30
/* 80374F08 00371E68 2C 03 FF FC */ cmpwi r3, -4
/* 80374F0C 00371E6C 40 82 00 24 */ bne lbl_80374F30
/* 80374F10 00371E70 38 00 00 00 */ li r0, 0
/* 80374F14 00371E74 90 0D AC 68 */ stw r0, status@sda21(r13)
/* 80374F18 00371E78 4B FF F1 A9 */ bl DVDReset
/* 80374F1C 00371E7C 3C 60 80 37 */ lis r3, cb@ha
/* 80374F20 00371E80 80 8D AC 70 */ lwz r4, idTmp@sda21(r13)
/* 80374F24 00371E84 38 A3 4E 6C */ addi r5, r3, cb@l
/* 80374F28 00371E88 38 7F 00 00 */ addi r3, r31, 0
/* 80374F2C 00371E8C 4B FF EB 75 */ bl DVDReadDiskID
lbl_80374F30:
/* 80374F30 00371E90 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 80374F34 00371E94 83 E1 00 14 */ lwz r31, 0x14(r1)
/* 80374F38 00371E98 38 21 00 18 */ addi r1, r1, 0x18
/* 80374F3C 00371E9C 7C 08 03 A6 */ mtlr r0
/* 80374F40 00371EA0 4E 80 00 20 */ blr
.global __fstLoad
__fstLoad:
/* 80374F44 00371EA4 7C 08 02 A6 */ mflr r0
/* 80374F48 00371EA8 3C 60 80 3F */ lis r3, lbl_803F0578@ha
/* 80374F4C 00371EAC 90 01 00 04 */ stw r0, 4(r1)
/* 80374F50 00371EB0 94 21 FF A0 */ stwu r1, -0x60(r1)
/* 80374F54 00371EB4 93 E1 00 5C */ stw r31, 0x5c(r1)
/* 80374F58 00371EB8 3B E3 05 78 */ addi r31, r3, lbl_803F0578@l
/* 80374F5C 00371EBC 93 C1 00 58 */ stw r30, 0x58(r1)
/* 80374F60 00371EC0 93 A1 00 54 */ stw r29, 0x54(r1)
/* 80374F64 00371EC4 48 00 98 2D */ bl OSGetArenaHi
/* 80374F68 00371EC8 3C 60 80 54 */ lis r3, lbl_80540C18@ha
/* 80374F6C 00371ECC 38 63 0C 18 */ addi r3, r3, lbl_80540C18@l
/* 80374F70 00371ED0 38 81 00 2B */ addi r4, r1, 0x2b
/* 80374F74 00371ED4 38 03 00 1F */ addi r0, r3, 0x1f
/* 80374F78 00371ED8 54 83 00 34 */ rlwinm r3, r4, 0, 0, 0x1a
/* 80374F7C 00371EDC 54 00 00 34 */ rlwinm r0, r0, 0, 0, 0x1a
/* 80374F80 00371EE0 90 6D AC 70 */ stw r3, idTmp@sda21(r13)
/* 80374F84 00371EE4 90 0D AC 6C */ stw r0, bb2@sda21(r13)
/* 80374F88 00371EE8 4B FF F1 39 */ bl DVDReset
/* 80374F8C 00371EEC 3C 60 80 54 */ lis r3, lbl_80540C58@ha
/* 80374F90 00371EF0 80 8D AC 70 */ lwz r4, idTmp@sda21(r13)
/* 80374F94 00371EF4 3C A0 80 37 */ lis r5, cb@ha
/* 80374F98 00371EF8 38 63 0C 58 */ addi r3, r3, lbl_80540C58@l
/* 80374F9C 00371EFC 38 A5 4E 6C */ addi r5, r5, cb@l
/* 80374FA0 00371F00 4B FF EB 01 */ bl DVDReadDiskID
lbl_80374FA4:
/* 80374FA4 00371F04 4B FF F1 AD */ bl DVDGetDriveStatus
/* 80374FA8 00371F08 2C 03 00 00 */ cmpwi r3, 0
/* 80374FAC 00371F0C 40 82 FF F8 */ bne lbl_80374FA4
/* 80374FB0 00371F10 80 6D AC 6C */ lwz r3, bb2@sda21(r13)
/* 80374FB4 00371F14 3F A0 80 00 */ lis r29, 0x80000000@ha
/* 80374FB8 00371F18 3F C0 80 00 */ lis r30, 0x80000038@ha
/* 80374FBC 00371F1C 80 03 00 10 */ lwz r0, 0x10(r3)
/* 80374FC0 00371F20 38 7D 00 00 */ addi r3, r29, 0x80000000@l
/* 80374FC4 00371F24 38 A0 00 20 */ li r5, 0x20
/* 80374FC8 00371F28 90 1E 00 38 */ stw r0, 0x80000038@l(r30)
/* 80374FCC 00371F2C 80 8D AC 6C */ lwz r4, bb2@sda21(r13)
/* 80374FD0 00371F30 80 04 00 0C */ lwz r0, 0xc(r4)
/* 80374FD4 00371F34 90 1E 00 3C */ stw r0, 0x3c(r30)
/* 80374FD8 00371F38 80 8D AC 70 */ lwz r4, idTmp@sda21(r13)
/* 80374FDC 00371F3C 4B C8 E4 B5 */ bl memcpy
/* 80374FE0 00371F40 38 6D 9E F8 */ addi r3, r13, lbl_805A8AB8@sda21
/* 80374FE4 00371F44 4C C6 31 82 */ crclr 6
/* 80374FE8 00371F48 48 00 A9 C5 */ bl OSReport
/* 80374FEC 00371F4C 88 9D 00 00 */ lbz r4, 0(r29)
/* 80374FF0 00371F50 7F E3 FB 78 */ mr r3, r31
/* 80374FF4 00371F54 88 BD 00 01 */ lbz r5, 1(r29)
/* 80374FF8 00371F58 4C C6 31 82 */ crclr 6
/* 80374FFC 00371F5C 88 DD 00 02 */ lbz r6, 2(r29)
/* 80375000 00371F60 88 FD 00 03 */ lbz r7, 3(r29)
/* 80375004 00371F64 7C 84 07 74 */ extsb r4, r4
/* 80375008 00371F68 7C A5 07 74 */ extsb r5, r5
/* 8037500C 00371F6C 7C C6 07 74 */ extsb r6, r6
/* 80375010 00371F70 7C E7 07 74 */ extsb r7, r7
/* 80375014 00371F74 48 00 A9 99 */ bl OSReport
/* 80375018 00371F78 88 9D 00 04 */ lbz r4, 4(r29)
/* 8037501C 00371F7C 38 7F 00 1C */ addi r3, r31, 0x1c
/* 80375020 00371F80 88 BD 00 05 */ lbz r5, 5(r29)
/* 80375024 00371F84 4C C6 31 82 */ crclr 6
/* 80375028 00371F88 7C 84 07 74 */ extsb r4, r4
/* 8037502C 00371F8C 7C A5 07 74 */ extsb r5, r5
/* 80375030 00371F90 48 00 A9 7D */ bl OSReport
/* 80375034 00371F94 88 9D 00 06 */ lbz r4, 6(r29)
/* 80375038 00371F98 38 7F 00 34 */ addi r3, r31, 0x34
/* 8037503C 00371F9C 4C C6 31 82 */ crclr 6
/* 80375040 00371FA0 48 00 A9 6D */ bl OSReport
/* 80375044 00371FA4 88 9D 00 07 */ lbz r4, 7(r29)
/* 80375048 00371FA8 38 7F 00 48 */ addi r3, r31, 0x48
/* 8037504C 00371FAC 4C C6 31 82 */ crclr 6
/* 80375050 00371FB0 48 00 A9 5D */ bl OSReport
/* 80375054 00371FB4 88 1E 00 08 */ lbz r0, 8(r30)
/* 80375058 00371FB8 28 00 00 00 */ cmplwi r0, 0
/* 8037505C 00371FBC 40 82 00 0C */ bne lbl_80375068
/* 80375060 00371FC0 38 8D 9E FC */ addi r4, r13, lbl_805A8ABC@sda21
/* 80375064 00371FC4 48 00 00 08 */ b lbl_8037506C
lbl_80375068:
/* 80375068 00371FC8 38 8D 9F 00 */ addi r4, r13, lbl_805A8AC0@sda21
lbl_8037506C:
/* 8037506C 00371FCC 4C C6 31 82 */ crclr 6
/* 80375070 00371FD0 38 7F 00 5C */ addi r3, r31, 0x5c
/* 80375074 00371FD4 48 00 A9 39 */ bl OSReport
/* 80375078 00371FD8 38 6D 9E F8 */ addi r3, r13, lbl_805A8AB8@sda21
/* 8037507C 00371FDC 4C C6 31 82 */ crclr 6
/* 80375080 00371FE0 48 00 A9 2D */ bl OSReport
/* 80375084 00371FE4 80 6D AC 6C */ lwz r3, bb2@sda21(r13)
/* 80375088 00371FE8 80 63 00 10 */ lwz r3, 0x10(r3)
/* 8037508C 00371FEC 48 00 97 15 */ bl OSSetArenaHi
/* 80375090 00371FF0 80 01 00 64 */ lwz r0, 0x64(r1)
/* 80375094 00371FF4 83 E1 00 5C */ lwz r31, 0x5c(r1)
/* 80375098 00371FF8 83 C1 00 58 */ lwz r30, 0x58(r1)
/* 8037509C 00371FFC 83 A1 00 54 */ lwz r29, 0x54(r1)
/* 803750A0 00372000 38 21 00 60 */ addi r1, r1, 0x60
/* 803750A4 00372004 7C 08 03 A6 */ mtlr r0
/* 803750A8 00372008 4E 80 00 20 */ blr

File diff suppressed because it is too large Load Diff

View File

@ -1,204 +0,0 @@
.include "macros.inc"
.section .sbss, "wa"
.balign 8
.global lbl_805A9BE8
lbl_805A9BE8:
.skip 0x4
.global lbl_805A9BEC
lbl_805A9BEC:
.skip 0x4
.global lbl_805A9BF0
lbl_805A9BF0:
.skip 0x4
.global lbl_805A9BF4
lbl_805A9BF4:
.skip 0xC
.section .text, "ax"
.global InitializeUART
InitializeUART:
/* 803C18F0 003BE850 7C 08 02 A6 */ mflr r0
/* 803C18F4 003BE854 90 01 00 04 */ stw r0, 4(r1)
/* 803C18F8 003BE858 94 21 FF F8 */ stwu r1, -8(r1)
/* 803C18FC 003BE85C 80 6D B0 34 */ lwz r3, lbl_805A9BF4@sda21(r13)
/* 803C1900 003BE860 3C 03 5A 01 */ addis r0, r3, 0x5a01
/* 803C1904 003BE864 28 00 00 5A */ cmplwi r0, 0x5a
/* 803C1908 003BE868 40 82 00 0C */ bne lbl_803C1914
/* 803C190C 003BE86C 38 60 00 00 */ li r3, 0
/* 803C1910 003BE870 48 00 00 40 */ b lbl_803C1950
lbl_803C1914:
/* 803C1914 003BE874 4B FB BE 09 */ bl OSGetConsoleType
/* 803C1918 003BE878 54 60 00 C7 */ rlwinm. r0, r3, 0, 3, 3
/* 803C191C 003BE87C 40 82 00 14 */ bne lbl_803C1930
/* 803C1920 003BE880 38 00 00 00 */ li r0, 0
/* 803C1924 003BE884 90 0D B0 30 */ stw r0, lbl_805A9BF0@sda21(r13)
/* 803C1928 003BE888 38 60 00 02 */ li r3, 2
/* 803C192C 003BE88C 48 00 00 24 */ b lbl_803C1950
lbl_803C1930:
/* 803C1930 003BE890 3C 60 A5 FF */ lis r3, 0xA5FF005A@ha
/* 803C1934 003BE894 38 03 00 5A */ addi r0, r3, 0xA5FF005A@l
/* 803C1938 003BE898 38 60 00 00 */ li r3, 0
/* 803C193C 003BE89C 90 0D B0 30 */ stw r0, lbl_805A9BF0@sda21(r13)
/* 803C1940 003BE8A0 38 00 00 01 */ li r0, 1
/* 803C1944 003BE8A4 90 6D B0 28 */ stw r3, lbl_805A9BE8@sda21(r13)
/* 803C1948 003BE8A8 38 60 00 00 */ li r3, 0
/* 803C194C 003BE8AC 90 0D B0 2C */ stw r0, lbl_805A9BEC@sda21(r13)
lbl_803C1950:
/* 803C1950 003BE8B0 80 01 00 0C */ lwz r0, 0xc(r1)
/* 803C1954 003BE8B4 38 21 00 08 */ addi r1, r1, 8
/* 803C1958 003BE8B8 7C 08 03 A6 */ mtlr r0
/* 803C195C 003BE8BC 4E 80 00 20 */ blr
.global WriteUARTN
WriteUARTN:
/* 803C1960 003BE8C0 7C 08 02 A6 */ mflr r0
/* 803C1964 003BE8C4 90 01 00 04 */ stw r0, 4(r1)
/* 803C1968 003BE8C8 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 803C196C 003BE8CC BF 41 00 18 */ stmw r26, 0x18(r1)
/* 803C1970 003BE8D0 3B C3 00 00 */ addi r30, r3, 0
/* 803C1974 003BE8D4 3B E4 00 00 */ addi r31, r4, 0
/* 803C1978 003BE8D8 80 AD B0 30 */ lwz r5, lbl_805A9BF0@sda21(r13)
/* 803C197C 003BE8DC 3C 05 5A 01 */ addis r0, r5, 0x5a01
/* 803C1980 003BE8E0 28 00 00 5A */ cmplwi r0, 0x5a
/* 803C1984 003BE8E4 41 82 00 0C */ beq lbl_803C1990
/* 803C1988 003BE8E8 38 60 00 02 */ li r3, 2
/* 803C198C 003BE8EC 48 00 01 C0 */ b lbl_803C1B4C
lbl_803C1990:
/* 803C1990 003BE8F0 80 6D B0 28 */ lwz r3, lbl_805A9BE8@sda21(r13)
/* 803C1994 003BE8F4 38 A0 00 00 */ li r5, 0
/* 803C1998 003BE8F8 80 8D B0 2C */ lwz r4, lbl_805A9BEC@sda21(r13)
/* 803C199C 003BE8FC 4B FF F9 C9 */ bl EXILock
/* 803C19A0 003BE900 2C 03 00 00 */ cmpwi r3, 0
/* 803C19A4 003BE904 40 82 00 0C */ bne lbl_803C19B0
/* 803C19A8 003BE908 38 60 00 00 */ li r3, 0
/* 803C19AC 003BE90C 48 00 01 A0 */ b lbl_803C1B4C
lbl_803C19B0:
/* 803C19B0 003BE910 38 9E 00 00 */ addi r4, r30, 0
/* 803C19B4 003BE914 38 60 00 0D */ li r3, 0xd
/* 803C19B8 003BE918 48 00 00 18 */ b lbl_803C19D0
lbl_803C19BC:
/* 803C19BC 003BE91C 88 04 00 00 */ lbz r0, 0(r4)
/* 803C19C0 003BE920 2C 00 00 0A */ cmpwi r0, 0xa
/* 803C19C4 003BE924 40 82 00 08 */ bne lbl_803C19CC
/* 803C19C8 003BE928 98 64 00 00 */ stb r3, 0(r4)
lbl_803C19CC:
/* 803C19CC 003BE92C 38 84 00 01 */ addi r4, r4, 1
lbl_803C19D0:
/* 803C19D0 003BE930 7C 1E 20 50 */ subf r0, r30, r4
/* 803C19D4 003BE934 7C 00 F8 40 */ cmplw r0, r31
/* 803C19D8 003BE938 41 80 FF E4 */ blt lbl_803C19BC
/* 803C19DC 003BE93C 3C 00 A0 01 */ lis r0, 0xa001
/* 803C19E0 003BE940 90 01 00 14 */ stw r0, 0x14(r1)
/* 803C19E4 003BE944 3B 40 00 00 */ li r26, 0
/* 803C19E8 003BE948 3F A0 20 01 */ lis r29, 0x2001
/* 803C19EC 003BE94C 48 00 01 4C */ b lbl_803C1B38
lbl_803C19F0:
/* 803C19F0 003BE950 80 6D B0 28 */ lwz r3, lbl_805A9BE8@sda21(r13)
/* 803C19F4 003BE954 38 A0 00 03 */ li r5, 3
/* 803C19F8 003BE958 80 8D B0 2C */ lwz r4, lbl_805A9BEC@sda21(r13)
/* 803C19FC 003BE95C 4B FF F2 61 */ bl EXISelect
/* 803C1A00 003BE960 2C 03 00 00 */ cmpwi r3, 0
/* 803C1A04 003BE964 40 82 00 0C */ bne lbl_803C1A10
/* 803C1A08 003BE968 38 00 FF FF */ li r0, -1
/* 803C1A0C 003BE96C 48 00 00 5C */ b lbl_803C1A68
lbl_803C1A10:
/* 803C1A10 003BE970 93 A1 00 10 */ stw r29, 0x10(r1)
/* 803C1A14 003BE974 38 81 00 10 */ addi r4, r1, 0x10
/* 803C1A18 003BE978 80 6D B0 28 */ lwz r3, lbl_805A9BE8@sda21(r13)
/* 803C1A1C 003BE97C 38 A0 00 04 */ li r5, 4
/* 803C1A20 003BE980 38 C0 00 01 */ li r6, 1
/* 803C1A24 003BE984 38 E0 00 00 */ li r7, 0
/* 803C1A28 003BE988 4B FF E6 E1 */ bl EXIImm
/* 803C1A2C 003BE98C 80 6D B0 28 */ lwz r3, lbl_805A9BE8@sda21(r13)
/* 803C1A30 003BE990 4B FF EA C1 */ bl EXISync
/* 803C1A34 003BE994 80 6D B0 28 */ lwz r3, lbl_805A9BE8@sda21(r13)
/* 803C1A38 003BE998 38 81 00 10 */ addi r4, r1, 0x10
/* 803C1A3C 003BE99C 38 A0 00 01 */ li r5, 1
/* 803C1A40 003BE9A0 38 C0 00 00 */ li r6, 0
/* 803C1A44 003BE9A4 38 E0 00 00 */ li r7, 0
/* 803C1A48 003BE9A8 4B FF E6 C1 */ bl EXIImm
/* 803C1A4C 003BE9AC 80 6D B0 28 */ lwz r3, lbl_805A9BE8@sda21(r13)
/* 803C1A50 003BE9B0 4B FF EA A1 */ bl EXISync
/* 803C1A54 003BE9B4 80 6D B0 28 */ lwz r3, lbl_805A9BE8@sda21(r13)
/* 803C1A58 003BE9B8 4B FF F3 31 */ bl EXIDeselect
/* 803C1A5C 003BE9BC 80 01 00 10 */ lwz r0, 0x10(r1)
/* 803C1A60 003BE9C0 54 00 46 3E */ srwi r0, r0, 0x18
/* 803C1A64 003BE9C4 20 00 00 10 */ subfic r0, r0, 0x10
lbl_803C1A68:
/* 803C1A68 003BE9C8 2C 00 00 00 */ cmpwi r0, 0
/* 803C1A6C 003BE9CC 7C 1B 03 78 */ mr r27, r0
/* 803C1A70 003BE9D0 40 80 00 0C */ bge lbl_803C1A7C
/* 803C1A74 003BE9D4 3B 40 00 03 */ li r26, 3
/* 803C1A78 003BE9D8 48 00 00 C8 */ b lbl_803C1B40
lbl_803C1A7C:
/* 803C1A7C 003BE9DC 2C 00 00 0C */ cmpwi r0, 0xc
/* 803C1A80 003BE9E0 40 80 00 0C */ bge lbl_803C1A8C
/* 803C1A84 003BE9E4 7C 00 F8 40 */ cmplw r0, r31
/* 803C1A88 003BE9E8 41 80 00 B0 */ blt lbl_803C1B38
lbl_803C1A8C:
/* 803C1A8C 003BE9EC 80 6D B0 28 */ lwz r3, lbl_805A9BE8@sda21(r13)
/* 803C1A90 003BE9F0 38 A0 00 03 */ li r5, 3
/* 803C1A94 003BE9F4 80 8D B0 2C */ lwz r4, lbl_805A9BEC@sda21(r13)
/* 803C1A98 003BE9F8 4B FF F1 C5 */ bl EXISelect
/* 803C1A9C 003BE9FC 2C 03 00 00 */ cmpwi r3, 0
/* 803C1AA0 003BEA00 40 82 00 0C */ bne lbl_803C1AAC
/* 803C1AA4 003BEA04 3B 40 00 03 */ li r26, 3
/* 803C1AA8 003BEA08 48 00 00 98 */ b lbl_803C1B40
lbl_803C1AAC:
/* 803C1AAC 003BEA0C 80 6D B0 28 */ lwz r3, lbl_805A9BE8@sda21(r13)
/* 803C1AB0 003BEA10 38 81 00 14 */ addi r4, r1, 0x14
/* 803C1AB4 003BEA14 38 A0 00 04 */ li r5, 4
/* 803C1AB8 003BEA18 38 C0 00 01 */ li r6, 1
/* 803C1ABC 003BEA1C 38 E0 00 00 */ li r7, 0
/* 803C1AC0 003BEA20 4B FF E6 49 */ bl EXIImm
/* 803C1AC4 003BEA24 80 6D B0 28 */ lwz r3, lbl_805A9BE8@sda21(r13)
/* 803C1AC8 003BEA28 4B FF EA 29 */ bl EXISync
/* 803C1ACC 003BEA2C 48 00 00 54 */ b lbl_803C1B20
lbl_803C1AD0:
/* 803C1AD0 003BEA30 2C 1B 00 04 */ cmpwi r27, 4
/* 803C1AD4 003BEA34 40 80 00 0C */ bge lbl_803C1AE0
/* 803C1AD8 003BEA38 7C 1B F8 40 */ cmplw r27, r31
/* 803C1ADC 003BEA3C 41 80 00 54 */ blt lbl_803C1B30
lbl_803C1AE0:
/* 803C1AE0 003BEA40 28 1F 00 04 */ cmplwi r31, 4
/* 803C1AE4 003BEA44 40 80 00 0C */ bge lbl_803C1AF0
/* 803C1AE8 003BEA48 7F FC FB 78 */ mr r28, r31
/* 803C1AEC 003BEA4C 48 00 00 08 */ b lbl_803C1AF4
lbl_803C1AF0:
/* 803C1AF0 003BEA50 3B 80 00 04 */ li r28, 4
lbl_803C1AF4:
/* 803C1AF4 003BEA54 80 6D B0 28 */ lwz r3, lbl_805A9BE8@sda21(r13)
/* 803C1AF8 003BEA58 7F 85 E3 78 */ mr r5, r28
/* 803C1AFC 003BEA5C 38 9E 00 00 */ addi r4, r30, 0
/* 803C1B00 003BEA60 38 C0 00 01 */ li r6, 1
/* 803C1B04 003BEA64 38 E0 00 00 */ li r7, 0
/* 803C1B08 003BEA68 4B FF E6 01 */ bl EXIImm
/* 803C1B0C 003BEA6C 80 6D B0 28 */ lwz r3, lbl_805A9BE8@sda21(r13)
/* 803C1B10 003BEA70 7F DE E2 14 */ add r30, r30, r28
/* 803C1B14 003BEA74 7F FC F8 50 */ subf r31, r28, r31
/* 803C1B18 003BEA78 7F 7C D8 50 */ subf r27, r28, r27
/* 803C1B1C 003BEA7C 4B FF E9 D5 */ bl EXISync
lbl_803C1B20:
/* 803C1B20 003BEA80 2C 1B 00 00 */ cmpwi r27, 0
/* 803C1B24 003BEA84 41 82 00 0C */ beq lbl_803C1B30
/* 803C1B28 003BEA88 28 1F 00 00 */ cmplwi r31, 0
/* 803C1B2C 003BEA8C 40 82 FF A4 */ bne lbl_803C1AD0
lbl_803C1B30:
/* 803C1B30 003BEA90 80 6D B0 28 */ lwz r3, lbl_805A9BE8@sda21(r13)
/* 803C1B34 003BEA94 4B FF F2 55 */ bl EXIDeselect
lbl_803C1B38:
/* 803C1B38 003BEA98 28 1F 00 00 */ cmplwi r31, 0
/* 803C1B3C 003BEA9C 40 82 FE B4 */ bne lbl_803C19F0
lbl_803C1B40:
/* 803C1B40 003BEAA0 80 6D B0 28 */ lwz r3, lbl_805A9BE8@sda21(r13)
/* 803C1B44 003BEAA4 4B FF F9 15 */ bl EXIUnlock
/* 803C1B48 003BEAA8 7F 43 D3 78 */ mr r3, r26
lbl_803C1B4C:
/* 803C1B4C 003BEAAC BB 41 00 18 */ lmw r26, 0x18(r1)
/* 803C1B50 003BEAB0 80 01 00 34 */ lwz r0, 0x34(r1)
/* 803C1B54 003BEAB4 38 21 00 30 */ addi r1, r1, 0x30
/* 803C1B58 003BEAB8 7C 08 03 A6 */ mtlr r0
/* 803C1B5C 003BEABC 4E 80 00 20 */ blr

File diff suppressed because it is too large Load Diff

View File

@ -1,442 +0,0 @@
.include "macros.inc"
.section .sdata2
.balign 8
.global lbl_805AEBB0
lbl_805AEBB0:
# ROM: 0x3FB450
.4byte 0x44800000
.4byte 0
.section .text, "ax"
.global GXSetTevIndirect
GXSetTevIndirect:
/* 8037AE2C 00377D8C 94 21 FF D8 */ stwu r1, -0x28(r1)
/* 8037AE30 00377D90 54 84 07 B6 */ rlwinm r4, r4, 0, 0x1e, 0x1b
/* 8037AE34 00377D94 54 A0 10 3A */ slwi r0, r5, 2
/* 8037AE38 00377D98 7C 80 03 78 */ or r0, r4, r0
/* 8037AE3C 00377D9C 81 61 00 34 */ lwz r11, 0x34(r1)
/* 8037AE40 00377DA0 54 05 07 30 */ rlwinm r5, r0, 0, 0x1c, 0x18
/* 8037AE44 00377DA4 89 81 00 33 */ lbz r12, 0x33(r1)
/* 8037AE48 00377DA8 54 C0 20 36 */ slwi r0, r6, 4
/* 8037AE4C 00377DAC 80 82 CE 08 */ lwz r4, __GXData@sda21(r2)
/* 8037AE50 00377DB0 7C A0 03 78 */ or r0, r5, r0
/* 8037AE54 00377DB4 54 05 06 6C */ rlwinm r5, r0, 0, 0x19, 0x16
/* 8037AE58 00377DB8 55 60 38 30 */ slwi r0, r11, 7
/* 8037AE5C 00377DBC 7C A0 03 78 */ or r0, r5, r0
/* 8037AE60 00377DC0 54 05 05 E4 */ rlwinm r5, r0, 0, 0x17, 0x12
/* 8037AE64 00377DC4 54 E0 48 2C */ slwi r0, r7, 9
/* 8037AE68 00377DC8 7C A0 03 78 */ or r0, r5, r0
/* 8037AE6C 00377DCC 54 05 04 DE */ rlwinm r5, r0, 0, 0x13, 0xf
/* 8037AE70 00377DD0 55 00 68 24 */ slwi r0, r8, 0xd
/* 8037AE74 00377DD4 7C A0 03 78 */ or r0, r5, r0
/* 8037AE78 00377DD8 38 A3 00 10 */ addi r5, r3, 0x10
/* 8037AE7C 00377DDC 54 03 04 18 */ rlwinm r3, r0, 0, 0x10, 0xc
/* 8037AE80 00377DE0 55 20 80 1E */ slwi r0, r9, 0x10
/* 8037AE84 00377DE4 7C 60 03 78 */ or r0, r3, r0
/* 8037AE88 00377DE8 54 03 03 56 */ rlwinm r3, r0, 0, 0xd, 0xb
/* 8037AE8C 00377DEC 55 80 98 18 */ slwi r0, r12, 0x13
/* 8037AE90 00377DF0 7C 60 03 78 */ or r0, r3, r0
/* 8037AE94 00377DF4 54 03 03 14 */ rlwinm r3, r0, 0, 0xc, 0xa
/* 8037AE98 00377DF8 55 40 A1 16 */ rlwinm r0, r10, 0x14, 4, 0xb
/* 8037AE9C 00377DFC 7C 66 03 78 */ or r6, r3, r0
/* 8037AEA0 00377E00 38 00 00 61 */ li r0, 0x61
/* 8037AEA4 00377E04 3C 60 CC 01 */ lis r3, 0xCC008000@ha
/* 8037AEA8 00377E08 98 03 80 00 */ stb r0, 0xCC008000@l(r3)
/* 8037AEAC 00377E0C 54 A0 C0 0E */ slwi r0, r5, 0x18
/* 8037AEB0 00377E10 50 C0 02 3E */ rlwimi r0, r6, 0, 8, 0x1f
/* 8037AEB4 00377E14 90 03 80 00 */ stw r0, 0xCC008000@l(r3)
/* 8037AEB8 00377E18 38 00 00 00 */ li r0, 0
/* 8037AEBC 00377E1C B0 04 00 02 */ sth r0, 2(r4)
/* 8037AEC0 00377E20 38 21 00 28 */ addi r1, r1, 0x28
/* 8037AEC4 00377E24 4E 80 00 20 */ blr
.global GXSetIndTexMtx
GXSetIndTexMtx:
/* 8037AEC8 00377E28 2C 03 00 08 */ cmpwi r3, 8
/* 8037AECC 00377E2C 94 21 FF 88 */ stwu r1, -0x78(r1)
/* 8037AED0 00377E30 41 82 00 44 */ beq lbl_8037AF14
/* 8037AED4 00377E34 40 80 00 1C */ bge lbl_8037AEF0
/* 8037AED8 00377E38 2C 03 00 04 */ cmpwi r3, 4
/* 8037AEDC 00377E3C 41 82 00 38 */ beq lbl_8037AF14
/* 8037AEE0 00377E40 40 80 00 24 */ bge lbl_8037AF04
/* 8037AEE4 00377E44 2C 03 00 01 */ cmpwi r3, 1
/* 8037AEE8 00377E48 40 80 00 14 */ bge lbl_8037AEFC
/* 8037AEEC 00377E4C 48 00 00 28 */ b lbl_8037AF14
lbl_8037AEF0:
/* 8037AEF0 00377E50 2C 03 00 0C */ cmpwi r3, 0xc
/* 8037AEF4 00377E54 40 80 00 20 */ bge lbl_8037AF14
/* 8037AEF8 00377E58 48 00 00 14 */ b lbl_8037AF0C
lbl_8037AEFC:
/* 8037AEFC 00377E5C 38 03 FF FF */ addi r0, r3, -1
/* 8037AF00 00377E60 48 00 00 18 */ b lbl_8037AF18
lbl_8037AF04:
/* 8037AF04 00377E64 38 03 FF FB */ addi r0, r3, -5
/* 8037AF08 00377E68 48 00 00 10 */ b lbl_8037AF18
lbl_8037AF0C:
/* 8037AF0C 00377E6C 38 03 FF F7 */ addi r0, r3, -9
/* 8037AF10 00377E70 48 00 00 08 */ b lbl_8037AF18
lbl_8037AF14:
/* 8037AF14 00377E74 38 00 00 00 */ li r0, 0
lbl_8037AF18:
/* 8037AF18 00377E78 C0 42 CE 90 */ lfs f2, lbl_805AEBB0@sda21(r2)
/* 8037AF1C 00377E7C 1C 60 00 03 */ mulli r3, r0, 3
/* 8037AF20 00377E80 C0 24 00 00 */ lfs f1, 0(r4)
/* 8037AF24 00377E84 C0 04 00 0C */ lfs f0, 0xc(r4)
/* 8037AF28 00377E88 EC 22 00 72 */ fmuls f1, f2, f1
/* 8037AF2C 00377E8C 39 65 00 11 */ addi r11, r5, 0x11
/* 8037AF30 00377E90 EC 02 00 32 */ fmuls f0, f2, f0
/* 8037AF34 00377E94 38 03 00 06 */ addi r0, r3, 6
/* 8037AF38 00377E98 7D 6B 07 74 */ extsb r11, r11
/* 8037AF3C 00377E9C FC 20 08 1E */ fctiwz f1, f1
/* 8037AF40 00377EA0 39 40 00 61 */ li r10, 0x61
/* 8037AF44 00377EA4 FC 00 00 1E */ fctiwz f0, f0
/* 8037AF48 00377EA8 3D 20 CC 01 */ lis r9, 0xCC008000@ha
/* 8037AF4C 00377EAC 99 49 80 00 */ stb r10, 0xCC008000@l(r9)
/* 8037AF50 00377EB0 D8 21 00 70 */ stfd f1, 0x70(r1)
/* 8037AF54 00377EB4 54 00 C0 0E */ slwi r0, r0, 0x18
/* 8037AF58 00377EB8 38 C3 00 07 */ addi r6, r3, 7
/* 8037AF5C 00377EBC D8 01 00 68 */ stfd f0, 0x68(r1)
/* 8037AF60 00377EC0 38 A3 00 08 */ addi r5, r3, 8
/* 8037AF64 00377EC4 81 01 00 74 */ lwz r8, 0x74(r1)
/* 8037AF68 00377EC8 80 E1 00 6C */ lwz r7, 0x6c(r1)
/* 8037AF6C 00377ECC 80 62 CE 08 */ lwz r3, __GXData@sda21(r2)
/* 8037AF70 00377ED0 54 E7 5A A8 */ rlwinm r7, r7, 0xb, 0xa, 0x14
/* 8037AF74 00377ED4 51 07 05 7E */ rlwimi r7, r8, 0, 0x15, 0x1f
/* 8037AF78 00377ED8 54 E7 02 8E */ rlwinm r7, r7, 0, 0xa, 7
/* 8037AF7C 00377EDC 51 67 B2 12 */ rlwimi r7, r11, 0x16, 8, 9
/* 8037AF80 00377EE0 50 E0 02 3E */ rlwimi r0, r7, 0, 8, 0x1f
/* 8037AF84 00377EE4 90 09 80 00 */ stw r0, 0xCC008000@l(r9)
/* 8037AF88 00377EE8 38 00 00 00 */ li r0, 0
/* 8037AF8C 00377EEC C0 24 00 04 */ lfs f1, 4(r4)
/* 8037AF90 00377EF0 C0 04 00 10 */ lfs f0, 0x10(r4)
/* 8037AF94 00377EF4 EC 22 00 72 */ fmuls f1, f2, f1
/* 8037AF98 00377EF8 EC 02 00 32 */ fmuls f0, f2, f0
/* 8037AF9C 00377EFC 99 49 80 00 */ stb r10, 0xCC008000@l(r9)
/* 8037AFA0 00377F00 FC 20 08 1E */ fctiwz f1, f1
/* 8037AFA4 00377F04 FC 00 00 1E */ fctiwz f0, f0
/* 8037AFA8 00377F08 D8 21 00 60 */ stfd f1, 0x60(r1)
/* 8037AFAC 00377F0C D8 01 00 58 */ stfd f0, 0x58(r1)
/* 8037AFB0 00377F10 81 01 00 64 */ lwz r8, 0x64(r1)
/* 8037AFB4 00377F14 80 E1 00 5C */ lwz r7, 0x5c(r1)
/* 8037AFB8 00377F18 54 E7 5A A8 */ rlwinm r7, r7, 0xb, 0xa, 0x14
/* 8037AFBC 00377F1C 51 07 05 7E */ rlwimi r7, r8, 0, 0x15, 0x1f
/* 8037AFC0 00377F20 54 E7 02 8E */ rlwinm r7, r7, 0, 0xa, 7
/* 8037AFC4 00377F24 51 67 A2 12 */ rlwimi r7, r11, 0x14, 8, 9
/* 8037AFC8 00377F28 54 E7 02 3E */ clrlwi r7, r7, 8
/* 8037AFCC 00377F2C 50 C7 C0 0E */ rlwimi r7, r6, 0x18, 0, 7
/* 8037AFD0 00377F30 90 E9 80 00 */ stw r7, 0xCC008000@l(r9)
/* 8037AFD4 00377F34 C0 24 00 08 */ lfs f1, 8(r4)
/* 8037AFD8 00377F38 C0 04 00 14 */ lfs f0, 0x14(r4)
/* 8037AFDC 00377F3C EC 22 00 72 */ fmuls f1, f2, f1
/* 8037AFE0 00377F40 EC 02 00 32 */ fmuls f0, f2, f0
/* 8037AFE4 00377F44 99 49 80 00 */ stb r10, 0xCC008000@l(r9)
/* 8037AFE8 00377F48 FC 20 08 1E */ fctiwz f1, f1
/* 8037AFEC 00377F4C FC 00 00 1E */ fctiwz f0, f0
/* 8037AFF0 00377F50 D8 21 00 50 */ stfd f1, 0x50(r1)
/* 8037AFF4 00377F54 D8 01 00 48 */ stfd f0, 0x48(r1)
/* 8037AFF8 00377F58 80 C1 00 54 */ lwz r6, 0x54(r1)
/* 8037AFFC 00377F5C 80 81 00 4C */ lwz r4, 0x4c(r1)
/* 8037B000 00377F60 54 84 5A A8 */ rlwinm r4, r4, 0xb, 0xa, 0x14
/* 8037B004 00377F64 50 C4 05 7E */ rlwimi r4, r6, 0, 0x15, 0x1f
/* 8037B008 00377F68 54 84 02 8E */ rlwinm r4, r4, 0, 0xa, 7
/* 8037B00C 00377F6C 51 64 92 12 */ rlwimi r4, r11, 0x12, 8, 9
/* 8037B010 00377F70 54 84 02 3E */ clrlwi r4, r4, 8
/* 8037B014 00377F74 50 A4 C0 0E */ rlwimi r4, r5, 0x18, 0, 7
/* 8037B018 00377F78 90 89 80 00 */ stw r4, 0xCC008000@l(r9)
/* 8037B01C 00377F7C B0 03 00 02 */ sth r0, 2(r3)
/* 8037B020 00377F80 38 21 00 78 */ addi r1, r1, 0x78
/* 8037B024 00377F84 4E 80 00 20 */ blr
.global GXSetIndTexCoordScale
GXSetIndTexCoordScale:
/* 8037B028 00377F88 2C 03 00 02 */ cmpwi r3, 2
/* 8037B02C 00377F8C 41 82 00 C8 */ beq lbl_8037B0F4
/* 8037B030 00377F90 40 80 00 14 */ bge lbl_8037B044
/* 8037B034 00377F94 2C 03 00 00 */ cmpwi r3, 0
/* 8037B038 00377F98 41 82 00 18 */ beq lbl_8037B050
/* 8037B03C 00377F9C 40 80 00 64 */ bge lbl_8037B0A0
/* 8037B040 00377FA0 48 00 01 54 */ b lbl_8037B194
lbl_8037B044:
/* 8037B044 00377FA4 2C 03 00 04 */ cmpwi r3, 4
/* 8037B048 00377FA8 40 80 01 4C */ bge lbl_8037B194
/* 8037B04C 00377FAC 48 00 00 F8 */ b lbl_8037B144
lbl_8037B050:
/* 8037B050 00377FB0 80 E2 CE 08 */ lwz r7, __GXData@sda21(r2)
/* 8037B054 00377FB4 54 A5 20 36 */ slwi r5, r5, 4
/* 8037B058 00377FB8 38 00 00 61 */ li r0, 0x61
/* 8037B05C 00377FBC 80 C7 01 28 */ lwz r6, 0x128(r7)
/* 8037B060 00377FC0 3C 60 CC 01 */ lis r3, 0xCC008000@ha
/* 8037B064 00377FC4 54 C6 00 36 */ rlwinm r6, r6, 0, 0, 0x1b
/* 8037B068 00377FC8 7C C4 23 78 */ or r4, r6, r4
/* 8037B06C 00377FCC 90 87 01 28 */ stw r4, 0x128(r7)
/* 8037B070 00377FD0 80 87 01 28 */ lwz r4, 0x128(r7)
/* 8037B074 00377FD4 54 84 07 2E */ rlwinm r4, r4, 0, 0x1c, 0x17
/* 8037B078 00377FD8 7C 84 2B 78 */ or r4, r4, r5
/* 8037B07C 00377FDC 90 87 01 28 */ stw r4, 0x128(r7)
/* 8037B080 00377FE0 80 87 01 28 */ lwz r4, 0x128(r7)
/* 8037B084 00377FE4 54 84 02 3E */ clrlwi r4, r4, 8
/* 8037B088 00377FE8 64 84 25 00 */ oris r4, r4, 0x2500
/* 8037B08C 00377FEC 90 87 01 28 */ stw r4, 0x128(r7)
/* 8037B090 00377FF0 98 03 80 00 */ stb r0, 0xCC008000@l(r3)
/* 8037B094 00377FF4 80 07 01 28 */ lwz r0, 0x128(r7)
/* 8037B098 00377FF8 90 03 80 00 */ stw r0, 0xCC008000@l(r3)
/* 8037B09C 00377FFC 48 00 00 F8 */ b lbl_8037B194
lbl_8037B0A0:
/* 8037B0A0 00378000 80 E2 CE 08 */ lwz r7, __GXData@sda21(r2)
/* 8037B0A4 00378004 54 86 40 2E */ slwi r6, r4, 8
/* 8037B0A8 00378008 54 A4 60 26 */ slwi r4, r5, 0xc
/* 8037B0AC 0037800C 80 A7 01 28 */ lwz r5, 0x128(r7)
/* 8037B0B0 00378010 38 00 00 61 */ li r0, 0x61
/* 8037B0B4 00378014 3C 60 CC 01 */ lis r3, 0xCC008000@ha
/* 8037B0B8 00378018 54 A5 06 26 */ rlwinm r5, r5, 0, 0x18, 0x13
/* 8037B0BC 0037801C 7C A5 33 78 */ or r5, r5, r6
/* 8037B0C0 00378020 90 A7 01 28 */ stw r5, 0x128(r7)
/* 8037B0C4 00378024 80 A7 01 28 */ lwz r5, 0x128(r7)
/* 8037B0C8 00378028 54 A5 05 1E */ rlwinm r5, r5, 0, 0x14, 0xf
/* 8037B0CC 0037802C 7C A4 23 78 */ or r4, r5, r4
/* 8037B0D0 00378030 90 87 01 28 */ stw r4, 0x128(r7)
/* 8037B0D4 00378034 80 87 01 28 */ lwz r4, 0x128(r7)
/* 8037B0D8 00378038 54 84 02 3E */ clrlwi r4, r4, 8
/* 8037B0DC 0037803C 64 84 25 00 */ oris r4, r4, 0x2500
/* 8037B0E0 00378040 90 87 01 28 */ stw r4, 0x128(r7)
/* 8037B0E4 00378044 98 03 80 00 */ stb r0, 0xCC008000@l(r3)
/* 8037B0E8 00378048 80 07 01 28 */ lwz r0, 0x128(r7)
/* 8037B0EC 0037804C 90 03 80 00 */ stw r0, 0xCC008000@l(r3)
/* 8037B0F0 00378050 48 00 00 A4 */ b lbl_8037B194
lbl_8037B0F4:
/* 8037B0F4 00378054 80 E2 CE 08 */ lwz r7, __GXData@sda21(r2)
/* 8037B0F8 00378058 54 A5 20 36 */ slwi r5, r5, 4
/* 8037B0FC 0037805C 38 00 00 61 */ li r0, 0x61
/* 8037B100 00378060 80 C7 01 2C */ lwz r6, 0x12c(r7)
/* 8037B104 00378064 3C 60 CC 01 */ lis r3, 0xCC008000@ha
/* 8037B108 00378068 54 C6 00 36 */ rlwinm r6, r6, 0, 0, 0x1b
/* 8037B10C 0037806C 7C C4 23 78 */ or r4, r6, r4
/* 8037B110 00378070 90 87 01 2C */ stw r4, 0x12c(r7)
/* 8037B114 00378074 80 87 01 2C */ lwz r4, 0x12c(r7)
/* 8037B118 00378078 54 84 07 2E */ rlwinm r4, r4, 0, 0x1c, 0x17
/* 8037B11C 0037807C 7C 84 2B 78 */ or r4, r4, r5
/* 8037B120 00378080 90 87 01 2C */ stw r4, 0x12c(r7)
/* 8037B124 00378084 80 87 01 2C */ lwz r4, 0x12c(r7)
/* 8037B128 00378088 54 84 02 3E */ clrlwi r4, r4, 8
/* 8037B12C 0037808C 64 84 26 00 */ oris r4, r4, 0x2600
/* 8037B130 00378090 90 87 01 2C */ stw r4, 0x12c(r7)
/* 8037B134 00378094 98 03 80 00 */ stb r0, 0xCC008000@l(r3)
/* 8037B138 00378098 80 07 01 2C */ lwz r0, 0x12c(r7)
/* 8037B13C 0037809C 90 03 80 00 */ stw r0, 0xCC008000@l(r3)
/* 8037B140 003780A0 48 00 00 54 */ b lbl_8037B194
lbl_8037B144:
/* 8037B144 003780A4 80 E2 CE 08 */ lwz r7, __GXData@sda21(r2)
/* 8037B148 003780A8 54 86 40 2E */ slwi r6, r4, 8
/* 8037B14C 003780AC 54 A4 60 26 */ slwi r4, r5, 0xc
/* 8037B150 003780B0 80 A7 01 2C */ lwz r5, 0x12c(r7)
/* 8037B154 003780B4 38 00 00 61 */ li r0, 0x61
/* 8037B158 003780B8 3C 60 CC 01 */ lis r3, 0xCC008000@ha
/* 8037B15C 003780BC 54 A5 06 26 */ rlwinm r5, r5, 0, 0x18, 0x13
/* 8037B160 003780C0 7C A5 33 78 */ or r5, r5, r6
/* 8037B164 003780C4 90 A7 01 2C */ stw r5, 0x12c(r7)
/* 8037B168 003780C8 80 A7 01 2C */ lwz r5, 0x12c(r7)
/* 8037B16C 003780CC 54 A5 05 1E */ rlwinm r5, r5, 0, 0x14, 0xf
/* 8037B170 003780D0 7C A4 23 78 */ or r4, r5, r4
/* 8037B174 003780D4 90 87 01 2C */ stw r4, 0x12c(r7)
/* 8037B178 003780D8 80 87 01 2C */ lwz r4, 0x12c(r7)
/* 8037B17C 003780DC 54 84 02 3E */ clrlwi r4, r4, 8
/* 8037B180 003780E0 64 84 26 00 */ oris r4, r4, 0x2600
/* 8037B184 003780E4 90 87 01 2C */ stw r4, 0x12c(r7)
/* 8037B188 003780E8 98 03 80 00 */ stb r0, 0xCC008000@l(r3)
/* 8037B18C 003780EC 80 07 01 2C */ lwz r0, 0x12c(r7)
/* 8037B190 003780F0 90 03 80 00 */ stw r0, 0xCC008000@l(r3)
lbl_8037B194:
/* 8037B194 003780F4 80 62 CE 08 */ lwz r3, __GXData@sda21(r2)
/* 8037B198 003780F8 38 00 00 00 */ li r0, 0
/* 8037B19C 003780FC B0 03 00 02 */ sth r0, 2(r3)
/* 8037B1A0 00378100 4E 80 00 20 */ blr
.global GXSetIndTexOrder
GXSetIndTexOrder:
/* 8037B1A4 00378104 2C 03 00 02 */ cmpwi r3, 2
/* 8037B1A8 00378108 41 82 00 84 */ beq lbl_8037B22C
/* 8037B1AC 0037810C 40 80 00 14 */ bge lbl_8037B1C0
/* 8037B1B0 00378110 2C 03 00 00 */ cmpwi r3, 0
/* 8037B1B4 00378114 41 82 00 18 */ beq lbl_8037B1CC
/* 8037B1B8 00378118 40 80 00 44 */ bge lbl_8037B1FC
/* 8037B1BC 0037811C 48 00 00 CC */ b lbl_8037B288
lbl_8037B1C0:
/* 8037B1C0 00378120 2C 03 00 04 */ cmpwi r3, 4
/* 8037B1C4 00378124 40 80 00 C4 */ bge lbl_8037B288
/* 8037B1C8 00378128 48 00 00 94 */ b lbl_8037B25C
lbl_8037B1CC:
/* 8037B1CC 0037812C 80 62 CE 08 */ lwz r3, __GXData@sda21(r2)
/* 8037B1D0 00378130 54 80 18 38 */ slwi r0, r4, 3
/* 8037B1D4 00378134 38 83 01 20 */ addi r4, r3, 0x120
/* 8037B1D8 00378138 80 63 01 20 */ lwz r3, 0x120(r3)
/* 8037B1DC 0037813C 54 63 00 38 */ rlwinm r3, r3, 0, 0, 0x1c
/* 8037B1E0 00378140 7C 63 2B 78 */ or r3, r3, r5
/* 8037B1E4 00378144 90 64 00 00 */ stw r3, 0(r4)
/* 8037B1E8 00378148 80 64 00 00 */ lwz r3, 0(r4)
/* 8037B1EC 0037814C 54 63 07 72 */ rlwinm r3, r3, 0, 0x1d, 0x19
/* 8037B1F0 00378150 7C 60 03 78 */ or r0, r3, r0
/* 8037B1F4 00378154 90 04 00 00 */ stw r0, 0(r4)
/* 8037B1F8 00378158 48 00 00 90 */ b lbl_8037B288
lbl_8037B1FC:
/* 8037B1FC 0037815C 80 C2 CE 08 */ lwz r6, __GXData@sda21(r2)
/* 8037B200 00378160 54 80 48 2C */ slwi r0, r4, 9
/* 8037B204 00378164 54 A3 30 32 */ slwi r3, r5, 6
/* 8037B208 00378168 80 86 01 20 */ lwz r4, 0x120(r6)
/* 8037B20C 0037816C 54 84 06 AC */ rlwinm r4, r4, 0, 0x1a, 0x16
/* 8037B210 00378170 7C 83 1B 78 */ or r3, r4, r3
/* 8037B214 00378174 90 66 01 20 */ stw r3, 0x120(r6)
/* 8037B218 00378178 80 66 01 20 */ lwz r3, 0x120(r6)
/* 8037B21C 0037817C 54 63 05 E6 */ rlwinm r3, r3, 0, 0x17, 0x13
/* 8037B220 00378180 7C 60 03 78 */ or r0, r3, r0
/* 8037B224 00378184 90 06 01 20 */ stw r0, 0x120(r6)
/* 8037B228 00378188 48 00 00 60 */ b lbl_8037B288
lbl_8037B22C:
/* 8037B22C 0037818C 80 C2 CE 08 */ lwz r6, __GXData@sda21(r2)
/* 8037B230 00378190 54 80 78 20 */ slwi r0, r4, 0xf
/* 8037B234 00378194 54 A3 60 26 */ slwi r3, r5, 0xc
/* 8037B238 00378198 80 86 01 20 */ lwz r4, 0x120(r6)
/* 8037B23C 0037819C 54 84 05 20 */ rlwinm r4, r4, 0, 0x14, 0x10
/* 8037B240 003781A0 7C 83 1B 78 */ or r3, r4, r3
/* 8037B244 003781A4 90 66 01 20 */ stw r3, 0x120(r6)
/* 8037B248 003781A8 80 66 01 20 */ lwz r3, 0x120(r6)
/* 8037B24C 003781AC 54 63 04 5A */ rlwinm r3, r3, 0, 0x11, 0xd
/* 8037B250 003781B0 7C 60 03 78 */ or r0, r3, r0
/* 8037B254 003781B4 90 06 01 20 */ stw r0, 0x120(r6)
/* 8037B258 003781B8 48 00 00 30 */ b lbl_8037B288
lbl_8037B25C:
/* 8037B25C 003781BC 80 C2 CE 08 */ lwz r6, __GXData@sda21(r2)
/* 8037B260 003781C0 54 80 A8 14 */ slwi r0, r4, 0x15
/* 8037B264 003781C4 54 A3 90 1A */ slwi r3, r5, 0x12
/* 8037B268 003781C8 80 86 01 20 */ lwz r4, 0x120(r6)
/* 8037B26C 003781CC 54 84 03 94 */ rlwinm r4, r4, 0, 0xe, 0xa
/* 8037B270 003781D0 7C 83 1B 78 */ or r3, r4, r3
/* 8037B274 003781D4 90 66 01 20 */ stw r3, 0x120(r6)
/* 8037B278 003781D8 80 66 01 20 */ lwz r3, 0x120(r6)
/* 8037B27C 003781DC 54 63 02 CE */ rlwinm r3, r3, 0, 0xb, 7
/* 8037B280 003781E0 7C 60 03 78 */ or r0, r3, r0
/* 8037B284 003781E4 90 06 01 20 */ stw r0, 0x120(r6)
lbl_8037B288:
/* 8037B288 003781E8 38 00 00 61 */ li r0, 0x61
/* 8037B28C 003781EC 80 82 CE 08 */ lwz r4, __GXData@sda21(r2)
/* 8037B290 003781F0 3C A0 CC 01 */ lis r5, 0xCC008000@ha
/* 8037B294 003781F4 98 05 80 00 */ stb r0, 0xCC008000@l(r5)
/* 8037B298 003781F8 38 00 00 00 */ li r0, 0
/* 8037B29C 003781FC 80 64 01 20 */ lwz r3, 0x120(r4)
/* 8037B2A0 00378200 90 65 80 00 */ stw r3, 0xCC008000@l(r5)
/* 8037B2A4 00378204 80 64 04 F4 */ lwz r3, 0x4f4(r4)
/* 8037B2A8 00378208 60 63 00 03 */ ori r3, r3, 3
/* 8037B2AC 0037820C 90 64 04 F4 */ stw r3, 0x4f4(r4)
/* 8037B2B0 00378210 B0 04 00 02 */ sth r0, 2(r4)
/* 8037B2B4 00378214 4E 80 00 20 */ blr
.global GXSetNumIndStages
GXSetNumIndStages:
/* 8037B2B8 00378218 80 82 CE 08 */ lwz r4, __GXData@sda21(r2)
/* 8037B2BC 0037821C 54 60 82 1E */ rlwinm r0, r3, 0x10, 8, 0xf
/* 8037B2C0 00378220 80 64 02 04 */ lwz r3, 0x204(r4)
/* 8037B2C4 00378224 54 63 04 18 */ rlwinm r3, r3, 0, 0x10, 0xc
/* 8037B2C8 00378228 7C 60 03 78 */ or r0, r3, r0
/* 8037B2CC 0037822C 90 04 02 04 */ stw r0, 0x204(r4)
/* 8037B2D0 00378230 80 04 04 F4 */ lwz r0, 0x4f4(r4)
/* 8037B2D4 00378234 60 00 00 06 */ ori r0, r0, 6
/* 8037B2D8 00378238 90 04 04 F4 */ stw r0, 0x4f4(r4)
/* 8037B2DC 0037823C 4E 80 00 20 */ blr
.global GXSetTevDirect
GXSetTevDirect:
/* 8037B2E0 00378240 7C 08 02 A6 */ mflr r0
/* 8037B2E4 00378244 38 80 00 00 */ li r4, 0
/* 8037B2E8 00378248 90 01 00 04 */ stw r0, 4(r1)
/* 8037B2EC 0037824C 38 00 00 00 */ li r0, 0
/* 8037B2F0 00378250 38 A0 00 00 */ li r5, 0
/* 8037B2F4 00378254 94 21 FF E8 */ stwu r1, -0x18(r1)
/* 8037B2F8 00378258 38 C0 00 00 */ li r6, 0
/* 8037B2FC 0037825C 38 E0 00 00 */ li r7, 0
/* 8037B300 00378260 90 01 00 08 */ stw r0, 8(r1)
/* 8037B304 00378264 39 00 00 00 */ li r8, 0
/* 8037B308 00378268 39 20 00 00 */ li r9, 0
/* 8037B30C 0037826C 90 01 00 0C */ stw r0, 0xc(r1)
/* 8037B310 00378270 39 40 00 00 */ li r10, 0
/* 8037B314 00378274 4B FF FB 19 */ bl GXSetTevIndirect
/* 8037B318 00378278 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 8037B31C 0037827C 38 21 00 18 */ addi r1, r1, 0x18
/* 8037B320 00378280 7C 08 03 A6 */ mtlr r0
/* 8037B324 00378284 4E 80 00 20 */ blr
.global __GXUpdateBPMask
__GXUpdateBPMask:
/* 8037B328 00378288 80 62 CE 08 */ lwz r3, __GXData@sda21(r2)
/* 8037B32C 0037828C 38 C0 00 00 */ li r6, 0
/* 8037B330 00378290 38 80 00 00 */ li r4, 0
/* 8037B334 00378294 80 03 02 04 */ lwz r0, 0x204(r3)
/* 8037B338 00378298 54 00 87 7E */ rlwinm r0, r0, 0x10, 0x1d, 0x1f
/* 8037B33C 0037829C 28 00 00 00 */ cmplwi r0, 0
/* 8037B340 003782A0 7C 09 03 A6 */ mtctr r0
/* 8037B344 003782A4 40 81 00 6C */ ble lbl_8037B3B0
lbl_8037B348:
/* 8037B348 003782A8 2C 04 00 02 */ cmpwi r4, 2
/* 8037B34C 003782AC 41 82 00 3C */ beq lbl_8037B388
/* 8037B350 003782B0 40 80 00 14 */ bge lbl_8037B364
/* 8037B354 003782B4 2C 04 00 00 */ cmpwi r4, 0
/* 8037B358 003782B8 41 82 00 18 */ beq lbl_8037B370
/* 8037B35C 003782BC 40 80 00 20 */ bge lbl_8037B37C
/* 8037B360 003782C0 48 00 00 3C */ b lbl_8037B39C
lbl_8037B364:
/* 8037B364 003782C4 2C 04 00 04 */ cmpwi r4, 4
/* 8037B368 003782C8 40 80 00 34 */ bge lbl_8037B39C
/* 8037B36C 003782CC 48 00 00 28 */ b lbl_8037B394
lbl_8037B370:
/* 8037B370 003782D0 80 03 01 20 */ lwz r0, 0x120(r3)
/* 8037B374 003782D4 54 05 07 7E */ clrlwi r5, r0, 0x1d
/* 8037B378 003782D8 48 00 00 24 */ b lbl_8037B39C
lbl_8037B37C:
/* 8037B37C 003782DC 80 03 01 20 */ lwz r0, 0x120(r3)
/* 8037B380 003782E0 54 05 D7 7E */ rlwinm r5, r0, 0x1a, 0x1d, 0x1f
/* 8037B384 003782E4 48 00 00 18 */ b lbl_8037B39C
lbl_8037B388:
/* 8037B388 003782E8 80 03 01 20 */ lwz r0, 0x120(r3)
/* 8037B38C 003782EC 54 05 A7 7E */ rlwinm r5, r0, 0x14, 0x1d, 0x1f
/* 8037B390 003782F0 48 00 00 0C */ b lbl_8037B39C
lbl_8037B394:
/* 8037B394 003782F4 80 03 01 20 */ lwz r0, 0x120(r3)
/* 8037B398 003782F8 54 05 77 7E */ rlwinm r5, r0, 0xe, 0x1d, 0x1f
lbl_8037B39C:
/* 8037B39C 003782FC 38 00 00 01 */ li r0, 1
/* 8037B3A0 00378300 7C 00 28 30 */ slw r0, r0, r5
/* 8037B3A4 00378304 7C C6 03 78 */ or r6, r6, r0
/* 8037B3A8 00378308 38 84 00 01 */ addi r4, r4, 1
/* 8037B3AC 0037830C 42 00 FF 9C */ bdnz lbl_8037B348
lbl_8037B3B0:
/* 8037B3B0 00378310 38 83 01 24 */ addi r4, r3, 0x124
/* 8037B3B4 00378314 80 63 01 24 */ lwz r3, 0x124(r3)
/* 8037B3B8 00378318 54 60 06 3E */ clrlwi r0, r3, 0x18
/* 8037B3BC 0037831C 7C 00 30 40 */ cmplw r0, r6
/* 8037B3C0 00378320 4D 82 00 20 */ beqlr
/* 8037B3C4 00378324 54 60 00 2E */ rlwinm r0, r3, 0, 0, 0x17
/* 8037B3C8 00378328 7C 00 33 78 */ or r0, r0, r6
/* 8037B3CC 0037832C 90 04 00 00 */ stw r0, 0(r4)
/* 8037B3D0 00378330 38 00 00 61 */ li r0, 0x61
/* 8037B3D4 00378334 3C A0 CC 01 */ lis r5, 0xCC008000@ha
/* 8037B3D8 00378338 98 05 80 00 */ stb r0, 0xCC008000@l(r5)
/* 8037B3DC 0037833C 38 00 00 00 */ li r0, 0
/* 8037B3E0 00378340 80 82 CE 08 */ lwz r4, __GXData@sda21(r2)
/* 8037B3E4 00378344 80 64 01 24 */ lwz r3, 0x124(r4)
/* 8037B3E8 00378348 90 65 80 00 */ stw r3, 0xCC008000@l(r5)
/* 8037B3EC 0037834C B0 04 00 02 */ sth r0, 2(r4)
/* 8037B3F0 00378350 4E 80 00 20 */ blr
.global __GXFlushTextureState
__GXFlushTextureState:
/* 8037B3F4 00378354 38 00 00 61 */ li r0, 0x61
/* 8037B3F8 00378358 80 82 CE 08 */ lwz r4, __GXData@sda21(r2)
/* 8037B3FC 0037835C 3C A0 CC 01 */ lis r5, 0xCC008000@ha
/* 8037B400 00378360 98 05 80 00 */ stb r0, 0xCC008000@l(r5)
/* 8037B404 00378364 38 00 00 00 */ li r0, 0
/* 8037B408 00378368 80 64 01 24 */ lwz r3, 0x124(r4)
/* 8037B40C 0037836C 90 65 80 00 */ stw r3, 0xCC008000@l(r5)
/* 8037B410 00378370 B0 04 00 02 */ sth r0, 2(r4)
/* 8037B414 00378374 4E 80 00 20 */ blr

View File

@ -1,36 +0,0 @@
.include "macros.inc"
.section .text, "ax"
.global GXCallDisplayList
GXCallDisplayList:
/* 8037C1D4 00379134 7C 08 02 A6 */ mflr r0
/* 8037C1D8 00379138 90 01 00 04 */ stw r0, 4(r1)
/* 8037C1DC 0037913C 94 21 FF E8 */ stwu r1, -0x18(r1)
/* 8037C1E0 00379140 93 E1 00 14 */ stw r31, 0x14(r1)
/* 8037C1E4 00379144 3B E4 00 00 */ addi r31, r4, 0
/* 8037C1E8 00379148 93 C1 00 10 */ stw r30, 0x10(r1)
/* 8037C1EC 0037914C 3B C3 00 00 */ addi r30, r3, 0
/* 8037C1F0 00379150 80 A2 CE 08 */ lwz r5, __GXData@sda21(r2)
/* 8037C1F4 00379154 80 05 04 F4 */ lwz r0, 0x4f4(r5)
/* 8037C1F8 00379158 28 00 00 00 */ cmplwi r0, 0
/* 8037C1FC 0037915C 41 82 00 08 */ beq lbl_8037C204
/* 8037C200 00379160 4B FF C6 55 */ bl __GXSetDirtyState
lbl_8037C204:
/* 8037C204 00379164 80 62 CE 08 */ lwz r3, __GXData@sda21(r2)
/* 8037C208 00379168 80 03 00 00 */ lwz r0, 0(r3)
/* 8037C20C 0037916C 28 00 00 00 */ cmplwi r0, 0
/* 8037C210 00379170 40 82 00 08 */ bne lbl_8037C218
/* 8037C214 00379174 4B FF C7 D1 */ bl __GXSendFlushPrim
lbl_8037C218:
/* 8037C218 00379178 38 00 00 40 */ li r0, 0x40
/* 8037C21C 0037917C 3C 60 CC 01 */ lis r3, 0xCC008000@ha
/* 8037C220 00379180 98 03 80 00 */ stb r0, 0xCC008000@l(r3)
/* 8037C224 00379184 93 C3 80 00 */ stw r30, 0xCC008000@l(r3)
/* 8037C228 00379188 93 E3 80 00 */ stw r31, 0xCC008000@l(r3)
/* 8037C22C 0037918C 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 8037C230 00379190 83 E1 00 14 */ lwz r31, 0x14(r1)
/* 8037C234 00379194 83 C1 00 10 */ lwz r30, 0x10(r1)
/* 8037C238 00379198 38 21 00 18 */ addi r1, r1, 0x18
/* 8037C23C 0037919C 7C 08 03 A6 */ mtlr r0
/* 8037C240 003791A0 4E 80 00 20 */ blr

View File

@ -1,831 +0,0 @@
.include "macros.inc"
.section .sbss
.balign 8
lbl_805A9848:
.skip 0x4
lbl_805A984C:
.skip 0x4
lbl_805A9850:
.skip 0x4
lbl_805A9854:
.skip 0x4
lbl_805A9858:
.skip 0x4
lbl_805A985C:
.skip 0x4
lbl_805A9860:
.skip 0x4
lbl_805A9864:
.skip 0x4
.section .text, "ax"
.global GXCPInterruptHandler
GXCPInterruptHandler:
/* 8037627C 003731DC 7C 08 02 A6 */ mflr r0
/* 80376280 003731E0 90 01 00 04 */ stw r0, 4(r1)
/* 80376284 003731E4 94 21 FD 20 */ stwu r1, -0x2e0(r1)
/* 80376288 003731E8 93 E1 02 DC */ stw r31, 0x2dc(r1)
/* 8037628C 003731EC 7C 9F 23 78 */ mr r31, r4
/* 80376290 003731F0 80 AD AC 7C */ lwz r5, lbl_805A983C@sda21(r13)
/* 80376294 003731F4 80 62 CE 08 */ lwz r3, __GXData@sda21(r2)
/* 80376298 003731F8 A0 05 00 00 */ lhz r0, 0(r5)
/* 8037629C 003731FC 90 03 00 0C */ stw r0, 0xc(r3)
/* 803762A0 00373200 80 03 00 08 */ lwz r0, 8(r3)
/* 803762A4 00373204 54 00 EF FF */ rlwinm. r0, r0, 0x1d, 0x1f, 0x1f
/* 803762A8 00373208 41 82 00 38 */ beq lbl_803762E0
/* 803762AC 0037320C 80 03 00 0C */ lwz r0, 0xc(r3)
/* 803762B0 00373210 54 00 FF FF */ rlwinm. r0, r0, 0x1f, 0x1f, 0x1f
/* 803762B4 00373214 41 82 00 2C */ beq lbl_803762E0
/* 803762B8 00373218 80 6D AC 90 */ lwz r3, lbl_805A9850@sda21(r13)
/* 803762BC 0037321C 48 00 EA 59 */ bl OSResumeThread
/* 803762C0 00373220 38 00 00 00 */ li r0, 0
/* 803762C4 00373224 90 0D AC 98 */ stw r0, lbl_805A9858@sda21(r13)
/* 803762C8 00373228 38 60 00 01 */ li r3, 1
/* 803762CC 0037322C 38 80 00 01 */ li r4, 1
/* 803762D0 00373230 48 00 07 19 */ bl __GXWriteFifoIntReset
/* 803762D4 00373234 38 60 00 01 */ li r3, 1
/* 803762D8 00373238 38 80 00 00 */ li r4, 0
/* 803762DC 0037323C 48 00 06 D1 */ bl __GXWriteFifoIntEnable
lbl_803762E0:
/* 803762E0 00373240 80 62 CE 08 */ lwz r3, __GXData@sda21(r2)
/* 803762E4 00373244 80 03 00 08 */ lwz r0, 8(r3)
/* 803762E8 00373248 54 00 F7 FF */ rlwinm. r0, r0, 0x1e, 0x1f, 0x1f
/* 803762EC 0037324C 41 82 00 44 */ beq lbl_80376330
/* 803762F0 00373250 80 03 00 0C */ lwz r0, 0xc(r3)
/* 803762F4 00373254 54 00 07 FF */ clrlwi. r0, r0, 0x1f
/* 803762F8 00373258 41 82 00 38 */ beq lbl_80376330
/* 803762FC 0037325C 80 AD AC A0 */ lwz r5, lbl_805A9860@sda21(r13)
/* 80376300 00373260 38 60 00 00 */ li r3, 0
/* 80376304 00373264 38 80 00 01 */ li r4, 1
/* 80376308 00373268 38 05 00 01 */ addi r0, r5, 1
/* 8037630C 0037326C 90 0D AC A0 */ stw r0, lbl_805A9860@sda21(r13)
/* 80376310 00373270 48 00 06 9D */ bl __GXWriteFifoIntEnable
/* 80376314 00373274 38 60 00 01 */ li r3, 1
/* 80376318 00373278 38 80 00 00 */ li r4, 0
/* 8037631C 0037327C 48 00 06 CD */ bl __GXWriteFifoIntReset
/* 80376320 00373280 38 00 00 01 */ li r0, 1
/* 80376324 00373284 80 6D AC 90 */ lwz r3, lbl_805A9850@sda21(r13)
/* 80376328 00373288 90 0D AC 98 */ stw r0, lbl_805A9858@sda21(r13)
/* 8037632C 0037328C 48 00 EC 71 */ bl OSSuspendThread
lbl_80376330:
/* 80376330 00373290 80 62 CE 08 */ lwz r3, __GXData@sda21(r2)
/* 80376334 00373294 80 83 00 08 */ lwz r4, 8(r3)
/* 80376338 00373298 38 A3 00 08 */ addi r5, r3, 8
/* 8037633C 0037329C 54 80 DF FF */ rlwinm. r0, r4, 0x1b, 0x1f, 0x1f
/* 80376340 003732A0 41 82 00 5C */ beq lbl_8037639C
/* 80376344 003732A4 80 03 00 0C */ lwz r0, 0xc(r3)
/* 80376348 003732A8 54 00 E7 FF */ rlwinm. r0, r0, 0x1c, 0x1f, 0x1f
/* 8037634C 003732AC 41 82 00 50 */ beq lbl_8037639C
/* 80376350 003732B0 54 80 06 F2 */ rlwinm r0, r4, 0, 0x1b, 0x19
/* 80376354 003732B4 90 05 00 00 */ stw r0, 0(r5)
/* 80376358 003732B8 80 03 00 08 */ lwz r0, 8(r3)
/* 8037635C 003732BC 80 6D AC 7C */ lwz r3, lbl_805A983C@sda21(r13)
/* 80376360 003732C0 B0 03 00 02 */ sth r0, 2(r3)
/* 80376364 003732C4 80 0D AC 9C */ lwz r0, lbl_805A985C@sda21(r13)
/* 80376368 003732C8 28 00 00 00 */ cmplwi r0, 0
/* 8037636C 003732CC 41 82 00 30 */ beq lbl_8037639C
/* 80376370 003732D0 38 61 00 10 */ addi r3, r1, 0x10
/* 80376374 003732D4 48 00 92 A1 */ bl OSClearContext
/* 80376378 003732D8 38 61 00 10 */ addi r3, r1, 0x10
/* 8037637C 003732DC 48 00 90 A1 */ bl OSSetCurrentContext
/* 80376380 003732E0 81 8D AC 9C */ lwz r12, lbl_805A985C@sda21(r13)
/* 80376384 003732E4 7D 88 03 A6 */ mtlr r12
/* 80376388 003732E8 4E 80 00 21 */ blrl
/* 8037638C 003732EC 38 61 00 10 */ addi r3, r1, 0x10
/* 80376390 003732F0 48 00 92 85 */ bl OSClearContext
/* 80376394 003732F4 7F E3 FB 78 */ mr r3, r31
/* 80376398 003732F8 48 00 90 85 */ bl OSSetCurrentContext
lbl_8037639C:
/* 8037639C 003732FC 80 01 02 E4 */ lwz r0, 0x2e4(r1)
/* 803763A0 00373300 83 E1 02 DC */ lwz r31, 0x2dc(r1)
/* 803763A4 00373304 38 21 02 E0 */ addi r1, r1, 0x2e0
/* 803763A8 00373308 7C 08 03 A6 */ mtlr r0
/* 803763AC 0037330C 4E 80 00 20 */ blr
.global GXInitFifoBase
GXInitFifoBase:
/* 803763B0 00373310 7C 08 02 A6 */ mflr r0
/* 803763B4 00373314 90 01 00 04 */ stw r0, 4(r1)
/* 803763B8 00373318 38 05 FF FC */ addi r0, r5, -4
/* 803763BC 0037331C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 803763C0 00373320 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 803763C4 00373324 3B E4 00 00 */ addi r31, r4, 0
/* 803763C8 00373328 7C 1F 02 14 */ add r0, r31, r0
/* 803763CC 0037332C 93 C1 00 18 */ stw r30, 0x18(r1)
/* 803763D0 00373330 3B C3 00 00 */ addi r30, r3, 0
/* 803763D4 00373334 38 85 C0 00 */ addi r4, r5, -16384
/* 803763D8 00373338 93 E3 00 00 */ stw r31, 0(r3)
/* 803763DC 0037333C 90 03 00 04 */ stw r0, 4(r3)
/* 803763E0 00373340 38 00 00 00 */ li r0, 0
/* 803763E4 00373344 90 A3 00 08 */ stw r5, 8(r3)
/* 803763E8 00373348 54 A5 F8 74 */ rlwinm r5, r5, 0x1f, 1, 0x1a
/* 803763EC 0037334C 90 1E 00 1C */ stw r0, 0x1c(r30)
/* 803763F0 00373350 48 00 00 9D */ bl GXInitFifoLimits
/* 803763F4 00373354 38 7E 00 00 */ addi r3, r30, 0
/* 803763F8 00373358 38 9F 00 00 */ addi r4, r31, 0
/* 803763FC 0037335C 38 BF 00 00 */ addi r5, r31, 0
/* 80376400 00373360 48 00 00 1D */ bl GXInitFifoPtrs
/* 80376404 00373364 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80376408 00373368 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8037640C 0037336C 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80376410 00373370 38 21 00 20 */ addi r1, r1, 0x20
/* 80376414 00373374 7C 08 03 A6 */ mtlr r0
/* 80376418 00373378 4E 80 00 20 */ blr
.global GXInitFifoPtrs
GXInitFifoPtrs:
/* 8037641C 0037337C 7C 08 02 A6 */ mflr r0
/* 80376420 00373380 90 01 00 04 */ stw r0, 4(r1)
/* 80376424 00373384 94 21 FF D8 */ stwu r1, -0x28(r1)
/* 80376428 00373388 93 E1 00 24 */ stw r31, 0x24(r1)
/* 8037642C 0037338C 3B E5 00 00 */ addi r31, r5, 0
/* 80376430 00373390 93 C1 00 20 */ stw r30, 0x20(r1)
/* 80376434 00373394 3B C4 00 00 */ addi r30, r4, 0
/* 80376438 00373398 93 A1 00 1C */ stw r29, 0x1c(r1)
/* 8037643C 0037339C 3B A3 00 00 */ addi r29, r3, 0
/* 80376440 003733A0 48 00 B2 21 */ bl OSDisableInterrupts
/* 80376444 003733A4 93 DD 00 14 */ stw r30, 0x14(r29)
/* 80376448 003733A8 7C 1E F8 50 */ subf r0, r30, r31
/* 8037644C 003733AC 93 FD 00 18 */ stw r31, 0x18(r29)
/* 80376450 003733B0 90 1D 00 1C */ stw r0, 0x1c(r29)
/* 80376454 003733B4 80 9D 00 1C */ lwz r4, 0x1c(r29)
/* 80376458 003733B8 2C 04 00 00 */ cmpwi r4, 0
/* 8037645C 003733BC 40 80 00 10 */ bge lbl_8037646C
/* 80376460 003733C0 80 1D 00 08 */ lwz r0, 8(r29)
/* 80376464 003733C4 7C 04 02 14 */ add r0, r4, r0
/* 80376468 003733C8 90 1D 00 1C */ stw r0, 0x1c(r29)
lbl_8037646C:
/* 8037646C 003733CC 48 00 B2 1D */ bl OSRestoreInterrupts
/* 80376470 003733D0 80 01 00 2C */ lwz r0, 0x2c(r1)
/* 80376474 003733D4 83 E1 00 24 */ lwz r31, 0x24(r1)
/* 80376478 003733D8 83 C1 00 20 */ lwz r30, 0x20(r1)
/* 8037647C 003733DC 83 A1 00 1C */ lwz r29, 0x1c(r1)
/* 80376480 003733E0 38 21 00 28 */ addi r1, r1, 0x28
/* 80376484 003733E4 7C 08 03 A6 */ mtlr r0
/* 80376488 003733E8 4E 80 00 20 */ blr
.global GXInitFifoLimits
GXInitFifoLimits:
/* 8037648C 003733EC 90 83 00 0C */ stw r4, 0xc(r3)
/* 80376490 003733F0 90 A3 00 10 */ stw r5, 0x10(r3)
/* 80376494 003733F4 4E 80 00 20 */ blr
.global GXSetCPUFifo
GXSetCPUFifo:
/* 80376498 003733F8 7C 08 02 A6 */ mflr r0
/* 8037649C 003733FC 90 01 00 04 */ stw r0, 4(r1)
/* 803764A0 00373400 94 21 FF E8 */ stwu r1, -0x18(r1)
/* 803764A4 00373404 93 E1 00 14 */ stw r31, 0x14(r1)
/* 803764A8 00373408 93 C1 00 10 */ stw r30, 0x10(r1)
/* 803764AC 0037340C 7C 7E 1B 78 */ mr r30, r3
/* 803764B0 00373410 48 00 B1 B1 */ bl OSDisableInterrupts
/* 803764B4 00373414 80 0D AC 8C */ lwz r0, lbl_805A984C@sda21(r13)
/* 803764B8 00373418 3B E3 00 00 */ addi r31, r3, 0
/* 803764BC 0037341C 93 CD AC 88 */ stw r30, lbl_805A9848@sda21(r13)
/* 803764C0 00373420 7C 1E 00 40 */ cmplw r30, r0
/* 803764C4 00373424 40 82 00 64 */ bne lbl_80376528
/* 803764C8 00373428 80 BE 00 00 */ lwz r5, 0(r30)
/* 803764CC 0037342C 38 00 00 01 */ li r0, 1
/* 803764D0 00373430 80 8D AC 78 */ lwz r4, lbl_805A9838@sda21(r13)
/* 803764D4 00373434 38 60 00 01 */ li r3, 1
/* 803764D8 00373438 54 A5 00 BE */ clrlwi r5, r5, 2
/* 803764DC 0037343C 90 A4 00 0C */ stw r5, 0xc(r4)
/* 803764E0 00373440 38 80 00 01 */ li r4, 1
/* 803764E4 00373444 80 DE 00 04 */ lwz r6, 4(r30)
/* 803764E8 00373448 80 AD AC 78 */ lwz r5, lbl_805A9838@sda21(r13)
/* 803764EC 0037344C 54 C6 00 BE */ clrlwi r6, r6, 2
/* 803764F0 00373450 90 C5 00 10 */ stw r6, 0x10(r5)
/* 803764F4 00373454 80 DE 00 18 */ lwz r6, 0x18(r30)
/* 803764F8 00373458 80 AD AC 78 */ lwz r5, lbl_805A9838@sda21(r13)
/* 803764FC 0037345C 54 C6 00 B4 */ rlwinm r6, r6, 0, 2, 0x1a
/* 80376500 00373460 54 C6 01 88 */ rlwinm r6, r6, 0, 6, 4
/* 80376504 00373464 90 C5 00 14 */ stw r6, 0x14(r5)
/* 80376508 00373468 98 0D AC 94 */ stb r0, lbl_805A9854@sda21(r13)
/* 8037650C 0037346C 48 00 04 DD */ bl __GXWriteFifoIntReset
/* 80376510 00373470 38 60 00 01 */ li r3, 1
/* 80376514 00373474 38 80 00 00 */ li r4, 0
/* 80376518 00373478 48 00 04 95 */ bl __GXWriteFifoIntEnable
/* 8037651C 0037347C 38 60 00 01 */ li r3, 1
/* 80376520 00373480 48 00 04 51 */ bl __GXFifoLink
/* 80376524 00373484 48 00 00 60 */ b lbl_80376584
lbl_80376528:
/* 80376528 00373488 88 0D AC 94 */ lbz r0, lbl_805A9854@sda21(r13)
/* 8037652C 0037348C 28 00 00 00 */ cmplwi r0, 0
/* 80376530 00373490 41 82 00 14 */ beq lbl_80376544
/* 80376534 00373494 38 60 00 00 */ li r3, 0
/* 80376538 00373498 48 00 04 39 */ bl __GXFifoLink
/* 8037653C 0037349C 38 00 00 00 */ li r0, 0
/* 80376540 003734A0 98 0D AC 94 */ stb r0, lbl_805A9854@sda21(r13)
lbl_80376544:
/* 80376544 003734A4 38 60 00 00 */ li r3, 0
/* 80376548 003734A8 38 80 00 00 */ li r4, 0
/* 8037654C 003734AC 48 00 04 61 */ bl __GXWriteFifoIntEnable
/* 80376550 003734B0 80 1E 00 00 */ lwz r0, 0(r30)
/* 80376554 003734B4 80 6D AC 78 */ lwz r3, lbl_805A9838@sda21(r13)
/* 80376558 003734B8 54 00 00 BE */ clrlwi r0, r0, 2
/* 8037655C 003734BC 90 03 00 0C */ stw r0, 0xc(r3)
/* 80376560 003734C0 80 1E 00 04 */ lwz r0, 4(r30)
/* 80376564 003734C4 80 6D AC 78 */ lwz r3, lbl_805A9838@sda21(r13)
/* 80376568 003734C8 54 00 00 BE */ clrlwi r0, r0, 2
/* 8037656C 003734CC 90 03 00 10 */ stw r0, 0x10(r3)
/* 80376570 003734D0 80 1E 00 18 */ lwz r0, 0x18(r30)
/* 80376574 003734D4 80 6D AC 78 */ lwz r3, lbl_805A9838@sda21(r13)
/* 80376578 003734D8 54 00 00 B4 */ rlwinm r0, r0, 0, 2, 0x1a
/* 8037657C 003734DC 54 00 01 88 */ rlwinm r0, r0, 0, 6, 4
/* 80376580 003734E0 90 03 00 14 */ stw r0, 0x14(r3)
lbl_80376584:
/* 80376584 003734E4 4B FF 92 89 */ bl PPCSync
/* 80376588 003734E8 7F E3 FB 78 */ mr r3, r31
/* 8037658C 003734EC 48 00 B0 FD */ bl OSRestoreInterrupts
/* 80376590 003734F0 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 80376594 003734F4 83 E1 00 14 */ lwz r31, 0x14(r1)
/* 80376598 003734F8 83 C1 00 10 */ lwz r30, 0x10(r1)
/* 8037659C 003734FC 38 21 00 18 */ addi r1, r1, 0x18
/* 803765A0 00373500 7C 08 03 A6 */ mtlr r0
/* 803765A4 00373504 4E 80 00 20 */ blr
.global GXSetGPFifo
GXSetGPFifo:
/* 803765A8 00373508 7C 08 02 A6 */ mflr r0
/* 803765AC 0037350C 90 01 00 04 */ stw r0, 4(r1)
/* 803765B0 00373510 94 21 FF E8 */ stwu r1, -0x18(r1)
/* 803765B4 00373514 93 E1 00 14 */ stw r31, 0x14(r1)
/* 803765B8 00373518 93 C1 00 10 */ stw r30, 0x10(r1)
/* 803765BC 0037351C 7C 7E 1B 78 */ mr r30, r3
/* 803765C0 00373520 48 00 B0 A1 */ bl OSDisableInterrupts
/* 803765C4 00373524 7C 7F 1B 78 */ mr r31, r3
/* 803765C8 00373528 48 00 03 89 */ bl __GXFifoReadDisable
/* 803765CC 0037352C 38 60 00 00 */ li r3, 0
/* 803765D0 00373530 38 80 00 00 */ li r4, 0
/* 803765D4 00373534 48 00 03 D9 */ bl __GXWriteFifoIntEnable
/* 803765D8 00373538 93 CD AC 8C */ stw r30, lbl_805A984C@sda21(r13)
/* 803765DC 0037353C 80 6D AC 7C */ lwz r3, lbl_805A983C@sda21(r13)
/* 803765E0 00373540 80 1E 00 00 */ lwz r0, 0(r30)
/* 803765E4 00373544 B0 03 00 20 */ sth r0, 0x20(r3)
/* 803765E8 00373548 80 1E 00 04 */ lwz r0, 4(r30)
/* 803765EC 0037354C 80 6D AC 7C */ lwz r3, lbl_805A983C@sda21(r13)
/* 803765F0 00373550 B0 03 00 24 */ sth r0, 0x24(r3)
/* 803765F4 00373554 80 1E 00 1C */ lwz r0, 0x1c(r30)
/* 803765F8 00373558 80 6D AC 7C */ lwz r3, lbl_805A983C@sda21(r13)
/* 803765FC 0037355C B0 03 00 30 */ sth r0, 0x30(r3)
/* 80376600 00373560 80 1E 00 18 */ lwz r0, 0x18(r30)
/* 80376604 00373564 80 6D AC 7C */ lwz r3, lbl_805A983C@sda21(r13)
/* 80376608 00373568 B0 03 00 34 */ sth r0, 0x34(r3)
/* 8037660C 0037356C 80 1E 00 14 */ lwz r0, 0x14(r30)
/* 80376610 00373570 80 6D AC 7C */ lwz r3, lbl_805A983C@sda21(r13)
/* 80376614 00373574 B0 03 00 38 */ sth r0, 0x38(r3)
/* 80376618 00373578 80 1E 00 0C */ lwz r0, 0xc(r30)
/* 8037661C 0037357C 80 6D AC 7C */ lwz r3, lbl_805A983C@sda21(r13)
/* 80376620 00373580 B0 03 00 28 */ sth r0, 0x28(r3)
/* 80376624 00373584 80 1E 00 10 */ lwz r0, 0x10(r30)
/* 80376628 00373588 80 6D AC 7C */ lwz r3, lbl_805A983C@sda21(r13)
/* 8037662C 0037358C B0 03 00 2C */ sth r0, 0x2c(r3)
/* 80376630 00373590 80 1E 00 00 */ lwz r0, 0(r30)
/* 80376634 00373594 80 6D AC 7C */ lwz r3, lbl_805A983C@sda21(r13)
/* 80376638 00373598 54 00 84 BE */ rlwinm r0, r0, 0x10, 0x12, 0x1f
/* 8037663C 0037359C B0 03 00 22 */ sth r0, 0x22(r3)
/* 80376640 003735A0 80 1E 00 04 */ lwz r0, 4(r30)
/* 80376644 003735A4 80 6D AC 7C */ lwz r3, lbl_805A983C@sda21(r13)
/* 80376648 003735A8 54 00 84 BE */ rlwinm r0, r0, 0x10, 0x12, 0x1f
/* 8037664C 003735AC B0 03 00 26 */ sth r0, 0x26(r3)
/* 80376650 003735B0 80 1E 00 1C */ lwz r0, 0x1c(r30)
/* 80376654 003735B4 80 6D AC 7C */ lwz r3, lbl_805A983C@sda21(r13)
/* 80376658 003735B8 7C 00 86 70 */ srawi r0, r0, 0x10
/* 8037665C 003735BC B0 03 00 32 */ sth r0, 0x32(r3)
/* 80376660 003735C0 80 1E 00 18 */ lwz r0, 0x18(r30)
/* 80376664 003735C4 80 6D AC 7C */ lwz r3, lbl_805A983C@sda21(r13)
/* 80376668 003735C8 54 00 84 BE */ rlwinm r0, r0, 0x10, 0x12, 0x1f
/* 8037666C 003735CC B0 03 00 36 */ sth r0, 0x36(r3)
/* 80376670 003735D0 80 1E 00 14 */ lwz r0, 0x14(r30)
/* 80376674 003735D4 80 6D AC 7C */ lwz r3, lbl_805A983C@sda21(r13)
/* 80376678 003735D8 54 00 84 BE */ rlwinm r0, r0, 0x10, 0x12, 0x1f
/* 8037667C 003735DC B0 03 00 3A */ sth r0, 0x3a(r3)
/* 80376680 003735E0 80 1E 00 0C */ lwz r0, 0xc(r30)
/* 80376684 003735E4 80 6D AC 7C */ lwz r3, lbl_805A983C@sda21(r13)
/* 80376688 003735E8 54 00 84 3E */ srwi r0, r0, 0x10
/* 8037668C 003735EC B0 03 00 2A */ sth r0, 0x2a(r3)
/* 80376690 003735F0 80 1E 00 10 */ lwz r0, 0x10(r30)
/* 80376694 003735F4 80 6D AC 7C */ lwz r3, lbl_805A983C@sda21(r13)
/* 80376698 003735F8 54 00 84 3E */ srwi r0, r0, 0x10
/* 8037669C 003735FC B0 03 00 2E */ sth r0, 0x2e(r3)
/* 803766A0 00373600 4B FF 91 6D */ bl PPCSync
/* 803766A4 00373604 80 6D AC 88 */ lwz r3, lbl_805A9848@sda21(r13)
/* 803766A8 00373608 80 0D AC 8C */ lwz r0, lbl_805A984C@sda21(r13)
/* 803766AC 0037360C 7C 03 00 40 */ cmplw r3, r0
/* 803766B0 00373610 40 82 00 24 */ bne lbl_803766D4
/* 803766B4 00373614 38 00 00 01 */ li r0, 1
/* 803766B8 00373618 98 0D AC 94 */ stb r0, lbl_805A9854@sda21(r13)
/* 803766BC 0037361C 38 60 00 01 */ li r3, 1
/* 803766C0 00373620 38 80 00 00 */ li r4, 0
/* 803766C4 00373624 48 00 02 E9 */ bl __GXWriteFifoIntEnable
/* 803766C8 00373628 38 60 00 01 */ li r3, 1
/* 803766CC 0037362C 48 00 02 A5 */ bl __GXFifoLink
/* 803766D0 00373630 48 00 00 20 */ b lbl_803766F0
lbl_803766D4:
/* 803766D4 00373634 38 00 00 00 */ li r0, 0
/* 803766D8 00373638 98 0D AC 94 */ stb r0, lbl_805A9854@sda21(r13)
/* 803766DC 0037363C 38 60 00 00 */ li r3, 0
/* 803766E0 00373640 38 80 00 00 */ li r4, 0
/* 803766E4 00373644 48 00 02 C9 */ bl __GXWriteFifoIntEnable
/* 803766E8 00373648 38 60 00 00 */ li r3, 0
/* 803766EC 0037364C 48 00 02 85 */ bl __GXFifoLink
lbl_803766F0:
/* 803766F0 00373650 38 60 00 01 */ li r3, 1
/* 803766F4 00373654 38 80 00 01 */ li r4, 1
/* 803766F8 00373658 48 00 02 F1 */ bl __GXWriteFifoIntReset
/* 803766FC 0037365C 48 00 02 31 */ bl __GXFifoReadEnable
/* 80376700 00373660 7F E3 FB 78 */ mr r3, r31
/* 80376704 00373664 48 00 AF 85 */ bl OSRestoreInterrupts
/* 80376708 00373668 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 8037670C 0037366C 83 E1 00 14 */ lwz r31, 0x14(r1)
/* 80376710 00373670 83 C1 00 10 */ lwz r30, 0x10(r1)
/* 80376714 00373674 38 21 00 18 */ addi r1, r1, 0x18
/* 80376718 00373678 7C 08 03 A6 */ mtlr r0
/* 8037671C 0037367C 4E 80 00 20 */ blr
.global GXGetFifoPtrs
GXGetFifoPtrs:
/* 80376720 00373680 80 0D AC 88 */ lwz r0, lbl_805A9848@sda21(r13)
/* 80376724 00373684 7C 03 00 40 */ cmplw r3, r0
/* 80376728 00373688 40 82 00 18 */ bne lbl_80376740
/* 8037672C 0037368C 80 CD AC 78 */ lwz r6, lbl_805A9838@sda21(r13)
/* 80376730 00373690 80 06 00 14 */ lwz r0, 0x14(r6)
/* 80376734 00373694 54 06 01 88 */ rlwinm r6, r0, 0, 6, 4
/* 80376738 00373698 3C 06 80 00 */ addis r0, r6, 0x8000
/* 8037673C 0037369C 90 03 00 18 */ stw r0, 0x18(r3)
lbl_80376740:
/* 80376740 003736A0 80 0D AC 8C */ lwz r0, lbl_805A984C@sda21(r13)
/* 80376744 003736A4 7C 03 00 40 */ cmplw r3, r0
/* 80376748 003736A8 40 82 00 34 */ bne lbl_8037677C
/* 8037674C 003736AC 80 ED AC 7C */ lwz r7, lbl_805A983C@sda21(r13)
/* 80376750 003736B0 A0 C7 00 3A */ lhz r6, 0x3a(r7)
/* 80376754 003736B4 A0 E7 00 38 */ lhz r7, 0x38(r7)
/* 80376758 003736B8 50 C7 80 1E */ rlwimi r7, r6, 0x10, 0, 0xf
/* 8037675C 003736BC 3C 07 80 00 */ addis r0, r7, 0x8000
/* 80376760 003736C0 90 03 00 14 */ stw r0, 0x14(r3)
/* 80376764 003736C4 80 ED AC 7C */ lwz r7, lbl_805A983C@sda21(r13)
/* 80376768 003736C8 A0 C7 00 32 */ lhz r6, 0x32(r7)
/* 8037676C 003736CC A0 07 00 30 */ lhz r0, 0x30(r7)
/* 80376770 003736D0 50 C0 80 1E */ rlwimi r0, r6, 0x10, 0, 0xf
/* 80376774 003736D4 90 03 00 1C */ stw r0, 0x1c(r3)
/* 80376778 003736D8 48 00 00 2C */ b lbl_803767A4
lbl_8037677C:
/* 8037677C 003736DC 80 C3 00 14 */ lwz r6, 0x14(r3)
/* 80376780 003736E0 80 03 00 18 */ lwz r0, 0x18(r3)
/* 80376784 003736E4 7C 06 00 50 */ subf r0, r6, r0
/* 80376788 003736E8 90 03 00 1C */ stw r0, 0x1c(r3)
/* 8037678C 003736EC 80 C3 00 1C */ lwz r6, 0x1c(r3)
/* 80376790 003736F0 2C 06 00 00 */ cmpwi r6, 0
/* 80376794 003736F4 40 80 00 10 */ bge lbl_803767A4
/* 80376798 003736F8 80 03 00 08 */ lwz r0, 8(r3)
/* 8037679C 003736FC 7C 06 02 14 */ add r0, r6, r0
/* 803767A0 00373700 90 03 00 1C */ stw r0, 0x1c(r3)
lbl_803767A4:
/* 803767A4 00373704 80 03 00 14 */ lwz r0, 0x14(r3)
/* 803767A8 00373708 90 04 00 00 */ stw r0, 0(r4)
/* 803767AC 0037370C 80 03 00 18 */ lwz r0, 0x18(r3)
/* 803767B0 00373710 90 05 00 00 */ stw r0, 0(r5)
/* 803767B4 00373714 4E 80 00 20 */ blr
.global GXSetBreakPtCallback
GXSetBreakPtCallback:
/* 803767B8 00373718 7C 08 02 A6 */ mflr r0
/* 803767BC 0037371C 90 01 00 04 */ stw r0, 4(r1)
/* 803767C0 00373720 94 21 FF E8 */ stwu r1, -0x18(r1)
/* 803767C4 00373724 93 E1 00 14 */ stw r31, 0x14(r1)
/* 803767C8 00373728 93 C1 00 10 */ stw r30, 0x10(r1)
/* 803767CC 0037372C 7C 7E 1B 78 */ mr r30, r3
/* 803767D0 00373730 83 ED AC 9C */ lwz r31, lbl_805A985C@sda21(r13)
/* 803767D4 00373734 48 00 AE 8D */ bl OSDisableInterrupts
/* 803767D8 00373738 93 CD AC 9C */ stw r30, lbl_805A985C@sda21(r13)
/* 803767DC 0037373C 48 00 AE AD */ bl OSRestoreInterrupts
/* 803767E0 00373740 7F E3 FB 78 */ mr r3, r31
/* 803767E4 00373744 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 803767E8 00373748 83 E1 00 14 */ lwz r31, 0x14(r1)
/* 803767EC 0037374C 83 C1 00 10 */ lwz r30, 0x10(r1)
/* 803767F0 00373750 38 21 00 18 */ addi r1, r1, 0x18
/* 803767F4 00373754 7C 08 03 A6 */ mtlr r0
/* 803767F8 00373758 4E 80 00 20 */ blr
.global GXEnableBreakPt
GXEnableBreakPt:
/* 803767FC 0037375C 7C 08 02 A6 */ mflr r0
/* 80376800 00373760 90 01 00 04 */ stw r0, 4(r1)
/* 80376804 00373764 94 21 FF E8 */ stwu r1, -0x18(r1)
/* 80376808 00373768 93 E1 00 14 */ stw r31, 0x14(r1)
/* 8037680C 0037376C 93 C1 00 10 */ stw r30, 0x10(r1)
/* 80376810 00373770 7C 7E 1B 78 */ mr r30, r3
/* 80376814 00373774 48 00 AE 4D */ bl OSDisableInterrupts
/* 80376818 00373778 7C 7F 1B 78 */ mr r31, r3
/* 8037681C 0037377C 48 00 01 35 */ bl __GXFifoReadDisable
/* 80376820 00373780 80 6D AC 7C */ lwz r3, lbl_805A983C@sda21(r13)
/* 80376824 00373784 57 C0 84 BE */ rlwinm r0, r30, 0x10, 0x12, 0x1f
/* 80376828 00373788 B3 C3 00 3C */ sth r30, 0x3c(r3)
/* 8037682C 0037378C 80 6D AC 7C */ lwz r3, lbl_805A983C@sda21(r13)
/* 80376830 00373790 B0 03 00 3E */ sth r0, 0x3e(r3)
/* 80376834 00373794 80 62 CE 08 */ lwz r3, __GXData@sda21(r2)
/* 80376838 00373798 80 03 00 08 */ lwz r0, 8(r3)
/* 8037683C 0037379C 54 00 07 FA */ rlwinm r0, r0, 0, 0x1f, 0x1d
/* 80376840 003737A0 60 00 00 02 */ ori r0, r0, 2
/* 80376844 003737A4 90 03 00 08 */ stw r0, 8(r3)
/* 80376848 003737A8 80 03 00 08 */ lwz r0, 8(r3)
/* 8037684C 003737AC 54 00 06 F2 */ rlwinm r0, r0, 0, 0x1b, 0x19
/* 80376850 003737B0 60 00 00 20 */ ori r0, r0, 0x20
/* 80376854 003737B4 90 03 00 08 */ stw r0, 8(r3)
/* 80376858 003737B8 80 03 00 08 */ lwz r0, 8(r3)
/* 8037685C 003737BC 80 6D AC 7C */ lwz r3, lbl_805A983C@sda21(r13)
/* 80376860 003737C0 B0 03 00 02 */ sth r0, 2(r3)
/* 80376864 003737C4 93 CD AC A4 */ stw r30, lbl_805A9864@sda21(r13)
/* 80376868 003737C8 48 00 00 C5 */ bl __GXFifoReadEnable
/* 8037686C 003737CC 7F E3 FB 78 */ mr r3, r31
/* 80376870 003737D0 48 00 AE 19 */ bl OSRestoreInterrupts
/* 80376874 003737D4 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 80376878 003737D8 83 E1 00 14 */ lwz r31, 0x14(r1)
/* 8037687C 003737DC 83 C1 00 10 */ lwz r30, 0x10(r1)
/* 80376880 003737E0 38 21 00 18 */ addi r1, r1, 0x18
/* 80376884 003737E4 7C 08 03 A6 */ mtlr r0
/* 80376888 003737E8 4E 80 00 20 */ blr
.global GXDisableBreakPt
GXDisableBreakPt:
/* 8037688C 003737EC 7C 08 02 A6 */ mflr r0
/* 80376890 003737F0 90 01 00 04 */ stw r0, 4(r1)
/* 80376894 003737F4 94 21 FF F8 */ stwu r1, -8(r1)
/* 80376898 003737F8 48 00 AD C9 */ bl OSDisableInterrupts
/* 8037689C 003737FC 80 A2 CE 08 */ lwz r5, __GXData@sda21(r2)
/* 803768A0 00373800 38 00 00 00 */ li r0, 0
/* 803768A4 00373804 80 85 00 08 */ lwz r4, 8(r5)
/* 803768A8 00373808 54 84 07 FA */ rlwinm r4, r4, 0, 0x1f, 0x1d
/* 803768AC 0037380C 90 85 00 08 */ stw r4, 8(r5)
/* 803768B0 00373810 80 85 00 08 */ lwz r4, 8(r5)
/* 803768B4 00373814 54 84 06 F2 */ rlwinm r4, r4, 0, 0x1b, 0x19
/* 803768B8 00373818 90 85 00 08 */ stw r4, 8(r5)
/* 803768BC 0037381C 80 A5 00 08 */ lwz r5, 8(r5)
/* 803768C0 00373820 80 8D AC 7C */ lwz r4, lbl_805A983C@sda21(r13)
/* 803768C4 00373824 B0 A4 00 02 */ sth r5, 2(r4)
/* 803768C8 00373828 90 0D AC A4 */ stw r0, lbl_805A9864@sda21(r13)
/* 803768CC 0037382C 48 00 AD BD */ bl OSRestoreInterrupts
/* 803768D0 00373830 80 01 00 0C */ lwz r0, 0xc(r1)
/* 803768D4 00373834 38 21 00 08 */ addi r1, r1, 8
/* 803768D8 00373838 7C 08 03 A6 */ mtlr r0
/* 803768DC 0037383C 4E 80 00 20 */ blr
.global __GXFifoInit
__GXFifoInit:
/* 803768E0 00373840 7C 08 02 A6 */ mflr r0
/* 803768E4 00373844 3C 60 80 37 */ lis r3, GXCPInterruptHandler@ha
/* 803768E8 00373848 90 01 00 04 */ stw r0, 4(r1)
/* 803768EC 0037384C 38 83 62 7C */ addi r4, r3, GXCPInterruptHandler@l
/* 803768F0 00373850 38 60 00 11 */ li r3, 0x11
/* 803768F4 00373854 94 21 FF F8 */ stwu r1, -8(r1)
/* 803768F8 00373858 48 00 AD B5 */ bl __OSSetInterruptHandler
/* 803768FC 0037385C 38 60 40 00 */ li r3, 0x4000
/* 80376900 00373860 48 00 B1 B1 */ bl __OSUnmaskInterrupts
/* 80376904 00373864 48 00 DC D1 */ bl OSGetCurrentThread
/* 80376908 00373868 38 00 00 00 */ li r0, 0
/* 8037690C 0037386C 90 6D AC 90 */ stw r3, lbl_805A9850@sda21(r13)
/* 80376910 00373870 90 0D AC 98 */ stw r0, lbl_805A9858@sda21(r13)
/* 80376914 00373874 90 0D AC 88 */ stw r0, lbl_805A9848@sda21(r13)
/* 80376918 00373878 90 0D AC 8C */ stw r0, lbl_805A984C@sda21(r13)
/* 8037691C 0037387C 80 01 00 0C */ lwz r0, 0xc(r1)
/* 80376920 00373880 38 21 00 08 */ addi r1, r1, 8
/* 80376924 00373884 7C 08 03 A6 */ mtlr r0
/* 80376928 00373888 4E 80 00 20 */ blr
.global __GXFifoReadEnable
__GXFifoReadEnable:
/* 8037692C 0037388C 80 62 CE 08 */ lwz r3, __GXData@sda21(r2)
/* 80376930 00373890 80 03 00 08 */ lwz r0, 8(r3)
/* 80376934 00373894 54 00 00 3C */ rlwinm r0, r0, 0, 0, 0x1e
/* 80376938 00373898 60 00 00 01 */ ori r0, r0, 1
/* 8037693C 0037389C 90 03 00 08 */ stw r0, 8(r3)
/* 80376940 003738A0 80 03 00 08 */ lwz r0, 8(r3)
/* 80376944 003738A4 80 6D AC 7C */ lwz r3, lbl_805A983C@sda21(r13)
/* 80376948 003738A8 B0 03 00 02 */ sth r0, 2(r3)
/* 8037694C 003738AC 4E 80 00 20 */ blr
.global __GXFifoReadDisable
__GXFifoReadDisable:
/* 80376950 003738B0 80 62 CE 08 */ lwz r3, __GXData@sda21(r2)
/* 80376954 003738B4 80 03 00 08 */ lwz r0, 8(r3)
/* 80376958 003738B8 54 00 00 3C */ rlwinm r0, r0, 0, 0, 0x1e
/* 8037695C 003738BC 90 03 00 08 */ stw r0, 8(r3)
/* 80376960 003738C0 80 03 00 08 */ lwz r0, 8(r3)
/* 80376964 003738C4 80 6D AC 7C */ lwz r3, lbl_805A983C@sda21(r13)
/* 80376968 003738C8 B0 03 00 02 */ sth r0, 2(r3)
/* 8037696C 003738CC 4E 80 00 20 */ blr
.global __GXFifoLink
__GXFifoLink:
/* 80376970 003738D0 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 80376974 003738D4 41 82 00 0C */ beq lbl_80376980
/* 80376978 003738D8 38 00 00 01 */ li r0, 1
/* 8037697C 003738DC 48 00 00 08 */ b lbl_80376984
lbl_80376980:
/* 80376980 003738E0 38 00 00 00 */ li r0, 0
lbl_80376984:
/* 80376984 003738E4 80 82 CE 08 */ lwz r4, __GXData@sda21(r2)
/* 80376988 003738E8 54 00 20 36 */ slwi r0, r0, 4
/* 8037698C 003738EC 80 64 00 08 */ lwz r3, 8(r4)
/* 80376990 003738F0 54 63 07 34 */ rlwinm r3, r3, 0, 0x1c, 0x1a
/* 80376994 003738F4 7C 60 03 78 */ or r0, r3, r0
/* 80376998 003738F8 90 04 00 08 */ stw r0, 8(r4)
/* 8037699C 003738FC 80 04 00 08 */ lwz r0, 8(r4)
/* 803769A0 00373900 80 6D AC 7C */ lwz r3, lbl_805A983C@sda21(r13)
/* 803769A4 00373904 B0 03 00 02 */ sth r0, 2(r3)
/* 803769A8 00373908 4E 80 00 20 */ blr
.global __GXWriteFifoIntEnable
__GXWriteFifoIntEnable:
/* 803769AC 0037390C 80 C2 CE 08 */ lwz r6, __GXData@sda21(r2)
/* 803769B0 00373910 54 63 15 BA */ rlwinm r3, r3, 2, 0x16, 0x1d
/* 803769B4 00373914 54 80 1D 78 */ rlwinm r0, r4, 3, 0x15, 0x1c
/* 803769B8 00373918 80 A6 00 08 */ lwz r5, 8(r6)
/* 803769BC 0037391C 54 A4 07 B8 */ rlwinm r4, r5, 0, 0x1e, 0x1c
/* 803769C0 00373920 7C 83 1B 78 */ or r3, r4, r3
/* 803769C4 00373924 90 66 00 08 */ stw r3, 8(r6)
/* 803769C8 00373928 80 66 00 08 */ lwz r3, 8(r6)
/* 803769CC 0037392C 54 63 07 76 */ rlwinm r3, r3, 0, 0x1d, 0x1b
/* 803769D0 00373930 7C 60 03 78 */ or r0, r3, r0
/* 803769D4 00373934 90 06 00 08 */ stw r0, 8(r6)
/* 803769D8 00373938 80 06 00 08 */ lwz r0, 8(r6)
/* 803769DC 0037393C 80 6D AC 7C */ lwz r3, lbl_805A983C@sda21(r13)
/* 803769E0 00373940 B0 03 00 02 */ sth r0, 2(r3)
/* 803769E4 00373944 4E 80 00 20 */ blr
.global __GXWriteFifoIntReset
__GXWriteFifoIntReset:
/* 803769E8 00373948 80 C2 CE 08 */ lwz r6, __GXData@sda21(r2)
/* 803769EC 0037394C 54 63 06 3E */ clrlwi r3, r3, 0x18
/* 803769F0 00373950 54 80 0D FC */ rlwinm r0, r4, 1, 0x17, 0x1e
/* 803769F4 00373954 80 A6 00 10 */ lwz r5, 0x10(r6)
/* 803769F8 00373958 54 A4 00 3C */ rlwinm r4, r5, 0, 0, 0x1e
/* 803769FC 0037395C 7C 83 1B 78 */ or r3, r4, r3
/* 80376A00 00373960 90 66 00 10 */ stw r3, 0x10(r6)
/* 80376A04 00373964 80 66 00 10 */ lwz r3, 0x10(r6)
/* 80376A08 00373968 54 63 07 FA */ rlwinm r3, r3, 0, 0x1f, 0x1d
/* 80376A0C 0037396C 7C 60 03 78 */ or r0, r3, r0
/* 80376A10 00373970 90 06 00 10 */ stw r0, 0x10(r6)
/* 80376A14 00373974 80 06 00 10 */ lwz r0, 0x10(r6)
/* 80376A18 00373978 80 6D AC 7C */ lwz r3, lbl_805A983C@sda21(r13)
/* 80376A1C 0037397C B0 03 00 04 */ sth r0, 4(r3)
/* 80376A20 00373980 4E 80 00 20 */ blr
.global __GXCleanGPFifo
__GXCleanGPFifo:
/* 80376A24 00373984 7C 08 02 A6 */ mflr r0
/* 80376A28 00373988 90 01 00 04 */ stw r0, 4(r1)
/* 80376A2C 0037398C 94 21 FF 58 */ stwu r1, -0xa8(r1)
/* 80376A30 00373990 93 E1 00 A4 */ stw r31, 0xa4(r1)
/* 80376A34 00373994 93 C1 00 A0 */ stw r30, 0xa0(r1)
/* 80376A38 00373998 93 A1 00 9C */ stw r29, 0x9c(r1)
/* 80376A3C 0037399C 48 00 00 F1 */ bl GXGetGPFifo
/* 80376A40 003739A0 7C 7F 1B 79 */ or. r31, r3, r3
/* 80376A44 003739A4 41 82 00 C4 */ beq lbl_80376B08
/* 80376A48 003739A8 48 00 00 DD */ bl GXGetCPUFifo
/* 80376A4C 003739AC 38 00 00 10 */ li r0, 0x10
/* 80376A50 003739B0 83 BF 00 00 */ lwz r29, 0(r31)
/* 80376A54 003739B4 7C 09 03 A6 */ mtctr r0
/* 80376A58 003739B8 3B C3 00 00 */ addi r30, r3, 0
/* 80376A5C 003739BC 38 A1 00 0C */ addi r5, r1, 0xc
/* 80376A60 003739C0 38 9F FF F8 */ addi r4, r31, -8
lbl_80376A64:
/* 80376A64 003739C4 84 64 00 08 */ lwzu r3, 8(r4)
/* 80376A68 003739C8 80 04 00 04 */ lwz r0, 4(r4)
/* 80376A6C 003739CC 94 65 00 08 */ stwu r3, 8(r5)
/* 80376A70 003739D0 90 05 00 04 */ stw r0, 4(r5)
/* 80376A74 003739D4 42 00 FF F0 */ bdnz lbl_80376A64
/* 80376A78 003739D8 48 00 AB E9 */ bl OSDisableInterrupts
/* 80376A7C 003739DC 93 A1 00 28 */ stw r29, 0x28(r1)
/* 80376A80 003739E0 38 00 00 00 */ li r0, 0
/* 80376A84 003739E4 93 A1 00 2C */ stw r29, 0x2c(r1)
/* 80376A88 003739E8 90 01 00 30 */ stw r0, 0x30(r1)
/* 80376A8C 003739EC 80 81 00 30 */ lwz r4, 0x30(r1)
/* 80376A90 003739F0 2C 04 00 00 */ cmpwi r4, 0
/* 80376A94 003739F4 40 80 00 10 */ bge lbl_80376AA4
/* 80376A98 003739F8 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 80376A9C 003739FC 7C 04 02 14 */ add r0, r4, r0
/* 80376AA0 00373A00 90 01 00 30 */ stw r0, 0x30(r1)
lbl_80376AA4:
/* 80376AA4 00373A04 48 00 AB E5 */ bl OSRestoreInterrupts
/* 80376AA8 00373A08 38 61 00 14 */ addi r3, r1, 0x14
/* 80376AAC 00373A0C 4B FF FA FD */ bl GXSetGPFifo
/* 80376AB0 00373A10 7C 1E F8 40 */ cmplw r30, r31
/* 80376AB4 00373A14 40 82 00 0C */ bne lbl_80376AC0
/* 80376AB8 00373A18 38 61 00 14 */ addi r3, r1, 0x14
/* 80376ABC 00373A1C 4B FF F9 DD */ bl GXSetCPUFifo
lbl_80376AC0:
/* 80376AC0 00373A20 48 00 AB A1 */ bl OSDisableInterrupts
/* 80376AC4 00373A24 93 BF 00 14 */ stw r29, 0x14(r31)
/* 80376AC8 00373A28 38 00 00 00 */ li r0, 0
/* 80376ACC 00373A2C 93 BF 00 18 */ stw r29, 0x18(r31)
/* 80376AD0 00373A30 90 1F 00 1C */ stw r0, 0x1c(r31)
/* 80376AD4 00373A34 80 9F 00 1C */ lwz r4, 0x1c(r31)
/* 80376AD8 00373A38 2C 04 00 00 */ cmpwi r4, 0
/* 80376ADC 00373A3C 40 80 00 10 */ bge lbl_80376AEC
/* 80376AE0 00373A40 80 1F 00 08 */ lwz r0, 8(r31)
/* 80376AE4 00373A44 7C 04 02 14 */ add r0, r4, r0
/* 80376AE8 00373A48 90 1F 00 1C */ stw r0, 0x1c(r31)
lbl_80376AEC:
/* 80376AEC 00373A4C 48 00 AB 9D */ bl OSRestoreInterrupts
/* 80376AF0 00373A50 7F E3 FB 78 */ mr r3, r31
/* 80376AF4 00373A54 4B FF FA B5 */ bl GXSetGPFifo
/* 80376AF8 00373A58 7C 1E F8 40 */ cmplw r30, r31
/* 80376AFC 00373A5C 40 82 00 0C */ bne lbl_80376B08
/* 80376B00 00373A60 7F C3 F3 78 */ mr r3, r30
/* 80376B04 00373A64 4B FF F9 95 */ bl GXSetCPUFifo
lbl_80376B08:
/* 80376B08 00373A68 80 01 00 AC */ lwz r0, 0xac(r1)
/* 80376B0C 00373A6C 83 E1 00 A4 */ lwz r31, 0xa4(r1)
/* 80376B10 00373A70 83 C1 00 A0 */ lwz r30, 0xa0(r1)
/* 80376B14 00373A74 83 A1 00 9C */ lwz r29, 0x9c(r1)
/* 80376B18 00373A78 38 21 00 A8 */ addi r1, r1, 0xa8
/* 80376B1C 00373A7C 7C 08 03 A6 */ mtlr r0
/* 80376B20 00373A80 4E 80 00 20 */ blr
.global GXGetCPUFifo
GXGetCPUFifo:
/* 80376B24 00373A84 80 6D AC 88 */ lwz r3, lbl_805A9848@sda21(r13)
/* 80376B28 00373A88 4E 80 00 20 */ blr
.global GXGetGPFifo
GXGetGPFifo:
/* 80376B2C 00373A8C 80 6D AC 8C */ lwz r3, lbl_805A984C@sda21(r13)
/* 80376B30 00373A90 4E 80 00 20 */ blr
.global GXRedirectWriteGatherPipe
GXRedirectWriteGatherPipe:
/* 80376B34 00373A94 7C 08 02 A6 */ mflr r0
/* 80376B38 00373A98 90 01 00 04 */ stw r0, 4(r1)
/* 80376B3C 00373A9C 94 21 FF E8 */ stwu r1, -0x18(r1)
/* 80376B40 00373AA0 93 E1 00 14 */ stw r31, 0x14(r1)
/* 80376B44 00373AA4 93 C1 00 10 */ stw r30, 0x10(r1)
/* 80376B48 00373AA8 7C 7E 1B 78 */ mr r30, r3
/* 80376B4C 00373AAC 48 00 AB 15 */ bl OSDisableInterrupts
/* 80376B50 00373AB0 7C 7F 1B 78 */ mr r31, r3
/* 80376B54 00373AB4 48 00 17 BD */ bl GXFlush
lbl_80376B58:
/* 80376B58 00373AB8 4B FF 8D 29 */ bl PPCMfwpar
/* 80376B5C 00373ABC 54 60 07 FF */ clrlwi. r0, r3, 0x1f
/* 80376B60 00373AC0 40 82 FF F8 */ bne lbl_80376B58
/* 80376B64 00373AC4 3C 60 0C 01 */ lis r3, 0x0C008000@ha
/* 80376B68 00373AC8 38 63 80 00 */ addi r3, r3, 0x0C008000@l
/* 80376B6C 00373ACC 4B FF 8D 21 */ bl PPCMtwpar
/* 80376B70 00373AD0 88 0D AC 94 */ lbz r0, lbl_805A9854@sda21(r13)
/* 80376B74 00373AD4 28 00 00 00 */ cmplwi r0, 0
/* 80376B78 00373AD8 41 82 00 44 */ beq lbl_80376BBC
/* 80376B7C 00373ADC 80 82 CE 08 */ lwz r4, __GXData@sda21(r2)
/* 80376B80 00373AE0 80 04 00 08 */ lwz r0, 8(r4)
/* 80376B84 00373AE4 54 00 07 34 */ rlwinm r0, r0, 0, 0x1c, 0x1a
/* 80376B88 00373AE8 90 04 00 08 */ stw r0, 8(r4)
/* 80376B8C 00373AEC 80 04 00 08 */ lwz r0, 8(r4)
/* 80376B90 00373AF0 80 6D AC 7C */ lwz r3, lbl_805A983C@sda21(r13)
/* 80376B94 00373AF4 B0 03 00 02 */ sth r0, 2(r3)
/* 80376B98 00373AF8 80 04 00 08 */ lwz r0, 8(r4)
/* 80376B9C 00373AFC 54 00 07 B8 */ rlwinm r0, r0, 0, 0x1e, 0x1c
/* 80376BA0 00373B00 90 04 00 08 */ stw r0, 8(r4)
/* 80376BA4 00373B04 80 04 00 08 */ lwz r0, 8(r4)
/* 80376BA8 00373B08 54 00 07 76 */ rlwinm r0, r0, 0, 0x1d, 0x1b
/* 80376BAC 00373B0C 90 04 00 08 */ stw r0, 8(r4)
/* 80376BB0 00373B10 80 04 00 08 */ lwz r0, 8(r4)
/* 80376BB4 00373B14 80 6D AC 7C */ lwz r3, lbl_805A983C@sda21(r13)
/* 80376BB8 00373B18 B0 03 00 02 */ sth r0, 2(r3)
lbl_80376BBC:
/* 80376BBC 00373B1C 80 8D AC 78 */ lwz r4, lbl_805A9838@sda21(r13)
/* 80376BC0 00373B20 57 C5 00 B4 */ rlwinm r5, r30, 0, 2, 0x1a
/* 80376BC4 00373B24 80 6D AC 88 */ lwz r3, lbl_805A9848@sda21(r13)
/* 80376BC8 00373B28 54 A5 01 88 */ rlwinm r5, r5, 0, 6, 4
/* 80376BCC 00373B2C 80 04 00 14 */ lwz r0, 0x14(r4)
/* 80376BD0 00373B30 54 04 01 88 */ rlwinm r4, r0, 0, 6, 4
/* 80376BD4 00373B34 3C 04 80 00 */ addis r0, r4, 0x8000
/* 80376BD8 00373B38 90 03 00 18 */ stw r0, 0x18(r3)
/* 80376BDC 00373B3C 38 80 00 00 */ li r4, 0
/* 80376BE0 00373B40 3C 00 04 00 */ lis r0, 0x400
/* 80376BE4 00373B44 80 6D AC 78 */ lwz r3, lbl_805A9838@sda21(r13)
/* 80376BE8 00373B48 90 83 00 0C */ stw r4, 0xc(r3)
/* 80376BEC 00373B4C 80 6D AC 78 */ lwz r3, lbl_805A9838@sda21(r13)
/* 80376BF0 00373B50 90 03 00 10 */ stw r0, 0x10(r3)
/* 80376BF4 00373B54 80 6D AC 78 */ lwz r3, lbl_805A9838@sda21(r13)
/* 80376BF8 00373B58 90 A3 00 14 */ stw r5, 0x14(r3)
/* 80376BFC 00373B5C 4B FF 8C 11 */ bl PPCSync
/* 80376C00 00373B60 7F E3 FB 78 */ mr r3, r31
/* 80376C04 00373B64 48 00 AA 85 */ bl OSRestoreInterrupts
/* 80376C08 00373B68 3C 60 CC 01 */ lis r3, 0xCC008000@ha
/* 80376C0C 00373B6C 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 80376C10 00373B70 83 E1 00 14 */ lwz r31, 0x14(r1)
/* 80376C14 00373B74 38 63 80 00 */ addi r3, r3, 0xCC008000@l
/* 80376C18 00373B78 83 C1 00 10 */ lwz r30, 0x10(r1)
/* 80376C1C 00373B7C 38 21 00 18 */ addi r1, r1, 0x18
/* 80376C20 00373B80 7C 08 03 A6 */ mtlr r0
/* 80376C24 00373B84 4E 80 00 20 */ blr
.global GXRestoreWriteGatherPipe
GXRestoreWriteGatherPipe:
/* 80376C28 00373B88 7C 08 02 A6 */ mflr r0
/* 80376C2C 00373B8C 90 01 00 04 */ stw r0, 4(r1)
/* 80376C30 00373B90 94 21 FF E8 */ stwu r1, -0x18(r1)
/* 80376C34 00373B94 93 E1 00 14 */ stw r31, 0x14(r1)
/* 80376C38 00373B98 48 00 AA 29 */ bl OSDisableInterrupts
/* 80376C3C 00373B9C 3C A0 CC 01 */ lis r5, 0xCC008000@ha
/* 80376C40 00373BA0 38 80 00 00 */ li r4, 0
/* 80376C44 00373BA4 98 85 80 00 */ stb r4, 0xCC008000@l(r5)
/* 80376C48 00373BA8 38 C0 00 18 */ li r6, 0x18
/* 80376C4C 00373BAC 20 06 00 1F */ subfic r0, r6, 0x1f
/* 80376C50 00373BB0 98 85 80 00 */ stb r4, 0xCC008000@l(r5)
/* 80376C54 00373BB4 28 06 00 1F */ cmplwi r6, 0x1f
/* 80376C58 00373BB8 7C 09 03 A6 */ mtctr r0
/* 80376C5C 00373BBC 7C 7F 1B 78 */ mr r31, r3
/* 80376C60 00373BC0 98 85 80 00 */ stb r4, 0xCC008000@l(r5)
/* 80376C64 00373BC4 98 85 80 00 */ stb r4, 0xCC008000@l(r5)
/* 80376C68 00373BC8 98 85 80 00 */ stb r4, 0xCC008000@l(r5)
/* 80376C6C 00373BCC 98 85 80 00 */ stb r4, 0xCC008000@l(r5)
/* 80376C70 00373BD0 98 85 80 00 */ stb r4, 0xCC008000@l(r5)
/* 80376C74 00373BD4 98 85 80 00 */ stb r4, 0xCC008000@l(r5)
/* 80376C78 00373BD8 98 85 80 00 */ stb r4, 0xCC008000@l(r5)
/* 80376C7C 00373BDC 98 85 80 00 */ stb r4, 0xCC008000@l(r5)
/* 80376C80 00373BE0 98 85 80 00 */ stb r4, 0xCC008000@l(r5)
/* 80376C84 00373BE4 98 85 80 00 */ stb r4, 0xCC008000@l(r5)
/* 80376C88 00373BE8 98 85 80 00 */ stb r4, 0xCC008000@l(r5)
/* 80376C8C 00373BEC 98 85 80 00 */ stb r4, 0xCC008000@l(r5)
/* 80376C90 00373BF0 98 85 80 00 */ stb r4, 0xCC008000@l(r5)
/* 80376C94 00373BF4 98 85 80 00 */ stb r4, 0xCC008000@l(r5)
/* 80376C98 00373BF8 98 85 80 00 */ stb r4, 0xCC008000@l(r5)
/* 80376C9C 00373BFC 98 85 80 00 */ stb r4, 0xCC008000@l(r5)
/* 80376CA0 00373C00 98 85 80 00 */ stb r4, 0xCC008000@l(r5)
/* 80376CA4 00373C04 98 85 80 00 */ stb r4, 0xCC008000@l(r5)
/* 80376CA8 00373C08 98 85 80 00 */ stb r4, 0xCC008000@l(r5)
/* 80376CAC 00373C0C 98 85 80 00 */ stb r4, 0xCC008000@l(r5)
/* 80376CB0 00373C10 98 85 80 00 */ stb r4, 0xCC008000@l(r5)
/* 80376CB4 00373C14 98 85 80 00 */ stb r4, 0xCC008000@l(r5)
/* 80376CB8 00373C18 40 80 00 0C */ bge lbl_80376CC4
lbl_80376CBC:
/* 80376CBC 00373C1C 98 85 80 00 */ stb r4, 0xCC008000@l(r5)
/* 80376CC0 00373C20 42 00 FF FC */ bdnz lbl_80376CBC
lbl_80376CC4:
/* 80376CC4 00373C24 4B FF 8B 49 */ bl PPCSync
lbl_80376CC8:
/* 80376CC8 00373C28 4B FF 8B B9 */ bl PPCMfwpar
/* 80376CCC 00373C2C 54 60 07 FF */ clrlwi. r0, r3, 0x1f
/* 80376CD0 00373C30 40 82 FF F8 */ bne lbl_80376CC8
/* 80376CD4 00373C34 3C 60 0C 01 */ lis r3, 0x0C008000@ha
/* 80376CD8 00373C38 38 63 80 00 */ addi r3, r3, 0x0C008000@l
/* 80376CDC 00373C3C 4B FF 8B B1 */ bl PPCMtwpar
/* 80376CE0 00373C40 80 8D AC 88 */ lwz r4, lbl_805A9848@sda21(r13)
/* 80376CE4 00373C44 80 6D AC 78 */ lwz r3, lbl_805A9838@sda21(r13)
/* 80376CE8 00373C48 80 04 00 00 */ lwz r0, 0(r4)
/* 80376CEC 00373C4C 54 00 00 BE */ clrlwi r0, r0, 2
/* 80376CF0 00373C50 90 03 00 0C */ stw r0, 0xc(r3)
/* 80376CF4 00373C54 80 8D AC 88 */ lwz r4, lbl_805A9848@sda21(r13)
/* 80376CF8 00373C58 80 6D AC 78 */ lwz r3, lbl_805A9838@sda21(r13)
/* 80376CFC 00373C5C 80 04 00 04 */ lwz r0, 4(r4)
/* 80376D00 00373C60 54 00 00 BE */ clrlwi r0, r0, 2
/* 80376D04 00373C64 90 03 00 10 */ stw r0, 0x10(r3)
/* 80376D08 00373C68 80 8D AC 88 */ lwz r4, lbl_805A9848@sda21(r13)
/* 80376D0C 00373C6C 80 6D AC 78 */ lwz r3, lbl_805A9838@sda21(r13)
/* 80376D10 00373C70 80 04 00 18 */ lwz r0, 0x18(r4)
/* 80376D14 00373C74 54 00 00 B4 */ rlwinm r0, r0, 0, 2, 0x1a
/* 80376D18 00373C78 54 00 01 88 */ rlwinm r0, r0, 0, 6, 4
/* 80376D1C 00373C7C 90 03 00 14 */ stw r0, 0x14(r3)
/* 80376D20 00373C80 88 0D AC 94 */ lbz r0, lbl_805A9854@sda21(r13)
/* 80376D24 00373C84 28 00 00 00 */ cmplwi r0, 0
/* 80376D28 00373C88 41 82 00 78 */ beq lbl_80376DA0
/* 80376D2C 00373C8C 80 82 CE 08 */ lwz r4, __GXData@sda21(r2)
/* 80376D30 00373C90 80 04 00 10 */ lwz r0, 0x10(r4)
/* 80376D34 00373C94 54 00 00 3C */ rlwinm r0, r0, 0, 0, 0x1e
/* 80376D38 00373C98 60 00 00 01 */ ori r0, r0, 1
/* 80376D3C 00373C9C 90 04 00 10 */ stw r0, 0x10(r4)
/* 80376D40 00373CA0 80 04 00 10 */ lwz r0, 0x10(r4)
/* 80376D44 00373CA4 54 00 07 FA */ rlwinm r0, r0, 0, 0x1f, 0x1d
/* 80376D48 00373CA8 60 00 00 02 */ ori r0, r0, 2
/* 80376D4C 00373CAC 90 04 00 10 */ stw r0, 0x10(r4)
/* 80376D50 00373CB0 80 04 00 10 */ lwz r0, 0x10(r4)
/* 80376D54 00373CB4 80 6D AC 7C */ lwz r3, lbl_805A983C@sda21(r13)
/* 80376D58 00373CB8 B0 03 00 04 */ sth r0, 4(r3)
/* 80376D5C 00373CBC 80 04 00 08 */ lwz r0, 8(r4)
/* 80376D60 00373CC0 54 00 07 B8 */ rlwinm r0, r0, 0, 0x1e, 0x1c
/* 80376D64 00373CC4 60 00 00 04 */ ori r0, r0, 4
/* 80376D68 00373CC8 90 04 00 08 */ stw r0, 8(r4)
/* 80376D6C 00373CCC 80 04 00 08 */ lwz r0, 8(r4)
/* 80376D70 00373CD0 54 00 07 76 */ rlwinm r0, r0, 0, 0x1d, 0x1b
/* 80376D74 00373CD4 90 04 00 08 */ stw r0, 8(r4)
/* 80376D78 00373CD8 80 04 00 08 */ lwz r0, 8(r4)
/* 80376D7C 00373CDC 80 6D AC 7C */ lwz r3, lbl_805A983C@sda21(r13)
/* 80376D80 00373CE0 B0 03 00 02 */ sth r0, 2(r3)
/* 80376D84 00373CE4 80 04 00 08 */ lwz r0, 8(r4)
/* 80376D88 00373CE8 54 00 07 34 */ rlwinm r0, r0, 0, 0x1c, 0x1a
/* 80376D8C 00373CEC 60 00 00 10 */ ori r0, r0, 0x10
/* 80376D90 00373CF0 90 04 00 08 */ stw r0, 8(r4)
/* 80376D94 00373CF4 80 04 00 08 */ lwz r0, 8(r4)
/* 80376D98 00373CF8 80 6D AC 7C */ lwz r3, lbl_805A983C@sda21(r13)
/* 80376D9C 00373CFC B0 03 00 02 */ sth r0, 2(r3)
lbl_80376DA0:
/* 80376DA0 00373D00 4B FF 8A 6D */ bl PPCSync
/* 80376DA4 00373D04 7F E3 FB 78 */ mr r3, r31
/* 80376DA8 00373D08 48 00 A8 E1 */ bl OSRestoreInterrupts
/* 80376DAC 00373D0C 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 80376DB0 00373D10 83 E1 00 14 */ lwz r31, 0x14(r1)
/* 80376DB4 00373D14 38 21 00 18 */ addi r1, r1, 0x18
/* 80376DB8 00373D18 7C 08 03 A6 */ mtlr r0
/* 80376DBC 00373D1C 4E 80 00 20 */ blr

View File

@ -1,857 +0,0 @@
.include "macros.inc"
.section .data
.balign 8
.global GXNtsc480IntDf
GXNtsc480IntDf:
# ROM: 0x3ED8E0
.4byte 0
.4byte 0x028001E0
.4byte 0x01E00028
.4byte 0x00000280
.4byte 0x01E00000
.4byte 0x00000001
.4byte 0x00000606
.4byte 0x06060606
.4byte 0x06060606
.4byte 0x06060606
.4byte 0x06060606
.4byte 0x06060606
.4byte 0x06060808
.4byte 0x0A0C0A08
.4byte 0x08000000
.global GXMpal480IntDf
GXMpal480IntDf:
# ROM: 0x3ED91C
.4byte 0x00000008
.4byte 0x028001E0
.4byte 0x01E00028
.4byte 0x00000280
.4byte 0x01E00000
.4byte 0x00000001
.4byte 0x00000606
.4byte 0x06060606
.4byte 0x06060606
.4byte 0x06060606
.4byte 0x06060606
.4byte 0x06060606
.4byte 0x06060808
.4byte 0x0A0C0A08
.4byte 0x08000000
.global GXPal528IntDf
GXPal528IntDf:
# ROM: 0x3ED958
.4byte 0x00000004
.4byte 0x02800210
.4byte 0x02100028
.4byte 0x00170280
.4byte 0x02100000
.4byte 0x00000001
.4byte 0x00000606
.4byte 0x06060606
.4byte 0x06060606
.4byte 0x06060606
.4byte 0x06060606
.4byte 0x06060606
.4byte 0x06060808
.4byte 0x0A0C0A08
.4byte 0x08000000
.global GXEurgb60Hz480IntDf
GXEurgb60Hz480IntDf:
# ROM: 0x3ED994
.4byte 0x00000014
.4byte 0x028001E0
.4byte 0x01E00028
.4byte 0x00000280
.4byte 0x01E00000
.4byte 0x00000001
.4byte 0x00000606
.4byte 0x06060606
.4byte 0x06060606
.4byte 0x06060606
.4byte 0x06060606
.4byte 0x06060606
.4byte 0x06060808
.4byte 0x0A0C0A08
.4byte 0x08000000
.section .sdata2
.balign 8
.global lbl_805AEB50
lbl_805AEB50:
# ROM: 0x3FB3F0
.4byte 0x43800000
.4byte 0
.section .text, "ax"
.global GXAdjustForOverscan
GXAdjustForOverscan:
/* 80378C04 00375B64 7C 03 20 40 */ cmplw r3, r4
/* 80378C08 00375B68 54 A7 04 3E */ clrlwi r7, r5, 0x10
/* 80378C0C 00375B6C 54 C0 04 3E */ clrlwi r0, r6, 0x10
/* 80378C10 00375B70 54 A5 0C 3C */ rlwinm r5, r5, 1, 0x10, 0x1e
/* 80378C14 00375B74 54 C6 0C 3C */ rlwinm r6, r6, 1, 0x10, 0x1e
/* 80378C18 00375B78 41 82 00 7C */ beq lbl_80378C94
/* 80378C1C 00375B7C 81 23 00 00 */ lwz r9, 0(r3)
/* 80378C20 00375B80 81 03 00 04 */ lwz r8, 4(r3)
/* 80378C24 00375B84 91 24 00 00 */ stw r9, 0(r4)
/* 80378C28 00375B88 91 04 00 04 */ stw r8, 4(r4)
/* 80378C2C 00375B8C 81 23 00 08 */ lwz r9, 8(r3)
/* 80378C30 00375B90 81 03 00 0C */ lwz r8, 0xc(r3)
/* 80378C34 00375B94 91 24 00 08 */ stw r9, 8(r4)
/* 80378C38 00375B98 91 04 00 0C */ stw r8, 0xc(r4)
/* 80378C3C 00375B9C 81 23 00 10 */ lwz r9, 0x10(r3)
/* 80378C40 00375BA0 81 03 00 14 */ lwz r8, 0x14(r3)
/* 80378C44 00375BA4 91 24 00 10 */ stw r9, 0x10(r4)
/* 80378C48 00375BA8 91 04 00 14 */ stw r8, 0x14(r4)
/* 80378C4C 00375BAC 81 23 00 18 */ lwz r9, 0x18(r3)
/* 80378C50 00375BB0 81 03 00 1C */ lwz r8, 0x1c(r3)
/* 80378C54 00375BB4 91 24 00 18 */ stw r9, 0x18(r4)
/* 80378C58 00375BB8 91 04 00 1C */ stw r8, 0x1c(r4)
/* 80378C5C 00375BBC 81 23 00 20 */ lwz r9, 0x20(r3)
/* 80378C60 00375BC0 81 03 00 24 */ lwz r8, 0x24(r3)
/* 80378C64 00375BC4 91 24 00 20 */ stw r9, 0x20(r4)
/* 80378C68 00375BC8 91 04 00 24 */ stw r8, 0x24(r4)
/* 80378C6C 00375BCC 81 23 00 28 */ lwz r9, 0x28(r3)
/* 80378C70 00375BD0 81 03 00 2C */ lwz r8, 0x2c(r3)
/* 80378C74 00375BD4 91 24 00 28 */ stw r9, 0x28(r4)
/* 80378C78 00375BD8 91 04 00 2C */ stw r8, 0x2c(r4)
/* 80378C7C 00375BDC 81 23 00 30 */ lwz r9, 0x30(r3)
/* 80378C80 00375BE0 81 03 00 34 */ lwz r8, 0x34(r3)
/* 80378C84 00375BE4 91 24 00 30 */ stw r9, 0x30(r4)
/* 80378C88 00375BE8 91 04 00 34 */ stw r8, 0x34(r4)
/* 80378C8C 00375BEC 81 03 00 38 */ lwz r8, 0x38(r3)
/* 80378C90 00375BF0 91 04 00 38 */ stw r8, 0x38(r4)
lbl_80378C94:
/* 80378C94 00375BF4 A1 03 00 04 */ lhz r8, 4(r3)
/* 80378C98 00375BF8 7D 05 40 50 */ subf r8, r5, r8
/* 80378C9C 00375BFC B1 04 00 04 */ sth r8, 4(r4)
/* 80378CA0 00375C00 A1 43 00 06 */ lhz r10, 6(r3)
/* 80378CA4 00375C04 A1 03 00 08 */ lhz r8, 8(r3)
/* 80378CA8 00375C08 7D 26 51 D6 */ mullw r9, r6, r10
/* 80378CAC 00375C0C 7D 09 43 96 */ divwu r8, r9, r8
/* 80378CB0 00375C10 7D 08 50 50 */ subf r8, r8, r10
/* 80378CB4 00375C14 B1 04 00 06 */ sth r8, 6(r4)
/* 80378CB8 00375C18 81 03 00 14 */ lwz r8, 0x14(r3)
/* 80378CBC 00375C1C 2C 08 00 00 */ cmpwi r8, 0
/* 80378CC0 00375C20 40 82 00 24 */ bne lbl_80378CE4
/* 80378CC4 00375C24 81 03 00 00 */ lwz r8, 0(r3)
/* 80378CC8 00375C28 55 08 07 BC */ rlwinm r8, r8, 0, 0x1e, 0x1e
/* 80378CCC 00375C2C 2C 08 00 02 */ cmpwi r8, 2
/* 80378CD0 00375C30 41 82 00 14 */ beq lbl_80378CE4
/* 80378CD4 00375C34 A1 03 00 08 */ lhz r8, 8(r3)
/* 80378CD8 00375C38 7D 00 40 50 */ subf r8, r0, r8
/* 80378CDC 00375C3C B1 04 00 08 */ sth r8, 8(r4)
/* 80378CE0 00375C40 48 00 00 10 */ b lbl_80378CF0
lbl_80378CE4:
/* 80378CE4 00375C44 A1 03 00 08 */ lhz r8, 8(r3)
/* 80378CE8 00375C48 7D 06 40 50 */ subf r8, r6, r8
/* 80378CEC 00375C4C B1 04 00 08 */ sth r8, 8(r4)
lbl_80378CF0:
/* 80378CF0 00375C50 A1 03 00 0E */ lhz r8, 0xe(r3)
/* 80378CF4 00375C54 7C A5 40 50 */ subf r5, r5, r8
/* 80378CF8 00375C58 B0 A4 00 0E */ sth r5, 0xe(r4)
/* 80378CFC 00375C5C A0 A3 00 10 */ lhz r5, 0x10(r3)
/* 80378D00 00375C60 7C A6 28 50 */ subf r5, r6, r5
/* 80378D04 00375C64 B0 A4 00 10 */ sth r5, 0x10(r4)
/* 80378D08 00375C68 A0 A3 00 0A */ lhz r5, 0xa(r3)
/* 80378D0C 00375C6C 7C A5 3A 14 */ add r5, r5, r7
/* 80378D10 00375C70 B0 A4 00 0A */ sth r5, 0xa(r4)
/* 80378D14 00375C74 A0 63 00 0C */ lhz r3, 0xc(r3)
/* 80378D18 00375C78 7C 03 02 14 */ add r0, r3, r0
/* 80378D1C 00375C7C B0 04 00 0C */ sth r0, 0xc(r4)
/* 80378D20 00375C80 4E 80 00 20 */ blr
.global GXSetDispCopySrc
GXSetDispCopySrc:
/* 80378D24 00375C84 81 22 CE 08 */ lwz r9, __GXData@sda21(r2)
/* 80378D28 00375C88 39 40 00 00 */ li r10, 0
/* 80378D2C 00375C8C 54 A7 04 3E */ clrlwi r7, r5, 0x10
/* 80378D30 00375C90 91 49 01 E0 */ stw r10, 0x1e0(r9)
/* 80378D34 00375C94 54 C5 04 3E */ clrlwi r5, r6, 0x10
/* 80378D38 00375C98 38 05 FF FF */ addi r0, r5, -1
/* 80378D3C 00375C9C 81 09 01 E0 */ lwz r8, 0x1e0(r9)
/* 80378D40 00375CA0 54 63 04 3E */ clrlwi r3, r3, 0x10
/* 80378D44 00375CA4 54 84 51 AA */ rlwinm r4, r4, 0xa, 6, 0x15
/* 80378D48 00375CA8 55 05 00 2A */ rlwinm r5, r8, 0, 0, 0x15
/* 80378D4C 00375CAC 7C A3 1B 78 */ or r3, r5, r3
/* 80378D50 00375CB0 90 69 01 E0 */ stw r3, 0x1e0(r9)
/* 80378D54 00375CB4 38 67 FF FF */ addi r3, r7, -1
/* 80378D58 00375CB8 54 00 50 2A */ slwi r0, r0, 0xa
/* 80378D5C 00375CBC 80 A9 01 E0 */ lwz r5, 0x1e0(r9)
/* 80378D60 00375CC0 54 A5 05 96 */ rlwinm r5, r5, 0, 0x16, 0xb
/* 80378D64 00375CC4 7C A4 23 78 */ or r4, r5, r4
/* 80378D68 00375CC8 90 89 01 E0 */ stw r4, 0x1e0(r9)
/* 80378D6C 00375CCC 80 89 01 E0 */ lwz r4, 0x1e0(r9)
/* 80378D70 00375CD0 54 84 02 3E */ clrlwi r4, r4, 8
/* 80378D74 00375CD4 64 84 49 00 */ oris r4, r4, 0x4900
/* 80378D78 00375CD8 90 89 01 E0 */ stw r4, 0x1e0(r9)
/* 80378D7C 00375CDC 91 49 01 E4 */ stw r10, 0x1e4(r9)
/* 80378D80 00375CE0 80 89 01 E4 */ lwz r4, 0x1e4(r9)
/* 80378D84 00375CE4 54 84 00 2A */ rlwinm r4, r4, 0, 0, 0x15
/* 80378D88 00375CE8 7C 83 1B 78 */ or r3, r4, r3
/* 80378D8C 00375CEC 90 69 01 E4 */ stw r3, 0x1e4(r9)
/* 80378D90 00375CF0 80 69 01 E4 */ lwz r3, 0x1e4(r9)
/* 80378D94 00375CF4 54 63 05 96 */ rlwinm r3, r3, 0, 0x16, 0xb
/* 80378D98 00375CF8 7C 60 03 78 */ or r0, r3, r0
/* 80378D9C 00375CFC 90 09 01 E4 */ stw r0, 0x1e4(r9)
/* 80378DA0 00375D00 80 09 01 E4 */ lwz r0, 0x1e4(r9)
/* 80378DA4 00375D04 54 00 02 3E */ clrlwi r0, r0, 8
/* 80378DA8 00375D08 64 00 4A 00 */ oris r0, r0, 0x4a00
/* 80378DAC 00375D0C 90 09 01 E4 */ stw r0, 0x1e4(r9)
/* 80378DB0 00375D10 4E 80 00 20 */ blr
.global GXSetTexCopySrc
GXSetTexCopySrc:
/* 80378DB4 00375D14 81 22 CE 08 */ lwz r9, __GXData@sda21(r2)
/* 80378DB8 00375D18 39 40 00 00 */ li r10, 0
/* 80378DBC 00375D1C 54 A7 04 3E */ clrlwi r7, r5, 0x10
/* 80378DC0 00375D20 91 49 01 F0 */ stw r10, 0x1f0(r9)
/* 80378DC4 00375D24 54 C5 04 3E */ clrlwi r5, r6, 0x10
/* 80378DC8 00375D28 38 05 FF FF */ addi r0, r5, -1
/* 80378DCC 00375D2C 81 09 01 F0 */ lwz r8, 0x1f0(r9)
/* 80378DD0 00375D30 54 63 04 3E */ clrlwi r3, r3, 0x10
/* 80378DD4 00375D34 54 84 51 AA */ rlwinm r4, r4, 0xa, 6, 0x15
/* 80378DD8 00375D38 55 05 00 2A */ rlwinm r5, r8, 0, 0, 0x15
/* 80378DDC 00375D3C 7C A3 1B 78 */ or r3, r5, r3
/* 80378DE0 00375D40 90 69 01 F0 */ stw r3, 0x1f0(r9)
/* 80378DE4 00375D44 38 67 FF FF */ addi r3, r7, -1
/* 80378DE8 00375D48 54 00 50 2A */ slwi r0, r0, 0xa
/* 80378DEC 00375D4C 80 A9 01 F0 */ lwz r5, 0x1f0(r9)
/* 80378DF0 00375D50 54 A5 05 96 */ rlwinm r5, r5, 0, 0x16, 0xb
/* 80378DF4 00375D54 7C A4 23 78 */ or r4, r5, r4
/* 80378DF8 00375D58 90 89 01 F0 */ stw r4, 0x1f0(r9)
/* 80378DFC 00375D5C 80 89 01 F0 */ lwz r4, 0x1f0(r9)
/* 80378E00 00375D60 54 84 02 3E */ clrlwi r4, r4, 8
/* 80378E04 00375D64 64 84 49 00 */ oris r4, r4, 0x4900
/* 80378E08 00375D68 90 89 01 F0 */ stw r4, 0x1f0(r9)
/* 80378E0C 00375D6C 91 49 01 F4 */ stw r10, 0x1f4(r9)
/* 80378E10 00375D70 80 89 01 F4 */ lwz r4, 0x1f4(r9)
/* 80378E14 00375D74 54 84 00 2A */ rlwinm r4, r4, 0, 0, 0x15
/* 80378E18 00375D78 7C 83 1B 78 */ or r3, r4, r3
/* 80378E1C 00375D7C 90 69 01 F4 */ stw r3, 0x1f4(r9)
/* 80378E20 00375D80 80 69 01 F4 */ lwz r3, 0x1f4(r9)
/* 80378E24 00375D84 54 63 05 96 */ rlwinm r3, r3, 0, 0x16, 0xb
/* 80378E28 00375D88 7C 60 03 78 */ or r0, r3, r0
/* 80378E2C 00375D8C 90 09 01 F4 */ stw r0, 0x1f4(r9)
/* 80378E30 00375D90 80 09 01 F4 */ lwz r0, 0x1f4(r9)
/* 80378E34 00375D94 54 00 02 3E */ clrlwi r0, r0, 8
/* 80378E38 00375D98 64 00 4A 00 */ oris r0, r0, 0x4a00
/* 80378E3C 00375D9C 90 09 01 F4 */ stw r0, 0x1f4(r9)
/* 80378E40 00375DA0 4E 80 00 20 */ blr
.global GXSetDispCopyDst
GXSetDispCopyDst:
/* 80378E44 00375DA4 80 82 CE 08 */ lwz r4, __GXData@sda21(r2)
/* 80378E48 00375DA8 38 00 00 00 */ li r0, 0
/* 80378E4C 00375DAC 90 04 01 E8 */ stw r0, 0x1e8(r4)
/* 80378E50 00375DB0 38 A4 01 E8 */ addi r5, r4, 0x1e8
/* 80378E54 00375DB4 54 60 0C 3C */ rlwinm r0, r3, 1, 0x10, 0x1e
/* 80378E58 00375DB8 80 84 01 E8 */ lwz r4, 0x1e8(r4)
/* 80378E5C 00375DBC 7C 00 2E 70 */ srawi r0, r0, 5
/* 80378E60 00375DC0 54 83 00 2A */ rlwinm r3, r4, 0, 0, 0x15
/* 80378E64 00375DC4 7C 60 03 78 */ or r0, r3, r0
/* 80378E68 00375DC8 90 05 00 00 */ stw r0, 0(r5)
/* 80378E6C 00375DCC 80 05 00 00 */ lwz r0, 0(r5)
/* 80378E70 00375DD0 54 00 02 3E */ clrlwi r0, r0, 8
/* 80378E74 00375DD4 64 00 4D 00 */ oris r0, r0, 0x4d00
/* 80378E78 00375DD8 90 05 00 00 */ stw r0, 0(r5)
/* 80378E7C 00375DDC 4E 80 00 20 */ blr
.global GXSetTexCopyDst
GXSetTexCopyDst:
/* 80378E80 00375DE0 7C 08 02 A6 */ mflr r0
/* 80378E84 00375DE4 2C 05 00 13 */ cmpwi r5, 0x13
/* 80378E88 00375DE8 90 01 00 04 */ stw r0, 4(r1)
/* 80378E8C 00375DEC 38 00 00 00 */ li r0, 0
/* 80378E90 00375DF0 39 03 00 00 */ addi r8, r3, 0
/* 80378E94 00375DF4 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 80378E98 00375DF8 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 80378E9C 00375DFC 54 BF 07 3E */ clrlwi r31, r5, 0x1c
/* 80378EA0 00375E00 93 C1 00 28 */ stw r30, 0x28(r1)
/* 80378EA4 00375E04 3B C6 00 00 */ addi r30, r6, 0
/* 80378EA8 00375E08 80 E2 CE 08 */ lwz r7, __GXData@sda21(r2)
/* 80378EAC 00375E0C 98 07 02 00 */ stb r0, 0x200(r7)
/* 80378EB0 00375E10 38 E4 00 00 */ addi r7, r4, 0
/* 80378EB4 00375E14 40 82 00 08 */ bne lbl_80378EBC
/* 80378EB8 00375E18 3B E0 00 0B */ li r31, 0xb
lbl_80378EBC:
/* 80378EBC 00375E1C 2C 05 00 26 */ cmpwi r5, 0x26
/* 80378EC0 00375E20 41 82 00 1C */ beq lbl_80378EDC
/* 80378EC4 00375E24 40 80 00 34 */ bge lbl_80378EF8
/* 80378EC8 00375E28 2C 05 00 04 */ cmpwi r5, 4
/* 80378ECC 00375E2C 40 80 00 2C */ bge lbl_80378EF8
/* 80378ED0 00375E30 2C 05 00 00 */ cmpwi r5, 0
/* 80378ED4 00375E34 40 80 00 08 */ bge lbl_80378EDC
/* 80378ED8 00375E38 48 00 00 20 */ b lbl_80378EF8
lbl_80378EDC:
/* 80378EDC 00375E3C 80 62 CE 08 */ lwz r3, __GXData@sda21(r2)
/* 80378EE0 00375E40 84 03 01 FC */ lwzu r0, 0x1fc(r3)
/* 80378EE4 00375E44 54 00 04 5C */ rlwinm r0, r0, 0, 0x11, 0xe
/* 80378EE8 00375E48 64 00 00 01 */ oris r0, r0, 1
/* 80378EEC 00375E4C 60 00 80 00 */ ori r0, r0, 0x8000
/* 80378EF0 00375E50 90 03 00 00 */ stw r0, 0(r3)
/* 80378EF4 00375E54 48 00 00 18 */ b lbl_80378F0C
lbl_80378EF8:
/* 80378EF8 00375E58 80 62 CE 08 */ lwz r3, __GXData@sda21(r2)
/* 80378EFC 00375E5C 84 03 01 FC */ lwzu r0, 0x1fc(r3)
/* 80378F00 00375E60 54 00 04 5C */ rlwinm r0, r0, 0, 0x11, 0xe
/* 80378F04 00375E64 64 00 00 01 */ oris r0, r0, 1
/* 80378F08 00375E68 90 03 00 00 */ stw r0, 0(r3)
lbl_80378F0C:
/* 80378F0C 00375E6C 54 A4 06 F6 */ rlwinm r4, r5, 0, 0x1b, 0x1b
/* 80378F10 00375E70 80 62 CE 08 */ lwz r3, __GXData@sda21(r2)
/* 80378F14 00375E74 38 04 FF F0 */ addi r0, r4, -16
/* 80378F18 00375E78 7C 00 00 34 */ cntlzw r0, r0
/* 80378F1C 00375E7C 54 00 DE 3E */ rlwinm r0, r0, 0x1b, 0x18, 0x1f
/* 80378F20 00375E80 98 03 02 00 */ stb r0, 0x200(r3)
/* 80378F24 00375E84 38 88 00 00 */ addi r4, r8, 0
/* 80378F28 00375E88 38 C1 00 20 */ addi r6, r1, 0x20
/* 80378F2C 00375E8C 84 03 01 FC */ lwzu r0, 0x1fc(r3)
/* 80378F30 00375E90 39 01 00 18 */ addi r8, r1, 0x18
/* 80378F34 00375E94 54 00 07 76 */ rlwinm r0, r0, 0, 0x1d, 0x1b
/* 80378F38 00375E98 53 E0 07 38 */ rlwimi r0, r31, 0, 0x1c, 0x1c
/* 80378F3C 00375E9C 90 03 00 00 */ stw r0, 0(r3)
/* 80378F40 00375EA0 38 65 00 00 */ addi r3, r5, 0
/* 80378F44 00375EA4 38 A7 00 00 */ addi r5, r7, 0
/* 80378F48 00375EA8 57 FF 07 7E */ clrlwi r31, r31, 0x1d
/* 80378F4C 00375EAC 38 E1 00 1C */ addi r7, r1, 0x1c
/* 80378F50 00375EB0 48 00 0E 4D */ bl __GetImageTileCount
/* 80378F54 00375EB4 80 62 CE 08 */ lwz r3, __GXData@sda21(r2)
/* 80378F58 00375EB8 38 00 00 00 */ li r0, 0
/* 80378F5C 00375EBC 90 03 01 F8 */ stw r0, 0x1f8(r3)
/* 80378F60 00375EC0 38 E3 01 F8 */ addi r7, r3, 0x1f8
/* 80378F64 00375EC4 39 03 01 FC */ addi r8, r3, 0x1fc
/* 80378F68 00375EC8 80 A1 00 20 */ lwz r5, 0x20(r1)
/* 80378F6C 00375ECC 57 C3 4B EC */ rlwinm r3, r30, 9, 0xf, 0x16
/* 80378F70 00375ED0 80 81 00 18 */ lwz r4, 0x18(r1)
/* 80378F74 00375ED4 57 E0 20 36 */ slwi r0, r31, 4
/* 80378F78 00375ED8 80 C7 00 00 */ lwz r6, 0(r7)
/* 80378F7C 00375EDC 7C 85 21 D6 */ mullw r4, r5, r4
/* 80378F80 00375EE0 54 C5 00 2A */ rlwinm r5, r6, 0, 0, 0x15
/* 80378F84 00375EE4 7C A4 23 78 */ or r4, r5, r4
/* 80378F88 00375EE8 90 87 00 00 */ stw r4, 0(r7)
/* 80378F8C 00375EEC 80 87 00 00 */ lwz r4, 0(r7)
/* 80378F90 00375EF0 54 84 02 3E */ clrlwi r4, r4, 8
/* 80378F94 00375EF4 64 84 4D 00 */ oris r4, r4, 0x4d00
/* 80378F98 00375EF8 90 87 00 00 */ stw r4, 0(r7)
/* 80378F9C 00375EFC 80 88 00 00 */ lwz r4, 0(r8)
/* 80378FA0 00375F00 54 84 05 EA */ rlwinm r4, r4, 0, 0x17, 0x15
/* 80378FA4 00375F04 7C 83 1B 78 */ or r3, r4, r3
/* 80378FA8 00375F08 90 68 00 00 */ stw r3, 0(r8)
/* 80378FAC 00375F0C 80 68 00 00 */ lwz r3, 0(r8)
/* 80378FB0 00375F10 54 63 07 30 */ rlwinm r3, r3, 0, 0x1c, 0x18
/* 80378FB4 00375F14 7C 60 03 78 */ or r0, r3, r0
/* 80378FB8 00375F18 90 08 00 00 */ stw r0, 0(r8)
/* 80378FBC 00375F1C 80 01 00 34 */ lwz r0, 0x34(r1)
/* 80378FC0 00375F20 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 80378FC4 00375F24 83 C1 00 28 */ lwz r30, 0x28(r1)
/* 80378FC8 00375F28 38 21 00 30 */ addi r1, r1, 0x30
/* 80378FCC 00375F2C 7C 08 03 A6 */ mtlr r0
/* 80378FD0 00375F30 4E 80 00 20 */ blr
.global GXSetDispCopyFrame2Field
GXSetDispCopyFrame2Field:
/* 80378FD4 00375F34 80 82 CE 08 */ lwz r4, __GXData@sda21(r2)
/* 80378FD8 00375F38 54 60 60 26 */ slwi r0, r3, 0xc
/* 80378FDC 00375F3C 80 64 01 EC */ lwz r3, 0x1ec(r4)
/* 80378FE0 00375F40 54 63 05 22 */ rlwinm r3, r3, 0, 0x14, 0x11
/* 80378FE4 00375F44 7C 60 03 78 */ or r0, r3, r0
/* 80378FE8 00375F48 90 04 01 EC */ stw r0, 0x1ec(r4)
/* 80378FEC 00375F4C 84 04 01 FC */ lwzu r0, 0x1fc(r4)
/* 80378FF0 00375F50 54 00 05 22 */ rlwinm r0, r0, 0, 0x14, 0x11
/* 80378FF4 00375F54 90 04 00 00 */ stw r0, 0(r4)
/* 80378FF8 00375F58 4E 80 00 20 */ blr
.global GXSetCopyClamp
GXSetCopyClamp:
/* 80378FFC 00375F5C 80 C2 CE 08 */ lwz r6, __GXData@sda21(r2)
/* 80379000 00375F60 54 64 07 FE */ clrlwi r4, r3, 0x1f
/* 80379004 00375F64 38 04 FF FF */ addi r0, r4, -1
/* 80379008 00375F68 80 86 01 EC */ lwz r4, 0x1ec(r6)
/* 8037900C 00375F6C 7C 00 00 34 */ cntlzw r0, r0
/* 80379010 00375F70 54 63 07 BC */ rlwinm r3, r3, 0, 0x1e, 0x1e
/* 80379014 00375F74 54 85 00 3C */ rlwinm r5, r4, 0, 0, 0x1e
/* 80379018 00375F78 54 04 DE 3E */ rlwinm r4, r0, 0x1b, 0x18, 0x1f
/* 8037901C 00375F7C 7C A0 23 78 */ or r0, r5, r4
/* 80379020 00375F80 90 06 01 EC */ stw r0, 0x1ec(r6)
/* 80379024 00375F84 38 03 FF FE */ addi r0, r3, -2
/* 80379028 00375F88 7C 00 00 34 */ cntlzw r0, r0
/* 8037902C 00375F8C 80 66 01 EC */ lwz r3, 0x1ec(r6)
/* 80379030 00375F90 54 05 E5 FC */ rlwinm r5, r0, 0x1c, 0x17, 0x1e
/* 80379034 00375F94 54 63 07 FA */ rlwinm r3, r3, 0, 0x1f, 0x1d
/* 80379038 00375F98 7C 60 2B 78 */ or r0, r3, r5
/* 8037903C 00375F9C 90 06 01 EC */ stw r0, 0x1ec(r6)
/* 80379040 00375FA0 80 06 01 FC */ lwz r0, 0x1fc(r6)
/* 80379044 00375FA4 54 00 00 3C */ rlwinm r0, r0, 0, 0, 0x1e
/* 80379048 00375FA8 7C 00 23 78 */ or r0, r0, r4
/* 8037904C 00375FAC 90 06 01 FC */ stw r0, 0x1fc(r6)
/* 80379050 00375FB0 80 06 01 FC */ lwz r0, 0x1fc(r6)
/* 80379054 00375FB4 54 00 07 FA */ rlwinm r0, r0, 0, 0x1f, 0x1d
/* 80379058 00375FB8 7C 00 2B 78 */ or r0, r0, r5
/* 8037905C 00375FBC 90 06 01 FC */ stw r0, 0x1fc(r6)
/* 80379060 00375FC0 4E 80 00 20 */ blr
.global GXSetDispCopyYScale
GXSetDispCopyYScale:
/* 80379064 00375FC4 7C 08 02 A6 */ mflr r0
/* 80379068 00375FC8 90 01 00 04 */ stw r0, 4(r1)
/* 8037906C 00375FCC 94 21 FF F8 */ stwu r1, -8(r1)
/* 80379070 00375FD0 C0 02 CE 30 */ lfs f0, lbl_805AEB50@sda21(r2)
/* 80379074 00375FD4 EC 20 08 24 */ fdivs f1, f0, f1
/* 80379078 00375FD8 48 01 08 DD */ bl __cvt_fp2unsigned
/* 8037907C 00375FDC 54 66 05 FE */ clrlwi r6, r3, 0x17
/* 80379080 00375FE0 80 82 CE 08 */ lwz r4, __GXData@sda21(r2)
/* 80379084 00375FE4 38 00 00 61 */ li r0, 0x61
/* 80379088 00375FE8 3C 60 CC 01 */ lis r3, 0xCC008000@ha
/* 8037908C 00375FEC 98 03 80 00 */ stb r0, 0xCC008000@l(r3)
/* 80379090 00375FF0 64 C0 4E 00 */ oris r0, r6, 0x4e00
/* 80379094 00375FF4 38 A0 00 00 */ li r5, 0
/* 80379098 00375FF8 90 03 80 00 */ stw r0, 0xCC008000@l(r3)
/* 8037909C 00375FFC 20 66 01 00 */ subfic r3, r6, 0x100
/* 803790A0 00376000 30 03 FF FF */ addic r0, r3, -1
/* 803790A4 00376004 B0 A4 00 02 */ sth r5, 2(r4)
/* 803790A8 00376008 7C 00 19 10 */ subfe r0, r0, r3
/* 803790AC 0037600C 54 00 53 AA */ rlwinm r0, r0, 0xa, 0xe, 0x15
/* 803790B0 00376010 80 64 01 EC */ lwz r3, 0x1ec(r4)
/* 803790B4 00376014 28 06 00 80 */ cmplwi r6, 0x80
/* 803790B8 00376018 38 A6 00 00 */ addi r5, r6, 0
/* 803790BC 0037601C 54 63 05 A8 */ rlwinm r3, r3, 0, 0x16, 0x14
/* 803790C0 00376020 7C 60 03 78 */ or r0, r3, r0
/* 803790C4 00376024 90 04 01 EC */ stw r0, 0x1ec(r4)
/* 803790C8 00376028 80 04 01 E4 */ lwz r0, 0x1e4(r4)
/* 803790CC 0037602C 54 04 B5 BE */ rlwinm r4, r0, 0x16, 0x16, 0x1f
/* 803790D0 00376030 54 00 F3 AE */ rlwinm r0, r0, 0x1e, 0xe, 0x17
/* 803790D4 00376034 7C 60 33 96 */ divwu r3, r0, r6
/* 803790D8 00376038 38 84 00 01 */ addi r4, r4, 1
/* 803790DC 0037603C 38 63 00 01 */ addi r3, r3, 1
/* 803790E0 00376040 40 81 00 30 */ ble lbl_80379110
/* 803790E4 00376044 28 06 01 00 */ cmplwi r6, 0x100
/* 803790E8 00376048 40 80 00 28 */ bge lbl_80379110
/* 803790EC 0037604C 48 00 00 08 */ b lbl_803790F4
lbl_803790F0:
/* 803790F0 00376050 54 A5 F8 7E */ srwi r5, r5, 1
lbl_803790F4:
/* 803790F4 00376054 54 A0 07 FF */ clrlwi. r0, r5, 0x1f
/* 803790F8 00376058 41 82 FF F8 */ beq lbl_803790F0
/* 803790FC 0037605C 7C 04 2B 96 */ divwu r0, r4, r5
/* 80379100 00376060 7C 00 29 D6 */ mullw r0, r0, r5
/* 80379104 00376064 7C 00 20 51 */ subf. r0, r0, r4
/* 80379108 00376068 40 82 00 08 */ bne lbl_80379110
/* 8037910C 0037606C 38 63 00 01 */ addi r3, r3, 1
lbl_80379110:
/* 80379110 00376070 28 03 04 00 */ cmplwi r3, 0x400
/* 80379114 00376074 40 81 00 08 */ ble lbl_8037911C
/* 80379118 00376078 38 60 04 00 */ li r3, 0x400
lbl_8037911C:
/* 8037911C 0037607C 80 01 00 0C */ lwz r0, 0xc(r1)
/* 80379120 00376080 38 21 00 08 */ addi r1, r1, 8
/* 80379124 00376084 7C 08 03 A6 */ mtlr r0
/* 80379128 00376088 4E 80 00 20 */ blr
.global GXSetCopyClear
GXSetCopyClear:
/* 8037912C 0037608C 54 80 02 3E */ clrlwi r0, r4, 8
/* 80379130 00376090 88 83 00 03 */ lbz r4, 3(r3)
/* 80379134 00376094 88 A3 00 00 */ lbz r5, 0(r3)
/* 80379138 00376098 38 C0 00 61 */ li r6, 0x61
/* 8037913C 0037609C 54 87 40 2E */ slwi r7, r4, 8
/* 80379140 003760A0 80 82 CE 08 */ lwz r4, __GXData@sda21(r2)
/* 80379144 003760A4 50 A7 06 3E */ rlwimi r7, r5, 0, 0x18, 0x1f
/* 80379148 003760A8 3C A0 CC 01 */ lis r5, 0xCC008000@ha
/* 8037914C 003760AC 54 E7 02 3E */ clrlwi r7, r7, 8
/* 80379150 003760B0 98 C5 80 00 */ stb r6, 0xCC008000@l(r5)
/* 80379154 003760B4 64 E7 4F 00 */ oris r7, r7, 0x4f00
/* 80379158 003760B8 90 E5 80 00 */ stw r7, 0xCC008000@l(r5)
/* 8037915C 003760BC 64 07 51 00 */ oris r7, r0, 0x5100
/* 80379160 003760C0 38 00 00 00 */ li r0, 0
/* 80379164 003760C4 89 03 00 02 */ lbz r8, 2(r3)
/* 80379168 003760C8 88 63 00 01 */ lbz r3, 1(r3)
/* 8037916C 003760CC 54 63 40 2E */ slwi r3, r3, 8
/* 80379170 003760D0 98 C5 80 00 */ stb r6, 0xCC008000@l(r5)
/* 80379174 003760D4 51 03 06 3E */ rlwimi r3, r8, 0, 0x18, 0x1f
/* 80379178 003760D8 54 63 02 3E */ clrlwi r3, r3, 8
/* 8037917C 003760DC 64 63 50 00 */ oris r3, r3, 0x5000
/* 80379180 003760E0 90 65 80 00 */ stw r3, 0xCC008000@l(r5)
/* 80379184 003760E4 98 C5 80 00 */ stb r6, 0xCC008000@l(r5)
/* 80379188 003760E8 90 E5 80 00 */ stw r7, 0xCC008000@l(r5)
/* 8037918C 003760EC B0 04 00 02 */ sth r0, 2(r4)
/* 80379190 003760F0 4E 80 00 20 */ blr
.global GXSetCopyFilter
GXSetCopyFilter:
/* 80379194 003760F4 94 21 FF B0 */ stwu r1, -0x50(r1)
/* 80379198 003760F8 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 8037919C 003760FC BE E1 00 2C */ stmw r23, 0x2c(r1)
/* 803791A0 00376100 41 82 01 28 */ beq lbl_803792C8
/* 803791A4 00376104 88 04 00 01 */ lbz r0, 1(r4)
/* 803791A8 00376108 88 64 00 07 */ lbz r3, 7(r4)
/* 803791AC 0037610C 54 1E 20 36 */ slwi r30, r0, 4
/* 803791B0 00376110 89 04 00 00 */ lbz r8, 0(r4)
/* 803791B4 00376114 88 04 00 13 */ lbz r0, 0x13(r4)
/* 803791B8 00376118 54 79 20 36 */ slwi r25, r3, 4
/* 803791BC 0037611C 89 44 00 06 */ lbz r10, 6(r4)
/* 803791C0 00376120 51 1E 07 3E */ rlwimi r30, r8, 0, 0x1c, 0x1f
/* 803791C4 00376124 89 64 00 02 */ lbz r11, 2(r4)
/* 803791C8 00376128 88 E4 00 0D */ lbz r7, 0xd(r4)
/* 803791CC 0037612C 51 59 07 3E */ rlwimi r25, r10, 0, 0x1c, 0x1f
/* 803791D0 00376130 55 7B 40 2E */ slwi r27, r11, 8
/* 803791D4 00376134 89 24 00 08 */ lbz r9, 8(r4)
/* 803791D8 00376138 88 64 00 0E */ lbz r3, 0xe(r4)
/* 803791DC 0037613C 55 3A 40 2E */ slwi r26, r9, 8
/* 803791E0 00376140 8B 84 00 03 */ lbz r28, 3(r4)
/* 803791E4 00376144 53 DB 06 3E */ rlwimi r27, r30, 0, 0x18, 0x1f
/* 803791E8 00376148 89 24 00 10 */ lbz r9, 0x10(r4)
/* 803791EC 0037614C 54 F7 20 36 */ slwi r23, r7, 4
/* 803791F0 00376150 89 84 00 0C */ lbz r12, 0xc(r4)
/* 803791F4 00376154 88 E4 00 15 */ lbz r7, 0x15(r4)
/* 803791F8 00376158 54 78 40 2E */ slwi r24, r3, 8
/* 803791FC 0037615C 51 97 07 3E */ rlwimi r23, r12, 0, 0x1c, 0x1f
/* 80379200 00376160 8B A4 00 12 */ lbz r29, 0x12(r4)
/* 80379204 00376164 54 00 20 36 */ slwi r0, r0, 4
/* 80379208 00376168 53 A0 07 3E */ rlwimi r0, r29, 0, 0x1c, 0x1f
/* 8037920C 0037616C 89 04 00 14 */ lbz r8, 0x14(r4)
/* 80379210 00376170 57 9C 60 26 */ slwi r28, r28, 0xc
/* 80379214 00376174 8B E4 00 09 */ lbz r31, 9(r4)
/* 80379218 00376178 53 7C 05 3E */ rlwimi r28, r27, 0, 0x14, 0x1f
/* 8037921C 0037617C 8B A4 00 04 */ lbz r29, 4(r4)
/* 80379220 00376180 52 F8 06 3E */ rlwimi r24, r23, 0, 0x18, 0x1f
/* 80379224 00376184 89 44 00 0F */ lbz r10, 0xf(r4)
/* 80379228 00376188 55 17 40 2E */ slwi r23, r8, 8
/* 8037922C 0037618C 89 84 00 0A */ lbz r12, 0xa(r4)
/* 80379230 00376190 53 3A 06 3E */ rlwimi r26, r25, 0, 0x18, 0x1f
/* 80379234 00376194 88 64 00 16 */ lbz r3, 0x16(r4)
/* 80379238 00376198 55 59 60 26 */ slwi r25, r10, 0xc
/* 8037923C 0037619C 8B C4 00 05 */ lbz r30, 5(r4)
/* 80379240 003761A0 50 17 06 3E */ rlwimi r23, r0, 0, 0x18, 0x1f
/* 80379244 003761A4 88 04 00 17 */ lbz r0, 0x17(r4)
/* 80379248 003761A8 57 FB 60 26 */ slwi r27, r31, 0xc
/* 8037924C 003761AC 89 64 00 0B */ lbz r11, 0xb(r4)
/* 80379250 003761B0 89 04 00 11 */ lbz r8, 0x11(r4)
/* 80379254 003761B4 57 A4 80 1E */ slwi r4, r29, 0x10
/* 80379258 003761B8 54 E7 60 26 */ slwi r7, r7, 0xc
/* 8037925C 003761BC 55 8A 80 1E */ slwi r10, r12, 0x10
/* 80379260 003761C0 53 5B 05 3E */ rlwimi r27, r26, 0, 0x14, 0x1f
/* 80379264 003761C4 54 6C 80 1E */ slwi r12, r3, 0x10
/* 80379268 003761C8 52 E7 05 3E */ rlwimi r7, r23, 0, 0x14, 0x1f
/* 8037926C 003761CC 53 84 04 3E */ rlwimi r4, r28, 0, 0x10, 0x1f
/* 80379270 003761D0 57 C3 A0 16 */ slwi r3, r30, 0x14
/* 80379274 003761D4 53 19 05 3E */ rlwimi r25, r24, 0, 0x14, 0x1f
/* 80379278 003761D8 55 29 80 1E */ slwi r9, r9, 0x10
/* 8037927C 003761DC 53 6A 04 3E */ rlwimi r10, r27, 0, 0x10, 0x1f
/* 80379280 003761E0 50 83 03 3E */ rlwimi r3, r4, 0, 0xc, 0x1f
/* 80379284 003761E4 50 EC 04 3E */ rlwimi r12, r7, 0, 0x10, 0x1f
/* 80379288 003761E8 54 67 02 3E */ clrlwi r7, r3, 8
/* 8037928C 003761EC 55 63 A0 16 */ slwi r3, r11, 0x14
/* 80379290 003761F0 51 43 03 3E */ rlwimi r3, r10, 0, 0xc, 0x1f
/* 80379294 003761F4 54 64 02 3E */ clrlwi r4, r3, 8
/* 80379298 003761F8 55 03 A0 16 */ slwi r3, r8, 0x14
/* 8037929C 003761FC 53 29 04 3E */ rlwimi r9, r25, 0, 0x10, 0x1f
/* 803792A0 00376200 51 23 03 3E */ rlwimi r3, r9, 0, 0xc, 0x1f
/* 803792A4 00376204 54 00 A0 16 */ slwi r0, r0, 0x14
/* 803792A8 00376208 51 80 03 3E */ rlwimi r0, r12, 0, 0xc, 0x1f
/* 803792AC 0037620C 54 63 02 3E */ clrlwi r3, r3, 8
/* 803792B0 00376210 54 00 02 3E */ clrlwi r0, r0, 8
/* 803792B4 00376214 64 E8 01 00 */ oris r8, r7, 0x100
/* 803792B8 00376218 64 87 02 00 */ oris r7, r4, 0x200
/* 803792BC 0037621C 64 69 03 00 */ oris r9, r3, 0x300
/* 803792C0 00376220 64 0A 04 00 */ oris r10, r0, 0x400
/* 803792C4 00376224 48 00 00 24 */ b lbl_803792E8
lbl_803792C8:
/* 803792C8 00376228 3D 00 01 66 */ lis r8, 0x01666666@ha
/* 803792CC 0037622C 3C E0 02 66 */ lis r7, 0x02666666@ha
/* 803792D0 00376230 3C 80 03 66 */ lis r4, 0x03666666@ha
/* 803792D4 00376234 3C 60 04 66 */ lis r3, 0x04666666@ha
/* 803792D8 00376238 39 08 66 66 */ addi r8, r8, 0x01666666@l
/* 803792DC 0037623C 38 E7 66 66 */ addi r7, r7, 0x02666666@l
/* 803792E0 00376240 39 24 66 66 */ addi r9, r4, 0x03666666@l
/* 803792E4 00376244 39 43 66 66 */ addi r10, r3, 0x04666666@l
lbl_803792E8:
/* 803792E8 00376248 38 80 00 61 */ li r4, 0x61
/* 803792EC 0037624C 3C 60 CC 01 */ lis r3, 0xCC008000@ha
/* 803792F0 00376250 98 83 80 00 */ stb r4, 0xCC008000@l(r3)
/* 803792F4 00376254 54 A0 06 3F */ clrlwi. r0, r5, 0x18
/* 803792F8 00376258 91 03 80 00 */ stw r8, 0xCC008000@l(r3)
/* 803792FC 0037625C 98 83 80 00 */ stb r4, 0xCC008000@l(r3)
/* 80379300 00376260 90 E3 80 00 */ stw r7, 0xCC008000@l(r3)
/* 80379304 00376264 98 83 80 00 */ stb r4, 0xCC008000@l(r3)
/* 80379308 00376268 91 23 80 00 */ stw r9, 0xCC008000@l(r3)
/* 8037930C 0037626C 98 83 80 00 */ stb r4, 0xCC008000@l(r3)
/* 80379310 00376270 91 43 80 00 */ stw r10, 0xCC008000@l(r3)
/* 80379314 00376274 41 82 00 68 */ beq lbl_8037937C
/* 80379318 00376278 88 06 00 00 */ lbz r0, 0(r6)
/* 8037931C 0037627C 88 66 00 01 */ lbz r3, 1(r6)
/* 80379320 00376280 64 05 53 00 */ oris r5, r0, 0x5300
/* 80379324 00376284 88 06 00 04 */ lbz r0, 4(r6)
/* 80379328 00376288 88 86 00 02 */ lbz r4, 2(r6)
/* 8037932C 0037628C 54 A7 06 A6 */ rlwinm r7, r5, 0, 0x1a, 0x13
/* 80379330 00376290 54 65 30 32 */ slwi r5, r3, 6
/* 80379334 00376294 88 66 00 05 */ lbz r3, 5(r6)
/* 80379338 00376298 7C E7 2B 78 */ or r7, r7, r5
/* 8037933C 0037629C 64 08 54 00 */ oris r8, r0, 0x5400
/* 80379340 003762A0 88 A6 00 03 */ lbz r5, 3(r6)
/* 80379344 003762A4 88 06 00 06 */ lbz r0, 6(r6)
/* 80379348 003762A8 54 E6 05 1A */ rlwinm r6, r7, 0, 0x14, 0xd
/* 8037934C 003762AC 54 84 60 26 */ slwi r4, r4, 0xc
/* 80379350 003762B0 7C C6 23 78 */ or r6, r6, r4
/* 80379354 003762B4 55 04 06 A6 */ rlwinm r4, r8, 0, 0x1a, 0x13
/* 80379358 003762B8 54 63 30 32 */ slwi r3, r3, 6
/* 8037935C 003762BC 7C 83 1B 78 */ or r3, r4, r3
/* 80379360 003762C0 54 C6 03 8E */ rlwinm r6, r6, 0, 0xe, 7
/* 80379364 003762C4 54 A4 90 1A */ slwi r4, r5, 0x12
/* 80379368 003762C8 54 63 05 1A */ rlwinm r3, r3, 0, 0x14, 0xd
/* 8037936C 003762CC 54 00 60 26 */ slwi r0, r0, 0xc
/* 80379370 003762D0 7C C6 23 78 */ or r6, r6, r4
/* 80379374 003762D4 7C 67 03 78 */ or r7, r3, r0
/* 80379378 003762D8 48 00 00 14 */ b lbl_8037938C
lbl_8037937C:
/* 8037937C 003762DC 3C 80 53 59 */ lis r4, 0x53595000@ha
/* 80379380 003762E0 3C 60 54 00 */ lis r3, 0x54000015@ha
/* 80379384 003762E4 38 C4 50 00 */ addi r6, r4, 0x53595000@l
/* 80379388 003762E8 38 E3 00 15 */ addi r7, r3, 0x54000015@l
lbl_8037938C:
/* 8037938C 003762EC 38 A0 00 61 */ li r5, 0x61
/* 80379390 003762F0 80 62 CE 08 */ lwz r3, __GXData@sda21(r2)
/* 80379394 003762F4 3C 80 CC 01 */ lis r4, 0xCC008000@ha
/* 80379398 003762F8 98 A4 80 00 */ stb r5, 0xCC008000@l(r4)
/* 8037939C 003762FC 38 00 00 00 */ li r0, 0
/* 803793A0 00376300 90 C4 80 00 */ stw r6, 0xCC008000@l(r4)
/* 803793A4 00376304 98 A4 80 00 */ stb r5, 0xCC008000@l(r4)
/* 803793A8 00376308 90 E4 80 00 */ stw r7, 0xCC008000@l(r4)
/* 803793AC 0037630C B0 03 00 02 */ sth r0, 2(r3)
/* 803793B0 00376310 BA E1 00 2C */ lmw r23, 0x2c(r1)
/* 803793B4 00376314 38 21 00 50 */ addi r1, r1, 0x50
/* 803793B8 00376318 4E 80 00 20 */ blr
.global GXSetDispCopyGamma
GXSetDispCopyGamma:
/* 803793BC 0037631C 80 82 CE 08 */ lwz r4, __GXData@sda21(r2)
/* 803793C0 00376320 54 60 38 30 */ slwi r0, r3, 7
/* 803793C4 00376324 84 64 01 EC */ lwzu r3, 0x1ec(r4)
/* 803793C8 00376328 54 63 06 6C */ rlwinm r3, r3, 0, 0x19, 0x16
/* 803793CC 0037632C 7C 60 03 78 */ or r0, r3, r0
/* 803793D0 00376330 90 04 00 00 */ stw r0, 0(r4)
/* 803793D4 00376334 4E 80 00 20 */ blr
.global GXCopyDisp
GXCopyDisp:
/* 803793D8 00376338 54 80 06 3F */ clrlwi. r0, r4, 0x18
/* 803793DC 0037633C 41 82 00 3C */ beq lbl_80379418
/* 803793E0 00376340 80 E2 CE 08 */ lwz r7, __GXData@sda21(r2)
/* 803793E4 00376344 38 00 00 61 */ li r0, 0x61
/* 803793E8 00376348 3C A0 CC 01 */ lis r5, 0xCC008000@ha
/* 803793EC 0037634C 80 C7 01 D8 */ lwz r6, 0x1d8(r7)
/* 803793F0 00376350 54 C6 00 3C */ rlwinm r6, r6, 0, 0, 0x1e
/* 803793F4 00376354 98 05 80 00 */ stb r0, 0xCC008000@l(r5)
/* 803793F8 00376358 60 C6 00 01 */ ori r6, r6, 1
/* 803793FC 0037635C 54 C6 07 F6 */ rlwinm r6, r6, 0, 0x1f, 0x1b
/* 80379400 00376360 60 C6 00 0E */ ori r6, r6, 0xe
/* 80379404 00376364 90 C5 80 00 */ stw r6, 0xCC008000@l(r5)
/* 80379408 00376368 80 C7 01 D0 */ lwz r6, 0x1d0(r7)
/* 8037940C 0037636C 98 05 80 00 */ stb r0, 0xCC008000@l(r5)
/* 80379410 00376370 54 C0 00 3A */ rlwinm r0, r6, 0, 0, 0x1d
/* 80379414 00376374 90 05 80 00 */ stw r0, 0xCC008000@l(r5)
lbl_80379418:
/* 80379418 00376378 54 80 06 3F */ clrlwi. r0, r4, 0x18
/* 8037941C 0037637C 38 00 00 00 */ li r0, 0
/* 80379420 00376380 40 82 00 18 */ bne lbl_80379438
/* 80379424 00376384 80 A2 CE 08 */ lwz r5, __GXData@sda21(r2)
/* 80379428 00376388 80 A5 01 DC */ lwz r5, 0x1dc(r5)
/* 8037942C 0037638C 54 A5 07 7E */ clrlwi r5, r5, 0x1d
/* 80379430 00376390 28 05 00 03 */ cmplwi r5, 3
/* 80379434 00376394 40 82 00 30 */ bne lbl_80379464
lbl_80379438:
/* 80379438 00376398 80 A2 CE 08 */ lwz r5, __GXData@sda21(r2)
/* 8037943C 0037639C 80 E5 01 DC */ lwz r7, 0x1dc(r5)
/* 80379440 003763A0 54 E5 D7 FE */ rlwinm r5, r7, 0x1a, 0x1f, 0x1f
/* 80379444 003763A4 28 05 00 01 */ cmplwi r5, 1
/* 80379448 003763A8 40 82 00 1C */ bne lbl_80379464
/* 8037944C 003763AC 38 00 00 61 */ li r0, 0x61
/* 80379450 003763B0 3C C0 CC 01 */ lis r6, 0xCC008000@ha
/* 80379454 003763B4 98 06 80 00 */ stb r0, 0xCC008000@l(r6)
/* 80379458 003763B8 54 E5 06 B0 */ rlwinm r5, r7, 0, 0x1a, 0x18
/* 8037945C 003763BC 38 00 00 01 */ li r0, 1
/* 80379460 003763C0 90 A6 80 00 */ stw r5, 0xCC008000@l(r6)
lbl_80379464:
/* 80379464 003763C4 39 20 00 61 */ li r9, 0x61
/* 80379468 003763C8 80 E2 CE 08 */ lwz r7, __GXData@sda21(r2)
/* 8037946C 003763CC 3D 00 CC 01 */ lis r8, 0xCC008000@ha
/* 80379470 003763D0 99 28 80 00 */ stb r9, 0xCC008000@l(r8)
/* 80379474 003763D4 54 63 DA 3E */ rlwinm r3, r3, 0x1b, 8, 0x1f
/* 80379478 003763D8 64 6A 4B 00 */ oris r10, r3, 0x4b00
/* 8037947C 003763DC 80 C7 01 E0 */ lwz r6, 0x1e0(r7)
/* 80379480 003763E0 54 85 06 3F */ clrlwi. r5, r4, 0x18
/* 80379484 003763E4 54 83 5B 68 */ rlwinm r3, r4, 0xb, 0xd, 0x14
/* 80379488 003763E8 90 C8 80 00 */ stw r6, 0xCC008000@l(r8)
/* 8037948C 003763EC 99 28 80 00 */ stb r9, 0xCC008000@l(r8)
/* 80379490 003763F0 80 87 01 E4 */ lwz r4, 0x1e4(r7)
/* 80379494 003763F4 90 88 80 00 */ stw r4, 0xCC008000@l(r8)
/* 80379498 003763F8 99 28 80 00 */ stb r9, 0xCC008000@l(r8)
/* 8037949C 003763FC 80 87 01 E8 */ lwz r4, 0x1e8(r7)
/* 803794A0 00376400 90 88 80 00 */ stw r4, 0xCC008000@l(r8)
/* 803794A4 00376404 99 28 80 00 */ stb r9, 0xCC008000@l(r8)
/* 803794A8 00376408 91 48 80 00 */ stw r10, 0xCC008000@l(r8)
/* 803794AC 0037640C 80 87 01 EC */ lwz r4, 0x1ec(r7)
/* 803794B0 00376410 54 84 05 66 */ rlwinm r4, r4, 0, 0x15, 0x13
/* 803794B4 00376414 7C 83 1B 78 */ or r3, r4, r3
/* 803794B8 00376418 90 67 01 EC */ stw r3, 0x1ec(r7)
/* 803794BC 0037641C 80 67 01 EC */ lwz r3, 0x1ec(r7)
/* 803794C0 00376420 54 63 04 A0 */ rlwinm r3, r3, 0, 0x12, 0x10
/* 803794C4 00376424 60 63 40 00 */ ori r3, r3, 0x4000
/* 803794C8 00376428 90 67 01 EC */ stw r3, 0x1ec(r7)
/* 803794CC 0037642C 80 67 01 EC */ lwz r3, 0x1ec(r7)
/* 803794D0 00376430 54 63 02 3E */ clrlwi r3, r3, 8
/* 803794D4 00376434 64 63 52 00 */ oris r3, r3, 0x5200
/* 803794D8 00376438 90 67 01 EC */ stw r3, 0x1ec(r7)
/* 803794DC 0037643C 99 28 80 00 */ stb r9, 0xCC008000@l(r8)
/* 803794E0 00376440 80 67 01 EC */ lwz r3, 0x1ec(r7)
/* 803794E4 00376444 90 68 80 00 */ stw r3, 0xCC008000@l(r8)
/* 803794E8 00376448 41 82 00 1C */ beq lbl_80379504
/* 803794EC 0037644C 99 28 80 00 */ stb r9, 0xCC008000@l(r8)
/* 803794F0 00376450 80 67 01 D8 */ lwz r3, 0x1d8(r7)
/* 803794F4 00376454 90 68 80 00 */ stw r3, 0xCC008000@l(r8)
/* 803794F8 00376458 99 28 80 00 */ stb r9, 0xCC008000@l(r8)
/* 803794FC 0037645C 80 67 01 D0 */ lwz r3, 0x1d0(r7)
/* 80379500 00376460 90 68 80 00 */ stw r3, 0xCC008000@l(r8)
lbl_80379504:
/* 80379504 00376464 54 00 06 3F */ clrlwi. r0, r0, 0x18
/* 80379508 00376468 41 82 00 1C */ beq lbl_80379524
/* 8037950C 0037646C 38 00 00 61 */ li r0, 0x61
/* 80379510 00376470 80 62 CE 08 */ lwz r3, __GXData@sda21(r2)
/* 80379514 00376474 3C 80 CC 01 */ lis r4, 0xCC008000@ha
/* 80379518 00376478 98 04 80 00 */ stb r0, 0xCC008000@l(r4)
/* 8037951C 0037647C 80 03 01 DC */ lwz r0, 0x1dc(r3)
/* 80379520 00376480 90 04 80 00 */ stw r0, 0xCC008000@l(r4)
lbl_80379524:
/* 80379524 00376484 80 62 CE 08 */ lwz r3, __GXData@sda21(r2)
/* 80379528 00376488 38 00 00 00 */ li r0, 0
/* 8037952C 0037648C B0 03 00 02 */ sth r0, 2(r3)
/* 80379530 00376490 4E 80 00 20 */ blr
.global GXCopyTex
GXCopyTex:
/* 80379534 00376494 54 80 06 3F */ clrlwi. r0, r4, 0x18
/* 80379538 00376498 41 82 00 3C */ beq lbl_80379574
/* 8037953C 0037649C 80 E2 CE 08 */ lwz r7, __GXData@sda21(r2)
/* 80379540 003764A0 38 00 00 61 */ li r0, 0x61
/* 80379544 003764A4 3C A0 CC 01 */ lis r5, 0xCC008000@ha
/* 80379548 003764A8 80 C7 01 D8 */ lwz r6, 0x1d8(r7)
/* 8037954C 003764AC 54 C6 00 3C */ rlwinm r6, r6, 0, 0, 0x1e
/* 80379550 003764B0 98 05 80 00 */ stb r0, 0xCC008000@l(r5)
/* 80379554 003764B4 60 C6 00 01 */ ori r6, r6, 1
/* 80379558 003764B8 54 C6 07 F6 */ rlwinm r6, r6, 0, 0x1f, 0x1b
/* 8037955C 003764BC 60 C6 00 0E */ ori r6, r6, 0xe
/* 80379560 003764C0 90 C5 80 00 */ stw r6, 0xCC008000@l(r5)
/* 80379564 003764C4 80 C7 01 D0 */ lwz r6, 0x1d0(r7)
/* 80379568 003764C8 98 05 80 00 */ stb r0, 0xCC008000@l(r5)
/* 8037956C 003764CC 54 C0 00 3A */ rlwinm r0, r6, 0, 0, 0x1d
/* 80379570 003764D0 90 05 80 00 */ stw r0, 0xCC008000@l(r5)
lbl_80379574:
/* 80379574 003764D4 80 C2 CE 08 */ lwz r6, __GXData@sda21(r2)
/* 80379578 003764D8 38 00 00 00 */ li r0, 0
/* 8037957C 003764DC 88 A6 02 00 */ lbz r5, 0x200(r6)
/* 80379580 003764E0 80 E6 01 DC */ lwz r7, 0x1dc(r6)
/* 80379584 003764E4 28 05 00 00 */ cmplwi r5, 0
/* 80379588 003764E8 41 82 00 1C */ beq lbl_803795A4
/* 8037958C 003764EC 54 E5 07 7E */ clrlwi r5, r7, 0x1d
/* 80379590 003764F0 28 05 00 03 */ cmplwi r5, 3
/* 80379594 003764F4 41 82 00 10 */ beq lbl_803795A4
/* 80379598 003764F8 54 E0 00 38 */ rlwinm r0, r7, 0, 0, 0x1c
/* 8037959C 003764FC 60 07 00 03 */ ori r7, r0, 3
/* 803795A0 00376500 38 00 00 01 */ li r0, 1
lbl_803795A4:
/* 803795A4 00376504 54 85 06 3F */ clrlwi. r5, r4, 0x18
/* 803795A8 00376508 40 82 00 10 */ bne lbl_803795B8
/* 803795AC 0037650C 54 E5 07 7E */ clrlwi r5, r7, 0x1d
/* 803795B0 00376510 28 05 00 03 */ cmplwi r5, 3
/* 803795B4 00376514 40 82 00 18 */ bne lbl_803795CC
lbl_803795B8:
/* 803795B8 00376518 54 E5 D7 FE */ rlwinm r5, r7, 0x1a, 0x1f, 0x1f
/* 803795BC 0037651C 28 05 00 01 */ cmplwi r5, 1
/* 803795C0 00376520 40 82 00 0C */ bne lbl_803795CC
/* 803795C4 00376524 38 00 00 01 */ li r0, 1
/* 803795C8 00376528 54 E7 06 B0 */ rlwinm r7, r7, 0, 0x1a, 0x18
lbl_803795CC:
/* 803795CC 0037652C 54 05 06 3F */ clrlwi. r5, r0, 0x18
/* 803795D0 00376530 41 82 00 14 */ beq lbl_803795E4
/* 803795D4 00376534 38 C0 00 61 */ li r6, 0x61
/* 803795D8 00376538 3C A0 CC 01 */ lis r5, 0xCC008000@ha
/* 803795DC 0037653C 98 C5 80 00 */ stb r6, 0xCC008000@l(r5)
/* 803795E0 00376540 90 E5 80 00 */ stw r7, 0xCC008000@l(r5)
lbl_803795E4:
/* 803795E4 00376544 39 20 00 61 */ li r9, 0x61
/* 803795E8 00376548 80 E2 CE 08 */ lwz r7, __GXData@sda21(r2)
/* 803795EC 0037654C 3D 00 CC 01 */ lis r8, 0xCC008000@ha
/* 803795F0 00376550 99 28 80 00 */ stb r9, 0xCC008000@l(r8)
/* 803795F4 00376554 54 63 DA 3E */ rlwinm r3, r3, 0x1b, 8, 0x1f
/* 803795F8 00376558 64 6A 4B 00 */ oris r10, r3, 0x4b00
/* 803795FC 0037655C 80 C7 01 F0 */ lwz r6, 0x1f0(r7)
/* 80379600 00376560 54 85 06 3F */ clrlwi. r5, r4, 0x18
/* 80379604 00376564 54 83 5B 68 */ rlwinm r3, r4, 0xb, 0xd, 0x14
/* 80379608 00376568 90 C8 80 00 */ stw r6, 0xCC008000@l(r8)
/* 8037960C 0037656C 99 28 80 00 */ stb r9, 0xCC008000@l(r8)
/* 80379610 00376570 80 87 01 F4 */ lwz r4, 0x1f4(r7)
/* 80379614 00376574 90 88 80 00 */ stw r4, 0xCC008000@l(r8)
/* 80379618 00376578 99 28 80 00 */ stb r9, 0xCC008000@l(r8)
/* 8037961C 0037657C 80 87 01 F8 */ lwz r4, 0x1f8(r7)
/* 80379620 00376580 90 88 80 00 */ stw r4, 0xCC008000@l(r8)
/* 80379624 00376584 99 28 80 00 */ stb r9, 0xCC008000@l(r8)
/* 80379628 00376588 91 48 80 00 */ stw r10, 0xCC008000@l(r8)
/* 8037962C 0037658C 80 87 01 FC */ lwz r4, 0x1fc(r7)
/* 80379630 00376590 54 84 05 66 */ rlwinm r4, r4, 0, 0x15, 0x13
/* 80379634 00376594 7C 83 1B 78 */ or r3, r4, r3
/* 80379638 00376598 90 67 01 FC */ stw r3, 0x1fc(r7)
/* 8037963C 0037659C 80 67 01 FC */ lwz r3, 0x1fc(r7)
/* 80379640 003765A0 54 63 04 A0 */ rlwinm r3, r3, 0, 0x12, 0x10
/* 80379644 003765A4 90 67 01 FC */ stw r3, 0x1fc(r7)
/* 80379648 003765A8 80 67 01 FC */ lwz r3, 0x1fc(r7)
/* 8037964C 003765AC 54 63 02 3E */ clrlwi r3, r3, 8
/* 80379650 003765B0 64 63 52 00 */ oris r3, r3, 0x5200
/* 80379654 003765B4 90 67 01 FC */ stw r3, 0x1fc(r7)
/* 80379658 003765B8 99 28 80 00 */ stb r9, 0xCC008000@l(r8)
/* 8037965C 003765BC 80 67 01 FC */ lwz r3, 0x1fc(r7)
/* 80379660 003765C0 90 68 80 00 */ stw r3, 0xCC008000@l(r8)
/* 80379664 003765C4 41 82 00 1C */ beq lbl_80379680
/* 80379668 003765C8 99 28 80 00 */ stb r9, 0xCC008000@l(r8)
/* 8037966C 003765CC 80 67 01 D8 */ lwz r3, 0x1d8(r7)
/* 80379670 003765D0 90 68 80 00 */ stw r3, 0xCC008000@l(r8)
/* 80379674 003765D4 99 28 80 00 */ stb r9, 0xCC008000@l(r8)
/* 80379678 003765D8 80 67 01 D0 */ lwz r3, 0x1d0(r7)
/* 8037967C 003765DC 90 68 80 00 */ stw r3, 0xCC008000@l(r8)
lbl_80379680:
/* 80379680 003765E0 54 00 06 3F */ clrlwi. r0, r0, 0x18
/* 80379684 003765E4 41 82 00 1C */ beq lbl_803796A0
/* 80379688 003765E8 38 00 00 61 */ li r0, 0x61
/* 8037968C 003765EC 80 62 CE 08 */ lwz r3, __GXData@sda21(r2)
/* 80379690 003765F0 3C 80 CC 01 */ lis r4, 0xCC008000@ha
/* 80379694 003765F4 98 04 80 00 */ stb r0, 0xCC008000@l(r4)
/* 80379698 003765F8 80 03 01 DC */ lwz r0, 0x1dc(r3)
/* 8037969C 003765FC 90 04 80 00 */ stw r0, 0xCC008000@l(r4)
lbl_803796A0:
/* 803796A0 00376600 80 62 CE 08 */ lwz r3, __GXData@sda21(r2)
/* 803796A4 00376604 38 00 00 00 */ li r0, 0
/* 803796A8 00376608 B0 03 00 02 */ sth r0, 2(r3)
/* 803796AC 0037660C 4E 80 00 20 */ blr
.global GXClearBoundingBox
GXClearBoundingBox:
/* 803796B0 00376610 38 C0 00 61 */ li r6, 0x61
/* 803796B4 00376614 80 62 CE 08 */ lwz r3, __GXData@sda21(r2)
/* 803796B8 00376618 3C A0 CC 01 */ lis r5, 0xCC008000@ha
/* 803796BC 0037661C 3C 80 55 00 */ lis r4, 0x550003FF@ha
/* 803796C0 00376620 98 C5 80 00 */ stb r6, 0xCC008000@l(r5)
/* 803796C4 00376624 38 04 03 FF */ addi r0, r4, 0x550003FF@l
/* 803796C8 00376628 90 05 80 00 */ stw r0, 0xCC008000@l(r5)
/* 803796CC 0037662C 3C 80 56 00 */ lis r4, 0x560003FF@ha
/* 803796D0 00376630 38 84 03 FF */ addi r4, r4, 0x560003FF@l
/* 803796D4 00376634 98 C5 80 00 */ stb r6, 0xCC008000@l(r5)
/* 803796D8 00376638 38 00 00 00 */ li r0, 0
/* 803796DC 0037663C 90 85 80 00 */ stw r4, 0xCC008000@l(r5)
/* 803796E0 00376640 B0 03 00 02 */ sth r0, 2(r3)
/* 803796E4 00376644 4E 80 00 20 */ blr

View File

@ -1,287 +0,0 @@
.include "macros.inc"
.section .text, "ax"
.global __GXSetDirtyState
__GXSetDirtyState:
/* 80378854 003757B4 7C 08 02 A6 */ mflr r0
/* 80378858 003757B8 90 01 00 04 */ stw r0, 4(r1)
/* 8037885C 003757BC 94 21 FF F8 */ stwu r1, -8(r1)
/* 80378860 003757C0 80 62 CE 08 */ lwz r3, __GXData@sda21(r2)
/* 80378864 003757C4 80 03 04 F4 */ lwz r0, 0x4f4(r3)
/* 80378868 003757C8 54 00 07 FF */ clrlwi. r0, r0, 0x1f
/* 8037886C 003757CC 41 82 00 08 */ beq lbl_80378874
/* 80378870 003757D0 48 00 22 01 */ bl __GXSetSUTexRegs
lbl_80378874:
/* 80378874 003757D4 80 62 CE 08 */ lwz r3, __GXData@sda21(r2)
/* 80378878 003757D8 80 03 04 F4 */ lwz r0, 0x4f4(r3)
/* 8037887C 003757DC 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e
/* 80378880 003757E0 41 82 00 08 */ beq lbl_80378888
/* 80378884 003757E4 48 00 2A A5 */ bl __GXUpdateBPMask
lbl_80378888:
/* 80378888 003757E8 80 62 CE 08 */ lwz r3, __GXData@sda21(r2)
/* 8037888C 003757EC 80 03 04 F4 */ lwz r0, 0x4f4(r3)
/* 80378890 003757F0 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d
/* 80378894 003757F4 41 82 00 08 */ beq lbl_8037889C
/* 80378898 003757F8 48 00 03 49 */ bl __GXSetGenMode
lbl_8037889C:
/* 8037889C 003757FC 80 62 CE 08 */ lwz r3, __GXData@sda21(r2)
/* 803788A0 00375800 80 03 04 F4 */ lwz r0, 0x4f4(r3)
/* 803788A4 00375804 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c
/* 803788A8 00375808 41 82 00 08 */ beq lbl_803788B0
/* 803788AC 0037580C 4B FF ED 31 */ bl __GXSetVCD
lbl_803788B0:
/* 803788B0 00375810 80 62 CE 08 */ lwz r3, __GXData@sda21(r2)
/* 803788B4 00375814 80 03 04 F4 */ lwz r0, 0x4f4(r3)
/* 803788B8 00375818 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b
/* 803788BC 0037581C 41 82 00 08 */ beq lbl_803788C4
/* 803788C0 00375820 4B FF F5 9D */ bl __GXSetVAT
lbl_803788C4:
/* 803788C4 00375824 80 62 CE 08 */ lwz r3, __GXData@sda21(r2)
/* 803788C8 00375828 80 03 04 F4 */ lwz r0, 0x4f4(r3)
/* 803788CC 0037582C 54 00 06 F9 */ rlwinm. r0, r0, 0, 0x1b, 0x1c
/* 803788D0 00375830 41 82 00 08 */ beq lbl_803788D8
/* 803788D4 00375834 4B FF ED 5D */ bl __GXCalculateVLim
lbl_803788D8:
/* 803788D8 00375838 80 62 CE 08 */ lwz r3, __GXData@sda21(r2)
/* 803788DC 0037583C 38 00 00 00 */ li r0, 0
/* 803788E0 00375840 90 03 04 F4 */ stw r0, 0x4f4(r3)
/* 803788E4 00375844 80 01 00 0C */ lwz r0, 0xc(r1)
/* 803788E8 00375848 38 21 00 08 */ addi r1, r1, 8
/* 803788EC 0037584C 7C 08 03 A6 */ mtlr r0
/* 803788F0 00375850 4E 80 00 20 */ blr
.global GXBegin
GXBegin:
/* 803788F4 00375854 7C 08 02 A6 */ mflr r0
/* 803788F8 00375858 90 01 00 04 */ stw r0, 4(r1)
/* 803788FC 0037585C 94 21 FF D8 */ stwu r1, -0x28(r1)
/* 80378900 00375860 93 E1 00 24 */ stw r31, 0x24(r1)
/* 80378904 00375864 3B E5 00 00 */ addi r31, r5, 0
/* 80378908 00375868 93 C1 00 20 */ stw r30, 0x20(r1)
/* 8037890C 0037586C 3B C4 00 00 */ addi r30, r4, 0
/* 80378910 00375870 93 A1 00 1C */ stw r29, 0x1c(r1)
/* 80378914 00375874 3B A3 00 00 */ addi r29, r3, 0
/* 80378918 00375878 80 C2 CE 08 */ lwz r6, __GXData@sda21(r2)
/* 8037891C 0037587C 80 06 04 F4 */ lwz r0, 0x4f4(r6)
/* 80378920 00375880 28 00 00 00 */ cmplwi r0, 0
/* 80378924 00375884 41 82 00 80 */ beq lbl_803789A4
/* 80378928 00375888 54 00 07 FF */ clrlwi. r0, r0, 0x1f
/* 8037892C 0037588C 41 82 00 08 */ beq lbl_80378934
/* 80378930 00375890 48 00 21 41 */ bl __GXSetSUTexRegs
lbl_80378934:
/* 80378934 00375894 80 62 CE 08 */ lwz r3, __GXData@sda21(r2)
/* 80378938 00375898 80 03 04 F4 */ lwz r0, 0x4f4(r3)
/* 8037893C 0037589C 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e
/* 80378940 003758A0 41 82 00 08 */ beq lbl_80378948
/* 80378944 003758A4 48 00 29 E5 */ bl __GXUpdateBPMask
lbl_80378948:
/* 80378948 003758A8 80 62 CE 08 */ lwz r3, __GXData@sda21(r2)
/* 8037894C 003758AC 80 03 04 F4 */ lwz r0, 0x4f4(r3)
/* 80378950 003758B0 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d
/* 80378954 003758B4 41 82 00 08 */ beq lbl_8037895C
/* 80378958 003758B8 48 00 02 89 */ bl __GXSetGenMode
lbl_8037895C:
/* 8037895C 003758BC 80 62 CE 08 */ lwz r3, __GXData@sda21(r2)
/* 80378960 003758C0 80 03 04 F4 */ lwz r0, 0x4f4(r3)
/* 80378964 003758C4 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c
/* 80378968 003758C8 41 82 00 08 */ beq lbl_80378970
/* 8037896C 003758CC 4B FF EC 71 */ bl __GXSetVCD
lbl_80378970:
/* 80378970 003758D0 80 62 CE 08 */ lwz r3, __GXData@sda21(r2)
/* 80378974 003758D4 80 03 04 F4 */ lwz r0, 0x4f4(r3)
/* 80378978 003758D8 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b
/* 8037897C 003758DC 41 82 00 08 */ beq lbl_80378984
/* 80378980 003758E0 4B FF F4 DD */ bl __GXSetVAT
lbl_80378984:
/* 80378984 003758E4 80 62 CE 08 */ lwz r3, __GXData@sda21(r2)
/* 80378988 003758E8 80 03 04 F4 */ lwz r0, 0x4f4(r3)
/* 8037898C 003758EC 54 00 06 F9 */ rlwinm. r0, r0, 0, 0x1b, 0x1c
/* 80378990 003758F0 41 82 00 08 */ beq lbl_80378998
/* 80378994 003758F4 4B FF EC 9D */ bl __GXCalculateVLim
lbl_80378998:
/* 80378998 003758F8 80 62 CE 08 */ lwz r3, __GXData@sda21(r2)
/* 8037899C 003758FC 38 00 00 00 */ li r0, 0
/* 803789A0 00375900 90 03 04 F4 */ stw r0, 0x4f4(r3)
lbl_803789A4:
/* 803789A4 00375904 80 62 CE 08 */ lwz r3, __GXData@sda21(r2)
/* 803789A8 00375908 80 03 00 00 */ lwz r0, 0(r3)
/* 803789AC 0037590C 28 00 00 00 */ cmplwi r0, 0
/* 803789B0 00375910 40 82 00 08 */ bne lbl_803789B8
/* 803789B4 00375914 48 00 00 31 */ bl __GXSendFlushPrim
lbl_803789B8:
/* 803789B8 00375918 7F C0 EB 78 */ or r0, r30, r29
/* 803789BC 0037591C 3C 60 CC 01 */ lis r3, 0xCC008000@ha
/* 803789C0 00375920 98 03 80 00 */ stb r0, 0xCC008000@l(r3)
/* 803789C4 00375924 B3 E3 80 00 */ sth r31, 0xCC008000@l(r3)
/* 803789C8 00375928 80 01 00 2C */ lwz r0, 0x2c(r1)
/* 803789CC 0037592C 83 E1 00 24 */ lwz r31, 0x24(r1)
/* 803789D0 00375930 83 C1 00 20 */ lwz r30, 0x20(r1)
/* 803789D4 00375934 83 A1 00 1C */ lwz r29, 0x1c(r1)
/* 803789D8 00375938 38 21 00 28 */ addi r1, r1, 0x28
/* 803789DC 0037593C 7C 08 03 A6 */ mtlr r0
/* 803789E0 00375940 4E 80 00 20 */ blr
.global __GXSendFlushPrim
__GXSendFlushPrim:
/* 803789E4 00375944 80 62 CE 08 */ lwz r3, __GXData@sda21(r2)
/* 803789E8 00375948 38 00 00 98 */ li r0, 0x98
/* 803789EC 0037594C 3C A0 CC 01 */ lis r5, 0xCC008000@ha
/* 803789F0 00375950 A0 C3 00 04 */ lhz r6, 4(r3)
/* 803789F4 00375954 38 80 00 00 */ li r4, 0
/* 803789F8 00375958 A0 63 00 06 */ lhz r3, 6(r3)
/* 803789FC 0037595C 7C E6 19 D6 */ mullw r7, r6, r3
/* 80378A00 00375960 98 05 80 00 */ stb r0, 0xCC008000@l(r5)
/* 80378A04 00375964 B0 C5 80 00 */ sth r6, 0xCC008000@l(r5)
/* 80378A08 00375968 38 67 00 03 */ addi r3, r7, 3
/* 80378A0C 0037596C 28 07 00 00 */ cmplwi r7, 0
/* 80378A10 00375970 54 63 F0 BE */ srwi r3, r3, 2
/* 80378A14 00375974 40 81 00 48 */ ble lbl_80378A5C
/* 80378A18 00375978 54 60 E8 FF */ rlwinm. r0, r3, 0x1d, 3, 0x1f
/* 80378A1C 0037597C 7C 09 03 A6 */ mtctr r0
/* 80378A20 00375980 41 82 00 30 */ beq lbl_80378A50
lbl_80378A24:
/* 80378A24 00375984 90 85 80 00 */ stw r4, 0xCC008000@l(r5)
/* 80378A28 00375988 90 85 80 00 */ stw r4, 0xCC008000@l(r5)
/* 80378A2C 0037598C 90 85 80 00 */ stw r4, 0xCC008000@l(r5)
/* 80378A30 00375990 90 85 80 00 */ stw r4, 0xCC008000@l(r5)
/* 80378A34 00375994 90 85 80 00 */ stw r4, 0xCC008000@l(r5)
/* 80378A38 00375998 90 85 80 00 */ stw r4, 0xCC008000@l(r5)
/* 80378A3C 0037599C 90 85 80 00 */ stw r4, 0xCC008000@l(r5)
/* 80378A40 003759A0 90 85 80 00 */ stw r4, 0xCC008000@l(r5)
/* 80378A44 003759A4 42 00 FF E0 */ bdnz lbl_80378A24
/* 80378A48 003759A8 70 63 00 07 */ andi. r3, r3, 7
/* 80378A4C 003759AC 41 82 00 10 */ beq lbl_80378A5C
lbl_80378A50:
/* 80378A50 003759B0 7C 69 03 A6 */ mtctr r3
lbl_80378A54:
/* 80378A54 003759B4 90 85 80 00 */ stw r4, 0xCC008000@l(r5)
/* 80378A58 003759B8 42 00 FF FC */ bdnz lbl_80378A54
lbl_80378A5C:
/* 80378A5C 003759BC 80 62 CE 08 */ lwz r3, __GXData@sda21(r2)
/* 80378A60 003759C0 38 00 00 01 */ li r0, 1
/* 80378A64 003759C4 B0 03 00 02 */ sth r0, 2(r3)
/* 80378A68 003759C8 4E 80 00 20 */ blr
.global GXSetLineWidth
GXSetLineWidth:
/* 80378A6C 003759CC 80 E2 CE 08 */ lwz r7, __GXData@sda21(r2)
/* 80378A70 003759D0 54 86 80 1E */ slwi r6, r4, 0x10
/* 80378A74 003759D4 38 A0 00 61 */ li r5, 0x61
/* 80378A78 003759D8 80 07 00 7C */ lwz r0, 0x7c(r7)
/* 80378A7C 003759DC 3C 80 CC 01 */ lis r4, 0xCC008000@ha
/* 80378A80 003759E0 54 00 00 2E */ rlwinm r0, r0, 0, 0, 0x17
/* 80378A84 003759E4 50 60 06 3E */ rlwimi r0, r3, 0, 0x18, 0x1f
/* 80378A88 003759E8 90 07 00 7C */ stw r0, 0x7c(r7)
/* 80378A8C 003759EC 38 00 00 00 */ li r0, 0
/* 80378A90 003759F0 80 67 00 7C */ lwz r3, 0x7c(r7)
/* 80378A94 003759F4 54 63 04 18 */ rlwinm r3, r3, 0, 0x10, 0xc
/* 80378A98 003759F8 7C 63 33 78 */ or r3, r3, r6
/* 80378A9C 003759FC 90 67 00 7C */ stw r3, 0x7c(r7)
/* 80378AA0 00375A00 98 A4 80 00 */ stb r5, 0xCC008000@l(r4)
/* 80378AA4 00375A04 80 67 00 7C */ lwz r3, 0x7c(r7)
/* 80378AA8 00375A08 90 64 80 00 */ stw r3, 0xCC008000@l(r4)
/* 80378AAC 00375A0C B0 07 00 02 */ sth r0, 2(r7)
/* 80378AB0 00375A10 4E 80 00 20 */ blr
.global GXSetPointSize
GXSetPointSize:
/* 80378AB4 00375A14 80 E2 CE 08 */ lwz r7, __GXData@sda21(r2)
/* 80378AB8 00375A18 54 86 98 18 */ slwi r6, r4, 0x13
/* 80378ABC 00375A1C 38 A0 00 61 */ li r5, 0x61
/* 80378AC0 00375A20 80 07 00 7C */ lwz r0, 0x7c(r7)
/* 80378AC4 00375A24 3C 80 CC 01 */ lis r4, 0xCC008000@ha
/* 80378AC8 00375A28 54 00 06 1E */ rlwinm r0, r0, 0, 0x18, 0xf
/* 80378ACC 00375A2C 50 60 44 2E */ rlwimi r0, r3, 8, 0x10, 0x17
/* 80378AD0 00375A30 90 07 00 7C */ stw r0, 0x7c(r7)
/* 80378AD4 00375A34 38 00 00 00 */ li r0, 0
/* 80378AD8 00375A38 80 67 00 7C */ lwz r3, 0x7c(r7)
/* 80378ADC 00375A3C 54 63 03 52 */ rlwinm r3, r3, 0, 0xd, 9
/* 80378AE0 00375A40 7C 63 33 78 */ or r3, r3, r6
/* 80378AE4 00375A44 90 67 00 7C */ stw r3, 0x7c(r7)
/* 80378AE8 00375A48 98 A4 80 00 */ stb r5, 0xCC008000@l(r4)
/* 80378AEC 00375A4C 80 67 00 7C */ lwz r3, 0x7c(r7)
/* 80378AF0 00375A50 90 64 80 00 */ stw r3, 0xCC008000@l(r4)
/* 80378AF4 00375A54 B0 07 00 02 */ sth r0, 2(r7)
/* 80378AF8 00375A58 4E 80 00 20 */ blr
.global GXEnableTexOffsets
GXEnableTexOffsets:
/* 80378AFC 00375A5C 80 C2 CE 08 */ lwz r6, __GXData@sda21(r2)
/* 80378B00 00375A60 54 68 10 3A */ slwi r8, r3, 2
/* 80378B04 00375A64 7C E6 42 14 */ add r7, r6, r8
/* 80378B08 00375A68 80 07 00 B8 */ lwz r0, 0xb8(r7)
/* 80378B0C 00375A6C 7D 26 42 14 */ add r9, r6, r8
/* 80378B10 00375A70 54 03 03 98 */ rlwinm r3, r0, 0, 0xe, 0xc
/* 80378B14 00375A74 54 80 91 9A */ rlwinm r0, r4, 0x12, 6, 0xd
/* 80378B18 00375A78 7C 60 03 78 */ or r0, r3, r0
/* 80378B1C 00375A7C 90 07 00 B8 */ stw r0, 0xb8(r7)
/* 80378B20 00375A80 54 A0 99 58 */ rlwinm r0, r5, 0x13, 5, 0xc
/* 80378B24 00375A84 38 A0 00 61 */ li r5, 0x61
/* 80378B28 00375A88 80 69 00 B8 */ lwz r3, 0xb8(r9)
/* 80378B2C 00375A8C 3C 80 CC 01 */ lis r4, 0xCC008000@ha
/* 80378B30 00375A90 54 63 03 56 */ rlwinm r3, r3, 0, 0xd, 0xb
/* 80378B34 00375A94 7C 60 03 78 */ or r0, r3, r0
/* 80378B38 00375A98 90 09 00 B8 */ stw r0, 0xb8(r9)
/* 80378B3C 00375A9C 7C 66 42 14 */ add r3, r6, r8
/* 80378B40 00375AA0 38 00 00 00 */ li r0, 0
/* 80378B44 00375AA4 98 A4 80 00 */ stb r5, 0xCC008000@l(r4)
/* 80378B48 00375AA8 80 63 00 B8 */ lwz r3, 0xb8(r3)
/* 80378B4C 00375AAC 90 64 80 00 */ stw r3, 0xCC008000@l(r4)
/* 80378B50 00375AB0 B0 06 00 02 */ sth r0, 2(r6)
/* 80378B54 00375AB4 4E 80 00 20 */ blr
.global GXSetCullMode
GXSetCullMode:
/* 80378B58 00375AB8 2C 03 00 02 */ cmpwi r3, 2
/* 80378B5C 00375ABC 41 82 00 1C */ beq lbl_80378B78
/* 80378B60 00375AC0 40 80 00 1C */ bge lbl_80378B7C
/* 80378B64 00375AC4 2C 03 00 01 */ cmpwi r3, 1
/* 80378B68 00375AC8 40 80 00 08 */ bge lbl_80378B70
/* 80378B6C 00375ACC 48 00 00 10 */ b lbl_80378B7C
lbl_80378B70:
/* 80378B70 00375AD0 38 60 00 02 */ li r3, 2
/* 80378B74 00375AD4 48 00 00 08 */ b lbl_80378B7C
lbl_80378B78:
/* 80378B78 00375AD8 38 60 00 01 */ li r3, 1
lbl_80378B7C:
/* 80378B7C 00375ADC 80 82 CE 08 */ lwz r4, __GXData@sda21(r2)
/* 80378B80 00375AE0 54 60 70 22 */ slwi r0, r3, 0xe
/* 80378B84 00375AE4 80 64 02 04 */ lwz r3, 0x204(r4)
/* 80378B88 00375AE8 54 63 04 9E */ rlwinm r3, r3, 0, 0x12, 0xf
/* 80378B8C 00375AEC 7C 60 03 78 */ or r0, r3, r0
/* 80378B90 00375AF0 90 04 02 04 */ stw r0, 0x204(r4)
/* 80378B94 00375AF4 80 04 04 F4 */ lwz r0, 0x4f4(r4)
/* 80378B98 00375AF8 60 00 00 04 */ ori r0, r0, 4
/* 80378B9C 00375AFC 90 04 04 F4 */ stw r0, 0x4f4(r4)
/* 80378BA0 00375B00 4E 80 00 20 */ blr
.global GXSetCoPlanar
GXSetCoPlanar:
/* 80378BA4 00375B04 80 C2 CE 08 */ lwz r6, __GXData@sda21(r2)
/* 80378BA8 00375B08 54 60 99 58 */ rlwinm r0, r3, 0x13, 5, 0xc
/* 80378BAC 00375B0C 38 80 00 61 */ li r4, 0x61
/* 80378BB0 00375B10 80 A6 02 04 */ lwz r5, 0x204(r6)
/* 80378BB4 00375B14 3C 60 CC 01 */ lis r3, 0xCC008000@ha
/* 80378BB8 00375B18 54 A5 03 56 */ rlwinm r5, r5, 0, 0xd, 0xb
/* 80378BBC 00375B1C 7C A0 03 78 */ or r0, r5, r0
/* 80378BC0 00375B20 90 06 02 04 */ stw r0, 0x204(r6)
/* 80378BC4 00375B24 3C 00 FE 08 */ lis r0, 0xfe08
/* 80378BC8 00375B28 98 83 80 00 */ stb r4, 0xCC008000@l(r3)
/* 80378BCC 00375B2C 90 03 80 00 */ stw r0, 0xCC008000@l(r3)
/* 80378BD0 00375B30 98 83 80 00 */ stb r4, 0xCC008000@l(r3)
/* 80378BD4 00375B34 80 06 02 04 */ lwz r0, 0x204(r6)
/* 80378BD8 00375B38 90 03 80 00 */ stw r0, 0xCC008000@l(r3)
/* 80378BDC 00375B3C 4E 80 00 20 */ blr
.global __GXSetGenMode
__GXSetGenMode:
/* 80378BE0 00375B40 38 00 00 61 */ li r0, 0x61
/* 80378BE4 00375B44 80 82 CE 08 */ lwz r4, __GXData@sda21(r2)
/* 80378BE8 00375B48 3C A0 CC 01 */ lis r5, 0xCC008000@ha
/* 80378BEC 00375B4C 98 05 80 00 */ stb r0, 0xCC008000@l(r5)
/* 80378BF0 00375B50 38 00 00 00 */ li r0, 0
/* 80378BF4 00375B54 80 64 02 04 */ lwz r3, 0x204(r4)
/* 80378BF8 00375B58 90 65 80 00 */ stw r3, 0xCC008000@l(r5)
/* 80378BFC 00375B5C B0 04 00 02 */ sth r0, 2(r4)
/* 80378C00 00375B60 4E 80 00 20 */ blr

File diff suppressed because it is too large Load Diff

View File

@ -1,478 +0,0 @@
.include "macros.inc"
.section .sdata2
.balign 8
.global lbl_805AEB58
lbl_805AEB58:
# ROM: 0x3FB3F8
.4byte 0
.global lbl_805AEB5C
lbl_805AEB5C:
# ROM: 0x3FB3FC
.float 90.0
.global lbl_805AEB60
lbl_805AEB60:
# ROM: 0x3FB400
.4byte 0x40490FDB
.global lbl_805AEB64
lbl_805AEB64:
# ROM: 0x3FB404
.4byte 0x43340000
.global lbl_805AEB68
lbl_805AEB68:
# ROM: 0x3FB408
.4byte 0xC47A0000
.global lbl_805AEB6C
lbl_805AEB6C:
# ROM: 0x3FB40C
.4byte 0x447A0000
.global lbl_805AEB70
lbl_805AEB70:
# ROM: 0x3FB410
.float 1.0
.global lbl_805AEB74
lbl_805AEB74:
# ROM: 0x3FB414
.float 2.0
.global lbl_805AEB78
lbl_805AEB78:
# ROM: 0x3FB418
.4byte 0xC0800000
.global lbl_805AEB7C
lbl_805AEB7C:
# ROM: 0x3FB41C
.float 4.0
.global lbl_805AEB80
lbl_805AEB80:
# ROM: 0x3FB420
.4byte 0xC0000000
.4byte 0
.section .data
.balign 8
.global lbl_803F09D0
lbl_803F09D0:
# ROM: 0x3ED9D0
.4byte lbl_80379864
.4byte lbl_80379774
.4byte lbl_80379788
.4byte lbl_803797A8
.4byte lbl_803797C8
.4byte lbl_803797F4
.4byte lbl_80379828
.4byte 0
.section .text, "ax"
.global GXInitLightAttn
GXInitLightAttn:
/* 803796E8 00376648 D0 23 00 10 */ stfs f1, 0x10(r3)
/* 803796EC 0037664C D0 43 00 14 */ stfs f2, 0x14(r3)
/* 803796F0 00376650 D0 63 00 18 */ stfs f3, 0x18(r3)
/* 803796F4 00376654 D0 83 00 1C */ stfs f4, 0x1c(r3)
/* 803796F8 00376658 D0 A3 00 20 */ stfs f5, 0x20(r3)
/* 803796FC 0037665C D0 C3 00 24 */ stfs f6, 0x24(r3)
/* 80379700 00376660 4E 80 00 20 */ blr
.global GXInitLightSpot
GXInitLightSpot:
/* 80379704 00376664 7C 08 02 A6 */ mflr r0
/* 80379708 00376668 90 01 00 04 */ stw r0, 4(r1)
/* 8037970C 0037666C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80379710 00376670 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80379714 00376674 3B E4 00 00 */ addi r31, r4, 0
/* 80379718 00376678 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8037971C 0037667C 3B C3 00 00 */ addi r30, r3, 0
/* 80379720 00376680 C0 02 CE 38 */ lfs f0, lbl_805AEB58@sda21(r2)
/* 80379724 00376684 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80379728 00376688 4C 40 13 82 */ cror 2, 0, 2
/* 8037972C 0037668C 41 82 00 10 */ beq lbl_8037973C
/* 80379730 00376690 C0 02 CE 3C */ lfs f0, lbl_805AEB5C@sda21(r2)
/* 80379734 00376694 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80379738 00376698 40 81 00 08 */ ble lbl_80379740
lbl_8037973C:
/* 8037973C 0037669C 3B E0 00 00 */ li r31, 0
lbl_80379740:
/* 80379740 003766A0 C0 42 CE 40 */ lfs f2, lbl_805AEB60@sda21(r2)
/* 80379744 003766A4 C0 02 CE 44 */ lfs f0, lbl_805AEB64@sda21(r2)
/* 80379748 003766A8 EC 22 00 72 */ fmuls f1, f2, f1
/* 8037974C 003766AC EC 21 00 24 */ fdivs f1, f1, f0
/* 80379750 003766B0 48 01 B5 BD */ bl cosf
/* 80379754 003766B4 28 1F 00 06 */ cmplwi r31, 6
/* 80379758 003766B8 41 81 01 0C */ bgt lbl_80379864
/* 8037975C 003766BC 3C 60 80 3F */ lis r3, lbl_803F09D0@ha
/* 80379760 003766C0 38 63 09 D0 */ addi r3, r3, lbl_803F09D0@l
/* 80379764 003766C4 57 E0 10 3A */ slwi r0, r31, 2
/* 80379768 003766C8 7C 03 00 2E */ lwzx r0, r3, r0
/* 8037976C 003766CC 7C 09 03 A6 */ mtctr r0
/* 80379770 003766D0 4E 80 04 20 */ bctr
lbl_80379774:
/* 80379774 003766D4 C0 02 CE 48 */ lfs f0, lbl_805AEB68@sda21(r2)
/* 80379778 003766D8 C0 82 CE 4C */ lfs f4, lbl_805AEB6C@sda21(r2)
/* 8037977C 003766DC EC 60 00 72 */ fmuls f3, f0, f1
/* 80379780 003766E0 C0 C2 CE 38 */ lfs f6, lbl_805AEB58@sda21(r2)
/* 80379784 003766E4 48 00 00 EC */ b lbl_80379870
lbl_80379788:
/* 80379788 003766E8 C0 42 CE 50 */ lfs f2, lbl_805AEB70@sda21(r2)
/* 8037978C 003766EC FC 00 08 50 */ fneg f0, f1
/* 80379790 003766F0 C0 C2 CE 38 */ lfs f6, lbl_805AEB58@sda21(r2)
/* 80379794 003766F4 EC 22 08 28 */ fsubs f1, f2, f1
/* 80379798 003766F8 EC 22 08 24 */ fdivs f1, f2, f1
/* 8037979C 003766FC FC 80 08 90 */ fmr f4, f1
/* 803797A0 00376700 EC 60 00 72 */ fmuls f3, f0, f1
/* 803797A4 00376704 48 00 00 CC */ b lbl_80379870
lbl_803797A8:
/* 803797A8 00376708 C0 42 CE 50 */ lfs f2, lbl_805AEB70@sda21(r2)
/* 803797AC 0037670C FC 00 08 50 */ fneg f0, f1
/* 803797B0 00376710 C0 62 CE 38 */ lfs f3, lbl_805AEB58@sda21(r2)
/* 803797B4 00376714 EC 22 08 28 */ fsubs f1, f2, f1
/* 803797B8 00376718 EC 22 08 24 */ fdivs f1, f2, f1
/* 803797BC 0037671C FC C0 08 90 */ fmr f6, f1
/* 803797C0 00376720 EC 80 00 72 */ fmuls f4, f0, f1
/* 803797C4 00376724 48 00 00 AC */ b lbl_80379870
lbl_803797C8:
/* 803797C8 00376728 C0 82 CE 50 */ lfs f4, lbl_805AEB70@sda21(r2)
/* 803797CC 0037672C C0 42 CE 54 */ lfs f2, lbl_805AEB74@sda21(r2)
/* 803797D0 00376730 EC 64 08 28 */ fsubs f3, f4, f1
/* 803797D4 00376734 EC 01 10 28 */ fsubs f0, f1, f2
/* 803797D8 00376738 EC 63 00 F2 */ fmuls f3, f3, f3
/* 803797DC 0037673C EC 01 00 32 */ fmuls f0, f1, f0
/* 803797E0 00376740 EC 24 18 24 */ fdivs f1, f4, f3
/* 803797E4 00376744 EC 61 00 32 */ fmuls f3, f1, f0
/* 803797E8 00376748 EC 82 00 72 */ fmuls f4, f2, f1
/* 803797EC 0037674C FC C0 08 50 */ fneg f6, f1
/* 803797F0 00376750 48 00 00 80 */ b lbl_80379870
lbl_803797F4:
/* 803797F4 00376754 C0 A2 CE 50 */ lfs f5, lbl_805AEB70@sda21(r2)
/* 803797F8 00376758 C0 62 CE 58 */ lfs f3, lbl_805AEB78@sda21(r2)
/* 803797FC 0037675C EC 85 08 28 */ fsubs f4, f5, f1
/* 80379800 00376760 C0 42 CE 5C */ lfs f2, lbl_805AEB7C@sda21(r2)
/* 80379804 00376764 EC 05 08 2A */ fadds f0, f5, f1
/* 80379808 00376768 EC 84 01 32 */ fmuls f4, f4, f4
/* 8037980C 0037676C EC 02 00 32 */ fmuls f0, f2, f0
/* 80379810 00376770 EC 85 20 24 */ fdivs f4, f5, f4
/* 80379814 00376774 EC 43 01 32 */ fmuls f2, f3, f4
/* 80379818 00376778 EC 80 01 32 */ fmuls f4, f0, f4
/* 8037981C 0037677C FC C0 10 90 */ fmr f6, f2
/* 80379820 00376780 EC 62 00 72 */ fmuls f3, f2, f1
/* 80379824 00376784 48 00 00 4C */ b lbl_80379870
lbl_80379828:
/* 80379828 00376788 C0 A2 CE 50 */ lfs f5, lbl_805AEB70@sda21(r2)
/* 8037982C 0037678C C0 02 CE 54 */ lfs f0, lbl_805AEB74@sda21(r2)
/* 80379830 00376790 EC 85 08 28 */ fsubs f4, f5, f1
/* 80379834 00376794 C0 42 CE 5C */ lfs f2, lbl_805AEB7C@sda21(r2)
/* 80379838 00376798 EC 60 00 72 */ fmuls f3, f0, f1
/* 8037983C 0037679C C0 02 CE 60 */ lfs f0, lbl_805AEB80@sda21(r2)
/* 80379840 003767A0 EC 42 00 72 */ fmuls f2, f2, f1
/* 80379844 003767A4 EC 84 01 32 */ fmuls f4, f4, f4
/* 80379848 003767A8 EC 23 00 72 */ fmuls f1, f3, f1
/* 8037984C 003767AC EC 65 20 24 */ fdivs f3, f5, f4
/* 80379850 003767B0 EC 23 00 72 */ fmuls f1, f3, f1
/* 80379854 003767B4 EC 82 00 F2 */ fmuls f4, f2, f3
/* 80379858 003767B8 EC C0 00 F2 */ fmuls f6, f0, f3
/* 8037985C 003767BC EC 65 08 28 */ fsubs f3, f5, f1
/* 80379860 003767C0 48 00 00 10 */ b lbl_80379870
lbl_80379864:
/* 80379864 003767C4 C0 82 CE 38 */ lfs f4, lbl_805AEB58@sda21(r2)
/* 80379868 003767C8 C0 62 CE 50 */ lfs f3, lbl_805AEB70@sda21(r2)
/* 8037986C 003767CC FC C0 20 90 */ fmr f6, f4
lbl_80379870:
/* 80379870 003767D0 D0 7E 00 10 */ stfs f3, 0x10(r30)
/* 80379874 003767D4 D0 9E 00 14 */ stfs f4, 0x14(r30)
/* 80379878 003767D8 D0 DE 00 18 */ stfs f6, 0x18(r30)
/* 8037987C 003767DC 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80379880 003767E0 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80379884 003767E4 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80379888 003767E8 38 21 00 20 */ addi r1, r1, 0x20
/* 8037988C 003767EC 7C 08 03 A6 */ mtlr r0
/* 80379890 003767F0 4E 80 00 20 */ blr
.global GXInitLightPos
GXInitLightPos:
/* 80379894 003767F4 D0 23 00 28 */ stfs f1, 0x28(r3)
/* 80379898 003767F8 D0 43 00 2C */ stfs f2, 0x2c(r3)
/* 8037989C 003767FC D0 63 00 30 */ stfs f3, 0x30(r3)
/* 803798A0 00376800 4E 80 00 20 */ blr
.global GXInitLightDir
GXInitLightDir:
/* 803798A4 00376804 FC 80 08 50 */ fneg f4, f1
/* 803798A8 00376808 FC 20 10 50 */ fneg f1, f2
/* 803798AC 0037680C FC 00 18 50 */ fneg f0, f3
/* 803798B0 00376810 D0 83 00 34 */ stfs f4, 0x34(r3)
/* 803798B4 00376814 D0 23 00 38 */ stfs f1, 0x38(r3)
/* 803798B8 00376818 D0 03 00 3C */ stfs f0, 0x3c(r3)
/* 803798BC 0037681C 4E 80 00 20 */ blr
.global GXInitLightColor
GXInitLightColor:
/* 803798C0 00376820 80 04 00 00 */ lwz r0, 0(r4)
/* 803798C4 00376824 90 03 00 0C */ stw r0, 0xc(r3)
/* 803798C8 00376828 4E 80 00 20 */ blr
.global GXLoadLightObjImm
GXLoadLightObjImm:
/* 803798CC 0037682C 7C 80 00 34 */ cntlzw r0, r4
/* 803798D0 00376830 20 00 00 1F */ subfic r0, r0, 0x1f
/* 803798D4 00376834 54 05 26 76 */ rlwinm r5, r0, 4, 0x19, 0x1b
/* 803798D8 00376838 3C 80 CC 01 */ lis r4, 0xCC008000@ha
/* 803798DC 0037683C 38 00 00 10 */ li r0, 0x10
/* 803798E0 00376840 38 A5 06 00 */ addi r5, r5, 0x600
/* 803798E4 00376844 98 04 80 00 */ stb r0, 0xCC008000@l(r4)
/* 803798E8 00376848 64 A0 00 0F */ oris r0, r5, 0xf
/* 803798EC 0037684C 94 04 80 00 */ stwu r0, 0xCC008000@l(r4)
/* 803798F0 00376850 80 03 00 0C */ lwz r0, 0xc(r3)
/* 803798F4 00376854 7C C6 32 78 */ xor r6, r6, r6
/* 803798F8 00376858 E0 A3 00 10 */ psq_l f5, 16(r3), 0, qr0
/* 803798FC 0037685C E0 83 00 18 */ psq_l f4, 24(r3), 0, qr0
/* 80379900 00376860 E0 63 00 20 */ psq_l f3, 32(r3), 0, qr0
/* 80379904 00376864 E0 43 00 28 */ psq_l f2, 40(r3), 0, qr0
/* 80379908 00376868 E0 23 00 30 */ psq_l f1, 48(r3), 0, qr0
/* 8037990C 0037686C E0 03 00 38 */ psq_l f0, 56(r3), 0, qr0
/* 80379910 00376870 90 C4 00 00 */ stw r6, 0(r4)
/* 80379914 00376874 90 C4 00 00 */ stw r6, 0(r4)
/* 80379918 00376878 90 C4 00 00 */ stw r6, 0(r4)
/* 8037991C 0037687C 90 04 00 00 */ stw r0, 0(r4)
/* 80379920 00376880 F0 A4 00 00 */ psq_st f5, 0(r4), 0, qr0
/* 80379924 00376884 F0 84 00 00 */ psq_st f4, 0(r4), 0, qr0
/* 80379928 00376888 F0 64 00 00 */ psq_st f3, 0(r4), 0, qr0
/* 8037992C 0037688C F0 44 00 00 */ psq_st f2, 0(r4), 0, qr0
/* 80379930 00376890 F0 24 00 00 */ psq_st f1, 0(r4), 0, qr0
/* 80379934 00376894 F0 04 00 00 */ psq_st f0, 0(r4), 0, qr0
/* 80379938 00376898 80 62 CE 08 */ lwz r3, __GXData@sda21(r2)
/* 8037993C 0037689C 38 00 00 01 */ li r0, 1
/* 80379940 003768A0 B0 03 00 02 */ sth r0, 2(r3)
/* 80379944 003768A4 4E 80 00 20 */ blr
.global GXSetChanAmbColor
GXSetChanAmbColor:
/* 80379948 003768A8 2C 03 00 03 */ cmpwi r3, 3
/* 8037994C 003768AC 41 82 00 88 */ beq lbl_803799D4
/* 80379950 003768B0 40 80 00 1C */ bge lbl_8037996C
/* 80379954 003768B4 2C 03 00 01 */ cmpwi r3, 1
/* 80379958 003768B8 41 82 00 44 */ beq lbl_8037999C
/* 8037995C 003768BC 40 80 00 60 */ bge lbl_803799BC
/* 80379960 003768C0 2C 03 00 00 */ cmpwi r3, 0
/* 80379964 003768C4 40 80 00 18 */ bge lbl_8037997C
/* 80379968 003768C8 4E 80 00 20 */ blr
lbl_8037996C:
/* 8037996C 003768CC 2C 03 00 05 */ cmpwi r3, 5
/* 80379970 003768D0 41 82 00 88 */ beq lbl_803799F8
/* 80379974 003768D4 4C 80 00 20 */ bgelr
/* 80379978 003768D8 48 00 00 74 */ b lbl_803799EC
lbl_8037997C:
/* 8037997C 003768DC 80 62 CE 08 */ lwz r3, __GXData@sda21(r2)
/* 80379980 003768E0 38 A0 00 00 */ li r5, 0
/* 80379984 003768E4 80 04 00 00 */ lwz r0, 0(r4)
/* 80379988 003768E8 80 63 00 A8 */ lwz r3, 0xa8(r3)
/* 8037998C 003768EC 54 00 00 2E */ rlwinm r0, r0, 0, 0, 0x17
/* 80379990 003768F0 7C 07 03 78 */ mr r7, r0
/* 80379994 003768F4 50 67 06 3E */ rlwimi r7, r3, 0, 0x18, 0x1f
/* 80379998 003768F8 48 00 00 70 */ b lbl_80379A08
lbl_8037999C:
/* 8037999C 003768FC 80 62 CE 08 */ lwz r3, __GXData@sda21(r2)
/* 803799A0 00376900 38 A0 00 01 */ li r5, 1
/* 803799A4 00376904 80 04 00 00 */ lwz r0, 0(r4)
/* 803799A8 00376908 80 63 00 AC */ lwz r3, 0xac(r3)
/* 803799AC 0037690C 54 00 00 2E */ rlwinm r0, r0, 0, 0, 0x17
/* 803799B0 00376910 7C 07 03 78 */ mr r7, r0
/* 803799B4 00376914 50 67 06 3E */ rlwimi r7, r3, 0, 0x18, 0x1f
/* 803799B8 00376918 48 00 00 50 */ b lbl_80379A08
lbl_803799BC:
/* 803799BC 0037691C 80 62 CE 08 */ lwz r3, __GXData@sda21(r2)
/* 803799C0 00376920 38 A0 00 00 */ li r5, 0
/* 803799C4 00376924 88 E4 00 03 */ lbz r7, 3(r4)
/* 803799C8 00376928 80 63 00 A8 */ lwz r3, 0xa8(r3)
/* 803799CC 0037692C 50 67 00 2E */ rlwimi r7, r3, 0, 0, 0x17
/* 803799D0 00376930 48 00 00 38 */ b lbl_80379A08
lbl_803799D4:
/* 803799D4 00376934 80 62 CE 08 */ lwz r3, __GXData@sda21(r2)
/* 803799D8 00376938 38 A0 00 01 */ li r5, 1
/* 803799DC 0037693C 88 E4 00 03 */ lbz r7, 3(r4)
/* 803799E0 00376940 80 63 00 AC */ lwz r3, 0xac(r3)
/* 803799E4 00376944 50 67 00 2E */ rlwimi r7, r3, 0, 0, 0x17
/* 803799E8 00376948 48 00 00 20 */ b lbl_80379A08
lbl_803799EC:
/* 803799EC 0037694C 80 E4 00 00 */ lwz r7, 0(r4)
/* 803799F0 00376950 38 A0 00 00 */ li r5, 0
/* 803799F4 00376954 48 00 00 14 */ b lbl_80379A08
lbl_803799F8:
/* 803799F8 00376958 80 E4 00 00 */ lwz r7, 0(r4)
/* 803799FC 0037695C 38 A0 00 01 */ li r5, 1
/* 80379A00 00376960 48 00 00 08 */ b lbl_80379A08
/* 80379A04 00376964 4E 80 00 20 */ blr
lbl_80379A08:
/* 80379A08 00376968 38 00 00 10 */ li r0, 0x10
/* 80379A0C 0037696C 80 82 CE 08 */ lwz r4, __GXData@sda21(r2)
/* 80379A10 00376970 3C C0 CC 01 */ lis r6, 0xCC008000@ha
/* 80379A14 00376974 98 06 80 00 */ stb r0, 0xCC008000@l(r6)
/* 80379A18 00376978 38 65 10 0A */ addi r3, r5, 0x100a
/* 80379A1C 0037697C 54 A0 10 3A */ slwi r0, r5, 2
/* 80379A20 00376980 90 66 80 00 */ stw r3, 0xCC008000@l(r6)
/* 80379A24 00376984 38 A0 00 01 */ li r5, 1
/* 80379A28 00376988 7C 64 02 14 */ add r3, r4, r0
/* 80379A2C 0037698C 90 E6 80 00 */ stw r7, 0xCC008000@l(r6)
/* 80379A30 00376990 B0 A4 00 02 */ sth r5, 2(r4)
/* 80379A34 00376994 90 E3 00 A8 */ stw r7, 0xa8(r3)
/* 80379A38 00376998 4E 80 00 20 */ blr
.global GXSetChanMatColor
GXSetChanMatColor:
/* 80379A3C 0037699C 2C 03 00 03 */ cmpwi r3, 3
/* 80379A40 003769A0 41 82 00 88 */ beq lbl_80379AC8
/* 80379A44 003769A4 40 80 00 1C */ bge lbl_80379A60
/* 80379A48 003769A8 2C 03 00 01 */ cmpwi r3, 1
/* 80379A4C 003769AC 41 82 00 44 */ beq lbl_80379A90
/* 80379A50 003769B0 40 80 00 60 */ bge lbl_80379AB0
/* 80379A54 003769B4 2C 03 00 00 */ cmpwi r3, 0
/* 80379A58 003769B8 40 80 00 18 */ bge lbl_80379A70
/* 80379A5C 003769BC 4E 80 00 20 */ blr
lbl_80379A60:
/* 80379A60 003769C0 2C 03 00 05 */ cmpwi r3, 5
/* 80379A64 003769C4 41 82 00 88 */ beq lbl_80379AEC
/* 80379A68 003769C8 4C 80 00 20 */ bgelr
/* 80379A6C 003769CC 48 00 00 74 */ b lbl_80379AE0
lbl_80379A70:
/* 80379A70 003769D0 80 62 CE 08 */ lwz r3, __GXData@sda21(r2)
/* 80379A74 003769D4 38 A0 00 00 */ li r5, 0
/* 80379A78 003769D8 80 04 00 00 */ lwz r0, 0(r4)
/* 80379A7C 003769DC 80 63 00 B0 */ lwz r3, 0xb0(r3)
/* 80379A80 003769E0 54 00 00 2E */ rlwinm r0, r0, 0, 0, 0x17
/* 80379A84 003769E4 7C 07 03 78 */ mr r7, r0
/* 80379A88 003769E8 50 67 06 3E */ rlwimi r7, r3, 0, 0x18, 0x1f
/* 80379A8C 003769EC 48 00 00 70 */ b lbl_80379AFC
lbl_80379A90:
/* 80379A90 003769F0 80 62 CE 08 */ lwz r3, __GXData@sda21(r2)
/* 80379A94 003769F4 38 A0 00 01 */ li r5, 1
/* 80379A98 003769F8 80 04 00 00 */ lwz r0, 0(r4)
/* 80379A9C 003769FC 80 63 00 B4 */ lwz r3, 0xb4(r3)
/* 80379AA0 00376A00 54 00 00 2E */ rlwinm r0, r0, 0, 0, 0x17
/* 80379AA4 00376A04 7C 07 03 78 */ mr r7, r0
/* 80379AA8 00376A08 50 67 06 3E */ rlwimi r7, r3, 0, 0x18, 0x1f
/* 80379AAC 00376A0C 48 00 00 50 */ b lbl_80379AFC
lbl_80379AB0:
/* 80379AB0 00376A10 80 62 CE 08 */ lwz r3, __GXData@sda21(r2)
/* 80379AB4 00376A14 38 A0 00 00 */ li r5, 0
/* 80379AB8 00376A18 88 E4 00 03 */ lbz r7, 3(r4)
/* 80379ABC 00376A1C 80 63 00 B0 */ lwz r3, 0xb0(r3)
/* 80379AC0 00376A20 50 67 00 2E */ rlwimi r7, r3, 0, 0, 0x17
/* 80379AC4 00376A24 48 00 00 38 */ b lbl_80379AFC
lbl_80379AC8:
/* 80379AC8 00376A28 80 62 CE 08 */ lwz r3, __GXData@sda21(r2)
/* 80379ACC 00376A2C 38 A0 00 01 */ li r5, 1
/* 80379AD0 00376A30 88 E4 00 03 */ lbz r7, 3(r4)
/* 80379AD4 00376A34 80 63 00 B4 */ lwz r3, 0xb4(r3)
/* 80379AD8 00376A38 50 67 00 2E */ rlwimi r7, r3, 0, 0, 0x17
/* 80379ADC 00376A3C 48 00 00 20 */ b lbl_80379AFC
lbl_80379AE0:
/* 80379AE0 00376A40 80 E4 00 00 */ lwz r7, 0(r4)
/* 80379AE4 00376A44 38 A0 00 00 */ li r5, 0
/* 80379AE8 00376A48 48 00 00 14 */ b lbl_80379AFC
lbl_80379AEC:
/* 80379AEC 00376A4C 80 E4 00 00 */ lwz r7, 0(r4)
/* 80379AF0 00376A50 38 A0 00 01 */ li r5, 1
/* 80379AF4 00376A54 48 00 00 08 */ b lbl_80379AFC
/* 80379AF8 00376A58 4E 80 00 20 */ blr
lbl_80379AFC:
/* 80379AFC 00376A5C 38 00 00 10 */ li r0, 0x10
/* 80379B00 00376A60 80 82 CE 08 */ lwz r4, __GXData@sda21(r2)
/* 80379B04 00376A64 3C C0 CC 01 */ lis r6, 0xCC008000@ha
/* 80379B08 00376A68 98 06 80 00 */ stb r0, 0xCC008000@l(r6)
/* 80379B0C 00376A6C 38 65 10 0C */ addi r3, r5, 0x100c
/* 80379B10 00376A70 54 A0 10 3A */ slwi r0, r5, 2
/* 80379B14 00376A74 90 66 80 00 */ stw r3, 0xCC008000@l(r6)
/* 80379B18 00376A78 38 A0 00 01 */ li r5, 1
/* 80379B1C 00376A7C 7C 64 02 14 */ add r3, r4, r0
/* 80379B20 00376A80 90 E6 80 00 */ stw r7, 0xCC008000@l(r6)
/* 80379B24 00376A84 B0 A4 00 02 */ sth r5, 2(r4)
/* 80379B28 00376A88 90 E3 00 B0 */ stw r7, 0xb0(r3)
/* 80379B2C 00376A8C 4E 80 00 20 */ blr
.global GXSetNumChans
GXSetNumChans:
/* 80379B30 00376A90 80 C2 CE 08 */ lwz r6, __GXData@sda21(r2)
/* 80379B34 00376A94 54 60 25 36 */ rlwinm r0, r3, 4, 0x14, 0x1b
/* 80379B38 00376A98 54 68 06 3E */ clrlwi r8, r3, 0x18
/* 80379B3C 00376A9C 80 A6 02 04 */ lwz r5, 0x204(r6)
/* 80379B40 00376AA0 38 80 00 10 */ li r4, 0x10
/* 80379B44 00376AA4 3C 60 CC 01 */ lis r3, 0xCC008000@ha
/* 80379B48 00376AA8 54 A5 07 30 */ rlwinm r5, r5, 0, 0x1c, 0x18
/* 80379B4C 00376AAC 7C A0 03 78 */ or r0, r5, r0
/* 80379B50 00376AB0 90 06 02 04 */ stw r0, 0x204(r6)
/* 80379B54 00376AB4 38 00 10 09 */ li r0, 0x1009
/* 80379B58 00376AB8 98 83 80 00 */ stb r4, 0xCC008000@l(r3)
/* 80379B5C 00376ABC 90 03 80 00 */ stw r0, 0xCC008000@l(r3)
/* 80379B60 00376AC0 91 03 80 00 */ stw r8, 0xCC008000@l(r3)
/* 80379B64 00376AC4 80 06 04 F4 */ lwz r0, 0x4f4(r6)
/* 80379B68 00376AC8 60 00 00 04 */ ori r0, r0, 4
/* 80379B6C 00376ACC 90 06 04 F4 */ stw r0, 0x4f4(r6)
/* 80379B70 00376AD0 4E 80 00 20 */ blr
.global GXSetChanCtrl
GXSetChanCtrl:
/* 80379B74 00376AD4 54 80 0D FC */ rlwinm r0, r4, 1, 0x17, 0x1e
/* 80379B78 00376AD8 7C 00 33 78 */ or r0, r0, r6
/* 80379B7C 00376ADC 54 04 06 B0 */ rlwinm r4, r0, 0, 0x1a, 0x18
/* 80379B80 00376AE0 54 A0 30 32 */ slwi r0, r5, 6
/* 80379B84 00376AE4 2C 09 00 00 */ cmpwi r9, 0
/* 80379B88 00376AE8 54 6A 07 BE */ clrlwi r10, r3, 0x1e
/* 80379B8C 00376AEC 7C 86 03 78 */ or r6, r4, r0
/* 80379B90 00376AF0 40 82 00 08 */ bne lbl_80379B98
/* 80379B94 00376AF4 39 00 00 00 */ li r8, 0
lbl_80379B98:
/* 80379B98 00376AF8 20 89 00 02 */ subfic r4, r9, 2
/* 80379B9C 00376AFC 30 04 FF FF */ addic r0, r4, -1
/* 80379BA0 00376B00 7C A0 21 10 */ subfe r5, r0, r4
/* 80379BA4 00376B04 7C 89 00 D0 */ neg r4, r9
/* 80379BA8 00376B08 30 04 FF FF */ addic r0, r4, -1
/* 80379BAC 00376B0C 7C 00 21 10 */ subfe r0, r0, r4
/* 80379BB0 00376B10 54 C6 06 6C */ rlwinm r6, r6, 0, 0x19, 0x16
/* 80379BB4 00376B14 55 04 38 30 */ slwi r4, r8, 7
/* 80379BB8 00376B18 7C C4 23 78 */ or r4, r6, r4
/* 80379BBC 00376B1C 54 86 05 EA */ rlwinm r6, r4, 0, 0x17, 0x15
/* 80379BC0 00376B20 54 A4 48 2C */ slwi r4, r5, 9
/* 80379BC4 00376B24 7C C4 23 78 */ or r4, r6, r4
/* 80379BC8 00376B28 54 84 05 A8 */ rlwinm r4, r4, 0, 0x16, 0x14
/* 80379BCC 00376B2C 54 00 50 2A */ slwi r0, r0, 0xa
/* 80379BD0 00376B30 7C 86 03 78 */ or r6, r4, r0
/* 80379BD4 00376B34 54 C6 07 B2 */ rlwinm r6, r6, 0, 0x1e, 0x19
/* 80379BD8 00376B38 50 E6 16 BA */ rlwimi r6, r7, 2, 0x1a, 0x1d
/* 80379BDC 00376B3C 54 C6 05 60 */ rlwinm r6, r6, 0, 0x15, 0x10
/* 80379BE0 00376B40 38 A0 00 10 */ li r5, 0x10
/* 80379BE4 00376B44 3C 80 CC 01 */ lis r4, 0xCC008000@ha
/* 80379BE8 00376B48 98 A4 80 00 */ stb r5, 0xCC008000@l(r4)
/* 80379BEC 00376B4C 38 0A 10 0E */ addi r0, r10, 0x100e
/* 80379BF0 00376B50 50 E6 3C 68 */ rlwimi r6, r7, 7, 0x11, 0x14
/* 80379BF4 00376B54 90 04 80 00 */ stw r0, 0xCC008000@l(r4)
/* 80379BF8 00376B58 2C 03 00 04 */ cmpwi r3, 4
/* 80379BFC 00376B5C 90 C4 80 00 */ stw r6, 0xCC008000@l(r4)
/* 80379C00 00376B60 40 82 00 18 */ bne lbl_80379C18
/* 80379C04 00376B64 98 A4 80 00 */ stb r5, 0xCC008000@l(r4)
/* 80379C08 00376B68 38 00 10 10 */ li r0, 0x1010
/* 80379C0C 00376B6C 90 04 80 00 */ stw r0, 0xCC008000@l(r4)
/* 80379C10 00376B70 90 C4 80 00 */ stw r6, 0xCC008000@l(r4)
/* 80379C14 00376B74 48 00 00 1C */ b lbl_80379C30
lbl_80379C18:
/* 80379C18 00376B78 2C 03 00 05 */ cmpwi r3, 5
/* 80379C1C 00376B7C 40 82 00 14 */ bne lbl_80379C30
/* 80379C20 00376B80 98 A4 80 00 */ stb r5, 0xCC008000@l(r4)
/* 80379C24 00376B84 38 00 10 11 */ li r0, 0x1011
/* 80379C28 00376B88 90 04 80 00 */ stw r0, 0xCC008000@l(r4)
/* 80379C2C 00376B8C 90 C4 80 00 */ stw r6, 0xCC008000@l(r4)
lbl_80379C30:
/* 80379C30 00376B90 80 62 CE 08 */ lwz r3, __GXData@sda21(r2)
/* 80379C34 00376B94 38 00 00 01 */ li r0, 1
/* 80379C38 00376B98 B0 03 00 02 */ sth r0, 2(r3)
/* 80379C3C 00376B9C 4E 80 00 20 */ blr

View File

@ -1,448 +0,0 @@
.include "macros.inc"
.section .sbss
.balign 8
.global lbl_805A9868
lbl_805A9868:
.skip 0x4
.global lbl_805A986C
lbl_805A986C:
.skip 0x4
.global lbl_805A9870
lbl_805A9870:
.skip 0x4
.global lbl_805A9874
lbl_805A9874:
.skip 0xC
.section .text, "ax"
.global GXSetMisc
GXSetMisc:
/* 803782A4 00375204 2C 03 00 01 */ cmpwi r3, 1
/* 803782A8 00375208 41 82 00 14 */ beq lbl_803782BC
/* 803782AC 0037520C 4D 80 00 20 */ bltlr
/* 803782B0 00375210 2C 03 00 03 */ cmpwi r3, 3
/* 803782B4 00375214 4C 80 00 20 */ bgelr
/* 803782B8 00375218 48 00 00 40 */ b lbl_803782F8
lbl_803782BC:
/* 803782BC 0037521C 80 A2 CE 08 */ lwz r5, __GXData@sda21(r2)
/* 803782C0 00375220 38 00 00 01 */ li r0, 1
/* 803782C4 00375224 B0 85 00 04 */ sth r4, 4(r5)
/* 803782C8 00375228 A0 65 00 04 */ lhz r3, 4(r5)
/* 803782CC 0037522C 7C 63 00 34 */ cntlzw r3, r3
/* 803782D0 00375230 54 63 DC 3E */ rlwinm r3, r3, 0x1b, 0x10, 0x1f
/* 803782D4 00375234 B0 65 00 00 */ sth r3, 0(r5)
/* 803782D8 00375238 B0 05 00 02 */ sth r0, 2(r5)
/* 803782DC 0037523C A0 05 00 04 */ lhz r0, 4(r5)
/* 803782E0 00375240 28 00 00 00 */ cmplwi r0, 0
/* 803782E4 00375244 4D 82 00 20 */ beqlr
/* 803782E8 00375248 80 05 04 F4 */ lwz r0, 0x4f4(r5)
/* 803782EC 0037524C 60 00 00 08 */ ori r0, r0, 8
/* 803782F0 00375250 90 05 04 F4 */ stw r0, 0x4f4(r5)
/* 803782F4 00375254 4E 80 00 20 */ blr
lbl_803782F8:
/* 803782F8 00375258 7C 84 00 D0 */ neg r4, r4
/* 803782FC 0037525C 80 62 CE 08 */ lwz r3, __GXData@sda21(r2)
/* 80378300 00375260 30 04 FF FF */ addic r0, r4, -1
/* 80378304 00375264 7C 00 21 10 */ subfe r0, r0, r4
/* 80378308 00375268 98 03 04 F1 */ stb r0, 0x4f1(r3)
/* 8037830C 0037526C 4E 80 00 20 */ blr
.global GXFlush
GXFlush:
/* 80378310 00375270 7C 08 02 A6 */ mflr r0
/* 80378314 00375274 90 01 00 04 */ stw r0, 4(r1)
/* 80378318 00375278 94 21 FF F8 */ stwu r1, -8(r1)
/* 8037831C 0037527C 80 62 CE 08 */ lwz r3, __GXData@sda21(r2)
/* 80378320 00375280 80 03 04 F4 */ lwz r0, 0x4f4(r3)
/* 80378324 00375284 28 00 00 00 */ cmplwi r0, 0
/* 80378328 00375288 41 82 00 08 */ beq lbl_80378330
/* 8037832C 0037528C 48 00 05 29 */ bl __GXSetDirtyState
lbl_80378330:
/* 80378330 00375290 38 00 00 00 */ li r0, 0
/* 80378334 00375294 3C 60 CC 01 */ lis r3, 0xCC008000@ha
/* 80378338 00375298 90 03 80 00 */ stw r0, 0xCC008000@l(r3)
/* 8037833C 0037529C 90 03 80 00 */ stw r0, 0xCC008000@l(r3)
/* 80378340 003752A0 90 03 80 00 */ stw r0, 0xCC008000@l(r3)
/* 80378344 003752A4 90 03 80 00 */ stw r0, 0xCC008000@l(r3)
/* 80378348 003752A8 90 03 80 00 */ stw r0, 0xCC008000@l(r3)
/* 8037834C 003752AC 90 03 80 00 */ stw r0, 0xCC008000@l(r3)
/* 80378350 003752B0 90 03 80 00 */ stw r0, 0xCC008000@l(r3)
/* 80378354 003752B4 90 03 80 00 */ stw r0, 0xCC008000@l(r3)
/* 80378358 003752B8 4B FF 74 B5 */ bl PPCSync
/* 8037835C 003752BC 80 01 00 0C */ lwz r0, 0xc(r1)
/* 80378360 003752C0 38 21 00 08 */ addi r1, r1, 8
/* 80378364 003752C4 7C 08 03 A6 */ mtlr r0
/* 80378368 003752C8 4E 80 00 20 */ blr
.global sub_8037836c
sub_8037836c:
/* 8037836C 003752CC 7C 08 02 A6 */ mflr r0
/* 80378370 003752D0 3C 60 CC 00 */ lis r3, 0xCC003000@ha
/* 80378374 003752D4 90 01 00 04 */ stw r0, 4(r1)
/* 80378378 003752D8 38 00 00 01 */ li r0, 1
/* 8037837C 003752DC 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80378380 003752E0 BF 61 00 0C */ stmw r27, 0xc(r1)
/* 80378384 003752E4 3B 63 30 00 */ addi r27, r3, 0xCC003000@l
/* 80378388 003752E8 94 1B 00 18 */ stwu r0, 0x18(r27)
/* 8037838C 003752EC 48 00 D0 1D */ bl OSGetTime
/* 80378390 003752F0 38 00 00 00 */ li r0, 0
/* 80378394 003752F4 3B E4 00 00 */ addi r31, r4, 0
/* 80378398 003752F8 3B C3 00 00 */ addi r30, r3, 0
/* 8037839C 003752FC 6C 1C 80 00 */ xoris r28, r0, 0x8000
/* 803783A0 00375300 3B A0 00 32 */ li r29, 0x32
lbl_803783A4:
/* 803783A4 00375304 48 00 D0 05 */ bl OSGetTime
/* 803783A8 00375308 7C 9F 20 10 */ subfc r4, r31, r4
/* 803783AC 0037530C 7C 1E 19 10 */ subfe r0, r30, r3
/* 803783B0 00375310 6C 03 80 00 */ xoris r3, r0, 0x8000
/* 803783B4 00375314 7C 04 E8 10 */ subfc r0, r4, r29
/* 803783B8 00375318 7C 63 E1 10 */ subfe r3, r3, r28
/* 803783BC 0037531C 7C 7C E1 10 */ subfe r3, r28, r28
/* 803783C0 00375320 7C 63 00 D1 */ neg. r3, r3
/* 803783C4 00375324 41 82 FF E0 */ beq lbl_803783A4
/* 803783C8 00375328 3B C0 00 00 */ li r30, 0
/* 803783CC 0037532C 93 DB 00 00 */ stw r30, 0(r27)
/* 803783D0 00375330 48 00 CF D9 */ bl OSGetTime
/* 803783D4 00375334 3B 84 00 00 */ addi r28, r4, 0
/* 803783D8 00375338 3B A3 00 00 */ addi r29, r3, 0
/* 803783DC 0037533C 6F DF 80 00 */ xoris r31, r30, 0x8000
/* 803783E0 00375340 3B C0 00 05 */ li r30, 5
lbl_803783E4:
/* 803783E4 00375344 48 00 CF C5 */ bl OSGetTime
/* 803783E8 00375348 7C 9C 20 10 */ subfc r4, r28, r4
/* 803783EC 0037534C 7C 1D 19 10 */ subfe r0, r29, r3
/* 803783F0 00375350 6C 03 80 00 */ xoris r3, r0, 0x8000
/* 803783F4 00375354 7C 04 F0 10 */ subfc r0, r4, r30
/* 803783F8 00375358 7C 63 F9 10 */ subfe r3, r3, r31
/* 803783FC 0037535C 7C 7F F9 10 */ subfe r3, r31, r31
/* 80378400 00375360 7C 63 00 D1 */ neg. r3, r3
/* 80378404 00375364 41 82 FF E0 */ beq lbl_803783E4
/* 80378408 00375368 4B FF E6 1D */ bl __GXCleanGPFifo
/* 8037840C 0037536C BB 61 00 0C */ lmw r27, 0xc(r1)
/* 80378410 00375370 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80378414 00375374 38 21 00 20 */ addi r1, r1, 0x20
/* 80378418 00375378 7C 08 03 A6 */ mtlr r0
/* 8037841C 0037537C 4E 80 00 20 */ blr
.global GXSetDrawSync
GXSetDrawSync:
/* 80378420 00375380 7C 08 02 A6 */ mflr r0
/* 80378424 00375384 90 01 00 04 */ stw r0, 4(r1)
/* 80378428 00375388 94 21 FF E8 */ stwu r1, -0x18(r1)
/* 8037842C 0037538C 93 E1 00 14 */ stw r31, 0x14(r1)
/* 80378430 00375390 93 C1 00 10 */ stw r30, 0x10(r1)
/* 80378434 00375394 7C 7E 1B 78 */ mr r30, r3
/* 80378438 00375398 48 00 92 29 */ bl OSDisableInterrupts
/* 8037843C 0037539C 38 C0 00 61 */ li r6, 0x61
/* 80378440 003753A0 80 82 CE 08 */ lwz r4, __GXData@sda21(r2)
/* 80378444 003753A4 3C A0 CC 01 */ lis r5, 0xCC008000@ha
/* 80378448 003753A8 57 C0 04 3E */ clrlwi r0, r30, 0x10
/* 8037844C 003753AC 98 C5 80 00 */ stb r6, 0xCC008000@l(r5)
/* 80378450 003753B0 64 00 48 00 */ oris r0, r0, 0x4800
/* 80378454 003753B4 90 05 80 00 */ stw r0, 0xCC008000@l(r5)
/* 80378458 003753B8 54 00 00 1E */ rlwinm r0, r0, 0, 0, 0xf
/* 8037845C 003753BC 53 C0 04 3E */ rlwimi r0, r30, 0, 0x10, 0x1f
/* 80378460 003753C0 54 00 02 3E */ clrlwi r0, r0, 8
/* 80378464 003753C4 98 C5 80 00 */ stb r6, 0xCC008000@l(r5)
/* 80378468 003753C8 64 00 47 00 */ oris r0, r0, 0x4700
/* 8037846C 003753CC 90 05 80 00 */ stw r0, 0xCC008000@l(r5)
/* 80378470 003753D0 7C 7E 1B 78 */ mr r30, r3
/* 80378474 003753D4 80 04 04 F4 */ lwz r0, 0x4f4(r4)
/* 80378478 003753D8 28 00 00 00 */ cmplwi r0, 0
/* 8037847C 003753DC 41 82 00 08 */ beq lbl_80378484
/* 80378480 003753E0 48 00 03 D5 */ bl __GXSetDirtyState
lbl_80378484:
/* 80378484 003753E4 3B E0 00 00 */ li r31, 0
/* 80378488 003753E8 3C 60 CC 01 */ lis r3, 0xCC008000@ha
/* 8037848C 003753EC 93 E3 80 00 */ stw r31, 0xCC008000@l(r3)
/* 80378490 003753F0 93 E3 80 00 */ stw r31, 0xCC008000@l(r3)
/* 80378494 003753F4 93 E3 80 00 */ stw r31, 0xCC008000@l(r3)
/* 80378498 003753F8 93 E3 80 00 */ stw r31, 0xCC008000@l(r3)
/* 8037849C 003753FC 93 E3 80 00 */ stw r31, 0xCC008000@l(r3)
/* 803784A0 00375400 93 E3 80 00 */ stw r31, 0xCC008000@l(r3)
/* 803784A4 00375404 93 E3 80 00 */ stw r31, 0xCC008000@l(r3)
/* 803784A8 00375408 93 E3 80 00 */ stw r31, 0xCC008000@l(r3)
/* 803784AC 0037540C 4B FF 73 61 */ bl PPCSync
/* 803784B0 00375410 7F C3 F3 78 */ mr r3, r30
/* 803784B4 00375414 48 00 91 D5 */ bl OSRestoreInterrupts
/* 803784B8 00375418 80 62 CE 08 */ lwz r3, __GXData@sda21(r2)
/* 803784BC 0037541C B3 E3 00 02 */ sth r31, 2(r3)
/* 803784C0 00375420 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 803784C4 00375424 83 E1 00 14 */ lwz r31, 0x14(r1)
/* 803784C8 00375428 83 C1 00 10 */ lwz r30, 0x10(r1)
/* 803784CC 0037542C 38 21 00 18 */ addi r1, r1, 0x18
/* 803784D0 00375430 7C 08 03 A6 */ mtlr r0
/* 803784D4 00375434 4E 80 00 20 */ blr
.global GXReadDrawSync
GXReadDrawSync:
/* 803784D8 00375438 80 6D AC 80 */ lwz r3, lbl_805A9840@sda21(r13)
/* 803784DC 0037543C A0 63 00 0E */ lhz r3, 0xe(r3)
/* 803784E0 00375440 4E 80 00 20 */ blr
.global GXDrawDone
GXDrawDone:
/* 803784E4 00375444 7C 08 02 A6 */ mflr r0
/* 803784E8 00375448 90 01 00 04 */ stw r0, 4(r1)
/* 803784EC 0037544C 94 21 FF E8 */ stwu r1, -0x18(r1)
/* 803784F0 00375450 93 E1 00 14 */ stw r31, 0x14(r1)
/* 803784F4 00375454 48 00 91 6D */ bl OSDisableInterrupts
/* 803784F8 00375458 38 00 00 61 */ li r0, 0x61
/* 803784FC 0037545C 3C A0 CC 01 */ lis r5, 0xCC008000@ha
/* 80378500 00375460 3C 80 45 00 */ lis r4, 0x45000002@ha
/* 80378504 00375464 98 05 80 00 */ stb r0, 0xCC008000@l(r5)
/* 80378508 00375468 38 04 00 02 */ addi r0, r4, 0x45000002@l
/* 8037850C 0037546C 90 05 80 00 */ stw r0, 0xCC008000@l(r5)
/* 80378510 00375470 7C 7F 1B 78 */ mr r31, r3
/* 80378514 00375474 4B FF FD FD */ bl GXFlush
/* 80378518 00375478 38 00 00 00 */ li r0, 0
/* 8037851C 0037547C 98 0D AC B0 */ stb r0, lbl_805A9870@sda21(r13)
/* 80378520 00375480 7F E3 FB 78 */ mr r3, r31
/* 80378524 00375484 48 00 91 65 */ bl OSRestoreInterrupts
/* 80378528 00375488 48 00 91 39 */ bl OSDisableInterrupts
/* 8037852C 0037548C 7C 7F 1B 78 */ mr r31, r3
/* 80378530 00375490 48 00 00 0C */ b lbl_8037853C
lbl_80378534:
/* 80378534 00375494 38 6D AC B4 */ addi r3, r13, lbl_805A9874@sda21
/* 80378538 00375498 48 00 CB D5 */ bl OSSleepThread
lbl_8037853C:
/* 8037853C 0037549C 88 0D AC B0 */ lbz r0, lbl_805A9870@sda21(r13)
/* 80378540 003754A0 28 00 00 00 */ cmplwi r0, 0
/* 80378544 003754A4 41 82 FF F0 */ beq lbl_80378534
/* 80378548 003754A8 7F E3 FB 78 */ mr r3, r31
/* 8037854C 003754AC 48 00 91 3D */ bl OSRestoreInterrupts
/* 80378550 003754B0 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 80378554 003754B4 83 E1 00 14 */ lwz r31, 0x14(r1)
/* 80378558 003754B8 38 21 00 18 */ addi r1, r1, 0x18
/* 8037855C 003754BC 7C 08 03 A6 */ mtlr r0
/* 80378560 003754C0 4E 80 00 20 */ blr
.global GXPixModeSync
GXPixModeSync:
/* 80378564 003754C4 38 00 00 61 */ li r0, 0x61
/* 80378568 003754C8 80 82 CE 08 */ lwz r4, __GXData@sda21(r2)
/* 8037856C 003754CC 3C A0 CC 01 */ lis r5, 0xCC008000@ha
/* 80378570 003754D0 98 05 80 00 */ stb r0, 0xCC008000@l(r5)
/* 80378574 003754D4 38 00 00 00 */ li r0, 0
/* 80378578 003754D8 80 64 01 DC */ lwz r3, 0x1dc(r4)
/* 8037857C 003754DC 90 65 80 00 */ stw r3, 0xCC008000@l(r5)
/* 80378580 003754E0 B0 04 00 02 */ sth r0, 2(r4)
/* 80378584 003754E4 4E 80 00 20 */ blr
.global GXPokeAlphaMode
GXPokeAlphaMode:
/* 80378588 003754E8 80 AD AC 80 */ lwz r5, lbl_805A9840@sda21(r13)
/* 8037858C 003754EC 54 80 06 3E */ clrlwi r0, r4, 0x18
/* 80378590 003754F0 50 60 40 2E */ rlwimi r0, r3, 8, 0, 0x17
/* 80378594 003754F4 B0 05 00 06 */ sth r0, 6(r5)
/* 80378598 003754F8 4E 80 00 20 */ blr
.global GXPokeAlphaRead
GXPokeAlphaRead:
/* 8037859C 003754FC 54 60 07 B8 */ rlwinm r0, r3, 0, 0x1e, 0x1c
/* 803785A0 00375500 80 6D AC 80 */ lwz r3, lbl_805A9840@sda21(r13)
/* 803785A4 00375504 60 00 00 04 */ ori r0, r0, 4
/* 803785A8 00375508 B0 03 00 08 */ sth r0, 8(r3)
/* 803785AC 0037550C 4E 80 00 20 */ blr
.global GXPokeAlphaUpdate
GXPokeAlphaUpdate:
/* 803785B0 00375510 80 8D AC 80 */ lwz r4, lbl_805A9840@sda21(r13)
/* 803785B4 00375514 54 60 25 36 */ rlwinm r0, r3, 4, 0x14, 0x1b
/* 803785B8 00375518 A4 64 00 02 */ lhzu r3, 2(r4)
/* 803785BC 0037551C 54 63 07 34 */ rlwinm r3, r3, 0, 0x1c, 0x1a
/* 803785C0 00375520 7C 60 03 78 */ or r0, r3, r0
/* 803785C4 00375524 B0 04 00 00 */ sth r0, 0(r4)
/* 803785C8 00375528 4E 80 00 20 */ blr
.global GXPokeBlendMode
GXPokeBlendMode:
/* 803785CC 0037552C 80 ED AC 80 */ lwz r7, lbl_805A9840@sda21(r13)
/* 803785D0 00375530 2C 03 00 01 */ cmpwi r3, 1
/* 803785D4 00375534 39 20 00 01 */ li r9, 1
/* 803785D8 00375538 39 47 00 02 */ addi r10, r7, 2
/* 803785DC 0037553C A0 E7 00 02 */ lhz r7, 2(r7)
/* 803785E0 00375540 41 82 00 10 */ beq lbl_803785F0
/* 803785E4 00375544 2C 03 00 03 */ cmpwi r3, 3
/* 803785E8 00375548 41 82 00 08 */ beq lbl_803785F0
/* 803785EC 0037554C 39 20 00 00 */ li r9, 0
lbl_803785F0:
/* 803785F0 00375550 54 E8 00 3C */ rlwinm r8, r7, 0, 0, 0x1e
/* 803785F4 00375554 20 03 00 03 */ subfic r0, r3, 3
/* 803785F8 00375558 7C 07 00 34 */ cntlzw r7, r0
/* 803785FC 0037555C 20 03 00 02 */ subfic r0, r3, 2
/* 80378600 00375560 7D 08 4B 78 */ or r8, r8, r9
/* 80378604 00375564 7C 00 00 34 */ cntlzw r0, r0
/* 80378608 00375568 55 08 05 66 */ rlwinm r8, r8, 0, 0x15, 0x13
/* 8037860C 0037556C 54 E3 30 28 */ rlwinm r3, r7, 6, 0, 0x14
/* 80378610 00375570 7D 03 1B 78 */ or r3, r8, r3
/* 80378614 00375574 54 63 07 FA */ rlwinm r3, r3, 0, 0x1f, 0x1d
/* 80378618 00375578 54 00 E1 3C */ rlwinm r0, r0, 0x1c, 4, 0x1e
/* 8037861C 0037557C 7C 60 03 78 */ or r0, r3, r0
/* 80378620 00375580 54 03 05 1E */ rlwinm r3, r0, 0, 0x14, 0xf
/* 80378624 00375584 54 C0 60 26 */ slwi r0, r6, 0xc
/* 80378628 00375588 7C 60 03 78 */ or r0, r3, r0
/* 8037862C 0037558C 54 03 06 28 */ rlwinm r3, r0, 0, 0x18, 0x14
/* 80378630 00375590 54 80 40 2E */ slwi r0, r4, 8
/* 80378634 00375594 7C 60 03 78 */ or r0, r3, r0
/* 80378638 00375598 54 03 06 EE */ rlwinm r3, r0, 0, 0x1b, 0x17
/* 8037863C 0037559C 54 A0 28 34 */ slwi r0, r5, 5
/* 80378640 003755A0 7C 60 03 78 */ or r0, r3, r0
/* 80378644 003755A4 54 00 02 3E */ clrlwi r0, r0, 8
/* 80378648 003755A8 64 00 41 00 */ oris r0, r0, 0x4100
/* 8037864C 003755AC B0 0A 00 00 */ sth r0, 0(r10)
/* 80378650 003755B0 4E 80 00 20 */ blr
.global GXPokeColorUpdate
GXPokeColorUpdate:
/* 80378654 003755B4 80 8D AC 80 */ lwz r4, lbl_805A9840@sda21(r13)
/* 80378658 003755B8 54 60 1D 78 */ rlwinm r0, r3, 3, 0x15, 0x1c
/* 8037865C 003755BC A4 64 00 02 */ lhzu r3, 2(r4)
/* 80378660 003755C0 54 63 07 76 */ rlwinm r3, r3, 0, 0x1d, 0x1b
/* 80378664 003755C4 7C 60 03 78 */ or r0, r3, r0
/* 80378668 003755C8 B0 04 00 00 */ sth r0, 0(r4)
/* 8037866C 003755CC 4E 80 00 20 */ blr
.global GXPokeDstAlpha
GXPokeDstAlpha:
/* 80378670 003755D0 80 AD AC 80 */ lwz r5, lbl_805A9840@sda21(r13)
/* 80378674 003755D4 54 60 44 2E */ rlwinm r0, r3, 8, 0x10, 0x17
/* 80378678 003755D8 50 80 06 3E */ rlwimi r0, r4, 0, 0x18, 0x1f
/* 8037867C 003755DC B0 05 00 04 */ sth r0, 4(r5)
/* 80378680 003755E0 4E 80 00 20 */ blr
.global GXPokeDither
GXPokeDither:
/* 80378684 003755E4 80 8D AC 80 */ lwz r4, lbl_805A9840@sda21(r13)
/* 80378688 003755E8 54 60 15 BA */ rlwinm r0, r3, 2, 0x16, 0x1d
/* 8037868C 003755EC A4 64 00 02 */ lhzu r3, 2(r4)
/* 80378690 003755F0 54 63 07 B8 */ rlwinm r3, r3, 0, 0x1e, 0x1c
/* 80378694 003755F4 7C 60 03 78 */ or r0, r3, r0
/* 80378698 003755F8 B0 04 00 00 */ sth r0, 0(r4)
/* 8037869C 003755FC 4E 80 00 20 */ blr
.global GXPokeZMode
GXPokeZMode:
/* 803786A0 00375600 54 60 06 3E */ clrlwi r0, r3, 0x18
/* 803786A4 00375604 80 6D AC 80 */ lwz r3, lbl_805A9840@sda21(r13)
/* 803786A8 00375608 54 06 07 F6 */ rlwinm r6, r0, 0, 0x1f, 0x1b
/* 803786AC 0037560C 54 80 08 3C */ slwi r0, r4, 1
/* 803786B0 00375610 7C C0 03 78 */ or r0, r6, r0
/* 803786B4 00375614 54 04 07 34 */ rlwinm r4, r0, 0, 0x1c, 0x1a
/* 803786B8 00375618 54 A0 25 36 */ rlwinm r0, r5, 4, 0x14, 0x1b
/* 803786BC 0037561C 7C 80 03 78 */ or r0, r4, r0
/* 803786C0 00375620 B0 03 00 00 */ sth r0, 0(r3)
/* 803786C4 00375624 4E 80 00 20 */ blr
.global GXTokenInterruptHandler
GXTokenInterruptHandler:
/* 803786C8 00375628 7C 08 02 A6 */ mflr r0
/* 803786CC 0037562C 90 01 00 04 */ stw r0, 4(r1)
/* 803786D0 00375630 94 21 FD 20 */ stwu r1, -0x2e0(r1)
/* 803786D4 00375634 93 E1 02 DC */ stw r31, 0x2dc(r1)
/* 803786D8 00375638 93 C1 02 D8 */ stw r30, 0x2d8(r1)
/* 803786DC 0037563C 7C 9E 23 78 */ mr r30, r4
/* 803786E0 00375640 80 0D AC A8 */ lwz r0, lbl_805A9868@sda21(r13)
/* 803786E4 00375644 80 6D AC 80 */ lwz r3, lbl_805A9840@sda21(r13)
/* 803786E8 00375648 28 00 00 00 */ cmplwi r0, 0
/* 803786EC 0037564C A3 E3 00 0E */ lhz r31, 0xe(r3)
/* 803786F0 00375650 41 82 00 34 */ beq lbl_80378724
/* 803786F4 00375654 38 61 00 10 */ addi r3, r1, 0x10
/* 803786F8 00375658 48 00 6F 1D */ bl OSClearContext
/* 803786FC 0037565C 38 61 00 10 */ addi r3, r1, 0x10
/* 80378700 00375660 48 00 6D 1D */ bl OSSetCurrentContext
/* 80378704 00375664 81 8D AC A8 */ lwz r12, lbl_805A9868@sda21(r13)
/* 80378708 00375668 38 7F 00 00 */ addi r3, r31, 0
/* 8037870C 0037566C 7D 88 03 A6 */ mtlr r12
/* 80378710 00375670 4E 80 00 21 */ blrl
/* 80378714 00375674 38 61 00 10 */ addi r3, r1, 0x10
/* 80378718 00375678 48 00 6E FD */ bl OSClearContext
/* 8037871C 0037567C 7F C3 F3 78 */ mr r3, r30
/* 80378720 00375680 48 00 6C FD */ bl OSSetCurrentContext
lbl_80378724:
/* 80378724 00375684 80 6D AC 80 */ lwz r3, lbl_805A9840@sda21(r13)
/* 80378728 00375688 A4 03 00 0A */ lhzu r0, 0xa(r3)
/* 8037872C 0037568C 54 00 07 B8 */ rlwinm r0, r0, 0, 0x1e, 0x1c
/* 80378730 00375690 60 00 00 04 */ ori r0, r0, 4
/* 80378734 00375694 B0 03 00 00 */ sth r0, 0(r3)
/* 80378738 00375698 80 01 02 E4 */ lwz r0, 0x2e4(r1)
/* 8037873C 0037569C 83 E1 02 DC */ lwz r31, 0x2dc(r1)
/* 80378740 003756A0 83 C1 02 D8 */ lwz r30, 0x2d8(r1)
/* 80378744 003756A4 38 21 02 E0 */ addi r1, r1, 0x2e0
/* 80378748 003756A8 7C 08 03 A6 */ mtlr r0
/* 8037874C 003756AC 4E 80 00 20 */ blr
.global GXFinishInterruptHandler
GXFinishInterruptHandler:
/* 80378750 003756B0 7C 08 02 A6 */ mflr r0
/* 80378754 003756B4 38 60 00 01 */ li r3, 1
/* 80378758 003756B8 90 01 00 04 */ stw r0, 4(r1)
/* 8037875C 003756BC 94 21 FD 20 */ stwu r1, -0x2e0(r1)
/* 80378760 003756C0 93 E1 02 DC */ stw r31, 0x2dc(r1)
/* 80378764 003756C4 3B E4 00 00 */ addi r31, r4, 0
/* 80378768 003756C8 80 AD AC 80 */ lwz r5, lbl_805A9840@sda21(r13)
/* 8037876C 003756CC A0 05 00 0A */ lhz r0, 0xa(r5)
/* 80378770 003756D0 54 00 07 76 */ rlwinm r0, r0, 0, 0x1d, 0x1b
/* 80378774 003756D4 60 00 00 08 */ ori r0, r0, 8
/* 80378778 003756D8 B0 05 00 0A */ sth r0, 0xa(r5)
/* 8037877C 003756DC 80 0D AC AC */ lwz r0, lbl_805A986C@sda21(r13)
/* 80378780 003756E0 98 6D AC B0 */ stb r3, lbl_805A9870@sda21(r13)
/* 80378784 003756E4 28 00 00 00 */ cmplwi r0, 0
/* 80378788 003756E8 41 82 00 30 */ beq lbl_803787B8
/* 8037878C 003756EC 38 61 00 10 */ addi r3, r1, 0x10
/* 80378790 003756F0 48 00 6E 85 */ bl OSClearContext
/* 80378794 003756F4 38 61 00 10 */ addi r3, r1, 0x10
/* 80378798 003756F8 48 00 6C 85 */ bl OSSetCurrentContext
/* 8037879C 003756FC 81 8D AC AC */ lwz r12, lbl_805A986C@sda21(r13)
/* 803787A0 00375700 7D 88 03 A6 */ mtlr r12
/* 803787A4 00375704 4E 80 00 21 */ blrl
/* 803787A8 00375708 38 61 00 10 */ addi r3, r1, 0x10
/* 803787AC 0037570C 48 00 6E 69 */ bl OSClearContext
/* 803787B0 00375710 7F E3 FB 78 */ mr r3, r31
/* 803787B4 00375714 48 00 6C 69 */ bl OSSetCurrentContext
lbl_803787B8:
/* 803787B8 00375718 38 6D AC B4 */ addi r3, r13, lbl_805A9874@sda21
/* 803787BC 0037571C 48 00 CA 3D */ bl OSWakeupThread
/* 803787C0 00375720 80 01 02 E4 */ lwz r0, 0x2e4(r1)
/* 803787C4 00375724 83 E1 02 DC */ lwz r31, 0x2dc(r1)
/* 803787C8 00375728 38 21 02 E0 */ addi r1, r1, 0x2e0
/* 803787CC 0037572C 7C 08 03 A6 */ mtlr r0
/* 803787D0 00375730 4E 80 00 20 */ blr
.global __GXPEInit
__GXPEInit:
/* 803787D4 00375734 7C 08 02 A6 */ mflr r0
/* 803787D8 00375738 3C 60 80 38 */ lis r3, GXTokenInterruptHandler@ha
/* 803787DC 0037573C 90 01 00 04 */ stw r0, 4(r1)
/* 803787E0 00375740 38 83 86 C8 */ addi r4, r3, GXTokenInterruptHandler@l
/* 803787E4 00375744 38 60 00 12 */ li r3, 0x12
/* 803787E8 00375748 94 21 FF F8 */ stwu r1, -8(r1)
/* 803787EC 0037574C 48 00 8E C1 */ bl __OSSetInterruptHandler
/* 803787F0 00375750 3C 60 80 38 */ lis r3, GXFinishInterruptHandler@ha
/* 803787F4 00375754 38 83 87 50 */ addi r4, r3, GXFinishInterruptHandler@l
/* 803787F8 00375758 38 60 00 13 */ li r3, 0x13
/* 803787FC 0037575C 48 00 8E B1 */ bl __OSSetInterruptHandler
/* 80378800 00375760 38 6D AC B4 */ addi r3, r13, lbl_805A9874@sda21
/* 80378804 00375764 48 00 BD C1 */ bl OSInitThreadQueue
/* 80378808 00375768 38 60 20 00 */ li r3, 0x2000
/* 8037880C 0037576C 48 00 92 A5 */ bl __OSUnmaskInterrupts
/* 80378810 00375770 38 60 10 00 */ li r3, 0x1000
/* 80378814 00375774 48 00 92 9D */ bl __OSUnmaskInterrupts
/* 80378818 00375778 80 6D AC 80 */ lwz r3, lbl_805A9840@sda21(r13)
/* 8037881C 0037577C A4 03 00 0A */ lhzu r0, 0xa(r3)
/* 80378820 00375780 54 00 07 B8 */ rlwinm r0, r0, 0, 0x1e, 0x1c
/* 80378824 00375784 60 00 00 04 */ ori r0, r0, 4
/* 80378828 00375788 54 00 07 76 */ rlwinm r0, r0, 0, 0x1d, 0x1b
/* 8037882C 0037578C 60 00 00 08 */ ori r0, r0, 8
/* 80378830 00375790 54 00 00 3C */ rlwinm r0, r0, 0, 0, 0x1e
/* 80378834 00375794 60 00 00 01 */ ori r0, r0, 1
/* 80378838 00375798 54 00 07 FA */ rlwinm r0, r0, 0, 0x1f, 0x1d
/* 8037883C 0037579C 60 00 00 02 */ ori r0, r0, 2
/* 80378840 003757A0 B0 03 00 00 */ sth r0, 0(r3)
/* 80378844 003757A4 80 01 00 0C */ lwz r0, 0xc(r1)
/* 80378848 003757A8 38 21 00 08 */ addi r1, r1, 8
/* 8037884C 003757AC 7C 08 03 A6 */ mtlr r0
/* 80378850 003757B0 4E 80 00 20 */ blr

View File

@ -1,681 +0,0 @@
.include "macros.inc"
.section .data
.balign 8
lbl_803F0CB0:
# ROM: 0x3EDCB0
.4byte lbl_8037CD4C
.4byte lbl_8037CD68
.4byte lbl_8037CD84
.4byte lbl_8037CDA0
.4byte lbl_8037CDF4
.4byte lbl_8037CE10
.4byte lbl_8037CE2C
.4byte lbl_8037CE48
.4byte lbl_8037CDBC
.4byte lbl_8037CE64
.4byte lbl_8037CE94
.4byte lbl_8037CEC4
.4byte lbl_8037CEF4
.4byte lbl_8037CF24
.4byte lbl_8037CF54
.4byte lbl_8037CF84
.4byte lbl_8037CFB4
.4byte lbl_8037CFE4
.4byte lbl_8037CFF4
.4byte lbl_8037D004
.4byte lbl_8037D014
.4byte lbl_8037CDD8
.4byte lbl_8037D020
lbl_803F0D0C:
# ROM: 0x3EDD0C
.4byte lbl_8037C920
.4byte lbl_8037C940
.4byte lbl_8037C960
.4byte lbl_8037C980
.4byte lbl_8037C9A0
.4byte lbl_8037C9C0
.4byte lbl_8037C9E0
.4byte lbl_8037CA00
.4byte lbl_8037CA20
.4byte lbl_8037CA40
.4byte lbl_8037CA80
.4byte lbl_8037CAA0
.4byte lbl_8037CABC
.4byte lbl_8037CAD8
.4byte lbl_8037CAF4
.4byte lbl_8037CB10
.4byte lbl_8037CB2C
.4byte lbl_8037CB48
.4byte lbl_8037CB64
.4byte lbl_8037CB80
.4byte lbl_8037CB9C
.4byte lbl_8037CBB8
.4byte lbl_8037CBD4
.4byte lbl_8037CBF0
.4byte lbl_8037CC0C
.4byte lbl_8037CC28
.4byte lbl_8037CC44
.4byte lbl_8037CC60
.4byte lbl_8037CC7C
.4byte lbl_8037CC98
.4byte lbl_8037CCB4
.4byte lbl_8037CCD0
.4byte lbl_8037CCEC
.4byte lbl_8037CD08
.4byte lbl_8037CA60
.4byte lbl_8037CD20
.4byte 0
.section .text, "ax"
.global GXSetGPMetric
GXSetGPMetric:
/* 8037C7E8 00379748 80 A2 CE 08 */ lwz r5, __GXData@sda21(r2)
/* 8037C7EC 0037974C 80 05 04 E4 */ lwz r0, 0x4e4(r5)
/* 8037C7F0 00379750 2C 00 00 22 */ cmpwi r0, 0x22
/* 8037C7F4 00379754 41 82 00 2C */ beq lbl_8037C820
/* 8037C7F8 00379758 40 80 00 74 */ bge lbl_8037C86C
/* 8037C7FC 0037975C 2C 00 00 0B */ cmpwi r0, 0xb
/* 8037C800 00379760 40 80 00 10 */ bge lbl_8037C810
/* 8037C804 00379764 2C 00 00 00 */ cmpwi r0, 0
/* 8037C808 00379768 40 80 00 18 */ bge lbl_8037C820
/* 8037C80C 0037976C 48 00 00 60 */ b lbl_8037C86C
lbl_8037C810:
/* 8037C810 00379770 2C 00 00 1B */ cmpwi r0, 0x1b
/* 8037C814 00379774 40 80 00 44 */ bge lbl_8037C858
/* 8037C818 00379778 48 00 00 28 */ b lbl_8037C840
/* 8037C81C 0037977C 48 00 00 50 */ b lbl_8037C86C
lbl_8037C820:
/* 8037C820 00379780 38 00 00 10 */ li r0, 0x10
/* 8037C824 00379784 3C C0 CC 01 */ lis r6, 0xCC008000@ha
/* 8037C828 00379788 98 06 80 00 */ stb r0, 0xCC008000@l(r6)
/* 8037C82C 0037978C 38 A0 10 06 */ li r5, 0x1006
/* 8037C830 00379790 38 00 00 00 */ li r0, 0
/* 8037C834 00379794 90 A6 80 00 */ stw r5, 0xCC008000@l(r6)
/* 8037C838 00379798 90 06 80 00 */ stw r0, 0xCC008000@l(r6)
/* 8037C83C 0037979C 48 00 00 30 */ b lbl_8037C86C
lbl_8037C840:
/* 8037C840 003797A0 38 00 00 61 */ li r0, 0x61
/* 8037C844 003797A4 3C A0 CC 01 */ lis r5, 0xCC008000@ha
/* 8037C848 003797A8 98 05 80 00 */ stb r0, 0xCC008000@l(r5)
/* 8037C84C 003797AC 3C 00 23 00 */ lis r0, 0x2300
/* 8037C850 003797B0 90 05 80 00 */ stw r0, 0xCC008000@l(r5)
/* 8037C854 003797B4 48 00 00 18 */ b lbl_8037C86C
lbl_8037C858:
/* 8037C858 003797B8 38 00 00 61 */ li r0, 0x61
/* 8037C85C 003797BC 3C A0 CC 01 */ lis r5, 0xCC008000@ha
/* 8037C860 003797C0 98 05 80 00 */ stb r0, 0xCC008000@l(r5)
/* 8037C864 003797C4 3C 00 24 00 */ lis r0, 0x2400
/* 8037C868 003797C8 90 05 80 00 */ stw r0, 0xCC008000@l(r5)
lbl_8037C86C:
/* 8037C86C 003797CC 80 E2 CE 08 */ lwz r7, __GXData@sda21(r2)
/* 8037C870 003797D0 80 07 04 E8 */ lwz r0, 0x4e8(r7)
/* 8037C874 003797D4 2C 00 00 15 */ cmpwi r0, 0x15
/* 8037C878 003797D8 41 82 00 2C */ beq lbl_8037C8A4
/* 8037C87C 003797DC 40 80 00 78 */ bge lbl_8037C8F4
/* 8037C880 003797E0 2C 00 00 09 */ cmpwi r0, 9
/* 8037C884 003797E4 40 80 00 10 */ bge lbl_8037C894
/* 8037C888 003797E8 2C 00 00 00 */ cmpwi r0, 0
/* 8037C88C 003797EC 40 80 00 18 */ bge lbl_8037C8A4
/* 8037C890 003797F0 48 00 00 64 */ b lbl_8037C8F4
lbl_8037C894:
/* 8037C894 003797F4 2C 00 00 11 */ cmpwi r0, 0x11
/* 8037C898 003797F8 40 80 00 50 */ bge lbl_8037C8E8
/* 8037C89C 003797FC 48 00 00 20 */ b lbl_8037C8BC
/* 8037C8A0 00379800 48 00 00 54 */ b lbl_8037C8F4
lbl_8037C8A4:
/* 8037C8A4 00379804 38 00 00 61 */ li r0, 0x61
/* 8037C8A8 00379808 3C A0 CC 01 */ lis r5, 0xCC008000@ha
/* 8037C8AC 0037980C 98 05 80 00 */ stb r0, 0xCC008000@l(r5)
/* 8037C8B0 00379810 3C 00 67 00 */ lis r0, 0x6700
/* 8037C8B4 00379814 90 05 80 00 */ stw r0, 0xCC008000@l(r5)
/* 8037C8B8 00379818 48 00 00 3C */ b lbl_8037C8F4
lbl_8037C8BC:
/* 8037C8BC 0037981C 80 07 04 EC */ lwz r0, 0x4ec(r7)
/* 8037C8C0 00379820 38 C0 00 08 */ li r6, 8
/* 8037C8C4 00379824 3C A0 CC 01 */ lis r5, 0xCC008000@ha
/* 8037C8C8 00379828 54 00 07 2E */ rlwinm r0, r0, 0, 0x1c, 0x17
/* 8037C8CC 0037982C 90 07 04 EC */ stw r0, 0x4ec(r7)
/* 8037C8D0 00379830 38 00 00 20 */ li r0, 0x20
/* 8037C8D4 00379834 98 C5 80 00 */ stb r6, 0xCC008000@l(r5)
/* 8037C8D8 00379838 98 05 80 00 */ stb r0, 0xCC008000@l(r5)
/* 8037C8DC 0037983C 80 07 04 EC */ lwz r0, 0x4ec(r7)
/* 8037C8E0 00379840 90 05 80 00 */ stw r0, 0xCC008000@l(r5)
/* 8037C8E4 00379844 48 00 00 10 */ b lbl_8037C8F4
lbl_8037C8E8:
/* 8037C8E8 00379848 80 AD AC 7C */ lwz r5, lbl_805A983C@sda21(r13)
/* 8037C8EC 0037984C 38 00 00 00 */ li r0, 0
/* 8037C8F0 00379850 B0 05 00 06 */ sth r0, 6(r5)
lbl_8037C8F4:
/* 8037C8F4 00379854 80 A2 CE 08 */ lwz r5, __GXData@sda21(r2)
/* 8037C8F8 00379858 90 65 04 E4 */ stw r3, 0x4e4(r5)
/* 8037C8FC 0037985C 80 05 04 E4 */ lwz r0, 0x4e4(r5)
/* 8037C900 00379860 28 00 00 23 */ cmplwi r0, 0x23
/* 8037C904 00379864 41 81 04 1C */ bgt lbl_8037CD20
/* 8037C908 00379868 3C 60 80 3F */ lis r3, lbl_803F0D0C@ha
/* 8037C90C 0037986C 38 63 0D 0C */ addi r3, r3, lbl_803F0D0C@l
/* 8037C910 00379870 54 00 10 3A */ slwi r0, r0, 2
/* 8037C914 00379874 7C 03 00 2E */ lwzx r0, r3, r0
/* 8037C918 00379878 7C 09 03 A6 */ mtctr r0
/* 8037C91C 0037987C 4E 80 04 20 */ bctr
lbl_8037C920:
/* 8037C920 00379880 38 00 00 10 */ li r0, 0x10
/* 8037C924 00379884 3C A0 CC 01 */ lis r5, 0xCC008000@ha
/* 8037C928 00379888 98 05 80 00 */ stb r0, 0xCC008000@l(r5)
/* 8037C92C 0037988C 38 60 10 06 */ li r3, 0x1006
/* 8037C930 00379890 38 00 02 73 */ li r0, 0x273
/* 8037C934 00379894 90 65 80 00 */ stw r3, 0xCC008000@l(r5)
/* 8037C938 00379898 90 05 80 00 */ stw r0, 0xCC008000@l(r5)
/* 8037C93C 0037989C 48 00 03 E4 */ b lbl_8037CD20
lbl_8037C940:
/* 8037C940 003798A0 38 00 00 10 */ li r0, 0x10
/* 8037C944 003798A4 3C A0 CC 01 */ lis r5, 0xCC008000@ha
/* 8037C948 003798A8 98 05 80 00 */ stb r0, 0xCC008000@l(r5)
/* 8037C94C 003798AC 38 60 10 06 */ li r3, 0x1006
/* 8037C950 003798B0 38 00 01 4A */ li r0, 0x14a
/* 8037C954 003798B4 90 65 80 00 */ stw r3, 0xCC008000@l(r5)
/* 8037C958 003798B8 90 05 80 00 */ stw r0, 0xCC008000@l(r5)
/* 8037C95C 003798BC 48 00 03 C4 */ b lbl_8037CD20
lbl_8037C960:
/* 8037C960 003798C0 38 00 00 10 */ li r0, 0x10
/* 8037C964 003798C4 3C A0 CC 01 */ lis r5, 0xCC008000@ha
/* 8037C968 003798C8 98 05 80 00 */ stb r0, 0xCC008000@l(r5)
/* 8037C96C 003798CC 38 60 10 06 */ li r3, 0x1006
/* 8037C970 003798D0 38 00 01 6B */ li r0, 0x16b
/* 8037C974 003798D4 90 65 80 00 */ stw r3, 0xCC008000@l(r5)
/* 8037C978 003798D8 90 05 80 00 */ stw r0, 0xCC008000@l(r5)
/* 8037C97C 003798DC 48 00 03 A4 */ b lbl_8037CD20
lbl_8037C980:
/* 8037C980 003798E0 38 00 00 10 */ li r0, 0x10
/* 8037C984 003798E4 3C A0 CC 01 */ lis r5, 0xCC008000@ha
/* 8037C988 003798E8 98 05 80 00 */ stb r0, 0xCC008000@l(r5)
/* 8037C98C 003798EC 38 60 10 06 */ li r3, 0x1006
/* 8037C990 003798F0 38 00 00 84 */ li r0, 0x84
/* 8037C994 003798F4 90 65 80 00 */ stw r3, 0xCC008000@l(r5)
/* 8037C998 003798F8 90 05 80 00 */ stw r0, 0xCC008000@l(r5)
/* 8037C99C 003798FC 48 00 03 84 */ b lbl_8037CD20
lbl_8037C9A0:
/* 8037C9A0 00379900 38 00 00 10 */ li r0, 0x10
/* 8037C9A4 00379904 3C A0 CC 01 */ lis r5, 0xCC008000@ha
/* 8037C9A8 00379908 98 05 80 00 */ stb r0, 0xCC008000@l(r5)
/* 8037C9AC 0037990C 38 60 10 06 */ li r3, 0x1006
/* 8037C9B0 00379910 38 00 00 C6 */ li r0, 0xc6
/* 8037C9B4 00379914 90 65 80 00 */ stw r3, 0xCC008000@l(r5)
/* 8037C9B8 00379918 90 05 80 00 */ stw r0, 0xCC008000@l(r5)
/* 8037C9BC 0037991C 48 00 03 64 */ b lbl_8037CD20
lbl_8037C9C0:
/* 8037C9C0 00379920 38 00 00 10 */ li r0, 0x10
/* 8037C9C4 00379924 3C A0 CC 01 */ lis r5, 0xCC008000@ha
/* 8037C9C8 00379928 98 05 80 00 */ stb r0, 0xCC008000@l(r5)
/* 8037C9CC 0037992C 38 60 10 06 */ li r3, 0x1006
/* 8037C9D0 00379930 38 00 02 10 */ li r0, 0x210
/* 8037C9D4 00379934 90 65 80 00 */ stw r3, 0xCC008000@l(r5)
/* 8037C9D8 00379938 90 05 80 00 */ stw r0, 0xCC008000@l(r5)
/* 8037C9DC 0037993C 48 00 03 44 */ b lbl_8037CD20
lbl_8037C9E0:
/* 8037C9E0 00379940 38 00 00 10 */ li r0, 0x10
/* 8037C9E4 00379944 3C A0 CC 01 */ lis r5, 0xCC008000@ha
/* 8037C9E8 00379948 98 05 80 00 */ stb r0, 0xCC008000@l(r5)
/* 8037C9EC 0037994C 38 60 10 06 */ li r3, 0x1006
/* 8037C9F0 00379950 38 00 02 52 */ li r0, 0x252
/* 8037C9F4 00379954 90 65 80 00 */ stw r3, 0xCC008000@l(r5)
/* 8037C9F8 00379958 90 05 80 00 */ stw r0, 0xCC008000@l(r5)
/* 8037C9FC 0037995C 48 00 03 24 */ b lbl_8037CD20
lbl_8037CA00:
/* 8037CA00 00379960 38 00 00 10 */ li r0, 0x10
/* 8037CA04 00379964 3C A0 CC 01 */ lis r5, 0xCC008000@ha
/* 8037CA08 00379968 98 05 80 00 */ stb r0, 0xCC008000@l(r5)
/* 8037CA0C 0037996C 38 60 10 06 */ li r3, 0x1006
/* 8037CA10 00379970 38 00 02 31 */ li r0, 0x231
/* 8037CA14 00379974 90 65 80 00 */ stw r3, 0xCC008000@l(r5)
/* 8037CA18 00379978 90 05 80 00 */ stw r0, 0xCC008000@l(r5)
/* 8037CA1C 0037997C 48 00 03 04 */ b lbl_8037CD20
lbl_8037CA20:
/* 8037CA20 00379980 38 00 00 10 */ li r0, 0x10
/* 8037CA24 00379984 3C A0 CC 01 */ lis r5, 0xCC008000@ha
/* 8037CA28 00379988 98 05 80 00 */ stb r0, 0xCC008000@l(r5)
/* 8037CA2C 0037998C 38 60 10 06 */ li r3, 0x1006
/* 8037CA30 00379990 38 00 01 AD */ li r0, 0x1ad
/* 8037CA34 00379994 90 65 80 00 */ stw r3, 0xCC008000@l(r5)
/* 8037CA38 00379998 90 05 80 00 */ stw r0, 0xCC008000@l(r5)
/* 8037CA3C 0037999C 48 00 02 E4 */ b lbl_8037CD20
lbl_8037CA40:
/* 8037CA40 003799A0 38 00 00 10 */ li r0, 0x10
/* 8037CA44 003799A4 3C A0 CC 01 */ lis r5, 0xCC008000@ha
/* 8037CA48 003799A8 98 05 80 00 */ stb r0, 0xCC008000@l(r5)
/* 8037CA4C 003799AC 38 60 10 06 */ li r3, 0x1006
/* 8037CA50 003799B0 38 00 01 CE */ li r0, 0x1ce
/* 8037CA54 003799B4 90 65 80 00 */ stw r3, 0xCC008000@l(r5)
/* 8037CA58 003799B8 90 05 80 00 */ stw r0, 0xCC008000@l(r5)
/* 8037CA5C 003799BC 48 00 02 C4 */ b lbl_8037CD20
lbl_8037CA60:
/* 8037CA60 003799C0 38 00 00 10 */ li r0, 0x10
/* 8037CA64 003799C4 3C A0 CC 01 */ lis r5, 0xCC008000@ha
/* 8037CA68 003799C8 98 05 80 00 */ stb r0, 0xCC008000@l(r5)
/* 8037CA6C 003799CC 38 60 10 06 */ li r3, 0x1006
/* 8037CA70 003799D0 38 00 00 21 */ li r0, 0x21
/* 8037CA74 003799D4 90 65 80 00 */ stw r3, 0xCC008000@l(r5)
/* 8037CA78 003799D8 90 05 80 00 */ stw r0, 0xCC008000@l(r5)
/* 8037CA7C 003799DC 48 00 02 A4 */ b lbl_8037CD20
lbl_8037CA80:
/* 8037CA80 003799E0 38 00 00 10 */ li r0, 0x10
/* 8037CA84 003799E4 3C A0 CC 01 */ lis r5, 0xCC008000@ha
/* 8037CA88 003799E8 98 05 80 00 */ stb r0, 0xCC008000@l(r5)
/* 8037CA8C 003799EC 38 60 10 06 */ li r3, 0x1006
/* 8037CA90 003799F0 38 00 01 53 */ li r0, 0x153
/* 8037CA94 003799F4 90 65 80 00 */ stw r3, 0xCC008000@l(r5)
/* 8037CA98 003799F8 90 05 80 00 */ stw r0, 0xCC008000@l(r5)
/* 8037CA9C 003799FC 48 00 02 84 */ b lbl_8037CD20
lbl_8037CAA0:
/* 8037CAA0 00379A00 38 00 00 61 */ li r0, 0x61
/* 8037CAA4 00379A04 3C A0 CC 01 */ lis r5, 0xCC008000@ha
/* 8037CAA8 00379A08 3C 60 23 01 */ lis r3, 0x2300AE7F@ha
/* 8037CAAC 00379A0C 98 05 80 00 */ stb r0, 0xCC008000@l(r5)
/* 8037CAB0 00379A10 38 03 AE 7F */ addi r0, r3, 0x2300AE7F@l
/* 8037CAB4 00379A14 90 05 80 00 */ stw r0, 0xCC008000@l(r5)
/* 8037CAB8 00379A18 48 00 02 68 */ b lbl_8037CD20
lbl_8037CABC:
/* 8037CABC 00379A1C 38 00 00 61 */ li r0, 0x61
/* 8037CAC0 00379A20 3C A0 CC 01 */ lis r5, 0xCC008000@ha
/* 8037CAC4 00379A24 3C 60 23 01 */ lis r3, 0x23008E7F@ha
/* 8037CAC8 00379A28 98 05 80 00 */ stb r0, 0xCC008000@l(r5)
/* 8037CACC 00379A2C 38 03 8E 7F */ addi r0, r3, 0x23008E7F@l
/* 8037CAD0 00379A30 90 05 80 00 */ stw r0, 0xCC008000@l(r5)
/* 8037CAD4 00379A34 48 00 02 4C */ b lbl_8037CD20
lbl_8037CAD8:
/* 8037CAD8 00379A38 38 00 00 61 */ li r0, 0x61
/* 8037CADC 00379A3C 3C A0 CC 01 */ lis r5, 0xCC008000@ha
/* 8037CAE0 00379A40 3C 60 23 01 */ lis r3, 0x23009E7F@ha
/* 8037CAE4 00379A44 98 05 80 00 */ stb r0, 0xCC008000@l(r5)
/* 8037CAE8 00379A48 38 03 9E 7F */ addi r0, r3, 0x23009E7F@l
/* 8037CAEC 00379A4C 90 05 80 00 */ stw r0, 0xCC008000@l(r5)
/* 8037CAF0 00379A50 48 00 02 30 */ b lbl_8037CD20
lbl_8037CAF4:
/* 8037CAF4 00379A54 38 00 00 61 */ li r0, 0x61
/* 8037CAF8 00379A58 3C A0 CC 01 */ lis r5, 0xCC008000@ha
/* 8037CAFC 00379A5C 3C 60 23 00 */ lis r3, 0x23001E7F@ha
/* 8037CB00 00379A60 98 05 80 00 */ stb r0, 0xCC008000@l(r5)
/* 8037CB04 00379A64 38 03 1E 7F */ addi r0, r3, 0x23001E7F@l
/* 8037CB08 00379A68 90 05 80 00 */ stw r0, 0xCC008000@l(r5)
/* 8037CB0C 00379A6C 48 00 02 14 */ b lbl_8037CD20
lbl_8037CB10:
/* 8037CB10 00379A70 38 00 00 61 */ li r0, 0x61
/* 8037CB14 00379A74 3C A0 CC 01 */ lis r5, 0xCC008000@ha
/* 8037CB18 00379A78 3C 60 23 01 */ lis r3, 0x2300AC3F@ha
/* 8037CB1C 00379A7C 98 05 80 00 */ stb r0, 0xCC008000@l(r5)
/* 8037CB20 00379A80 38 03 AC 3F */ addi r0, r3, 0x2300AC3F@l
/* 8037CB24 00379A84 90 05 80 00 */ stw r0, 0xCC008000@l(r5)
/* 8037CB28 00379A88 48 00 01 F8 */ b lbl_8037CD20
lbl_8037CB2C:
/* 8037CB2C 00379A8C 38 00 00 61 */ li r0, 0x61
/* 8037CB30 00379A90 3C A0 CC 01 */ lis r5, 0xCC008000@ha
/* 8037CB34 00379A94 3C 60 23 01 */ lis r3, 0x2300AC7F@ha
/* 8037CB38 00379A98 98 05 80 00 */ stb r0, 0xCC008000@l(r5)
/* 8037CB3C 00379A9C 38 03 AC 7F */ addi r0, r3, 0x2300AC7F@l
/* 8037CB40 00379AA0 90 05 80 00 */ stw r0, 0xCC008000@l(r5)
/* 8037CB44 00379AA4 48 00 01 DC */ b lbl_8037CD20
lbl_8037CB48:
/* 8037CB48 00379AA8 38 00 00 61 */ li r0, 0x61
/* 8037CB4C 00379AAC 3C A0 CC 01 */ lis r5, 0xCC008000@ha
/* 8037CB50 00379AB0 3C 60 23 01 */ lis r3, 0x2300ACBF@ha
/* 8037CB54 00379AB4 98 05 80 00 */ stb r0, 0xCC008000@l(r5)
/* 8037CB58 00379AB8 38 03 AC BF */ addi r0, r3, 0x2300ACBF@l
/* 8037CB5C 00379ABC 90 05 80 00 */ stw r0, 0xCC008000@l(r5)
/* 8037CB60 00379AC0 48 00 01 C0 */ b lbl_8037CD20
lbl_8037CB64:
/* 8037CB64 00379AC4 38 00 00 61 */ li r0, 0x61
/* 8037CB68 00379AC8 3C A0 CC 01 */ lis r5, 0xCC008000@ha
/* 8037CB6C 00379ACC 3C 60 23 01 */ lis r3, 0x2300ACFF@ha
/* 8037CB70 00379AD0 98 05 80 00 */ stb r0, 0xCC008000@l(r5)
/* 8037CB74 00379AD4 38 03 AC FF */ addi r0, r3, 0x2300ACFF@l
/* 8037CB78 00379AD8 90 05 80 00 */ stw r0, 0xCC008000@l(r5)
/* 8037CB7C 00379ADC 48 00 01 A4 */ b lbl_8037CD20
lbl_8037CB80:
/* 8037CB80 00379AE0 38 00 00 61 */ li r0, 0x61
/* 8037CB84 00379AE4 3C A0 CC 01 */ lis r5, 0xCC008000@ha
/* 8037CB88 00379AE8 3C 60 23 01 */ lis r3, 0x2300AD3F@ha
/* 8037CB8C 00379AEC 98 05 80 00 */ stb r0, 0xCC008000@l(r5)
/* 8037CB90 00379AF0 38 03 AD 3F */ addi r0, r3, 0x2300AD3F@l
/* 8037CB94 00379AF4 90 05 80 00 */ stw r0, 0xCC008000@l(r5)
/* 8037CB98 00379AF8 48 00 01 88 */ b lbl_8037CD20
lbl_8037CB9C:
/* 8037CB9C 00379AFC 38 00 00 61 */ li r0, 0x61
/* 8037CBA0 00379B00 3C A0 CC 01 */ lis r5, 0xCC008000@ha
/* 8037CBA4 00379B04 3C 60 23 01 */ lis r3, 0x2300AD7F@ha
/* 8037CBA8 00379B08 98 05 80 00 */ stb r0, 0xCC008000@l(r5)
/* 8037CBAC 00379B0C 38 03 AD 7F */ addi r0, r3, 0x2300AD7F@l
/* 8037CBB0 00379B10 90 05 80 00 */ stw r0, 0xCC008000@l(r5)
/* 8037CBB4 00379B14 48 00 01 6C */ b lbl_8037CD20
lbl_8037CBB8:
/* 8037CBB8 00379B18 38 00 00 61 */ li r0, 0x61
/* 8037CBBC 00379B1C 3C A0 CC 01 */ lis r5, 0xCC008000@ha
/* 8037CBC0 00379B20 3C 60 23 01 */ lis r3, 0x2300ADBF@ha
/* 8037CBC4 00379B24 98 05 80 00 */ stb r0, 0xCC008000@l(r5)
/* 8037CBC8 00379B28 38 03 AD BF */ addi r0, r3, 0x2300ADBF@l
/* 8037CBCC 00379B2C 90 05 80 00 */ stw r0, 0xCC008000@l(r5)
/* 8037CBD0 00379B30 48 00 01 50 */ b lbl_8037CD20
lbl_8037CBD4:
/* 8037CBD4 00379B34 38 00 00 61 */ li r0, 0x61
/* 8037CBD8 00379B38 3C A0 CC 01 */ lis r5, 0xCC008000@ha
/* 8037CBDC 00379B3C 3C 60 23 01 */ lis r3, 0x2300ADFF@ha
/* 8037CBE0 00379B40 98 05 80 00 */ stb r0, 0xCC008000@l(r5)
/* 8037CBE4 00379B44 38 03 AD FF */ addi r0, r3, 0x2300ADFF@l
/* 8037CBE8 00379B48 90 05 80 00 */ stw r0, 0xCC008000@l(r5)
/* 8037CBEC 00379B4C 48 00 01 34 */ b lbl_8037CD20
lbl_8037CBF0:
/* 8037CBF0 00379B50 38 00 00 61 */ li r0, 0x61
/* 8037CBF4 00379B54 3C A0 CC 01 */ lis r5, 0xCC008000@ha
/* 8037CBF8 00379B58 3C 60 23 01 */ lis r3, 0x2300AE3F@ha
/* 8037CBFC 00379B5C 98 05 80 00 */ stb r0, 0xCC008000@l(r5)
/* 8037CC00 00379B60 38 03 AE 3F */ addi r0, r3, 0x2300AE3F@l
/* 8037CC04 00379B64 90 05 80 00 */ stw r0, 0xCC008000@l(r5)
/* 8037CC08 00379B68 48 00 01 18 */ b lbl_8037CD20
lbl_8037CC0C:
/* 8037CC0C 00379B6C 38 00 00 61 */ li r0, 0x61
/* 8037CC10 00379B70 3C A0 CC 01 */ lis r5, 0xCC008000@ha
/* 8037CC14 00379B74 3C 60 23 01 */ lis r3, 0x2300A27F@ha
/* 8037CC18 00379B78 98 05 80 00 */ stb r0, 0xCC008000@l(r5)
/* 8037CC1C 00379B7C 38 03 A2 7F */ addi r0, r3, 0x2300A27F@l
/* 8037CC20 00379B80 90 05 80 00 */ stw r0, 0xCC008000@l(r5)
/* 8037CC24 00379B84 48 00 00 FC */ b lbl_8037CD20
lbl_8037CC28:
/* 8037CC28 00379B88 38 00 00 61 */ li r0, 0x61
/* 8037CC2C 00379B8C 3C A0 CC 01 */ lis r5, 0xCC008000@ha
/* 8037CC30 00379B90 3C 60 23 01 */ lis r3, 0x2300A67F@ha
/* 8037CC34 00379B94 98 05 80 00 */ stb r0, 0xCC008000@l(r5)
/* 8037CC38 00379B98 38 03 A6 7F */ addi r0, r3, 0x2300A67F@l
/* 8037CC3C 00379B9C 90 05 80 00 */ stw r0, 0xCC008000@l(r5)
/* 8037CC40 00379BA0 48 00 00 E0 */ b lbl_8037CD20
lbl_8037CC44:
/* 8037CC44 00379BA4 38 00 00 61 */ li r0, 0x61
/* 8037CC48 00379BA8 3C A0 CC 01 */ lis r5, 0xCC008000@ha
/* 8037CC4C 00379BAC 3C 60 23 01 */ lis r3, 0x2300AA7F@ha
/* 8037CC50 00379BB0 98 05 80 00 */ stb r0, 0xCC008000@l(r5)
/* 8037CC54 00379BB4 38 03 AA 7F */ addi r0, r3, 0x2300AA7F@l
/* 8037CC58 00379BB8 90 05 80 00 */ stw r0, 0xCC008000@l(r5)
/* 8037CC5C 00379BBC 48 00 00 C4 */ b lbl_8037CD20
lbl_8037CC60:
/* 8037CC60 00379BC0 38 00 00 61 */ li r0, 0x61
/* 8037CC64 00379BC4 3C A0 CC 01 */ lis r5, 0xCC008000@ha
/* 8037CC68 00379BC8 3C 60 24 03 */ lis r3, 0x2402C0C6@ha
/* 8037CC6C 00379BCC 98 05 80 00 */ stb r0, 0xCC008000@l(r5)
/* 8037CC70 00379BD0 38 03 C0 C6 */ addi r0, r3, 0x2402C0C6@l
/* 8037CC74 00379BD4 90 05 80 00 */ stw r0, 0xCC008000@l(r5)
/* 8037CC78 00379BD8 48 00 00 A8 */ b lbl_8037CD20
lbl_8037CC7C:
/* 8037CC7C 00379BDC 38 00 00 61 */ li r0, 0x61
/* 8037CC80 00379BE0 3C A0 CC 01 */ lis r5, 0xCC008000@ha
/* 8037CC84 00379BE4 3C 60 24 03 */ lis r3, 0x2402C16B@ha
/* 8037CC88 00379BE8 98 05 80 00 */ stb r0, 0xCC008000@l(r5)
/* 8037CC8C 00379BEC 38 03 C1 6B */ addi r0, r3, 0x2402C16B@l
/* 8037CC90 00379BF0 90 05 80 00 */ stw r0, 0xCC008000@l(r5)
/* 8037CC94 00379BF4 48 00 00 8C */ b lbl_8037CD20
lbl_8037CC98:
/* 8037CC98 00379BF8 38 00 00 61 */ li r0, 0x61
/* 8037CC9C 00379BFC 3C A0 CC 01 */ lis r5, 0xCC008000@ha
/* 8037CCA0 00379C00 3C 60 24 03 */ lis r3, 0x2402C0E7@ha
/* 8037CCA4 00379C04 98 05 80 00 */ stb r0, 0xCC008000@l(r5)
/* 8037CCA8 00379C08 38 03 C0 E7 */ addi r0, r3, 0x2402C0E7@l
/* 8037CCAC 00379C0C 90 05 80 00 */ stw r0, 0xCC008000@l(r5)
/* 8037CCB0 00379C10 48 00 00 70 */ b lbl_8037CD20
lbl_8037CCB4:
/* 8037CCB4 00379C14 38 00 00 61 */ li r0, 0x61
/* 8037CCB8 00379C18 3C A0 CC 01 */ lis r5, 0xCC008000@ha
/* 8037CCBC 00379C1C 3C 60 24 03 */ lis r3, 0x2402C108@ha
/* 8037CCC0 00379C20 98 05 80 00 */ stb r0, 0xCC008000@l(r5)
/* 8037CCC4 00379C24 38 03 C1 08 */ addi r0, r3, 0x2402C108@l
/* 8037CCC8 00379C28 90 05 80 00 */ stw r0, 0xCC008000@l(r5)
/* 8037CCCC 00379C2C 48 00 00 54 */ b lbl_8037CD20
lbl_8037CCD0:
/* 8037CCD0 00379C30 38 00 00 61 */ li r0, 0x61
/* 8037CCD4 00379C34 3C A0 CC 01 */ lis r5, 0xCC008000@ha
/* 8037CCD8 00379C38 3C 60 24 03 */ lis r3, 0x2402C129@ha
/* 8037CCDC 00379C3C 98 05 80 00 */ stb r0, 0xCC008000@l(r5)
/* 8037CCE0 00379C40 38 03 C1 29 */ addi r0, r3, 0x2402C129@l
/* 8037CCE4 00379C44 90 05 80 00 */ stw r0, 0xCC008000@l(r5)
/* 8037CCE8 00379C48 48 00 00 38 */ b lbl_8037CD20
lbl_8037CCEC:
/* 8037CCEC 00379C4C 38 00 00 61 */ li r0, 0x61
/* 8037CCF0 00379C50 3C A0 CC 01 */ lis r5, 0xCC008000@ha
/* 8037CCF4 00379C54 3C 60 24 03 */ lis r3, 0x2402C14A@ha
/* 8037CCF8 00379C58 98 05 80 00 */ stb r0, 0xCC008000@l(r5)
/* 8037CCFC 00379C5C 38 03 C1 4A */ addi r0, r3, 0x2402C14A@l
/* 8037CD00 00379C60 90 05 80 00 */ stw r0, 0xCC008000@l(r5)
/* 8037CD04 00379C64 48 00 00 1C */ b lbl_8037CD20
lbl_8037CD08:
/* 8037CD08 00379C68 38 00 00 61 */ li r0, 0x61
/* 8037CD0C 00379C6C 3C A0 CC 01 */ lis r5, 0xCC008000@ha
/* 8037CD10 00379C70 3C 60 24 03 */ lis r3, 0x2402C1AD@ha
/* 8037CD14 00379C74 98 05 80 00 */ stb r0, 0xCC008000@l(r5)
/* 8037CD18 00379C78 38 03 C1 AD */ addi r0, r3, 0x2402C1AD@l
/* 8037CD1C 00379C7C 90 05 80 00 */ stw r0, 0xCC008000@l(r5)
lbl_8037CD20:
/* 8037CD20 00379C80 80 62 CE 08 */ lwz r3, __GXData@sda21(r2)
/* 8037CD24 00379C84 90 83 04 E8 */ stw r4, 0x4e8(r3)
/* 8037CD28 00379C88 80 03 04 E8 */ lwz r0, 0x4e8(r3)
/* 8037CD2C 00379C8C 28 00 00 16 */ cmplwi r0, 0x16
/* 8037CD30 00379C90 41 81 02 F0 */ bgt lbl_8037D020
/* 8037CD34 00379C94 3C 80 80 3F */ lis r4, lbl_803F0CB0@ha
/* 8037CD38 00379C98 38 84 0C B0 */ addi r4, r4, lbl_803F0CB0@l
/* 8037CD3C 00379C9C 54 00 10 3A */ slwi r0, r0, 2
/* 8037CD40 00379CA0 7C 04 00 2E */ lwzx r0, r4, r0
/* 8037CD44 00379CA4 7C 09 03 A6 */ mtctr r0
/* 8037CD48 00379CA8 4E 80 04 20 */ bctr
lbl_8037CD4C:
/* 8037CD4C 00379CAC 38 00 00 61 */ li r0, 0x61
/* 8037CD50 00379CB0 3C 80 CC 01 */ lis r4, 0xCC008000@ha
/* 8037CD54 00379CB4 3C 60 67 00 */ lis r3, 0x67000042@ha
/* 8037CD58 00379CB8 98 04 80 00 */ stb r0, 0xCC008000@l(r4)
/* 8037CD5C 00379CBC 38 03 00 42 */ addi r0, r3, 0x67000042@l
/* 8037CD60 00379CC0 90 04 80 00 */ stw r0, 0xCC008000@l(r4)
/* 8037CD64 00379CC4 48 00 02 BC */ b lbl_8037D020
lbl_8037CD68:
/* 8037CD68 00379CC8 38 00 00 61 */ li r0, 0x61
/* 8037CD6C 00379CCC 3C 80 CC 01 */ lis r4, 0xCC008000@ha
/* 8037CD70 00379CD0 3C 60 67 00 */ lis r3, 0x67000084@ha
/* 8037CD74 00379CD4 98 04 80 00 */ stb r0, 0xCC008000@l(r4)
/* 8037CD78 00379CD8 38 03 00 84 */ addi r0, r3, 0x67000084@l
/* 8037CD7C 00379CDC 90 04 80 00 */ stw r0, 0xCC008000@l(r4)
/* 8037CD80 00379CE0 48 00 02 A0 */ b lbl_8037D020
lbl_8037CD84:
/* 8037CD84 00379CE4 38 00 00 61 */ li r0, 0x61
/* 8037CD88 00379CE8 3C 80 CC 01 */ lis r4, 0xCC008000@ha
/* 8037CD8C 00379CEC 3C 60 67 00 */ lis r3, 0x67000063@ha
/* 8037CD90 00379CF0 98 04 80 00 */ stb r0, 0xCC008000@l(r4)
/* 8037CD94 00379CF4 38 03 00 63 */ addi r0, r3, 0x67000063@l
/* 8037CD98 00379CF8 90 04 80 00 */ stw r0, 0xCC008000@l(r4)
/* 8037CD9C 00379CFC 48 00 02 84 */ b lbl_8037D020
lbl_8037CDA0:
/* 8037CDA0 00379D00 38 00 00 61 */ li r0, 0x61
/* 8037CDA4 00379D04 3C 80 CC 01 */ lis r4, 0xCC008000@ha
/* 8037CDA8 00379D08 3C 60 67 00 */ lis r3, 0x67000129@ha
/* 8037CDAC 00379D0C 98 04 80 00 */ stb r0, 0xCC008000@l(r4)
/* 8037CDB0 00379D10 38 03 01 29 */ addi r0, r3, 0x67000129@l
/* 8037CDB4 00379D14 90 04 80 00 */ stw r0, 0xCC008000@l(r4)
/* 8037CDB8 00379D18 48 00 02 68 */ b lbl_8037D020
lbl_8037CDBC:
/* 8037CDBC 00379D1C 38 00 00 61 */ li r0, 0x61
/* 8037CDC0 00379D20 3C 80 CC 01 */ lis r4, 0xCC008000@ha
/* 8037CDC4 00379D24 3C 60 67 00 */ lis r3, 0x67000252@ha
/* 8037CDC8 00379D28 98 04 80 00 */ stb r0, 0xCC008000@l(r4)
/* 8037CDCC 00379D2C 38 03 02 52 */ addi r0, r3, 0x67000252@l
/* 8037CDD0 00379D30 90 04 80 00 */ stw r0, 0xCC008000@l(r4)
/* 8037CDD4 00379D34 48 00 02 4C */ b lbl_8037D020
lbl_8037CDD8:
/* 8037CDD8 00379D38 38 00 00 61 */ li r0, 0x61
/* 8037CDDC 00379D3C 3C 80 CC 01 */ lis r4, 0xCC008000@ha
/* 8037CDE0 00379D40 3C 60 67 00 */ lis r3, 0x67000021@ha
/* 8037CDE4 00379D44 98 04 80 00 */ stb r0, 0xCC008000@l(r4)
/* 8037CDE8 00379D48 38 03 00 21 */ addi r0, r3, 0x67000021@l
/* 8037CDEC 00379D4C 90 04 80 00 */ stw r0, 0xCC008000@l(r4)
/* 8037CDF0 00379D50 48 00 02 30 */ b lbl_8037D020
lbl_8037CDF4:
/* 8037CDF4 00379D54 38 00 00 61 */ li r0, 0x61
/* 8037CDF8 00379D58 3C 80 CC 01 */ lis r4, 0xCC008000@ha
/* 8037CDFC 00379D5C 3C 60 67 00 */ lis r3, 0x6700014B@ha
/* 8037CE00 00379D60 98 04 80 00 */ stb r0, 0xCC008000@l(r4)
/* 8037CE04 00379D64 38 03 01 4B */ addi r0, r3, 0x6700014B@l
/* 8037CE08 00379D68 90 04 80 00 */ stw r0, 0xCC008000@l(r4)
/* 8037CE0C 00379D6C 48 00 02 14 */ b lbl_8037D020
lbl_8037CE10:
/* 8037CE10 00379D70 38 00 00 61 */ li r0, 0x61
/* 8037CE14 00379D74 3C 80 CC 01 */ lis r4, 0xCC008000@ha
/* 8037CE18 00379D78 3C 60 67 00 */ lis r3, 0x6700018D@ha
/* 8037CE1C 00379D7C 98 04 80 00 */ stb r0, 0xCC008000@l(r4)
/* 8037CE20 00379D80 38 03 01 8D */ addi r0, r3, 0x6700018D@l
/* 8037CE24 00379D84 90 04 80 00 */ stw r0, 0xCC008000@l(r4)
/* 8037CE28 00379D88 48 00 01 F8 */ b lbl_8037D020
lbl_8037CE2C:
/* 8037CE2C 00379D8C 38 00 00 61 */ li r0, 0x61
/* 8037CE30 00379D90 3C 80 CC 01 */ lis r4, 0xCC008000@ha
/* 8037CE34 00379D94 3C 60 67 00 */ lis r3, 0x670001CF@ha
/* 8037CE38 00379D98 98 04 80 00 */ stb r0, 0xCC008000@l(r4)
/* 8037CE3C 00379D9C 38 03 01 CF */ addi r0, r3, 0x670001CF@l
/* 8037CE40 00379DA0 90 04 80 00 */ stw r0, 0xCC008000@l(r4)
/* 8037CE44 00379DA4 48 00 01 DC */ b lbl_8037D020
lbl_8037CE48:
/* 8037CE48 00379DA8 38 00 00 61 */ li r0, 0x61
/* 8037CE4C 00379DAC 3C 80 CC 01 */ lis r4, 0xCC008000@ha
/* 8037CE50 00379DB0 3C 60 67 00 */ lis r3, 0x67000211@ha
/* 8037CE54 00379DB4 98 04 80 00 */ stb r0, 0xCC008000@l(r4)
/* 8037CE58 00379DB8 38 03 02 11 */ addi r0, r3, 0x67000211@l
/* 8037CE5C 00379DBC 90 04 80 00 */ stw r0, 0xCC008000@l(r4)
/* 8037CE60 00379DC0 48 00 01 C0 */ b lbl_8037D020
lbl_8037CE64:
/* 8037CE64 00379DC4 80 03 04 EC */ lwz r0, 0x4ec(r3)
/* 8037CE68 00379DC8 38 A0 00 08 */ li r5, 8
/* 8037CE6C 00379DCC 3C 80 CC 01 */ lis r4, 0xCC008000@ha
/* 8037CE70 00379DD0 54 00 07 2E */ rlwinm r0, r0, 0, 0x1c, 0x17
/* 8037CE74 00379DD4 60 00 00 20 */ ori r0, r0, 0x20
/* 8037CE78 00379DD8 90 03 04 EC */ stw r0, 0x4ec(r3)
/* 8037CE7C 00379DDC 38 00 00 20 */ li r0, 0x20
/* 8037CE80 00379DE0 98 A4 80 00 */ stb r5, 0xCC008000@l(r4)
/* 8037CE84 00379DE4 98 04 80 00 */ stb r0, 0xCC008000@l(r4)
/* 8037CE88 00379DE8 80 03 04 EC */ lwz r0, 0x4ec(r3)
/* 8037CE8C 00379DEC 90 04 80 00 */ stw r0, 0xCC008000@l(r4)
/* 8037CE90 00379DF0 48 00 01 90 */ b lbl_8037D020
lbl_8037CE94:
/* 8037CE94 00379DF4 80 03 04 EC */ lwz r0, 0x4ec(r3)
/* 8037CE98 00379DF8 38 A0 00 08 */ li r5, 8
/* 8037CE9C 00379DFC 3C 80 CC 01 */ lis r4, 0xCC008000@ha
/* 8037CEA0 00379E00 54 00 07 2E */ rlwinm r0, r0, 0, 0x1c, 0x17
/* 8037CEA4 00379E04 60 00 00 30 */ ori r0, r0, 0x30
/* 8037CEA8 00379E08 90 03 04 EC */ stw r0, 0x4ec(r3)
/* 8037CEAC 00379E0C 38 00 00 20 */ li r0, 0x20
/* 8037CEB0 00379E10 98 A4 80 00 */ stb r5, 0xCC008000@l(r4)
/* 8037CEB4 00379E14 98 04 80 00 */ stb r0, 0xCC008000@l(r4)
/* 8037CEB8 00379E18 80 03 04 EC */ lwz r0, 0x4ec(r3)
/* 8037CEBC 00379E1C 90 04 80 00 */ stw r0, 0xCC008000@l(r4)
/* 8037CEC0 00379E20 48 00 01 60 */ b lbl_8037D020
lbl_8037CEC4:
/* 8037CEC4 00379E24 80 03 04 EC */ lwz r0, 0x4ec(r3)
/* 8037CEC8 00379E28 38 A0 00 08 */ li r5, 8
/* 8037CECC 00379E2C 3C 80 CC 01 */ lis r4, 0xCC008000@ha
/* 8037CED0 00379E30 54 00 07 2E */ rlwinm r0, r0, 0, 0x1c, 0x17
/* 8037CED4 00379E34 60 00 00 40 */ ori r0, r0, 0x40
/* 8037CED8 00379E38 90 03 04 EC */ stw r0, 0x4ec(r3)
/* 8037CEDC 00379E3C 38 00 00 20 */ li r0, 0x20
/* 8037CEE0 00379E40 98 A4 80 00 */ stb r5, 0xCC008000@l(r4)
/* 8037CEE4 00379E44 98 04 80 00 */ stb r0, 0xCC008000@l(r4)
/* 8037CEE8 00379E48 80 03 04 EC */ lwz r0, 0x4ec(r3)
/* 8037CEEC 00379E4C 90 04 80 00 */ stw r0, 0xCC008000@l(r4)
/* 8037CEF0 00379E50 48 00 01 30 */ b lbl_8037D020
lbl_8037CEF4:
/* 8037CEF4 00379E54 80 03 04 EC */ lwz r0, 0x4ec(r3)
/* 8037CEF8 00379E58 38 A0 00 08 */ li r5, 8
/* 8037CEFC 00379E5C 3C 80 CC 01 */ lis r4, 0xCC008000@ha
/* 8037CF00 00379E60 54 00 07 2E */ rlwinm r0, r0, 0, 0x1c, 0x17
/* 8037CF04 00379E64 60 00 00 50 */ ori r0, r0, 0x50
/* 8037CF08 00379E68 90 03 04 EC */ stw r0, 0x4ec(r3)
/* 8037CF0C 00379E6C 38 00 00 20 */ li r0, 0x20
/* 8037CF10 00379E70 98 A4 80 00 */ stb r5, 0xCC008000@l(r4)
/* 8037CF14 00379E74 98 04 80 00 */ stb r0, 0xCC008000@l(r4)
/* 8037CF18 00379E78 80 03 04 EC */ lwz r0, 0x4ec(r3)
/* 8037CF1C 00379E7C 90 04 80 00 */ stw r0, 0xCC008000@l(r4)
/* 8037CF20 00379E80 48 00 01 00 */ b lbl_8037D020
lbl_8037CF24:
/* 8037CF24 00379E84 80 03 04 EC */ lwz r0, 0x4ec(r3)
/* 8037CF28 00379E88 38 A0 00 08 */ li r5, 8
/* 8037CF2C 00379E8C 3C 80 CC 01 */ lis r4, 0xCC008000@ha
/* 8037CF30 00379E90 54 00 07 2E */ rlwinm r0, r0, 0, 0x1c, 0x17
/* 8037CF34 00379E94 60 00 00 60 */ ori r0, r0, 0x60
/* 8037CF38 00379E98 90 03 04 EC */ stw r0, 0x4ec(r3)
/* 8037CF3C 00379E9C 38 00 00 20 */ li r0, 0x20
/* 8037CF40 00379EA0 98 A4 80 00 */ stb r5, 0xCC008000@l(r4)
/* 8037CF44 00379EA4 98 04 80 00 */ stb r0, 0xCC008000@l(r4)
/* 8037CF48 00379EA8 80 03 04 EC */ lwz r0, 0x4ec(r3)
/* 8037CF4C 00379EAC 90 04 80 00 */ stw r0, 0xCC008000@l(r4)
/* 8037CF50 00379EB0 48 00 00 D0 */ b lbl_8037D020
lbl_8037CF54:
/* 8037CF54 00379EB4 80 03 04 EC */ lwz r0, 0x4ec(r3)
/* 8037CF58 00379EB8 38 A0 00 08 */ li r5, 8
/* 8037CF5C 00379EBC 3C 80 CC 01 */ lis r4, 0xCC008000@ha
/* 8037CF60 00379EC0 54 00 07 2E */ rlwinm r0, r0, 0, 0x1c, 0x17
/* 8037CF64 00379EC4 60 00 00 70 */ ori r0, r0, 0x70
/* 8037CF68 00379EC8 90 03 04 EC */ stw r0, 0x4ec(r3)
/* 8037CF6C 00379ECC 38 00 00 20 */ li r0, 0x20
/* 8037CF70 00379ED0 98 A4 80 00 */ stb r5, 0xCC008000@l(r4)
/* 8037CF74 00379ED4 98 04 80 00 */ stb r0, 0xCC008000@l(r4)
/* 8037CF78 00379ED8 80 03 04 EC */ lwz r0, 0x4ec(r3)
/* 8037CF7C 00379EDC 90 04 80 00 */ stw r0, 0xCC008000@l(r4)
/* 8037CF80 00379EE0 48 00 00 A0 */ b lbl_8037D020
lbl_8037CF84:
/* 8037CF84 00379EE4 80 03 04 EC */ lwz r0, 0x4ec(r3)
/* 8037CF88 00379EE8 38 A0 00 08 */ li r5, 8
/* 8037CF8C 00379EEC 3C 80 CC 01 */ lis r4, 0xCC008000@ha
/* 8037CF90 00379EF0 54 00 07 2E */ rlwinm r0, r0, 0, 0x1c, 0x17
/* 8037CF94 00379EF4 60 00 00 90 */ ori r0, r0, 0x90
/* 8037CF98 00379EF8 90 03 04 EC */ stw r0, 0x4ec(r3)
/* 8037CF9C 00379EFC 38 00 00 20 */ li r0, 0x20
/* 8037CFA0 00379F00 98 A4 80 00 */ stb r5, 0xCC008000@l(r4)
/* 8037CFA4 00379F04 98 04 80 00 */ stb r0, 0xCC008000@l(r4)
/* 8037CFA8 00379F08 80 03 04 EC */ lwz r0, 0x4ec(r3)
/* 8037CFAC 00379F0C 90 04 80 00 */ stw r0, 0xCC008000@l(r4)
/* 8037CFB0 00379F10 48 00 00 70 */ b lbl_8037D020
lbl_8037CFB4:
/* 8037CFB4 00379F14 80 03 04 EC */ lwz r0, 0x4ec(r3)
/* 8037CFB8 00379F18 38 A0 00 08 */ li r5, 8
/* 8037CFBC 00379F1C 3C 80 CC 01 */ lis r4, 0xCC008000@ha
/* 8037CFC0 00379F20 54 00 07 2E */ rlwinm r0, r0, 0, 0x1c, 0x17
/* 8037CFC4 00379F24 60 00 00 80 */ ori r0, r0, 0x80
/* 8037CFC8 00379F28 90 03 04 EC */ stw r0, 0x4ec(r3)
/* 8037CFCC 00379F2C 38 00 00 20 */ li r0, 0x20
/* 8037CFD0 00379F30 98 A4 80 00 */ stb r5, 0xCC008000@l(r4)
/* 8037CFD4 00379F34 98 04 80 00 */ stb r0, 0xCC008000@l(r4)
/* 8037CFD8 00379F38 80 03 04 EC */ lwz r0, 0x4ec(r3)
/* 8037CFDC 00379F3C 90 04 80 00 */ stw r0, 0xCC008000@l(r4)
/* 8037CFE0 00379F40 48 00 00 40 */ b lbl_8037D020
lbl_8037CFE4:
/* 8037CFE4 00379F44 80 6D AC 7C */ lwz r3, lbl_805A983C@sda21(r13)
/* 8037CFE8 00379F48 38 00 00 02 */ li r0, 2
/* 8037CFEC 00379F4C B0 03 00 06 */ sth r0, 6(r3)
/* 8037CFF0 00379F50 48 00 00 30 */ b lbl_8037D020
lbl_8037CFF4:
/* 8037CFF4 00379F54 80 6D AC 7C */ lwz r3, lbl_805A983C@sda21(r13)
/* 8037CFF8 00379F58 38 00 00 03 */ li r0, 3
/* 8037CFFC 00379F5C B0 03 00 06 */ sth r0, 6(r3)
/* 8037D000 00379F60 48 00 00 20 */ b lbl_8037D020
lbl_8037D004:
/* 8037D004 00379F64 80 6D AC 7C */ lwz r3, lbl_805A983C@sda21(r13)
/* 8037D008 00379F68 38 00 00 04 */ li r0, 4
/* 8037D00C 00379F6C B0 03 00 06 */ sth r0, 6(r3)
/* 8037D010 00379F70 48 00 00 10 */ b lbl_8037D020
lbl_8037D014:
/* 8037D014 00379F74 80 6D AC 7C */ lwz r3, lbl_805A983C@sda21(r13)
/* 8037D018 00379F78 38 00 00 05 */ li r0, 5
/* 8037D01C 00379F7C B0 03 00 06 */ sth r0, 6(r3)
lbl_8037D020:
/* 8037D020 00379F80 80 62 CE 08 */ lwz r3, __GXData@sda21(r2)
/* 8037D024 00379F84 38 00 00 00 */ li r0, 0
/* 8037D028 00379F88 B0 03 00 02 */ sth r0, 2(r3)
/* 8037D02C 00379F8C 4E 80 00 20 */ blr
.global GXClearGPMetric
GXClearGPMetric:
/* 8037D030 00379F90 80 6D AC 7C */ lwz r3, lbl_805A983C@sda21(r13)
/* 8037D034 00379F94 38 00 00 04 */ li r0, 4
/* 8037D038 00379F98 B0 03 00 04 */ sth r0, 4(r3)
/* 8037D03C 00379F9C 4E 80 00 20 */ blr

View File

@ -1,481 +0,0 @@
.include "macros.inc"
.section .sdata2
.balign 8
.global lbl_805AEBB8
lbl_805AEBB8:
# ROM: 0x3FB458
.4byte 0
.global lbl_805AEBBC
lbl_805AEBBC:
# ROM: 0x3FB45C
.float 0.5
.global lbl_805AEBC0
lbl_805AEBC0:
# ROM: 0x3FB460
.double 1.0
.global lbl_805AEBC8
lbl_805AEBC8:
# ROM: 0x3FB468
.float 2.0
.4byte 0
.global lbl_805AEBD0
lbl_805AEBD0:
# ROM: 0x3FB470
.4byte 0x3FE00000
.4byte 0
.global lbl_805AEBD8
lbl_805AEBD8:
# ROM: 0x3FB478
.4byte 0x4B00001E
.4byte 0
.global lbl_805AEBE0
lbl_805AEBE0:
# ROM: 0x3FB480
.double 4.503601774854144E15
.section .data
.balign 8
.global lbl_803F0C90
lbl_803F0C90:
# ROM: 0x3EDC90
.4byte 0
.4byte 0x00000001
.4byte 0x00000002
.4byte 0x00000003
.4byte 0x00000004
.4byte 0x00000004
.4byte 0x00000004
.4byte 0x00000005
.section .text, "ax"
.global GXSetFog
GXSetFog:
/* 8037BBFC 00378B5C 7C 08 02 A6 */ mflr r0
/* 8037BC00 00378B60 FC 04 18 00 */ fcmpu cr0, f4, f3
/* 8037BC04 00378B64 90 01 00 04 */ stw r0, 4(r1)
/* 8037BC08 00378B68 94 21 FF B8 */ stwu r1, -0x48(r1)
/* 8037BC0C 00378B6C 93 E1 00 44 */ stw r31, 0x44(r1)
/* 8037BC10 00378B70 3B E3 00 00 */ addi r31, r3, 0
/* 8037BC14 00378B74 93 C1 00 40 */ stw r30, 0x40(r1)
/* 8037BC18 00378B78 93 A1 00 3C */ stw r29, 0x3c(r1)
/* 8037BC1C 00378B7C 3B A4 00 00 */ addi r29, r4, 0
/* 8037BC20 00378B80 41 82 00 0C */ beq lbl_8037BC2C
/* 8037BC24 00378B84 FC 02 08 00 */ fcmpu cr0, f2, f1
/* 8037BC28 00378B88 40 82 00 14 */ bne lbl_8037BC3C
lbl_8037BC2C:
/* 8037BC2C 00378B8C C0 62 CE 98 */ lfs f3, lbl_805AEBB8@sda21(r2)
/* 8037BC30 00378B90 C0 82 CE 9C */ lfs f4, lbl_805AEBBC@sda21(r2)
/* 8037BC34 00378B94 FC A0 18 90 */ fmr f5, f3
/* 8037BC38 00378B98 48 00 00 20 */ b lbl_8037BC58
lbl_8037BC3C:
/* 8037BC3C 00378B9C EC 04 18 28 */ fsubs f0, f4, f3
/* 8037BC40 00378BA0 EC A2 08 28 */ fsubs f5, f2, f1
/* 8037BC44 00378BA4 EC 44 00 F2 */ fmuls f2, f4, f3
/* 8037BC48 00378BA8 EC 84 00 24 */ fdivs f4, f4, f0
/* 8037BC4C 00378BAC EC 00 01 72 */ fmuls f0, f0, f5
/* 8037BC50 00378BB0 EC A1 28 24 */ fdivs f5, f1, f5
/* 8037BC54 00378BB4 EC 62 00 24 */ fdivs f3, f2, f0
lbl_8037BC58:
/* 8037BC58 00378BB8 C0 22 CE 9C */ lfs f1, lbl_805AEBBC@sda21(r2)
/* 8037BC5C 00378BBC 38 60 00 00 */ li r3, 0
/* 8037BC60 00378BC0 C8 02 CE A0 */ lfd f0, lbl_805AEBC0@sda21(r2)
/* 8037BC64 00378BC4 48 00 00 0C */ b lbl_8037BC70
lbl_8037BC68:
/* 8037BC68 00378BC8 EC 84 00 72 */ fmuls f4, f4, f1
/* 8037BC6C 00378BCC 38 63 00 01 */ addi r3, r3, 1
lbl_8037BC70:
/* 8037BC70 00378BD0 FC 04 00 40 */ fcmpo cr0, f4, f0
/* 8037BC74 00378BD4 41 81 FF F4 */ bgt lbl_8037BC68
/* 8037BC78 00378BD8 C8 02 CE B0 */ lfd f0, lbl_805AEBD0@sda21(r2)
/* 8037BC7C 00378BDC C0 42 CE A8 */ lfs f2, lbl_805AEBC8@sda21(r2)
/* 8037BC80 00378BE0 C0 22 CE 98 */ lfs f1, lbl_805AEBB8@sda21(r2)
/* 8037BC84 00378BE4 48 00 00 0C */ b lbl_8037BC90
lbl_8037BC88:
/* 8037BC88 00378BE8 EC 84 00 B2 */ fmuls f4, f4, f2
/* 8037BC8C 00378BEC 38 63 FF FF */ addi r3, r3, -1
lbl_8037BC90:
/* 8037BC90 00378BF0 FC 04 08 40 */ fcmpo cr0, f4, f1
/* 8037BC94 00378BF4 40 81 00 0C */ ble lbl_8037BCA0
/* 8037BC98 00378BF8 FC 04 00 40 */ fcmpo cr0, f4, f0
/* 8037BC9C 00378BFC 41 80 FF EC */ blt lbl_8037BC88
lbl_8037BCA0:
/* 8037BCA0 00378C00 3B C3 00 01 */ addi r30, r3, 1
/* 8037BCA4 00378C04 C0 02 CE B8 */ lfs f0, lbl_805AEBD8@sda21(r2)
/* 8037BCA8 00378C08 38 00 00 01 */ li r0, 1
/* 8037BCAC 00378C0C C8 42 CE C0 */ lfd f2, lbl_805AEBE0@sda21(r2)
/* 8037BCB0 00378C10 7C 00 F0 30 */ slw r0, r0, r30
/* 8037BCB4 00378C14 EC 20 01 32 */ fmuls f1, f0, f4
/* 8037BCB8 00378C18 6C 03 80 00 */ xoris r3, r0, 0x8000
/* 8037BCBC 00378C1C D0 A1 00 28 */ stfs f5, 0x28(r1)
/* 8037BCC0 00378C20 3C 00 43 30 */ lis r0, 0x4330
/* 8037BCC4 00378C24 90 61 00 34 */ stw r3, 0x34(r1)
/* 8037BCC8 00378C28 90 01 00 30 */ stw r0, 0x30(r1)
/* 8037BCCC 00378C2C C8 01 00 30 */ lfd f0, 0x30(r1)
/* 8037BCD0 00378C30 EC 00 10 28 */ fsubs f0, f0, f2
/* 8037BCD4 00378C34 EC 03 00 24 */ fdivs f0, f3, f0
/* 8037BCD8 00378C38 D0 01 00 2C */ stfs f0, 0x2c(r1)
/* 8037BCDC 00378C3C 48 00 DC 79 */ bl __cvt_fp2unsigned
/* 8037BCE0 00378C40 80 01 00 2C */ lwz r0, 0x2c(r1)
/* 8037BCE4 00378C44 54 69 02 3E */ clrlwi r9, r3, 8
/* 8037BCE8 00378C48 88 DD 00 01 */ lbz r6, 1(r29)
/* 8037BCEC 00378C4C 57 C8 02 3E */ clrlwi r8, r30, 8
/* 8037BCF0 00378C50 54 04 A3 68 */ rlwinm r4, r0, 0x14, 0xd, 0x14
/* 8037BCF4 00378C54 50 04 A5 7E */ rlwimi r4, r0, 0x14, 0x15, 0x1f
/* 8037BCF8 00378C58 89 7D 00 02 */ lbz r11, 2(r29)
/* 8037BCFC 00378C5C 54 00 A3 18 */ rlwinm r0, r0, 0x14, 0xc, 0xc
/* 8037BD00 00378C60 88 BD 00 00 */ lbz r5, 0(r29)
/* 8037BD04 00378C64 50 80 03 7E */ rlwimi r0, r4, 0, 0xd, 0x1f
/* 8037BD08 00378C68 81 81 00 28 */ lwz r12, 0x28(r1)
/* 8037BD0C 00378C6C 54 07 02 3E */ clrlwi r7, r0, 8
/* 8037BD10 00378C70 80 62 CE 08 */ lwz r3, __GXData@sda21(r2)
/* 8037BD14 00378C74 64 EA EE 00 */ oris r10, r7, 0xee00
/* 8037BD18 00378C78 38 00 00 61 */ li r0, 0x61
/* 8037BD1C 00378C7C 3C 80 CC 01 */ lis r4, 0xCC008000@ha
/* 8037BD20 00378C80 98 04 80 00 */ stb r0, 0xCC008000@l(r4)
/* 8037BD24 00378C84 65 27 EF 00 */ oris r7, r9, 0xef00
/* 8037BD28 00378C88 54 C6 40 2E */ slwi r6, r6, 8
/* 8037BD2C 00378C8C 91 44 80 00 */ stw r10, 0xCC008000@l(r4)
/* 8037BD30 00378C90 55 8A A3 68 */ rlwinm r10, r12, 0x14, 0xd, 0x14
/* 8037BD34 00378C94 51 8A A5 7E */ rlwimi r10, r12, 0x14, 0x15, 0x1f
/* 8037BD38 00378C98 98 04 80 00 */ stb r0, 0xCC008000@l(r4)
/* 8037BD3C 00378C9C 55 89 A3 18 */ rlwinm r9, r12, 0x14, 0xc, 0xc
/* 8037BD40 00378CA0 51 49 03 7E */ rlwimi r9, r10, 0, 0xd, 0x1f
/* 8037BD44 00378CA4 90 E4 80 00 */ stw r7, 0xCC008000@l(r4)
/* 8037BD48 00378CA8 65 07 F0 00 */ oris r7, r8, 0xf000
/* 8037BD4C 00378CAC 51 66 06 3E */ rlwimi r6, r11, 0, 0x18, 0x1f
/* 8037BD50 00378CB0 98 04 80 00 */ stb r0, 0xCC008000@l(r4)
/* 8037BD54 00378CB4 90 E4 80 00 */ stw r7, 0xCC008000@l(r4)
/* 8037BD58 00378CB8 57 E7 A8 14 */ slwi r7, r31, 0x15
/* 8037BD5C 00378CBC 51 27 03 3E */ rlwimi r7, r9, 0, 0xc, 0x1f
/* 8037BD60 00378CC0 54 E7 02 3E */ clrlwi r7, r7, 8
/* 8037BD64 00378CC4 98 04 80 00 */ stb r0, 0xCC008000@l(r4)
/* 8037BD68 00378CC8 64 E7 F1 00 */ oris r7, r7, 0xf100
/* 8037BD6C 00378CCC 90 E4 80 00 */ stw r7, 0xCC008000@l(r4)
/* 8037BD70 00378CD0 98 04 80 00 */ stb r0, 0xCC008000@l(r4)
/* 8037BD74 00378CD4 54 A0 80 1E */ slwi r0, r5, 0x10
/* 8037BD78 00378CD8 50 C0 04 3E */ rlwimi r0, r6, 0, 0x10, 0x1f
/* 8037BD7C 00378CDC 54 00 02 3E */ clrlwi r0, r0, 8
/* 8037BD80 00378CE0 64 00 F2 00 */ oris r0, r0, 0xf200
/* 8037BD84 00378CE4 90 04 80 00 */ stw r0, 0xCC008000@l(r4)
/* 8037BD88 00378CE8 38 00 00 00 */ li r0, 0
/* 8037BD8C 00378CEC B0 03 00 02 */ sth r0, 2(r3)
/* 8037BD90 00378CF0 80 01 00 4C */ lwz r0, 0x4c(r1)
/* 8037BD94 00378CF4 83 E1 00 44 */ lwz r31, 0x44(r1)
/* 8037BD98 00378CF8 83 C1 00 40 */ lwz r30, 0x40(r1)
/* 8037BD9C 00378CFC 83 A1 00 3C */ lwz r29, 0x3c(r1)
/* 8037BDA0 00378D00 38 21 00 48 */ addi r1, r1, 0x48
/* 8037BDA4 00378D04 7C 08 03 A6 */ mtlr r0
/* 8037BDA8 00378D08 4E 80 00 20 */ blr
.global GXSetFogRangeAdj
GXSetFogRangeAdj:
/* 8037BDAC 00378D0C 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 8037BDB0 00378D10 41 82 00 C0 */ beq lbl_8037BE70
/* 8037BDB4 00378D14 A1 05 00 02 */ lhz r8, 2(r5)
/* 8037BDB8 00378D18 38 00 00 61 */ li r0, 0x61
/* 8037BDBC 00378D1C A1 45 00 00 */ lhz r10, 0(r5)
/* 8037BDC0 00378D20 3C C0 CC 01 */ lis r6, 0xCC008000@ha
/* 8037BDC4 00378D24 55 08 60 26 */ slwi r8, r8, 0xc
/* 8037BDC8 00378D28 51 48 05 3E */ rlwimi r8, r10, 0, 0x14, 0x1f
/* 8037BDCC 00378D2C 98 06 80 00 */ stb r0, 0xCC008000@l(r6)
/* 8037BDD0 00378D30 38 E0 00 E9 */ li r7, 0xe9
/* 8037BDD4 00378D34 55 09 02 3E */ clrlwi r9, r8, 8
/* 8037BDD8 00378D38 50 E9 C0 0E */ rlwimi r9, r7, 0x18, 0, 7
/* 8037BDDC 00378D3C 91 26 80 00 */ stw r9, 0xCC008000@l(r6)
/* 8037BDE0 00378D40 38 E0 00 EA */ li r7, 0xea
/* 8037BDE4 00378D44 54 E9 C0 0E */ slwi r9, r7, 0x18
/* 8037BDE8 00378D48 A5 45 00 04 */ lhzu r10, 4(r5)
/* 8037BDEC 00378D4C 38 E0 00 EB */ li r7, 0xeb
/* 8037BDF0 00378D50 A1 05 00 02 */ lhz r8, 2(r5)
/* 8037BDF4 00378D54 55 08 60 26 */ slwi r8, r8, 0xc
/* 8037BDF8 00378D58 98 06 80 00 */ stb r0, 0xCC008000@l(r6)
/* 8037BDFC 00378D5C 51 48 05 3E */ rlwimi r8, r10, 0, 0x14, 0x1f
/* 8037BE00 00378D60 51 09 02 3E */ rlwimi r9, r8, 0, 8, 0x1f
/* 8037BE04 00378D64 91 26 80 00 */ stw r9, 0xCC008000@l(r6)
/* 8037BE08 00378D68 54 E9 C0 0E */ slwi r9, r7, 0x18
/* 8037BE0C 00378D6C 38 E0 00 EC */ li r7, 0xec
/* 8037BE10 00378D70 A1 05 00 06 */ lhz r8, 6(r5)
/* 8037BE14 00378D74 A1 45 00 04 */ lhz r10, 4(r5)
/* 8037BE18 00378D78 55 08 60 26 */ slwi r8, r8, 0xc
/* 8037BE1C 00378D7C 51 48 05 3E */ rlwimi r8, r10, 0, 0x14, 0x1f
/* 8037BE20 00378D80 98 06 80 00 */ stb r0, 0xCC008000@l(r6)
/* 8037BE24 00378D84 51 09 02 3E */ rlwimi r9, r8, 0, 8, 0x1f
/* 8037BE28 00378D88 91 26 80 00 */ stw r9, 0xCC008000@l(r6)
/* 8037BE2C 00378D8C 54 E9 C0 0E */ slwi r9, r7, 0x18
/* 8037BE30 00378D90 38 E0 00 ED */ li r7, 0xed
/* 8037BE34 00378D94 A1 05 00 0A */ lhz r8, 0xa(r5)
/* 8037BE38 00378D98 A1 45 00 08 */ lhz r10, 8(r5)
/* 8037BE3C 00378D9C 55 08 60 26 */ slwi r8, r8, 0xc
/* 8037BE40 00378DA0 51 48 05 3E */ rlwimi r8, r10, 0, 0x14, 0x1f
/* 8037BE44 00378DA4 98 06 80 00 */ stb r0, 0xCC008000@l(r6)
/* 8037BE48 00378DA8 51 09 02 3E */ rlwimi r9, r8, 0, 8, 0x1f
/* 8037BE4C 00378DAC 91 26 80 00 */ stw r9, 0xCC008000@l(r6)
/* 8037BE50 00378DB0 A1 05 00 0E */ lhz r8, 0xe(r5)
/* 8037BE54 00378DB4 A1 45 00 0C */ lhz r10, 0xc(r5)
/* 8037BE58 00378DB8 55 08 60 26 */ slwi r8, r8, 0xc
/* 8037BE5C 00378DBC 51 48 05 3E */ rlwimi r8, r10, 0, 0x14, 0x1f
/* 8037BE60 00378DC0 98 06 80 00 */ stb r0, 0xCC008000@l(r6)
/* 8037BE64 00378DC4 55 09 02 3E */ clrlwi r9, r8, 8
/* 8037BE68 00378DC8 50 E9 C0 0E */ rlwimi r9, r7, 0x18, 0, 7
/* 8037BE6C 00378DCC 91 26 80 00 */ stw r9, 0xCC008000@l(r6)
lbl_8037BE70:
/* 8037BE70 00378DD0 54 85 04 3E */ clrlwi r5, r4, 0x10
/* 8037BE74 00378DD4 80 82 CE 08 */ lwz r4, __GXData@sda21(r2)
/* 8037BE78 00378DD8 38 05 01 56 */ addi r0, r5, 0x156
/* 8037BE7C 00378DDC 54 05 05 A8 */ rlwinm r5, r0, 0, 0x16, 0x14
/* 8037BE80 00378DE0 54 60 53 AA */ rlwinm r0, r3, 0xa, 0xe, 0x15
/* 8037BE84 00378DE4 7C A0 03 78 */ or r0, r5, r0
/* 8037BE88 00378DE8 54 05 02 3E */ clrlwi r5, r0, 8
/* 8037BE8C 00378DEC 38 00 00 61 */ li r0, 0x61
/* 8037BE90 00378DF0 3C 60 CC 01 */ lis r3, 0xCC008000@ha
/* 8037BE94 00378DF4 98 03 80 00 */ stb r0, 0xCC008000@l(r3)
/* 8037BE98 00378DF8 64 A5 E8 00 */ oris r5, r5, 0xe800
/* 8037BE9C 00378DFC 38 00 00 00 */ li r0, 0
/* 8037BEA0 00378E00 90 A3 80 00 */ stw r5, 0xCC008000@l(r3)
/* 8037BEA4 00378E04 B0 04 00 02 */ sth r0, 2(r4)
/* 8037BEA8 00378E08 4E 80 00 20 */ blr
.global GXSetBlendMode
GXSetBlendMode:
/* 8037BEAC 00378E0C 81 02 CE 08 */ lwz r8, __GXData@sda21(r2)
/* 8037BEB0 00378E10 20 03 00 03 */ subfic r0, r3, 3
/* 8037BEB4 00378E14 7C 07 00 34 */ cntlzw r7, r0
/* 8037BEB8 00378E18 20 03 00 02 */ subfic r0, r3, 2
/* 8037BEBC 00378E1C 81 28 01 D0 */ lwz r9, 0x1d0(r8)
/* 8037BEC0 00378E20 50 E9 35 28 */ rlwimi r9, r7, 6, 0x14, 0x14
/* 8037BEC4 00378E24 38 E9 00 00 */ addi r7, r9, 0
/* 8037BEC8 00378E28 50 67 07 FE */ rlwimi r7, r3, 0, 0x1f, 0x1f
/* 8037BECC 00378E2C 7C 00 00 34 */ cntlzw r0, r0
/* 8037BED0 00378E30 50 07 E7 BC */ rlwimi r7, r0, 0x1c, 0x1e, 0x1e
/* 8037BED4 00378E34 50 C7 64 26 */ rlwimi r7, r6, 0xc, 0x10, 0x13
/* 8037BED8 00378E38 50 87 45 6E */ rlwimi r7, r4, 8, 0x15, 0x17
/* 8037BEDC 00378E3C 38 00 00 61 */ li r0, 0x61
/* 8037BEE0 00378E40 3C 60 CC 01 */ lis r3, 0xCC008000@ha
/* 8037BEE4 00378E44 98 03 80 00 */ stb r0, 0xCC008000@l(r3)
/* 8037BEE8 00378E48 50 A7 2E 34 */ rlwimi r7, r5, 5, 0x18, 0x1a
/* 8037BEEC 00378E4C 38 00 00 00 */ li r0, 0
/* 8037BEF0 00378E50 90 E3 80 00 */ stw r7, 0xCC008000@l(r3)
/* 8037BEF4 00378E54 90 E8 01 D0 */ stw r7, 0x1d0(r8)
/* 8037BEF8 00378E58 B0 08 00 02 */ sth r0, 2(r8)
/* 8037BEFC 00378E5C 4E 80 00 20 */ blr
.global GXSetColorUpdate
GXSetColorUpdate:
/* 8037BF00 00378E60 80 A2 CE 08 */ lwz r5, __GXData@sda21(r2)
/* 8037BF04 00378E64 38 00 00 61 */ li r0, 0x61
/* 8037BF08 00378E68 3C 80 CC 01 */ lis r4, 0xCC008000@ha
/* 8037BF0C 00378E6C 80 C5 01 D0 */ lwz r6, 0x1d0(r5)
/* 8037BF10 00378E70 50 66 1F 38 */ rlwimi r6, r3, 3, 0x1c, 0x1c
/* 8037BF14 00378E74 98 04 80 00 */ stb r0, 0xCC008000@l(r4)
/* 8037BF18 00378E78 38 00 00 00 */ li r0, 0
/* 8037BF1C 00378E7C 90 C4 80 00 */ stw r6, 0xCC008000@l(r4)
/* 8037BF20 00378E80 90 C5 01 D0 */ stw r6, 0x1d0(r5)
/* 8037BF24 00378E84 B0 05 00 02 */ sth r0, 2(r5)
/* 8037BF28 00378E88 4E 80 00 20 */ blr
.global GXSetAlphaUpdate
GXSetAlphaUpdate:
/* 8037BF2C 00378E8C 80 A2 CE 08 */ lwz r5, __GXData@sda21(r2)
/* 8037BF30 00378E90 38 00 00 61 */ li r0, 0x61
/* 8037BF34 00378E94 3C 80 CC 01 */ lis r4, 0xCC008000@ha
/* 8037BF38 00378E98 80 C5 01 D0 */ lwz r6, 0x1d0(r5)
/* 8037BF3C 00378E9C 50 66 26 F6 */ rlwimi r6, r3, 4, 0x1b, 0x1b
/* 8037BF40 00378EA0 98 04 80 00 */ stb r0, 0xCC008000@l(r4)
/* 8037BF44 00378EA4 38 00 00 00 */ li r0, 0
/* 8037BF48 00378EA8 90 C4 80 00 */ stw r6, 0xCC008000@l(r4)
/* 8037BF4C 00378EAC 90 C5 01 D0 */ stw r6, 0x1d0(r5)
/* 8037BF50 00378EB0 B0 05 00 02 */ sth r0, 2(r5)
/* 8037BF54 00378EB4 4E 80 00 20 */ blr
.global GXSetZMode
GXSetZMode:
/* 8037BF58 00378EB8 80 C2 CE 08 */ lwz r6, __GXData@sda21(r2)
/* 8037BF5C 00378EBC 38 00 00 61 */ li r0, 0x61
/* 8037BF60 00378EC0 80 E6 01 D8 */ lwz r7, 0x1d8(r6)
/* 8037BF64 00378EC4 50 67 07 FE */ rlwimi r7, r3, 0, 0x1f, 0x1f
/* 8037BF68 00378EC8 3C 60 CC 01 */ lis r3, 0xCC008000@ha
/* 8037BF6C 00378ECC 98 03 80 00 */ stb r0, 0xCC008000@l(r3)
/* 8037BF70 00378ED0 50 87 0F 3C */ rlwimi r7, r4, 1, 0x1c, 0x1e
/* 8037BF74 00378ED4 50 A7 26 F6 */ rlwimi r7, r5, 4, 0x1b, 0x1b
/* 8037BF78 00378ED8 90 E3 80 00 */ stw r7, 0xCC008000@l(r3)
/* 8037BF7C 00378EDC 38 00 00 00 */ li r0, 0
/* 8037BF80 00378EE0 90 E6 01 D8 */ stw r7, 0x1d8(r6)
/* 8037BF84 00378EE4 B0 06 00 02 */ sth r0, 2(r6)
/* 8037BF88 00378EE8 4E 80 00 20 */ blr
.global GXSetZCompLoc
GXSetZCompLoc:
/* 8037BF8C 00378EEC 80 C2 CE 08 */ lwz r6, __GXData@sda21(r2)
/* 8037BF90 00378EF0 54 60 34 B2 */ rlwinm r0, r3, 6, 0x12, 0x19
/* 8037BF94 00378EF4 38 60 00 61 */ li r3, 0x61
/* 8037BF98 00378EF8 80 A6 01 DC */ lwz r5, 0x1dc(r6)
/* 8037BF9C 00378EFC 3C 80 CC 01 */ lis r4, 0xCC008000@ha
/* 8037BFA0 00378F00 54 A5 06 B0 */ rlwinm r5, r5, 0, 0x1a, 0x18
/* 8037BFA4 00378F04 7C A0 03 78 */ or r0, r5, r0
/* 8037BFA8 00378F08 90 06 01 DC */ stw r0, 0x1dc(r6)
/* 8037BFAC 00378F0C 38 00 00 00 */ li r0, 0
/* 8037BFB0 00378F10 98 64 80 00 */ stb r3, 0xCC008000@l(r4)
/* 8037BFB4 00378F14 80 66 01 DC */ lwz r3, 0x1dc(r6)
/* 8037BFB8 00378F18 90 64 80 00 */ stw r3, 0xCC008000@l(r4)
/* 8037BFBC 00378F1C B0 06 00 02 */ sth r0, 2(r6)
/* 8037BFC0 00378F20 4E 80 00 20 */ blr
.global GXSetPixelFmt
GXSetPixelFmt:
/* 8037BFC4 00378F24 80 E2 CE 08 */ lwz r7, __GXData@sda21(r2)
/* 8037BFC8 00378F28 3C A0 80 3F */ lis r5, lbl_803F0C90@ha
/* 8037BFCC 00378F2C 54 66 10 3A */ slwi r6, r3, 2
/* 8037BFD0 00378F30 38 05 0C 90 */ addi r0, r5, lbl_803F0C90@l
/* 8037BFD4 00378F34 81 07 01 DC */ lwz r8, 0x1dc(r7)
/* 8037BFD8 00378F38 7D 40 32 14 */ add r10, r0, r6
/* 8037BFDC 00378F3C 80 AA 00 00 */ lwz r5, 0(r10)
/* 8037BFE0 00378F40 55 06 00 38 */ rlwinm r6, r8, 0, 0, 0x1c
/* 8037BFE4 00378F44 54 80 18 38 */ slwi r0, r4, 3
/* 8037BFE8 00378F48 7C C4 2B 78 */ or r4, r6, r5
/* 8037BFEC 00378F4C 90 87 01 DC */ stw r4, 0x1dc(r7)
/* 8037BFF0 00378F50 80 87 01 DC */ lwz r4, 0x1dc(r7)
/* 8037BFF4 00378F54 54 84 07 72 */ rlwinm r4, r4, 0, 0x1d, 0x19
/* 8037BFF8 00378F58 7C 80 03 78 */ or r0, r4, r0
/* 8037BFFC 00378F5C 90 07 01 DC */ stw r0, 0x1dc(r7)
/* 8037C000 00378F60 80 A7 01 DC */ lwz r5, 0x1dc(r7)
/* 8037C004 00378F64 7C 08 28 40 */ cmplw r8, r5
/* 8037C008 00378F68 41 82 00 4C */ beq lbl_8037C054
/* 8037C00C 00378F6C 38 00 00 61 */ li r0, 0x61
/* 8037C010 00378F70 3C 80 CC 01 */ lis r4, 0xCC008000@ha
/* 8037C014 00378F74 98 04 80 00 */ stb r0, 0xCC008000@l(r4)
/* 8037C018 00378F78 2C 03 00 02 */ cmpwi r3, 2
/* 8037C01C 00378F7C 90 A4 80 00 */ stw r5, 0xCC008000@l(r4)
/* 8037C020 00378F80 40 82 00 0C */ bne lbl_8037C02C
/* 8037C024 00378F84 38 00 00 01 */ li r0, 1
/* 8037C028 00378F88 48 00 00 08 */ b lbl_8037C030
lbl_8037C02C:
/* 8037C02C 00378F8C 38 00 00 00 */ li r0, 0
lbl_8037C030:
/* 8037C030 00378F90 80 A2 CE 08 */ lwz r5, __GXData@sda21(r2)
/* 8037C034 00378F94 54 00 4B EC */ rlwinm r0, r0, 9, 0xf, 0x16
/* 8037C038 00378F98 80 85 02 04 */ lwz r4, 0x204(r5)
/* 8037C03C 00378F9C 54 84 05 EA */ rlwinm r4, r4, 0, 0x17, 0x15
/* 8037C040 00378FA0 7C 80 03 78 */ or r0, r4, r0
/* 8037C044 00378FA4 90 05 02 04 */ stw r0, 0x204(r5)
/* 8037C048 00378FA8 80 05 04 F4 */ lwz r0, 0x4f4(r5)
/* 8037C04C 00378FAC 60 00 00 04 */ ori r0, r0, 4
/* 8037C050 00378FB0 90 05 04 F4 */ stw r0, 0x4f4(r5)
lbl_8037C054:
/* 8037C054 00378FB4 80 0A 00 00 */ lwz r0, 0(r10)
/* 8037C058 00378FB8 28 00 00 04 */ cmplwi r0, 4
/* 8037C05C 00378FBC 40 82 00 40 */ bne lbl_8037C09C
/* 8037C060 00378FC0 80 A2 CE 08 */ lwz r5, __GXData@sda21(r2)
/* 8037C064 00378FC4 38 63 FF FC */ addi r3, r3, -4
/* 8037C068 00378FC8 38 00 00 61 */ li r0, 0x61
/* 8037C06C 00378FCC 80 85 01 D4 */ lwz r4, 0x1d4(r5)
/* 8037C070 00378FD0 54 84 05 E8 */ rlwinm r4, r4, 0, 0x17, 0x14
/* 8037C074 00378FD4 50 64 4D 6C */ rlwimi r4, r3, 9, 0x15, 0x16
/* 8037C078 00378FD8 90 85 01 D4 */ stw r4, 0x1d4(r5)
/* 8037C07C 00378FDC 3C 60 CC 01 */ lis r3, 0xCC008000@ha
/* 8037C080 00378FE0 80 85 01 D4 */ lwz r4, 0x1d4(r5)
/* 8037C084 00378FE4 54 84 02 3E */ clrlwi r4, r4, 8
/* 8037C088 00378FE8 64 84 42 00 */ oris r4, r4, 0x4200
/* 8037C08C 00378FEC 90 85 01 D4 */ stw r4, 0x1d4(r5)
/* 8037C090 00378FF0 98 03 80 00 */ stb r0, 0xCC008000@l(r3)
/* 8037C094 00378FF4 80 05 01 D4 */ lwz r0, 0x1d4(r5)
/* 8037C098 00378FF8 90 03 80 00 */ stw r0, 0xCC008000@l(r3)
lbl_8037C09C:
/* 8037C09C 00378FFC 80 62 CE 08 */ lwz r3, __GXData@sda21(r2)
/* 8037C0A0 00379000 38 00 00 00 */ li r0, 0
/* 8037C0A4 00379004 B0 03 00 02 */ sth r0, 2(r3)
/* 8037C0A8 00379008 4E 80 00 20 */ blr
.global GXSetDither
GXSetDither:
/* 8037C0AC 0037900C 80 C2 CE 08 */ lwz r6, __GXData@sda21(r2)
/* 8037C0B0 00379010 38 00 00 61 */ li r0, 0x61
/* 8037C0B4 00379014 3C 80 CC 01 */ lis r4, 0xCC008000@ha
/* 8037C0B8 00379018 80 A6 01 D0 */ lwz r5, 0x1d0(r6)
/* 8037C0BC 0037901C 54 63 15 BA */ rlwinm r3, r3, 2, 0x16, 0x1d
/* 8037C0C0 00379020 54 A5 07 B8 */ rlwinm r5, r5, 0, 0x1e, 0x1c
/* 8037C0C4 00379024 98 04 80 00 */ stb r0, 0xCC008000@l(r4)
/* 8037C0C8 00379028 7C A3 1B 78 */ or r3, r5, r3
/* 8037C0CC 0037902C 90 64 80 00 */ stw r3, 0xCC008000@l(r4)
/* 8037C0D0 00379030 38 00 00 00 */ li r0, 0
/* 8037C0D4 00379034 90 66 01 D0 */ stw r3, 0x1d0(r6)
/* 8037C0D8 00379038 B0 06 00 02 */ sth r0, 2(r6)
/* 8037C0DC 0037903C 4E 80 00 20 */ blr
.global GXSetDstAlpha
GXSetDstAlpha:
/* 8037C0E0 00379040 80 C2 CE 08 */ lwz r6, __GXData@sda21(r2)
/* 8037C0E4 00379044 54 85 06 3E */ clrlwi r5, r4, 0x18
/* 8037C0E8 00379048 38 00 00 61 */ li r0, 0x61
/* 8037C0EC 0037904C 80 E6 01 D4 */ lwz r7, 0x1d4(r6)
/* 8037C0F0 00379050 3C 80 CC 01 */ lis r4, 0xCC008000@ha
/* 8037C0F4 00379054 50 A7 06 3E */ rlwimi r7, r5, 0, 0x18, 0x1f
/* 8037C0F8 00379058 98 04 80 00 */ stb r0, 0xCC008000@l(r4)
/* 8037C0FC 0037905C 54 60 06 3E */ clrlwi r0, r3, 0x18
/* 8037C100 00379060 38 67 00 00 */ addi r3, r7, 0
/* 8037C104 00379064 50 03 45 EE */ rlwimi r3, r0, 8, 0x17, 0x17
/* 8037C108 00379068 90 64 80 00 */ stw r3, 0xCC008000@l(r4)
/* 8037C10C 0037906C 38 00 00 00 */ li r0, 0
/* 8037C110 00379070 90 66 01 D4 */ stw r3, 0x1d4(r6)
/* 8037C114 00379074 B0 06 00 02 */ sth r0, 2(r6)
/* 8037C118 00379078 4E 80 00 20 */ blr
.global GXSetFieldMask
GXSetFieldMask:
/* 8037C11C 0037907C 54 80 06 3E */ clrlwi r0, r4, 0x18
/* 8037C120 00379080 80 82 CE 08 */ lwz r4, __GXData@sda21(r2)
/* 8037C124 00379084 54 05 07 FA */ rlwinm r5, r0, 0, 0x1f, 0x1d
/* 8037C128 00379088 54 60 0D FC */ rlwinm r0, r3, 1, 0x17, 0x1e
/* 8037C12C 0037908C 7C A0 03 78 */ or r0, r5, r0
/* 8037C130 00379090 54 05 02 3E */ clrlwi r5, r0, 8
/* 8037C134 00379094 38 00 00 61 */ li r0, 0x61
/* 8037C138 00379098 3C 60 CC 01 */ lis r3, 0xCC008000@ha
/* 8037C13C 0037909C 98 03 80 00 */ stb r0, 0xCC008000@l(r3)
/* 8037C140 003790A0 64 A5 44 00 */ oris r5, r5, 0x4400
/* 8037C144 003790A4 38 00 00 00 */ li r0, 0
/* 8037C148 003790A8 90 A3 80 00 */ stw r5, 0xCC008000@l(r3)
/* 8037C14C 003790AC B0 04 00 02 */ sth r0, 2(r4)
/* 8037C150 003790B0 4E 80 00 20 */ blr
.global GXSetFieldMode
GXSetFieldMode:
/* 8037C154 003790B4 7C 08 02 A6 */ mflr r0
/* 8037C158 003790B8 90 01 00 04 */ stw r0, 4(r1)
/* 8037C15C 003790BC 54 80 B0 92 */ rlwinm r0, r4, 0x16, 2, 9
/* 8037C160 003790C0 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8037C164 003790C4 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8037C168 003790C8 3F E0 CC 01 */ lis r31, 0xCC008000@ha
/* 8037C16C 003790CC 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8037C170 003790D0 3B C0 00 61 */ li r30, 0x61
/* 8037C174 003790D4 93 A1 00 14 */ stw r29, 0x14(r1)
/* 8037C178 003790D8 7C 7D 1B 78 */ mr r29, r3
/* 8037C17C 003790DC 80 A2 CE 08 */ lwz r5, __GXData@sda21(r2)
/* 8037C180 003790E0 80 85 00 7C */ lwz r4, 0x7c(r5)
/* 8037C184 003790E4 54 84 02 90 */ rlwinm r4, r4, 0, 0xa, 8
/* 8037C188 003790E8 7C 80 03 78 */ or r0, r4, r0
/* 8037C18C 003790EC 90 05 00 7C */ stw r0, 0x7c(r5)
/* 8037C190 003790F0 9B DF 80 00 */ stb r30, 0xCC008000@l(r31)
/* 8037C194 003790F4 80 05 00 7C */ lwz r0, 0x7c(r5)
/* 8037C198 003790F8 90 1F 80 00 */ stw r0, 0xCC008000@l(r31)
/* 8037C19C 003790FC 4B FF F2 59 */ bl __GXFlushTextureState
/* 8037C1A0 00379100 57 A0 06 3E */ clrlwi r0, r29, 0x18
/* 8037C1A4 00379104 9B DF 80 00 */ stb r30, 0xCC008000@l(r31)
/* 8037C1A8 00379108 64 00 68 00 */ oris r0, r0, 0x6800
/* 8037C1AC 0037910C 90 1F 80 00 */ stw r0, 0xCC008000@l(r31)
/* 8037C1B0 00379110 4B FF F2 45 */ bl __GXFlushTextureState
/* 8037C1B4 00379114 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8037C1B8 00379118 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8037C1BC 0037911C 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8037C1C0 00379120 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 8037C1C4 00379124 38 21 00 20 */ addi r1, r1, 0x20
/* 8037C1C8 00379128 7C 08 03 A6 */ mtlr r0
/* 8037C1CC 0037912C 4E 80 00 20 */ blr

View File

@ -1,7 +0,0 @@
.include "macros.inc"
.section .text, "ax"
.global __GXSetRange
__GXSetRange:
/* 8037C1D0 00379130 4E 80 00 20 */ blr

View File

@ -1,625 +0,0 @@
.include "macros.inc"
.section .data
.balign 8
.global lbl_803F0C18
lbl_803F0C18:
# ROM: 0x3EDC18
.4byte 0xC008F8AF
.4byte 0xC008A89F
.4byte 0xC008AC8F
.4byte 0xC008FFF8
.4byte 0xC008FFFA
.4byte 0xC008F80F
.4byte 0xC008089F
.4byte 0xC0080C8F
.4byte 0xC008FFF8
.4byte 0xC008FFF0
.4byte 0xC108F2F0
.4byte 0xC108FFD0
.4byte 0xC108F2F0
.4byte 0xC108FFC0
.4byte 0xC108FFD0
.4byte 0xC108F070
.4byte 0xC108FF80
.4byte 0xC108F070
.4byte 0xC108FFC0
.4byte 0xC108FF80
.global lbl_803F0C68
lbl_803F0C68:
# ROM: 0x3EDC68
.4byte 0
.4byte 0x00000001
.4byte 0
.4byte 0x00000001
.4byte 0
.4byte 0x00000001
.4byte 0x00000007
.4byte 0x00000005
.4byte 0x00000006
.4byte 0
.section .text, "ax"
.global GXSetTevOp
GXSetTevOp:
/* 8037B418 00378378 2C 03 00 00 */ cmpwi r3, 0
/* 8037B41C 0037837C 3C A0 80 3F */ lis r5, lbl_803F0C18@ha
/* 8037B420 00378380 38 05 0C 18 */ addi r0, r5, lbl_803F0C18@l
/* 8037B424 00378384 40 82 00 14 */ bne lbl_8037B438
/* 8037B428 00378388 54 84 10 3A */ slwi r4, r4, 2
/* 8037B42C 0037838C 7C A0 22 14 */ add r5, r0, r4
/* 8037B430 00378390 39 25 00 28 */ addi r9, r5, 0x28
/* 8037B434 00378394 48 00 00 18 */ b lbl_8037B44C
lbl_8037B438:
/* 8037B438 00378398 54 84 10 3A */ slwi r4, r4, 2
/* 8037B43C 0037839C 7C A0 22 14 */ add r5, r0, r4
/* 8037B440 003783A0 7D 20 22 14 */ add r9, r0, r4
/* 8037B444 003783A4 38 A5 00 14 */ addi r5, r5, 0x14
/* 8037B448 003783A8 39 29 00 3C */ addi r9, r9, 0x3c
lbl_8037B44C:
/* 8037B44C 003783AC 80 E2 CE 08 */ lwz r7, __GXData@sda21(r2)
/* 8037B450 003783B0 54 63 10 3A */ slwi r3, r3, 2
/* 8037B454 003783B4 80 05 00 00 */ lwz r0, 0(r5)
/* 8037B458 003783B8 38 A0 00 61 */ li r5, 0x61
/* 8037B45C 003783BC 7C C7 1A 14 */ add r6, r7, r3
/* 8037B460 003783C0 80 66 01 30 */ lwz r3, 0x130(r6)
/* 8037B464 003783C4 3C 80 CC 01 */ lis r4, 0xCC008000@ha
/* 8037B468 003783C8 98 A4 80 00 */ stb r5, 0xCC008000@l(r4)
/* 8037B46C 003783CC 54 63 00 0E */ rlwinm r3, r3, 0, 0, 7
/* 8037B470 003783D0 50 03 02 3E */ rlwimi r3, r0, 0, 8, 0x1f
/* 8037B474 003783D4 90 64 80 00 */ stw r3, 0xCC008000@l(r4)
/* 8037B478 003783D8 38 00 00 00 */ li r0, 0
/* 8037B47C 003783DC 90 66 01 30 */ stw r3, 0x130(r6)
/* 8037B480 003783E0 81 06 01 70 */ lwz r8, 0x170(r6)
/* 8037B484 003783E4 80 69 00 00 */ lwz r3, 0(r9)
/* 8037B488 003783E8 55 08 07 0E */ rlwinm r8, r8, 0, 0x1c, 7
/* 8037B48C 003783EC 98 A4 80 00 */ stb r5, 0xCC008000@l(r4)
/* 8037B490 003783F0 50 68 02 36 */ rlwimi r8, r3, 0, 8, 0x1b
/* 8037B494 003783F4 91 04 80 00 */ stw r8, 0xCC008000@l(r4)
/* 8037B498 003783F8 91 06 01 70 */ stw r8, 0x170(r6)
/* 8037B49C 003783FC B0 07 00 02 */ sth r0, 2(r7)
/* 8037B4A0 00378400 4E 80 00 20 */ blr
.global GXSetTevColorIn
GXSetTevColorIn:
/* 8037B4A4 00378404 81 22 CE 08 */ lwz r9, __GXData@sda21(r2)
/* 8037B4A8 00378408 54 63 10 3A */ slwi r3, r3, 2
/* 8037B4AC 0037840C 38 00 00 61 */ li r0, 0x61
/* 8037B4B0 00378410 7D 09 1A 14 */ add r8, r9, r3
/* 8037B4B4 00378414 81 48 01 30 */ lwz r10, 0x130(r8)
/* 8037B4B8 00378418 3C 60 CC 01 */ lis r3, 0xCC008000@ha
/* 8037B4BC 0037841C 50 8A 64 26 */ rlwimi r10, r4, 0xc, 0x10, 0x13
/* 8037B4C0 00378420 98 03 80 00 */ stb r0, 0xCC008000@l(r3)
/* 8037B4C4 00378424 38 8A 00 00 */ addi r4, r10, 0
/* 8037B4C8 00378428 50 A4 45 2E */ rlwimi r4, r5, 8, 0x14, 0x17
/* 8037B4CC 0037842C 50 C4 26 36 */ rlwimi r4, r6, 4, 0x18, 0x1b
/* 8037B4D0 00378430 50 E4 07 3E */ rlwimi r4, r7, 0, 0x1c, 0x1f
/* 8037B4D4 00378434 90 83 80 00 */ stw r4, 0xCC008000@l(r3)
/* 8037B4D8 00378438 38 00 00 00 */ li r0, 0
/* 8037B4DC 0037843C 90 88 01 30 */ stw r4, 0x130(r8)
/* 8037B4E0 00378440 B0 09 00 02 */ sth r0, 2(r9)
/* 8037B4E4 00378444 4E 80 00 20 */ blr
.global GXSetTevAlphaIn
GXSetTevAlphaIn:
/* 8037B4E8 00378448 81 22 CE 08 */ lwz r9, __GXData@sda21(r2)
/* 8037B4EC 0037844C 54 63 10 3A */ slwi r3, r3, 2
/* 8037B4F0 00378450 38 00 00 61 */ li r0, 0x61
/* 8037B4F4 00378454 7D 09 1A 14 */ add r8, r9, r3
/* 8037B4F8 00378458 81 48 01 70 */ lwz r10, 0x170(r8)
/* 8037B4FC 0037845C 3C 60 CC 01 */ lis r3, 0xCC008000@ha
/* 8037B500 00378460 50 8A 6C 24 */ rlwimi r10, r4, 0xd, 0x10, 0x12
/* 8037B504 00378464 98 03 80 00 */ stb r0, 0xCC008000@l(r3)
/* 8037B508 00378468 38 8A 00 00 */ addi r4, r10, 0
/* 8037B50C 0037846C 50 A4 54 EA */ rlwimi r4, r5, 0xa, 0x13, 0x15
/* 8037B510 00378470 50 C4 3D B0 */ rlwimi r4, r6, 7, 0x16, 0x18
/* 8037B514 00378474 50 E4 26 76 */ rlwimi r4, r7, 4, 0x19, 0x1b
/* 8037B518 00378478 90 83 80 00 */ stw r4, 0xCC008000@l(r3)
/* 8037B51C 0037847C 38 00 00 00 */ li r0, 0
/* 8037B520 00378480 90 88 01 70 */ stw r4, 0x170(r8)
/* 8037B524 00378484 B0 09 00 02 */ sth r0, 2(r9)
/* 8037B528 00378488 4E 80 00 20 */ blr
.global GXSetTevColorOp
GXSetTevColorOp:
/* 8037B52C 0037848C 80 02 CE 08 */ lwz r0, __GXData@sda21(r2)
/* 8037B530 00378490 54 69 10 3A */ slwi r9, r3, 2
/* 8037B534 00378494 2C 04 00 01 */ cmpwi r4, 1
/* 8037B538 00378498 7C 60 4A 14 */ add r3, r0, r9
/* 8037B53C 0037849C 80 63 01 30 */ lwz r3, 0x130(r3)
/* 8037B540 003784A0 50 83 93 5A */ rlwimi r3, r4, 0x12, 0xd, 0xd
/* 8037B544 003784A4 39 43 00 00 */ addi r10, r3, 0
/* 8037B548 003784A8 41 81 00 10 */ bgt lbl_8037B558
/* 8037B54C 003784AC 50 CA A2 96 */ rlwimi r10, r6, 0x14, 0xa, 0xb
/* 8037B550 003784B0 50 AA 83 9E */ rlwimi r10, r5, 0x10, 0xe, 0xf
/* 8037B554 003784B4 48 00 00 10 */ b lbl_8037B564
lbl_8037B558:
/* 8037B558 003784B8 38 00 00 03 */ li r0, 3
/* 8037B55C 003784BC 50 8A 9A 96 */ rlwimi r10, r4, 0x13, 0xa, 0xb
/* 8037B560 003784C0 50 0A 83 9E */ rlwimi r10, r0, 0x10, 0xe, 0xf
lbl_8037B564:
/* 8037B564 003784C4 38 00 00 61 */ li r0, 0x61
/* 8037B568 003784C8 80 82 CE 08 */ lwz r4, __GXData@sda21(r2)
/* 8037B56C 003784CC 3C A0 CC 01 */ lis r5, 0xCC008000@ha
/* 8037B570 003784D0 98 05 80 00 */ stb r0, 0xCC008000@l(r5)
/* 8037B574 003784D4 50 EA 9B 18 */ rlwimi r10, r7, 0x13, 0xc, 0xc
/* 8037B578 003784D8 51 0A B2 12 */ rlwimi r10, r8, 0x16, 8, 9
/* 8037B57C 003784DC 91 45 80 00 */ stw r10, 0xCC008000@l(r5)
/* 8037B580 003784E0 7C 64 4A 14 */ add r3, r4, r9
/* 8037B584 003784E4 38 00 00 00 */ li r0, 0
/* 8037B588 003784E8 91 43 01 30 */ stw r10, 0x130(r3)
/* 8037B58C 003784EC B0 04 00 02 */ sth r0, 2(r4)
/* 8037B590 003784F0 4E 80 00 20 */ blr
.global GXSetTevAlphaOp
GXSetTevAlphaOp:
/* 8037B594 003784F4 80 02 CE 08 */ lwz r0, __GXData@sda21(r2)
/* 8037B598 003784F8 54 69 10 3A */ slwi r9, r3, 2
/* 8037B59C 003784FC 2C 04 00 01 */ cmpwi r4, 1
/* 8037B5A0 00378500 7C 60 4A 14 */ add r3, r0, r9
/* 8037B5A4 00378504 80 63 01 70 */ lwz r3, 0x170(r3)
/* 8037B5A8 00378508 50 83 93 5A */ rlwimi r3, r4, 0x12, 0xd, 0xd
/* 8037B5AC 0037850C 39 43 00 00 */ addi r10, r3, 0
/* 8037B5B0 00378510 41 81 00 10 */ bgt lbl_8037B5C0
/* 8037B5B4 00378514 50 CA A2 96 */ rlwimi r10, r6, 0x14, 0xa, 0xb
/* 8037B5B8 00378518 50 AA 83 9E */ rlwimi r10, r5, 0x10, 0xe, 0xf
/* 8037B5BC 0037851C 48 00 00 10 */ b lbl_8037B5CC
lbl_8037B5C0:
/* 8037B5C0 00378520 38 00 00 03 */ li r0, 3
/* 8037B5C4 00378524 50 8A 9A 96 */ rlwimi r10, r4, 0x13, 0xa, 0xb
/* 8037B5C8 00378528 50 0A 83 9E */ rlwimi r10, r0, 0x10, 0xe, 0xf
lbl_8037B5CC:
/* 8037B5CC 0037852C 38 00 00 61 */ li r0, 0x61
/* 8037B5D0 00378530 80 82 CE 08 */ lwz r4, __GXData@sda21(r2)
/* 8037B5D4 00378534 3C A0 CC 01 */ lis r5, 0xCC008000@ha
/* 8037B5D8 00378538 98 05 80 00 */ stb r0, 0xCC008000@l(r5)
/* 8037B5DC 0037853C 50 EA 9B 18 */ rlwimi r10, r7, 0x13, 0xc, 0xc
/* 8037B5E0 00378540 51 0A B2 12 */ rlwimi r10, r8, 0x16, 8, 9
/* 8037B5E4 00378544 91 45 80 00 */ stw r10, 0xCC008000@l(r5)
/* 8037B5E8 00378548 7C 64 4A 14 */ add r3, r4, r9
/* 8037B5EC 0037854C 38 00 00 00 */ li r0, 0
/* 8037B5F0 00378550 91 43 01 70 */ stw r10, 0x170(r3)
/* 8037B5F4 00378554 B0 04 00 02 */ sth r0, 2(r4)
/* 8037B5F8 00378558 4E 80 00 20 */ blr
.global GXSetTevColor
GXSetTevColor:
/* 8037B5FC 0037855C 88 04 00 03 */ lbz r0, 3(r4)
/* 8037B600 00378560 54 68 08 3C */ slwi r8, r3, 1
/* 8037B604 00378564 88 A4 00 00 */ lbz r5, 0(r4)
/* 8037B608 00378568 38 E8 00 E0 */ addi r7, r8, 0xe0
/* 8037B60C 0037856C 54 09 60 26 */ slwi r9, r0, 0xc
/* 8037B610 00378570 50 A9 06 3E */ rlwimi r9, r5, 0, 0x18, 0x1f
/* 8037B614 00378574 89 44 00 02 */ lbz r10, 2(r4)
/* 8037B618 00378578 88 C4 00 01 */ lbz r6, 1(r4)
/* 8037B61C 0037857C 54 E7 C0 0E */ slwi r7, r7, 0x18
/* 8037B620 00378580 38 A0 00 61 */ li r5, 0x61
/* 8037B624 00378584 80 62 CE 08 */ lwz r3, __GXData@sda21(r2)
/* 8037B628 00378588 3C 80 CC 01 */ lis r4, 0xCC008000@ha
/* 8037B62C 0037858C 98 A4 80 00 */ stb r5, 0xCC008000@l(r4)
/* 8037B630 00378590 51 27 03 3E */ rlwimi r7, r9, 0, 0xc, 0x1f
/* 8037B634 00378594 38 08 00 E1 */ addi r0, r8, 0xe1
/* 8037B638 00378598 90 E4 80 00 */ stw r7, 0xCC008000@l(r4)
/* 8037B63C 0037859C 54 C7 60 26 */ slwi r7, r6, 0xc
/* 8037B640 003785A0 54 06 C0 0E */ slwi r6, r0, 0x18
/* 8037B644 003785A4 51 47 06 3E */ rlwimi r7, r10, 0, 0x18, 0x1f
/* 8037B648 003785A8 98 A4 80 00 */ stb r5, 0xCC008000@l(r4)
/* 8037B64C 003785AC 50 E6 03 3E */ rlwimi r6, r7, 0, 0xc, 0x1f
/* 8037B650 003785B0 90 C4 80 00 */ stw r6, 0xCC008000@l(r4)
/* 8037B654 003785B4 38 00 00 00 */ li r0, 0
/* 8037B658 003785B8 98 A4 80 00 */ stb r5, 0xCC008000@l(r4)
/* 8037B65C 003785BC 90 C4 80 00 */ stw r6, 0xCC008000@l(r4)
/* 8037B660 003785C0 98 A4 80 00 */ stb r5, 0xCC008000@l(r4)
/* 8037B664 003785C4 90 C4 80 00 */ stw r6, 0xCC008000@l(r4)
/* 8037B668 003785C8 B0 03 00 02 */ sth r0, 2(r3)
/* 8037B66C 003785CC 4E 80 00 20 */ blr
.global GXSetTevColorS10
GXSetTevColorS10:
/* 8037B670 003785D0 A8 04 00 06 */ lha r0, 6(r4)
/* 8037B674 003785D4 54 69 08 3C */ slwi r9, r3, 1
/* 8037B678 003785D8 A8 A4 00 00 */ lha r5, 0(r4)
/* 8037B67C 003785DC 39 09 00 E0 */ addi r8, r9, 0xe0
/* 8037B680 003785E0 54 0A 62 66 */ rlwinm r10, r0, 0xc, 9, 0x13
/* 8037B684 003785E4 50 AA 05 7E */ rlwimi r10, r5, 0, 0x15, 0x1f
/* 8037B688 003785E8 A8 E4 00 04 */ lha r7, 4(r4)
/* 8037B68C 003785EC A8 C4 00 02 */ lha r6, 2(r4)
/* 8037B690 003785F0 55 08 C0 0E */ slwi r8, r8, 0x18
/* 8037B694 003785F4 38 A0 00 61 */ li r5, 0x61
/* 8037B698 003785F8 80 62 CE 08 */ lwz r3, __GXData@sda21(r2)
/* 8037B69C 003785FC 3C 80 CC 01 */ lis r4, 0xCC008000@ha
/* 8037B6A0 00378600 98 A4 80 00 */ stb r5, 0xCC008000@l(r4)
/* 8037B6A4 00378604 51 48 02 7E */ rlwimi r8, r10, 0, 9, 0x1f
/* 8037B6A8 00378608 38 09 00 E1 */ addi r0, r9, 0xe1
/* 8037B6AC 0037860C 91 04 80 00 */ stw r8, 0xCC008000@l(r4)
/* 8037B6B0 00378610 54 C8 62 66 */ rlwinm r8, r6, 0xc, 9, 0x13
/* 8037B6B4 00378614 54 06 C0 0E */ slwi r6, r0, 0x18
/* 8037B6B8 00378618 50 E8 05 7E */ rlwimi r8, r7, 0, 0x15, 0x1f
/* 8037B6BC 0037861C 98 A4 80 00 */ stb r5, 0xCC008000@l(r4)
/* 8037B6C0 00378620 51 06 02 7E */ rlwimi r6, r8, 0, 9, 0x1f
/* 8037B6C4 00378624 90 C4 80 00 */ stw r6, 0xCC008000@l(r4)
/* 8037B6C8 00378628 38 00 00 00 */ li r0, 0
/* 8037B6CC 0037862C 98 A4 80 00 */ stb r5, 0xCC008000@l(r4)
/* 8037B6D0 00378630 90 C4 80 00 */ stw r6, 0xCC008000@l(r4)
/* 8037B6D4 00378634 98 A4 80 00 */ stb r5, 0xCC008000@l(r4)
/* 8037B6D8 00378638 90 C4 80 00 */ stw r6, 0xCC008000@l(r4)
/* 8037B6DC 0037863C B0 03 00 02 */ sth r0, 2(r3)
/* 8037B6E0 00378640 4E 80 00 20 */ blr
.global GXSetTevKColor
GXSetTevKColor:
/* 8037B6E4 00378644 88 04 00 03 */ lbz r0, 3(r4)
/* 8037B6E8 00378648 54 65 08 3C */ slwi r5, r3, 1
/* 8037B6EC 0037864C 88 C4 00 00 */ lbz r6, 0(r4)
/* 8037B6F0 00378650 38 E5 00 E0 */ addi r7, r5, 0xe0
/* 8037B6F4 00378654 54 00 60 26 */ slwi r0, r0, 0xc
/* 8037B6F8 00378658 50 C0 06 3E */ rlwimi r0, r6, 0, 0x18, 0x1f
/* 8037B6FC 0037865C 88 C4 00 01 */ lbz r6, 1(r4)
/* 8037B700 00378660 89 24 00 02 */ lbz r9, 2(r4)
/* 8037B704 00378664 54 00 03 0E */ rlwinm r0, r0, 0, 0xc, 7
/* 8037B708 00378668 64 08 00 80 */ oris r8, r0, 0x80
/* 8037B70C 0037866C 80 62 CE 08 */ lwz r3, __GXData@sda21(r2)
/* 8037B710 00378670 54 E7 C0 0E */ slwi r7, r7, 0x18
/* 8037B714 00378674 38 00 00 61 */ li r0, 0x61
/* 8037B718 00378678 3C 80 CC 01 */ lis r4, 0xCC008000@ha
/* 8037B71C 0037867C 54 C6 60 26 */ slwi r6, r6, 0xc
/* 8037B720 00378680 98 04 80 00 */ stb r0, 0xCC008000@l(r4)
/* 8037B724 00378684 51 07 02 3E */ rlwimi r7, r8, 0, 8, 0x1f
/* 8037B728 00378688 90 E4 80 00 */ stw r7, 0xCC008000@l(r4)
/* 8037B72C 0037868C 51 26 06 3E */ rlwimi r6, r9, 0, 0x18, 0x1f
/* 8037B730 00378690 38 A5 00 E1 */ addi r5, r5, 0xe1
/* 8037B734 00378694 98 04 80 00 */ stb r0, 0xCC008000@l(r4)
/* 8037B738 00378698 54 C0 03 0E */ rlwinm r0, r6, 0, 0xc, 7
/* 8037B73C 0037869C 64 06 00 80 */ oris r6, r0, 0x80
/* 8037B740 003786A0 54 A0 C0 0E */ slwi r0, r5, 0x18
/* 8037B744 003786A4 50 C0 02 3E */ rlwimi r0, r6, 0, 8, 0x1f
/* 8037B748 003786A8 90 04 80 00 */ stw r0, 0xCC008000@l(r4)
/* 8037B74C 003786AC 38 00 00 00 */ li r0, 0
/* 8037B750 003786B0 B0 03 00 02 */ sth r0, 2(r3)
/* 8037B754 003786B4 4E 80 00 20 */ blr
.global GXSetTevKColorSel
GXSetTevKColorSel:
/* 8037B758 003786B8 7C 65 0E 70 */ srawi r5, r3, 1
/* 8037B75C 003786BC 80 C2 CE 08 */ lwz r6, __GXData@sda21(r2)
/* 8037B760 003786C0 54 60 07 FF */ clrlwi. r0, r3, 0x1f
/* 8037B764 003786C4 54 A3 10 3A */ slwi r3, r5, 2
/* 8037B768 003786C8 38 E3 01 B0 */ addi r7, r3, 0x1b0
/* 8037B76C 003786CC 7C E6 3A 14 */ add r7, r6, r7
/* 8037B770 003786D0 41 82 00 1C */ beq lbl_8037B78C
/* 8037B774 003786D4 80 67 00 00 */ lwz r3, 0(r7)
/* 8037B778 003786D8 54 80 70 22 */ slwi r0, r4, 0xe
/* 8037B77C 003786DC 54 63 04 98 */ rlwinm r3, r3, 0, 0x12, 0xc
/* 8037B780 003786E0 7C 60 03 78 */ or r0, r3, r0
/* 8037B784 003786E4 90 07 00 00 */ stw r0, 0(r7)
/* 8037B788 003786E8 48 00 00 18 */ b lbl_8037B7A0
lbl_8037B78C:
/* 8037B78C 003786EC 80 67 00 00 */ lwz r3, 0(r7)
/* 8037B790 003786F0 54 80 20 36 */ slwi r0, r4, 4
/* 8037B794 003786F4 54 63 07 2C */ rlwinm r3, r3, 0, 0x1c, 0x16
/* 8037B798 003786F8 7C 60 03 78 */ or r0, r3, r0
/* 8037B79C 003786FC 90 07 00 00 */ stw r0, 0(r7)
lbl_8037B7A0:
/* 8037B7A0 00378700 38 00 00 61 */ li r0, 0x61
/* 8037B7A4 00378704 80 62 CE 08 */ lwz r3, __GXData@sda21(r2)
/* 8037B7A8 00378708 3C A0 CC 01 */ lis r5, 0xCC008000@ha
/* 8037B7AC 0037870C 98 05 80 00 */ stb r0, 0xCC008000@l(r5)
/* 8037B7B0 00378710 38 00 00 00 */ li r0, 0
/* 8037B7B4 00378714 80 87 00 00 */ lwz r4, 0(r7)
/* 8037B7B8 00378718 90 85 80 00 */ stw r4, 0xCC008000@l(r5)
/* 8037B7BC 0037871C B0 03 00 02 */ sth r0, 2(r3)
/* 8037B7C0 00378720 4E 80 00 20 */ blr
.global GXSetTevKAlphaSel
GXSetTevKAlphaSel:
/* 8037B7C4 00378724 7C 65 0E 70 */ srawi r5, r3, 1
/* 8037B7C8 00378728 80 C2 CE 08 */ lwz r6, __GXData@sda21(r2)
/* 8037B7CC 0037872C 54 60 07 FF */ clrlwi. r0, r3, 0x1f
/* 8037B7D0 00378730 54 A3 10 3A */ slwi r3, r5, 2
/* 8037B7D4 00378734 38 E3 01 B0 */ addi r7, r3, 0x1b0
/* 8037B7D8 00378738 7C E6 3A 14 */ add r7, r6, r7
/* 8037B7DC 0037873C 41 82 00 1C */ beq lbl_8037B7F8
/* 8037B7E0 00378740 80 67 00 00 */ lwz r3, 0(r7)
/* 8037B7E4 00378744 54 80 98 18 */ slwi r0, r4, 0x13
/* 8037B7E8 00378748 54 63 03 4E */ rlwinm r3, r3, 0, 0xd, 7
/* 8037B7EC 0037874C 7C 60 03 78 */ or r0, r3, r0
/* 8037B7F0 00378750 90 07 00 00 */ stw r0, 0(r7)
/* 8037B7F4 00378754 48 00 00 18 */ b lbl_8037B80C
lbl_8037B7F8:
/* 8037B7F8 00378758 80 67 00 00 */ lwz r3, 0(r7)
/* 8037B7FC 0037875C 54 80 48 2C */ slwi r0, r4, 9
/* 8037B800 00378760 54 63 05 E2 */ rlwinm r3, r3, 0, 0x17, 0x11
/* 8037B804 00378764 7C 60 03 78 */ or r0, r3, r0
/* 8037B808 00378768 90 07 00 00 */ stw r0, 0(r7)
lbl_8037B80C:
/* 8037B80C 0037876C 38 00 00 61 */ li r0, 0x61
/* 8037B810 00378770 80 62 CE 08 */ lwz r3, __GXData@sda21(r2)
/* 8037B814 00378774 3C A0 CC 01 */ lis r5, 0xCC008000@ha
/* 8037B818 00378778 98 05 80 00 */ stb r0, 0xCC008000@l(r5)
/* 8037B81C 0037877C 38 00 00 00 */ li r0, 0
/* 8037B820 00378780 80 87 00 00 */ lwz r4, 0(r7)
/* 8037B824 00378784 90 85 80 00 */ stw r4, 0xCC008000@l(r5)
/* 8037B828 00378788 B0 03 00 02 */ sth r0, 2(r3)
/* 8037B82C 0037878C 4E 80 00 20 */ blr
.global GXSetTevSwapMode
GXSetTevSwapMode:
/* 8037B830 00378790 54 63 10 3A */ slwi r3, r3, 2
/* 8037B834 00378794 80 E2 CE 08 */ lwz r7, __GXData@sda21(r2)
/* 8037B838 00378798 39 03 01 70 */ addi r8, r3, 0x170
/* 8037B83C 0037879C 7D 07 42 14 */ add r8, r7, r8
/* 8037B840 003787A0 80 08 00 00 */ lwz r0, 0(r8)
/* 8037B844 003787A4 54 A5 10 3A */ slwi r5, r5, 2
/* 8037B848 003787A8 38 60 00 61 */ li r3, 0x61
/* 8037B84C 003787AC 54 00 00 3A */ rlwinm r0, r0, 0, 0, 0x1d
/* 8037B850 003787B0 7C 00 23 78 */ or r0, r0, r4
/* 8037B854 003787B4 90 08 00 00 */ stw r0, 0(r8)
/* 8037B858 003787B8 3C 80 CC 01 */ lis r4, 0xCC008000@ha
/* 8037B85C 003787BC 38 00 00 00 */ li r0, 0
/* 8037B860 003787C0 80 C8 00 00 */ lwz r6, 0(r8)
/* 8037B864 003787C4 54 C6 07 B6 */ rlwinm r6, r6, 0, 0x1e, 0x1b
/* 8037B868 003787C8 7C C5 2B 78 */ or r5, r6, r5
/* 8037B86C 003787CC 90 A8 00 00 */ stw r5, 0(r8)
/* 8037B870 003787D0 98 64 80 00 */ stb r3, 0xCC008000@l(r4)
/* 8037B874 003787D4 80 68 00 00 */ lwz r3, 0(r8)
/* 8037B878 003787D8 90 64 80 00 */ stw r3, 0xCC008000@l(r4)
/* 8037B87C 003787DC B0 07 00 02 */ sth r0, 2(r7)
/* 8037B880 003787E0 4E 80 00 20 */ blr
.global GXSetTevSwapModeTable
GXSetTevSwapModeTable:
/* 8037B884 003787E4 54 6A 08 3C */ slwi r10, r3, 1
/* 8037B888 003787E8 81 22 CE 08 */ lwz r9, __GXData@sda21(r2)
/* 8037B88C 003787EC 54 63 18 38 */ slwi r3, r3, 3
/* 8037B890 003787F0 39 63 01 B0 */ addi r11, r3, 0x1b0
/* 8037B894 003787F4 7D 69 5A 14 */ add r11, r9, r11
/* 8037B898 003787F8 81 0B 00 00 */ lwz r8, 0(r11)
/* 8037B89C 003787FC 38 0A 00 01 */ addi r0, r10, 1
/* 8037B8A0 00378800 54 03 10 3A */ slwi r3, r0, 2
/* 8037B8A4 00378804 55 00 00 3A */ rlwinm r0, r8, 0, 0, 0x1d
/* 8037B8A8 00378808 7C 00 23 78 */ or r0, r0, r4
/* 8037B8AC 0037880C 90 0B 00 00 */ stw r0, 0(r11)
/* 8037B8B0 00378810 39 43 01 B0 */ addi r10, r3, 0x1b0
/* 8037B8B4 00378814 54 A0 10 3A */ slwi r0, r5, 2
/* 8037B8B8 00378818 80 6B 00 00 */ lwz r3, 0(r11)
/* 8037B8BC 0037881C 39 00 00 61 */ li r8, 0x61
/* 8037B8C0 00378820 3C A0 CC 01 */ lis r5, 0xCC008000@ha
/* 8037B8C4 00378824 54 63 07 B6 */ rlwinm r3, r3, 0, 0x1e, 0x1b
/* 8037B8C8 00378828 7C 60 03 78 */ or r0, r3, r0
/* 8037B8CC 0037882C 90 0B 00 00 */ stw r0, 0(r11)
/* 8037B8D0 00378830 7D 49 52 14 */ add r10, r9, r10
/* 8037B8D4 00378834 54 E3 10 3A */ slwi r3, r7, 2
/* 8037B8D8 00378838 99 05 80 00 */ stb r8, 0xCC008000@l(r5)
/* 8037B8DC 0037883C 38 00 00 00 */ li r0, 0
/* 8037B8E0 00378840 80 8B 00 00 */ lwz r4, 0(r11)
/* 8037B8E4 00378844 90 85 80 00 */ stw r4, 0xCC008000@l(r5)
/* 8037B8E8 00378848 80 8A 00 00 */ lwz r4, 0(r10)
/* 8037B8EC 0037884C 54 84 00 3A */ rlwinm r4, r4, 0, 0, 0x1d
/* 8037B8F0 00378850 7C 84 33 78 */ or r4, r4, r6
/* 8037B8F4 00378854 90 8A 00 00 */ stw r4, 0(r10)
/* 8037B8F8 00378858 80 8A 00 00 */ lwz r4, 0(r10)
/* 8037B8FC 0037885C 54 84 07 B6 */ rlwinm r4, r4, 0, 0x1e, 0x1b
/* 8037B900 00378860 7C 83 1B 78 */ or r3, r4, r3
/* 8037B904 00378864 90 6A 00 00 */ stw r3, 0(r10)
/* 8037B908 00378868 99 05 80 00 */ stb r8, 0xCC008000@l(r5)
/* 8037B90C 0037886C 80 6A 00 00 */ lwz r3, 0(r10)
/* 8037B910 00378870 90 65 80 00 */ stw r3, 0xCC008000@l(r5)
/* 8037B914 00378874 B0 09 00 02 */ sth r0, 2(r9)
/* 8037B918 00378878 4E 80 00 20 */ blr
.global GXSetAlphaCompare
GXSetAlphaCompare:
/* 8037B91C 0037887C 54 80 06 3E */ clrlwi r0, r4, 0x18
/* 8037B920 00378880 80 82 CE 08 */ lwz r4, __GXData@sda21(r2)
/* 8037B924 00378884 64 00 F3 00 */ oris r0, r0, 0xf300
/* 8037B928 00378888 54 00 06 1E */ rlwinm r0, r0, 0, 0x18, 0xf
/* 8037B92C 0037888C 50 E0 44 2E */ rlwimi r0, r7, 8, 0x10, 0x17
/* 8037B930 00378890 54 07 04 18 */ rlwinm r7, r0, 0, 0x10, 0xc
/* 8037B934 00378894 54 60 80 1E */ slwi r0, r3, 0x10
/* 8037B938 00378898 7C E0 03 78 */ or r0, r7, r0
/* 8037B93C 0037889C 54 03 03 52 */ rlwinm r3, r0, 0, 0xd, 9
/* 8037B940 003788A0 54 C0 98 18 */ slwi r0, r6, 0x13
/* 8037B944 003788A4 7C 66 03 78 */ or r6, r3, r0
/* 8037B948 003788A8 38 00 00 61 */ li r0, 0x61
/* 8037B94C 003788AC 3C 60 CC 01 */ lis r3, 0xCC008000@ha
/* 8037B950 003788B0 98 03 80 00 */ stb r0, 0xCC008000@l(r3)
/* 8037B954 003788B4 54 C6 02 8E */ rlwinm r6, r6, 0, 0xa, 7
/* 8037B958 003788B8 54 A0 B0 12 */ slwi r0, r5, 0x16
/* 8037B95C 003788BC 7C C0 03 78 */ or r0, r6, r0
/* 8037B960 003788C0 90 03 80 00 */ stw r0, 0xCC008000@l(r3)
/* 8037B964 003788C4 38 00 00 00 */ li r0, 0
/* 8037B968 003788C8 B0 04 00 02 */ sth r0, 2(r4)
/* 8037B96C 003788CC 4E 80 00 20 */ blr
.global GXSetZTexture
GXSetZTexture:
/* 8037B970 003788D0 2C 04 00 13 */ cmpwi r4, 0x13
/* 8037B974 003788D4 54 A0 02 3E */ clrlwi r0, r5, 8
/* 8037B978 003788D8 64 07 F4 00 */ oris r7, r0, 0xf400
/* 8037B97C 003788DC 41 82 00 28 */ beq lbl_8037B9A4
/* 8037B980 003788E0 40 80 00 10 */ bge lbl_8037B990
/* 8037B984 003788E4 2C 04 00 11 */ cmpwi r4, 0x11
/* 8037B988 003788E8 41 82 00 14 */ beq lbl_8037B99C
/* 8037B98C 003788EC 48 00 00 28 */ b lbl_8037B9B4
lbl_8037B990:
/* 8037B990 003788F0 2C 04 00 16 */ cmpwi r4, 0x16
/* 8037B994 003788F4 41 82 00 18 */ beq lbl_8037B9AC
/* 8037B998 003788F8 48 00 00 1C */ b lbl_8037B9B4
lbl_8037B99C:
/* 8037B99C 003788FC 38 C0 00 00 */ li r6, 0
/* 8037B9A0 00378900 48 00 00 18 */ b lbl_8037B9B8
lbl_8037B9A4:
/* 8037B9A4 00378904 38 C0 00 01 */ li r6, 1
/* 8037B9A8 00378908 48 00 00 10 */ b lbl_8037B9B8
lbl_8037B9AC:
/* 8037B9AC 0037890C 38 C0 00 02 */ li r6, 2
/* 8037B9B0 00378910 48 00 00 08 */ b lbl_8037B9B8
lbl_8037B9B4:
/* 8037B9B4 00378914 38 C0 00 02 */ li r6, 2
lbl_8037B9B8:
/* 8037B9B8 00378918 38 00 00 61 */ li r0, 0x61
/* 8037B9BC 0037891C 80 82 CE 08 */ lwz r4, __GXData@sda21(r2)
/* 8037B9C0 00378920 3C A0 CC 01 */ lis r5, 0xCC008000@ha
/* 8037B9C4 00378924 98 05 80 00 */ stb r0, 0xCC008000@l(r5)
/* 8037B9C8 00378928 54 C6 07 B6 */ rlwinm r6, r6, 0, 0x1e, 0x1b
/* 8037B9CC 0037892C 54 63 10 3A */ slwi r3, r3, 2
/* 8037B9D0 00378930 90 E5 80 00 */ stw r7, 0xCC008000@l(r5)
/* 8037B9D4 00378934 7C C3 1B 78 */ or r3, r6, r3
/* 8037B9D8 00378938 54 63 02 3E */ clrlwi r3, r3, 8
/* 8037B9DC 0037893C 98 05 80 00 */ stb r0, 0xCC008000@l(r5)
/* 8037B9E0 00378940 64 63 F5 00 */ oris r3, r3, 0xf500
/* 8037B9E4 00378944 38 00 00 00 */ li r0, 0
/* 8037B9E8 00378948 90 65 80 00 */ stw r3, 0xCC008000@l(r5)
/* 8037B9EC 0037894C B0 04 00 02 */ sth r0, 2(r4)
/* 8037B9F0 00378950 4E 80 00 20 */ blr
.global GXSetTevOrder
GXSetTevOrder:
/* 8037B9F4 00378954 7C 67 0E 70 */ srawi r7, r3, 1
/* 8037B9F8 00378958 81 22 CE 08 */ lwz r9, __GXData@sda21(r2)
/* 8037B9FC 0037895C 54 AA 06 2C */ rlwinm r10, r5, 0, 0x18, 0x16
/* 8037BA00 00378960 7C E7 01 94 */ addze r7, r7
/* 8037BA04 00378964 54 60 10 3A */ slwi r0, r3, 2
/* 8037BA08 00378968 7D 09 02 14 */ add r8, r9, r0
/* 8037BA0C 0037896C 54 E7 10 3A */ slwi r7, r7, 2
/* 8037BA10 00378970 90 A8 04 9C */ stw r5, 0x49c(r8)
/* 8037BA14 00378974 38 E7 01 00 */ addi r7, r7, 0x100
/* 8037BA18 00378978 28 0A 00 08 */ cmplwi r10, 8
/* 8037BA1C 0037897C 38 0A 00 00 */ addi r0, r10, 0
/* 8037BA20 00378980 7C E9 3A 14 */ add r7, r9, r7
/* 8037BA24 00378984 41 80 00 0C */ blt lbl_8037BA30
/* 8037BA28 00378988 39 20 00 00 */ li r9, 0
/* 8037BA2C 0037898C 48 00 00 08 */ b lbl_8037BA34
lbl_8037BA30:
/* 8037BA30 00378990 7C 09 03 78 */ mr r9, r0
lbl_8037BA34:
/* 8037BA34 00378994 2C 04 00 08 */ cmpwi r4, 8
/* 8037BA38 00378998 41 80 00 28 */ blt lbl_8037BA60
/* 8037BA3C 0037899C 80 82 CE 08 */ lwz r4, __GXData@sda21(r2)
/* 8037BA40 003789A0 38 00 00 01 */ li r0, 1
/* 8037BA44 003789A4 7C 00 18 30 */ slw r0, r0, r3
/* 8037BA48 003789A8 81 04 04 E0 */ lwz r8, 0x4e0(r4)
/* 8037BA4C 003789AC 39 44 04 E0 */ addi r10, r4, 0x4e0
/* 8037BA50 003789B0 38 80 00 00 */ li r4, 0
/* 8037BA54 003789B4 7D 00 00 78 */ andc r0, r8, r0
/* 8037BA58 003789B8 90 0A 00 00 */ stw r0, 0(r10)
/* 8037BA5C 003789BC 48 00 00 20 */ b lbl_8037BA7C
lbl_8037BA60:
/* 8037BA60 003789C0 81 02 CE 08 */ lwz r8, __GXData@sda21(r2)
/* 8037BA64 003789C4 38 00 00 01 */ li r0, 1
/* 8037BA68 003789C8 7C 00 18 30 */ slw r0, r0, r3
/* 8037BA6C 003789CC 39 48 04 E0 */ addi r10, r8, 0x4e0
/* 8037BA70 003789D0 81 08 04 E0 */ lwz r8, 0x4e0(r8)
/* 8037BA74 003789D4 7D 00 03 78 */ or r0, r8, r0
/* 8037BA78 003789D8 90 0A 00 00 */ stw r0, 0(r10)
lbl_8037BA7C:
/* 8037BA7C 003789DC 54 60 07 FF */ clrlwi. r0, r3, 0x1f
/* 8037BA80 003789E0 41 82 00 94 */ beq lbl_8037BB14
/* 8037BA84 003789E4 81 07 00 00 */ lwz r8, 0(r7)
/* 8037BA88 003789E8 55 23 60 26 */ slwi r3, r9, 0xc
/* 8037BA8C 003789EC 54 80 78 20 */ slwi r0, r4, 0xf
/* 8037BA90 003789F0 55 04 05 20 */ rlwinm r4, r8, 0, 0x14, 0x10
/* 8037BA94 003789F4 7C 83 1B 78 */ or r3, r4, r3
/* 8037BA98 003789F8 90 67 00 00 */ stw r3, 0(r7)
/* 8037BA9C 003789FC 2C 06 00 FF */ cmpwi r6, 0xff
/* 8037BAA0 00378A00 80 67 00 00 */ lwz r3, 0(r7)
/* 8037BAA4 00378A04 54 63 04 5A */ rlwinm r3, r3, 0, 0x11, 0xd
/* 8037BAA8 00378A08 7C 60 03 78 */ or r0, r3, r0
/* 8037BAAC 00378A0C 90 07 00 00 */ stw r0, 0(r7)
/* 8037BAB0 00378A10 40 82 00 0C */ bne lbl_8037BABC
/* 8037BAB4 00378A14 38 00 00 07 */ li r0, 7
/* 8037BAB8 00378A18 48 00 00 18 */ b lbl_8037BAD0
lbl_8037BABC:
/* 8037BABC 00378A1C 3C 60 80 3F */ lis r3, lbl_803F0C68@ha
/* 8037BAC0 00378A20 54 C4 10 3A */ slwi r4, r6, 2
/* 8037BAC4 00378A24 38 03 0C 68 */ addi r0, r3, lbl_803F0C68@l
/* 8037BAC8 00378A28 7C 60 22 14 */ add r3, r0, r4
/* 8037BACC 00378A2C 80 03 00 00 */ lwz r0, 0(r3)
lbl_8037BAD0:
/* 8037BAD0 00378A30 80 67 00 00 */ lwz r3, 0(r7)
/* 8037BAD4 00378A34 54 00 98 18 */ slwi r0, r0, 0x13
/* 8037BAD8 00378A38 2C 05 00 FF */ cmpwi r5, 0xff
/* 8037BADC 00378A3C 54 63 03 52 */ rlwinm r3, r3, 0, 0xd, 9
/* 8037BAE0 00378A40 7C 60 03 78 */ or r0, r3, r0
/* 8037BAE4 00378A44 90 07 00 00 */ stw r0, 0(r7)
/* 8037BAE8 00378A48 38 80 00 00 */ li r4, 0
/* 8037BAEC 00378A4C 41 82 00 10 */ beq lbl_8037BAFC
/* 8037BAF0 00378A50 54 A0 05 EF */ rlwinm. r0, r5, 0, 0x17, 0x17
/* 8037BAF4 00378A54 40 82 00 08 */ bne lbl_8037BAFC
/* 8037BAF8 00378A58 38 80 00 01 */ li r4, 1
lbl_8037BAFC:
/* 8037BAFC 00378A5C 80 67 00 00 */ lwz r3, 0(r7)
/* 8037BB00 00378A60 54 80 90 1A */ slwi r0, r4, 0x12
/* 8037BB04 00378A64 54 63 03 98 */ rlwinm r3, r3, 0, 0xe, 0xc
/* 8037BB08 00378A68 7C 60 03 78 */ or r0, r3, r0
/* 8037BB0C 00378A6C 90 07 00 00 */ stw r0, 0(r7)
/* 8037BB10 00378A70 48 00 00 8C */ b lbl_8037BB9C
lbl_8037BB14:
/* 8037BB14 00378A74 80 67 00 00 */ lwz r3, 0(r7)
/* 8037BB18 00378A78 54 80 18 38 */ slwi r0, r4, 3
/* 8037BB1C 00378A7C 2C 06 00 FF */ cmpwi r6, 0xff
/* 8037BB20 00378A80 54 63 00 38 */ rlwinm r3, r3, 0, 0, 0x1c
/* 8037BB24 00378A84 7C 63 4B 78 */ or r3, r3, r9
/* 8037BB28 00378A88 90 67 00 00 */ stw r3, 0(r7)
/* 8037BB2C 00378A8C 80 67 00 00 */ lwz r3, 0(r7)
/* 8037BB30 00378A90 54 63 07 72 */ rlwinm r3, r3, 0, 0x1d, 0x19
/* 8037BB34 00378A94 7C 60 03 78 */ or r0, r3, r0
/* 8037BB38 00378A98 90 07 00 00 */ stw r0, 0(r7)
/* 8037BB3C 00378A9C 40 82 00 0C */ bne lbl_8037BB48
/* 8037BB40 00378AA0 38 00 00 07 */ li r0, 7
/* 8037BB44 00378AA4 48 00 00 18 */ b lbl_8037BB5C
lbl_8037BB48:
/* 8037BB48 00378AA8 3C 60 80 3F */ lis r3, lbl_803F0C68@ha
/* 8037BB4C 00378AAC 54 C4 10 3A */ slwi r4, r6, 2
/* 8037BB50 00378AB0 38 03 0C 68 */ addi r0, r3, lbl_803F0C68@l
/* 8037BB54 00378AB4 7C 60 22 14 */ add r3, r0, r4
/* 8037BB58 00378AB8 80 03 00 00 */ lwz r0, 0(r3)
lbl_8037BB5C:
/* 8037BB5C 00378ABC 80 67 00 00 */ lwz r3, 0(r7)
/* 8037BB60 00378AC0 54 00 38 30 */ slwi r0, r0, 7
/* 8037BB64 00378AC4 2C 05 00 FF */ cmpwi r5, 0xff
/* 8037BB68 00378AC8 54 63 06 6A */ rlwinm r3, r3, 0, 0x19, 0x15
/* 8037BB6C 00378ACC 7C 60 03 78 */ or r0, r3, r0
/* 8037BB70 00378AD0 90 07 00 00 */ stw r0, 0(r7)
/* 8037BB74 00378AD4 38 80 00 00 */ li r4, 0
/* 8037BB78 00378AD8 41 82 00 10 */ beq lbl_8037BB88
/* 8037BB7C 00378ADC 54 A0 05 EF */ rlwinm. r0, r5, 0, 0x17, 0x17
/* 8037BB80 00378AE0 40 82 00 08 */ bne lbl_8037BB88
/* 8037BB84 00378AE4 38 80 00 01 */ li r4, 1
lbl_8037BB88:
/* 8037BB88 00378AE8 80 67 00 00 */ lwz r3, 0(r7)
/* 8037BB8C 00378AEC 54 80 30 32 */ slwi r0, r4, 6
/* 8037BB90 00378AF0 54 63 06 B0 */ rlwinm r3, r3, 0, 0x1a, 0x18
/* 8037BB94 00378AF4 7C 60 03 78 */ or r0, r3, r0
/* 8037BB98 00378AF8 90 07 00 00 */ stw r0, 0(r7)
lbl_8037BB9C:
/* 8037BB9C 00378AFC 38 00 00 61 */ li r0, 0x61
/* 8037BBA0 00378B00 80 62 CE 08 */ lwz r3, __GXData@sda21(r2)
/* 8037BBA4 00378B04 3C A0 CC 01 */ lis r5, 0xCC008000@ha
/* 8037BBA8 00378B08 98 05 80 00 */ stb r0, 0xCC008000@l(r5)
/* 8037BBAC 00378B0C 38 00 00 00 */ li r0, 0
/* 8037BBB0 00378B10 80 87 00 00 */ lwz r4, 0(r7)
/* 8037BBB4 00378B14 90 85 80 00 */ stw r4, 0xCC008000@l(r5)
/* 8037BBB8 00378B18 B0 03 00 02 */ sth r0, 2(r3)
/* 8037BBBC 00378B1C 80 03 04 F4 */ lwz r0, 0x4f4(r3)
/* 8037BBC0 00378B20 60 00 00 01 */ ori r0, r0, 1
/* 8037BBC4 00378B24 90 03 04 F4 */ stw r0, 0x4f4(r3)
/* 8037BBC8 00378B28 4E 80 00 20 */ blr
.global GXSetNumTevStages
GXSetNumTevStages:
/* 8037BBCC 00378B2C 80 82 CE 08 */ lwz r4, __GXData@sda21(r2)
/* 8037BBD0 00378B30 54 63 06 3E */ clrlwi r3, r3, 0x18
/* 8037BBD4 00378B34 38 03 FF FF */ addi r0, r3, -1
/* 8037BBD8 00378B38 80 64 02 04 */ lwz r3, 0x204(r4)
/* 8037BBDC 00378B3C 54 00 50 2A */ slwi r0, r0, 0xa
/* 8037BBE0 00378B40 54 63 05 A2 */ rlwinm r3, r3, 0, 0x16, 0x11
/* 8037BBE4 00378B44 7C 60 03 78 */ or r0, r3, r0
/* 8037BBE8 00378B48 90 04 02 04 */ stw r0, 0x204(r4)
/* 8037BBEC 00378B4C 80 04 04 F4 */ lwz r0, 0x4f4(r4)
/* 8037BBF0 00378B50 60 00 00 04 */ ori r0, r0, 4
/* 8037BBF4 00378B54 90 04 04 F4 */ stw r0, 0x4f4(r4)
/* 8037BBF8 00378B58 4E 80 00 20 */ blr

File diff suppressed because it is too large Load Diff

View File

@ -1,432 +0,0 @@
.include "macros.inc"
.section .sdata2
.balign 8
.global lbl_805AEBE8
lbl_805AEBE8:
# ROM: 0x3FB488
.float 0.5
.global lbl_805AEBEC
lbl_805AEBEC:
# ROM: 0x3FB48C
.4byte 0x43AB0000
.global lbl_805AEBF0
lbl_805AEBF0:
# ROM: 0x3FB490
.4byte 0x4B7FFFFF
.4byte 0
.section .text, "ax"
.global GXSetProjection
GXSetProjection:
/* 8037C244 003791A4 80 A2 CE 08 */ lwz r5, __GXData@sda21(r2)
/* 8037C248 003791A8 2C 04 00 01 */ cmpwi r4, 1
/* 8037C24C 003791AC 90 85 04 20 */ stw r4, 0x420(r5)
/* 8037C250 003791B0 C0 03 00 00 */ lfs f0, 0(r3)
/* 8037C254 003791B4 D0 05 04 24 */ stfs f0, 0x424(r5)
/* 8037C258 003791B8 C0 03 00 14 */ lfs f0, 0x14(r3)
/* 8037C25C 003791BC D0 05 04 2C */ stfs f0, 0x42c(r5)
/* 8037C260 003791C0 C0 03 00 28 */ lfs f0, 0x28(r3)
/* 8037C264 003791C4 D0 05 04 34 */ stfs f0, 0x434(r5)
/* 8037C268 003791C8 C0 03 00 2C */ lfs f0, 0x2c(r3)
/* 8037C26C 003791CC D0 05 04 38 */ stfs f0, 0x438(r5)
/* 8037C270 003791D0 40 82 00 18 */ bne lbl_8037C288
/* 8037C274 003791D4 C0 03 00 0C */ lfs f0, 0xc(r3)
/* 8037C278 003791D8 D0 05 04 28 */ stfs f0, 0x428(r5)
/* 8037C27C 003791DC C0 03 00 1C */ lfs f0, 0x1c(r3)
/* 8037C280 003791E0 D0 05 04 30 */ stfs f0, 0x430(r5)
/* 8037C284 003791E4 48 00 00 14 */ b lbl_8037C298
lbl_8037C288:
/* 8037C288 003791E8 C0 03 00 08 */ lfs f0, 8(r3)
/* 8037C28C 003791EC D0 05 04 28 */ stfs f0, 0x428(r5)
/* 8037C290 003791F0 C0 03 00 18 */ lfs f0, 0x18(r3)
/* 8037C294 003791F4 D0 05 04 30 */ stfs f0, 0x430(r5)
lbl_8037C298:
/* 8037C298 003791F8 38 00 00 10 */ li r0, 0x10
/* 8037C29C 003791FC 80 82 CE 08 */ lwz r4, __GXData@sda21(r2)
/* 8037C2A0 00379200 3C A0 CC 01 */ lis r5, 0xCC008000@ha
/* 8037C2A4 00379204 3C 60 00 06 */ lis r3, 0x00061020@ha
/* 8037C2A8 00379208 98 05 80 00 */ stb r0, 0xCC008000@l(r5)
/* 8037C2AC 0037920C 38 03 10 20 */ addi r0, r3, 0x00061020@l
/* 8037C2B0 00379210 90 05 80 00 */ stw r0, 0xCC008000@l(r5)
/* 8037C2B4 00379214 38 00 00 01 */ li r0, 1
/* 8037C2B8 00379218 C0 04 04 24 */ lfs f0, 0x424(r4)
/* 8037C2BC 0037921C D0 05 80 00 */ stfs f0, 0xCC008000@l(r5)
/* 8037C2C0 00379220 C0 04 04 28 */ lfs f0, 0x428(r4)
/* 8037C2C4 00379224 D0 05 80 00 */ stfs f0, 0xCC008000@l(r5)
/* 8037C2C8 00379228 C0 04 04 2C */ lfs f0, 0x42c(r4)
/* 8037C2CC 0037922C D0 05 80 00 */ stfs f0, 0xCC008000@l(r5)
/* 8037C2D0 00379230 C0 04 04 30 */ lfs f0, 0x430(r4)
/* 8037C2D4 00379234 D0 05 80 00 */ stfs f0, 0xCC008000@l(r5)
/* 8037C2D8 00379238 C0 04 04 34 */ lfs f0, 0x434(r4)
/* 8037C2DC 0037923C D0 05 80 00 */ stfs f0, 0xCC008000@l(r5)
/* 8037C2E0 00379240 C0 04 04 38 */ lfs f0, 0x438(r4)
/* 8037C2E4 00379244 D0 05 80 00 */ stfs f0, 0xCC008000@l(r5)
/* 8037C2E8 00379248 80 64 04 20 */ lwz r3, 0x420(r4)
/* 8037C2EC 0037924C 90 65 80 00 */ stw r3, 0xCC008000@l(r5)
/* 8037C2F0 00379250 B0 04 00 02 */ sth r0, 2(r4)
/* 8037C2F4 00379254 4E 80 00 20 */ blr
.global GXSetProjectionv
GXSetProjectionv:
/* 8037C2F8 00379258 7C 08 02 A6 */ mflr r0
/* 8037C2FC 0037925C 90 01 00 04 */ stw r0, 4(r1)
/* 8037C300 00379260 94 21 FF E8 */ stwu r1, -0x18(r1)
/* 8037C304 00379264 93 E1 00 14 */ stw r31, 0x14(r1)
/* 8037C308 00379268 7C 7F 1B 78 */ mr r31, r3
/* 8037C30C 0037926C C0 23 00 00 */ lfs f1, 0(r3)
/* 8037C310 00379270 48 00 D6 45 */ bl __cvt_fp2unsigned
/* 8037C314 00379274 80 E2 CE 08 */ lwz r7, __GXData@sda21(r2)
/* 8037C318 00379278 3C 80 00 06 */ lis r4, 0x00061020@ha
/* 8037C31C 0037927C 38 C0 00 10 */ li r6, 0x10
/* 8037C320 00379280 90 67 04 20 */ stw r3, 0x420(r7)
/* 8037C324 00379284 3C A0 CC 01 */ lis r5, 0xCC008000@ha
/* 8037C328 00379288 38 64 10 20 */ addi r3, r4, 0x00061020@l
/* 8037C32C 0037928C C0 1F 00 04 */ lfs f0, 4(r31)
/* 8037C330 00379290 38 00 00 01 */ li r0, 1
/* 8037C334 00379294 D0 07 04 24 */ stfs f0, 0x424(r7)
/* 8037C338 00379298 C0 1F 00 08 */ lfs f0, 8(r31)
/* 8037C33C 0037929C D0 07 04 28 */ stfs f0, 0x428(r7)
/* 8037C340 003792A0 C0 1F 00 0C */ lfs f0, 0xc(r31)
/* 8037C344 003792A4 D0 07 04 2C */ stfs f0, 0x42c(r7)
/* 8037C348 003792A8 C0 1F 00 10 */ lfs f0, 0x10(r31)
/* 8037C34C 003792AC D0 07 04 30 */ stfs f0, 0x430(r7)
/* 8037C350 003792B0 C0 1F 00 14 */ lfs f0, 0x14(r31)
/* 8037C354 003792B4 D0 07 04 34 */ stfs f0, 0x434(r7)
/* 8037C358 003792B8 C0 1F 00 18 */ lfs f0, 0x18(r31)
/* 8037C35C 003792BC D0 07 04 38 */ stfs f0, 0x438(r7)
/* 8037C360 003792C0 98 C5 80 00 */ stb r6, 0xCC008000@l(r5)
/* 8037C364 003792C4 90 65 80 00 */ stw r3, 0xCC008000@l(r5)
/* 8037C368 003792C8 C0 07 04 24 */ lfs f0, 0x424(r7)
/* 8037C36C 003792CC D0 05 80 00 */ stfs f0, 0xCC008000@l(r5)
/* 8037C370 003792D0 C0 07 04 28 */ lfs f0, 0x428(r7)
/* 8037C374 003792D4 D0 05 80 00 */ stfs f0, 0xCC008000@l(r5)
/* 8037C378 003792D8 C0 07 04 2C */ lfs f0, 0x42c(r7)
/* 8037C37C 003792DC D0 05 80 00 */ stfs f0, 0xCC008000@l(r5)
/* 8037C380 003792E0 C0 07 04 30 */ lfs f0, 0x430(r7)
/* 8037C384 003792E4 D0 05 80 00 */ stfs f0, 0xCC008000@l(r5)
/* 8037C388 003792E8 C0 07 04 34 */ lfs f0, 0x434(r7)
/* 8037C38C 003792EC D0 05 80 00 */ stfs f0, 0xCC008000@l(r5)
/* 8037C390 003792F0 C0 07 04 38 */ lfs f0, 0x438(r7)
/* 8037C394 003792F4 D0 05 80 00 */ stfs f0, 0xCC008000@l(r5)
/* 8037C398 003792F8 80 67 04 20 */ lwz r3, 0x420(r7)
/* 8037C39C 003792FC 90 65 80 00 */ stw r3, 0xCC008000@l(r5)
/* 8037C3A0 00379300 B0 07 00 02 */ sth r0, 2(r7)
/* 8037C3A4 00379304 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 8037C3A8 00379308 83 E1 00 14 */ lwz r31, 0x14(r1)
/* 8037C3AC 0037930C 38 21 00 18 */ addi r1, r1, 0x18
/* 8037C3B0 00379310 7C 08 03 A6 */ mtlr r0
/* 8037C3B4 00379314 4E 80 00 20 */ blr
.global GXLoadPosMtxImm
GXLoadPosMtxImm:
/* 8037C3B8 00379318 3C A0 CC 01 */ lis r5, 0xCC008000@ha
/* 8037C3BC 0037931C 38 00 00 10 */ li r0, 0x10
/* 8037C3C0 00379320 54 84 10 3A */ slwi r4, r4, 2
/* 8037C3C4 00379324 98 05 80 00 */ stb r0, 0xCC008000@l(r5)
/* 8037C3C8 00379328 64 80 00 0B */ oris r0, r4, 0xb
/* 8037C3CC 0037932C 90 05 80 00 */ stw r0, 0xCC008000@l(r5)
/* 8037C3D0 00379330 38 85 80 00 */ addi r4, r5, -32768
/* 8037C3D4 00379334 E0 A3 00 00 */ psq_l f5, 0(r3), 0, qr0
/* 8037C3D8 00379338 E0 83 00 08 */ psq_l f4, 8(r3), 0, qr0
/* 8037C3DC 0037933C E0 63 00 10 */ psq_l f3, 16(r3), 0, qr0
/* 8037C3E0 00379340 E0 43 00 18 */ psq_l f2, 24(r3), 0, qr0
/* 8037C3E4 00379344 E0 23 00 20 */ psq_l f1, 32(r3), 0, qr0
/* 8037C3E8 00379348 E0 03 00 28 */ psq_l f0, 40(r3), 0, qr0
/* 8037C3EC 0037934C F0 A4 00 00 */ psq_st f5, 0(r4), 0, qr0
/* 8037C3F0 00379350 F0 84 00 00 */ psq_st f4, 0(r4), 0, qr0
/* 8037C3F4 00379354 F0 64 00 00 */ psq_st f3, 0(r4), 0, qr0
/* 8037C3F8 00379358 F0 44 00 00 */ psq_st f2, 0(r4), 0, qr0
/* 8037C3FC 0037935C F0 24 00 00 */ psq_st f1, 0(r4), 0, qr0
/* 8037C400 00379360 F0 04 00 00 */ psq_st f0, 0(r4), 0, qr0
/* 8037C404 00379364 4E 80 00 20 */ blr
.global GXLoadNrmMtxImm
GXLoadNrmMtxImm:
/* 8037C408 00379368 1C A4 00 03 */ mulli r5, r4, 3
/* 8037C40C 0037936C 3C 80 CC 01 */ lis r4, 0xCC008000@ha
/* 8037C410 00379370 38 00 00 10 */ li r0, 0x10
/* 8037C414 00379374 38 A5 04 00 */ addi r5, r5, 0x400
/* 8037C418 00379378 98 04 80 00 */ stb r0, 0xCC008000@l(r4)
/* 8037C41C 0037937C 64 A0 00 08 */ oris r0, r5, 8
/* 8037C420 00379380 94 04 80 00 */ stwu r0, 0xCC008000@l(r4)
/* 8037C424 00379384 E0 A3 00 00 */ psq_l f5, 0(r3), 0, qr0
/* 8037C428 00379388 C0 83 00 08 */ lfs f4, 8(r3)
/* 8037C42C 0037938C E0 63 00 10 */ psq_l f3, 16(r3), 0, qr0
/* 8037C430 00379390 C0 43 00 18 */ lfs f2, 0x18(r3)
/* 8037C434 00379394 E0 23 00 20 */ psq_l f1, 32(r3), 0, qr0
/* 8037C438 00379398 C0 03 00 28 */ lfs f0, 0x28(r3)
/* 8037C43C 0037939C F0 A4 00 00 */ psq_st f5, 0(r4), 0, qr0
/* 8037C440 003793A0 D0 84 00 00 */ stfs f4, 0(r4)
/* 8037C444 003793A4 F0 64 00 00 */ psq_st f3, 0(r4), 0, qr0
/* 8037C448 003793A8 D0 44 00 00 */ stfs f2, 0(r4)
/* 8037C44C 003793AC F0 24 00 00 */ psq_st f1, 0(r4), 0, qr0
/* 8037C450 003793B0 D0 04 00 00 */ stfs f0, 0(r4)
/* 8037C454 003793B4 4E 80 00 20 */ blr
.global GXSetCurrentMtx
GXSetCurrentMtx:
/* 8037C458 003793B8 7C 08 02 A6 */ mflr r0
/* 8037C45C 003793BC 90 01 00 04 */ stw r0, 4(r1)
/* 8037C460 003793C0 94 21 FF F8 */ stwu r1, -8(r1)
/* 8037C464 003793C4 80 82 CE 08 */ lwz r4, __GXData@sda21(r2)
/* 8037C468 003793C8 84 04 00 80 */ lwzu r0, 0x80(r4)
/* 8037C46C 003793CC 54 00 00 32 */ rlwinm r0, r0, 0, 0, 0x19
/* 8037C470 003793D0 7C 00 1B 78 */ or r0, r0, r3
/* 8037C474 003793D4 90 04 00 00 */ stw r0, 0(r4)
/* 8037C478 003793D8 38 60 00 00 */ li r3, 0
/* 8037C47C 003793DC 48 00 02 E9 */ bl __GXSetMatrixIndex
/* 8037C480 003793E0 80 01 00 0C */ lwz r0, 0xc(r1)
/* 8037C484 003793E4 38 21 00 08 */ addi r1, r1, 8
/* 8037C488 003793E8 7C 08 03 A6 */ mtlr r0
/* 8037C48C 003793EC 4E 80 00 20 */ blr
.global GXLoadTexMtxImm
GXLoadTexMtxImm:
/* 8037C490 003793F0 28 04 00 40 */ cmplwi r4, 0x40
/* 8037C494 003793F4 41 80 00 14 */ blt lbl_8037C4A8
/* 8037C498 003793F8 38 04 FF C0 */ addi r0, r4, -64
/* 8037C49C 003793FC 54 04 10 3A */ slwi r4, r0, 2
/* 8037C4A0 00379400 38 E4 05 00 */ addi r7, r4, 0x500
/* 8037C4A4 00379404 48 00 00 08 */ b lbl_8037C4AC
lbl_8037C4A8:
/* 8037C4A8 00379408 54 87 10 3A */ slwi r7, r4, 2
lbl_8037C4AC:
/* 8037C4AC 0037940C 2C 05 00 01 */ cmpwi r5, 1
/* 8037C4B0 00379410 40 82 00 0C */ bne lbl_8037C4BC
/* 8037C4B4 00379414 38 80 00 08 */ li r4, 8
/* 8037C4B8 00379418 48 00 00 08 */ b lbl_8037C4C0
lbl_8037C4BC:
/* 8037C4BC 0037941C 38 80 00 0C */ li r4, 0xc
lbl_8037C4C0:
/* 8037C4C0 00379420 38 04 FF FF */ addi r0, r4, -1
/* 8037C4C4 00379424 54 06 80 1E */ slwi r6, r0, 0x10
/* 8037C4C8 00379428 38 00 00 10 */ li r0, 0x10
/* 8037C4CC 0037942C 3C 80 CC 01 */ lis r4, 0xCC008000@ha
/* 8037C4D0 00379430 98 04 80 00 */ stb r0, 0xCC008000@l(r4)
/* 8037C4D4 00379434 7C E0 33 78 */ or r0, r7, r6
/* 8037C4D8 00379438 2C 05 00 00 */ cmpwi r5, 0
/* 8037C4DC 0037943C 90 04 80 00 */ stw r0, 0xCC008000@l(r4)
/* 8037C4E0 00379440 40 82 00 3C */ bne lbl_8037C51C
/* 8037C4E4 00379444 38 84 80 00 */ addi r4, r4, -32768
/* 8037C4E8 00379448 E0 A3 00 00 */ psq_l f5, 0(r3), 0, qr0
/* 8037C4EC 0037944C E0 83 00 08 */ psq_l f4, 8(r3), 0, qr0
/* 8037C4F0 00379450 E0 63 00 10 */ psq_l f3, 16(r3), 0, qr0
/* 8037C4F4 00379454 E0 43 00 18 */ psq_l f2, 24(r3), 0, qr0
/* 8037C4F8 00379458 E0 23 00 20 */ psq_l f1, 32(r3), 0, qr0
/* 8037C4FC 0037945C E0 03 00 28 */ psq_l f0, 40(r3), 0, qr0
/* 8037C500 00379460 F0 A4 00 00 */ psq_st f5, 0(r4), 0, qr0
/* 8037C504 00379464 F0 84 00 00 */ psq_st f4, 0(r4), 0, qr0
/* 8037C508 00379468 F0 64 00 00 */ psq_st f3, 0(r4), 0, qr0
/* 8037C50C 0037946C F0 44 00 00 */ psq_st f2, 0(r4), 0, qr0
/* 8037C510 00379470 F0 24 00 00 */ psq_st f1, 0(r4), 0, qr0
/* 8037C514 00379474 F0 04 00 00 */ psq_st f0, 0(r4), 0, qr0
/* 8037C518 00379478 4E 80 00 20 */ blr
lbl_8037C51C:
/* 8037C51C 0037947C 38 84 80 00 */ addi r4, r4, -32768
/* 8037C520 00379480 E0 63 00 00 */ psq_l f3, 0(r3), 0, qr0
/* 8037C524 00379484 E0 43 00 08 */ psq_l f2, 8(r3), 0, qr0
/* 8037C528 00379488 E0 23 00 10 */ psq_l f1, 16(r3), 0, qr0
/* 8037C52C 0037948C E0 03 00 18 */ psq_l f0, 24(r3), 0, qr0
/* 8037C530 00379490 F0 64 00 00 */ psq_st f3, 0(r4), 0, qr0
/* 8037C534 00379494 F0 44 00 00 */ psq_st f2, 0(r4), 0, qr0
/* 8037C538 00379498 F0 24 00 00 */ psq_st f1, 0(r4), 0, qr0
/* 8037C53C 0037949C F0 04 00 00 */ psq_st f0, 0(r4), 0, qr0
/* 8037C540 003794A0 4E 80 00 20 */ blr
.global GXSetViewportJitter
GXSetViewportJitter:
/* 8037C544 003794A4 7C 08 02 A6 */ mflr r0
/* 8037C548 003794A8 28 03 00 00 */ cmplwi r3, 0
/* 8037C54C 003794AC 90 01 00 04 */ stw r0, 4(r1)
/* 8037C550 003794B0 94 21 FF A0 */ stwu r1, -0x60(r1)
/* 8037C554 003794B4 DB E1 00 58 */ stfd f31, 0x58(r1)
/* 8037C558 003794B8 DB C1 00 50 */ stfd f30, 0x50(r1)
/* 8037C55C 003794BC DB A1 00 48 */ stfd f29, 0x48(r1)
/* 8037C560 003794C0 DB 81 00 40 */ stfd f28, 0x40(r1)
/* 8037C564 003794C4 DB 61 00 38 */ stfd f27, 0x38(r1)
/* 8037C568 003794C8 DB 41 00 30 */ stfd f26, 0x30(r1)
/* 8037C56C 003794CC 40 82 00 0C */ bne lbl_8037C578
/* 8037C570 003794D0 C0 02 CE C8 */ lfs f0, lbl_805AEBE8@sda21(r2)
/* 8037C574 003794D4 EC 42 00 28 */ fsubs f2, f2, f0
lbl_8037C578:
/* 8037C578 003794D8 C1 62 CE C8 */ lfs f11, lbl_805AEBE8@sda21(r2)
/* 8037C57C 003794DC FD 40 20 50 */ fneg f10, f4
/* 8037C580 003794E0 C0 02 CE D0 */ lfs f0, lbl_805AEBF0@sda21(r2)
/* 8037C584 003794E4 C1 22 CE CC */ lfs f9, lbl_805AEBEC@sda21(r2)
/* 8037C588 003794E8 EF E3 02 F2 */ fmuls f31, f3, f11
/* 8037C58C 003794EC 80 62 CE 08 */ lwz r3, __GXData@sda21(r2)
/* 8037C590 003794F0 EC E4 02 F2 */ fmuls f7, f4, f11
/* 8037C594 003794F4 D0 23 04 3C */ stfs f1, 0x43c(r3)
/* 8037C598 003794F8 ED 01 F8 2A */ fadds f8, f1, f31
/* 8037C59C 003794FC EF C0 01 B2 */ fmuls f30, f0, f6
/* 8037C5A0 00379500 D0 43 04 40 */ stfs f2, 0x440(r3)
/* 8037C5A4 00379504 EC 22 38 2A */ fadds f1, f2, f7
/* 8037C5A8 00379508 D0 63 04 44 */ stfs f3, 0x444(r3)
/* 8037C5AC 0037950C EC 00 01 72 */ fmuls f0, f0, f5
/* 8037C5B0 00379510 EF AA 02 F2 */ fmuls f29, f10, f11
/* 8037C5B4 00379514 D0 83 04 48 */ stfs f4, 0x448(r3)
/* 8037C5B8 00379518 EF 69 40 2A */ fadds f27, f9, f8
/* 8037C5BC 0037951C D0 A3 04 4C */ stfs f5, 0x44c(r3)
/* 8037C5C0 00379520 EF 49 08 2A */ fadds f26, f9, f1
/* 8037C5C4 00379524 EF 9E 00 28 */ fsubs f28, f30, f0
/* 8037C5C8 00379528 D0 C3 04 50 */ stfs f6, 0x450(r3)
/* 8037C5CC 0037952C 88 03 04 54 */ lbz r0, 0x454(r3)
/* 8037C5D0 00379530 28 00 00 00 */ cmplwi r0, 0
/* 8037C5D4 00379534 41 82 00 10 */ beq lbl_8037C5E4
/* 8037C5D8 00379538 FC 20 28 90 */ fmr f1, f5
/* 8037C5DC 0037953C C0 43 04 58 */ lfs f2, 0x458(r3)
/* 8037C5E0 00379540 4B FF FB F1 */ bl __GXSetRange
lbl_8037C5E4:
/* 8037C5E4 00379544 38 00 00 10 */ li r0, 0x10
/* 8037C5E8 00379548 80 62 CE 08 */ lwz r3, __GXData@sda21(r2)
/* 8037C5EC 0037954C 3C A0 CC 01 */ lis r5, 0xCC008000@ha
/* 8037C5F0 00379550 3C 80 00 05 */ lis r4, 0x0005101A@ha
/* 8037C5F4 00379554 98 05 80 00 */ stb r0, 0xCC008000@l(r5)
/* 8037C5F8 00379558 38 04 10 1A */ addi r0, r4, 0x0005101A@l
/* 8037C5FC 0037955C 90 05 80 00 */ stw r0, 0xCC008000@l(r5)
/* 8037C600 00379560 38 00 00 01 */ li r0, 1
/* 8037C604 00379564 D3 E5 80 00 */ stfs f31, 0xCC008000@l(r5)
/* 8037C608 00379568 D3 A5 80 00 */ stfs f29, 0xCC008000@l(r5)
/* 8037C60C 0037956C D3 85 80 00 */ stfs f28, 0xCC008000@l(r5)
/* 8037C610 00379570 D3 65 80 00 */ stfs f27, 0xCC008000@l(r5)
/* 8037C614 00379574 D3 45 80 00 */ stfs f26, 0xCC008000@l(r5)
/* 8037C618 00379578 D3 C5 80 00 */ stfs f30, 0xCC008000@l(r5)
/* 8037C61C 0037957C B0 03 00 02 */ sth r0, 2(r3)
/* 8037C620 00379580 80 01 00 64 */ lwz r0, 0x64(r1)
/* 8037C624 00379584 CB E1 00 58 */ lfd f31, 0x58(r1)
/* 8037C628 00379588 CB C1 00 50 */ lfd f30, 0x50(r1)
/* 8037C62C 0037958C CB A1 00 48 */ lfd f29, 0x48(r1)
/* 8037C630 00379590 CB 81 00 40 */ lfd f28, 0x40(r1)
/* 8037C634 00379594 CB 61 00 38 */ lfd f27, 0x38(r1)
/* 8037C638 00379598 CB 41 00 30 */ lfd f26, 0x30(r1)
/* 8037C63C 0037959C 38 21 00 60 */ addi r1, r1, 0x60
/* 8037C640 003795A0 7C 08 03 A6 */ mtlr r0
/* 8037C644 003795A4 4E 80 00 20 */ blr
.global GXSetViewport
GXSetViewport:
/* 8037C648 003795A8 7C 08 02 A6 */ mflr r0
/* 8037C64C 003795AC 38 60 00 01 */ li r3, 1
/* 8037C650 003795B0 90 01 00 04 */ stw r0, 4(r1)
/* 8037C654 003795B4 94 21 FF F8 */ stwu r1, -8(r1)
/* 8037C658 003795B8 4B FF FE ED */ bl GXSetViewportJitter
/* 8037C65C 003795BC 80 01 00 0C */ lwz r0, 0xc(r1)
/* 8037C660 003795C0 38 21 00 08 */ addi r1, r1, 8
/* 8037C664 003795C4 7C 08 03 A6 */ mtlr r0
/* 8037C668 003795C8 4E 80 00 20 */ blr
.global GXSetScissor
GXSetScissor:
/* 8037C66C 003795CC 81 02 CE 08 */ lwz r8, __GXData@sda21(r2)
/* 8037C670 003795D0 39 23 01 56 */ addi r9, r3, 0x156
/* 8037C674 003795D4 39 44 01 56 */ addi r10, r4, 0x156
/* 8037C678 003795D8 80 68 00 F8 */ lwz r3, 0xf8(r8)
/* 8037C67C 003795DC 38 05 FF FF */ addi r0, r5, -1
/* 8037C680 003795E0 55 24 60 26 */ slwi r4, r9, 0xc
/* 8037C684 003795E4 54 63 00 28 */ rlwinm r3, r3, 0, 0, 0x14
/* 8037C688 003795E8 7C 63 53 78 */ or r3, r3, r10
/* 8037C68C 003795EC 90 68 00 F8 */ stw r3, 0xf8(r8)
/* 8037C690 003795F0 38 66 FF FF */ addi r3, r6, -1
/* 8037C694 003795F4 7C CA 1A 14 */ add r6, r10, r3
/* 8037C698 003795F8 80 A8 00 F8 */ lwz r5, 0xf8(r8)
/* 8037C69C 003795FC 7C 09 02 14 */ add r0, r9, r0
/* 8037C6A0 00379600 54 A3 05 10 */ rlwinm r3, r5, 0, 0x14, 8
/* 8037C6A4 00379604 7C 63 23 78 */ or r3, r3, r4
/* 8037C6A8 00379608 90 68 00 F8 */ stw r3, 0xf8(r8)
/* 8037C6AC 0037960C 54 03 60 26 */ slwi r3, r0, 0xc
/* 8037C6B0 00379610 38 A0 00 61 */ li r5, 0x61
/* 8037C6B4 00379614 80 E8 00 FC */ lwz r7, 0xfc(r8)
/* 8037C6B8 00379618 3C 80 CC 01 */ lis r4, 0xCC008000@ha
/* 8037C6BC 0037961C 38 00 00 00 */ li r0, 0
/* 8037C6C0 00379620 54 E7 00 28 */ rlwinm r7, r7, 0, 0, 0x14
/* 8037C6C4 00379624 7C E6 33 78 */ or r6, r7, r6
/* 8037C6C8 00379628 90 C8 00 FC */ stw r6, 0xfc(r8)
/* 8037C6CC 0037962C 80 C8 00 FC */ lwz r6, 0xfc(r8)
/* 8037C6D0 00379630 54 C6 05 10 */ rlwinm r6, r6, 0, 0x14, 8
/* 8037C6D4 00379634 7C C3 1B 78 */ or r3, r6, r3
/* 8037C6D8 00379638 90 68 00 FC */ stw r3, 0xfc(r8)
/* 8037C6DC 0037963C 98 A4 80 00 */ stb r5, 0xCC008000@l(r4)
/* 8037C6E0 00379640 80 68 00 F8 */ lwz r3, 0xf8(r8)
/* 8037C6E4 00379644 90 64 80 00 */ stw r3, 0xCC008000@l(r4)
/* 8037C6E8 00379648 98 A4 80 00 */ stb r5, 0xCC008000@l(r4)
/* 8037C6EC 0037964C 80 68 00 FC */ lwz r3, 0xfc(r8)
/* 8037C6F0 00379650 90 64 80 00 */ stw r3, 0xCC008000@l(r4)
/* 8037C6F4 00379654 B0 08 00 02 */ sth r0, 2(r8)
/* 8037C6F8 00379658 4E 80 00 20 */ blr
.global GXSetScissorBoxOffset
GXSetScissorBoxOffset:
/* 8037C6FC 0037965C 38 A3 01 56 */ addi r5, r3, 0x156
/* 8037C700 00379660 80 62 CE 08 */ lwz r3, __GXData@sda21(r2)
/* 8037C704 00379664 38 04 01 56 */ addi r0, r4, 0x156
/* 8037C708 00379668 54 A4 F8 7E */ srwi r4, r5, 1
/* 8037C70C 0037966C 54 84 05 96 */ rlwinm r4, r4, 0, 0x16, 0xb
/* 8037C710 00379670 54 00 48 2A */ rlwinm r0, r0, 9, 0, 0x15
/* 8037C714 00379674 7C 80 03 78 */ or r0, r4, r0
/* 8037C718 00379678 54 05 02 3E */ clrlwi r5, r0, 8
/* 8037C71C 0037967C 38 00 00 61 */ li r0, 0x61
/* 8037C720 00379680 3C 80 CC 01 */ lis r4, 0xCC008000@ha
/* 8037C724 00379684 98 04 80 00 */ stb r0, 0xCC008000@l(r4)
/* 8037C728 00379688 64 A5 59 00 */ oris r5, r5, 0x5900
/* 8037C72C 0037968C 38 00 00 00 */ li r0, 0
/* 8037C730 00379690 90 A4 80 00 */ stw r5, 0xCC008000@l(r4)
/* 8037C734 00379694 B0 03 00 02 */ sth r0, 2(r3)
/* 8037C738 00379698 4E 80 00 20 */ blr
.global GXSetClipMode
GXSetClipMode:
/* 8037C73C 0037969C 38 00 00 10 */ li r0, 0x10
/* 8037C740 003796A0 80 82 CE 08 */ lwz r4, __GXData@sda21(r2)
/* 8037C744 003796A4 3C C0 CC 01 */ lis r6, 0xCC008000@ha
/* 8037C748 003796A8 98 06 80 00 */ stb r0, 0xCC008000@l(r6)
/* 8037C74C 003796AC 38 A0 10 05 */ li r5, 0x1005
/* 8037C750 003796B0 38 00 00 01 */ li r0, 1
/* 8037C754 003796B4 90 A6 80 00 */ stw r5, 0xCC008000@l(r6)
/* 8037C758 003796B8 90 66 80 00 */ stw r3, 0xCC008000@l(r6)
/* 8037C75C 003796BC B0 04 00 02 */ sth r0, 2(r4)
/* 8037C760 003796C0 4E 80 00 20 */ blr
.global __GXSetMatrixIndex
__GXSetMatrixIndex:
/* 8037C764 003796C4 2C 03 00 05 */ cmpwi r3, 5
/* 8037C768 003796C8 40 80 00 3C */ bge lbl_8037C7A4
/* 8037C76C 003796CC 38 00 00 08 */ li r0, 8
/* 8037C770 003796D0 80 82 CE 08 */ lwz r4, __GXData@sda21(r2)
/* 8037C774 003796D4 3C A0 CC 01 */ lis r5, 0xCC008000@ha
/* 8037C778 003796D8 98 05 80 00 */ stb r0, 0xCC008000@l(r5)
/* 8037C77C 003796DC 38 00 00 30 */ li r0, 0x30
/* 8037C780 003796E0 38 60 00 10 */ li r3, 0x10
/* 8037C784 003796E4 98 05 80 00 */ stb r0, 0xCC008000@l(r5)
/* 8037C788 003796E8 38 00 10 18 */ li r0, 0x1018
/* 8037C78C 003796EC 80 84 00 80 */ lwz r4, 0x80(r4)
/* 8037C790 003796F0 90 85 80 00 */ stw r4, 0xCC008000@l(r5)
/* 8037C794 003796F4 98 65 80 00 */ stb r3, 0xCC008000@l(r5)
/* 8037C798 003796F8 90 05 80 00 */ stw r0, 0xCC008000@l(r5)
/* 8037C79C 003796FC 90 85 80 00 */ stw r4, 0xCC008000@l(r5)
/* 8037C7A0 00379700 48 00 00 38 */ b lbl_8037C7D8
lbl_8037C7A4:
/* 8037C7A4 00379704 38 00 00 08 */ li r0, 8
/* 8037C7A8 00379708 80 82 CE 08 */ lwz r4, __GXData@sda21(r2)
/* 8037C7AC 0037970C 3C A0 CC 01 */ lis r5, 0xCC008000@ha
/* 8037C7B0 00379710 98 05 80 00 */ stb r0, 0xCC008000@l(r5)
/* 8037C7B4 00379714 38 00 00 40 */ li r0, 0x40
/* 8037C7B8 00379718 38 60 00 10 */ li r3, 0x10
/* 8037C7BC 0037971C 98 05 80 00 */ stb r0, 0xCC008000@l(r5)
/* 8037C7C0 00379720 38 00 10 19 */ li r0, 0x1019
/* 8037C7C4 00379724 80 84 00 84 */ lwz r4, 0x84(r4)
/* 8037C7C8 00379728 90 85 80 00 */ stw r4, 0xCC008000@l(r5)
/* 8037C7CC 0037972C 98 65 80 00 */ stb r3, 0xCC008000@l(r5)
/* 8037C7D0 00379730 90 05 80 00 */ stw r0, 0xCC008000@l(r5)
/* 8037C7D4 00379734 90 85 80 00 */ stw r4, 0xCC008000@l(r5)
lbl_8037C7D8:
/* 8037C7D8 00379738 80 62 CE 08 */ lwz r3, __GXData@sda21(r2)
/* 8037C7DC 0037973C 38 00 00 01 */ li r0, 1
/* 8037C7E0 00379740 B0 03 00 02 */ sth r0, 2(r3)
/* 8037C7E4 00379744 4E 80 00 20 */ blr

View File

@ -1,321 +0,0 @@
.include "macros.inc"
.section .sdata
.balign 8
.global lbl_805A8B20
lbl_805A8B20:
# ROM: 0x3F64C0
.4byte 0
.float 1.0
.section .sdata2
.balign 8
.global lbl_805AEBF8
lbl_805AEBF8:
# ROM: 0x3FB498
.float 1.0
.global lbl_805AEBFC
lbl_805AEBFC:
# ROM: 0x3FB49C
.4byte 0
.section .text, "ax"
.global PSMTXIdentity
PSMTXIdentity:
/* 8037D040 00379FA0 C0 02 CE DC */ lfs f0, lbl_805AEBFC@sda21(r2)
/* 8037D044 00379FA4 C0 22 CE D8 */ lfs f1, lbl_805AEBF8@sda21(r2)
/* 8037D048 00379FA8 F0 03 00 08 */ psq_st f0, 8(r3), 0, qr0
/* 8037D04C 00379FAC 10 40 0C 60 */ ps_merge01 f2, f0, f1
/* 8037D050 00379FB0 F0 03 00 18 */ psq_st f0, 24(r3), 0, qr0
/* 8037D054 00379FB4 10 21 04 A0 */ ps_merge10 f1, f1, f0
/* 8037D058 00379FB8 F0 03 00 20 */ psq_st f0, 32(r3), 0, qr0
/* 8037D05C 00379FBC F0 43 00 10 */ psq_st f2, 16(r3), 0, qr0
/* 8037D060 00379FC0 F0 23 00 00 */ psq_st f1, 0(r3), 0, qr0
/* 8037D064 00379FC4 F0 23 00 28 */ psq_st f1, 40(r3), 0, qr0
/* 8037D068 00379FC8 4E 80 00 20 */ blr
.global PSMTXCopy
PSMTXCopy:
/* 8037D06C 00379FCC E0 03 00 00 */ psq_l f0, 0(r3), 0, qr0
/* 8037D070 00379FD0 F0 04 00 00 */ psq_st f0, 0(r4), 0, qr0
/* 8037D074 00379FD4 E0 23 00 08 */ psq_l f1, 8(r3), 0, qr0
/* 8037D078 00379FD8 F0 24 00 08 */ psq_st f1, 8(r4), 0, qr0
/* 8037D07C 00379FDC E0 43 00 10 */ psq_l f2, 16(r3), 0, qr0
/* 8037D080 00379FE0 F0 44 00 10 */ psq_st f2, 16(r4), 0, qr0
/* 8037D084 00379FE4 E0 63 00 18 */ psq_l f3, 24(r3), 0, qr0
/* 8037D088 00379FE8 F0 64 00 18 */ psq_st f3, 24(r4), 0, qr0
/* 8037D08C 00379FEC E0 83 00 20 */ psq_l f4, 32(r3), 0, qr0
/* 8037D090 00379FF0 F0 84 00 20 */ psq_st f4, 32(r4), 0, qr0
/* 8037D094 00379FF4 E0 A3 00 28 */ psq_l f5, 40(r3), 0, qr0
/* 8037D098 00379FF8 F0 A4 00 28 */ psq_st f5, 40(r4), 0, qr0
/* 8037D09C 00379FFC 4E 80 00 20 */ blr
.global PSMTXConcat
PSMTXConcat:
/* 8037D0A0 0037A000 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 8037D0A4 0037A004 E0 03 00 00 */ psq_l f0, 0(r3), 0, qr0
/* 8037D0A8 0037A008 D9 C1 00 08 */ stfd f14, 8(r1)
/* 8037D0AC 0037A00C E0 C4 00 00 */ psq_l f6, 0(r4), 0, qr0
/* 8037D0B0 0037A010 3C C0 80 5B */ lis r6, lbl_805A8B20@ha
/* 8037D0B4 0037A014 E0 E4 00 08 */ psq_l f7, 8(r4), 0, qr0
/* 8037D0B8 0037A018 D9 E1 00 10 */ stfd f15, 0x10(r1)
/* 8037D0BC 0037A01C 38 C6 8B 20 */ addi r6, r6, lbl_805A8B20@l
/* 8037D0C0 0037A020 DB E1 00 28 */ stfd f31, 0x28(r1)
/* 8037D0C4 0037A024 E1 04 00 10 */ psq_l f8, 16(r4), 0, qr0
/* 8037D0C8 0037A028 11 86 00 18 */ ps_muls0 f12, f6, f0
/* 8037D0CC 0037A02C E0 43 00 10 */ psq_l f2, 16(r3), 0, qr0
/* 8037D0D0 0037A030 11 A7 00 18 */ ps_muls0 f13, f7, f0
/* 8037D0D4 0037A034 E3 E6 00 00 */ psq_l f31, 0(r6), 0, qr0
/* 8037D0D8 0037A038 11 C6 00 98 */ ps_muls0 f14, f6, f2
/* 8037D0DC 0037A03C E1 24 00 18 */ psq_l f9, 24(r4), 0, qr0
/* 8037D0E0 0037A040 11 E7 00 98 */ ps_muls0 f15, f7, f2
/* 8037D0E4 0037A044 E0 23 00 08 */ psq_l f1, 8(r3), 0, qr0
/* 8037D0E8 0037A048 11 88 60 1E */ ps_madds1 f12, f8, f0, f12
/* 8037D0EC 0037A04C E0 63 00 18 */ psq_l f3, 24(r3), 0, qr0
/* 8037D0F0 0037A050 11 C8 70 9E */ ps_madds1 f14, f8, f2, f14
/* 8037D0F4 0037A054 E1 44 00 20 */ psq_l f10, 32(r4), 0, qr0
/* 8037D0F8 0037A058 11 A9 68 1E */ ps_madds1 f13, f9, f0, f13
/* 8037D0FC 0037A05C E1 64 00 28 */ psq_l f11, 40(r4), 0, qr0
/* 8037D100 0037A060 11 E9 78 9E */ ps_madds1 f15, f9, f2, f15
/* 8037D104 0037A064 E0 83 00 20 */ psq_l f4, 32(r3), 0, qr0
/* 8037D108 0037A068 E0 A3 00 28 */ psq_l f5, 40(r3), 0, qr0
/* 8037D10C 0037A06C 11 8A 60 5C */ ps_madds0 f12, f10, f1, f12
/* 8037D110 0037A070 11 AB 68 5C */ ps_madds0 f13, f11, f1, f13
/* 8037D114 0037A074 11 CA 70 DC */ ps_madds0 f14, f10, f3, f14
/* 8037D118 0037A078 11 EB 78 DC */ ps_madds0 f15, f11, f3, f15
/* 8037D11C 0037A07C F1 85 00 00 */ psq_st f12, 0(r5), 0, qr0
/* 8037D120 0037A080 10 46 01 18 */ ps_muls0 f2, f6, f4
/* 8037D124 0037A084 11 BF 68 5E */ ps_madds1 f13, f31, f1, f13
/* 8037D128 0037A088 10 07 01 18 */ ps_muls0 f0, f7, f4
/* 8037D12C 0037A08C F1 C5 00 10 */ psq_st f14, 16(r5), 0, qr0
/* 8037D130 0037A090 11 FF 78 DE */ ps_madds1 f15, f31, f3, f15
/* 8037D134 0037A094 F1 A5 00 08 */ psq_st f13, 8(r5), 0, qr0
/* 8037D138 0037A098 10 48 11 1E */ ps_madds1 f2, f8, f4, f2
/* 8037D13C 0037A09C 10 09 01 1E */ ps_madds1 f0, f9, f4, f0
/* 8037D140 0037A0A0 10 4A 11 5C */ ps_madds0 f2, f10, f5, f2
/* 8037D144 0037A0A4 C9 C1 00 08 */ lfd f14, 8(r1)
/* 8037D148 0037A0A8 F1 E5 00 18 */ psq_st f15, 24(r5), 0, qr0
/* 8037D14C 0037A0AC 10 0B 01 5C */ ps_madds0 f0, f11, f5, f0
/* 8037D150 0037A0B0 F0 45 00 20 */ psq_st f2, 32(r5), 0, qr0
/* 8037D154 0037A0B4 10 1F 01 5E */ ps_madds1 f0, f31, f5, f0
/* 8037D158 0037A0B8 C9 E1 00 10 */ lfd f15, 0x10(r1)
/* 8037D15C 0037A0BC F0 05 00 28 */ psq_st f0, 40(r5), 0, qr0
/* 8037D160 0037A0C0 CB E1 00 28 */ lfd f31, 0x28(r1)
/* 8037D164 0037A0C4 38 21 00 40 */ addi r1, r1, 0x40
/* 8037D168 0037A0C8 4E 80 00 20 */ blr
.global PSMTXInvXpose
PSMTXInvXpose:
/* 8037D16C 0037A0CC E0 03 80 00 */ psq_l f0, 0(r3), 1, qr0
/* 8037D170 0037A0D0 E0 23 00 04 */ psq_l f1, 4(r3), 0, qr0
/* 8037D174 0037A0D4 E0 43 80 10 */ psq_l f2, 16(r3), 1, qr0
/* 8037D178 0037A0D8 10 C1 04 A0 */ ps_merge10 f6, f1, f0
/* 8037D17C 0037A0DC E0 63 00 14 */ psq_l f3, 20(r3), 0, qr0
/* 8037D180 0037A0E0 E0 83 80 20 */ psq_l f4, 32(r3), 1, qr0
/* 8037D184 0037A0E4 10 E3 14 A0 */ ps_merge10 f7, f3, f2
/* 8037D188 0037A0E8 E0 A3 00 24 */ psq_l f5, 36(r3), 0, qr0
/* 8037D18C 0037A0EC 11 63 01 B2 */ ps_mul f11, f3, f6
/* 8037D190 0037A0F0 11 05 24 A0 */ ps_merge10 f8, f5, f4
/* 8037D194 0037A0F4 11 A5 01 F2 */ ps_mul f13, f5, f7
/* 8037D198 0037A0F8 11 61 59 F8 */ ps_msub f11, f1, f7, f11
/* 8037D19C 0037A0FC 11 81 02 32 */ ps_mul f12, f1, f8
/* 8037D1A0 0037A100 11 A3 6A 38 */ ps_msub f13, f3, f8, f13
/* 8037D1A4 0037A104 11 85 61 B8 */ ps_msub f12, f5, f6, f12
/* 8037D1A8 0037A108 11 43 01 32 */ ps_mul f10, f3, f4
/* 8037D1AC 0037A10C 11 20 01 72 */ ps_mul f9, f0, f5
/* 8037D1B0 0037A110 11 01 00 B2 */ ps_mul f8, f1, f2
/* 8037D1B4 0037A114 11 42 51 78 */ ps_msub f10, f2, f5, f10
/* 8037D1B8 0037A118 11 21 49 38 */ ps_msub f9, f1, f4, f9
/* 8037D1BC 0037A11C 11 00 40 F8 */ ps_msub f8, f0, f3, f8
/* 8037D1C0 0037A120 10 E0 03 72 */ ps_mul f7, f0, f13
/* 8037D1C4 0037A124 10 21 08 28 */ ps_sub f1, f1, f1
/* 8037D1C8 0037A128 10 E2 3B 3A */ ps_madd f7, f2, f12, f7
/* 8037D1CC 0037A12C 10 E4 3A FA */ ps_madd f7, f4, f11, f7
/* 8037D1D0 0037A130 10 07 08 40 */ ps_cmpo0 cr0, f7, f1
/* 8037D1D4 0037A134 40 82 00 0C */ bne lbl_8037D1E0
/* 8037D1D8 0037A138 38 60 00 00 */ li r3, 0
/* 8037D1DC 0037A13C 4E 80 00 20 */ blr
lbl_8037D1E0:
/* 8037D1E0 0037A140 EC 00 38 30 */ fres f0, f7
/* 8037D1E4 0037A144 F0 24 80 0C */ psq_st f1, 12(r4), 1, qr0
/* 8037D1E8 0037A148 10 C0 00 2A */ ps_add f6, f0, f0
/* 8037D1EC 0037A14C 10 A0 00 32 */ ps_mul f5, f0, f0
/* 8037D1F0 0037A150 F0 24 80 1C */ psq_st f1, 28(r4), 1, qr0
/* 8037D1F4 0037A154 10 07 31 7C */ ps_nmsub f0, f7, f5, f6
/* 8037D1F8 0037A158 F0 24 80 2C */ psq_st f1, 44(r4), 1, qr0
/* 8037D1FC 0037A15C 11 AD 00 18 */ ps_muls0 f13, f13, f0
/* 8037D200 0037A160 11 8C 00 18 */ ps_muls0 f12, f12, f0
/* 8037D204 0037A164 11 6B 00 18 */ ps_muls0 f11, f11, f0
/* 8037D208 0037A168 F1 A4 00 00 */ psq_st f13, 0(r4), 0, qr0
/* 8037D20C 0037A16C F1 84 00 10 */ psq_st f12, 16(r4), 0, qr0
/* 8037D210 0037A170 11 4A 00 18 */ ps_muls0 f10, f10, f0
/* 8037D214 0037A174 11 29 00 18 */ ps_muls0 f9, f9, f0
/* 8037D218 0037A178 F1 64 00 20 */ psq_st f11, 32(r4), 0, qr0
/* 8037D21C 0037A17C F1 44 80 08 */ psq_st f10, 8(r4), 1, qr0
/* 8037D220 0037A180 11 08 00 18 */ ps_muls0 f8, f8, f0
/* 8037D224 0037A184 38 60 00 01 */ li r3, 1
/* 8037D228 0037A188 F1 24 80 18 */ psq_st f9, 24(r4), 1, qr0
/* 8037D22C 0037A18C F1 04 80 28 */ psq_st f8, 40(r4), 1, qr0
/* 8037D230 0037A190 4E 80 00 20 */ blr
.global PSMTXTrans
PSMTXTrans:
/* 8037D234 0037A194 C0 02 CE DC */ lfs f0, lbl_805AEBFC@sda21(r2)
/* 8037D238 0037A198 C0 82 CE D8 */ lfs f4, lbl_805AEBF8@sda21(r2)
/* 8037D23C 0037A19C D0 23 00 0C */ stfs f1, 0xc(r3)
/* 8037D240 0037A1A0 D0 43 00 1C */ stfs f2, 0x1c(r3)
/* 8037D244 0037A1A4 F0 03 00 04 */ psq_st f0, 4(r3), 0, qr0
/* 8037D248 0037A1A8 F0 03 00 20 */ psq_st f0, 32(r3), 0, qr0
/* 8037D24C 0037A1AC D0 03 00 10 */ stfs f0, 0x10(r3)
/* 8037D250 0037A1B0 D0 83 00 14 */ stfs f4, 0x14(r3)
/* 8037D254 0037A1B4 D0 03 00 18 */ stfs f0, 0x18(r3)
/* 8037D258 0037A1B8 D0 83 00 28 */ stfs f4, 0x28(r3)
/* 8037D25C 0037A1BC D0 63 00 2C */ stfs f3, 0x2c(r3)
/* 8037D260 0037A1C0 D0 83 00 00 */ stfs f4, 0(r3)
/* 8037D264 0037A1C4 4E 80 00 20 */ blr
.global PSMTXScale
PSMTXScale:
/* 8037D268 0037A1C8 C0 02 CE DC */ lfs f0, lbl_805AEBFC@sda21(r2)
/* 8037D26C 0037A1CC D0 23 00 00 */ stfs f1, 0(r3)
/* 8037D270 0037A1D0 F0 03 00 04 */ psq_st f0, 4(r3), 0, qr0
/* 8037D274 0037A1D4 F0 03 00 0C */ psq_st f0, 12(r3), 0, qr0
/* 8037D278 0037A1D8 D0 43 00 14 */ stfs f2, 0x14(r3)
/* 8037D27C 0037A1DC F0 03 00 18 */ psq_st f0, 24(r3), 0, qr0
/* 8037D280 0037A1E0 F0 03 00 20 */ psq_st f0, 32(r3), 0, qr0
/* 8037D284 0037A1E4 D0 63 00 28 */ stfs f3, 0x28(r3)
/* 8037D288 0037A1E8 D0 03 00 2C */ stfs f0, 0x2c(r3)
/* 8037D28C 0037A1EC 4E 80 00 20 */ blr
.global PSMTXScaleApply
PSMTXScaleApply:
/* 8037D290 0037A1F0 FC 20 08 18 */ frsp f1, f1
/* 8037D294 0037A1F4 E0 83 00 00 */ psq_l f4, 0(r3), 0, qr0
/* 8037D298 0037A1F8 FC 40 10 18 */ frsp f2, f2
/* 8037D29C 0037A1FC E0 A3 00 08 */ psq_l f5, 8(r3), 0, qr0
/* 8037D2A0 0037A200 FC 60 18 18 */ frsp f3, f3
/* 8037D2A4 0037A204 10 84 00 58 */ ps_muls0 f4, f4, f1
/* 8037D2A8 0037A208 E0 C3 00 10 */ psq_l f6, 16(r3), 0, qr0
/* 8037D2AC 0037A20C 10 A5 00 58 */ ps_muls0 f5, f5, f1
/* 8037D2B0 0037A210 E0 E3 00 18 */ psq_l f7, 24(r3), 0, qr0
/* 8037D2B4 0037A214 10 C6 00 98 */ ps_muls0 f6, f6, f2
/* 8037D2B8 0037A218 E1 03 00 20 */ psq_l f8, 32(r3), 0, qr0
/* 8037D2BC 0037A21C F0 84 00 00 */ psq_st f4, 0(r4), 0, qr0
/* 8037D2C0 0037A220 10 E7 00 98 */ ps_muls0 f7, f7, f2
/* 8037D2C4 0037A224 E0 43 00 28 */ psq_l f2, 40(r3), 0, qr0
/* 8037D2C8 0037A228 F0 A4 00 08 */ psq_st f5, 8(r4), 0, qr0
/* 8037D2CC 0037A22C 11 08 00 D8 */ ps_muls0 f8, f8, f3
/* 8037D2D0 0037A230 F0 C4 00 10 */ psq_st f6, 16(r4), 0, qr0
/* 8037D2D4 0037A234 10 42 00 D8 */ ps_muls0 f2, f2, f3
/* 8037D2D8 0037A238 F0 E4 00 18 */ psq_st f7, 24(r4), 0, qr0
/* 8037D2DC 0037A23C F1 04 00 20 */ psq_st f8, 32(r4), 0, qr0
/* 8037D2E0 0037A240 F0 44 00 28 */ psq_st f2, 40(r4), 0, qr0
/* 8037D2E4 0037A244 4E 80 00 20 */ blr
.global C_MTXLookAt
C_MTXLookAt:
/* 8037D2E8 0037A248 7C 08 02 A6 */ mflr r0
/* 8037D2EC 0037A24C 90 01 00 04 */ stw r0, 4(r1)
/* 8037D2F0 0037A250 94 21 FF B0 */ stwu r1, -0x50(r1)
/* 8037D2F4 0037A254 93 E1 00 4C */ stw r31, 0x4c(r1)
/* 8037D2F8 0037A258 93 C1 00 48 */ stw r30, 0x48(r1)
/* 8037D2FC 0037A25C 93 A1 00 44 */ stw r29, 0x44(r1)
/* 8037D300 0037A260 7C 7D 1B 78 */ mr r29, r3
/* 8037D304 0037A264 7C 9E 23 78 */ mr r30, r4
/* 8037D308 0037A268 7C BF 2B 78 */ mr r31, r5
/* 8037D30C 0037A26C C0 3E 00 00 */ lfs f1, 0(r30)
/* 8037D310 0037A270 38 61 00 30 */ addi r3, r1, 0x30
/* 8037D314 0037A274 C0 06 00 00 */ lfs f0, 0(r6)
/* 8037D318 0037A278 7C 64 1B 78 */ mr r4, r3
/* 8037D31C 0037A27C EC 01 00 28 */ fsubs f0, f1, f0
/* 8037D320 0037A280 D0 01 00 30 */ stfs f0, 0x30(r1)
/* 8037D324 0037A284 C0 3E 00 04 */ lfs f1, 4(r30)
/* 8037D328 0037A288 C0 06 00 04 */ lfs f0, 4(r6)
/* 8037D32C 0037A28C EC 01 00 28 */ fsubs f0, f1, f0
/* 8037D330 0037A290 D0 01 00 34 */ stfs f0, 0x34(r1)
/* 8037D334 0037A294 C0 3E 00 08 */ lfs f1, 8(r30)
/* 8037D338 0037A298 C0 06 00 08 */ lfs f0, 8(r6)
/* 8037D33C 0037A29C EC 01 00 28 */ fsubs f0, f1, f0
/* 8037D340 0037A2A0 D0 01 00 38 */ stfs f0, 0x38(r1)
/* 8037D344 0037A2A4 48 00 03 0D */ bl C_VECNormalize
/* 8037D348 0037A2A8 7F E3 FB 78 */ mr r3, r31
/* 8037D34C 0037A2AC 38 81 00 30 */ addi r4, r1, 0x30
/* 8037D350 0037A2B0 38 A1 00 24 */ addi r5, r1, 0x24
/* 8037D354 0037A2B4 48 00 03 41 */ bl C_VECCrossProduct
/* 8037D358 0037A2B8 38 61 00 24 */ addi r3, r1, 0x24
/* 8037D35C 0037A2BC 7C 64 1B 78 */ mr r4, r3
/* 8037D360 0037A2C0 48 00 02 F1 */ bl C_VECNormalize
/* 8037D364 0037A2C4 38 61 00 30 */ addi r3, r1, 0x30
/* 8037D368 0037A2C8 38 81 00 24 */ addi r4, r1, 0x24
/* 8037D36C 0037A2CC 38 A1 00 18 */ addi r5, r1, 0x18
/* 8037D370 0037A2D0 48 00 03 25 */ bl C_VECCrossProduct
/* 8037D374 0037A2D4 C0 01 00 24 */ lfs f0, 0x24(r1)
/* 8037D378 0037A2D8 D0 1D 00 00 */ stfs f0, 0(r29)
/* 8037D37C 0037A2DC C0 01 00 28 */ lfs f0, 0x28(r1)
/* 8037D380 0037A2E0 D0 1D 00 04 */ stfs f0, 4(r29)
/* 8037D384 0037A2E4 C0 01 00 2C */ lfs f0, 0x2c(r1)
/* 8037D388 0037A2E8 D0 1D 00 08 */ stfs f0, 8(r29)
/* 8037D38C 0037A2EC C0 7E 00 00 */ lfs f3, 0(r30)
/* 8037D390 0037A2F0 C0 41 00 24 */ lfs f2, 0x24(r1)
/* 8037D394 0037A2F4 C0 3E 00 04 */ lfs f1, 4(r30)
/* 8037D398 0037A2F8 C0 01 00 28 */ lfs f0, 0x28(r1)
/* 8037D39C 0037A2FC EC 43 00 B2 */ fmuls f2, f3, f2
/* 8037D3A0 0037A300 C0 7E 00 08 */ lfs f3, 8(r30)
/* 8037D3A4 0037A304 EC 01 00 32 */ fmuls f0, f1, f0
/* 8037D3A8 0037A308 C0 21 00 2C */ lfs f1, 0x2c(r1)
/* 8037D3AC 0037A30C EC 23 00 72 */ fmuls f1, f3, f1
/* 8037D3B0 0037A310 EC 02 00 2A */ fadds f0, f2, f0
/* 8037D3B4 0037A314 EC 01 00 2A */ fadds f0, f1, f0
/* 8037D3B8 0037A318 FC 00 00 50 */ fneg f0, f0
/* 8037D3BC 0037A31C D0 1D 00 0C */ stfs f0, 0xc(r29)
/* 8037D3C0 0037A320 C0 01 00 18 */ lfs f0, 0x18(r1)
/* 8037D3C4 0037A324 D0 1D 00 10 */ stfs f0, 0x10(r29)
/* 8037D3C8 0037A328 C0 01 00 1C */ lfs f0, 0x1c(r1)
/* 8037D3CC 0037A32C D0 1D 00 14 */ stfs f0, 0x14(r29)
/* 8037D3D0 0037A330 C0 01 00 20 */ lfs f0, 0x20(r1)
/* 8037D3D4 0037A334 D0 1D 00 18 */ stfs f0, 0x18(r29)
/* 8037D3D8 0037A338 C0 7E 00 00 */ lfs f3, 0(r30)
/* 8037D3DC 0037A33C C0 41 00 18 */ lfs f2, 0x18(r1)
/* 8037D3E0 0037A340 C0 3E 00 04 */ lfs f1, 4(r30)
/* 8037D3E4 0037A344 C0 01 00 1C */ lfs f0, 0x1c(r1)
/* 8037D3E8 0037A348 EC 43 00 B2 */ fmuls f2, f3, f2
/* 8037D3EC 0037A34C C0 7E 00 08 */ lfs f3, 8(r30)
/* 8037D3F0 0037A350 EC 01 00 32 */ fmuls f0, f1, f0
/* 8037D3F4 0037A354 C0 21 00 20 */ lfs f1, 0x20(r1)
/* 8037D3F8 0037A358 EC 23 00 72 */ fmuls f1, f3, f1
/* 8037D3FC 0037A35C EC 02 00 2A */ fadds f0, f2, f0
/* 8037D400 0037A360 EC 01 00 2A */ fadds f0, f1, f0
/* 8037D404 0037A364 FC 00 00 50 */ fneg f0, f0
/* 8037D408 0037A368 D0 1D 00 1C */ stfs f0, 0x1c(r29)
/* 8037D40C 0037A36C C0 01 00 30 */ lfs f0, 0x30(r1)
/* 8037D410 0037A370 D0 1D 00 20 */ stfs f0, 0x20(r29)
/* 8037D414 0037A374 C0 01 00 34 */ lfs f0, 0x34(r1)
/* 8037D418 0037A378 D0 1D 00 24 */ stfs f0, 0x24(r29)
/* 8037D41C 0037A37C C0 01 00 38 */ lfs f0, 0x38(r1)
/* 8037D420 0037A380 D0 1D 00 28 */ stfs f0, 0x28(r29)
/* 8037D424 0037A384 C0 7E 00 00 */ lfs f3, 0(r30)
/* 8037D428 0037A388 C0 41 00 30 */ lfs f2, 0x30(r1)
/* 8037D42C 0037A38C C0 3E 00 04 */ lfs f1, 4(r30)
/* 8037D430 0037A390 C0 01 00 34 */ lfs f0, 0x34(r1)
/* 8037D434 0037A394 EC 43 00 B2 */ fmuls f2, f3, f2
/* 8037D438 0037A398 C0 7E 00 08 */ lfs f3, 8(r30)
/* 8037D43C 0037A39C EC 01 00 32 */ fmuls f0, f1, f0
/* 8037D440 0037A3A0 C0 21 00 38 */ lfs f1, 0x38(r1)
/* 8037D444 0037A3A4 EC 23 00 72 */ fmuls f1, f3, f1
/* 8037D448 0037A3A8 EC 02 00 2A */ fadds f0, f2, f0
/* 8037D44C 0037A3AC EC 01 00 2A */ fadds f0, f1, f0
/* 8037D450 0037A3B0 FC 00 00 50 */ fneg f0, f0
/* 8037D454 0037A3B4 D0 1D 00 2C */ stfs f0, 0x2c(r29)
/* 8037D458 0037A3B8 80 01 00 54 */ lwz r0, 0x54(r1)
/* 8037D45C 0037A3BC 83 E1 00 4C */ lwz r31, 0x4c(r1)
/* 8037D460 0037A3C0 83 C1 00 48 */ lwz r30, 0x48(r1)
/* 8037D464 0037A3C4 83 A1 00 44 */ lwz r29, 0x44(r1)
/* 8037D468 0037A3C8 38 21 00 50 */ addi r1, r1, 0x50
/* 8037D46C 0037A3CC 7C 08 03 A6 */ mtlr r0
/* 8037D470 0037A3D0 4E 80 00 20 */ blr

View File

@ -1,109 +0,0 @@
.include "macros.inc"
.section .sdata2
.balign 8
.global lbl_805AEC00
lbl_805AEC00:
# ROM: 0x3FB4A0
.float 1.0
.global lbl_805AEC04
lbl_805AEC04:
# ROM: 0x3FB4A4
.float 2.0
.global lbl_805AEC08
lbl_805AEC08:
# ROM: 0x3FB4A8
.4byte 0
.global lbl_805AEC0C
lbl_805AEC0C:
# ROM: 0x3FB4AC
.float -1.0
.section .text, "ax"
.global C_MTXFrustum
C_MTXFrustum:
/* 8037D51C 0037A47C ED 24 18 28 */ fsubs f9, f4, f3
/* 8037D520 0037A480 C1 42 CE E0 */ lfs f10, lbl_805AEC00@sda21(r2)
/* 8037D524 0037A484 EC 01 10 28 */ fsubs f0, f1, f2
/* 8037D528 0037A488 C1 02 CE E4 */ lfs f8, lbl_805AEC04@sda21(r2)
/* 8037D52C 0037A48C EC E6 28 28 */ fsubs f7, f6, f5
/* 8037D530 0037A490 ED 6A 48 24 */ fdivs f11, f10, f9
/* 8037D534 0037A494 ED 08 01 72 */ fmuls f8, f8, f5
/* 8037D538 0037A498 ED 2A 00 24 */ fdivs f9, f10, f0
/* 8037D53C 0037A49C EC 08 02 F2 */ fmuls f0, f8, f11
/* 8037D540 0037A4A0 EC 64 18 2A */ fadds f3, f4, f3
/* 8037D544 0037A4A4 EC 41 10 2A */ fadds f2, f1, f2
/* 8037D548 0037A4A8 D0 03 00 00 */ stfs f0, 0(r3)
/* 8037D54C 0037A4AC EC 06 01 72 */ fmuls f0, f6, f5
/* 8037D550 0037A4B0 EC CA 38 24 */ fdivs f6, f10, f7
/* 8037D554 0037A4B4 C0 82 CE E8 */ lfs f4, lbl_805AEC08@sda21(r2)
/* 8037D558 0037A4B8 D0 83 00 04 */ stfs f4, 4(r3)
/* 8037D55C 0037A4BC EC 6B 00 F2 */ fmuls f3, f11, f3
/* 8037D560 0037A4C0 FC 20 28 50 */ fneg f1, f5
/* 8037D564 0037A4C4 FC 00 00 50 */ fneg f0, f0
/* 8037D568 0037A4C8 D0 63 00 08 */ stfs f3, 8(r3)
/* 8037D56C 0037A4CC EC 68 02 72 */ fmuls f3, f8, f9
/* 8037D570 0037A4D0 EC 49 00 B2 */ fmuls f2, f9, f2
/* 8037D574 0037A4D4 D0 83 00 0C */ stfs f4, 0xc(r3)
/* 8037D578 0037A4D8 EC 21 01 B2 */ fmuls f1, f1, f6
/* 8037D57C 0037A4DC D0 83 00 10 */ stfs f4, 0x10(r3)
/* 8037D580 0037A4E0 EC 06 00 32 */ fmuls f0, f6, f0
/* 8037D584 0037A4E4 D0 63 00 14 */ stfs f3, 0x14(r3)
/* 8037D588 0037A4E8 D0 43 00 18 */ stfs f2, 0x18(r3)
/* 8037D58C 0037A4EC D0 83 00 1C */ stfs f4, 0x1c(r3)
/* 8037D590 0037A4F0 D0 83 00 20 */ stfs f4, 0x20(r3)
/* 8037D594 0037A4F4 D0 83 00 24 */ stfs f4, 0x24(r3)
/* 8037D598 0037A4F8 D0 23 00 28 */ stfs f1, 0x28(r3)
/* 8037D59C 0037A4FC D0 03 00 2C */ stfs f0, 0x2c(r3)
/* 8037D5A0 0037A500 D0 83 00 30 */ stfs f4, 0x30(r3)
/* 8037D5A4 0037A504 D0 83 00 34 */ stfs f4, 0x34(r3)
/* 8037D5A8 0037A508 C0 02 CE EC */ lfs f0, lbl_805AEC0C@sda21(r2)
/* 8037D5AC 0037A50C D0 03 00 38 */ stfs f0, 0x38(r3)
/* 8037D5B0 0037A510 D0 83 00 3C */ stfs f4, 0x3c(r3)
/* 8037D5B4 0037A514 4E 80 00 20 */ blr
.global C_MTXOrtho
C_MTXOrtho:
/* 8037D5B8 0037A518 ED 04 18 28 */ fsubs f8, f4, f3
/* 8037D5BC 0037A51C C1 22 CE E0 */ lfs f9, lbl_805AEC00@sda21(r2)
/* 8037D5C0 0037A520 EC 01 10 28 */ fsubs f0, f1, f2
/* 8037D5C4 0037A524 C0 E2 CE E4 */ lfs f7, lbl_805AEC04@sda21(r2)
/* 8037D5C8 0037A528 EC 64 18 2A */ fadds f3, f4, f3
/* 8037D5CC 0037A52C ED 49 40 24 */ fdivs f10, f9, f8
/* 8037D5D0 0037A530 ED 09 00 24 */ fdivs f8, f9, f0
/* 8037D5D4 0037A534 EC 87 02 B2 */ fmuls f4, f7, f10
/* 8037D5D8 0037A538 FC 60 18 50 */ fneg f3, f3
/* 8037D5DC 0037A53C EC 06 28 28 */ fsubs f0, f6, f5
/* 8037D5E0 0037A540 D0 83 00 00 */ stfs f4, 0(r3)
/* 8037D5E4 0037A544 EC 21 10 2A */ fadds f1, f1, f2
/* 8037D5E8 0037A548 EC 4A 00 F2 */ fmuls f2, f10, f3
/* 8037D5EC 0037A54C C0 62 CE E8 */ lfs f3, lbl_805AEC08@sda21(r2)
/* 8037D5F0 0037A550 FC 20 08 50 */ fneg f1, f1
/* 8037D5F4 0037A554 D0 63 00 04 */ stfs f3, 4(r3)
/* 8037D5F8 0037A558 EC 89 00 24 */ fdivs f4, f9, f0
/* 8037D5FC 0037A55C D0 63 00 08 */ stfs f3, 8(r3)
/* 8037D600 0037A560 D0 43 00 0C */ stfs f2, 0xc(r3)
/* 8037D604 0037A564 D0 63 00 10 */ stfs f3, 0x10(r3)
/* 8037D608 0037A568 EC 47 02 32 */ fmuls f2, f7, f8
/* 8037D60C 0037A56C FC 00 30 50 */ fneg f0, f6
/* 8037D610 0037A570 EC 28 00 72 */ fmuls f1, f8, f1
/* 8037D614 0037A574 D0 43 00 14 */ stfs f2, 0x14(r3)
/* 8037D618 0037A578 EC 00 01 32 */ fmuls f0, f0, f4
/* 8037D61C 0037A57C D0 63 00 18 */ stfs f3, 0x18(r3)
/* 8037D620 0037A580 D0 23 00 1C */ stfs f1, 0x1c(r3)
/* 8037D624 0037A584 D0 63 00 20 */ stfs f3, 0x20(r3)
/* 8037D628 0037A588 D0 63 00 24 */ stfs f3, 0x24(r3)
/* 8037D62C 0037A58C C0 22 CE EC */ lfs f1, lbl_805AEC0C@sda21(r2)
/* 8037D630 0037A590 EC 21 01 32 */ fmuls f1, f1, f4
/* 8037D634 0037A594 D0 23 00 28 */ stfs f1, 0x28(r3)
/* 8037D638 0037A598 D0 03 00 2C */ stfs f0, 0x2c(r3)
/* 8037D63C 0037A59C D0 63 00 30 */ stfs f3, 0x30(r3)
/* 8037D640 0037A5A0 D0 63 00 34 */ stfs f3, 0x34(r3)
/* 8037D644 0037A5A4 D0 63 00 38 */ stfs f3, 0x38(r3)
/* 8037D648 0037A5A8 D1 23 00 3C */ stfs f9, 0x3c(r3)
/* 8037D64C 0037A5AC 4E 80 00 20 */ blr

View File

@ -1,51 +0,0 @@
.include "macros.inc"
.section .text, "ax"
.global PSMTXMultVec
PSMTXMultVec:
/* 8037D474 0037A3D4 E0 04 00 00 */ psq_l f0, 0(r4), 0, qr0
/* 8037D478 0037A3D8 E0 43 00 00 */ psq_l f2, 0(r3), 0, qr0
/* 8037D47C 0037A3DC E0 24 80 08 */ psq_l f1, 8(r4), 1, qr0
/* 8037D480 0037A3E0 10 82 00 32 */ ps_mul f4, f2, f0
/* 8037D484 0037A3E4 E0 63 00 08 */ psq_l f3, 8(r3), 0, qr0
/* 8037D488 0037A3E8 10 A3 20 7A */ ps_madd f5, f3, f1, f4
/* 8037D48C 0037A3EC E1 03 00 10 */ psq_l f8, 16(r3), 0, qr0
/* 8037D490 0037A3F0 10 C5 29 94 */ ps_sum0 f6, f5, f6, f5
/* 8037D494 0037A3F4 E1 23 00 18 */ psq_l f9, 24(r3), 0, qr0
/* 8037D498 0037A3F8 11 48 00 32 */ ps_mul f10, f8, f0
/* 8037D49C 0037A3FC F0 C5 80 00 */ psq_st f6, 0(r5), 1, qr0
/* 8037D4A0 0037A400 11 69 50 7A */ ps_madd f11, f9, f1, f10
/* 8037D4A4 0037A404 E0 43 00 20 */ psq_l f2, 32(r3), 0, qr0
/* 8037D4A8 0037A408 11 8B 5B 14 */ ps_sum0 f12, f11, f12, f11
/* 8037D4AC 0037A40C E0 63 00 28 */ psq_l f3, 40(r3), 0, qr0
/* 8037D4B0 0037A410 10 82 00 32 */ ps_mul f4, f2, f0
/* 8037D4B4 0037A414 F1 85 80 04 */ psq_st f12, 4(r5), 1, qr0
/* 8037D4B8 0037A418 10 A3 20 7A */ ps_madd f5, f3, f1, f4
/* 8037D4BC 0037A41C 10 C5 29 94 */ ps_sum0 f6, f5, f6, f5
/* 8037D4C0 0037A420 F0 C5 80 08 */ psq_st f6, 8(r5), 1, qr0
/* 8037D4C4 0037A424 4E 80 00 20 */ blr
.global PSMTXMultVecSR
PSMTXMultVecSR:
/* 8037D4C8 0037A428 E0 03 00 00 */ psq_l f0, 0(r3), 0, qr0
/* 8037D4CC 0037A42C E0 C4 00 00 */ psq_l f6, 0(r4), 0, qr0
/* 8037D4D0 0037A430 E0 43 00 10 */ psq_l f2, 16(r3), 0, qr0
/* 8037D4D4 0037A434 11 00 01 B2 */ ps_mul f8, f0, f6
/* 8037D4D8 0037A438 E0 83 00 20 */ psq_l f4, 32(r3), 0, qr0
/* 8037D4DC 0037A43C 11 42 01 B2 */ ps_mul f10, f2, f6
/* 8037D4E0 0037A440 E0 E4 80 08 */ psq_l f7, 8(r4), 1, qr0
/* 8037D4E4 0037A444 11 84 01 B2 */ ps_mul f12, f4, f6
/* 8037D4E8 0037A448 E0 63 00 18 */ psq_l f3, 24(r3), 0, qr0
/* 8037D4EC 0037A44C 11 08 42 14 */ ps_sum0 f8, f8, f8, f8
/* 8037D4F0 0037A450 E0 A3 00 28 */ psq_l f5, 40(r3), 0, qr0
/* 8037D4F4 0037A454 11 4A 52 94 */ ps_sum0 f10, f10, f10, f10
/* 8037D4F8 0037A458 E0 23 00 08 */ psq_l f1, 8(r3), 0, qr0
/* 8037D4FC 0037A45C 11 8C 63 14 */ ps_sum0 f12, f12, f12, f12
/* 8037D500 0037A460 11 21 41 FA */ ps_madd f9, f1, f7, f8
/* 8037D504 0037A464 F1 25 80 00 */ psq_st f9, 0(r5), 1, qr0
/* 8037D508 0037A468 11 63 51 FA */ ps_madd f11, f3, f7, f10
/* 8037D50C 0037A46C F1 65 80 04 */ psq_st f11, 4(r5), 1, qr0
/* 8037D510 0037A470 11 A5 61 FA */ ps_madd f13, f5, f7, f12
/* 8037D514 0037A474 F1 A5 80 08 */ psq_st f13, 8(r5), 1, qr0
/* 8037D518 0037A478 4E 80 00 20 */ blr

View File

@ -1,25 +0,0 @@
.include "macros.inc"
.section .text, "ax"
.global PSMTXReorder
PSMTXReorder:
/* 8037D6D0 0037A630 E0 03 00 00 */ psq_l f0, 0(r3), 0, qr0
/* 8037D6D4 0037A634 E0 43 00 10 */ psq_l f2, 16(r3), 0, qr0
/* 8037D6D8 0037A638 E0 83 00 20 */ psq_l f4, 32(r3), 0, qr0
/* 8037D6DC 0037A63C E0 23 00 08 */ psq_l f1, 8(r3), 0, qr0
/* 8037D6E0 0037A640 10 C0 14 20 */ ps_merge00 f6, f0, f2
/* 8037D6E4 0037A644 E0 63 00 18 */ psq_l f3, 24(r3), 0, qr0
/* 8037D6E8 0037A648 11 84 04 60 */ ps_merge01 f12, f4, f0
/* 8037D6EC 0037A64C E0 A3 00 28 */ psq_l f5, 40(r3), 0, qr0
/* 8037D6F0 0037A650 10 E2 24 E0 */ ps_merge11 f7, f2, f4
/* 8037D6F4 0037A654 F0 C4 00 00 */ psq_st f6, 0(r4), 0, qr0
/* 8037D6F8 0037A658 11 01 1C 20 */ ps_merge00 f8, f1, f3
/* 8037D6FC 0037A65C F1 84 00 08 */ psq_st f12, 8(r4), 0, qr0
/* 8037D700 0037A660 11 25 0C 60 */ ps_merge01 f9, f5, f1
/* 8037D704 0037A664 F0 E4 00 10 */ psq_st f7, 16(r4), 0, qr0
/* 8037D708 0037A668 11 43 2C E0 */ ps_merge11 f10, f3, f5
/* 8037D70C 0037A66C F1 04 00 18 */ psq_st f8, 24(r4), 0, qr0
/* 8037D710 0037A670 F1 24 00 20 */ psq_st f9, 32(r4), 0, qr0
/* 8037D714 0037A674 F1 44 00 28 */ psq_st f10, 40(r4), 0, qr0
/* 8037D718 0037A678 4E 80 00 20 */ blr

View File

@ -1,55 +0,0 @@
.include "macros.inc"
.section .sdata2
.balign 8
.global lbl_805AEC10
lbl_805AEC10:
# ROM: 0x3FB4B0
.float 0.5
.global lbl_805AEC14
lbl_805AEC14:
# ROM: 0x3FB4B4
.4byte 0x40400000
.section .text, "ax"
.global C_VECNormalize
C_VECNormalize:
/* 8037D650 0037A5B0 C0 02 CE F0 */ lfs f0, lbl_805AEC10@sda21(r2)
/* 8037D654 0037A5B4 C0 22 CE F4 */ lfs f1, lbl_805AEC14@sda21(r2)
/* 8037D658 0037A5B8 E0 43 00 00 */ psq_l f2, 0(r3), 0, qr0
/* 8037D65C 0037A5BC 10 A2 00 B2 */ ps_mul f5, f2, f2
/* 8037D660 0037A5C0 E0 63 80 08 */ psq_l f3, 8(r3), 1, qr0
/* 8037D664 0037A5C4 10 83 28 FA */ ps_madd f4, f3, f3, f5
/* 8037D668 0037A5C8 10 84 28 D4 */ ps_sum0 f4, f4, f3, f5
/* 8037D66C 0037A5CC FC A0 20 34 */ frsqrte f5, f4
/* 8037D670 0037A5D0 EC C5 01 72 */ fmuls f6, f5, f5
/* 8037D674 0037A5D4 EC 05 00 32 */ fmuls f0, f5, f0
/* 8037D678 0037A5D8 EC C6 09 3C */ fnmsubs f6, f6, f4, f1
/* 8037D67C 0037A5DC EC A6 00 32 */ fmuls f5, f6, f0
/* 8037D680 0037A5E0 10 42 01 58 */ ps_muls0 f2, f2, f5
/* 8037D684 0037A5E4 F0 44 00 00 */ psq_st f2, 0(r4), 0, qr0
/* 8037D688 0037A5E8 10 63 01 58 */ ps_muls0 f3, f3, f5
/* 8037D68C 0037A5EC F0 64 80 08 */ psq_st f3, 8(r4), 1, qr0
/* 8037D690 0037A5F0 4E 80 00 20 */ blr
.global C_VECCrossProduct
C_VECCrossProduct:
/* 8037D694 0037A5F4 E0 24 00 00 */ psq_l f1, 0(r4), 0, qr0
/* 8037D698 0037A5F8 C0 43 00 08 */ lfs f2, 8(r3)
/* 8037D69C 0037A5FC E0 03 00 00 */ psq_l f0, 0(r3), 0, qr0
/* 8037D6A0 0037A600 10 C1 0C A0 */ ps_merge10 f6, f1, f1
/* 8037D6A4 0037A604 C0 64 00 08 */ lfs f3, 8(r4)
/* 8037D6A8 0037A608 10 81 00 B2 */ ps_mul f4, f1, f2
/* 8037D6AC 0037A60C 10 E1 00 18 */ ps_muls0 f7, f1, f0
/* 8037D6B0 0037A610 10 A0 20 F8 */ ps_msub f5, f0, f3, f4
/* 8037D6B4 0037A614 11 00 39 B8 */ ps_msub f8, f0, f6, f7
/* 8037D6B8 0037A618 11 25 2C E0 */ ps_merge11 f9, f5, f5
/* 8037D6BC 0037A61C 11 45 44 60 */ ps_merge01 f10, f5, f8
/* 8037D6C0 0037A620 F1 25 80 00 */ psq_st f9, 0(r5), 1, qr0
/* 8037D6C4 0037A624 11 40 50 50 */ ps_neg f10, f10
/* 8037D6C8 0037A628 F1 45 00 04 */ psq_st f10, 4(r5), 0, qr0
/* 8037D6CC 0037A62C 4E 80 00 20 */ blr

View File

@ -1,805 +0,0 @@
.include "macros.inc"
.section .bss
.balign 8
.global DriveInfo
DriveInfo:
.skip 0x20
DriveBlock:
.skip 0x30
.section .sbss
.balign 8
.global BootInfo
BootInfo:
.skip 0x4
.global BI2DebugFlag
BI2DebugFlag:
.skip 0x4
.global BI2DebugFlagHolder
BI2DebugFlagHolder:
.skip 0x4
.global __OSIsGcam
__OSIsGcam:
.skip 0x4
.global AreWeInitialized
AreWeInitialized:
.skip 0x4
.global OSExceptionTable
OSExceptionTable:
.skip 0x4
.global __OSSavedRegionEnd
__OSSavedRegionEnd:
.skip 0x4
.global __OSSavedRegionStart
__OSSavedRegionStart:
.skip 0x4
.global __OSInIPL
__OSInIPL:
.skip 0x8
.global __OSStartTime
__OSStartTime:
.skip 0x8
.section .data
.balign 8
.global lbl_803F0DA0
lbl_803F0DA0:
.asciz "<< Dolphin SDK - OS\trelease build: Sep 5 2002 05:32:39 (0x2301) >>"
.balign 4
.asciz "\nDolphin OS $Revision: 58 $.\n"
.balign 4
.asciz "Kernel built : %s %s\n"
.balign 4
.asciz "Sep 5 2002"
.balign 4
.asciz "05:32:39"
.balign 4
.asciz "Console Type : "
.balign 4
.asciz "Retail %d\n"
.balign 4
.asciz "Mac Emulator\n"
.balign 4
.asciz "PC Emulator\n"
.balign 4
.asciz "EPPC Arthur\n"
.balign 4
.asciz "EPPC Minnow\n"
.balign 4
.asciz "Development HW%d (%08x)\n"
.balign 4
.asciz "Memory %d MB\n"
.balign 4
.asciz "Arena : 0x%x - 0x%x\n"
.balign 4
.global __OSExceptionLocations
__OSExceptionLocations:
.4byte 0x00000100
.4byte 0x00000200
.4byte 0x00000300
.4byte 0x00000400
.4byte 0x00000500
.4byte 0x00000600
.4byte 0x00000700
.4byte 0x00000800
.4byte 0x00000900
.4byte 0x00000C00
.4byte 0x00000D00
.4byte 0x00000F00
.4byte 0x00001300
.4byte 0x00001400
.4byte 0x00001700
.asciz "Installing OSDBIntegrator\n"
.balign 4
.asciz ">>> OSINIT: exception %d commandeered by TRK\n"
.balign 4
.asciz ">>> OSINIT: exception %d vectored to debugger\n"
.balign 4
.asciz "Exceptions initialized...\n"
.balign 4
.section .sdata
.balign 8
.global lbl_805A8B28
lbl_805A8B28:
.4byte lbl_803F0DA0
.global lbl_805A8B2C
lbl_805A8B2C:
.asciz "%s\n"
.balign 4
.section .text, "ax"
.global OSGetConsoleType
OSGetConsoleType:
/* 8037D71C 0037A67C 80 6D AC C0 */ lwz r3, BootInfo@sda21(r13)
/* 8037D720 0037A680 28 03 00 00 */ cmplwi r3, 0
/* 8037D724 0037A684 41 82 00 10 */ beq lbl_8037D734
/* 8037D728 0037A688 80 63 00 2C */ lwz r3, 0x2c(r3)
/* 8037D72C 0037A68C 28 03 00 00 */ cmplwi r3, 0
/* 8037D730 0037A690 40 82 00 10 */ bne lbl_8037D740
lbl_8037D734:
/* 8037D734 0037A694 3C 60 10 00 */ lis r3, 0x10000002@ha
/* 8037D738 0037A698 38 63 00 02 */ addi r3, r3, 0x10000002@l
/* 8037D73C 0037A69C 48 00 00 04 */ b lbl_8037D740
lbl_8037D740:
/* 8037D740 0037A6A0 4E 80 00 20 */ blr
.global ClearArena
ClearArena:
/* 8037D744 0037A6A4 7C 08 02 A6 */ mflr r0
/* 8037D748 0037A6A8 90 01 00 04 */ stw r0, 4(r1)
/* 8037D74C 0037A6AC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8037D750 0037A6B0 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8037D754 0037A6B4 48 00 5D 19 */ bl OSGetResetCode
/* 8037D758 0037A6B8 3C 03 80 00 */ addis r0, r3, 0x8000
/* 8037D75C 0037A6BC 28 00 00 00 */ cmplwi r0, 0
/* 8037D760 0037A6C0 41 82 00 34 */ beq lbl_8037D794
/* 8037D764 0037A6C4 38 00 00 00 */ li r0, 0
/* 8037D768 0037A6C8 90 0D AC DC */ stw r0, __OSSavedRegionStart@sda21(r13)
/* 8037D76C 0037A6CC 90 0D AC D8 */ stw r0, __OSSavedRegionEnd@sda21(r13)
/* 8037D770 0037A6D0 48 00 10 21 */ bl OSGetArenaHi
/* 8037D774 0037A6D4 7C 7F 1B 78 */ mr r31, r3
/* 8037D778 0037A6D8 48 00 10 21 */ bl OSGetArenaLo
/* 8037D77C 0037A6DC 7F E3 F8 50 */ subf r31, r3, r31
/* 8037D780 0037A6E0 48 00 10 19 */ bl OSGetArenaLo
/* 8037D784 0037A6E4 7F E5 FB 78 */ mr r5, r31
/* 8037D788 0037A6E8 38 80 00 00 */ li r4, 0
/* 8037D78C 0037A6EC 4B C8 5C 1D */ bl memset
/* 8037D790 0037A6F0 48 00 00 C8 */ b lbl_8037D858
lbl_8037D794:
/* 8037D794 0037A6F4 3C 80 81 30 */ lis r4, 0x812FDFF0@ha
/* 8037D798 0037A6F8 80 64 DF F0 */ lwz r3, 0x812FDFF0@l(r4)
/* 8037D79C 0037A6FC 80 04 DF EC */ lwz r0, -0x2014(r4)
/* 8037D7A0 0037A700 28 03 00 00 */ cmplwi r3, 0
/* 8037D7A4 0037A704 90 6D AC DC */ stw r3, __OSSavedRegionStart@sda21(r13)
/* 8037D7A8 0037A708 90 0D AC D8 */ stw r0, __OSSavedRegionEnd@sda21(r13)
/* 8037D7AC 0037A70C 40 82 00 28 */ bne lbl_8037D7D4
/* 8037D7B0 0037A710 48 00 0F E1 */ bl OSGetArenaHi
/* 8037D7B4 0037A714 7C 7F 1B 78 */ mr r31, r3
/* 8037D7B8 0037A718 48 00 0F E1 */ bl OSGetArenaLo
/* 8037D7BC 0037A71C 7F E3 F8 50 */ subf r31, r3, r31
/* 8037D7C0 0037A720 48 00 0F D9 */ bl OSGetArenaLo
/* 8037D7C4 0037A724 7F E5 FB 78 */ mr r5, r31
/* 8037D7C8 0037A728 38 80 00 00 */ li r4, 0
/* 8037D7CC 0037A72C 4B C8 5B DD */ bl memset
/* 8037D7D0 0037A730 48 00 00 88 */ b lbl_8037D858
lbl_8037D7D4:
/* 8037D7D4 0037A734 48 00 0F C5 */ bl OSGetArenaLo
/* 8037D7D8 0037A738 80 0D AC DC */ lwz r0, __OSSavedRegionStart@sda21(r13)
/* 8037D7DC 0037A73C 7C 03 00 40 */ cmplw r3, r0
/* 8037D7E0 0037A740 40 80 00 78 */ bge lbl_8037D858
/* 8037D7E4 0037A744 48 00 0F AD */ bl OSGetArenaHi
/* 8037D7E8 0037A748 80 0D AC DC */ lwz r0, __OSSavedRegionStart@sda21(r13)
/* 8037D7EC 0037A74C 7C 03 00 40 */ cmplw r3, r0
/* 8037D7F0 0037A750 41 81 00 28 */ bgt lbl_8037D818
/* 8037D7F4 0037A754 48 00 0F 9D */ bl OSGetArenaHi
/* 8037D7F8 0037A758 7C 7F 1B 78 */ mr r31, r3
/* 8037D7FC 0037A75C 48 00 0F 9D */ bl OSGetArenaLo
/* 8037D800 0037A760 7F E3 F8 50 */ subf r31, r3, r31
/* 8037D804 0037A764 48 00 0F 95 */ bl OSGetArenaLo
/* 8037D808 0037A768 7F E5 FB 78 */ mr r5, r31
/* 8037D80C 0037A76C 38 80 00 00 */ li r4, 0
/* 8037D810 0037A770 4B C8 5B 99 */ bl memset
/* 8037D814 0037A774 48 00 00 44 */ b lbl_8037D858
lbl_8037D818:
/* 8037D818 0037A778 48 00 0F 81 */ bl OSGetArenaLo
/* 8037D81C 0037A77C 80 0D AC DC */ lwz r0, __OSSavedRegionStart@sda21(r13)
/* 8037D820 0037A780 7F E3 00 50 */ subf r31, r3, r0
/* 8037D824 0037A784 48 00 0F 75 */ bl OSGetArenaLo
/* 8037D828 0037A788 7F E5 FB 78 */ mr r5, r31
/* 8037D82C 0037A78C 38 80 00 00 */ li r4, 0
/* 8037D830 0037A790 4B C8 5B 79 */ bl memset
/* 8037D834 0037A794 48 00 0F 5D */ bl OSGetArenaHi
/* 8037D838 0037A798 83 ED AC D8 */ lwz r31, __OSSavedRegionEnd@sda21(r13)
/* 8037D83C 0037A79C 7C 03 F8 40 */ cmplw r3, r31
/* 8037D840 0037A7A0 40 81 00 18 */ ble lbl_8037D858
/* 8037D844 0037A7A4 48 00 0F 4D */ bl OSGetArenaHi
/* 8037D848 0037A7A8 7C BF 18 50 */ subf r5, r31, r3
/* 8037D84C 0037A7AC 7F E3 FB 78 */ mr r3, r31
/* 8037D850 0037A7B0 38 80 00 00 */ li r4, 0
/* 8037D854 0037A7B4 4B C8 5B 55 */ bl memset
lbl_8037D858:
/* 8037D858 0037A7B8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8037D85C 0037A7BC 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8037D860 0037A7C0 38 21 00 10 */ addi r1, r1, 0x10
/* 8037D864 0037A7C4 7C 08 03 A6 */ mtlr r0
/* 8037D868 0037A7C8 4E 80 00 20 */ blr
.global InquiryCallback
InquiryCallback:
/* 8037D86C 0037A7CC 80 04 00 0C */ lwz r0, 0xc(r4)
/* 8037D870 0037A7D0 2C 00 00 00 */ cmpwi r0, 0
/* 8037D874 0037A7D4 41 82 00 08 */ beq lbl_8037D87C
/* 8037D878 0037A7D8 48 00 00 20 */ b lbl_8037D898
lbl_8037D87C:
/* 8037D87C 0037A7DC 3C 60 80 54 */ lis r3, DriveInfo@ha
/* 8037D880 0037A7E0 38 63 12 00 */ addi r3, r3, DriveInfo@l
/* 8037D884 0037A7E4 A0 03 00 02 */ lhz r0, 2(r3)
/* 8037D888 0037A7E8 3C 60 80 00 */ lis r3, 0x800030E6@ha
/* 8037D88C 0037A7EC 60 00 80 00 */ ori r0, r0, 0x8000
/* 8037D890 0037A7F0 B0 03 30 E6 */ sth r0, 0x800030E6@l(r3)
/* 8037D894 0037A7F4 48 00 00 10 */ b lbl_8037d8a4
lbl_8037D898:
/* 8037D898 0037A7F8 38 00 00 01 */ li r0, 1
/* 8037D89C 0037A7FC 3C 60 80 00 */ lis r3, 0x800030E6@ha
/* 8037D8A0 0037A800 B0 03 30 E6 */ sth r0, 0x800030E6@l(r3)
lbl_8037d8a4:
/* 8037D8A4 0037A804 4E 80 00 20 */ blr
.global OSInit
OSInit:
/* 8037D8A8 0037A808 7C 08 02 A6 */ mflr r0
/* 8037D8AC 0037A80C 90 01 00 04 */ stw r0, 4(r1)
/* 8037D8B0 0037A810 94 21 FF E8 */ stwu r1, -0x18(r1)
/* 8037D8B4 0037A814 93 E1 00 14 */ stw r31, 0x14(r1)
/* 8037D8B8 0037A818 93 C1 00 10 */ stw r30, 0x10(r1)
/* 8037D8BC 0037A81C 93 A1 00 0C */ stw r29, 0xc(r1)
/* 8037D8C0 0037A820 80 0D AC D0 */ lwz r0, AreWeInitialized@sda21(r13)
/* 8037D8C4 0037A824 3C 60 80 54 */ lis r3, DriveInfo@ha
/* 8037D8C8 0037A828 3B C3 12 00 */ addi r30, r3, DriveInfo@l
/* 8037D8CC 0037A82C 2C 00 00 00 */ cmpwi r0, 0
/* 8037D8D0 0037A830 3C 60 80 3F */ lis r3, lbl_803F0DA0@ha
/* 8037D8D4 0037A834 3B E3 0D A0 */ addi r31, r3, lbl_803F0DA0@l
/* 8037D8D8 0037A838 40 82 03 2C */ bne lbl_8037DC04
/* 8037D8DC 0037A83C 38 00 00 01 */ li r0, 1
/* 8037D8E0 0037A840 90 0D AC D0 */ stw r0, AreWeInitialized@sda21(r13)
/* 8037D8E4 0037A844 48 00 7A E5 */ bl __OSGetSystemTime
/* 8037D8E8 0037A848 90 8D AC EC */ stw r4, __OSStartTime+4@sda21(r13)
/* 8037D8EC 0037A84C 90 6D AC E8 */ stw r3, __OSStartTime@sda21(r13)
/* 8037D8F0 0037A850 48 00 3D 71 */ bl OSDisableInterrupts
/* 8037D8F4 0037A854 4B FF 1F A1 */ bl PPCDisableSpeculation
/* 8037D8F8 0037A858 4B FF 1F CD */ bl PPCSetFpNonIEEEMode
/* 8037D8FC 0037A85C 38 00 00 00 */ li r0, 0
/* 8037D900 0037A860 3C 80 80 00 */ lis r4, 0x800000F4@ha
/* 8037D904 0037A864 90 0D AC C4 */ stw r0, BI2DebugFlag@sda21(r13)
/* 8037D908 0037A868 90 8D AC C0 */ stw r4, BootInfo@sda21(r13)
/* 8037D90C 0037A86C 90 0D AC 04 */ stw r0, __DVDLongFileNameFlag@sda21(r13)
/* 8037D910 0037A870 80 64 00 F4 */ lwz r3, 0x800000F4@l(r4)
/* 8037D914 0037A874 28 03 00 00 */ cmplwi r3, 0
/* 8037D918 0037A878 41 82 00 34 */ beq lbl_8037D94C
/* 8037D91C 0037A87C 38 03 00 0C */ addi r0, r3, 0xc
/* 8037D920 0037A880 90 0D AC C4 */ stw r0, BI2DebugFlag@sda21(r13)
/* 8037D924 0037A884 80 03 00 24 */ lwz r0, 0x24(r3)
/* 8037D928 0037A888 80 6D AC C4 */ lwz r3, BI2DebugFlag@sda21(r13)
/* 8037D92C 0037A88C 90 0D AD 94 */ stw r0, __PADSpec@sda21(r13)
/* 8037D930 0037A890 80 03 00 00 */ lwz r0, 0(r3)
/* 8037D934 0037A894 54 00 06 3E */ clrlwi r0, r0, 0x18
/* 8037D938 0037A898 98 04 30 E8 */ stb r0, 0x30e8(r4)
/* 8037D93C 0037A89C 80 0D AD 94 */ lwz r0, __PADSpec@sda21(r13)
/* 8037D940 0037A8A0 54 00 06 3E */ clrlwi r0, r0, 0x18
/* 8037D944 0037A8A4 98 04 30 E9 */ stb r0, 0x30e9(r4)
/* 8037D948 0037A8A8 48 00 00 28 */ b lbl_8037D970
lbl_8037D94C:
/* 8037D94C 0037A8AC 80 04 00 34 */ lwz r0, 0x34(r4)
/* 8037D950 0037A8B0 28 00 00 00 */ cmplwi r0, 0
/* 8037D954 0037A8B4 41 82 00 1C */ beq lbl_8037D970
/* 8037D958 0037A8B8 88 64 30 E8 */ lbz r3, 0x30e8(r4)
/* 8037D95C 0037A8BC 38 0D AC C8 */ addi r0, r13, BI2DebugFlagHolder@sda21
/* 8037D960 0037A8C0 90 6D AC C8 */ stw r3, BI2DebugFlagHolder@sda21(r13)
/* 8037D964 0037A8C4 90 0D AC C4 */ stw r0, BI2DebugFlag@sda21(r13)
/* 8037D968 0037A8C8 88 04 30 E9 */ lbz r0, 0x30e9(r4)
/* 8037D96C 0037A8CC 90 0D AD 94 */ stw r0, __PADSpec@sda21(r13)
lbl_8037D970:
/* 8037D970 0037A8D0 38 00 00 01 */ li r0, 1
/* 8037D974 0037A8D4 80 6D AC C0 */ lwz r3, BootInfo@sda21(r13)
/* 8037D978 0037A8D8 90 0D AC 04 */ stw r0, __DVDLongFileNameFlag@sda21(r13)
/* 8037D97C 0037A8DC 80 63 00 30 */ lwz r3, 0x30(r3)
/* 8037D980 0037A8E0 28 03 00 00 */ cmplwi r3, 0
/* 8037D984 0037A8E4 40 82 00 10 */ bne lbl_8037D994
/* 8037D988 0037A8E8 3C 60 80 5C */ lis r3, __ArenaLo@ha
/* 8037D98C 0037A8EC 38 63 20 E0 */ addi r3, r3, __ArenaLo@l
/* 8037D990 0037A8F0 48 00 00 04 */ b lbl_8037D994
lbl_8037D994:
/* 8037D994 0037A8F4 48 00 0E 15 */ bl OSSetArenaLo
/* 8037D998 0037A8F8 80 6D AC C0 */ lwz r3, BootInfo@sda21(r13)
/* 8037D99C 0037A8FC 80 03 00 30 */ lwz r0, 0x30(r3)
/* 8037D9A0 0037A900 28 00 00 00 */ cmplwi r0, 0
/* 8037D9A4 0037A904 40 82 00 30 */ bne lbl_8037D9D4
/* 8037D9A8 0037A908 80 6D AC C4 */ lwz r3, BI2DebugFlag@sda21(r13)
/* 8037D9AC 0037A90C 28 03 00 00 */ cmplwi r3, 0
/* 8037D9B0 0037A910 41 82 00 24 */ beq lbl_8037D9D4
/* 8037D9B4 0037A914 80 03 00 00 */ lwz r0, 0(r3)
/* 8037D9B8 0037A918 28 00 00 02 */ cmplwi r0, 2
/* 8037D9BC 0037A91C 40 80 00 18 */ bge lbl_8037D9D4
/* 8037D9C0 0037A920 3C 60 80 5C */ lis r3, _db_stack_end@ha
/* 8037D9C4 0037A924 38 63 00 C8 */ addi r3, r3, _db_stack_end@l
/* 8037D9C8 0037A928 38 03 00 1F */ addi r0, r3, 0x1f
/* 8037D9CC 0037A92C 54 03 00 34 */ rlwinm r3, r0, 0, 0, 0x1a
/* 8037D9D0 0037A930 48 00 0D D9 */ bl OSSetArenaLo
lbl_8037D9D4:
/* 8037D9D4 0037A934 80 6D AC C0 */ lwz r3, BootInfo@sda21(r13)
/* 8037D9D8 0037A938 80 63 00 34 */ lwz r3, 0x34(r3)
/* 8037D9DC 0037A93C 28 03 00 00 */ cmplwi r3, 0
/* 8037D9E0 0037A940 40 82 00 10 */ bne lbl_8037D9F0
/* 8037D9E4 0037A944 3C 60 81 70 */ lis r3, __ArenaHi@ha
/* 8037D9E8 0037A948 38 63 00 00 */ addi r3, r3, __ArenaHi@l
/* 8037D9EC 0037A94C 48 00 00 04 */ b lbl_8037D9F0
lbl_8037D9F0:
/* 8037D9F0 0037A950 48 00 0D B1 */ bl OSSetArenaHi
/* 8037D9F4 0037A954 48 00 02 2D */ bl OSExceptionInit
/* 8037D9F8 0037A958 48 00 6A 0D */ bl __OSInitSystemCall
/* 8037D9FC 0037A95C 48 00 06 69 */ bl OSInitAlarm
/* 8037DA00 0037A960 48 00 4D F9 */ bl __OSModuleInit
/* 8037DA04 0037A964 48 00 3C D9 */ bl __OSInterruptInit
/* 8037DA08 0037A968 3C 60 80 38 */ lis r3, __OSResetSWInterruptHandler@ha
/* 8037DA0C 0037A96C 38 83 34 9C */ addi r4, r3, __OSResetSWInterruptHandler@l
/* 8037DA10 0037A970 38 60 00 16 */ li r3, 0x16
/* 8037DA14 0037A974 48 00 3C 99 */ bl __OSSetInterruptHandler
/* 8037DA18 0037A978 48 00 1F 4D */ bl __OSContextInit
/* 8037DA1C 0037A97C 48 00 16 B9 */ bl __OSCacheInit
/* 8037DA20 0037A980 48 04 38 29 */ bl EXIInit
/* 8037DA24 0037A984 48 04 15 7D */ bl SIInit
/* 8037DA28 0037A988 48 00 5F 79 */ bl __OSInitSram
/* 8037DA2C 0037A98C 48 00 6A 41 */ bl __OSThreadInit
/* 8037DA30 0037A990 48 00 0D AD */ bl __OSInitAudioSystem
/* 8037DA34 0037A994 4B FF 1E 3D */ bl PPCMfhid2
/* 8037DA38 0037A998 54 63 00 80 */ rlwinm r3, r3, 0, 2, 0
/* 8037DA3C 0037A99C 4B FF 1E 3D */ bl PPCMthid2
/* 8037DA40 0037A9A0 80 0D AC E0 */ lwz r0, __OSInIPL@sda21(r13)
/* 8037DA44 0037A9A4 2C 00 00 00 */ cmpwi r0, 0
/* 8037DA48 0037A9A8 40 82 00 08 */ bne lbl_8037DA50
/* 8037DA4C 0037A9AC 48 00 52 4D */ bl __OSInitMemoryProtection
lbl_8037DA50:
/* 8037DA50 0037A9B0 38 7F 00 44 */ addi r3, r31, 0x44
/* 8037DA54 0037A9B4 4C C6 31 82 */ crclr 6
/* 8037DA58 0037A9B8 48 00 1F 55 */ bl OSReport
/* 8037DA5C 0037A9BC 38 7F 00 64 */ addi r3, r31, 0x64
/* 8037DA60 0037A9C0 4C C6 31 82 */ crclr 6
/* 8037DA64 0037A9C4 38 9F 00 7C */ addi r4, r31, 0x7c
/* 8037DA68 0037A9C8 38 BF 00 88 */ addi r5, r31, 0x88
/* 8037DA6C 0037A9CC 48 00 1F 41 */ bl OSReport
/* 8037DA70 0037A9D0 38 7F 00 94 */ addi r3, r31, 0x94
/* 8037DA74 0037A9D4 4C C6 31 82 */ crclr 6
/* 8037DA78 0037A9D8 48 00 1F 35 */ bl OSReport
/* 8037DA7C 0037A9DC 80 6D AC C0 */ lwz r3, BootInfo@sda21(r13)
/* 8037DA80 0037A9E0 28 03 00 00 */ cmplwi r3, 0
/* 8037DA84 0037A9E4 41 82 00 10 */ beq lbl_8037DA94
/* 8037DA88 0037A9E8 80 83 00 2C */ lwz r4, 0x2c(r3)
/* 8037DA8C 0037A9EC 28 04 00 00 */ cmplwi r4, 0
/* 8037DA90 0037A9F0 40 82 00 10 */ bne lbl_8037DAA0
lbl_8037DA94:
/* 8037DA94 0037A9F4 3C 60 10 00 */ lis r3, 0x10000002@ha
/* 8037DA98 0037A9F8 38 83 00 02 */ addi r4, r3, 0x10000002@l
/* 8037DA9C 0037A9FC 48 00 00 04 */ b lbl_8037DAA0
lbl_8037DAA0:
/* 8037DAA0 0037AA00 54 80 00 1E */ rlwinm r0, r4, 0, 0, 0xf
/* 8037DAA4 0037AA04 2C 00 00 00 */ cmpwi r0, 0
/* 8037DAA8 0037AA08 41 82 00 08 */ beq lbl_8037DAB0
/* 8037DAAC 0037AA0C 48 00 00 14 */ b lbl_8037DAC0
lbl_8037DAB0:
/* 8037DAB0 0037AA10 4C C6 31 82 */ crclr 6
/* 8037DAB4 0037AA14 38 7F 00 A4 */ addi r3, r31, 0xa4
/* 8037DAB8 0037AA18 48 00 1E F5 */ bl OSReport
/* 8037DABC 0037AA1C 48 00 00 94 */ b lbl_8037DB50
lbl_8037DAC0:
/* 8037DAC0 0037AA20 3C 60 10 00 */ lis r3, 0x10000002@ha
/* 8037DAC4 0037AA24 54 85 04 3E */ clrlwi r5, r4, 0x10
/* 8037DAC8 0037AA28 38 03 00 02 */ addi r0, r3, 0x10000002@l
/* 8037DACC 0037AA2C 7C 05 00 00 */ cmpw r5, r0
/* 8037DAD0 0037AA30 41 82 00 48 */ beq lbl_8037DB18
/* 8037DAD4 0037AA34 40 80 00 14 */ bge lbl_8037DAE8
/* 8037DAD8 0037AA38 7C 05 18 00 */ cmpw r5, r3
/* 8037DADC 0037AA3C 41 82 00 1C */ beq lbl_8037DAF8
/* 8037DAE0 0037AA40 40 80 00 28 */ bge lbl_8037DB08
/* 8037DAE4 0037AA44 48 00 00 54 */ b lbl_8037DB38
lbl_8037DAE8:
/* 8037DAE8 0037AA48 38 03 00 04 */ addi r0, r3, 4
/* 8037DAEC 0037AA4C 7C 05 00 00 */ cmpw r5, r0
/* 8037DAF0 0037AA50 40 80 00 48 */ bge lbl_8037DB38
/* 8037DAF4 0037AA54 48 00 00 34 */ b lbl_8037DB28
lbl_8037DAF8:
/* 8037DAF8 0037AA58 38 7F 00 B0 */ addi r3, r31, 0xb0
/* 8037DAFC 0037AA5C 4C C6 31 82 */ crclr 6
/* 8037DB00 0037AA60 48 00 1E AD */ bl OSReport
/* 8037DB04 0037AA64 48 00 00 4C */ b lbl_8037DB50
lbl_8037DB08:
/* 8037DB08 0037AA68 38 7F 00 C0 */ addi r3, r31, 0xc0
/* 8037DB0C 0037AA6C 4C C6 31 82 */ crclr 6
/* 8037DB10 0037AA70 48 00 1E 9D */ bl OSReport
/* 8037DB14 0037AA74 48 00 00 3C */ b lbl_8037DB50
lbl_8037DB18:
/* 8037DB18 0037AA78 38 7F 00 D0 */ addi r3, r31, 0xd0
/* 8037DB1C 0037AA7C 4C C6 31 82 */ crclr 6
/* 8037DB20 0037AA80 48 00 1E 8D */ bl OSReport
/* 8037DB24 0037AA84 48 00 00 2C */ b lbl_8037DB50
lbl_8037DB28:
/* 8037DB28 0037AA88 38 7F 00 E0 */ addi r3, r31, 0xe0
/* 8037DB2C 0037AA8C 4C C6 31 82 */ crclr 6
/* 8037DB30 0037AA90 48 00 1E 7D */ bl OSReport
/* 8037DB34 0037AA94 48 00 00 1C */ b lbl_8037DB50
lbl_8037DB38:
/* 8037DB38 0037AA98 54 86 04 3E */ clrlwi r6, r4, 0x10
/* 8037DB3C 0037AA9C 4C C6 31 82 */ crclr 6
/* 8037DB40 0037AAA0 7C 85 23 78 */ mr r5, r4
/* 8037DB44 0037AAA4 38 7F 00 F0 */ addi r3, r31, 0xf0
/* 8037DB48 0037AAA8 38 86 FF FD */ addi r4, r6, -3
/* 8037DB4C 0037AAAC 48 00 1E 61 */ bl OSReport
lbl_8037DB50:
/* 8037DB50 0037AAB0 80 8D AC C0 */ lwz r4, BootInfo@sda21(r13)
/* 8037DB54 0037AAB4 38 7F 01 0C */ addi r3, r31, 0x10c
/* 8037DB58 0037AAB8 4C C6 31 82 */ crclr 6
/* 8037DB5C 0037AABC 80 04 00 28 */ lwz r0, 0x28(r4)
/* 8037DB60 0037AAC0 54 04 65 3E */ srwi r4, r0, 0x14
/* 8037DB64 0037AAC4 48 00 1E 49 */ bl OSReport
/* 8037DB68 0037AAC8 48 00 0C 29 */ bl OSGetArenaHi
/* 8037DB6C 0037AACC 7C 7D 1B 78 */ mr r29, r3
/* 8037DB70 0037AAD0 48 00 0C 29 */ bl OSGetArenaLo
/* 8037DB74 0037AAD4 7C 64 1B 78 */ mr r4, r3
/* 8037DB78 0037AAD8 4C C6 31 82 */ crclr 6
/* 8037DB7C 0037AADC 7F A5 EB 78 */ mr r5, r29
/* 8037DB80 0037AAE0 38 7F 01 1C */ addi r3, r31, 0x11c
/* 8037DB84 0037AAE4 48 00 1E 29 */ bl OSReport
/* 8037DB88 0037AAE8 80 6D 9F 68 */ lwz r3, lbl_805A8B28@sda21(r13)
/* 8037DB8C 0037AAEC 48 00 04 AD */ bl OSRegisterVersion
/* 8037DB90 0037AAF0 80 6D AC C4 */ lwz r3, BI2DebugFlag@sda21(r13)
/* 8037DB94 0037AAF4 28 03 00 00 */ cmplwi r3, 0
/* 8037DB98 0037AAF8 41 82 00 14 */ beq lbl_8037DBAC
/* 8037DB9C 0037AAFC 80 03 00 00 */ lwz r0, 0(r3)
/* 8037DBA0 0037AB00 28 00 00 02 */ cmplwi r0, 2
/* 8037DBA4 0037AB04 41 80 00 08 */ blt lbl_8037DBAC
/* 8037DBA8 0037AB08 4B C8 5A 99 */ bl EnableMetroTRKInterrupts
lbl_8037DBAC:
/* 8037DBAC 0037AB0C 4B FF FB 99 */ bl ClearArena
/* 8037DBB0 0037AB10 48 00 3A C5 */ bl OSEnableInterrupts
/* 8037DBB4 0037AB14 80 0D AC E0 */ lwz r0, __OSInIPL@sda21(r13)
/* 8037DBB8 0037AB18 2C 00 00 00 */ cmpwi r0, 0
/* 8037DBBC 0037AB1C 40 82 00 48 */ bne lbl_8037DC04
/* 8037DBC0 0037AB20 4B FF 3F E5 */ bl DVDInit
/* 8037DBC4 0037AB24 80 0D AC CC */ lwz r0, __OSIsGcam@sda21(r13)
/* 8037DBC8 0037AB28 2C 00 00 00 */ cmpwi r0, 0
/* 8037DBCC 0037AB2C 41 82 00 18 */ beq lbl_8037DBE4
/* 8037DBD0 0037AB30 3C 60 00 01 */ lis r3, 0x00009000@ha
/* 8037DBD4 0037AB34 38 03 90 00 */ addi r0, r3, 0x00009000@l
/* 8037DBD8 0037AB38 3C 60 80 00 */ lis r3, 0x800030E6@ha
/* 8037DBDC 0037AB3C B0 03 30 E6 */ sth r0, 0x800030E6@l(r3)
/* 8037DBE0 0037AB40 48 00 00 24 */ b lbl_8037DC04
lbl_8037DBE4:
/* 8037DBE4 0037AB44 7F C3 F3 78 */ mr r3, r30
/* 8037DBE8 0037AB48 38 80 00 20 */ li r4, 0x20
/* 8037DBEC 0037AB4C 48 00 0E 99 */ bl DCInvalidateRange
/* 8037DBF0 0037AB50 3C 60 80 38 */ lis r3, InquiryCallback@ha
/* 8037DBF4 0037AB54 38 A3 D8 6C */ addi r5, r3, InquiryCallback@l
/* 8037DBF8 0037AB58 7F C4 F3 78 */ mr r4, r30
/* 8037DBFC 0037AB5C 38 7E 00 20 */ addi r3, r30, 0x20
/* 8037DC00 0037AB60 4B FF 63 F1 */ bl DVDInquiryAsync
lbl_8037DC04:
/* 8037DC04 0037AB64 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 8037DC08 0037AB68 83 E1 00 14 */ lwz r31, 0x14(r1)
/* 8037DC0C 0037AB6C 83 C1 00 10 */ lwz r30, 0x10(r1)
/* 8037DC10 0037AB70 83 A1 00 0C */ lwz r29, 0xc(r1)
/* 8037DC14 0037AB74 38 21 00 18 */ addi r1, r1, 0x18
/* 8037DC18 0037AB78 7C 08 03 A6 */ mtlr r0
/* 8037DC1C 0037AB7C 4E 80 00 20 */ blr
.global OSExceptionInit
OSExceptionInit:
/* 8037DC20 0037AB80 7C 08 02 A6 */ mflr r0
/* 8037DC24 0037AB84 90 01 00 04 */ stw r0, 4(r1)
/* 8037DC28 0037AB88 94 21 FF C8 */ stwu r1, -0x38(r1)
/* 8037DC2C 0037AB8C BE 81 00 08 */ stmw r20, 8(r1)
/* 8037DC30 0037AB90 3C 60 80 00 */ lis r3, 0x80000060@ha
/* 8037DC34 0037AB94 80 03 00 60 */ lwz r0, 0x80000060@l(r3)
/* 8037DC38 0037AB98 3C 80 80 38 */ lis r4, lbl_8037DF60@ha
/* 8037DC3C 0037AB9C 3B C4 DF 60 */ addi r30, r4, lbl_8037DF60@l
/* 8037DC40 0037ABA0 3C A0 80 38 */ lis r5, OSExceptionVector@ha
/* 8037DC44 0037ABA4 83 3E 00 00 */ lwz r25, 0(r30)
/* 8037DC48 0037ABA8 3C 80 80 38 */ lis r4, lbl_8037DF90@ha
/* 8037DC4C 0037ABAC 38 A5 DE F8 */ addi r5, r5, OSExceptionVector@l
/* 8037DC50 0037ABB0 38 84 DF 90 */ addi r4, r4, lbl_8037DF90@l
/* 8037DC54 0037ABB4 3C C0 80 3F */ lis r6, lbl_803F0DA0@ha
/* 8037DC58 0037ABB8 28 00 00 00 */ cmplwi r0, 0
/* 8037DC5C 0037ABBC 7C B8 2B 78 */ mr r24, r5
/* 8037DC60 0037ABC0 3B A6 0D A0 */ addi r29, r6, lbl_803F0DA0@l
/* 8037DC64 0037ABC4 7E E5 20 50 */ subf r23, r5, r4
/* 8037DC68 0037ABC8 3A 83 00 60 */ addi r20, r3, 0x60
/* 8037DC6C 0037ABCC 40 82 00 4C */ bne lbl_8037DCB8
/* 8037DC70 0037ABD0 38 7D 01 70 */ addi r3, r29, 0x170
/* 8037DC74 0037ABD4 4C C6 31 82 */ crclr 6
/* 8037DC78 0037ABD8 4B FF 1C F1 */ bl DBPrintf
/* 8037DC7C 0037ABDC 3C 80 80 38 */ lis r4, __OSDBIntegrator@ha
/* 8037DC80 0037ABE0 3C 60 80 38 */ lis r3, __OSDBJump@ha
/* 8037DC84 0037ABE4 38 03 DE C4 */ addi r0, r3, __OSDBJump@l
/* 8037DC88 0037ABE8 38 84 DE A0 */ addi r4, r4, __OSDBIntegrator@l
/* 8037DC8C 0037ABEC 7E A4 00 50 */ subf r21, r4, r0
/* 8037DC90 0037ABF0 7E 83 A3 78 */ mr r3, r20
/* 8037DC94 0037ABF4 7E A5 AB 78 */ mr r5, r21
/* 8037DC98 0037ABF8 4B C8 57 F9 */ bl memcpy
/* 8037DC9C 0037ABFC 7E 83 A3 78 */ mr r3, r20
/* 8037DCA0 0037AC00 7E A4 AB 78 */ mr r4, r21
/* 8037DCA4 0037AC04 48 00 0E 6D */ bl DCFlushRangeNoSync
/* 8037DCA8 0037AC08 7C 00 04 AC */ sync
/* 8037DCAC 0037AC0C 7E 83 A3 78 */ mr r3, r20
/* 8037DCB0 0037AC10 7E A4 AB 78 */ mr r4, r21
/* 8037DCB4 0037AC14 48 00 0E E1 */ bl ICInvalidateRange
lbl_8037DCB8:
/* 8037DCB8 0037AC18 3C 80 80 38 */ lis r4, __OSDBJump@ha
/* 8037DCBC 0037AC1C 3C 60 80 38 */ lis r3, __OSSetExceptionHandler@ha
/* 8037DCC0 0037AC20 3B E4 DE C4 */ addi r31, r4, __OSDBJump@l
/* 8037DCC4 0037AC24 38 03 DE C8 */ addi r0, r3, __OSSetExceptionHandler@l
/* 8037DCC8 0037AC28 3B 9D 01 34 */ addi r28, r29, 0x134
/* 8037DCCC 0037AC2C 7F 7F 00 50 */ subf r27, r31, r0
/* 8037DCD0 0037AC30 3B 40 00 00 */ li r26, 0
/* 8037DCD4 0037AC34 48 00 00 04 */ b lbl_8037DCD8
lbl_8037DCD8:
/* 8037DCD8 0037AC38 3C 60 80 38 */ lis r3, __DBVECTOR@ha
/* 8037DCDC 0037AC3C 3A A3 DF 50 */ addi r21, r3, __DBVECTOR@l
/* 8037DCE0 0037AC40 3E C0 60 00 */ lis r22, 0x6000
/* 8037DCE4 0037AC44 48 00 00 04 */ b lbl_8037DCE8
lbl_8037DCE8:
/* 8037DCE8 0037AC48 48 00 01 48 */ b lbl_8037DE30
lbl_8037DCEC:
/* 8037DCEC 0037AC4C 80 6D AC C4 */ lwz r3, BI2DebugFlag@sda21(r13)
/* 8037DCF0 0037AC50 28 03 00 00 */ cmplwi r3, 0
/* 8037DCF4 0037AC54 41 82 00 34 */ beq lbl_8037DD28
/* 8037DCF8 0037AC58 80 03 00 00 */ lwz r0, 0(r3)
/* 8037DCFC 0037AC5C 28 00 00 02 */ cmplwi r0, 2
/* 8037DD00 0037AC60 41 80 00 28 */ blt lbl_8037DD28
/* 8037DD04 0037AC64 7F 43 D3 78 */ mr r3, r26
/* 8037DD08 0037AC68 4B FF 1C 45 */ bl __DBIsExceptionMarked
/* 8037DD0C 0037AC6C 2C 03 00 00 */ cmpwi r3, 0
/* 8037DD10 0037AC70 41 82 00 18 */ beq lbl_8037DD28
/* 8037DD14 0037AC74 38 7D 01 8C */ addi r3, r29, 0x18c
/* 8037DD18 0037AC78 4C C6 31 82 */ crclr 6
/* 8037DD1C 0037AC7C 57 44 06 3E */ clrlwi r4, r26, 0x18
/* 8037DD20 0037AC80 4B FF 1C 49 */ bl DBPrintf
/* 8037DD24 0037AC84 48 00 01 04 */ b lbl_8037DE28
lbl_8037DD28:
/* 8037DD28 0037AC88 57 54 06 3E */ clrlwi r20, r26, 0x18
/* 8037DD2C 0037AC8C 7F 20 A3 78 */ or r0, r25, r20
/* 8037DD30 0037AC90 90 1E 00 00 */ stw r0, 0(r30)
/* 8037DD34 0037AC94 7F 43 D3 78 */ mr r3, r26
/* 8037DD38 0037AC98 4B FF 1C 15 */ bl __DBIsExceptionMarked
/* 8037DD3C 0037AC9C 2C 03 00 00 */ cmpwi r3, 0
/* 8037DD40 0037ACA0 41 82 00 28 */ beq lbl_8037DD68
/* 8037DD44 0037ACA4 7E 84 A3 78 */ mr r4, r20
/* 8037DD48 0037ACA8 4C C6 31 82 */ crclr 6
/* 8037DD4C 0037ACAC 38 7D 01 BC */ addi r3, r29, 0x1bc
/* 8037DD50 0037ACB0 4B FF 1C 19 */ bl DBPrintf
/* 8037DD54 0037ACB4 7E A3 AB 78 */ mr r3, r21
/* 8037DD58 0037ACB8 7F E4 FB 78 */ mr r4, r31
/* 8037DD5C 0037ACBC 7F 65 DB 78 */ mr r5, r27
/* 8037DD60 0037ACC0 4B C8 57 31 */ bl memcpy
/* 8037DD64 0037ACC4 48 00 00 90 */ b lbl_8037DDF4
lbl_8037DD68:
/* 8037DD68 0037ACC8 7E A4 AB 78 */ mr r4, r21
/* 8037DD6C 0037ACCC 48 00 00 04 */ b lbl_8037DD70
lbl_8037DD70:
/* 8037DD70 0037ACD0 28 1B 00 00 */ cmplwi r27, 0
/* 8037DD74 0037ACD4 38 7B 00 03 */ addi r3, r27, 3
/* 8037DD78 0037ACD8 54 63 F0 BE */ srwi r3, r3, 2
/* 8037DD7C 0037ACDC 40 81 00 78 */ ble lbl_8037DDF4
/* 8037DD80 0037ACE0 54 60 E8 FE */ srwi r0, r3, 3
/* 8037DD84 0037ACE4 28 00 00 00 */ cmplwi r0, 0
/* 8037DD88 0037ACE8 7C 09 03 A6 */ mtctr r0
/* 8037DD8C 0037ACEC 41 82 00 54 */ beq lbl_8037DDE0
/* 8037DD90 0037ACF0 48 00 00 04 */ b lbl_8037DD94
lbl_8037DD94:
/* 8037DD94 0037ACF4 92 C4 00 00 */ stw r22, 0(r4)
/* 8037DD98 0037ACF8 38 84 00 04 */ addi r4, r4, 4
/* 8037DD9C 0037ACFC 92 C4 00 00 */ stw r22, 0(r4)
/* 8037DDA0 0037AD00 38 84 00 04 */ addi r4, r4, 4
/* 8037DDA4 0037AD04 92 C4 00 00 */ stw r22, 0(r4)
/* 8037DDA8 0037AD08 38 84 00 04 */ addi r4, r4, 4
/* 8037DDAC 0037AD0C 92 C4 00 00 */ stw r22, 0(r4)
/* 8037DDB0 0037AD10 38 84 00 04 */ addi r4, r4, 4
/* 8037DDB4 0037AD14 92 C4 00 00 */ stw r22, 0(r4)
/* 8037DDB8 0037AD18 38 84 00 04 */ addi r4, r4, 4
/* 8037DDBC 0037AD1C 92 C4 00 00 */ stw r22, 0(r4)
/* 8037DDC0 0037AD20 38 84 00 04 */ addi r4, r4, 4
/* 8037DDC4 0037AD24 92 C4 00 00 */ stw r22, 0(r4)
/* 8037DDC8 0037AD28 38 84 00 04 */ addi r4, r4, 4
/* 8037DDCC 0037AD2C 92 C4 00 00 */ stw r22, 0(r4)
/* 8037DDD0 0037AD30 38 84 00 04 */ addi r4, r4, 4
/* 8037DDD4 0037AD34 42 00 FF C0 */ bdnz lbl_8037DD94
/* 8037DDD8 0037AD38 70 63 00 07 */ andi. r3, r3, 7
/* 8037DDDC 0037AD3C 41 82 00 18 */ beq lbl_8037DDF4
lbl_8037DDE0:
/* 8037DDE0 0037AD40 7C 69 03 A6 */ mtctr r3
/* 8037DDE4 0037AD44 48 00 00 04 */ b lbl_8037DDE8
lbl_8037DDE8:
/* 8037DDE8 0037AD48 92 C4 00 00 */ stw r22, 0(r4)
/* 8037DDEC 0037AD4C 38 84 00 04 */ addi r4, r4, 4
/* 8037DDF0 0037AD50 42 00 FF F8 */ bdnz lbl_8037DDE8
lbl_8037DDF4:
/* 8037DDF4 0037AD54 80 7C 00 00 */ lwz r3, 0(r28)
/* 8037DDF8 0037AD58 7F 04 C3 78 */ mr r4, r24
/* 8037DDFC 0037AD5C 7E E5 BB 78 */ mr r5, r23
/* 8037DE00 0037AD60 3E 83 80 00 */ addis r20, r3, 0x8000
/* 8037DE04 0037AD64 7E 83 A3 78 */ mr r3, r20
/* 8037DE08 0037AD68 4B C8 56 89 */ bl memcpy
/* 8037DE0C 0037AD6C 7E 83 A3 78 */ mr r3, r20
/* 8037DE10 0037AD70 7E E4 BB 78 */ mr r4, r23
/* 8037DE14 0037AD74 48 00 0C FD */ bl DCFlushRangeNoSync
/* 8037DE18 0037AD78 7C 00 04 AC */ sync
/* 8037DE1C 0037AD7C 7E 83 A3 78 */ mr r3, r20
/* 8037DE20 0037AD80 7E E4 BB 78 */ mr r4, r23
/* 8037DE24 0037AD84 48 00 0D 71 */ bl ICInvalidateRange
lbl_8037DE28:
/* 8037DE28 0037AD88 3B 9C 00 04 */ addi r28, r28, 4
/* 8037DE2C 0037AD8C 3B 5A 00 01 */ addi r26, r26, 1
lbl_8037DE30:
/* 8037DE30 0037AD90 57 40 06 3E */ clrlwi r0, r26, 0x18
/* 8037DE34 0037AD94 28 00 00 0F */ cmplwi r0, 0xf
/* 8037DE38 0037AD98 41 80 FE B4 */ blt lbl_8037DCEC
/* 8037DE3C 0037AD9C 3C 60 80 00 */ lis r3, 0x80003000@ha
/* 8037DE40 0037ADA0 38 03 30 00 */ addi r0, r3, 0x80003000@l
/* 8037DE44 0037ADA4 90 0D AC D4 */ stw r0, OSExceptionTable@sda21(r13)
/* 8037DE48 0037ADA8 3A 80 00 00 */ li r20, 0
/* 8037DE4C 0037ADAC 48 00 00 04 */ b lbl_8037DE50
lbl_8037DE50:
/* 8037DE50 0037ADB0 3C 60 80 38 */ lis r3, OSDefaultExceptionHandler@ha
/* 8037DE54 0037ADB4 3A E3 DF 94 */ addi r23, r3, OSDefaultExceptionHandler@l
/* 8037DE58 0037ADB8 48 00 00 04 */ b lbl_8037DE5C
lbl_8037DE5C:
/* 8037DE5C 0037ADBC 48 00 00 14 */ b lbl_8037DE70
lbl_8037DE60:
/* 8037DE60 0037ADC0 7E 83 A3 78 */ mr r3, r20
/* 8037DE64 0037ADC4 7E E4 BB 78 */ mr r4, r23
/* 8037DE68 0037ADC8 48 00 00 61 */ bl __OSSetExceptionHandler
/* 8037DE6C 0037ADCC 3A 94 00 01 */ addi r20, r20, 1
lbl_8037DE70:
/* 8037DE70 0037ADD0 56 80 06 3E */ clrlwi r0, r20, 0x18
/* 8037DE74 0037ADD4 28 00 00 0F */ cmplwi r0, 0xf
/* 8037DE78 0037ADD8 41 80 FF E8 */ blt lbl_8037DE60
/* 8037DE7C 0037ADDC 93 3E 00 00 */ stw r25, 0(r30)
/* 8037DE80 0037ADE0 38 7D 01 EC */ addi r3, r29, 0x1ec
/* 8037DE84 0037ADE4 4C C6 31 82 */ crclr 6
/* 8037DE88 0037ADE8 4B FF 1A E1 */ bl DBPrintf
/* 8037DE8C 0037ADEC BA 81 00 08 */ lmw r20, 8(r1)
/* 8037DE90 0037ADF0 80 01 00 3C */ lwz r0, 0x3c(r1)
/* 8037DE94 0037ADF4 38 21 00 38 */ addi r1, r1, 0x38
/* 8037DE98 0037ADF8 7C 08 03 A6 */ mtlr r0
/* 8037DE9C 0037ADFC 4E 80 00 20 */ blr
.global __OSDBIntegrator
__OSDBIntegrator:
/* 8037DEA0 0037AE00 38 A0 00 40 */ li r5, 0x40
/* 8037DEA4 0037AE04 7C 68 02 A6 */ mflr r3
/* 8037DEA8 0037AE08 90 65 00 0C */ stw r3, 0xc(r5)
/* 8037DEAC 0037AE0C 80 65 00 08 */ lwz r3, 8(r5)
/* 8037DEB0 0037AE10 64 63 80 00 */ oris r3, r3, 0x8000
/* 8037DEB4 0037AE14 7C 68 03 A6 */ mtlr r3
/* 8037DEB8 0037AE18 38 60 00 30 */ li r3, 0x30
/* 8037DEBC 0037AE1C 7C 60 01 24 */ mtmsr r3
/* 8037DEC0 0037AE20 4E 80 00 20 */ blr
.global __OSDBJump
__OSDBJump:
.global __OSDBJUMPSTART
__OSDBJUMPSTART:
.global __OSDBINTEND
__OSDBINTEND:
/* 8037DEC4 0037AE24 48 00 00 63 */ bla 0x60
.global __OSSetExceptionHandler
__OSSetExceptionHandler:
/* 8037DEC8 0037AE28 54 60 06 3E */ clrlwi r0, r3, 0x18
/* 8037DECC 0037AE2C 80 6D AC D4 */ lwz r3, OSExceptionTable@sda21(r13)
/* 8037DED0 0037AE30 54 00 10 3A */ slwi r0, r0, 2
/* 8037DED4 0037AE34 7C A3 02 14 */ add r5, r3, r0
/* 8037DED8 0037AE38 80 65 00 00 */ lwz r3, 0(r5)
/* 8037DEDC 0037AE3C 90 85 00 00 */ stw r4, 0(r5)
/* 8037DEE0 0037AE40 4E 80 00 20 */ blr
.global __OSGetExceptionHandler
__OSGetExceptionHandler:
/* 8037DEE4 0037AE44 54 60 06 3E */ clrlwi r0, r3, 0x18
/* 8037DEE8 0037AE48 80 6D AC D4 */ lwz r3, OSExceptionTable@sda21(r13)
/* 8037DEEC 0037AE4C 54 00 10 3A */ slwi r0, r0, 2
/* 8037DEF0 0037AE50 7C 63 00 2E */ lwzx r3, r3, r0
/* 8037DEF4 0037AE54 4E 80 00 20 */ blr
.global OSExceptionVector
OSExceptionVector:
/* 8037DEF8 0037AE58 7C 90 43 A6 */ mtspr 0x110, r4
/* 8037DEFC 0037AE5C 80 80 00 C0 */ lwz r4, 0xc0(r0)
/* 8037DF00 0037AE60 90 64 00 0C */ stw r3, 0xc(r4)
/* 8037DF04 0037AE64 7C 70 42 A6 */ mfspr r3, 0x110
/* 8037DF08 0037AE68 90 64 00 10 */ stw r3, 0x10(r4)
/* 8037DF0C 0037AE6C 90 A4 00 14 */ stw r5, 0x14(r4)
/* 8037DF10 0037AE70 A0 64 01 A2 */ lhz r3, 0x1a2(r4)
/* 8037DF14 0037AE74 60 63 00 02 */ ori r3, r3, 2
/* 8037DF18 0037AE78 B0 64 01 A2 */ sth r3, 0x1a2(r4)
/* 8037DF1C 0037AE7C 7C 60 00 26 */ mfcr r3
/* 8037DF20 0037AE80 90 64 00 80 */ stw r3, 0x80(r4)
/* 8037DF24 0037AE84 7C 68 02 A6 */ mflr r3
/* 8037DF28 0037AE88 90 64 00 84 */ stw r3, 0x84(r4)
/* 8037DF2C 0037AE8C 7C 69 02 A6 */ mfctr r3
/* 8037DF30 0037AE90 90 64 00 88 */ stw r3, 0x88(r4)
/* 8037DF34 0037AE94 7C 61 02 A6 */ mfxer r3
/* 8037DF38 0037AE98 90 64 00 8C */ stw r3, 0x8c(r4)
/* 8037DF3C 0037AE9C 7C 7A 02 A6 */ mfspr r3, 0x1a
/* 8037DF40 0037AEA0 90 64 01 98 */ stw r3, 0x198(r4)
/* 8037DF44 0037AEA4 7C 7B 02 A6 */ mfspr r3, 0x1b
/* 8037DF48 0037AEA8 90 64 01 9C */ stw r3, 0x19c(r4)
/* 8037DF4C 0037AEAC 7C 65 1B 78 */ mr r5, r3
__DBVECTOR:
/* 8037DF50 0037AEB0 60 00 00 00 */ nop
/* 8037DF54 0037AEB4 7C 60 00 A6 */ mfmsr r3
/* 8037DF58 0037AEB8 60 63 00 30 */ ori r3, r3, 0x30
/* 8037DF5C 0037AEBC 7C 7B 03 A6 */ mtspr 0x1b, r3
lbl_8037DF60:
/* 8037DF60 0037AEC0 38 60 00 00 */ li r3, 0
/* 8037DF64 0037AEC4 80 80 00 D4 */ lwz r4, 0xd4(r0)
/* 8037DF68 0037AEC8 54 A5 07 BD */ rlwinm. r5, r5, 0, 0x1e, 0x1e
/* 8037DF6C 0037AECC 40 82 00 14 */ bne lbl_8037DF80
/* 8037DF70 0037AED0 3C A0 80 38 */ lis r5, OSDefaultExceptionHandler@ha
/* 8037DF74 0037AED4 38 A5 DF 94 */ addi r5, r5, OSDefaultExceptionHandler@l
/* 8037DF78 0037AED8 7C BA 03 A6 */ mtspr 0x1a, r5
/* 8037DF7C 0037AEDC 4C 00 00 64 */ rfi
lbl_8037DF80:
/* 8037DF80 0037AEE0 54 65 15 BA */ rlwinm r5, r3, 2, 0x16, 0x1d
/* 8037DF84 0037AEE4 80 A5 30 00 */ lwz r5, 0x3000(r5)
/* 8037DF88 0037AEE8 7C BA 03 A6 */ mtspr 0x1a, r5
/* 8037DF8C 0037AEEC 4C 00 00 64 */ rfi
lbl_8037DF90:
/* 8037DF90 0037AEF0 60 00 00 00 */ nop
.global OSDefaultExceptionHandler
OSDefaultExceptionHandler:
/* 8037DF94 0037AEF4 90 04 00 00 */ stw r0, 0(r4)
/* 8037DF98 0037AEF8 90 24 00 04 */ stw r1, 4(r4)
/* 8037DF9C 0037AEFC 90 44 00 08 */ stw r2, 8(r4)
/* 8037DFA0 0037AF00 BC C4 00 18 */ stmw r6, 0x18(r4)
/* 8037DFA4 0037AF04 7C 11 E2 A6 */ mfspr r0, 0x391
/* 8037DFA8 0037AF08 90 04 01 A8 */ stw r0, 0x1a8(r4)
/* 8037DFAC 0037AF0C 7C 12 E2 A6 */ mfspr r0, 0x392
/* 8037DFB0 0037AF10 90 04 01 AC */ stw r0, 0x1ac(r4)
/* 8037DFB4 0037AF14 7C 13 E2 A6 */ mfspr r0, 0x393
/* 8037DFB8 0037AF18 90 04 01 B0 */ stw r0, 0x1b0(r4)
/* 8037DFBC 0037AF1C 7C 14 E2 A6 */ mfspr r0, 0x394
/* 8037DFC0 0037AF20 90 04 01 B4 */ stw r0, 0x1b4(r4)
/* 8037DFC4 0037AF24 7C 15 E2 A6 */ mfspr r0, 0x395
/* 8037DFC8 0037AF28 90 04 01 B8 */ stw r0, 0x1b8(r4)
/* 8037DFCC 0037AF2C 7C 16 E2 A6 */ mfspr r0, 0x396
/* 8037DFD0 0037AF30 90 04 01 BC */ stw r0, 0x1bc(r4)
/* 8037DFD4 0037AF34 7C 17 E2 A6 */ mfspr r0, 0x397
/* 8037DFD8 0037AF38 90 04 01 C0 */ stw r0, 0x1c0(r4)
/* 8037DFDC 0037AF3C 7C B2 02 A6 */ mfdsisr r5
/* 8037DFE0 0037AF40 7C D3 02 A6 */ mfspr r6, 19
/* 8037DFE4 0037AF44 94 21 FF F8 */ stwu r1, -8(r1)
/* 8037DFE8 0037AF48 48 00 1D 88 */ b __OSUnhandledException
.global __OSPSInit
__OSPSInit:
/* 8037DFEC 0037AF4C 7C 08 02 A6 */ mflr r0
/* 8037DFF0 0037AF50 90 01 00 04 */ stw r0, 4(r1)
/* 8037DFF4 0037AF54 94 21 FF F8 */ stwu r1, -8(r1)
/* 8037DFF8 0037AF58 4B FF 18 79 */ bl PPCMfhid2
/* 8037DFFC 0037AF5C 64 63 A0 00 */ oris r3, r3, 0xa000
/* 8037E000 0037AF60 4B FF 18 79 */ bl PPCMthid2
/* 8037E004 0037AF64 48 00 0B C5 */ bl ICFlashInvalidate
/* 8037E008 0037AF68 7C 00 04 AC */ sync
/* 8037E00C 0037AF6C 38 60 00 00 */ li r3, 0
/* 8037E010 0037AF70 7C 70 E3 A6 */ mtspr 0x390, r3
/* 8037E014 0037AF74 80 01 00 0C */ lwz r0, 0xc(r1)
/* 8037E018 0037AF78 38 21 00 08 */ addi r1, r1, 8
/* 8037E01C 0037AF7C 7C 08 03 A6 */ mtlr r0
/* 8037E020 0037AF80 4E 80 00 20 */ blr
.global __OSGetDIConfig
__OSGetDIConfig:
/* 8037E024 0037AF84 3C 60 CC 00 */ lis r3, 0xCC006000@ha
/* 8037E028 0037AF88 38 63 60 00 */ addi r3, r3, 0xCC006000@l
/* 8037E02C 0037AF8C 80 03 00 24 */ lwz r0, 0x24(r3)
/* 8037E030 0037AF90 54 03 06 3E */ clrlwi r3, r0, 0x18
/* 8037E034 0037AF94 4E 80 00 20 */ blr
.global OSRegisterVersion
OSRegisterVersion:
/* 8037E038 0037AF98 7C 08 02 A6 */ mflr r0
/* 8037E03C 0037AF9C 90 01 00 04 */ stw r0, 4(r1)
/* 8037E040 0037AFA0 94 21 FF F8 */ stwu r1, -8(r1)
/* 8037E044 0037AFA4 7C 64 1B 78 */ mr r4, r3
/* 8037E048 0037AFA8 4C C6 31 82 */ crclr 6
/* 8037E04C 0037AFAC 38 6D 9F 6C */ addi r3, r13, lbl_805A8B2C@sda21
/* 8037E050 0037AFB0 48 00 19 5D */ bl OSReport
/* 8037E054 0037AFB4 80 01 00 0C */ lwz r0, 0xc(r1)
/* 8037E058 0037AFB8 38 21 00 08 */ addi r1, r1, 8
/* 8037E05C 0037AFBC 7C 08 03 A6 */ mtlr r0
/* 8037E060 0037AFC0 4E 80 00 20 */ blr

View File

@ -1,523 +0,0 @@
.include "macros.inc"
.section .sbss
.balign 8
.global AlarmQueue
AlarmQueue:
.skip 0x8
.section .text, "ax"
.global OSInitAlarm
OSInitAlarm:
/* 8037E064 0037AFC4 7C 08 02 A6 */ mflr r0
/* 8037E068 0037AFC8 38 60 00 08 */ li r3, 8
/* 8037E06C 0037AFCC 90 01 00 04 */ stw r0, 4(r1)
/* 8037E070 0037AFD0 94 21 FF F8 */ stwu r1, -8(r1)
/* 8037E074 0037AFD4 4B FF FE 71 */ bl __OSGetExceptionHandler
/* 8037E078 0037AFD8 3C 80 80 38 */ lis r4, DecrementerExceptionHandler@ha
/* 8037E07C 0037AFDC 38 84 E7 40 */ addi r4, r4, DecrementerExceptionHandler@l
/* 8037E080 0037AFE0 7C 03 20 40 */ cmplw r3, r4
/* 8037E084 0037AFE4 41 82 00 1C */ beq lbl_8037E0A0
/* 8037E088 0037AFE8 38 00 00 00 */ li r0, 0
/* 8037E08C 0037AFEC 38 6D AC F0 */ addi r3, r13, AlarmQueue@sda21
/* 8037E090 0037AFF0 90 03 00 04 */ stw r0, 4(r3)
/* 8037E094 0037AFF4 38 60 00 08 */ li r3, 8
/* 8037E098 0037AFF8 90 0D AC F0 */ stw r0, AlarmQueue@sda21(r13)
/* 8037E09C 0037AFFC 4B FF FE 2D */ bl __OSSetExceptionHandler
lbl_8037E0A0:
/* 8037E0A0 0037B000 80 01 00 0C */ lwz r0, 0xc(r1)
/* 8037E0A4 0037B004 38 21 00 08 */ addi r1, r1, 8
/* 8037E0A8 0037B008 7C 08 03 A6 */ mtlr r0
/* 8037E0AC 0037B00C 4E 80 00 20 */ blr
.global OSCreateAlarm
OSCreateAlarm:
/* 8037E0B0 0037B010 38 00 00 00 */ li r0, 0
/* 8037E0B4 0037B014 90 03 00 00 */ stw r0, 0(r3)
/* 8037E0B8 0037B018 90 03 00 04 */ stw r0, 4(r3)
/* 8037E0BC 0037B01C 4E 80 00 20 */ blr
.global InsertAlarm
InsertAlarm:
/* 8037E0C0 0037B020 7C 08 02 A6 */ mflr r0
/* 8037E0C4 0037B024 90 01 00 04 */ stw r0, 4(r1)
/* 8037E0C8 0037B028 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 8037E0CC 0037B02C BF 21 00 24 */ stmw r25, 0x24(r1)
/* 8037E0D0 0037B030 3B 80 00 00 */ li r28, 0
/* 8037E0D4 0037B034 7C 7D 1B 78 */ mr r29, r3
/* 8037E0D8 0037B038 6F 84 80 00 */ xoris r4, r28, 0x8000
/* 8037E0DC 0037B03C 3B 25 00 00 */ addi r25, r5, 0
/* 8037E0E0 0037B040 3B C6 00 00 */ addi r30, r6, 0
/* 8037E0E4 0037B044 3B E7 00 00 */ addi r31, r7, 0
/* 8037E0E8 0037B048 80 03 00 18 */ lwz r0, 0x18(r3)
/* 8037E0EC 0037B04C 81 03 00 1C */ lwz r8, 0x1c(r3)
/* 8037E0F0 0037B050 6C 03 80 00 */ xoris r3, r0, 0x8000
/* 8037E0F4 0037B054 7C 08 E0 10 */ subfc r0, r8, r28
/* 8037E0F8 0037B058 7C 63 21 10 */ subfe r3, r3, r4
/* 8037E0FC 0037B05C 7C 64 21 10 */ subfe r3, r4, r4
/* 8037E100 0037B060 7C 63 00 D1 */ neg. r3, r3
/* 8037E104 0037B064 41 82 00 7C */ beq lbl_8037E180
/* 8037E108 0037B068 48 00 72 C1 */ bl __OSGetSystemTime
/* 8037E10C 0037B06C 80 FD 00 20 */ lwz r7, 0x20(r29)
/* 8037E110 0037B070 6C 65 80 00 */ xoris r5, r3, 0x8000
/* 8037E114 0037B074 81 1D 00 24 */ lwz r8, 0x24(r29)
/* 8037E118 0037B078 6C E6 80 00 */ xoris r6, r7, 0x8000
/* 8037E11C 0037B07C 7C 04 40 10 */ subfc r0, r4, r8
/* 8037E120 0037B080 7C A5 31 10 */ subfe r5, r5, r6
/* 8037E124 0037B084 7C A6 31 10 */ subfe r5, r6, r6
/* 8037E128 0037B088 7C A5 00 D1 */ neg. r5, r5
/* 8037E12C 0037B08C 3B C8 00 00 */ addi r30, r8, 0
/* 8037E130 0037B090 3B 27 00 00 */ addi r25, r7, 0
/* 8037E134 0037B094 41 82 00 4C */ beq lbl_8037E180
/* 8037E138 0037B098 83 7D 00 18 */ lwz r27, 0x18(r29)
/* 8037E13C 0037B09C 7C 88 20 10 */ subfc r4, r8, r4
/* 8037E140 0037B0A0 83 5D 00 1C */ lwz r26, 0x1c(r29)
/* 8037E144 0037B0A4 7C 67 19 10 */ subfe r3, r7, r3
/* 8037E148 0037B0A8 38 BB 00 00 */ addi r5, r27, 0
/* 8037E14C 0037B0AC 38 DA 00 00 */ addi r6, r26, 0
/* 8037E150 0037B0B0 48 00 BA 7D */ bl __div2i
/* 8037E154 0037B0B4 38 00 00 01 */ li r0, 1
/* 8037E158 0037B0B8 7C A4 00 14 */ addc r5, r4, r0
/* 8037E15C 0037B0BC 7C 9B 29 D6 */ mullw r4, r27, r5
/* 8037E160 0037B0C0 7C 1A 28 16 */ mulhwu r0, r26, r5
/* 8037E164 0037B0C4 7C 63 E1 14 */ adde r3, r3, r28
/* 8037E168 0037B0C8 7C 84 02 14 */ add r4, r4, r0
/* 8037E16C 0037B0CC 7C 1A 19 D6 */ mullw r0, r26, r3
/* 8037E170 0037B0D0 7C 7A 29 D6 */ mullw r3, r26, r5
/* 8037E174 0037B0D4 7C 04 02 14 */ add r0, r4, r0
/* 8037E178 0037B0D8 7F DE 18 14 */ addc r30, r30, r3
/* 8037E17C 0037B0DC 7F 39 01 14 */ adde r25, r25, r0
lbl_8037E180:
/* 8037E180 0037B0E0 93 FD 00 00 */ stw r31, 0(r29)
/* 8037E184 0037B0E4 6F 24 80 00 */ xoris r4, r25, 0x8000
/* 8037E188 0037B0E8 93 DD 00 0C */ stw r30, 0xc(r29)
/* 8037E18C 0037B0EC 93 3D 00 08 */ stw r25, 8(r29)
/* 8037E190 0037B0F0 80 CD AC F0 */ lwz r6, AlarmQueue@sda21(r13)
/* 8037E194 0037B0F4 48 00 00 C4 */ b lbl_8037E258
lbl_8037E198:
/* 8037E198 0037B0F8 80 06 00 08 */ lwz r0, 8(r6)
/* 8037E19C 0037B0FC 80 A6 00 0C */ lwz r5, 0xc(r6)
/* 8037E1A0 0037B100 6C 03 80 00 */ xoris r3, r0, 0x8000
/* 8037E1A4 0037B104 7C 05 F0 10 */ subfc r0, r5, r30
/* 8037E1A8 0037B108 7C 63 21 10 */ subfe r3, r3, r4
/* 8037E1AC 0037B10C 7C 64 21 10 */ subfe r3, r4, r4
/* 8037E1B0 0037B110 7C 63 00 D1 */ neg. r3, r3
/* 8037E1B4 0037B114 41 82 00 A0 */ beq lbl_8037E254
/* 8037E1B8 0037B118 80 06 00 10 */ lwz r0, 0x10(r6)
/* 8037E1BC 0037B11C 90 1D 00 10 */ stw r0, 0x10(r29)
/* 8037E1C0 0037B120 93 A6 00 10 */ stw r29, 0x10(r6)
/* 8037E1C4 0037B124 90 DD 00 14 */ stw r6, 0x14(r29)
/* 8037E1C8 0037B128 80 7D 00 10 */ lwz r3, 0x10(r29)
/* 8037E1CC 0037B12C 28 03 00 00 */ cmplwi r3, 0
/* 8037E1D0 0037B130 41 82 00 0C */ beq lbl_8037E1DC
/* 8037E1D4 0037B134 93 A3 00 14 */ stw r29, 0x14(r3)
/* 8037E1D8 0037B138 48 00 01 24 */ b lbl_8037E2FC
lbl_8037E1DC:
/* 8037E1DC 0037B13C 93 AD AC F0 */ stw r29, AlarmQueue@sda21(r13)
/* 8037E1E0 0037B140 48 00 71 E9 */ bl __OSGetSystemTime
/* 8037E1E4 0037B144 80 DD 00 0C */ lwz r6, 0xc(r29)
/* 8037E1E8 0037B148 38 E0 00 00 */ li r7, 0
/* 8037E1EC 0037B14C 80 1D 00 08 */ lwz r0, 8(r29)
/* 8037E1F0 0037B150 6C E5 80 00 */ xoris r5, r7, 0x8000
/* 8037E1F4 0037B154 7D 04 30 10 */ subfc r8, r4, r6
/* 8037E1F8 0037B158 7C 03 01 10 */ subfe r0, r3, r0
/* 8037E1FC 0037B15C 6C 06 80 00 */ xoris r6, r0, 0x8000
/* 8037E200 0037B160 7C 07 40 10 */ subfc r0, r7, r8
/* 8037E204 0037B164 7C A5 31 10 */ subfe r5, r5, r6
/* 8037E208 0037B168 7C A6 31 10 */ subfe r5, r6, r6
/* 8037E20C 0037B16C 7C A5 00 D1 */ neg. r5, r5
/* 8037E210 0037B170 41 82 00 10 */ beq lbl_8037E220
/* 8037E214 0037B174 38 60 00 00 */ li r3, 0
/* 8037E218 0037B178 4B FF 15 ED */ bl PPCMtdec
/* 8037E21C 0037B17C 48 00 00 E0 */ b lbl_8037E2FC
lbl_8037E220:
/* 8037E220 0037B180 3C 80 80 00 */ lis r4, 0x8000
/* 8037E224 0037B184 6C E3 80 00 */ xoris r3, r7, 0x8000
/* 8037E228 0037B188 7C 04 40 10 */ subfc r0, r4, r8
/* 8037E22C 0037B18C 7C 63 31 10 */ subfe r3, r3, r6
/* 8037E230 0037B190 7C 66 31 10 */ subfe r3, r6, r6
/* 8037E234 0037B194 7C 63 00 D1 */ neg. r3, r3
/* 8037E238 0037B198 41 82 00 10 */ beq lbl_8037E248
/* 8037E23C 0037B19C 7D 03 43 78 */ mr r3, r8
/* 8037E240 0037B1A0 4B FF 15 C5 */ bl PPCMtdec
/* 8037E244 0037B1A4 48 00 00 B8 */ b lbl_8037E2FC
lbl_8037E248:
/* 8037E248 0037B1A8 38 64 FF FF */ addi r3, r4, -1
/* 8037E24C 0037B1AC 4B FF 15 B9 */ bl PPCMtdec
/* 8037E250 0037B1B0 48 00 00 AC */ b lbl_8037E2FC
lbl_8037E254:
/* 8037E254 0037B1B4 80 C6 00 14 */ lwz r6, 0x14(r6)
lbl_8037E258:
/* 8037E258 0037B1B8 28 06 00 00 */ cmplwi r6, 0
/* 8037E25C 0037B1BC 40 82 FF 3C */ bne lbl_8037E198
/* 8037E260 0037B1C0 3B C0 00 00 */ li r30, 0
/* 8037E264 0037B1C4 93 DD 00 14 */ stw r30, 0x14(r29)
/* 8037E268 0037B1C8 38 6D AC F0 */ addi r3, r13, AlarmQueue@sda21
/* 8037E26C 0037B1CC 80 83 00 04 */ lwz r4, 4(r3)
/* 8037E270 0037B1D0 97 A3 00 04 */ stwu r29, 4(r3)
/* 8037E274 0037B1D4 28 04 00 00 */ cmplwi r4, 0
/* 8037E278 0037B1D8 90 9D 00 10 */ stw r4, 0x10(r29)
/* 8037E27C 0037B1DC 41 82 00 0C */ beq lbl_8037E288
/* 8037E280 0037B1E0 93 A4 00 14 */ stw r29, 0x14(r4)
/* 8037E284 0037B1E4 48 00 00 78 */ b lbl_8037E2FC
lbl_8037E288:
/* 8037E288 0037B1E8 93 A3 00 00 */ stw r29, 0(r3)
/* 8037E28C 0037B1EC 93 AD AC F0 */ stw r29, AlarmQueue@sda21(r13)
/* 8037E290 0037B1F0 48 00 71 39 */ bl __OSGetSystemTime
/* 8037E294 0037B1F4 80 DD 00 0C */ lwz r6, 0xc(r29)
/* 8037E298 0037B1F8 6F C5 80 00 */ xoris r5, r30, 0x8000
/* 8037E29C 0037B1FC 80 1D 00 08 */ lwz r0, 8(r29)
/* 8037E2A0 0037B200 7C E4 30 10 */ subfc r7, r4, r6
/* 8037E2A4 0037B204 7C 03 01 10 */ subfe r0, r3, r0
/* 8037E2A8 0037B208 6C 06 80 00 */ xoris r6, r0, 0x8000
/* 8037E2AC 0037B20C 7C 1E 38 10 */ subfc r0, r30, r7
/* 8037E2B0 0037B210 7C A5 31 10 */ subfe r5, r5, r6
/* 8037E2B4 0037B214 7C A6 31 10 */ subfe r5, r6, r6
/* 8037E2B8 0037B218 7C A5 00 D1 */ neg. r5, r5
/* 8037E2BC 0037B21C 41 82 00 10 */ beq lbl_8037E2CC
/* 8037E2C0 0037B220 38 60 00 00 */ li r3, 0
/* 8037E2C4 0037B224 4B FF 15 41 */ bl PPCMtdec
/* 8037E2C8 0037B228 48 00 00 34 */ b lbl_8037E2FC
lbl_8037E2CC:
/* 8037E2CC 0037B22C 3C 80 80 00 */ lis r4, 0x8000
/* 8037E2D0 0037B230 6F C3 80 00 */ xoris r3, r30, 0x8000
/* 8037E2D4 0037B234 7C 04 38 10 */ subfc r0, r4, r7
/* 8037E2D8 0037B238 7C 63 31 10 */ subfe r3, r3, r6
/* 8037E2DC 0037B23C 7C 66 31 10 */ subfe r3, r6, r6
/* 8037E2E0 0037B240 7C 63 00 D1 */ neg. r3, r3
/* 8037E2E4 0037B244 41 82 00 10 */ beq lbl_8037E2F4
/* 8037E2E8 0037B248 7C E3 3B 78 */ mr r3, r7
/* 8037E2EC 0037B24C 4B FF 15 19 */ bl PPCMtdec
/* 8037E2F0 0037B250 48 00 00 0C */ b lbl_8037E2FC
lbl_8037E2F4:
/* 8037E2F4 0037B254 38 64 FF FF */ addi r3, r4, -1
/* 8037E2F8 0037B258 4B FF 15 0D */ bl PPCMtdec
lbl_8037E2FC:
/* 8037E2FC 0037B25C BB 21 00 24 */ lmw r25, 0x24(r1)
/* 8037E300 0037B260 80 01 00 44 */ lwz r0, 0x44(r1)
/* 8037E304 0037B264 38 21 00 40 */ addi r1, r1, 0x40
/* 8037E308 0037B268 7C 08 03 A6 */ mtlr r0
/* 8037E30C 0037B26C 4E 80 00 20 */ blr
.global OSSetAlarm
OSSetAlarm:
/* 8037E310 0037B270 7C 08 02 A6 */ mflr r0
/* 8037E314 0037B274 90 01 00 04 */ stw r0, 4(r1)
/* 8037E318 0037B278 94 21 FF C8 */ stwu r1, -0x38(r1)
/* 8037E31C 0037B27C BF 61 00 24 */ stmw r27, 0x24(r1)
/* 8037E320 0037B280 3B 63 00 00 */ addi r27, r3, 0
/* 8037E324 0037B284 3B A5 00 00 */ addi r29, r5, 0
/* 8037E328 0037B288 3B 86 00 00 */ addi r28, r6, 0
/* 8037E32C 0037B28C 3B C7 00 00 */ addi r30, r7, 0
/* 8037E330 0037B290 48 00 33 31 */ bl OSDisableInterrupts
/* 8037E334 0037B294 38 00 00 00 */ li r0, 0
/* 8037E338 0037B298 90 1B 00 1C */ stw r0, 0x1c(r27)
/* 8037E33C 0037B29C 7C 7F 1B 78 */ mr r31, r3
/* 8037E340 0037B2A0 90 1B 00 18 */ stw r0, 0x18(r27)
/* 8037E344 0037B2A4 48 00 70 85 */ bl __OSGetSystemTime
/* 8037E348 0037B2A8 7C DC 20 14 */ addc r6, r28, r4
/* 8037E34C 0037B2AC 7C BD 19 14 */ adde r5, r29, r3
/* 8037E350 0037B2B0 38 7B 00 00 */ addi r3, r27, 0
/* 8037E354 0037B2B4 38 FE 00 00 */ addi r7, r30, 0
/* 8037E358 0037B2B8 4B FF FD 69 */ bl InsertAlarm
/* 8037E35C 0037B2BC 7F E3 FB 78 */ mr r3, r31
/* 8037E360 0037B2C0 48 00 33 29 */ bl OSRestoreInterrupts
/* 8037E364 0037B2C4 BB 61 00 24 */ lmw r27, 0x24(r1)
/* 8037E368 0037B2C8 80 01 00 3C */ lwz r0, 0x3c(r1)
/* 8037E36C 0037B2CC 38 21 00 38 */ addi r1, r1, 0x38
/* 8037E370 0037B2D0 7C 08 03 A6 */ mtlr r0
/* 8037E374 0037B2D4 4E 80 00 20 */ blr
.global OSSetPeriodicAlarm
OSSetPeriodicAlarm:
/* 8037E378 0037B2D8 7C 08 02 A6 */ mflr r0
/* 8037E37C 0037B2DC 90 01 00 04 */ stw r0, 4(r1)
/* 8037E380 0037B2E0 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 8037E384 0037B2E4 BF 41 00 28 */ stmw r26, 0x28(r1)
/* 8037E388 0037B2E8 3B 43 00 00 */ addi r26, r3, 0
/* 8037E38C 0037B2EC 3B 85 00 00 */ addi r28, r5, 0
/* 8037E390 0037B2F0 3B 66 00 00 */ addi r27, r6, 0
/* 8037E394 0037B2F4 3B A7 00 00 */ addi r29, r7, 0
/* 8037E398 0037B2F8 3B E8 00 00 */ addi r31, r8, 0
/* 8037E39C 0037B2FC 3B C9 00 00 */ addi r30, r9, 0
/* 8037E3A0 0037B300 48 00 32 C1 */ bl OSDisableInterrupts
/* 8037E3A4 0037B304 93 FA 00 1C */ stw r31, 0x1c(r26)
/* 8037E3A8 0037B308 7C 7F 1B 78 */ mr r31, r3
/* 8037E3AC 0037B30C 38 9B 00 00 */ addi r4, r27, 0
/* 8037E3B0 0037B310 93 BA 00 18 */ stw r29, 0x18(r26)
/* 8037E3B4 0037B314 38 7C 00 00 */ addi r3, r28, 0
/* 8037E3B8 0037B318 48 00 70 75 */ bl __OSTimeToSystemTime
/* 8037E3BC 0037B31C 90 9A 00 24 */ stw r4, 0x24(r26)
/* 8037E3C0 0037B320 38 FE 00 00 */ addi r7, r30, 0
/* 8037E3C4 0037B324 38 C0 00 00 */ li r6, 0
/* 8037E3C8 0037B328 90 7A 00 20 */ stw r3, 0x20(r26)
/* 8037E3CC 0037B32C 38 7A 00 00 */ addi r3, r26, 0
/* 8037E3D0 0037B330 38 A0 00 00 */ li r5, 0
/* 8037E3D4 0037B334 4B FF FC ED */ bl InsertAlarm
/* 8037E3D8 0037B338 7F E3 FB 78 */ mr r3, r31
/* 8037E3DC 0037B33C 48 00 32 AD */ bl OSRestoreInterrupts
/* 8037E3E0 0037B340 BB 41 00 28 */ lmw r26, 0x28(r1)
/* 8037E3E4 0037B344 80 01 00 44 */ lwz r0, 0x44(r1)
/* 8037E3E8 0037B348 38 21 00 40 */ addi r1, r1, 0x40
/* 8037E3EC 0037B34C 7C 08 03 A6 */ mtlr r0
/* 8037E3F0 0037B350 4E 80 00 20 */ blr
.global OSCancelAlarm
OSCancelAlarm:
/* 8037E3F4 0037B354 7C 08 02 A6 */ mflr r0
/* 8037E3F8 0037B358 90 01 00 04 */ stw r0, 4(r1)
/* 8037E3FC 0037B35C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8037E400 0037B360 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8037E404 0037B364 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8037E408 0037B368 7C 7E 1B 78 */ mr r30, r3
/* 8037E40C 0037B36C 93 A1 00 14 */ stw r29, 0x14(r1)
/* 8037E410 0037B370 48 00 32 51 */ bl OSDisableInterrupts
/* 8037E414 0037B374 80 1E 00 00 */ lwz r0, 0(r30)
/* 8037E418 0037B378 3B E3 00 00 */ addi r31, r3, 0
/* 8037E41C 0037B37C 28 00 00 00 */ cmplwi r0, 0
/* 8037E420 0037B380 40 82 00 10 */ bne lbl_8037E430
/* 8037E424 0037B384 7F E3 FB 78 */ mr r3, r31
/* 8037E428 0037B388 48 00 32 61 */ bl OSRestoreInterrupts
/* 8037E42C 0037B38C 48 00 00 C8 */ b lbl_8037E4F4
lbl_8037E430:
/* 8037E430 0037B390 83 BE 00 14 */ lwz r29, 0x14(r30)
/* 8037E434 0037B394 28 1D 00 00 */ cmplwi r29, 0
/* 8037E438 0037B398 40 82 00 14 */ bne lbl_8037E44C
/* 8037E43C 0037B39C 80 1E 00 10 */ lwz r0, 0x10(r30)
/* 8037E440 0037B3A0 38 6D AC F0 */ addi r3, r13, AlarmQueue@sda21
/* 8037E444 0037B3A4 90 03 00 04 */ stw r0, 4(r3)
/* 8037E448 0037B3A8 48 00 00 0C */ b lbl_8037E454
lbl_8037E44C:
/* 8037E44C 0037B3AC 80 1E 00 10 */ lwz r0, 0x10(r30)
/* 8037E450 0037B3B0 90 1D 00 10 */ stw r0, 0x10(r29)
lbl_8037E454:
/* 8037E454 0037B3B4 80 7E 00 10 */ lwz r3, 0x10(r30)
/* 8037E458 0037B3B8 28 03 00 00 */ cmplwi r3, 0
/* 8037E45C 0037B3BC 41 82 00 0C */ beq lbl_8037E468
/* 8037E460 0037B3C0 93 A3 00 14 */ stw r29, 0x14(r3)
/* 8037E464 0037B3C4 48 00 00 80 */ b lbl_8037E4E4
lbl_8037E468:
/* 8037E468 0037B3C8 28 1D 00 00 */ cmplwi r29, 0
/* 8037E46C 0037B3CC 93 AD AC F0 */ stw r29, AlarmQueue@sda21(r13)
/* 8037E470 0037B3D0 41 82 00 74 */ beq lbl_8037E4E4
/* 8037E474 0037B3D4 48 00 6F 55 */ bl __OSGetSystemTime
/* 8037E478 0037B3D8 80 DD 00 0C */ lwz r6, 0xc(r29)
/* 8037E47C 0037B3DC 38 E0 00 00 */ li r7, 0
/* 8037E480 0037B3E0 80 1D 00 08 */ lwz r0, 8(r29)
/* 8037E484 0037B3E4 6C E5 80 00 */ xoris r5, r7, 0x8000
/* 8037E488 0037B3E8 7D 04 30 10 */ subfc r8, r4, r6
/* 8037E48C 0037B3EC 7C 03 01 10 */ subfe r0, r3, r0
/* 8037E490 0037B3F0 6C 06 80 00 */ xoris r6, r0, 0x8000
/* 8037E494 0037B3F4 7C 07 40 10 */ subfc r0, r7, r8
/* 8037E498 0037B3F8 7C A5 31 10 */ subfe r5, r5, r6
/* 8037E49C 0037B3FC 7C A6 31 10 */ subfe r5, r6, r6
/* 8037E4A0 0037B400 7C A5 00 D1 */ neg. r5, r5
/* 8037E4A4 0037B404 41 82 00 10 */ beq lbl_8037E4B4
/* 8037E4A8 0037B408 38 60 00 00 */ li r3, 0
/* 8037E4AC 0037B40C 4B FF 13 59 */ bl PPCMtdec
/* 8037E4B0 0037B410 48 00 00 34 */ b lbl_8037E4E4
lbl_8037E4B4:
/* 8037E4B4 0037B414 3C 80 80 00 */ lis r4, 0x8000
/* 8037E4B8 0037B418 6C E3 80 00 */ xoris r3, r7, 0x8000
/* 8037E4BC 0037B41C 7C 04 40 10 */ subfc r0, r4, r8
/* 8037E4C0 0037B420 7C 63 31 10 */ subfe r3, r3, r6
/* 8037E4C4 0037B424 7C 66 31 10 */ subfe r3, r6, r6
/* 8037E4C8 0037B428 7C 63 00 D1 */ neg. r3, r3
/* 8037E4CC 0037B42C 41 82 00 10 */ beq lbl_8037E4DC
/* 8037E4D0 0037B430 7D 03 43 78 */ mr r3, r8
/* 8037E4D4 0037B434 4B FF 13 31 */ bl PPCMtdec
/* 8037E4D8 0037B438 48 00 00 0C */ b lbl_8037E4E4
lbl_8037E4DC:
/* 8037E4DC 0037B43C 38 64 FF FF */ addi r3, r4, -1
/* 8037E4E0 0037B440 4B FF 13 25 */ bl PPCMtdec
lbl_8037E4E4:
/* 8037E4E4 0037B444 38 00 00 00 */ li r0, 0
/* 8037E4E8 0037B448 90 1E 00 00 */ stw r0, 0(r30)
/* 8037E4EC 0037B44C 7F E3 FB 78 */ mr r3, r31
/* 8037E4F0 0037B450 48 00 31 99 */ bl OSRestoreInterrupts
lbl_8037E4F4:
/* 8037E4F4 0037B454 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8037E4F8 0037B458 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8037E4FC 0037B45C 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8037E500 0037B460 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 8037E504 0037B464 38 21 00 20 */ addi r1, r1, 0x20
/* 8037E508 0037B468 7C 08 03 A6 */ mtlr r0
/* 8037E50C 0037B46C 4E 80 00 20 */ blr
.global DecrementerExceptionCallback
DecrementerExceptionCallback:
/* 8037E510 0037B470 7C 08 02 A6 */ mflr r0
/* 8037E514 0037B474 90 01 00 04 */ stw r0, 4(r1)
/* 8037E518 0037B478 94 21 FD 10 */ stwu r1, -0x2f0(r1)
/* 8037E51C 0037B47C 93 E1 02 EC */ stw r31, 0x2ec(r1)
/* 8037E520 0037B480 93 C1 02 E8 */ stw r30, 0x2e8(r1)
/* 8037E524 0037B484 93 A1 02 E4 */ stw r29, 0x2e4(r1)
/* 8037E528 0037B488 7C 9D 23 78 */ mr r29, r4
/* 8037E52C 0037B48C 93 81 02 E0 */ stw r28, 0x2e0(r1)
/* 8037E530 0037B490 48 00 6E 99 */ bl __OSGetSystemTime
/* 8037E534 0037B494 80 0D AC F0 */ lwz r0, AlarmQueue@sda21(r13)
/* 8037E538 0037B498 3B 84 00 00 */ addi r28, r4, 0
/* 8037E53C 0037B49C 3B C3 00 00 */ addi r30, r3, 0
/* 8037E540 0037B4A0 28 00 00 00 */ cmplwi r0, 0
/* 8037E544 0037B4A4 7C 1F 03 78 */ mr r31, r0
/* 8037E548 0037B4A8 40 82 00 0C */ bne lbl_8037E554
/* 8037E54C 0037B4AC 7F A3 EB 78 */ mr r3, r29
/* 8037E550 0037B4B0 48 00 0F B5 */ bl OSLoadContext
lbl_8037E554:
/* 8037E554 0037B4B4 80 1F 00 08 */ lwz r0, 8(r31)
/* 8037E558 0037B4B8 6F C4 80 00 */ xoris r4, r30, 0x8000
/* 8037E55C 0037B4BC 80 BF 00 0C */ lwz r5, 0xc(r31)
/* 8037E560 0037B4C0 6C 03 80 00 */ xoris r3, r0, 0x8000
/* 8037E564 0037B4C4 7C 05 E0 10 */ subfc r0, r5, r28
/* 8037E568 0037B4C8 7C 63 21 10 */ subfe r3, r3, r4
/* 8037E56C 0037B4CC 7C 64 21 10 */ subfe r3, r4, r4
/* 8037E570 0037B4D0 7C 63 00 D1 */ neg. r3, r3
/* 8037E574 0037B4D4 41 82 00 7C */ beq lbl_8037E5F0
/* 8037E578 0037B4D8 48 00 6E 51 */ bl __OSGetSystemTime
/* 8037E57C 0037B4DC 80 DF 00 0C */ lwz r6, 0xc(r31)
/* 8037E580 0037B4E0 38 E0 00 00 */ li r7, 0
/* 8037E584 0037B4E4 80 1F 00 08 */ lwz r0, 8(r31)
/* 8037E588 0037B4E8 6C E5 80 00 */ xoris r5, r7, 0x8000
/* 8037E58C 0037B4EC 7D 04 30 10 */ subfc r8, r4, r6
/* 8037E590 0037B4F0 7C 03 01 10 */ subfe r0, r3, r0
/* 8037E594 0037B4F4 6C 06 80 00 */ xoris r6, r0, 0x8000
/* 8037E598 0037B4F8 7C 07 40 10 */ subfc r0, r7, r8
/* 8037E59C 0037B4FC 7C A5 31 10 */ subfe r5, r5, r6
/* 8037E5A0 0037B500 7C A6 31 10 */ subfe r5, r6, r6
/* 8037E5A4 0037B504 7C A5 00 D1 */ neg. r5, r5
/* 8037E5A8 0037B508 41 82 00 10 */ beq lbl_8037E5B8
/* 8037E5AC 0037B50C 38 60 00 00 */ li r3, 0
/* 8037E5B0 0037B510 4B FF 12 55 */ bl PPCMtdec
/* 8037E5B4 0037B514 48 00 00 34 */ b lbl_8037E5E8
lbl_8037E5B8:
/* 8037E5B8 0037B518 3C 80 80 00 */ lis r4, 0x8000
/* 8037E5BC 0037B51C 6C E3 80 00 */ xoris r3, r7, 0x8000
/* 8037E5C0 0037B520 7C 04 40 10 */ subfc r0, r4, r8
/* 8037E5C4 0037B524 7C 63 31 10 */ subfe r3, r3, r6
/* 8037E5C8 0037B528 7C 66 31 10 */ subfe r3, r6, r6
/* 8037E5CC 0037B52C 7C 63 00 D1 */ neg. r3, r3
/* 8037E5D0 0037B530 41 82 00 10 */ beq lbl_8037E5E0
/* 8037E5D4 0037B534 7D 03 43 78 */ mr r3, r8
/* 8037E5D8 0037B538 4B FF 12 2D */ bl PPCMtdec
/* 8037E5DC 0037B53C 48 00 00 0C */ b lbl_8037E5E8
lbl_8037E5E0:
/* 8037E5E0 0037B540 38 64 FF FF */ addi r3, r4, -1
/* 8037E5E4 0037B544 4B FF 12 21 */ bl PPCMtdec
lbl_8037E5E8:
/* 8037E5E8 0037B548 7F A3 EB 78 */ mr r3, r29
/* 8037E5EC 0037B54C 48 00 0F 19 */ bl OSLoadContext
lbl_8037E5F0:
/* 8037E5F0 0037B550 80 7F 00 14 */ lwz r3, 0x14(r31)
/* 8037E5F4 0037B554 28 03 00 00 */ cmplwi r3, 0
/* 8037E5F8 0037B558 90 6D AC F0 */ stw r3, AlarmQueue@sda21(r13)
/* 8037E5FC 0037B55C 40 82 00 14 */ bne lbl_8037E610
/* 8037E600 0037B560 38 00 00 00 */ li r0, 0
/* 8037E604 0037B564 38 6D AC F0 */ addi r3, r13, AlarmQueue@sda21
/* 8037E608 0037B568 90 03 00 04 */ stw r0, 4(r3)
/* 8037E60C 0037B56C 48 00 00 0C */ b lbl_8037E618
lbl_8037E610:
/* 8037E610 0037B570 38 00 00 00 */ li r0, 0
/* 8037E614 0037B574 90 03 00 10 */ stw r0, 0x10(r3)
lbl_8037E618:
/* 8037E618 0037B578 83 DF 00 00 */ lwz r30, 0(r31)
/* 8037E61C 0037B57C 38 C0 00 00 */ li r6, 0
/* 8037E620 0037B580 6C C4 80 00 */ xoris r4, r6, 0x8000
/* 8037E624 0037B584 90 DF 00 00 */ stw r6, 0(r31)
/* 8037E628 0037B588 80 1F 00 18 */ lwz r0, 0x18(r31)
/* 8037E62C 0037B58C 80 BF 00 1C */ lwz r5, 0x1c(r31)
/* 8037E630 0037B590 6C 03 80 00 */ xoris r3, r0, 0x8000
/* 8037E634 0037B594 7C 05 30 10 */ subfc r0, r5, r6
/* 8037E638 0037B598 7C 63 21 10 */ subfe r3, r3, r4
/* 8037E63C 0037B59C 7C 64 21 10 */ subfe r3, r4, r4
/* 8037E640 0037B5A0 7C 63 00 D1 */ neg. r3, r3
/* 8037E644 0037B5A4 41 82 00 18 */ beq lbl_8037E65C
/* 8037E648 0037B5A8 38 7F 00 00 */ addi r3, r31, 0
/* 8037E64C 0037B5AC 38 FE 00 00 */ addi r7, r30, 0
/* 8037E650 0037B5B0 38 C0 00 00 */ li r6, 0
/* 8037E654 0037B5B4 38 A0 00 00 */ li r5, 0
/* 8037E658 0037B5B8 4B FF FA 69 */ bl InsertAlarm
lbl_8037E65C:
/* 8037E65C 0037B5BC 83 8D AC F0 */ lwz r28, AlarmQueue@sda21(r13)
/* 8037E660 0037B5C0 28 1C 00 00 */ cmplwi r28, 0
/* 8037E664 0037B5C4 41 82 00 74 */ beq lbl_8037E6D8
/* 8037E668 0037B5C8 48 00 6D 61 */ bl __OSGetSystemTime
/* 8037E66C 0037B5CC 80 DC 00 0C */ lwz r6, 0xc(r28)
/* 8037E670 0037B5D0 38 E0 00 00 */ li r7, 0
/* 8037E674 0037B5D4 80 1C 00 08 */ lwz r0, 8(r28)
/* 8037E678 0037B5D8 6C E5 80 00 */ xoris r5, r7, 0x8000
/* 8037E67C 0037B5DC 7D 04 30 10 */ subfc r8, r4, r6
/* 8037E680 0037B5E0 7C 03 01 10 */ subfe r0, r3, r0
/* 8037E684 0037B5E4 6C 06 80 00 */ xoris r6, r0, 0x8000
/* 8037E688 0037B5E8 7C 07 40 10 */ subfc r0, r7, r8
/* 8037E68C 0037B5EC 7C A5 31 10 */ subfe r5, r5, r6
/* 8037E690 0037B5F0 7C A6 31 10 */ subfe r5, r6, r6
/* 8037E694 0037B5F4 7C A5 00 D1 */ neg. r5, r5
/* 8037E698 0037B5F8 41 82 00 10 */ beq lbl_8037E6A8
/* 8037E69C 0037B5FC 38 60 00 00 */ li r3, 0
/* 8037E6A0 0037B600 4B FF 11 65 */ bl PPCMtdec
/* 8037E6A4 0037B604 48 00 00 34 */ b lbl_8037E6D8
lbl_8037E6A8:
/* 8037E6A8 0037B608 3C 80 80 00 */ lis r4, 0x8000
/* 8037E6AC 0037B60C 6C E3 80 00 */ xoris r3, r7, 0x8000
/* 8037E6B0 0037B610 7C 04 40 10 */ subfc r0, r4, r8
/* 8037E6B4 0037B614 7C 63 31 10 */ subfe r3, r3, r6
/* 8037E6B8 0037B618 7C 66 31 10 */ subfe r3, r6, r6
/* 8037E6BC 0037B61C 7C 63 00 D1 */ neg. r3, r3
/* 8037E6C0 0037B620 41 82 00 10 */ beq lbl_8037E6D0
/* 8037E6C4 0037B624 7D 03 43 78 */ mr r3, r8
/* 8037E6C8 0037B628 4B FF 11 3D */ bl PPCMtdec
/* 8037E6CC 0037B62C 48 00 00 0C */ b lbl_8037E6D8
lbl_8037E6D0:
/* 8037E6D0 0037B630 38 64 FF FF */ addi r3, r4, -1
/* 8037E6D4 0037B634 4B FF 11 31 */ bl PPCMtdec
lbl_8037E6D8:
/* 8037E6D8 0037B638 48 00 5F 09 */ bl OSDisableScheduler
/* 8037E6DC 0037B63C 38 61 00 18 */ addi r3, r1, 0x18
/* 8037E6E0 0037B640 48 00 0F 35 */ bl OSClearContext
/* 8037E6E4 0037B644 38 61 00 18 */ addi r3, r1, 0x18
/* 8037E6E8 0037B648 48 00 0D 35 */ bl OSSetCurrentContext
/* 8037E6EC 0037B64C 39 9E 00 00 */ addi r12, r30, 0
/* 8037E6F0 0037B650 7D 88 03 A6 */ mtlr r12
/* 8037E6F4 0037B654 38 7F 00 00 */ addi r3, r31, 0
/* 8037E6F8 0037B658 38 9D 00 00 */ addi r4, r29, 0
/* 8037E6FC 0037B65C 4E 80 00 21 */ blrl
/* 8037E700 0037B660 38 61 00 18 */ addi r3, r1, 0x18
/* 8037E704 0037B664 48 00 0F 11 */ bl OSClearContext
/* 8037E708 0037B668 7F A3 EB 78 */ mr r3, r29
/* 8037E70C 0037B66C 48 00 0D 11 */ bl OSSetCurrentContext
/* 8037E710 0037B670 48 00 5F 11 */ bl OSEnableScheduler
/* 8037E714 0037B674 48 00 63 D9 */ bl __OSReschedule
/* 8037E718 0037B678 7F A3 EB 78 */ mr r3, r29
/* 8037E71C 0037B67C 48 00 0D E9 */ bl OSLoadContext
/* 8037E720 0037B680 80 01 02 F4 */ lwz r0, 0x2f4(r1)
/* 8037E724 0037B684 83 E1 02 EC */ lwz r31, 0x2ec(r1)
/* 8037E728 0037B688 83 C1 02 E8 */ lwz r30, 0x2e8(r1)
/* 8037E72C 0037B68C 83 A1 02 E4 */ lwz r29, 0x2e4(r1)
/* 8037E730 0037B690 83 81 02 E0 */ lwz r28, 0x2e0(r1)
/* 8037E734 0037B694 38 21 02 F0 */ addi r1, r1, 0x2f0
/* 8037E738 0037B698 7C 08 03 A6 */ mtlr r0
/* 8037E73C 0037B69C 4E 80 00 20 */ blr
.global DecrementerExceptionHandler
DecrementerExceptionHandler:
/* 8037E740 0037B6A0 90 04 00 00 */ stw r0, 0(r4)
/* 8037E744 0037B6A4 90 24 00 04 */ stw r1, 4(r4)
/* 8037E748 0037B6A8 90 44 00 08 */ stw r2, 8(r4)
/* 8037E74C 0037B6AC BC C4 00 18 */ stmw r6, 0x18(r4)
/* 8037E750 0037B6B0 7C 11 E2 A6 */ mfspr r0, 0x391
/* 8037E754 0037B6B4 90 04 01 A8 */ stw r0, 0x1a8(r4)
/* 8037E758 0037B6B8 7C 12 E2 A6 */ mfspr r0, 0x392
/* 8037E75C 0037B6BC 90 04 01 AC */ stw r0, 0x1ac(r4)
/* 8037E760 0037B6C0 7C 13 E2 A6 */ mfspr r0, 0x393
/* 8037E764 0037B6C4 90 04 01 B0 */ stw r0, 0x1b0(r4)
/* 8037E768 0037B6C8 7C 14 E2 A6 */ mfspr r0, 0x394
/* 8037E76C 0037B6CC 90 04 01 B4 */ stw r0, 0x1b4(r4)
/* 8037E770 0037B6D0 7C 15 E2 A6 */ mfspr r0, 0x395
/* 8037E774 0037B6D4 90 04 01 B8 */ stw r0, 0x1b8(r4)
/* 8037E778 0037B6D8 7C 16 E2 A6 */ mfspr r0, 0x396
/* 8037E77C 0037B6DC 90 04 01 BC */ stw r0, 0x1bc(r4)
/* 8037E780 0037B6E0 7C 17 E2 A6 */ mfspr r0, 0x397
/* 8037E784 0037B6E4 90 04 01 C0 */ stw r0, 0x1c0(r4)
/* 8037E788 0037B6E8 94 21 FF F8 */ stwu r1, -8(r1)
/* 8037E78C 0037B6EC 4B FF FD 84 */ b DecrementerExceptionCallback

View File

@ -1,54 +0,0 @@
.include "macros.inc"
.section .sdata
.balign 8
.global lbl_805A8B30
lbl_805A8B30:
# ROM: 0x3F64D0
.4byte 0xFFFFFFFF
.4byte 0
.section .sbss
.balign 8
.global lbl_805A98B8
lbl_805A98B8:
.skip 0x8
.section .text, "ax"
.global OSGetArenaHi
OSGetArenaHi:
/* 8037E790 0037B6F0 80 6D AC F8 */ lwz r3, lbl_805A98B8@sda21(r13)
/* 8037E794 0037B6F4 4E 80 00 20 */ blr
.global OSGetArenaLo
OSGetArenaLo:
/* 8037E798 0037B6F8 80 6D 9F 70 */ lwz r3, lbl_805A8B30@sda21(r13)
/* 8037E79C 0037B6FC 4E 80 00 20 */ blr
.global OSSetArenaHi
OSSetArenaHi:
/* 8037E7A0 0037B700 90 6D AC F8 */ stw r3, lbl_805A98B8@sda21(r13)
/* 8037E7A4 0037B704 4E 80 00 20 */ blr
.global OSSetArenaLo
OSSetArenaLo:
/* 8037E7A8 0037B708 90 6D 9F 70 */ stw r3, lbl_805A8B30@sda21(r13)
/* 8037E7AC 0037B70C 4E 80 00 20 */ blr
.global OSAllocFromArenaLo
OSAllocFromArenaLo:
/* 8037E7B0 0037B710 80 0D 9F 70 */ lwz r0, lbl_805A8B30@sda21(r13)
/* 8037E7B4 0037B714 38 84 FF FF */ addi r4, r4, -1
/* 8037E7B8 0037B718 7C 85 20 F8 */ nor r5, r4, r4
/* 8037E7BC 0037B71C 7C 00 22 14 */ add r0, r0, r4
/* 8037E7C0 0037B720 7C A6 00 38 */ and r6, r5, r0
/* 8037E7C4 0037B724 7C 06 1A 14 */ add r0, r6, r3
/* 8037E7C8 0037B728 7C 00 22 14 */ add r0, r0, r4
/* 8037E7CC 0037B72C 7C A0 00 38 */ and r0, r5, r0
/* 8037E7D0 0037B730 90 0D 9F 70 */ stw r0, lbl_805A8B30@sda21(r13)
/* 8037E7D4 0037B734 7C C3 33 78 */ mr r3, r6
/* 8037E7D8 0037B738 4E 80 00 20 */ blr

View File

@ -1,231 +0,0 @@
.include "macros.inc"
.section .data, "wa"
.global DSPInitCode
DSPInitCode:
# ROM: 0x3EDFA8
.4byte 0x029F0010
.4byte 0x029F0033
.4byte 0x029F0034
.4byte 0x029F0035
.4byte 0x029F0036
.4byte 0x029F0037
.4byte 0x029F0038
.4byte 0x029F0039
.4byte 0x12061203
.4byte 0x12041205
.4byte 0x00808000
.4byte 0x0088FFFF
.4byte 0x00841000
.4byte 0x0064001D
.4byte 0x02180000
.4byte 0x81001C1E
.4byte 0x00441B1E
.4byte 0x00840800
.4byte 0x00640027
.4byte 0x191E0000
.4byte 0x00DEFFFC
.4byte 0x02A08000
.4byte 0x029C0028
.4byte 0x16FC0054
.4byte 0x16FD4348
.4byte 0x002102FF
.4byte 0x02FF02FF
.4byte 0x02FF02FF
.4byte 0x02FF02FF
.4byte 0
.4byte 0
.4byte 0
.section .text, "ax"
.global __OSInitAudioSystem
__OSInitAudioSystem:
/* 8037E7DC 0037B73C 7C 08 02 A6 */ mflr r0
/* 8037E7E0 0037B740 90 01 00 04 */ stw r0, 4(r1)
/* 8037E7E4 0037B744 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8037E7E8 0037B748 BF 21 00 14 */ stmw r25, 0x14(r1)
/* 8037E7EC 0037B74C 4B FF FF A5 */ bl OSGetArenaHi
/* 8037E7F0 0037B750 3C 80 81 00 */ lis r4, 0x8100
/* 8037E7F4 0037B754 38 A0 00 80 */ li r5, 0x80
/* 8037E7F8 0037B758 38 63 FF 80 */ addi r3, r3, -128
/* 8037E7FC 0037B75C 4B C8 4C 95 */ bl memcpy
/* 8037E800 0037B760 3C 60 80 3F */ lis r3, DSPInitCode@ha
/* 8037E804 0037B764 38 83 0F A8 */ addi r4, r3, DSPInitCode@l
/* 8037E808 0037B768 3C 60 81 00 */ lis r3, 0x8100
/* 8037E80C 0037B76C 38 A0 00 80 */ li r5, 0x80
/* 8037E810 0037B770 4B C8 4C 81 */ bl memcpy
/* 8037E814 0037B774 3C 60 81 00 */ lis r3, 0x8100
/* 8037E818 0037B778 38 80 00 80 */ li r4, 0x80
/* 8037E81C 0037B77C 48 00 02 95 */ bl DCFlushRange
/* 8037E820 0037B780 3C 60 CC 00 */ lis r3, 0xCC005000@ha
/* 8037E824 0037B784 38 63 50 00 */ addi r3, r3, 0xCC005000@l
/* 8037E828 0037B788 38 00 00 43 */ li r0, 0x43
/* 8037E82C 0037B78C B0 03 00 12 */ sth r0, 0x12(r3)
/* 8037E830 0037B790 3B E3 00 0A */ addi r31, r3, 0xa
/* 8037E834 0037B794 38 00 08 AC */ li r0, 0x8ac
/* 8037E838 0037B798 B0 03 00 0A */ sth r0, 0xa(r3)
/* 8037E83C 0037B79C A0 03 00 0A */ lhz r0, 0xa(r3)
/* 8037E840 0037B7A0 60 00 00 01 */ ori r0, r0, 1
/* 8037E844 0037B7A4 B0 03 00 0A */ sth r0, 0xa(r3)
lbl_8037E848:
/* 8037E848 0037B7A8 A0 1F 00 00 */ lhz r0, 0(r31)
/* 8037E84C 0037B7AC 54 00 07 FF */ clrlwi. r0, r0, 0x1f
/* 8037E850 0037B7B0 40 82 FF F8 */ bne lbl_8037E848
/* 8037E854 0037B7B4 38 00 00 00 */ li r0, 0
/* 8037E858 0037B7B8 3C 80 CC 00 */ lis r4, 0xCC005000@ha
/* 8037E85C 0037B7BC B0 04 50 00 */ sth r0, 0xCC005000@l(r4)
lbl_8037E860:
/* 8037E860 0037B7C0 3B C4 50 00 */ addi r30, r4, 0x5000
/* 8037E864 0037B7C4 A4 7E 00 04 */ lhzu r3, 4(r30)
/* 8037E868 0037B7C8 3B A4 50 00 */ addi r29, r4, 0x5000
/* 8037E86C 0037B7CC A4 1D 00 06 */ lhzu r0, 6(r29)
/* 8037E870 0037B7D0 50 60 80 1E */ rlwimi r0, r3, 0x10, 0, 0xf
/* 8037E874 0037B7D4 54 00 00 01 */ rlwinm. r0, r0, 0, 0, 0
/* 8037E878 0037B7D8 40 82 FF E8 */ bne lbl_8037E860
/* 8037E87C 0037B7DC 3C 60 CC 00 */ lis r3, 0xCC005000@ha
/* 8037E880 0037B7E0 3C 00 01 00 */ lis r0, 0x100
/* 8037E884 0037B7E4 3B 63 50 00 */ addi r27, r3, 0xCC005000@l
/* 8037E888 0037B7E8 94 1B 00 20 */ stwu r0, 0x20(r27)
/* 8037E88C 0037B7EC 38 00 00 00 */ li r0, 0
/* 8037E890 0037B7F0 3B 43 50 00 */ addi r26, r3, 0x5000
/* 8037E894 0037B7F4 94 1A 00 24 */ stwu r0, 0x24(r26)
/* 8037E898 0037B7F8 38 00 00 20 */ li r0, 0x20
/* 8037E89C 0037B7FC 3B 23 50 00 */ addi r25, r3, 0x5000
/* 8037E8A0 0037B800 94 19 00 28 */ stwu r0, 0x28(r25)
/* 8037E8A4 0037B804 A0 7F 00 00 */ lhz r3, 0(r31)
/* 8037E8A8 0037B808 48 00 00 08 */ b lbl_8037E8B0
lbl_8037E8AC:
/* 8037E8AC 0037B80C A0 7F 00 00 */ lhz r3, 0(r31)
lbl_8037E8B0:
/* 8037E8B0 0037B810 54 60 06 B5 */ rlwinm. r0, r3, 0, 0x1a, 0x1a
/* 8037E8B4 0037B814 41 82 FF F8 */ beq lbl_8037E8AC
/* 8037E8B8 0037B818 B0 7F 00 00 */ sth r3, 0(r31)
/* 8037E8BC 0037B81C 48 00 6B 05 */ bl OSGetTick
/* 8037E8C0 0037B820 7C 7C 1B 78 */ mr r28, r3
lbl_8037E8C4:
/* 8037E8C4 0037B824 48 00 6A FD */ bl OSGetTick
/* 8037E8C8 0037B828 7C 1C 18 50 */ subf r0, r28, r3
/* 8037E8CC 0037B82C 2C 00 08 92 */ cmpwi r0, 0x892
/* 8037E8D0 0037B830 41 80 FF F4 */ blt lbl_8037E8C4
/* 8037E8D4 0037B834 3C 00 01 00 */ lis r0, 0x100
/* 8037E8D8 0037B838 90 1B 00 00 */ stw r0, 0(r27)
/* 8037E8DC 0037B83C 38 60 00 00 */ li r3, 0
/* 8037E8E0 0037B840 38 00 00 20 */ li r0, 0x20
/* 8037E8E4 0037B844 90 7A 00 00 */ stw r3, 0(r26)
/* 8037E8E8 0037B848 90 19 00 00 */ stw r0, 0(r25)
/* 8037E8EC 0037B84C A0 7F 00 00 */ lhz r3, 0(r31)
/* 8037E8F0 0037B850 48 00 00 08 */ b lbl_8037E8F8
lbl_8037E8F4:
/* 8037E8F4 0037B854 A0 7F 00 00 */ lhz r3, 0(r31)
lbl_8037E8F8:
/* 8037E8F8 0037B858 54 60 06 B5 */ rlwinm. r0, r3, 0, 0x1a, 0x1a
/* 8037E8FC 0037B85C 41 82 FF F8 */ beq lbl_8037E8F4
/* 8037E900 0037B860 B0 7F 00 00 */ sth r3, 0(r31)
/* 8037E904 0037B864 A0 1F 00 00 */ lhz r0, 0(r31)
/* 8037E908 0037B868 54 00 05 66 */ rlwinm r0, r0, 0, 0x15, 0x13
/* 8037E90C 0037B86C B0 1F 00 00 */ sth r0, 0(r31)
lbl_8037E910:
/* 8037E910 0037B870 A0 1F 00 00 */ lhz r0, 0(r31)
/* 8037E914 0037B874 54 00 05 6B */ rlwinm. r0, r0, 0, 0x15, 0x15
/* 8037E918 0037B878 40 82 FF F8 */ bne lbl_8037E910
/* 8037E91C 0037B87C A0 1F 00 00 */ lhz r0, 0(r31)
/* 8037E920 0037B880 54 00 07 B8 */ rlwinm r0, r0, 0, 0x1e, 0x1c
/* 8037E924 0037B884 B0 1F 00 00 */ sth r0, 0(r31)
/* 8037E928 0037B888 A0 1E 00 00 */ lhz r0, 0(r30)
/* 8037E92C 0037B88C 48 00 00 08 */ b lbl_8037E934
lbl_8037E930:
/* 8037E930 0037B890 A0 1E 00 00 */ lhz r0, 0(r30)
lbl_8037E934:
/* 8037E934 0037B894 54 05 04 3E */ clrlwi r5, r0, 0x10
/* 8037E938 0037B898 54 00 04 21 */ rlwinm. r0, r0, 0, 0x10, 0x10
/* 8037E93C 0037B89C 41 82 FF F4 */ beq lbl_8037E930
/* 8037E940 0037B8A0 A0 1F 00 00 */ lhz r0, 0(r31)
/* 8037E944 0037B8A4 A0 9D 00 00 */ lhz r4, 0(r29)
/* 8037E948 0037B8A8 60 00 00 04 */ ori r0, r0, 4
/* 8037E94C 0037B8AC B0 1F 00 00 */ sth r0, 0(r31)
/* 8037E950 0037B8B0 38 00 08 AC */ li r0, 0x8ac
/* 8037E954 0037B8B4 B0 1F 00 00 */ sth r0, 0(r31)
/* 8037E958 0037B8B8 A0 1F 00 00 */ lhz r0, 0(r31)
/* 8037E95C 0037B8BC 60 00 00 01 */ ori r0, r0, 1
/* 8037E960 0037B8C0 B0 1F 00 00 */ sth r0, 0(r31)
lbl_8037E964:
/* 8037E964 0037B8C4 A0 1F 00 00 */ lhz r0, 0(r31)
/* 8037E968 0037B8C8 54 00 07 FF */ clrlwi. r0, r0, 0x1f
/* 8037E96C 0037B8CC 40 82 FF F8 */ bne lbl_8037E964
/* 8037E970 0037B8D0 4B FF FE 21 */ bl OSGetArenaHi
/* 8037E974 0037B8D4 38 83 FF 80 */ addi r4, r3, -128
/* 8037E978 0037B8D8 3C 60 81 00 */ lis r3, 0x8100
/* 8037E97C 0037B8DC 38 A0 00 80 */ li r5, 0x80
/* 8037E980 0037B8E0 4B C8 4B 11 */ bl memcpy
/* 8037E984 0037B8E4 BB 21 00 14 */ lmw r25, 0x14(r1)
/* 8037E988 0037B8E8 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8037E98C 0037B8EC 38 21 00 30 */ addi r1, r1, 0x30
/* 8037E990 0037B8F0 7C 08 03 A6 */ mtlr r0
/* 8037E994 0037B8F4 4E 80 00 20 */ blr
.global __OSStopAudioSystem
__OSStopAudioSystem:
/* 8037E998 0037B8F8 7C 08 02 A6 */ mflr r0
/* 8037E99C 0037B8FC 3C 60 CC 00 */ lis r3, 0xCC005000@ha
/* 8037E9A0 0037B900 90 01 00 04 */ stw r0, 4(r1)
/* 8037E9A4 0037B904 38 00 08 04 */ li r0, 0x804
/* 8037E9A8 0037B908 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8037E9AC 0037B90C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8037E9B0 0037B910 3B E3 50 00 */ addi r31, r3, 0xCC005000@l
/* 8037E9B4 0037B914 38 63 50 00 */ addi r3, r3, 0x5000
/* 8037E9B8 0037B918 93 C1 00 08 */ stw r30, 8(r1)
/* 8037E9BC 0037B91C B0 1F 00 0A */ sth r0, 0xa(r31)
/* 8037E9C0 0037B920 A0 03 00 36 */ lhz r0, 0x36(r3)
/* 8037E9C4 0037B924 54 00 04 5E */ rlwinm r0, r0, 0, 0x11, 0xf
/* 8037E9C8 0037B928 B0 03 00 36 */ sth r0, 0x36(r3)
/* 8037E9CC 0037B92C A4 1F 00 0A */ lhzu r0, 0xa(r31)
/* 8037E9D0 0037B930 48 00 00 08 */ b lbl_8037E9D8
lbl_8037E9D4:
/* 8037E9D4 0037B934 A0 1F 00 00 */ lhz r0, 0(r31)
lbl_8037E9D8:
/* 8037E9D8 0037B938 54 00 05 6B */ rlwinm. r0, r0, 0, 0x15, 0x15
/* 8037E9DC 0037B93C 40 82 FF F8 */ bne lbl_8037E9D4
/* 8037E9E0 0037B940 A0 1F 00 00 */ lhz r0, 0(r31)
/* 8037E9E4 0037B944 48 00 00 08 */ b lbl_8037E9EC
lbl_8037E9E8:
/* 8037E9E8 0037B948 A0 1F 00 00 */ lhz r0, 0(r31)
lbl_8037E9EC:
/* 8037E9EC 0037B94C 54 00 05 AD */ rlwinm. r0, r0, 0, 0x16, 0x16
/* 8037E9F0 0037B950 40 82 FF F8 */ bne lbl_8037E9E8
/* 8037E9F4 0037B954 38 00 08 AC */ li r0, 0x8ac
/* 8037E9F8 0037B958 3C 60 CC 00 */ lis r3, 0xCC005000@ha
/* 8037E9FC 0037B95C B0 1F 00 00 */ sth r0, 0(r31)
/* 8037EA00 0037B960 38 00 00 00 */ li r0, 0
/* 8037EA04 0037B964 B0 03 50 00 */ sth r0, 0xCC005000@l(r3)
/* 8037EA08 0037B968 38 83 50 00 */ addi r4, r3, 0x5000
lbl_8037EA0C:
/* 8037EA0C 0037B96C A0 64 00 04 */ lhz r3, 4(r4)
/* 8037EA10 0037B970 A0 04 00 06 */ lhz r0, 6(r4)
/* 8037EA14 0037B974 50 60 80 1E */ rlwimi r0, r3, 0x10, 0, 0xf
/* 8037EA18 0037B978 54 00 00 01 */ rlwinm. r0, r0, 0, 0, 0
/* 8037EA1C 0037B97C 40 82 FF F0 */ bne lbl_8037EA0C
/* 8037EA20 0037B980 48 00 69 A1 */ bl OSGetTick
/* 8037EA24 0037B984 7C 7E 1B 78 */ mr r30, r3
lbl_8037EA28:
/* 8037EA28 0037B988 48 00 69 99 */ bl OSGetTick
/* 8037EA2C 0037B98C 7C 1E 18 50 */ subf r0, r30, r3
/* 8037EA30 0037B990 2C 00 00 2C */ cmpwi r0, 0x2c
/* 8037EA34 0037B994 41 80 FF F4 */ blt lbl_8037EA28
/* 8037EA38 0037B998 A0 1F 00 00 */ lhz r0, 0(r31)
/* 8037EA3C 0037B99C 60 00 00 01 */ ori r0, r0, 1
/* 8037EA40 0037B9A0 B0 1F 00 00 */ sth r0, 0(r31)
/* 8037EA44 0037B9A4 A0 1F 00 00 */ lhz r0, 0(r31)
/* 8037EA48 0037B9A8 48 00 00 08 */ b lbl_8037EA50
lbl_8037EA4C:
/* 8037EA4C 0037B9AC A0 1F 00 00 */ lhz r0, 0(r31)
lbl_8037EA50:
/* 8037EA50 0037B9B0 54 00 07 FF */ clrlwi. r0, r0, 0x1f
/* 8037EA54 0037B9B4 40 82 FF F8 */ bne lbl_8037EA4C
/* 8037EA58 0037B9B8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8037EA5C 0037B9BC 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8037EA60 0037B9C0 83 C1 00 08 */ lwz r30, 8(r1)
/* 8037EA64 0037B9C4 38 21 00 10 */ addi r1, r1, 0x10
/* 8037EA68 0037B9C8 7C 08 03 A6 */ mtlr r0
/* 8037EA6C 0037B9CC 4E 80 00 20 */ blr

View File

@ -1,607 +0,0 @@
.include "macros.inc"
.section .data
.balign 8
lbl_803F1028:
.asciz ">>> L2 INVALIDATE : SHOULD NEVER HAPPEN\n"
.balign 4
.asciz "Machine check received\n"
.balign 4
.asciz "HID2 = 0x%x SRR1 = 0x%x\n"
.balign 4
.asciz "Machine check was not DMA/locked cache related\n"
.balign 4
.asciz "DMAErrorHandler(): An error occurred while processing DMA.\n"
.balign 4
.asciz "The following errors have been detected and cleared :\n"
.balign 4
.asciz "\t- Requested a locked cache tag that was already in the cache\n"
.balign 4
.asciz "\t- DMA attempted to access normal cache\n"
.balign 4
.asciz "\t- DMA missed in data cache\n"
.balign 4
.asciz "\t- DMA queue overflowed\n"
.balign 4
.asciz "L1 i-caches initialized\n"
.balign 4
.asciz "L1 d-caches initialized\n"
.balign 4
.asciz "L2 cache initialized\n"
.balign 4
.asciz "Locked cache machine check handler installed\n"
.section .text, "ax"
.global DCEnable
DCEnable:
/* 8037EA70 0037B9D0 7C 00 04 AC */ sync
/* 8037EA74 0037B9D4 7C 70 FA A6 */ mfspr r3, 0x3f0
/* 8037EA78 0037B9D8 60 63 40 00 */ ori r3, r3, 0x4000
/* 8037EA7C 0037B9DC 7C 70 FB A6 */ mtspr 0x3f0, r3
/* 8037EA80 0037B9E0 4E 80 00 20 */ blr
.global DCInvalidateRange
DCInvalidateRange:
/* 8037EA84 0037B9E4 28 04 00 00 */ cmplwi r4, 0
/* 8037EA88 0037B9E8 4C 81 00 20 */ blelr
/* 8037EA8C 0037B9EC 54 65 06 FE */ clrlwi r5, r3, 0x1b
/* 8037EA90 0037B9F0 7C 84 2A 14 */ add r4, r4, r5
/* 8037EA94 0037B9F4 38 84 00 1F */ addi r4, r4, 0x1f
/* 8037EA98 0037B9F8 54 84 D9 7E */ srwi r4, r4, 5
/* 8037EA9C 0037B9FC 7C 89 03 A6 */ mtctr r4
lbl_8037EAA0:
/* 8037EAA0 0037BA00 7C 00 1B AC */ dcbi r0, r3
/* 8037EAA4 0037BA04 38 63 00 20 */ addi r3, r3, 0x20
/* 8037EAA8 0037BA08 42 00 FF F8 */ bdnz lbl_8037EAA0
/* 8037EAAC 0037BA0C 4E 80 00 20 */ blr
.global DCFlushRange
DCFlushRange:
/* 8037EAB0 0037BA10 28 04 00 00 */ cmplwi r4, 0
/* 8037EAB4 0037BA14 4C 81 00 20 */ blelr
/* 8037EAB8 0037BA18 54 65 06 FE */ clrlwi r5, r3, 0x1b
/* 8037EABC 0037BA1C 7C 84 2A 14 */ add r4, r4, r5
/* 8037EAC0 0037BA20 38 84 00 1F */ addi r4, r4, 0x1f
/* 8037EAC4 0037BA24 54 84 D9 7E */ srwi r4, r4, 5
/* 8037EAC8 0037BA28 7C 89 03 A6 */ mtctr r4
lbl_8037EACC:
/* 8037EACC 0037BA2C 7C 00 18 AC */ dcbf r0, r3
/* 8037EAD0 0037BA30 38 63 00 20 */ addi r3, r3, 0x20
/* 8037EAD4 0037BA34 42 00 FF F8 */ bdnz lbl_8037EACC
/* 8037EAD8 0037BA38 44 00 00 02 */ sc
/* 8037EADC 0037BA3C 4E 80 00 20 */ blr
.global DCStoreRange
DCStoreRange:
/* 8037EAE0 0037BA40 28 04 00 00 */ cmplwi r4, 0
/* 8037EAE4 0037BA44 4C 81 00 20 */ blelr
/* 8037EAE8 0037BA48 54 65 06 FE */ clrlwi r5, r3, 0x1b
/* 8037EAEC 0037BA4C 7C 84 2A 14 */ add r4, r4, r5
/* 8037EAF0 0037BA50 38 84 00 1F */ addi r4, r4, 0x1f
/* 8037EAF4 0037BA54 54 84 D9 7E */ srwi r4, r4, 5
/* 8037EAF8 0037BA58 7C 89 03 A6 */ mtctr r4
lbl_8037EAFC:
/* 8037EAFC 0037BA5C 7C 00 18 6C */ dcbst r0, r3
/* 8037EB00 0037BA60 38 63 00 20 */ addi r3, r3, 0x20
/* 8037EB04 0037BA64 42 00 FF F8 */ bdnz lbl_8037EAFC
/* 8037EB08 0037BA68 44 00 00 02 */ sc
/* 8037EB0C 0037BA6C 4E 80 00 20 */ blr
.global DCFlushRangeNoSync
DCFlushRangeNoSync:
/* 8037EB10 0037BA70 28 04 00 00 */ cmplwi r4, 0
/* 8037EB14 0037BA74 4C 81 00 20 */ blelr
/* 8037EB18 0037BA78 54 65 06 FE */ clrlwi r5, r3, 0x1b
/* 8037EB1C 0037BA7C 7C 84 2A 14 */ add r4, r4, r5
/* 8037EB20 0037BA80 38 84 00 1F */ addi r4, r4, 0x1f
/* 8037EB24 0037BA84 54 84 D9 7E */ srwi r4, r4, 5
/* 8037EB28 0037BA88 7C 89 03 A6 */ mtctr r4
lbl_8037EB2C:
/* 8037EB2C 0037BA8C 7C 00 18 AC */ dcbf r0, r3
/* 8037EB30 0037BA90 38 63 00 20 */ addi r3, r3, 0x20
/* 8037EB34 0037BA94 42 00 FF F8 */ bdnz lbl_8037EB2C
/* 8037EB38 0037BA98 4E 80 00 20 */ blr
.global DCStoreRangeNoSync
DCStoreRangeNoSync:
/* 8037EB3C 0037BA9C 28 04 00 00 */ cmplwi r4, 0
/* 8037EB40 0037BAA0 4C 81 00 20 */ blelr
/* 8037EB44 0037BAA4 54 65 06 FE */ clrlwi r5, r3, 0x1b
/* 8037EB48 0037BAA8 7C 84 2A 14 */ add r4, r4, r5
/* 8037EB4C 0037BAAC 38 84 00 1F */ addi r4, r4, 0x1f
/* 8037EB50 0037BAB0 54 84 D9 7E */ srwi r4, r4, 5
/* 8037EB54 0037BAB4 7C 89 03 A6 */ mtctr r4
lbl_8037EB58:
/* 8037EB58 0037BAB8 7C 00 18 6C */ dcbst r0, r3
/* 8037EB5C 0037BABC 38 63 00 20 */ addi r3, r3, 0x20
/* 8037EB60 0037BAC0 42 00 FF F8 */ bdnz lbl_8037EB58
/* 8037EB64 0037BAC4 4E 80 00 20 */ blr
.global DCZeroRange
DCZeroRange:
/* 8037EB68 0037BAC8 28 04 00 00 */ cmplwi r4, 0
/* 8037EB6C 0037BACC 4C 81 00 20 */ blelr
/* 8037EB70 0037BAD0 54 65 06 FE */ clrlwi r5, r3, 0x1b
/* 8037EB74 0037BAD4 7C 84 2A 14 */ add r4, r4, r5
/* 8037EB78 0037BAD8 38 84 00 1F */ addi r4, r4, 0x1f
/* 8037EB7C 0037BADC 54 84 D9 7E */ srwi r4, r4, 5
/* 8037EB80 0037BAE0 7C 89 03 A6 */ mtctr r4
lbl_8037EB84:
/* 8037EB84 0037BAE4 7C 00 1F EC */ dcbz r0, r3
/* 8037EB88 0037BAE8 38 63 00 20 */ addi r3, r3, 0x20
/* 8037EB8C 0037BAEC 42 00 FF F8 */ bdnz lbl_8037EB84
/* 8037EB90 0037BAF0 4E 80 00 20 */ blr
.global ICInvalidateRange
ICInvalidateRange:
/* 8037EB94 0037BAF4 28 04 00 00 */ cmplwi r4, 0
/* 8037EB98 0037BAF8 4C 81 00 20 */ blelr
/* 8037EB9C 0037BAFC 54 65 06 FE */ clrlwi r5, r3, 0x1b
/* 8037EBA0 0037BB00 7C 84 2A 14 */ add r4, r4, r5
/* 8037EBA4 0037BB04 38 84 00 1F */ addi r4, r4, 0x1f
/* 8037EBA8 0037BB08 54 84 D9 7E */ srwi r4, r4, 5
/* 8037EBAC 0037BB0C 7C 89 03 A6 */ mtctr r4
lbl_8037EBB0:
/* 8037EBB0 0037BB10 7C 00 1F AC */ icbi r0, r3
/* 8037EBB4 0037BB14 38 63 00 20 */ addi r3, r3, 0x20
/* 8037EBB8 0037BB18 42 00 FF F8 */ bdnz lbl_8037EBB0
/* 8037EBBC 0037BB1C 7C 00 04 AC */ sync
/* 8037EBC0 0037BB20 4C 00 01 2C */ isync
/* 8037EBC4 0037BB24 4E 80 00 20 */ blr
.global ICFlashInvalidate
ICFlashInvalidate:
/* 8037EBC8 0037BB28 7C 70 FA A6 */ mfspr r3, 0x3f0
/* 8037EBCC 0037BB2C 60 63 08 00 */ ori r3, r3, 0x800
/* 8037EBD0 0037BB30 7C 70 FB A6 */ mtspr 0x3f0, r3
/* 8037EBD4 0037BB34 4E 80 00 20 */ blr
.global ICEnable
ICEnable:
/* 8037EBD8 0037BB38 4C 00 01 2C */ isync
/* 8037EBDC 0037BB3C 7C 70 FA A6 */ mfspr r3, 0x3f0
/* 8037EBE0 0037BB40 60 63 80 00 */ ori r3, r3, 0x8000
/* 8037EBE4 0037BB44 7C 70 FB A6 */ mtspr 0x3f0, r3
/* 8037EBE8 0037BB48 4E 80 00 20 */ blr
.global __LCEnable
__LCEnable:
/* 8037EBEC 0037BB4C 7C A0 00 A6 */ mfmsr r5
/* 8037EBF0 0037BB50 60 A5 10 00 */ ori r5, r5, 0x1000
/* 8037EBF4 0037BB54 7C A0 01 24 */ mtmsr r5
/* 8037EBF8 0037BB58 3C 60 80 00 */ lis r3, 0x80000020@ha
/* 8037EBFC 0037BB5C 38 80 04 00 */ li r4, 0x400
/* 8037EC00 0037BB60 7C 89 03 A6 */ mtctr r4
lbl_8037EC04:
/* 8037EC04 0037BB64 7C 00 1A 2C */ dcbt r0, r3
/* 8037EC08 0037BB68 7C 00 18 6C */ dcbst r0, r3
/* 8037EC0C 0037BB6C 38 63 00 20 */ addi r3, r3, 0x80000020@l
/* 8037EC10 0037BB70 42 00 FF F4 */ bdnz lbl_8037EC04
/* 8037EC14 0037BB74 7C 98 E2 A6 */ mfspr r4, 0x398
/* 8037EC18 0037BB78 64 84 10 0F */ oris r4, r4, 0x100f
/* 8037EC1C 0037BB7C 7C 98 E3 A6 */ mtspr 0x398, r4
/* 8037EC20 0037BB80 60 00 00 00 */ nop
/* 8037EC24 0037BB84 60 00 00 00 */ nop
/* 8037EC28 0037BB88 60 00 00 00 */ nop
/* 8037EC2C 0037BB8C 60 00 00 00 */ nop
/* 8037EC30 0037BB90 60 00 00 00 */ nop
/* 8037EC34 0037BB94 60 00 00 00 */ nop
/* 8037EC38 0037BB98 60 00 00 00 */ nop
/* 8037EC3C 0037BB9C 60 00 00 00 */ nop
/* 8037EC40 0037BBA0 60 00 00 00 */ nop
/* 8037EC44 0037BBA4 60 00 00 00 */ nop
/* 8037EC48 0037BBA8 60 00 00 00 */ nop
/* 8037EC4C 0037BBAC 60 00 00 00 */ nop
/* 8037EC50 0037BBB0 3C 60 E0 00 */ lis r3, 0xE0000002@h
/* 8037EC54 0037BBB4 60 63 00 02 */ ori r3, r3, 0xE0000002@l
/* 8037EC58 0037BBB8 7C 7F 83 A6 */ mtspr 543, r3
/* 8037EC5C 0037BBBC 60 63 01 FE */ ori r3, r3, 0x1fe
/* 8037EC60 0037BBC0 7C 7E 83 A6 */ mtspr 542, r3
/* 8037EC64 0037BBC4 4C 00 01 2C */ isync
/* 8037EC68 0037BBC8 3C 60 E0 00 */ lis r3, 0xE0000020@ha
/* 8037EC6C 0037BBCC 38 C0 02 00 */ li r6, 0x200
/* 8037EC70 0037BBD0 7C C9 03 A6 */ mtctr r6
/* 8037EC74 0037BBD4 38 C0 00 00 */ li r6, 0
lbl_8037EC78:
/* 8037EC78 0037BBD8 10 06 1F EC */ dcbz_l r6, r3
/* 8037EC7C 0037BBDC 38 63 00 20 */ addi r3, r3, 0xE0000020@l
/* 8037EC80 0037BBE0 42 00 FF F8 */ bdnz lbl_8037EC78
/* 8037EC84 0037BBE4 60 00 00 00 */ nop
/* 8037EC88 0037BBE8 60 00 00 00 */ nop
/* 8037EC8C 0037BBEC 60 00 00 00 */ nop
/* 8037EC90 0037BBF0 60 00 00 00 */ nop
/* 8037EC94 0037BBF4 60 00 00 00 */ nop
/* 8037EC98 0037BBF8 60 00 00 00 */ nop
/* 8037EC9C 0037BBFC 60 00 00 00 */ nop
/* 8037ECA0 0037BC00 60 00 00 00 */ nop
/* 8037ECA4 0037BC04 60 00 00 00 */ nop
/* 8037ECA8 0037BC08 60 00 00 00 */ nop
/* 8037ECAC 0037BC0C 60 00 00 00 */ nop
/* 8037ECB0 0037BC10 60 00 00 00 */ nop
/* 8037ECB4 0037BC14 4E 80 00 20 */ blr
.global LCEnable
LCEnable:
/* 8037ECB8 0037BC18 7C 08 02 A6 */ mflr r0
/* 8037ECBC 0037BC1C 90 01 00 04 */ stw r0, 4(r1)
/* 8037ECC0 0037BC20 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8037ECC4 0037BC24 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8037ECC8 0037BC28 48 00 29 99 */ bl OSDisableInterrupts
/* 8037ECCC 0037BC2C 7C 7F 1B 78 */ mr r31, r3
/* 8037ECD0 0037BC30 4B FF FF 1D */ bl __LCEnable
/* 8037ECD4 0037BC34 7F E3 FB 78 */ mr r3, r31
/* 8037ECD8 0037BC38 48 00 29 B1 */ bl OSRestoreInterrupts
/* 8037ECDC 0037BC3C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8037ECE0 0037BC40 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8037ECE4 0037BC44 38 21 00 10 */ addi r1, r1, 0x10
/* 8037ECE8 0037BC48 7C 08 03 A6 */ mtlr r0
/* 8037ECEC 0037BC4C 4E 80 00 20 */ blr
.global LCDisable
LCDisable:
/* 8037ECF0 0037BC50 3C 60 E0 00 */ lis r3, 0xE0000020@ha
/* 8037ECF4 0037BC54 38 80 02 00 */ li r4, 0x200
/* 8037ECF8 0037BC58 7C 89 03 A6 */ mtctr r4
lbl_8037ECFC:
/* 8037ECFC 0037BC5C 7C 00 1B AC */ dcbi r0, r3
/* 8037ED00 0037BC60 38 63 00 20 */ addi r3, r3, 0xE0000020@l
/* 8037ED04 0037BC64 42 00 FF F8 */ bdnz lbl_8037ECFC
/* 8037ED08 0037BC68 7C 98 E2 A6 */ mfspr r4, 0x398
/* 8037ED0C 0037BC6C 54 84 01 04 */ rlwinm r4, r4, 0, 4, 2
/* 8037ED10 0037BC70 7C 98 E3 A6 */ mtspr 0x398, r4
/* 8037ED14 0037BC74 4E 80 00 20 */ blr
.global LCLoadBlocks
LCLoadBlocks:
/* 8037ED18 0037BC78 54 A6 F6 FE */ rlwinm r6, r5, 0x1e, 0x1b, 0x1f
/* 8037ED1C 0037BC7C 54 84 01 3E */ clrlwi r4, r4, 4
/* 8037ED20 0037BC80 7C C6 23 78 */ or r6, r6, r4
/* 8037ED24 0037BC84 7C DA E3 A6 */ mtspr 0x39a, r6
/* 8037ED28 0037BC88 54 A6 17 3A */ rlwinm r6, r5, 2, 0x1c, 0x1d
/* 8037ED2C 0037BC8C 7C C6 1B 78 */ or r6, r6, r3
/* 8037ED30 0037BC90 60 C6 00 12 */ ori r6, r6, 0x12
/* 8037ED34 0037BC94 7C DB E3 A6 */ mtspr 0x39b, r6
/* 8037ED38 0037BC98 4E 80 00 20 */ blr
.global LCStoreBlocks
LCStoreBlocks:
/* 8037ED3C 0037BC9C 54 A6 F6 FE */ rlwinm r6, r5, 0x1e, 0x1b, 0x1f
/* 8037ED40 0037BCA0 54 63 01 3E */ clrlwi r3, r3, 4
/* 8037ED44 0037BCA4 7C C6 1B 78 */ or r6, r6, r3
/* 8037ED48 0037BCA8 7C DA E3 A6 */ mtspr 0x39a, r6
/* 8037ED4C 0037BCAC 54 A6 17 3A */ rlwinm r6, r5, 2, 0x1c, 0x1d
/* 8037ED50 0037BCB0 7C C6 23 78 */ or r6, r6, r4
/* 8037ED54 0037BCB4 60 C6 00 02 */ ori r6, r6, 2
/* 8037ED58 0037BCB8 7C DB E3 A6 */ mtspr 0x39b, r6
/* 8037ED5C 0037BCBC 4E 80 00 20 */ blr
.global LCLoadData
LCLoadData:
/* 8037ED60 0037BCC0 7C 08 02 A6 */ mflr r0
/* 8037ED64 0037BCC4 90 01 00 04 */ stw r0, 4(r1)
/* 8037ED68 0037BCC8 94 21 FF D8 */ stwu r1, -0x28(r1)
/* 8037ED6C 0037BCCC 93 E1 00 24 */ stw r31, 0x24(r1)
/* 8037ED70 0037BCD0 93 C1 00 20 */ stw r30, 0x20(r1)
/* 8037ED74 0037BCD4 93 A1 00 1C */ stw r29, 0x1c(r1)
/* 8037ED78 0037BCD8 93 81 00 18 */ stw r28, 0x18(r1)
/* 8037ED7C 0037BCDC 7C 7C 1B 78 */ mr r28, r3
/* 8037ED80 0037BCE0 7C 9D 23 78 */ mr r29, r4
/* 8037ED84 0037BCE4 38 05 00 1F */ addi r0, r5, 0x1f
/* 8037ED88 0037BCE8 54 03 D9 7E */ srwi r3, r0, 5
/* 8037ED8C 0037BCEC 38 03 00 7F */ addi r0, r3, 0x7f
/* 8037ED90 0037BCF0 7C 7F 1B 78 */ mr r31, r3
/* 8037ED94 0037BCF4 54 1E C9 FE */ srwi r30, r0, 7
/* 8037ED98 0037BCF8 48 00 00 04 */ b lbl_8037ED9C
lbl_8037ED9C:
/* 8037ED9C 0037BCFC 48 00 00 04 */ b lbl_8037EDA0
lbl_8037EDA0:
/* 8037EDA0 0037BD00 48 00 00 40 */ b lbl_8037EDE0
lbl_8037EDA4:
/* 8037EDA4 0037BD04 28 1F 00 80 */ cmplwi r31, 0x80
/* 8037EDA8 0037BD08 40 80 00 1C */ bge lbl_8037EDC4
/* 8037EDAC 0037BD0C 7F 83 E3 78 */ mr r3, r28
/* 8037EDB0 0037BD10 7F A4 EB 78 */ mr r4, r29
/* 8037EDB4 0037BD14 7F E5 FB 78 */ mr r5, r31
/* 8037EDB8 0037BD18 4B FF FF 61 */ bl LCLoadBlocks
/* 8037EDBC 0037BD1C 3B E0 00 00 */ li r31, 0
/* 8037EDC0 0037BD20 48 00 00 20 */ b lbl_8037EDE0
lbl_8037EDC4:
/* 8037EDC4 0037BD24 7F 83 E3 78 */ mr r3, r28
/* 8037EDC8 0037BD28 7F A4 EB 78 */ mr r4, r29
/* 8037EDCC 0037BD2C 38 A0 00 00 */ li r5, 0
/* 8037EDD0 0037BD30 4B FF FF 49 */ bl LCLoadBlocks
/* 8037EDD4 0037BD34 3B FF FF 80 */ addi r31, r31, -128
/* 8037EDD8 0037BD38 3B 9C 10 00 */ addi r28, r28, 0x1000
/* 8037EDDC 0037BD3C 3B BD 10 00 */ addi r29, r29, 0x1000
lbl_8037EDE0:
/* 8037EDE0 0037BD40 28 1F 00 00 */ cmplwi r31, 0
/* 8037EDE4 0037BD44 40 82 FF C0 */ bne lbl_8037EDA4
/* 8037EDE8 0037BD48 7F C3 F3 78 */ mr r3, r30
/* 8037EDEC 0037BD4C 80 01 00 2C */ lwz r0, 0x2c(r1)
/* 8037EDF0 0037BD50 83 E1 00 24 */ lwz r31, 0x24(r1)
/* 8037EDF4 0037BD54 83 C1 00 20 */ lwz r30, 0x20(r1)
/* 8037EDF8 0037BD58 83 A1 00 1C */ lwz r29, 0x1c(r1)
/* 8037EDFC 0037BD5C 83 81 00 18 */ lwz r28, 0x18(r1)
/* 8037EE00 0037BD60 38 21 00 28 */ addi r1, r1, 0x28
/* 8037EE04 0037BD64 7C 08 03 A6 */ mtlr r0
/* 8037EE08 0037BD68 4E 80 00 20 */ blr
.global LCStoreData
LCStoreData:
/* 8037EE0C 0037BD6C 7C 08 02 A6 */ mflr r0
/* 8037EE10 0037BD70 90 01 00 04 */ stw r0, 4(r1)
/* 8037EE14 0037BD74 94 21 FF D8 */ stwu r1, -0x28(r1)
/* 8037EE18 0037BD78 93 E1 00 24 */ stw r31, 0x24(r1)
/* 8037EE1C 0037BD7C 93 C1 00 20 */ stw r30, 0x20(r1)
/* 8037EE20 0037BD80 93 A1 00 1C */ stw r29, 0x1c(r1)
/* 8037EE24 0037BD84 93 81 00 18 */ stw r28, 0x18(r1)
/* 8037EE28 0037BD88 7C 7C 1B 78 */ mr r28, r3
/* 8037EE2C 0037BD8C 7C 9D 23 78 */ mr r29, r4
/* 8037EE30 0037BD90 38 05 00 1F */ addi r0, r5, 0x1f
/* 8037EE34 0037BD94 54 03 D9 7E */ srwi r3, r0, 5
/* 8037EE38 0037BD98 38 03 00 7F */ addi r0, r3, 0x7f
/* 8037EE3C 0037BD9C 7C 7F 1B 78 */ mr r31, r3
/* 8037EE40 0037BDA0 54 1E C9 FE */ srwi r30, r0, 7
/* 8037EE44 0037BDA4 48 00 00 04 */ b lbl_8037EE48
lbl_8037EE48:
/* 8037EE48 0037BDA8 48 00 00 04 */ b lbl_8037EE4C
lbl_8037EE4C:
/* 8037EE4C 0037BDAC 48 00 00 40 */ b lbl_8037EE8C
lbl_8037EE50:
/* 8037EE50 0037BDB0 28 1F 00 80 */ cmplwi r31, 0x80
/* 8037EE54 0037BDB4 40 80 00 1C */ bge lbl_8037EE70
/* 8037EE58 0037BDB8 7F 83 E3 78 */ mr r3, r28
/* 8037EE5C 0037BDBC 7F A4 EB 78 */ mr r4, r29
/* 8037EE60 0037BDC0 7F E5 FB 78 */ mr r5, r31
/* 8037EE64 0037BDC4 4B FF FE D9 */ bl LCStoreBlocks
/* 8037EE68 0037BDC8 3B E0 00 00 */ li r31, 0
/* 8037EE6C 0037BDCC 48 00 00 20 */ b lbl_8037EE8C
lbl_8037EE70:
/* 8037EE70 0037BDD0 7F 83 E3 78 */ mr r3, r28
/* 8037EE74 0037BDD4 7F A4 EB 78 */ mr r4, r29
/* 8037EE78 0037BDD8 38 A0 00 00 */ li r5, 0
/* 8037EE7C 0037BDDC 4B FF FE C1 */ bl LCStoreBlocks
/* 8037EE80 0037BDE0 3B FF FF 80 */ addi r31, r31, -128
/* 8037EE84 0037BDE4 3B 9C 10 00 */ addi r28, r28, 0x1000
/* 8037EE88 0037BDE8 3B BD 10 00 */ addi r29, r29, 0x1000
lbl_8037EE8C:
/* 8037EE8C 0037BDEC 28 1F 00 00 */ cmplwi r31, 0
/* 8037EE90 0037BDF0 40 82 FF C0 */ bne lbl_8037EE50
/* 8037EE94 0037BDF4 7F C3 F3 78 */ mr r3, r30
/* 8037EE98 0037BDF8 80 01 00 2C */ lwz r0, 0x2c(r1)
/* 8037EE9C 0037BDFC 83 E1 00 24 */ lwz r31, 0x24(r1)
/* 8037EEA0 0037BE00 83 C1 00 20 */ lwz r30, 0x20(r1)
/* 8037EEA4 0037BE04 83 A1 00 1C */ lwz r29, 0x1c(r1)
/* 8037EEA8 0037BE08 83 81 00 18 */ lwz r28, 0x18(r1)
/* 8037EEAC 0037BE0C 38 21 00 28 */ addi r1, r1, 0x28
/* 8037EEB0 0037BE10 7C 08 03 A6 */ mtlr r0
/* 8037EEB4 0037BE14 4E 80 00 20 */ blr
.global LCQueueLength
LCQueueLength:
/* 8037EEB8 0037BE18 7C 98 E2 A6 */ mfspr r4, 0x398
/* 8037EEBC 0037BE1C 54 83 47 3E */ rlwinm r3, r4, 8, 0x1c, 0x1f
/* 8037EEC0 0037BE20 4E 80 00 20 */ blr
.global LCQueueWait
LCQueueWait:
/* 8037EEC4 0037BE24 38 63 00 01 */ addi r3, r3, 1
lbl_8037EEC8:
/* 8037EEC8 0037BE28 7C 98 E2 A6 */ mfspr r4, 0x398
/* 8037EECC 0037BE2C 54 84 47 3E */ rlwinm r4, r4, 8, 0x1c, 0x1f
/* 8037EED0 0037BE30 7D 04 18 00 */ cmpw cr2, r4, r3
/* 8037EED4 0037BE34 40 88 FF F4 */ bge cr2, lbl_8037EEC8
/* 8037EED8 0037BE38 4E 80 00 20 */ blr
.global L2GlobalInvalidate
L2GlobalInvalidate:
/* 8037EEDC 0037BE3C 7C 08 02 A6 */ mflr r0
/* 8037EEE0 0037BE40 90 01 00 04 */ stw r0, 4(r1)
/* 8037EEE4 0037BE44 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8037EEE8 0037BE48 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8037EEEC 0037BE4C 7C 00 04 AC */ sync
/* 8037EEF0 0037BE50 4B FF 09 05 */ bl PPCMfl2cr
/* 8037EEF4 0037BE54 54 63 00 7E */ clrlwi r3, r3, 1
/* 8037EEF8 0037BE58 4B FF 09 05 */ bl PPCMtl2cr
/* 8037EEFC 0037BE5C 7C 00 04 AC */ sync
/* 8037EF00 0037BE60 4B FF 08 F5 */ bl PPCMfl2cr
/* 8037EF04 0037BE64 64 63 00 20 */ oris r3, r3, 0x20
/* 8037EF08 0037BE68 4B FF 08 F5 */ bl PPCMtl2cr
/* 8037EF0C 0037BE6C 48 00 00 04 */ b lbl_8037EF10
lbl_8037EF10:
/* 8037EF10 0037BE70 48 00 00 04 */ b lbl_8037EF14
lbl_8037EF14:
/* 8037EF14 0037BE74 4B FF 08 E1 */ bl PPCMfl2cr
/* 8037EF18 0037BE78 54 60 07 FE */ clrlwi r0, r3, 0x1f
/* 8037EF1C 0037BE7C 28 00 00 00 */ cmplwi r0, 0
/* 8037EF20 0037BE80 40 82 FF F4 */ bne lbl_8037EF14
/* 8037EF24 0037BE84 4B FF 08 D1 */ bl PPCMfl2cr
/* 8037EF28 0037BE88 54 63 02 D2 */ rlwinm r3, r3, 0, 0xb, 9
/* 8037EF2C 0037BE8C 4B FF 08 D1 */ bl PPCMtl2cr
/* 8037EF30 0037BE90 48 00 00 04 */ b lbl_8037EF34
lbl_8037EF34:
/* 8037EF34 0037BE94 3C 60 80 3F */ lis r3, lbl_803F1028@ha
/* 8037EF38 0037BE98 3B E3 10 28 */ addi r31, r3, lbl_803F1028@l
/* 8037EF3C 0037BE9C 48 00 00 04 */ b lbl_8037EF40
lbl_8037EF40:
/* 8037EF40 0037BEA0 48 00 00 10 */ b lbl_8037EF50
lbl_8037EF44:
/* 8037EF44 0037BEA4 7F E3 FB 78 */ mr r3, r31
/* 8037EF48 0037BEA8 4C C6 31 82 */ crclr 6
/* 8037EF4C 0037BEAC 4B FF 0A 1D */ bl DBPrintf
lbl_8037EF50:
/* 8037EF50 0037BEB0 4B FF 08 A5 */ bl PPCMfl2cr
/* 8037EF54 0037BEB4 54 60 07 FE */ clrlwi r0, r3, 0x1f
/* 8037EF58 0037BEB8 28 00 00 00 */ cmplwi r0, 0
/* 8037EF5C 0037BEBC 40 82 FF E8 */ bne lbl_8037EF44
/* 8037EF60 0037BEC0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8037EF64 0037BEC4 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8037EF68 0037BEC8 38 21 00 10 */ addi r1, r1, 0x10
/* 8037EF6C 0037BECC 7C 08 03 A6 */ mtlr r0
/* 8037EF70 0037BED0 4E 80 00 20 */ blr
.global DMAErrorHandler
DMAErrorHandler:
/* 8037EF74 0037BED4 7C 08 02 A6 */ mflr r0
/* 8037EF78 0037BED8 90 01 00 04 */ stw r0, 4(r1)
/* 8037EF7C 0037BEDC 94 21 FF 80 */ stwu r1, -0x80(r1)
/* 8037EF80 0037BEE0 93 E1 00 7C */ stw r31, 0x7c(r1)
/* 8037EF84 0037BEE4 93 C1 00 78 */ stw r30, 0x78(r1)
/* 8037EF88 0037BEE8 93 A1 00 74 */ stw r29, 0x74(r1)
/* 8037EF8C 0037BEEC 40 86 00 24 */ bne cr1, lbl_8037EFB0
/* 8037EF90 0037BEF0 D8 21 00 28 */ stfd f1, 0x28(r1)
/* 8037EF94 0037BEF4 D8 41 00 30 */ stfd f2, 0x30(r1)
/* 8037EF98 0037BEF8 D8 61 00 38 */ stfd f3, 0x38(r1)
/* 8037EF9C 0037BEFC D8 81 00 40 */ stfd f4, 0x40(r1)
/* 8037EFA0 0037BF00 D8 A1 00 48 */ stfd f5, 0x48(r1)
/* 8037EFA4 0037BF04 D8 C1 00 50 */ stfd f6, 0x50(r1)
/* 8037EFA8 0037BF08 D8 E1 00 58 */ stfd f7, 0x58(r1)
/* 8037EFAC 0037BF0C D9 01 00 60 */ stfd f8, 0x60(r1)
lbl_8037EFB0:
/* 8037EFB0 0037BF10 90 61 00 08 */ stw r3, 8(r1)
/* 8037EFB4 0037BF14 90 81 00 0C */ stw r4, 0xc(r1)
/* 8037EFB8 0037BF18 90 A1 00 10 */ stw r5, 0x10(r1)
/* 8037EFBC 0037BF1C 90 C1 00 14 */ stw r6, 0x14(r1)
/* 8037EFC0 0037BF20 90 E1 00 18 */ stw r7, 0x18(r1)
/* 8037EFC4 0037BF24 91 01 00 1C */ stw r8, 0x1c(r1)
/* 8037EFC8 0037BF28 91 21 00 20 */ stw r9, 0x20(r1)
/* 8037EFCC 0037BF2C 91 41 00 24 */ stw r10, 0x24(r1)
/* 8037EFD0 0037BF30 7C 9D 23 78 */ mr r29, r4
/* 8037EFD4 0037BF34 3C 60 80 3F */ lis r3, lbl_803F1028@ha
/* 8037EFD8 0037BF38 3B E3 10 28 */ addi r31, r3, lbl_803F1028@l
/* 8037EFDC 0037BF3C 4B FF 08 95 */ bl PPCMfhid2
/* 8037EFE0 0037BF40 7C 7E 1B 78 */ mr r30, r3
/* 8037EFE4 0037BF44 4C C6 31 82 */ crclr 6
/* 8037EFE8 0037BF48 38 7F 00 2C */ addi r3, r31, 0x2c
/* 8037EFEC 0037BF4C 48 00 09 C1 */ bl OSReport
/* 8037EFF0 0037BF50 80 BD 01 9C */ lwz r5, 0x19c(r29)
/* 8037EFF4 0037BF54 7F C4 F3 78 */ mr r4, r30
/* 8037EFF8 0037BF58 38 7F 00 44 */ addi r3, r31, 0x44
/* 8037EFFC 0037BF5C 4C C6 31 82 */ crclr 6
/* 8037F000 0037BF60 48 00 09 AD */ bl OSReport
/* 8037F004 0037BF64 57 C0 02 16 */ rlwinm r0, r30, 0, 8, 0xb
/* 8037F008 0037BF68 28 00 00 00 */ cmplwi r0, 0
/* 8037F00C 0037BF6C 41 82 00 14 */ beq lbl_8037F020
/* 8037F010 0037BF70 80 1D 01 9C */ lwz r0, 0x19c(r29)
/* 8037F014 0037BF74 54 00 02 94 */ rlwinm r0, r0, 0, 0xa, 0xa
/* 8037F018 0037BF78 28 00 00 00 */ cmplwi r0, 0
/* 8037F01C 0037BF7C 40 82 00 1C */ bne lbl_8037F038
lbl_8037F020:
/* 8037F020 0037BF80 38 7F 00 60 */ addi r3, r31, 0x60
/* 8037F024 0037BF84 4C C6 31 82 */ crclr 6
/* 8037F028 0037BF88 48 00 09 85 */ bl OSReport
/* 8037F02C 0037BF8C 7F A3 EB 78 */ mr r3, r29
/* 8037F030 0037BF90 48 00 06 09 */ bl OSDumpContext
/* 8037F034 0037BF94 4B FF 07 E1 */ bl PPCHalt
lbl_8037F038:
/* 8037F038 0037BF98 38 7F 00 90 */ addi r3, r31, 0x90
/* 8037F03C 0037BF9C 4C C6 31 82 */ crclr 6
/* 8037F040 0037BFA0 48 00 09 6D */ bl OSReport
/* 8037F044 0037BFA4 38 7F 00 CC */ addi r3, r31, 0xcc
/* 8037F048 0037BFA8 4C C6 31 82 */ crclr 6
/* 8037F04C 0037BFAC 48 00 09 61 */ bl OSReport
/* 8037F050 0037BFB0 57 C0 02 10 */ rlwinm r0, r30, 0, 8, 8
/* 8037F054 0037BFB4 28 00 00 00 */ cmplwi r0, 0
/* 8037F058 0037BFB8 41 82 00 10 */ beq lbl_8037F068
/* 8037F05C 0037BFBC 38 7F 01 04 */ addi r3, r31, 0x104
/* 8037F060 0037BFC0 4C C6 31 82 */ crclr 6
/* 8037F064 0037BFC4 48 00 09 49 */ bl OSReport
lbl_8037F068:
/* 8037F068 0037BFC8 57 C0 02 52 */ rlwinm r0, r30, 0, 9, 9
/* 8037F06C 0037BFCC 28 00 00 00 */ cmplwi r0, 0
/* 8037F070 0037BFD0 41 82 00 10 */ beq lbl_8037F080
/* 8037F074 0037BFD4 38 7F 01 44 */ addi r3, r31, 0x144
/* 8037F078 0037BFD8 4C C6 31 82 */ crclr 6
/* 8037F07C 0037BFDC 48 00 09 31 */ bl OSReport
lbl_8037F080:
/* 8037F080 0037BFE0 57 C0 02 94 */ rlwinm r0, r30, 0, 0xa, 0xa
/* 8037F084 0037BFE4 28 00 00 00 */ cmplwi r0, 0
/* 8037F088 0037BFE8 41 82 00 10 */ beq lbl_8037F098
/* 8037F08C 0037BFEC 38 7F 01 70 */ addi r3, r31, 0x170
/* 8037F090 0037BFF0 4C C6 31 82 */ crclr 6
/* 8037F094 0037BFF4 48 00 09 19 */ bl OSReport
lbl_8037F098:
/* 8037F098 0037BFF8 57 C0 02 D6 */ rlwinm r0, r30, 0, 0xb, 0xb
/* 8037F09C 0037BFFC 28 00 00 00 */ cmplwi r0, 0
/* 8037F0A0 0037C000 41 82 00 10 */ beq lbl_8037F0B0
/* 8037F0A4 0037C004 38 7F 01 90 */ addi r3, r31, 0x190
/* 8037F0A8 0037C008 4C C6 31 82 */ crclr 6
/* 8037F0AC 0037C00C 48 00 09 01 */ bl OSReport
lbl_8037F0B0:
/* 8037F0B0 0037C010 7F C3 F3 78 */ mr r3, r30
/* 8037F0B4 0037C014 4B FF 07 C5 */ bl PPCMthid2
/* 8037F0B8 0037C018 80 01 00 84 */ lwz r0, 0x84(r1)
/* 8037F0BC 0037C01C 83 E1 00 7C */ lwz r31, 0x7c(r1)
/* 8037F0C0 0037C020 83 C1 00 78 */ lwz r30, 0x78(r1)
/* 8037F0C4 0037C024 83 A1 00 74 */ lwz r29, 0x74(r1)
/* 8037F0C8 0037C028 38 21 00 80 */ addi r1, r1, 0x80
/* 8037F0CC 0037C02C 7C 08 03 A6 */ mtlr r0
/* 8037F0D0 0037C030 4E 80 00 20 */ blr
.global __OSCacheInit
__OSCacheInit:
/* 8037F0D4 0037C034 7C 08 02 A6 */ mflr r0
/* 8037F0D8 0037C038 90 01 00 04 */ stw r0, 4(r1)
/* 8037F0DC 0037C03C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8037F0E0 0037C040 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8037F0E4 0037C044 93 C1 00 08 */ stw r30, 8(r1)
/* 8037F0E8 0037C048 3C 60 80 3F */ lis r3, lbl_803F1028@ha
/* 8037F0EC 0037C04C 3B E3 10 28 */ addi r31, r3, lbl_803F1028@l
/* 8037F0F0 0037C050 4B FF 06 F5 */ bl PPCMfhid0
/* 8037F0F4 0037C054 54 60 04 20 */ rlwinm r0, r3, 0, 0x10, 0x10
/* 8037F0F8 0037C058 28 00 00 00 */ cmplwi r0, 0
/* 8037F0FC 0037C05C 40 82 00 14 */ bne lbl_8037F110
/* 8037F100 0037C060 4B FF FA D9 */ bl ICEnable
/* 8037F104 0037C064 38 7F 01 AC */ addi r3, r31, 0x1ac
/* 8037F108 0037C068 4C C6 31 82 */ crclr 6
/* 8037F10C 0037C06C 4B FF 08 5D */ bl DBPrintf
lbl_8037F110:
/* 8037F110 0037C070 4B FF 06 D5 */ bl PPCMfhid0
/* 8037F114 0037C074 54 60 04 62 */ rlwinm r0, r3, 0, 0x11, 0x11
/* 8037F118 0037C078 28 00 00 00 */ cmplwi r0, 0
/* 8037F11C 0037C07C 40 82 00 14 */ bne lbl_8037F130
/* 8037F120 0037C080 4B FF F9 51 */ bl DCEnable
/* 8037F124 0037C084 38 7F 01 C8 */ addi r3, r31, 0x1c8
/* 8037F128 0037C088 4C C6 31 82 */ crclr 6
/* 8037F12C 0037C08C 4B FF 08 3D */ bl DBPrintf
lbl_8037F130:
/* 8037F130 0037C090 4B FF 06 C5 */ bl PPCMfl2cr
/* 8037F134 0037C094 54 60 00 00 */ rlwinm r0, r3, 0, 0, 0
/* 8037F138 0037C098 28 00 00 00 */ cmplwi r0, 0
/* 8037F13C 0037C09C 40 82 00 58 */ bne lbl_8037F194
/* 8037F140 0037C0A0 4B FF 06 95 */ bl PPCMfmsr
/* 8037F144 0037C0A4 7C 7E 1B 78 */ mr r30, r3
/* 8037F148 0037C0A8 7C 00 04 AC */ sync
/* 8037F14C 0037C0AC 38 60 00 30 */ li r3, 0x30
/* 8037F150 0037C0B0 4B FF 06 8D */ bl PPCMtmsr
/* 8037F154 0037C0B4 7C 00 04 AC */ sync
/* 8037F158 0037C0B8 7C 00 04 AC */ sync
/* 8037F15C 0037C0BC 4B FF 06 99 */ bl PPCMfl2cr
/* 8037F160 0037C0C0 54 63 00 7E */ clrlwi r3, r3, 1
/* 8037F164 0037C0C4 4B FF 06 99 */ bl PPCMtl2cr
/* 8037F168 0037C0C8 7C 00 04 AC */ sync
/* 8037F16C 0037C0CC 4B FF FD 71 */ bl L2GlobalInvalidate
/* 8037F170 0037C0D0 7F C3 F3 78 */ mr r3, r30
/* 8037F174 0037C0D4 4B FF 06 69 */ bl PPCMtmsr
/* 8037F178 0037C0D8 4B FF 06 7D */ bl PPCMfl2cr
/* 8037F17C 0037C0DC 64 60 80 00 */ oris r0, r3, 0x8000
/* 8037F180 0037C0E0 54 03 02 D2 */ rlwinm r3, r0, 0, 0xb, 9
/* 8037F184 0037C0E4 4B FF 06 79 */ bl PPCMtl2cr
/* 8037F188 0037C0E8 38 7F 01 E4 */ addi r3, r31, 0x1e4
/* 8037F18C 0037C0EC 4C C6 31 82 */ crclr 6
/* 8037F190 0037C0F0 4B FF 07 D9 */ bl DBPrintf
lbl_8037F194:
/* 8037F194 0037C0F4 3C 60 80 38 */ lis r3, DMAErrorHandler@ha
/* 8037F198 0037C0F8 38 83 EF 74 */ addi r4, r3, DMAErrorHandler@l
/* 8037F19C 0037C0FC 38 60 00 01 */ li r3, 1
/* 8037F1A0 0037C100 48 00 09 B9 */ bl OSSetErrorHandler
/* 8037F1A4 0037C104 38 7F 01 FC */ addi r3, r31, 0x1fc
/* 8037F1A8 0037C108 4C C6 31 82 */ crclr 6
/* 8037F1AC 0037C10C 4B FF 07 BD */ bl DBPrintf
/* 8037F1B0 0037C110 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8037F1B4 0037C114 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8037F1B8 0037C118 83 C1 00 08 */ lwz r30, 8(r1)
/* 8037F1BC 0037C11C 38 21 00 10 */ addi r1, r1, 0x10
/* 8037F1C0 0037C120 7C 08 03 A6 */ mtlr r0
/* 8037F1C4 0037C124 4E 80 00 20 */ blr

View File

@ -1,609 +0,0 @@
.include "macros.inc"
.section .data
.balign 8
lbl_803F1258:
.asciz "------------------------- Context 0x%08x -------------------------\n"
.balign 4
.asciz "r%-2d = 0x%08x (%14d) r%-2d = 0x%08x (%14d)\n"
.balign 4
.asciz "LR = 0x%08x CR = 0x%08x\n"
.balign 4
.asciz "SRR0 = 0x%08x SRR1 = 0x%08x\n"
.balign 4
.asciz "\nGQRs----------\n"
.balign 4
.asciz "gqr%d = 0x%08x \t gqr%d = 0x%08x\n"
.balign 4
.asciz "\n\nFPRs----------\n"
.balign 4
.asciz "fr%d \t= %d \t fr%d \t= %d\n"
.balign 4
.asciz "\n\nPSFs----------\n"
.balign 4
.asciz "ps%d \t= 0x%x \t ps%d \t= 0x%x\n"
.balign 4
.asciz "\nAddress: Back Chain LR Save\n"
.balign 4
.asciz "0x%08x: 0x%08x 0x%08x\n"
.balign 4
lbl_803F140C:
.asciz "FPU-unavailable handler installed\n"
.balign 4
.section .text, "ax"
.global __OSLoadFPUContext
__OSLoadFPUContext:
/* 8037F1C8 0037C128 A0 A4 01 A2 */ lhz r5, 0x1a2(r4)
/* 8037F1CC 0037C12C 54 A5 07 FF */ clrlwi. r5, r5, 0x1f
/* 8037F1D0 0037C130 41 82 01 18 */ beq lbl_8037f2e8
/* 8037F1D4 0037C134 C8 04 01 90 */ lfd f0, 0x190(r4)
/* 8037F1D8 0037C138 FD FE 05 8E */ mtfsf 0xff, f0
/* 8037F1DC 0037C13C 7C B8 E2 A6 */ mfspr r5, 0x398
/* 8037F1E0 0037C140 54 A5 1F FF */ rlwinm. r5, r5, 3, 0x1f, 0x1f
/* 8037F1E4 0037C144 41 82 00 84 */ beq lbl_8037F268
/* 8037F1E8 0037C148 E0 04 01 C8 */ psq_l f0, 456(r4), 0, qr0
/* 8037F1EC 0037C14C E0 24 01 D0 */ psq_l f1, 464(r4), 0, qr0
/* 8037F1F0 0037C150 E0 44 01 D8 */ psq_l f2, 472(r4), 0, qr0
/* 8037F1F4 0037C154 E0 64 01 E0 */ psq_l f3, 480(r4), 0, qr0
/* 8037F1F8 0037C158 E0 84 01 E8 */ psq_l f4, 488(r4), 0, qr0
/* 8037F1FC 0037C15C E0 A4 01 F0 */ psq_l f5, 496(r4), 0, qr0
/* 8037F200 0037C160 E0 C4 01 F8 */ psq_l f6, 504(r4), 0, qr0
/* 8037F204 0037C164 E0 E4 02 00 */ psq_l f7, 512(r4), 0, qr0
/* 8037F208 0037C168 E1 04 02 08 */ psq_l f8, 520(r4), 0, qr0
/* 8037F20C 0037C16C E1 24 02 10 */ psq_l f9, 528(r4), 0, qr0
/* 8037F210 0037C170 E1 44 02 18 */ psq_l f10, 536(r4), 0, qr0
/* 8037F214 0037C174 E1 64 02 20 */ psq_l f11, 544(r4), 0, qr0
/* 8037F218 0037C178 E1 84 02 28 */ psq_l f12, 552(r4), 0, qr0
/* 8037F21C 0037C17C E1 A4 02 30 */ psq_l f13, 560(r4), 0, qr0
/* 8037F220 0037C180 E1 C4 02 38 */ psq_l f14, 568(r4), 0, qr0
/* 8037F224 0037C184 E1 E4 02 40 */ psq_l f15, 576(r4), 0, qr0
/* 8037F228 0037C188 E2 04 02 48 */ psq_l f16, 584(r4), 0, qr0
/* 8037F22C 0037C18C E2 24 02 50 */ psq_l f17, 592(r4), 0, qr0
/* 8037F230 0037C190 E2 44 02 58 */ psq_l f18, 600(r4), 0, qr0
/* 8037F234 0037C194 E2 64 02 60 */ psq_l f19, 608(r4), 0, qr0
/* 8037F238 0037C198 E2 84 02 68 */ psq_l f20, 616(r4), 0, qr0
/* 8037F23C 0037C19C E2 A4 02 70 */ psq_l f21, 624(r4), 0, qr0
/* 8037F240 0037C1A0 E2 C4 02 78 */ psq_l f22, 632(r4), 0, qr0
/* 8037F244 0037C1A4 E2 E4 02 80 */ psq_l f23, 640(r4), 0, qr0
/* 8037F248 0037C1A8 E3 04 02 88 */ psq_l f24, 648(r4), 0, qr0
/* 8037F24C 0037C1AC E3 24 02 90 */ psq_l f25, 656(r4), 0, qr0
/* 8037F250 0037C1B0 E3 44 02 98 */ psq_l f26, 664(r4), 0, qr0
/* 8037F254 0037C1B4 E3 64 02 A0 */ psq_l f27, 672(r4), 0, qr0
/* 8037F258 0037C1B8 E3 84 02 A8 */ psq_l f28, 680(r4), 0, qr0
/* 8037F25C 0037C1BC E3 A4 02 B0 */ psq_l f29, 688(r4), 0, qr0
/* 8037F260 0037C1C0 E3 C4 02 B8 */ psq_l f30, 696(r4), 0, qr0
/* 8037F264 0037C1C4 E3 E4 02 C0 */ psq_l f31, 704(r4), 0, qr0
lbl_8037F268:
/* 8037F268 0037C1C8 C8 04 00 90 */ lfd f0, 0x90(r4)
/* 8037F26C 0037C1CC C8 24 00 98 */ lfd f1, 0x98(r4)
/* 8037F270 0037C1D0 C8 44 00 A0 */ lfd f2, 0xa0(r4)
/* 8037F274 0037C1D4 C8 64 00 A8 */ lfd f3, 0xa8(r4)
/* 8037F278 0037C1D8 C8 84 00 B0 */ lfd f4, 0xb0(r4)
/* 8037F27C 0037C1DC C8 A4 00 B8 */ lfd f5, 0xb8(r4)
/* 8037F280 0037C1E0 C8 C4 00 C0 */ lfd f6, 0xc0(r4)
/* 8037F284 0037C1E4 C8 E4 00 C8 */ lfd f7, 0xc8(r4)
/* 8037F288 0037C1E8 C9 04 00 D0 */ lfd f8, 0xd0(r4)
/* 8037F28C 0037C1EC C9 24 00 D8 */ lfd f9, 0xd8(r4)
/* 8037F290 0037C1F0 C9 44 00 E0 */ lfd f10, 0xe0(r4)
/* 8037F294 0037C1F4 C9 64 00 E8 */ lfd f11, 0xe8(r4)
/* 8037F298 0037C1F8 C9 84 00 F0 */ lfd f12, 0xf0(r4)
/* 8037F29C 0037C1FC C9 A4 00 F8 */ lfd f13, 0xf8(r4)
/* 8037F2A0 0037C200 C9 C4 01 00 */ lfd f14, 0x100(r4)
/* 8037F2A4 0037C204 C9 E4 01 08 */ lfd f15, 0x108(r4)
/* 8037F2A8 0037C208 CA 04 01 10 */ lfd f16, 0x110(r4)
/* 8037F2AC 0037C20C CA 24 01 18 */ lfd f17, 0x118(r4)
/* 8037F2B0 0037C210 CA 44 01 20 */ lfd f18, 0x120(r4)
/* 8037F2B4 0037C214 CA 64 01 28 */ lfd f19, 0x128(r4)
/* 8037F2B8 0037C218 CA 84 01 30 */ lfd f20, 0x130(r4)
/* 8037F2BC 0037C21C CA A4 01 38 */ lfd f21, 0x138(r4)
/* 8037F2C0 0037C220 CA C4 01 40 */ lfd f22, 0x140(r4)
/* 8037F2C4 0037C224 CA E4 01 48 */ lfd f23, 0x148(r4)
/* 8037F2C8 0037C228 CB 04 01 50 */ lfd f24, 0x150(r4)
/* 8037F2CC 0037C22C CB 24 01 58 */ lfd f25, 0x158(r4)
/* 8037F2D0 0037C230 CB 44 01 60 */ lfd f26, 0x160(r4)
/* 8037F2D4 0037C234 CB 64 01 68 */ lfd f27, 0x168(r4)
/* 8037F2D8 0037C238 CB 84 01 70 */ lfd f28, 0x170(r4)
/* 8037F2DC 0037C23C CB A4 01 78 */ lfd f29, 0x178(r4)
/* 8037F2E0 0037C240 CB C4 01 80 */ lfd f30, 0x180(r4)
/* 8037F2E4 0037C244 CB E4 01 88 */ lfd f31, 0x188(r4)
lbl_8037f2e8:
/* 8037F2E8 0037C248 4E 80 00 20 */ blr
.global __OSSaveFPUContext
__OSSaveFPUContext:
/* 8037F2EC 0037C24C A0 65 01 A2 */ lhz r3, 0x1a2(r5)
/* 8037F2F0 0037C250 60 63 00 01 */ ori r3, r3, 1
/* 8037F2F4 0037C254 B0 65 01 A2 */ sth r3, 0x1a2(r5)
/* 8037F2F8 0037C258 D8 05 00 90 */ stfd f0, 0x90(r5)
/* 8037F2FC 0037C25C D8 25 00 98 */ stfd f1, 0x98(r5)
/* 8037F300 0037C260 D8 45 00 A0 */ stfd f2, 0xa0(r5)
/* 8037F304 0037C264 D8 65 00 A8 */ stfd f3, 0xa8(r5)
/* 8037F308 0037C268 D8 85 00 B0 */ stfd f4, 0xb0(r5)
/* 8037F30C 0037C26C D8 A5 00 B8 */ stfd f5, 0xb8(r5)
/* 8037F310 0037C270 D8 C5 00 C0 */ stfd f6, 0xc0(r5)
/* 8037F314 0037C274 D8 E5 00 C8 */ stfd f7, 0xc8(r5)
/* 8037F318 0037C278 D9 05 00 D0 */ stfd f8, 0xd0(r5)
/* 8037F31C 0037C27C D9 25 00 D8 */ stfd f9, 0xd8(r5)
/* 8037F320 0037C280 D9 45 00 E0 */ stfd f10, 0xe0(r5)
/* 8037F324 0037C284 D9 65 00 E8 */ stfd f11, 0xe8(r5)
/* 8037F328 0037C288 D9 85 00 F0 */ stfd f12, 0xf0(r5)
/* 8037F32C 0037C28C D9 A5 00 F8 */ stfd f13, 0xf8(r5)
/* 8037F330 0037C290 D9 C5 01 00 */ stfd f14, 0x100(r5)
/* 8037F334 0037C294 D9 E5 01 08 */ stfd f15, 0x108(r5)
/* 8037F338 0037C298 DA 05 01 10 */ stfd f16, 0x110(r5)
/* 8037F33C 0037C29C DA 25 01 18 */ stfd f17, 0x118(r5)
/* 8037F340 0037C2A0 DA 45 01 20 */ stfd f18, 0x120(r5)
/* 8037F344 0037C2A4 DA 65 01 28 */ stfd f19, 0x128(r5)
/* 8037F348 0037C2A8 DA 85 01 30 */ stfd f20, 0x130(r5)
/* 8037F34C 0037C2AC DA A5 01 38 */ stfd f21, 0x138(r5)
/* 8037F350 0037C2B0 DA C5 01 40 */ stfd f22, 0x140(r5)
/* 8037F354 0037C2B4 DA E5 01 48 */ stfd f23, 0x148(r5)
/* 8037F358 0037C2B8 DB 05 01 50 */ stfd f24, 0x150(r5)
/* 8037F35C 0037C2BC DB 25 01 58 */ stfd f25, 0x158(r5)
/* 8037F360 0037C2C0 DB 45 01 60 */ stfd f26, 0x160(r5)
/* 8037F364 0037C2C4 DB 65 01 68 */ stfd f27, 0x168(r5)
/* 8037F368 0037C2C8 DB 85 01 70 */ stfd f28, 0x170(r5)
/* 8037F36C 0037C2CC DB A5 01 78 */ stfd f29, 0x178(r5)
/* 8037F370 0037C2D0 DB C5 01 80 */ stfd f30, 0x180(r5)
/* 8037F374 0037C2D4 DB E5 01 88 */ stfd f31, 0x188(r5)
/* 8037F378 0037C2D8 FC 00 04 8E */ mffs f0
/* 8037F37C 0037C2DC D8 05 01 90 */ stfd f0, 0x190(r5)
/* 8037F380 0037C2E0 C8 05 00 90 */ lfd f0, 0x90(r5)
/* 8037F384 0037C2E4 7C 78 E2 A6 */ mfspr r3, 0x398
/* 8037F388 0037C2E8 54 63 1F FF */ rlwinm. r3, r3, 3, 0x1f, 0x1f
/* 8037F38C 0037C2EC 41 82 00 84 */ beq lbl_8037f410
/* 8037F390 0037C2F0 F0 05 01 C8 */ psq_st f0, 456(r5), 0, qr0
/* 8037F394 0037C2F4 F0 25 01 D0 */ psq_st f1, 464(r5), 0, qr0
/* 8037F398 0037C2F8 F0 45 01 D8 */ psq_st f2, 472(r5), 0, qr0
/* 8037F39C 0037C2FC F0 65 01 E0 */ psq_st f3, 480(r5), 0, qr0
/* 8037F3A0 0037C300 F0 85 01 E8 */ psq_st f4, 488(r5), 0, qr0
/* 8037F3A4 0037C304 F0 A5 01 F0 */ psq_st f5, 496(r5), 0, qr0
/* 8037F3A8 0037C308 F0 C5 01 F8 */ psq_st f6, 504(r5), 0, qr0
/* 8037F3AC 0037C30C F0 E5 02 00 */ psq_st f7, 512(r5), 0, qr0
/* 8037F3B0 0037C310 F1 05 02 08 */ psq_st f8, 520(r5), 0, qr0
/* 8037F3B4 0037C314 F1 25 02 10 */ psq_st f9, 528(r5), 0, qr0
/* 8037F3B8 0037C318 F1 45 02 18 */ psq_st f10, 536(r5), 0, qr0
/* 8037F3BC 0037C31C F1 65 02 20 */ psq_st f11, 544(r5), 0, qr0
/* 8037F3C0 0037C320 F1 85 02 28 */ psq_st f12, 552(r5), 0, qr0
/* 8037F3C4 0037C324 F1 A5 02 30 */ psq_st f13, 560(r5), 0, qr0
/* 8037F3C8 0037C328 F1 C5 02 38 */ psq_st f14, 568(r5), 0, qr0
/* 8037F3CC 0037C32C F1 E5 02 40 */ psq_st f15, 576(r5), 0, qr0
/* 8037F3D0 0037C330 F2 05 02 48 */ psq_st f16, 584(r5), 0, qr0
/* 8037F3D4 0037C334 F2 25 02 50 */ psq_st f17, 592(r5), 0, qr0
/* 8037F3D8 0037C338 F2 45 02 58 */ psq_st f18, 600(r5), 0, qr0
/* 8037F3DC 0037C33C F2 65 02 60 */ psq_st f19, 608(r5), 0, qr0
/* 8037F3E0 0037C340 F2 85 02 68 */ psq_st f20, 616(r5), 0, qr0
/* 8037F3E4 0037C344 F2 A5 02 70 */ psq_st f21, 624(r5), 0, qr0
/* 8037F3E8 0037C348 F2 C5 02 78 */ psq_st f22, 632(r5), 0, qr0
/* 8037F3EC 0037C34C F2 E5 02 80 */ psq_st f23, 640(r5), 0, qr0
/* 8037F3F0 0037C350 F3 05 02 88 */ psq_st f24, 648(r5), 0, qr0
/* 8037F3F4 0037C354 F3 25 02 90 */ psq_st f25, 656(r5), 0, qr0
/* 8037F3F8 0037C358 F3 45 02 98 */ psq_st f26, 664(r5), 0, qr0
/* 8037F3FC 0037C35C F3 65 02 A0 */ psq_st f27, 672(r5), 0, qr0
/* 8037F400 0037C360 F3 85 02 A8 */ psq_st f28, 680(r5), 0, qr0
/* 8037F404 0037C364 F3 A5 02 B0 */ psq_st f29, 688(r5), 0, qr0
/* 8037F408 0037C368 F3 C5 02 B8 */ psq_st f30, 696(r5), 0, qr0
/* 8037F40C 0037C36C F3 E5 02 C0 */ psq_st f31, 704(r5), 0, qr0
lbl_8037f410:
/* 8037F410 0037C370 4E 80 00 20 */ blr
.global OSSaveFPUContext
OSSaveFPUContext:
/* 8037F414 0037C374 38 A3 00 00 */ addi r5, r3, 0
/* 8037F418 0037C378 4B FF FE D4 */ b __OSSaveFPUContext
.global OSSetCurrentContext
OSSetCurrentContext:
/* 8037F41C 0037C37C 3C 80 80 00 */ lis r4, 0x800000D4@ha
/* 8037F420 0037C380 90 64 00 D4 */ stw r3, 0x800000D4@l(r4)
/* 8037F424 0037C384 54 65 00 BE */ clrlwi r5, r3, 2
/* 8037F428 0037C388 90 A4 00 C0 */ stw r5, 0xc0(r4)
/* 8037F42C 0037C38C 80 A4 00 D8 */ lwz r5, 0xd8(r4)
/* 8037F430 0037C390 7C 05 18 00 */ cmpw r5, r3
/* 8037F434 0037C394 40 82 00 20 */ bne lbl_8037F454
/* 8037F438 0037C398 80 C3 01 9C */ lwz r6, 0x19c(r3)
/* 8037F43C 0037C39C 60 C6 20 00 */ ori r6, r6, 0x2000
/* 8037F440 0037C3A0 90 C3 01 9C */ stw r6, 0x19c(r3)
/* 8037F444 0037C3A4 7C C0 00 A6 */ mfmsr r6
/* 8037F448 0037C3A8 60 C6 00 02 */ ori r6, r6, 2
/* 8037F44C 0037C3AC 7C C0 01 24 */ mtmsr r6
/* 8037F450 0037C3B0 4E 80 00 20 */ blr
lbl_8037F454:
/* 8037F454 0037C3B4 80 C3 01 9C */ lwz r6, 0x19c(r3)
/* 8037F458 0037C3B8 54 C6 04 E2 */ rlwinm r6, r6, 0, 0x13, 0x11
/* 8037F45C 0037C3BC 90 C3 01 9C */ stw r6, 0x19c(r3)
/* 8037F460 0037C3C0 7C C0 00 A6 */ mfmsr r6
/* 8037F464 0037C3C4 54 C6 04 E2 */ rlwinm r6, r6, 0, 0x13, 0x11
/* 8037F468 0037C3C8 60 C6 00 02 */ ori r6, r6, 2
/* 8037F46C 0037C3CC 7C C0 01 24 */ mtmsr r6
/* 8037F470 0037C3D0 4C 00 01 2C */ isync
/* 8037F474 0037C3D4 4E 80 00 20 */ blr
.global OSGetCurrentContext
OSGetCurrentContext:
/* 8037F478 0037C3D8 3C 60 80 00 */ lis r3, 0x800000D4@ha
/* 8037F47C 0037C3DC 80 63 00 D4 */ lwz r3, 0x800000D4@l(r3)
/* 8037F480 0037C3E0 4E 80 00 20 */ blr
.global OSSaveContext
OSSaveContext:
/* 8037F484 0037C3E4 BD A3 00 34 */ stmw r13, 0x34(r3)
/* 8037F488 0037C3E8 7C 11 E2 A6 */ mfspr r0, 0x391
/* 8037F48C 0037C3EC 90 03 01 A8 */ stw r0, 0x1a8(r3)
/* 8037F490 0037C3F0 7C 12 E2 A6 */ mfspr r0, 0x392
/* 8037F494 0037C3F4 90 03 01 AC */ stw r0, 0x1ac(r3)
/* 8037F498 0037C3F8 7C 13 E2 A6 */ mfspr r0, 0x393
/* 8037F49C 0037C3FC 90 03 01 B0 */ stw r0, 0x1b0(r3)
/* 8037F4A0 0037C400 7C 14 E2 A6 */ mfspr r0, 0x394
/* 8037F4A4 0037C404 90 03 01 B4 */ stw r0, 0x1b4(r3)
/* 8037F4A8 0037C408 7C 15 E2 A6 */ mfspr r0, 0x395
/* 8037F4AC 0037C40C 90 03 01 B8 */ stw r0, 0x1b8(r3)
/* 8037F4B0 0037C410 7C 16 E2 A6 */ mfspr r0, 0x396
/* 8037F4B4 0037C414 90 03 01 BC */ stw r0, 0x1bc(r3)
/* 8037F4B8 0037C418 7C 17 E2 A6 */ mfspr r0, 0x397
/* 8037F4BC 0037C41C 90 03 01 C0 */ stw r0, 0x1c0(r3)
/* 8037F4C0 0037C420 7C 00 00 26 */ mfcr r0
/* 8037F4C4 0037C424 90 03 00 80 */ stw r0, 0x80(r3)
/* 8037F4C8 0037C428 7C 08 02 A6 */ mflr r0
/* 8037F4CC 0037C42C 90 03 00 84 */ stw r0, 0x84(r3)
/* 8037F4D0 0037C430 90 03 01 98 */ stw r0, 0x198(r3)
/* 8037F4D4 0037C434 7C 00 00 A6 */ mfmsr r0
/* 8037F4D8 0037C438 90 03 01 9C */ stw r0, 0x19c(r3)
/* 8037F4DC 0037C43C 7C 09 02 A6 */ mfctr r0
/* 8037F4E0 0037C440 90 03 00 88 */ stw r0, 0x88(r3)
/* 8037F4E4 0037C444 7C 01 02 A6 */ mfxer r0
/* 8037F4E8 0037C448 90 03 00 8C */ stw r0, 0x8c(r3)
/* 8037F4EC 0037C44C 90 23 00 04 */ stw r1, 4(r3)
/* 8037F4F0 0037C450 90 43 00 08 */ stw r2, 8(r3)
/* 8037F4F4 0037C454 38 00 00 01 */ li r0, 1
/* 8037F4F8 0037C458 90 03 00 0C */ stw r0, 0xc(r3)
/* 8037F4FC 0037C45C 38 60 00 00 */ li r3, 0
/* 8037F500 0037C460 4E 80 00 20 */ blr
.global OSLoadContext
OSLoadContext:
/* 8037F504 0037C464 3C 80 80 38 */ lis r4, __RAS_OSDisableInterrupts_begin@ha
/* 8037F508 0037C468 80 C3 01 98 */ lwz r6, 0x198(r3)
/* 8037F50C 0037C46C 38 A4 16 60 */ addi r5, r4, __RAS_OSDisableInterrupts_begin@l
/* 8037F510 0037C470 7C 06 28 40 */ cmplw r6, r5
/* 8037F514 0037C474 40 81 00 18 */ ble lbl_8037F52C
/* 8037F518 0037C478 3C 80 80 38 */ lis r4, __RAS_OSDisableInterrupts_end@ha
/* 8037F51C 0037C47C 38 04 16 6C */ addi r0, r4, __RAS_OSDisableInterrupts_end@l
/* 8037F520 0037C480 7C 06 00 40 */ cmplw r6, r0
/* 8037F524 0037C484 40 80 00 08 */ bge lbl_8037F52C
/* 8037F528 0037C488 90 A3 01 98 */ stw r5, 0x198(r3)
lbl_8037F52C:
/* 8037F52C 0037C48C 80 03 00 00 */ lwz r0, 0(r3)
/* 8037F530 0037C490 80 23 00 04 */ lwz r1, 4(r3)
/* 8037F534 0037C494 80 43 00 08 */ lwz r2, 8(r3)
/* 8037F538 0037C498 A0 83 01 A2 */ lhz r4, 0x1a2(r3)
/* 8037F53C 0037C49C 54 85 07 BD */ rlwinm. r5, r4, 0, 0x1e, 0x1e
/* 8037F540 0037C4A0 41 82 00 14 */ beq lbl_8037F554
/* 8037F544 0037C4A4 54 84 07 FA */ rlwinm r4, r4, 0, 0x1f, 0x1d
/* 8037F548 0037C4A8 B0 83 01 A2 */ sth r4, 0x1a2(r3)
/* 8037F54C 0037C4AC B8 A3 00 14 */ lmw r5, 0x14(r3)
/* 8037F550 0037C4B0 48 00 00 08 */ b lbl_8037F558
lbl_8037F554:
/* 8037F554 0037C4B4 B9 A3 00 34 */ lmw r13, 0x34(r3)
lbl_8037F558:
/* 8037F558 0037C4B8 80 83 01 A8 */ lwz r4, 0x1a8(r3)
/* 8037F55C 0037C4BC 7C 91 E3 A6 */ mtspr 0x391, r4
/* 8037F560 0037C4C0 80 83 01 AC */ lwz r4, 0x1ac(r3)
/* 8037F564 0037C4C4 7C 92 E3 A6 */ mtspr 0x392, r4
/* 8037F568 0037C4C8 80 83 01 B0 */ lwz r4, 0x1b0(r3)
/* 8037F56C 0037C4CC 7C 93 E3 A6 */ mtspr 0x393, r4
/* 8037F570 0037C4D0 80 83 01 B4 */ lwz r4, 0x1b4(r3)
/* 8037F574 0037C4D4 7C 94 E3 A6 */ mtspr 0x394, r4
/* 8037F578 0037C4D8 80 83 01 B8 */ lwz r4, 0x1b8(r3)
/* 8037F57C 0037C4DC 7C 95 E3 A6 */ mtspr 0x395, r4
/* 8037F580 0037C4E0 80 83 01 BC */ lwz r4, 0x1bc(r3)
/* 8037F584 0037C4E4 7C 96 E3 A6 */ mtspr 0x396, r4
/* 8037F588 0037C4E8 80 83 01 C0 */ lwz r4, 0x1c0(r3)
/* 8037F58C 0037C4EC 7C 97 E3 A6 */ mtspr 0x397, r4
/* 8037F590 0037C4F0 80 83 00 80 */ lwz r4, 0x80(r3)
/* 8037F594 0037C4F4 7C 8F F1 20 */ mtcrf 0xff, r4
/* 8037F598 0037C4F8 80 83 00 84 */ lwz r4, 0x84(r3)
/* 8037F59C 0037C4FC 7C 88 03 A6 */ mtlr r4
/* 8037F5A0 0037C500 80 83 00 88 */ lwz r4, 0x88(r3)
/* 8037F5A4 0037C504 7C 89 03 A6 */ mtctr r4
/* 8037F5A8 0037C508 80 83 00 8C */ lwz r4, 0x8c(r3)
/* 8037F5AC 0037C50C 7C 81 03 A6 */ mtxer r4
/* 8037F5B0 0037C510 7C 80 00 A6 */ mfmsr r4
/* 8037F5B4 0037C514 54 84 04 5E */ rlwinm r4, r4, 0, 0x11, 0xf
/* 8037F5B8 0037C518 54 84 07 FA */ rlwinm r4, r4, 0, 0x1f, 0x1d
/* 8037F5BC 0037C51C 7C 80 01 24 */ mtmsr r4
/* 8037F5C0 0037C520 80 83 01 98 */ lwz r4, 0x198(r3)
/* 8037F5C4 0037C524 7C 9A 03 A6 */ mtspr 0x1a, r4
/* 8037F5C8 0037C528 80 83 01 9C */ lwz r4, 0x19c(r3)
/* 8037F5CC 0037C52C 7C 9B 03 A6 */ mtspr 0x1b, r4
/* 8037F5D0 0037C530 80 83 00 10 */ lwz r4, 0x10(r3)
/* 8037F5D4 0037C534 80 63 00 0C */ lwz r3, 0xc(r3)
/* 8037F5D8 0037C538 4C 00 00 64 */ rfi
.global OSGetStackPointer
OSGetStackPointer:
/* 8037F5DC 0037C53C 7C 23 0B 78 */ mr r3, r1
/* 8037F5E0 0037C540 4E 80 00 20 */ blr
.global OSSwitchFiber
OSSwitchFiber:
/* 8037F5E4 0037C544 7C 08 02 A6 */ mflr r0
/* 8037F5E8 0037C548 7C 25 0B 78 */ mr r5, r1
/* 8037F5EC 0037C54C 94 A4 FF F8 */ stwu r5, -8(r4)
/* 8037F5F0 0037C550 7C 81 23 78 */ mr r1, r4
/* 8037F5F4 0037C554 90 05 00 04 */ stw r0, 4(r5)
/* 8037F5F8 0037C558 7C 68 03 A6 */ mtlr r3
/* 8037F5FC 0037C55C 4E 80 00 21 */ blrl
/* 8037F600 0037C560 80 A1 00 00 */ lwz r5, 0(r1)
/* 8037F604 0037C564 80 05 00 04 */ lwz r0, 4(r5)
/* 8037F608 0037C568 7C 08 03 A6 */ mtlr r0
/* 8037F60C 0037C56C 7C A1 2B 78 */ mr r1, r5
/* 8037F610 0037C570 4E 80 00 20 */ blr
.global OSClearContext
OSClearContext:
/* 8037F614 0037C574 38 A0 00 00 */ li r5, 0
/* 8037F618 0037C578 B0 A3 01 A0 */ sth r5, 0x1a0(r3)
/* 8037F61C 0037C57C 3C 80 80 00 */ lis r4, 0x800000D8@ha
/* 8037F620 0037C580 B0 A3 01 A2 */ sth r5, 0x1a2(r3)
/* 8037F624 0037C584 80 04 00 D8 */ lwz r0, 0x800000D8@l(r4)
/* 8037F628 0037C588 7C 03 00 40 */ cmplw r3, r0
/* 8037F62C 0037C58C 40 82 00 08 */ bne lbl_8037F634
/* 8037F630 0037C590 90 A4 00 D8 */ stw r5, 0xd8(r4)
lbl_8037F634:
/* 8037F634 0037C594 4E 80 00 20 */ blr
.global OSDumpContext
OSDumpContext:
/* 8037F638 0037C598 7C 08 02 A6 */ mflr r0
/* 8037F63C 0037C59C 90 01 00 04 */ stw r0, 4(r1)
/* 8037F640 0037C5A0 94 21 FD 08 */ stwu r1, -0x2f8(r1)
/* 8037F644 0037C5A4 BF 21 02 DC */ stmw r25, 0x2dc(r1)
/* 8037F648 0037C5A8 7C 7C 1B 78 */ mr r28, r3
/* 8037F64C 0037C5AC 3C 60 80 3F */ lis r3, lbl_803F1258@ha
/* 8037F650 0037C5B0 4C C6 31 82 */ crclr 6
/* 8037F654 0037C5B4 3B E3 12 58 */ addi r31, r3, lbl_803F1258@l
/* 8037F658 0037C5B8 7F E3 FB 78 */ mr r3, r31
/* 8037F65C 0037C5BC 7F 84 E3 78 */ mr r4, r28
/* 8037F660 0037C5C0 48 00 03 4D */ bl OSReport
/* 8037F664 0037C5C4 3B 20 00 00 */ li r25, 0
/* 8037F668 0037C5C8 57 20 10 3A */ slwi r0, r25, 2
/* 8037F66C 0037C5CC 7F 7C 02 14 */ add r27, r28, r0
/* 8037F670 0037C5D0 48 00 00 04 */ b lbl_8037F674
lbl_8037F674:
/* 8037F674 0037C5D4 48 00 00 04 */ b lbl_8037F678
lbl_8037F678:
/* 8037F678 0037C5D8 48 00 00 04 */ b lbl_8037F67C
lbl_8037F67C:
/* 8037F67C 0037C5DC 81 1B 00 40 */ lwz r8, 0x40(r27)
/* 8037F680 0037C5E0 7F 24 CB 78 */ mr r4, r25
/* 8037F684 0037C5E4 80 BB 00 00 */ lwz r5, 0(r27)
/* 8037F688 0037C5E8 38 7F 00 44 */ addi r3, r31, 0x44
/* 8037F68C 0037C5EC 4C C6 31 82 */ crclr 6
/* 8037F690 0037C5F0 7C A6 2B 78 */ mr r6, r5
/* 8037F694 0037C5F4 7D 09 43 78 */ mr r9, r8
/* 8037F698 0037C5F8 38 F9 00 10 */ addi r7, r25, 0x10
/* 8037F69C 0037C5FC 48 00 03 11 */ bl OSReport
/* 8037F6A0 0037C600 3B 7B 00 04 */ addi r27, r27, 4
/* 8037F6A4 0037C604 3B 39 00 01 */ addi r25, r25, 1
/* 8037F6A8 0037C608 28 19 00 10 */ cmplwi r25, 0x10
/* 8037F6AC 0037C60C 41 80 FF D0 */ blt lbl_8037F67C
/* 8037F6B0 0037C610 80 9C 00 84 */ lwz r4, 0x84(r28)
/* 8037F6B4 0037C614 38 7F 00 74 */ addi r3, r31, 0x74
/* 8037F6B8 0037C618 80 BC 00 80 */ lwz r5, 0x80(r28)
/* 8037F6BC 0037C61C 4C C6 31 82 */ crclr 6
/* 8037F6C0 0037C620 48 00 02 ED */ bl OSReport
/* 8037F6C4 0037C624 80 9C 01 98 */ lwz r4, 0x198(r28)
/* 8037F6C8 0037C628 38 7F 00 A4 */ addi r3, r31, 0xa4
/* 8037F6CC 0037C62C 80 BC 01 9C */ lwz r5, 0x19c(r28)
/* 8037F6D0 0037C630 4C C6 31 82 */ crclr 6
/* 8037F6D4 0037C634 48 00 02 D9 */ bl OSReport
/* 8037F6D8 0037C638 38 7F 00 D4 */ addi r3, r31, 0xd4
/* 8037F6DC 0037C63C 4C C6 31 82 */ crclr 6
/* 8037F6E0 0037C640 48 00 02 CD */ bl OSReport
/* 8037F6E4 0037C644 3B 20 00 00 */ li r25, 0
/* 8037F6E8 0037C648 57 20 10 3A */ slwi r0, r25, 2
/* 8037F6EC 0037C64C 7F 7C 02 14 */ add r27, r28, r0
/* 8037F6F0 0037C650 48 00 00 04 */ b lbl_8037F6F4
lbl_8037F6F4:
/* 8037F6F4 0037C654 48 00 00 04 */ b lbl_8037F6F8
lbl_8037F6F8:
/* 8037F6F8 0037C658 48 00 00 04 */ b lbl_8037F6FC
lbl_8037F6FC:
/* 8037F6FC 0037C65C 80 BB 01 A4 */ lwz r5, 0x1a4(r27)
/* 8037F700 0037C660 7F 24 CB 78 */ mr r4, r25
/* 8037F704 0037C664 80 FB 01 B4 */ lwz r7, 0x1b4(r27)
/* 8037F708 0037C668 38 7F 00 E8 */ addi r3, r31, 0xe8
/* 8037F70C 0037C66C 38 D9 00 04 */ addi r6, r25, 4
/* 8037F710 0037C670 4C C6 31 82 */ crclr 6
/* 8037F714 0037C674 48 00 02 99 */ bl OSReport
/* 8037F718 0037C678 3B 7B 00 04 */ addi r27, r27, 4
/* 8037F71C 0037C67C 3B 39 00 01 */ addi r25, r25, 1
/* 8037F720 0037C680 28 19 00 04 */ cmplwi r25, 4
/* 8037F724 0037C684 41 80 FF D8 */ blt lbl_8037F6FC
/* 8037F728 0037C688 A0 1C 01 A2 */ lhz r0, 0x1a2(r28)
/* 8037F72C 0037C68C 54 00 07 FE */ clrlwi r0, r0, 0x1f
/* 8037F730 0037C690 28 00 00 00 */ cmplwi r0, 0
/* 8037F734 0037C694 41 82 01 3C */ beq lbl_8037F870
/* 8037F738 0037C698 48 00 1F 29 */ bl OSDisableInterrupts
/* 8037F73C 0037C69C 3C C0 80 00 */ lis r6, 0x800000D4@ha
/* 8037F740 0037C6A0 80 06 00 D4 */ lwz r0, 0x800000D4@l(r6)
/* 8037F744 0037C6A4 38 A0 00 00 */ li r5, 0
/* 8037F748 0037C6A8 38 81 00 10 */ addi r4, r1, 0x10
/* 8037F74C 0037C6AC B0 A1 01 B0 */ sth r5, 0x1b0(r1)
/* 8037F750 0037C6B0 7C 1E 03 78 */ mr r30, r0
/* 8037F754 0037C6B4 7C 7D 1B 78 */ mr r29, r3
/* 8037F758 0037C6B8 B0 A1 01 B2 */ sth r5, 0x1b2(r1)
/* 8037F75C 0037C6BC 80 06 00 D8 */ lwz r0, 0xd8(r6)
/* 8037F760 0037C6C0 7C 04 00 40 */ cmplw r4, r0
/* 8037F764 0037C6C4 40 82 00 08 */ bne lbl_8037F76C
/* 8037F768 0037C6C8 90 A6 00 D8 */ stw r5, 0xd8(r6)
lbl_8037F76C:
/* 8037F76C 0037C6CC 38 61 00 10 */ addi r3, r1, 0x10
/* 8037F770 0037C6D0 4B FF FC AD */ bl OSSetCurrentContext
/* 8037F774 0037C6D4 38 7F 01 0C */ addi r3, r31, 0x10c
/* 8037F778 0037C6D8 4C C6 31 82 */ crclr 6
/* 8037F77C 0037C6DC 48 00 02 31 */ bl OSReport
/* 8037F780 0037C6E0 3B 20 00 00 */ li r25, 0
/* 8037F784 0037C6E4 57 20 18 38 */ slwi r0, r25, 3
/* 8037F788 0037C6E8 7F 5C 02 14 */ add r26, r28, r0
/* 8037F78C 0037C6EC 48 00 00 04 */ b lbl_8037F790
lbl_8037F790:
/* 8037F790 0037C6F0 48 00 00 04 */ b lbl_8037F794
lbl_8037F794:
/* 8037F794 0037C6F4 48 00 00 04 */ b lbl_8037F798
lbl_8037F798:
/* 8037F798 0037C6F8 C8 3A 00 98 */ lfd f1, 0x98(r26)
/* 8037F79C 0037C6FC 48 00 A1 B9 */ bl __cvt_fp2unsigned
/* 8037F7A0 0037C700 7C 7B 1B 78 */ mr r27, r3
/* 8037F7A4 0037C704 C8 3A 00 90 */ lfd f1, 0x90(r26)
/* 8037F7A8 0037C708 48 00 A1 AD */ bl __cvt_fp2unsigned
/* 8037F7AC 0037C70C 7C 65 1B 78 */ mr r5, r3
/* 8037F7B0 0037C710 4C C6 31 82 */ crclr 6
/* 8037F7B4 0037C714 7F 24 CB 78 */ mr r4, r25
/* 8037F7B8 0037C718 7F 67 DB 78 */ mr r7, r27
/* 8037F7BC 0037C71C 38 7F 01 20 */ addi r3, r31, 0x120
/* 8037F7C0 0037C720 38 D9 00 01 */ addi r6, r25, 1
/* 8037F7C4 0037C724 48 00 01 E9 */ bl OSReport
/* 8037F7C8 0037C728 3B 5A 00 10 */ addi r26, r26, 0x10
/* 8037F7CC 0037C72C 3B 39 00 02 */ addi r25, r25, 2
/* 8037F7D0 0037C730 28 19 00 20 */ cmplwi r25, 0x20
/* 8037F7D4 0037C734 41 80 FF C4 */ blt lbl_8037F798
/* 8037F7D8 0037C738 38 7F 01 3C */ addi r3, r31, 0x13c
/* 8037F7DC 0037C73C 4C C6 31 82 */ crclr 6
/* 8037F7E0 0037C740 48 00 01 CD */ bl OSReport
/* 8037F7E4 0037C744 3B 20 00 00 */ li r25, 0
/* 8037F7E8 0037C748 57 20 18 38 */ slwi r0, r25, 3
/* 8037F7EC 0037C74C 7F 5C 02 14 */ add r26, r28, r0
/* 8037F7F0 0037C750 48 00 00 04 */ b lbl_8037F7F4
lbl_8037F7F4:
/* 8037F7F4 0037C754 48 00 00 04 */ b lbl_8037F7F8
lbl_8037F7F8:
/* 8037F7F8 0037C758 48 00 00 04 */ b lbl_8037F7FC
lbl_8037F7FC:
/* 8037F7FC 0037C75C C8 3A 01 D0 */ lfd f1, 0x1d0(r26)
/* 8037F800 0037C760 48 00 A1 55 */ bl __cvt_fp2unsigned
/* 8037F804 0037C764 7C 7B 1B 78 */ mr r27, r3
/* 8037F808 0037C768 C8 3A 01 C8 */ lfd f1, 0x1c8(r26)
/* 8037F80C 0037C76C 48 00 A1 49 */ bl __cvt_fp2unsigned
/* 8037F810 0037C770 7C 65 1B 78 */ mr r5, r3
/* 8037F814 0037C774 4C C6 31 82 */ crclr 6
/* 8037F818 0037C778 7F 24 CB 78 */ mr r4, r25
/* 8037F81C 0037C77C 7F 67 DB 78 */ mr r7, r27
/* 8037F820 0037C780 38 7F 01 50 */ addi r3, r31, 0x150
/* 8037F824 0037C784 38 D9 00 01 */ addi r6, r25, 1
/* 8037F828 0037C788 48 00 01 85 */ bl OSReport
/* 8037F82C 0037C78C 3B 5A 00 10 */ addi r26, r26, 0x10
/* 8037F830 0037C790 3B 39 00 02 */ addi r25, r25, 2
/* 8037F834 0037C794 28 19 00 20 */ cmplwi r25, 0x20
/* 8037F838 0037C798 41 80 FF C4 */ blt lbl_8037F7FC
/* 8037F83C 0037C79C 38 A0 00 00 */ li r5, 0
/* 8037F840 0037C7A0 B0 A1 01 B0 */ sth r5, 0x1b0(r1)
/* 8037F844 0037C7A4 3C 60 80 00 */ lis r3, 0x800000D8@ha
/* 8037F848 0037C7A8 38 81 00 10 */ addi r4, r1, 0x10
/* 8037F84C 0037C7AC B0 A1 01 B2 */ sth r5, 0x1b2(r1)
/* 8037F850 0037C7B0 80 03 00 D8 */ lwz r0, 0x800000D8@l(r3)
/* 8037F854 0037C7B4 7C 04 00 40 */ cmplw r4, r0
/* 8037F858 0037C7B8 40 82 00 08 */ bne lbl_8037F860
/* 8037F85C 0037C7BC 90 A3 00 D8 */ stw r5, 0xd8(r3)
lbl_8037F860:
/* 8037F860 0037C7C0 7F C3 F3 78 */ mr r3, r30
/* 8037F864 0037C7C4 4B FF FB B9 */ bl OSSetCurrentContext
/* 8037F868 0037C7C8 7F A3 EB 78 */ mr r3, r29
/* 8037F86C 0037C7CC 48 00 1E 1D */ bl OSRestoreInterrupts
lbl_8037F870:
/* 8037F870 0037C7D0 38 7F 01 70 */ addi r3, r31, 0x170
/* 8037F874 0037C7D4 4C C6 31 82 */ crclr 6
/* 8037F878 0037C7D8 48 00 01 35 */ bl OSReport
/* 8037F87C 0037C7DC 83 3C 00 04 */ lwz r25, 4(r28)
/* 8037F880 0037C7E0 3B 40 00 00 */ li r26, 0
/* 8037F884 0037C7E4 48 00 00 04 */ b lbl_8037F888
lbl_8037F888:
/* 8037F888 0037C7E8 48 00 00 04 */ b lbl_8037F88C
lbl_8037F88C:
/* 8037F88C 0037C7EC 48 00 00 20 */ b lbl_8037F8AC
lbl_8037F890:
/* 8037F890 0037C7F0 80 B9 00 00 */ lwz r5, 0(r25)
/* 8037F894 0037C7F4 7F 24 CB 78 */ mr r4, r25
/* 8037F898 0037C7F8 80 D9 00 04 */ lwz r6, 4(r25)
/* 8037F89C 0037C7FC 38 7F 01 98 */ addi r3, r31, 0x198
/* 8037F8A0 0037C800 4C C6 31 82 */ crclr 6
/* 8037F8A4 0037C804 48 00 01 09 */ bl OSReport
/* 8037F8A8 0037C808 83 39 00 00 */ lwz r25, 0(r25)
lbl_8037F8AC:
/* 8037F8AC 0037C80C 28 19 00 00 */ cmplwi r25, 0
/* 8037F8B0 0037C810 41 82 00 1C */ beq lbl_8037F8CC
/* 8037F8B4 0037C814 3C 19 00 01 */ addis r0, r25, 1
/* 8037F8B8 0037C818 28 00 FF FF */ cmplwi r0, 0xffff
/* 8037F8BC 0037C81C 41 82 00 10 */ beq lbl_8037F8CC
/* 8037F8C0 0037C820 28 1A 00 10 */ cmplwi r26, 0x10
/* 8037F8C4 0037C824 3B 5A 00 01 */ addi r26, r26, 1
/* 8037F8C8 0037C828 41 80 FF C8 */ blt lbl_8037F890
lbl_8037F8CC:
/* 8037F8CC 0037C82C BB 21 02 DC */ lmw r25, 0x2dc(r1)
/* 8037F8D0 0037C830 80 01 02 FC */ lwz r0, 0x2fc(r1)
/* 8037F8D4 0037C834 38 21 02 F8 */ addi r1, r1, 0x2f8
/* 8037F8D8 0037C838 7C 08 03 A6 */ mtlr r0
/* 8037F8DC 0037C83C 4E 80 00 20 */ blr
.global OSSwitchFPUContext
OSSwitchFPUContext:
/* 8037F8E0 0037C840 7C A0 00 A6 */ mfmsr r5
/* 8037F8E4 0037C844 60 A5 20 00 */ ori r5, r5, 0x2000
/* 8037F8E8 0037C848 7C A0 01 24 */ mtmsr r5
/* 8037F8EC 0037C84C 4C 00 01 2C */ isync
/* 8037F8F0 0037C850 80 A4 01 9C */ lwz r5, 0x19c(r4)
/* 8037F8F4 0037C854 60 A5 20 00 */ ori r5, r5, 0x2000
/* 8037F8F8 0037C858 7C BB 03 A6 */ mtspr 0x1b, r5
/* 8037F8FC 0037C85C 3C 60 80 00 */ lis r3, 0x800000D8@ha
/* 8037F900 0037C860 80 A3 00 D8 */ lwz r5, 0x800000D8@l(r3)
/* 8037F904 0037C864 90 83 00 D8 */ stw r4, 0xd8(r3)
/* 8037F908 0037C868 7C 05 20 00 */ cmpw r5, r4
/* 8037F90C 0037C86C 41 82 00 14 */ beq lbl_8037F920
/* 8037F910 0037C870 2C 05 00 00 */ cmpwi r5, 0
/* 8037F914 0037C874 41 82 00 08 */ beq lbl_8037F91C
/* 8037F918 0037C878 4B FF F9 D5 */ bl __OSSaveFPUContext
lbl_8037F91C:
/* 8037F91C 0037C87C 4B FF F8 AD */ bl __OSLoadFPUContext
lbl_8037F920:
/* 8037F920 0037C880 80 64 00 80 */ lwz r3, 0x80(r4)
/* 8037F924 0037C884 7C 6F F1 20 */ mtcrf 0xff, r3
/* 8037F928 0037C888 80 64 00 84 */ lwz r3, 0x84(r4)
/* 8037F92C 0037C88C 7C 68 03 A6 */ mtlr r3
/* 8037F930 0037C890 80 64 01 98 */ lwz r3, 0x198(r4)
/* 8037F934 0037C894 7C 7A 03 A6 */ mtspr 0x1a, r3
/* 8037F938 0037C898 80 64 00 88 */ lwz r3, 0x88(r4)
/* 8037F93C 0037C89C 7C 69 03 A6 */ mtctr r3
/* 8037F940 0037C8A0 80 64 00 8C */ lwz r3, 0x8c(r4)
/* 8037F944 0037C8A4 7C 61 03 A6 */ mtxer r3
/* 8037F948 0037C8A8 A0 64 01 A2 */ lhz r3, 0x1a2(r4)
/* 8037F94C 0037C8AC 54 63 07 FA */ rlwinm r3, r3, 0, 0x1f, 0x1d
/* 8037F950 0037C8B0 B0 64 01 A2 */ sth r3, 0x1a2(r4)
/* 8037F954 0037C8B4 80 A4 00 14 */ lwz r5, 0x14(r4)
/* 8037F958 0037C8B8 80 64 00 0C */ lwz r3, 0xc(r4)
/* 8037F95C 0037C8BC 80 84 00 10 */ lwz r4, 0x10(r4)
/* 8037F960 0037C8C0 4C 00 00 64 */ rfi
.global __OSContextInit
__OSContextInit:
/* 8037F964 0037C8C4 7C 08 02 A6 */ mflr r0
/* 8037F968 0037C8C8 90 01 00 04 */ stw r0, 4(r1)
/* 8037F96C 0037C8CC 94 21 FF F8 */ stwu r1, -8(r1)
/* 8037F970 0037C8D0 3C 60 80 38 */ lis r3, OSSwitchFPUContext@ha
/* 8037F974 0037C8D4 38 83 F8 E0 */ addi r4, r3, OSSwitchFPUContext@l
/* 8037F978 0037C8D8 38 60 00 07 */ li r3, 7
/* 8037F97C 0037C8DC 4B FF E5 4D */ bl __OSSetExceptionHandler
/* 8037F980 0037C8E0 38 00 00 00 */ li r0, 0
/* 8037F984 0037C8E4 4C C6 31 82 */ crclr 6
/* 8037F988 0037C8E8 3C 80 80 00 */ lis r4, 0x800000D8@ha
/* 8037F98C 0037C8EC 3C 60 80 3F */ lis r3, lbl_803F140C@ha
/* 8037F990 0037C8F0 90 04 00 D8 */ stw r0, 0x800000D8@l(r4)
/* 8037F994 0037C8F4 38 63 14 0C */ addi r3, r3, lbl_803F140C@l
/* 8037F998 0037C8F8 4B FE FF D1 */ bl DBPrintf
/* 8037F99C 0037C8FC 80 01 00 0C */ lwz r0, 0xc(r1)
/* 8037F9A0 0037C900 38 21 00 08 */ addi r1, r1, 8
/* 8037F9A4 0037C904 7C 08 03 A6 */ mtlr r0
/* 8037F9A8 0037C908 4E 80 00 20 */ blr

View File

@ -1,544 +0,0 @@
.include "macros.inc"
.section .bss
.balign 8
.global __OSErrorTable
__OSErrorTable:
.skip 0x48
.section .data
.balign 8
.global lbl_803F1430
lbl_803F1430:
.asciz " in \"%s\" on line %d.\n"
.balign 4
.asciz "\nAddress: Back Chain LR Save\n"
.balign 4
.asciz "0x%08x: 0x%08x 0x%08x\n"
.balign 4
.asciz "Non-recoverable Exception %d"
.balign 4
.asciz "Unhandled Exception %d"
.balign 4
.asciz "\nDSISR = 0x%08x DAR = 0x%08x\n"
.balign 4
.asciz "TB = 0x%016llx\n"
.balign 4
.asciz "\nInstruction at 0x%x (read from SRR0) attempted to access invalid address 0x%x (read from DAR)\n"
.balign 4
.asciz "\nAttempted to fetch instruction from invalid address 0x%x (read from SRR0)\n"
.balign 4
.asciz "\nInstruction at 0x%x (read from SRR0) attempted to access unaligned address 0x%x (read from DAR)\n"
.balign 4
.asciz "\nProgram exception : Possible illegal instruction/operation at or around 0x%x (read from SRR0)\n"
.balign 4
.asciz "AI DMA Address = 0x%04x%04x\n"
.balign 4
.asciz "ARAM DMA Address = 0x%04x%04x\n"
.balign 4
.asciz "DI DMA Address = 0x%08x\n"
.balign 4
.asciz "\nLast interrupt (%d): SRR0 = 0x%08x TB = 0x%016llx\n"
.balign 4
.global lbl_803F170C
lbl_803F170C:
.4byte lbl_80380024
.4byte lbl_80380024
.4byte lbl_8037FF7C
.4byte lbl_8037FF94
.4byte lbl_80380024
.4byte lbl_8037FFA8
.4byte lbl_8037FFC0
.4byte lbl_80380024
.4byte lbl_80380024
.4byte lbl_80380024
.4byte lbl_80380024
.4byte lbl_80380024
.4byte lbl_80380024
.4byte lbl_80380024
.4byte lbl_80380024
.4byte lbl_8037FFD8
.section .sdata
.balign 8
.global lbl_805A8B38
lbl_805A8B38:
# ROM: 0x3F64D8
.4byte 0x000000F8
.global lbl_805A8B3C
lbl_805A8B3C:
# ROM: 0x3F64DC
.4byte 0x0A000000
.section .text, "ax"
.global OSReport
OSReport:
/* 8037F9AC 0037C90C 7C 08 02 A6 */ mflr r0
/* 8037F9B0 0037C910 90 01 00 04 */ stw r0, 4(r1)
/* 8037F9B4 0037C914 94 21 FF 88 */ stwu r1, -0x78(r1)
/* 8037F9B8 0037C918 40 86 00 24 */ bne cr1, lbl_8037F9DC
/* 8037F9BC 0037C91C D8 21 00 28 */ stfd f1, 0x28(r1)
/* 8037F9C0 0037C920 D8 41 00 30 */ stfd f2, 0x30(r1)
/* 8037F9C4 0037C924 D8 61 00 38 */ stfd f3, 0x38(r1)
/* 8037F9C8 0037C928 D8 81 00 40 */ stfd f4, 0x40(r1)
/* 8037F9CC 0037C92C D8 A1 00 48 */ stfd f5, 0x48(r1)
/* 8037F9D0 0037C930 D8 C1 00 50 */ stfd f6, 0x50(r1)
/* 8037F9D4 0037C934 D8 E1 00 58 */ stfd f7, 0x58(r1)
/* 8037F9D8 0037C938 D9 01 00 60 */ stfd f8, 0x60(r1)
lbl_8037F9DC:
/* 8037F9DC 0037C93C 90 61 00 08 */ stw r3, 8(r1)
/* 8037F9E0 0037C940 3C 00 01 00 */ lis r0, 0x100
/* 8037F9E4 0037C944 90 81 00 0C */ stw r4, 0xc(r1)
/* 8037F9E8 0037C948 38 81 00 6C */ addi r4, r1, 0x6c
/* 8037F9EC 0037C94C 90 A1 00 10 */ stw r5, 0x10(r1)
/* 8037F9F0 0037C950 90 C1 00 14 */ stw r6, 0x14(r1)
/* 8037F9F4 0037C954 90 E1 00 18 */ stw r7, 0x18(r1)
/* 8037F9F8 0037C958 91 01 00 1C */ stw r8, 0x1c(r1)
/* 8037F9FC 0037C95C 91 21 00 20 */ stw r9, 0x20(r1)
/* 8037FA00 0037C960 91 41 00 24 */ stw r10, 0x24(r1)
/* 8037FA04 0037C964 90 01 00 6C */ stw r0, 0x6c(r1)
/* 8037FA08 0037C968 38 01 00 80 */ addi r0, r1, 0x80
/* 8037FA0C 0037C96C 90 01 00 70 */ stw r0, 0x70(r1)
/* 8037FA10 0037C970 38 01 00 08 */ addi r0, r1, 8
/* 8037FA14 0037C974 90 01 00 74 */ stw r0, 0x74(r1)
/* 8037FA18 0037C978 48 00 E4 1D */ bl vprintf
/* 8037FA1C 0037C97C 80 01 00 7C */ lwz r0, 0x7c(r1)
/* 8037FA20 0037C980 38 21 00 78 */ addi r1, r1, 0x78
/* 8037FA24 0037C984 7C 08 03 A6 */ mtlr r0
/* 8037FA28 0037C988 4E 80 00 20 */ blr
.global OSPanic
OSPanic:
/* 8037FA2C 0037C98C 7C 08 02 A6 */ mflr r0
/* 8037FA30 0037C990 90 01 00 04 */ stw r0, 4(r1)
/* 8037FA34 0037C994 94 21 FF 70 */ stwu r1, -0x90(r1)
/* 8037FA38 0037C998 93 E1 00 8C */ stw r31, 0x8c(r1)
/* 8037FA3C 0037C99C 93 C1 00 88 */ stw r30, 0x88(r1)
/* 8037FA40 0037C9A0 93 A1 00 84 */ stw r29, 0x84(r1)
/* 8037FA44 0037C9A4 93 81 00 80 */ stw r28, 0x80(r1)
/* 8037FA48 0037C9A8 40 86 00 24 */ bne cr1, lbl_8037FA6C
/* 8037FA4C 0037C9AC D8 21 00 28 */ stfd f1, 0x28(r1)
/* 8037FA50 0037C9B0 D8 41 00 30 */ stfd f2, 0x30(r1)
/* 8037FA54 0037C9B4 D8 61 00 38 */ stfd f3, 0x38(r1)
/* 8037FA58 0037C9B8 D8 81 00 40 */ stfd f4, 0x40(r1)
/* 8037FA5C 0037C9BC D8 A1 00 48 */ stfd f5, 0x48(r1)
/* 8037FA60 0037C9C0 D8 C1 00 50 */ stfd f6, 0x50(r1)
/* 8037FA64 0037C9C4 D8 E1 00 58 */ stfd f7, 0x58(r1)
/* 8037FA68 0037C9C8 D9 01 00 60 */ stfd f8, 0x60(r1)
lbl_8037FA6C:
/* 8037FA6C 0037C9CC 90 61 00 08 */ stw r3, 8(r1)
/* 8037FA70 0037C9D0 3B 83 00 00 */ addi r28, r3, 0
/* 8037FA74 0037C9D4 3B C4 00 00 */ addi r30, r4, 0
/* 8037FA78 0037C9D8 90 81 00 0C */ stw r4, 0xc(r1)
/* 8037FA7C 0037C9DC 3B A5 00 00 */ addi r29, r5, 0
/* 8037FA80 0037C9E0 90 A1 00 10 */ stw r5, 0x10(r1)
/* 8037FA84 0037C9E4 90 C1 00 14 */ stw r6, 0x14(r1)
/* 8037FA88 0037C9E8 3C C0 80 3F */ lis r6, lbl_803F1430@ha
/* 8037FA8C 0037C9EC 3B E6 14 30 */ addi r31, r6, lbl_803F1430@l
/* 8037FA90 0037C9F0 90 E1 00 18 */ stw r7, 0x18(r1)
/* 8037FA94 0037C9F4 91 01 00 1C */ stw r8, 0x1c(r1)
/* 8037FA98 0037C9F8 91 21 00 20 */ stw r9, 0x20(r1)
/* 8037FA9C 0037C9FC 91 41 00 24 */ stw r10, 0x24(r1)
/* 8037FAA0 0037CA00 48 00 1B C1 */ bl OSDisableInterrupts
/* 8037FAA4 0037CA04 3C 00 03 00 */ lis r0, 0x300
/* 8037FAA8 0037CA08 90 01 00 74 */ stw r0, 0x74(r1)
/* 8037FAAC 0037CA0C 38 01 00 98 */ addi r0, r1, 0x98
/* 8037FAB0 0037CA10 38 81 00 74 */ addi r4, r1, 0x74
/* 8037FAB4 0037CA14 90 01 00 78 */ stw r0, 0x78(r1)
/* 8037FAB8 0037CA18 38 01 00 08 */ addi r0, r1, 8
/* 8037FABC 0037CA1C 38 7D 00 00 */ addi r3, r29, 0
/* 8037FAC0 0037CA20 90 01 00 7C */ stw r0, 0x7c(r1)
/* 8037FAC4 0037CA24 48 00 E3 71 */ bl vprintf
/* 8037FAC8 0037CA28 38 7F 00 00 */ addi r3, r31, 0
/* 8037FACC 0037CA2C 4C C6 31 82 */ crclr 6
/* 8037FAD0 0037CA30 38 9C 00 00 */ addi r4, r28, 0
/* 8037FAD4 0037CA34 38 BE 00 00 */ addi r5, r30, 0
/* 8037FAD8 0037CA38 4B FF FE D5 */ bl OSReport
/* 8037FADC 0037CA3C 38 7F 00 18 */ addi r3, r31, 0x18
/* 8037FAE0 0037CA40 4C C6 31 82 */ crclr 6
/* 8037FAE4 0037CA44 4B FF FE C9 */ bl OSReport
/* 8037FAE8 0037CA48 3B C0 00 00 */ li r30, 0
/* 8037FAEC 0037CA4C 4B FF FA F1 */ bl OSGetStackPointer
/* 8037FAF0 0037CA50 7C 7D 1B 78 */ mr r29, r3
/* 8037FAF4 0037CA54 48 00 00 20 */ b lbl_8037FB14
lbl_8037FAF8:
/* 8037FAF8 0037CA58 80 BD 00 00 */ lwz r5, 0(r29)
/* 8037FAFC 0037CA5C 7F A4 EB 78 */ mr r4, r29
/* 8037FB00 0037CA60 80 DD 00 04 */ lwz r6, 4(r29)
/* 8037FB04 0037CA64 38 7F 00 40 */ addi r3, r31, 0x40
/* 8037FB08 0037CA68 4C C6 31 82 */ crclr 6
/* 8037FB0C 0037CA6C 4B FF FE A1 */ bl OSReport
/* 8037FB10 0037CA70 83 BD 00 00 */ lwz r29, 0(r29)
lbl_8037FB14:
/* 8037FB14 0037CA74 28 1D 00 00 */ cmplwi r29, 0
/* 8037FB18 0037CA78 41 82 00 1C */ beq lbl_8037FB34
/* 8037FB1C 0037CA7C 3C 1D 00 01 */ addis r0, r29, 1
/* 8037FB20 0037CA80 28 00 FF FF */ cmplwi r0, 0xffff
/* 8037FB24 0037CA84 41 82 00 10 */ beq lbl_8037FB34
/* 8037FB28 0037CA88 28 1E 00 10 */ cmplwi r30, 0x10
/* 8037FB2C 0037CA8C 3B DE 00 01 */ addi r30, r30, 1
/* 8037FB30 0037CA90 41 80 FF C8 */ blt lbl_8037FAF8
lbl_8037FB34:
/* 8037FB34 0037CA94 4B FE FC E1 */ bl PPCHalt
/* 8037FB38 0037CA98 80 01 00 94 */ lwz r0, 0x94(r1)
/* 8037FB3C 0037CA9C 83 E1 00 8C */ lwz r31, 0x8c(r1)
/* 8037FB40 0037CAA0 83 C1 00 88 */ lwz r30, 0x88(r1)
/* 8037FB44 0037CAA4 83 A1 00 84 */ lwz r29, 0x84(r1)
/* 8037FB48 0037CAA8 83 81 00 80 */ lwz r28, 0x80(r1)
/* 8037FB4C 0037CAAC 38 21 00 90 */ addi r1, r1, 0x90
/* 8037FB50 0037CAB0 7C 08 03 A6 */ mtlr r0
/* 8037FB54 0037CAB4 4E 80 00 20 */ blr
.global OSSetErrorHandler
OSSetErrorHandler:
/* 8037FB58 0037CAB8 7C 08 02 A6 */ mflr r0
/* 8037FB5C 0037CABC 90 01 00 04 */ stw r0, 4(r1)
/* 8037FB60 0037CAC0 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8037FB64 0037CAC4 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 8037FB68 0037CAC8 93 C1 00 28 */ stw r30, 0x28(r1)
/* 8037FB6C 0037CACC 93 A1 00 24 */ stw r29, 0x24(r1)
/* 8037FB70 0037CAD0 3B A3 00 00 */ addi r29, r3, 0
/* 8037FB74 0037CAD4 93 81 00 20 */ stw r28, 0x20(r1)
/* 8037FB78 0037CAD8 3B 84 00 00 */ addi r28, r4, 0
/* 8037FB7C 0037CADC 48 00 1A E5 */ bl OSDisableInterrupts
/* 8037FB80 0037CAE0 3C 80 80 54 */ lis r4, __OSErrorTable@ha
/* 8037FB84 0037CAE4 57 A5 13 BA */ rlwinm r5, r29, 2, 0xe, 0x1d
/* 8037FB88 0037CAE8 38 04 12 50 */ addi r0, r4, __OSErrorTable@l
/* 8037FB8C 0037CAEC 57 A6 04 3E */ clrlwi r6, r29, 0x10
/* 8037FB90 0037CAF0 7C 80 2A 14 */ add r4, r0, r5
/* 8037FB94 0037CAF4 83 C4 00 00 */ lwz r30, 0(r4)
/* 8037FB98 0037CAF8 28 06 00 10 */ cmplwi r6, 0x10
/* 8037FB9C 0037CAFC 7C 7D 1B 78 */ mr r29, r3
/* 8037FBA0 0037CB00 93 84 00 00 */ stw r28, 0(r4)
/* 8037FBA4 0037CB04 40 82 01 A0 */ bne lbl_8037FD44
/* 8037FBA8 0037CB08 4B FE FC 2D */ bl PPCMfmsr
/* 8037FBAC 0037CB0C 3B E3 00 00 */ addi r31, r3, 0
/* 8037FBB0 0037CB10 63 E3 20 00 */ ori r3, r31, 0x2000
/* 8037FBB4 0037CB14 4B FE FC 29 */ bl PPCMtmsr
/* 8037FBB8 0037CB18 4B FE FC 71 */ bl PPCMffpscr
/* 8037FBBC 0037CB1C 28 1C 00 00 */ cmplwi r28, 0
/* 8037FBC0 0037CB20 41 82 01 18 */ beq lbl_8037FCD8
/* 8037FBC4 0037CB24 3C A0 80 00 */ lis r5, 0x800000DC@ha
/* 8037FBC8 0037CB28 3C 80 60 06 */ lis r4, 0x6005F8FF@ha
/* 8037FBCC 0037CB2C 80 C5 00 DC */ lwz r6, 0x800000DC@l(r5)
/* 8037FBD0 0037CB30 38 84 F8 FF */ addi r4, r4, 0x6005F8FF@l
/* 8037FBD4 0037CB34 48 00 00 E8 */ b lbl_8037FCBC
lbl_8037FBD8:
/* 8037FBD8 0037CB38 80 06 01 9C */ lwz r0, 0x19c(r6)
/* 8037FBDC 0037CB3C 60 00 09 00 */ ori r0, r0, 0x900
/* 8037FBE0 0037CB40 90 06 01 9C */ stw r0, 0x19c(r6)
/* 8037FBE4 0037CB44 A0 A6 01 A2 */ lhz r5, 0x1a2(r6)
/* 8037FBE8 0037CB48 54 A0 07 FF */ clrlwi. r0, r5, 0x1f
/* 8037FBEC 0037CB4C 40 82 00 AC */ bne lbl_8037FC98
/* 8037FBF0 0037CB50 60 A5 00 01 */ ori r5, r5, 1
/* 8037FBF4 0037CB54 38 00 00 04 */ li r0, 4
/* 8037FBF8 0037CB58 B0 A6 01 A2 */ sth r5, 0x1a2(r6)
/* 8037FBFC 0037CB5C 7C 09 03 A6 */ mtctr r0
/* 8037FC00 0037CB60 38 A6 00 00 */ addi r5, r6, 0
lbl_8037FC04:
/* 8037FC04 0037CB64 38 00 FF FF */ li r0, -1
/* 8037FC08 0037CB68 90 05 00 94 */ stw r0, 0x94(r5)
/* 8037FC0C 0037CB6C 90 05 00 90 */ stw r0, 0x90(r5)
/* 8037FC10 0037CB70 90 05 01 CC */ stw r0, 0x1cc(r5)
/* 8037FC14 0037CB74 90 05 01 C8 */ stw r0, 0x1c8(r5)
/* 8037FC18 0037CB78 90 05 00 9C */ stw r0, 0x9c(r5)
/* 8037FC1C 0037CB7C 90 05 00 98 */ stw r0, 0x98(r5)
/* 8037FC20 0037CB80 90 05 01 D4 */ stw r0, 0x1d4(r5)
/* 8037FC24 0037CB84 90 05 01 D0 */ stw r0, 0x1d0(r5)
/* 8037FC28 0037CB88 90 05 00 A4 */ stw r0, 0xa4(r5)
/* 8037FC2C 0037CB8C 90 05 00 A0 */ stw r0, 0xa0(r5)
/* 8037FC30 0037CB90 90 05 01 DC */ stw r0, 0x1dc(r5)
/* 8037FC34 0037CB94 90 05 01 D8 */ stw r0, 0x1d8(r5)
/* 8037FC38 0037CB98 90 05 00 AC */ stw r0, 0xac(r5)
/* 8037FC3C 0037CB9C 90 05 00 A8 */ stw r0, 0xa8(r5)
/* 8037FC40 0037CBA0 90 05 01 E4 */ stw r0, 0x1e4(r5)
/* 8037FC44 0037CBA4 90 05 01 E0 */ stw r0, 0x1e0(r5)
/* 8037FC48 0037CBA8 90 05 00 B4 */ stw r0, 0xb4(r5)
/* 8037FC4C 0037CBAC 90 05 00 B0 */ stw r0, 0xb0(r5)
/* 8037FC50 0037CBB0 90 05 01 EC */ stw r0, 0x1ec(r5)
/* 8037FC54 0037CBB4 90 05 01 E8 */ stw r0, 0x1e8(r5)
/* 8037FC58 0037CBB8 90 05 00 BC */ stw r0, 0xbc(r5)
/* 8037FC5C 0037CBBC 90 05 00 B8 */ stw r0, 0xb8(r5)
/* 8037FC60 0037CBC0 90 05 01 F4 */ stw r0, 0x1f4(r5)
/* 8037FC64 0037CBC4 90 05 01 F0 */ stw r0, 0x1f0(r5)
/* 8037FC68 0037CBC8 90 05 00 C4 */ stw r0, 0xc4(r5)
/* 8037FC6C 0037CBCC 90 05 00 C0 */ stw r0, 0xc0(r5)
/* 8037FC70 0037CBD0 90 05 01 FC */ stw r0, 0x1fc(r5)
/* 8037FC74 0037CBD4 90 05 01 F8 */ stw r0, 0x1f8(r5)
/* 8037FC78 0037CBD8 90 05 00 CC */ stw r0, 0xcc(r5)
/* 8037FC7C 0037CBDC 90 05 00 C8 */ stw r0, 0xc8(r5)
/* 8037FC80 0037CBE0 90 05 02 04 */ stw r0, 0x204(r5)
/* 8037FC84 0037CBE4 90 05 02 00 */ stw r0, 0x200(r5)
/* 8037FC88 0037CBE8 38 A5 00 40 */ addi r5, r5, 0x40
/* 8037FC8C 0037CBEC 42 00 FF 78 */ bdnz lbl_8037FC04
/* 8037FC90 0037CBF0 38 00 00 04 */ li r0, 4
/* 8037FC94 0037CBF4 90 06 01 94 */ stw r0, 0x194(r6)
lbl_8037FC98:
/* 8037FC98 0037CBF8 80 0D 9F 78 */ lwz r0, lbl_805A8B38@sda21(r13)
/* 8037FC9C 0037CBFC 80 A6 01 94 */ lwz r5, 0x194(r6)
/* 8037FCA0 0037CC00 54 00 06 38 */ rlwinm r0, r0, 0, 0x18, 0x1c
/* 8037FCA4 0037CC04 7C A0 03 78 */ or r0, r5, r0
/* 8037FCA8 0037CC08 90 06 01 94 */ stw r0, 0x194(r6)
/* 8037FCAC 0037CC0C 80 06 01 94 */ lwz r0, 0x194(r6)
/* 8037FCB0 0037CC10 7C 00 20 38 */ and r0, r0, r4
/* 8037FCB4 0037CC14 90 06 01 94 */ stw r0, 0x194(r6)
/* 8037FCB8 0037CC18 80 C6 02 FC */ lwz r6, 0x2fc(r6)
lbl_8037FCBC:
/* 8037FCBC 0037CC1C 28 06 00 00 */ cmplwi r6, 0
/* 8037FCC0 0037CC20 40 82 FF 18 */ bne lbl_8037FBD8
/* 8037FCC4 0037CC24 80 0D 9F 78 */ lwz r0, lbl_805A8B38@sda21(r13)
/* 8037FCC8 0037CC28 63 FF 09 00 */ ori r31, r31, 0x900
/* 8037FCCC 0037CC2C 54 00 06 38 */ rlwinm r0, r0, 0, 0x18, 0x1c
/* 8037FCD0 0037CC30 7C 63 03 78 */ or r3, r3, r0
/* 8037FCD4 0037CC34 48 00 00 58 */ b lbl_8037FD2C
lbl_8037FCD8:
/* 8037FCD8 0037CC38 3C A0 80 00 */ lis r5, 0x800000DC@ha
/* 8037FCDC 0037CC3C 3C 80 60 06 */ lis r4, 0x6005F8FF@ha
/* 8037FCE0 0037CC40 80 C5 00 DC */ lwz r6, 0x800000DC@l(r5)
/* 8037FCE4 0037CC44 38 84 F8 FF */ addi r4, r4, 0x6005F8FF@l
/* 8037FCE8 0037CC48 38 A0 F6 FF */ li r5, -2305
/* 8037FCEC 0037CC4C 48 00 00 2C */ b lbl_8037FD18
lbl_8037FCF0:
/* 8037FCF0 0037CC50 80 06 01 9C */ lwz r0, 0x19c(r6)
/* 8037FCF4 0037CC54 7C 00 28 38 */ and r0, r0, r5
/* 8037FCF8 0037CC58 90 06 01 9C */ stw r0, 0x19c(r6)
/* 8037FCFC 0037CC5C 80 06 01 94 */ lwz r0, 0x194(r6)
/* 8037FD00 0037CC60 54 00 07 6E */ rlwinm r0, r0, 0, 0x1d, 0x17
/* 8037FD04 0037CC64 90 06 01 94 */ stw r0, 0x194(r6)
/* 8037FD08 0037CC68 80 06 01 94 */ lwz r0, 0x194(r6)
/* 8037FD0C 0037CC6C 7C 00 20 38 */ and r0, r0, r4
/* 8037FD10 0037CC70 90 06 01 94 */ stw r0, 0x194(r6)
/* 8037FD14 0037CC74 80 C6 02 FC */ lwz r6, 0x2fc(r6)
lbl_8037FD18:
/* 8037FD18 0037CC78 28 06 00 00 */ cmplwi r6, 0
/* 8037FD1C 0037CC7C 40 82 FF D4 */ bne lbl_8037FCF0
/* 8037FD20 0037CC80 38 00 F6 FF */ li r0, -2305
/* 8037FD24 0037CC84 54 63 07 6E */ rlwinm r3, r3, 0, 0x1d, 0x17
/* 8037FD28 0037CC88 7F FF 00 38 */ and r31, r31, r0
lbl_8037FD2C:
/* 8037FD2C 0037CC8C 3C 80 60 06 */ lis r4, 0x6005F8FF@ha
/* 8037FD30 0037CC90 38 04 F8 FF */ addi r0, r4, 0x6005F8FF@l
/* 8037FD34 0037CC94 7C 63 00 38 */ and r3, r3, r0
/* 8037FD38 0037CC98 4B FE FB 11 */ bl PPCMtfpscr
/* 8037FD3C 0037CC9C 7F E3 FB 78 */ mr r3, r31
/* 8037FD40 0037CCA0 4B FE FA 9D */ bl PPCMtmsr
lbl_8037FD44:
/* 8037FD44 0037CCA4 7F A3 EB 78 */ mr r3, r29
/* 8037FD48 0037CCA8 48 00 19 41 */ bl OSRestoreInterrupts
/* 8037FD4C 0037CCAC 7F C3 F3 78 */ mr r3, r30
/* 8037FD50 0037CCB0 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8037FD54 0037CCB4 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 8037FD58 0037CCB8 83 C1 00 28 */ lwz r30, 0x28(r1)
/* 8037FD5C 0037CCBC 83 A1 00 24 */ lwz r29, 0x24(r1)
/* 8037FD60 0037CCC0 83 81 00 20 */ lwz r28, 0x20(r1)
/* 8037FD64 0037CCC4 38 21 00 30 */ addi r1, r1, 0x30
/* 8037FD68 0037CCC8 7C 08 03 A6 */ mtlr r0
/* 8037FD6C 0037CCCC 4E 80 00 20 */ blr
.global __OSUnhandledException
__OSUnhandledException:
/* 8037FD70 0037CCD0 7C 08 02 A6 */ mflr r0
/* 8037FD74 0037CCD4 3D 00 80 54 */ lis r8, __OSErrorTable@ha
/* 8037FD78 0037CCD8 90 01 00 04 */ stw r0, 4(r1)
/* 8037FD7C 0037CCDC 3C E0 80 3F */ lis r7, lbl_803F1430@ha
/* 8037FD80 0037CCE0 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 8037FD84 0037CCE4 BE C1 00 18 */ stmw r22, 0x18(r1)
/* 8037FD88 0037CCE8 3B 03 00 00 */ addi r24, r3, 0
/* 8037FD8C 0037CCEC 3B 24 00 00 */ addi r25, r4, 0
/* 8037FD90 0037CCF0 3B 45 00 00 */ addi r26, r5, 0
/* 8037FD94 0037CCF4 3B 66 00 00 */ addi r27, r6, 0
/* 8037FD98 0037CCF8 3B C8 12 50 */ addi r30, r8, __OSErrorTable@l
/* 8037FD9C 0037CCFC 3B E7 14 30 */ addi r31, r7, lbl_803F1430@l
/* 8037FDA0 0037CD00 48 00 56 09 */ bl OSGetTime
/* 8037FDA4 0037CD04 80 B9 01 9C */ lwz r5, 0x19c(r25)
/* 8037FDA8 0037CD08 3B 84 00 00 */ addi r28, r4, 0
/* 8037FDAC 0037CD0C 3B A3 00 00 */ addi r29, r3, 0
/* 8037FDB0 0037CD10 54 A0 07 BD */ rlwinm. r0, r5, 0, 0x1e, 0x1e
/* 8037FDB4 0037CD14 40 82 00 18 */ bne lbl_8037FDCC
/* 8037FDB8 0037CD18 38 7F 00 5C */ addi r3, r31, 0x5c
/* 8037FDBC 0037CD1C 4C C6 31 82 */ crclr 6
/* 8037FDC0 0037CD20 57 04 06 3E */ clrlwi r4, r24, 0x18
/* 8037FDC4 0037CD24 4B FF FB E9 */ bl OSReport
/* 8037FDC8 0037CD28 48 00 01 54 */ b lbl_8037FF1C
lbl_8037FDCC:
/* 8037FDCC 0037CD2C 57 00 06 3E */ clrlwi r0, r24, 0x18
/* 8037FDD0 0037CD30 28 00 00 06 */ cmplwi r0, 6
/* 8037FDD4 0037CD34 40 82 00 D8 */ bne lbl_8037FEAC
/* 8037FDD8 0037CD38 54 A0 02 D7 */ rlwinm. r0, r5, 0, 0xb, 0xb
/* 8037FDDC 0037CD3C 41 82 00 D0 */ beq lbl_8037FEAC
/* 8037FDE0 0037CD40 80 1E 00 40 */ lwz r0, 0x40(r30)
/* 8037FDE4 0037CD44 28 00 00 00 */ cmplwi r0, 0
/* 8037FDE8 0037CD48 41 82 00 C4 */ beq lbl_8037FEAC
/* 8037FDEC 0037CD4C 3B 00 00 10 */ li r24, 0x10
/* 8037FDF0 0037CD50 4B FE F9 E5 */ bl PPCMfmsr
/* 8037FDF4 0037CD54 3A E3 00 00 */ addi r23, r3, 0
/* 8037FDF8 0037CD58 62 E3 20 00 */ ori r3, r23, 0x2000
/* 8037FDFC 0037CD5C 4B FE F9 E1 */ bl PPCMtmsr
/* 8037FE00 0037CD60 3C 60 80 00 */ lis r3, 0x800000D8@ha
/* 8037FE04 0037CD64 80 63 00 D8 */ lwz r3, 0x800000D8@l(r3)
/* 8037FE08 0037CD68 28 03 00 00 */ cmplwi r3, 0
/* 8037FE0C 0037CD6C 41 82 00 08 */ beq lbl_8037FE14
/* 8037FE10 0037CD70 4B FF F6 05 */ bl OSSaveFPUContext
lbl_8037FE14:
/* 8037FE14 0037CD74 4B FE FA 15 */ bl PPCMffpscr
/* 8037FE18 0037CD78 3C 80 60 06 */ lis r4, 0x6005F8FF@ha
/* 8037FE1C 0037CD7C 3A C4 F8 FF */ addi r22, r4, 0x6005F8FF@l
/* 8037FE20 0037CD80 7C 63 B0 38 */ and r3, r3, r22
/* 8037FE24 0037CD84 4B FE FA 25 */ bl PPCMtfpscr
/* 8037FE28 0037CD88 7E E3 BB 78 */ mr r3, r23
/* 8037FE2C 0037CD8C 4B FE F9 B1 */ bl PPCMtmsr
/* 8037FE30 0037CD90 3E E0 80 00 */ lis r23, 0x800000D8@ha
/* 8037FE34 0037CD94 80 17 00 D8 */ lwz r0, 0x800000D8@l(r23)
/* 8037FE38 0037CD98 7C 00 C8 40 */ cmplw r0, r25
/* 8037FE3C 0037CD9C 40 82 00 54 */ bne lbl_8037FE90
/* 8037FE40 0037CDA0 48 00 47 A1 */ bl OSDisableScheduler
/* 8037FE44 0037CDA4 81 9E 00 40 */ lwz r12, 0x40(r30)
/* 8037FE48 0037CDA8 38 99 00 00 */ addi r4, r25, 0
/* 8037FE4C 0037CDAC 38 BA 00 00 */ addi r5, r26, 0
/* 8037FE50 0037CDB0 4C C6 31 82 */ crclr 6
/* 8037FE54 0037CDB4 7D 88 03 A6 */ mtlr r12
/* 8037FE58 0037CDB8 38 DB 00 00 */ addi r6, r27, 0
/* 8037FE5C 0037CDBC 38 60 00 10 */ li r3, 0x10
/* 8037FE60 0037CDC0 4E 80 00 21 */ blrl
/* 8037FE64 0037CDC4 80 79 01 9C */ lwz r3, 0x19c(r25)
/* 8037FE68 0037CDC8 38 00 00 00 */ li r0, 0
/* 8037FE6C 0037CDCC 54 63 04 E2 */ rlwinm r3, r3, 0, 0x13, 0x11
/* 8037FE70 0037CDD0 90 79 01 9C */ stw r3, 0x19c(r25)
/* 8037FE74 0037CDD4 90 17 00 D8 */ stw r0, 0xd8(r23)
/* 8037FE78 0037CDD8 80 19 01 94 */ lwz r0, 0x194(r25)
/* 8037FE7C 0037CDDC 7C 00 B0 38 */ and r0, r0, r22
/* 8037FE80 0037CDE0 90 19 01 94 */ stw r0, 0x194(r25)
/* 8037FE84 0037CDE4 48 00 47 9D */ bl OSEnableScheduler
/* 8037FE88 0037CDE8 48 00 4C 65 */ bl __OSReschedule
/* 8037FE8C 0037CDEC 48 00 00 18 */ b lbl_8037FEA4
lbl_8037FE90:
/* 8037FE90 0037CDF0 80 79 01 9C */ lwz r3, 0x19c(r25)
/* 8037FE94 0037CDF4 38 00 00 00 */ li r0, 0
/* 8037FE98 0037CDF8 54 63 04 E2 */ rlwinm r3, r3, 0, 0x13, 0x11
/* 8037FE9C 0037CDFC 90 79 01 9C */ stw r3, 0x19c(r25)
/* 8037FEA0 0037CE00 90 17 00 D8 */ stw r0, 0xd8(r23)
lbl_8037FEA4:
/* 8037FEA4 0037CE04 7F 23 CB 78 */ mr r3, r25
/* 8037FEA8 0037CE08 4B FF F6 5D */ bl OSLoadContext
lbl_8037FEAC:
/* 8037FEAC 0037CE0C 57 17 06 3E */ clrlwi r23, r24, 0x18
/* 8037FEB0 0037CE10 57 00 15 BA */ rlwinm r0, r24, 2, 0x16, 0x1d
/* 8037FEB4 0037CE14 7E DE 02 14 */ add r22, r30, r0
/* 8037FEB8 0037CE18 80 16 00 00 */ lwz r0, 0(r22)
/* 8037FEBC 0037CE1C 28 00 00 00 */ cmplwi r0, 0
/* 8037FEC0 0037CE20 41 82 00 38 */ beq lbl_8037FEF8
/* 8037FEC4 0037CE24 48 00 47 1D */ bl OSDisableScheduler
/* 8037FEC8 0037CE28 81 96 00 00 */ lwz r12, 0(r22)
/* 8037FECC 0037CE2C 38 77 00 00 */ addi r3, r23, 0
/* 8037FED0 0037CE30 38 99 00 00 */ addi r4, r25, 0
/* 8037FED4 0037CE34 4C C6 31 82 */ crclr 6
/* 8037FED8 0037CE38 7D 88 03 A6 */ mtlr r12
/* 8037FEDC 0037CE3C 38 BA 00 00 */ addi r5, r26, 0
/* 8037FEE0 0037CE40 38 DB 00 00 */ addi r6, r27, 0
/* 8037FEE4 0037CE44 4E 80 00 21 */ blrl
/* 8037FEE8 0037CE48 48 00 47 39 */ bl OSEnableScheduler
/* 8037FEEC 0037CE4C 48 00 4C 01 */ bl __OSReschedule
/* 8037FEF0 0037CE50 7F 23 CB 78 */ mr r3, r25
/* 8037FEF4 0037CE54 4B FF F6 11 */ bl OSLoadContext
lbl_8037FEF8:
/* 8037FEF8 0037CE58 57 00 06 3E */ clrlwi r0, r24, 0x18
/* 8037FEFC 0037CE5C 28 00 00 08 */ cmplwi r0, 8
/* 8037FF00 0037CE60 40 82 00 0C */ bne lbl_8037FF0C
/* 8037FF04 0037CE64 7F 23 CB 78 */ mr r3, r25
/* 8037FF08 0037CE68 4B FF F5 FD */ bl OSLoadContext
lbl_8037FF0C:
/* 8037FF0C 0037CE6C 38 7F 00 7C */ addi r3, r31, 0x7c
/* 8037FF10 0037CE70 4C C6 31 82 */ crclr 6
/* 8037FF14 0037CE74 57 04 06 3E */ clrlwi r4, r24, 0x18
/* 8037FF18 0037CE78 4B FF FA 95 */ bl OSReport
lbl_8037FF1C:
/* 8037FF1C 0037CE7C 38 6D 9F 7C */ addi r3, r13, lbl_805A8B3C@sda21
/* 8037FF20 0037CE80 4C C6 31 82 */ crclr 6
/* 8037FF24 0037CE84 4B FF FA 89 */ bl OSReport
/* 8037FF28 0037CE88 7F 23 CB 78 */ mr r3, r25
/* 8037FF2C 0037CE8C 4B FF F7 0D */ bl OSDumpContext
/* 8037FF30 0037CE90 38 9A 00 00 */ addi r4, r26, 0
/* 8037FF34 0037CE94 4C C6 31 82 */ crclr 6
/* 8037FF38 0037CE98 38 BB 00 00 */ addi r5, r27, 0
/* 8037FF3C 0037CE9C 38 7F 00 94 */ addi r3, r31, 0x94
/* 8037FF40 0037CEA0 4B FF FA 6D */ bl OSReport
/* 8037FF44 0037CEA4 38 DC 00 00 */ addi r6, r28, 0
/* 8037FF48 0037CEA8 4C C6 31 82 */ crclr 6
/* 8037FF4C 0037CEAC 38 BD 00 00 */ addi r5, r29, 0
/* 8037FF50 0037CEB0 38 7F 00 C8 */ addi r3, r31, 0xc8
/* 8037FF54 0037CEB4 4B FF FA 59 */ bl OSReport
/* 8037FF58 0037CEB8 57 00 06 3E */ clrlwi r0, r24, 0x18
/* 8037FF5C 0037CEBC 28 00 00 0F */ cmplwi r0, 0xf
/* 8037FF60 0037CEC0 41 81 00 C4 */ bgt lbl_80380024
/* 8037FF64 0037CEC4 3C 60 80 3F */ lis r3, lbl_803F170C@ha
/* 8037FF68 0037CEC8 38 63 17 0C */ addi r3, r3, lbl_803F170C@l
/* 8037FF6C 0037CECC 54 00 10 3A */ slwi r0, r0, 2
/* 8037FF70 0037CED0 7C 03 00 2E */ lwzx r0, r3, r0
/* 8037FF74 0037CED4 7C 09 03 A6 */ mtctr r0
/* 8037FF78 0037CED8 4E 80 04 20 */ bctr
lbl_8037FF7C:
/* 8037FF7C 0037CEDC 80 99 01 98 */ lwz r4, 0x198(r25)
/* 8037FF80 0037CEE0 38 BB 00 00 */ addi r5, r27, 0
/* 8037FF84 0037CEE4 38 7F 00 D8 */ addi r3, r31, 0xd8
/* 8037FF88 0037CEE8 4C C6 31 82 */ crclr 6
/* 8037FF8C 0037CEEC 4B FF FA 21 */ bl OSReport
/* 8037FF90 0037CEF0 48 00 00 94 */ b lbl_80380024
lbl_8037FF94:
/* 8037FF94 0037CEF4 80 99 01 98 */ lwz r4, 0x198(r25)
/* 8037FF98 0037CEF8 38 7F 01 38 */ addi r3, r31, 0x138
/* 8037FF9C 0037CEFC 4C C6 31 82 */ crclr 6
/* 8037FFA0 0037CF00 4B FF FA 0D */ bl OSReport
/* 8037FFA4 0037CF04 48 00 00 80 */ b lbl_80380024
lbl_8037FFA8:
/* 8037FFA8 0037CF08 80 99 01 98 */ lwz r4, 0x198(r25)
/* 8037FFAC 0037CF0C 38 BB 00 00 */ addi r5, r27, 0
/* 8037FFB0 0037CF10 38 7F 01 84 */ addi r3, r31, 0x184
/* 8037FFB4 0037CF14 4C C6 31 82 */ crclr 6
/* 8037FFB8 0037CF18 4B FF F9 F5 */ bl OSReport
/* 8037FFBC 0037CF1C 48 00 00 68 */ b lbl_80380024
lbl_8037FFC0:
/* 8037FFC0 0037CF20 80 99 01 98 */ lwz r4, 0x198(r25)
/* 8037FFC4 0037CF24 38 BB 00 00 */ addi r5, r27, 0
/* 8037FFC8 0037CF28 38 7F 01 E8 */ addi r3, r31, 0x1e8
/* 8037FFCC 0037CF2C 4C C6 31 82 */ crclr 6
/* 8037FFD0 0037CF30 4B FF F9 DD */ bl OSReport
/* 8037FFD4 0037CF34 48 00 00 50 */ b lbl_80380024
lbl_8037FFD8:
/* 8037FFD8 0037CF38 38 6D 9F 7C */ addi r3, r13, lbl_805A8B3C@sda21
/* 8037FFDC 0037CF3C 4C C6 31 82 */ crclr 6
/* 8037FFE0 0037CF40 4B FF F9 CD */ bl OSReport
/* 8037FFE4 0037CF44 3F 20 CC 00 */ lis r25, 0xCC005000@ha
/* 8037FFE8 0037CF48 4C C6 31 82 */ crclr 6
/* 8037FFEC 0037CF4C 3B 19 50 00 */ addi r24, r25, 0xCC005000@l
/* 8037FFF0 0037CF50 A0 99 50 30 */ lhz r4, 0x5030(r25)
/* 8037FFF4 0037CF54 38 7F 02 48 */ addi r3, r31, 0x248
/* 8037FFF8 0037CF58 A0 B9 50 32 */ lhz r5, 0x5032(r25)
/* 8037FFFC 0037CF5C 4B FF F9 B1 */ bl OSReport
/* 80380000 0037CF60 A0 98 00 20 */ lhz r4, 0x20(r24)
/* 80380004 0037CF64 38 7F 02 68 */ addi r3, r31, 0x268
/* 80380008 0037CF68 A0 B8 00 22 */ lhz r5, 0x22(r24)
/* 8038000C 0037CF6C 4C C6 31 82 */ crclr 6
/* 80380010 0037CF70 4B FF F9 9D */ bl OSReport
/* 80380014 0037CF74 80 99 60 14 */ lwz r4, 0x6014(r25)
/* 80380018 0037CF78 4C C6 31 82 */ crclr 6
/* 8038001C 0037CF7C 38 7F 02 88 */ addi r3, r31, 0x288
/* 80380020 0037CF80 4B FF F9 8D */ bl OSReport
lbl_80380024:
/* 80380024 0037CF84 A8 8D AD 18 */ lha r4, __OSLastInterrupt@sda21(r13)
/* 80380028 0037CF88 38 7F 02 A4 */ addi r3, r31, 0x2a4
/* 8038002C 0037CF8C 4C C6 31 82 */ crclr 6
/* 80380030 0037CF90 80 AD AD 14 */ lwz r5, __OSLastInterruptSrr0@sda21(r13)
/* 80380034 0037CF94 80 ED AD 20 */ lwz r7, __OSLastInterruptTime@sda21(r13)
/* 80380038 0037CF98 81 0D AD 24 */ lwz r8, __OSLastInterruptTime+4@sda21(r13)
/* 8038003C 0037CF9C 4B FF F9 71 */ bl OSReport
/* 80380040 0037CFA0 4B FE F7 D5 */ bl PPCHalt
/* 80380044 0037CFA4 BA C1 00 18 */ lmw r22, 0x18(r1)
/* 80380048 0037CFA8 80 01 00 44 */ lwz r0, 0x44(r1)
/* 8038004C 0037CFAC 38 21 00 40 */ addi r1, r1, 0x40
/* 80380050 0037CFB0 7C 08 03 A6 */ mtlr r0
/* 80380054 0037CFB4 4E 80 00 20 */ blr

View File

@ -1,901 +0,0 @@
.include "macros.inc"
.section .bss
.balign 8
.global lbl_80541298
lbl_80541298:
.skip 0x2E8
.section .sdata
.balign 8
.global lbl_805A8B40
lbl_805A8B40:
# ROM: 0x3F64E0
.4byte 0x25730A00
.4byte 0
.section .sdata2
.balign 8
.global lbl_805AEC18
lbl_805AEC18:
# ROM: 0x3FB4B8
.float 0.5
.global lbl_805AEC1C
lbl_805AEC1C:
# ROM: 0x3FB4BC
.4byte 0x41800000
.global lbl_805AEC20
lbl_805AEC20:
# ROM: 0x3FB4C0
.4byte 0x3DC8B439
.global lbl_805AEC24
lbl_805AEC24:
# ROM: 0x3FB4C4
.4byte 0x3E839581
.global lbl_805AEC28
lbl_805AEC28:
# ROM: 0x3FB4C8
.4byte 0x3F010625
.global lbl_805AEC2C
lbl_805AEC2C:
# ROM: 0x3FB4CC
.4byte 0x43000000
.global lbl_805AEC30
lbl_805AEC30:
# ROM: 0x3FB4D0
.4byte 0x3EE0C49C
.global lbl_805AEC34
lbl_805AEC34:
# ROM: 0x3FB4D4
.4byte 0xBE178D50
.global lbl_805AEC38
lbl_805AEC38:
# ROM: 0x3FB4D8
.4byte 0x3E94FDF4
.global lbl_805AEC3C
lbl_805AEC3C:
# ROM: 0x3FB4DC
.4byte 0x3EBC6A7F
.global lbl_805AEC40
lbl_805AEC40:
# ROM: 0x3FB4E0
.4byte 0x3D916873
.global lbl_805AEC44
lbl_805AEC44:
# ROM: 0x3FB4E4
.4byte 0x436B0000
.section .text, "ax"
.global ScreenReport
ScreenReport:
/* 80380058 0037CFB8 7C 08 02 A6 */ mflr r0
/* 8038005C 0037CFBC 54 AB 04 3E */ clrlwi r11, r5, 0x10
/* 80380060 0037CFC0 90 01 00 04 */ stw r0, 4(r1)
/* 80380064 0037CFC4 3C A0 80 81 */ lis r5, 0x80808081@ha
/* 80380068 0037CFC8 94 21 FE 60 */ stwu r1, -0x1a0(r1)
/* 8038006C 0037CFCC BE 01 01 60 */ stmw r16, 0x160(r1)
/* 80380070 0037CFD0 54 95 04 3E */ clrlwi r21, r4, 0x10
/* 80380074 0037CFD4 3C 80 88 89 */ lis r4, 0x88888889@ha
/* 80380078 0037CFD8 3B 43 00 00 */ addi r26, r3, 0
/* 8038007C 0037CFDC 3B 66 00 00 */ addi r27, r6, 0
/* 80380080 0037CFE0 3B 87 00 00 */ addi r28, r7, 0
/* 80380084 0037CFE4 3B A8 00 00 */ addi r29, r8, 0
/* 80380088 0037CFE8 3B C9 00 00 */ addi r30, r9, 0
/* 8038008C 0037CFEC 3A 0B FF E8 */ addi r16, r11, -24
/* 80380090 0037CFF0 3A D5 FF D0 */ addi r22, r21, -48
/* 80380094 0037CFF4 3B 25 80 81 */ addi r25, r5, 0x80808081@l
/* 80380098 0037CFF8 3B 04 88 89 */ addi r24, r4, 0x88888889@l
/* 8038009C 0037CFFC 3A E1 00 3C */ addi r23, r1, 0x3c
lbl_803800A0:
/* 803800A0 0037D000 7C 10 E8 00 */ cmpw r16, r29
/* 803800A4 0037D004 41 80 03 7C */ blt lbl_80380420
/* 803800A8 0037D008 7C 1D A9 D6 */ mullw r0, r29, r21
/* 803800AC 0037D00C 7C 1C 02 14 */ add r0, r28, r0
/* 803800B0 0037D010 54 00 08 3C */ slwi r0, r0, 1
/* 803800B4 0037D014 3B FC 00 00 */ addi r31, r28, 0
/* 803800B8 0037D018 7E 7A 02 14 */ add r19, r26, r0
/* 803800BC 0037D01C 48 00 03 58 */ b lbl_80380414
lbl_803800C0:
/* 803800C0 0037D020 7C 60 07 74 */ extsb r0, r3
/* 803800C4 0037D024 2C 00 00 0A */ cmpwi r0, 0xa
/* 803800C8 0037D028 40 82 00 10 */ bne lbl_803800D8
/* 803800CC 0037D02C 7F BD F2 14 */ add r29, r29, r30
/* 803800D0 0037D030 39 4A 00 01 */ addi r10, r10, 1
/* 803800D4 0037D034 4B FF FF CC */ b lbl_803800A0
lbl_803800D8:
/* 803800D8 0037D038 7C 16 F8 00 */ cmpw r22, r31
/* 803800DC 0037D03C 40 80 00 0C */ bge lbl_803800E8
/* 803800E0 0037D040 7F BD F2 14 */ add r29, r29, r30
/* 803800E4 0037D044 4B FF FF BC */ b lbl_803800A0
lbl_803800E8:
/* 803800E8 0037D048 38 00 00 03 */ li r0, 3
/* 803800EC 0037D04C 7C 09 03 A6 */ mtctr r0
/* 803800F0 0037D050 38 80 00 00 */ li r4, 0
/* 803800F4 0037D054 38 A0 00 00 */ li r5, 0
lbl_803800F8:
/* 803800F8 0037D058 54 80 07 7E */ clrlwi r0, r4, 0x1d
/* 803800FC 0037D05C 7C C0 2A 14 */ add r6, r0, r5
/* 80380100 0037D060 38 64 00 01 */ addi r3, r4, 1
/* 80380104 0037D064 54 60 E8 FE */ srwi r0, r3, 3
/* 80380108 0037D068 54 C6 10 3A */ slwi r6, r6, 2
/* 8038010C 0037D06C 39 21 00 3C */ addi r9, r1, 0x3c
/* 80380110 0037D070 7D 29 32 14 */ add r9, r9, r6
/* 80380114 0037D074 3A 80 00 00 */ li r20, 0
/* 80380118 0037D078 92 89 00 00 */ stw r20, 0(r9)
/* 8038011C 0037D07C 1C 00 00 18 */ mulli r0, r0, 0x18
/* 80380120 0037D080 92 89 00 20 */ stw r20, 0x20(r9)
/* 80380124 0037D084 54 63 07 7E */ clrlwi r3, r3, 0x1d
/* 80380128 0037D088 39 04 00 02 */ addi r8, r4, 2
/* 8038012C 0037D08C 92 89 00 40 */ stw r20, 0x40(r9)
/* 80380130 0037D090 7C 63 02 14 */ add r3, r3, r0
/* 80380134 0037D094 54 69 10 3A */ slwi r9, r3, 2
/* 80380138 0037D098 38 61 00 3C */ addi r3, r1, 0x3c
/* 8038013C 0037D09C 7C 63 4A 14 */ add r3, r3, r9
/* 80380140 0037D0A0 92 83 00 00 */ stw r20, 0(r3)
/* 80380144 0037D0A4 55 07 E8 FE */ srwi r7, r8, 3
/* 80380148 0037D0A8 38 C4 00 03 */ addi r6, r4, 3
/* 8038014C 0037D0AC 92 83 00 20 */ stw r20, 0x20(r3)
/* 80380150 0037D0B0 54 C0 E8 FE */ srwi r0, r6, 3
/* 80380154 0037D0B4 1C E7 00 18 */ mulli r7, r7, 0x18
/* 80380158 0037D0B8 92 83 00 40 */ stw r20, 0x40(r3)
/* 8038015C 0037D0BC 55 03 07 7E */ clrlwi r3, r8, 0x1d
/* 80380160 0037D0C0 7C 63 3A 14 */ add r3, r3, r7
/* 80380164 0037D0C4 54 67 10 3A */ slwi r7, r3, 2
/* 80380168 0037D0C8 38 61 00 3C */ addi r3, r1, 0x3c
/* 8038016C 0037D0CC 7C 63 3A 14 */ add r3, r3, r7
/* 80380170 0037D0D0 92 83 00 00 */ stw r20, 0(r3)
/* 80380174 0037D0D4 3A 44 00 04 */ addi r18, r4, 4
/* 80380178 0037D0D8 56 4C E8 FE */ srwi r12, r18, 3
/* 8038017C 0037D0DC 92 83 00 20 */ stw r20, 0x20(r3)
/* 80380180 0037D0E0 39 64 00 05 */ addi r11, r4, 5
/* 80380184 0037D0E4 55 69 E8 FE */ srwi r9, r11, 3
/* 80380188 0037D0E8 92 83 00 40 */ stw r20, 0x40(r3)
/* 8038018C 0037D0EC 54 C3 07 7E */ clrlwi r3, r6, 0x1d
/* 80380190 0037D0F0 1C 00 00 18 */ mulli r0, r0, 0x18
/* 80380194 0037D0F4 7C 63 02 14 */ add r3, r3, r0
/* 80380198 0037D0F8 54 71 10 3A */ slwi r17, r3, 2
/* 8038019C 0037D0FC 38 61 00 3C */ addi r3, r1, 0x3c
/* 803801A0 0037D100 7C 63 8A 14 */ add r3, r3, r17
/* 803801A4 0037D104 92 83 00 00 */ stw r20, 0(r3)
/* 803801A8 0037D108 39 04 00 06 */ addi r8, r4, 6
/* 803801AC 0037D10C 1D 8C 00 18 */ mulli r12, r12, 0x18
/* 803801B0 0037D110 92 83 00 20 */ stw r20, 0x20(r3)
/* 803801B4 0037D114 38 C4 00 07 */ addi r6, r4, 7
/* 803801B8 0037D118 92 83 00 40 */ stw r20, 0x40(r3)
/* 803801BC 0037D11C 56 51 07 7E */ clrlwi r17, r18, 0x1d
/* 803801C0 0037D120 7D 91 62 14 */ add r12, r17, r12
/* 803801C4 0037D124 54 C0 E8 FE */ srwi r0, r6, 3
/* 803801C8 0037D128 55 8C 10 3A */ slwi r12, r12, 2
/* 803801CC 0037D12C 38 61 00 3C */ addi r3, r1, 0x3c
/* 803801D0 0037D130 7C 63 62 14 */ add r3, r3, r12
/* 803801D4 0037D134 92 83 00 00 */ stw r20, 0(r3)
/* 803801D8 0037D138 1D 29 00 18 */ mulli r9, r9, 0x18
/* 803801DC 0037D13C 92 83 00 20 */ stw r20, 0x20(r3)
/* 803801E0 0037D140 55 6B 07 7E */ clrlwi r11, r11, 0x1d
/* 803801E4 0037D144 7D 2B 4A 14 */ add r9, r11, r9
/* 803801E8 0037D148 92 83 00 40 */ stw r20, 0x40(r3)
/* 803801EC 0037D14C 55 23 10 3A */ slwi r3, r9, 2
/* 803801F0 0037D150 39 21 00 3C */ addi r9, r1, 0x3c
/* 803801F4 0037D154 7D 29 1A 14 */ add r9, r9, r3
/* 803801F8 0037D158 55 07 E8 FE */ srwi r7, r8, 3
/* 803801FC 0037D15C 92 89 00 00 */ stw r20, 0(r9)
/* 80380200 0037D160 1C 67 00 18 */ mulli r3, r7, 0x18
/* 80380204 0037D164 92 89 00 20 */ stw r20, 0x20(r9)
/* 80380208 0037D168 55 07 07 7E */ clrlwi r7, r8, 0x1d
/* 8038020C 0037D16C 92 89 00 40 */ stw r20, 0x40(r9)
/* 80380210 0037D170 7C 67 1A 14 */ add r3, r7, r3
/* 80380214 0037D174 54 63 10 3A */ slwi r3, r3, 2
/* 80380218 0037D178 38 E1 00 3C */ addi r7, r1, 0x3c
/* 8038021C 0037D17C 7C E7 1A 14 */ add r7, r7, r3
/* 80380220 0037D180 92 87 00 00 */ stw r20, 0(r7)
/* 80380224 0037D184 1C 00 00 18 */ mulli r0, r0, 0x18
/* 80380228 0037D188 92 87 00 20 */ stw r20, 0x20(r7)
/* 8038022C 0037D18C 54 C3 07 7E */ clrlwi r3, r6, 0x1d
/* 80380230 0037D190 7C 03 02 14 */ add r0, r3, r0
/* 80380234 0037D194 92 87 00 40 */ stw r20, 0x40(r7)
/* 80380238 0037D198 54 00 10 3A */ slwi r0, r0, 2
/* 8038023C 0037D19C 38 61 00 3C */ addi r3, r1, 0x3c
/* 80380240 0037D1A0 7C 63 02 14 */ add r3, r3, r0
/* 80380244 0037D1A4 92 83 00 00 */ stw r20, 0(r3)
/* 80380248 0037D1A8 38 A5 00 18 */ addi r5, r5, 0x18
/* 8038024C 0037D1AC 38 84 00 08 */ addi r4, r4, 8
/* 80380250 0037D1B0 92 83 00 20 */ stw r20, 0x20(r3)
/* 80380254 0037D1B4 92 83 00 40 */ stw r20, 0x40(r3)
/* 80380258 0037D1B8 42 00 FE A0 */ bdnz lbl_803800F8
/* 8038025C 0037D1BC 38 6A 00 00 */ addi r3, r10, 0
/* 80380260 0037D1C0 38 81 00 3C */ addi r4, r1, 0x3c
/* 80380264 0037D1C4 38 E1 01 5C */ addi r7, r1, 0x15c
/* 80380268 0037D1C8 38 A0 00 00 */ li r5, 0
/* 8038026C 0037D1CC 38 C0 00 06 */ li r6, 6
/* 80380270 0037D1D0 48 00 10 ED */ bl sub_8038135c
/* 80380274 0037D1D4 39 43 00 00 */ addi r10, r3, 0
/* 80380278 0037D1D8 38 14 00 00 */ addi r0, r20, 0
lbl_8038027C:
/* 8038027C 0037D1DC 56 83 E8 FE */ srwi r3, r20, 3
/* 80380280 0037D1E0 1C A3 00 18 */ mulli r5, r3, 0x18
/* 80380284 0037D1E4 38 80 00 0C */ li r4, 0xc
/* 80380288 0037D1E8 7C 03 03 78 */ mr r3, r0
/* 8038028C 0037D1EC 7C 89 03 A6 */ mtctr r4
/* 80380290 0037D1F0 56 86 07 7E */ clrlwi r6, r20, 0x1d
/* 80380294 0037D1F4 38 9F 00 00 */ addi r4, r31, 0
/* 80380298 0037D1F8 7C A6 2A 14 */ add r5, r6, r5
/* 8038029C 0037D1FC 54 07 08 3C */ slwi r7, r0, 1
/* 803802A0 0037D200 38 C0 00 00 */ li r6, 0
lbl_803802A4:
/* 803802A4 0037D204 54 C8 00 38 */ rlwinm r8, r6, 0, 0, 0x1c
/* 803802A8 0037D208 7D 05 42 14 */ add r8, r5, r8
/* 803802AC 0037D20C 55 09 10 3A */ slwi r9, r8, 2
/* 803802B0 0037D210 54 C8 07 7E */ clrlwi r8, r6, 0x1d
/* 803802B4 0037D214 7D 37 48 2E */ lwzx r9, r23, r9
/* 803802B8 0037D218 21 08 00 07 */ subfic r8, r8, 7
/* 803802BC 0037D21C 55 08 10 3A */ slwi r8, r8, 2
/* 803802C0 0037D220 7D 28 44 30 */ srw r8, r9, r8
/* 803802C4 0037D224 55 08 07 3F */ clrlwi. r8, r8, 0x1c
/* 803802C8 0037D228 41 82 00 74 */ beq lbl_8038033C
/* 803802CC 0037D22C 1D 08 00 EF */ mulli r8, r8, 0xef
/* 803802D0 0037D230 89 3B 00 00 */ lbz r9, 0(r27)
/* 803802D4 0037D234 7D 09 41 D6 */ mullw r8, r9, r8
/* 803802D8 0037D238 7D 39 40 96 */ mulhw r9, r25, r8
/* 803802DC 0037D23C 7D 09 42 14 */ add r8, r9, r8
/* 803802E0 0037D240 7D 08 3E 70 */ srawi r8, r8, 7
/* 803802E4 0037D244 55 09 0F FE */ srwi r9, r8, 0x1f
/* 803802E8 0037D248 7D 08 4A 14 */ add r8, r8, r9
/* 803802EC 0037D24C 7D 38 40 96 */ mulhw r9, r24, r8
/* 803802F0 0037D250 7D 09 42 14 */ add r8, r9, r8
/* 803802F4 0037D254 7D 08 1E 70 */ srawi r8, r8, 3
/* 803802F8 0037D258 55 09 0F FE */ srwi r9, r8, 0x1f
/* 803802FC 0037D25C 7D 28 4A 14 */ add r9, r8, r9
/* 80380300 0037D260 39 29 00 10 */ addi r9, r9, 0x10
/* 80380304 0037D264 54 88 07 FF */ clrlwi. r8, r4, 0x1f
/* 80380308 0037D268 7D 33 39 AE */ stbx r9, r19, r7
/* 8038030C 0037D26C 41 82 00 1C */ beq lbl_80380328
/* 80380310 0037D270 89 1B 00 01 */ lbz r8, 1(r27)
/* 80380314 0037D274 7D 33 3A 14 */ add r9, r19, r7
/* 80380318 0037D278 99 09 FF FF */ stb r8, -1(r9)
/* 8038031C 0037D27C 89 1B 00 02 */ lbz r8, 2(r27)
/* 80380320 0037D280 99 09 00 01 */ stb r8, 1(r9)
/* 80380324 0037D284 48 00 00 18 */ b lbl_8038033C
lbl_80380328:
/* 80380328 0037D288 89 1B 00 02 */ lbz r8, 2(r27)
/* 8038032C 0037D28C 7D 33 3A 14 */ add r9, r19, r7
/* 80380330 0037D290 99 09 FF FF */ stb r8, -1(r9)
/* 80380334 0037D294 89 1B 00 01 */ lbz r8, 1(r27)
/* 80380338 0037D298 99 09 00 01 */ stb r8, 1(r9)
lbl_8038033C:
/* 8038033C 0037D29C 38 C6 00 01 */ addi r6, r6, 1
/* 80380340 0037D2A0 54 C8 00 38 */ rlwinm r8, r6, 0, 0, 0x1c
/* 80380344 0037D2A4 7D 05 42 14 */ add r8, r5, r8
/* 80380348 0037D2A8 55 09 10 3A */ slwi r9, r8, 2
/* 8038034C 0037D2AC 54 C8 07 7E */ clrlwi r8, r6, 0x1d
/* 80380350 0037D2B0 7D 37 48 2E */ lwzx r9, r23, r9
/* 80380354 0037D2B4 21 08 00 07 */ subfic r8, r8, 7
/* 80380358 0037D2B8 55 08 10 3A */ slwi r8, r8, 2
/* 8038035C 0037D2BC 7D 28 44 30 */ srw r8, r9, r8
/* 80380360 0037D2C0 55 08 07 3F */ clrlwi. r8, r8, 0x1c
/* 80380364 0037D2C4 38 E7 00 02 */ addi r7, r7, 2
/* 80380368 0037D2C8 38 84 00 01 */ addi r4, r4, 1
/* 8038036C 0037D2CC 41 82 00 74 */ beq lbl_803803E0
/* 80380370 0037D2D0 1D 08 00 EF */ mulli r8, r8, 0xef
/* 80380374 0037D2D4 89 3B 00 00 */ lbz r9, 0(r27)
/* 80380378 0037D2D8 7D 09 41 D6 */ mullw r8, r9, r8
/* 8038037C 0037D2DC 7D 39 40 96 */ mulhw r9, r25, r8
/* 80380380 0037D2E0 7D 09 42 14 */ add r8, r9, r8
/* 80380384 0037D2E4 7D 08 3E 70 */ srawi r8, r8, 7
/* 80380388 0037D2E8 55 09 0F FE */ srwi r9, r8, 0x1f
/* 8038038C 0037D2EC 7D 08 4A 14 */ add r8, r8, r9
/* 80380390 0037D2F0 7D 38 40 96 */ mulhw r9, r24, r8
/* 80380394 0037D2F4 7D 09 42 14 */ add r8, r9, r8
/* 80380398 0037D2F8 7D 08 1E 70 */ srawi r8, r8, 3
/* 8038039C 0037D2FC 55 09 0F FE */ srwi r9, r8, 0x1f
/* 803803A0 0037D300 7D 28 4A 14 */ add r9, r8, r9
/* 803803A4 0037D304 39 29 00 10 */ addi r9, r9, 0x10
/* 803803A8 0037D308 54 88 07 FF */ clrlwi. r8, r4, 0x1f
/* 803803AC 0037D30C 7D 33 39 AE */ stbx r9, r19, r7
/* 803803B0 0037D310 41 82 00 1C */ beq lbl_803803CC
/* 803803B4 0037D314 89 1B 00 01 */ lbz r8, 1(r27)
/* 803803B8 0037D318 7D 33 3A 14 */ add r9, r19, r7
/* 803803BC 0037D31C 99 09 FF FF */ stb r8, -1(r9)
/* 803803C0 0037D320 89 1B 00 02 */ lbz r8, 2(r27)
/* 803803C4 0037D324 99 09 00 01 */ stb r8, 1(r9)
/* 803803C8 0037D328 48 00 00 18 */ b lbl_803803E0
lbl_803803CC:
/* 803803CC 0037D32C 89 1B 00 02 */ lbz r8, 2(r27)
/* 803803D0 0037D330 7D 33 3A 14 */ add r9, r19, r7
/* 803803D4 0037D334 99 09 FF FF */ stb r8, -1(r9)
/* 803803D8 0037D338 89 1B 00 01 */ lbz r8, 1(r27)
/* 803803DC 0037D33C 99 09 00 01 */ stb r8, 1(r9)
lbl_803803E0:
/* 803803E0 0037D340 38 63 00 01 */ addi r3, r3, 1
/* 803803E4 0037D344 38 E7 00 02 */ addi r7, r7, 2
/* 803803E8 0037D348 38 84 00 01 */ addi r4, r4, 1
/* 803803EC 0037D34C 38 C6 00 01 */ addi r6, r6, 1
/* 803803F0 0037D350 42 00 FE B4 */ bdnz lbl_803802A4
/* 803803F4 0037D354 3A 94 00 01 */ addi r20, r20, 1
/* 803803F8 0037D358 28 14 00 18 */ cmplwi r20, 0x18
/* 803803FC 0037D35C 7C 00 AA 14 */ add r0, r0, r21
/* 80380400 0037D360 41 80 FE 7C */ blt lbl_8038027C
/* 80380404 0037D364 80 61 01 5C */ lwz r3, 0x15c(r1)
/* 80380408 0037D368 54 60 08 3C */ slwi r0, r3, 1
/* 8038040C 0037D36C 7E 73 02 14 */ add r19, r19, r0
/* 80380410 0037D370 7F FF 1A 14 */ add r31, r31, r3
lbl_80380414:
/* 80380414 0037D374 88 6A 00 00 */ lbz r3, 0(r10)
/* 80380418 0037D378 7C 60 07 75 */ extsb. r0, r3
/* 8038041C 0037D37C 40 82 FC A4 */ bne lbl_803800C0
lbl_80380420:
/* 80380420 0037D380 BA 01 01 60 */ lmw r16, 0x160(r1)
/* 80380424 0037D384 80 01 01 A4 */ lwz r0, 0x1a4(r1)
/* 80380428 0037D388 38 21 01 A0 */ addi r1, r1, 0x1a0
/* 8038042C 0037D38C 7C 08 03 A6 */ mtlr r0
/* 80380430 0037D390 4E 80 00 20 */ blr
.global ConfigureVideo
ConfigureVideo:
/* 80380434 0037D394 7C 08 02 A6 */ mflr r0
/* 80380438 0037D398 90 01 00 04 */ stw r0, 4(r1)
/* 8038043C 0037D39C 38 00 01 E0 */ li r0, 0x1e0
/* 80380440 0037D3A0 94 21 FF B8 */ stwu r1, -0x48(r1)
/* 80380444 0037D3A4 B0 61 00 10 */ sth r3, 0x10(r1)
/* 80380448 0037D3A8 38 60 00 28 */ li r3, 0x28
/* 8038044C 0037D3AC B0 01 00 12 */ sth r0, 0x12(r1)
/* 80380450 0037D3B0 38 00 02 80 */ li r0, 0x280
/* 80380454 0037D3B4 B0 81 00 14 */ sth r4, 0x14(r1)
/* 80380458 0037D3B8 B0 61 00 16 */ sth r3, 0x16(r1)
/* 8038045C 0037D3BC B0 01 00 1A */ sth r0, 0x1a(r1)
/* 80380460 0037D3C0 B0 81 00 1C */ sth r4, 0x1c(r1)
/* 80380464 0037D3C4 48 00 90 75 */ bl VIGetTvFormat
/* 80380468 0037D3C8 2C 03 00 02 */ cmpwi r3, 2
/* 8038046C 0037D3CC 41 82 00 24 */ beq lbl_80380490
/* 80380470 0037D3D0 40 80 00 14 */ bge lbl_80380484
/* 80380474 0037D3D4 2C 03 00 00 */ cmpwi r3, 0
/* 80380478 0037D3D8 41 82 00 18 */ beq lbl_80380490
/* 8038047C 0037D3DC 40 80 00 70 */ bge lbl_803804EC
/* 80380480 0037D3E0 48 00 00 84 */ b lbl_80380504
lbl_80380484:
/* 80380484 0037D3E4 2C 03 00 05 */ cmpwi r3, 5
/* 80380488 0037D3E8 41 82 00 48 */ beq lbl_803804D0
/* 8038048C 0037D3EC 48 00 00 78 */ b lbl_80380504
lbl_80380490:
/* 80380490 0037D3F0 3C 60 CC 00 */ lis r3, 0xCC00206C@ha
/* 80380494 0037D3F4 A0 03 20 6C */ lhz r0, 0xCC00206C@l(r3)
/* 80380498 0037D3F8 54 00 07 FF */ clrlwi. r0, r0, 0x1f
/* 8038049C 0037D3FC 41 82 00 1C */ beq lbl_803804B8
/* 803804A0 0037D400 38 00 00 02 */ li r0, 2
/* 803804A4 0037D404 90 01 00 0C */ stw r0, 0xc(r1)
/* 803804A8 0037D408 38 00 00 00 */ li r0, 0
/* 803804AC 0037D40C B0 01 00 18 */ sth r0, 0x18(r1)
/* 803804B0 0037D410 90 01 00 20 */ stw r0, 0x20(r1)
/* 803804B4 0037D414 48 00 00 50 */ b lbl_80380504
lbl_803804B8:
/* 803804B8 0037D418 38 60 00 00 */ li r3, 0
/* 803804BC 0037D41C 90 61 00 0C */ stw r3, 0xc(r1)
/* 803804C0 0037D420 38 00 00 01 */ li r0, 1
/* 803804C4 0037D424 B0 61 00 18 */ sth r3, 0x18(r1)
/* 803804C8 0037D428 90 01 00 20 */ stw r0, 0x20(r1)
/* 803804CC 0037D42C 48 00 00 38 */ b lbl_80380504
lbl_803804D0:
/* 803804D0 0037D430 38 00 00 14 */ li r0, 0x14
/* 803804D4 0037D434 90 01 00 0C */ stw r0, 0xc(r1)
/* 803804D8 0037D438 38 60 00 00 */ li r3, 0
/* 803804DC 0037D43C 38 00 00 01 */ li r0, 1
/* 803804E0 0037D440 B0 61 00 18 */ sth r3, 0x18(r1)
/* 803804E4 0037D444 90 01 00 20 */ stw r0, 0x20(r1)
/* 803804E8 0037D448 48 00 00 1C */ b lbl_80380504
lbl_803804EC:
/* 803804EC 0037D44C 38 00 00 04 */ li r0, 4
/* 803804F0 0037D450 90 01 00 0C */ stw r0, 0xc(r1)
/* 803804F4 0037D454 38 60 00 2F */ li r3, 0x2f
/* 803804F8 0037D458 38 00 00 01 */ li r0, 1
/* 803804FC 0037D45C B0 61 00 18 */ sth r3, 0x18(r1)
/* 80380500 0037D460 90 01 00 20 */ stw r0, 0x20(r1)
lbl_80380504:
/* 80380504 0037D464 38 61 00 0C */ addi r3, r1, 0xc
/* 80380508 0037D468 48 00 80 4D */ bl VIConfigure
/* 8038050C 0037D46C 38 60 00 00 */ li r3, 0
/* 80380510 0037D470 38 80 00 00 */ li r4, 0
/* 80380514 0037D474 38 A0 02 80 */ li r5, 0x280
/* 80380518 0037D478 38 C0 01 E0 */ li r6, 0x1e0
/* 8038051C 0037D47C 48 00 88 61 */ bl VIConfigurePan
/* 80380520 0037D480 80 01 00 4C */ lwz r0, 0x4c(r1)
/* 80380524 0037D484 38 21 00 48 */ addi r1, r1, 0x48
/* 80380528 0037D488 7C 08 03 A6 */ mtlr r0
/* 8038052C 0037D48C 4E 80 00 20 */ blr
.global OSFatal
OSFatal:
/* 80380530 0037D490 7C 08 02 A6 */ mflr r0
/* 80380534 0037D494 3C C0 80 54 */ lis r6, lbl_80541298@ha
/* 80380538 0037D498 90 01 00 04 */ stw r0, 4(r1)
/* 8038053C 0037D49C 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 80380540 0037D4A0 BF 41 00 18 */ stmw r26, 0x18(r1)
/* 80380544 0037D4A4 3B 43 00 00 */ addi r26, r3, 0
/* 80380548 0037D4A8 3B 64 00 00 */ addi r27, r4, 0
/* 8038054C 0037D4AC 3B 85 00 00 */ addi r28, r5, 0
/* 80380550 0037D4B0 3B C6 12 98 */ addi r30, r6, lbl_80541298@l
/* 80380554 0037D4B4 3F A0 80 00 */ lis r29, 0x8000
/* 80380558 0037D4B8 48 00 11 09 */ bl OSDisableInterrupts
/* 8038055C 0037D4BC 48 00 40 85 */ bl OSDisableScheduler
/* 80380560 0037D4C0 38 7E 00 10 */ addi r3, r30, 0x10
/* 80380564 0037D4C4 4B FF F0 B1 */ bl OSClearContext
/* 80380568 0037D4C8 38 7E 00 10 */ addi r3, r30, 0x10
/* 8038056C 0037D4CC 4B FF EE B1 */ bl OSSetCurrentContext
/* 80380570 0037D4D0 4B FF E4 29 */ bl __OSStopAudioSystem
/* 80380574 0037D4D4 38 60 00 00 */ li r3, 0
/* 80380578 0037D4D8 4B FE CE 05 */ bl AISetStreamVolLeft
/* 8038057C 0037D4DC 38 60 00 00 */ li r3, 0
/* 80380580 0037D4E0 4B FE CE 29 */ bl AISetStreamVolRight
/* 80380584 0037D4E4 48 00 76 59 */ bl VIInit
/* 80380588 0037D4E8 38 60 00 01 */ li r3, 1
/* 8038058C 0037D4EC 48 00 8D 21 */ bl VISetBlack
/* 80380590 0037D4F0 48 00 8B 81 */ bl VIFlush
/* 80380594 0037D4F4 48 00 10 E1 */ bl OSEnableInterrupts
/* 80380598 0037D4F8 48 00 8D 91 */ bl VIGetRetraceCount
/* 8038059C 0037D4FC 7C 7F 1B 78 */ mr r31, r3
lbl_803805A0:
/* 803805A0 0037D500 48 00 8D 89 */ bl VIGetRetraceCount
/* 803805A4 0037D504 7C 1F 18 50 */ subf r0, r31, r3
/* 803805A8 0037D508 2C 00 00 01 */ cmpwi r0, 1
/* 803805AC 0037D50C 41 80 FF F4 */ blt lbl_803805A0
lbl_803805B0:
/* 803805B0 0037D510 38 60 00 00 */ li r3, 0
/* 803805B4 0037D514 48 00 2A FD */ bl __OSCallResetFunctions
/* 803805B8 0037D518 2C 03 00 00 */ cmpwi r3, 0
/* 803805BC 0037D51C 41 82 FF F4 */ beq lbl_803805B0
/* 803805C0 0037D520 48 00 10 A1 */ bl OSDisableInterrupts
/* 803805C4 0037D524 38 60 00 01 */ li r3, 1
/* 803805C8 0037D528 48 00 2A E9 */ bl __OSCallResetFunctions
/* 803805CC 0037D52C 3C 60 80 38 */ lis r3, OSDefaultExceptionHandler@ha
/* 803805D0 0037D530 38 83 DF 94 */ addi r4, r3, OSDefaultExceptionHandler@l
/* 803805D4 0037D534 38 60 00 08 */ li r3, 8
/* 803805D8 0037D538 4B FF D8 F1 */ bl __OSSetExceptionHandler
/* 803805DC 0037D53C 4B FF 7D 91 */ bl sub_8037836c
/* 803805E0 0037D540 3C 60 81 20 */ lis r3, 0x8120
/* 803805E4 0037D544 4B FF E1 C5 */ bl OSSetArenaLo
/* 803805E8 0037D548 80 7D 00 38 */ lwz r3, 0x38(r29)
/* 803805EC 0037D54C 4B FF E1 B5 */ bl OSSetArenaHi
/* 803805F0 0037D550 80 1A 00 00 */ lwz r0, 0(r26)
/* 803805F4 0037D554 90 1E 00 00 */ stw r0, 0(r30)
/* 803805F8 0037D558 80 1B 00 00 */ lwz r0, 0(r27)
/* 803805FC 0037D55C 90 1E 00 04 */ stw r0, 4(r30)
/* 80380600 0037D560 93 9E 00 08 */ stw r28, 8(r30)
/* 80380604 0037D564 4B FF E1 8D */ bl OSGetArenaHi
/* 80380608 0037D568 3C A0 80 38 */ lis r5, Halt@ha
/* 8038060C 0037D56C 38 83 00 00 */ addi r4, r3, 0
/* 80380610 0037D570 38 65 06 2C */ addi r3, r5, Halt@l
/* 80380614 0037D574 4B FF EF D1 */ bl OSSwitchFiber
/* 80380618 0037D578 BB 41 00 18 */ lmw r26, 0x18(r1)
/* 8038061C 0037D57C 80 01 00 34 */ lwz r0, 0x34(r1)
/* 80380620 0037D580 38 21 00 30 */ addi r1, r1, 0x30
/* 80380624 0037D584 7C 08 03 A6 */ mtlr r0
/* 80380628 0037D588 4E 80 00 20 */ blr
.global Halt
Halt:
/* 8038062C 0037D58C 7C 08 02 A6 */ mflr r0
/* 80380630 0037D590 90 01 00 04 */ stw r0, 4(r1)
/* 80380634 0037D594 94 21 FF 78 */ stwu r1, -0x88(r1)
/* 80380638 0037D598 93 E1 00 84 */ stw r31, 0x84(r1)
/* 8038063C 0037D59C 93 C1 00 80 */ stw r30, 0x80(r1)
/* 80380640 0037D5A0 93 A1 00 7C */ stw r29, 0x7c(r1)
/* 80380644 0037D5A4 93 81 00 78 */ stw r28, 0x78(r1)
/* 80380648 0037D5A8 48 00 10 2D */ bl OSEnableInterrupts
/* 8038064C 0037D5AC 3C 60 80 54 */ lis r3, lbl_80541298@ha
/* 80380650 0037D5B0 3B E3 12 98 */ addi r31, r3, lbl_80541298@l
/* 80380654 0037D5B4 80 7F 00 08 */ lwz r3, 8(r31)
/* 80380658 0037D5B8 48 00 FB 69 */ bl strlen
/* 8038065C 0037D5BC 3B 83 00 01 */ addi r28, r3, 1
/* 80380660 0037D5C0 38 7C 00 00 */ addi r3, r28, 0
/* 80380664 0037D5C4 38 80 00 20 */ li r4, 0x20
/* 80380668 0037D5C8 4B FF E1 49 */ bl OSAllocFromArenaLo
/* 8038066C 0037D5CC 80 9F 00 08 */ lwz r4, 8(r31)
/* 80380670 0037D5D0 7F 85 E3 78 */ mr r5, r28
/* 80380674 0037D5D4 48 00 D2 AD */ bl memmove
/* 80380678 0037D5D8 90 7F 00 08 */ stw r3, 8(r31)
/* 8038067C 0037D5DC 48 00 08 C9 */ bl OSGetFontEncode
/* 80380680 0037D5E0 54 60 04 3E */ clrlwi r0, r3, 0x10
/* 80380684 0037D5E4 28 00 00 01 */ cmplwi r0, 1
/* 80380688 0037D5E8 40 82 00 1C */ bne lbl_803806A4
/* 8038068C 0037D5EC 3C 60 00 09 */ lis r3, 0x00090EE4@ha
/* 80380690 0037D5F0 38 63 0E E4 */ addi r3, r3, 0x00090EE4@l
/* 80380694 0037D5F4 38 80 00 20 */ li r4, 0x20
/* 80380698 0037D5F8 4B FF E1 19 */ bl OSAllocFromArenaLo
/* 8038069C 0037D5FC 7C 7E 1B 78 */ mr r30, r3
/* 803806A0 0037D600 48 00 00 18 */ b lbl_803806B8
lbl_803806A4:
/* 803806A4 0037D604 3C 60 00 01 */ lis r3, 0x00010120@ha
/* 803806A8 0037D608 38 63 01 20 */ addi r3, r3, 0x00010120@l
/* 803806AC 0037D60C 38 80 00 20 */ li r4, 0x20
/* 803806B0 0037D610 4B FF E1 01 */ bl OSAllocFromArenaLo
/* 803806B4 0037D614 7C 7E 1B 78 */ mr r30, r3
lbl_803806B8:
/* 803806B8 0037D618 4B FF E0 E1 */ bl OSGetArenaLo
/* 803806BC 0037D61C 38 83 00 00 */ addi r4, r3, 0
/* 803806C0 0037D620 38 7E 00 00 */ addi r3, r30, 0
/* 803806C4 0037D624 48 00 09 65 */ bl sub_80381028
/* 803806C8 0037D628 3C 60 00 09 */ lis r3, 0x00096000@ha
/* 803806CC 0037D62C 38 63 60 00 */ addi r3, r3, 0x00096000@l
/* 803806D0 0037D630 38 80 00 20 */ li r4, 0x20
/* 803806D4 0037D634 4B FF E0 DD */ bl OSAllocFromArenaLo
/* 803806D8 0037D638 80 1F 00 04 */ lwz r0, 4(r31)
/* 803806DC 0037D63C 7C 7D 1B 78 */ mr r29, r3
/* 803806E0 0037D640 3C 80 43 30 */ lis r4, 0x4330
/* 803806E4 0037D644 C8 02 CF 30 */ lfd f0, lbl_805AEC50@sda21(r2)
/* 803806E8 0037D648 90 01 00 28 */ stw r0, 0x28(r1)
/* 803806EC 0037D64C C0 82 CF 04 */ lfs f4, lbl_805AEC24@sda21(r2)
/* 803806F0 0037D650 88 01 00 28 */ lbz r0, 0x28(r1)
/* 803806F4 0037D654 88 61 00 29 */ lbz r3, 0x29(r1)
/* 803806F8 0037D658 90 01 00 6C */ stw r0, 0x6c(r1)
/* 803806FC 0037D65C 88 A1 00 2A */ lbz r5, 0x2a(r1)
/* 80380700 0037D660 90 61 00 64 */ stw r3, 0x64(r1)
/* 80380704 0037D664 C0 42 CF 08 */ lfs f2, lbl_805AEC28@sda21(r2)
/* 80380708 0037D668 90 81 00 68 */ stw r4, 0x68(r1)
/* 8038070C 0037D66C C0 C2 CF 00 */ lfs f6, lbl_805AEC20@sda21(r2)
/* 80380710 0037D670 90 81 00 60 */ stw r4, 0x60(r1)
/* 80380714 0037D674 C8 61 00 68 */ lfd f3, 0x68(r1)
/* 80380718 0037D678 90 A1 00 74 */ stw r5, 0x74(r1)
/* 8038071C 0037D67C C8 21 00 60 */ lfd f1, 0x60(r1)
/* 80380720 0037D680 EC 63 00 28 */ fsubs f3, f3, f0
/* 80380724 0037D684 90 81 00 70 */ stw r4, 0x70(r1)
/* 80380728 0037D688 EC 21 00 28 */ fsubs f1, f1, f0
/* 8038072C 0037D68C C1 02 CF 18 */ lfs f8, lbl_805AEC38@sda21(r2)
/* 80380730 0037D690 90 61 00 4C */ stw r3, 0x4c(r1)
/* 80380734 0037D694 C8 A1 00 70 */ lfd f5, 0x70(r1)
/* 80380738 0037D698 EC 64 00 F2 */ fmuls f3, f4, f3
/* 8038073C 0037D69C EC 85 00 28 */ fsubs f4, f5, f0
/* 80380740 0037D6A0 90 01 00 54 */ stw r0, 0x54(r1)
/* 80380744 0037D6A4 EC 22 00 72 */ fmuls f1, f2, f1
/* 80380748 0037D6A8 C1 22 CF 14 */ lfs f9, lbl_805AEC34@sda21(r2)
/* 8038074C 0037D6AC 90 81 00 50 */ stw r4, 0x50(r1)
/* 80380750 0037D6B0 90 01 00 44 */ stw r0, 0x44(r1)
/* 80380754 0037D6B4 EC 86 01 32 */ fmuls f4, f6, f4
/* 80380758 0037D6B8 EC 23 08 2A */ fadds f1, f3, f1
/* 8038075C 0037D6BC C8 41 00 50 */ lfd f2, 0x50(r1)
/* 80380760 0037D6C0 90 61 00 3C */ stw r3, 0x3c(r1)
/* 80380764 0037D6C4 EC 62 00 28 */ fsubs f3, f2, f0
/* 80380768 0037D6C8 90 A1 00 5C */ stw r5, 0x5c(r1)
/* 8038076C 0037D6CC ED 64 08 2A */ fadds f11, f4, f1
/* 80380770 0037D6D0 C1 42 CF 10 */ lfs f10, lbl_805AEC30@sda21(r2)
/* 80380774 0037D6D4 90 81 00 48 */ stw r4, 0x48(r1)
/* 80380778 0037D6D8 ED 29 00 F2 */ fmuls f9, f9, f3
/* 8038077C 0037D6DC C0 A2 CF 1C */ lfs f5, lbl_805AEC3C@sda21(r2)
/* 80380780 0037D6E0 C8 21 00 48 */ lfd f1, 0x48(r1)
/* 80380784 0037D6E4 90 81 00 40 */ stw r4, 0x40(r1)
/* 80380788 0037D6E8 EC E1 00 28 */ fsubs f7, f1, f0
/* 8038078C 0037D6EC C0 62 CF 20 */ lfs f3, lbl_805AEC40@sda21(r2)
/* 80380790 0037D6F0 90 81 00 38 */ stw r4, 0x38(r1)
/* 80380794 0037D6F4 C8 41 00 40 */ lfd f2, 0x40(r1)
/* 80380798 0037D6F8 90 A1 00 34 */ stw r5, 0x34(r1)
/* 8038079C 0037D6FC C8 21 00 38 */ lfd f1, 0x38(r1)
/* 803807A0 0037D700 EC C2 00 28 */ fsubs f6, f2, f0
/* 803807A4 0037D704 90 81 00 30 */ stw r4, 0x30(r1)
/* 803807A8 0037D708 EC E8 01 F2 */ fmuls f7, f8, f7
/* 803807AC 0037D70C EC 81 00 28 */ fsubs f4, f1, f0
/* 803807B0 0037D710 90 81 00 58 */ stw r4, 0x58(r1)
/* 803807B4 0037D714 C0 22 CE FC */ lfs f1, lbl_805AEC1C@sda21(r2)
/* 803807B8 0037D718 EC CA 01 B2 */ fmuls f6, f10, f6
/* 803807BC 0037D71C C9 01 00 58 */ lfd f8, 0x58(r1)
/* 803807C0 0037D720 C8 41 00 30 */ lfd f2, 0x30(r1)
/* 803807C4 0037D724 EC 85 01 32 */ fmuls f4, f5, f4
/* 803807C8 0037D728 ED 08 00 28 */ fsubs f8, f8, f0
/* 803807CC 0037D72C EC 02 00 28 */ fsubs f0, f2, f0
/* 803807D0 0037D730 C1 82 CE F8 */ lfs f12, lbl_805AEC18@sda21(r2)
/* 803807D4 0037D734 EC 49 38 28 */ fsubs f2, f9, f7
/* 803807D8 0037D738 EC AA 02 32 */ fmuls f5, f10, f8
/* 803807DC 0037D73C ED 61 58 2A */ fadds f11, f1, f11
/* 803807E0 0037D740 EC 03 00 32 */ fmuls f0, f3, f0
/* 803807E4 0037D744 C0 E2 CF 0C */ lfs f7, lbl_805AEC2C@sda21(r2)
/* 803807E8 0037D748 EC A5 10 2A */ fadds f5, f5, f2
/* 803807EC 0037D74C EC 46 20 28 */ fsubs f2, f6, f4
/* 803807F0 0037D750 ED 2C 58 2A */ fadds f9, f12, f11
/* 803807F4 0037D754 C1 02 CF 24 */ lfs f8, lbl_805AEC44@sda21(r2)
/* 803807F8 0037D758 EC 67 28 2A */ fadds f3, f7, f5
/* 803807FC 0037D75C EC 02 00 28 */ fsubs f0, f2, f0
/* 80380800 0037D760 FC 09 40 40 */ fcmpo cr0, f9, f8
/* 80380804 0037D764 EC 6C 18 2A */ fadds f3, f12, f3
/* 80380808 0037D768 EC 07 00 2A */ fadds f0, f7, f0
/* 8038080C 0037D76C EC 4C 00 2A */ fadds f2, f12, f0
/* 80380810 0037D770 40 81 00 08 */ ble lbl_80380818
/* 80380814 0037D774 48 00 00 18 */ b lbl_8038082C
lbl_80380818:
/* 80380818 0037D778 FC 09 08 40 */ fcmpo cr0, f9, f1
/* 8038081C 0037D77C 40 80 00 08 */ bge lbl_80380824
/* 80380820 0037D780 48 00 00 08 */ b lbl_80380828
lbl_80380824:
/* 80380824 0037D784 FC 20 48 90 */ fmr f1, f9
lbl_80380828:
/* 80380828 0037D788 FD 00 08 90 */ fmr f8, f1
lbl_8038082C:
/* 8038082C 0037D78C FC 00 40 1E */ fctiwz f0, f8
/* 80380830 0037D790 C0 22 CF 28 */ lfs f1, lbl_805AEC48@sda21(r2)
/* 80380834 0037D794 FC 03 08 40 */ fcmpo cr0, f3, f1
/* 80380838 0037D798 D8 01 00 30 */ stfd f0, 0x30(r1)
/* 8038083C 0037D79C 80 01 00 34 */ lwz r0, 0x34(r1)
/* 80380840 0037D7A0 98 01 00 18 */ stb r0, 0x18(r1)
/* 80380844 0037D7A4 40 81 00 08 */ ble lbl_8038084C
/* 80380848 0037D7A8 48 00 00 18 */ b lbl_80380860
lbl_8038084C:
/* 8038084C 0037D7AC C0 22 CE FC */ lfs f1, lbl_805AEC1C@sda21(r2)
/* 80380850 0037D7B0 FC 03 08 40 */ fcmpo cr0, f3, f1
/* 80380854 0037D7B4 40 80 00 08 */ bge lbl_8038085C
/* 80380858 0037D7B8 48 00 00 08 */ b lbl_80380860
lbl_8038085C:
/* 8038085C 0037D7BC FC 20 18 90 */ fmr f1, f3
lbl_80380860:
/* 80380860 0037D7C0 FC 00 08 1E */ fctiwz f0, f1
/* 80380864 0037D7C4 C0 22 CF 28 */ lfs f1, lbl_805AEC48@sda21(r2)
/* 80380868 0037D7C8 FC 02 08 40 */ fcmpo cr0, f2, f1
/* 8038086C 0037D7CC D8 01 00 30 */ stfd f0, 0x30(r1)
/* 80380870 0037D7D0 80 01 00 34 */ lwz r0, 0x34(r1)
/* 80380874 0037D7D4 98 01 00 19 */ stb r0, 0x19(r1)
/* 80380878 0037D7D8 40 81 00 08 */ ble lbl_80380880
/* 8038087C 0037D7DC 48 00 00 18 */ b lbl_80380894
lbl_80380880:
/* 80380880 0037D7E0 C0 22 CE FC */ lfs f1, lbl_805AEC1C@sda21(r2)
/* 80380884 0037D7E4 FC 02 08 40 */ fcmpo cr0, f2, f1
/* 80380888 0037D7E8 40 80 00 08 */ bge lbl_80380890
/* 8038088C 0037D7EC 48 00 00 08 */ b lbl_80380894
lbl_80380890:
/* 80380890 0037D7F0 FC 20 10 90 */ fmr f1, f2
lbl_80380894:
/* 80380894 0037D7F4 FC 00 08 1E */ fctiwz f0, f1
/* 80380898 0037D7F8 38 80 00 00 */ li r4, 0
/* 8038089C 0037D7FC 38 7D 00 00 */ addi r3, r29, 0
/* 803808A0 0037D800 D8 01 00 30 */ stfd f0, 0x30(r1)
/* 803808A4 0037D804 80 01 00 34 */ lwz r0, 0x34(r1)
/* 803808A8 0037D808 98 01 00 1A */ stb r0, 0x1a(r1)
/* 803808AC 0037D80C 98 81 00 1B */ stb r4, 0x1b(r1)
/* 803808B0 0037D810 80 01 00 18 */ lwz r0, 0x18(r1)
/* 803808B4 0037D814 90 01 00 2C */ stw r0, 0x2c(r1)
/* 803808B8 0037D818 88 A1 00 2D */ lbz r5, 0x2d(r1)
/* 803808BC 0037D81C 88 C1 00 2E */ lbz r6, 0x2e(r1)
lbl_803808C0:
/* 803808C0 0037D820 38 00 00 28 */ li r0, 0x28
/* 803808C4 0037D824 7C 09 03 A6 */ mtctr r0
lbl_803808C8:
/* 803808C8 0037D828 88 01 00 2C */ lbz r0, 0x2c(r1)
/* 803808CC 0037D82C 98 03 00 00 */ stb r0, 0(r3)
/* 803808D0 0037D830 98 A3 00 01 */ stb r5, 1(r3)
/* 803808D4 0037D834 88 01 00 2C */ lbz r0, 0x2c(r1)
/* 803808D8 0037D838 98 03 00 02 */ stb r0, 2(r3)
/* 803808DC 0037D83C 98 C3 00 03 */ stb r6, 3(r3)
/* 803808E0 0037D840 88 01 00 2C */ lbz r0, 0x2c(r1)
/* 803808E4 0037D844 98 03 00 04 */ stb r0, 4(r3)
/* 803808E8 0037D848 98 A3 00 05 */ stb r5, 5(r3)
/* 803808EC 0037D84C 88 01 00 2C */ lbz r0, 0x2c(r1)
/* 803808F0 0037D850 98 03 00 06 */ stb r0, 6(r3)
/* 803808F4 0037D854 98 C3 00 07 */ stb r6, 7(r3)
/* 803808F8 0037D858 88 01 00 2C */ lbz r0, 0x2c(r1)
/* 803808FC 0037D85C 98 03 00 08 */ stb r0, 8(r3)
/* 80380900 0037D860 98 A3 00 09 */ stb r5, 9(r3)
/* 80380904 0037D864 88 01 00 2C */ lbz r0, 0x2c(r1)
/* 80380908 0037D868 98 03 00 0A */ stb r0, 0xa(r3)
/* 8038090C 0037D86C 98 C3 00 0B */ stb r6, 0xb(r3)
/* 80380910 0037D870 88 01 00 2C */ lbz r0, 0x2c(r1)
/* 80380914 0037D874 98 03 00 0C */ stb r0, 0xc(r3)
/* 80380918 0037D878 98 A3 00 0D */ stb r5, 0xd(r3)
/* 8038091C 0037D87C 88 01 00 2C */ lbz r0, 0x2c(r1)
/* 80380920 0037D880 98 03 00 0E */ stb r0, 0xe(r3)
/* 80380924 0037D884 98 C3 00 0F */ stb r6, 0xf(r3)
/* 80380928 0037D888 88 01 00 2C */ lbz r0, 0x2c(r1)
/* 8038092C 0037D88C 98 03 00 10 */ stb r0, 0x10(r3)
/* 80380930 0037D890 98 A3 00 11 */ stb r5, 0x11(r3)
/* 80380934 0037D894 88 01 00 2C */ lbz r0, 0x2c(r1)
/* 80380938 0037D898 98 03 00 12 */ stb r0, 0x12(r3)
/* 8038093C 0037D89C 98 C3 00 13 */ stb r6, 0x13(r3)
/* 80380940 0037D8A0 88 01 00 2C */ lbz r0, 0x2c(r1)
/* 80380944 0037D8A4 98 03 00 14 */ stb r0, 0x14(r3)
/* 80380948 0037D8A8 98 A3 00 15 */ stb r5, 0x15(r3)
/* 8038094C 0037D8AC 88 01 00 2C */ lbz r0, 0x2c(r1)
/* 80380950 0037D8B0 98 03 00 16 */ stb r0, 0x16(r3)
/* 80380954 0037D8B4 98 C3 00 17 */ stb r6, 0x17(r3)
/* 80380958 0037D8B8 88 01 00 2C */ lbz r0, 0x2c(r1)
/* 8038095C 0037D8BC 98 03 00 18 */ stb r0, 0x18(r3)
/* 80380960 0037D8C0 98 A3 00 19 */ stb r5, 0x19(r3)
/* 80380964 0037D8C4 88 01 00 2C */ lbz r0, 0x2c(r1)
/* 80380968 0037D8C8 98 03 00 1A */ stb r0, 0x1a(r3)
/* 8038096C 0037D8CC 98 C3 00 1B */ stb r6, 0x1b(r3)
/* 80380970 0037D8D0 88 01 00 2C */ lbz r0, 0x2c(r1)
/* 80380974 0037D8D4 98 03 00 1C */ stb r0, 0x1c(r3)
/* 80380978 0037D8D8 98 A3 00 1D */ stb r5, 0x1d(r3)
/* 8038097C 0037D8DC 88 01 00 2C */ lbz r0, 0x2c(r1)
/* 80380980 0037D8E0 98 03 00 1E */ stb r0, 0x1e(r3)
/* 80380984 0037D8E4 98 C3 00 1F */ stb r6, 0x1f(r3)
/* 80380988 0037D8E8 38 63 00 20 */ addi r3, r3, 0x20
/* 8038098C 0037D8EC 42 00 FF 3C */ bdnz lbl_803808C8
/* 80380990 0037D8F0 38 84 00 01 */ addi r4, r4, 1
/* 80380994 0037D8F4 2C 04 01 E0 */ cmpwi r4, 0x1e0
/* 80380998 0037D8F8 41 80 FF 28 */ blt lbl_803808C0
/* 8038099C 0037D8FC 7F A3 EB 78 */ mr r3, r29
/* 803809A0 0037D900 48 00 88 A1 */ bl VISetNextFrameBuffer
/* 803809A4 0037D904 38 60 02 80 */ li r3, 0x280
/* 803809A8 0037D908 38 80 01 E0 */ li r4, 0x1e0
/* 803809AC 0037D90C 4B FF FA 89 */ bl ConfigureVideo
/* 803809B0 0037D910 48 00 87 61 */ bl VIFlush
/* 803809B4 0037D914 48 00 89 75 */ bl VIGetRetraceCount
/* 803809B8 0037D918 7C 7C 1B 78 */ mr r28, r3
lbl_803809BC:
/* 803809BC 0037D91C 48 00 89 6D */ bl VIGetRetraceCount
/* 803809C0 0037D920 7C 1C 18 50 */ subf r0, r28, r3
/* 803809C4 0037D924 2C 00 00 02 */ cmpwi r0, 2
/* 803809C8 0037D928 41 80 FF F4 */ blt lbl_803809BC
/* 803809CC 0037D92C 80 1F 00 00 */ lwz r0, 0(r31)
/* 803809D0 0037D930 3C 60 43 30 */ lis r3, 0x4330
/* 803809D4 0037D934 C8 02 CF 30 */ lfd f0, lbl_805AEC50@sda21(r2)
/* 803809D8 0037D938 90 01 00 20 */ stw r0, 0x20(r1)
/* 803809DC 0037D93C C0 82 CF 04 */ lfs f4, lbl_805AEC24@sda21(r2)
/* 803809E0 0037D940 88 01 00 20 */ lbz r0, 0x20(r1)
/* 803809E4 0037D944 88 81 00 21 */ lbz r4, 0x21(r1)
/* 803809E8 0037D948 90 01 00 3C */ stw r0, 0x3c(r1)
/* 803809EC 0037D94C 88 A1 00 22 */ lbz r5, 0x22(r1)
/* 803809F0 0037D950 90 81 00 44 */ stw r4, 0x44(r1)
/* 803809F4 0037D954 C0 42 CF 08 */ lfs f2, lbl_805AEC28@sda21(r2)
/* 803809F8 0037D958 90 61 00 38 */ stw r3, 0x38(r1)
/* 803809FC 0037D95C C0 C2 CF 00 */ lfs f6, lbl_805AEC20@sda21(r2)
/* 80380A00 0037D960 90 61 00 40 */ stw r3, 0x40(r1)
/* 80380A04 0037D964 C8 61 00 38 */ lfd f3, 0x38(r1)
/* 80380A08 0037D968 90 A1 00 34 */ stw r5, 0x34(r1)
/* 80380A0C 0037D96C C8 21 00 40 */ lfd f1, 0x40(r1)
/* 80380A10 0037D970 EC 63 00 28 */ fsubs f3, f3, f0
/* 80380A14 0037D974 90 61 00 30 */ stw r3, 0x30(r1)
/* 80380A18 0037D978 EC 21 00 28 */ fsubs f1, f1, f0
/* 80380A1C 0037D97C C1 02 CF 18 */ lfs f8, lbl_805AEC38@sda21(r2)
/* 80380A20 0037D980 90 81 00 5C */ stw r4, 0x5c(r1)
/* 80380A24 0037D984 C8 A1 00 30 */ lfd f5, 0x30(r1)
/* 80380A28 0037D988 EC 64 00 F2 */ fmuls f3, f4, f3
/* 80380A2C 0037D98C EC 85 00 28 */ fsubs f4, f5, f0
/* 80380A30 0037D990 90 01 00 54 */ stw r0, 0x54(r1)
/* 80380A34 0037D994 EC 22 00 72 */ fmuls f1, f2, f1
/* 80380A38 0037D998 C1 22 CF 14 */ lfs f9, lbl_805AEC34@sda21(r2)
/* 80380A3C 0037D99C 90 61 00 50 */ stw r3, 0x50(r1)
/* 80380A40 0037D9A0 90 01 00 64 */ stw r0, 0x64(r1)
/* 80380A44 0037D9A4 EC 86 01 32 */ fmuls f4, f6, f4
/* 80380A48 0037D9A8 EC 23 08 2A */ fadds f1, f3, f1
/* 80380A4C 0037D9AC C8 41 00 50 */ lfd f2, 0x50(r1)
/* 80380A50 0037D9B0 90 81 00 6C */ stw r4, 0x6c(r1)
/* 80380A54 0037D9B4 EC 62 00 28 */ fsubs f3, f2, f0
/* 80380A58 0037D9B8 90 A1 00 4C */ stw r5, 0x4c(r1)
/* 80380A5C 0037D9BC ED 64 08 2A */ fadds f11, f4, f1
/* 80380A60 0037D9C0 C1 42 CF 10 */ lfs f10, lbl_805AEC30@sda21(r2)
/* 80380A64 0037D9C4 90 61 00 58 */ stw r3, 0x58(r1)
/* 80380A68 0037D9C8 ED 29 00 F2 */ fmuls f9, f9, f3
/* 80380A6C 0037D9CC C0 A2 CF 1C */ lfs f5, lbl_805AEC3C@sda21(r2)
/* 80380A70 0037D9D0 C8 21 00 58 */ lfd f1, 0x58(r1)
/* 80380A74 0037D9D4 90 61 00 60 */ stw r3, 0x60(r1)
/* 80380A78 0037D9D8 EC E1 00 28 */ fsubs f7, f1, f0
/* 80380A7C 0037D9DC C0 62 CF 20 */ lfs f3, lbl_805AEC40@sda21(r2)
/* 80380A80 0037D9E0 90 61 00 68 */ stw r3, 0x68(r1)
/* 80380A84 0037D9E4 C8 41 00 60 */ lfd f2, 0x60(r1)
/* 80380A88 0037D9E8 90 A1 00 74 */ stw r5, 0x74(r1)
/* 80380A8C 0037D9EC C8 21 00 68 */ lfd f1, 0x68(r1)
/* 80380A90 0037D9F0 EC C2 00 28 */ fsubs f6, f2, f0
/* 80380A94 0037D9F4 90 61 00 70 */ stw r3, 0x70(r1)
/* 80380A98 0037D9F8 EC E8 01 F2 */ fmuls f7, f8, f7
/* 80380A9C 0037D9FC EC 81 00 28 */ fsubs f4, f1, f0
/* 80380AA0 0037DA00 90 61 00 48 */ stw r3, 0x48(r1)
/* 80380AA4 0037DA04 C0 22 CE FC */ lfs f1, lbl_805AEC1C@sda21(r2)
/* 80380AA8 0037DA08 EC CA 01 B2 */ fmuls f6, f10, f6
/* 80380AAC 0037DA0C C9 01 00 48 */ lfd f8, 0x48(r1)
/* 80380AB0 0037DA10 C8 41 00 70 */ lfd f2, 0x70(r1)
/* 80380AB4 0037DA14 EC 85 01 32 */ fmuls f4, f5, f4
/* 80380AB8 0037DA18 ED 08 00 28 */ fsubs f8, f8, f0
/* 80380ABC 0037DA1C EC 02 00 28 */ fsubs f0, f2, f0
/* 80380AC0 0037DA20 C1 82 CE F8 */ lfs f12, lbl_805AEC18@sda21(r2)
/* 80380AC4 0037DA24 EC 49 38 28 */ fsubs f2, f9, f7
/* 80380AC8 0037DA28 EC AA 02 32 */ fmuls f5, f10, f8
/* 80380ACC 0037DA2C ED 61 58 2A */ fadds f11, f1, f11
/* 80380AD0 0037DA30 EC 03 00 32 */ fmuls f0, f3, f0
/* 80380AD4 0037DA34 C0 E2 CF 0C */ lfs f7, lbl_805AEC2C@sda21(r2)
/* 80380AD8 0037DA38 EC A5 10 2A */ fadds f5, f5, f2
/* 80380ADC 0037DA3C EC 46 20 28 */ fsubs f2, f6, f4
/* 80380AE0 0037DA40 ED 2C 58 2A */ fadds f9, f12, f11
/* 80380AE4 0037DA44 C1 02 CF 24 */ lfs f8, lbl_805AEC44@sda21(r2)
/* 80380AE8 0037DA48 EC 67 28 2A */ fadds f3, f7, f5
/* 80380AEC 0037DA4C EC 02 00 28 */ fsubs f0, f2, f0
/* 80380AF0 0037DA50 FC 09 40 40 */ fcmpo cr0, f9, f8
/* 80380AF4 0037DA54 EC 6C 18 2A */ fadds f3, f12, f3
/* 80380AF8 0037DA58 EC 07 00 2A */ fadds f0, f7, f0
/* 80380AFC 0037DA5C EC 4C 00 2A */ fadds f2, f12, f0
/* 80380B00 0037DA60 40 81 00 08 */ ble lbl_80380B08
/* 80380B04 0037DA64 48 00 00 18 */ b lbl_80380B1C
lbl_80380B08:
/* 80380B08 0037DA68 FC 09 08 40 */ fcmpo cr0, f9, f1
/* 80380B0C 0037DA6C 40 80 00 08 */ bge lbl_80380B14
/* 80380B10 0037DA70 48 00 00 08 */ b lbl_80380B18
lbl_80380B14:
/* 80380B14 0037DA74 FC 20 48 90 */ fmr f1, f9
lbl_80380B18:
/* 80380B18 0037DA78 FD 00 08 90 */ fmr f8, f1
lbl_80380B1C:
/* 80380B1C 0037DA7C FC 00 40 1E */ fctiwz f0, f8
/* 80380B20 0037DA80 C0 22 CF 28 */ lfs f1, lbl_805AEC48@sda21(r2)
/* 80380B24 0037DA84 FC 03 08 40 */ fcmpo cr0, f3, f1
/* 80380B28 0037DA88 D8 01 00 30 */ stfd f0, 0x30(r1)
/* 80380B2C 0037DA8C 80 01 00 34 */ lwz r0, 0x34(r1)
/* 80380B30 0037DA90 98 01 00 1C */ stb r0, 0x1c(r1)
/* 80380B34 0037DA94 40 81 00 08 */ ble lbl_80380B3C
/* 80380B38 0037DA98 48 00 00 18 */ b lbl_80380B50
lbl_80380B3C:
/* 80380B3C 0037DA9C C0 22 CE FC */ lfs f1, lbl_805AEC1C@sda21(r2)
/* 80380B40 0037DAA0 FC 03 08 40 */ fcmpo cr0, f3, f1
/* 80380B44 0037DAA4 40 80 00 08 */ bge lbl_80380B4C
/* 80380B48 0037DAA8 48 00 00 08 */ b lbl_80380B50
lbl_80380B4C:
/* 80380B4C 0037DAAC FC 20 18 90 */ fmr f1, f3
lbl_80380B50:
/* 80380B50 0037DAB0 FC 00 08 1E */ fctiwz f0, f1
/* 80380B54 0037DAB4 C0 22 CF 28 */ lfs f1, lbl_805AEC48@sda21(r2)
/* 80380B58 0037DAB8 FC 02 08 40 */ fcmpo cr0, f2, f1
/* 80380B5C 0037DABC D8 01 00 30 */ stfd f0, 0x30(r1)
/* 80380B60 0037DAC0 80 01 00 34 */ lwz r0, 0x34(r1)
/* 80380B64 0037DAC4 98 01 00 1D */ stb r0, 0x1d(r1)
/* 80380B68 0037DAC8 40 81 00 08 */ ble lbl_80380B70
/* 80380B6C 0037DACC 48 00 00 18 */ b lbl_80380B84
lbl_80380B70:
/* 80380B70 0037DAD0 C0 22 CE FC */ lfs f1, lbl_805AEC1C@sda21(r2)
/* 80380B74 0037DAD4 FC 02 08 40 */ fcmpo cr0, f2, f1
/* 80380B78 0037DAD8 40 80 00 08 */ bge lbl_80380B80
/* 80380B7C 0037DADC 48 00 00 08 */ b lbl_80380B84
lbl_80380B80:
/* 80380B80 0037DAE0 FC 20 10 90 */ fmr f1, f2
lbl_80380B84:
/* 80380B84 0037DAE4 FC 00 08 1E */ fctiwz f0, f1
/* 80380B88 0037DAE8 38 00 00 00 */ li r0, 0
/* 80380B8C 0037DAEC 38 C1 00 24 */ addi r6, r1, 0x24
/* 80380B90 0037DAF0 38 7D 00 00 */ addi r3, r29, 0
/* 80380B94 0037DAF4 D8 01 00 30 */ stfd f0, 0x30(r1)
/* 80380B98 0037DAF8 38 80 02 80 */ li r4, 0x280
/* 80380B9C 0037DAFC 80 E1 00 34 */ lwz r7, 0x34(r1)
/* 80380BA0 0037DB00 38 A0 01 E0 */ li r5, 0x1e0
/* 80380BA4 0037DB04 39 00 00 64 */ li r8, 0x64
/* 80380BA8 0037DB08 98 E1 00 1E */ stb r7, 0x1e(r1)
/* 80380BAC 0037DB0C 38 E0 00 30 */ li r7, 0x30
/* 80380BB0 0037DB10 98 01 00 1F */ stb r0, 0x1f(r1)
/* 80380BB4 0037DB14 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 80380BB8 0037DB18 90 01 00 24 */ stw r0, 0x24(r1)
/* 80380BBC 0037DB1C A1 3E 00 0E */ lhz r9, 0xe(r30)
/* 80380BC0 0037DB20 81 5F 00 08 */ lwz r10, 8(r31)
/* 80380BC4 0037DB24 4B FF F4 95 */ bl ScreenReport
/* 80380BC8 0037DB28 3C 80 00 09 */ lis r4, 0x00096000@ha
/* 80380BCC 0037DB2C 38 7D 00 00 */ addi r3, r29, 0
/* 80380BD0 0037DB30 38 84 60 00 */ addi r4, r4, 0x00096000@l
/* 80380BD4 0037DB34 4B FF DE DD */ bl DCFlushRange
/* 80380BD8 0037DB38 38 60 00 00 */ li r3, 0
/* 80380BDC 0037DB3C 48 00 86 D1 */ bl VISetBlack
/* 80380BE0 0037DB40 48 00 85 31 */ bl VIFlush
/* 80380BE4 0037DB44 48 00 87 45 */ bl VIGetRetraceCount
/* 80380BE8 0037DB48 7C 7D 1B 78 */ mr r29, r3
lbl_80380BEC:
/* 80380BEC 0037DB4C 48 00 87 3D */ bl VIGetRetraceCount
/* 80380BF0 0037DB50 7C 1D 18 50 */ subf r0, r29, r3
/* 80380BF4 0037DB54 2C 00 00 01 */ cmpwi r0, 1
/* 80380BF8 0037DB58 41 80 FF F4 */ blt lbl_80380BEC
/* 80380BFC 0037DB5C 48 00 0A 65 */ bl OSDisableInterrupts
/* 80380C00 0037DB60 80 9F 00 08 */ lwz r4, 8(r31)
/* 80380C04 0037DB64 4C C6 31 82 */ crclr 6
/* 80380C08 0037DB68 38 6D 9F 80 */ addi r3, r13, lbl_805A8B40@sda21
/* 80380C0C 0037DB6C 4B FF ED A1 */ bl OSReport
/* 80380C10 0037DB70 4B FE EC 05 */ bl PPCHalt
/* 80380C14 0037DB74 80 01 00 8C */ lwz r0, 0x8c(r1)
/* 80380C18 0037DB78 83 E1 00 84 */ lwz r31, 0x84(r1)
/* 80380C1C 0037DB7C 83 C1 00 80 */ lwz r30, 0x80(r1)
/* 80380C20 0037DB80 83 A1 00 7C */ lwz r29, 0x7c(r1)
/* 80380C24 0037DB84 83 81 00 78 */ lwz r28, 0x78(r1)
/* 80380C28 0037DB88 38 21 00 88 */ addi r1, r1, 0x88
/* 80380C2C 0037DB8C 7C 08 03 A6 */ mtlr r0
/* 80380C30 0037DB90 4E 80 00 20 */ blr

File diff suppressed because it is too large Load Diff

View File

@ -1,694 +0,0 @@
.include "macros.inc"
.section .sbss
.balign 8
.global InterruptHandlerTable
InterruptHandlerTable:
.skip 0x4
.global __OSLastInterruptSrr0
__OSLastInterruptSrr0:
.skip 0x4
.global __OSLastInterrupt
__OSLastInterrupt:
.skip 0x2
.skip 6
.global __OSLastInterruptTime
__OSLastInterruptTime:
.skip 0x8
.section .data
.balign 8
.global InterruptPrioTable
InterruptPrioTable:
.4byte 0x00000100
.4byte 0x00000040
.4byte 0xF8000000
.4byte 0x00000200
.4byte 0x00000080
.4byte 0x00003000
.4byte 0x00000020
.4byte 0x03FF8C00
.4byte 0x04000000
.4byte 0x00004000
.4byte 0xFFFFFFFF
.4byte 0x00000000
.section .text, "ax"
.global OSDisableInterrupts
OSDisableInterrupts:
.global __RAS_OSDisableInterrupts_begin
__RAS_OSDisableInterrupts_begin:
/* 80381660 0037E5C0 7C 60 00 A6 */ mfmsr r3
/* 80381664 0037E5C4 54 64 04 5E */ rlwinm r4, r3, 0, 0x11, 0xf
/* 80381668 0037E5C8 7C 80 01 24 */ mtmsr r4
.global __RAS_OSDisableInterrupts_end
__RAS_OSDisableInterrupts_end:
/* 8038166C 0037E5CC 54 63 8F FE */ rlwinm r3, r3, 0x11, 0x1f, 0x1f
/* 80381670 0037E5D0 4E 80 00 20 */ blr
.global OSEnableInterrupts
OSEnableInterrupts:
/* 80381674 0037E5D4 7C 60 00 A6 */ mfmsr r3
/* 80381678 0037E5D8 60 64 80 00 */ ori r4, r3, 0x8000
/* 8038167C 0037E5DC 7C 80 01 24 */ mtmsr r4
/* 80381680 0037E5E0 54 63 8F FE */ rlwinm r3, r3, 0x11, 0x1f, 0x1f
/* 80381684 0037E5E4 4E 80 00 20 */ blr
.global OSRestoreInterrupts
OSRestoreInterrupts:
/* 80381688 0037E5E8 2C 03 00 00 */ cmpwi r3, 0
/* 8038168C 0037E5EC 7C 80 00 A6 */ mfmsr r4
/* 80381690 0037E5F0 41 82 00 0C */ beq lbl_8038169C
/* 80381694 0037E5F4 60 85 80 00 */ ori r5, r4, 0x8000
/* 80381698 0037E5F8 48 00 00 08 */ b lbl_803816A0
lbl_8038169C:
/* 8038169C 0037E5FC 54 85 04 5E */ rlwinm r5, r4, 0, 0x11, 0xf
lbl_803816A0:
/* 803816A0 0037E600 7C A0 01 24 */ mtmsr r5
/* 803816A4 0037E604 54 83 8F FE */ rlwinm r3, r4, 0x11, 0x1f, 0x1f
/* 803816A8 0037E608 4E 80 00 20 */ blr
.global __OSSetInterruptHandler
__OSSetInterruptHandler:
/* 803816AC 0037E60C 7C 60 07 34 */ extsh r0, r3
/* 803816B0 0037E610 80 6D AD 10 */ lwz r3, InterruptHandlerTable@sda21(r13)
/* 803816B4 0037E614 54 00 10 3A */ slwi r0, r0, 2
/* 803816B8 0037E618 7C A3 02 14 */ add r5, r3, r0
/* 803816BC 0037E61C 80 65 00 00 */ lwz r3, 0(r5)
/* 803816C0 0037E620 90 85 00 00 */ stw r4, 0(r5)
/* 803816C4 0037E624 4E 80 00 20 */ blr
.global __OSGetInterruptHandler
__OSGetInterruptHandler:
/* 803816C8 0037E628 7C 60 07 34 */ extsh r0, r3
/* 803816CC 0037E62C 80 6D AD 10 */ lwz r3, InterruptHandlerTable@sda21(r13)
/* 803816D0 0037E630 54 00 10 3A */ slwi r0, r0, 2
/* 803816D4 0037E634 7C 63 00 2E */ lwzx r3, r3, r0
/* 803816D8 0037E638 4E 80 00 20 */ blr
.global __OSInterruptInit
__OSInterruptInit:
/* 803816DC 0037E63C 7C 08 02 A6 */ mflr r0
/* 803816E0 0037E640 90 01 00 04 */ stw r0, 4(r1)
/* 803816E4 0037E644 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 803816E8 0037E648 93 E1 00 0C */ stw r31, 0xc(r1)
/* 803816EC 0037E64C 3F E0 80 00 */ lis r31, 0x80003040@ha
/* 803816F0 0037E650 38 1F 30 40 */ addi r0, r31, 0x80003040@l
/* 803816F4 0037E654 90 0D AD 10 */ stw r0, InterruptHandlerTable@sda21(r13)
/* 803816F8 0037E658 38 80 00 00 */ li r4, 0
/* 803816FC 0037E65C 38 A0 00 80 */ li r5, 0x80
/* 80381700 0037E660 80 6D AD 10 */ lwz r3, InterruptHandlerTable@sda21(r13)
/* 80381704 0037E664 4B C8 1C A5 */ bl memset
/* 80381708 0037E668 38 00 00 00 */ li r0, 0
/* 8038170C 0037E66C 90 1F 00 C4 */ stw r0, 0xc4(r31)
/* 80381710 0037E670 3C 60 CC 00 */ lis r3, 0xCC003000@ha
/* 80381714 0037E674 38 83 30 00 */ addi r4, r3, 0xCC003000@l
/* 80381718 0037E678 90 1F 00 C8 */ stw r0, 0xc8(r31)
/* 8038171C 0037E67C 38 00 00 F0 */ li r0, 0xf0
/* 80381720 0037E680 38 60 FF E0 */ li r3, -32
/* 80381724 0037E684 90 04 00 04 */ stw r0, 4(r4)
/* 80381728 0037E688 48 00 03 01 */ bl __OSMaskInterrupts
/* 8038172C 0037E68C 3C 60 80 38 */ lis r3, ExternalInterruptHandler@ha
/* 80381730 0037E690 38 83 1E 7C */ addi r4, r3, ExternalInterruptHandler@l
/* 80381734 0037E694 38 60 00 04 */ li r3, 4
/* 80381738 0037E698 4B FF C7 91 */ bl __OSSetExceptionHandler
/* 8038173C 0037E69C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80381740 0037E6A0 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80381744 0037E6A4 38 21 00 10 */ addi r1, r1, 0x10
/* 80381748 0037E6A8 7C 08 03 A6 */ mtlr r0
/* 8038174C 0037E6AC 4E 80 00 20 */ blr
.global SetInterruptMask
SetInterruptMask:
/* 80381750 0037E6B0 7C 60 00 34 */ cntlzw r0, r3
/* 80381754 0037E6B4 2C 00 00 0C */ cmpwi r0, 0xc
/* 80381758 0037E6B8 40 80 00 24 */ bge lbl_8038177C
/* 8038175C 0037E6BC 2C 00 00 08 */ cmpwi r0, 8
/* 80381760 0037E6C0 41 82 00 FC */ beq lbl_8038185C
/* 80381764 0037E6C4 40 80 01 28 */ bge lbl_8038188C
/* 80381768 0037E6C8 2C 00 00 05 */ cmpwi r0, 5
/* 8038176C 0037E6CC 40 80 00 9C */ bge lbl_80381808
/* 80381770 0037E6D0 2C 00 00 00 */ cmpwi r0, 0
/* 80381774 0037E6D4 40 80 00 28 */ bge lbl_8038179C
/* 80381778 0037E6D8 48 00 02 AC */ b lbl_80381A24
lbl_8038177C:
/* 8038177C 0037E6DC 2C 00 00 11 */ cmpwi r0, 0x11
/* 80381780 0037E6E0 40 80 00 10 */ bge lbl_80381790
/* 80381784 0037E6E4 2C 00 00 0F */ cmpwi r0, 0xf
/* 80381788 0037E6E8 40 80 01 A8 */ bge lbl_80381930
/* 8038178C 0037E6EC 48 00 01 50 */ b lbl_803818DC
lbl_80381790:
/* 80381790 0037E6F0 2C 00 00 1B */ cmpwi r0, 0x1b
/* 80381794 0037E6F4 40 80 02 90 */ bge lbl_80381A24
/* 80381798 0037E6F8 48 00 01 D8 */ b lbl_80381970
lbl_8038179C:
/* 8038179C 0037E6FC 54 80 00 00 */ rlwinm r0, r4, 0, 0, 0
/* 803817A0 0037E700 28 00 00 00 */ cmplwi r0, 0
/* 803817A4 0037E704 38 A0 00 00 */ li r5, 0
/* 803817A8 0037E708 40 82 00 08 */ bne lbl_803817B0
/* 803817AC 0037E70C 60 A5 00 01 */ ori r5, r5, 1
lbl_803817B0:
/* 803817B0 0037E710 54 80 00 42 */ rlwinm r0, r4, 0, 1, 1
/* 803817B4 0037E714 28 00 00 00 */ cmplwi r0, 0
/* 803817B8 0037E718 40 82 00 08 */ bne lbl_803817C0
/* 803817BC 0037E71C 60 A5 00 02 */ ori r5, r5, 2
lbl_803817C0:
/* 803817C0 0037E720 54 80 00 84 */ rlwinm r0, r4, 0, 2, 2
/* 803817C4 0037E724 28 00 00 00 */ cmplwi r0, 0
/* 803817C8 0037E728 40 82 00 08 */ bne lbl_803817D0
/* 803817CC 0037E72C 60 A5 00 04 */ ori r5, r5, 4
lbl_803817D0:
/* 803817D0 0037E730 54 80 00 C6 */ rlwinm r0, r4, 0, 3, 3
/* 803817D4 0037E734 28 00 00 00 */ cmplwi r0, 0
/* 803817D8 0037E738 40 82 00 08 */ bne lbl_803817E0
/* 803817DC 0037E73C 60 A5 00 08 */ ori r5, r5, 8
lbl_803817E0:
/* 803817E0 0037E740 54 80 01 08 */ rlwinm r0, r4, 0, 4, 4
/* 803817E4 0037E744 28 00 00 00 */ cmplwi r0, 0
/* 803817E8 0037E748 40 82 00 08 */ bne lbl_803817F0
/* 803817EC 0037E74C 60 A5 00 10 */ ori r5, r5, 0x10
lbl_803817F0:
/* 803817F0 0037E750 3C 80 CC 00 */ lis r4, 0xCC004000@ha
/* 803817F4 0037E754 54 A0 04 3E */ clrlwi r0, r5, 0x10
/* 803817F8 0037E758 38 84 40 00 */ addi r4, r4, 0xCC004000@l
/* 803817FC 0037E75C B0 04 00 1C */ sth r0, 0x1c(r4)
/* 80381800 0037E760 54 63 01 7E */ clrlwi r3, r3, 5
/* 80381804 0037E764 48 00 02 20 */ b lbl_80381A24
lbl_80381808:
/* 80381808 0037E768 3C A0 CC 00 */ lis r5, 0xCC005000@ha
/* 8038180C 0037E76C 38 A5 50 00 */ addi r5, r5, 0xCC005000@l
/* 80381810 0037E770 38 A5 00 0A */ addi r5, r5, 0xa
/* 80381814 0037E774 54 80 01 4A */ rlwinm r0, r4, 0, 5, 5
/* 80381818 0037E778 A0 C5 00 00 */ lhz r6, 0(r5)
/* 8038181C 0037E77C 28 00 00 00 */ cmplwi r0, 0
/* 80381820 0037E780 54 C6 07 6C */ rlwinm r6, r6, 0, 0x1d, 0x16
/* 80381824 0037E784 40 82 00 08 */ bne lbl_8038182C
/* 80381828 0037E788 60 C6 00 10 */ ori r6, r6, 0x10
lbl_8038182C:
/* 8038182C 0037E78C 54 80 01 8C */ rlwinm r0, r4, 0, 6, 6
/* 80381830 0037E790 28 00 00 00 */ cmplwi r0, 0
/* 80381834 0037E794 40 82 00 08 */ bne lbl_8038183C
/* 80381838 0037E798 60 C6 00 40 */ ori r6, r6, 0x40
lbl_8038183C:
/* 8038183C 0037E79C 54 80 01 CE */ rlwinm r0, r4, 0, 7, 7
/* 80381840 0037E7A0 28 00 00 00 */ cmplwi r0, 0
/* 80381844 0037E7A4 40 82 00 08 */ bne lbl_8038184C
/* 80381848 0037E7A8 60 C6 01 00 */ ori r6, r6, 0x100
lbl_8038184C:
/* 8038184C 0037E7AC 54 C0 04 3E */ clrlwi r0, r6, 0x10
/* 80381850 0037E7B0 B0 05 00 00 */ sth r0, 0(r5)
/* 80381854 0037E7B4 54 63 02 08 */ rlwinm r3, r3, 0, 8, 4
/* 80381858 0037E7B8 48 00 01 CC */ b lbl_80381A24
lbl_8038185C:
/* 8038185C 0037E7BC 54 80 02 10 */ rlwinm r0, r4, 0, 8, 8
/* 80381860 0037E7C0 3C 80 CC 00 */ lis r4, 0xCC006C00@ha
/* 80381864 0037E7C4 28 00 00 00 */ cmplwi r0, 0
/* 80381868 0037E7C8 80 A4 6C 00 */ lwz r5, 0xCC006C00@l(r4)
/* 8038186C 0037E7CC 38 00 FF D3 */ li r0, -45
/* 80381870 0037E7D0 7C A5 00 38 */ and r5, r5, r0
/* 80381874 0037E7D4 40 82 00 08 */ bne lbl_8038187C
/* 80381878 0037E7D8 60 A5 00 04 */ ori r5, r5, 4
lbl_8038187C:
/* 8038187C 0037E7DC 3C 80 CC 00 */ lis r4, 0xCC006C00@ha
/* 80381880 0037E7E0 90 A4 6C 00 */ stw r5, 0xCC006C00@l(r4)
/* 80381884 0037E7E4 54 63 02 4E */ rlwinm r3, r3, 0, 9, 7
/* 80381888 0037E7E8 48 00 01 9C */ b lbl_80381A24
lbl_8038188C:
/* 8038188C 0037E7EC 54 80 02 52 */ rlwinm r0, r4, 0, 9, 9
/* 80381890 0037E7F0 3C A0 CC 00 */ lis r5, 0xCC006800@ha
/* 80381894 0037E7F4 28 00 00 00 */ cmplwi r0, 0
/* 80381898 0037E7F8 80 A5 68 00 */ lwz r5, 0xCC006800@l(r5)
/* 8038189C 0037E7FC 38 00 D3 F0 */ li r0, -11280
/* 803818A0 0037E800 7C A5 00 38 */ and r5, r5, r0
/* 803818A4 0037E804 40 82 00 08 */ bne lbl_803818AC
/* 803818A8 0037E808 60 A5 00 01 */ ori r5, r5, 1
lbl_803818AC:
/* 803818AC 0037E80C 54 80 02 94 */ rlwinm r0, r4, 0, 0xa, 0xa
/* 803818B0 0037E810 28 00 00 00 */ cmplwi r0, 0
/* 803818B4 0037E814 40 82 00 08 */ bne lbl_803818BC
/* 803818B8 0037E818 60 A5 00 04 */ ori r5, r5, 4
lbl_803818BC:
/* 803818BC 0037E81C 54 80 02 D6 */ rlwinm r0, r4, 0, 0xb, 0xb
/* 803818C0 0037E820 28 00 00 00 */ cmplwi r0, 0
/* 803818C4 0037E824 40 82 00 08 */ bne lbl_803818CC
/* 803818C8 0037E828 60 A5 04 00 */ ori r5, r5, 0x400
lbl_803818CC:
/* 803818CC 0037E82C 3C 80 CC 00 */ lis r4, 0xCC006800@ha
/* 803818D0 0037E830 90 A4 68 00 */ stw r5, 0xCC006800@l(r4)
/* 803818D4 0037E834 54 63 03 10 */ rlwinm r3, r3, 0, 0xc, 8
/* 803818D8 0037E838 48 00 01 4C */ b lbl_80381A24
lbl_803818DC:
/* 803818DC 0037E83C 3C A0 CC 00 */ lis r5, 0xCC006800@ha
/* 803818E0 0037E840 38 C5 68 00 */ addi r6, r5, 0xCC006800@l
/* 803818E4 0037E844 38 C6 00 14 */ addi r6, r6, 0x14
/* 803818E8 0037E848 54 80 03 18 */ rlwinm r0, r4, 0, 0xc, 0xc
/* 803818EC 0037E84C 80 E6 00 00 */ lwz r7, 0(r6)
/* 803818F0 0037E850 38 A0 F3 F0 */ li r5, -3088
/* 803818F4 0037E854 28 00 00 00 */ cmplwi r0, 0
/* 803818F8 0037E858 7C E7 28 38 */ and r7, r7, r5
/* 803818FC 0037E85C 40 82 00 08 */ bne lbl_80381904
/* 80381900 0037E860 60 E7 00 01 */ ori r7, r7, 1
lbl_80381904:
/* 80381904 0037E864 54 80 03 5A */ rlwinm r0, r4, 0, 0xd, 0xd
/* 80381908 0037E868 28 00 00 00 */ cmplwi r0, 0
/* 8038190C 0037E86C 40 82 00 08 */ bne lbl_80381914
/* 80381910 0037E870 60 E7 00 04 */ ori r7, r7, 4
lbl_80381914:
/* 80381914 0037E874 54 80 03 9C */ rlwinm r0, r4, 0, 0xe, 0xe
/* 80381918 0037E878 28 00 00 00 */ cmplwi r0, 0
/* 8038191C 0037E87C 40 82 00 08 */ bne lbl_80381924
/* 80381920 0037E880 60 E7 04 00 */ ori r7, r7, 0x400
lbl_80381924:
/* 80381924 0037E884 90 E6 00 00 */ stw r7, 0(r6)
/* 80381928 0037E888 54 63 03 D6 */ rlwinm r3, r3, 0, 0xf, 0xb
/* 8038192C 0037E88C 48 00 00 F8 */ b lbl_80381A24
lbl_80381930:
/* 80381930 0037E890 3C A0 CC 00 */ lis r5, 0xCC006800@ha
/* 80381934 0037E894 38 A5 68 00 */ addi r5, r5, 0xCC006800@l
/* 80381938 0037E898 38 A5 00 28 */ addi r5, r5, 0x28
/* 8038193C 0037E89C 54 80 03 DE */ rlwinm r0, r4, 0, 0xf, 0xf
/* 80381940 0037E8A0 80 C5 00 00 */ lwz r6, 0(r5)
/* 80381944 0037E8A4 28 00 00 00 */ cmplwi r0, 0
/* 80381948 0037E8A8 54 C6 00 36 */ rlwinm r6, r6, 0, 0, 0x1b
/* 8038194C 0037E8AC 40 82 00 08 */ bne lbl_80381954
/* 80381950 0037E8B0 60 C6 00 01 */ ori r6, r6, 1
lbl_80381954:
/* 80381954 0037E8B4 54 80 04 20 */ rlwinm r0, r4, 0, 0x10, 0x10
/* 80381958 0037E8B8 28 00 00 00 */ cmplwi r0, 0
/* 8038195C 0037E8BC 40 82 00 08 */ bne lbl_80381964
/* 80381960 0037E8C0 60 C6 00 04 */ ori r6, r6, 4
lbl_80381964:
/* 80381964 0037E8C4 90 C5 00 00 */ stw r6, 0(r5)
/* 80381968 0037E8C8 54 63 04 5C */ rlwinm r3, r3, 0, 0x11, 0xe
/* 8038196C 0037E8CC 48 00 00 B8 */ b lbl_80381A24
lbl_80381970:
/* 80381970 0037E8D0 54 80 04 62 */ rlwinm r0, r4, 0, 0x11, 0x11
/* 80381974 0037E8D4 28 00 00 00 */ cmplwi r0, 0
/* 80381978 0037E8D8 38 A0 00 F0 */ li r5, 0xf0
/* 8038197C 0037E8DC 40 82 00 08 */ bne lbl_80381984
/* 80381980 0037E8E0 60 A5 08 00 */ ori r5, r5, 0x800
lbl_80381984:
/* 80381984 0037E8E4 54 80 05 28 */ rlwinm r0, r4, 0, 0x14, 0x14
/* 80381988 0037E8E8 28 00 00 00 */ cmplwi r0, 0
/* 8038198C 0037E8EC 40 82 00 08 */ bne lbl_80381994
/* 80381990 0037E8F0 60 A5 00 08 */ ori r5, r5, 8
lbl_80381994:
/* 80381994 0037E8F4 54 80 05 6A */ rlwinm r0, r4, 0, 0x15, 0x15
/* 80381998 0037E8F8 28 00 00 00 */ cmplwi r0, 0
/* 8038199C 0037E8FC 40 82 00 08 */ bne lbl_803819A4
/* 803819A0 0037E900 60 A5 00 04 */ ori r5, r5, 4
lbl_803819A4:
/* 803819A4 0037E904 54 80 05 AC */ rlwinm r0, r4, 0, 0x16, 0x16
/* 803819A8 0037E908 28 00 00 00 */ cmplwi r0, 0
/* 803819AC 0037E90C 40 82 00 08 */ bne lbl_803819B4
/* 803819B0 0037E910 60 A5 00 02 */ ori r5, r5, 2
lbl_803819B4:
/* 803819B4 0037E914 54 80 05 EE */ rlwinm r0, r4, 0, 0x17, 0x17
/* 803819B8 0037E918 28 00 00 00 */ cmplwi r0, 0
/* 803819BC 0037E91C 40 82 00 08 */ bne lbl_803819C4
/* 803819C0 0037E920 60 A5 00 01 */ ori r5, r5, 1
lbl_803819C4:
/* 803819C4 0037E924 54 80 06 30 */ rlwinm r0, r4, 0, 0x18, 0x18
/* 803819C8 0037E928 28 00 00 00 */ cmplwi r0, 0
/* 803819CC 0037E92C 40 82 00 08 */ bne lbl_803819D4
/* 803819D0 0037E930 60 A5 01 00 */ ori r5, r5, 0x100
lbl_803819D4:
/* 803819D4 0037E934 54 80 06 72 */ rlwinm r0, r4, 0, 0x19, 0x19
/* 803819D8 0037E938 28 00 00 00 */ cmplwi r0, 0
/* 803819DC 0037E93C 40 82 00 08 */ bne lbl_803819E4
/* 803819E0 0037E940 60 A5 10 00 */ ori r5, r5, 0x1000
lbl_803819E4:
/* 803819E4 0037E944 54 80 04 A4 */ rlwinm r0, r4, 0, 0x12, 0x12
/* 803819E8 0037E948 28 00 00 00 */ cmplwi r0, 0
/* 803819EC 0037E94C 40 82 00 08 */ bne lbl_803819F4
/* 803819F0 0037E950 60 A5 02 00 */ ori r5, r5, 0x200
lbl_803819F4:
/* 803819F4 0037E954 54 80 04 E6 */ rlwinm r0, r4, 0, 0x13, 0x13
/* 803819F8 0037E958 28 00 00 00 */ cmplwi r0, 0
/* 803819FC 0037E95C 40 82 00 08 */ bne lbl_80381A04
/* 80381A00 0037E960 60 A5 04 00 */ ori r5, r5, 0x400
lbl_80381A04:
/* 80381A04 0037E964 54 80 06 B4 */ rlwinm r0, r4, 0, 0x1a, 0x1a
/* 80381A08 0037E968 28 00 00 00 */ cmplwi r0, 0
/* 80381A0C 0037E96C 40 82 00 08 */ bne lbl_80381A14
/* 80381A10 0037E970 60 A5 20 00 */ ori r5, r5, 0x2000
lbl_80381A14:
/* 80381A14 0037E974 3C 80 CC 00 */ lis r4, 0xCC003000@ha
/* 80381A18 0037E978 38 84 30 00 */ addi r4, r4, 0xCC003000@l
/* 80381A1C 0037E97C 90 A4 00 04 */ stw r5, 4(r4)
/* 80381A20 0037E980 54 63 06 E0 */ rlwinm r3, r3, 0, 0x1b, 0x10
lbl_80381A24:
/* 80381A24 0037E984 4E 80 00 20 */ blr
.global __OSMaskInterrupts
__OSMaskInterrupts:
/* 80381A28 0037E988 7C 08 02 A6 */ mflr r0
/* 80381A2C 0037E98C 90 01 00 04 */ stw r0, 4(r1)
/* 80381A30 0037E990 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80381A34 0037E994 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80381A38 0037E998 93 C1 00 18 */ stw r30, 0x18(r1)
/* 80381A3C 0037E99C 93 A1 00 14 */ stw r29, 0x14(r1)
/* 80381A40 0037E9A0 7C 7F 1B 78 */ mr r31, r3
/* 80381A44 0037E9A4 4B FF FC 1D */ bl OSDisableInterrupts
/* 80381A48 0037E9A8 3C 80 80 00 */ lis r4, 0x800000C4@ha
/* 80381A4C 0037E9AC 83 A4 00 C4 */ lwz r29, 0x800000C4@l(r4)
/* 80381A50 0037E9B0 7C 7E 1B 78 */ mr r30, r3
/* 80381A54 0037E9B4 80 A4 00 C8 */ lwz r5, 0xc8(r4)
/* 80381A58 0037E9B8 7F A0 2B 78 */ or r0, r29, r5
/* 80381A5C 0037E9BC 7F E3 00 78 */ andc r3, r31, r0
/* 80381A60 0037E9C0 7F FF EB 78 */ or r31, r31, r29
/* 80381A64 0037E9C4 93 E4 00 C4 */ stw r31, 0xc4(r4)
/* 80381A68 0037E9C8 7F FF 2B 78 */ or r31, r31, r5
/* 80381A6C 0037E9CC 48 00 00 04 */ b lbl_80381A70
lbl_80381A70:
/* 80381A70 0037E9D0 48 00 00 04 */ b lbl_80381A74
lbl_80381A74:
/* 80381A74 0037E9D4 48 00 00 0C */ b lbl_80381A80
lbl_80381A78:
/* 80381A78 0037E9D8 7F E4 FB 78 */ mr r4, r31
/* 80381A7C 0037E9DC 4B FF FC D5 */ bl SetInterruptMask
lbl_80381A80:
/* 80381A80 0037E9E0 28 03 00 00 */ cmplwi r3, 0
/* 80381A84 0037E9E4 40 82 FF F4 */ bne lbl_80381A78
/* 80381A88 0037E9E8 7F C3 F3 78 */ mr r3, r30
/* 80381A8C 0037E9EC 4B FF FB FD */ bl OSRestoreInterrupts
/* 80381A90 0037E9F0 7F A3 EB 78 */ mr r3, r29
/* 80381A94 0037E9F4 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80381A98 0037E9F8 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80381A9C 0037E9FC 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80381AA0 0037EA00 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 80381AA4 0037EA04 38 21 00 20 */ addi r1, r1, 0x20
/* 80381AA8 0037EA08 7C 08 03 A6 */ mtlr r0
/* 80381AAC 0037EA0C 4E 80 00 20 */ blr
.global __OSUnmaskInterrupts
__OSUnmaskInterrupts:
/* 80381AB0 0037EA10 7C 08 02 A6 */ mflr r0
/* 80381AB4 0037EA14 90 01 00 04 */ stw r0, 4(r1)
/* 80381AB8 0037EA18 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80381ABC 0037EA1C 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80381AC0 0037EA20 93 C1 00 18 */ stw r30, 0x18(r1)
/* 80381AC4 0037EA24 93 A1 00 14 */ stw r29, 0x14(r1)
/* 80381AC8 0037EA28 7C 7F 1B 78 */ mr r31, r3
/* 80381ACC 0037EA2C 4B FF FB 95 */ bl OSDisableInterrupts
/* 80381AD0 0037EA30 3C 80 80 00 */ lis r4, 0x800000C4@ha
/* 80381AD4 0037EA34 83 A4 00 C4 */ lwz r29, 0x800000C4@l(r4)
/* 80381AD8 0037EA38 7C 7E 1B 78 */ mr r30, r3
/* 80381ADC 0037EA3C 80 A4 00 C8 */ lwz r5, 0xc8(r4)
/* 80381AE0 0037EA40 7F A0 2B 78 */ or r0, r29, r5
/* 80381AE4 0037EA44 7F E3 00 38 */ and r3, r31, r0
/* 80381AE8 0037EA48 7F BF F8 78 */ andc r31, r29, r31
/* 80381AEC 0037EA4C 93 E4 00 C4 */ stw r31, 0xc4(r4)
/* 80381AF0 0037EA50 7F FF 2B 78 */ or r31, r31, r5
/* 80381AF4 0037EA54 48 00 00 04 */ b lbl_80381AF8
lbl_80381AF8:
/* 80381AF8 0037EA58 48 00 00 04 */ b lbl_80381AFC
lbl_80381AFC:
/* 80381AFC 0037EA5C 48 00 00 0C */ b lbl_80381B08
lbl_80381B00:
/* 80381B00 0037EA60 7F E4 FB 78 */ mr r4, r31
/* 80381B04 0037EA64 4B FF FC 4D */ bl SetInterruptMask
lbl_80381B08:
/* 80381B08 0037EA68 28 03 00 00 */ cmplwi r3, 0
/* 80381B0C 0037EA6C 40 82 FF F4 */ bne lbl_80381B00
/* 80381B10 0037EA70 7F C3 F3 78 */ mr r3, r30
/* 80381B14 0037EA74 4B FF FB 75 */ bl OSRestoreInterrupts
/* 80381B18 0037EA78 7F A3 EB 78 */ mr r3, r29
/* 80381B1C 0037EA7C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80381B20 0037EA80 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80381B24 0037EA84 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80381B28 0037EA88 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 80381B2C 0037EA8C 38 21 00 20 */ addi r1, r1, 0x20
/* 80381B30 0037EA90 7C 08 03 A6 */ mtlr r0
/* 80381B34 0037EA94 4E 80 00 20 */ blr
.global __OSDispatchInterrupt
__OSDispatchInterrupt:
/* 80381B38 0037EA98 7C 08 02 A6 */ mflr r0
/* 80381B3C 0037EA9C 90 01 00 04 */ stw r0, 4(r1)
/* 80381B40 0037EAA0 94 21 FF D8 */ stwu r1, -0x28(r1)
/* 80381B44 0037EAA4 93 E1 00 24 */ stw r31, 0x24(r1)
/* 80381B48 0037EAA8 93 C1 00 20 */ stw r30, 0x20(r1)
/* 80381B4C 0037EAAC 93 A1 00 1C */ stw r29, 0x1c(r1)
/* 80381B50 0037EAB0 7C 9E 23 78 */ mr r30, r4
/* 80381B54 0037EAB4 3C 60 CC 00 */ lis r3, 0xCC003000@ha
/* 80381B58 0037EAB8 83 E3 30 00 */ lwz r31, 0xCC003000@l(r3)
/* 80381B5C 0037EABC 57 FF 04 1C */ rlwinm r31, r31, 0, 0x10, 0xe
/* 80381B60 0037EAC0 28 1F 00 00 */ cmplwi r31, 0
/* 80381B64 0037EAC4 41 82 00 18 */ beq lbl_80381B7C
/* 80381B68 0037EAC8 38 63 30 00 */ addi r3, r3, 0x3000
/* 80381B6C 0037EACC 80 03 00 04 */ lwz r0, 4(r3)
/* 80381B70 0037EAD0 7F E0 00 38 */ and r0, r31, r0
/* 80381B74 0037EAD4 28 00 00 00 */ cmplwi r0, 0
/* 80381B78 0037EAD8 40 82 00 0C */ bne lbl_80381B84
lbl_80381B7C:
/* 80381B7C 0037EADC 7F C3 F3 78 */ mr r3, r30
/* 80381B80 0037EAE0 4B FF D9 85 */ bl OSLoadContext
lbl_80381B84:
/* 80381B84 0037EAE4 57 E0 06 30 */ rlwinm r0, r31, 0, 0x18, 0x18
/* 80381B88 0037EAE8 28 00 00 00 */ cmplwi r0, 0
/* 80381B8C 0037EAEC 38 00 00 00 */ li r0, 0
/* 80381B90 0037EAF0 41 82 00 60 */ beq lbl_80381BF0
/* 80381B94 0037EAF4 3C 60 CC 00 */ lis r3, 0xCC004000@ha
/* 80381B98 0037EAF8 38 63 40 00 */ addi r3, r3, 0xCC004000@l
/* 80381B9C 0037EAFC A0 83 00 1E */ lhz r4, 0x1e(r3)
/* 80381BA0 0037EB00 54 83 07 FE */ clrlwi r3, r4, 0x1f
/* 80381BA4 0037EB04 28 03 00 00 */ cmplwi r3, 0
/* 80381BA8 0037EB08 41 82 00 08 */ beq lbl_80381BB0
/* 80381BAC 0037EB0C 64 00 80 00 */ oris r0, r0, 0x8000
lbl_80381BB0:
/* 80381BB0 0037EB10 54 83 07 BC */ rlwinm r3, r4, 0, 0x1e, 0x1e
/* 80381BB4 0037EB14 28 03 00 00 */ cmplwi r3, 0
/* 80381BB8 0037EB18 41 82 00 08 */ beq lbl_80381BC0
/* 80381BBC 0037EB1C 64 00 40 00 */ oris r0, r0, 0x4000
lbl_80381BC0:
/* 80381BC0 0037EB20 54 83 07 7A */ rlwinm r3, r4, 0, 0x1d, 0x1d
/* 80381BC4 0037EB24 28 03 00 00 */ cmplwi r3, 0
/* 80381BC8 0037EB28 41 82 00 08 */ beq lbl_80381BD0
/* 80381BCC 0037EB2C 64 00 20 00 */ oris r0, r0, 0x2000
lbl_80381BD0:
/* 80381BD0 0037EB30 54 83 07 38 */ rlwinm r3, r4, 0, 0x1c, 0x1c
/* 80381BD4 0037EB34 28 03 00 00 */ cmplwi r3, 0
/* 80381BD8 0037EB38 41 82 00 08 */ beq lbl_80381BE0
/* 80381BDC 0037EB3C 64 00 10 00 */ oris r0, r0, 0x1000
lbl_80381BE0:
/* 80381BE0 0037EB40 54 83 06 F6 */ rlwinm r3, r4, 0, 0x1b, 0x1b
/* 80381BE4 0037EB44 28 03 00 00 */ cmplwi r3, 0
/* 80381BE8 0037EB48 41 82 00 08 */ beq lbl_80381BF0
/* 80381BEC 0037EB4C 64 00 08 00 */ oris r0, r0, 0x800
lbl_80381BF0:
/* 80381BF0 0037EB50 57 E3 06 72 */ rlwinm r3, r31, 0, 0x19, 0x19
/* 80381BF4 0037EB54 28 03 00 00 */ cmplwi r3, 0
/* 80381BF8 0037EB58 41 82 00 40 */ beq lbl_80381C38
/* 80381BFC 0037EB5C 3C 60 CC 00 */ lis r3, 0xCC005000@ha
/* 80381C00 0037EB60 38 63 50 00 */ addi r3, r3, 0xCC005000@l
/* 80381C04 0037EB64 A0 83 00 0A */ lhz r4, 0xa(r3)
/* 80381C08 0037EB68 54 83 07 38 */ rlwinm r3, r4, 0, 0x1c, 0x1c
/* 80381C0C 0037EB6C 28 03 00 00 */ cmplwi r3, 0
/* 80381C10 0037EB70 41 82 00 08 */ beq lbl_80381C18
/* 80381C14 0037EB74 64 00 04 00 */ oris r0, r0, 0x400
lbl_80381C18:
/* 80381C18 0037EB78 54 83 06 B4 */ rlwinm r3, r4, 0, 0x1a, 0x1a
/* 80381C1C 0037EB7C 28 03 00 00 */ cmplwi r3, 0
/* 80381C20 0037EB80 41 82 00 08 */ beq lbl_80381C28
/* 80381C24 0037EB84 64 00 02 00 */ oris r0, r0, 0x200
lbl_80381C28:
/* 80381C28 0037EB88 54 83 06 30 */ rlwinm r3, r4, 0, 0x18, 0x18
/* 80381C2C 0037EB8C 28 03 00 00 */ cmplwi r3, 0
/* 80381C30 0037EB90 41 82 00 08 */ beq lbl_80381C38
/* 80381C34 0037EB94 64 00 01 00 */ oris r0, r0, 0x100
lbl_80381C38:
/* 80381C38 0037EB98 57 E3 06 B4 */ rlwinm r3, r31, 0, 0x1a, 0x1a
/* 80381C3C 0037EB9C 28 03 00 00 */ cmplwi r3, 0
/* 80381C40 0037EBA0 41 82 00 1C */ beq lbl_80381C5C
/* 80381C44 0037EBA4 3C 60 CC 00 */ lis r3, 0xCC006C00@ha
/* 80381C48 0037EBA8 80 63 6C 00 */ lwz r3, 0xCC006C00@l(r3)
/* 80381C4C 0037EBAC 54 63 07 38 */ rlwinm r3, r3, 0, 0x1c, 0x1c
/* 80381C50 0037EBB0 28 03 00 00 */ cmplwi r3, 0
/* 80381C54 0037EBB4 41 82 00 08 */ beq lbl_80381C5C
/* 80381C58 0037EBB8 64 00 00 80 */ oris r0, r0, 0x80
lbl_80381C5C:
/* 80381C5C 0037EBBC 57 E3 06 F6 */ rlwinm r3, r31, 0, 0x1b, 0x1b
/* 80381C60 0037EBC0 28 03 00 00 */ cmplwi r3, 0
/* 80381C64 0037EBC4 41 82 00 A4 */ beq lbl_80381D08
/* 80381C68 0037EBC8 3C 60 CC 00 */ lis r3, 0xCC006800@ha
/* 80381C6C 0037EBCC 80 83 68 00 */ lwz r4, 0xCC006800@l(r3)
/* 80381C70 0037EBD0 54 83 07 BC */ rlwinm r3, r4, 0, 0x1e, 0x1e
/* 80381C74 0037EBD4 28 03 00 00 */ cmplwi r3, 0
/* 80381C78 0037EBD8 41 82 00 08 */ beq lbl_80381C80
/* 80381C7C 0037EBDC 64 00 00 40 */ oris r0, r0, 0x40
lbl_80381C80:
/* 80381C80 0037EBE0 54 83 07 38 */ rlwinm r3, r4, 0, 0x1c, 0x1c
/* 80381C84 0037EBE4 28 03 00 00 */ cmplwi r3, 0
/* 80381C88 0037EBE8 41 82 00 08 */ beq lbl_80381C90
/* 80381C8C 0037EBEC 64 00 00 20 */ oris r0, r0, 0x20
lbl_80381C90:
/* 80381C90 0037EBF0 54 83 05 28 */ rlwinm r3, r4, 0, 0x14, 0x14
/* 80381C94 0037EBF4 28 03 00 00 */ cmplwi r3, 0
/* 80381C98 0037EBF8 41 82 00 08 */ beq lbl_80381CA0
/* 80381C9C 0037EBFC 64 00 00 10 */ oris r0, r0, 0x10
lbl_80381CA0:
/* 80381CA0 0037EC00 3C 60 CC 00 */ lis r3, 0xCC006800@ha
/* 80381CA4 0037EC04 38 63 68 00 */ addi r3, r3, 0xCC006800@l
/* 80381CA8 0037EC08 80 83 00 14 */ lwz r4, 0x14(r3)
/* 80381CAC 0037EC0C 54 83 07 BC */ rlwinm r3, r4, 0, 0x1e, 0x1e
/* 80381CB0 0037EC10 28 03 00 00 */ cmplwi r3, 0
/* 80381CB4 0037EC14 41 82 00 08 */ beq lbl_80381CBC
/* 80381CB8 0037EC18 64 00 00 08 */ oris r0, r0, 8
lbl_80381CBC:
/* 80381CBC 0037EC1C 54 83 07 38 */ rlwinm r3, r4, 0, 0x1c, 0x1c
/* 80381CC0 0037EC20 28 03 00 00 */ cmplwi r3, 0
/* 80381CC4 0037EC24 41 82 00 08 */ beq lbl_80381CCC
/* 80381CC8 0037EC28 64 00 00 04 */ oris r0, r0, 4
lbl_80381CCC:
/* 80381CCC 0037EC2C 54 83 05 28 */ rlwinm r3, r4, 0, 0x14, 0x14
/* 80381CD0 0037EC30 28 03 00 00 */ cmplwi r3, 0
/* 80381CD4 0037EC34 41 82 00 08 */ beq lbl_80381CDC
/* 80381CD8 0037EC38 64 00 00 02 */ oris r0, r0, 2
lbl_80381CDC:
/* 80381CDC 0037EC3C 3C 60 CC 00 */ lis r3, 0xCC006800@ha
/* 80381CE0 0037EC40 38 63 68 00 */ addi r3, r3, 0xCC006800@l
/* 80381CE4 0037EC44 80 83 00 28 */ lwz r4, 0x28(r3)
/* 80381CE8 0037EC48 54 83 07 BC */ rlwinm r3, r4, 0, 0x1e, 0x1e
/* 80381CEC 0037EC4C 28 03 00 00 */ cmplwi r3, 0
/* 80381CF0 0037EC50 41 82 00 08 */ beq lbl_80381CF8
/* 80381CF4 0037EC54 64 00 00 01 */ oris r0, r0, 1
lbl_80381CF8:
/* 80381CF8 0037EC58 54 83 07 38 */ rlwinm r3, r4, 0, 0x1c, 0x1c
/* 80381CFC 0037EC5C 28 03 00 00 */ cmplwi r3, 0
/* 80381D00 0037EC60 41 82 00 08 */ beq lbl_80381D08
/* 80381D04 0037EC64 60 00 80 00 */ ori r0, r0, 0x8000
lbl_80381D08:
/* 80381D08 0037EC68 57 E3 04 A4 */ rlwinm r3, r31, 0, 0x12, 0x12
/* 80381D0C 0037EC6C 28 03 00 00 */ cmplwi r3, 0
/* 80381D10 0037EC70 41 82 00 08 */ beq lbl_80381D18
/* 80381D14 0037EC74 60 00 00 20 */ ori r0, r0, 0x20
lbl_80381D18:
/* 80381D18 0037EC78 57 E3 04 E6 */ rlwinm r3, r31, 0, 0x13, 0x13
/* 80381D1C 0037EC7C 28 03 00 00 */ cmplwi r3, 0
/* 80381D20 0037EC80 41 82 00 08 */ beq lbl_80381D28
/* 80381D24 0037EC84 60 00 00 40 */ ori r0, r0, 0x40
lbl_80381D28:
/* 80381D28 0037EC88 57 E3 05 6A */ rlwinm r3, r31, 0, 0x15, 0x15
/* 80381D2C 0037EC8C 28 03 00 00 */ cmplwi r3, 0
/* 80381D30 0037EC90 41 82 00 08 */ beq lbl_80381D38
/* 80381D34 0037EC94 60 00 10 00 */ ori r0, r0, 0x1000
lbl_80381D38:
/* 80381D38 0037EC98 57 E3 05 AC */ rlwinm r3, r31, 0, 0x16, 0x16
/* 80381D3C 0037EC9C 28 03 00 00 */ cmplwi r3, 0
/* 80381D40 0037ECA0 41 82 00 08 */ beq lbl_80381D48
/* 80381D44 0037ECA4 60 00 20 00 */ ori r0, r0, 0x2000
lbl_80381D48:
/* 80381D48 0037ECA8 57 E3 05 EE */ rlwinm r3, r31, 0, 0x17, 0x17
/* 80381D4C 0037ECAC 28 03 00 00 */ cmplwi r3, 0
/* 80381D50 0037ECB0 41 82 00 08 */ beq lbl_80381D58
/* 80381D54 0037ECB4 60 00 00 80 */ ori r0, r0, 0x80
lbl_80381D58:
/* 80381D58 0037ECB8 57 E3 07 38 */ rlwinm r3, r31, 0, 0x1c, 0x1c
/* 80381D5C 0037ECBC 28 03 00 00 */ cmplwi r3, 0
/* 80381D60 0037ECC0 41 82 00 08 */ beq lbl_80381D68
/* 80381D64 0037ECC4 60 00 08 00 */ ori r0, r0, 0x800
lbl_80381D68:
/* 80381D68 0037ECC8 57 E3 07 7A */ rlwinm r3, r31, 0, 0x1d, 0x1d
/* 80381D6C 0037ECCC 28 03 00 00 */ cmplwi r3, 0
/* 80381D70 0037ECD0 41 82 00 08 */ beq lbl_80381D78
/* 80381D74 0037ECD4 60 00 04 00 */ ori r0, r0, 0x400
lbl_80381D78:
/* 80381D78 0037ECD8 57 E3 07 BC */ rlwinm r3, r31, 0, 0x1e, 0x1e
/* 80381D7C 0037ECDC 28 03 00 00 */ cmplwi r3, 0
/* 80381D80 0037ECE0 41 82 00 08 */ beq lbl_80381D88
/* 80381D84 0037ECE4 60 00 02 00 */ ori r0, r0, 0x200
lbl_80381D88:
/* 80381D88 0037ECE8 57 E3 05 28 */ rlwinm r3, r31, 0, 0x14, 0x14
/* 80381D8C 0037ECEC 28 03 00 00 */ cmplwi r3, 0
/* 80381D90 0037ECF0 41 82 00 08 */ beq lbl_80381D98
/* 80381D94 0037ECF4 60 00 40 00 */ ori r0, r0, 0x4000
lbl_80381D98:
/* 80381D98 0037ECF8 57 E3 07 FE */ clrlwi r3, r31, 0x1f
/* 80381D9C 0037ECFC 28 03 00 00 */ cmplwi r3, 0
/* 80381DA0 0037ED00 41 82 00 08 */ beq lbl_80381DA8
/* 80381DA4 0037ED04 60 00 01 00 */ ori r0, r0, 0x100
lbl_80381DA8:
/* 80381DA8 0037ED08 3C 60 80 00 */ lis r3, 0x800000C4@ha
/* 80381DAC 0037ED0C 80 83 00 C4 */ lwz r4, 0x800000C4@l(r3)
/* 80381DB0 0037ED10 80 63 00 C8 */ lwz r3, 0xc8(r3)
/* 80381DB4 0037ED14 7C 83 1B 78 */ or r3, r4, r3
/* 80381DB8 0037ED18 7C 04 18 78 */ andc r4, r0, r3
/* 80381DBC 0037ED1C 28 04 00 00 */ cmplwi r4, 0
/* 80381DC0 0037ED20 41 82 00 98 */ beq lbl_80381E58
/* 80381DC4 0037ED24 3C 60 80 3F */ lis r3, InterruptPrioTable@ha
/* 80381DC8 0037ED28 38 03 22 60 */ addi r0, r3, InterruptPrioTable@l
/* 80381DCC 0037ED2C 7C 03 03 78 */ mr r3, r0
/* 80381DD0 0037ED30 48 00 00 04 */ b lbl_80381DD4
lbl_80381DD4:
/* 80381DD4 0037ED34 48 00 00 04 */ b lbl_80381DD8
lbl_80381DD8:
/* 80381DD8 0037ED38 80 03 00 00 */ lwz r0, 0(r3)
/* 80381DDC 0037ED3C 7C 80 00 38 */ and r0, r4, r0
/* 80381DE0 0037ED40 28 00 00 00 */ cmplwi r0, 0
/* 80381DE4 0037ED44 41 82 00 10 */ beq lbl_80381DF4
/* 80381DE8 0037ED48 7C 00 00 34 */ cntlzw r0, r0
/* 80381DEC 0037ED4C 7C 1D 07 34 */ extsh r29, r0
/* 80381DF0 0037ED50 48 00 00 0C */ b lbl_80381DFC
lbl_80381DF4:
/* 80381DF4 0037ED54 38 63 00 04 */ addi r3, r3, 4
/* 80381DF8 0037ED58 4B FF FF E0 */ b lbl_80381DD8
lbl_80381DFC:
/* 80381DFC 0037ED5C 80 6D AD 10 */ lwz r3, InterruptHandlerTable@sda21(r13)
/* 80381E00 0037ED60 57 A0 10 3A */ slwi r0, r29, 2
/* 80381E04 0037ED64 7F E3 00 2E */ lwzx r31, r3, r0
/* 80381E08 0037ED68 28 1F 00 00 */ cmplwi r31, 0
/* 80381E0C 0037ED6C 41 82 00 4C */ beq lbl_80381E58
/* 80381E10 0037ED70 2C 1D 00 04 */ cmpwi r29, 4
/* 80381E14 0037ED74 40 81 00 1C */ ble lbl_80381E30
/* 80381E18 0037ED78 B3 AD AD 18 */ sth r29, __OSLastInterrupt@sda21(r13)
/* 80381E1C 0037ED7C 48 00 35 8D */ bl OSGetTime
/* 80381E20 0037ED80 90 8D AD 24 */ stw r4, __OSLastInterruptTime+4@sda21(r13)
/* 80381E24 0037ED84 90 6D AD 20 */ stw r3, __OSLastInterruptTime@sda21(r13)
/* 80381E28 0037ED88 80 1E 01 98 */ lwz r0, 0x198(r30)
/* 80381E2C 0037ED8C 90 0D AD 14 */ stw r0, __OSLastInterruptSrr0@sda21(r13)
lbl_80381E30:
/* 80381E30 0037ED90 48 00 27 B1 */ bl OSDisableScheduler
/* 80381E34 0037ED94 7F A3 EB 78 */ mr r3, r29
/* 80381E38 0037ED98 7F C4 F3 78 */ mr r4, r30
/* 80381E3C 0037ED9C 7F EC FB 78 */ mr r12, r31
/* 80381E40 0037EDA0 7D 88 03 A6 */ mtlr r12
/* 80381E44 0037EDA4 4E 80 00 21 */ blrl
/* 80381E48 0037EDA8 48 00 27 D9 */ bl OSEnableScheduler
/* 80381E4C 0037EDAC 48 00 2C A1 */ bl __OSReschedule
/* 80381E50 0037EDB0 7F C3 F3 78 */ mr r3, r30
/* 80381E54 0037EDB4 4B FF D6 B1 */ bl OSLoadContext
lbl_80381E58:
/* 80381E58 0037EDB8 7F C3 F3 78 */ mr r3, r30
/* 80381E5C 0037EDBC 4B FF D6 A9 */ bl OSLoadContext
/* 80381E60 0037EDC0 80 01 00 2C */ lwz r0, 0x2c(r1)
/* 80381E64 0037EDC4 83 E1 00 24 */ lwz r31, 0x24(r1)
/* 80381E68 0037EDC8 83 C1 00 20 */ lwz r30, 0x20(r1)
/* 80381E6C 0037EDCC 83 A1 00 1C */ lwz r29, 0x1c(r1)
/* 80381E70 0037EDD0 38 21 00 28 */ addi r1, r1, 0x28
/* 80381E74 0037EDD4 7C 08 03 A6 */ mtlr r0
/* 80381E78 0037EDD8 4E 80 00 20 */ blr
.global ExternalInterruptHandler
ExternalInterruptHandler:
/* 80381E7C 0037EDDC 90 04 00 00 */ stw r0, 0(r4)
/* 80381E80 0037EDE0 90 24 00 04 */ stw r1, 4(r4)
/* 80381E84 0037EDE4 90 44 00 08 */ stw r2, 8(r4)
/* 80381E88 0037EDE8 BC C4 00 18 */ stmw r6, 0x18(r4)
/* 80381E8C 0037EDEC 7C 11 E2 A6 */ mfspr r0, 0x391
/* 80381E90 0037EDF0 90 04 01 A8 */ stw r0, 0x1a8(r4)
/* 80381E94 0037EDF4 7C 12 E2 A6 */ mfspr r0, 0x392
/* 80381E98 0037EDF8 90 04 01 AC */ stw r0, 0x1ac(r4)
/* 80381E9C 0037EDFC 7C 13 E2 A6 */ mfspr r0, 0x393
/* 80381EA0 0037EE00 90 04 01 B0 */ stw r0, 0x1b0(r4)
/* 80381EA4 0037EE04 7C 14 E2 A6 */ mfspr r0, 0x394
/* 80381EA8 0037EE08 90 04 01 B4 */ stw r0, 0x1b4(r4)
/* 80381EAC 0037EE0C 7C 15 E2 A6 */ mfspr r0, 0x395
/* 80381EB0 0037EE10 90 04 01 B8 */ stw r0, 0x1b8(r4)
/* 80381EB4 0037EE14 7C 16 E2 A6 */ mfspr r0, 0x396
/* 80381EB8 0037EE18 90 04 01 BC */ stw r0, 0x1bc(r4)
/* 80381EBC 0037EE1C 7C 17 E2 A6 */ mfspr r0, 0x397
/* 80381EC0 0037EE20 90 04 01 C0 */ stw r0, 0x1c0(r4)
/* 80381EC4 0037EE24 94 21 FF F8 */ stwu r1, -8(r1)
/* 80381EC8 0037EE28 4B FF FC 70 */ b __OSDispatchInterrupt

View File

@ -1,721 +0,0 @@
.include "macros.inc"
.section .data
.balign 8
.global lbl_803F2290
lbl_803F2290:
.asciz "OSLink: unknown relocation type %3d\n"
.balign 4
.global lbl_803F22B8
lbl_803F22B8:
.asciz "OSUnlink: unknown relocation type %3d\n"
.balign 4
.section .text, "ax"
.global OSNotifyLink
OSNotifyLink:
/* 80381ECC 0037EE2C 4E 80 00 20 */ blr
.global OSNotifyUnlink
OSNotifyUnlink:
/* 80381ED0 0037EE30 4E 80 00 20 */ blr
.global Relocate
Relocate:
/* 80381ED4 0037EE34 7C 08 02 A6 */ mflr r0
/* 80381ED8 0037EE38 90 01 00 04 */ stw r0, 4(r1)
/* 80381EDC 0037EE3C 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 80381EE0 0037EE40 BE E1 00 1C */ stmw r23, 0x1c(r1)
/* 80381EE4 0037EE44 7C 7A 1B 79 */ or. r26, r3, r3
/* 80381EE8 0037EE48 3B 64 00 00 */ addi r27, r4, 0
/* 80381EEC 0037EE4C 41 82 00 0C */ beq lbl_80381EF8
/* 80381EF0 0037EE50 83 FA 00 00 */ lwz r31, 0(r26)
/* 80381EF4 0037EE54 48 00 00 08 */ b lbl_80381EFC
lbl_80381EF8:
/* 80381EF8 0037EE58 3B E0 00 00 */ li r31, 0
lbl_80381EFC:
/* 80381EFC 0037EE5C 80 7B 00 28 */ lwz r3, 0x28(r27)
/* 80381F00 0037EE60 80 1B 00 2C */ lwz r0, 0x2c(r27)
/* 80381F04 0037EE64 38 83 00 00 */ addi r4, r3, 0
/* 80381F08 0037EE68 7C 63 02 14 */ add r3, r3, r0
/* 80381F0C 0037EE6C 38 03 00 07 */ addi r0, r3, 7
/* 80381F10 0037EE70 7C 04 00 50 */ subf r0, r4, r0
/* 80381F14 0037EE74 54 00 E8 FE */ srwi r0, r0, 3
/* 80381F18 0037EE78 7C 04 18 40 */ cmplw r4, r3
/* 80381F1C 0037EE7C 7C 09 03 A6 */ mtctr r0
/* 80381F20 0037EE80 40 80 00 18 */ bge lbl_80381F38
lbl_80381F24:
/* 80381F24 0037EE84 80 04 00 00 */ lwz r0, 0(r4)
/* 80381F28 0037EE88 7C 00 F8 40 */ cmplw r0, r31
/* 80381F2C 0037EE8C 41 82 00 14 */ beq lbl_80381F40
/* 80381F30 0037EE90 38 84 00 08 */ addi r4, r4, 8
/* 80381F34 0037EE94 42 00 FF F0 */ bdnz lbl_80381F24
lbl_80381F38:
/* 80381F38 0037EE98 38 60 00 00 */ li r3, 0
/* 80381F3C 0037EE9C 48 00 02 40 */ b lbl_8038217C
lbl_80381F40:
/* 80381F40 0037EEA0 3C 60 80 3F */ lis r3, lbl_803F2290@ha
/* 80381F44 0037EEA4 83 C4 00 04 */ lwz r30, 4(r4)
/* 80381F48 0037EEA8 3B 23 22 90 */ addi r25, r3, lbl_803F2290@l
/* 80381F4C 0037EEAC 3B A0 00 00 */ li r29, 0
/* 80381F50 0037EEB0 48 00 01 F4 */ b lbl_80382144
lbl_80381F54:
/* 80381F54 0037EEB4 A0 1E 00 00 */ lhz r0, 0(r30)
/* 80381F58 0037EEB8 28 1F 00 00 */ cmplwi r31, 0
/* 80381F5C 0037EEBC 7F 9C 02 14 */ add r28, r28, r0
/* 80381F60 0037EEC0 41 82 00 1C */ beq lbl_80381F7C
/* 80381F64 0037EEC4 88 1E 00 03 */ lbz r0, 3(r30)
/* 80381F68 0037EEC8 80 7A 00 10 */ lwz r3, 0x10(r26)
/* 80381F6C 0037EECC 54 00 18 38 */ slwi r0, r0, 3
/* 80381F70 0037EED0 7C 03 00 2E */ lwzx r0, r3, r0
/* 80381F74 0037EED4 54 05 00 3C */ rlwinm r5, r0, 0, 0, 0x1e
/* 80381F78 0037EED8 48 00 00 08 */ b lbl_80381F80
lbl_80381F7C:
/* 80381F7C 0037EEDC 38 A0 00 00 */ li r5, 0
lbl_80381F80:
/* 80381F80 0037EEE0 2C 04 00 06 */ cmpwi r4, 6
/* 80381F84 0037EEE4 41 82 00 C4 */ beq lbl_80382048
/* 80381F88 0037EEE8 40 80 00 30 */ bge lbl_80381FB8
/* 80381F8C 0037EEEC 2C 04 00 02 */ cmpwi r4, 2
/* 80381F90 0037EEF0 41 82 00 68 */ beq lbl_80381FF8
/* 80381F94 0037EEF4 40 80 00 14 */ bge lbl_80381FA8
/* 80381F98 0037EEF8 2C 04 00 00 */ cmpwi r4, 0
/* 80381F9C 0037EEFC 41 82 01 A4 */ beq lbl_80382140
/* 80381FA0 0037EF00 40 80 00 48 */ bge lbl_80381FE8
/* 80381FA4 0037EF04 48 00 01 90 */ b lbl_80382134
lbl_80381FA8:
/* 80381FA8 0037EF08 2C 04 00 04 */ cmpwi r4, 4
/* 80381FAC 0037EF0C 41 82 00 78 */ beq lbl_80382024
/* 80381FB0 0037EF10 40 80 00 84 */ bge lbl_80382034
/* 80381FB4 0037EF14 48 00 00 60 */ b lbl_80382014
lbl_80381FB8:
/* 80381FB8 0037EF18 2C 04 00 C9 */ cmpwi r4, 0xc9
/* 80381FBC 0037EF1C 41 82 01 84 */ beq lbl_80382140
/* 80381FC0 0037EF20 40 80 00 1C */ bge lbl_80381FDC
/* 80381FC4 0037EF24 2C 04 00 0A */ cmpwi r4, 0xa
/* 80381FC8 0037EF28 41 82 00 C8 */ beq lbl_80382090
/* 80381FCC 0037EF2C 41 80 00 A8 */ blt lbl_80382074
/* 80381FD0 0037EF30 2C 04 00 0E */ cmpwi r4, 0xe
/* 80381FD4 0037EF34 40 80 01 60 */ bge lbl_80382134
/* 80381FD8 0037EF38 48 00 00 D8 */ b lbl_803820B0
lbl_80381FDC:
/* 80381FDC 0037EF3C 2C 04 00 CB */ cmpwi r4, 0xcb
/* 80381FE0 0037EF40 40 80 01 54 */ bge lbl_80382134
/* 80381FE4 0037EF44 48 00 00 EC */ b lbl_803820D0
lbl_80381FE8:
/* 80381FE8 0037EF48 80 1E 00 04 */ lwz r0, 4(r30)
/* 80381FEC 0037EF4C 7C 05 02 14 */ add r0, r5, r0
/* 80381FF0 0037EF50 90 1C 00 00 */ stw r0, 0(r28)
/* 80381FF4 0037EF54 48 00 01 4C */ b lbl_80382140
lbl_80381FF8:
/* 80381FF8 0037EF58 80 1E 00 04 */ lwz r0, 4(r30)
/* 80381FFC 0037EF5C 80 7C 00 00 */ lwz r3, 0(r28)
/* 80382000 0037EF60 7C 05 02 14 */ add r0, r5, r0
/* 80382004 0037EF64 54 63 07 8A */ rlwinm r3, r3, 0, 0x1e, 5
/* 80382008 0037EF68 50 03 01 BA */ rlwimi r3, r0, 0, 6, 0x1d
/* 8038200C 0037EF6C 90 7C 00 00 */ stw r3, 0(r28)
/* 80382010 0037EF70 48 00 01 30 */ b lbl_80382140
lbl_80382014:
/* 80382014 0037EF74 80 1E 00 04 */ lwz r0, 4(r30)
/* 80382018 0037EF78 7C 05 02 14 */ add r0, r5, r0
/* 8038201C 0037EF7C B0 1C 00 00 */ sth r0, 0(r28)
/* 80382020 0037EF80 48 00 01 20 */ b lbl_80382140
lbl_80382024:
/* 80382024 0037EF84 80 1E 00 04 */ lwz r0, 4(r30)
/* 80382028 0037EF88 7C 05 02 14 */ add r0, r5, r0
/* 8038202C 0037EF8C B0 1C 00 00 */ sth r0, 0(r28)
/* 80382030 0037EF90 48 00 01 10 */ b lbl_80382140
lbl_80382034:
/* 80382034 0037EF94 80 1E 00 04 */ lwz r0, 4(r30)
/* 80382038 0037EF98 7C 05 02 14 */ add r0, r5, r0
/* 8038203C 0037EF9C 54 00 84 3E */ srwi r0, r0, 0x10
/* 80382040 0037EFA0 B0 1C 00 00 */ sth r0, 0(r28)
/* 80382044 0037EFA4 48 00 00 FC */ b lbl_80382140
lbl_80382048:
/* 80382048 0037EFA8 80 1E 00 04 */ lwz r0, 4(r30)
/* 8038204C 0037EFAC 7C 85 02 14 */ add r4, r5, r0
/* 80382050 0037EFB0 54 80 04 21 */ rlwinm. r0, r4, 0, 0x10, 0x10
/* 80382054 0037EFB4 41 82 00 0C */ beq lbl_80382060
/* 80382058 0037EFB8 38 60 00 01 */ li r3, 1
/* 8038205C 0037EFBC 48 00 00 08 */ b lbl_80382064
lbl_80382060:
/* 80382060 0037EFC0 38 60 00 00 */ li r3, 0
lbl_80382064:
/* 80382064 0037EFC4 54 80 84 3E */ srwi r0, r4, 0x10
/* 80382068 0037EFC8 7C 00 1A 14 */ add r0, r0, r3
/* 8038206C 0037EFCC B0 1C 00 00 */ sth r0, 0(r28)
/* 80382070 0037EFD0 48 00 00 D0 */ b lbl_80382140
lbl_80382074:
/* 80382074 0037EFD4 80 1E 00 04 */ lwz r0, 4(r30)
/* 80382078 0037EFD8 80 7C 00 00 */ lwz r3, 0(r28)
/* 8038207C 0037EFDC 7C 05 02 14 */ add r0, r5, r0
/* 80382080 0037EFE0 54 63 07 9E */ rlwinm r3, r3, 0, 0x1e, 0xf
/* 80382084 0037EFE4 50 03 04 3A */ rlwimi r3, r0, 0, 0x10, 0x1d
/* 80382088 0037EFE8 90 7C 00 00 */ stw r3, 0(r28)
/* 8038208C 0037EFEC 48 00 00 B4 */ b lbl_80382140
lbl_80382090:
/* 80382090 0037EFF0 80 1E 00 04 */ lwz r0, 4(r30)
/* 80382094 0037EFF4 80 7C 00 00 */ lwz r3, 0(r28)
/* 80382098 0037EFF8 7C 05 02 14 */ add r0, r5, r0
/* 8038209C 0037EFFC 7C 1C 00 50 */ subf r0, r28, r0
/* 803820A0 0037F000 54 63 07 8A */ rlwinm r3, r3, 0, 0x1e, 5
/* 803820A4 0037F004 50 03 01 BA */ rlwimi r3, r0, 0, 6, 0x1d
/* 803820A8 0037F008 90 7C 00 00 */ stw r3, 0(r28)
/* 803820AC 0037F00C 48 00 00 94 */ b lbl_80382140
lbl_803820B0:
/* 803820B0 0037F010 80 1E 00 04 */ lwz r0, 4(r30)
/* 803820B4 0037F014 80 7C 00 00 */ lwz r3, 0(r28)
/* 803820B8 0037F018 7C 05 02 14 */ add r0, r5, r0
/* 803820BC 0037F01C 7C 1C 00 50 */ subf r0, r28, r0
/* 803820C0 0037F020 54 63 07 9E */ rlwinm r3, r3, 0, 0x1e, 0xf
/* 803820C4 0037F024 50 03 04 3A */ rlwimi r3, r0, 0, 0x10, 0x1d
/* 803820C8 0037F028 90 7C 00 00 */ stw r3, 0(r28)
/* 803820CC 0037F02C 48 00 00 74 */ b lbl_80382140
lbl_803820D0:
/* 803820D0 0037F030 88 1E 00 03 */ lbz r0, 3(r30)
/* 803820D4 0037F034 28 1D 00 00 */ cmplwi r29, 0
/* 803820D8 0037F038 80 7B 00 10 */ lwz r3, 0x10(r27)
/* 803820DC 0037F03C 54 00 18 38 */ slwi r0, r0, 3
/* 803820E0 0037F040 7C 63 02 14 */ add r3, r3, r0
/* 803820E4 0037F044 80 03 00 00 */ lwz r0, 0(r3)
/* 803820E8 0037F048 3A E3 00 00 */ addi r23, r3, 0
/* 803820EC 0037F04C 54 1C 00 3C */ rlwinm r28, r0, 0, 0, 0x1e
/* 803820F0 0037F050 41 82 00 24 */ beq lbl_80382114
/* 803820F4 0037F054 80 1D 00 00 */ lwz r0, 0(r29)
/* 803820F8 0037F058 80 9D 00 04 */ lwz r4, 4(r29)
/* 803820FC 0037F05C 54 18 00 3C */ rlwinm r24, r0, 0, 0, 0x1e
/* 80382100 0037F060 38 78 00 00 */ addi r3, r24, 0
/* 80382104 0037F064 4B FF C9 AD */ bl DCFlushRange
/* 80382108 0037F068 7F 03 C3 78 */ mr r3, r24
/* 8038210C 0037F06C 80 9D 00 04 */ lwz r4, 4(r29)
/* 80382110 0037F070 4B FF CA 85 */ bl ICInvalidateRange
lbl_80382114:
/* 80382114 0037F074 80 17 00 00 */ lwz r0, 0(r23)
/* 80382118 0037F078 54 00 07 FF */ clrlwi. r0, r0, 0x1f
/* 8038211C 0037F07C 41 82 00 0C */ beq lbl_80382128
/* 80382120 0037F080 7E E0 BB 78 */ mr r0, r23
/* 80382124 0037F084 48 00 00 08 */ b lbl_8038212C
lbl_80382128:
/* 80382128 0037F088 38 00 00 00 */ li r0, 0
lbl_8038212C:
/* 8038212C 0037F08C 7C 1D 03 78 */ mr r29, r0
/* 80382130 0037F090 48 00 00 10 */ b lbl_80382140
lbl_80382134:
/* 80382134 0037F094 38 79 00 00 */ addi r3, r25, 0
/* 80382138 0037F098 4C C6 31 82 */ crclr 6
/* 8038213C 0037F09C 4B FF D8 71 */ bl OSReport
lbl_80382140:
/* 80382140 0037F0A0 3B DE 00 08 */ addi r30, r30, 8
lbl_80382144:
/* 80382144 0037F0A4 88 9E 00 02 */ lbz r4, 2(r30)
/* 80382148 0037F0A8 28 04 00 CB */ cmplwi r4, 0xcb
/* 8038214C 0037F0AC 40 82 FE 08 */ bne lbl_80381F54
/* 80382150 0037F0B0 28 1D 00 00 */ cmplwi r29, 0
/* 80382154 0037F0B4 41 82 00 24 */ beq lbl_80382178
/* 80382158 0037F0B8 80 1D 00 00 */ lwz r0, 0(r29)
/* 8038215C 0037F0BC 80 9D 00 04 */ lwz r4, 4(r29)
/* 80382160 0037F0C0 54 19 00 3C */ rlwinm r25, r0, 0, 0, 0x1e
/* 80382164 0037F0C4 38 79 00 00 */ addi r3, r25, 0
/* 80382168 0037F0C8 4B FF C9 49 */ bl DCFlushRange
/* 8038216C 0037F0CC 7F 23 CB 78 */ mr r3, r25
/* 80382170 0037F0D0 80 9D 00 04 */ lwz r4, 4(r29)
/* 80382174 0037F0D4 4B FF CA 21 */ bl ICInvalidateRange
lbl_80382178:
/* 80382178 0037F0D8 38 60 00 01 */ li r3, 1
lbl_8038217C:
/* 8038217C 0037F0DC BA E1 00 1C */ lmw r23, 0x1c(r1)
/* 80382180 0037F0E0 80 01 00 44 */ lwz r0, 0x44(r1)
/* 80382184 0037F0E4 38 21 00 40 */ addi r1, r1, 0x40
/* 80382188 0037F0E8 7C 08 03 A6 */ mtlr r0
/* 8038218C 0037F0EC 4E 80 00 20 */ blr
.global OSLink
OSLink:
/* 80382190 0037F0F0 7C 08 02 A6 */ mflr r0
/* 80382194 0037F0F4 90 01 00 04 */ stw r0, 4(r1)
/* 80382198 0037F0F8 38 00 00 00 */ li r0, 0
/* 8038219C 0037F0FC 94 21 FF E8 */ stwu r1, -0x18(r1)
/* 803821A0 0037F100 93 E1 00 14 */ stw r31, 0x14(r1)
/* 803821A4 0037F104 3B E3 00 00 */ addi r31, r3, 0
/* 803821A8 0037F108 93 C1 00 10 */ stw r30, 0x10(r1)
/* 803821AC 0037F10C 7C 9E 23 78 */ mr r30, r4
/* 803821B0 0037F110 98 03 00 33 */ stb r0, 0x33(r3)
/* 803821B4 0037F114 80 03 00 1C */ lwz r0, 0x1c(r3)
/* 803821B8 0037F118 28 00 00 02 */ cmplwi r0, 2
/* 803821BC 0037F11C 41 81 00 40 */ bgt lbl_803821FC
/* 803821C0 0037F120 41 80 00 44 */ blt lbl_80382204
/* 803821C4 0037F124 80 7F 00 40 */ lwz r3, 0x40(r31)
/* 803821C8 0037F128 28 03 00 00 */ cmplwi r3, 0
/* 803821CC 0037F12C 41 82 00 14 */ beq lbl_803821E0
/* 803821D0 0037F130 7C 1F 1B 96 */ divwu r0, r31, r3
/* 803821D4 0037F134 7C 00 19 D6 */ mullw r0, r0, r3
/* 803821D8 0037F138 7C 00 F8 51 */ subf. r0, r0, r31
/* 803821DC 0037F13C 40 82 00 20 */ bne lbl_803821FC
lbl_803821E0:
/* 803821E0 0037F140 80 7F 00 44 */ lwz r3, 0x44(r31)
/* 803821E4 0037F144 28 03 00 00 */ cmplwi r3, 0
/* 803821E8 0037F148 41 82 00 1C */ beq lbl_80382204
/* 803821EC 0037F14C 7C 1E 1B 96 */ divwu r0, r30, r3
/* 803821F0 0037F150 7C 00 19 D6 */ mullw r0, r0, r3
/* 803821F4 0037F154 7C 00 F0 51 */ subf. r0, r0, r30
/* 803821F8 0037F158 41 82 00 0C */ beq lbl_80382204
lbl_803821FC:
/* 803821FC 0037F15C 38 60 00 00 */ li r3, 0
/* 80382200 0037F160 48 00 01 D4 */ b lbl_803823D4
lbl_80382204:
/* 80382204 0037F164 3C 60 80 00 */ lis r3, 0x800030C8@ha
/* 80382208 0037F168 38 A3 30 C8 */ addi r5, r3, 0x800030C8@l
/* 8038220C 0037F16C 84 85 00 04 */ lwzu r4, 4(r5)
/* 80382210 0037F170 28 04 00 00 */ cmplwi r4, 0
/* 80382214 0037F174 40 82 00 0C */ bne lbl_80382220
/* 80382218 0037F178 93 E3 30 C8 */ stw r31, 0x30c8(r3)
/* 8038221C 0037F17C 48 00 00 08 */ b lbl_80382224
lbl_80382220:
/* 80382220 0037F180 93 E4 00 04 */ stw r31, 4(r4)
lbl_80382224:
/* 80382224 0037F184 90 9F 00 08 */ stw r4, 8(r31)
/* 80382228 0037F188 38 00 00 00 */ li r0, 0
/* 8038222C 0037F18C 38 7E 00 00 */ addi r3, r30, 0
/* 80382230 0037F190 90 1F 00 04 */ stw r0, 4(r31)
/* 80382234 0037F194 38 80 00 00 */ li r4, 0
/* 80382238 0037F198 93 E5 00 00 */ stw r31, 0(r5)
/* 8038223C 0037F19C 80 BF 00 20 */ lwz r5, 0x20(r31)
/* 80382240 0037F1A0 4B C8 11 69 */ bl memset
/* 80382244 0037F1A4 80 1F 00 10 */ lwz r0, 0x10(r31)
/* 80382248 0037F1A8 38 A0 00 01 */ li r5, 1
/* 8038224C 0037F1AC 38 60 00 08 */ li r3, 8
/* 80382250 0037F1B0 7C 00 FA 14 */ add r0, r0, r31
/* 80382254 0037F1B4 90 1F 00 10 */ stw r0, 0x10(r31)
/* 80382258 0037F1B8 80 1F 00 24 */ lwz r0, 0x24(r31)
/* 8038225C 0037F1BC 7C 00 FA 14 */ add r0, r0, r31
/* 80382260 0037F1C0 90 1F 00 24 */ stw r0, 0x24(r31)
/* 80382264 0037F1C4 80 1F 00 28 */ lwz r0, 0x28(r31)
/* 80382268 0037F1C8 7C 00 FA 14 */ add r0, r0, r31
/* 8038226C 0037F1CC 90 1F 00 28 */ stw r0, 0x28(r31)
/* 80382270 0037F1D0 48 00 00 48 */ b lbl_803822B8
lbl_80382274:
/* 80382274 0037F1D4 80 1F 00 10 */ lwz r0, 0x10(r31)
/* 80382278 0037F1D8 7C 80 1A 14 */ add r4, r0, r3
/* 8038227C 0037F1DC 80 04 00 00 */ lwz r0, 0(r4)
/* 80382280 0037F1E0 28 00 00 00 */ cmplwi r0, 0
/* 80382284 0037F1E4 41 82 00 10 */ beq lbl_80382294
/* 80382288 0037F1E8 7C 00 FA 14 */ add r0, r0, r31
/* 8038228C 0037F1EC 90 04 00 00 */ stw r0, 0(r4)
/* 80382290 0037F1F0 48 00 00 20 */ b lbl_803822B0
lbl_80382294:
/* 80382294 0037F1F4 80 04 00 04 */ lwz r0, 4(r4)
/* 80382298 0037F1F8 28 00 00 00 */ cmplwi r0, 0
/* 8038229C 0037F1FC 41 82 00 14 */ beq lbl_803822B0
/* 803822A0 0037F200 98 BF 00 33 */ stb r5, 0x33(r31)
/* 803822A4 0037F204 93 C4 00 00 */ stw r30, 0(r4)
/* 803822A8 0037F208 80 04 00 04 */ lwz r0, 4(r4)
/* 803822AC 0037F20C 7F DE 02 14 */ add r30, r30, r0
lbl_803822B0:
/* 803822B0 0037F210 38 63 00 08 */ addi r3, r3, 8
/* 803822B4 0037F214 38 A5 00 01 */ addi r5, r5, 1
lbl_803822B8:
/* 803822B8 0037F218 80 1F 00 0C */ lwz r0, 0xc(r31)
/* 803822BC 0037F21C 7C 05 00 40 */ cmplw r5, r0
/* 803822C0 0037F220 41 80 FF B4 */ blt lbl_80382274
/* 803822C4 0037F224 80 9F 00 28 */ lwz r4, 0x28(r31)
/* 803822C8 0037F228 48 00 00 14 */ b lbl_803822DC
lbl_803822CC:
/* 803822CC 0037F22C 80 04 00 04 */ lwz r0, 4(r4)
/* 803822D0 0037F230 7C 00 FA 14 */ add r0, r0, r31
/* 803822D4 0037F234 90 04 00 04 */ stw r0, 4(r4)
/* 803822D8 0037F238 38 84 00 08 */ addi r4, r4, 8
lbl_803822DC:
/* 803822DC 0037F23C 80 7F 00 28 */ lwz r3, 0x28(r31)
/* 803822E0 0037F240 80 1F 00 2C */ lwz r0, 0x2c(r31)
/* 803822E4 0037F244 7C 03 02 14 */ add r0, r3, r0
/* 803822E8 0037F248 7C 04 00 40 */ cmplw r4, r0
/* 803822EC 0037F24C 41 80 FF E0 */ blt lbl_803822CC
/* 803822F0 0037F250 88 1F 00 30 */ lbz r0, 0x30(r31)
/* 803822F4 0037F254 28 00 00 00 */ cmplwi r0, 0
/* 803822F8 0037F258 41 82 00 20 */ beq lbl_80382318
/* 803822FC 0037F25C 80 7F 00 10 */ lwz r3, 0x10(r31)
/* 80382300 0037F260 54 00 18 38 */ slwi r0, r0, 3
/* 80382304 0037F264 80 9F 00 34 */ lwz r4, 0x34(r31)
/* 80382308 0037F268 7C 03 00 2E */ lwzx r0, r3, r0
/* 8038230C 0037F26C 54 00 00 3C */ rlwinm r0, r0, 0, 0, 0x1e
/* 80382310 0037F270 7C 04 02 14 */ add r0, r4, r0
/* 80382314 0037F274 90 1F 00 34 */ stw r0, 0x34(r31)
lbl_80382318:
/* 80382318 0037F278 88 1F 00 31 */ lbz r0, 0x31(r31)
/* 8038231C 0037F27C 28 00 00 00 */ cmplwi r0, 0
/* 80382320 0037F280 41 82 00 20 */ beq lbl_80382340
/* 80382324 0037F284 80 7F 00 10 */ lwz r3, 0x10(r31)
/* 80382328 0037F288 54 00 18 38 */ slwi r0, r0, 3
/* 8038232C 0037F28C 80 9F 00 38 */ lwz r4, 0x38(r31)
/* 80382330 0037F290 7C 03 00 2E */ lwzx r0, r3, r0
/* 80382334 0037F294 54 00 00 3C */ rlwinm r0, r0, 0, 0, 0x1e
/* 80382338 0037F298 7C 04 02 14 */ add r0, r4, r0
/* 8038233C 0037F29C 90 1F 00 38 */ stw r0, 0x38(r31)
lbl_80382340:
/* 80382340 0037F2A0 88 1F 00 32 */ lbz r0, 0x32(r31)
/* 80382344 0037F2A4 28 00 00 00 */ cmplwi r0, 0
/* 80382348 0037F2A8 41 82 00 20 */ beq lbl_80382368
/* 8038234C 0037F2AC 80 7F 00 10 */ lwz r3, 0x10(r31)
/* 80382350 0037F2B0 54 00 18 38 */ slwi r0, r0, 3
/* 80382354 0037F2B4 80 9F 00 3C */ lwz r4, 0x3c(r31)
/* 80382358 0037F2B8 7C 03 00 2E */ lwzx r0, r3, r0
/* 8038235C 0037F2BC 54 00 00 3C */ rlwinm r0, r0, 0, 0, 0x1e
/* 80382360 0037F2C0 7C 04 02 14 */ add r0, r4, r0
/* 80382364 0037F2C4 90 1F 00 3C */ stw r0, 0x3c(r31)
lbl_80382368:
/* 80382368 0037F2C8 3C 60 80 00 */ lis r3, 0x800030D0@ha
/* 8038236C 0037F2CC 80 63 30 D0 */ lwz r3, 0x800030D0@l(r3)
/* 80382370 0037F2D0 28 03 00 00 */ cmplwi r3, 0
/* 80382374 0037F2D4 41 82 00 10 */ beq lbl_80382384
/* 80382378 0037F2D8 80 1F 00 14 */ lwz r0, 0x14(r31)
/* 8038237C 0037F2DC 7C 00 1A 14 */ add r0, r0, r3
/* 80382380 0037F2E0 90 1F 00 14 */ stw r0, 0x14(r31)
lbl_80382384:
/* 80382384 0037F2E4 38 60 00 00 */ li r3, 0
/* 80382388 0037F2E8 38 9F 00 00 */ addi r4, r31, 0
/* 8038238C 0037F2EC 4B FF FB 49 */ bl Relocate
/* 80382390 0037F2F0 3C 60 80 00 */ lis r3, 0x800030C8@ha
/* 80382394 0037F2F4 83 C3 30 C8 */ lwz r30, 0x800030C8@l(r3)
/* 80382398 0037F2F8 48 00 00 28 */ b lbl_803823C0
lbl_8038239C:
/* 8038239C 0037F2FC 38 7F 00 00 */ addi r3, r31, 0
/* 803823A0 0037F300 38 9E 00 00 */ addi r4, r30, 0
/* 803823A4 0037F304 4B FF FB 31 */ bl Relocate
/* 803823A8 0037F308 7C 1E F8 40 */ cmplw r30, r31
/* 803823AC 0037F30C 41 82 00 10 */ beq lbl_803823BC
/* 803823B0 0037F310 38 7E 00 00 */ addi r3, r30, 0
/* 803823B4 0037F314 38 9F 00 00 */ addi r4, r31, 0
/* 803823B8 0037F318 4B FF FB 1D */ bl Relocate
lbl_803823BC:
/* 803823BC 0037F31C 83 DE 00 04 */ lwz r30, 4(r30)
lbl_803823C0:
/* 803823C0 0037F320 28 1E 00 00 */ cmplwi r30, 0
/* 803823C4 0037F324 40 82 FF D8 */ bne lbl_8038239C
/* 803823C8 0037F328 7F E3 FB 78 */ mr r3, r31
/* 803823CC 0037F32C 4B FF FB 01 */ bl OSNotifyLink
/* 803823D0 0037F330 38 60 00 01 */ li r3, 1
lbl_803823D4:
/* 803823D4 0037F334 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 803823D8 0037F338 83 E1 00 14 */ lwz r31, 0x14(r1)
/* 803823DC 0037F33C 83 C1 00 10 */ lwz r30, 0x10(r1)
/* 803823E0 0037F340 38 21 00 18 */ addi r1, r1, 0x18
/* 803823E4 0037F344 7C 08 03 A6 */ mtlr r0
/* 803823E8 0037F348 4E 80 00 20 */ blr
.global Undo
Undo:
/* 803823EC 0037F34C 7C 08 02 A6 */ mflr r0
/* 803823F0 0037F350 90 01 00 04 */ stw r0, 4(r1)
/* 803823F4 0037F354 94 21 FF C8 */ stwu r1, -0x38(r1)
/* 803823F8 0037F358 BF 21 00 1C */ stmw r25, 0x1c(r1)
/* 803823FC 0037F35C 7C 9C 23 78 */ mr r28, r4
/* 80382400 0037F360 80 83 00 00 */ lwz r4, 0(r3)
/* 80382404 0037F364 80 7C 00 28 */ lwz r3, 0x28(r28)
/* 80382408 0037F368 80 1C 00 2C */ lwz r0, 0x2c(r28)
/* 8038240C 0037F36C 38 A3 00 00 */ addi r5, r3, 0
/* 80382410 0037F370 7C 63 02 14 */ add r3, r3, r0
/* 80382414 0037F374 38 03 00 07 */ addi r0, r3, 7
/* 80382418 0037F378 7C 05 00 50 */ subf r0, r5, r0
/* 8038241C 0037F37C 54 00 E8 FE */ srwi r0, r0, 3
/* 80382420 0037F380 7C 05 18 40 */ cmplw r5, r3
/* 80382424 0037F384 7C 09 03 A6 */ mtctr r0
/* 80382428 0037F388 40 80 00 18 */ bge lbl_80382440
lbl_8038242C:
/* 8038242C 0037F38C 80 05 00 00 */ lwz r0, 0(r5)
/* 80382430 0037F390 7C 00 20 40 */ cmplw r0, r4
/* 80382434 0037F394 41 82 00 14 */ beq lbl_80382448
/* 80382438 0037F398 38 A5 00 08 */ addi r5, r5, 8
/* 8038243C 0037F39C 42 00 FF F0 */ bdnz lbl_8038242C
lbl_80382440:
/* 80382440 0037F3A0 38 60 00 00 */ li r3, 0
/* 80382444 0037F3A4 48 00 01 CC */ b lbl_80382610
lbl_80382448:
/* 80382448 0037F3A8 3C 60 80 3F */ lis r3, lbl_803F22B8@ha
/* 8038244C 0037F3AC 83 E5 00 04 */ lwz r31, 4(r5)
/* 80382450 0037F3B0 3B 63 22 B8 */ addi r27, r3, lbl_803F22B8@l
/* 80382454 0037F3B4 3B C0 00 00 */ li r30, 0
/* 80382458 0037F3B8 48 00 01 80 */ b lbl_803825D8
lbl_8038245C:
/* 8038245C 0037F3BC A0 1F 00 00 */ lhz r0, 0(r31)
/* 80382460 0037F3C0 2C 04 00 06 */ cmpwi r4, 6
/* 80382464 0037F3C4 38 60 00 00 */ li r3, 0
/* 80382468 0037F3C8 7F BD 02 14 */ add r29, r29, r0
/* 8038246C 0037F3CC 41 82 00 A4 */ beq lbl_80382510
/* 80382470 0037F3D0 40 80 00 30 */ bge lbl_803824A0
/* 80382474 0037F3D4 2C 04 00 02 */ cmpwi r4, 2
/* 80382478 0037F3D8 41 82 00 64 */ beq lbl_803824DC
/* 8038247C 0037F3DC 40 80 00 14 */ bge lbl_80382490
/* 80382480 0037F3E0 2C 04 00 00 */ cmpwi r4, 0
/* 80382484 0037F3E4 41 82 01 50 */ beq lbl_803825D4
/* 80382488 0037F3E8 40 80 00 48 */ bge lbl_803824D0
/* 8038248C 0037F3EC 48 00 01 3C */ b lbl_803825C8
lbl_80382490:
/* 80382490 0037F3F0 2C 04 00 04 */ cmpwi r4, 4
/* 80382494 0037F3F4 41 82 00 64 */ beq lbl_803824F8
/* 80382498 0037F3F8 40 80 00 6C */ bge lbl_80382504
/* 8038249C 0037F3FC 48 00 00 50 */ b lbl_803824EC
lbl_803824A0:
/* 803824A0 0037F400 2C 04 00 C9 */ cmpwi r4, 0xc9
/* 803824A4 0037F404 41 82 01 30 */ beq lbl_803825D4
/* 803824A8 0037F408 40 80 00 1C */ bge lbl_803824C4
/* 803824AC 0037F40C 2C 04 00 0A */ cmpwi r4, 0xa
/* 803824B0 0037F410 41 82 00 7C */ beq lbl_8038252C
/* 803824B4 0037F414 41 80 00 68 */ blt lbl_8038251C
/* 803824B8 0037F418 2C 04 00 0E */ cmpwi r4, 0xe
/* 803824BC 0037F41C 40 80 01 0C */ bge lbl_803825C8
/* 803824C0 0037F420 48 00 00 94 */ b lbl_80382554
lbl_803824C4:
/* 803824C4 0037F424 2C 04 00 CB */ cmpwi r4, 0xcb
/* 803824C8 0037F428 40 80 01 00 */ bge lbl_803825C8
/* 803824CC 0037F42C 48 00 00 98 */ b lbl_80382564
lbl_803824D0:
/* 803824D0 0037F430 38 00 00 00 */ li r0, 0
/* 803824D4 0037F434 90 1D 00 00 */ stw r0, 0(r29)
/* 803824D8 0037F438 48 00 00 FC */ b lbl_803825D4
lbl_803824DC:
/* 803824DC 0037F43C 80 1D 00 00 */ lwz r0, 0(r29)
/* 803824E0 0037F440 54 00 07 8A */ rlwinm r0, r0, 0, 0x1e, 5
/* 803824E4 0037F444 90 1D 00 00 */ stw r0, 0(r29)
/* 803824E8 0037F448 48 00 00 EC */ b lbl_803825D4
lbl_803824EC:
/* 803824EC 0037F44C 38 00 00 00 */ li r0, 0
/* 803824F0 0037F450 B0 1D 00 00 */ sth r0, 0(r29)
/* 803824F4 0037F454 48 00 00 E0 */ b lbl_803825D4
lbl_803824F8:
/* 803824F8 0037F458 38 00 00 00 */ li r0, 0
/* 803824FC 0037F45C B0 1D 00 00 */ sth r0, 0(r29)
/* 80382500 0037F460 48 00 00 D4 */ b lbl_803825D4
lbl_80382504:
/* 80382504 0037F464 38 00 00 00 */ li r0, 0
/* 80382508 0037F468 B0 1D 00 00 */ sth r0, 0(r29)
/* 8038250C 0037F46C 48 00 00 C8 */ b lbl_803825D4
lbl_80382510:
/* 80382510 0037F470 38 00 00 00 */ li r0, 0
/* 80382514 0037F474 B0 1D 00 00 */ sth r0, 0(r29)
/* 80382518 0037F478 48 00 00 BC */ b lbl_803825D4
lbl_8038251C:
/* 8038251C 0037F47C 80 1D 00 00 */ lwz r0, 0(r29)
/* 80382520 0037F480 54 00 07 9E */ rlwinm r0, r0, 0, 0x1e, 0xf
/* 80382524 0037F484 90 1D 00 00 */ stw r0, 0(r29)
/* 80382528 0037F488 48 00 00 AC */ b lbl_803825D4
lbl_8038252C:
/* 8038252C 0037F48C 88 1C 00 32 */ lbz r0, 0x32(r28)
/* 80382530 0037F490 28 00 00 00 */ cmplwi r0, 0
/* 80382534 0037F494 41 82 00 0C */ beq lbl_80382540
/* 80382538 0037F498 80 1C 00 3C */ lwz r0, 0x3c(r28)
/* 8038253C 0037F49C 7C 7D 00 50 */ subf r3, r29, r0
lbl_80382540:
/* 80382540 0037F4A0 80 1D 00 00 */ lwz r0, 0(r29)
/* 80382544 0037F4A4 54 00 07 8A */ rlwinm r0, r0, 0, 0x1e, 5
/* 80382548 0037F4A8 50 60 01 BA */ rlwimi r0, r3, 0, 6, 0x1d
/* 8038254C 0037F4AC 90 1D 00 00 */ stw r0, 0(r29)
/* 80382550 0037F4B0 48 00 00 84 */ b lbl_803825D4
lbl_80382554:
/* 80382554 0037F4B4 80 1D 00 00 */ lwz r0, 0(r29)
/* 80382558 0037F4B8 54 00 07 9E */ rlwinm r0, r0, 0, 0x1e, 0xf
/* 8038255C 0037F4BC 90 1D 00 00 */ stw r0, 0(r29)
/* 80382560 0037F4C0 48 00 00 74 */ b lbl_803825D4
lbl_80382564:
/* 80382564 0037F4C4 88 1F 00 03 */ lbz r0, 3(r31)
/* 80382568 0037F4C8 28 1E 00 00 */ cmplwi r30, 0
/* 8038256C 0037F4CC 80 7C 00 10 */ lwz r3, 0x10(r28)
/* 80382570 0037F4D0 54 00 18 38 */ slwi r0, r0, 3
/* 80382574 0037F4D4 7C 63 02 14 */ add r3, r3, r0
/* 80382578 0037F4D8 80 03 00 00 */ lwz r0, 0(r3)
/* 8038257C 0037F4DC 3B 43 00 00 */ addi r26, r3, 0
/* 80382580 0037F4E0 54 1D 00 3C */ rlwinm r29, r0, 0, 0, 0x1e
/* 80382584 0037F4E4 41 82 00 24 */ beq lbl_803825A8
/* 80382588 0037F4E8 80 1E 00 00 */ lwz r0, 0(r30)
/* 8038258C 0037F4EC 80 9E 00 04 */ lwz r4, 4(r30)
/* 80382590 0037F4F0 54 19 00 3C */ rlwinm r25, r0, 0, 0, 0x1e
/* 80382594 0037F4F4 38 79 00 00 */ addi r3, r25, 0
/* 80382598 0037F4F8 4B FF C5 19 */ bl DCFlushRange
/* 8038259C 0037F4FC 7F 23 CB 78 */ mr r3, r25
/* 803825A0 0037F500 80 9E 00 04 */ lwz r4, 4(r30)
/* 803825A4 0037F504 4B FF C5 F1 */ bl ICInvalidateRange
lbl_803825A8:
/* 803825A8 0037F508 80 1A 00 00 */ lwz r0, 0(r26)
/* 803825AC 0037F50C 54 00 07 FF */ clrlwi. r0, r0, 0x1f
/* 803825B0 0037F510 41 82 00 0C */ beq lbl_803825BC
/* 803825B4 0037F514 7F 40 D3 78 */ mr r0, r26
/* 803825B8 0037F518 48 00 00 08 */ b lbl_803825C0
lbl_803825BC:
/* 803825BC 0037F51C 38 00 00 00 */ li r0, 0
lbl_803825C0:
/* 803825C0 0037F520 7C 1E 03 78 */ mr r30, r0
/* 803825C4 0037F524 48 00 00 10 */ b lbl_803825D4
lbl_803825C8:
/* 803825C8 0037F528 38 7B 00 00 */ addi r3, r27, 0
/* 803825CC 0037F52C 4C C6 31 82 */ crclr 6
/* 803825D0 0037F530 4B FF D3 DD */ bl OSReport
lbl_803825D4:
/* 803825D4 0037F534 3B FF 00 08 */ addi r31, r31, 8
lbl_803825D8:
/* 803825D8 0037F538 88 9F 00 02 */ lbz r4, 2(r31)
/* 803825DC 0037F53C 28 04 00 CB */ cmplwi r4, 0xcb
/* 803825E0 0037F540 40 82 FE 7C */ bne lbl_8038245C
/* 803825E4 0037F544 28 1E 00 00 */ cmplwi r30, 0
/* 803825E8 0037F548 41 82 00 24 */ beq lbl_8038260C
/* 803825EC 0037F54C 80 1E 00 00 */ lwz r0, 0(r30)
/* 803825F0 0037F550 80 9E 00 04 */ lwz r4, 4(r30)
/* 803825F4 0037F554 54 1B 00 3C */ rlwinm r27, r0, 0, 0, 0x1e
/* 803825F8 0037F558 38 7B 00 00 */ addi r3, r27, 0
/* 803825FC 0037F55C 4B FF C4 B5 */ bl DCFlushRange
/* 80382600 0037F560 7F 63 DB 78 */ mr r3, r27
/* 80382604 0037F564 80 9E 00 04 */ lwz r4, 4(r30)
/* 80382608 0037F568 4B FF C5 8D */ bl ICInvalidateRange
lbl_8038260C:
/* 8038260C 0037F56C 38 60 00 01 */ li r3, 1
lbl_80382610:
/* 80382610 0037F570 BB 21 00 1C */ lmw r25, 0x1c(r1)
/* 80382614 0037F574 80 01 00 3C */ lwz r0, 0x3c(r1)
/* 80382618 0037F578 38 21 00 38 */ addi r1, r1, 0x38
/* 8038261C 0037F57C 7C 08 03 A6 */ mtlr r0
/* 80382620 0037F580 4E 80 00 20 */ blr
.global OSUnlink
OSUnlink:
/* 80382624 0037F584 7C 08 02 A6 */ mflr r0
/* 80382628 0037F588 90 01 00 04 */ stw r0, 4(r1)
/* 8038262C 0037F58C 94 21 FF E8 */ stwu r1, -0x18(r1)
/* 80382630 0037F590 93 E1 00 14 */ stw r31, 0x14(r1)
/* 80382634 0037F594 7C 7F 1B 78 */ mr r31, r3
/* 80382638 0037F598 93 C1 00 10 */ stw r30, 0x10(r1)
/* 8038263C 0037F59C 80 83 00 04 */ lwz r4, 4(r3)
/* 80382640 0037F5A0 80 A3 00 08 */ lwz r5, 8(r3)
/* 80382644 0037F5A4 28 04 00 00 */ cmplwi r4, 0
/* 80382648 0037F5A8 40 82 00 10 */ bne lbl_80382658
/* 8038264C 0037F5AC 3C 60 80 00 */ lis r3, 0x800030CC@ha
/* 80382650 0037F5B0 90 A3 30 CC */ stw r5, 0x800030CC@l(r3)
/* 80382654 0037F5B4 48 00 00 08 */ b lbl_8038265C
lbl_80382658:
/* 80382658 0037F5B8 90 A4 00 08 */ stw r5, 8(r4)
lbl_8038265C:
/* 8038265C 0037F5BC 28 05 00 00 */ cmplwi r5, 0
/* 80382660 0037F5C0 40 82 00 10 */ bne lbl_80382670
/* 80382664 0037F5C4 3C 60 80 00 */ lis r3, 0x800030C8@ha
/* 80382668 0037F5C8 90 83 30 C8 */ stw r4, 0x800030C8@l(r3)
/* 8038266C 0037F5CC 48 00 00 08 */ b lbl_80382674
lbl_80382670:
/* 80382670 0037F5D0 90 85 00 04 */ stw r4, 4(r5)
lbl_80382674:
/* 80382674 0037F5D4 3C 60 80 00 */ lis r3, 0x800030C8@ha
/* 80382678 0037F5D8 83 C3 30 C8 */ lwz r30, 0x800030C8@l(r3)
/* 8038267C 0037F5DC 48 00 00 14 */ b lbl_80382690
lbl_80382680:
/* 80382680 0037F5E0 38 7F 00 00 */ addi r3, r31, 0
/* 80382684 0037F5E4 38 9E 00 00 */ addi r4, r30, 0
/* 80382688 0037F5E8 4B FF FD 65 */ bl Undo
/* 8038268C 0037F5EC 83 DE 00 04 */ lwz r30, 4(r30)
lbl_80382690:
/* 80382690 0037F5F0 28 1E 00 00 */ cmplwi r30, 0
/* 80382694 0037F5F4 40 82 FF EC */ bne lbl_80382680
/* 80382698 0037F5F8 7F E3 FB 78 */ mr r3, r31
/* 8038269C 0037F5FC 4B FF F8 35 */ bl OSNotifyUnlink
/* 803826A0 0037F600 3C 60 80 00 */ lis r3, 0x800030D0@ha
/* 803826A4 0037F604 80 63 30 D0 */ lwz r3, 0x800030D0@l(r3)
/* 803826A8 0037F608 28 03 00 00 */ cmplwi r3, 0
/* 803826AC 0037F60C 41 82 00 10 */ beq lbl_803826BC
/* 803826B0 0037F610 80 1F 00 14 */ lwz r0, 0x14(r31)
/* 803826B4 0037F614 7C 03 00 50 */ subf r0, r3, r0
/* 803826B8 0037F618 90 1F 00 14 */ stw r0, 0x14(r31)
lbl_803826BC:
/* 803826BC 0037F61C 88 1F 00 30 */ lbz r0, 0x30(r31)
/* 803826C0 0037F620 28 00 00 00 */ cmplwi r0, 0
/* 803826C4 0037F624 41 82 00 20 */ beq lbl_803826E4
/* 803826C8 0037F628 80 9F 00 10 */ lwz r4, 0x10(r31)
/* 803826CC 0037F62C 54 03 18 38 */ slwi r3, r0, 3
/* 803826D0 0037F630 80 1F 00 34 */ lwz r0, 0x34(r31)
/* 803826D4 0037F634 7C 64 18 2E */ lwzx r3, r4, r3
/* 803826D8 0037F638 54 63 00 3C */ rlwinm r3, r3, 0, 0, 0x1e
/* 803826DC 0037F63C 7C 03 00 50 */ subf r0, r3, r0
/* 803826E0 0037F640 90 1F 00 34 */ stw r0, 0x34(r31)
lbl_803826E4:
/* 803826E4 0037F644 88 1F 00 31 */ lbz r0, 0x31(r31)
/* 803826E8 0037F648 28 00 00 00 */ cmplwi r0, 0
/* 803826EC 0037F64C 41 82 00 20 */ beq lbl_8038270C
/* 803826F0 0037F650 80 9F 00 10 */ lwz r4, 0x10(r31)
/* 803826F4 0037F654 54 03 18 38 */ slwi r3, r0, 3
/* 803826F8 0037F658 80 1F 00 38 */ lwz r0, 0x38(r31)
/* 803826FC 0037F65C 7C 64 18 2E */ lwzx r3, r4, r3
/* 80382700 0037F660 54 63 00 3C */ rlwinm r3, r3, 0, 0, 0x1e
/* 80382704 0037F664 7C 03 00 50 */ subf r0, r3, r0
/* 80382708 0037F668 90 1F 00 38 */ stw r0, 0x38(r31)
lbl_8038270C:
/* 8038270C 0037F66C 88 1F 00 32 */ lbz r0, 0x32(r31)
/* 80382710 0037F670 28 00 00 00 */ cmplwi r0, 0
/* 80382714 0037F674 41 82 00 20 */ beq lbl_80382734
/* 80382718 0037F678 80 9F 00 10 */ lwz r4, 0x10(r31)
/* 8038271C 0037F67C 54 03 18 38 */ slwi r3, r0, 3
/* 80382720 0037F680 80 1F 00 3C */ lwz r0, 0x3c(r31)
/* 80382724 0037F684 7C 64 18 2E */ lwzx r3, r4, r3
/* 80382728 0037F688 54 63 00 3C */ rlwinm r3, r3, 0, 0, 0x1e
/* 8038272C 0037F68C 7C 03 00 50 */ subf r0, r3, r0
/* 80382730 0037F690 90 1F 00 3C */ stw r0, 0x3c(r31)
lbl_80382734:
/* 80382734 0037F694 80 9F 00 28 */ lwz r4, 0x28(r31)
/* 80382738 0037F698 48 00 00 14 */ b lbl_8038274C
lbl_8038273C:
/* 8038273C 0037F69C 80 04 00 04 */ lwz r0, 4(r4)
/* 80382740 0037F6A0 7C 1F 00 50 */ subf r0, r31, r0
/* 80382744 0037F6A4 90 04 00 04 */ stw r0, 4(r4)
/* 80382748 0037F6A8 38 84 00 08 */ addi r4, r4, 8
lbl_8038274C:
/* 8038274C 0037F6AC 80 7F 00 28 */ lwz r3, 0x28(r31)
/* 80382750 0037F6B0 80 1F 00 2C */ lwz r0, 0x2c(r31)
/* 80382754 0037F6B4 7C 03 02 14 */ add r0, r3, r0
/* 80382758 0037F6B8 7C 04 00 40 */ cmplw r4, r0
/* 8038275C 0037F6BC 41 80 FF E0 */ blt lbl_8038273C
/* 80382760 0037F6C0 38 C0 00 01 */ li r6, 1
/* 80382764 0037F6C4 38 A0 00 08 */ li r5, 8
/* 80382768 0037F6C8 38 60 00 00 */ li r3, 0
/* 8038276C 0037F6CC 48 00 00 40 */ b lbl_803827AC
lbl_80382770:
/* 80382770 0037F6D0 88 1F 00 33 */ lbz r0, 0x33(r31)
/* 80382774 0037F6D4 80 9F 00 10 */ lwz r4, 0x10(r31)
/* 80382778 0037F6D8 7C 06 00 40 */ cmplw r6, r0
/* 8038277C 0037F6DC 7C 84 2A 14 */ add r4, r4, r5
/* 80382780 0037F6E0 40 82 00 10 */ bne lbl_80382790
/* 80382784 0037F6E4 98 7F 00 33 */ stb r3, 0x33(r31)
/* 80382788 0037F6E8 90 64 00 00 */ stw r3, 0(r4)
/* 8038278C 0037F6EC 48 00 00 18 */ b lbl_803827A4
lbl_80382790:
/* 80382790 0037F6F0 80 04 00 00 */ lwz r0, 0(r4)
/* 80382794 0037F6F4 28 00 00 00 */ cmplwi r0, 0
/* 80382798 0037F6F8 41 82 00 0C */ beq lbl_803827A4
/* 8038279C 0037F6FC 7C 1F 00 50 */ subf r0, r31, r0
/* 803827A0 0037F700 90 04 00 00 */ stw r0, 0(r4)
lbl_803827A4:
/* 803827A4 0037F704 38 A5 00 08 */ addi r5, r5, 8
/* 803827A8 0037F708 38 C6 00 01 */ addi r6, r6, 1
lbl_803827AC:
/* 803827AC 0037F70C 80 1F 00 0C */ lwz r0, 0xc(r31)
/* 803827B0 0037F710 7C 06 00 40 */ cmplw r6, r0
/* 803827B4 0037F714 41 80 FF BC */ blt lbl_80382770
/* 803827B8 0037F718 80 1F 00 24 */ lwz r0, 0x24(r31)
/* 803827BC 0037F71C 38 60 00 01 */ li r3, 1
/* 803827C0 0037F720 7C 1F 00 50 */ subf r0, r31, r0
/* 803827C4 0037F724 90 1F 00 24 */ stw r0, 0x24(r31)
/* 803827C8 0037F728 80 1F 00 28 */ lwz r0, 0x28(r31)
/* 803827CC 0037F72C 7C 1F 00 50 */ subf r0, r31, r0
/* 803827D0 0037F730 90 1F 00 28 */ stw r0, 0x28(r31)
/* 803827D4 0037F734 80 1F 00 10 */ lwz r0, 0x10(r31)
/* 803827D8 0037F738 7C 1F 00 50 */ subf r0, r31, r0
/* 803827DC 0037F73C 90 1F 00 10 */ stw r0, 0x10(r31)
/* 803827E0 0037F740 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 803827E4 0037F744 83 E1 00 14 */ lwz r31, 0x14(r1)
/* 803827E8 0037F748 83 C1 00 10 */ lwz r30, 0x10(r1)
/* 803827EC 0037F74C 38 21 00 18 */ addi r1, r1, 0x18
/* 803827F0 0037F750 7C 08 03 A6 */ mtlr r0
/* 803827F4 0037F754 4E 80 00 20 */ blr
.global __OSModuleInit
__OSModuleInit:
/* 803827F8 0037F758 3C 80 80 00 */ lis r4, 0x800030CC@ha
/* 803827FC 0037F75C 38 00 00 00 */ li r0, 0
/* 80382800 0037F760 90 04 30 CC */ stw r0, 0x800030CC@l(r4)
/* 80382804 0037F764 90 04 30 C8 */ stw r0, 0x30c8(r4)
/* 80382808 0037F768 90 04 30 D0 */ stw r0, 0x30d0(r4)
/* 8038280C 0037F76C 4E 80 00 20 */ blr

View File

@ -1,273 +0,0 @@
.include "macros.inc"
.section .data
.balign 8
lbl_803F22E0:
.4byte OnReset
.4byte 0x7f
.4byte 0
.4byte 0
.section .text, "ax"
.fn OnReset, local
/* 80382A14 0037F974 7C 08 02 A6 */ mflr r0
/* 80382A18 0037F978 2C 03 00 00 */ cmpwi r3, 0
/* 80382A1C 0037F97C 90 01 00 04 */ stw r0, 4(r1)
/* 80382A20 0037F980 94 21 FF F8 */ stwu r1, -8(r1)
/* 80382A24 0037F984 41 82 00 18 */ beq .L_80382A3C
/* 80382A28 0037F988 3C 60 CC 00 */ lis r3, 0xCC004010@ha
/* 80382A2C 0037F98C 38 00 00 FF */ li r0, 0xff
/* 80382A30 0037F990 B0 03 40 10 */ sth r0, 0xCC004010@l(r3)
/* 80382A34 0037F994 3C 60 F0 00 */ lis r3, 0xf000
/* 80382A38 0037F998 4B FF EF F1 */ bl __OSMaskInterrupts
.L_80382A3C:
/* 80382A3C 0037F99C 38 60 00 01 */ li r3, 1
/* 80382A40 0037F9A0 80 01 00 0C */ lwz r0, 0xc(r1)
/* 80382A44 0037F9A4 38 21 00 08 */ addi r1, r1, 8
/* 80382A48 0037F9A8 7C 08 03 A6 */ mtlr r0
/* 80382A4C 0037F9AC 4E 80 00 20 */ blr
.endfn OnReset
.global MEMIntrruptHandler
MEMIntrruptHandler:
/* 80382A50 0037F9B0 7C 08 02 A6 */ mflr r0
/* 80382A54 0037F9B4 3C 60 CC 00 */ lis r3, 0xCC004000@ha
/* 80382A58 0037F9B8 90 01 00 04 */ stw r0, 4(r1)
/* 80382A5C 0037F9BC 39 03 40 00 */ addi r8, r3, 0xCC004000@l
/* 80382A60 0037F9C0 38 00 00 00 */ li r0, 0
/* 80382A64 0037F9C4 94 21 FF F8 */ stwu r1, -8(r1)
/* 80382A68 0037F9C8 A0 E3 40 24 */ lhz r7, 0x4024(r3)
/* 80382A6C 0037F9CC 3C 60 80 54 */ lis r3, __OSErrorTable@ha
/* 80382A70 0037F9D0 A0 C8 00 22 */ lhz r6, 0x22(r8)
/* 80382A74 0037F9D4 38 63 12 50 */ addi r3, r3, __OSErrorTable@l
/* 80382A78 0037F9D8 A0 A8 00 1E */ lhz r5, 0x1e(r8)
/* 80382A7C 0037F9DC 50 E6 81 9E */ rlwimi r6, r7, 0x10, 6, 0xf
/* 80382A80 0037F9E0 B0 08 00 20 */ sth r0, 0x20(r8)
/* 80382A84 0037F9E4 81 83 00 3C */ lwz r12, 0x3c(r3)
/* 80382A88 0037F9E8 28 0C 00 00 */ cmplwi r12, 0
/* 80382A8C 0037F9EC 41 82 00 18 */ beq lbl_80382AA4
/* 80382A90 0037F9F0 7D 88 03 A6 */ mtlr r12
/* 80382A94 0037F9F4 38 60 00 0F */ li r3, 0xf
/* 80382A98 0037F9F8 4C C6 31 82 */ crclr 6
/* 80382A9C 0037F9FC 4E 80 00 21 */ blrl
/* 80382AA0 0037FA00 48 00 00 0C */ b lbl_80382AAC
lbl_80382AA4:
/* 80382AA4 0037FA04 38 60 00 0F */ li r3, 0xf
/* 80382AA8 0037FA08 4B FF D2 C9 */ bl __OSUnhandledException
lbl_80382AAC:
/* 80382AAC 0037FA0C 80 01 00 0C */ lwz r0, 0xc(r1)
/* 80382AB0 0037FA10 38 21 00 08 */ addi r1, r1, 8
/* 80382AB4 0037FA14 7C 08 03 A6 */ mtlr r0
/* 80382AB8 0037FA18 4E 80 00 20 */ blr
.global OSProtectRange
OSProtectRange:
/* 80382ABC 0037FA1C 7C 08 02 A6 */ mflr r0
/* 80382AC0 0037FA20 90 01 00 04 */ stw r0, 4(r1)
/* 80382AC4 0037FA24 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 80382AC8 0037FA28 BF 41 00 18 */ stmw r26, 0x18(r1)
/* 80382ACC 0037FA2C 3B 43 00 00 */ addi r26, r3, 0
/* 80382AD0 0037FA30 28 1A 00 04 */ cmplwi r26, 4
/* 80382AD4 0037FA34 40 80 00 98 */ bge lbl_80382B6C
/* 80382AD8 0037FA38 7C 64 2A 14 */ add r3, r4, r5
/* 80382ADC 0037FA3C 38 03 03 FF */ addi r0, r3, 0x3ff
/* 80382AE0 0037FA40 54 9B 00 2A */ rlwinm r27, r4, 0, 0, 0x15
/* 80382AE4 0037FA44 54 1D 00 2A */ rlwinm r29, r0, 0, 0, 0x15
/* 80382AE8 0037FA48 38 7B 00 00 */ addi r3, r27, 0
/* 80382AEC 0037FA4C 54 DF 07 BE */ clrlwi r31, r6, 0x1e
/* 80382AF0 0037FA50 7C 9B E8 50 */ subf r4, r27, r29
/* 80382AF4 0037FA54 4B FF BF BD */ bl DCFlushRange
/* 80382AF8 0037FA58 4B FF EB 69 */ bl OSDisableInterrupts
/* 80382AFC 0037FA5C 3C 00 80 00 */ lis r0, 0x8000
/* 80382B00 0037FA60 7C 1E D4 30 */ srw r30, r0, r26
/* 80382B04 0037FA64 3B 83 00 00 */ addi r28, r3, 0
/* 80382B08 0037FA68 38 7E 00 00 */ addi r3, r30, 0
/* 80382B0C 0037FA6C 4B FF EF 1D */ bl __OSMaskInterrupts
/* 80382B10 0037FA70 3C 60 CC 00 */ lis r3, 0xCC004000@ha
/* 80382B14 0037FA74 38 A3 40 00 */ addi r5, r3, 0xCC004000@l
/* 80382B18 0037FA78 57 43 10 3A */ slwi r3, r26, 2
/* 80382B1C 0037FA7C 57 60 B4 3E */ rlwinm r0, r27, 0x16, 0x10, 0x1f
/* 80382B20 0037FA80 7C 05 1B 2E */ sthx r0, r5, r3
/* 80382B24 0037FA84 57 A4 B4 3E */ rlwinm r4, r29, 0x16, 0x10, 0x1f
/* 80382B28 0037FA88 7C 65 1A 14 */ add r3, r5, r3
/* 80382B2C 0037FA8C B0 83 00 02 */ sth r4, 2(r3)
/* 80382B30 0037FA90 38 85 00 10 */ addi r4, r5, 0x10
/* 80382B34 0037FA94 57 46 08 3C */ slwi r6, r26, 1
/* 80382B38 0037FA98 38 00 00 03 */ li r0, 3
/* 80382B3C 0037FA9C A0 A5 00 10 */ lhz r5, 0x10(r5)
/* 80382B40 0037FAA0 7C 03 30 30 */ slw r3, r0, r6
/* 80382B44 0037FAA4 7F E0 30 30 */ slw r0, r31, r6
/* 80382B48 0037FAA8 7C A5 18 78 */ andc r5, r5, r3
/* 80382B4C 0037FAAC 7C A5 03 78 */ or r5, r5, r0
/* 80382B50 0037FAB0 28 1F 00 03 */ cmplwi r31, 3
/* 80382B54 0037FAB4 B0 A4 00 00 */ sth r5, 0(r4)
/* 80382B58 0037FAB8 41 82 00 0C */ beq lbl_80382B64
/* 80382B5C 0037FABC 7F C3 F3 78 */ mr r3, r30
/* 80382B60 0037FAC0 4B FF EF 51 */ bl __OSUnmaskInterrupts
lbl_80382B64:
/* 80382B64 0037FAC4 7F 83 E3 78 */ mr r3, r28
/* 80382B68 0037FAC8 4B FF EB 21 */ bl OSRestoreInterrupts
lbl_80382B6C:
/* 80382B6C 0037FACC BB 41 00 18 */ lmw r26, 0x18(r1)
/* 80382B70 0037FAD0 80 01 00 34 */ lwz r0, 0x34(r1)
/* 80382B74 0037FAD4 38 21 00 30 */ addi r1, r1, 0x30
/* 80382B78 0037FAD8 7C 08 03 A6 */ mtlr r0
/* 80382B7C 0037FADC 4E 80 00 20 */ blr
.global Config24MB
Config24MB:
/* 80382B80 0037FAE0 38 E0 00 00 */ li r7, 0
/* 80382B84 0037FAE4 3C 80 00 00 */ lis r4, 0x00000002@ha
/* 80382B88 0037FAE8 38 84 00 02 */ addi r4, r4, 0x00000002@l
/* 80382B8C 0037FAEC 3C 60 80 00 */ lis r3, 0x800001FF@ha
/* 80382B90 0037FAF0 38 63 01 FF */ addi r3, r3, 0x800001FF@l
/* 80382B94 0037FAF4 3C C0 01 00 */ lis r6, 0x01000002@ha
/* 80382B98 0037FAF8 38 C6 00 02 */ addi r6, r6, 0x01000002@l
/* 80382B9C 0037FAFC 3C A0 81 00 */ lis r5, 0x810000FF@ha
/* 80382BA0 0037FB00 38 A5 00 FF */ addi r5, r5, 0x810000FF@l
/* 80382BA4 0037FB04 4C 00 01 2C */ isync
/* 80382BA8 0037FB08 7C F8 83 A6 */ mtspr 536, r7
/* 80382BAC 0037FB0C 7C 99 83 A6 */ mtspr 537, r4
/* 80382BB0 0037FB10 7C 78 83 A6 */ mtspr 536, r3
/* 80382BB4 0037FB14 4C 00 01 2C */ isync
/* 80382BB8 0037FB18 7C F0 83 A6 */ mtspr 528, r7
/* 80382BBC 0037FB1C 7C 91 83 A6 */ mtspr 529, r4
/* 80382BC0 0037FB20 7C 70 83 A6 */ mtspr 528, r3
/* 80382BC4 0037FB24 4C 00 01 2C */ isync
/* 80382BC8 0037FB28 7C FC 83 A6 */ mtspr 540, r7
/* 80382BCC 0037FB2C 7C DD 83 A6 */ mtspr 541, r6
/* 80382BD0 0037FB30 7C BC 83 A6 */ mtspr 540, r5
/* 80382BD4 0037FB34 4C 00 01 2C */ isync
/* 80382BD8 0037FB38 7C F4 83 A6 */ mtspr 532, r7
/* 80382BDC 0037FB3C 7C D5 83 A6 */ mtspr 533, r6
/* 80382BE0 0037FB40 7C B4 83 A6 */ mtspr 532, r5
/* 80382BE4 0037FB44 4C 00 01 2C */ isync
/* 80382BE8 0037FB48 7C 60 00 A6 */ mfmsr r3
/* 80382BEC 0037FB4C 60 63 00 30 */ ori r3, r3, 0x30
/* 80382BF0 0037FB50 7C 7B 03 A6 */ mtspr 0x1b, r3
/* 80382BF4 0037FB54 7C 68 02 A6 */ mflr r3
/* 80382BF8 0037FB58 7C 7A 03 A6 */ mtspr 0x1a, r3
/* 80382BFC 0037FB5C 4C 00 00 64 */ rfi
.global Config48MB
Config48MB:
/* 80382C00 0037FB60 38 E0 00 00 */ li r7, 0
/* 80382C04 0037FB64 3C 80 00 00 */ lis r4, 0x00000002@ha
/* 80382C08 0037FB68 38 84 00 02 */ addi r4, r4, 0x00000002@l
/* 80382C0C 0037FB6C 3C 60 80 00 */ lis r3, 0x800003FF@ha
/* 80382C10 0037FB70 38 63 03 FF */ addi r3, r3, 0x800003FF@l
/* 80382C14 0037FB74 3C C0 02 00 */ lis r6, 0x02000002@ha
/* 80382C18 0037FB78 38 C6 00 02 */ addi r6, r6, 0x02000002@l
/* 80382C1C 0037FB7C 3C A0 82 00 */ lis r5, 0x820001FF@ha
/* 80382C20 0037FB80 38 A5 01 FF */ addi r5, r5, 0x820001FF@l
/* 80382C24 0037FB84 4C 00 01 2C */ isync
/* 80382C28 0037FB88 7C F8 83 A6 */ mtspr 536, r7
/* 80382C2C 0037FB8C 7C 99 83 A6 */ mtspr 537, r4
/* 80382C30 0037FB90 7C 78 83 A6 */ mtspr 536, r3
/* 80382C34 0037FB94 4C 00 01 2C */ isync
/* 80382C38 0037FB98 7C F0 83 A6 */ mtspr 528, r7
/* 80382C3C 0037FB9C 7C 91 83 A6 */ mtspr 529, r4
/* 80382C40 0037FBA0 7C 70 83 A6 */ mtspr 528, r3
/* 80382C44 0037FBA4 4C 00 01 2C */ isync
/* 80382C48 0037FBA8 7C FC 83 A6 */ mtspr 540, r7
/* 80382C4C 0037FBAC 7C DD 83 A6 */ mtspr 541, r6
/* 80382C50 0037FBB0 7C BC 83 A6 */ mtspr 540, r5
/* 80382C54 0037FBB4 4C 00 01 2C */ isync
/* 80382C58 0037FBB8 7C F4 83 A6 */ mtspr 532, r7
/* 80382C5C 0037FBBC 7C D5 83 A6 */ mtspr 533, r6
/* 80382C60 0037FBC0 7C B4 83 A6 */ mtspr 532, r5
/* 80382C64 0037FBC4 4C 00 01 2C */ isync
/* 80382C68 0037FBC8 7C 60 00 A6 */ mfmsr r3
/* 80382C6C 0037FBCC 60 63 00 30 */ ori r3, r3, 0x30
/* 80382C70 0037FBD0 7C 7B 03 A6 */ mtspr 0x1b, r3
/* 80382C74 0037FBD4 7C 68 02 A6 */ mflr r3
/* 80382C78 0037FBD8 7C 7A 03 A6 */ mtspr 0x1a, r3
/* 80382C7C 0037FBDC 4C 00 00 64 */ rfi
.global RealMode
RealMode:
/* 80382C80 0037FBE0 54 63 00 BE */ clrlwi r3, r3, 2
/* 80382C84 0037FBE4 7C 7A 03 A6 */ mtspr 0x1a, r3
/* 80382C88 0037FBE8 7C 60 00 A6 */ mfmsr r3
/* 80382C8C 0037FBEC 54 63 07 32 */ rlwinm r3, r3, 0, 0x1c, 0x19
/* 80382C90 0037FBF0 7C 7B 03 A6 */ mtspr 0x1b, r3
/* 80382C94 0037FBF4 4C 00 00 64 */ rfi
.global __OSInitMemoryProtection
__OSInitMemoryProtection:
/* 80382C98 0037FBF8 7C 08 02 A6 */ mflr r0
/* 80382C9C 0037FBFC 90 01 00 04 */ stw r0, 4(r1)
/* 80382CA0 0037FC00 94 21 FF B8 */ stwu r1, -0x48(r1)
/* 80382CA4 0037FC04 93 E1 00 44 */ stw r31, 0x44(r1)
/* 80382CA8 0037FC08 93 C1 00 40 */ stw r30, 0x40(r1)
/* 80382CAC 0037FC0C 93 A1 00 3C */ stw r29, 0x3c(r1)
/* 80382CB0 0037FC10 3C 60 80 00 */ lis r3, 0x800000F0@ha
/* 80382CB4 0037FC14 83 A3 00 F0 */ lwz r29, 0x800000F0@l(r3)
/* 80382CB8 0037FC18 4B FF E9 A9 */ bl OSDisableInterrupts
/* 80382CBC 0037FC1C 3C 00 01 80 */ lis r0, 0x180
/* 80382CC0 0037FC20 7C 1D 00 40 */ cmplw r29, r0
/* 80382CC4 0037FC24 7C 7F 1B 78 */ mr r31, r3
/* 80382CC8 0037FC28 41 81 00 14 */ bgt lbl_80382CDC
/* 80382CCC 0037FC2C 3C 60 80 38 */ lis r3, Config24MB@ha
/* 80382CD0 0037FC30 38 63 2B 80 */ addi r3, r3, Config24MB@l
/* 80382CD4 0037FC34 4B FF FF AD */ bl RealMode
/* 80382CD8 0037FC38 48 00 00 1C */ b lbl_80382CF4
lbl_80382CDC:
/* 80382CDC 0037FC3C 3C 00 03 00 */ lis r0, 0x300
/* 80382CE0 0037FC40 7C 1D 00 40 */ cmplw r29, r0
/* 80382CE4 0037FC44 41 81 00 10 */ bgt lbl_80382CF4
/* 80382CE8 0037FC48 3C 60 80 38 */ lis r3, Config48MB@ha
/* 80382CEC 0037FC4C 38 63 2C 00 */ addi r3, r3, Config48MB@l
/* 80382CF0 0037FC50 4B FF FF 91 */ bl RealMode
lbl_80382CF4:
/* 80382CF4 0037FC54 3C 60 CC 00 */ lis r3, 0xCC004000@ha
/* 80382CF8 0037FC58 3B A3 40 00 */ addi r29, r3, 0xCC004000@l
/* 80382CFC 0037FC5C 38 00 00 00 */ li r0, 0
/* 80382D00 0037FC60 B0 1D 00 20 */ sth r0, 0x20(r29)
/* 80382D04 0037FC64 38 00 00 FF */ li r0, 0xff
/* 80382D08 0037FC68 3C 60 F0 00 */ lis r3, 0xf000
/* 80382D0C 0037FC6C B0 1D 00 10 */ sth r0, 0x10(r29)
/* 80382D10 0037FC70 4B FF ED 19 */ bl __OSMaskInterrupts
/* 80382D14 0037FC74 3C 60 80 38 */ lis r3, MEMIntrruptHandler@ha
/* 80382D18 0037FC78 3B C3 2A 50 */ addi r30, r3, MEMIntrruptHandler@l
/* 80382D1C 0037FC7C 7F C4 F3 78 */ mr r4, r30
/* 80382D20 0037FC80 38 60 00 00 */ li r3, 0
/* 80382D24 0037FC84 4B FF E9 89 */ bl __OSSetInterruptHandler
/* 80382D28 0037FC88 7F C4 F3 78 */ mr r4, r30
/* 80382D2C 0037FC8C 38 60 00 01 */ li r3, 1
/* 80382D30 0037FC90 4B FF E9 7D */ bl __OSSetInterruptHandler
/* 80382D34 0037FC94 7F C4 F3 78 */ mr r4, r30
/* 80382D38 0037FC98 38 60 00 02 */ li r3, 2
/* 80382D3C 0037FC9C 4B FF E9 71 */ bl __OSSetInterruptHandler
/* 80382D40 0037FCA0 7F C4 F3 78 */ mr r4, r30
/* 80382D44 0037FCA4 38 60 00 03 */ li r3, 3
/* 80382D48 0037FCA8 4B FF E9 65 */ bl __OSSetInterruptHandler
/* 80382D4C 0037FCAC 7F C4 F3 78 */ mr r4, r30
/* 80382D50 0037FCB0 38 60 00 04 */ li r3, 4
/* 80382D54 0037FCB4 4B FF E9 59 */ bl __OSSetInterruptHandler
/* 80382D58 0037FCB8 3C 60 80 3F */ lis r3, lbl_803F22E0@ha
/* 80382D5C 0037FCBC 38 63 22 E0 */ addi r3, r3, lbl_803F22E0@l
/* 80382D60 0037FCC0 48 00 02 CD */ bl OSRegisterResetFunction
/* 80382D64 0037FCC4 3C 60 80 00 */ lis r3, 0x800000F0@ha
/* 80382D68 0037FCC8 80 83 00 F0 */ lwz r4, 0x800000F0@l(r3)
/* 80382D6C 0037FCCC 80 03 00 28 */ lwz r0, 0x28(r3)
/* 80382D70 0037FCD0 7C 04 00 40 */ cmplw r4, r0
/* 80382D74 0037FCD4 40 80 00 18 */ bge lbl_80382D8C
/* 80382D78 0037FCD8 3C 04 FE 80 */ addis r0, r4, 0xfe80
/* 80382D7C 0037FCDC 28 00 00 00 */ cmplwi r0, 0
/* 80382D80 0037FCE0 40 82 00 0C */ bne lbl_80382D8C
/* 80382D84 0037FCE4 38 00 00 02 */ li r0, 2
/* 80382D88 0037FCE8 B0 1D 00 28 */ sth r0, 0x28(r29)
lbl_80382D8C:
/* 80382D8C 0037FCEC 3C 60 08 00 */ lis r3, 0x800
/* 80382D90 0037FCF0 4B FF ED 21 */ bl __OSUnmaskInterrupts
/* 80382D94 0037FCF4 7F E3 FB 78 */ mr r3, r31
/* 80382D98 0037FCF8 4B FF E8 F1 */ bl OSRestoreInterrupts
/* 80382D9C 0037FCFC 80 01 00 4C */ lwz r0, 0x4c(r1)
/* 80382DA0 0037FD00 83 E1 00 44 */ lwz r31, 0x44(r1)
/* 80382DA4 0037FD04 83 C1 00 40 */ lwz r30, 0x40(r1)
/* 80382DA8 0037FD08 83 A1 00 3C */ lwz r29, 0x3c(r1)
/* 80382DAC 0037FD0C 38 21 00 48 */ addi r1, r1, 0x48
/* 80382DB0 0037FD10 7C 08 03 A6 */ mtlr r0
/* 80382DB4 0037FD14 4E 80 00 20 */ blr

View File

@ -1,150 +0,0 @@
.include "macros.inc"
.section .text, "ax"
.global OSInitMessageQueue
OSInitMessageQueue:
/* 80382810 0037F770 7C 08 02 A6 */ mflr r0
/* 80382814 0037F774 90 01 00 04 */ stw r0, 4(r1)
/* 80382818 0037F778 94 21 FF D8 */ stwu r1, -0x28(r1)
/* 8038281C 0037F77C 93 E1 00 24 */ stw r31, 0x24(r1)
/* 80382820 0037F780 3B E5 00 00 */ addi r31, r5, 0
/* 80382824 0037F784 93 C1 00 20 */ stw r30, 0x20(r1)
/* 80382828 0037F788 3B C4 00 00 */ addi r30, r4, 0
/* 8038282C 0037F78C 93 A1 00 1C */ stw r29, 0x1c(r1)
/* 80382830 0037F790 3B A3 00 00 */ addi r29, r3, 0
/* 80382834 0037F794 48 00 1D 91 */ bl OSInitThreadQueue
/* 80382838 0037F798 38 7D 00 08 */ addi r3, r29, 8
/* 8038283C 0037F79C 48 00 1D 89 */ bl OSInitThreadQueue
/* 80382840 0037F7A0 93 DD 00 10 */ stw r30, 0x10(r29)
/* 80382844 0037F7A4 38 00 00 00 */ li r0, 0
/* 80382848 0037F7A8 93 FD 00 14 */ stw r31, 0x14(r29)
/* 8038284C 0037F7AC 90 1D 00 18 */ stw r0, 0x18(r29)
/* 80382850 0037F7B0 90 1D 00 1C */ stw r0, 0x1c(r29)
/* 80382854 0037F7B4 80 01 00 2C */ lwz r0, 0x2c(r1)
/* 80382858 0037F7B8 83 E1 00 24 */ lwz r31, 0x24(r1)
/* 8038285C 0037F7BC 83 C1 00 20 */ lwz r30, 0x20(r1)
/* 80382860 0037F7C0 83 A1 00 1C */ lwz r29, 0x1c(r1)
/* 80382864 0037F7C4 38 21 00 28 */ addi r1, r1, 0x28
/* 80382868 0037F7C8 7C 08 03 A6 */ mtlr r0
/* 8038286C 0037F7CC 4E 80 00 20 */ blr
.global OSSendMessage
OSSendMessage:
/* 80382870 0037F7D0 7C 08 02 A6 */ mflr r0
/* 80382874 0037F7D4 90 01 00 04 */ stw r0, 4(r1)
/* 80382878 0037F7D8 94 21 FF D8 */ stwu r1, -0x28(r1)
/* 8038287C 0037F7DC 93 E1 00 24 */ stw r31, 0x24(r1)
/* 80382880 0037F7E0 3B E5 00 00 */ addi r31, r5, 0
/* 80382884 0037F7E4 93 C1 00 20 */ stw r30, 0x20(r1)
/* 80382888 0037F7E8 93 A1 00 1C */ stw r29, 0x1c(r1)
/* 8038288C 0037F7EC 3B A4 00 00 */ addi r29, r4, 0
/* 80382890 0037F7F0 93 81 00 18 */ stw r28, 0x18(r1)
/* 80382894 0037F7F4 3B 83 00 00 */ addi r28, r3, 0
/* 80382898 0037F7F8 4B FF ED C9 */ bl OSDisableInterrupts
/* 8038289C 0037F7FC 3B C3 00 00 */ addi r30, r3, 0
/* 803828A0 0037F800 57 FF 07 FE */ clrlwi r31, r31, 0x1f
/* 803828A4 0037F804 48 00 00 24 */ b lbl_803828C8
lbl_803828A8:
/* 803828A8 0037F808 2C 1F 00 00 */ cmpwi r31, 0
/* 803828AC 0037F80C 40 82 00 14 */ bne lbl_803828C0
/* 803828B0 0037F810 7F C3 F3 78 */ mr r3, r30
/* 803828B4 0037F814 4B FF ED D5 */ bl OSRestoreInterrupts
/* 803828B8 0037F818 38 60 00 00 */ li r3, 0
/* 803828BC 0037F81C 48 00 00 5C */ b lbl_80382918
lbl_803828C0:
/* 803828C0 0037F820 7F 83 E3 78 */ mr r3, r28
/* 803828C4 0037F824 48 00 28 49 */ bl OSSleepThread
lbl_803828C8:
/* 803828C8 0037F828 80 DC 00 14 */ lwz r6, 0x14(r28)
/* 803828CC 0037F82C 80 9C 00 1C */ lwz r4, 0x1c(r28)
/* 803828D0 0037F830 7C 06 20 00 */ cmpw r6, r4
/* 803828D4 0037F834 40 81 FF D4 */ ble lbl_803828A8
/* 803828D8 0037F838 80 1C 00 18 */ lwz r0, 0x18(r28)
/* 803828DC 0037F83C 38 7C 00 08 */ addi r3, r28, 8
/* 803828E0 0037F840 80 BC 00 10 */ lwz r5, 0x10(r28)
/* 803828E4 0037F844 7C 80 22 14 */ add r4, r0, r4
/* 803828E8 0037F848 7C 04 33 D6 */ divw r0, r4, r6
/* 803828EC 0037F84C 7C 00 31 D6 */ mullw r0, r0, r6
/* 803828F0 0037F850 7C 00 20 50 */ subf r0, r0, r4
/* 803828F4 0037F854 54 00 10 3A */ slwi r0, r0, 2
/* 803828F8 0037F858 7F A5 01 2E */ stwx r29, r5, r0
/* 803828FC 0037F85C 80 9C 00 1C */ lwz r4, 0x1c(r28)
/* 80382900 0037F860 38 04 00 01 */ addi r0, r4, 1
/* 80382904 0037F864 90 1C 00 1C */ stw r0, 0x1c(r28)
/* 80382908 0037F868 48 00 28 F1 */ bl OSWakeupThread
/* 8038290C 0037F86C 7F C3 F3 78 */ mr r3, r30
/* 80382910 0037F870 4B FF ED 79 */ bl OSRestoreInterrupts
/* 80382914 0037F874 38 60 00 01 */ li r3, 1
lbl_80382918:
/* 80382918 0037F878 80 01 00 2C */ lwz r0, 0x2c(r1)
/* 8038291C 0037F87C 83 E1 00 24 */ lwz r31, 0x24(r1)
/* 80382920 0037F880 83 C1 00 20 */ lwz r30, 0x20(r1)
/* 80382924 0037F884 83 A1 00 1C */ lwz r29, 0x1c(r1)
/* 80382928 0037F888 83 81 00 18 */ lwz r28, 0x18(r1)
/* 8038292C 0037F88C 38 21 00 28 */ addi r1, r1, 0x28
/* 80382930 0037F890 7C 08 03 A6 */ mtlr r0
/* 80382934 0037F894 4E 80 00 20 */ blr
.global OSReceiveMessage
OSReceiveMessage:
/* 80382938 0037F898 7C 08 02 A6 */ mflr r0
/* 8038293C 0037F89C 90 01 00 04 */ stw r0, 4(r1)
/* 80382940 0037F8A0 94 21 FF D8 */ stwu r1, -0x28(r1)
/* 80382944 0037F8A4 93 E1 00 24 */ stw r31, 0x24(r1)
/* 80382948 0037F8A8 3B E3 00 00 */ addi r31, r3, 0
/* 8038294C 0037F8AC 93 C1 00 20 */ stw r30, 0x20(r1)
/* 80382950 0037F8B0 3B C5 00 00 */ addi r30, r5, 0
/* 80382954 0037F8B4 93 A1 00 1C */ stw r29, 0x1c(r1)
/* 80382958 0037F8B8 93 81 00 18 */ stw r28, 0x18(r1)
/* 8038295C 0037F8BC 3B 84 00 00 */ addi r28, r4, 0
/* 80382960 0037F8C0 4B FF ED 01 */ bl OSDisableInterrupts
/* 80382964 0037F8C4 3B A3 00 00 */ addi r29, r3, 0
/* 80382968 0037F8C8 57 DE 07 FE */ clrlwi r30, r30, 0x1f
/* 8038296C 0037F8CC 48 00 00 24 */ b lbl_80382990
lbl_80382970:
/* 80382970 0037F8D0 2C 1E 00 00 */ cmpwi r30, 0
/* 80382974 0037F8D4 40 82 00 14 */ bne lbl_80382988
/* 80382978 0037F8D8 7F A3 EB 78 */ mr r3, r29
/* 8038297C 0037F8DC 4B FF ED 0D */ bl OSRestoreInterrupts
/* 80382980 0037F8E0 38 60 00 00 */ li r3, 0
/* 80382984 0037F8E4 48 00 00 70 */ b lbl_803829F4
lbl_80382988:
/* 80382988 0037F8E8 38 7F 00 08 */ addi r3, r31, 8
/* 8038298C 0037F8EC 48 00 27 81 */ bl OSSleepThread
lbl_80382990:
/* 80382990 0037F8F0 80 1F 00 1C */ lwz r0, 0x1c(r31)
/* 80382994 0037F8F4 2C 00 00 00 */ cmpwi r0, 0
/* 80382998 0037F8F8 41 82 FF D8 */ beq lbl_80382970
/* 8038299C 0037F8FC 28 1C 00 00 */ cmplwi r28, 0
/* 803829A0 0037F900 41 82 00 18 */ beq lbl_803829B8
/* 803829A4 0037F904 80 1F 00 18 */ lwz r0, 0x18(r31)
/* 803829A8 0037F908 80 7F 00 10 */ lwz r3, 0x10(r31)
/* 803829AC 0037F90C 54 00 10 3A */ slwi r0, r0, 2
/* 803829B0 0037F910 7C 03 00 2E */ lwzx r0, r3, r0
/* 803829B4 0037F914 90 1C 00 00 */ stw r0, 0(r28)
lbl_803829B8:
/* 803829B8 0037F918 80 BF 00 18 */ lwz r5, 0x18(r31)
/* 803829BC 0037F91C 7F E3 FB 78 */ mr r3, r31
/* 803829C0 0037F920 80 9F 00 14 */ lwz r4, 0x14(r31)
/* 803829C4 0037F924 38 A5 00 01 */ addi r5, r5, 1
/* 803829C8 0037F928 7C 05 23 D6 */ divw r0, r5, r4
/* 803829CC 0037F92C 7C 00 21 D6 */ mullw r0, r0, r4
/* 803829D0 0037F930 7C 00 28 50 */ subf r0, r0, r5
/* 803829D4 0037F934 90 1F 00 18 */ stw r0, 0x18(r31)
/* 803829D8 0037F938 80 9F 00 1C */ lwz r4, 0x1c(r31)
/* 803829DC 0037F93C 38 04 FF FF */ addi r0, r4, -1
/* 803829E0 0037F940 90 1F 00 1C */ stw r0, 0x1c(r31)
/* 803829E4 0037F944 48 00 28 15 */ bl OSWakeupThread
/* 803829E8 0037F948 7F A3 EB 78 */ mr r3, r29
/* 803829EC 0037F94C 4B FF EC 9D */ bl OSRestoreInterrupts
/* 803829F0 0037F950 38 60 00 01 */ li r3, 1
lbl_803829F4:
/* 803829F4 0037F954 80 01 00 2C */ lwz r0, 0x2c(r1)
/* 803829F8 0037F958 83 E1 00 24 */ lwz r31, 0x24(r1)
/* 803829FC 0037F95C 83 C1 00 20 */ lwz r30, 0x20(r1)
/* 80382A00 0037F960 83 A1 00 1C */ lwz r29, 0x1c(r1)
/* 80382A04 0037F964 83 81 00 18 */ lwz r28, 0x18(r1)
/* 80382A08 0037F968 38 21 00 28 */ addi r1, r1, 0x28
/* 80382A0C 0037F96C 7C 08 03 A6 */ mtlr r0
/* 80382A10 0037F970 4E 80 00 20 */ blr

View File

@ -1,38 +0,0 @@
.include "macros.inc"
.section .text, "ax"
.global __OSUnlockAllMutex
__OSUnlockAllMutex:
/* 80382DB8 0037FD18 7C 08 02 A6 */ mflr r0
/* 80382DBC 0037FD1C 90 01 00 04 */ stw r0, 4(r1)
/* 80382DC0 0037FD20 94 21 FF E8 */ stwu r1, -0x18(r1)
/* 80382DC4 0037FD24 93 E1 00 14 */ stw r31, 0x14(r1)
/* 80382DC8 0037FD28 3B E0 00 00 */ li r31, 0
/* 80382DCC 0037FD2C 93 C1 00 10 */ stw r30, 0x10(r1)
/* 80382DD0 0037FD30 3B C3 00 00 */ addi r30, r3, 0
/* 80382DD4 0037FD34 48 00 00 30 */ b lbl_80382E04
lbl_80382DD8:
/* 80382DD8 0037FD38 80 A4 00 10 */ lwz r5, 0x10(r4)
/* 80382DDC 0037FD3C 38 64 00 00 */ addi r3, r4, 0
/* 80382DE0 0037FD40 28 05 00 00 */ cmplwi r5, 0
/* 80382DE4 0037FD44 40 82 00 0C */ bne lbl_80382DF0
/* 80382DE8 0037FD48 93 FE 02 F8 */ stw r31, 0x2f8(r30)
/* 80382DEC 0037FD4C 48 00 00 08 */ b lbl_80382DF4
lbl_80382DF0:
/* 80382DF0 0037FD50 93 E5 00 14 */ stw r31, 0x14(r5)
lbl_80382DF4:
/* 80382DF4 0037FD54 90 BE 02 F4 */ stw r5, 0x2f4(r30)
/* 80382DF8 0037FD58 93 E4 00 0C */ stw r31, 0xc(r4)
/* 80382DFC 0037FD5C 93 E4 00 08 */ stw r31, 8(r4)
/* 80382E00 0037FD60 48 00 23 F9 */ bl OSWakeupThread
lbl_80382E04:
/* 80382E04 0037FD64 80 9E 02 F4 */ lwz r4, 0x2f4(r30)
/* 80382E08 0037FD68 28 04 00 00 */ cmplwi r4, 0
/* 80382E0C 0037FD6C 40 82 FF CC */ bne lbl_80382DD8
/* 80382E10 0037FD70 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 80382E14 0037FD74 83 E1 00 14 */ lwz r31, 0x14(r1)
/* 80382E18 0037FD78 83 C1 00 10 */ lwz r30, 0x10(r1)
/* 80382E1C 0037FD7C 38 21 00 18 */ addi r1, r1, 0x18
/* 80382E20 0037FD80 7C 08 03 A6 */ mtlr r0
/* 80382E24 0037FD84 4E 80 00 20 */ blr

View File

@ -1,175 +0,0 @@
.include "macros.inc"
.section .bss
.balign 8
.global Header
Header:
.skip 0x20
.section .sbss
.balign 8
SaveStart:
.skip 0x4
SaveEnd:
.skip 0x4
Prepared:
.skip 0x8
.section .text, "ax"
Run:
/* 80382E28 0037FD88 7C 00 04 AC */ sync
/* 80382E2C 0037FD8C 4C 00 01 2C */ isync
/* 80382E30 0037FD90 7C 68 03 A6 */ mtlr r3
/* 80382E34 0037FD94 4E 80 00 20 */ blr
Callback:
/* 80382E38 0037FD98 38 00 00 01 */ li r0, 1
/* 80382E3C 0037FD9C 90 0D AD 30 */ stw r0, Prepared@sda21(r13)
/* 80382E40 0037FDA0 4E 80 00 20 */ blr
.global __OSReboot
__OSReboot:
/* 80382E44 0037FDA4 7C 08 02 A6 */ mflr r0
/* 80382E48 0037FDA8 90 01 00 04 */ stw r0, 4(r1)
/* 80382E4C 0037FDAC 94 21 FC C0 */ stwu r1, -0x340(r1)
/* 80382E50 0037FDB0 93 E1 03 3C */ stw r31, 0x33c(r1)
/* 80382E54 0037FDB4 93 C1 03 38 */ stw r30, 0x338(r1)
/* 80382E58 0037FDB8 3C 60 80 54 */ lis r3, Header@ha
/* 80382E5C 0037FDBC 3B C3 15 80 */ addi r30, r3, Header@l
/* 80382E60 0037FDC0 4B FF E8 01 */ bl OSDisableInterrupts
/* 80382E64 0037FDC4 80 AD AD 28 */ lwz r5, SaveStart@sda21(r13)
/* 80382E68 0037FDC8 3C 80 81 30 */ lis r4, 0x812FDFF0@ha
/* 80382E6C 0037FDCC 80 0D AD 2C */ lwz r0, SaveEnd@sda21(r13)
/* 80382E70 0037FDD0 38 60 00 00 */ li r3, 0
/* 80382E74 0037FDD4 3F E0 81 80 */ lis r31, 0x817FFFFC@ha
/* 80382E78 0037FDD8 38 E0 00 01 */ li r7, 1
/* 80382E7C 0037FDDC 90 7F FF FC */ stw r3, 0x817FFFFC@l(r31)
/* 80382E80 0037FDE0 3C C0 80 00 */ lis r6, 0x800030E2@ha
/* 80382E84 0037FDE4 90 7F FF F8 */ stw r3, -8(r31)
/* 80382E88 0037FDE8 38 61 00 70 */ addi r3, r1, 0x70
/* 80382E8C 0037FDEC 98 E6 30 E2 */ stb r7, 0x800030E2@l(r6)
/* 80382E90 0037FDF0 90 A4 DF F0 */ stw r5, 0x812FDFF0@l(r4)
/* 80382E94 0037FDF4 90 04 DF EC */ stw r0, -0x2014(r4)
/* 80382E98 0037FDF8 4B FF C7 7D */ bl OSClearContext
/* 80382E9C 0037FDFC 38 61 00 70 */ addi r3, r1, 0x70
/* 80382EA0 0037FE00 4B FF C5 7D */ bl OSSetCurrentContext
/* 80382EA4 0037FE04 4B FE ED 01 */ bl DVDInit
/* 80382EA8 0037FE08 38 60 00 01 */ li r3, 1
/* 80382EAC 0037FE0C 4B FF 13 51 */ bl DVDSetAutoInvalidation
/* 80382EB0 0037FE10 3C 60 80 38 */ lis r3, Callback@ha
/* 80382EB4 0037FE14 38 63 2E 38 */ addi r3, r3, Callback@l
/* 80382EB8 0037FE18 4B FF 18 E5 */ bl __DVDPrepareResetAsync
/* 80382EBC 0037FE1C 4B FF 17 FD */ bl DVDCheckDisk
/* 80382EC0 0037FE20 2C 03 00 00 */ cmpwi r3, 0
/* 80382EC4 0037FE24 40 82 00 0C */ bne lbl_80382ED0
/* 80382EC8 0037FE28 80 7F FF FC */ lwz r3, -4(r31)
/* 80382ECC 0037FE2C 48 00 02 E1 */ bl __OSDoHotReset
lbl_80382ED0:
/* 80382ED0 0037FE30 38 60 FF E0 */ li r3, -32
/* 80382ED4 0037FE34 4B FF EB 55 */ bl __OSMaskInterrupts
/* 80382ED8 0037FE38 38 60 04 00 */ li r3, 0x400
/* 80382EDC 0037FE3C 4B FF EB D5 */ bl __OSUnmaskInterrupts
/* 80382EE0 0037FE40 4B FF E7 95 */ bl OSEnableInterrupts
/* 80382EE4 0037FE44 48 00 00 04 */ b lbl_80382EE8
lbl_80382EE8:
/* 80382EE8 0037FE48 48 00 00 04 */ b lbl_80382EEC
lbl_80382EEC:
/* 80382EEC 0037FE4C 80 0D AD 30 */ lwz r0, Prepared@sda21(r13)
/* 80382EF0 0037FE50 2C 00 00 00 */ cmpwi r0, 0
/* 80382EF4 0037FE54 41 82 FF F8 */ beq lbl_80382EEC
/* 80382EF8 0037FE58 7F C4 F3 78 */ mr r4, r30
/* 80382EFC 0037FE5C 38 61 00 40 */ addi r3, r1, 0x40
/* 80382F00 0037FE60 38 A0 00 20 */ li r5, 0x20
/* 80382F04 0037FE64 38 C0 24 40 */ li r6, 0x2440
/* 80382F08 0037FE68 38 E0 00 00 */ li r7, 0
/* 80382F0C 0037FE6C 4B FF 0A C5 */ bl DVDReadAbsAsyncForBS
/* 80382F10 0037FE70 3F E0 81 80 */ lis r31, 0x8180
/* 80382F14 0037FE74 48 00 00 04 */ b lbl_80382F18
lbl_80382F18:
/* 80382F18 0037FE78 48 00 00 04 */ b lbl_80382F1C
lbl_80382F1C:
/* 80382F1C 0037FE7C 80 01 00 4C */ lwz r0, 0x4c(r1)
/* 80382F20 0037FE80 2C 00 00 01 */ cmpwi r0, 1
/* 80382F24 0037FE84 41 82 FF F8 */ beq lbl_80382F1C
/* 80382F28 0037FE88 40 80 00 14 */ bge lbl_80382F3C
/* 80382F2C 0037FE8C 2C 00 FF FF */ cmpwi r0, -1
/* 80382F30 0037FE90 41 82 00 18 */ beq lbl_80382F48
/* 80382F34 0037FE94 40 80 00 20 */ bge lbl_80382F54
/* 80382F38 0037FE98 4B FF FF E4 */ b lbl_80382F1C
lbl_80382F3C:
/* 80382F3C 0037FE9C 2C 00 00 0C */ cmpwi r0, 0xc
/* 80382F40 0037FEA0 40 80 FF DC */ bge lbl_80382F1C
/* 80382F44 0037FEA4 48 00 00 04 */ b lbl_80382F48
lbl_80382F48:
/* 80382F48 0037FEA8 80 7F FF FC */ lwz r3, -4(r31)
/* 80382F4C 0037FEAC 48 00 02 61 */ bl __OSDoHotReset
/* 80382F50 0037FEB0 4B FF FF CC */ b lbl_80382F1C
lbl_80382F54:
/* 80382F54 0037FEB4 80 7E 00 18 */ lwz r3, 0x18(r30)
/* 80382F58 0037FEB8 80 9E 00 14 */ lwz r4, 0x14(r30)
/* 80382F5C 0037FEBC 38 03 00 1F */ addi r0, r3, 0x1f
/* 80382F60 0037FEC0 38 84 00 20 */ addi r4, r4, 0x20
/* 80382F64 0037FEC4 54 1E 00 34 */ rlwinm r30, r0, 0, 0, 0x1a
/* 80382F68 0037FEC8 48 00 00 04 */ b lbl_80382F6C
lbl_80382F6C:
/* 80382F6C 0037FECC 48 00 00 04 */ b lbl_80382F70
lbl_80382F70:
/* 80382F70 0037FED0 80 0D AD 30 */ lwz r0, Prepared@sda21(r13)
/* 80382F74 0037FED4 2C 00 00 00 */ cmpwi r0, 0
/* 80382F78 0037FED8 41 82 FF F8 */ beq lbl_80382F70
/* 80382F7C 0037FEDC 7F C5 F3 78 */ mr r5, r30
/* 80382F80 0037FEE0 38 61 00 10 */ addi r3, r1, 0x10
/* 80382F84 0037FEE4 38 C4 24 40 */ addi r6, r4, 0x2440
/* 80382F88 0037FEE8 3C 80 81 30 */ lis r4, 0x8130
/* 80382F8C 0037FEEC 38 E0 00 00 */ li r7, 0
/* 80382F90 0037FEF0 4B FF 0A 41 */ bl DVDReadAbsAsyncForBS
/* 80382F94 0037FEF4 3F E0 81 80 */ lis r31, 0x8180
/* 80382F98 0037FEF8 48 00 00 04 */ b lbl_80382F9C
lbl_80382F9C:
/* 80382F9C 0037FEFC 48 00 00 04 */ b lbl_80382FA0
lbl_80382FA0:
/* 80382FA0 0037FF00 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 80382FA4 0037FF04 2C 00 00 01 */ cmpwi r0, 1
/* 80382FA8 0037FF08 41 82 FF F8 */ beq lbl_80382FA0
/* 80382FAC 0037FF0C 40 80 00 14 */ bge lbl_80382FC0
/* 80382FB0 0037FF10 2C 00 FF FF */ cmpwi r0, -1
/* 80382FB4 0037FF14 41 82 00 18 */ beq lbl_80382FCC
/* 80382FB8 0037FF18 40 80 00 20 */ bge lbl_80382FD8
/* 80382FBC 0037FF1C 4B FF FF E4 */ b lbl_80382FA0
lbl_80382FC0:
/* 80382FC0 0037FF20 2C 00 00 0C */ cmpwi r0, 0xc
/* 80382FC4 0037FF24 40 80 FF DC */ bge lbl_80382FA0
/* 80382FC8 0037FF28 48 00 00 04 */ b lbl_80382FCC
lbl_80382FCC:
/* 80382FCC 0037FF2C 80 7F FF FC */ lwz r3, -4(r31)
/* 80382FD0 0037FF30 48 00 01 DD */ bl __OSDoHotReset
/* 80382FD4 0037FF34 4B FF FF CC */ b lbl_80382FA0
lbl_80382FD8:
/* 80382FD8 0037FF38 3C 60 81 30 */ lis r3, 0x8130
/* 80382FDC 0037FF3C 7F C4 F3 78 */ mr r4, r30
/* 80382FE0 0037FF40 4B FF BB B5 */ bl ICInvalidateRange
/* 80382FE4 0037FF44 4B FF E6 7D */ bl OSDisableInterrupts
/* 80382FE8 0037FF48 4B FF BB E1 */ bl ICFlashInvalidate
/* 80382FEC 0037FF4C 3C 60 81 30 */ lis r3, 0x8130
/* 80382FF0 0037FF50 4B FF FE 39 */ bl Run
/* 80382FF4 0037FF54 80 01 03 44 */ lwz r0, 0x344(r1)
/* 80382FF8 0037FF58 83 E1 03 3C */ lwz r31, 0x33c(r1)
/* 80382FFC 0037FF5C 83 C1 03 38 */ lwz r30, 0x338(r1)
/* 80383000 0037FF60 38 21 03 40 */ addi r1, r1, 0x340
/* 80383004 0037FF64 7C 08 03 A6 */ mtlr r0
/* 80383008 0037FF68 4E 80 00 20 */ blr
.global OSSetSaveRegion
OSSetSaveRegion:
/* 8038300C 0037FF6C 90 6D AD 28 */ stw r3, SaveStart@sda21(r13)
/* 80383010 0037FF70 90 8D AD 2C */ stw r4, SaveEnd@sda21(r13)
/* 80383014 0037FF74 4E 80 00 20 */ blr
.global OSGetSaveRegion
OSGetSaveRegion:
/* 80383018 0037FF78 80 0D AC DC */ lwz r0, __OSSavedRegionStart@sda21(r13)
/* 8038301C 0037FF7C 90 03 00 00 */ stw r0, 0(r3)
/* 80383020 0037FF80 80 0D AC D8 */ lwz r0, __OSSavedRegionEnd@sda21(r13)
/* 80383024 0037FF84 90 04 00 00 */ stw r0, 0(r4)
/* 80383028 0037FF88 4E 80 00 20 */ blr

View File

@ -1,361 +0,0 @@
.include "macros.inc"
.section .sbss
.balign 8
ResetFunctionQueue:
.skip 0x8
.section .text, "ax"
.global OSRegisterResetFunction
OSRegisterResetFunction:
/* 8038302C 0037FF8C 80 AD AD 38 */ lwz r5, ResetFunctionQueue@sda21(r13)
/* 80383030 0037FF90 48 00 00 08 */ b lbl_80383038
lbl_80383034:
/* 80383034 0037FF94 80 A5 00 08 */ lwz r5, 8(r5)
lbl_80383038:
/* 80383038 0037FF98 28 05 00 00 */ cmplwi r5, 0
/* 8038303C 0037FF9C 41 82 00 14 */ beq lbl_80383050
/* 80383040 0037FFA0 80 85 00 04 */ lwz r4, 4(r5)
/* 80383044 0037FFA4 80 03 00 04 */ lwz r0, 4(r3)
/* 80383048 0037FFA8 7C 04 00 40 */ cmplw r4, r0
/* 8038304C 0037FFAC 40 81 FF E8 */ ble lbl_80383034
lbl_80383050:
/* 80383050 0037FFB0 28 05 00 00 */ cmplwi r5, 0
/* 80383054 0037FFB4 40 82 00 34 */ bne lbl_80383088
/* 80383058 0037FFB8 38 AD AD 38 */ addi r5, r13, ResetFunctionQueue@sda21
/* 8038305C 0037FFBC 84 85 00 04 */ lwzu r4, 4(r5)
/* 80383060 0037FFC0 28 04 00 00 */ cmplwi r4, 0
/* 80383064 0037FFC4 40 82 00 0C */ bne lbl_80383070
/* 80383068 0037FFC8 90 6D AD 38 */ stw r3, ResetFunctionQueue@sda21(r13)
/* 8038306C 0037FFCC 48 00 00 08 */ b lbl_80383074
lbl_80383070:
/* 80383070 0037FFD0 90 64 00 08 */ stw r3, 8(r4)
lbl_80383074:
/* 80383074 0037FFD4 90 83 00 0C */ stw r4, 0xc(r3)
/* 80383078 0037FFD8 38 00 00 00 */ li r0, 0
/* 8038307C 0037FFDC 90 03 00 08 */ stw r0, 8(r3)
/* 80383080 0037FFE0 90 65 00 00 */ stw r3, 0(r5)
/* 80383084 0037FFE4 4E 80 00 20 */ blr
lbl_80383088:
/* 80383088 0037FFE8 90 A3 00 08 */ stw r5, 8(r3)
/* 8038308C 0037FFEC 80 85 00 0C */ lwz r4, 0xc(r5)
/* 80383090 0037FFF0 90 65 00 0C */ stw r3, 0xc(r5)
/* 80383094 0037FFF4 28 04 00 00 */ cmplwi r4, 0
/* 80383098 0037FFF8 90 83 00 0C */ stw r4, 0xc(r3)
/* 8038309C 0037FFFC 40 82 00 0C */ bne lbl_803830A8
/* 803830A0 00380000 90 6D AD 38 */ stw r3, ResetFunctionQueue@sda21(r13)
/* 803830A4 00380004 4E 80 00 20 */ blr
lbl_803830A8:
/* 803830A8 00380008 90 64 00 08 */ stw r3, 8(r4)
/* 803830AC 0038000C 4E 80 00 20 */ blr
.global __OSCallResetFunctions
__OSCallResetFunctions:
/* 803830B0 00380010 7C 08 02 A6 */ mflr r0
/* 803830B4 00380014 90 01 00 04 */ stw r0, 4(r1)
/* 803830B8 00380018 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 803830BC 0038001C 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 803830C0 00380020 93 C1 00 18 */ stw r30, 0x18(r1)
/* 803830C4 00380024 3B C0 00 00 */ li r30, 0
/* 803830C8 00380028 93 A1 00 14 */ stw r29, 0x14(r1)
/* 803830CC 0038002C 3B A3 00 00 */ addi r29, r3, 0
/* 803830D0 00380030 83 ED AD 38 */ lwz r31, ResetFunctionQueue@sda21(r13)
/* 803830D4 00380034 48 00 00 24 */ b lbl_803830F8
lbl_803830D8:
/* 803830D8 00380038 81 9F 00 00 */ lwz r12, 0(r31)
/* 803830DC 0038003C 38 7D 00 00 */ addi r3, r29, 0
/* 803830E0 00380040 7D 88 03 A6 */ mtlr r12
/* 803830E4 00380044 4E 80 00 21 */ blrl
/* 803830E8 00380048 7C 60 00 34 */ cntlzw r0, r3
/* 803830EC 0038004C 83 FF 00 08 */ lwz r31, 8(r31)
/* 803830F0 00380050 54 00 D9 7E */ srwi r0, r0, 5
/* 803830F4 00380054 7F DE 03 78 */ or r30, r30, r0
lbl_803830F8:
/* 803830F8 00380058 28 1F 00 00 */ cmplwi r31, 0
/* 803830FC 0038005C 40 82 FF DC */ bne lbl_803830D8
/* 80383100 00380060 48 00 0D DD */ bl __OSSyncSram
/* 80383104 00380064 7C 60 00 34 */ cntlzw r0, r3
/* 80383108 00380068 54 00 D9 7E */ srwi r0, r0, 5
/* 8038310C 0038006C 7F DE 03 79 */ or. r30, r30, r0
/* 80383110 00380070 41 82 00 0C */ beq lbl_8038311C
/* 80383114 00380074 38 60 00 00 */ li r3, 0
/* 80383118 00380078 48 00 00 08 */ b lbl_80383120
lbl_8038311C:
/* 8038311C 0038007C 38 60 00 01 */ li r3, 1
lbl_80383120:
/* 80383120 00380080 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80383124 00380084 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80383128 00380088 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8038312C 0038008C 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 80383130 00380090 38 21 00 20 */ addi r1, r1, 0x20
/* 80383134 00380094 7C 08 03 A6 */ mtlr r0
/* 80383138 00380098 4E 80 00 20 */ blr
.global Reset
Reset:
/* 8038313C 0038009C 48 00 00 20 */ b lbl_8038315C
lbl_80383140:
/* 80383140 003800A0 7D 10 FA A6 */ mfspr r8, 0x3f0
/* 80383144 003800A4 61 08 00 08 */ ori r8, r8, 8
/* 80383148 003800A8 7D 10 FB A6 */ mtspr 0x3f0, r8
/* 8038314C 003800AC 4C 00 01 2C */ isync
/* 80383150 003800B0 7C 00 04 AC */ sync
/* 80383154 003800B4 60 00 00 00 */ nop
/* 80383158 003800B8 48 00 00 08 */ b lbl_80383160
lbl_8038315C:
/* 8038315C 003800BC 48 00 00 20 */ b lbl_8038317C
lbl_80383160:
/* 80383160 003800C0 7C AC 42 E6 */ mftb r5, 0x10c
lbl_80383164:
/* 80383164 003800C4 7C CC 42 E6 */ mftb r6, 0x10c
/* 80383168 003800C8 7C E5 30 50 */ subf r7, r5, r6
/* 8038316C 003800CC 28 07 11 24 */ cmplwi r7, 0x1124
/* 80383170 003800D0 41 80 FF F4 */ blt lbl_80383164
/* 80383174 003800D4 60 00 00 00 */ nop
/* 80383178 003800D8 48 00 00 08 */ b lbl_80383180
lbl_8038317C:
/* 8038317C 003800DC 48 00 00 20 */ b lbl_8038319C
lbl_80383180:
/* 80383180 003800E0 3D 00 CC 00 */ lis r8, 0xCC003000@h
/* 80383184 003800E4 61 08 30 00 */ ori r8, r8, 0xCC003000@l
/* 80383188 003800E8 38 80 00 03 */ li r4, 3
/* 8038318C 003800EC 90 88 00 24 */ stw r4, 0x24(r8)
/* 80383190 003800F0 90 68 00 24 */ stw r3, 0x24(r8)
/* 80383194 003800F4 60 00 00 00 */ nop
/* 80383198 003800F8 48 00 00 08 */ b lbl_803831A0
lbl_8038319C:
/* 8038319C 003800FC 48 00 00 0C */ b lbl_803831A8
lbl_803831A0:
/* 803831A0 00380100 60 00 00 00 */ nop
/* 803831A4 00380104 4B FF FF FC */ b lbl_803831A0
lbl_803831A8:
/* 803831A8 00380108 4B FF FF 98 */ b lbl_80383140
.global __OSDoHotReset
__OSDoHotReset:
/* 803831AC 0038010C 7C 08 02 A6 */ mflr r0
/* 803831B0 00380110 90 01 00 04 */ stw r0, 4(r1)
/* 803831B4 00380114 94 21 FF E8 */ stwu r1, -0x18(r1)
/* 803831B8 00380118 93 E1 00 14 */ stw r31, 0x14(r1)
/* 803831BC 0038011C 7C 7F 1B 78 */ mr r31, r3
/* 803831C0 00380120 4B FF E4 A1 */ bl OSDisableInterrupts
/* 803831C4 00380124 3C 60 CC 00 */ lis r3, 0xCC002000@ha
/* 803831C8 00380128 38 63 20 00 */ addi r3, r3, 0xCC002000@l
/* 803831CC 0038012C 38 00 00 00 */ li r0, 0
/* 803831D0 00380130 B0 03 00 02 */ sth r0, 2(r3)
/* 803831D4 00380134 4B FF B9 F5 */ bl ICFlashInvalidate
/* 803831D8 00380138 57 E3 18 38 */ slwi r3, r31, 3
/* 803831DC 0038013C 4B FF FF 61 */ bl Reset
/* 803831E0 00380140 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 803831E4 00380144 83 E1 00 14 */ lwz r31, 0x14(r1)
/* 803831E8 00380148 38 21 00 18 */ addi r1, r1, 0x18
/* 803831EC 0038014C 7C 08 03 A6 */ mtlr r0
/* 803831F0 00380150 4E 80 00 20 */ blr
.global OSResetSystem
OSResetSystem:
/* 803831F4 00380154 7C 08 02 A6 */ mflr r0
/* 803831F8 00380158 90 01 00 04 */ stw r0, 4(r1)
/* 803831FC 0038015C 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 80383200 00380160 BF 41 00 28 */ stmw r26, 0x28(r1)
/* 80383204 00380164 7C 7A 1B 78 */ mr r26, r3
/* 80383208 00380168 7C 9D 23 78 */ mr r29, r4
/* 8038320C 0038016C 7C BE 2B 78 */ mr r30, r5
/* 80383210 00380170 48 00 13 D1 */ bl OSDisableScheduler
/* 80383214 00380174 4B FF B7 85 */ bl __OSStopAudioSystem
/* 80383218 00380178 2C 1A 00 02 */ cmpwi r26, 2
/* 8038321C 0038017C 40 82 00 10 */ bne lbl_8038322C
/* 80383220 00380180 38 60 00 01 */ li r3, 1
/* 80383224 00380184 48 00 43 E5 */ bl __PADDisableRecalibration
/* 80383228 00380188 7C 7F 1B 78 */ mr r31, r3
lbl_8038322C:
/* 8038322C 0038018C 48 00 00 04 */ b lbl_80383230
lbl_80383230:
/* 80383230 00380190 48 00 00 04 */ b lbl_80383234
lbl_80383234:
/* 80383234 00380194 83 6D AD 38 */ lwz r27, ResetFunctionQueue@sda21(r13)
/* 80383238 00380198 3B 80 00 00 */ li r28, 0
/* 8038323C 0038019C 48 00 00 04 */ b lbl_80383240
lbl_80383240:
/* 80383240 003801A0 48 00 00 04 */ b lbl_80383244
lbl_80383244:
/* 80383244 003801A4 48 00 00 24 */ b lbl_80383268
lbl_80383248:
/* 80383248 003801A8 38 60 00 00 */ li r3, 0
/* 8038324C 003801AC 81 9B 00 00 */ lwz r12, 0(r27)
/* 80383250 003801B0 7D 88 03 A6 */ mtlr r12
/* 80383254 003801B4 4E 80 00 21 */ blrl
/* 80383258 003801B8 7C 60 00 34 */ cntlzw r0, r3
/* 8038325C 003801BC 83 7B 00 08 */ lwz r27, 8(r27)
/* 80383260 003801C0 54 00 D9 7E */ srwi r0, r0, 5
/* 80383264 003801C4 7F 9C 03 78 */ or r28, r28, r0
lbl_80383268:
/* 80383268 003801C8 28 1B 00 00 */ cmplwi r27, 0
/* 8038326C 003801CC 40 82 FF DC */ bne lbl_80383248
/* 80383270 003801D0 48 00 0C 6D */ bl __OSSyncSram
/* 80383274 003801D4 7C 60 00 34 */ cntlzw r0, r3
/* 80383278 003801D8 54 00 D9 7E */ srwi r0, r0, 5
/* 8038327C 003801DC 7F 9C 03 78 */ or r28, r28, r0
/* 80383280 003801E0 2C 1C 00 00 */ cmpwi r28, 0
/* 80383284 003801E4 41 82 00 0C */ beq lbl_80383290
/* 80383288 003801E8 38 00 00 00 */ li r0, 0
/* 8038328C 003801EC 48 00 00 08 */ b lbl_80383294
lbl_80383290:
/* 80383290 003801F0 38 00 00 01 */ li r0, 1
lbl_80383294:
/* 80383294 003801F4 2C 00 00 00 */ cmpwi r0, 0
/* 80383298 003801F8 41 82 FF 9C */ beq lbl_80383234
/* 8038329C 003801FC 2C 1A 00 01 */ cmpwi r26, 1
/* 803832A0 00380200 40 82 00 38 */ bne lbl_803832D8
/* 803832A4 00380204 2C 1E 00 00 */ cmpwi r30, 0
/* 803832A8 00380208 41 82 00 30 */ beq lbl_803832D8
/* 803832AC 0038020C 48 00 08 29 */ bl __OSLockSram
/* 803832B0 00380210 88 03 00 13 */ lbz r0, 0x13(r3)
/* 803832B4 00380214 60 00 00 40 */ ori r0, r0, 0x40
/* 803832B8 00380218 98 03 00 13 */ stb r0, 0x13(r3)
/* 803832BC 0038021C 38 60 00 01 */ li r3, 1
/* 803832C0 00380220 48 00 0B D5 */ bl __OSUnlockSram
/* 803832C4 00380224 48 00 00 04 */ b lbl_803832C8
lbl_803832C8:
/* 803832C8 00380228 48 00 00 04 */ b lbl_803832CC
lbl_803832CC:
/* 803832CC 0038022C 48 00 0C 11 */ bl __OSSyncSram
/* 803832D0 00380230 2C 03 00 00 */ cmpwi r3, 0
/* 803832D4 00380234 41 82 FF F8 */ beq lbl_803832CC
lbl_803832D8:
/* 803832D8 00380238 4B FF E3 89 */ bl OSDisableInterrupts
/* 803832DC 0038023C 83 8D AD 38 */ lwz r28, ResetFunctionQueue@sda21(r13)
/* 803832E0 00380240 3B 60 00 00 */ li r27, 0
/* 803832E4 00380244 48 00 00 04 */ b lbl_803832E8
lbl_803832E8:
/* 803832E8 00380248 48 00 00 04 */ b lbl_803832EC
lbl_803832EC:
/* 803832EC 0038024C 48 00 00 24 */ b lbl_80383310
lbl_803832F0:
/* 803832F0 00380250 38 60 00 01 */ li r3, 1
/* 803832F4 00380254 81 9C 00 00 */ lwz r12, 0(r28)
/* 803832F8 00380258 7D 88 03 A6 */ mtlr r12
/* 803832FC 0038025C 4E 80 00 21 */ blrl
/* 80383300 00380260 7C 60 00 34 */ cntlzw r0, r3
/* 80383304 00380264 83 9C 00 08 */ lwz r28, 8(r28)
/* 80383308 00380268 54 00 D9 7E */ srwi r0, r0, 5
/* 8038330C 0038026C 7F 7B 03 78 */ or r27, r27, r0
lbl_80383310:
/* 80383310 00380270 28 1C 00 00 */ cmplwi r28, 0
/* 80383314 00380274 40 82 FF DC */ bne lbl_803832F0
/* 80383318 00380278 48 00 0B C5 */ bl __OSSyncSram
/* 8038331C 0038027C 4B FF B9 D5 */ bl LCDisable
/* 80383320 00380280 2C 1A 00 01 */ cmpwi r26, 1
/* 80383324 00380284 40 82 00 28 */ bne lbl_8038334C
/* 80383328 00380288 4B FF E3 39 */ bl OSDisableInterrupts
/* 8038332C 0038028C 3C 60 CC 00 */ lis r3, 0xCC002000@ha
/* 80383330 00380290 38 63 20 00 */ addi r3, r3, 0xCC002000@l
/* 80383334 00380294 38 00 00 00 */ li r0, 0
/* 80383338 00380298 B0 03 00 02 */ sth r0, 2(r3)
/* 8038333C 0038029C 4B FF B8 8D */ bl ICFlashInvalidate
/* 80383340 003802A0 57 A3 18 38 */ slwi r3, r29, 3
/* 80383344 003802A4 4B FF FD F9 */ bl Reset
/* 80383348 003802A8 48 00 00 60 */ b lbl_803833A8
lbl_8038334C:
/* 8038334C 003802AC 2C 1A 00 00 */ cmpwi r26, 0
/* 80383350 003802B0 40 82 00 58 */ bne lbl_803833A8
/* 80383354 003802B4 3C 60 80 00 */ lis r3, 0x800000DC@ha
/* 80383358 003802B8 80 63 00 DC */ lwz r3, 0x800000DC@l(r3)
/* 8038335C 003802BC 48 00 00 04 */ b lbl_80383360
lbl_80383360:
/* 80383360 003802C0 48 00 00 04 */ b lbl_80383364
lbl_80383364:
/* 80383364 003802C4 48 00 00 2C */ b lbl_80383390
lbl_80383368:
/* 80383368 003802C8 A0 03 02 C8 */ lhz r0, 0x2c8(r3)
/* 8038336C 003802CC 83 63 02 FC */ lwz r27, 0x2fc(r3)
/* 80383370 003802D0 2C 00 00 04 */ cmpwi r0, 4
/* 80383374 003802D4 41 82 00 14 */ beq lbl_80383388
/* 80383378 003802D8 40 80 00 14 */ bge lbl_8038338C
/* 8038337C 003802DC 2C 00 00 01 */ cmpwi r0, 1
/* 80383380 003802E0 41 82 00 08 */ beq lbl_80383388
/* 80383384 003802E4 48 00 00 08 */ b lbl_8038338C
lbl_80383388:
/* 80383388 003802E8 48 00 17 D1 */ bl OSCancelThread
lbl_8038338C:
/* 8038338C 003802EC 7F 63 DB 78 */ mr r3, r27
lbl_80383390:
/* 80383390 003802F0 28 03 00 00 */ cmplwi r3, 0
/* 80383394 003802F4 40 82 FF D4 */ bne lbl_80383368
/* 80383398 003802F8 48 00 12 89 */ bl OSEnableScheduler
/* 8038339C 003802FC 7F A3 EB 78 */ mr r3, r29
/* 803833A0 00380300 7F C4 F3 78 */ mr r4, r30
/* 803833A4 00380304 4B FF FA A1 */ bl __OSReboot
lbl_803833A8:
/* 803833A8 00380308 3C 60 80 00 */ lis r3, 0x800000DC@ha
/* 803833AC 0038030C 80 63 00 DC */ lwz r3, 0x800000DC@l(r3)
/* 803833B0 00380310 48 00 00 04 */ b lbl_803833B4
lbl_803833B4:
/* 803833B4 00380314 48 00 00 04 */ b lbl_803833B8
lbl_803833B8:
/* 803833B8 00380318 48 00 00 2C */ b lbl_803833E4
lbl_803833BC:
/* 803833BC 0038031C A0 03 02 C8 */ lhz r0, 0x2c8(r3)
/* 803833C0 00380320 83 63 02 FC */ lwz r27, 0x2fc(r3)
/* 803833C4 00380324 2C 00 00 04 */ cmpwi r0, 4
/* 803833C8 00380328 41 82 00 14 */ beq lbl_803833DC
/* 803833CC 0038032C 40 80 00 14 */ bge lbl_803833E0
/* 803833D0 00380330 2C 00 00 01 */ cmpwi r0, 1
/* 803833D4 00380334 41 82 00 08 */ beq lbl_803833DC
/* 803833D8 00380338 48 00 00 08 */ b lbl_803833E0
lbl_803833DC:
/* 803833DC 0038033C 48 00 17 7D */ bl OSCancelThread
lbl_803833E0:
/* 803833E0 00380340 7F 63 DB 78 */ mr r3, r27
lbl_803833E4:
/* 803833E4 00380344 28 03 00 00 */ cmplwi r3, 0
/* 803833E8 00380348 40 82 FF D4 */ bne lbl_803833BC
/* 803833EC 0038034C 3F A0 80 00 */ lis r29, 0x80000040@ha
/* 803833F0 00380350 38 7D 00 40 */ addi r3, r29, 0x80000040@l
/* 803833F4 00380354 38 80 00 00 */ li r4, 0
/* 803833F8 00380358 38 A0 00 8C */ li r5, 0x8c
/* 803833FC 0038035C 4B C7 FF AD */ bl memset
/* 80383400 00380360 38 7D 00 D4 */ addi r3, r29, 0xd4
/* 80383404 00380364 38 80 00 00 */ li r4, 0
/* 80383408 00380368 38 A0 00 14 */ li r5, 0x14
/* 8038340C 0038036C 4B C7 FF 9D */ bl memset
/* 80383410 00380370 38 7D 00 F4 */ addi r3, r29, 0xf4
/* 80383414 00380374 38 80 00 00 */ li r4, 0
/* 80383418 00380378 38 A0 00 04 */ li r5, 4
/* 8038341C 0038037C 4B C7 FF 8D */ bl memset
/* 80383420 00380380 38 7D 30 00 */ addi r3, r29, 0x3000
/* 80383424 00380384 38 80 00 00 */ li r4, 0
/* 80383428 00380388 38 A0 00 C0 */ li r5, 0xc0
/* 8038342C 0038038C 4B C7 FF 7D */ bl memset
/* 80383430 00380390 38 7D 30 C8 */ addi r3, r29, 0x30c8
/* 80383434 00380394 38 80 00 00 */ li r4, 0
/* 80383438 00380398 38 A0 00 0C */ li r5, 0xc
/* 8038343C 0038039C 4B C7 FF 6D */ bl memset
/* 80383440 003803A0 38 7D 30 E2 */ addi r3, r29, 0x30e2
/* 80383444 003803A4 38 80 00 00 */ li r4, 0
/* 80383448 003803A8 38 A0 00 01 */ li r5, 1
/* 8038344C 003803AC 4B C7 FF 5D */ bl memset
/* 80383450 003803B0 7F E3 FB 78 */ mr r3, r31
/* 80383454 003803B4 48 00 41 B5 */ bl __PADDisableRecalibration
/* 80383458 003803B8 BB 41 00 28 */ lmw r26, 0x28(r1)
/* 8038345C 003803BC 80 01 00 44 */ lwz r0, 0x44(r1)
/* 80383460 003803C0 38 21 00 40 */ addi r1, r1, 0x40
/* 80383464 003803C4 7C 08 03 A6 */ mtlr r0
/* 80383468 003803C8 4E 80 00 20 */ blr
.global OSGetResetCode
OSGetResetCode:
/* 8038346C 003803CC 3C 60 80 00 */ lis r3, 0x800030E2@ha
/* 80383470 003803D0 88 03 30 E2 */ lbz r0, 0x800030E2@l(r3)
/* 80383474 003803D4 28 00 00 00 */ cmplwi r0, 0
/* 80383478 003803D8 41 82 00 0C */ beq lbl_80383484
/* 8038347C 003803DC 3C 60 80 00 */ lis r3, 0x8000
/* 80383480 003803E0 48 00 00 18 */ b lbl_80383498
lbl_80383484:
/* 80383484 003803E4 3C 60 CC 00 */ lis r3, 0xCC003000@ha
/* 80383488 003803E8 38 63 30 00 */ addi r3, r3, 0xCC003000@l
/* 8038348C 003803EC 80 03 00 24 */ lwz r0, 0x24(r3)
/* 80383490 003803F0 54 00 00 38 */ rlwinm r0, r0, 0, 0, 0x1c
/* 80383494 003803F4 54 03 E8 FE */ srwi r3, r0, 3
lbl_80383498:
/* 80383498 003803F8 4E 80 00 20 */ blr

View File

@ -1,272 +0,0 @@
.include "macros.inc"
.section .sbss
.balign 8
.global ResetCallback
ResetCallback:
.skip 0x4
.global Down
Down:
.skip 0x4
.global LastState
LastState:
.skip 0x4
.skip 0x4
.global HoldUp
HoldUp:
.skip 0x8
.global HoldDown
HoldDown:
.skip 0x8
.section .text, "ax"
.global __OSResetSWInterruptHandler
__OSResetSWInterruptHandler:
/* 8038349C 003803FC 7C 08 02 A6 */ mflr r0
/* 803834A0 00380400 90 01 00 04 */ stw r0, 4(r1)
/* 803834A4 00380404 94 21 FF D8 */ stwu r1, -0x28(r1)
/* 803834A8 00380408 93 E1 00 24 */ stw r31, 0x24(r1)
/* 803834AC 0038040C 93 C1 00 20 */ stw r30, 0x20(r1)
/* 803834B0 00380410 93 A1 00 1C */ stw r29, 0x1c(r1)
/* 803834B4 00380414 48 00 1F 15 */ bl __OSGetSystemTime
/* 803834B8 00380418 3C A0 80 00 */ lis r5, 0x800000F8@ha
/* 803834BC 0038041C 90 8D AD 5C */ stw r4, HoldDown+4@sda21(r13)
/* 803834C0 00380420 80 05 00 F8 */ lwz r0, 0x800000F8@l(r5)
/* 803834C4 00380424 3C 80 43 1C */ lis r4, 0x431BDE83@ha
/* 803834C8 00380428 38 84 DE 83 */ addi r4, r4, 0x431BDE83@l
/* 803834CC 0038042C 90 6D AD 58 */ stw r3, HoldDown@sda21(r13)
/* 803834D0 00380430 54 00 F0 BE */ srwi r0, r0, 2
/* 803834D4 00380434 7C 04 00 16 */ mulhwu r0, r4, r0
/* 803834D8 00380438 54 00 8B FE */ srwi r0, r0, 0xf
/* 803834DC 0038043C 1C 00 00 64 */ mulli r0, r0, 0x64
/* 803834E0 00380440 54 1D E8 FE */ srwi r29, r0, 3
/* 803834E4 00380444 3B C0 00 00 */ li r30, 0
/* 803834E8 00380448 3F E0 CC 00 */ lis r31, 0xcc00
lbl_803834EC:
/* 803834EC 0038044C 48 00 1E DD */ bl __OSGetSystemTime
/* 803834F0 00380450 80 CD AD 5C */ lwz r6, HoldDown+4@sda21(r13)
/* 803834F4 00380454 6F C5 80 00 */ xoris r5, r30, 0x8000
/* 803834F8 00380458 80 0D AD 58 */ lwz r0, HoldDown@sda21(r13)
/* 803834FC 0038045C 7C 86 20 10 */ subfc r4, r6, r4
/* 80383500 00380460 7C 00 19 10 */ subfe r0, r0, r3
/* 80383504 00380464 6C 03 80 00 */ xoris r3, r0, 0x8000
/* 80383508 00380468 7C 1D 20 10 */ subfc r0, r29, r4
/* 8038350C 0038046C 7C A5 19 10 */ subfe r5, r5, r3
/* 80383510 00380470 7C A3 19 10 */ subfe r5, r3, r3
/* 80383514 00380474 7C A5 00 D1 */ neg. r5, r5
/* 80383518 00380478 41 82 00 10 */ beq lbl_80383528
/* 8038351C 0038047C 80 1F 30 00 */ lwz r0, 0x3000(r31)
/* 80383520 00380480 54 00 03 DF */ rlwinm. r0, r0, 0, 0xf, 0xf
/* 80383524 00380484 41 82 FF C8 */ beq lbl_803834EC
lbl_80383528:
/* 80383528 00380488 3C 60 CC 00 */ lis r3, 0xCC003000@ha
/* 8038352C 0038048C 80 03 30 00 */ lwz r0, 0xCC003000@l(r3)
/* 80383530 00380490 54 00 03 DF */ rlwinm. r0, r0, 0, 0xf, 0xf
/* 80383534 00380494 40 82 00 34 */ bne lbl_80383568
/* 80383538 00380498 38 00 00 01 */ li r0, 1
/* 8038353C 0038049C 90 0D AD 44 */ stw r0, Down@sda21(r13)
/* 80383540 003804A0 38 60 02 00 */ li r3, 0x200
/* 80383544 003804A4 90 0D AD 48 */ stw r0, LastState@sda21(r13)
/* 80383548 003804A8 4B FF E4 E1 */ bl __OSMaskInterrupts
/* 8038354C 003804AC 81 8D AD 40 */ lwz r12, ResetCallback@sda21(r13)
/* 80383550 003804B0 28 0C 00 00 */ cmplwi r12, 0
/* 80383554 003804B4 41 82 00 14 */ beq lbl_80383568
/* 80383558 003804B8 38 00 00 00 */ li r0, 0
/* 8038355C 003804BC 7D 88 03 A6 */ mtlr r12
/* 80383560 003804C0 90 0D AD 40 */ stw r0, ResetCallback@sda21(r13)
/* 80383564 003804C4 4E 80 00 21 */ blrl
lbl_80383568:
/* 80383568 003804C8 38 00 00 02 */ li r0, 2
/* 8038356C 003804CC 3C 60 CC 00 */ lis r3, 0xCC003000@ha
/* 80383570 003804D0 90 03 30 00 */ stw r0, 0xCC003000@l(r3)
/* 80383574 003804D4 80 01 00 2C */ lwz r0, 0x2c(r1)
/* 80383578 003804D8 83 E1 00 24 */ lwz r31, 0x24(r1)
/* 8038357C 003804DC 83 C1 00 20 */ lwz r30, 0x20(r1)
/* 80383580 003804E0 83 A1 00 1C */ lwz r29, 0x1c(r1)
/* 80383584 003804E4 38 21 00 28 */ addi r1, r1, 0x28
/* 80383588 003804E8 7C 08 03 A6 */ mtlr r0
/* 8038358C 003804EC 4E 80 00 20 */ blr
.global OSGetResetButtonState
OSGetResetButtonState:
/* 80383590 003804F0 7C 08 02 A6 */ mflr r0
/* 80383594 003804F4 90 01 00 04 */ stw r0, 4(r1)
/* 80383598 003804F8 94 21 FF E8 */ stwu r1, -0x18(r1)
/* 8038359C 003804FC 93 E1 00 14 */ stw r31, 0x14(r1)
/* 803835A0 00380500 93 C1 00 10 */ stw r30, 0x10(r1)
/* 803835A4 00380504 93 A1 00 0C */ stw r29, 0xc(r1)
/* 803835A8 00380508 4B FF E0 B9 */ bl OSDisableInterrupts
/* 803835AC 0038050C 7C 7E 1B 78 */ mr r30, r3
/* 803835B0 00380510 48 00 1E 19 */ bl __OSGetSystemTime
/* 803835B4 00380514 3C A0 CC 00 */ lis r5, 0xCC003000@ha
/* 803835B8 00380518 80 05 30 00 */ lwz r0, 0xCC003000@l(r5)
/* 803835BC 0038051C 54 00 03 DF */ rlwinm. r0, r0, 0, 0xf, 0xf
/* 803835C0 00380520 40 82 00 DC */ bne lbl_8038369C
/* 803835C4 00380524 80 0D AD 44 */ lwz r0, Down@sda21(r13)
/* 803835C8 00380528 2C 00 00 00 */ cmpwi r0, 0
/* 803835CC 0038052C 40 82 00 40 */ bne lbl_8038360C
/* 803835D0 00380530 80 0D AD 50 */ lwz r0, HoldUp@sda21(r13)
/* 803835D4 00380534 38 C0 00 00 */ li r6, 0
/* 803835D8 00380538 80 AD AD 54 */ lwz r5, HoldUp+4@sda21(r13)
/* 803835DC 0038053C 38 E0 00 01 */ li r7, 1
/* 803835E0 00380540 7C 00 32 78 */ xor r0, r0, r6
/* 803835E4 00380544 7C A5 32 78 */ xor r5, r5, r6
/* 803835E8 00380548 90 ED AD 44 */ stw r7, Down@sda21(r13)
/* 803835EC 0038054C 7C A0 03 79 */ or. r0, r5, r0
/* 803835F0 00380550 41 82 00 08 */ beq lbl_803835F8
/* 803835F4 00380554 48 00 00 08 */ b lbl_803835FC
lbl_803835F8:
/* 803835F8 00380558 7C C7 33 78 */ mr r7, r6
lbl_803835FC:
/* 803835FC 0038055C 90 8D AD 5C */ stw r4, HoldDown+4@sda21(r13)
/* 80383600 00380560 7C FD 3B 78 */ mr r29, r7
/* 80383604 00380564 90 6D AD 58 */ stw r3, HoldDown@sda21(r13)
/* 80383608 00380568 48 00 01 48 */ b lbl_80383750
lbl_8038360C:
/* 8038360C 0038056C 80 0D AD 50 */ lwz r0, HoldUp@sda21(r13)
/* 80383610 00380570 39 20 00 00 */ li r9, 0
/* 80383614 00380574 80 AD AD 54 */ lwz r5, HoldUp+4@sda21(r13)
/* 80383618 00380578 39 40 00 01 */ li r10, 1
/* 8038361C 0038057C 7C 00 4A 78 */ xor r0, r0, r9
/* 80383620 00380580 7C A5 4A 78 */ xor r5, r5, r9
/* 80383624 00380584 7C A0 03 79 */ or. r0, r5, r0
/* 80383628 00380588 40 82 00 58 */ bne lbl_80383680
/* 8038362C 0038058C 3C C0 80 00 */ lis r6, 0x800000F8@ha
/* 80383630 00380590 80 AD AD 5C */ lwz r5, HoldDown+4@sda21(r13)
/* 80383634 00380594 80 E6 00 F8 */ lwz r7, 0x800000F8@l(r6)
/* 80383638 00380598 3C C0 43 1C */ lis r6, 0x431BDE83@ha
/* 8038363C 0038059C 39 06 DE 83 */ addi r8, r6, 0x431BDE83@l
/* 80383640 003805A0 80 0D AD 58 */ lwz r0, HoldDown@sda21(r13)
/* 80383644 003805A4 54 E6 F0 BE */ srwi r6, r7, 2
/* 80383648 003805A8 7C C8 30 16 */ mulhwu r6, r8, r6
/* 8038364C 003805AC 54 C6 8B FE */ srwi r6, r6, 0xf
/* 80383650 003805B0 1C C6 00 64 */ mulli r6, r6, 0x64
/* 80383654 003805B4 7C E5 20 10 */ subfc r7, r5, r4
/* 80383658 003805B8 7C 00 19 10 */ subfe r0, r0, r3
/* 8038365C 003805BC 54 C8 E8 FE */ srwi r8, r6, 3
/* 80383660 003805C0 6C 05 80 00 */ xoris r5, r0, 0x8000
/* 80383664 003805C4 6D 26 80 00 */ xoris r6, r9, 0x8000
/* 80383668 003805C8 7C 07 40 10 */ subfc r0, r7, r8
/* 8038366C 003805CC 7C A5 31 10 */ subfe r5, r5, r6
/* 80383670 003805D0 7C A6 31 10 */ subfe r5, r6, r6
/* 80383674 003805D4 7C A5 00 D1 */ neg. r5, r5
/* 80383678 003805D8 40 82 00 08 */ bne lbl_80383680
/* 8038367C 003805DC 7D 2A 4B 78 */ mr r10, r9
lbl_80383680:
/* 80383680 003805E0 2C 0A 00 00 */ cmpwi r10, 0
/* 80383684 003805E4 41 82 00 0C */ beq lbl_80383690
/* 80383688 003805E8 38 00 00 01 */ li r0, 1
/* 8038368C 003805EC 48 00 00 08 */ b lbl_80383694
lbl_80383690:
/* 80383690 003805F0 38 00 00 00 */ li r0, 0
lbl_80383694:
/* 80383694 003805F4 7C 1D 03 78 */ mr r29, r0
/* 80383698 003805F8 48 00 00 B8 */ b lbl_80383750
lbl_8038369C:
/* 8038369C 003805FC 80 0D AD 44 */ lwz r0, Down@sda21(r13)
/* 803836A0 00380600 2C 00 00 00 */ cmpwi r0, 0
/* 803836A4 00380604 41 82 00 34 */ beq lbl_803836D8
/* 803836A8 00380608 80 AD AD 48 */ lwz r5, LastState@sda21(r13)
/* 803836AC 0038060C 38 00 00 00 */ li r0, 0
/* 803836B0 00380610 90 0D AD 44 */ stw r0, Down@sda21(r13)
/* 803836B4 00380614 2C 05 00 00 */ cmpwi r5, 0
/* 803836B8 00380618 3B A5 00 00 */ addi r29, r5, 0
/* 803836BC 0038061C 41 82 00 10 */ beq lbl_803836CC
/* 803836C0 00380620 90 8D AD 54 */ stw r4, HoldUp+4@sda21(r13)
/* 803836C4 00380624 90 6D AD 50 */ stw r3, HoldUp@sda21(r13)
/* 803836C8 00380628 48 00 00 88 */ b lbl_80383750
lbl_803836CC:
/* 803836CC 0038062C 90 0D AD 54 */ stw r0, HoldUp+4@sda21(r13)
/* 803836D0 00380630 90 0D AD 50 */ stw r0, HoldUp@sda21(r13)
/* 803836D4 00380634 48 00 00 7C */ b lbl_80383750
lbl_803836D8:
/* 803836D8 00380638 80 CD AD 50 */ lwz r6, HoldUp@sda21(r13)
/* 803836DC 0038063C 39 00 00 00 */ li r8, 0
/* 803836E0 00380640 80 ED AD 54 */ lwz r7, HoldUp+4@sda21(r13)
/* 803836E4 00380644 7C C0 42 78 */ xor r0, r6, r8
/* 803836E8 00380648 7C E5 42 78 */ xor r5, r7, r8
/* 803836EC 0038064C 7C A0 03 79 */ or. r0, r5, r0
/* 803836F0 00380650 41 82 00 50 */ beq lbl_80383740
/* 803836F4 00380654 3C A0 80 00 */ lis r5, 0x800000F8@ha
/* 803836F8 00380658 80 05 00 F8 */ lwz r0, 0x800000F8@l(r5)
/* 803836FC 0038065C 3C A0 10 62 */ lis r5, 0x10624DD3@ha
/* 80383700 00380660 38 A5 4D D3 */ addi r5, r5, 0x10624DD3@l
/* 80383704 00380664 54 00 F0 BE */ srwi r0, r0, 2
/* 80383708 00380668 7C 05 00 16 */ mulhwu r0, r5, r0
/* 8038370C 0038066C 54 00 D1 BE */ srwi r0, r0, 6
/* 80383710 00380670 1C 00 00 28 */ mulli r0, r0, 0x28
/* 80383714 00380674 7C E7 20 10 */ subfc r7, r7, r4
/* 80383718 00380678 7C A6 19 10 */ subfe r5, r6, r3
/* 8038371C 0038067C 6C A6 80 00 */ xoris r6, r5, 0x8000
/* 80383720 00380680 6D 05 80 00 */ xoris r5, r8, 0x8000
/* 80383724 00380684 7C 00 38 10 */ subfc r0, r0, r7
/* 80383728 00380688 7C A5 31 10 */ subfe r5, r5, r6
/* 8038372C 0038068C 7C A6 31 10 */ subfe r5, r6, r6
/* 80383730 00380690 7C A5 00 D1 */ neg. r5, r5
/* 80383734 00380694 41 82 00 0C */ beq lbl_80383740
/* 80383738 00380698 3B A0 00 01 */ li r29, 1
/* 8038373C 0038069C 48 00 00 14 */ b lbl_80383750
lbl_80383740:
/* 80383740 003806A0 38 00 00 00 */ li r0, 0
/* 80383744 003806A4 90 0D AD 54 */ stw r0, HoldUp+4@sda21(r13)
/* 80383748 003806A8 3B A0 00 00 */ li r29, 0
/* 8038374C 003806AC 90 0D AD 50 */ stw r0, HoldUp@sda21(r13)
lbl_80383750:
/* 80383750 003806B0 3C A0 80 00 */ lis r5, 0x800030E3@ha
/* 80383754 003806B4 93 AD AD 48 */ stw r29, LastState@sda21(r13)
/* 80383758 003806B8 88 05 30 E3 */ lbz r0, 0x800030E3@l(r5)
/* 8038375C 003806BC 54 00 06 BF */ clrlwi. r0, r0, 0x1a
/* 80383760 003806C0 41 82 00 A0 */ beq lbl_80383800
/* 80383764 003806C4 1D 40 00 3C */ mulli r10, r0, 0x3c
/* 80383768 003806C8 80 05 00 F8 */ lwz r0, 0xf8(r5)
/* 8038376C 003806CC 81 2D AC EC */ lwz r9, __OSStartTime+4@sda21(r13)
/* 80383770 003806D0 81 0D AC E8 */ lwz r8, __OSStartTime@sda21(r13)
/* 80383774 003806D4 54 06 F0 BE */ srwi r6, r0, 2
/* 80383778 003806D8 7D 40 FE 70 */ srawi r0, r10, 0x1f
/* 8038377C 003806DC 7C E0 31 D6 */ mullw r7, r0, r6
/* 80383780 003806E0 7C 0A 30 16 */ mulhwu r0, r10, r6
/* 80383784 003806E4 7C AA 31 D6 */ mullw r5, r10, r6
/* 80383788 003806E8 7D 29 28 14 */ addc r9, r9, r5
/* 8038378C 003806EC 3B E0 00 00 */ li r31, 0
/* 80383790 003806F0 7C E7 02 14 */ add r7, r7, r0
/* 80383794 003806F4 7C 0A F9 D6 */ mullw r0, r10, r31
/* 80383798 003806F8 7C 07 02 14 */ add r0, r7, r0
/* 8038379C 003806FC 7D 08 01 14 */ adde r8, r8, r0
/* 803837A0 00380700 6D 07 80 00 */ xoris r7, r8, 0x8000
/* 803837A4 00380704 6C 65 80 00 */ xoris r5, r3, 0x8000
/* 803837A8 00380708 7C 04 48 10 */ subfc r0, r4, r9
/* 803837AC 0038070C 7C A5 39 10 */ subfe r5, r5, r7
/* 803837B0 00380710 7C A7 39 10 */ subfe r5, r7, r7
/* 803837B4 00380714 7C A5 00 D1 */ neg. r5, r5
/* 803837B8 00380718 41 82 00 48 */ beq lbl_80383800
/* 803837BC 0038071C 7C 89 20 10 */ subfc r4, r9, r4
/* 803837C0 00380720 7C 68 19 10 */ subfe r3, r8, r3
/* 803837C4 00380724 38 A0 00 00 */ li r5, 0
/* 803837C8 00380728 48 00 64 05 */ bl __div2i
/* 803837CC 0038072C 38 A0 00 00 */ li r5, 0
/* 803837D0 00380730 38 C0 00 02 */ li r6, 2
/* 803837D4 00380734 48 00 63 F9 */ bl __div2i
/* 803837D8 00380738 38 00 00 01 */ li r0, 1
/* 803837DC 0038073C 7C 84 00 38 */ and r4, r4, r0
/* 803837E0 00380740 7C 60 F8 38 */ and r0, r3, r31
/* 803837E4 00380744 7C 83 FA 78 */ xor r3, r4, r31
/* 803837E8 00380748 7C 00 FA 78 */ xor r0, r0, r31
/* 803837EC 0038074C 7C 60 03 79 */ or. r0, r3, r0
/* 803837F0 00380750 40 82 00 0C */ bne lbl_803837FC
/* 803837F4 00380754 3B A0 00 01 */ li r29, 1
/* 803837F8 00380758 48 00 00 08 */ b lbl_80383800
lbl_803837FC:
/* 803837FC 0038075C 3B A0 00 00 */ li r29, 0
lbl_80383800:
/* 80383800 00380760 7F C3 F3 78 */ mr r3, r30
/* 80383804 00380764 4B FF DE 85 */ bl OSRestoreInterrupts
/* 80383808 00380768 7F A3 EB 78 */ mr r3, r29
/* 8038380C 0038076C 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 80383810 00380770 83 E1 00 14 */ lwz r31, 0x14(r1)
/* 80383814 00380774 83 C1 00 10 */ lwz r30, 0x10(r1)
/* 80383818 00380778 83 A1 00 0C */ lwz r29, 0xc(r1)
/* 8038381C 0038077C 38 21 00 18 */ addi r1, r1, 0x18
/* 80383820 00380780 7C 08 03 A6 */ mtlr r0
/* 80383824 00380784 4E 80 00 20 */ blr

View File

@ -1,860 +0,0 @@
.include "macros.inc"
.section .bss
.balign 8
Scb:
.skip 0x58
.section .text, "ax"
.global WriteSramCallback
WriteSramCallback:
/* 80383828 00380788 7C 08 02 A6 */ mflr r0
/* 8038382C 0038078C 3C 60 80 54 */ lis r3, Scb@ha
/* 80383830 00380790 90 01 00 04 */ stw r0, 4(r1)
/* 80383834 00380794 94 21 FF E8 */ stwu r1, -0x18(r1)
/* 80383838 00380798 93 E1 00 14 */ stw r31, 0x14(r1)
/* 8038383C 0038079C 3B E3 15 A0 */ addi r31, r3, Scb@l
/* 80383840 003807A0 93 C1 00 10 */ stw r30, 0x10(r1)
/* 80383844 003807A4 3B DF 00 40 */ addi r30, r31, 0x40
/* 80383848 003807A8 80 9F 00 40 */ lwz r4, 0x40(r31)
/* 8038384C 003807AC 7C 7F 22 14 */ add r3, r31, r4
/* 80383850 003807B0 20 A4 00 40 */ subfic r5, r4, 0x40
/* 80383854 003807B4 48 00 00 35 */ bl WriteSram
/* 80383858 003807B8 90 7F 00 4C */ stw r3, 0x4c(r31)
/* 8038385C 003807BC 80 1F 00 4C */ lwz r0, 0x4c(r31)
/* 80383860 003807C0 2C 00 00 00 */ cmpwi r0, 0
/* 80383864 003807C4 41 82 00 0C */ beq lbl_80383870
/* 80383868 003807C8 38 00 00 40 */ li r0, 0x40
/* 8038386C 003807CC 90 1E 00 00 */ stw r0, 0(r30)
lbl_80383870:
/* 80383870 003807D0 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 80383874 003807D4 83 E1 00 14 */ lwz r31, 0x14(r1)
/* 80383878 003807D8 83 C1 00 10 */ lwz r30, 0x10(r1)
/* 8038387C 003807DC 38 21 00 18 */ addi r1, r1, 0x18
/* 80383880 003807E0 7C 08 03 A6 */ mtlr r0
/* 80383884 003807E4 4E 80 00 20 */ blr
.global WriteSram
WriteSram:
/* 80383888 003807E8 7C 08 02 A6 */ mflr r0
/* 8038388C 003807EC 3C C0 80 38 */ lis r6, WriteSramCallback@ha
/* 80383890 003807F0 90 01 00 04 */ stw r0, 4(r1)
/* 80383894 003807F4 38 06 38 28 */ addi r0, r6, WriteSramCallback@l
/* 80383898 003807F8 94 21 FF D8 */ stwu r1, -0x28(r1)
/* 8038389C 003807FC 93 E1 00 24 */ stw r31, 0x24(r1)
/* 803838A0 00380800 3B E4 00 00 */ addi r31, r4, 0
/* 803838A4 00380804 38 80 00 01 */ li r4, 1
/* 803838A8 00380808 93 C1 00 20 */ stw r30, 0x20(r1)
/* 803838AC 0038080C 3B C5 00 00 */ addi r30, r5, 0
/* 803838B0 00380810 7C 05 03 78 */ mr r5, r0
/* 803838B4 00380814 93 A1 00 1C */ stw r29, 0x1c(r1)
/* 803838B8 00380818 3B A3 00 00 */ addi r29, r3, 0
/* 803838BC 0038081C 38 60 00 00 */ li r3, 0
/* 803838C0 00380820 48 03 DA A5 */ bl EXILock
/* 803838C4 00380824 2C 03 00 00 */ cmpwi r3, 0
/* 803838C8 00380828 40 82 00 0C */ bne lbl_803838D4
/* 803838CC 0038082C 38 60 00 00 */ li r3, 0
/* 803838D0 00380830 48 00 00 B4 */ b lbl_80383984
lbl_803838D4:
/* 803838D4 00380834 38 60 00 00 */ li r3, 0
/* 803838D8 00380838 38 80 00 01 */ li r4, 1
/* 803838DC 0038083C 38 A0 00 03 */ li r5, 3
/* 803838E0 00380840 48 03 D3 7D */ bl EXISelect
/* 803838E4 00380844 2C 03 00 00 */ cmpwi r3, 0
/* 803838E8 00380848 40 82 00 14 */ bne lbl_803838FC
/* 803838EC 0038084C 38 60 00 00 */ li r3, 0
/* 803838F0 00380850 48 03 DB 69 */ bl EXIUnlock
/* 803838F4 00380854 38 60 00 00 */ li r3, 0
/* 803838F8 00380858 48 00 00 8C */ b lbl_80383984
lbl_803838FC:
/* 803838FC 0038085C 57 FF 30 32 */ slwi r31, r31, 6
/* 80383900 00380860 38 1F 01 00 */ addi r0, r31, 0x100
/* 80383904 00380864 64 00 A0 00 */ oris r0, r0, 0xa000
/* 80383908 00380868 90 01 00 14 */ stw r0, 0x14(r1)
/* 8038390C 0038086C 38 81 00 14 */ addi r4, r1, 0x14
/* 80383910 00380870 38 60 00 00 */ li r3, 0
/* 80383914 00380874 38 A0 00 04 */ li r5, 4
/* 80383918 00380878 38 C0 00 01 */ li r6, 1
/* 8038391C 0038087C 38 E0 00 00 */ li r7, 0
/* 80383920 00380880 48 03 C7 E9 */ bl EXIImm
/* 80383924 00380884 7C 60 00 34 */ cntlzw r0, r3
/* 80383928 00380888 54 1F D9 7E */ srwi r31, r0, 5
/* 8038392C 0038088C 38 60 00 00 */ li r3, 0
/* 80383930 00380890 48 03 CB C1 */ bl EXISync
/* 80383934 00380894 7C 60 00 34 */ cntlzw r0, r3
/* 80383938 00380898 54 00 D9 7E */ srwi r0, r0, 5
/* 8038393C 0038089C 38 9D 00 00 */ addi r4, r29, 0
/* 80383940 003808A0 38 BE 00 00 */ addi r5, r30, 0
/* 80383944 003808A4 7F FF 03 78 */ or r31, r31, r0
/* 80383948 003808A8 38 60 00 00 */ li r3, 0
/* 8038394C 003808AC 38 C0 00 01 */ li r6, 1
/* 80383950 003808B0 48 03 CA 15 */ bl EXIImmEx
/* 80383954 003808B4 7C 60 00 34 */ cntlzw r0, r3
/* 80383958 003808B8 54 00 D9 7E */ srwi r0, r0, 5
/* 8038395C 003808BC 7F FF 03 78 */ or r31, r31, r0
/* 80383960 003808C0 38 60 00 00 */ li r3, 0
/* 80383964 003808C4 48 03 D4 25 */ bl EXIDeselect
/* 80383968 003808C8 7C 60 00 34 */ cntlzw r0, r3
/* 8038396C 003808CC 54 00 D9 7E */ srwi r0, r0, 5
/* 80383970 003808D0 7F FF 03 78 */ or r31, r31, r0
/* 80383974 003808D4 38 60 00 00 */ li r3, 0
/* 80383978 003808D8 48 03 DA E1 */ bl EXIUnlock
/* 8038397C 003808DC 7F E0 00 34 */ cntlzw r0, r31
/* 80383980 003808E0 54 03 D9 7E */ srwi r3, r0, 5
lbl_80383984:
/* 80383984 003808E4 80 01 00 2C */ lwz r0, 0x2c(r1)
/* 80383988 003808E8 83 E1 00 24 */ lwz r31, 0x24(r1)
/* 8038398C 003808EC 83 C1 00 20 */ lwz r30, 0x20(r1)
/* 80383990 003808F0 83 A1 00 1C */ lwz r29, 0x1c(r1)
/* 80383994 003808F4 38 21 00 28 */ addi r1, r1, 0x28
/* 80383998 003808F8 7C 08 03 A6 */ mtlr r0
/* 8038399C 003808FC 4E 80 00 20 */ blr
.global __OSInitSram
__OSInitSram:
/* 803839A0 00380900 7C 08 02 A6 */ mflr r0
/* 803839A4 00380904 3C 60 80 54 */ lis r3, Scb@ha
/* 803839A8 00380908 90 01 00 04 */ stw r0, 4(r1)
/* 803839AC 0038090C 38 80 00 40 */ li r4, 0x40
/* 803839B0 00380910 94 21 FF E8 */ stwu r1, -0x18(r1)
/* 803839B4 00380914 93 E1 00 14 */ stw r31, 0x14(r1)
/* 803839B8 00380918 3B E0 00 00 */ li r31, 0
/* 803839BC 0038091C 93 C1 00 10 */ stw r30, 0x10(r1)
/* 803839C0 00380920 3B C3 15 A0 */ addi r30, r3, Scb@l
/* 803839C4 00380924 38 7E 00 00 */ addi r3, r30, 0
/* 803839C8 00380928 93 FE 00 44 */ stw r31, 0x44(r30)
/* 803839CC 0038092C 93 FE 00 48 */ stw r31, 0x48(r30)
/* 803839D0 00380930 4B FF B0 B5 */ bl DCInvalidateRange
/* 803839D4 00380934 38 60 00 00 */ li r3, 0
/* 803839D8 00380938 38 80 00 01 */ li r4, 1
/* 803839DC 0038093C 38 A0 00 00 */ li r5, 0
/* 803839E0 00380940 48 03 D9 85 */ bl EXILock
/* 803839E4 00380944 2C 03 00 00 */ cmpwi r3, 0
/* 803839E8 00380948 40 82 00 08 */ bne lbl_803839F0
/* 803839EC 0038094C 48 00 00 C4 */ b lbl_80383AB0
lbl_803839F0:
/* 803839F0 00380950 38 60 00 00 */ li r3, 0
/* 803839F4 00380954 38 80 00 01 */ li r4, 1
/* 803839F8 00380958 38 A0 00 03 */ li r5, 3
/* 803839FC 0038095C 48 03 D2 61 */ bl EXISelect
/* 80383A00 00380960 2C 03 00 00 */ cmpwi r3, 0
/* 80383A04 00380964 40 82 00 10 */ bne lbl_80383A14
/* 80383A08 00380968 38 60 00 00 */ li r3, 0
/* 80383A0C 0038096C 48 03 DA 4D */ bl EXIUnlock
/* 80383A10 00380970 48 00 00 A0 */ b lbl_80383AB0
lbl_80383A14:
/* 80383A14 00380974 3C 60 20 00 */ lis r3, 0x20000100@ha
/* 80383A18 00380978 38 03 01 00 */ addi r0, r3, 0x20000100@l
/* 80383A1C 0038097C 90 01 00 08 */ stw r0, 8(r1)
/* 80383A20 00380980 38 81 00 08 */ addi r4, r1, 8
/* 80383A24 00380984 38 60 00 00 */ li r3, 0
/* 80383A28 00380988 38 A0 00 04 */ li r5, 4
/* 80383A2C 0038098C 38 C0 00 01 */ li r6, 1
/* 80383A30 00380990 38 E0 00 00 */ li r7, 0
/* 80383A34 00380994 48 03 C6 D5 */ bl EXIImm
/* 80383A38 00380998 7C 60 00 34 */ cntlzw r0, r3
/* 80383A3C 0038099C 54 1F D9 7E */ srwi r31, r0, 5
/* 80383A40 003809A0 38 60 00 00 */ li r3, 0
/* 80383A44 003809A4 48 03 CA AD */ bl EXISync
/* 80383A48 003809A8 7C 60 00 34 */ cntlzw r0, r3
/* 80383A4C 003809AC 54 00 D9 7E */ srwi r0, r0, 5
/* 80383A50 003809B0 38 9E 00 00 */ addi r4, r30, 0
/* 80383A54 003809B4 7F FF 03 78 */ or r31, r31, r0
/* 80383A58 003809B8 38 60 00 00 */ li r3, 0
/* 80383A5C 003809BC 38 A0 00 40 */ li r5, 0x40
/* 80383A60 003809C0 38 C0 00 00 */ li r6, 0
/* 80383A64 003809C4 38 E0 00 00 */ li r7, 0
/* 80383A68 003809C8 48 03 C9 9D */ bl EXIDma
/* 80383A6C 003809CC 7C 60 00 34 */ cntlzw r0, r3
/* 80383A70 003809D0 54 00 D9 7E */ srwi r0, r0, 5
/* 80383A74 003809D4 7F FF 03 78 */ or r31, r31, r0
/* 80383A78 003809D8 38 60 00 00 */ li r3, 0
/* 80383A7C 003809DC 48 03 CA 75 */ bl EXISync
/* 80383A80 003809E0 7C 60 00 34 */ cntlzw r0, r3
/* 80383A84 003809E4 54 00 D9 7E */ srwi r0, r0, 5
/* 80383A88 003809E8 7F FF 03 78 */ or r31, r31, r0
/* 80383A8C 003809EC 38 60 00 00 */ li r3, 0
/* 80383A90 003809F0 48 03 D2 F9 */ bl EXIDeselect
/* 80383A94 003809F4 7C 60 00 34 */ cntlzw r0, r3
/* 80383A98 003809F8 54 00 D9 7E */ srwi r0, r0, 5
/* 80383A9C 003809FC 7F FF 03 78 */ or r31, r31, r0
/* 80383AA0 00380A00 38 60 00 00 */ li r3, 0
/* 80383AA4 00380A04 48 03 D9 B5 */ bl EXIUnlock
/* 80383AA8 00380A08 7F E0 00 34 */ cntlzw r0, r31
/* 80383AAC 00380A0C 54 1F D9 7E */ srwi r31, r0, 5
lbl_80383AB0:
/* 80383AB0 00380A10 93 FE 00 4C */ stw r31, 0x4c(r30)
/* 80383AB4 00380A14 38 00 00 40 */ li r0, 0x40
/* 80383AB8 00380A18 90 1E 00 40 */ stw r0, 0x40(r30)
/* 80383ABC 00380A1C 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 80383AC0 00380A20 83 E1 00 14 */ lwz r31, 0x14(r1)
/* 80383AC4 00380A24 83 C1 00 10 */ lwz r30, 0x10(r1)
/* 80383AC8 00380A28 38 21 00 18 */ addi r1, r1, 0x18
/* 80383ACC 00380A2C 7C 08 03 A6 */ mtlr r0
/* 80383AD0 00380A30 4E 80 00 20 */ blr
.global __OSLockSram
__OSLockSram:
/* 80383AD4 00380A34 7C 08 02 A6 */ mflr r0
/* 80383AD8 00380A38 3C 60 80 54 */ lis r3, Scb@ha
/* 80383ADC 00380A3C 90 01 00 04 */ stw r0, 4(r1)
/* 80383AE0 00380A40 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80383AE4 00380A44 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80383AE8 00380A48 3B E3 15 A0 */ addi r31, r3, Scb@l
/* 80383AEC 00380A4C 4B FF DB 75 */ bl OSDisableInterrupts
/* 80383AF0 00380A50 80 1F 00 48 */ lwz r0, 0x48(r31)
/* 80383AF4 00380A54 38 9F 00 48 */ addi r4, r31, 0x48
/* 80383AF8 00380A58 2C 00 00 00 */ cmpwi r0, 0
/* 80383AFC 00380A5C 41 82 00 10 */ beq lbl_80383B0C
/* 80383B00 00380A60 4B FF DB 89 */ bl OSRestoreInterrupts
/* 80383B04 00380A64 3B E0 00 00 */ li r31, 0
/* 80383B08 00380A68 48 00 00 10 */ b lbl_80383B18
lbl_80383B0C:
/* 80383B0C 00380A6C 90 7F 00 44 */ stw r3, 0x44(r31)
/* 80383B10 00380A70 38 00 00 01 */ li r0, 1
/* 80383B14 00380A74 90 04 00 00 */ stw r0, 0(r4)
lbl_80383B18:
/* 80383B18 00380A78 7F E3 FB 78 */ mr r3, r31
/* 80383B1C 00380A7C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80383B20 00380A80 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80383B24 00380A84 38 21 00 10 */ addi r1, r1, 0x10
/* 80383B28 00380A88 7C 08 03 A6 */ mtlr r0
/* 80383B2C 00380A8C 4E 80 00 20 */ blr
.global __OSLockSramEx
__OSLockSramEx:
/* 80383B30 00380A90 7C 08 02 A6 */ mflr r0
/* 80383B34 00380A94 3C 60 80 54 */ lis r3, Scb@ha
/* 80383B38 00380A98 90 01 00 04 */ stw r0, 4(r1)
/* 80383B3C 00380A9C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80383B40 00380AA0 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80383B44 00380AA4 3B E3 15 A0 */ addi r31, r3, Scb@l
/* 80383B48 00380AA8 4B FF DB 19 */ bl OSDisableInterrupts
/* 80383B4C 00380AAC 80 1F 00 48 */ lwz r0, 0x48(r31)
/* 80383B50 00380AB0 38 9F 00 48 */ addi r4, r31, 0x48
/* 80383B54 00380AB4 2C 00 00 00 */ cmpwi r0, 0
/* 80383B58 00380AB8 41 82 00 10 */ beq lbl_80383B68
/* 80383B5C 00380ABC 4B FF DB 2D */ bl OSRestoreInterrupts
/* 80383B60 00380AC0 38 60 00 00 */ li r3, 0
/* 80383B64 00380AC4 48 00 00 14 */ b lbl_80383B78
lbl_80383B68:
/* 80383B68 00380AC8 90 7F 00 44 */ stw r3, 0x44(r31)
/* 80383B6C 00380ACC 38 00 00 01 */ li r0, 1
/* 80383B70 00380AD0 38 7F 00 14 */ addi r3, r31, 0x14
/* 80383B74 00380AD4 90 04 00 00 */ stw r0, 0(r4)
lbl_80383B78:
/* 80383B78 00380AD8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80383B7C 00380ADC 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80383B80 00380AE0 38 21 00 10 */ addi r1, r1, 0x10
/* 80383B84 00380AE4 7C 08 03 A6 */ mtlr r0
/* 80383B88 00380AE8 4E 80 00 20 */ blr
.global UnlockSram
UnlockSram:
/* 80383B8C 00380AEC 7C 08 02 A6 */ mflr r0
/* 80383B90 00380AF0 2C 03 00 00 */ cmpwi r3, 0
/* 80383B94 00380AF4 90 01 00 04 */ stw r0, 4(r1)
/* 80383B98 00380AF8 3C 60 80 54 */ lis r3, Scb@ha
/* 80383B9C 00380AFC 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 80383BA0 00380B00 BF 61 00 1C */ stmw r27, 0x1c(r1)
/* 80383BA4 00380B04 3B E3 15 A0 */ addi r31, r3, Scb@l
/* 80383BA8 00380B08 41 82 02 C4 */ beq lbl_80383E6C
/* 80383BAC 00380B0C 28 04 00 00 */ cmplwi r4, 0
/* 80383BB0 00380B10 40 82 01 B0 */ bne lbl_80383D60
/* 80383BB4 00380B14 88 7F 00 13 */ lbz r3, 0x13(r31)
/* 80383BB8 00380B18 54 60 07 BE */ clrlwi r0, r3, 0x1e
/* 80383BBC 00380B1C 28 00 00 02 */ cmplwi r0, 2
/* 80383BC0 00380B20 40 81 00 0C */ ble lbl_80383BCC
/* 80383BC4 00380B24 54 60 00 3A */ rlwinm r0, r3, 0, 0, 0x1d
/* 80383BC8 00380B28 98 1F 00 13 */ stb r0, 0x13(r31)
lbl_80383BCC:
/* 80383BCC 00380B2C 38 00 00 00 */ li r0, 0
/* 80383BD0 00380B30 B0 1F 00 02 */ sth r0, 2(r31)
/* 80383BD4 00380B34 38 BF 00 14 */ addi r5, r31, 0x14
/* 80383BD8 00380B38 38 DF 00 0C */ addi r6, r31, 0xc
/* 80383BDC 00380B3C 38 65 00 01 */ addi r3, r5, 1
/* 80383BE0 00380B40 B0 1F 00 00 */ sth r0, 0(r31)
/* 80383BE4 00380B44 7C 66 18 50 */ subf r3, r6, r3
/* 80383BE8 00380B48 7C 06 28 40 */ cmplw r6, r5
/* 80383BEC 00380B4C 54 63 F8 7E */ srwi r3, r3, 1
/* 80383BF0 00380B50 40 80 01 70 */ bge lbl_80383D60
/* 80383BF4 00380B54 54 60 E8 FF */ rlwinm. r0, r3, 0x1d, 3, 0x1f
/* 80383BF8 00380B58 7C 09 03 A6 */ mtctr r0
/* 80383BFC 00380B5C 41 82 01 34 */ beq lbl_80383D30
lbl_80383C00:
/* 80383C00 00380B60 A0 BF 00 00 */ lhz r5, 0(r31)
/* 80383C04 00380B64 A0 06 00 00 */ lhz r0, 0(r6)
/* 80383C08 00380B68 7C 05 02 14 */ add r0, r5, r0
/* 80383C0C 00380B6C B0 1F 00 00 */ sth r0, 0(r31)
/* 80383C10 00380B70 A0 06 00 00 */ lhz r0, 0(r6)
/* 80383C14 00380B74 A0 BF 00 02 */ lhz r5, 2(r31)
/* 80383C18 00380B78 7C 00 00 F8 */ nor r0, r0, r0
/* 80383C1C 00380B7C 7C 05 02 14 */ add r0, r5, r0
/* 80383C20 00380B80 B0 1F 00 02 */ sth r0, 2(r31)
/* 80383C24 00380B84 A0 BF 00 00 */ lhz r5, 0(r31)
/* 80383C28 00380B88 A0 06 00 02 */ lhz r0, 2(r6)
/* 80383C2C 00380B8C 7C 05 02 14 */ add r0, r5, r0
/* 80383C30 00380B90 B0 1F 00 00 */ sth r0, 0(r31)
/* 80383C34 00380B94 A0 06 00 02 */ lhz r0, 2(r6)
/* 80383C38 00380B98 A0 BF 00 02 */ lhz r5, 2(r31)
/* 80383C3C 00380B9C 7C 00 00 F8 */ nor r0, r0, r0
/* 80383C40 00380BA0 7C 05 02 14 */ add r0, r5, r0
/* 80383C44 00380BA4 B0 1F 00 02 */ sth r0, 2(r31)
/* 80383C48 00380BA8 A0 BF 00 00 */ lhz r5, 0(r31)
/* 80383C4C 00380BAC A0 06 00 04 */ lhz r0, 4(r6)
/* 80383C50 00380BB0 7C 05 02 14 */ add r0, r5, r0
/* 80383C54 00380BB4 B0 1F 00 00 */ sth r0, 0(r31)
/* 80383C58 00380BB8 A0 06 00 04 */ lhz r0, 4(r6)
/* 80383C5C 00380BBC A0 BF 00 02 */ lhz r5, 2(r31)
/* 80383C60 00380BC0 7C 00 00 F8 */ nor r0, r0, r0
/* 80383C64 00380BC4 7C 05 02 14 */ add r0, r5, r0
/* 80383C68 00380BC8 B0 1F 00 02 */ sth r0, 2(r31)
/* 80383C6C 00380BCC A0 BF 00 00 */ lhz r5, 0(r31)
/* 80383C70 00380BD0 A0 06 00 06 */ lhz r0, 6(r6)
/* 80383C74 00380BD4 7C 05 02 14 */ add r0, r5, r0
/* 80383C78 00380BD8 B0 1F 00 00 */ sth r0, 0(r31)
/* 80383C7C 00380BDC A0 06 00 06 */ lhz r0, 6(r6)
/* 80383C80 00380BE0 A0 BF 00 02 */ lhz r5, 2(r31)
/* 80383C84 00380BE4 7C 00 00 F8 */ nor r0, r0, r0
/* 80383C88 00380BE8 7C 05 02 14 */ add r0, r5, r0
/* 80383C8C 00380BEC B0 1F 00 02 */ sth r0, 2(r31)
/* 80383C90 00380BF0 A0 BF 00 00 */ lhz r5, 0(r31)
/* 80383C94 00380BF4 A0 06 00 08 */ lhz r0, 8(r6)
/* 80383C98 00380BF8 7C 05 02 14 */ add r0, r5, r0
/* 80383C9C 00380BFC B0 1F 00 00 */ sth r0, 0(r31)
/* 80383CA0 00380C00 A0 06 00 08 */ lhz r0, 8(r6)
/* 80383CA4 00380C04 A0 BF 00 02 */ lhz r5, 2(r31)
/* 80383CA8 00380C08 7C 00 00 F8 */ nor r0, r0, r0
/* 80383CAC 00380C0C 7C 05 02 14 */ add r0, r5, r0
/* 80383CB0 00380C10 B0 1F 00 02 */ sth r0, 2(r31)
/* 80383CB4 00380C14 A0 BF 00 00 */ lhz r5, 0(r31)
/* 80383CB8 00380C18 A0 06 00 0A */ lhz r0, 0xa(r6)
/* 80383CBC 00380C1C 7C 05 02 14 */ add r0, r5, r0
/* 80383CC0 00380C20 B0 1F 00 00 */ sth r0, 0(r31)
/* 80383CC4 00380C24 A0 06 00 0A */ lhz r0, 0xa(r6)
/* 80383CC8 00380C28 A0 BF 00 02 */ lhz r5, 2(r31)
/* 80383CCC 00380C2C 7C 00 00 F8 */ nor r0, r0, r0
/* 80383CD0 00380C30 7C 05 02 14 */ add r0, r5, r0
/* 80383CD4 00380C34 B0 1F 00 02 */ sth r0, 2(r31)
/* 80383CD8 00380C38 A0 BF 00 00 */ lhz r5, 0(r31)
/* 80383CDC 00380C3C A0 06 00 0C */ lhz r0, 0xc(r6)
/* 80383CE0 00380C40 7C 05 02 14 */ add r0, r5, r0
/* 80383CE4 00380C44 B0 1F 00 00 */ sth r0, 0(r31)
/* 80383CE8 00380C48 A0 06 00 0C */ lhz r0, 0xc(r6)
/* 80383CEC 00380C4C A0 BF 00 02 */ lhz r5, 2(r31)
/* 80383CF0 00380C50 7C 00 00 F8 */ nor r0, r0, r0
/* 80383CF4 00380C54 7C 05 02 14 */ add r0, r5, r0
/* 80383CF8 00380C58 B0 1F 00 02 */ sth r0, 2(r31)
/* 80383CFC 00380C5C A0 BF 00 00 */ lhz r5, 0(r31)
/* 80383D00 00380C60 A0 06 00 0E */ lhz r0, 0xe(r6)
/* 80383D04 00380C64 7C 05 02 14 */ add r0, r5, r0
/* 80383D08 00380C68 B0 1F 00 00 */ sth r0, 0(r31)
/* 80383D0C 00380C6C A0 06 00 0E */ lhz r0, 0xe(r6)
/* 80383D10 00380C70 38 C6 00 10 */ addi r6, r6, 0x10
/* 80383D14 00380C74 A0 BF 00 02 */ lhz r5, 2(r31)
/* 80383D18 00380C78 7C 00 00 F8 */ nor r0, r0, r0
/* 80383D1C 00380C7C 7C 05 02 14 */ add r0, r5, r0
/* 80383D20 00380C80 B0 1F 00 02 */ sth r0, 2(r31)
/* 80383D24 00380C84 42 00 FE DC */ bdnz lbl_80383C00
/* 80383D28 00380C88 70 63 00 07 */ andi. r3, r3, 7
/* 80383D2C 00380C8C 41 82 00 34 */ beq lbl_80383D60
lbl_80383D30:
/* 80383D30 00380C90 7C 69 03 A6 */ mtctr r3
lbl_80383D34:
/* 80383D34 00380C94 A0 BF 00 00 */ lhz r5, 0(r31)
/* 80383D38 00380C98 A0 06 00 00 */ lhz r0, 0(r6)
/* 80383D3C 00380C9C 7C 05 02 14 */ add r0, r5, r0
/* 80383D40 00380CA0 B0 1F 00 00 */ sth r0, 0(r31)
/* 80383D44 00380CA4 A0 06 00 00 */ lhz r0, 0(r6)
/* 80383D48 00380CA8 38 C6 00 02 */ addi r6, r6, 2
/* 80383D4C 00380CAC A0 BF 00 02 */ lhz r5, 2(r31)
/* 80383D50 00380CB0 7C 00 00 F8 */ nor r0, r0, r0
/* 80383D54 00380CB4 7C 05 02 14 */ add r0, r5, r0
/* 80383D58 00380CB8 B0 1F 00 02 */ sth r0, 2(r31)
/* 80383D5C 00380CBC 42 00 FF D8 */ bdnz lbl_80383D34
lbl_80383D60:
/* 80383D60 00380CC0 3B DF 00 40 */ addi r30, r31, 0x40
/* 80383D64 00380CC4 80 1F 00 40 */ lwz r0, 0x40(r31)
/* 80383D68 00380CC8 7C 04 00 40 */ cmplw r4, r0
/* 80383D6C 00380CCC 40 80 00 08 */ bge lbl_80383D74
/* 80383D70 00380CD0 90 9E 00 00 */ stw r4, 0(r30)
lbl_80383D74:
/* 80383D74 00380CD4 83 BE 00 00 */ lwz r29, 0(r30)
/* 80383D78 00380CD8 3C 60 80 38 */ lis r3, WriteSramCallback@ha
/* 80383D7C 00380CDC 38 A3 38 28 */ addi r5, r3, WriteSramCallback@l
/* 80383D80 00380CE0 23 7D 00 40 */ subfic r27, r29, 0x40
/* 80383D84 00380CE4 7F 9F EA 14 */ add r28, r31, r29
/* 80383D88 00380CE8 38 60 00 00 */ li r3, 0
/* 80383D8C 00380CEC 38 80 00 01 */ li r4, 1
/* 80383D90 00380CF0 48 03 D5 D5 */ bl EXILock
/* 80383D94 00380CF4 2C 03 00 00 */ cmpwi r3, 0
/* 80383D98 00380CF8 40 82 00 0C */ bne lbl_80383DA4
/* 80383D9C 00380CFC 38 00 00 00 */ li r0, 0
/* 80383DA0 00380D00 48 00 00 B4 */ b lbl_80383E54
lbl_80383DA4:
/* 80383DA4 00380D04 38 60 00 00 */ li r3, 0
/* 80383DA8 00380D08 38 80 00 01 */ li r4, 1
/* 80383DAC 00380D0C 38 A0 00 03 */ li r5, 3
/* 80383DB0 00380D10 48 03 CE AD */ bl EXISelect
/* 80383DB4 00380D14 2C 03 00 00 */ cmpwi r3, 0
/* 80383DB8 00380D18 40 82 00 14 */ bne lbl_80383DCC
/* 80383DBC 00380D1C 38 60 00 00 */ li r3, 0
/* 80383DC0 00380D20 48 03 D6 99 */ bl EXIUnlock
/* 80383DC4 00380D24 38 00 00 00 */ li r0, 0
/* 80383DC8 00380D28 48 00 00 8C */ b lbl_80383E54
lbl_80383DCC:
/* 80383DCC 00380D2C 57 A3 30 32 */ slwi r3, r29, 6
/* 80383DD0 00380D30 38 03 01 00 */ addi r0, r3, 0x100
/* 80383DD4 00380D34 64 00 A0 00 */ oris r0, r0, 0xa000
/* 80383DD8 00380D38 90 01 00 10 */ stw r0, 0x10(r1)
/* 80383DDC 00380D3C 38 81 00 10 */ addi r4, r1, 0x10
/* 80383DE0 00380D40 38 60 00 00 */ li r3, 0
/* 80383DE4 00380D44 38 A0 00 04 */ li r5, 4
/* 80383DE8 00380D48 38 C0 00 01 */ li r6, 1
/* 80383DEC 00380D4C 38 E0 00 00 */ li r7, 0
/* 80383DF0 00380D50 48 03 C3 19 */ bl EXIImm
/* 80383DF4 00380D54 7C 60 00 34 */ cntlzw r0, r3
/* 80383DF8 00380D58 54 1D D9 7E */ srwi r29, r0, 5
/* 80383DFC 00380D5C 38 60 00 00 */ li r3, 0
/* 80383E00 00380D60 48 03 C6 F1 */ bl EXISync
/* 80383E04 00380D64 7C 60 00 34 */ cntlzw r0, r3
/* 80383E08 00380D68 54 00 D9 7E */ srwi r0, r0, 5
/* 80383E0C 00380D6C 38 9C 00 00 */ addi r4, r28, 0
/* 80383E10 00380D70 38 BB 00 00 */ addi r5, r27, 0
/* 80383E14 00380D74 7F BD 03 78 */ or r29, r29, r0
/* 80383E18 00380D78 38 60 00 00 */ li r3, 0
/* 80383E1C 00380D7C 38 C0 00 01 */ li r6, 1
/* 80383E20 00380D80 48 03 C5 45 */ bl EXIImmEx
/* 80383E24 00380D84 7C 60 00 34 */ cntlzw r0, r3
/* 80383E28 00380D88 54 00 D9 7E */ srwi r0, r0, 5
/* 80383E2C 00380D8C 7F BD 03 78 */ or r29, r29, r0
/* 80383E30 00380D90 38 60 00 00 */ li r3, 0
/* 80383E34 00380D94 48 03 CF 55 */ bl EXIDeselect
/* 80383E38 00380D98 7C 60 00 34 */ cntlzw r0, r3
/* 80383E3C 00380D9C 54 00 D9 7E */ srwi r0, r0, 5
/* 80383E40 00380DA0 7F BD 03 78 */ or r29, r29, r0
/* 80383E44 00380DA4 38 60 00 00 */ li r3, 0
/* 80383E48 00380DA8 48 03 D6 11 */ bl EXIUnlock
/* 80383E4C 00380DAC 7F A0 00 34 */ cntlzw r0, r29
/* 80383E50 00380DB0 54 00 D9 7E */ srwi r0, r0, 5
lbl_80383E54:
/* 80383E54 00380DB4 90 1F 00 4C */ stw r0, 0x4c(r31)
/* 80383E58 00380DB8 80 1F 00 4C */ lwz r0, 0x4c(r31)
/* 80383E5C 00380DBC 2C 00 00 00 */ cmpwi r0, 0
/* 80383E60 00380DC0 41 82 00 0C */ beq lbl_80383E6C
/* 80383E64 00380DC4 38 00 00 40 */ li r0, 0x40
/* 80383E68 00380DC8 90 1E 00 00 */ stw r0, 0(r30)
lbl_80383E6C:
/* 80383E6C 00380DCC 38 00 00 00 */ li r0, 0
/* 80383E70 00380DD0 90 1F 00 48 */ stw r0, 0x48(r31)
/* 80383E74 00380DD4 80 7F 00 44 */ lwz r3, 0x44(r31)
/* 80383E78 00380DD8 4B FF D8 11 */ bl OSRestoreInterrupts
/* 80383E7C 00380DDC 80 7F 00 4C */ lwz r3, 0x4c(r31)
/* 80383E80 00380DE0 BB 61 00 1C */ lmw r27, 0x1c(r1)
/* 80383E84 00380DE4 80 01 00 34 */ lwz r0, 0x34(r1)
/* 80383E88 00380DE8 38 21 00 30 */ addi r1, r1, 0x30
/* 80383E8C 00380DEC 7C 08 03 A6 */ mtlr r0
/* 80383E90 00380DF0 4E 80 00 20 */ blr
.global __OSUnlockSram
__OSUnlockSram:
/* 80383E94 00380DF4 7C 08 02 A6 */ mflr r0
/* 80383E98 00380DF8 38 80 00 00 */ li r4, 0
/* 80383E9C 00380DFC 90 01 00 04 */ stw r0, 4(r1)
/* 80383EA0 00380E00 94 21 FF F8 */ stwu r1, -8(r1)
/* 80383EA4 00380E04 4B FF FC E9 */ bl UnlockSram
/* 80383EA8 00380E08 80 01 00 0C */ lwz r0, 0xc(r1)
/* 80383EAC 00380E0C 38 21 00 08 */ addi r1, r1, 8
/* 80383EB0 00380E10 7C 08 03 A6 */ mtlr r0
/* 80383EB4 00380E14 4E 80 00 20 */ blr
.global __OSUnlockSramEx
__OSUnlockSramEx:
/* 80383EB8 00380E18 7C 08 02 A6 */ mflr r0
/* 80383EBC 00380E1C 38 80 00 14 */ li r4, 0x14
/* 80383EC0 00380E20 90 01 00 04 */ stw r0, 4(r1)
/* 80383EC4 00380E24 94 21 FF F8 */ stwu r1, -8(r1)
/* 80383EC8 00380E28 4B FF FC C5 */ bl UnlockSram
/* 80383ECC 00380E2C 80 01 00 0C */ lwz r0, 0xc(r1)
/* 80383ED0 00380E30 38 21 00 08 */ addi r1, r1, 8
/* 80383ED4 00380E34 7C 08 03 A6 */ mtlr r0
/* 80383ED8 00380E38 4E 80 00 20 */ blr
.global __OSSyncSram
__OSSyncSram:
/* 80383EDC 00380E3C 3C 60 80 54 */ lis r3, Scb@ha
/* 80383EE0 00380E40 38 63 15 A0 */ addi r3, r3, Scb@l
/* 80383EE4 00380E44 80 63 00 4C */ lwz r3, 0x4c(r3)
/* 80383EE8 00380E48 4E 80 00 20 */ blr
.global __OSReadROM
__OSReadROM:
/* 80383EEC 00380E4C 7C 08 02 A6 */ mflr r0
/* 80383EF0 00380E50 90 01 00 04 */ stw r0, 4(r1)
/* 80383EF4 00380E54 94 21 FF D8 */ stwu r1, -0x28(r1)
/* 80383EF8 00380E58 93 E1 00 24 */ stw r31, 0x24(r1)
/* 80383EFC 00380E5C 3B E5 00 00 */ addi r31, r5, 0
/* 80383F00 00380E60 93 C1 00 20 */ stw r30, 0x20(r1)
/* 80383F04 00380E64 3B C4 00 00 */ addi r30, r4, 0
/* 80383F08 00380E68 93 A1 00 1C */ stw r29, 0x1c(r1)
/* 80383F0C 00380E6C 3B A3 00 00 */ addi r29, r3, 0
/* 80383F10 00380E70 4B FF AB 75 */ bl DCInvalidateRange
/* 80383F14 00380E74 38 60 00 00 */ li r3, 0
/* 80383F18 00380E78 38 80 00 01 */ li r4, 1
/* 80383F1C 00380E7C 38 A0 00 00 */ li r5, 0
/* 80383F20 00380E80 48 03 D4 45 */ bl EXILock
/* 80383F24 00380E84 2C 03 00 00 */ cmpwi r3, 0
/* 80383F28 00380E88 40 82 00 0C */ bne lbl_80383F34
/* 80383F2C 00380E8C 38 60 00 00 */ li r3, 0
/* 80383F30 00380E90 48 00 00 C4 */ b lbl_80383FF4
lbl_80383F34:
/* 80383F34 00380E94 38 60 00 00 */ li r3, 0
/* 80383F38 00380E98 38 80 00 01 */ li r4, 1
/* 80383F3C 00380E9C 38 A0 00 03 */ li r5, 3
/* 80383F40 00380EA0 48 03 CD 1D */ bl EXISelect
/* 80383F44 00380EA4 2C 03 00 00 */ cmpwi r3, 0
/* 80383F48 00380EA8 40 82 00 14 */ bne lbl_80383F5C
/* 80383F4C 00380EAC 38 60 00 00 */ li r3, 0
/* 80383F50 00380EB0 48 03 D5 09 */ bl EXIUnlock
/* 80383F54 00380EB4 38 60 00 00 */ li r3, 0
/* 80383F58 00380EB8 48 00 00 9C */ b lbl_80383FF4
lbl_80383F5C:
/* 80383F5C 00380EBC 57 E0 30 32 */ slwi r0, r31, 6
/* 80383F60 00380EC0 90 01 00 14 */ stw r0, 0x14(r1)
/* 80383F64 00380EC4 38 81 00 14 */ addi r4, r1, 0x14
/* 80383F68 00380EC8 38 60 00 00 */ li r3, 0
/* 80383F6C 00380ECC 38 A0 00 04 */ li r5, 4
/* 80383F70 00380ED0 38 C0 00 01 */ li r6, 1
/* 80383F74 00380ED4 38 E0 00 00 */ li r7, 0
/* 80383F78 00380ED8 48 03 C1 91 */ bl EXIImm
/* 80383F7C 00380EDC 7C 60 00 34 */ cntlzw r0, r3
/* 80383F80 00380EE0 54 1F D9 7E */ srwi r31, r0, 5
/* 80383F84 00380EE4 38 60 00 00 */ li r3, 0
/* 80383F88 00380EE8 48 03 C5 69 */ bl EXISync
/* 80383F8C 00380EEC 7C 60 00 34 */ cntlzw r0, r3
/* 80383F90 00380EF0 54 00 D9 7E */ srwi r0, r0, 5
/* 80383F94 00380EF4 38 9D 00 00 */ addi r4, r29, 0
/* 80383F98 00380EF8 38 BE 00 00 */ addi r5, r30, 0
/* 80383F9C 00380EFC 7F FF 03 78 */ or r31, r31, r0
/* 80383FA0 00380F00 38 60 00 00 */ li r3, 0
/* 80383FA4 00380F04 38 C0 00 00 */ li r6, 0
/* 80383FA8 00380F08 38 E0 00 00 */ li r7, 0
/* 80383FAC 00380F0C 48 03 C4 59 */ bl EXIDma
/* 80383FB0 00380F10 7C 60 00 34 */ cntlzw r0, r3
/* 80383FB4 00380F14 54 00 D9 7E */ srwi r0, r0, 5
/* 80383FB8 00380F18 7F FF 03 78 */ or r31, r31, r0
/* 80383FBC 00380F1C 38 60 00 00 */ li r3, 0
/* 80383FC0 00380F20 48 03 C5 31 */ bl EXISync
/* 80383FC4 00380F24 7C 60 00 34 */ cntlzw r0, r3
/* 80383FC8 00380F28 54 00 D9 7E */ srwi r0, r0, 5
/* 80383FCC 00380F2C 7F FF 03 78 */ or r31, r31, r0
/* 80383FD0 00380F30 38 60 00 00 */ li r3, 0
/* 80383FD4 00380F34 48 03 CD B5 */ bl EXIDeselect
/* 80383FD8 00380F38 7C 60 00 34 */ cntlzw r0, r3
/* 80383FDC 00380F3C 54 00 D9 7E */ srwi r0, r0, 5
/* 80383FE0 00380F40 7F FF 03 78 */ or r31, r31, r0
/* 80383FE4 00380F44 38 60 00 00 */ li r3, 0
/* 80383FE8 00380F48 48 03 D4 71 */ bl EXIUnlock
/* 80383FEC 00380F4C 7F E0 00 34 */ cntlzw r0, r31
/* 80383FF0 00380F50 54 03 D9 7E */ srwi r3, r0, 5
lbl_80383FF4:
/* 80383FF4 00380F54 80 01 00 2C */ lwz r0, 0x2c(r1)
/* 80383FF8 00380F58 83 E1 00 24 */ lwz r31, 0x24(r1)
/* 80383FFC 00380F5C 83 C1 00 20 */ lwz r30, 0x20(r1)
/* 80384000 00380F60 83 A1 00 1C */ lwz r29, 0x1c(r1)
/* 80384004 00380F64 38 21 00 28 */ addi r1, r1, 0x28
/* 80384008 00380F68 7C 08 03 A6 */ mtlr r0
/* 8038400C 00380F6C 4E 80 00 20 */ blr
.global OSGetSoundMode
OSGetSoundMode:
/* 80384010 00380F70 7C 08 02 A6 */ mflr r0
/* 80384014 00380F74 3C 60 80 54 */ lis r3, Scb@ha
/* 80384018 00380F78 90 01 00 04 */ stw r0, 4(r1)
/* 8038401C 00380F7C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80384020 00380F80 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80384024 00380F84 3B E3 15 A0 */ addi r31, r3, Scb@l
/* 80384028 00380F88 4B FF D6 39 */ bl OSDisableInterrupts
/* 8038402C 00380F8C 80 1F 00 48 */ lwz r0, 0x48(r31)
/* 80384030 00380F90 38 9F 00 48 */ addi r4, r31, 0x48
/* 80384034 00380F94 2C 00 00 00 */ cmpwi r0, 0
/* 80384038 00380F98 41 82 00 10 */ beq lbl_80384048
/* 8038403C 00380F9C 4B FF D6 4D */ bl OSRestoreInterrupts
/* 80384040 00380FA0 3B E0 00 00 */ li r31, 0
/* 80384044 00380FA4 48 00 00 10 */ b lbl_80384054
lbl_80384048:
/* 80384048 00380FA8 90 7F 00 44 */ stw r3, 0x44(r31)
/* 8038404C 00380FAC 38 00 00 01 */ li r0, 1
/* 80384050 00380FB0 90 04 00 00 */ stw r0, 0(r4)
lbl_80384054:
/* 80384054 00380FB4 88 1F 00 13 */ lbz r0, 0x13(r31)
/* 80384058 00380FB8 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d
/* 8038405C 00380FBC 41 82 00 0C */ beq lbl_80384068
/* 80384060 00380FC0 3B E0 00 01 */ li r31, 1
/* 80384064 00380FC4 48 00 00 08 */ b lbl_8038406C
lbl_80384068:
/* 80384068 00380FC8 3B E0 00 00 */ li r31, 0
lbl_8038406C:
/* 8038406C 00380FCC 38 60 00 00 */ li r3, 0
/* 80384070 00380FD0 38 80 00 00 */ li r4, 0
/* 80384074 00380FD4 4B FF FB 19 */ bl UnlockSram
/* 80384078 00380FD8 7F E3 FB 78 */ mr r3, r31
/* 8038407C 00380FDC 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80384080 00380FE0 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80384084 00380FE4 38 21 00 20 */ addi r1, r1, 0x20
/* 80384088 00380FE8 7C 08 03 A6 */ mtlr r0
/* 8038408C 00380FEC 4E 80 00 20 */ blr
.global OSSetSoundMode
OSSetSoundMode:
/* 80384090 00380FF0 7C 08 02 A6 */ mflr r0
/* 80384094 00380FF4 3C 80 80 54 */ lis r4, Scb@ha
/* 80384098 00380FF8 90 01 00 04 */ stw r0, 4(r1)
/* 8038409C 00380FFC 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 803840A0 00381000 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 803840A4 00381004 3B E4 15 A0 */ addi r31, r4, Scb@l
/* 803840A8 00381008 93 C1 00 18 */ stw r30, 0x18(r1)
/* 803840AC 0038100C 54 7E 17 7A */ rlwinm r30, r3, 2, 0x1d, 0x1d
/* 803840B0 00381010 4B FF D5 B1 */ bl OSDisableInterrupts
/* 803840B4 00381014 80 1F 00 48 */ lwz r0, 0x48(r31)
/* 803840B8 00381018 38 9F 00 48 */ addi r4, r31, 0x48
/* 803840BC 0038101C 2C 00 00 00 */ cmpwi r0, 0
/* 803840C0 00381020 41 82 00 10 */ beq lbl_803840D0
/* 803840C4 00381024 4B FF D5 C5 */ bl OSRestoreInterrupts
/* 803840C8 00381028 3B E0 00 00 */ li r31, 0
/* 803840CC 0038102C 48 00 00 10 */ b lbl_803840DC
lbl_803840D0:
/* 803840D0 00381030 90 7F 00 44 */ stw r3, 0x44(r31)
/* 803840D4 00381034 38 00 00 01 */ li r0, 1
/* 803840D8 00381038 90 04 00 00 */ stw r0, 0(r4)
lbl_803840DC:
/* 803840DC 0038103C 88 7F 00 13 */ lbz r3, 0x13(r31)
/* 803840E0 00381040 54 60 07 7A */ rlwinm r0, r3, 0, 0x1d, 0x1d
/* 803840E4 00381044 7C 1E 00 40 */ cmplw r30, r0
/* 803840E8 00381048 40 82 00 14 */ bne lbl_803840FC
/* 803840EC 0038104C 38 60 00 00 */ li r3, 0
/* 803840F0 00381050 38 80 00 00 */ li r4, 0
/* 803840F4 00381054 4B FF FA 99 */ bl UnlockSram
/* 803840F8 00381058 48 00 00 24 */ b lbl_8038411C
lbl_803840FC:
/* 803840FC 0038105C 54 60 07 B8 */ rlwinm r0, r3, 0, 0x1e, 0x1c
/* 80384100 00381060 98 1F 00 13 */ stb r0, 0x13(r31)
/* 80384104 00381064 38 60 00 01 */ li r3, 1
/* 80384108 00381068 38 80 00 00 */ li r4, 0
/* 8038410C 0038106C 88 1F 00 13 */ lbz r0, 0x13(r31)
/* 80384110 00381070 7C 00 F3 78 */ or r0, r0, r30
/* 80384114 00381074 98 1F 00 13 */ stb r0, 0x13(r31)
/* 80384118 00381078 4B FF FA 75 */ bl UnlockSram
lbl_8038411C:
/* 8038411C 0038107C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80384120 00381080 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80384124 00381084 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80384128 00381088 38 21 00 20 */ addi r1, r1, 0x20
/* 8038412C 0038108C 7C 08 03 A6 */ mtlr r0
/* 80384130 00381090 4E 80 00 20 */ blr
.global OSGetProgressiveMode
OSGetProgressiveMode:
/* 80384134 00381094 7C 08 02 A6 */ mflr r0
/* 80384138 00381098 3C 60 80 54 */ lis r3, Scb@ha
/* 8038413C 0038109C 90 01 00 04 */ stw r0, 4(r1)
/* 80384140 003810A0 94 21 FF E8 */ stwu r1, -0x18(r1)
/* 80384144 003810A4 93 E1 00 14 */ stw r31, 0x14(r1)
/* 80384148 003810A8 3B E3 15 A0 */ addi r31, r3, Scb@l
/* 8038414C 003810AC 4B FF D5 15 */ bl OSDisableInterrupts
/* 80384150 003810B0 80 1F 00 48 */ lwz r0, 0x48(r31)
/* 80384154 003810B4 38 9F 00 48 */ addi r4, r31, 0x48
/* 80384158 003810B8 2C 00 00 00 */ cmpwi r0, 0
/* 8038415C 003810BC 41 82 00 10 */ beq lbl_8038416C
/* 80384160 003810C0 4B FF D5 29 */ bl OSRestoreInterrupts
/* 80384164 003810C4 3B E0 00 00 */ li r31, 0
/* 80384168 003810C8 48 00 00 10 */ b lbl_80384178
lbl_8038416C:
/* 8038416C 003810CC 90 7F 00 44 */ stw r3, 0x44(r31)
/* 80384170 003810D0 38 00 00 01 */ li r0, 1
/* 80384174 003810D4 90 04 00 00 */ stw r0, 0(r4)
lbl_80384178:
/* 80384178 003810D8 88 1F 00 13 */ lbz r0, 0x13(r31)
/* 8038417C 003810DC 38 60 00 00 */ li r3, 0
/* 80384180 003810E0 38 80 00 00 */ li r4, 0
/* 80384184 003810E4 54 1F CF FE */ rlwinm r31, r0, 0x19, 0x1f, 0x1f
/* 80384188 003810E8 4B FF FA 05 */ bl UnlockSram
/* 8038418C 003810EC 7F E3 FB 78 */ mr r3, r31
/* 80384190 003810F0 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 80384194 003810F4 83 E1 00 14 */ lwz r31, 0x14(r1)
/* 80384198 003810F8 38 21 00 18 */ addi r1, r1, 0x18
/* 8038419C 003810FC 7C 08 03 A6 */ mtlr r0
/* 803841A0 00381100 4E 80 00 20 */ blr
.global OSSetProgressiveMode
OSSetProgressiveMode:
/* 803841A4 00381104 7C 08 02 A6 */ mflr r0
/* 803841A8 00381108 3C 80 80 54 */ lis r4, Scb@ha
/* 803841AC 0038110C 90 01 00 04 */ stw r0, 4(r1)
/* 803841B0 00381110 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 803841B4 00381114 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 803841B8 00381118 3B E4 15 A0 */ addi r31, r4, Scb@l
/* 803841BC 0038111C 93 C1 00 18 */ stw r30, 0x18(r1)
/* 803841C0 00381120 54 7E 3E 30 */ rlwinm r30, r3, 7, 0x18, 0x18
/* 803841C4 00381124 4B FF D4 9D */ bl OSDisableInterrupts
/* 803841C8 00381128 80 1F 00 48 */ lwz r0, 0x48(r31)
/* 803841CC 0038112C 38 9F 00 48 */ addi r4, r31, 0x48
/* 803841D0 00381130 2C 00 00 00 */ cmpwi r0, 0
/* 803841D4 00381134 41 82 00 10 */ beq lbl_803841E4
/* 803841D8 00381138 4B FF D4 B1 */ bl OSRestoreInterrupts
/* 803841DC 0038113C 3B E0 00 00 */ li r31, 0
/* 803841E0 00381140 48 00 00 10 */ b lbl_803841F0
lbl_803841E4:
/* 803841E4 00381144 90 7F 00 44 */ stw r3, 0x44(r31)
/* 803841E8 00381148 38 00 00 01 */ li r0, 1
/* 803841EC 0038114C 90 04 00 00 */ stw r0, 0(r4)
lbl_803841F0:
/* 803841F0 00381150 88 7F 00 13 */ lbz r3, 0x13(r31)
/* 803841F4 00381154 54 60 06 30 */ rlwinm r0, r3, 0, 0x18, 0x18
/* 803841F8 00381158 7C 1E 00 40 */ cmplw r30, r0
/* 803841FC 0038115C 40 82 00 14 */ bne lbl_80384210
/* 80384200 00381160 38 60 00 00 */ li r3, 0
/* 80384204 00381164 38 80 00 00 */ li r4, 0
/* 80384208 00381168 4B FF F9 85 */ bl UnlockSram
/* 8038420C 0038116C 48 00 00 24 */ b lbl_80384230
lbl_80384210:
/* 80384210 00381170 54 60 06 6E */ rlwinm r0, r3, 0, 0x19, 0x17
/* 80384214 00381174 98 1F 00 13 */ stb r0, 0x13(r31)
/* 80384218 00381178 38 60 00 01 */ li r3, 1
/* 8038421C 0038117C 38 80 00 00 */ li r4, 0
/* 80384220 00381180 88 1F 00 13 */ lbz r0, 0x13(r31)
/* 80384224 00381184 7C 00 F3 78 */ or r0, r0, r30
/* 80384228 00381188 98 1F 00 13 */ stb r0, 0x13(r31)
/* 8038422C 0038118C 4B FF F9 61 */ bl UnlockSram
lbl_80384230:
/* 80384230 00381190 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80384234 00381194 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80384238 00381198 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8038423C 0038119C 38 21 00 20 */ addi r1, r1, 0x20
/* 80384240 003811A0 7C 08 03 A6 */ mtlr r0
/* 80384244 003811A4 4E 80 00 20 */ blr
.if version < 2
.global OSGetLanguage
OSGetLanguage:
/* 80384248 003811A8 7C 08 02 A6 */ mflr r0
/* 8038424C 003811AC 3C 60 80 54 */ lis r3, Scb@ha
/* 80384250 003811B0 90 01 00 04 */ stw r0, 4(r1)
/* 80384254 003811B4 94 21 FF E8 */ stwu r1, -0x18(r1)
/* 80384258 003811B8 93 E1 00 14 */ stw r31, 0x14(r1)
/* 8038425C 003811BC 3B E3 15 A0 */ addi r31, r3, Scb@l
/* 80384260 003811C0 4B FF D4 01 */ bl OSDisableInterrupts
/* 80384264 003811C4 80 1F 00 48 */ lwz r0, 0x48(r31)
/* 80384268 003811C8 38 9F 00 48 */ addi r4, r31, 0x48
/* 8038426C 003811CC 2C 00 00 00 */ cmpwi r0, 0
/* 80384270 003811D0 41 82 00 10 */ beq lbl_80384280
/* 80384274 003811D4 4B FF D4 15 */ bl OSRestoreInterrupts
/* 80384278 003811D8 3B E0 00 00 */ li r31, 0
/* 8038427C 003811DC 48 00 00 10 */ b lbl_8038428C
lbl_80384280:
/* 80384280 003811E0 90 7F 00 44 */ stw r3, 0x44(r31)
/* 80384284 003811E4 38 00 00 01 */ li r0, 1
/* 80384288 003811E8 90 04 00 00 */ stw r0, 0(r4)
lbl_8038428C:
/* 8038428C 003811EC 8B FF 00 12 */ lbz r31, 0x12(r31)
/* 80384290 003811F0 38 60 00 00 */ li r3, 0
/* 80384294 003811F4 38 80 00 00 */ li r4, 0
/* 80384298 003811F8 4B FF F8 F5 */ bl UnlockSram
/* 8038429C 003811FC 7F E3 FB 78 */ mr r3, r31
/* 803842A0 00381200 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 803842A4 00381204 83 E1 00 14 */ lwz r31, 0x14(r1)
/* 803842A8 00381208 38 21 00 18 */ addi r1, r1, 0x18
/* 803842AC 0038120C 7C 08 03 A6 */ mtlr r0
/* 803842B0 00381210 4E 80 00 20 */ blr
.endif
.global OSGetWirelessID
OSGetWirelessID:
/* 803842B4 00381214 7C 08 02 A6 */ mflr r0
/* 803842B8 00381218 3C 80 80 54 */ lis r4, Scb@ha
/* 803842BC 0038121C 90 01 00 04 */ stw r0, 4(r1)
/* 803842C0 00381220 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 803842C4 00381224 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 803842C8 00381228 3B E4 15 A0 */ addi r31, r4, Scb@l
/* 803842CC 0038122C 93 C1 00 18 */ stw r30, 0x18(r1)
/* 803842D0 00381230 3B C3 00 00 */ addi r30, r3, 0
/* 803842D4 00381234 4B FF D3 8D */ bl OSDisableInterrupts
/* 803842D8 00381238 80 1F 00 48 */ lwz r0, 0x48(r31)
/* 803842DC 0038123C 38 9F 00 48 */ addi r4, r31, 0x48
/* 803842E0 00381240 2C 00 00 00 */ cmpwi r0, 0
/* 803842E4 00381244 41 82 00 10 */ beq lbl_803842F4
/* 803842E8 00381248 4B FF D3 A1 */ bl OSRestoreInterrupts
/* 803842EC 0038124C 38 60 00 00 */ li r3, 0
/* 803842F0 00381250 48 00 00 14 */ b lbl_80384304
lbl_803842F4:
/* 803842F4 00381254 90 7F 00 44 */ stw r3, 0x44(r31)
/* 803842F8 00381258 38 00 00 01 */ li r0, 1
/* 803842FC 0038125C 38 7F 00 14 */ addi r3, r31, 0x14
/* 80384300 00381260 90 04 00 00 */ stw r0, 0(r4)
lbl_80384304:
/* 80384304 00381264 57 C0 08 3C */ slwi r0, r30, 1
/* 80384308 00381268 7C 63 02 14 */ add r3, r3, r0
/* 8038430C 0038126C A3 E3 00 1C */ lhz r31, 0x1c(r3)
/* 80384310 00381270 38 60 00 00 */ li r3, 0
/* 80384314 00381274 38 80 00 14 */ li r4, 0x14
/* 80384318 00381278 4B FF F8 75 */ bl UnlockSram
/* 8038431C 0038127C 7F E3 FB 78 */ mr r3, r31
/* 80384320 00381280 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80384324 00381284 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80384328 00381288 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8038432C 0038128C 38 21 00 20 */ addi r1, r1, 0x20
/* 80384330 00381290 7C 08 03 A6 */ mtlr r0
/* 80384334 00381294 4E 80 00 20 */ blr
.global OSSetWirelessID
OSSetWirelessID:
/* 80384338 00381298 7C 08 02 A6 */ mflr r0
/* 8038433C 0038129C 3C A0 80 54 */ lis r5, Scb@ha
/* 80384340 003812A0 90 01 00 04 */ stw r0, 4(r1)
/* 80384344 003812A4 94 21 FF D8 */ stwu r1, -0x28(r1)
/* 80384348 003812A8 93 E1 00 24 */ stw r31, 0x24(r1)
/* 8038434C 003812AC 3B E5 15 A0 */ addi r31, r5, Scb@l
/* 80384350 003812B0 93 C1 00 20 */ stw r30, 0x20(r1)
/* 80384354 003812B4 3B C4 00 00 */ addi r30, r4, 0
/* 80384358 003812B8 93 A1 00 1C */ stw r29, 0x1c(r1)
/* 8038435C 003812BC 3B A3 00 00 */ addi r29, r3, 0
/* 80384360 003812C0 4B FF D3 01 */ bl OSDisableInterrupts
/* 80384364 003812C4 80 1F 00 48 */ lwz r0, 0x48(r31)
/* 80384368 003812C8 38 9F 00 48 */ addi r4, r31, 0x48
/* 8038436C 003812CC 2C 00 00 00 */ cmpwi r0, 0
/* 80384370 003812D0 41 82 00 10 */ beq lbl_80384380
/* 80384374 003812D4 4B FF D3 15 */ bl OSRestoreInterrupts
/* 80384378 003812D8 38 60 00 00 */ li r3, 0
/* 8038437C 003812DC 48 00 00 14 */ b lbl_80384390
lbl_80384380:
/* 80384380 003812E0 90 7F 00 44 */ stw r3, 0x44(r31)
/* 80384384 003812E4 38 00 00 01 */ li r0, 1
/* 80384388 003812E8 38 7F 00 14 */ addi r3, r31, 0x14
/* 8038438C 003812EC 90 04 00 00 */ stw r0, 0(r4)
lbl_80384390:
/* 80384390 003812F0 57 A0 08 3C */ slwi r0, r29, 1
/* 80384394 003812F4 7C 83 02 14 */ add r4, r3, r0
/* 80384398 003812F8 A4 64 00 1C */ lhzu r3, 0x1c(r4)
/* 8038439C 003812FC 57 C0 04 3E */ clrlwi r0, r30, 0x10
/* 803843A0 00381300 7C 03 00 40 */ cmplw r3, r0
/* 803843A4 00381304 41 82 00 18 */ beq lbl_803843BC
/* 803843A8 00381308 B3 C4 00 00 */ sth r30, 0(r4)
/* 803843AC 0038130C 38 60 00 01 */ li r3, 1
/* 803843B0 00381310 38 80 00 14 */ li r4, 0x14
/* 803843B4 00381314 4B FF F7 D9 */ bl UnlockSram
/* 803843B8 00381318 48 00 00 10 */ b lbl_803843C8
lbl_803843BC:
/* 803843BC 0038131C 38 60 00 00 */ li r3, 0
/* 803843C0 00381320 38 80 00 14 */ li r4, 0x14
/* 803843C4 00381324 4B FF F7 C9 */ bl UnlockSram
lbl_803843C8:
/* 803843C8 00381328 80 01 00 2C */ lwz r0, 0x2c(r1)
/* 803843CC 0038132C 83 E1 00 24 */ lwz r31, 0x24(r1)
/* 803843D0 00381330 83 C1 00 20 */ lwz r30, 0x20(r1)
/* 803843D4 00381334 83 A1 00 1C */ lwz r29, 0x1c(r1)
/* 803843D8 00381338 38 21 00 28 */ addi r1, r1, 0x28
/* 803843DC 0038133C 7C 08 03 A6 */ mtlr r0
/* 803843E0 00381340 4E 80 00 20 */ blr

View File

@ -1,44 +0,0 @@
.include "macros.inc"
.section .text, "ax"
__OSSystemCallVectorStart:
.global SystemCallVector
SystemCallVector:
/* 803843E4 00381344 7D 30 FA A6 */ mfspr r9, 0x3f0
/* 803843E8 00381348 61 2A 00 08 */ ori r10, r9, 8
/* 803843EC 0038134C 7D 50 FB A6 */ mtspr 0x3f0, r10
/* 803843F0 00381350 4C 00 01 2C */ isync
/* 803843F4 00381354 7C 00 04 AC */ sync
/* 803843F8 00381358 7D 30 FB A6 */ mtspr 0x3f0, r9
/* 803843FC 0038135C 4C 00 00 64 */ rfi
__OSSystemCallVectorEnd:
/* 80384400 00381360 60 00 00 00 */ nop
.global __OSInitSystemCall
__OSInitSystemCall:
/* 80384404 00381364 7C 08 02 A6 */ mflr r0
/* 80384408 00381368 90 01 00 04 */ stw r0, 4(r1)
/* 8038440C 0038136C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80384410 00381370 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80384414 00381374 3C A0 80 00 */ lis r5, 0x80000C00@ha
/* 80384418 00381378 3C 80 80 38 */ lis r4, __OSSystemCallVectorStart@ha
/* 8038441C 0038137C 3C 60 80 38 */ lis r3, __OSSystemCallVectorEnd@ha
/* 80384420 00381380 3B E5 0C 00 */ addi r31, r5, 0x80000C00@l
/* 80384424 00381384 38 03 44 00 */ addi r0, r3, __OSSystemCallVectorEnd@l
/* 80384428 00381388 38 84 43 E4 */ addi r4, r4, __OSSystemCallVectorStart@l
/* 8038442C 0038138C 7F E3 FB 78 */ mr r3, r31
/* 80384430 00381390 7C A4 00 50 */ subf r5, r4, r0
/* 80384434 00381394 4B C7 F0 5D */ bl memcpy
/* 80384438 00381398 7F E3 FB 78 */ mr r3, r31
/* 8038443C 0038139C 38 80 01 00 */ li r4, 0x100
/* 80384440 003813A0 4B FF A6 D1 */ bl DCFlushRangeNoSync
/* 80384444 003813A4 7C 00 04 AC */ sync
/* 80384448 003813A8 7F E3 FB 78 */ mr r3, r31
/* 8038444C 003813AC 38 80 01 00 */ li r4, 0x100
/* 80384450 003813B0 4B FF A7 45 */ bl ICInvalidateRange
/* 80384454 003813B4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80384458 003813B8 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8038445C 003813BC 38 21 00 10 */ addi r1, r1, 0x10
/* 80384460 003813C0 7C 08 03 A6 */ mtlr r0
/* 80384464 003813C4 4E 80 00 20 */ blr

File diff suppressed because it is too large Load Diff

View File

@ -1,354 +0,0 @@
.include "macros.inc"
.section .data
.balign 8
.global YearDays
YearDays:
.4byte 0x00000000
.4byte 0x0000001F
.4byte 0x0000003B
.4byte 0x0000005A
.4byte 0x00000078
.4byte 0x00000097
.4byte 0x000000B5
.4byte 0x000000D4
.4byte 0x000000F3
.4byte 0x00000111
.4byte 0x00000130
.4byte 0x0000014E
.global lbl_803F2320
lbl_803F2320:
.4byte 0x00000000
.4byte 0x0000001F
.4byte 0x0000003C
.4byte 0x0000005B
.4byte 0x00000079
.4byte 0x00000098
.4byte 0x000000B6
.4byte 0x000000D5
.4byte 0x000000F4
.4byte 0x00000112
.4byte 0x00000131
.4byte 0x0000014F
.section .text, "ax"
.global OSGetTime
OSGetTime:
/* 803853A8 00382308 7C 6D 42 E6 */ mftb r3, 269
/* 803853AC 0038230C 7C 8C 42 E6 */ mftb r4, 0x10c
/* 803853B0 00382310 7C AD 42 E6 */ mftb r5, 269
/* 803853B4 00382314 7C 03 28 00 */ cmpw r3, r5
/* 803853B8 00382318 40 82 FF F0 */ bne OSGetTime
/* 803853BC 0038231C 4E 80 00 20 */ blr
.global OSGetTick
OSGetTick:
/* 803853C0 00382320 7C 6C 42 E6 */ mftb r3, 0x10c
/* 803853C4 00382324 4E 80 00 20 */ blr
.global __OSGetSystemTime
__OSGetSystemTime:
/* 803853C8 00382328 7C 08 02 A6 */ mflr r0
/* 803853CC 0038232C 90 01 00 04 */ stw r0, 4(r1)
/* 803853D0 00382330 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 803853D4 00382334 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 803853D8 00382338 93 C1 00 18 */ stw r30, 0x18(r1)
/* 803853DC 0038233C 93 A1 00 14 */ stw r29, 0x14(r1)
/* 803853E0 00382340 4B FF C2 81 */ bl OSDisableInterrupts
/* 803853E4 00382344 7C 7F 1B 78 */ mr r31, r3
/* 803853E8 00382348 4B FF FF C1 */ bl OSGetTime
/* 803853EC 0038234C 3C C0 80 00 */ lis r6, 0x800030DC@ha
/* 803853F0 00382350 80 A6 30 DC */ lwz r5, 0x800030DC@l(r6)
/* 803853F4 00382354 80 06 30 D8 */ lwz r0, 0x30d8(r6)
/* 803853F8 00382358 7F A5 20 14 */ addc r29, r5, r4
/* 803853FC 0038235C 7F C0 19 14 */ adde r30, r0, r3
/* 80385400 00382360 7F E3 FB 78 */ mr r3, r31
/* 80385404 00382364 4B FF C2 85 */ bl OSRestoreInterrupts
/* 80385408 00382368 7F A4 EB 78 */ mr r4, r29
/* 8038540C 0038236C 7F C3 F3 78 */ mr r3, r30
/* 80385410 00382370 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80385414 00382374 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80385418 00382378 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8038541C 0038237C 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 80385420 00382380 38 21 00 20 */ addi r1, r1, 0x20
/* 80385424 00382384 7C 08 03 A6 */ mtlr r0
/* 80385428 00382388 4E 80 00 20 */ blr
.global __OSTimeToSystemTime
__OSTimeToSystemTime:
/* 8038542C 0038238C 7C 08 02 A6 */ mflr r0
/* 80385430 00382390 90 01 00 04 */ stw r0, 4(r1)
/* 80385434 00382394 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80385438 00382398 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8038543C 0038239C 93 C1 00 18 */ stw r30, 0x18(r1)
/* 80385440 003823A0 7C 7F 1B 78 */ mr r31, r3
/* 80385444 003823A4 7C 9E 23 78 */ mr r30, r4
/* 80385448 003823A8 4B FF C2 19 */ bl OSDisableInterrupts
/* 8038544C 003823AC 3C A0 80 00 */ lis r5, 0x800030DC@ha
/* 80385450 003823B0 80 85 30 DC */ lwz r4, 0x800030DC@l(r5)
/* 80385454 003823B4 80 05 30 D8 */ lwz r0, 0x30d8(r5)
/* 80385458 003823B8 7F C4 F0 14 */ addc r30, r4, r30
/* 8038545C 003823BC 7F E0 F9 14 */ adde r31, r0, r31
/* 80385460 003823C0 4B FF C2 29 */ bl OSRestoreInterrupts
/* 80385464 003823C4 7F C4 F3 78 */ mr r4, r30
/* 80385468 003823C8 7F E3 FB 78 */ mr r3, r31
/* 8038546C 003823CC 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80385470 003823D0 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80385474 003823D4 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80385478 003823D8 38 21 00 20 */ addi r1, r1, 0x20
/* 8038547C 003823DC 7C 08 03 A6 */ mtlr r0
/* 80385480 003823E0 4E 80 00 20 */ blr
.global GetDates
GetDates:
/* 80385484 003823E4 3C A0 92 49 */ lis r5, 0x92492493@ha
/* 80385488 003823E8 38 05 24 93 */ addi r0, r5, 0x92492493@l
/* 8038548C 003823EC 38 E3 00 06 */ addi r7, r3, 6
/* 80385490 003823F0 7C C0 38 96 */ mulhw r6, r0, r7
/* 80385494 003823F4 3C A0 B3 8D */ lis r5, 0xB38CF9B1@ha
/* 80385498 003823F8 38 05 F9 B1 */ addi r0, r5, 0xB38CF9B1@l
/* 8038549C 003823FC 7C 00 18 96 */ mulhw r0, r0, r3
/* 803854A0 00382400 7C A6 3A 14 */ add r5, r6, r7
/* 803854A4 00382404 7C A5 16 70 */ srawi r5, r5, 2
/* 803854A8 00382408 54 A6 0F FE */ srwi r6, r5, 0x1f
/* 803854AC 0038240C 7C A5 32 14 */ add r5, r5, r6
/* 803854B0 00382410 7C 00 1A 14 */ add r0, r0, r3
/* 803854B4 00382414 1C C5 00 07 */ mulli r6, r5, 7
/* 803854B8 00382418 7C 00 46 70 */ srawi r0, r0, 8
/* 803854BC 0038241C 54 05 0F FE */ srwi r5, r0, 0x1f
/* 803854C0 00382420 7C A0 2A 14 */ add r5, r0, r5
/* 803854C4 00382424 7C 06 38 50 */ subf r0, r6, r7
/* 803854C8 00382428 1D 65 01 6D */ mulli r11, r5, 0x16d
/* 803854CC 0038242C 90 04 00 18 */ stw r0, 0x18(r4)
/* 803854D0 00382430 48 00 00 04 */ b lbl_803854D4
lbl_803854D4:
/* 803854D4 00382434 3C C0 51 EC */ lis r6, 0x51EB851F@ha
/* 803854D8 00382438 39 46 85 1F */ addi r10, r6, 0x51EB851F@l
/* 803854DC 0038243C 48 00 00 04 */ b lbl_803854E0
lbl_803854E0:
/* 803854E0 00382440 48 00 00 0C */ b lbl_803854EC
lbl_803854E4:
/* 803854E4 00382444 39 6B FE 93 */ addi r11, r11, -365
/* 803854E8 00382448 38 A5 FF FF */ addi r5, r5, -1
lbl_803854EC:
/* 803854EC 0038244C 2C 05 00 01 */ cmpwi r5, 1
/* 803854F0 00382450 40 80 00 0C */ bge lbl_803854FC
/* 803854F4 00382454 38 00 00 00 */ li r0, 0
/* 803854F8 00382458 48 00 00 38 */ b lbl_80385530
lbl_803854FC:
/* 803854FC 0038245C 38 05 FF FF */ addi r0, r5, -1
/* 80385500 00382460 7C 0A 00 96 */ mulhw r0, r10, r0
/* 80385504 00382464 7C 08 3E 70 */ srawi r8, r0, 7
/* 80385508 00382468 7C 06 2E 70 */ srawi r6, r0, 5
/* 8038550C 0038246C 38 05 00 03 */ addi r0, r5, 3
/* 80385510 00382470 54 C7 0F FE */ srwi r7, r6, 0x1f
/* 80385514 00382474 7C 00 16 70 */ srawi r0, r0, 2
/* 80385518 00382478 55 09 0F FE */ srwi r9, r8, 0x1f
/* 8038551C 0038247C 7C C6 3A 14 */ add r6, r6, r7
/* 80385520 00382480 7C 00 01 94 */ addze r0, r0
/* 80385524 00382484 7C E8 4A 14 */ add r7, r8, r9
/* 80385528 00382488 7C 06 00 50 */ subf r0, r6, r0
/* 8038552C 0038248C 7C 07 02 14 */ add r0, r7, r0
lbl_80385530:
/* 80385530 00382490 7C 0B 02 14 */ add r0, r11, r0
/* 80385534 00382494 7C 03 00 00 */ cmpw r3, r0
/* 80385538 00382498 41 80 FF AC */ blt lbl_803854E4
/* 8038553C 0038249C 7C A6 16 70 */ srawi r6, r5, 2
/* 80385540 003824A0 90 A4 00 14 */ stw r5, 0x14(r4)
/* 80385544 003824A4 7C C6 01 94 */ addze r6, r6
/* 80385548 003824A8 54 C6 10 3A */ slwi r6, r6, 2
/* 8038554C 003824AC 7C C6 28 10 */ subfc r6, r6, r5
/* 80385550 003824B0 7C 00 18 50 */ subf r0, r0, r3
/* 80385554 003824B4 2C 06 00 00 */ cmpwi r6, 0
/* 80385558 003824B8 90 04 00 1C */ stw r0, 0x1c(r4)
/* 8038555C 003824BC 38 E0 00 01 */ li r7, 1
/* 80385560 003824C0 39 00 00 00 */ li r8, 0
/* 80385564 003824C4 40 82 00 30 */ bne lbl_80385594
/* 80385568 003824C8 3C 60 51 EC */ lis r3, 0x51EB851F@ha
/* 8038556C 003824CC 38 63 85 1F */ addi r3, r3, 0x51EB851F@l
/* 80385570 003824D0 7C 63 28 96 */ mulhw r3, r3, r5
/* 80385574 003824D4 7C 63 2E 70 */ srawi r3, r3, 5
/* 80385578 003824D8 54 66 0F FE */ srwi r6, r3, 0x1f
/* 8038557C 003824DC 7C 63 32 14 */ add r3, r3, r6
/* 80385580 003824E0 1C 63 00 64 */ mulli r3, r3, 0x64
/* 80385584 003824E4 7C 63 28 50 */ subf r3, r3, r5
/* 80385588 003824E8 2C 03 00 00 */ cmpwi r3, 0
/* 8038558C 003824EC 41 82 00 08 */ beq lbl_80385594
/* 80385590 003824F0 7C E8 3B 78 */ mr r8, r7
lbl_80385594:
/* 80385594 003824F4 2C 08 00 00 */ cmpwi r8, 0
/* 80385598 003824F8 40 82 00 30 */ bne lbl_803855C8
/* 8038559C 003824FC 3C 60 51 EC */ lis r3, 0x51EB851F@ha
/* 803855A0 00382500 38 63 85 1F */ addi r3, r3, 0x51EB851F@l
/* 803855A4 00382504 7C 63 28 96 */ mulhw r3, r3, r5
/* 803855A8 00382508 7C 63 3E 70 */ srawi r3, r3, 7
/* 803855AC 0038250C 54 66 0F FE */ srwi r6, r3, 0x1f
/* 803855B0 00382510 7C 63 32 14 */ add r3, r3, r6
/* 803855B4 00382514 1C 63 01 90 */ mulli r3, r3, 0x190
/* 803855B8 00382518 7C 63 28 50 */ subf r3, r3, r5
/* 803855BC 0038251C 2C 03 00 00 */ cmpwi r3, 0
/* 803855C0 00382520 41 82 00 08 */ beq lbl_803855C8
/* 803855C4 00382524 38 E0 00 00 */ li r7, 0
lbl_803855C8:
/* 803855C8 00382528 2C 07 00 00 */ cmpwi r7, 0
/* 803855CC 0038252C 41 82 00 10 */ beq lbl_803855DC
/* 803855D0 00382530 3C 60 80 3F */ lis r3, lbl_803F2320@ha
/* 803855D4 00382534 38 C3 23 20 */ addi r6, r3, lbl_803F2320@l
/* 803855D8 00382538 48 00 00 0C */ b lbl_803855E4
lbl_803855DC:
/* 803855DC 0038253C 3C 60 80 3F */ lis r3, YearDays@ha
/* 803855E0 00382540 38 C3 22 F0 */ addi r6, r3, YearDays@l
lbl_803855E4:
/* 803855E4 00382544 38 E0 00 0C */ li r7, 0xc
/* 803855E8 00382548 38 60 00 30 */ li r3, 0x30
/* 803855EC 0038254C 48 00 00 04 */ b lbl_803855F0
lbl_803855F0:
/* 803855F0 00382550 48 00 00 04 */ b lbl_803855F4
lbl_803855F4:
/* 803855F4 00382554 38 63 FF FC */ addi r3, r3, -4
/* 803855F8 00382558 7C A6 18 2E */ lwzx r5, r6, r3
/* 803855FC 0038255C 38 E7 FF FF */ addi r7, r7, -1
/* 80385600 00382560 7C 00 28 00 */ cmpw r0, r5
/* 80385604 00382564 41 80 FF F0 */ blt lbl_803855F4
/* 80385608 00382568 90 E4 00 10 */ stw r7, 0x10(r4)
/* 8038560C 0038256C 7C 66 18 2E */ lwzx r3, r6, r3
/* 80385610 00382570 7C 63 00 50 */ subf r3, r3, r0
/* 80385614 00382574 38 03 00 01 */ addi r0, r3, 1
/* 80385618 00382578 90 04 00 0C */ stw r0, 0xc(r4)
/* 8038561C 0038257C 4E 80 00 20 */ blr
.global OSTicksToCalendarTime
OSTicksToCalendarTime:
/* 80385620 00382580 7C 08 02 A6 */ mflr r0
/* 80385624 00382584 90 01 00 04 */ stw r0, 4(r1)
/* 80385628 00382588 94 21 FF C8 */ stwu r1, -0x38(r1)
/* 8038562C 0038258C BF 21 00 1C */ stmw r25, 0x1c(r1)
/* 80385630 00382590 7C 7D 1B 78 */ mr r29, r3
/* 80385634 00382594 7C 9E 23 78 */ mr r30, r4
/* 80385638 00382598 7C BF 2B 78 */ mr r31, r5
/* 8038563C 0038259C 3F 60 80 00 */ lis r27, 0x800000F8@ha
/* 80385640 003825A0 80 1B 00 F8 */ lwz r0, 0x800000F8@l(r27)
/* 80385644 003825A4 7F A3 EB 78 */ mr r3, r29
/* 80385648 003825A8 7F C4 F3 78 */ mr r4, r30
/* 8038564C 003825AC 54 06 F0 BE */ srwi r6, r0, 2
/* 80385650 003825B0 38 A0 00 00 */ li r5, 0
/* 80385654 003825B4 48 00 47 95 */ bl __mod2i
/* 80385658 003825B8 7C 7A 1B 78 */ mr r26, r3
/* 8038565C 003825BC 38 A0 00 00 */ li r5, 0
/* 80385660 003825C0 7C 99 23 78 */ mr r25, r4
/* 80385664 003825C4 6F 44 80 00 */ xoris r4, r26, 0x8000
/* 80385668 003825C8 6C A3 80 00 */ xoris r3, r5, 0x8000
/* 8038566C 003825CC 7C 05 C8 10 */ subfc r0, r5, r25
/* 80385670 003825D0 7C 63 21 10 */ subfe r3, r3, r4
/* 80385674 003825D4 7C 64 21 10 */ subfe r3, r4, r4
/* 80385678 003825D8 7C 63 00 D0 */ neg r3, r3
/* 8038567C 003825DC 2C 03 00 00 */ cmpwi r3, 0
/* 80385680 003825E0 41 82 00 14 */ beq lbl_80385694
/* 80385684 003825E4 80 1B 00 F8 */ lwz r0, 0xf8(r27)
/* 80385688 003825E8 54 00 F0 BE */ srwi r0, r0, 2
/* 8038568C 003825EC 7F 39 00 14 */ addc r25, r25, r0
/* 80385690 003825F0 7F 5A 29 14 */ adde r26, r26, r5
lbl_80385694:
/* 80385694 003825F4 38 80 00 08 */ li r4, 8
/* 80385698 003825F8 7C 7A 21 D6 */ mullw r3, r26, r4
/* 8038569C 003825FC 7C 19 20 16 */ mulhwu r0, r25, r4
/* 803856A0 00382600 3F 60 80 00 */ lis r27, 0x800000F8@ha
/* 803856A4 00382604 80 DB 00 F8 */ lwz r6, 0x800000F8@l(r27)
/* 803856A8 00382608 3C A0 43 1C */ lis r5, 0x431BDE83@ha
/* 803856AC 0038260C 38 A5 DE 83 */ addi r5, r5, 0x431BDE83@l
/* 803856B0 00382610 54 C6 F0 BE */ srwi r6, r6, 2
/* 803856B4 00382614 7C A5 30 16 */ mulhwu r5, r5, r6
/* 803856B8 00382618 54 A6 8B FE */ srwi r6, r5, 0xf
/* 803856BC 0038261C 3B 80 00 00 */ li r28, 0
/* 803856C0 00382620 7C 63 02 14 */ add r3, r3, r0
/* 803856C4 00382624 7C 19 E1 D6 */ mullw r0, r25, r28
/* 803856C8 00382628 7C 99 21 D6 */ mullw r4, r25, r4
/* 803856CC 0038262C 7C 63 02 14 */ add r3, r3, r0
/* 803856D0 00382630 38 A0 00 00 */ li r5, 0
/* 803856D4 00382634 48 00 44 F9 */ bl __div2i
/* 803856D8 00382638 38 A0 00 00 */ li r5, 0
/* 803856DC 0038263C 38 C0 03 E8 */ li r6, 0x3e8
/* 803856E0 00382640 48 00 47 09 */ bl __mod2i
/* 803856E4 00382644 90 9F 00 24 */ stw r4, 0x24(r31)
/* 803856E8 00382648 3C 60 10 62 */ lis r3, 0x10624DD3@ha
/* 803856EC 0038264C 38 A3 4D D3 */ addi r5, r3, 0x10624DD3@l
/* 803856F0 00382650 80 1B 00 F8 */ lwz r0, 0xf8(r27)
/* 803856F4 00382654 7F 43 D3 78 */ mr r3, r26
/* 803856F8 00382658 7F 24 CB 78 */ mr r4, r25
/* 803856FC 0038265C 54 00 F0 BE */ srwi r0, r0, 2
/* 80385700 00382660 7C 05 00 16 */ mulhwu r0, r5, r0
/* 80385704 00382664 54 06 D1 BE */ srwi r6, r0, 6
/* 80385708 00382668 38 A0 00 00 */ li r5, 0
/* 8038570C 0038266C 48 00 44 C1 */ bl __div2i
/* 80385710 00382670 38 A0 00 00 */ li r5, 0
/* 80385714 00382674 38 C0 03 E8 */ li r6, 0x3e8
/* 80385718 00382678 48 00 46 D1 */ bl __mod2i
/* 8038571C 0038267C 90 9F 00 20 */ stw r4, 0x20(r31)
/* 80385720 00382680 7F D9 F0 10 */ subfc r30, r25, r30
/* 80385724 00382684 7F BA E9 10 */ subfe r29, r26, r29
/* 80385728 00382688 80 1B 00 F8 */ lwz r0, 0xf8(r27)
/* 8038572C 0038268C 3C A0 00 01 */ lis r5, 0x00015180@ha
/* 80385730 00382690 3B 25 51 80 */ addi r25, r5, 0x00015180@l
/* 80385734 00382694 7F A3 EB 78 */ mr r3, r29
/* 80385738 00382698 54 06 F0 BE */ srwi r6, r0, 2
/* 8038573C 0038269C 7F C4 F3 78 */ mr r4, r30
/* 80385740 003826A0 38 A0 00 00 */ li r5, 0
/* 80385744 003826A4 48 00 44 89 */ bl __div2i
/* 80385748 003826A8 7F 26 CB 78 */ mr r6, r25
/* 8038574C 003826AC 38 A0 00 00 */ li r5, 0
/* 80385750 003826B0 48 00 44 7D */ bl __div2i
/* 80385754 003826B4 3C A0 00 0B */ lis r5, 0x000B2575@ha
/* 80385758 003826B8 80 1B 00 F8 */ lwz r0, 0xf8(r27)
/* 8038575C 003826BC 38 A5 25 75 */ addi r5, r5, 0x000B2575@l
/* 80385760 003826C0 7F 44 28 14 */ addc r26, r4, r5
/* 80385764 003826C4 54 06 F0 BE */ srwi r6, r0, 2
/* 80385768 003826C8 7C 03 E1 14 */ adde r0, r3, r28
/* 8038576C 003826CC 7F A3 EB 78 */ mr r3, r29
/* 80385770 003826D0 7F C4 F3 78 */ mr r4, r30
/* 80385774 003826D4 38 A0 00 00 */ li r5, 0
/* 80385778 003826D8 48 00 44 55 */ bl __div2i
/* 8038577C 003826DC 7F 26 CB 78 */ mr r6, r25
/* 80385780 003826E0 38 A0 00 00 */ li r5, 0
/* 80385784 003826E4 48 00 46 65 */ bl __mod2i
/* 80385788 003826E8 7C 9B 23 78 */ mr r27, r4
/* 8038578C 003826EC 2C 1B 00 00 */ cmpwi r27, 0
/* 80385790 003826F0 40 80 00 10 */ bge lbl_803857A0
/* 80385794 003826F4 3F 7B 00 01 */ addis r27, r27, 1
/* 80385798 003826F8 3B 5A FF FF */ addi r26, r26, -1
/* 8038579C 003826FC 3B 7B 51 80 */ addi r27, r27, 0x5180
lbl_803857A0:
/* 803857A0 00382700 7F 43 D3 78 */ mr r3, r26
/* 803857A4 00382704 7F E4 FB 78 */ mr r4, r31
/* 803857A8 00382708 4B FF FC DD */ bl GetDates
/* 803857AC 0038270C 3C 60 88 89 */ lis r3, 0x88888889@ha
/* 803857B0 00382710 38 A3 88 89 */ addi r5, r3, 0x88888889@l
/* 803857B4 00382714 7C 05 D8 96 */ mulhw r0, r5, r27
/* 803857B8 00382718 7C 80 DA 14 */ add r4, r0, r27
/* 803857BC 0038271C 7C 80 2E 70 */ srawi r0, r4, 5
/* 803857C0 00382720 54 03 0F FE */ srwi r3, r0, 0x1f
/* 803857C4 00382724 7C E0 1A 14 */ add r7, r0, r3
/* 803857C8 00382728 7C 05 38 96 */ mulhw r0, r5, r7
/* 803857CC 0038272C 7C 00 3A 14 */ add r0, r0, r7
/* 803857D0 00382730 7C 05 2E 70 */ srawi r5, r0, 5
/* 803857D4 00382734 7C 00 2E 70 */ srawi r0, r0, 5
/* 803857D8 00382738 54 03 0F FE */ srwi r3, r0, 0x1f
/* 803857DC 0038273C 7C 60 1A 14 */ add r3, r0, r3
/* 803857E0 00382740 7C 80 2E 70 */ srawi r0, r4, 5
/* 803857E4 00382744 54 A6 0F FE */ srwi r6, r5, 0x1f
/* 803857E8 00382748 1C 83 00 3C */ mulli r4, r3, 0x3c
/* 803857EC 0038274C 54 03 0F FE */ srwi r3, r0, 0x1f
/* 803857F0 00382750 7C A5 32 14 */ add r5, r5, r6
/* 803857F4 00382754 7C 00 1A 14 */ add r0, r0, r3
/* 803857F8 00382758 90 BF 00 08 */ stw r5, 8(r31)
/* 803857FC 0038275C 1C 00 00 3C */ mulli r0, r0, 0x3c
/* 80385800 00382760 7C 64 38 50 */ subf r3, r4, r7
/* 80385804 00382764 90 7F 00 04 */ stw r3, 4(r31)
/* 80385808 00382768 7C 00 D8 50 */ subf r0, r0, r27
/* 8038580C 0038276C 90 1F 00 00 */ stw r0, 0(r31)
/* 80385810 00382770 BB 21 00 1C */ lmw r25, 0x1c(r1)
/* 80385814 00382774 80 01 00 3C */ lwz r0, 0x3c(r1)
/* 80385818 00382778 38 21 00 38 */ addi r1, r1, 0x38
/* 8038581C 0038277C 7C 08 03 A6 */ mtlr r0
/* 80385820 00382780 4E 80 00 20 */ blr

View File

@ -1,84 +0,0 @@
.include "macros.inc"
.section .init, "ax" # 0x80003100 - 0x80005620
.global __init_hardware
__init_hardware:
/* 80003354 00000354 7C 00 00 A6 */ mfmsr r0
/* 80003358 00000358 60 00 20 00 */ ori r0, r0, 0x2000
/* 8000335C 0000035C 7C 00 01 24 */ mtmsr r0
/* 80003360 00000360 7F E8 02 A6 */ mflr r31
/* 80003364 00000364 48 0B 19 49 */ bl __OSPSInit
/* 80003368 00000368 48 0B 32 8D */ bl __OSCacheInit
/* 8000336C 0000036C 7F E8 03 A6 */ mtlr r31
/* 80003370 00000370 4E 80 00 20 */ blr
.global __flush_cache
__flush_cache:
/* 80003374 00000374 3C A0 FF FF */ lis r5, 0xFFFFFFF1@h
/* 80003378 00000378 60 A5 FF F1 */ ori r5, r5, 0xFFFFFFF1@l
/* 8000337C 0000037C 7C A5 18 38 */ and r5, r5, r3
/* 80003380 00000380 7C 65 18 50 */ subf r3, r5, r3
/* 80003384 00000384 7C 84 1A 14 */ add r4, r4, r3
lbl_80003388:
/* 80003388 00000388 7C 00 28 6C */ dcbst r0, r5
/* 8000338C 0000038C 7C 00 04 AC */ sync
/* 80003390 00000390 7C 00 2F AC */ icbi r0, r5
/* 80003394 00000394 30 A5 00 08 */ addic r5, r5, 8
/* 80003398 00000398 34 84 FF F8 */ addic. r4, r4, -8
/* 8000339C 0000039C 40 80 FF EC */ bge lbl_80003388
/* 800033A0 000003A0 4C 00 01 2C */ isync
/* 800033A4 000003A4 4E 80 00 20 */ blr
.section .text, "ax"
.global __init_user
__init_user:
/* 80385824 00382784 7C 08 02 A6 */ mflr r0
/* 80385828 00382788 90 01 00 04 */ stw r0, 4(r1)
/* 8038582C 0038278C 94 21 FF F8 */ stwu r1, -8(r1)
/* 80385830 00382790 48 00 00 15 */ bl __init_cpp
/* 80385834 00382794 80 01 00 0C */ lwz r0, 0xc(r1)
/* 80385838 00382798 38 21 00 08 */ addi r1, r1, 8
/* 8038583C 0038279C 7C 08 03 A6 */ mtlr r0
/* 80385840 003827A0 4E 80 00 20 */ blr
.global __init_cpp
__init_cpp:
/* 80385844 003827A4 7C 08 02 A6 */ mflr r0
/* 80385848 003827A8 90 01 00 04 */ stw r0, 4(r1)
/* 8038584C 003827AC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80385850 003827B0 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80385854 003827B4 3C 60 80 3D */ lis r3, _ctors@ha
/* 80385858 003827B8 38 03 B1 C0 */ addi r0, r3, _ctors@l
/* 8038585C 003827BC 7C 1F 03 78 */ mr r31, r0
/* 80385860 003827C0 48 00 00 04 */ b lbl_80385864
lbl_80385864:
/* 80385864 003827C4 48 00 00 04 */ b lbl_80385868
lbl_80385868:
/* 80385868 003827C8 48 00 00 10 */ b lbl_80385878
lbl_8038586C:
/* 8038586C 003827CC 7D 88 03 A6 */ mtlr r12
/* 80385870 003827D0 4E 80 00 21 */ blrl
/* 80385874 003827D4 3B FF 00 04 */ addi r31, r31, 4
lbl_80385878:
/* 80385878 003827D8 81 9F 00 00 */ lwz r12, 0(r31)
/* 8038587C 003827DC 28 0C 00 00 */ cmplwi r12, 0
/* 80385880 003827E0 40 82 FF EC */ bne lbl_8038586C
/* 80385884 003827E4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80385888 003827E8 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8038588C 003827EC 38 21 00 10 */ addi r1, r1, 0x10
/* 80385890 003827F0 7C 08 03 A6 */ mtlr r0
/* 80385894 003827F4 4E 80 00 20 */ blr
.global _ExitProcess
_ExitProcess:
/* 80385898 003827F8 7C 08 02 A6 */ mflr r0
/* 8038589C 003827FC 90 01 00 04 */ stw r0, 4(r1)
/* 803858A0 00382800 94 21 FF F8 */ stwu r1, -8(r1)
/* 803858A4 00382804 4B FE 9F 71 */ bl PPCHalt
/* 803858A8 00382808 80 01 00 0C */ lwz r0, 0xc(r1)
/* 803858AC 0038280C 38 21 00 08 */ addi r1, r1, 8
/* 803858B0 00382810 7C 08 03 A6 */ mtlr r0
/* 803858B4 00382814 4E 80 00 20 */ blr

View File

@ -1,183 +0,0 @@
.include "macros.inc"
.section .rodata
.balign 8
lbl_803D8588:
# ROM: 0x3D5588
.4byte 0x1EB40F48
.4byte 0x280F3B1F
.4byte 0x382C0000
.4byte 0
.section .text, "ax"
.global ClampStick
ClampStick:
/* 803858B8 00382818 88 03 00 00 */ lbz r0, 0(r3)
/* 803858BC 0038281C 89 84 00 00 */ lbz r12, 0(r4)
/* 803858C0 00382820 7C 00 07 75 */ extsb. r0, r0
/* 803858C4 00382824 7D 8C 07 74 */ extsb r12, r12
/* 803858C8 00382828 7C 0B 03 78 */ mr r11, r0
/* 803858CC 0038282C 41 80 00 0C */ blt lbl_803858D8
/* 803858D0 00382830 38 00 00 01 */ li r0, 1
/* 803858D4 00382834 48 00 00 0C */ b lbl_803858E0
lbl_803858D8:
/* 803858D8 00382838 38 00 FF FF */ li r0, -1
/* 803858DC 0038283C 7D 6B 00 D0 */ neg r11, r11
lbl_803858E0:
/* 803858E0 00382840 2C 0C 00 00 */ cmpwi r12, 0
/* 803858E4 00382844 41 80 00 0C */ blt lbl_803858F0
/* 803858E8 00382848 39 00 00 01 */ li r8, 1
/* 803858EC 0038284C 48 00 00 0C */ b lbl_803858F8
lbl_803858F0:
/* 803858F0 00382850 39 00 FF FF */ li r8, -1
/* 803858F4 00382854 7D 8C 00 D0 */ neg r12, r12
lbl_803858F8:
/* 803858F8 00382858 7C E7 07 74 */ extsb r7, r7
/* 803858FC 0038285C 7C 0B 38 00 */ cmpw r11, r7
/* 80385900 00382860 41 81 00 0C */ bgt lbl_8038590C
/* 80385904 00382864 39 60 00 00 */ li r11, 0
/* 80385908 00382868 48 00 00 08 */ b lbl_80385910
lbl_8038590C:
/* 8038590C 0038286C 7D 67 58 50 */ subf r11, r7, r11
lbl_80385910:
/* 80385910 00382870 7C 0C 38 00 */ cmpw r12, r7
/* 80385914 00382874 41 81 00 0C */ bgt lbl_80385920
/* 80385918 00382878 39 80 00 00 */ li r12, 0
/* 8038591C 0038287C 48 00 00 08 */ b lbl_80385924
lbl_80385920:
/* 80385920 00382880 7D 87 60 50 */ subf r12, r7, r12
lbl_80385924:
/* 80385924 00382884 2C 0B 00 00 */ cmpwi r11, 0
/* 80385928 00382888 40 82 00 1C */ bne lbl_80385944
/* 8038592C 0038288C 2C 0C 00 00 */ cmpwi r12, 0
/* 80385930 00382890 40 82 00 14 */ bne lbl_80385944
/* 80385934 00382894 38 00 00 00 */ li r0, 0
/* 80385938 00382898 98 04 00 00 */ stb r0, 0(r4)
/* 8038593C 0038289C 98 03 00 00 */ stb r0, 0(r3)
/* 80385940 003828A0 4E 80 00 20 */ blr
lbl_80385944:
/* 80385944 003828A4 7C C6 07 74 */ extsb r6, r6
/* 80385948 003828A8 7D 26 61 D6 */ mullw r9, r6, r12
/* 8038594C 003828AC 7C E6 59 D6 */ mullw r7, r6, r11
/* 80385950 003828B0 7C 09 38 00 */ cmpw r9, r7
/* 80385954 003828B4 41 81 00 44 */ bgt lbl_80385998
/* 80385958 003828B8 7C A9 07 74 */ extsb r9, r5
/* 8038595C 003828BC 7C A6 48 50 */ subf r5, r6, r9
/* 80385960 003828C0 7C AC 29 D6 */ mullw r5, r12, r5
/* 80385964 003828C4 7D 26 49 D6 */ mullw r9, r6, r9
/* 80385968 003828C8 7C E7 2A 14 */ add r7, r7, r5
/* 8038596C 003828CC 7C 09 38 00 */ cmpw r9, r7
/* 80385970 003828D0 40 80 00 64 */ bge lbl_803859D4
/* 80385974 003828D4 7C CB 49 D6 */ mullw r6, r11, r9
/* 80385978 003828D8 7C AC 49 D6 */ mullw r5, r12, r9
/* 8038597C 003828DC 7C C6 3B D6 */ divw r6, r6, r7
/* 80385980 003828E0 7C A5 3B D6 */ divw r5, r5, r7
/* 80385984 003828E4 7C C6 07 74 */ extsb r6, r6
/* 80385988 003828E8 7C A5 07 74 */ extsb r5, r5
/* 8038598C 003828EC 39 66 00 00 */ addi r11, r6, 0
/* 80385990 003828F0 39 85 00 00 */ addi r12, r5, 0
/* 80385994 003828F4 48 00 00 40 */ b lbl_803859D4
lbl_80385998:
/* 80385998 003828F8 7C A7 07 74 */ extsb r7, r5
/* 8038599C 003828FC 7C A6 38 50 */ subf r5, r6, r7
/* 803859A0 00382900 7C AB 29 D6 */ mullw r5, r11, r5
/* 803859A4 00382904 7D 46 39 D6 */ mullw r10, r6, r7
/* 803859A8 00382908 7C E9 2A 14 */ add r7, r9, r5
/* 803859AC 0038290C 7C 0A 38 00 */ cmpw r10, r7
/* 803859B0 00382910 40 80 00 24 */ bge lbl_803859D4
/* 803859B4 00382914 7C CB 51 D6 */ mullw r6, r11, r10
/* 803859B8 00382918 7C AC 51 D6 */ mullw r5, r12, r10
/* 803859BC 0038291C 7C C6 3B D6 */ divw r6, r6, r7
/* 803859C0 00382920 7C A5 3B D6 */ divw r5, r5, r7
/* 803859C4 00382924 7C C6 07 74 */ extsb r6, r6
/* 803859C8 00382928 7C A5 07 74 */ extsb r5, r5
/* 803859CC 0038292C 39 66 00 00 */ addi r11, r6, 0
/* 803859D0 00382930 39 85 00 00 */ addi r12, r5, 0
lbl_803859D4:
/* 803859D4 00382934 7C A0 59 D6 */ mullw r5, r0, r11
/* 803859D8 00382938 7C 08 61 D6 */ mullw r0, r8, r12
/* 803859DC 0038293C 98 A3 00 00 */ stb r5, 0(r3)
/* 803859E0 00382940 98 04 00 00 */ stb r0, 0(r4)
/* 803859E4 00382944 4E 80 00 20 */ blr
.global PADClamp
PADClamp:
/* 803859E8 00382948 7C 08 02 A6 */ mflr r0
/* 803859EC 0038294C 3C 80 80 3E */ lis r4, lbl_803D8588@ha
/* 803859F0 00382950 90 01 00 04 */ stw r0, 4(r1)
/* 803859F4 00382954 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 803859F8 00382958 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 803859FC 0038295C 93 C1 00 18 */ stw r30, 0x18(r1)
/* 80385A00 00382960 3B C0 00 00 */ li r30, 0
/* 80385A04 00382964 93 A1 00 14 */ stw r29, 0x14(r1)
/* 80385A08 00382968 3B A3 00 00 */ addi r29, r3, 0
/* 80385A0C 0038296C 93 81 00 10 */ stw r28, 0x10(r1)
/* 80385A10 00382970 3B 84 85 88 */ addi r28, r4, lbl_803D8588@l
/* 80385A14 00382974 3B FC 00 01 */ addi r31, r28, 1
lbl_80385A18:
/* 80385A18 00382978 88 1D 00 0A */ lbz r0, 0xa(r29)
/* 80385A1C 0038297C 7C 00 07 75 */ extsb. r0, r0
/* 80385A20 00382980 40 82 00 AC */ bne lbl_80385ACC
/* 80385A24 00382984 88 BC 00 03 */ lbz r5, 3(r28)
/* 80385A28 00382988 38 7D 00 02 */ addi r3, r29, 2
/* 80385A2C 0038298C 88 DC 00 04 */ lbz r6, 4(r28)
/* 80385A30 00382990 38 9D 00 03 */ addi r4, r29, 3
/* 80385A34 00382994 88 FC 00 02 */ lbz r7, 2(r28)
/* 80385A38 00382998 4B FF FE 81 */ bl ClampStick
/* 80385A3C 0038299C 88 BC 00 06 */ lbz r5, 6(r28)
/* 80385A40 003829A0 38 7D 00 04 */ addi r3, r29, 4
/* 80385A44 003829A4 88 DC 00 07 */ lbz r6, 7(r28)
/* 80385A48 003829A8 38 9D 00 05 */ addi r4, r29, 5
/* 80385A4C 003829AC 88 FC 00 05 */ lbz r7, 5(r28)
/* 80385A50 003829B0 4B FF FE 69 */ bl ClampStick
/* 80385A54 003829B4 88 9D 00 06 */ lbz r4, 6(r29)
/* 80385A58 003829B8 88 1C 00 00 */ lbz r0, 0(r28)
/* 80385A5C 003829BC 88 7F 00 00 */ lbz r3, 0(r31)
/* 80385A60 003829C0 7C 04 00 40 */ cmplw r4, r0
/* 80385A64 003829C4 41 81 00 10 */ bgt lbl_80385A74
/* 80385A68 003829C8 38 00 00 00 */ li r0, 0
/* 80385A6C 003829CC 98 1D 00 06 */ stb r0, 6(r29)
/* 80385A70 003829D0 48 00 00 20 */ b lbl_80385A90
lbl_80385A74:
/* 80385A74 003829D4 7C 03 20 40 */ cmplw r3, r4
/* 80385A78 003829D8 40 80 00 08 */ bge lbl_80385A80
/* 80385A7C 003829DC 98 7D 00 06 */ stb r3, 6(r29)
lbl_80385A80:
/* 80385A80 003829E0 88 7C 00 00 */ lbz r3, 0(r28)
/* 80385A84 003829E4 88 1D 00 06 */ lbz r0, 6(r29)
/* 80385A88 003829E8 7C 03 00 50 */ subf r0, r3, r0
/* 80385A8C 003829EC 98 1D 00 06 */ stb r0, 6(r29)
lbl_80385A90:
/* 80385A90 003829F0 88 9D 00 07 */ lbz r4, 7(r29)
/* 80385A94 003829F4 88 1C 00 00 */ lbz r0, 0(r28)
/* 80385A98 003829F8 88 7F 00 00 */ lbz r3, 0(r31)
/* 80385A9C 003829FC 7C 04 00 40 */ cmplw r4, r0
/* 80385AA0 00382A00 41 81 00 10 */ bgt lbl_80385AB0
/* 80385AA4 00382A04 38 00 00 00 */ li r0, 0
/* 80385AA8 00382A08 98 1D 00 07 */ stb r0, 7(r29)
/* 80385AAC 00382A0C 48 00 00 20 */ b lbl_80385ACC
lbl_80385AB0:
/* 80385AB0 00382A10 7C 03 20 40 */ cmplw r3, r4
/* 80385AB4 00382A14 40 80 00 08 */ bge lbl_80385ABC
/* 80385AB8 00382A18 98 7D 00 07 */ stb r3, 7(r29)
lbl_80385ABC:
/* 80385ABC 00382A1C 88 7C 00 00 */ lbz r3, 0(r28)
/* 80385AC0 00382A20 88 1D 00 07 */ lbz r0, 7(r29)
/* 80385AC4 00382A24 7C 03 00 50 */ subf r0, r3, r0
/* 80385AC8 00382A28 98 1D 00 07 */ stb r0, 7(r29)
lbl_80385ACC:
/* 80385ACC 00382A2C 3B DE 00 01 */ addi r30, r30, 1
/* 80385AD0 00382A30 2C 1E 00 04 */ cmpwi r30, 4
/* 80385AD4 00382A34 3B BD 00 0C */ addi r29, r29, 0xc
/* 80385AD8 00382A38 41 80 FF 40 */ blt lbl_80385A18
/* 80385ADC 00382A3C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80385AE0 00382A40 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80385AE4 00382A44 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80385AE8 00382A48 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 80385AEC 00382A4C 83 81 00 10 */ lwz r28, 0x10(r1)
/* 80385AF0 00382A50 38 21 00 20 */ addi r1, r1, 0x20
/* 80385AF4 00382A54 7C 08 03 A6 */ mtlr r0
/* 80385AF8 00382A58 4E 80 00 20 */ blr

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

Some files were not shown because too many files have changed in this diff Show More