donut-decomp/asm/ax/AXAlloc.s
2022-10-17 09:17:38 +01:00

497 lines
19 KiB
ArmAsm

.include "macros.inc"
.section .text, "ax" # 0x80006A00 - 0x80406260 ; 0x003FF860
.global __AXGetStackHead
__AXGetStackHead:
/* 80042E80 0003ECC0 3C 80 80 4A */ lis r4, __AXStackHead@ha
/* 80042E84 0003ECC4 54 60 10 3A */ slwi r0, r3, 2
/* 80042E88 0003ECC8 38 84 FF 20 */ addi r4, r4, __AXStackHead@l
/* 80042E8C 0003ECCC 7C 64 00 2E */ lwzx r3, r4, r0
/* 80042E90 0003ECD0 4E 80 00 20 */ blr
/* 80042E94 0003ECD4 00 00 00 00 */ .4byte 0x00000000
/* 80042E98 0003ECD8 00 00 00 00 */ .4byte 0x00000000
/* 80042E9C 0003ECDC 00 00 00 00 */ .4byte 0x00000000
.global __AXServiceCallbackStack
__AXServiceCallbackStack:
/* 80042EA0 0003ECE0 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80042EA4 0003ECE4 7C 08 02 A6 */ mflr r0
/* 80042EA8 0003ECE8 90 01 00 24 */ stw r0, 0x24(r1)
/* 80042EAC 0003ECEC 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80042EB0 0003ECF0 93 C1 00 18 */ stw r30, 0x18(r1)
/* 80042EB4 0003ECF4 93 A1 00 14 */ stw r29, 0x14(r1)
/* 80042EB8 0003ECF8 83 AD E7 68 */ lwz r29, __AXCallbackStack@sda21(r13)
/* 80042EBC 0003ECFC 2C 1D 00 00 */ cmpwi r29, 0x0
/* 80042EC0 0003ED00 41 82 00 0C */ beq lbl_80042ECC
/* 80042EC4 0003ED04 80 1D 00 08 */ lwz r0, 0x8(r29)
/* 80042EC8 0003ED08 90 0D E7 68 */ stw r0, __AXCallbackStack@sda21(r13)
.global lbl_80042ECC
lbl_80042ECC:
/* 80042ECC 0003ED0C 3F C0 80 4A */ lis r30, __AXStackHead@ha
/* 80042ED0 0003ED10 3B E0 00 00 */ li r31, 0x0
/* 80042ED4 0003ED14 48 00 00 54 */ b lbl_80042F28
.global lbl_80042ED8
lbl_80042ED8:
/* 80042ED8 0003ED18 80 1D 00 0C */ lwz r0, 0xc(r29)
/* 80042EDC 0003ED1C 2C 00 00 00 */ cmpwi r0, 0x0
/* 80042EE0 0003ED20 41 82 00 34 */ beq lbl_80042F14
/* 80042EE4 0003ED24 81 9D 00 10 */ lwz r12, 0x10(r29)
/* 80042EE8 0003ED28 2C 0C 00 00 */ cmpwi r12, 0x0
/* 80042EEC 0003ED2C 41 82 00 10 */ beq lbl_80042EFC
/* 80042EF0 0003ED30 7F A3 EB 78 */ mr r3, r29
/* 80042EF4 0003ED34 7D 89 03 A6 */ mtctr r12
/* 80042EF8 0003ED38 4E 80 04 21 */ bctrl
.global lbl_80042EFC
lbl_80042EFC:
/* 80042EFC 0003ED3C 7F A3 EB 78 */ mr r3, r29
/* 80042F00 0003ED40 48 00 01 31 */ bl __AXRemoveFromStack
/* 80042F04 0003ED44 80 1E FF 20 */ lwz r0, __AXStackHead@l(r30)
/* 80042F08 0003ED48 90 1D 00 00 */ stw r0, 0x0(r29)
/* 80042F0C 0003ED4C 93 BE FF 20 */ stw r29, -0xe0(r30)
/* 80042F10 0003ED50 93 FD 00 0C */ stw r31, 0xc(r29)
.global lbl_80042F14
lbl_80042F14:
/* 80042F14 0003ED54 83 AD E7 68 */ lwz r29, __AXCallbackStack@sda21(r13)
/* 80042F18 0003ED58 2C 1D 00 00 */ cmpwi r29, 0x0
/* 80042F1C 0003ED5C 41 82 00 0C */ beq lbl_80042F28
/* 80042F20 0003ED60 80 1D 00 08 */ lwz r0, 0x8(r29)
/* 80042F24 0003ED64 90 0D E7 68 */ stw r0, __AXCallbackStack@sda21(r13)
.global lbl_80042F28
lbl_80042F28:
/* 80042F28 0003ED68 2C 1D 00 00 */ cmpwi r29, 0x0
/* 80042F2C 0003ED6C 40 82 FF AC */ bne lbl_80042ED8
/* 80042F30 0003ED70 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80042F34 0003ED74 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80042F38 0003ED78 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80042F3C 0003ED7C 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 80042F40 0003ED80 7C 08 03 A6 */ mtlr r0
/* 80042F44 0003ED84 38 21 00 20 */ addi r1, r1, 0x20
/* 80042F48 0003ED88 4E 80 00 20 */ blr
/* 80042F4C 0003ED8C 00 00 00 00 */ .4byte 0x00000000
.global __AXAllocInit
__AXAllocInit:
/* 80042F50 0003ED90 3C 80 80 4A */ lis r4, __AXStackTail@ha
/* 80042F54 0003ED94 3C A0 80 4A */ lis r5, __AXStackHead@ha
/* 80042F58 0003ED98 38 60 00 00 */ li r3, 0x0
/* 80042F5C 0003ED9C 38 00 00 02 */ li r0, 0x2
/* 80042F60 0003EDA0 90 6D E7 68 */ stw r3, __AXCallbackStack@sda21(r13)
/* 80042F64 0003EDA4 38 84 FF A0 */ addi r4, r4, __AXStackTail@l
/* 80042F68 0003EDA8 38 A5 FF 20 */ addi r5, r5, __AXStackHead@l
/* 80042F6C 0003EDAC 7C 09 03 A6 */ mtctr r0
.global lbl_80042F70
lbl_80042F70:
/* 80042F70 0003EDB0 90 64 00 00 */ stw r3, 0x0(r4)
/* 80042F74 0003EDB4 90 65 00 00 */ stw r3, 0x0(r5)
/* 80042F78 0003EDB8 90 64 00 04 */ stw r3, 0x4(r4)
/* 80042F7C 0003EDBC 90 65 00 04 */ stw r3, 0x4(r5)
/* 80042F80 0003EDC0 90 64 00 08 */ stw r3, 0x8(r4)
/* 80042F84 0003EDC4 90 65 00 08 */ stw r3, 0x8(r5)
/* 80042F88 0003EDC8 90 64 00 0C */ stw r3, 0xc(r4)
/* 80042F8C 0003EDCC 90 65 00 0C */ stw r3, 0xc(r5)
/* 80042F90 0003EDD0 90 64 00 10 */ stw r3, 0x10(r4)
/* 80042F94 0003EDD4 90 65 00 10 */ stw r3, 0x10(r5)
/* 80042F98 0003EDD8 90 64 00 14 */ stw r3, 0x14(r4)
/* 80042F9C 0003EDDC 90 65 00 14 */ stw r3, 0x14(r5)
/* 80042FA0 0003EDE0 90 64 00 18 */ stw r3, 0x18(r4)
/* 80042FA4 0003EDE4 90 65 00 18 */ stw r3, 0x18(r5)
/* 80042FA8 0003EDE8 90 64 00 1C */ stw r3, 0x1c(r4)
/* 80042FAC 0003EDEC 90 65 00 1C */ stw r3, 0x1c(r5)
/* 80042FB0 0003EDF0 90 64 00 20 */ stw r3, 0x20(r4)
/* 80042FB4 0003EDF4 90 65 00 20 */ stw r3, 0x20(r5)
/* 80042FB8 0003EDF8 90 64 00 24 */ stw r3, 0x24(r4)
/* 80042FBC 0003EDFC 90 65 00 24 */ stw r3, 0x24(r5)
/* 80042FC0 0003EE00 90 64 00 28 */ stw r3, 0x28(r4)
/* 80042FC4 0003EE04 90 65 00 28 */ stw r3, 0x28(r5)
/* 80042FC8 0003EE08 90 64 00 2C */ stw r3, 0x2c(r4)
/* 80042FCC 0003EE0C 90 65 00 2C */ stw r3, 0x2c(r5)
/* 80042FD0 0003EE10 90 64 00 30 */ stw r3, 0x30(r4)
/* 80042FD4 0003EE14 90 65 00 30 */ stw r3, 0x30(r5)
/* 80042FD8 0003EE18 90 64 00 34 */ stw r3, 0x34(r4)
/* 80042FDC 0003EE1C 90 65 00 34 */ stw r3, 0x34(r5)
/* 80042FE0 0003EE20 90 64 00 38 */ stw r3, 0x38(r4)
/* 80042FE4 0003EE24 90 65 00 38 */ stw r3, 0x38(r5)
/* 80042FE8 0003EE28 90 64 00 3C */ stw r3, 0x3c(r4)
/* 80042FEC 0003EE2C 38 84 00 40 */ addi r4, r4, 0x40
/* 80042FF0 0003EE30 90 65 00 3C */ stw r3, 0x3c(r5)
/* 80042FF4 0003EE34 38 A5 00 40 */ addi r5, r5, 0x40
/* 80042FF8 0003EE38 42 00 FF 78 */ bdnz lbl_80042F70
/* 80042FFC 0003EE3C 4E 80 00 20 */ blr
.global __AXPushFreeStack
__AXPushFreeStack:
/* 80043000 0003EE40 3C A0 80 4A */ lis r5, __AXStackHead@ha
/* 80043004 0003EE44 38 00 00 00 */ li r0, 0x0
/* 80043008 0003EE48 80 85 FF 20 */ lwz r4, __AXStackHead@l(r5)
/* 8004300C 0003EE4C 90 83 00 00 */ stw r4, 0x0(r3)
/* 80043010 0003EE50 90 65 FF 20 */ stw r3, -0xe0(r5)
/* 80043014 0003EE54 90 03 00 0C */ stw r0, 0xc(r3)
/* 80043018 0003EE58 4E 80 00 20 */ blr
/* 8004301C 0003EE5C 00 00 00 00 */ .4byte 0x00000000
.global __AXPushCallbackStack
__AXPushCallbackStack:
/* 80043020 0003EE60 80 0D E7 68 */ lwz r0, __AXCallbackStack@sda21(r13)
/* 80043024 0003EE64 90 03 00 08 */ stw r0, 0x8(r3)
/* 80043028 0003EE68 90 6D E7 68 */ stw r3, __AXCallbackStack@sda21(r13)
/* 8004302C 0003EE6C 4E 80 00 20 */ blr
.global __AXRemoveFromStack
__AXRemoveFromStack:
/* 80043030 0003EE70 80 03 00 0C */ lwz r0, 0xc(r3)
/* 80043034 0003EE74 3C A0 80 4A */ lis r5, __AXStackHead@ha
/* 80043038 0003EE78 3C 80 80 4A */ lis r4, __AXStackTail@ha
/* 8004303C 0003EE7C 54 06 10 3A */ slwi r6, r0, 2
/* 80043040 0003EE80 38 A5 FF 20 */ addi r5, r5, __AXStackHead@l
/* 80043044 0003EE84 38 84 FF A0 */ addi r4, r4, __AXStackTail@l
/* 80043048 0003EE88 7C 05 30 2E */ lwzx r0, r5, r6
/* 8004304C 0003EE8C 7C E4 30 2E */ lwzx r7, r4, r6
/* 80043050 0003EE90 7C 00 38 40 */ cmplw r0, r7
/* 80043054 0003EE94 40 82 00 14 */ bne lbl_80043068
/* 80043058 0003EE98 38 00 00 00 */ li r0, 0x0
/* 8004305C 0003EE9C 7C 04 31 2E */ stwx r0, r4, r6
/* 80043060 0003EEA0 7C 05 31 2E */ stwx r0, r5, r6
/* 80043064 0003EEA4 4E 80 00 20 */ blr
.global lbl_80043068
lbl_80043068:
/* 80043068 0003EEA8 7C 03 00 40 */ cmplw r3, r0
/* 8004306C 0003EEAC 40 82 00 18 */ bne lbl_80043084
/* 80043070 0003EEB0 80 63 00 00 */ lwz r3, 0x0(r3)
/* 80043074 0003EEB4 38 00 00 00 */ li r0, 0x0
/* 80043078 0003EEB8 7C 65 31 2E */ stwx r3, r5, r6
/* 8004307C 0003EEBC 90 03 00 04 */ stw r0, 0x4(r3)
/* 80043080 0003EEC0 4E 80 00 20 */ blr
.global lbl_80043084
lbl_80043084:
/* 80043084 0003EEC4 7C 03 38 40 */ cmplw r3, r7
/* 80043088 0003EEC8 40 82 00 18 */ bne lbl_800430A0
/* 8004308C 0003EECC 80 63 00 04 */ lwz r3, 0x4(r3)
/* 80043090 0003EED0 38 00 00 00 */ li r0, 0x0
/* 80043094 0003EED4 7C 64 31 2E */ stwx r3, r4, r6
/* 80043098 0003EED8 90 03 00 00 */ stw r0, 0x0(r3)
/* 8004309C 0003EEDC 4E 80 00 20 */ blr
.global lbl_800430A0
lbl_800430A0:
/* 800430A0 0003EEE0 80 83 00 04 */ lwz r4, 0x4(r3)
/* 800430A4 0003EEE4 80 63 00 00 */ lwz r3, 0x0(r3)
/* 800430A8 0003EEE8 90 64 00 00 */ stw r3, 0x0(r4)
/* 800430AC 0003EEEC 90 83 00 04 */ stw r4, 0x4(r3)
/* 800430B0 0003EEF0 4E 80 00 20 */ blr
/* 800430B4 0003EEF4 00 00 00 00 */ .4byte 0x00000000
/* 800430B8 0003EEF8 00 00 00 00 */ .4byte 0x00000000
/* 800430BC 0003EEFC 00 00 00 00 */ .4byte 0x00000000
.global AXFreeVoice
AXFreeVoice:
/* 800430C0 0003EF00 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 800430C4 0003EF04 7C 08 02 A6 */ mflr r0
/* 800430C8 0003EF08 90 01 00 14 */ stw r0, 0x14(r1)
/* 800430CC 0003EF0C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 800430D0 0003EF10 93 C1 00 08 */ stw r30, 0x8(r1)
/* 800430D4 0003EF14 7C 7E 1B 78 */ mr r30, r3
/* 800430D8 0003EF18 4B FD E7 49 */ bl OSDisableInterrupts
/* 800430DC 0003EF1C 7C 7F 1B 78 */ mr r31, r3
/* 800430E0 0003EF20 7F C3 F3 78 */ mr r3, r30
/* 800430E4 0003EF24 4B FF FF 4D */ bl __AXRemoveFromStack
/* 800430E8 0003EF28 A0 1E 00 38 */ lhz r0, 0x38(r30)
/* 800430EC 0003EF2C 28 00 00 01 */ cmplwi r0, 0x1
/* 800430F0 0003EF30 40 82 00 0C */ bne lbl_800430FC
/* 800430F4 0003EF34 38 00 00 01 */ li r0, 0x1
/* 800430F8 0003EF38 90 1E 00 20 */ stw r0, 0x20(r30)
.global lbl_800430FC
lbl_800430FC:
/* 800430FC 0003EF3C 7F C3 F3 78 */ mr r3, r30
/* 80043100 0003EF40 48 00 2A E1 */ bl __AXSetPBDefault
/* 80043104 0003EF44 3C A0 80 4A */ lis r5, __AXStackHead@ha
/* 80043108 0003EF48 38 00 00 00 */ li r0, 0x0
/* 8004310C 0003EF4C 80 85 FF 20 */ lwz r4, __AXStackHead@l(r5)
/* 80043110 0003EF50 7F E3 FB 78 */ mr r3, r31
/* 80043114 0003EF54 90 9E 00 00 */ stw r4, 0x0(r30)
/* 80043118 0003EF58 93 C5 FF 20 */ stw r30, -0xe0(r5)
/* 8004311C 0003EF5C 90 1E 00 0C */ stw r0, 0xc(r30)
/* 80043120 0003EF60 4B FD E7 41 */ bl OSRestoreInterrupts
/* 80043124 0003EF64 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80043128 0003EF68 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8004312C 0003EF6C 83 C1 00 08 */ lwz r30, 0x8(r1)
/* 80043130 0003EF70 7C 08 03 A6 */ mtlr r0
/* 80043134 0003EF74 38 21 00 10 */ addi r1, r1, 0x10
/* 80043138 0003EF78 4E 80 00 20 */ blr
/* 8004313C 0003EF7C 00 00 00 00 */ .4byte 0x00000000
.global AXAcquireVoice
AXAcquireVoice:
/* 80043140 0003EF80 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80043144 0003EF84 7C 08 02 A6 */ mflr r0
/* 80043148 0003EF88 90 01 00 24 */ stw r0, 0x24(r1)
/* 8004314C 0003EF8C 39 61 00 20 */ addi r11, r1, 0x20
/* 80043150 0003EF90 4B FC 41 ED */ bl lbl_8000733C
/* 80043154 0003EF94 7C 7B 1B 78 */ mr r27, r3
/* 80043158 0003EF98 7C 9C 23 78 */ mr r28, r4
/* 8004315C 0003EF9C 7C BD 2B 78 */ mr r29, r5
/* 80043160 0003EFA0 4B FD E6 C1 */ bl OSDisableInterrupts
/* 80043164 0003EFA4 3C 80 80 4A */ lis r4, __AXStackHead@ha
/* 80043168 0003EFA8 7C 7F 1B 78 */ mr r31, r3
/* 8004316C 0003EFAC 83 C4 FF 20 */ lwz r30, __AXStackHead@l(r4)
/* 80043170 0003EFB0 2C 1E 00 00 */ cmpwi r30, 0x0
/* 80043174 0003EFB4 41 82 00 0C */ beq lbl_80043180
/* 80043178 0003EFB8 80 1E 00 00 */ lwz r0, 0x0(r30)
/* 8004317C 0003EFBC 90 04 FF 20 */ stw r0, -0xe0(r4)
.global lbl_80043180
lbl_80043180:
/* 80043180 0003EFC0 2C 1E 00 00 */ cmpwi r30, 0x0
/* 80043184 0003EFC4 40 82 00 BC */ bne lbl_80043240
/* 80043188 0003EFC8 3C 60 80 4A */ lis r3, __AXStackHead@ha
/* 8004318C 0003EFCC 3C 80 80 4A */ lis r4, __AXStackTail@ha
/* 80043190 0003EFD0 38 63 FF 20 */ addi r3, r3, __AXStackHead@l
/* 80043194 0003EFD4 38 1B FF FF */ addi r0, r27, -0x1
/* 80043198 0003EFD8 38 84 FF A0 */ addi r4, r4, __AXStackTail@l
/* 8004319C 0003EFDC 38 A3 00 04 */ addi r5, r3, 0x4
/* 800431A0 0003EFE0 38 60 00 00 */ li r3, 0x0
/* 800431A4 0003EFE4 38 C4 00 04 */ addi r6, r4, 0x4
/* 800431A8 0003EFE8 7C 09 03 A6 */ mtctr r0
/* 800431AC 0003EFEC 28 1B 00 01 */ cmplwi r27, 0x1
/* 800431B0 0003EFF0 40 81 00 90 */ ble lbl_80043240
/* 800431B4 0003EFF4 60 00 00 00 */ nop
.global lbl_800431B8
lbl_800431B8:
/* 800431B8 0003EFF8 80 05 00 00 */ lwz r0, 0x0(r5)
/* 800431BC 0003EFFC 3B C0 00 00 */ li r30, 0x0
/* 800431C0 0003F000 2C 00 00 00 */ cmpwi r0, 0x0
/* 800431C4 0003F004 41 82 00 38 */ beq lbl_800431FC
/* 800431C8 0003F008 80 E6 00 00 */ lwz r7, 0x0(r6)
/* 800431CC 0003F00C 7C 00 38 40 */ cmplw r0, r7
/* 800431D0 0003F010 40 82 00 14 */ bne lbl_800431E4
/* 800431D4 0003F014 90 66 00 00 */ stw r3, 0x0(r6)
/* 800431D8 0003F018 7C 1E 03 78 */ mr r30, r0
/* 800431DC 0003F01C 90 65 00 00 */ stw r3, 0x0(r5)
/* 800431E0 0003F020 48 00 00 1C */ b lbl_800431FC
.global lbl_800431E4
lbl_800431E4:
/* 800431E4 0003F024 2C 07 00 00 */ cmpwi r7, 0x0
/* 800431E8 0003F028 41 82 00 14 */ beq lbl_800431FC
/* 800431EC 0003F02C 80 87 00 04 */ lwz r4, 0x4(r7)
/* 800431F0 0003F030 7C FE 3B 78 */ mr r30, r7
/* 800431F4 0003F034 90 86 00 00 */ stw r4, 0x0(r6)
/* 800431F8 0003F038 90 64 00 00 */ stw r3, 0x0(r4)
.global lbl_800431FC
lbl_800431FC:
/* 800431FC 0003F03C 2C 1E 00 00 */ cmpwi r30, 0x0
/* 80043200 0003F040 41 82 00 34 */ beq lbl_80043234
/* 80043204 0003F044 A0 1E 00 38 */ lhz r0, 0x38(r30)
/* 80043208 0003F048 28 00 00 01 */ cmplwi r0, 0x1
/* 8004320C 0003F04C 40 82 00 0C */ bne lbl_80043218
/* 80043210 0003F050 38 00 00 01 */ li r0, 0x1
/* 80043214 0003F054 90 1E 00 20 */ stw r0, 0x20(r30)
.global lbl_80043218
lbl_80043218:
/* 80043218 0003F058 81 9E 00 10 */ lwz r12, 0x10(r30)
/* 8004321C 0003F05C 2C 0C 00 00 */ cmpwi r12, 0x0
/* 80043220 0003F060 41 82 00 20 */ beq lbl_80043240
/* 80043224 0003F064 7F C3 F3 78 */ mr r3, r30
/* 80043228 0003F068 7D 89 03 A6 */ mtctr r12
/* 8004322C 0003F06C 4E 80 04 21 */ bctrl
/* 80043230 0003F070 48 00 00 10 */ b lbl_80043240
.global lbl_80043234
lbl_80043234:
/* 80043234 0003F074 38 A5 00 04 */ addi r5, r5, 0x4
/* 80043238 0003F078 38 C6 00 04 */ addi r6, r6, 0x4
/* 8004323C 0003F07C 42 00 FF 7C */ bdnz lbl_800431B8
.global lbl_80043240
lbl_80043240:
/* 80043240 0003F080 2C 1E 00 00 */ cmpwi r30, 0x0
/* 80043244 0003F084 41 82 00 5C */ beq lbl_800432A0
/* 80043248 0003F088 3C 80 80 4A */ lis r4, __AXStackHead@ha
/* 8004324C 0003F08C 57 65 10 3A */ slwi r5, r27, 2
/* 80043250 0003F090 38 84 FF 20 */ addi r4, r4, __AXStackHead@l
/* 80043254 0003F094 38 00 00 00 */ li r0, 0x0
/* 80043258 0003F098 7C 64 28 2E */ lwzx r3, r4, r5
/* 8004325C 0003F09C 90 7E 00 00 */ stw r3, 0x0(r30)
/* 80043260 0003F0A0 2C 03 00 00 */ cmpwi r3, 0x0
/* 80043264 0003F0A4 90 1E 00 04 */ stw r0, 0x4(r30)
/* 80043268 0003F0A8 41 82 00 14 */ beq lbl_8004327C
/* 8004326C 0003F0AC 7C 64 28 2E */ lwzx r3, r4, r5
/* 80043270 0003F0B0 93 C3 00 04 */ stw r30, 0x4(r3)
/* 80043274 0003F0B4 7F C4 29 2E */ stwx r30, r4, r5
/* 80043278 0003F0B8 48 00 00 14 */ b lbl_8004328C
.global lbl_8004327C
lbl_8004327C:
/* 8004327C 0003F0BC 3C 60 80 4A */ lis r3, __AXStackTail@ha
/* 80043280 0003F0C0 7F C4 29 2E */ stwx r30, r4, r5
/* 80043284 0003F0C4 38 63 FF A0 */ addi r3, r3, __AXStackTail@l
/* 80043288 0003F0C8 7F C3 29 2E */ stwx r30, r3, r5
.global lbl_8004328C
lbl_8004328C:
/* 8004328C 0003F0CC 93 7E 00 0C */ stw r27, 0xc(r30)
/* 80043290 0003F0D0 7F C3 F3 78 */ mr r3, r30
/* 80043294 0003F0D4 93 9E 00 10 */ stw r28, 0x10(r30)
/* 80043298 0003F0D8 93 BE 00 14 */ stw r29, 0x14(r30)
/* 8004329C 0003F0DC 48 00 29 45 */ bl __AXSetPBDefault
.global lbl_800432A0
lbl_800432A0:
/* 800432A0 0003F0E0 7F E3 FB 78 */ mr r3, r31
/* 800432A4 0003F0E4 4B FD E5 BD */ bl OSRestoreInterrupts
/* 800432A8 0003F0E8 39 61 00 20 */ addi r11, r1, 0x20
/* 800432AC 0003F0EC 7F C3 F3 78 */ mr r3, r30
/* 800432B0 0003F0F0 4B FC 40 D9 */ bl lbl_80007388
/* 800432B4 0003F0F4 80 01 00 24 */ lwz r0, 0x24(r1)
/* 800432B8 0003F0F8 7C 08 03 A6 */ mtlr r0
/* 800432BC 0003F0FC 38 21 00 20 */ addi r1, r1, 0x20
/* 800432C0 0003F100 4E 80 00 20 */ blr
/* 800432C4 0003F104 00 00 00 00 */ .4byte 0x00000000
/* 800432C8 0003F108 00 00 00 00 */ .4byte 0x00000000
/* 800432CC 0003F10C 00 00 00 00 */ .4byte 0x00000000
.global AXSetVoicePriority
AXSetVoicePriority:
/* 800432D0 0003F110 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 800432D4 0003F114 7C 08 02 A6 */ mflr r0
/* 800432D8 0003F118 90 01 00 24 */ stw r0, 0x24(r1)
/* 800432DC 0003F11C 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 800432E0 0003F120 93 C1 00 18 */ stw r30, 0x18(r1)
/* 800432E4 0003F124 7C 9E 23 78 */ mr r30, r4
/* 800432E8 0003F128 93 A1 00 14 */ stw r29, 0x14(r1)
/* 800432EC 0003F12C 7C 7D 1B 78 */ mr r29, r3
/* 800432F0 0003F130 4B FD E5 31 */ bl OSDisableInterrupts
/* 800432F4 0003F134 7C 7F 1B 78 */ mr r31, r3
/* 800432F8 0003F138 7F A3 EB 78 */ mr r3, r29
/* 800432FC 0003F13C 4B FF FD 35 */ bl __AXRemoveFromStack
/* 80043300 0003F140 3C 80 80 4A */ lis r4, __AXStackHead@ha
/* 80043304 0003F144 57 C5 10 3A */ slwi r5, r30, 2
/* 80043308 0003F148 38 84 FF 20 */ addi r4, r4, __AXStackHead@l
/* 8004330C 0003F14C 38 00 00 00 */ li r0, 0x0
/* 80043310 0003F150 7C 64 28 2E */ lwzx r3, r4, r5
/* 80043314 0003F154 90 7D 00 00 */ stw r3, 0x0(r29)
/* 80043318 0003F158 2C 03 00 00 */ cmpwi r3, 0x0
/* 8004331C 0003F15C 90 1D 00 04 */ stw r0, 0x4(r29)
/* 80043320 0003F160 41 82 00 14 */ beq lbl_80043334
/* 80043324 0003F164 7C 64 28 2E */ lwzx r3, r4, r5
/* 80043328 0003F168 93 A3 00 04 */ stw r29, 0x4(r3)
/* 8004332C 0003F16C 7F A4 29 2E */ stwx r29, r4, r5
/* 80043330 0003F170 48 00 00 14 */ b lbl_80043344
.global lbl_80043334
lbl_80043334:
/* 80043334 0003F174 3C 60 80 4A */ lis r3, __AXStackTail@ha
/* 80043338 0003F178 7F A4 29 2E */ stwx r29, r4, r5
/* 8004333C 0003F17C 38 63 FF A0 */ addi r3, r3, __AXStackTail@l
/* 80043340 0003F180 7F A3 29 2E */ stwx r29, r3, r5
.global lbl_80043344
lbl_80043344:
/* 80043344 0003F184 93 DD 00 0C */ stw r30, 0xc(r29)
/* 80043348 0003F188 7F E3 FB 78 */ mr r3, r31
/* 8004334C 0003F18C 4B FD E5 15 */ bl OSRestoreInterrupts
/* 80043350 0003F190 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80043354 0003F194 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80043358 0003F198 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8004335C 0003F19C 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 80043360 0003F1A0 7C 08 03 A6 */ mtlr r0
/* 80043364 0003F1A4 38 21 00 20 */ addi r1, r1, 0x20
/* 80043368 0003F1A8 4E 80 00 20 */ blr
/* 8004336C 0003F1AC 00 00 00 00 */ .4byte 0x00000000
.include "macros.inc"
.section .bss, "", @nobits # 0x80496700 - 0x80556420 ; 0x000BFD20
.global __AXStackHead
__AXStackHead:
.skip 0x80
.global __AXStackTail
__AXStackTail:
.skip 0x61
.global lbl_804A0001
lbl_804A0001:
.skip 0x1
.global lbl_804A0002
lbl_804A0002:
.skip 0x1
.global lbl_804A0003
lbl_804A0003:
.skip 0x1
.global lbl_804A0004
lbl_804A0004:
.skip 0x1
.global lbl_804A0005
lbl_804A0005:
.skip 0x1
.global lbl_804A0006
lbl_804A0006:
.skip 0x1
.global lbl_804A0007
lbl_804A0007:
.skip 0x1
.global lbl_804A0008
lbl_804A0008:
.skip 0x1
.global lbl_804A0009
lbl_804A0009:
.skip 0x1
.global lbl_804A000A
lbl_804A000A:
.skip 0x1
.global lbl_804A000B
lbl_804A000B:
.skip 0x1
.global lbl_804A000C
lbl_804A000C:
.skip 0x1
.global lbl_804A000D
lbl_804A000D:
.skip 0x1
.global lbl_804A000E
lbl_804A000E:
.skip 0x1
.global lbl_804A000F
lbl_804A000F:
.skip 0x1
.global lbl_804A0010
lbl_804A0010:
.skip 0x1
.global lbl_804A0011
lbl_804A0011:
.skip 0x1
.global lbl_804A0012
lbl_804A0012:
.skip 0x1
.global lbl_804A0013
lbl_804A0013:
.skip 0x1
.global lbl_804A0014
lbl_804A0014:
.skip 0x1
.global lbl_804A0015
lbl_804A0015:
.skip 0x1
.global lbl_804A0016
lbl_804A0016:
.skip 0x1
.global lbl_804A0017
lbl_804A0017:
.skip 0x1
.global lbl_804A0018
lbl_804A0018:
.skip 0x1
.global lbl_804A0019
lbl_804A0019:
.skip 0x7
.include "macros.inc"
.section .sbss, "", @nobits # 0x8055C6E0 - 0x8055DF80 ; 0x000018A0
.global __AXCallbackStack
__AXCallbackStack:
.skip 0x8