diff options
Diffstat (limited to 'asm/code_802247A0.s')
-rw-r--r-- | asm/code_802247A0.s | 136 |
1 files changed, 136 insertions, 0 deletions
diff --git a/asm/code_802247A0.s b/asm/code_802247A0.s new file mode 100644 index 0000000..16f888f --- /dev/null +++ b/asm/code_802247A0.s @@ -0,0 +1,136 @@ +.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+lbl_802247A0:
+/* 802247A0 00220400 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802247A4 00220404 7C 08 02 A6 */ mflr r0
+/* 802247A8 00220408 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802247AC 0022040C 4B DE 2B F1 */ bl func_8000739C
+/* 802247B0 00220410 80 6D A3 50 */ lwz r3, lbl_8063F610-_SDA_BASE_(r13)
+/* 802247B4 00220414 48 00 00 8D */ bl func_80224840
+/* 802247B8 00220418 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802247BC 0022041C 7C 08 03 A6 */ mtlr r0
+/* 802247C0 00220420 38 21 00 10 */ addi r1, r1, 0x10
+/* 802247C4 00220424 4E 80 00 20 */ blr
+
+.global func_802247C8
+func_802247C8:
+/* 802247C8 00220428 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802247CC 0022042C 7C 08 02 A6 */ mflr r0
+/* 802247D0 00220430 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802247D4 00220434 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802247D8 00220438 7C 7F 1B 78 */ mr r31, r3
+/* 802247DC 0022043C 38 60 00 0C */ li r3, 0xc
+/* 802247E0 00220440 4B FB 62 51 */ bl func_801DAA30
+/* 802247E4 00220444 2C 03 00 00 */ cmpwi r3, 0
+/* 802247E8 00220448 41 82 00 0C */ beq lbl_802247F4
+/* 802247EC 0022044C 7F E4 FB 78 */ mr r4, r31
+/* 802247F0 00220450 48 00 00 41 */ bl func_80224830
+lbl_802247F4:
+/* 802247F4 00220454 3C C0 80 22 */ lis r6, lbl_802247A0@ha
+/* 802247F8 00220458 90 6D A3 50 */ stw r3, lbl_8063F610-_SDA_BASE_(r13)
+/* 802247FC 0022045C 38 C6 47 A0 */ addi r6, r6, lbl_802247A0@l
+/* 80224800 00220460 38 60 00 01 */ li r3, 1
+/* 80224804 00220464 38 80 00 00 */ li r4, 0
+/* 80224808 00220468 38 A0 00 00 */ li r5, 0
+/* 8022480C 0022046C 4B FF F7 C5 */ bl func_80223FD0
+/* 80224810 00220470 3C 80 80 42 */ lis r4, lbl_80423C20@ha
+/* 80224814 00220474 38 84 3C 20 */ addi r4, r4, lbl_80423C20@l
+/* 80224818 00220478 4B FF F8 75 */ bl func_8022408C
+/* 8022481C 0022047C 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 80224820 00220480 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 80224824 00220484 7C 08 03 A6 */ mtlr r0
+/* 80224828 00220488 38 21 00 10 */ addi r1, r1, 0x10
+/* 8022482C 0022048C 4E 80 00 20 */ blr
+
+.global func_80224830
+func_80224830:
+/* 80224830 00220490 38 00 00 00 */ li r0, 0
+/* 80224834 00220494 90 83 00 00 */ stw r4, 0(r3)
+/* 80224838 00220498 90 03 00 04 */ stw r0, 4(r3)
+/* 8022483C 0022049C 4E 80 00 20 */ blr
+
+.global func_80224840
+func_80224840:
+/* 80224840 002204A0 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 80224844 002204A4 7C 08 02 A6 */ mflr r0
+/* 80224848 002204A8 90 01 00 24 */ stw r0, 0x24(r1)
+/* 8022484C 002204AC DB E1 00 18 */ stfd f31, 0x18(r1)
+/* 80224850 002204B0 FF E0 08 90 */ fmr f31, f1
+/* 80224854 002204B4 93 E1 00 14 */ stw r31, 0x14(r1)
+/* 80224858 002204B8 93 C1 00 10 */ stw r30, 0x10(r1)
+/* 8022485C 002204BC 93 A1 00 0C */ stw r29, 0xc(r1)
+/* 80224860 002204C0 3B A0 00 00 */ li r29, 0
+/* 80224864 002204C4 93 81 00 08 */ stw r28, 8(r1)
+/* 80224868 002204C8 7C 7C 1B 78 */ mr r28, r3
+/* 8022486C 002204CC 83 C3 00 04 */ lwz r30, 4(r3)
+/* 80224870 002204D0 48 00 00 4C */ b lbl_802248BC
+lbl_80224874:
+/* 80224874 002204D4 FC 20 F8 90 */ fmr f1, f31
+/* 80224878 002204D8 83 FE 00 08 */ lwz r31, 8(r30)
+/* 8022487C 002204DC 7F C3 F3 78 */ mr r3, r30
+/* 80224880 002204E0 48 00 00 69 */ bl func_802248E8
+/* 80224884 002204E4 2C 03 00 00 */ cmpwi r3, 0
+/* 80224888 002204E8 41 82 00 2C */ beq lbl_802248B4
+/* 8022488C 002204EC 7F C3 F3 78 */ mr r3, r30
+/* 80224890 002204F0 48 00 00 7D */ bl func_8022490C
+/* 80224894 002204F4 7F C3 F3 78 */ mr r3, r30
+/* 80224898 002204F8 4B FB 62 21 */ bl func_801DAAB8
+/* 8022489C 002204FC 2C 1D 00 00 */ cmpwi r29, 0
+/* 802248A0 00220500 40 82 00 0C */ bne lbl_802248AC
+/* 802248A4 00220504 93 FC 00 04 */ stw r31, 4(r28)
+/* 802248A8 00220508 48 00 00 08 */ b lbl_802248B0
+lbl_802248AC:
+/* 802248AC 0022050C 93 FD 00 08 */ stw r31, 8(r29)
+lbl_802248B0:
+/* 802248B0 00220510 7F BE EB 78 */ mr r30, r29
+lbl_802248B4:
+/* 802248B4 00220514 7F DD F3 78 */ mr r29, r30
+/* 802248B8 00220518 7F FE FB 78 */ mr r30, r31
+lbl_802248BC:
+/* 802248BC 0022051C 2C 1E 00 00 */ cmpwi r30, 0
+/* 802248C0 00220520 40 82 FF B4 */ bne lbl_80224874
+/* 802248C4 00220524 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802248C8 00220528 CB E1 00 18 */ lfd f31, 0x18(r1)
+/* 802248CC 0022052C 83 E1 00 14 */ lwz r31, 0x14(r1)
+/* 802248D0 00220530 83 C1 00 10 */ lwz r30, 0x10(r1)
+/* 802248D4 00220534 83 A1 00 0C */ lwz r29, 0xc(r1)
+/* 802248D8 00220538 83 81 00 08 */ lwz r28, 8(r1)
+/* 802248DC 0022053C 7C 08 03 A6 */ mtlr r0
+/* 802248E0 00220540 38 21 00 20 */ addi r1, r1, 0x20
+/* 802248E4 00220544 4E 80 00 20 */ blr
+
+.global func_802248E8
+func_802248E8:
+/* 802248E8 00220548 C0 43 00 04 */ lfs f2, 4(r3)
+/* 802248EC 0022054C C0 02 9C 78 */ lfs f0, lbl_80642278-_SDA2_BASE_(r2)
+/* 802248F0 00220550 EC 22 08 28 */ fsubs f1, f2, f1
+/* 802248F4 00220554 FC 01 00 40 */ fcmpo cr0, f1, f0
+/* 802248F8 00220558 D0 23 00 04 */ stfs f1, 4(r3)
+/* 802248FC 0022055C 4C 40 13 82 */ cror 2, 0, 2
+/* 80224900 00220560 7C 60 00 26 */ mfcr r3
+/* 80224904 00220564 54 63 1F FE */ rlwinm r3, r3, 3, 0x1f, 0x1f
+/* 80224908 00220568 4E 80 00 20 */ blr
+
+.global func_8022490C
+func_8022490C:
+/* 8022490C 0022056C 7C 66 1B 78 */ mr r6, r3
+/* 80224910 00220570 80 63 00 0C */ lwz r3, 0xc(r3)
+/* 80224914 00220574 81 86 00 1C */ lwz r12, 0x1c(r6)
+/* 80224918 00220578 80 86 00 10 */ lwz r4, 0x10(r6)
+/* 8022491C 0022057C 80 A6 00 14 */ lwz r5, 0x14(r6)
+/* 80224920 00220580 80 C6 00 18 */ lwz r6, 0x18(r6)
+/* 80224924 00220584 7D 89 03 A6 */ mtctr r12
+/* 80224928 00220588 4E 80 04 20 */ bctr
+
+.global func_8022492C
+func_8022492C:
+/* 8022492C 0022058C 38 A0 00 01 */ li r5, 1
+/* 80224930 00220590 38 6D A3 48 */ addi r3, r13, lbl_8063F608-_SDA_BASE_
+/* 80224934 00220594 38 80 00 04 */ li r4, 4
+/* 80224938 00220598 38 00 00 00 */ li r0, 0
+/* 8022493C 0022059C 98 AD A3 48 */ stb r5, lbl_8063F608-_SDA_BASE_(r13)
+/* 80224940 002205A0 B0 83 00 02 */ sth r4, 2(r3)
+/* 80224944 002205A4 98 03 00 04 */ stb r0, 4(r3)
+/* 80224948 002205A8 4E 80 00 20 */ blr
|