summaryrefslogtreecommitdiff
path: root/asm/code_802233C8.s
diff options
context:
space:
mode:
Diffstat (limited to 'asm/code_802233C8.s')
-rw-r--r--asm/code_802233C8.s197
1 files changed, 197 insertions, 0 deletions
diff --git a/asm/code_802233C8.s b/asm/code_802233C8.s
new file mode 100644
index 0000000..47eb9e0
--- /dev/null
+++ b/asm/code_802233C8.s
@@ -0,0 +1,197 @@
+.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global func_802233C8
+func_802233C8:
+/* 802233C8 0021F028 94 21 FD A0 */ stwu r1, -0x260(r1)
+/* 802233CC 0021F02C 7C 08 02 A6 */ mflr r0
+/* 802233D0 0021F030 2C 05 00 03 */ cmpwi r5, 3
+/* 802233D4 0021F034 90 01 02 64 */ stw r0, 0x264(r1)
+/* 802233D8 0021F038 93 E1 02 5C */ stw r31, 0x25c(r1)
+/* 802233DC 0021F03C 7C 9F 23 78 */ mr r31, r4
+/* 802233E0 0021F040 93 C1 02 58 */ stw r30, 0x258(r1)
+/* 802233E4 0021F044 7C 7E 1B 78 */ mr r30, r3
+/* 802233E8 0021F048 41 82 01 20 */ beq lbl_80223508
+/* 802233EC 0021F04C 40 80 00 1C */ bge lbl_80223408
+/* 802233F0 0021F050 2C 05 00 01 */ cmpwi r5, 1
+/* 802233F4 0021F054 41 82 00 74 */ beq lbl_80223468
+/* 802233F8 0021F058 40 80 00 C0 */ bge lbl_802234B8
+/* 802233FC 0021F05C 2C 05 00 00 */ cmpwi r5, 0
+/* 80223400 0021F060 40 80 00 18 */ bge lbl_80223418
+/* 80223404 0021F064 48 00 01 F4 */ b lbl_802235F8
+lbl_80223408:
+/* 80223408 0021F068 2C 05 00 05 */ cmpwi r5, 5
+/* 8022340C 0021F06C 41 82 01 9C */ beq lbl_802235A8
+/* 80223410 0021F070 40 80 01 E8 */ bge lbl_802235F8
+/* 80223414 0021F074 48 00 01 44 */ b lbl_80223558
+lbl_80223418:
+/* 80223418 0021F078 C0 24 00 00 */ lfs f1, 0(r4)
+/* 8022341C 0021F07C 38 80 00 58 */ li r4, 0x58
+/* 80223420 0021F080 48 05 8E 49 */ bl PSMTXRotRad
+/* 80223424 0021F084 C0 3F 00 04 */ lfs f1, 4(r31)
+/* 80223428 0021F088 38 61 02 28 */ addi r3, r1, 0x228
+/* 8022342C 0021F08C 38 80 00 59 */ li r4, 0x59
+/* 80223430 0021F090 48 05 8E 39 */ bl PSMTXRotRad
+/* 80223434 0021F094 7F C4 F3 78 */ mr r4, r30
+/* 80223438 0021F098 7F C5 F3 78 */ mr r5, r30
+/* 8022343C 0021F09C 38 61 02 28 */ addi r3, r1, 0x228
+/* 80223440 0021F0A0 48 05 8B 4D */ bl PSMTXConcat
+/* 80223444 0021F0A4 C0 3F 00 08 */ lfs f1, 8(r31)
+/* 80223448 0021F0A8 38 61 01 F8 */ addi r3, r1, 0x1f8
+/* 8022344C 0021F0AC 38 80 00 5A */ li r4, 0x5a
+/* 80223450 0021F0B0 48 05 8E 19 */ bl PSMTXRotRad
+/* 80223454 0021F0B4 7F C4 F3 78 */ mr r4, r30
+/* 80223458 0021F0B8 7F C5 F3 78 */ mr r5, r30
+/* 8022345C 0021F0BC 38 61 01 F8 */ addi r3, r1, 0x1f8
+/* 80223460 0021F0C0 48 05 8B 2D */ bl PSMTXConcat
+/* 80223464 0021F0C4 48 00 01 AC */ b lbl_80223610
+lbl_80223468:
+/* 80223468 0021F0C8 C0 24 00 04 */ lfs f1, 4(r4)
+/* 8022346C 0021F0CC 38 80 00 58 */ li r4, 0x58
+/* 80223470 0021F0D0 48 05 8D F9 */ bl PSMTXRotRad
+/* 80223474 0021F0D4 C0 3F 00 08 */ lfs f1, 8(r31)
+/* 80223478 0021F0D8 38 61 01 C8 */ addi r3, r1, 0x1c8
+/* 8022347C 0021F0DC 38 80 00 5A */ li r4, 0x5a
+/* 80223480 0021F0E0 48 05 8D E9 */ bl PSMTXRotRad
+/* 80223484 0021F0E4 7F C4 F3 78 */ mr r4, r30
+/* 80223488 0021F0E8 7F C5 F3 78 */ mr r5, r30
+/* 8022348C 0021F0EC 38 61 01 C8 */ addi r3, r1, 0x1c8
+/* 80223490 0021F0F0 48 05 8A FD */ bl PSMTXConcat
+/* 80223494 0021F0F4 C0 3F 00 00 */ lfs f1, 0(r31)
+/* 80223498 0021F0F8 38 61 01 98 */ addi r3, r1, 0x198
+/* 8022349C 0021F0FC 38 80 00 58 */ li r4, 0x58
+/* 802234A0 0021F100 48 05 8D C9 */ bl PSMTXRotRad
+/* 802234A4 0021F104 7F C4 F3 78 */ mr r4, r30
+/* 802234A8 0021F108 7F C5 F3 78 */ mr r5, r30
+/* 802234AC 0021F10C 38 61 01 98 */ addi r3, r1, 0x198
+/* 802234B0 0021F110 48 05 8A DD */ bl PSMTXConcat
+/* 802234B4 0021F114 48 00 01 5C */ b lbl_80223610
+lbl_802234B8:
+/* 802234B8 0021F118 C0 24 00 08 */ lfs f1, 8(r4)
+/* 802234BC 0021F11C 38 80 00 5A */ li r4, 0x5a
+/* 802234C0 0021F120 48 05 8D A9 */ bl PSMTXRotRad
+/* 802234C4 0021F124 C0 3F 00 00 */ lfs f1, 0(r31)
+/* 802234C8 0021F128 38 61 01 68 */ addi r3, r1, 0x168
+/* 802234CC 0021F12C 38 80 00 58 */ li r4, 0x58
+/* 802234D0 0021F130 48 05 8D 99 */ bl PSMTXRotRad
+/* 802234D4 0021F134 7F C4 F3 78 */ mr r4, r30
+/* 802234D8 0021F138 7F C5 F3 78 */ mr r5, r30
+/* 802234DC 0021F13C 38 61 01 68 */ addi r3, r1, 0x168
+/* 802234E0 0021F140 48 05 8A AD */ bl PSMTXConcat
+/* 802234E4 0021F144 C0 3F 00 04 */ lfs f1, 4(r31)
+/* 802234E8 0021F148 38 61 01 38 */ addi r3, r1, 0x138
+/* 802234EC 0021F14C 38 80 00 59 */ li r4, 0x59
+/* 802234F0 0021F150 48 05 8D 79 */ bl PSMTXRotRad
+/* 802234F4 0021F154 7F C4 F3 78 */ mr r4, r30
+/* 802234F8 0021F158 7F C5 F3 78 */ mr r5, r30
+/* 802234FC 0021F15C 38 61 01 38 */ addi r3, r1, 0x138
+/* 80223500 0021F160 48 05 8A 8D */ bl PSMTXConcat
+/* 80223504 0021F164 48 00 01 0C */ b lbl_80223610
+lbl_80223508:
+/* 80223508 0021F168 C0 24 00 00 */ lfs f1, 0(r4)
+/* 8022350C 0021F16C 38 80 00 58 */ li r4, 0x58
+/* 80223510 0021F170 48 05 8D 59 */ bl PSMTXRotRad
+/* 80223514 0021F174 C0 3F 00 08 */ lfs f1, 8(r31)
+/* 80223518 0021F178 38 61 01 08 */ addi r3, r1, 0x108
+/* 8022351C 0021F17C 38 80 00 5A */ li r4, 0x5a
+/* 80223520 0021F180 48 05 8D 49 */ bl PSMTXRotRad
+/* 80223524 0021F184 7F C4 F3 78 */ mr r4, r30
+/* 80223528 0021F188 7F C5 F3 78 */ mr r5, r30
+/* 8022352C 0021F18C 38 61 01 08 */ addi r3, r1, 0x108
+/* 80223530 0021F190 48 05 8A 5D */ bl PSMTXConcat
+/* 80223534 0021F194 C0 3F 00 04 */ lfs f1, 4(r31)
+/* 80223538 0021F198 38 61 00 D8 */ addi r3, r1, 0xd8
+/* 8022353C 0021F19C 38 80 00 59 */ li r4, 0x59
+/* 80223540 0021F1A0 48 05 8D 29 */ bl PSMTXRotRad
+/* 80223544 0021F1A4 7F C4 F3 78 */ mr r4, r30
+/* 80223548 0021F1A8 7F C5 F3 78 */ mr r5, r30
+/* 8022354C 0021F1AC 38 61 00 D8 */ addi r3, r1, 0xd8
+/* 80223550 0021F1B0 48 05 8A 3D */ bl PSMTXConcat
+/* 80223554 0021F1B4 48 00 00 BC */ b lbl_80223610
+lbl_80223558:
+/* 80223558 0021F1B8 C0 24 00 04 */ lfs f1, 4(r4)
+/* 8022355C 0021F1BC 38 80 00 59 */ li r4, 0x59
+/* 80223560 0021F1C0 48 05 8D 09 */ bl PSMTXRotRad
+/* 80223564 0021F1C4 C0 3F 00 00 */ lfs f1, 0(r31)
+/* 80223568 0021F1C8 38 61 00 A8 */ addi r3, r1, 0xa8
+/* 8022356C 0021F1CC 38 80 00 58 */ li r4, 0x58
+/* 80223570 0021F1D0 48 05 8C F9 */ bl PSMTXRotRad
+/* 80223574 0021F1D4 7F C4 F3 78 */ mr r4, r30
+/* 80223578 0021F1D8 7F C5 F3 78 */ mr r5, r30
+/* 8022357C 0021F1DC 38 61 00 A8 */ addi r3, r1, 0xa8
+/* 80223580 0021F1E0 48 05 8A 0D */ bl PSMTXConcat
+/* 80223584 0021F1E4 C0 3F 00 08 */ lfs f1, 8(r31)
+/* 80223588 0021F1E8 38 61 00 78 */ addi r3, r1, 0x78
+/* 8022358C 0021F1EC 38 80 00 5A */ li r4, 0x5a
+/* 80223590 0021F1F0 48 05 8C D9 */ bl PSMTXRotRad
+/* 80223594 0021F1F4 7F C4 F3 78 */ mr r4, r30
+/* 80223598 0021F1F8 7F C5 F3 78 */ mr r5, r30
+/* 8022359C 0021F1FC 38 61 00 78 */ addi r3, r1, 0x78
+/* 802235A0 0021F200 48 05 89 ED */ bl PSMTXConcat
+/* 802235A4 0021F204 48 00 00 6C */ b lbl_80223610
+lbl_802235A8:
+/* 802235A8 0021F208 C0 24 00 08 */ lfs f1, 8(r4)
+/* 802235AC 0021F20C 38 80 00 5A */ li r4, 0x5a
+/* 802235B0 0021F210 48 05 8C B9 */ bl PSMTXRotRad
+/* 802235B4 0021F214 C0 3F 00 04 */ lfs f1, 4(r31)
+/* 802235B8 0021F218 38 61 00 48 */ addi r3, r1, 0x48
+/* 802235BC 0021F21C 38 80 00 59 */ li r4, 0x59
+/* 802235C0 0021F220 48 05 8C A9 */ bl PSMTXRotRad
+/* 802235C4 0021F224 7F C4 F3 78 */ mr r4, r30
+/* 802235C8 0021F228 7F C5 F3 78 */ mr r5, r30
+/* 802235CC 0021F22C 38 61 00 48 */ addi r3, r1, 0x48
+/* 802235D0 0021F230 48 05 89 BD */ bl PSMTXConcat
+/* 802235D4 0021F234 C0 3F 00 00 */ lfs f1, 0(r31)
+/* 802235D8 0021F238 38 61 00 18 */ addi r3, r1, 0x18
+/* 802235DC 0021F23C 38 80 00 58 */ li r4, 0x58
+/* 802235E0 0021F240 48 05 8C 89 */ bl PSMTXRotRad
+/* 802235E4 0021F244 7F C4 F3 78 */ mr r4, r30
+/* 802235E8 0021F248 7F C5 F3 78 */ mr r5, r30
+/* 802235EC 0021F24C 38 61 00 18 */ addi r3, r1, 0x18
+/* 802235F0 0021F250 48 05 89 9D */ bl PSMTXConcat
+/* 802235F4 0021F254 48 00 00 1C */ b lbl_80223610
+lbl_802235F8:
+/* 802235F8 0021F258 7F E4 FB 78 */ mr r4, r31
+/* 802235FC 0021F25C 38 61 00 08 */ addi r3, r1, 8
+/* 80223600 0021F260 48 00 00 C1 */ bl func_802236C0
+/* 80223604 0021F264 7F C3 F3 78 */ mr r3, r30
+/* 80223608 0021F268 38 81 00 08 */ addi r4, r1, 8
+/* 8022360C 0021F26C 48 05 8F B5 */ bl PSMTXQuat
+lbl_80223610:
+/* 80223610 0021F270 7F C3 F3 78 */ mr r3, r30
+/* 80223614 0021F274 83 E1 02 5C */ lwz r31, 0x25c(r1)
+/* 80223618 0021F278 83 C1 02 58 */ lwz r30, 0x258(r1)
+/* 8022361C 0021F27C 80 01 02 64 */ lwz r0, 0x264(r1)
+/* 80223620 0021F280 7C 08 03 A6 */ mtlr r0
+/* 80223624 0021F284 38 21 02 60 */ addi r1, r1, 0x260
+/* 80223628 0021F288 4E 80 00 20 */ blr
+
+.global func_8022362C
+func_8022362C:
+/* 8022362C 0021F28C 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 80223630 0021F290 7C 08 02 A6 */ mflr r0
+/* 80223634 0021F294 3C 60 80 49 */ lis r3, lbl_804932B0@ha
+/* 80223638 0021F298 38 C0 00 01 */ li r6, 1
+/* 8022363C 0021F29C 90 01 00 24 */ stw r0, 0x24(r1)
+/* 80223640 0021F2A0 38 8D A2 C0 */ addi r4, r13, lbl_8063F580-_SDA_BASE_
+/* 80223644 0021F2A4 38 A0 00 04 */ li r5, 4
+/* 80223648 0021F2A8 38 00 00 00 */ li r0, 0
+/* 8022364C 0021F2AC 98 CD A2 C0 */ stb r6, lbl_8063F580-_SDA_BASE_(r13)
+/* 80223650 0021F2B0 38 63 32 B0 */ addi r3, r3, lbl_804932B0@l
+/* 80223654 0021F2B4 B0 A4 00 02 */ sth r5, 2(r4)
+/* 80223658 0021F2B8 98 04 00 04 */ stb r0, 4(r4)
+/* 8022365C 0021F2BC 48 05 88 D1 */ bl PSMTXIdentity
+/* 80223660 0021F2C0 C0 22 9C 20 */ lfs f1, lbl_80642220-_SDA2_BASE_(r2)
+/* 80223664 0021F2C4 3C 60 80 49 */ lis r3, lbl_804932E0@ha
+/* 80223668 0021F2C8 38 63 32 E0 */ addi r3, r3, lbl_804932E0@l
+/* 8022366C 0021F2CC FC 40 08 90 */ fmr f2, f1
+/* 80223670 0021F2D0 D0 21 00 08 */ stfs f1, 8(r1)
+/* 80223674 0021F2D4 FC 60 08 90 */ fmr f3, f1
+/* 80223678 0021F2D8 D0 21 00 0C */ stfs f1, 0xc(r1)
+/* 8022367C 0021F2DC D0 21 00 10 */ stfs f1, 0x10(r1)
+/* 80223680 0021F2E0 48 05 8E C1 */ bl PSMTXScale
+/* 80223684 0021F2E4 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 80223688 0021F2E8 7C 08 03 A6 */ mtlr r0
+/* 8022368C 0021F2EC 38 21 00 20 */ addi r1, r1, 0x20
+/* 80223690 0021F2F0 4E 80 00 20 */ blr