.include "macros.inc" .section .text, "ax" # 0x80006980 - 0x803E1E60 .global lbl_8002A910 lbl_8002A910: /* 8002A910 00026570 94 21 FF E0 */ stwu r1, -0x20(r1) /* 8002A914 00026574 7C 08 02 A6 */ mflr r0 /* 8002A918 00026578 90 01 00 24 */ stw r0, 0x24(r1) /* 8002A91C 0002657C 93 E1 00 1C */ stw r31, 0x1c(r1) /* 8002A920 00026580 7C DF 33 78 */ mr r31, r6 /* 8002A924 00026584 93 C1 00 18 */ stw r30, 0x18(r1) /* 8002A928 00026588 93 A1 00 14 */ stw r29, 0x14(r1) /* 8002A92C 0002658C 7C BD 2B 78 */ mr r29, r5 /* 8002A930 00026590 93 81 00 10 */ stw r28, 0x10(r1) /* 8002A934 00026594 7C 9C 23 78 */ mr r28, r4 /* 8002A938 00026598 A8 05 00 08 */ lha r0, 8(r5) /* 8002A93C 0002659C 2C 00 00 01 */ cmpwi r0, 1 /* 8002A940 000265A0 40 82 00 0C */ bne lbl_8002A94C /* 8002A944 000265A4 80 65 00 0C */ lwz r3, 0xc(r5) /* 8002A948 000265A8 48 00 00 28 */ b lbl_8002A970 lbl_8002A94C: /* 8002A94C 000265AC 2C 00 00 02 */ cmpwi r0, 2 /* 8002A950 000265B0 40 82 00 18 */ bne lbl_8002A968 /* 8002A954 000265B4 C0 05 00 0C */ lfs f0, 0xc(r5) /* 8002A958 000265B8 FC 00 00 1E */ fctiwz f0, f0 /* 8002A95C 000265BC D8 01 00 08 */ stfd f0, 8(r1) /* 8002A960 000265C0 80 61 00 0C */ lwz r3, 0xc(r1) /* 8002A964 000265C4 48 00 00 0C */ b lbl_8002A970 lbl_8002A968: /* 8002A968 000265C8 38 65 00 08 */ addi r3, r5, 8 /* 8002A96C 000265CC 48 20 33 C9 */ bl func_8022DD34 lbl_8002A970: /* 8002A970 000265D0 48 21 9E 2D */ bl func_8024479C /* 8002A974 000265D4 2C 03 00 00 */ cmpwi r3, 0 /* 8002A978 000265D8 7C 7E 1B 78 */ mr r30, r3 /* 8002A97C 000265DC 40 82 00 1C */ bne lbl_8002A998 /* 8002A980 000265E0 C0 02 81 20 */ lfs f0, lbl_80640720-_SDA2_BASE_(r2) /* 8002A984 000265E4 38 00 00 02 */ li r0, 2 /* 8002A988 000265E8 B0 1F 00 00 */ sth r0, 0(r31) /* 8002A98C 000265EC 38 60 00 01 */ li r3, 1 /* 8002A990 000265F0 D0 1F 00 04 */ stfs f0, 4(r31) /* 8002A994 000265F4 48 00 02 14 */ b lbl_8002ABA8 lbl_8002A998: /* 8002A998 000265F8 28 1C 00 23 */ cmplwi r28, 0x23 /* 8002A99C 000265FC 41 81 01 F8 */ bgt lbl_8002AB94 /* 8002A9A0 00026600 3C 80 80 41 */ lis r4, lbl_80409A00@ha /* 8002A9A4 00026604 57 80 10 3A */ slwi r0, r28, 2 /* 8002A9A8 00026608 38 84 9A 00 */ addi r4, r4, lbl_80409A00@l /* 8002A9AC 0002660C 7C 84 00 2E */ lwzx r4, r4, r0 /* 8002A9B0 00026610 7C 89 03 A6 */ mtctr r4 /* 8002A9B4 00026614 4E 80 04 20 */ bctr /* 8002A9B8 00026618 C0 03 00 0C */ lfs f0, 0xc(r3) /* 8002A9BC 0002661C 38 00 00 02 */ li r0, 2 /* 8002A9C0 00026620 B0 1F 00 00 */ sth r0, 0(r31) /* 8002A9C4 00026624 D0 1F 00 04 */ stfs f0, 4(r31) /* 8002A9C8 00026628 48 00 01 DC */ b lbl_8002ABA4 /* 8002A9CC 0002662C C0 03 00 10 */ lfs f0, 0x10(r3) /* 8002A9D0 00026630 38 00 00 02 */ li r0, 2 /* 8002A9D4 00026634 B0 1F 00 00 */ sth r0, 0(r31) /* 8002A9D8 00026638 D0 1F 00 04 */ stfs f0, 4(r31) /* 8002A9DC 0002663C 48 00 01 C8 */ b lbl_8002ABA4 /* 8002A9E0 00026640 C0 03 00 18 */ lfs f0, 0x18(r3) /* 8002A9E4 00026644 38 00 00 02 */ li r0, 2 /* 8002A9E8 00026648 B0 1F 00 00 */ sth r0, 0(r31) /* 8002A9EC 0002664C D0 1F 00 04 */ stfs f0, 4(r31) /* 8002A9F0 00026650 48 00 01 B4 */ b lbl_8002ABA4 /* 8002A9F4 00026654 C0 03 00 18 */ lfs f0, 0x18(r3) /* 8002A9F8 00026658 38 00 00 02 */ li r0, 2 /* 8002A9FC 0002665C B0 1F 00 00 */ sth r0, 0(r31) /* 8002AA00 00026660 D0 1F 00 04 */ stfs f0, 4(r31) /* 8002AA04 00026664 48 00 01 A0 */ b lbl_8002ABA4 /* 8002AA08 00026668 C0 03 09 08 */ lfs f0, 0x908(r3) /* 8002AA0C 0002666C 38 00 00 02 */ li r0, 2 /* 8002AA10 00026670 B0 1F 00 00 */ sth r0, 0(r31) /* 8002AA14 00026674 D0 1F 00 04 */ stfs f0, 4(r31) /* 8002AA18 00026678 48 00 01 8C */ b lbl_8002ABA4 /* 8002AA1C 0002667C C0 03 09 0C */ lfs f0, 0x90c(r3) /* 8002AA20 00026680 38 00 00 02 */ li r0, 2 /* 8002AA24 00026684 B0 1F 00 00 */ sth r0, 0(r31) /* 8002AA28 00026688 D0 1F 00 04 */ stfs f0, 4(r31) /* 8002AA2C 0002668C 48 00 01 78 */ b lbl_8002ABA4 /* 8002AA30 00026690 C0 03 09 10 */ lfs f0, 0x910(r3) /* 8002AA34 00026694 38 00 00 02 */ li r0, 2 /* 8002AA38 00026698 B0 1F 00 00 */ sth r0, 0(r31) /* 8002AA3C 0002669C D0 1F 00 04 */ stfs f0, 4(r31) /* 8002AA40 000266A0 48 00 01 64 */ b lbl_8002ABA4 /* 8002AA44 000266A4 C0 03 09 14 */ lfs f0, 0x914(r3) /* 8002AA48 000266A8 38 00 00 02 */ li r0, 2 /* 8002AA4C 000266AC B0 1F 00 00 */ sth r0, 0(r31) /* 8002AA50 000266B0 D0 1F 00 04 */ stfs f0, 4(r31) /* 8002AA54 000266B4 48 00 01 50 */ b lbl_8002ABA4 /* 8002AA58 000266B8 80 63 00 20 */ lwz r3, 0x20(r3) /* 8002AA5C 000266BC 38 00 00 01 */ li r0, 1 /* 8002AA60 000266C0 B0 1F 00 00 */ sth r0, 0(r31) /* 8002AA64 000266C4 90 7F 00 04 */ stw r3, 4(r31) /* 8002AA68 000266C8 48 00 01 3C */ b lbl_8002ABA4 /* 8002AA6C 000266CC 80 63 00 1C */ lwz r3, 0x1c(r3) /* 8002AA70 000266D0 38 00 00 01 */ li r0, 1 /* 8002AA74 000266D4 B0 1F 00 00 */ sth r0, 0(r31) /* 8002AA78 000266D8 90 7F 00 04 */ stw r3, 4(r31) /* 8002AA7C 000266DC 48 00 01 28 */ b lbl_8002ABA4 /* 8002AA80 000266E0 80 83 00 20 */ lwz r4, 0x20(r3) /* 8002AA84 000266E4 38 00 00 01 */ li r0, 1 /* 8002AA88 000266E8 80 63 00 1C */ lwz r3, 0x1c(r3) /* 8002AA8C 000266EC 7C 83 18 78 */ andc r3, r4, r3 /* 8002AA90 000266F0 B0 1F 00 00 */ sth r0, 0(r31) /* 8002AA94 000266F4 90 7F 00 04 */ stw r3, 4(r31) /* 8002AA98 000266F8 48 00 01 0C */ b lbl_8002ABA4 /* 8002AA9C 000266FC 80 63 08 90 */ lwz r3, 0x890(r3) /* 8002AAA0 00026700 38 00 00 01 */ li r0, 1 /* 8002AAA4 00026704 B0 1F 00 00 */ sth r0, 0(r31) /* 8002AAA8 00026708 90 7F 00 04 */ stw r3, 4(r31) /* 8002AAAC 0002670C 48 00 00 F8 */ b lbl_8002ABA4 /* 8002AAB0 00026710 80 63 08 AC */ lwz r3, 0x8ac(r3) /* 8002AAB4 00026714 38 00 00 01 */ li r0, 1 /* 8002AAB8 00026718 B0 1F 00 00 */ sth r0, 0(r31) /* 8002AABC 0002671C 90 7F 00 04 */ stw r3, 4(r31) /* 8002AAC0 00026720 48 00 00 E4 */ b lbl_8002ABA4 /* 8002AAC4 00026724 C0 03 00 28 */ lfs f0, 0x28(r3) /* 8002AAC8 00026728 38 00 00 02 */ li r0, 2 /* 8002AACC 0002672C B0 1F 00 00 */ sth r0, 0(r31) /* 8002AAD0 00026730 D0 1F 00 04 */ stfs f0, 4(r31) /* 8002AAD4 00026734 48 00 00 D0 */ b lbl_8002ABA4 /* 8002AAD8 00026738 C0 03 00 2C */ lfs f0, 0x2c(r3) /* 8002AADC 0002673C 38 00 00 02 */ li r0, 2 /* 8002AAE0 00026740 B0 1F 00 00 */ sth r0, 0(r31) /* 8002AAE4 00026744 D0 1F 00 04 */ stfs f0, 4(r31) /* 8002AAE8 00026748 48 00 00 BC */ b lbl_8002ABA4 /* 8002AAEC 0002674C A8 1D 00 10 */ lha r0, 0x10(r29) /* 8002AAF0 00026750 2C 00 00 01 */ cmpwi r0, 1 /* 8002AAF4 00026754 40 82 00 0C */ bne lbl_8002AB00 /* 8002AAF8 00026758 80 9D 00 14 */ lwz r4, 0x14(r29) /* 8002AAFC 0002675C 48 00 00 2C */ b lbl_8002AB28 lbl_8002AB00: /* 8002AB00 00026760 2C 00 00 02 */ cmpwi r0, 2 /* 8002AB04 00026764 40 82 00 18 */ bne lbl_8002AB1C /* 8002AB08 00026768 C0 1D 00 14 */ lfs f0, 0x14(r29) /* 8002AB0C 0002676C FC 00 00 1E */ fctiwz f0, f0 /* 8002AB10 00026770 D8 01 00 08 */ stfd f0, 8(r1) /* 8002AB14 00026774 80 61 00 0C */ lwz r3, 0xc(r1) /* 8002AB18 00026778 48 00 00 0C */ b lbl_8002AB24 lbl_8002AB1C: /* 8002AB1C 0002677C 38 7D 00 10 */ addi r3, r29, 0x10 /* 8002AB20 00026780 48 20 32 15 */ bl func_8022DD34 lbl_8002AB24: /* 8002AB24 00026784 7C 64 1B 78 */ mr r4, r3 lbl_8002AB28: /* 8002AB28 00026788 7F C3 F3 78 */ mr r3, r30 /* 8002AB2C 0002678C 48 21 96 3D */ bl func_80244168 /* 8002AB30 00026790 38 00 00 02 */ li r0, 2 /* 8002AB34 00026794 D0 3F 00 04 */ stfs f1, 4(r31) /* 8002AB38 00026798 B0 1F 00 00 */ sth r0, 0(r31) /* 8002AB3C 0002679C 48 00 00 68 */ b lbl_8002ABA4 /* 8002AB40 000267A0 A8 1D 00 10 */ lha r0, 0x10(r29) /* 8002AB44 000267A4 2C 00 00 01 */ cmpwi r0, 1 /* 8002AB48 000267A8 40 82 00 0C */ bne lbl_8002AB54 /* 8002AB4C 000267AC 80 7D 00 14 */ lwz r3, 0x14(r29) /* 8002AB50 000267B0 48 00 00 28 */ b lbl_8002AB78 lbl_8002AB54: /* 8002AB54 000267B4 2C 00 00 02 */ cmpwi r0, 2 /* 8002AB58 000267B8 40 82 00 18 */ bne lbl_8002AB70 /* 8002AB5C 000267BC C0 1D 00 14 */ lfs f0, 0x14(r29) /* 8002AB60 000267C0 FC 00 00 1E */ fctiwz f0, f0 /* 8002AB64 000267C4 D8 01 00 08 */ stfd f0, 8(r1) /* 8002AB68 000267C8 80 61 00 0C */ lwz r3, 0xc(r1) /* 8002AB6C 000267CC 48 00 00 0C */ b lbl_8002AB78 lbl_8002AB70: /* 8002AB70 000267D0 38 7D 00 10 */ addi r3, r29, 0x10 /* 8002AB74 000267D4 48 20 31 C1 */ bl func_8022DD34 lbl_8002AB78: /* 8002AB78 000267D8 80 1E 00 1C */ lwz r0, 0x1c(r30) /* 8002AB7C 000267DC 38 80 00 02 */ li r4, 2 /* 8002AB80 000267E0 7C 00 18 39 */ and. r0, r0, r3 /* 8002AB84 000267E4 41 82 00 08 */ beq lbl_8002AB8C /* 8002AB88 000267E8 38 80 00 00 */ li r4, 0 lbl_8002AB8C: /* 8002AB8C 000267EC 7C 83 23 78 */ mr r3, r4 /* 8002AB90 000267F0 48 00 00 18 */ b lbl_8002ABA8 lbl_8002AB94: /* 8002AB94 000267F4 C0 02 81 20 */ lfs f0, lbl_80640720-_SDA2_BASE_(r2) /* 8002AB98 000267F8 38 00 00 02 */ li r0, 2 /* 8002AB9C 000267FC B0 1F 00 00 */ sth r0, 0(r31) /* 8002ABA0 00026800 D0 1F 00 04 */ stfs f0, 4(r31) lbl_8002ABA4: /* 8002ABA4 00026804 38 60 00 01 */ li r3, 1 lbl_8002ABA8: /* 8002ABA8 00026808 80 01 00 24 */ lwz r0, 0x24(r1) /* 8002ABAC 0002680C 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 8002ABB0 00026810 83 C1 00 18 */ lwz r30, 0x18(r1) /* 8002ABB4 00026814 83 A1 00 14 */ lwz r29, 0x14(r1) /* 8002ABB8 00026818 83 81 00 10 */ lwz r28, 0x10(r1) /* 8002ABBC 0002681C 7C 08 03 A6 */ mtlr r0 /* 8002ABC0 00026820 38 21 00 20 */ addi r1, r1, 0x20 /* 8002ABC4 00026824 4E 80 00 20 */ blr .global func_8002ABC8 func_8002ABC8: /* 8002ABC8 00026828 38 A0 00 01 */ li r5, 1 /* 8002ABCC 0002682C 38 6D 97 10 */ addi r3, r13, lbl_8063E9D0-_SDA_BASE_ /* 8002ABD0 00026830 38 80 00 04 */ li r4, 4 /* 8002ABD4 00026834 38 00 00 00 */ li r0, 0 /* 8002ABD8 00026838 98 AD 97 10 */ stb r5, lbl_8063E9D0-_SDA_BASE_(r13) /* 8002ABDC 0002683C B0 83 00 02 */ sth r4, 2(r3) /* 8002ABE0 00026840 98 03 00 04 */ stb r0, 4(r3) /* 8002ABE4 00026844 4E 80 00 20 */ blr