donut-decomp/asm/ax/AXVPB.s

1192 lines
52 KiB
ArmAsm
Raw Normal View History

2022-10-16 16:05:58 +00:00
.include "macros.inc"
.section .text, "ax" # 0x80006A00 - 0x80406260 ; 0x003FF860
2022-10-16 16:31:36 +00:00
.global __AXGetNumVoices
__AXGetNumVoices:
/* 80045360 000411A0 80 6D E8 80 */ lwz r3, __AXNumVoices@sda21(r13)
2022-10-16 16:05:58 +00:00
/* 80045364 000411A4 4E 80 00 20 */ blr
/* 80045368 000411A8 00 00 00 00 */ .4byte 0x00000000
/* 8004536C 000411AC 00 00 00 00 */ .4byte 0x00000000
2022-10-16 16:31:36 +00:00
.global __AXServiceVPB
__AXServiceVPB:
2022-10-16 16:05:58 +00:00
/* 80045370 000411B0 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80045374 000411B4 7C 08 02 A6 */ mflr r0
/* 80045378 000411B8 90 01 00 24 */ stw r0, 0x24(r1)
/* 8004537C 000411BC 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80045380 000411C0 93 C1 00 18 */ stw r30, 0x18(r1)
/* 80045384 000411C4 3B C3 00 28 */ addi r30, r3, 0x28
/* 80045388 000411C8 93 A1 00 14 */ stw r29, 0x14(r1)
/* 8004538C 000411CC 93 81 00 10 */ stw r28, 0x10(r1)
/* 80045390 000411D0 7C 7C 1B 78 */ mr r28, r3
2022-10-16 16:31:36 +00:00
/* 80045394 000411D4 80 AD E8 80 */ lwz r5, __AXNumVoices@sda21(r13)
/* 80045398 000411D8 80 8D E8 70 */ lwz r4, __AXPB@sda21(r13)
2022-10-16 16:05:58 +00:00
/* 8004539C 000411DC 38 05 00 01 */ addi r0, r5, 0x1
2022-10-16 16:31:36 +00:00
/* 800453A0 000411E0 90 0D E8 80 */ stw r0, __AXNumVoices@sda21(r13)
2022-10-16 16:05:58 +00:00
/* 800453A4 000411E4 80 03 00 18 */ lwz r0, 0x18(r3)
/* 800453A8 000411E8 83 A3 00 1C */ lwz r29, 0x1c(r3)
/* 800453AC 000411EC 1C 00 01 40 */ mulli r0, r0, 0x140
/* 800453B0 000411F0 2C 1D 00 00 */ cmpwi r29, 0x0
/* 800453B4 000411F4 7F E4 02 14 */ add r31, r4, r0
/* 800453B8 000411F8 40 82 00 28 */ bne lbl_800453E0
/* 800453BC 000411FC A0 1F 00 10 */ lhz r0, 0x10(r31)
/* 800453C0 00041200 B0 1E 00 10 */ sth r0, 0x10(r30)
/* 800453C4 00041204 A0 1F 00 6A */ lhz r0, 0x6a(r31)
/* 800453C8 00041208 B0 1E 00 6A */ sth r0, 0x6a(r30)
/* 800453CC 0004120C A0 1F 00 7A */ lhz r0, 0x7a(r31)
/* 800453D0 00041210 B0 1E 00 7A */ sth r0, 0x7a(r30)
/* 800453D4 00041214 A0 1F 00 7C */ lhz r0, 0x7c(r31)
/* 800453D8 00041218 B0 1E 00 7C */ sth r0, 0x7c(r30)
/* 800453DC 0004121C 48 00 04 C4 */ b lbl_800458A0
.global lbl_800453E0
lbl_800453E0:
/* 800453E0 00041220 57 A0 00 01 */ clrrwi. r0, r29, 31
/* 800453E4 00041224 41 82 00 18 */ beq lbl_800453FC
/* 800453E8 00041228 7F E3 FB 78 */ mr r3, r31
/* 800453EC 0004122C 7F C4 F3 78 */ mr r4, r30
/* 800453F0 00041230 38 A0 01 40 */ li r5, 0x140
2022-10-16 16:31:36 +00:00
/* 800453F4 00041234 4B FB EC 0D */ bl memcpy
2022-10-16 16:05:58 +00:00
/* 800453F8 00041238 48 00 04 A8 */ b lbl_800458A0
.global lbl_800453FC
lbl_800453FC:
/* 800453FC 0004123C 57 A0 07 FF */ clrlwi. r0, r29, 31
/* 80045400 00041240 41 82 00 14 */ beq lbl_80045414
/* 80045404 00041244 A0 1E 00 08 */ lhz r0, 0x8(r30)
/* 80045408 00041248 B0 1F 00 08 */ sth r0, 0x8(r31)
/* 8004540C 0004124C A0 1E 00 0A */ lhz r0, 0xa(r30)
/* 80045410 00041250 B0 1F 00 0A */ sth r0, 0xa(r31)
.global lbl_80045414
lbl_80045414:
/* 80045414 00041254 57 A0 07 BD */ rlwinm. r0, r29, 0, 30, 30
/* 80045418 00041258 41 82 00 0C */ beq lbl_80045424
/* 8004541C 0004125C 80 1E 00 0C */ lwz r0, 0xc(r30)
/* 80045420 00041260 90 1F 00 0C */ stw r0, 0xc(r31)
.global lbl_80045424
lbl_80045424:
/* 80045424 00041264 57 A0 07 7B */ rlwinm. r0, r29, 0, 29, 29
/* 80045428 00041268 41 82 00 10 */ beq lbl_80045438
/* 8004542C 0004126C A0 1E 00 10 */ lhz r0, 0x10(r30)
/* 80045430 00041270 B0 1F 00 10 */ sth r0, 0x10(r31)
/* 80045434 00041274 48 00 00 0C */ b lbl_80045440
.global lbl_80045438
lbl_80045438:
/* 80045438 00041278 A0 1F 00 10 */ lhz r0, 0x10(r31)
/* 8004543C 0004127C B0 1E 00 10 */ sth r0, 0x10(r30)
.global lbl_80045440
lbl_80045440:
/* 80045440 00041280 57 A0 07 39 */ rlwinm. r0, r29, 0, 28, 28
/* 80045444 00041284 41 82 00 0C */ beq lbl_80045450
/* 80045448 00041288 A0 1E 00 12 */ lhz r0, 0x12(r30)
/* 8004544C 0004128C B0 1F 00 12 */ sth r0, 0x12(r31)
.global lbl_80045450
lbl_80045450:
/* 80045450 00041290 57 A0 06 F7 */ rlwinm. r0, r29, 0, 27, 27
/* 80045454 00041294 41 82 00 14 */ beq lbl_80045468
/* 80045458 00041298 38 7F 00 14 */ addi r3, r31, 0x14
/* 8004545C 0004129C 38 9E 00 14 */ addi r4, r30, 0x14
/* 80045460 000412A0 38 A0 00 30 */ li r5, 0x30
2022-10-16 16:31:36 +00:00
/* 80045464 000412A4 4B FB EB 9D */ bl memcpy
2022-10-16 16:05:58 +00:00
.global lbl_80045468
lbl_80045468:
/* 80045468 000412A8 57 A0 06 73 */ rlwinm. r0, r29, 0, 25, 25
/* 8004546C 000412AC 41 82 00 18 */ beq lbl_80045484
/* 80045470 000412B0 A0 1E 00 4E */ lhz r0, 0x4e(r30)
/* 80045474 000412B4 B0 1F 00 4E */ sth r0, 0x4e(r31)
/* 80045478 000412B8 A0 1E 00 50 */ lhz r0, 0x50(r30)
/* 8004547C 000412BC B0 1F 00 50 */ sth r0, 0x50(r31)
/* 80045480 000412C0 48 00 00 8C */ b lbl_8004550C
.global lbl_80045484
lbl_80045484:
/* 80045484 000412C4 57 A0 06 B5 */ rlwinm. r0, r29, 0, 26, 26
/* 80045488 000412C8 41 82 00 84 */ beq lbl_8004550C
/* 8004548C 000412CC A0 7E 00 44 */ lhz r3, 0x44(r30)
/* 80045490 000412D0 38 00 00 00 */ li r0, 0x0
/* 80045494 000412D4 B0 7F 00 44 */ sth r3, 0x44(r31)
/* 80045498 000412D8 A0 7E 00 46 */ lhz r3, 0x46(r30)
/* 8004549C 000412DC B0 7F 00 46 */ sth r3, 0x46(r31)
/* 800454A0 000412E0 A0 7E 00 48 */ lhz r3, 0x48(r30)
/* 800454A4 000412E4 B0 7F 00 48 */ sth r3, 0x48(r31)
/* 800454A8 000412E8 A0 7E 00 4A */ lhz r3, 0x4a(r30)
/* 800454AC 000412EC B0 7F 00 4A */ sth r3, 0x4a(r31)
/* 800454B0 000412F0 A0 7E 00 4C */ lhz r3, 0x4c(r30)
/* 800454B4 000412F4 B0 7F 00 4C */ sth r3, 0x4c(r31)
/* 800454B8 000412F8 A0 7E 00 4E */ lhz r3, 0x4e(r30)
/* 800454BC 000412FC B0 7F 00 4E */ sth r3, 0x4e(r31)
/* 800454C0 00041300 A0 7E 00 50 */ lhz r3, 0x50(r30)
/* 800454C4 00041304 B0 7F 00 50 */ sth r3, 0x50(r31)
/* 800454C8 00041308 80 7C 00 24 */ lwz r3, 0x24(r28)
/* 800454CC 0004130C 90 03 00 00 */ stw r0, 0x0(r3)
/* 800454D0 00041310 90 03 00 04 */ stw r0, 0x4(r3)
/* 800454D4 00041314 90 03 00 08 */ stw r0, 0x8(r3)
/* 800454D8 00041318 90 03 00 0C */ stw r0, 0xc(r3)
/* 800454DC 0004131C 90 03 00 10 */ stw r0, 0x10(r3)
/* 800454E0 00041320 90 03 00 14 */ stw r0, 0x14(r3)
/* 800454E4 00041324 90 03 00 18 */ stw r0, 0x18(r3)
/* 800454E8 00041328 90 03 00 1C */ stw r0, 0x1c(r3)
/* 800454EC 0004132C 90 03 00 20 */ stw r0, 0x20(r3)
/* 800454F0 00041330 90 03 00 24 */ stw r0, 0x24(r3)
/* 800454F4 00041334 90 03 00 28 */ stw r0, 0x28(r3)
/* 800454F8 00041338 90 03 00 2C */ stw r0, 0x2c(r3)
/* 800454FC 0004133C 90 03 00 30 */ stw r0, 0x30(r3)
/* 80045500 00041340 90 03 00 34 */ stw r0, 0x34(r3)
/* 80045504 00041344 90 03 00 38 */ stw r0, 0x38(r3)
/* 80045508 00041348 90 03 00 3C */ stw r0, 0x3c(r3)
.global lbl_8004550C
lbl_8004550C:
/* 8004550C 0004134C 57 A0 06 31 */ rlwinm. r0, r29, 0, 24, 24
/* 80045510 00041350 41 82 00 14 */ beq lbl_80045524
/* 80045514 00041354 38 7F 00 52 */ addi r3, r31, 0x52
/* 80045518 00041358 38 9E 00 52 */ addi r4, r30, 0x52
/* 8004551C 0004135C 38 A0 00 18 */ li r5, 0x18
2022-10-16 16:31:36 +00:00
/* 80045520 00041360 4B FB EA E1 */ bl memcpy
2022-10-16 16:05:58 +00:00
.global lbl_80045524
lbl_80045524:
/* 80045524 00041364 57 A0 05 AD */ rlwinm. r0, r29, 0, 22, 22
/* 80045528 00041368 41 82 00 18 */ beq lbl_80045540
/* 8004552C 0004136C A0 1F 00 6A */ lhz r0, 0x6a(r31)
/* 80045530 00041370 B0 1E 00 6A */ sth r0, 0x6a(r30)
/* 80045534 00041374 A8 1E 00 6C */ lha r0, 0x6c(r30)
/* 80045538 00041378 B0 1F 00 6C */ sth r0, 0x6c(r31)
/* 8004553C 0004137C 48 00 00 1C */ b lbl_80045558
.global lbl_80045540
lbl_80045540:
/* 80045540 00041380 57 A0 05 EF */ rlwinm. r0, r29, 0, 23, 23
/* 80045544 00041384 41 82 00 14 */ beq lbl_80045558
/* 80045548 00041388 A0 1E 00 6A */ lhz r0, 0x6a(r30)
/* 8004554C 0004138C B0 1F 00 6A */ sth r0, 0x6a(r31)
/* 80045550 00041390 A8 1E 00 6C */ lha r0, 0x6c(r30)
/* 80045554 00041394 B0 1F 00 6C */ sth r0, 0x6c(r31)
.global lbl_80045558
lbl_80045558:
/* 80045558 00041398 57 A0 04 69 */ rlwinm. r0, r29, 0, 17, 20
/* 8004555C 0004139C 41 82 00 54 */ beq lbl_800455B0
/* 80045560 000413A0 57 A0 05 29 */ rlwinm. r0, r29, 0, 20, 20
/* 80045564 000413A4 41 82 00 0C */ beq lbl_80045570
/* 80045568 000413A8 A0 1E 00 6E */ lhz r0, 0x6e(r30)
/* 8004556C 000413AC B0 1F 00 6E */ sth r0, 0x6e(r31)
.global lbl_80045570
lbl_80045570:
/* 80045570 000413B0 57 A0 04 E7 */ rlwinm. r0, r29, 0, 19, 19
/* 80045574 000413B4 41 82 00 0C */ beq lbl_80045580
/* 80045578 000413B8 80 1E 00 72 */ lwz r0, 0x72(r30)
/* 8004557C 000413BC 90 1F 00 72 */ stw r0, 0x72(r31)
.global lbl_80045580
lbl_80045580:
/* 80045580 000413C0 57 A0 04 A5 */ rlwinm. r0, r29, 0, 18, 18
/* 80045584 000413C4 41 82 00 0C */ beq lbl_80045590
/* 80045588 000413C8 80 1E 00 76 */ lwz r0, 0x76(r30)
/* 8004558C 000413CC 90 1F 00 76 */ stw r0, 0x76(r31)
.global lbl_80045590
lbl_80045590:
/* 80045590 000413D0 57 A0 04 63 */ rlwinm. r0, r29, 0, 17, 17
/* 80045594 000413D4 41 82 00 10 */ beq lbl_800455A4
/* 80045598 000413D8 80 1E 00 7A */ lwz r0, 0x7a(r30)
/* 8004559C 000413DC 90 1F 00 7A */ stw r0, 0x7a(r31)
/* 800455A0 000413E0 48 00 00 4C */ b lbl_800455EC
.global lbl_800455A4
lbl_800455A4:
/* 800455A4 000413E4 80 1F 00 7A */ lwz r0, 0x7a(r31)
/* 800455A8 000413E8 90 1E 00 7A */ stw r0, 0x7a(r30)
/* 800455AC 000413EC 48 00 00 40 */ b lbl_800455EC
.global lbl_800455B0
lbl_800455B0:
/* 800455B0 000413F0 57 A0 05 6B */ rlwinm. r0, r29, 0, 21, 21
/* 800455B4 000413F4 41 82 00 28 */ beq lbl_800455DC
/* 800455B8 000413F8 80 1E 00 6E */ lwz r0, 0x6e(r30)
/* 800455BC 000413FC 90 1F 00 6E */ stw r0, 0x6e(r31)
/* 800455C0 00041400 80 1E 00 72 */ lwz r0, 0x72(r30)
/* 800455C4 00041404 90 1F 00 72 */ stw r0, 0x72(r31)
/* 800455C8 00041408 80 1E 00 76 */ lwz r0, 0x76(r30)
/* 800455CC 0004140C 90 1F 00 76 */ stw r0, 0x76(r31)
/* 800455D0 00041410 80 1E 00 7A */ lwz r0, 0x7a(r30)
/* 800455D4 00041414 90 1F 00 7A */ stw r0, 0x7a(r31)
/* 800455D8 00041418 48 00 00 14 */ b lbl_800455EC
.global lbl_800455DC
lbl_800455DC:
/* 800455DC 0004141C A0 1F 00 7A */ lhz r0, 0x7a(r31)
/* 800455E0 00041420 B0 1E 00 7A */ sth r0, 0x7a(r30)
/* 800455E4 00041424 A0 1F 00 7C */ lhz r0, 0x7c(r31)
/* 800455E8 00041428 B0 1E 00 7C */ sth r0, 0x7c(r30)
.global lbl_800455EC
lbl_800455EC:
/* 800455EC 0004142C 57 A0 04 21 */ rlwinm. r0, r29, 0, 16, 16
/* 800455F0 00041430 41 82 00 54 */ beq lbl_80045644
/* 800455F4 00041434 80 1E 00 7E */ lwz r0, 0x7e(r30)
/* 800455F8 00041438 90 1F 00 7E */ stw r0, 0x7e(r31)
/* 800455FC 0004143C 80 1E 00 82 */ lwz r0, 0x82(r30)
/* 80045600 00041440 90 1F 00 82 */ stw r0, 0x82(r31)
/* 80045604 00041444 80 1E 00 86 */ lwz r0, 0x86(r30)
/* 80045608 00041448 90 1F 00 86 */ stw r0, 0x86(r31)
/* 8004560C 0004144C 80 1E 00 8A */ lwz r0, 0x8a(r30)
/* 80045610 00041450 90 1F 00 8A */ stw r0, 0x8a(r31)
/* 80045614 00041454 80 1E 00 8E */ lwz r0, 0x8e(r30)
/* 80045618 00041458 90 1F 00 8E */ stw r0, 0x8e(r31)
/* 8004561C 0004145C 80 1E 00 92 */ lwz r0, 0x92(r30)
/* 80045620 00041460 90 1F 00 92 */ stw r0, 0x92(r31)
/* 80045624 00041464 80 1E 00 96 */ lwz r0, 0x96(r30)
/* 80045628 00041468 90 1F 00 96 */ stw r0, 0x96(r31)
/* 8004562C 0004146C 80 1E 00 9A */ lwz r0, 0x9a(r30)
/* 80045630 00041470 90 1F 00 9A */ stw r0, 0x9a(r31)
/* 80045634 00041474 80 1E 00 9E */ lwz r0, 0x9e(r30)
/* 80045638 00041478 90 1F 00 9E */ stw r0, 0x9e(r31)
/* 8004563C 0004147C 80 1E 00 A2 */ lwz r0, 0xa2(r30)
/* 80045640 00041480 90 1F 00 A2 */ stw r0, 0xa2(r31)
.global lbl_80045644
lbl_80045644:
/* 80045644 00041484 57 A0 03 9D */ rlwinm. r0, r29, 0, 14, 14
/* 80045648 00041488 41 82 00 18 */ beq lbl_80045660
/* 8004564C 0004148C A0 1E 00 A6 */ lhz r0, 0xa6(r30)
/* 80045650 00041490 B0 1F 00 A6 */ sth r0, 0xa6(r31)
/* 80045654 00041494 A0 1E 00 A8 */ lhz r0, 0xa8(r30)
/* 80045658 00041498 B0 1F 00 A8 */ sth r0, 0xa8(r31)
/* 8004565C 0004149C 48 00 00 44 */ b lbl_800456A0
.global lbl_80045660
lbl_80045660:
/* 80045660 000414A0 57 A0 03 DF */ rlwinm. r0, r29, 0, 15, 15
/* 80045664 000414A4 41 82 00 3C */ beq lbl_800456A0
/* 80045668 000414A8 A0 1E 00 A6 */ lhz r0, 0xa6(r30)
/* 8004566C 000414AC B0 1F 00 A6 */ sth r0, 0xa6(r31)
/* 80045670 000414B0 A0 1E 00 A8 */ lhz r0, 0xa8(r30)
/* 80045674 000414B4 B0 1F 00 A8 */ sth r0, 0xa8(r31)
/* 80045678 000414B8 A0 1E 00 AA */ lhz r0, 0xaa(r30)
/* 8004567C 000414BC B0 1F 00 AA */ sth r0, 0xaa(r31)
/* 80045680 000414C0 A0 1E 00 AC */ lhz r0, 0xac(r30)
/* 80045684 000414C4 B0 1F 00 AC */ sth r0, 0xac(r31)
/* 80045688 000414C8 A0 1E 00 AE */ lhz r0, 0xae(r30)
/* 8004568C 000414CC B0 1F 00 AE */ sth r0, 0xae(r31)
/* 80045690 000414D0 A0 1E 00 B0 */ lhz r0, 0xb0(r30)
/* 80045694 000414D4 B0 1F 00 B0 */ sth r0, 0xb0(r31)
/* 80045698 000414D8 A0 1E 00 B2 */ lhz r0, 0xb2(r30)
/* 8004569C 000414DC B0 1F 00 B2 */ sth r0, 0xb2(r31)
.global lbl_800456A0
lbl_800456A0:
/* 800456A0 000414E0 57 A0 03 5B */ rlwinm. r0, r29, 0, 13, 13
/* 800456A4 000414E4 41 82 00 1C */ beq lbl_800456C0
/* 800456A8 000414E8 A0 1E 00 B4 */ lhz r0, 0xb4(r30)
/* 800456AC 000414EC B0 1F 00 B4 */ sth r0, 0xb4(r31)
/* 800456B0 000414F0 A0 1E 00 B6 */ lhz r0, 0xb6(r30)
/* 800456B4 000414F4 B0 1F 00 B6 */ sth r0, 0xb6(r31)
/* 800456B8 000414F8 A0 1E 00 B8 */ lhz r0, 0xb8(r30)
/* 800456BC 000414FC B0 1F 00 B8 */ sth r0, 0xb8(r31)
.global lbl_800456C0
lbl_800456C0:
/* 800456C0 00041500 57 A0 02 D7 */ rlwinm. r0, r29, 0, 11, 11
/* 800456C4 00041504 41 82 00 18 */ beq lbl_800456DC
/* 800456C8 00041508 A0 1E 00 BE */ lhz r0, 0xbe(r30)
/* 800456CC 0004150C B0 1F 00 BE */ sth r0, 0xbe(r31)
/* 800456D0 00041510 A0 1E 00 C0 */ lhz r0, 0xc0(r30)
/* 800456D4 00041514 B0 1F 00 C0 */ sth r0, 0xc0(r31)
/* 800456D8 00041518 48 00 00 2C */ b lbl_80045704
.global lbl_800456DC
lbl_800456DC:
/* 800456DC 0004151C 57 A0 03 19 */ rlwinm. r0, r29, 0, 12, 12
/* 800456E0 00041520 41 82 00 24 */ beq lbl_80045704
/* 800456E4 00041524 A0 1E 00 BA */ lhz r0, 0xba(r30)
/* 800456E8 00041528 B0 1F 00 BA */ sth r0, 0xba(r31)
/* 800456EC 0004152C A0 1E 00 BC */ lhz r0, 0xbc(r30)
/* 800456F0 00041530 B0 1F 00 BC */ sth r0, 0xbc(r31)
/* 800456F4 00041534 A0 1E 00 BE */ lhz r0, 0xbe(r30)
/* 800456F8 00041538 B0 1F 00 BE */ sth r0, 0xbe(r31)
/* 800456FC 0004153C A0 1E 00 C0 */ lhz r0, 0xc0(r30)
/* 80045700 00041540 B0 1F 00 C0 */ sth r0, 0xc0(r31)
.global lbl_80045704
lbl_80045704:
/* 80045704 00041544 57 A0 02 53 */ rlwinm. r0, r29, 0, 9, 9
/* 80045708 00041548 41 82 00 30 */ beq lbl_80045738
/* 8004570C 0004154C A0 1E 00 CC */ lhz r0, 0xcc(r30)
/* 80045710 00041550 B0 1F 00 CC */ sth r0, 0xcc(r31)
/* 80045714 00041554 A0 1E 00 CE */ lhz r0, 0xce(r30)
/* 80045718 00041558 B0 1F 00 CE */ sth r0, 0xce(r31)
/* 8004571C 0004155C A0 1E 00 D0 */ lhz r0, 0xd0(r30)
/* 80045720 00041560 B0 1F 00 D0 */ sth r0, 0xd0(r31)
/* 80045724 00041564 A0 1E 00 D2 */ lhz r0, 0xd2(r30)
/* 80045728 00041568 B0 1F 00 D2 */ sth r0, 0xd2(r31)
/* 8004572C 0004156C A0 1E 00 D4 */ lhz r0, 0xd4(r30)
/* 80045730 00041570 B0 1F 00 D4 */ sth r0, 0xd4(r31)
/* 80045734 00041574 48 00 00 5C */ b lbl_80045790
.global lbl_80045738
lbl_80045738:
/* 80045738 00041578 57 A0 02 95 */ rlwinm. r0, r29, 0, 10, 10
/* 8004573C 0004157C 41 82 00 54 */ beq lbl_80045790
/* 80045740 00041580 A0 1E 00 C2 */ lhz r0, 0xc2(r30)
/* 80045744 00041584 B0 1F 00 C2 */ sth r0, 0xc2(r31)
/* 80045748 00041588 A0 1E 00 C4 */ lhz r0, 0xc4(r30)
/* 8004574C 0004158C B0 1F 00 C4 */ sth r0, 0xc4(r31)
/* 80045750 00041590 A0 1E 00 C6 */ lhz r0, 0xc6(r30)
/* 80045754 00041594 B0 1F 00 C6 */ sth r0, 0xc6(r31)
/* 80045758 00041598 A0 1E 00 C8 */ lhz r0, 0xc8(r30)
/* 8004575C 0004159C B0 1F 00 C8 */ sth r0, 0xc8(r31)
/* 80045760 000415A0 A0 1E 00 CA */ lhz r0, 0xca(r30)
/* 80045764 000415A4 B0 1F 00 CA */ sth r0, 0xca(r31)
/* 80045768 000415A8 A0 1E 00 CC */ lhz r0, 0xcc(r30)
/* 8004576C 000415AC B0 1F 00 CC */ sth r0, 0xcc(r31)
/* 80045770 000415B0 A0 1E 00 CE */ lhz r0, 0xce(r30)
/* 80045774 000415B4 B0 1F 00 CE */ sth r0, 0xce(r31)
/* 80045778 000415B8 A0 1E 00 D0 */ lhz r0, 0xd0(r30)
/* 8004577C 000415BC B0 1F 00 D0 */ sth r0, 0xd0(r31)
/* 80045780 000415C0 A0 1E 00 D2 */ lhz r0, 0xd2(r30)
/* 80045784 000415C4 B0 1F 00 D2 */ sth r0, 0xd2(r31)
/* 80045788 000415C8 A0 1E 00 D4 */ lhz r0, 0xd4(r30)
/* 8004578C 000415CC B0 1F 00 D4 */ sth r0, 0xd4(r31)
.global lbl_80045790
lbl_80045790:
/* 80045790 000415D0 57 A0 02 11 */ rlwinm. r0, r29, 0, 8, 8
/* 80045794 000415D4 41 82 00 0C */ beq lbl_800457A0
/* 80045798 000415D8 A0 1E 00 D6 */ lhz r0, 0xd6(r30)
/* 8004579C 000415DC B0 1F 00 D6 */ sth r0, 0xd6(r31)
.global lbl_800457A0
lbl_800457A0:
/* 800457A0 000415E0 57 A0 01 CF */ rlwinm. r0, r29, 0, 7, 7
/* 800457A4 000415E4 41 82 00 0C */ beq lbl_800457B0
/* 800457A8 000415E8 A0 1E 00 D8 */ lhz r0, 0xd8(r30)
/* 800457AC 000415EC B0 1F 00 D8 */ sth r0, 0xd8(r31)
.global lbl_800457B0
lbl_800457B0:
/* 800457B0 000415F0 57 A0 01 8D */ rlwinm. r0, r29, 0, 6, 6
/* 800457B4 000415F4 41 82 00 14 */ beq lbl_800457C8
/* 800457B8 000415F8 38 7F 00 DA */ addi r3, r31, 0xda
/* 800457BC 000415FC 38 9E 00 DA */ addi r4, r30, 0xda
/* 800457C0 00041600 38 A0 00 20 */ li r5, 0x20
2022-10-16 16:31:36 +00:00
/* 800457C4 00041604 4B FB E8 3D */ bl memcpy
2022-10-16 16:05:58 +00:00
.global lbl_800457C8
lbl_800457C8:
/* 800457C8 00041608 57 A0 01 4B */ rlwinm. r0, r29, 0, 5, 5
/* 800457CC 0004160C 41 82 00 14 */ beq lbl_800457E0
/* 800457D0 00041610 38 7F 00 FA */ addi r3, r31, 0xfa
/* 800457D4 00041614 38 9E 00 FA */ addi r4, r30, 0xfa
/* 800457D8 00041618 38 A0 00 10 */ li r5, 0x10
2022-10-16 16:31:36 +00:00
/* 800457DC 0004161C 4B FB E8 25 */ bl memcpy
2022-10-16 16:05:58 +00:00
.global lbl_800457E0
lbl_800457E0:
/* 800457E0 00041620 57 A0 01 09 */ rlwinm. r0, r29, 0, 4, 4
/* 800457E4 00041624 41 82 00 14 */ beq lbl_800457F8
/* 800457E8 00041628 38 7F 01 0A */ addi r3, r31, 0x10a
/* 800457EC 0004162C 38 9E 01 0A */ addi r4, r30, 0x10a
/* 800457F0 00041630 38 A0 00 0A */ li r5, 0xa
2022-10-16 16:31:36 +00:00
/* 800457F4 00041634 4B FB E8 0D */ bl memcpy
2022-10-16 16:05:58 +00:00
.global lbl_800457F8
lbl_800457F8:
/* 800457F8 00041638 57 A0 00 85 */ rlwinm. r0, r29, 0, 2, 2
/* 800457FC 0004163C 41 82 00 18 */ beq lbl_80045814
/* 80045800 00041640 A0 1E 01 18 */ lhz r0, 0x118(r30)
/* 80045804 00041644 B0 1F 01 18 */ sth r0, 0x118(r31)
/* 80045808 00041648 A0 1E 01 1A */ lhz r0, 0x11a(r30)
/* 8004580C 0004164C B0 1F 01 1A */ sth r0, 0x11a(r31)
/* 80045810 00041650 48 00 00 90 */ b lbl_800458A0
.global lbl_80045814
lbl_80045814:
/* 80045814 00041654 57 A0 00 43 */ rlwinm. r0, r29, 0, 1, 1
/* 80045818 00041658 41 82 00 30 */ beq lbl_80045848
/* 8004581C 0004165C A0 1E 01 1E */ lhz r0, 0x11e(r30)
/* 80045820 00041660 B0 1F 01 1E */ sth r0, 0x11e(r31)
/* 80045824 00041664 A0 1E 01 20 */ lhz r0, 0x120(r30)
/* 80045828 00041668 B0 1F 01 20 */ sth r0, 0x120(r31)
/* 8004582C 0004166C A0 1E 01 22 */ lhz r0, 0x122(r30)
/* 80045830 00041670 B0 1F 01 22 */ sth r0, 0x122(r31)
/* 80045834 00041674 A0 1E 01 24 */ lhz r0, 0x124(r30)
/* 80045838 00041678 B0 1F 01 24 */ sth r0, 0x124(r31)
/* 8004583C 0004167C A0 1E 01 26 */ lhz r0, 0x126(r30)
/* 80045840 00041680 B0 1F 01 26 */ sth r0, 0x126(r31)
/* 80045844 00041684 48 00 00 5C */ b lbl_800458A0
.global lbl_80045848
lbl_80045848:
/* 80045848 00041688 57 A0 00 C7 */ rlwinm. r0, r29, 0, 3, 3
/* 8004584C 0004168C 41 82 00 54 */ beq lbl_800458A0
/* 80045850 00041690 A0 1E 01 14 */ lhz r0, 0x114(r30)
/* 80045854 00041694 B0 1F 01 14 */ sth r0, 0x114(r31)
/* 80045858 00041698 A0 1E 01 16 */ lhz r0, 0x116(r30)
/* 8004585C 0004169C B0 1F 01 16 */ sth r0, 0x116(r31)
/* 80045860 000416A0 A0 1E 01 18 */ lhz r0, 0x118(r30)
/* 80045864 000416A4 B0 1F 01 18 */ sth r0, 0x118(r31)
/* 80045868 000416A8 A0 1E 01 1A */ lhz r0, 0x11a(r30)
/* 8004586C 000416AC B0 1F 01 1A */ sth r0, 0x11a(r31)
/* 80045870 000416B0 A0 1E 01 1C */ lhz r0, 0x11c(r30)
/* 80045874 000416B4 B0 1F 01 1C */ sth r0, 0x11c(r31)
/* 80045878 000416B8 A0 1E 01 1E */ lhz r0, 0x11e(r30)
/* 8004587C 000416BC B0 1F 01 1E */ sth r0, 0x11e(r31)
/* 80045880 000416C0 A0 1E 01 20 */ lhz r0, 0x120(r30)
/* 80045884 000416C4 B0 1F 01 20 */ sth r0, 0x120(r31)
/* 80045888 000416C8 A0 1E 01 22 */ lhz r0, 0x122(r30)
/* 8004588C 000416CC B0 1F 01 22 */ sth r0, 0x122(r31)
/* 80045890 000416D0 A0 1E 01 24 */ lhz r0, 0x124(r30)
/* 80045894 000416D4 B0 1F 01 24 */ sth r0, 0x124(r31)
/* 80045898 000416D8 A0 1E 01 26 */ lhz r0, 0x126(r30)
/* 8004589C 000416DC B0 1F 01 26 */ sth r0, 0x126(r31)
.global lbl_800458A0
lbl_800458A0:
/* 800458A0 000416E0 80 01 00 24 */ lwz r0, 0x24(r1)
/* 800458A4 000416E4 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 800458A8 000416E8 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 800458AC 000416EC 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 800458B0 000416F0 83 81 00 10 */ lwz r28, 0x10(r1)
/* 800458B4 000416F4 7C 08 03 A6 */ mtlr r0
/* 800458B8 000416F8 38 21 00 20 */ addi r1, r1, 0x20
/* 800458BC 000416FC 4E 80 00 20 */ blr
2022-10-16 16:31:36 +00:00
.global __AXSyncPBs
__AXSyncPBs:
2022-10-16 16:05:58 +00:00
/* 800458C0 00041700 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 800458C4 00041704 7C 08 02 A6 */ mflr r0
/* 800458C8 00041708 90 01 00 34 */ stw r0, 0x34(r1)
/* 800458CC 0004170C 39 61 00 30 */ addi r11, r1, 0x30
/* 800458D0 00041710 4B FC 1A 65 */ bl lbl_80007334
2022-10-16 16:31:36 +00:00
/* 800458D4 00041714 80 0D E8 7C */ lwz r0, __AXMaxVoices@sda21(r13)
2022-10-16 16:05:58 +00:00
/* 800458D8 00041718 7C 79 1B 78 */ mr r25, r3
/* 800458DC 0004171C 3B A0 00 00 */ li r29, 0x0
2022-10-16 16:31:36 +00:00
/* 800458E0 00041720 93 AD E8 80 */ stw r29, __AXNumVoices@sda21(r13)
2022-10-16 16:05:58 +00:00
/* 800458E4 00041724 1C 80 01 40 */ mulli r4, r0, 0x140
2022-10-16 16:31:36 +00:00
/* 800458E8 00041728 80 6D E8 70 */ lwz r3, __AXPB@sda21(r13)
/* 800458EC 0004172C 4B FD 70 65 */ bl DCInvalidateRange
/* 800458F0 00041730 80 0D E8 7C */ lwz r0, __AXMaxVoices@sda21(r13)
/* 800458F4 00041734 80 6D E8 74 */ lwz r3, __AXITD@sda21(r13)
2022-10-16 16:05:58 +00:00
/* 800458F8 00041738 54 04 30 32 */ slwi r4, r0, 6
2022-10-16 16:31:36 +00:00
/* 800458FC 0004173C 4B FD 70 55 */ bl DCInvalidateRange
/* 80045900 00041740 4B FF E3 11 */ bl __AXGetCommandListCycles
/* 80045904 00041744 80 0D E8 7C */ lwz r0, __AXMaxVoices@sda21(r13)
/* 80045908 00041748 3F E0 80 43 */ lis r31, __AXRmtMixCycles@ha
/* 8004590C 0004174C 3F C0 80 43 */ lis r30, __AXMixCycles@ha
2022-10-16 16:05:58 +00:00
/* 80045910 00041750 3B 60 00 1F */ li r27, 0x1f
/* 80045914 00041754 1C 00 02 58 */ mulli r0, r0, 0x258
2022-10-16 16:31:36 +00:00
/* 80045918 00041758 3B FF 30 50 */ addi r31, r31, __AXRmtMixCycles@l
/* 8004591C 0004175C 3B DE 2F D0 */ addi r30, r30, __AXMixCycles@l
2022-10-16 16:05:58 +00:00
/* 80045920 00041760 7C 03 02 14 */ add r0, r3, r0
/* 80045924 00041764 7C 60 CA 14 */ add r3, r0, r25
/* 80045928 00041768 3B 83 00 20 */ addi r28, r3, 0x20
.global lbl_8004592C
lbl_8004592C:
/* 8004592C 0004176C 7F 63 DB 78 */ mr r3, r27
2022-10-16 16:31:36 +00:00
/* 80045930 00041770 4B FF D5 51 */ bl __AXGetStackHead
2022-10-16 16:05:58 +00:00
/* 80045934 00041774 7C 7A 1B 78 */ mr r26, r3
/* 80045938 00041778 48 00 01 F4 */ b lbl_80045B2C
.global lbl_8004593C
lbl_8004593C:
/* 8004593C 0004177C A0 1A 00 6C */ lhz r0, 0x6c(r26)
/* 80045940 00041780 28 00 00 01 */ cmplwi r0, 0x1
/* 80045944 00041784 40 82 00 08 */ bne lbl_8004594C
/* 80045948 00041788 3B 9C 00 81 */ addi r28, r28, 0x81
.global lbl_8004594C
lbl_8004594C:
/* 8004594C 0004178C 80 1A 00 20 */ lwz r0, 0x20(r26)
/* 80045950 00041790 2C 00 00 00 */ cmpwi r0, 0x0
/* 80045954 00041794 41 82 00 18 */ beq lbl_8004596C
/* 80045958 00041798 80 1A 00 18 */ lwz r0, 0x18(r26)
2022-10-16 16:31:36 +00:00
/* 8004595C 0004179C 80 6D E8 70 */ lwz r3, __AXPB@sda21(r13)
2022-10-16 16:05:58 +00:00
/* 80045960 000417A0 1C 00 01 40 */ mulli r0, r0, 0x140
/* 80045964 000417A4 7C 63 02 14 */ add r3, r3, r0
2022-10-16 16:31:36 +00:00
/* 80045968 000417A8 4B FF F8 99 */ bl __AXDepopVoice
2022-10-16 16:05:58 +00:00
.global lbl_8004596C
lbl_8004596C:
/* 8004596C 000417AC A0 1A 00 38 */ lhz r0, 0x38(r26)
/* 80045970 000417B0 28 00 00 01 */ cmplwi r0, 0x1
/* 80045974 000417B4 40 82 01 A4 */ bne lbl_80045B18
/* 80045978 000417B8 A0 1A 00 E2 */ lhz r0, 0xe2(r26)
/* 8004597C 000417BC 3B 9C 01 83 */ addi r28, r28, 0x183
/* 80045980 000417C0 2C 00 00 00 */ cmpwi r0, 0x0
/* 80045984 000417C4 41 82 00 08 */ beq lbl_8004598C
/* 80045988 000417C8 3B 9C 01 35 */ addi r28, r28, 0x135
.global lbl_8004598C
lbl_8004598C:
/* 8004598C 000417CC A0 1A 00 EA */ lhz r0, 0xea(r26)
/* 80045990 000417D0 2C 00 00 00 */ cmpwi r0, 0x0
/* 80045994 000417D4 41 82 00 08 */ beq lbl_8004599C
/* 80045998 000417D8 3B 9C 04 00 */ addi r28, r28, 0x400
.global lbl_8004599C
lbl_8004599C:
/* 8004599C 000417DC A0 1A 00 6C */ lhz r0, 0x6c(r26)
/* 800459A0 000417E0 28 00 00 01 */ cmplwi r0, 0x1
/* 800459A4 000417E4 40 82 00 08 */ bne lbl_800459AC
/* 800459A8 000417E8 3B 9C 00 1B */ addi r28, r28, 0x1b
.global lbl_800459AC
lbl_800459AC:
/* 800459AC 000417EC A0 7A 00 30 */ lhz r3, 0x30(r26)
/* 800459B0 000417F0 A0 1A 00 CE */ lhz r0, 0xce(r26)
/* 800459B4 000417F4 2C 03 00 00 */ cmpwi r3, 0x0
/* 800459B8 000417F8 A0 9A 00 D0 */ lhz r4, 0xd0(r26)
/* 800459BC 000417FC 50 04 80 1E */ rlwimi r4, r0, 16, 0, 15
/* 800459C0 00041800 40 82 00 1C */ bne lbl_800459DC
/* 800459C4 00041804 54 83 48 2C */ slwi r3, r4, 9
/* 800459C8 00041808 3C 63 00 01 */ addis r3, r3, 0x1
/* 800459CC 0004180C 38 03 80 00 */ addi r0, r3, -0x8000
/* 800459D0 00041810 54 03 84 3E */ srwi r3, r0, 16
/* 800459D4 00041814 38 03 06 19 */ addi r0, r3, 0x619
/* 800459D8 00041818 48 00 00 24 */ b lbl_800459FC
.global lbl_800459DC
lbl_800459DC:
/* 800459DC 0004181C 28 03 00 01 */ cmplwi r3, 0x1
/* 800459E0 00041820 38 00 02 5D */ li r0, 0x25d
/* 800459E4 00041824 40 82 00 18 */ bne lbl_800459FC
/* 800459E8 00041828 54 83 48 2C */ slwi r3, r4, 9
/* 800459EC 0004182C 3C 63 00 01 */ addis r3, r3, 0x1
/* 800459F0 00041830 38 03 80 00 */ addi r0, r3, -0x8000
/* 800459F4 00041834 54 03 84 3E */ srwi r3, r0, 16
/* 800459F8 00041838 38 03 05 BA */ addi r0, r3, 0x5ba
.global lbl_800459FC
lbl_800459FC:
/* 800459FC 0004183C 80 9A 00 34 */ lwz r4, 0x34(r26)
/* 80045A00 00041840 7F 9C 02 14 */ add r28, r28, r0
/* 80045A04 00041844 A0 1A 00 FE */ lhz r0, 0xfe(r26)
/* 80045A08 00041848 54 85 6E 7A */ rlwinm r5, r4, 13, 25, 29
/* 80045A0C 0004184C 54 83 16 7A */ rlwinm r3, r4, 2, 25, 29
/* 80045A10 00041850 54 86 46 7A */ rlwinm r6, r4, 8, 25, 29
/* 80045A14 00041854 54 84 96 7A */ rlwinm r4, r4, 18, 25, 29
/* 80045A18 00041858 28 00 00 01 */ cmplwi r0, 0x1
/* 80045A1C 0004185C 7C BE 28 2E */ lwzx r5, r30, r5
/* 80045A20 00041860 7C 1E 18 2E */ lwzx r0, r30, r3
/* 80045A24 00041864 7C DE 30 2E */ lwzx r6, r30, r6
/* 80045A28 00041868 7C 9E 20 2E */ lwzx r4, r30, r4
/* 80045A2C 0004186C 7C 05 02 14 */ add r0, r5, r0
/* 80045A30 00041870 7C 7C 32 14 */ add r3, r28, r6
/* 80045A34 00041874 7C 04 02 14 */ add r0, r4, r0
/* 80045A38 00041878 7F 83 02 14 */ add r28, r3, r0
/* 80045A3C 0004187C 40 82 00 8C */ bne lbl_80045AC8
/* 80045A40 00041880 A0 1A 01 3C */ lhz r0, 0x13c(r26)
/* 80045A44 00041884 3B 9C 02 65 */ addi r28, r28, 0x265
/* 80045A48 00041888 28 00 00 01 */ cmplwi r0, 0x1
/* 80045A4C 0004188C 40 82 00 0C */ bne lbl_80045A58
/* 80045A50 00041890 3B 9C 00 76 */ addi r28, r28, 0x76
/* 80045A54 00041894 48 00 00 10 */ b lbl_80045A64
.global lbl_80045A58
lbl_80045A58:
/* 80045A58 00041898 28 00 00 02 */ cmplwi r0, 0x2
/* 80045A5C 0004189C 40 82 00 08 */ bne lbl_80045A64
/* 80045A60 000418A0 3B 9C 03 42 */ addi r28, r28, 0x342
.global lbl_80045A64
lbl_80045A64:
/* 80045A64 000418A4 A0 7A 01 00 */ lhz r3, 0x100(r26)
/* 80045A68 000418A8 54 64 F7 3A */ rlwinm r4, r3, 30, 28, 29
/* 80045A6C 000418AC 54 60 17 3A */ rlwinm r0, r3, 2, 28, 29
/* 80045A70 000418B0 7C 9F 20 2E */ lwzx r4, r31, r4
/* 80045A74 000418B4 54 69 A7 3A */ rlwinm r9, r3, 20, 28, 29
/* 80045A78 000418B8 7C 1F 00 2E */ lwzx r0, r31, r0
/* 80045A7C 000418BC 54 68 B7 3A */ rlwinm r8, r3, 22, 28, 29
/* 80045A80 000418C0 54 67 C7 3A */ rlwinm r7, r3, 24, 28, 29
/* 80045A84 000418C4 54 66 D7 3A */ rlwinm r6, r3, 26, 28, 29
/* 80045A88 000418C8 54 65 E7 3A */ rlwinm r5, r3, 28, 28, 29
/* 80045A8C 000418CC 54 63 07 3A */ rlwinm r3, r3, 0, 28, 29
/* 80045A90 000418D0 7C FF 38 2E */ lwzx r7, r31, r7
/* 80045A94 000418D4 7C 04 02 14 */ add r0, r4, r0
/* 80045A98 000418D8 7C 7F 18 2E */ lwzx r3, r31, r3
/* 80045A9C 000418DC 7D 3F 48 2E */ lwzx r9, r31, r9
/* 80045AA0 000418E0 7C FC 3A 14 */ add r7, r28, r7
/* 80045AA4 000418E4 7D 1F 40 2E */ lwzx r8, r31, r8
/* 80045AA8 000418E8 7C 03 02 14 */ add r0, r3, r0
/* 80045AAC 000418EC 7C DF 30 2E */ lwzx r6, r31, r6
/* 80045AB0 000418F0 7C 9F 28 2E */ lwzx r4, r31, r5
/* 80045AB4 000418F4 7D 09 42 14 */ add r8, r9, r8
/* 80045AB8 000418F8 7C 68 3A 14 */ add r3, r8, r7
/* 80045ABC 000418FC 7C 86 22 14 */ add r4, r6, r4
/* 80045AC0 00041900 7C 04 02 14 */ add r0, r4, r0
/* 80045AC4 00041904 7F 83 02 14 */ add r28, r3, r0
.global lbl_80045AC8
lbl_80045AC8:
2022-10-16 16:31:36 +00:00
/* 80045AC8 00041908 80 0D E8 88 */ lwz r0, __AXMaxDspCycles@sda21(r13)
2022-10-16 16:05:58 +00:00
/* 80045ACC 0004190C 7C 00 E0 40 */ cmplw r0, r28
/* 80045AD0 00041910 40 81 00 10 */ ble lbl_80045AE0
/* 80045AD4 00041914 7F 43 D3 78 */ mr r3, r26
2022-10-16 16:31:36 +00:00
/* 80045AD8 00041918 4B FF F8 99 */ bl __AXServiceVPB
2022-10-16 16:05:58 +00:00
/* 80045ADC 0004191C 48 00 00 44 */ b lbl_80045B20
.global lbl_80045AE0
lbl_80045AE0:
/* 80045AE0 00041920 80 1A 00 18 */ lwz r0, 0x18(r26)
2022-10-16 16:31:36 +00:00
/* 80045AE4 00041924 80 6D E8 70 */ lwz r3, __AXPB@sda21(r13)
2022-10-16 16:05:58 +00:00
/* 80045AE8 00041928 1C 00 01 40 */ mulli r0, r0, 0x140
/* 80045AEC 0004192C 7F 23 02 14 */ add r25, r3, r0
/* 80045AF0 00041930 A0 19 00 10 */ lhz r0, 0x10(r25)
/* 80045AF4 00041934 28 00 00 01 */ cmplwi r0, 0x1
/* 80045AF8 00041938 40 82 00 0C */ bne lbl_80045B04
/* 80045AFC 0004193C 7F 23 CB 78 */ mr r3, r25
2022-10-16 16:31:36 +00:00
/* 80045B00 00041940 4B FF F7 01 */ bl __AXDepopVoice
2022-10-16 16:05:58 +00:00
.global lbl_80045B04
lbl_80045B04:
/* 80045B04 00041944 B3 BA 00 38 */ sth r29, 0x38(r26)
/* 80045B08 00041948 7F 43 D3 78 */ mr r3, r26
/* 80045B0C 0004194C B3 B9 00 10 */ sth r29, 0x10(r25)
2022-10-16 16:31:36 +00:00
/* 80045B10 00041950 4B FF D5 11 */ bl __AXPushCallbackStack
2022-10-16 16:05:58 +00:00
/* 80045B14 00041954 48 00 00 0C */ b lbl_80045B20
.global lbl_80045B18
lbl_80045B18:
/* 80045B18 00041958 7F 43 D3 78 */ mr r3, r26
2022-10-16 16:31:36 +00:00
/* 80045B1C 0004195C 4B FF F8 55 */ bl __AXServiceVPB
2022-10-16 16:05:58 +00:00
.global lbl_80045B20
lbl_80045B20:
/* 80045B20 00041960 93 BA 00 1C */ stw r29, 0x1c(r26)
/* 80045B24 00041964 93 BA 00 20 */ stw r29, 0x20(r26)
/* 80045B28 00041968 83 5A 00 00 */ lwz r26, 0x0(r26)
.global lbl_80045B2C
lbl_80045B2C:
/* 80045B2C 0004196C 2C 1A 00 00 */ cmpwi r26, 0x0
/* 80045B30 00041970 40 82 FE 0C */ bne lbl_8004593C
/* 80045B34 00041974 37 7B FF FF */ addic. r27, r27, -0x1
/* 80045B38 00041978 40 82 FD F4 */ bne lbl_8004592C
2022-10-16 16:31:36 +00:00
/* 80045B3C 0004197C 93 8D E8 84 */ stw r28, __AXRecDspCycles@sda21(r13)
2022-10-16 16:05:58 +00:00
/* 80045B40 00041980 38 60 00 00 */ li r3, 0x0
2022-10-16 16:31:36 +00:00
/* 80045B44 00041984 4B FF D3 3D */ bl __AXGetStackHead
2022-10-16 16:05:58 +00:00
/* 80045B48 00041988 7C 79 1B 78 */ mr r25, r3
/* 80045B4C 0004198C 3B 40 00 00 */ li r26, 0x0
/* 80045B50 00041990 48 00 00 40 */ b lbl_80045B90
.global lbl_80045B54
lbl_80045B54:
/* 80045B54 00041994 80 19 00 20 */ lwz r0, 0x20(r25)
/* 80045B58 00041998 2C 00 00 00 */ cmpwi r0, 0x0
/* 80045B5C 0004199C 41 82 00 18 */ beq lbl_80045B74
/* 80045B60 000419A0 80 19 00 18 */ lwz r0, 0x18(r25)
2022-10-16 16:31:36 +00:00
/* 80045B64 000419A4 80 6D E8 70 */ lwz r3, __AXPB@sda21(r13)
2022-10-16 16:05:58 +00:00
/* 80045B68 000419A8 1C 00 01 40 */ mulli r0, r0, 0x140
/* 80045B6C 000419AC 7C 63 02 14 */ add r3, r3, r0
2022-10-16 16:31:36 +00:00
/* 80045B70 000419B0 4B FF F6 91 */ bl __AXDepopVoice
2022-10-16 16:05:58 +00:00
.global lbl_80045B74
lbl_80045B74:
/* 80045B74 000419B4 93 59 00 20 */ stw r26, 0x20(r25)
/* 80045B78 000419B8 80 19 00 18 */ lwz r0, 0x18(r25)
2022-10-16 16:31:36 +00:00
/* 80045B7C 000419BC 80 6D E8 70 */ lwz r3, __AXPB@sda21(r13)
2022-10-16 16:05:58 +00:00
/* 80045B80 000419C0 1C 00 01 40 */ mulli r0, r0, 0x140
/* 80045B84 000419C4 7C 63 02 14 */ add r3, r3, r0
/* 80045B88 000419C8 B3 43 00 10 */ sth r26, 0x10(r3)
/* 80045B8C 000419CC 83 39 00 00 */ lwz r25, 0x0(r25)
.global lbl_80045B90
lbl_80045B90:
/* 80045B90 000419D0 2C 19 00 00 */ cmpwi r25, 0x0
/* 80045B94 000419D4 40 82 FF C0 */ bne lbl_80045B54
2022-10-16 16:31:36 +00:00
/* 80045B98 000419D8 80 0D E8 7C */ lwz r0, __AXMaxVoices@sda21(r13)
/* 80045B9C 000419DC 80 6D E8 70 */ lwz r3, __AXPB@sda21(r13)
2022-10-16 16:05:58 +00:00
/* 80045BA0 000419E0 1C 80 01 40 */ mulli r4, r0, 0x140
2022-10-16 16:31:36 +00:00
/* 80045BA4 000419E4 4B FD 6D DD */ bl DCFlushRange
/* 80045BA8 000419E8 80 0D E8 7C */ lwz r0, __AXMaxVoices@sda21(r13)
/* 80045BAC 000419EC 80 6D E8 74 */ lwz r3, __AXITD@sda21(r13)
2022-10-16 16:05:58 +00:00
/* 80045BB0 000419F0 54 04 30 32 */ slwi r4, r0, 6
2022-10-16 16:31:36 +00:00
/* 80045BB4 000419F4 4B FD 6D CD */ bl DCFlushRange
2022-10-16 16:05:58 +00:00
/* 80045BB8 000419F8 39 61 00 30 */ addi r11, r1, 0x30
/* 80045BBC 000419FC 4B FC 17 C5 */ bl lbl_80007380
/* 80045BC0 00041A00 80 01 00 34 */ lwz r0, 0x34(r1)
/* 80045BC4 00041A04 7C 08 03 A6 */ mtlr r0
/* 80045BC8 00041A08 38 21 00 30 */ addi r1, r1, 0x30
/* 80045BCC 00041A0C 4E 80 00 20 */ blr
2022-10-16 16:31:36 +00:00
.global __AXGetPBs
__AXGetPBs:
/* 80045BD0 00041A10 80 6D E8 70 */ lwz r3, __AXPB@sda21(r13)
2022-10-16 16:05:58 +00:00
/* 80045BD4 00041A14 4E 80 00 20 */ blr
/* 80045BD8 00041A18 00 00 00 00 */ .4byte 0x00000000
/* 80045BDC 00041A1C 00 00 00 00 */ .4byte 0x00000000
2022-10-16 16:31:36 +00:00
.global __AXSetPBDefault
__AXSetPBDefault:
2022-10-16 16:05:58 +00:00
/* 80045BE0 00041A20 3C 80 18 A8 */ lis r4, 0x18a8
/* 80045BE4 00041A24 38 A0 00 00 */ li r5, 0x0
/* 80045BE8 00041A28 38 04 00 24 */ addi r0, r4, 0x24
/* 80045BEC 00041A2C B0 A3 00 38 */ sth r5, 0x38(r3)
/* 80045BF0 00041A30 B0 A3 00 6C */ sth r5, 0x6c(r3)
/* 80045BF4 00041A34 90 03 00 1C */ stw r0, 0x1c(r3)
/* 80045BF8 00041A38 B0 A3 00 E2 */ sth r5, 0xe2(r3)
/* 80045BFC 00041A3C B0 A3 00 EA */ sth r5, 0xea(r3)
/* 80045C00 00041A40 B0 A3 00 FE */ sth r5, 0xfe(r3)
/* 80045C04 00041A44 B0 A3 01 3C */ sth r5, 0x13c(r3)
/* 80045C08 00041A48 B0 A3 01 32 */ sth r5, 0x132(r3)
/* 80045C0C 00041A4C B0 A3 01 34 */ sth r5, 0x134(r3)
/* 80045C10 00041A50 B0 A3 01 36 */ sth r5, 0x136(r3)
/* 80045C14 00041A54 B0 A3 01 38 */ sth r5, 0x138(r3)
/* 80045C18 00041A58 B0 A3 01 3A */ sth r5, 0x13a(r3)
/* 80045C1C 00041A5C 4E 80 00 20 */ blr
2022-10-16 16:31:36 +00:00
.global __AXVPBInit
__AXVPBInit:
/* 80045C20 00041A60 3C A0 80 4A */ lis r5, __s_AXPB@ha
/* 80045C24 00041A64 3C 80 80 4B */ lis r4, __s_AXITD@ha
/* 80045C28 00041A68 3C 60 80 4B */ lis r3, __s_AXVPB@ha
2022-10-16 16:05:58 +00:00
/* 80045C2C 00041A6C 38 00 00 60 */ li r0, 0x60
2022-10-16 16:31:36 +00:00
/* 80045C30 00041A70 38 A5 41 20 */ addi r5, r5, __s_AXPB@l
/* 80045C34 00041A74 38 84 B9 20 */ addi r4, r4, __s_AXITD@l
/* 80045C38 00041A78 38 63 D1 20 */ addi r3, r3, __s_AXVPB@l
/* 80045C3C 00041A7C 90 0D E8 7C */ stw r0, __AXMaxVoices@sda21(r13)
/* 80045C40 00041A80 90 AD E8 70 */ stw r5, __AXPB@sda21(r13)
/* 80045C44 00041A84 90 8D E8 74 */ stw r4, __AXITD@sda21(r13)
/* 80045C48 00041A88 90 6D E8 78 */ stw r3, __AXVPB@sda21(r13)
/* 80045C4C 00041A8C 48 00 00 04 */ b __AXVPBInitCommon
.global __AXVPBInitCommon
__AXVPBInitCommon:
2022-10-16 16:05:58 +00:00
/* 80045C50 00041A90 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 80045C54 00041A94 7C 08 02 A6 */ mflr r0
/* 80045C58 00041A98 90 01 00 34 */ stw r0, 0x34(r1)
/* 80045C5C 00041A9C 39 61 00 30 */ addi r11, r1, 0x30
/* 80045C60 00041AA0 4B FC 16 D5 */ bl lbl_80007334
/* 80045C64 00041AA4 3C 80 80 00 */ lis r4, 0x800000F8@ha
/* 80045C68 00041AA8 3C 60 89 05 */ lis r3, 0x8904FD51@ha
/* 80045C6C 00041AAC 80 84 00 F8 */ lwz r4, 0x800000F8@l(r4)
/* 80045C70 00041AB0 38 A3 FD 51 */ addi r5, r3, 0x8904FD51@l
2022-10-16 16:31:36 +00:00
/* 80045C74 00041AB4 80 0D E8 7C */ lwz r0, __AXMaxVoices@sda21(r13)
2022-10-16 16:05:58 +00:00
/* 80045C78 00041AB8 38 60 00 00 */ li r3, 0x0
/* 80045C7C 00041ABC 7C A5 20 16 */ mulhwu r5, r5, r4
2022-10-16 16:31:36 +00:00
/* 80045C80 00041AC0 90 6D E8 84 */ stw r3, __AXRecDspCycles@sda21(r13)
/* 80045C84 00041AC4 80 ED E8 70 */ lwz r7, __AXPB@sda21(r13)
2022-10-16 16:05:58 +00:00
/* 80045C88 00041AC8 1C C0 00 50 */ mulli r6, r0, 0x50
/* 80045C8C 00041ACC 7C 05 20 50 */ subf r0, r5, r4
/* 80045C90 00041AD0 54 00 F8 7E */ srwi r0, r0, 1
/* 80045C94 00041AD4 7C 00 2A 14 */ add r0, r0, r5
/* 80045C98 00041AD8 2C 06 00 00 */ cmpwi r6, 0x0
/* 80045C9C 00041ADC 54 00 BA 7E */ srwi r0, r0, 9
2022-10-16 16:31:36 +00:00
/* 80045CA0 00041AE0 90 0D E8 88 */ stw r0, __AXMaxDspCycles@sda21(r13)
2022-10-16 16:05:58 +00:00
/* 80045CA4 00041AE4 41 82 00 50 */ beq lbl_80045CF4
/* 80045CA8 00041AE8 54 C0 E8 FF */ srwi. r0, r6, 3
/* 80045CAC 00041AEC 7C 09 03 A6 */ mtctr r0
/* 80045CB0 00041AF0 41 82 00 34 */ beq lbl_80045CE4
.global lbl_80045CB4
lbl_80045CB4:
/* 80045CB4 00041AF4 90 67 00 00 */ stw r3, 0x0(r7)
/* 80045CB8 00041AF8 90 67 00 04 */ stw r3, 0x4(r7)
/* 80045CBC 00041AFC 90 67 00 08 */ stw r3, 0x8(r7)
/* 80045CC0 00041B00 90 67 00 0C */ stw r3, 0xc(r7)
/* 80045CC4 00041B04 90 67 00 10 */ stw r3, 0x10(r7)
/* 80045CC8 00041B08 90 67 00 14 */ stw r3, 0x14(r7)
/* 80045CCC 00041B0C 90 67 00 18 */ stw r3, 0x18(r7)
/* 80045CD0 00041B10 90 67 00 1C */ stw r3, 0x1c(r7)
/* 80045CD4 00041B14 38 E7 00 20 */ addi r7, r7, 0x20
/* 80045CD8 00041B18 42 00 FF DC */ bdnz lbl_80045CB4
/* 80045CDC 00041B1C 70 C6 00 07 */ andi. r6, r6, 0x7
/* 80045CE0 00041B20 41 82 00 14 */ beq lbl_80045CF4
.global lbl_80045CE4
lbl_80045CE4:
/* 80045CE4 00041B24 7C C9 03 A6 */ mtctr r6
.global lbl_80045CE8
lbl_80045CE8:
/* 80045CE8 00041B28 90 67 00 00 */ stw r3, 0x0(r7)
/* 80045CEC 00041B2C 38 E7 00 04 */ addi r7, r7, 0x4
/* 80045CF0 00041B30 42 00 FF F8 */ bdnz lbl_80045CE8
.global lbl_80045CF4
lbl_80045CF4:
2022-10-16 16:31:36 +00:00
/* 80045CF4 00041B34 80 0D E8 7C */ lwz r0, __AXMaxVoices@sda21(r13)
2022-10-16 16:05:58 +00:00
/* 80045CF8 00041B38 38 60 00 00 */ li r3, 0x0
2022-10-16 16:31:36 +00:00
/* 80045CFC 00041B3C 80 8D E8 74 */ lwz r4, __AXITD@sda21(r13)
2022-10-16 16:05:58 +00:00
/* 80045D00 00041B40 54 05 20 37 */ slwi. r5, r0, 4
/* 80045D04 00041B44 41 82 00 50 */ beq lbl_80045D54
/* 80045D08 00041B48 54 A0 E8 FF */ srwi. r0, r5, 3
/* 80045D0C 00041B4C 7C 09 03 A6 */ mtctr r0
/* 80045D10 00041B50 41 82 00 34 */ beq lbl_80045D44
.global lbl_80045D14
lbl_80045D14:
/* 80045D14 00041B54 90 64 00 00 */ stw r3, 0x0(r4)
/* 80045D18 00041B58 90 64 00 04 */ stw r3, 0x4(r4)
/* 80045D1C 00041B5C 90 64 00 08 */ stw r3, 0x8(r4)
/* 80045D20 00041B60 90 64 00 0C */ stw r3, 0xc(r4)
/* 80045D24 00041B64 90 64 00 10 */ stw r3, 0x10(r4)
/* 80045D28 00041B68 90 64 00 14 */ stw r3, 0x14(r4)
/* 80045D2C 00041B6C 90 64 00 18 */ stw r3, 0x18(r4)
/* 80045D30 00041B70 90 64 00 1C */ stw r3, 0x1c(r4)
/* 80045D34 00041B74 38 84 00 20 */ addi r4, r4, 0x20
/* 80045D38 00041B78 42 00 FF DC */ bdnz lbl_80045D14
/* 80045D3C 00041B7C 70 A5 00 07 */ andi. r5, r5, 0x7
/* 80045D40 00041B80 41 82 00 14 */ beq lbl_80045D54
.global lbl_80045D44
lbl_80045D44:
/* 80045D44 00041B84 7C A9 03 A6 */ mtctr r5
.global lbl_80045D48
lbl_80045D48:
/* 80045D48 00041B88 90 64 00 00 */ stw r3, 0x0(r4)
/* 80045D4C 00041B8C 38 84 00 04 */ addi r4, r4, 0x4
/* 80045D50 00041B90 42 00 FF F8 */ bdnz lbl_80045D48
.global lbl_80045D54
lbl_80045D54:
2022-10-16 16:31:36 +00:00
/* 80045D54 00041B94 80 0D E8 7C */ lwz r0, __AXMaxVoices@sda21(r13)
2022-10-16 16:05:58 +00:00
/* 80045D58 00041B98 38 60 00 00 */ li r3, 0x0
2022-10-16 16:31:36 +00:00
/* 80045D5C 00041B9C 80 8D E8 78 */ lwz r4, __AXVPB@sda21(r13)
2022-10-16 16:05:58 +00:00
/* 80045D60 00041BA0 1C A0 00 5A */ mulli r5, r0, 0x5a
/* 80045D64 00041BA4 2C 05 00 00 */ cmpwi r5, 0x0
/* 80045D68 00041BA8 41 82 00 54 */ beq lbl_80045DBC
/* 80045D6C 00041BAC 54 A0 E8 FF */ srwi. r0, r5, 3
/* 80045D70 00041BB0 7C 09 03 A6 */ mtctr r0
/* 80045D74 00041BB4 41 82 00 34 */ beq lbl_80045DA8
.global lbl_80045D78
lbl_80045D78:
/* 80045D78 00041BB8 90 64 00 00 */ stw r3, 0x0(r4)
/* 80045D7C 00041BBC 90 64 00 04 */ stw r3, 0x4(r4)
/* 80045D80 00041BC0 90 64 00 08 */ stw r3, 0x8(r4)
/* 80045D84 00041BC4 90 64 00 0C */ stw r3, 0xc(r4)
/* 80045D88 00041BC8 90 64 00 10 */ stw r3, 0x10(r4)
/* 80045D8C 00041BCC 90 64 00 14 */ stw r3, 0x14(r4)
/* 80045D90 00041BD0 90 64 00 18 */ stw r3, 0x18(r4)
/* 80045D94 00041BD4 90 64 00 1C */ stw r3, 0x1c(r4)
/* 80045D98 00041BD8 38 84 00 20 */ addi r4, r4, 0x20
/* 80045D9C 00041BDC 42 00 FF DC */ bdnz lbl_80045D78
/* 80045DA0 00041BE0 70 A5 00 07 */ andi. r5, r5, 0x7
/* 80045DA4 00041BE4 41 82 00 18 */ beq lbl_80045DBC
.global lbl_80045DA8
lbl_80045DA8:
/* 80045DA8 00041BE8 7C A9 03 A6 */ mtctr r5
/* 80045DAC 00041BEC 60 00 00 00 */ nop
.global lbl_80045DB0
lbl_80045DB0:
/* 80045DB0 00041BF0 90 64 00 00 */ stw r3, 0x0(r4)
/* 80045DB4 00041BF4 38 84 00 04 */ addi r4, r4, 0x4
/* 80045DB8 00041BF8 42 00 FF F8 */ bdnz lbl_80045DB0
.global lbl_80045DBC
lbl_80045DBC:
/* 80045DBC 00041BFC 3C 60 18 A8 */ lis r3, 0x18a8
/* 80045DC0 00041C00 3B E0 00 00 */ li r31, 0x0
/* 80045DC4 00041C04 3B A3 00 24 */ addi r29, r3, 0x24
/* 80045DC8 00041C08 3B 60 00 00 */ li r27, 0x0
/* 80045DCC 00041C0C 3B 40 00 00 */ li r26, 0x0
/* 80045DD0 00041C10 3B 20 00 00 */ li r25, 0x0
/* 80045DD4 00041C14 3B 80 00 00 */ li r28, 0x0
/* 80045DD8 00041C18 3B C0 00 01 */ li r30, 0x1
/* 80045DDC 00041C1C 48 00 00 D0 */ b lbl_80045EAC
.global lbl_80045DE0
lbl_80045DE0:
2022-10-16 16:31:36 +00:00
/* 80045DE0 00041C20 80 0D E8 78 */ lwz r0, __AXVPB@sda21(r13)
/* 80045DE4 00041C24 80 AD E8 70 */ lwz r5, __AXPB@sda21(r13)
/* 80045DE8 00041C28 80 8D E8 74 */ lwz r4, __AXITD@sda21(r13)
2022-10-16 16:05:58 +00:00
/* 80045DEC 00041C2C 7C 60 CA 14 */ add r3, r0, r25
/* 80045DF0 00041C30 7C A5 DA 14 */ add r5, r5, r27
/* 80045DF4 00041C34 93 E3 00 18 */ stw r31, 0x18(r3)
/* 80045DF8 00041C38 7C C4 D2 14 */ add r6, r4, r26
/* 80045DFC 00041C3C 90 C3 00 24 */ stw r6, 0x24(r3)
/* 80045E00 00041C40 B3 83 00 38 */ sth r28, 0x38(r3)
/* 80045E04 00041C44 B3 83 00 6C */ sth r28, 0x6c(r3)
/* 80045E08 00041C48 93 A3 00 1C */ stw r29, 0x1c(r3)
/* 80045E0C 00041C4C B3 83 00 E2 */ sth r28, 0xe2(r3)
/* 80045E10 00041C50 B3 83 00 EA */ sth r28, 0xea(r3)
/* 80045E14 00041C54 B3 83 00 FE */ sth r28, 0xfe(r3)
/* 80045E18 00041C58 B3 83 01 3C */ sth r28, 0x13c(r3)
/* 80045E1C 00041C5C B3 83 01 32 */ sth r28, 0x132(r3)
/* 80045E20 00041C60 B3 83 01 34 */ sth r28, 0x134(r3)
/* 80045E24 00041C64 B3 83 01 36 */ sth r28, 0x136(r3)
/* 80045E28 00041C68 B3 83 01 38 */ sth r28, 0x138(r3)
/* 80045E2C 00041C6C B3 83 01 3A */ sth r28, 0x13a(r3)
2022-10-16 16:31:36 +00:00
/* 80045E30 00041C70 80 8D E8 7C */ lwz r4, __AXMaxVoices@sda21(r13)
2022-10-16 16:05:58 +00:00
/* 80045E34 00041C74 38 04 FF FF */ addi r0, r4, -0x1
/* 80045E38 00041C78 7C 1F 00 40 */ cmplw r31, r0
/* 80045E3C 00041C7C 40 82 00 18 */ bne lbl_80045E54
/* 80045E40 00041C80 B3 85 00 02 */ sth r28, 0x2(r5)
/* 80045E44 00041C84 B3 85 00 00 */ sth r28, 0x0(r5)
/* 80045E48 00041C88 B3 83 00 2A */ sth r28, 0x2a(r3)
/* 80045E4C 00041C8C B3 83 00 28 */ sth r28, 0x28(r3)
/* 80045E50 00041C90 48 00 00 1C */ b lbl_80045E6C
.global lbl_80045E54
lbl_80045E54:
/* 80045E54 00041C94 38 05 01 40 */ addi r0, r5, 0x140
/* 80045E58 00041C98 54 04 84 3E */ srwi r4, r0, 16
/* 80045E5C 00041C9C B0 83 00 28 */ sth r4, 0x28(r3)
/* 80045E60 00041CA0 B0 03 00 2A */ sth r0, 0x2a(r3)
/* 80045E64 00041CA4 B0 85 00 00 */ sth r4, 0x0(r5)
/* 80045E68 00041CA8 B0 05 00 02 */ sth r0, 0x2(r5)
.global lbl_80045E6C
lbl_80045E6C:
/* 80045E6C 00041CAC 54 A0 84 3E */ srwi r0, r5, 16
/* 80045E70 00041CB0 B0 03 00 2C */ sth r0, 0x2c(r3)
/* 80045E74 00041CB4 54 C4 84 3E */ srwi r4, r6, 16
/* 80045E78 00041CB8 B0 A3 00 2E */ sth r5, 0x2e(r3)
/* 80045E7C 00041CBC B0 05 00 04 */ sth r0, 0x4(r5)
/* 80045E80 00041CC0 B0 A5 00 06 */ sth r5, 0x6(r5)
/* 80045E84 00041CC4 B0 83 00 6E */ sth r4, 0x6e(r3)
/* 80045E88 00041CC8 B0 C3 00 70 */ sth r6, 0x70(r3)
/* 80045E8C 00041CCC B0 85 00 46 */ sth r4, 0x46(r5)
/* 80045E90 00041CD0 B0 C5 00 48 */ sth r6, 0x48(r5)
/* 80045E94 00041CD4 93 C3 00 0C */ stw r30, 0xc(r3)
2022-10-16 16:31:36 +00:00
/* 80045E98 00041CD8 4B FF D1 69 */ bl __AXPushFreeStack
2022-10-16 16:05:58 +00:00
/* 80045E9C 00041CDC 3B 7B 01 40 */ addi r27, r27, 0x140
/* 80045EA0 00041CE0 3B 5A 00 40 */ addi r26, r26, 0x40
/* 80045EA4 00041CE4 3B 39 01 68 */ addi r25, r25, 0x168
/* 80045EA8 00041CE8 3B FF 00 01 */ addi r31, r31, 0x1
.global lbl_80045EAC
lbl_80045EAC:
2022-10-16 16:31:36 +00:00
/* 80045EAC 00041CEC 80 0D E8 7C */ lwz r0, __AXMaxVoices@sda21(r13)
2022-10-16 16:05:58 +00:00
/* 80045EB0 00041CF0 7C 1F 00 40 */ cmplw r31, r0
/* 80045EB4 00041CF4 41 80 FF 2C */ blt lbl_80045DE0
/* 80045EB8 00041CF8 1C 80 01 40 */ mulli r4, r0, 0x140
2022-10-16 16:31:36 +00:00
/* 80045EBC 00041CFC 80 6D E8 70 */ lwz r3, __AXPB@sda21(r13)
/* 80045EC0 00041D00 4B FD 6A C1 */ bl DCFlushRange
2022-10-16 16:05:58 +00:00
/* 80045EC4 00041D04 39 61 00 30 */ addi r11, r1, 0x30
/* 80045EC8 00041D08 4B FC 14 B9 */ bl lbl_80007380
/* 80045ECC 00041D0C 80 01 00 34 */ lwz r0, 0x34(r1)
/* 80045ED0 00041D10 7C 08 03 A6 */ mtlr r0
/* 80045ED4 00041D14 38 21 00 30 */ addi r1, r1, 0x30
/* 80045ED8 00041D18 4E 80 00 20 */ blr
/* 80045EDC 00041D1C 00 00 00 00 */ .4byte 0x00000000
2022-10-16 16:31:36 +00:00
.global AXSetVoiceState
AXSetVoiceState:
2022-10-16 16:05:58 +00:00
/* 80045EE0 00041D20 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80045EE4 00041D24 7C 08 02 A6 */ mflr r0
/* 80045EE8 00041D28 90 01 00 14 */ stw r0, 0x14(r1)
/* 80045EEC 00041D2C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80045EF0 00041D30 7C 9F 23 78 */ mr r31, r4
/* 80045EF4 00041D34 93 C1 00 08 */ stw r30, 0x8(r1)
/* 80045EF8 00041D38 7C 7E 1B 78 */ mr r30, r3
2022-10-16 16:31:36 +00:00
/* 80045EFC 00041D3C 4B FD B9 25 */ bl OSDisableInterrupts
2022-10-16 16:05:58 +00:00
/* 80045F00 00041D40 A0 1E 00 38 */ lhz r0, 0x38(r30)
/* 80045F04 00041D44 7C 00 F8 40 */ cmplw r0, r31
/* 80045F08 00041D48 40 82 00 0C */ bne lbl_80045F14
2022-10-16 16:31:36 +00:00
/* 80045F0C 00041D4C 4B FD B9 55 */ bl OSRestoreInterrupts
2022-10-16 16:05:58 +00:00
/* 80045F10 00041D50 48 00 00 28 */ b lbl_80045F38
.global lbl_80045F14
lbl_80045F14:
/* 80045F14 00041D54 80 1E 00 1C */ lwz r0, 0x1c(r30)
/* 80045F18 00041D58 2C 1F 00 00 */ cmpwi r31, 0x0
/* 80045F1C 00041D5C B3 FE 00 38 */ sth r31, 0x38(r30)
/* 80045F20 00041D60 60 00 00 04 */ ori r0, r0, 0x4
/* 80045F24 00041D64 90 1E 00 1C */ stw r0, 0x1c(r30)
/* 80045F28 00041D68 40 82 00 0C */ bne lbl_80045F34
/* 80045F2C 00041D6C 38 00 00 01 */ li r0, 0x1
/* 80045F30 00041D70 90 1E 00 20 */ stw r0, 0x20(r30)
.global lbl_80045F34
lbl_80045F34:
2022-10-16 16:31:36 +00:00
/* 80045F34 00041D74 4B FD B9 2D */ bl OSRestoreInterrupts
2022-10-16 16:05:58 +00:00
.global lbl_80045F38
lbl_80045F38:
/* 80045F38 00041D78 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80045F3C 00041D7C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80045F40 00041D80 83 C1 00 08 */ lwz r30, 0x8(r1)
/* 80045F44 00041D84 7C 08 03 A6 */ mtlr r0
/* 80045F48 00041D88 38 21 00 10 */ addi r1, r1, 0x10
/* 80045F4C 00041D8C 4E 80 00 20 */ blr
2022-10-16 16:31:36 +00:00
.global AXSetVoiceAddr
AXSetVoiceAddr:
2022-10-16 16:05:58 +00:00
/* 80045F50 00041D90 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80045F54 00041D94 7C 08 02 A6 */ mflr r0
/* 80045F58 00041D98 90 01 00 14 */ stw r0, 0x14(r1)
/* 80045F5C 00041D9C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80045F60 00041DA0 7C 9F 23 78 */ mr r31, r4
/* 80045F64 00041DA4 93 C1 00 08 */ stw r30, 0x8(r1)
/* 80045F68 00041DA8 7C 7E 1B 78 */ mr r30, r3
2022-10-16 16:31:36 +00:00
/* 80045F6C 00041DAC 4B FD B8 B5 */ bl OSDisableInterrupts
2022-10-16 16:05:58 +00:00
/* 80045F70 00041DB0 80 1F 00 00 */ lwz r0, 0x0(r31)
/* 80045F74 00041DB4 90 1E 00 96 */ stw r0, 0x96(r30)
/* 80045F78 00041DB8 80 1F 00 04 */ lwz r0, 0x4(r31)
/* 80045F7C 00041DBC 90 1E 00 9A */ stw r0, 0x9a(r30)
/* 80045F80 00041DC0 80 1F 00 08 */ lwz r0, 0x8(r31)
/* 80045F84 00041DC4 90 1E 00 9E */ stw r0, 0x9e(r30)
/* 80045F88 00041DC8 80 1F 00 0C */ lwz r0, 0xc(r31)
/* 80045F8C 00041DCC 90 1E 00 A2 */ stw r0, 0xa2(r30)
/* 80045F90 00041DD0 A0 1F 00 02 */ lhz r0, 0x2(r31)
/* 80045F94 00041DD4 2C 00 00 0A */ cmpwi r0, 0xa
/* 80045F98 00041DD8 41 82 00 10 */ beq lbl_80045FA8
/* 80045F9C 00041DDC 2C 00 00 19 */ cmpwi r0, 0x19
/* 80045FA0 00041DE0 41 82 00 3C */ beq lbl_80045FDC
/* 80045FA4 00041DE4 48 00 00 68 */ b lbl_8004600C
.global lbl_80045FA8
lbl_80045FA8:
/* 80045FA8 00041DE8 38 80 00 00 */ li r4, 0x0
/* 80045FAC 00041DEC 3C 00 08 00 */ lis r0, 0x800
/* 80045FB0 00041DF0 90 9E 00 A6 */ stw r4, 0xa6(r30)
/* 80045FB4 00041DF4 90 9E 00 AA */ stw r4, 0xaa(r30)
/* 80045FB8 00041DF8 90 9E 00 AE */ stw r4, 0xae(r30)
/* 80045FBC 00041DFC 90 9E 00 B2 */ stw r4, 0xb2(r30)
/* 80045FC0 00041E00 90 9E 00 B6 */ stw r4, 0xb6(r30)
/* 80045FC4 00041E04 90 9E 00 BA */ stw r4, 0xba(r30)
/* 80045FC8 00041E08 90 9E 00 BE */ stw r4, 0xbe(r30)
/* 80045FCC 00041E0C 90 9E 00 C2 */ stw r4, 0xc2(r30)
/* 80045FD0 00041E10 90 1E 00 C6 */ stw r0, 0xc6(r30)
/* 80045FD4 00041E14 90 9E 00 CA */ stw r4, 0xca(r30)
/* 80045FD8 00041E18 48 00 00 34 */ b lbl_8004600C
.global lbl_80045FDC
lbl_80045FDC:
/* 80045FDC 00041E1C 38 80 00 00 */ li r4, 0x0
/* 80045FE0 00041E20 3C 00 01 00 */ lis r0, 0x100
/* 80045FE4 00041E24 90 9E 00 A6 */ stw r4, 0xa6(r30)
/* 80045FE8 00041E28 90 9E 00 AA */ stw r4, 0xaa(r30)
/* 80045FEC 00041E2C 90 9E 00 AE */ stw r4, 0xae(r30)
/* 80045FF0 00041E30 90 9E 00 B2 */ stw r4, 0xb2(r30)
/* 80045FF4 00041E34 90 9E 00 B6 */ stw r4, 0xb6(r30)
/* 80045FF8 00041E38 90 9E 00 BA */ stw r4, 0xba(r30)
/* 80045FFC 00041E3C 90 9E 00 BE */ stw r4, 0xbe(r30)
/* 80046000 00041E40 90 9E 00 C2 */ stw r4, 0xc2(r30)
/* 80046004 00041E44 90 1E 00 C6 */ stw r0, 0xc6(r30)
/* 80046008 00041E48 90 9E 00 CA */ stw r4, 0xca(r30)
.global lbl_8004600C
lbl_8004600C:
/* 8004600C 00041E4C 80 1E 00 1C */ lwz r0, 0x1c(r30)
/* 80046010 00041E50 54 00 05 60 */ rlwinm r0, r0, 0, 21, 16
/* 80046014 00041E54 60 00 84 00 */ ori r0, r0, 0x8400
/* 80046018 00041E58 90 1E 00 1C */ stw r0, 0x1c(r30)
2022-10-16 16:31:36 +00:00
/* 8004601C 00041E5C 4B FD B8 45 */ bl OSRestoreInterrupts
2022-10-16 16:05:58 +00:00
/* 80046020 00041E60 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80046024 00041E64 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80046028 00041E68 83 C1 00 08 */ lwz r30, 0x8(r1)
/* 8004602C 00041E6C 7C 08 03 A6 */ mtlr r0
/* 80046030 00041E70 38 21 00 10 */ addi r1, r1, 0x10
/* 80046034 00041E74 4E 80 00 20 */ blr
/* 80046038 00041E78 00 00 00 00 */ .4byte 0x00000000
/* 8004603C 00041E7C 00 00 00 00 */ .4byte 0x00000000
2022-10-16 16:31:36 +00:00
.global AXGetLpfCoefs
AXGetLpfCoefs:
2022-10-16 16:05:58 +00:00
/* 80046040 00041E80 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 80046044 00041E84 7C 08 02 A6 */ mflr r0
2022-10-16 16:31:36 +00:00
/* 80046048 00041E88 C8 62 87 40 */ lfd f3, "@3533_8055E6C0"@sda21(r2)
2022-10-16 16:05:58 +00:00
/* 8004604C 00041E8C 90 01 00 34 */ stw r0, 0x34(r1)
/* 80046050 00041E90 3C 00 43 30 */ lis r0, 0x4330
2022-10-16 16:31:36 +00:00
/* 80046054 00041E94 C0 22 87 2C */ lfs f1, "@3526"@sda21(r2)
2022-10-16 16:05:58 +00:00
/* 80046058 00041E98 90 61 00 0C */ stw r3, 0xc(r1)
2022-10-16 16:31:36 +00:00
/* 8004605C 00041E9C C0 02 87 30 */ lfs f0, "@3527"@sda21(r2)
2022-10-16 16:05:58 +00:00
/* 80046060 00041EA0 90 01 00 08 */ stw r0, 0x8(r1)
/* 80046064 00041EA4 C8 41 00 08 */ lfd f2, 0x8(r1)
/* 80046068 00041EA8 DB E1 00 20 */ stfd f31, 0x20(r1)
/* 8004606C 00041EAC EC 42 18 28 */ fsubs f2, f2, f3
/* 80046070 00041EB0 F3 E1 00 28 */ psq_st f31, 0x28(r1), 0, qr0
/* 80046074 00041EB4 EC 21 00 B2 */ fmuls f1, f1, f2
/* 80046078 00041EB8 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8004607C 00041EBC 7C BF 2B 78 */ mr r31, r5
/* 80046080 00041EC0 93 C1 00 18 */ stw r30, 0x18(r1)
/* 80046084 00041EC4 7C 9E 23 78 */ mr r30, r4
/* 80046088 00041EC8 EC 21 00 24 */ fdivs f1, f1, f0
2022-10-16 16:31:36 +00:00
/* 8004608C 00041ECC 4B FC DE B1 */ bl cos
2022-10-16 16:05:58 +00:00
/* 80046090 00041ED0 FC 40 08 18 */ frsp f2, f1
2022-10-16 16:31:36 +00:00
/* 80046094 00041ED4 C0 22 87 28 */ lfs f1, "@3525"@sda21(r2)
/* 80046098 00041ED8 C0 02 87 34 */ lfs f0, "@3528"@sda21(r2)
2022-10-16 16:05:58 +00:00
/* 8004609C 00041EDC EF E1 10 28 */ fsubs f31, f1, f2
/* 800460A0 00041EE0 EC 3F 07 F2 */ fmuls f1, f31, f31
/* 800460A4 00041EE4 EC 21 00 28 */ fsubs f1, f1, f0
2022-10-16 16:31:36 +00:00
/* 800460A8 00041EE8 4B FC E7 41 */ bl sqrt
2022-10-16 16:05:58 +00:00
/* 800460AC 00041EEC FC 20 08 18 */ frsp f1, f1
2022-10-16 16:31:36 +00:00
/* 800460B0 00041EF0 C0 02 87 38 */ lfs f0, "@3529"@sda21(r2)
2022-10-16 16:05:58 +00:00
/* 800460B4 00041EF4 EC 21 F8 28 */ fsubs f1, f1, f31
/* 800460B8 00041EF8 FC 20 08 50 */ fneg f1, f1
/* 800460BC 00041EFC EC 00 00 72 */ fmuls f0, f0, f1
/* 800460C0 00041F00 FC 00 00 1E */ fctiwz f0, f0
/* 800460C4 00041F04 D8 01 00 10 */ stfd f0, 0x10(r1)
/* 800460C8 00041F08 80 01 00 14 */ lwz r0, 0x14(r1)
/* 800460CC 00041F0C B0 1F 00 00 */ sth r0, 0x0(r31)
/* 800460D0 00041F10 54 00 04 3E */ clrlwi r0, r0, 16
/* 800460D4 00041F14 20 00 7F FF */ subfic r0, r0, 0x7fff
/* 800460D8 00041F18 B0 1E 00 00 */ sth r0, 0x0(r30)
/* 800460DC 00041F1C E3 E1 00 28 */ psq_l f31, 0x28(r1), 0, qr0
/* 800460E0 00041F20 CB E1 00 20 */ lfd f31, 0x20(r1)
/* 800460E4 00041F24 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 800460E8 00041F28 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 800460EC 00041F2C 80 01 00 34 */ lwz r0, 0x34(r1)
/* 800460F0 00041F30 7C 08 03 A6 */ mtlr r0
/* 800460F4 00041F34 38 21 00 30 */ addi r1, r1, 0x30
/* 800460F8 00041F38 4E 80 00 20 */ blr
/* 800460FC 00041F3C 00 00 00 00 */ .4byte 0x00000000
2022-10-16 16:31:36 +00:00
.global AXSetMaxDspCycles
AXSetMaxDspCycles:
/* 80046100 00041F40 90 6D E8 88 */ stw r3, __AXMaxDspCycles@sda21(r13)
2022-10-16 16:05:58 +00:00
/* 80046104 00041F44 4E 80 00 20 */ blr
/* 80046108 00041F48 00 00 00 00 */ .4byte 0x00000000
/* 8004610C 00041F4C 00 00 00 00 */ .4byte 0x00000000
2022-10-16 16:31:36 +00:00
.global AXGetMaxVoices
AXGetMaxVoices:
/* 80046110 00041F50 80 6D E8 7C */ lwz r3, __AXMaxVoices@sda21(r13)
2022-10-16 16:05:58 +00:00
/* 80046114 00041F54 4E 80 00 20 */ blr
/* 80046118 00041F58 00 00 00 00 */ .4byte 0x00000000
/* 8004611C 00041F5C 00 00 00 00 */ .4byte 0x00000000
2022-10-17 08:17:38 +00:00
.include "macros.inc"
.section .data, "wa" # 0x80421040 - 0x80496700 ; 0x000756C0
.global __AXMixCycles
__AXMixCycles:
.4byte 0x00000002
.4byte 0x00000198
.4byte 0x00000198
.4byte 0x0000032A
.4byte 0x0000057C
.4byte 0x0000057C
.4byte 0x0000057C
.4byte 0x0000057C
.4byte 0x00000198
.4byte 0x00000330
.4byte 0x00000330
.4byte 0x000004C2
.4byte 0x00000714
.4byte 0x00000714
.4byte 0x00000714
.4byte 0x00000714
.4byte 0x000002C3
.4byte 0x0000045B
.4byte 0x0000045B
.4byte 0x000005ED
.4byte 0x0000083F
.4byte 0x0000083F
.4byte 0x0000083F
.4byte 0x0000083F
.4byte 0x000002C3
.4byte 0x0000045B
.4byte 0x0000045B
.4byte 0x000005ED
.4byte 0x0000083F
.4byte 0x0000083F
.4byte 0x0000083F
.4byte 0x0000083F
.global __AXRmtMixCycles
__AXRmtMixCycles:
.4byte 0x00000004
.4byte 0x00000056
.4byte 0x00000097
.4byte 0x00000097
.include "macros.inc"
.section .bss, "", @nobits # 0x80496700 - 0x80556420 ; 0x000BFD20
.global __s_AXPB
__s_AXPB:
.skip 0x3F2A
.global lbl_804A804A
lbl_804A804A:
.skip 0x38D6
.global __s_AXITD
__s_AXITD:
.skip 0x1800
.global __s_AXVPB
__s_AXVPB:
.skip 0x8700
.include "macros.inc"
.section .sbss, "", @nobits # 0x8055C6E0 - 0x8055DF80 ; 0x000018A0
.global __AXPB
__AXPB:
.skip 0x4
.global __AXITD
__AXITD:
.skip 0x4
.global __AXVPB
__AXVPB:
.skip 0x4
.global __AXMaxVoices
__AXMaxVoices:
.skip 0x4
.global __AXNumVoices
__AXNumVoices:
.skip 0x4
.global __AXRecDspCycles
__AXRecDspCycles:
.skip 0x4
.global __AXMaxDspCycles
__AXMaxDspCycles:
.skip 0x8
.include "macros.inc"
.section .sdata2, "wa" # 0x8055DF80 - 0x805643C0 ; 0x00006440
.global "@3525"
"@3525":
.4byte 0x40000000
.global "@3526"
"@3526":
.4byte 0x40C90FDB
.global "@3527"
"@3527":
.4byte 0x46FA0000
.global "@3528"
"@3528":
.4byte 0x3F800000
.global "@3529"
"@3529":
.4byte 0x47000000
.4byte 0
.global "@3533_8055E6C0"
"@3533_8055E6C0":
.4byte 0x43300000
.4byte 0