mirror of https://github.com/zeldaret/tp.git
243 lines
11 KiB
ArmAsm
243 lines
11 KiB
ArmAsm
.include "macros.inc"
|
|
|
|
.section .text, "ax" # 802e5530
|
|
|
|
|
|
.global JUTFader
|
|
JUTFader:
|
|
/* 802E5530 002E2470 94 21 FF D0 */ stwu r1, -0x30(r1)
|
|
/* 802E5534 002E2474 3D 20 80 3D */ lis r9, lbl_803CC990@ha
|
|
/* 802E5538 002E2478 38 09 C9 90 */ addi r0, r9, lbl_803CC990@l
|
|
/* 802E553C 002E247C 90 03 00 00 */ stw r0, 0(r3)
|
|
/* 802E5540 002E2480 80 08 00 00 */ lwz r0, 0(r8)
|
|
/* 802E5544 002E2484 90 03 00 0C */ stw r0, 0xc(r3)
|
|
/* 802E5548 002E2488 C8 22 C6 D0 */ lfd f1, lbl_804560D0-_SDA2_BASE_(r2)
|
|
/* 802E554C 002E248C 6C 80 80 00 */ xoris r0, r4, 0x8000
|
|
/* 802E5550 002E2490 90 01 00 0C */ stw r0, 0xc(r1)
|
|
/* 802E5554 002E2494 3D 00 43 30 */ lis r8, 0x4330
|
|
/* 802E5558 002E2498 91 01 00 08 */ stw r8, 8(r1)
|
|
/* 802E555C 002E249C C8 01 00 08 */ lfd f0, 8(r1)
|
|
/* 802E5560 002E24A0 EC 00 08 28 */ fsubs f0, f0, f1
|
|
/* 802E5564 002E24A4 D0 03 00 10 */ stfs f0, 0x10(r3)
|
|
/* 802E5568 002E24A8 6C A0 80 00 */ xoris r0, r5, 0x8000
|
|
/* 802E556C 002E24AC 90 01 00 14 */ stw r0, 0x14(r1)
|
|
/* 802E5570 002E24B0 91 01 00 10 */ stw r8, 0x10(r1)
|
|
/* 802E5574 002E24B4 C8 01 00 10 */ lfd f0, 0x10(r1)
|
|
/* 802E5578 002E24B8 EC 00 08 28 */ fsubs f0, f0, f1
|
|
/* 802E557C 002E24BC D0 03 00 14 */ stfs f0, 0x14(r3)
|
|
/* 802E5580 002E24C0 7C 04 32 14 */ add r0, r4, r6
|
|
/* 802E5584 002E24C4 6C 00 80 00 */ xoris r0, r0, 0x8000
|
|
/* 802E5588 002E24C8 90 01 00 1C */ stw r0, 0x1c(r1)
|
|
/* 802E558C 002E24CC 91 01 00 18 */ stw r8, 0x18(r1)
|
|
/* 802E5590 002E24D0 C8 01 00 18 */ lfd f0, 0x18(r1)
|
|
/* 802E5594 002E24D4 EC 00 08 28 */ fsubs f0, f0, f1
|
|
/* 802E5598 002E24D8 D0 03 00 18 */ stfs f0, 0x18(r3)
|
|
/* 802E559C 002E24DC 7C 05 3A 14 */ add r0, r5, r7
|
|
/* 802E55A0 002E24E0 6C 00 80 00 */ xoris r0, r0, 0x8000
|
|
/* 802E55A4 002E24E4 90 01 00 24 */ stw r0, 0x24(r1)
|
|
/* 802E55A8 002E24E8 91 01 00 20 */ stw r8, 0x20(r1)
|
|
/* 802E55AC 002E24EC C8 01 00 20 */ lfd f0, 0x20(r1)
|
|
/* 802E55B0 002E24F0 EC 00 08 28 */ fsubs f0, f0, f1
|
|
/* 802E55B4 002E24F4 D0 03 00 1C */ stfs f0, 0x1c(r3)
|
|
/* 802E55B8 002E24F8 38 00 00 00 */ li r0, 0
|
|
/* 802E55BC 002E24FC 90 03 00 04 */ stw r0, 4(r3)
|
|
/* 802E55C0 002E2500 B0 03 00 08 */ sth r0, 8(r3)
|
|
/* 802E55C4 002E2504 B0 03 00 0A */ sth r0, 0xa(r3)
|
|
/* 802E55C8 002E2508 90 03 00 24 */ stw r0, 0x24(r3)
|
|
/* 802E55CC 002E250C 38 00 FF FF */ li r0, -1
|
|
/* 802E55D0 002E2510 90 03 00 20 */ stw r0, 0x20(r3)
|
|
/* 802E55D4 002E2514 38 21 00 30 */ addi r1, r1, 0x30
|
|
/* 802E55D8 002E2518 4E 80 00 20 */ blr
|
|
|
|
.global JUTFader_NS_control
|
|
JUTFader_NS_control:
|
|
/* 802E55DC 002E251C 94 21 FF F0 */ stwu r1, -0x10(r1)
|
|
/* 802E55E0 002E2520 7C 08 02 A6 */ mflr r0
|
|
/* 802E55E4 002E2524 90 01 00 14 */ stw r0, 0x14(r1)
|
|
/* 802E55E8 002E2528 80 83 00 20 */ lwz r4, 0x20(r3)
|
|
/* 802E55EC 002E252C 2C 04 00 00 */ cmpwi r4, 0
|
|
/* 802E55F0 002E2530 41 80 00 18 */ blt lbl_802E5608
|
|
/* 802E55F4 002E2534 38 04 FF FF */ addi r0, r4, -1
|
|
/* 802E55F8 002E2538 90 03 00 20 */ stw r0, 0x20(r3)
|
|
/* 802E55FC 002E253C 40 82 00 0C */ bne lbl_802E5608
|
|
/* 802E5600 002E2540 80 03 00 24 */ lwz r0, 0x24(r3)
|
|
/* 802E5604 002E2544 90 03 00 04 */ stw r0, 4(r3)
|
|
lbl_802E5608:
|
|
/* 802E5608 002E2548 80 03 00 04 */ lwz r0, 4(r3)
|
|
/* 802E560C 002E254C 2C 00 00 01 */ cmpwi r0, 1
|
|
/* 802E5610 002E2550 41 82 00 BC */ beq lbl_802E56CC
|
|
/* 802E5614 002E2554 2C 00 00 02 */ cmpwi r0, 2
|
|
/* 802E5618 002E2558 41 82 00 2C */ beq lbl_802E5644
|
|
/* 802E561C 002E255C 40 80 00 10 */ bge lbl_802E562C
|
|
/* 802E5620 002E2560 2C 00 00 00 */ cmpwi r0, 0
|
|
/* 802E5624 002E2564 41 82 00 14 */ beq lbl_802E5638
|
|
/* 802E5628 002E2568 48 00 00 94 */ b lbl_802E56BC
|
|
lbl_802E562C:
|
|
/* 802E562C 002E256C 2C 00 00 04 */ cmpwi r0, 4
|
|
/* 802E5630 002E2570 40 80 00 8C */ bge lbl_802E56BC
|
|
/* 802E5634 002E2574 48 00 00 50 */ b lbl_802E5684
|
|
lbl_802E5638:
|
|
/* 802E5638 002E2578 38 00 00 FF */ li r0, 0xff
|
|
/* 802E563C 002E257C 98 03 00 0F */ stb r0, 0xf(r3)
|
|
/* 802E5640 002E2580 48 00 00 7C */ b lbl_802E56BC
|
|
lbl_802E5644:
|
|
/* 802E5644 002E2584 A0 83 00 0A */ lhz r4, 0xa(r3)
|
|
/* 802E5648 002E2588 38 04 00 01 */ addi r0, r4, 1
|
|
/* 802E564C 002E258C B0 03 00 0A */ sth r0, 0xa(r3)
|
|
/* 802E5650 002E2590 54 00 04 3E */ clrlwi r0, r0, 0x10
|
|
/* 802E5654 002E2594 1C 80 00 FF */ mulli r4, r0, 0xff
|
|
/* 802E5658 002E2598 A0 03 00 08 */ lhz r0, 8(r3)
|
|
/* 802E565C 002E259C 7C 04 03 D6 */ divw r0, r4, r0
|
|
/* 802E5660 002E25A0 20 00 00 FF */ subfic r0, r0, 0xff
|
|
/* 802E5664 002E25A4 98 03 00 0F */ stb r0, 0xf(r3)
|
|
/* 802E5668 002E25A8 A0 83 00 0A */ lhz r4, 0xa(r3)
|
|
/* 802E566C 002E25AC A0 03 00 08 */ lhz r0, 8(r3)
|
|
/* 802E5670 002E25B0 7C 04 00 40 */ cmplw r4, r0
|
|
/* 802E5674 002E25B4 41 80 00 48 */ blt lbl_802E56BC
|
|
/* 802E5678 002E25B8 38 00 00 01 */ li r0, 1
|
|
/* 802E567C 002E25BC 90 03 00 04 */ stw r0, 4(r3)
|
|
/* 802E5680 002E25C0 48 00 00 3C */ b lbl_802E56BC
|
|
lbl_802E5684:
|
|
/* 802E5684 002E25C4 A0 83 00 0A */ lhz r4, 0xa(r3)
|
|
/* 802E5688 002E25C8 38 04 00 01 */ addi r0, r4, 1
|
|
/* 802E568C 002E25CC B0 03 00 0A */ sth r0, 0xa(r3)
|
|
/* 802E5690 002E25D0 54 00 04 3E */ clrlwi r0, r0, 0x10
|
|
/* 802E5694 002E25D4 1C 80 00 FF */ mulli r4, r0, 0xff
|
|
/* 802E5698 002E25D8 A0 03 00 08 */ lhz r0, 8(r3)
|
|
/* 802E569C 002E25DC 7C 04 03 D6 */ divw r0, r4, r0
|
|
/* 802E56A0 002E25E0 98 03 00 0F */ stb r0, 0xf(r3)
|
|
/* 802E56A4 002E25E4 A0 83 00 0A */ lhz r4, 0xa(r3)
|
|
/* 802E56A8 002E25E8 A0 03 00 08 */ lhz r0, 8(r3)
|
|
/* 802E56AC 002E25EC 7C 04 00 40 */ cmplw r4, r0
|
|
/* 802E56B0 002E25F0 41 80 00 0C */ blt lbl_802E56BC
|
|
/* 802E56B4 002E25F4 38 00 00 00 */ li r0, 0
|
|
/* 802E56B8 002E25F8 90 03 00 04 */ stw r0, 4(r3)
|
|
lbl_802E56BC:
|
|
/* 802E56BC 002E25FC 81 83 00 00 */ lwz r12, 0(r3)
|
|
/* 802E56C0 002E2600 81 8C 00 14 */ lwz r12, 0x14(r12)
|
|
/* 802E56C4 002E2604 7D 89 03 A6 */ mtctr r12
|
|
/* 802E56C8 002E2608 4E 80 04 21 */ bctrl
|
|
lbl_802E56CC:
|
|
/* 802E56CC 002E260C 80 01 00 14 */ lwz r0, 0x14(r1)
|
|
/* 802E56D0 002E2610 7C 08 03 A6 */ mtlr r0
|
|
/* 802E56D4 002E2614 38 21 00 10 */ addi r1, r1, 0x10
|
|
/* 802E56D8 002E2618 4E 80 00 20 */ blr
|
|
/* 802E56DC 002E261C 94 21 FF 00 */ stwu r1, -0x100(r1)
|
|
/* 802E56E0 002E2620 7C 08 02 A6 */ mflr r0
|
|
/* 802E56E4 002E2624 90 01 01 04 */ stw r0, 0x104(r1)
|
|
/* 802E56E8 002E2628 93 E1 00 FC */ stw r31, 0xfc(r1)
|
|
/* 802E56EC 002E262C 7C 7F 1B 78 */ mr r31, r3
|
|
/* 802E56F0 002E2630 88 03 00 0F */ lbz r0, 0xf(r3)
|
|
/* 802E56F4 002E2634 28 00 00 00 */ cmplwi r0, 0
|
|
/* 802E56F8 002E2638 41 82 00 60 */ beq lbl_802E5758
|
|
/* 802E56FC 002E263C 38 61 00 1C */ addi r3, r1, 0x1c
|
|
/* 802E5700 002E2640 48 00 3F 71 */ bl J2DOrthoGraph
|
|
/* 802E5704 002E2644 80 1F 00 0C */ lwz r0, 0xc(r31)
|
|
/* 802E5708 002E2648 90 01 00 18 */ stw r0, 0x18(r1)
|
|
/* 802E570C 002E264C 90 01 00 14 */ stw r0, 0x14(r1)
|
|
/* 802E5710 002E2650 90 01 00 10 */ stw r0, 0x10(r1)
|
|
/* 802E5714 002E2654 90 01 00 0C */ stw r0, 0xc(r1)
|
|
/* 802E5718 002E2658 90 01 00 08 */ stw r0, 8(r1)
|
|
/* 802E571C 002E265C 38 61 00 1C */ addi r3, r1, 0x1c
|
|
/* 802E5720 002E2660 38 81 00 08 */ addi r4, r1, 8
|
|
/* 802E5724 002E2664 38 A1 00 0C */ addi r5, r1, 0xc
|
|
/* 802E5728 002E2668 38 C1 00 10 */ addi r6, r1, 0x10
|
|
/* 802E572C 002E266C 38 E1 00 14 */ addi r7, r1, 0x14
|
|
/* 802E5730 002E2670 48 00 39 E9 */ bl J2DGrafContext_NS_setColor
|
|
/* 802E5734 002E2674 38 61 00 1C */ addi r3, r1, 0x1c
|
|
/* 802E5738 002E2678 38 9F 00 10 */ addi r4, r31, 0x10
|
|
/* 802E573C 002E267C 48 00 3B 25 */ bl J2DGrafContext_NS_fillBox
|
|
/* 802E5740 002E2680 3C 60 80 3D */ lis r3, lbl_803CC9E0@ha
|
|
/* 802E5744 002E2684 38 03 C9 E0 */ addi r0, r3, lbl_803CC9E0@l
|
|
/* 802E5748 002E2688 90 01 00 1C */ stw r0, 0x1c(r1)
|
|
/* 802E574C 002E268C 3C 60 80 3D */ lis r3, lbl_803CC9B8@ha
|
|
/* 802E5750 002E2690 38 03 C9 B8 */ addi r0, r3, lbl_803CC9B8@l
|
|
/* 802E5754 002E2694 90 01 00 1C */ stw r0, 0x1c(r1)
|
|
lbl_802E5758:
|
|
/* 802E5758 002E2698 83 E1 00 FC */ lwz r31, 0xfc(r1)
|
|
/* 802E575C 002E269C 80 01 01 04 */ lwz r0, 0x104(r1)
|
|
/* 802E5760 002E26A0 7C 08 03 A6 */ mtlr r0
|
|
/* 802E5764 002E26A4 38 21 01 00 */ addi r1, r1, 0x100
|
|
/* 802E5768 002E26A8 4E 80 00 20 */ blr
|
|
/* 802E576C 002E26AC 80 03 00 04 */ lwz r0, 4(r3)
|
|
/* 802E5770 002E26B0 7C 00 00 34 */ cntlzw r0, r0
|
|
/* 802E5774 002E26B4 54 05 D9 7E */ srwi r5, r0, 5
|
|
/* 802E5778 002E26B8 54 00 DE 3F */ rlwinm. r0, r0, 0x1b, 0x18, 0x1f
|
|
/* 802E577C 002E26BC 41 82 00 18 */ beq lbl_802E5794
|
|
/* 802E5780 002E26C0 38 00 00 02 */ li r0, 2
|
|
/* 802E5784 002E26C4 90 03 00 04 */ stw r0, 4(r3)
|
|
/* 802E5788 002E26C8 38 00 00 00 */ li r0, 0
|
|
/* 802E578C 002E26CC B0 03 00 0A */ sth r0, 0xa(r3)
|
|
/* 802E5790 002E26D0 B0 83 00 08 */ sth r4, 8(r3)
|
|
lbl_802E5794:
|
|
/* 802E5794 002E26D4 7C A3 2B 78 */ mr r3, r5
|
|
/* 802E5798 002E26D8 4E 80 00 20 */ blr
|
|
/* 802E579C 002E26DC 80 03 00 04 */ lwz r0, 4(r3)
|
|
/* 802E57A0 002E26E0 20 00 00 01 */ subfic r0, r0, 1
|
|
/* 802E57A4 002E26E4 7C 00 00 34 */ cntlzw r0, r0
|
|
/* 802E57A8 002E26E8 54 05 D9 7E */ srwi r5, r0, 5
|
|
/* 802E57AC 002E26EC 54 00 DE 3F */ rlwinm. r0, r0, 0x1b, 0x18, 0x1f
|
|
/* 802E57B0 002E26F0 41 82 00 18 */ beq lbl_802E57C8
|
|
/* 802E57B4 002E26F4 38 00 00 03 */ li r0, 3
|
|
/* 802E57B8 002E26F8 90 03 00 04 */ stw r0, 4(r3)
|
|
/* 802E57BC 002E26FC 38 00 00 00 */ li r0, 0
|
|
/* 802E57C0 002E2700 B0 03 00 0A */ sth r0, 0xa(r3)
|
|
/* 802E57C4 002E2704 B0 83 00 08 */ sth r4, 8(r3)
|
|
lbl_802E57C8:
|
|
/* 802E57C8 002E2708 7C A3 2B 78 */ mr r3, r5
|
|
/* 802E57CC 002E270C 4E 80 00 20 */ blr
|
|
|
|
.global JUTFader_NS_setStatus
|
|
JUTFader_NS_setStatus:
|
|
/* 802E57D0 002E2710 2C 04 00 01 */ cmpwi r4, 1
|
|
/* 802E57D4 002E2714 41 82 00 3C */ beq lbl_802E5810
|
|
/* 802E57D8 002E2718 4C 80 00 20 */ bgelr
|
|
/* 802E57DC 002E271C 2C 04 00 00 */ cmpwi r4, 0
|
|
/* 802E57E0 002E2720 4D 80 00 20 */ bltlr
|
|
/* 802E57E4 002E2724 2C 05 00 00 */ cmpwi r5, 0
|
|
/* 802E57E8 002E2728 41 82 00 14 */ beq lbl_802E57FC
|
|
/* 802E57EC 002E272C 38 00 00 00 */ li r0, 0
|
|
/* 802E57F0 002E2730 90 03 00 24 */ stw r0, 0x24(r3)
|
|
/* 802E57F4 002E2734 90 A3 00 20 */ stw r5, 0x20(r3)
|
|
/* 802E57F8 002E2738 4E 80 00 20 */ blr
|
|
lbl_802E57FC:
|
|
/* 802E57FC 002E273C 38 00 00 00 */ li r0, 0
|
|
/* 802E5800 002E2740 90 03 00 04 */ stw r0, 4(r3)
|
|
/* 802E5804 002E2744 90 03 00 24 */ stw r0, 0x24(r3)
|
|
/* 802E5808 002E2748 90 03 00 20 */ stw r0, 0x20(r3)
|
|
/* 802E580C 002E274C 4E 80 00 20 */ blr
|
|
lbl_802E5810:
|
|
/* 802E5810 002E2750 2C 05 00 00 */ cmpwi r5, 0
|
|
/* 802E5814 002E2754 41 82 00 14 */ beq lbl_802E5828
|
|
/* 802E5818 002E2758 38 00 00 01 */ li r0, 1
|
|
/* 802E581C 002E275C 90 03 00 24 */ stw r0, 0x24(r3)
|
|
/* 802E5820 002E2760 90 A3 00 20 */ stw r5, 0x20(r3)
|
|
/* 802E5824 002E2764 4E 80 00 20 */ blr
|
|
lbl_802E5828:
|
|
/* 802E5828 002E2768 38 00 00 01 */ li r0, 1
|
|
/* 802E582C 002E276C 90 03 00 04 */ stw r0, 4(r3)
|
|
/* 802E5830 002E2770 90 03 00 24 */ stw r0, 0x24(r3)
|
|
/* 802E5834 002E2774 38 00 00 00 */ li r0, 0
|
|
/* 802E5838 002E2778 90 03 00 20 */ stw r0, 0x20(r3)
|
|
/* 802E583C 002E277C 4E 80 00 20 */ blr
|
|
/* 802E5840 002E2780 94 21 FF F0 */ stwu r1, -0x10(r1)
|
|
/* 802E5844 002E2784 7C 08 02 A6 */ mflr r0
|
|
/* 802E5848 002E2788 90 01 00 14 */ stw r0, 0x14(r1)
|
|
/* 802E584C 002E278C 93 E1 00 0C */ stw r31, 0xc(r1)
|
|
/* 802E5850 002E2790 7C 7F 1B 79 */ or. r31, r3, r3
|
|
/* 802E5854 002E2794 41 82 00 1C */ beq lbl_802E5870
|
|
/* 802E5858 002E2798 3C A0 80 3D */ lis r5, lbl_803CC990@ha
|
|
/* 802E585C 002E279C 38 05 C9 90 */ addi r0, r5, lbl_803CC990@l
|
|
/* 802E5860 002E27A0 90 1F 00 00 */ stw r0, 0(r31)
|
|
/* 802E5864 002E27A4 7C 80 07 35 */ extsh. r0, r4
|
|
/* 802E5868 002E27A8 40 81 00 08 */ ble lbl_802E5870
|
|
/* 802E586C 002E27AC 4B FE 94 D1 */ bl __dl__FPv
|
|
lbl_802E5870:
|
|
/* 802E5870 002E27B0 7F E3 FB 78 */ mr r3, r31
|
|
/* 802E5874 002E27B4 83 E1 00 0C */ lwz r31, 0xc(r1)
|
|
/* 802E5878 002E27B8 80 01 00 14 */ lwz r0, 0x14(r1)
|
|
/* 802E587C 002E27BC 7C 08 03 A6 */ mtlr r0
|
|
/* 802E5880 002E27C0 38 21 00 10 */ addi r1, r1, 0x10
|
|
/* 802E5884 002E27C4 4E 80 00 20 */ blr
|
|
|