diff options
Diffstat (limited to 'asm/code_80253FEC.s')
-rw-r--r-- | asm/code_80253FEC.s | 185 |
1 files changed, 185 insertions, 0 deletions
diff --git a/asm/code_80253FEC.s b/asm/code_80253FEC.s new file mode 100644 index 0000000..4a23c05 --- /dev/null +++ b/asm/code_80253FEC.s @@ -0,0 +1,185 @@ +.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+lbl_80253FEC:
+/* 80253FEC 0024FC4C 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 80253FF0 0024FC50 7C 08 02 A6 */ mflr r0
+/* 80253FF4 0024FC54 2C 03 00 00 */ cmpwi r3, 0
+/* 80253FF8 0024FC58 90 01 00 14 */ stw r0, 0x14(r1)
+/* 80253FFC 0024FC5C 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 80254000 0024FC60 7C 7F 1B 78 */ mr r31, r3
+/* 80254004 0024FC64 41 82 00 10 */ beq lbl_80254014
+/* 80254008 0024FC68 2C 04 00 00 */ cmpwi r4, 0
+/* 8025400C 0024FC6C 40 81 00 08 */ ble lbl_80254014
+/* 80254010 0024FC70 4B F8 6A A9 */ bl func_801DAAB8
+lbl_80254014:
+/* 80254014 0024FC74 7F E3 FB 78 */ mr r3, r31
+/* 80254018 0024FC78 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 8025401C 0024FC7C 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 80254020 0024FC80 7C 08 03 A6 */ mtlr r0
+/* 80254024 0024FC84 38 21 00 10 */ addi r1, r1, 0x10
+/* 80254028 0024FC88 4E 80 00 20 */ blr
+lbl_8025402C:
+/* 8025402C 0024FC8C 2C 06 00 04 */ cmpwi r6, 4
+/* 80254030 0024FC90 41 82 00 2C */ beq lbl_8025405C
+/* 80254034 0024FC94 40 80 00 10 */ bge lbl_80254044
+/* 80254038 0024FC98 2C 06 00 03 */ cmpwi r6, 3
+/* 8025403C 0024FC9C 40 80 00 14 */ bge lbl_80254050
+/* 80254040 0024FCA0 4E 80 00 20 */ blr
+lbl_80254044:
+/* 80254044 0024FCA4 2C 06 00 06 */ cmpwi r6, 6
+/* 80254048 0024FCA8 4C 80 00 20 */ bgelr
+/* 8025404C 0024FCAC 48 00 00 1C */ b lbl_80254068
+lbl_80254050:
+/* 80254050 0024FCB0 A0 05 00 00 */ lhz r0, 0(r5)
+/* 80254054 0024FCB4 90 07 00 00 */ stw r0, 0(r7)
+/* 80254058 0024FCB8 4E 80 00 20 */ blr
+lbl_8025405C:
+/* 8025405C 0024FCBC A8 05 00 08 */ lha r0, 8(r5)
+/* 80254060 0024FCC0 90 07 00 00 */ stw r0, 0(r7)
+/* 80254064 0024FCC4 4E 80 00 20 */ blr
+lbl_80254068:
+/* 80254068 0024FCC8 1C 04 00 C0 */ mulli r0, r4, 0xc0
+/* 8025406C 0024FCCC 80 63 00 08 */ lwz r3, 8(r3)
+/* 80254070 0024FCD0 7C 63 02 14 */ add r3, r3, r0
+/* 80254074 0024FCD4 38 03 00 88 */ addi r0, r3, 0x88
+/* 80254078 0024FCD8 90 07 00 00 */ stw r0, 0(r7)
+/* 8025407C 0024FCDC 4E 80 00 20 */ blr
+
+.global func_80254080
+func_80254080:
+/* 80254080 0024FCE0 2C 06 00 02 */ cmpwi r6, 2
+/* 80254084 0024FCE4 41 82 00 48 */ beq lbl_802540CC
+/* 80254088 0024FCE8 4C 80 00 20 */ bgelr
+/* 8025408C 0024FCEC 2C 06 00 01 */ cmpwi r6, 1
+/* 80254090 0024FCF0 4D 80 00 20 */ bltlr
+/* 80254094 0024FCF4 1D 04 00 C0 */ mulli r8, r4, 0xc0
+/* 80254098 0024FCF8 80 C3 00 08 */ lwz r6, 8(r3)
+/* 8025409C 0024FCFC 38 80 FF FF */ li r4, -1
+/* 802540A0 0024FD00 38 00 00 FF */ li r0, 0xff
+/* 802540A4 0024FD04 7C C6 42 14 */ add r6, r6, r8
+/* 802540A8 0024FD08 90 E6 00 94 */ stw r7, 0x94(r6)
+/* 802540AC 0024FD0C B0 85 00 08 */ sth r4, 8(r5)
+/* 802540B0 0024FD10 80 63 00 08 */ lwz r3, 8(r3)
+/* 802540B4 0024FD14 7C 63 42 14 */ add r3, r3, r8
+/* 802540B8 0024FD18 90 83 00 98 */ stw r4, 0x98(r3)
+/* 802540BC 0024FD1C 98 05 00 04 */ stb r0, 4(r5)
+/* 802540C0 0024FD20 98 05 00 03 */ stb r0, 3(r5)
+/* 802540C4 0024FD24 98 05 00 02 */ stb r0, 2(r5)
+/* 802540C8 0024FD28 4E 80 00 20 */ blr
+lbl_802540CC:
+/* 802540CC 0024FD2C 1D 04 00 C0 */ mulli r8, r4, 0xc0
+/* 802540D0 0024FD30 80 C3 00 08 */ lwz r6, 8(r3)
+/* 802540D4 0024FD34 38 80 00 00 */ li r4, 0
+/* 802540D8 0024FD38 38 00 FF FF */ li r0, -1
+/* 802540DC 0024FD3C 7C C6 42 14 */ add r6, r6, r8
+/* 802540E0 0024FD40 90 E6 00 98 */ stw r7, 0x98(r6)
+/* 802540E4 0024FD44 80 63 00 08 */ lwz r3, 8(r3)
+/* 802540E8 0024FD48 7C 63 42 14 */ add r3, r3, r8
+/* 802540EC 0024FD4C 90 83 00 94 */ stw r4, 0x94(r3)
+/* 802540F0 0024FD50 B0 05 00 08 */ sth r0, 8(r5)
+/* 802540F4 0024FD54 4E 80 00 20 */ blr
+lbl_802540F8:
+/* 802540F8 0024FD58 2C 06 00 05 */ cmpwi r6, 5
+/* 802540FC 0024FD5C 41 82 00 3C */ beq lbl_80254138
+/* 80254100 0024FD60 40 80 00 14 */ bge lbl_80254114
+/* 80254104 0024FD64 2C 06 00 03 */ cmpwi r6, 3
+/* 80254108 0024FD68 41 82 00 18 */ beq lbl_80254120
+/* 8025410C 0024FD6C 40 80 00 20 */ bge lbl_8025412C
+/* 80254110 0024FD70 4E 80 00 20 */ blr
+lbl_80254114:
+/* 80254114 0024FD74 2C 06 00 07 */ cmpwi r6, 7
+/* 80254118 0024FD78 4C 80 00 20 */ bgelr
+/* 8025411C 0024FD7C 48 00 00 28 */ b lbl_80254144
+lbl_80254120:
+/* 80254120 0024FD80 38 C0 00 03 */ li r6, 3
+/* 80254124 0024FD84 38 A5 00 0C */ addi r5, r5, 0xc
+/* 80254128 0024FD88 4B FF FF 04 */ b lbl_8025402C
+lbl_8025412C:
+/* 8025412C 0024FD8C 38 C0 00 04 */ li r6, 4
+/* 80254130 0024FD90 38 A5 00 0C */ addi r5, r5, 0xc
+/* 80254134 0024FD94 4B FF FE F8 */ b lbl_8025402C
+lbl_80254138:
+/* 80254138 0024FD98 80 05 00 08 */ lwz r0, 8(r5)
+/* 8025413C 0024FD9C 90 07 00 00 */ stw r0, 0(r7)
+/* 80254140 0024FDA0 4E 80 00 20 */ blr
+lbl_80254144:
+/* 80254144 0024FDA4 C0 05 00 38 */ lfs f0, 0x38(r5)
+/* 80254148 0024FDA8 D0 07 00 00 */ stfs f0, 0(r7)
+/* 8025414C 0024FDAC C0 05 00 3C */ lfs f0, 0x3c(r5)
+/* 80254150 0024FDB0 D0 07 00 04 */ stfs f0, 4(r7)
+/* 80254154 0024FDB4 C0 05 00 40 */ lfs f0, 0x40(r5)
+/* 80254158 0024FDB8 D0 07 00 08 */ stfs f0, 8(r7)
+/* 8025415C 0024FDBC C0 05 00 44 */ lfs f0, 0x44(r5)
+/* 80254160 0024FDC0 D0 07 00 0C */ stfs f0, 0xc(r7)
+/* 80254164 0024FDC4 C0 05 00 48 */ lfs f0, 0x48(r5)
+/* 80254168 0024FDC8 D0 07 00 10 */ stfs f0, 0x10(r7)
+/* 8025416C 0024FDCC C0 05 00 4C */ lfs f0, 0x4c(r5)
+/* 80254170 0024FDD0 D0 07 00 14 */ stfs f0, 0x14(r7)
+/* 80254174 0024FDD4 C0 05 00 50 */ lfs f0, 0x50(r5)
+/* 80254178 0024FDD8 D0 07 00 18 */ stfs f0, 0x18(r7)
+/* 8025417C 0024FDDC C0 05 00 54 */ lfs f0, 0x54(r5)
+/* 80254180 0024FDE0 D0 07 00 1C */ stfs f0, 0x1c(r7)
+/* 80254184 0024FDE4 4E 80 00 20 */ blr
+lbl_80254188:
+/* 80254188 0024FDE8 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8025418C 0024FDEC 7C 08 02 A6 */ mflr r0
+/* 80254190 0024FDF0 2C 06 00 02 */ cmpwi r6, 2
+/* 80254194 0024FDF4 90 01 00 14 */ stw r0, 0x14(r1)
+/* 80254198 0024FDF8 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 8025419C 0024FDFC 7C FF 3B 78 */ mr r31, r7
+/* 802541A0 0024FE00 93 C1 00 08 */ stw r30, 8(r1)
+/* 802541A4 0024FE04 7C BE 2B 78 */ mr r30, r5
+/* 802541A8 0024FE08 41 82 00 58 */ beq lbl_80254200
+/* 802541AC 0024FE0C 40 80 00 7C */ bge lbl_80254228
+/* 802541B0 0024FE10 2C 06 00 01 */ cmpwi r6, 1
+/* 802541B4 0024FE14 40 80 00 08 */ bge lbl_802541BC
+/* 802541B8 0024FE18 48 00 00 70 */ b lbl_80254228
+lbl_802541BC:
+/* 802541BC 0024FE1C C0 07 00 00 */ lfs f0, 0(r7)
+/* 802541C0 0024FE20 D0 05 00 58 */ stfs f0, 0x58(r5)
+/* 802541C4 0024FE24 C0 07 00 04 */ lfs f0, 4(r7)
+/* 802541C8 0024FE28 D0 05 00 5C */ stfs f0, 0x5c(r5)
+/* 802541CC 0024FE2C C0 07 00 08 */ lfs f0, 8(r7)
+/* 802541D0 0024FE30 D0 05 00 60 */ stfs f0, 0x60(r5)
+/* 802541D4 0024FE34 C0 07 00 0C */ lfs f0, 0xc(r7)
+/* 802541D8 0024FE38 D0 05 00 64 */ stfs f0, 0x64(r5)
+/* 802541DC 0024FE3C C0 07 00 10 */ lfs f0, 0x10(r7)
+/* 802541E0 0024FE40 D0 05 00 68 */ stfs f0, 0x68(r5)
+/* 802541E4 0024FE44 C0 07 00 14 */ lfs f0, 0x14(r7)
+/* 802541E8 0024FE48 D0 05 00 6C */ stfs f0, 0x6c(r5)
+/* 802541EC 0024FE4C C0 07 00 18 */ lfs f0, 0x18(r7)
+/* 802541F0 0024FE50 D0 05 00 70 */ stfs f0, 0x70(r5)
+/* 802541F4 0024FE54 C0 07 00 1C */ lfs f0, 0x1c(r7)
+/* 802541F8 0024FE58 D0 05 00 74 */ stfs f0, 0x74(r5)
+/* 802541FC 0024FE5C 48 00 00 2C */ b lbl_80254228
+lbl_80254200:
+/* 80254200 0024FE60 38 C0 00 01 */ li r6, 1
+/* 80254204 0024FE64 38 A5 00 0C */ addi r5, r5, 0xc
+/* 80254208 0024FE68 4B FF FE 79 */ bl func_80254080
+/* 8025420C 0024FE6C 38 00 00 FF */ li r0, 0xff
+/* 80254210 0024FE70 38 60 FF FF */ li r3, -1
+/* 80254214 0024FE74 93 FE 00 84 */ stw r31, 0x84(r30)
+/* 80254218 0024FE78 90 7E 00 08 */ stw r3, 8(r30)
+/* 8025421C 0024FE7C 98 1E 00 10 */ stb r0, 0x10(r30)
+/* 80254220 0024FE80 98 1E 00 0F */ stb r0, 0xf(r30)
+/* 80254224 0024FE84 98 1E 00 0E */ stb r0, 0xe(r30)
+lbl_80254228:
+/* 80254228 0024FE88 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 8025422C 0024FE8C 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 80254230 0024FE90 83 C1 00 08 */ lwz r30, 8(r1)
+/* 80254234 0024FE94 7C 08 03 A6 */ mtlr r0
+/* 80254238 0024FE98 38 21 00 10 */ addi r1, r1, 0x10
+/* 8025423C 0024FE9C 4E 80 00 20 */ blr
+
+.global func_80254240
+func_80254240:
+/* 80254240 0024FEA0 38 A0 00 01 */ li r5, 1
+/* 80254244 0024FEA4 38 6D A6 30 */ addi r3, r13, lbl_8063F8F0-_SDA_BASE_
+/* 80254248 0024FEA8 38 80 00 04 */ li r4, 4
+/* 8025424C 0024FEAC 38 00 00 00 */ li r0, 0
+/* 80254250 0024FEB0 98 AD A6 30 */ stb r5, lbl_8063F8F0-_SDA_BASE_(r13)
+/* 80254254 0024FEB4 B0 83 00 02 */ sth r4, 2(r3)
+/* 80254258 0024FEB8 98 03 00 04 */ stb r0, 4(r3)
+/* 8025425C 0024FEBC 4E 80 00 20 */ blr
|