mirror of https://github.com/zeldaret/tp.git
131 lines
5.7 KiB
ArmAsm
131 lines
5.7 KiB
ArmAsm
.include "macros.inc"
|
|
|
|
.section .text, "ax" # 802a6f70
|
|
|
|
|
|
.global JAUSoundAnimation_NS_getStartSoundIndex
|
|
JAUSoundAnimation_NS_getStartSoundIndex:
|
|
/* 802A6F70 002A3EB0 94 21 FF D0 */ stwu r1, -0x30(r1)
|
|
/* 802A6F74 002A3EB4 7C 08 02 A6 */ mflr r0
|
|
/* 802A6F78 002A3EB8 90 01 00 34 */ stw r0, 0x34(r1)
|
|
/* 802A6F7C 002A3EBC DB E1 00 20 */ stfd f31, 0x20(r1)
|
|
/* 802A6F80 002A3EC0 F3 E1 00 28 */ psq_st f31, 40(r1), 0, qr0
|
|
/* 802A6F84 002A3EC4 39 61 00 20 */ addi r11, r1, 0x20
|
|
/* 802A6F88 002A3EC8 48 0B B2 51 */ bl _savegpr_28
|
|
/* 802A6F8C 002A3ECC 7C 7C 1B 78 */ mr r28, r3
|
|
/* 802A6F90 002A3ED0 FF E0 08 90 */ fmr f31, f1
|
|
/* 802A6F94 002A3ED4 3B A0 00 00 */ li r29, 0
|
|
/* 802A6F98 002A3ED8 3B E0 00 00 */ li r31, 0
|
|
/* 802A6F9C 002A3EDC 83 C3 00 04 */ lwz r30, 4(r3)
|
|
/* 802A6FA0 002A3EE0 48 00 00 4C */ b lbl_802A6FEC
|
|
lbl_802A6FA4:
|
|
/* 802A6FA4 002A3EE4 28 1E 00 00 */ cmplwi r30, 0
|
|
/* 802A6FA8 002A3EE8 41 82 00 24 */ beq lbl_802A6FCC
|
|
/* 802A6FAC 002A3EEC 7F C3 F3 78 */ mr r3, r30
|
|
/* 802A6FB0 002A3EF0 7F 84 E3 78 */ mr r4, r28
|
|
/* 802A6FB4 002A3EF4 7F A5 EB 78 */ mr r5, r29
|
|
/* 802A6FB8 002A3EF8 81 9E 00 00 */ lwz r12, 0(r30)
|
|
/* 802A6FBC 002A3EFC 81 8C 00 0C */ lwz r12, 0xc(r12)
|
|
/* 802A6FC0 002A3F00 7D 89 03 A6 */ mtctr r12
|
|
/* 802A6FC4 002A3F04 4E 80 04 21 */ bctrl
|
|
/* 802A6FC8 002A3F08 48 00 00 0C */ b lbl_802A6FD4
|
|
lbl_802A6FCC:
|
|
/* 802A6FCC 002A3F0C 38 7F 00 08 */ addi r3, r31, 8
|
|
/* 802A6FD0 002A3F10 7C 7C 1A 14 */ add r3, r28, r3
|
|
lbl_802A6FD4:
|
|
/* 802A6FD4 002A3F14 C0 03 00 04 */ lfs f0, 4(r3)
|
|
/* 802A6FD8 002A3F18 FC 00 F8 40 */ fcmpo cr0, f0, f31
|
|
/* 802A6FDC 002A3F1C 4C 41 13 82 */ cror 2, 1, 2
|
|
/* 802A6FE0 002A3F20 41 82 00 40 */ beq lbl_802A7020
|
|
/* 802A6FE4 002A3F24 3B BD 00 01 */ addi r29, r29, 1
|
|
/* 802A6FE8 002A3F28 3B FF 00 20 */ addi r31, r31, 0x20
|
|
lbl_802A6FEC:
|
|
/* 802A6FEC 002A3F2C 28 1E 00 00 */ cmplwi r30, 0
|
|
/* 802A6FF0 002A3F30 41 82 00 20 */ beq lbl_802A7010
|
|
/* 802A6FF4 002A3F34 7F C3 F3 78 */ mr r3, r30
|
|
/* 802A6FF8 002A3F38 7F 84 E3 78 */ mr r4, r28
|
|
/* 802A6FFC 002A3F3C 81 9E 00 00 */ lwz r12, 0(r30)
|
|
/* 802A7000 002A3F40 81 8C 00 10 */ lwz r12, 0x10(r12)
|
|
/* 802A7004 002A3F44 7D 89 03 A6 */ mtctr r12
|
|
/* 802A7008 002A3F48 4E 80 04 21 */ bctrl
|
|
/* 802A700C 002A3F4C 48 00 00 08 */ b lbl_802A7014
|
|
lbl_802A7010:
|
|
/* 802A7010 002A3F50 A0 7C 00 00 */ lhz r3, 0(r28)
|
|
lbl_802A7014:
|
|
/* 802A7014 002A3F54 54 60 04 3E */ clrlwi r0, r3, 0x10
|
|
/* 802A7018 002A3F58 7C 1D 00 00 */ cmpw r29, r0
|
|
/* 802A701C 002A3F5C 41 80 FF 88 */ blt lbl_802A6FA4
|
|
lbl_802A7020:
|
|
/* 802A7020 002A3F60 7F A3 EB 78 */ mr r3, r29
|
|
/* 802A7024 002A3F64 E3 E1 00 28 */ psq_l f31, 40(r1), 0, qr0
|
|
/* 802A7028 002A3F68 CB E1 00 20 */ lfd f31, 0x20(r1)
|
|
/* 802A702C 002A3F6C 39 61 00 20 */ addi r11, r1, 0x20
|
|
/* 802A7030 002A3F70 48 0B B1 F5 */ bl _restgpr_28
|
|
/* 802A7034 002A3F74 80 01 00 34 */ lwz r0, 0x34(r1)
|
|
/* 802A7038 002A3F78 7C 08 03 A6 */ mtlr r0
|
|
/* 802A703C 002A3F7C 38 21 00 30 */ addi r1, r1, 0x30
|
|
/* 802A7040 002A3F80 4E 80 00 20 */ blr
|
|
|
|
.global JAUSoundAnimation_NS_getEndSoundIndex
|
|
JAUSoundAnimation_NS_getEndSoundIndex:
|
|
/* 802A7044 002A3F84 94 21 FF D0 */ stwu r1, -0x30(r1)
|
|
/* 802A7048 002A3F88 7C 08 02 A6 */ mflr r0
|
|
/* 802A704C 002A3F8C 90 01 00 34 */ stw r0, 0x34(r1)
|
|
/* 802A7050 002A3F90 DB E1 00 20 */ stfd f31, 0x20(r1)
|
|
/* 802A7054 002A3F94 F3 E1 00 28 */ psq_st f31, 40(r1), 0, qr0
|
|
/* 802A7058 002A3F98 39 61 00 20 */ addi r11, r1, 0x20
|
|
/* 802A705C 002A3F9C 48 0B B1 7D */ bl _savegpr_28
|
|
/* 802A7060 002A3FA0 7C 7C 1B 78 */ mr r28, r3
|
|
/* 802A7064 002A3FA4 FF E0 08 90 */ fmr f31, f1
|
|
/* 802A7068 002A3FA8 3B A0 00 00 */ li r29, 0
|
|
/* 802A706C 002A3FAC 3B E0 00 00 */ li r31, 0
|
|
/* 802A7070 002A3FB0 83 C3 00 04 */ lwz r30, 4(r3)
|
|
/* 802A7074 002A3FB4 48 00 00 48 */ b lbl_802A70BC
|
|
lbl_802A7078:
|
|
/* 802A7078 002A3FB8 28 1E 00 00 */ cmplwi r30, 0
|
|
/* 802A707C 002A3FBC 41 82 00 24 */ beq lbl_802A70A0
|
|
/* 802A7080 002A3FC0 7F C3 F3 78 */ mr r3, r30
|
|
/* 802A7084 002A3FC4 7F 84 E3 78 */ mr r4, r28
|
|
/* 802A7088 002A3FC8 7F A5 EB 78 */ mr r5, r29
|
|
/* 802A708C 002A3FCC 81 9E 00 00 */ lwz r12, 0(r30)
|
|
/* 802A7090 002A3FD0 81 8C 00 0C */ lwz r12, 0xc(r12)
|
|
/* 802A7094 002A3FD4 7D 89 03 A6 */ mtctr r12
|
|
/* 802A7098 002A3FD8 4E 80 04 21 */ bctrl
|
|
/* 802A709C 002A3FDC 48 00 00 0C */ b lbl_802A70A8
|
|
lbl_802A70A0:
|
|
/* 802A70A0 002A3FE0 38 7F 00 08 */ addi r3, r31, 8
|
|
/* 802A70A4 002A3FE4 7C 7C 1A 14 */ add r3, r28, r3
|
|
lbl_802A70A8:
|
|
/* 802A70A8 002A3FE8 C0 03 00 04 */ lfs f0, 4(r3)
|
|
/* 802A70AC 002A3FEC FC 00 F8 40 */ fcmpo cr0, f0, f31
|
|
/* 802A70B0 002A3FF0 41 81 00 40 */ bgt lbl_802A70F0
|
|
/* 802A70B4 002A3FF4 3B BD 00 01 */ addi r29, r29, 1
|
|
/* 802A70B8 002A3FF8 3B FF 00 20 */ addi r31, r31, 0x20
|
|
lbl_802A70BC:
|
|
/* 802A70BC 002A3FFC 28 1E 00 00 */ cmplwi r30, 0
|
|
/* 802A70C0 002A4000 41 82 00 20 */ beq lbl_802A70E0
|
|
/* 802A70C4 002A4004 7F C3 F3 78 */ mr r3, r30
|
|
/* 802A70C8 002A4008 7F 84 E3 78 */ mr r4, r28
|
|
/* 802A70CC 002A400C 81 9E 00 00 */ lwz r12, 0(r30)
|
|
/* 802A70D0 002A4010 81 8C 00 10 */ lwz r12, 0x10(r12)
|
|
/* 802A70D4 002A4014 7D 89 03 A6 */ mtctr r12
|
|
/* 802A70D8 002A4018 4E 80 04 21 */ bctrl
|
|
/* 802A70DC 002A401C 48 00 00 08 */ b lbl_802A70E4
|
|
lbl_802A70E0:
|
|
/* 802A70E0 002A4020 A0 7C 00 00 */ lhz r3, 0(r28)
|
|
lbl_802A70E4:
|
|
/* 802A70E4 002A4024 54 60 04 3E */ clrlwi r0, r3, 0x10
|
|
/* 802A70E8 002A4028 7C 1D 00 00 */ cmpw r29, r0
|
|
/* 802A70EC 002A402C 41 80 FF 8C */ blt lbl_802A7078
|
|
lbl_802A70F0:
|
|
/* 802A70F0 002A4030 7F A3 EB 78 */ mr r3, r29
|
|
/* 802A70F4 002A4034 E3 E1 00 28 */ psq_l f31, 40(r1), 0, qr0
|
|
/* 802A70F8 002A4038 CB E1 00 20 */ lfd f31, 0x20(r1)
|
|
/* 802A70FC 002A403C 39 61 00 20 */ addi r11, r1, 0x20
|
|
/* 802A7100 002A4040 48 0B B1 25 */ bl _restgpr_28
|
|
/* 802A7104 002A4044 80 01 00 34 */ lwz r0, 0x34(r1)
|
|
/* 802A7108 002A4048 7C 08 03 A6 */ mtlr r0
|
|
/* 802A710C 002A404C 38 21 00 30 */ addi r1, r1, 0x30
|
|
/* 802A7110 002A4050 4E 80 00 20 */ blr
|
|
|