split and named symbols in text.s (#2)

* split and named symbols in text.s

* Update makefile for better compatiblity
This commit is contained in:
notyouraveragehooman 2020-09-01 17:26:31 -07:00 committed by GitHub
parent c72fc0c64a
commit f61bfb39dd
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
599 changed files with 993262 additions and 986329 deletions

View File

@ -1,14 +1,4 @@
ifneq ($(findstring MINGW,$(shell uname)),)
WINDOWS := 1
endif
ifneq ($(findstring MSYS,$(shell uname)),)
WINDOWS := 1
endif
WSLENV ?= ok
ifndef WSLENV
WINDOWS := 1
endif
WINDOWS := $(shell which wine ; echo $$?)
#-------------------------------------------------------------------------------
# Files
@ -21,7 +11,7 @@ TARGET := dolzel2
BUILD_DIR := build/$(TARGET)
SRC_DIRS := src
ASM_DIRS := asm
ASM_DIRS := asm $(wildcard asm/*.s asm/*/*.s asm/*/*/*.s asm/*/*/*/*.s asm/*/*/*/*/*.s asm/*/*/*/*/*/*.s)
# Inputs
LDSCRIPT := $(BUILD_DIR)/ldscript.lcf
@ -50,6 +40,7 @@ ifeq ($(WINDOWS),1)
else
WINE := wine
endif
AS := $(DEVKITPPC)/bin/powerpc-eabi-as
OBJCOPY := $(DEVKITPPC)/bin/powerpc-eabi-objcopy
CPP := cpp -P
@ -66,7 +57,7 @@ INCLUDES := -i include -i include/dolphin/ -i include/dolphin/mtx/ -i src -i src
ASFLAGS := -mgekko -I include
LDFLAGS := -map $(MAP) -fp hard -nodefaults -w off
CFLAGS := -Cpp_exceptions off -proc gekko -fp hard -O4,p -nodefaults -msgstyle gcc $(INCLUDES)
CFLAGS := -Cpp_exceptions off -proc gekko -fp hard -O3,s -nodefaults -msgstyle gcc $(INCLUDES)
# for postprocess.py
PROCFLAGS := -fprologue-fixup=old_stack

1164
asm/DynamicLink.s Normal file

File diff suppressed because it is too large Load Diff

2911
asm/J2DGraph/J2DAnimation.s Normal file

File diff suppressed because it is too large Load Diff

1960
asm/J2DGraph/J2DAnmLoader.s Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,787 @@
.include "macros.inc"
.section .text, "ax" # 802e8b08
.global J2DGrafContext
J2DGrafContext:
/* 802E8B08 002E5A48 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 802E8B0C 002E5A4C 7C 08 02 A6 */ mflr r0
/* 802E8B10 002E5A50 90 01 00 34 */ stw r0, 0x34(r1)
/* 802E8B14 002E5A54 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 802E8B18 002E5A58 7C 7F 1B 78 */ mr r31, r3
/* 802E8B1C 002E5A5C 3C 80 80 3D */ lis r4, lbl_803CC9B8@ha
/* 802E8B20 002E5A60 38 04 C9 B8 */ addi r0, r4, lbl_803CC9B8@l
/* 802E8B24 002E5A64 90 03 00 00 */ stw r0, 0(r3)
/* 802E8B28 002E5A68 D0 23 00 04 */ stfs f1, 4(r3)
/* 802E8B2C 002E5A6C D0 43 00 08 */ stfs f2, 8(r3)
/* 802E8B30 002E5A70 EC 01 18 2A */ fadds f0, f1, f3
/* 802E8B34 002E5A74 D0 03 00 0C */ stfs f0, 0xc(r3)
/* 802E8B38 002E5A78 EC 62 20 2A */ fadds f3, f2, f4
/* 802E8B3C 002E5A7C D0 63 00 10 */ stfs f3, 0x10(r3)
/* 802E8B40 002E5A80 D0 23 00 14 */ stfs f1, 0x14(r3)
/* 802E8B44 002E5A84 D0 43 00 18 */ stfs f2, 0x18(r3)
/* 802E8B48 002E5A88 D0 03 00 1C */ stfs f0, 0x1c(r3)
/* 802E8B4C 002E5A8C D0 63 00 20 */ stfs f3, 0x20(r3)
/* 802E8B50 002E5A90 38 00 FF FF */ li r0, -1
/* 802E8B54 002E5A94 90 03 00 24 */ stw r0, 0x24(r3)
/* 802E8B58 002E5A98 90 03 00 28 */ stw r0, 0x28(r3)
/* 802E8B5C 002E5A9C 90 03 00 2C */ stw r0, 0x2c(r3)
/* 802E8B60 002E5AA0 90 03 00 30 */ stw r0, 0x30(r3)
/* 802E8B64 002E5AA4 90 01 00 1C */ stw r0, 0x1c(r1)
/* 802E8B68 002E5AA8 90 01 00 08 */ stw r0, 8(r1)
/* 802E8B6C 002E5AAC 90 01 00 18 */ stw r0, 0x18(r1)
/* 802E8B70 002E5AB0 90 01 00 14 */ stw r0, 0x14(r1)
/* 802E8B74 002E5AB4 90 01 00 10 */ stw r0, 0x10(r1)
/* 802E8B78 002E5AB8 90 01 00 0C */ stw r0, 0xc(r1)
/* 802E8B7C 002E5ABC 38 81 00 0C */ addi r4, r1, 0xc
/* 802E8B80 002E5AC0 38 A1 00 10 */ addi r5, r1, 0x10
/* 802E8B84 002E5AC4 38 C1 00 14 */ addi r6, r1, 0x14
/* 802E8B88 002E5AC8 38 E1 00 18 */ addi r7, r1, 0x18
/* 802E8B8C 002E5ACC 48 00 05 8D */ bl J2DGrafContext_NS_setColor
/* 802E8B90 002E5AD0 7F E3 FB 78 */ mr r3, r31
/* 802E8B94 002E5AD4 38 80 00 06 */ li r4, 6
/* 802E8B98 002E5AD8 48 00 06 9D */ bl J2DGrafContext_NS_setLineWidth
/* 802E8B9C 002E5ADC 7F E3 FB 78 */ mr r3, r31
/* 802E8BA0 002E5AE0 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 802E8BA4 002E5AE4 80 01 00 34 */ lwz r0, 0x34(r1)
/* 802E8BA8 002E5AE8 7C 08 03 A6 */ mtlr r0
/* 802E8BAC 002E5AEC 38 21 00 30 */ addi r1, r1, 0x30
/* 802E8BB0 002E5AF0 4E 80 00 20 */ blr
.global J2DGrafContext_NS_setPort
J2DGrafContext_NS_setPort:
/* 802E8BB4 002E5AF4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802E8BB8 002E5AF8 7C 08 02 A6 */ mflr r0
/* 802E8BBC 002E5AFC 90 01 00 14 */ stw r0, 0x14(r1)
/* 802E8BC0 002E5B00 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802E8BC4 002E5B04 7C 7F 1B 78 */ mr r31, r3
/* 802E8BC8 002E5B08 81 83 00 00 */ lwz r12, 0(r3)
/* 802E8BCC 002E5B0C 81 8C 00 1C */ lwz r12, 0x1c(r12)
/* 802E8BD0 002E5B10 7D 89 03 A6 */ mtctr r12
/* 802E8BD4 002E5B14 4E 80 04 21 */ bctrl
/* 802E8BD8 002E5B18 7F E3 FB 78 */ mr r3, r31
/* 802E8BDC 002E5B1C 81 9F 00 00 */ lwz r12, 0(r31)
/* 802E8BE0 002E5B20 81 8C 00 18 */ lwz r12, 0x18(r12)
/* 802E8BE4 002E5B24 7D 89 03 A6 */ mtctr r12
/* 802E8BE8 002E5B28 4E 80 04 21 */ bctrl
/* 802E8BEC 002E5B2C C0 3F 00 04 */ lfs f1, 4(r31)
/* 802E8BF0 002E5B30 C0 5F 00 08 */ lfs f2, 8(r31)
/* 802E8BF4 002E5B34 C0 7F 00 0C */ lfs f3, 0xc(r31)
/* 802E8BF8 002E5B38 C0 9F 00 10 */ lfs f4, 0x10(r31)
/* 802E8BFC 002E5B3C C0 02 C7 48 */ lfs f0, lbl_80456148-_SDA2_BASE_(r2)
/* 802E8C00 002E5B40 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 802E8C04 002E5B44 40 80 00 08 */ bge lbl_802E8C0C
/* 802E8C08 002E5B48 FC 20 00 90 */ fmr f1, f0
lbl_802E8C0C:
/* 802E8C0C 002E5B4C C0 02 C7 48 */ lfs f0, lbl_80456148-_SDA2_BASE_(r2)
/* 802E8C10 002E5B50 FC 02 00 40 */ fcmpo cr0, f2, f0
/* 802E8C14 002E5B54 40 80 00 08 */ bge lbl_802E8C1C
/* 802E8C18 002E5B58 FC 40 00 90 */ fmr f2, f0
lbl_802E8C1C:
/* 802E8C1C 002E5B5C EC 63 08 28 */ fsubs f3, f3, f1
/* 802E8C20 002E5B60 EC 84 10 28 */ fsubs f4, f4, f2
/* 802E8C24 002E5B64 C0 A2 C7 48 */ lfs f5, lbl_80456148-_SDA2_BASE_(r2)
/* 802E8C28 002E5B68 C0 C2 C7 4C */ lfs f6, lbl_8045614C-_SDA2_BASE_(r2)
/* 802E8C2C 002E5B6C 48 07 78 39 */ bl GXSetViewport
/* 802E8C30 002E5B70 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802E8C34 002E5B74 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802E8C38 002E5B78 7C 08 03 A6 */ mtlr r0
/* 802E8C3C 002E5B7C 38 21 00 10 */ addi r1, r1, 0x10
/* 802E8C40 002E5B80 4E 80 00 20 */ blr
/* 802E8C44 002E5B84 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 802E8C48 002E5B88 7C 08 02 A6 */ mflr r0
/* 802E8C4C 002E5B8C 90 01 00 44 */ stw r0, 0x44(r1)
/* 802E8C50 002E5B90 93 E1 00 3C */ stw r31, 0x3c(r1)
/* 802E8C54 002E5B94 93 C1 00 38 */ stw r30, 0x38(r1)
/* 802E8C58 002E5B98 7C 7E 1B 78 */ mr r30, r3
/* 802E8C5C 002E5B9C 38 60 00 00 */ li r3, 0
/* 802E8C60 002E5BA0 48 07 64 75 */ bl GXSetNumIndStages
/* 802E8C64 002E5BA4 3B E0 00 00 */ li r31, 0
lbl_802E8C68:
/* 802E8C68 002E5BA8 7F E3 FB 78 */ mr r3, r31
/* 802E8C6C 002E5BAC 48 07 64 8D */ bl GXSetTevDirect
/* 802E8C70 002E5BB0 3B FF 00 01 */ addi r31, r31, 1
/* 802E8C74 002E5BB4 2C 1F 00 10 */ cmpwi r31, 0x10
/* 802E8C78 002E5BB8 41 80 FF F0 */ blt lbl_802E8C68
/* 802E8C7C 002E5BBC 38 60 00 00 */ li r3, 0
/* 802E8C80 002E5BC0 48 07 70 51 */ bl GXSetZCompLoc
/* 802E8C84 002E5BC4 38 60 00 04 */ li r3, 4
/* 802E8C88 002E5BC8 38 80 00 00 */ li r4, 0
/* 802E8C8C 002E5BCC 38 A0 00 01 */ li r5, 1
/* 802E8C90 002E5BD0 38 C0 00 04 */ li r6, 4
/* 802E8C94 002E5BD4 38 E0 00 00 */ li r7, 0
/* 802E8C98 002E5BD8 48 07 69 8D */ bl GXSetAlphaCompare
/* 802E8C9C 002E5BDC 38 60 00 00 */ li r3, 0
/* 802E8CA0 002E5BE0 38 80 00 03 */ li r4, 3
/* 802E8CA4 002E5BE4 38 A0 00 00 */ li r5, 0
/* 802E8CA8 002E5BE8 48 07 6F F5 */ bl GXSetZMode
/* 802E8CAC 002E5BEC 38 60 00 00 */ li r3, 0
/* 802E8CB0 002E5BF0 38 80 00 04 */ li r4, 4
/* 802E8CB4 002E5BF4 48 07 64 E5 */ bl GXSetTevOp
/* 802E8CB8 002E5BF8 38 60 00 01 */ li r3, 1
/* 802E8CBC 002E5BFC 48 07 4E 75 */ bl GXSetNumChans
/* 802E8CC0 002E5C00 38 60 00 01 */ li r3, 1
/* 802E8CC4 002E5C04 48 07 6B CD */ bl GXSetNumTevStages
/* 802E8CC8 002E5C08 38 60 00 00 */ li r3, 0
/* 802E8CCC 002E5C0C 48 07 31 31 */ bl GXSetNumTexGens
/* 802E8CD0 002E5C10 38 60 00 00 */ li r3, 0
/* 802E8CD4 002E5C14 38 80 00 FF */ li r4, 0xff
/* 802E8CD8 002E5C18 38 A0 00 FF */ li r5, 0xff
/* 802E8CDC 002E5C1C 38 C0 00 04 */ li r6, 4
/* 802E8CE0 002E5C20 48 07 6A 15 */ bl GXSetTevOrder
/* 802E8CE4 002E5C24 38 60 00 00 */ li r3, 0
/* 802E8CE8 002E5C28 48 07 3C 9D */ bl GXSetCullMode
/* 802E8CEC 002E5C2C 38 7E 00 80 */ addi r3, r30, 0x80
/* 802E8CF0 002E5C30 38 80 00 00 */ li r4, 0
/* 802E8CF4 002E5C34 48 07 75 59 */ bl GXLoadPosMtxImm
/* 802E8CF8 002E5C38 38 61 00 08 */ addi r3, r1, 8
/* 802E8CFC 002E5C3C 48 05 D7 89 */ bl PSMTXIdentity
/* 802E8D00 002E5C40 38 61 00 08 */ addi r3, r1, 8
/* 802E8D04 002E5C44 38 80 00 3C */ li r4, 0x3c
/* 802E8D08 002E5C48 38 A0 00 00 */ li r5, 0
/* 802E8D0C 002E5C4C 48 07 76 15 */ bl GXLoadTexMtxImm
/* 802E8D10 002E5C50 38 60 00 04 */ li r3, 4
/* 802E8D14 002E5C54 38 80 00 00 */ li r4, 0
/* 802E8D18 002E5C58 38 A0 00 00 */ li r5, 0
/* 802E8D1C 002E5C5C 38 C0 00 01 */ li r6, 1
/* 802E8D20 002E5C60 38 E0 00 00 */ li r7, 0
/* 802E8D24 002E5C64 39 00 00 00 */ li r8, 0
/* 802E8D28 002E5C68 39 20 00 02 */ li r9, 2
/* 802E8D2C 002E5C6C 48 07 4E 41 */ bl GXSetChanCtrl
/* 802E8D30 002E5C70 38 60 00 05 */ li r3, 5
/* 802E8D34 002E5C74 38 80 00 00 */ li r4, 0
/* 802E8D38 002E5C78 38 A0 00 00 */ li r5, 0
/* 802E8D3C 002E5C7C 38 C0 00 00 */ li r6, 0
/* 802E8D40 002E5C80 38 E0 00 00 */ li r7, 0
/* 802E8D44 002E5C84 39 00 00 00 */ li r8, 0
/* 802E8D48 002E5C88 39 20 00 02 */ li r9, 2
/* 802E8D4C 002E5C8C 48 07 4E 21 */ bl GXSetChanCtrl
/* 802E8D50 002E5C90 38 60 00 00 */ li r3, 0
/* 802E8D54 002E5C94 48 07 75 99 */ bl GXSetCurrentMtx
/* 802E8D58 002E5C98 38 60 00 00 */ li r3, 0
/* 802E8D5C 002E5C9C 38 80 00 01 */ li r4, 1
/* 802E8D60 002E5CA0 38 A0 00 04 */ li r5, 4
/* 802E8D64 002E5CA4 38 C0 00 3C */ li r6, 0x3c
/* 802E8D68 002E5CA8 38 E0 00 00 */ li r7, 0
/* 802E8D6C 002E5CAC 39 00 00 7D */ li r8, 0x7d
/* 802E8D70 002E5CB0 48 07 2E 0D */ bl GXSetTexCoordGen2
/* 802E8D74 002E5CB4 38 60 00 00 */ li r3, 0
/* 802E8D78 002E5CB8 38 80 00 09 */ li r4, 9
/* 802E8D7C 002E5CBC 38 A0 00 01 */ li r5, 1
/* 802E8D80 002E5CC0 38 C0 00 03 */ li r6, 3
/* 802E8D84 002E5CC4 38 E0 00 00 */ li r7, 0
/* 802E8D88 002E5CC8 48 07 28 3D */ bl GXSetVtxAttrFmt
/* 802E8D8C 002E5CCC 38 60 00 00 */ li r3, 0
/* 802E8D90 002E5CD0 38 80 00 0B */ li r4, 0xb
/* 802E8D94 002E5CD4 38 A0 00 01 */ li r5, 1
/* 802E8D98 002E5CD8 38 C0 00 05 */ li r6, 5
/* 802E8D9C 002E5CDC 38 E0 00 00 */ li r7, 0
/* 802E8DA0 002E5CE0 48 07 28 25 */ bl GXSetVtxAttrFmt
/* 802E8DA4 002E5CE4 38 60 00 00 */ li r3, 0
/* 802E8DA8 002E5CE8 38 80 00 0D */ li r4, 0xd
/* 802E8DAC 002E5CEC 38 A0 00 01 */ li r5, 1
/* 802E8DB0 002E5CF0 38 C0 00 02 */ li r6, 2
/* 802E8DB4 002E5CF4 38 E0 00 0F */ li r7, 0xf
/* 802E8DB8 002E5CF8 48 07 28 0D */ bl GXSetVtxAttrFmt
/* 802E8DBC 002E5CFC 38 60 00 00 */ li r3, 0
/* 802E8DC0 002E5D00 38 80 00 0E */ li r4, 0xe
/* 802E8DC4 002E5D04 38 A0 00 01 */ li r5, 1
/* 802E8DC8 002E5D08 38 C0 00 02 */ li r6, 2
/* 802E8DCC 002E5D0C 38 E0 00 0F */ li r7, 0xf
/* 802E8DD0 002E5D10 48 07 27 F5 */ bl GXSetVtxAttrFmt
/* 802E8DD4 002E5D14 88 7E 00 34 */ lbz r3, 0x34(r30)
/* 802E8DD8 002E5D18 38 80 00 00 */ li r4, 0
/* 802E8DDC 002E5D1C 48 07 3A E1 */ bl GXSetLineWidth
/* 802E8DE0 002E5D20 48 07 27 AD */ bl GXClearVtxDesc
/* 802E8DE4 002E5D24 38 60 00 09 */ li r3, 9
/* 802E8DE8 002E5D28 38 80 00 01 */ li r4, 1
/* 802E8DEC 002E5D2C 48 07 20 CD */ bl GXSetVtxDesc
/* 802E8DF0 002E5D30 38 60 00 0B */ li r3, 0xb
/* 802E8DF4 002E5D34 38 80 00 01 */ li r4, 1
/* 802E8DF8 002E5D38 48 07 20 C1 */ bl GXSetVtxDesc
/* 802E8DFC 002E5D3C 38 60 00 0D */ li r3, 0xd
/* 802E8E00 002E5D40 38 80 00 00 */ li r4, 0
/* 802E8E04 002E5D44 48 07 20 B5 */ bl GXSetVtxDesc
/* 802E8E08 002E5D48 83 E1 00 3C */ lwz r31, 0x3c(r1)
/* 802E8E0C 002E5D4C 83 C1 00 38 */ lwz r30, 0x38(r1)
/* 802E8E10 002E5D50 80 01 00 44 */ lwz r0, 0x44(r1)
/* 802E8E14 002E5D54 7C 08 03 A6 */ mtlr r0
/* 802E8E18 002E5D58 38 21 00 40 */ addi r1, r1, 0x40
/* 802E8E1C 002E5D5C 4E 80 00 20 */ blr
.global J2DGrafContext_NS_setScissor
J2DGrafContext_NS_setScissor:
/* 802E8E20 002E5D60 94 21 FF 90 */ stwu r1, -0x70(r1)
/* 802E8E24 002E5D64 7C 08 02 A6 */ mflr r0
/* 802E8E28 002E5D68 90 01 00 74 */ stw r0, 0x74(r1)
/* 802E8E2C 002E5D6C DB E1 00 60 */ stfd f31, 0x60(r1)
/* 802E8E30 002E5D70 F3 E1 00 68 */ psq_st f31, 104(r1), 0, qr0
/* 802E8E34 002E5D74 DB C1 00 50 */ stfd f30, 0x50(r1)
/* 802E8E38 002E5D78 F3 C1 00 58 */ psq_st f30, 88(r1), 0, qr0
/* 802E8E3C 002E5D7C DB A1 00 40 */ stfd f29, 0x40(r1)
/* 802E8E40 002E5D80 F3 A1 00 48 */ psq_st f29, 72(r1), 0, qr0
/* 802E8E44 002E5D84 DB 81 00 30 */ stfd f28, 0x30(r1)
/* 802E8E48 002E5D88 F3 81 00 38 */ psq_st f28, 56(r1), 0, qr0
/* 802E8E4C 002E5D8C 39 61 00 30 */ addi r11, r1, 0x30
/* 802E8E50 002E5D90 48 07 93 8D */ bl func_803621DC
/* 802E8E54 002E5D94 C0 23 00 14 */ lfs f1, 0x14(r3)
/* 802E8E58 002E5D98 C3 A3 00 18 */ lfs f29, 0x18(r3)
/* 802E8E5C 002E5D9C C3 E3 00 1C */ lfs f31, 0x1c(r3)
/* 802E8E60 002E5DA0 C3 C3 00 20 */ lfs f30, 0x20(r3)
/* 802E8E64 002E5DA4 C0 02 C7 48 */ lfs f0, lbl_80456148-_SDA2_BASE_(r2)
/* 802E8E68 002E5DA8 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 802E8E6C 002E5DAC 4C 40 13 82 */ cror 2, 0, 2
/* 802E8E70 002E5DB0 40 82 00 08 */ bne lbl_802E8E78
/* 802E8E74 002E5DB4 D0 03 00 14 */ stfs f0, 0x14(r3)
lbl_802E8E78:
/* 802E8E78 002E5DB8 C0 43 00 18 */ lfs f2, 0x18(r3)
/* 802E8E7C 002E5DBC C0 02 C7 48 */ lfs f0, lbl_80456148-_SDA2_BASE_(r2)
/* 802E8E80 002E5DC0 FC 02 00 40 */ fcmpo cr0, f2, f0
/* 802E8E84 002E5DC4 4C 40 13 82 */ cror 2, 0, 2
/* 802E8E88 002E5DC8 40 82 00 08 */ bne lbl_802E8E90
/* 802E8E8C 002E5DCC D0 03 00 18 */ stfs f0, 0x18(r3)
lbl_802E8E90:
/* 802E8E90 002E5DD0 C0 43 00 1C */ lfs f2, 0x1c(r3)
/* 802E8E94 002E5DD4 C0 02 C7 50 */ lfs f0, lbl_80456150-_SDA2_BASE_(r2)
/* 802E8E98 002E5DD8 FC 02 00 40 */ fcmpo cr0, f2, f0
/* 802E8E9C 002E5DDC 4C 41 13 82 */ cror 2, 1, 2
/* 802E8EA0 002E5DE0 40 82 00 08 */ bne lbl_802E8EA8
/* 802E8EA4 002E5DE4 D0 03 00 1C */ stfs f0, 0x1c(r3)
lbl_802E8EA8:
/* 802E8EA8 002E5DE8 C0 43 00 20 */ lfs f2, 0x20(r3)
/* 802E8EAC 002E5DEC C0 02 C7 50 */ lfs f0, lbl_80456150-_SDA2_BASE_(r2)
/* 802E8EB0 002E5DF0 FC 02 00 40 */ fcmpo cr0, f2, f0
/* 802E8EB4 002E5DF4 4C 41 13 82 */ cror 2, 1, 2
/* 802E8EB8 002E5DF8 40 82 00 08 */ bne lbl_802E8EC0
/* 802E8EBC 002E5DFC D0 03 00 20 */ stfs f0, 0x20(r3)
lbl_802E8EC0:
/* 802E8EC0 002E5E00 38 00 00 00 */ li r0, 0
/* 802E8EC4 002E5E04 FC 1F 08 40 */ fcmpo cr0, f31, f1
/* 802E8EC8 002E5E08 4C 41 13 82 */ cror 2, 1, 2
/* 802E8ECC 002E5E0C 40 82 00 14 */ bne lbl_802E8EE0
/* 802E8ED0 002E5E10 FC 1E E8 40 */ fcmpo cr0, f30, f29
/* 802E8ED4 002E5E14 4C 41 13 82 */ cror 2, 1, 2
/* 802E8ED8 002E5E18 40 82 00 08 */ bne lbl_802E8EE0
/* 802E8EDC 002E5E1C 38 00 00 01 */ li r0, 1
lbl_802E8EE0:
/* 802E8EE0 002E5E20 54 00 06 3F */ clrlwi. r0, r0, 0x18
/* 802E8EE4 002E5E24 40 82 00 84 */ bne lbl_802E8F68
/* 802E8EE8 002E5E28 FC 00 08 90 */ fmr f0, f1
/* 802E8EEC 002E5E2C FC 40 E8 90 */ fmr f2, f29
/* 802E8EF0 002E5E30 FC 60 F8 90 */ fmr f3, f31
/* 802E8EF4 002E5E34 FC 80 F0 90 */ fmr f4, f30
/* 802E8EF8 002E5E38 FC 01 08 40 */ fcmpo cr0, f1, f1
/* 802E8EFC 002E5E3C 4C 41 13 82 */ cror 2, 1, 2
/* 802E8F00 002E5E40 FC 1D E8 40 */ fcmpo cr0, f29, f29
/* 802E8F04 002E5E44 4C 41 13 82 */ cror 2, 1, 2
/* 802E8F08 002E5E48 FC 01 F8 40 */ fcmpo cr0, f1, f31
/* 802E8F0C 002E5E4C 4C 41 13 82 */ cror 2, 1, 2
/* 802E8F10 002E5E50 40 82 00 08 */ bne lbl_802E8F18
/* 802E8F14 002E5E54 FC 20 F8 90 */ fmr f1, f31
lbl_802E8F18:
/* 802E8F18 002E5E58 FC 1D F0 40 */ fcmpo cr0, f29, f30
/* 802E8F1C 002E5E5C 4C 41 13 82 */ cror 2, 1, 2
/* 802E8F20 002E5E60 40 82 00 08 */ bne lbl_802E8F28
/* 802E8F24 002E5E64 FF A0 F0 90 */ fmr f29, f30
lbl_802E8F28:
/* 802E8F28 002E5E68 FC 1F 00 40 */ fcmpo cr0, f31, f0
/* 802E8F2C 002E5E6C 4C 40 13 82 */ cror 2, 0, 2
/* 802E8F30 002E5E70 40 82 00 08 */ bne lbl_802E8F38
/* 802E8F34 002E5E74 FF E0 00 90 */ fmr f31, f0
lbl_802E8F38:
/* 802E8F38 002E5E78 FC 1E 10 40 */ fcmpo cr0, f30, f2
/* 802E8F3C 002E5E7C 4C 40 13 82 */ cror 2, 0, 2
/* 802E8F40 002E5E80 40 82 00 08 */ bne lbl_802E8F48
/* 802E8F44 002E5E84 FF C0 10 90 */ fmr f30, f2
lbl_802E8F48:
/* 802E8F48 002E5E88 FC 1F 18 40 */ fcmpo cr0, f31, f3
/* 802E8F4C 002E5E8C 4C 40 13 82 */ cror 2, 0, 2
/* 802E8F50 002E5E90 40 82 00 08 */ bne lbl_802E8F58
/* 802E8F54 002E5E94 FF E0 18 90 */ fmr f31, f3
lbl_802E8F58:
/* 802E8F58 002E5E98 FC 1E 20 40 */ fcmpo cr0, f30, f4
/* 802E8F5C 002E5E9C 4C 40 13 82 */ cror 2, 0, 2
/* 802E8F60 002E5EA0 40 82 00 08 */ bne lbl_802E8F68
/* 802E8F64 002E5EA4 FF C0 20 90 */ fmr f30, f4
lbl_802E8F68:
/* 802E8F68 002E5EA8 C0 02 C7 48 */ lfs f0, lbl_80456148-_SDA2_BASE_(r2)
/* 802E8F6C 002E5EAC FC 01 00 40 */ fcmpo cr0, f1, f0
/* 802E8F70 002E5EB0 4C 40 13 82 */ cror 2, 0, 2
/* 802E8F74 002E5EB4 40 82 00 08 */ bne lbl_802E8F7C
/* 802E8F78 002E5EB8 FC 20 00 90 */ fmr f1, f0
lbl_802E8F7C:
/* 802E8F7C 002E5EBC C0 02 C7 48 */ lfs f0, lbl_80456148-_SDA2_BASE_(r2)
/* 802E8F80 002E5EC0 FC 1D 00 40 */ fcmpo cr0, f29, f0
/* 802E8F84 002E5EC4 4C 40 13 82 */ cror 2, 0, 2
/* 802E8F88 002E5EC8 40 82 00 08 */ bne lbl_802E8F90
/* 802E8F8C 002E5ECC FF A0 00 90 */ fmr f29, f0
lbl_802E8F90:
/* 802E8F90 002E5ED0 C0 02 C7 50 */ lfs f0, lbl_80456150-_SDA2_BASE_(r2)
/* 802E8F94 002E5ED4 FC 1F 00 40 */ fcmpo cr0, f31, f0
/* 802E8F98 002E5ED8 4C 41 13 82 */ cror 2, 1, 2
/* 802E8F9C 002E5EDC 40 82 00 08 */ bne lbl_802E8FA4
/* 802E8FA0 002E5EE0 FF E0 00 90 */ fmr f31, f0
lbl_802E8FA4:
/* 802E8FA4 002E5EE4 C0 02 C7 50 */ lfs f0, lbl_80456150-_SDA2_BASE_(r2)
/* 802E8FA8 002E5EE8 FC 1E 00 40 */ fcmpo cr0, f30, f0
/* 802E8FAC 002E5EEC 4C 41 13 82 */ cror 2, 1, 2
/* 802E8FB0 002E5EF0 40 82 00 08 */ bne lbl_802E8FB8
/* 802E8FB4 002E5EF4 FF C0 00 90 */ fmr f30, f0
lbl_802E8FB8:
/* 802E8FB8 002E5EF8 38 00 00 00 */ li r0, 0
/* 802E8FBC 002E5EFC FC 1F 08 40 */ fcmpo cr0, f31, f1
/* 802E8FC0 002E5F00 4C 41 13 82 */ cror 2, 1, 2
/* 802E8FC4 002E5F04 40 82 00 14 */ bne lbl_802E8FD8
/* 802E8FC8 002E5F08 FC 1E E8 40 */ fcmpo cr0, f30, f29
/* 802E8FCC 002E5F0C 4C 41 13 82 */ cror 2, 1, 2
/* 802E8FD0 002E5F10 40 82 00 08 */ bne lbl_802E8FD8
/* 802E8FD4 002E5F14 38 00 00 01 */ li r0, 1
lbl_802E8FD8:
/* 802E8FD8 002E5F18 54 00 06 3F */ clrlwi. r0, r0, 0x18
/* 802E8FDC 002E5F1C 41 82 00 98 */ beq lbl_802E9074
/* 802E8FE0 002E5F20 48 07 90 CD */ bl func_803620AC
/* 802E8FE4 002E5F24 C8 22 C7 58 */ lfd f1, lbl_80456158-_SDA2_BASE_(r2)
/* 802E8FE8 002E5F28 90 61 00 0C */ stw r3, 0xc(r1)
/* 802E8FEC 002E5F2C 3C 00 43 30 */ lis r0, 0x4330
/* 802E8FF0 002E5F30 90 01 00 08 */ stw r0, 8(r1)
/* 802E8FF4 002E5F34 C8 01 00 08 */ lfd f0, 8(r1)
/* 802E8FF8 002E5F38 EF 80 08 28 */ fsubs f28, f0, f1
/* 802E8FFC 002E5F3C FC 20 E8 90 */ fmr f1, f29
/* 802E9000 002E5F40 48 07 90 AD */ bl func_803620AC
/* 802E9004 002E5F44 C8 22 C7 58 */ lfd f1, lbl_80456158-_SDA2_BASE_(r2)
/* 802E9008 002E5F48 90 61 00 14 */ stw r3, 0x14(r1)
/* 802E900C 002E5F4C 3C 00 43 30 */ lis r0, 0x4330
/* 802E9010 002E5F50 90 01 00 10 */ stw r0, 0x10(r1)
/* 802E9014 002E5F54 C8 01 00 10 */ lfd f0, 0x10(r1)
/* 802E9018 002E5F58 EF A0 08 28 */ fsubs f29, f0, f1
/* 802E901C 002E5F5C FC 20 F8 90 */ fmr f1, f31
/* 802E9020 002E5F60 48 08 2E 9D */ bl func_8036BEBC
/* 802E9024 002E5F64 FF E0 08 18 */ frsp f31, f1
/* 802E9028 002E5F68 FC 20 F0 90 */ fmr f1, f30
/* 802E902C 002E5F6C 48 08 2E 91 */ bl func_8036BEBC
/* 802E9030 002E5F70 FC 00 08 18 */ frsp f0, f1
/* 802E9034 002E5F74 EC 20 E8 28 */ fsubs f1, f0, f29
/* 802E9038 002E5F78 48 07 90 75 */ bl func_803620AC
/* 802E903C 002E5F7C 7C 7D 1B 78 */ mr r29, r3
/* 802E9040 002E5F80 EC 3F E0 28 */ fsubs f1, f31, f28
/* 802E9044 002E5F84 48 07 90 69 */ bl func_803620AC
/* 802E9048 002E5F88 7C 7E 1B 78 */ mr r30, r3
/* 802E904C 002E5F8C FC 20 E8 90 */ fmr f1, f29
/* 802E9050 002E5F90 48 07 90 5D */ bl func_803620AC
/* 802E9054 002E5F94 7C 7F 1B 78 */ mr r31, r3
/* 802E9058 002E5F98 FC 20 E0 90 */ fmr f1, f28
/* 802E905C 002E5F9C 48 07 90 51 */ bl func_803620AC
/* 802E9060 002E5FA0 7F E4 FB 78 */ mr r4, r31
/* 802E9064 002E5FA4 7F C5 F3 78 */ mr r5, r30
/* 802E9068 002E5FA8 7F A6 EB 78 */ mr r6, r29
/* 802E906C 002E5FAC 48 07 74 65 */ bl GXSetScissor
/* 802E9070 002E5FB0 48 00 00 18 */ b lbl_802E9088
lbl_802E9074:
/* 802E9074 002E5FB4 38 60 00 00 */ li r3, 0
/* 802E9078 002E5FB8 38 80 00 00 */ li r4, 0
/* 802E907C 002E5FBC 38 A0 00 00 */ li r5, 0
/* 802E9080 002E5FC0 38 C0 00 00 */ li r6, 0
/* 802E9084 002E5FC4 48 07 74 4D */ bl GXSetScissor
lbl_802E9088:
/* 802E9088 002E5FC8 E3 E1 00 68 */ psq_l f31, 104(r1), 0, qr0
/* 802E908C 002E5FCC CB E1 00 60 */ lfd f31, 0x60(r1)
/* 802E9090 002E5FD0 E3 C1 00 58 */ psq_l f30, 88(r1), 0, qr0
/* 802E9094 002E5FD4 CB C1 00 50 */ lfd f30, 0x50(r1)
/* 802E9098 002E5FD8 E3 A1 00 48 */ psq_l f29, 72(r1), 0, qr0
/* 802E909C 002E5FDC CB A1 00 40 */ lfd f29, 0x40(r1)
/* 802E90A0 002E5FE0 E3 81 00 38 */ psq_l f28, 56(r1), 0, qr0
/* 802E90A4 002E5FE4 CB 81 00 30 */ lfd f28, 0x30(r1)
/* 802E90A8 002E5FE8 39 61 00 30 */ addi r11, r1, 0x30
/* 802E90AC 002E5FEC 48 07 91 7D */ bl func_80362228
/* 802E90B0 002E5FF0 80 01 00 74 */ lwz r0, 0x74(r1)
/* 802E90B4 002E5FF4 7C 08 03 A6 */ mtlr r0
/* 802E90B8 002E5FF8 38 21 00 70 */ addi r1, r1, 0x70
/* 802E90BC 002E5FFC 4E 80 00 20 */ blr
.global J2DGrafContext_NS_scissor
J2DGrafContext_NS_scissor:
/* 802E90C0 002E6000 80 A4 00 00 */ lwz r5, 0(r4)
/* 802E90C4 002E6004 80 04 00 04 */ lwz r0, 4(r4)
/* 802E90C8 002E6008 90 A3 00 14 */ stw r5, 0x14(r3)
/* 802E90CC 002E600C 90 03 00 18 */ stw r0, 0x18(r3)
/* 802E90D0 002E6010 80 A4 00 08 */ lwz r5, 8(r4)
/* 802E90D4 002E6014 80 04 00 0C */ lwz r0, 0xc(r4)
/* 802E90D8 002E6018 90 A3 00 1C */ stw r5, 0x1c(r3)
/* 802E90DC 002E601C 90 03 00 20 */ stw r0, 0x20(r3)
/* 802E90E0 002E6020 4E 80 00 20 */ blr
/* 802E90E4 002E6024 80 E4 00 00 */ lwz r7, 0(r4)
/* 802E90E8 002E6028 80 C4 00 04 */ lwz r6, 4(r4)
/* 802E90EC 002E602C 90 E3 00 04 */ stw r7, 4(r3)
/* 802E90F0 002E6030 90 C3 00 08 */ stw r6, 8(r3)
/* 802E90F4 002E6034 80 A4 00 08 */ lwz r5, 8(r4)
/* 802E90F8 002E6038 80 04 00 0C */ lwz r0, 0xc(r4)
/* 802E90FC 002E603C 90 A3 00 0C */ stw r5, 0xc(r3)
/* 802E9100 002E6040 90 03 00 10 */ stw r0, 0x10(r3)
/* 802E9104 002E6044 90 E3 00 14 */ stw r7, 0x14(r3)
/* 802E9108 002E6048 90 C3 00 18 */ stw r6, 0x18(r3)
/* 802E910C 002E604C 90 A3 00 1C */ stw r5, 0x1c(r3)
/* 802E9110 002E6050 90 03 00 20 */ stw r0, 0x20(r3)
/* 802E9114 002E6054 4E 80 00 20 */ blr
.global J2DGrafContext_NS_setColor
J2DGrafContext_NS_setColor:
/* 802E9118 002E6058 88 04 00 00 */ lbz r0, 0(r4)
/* 802E911C 002E605C 98 03 00 24 */ stb r0, 0x24(r3)
/* 802E9120 002E6060 88 04 00 01 */ lbz r0, 1(r4)
/* 802E9124 002E6064 98 03 00 25 */ stb r0, 0x25(r3)
/* 802E9128 002E6068 88 04 00 02 */ lbz r0, 2(r4)
/* 802E912C 002E606C 98 03 00 26 */ stb r0, 0x26(r3)
/* 802E9130 002E6070 88 04 00 03 */ lbz r0, 3(r4)
/* 802E9134 002E6074 98 03 00 27 */ stb r0, 0x27(r3)
/* 802E9138 002E6078 88 05 00 00 */ lbz r0, 0(r5)
/* 802E913C 002E607C 98 03 00 28 */ stb r0, 0x28(r3)
/* 802E9140 002E6080 88 05 00 01 */ lbz r0, 1(r5)
/* 802E9144 002E6084 98 03 00 29 */ stb r0, 0x29(r3)
/* 802E9148 002E6088 88 05 00 02 */ lbz r0, 2(r5)
/* 802E914C 002E608C 98 03 00 2A */ stb r0, 0x2a(r3)
/* 802E9150 002E6090 88 05 00 03 */ lbz r0, 3(r5)
/* 802E9154 002E6094 98 03 00 2B */ stb r0, 0x2b(r3)
/* 802E9158 002E6098 88 06 00 00 */ lbz r0, 0(r6)
/* 802E915C 002E609C 98 03 00 2C */ stb r0, 0x2c(r3)
/* 802E9160 002E60A0 88 06 00 01 */ lbz r0, 1(r6)
/* 802E9164 002E60A4 98 03 00 2D */ stb r0, 0x2d(r3)
/* 802E9168 002E60A8 88 06 00 02 */ lbz r0, 2(r6)
/* 802E916C 002E60AC 98 03 00 2E */ stb r0, 0x2e(r3)
/* 802E9170 002E60B0 88 06 00 03 */ lbz r0, 3(r6)
/* 802E9174 002E60B4 98 03 00 2F */ stb r0, 0x2f(r3)
/* 802E9178 002E60B8 88 07 00 00 */ lbz r0, 0(r7)
/* 802E917C 002E60BC 98 03 00 30 */ stb r0, 0x30(r3)
/* 802E9180 002E60C0 88 07 00 01 */ lbz r0, 1(r7)
/* 802E9184 002E60C4 98 03 00 31 */ stb r0, 0x31(r3)
/* 802E9188 002E60C8 88 07 00 02 */ lbz r0, 2(r7)
/* 802E918C 002E60CC 98 03 00 32 */ stb r0, 0x32(r3)
/* 802E9190 002E60D0 88 07 00 03 */ lbz r0, 3(r7)
/* 802E9194 002E60D4 98 03 00 33 */ stb r0, 0x33(r3)
/* 802E9198 002E60D8 38 A0 00 01 */ li r5, 1
/* 802E919C 002E60DC 98 A3 00 B0 */ stb r5, 0xb0(r3)
/* 802E91A0 002E60E0 38 80 00 04 */ li r4, 4
/* 802E91A4 002E60E4 98 83 00 B1 */ stb r4, 0xb1(r3)
/* 802E91A8 002E60E8 38 00 00 05 */ li r0, 5
/* 802E91AC 002E60EC 98 03 00 B2 */ stb r0, 0xb2(r3)
/* 802E91B0 002E60F0 98 A3 00 B3 */ stb r5, 0xb3(r3)
/* 802E91B4 002E60F4 98 83 00 B4 */ stb r4, 0xb4(r3)
/* 802E91B8 002E60F8 98 03 00 B5 */ stb r0, 0xb5(r3)
/* 802E91BC 002E60FC 98 A3 00 B6 */ stb r5, 0xb6(r3)
/* 802E91C0 002E6100 98 83 00 B7 */ stb r4, 0xb7(r3)
/* 802E91C4 002E6104 98 03 00 B8 */ stb r0, 0xb8(r3)
/* 802E91C8 002E6108 80 03 00 24 */ lwz r0, 0x24(r3)
/* 802E91CC 002E610C 54 00 06 3E */ clrlwi r0, r0, 0x18
/* 802E91D0 002E6110 28 00 00 FF */ cmplwi r0, 0xff
/* 802E91D4 002E6114 4C 82 00 20 */ bnelr
/* 802E91D8 002E6118 38 80 00 00 */ li r4, 0
/* 802E91DC 002E611C 98 83 00 B0 */ stb r4, 0xb0(r3)
/* 802E91E0 002E6120 98 A3 00 B1 */ stb r5, 0xb1(r3)
/* 802E91E4 002E6124 98 83 00 B2 */ stb r4, 0xb2(r3)
/* 802E91E8 002E6128 80 03 00 2C */ lwz r0, 0x2c(r3)
/* 802E91EC 002E612C 54 00 06 3E */ clrlwi r0, r0, 0x18
/* 802E91F0 002E6130 28 00 00 FF */ cmplwi r0, 0xff
/* 802E91F4 002E6134 4C 82 00 20 */ bnelr
/* 802E91F8 002E6138 98 83 00 B3 */ stb r4, 0xb3(r3)
/* 802E91FC 002E613C 98 A3 00 B4 */ stb r5, 0xb4(r3)
/* 802E9200 002E6140 98 83 00 B5 */ stb r4, 0xb5(r3)
/* 802E9204 002E6144 80 03 00 28 */ lwz r0, 0x28(r3)
/* 802E9208 002E6148 54 00 06 3E */ clrlwi r0, r0, 0x18
/* 802E920C 002E614C 28 00 00 FF */ cmplwi r0, 0xff
/* 802E9210 002E6150 4C 82 00 20 */ bnelr
/* 802E9214 002E6154 80 03 00 30 */ lwz r0, 0x30(r3)
/* 802E9218 002E6158 54 00 06 3E */ clrlwi r0, r0, 0x18
/* 802E921C 002E615C 28 00 00 FF */ cmplwi r0, 0xff
/* 802E9220 002E6160 4C 82 00 20 */ bnelr
/* 802E9224 002E6164 98 83 00 B6 */ stb r4, 0xb6(r3)
/* 802E9228 002E6168 98 A3 00 B7 */ stb r5, 0xb7(r3)
/* 802E922C 002E616C 98 83 00 B8 */ stb r4, 0xb8(r3)
/* 802E9230 002E6170 4E 80 00 20 */ blr
.global J2DGrafContext_NS_setLineWidth
J2DGrafContext_NS_setLineWidth:
/* 802E9234 002E6174 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802E9238 002E6178 7C 08 02 A6 */ mflr r0
/* 802E923C 002E617C 90 01 00 14 */ stw r0, 0x14(r1)
/* 802E9240 002E6180 98 83 00 34 */ stb r4, 0x34(r3)
/* 802E9244 002E6184 88 63 00 34 */ lbz r3, 0x34(r3)
/* 802E9248 002E6188 38 80 00 00 */ li r4, 0
/* 802E924C 002E618C 48 07 36 71 */ bl GXSetLineWidth
/* 802E9250 002E6190 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802E9254 002E6194 7C 08 03 A6 */ mtlr r0
/* 802E9258 002E6198 38 21 00 10 */ addi r1, r1, 0x10
/* 802E925C 002E619C 4E 80 00 20 */ blr
.global J2DGrafContext_NS_fillBox
J2DGrafContext_NS_fillBox:
/* 802E9260 002E61A0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802E9264 002E61A4 7C 08 02 A6 */ mflr r0
/* 802E9268 002E61A8 90 01 00 14 */ stw r0, 0x14(r1)
/* 802E926C 002E61AC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802E9270 002E61B0 93 C1 00 08 */ stw r30, 8(r1)
/* 802E9274 002E61B4 7C 7E 1B 78 */ mr r30, r3
/* 802E9278 002E61B8 7C 9F 23 78 */ mr r31, r4
/* 802E927C 002E61BC 88 63 00 B6 */ lbz r3, 0xb6(r3)
/* 802E9280 002E61C0 88 9E 00 B7 */ lbz r4, 0xb7(r30)
/* 802E9284 002E61C4 88 BE 00 B8 */ lbz r5, 0xb8(r30)
/* 802E9288 002E61C8 38 C0 00 0F */ li r6, 0xf
/* 802E928C 002E61CC 48 07 69 65 */ bl GXSetBlendMode
/* 802E9290 002E61D0 38 7E 00 80 */ addi r3, r30, 0x80
/* 802E9294 002E61D4 38 80 00 00 */ li r4, 0
/* 802E9298 002E61D8 48 07 6F B5 */ bl GXLoadPosMtxImm
/* 802E929C 002E61DC 38 60 00 00 */ li r3, 0
/* 802E92A0 002E61E0 38 80 00 09 */ li r4, 9
/* 802E92A4 002E61E4 38 A0 00 01 */ li r5, 1
/* 802E92A8 002E61E8 38 C0 00 04 */ li r6, 4
/* 802E92AC 002E61EC 38 E0 00 00 */ li r7, 0
/* 802E92B0 002E61F0 48 07 23 15 */ bl GXSetVtxAttrFmt
/* 802E92B4 002E61F4 38 60 00 80 */ li r3, 0x80
/* 802E92B8 002E61F8 38 80 00 00 */ li r4, 0
/* 802E92BC 002E61FC 38 A0 00 04 */ li r5, 4
/* 802E92C0 002E6200 48 07 34 A5 */ bl GXBegin
/* 802E92C4 002E6204 C0 7F 00 04 */ lfs f3, 4(r31)
/* 802E92C8 002E6208 C0 5F 00 00 */ lfs f2, 0(r31)
/* 802E92CC 002E620C 3C 60 CC 01 */ lis r3, 0xCC008000@ha
/* 802E92D0 002E6210 D0 43 80 00 */ stfs f2, 0xCC008000@l(r3)
/* 802E92D4 002E6214 D0 63 80 00 */ stfs f3, -0x8000(r3)
/* 802E92D8 002E6218 C0 02 C7 48 */ lfs f0, lbl_80456148-_SDA2_BASE_(r2)
/* 802E92DC 002E621C D0 03 80 00 */ stfs f0, -0x8000(r3)
/* 802E92E0 002E6220 80 1E 00 24 */ lwz r0, 0x24(r30)
/* 802E92E4 002E6224 90 03 80 00 */ stw r0, -0x8000(r3)
/* 802E92E8 002E6228 C0 3F 00 08 */ lfs f1, 8(r31)
/* 802E92EC 002E622C D0 23 80 00 */ stfs f1, -0x8000(r3)
/* 802E92F0 002E6230 D0 63 80 00 */ stfs f3, -0x8000(r3)
/* 802E92F4 002E6234 C0 02 C7 48 */ lfs f0, lbl_80456148-_SDA2_BASE_(r2)
/* 802E92F8 002E6238 D0 03 80 00 */ stfs f0, -0x8000(r3)
/* 802E92FC 002E623C 80 1E 00 28 */ lwz r0, 0x28(r30)
/* 802E9300 002E6240 90 03 80 00 */ stw r0, -0x8000(r3)
/* 802E9304 002E6244 C0 7F 00 0C */ lfs f3, 0xc(r31)
/* 802E9308 002E6248 D0 23 80 00 */ stfs f1, -0x8000(r3)
/* 802E930C 002E624C D0 63 80 00 */ stfs f3, -0x8000(r3)
/* 802E9310 002E6250 C0 02 C7 48 */ lfs f0, lbl_80456148-_SDA2_BASE_(r2)
/* 802E9314 002E6254 D0 03 80 00 */ stfs f0, -0x8000(r3)
/* 802E9318 002E6258 80 1E 00 30 */ lwz r0, 0x30(r30)
/* 802E931C 002E625C 90 03 80 00 */ stw r0, -0x8000(r3)
/* 802E9320 002E6260 D0 43 80 00 */ stfs f2, -0x8000(r3)
/* 802E9324 002E6264 D0 63 80 00 */ stfs f3, -0x8000(r3)
/* 802E9328 002E6268 C0 02 C7 48 */ lfs f0, lbl_80456148-_SDA2_BASE_(r2)
/* 802E932C 002E626C D0 03 80 00 */ stfs f0, -0x8000(r3)
/* 802E9330 002E6270 80 1E 00 2C */ lwz r0, 0x2c(r30)
/* 802E9334 002E6274 90 03 80 00 */ stw r0, -0x8000(r3)
/* 802E9338 002E6278 38 60 00 00 */ li r3, 0
/* 802E933C 002E627C 38 80 00 09 */ li r4, 9
/* 802E9340 002E6280 38 A0 00 01 */ li r5, 1
/* 802E9344 002E6284 38 C0 00 03 */ li r6, 3
/* 802E9348 002E6288 38 E0 00 00 */ li r7, 0
/* 802E934C 002E628C 48 07 22 79 */ bl GXSetVtxAttrFmt
/* 802E9350 002E6290 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802E9354 002E6294 83 C1 00 08 */ lwz r30, 8(r1)
/* 802E9358 002E6298 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802E935C 002E629C 7C 08 03 A6 */ mtlr r0
/* 802E9360 002E62A0 38 21 00 10 */ addi r1, r1, 0x10
/* 802E9364 002E62A4 4E 80 00 20 */ blr
.global J2DGrafContext_NS_drawFrame
J2DGrafContext_NS_drawFrame:
/* 802E9368 002E62A8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802E936C 002E62AC 7C 08 02 A6 */ mflr r0
/* 802E9370 002E62B0 90 01 00 14 */ stw r0, 0x14(r1)
/* 802E9374 002E62B4 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802E9378 002E62B8 93 C1 00 08 */ stw r30, 8(r1)
/* 802E937C 002E62BC 7C 7E 1B 78 */ mr r30, r3
/* 802E9380 002E62C0 7C 9F 23 78 */ mr r31, r4
/* 802E9384 002E62C4 88 63 00 B6 */ lbz r3, 0xb6(r3)
/* 802E9388 002E62C8 88 9E 00 B7 */ lbz r4, 0xb7(r30)
/* 802E938C 002E62CC 88 BE 00 B8 */ lbz r5, 0xb8(r30)
/* 802E9390 002E62D0 38 C0 00 0F */ li r6, 0xf
/* 802E9394 002E62D4 48 07 68 5D */ bl GXSetBlendMode
/* 802E9398 002E62D8 38 7E 00 80 */ addi r3, r30, 0x80
/* 802E939C 002E62DC 38 80 00 00 */ li r4, 0
/* 802E93A0 002E62E0 48 07 6E AD */ bl GXLoadPosMtxImm
/* 802E93A4 002E62E4 38 60 00 00 */ li r3, 0
/* 802E93A8 002E62E8 38 80 00 09 */ li r4, 9
/* 802E93AC 002E62EC 38 A0 00 01 */ li r5, 1
/* 802E93B0 002E62F0 38 C0 00 04 */ li r6, 4
/* 802E93B4 002E62F4 38 E0 00 00 */ li r7, 0
/* 802E93B8 002E62F8 48 07 22 0D */ bl GXSetVtxAttrFmt
/* 802E93BC 002E62FC 38 60 00 B0 */ li r3, 0xb0
/* 802E93C0 002E6300 38 80 00 00 */ li r4, 0
/* 802E93C4 002E6304 38 A0 00 05 */ li r5, 5
/* 802E93C8 002E6308 48 07 33 9D */ bl GXBegin
/* 802E93CC 002E630C C0 7F 00 04 */ lfs f3, 4(r31)
/* 802E93D0 002E6310 C0 5F 00 00 */ lfs f2, 0(r31)
/* 802E93D4 002E6314 3C 60 CC 01 */ lis r3, 0xCC008000@ha
/* 802E93D8 002E6318 D0 43 80 00 */ stfs f2, 0xCC008000@l(r3)
/* 802E93DC 002E631C D0 63 80 00 */ stfs f3, -0x8000(r3)
/* 802E93E0 002E6320 C0 02 C7 48 */ lfs f0, lbl_80456148-_SDA2_BASE_(r2)
/* 802E93E4 002E6324 D0 03 80 00 */ stfs f0, -0x8000(r3)
/* 802E93E8 002E6328 80 1E 00 24 */ lwz r0, 0x24(r30)
/* 802E93EC 002E632C 90 03 80 00 */ stw r0, -0x8000(r3)
/* 802E93F0 002E6330 C0 3F 00 08 */ lfs f1, 8(r31)
/* 802E93F4 002E6334 D0 23 80 00 */ stfs f1, -0x8000(r3)
/* 802E93F8 002E6338 D0 63 80 00 */ stfs f3, -0x8000(r3)
/* 802E93FC 002E633C C0 02 C7 48 */ lfs f0, lbl_80456148-_SDA2_BASE_(r2)
/* 802E9400 002E6340 D0 03 80 00 */ stfs f0, -0x8000(r3)
/* 802E9404 002E6344 80 1E 00 28 */ lwz r0, 0x28(r30)
/* 802E9408 002E6348 90 03 80 00 */ stw r0, -0x8000(r3)
/* 802E940C 002E634C C0 9F 00 0C */ lfs f4, 0xc(r31)
/* 802E9410 002E6350 D0 23 80 00 */ stfs f1, -0x8000(r3)
/* 802E9414 002E6354 D0 83 80 00 */ stfs f4, -0x8000(r3)
/* 802E9418 002E6358 C0 02 C7 48 */ lfs f0, lbl_80456148-_SDA2_BASE_(r2)
/* 802E941C 002E635C D0 03 80 00 */ stfs f0, -0x8000(r3)
/* 802E9420 002E6360 80 1E 00 30 */ lwz r0, 0x30(r30)
/* 802E9424 002E6364 90 03 80 00 */ stw r0, -0x8000(r3)
/* 802E9428 002E6368 D0 43 80 00 */ stfs f2, -0x8000(r3)
/* 802E942C 002E636C D0 83 80 00 */ stfs f4, -0x8000(r3)
/* 802E9430 002E6370 C0 02 C7 48 */ lfs f0, lbl_80456148-_SDA2_BASE_(r2)
/* 802E9434 002E6374 D0 03 80 00 */ stfs f0, -0x8000(r3)
/* 802E9438 002E6378 80 1E 00 2C */ lwz r0, 0x2c(r30)
/* 802E943C 002E637C 90 03 80 00 */ stw r0, -0x8000(r3)
/* 802E9440 002E6380 D0 43 80 00 */ stfs f2, -0x8000(r3)
/* 802E9444 002E6384 D0 63 80 00 */ stfs f3, -0x8000(r3)
/* 802E9448 002E6388 C0 02 C7 48 */ lfs f0, lbl_80456148-_SDA2_BASE_(r2)
/* 802E944C 002E638C D0 03 80 00 */ stfs f0, -0x8000(r3)
/* 802E9450 002E6390 80 1E 00 24 */ lwz r0, 0x24(r30)
/* 802E9454 002E6394 90 03 80 00 */ stw r0, -0x8000(r3)
/* 802E9458 002E6398 38 60 00 00 */ li r3, 0
/* 802E945C 002E639C 38 80 00 09 */ li r4, 9
/* 802E9460 002E63A0 38 A0 00 01 */ li r5, 1
/* 802E9464 002E63A4 38 C0 00 03 */ li r6, 3
/* 802E9468 002E63A8 38 E0 00 00 */ li r7, 0
/* 802E946C 002E63AC 48 07 21 59 */ bl GXSetVtxAttrFmt
/* 802E9470 002E63B0 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802E9474 002E63B4 83 C1 00 08 */ lwz r30, 8(r1)
/* 802E9478 002E63B8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802E947C 002E63BC 7C 08 03 A6 */ mtlr r0
/* 802E9480 002E63C0 38 21 00 10 */ addi r1, r1, 0x10
/* 802E9484 002E63C4 4E 80 00 20 */ blr
.global J2DGrafContext_NS_line
J2DGrafContext_NS_line:
/* 802E9488 002E63C8 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802E948C 002E63CC 7C 08 02 A6 */ mflr r0
/* 802E9490 002E63D0 90 01 00 24 */ stw r0, 0x24(r1)
/* 802E9494 002E63D4 39 61 00 20 */ addi r11, r1, 0x20
/* 802E9498 002E63D8 48 07 8D 45 */ bl func_803621DC
/* 802E949C 002E63DC 7C 7D 1B 78 */ mr r29, r3
/* 802E94A0 002E63E0 7C 9E 23 78 */ mr r30, r4
/* 802E94A4 002E63E4 7C BF 2B 78 */ mr r31, r5
/* 802E94A8 002E63E8 88 63 00 B3 */ lbz r3, 0xb3(r3)
/* 802E94AC 002E63EC 88 9D 00 B4 */ lbz r4, 0xb4(r29)
/* 802E94B0 002E63F0 88 BD 00 B5 */ lbz r5, 0xb5(r29)
/* 802E94B4 002E63F4 38 C0 00 0F */ li r6, 0xf
/* 802E94B8 002E63F8 48 07 67 39 */ bl GXSetBlendMode
/* 802E94BC 002E63FC 38 7D 00 80 */ addi r3, r29, 0x80
/* 802E94C0 002E6400 38 80 00 00 */ li r4, 0
/* 802E94C4 002E6404 48 07 6D 89 */ bl GXLoadPosMtxImm
/* 802E94C8 002E6408 38 60 00 00 */ li r3, 0
/* 802E94CC 002E640C 38 80 00 09 */ li r4, 9
/* 802E94D0 002E6410 38 A0 00 01 */ li r5, 1
/* 802E94D4 002E6414 38 C0 00 04 */ li r6, 4
/* 802E94D8 002E6418 38 E0 00 00 */ li r7, 0
/* 802E94DC 002E641C 48 07 20 E9 */ bl GXSetVtxAttrFmt
/* 802E94E0 002E6420 38 60 00 A8 */ li r3, 0xa8
/* 802E94E4 002E6424 38 80 00 00 */ li r4, 0
/* 802E94E8 002E6428 38 A0 00 02 */ li r5, 2
/* 802E94EC 002E642C 48 07 32 79 */ bl GXBegin
/* 802E94F0 002E6430 C0 3E 00 04 */ lfs f1, 4(r30)
/* 802E94F4 002E6434 C0 1E 00 00 */ lfs f0, 0(r30)
/* 802E94F8 002E6438 3C 60 CC 01 */ lis r3, 0xCC008000@ha
/* 802E94FC 002E643C D0 03 80 00 */ stfs f0, 0xCC008000@l(r3)
/* 802E9500 002E6440 D0 23 80 00 */ stfs f1, -0x8000(r3)
/* 802E9504 002E6444 C0 02 C7 48 */ lfs f0, lbl_80456148-_SDA2_BASE_(r2)
/* 802E9508 002E6448 D0 03 80 00 */ stfs f0, -0x8000(r3)
/* 802E950C 002E644C 80 1D 00 24 */ lwz r0, 0x24(r29)
/* 802E9510 002E6450 90 03 80 00 */ stw r0, -0x8000(r3)
/* 802E9514 002E6454 C0 3F 00 04 */ lfs f1, 4(r31)
/* 802E9518 002E6458 C0 1F 00 00 */ lfs f0, 0(r31)
/* 802E951C 002E645C D0 03 80 00 */ stfs f0, -0x8000(r3)
/* 802E9520 002E6460 D0 23 80 00 */ stfs f1, -0x8000(r3)
/* 802E9524 002E6464 C0 02 C7 48 */ lfs f0, lbl_80456148-_SDA2_BASE_(r2)
/* 802E9528 002E6468 D0 03 80 00 */ stfs f0, -0x8000(r3)
/* 802E952C 002E646C 80 1D 00 2C */ lwz r0, 0x2c(r29)
/* 802E9530 002E6470 90 03 80 00 */ stw r0, -0x8000(r3)
/* 802E9534 002E6474 38 60 00 00 */ li r3, 0
/* 802E9538 002E6478 38 80 00 09 */ li r4, 9
/* 802E953C 002E647C 38 A0 00 01 */ li r5, 1
/* 802E9540 002E6480 38 C0 00 03 */ li r6, 3
/* 802E9544 002E6484 38 E0 00 00 */ li r7, 0
/* 802E9548 002E6488 48 07 20 7D */ bl GXSetVtxAttrFmt
/* 802E954C 002E648C 39 61 00 20 */ addi r11, r1, 0x20
/* 802E9550 002E6490 48 07 8C D9 */ bl func_80362228
/* 802E9554 002E6494 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802E9558 002E6498 7C 08 03 A6 */ mtlr r0
/* 802E955C 002E649C 38 21 00 20 */ addi r1, r1, 0x20
/* 802E9560 002E64A0 4E 80 00 20 */ blr
.global J2DGrafContext_NS_lineTo
J2DGrafContext_NS_lineTo:
/* 802E9564 002E64A4 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802E9568 002E64A8 7C 08 02 A6 */ mflr r0
/* 802E956C 002E64AC 90 01 00 24 */ stw r0, 0x24(r1)
/* 802E9570 002E64B0 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 802E9574 002E64B4 93 C1 00 18 */ stw r30, 0x18(r1)
/* 802E9578 002E64B8 7C 7E 1B 78 */ mr r30, r3
/* 802E957C 002E64BC 7C 9F 23 78 */ mr r31, r4
/* 802E9580 002E64C0 80 84 00 00 */ lwz r4, 0(r4)
/* 802E9584 002E64C4 80 1F 00 04 */ lwz r0, 4(r31)
/* 802E9588 002E64C8 90 81 00 08 */ stw r4, 8(r1)
/* 802E958C 002E64CC 90 01 00 0C */ stw r0, 0xc(r1)
/* 802E9590 002E64D0 80 83 00 38 */ lwz r4, 0x38(r3)
/* 802E9594 002E64D4 80 03 00 3C */ lwz r0, 0x3c(r3)
/* 802E9598 002E64D8 90 81 00 10 */ stw r4, 0x10(r1)
/* 802E959C 002E64DC 90 01 00 14 */ stw r0, 0x14(r1)
/* 802E95A0 002E64E0 38 81 00 10 */ addi r4, r1, 0x10
/* 802E95A4 002E64E4 38 A1 00 08 */ addi r5, r1, 8
/* 802E95A8 002E64E8 4B FF FE E1 */ bl J2DGrafContext_NS_line
/* 802E95AC 002E64EC C0 1F 00 00 */ lfs f0, 0(r31)
/* 802E95B0 002E64F0 D0 1E 00 38 */ stfs f0, 0x38(r30)
/* 802E95B4 002E64F4 C0 1F 00 04 */ lfs f0, 4(r31)
/* 802E95B8 002E64F8 D0 1E 00 3C */ stfs f0, 0x3c(r30)
/* 802E95BC 002E64FC 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 802E95C0 002E6500 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 802E95C4 002E6504 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802E95C8 002E6508 7C 08 03 A6 */ mtlr r0
/* 802E95CC 002E650C 38 21 00 20 */ addi r1, r1, 0x20
/* 802E95D0 002E6510 4E 80 00 20 */ blr
/* 802E95D4 002E6514 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802E95D8 002E6518 7C 08 02 A6 */ mflr r0
/* 802E95DC 002E651C 90 01 00 14 */ stw r0, 0x14(r1)
/* 802E95E0 002E6520 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802E95E4 002E6524 7C 7F 1B 79 */ or. r31, r3, r3
/* 802E95E8 002E6528 41 82 00 1C */ beq lbl_802E9604
/* 802E95EC 002E652C 3C A0 80 3D */ lis r5, lbl_803CC9B8@ha
/* 802E95F0 002E6530 38 05 C9 B8 */ addi r0, r5, lbl_803CC9B8@l
/* 802E95F4 002E6534 90 1F 00 00 */ stw r0, 0(r31)
/* 802E95F8 002E6538 7C 80 07 35 */ extsh. r0, r4
/* 802E95FC 002E653C 40 81 00 08 */ ble lbl_802E9604
/* 802E9600 002E6540 4B FE 57 3D */ bl __dl
lbl_802E9604:
/* 802E9604 002E6544 7F E3 FB 78 */ mr r3, r31
/* 802E9608 002E6548 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802E960C 002E654C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802E9610 002E6550 7C 08 03 A6 */ mtlr r0
/* 802E9614 002E6554 38 21 00 10 */ addi r1, r1, 0x10
/* 802E9618 002E6558 4E 80 00 20 */ blr
/* 802E961C 002E655C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802E9620 002E6560 7C 08 02 A6 */ mflr r0
/* 802E9624 002E6564 90 01 00 24 */ stw r0, 0x24(r1)
/* 802E9628 002E6568 D0 21 00 08 */ stfs f1, 8(r1)
/* 802E962C 002E656C D0 41 00 0C */ stfs f2, 0xc(r1)
/* 802E9630 002E6570 EC 01 18 2A */ fadds f0, f1, f3
/* 802E9634 002E6574 D0 01 00 10 */ stfs f0, 0x10(r1)
/* 802E9638 002E6578 EC 02 20 2A */ fadds f0, f2, f4
/* 802E963C 002E657C D0 01 00 14 */ stfs f0, 0x14(r1)
/* 802E9640 002E6580 38 81 00 08 */ addi r4, r1, 8
/* 802E9644 002E6584 81 83 00 00 */ lwz r12, 0(r3)
/* 802E9648 002E6588 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 802E964C 002E658C 7D 89 03 A6 */ mtctr r12
/* 802E9650 002E6590 4E 80 04 21 */ bctrl
/* 802E9654 002E6594 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802E9658 002E6598 7C 08 03 A6 */ mtlr r0
/* 802E965C 002E659C 38 21 00 20 */ addi r1, r1, 0x20
/* 802E9660 002E65A0 4E 80 00 20 */ blr
/* 802E9664 002E65A4 38 60 00 00 */ li r3, 0
/* 802E9668 002E65A8 4E 80 00 20 */ blr
/* 802E966C 002E65AC 4E 80 00 20 */ blr

197
asm/J2DGraph/J2DManage.s Normal file
View File

@ -0,0 +1,197 @@
.include "macros.inc"
.section .text, "ax" # 8030ce18
.global J2DDataManage_NS_get
J2DDataManage_NS_get:
/* 8030CE18 00309D58 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8030CE1C 00309D5C 7C 08 02 A6 */ mflr r0
/* 8030CE20 00309D60 90 01 00 14 */ stw r0, 0x14(r1)
/* 8030CE24 00309D64 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8030CE28 00309D68 93 C1 00 08 */ stw r30, 8(r1)
/* 8030CE2C 00309D6C 7C 9E 23 78 */ mr r30, r4
/* 8030CE30 00309D70 83 E3 00 00 */ lwz r31, 0(r3)
/* 8030CE34 00309D74 48 00 00 24 */ b lbl_8030CE58
lbl_8030CE38:
/* 8030CE38 00309D78 80 7F 00 04 */ lwz r3, 4(r31)
/* 8030CE3C 00309D7C 7F C4 F3 78 */ mr r4, r30
/* 8030CE40 00309D80 48 05 BB 55 */ bl func_80368994
/* 8030CE44 00309D84 2C 03 00 00 */ cmpwi r3, 0
/* 8030CE48 00309D88 40 82 00 0C */ bne lbl_8030CE54
/* 8030CE4C 00309D8C 80 7F 00 00 */ lwz r3, 0(r31)
/* 8030CE50 00309D90 48 00 00 14 */ b lbl_8030CE64
lbl_8030CE54:
/* 8030CE54 00309D94 83 FF 00 08 */ lwz r31, 8(r31)
lbl_8030CE58:
/* 8030CE58 00309D98 28 1F 00 00 */ cmplwi r31, 0
/* 8030CE5C 00309D9C 40 82 FF DC */ bne lbl_8030CE38
/* 8030CE60 00309DA0 38 60 00 00 */ li r3, 0
lbl_8030CE64:
/* 8030CE64 00309DA4 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8030CE68 00309DA8 83 C1 00 08 */ lwz r30, 8(r1)
/* 8030CE6C 00309DAC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8030CE70 00309DB0 7C 08 03 A6 */ mtlr r0
/* 8030CE74 00309DB4 38 21 00 10 */ addi r1, r1, 0x10
/* 8030CE78 00309DB8 4E 80 00 20 */ blr
.global J2DDataManage_NS_get_X1_
J2DDataManage_NS_get_X1_:
/* 8030CE7C 00309DBC 94 21 FE E0 */ stwu r1, -0x120(r1)
/* 8030CE80 00309DC0 7C 08 02 A6 */ mflr r0
/* 8030CE84 00309DC4 90 01 01 24 */ stw r0, 0x124(r1)
/* 8030CE88 00309DC8 39 61 01 20 */ addi r11, r1, 0x120
/* 8030CE8C 00309DCC 48 05 53 51 */ bl func_803621DC
/* 8030CE90 00309DD0 7C 7D 1B 78 */ mr r29, r3
/* 8030CE94 00309DD4 7C 9E 23 78 */ mr r30, r4
/* 8030CE98 00309DD8 7F C3 F3 78 */ mr r3, r30
/* 8030CE9C 00309DDC 38 80 00 01 */ li r4, 1
/* 8030CEA0 00309DE0 81 9E 00 00 */ lwz r12, 0(r30)
/* 8030CEA4 00309DE4 81 8C 00 10 */ lwz r12, 0x10(r12)
/* 8030CEA8 00309DE8 7D 89 03 A6 */ mtctr r12
/* 8030CEAC 00309DEC 4E 80 04 21 */ bctrl
/* 8030CEB0 00309DF0 7F C3 F3 78 */ mr r3, r30
/* 8030CEB4 00309DF4 38 81 00 08 */ addi r4, r1, 8
/* 8030CEB8 00309DF8 38 A0 00 01 */ li r5, 1
/* 8030CEBC 00309DFC 4B FC F3 DD */ bl JSUInputStream_NS_read
/* 8030CEC0 00309E00 8B E1 00 08 */ lbz r31, 8(r1)
/* 8030CEC4 00309E04 28 1F 00 00 */ cmplwi r31, 0
/* 8030CEC8 00309E08 40 82 00 0C */ bne lbl_8030CED4
/* 8030CECC 00309E0C 38 60 00 00 */ li r3, 0
/* 8030CED0 00309E10 48 00 00 28 */ b lbl_8030CEF8
lbl_8030CED4:
/* 8030CED4 00309E14 7F C3 F3 78 */ mr r3, r30
/* 8030CED8 00309E18 38 81 00 0C */ addi r4, r1, 0xc
/* 8030CEDC 00309E1C 7F E5 FB 78 */ mr r5, r31
/* 8030CEE0 00309E20 4B FC F3 B9 */ bl JSUInputStream_NS_read
/* 8030CEE4 00309E24 38 00 00 00 */ li r0, 0
/* 8030CEE8 00309E28 38 81 00 0C */ addi r4, r1, 0xc
/* 8030CEEC 00309E2C 7C 04 F9 AE */ stbx r0, r4, r31
/* 8030CEF0 00309E30 7F A3 EB 78 */ mr r3, r29
/* 8030CEF4 00309E34 4B FF FF 25 */ bl J2DDataManage_NS_get
lbl_8030CEF8:
/* 8030CEF8 00309E38 39 61 01 20 */ addi r11, r1, 0x120
/* 8030CEFC 00309E3C 48 05 53 2D */ bl func_80362228
/* 8030CF00 00309E40 80 01 01 24 */ lwz r0, 0x124(r1)
/* 8030CF04 00309E44 7C 08 03 A6 */ mtlr r0
/* 8030CF08 00309E48 38 21 01 20 */ addi r1, r1, 0x120
/* 8030CF0C 00309E4C 4E 80 00 20 */ blr
.global J2DResReference_NS_getResReference
J2DResReference_NS_getResReference:
/* 8030CF10 00309E50 A0 A3 00 00 */ lhz r5, 0(r3)
/* 8030CF14 00309E54 54 80 04 3E */ clrlwi r0, r4, 0x10
/* 8030CF18 00309E58 7C 05 00 40 */ cmplw r5, r0
/* 8030CF1C 00309E5C 40 81 00 0C */ ble lbl_8030CF28
/* 8030CF20 00309E60 28 00 FF FF */ cmplwi r0, 0xffff
/* 8030CF24 00309E64 40 82 00 0C */ bne lbl_8030CF30
lbl_8030CF28:
/* 8030CF28 00309E68 38 60 00 00 */ li r3, 0
/* 8030CF2C 00309E6C 4E 80 00 20 */ blr
lbl_8030CF30:
/* 8030CF30 00309E70 54 80 0B FC */ rlwinm r0, r4, 1, 0xf, 0x1e
/* 8030CF34 00309E74 7C 83 02 14 */ add r4, r3, r0
/* 8030CF38 00309E78 A0 04 00 02 */ lhz r0, 2(r4)
/* 8030CF3C 00309E7C 7C 63 02 14 */ add r3, r3, r0
/* 8030CF40 00309E80 4E 80 00 20 */ blr
.global J2DResReference_NS_getName
J2DResReference_NS_getName:
/* 8030CF44 00309E84 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8030CF48 00309E88 7C 08 02 A6 */ mflr r0
/* 8030CF4C 00309E8C 90 01 00 14 */ stw r0, 0x14(r1)
/* 8030CF50 00309E90 4B FF FF C1 */ bl J2DResReference_NS_getResReference
/* 8030CF54 00309E94 28 03 00 00 */ cmplwi r3, 0
/* 8030CF58 00309E98 40 82 00 14 */ bne lbl_8030CF6C
/* 8030CF5C 00309E9C 38 00 00 00 */ li r0, 0
/* 8030CF60 00309EA0 3C 60 80 43 */ lis r3, lbl_804349C0@ha
/* 8030CF64 00309EA4 9C 03 49 C0 */ stbu r0, lbl_804349C0@l(r3)
/* 8030CF68 00309EA8 48 00 01 20 */ b lbl_8030D088
lbl_8030CF6C:
/* 8030CF6C 00309EAC 88 03 00 00 */ lbz r0, 0(r3)
/* 8030CF70 00309EB0 7C 00 07 74 */ extsb r0, r0
/* 8030CF74 00309EB4 2C 00 00 04 */ cmpwi r0, 4
/* 8030CF78 00309EB8 41 82 00 5C */ beq lbl_8030CFD4
/* 8030CF7C 00309EBC 40 80 00 F8 */ bge lbl_8030D074
/* 8030CF80 00309EC0 2C 00 00 02 */ cmpwi r0, 2
/* 8030CF84 00309EC4 40 80 00 08 */ bge lbl_8030CF8C
/* 8030CF88 00309EC8 48 00 00 EC */ b lbl_8030D074
lbl_8030CF8C:
/* 8030CF8C 00309ECC 38 C0 00 00 */ li r6, 0
/* 8030CF90 00309ED0 3C 80 80 43 */ lis r4, lbl_804349C0@ha
/* 8030CF94 00309ED4 38 A4 49 C0 */ addi r5, r4, lbl_804349C0@l
/* 8030CF98 00309ED8 48 00 00 18 */ b lbl_8030CFB0
lbl_8030CF9C:
/* 8030CF9C 00309EDC 38 06 00 02 */ addi r0, r6, 2
/* 8030CFA0 00309EE0 7C 03 00 AE */ lbzx r0, r3, r0
/* 8030CFA4 00309EE4 98 05 00 00 */ stb r0, 0(r5)
/* 8030CFA8 00309EE8 38 C6 00 01 */ addi r6, r6, 1
/* 8030CFAC 00309EEC 38 A5 00 01 */ addi r5, r5, 1
lbl_8030CFB0:
/* 8030CFB0 00309EF0 88 03 00 01 */ lbz r0, 1(r3)
/* 8030CFB4 00309EF4 7C 04 07 74 */ extsb r4, r0
/* 8030CFB8 00309EF8 7C 06 20 00 */ cmpw r6, r4
/* 8030CFBC 00309EFC 41 80 FF E0 */ blt lbl_8030CF9C
/* 8030CFC0 00309F00 38 00 00 00 */ li r0, 0
/* 8030CFC4 00309F04 3C 60 80 43 */ lis r3, lbl_804349C0@ha
/* 8030CFC8 00309F08 38 63 49 C0 */ addi r3, r3, lbl_804349C0@l
/* 8030CFCC 00309F0C 7C 03 21 AE */ stbx r0, r3, r4
/* 8030CFD0 00309F10 48 00 00 B0 */ b lbl_8030D080
lbl_8030CFD4:
/* 8030CFD4 00309F14 88 03 00 01 */ lbz r0, 1(r3)
/* 8030CFD8 00309F18 7C 04 07 74 */ extsb r4, r0
/* 8030CFDC 00309F1C 38 E4 00 01 */ addi r7, r4, 1
/* 8030CFE0 00309F20 7C 83 3A 14 */ add r4, r3, r7
/* 8030CFE4 00309F24 38 07 FF FF */ addi r0, r7, -1
/* 8030CFE8 00309F28 7C 09 03 A6 */ mtctr r0
/* 8030CFEC 00309F2C 2C 07 00 02 */ cmpwi r7, 2
/* 8030CFF0 00309F30 41 80 00 28 */ blt lbl_8030D018
lbl_8030CFF4:
/* 8030CFF4 00309F34 88 04 00 00 */ lbz r0, 0(r4)
/* 8030CFF8 00309F38 7C 00 07 74 */ extsb r0, r0
/* 8030CFFC 00309F3C 2C 00 00 5C */ cmpwi r0, 0x5c
/* 8030D000 00309F40 41 82 00 18 */ beq lbl_8030D018
/* 8030D004 00309F44 2C 00 00 2F */ cmpwi r0, 0x2f
/* 8030D008 00309F48 41 82 00 10 */ beq lbl_8030D018
/* 8030D00C 00309F4C 38 E7 FF FF */ addi r7, r7, -1
/* 8030D010 00309F50 38 84 FF FF */ addi r4, r4, -1
/* 8030D014 00309F54 42 00 FF E0 */ bdnz lbl_8030CFF4
lbl_8030D018:
/* 8030D018 00309F58 39 00 00 00 */ li r8, 0
/* 8030D01C 00309F5C 3C 80 80 43 */ lis r4, lbl_804349C0@ha
/* 8030D020 00309F60 38 04 49 C0 */ addi r0, r4, lbl_804349C0@l
/* 8030D024 00309F64 38 E7 00 01 */ addi r7, r7, 1
/* 8030D028 00309F68 7C A3 3A 14 */ add r5, r3, r7
/* 8030D02C 00309F6C 7C 04 03 78 */ mr r4, r0
/* 8030D030 00309F70 48 00 00 1C */ b lbl_8030D04C
lbl_8030D034:
/* 8030D034 00309F74 88 05 00 00 */ lbz r0, 0(r5)
/* 8030D038 00309F78 98 04 00 00 */ stb r0, 0(r4)
/* 8030D03C 00309F7C 39 08 00 01 */ addi r8, r8, 1
/* 8030D040 00309F80 38 84 00 01 */ addi r4, r4, 1
/* 8030D044 00309F84 38 E7 00 01 */ addi r7, r7, 1
/* 8030D048 00309F88 38 A5 00 01 */ addi r5, r5, 1
lbl_8030D04C:
/* 8030D04C 00309F8C 88 03 00 01 */ lbz r0, 1(r3)
/* 8030D050 00309F90 7C 06 07 74 */ extsb r6, r0
/* 8030D054 00309F94 38 06 00 02 */ addi r0, r6, 2
/* 8030D058 00309F98 7C 07 00 00 */ cmpw r7, r0
/* 8030D05C 00309F9C 41 80 FF D8 */ blt lbl_8030D034
/* 8030D060 00309FA0 38 00 00 00 */ li r0, 0
/* 8030D064 00309FA4 3C 60 80 43 */ lis r3, lbl_804349C0@ha
/* 8030D068 00309FA8 38 63 49 C0 */ addi r3, r3, lbl_804349C0@l
/* 8030D06C 00309FAC 7C 03 41 AE */ stbx r0, r3, r8
/* 8030D070 00309FB0 48 00 00 10 */ b lbl_8030D080
lbl_8030D074:
/* 8030D074 00309FB4 38 00 00 00 */ li r0, 0
/* 8030D078 00309FB8 3C 60 80 43 */ lis r3, lbl_804349C0@ha
/* 8030D07C 00309FBC 98 03 49 C0 */ stb r0, lbl_804349C0@l(r3)
lbl_8030D080:
/* 8030D080 00309FC0 3C 60 80 43 */ lis r3, lbl_804349C0@ha
/* 8030D084 00309FC4 38 63 49 C0 */ addi r3, r3, lbl_804349C0@l
lbl_8030D088:
/* 8030D088 00309FC8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8030D08C 00309FCC 7C 08 03 A6 */ mtlr r0
/* 8030D090 00309FD0 38 21 00 10 */ addi r1, r1, 0x10
/* 8030D094 00309FD4 4E 80 00 20 */ blr

8345
asm/J2DGraph/J2DMatBlock.s Normal file

File diff suppressed because it is too large Load Diff

1320
asm/J2DGraph/J2DMaterial.s Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,434 @@
.include "macros.inc"
.section .text, "ax" # 802e9670
.global J2DOrthoGraph
J2DOrthoGraph:
/* 802E9670 002E65B0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802E9674 002E65B4 7C 08 02 A6 */ mflr r0
/* 802E9678 002E65B8 90 01 00 14 */ stw r0, 0x14(r1)
/* 802E967C 002E65BC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802E9680 002E65C0 7C 7F 1B 78 */ mr r31, r3
/* 802E9684 002E65C4 C0 22 C7 60 */ lfs f1, lbl_80456160-_SDA2_BASE_(r2)
/* 802E9688 002E65C8 FC 40 08 90 */ fmr f2, f1
/* 802E968C 002E65CC FC 60 08 90 */ fmr f3, f1
/* 802E9690 002E65D0 FC 80 08 90 */ fmr f4, f1
/* 802E9694 002E65D4 4B FF F4 75 */ bl J2DGrafContext
/* 802E9698 002E65D8 3C 60 80 3D */ lis r3, lbl_803CC9E0@ha
/* 802E969C 002E65DC 38 03 C9 E0 */ addi r0, r3, lbl_803CC9E0@l
/* 802E96A0 002E65E0 90 1F 00 00 */ stw r0, 0(r31)
/* 802E96A4 002E65E4 7F E3 FB 78 */ mr r3, r31
/* 802E96A8 002E65E8 81 9F 00 00 */ lwz r12, 0(r31)
/* 802E96AC 002E65EC 81 8C 00 24 */ lwz r12, 0x24(r12)
/* 802E96B0 002E65F0 7D 89 03 A6 */ mtctr r12
/* 802E96B4 002E65F4 4E 80 04 21 */ bctrl
/* 802E96B8 002E65F8 7F E3 FB 78 */ mr r3, r31
/* 802E96BC 002E65FC 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802E96C0 002E6600 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802E96C4 002E6604 7C 08 03 A6 */ mtlr r0
/* 802E96C8 002E6608 38 21 00 10 */ addi r1, r1, 0x10
/* 802E96CC 002E660C 4E 80 00 20 */ blr
.global J2DOrthoGraph_X1_
J2DOrthoGraph_X1_:
/* 802E96D0 002E6610 94 21 FF A0 */ stwu r1, -0x60(r1)
/* 802E96D4 002E6614 7C 08 02 A6 */ mflr r0
/* 802E96D8 002E6618 90 01 00 64 */ stw r0, 0x64(r1)
/* 802E96DC 002E661C DB E1 00 50 */ stfd f31, 0x50(r1)
/* 802E96E0 002E6620 F3 E1 00 58 */ psq_st f31, 88(r1), 0, qr0
/* 802E96E4 002E6624 DB C1 00 40 */ stfd f30, 0x40(r1)
/* 802E96E8 002E6628 F3 C1 00 48 */ psq_st f30, 72(r1), 0, qr0
/* 802E96EC 002E662C DB A1 00 30 */ stfd f29, 0x30(r1)
/* 802E96F0 002E6630 F3 A1 00 38 */ psq_st f29, 56(r1), 0, qr0
/* 802E96F4 002E6634 DB 81 00 20 */ stfd f28, 0x20(r1)
/* 802E96F8 002E6638 F3 81 00 28 */ psq_st f28, 40(r1), 0, qr0
/* 802E96FC 002E663C 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 802E9700 002E6640 7C 7F 1B 78 */ mr r31, r3
/* 802E9704 002E6644 FF 80 18 90 */ fmr f28, f3
/* 802E9708 002E6648 FF A0 20 90 */ fmr f29, f4
/* 802E970C 002E664C FF C0 28 90 */ fmr f30, f5
/* 802E9710 002E6650 FF E0 30 90 */ fmr f31, f6
/* 802E9714 002E6654 4B FF F3 F5 */ bl J2DGrafContext
/* 802E9718 002E6658 3C 60 80 3D */ lis r3, lbl_803CC9E0@ha
/* 802E971C 002E665C 38 03 C9 E0 */ addi r0, r3, lbl_803CC9E0@l
/* 802E9720 002E6660 90 1F 00 00 */ stw r0, 0(r31)
/* 802E9724 002E6664 C0 02 C7 60 */ lfs f0, lbl_80456160-_SDA2_BASE_(r2)
/* 802E9728 002E6668 D0 01 00 08 */ stfs f0, 8(r1)
/* 802E972C 002E666C D0 01 00 0C */ stfs f0, 0xc(r1)
/* 802E9730 002E6670 D3 81 00 10 */ stfs f28, 0x10(r1)
/* 802E9734 002E6674 D3 A1 00 14 */ stfs f29, 0x14(r1)
/* 802E9738 002E6678 80 61 00 08 */ lwz r3, 8(r1)
/* 802E973C 002E667C 80 01 00 0C */ lwz r0, 0xc(r1)
/* 802E9740 002E6680 90 7F 00 BC */ stw r3, 0xbc(r31)
/* 802E9744 002E6684 90 1F 00 C0 */ stw r0, 0xc0(r31)
/* 802E9748 002E6688 80 61 00 10 */ lwz r3, 0x10(r1)
/* 802E974C 002E668C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802E9750 002E6690 90 7F 00 C4 */ stw r3, 0xc4(r31)
/* 802E9754 002E6694 90 1F 00 C8 */ stw r0, 0xc8(r31)
/* 802E9758 002E6698 FC 00 F8 50 */ fneg f0, f31
/* 802E975C 002E669C D0 1F 00 CC */ stfs f0, 0xcc(r31)
/* 802E9760 002E66A0 FC 00 F0 50 */ fneg f0, f30
/* 802E9764 002E66A4 D0 1F 00 D0 */ stfs f0, 0xd0(r31)
/* 802E9768 002E66A8 7F E3 FB 78 */ mr r3, r31
/* 802E976C 002E66AC 81 9F 00 00 */ lwz r12, 0(r31)
/* 802E9770 002E66B0 81 8C 00 24 */ lwz r12, 0x24(r12)
/* 802E9774 002E66B4 7D 89 03 A6 */ mtctr r12
/* 802E9778 002E66B8 4E 80 04 21 */ bctrl
/* 802E977C 002E66BC 7F E3 FB 78 */ mr r3, r31
/* 802E9780 002E66C0 E3 E1 00 58 */ psq_l f31, 88(r1), 0, qr0
/* 802E9784 002E66C4 CB E1 00 50 */ lfd f31, 0x50(r1)
/* 802E9788 002E66C8 E3 C1 00 48 */ psq_l f30, 72(r1), 0, qr0
/* 802E978C 002E66CC CB C1 00 40 */ lfd f30, 0x40(r1)
/* 802E9790 002E66D0 E3 A1 00 38 */ psq_l f29, 56(r1), 0, qr0
/* 802E9794 002E66D4 CB A1 00 30 */ lfd f29, 0x30(r1)
/* 802E9798 002E66D8 E3 81 00 28 */ psq_l f28, 40(r1), 0, qr0
/* 802E979C 002E66DC CB 81 00 20 */ lfd f28, 0x20(r1)
/* 802E97A0 002E66E0 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 802E97A4 002E66E4 80 01 00 64 */ lwz r0, 0x64(r1)
/* 802E97A8 002E66E8 7C 08 03 A6 */ mtlr r0
/* 802E97AC 002E66EC 38 21 00 60 */ addi r1, r1, 0x60
/* 802E97B0 002E66F0 4E 80 00 20 */ blr
.global J2DOrthoGraph_NS_setPort
J2DOrthoGraph_NS_setPort:
/* 802E97B4 002E66F4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802E97B8 002E66F8 7C 08 02 A6 */ mflr r0
/* 802E97BC 002E66FC 90 01 00 14 */ stw r0, 0x14(r1)
/* 802E97C0 002E6700 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802E97C4 002E6704 7C 7F 1B 78 */ mr r31, r3
/* 802E97C8 002E6708 4B FF F3 ED */ bl J2DGrafContext_NS_setPort
/* 802E97CC 002E670C 38 7F 00 40 */ addi r3, r31, 0x40
/* 802E97D0 002E6710 C0 3F 00 C0 */ lfs f1, 0xc0(r31)
/* 802E97D4 002E6714 C0 5F 00 C8 */ lfs f2, 0xc8(r31)
/* 802E97D8 002E6718 C0 7F 00 BC */ lfs f3, 0xbc(r31)
/* 802E97DC 002E671C C0 9F 00 C4 */ lfs f4, 0xc4(r31)
/* 802E97E0 002E6720 C0 BF 00 CC */ lfs f5, 0xcc(r31)
/* 802E97E4 002E6724 C0 DF 00 D0 */ lfs f6, 0xd0(r31)
/* 802E97E8 002E6728 48 05 D8 11 */ bl C_MTXOrtho
/* 802E97EC 002E672C 38 7F 00 40 */ addi r3, r31, 0x40
/* 802E97F0 002E6730 38 80 00 01 */ li r4, 1
/* 802E97F4 002E6734 48 07 68 E1 */ bl GXSetProjection
/* 802E97F8 002E6738 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802E97FC 002E673C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802E9800 002E6740 7C 08 03 A6 */ mtlr r0
/* 802E9804 002E6744 38 21 00 10 */ addi r1, r1, 0x10
/* 802E9808 002E6748 4E 80 00 20 */ blr
.global J2DOrthoGraph_NS_setOrtho
J2DOrthoGraph_NS_setOrtho:
/* 802E980C 002E674C 80 A4 00 00 */ lwz r5, 0(r4)
/* 802E9810 002E6750 80 04 00 04 */ lwz r0, 4(r4)
/* 802E9814 002E6754 90 A3 00 BC */ stw r5, 0xbc(r3)
/* 802E9818 002E6758 90 03 00 C0 */ stw r0, 0xc0(r3)
/* 802E981C 002E675C 80 A4 00 08 */ lwz r5, 8(r4)
/* 802E9820 002E6760 80 04 00 0C */ lwz r0, 0xc(r4)
/* 802E9824 002E6764 90 A3 00 C4 */ stw r5, 0xc4(r3)
/* 802E9828 002E6768 90 03 00 C8 */ stw r0, 0xc8(r3)
/* 802E982C 002E676C FC 00 10 50 */ fneg f0, f2
/* 802E9830 002E6770 D0 03 00 CC */ stfs f0, 0xcc(r3)
/* 802E9834 002E6774 FC 00 08 50 */ fneg f0, f1
/* 802E9838 002E6778 D0 03 00 D0 */ stfs f0, 0xd0(r3)
/* 802E983C 002E677C 4E 80 00 20 */ blr
/* 802E9840 002E6780 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802E9844 002E6784 7C 08 02 A6 */ mflr r0
/* 802E9848 002E6788 90 01 00 14 */ stw r0, 0x14(r1)
/* 802E984C 002E678C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802E9850 002E6790 7C 7F 1B 78 */ mr r31, r3
/* 802E9854 002E6794 38 7F 00 80 */ addi r3, r31, 0x80
/* 802E9858 002E6798 48 05 CC 2D */ bl PSMTXIdentity
/* 802E985C 002E679C 38 7F 00 80 */ addi r3, r31, 0x80
/* 802E9860 002E67A0 38 80 00 00 */ li r4, 0
/* 802E9864 002E67A4 48 07 69 E9 */ bl GXLoadPosMtxImm
/* 802E9868 002E67A8 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802E986C 002E67AC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802E9870 002E67B0 7C 08 03 A6 */ mtlr r0
/* 802E9874 002E67B4 38 21 00 10 */ addi r1, r1, 0x10
/* 802E9878 002E67B8 4E 80 00 20 */ blr
.global J2DOrthoGraph_NS_scissorBounds
J2DOrthoGraph_NS_scissorBounds:
/* 802E987C 002E67BC C0 03 00 0C */ lfs f0, 0xc(r3)
/* 802E9880 002E67C0 C0 63 00 04 */ lfs f3, 4(r3)
/* 802E9884 002E67C4 EC 20 18 28 */ fsubs f1, f0, f3
/* 802E9888 002E67C8 C0 03 00 C4 */ lfs f0, 0xc4(r3)
/* 802E988C 002E67CC C0 A3 00 BC */ lfs f5, 0xbc(r3)
/* 802E9890 002E67D0 EC 00 28 28 */ fsubs f0, f0, f5
/* 802E9894 002E67D4 EC 41 00 24 */ fdivs f2, f1, f0
/* 802E9898 002E67D8 C0 03 00 10 */ lfs f0, 0x10(r3)
/* 802E989C 002E67DC C0 83 00 08 */ lfs f4, 8(r3)
/* 802E98A0 002E67E0 EC 20 20 28 */ fsubs f1, f0, f4
/* 802E98A4 002E67E4 C0 03 00 C8 */ lfs f0, 0xc8(r3)
/* 802E98A8 002E67E8 C0 C3 00 C0 */ lfs f6, 0xc0(r3)
/* 802E98AC 002E67EC EC 00 30 28 */ fsubs f0, f0, f6
/* 802E98B0 002E67F0 EC 21 00 24 */ fdivs f1, f1, f0
/* 802E98B4 002E67F4 C0 02 C7 60 */ lfs f0, lbl_80456160-_SDA2_BASE_(r2)
/* 802E98B8 002E67F8 FC 03 00 40 */ fcmpo cr0, f3, f0
/* 802E98BC 002E67FC 4C 41 13 82 */ cror 2, 1, 2
/* 802E98C0 002E6800 40 82 00 08 */ bne lbl_802E98C8
/* 802E98C4 002E6804 48 00 00 08 */ b lbl_802E98CC
lbl_802E98C8:
/* 802E98C8 002E6808 FC 60 00 90 */ fmr f3, f0
lbl_802E98CC:
/* 802E98CC 002E680C C0 02 C7 60 */ lfs f0, lbl_80456160-_SDA2_BASE_(r2)
/* 802E98D0 002E6810 FC 04 00 40 */ fcmpo cr0, f4, f0
/* 802E98D4 002E6814 4C 41 13 82 */ cror 2, 1, 2
/* 802E98D8 002E6818 40 82 00 08 */ bne lbl_802E98E0
/* 802E98DC 002E681C 48 00 00 08 */ b lbl_802E98E4
lbl_802E98E0:
/* 802E98E0 002E6820 FC 80 00 90 */ fmr f4, f0
lbl_802E98E4:
/* 802E98E4 002E6824 C0 05 00 08 */ lfs f0, 8(r5)
/* 802E98E8 002E6828 EC 00 28 28 */ fsubs f0, f0, f5
/* 802E98EC 002E682C EC 02 00 32 */ fmuls f0, f2, f0
/* 802E98F0 002E6830 EC E3 00 2A */ fadds f7, f3, f0
/* 802E98F4 002E6834 C0 05 00 04 */ lfs f0, 4(r5)
/* 802E98F8 002E6838 EC 00 30 28 */ fsubs f0, f0, f6
/* 802E98FC 002E683C EC 01 00 32 */ fmuls f0, f1, f0
/* 802E9900 002E6840 ED 04 00 2A */ fadds f8, f4, f0
/* 802E9904 002E6844 C0 05 00 0C */ lfs f0, 0xc(r5)
/* 802E9908 002E6848 EC 00 30 28 */ fsubs f0, f0, f6
/* 802E990C 002E684C EC 01 00 32 */ fmuls f0, f1, f0
/* 802E9910 002E6850 EC 24 00 2A */ fadds f1, f4, f0
/* 802E9914 002E6854 C0 05 00 00 */ lfs f0, 0(r5)
/* 802E9918 002E6858 EC 00 28 28 */ fsubs f0, f0, f5
/* 802E991C 002E685C EC 02 00 32 */ fmuls f0, f2, f0
/* 802E9920 002E6860 EC 03 00 2A */ fadds f0, f3, f0
/* 802E9924 002E6864 D0 04 00 00 */ stfs f0, 0(r4)
/* 802E9928 002E6868 D1 04 00 04 */ stfs f8, 4(r4)
/* 802E992C 002E686C D0 E4 00 08 */ stfs f7, 8(r4)
/* 802E9930 002E6870 D0 24 00 0C */ stfs f1, 0xc(r4)
/* 802E9934 002E6874 C0 04 00 00 */ lfs f0, 0(r4)
/* 802E9938 002E6878 C0 23 00 14 */ lfs f1, 0x14(r3)
/* 802E993C 002E687C FC 00 08 40 */ fcmpo cr0, f0, f1
/* 802E9940 002E6880 4C 40 13 82 */ cror 2, 0, 2
/* 802E9944 002E6884 40 82 00 08 */ bne lbl_802E994C
/* 802E9948 002E6888 D0 24 00 00 */ stfs f1, 0(r4)
lbl_802E994C:
/* 802E994C 002E688C C0 04 00 04 */ lfs f0, 4(r4)
/* 802E9950 002E6890 C0 23 00 18 */ lfs f1, 0x18(r3)
/* 802E9954 002E6894 FC 00 08 40 */ fcmpo cr0, f0, f1
/* 802E9958 002E6898 4C 40 13 82 */ cror 2, 0, 2
/* 802E995C 002E689C 40 82 00 08 */ bne lbl_802E9964
/* 802E9960 002E68A0 D0 24 00 04 */ stfs f1, 4(r4)
lbl_802E9964:
/* 802E9964 002E68A4 C0 04 00 08 */ lfs f0, 8(r4)
/* 802E9968 002E68A8 C0 23 00 1C */ lfs f1, 0x1c(r3)
/* 802E996C 002E68AC FC 00 08 40 */ fcmpo cr0, f0, f1
/* 802E9970 002E68B0 4C 41 13 82 */ cror 2, 1, 2
/* 802E9974 002E68B4 40 82 00 08 */ bne lbl_802E997C
/* 802E9978 002E68B8 D0 24 00 08 */ stfs f1, 8(r4)
lbl_802E997C:
/* 802E997C 002E68BC C0 04 00 0C */ lfs f0, 0xc(r4)
/* 802E9980 002E68C0 C0 23 00 20 */ lfs f1, 0x20(r3)
/* 802E9984 002E68C4 FC 00 08 40 */ fcmpo cr0, f0, f1
/* 802E9988 002E68C8 4C 41 13 82 */ cror 2, 1, 2
/* 802E998C 002E68CC 4C 82 00 20 */ bnelr
/* 802E9990 002E68D0 D0 24 00 0C */ stfs f1, 0xc(r4)
/* 802E9994 002E68D4 4E 80 00 20 */ blr
.global J2DDrawLine
J2DDrawLine:
/* 802E9998 002E68D8 94 21 FE A0 */ stwu r1, -0x160(r1)
/* 802E999C 002E68DC 7C 08 02 A6 */ mflr r0
/* 802E99A0 002E68E0 90 01 01 64 */ stw r0, 0x164(r1)
/* 802E99A4 002E68E4 DB E1 01 50 */ stfd f31, 0x150(r1)
/* 802E99A8 002E68E8 F3 E1 01 58 */ psq_st f31, 344(r1), 0, qr0
/* 802E99AC 002E68EC DB C1 01 40 */ stfd f30, 0x140(r1)
/* 802E99B0 002E68F0 F3 C1 01 48 */ psq_st f30, 328(r1), 0, qr0
/* 802E99B4 002E68F4 DB A1 01 30 */ stfd f29, 0x130(r1)
/* 802E99B8 002E68F8 F3 A1 01 38 */ psq_st f29, 312(r1), 0, qr0
/* 802E99BC 002E68FC DB 81 01 20 */ stfd f28, 0x120(r1)
/* 802E99C0 002E6900 F3 81 01 28 */ psq_st f28, 296(r1), 0, qr0
/* 802E99C4 002E6904 93 E1 01 1C */ stw r31, 0x11c(r1)
/* 802E99C8 002E6908 93 C1 01 18 */ stw r30, 0x118(r1)
/* 802E99CC 002E690C FF 80 08 90 */ fmr f28, f1
/* 802E99D0 002E6910 FF A0 10 90 */ fmr f29, f2
/* 802E99D4 002E6914 FF C0 18 90 */ fmr f30, f3
/* 802E99D8 002E6918 FF E0 20 90 */ fmr f31, f4
/* 802E99DC 002E691C 7C 7E 1B 78 */ mr r30, r3
/* 802E99E0 002E6920 7C 9F 23 78 */ mr r31, r4
/* 802E99E4 002E6924 38 61 00 3C */ addi r3, r1, 0x3c
/* 802E99E8 002E6928 4B FF FC 89 */ bl J2DOrthoGraph
/* 802E99EC 002E692C 38 61 00 3C */ addi r3, r1, 0x3c
/* 802E99F0 002E6930 57 E4 06 3E */ clrlwi r4, r31, 0x18
/* 802E99F4 002E6934 4B FF F8 41 */ bl J2DGrafContext_NS_setLineWidth
/* 802E99F8 002E6938 80 1E 00 00 */ lwz r0, 0(r30)
/* 802E99FC 002E693C 90 01 00 18 */ stw r0, 0x18(r1)
/* 802E9A00 002E6940 90 01 00 14 */ stw r0, 0x14(r1)
/* 802E9A04 002E6944 90 01 00 10 */ stw r0, 0x10(r1)
/* 802E9A08 002E6948 90 01 00 0C */ stw r0, 0xc(r1)
/* 802E9A0C 002E694C 90 01 00 08 */ stw r0, 8(r1)
/* 802E9A10 002E6950 38 61 00 3C */ addi r3, r1, 0x3c
/* 802E9A14 002E6954 38 81 00 08 */ addi r4, r1, 8
/* 802E9A18 002E6958 38 A1 00 0C */ addi r5, r1, 0xc
/* 802E9A1C 002E695C 38 C1 00 10 */ addi r6, r1, 0x10
/* 802E9A20 002E6960 38 E1 00 14 */ addi r7, r1, 0x14
/* 802E9A24 002E6964 4B FF F6 F5 */ bl J2DGrafContext_NS_setColor
/* 802E9A28 002E6968 D3 81 00 34 */ stfs f28, 0x34(r1)
/* 802E9A2C 002E696C D3 A1 00 38 */ stfs f29, 0x38(r1)
/* 802E9A30 002E6970 80 61 00 34 */ lwz r3, 0x34(r1)
/* 802E9A34 002E6974 80 01 00 38 */ lwz r0, 0x38(r1)
/* 802E9A38 002E6978 90 61 00 2C */ stw r3, 0x2c(r1)
/* 802E9A3C 002E697C 90 01 00 30 */ stw r0, 0x30(r1)
/* 802E9A40 002E6980 C0 01 00 2C */ lfs f0, 0x2c(r1)
/* 802E9A44 002E6984 D0 01 00 74 */ stfs f0, 0x74(r1)
/* 802E9A48 002E6988 C0 01 00 30 */ lfs f0, 0x30(r1)
/* 802E9A4C 002E698C D0 01 00 78 */ stfs f0, 0x78(r1)
/* 802E9A50 002E6990 D3 C1 00 24 */ stfs f30, 0x24(r1)
/* 802E9A54 002E6994 D3 E1 00 28 */ stfs f31, 0x28(r1)
/* 802E9A58 002E6998 80 61 00 24 */ lwz r3, 0x24(r1)
/* 802E9A5C 002E699C 80 01 00 28 */ lwz r0, 0x28(r1)
/* 802E9A60 002E69A0 90 61 00 1C */ stw r3, 0x1c(r1)
/* 802E9A64 002E69A4 90 01 00 20 */ stw r0, 0x20(r1)
/* 802E9A68 002E69A8 38 61 00 3C */ addi r3, r1, 0x3c
/* 802E9A6C 002E69AC 38 81 00 1C */ addi r4, r1, 0x1c
/* 802E9A70 002E69B0 4B FF FA F5 */ bl J2DGrafContext_NS_lineTo
/* 802E9A74 002E69B4 3C 60 80 3D */ lis r3, lbl_803CC9E0@ha
/* 802E9A78 002E69B8 38 03 C9 E0 */ addi r0, r3, lbl_803CC9E0@l
/* 802E9A7C 002E69BC 90 01 00 3C */ stw r0, 0x3c(r1)
/* 802E9A80 002E69C0 3C 60 80 3D */ lis r3, lbl_803CC9B8@ha
/* 802E9A84 002E69C4 38 03 C9 B8 */ addi r0, r3, lbl_803CC9B8@l
/* 802E9A88 002E69C8 90 01 00 3C */ stw r0, 0x3c(r1)
/* 802E9A8C 002E69CC E3 E1 01 58 */ psq_l f31, 344(r1), 0, qr0
/* 802E9A90 002E69D0 CB E1 01 50 */ lfd f31, 0x150(r1)
/* 802E9A94 002E69D4 E3 C1 01 48 */ psq_l f30, 328(r1), 0, qr0
/* 802E9A98 002E69D8 CB C1 01 40 */ lfd f30, 0x140(r1)
/* 802E9A9C 002E69DC E3 A1 01 38 */ psq_l f29, 312(r1), 0, qr0
/* 802E9AA0 002E69E0 CB A1 01 30 */ lfd f29, 0x130(r1)
/* 802E9AA4 002E69E4 E3 81 01 28 */ psq_l f28, 296(r1), 0, qr0
/* 802E9AA8 002E69E8 CB 81 01 20 */ lfd f28, 0x120(r1)
/* 802E9AAC 002E69EC 83 E1 01 1C */ lwz r31, 0x11c(r1)
/* 802E9AB0 002E69F0 83 C1 01 18 */ lwz r30, 0x118(r1)
/* 802E9AB4 002E69F4 80 01 01 64 */ lwz r0, 0x164(r1)
/* 802E9AB8 002E69F8 7C 08 03 A6 */ mtlr r0
/* 802E9ABC 002E69FC 38 21 01 60 */ addi r1, r1, 0x160
/* 802E9AC0 002E6A00 4E 80 00 20 */ blr
.global J2DFillBox
J2DFillBox:
/* 802E9AC4 002E6A04 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802E9AC8 002E6A08 7C 08 02 A6 */ mflr r0
/* 802E9ACC 002E6A0C 90 01 00 24 */ stw r0, 0x24(r1)
/* 802E9AD0 002E6A10 80 03 00 00 */ lwz r0, 0(r3)
/* 802E9AD4 002E6A14 90 01 00 08 */ stw r0, 8(r1)
/* 802E9AD8 002E6A18 D0 21 00 0C */ stfs f1, 0xc(r1)
/* 802E9ADC 002E6A1C D0 41 00 10 */ stfs f2, 0x10(r1)
/* 802E9AE0 002E6A20 EC 01 18 2A */ fadds f0, f1, f3
/* 802E9AE4 002E6A24 D0 01 00 14 */ stfs f0, 0x14(r1)
/* 802E9AE8 002E6A28 EC 02 20 2A */ fadds f0, f2, f4
/* 802E9AEC 002E6A2C D0 01 00 18 */ stfs f0, 0x18(r1)
/* 802E9AF0 002E6A30 38 61 00 0C */ addi r3, r1, 0xc
/* 802E9AF4 002E6A34 38 81 00 08 */ addi r4, r1, 8
/* 802E9AF8 002E6A38 48 00 00 15 */ bl J2DFillBox_X1_
/* 802E9AFC 002E6A3C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802E9B00 002E6A40 7C 08 03 A6 */ mtlr r0
/* 802E9B04 002E6A44 38 21 00 20 */ addi r1, r1, 0x20
/* 802E9B08 002E6A48 4E 80 00 20 */ blr
.global J2DFillBox_X1_
J2DFillBox_X1_:
/* 802E9B0C 002E6A4C 94 21 FF 00 */ stwu r1, -0x100(r1)
/* 802E9B10 002E6A50 7C 08 02 A6 */ mflr r0
/* 802E9B14 002E6A54 90 01 01 04 */ stw r0, 0x104(r1)
/* 802E9B18 002E6A58 93 E1 00 FC */ stw r31, 0xfc(r1)
/* 802E9B1C 002E6A5C 93 C1 00 F8 */ stw r30, 0xf8(r1)
/* 802E9B20 002E6A60 7C 7E 1B 78 */ mr r30, r3
/* 802E9B24 002E6A64 7C 9F 23 78 */ mr r31, r4
/* 802E9B28 002E6A68 38 61 00 1C */ addi r3, r1, 0x1c
/* 802E9B2C 002E6A6C 4B FF FB 45 */ bl J2DOrthoGraph
/* 802E9B30 002E6A70 80 1F 00 00 */ lwz r0, 0(r31)
/* 802E9B34 002E6A74 90 01 00 18 */ stw r0, 0x18(r1)
/* 802E9B38 002E6A78 90 01 00 14 */ stw r0, 0x14(r1)
/* 802E9B3C 002E6A7C 90 01 00 10 */ stw r0, 0x10(r1)
/* 802E9B40 002E6A80 90 01 00 0C */ stw r0, 0xc(r1)
/* 802E9B44 002E6A84 90 01 00 08 */ stw r0, 8(r1)
/* 802E9B48 002E6A88 38 61 00 1C */ addi r3, r1, 0x1c
/* 802E9B4C 002E6A8C 38 81 00 08 */ addi r4, r1, 8
/* 802E9B50 002E6A90 38 A1 00 0C */ addi r5, r1, 0xc
/* 802E9B54 002E6A94 38 C1 00 10 */ addi r6, r1, 0x10
/* 802E9B58 002E6A98 38 E1 00 14 */ addi r7, r1, 0x14
/* 802E9B5C 002E6A9C 4B FF F5 BD */ bl J2DGrafContext_NS_setColor
/* 802E9B60 002E6AA0 38 61 00 1C */ addi r3, r1, 0x1c
/* 802E9B64 002E6AA4 7F C4 F3 78 */ mr r4, r30
/* 802E9B68 002E6AA8 4B FF F6 F9 */ bl J2DGrafContext_NS_fillBox
/* 802E9B6C 002E6AAC 3C 60 80 3D */ lis r3, lbl_803CC9E0@ha
/* 802E9B70 002E6AB0 38 03 C9 E0 */ addi r0, r3, lbl_803CC9E0@l
/* 802E9B74 002E6AB4 90 01 00 1C */ stw r0, 0x1c(r1)
/* 802E9B78 002E6AB8 3C 60 80 3D */ lis r3, lbl_803CC9B8@ha
/* 802E9B7C 002E6ABC 38 03 C9 B8 */ addi r0, r3, lbl_803CC9B8@l
/* 802E9B80 002E6AC0 90 01 00 1C */ stw r0, 0x1c(r1)
/* 802E9B84 002E6AC4 83 E1 00 FC */ lwz r31, 0xfc(r1)
/* 802E9B88 002E6AC8 83 C1 00 F8 */ lwz r30, 0xf8(r1)
/* 802E9B8C 002E6ACC 80 01 01 04 */ lwz r0, 0x104(r1)
/* 802E9B90 002E6AD0 7C 08 03 A6 */ mtlr r0
/* 802E9B94 002E6AD4 38 21 01 00 */ addi r1, r1, 0x100
/* 802E9B98 002E6AD8 4E 80 00 20 */ blr
.global J2DDrawFrame
J2DDrawFrame:
/* 802E9B9C 002E6ADC 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802E9BA0 002E6AE0 7C 08 02 A6 */ mflr r0
/* 802E9BA4 002E6AE4 90 01 00 24 */ stw r0, 0x24(r1)
/* 802E9BA8 002E6AE8 7C 85 23 78 */ mr r5, r4
/* 802E9BAC 002E6AEC 80 03 00 00 */ lwz r0, 0(r3)
/* 802E9BB0 002E6AF0 90 01 00 08 */ stw r0, 8(r1)
/* 802E9BB4 002E6AF4 D0 21 00 0C */ stfs f1, 0xc(r1)
/* 802E9BB8 002E6AF8 D0 41 00 10 */ stfs f2, 0x10(r1)
/* 802E9BBC 002E6AFC EC 01 18 2A */ fadds f0, f1, f3
/* 802E9BC0 002E6B00 D0 01 00 14 */ stfs f0, 0x14(r1)
/* 802E9BC4 002E6B04 EC 02 20 2A */ fadds f0, f2, f4
/* 802E9BC8 002E6B08 D0 01 00 18 */ stfs f0, 0x18(r1)
/* 802E9BCC 002E6B0C 38 61 00 0C */ addi r3, r1, 0xc
/* 802E9BD0 002E6B10 38 81 00 08 */ addi r4, r1, 8
/* 802E9BD4 002E6B14 48 00 00 15 */ bl J2DDrawFrame_X1_
/* 802E9BD8 002E6B18 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802E9BDC 002E6B1C 7C 08 03 A6 */ mtlr r0
/* 802E9BE0 002E6B20 38 21 00 20 */ addi r1, r1, 0x20
/* 802E9BE4 002E6B24 4E 80 00 20 */ blr
.global J2DDrawFrame_X1_
J2DDrawFrame_X1_:
/* 802E9BE8 002E6B28 94 21 FF 00 */ stwu r1, -0x100(r1)
/* 802E9BEC 002E6B2C 7C 08 02 A6 */ mflr r0
/* 802E9BF0 002E6B30 90 01 01 04 */ stw r0, 0x104(r1)
/* 802E9BF4 002E6B34 39 61 01 00 */ addi r11, r1, 0x100
/* 802E9BF8 002E6B38 48 07 85 E5 */ bl func_803621DC
/* 802E9BFC 002E6B3C 7C 7D 1B 78 */ mr r29, r3
/* 802E9C00 002E6B40 7C 9E 23 78 */ mr r30, r4
/* 802E9C04 002E6B44 7C BF 2B 78 */ mr r31, r5
/* 802E9C08 002E6B48 38 61 00 1C */ addi r3, r1, 0x1c
/* 802E9C0C 002E6B4C 4B FF FA 65 */ bl J2DOrthoGraph
/* 802E9C10 002E6B50 80 1E 00 00 */ lwz r0, 0(r30)
/* 802E9C14 002E6B54 90 01 00 18 */ stw r0, 0x18(r1)
/* 802E9C18 002E6B58 90 01 00 14 */ stw r0, 0x14(r1)
/* 802E9C1C 002E6B5C 90 01 00 10 */ stw r0, 0x10(r1)
/* 802E9C20 002E6B60 90 01 00 0C */ stw r0, 0xc(r1)
/* 802E9C24 002E6B64 90 01 00 08 */ stw r0, 8(r1)
/* 802E9C28 002E6B68 38 61 00 1C */ addi r3, r1, 0x1c
/* 802E9C2C 002E6B6C 38 81 00 08 */ addi r4, r1, 8
/* 802E9C30 002E6B70 38 A1 00 0C */ addi r5, r1, 0xc
/* 802E9C34 002E6B74 38 C1 00 10 */ addi r6, r1, 0x10
/* 802E9C38 002E6B78 38 E1 00 14 */ addi r7, r1, 0x14
/* 802E9C3C 002E6B7C 4B FF F4 DD */ bl J2DGrafContext_NS_setColor
/* 802E9C40 002E6B80 38 61 00 1C */ addi r3, r1, 0x1c
/* 802E9C44 002E6B84 7F E4 FB 78 */ mr r4, r31
/* 802E9C48 002E6B88 4B FF F5 ED */ bl J2DGrafContext_NS_setLineWidth
/* 802E9C4C 002E6B8C 38 61 00 1C */ addi r3, r1, 0x1c
/* 802E9C50 002E6B90 7F A4 EB 78 */ mr r4, r29
/* 802E9C54 002E6B94 4B FF F7 15 */ bl J2DGrafContext_NS_drawFrame
/* 802E9C58 002E6B98 3C 60 80 3D */ lis r3, lbl_803CC9E0@ha
/* 802E9C5C 002E6B9C 38 03 C9 E0 */ addi r0, r3, lbl_803CC9E0@l
/* 802E9C60 002E6BA0 90 01 00 1C */ stw r0, 0x1c(r1)
/* 802E9C64 002E6BA4 3C 60 80 3D */ lis r3, lbl_803CC9B8@ha
/* 802E9C68 002E6BA8 38 03 C9 B8 */ addi r0, r3, lbl_803CC9B8@l
/* 802E9C6C 002E6BAC 90 01 00 1C */ stw r0, 0x1c(r1)
/* 802E9C70 002E6BB0 39 61 01 00 */ addi r11, r1, 0x100
/* 802E9C74 002E6BB4 48 07 85 B5 */ bl func_80362228
/* 802E9C78 002E6BB8 80 01 01 04 */ lwz r0, 0x104(r1)
/* 802E9C7C 002E6BBC 7C 08 03 A6 */ mtlr r0
/* 802E9C80 002E6BC0 38 21 01 00 */ addi r1, r1, 0x100
/* 802E9C84 002E6BC4 4E 80 00 20 */ blr
/* 802E9C88 002E6BC8 38 60 00 01 */ li r3, 1
/* 802E9C8C 002E6BCC 4E 80 00 20 */ blr

2883
asm/J2DGraph/J2DPane.s Normal file

File diff suppressed because it is too large Load Diff

3722
asm/J2DGraph/J2DPicture.s Normal file

File diff suppressed because it is too large Load Diff

4103
asm/J2DGraph/J2DPictureEx.s Normal file

File diff suppressed because it is too large Load Diff

1756
asm/J2DGraph/J2DPrint.s Normal file

File diff suppressed because it is too large Load Diff

1559
asm/J2DGraph/J2DScreen.s Normal file

File diff suppressed because it is too large Load Diff

357
asm/J2DGraph/J2DTevs.s Normal file
View File

@ -0,0 +1,357 @@
.include "macros.inc"
.section .text, "ax" # 802e9c90
.global J2DTexMtx_NS_load
J2DTexMtx_NS_load:
/* 802E9C90 002E6BD0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802E9C94 002E6BD4 7C 08 02 A6 */ mflr r0
/* 802E9C98 002E6BD8 90 01 00 14 */ stw r0, 0x14(r1)
/* 802E9C9C 002E6BDC 7C 65 1B 78 */ mr r5, r3
/* 802E9CA0 002E6BE0 38 65 00 24 */ addi r3, r5, 0x24
/* 802E9CA4 002E6BE4 1C 84 00 03 */ mulli r4, r4, 3
/* 802E9CA8 002E6BE8 38 84 00 1E */ addi r4, r4, 0x1e
/* 802E9CAC 002E6BEC 88 A5 00 00 */ lbz r5, 0(r5)
/* 802E9CB0 002E6BF0 48 07 66 71 */ bl GXLoadTexMtxImm
/* 802E9CB4 002E6BF4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802E9CB8 002E6BF8 7C 08 03 A6 */ mtlr r0
/* 802E9CBC 002E6BFC 38 21 00 10 */ addi r1, r1, 0x10
/* 802E9CC0 002E6C00 4E 80 00 20 */ blr
.global J2DTexMtx_NS_calc
J2DTexMtx_NS_calc:
/* 802E9CC4 002E6C04 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802E9CC8 002E6C08 7C 08 02 A6 */ mflr r0
/* 802E9CCC 002E6C0C 90 01 00 24 */ stw r0, 0x24(r1)
/* 802E9CD0 002E6C10 88 03 00 01 */ lbz r0, 1(r3)
/* 802E9CD4 002E6C14 28 00 00 00 */ cmplwi r0, 0
/* 802E9CD8 002E6C18 40 82 00 30 */ bne lbl_802E9D08
/* 802E9CDC 002E6C1C 80 83 00 04 */ lwz r4, 4(r3)
/* 802E9CE0 002E6C20 80 03 00 08 */ lwz r0, 8(r3)
/* 802E9CE4 002E6C24 90 81 00 08 */ stw r4, 8(r1)
/* 802E9CE8 002E6C28 90 01 00 0C */ stw r0, 0xc(r1)
/* 802E9CEC 002E6C2C 80 03 00 0C */ lwz r0, 0xc(r3)
/* 802E9CF0 002E6C30 90 01 00 10 */ stw r0, 0x10(r1)
/* 802E9CF4 002E6C34 38 83 00 10 */ addi r4, r3, 0x10
/* 802E9CF8 002E6C38 38 A1 00 08 */ addi r5, r1, 8
/* 802E9CFC 002E6C3C 38 C3 00 24 */ addi r6, r3, 0x24
/* 802E9D00 002E6C40 48 00 00 2D */ bl J2DTexMtx_NS_getTextureMtx
/* 802E9D04 002E6C44 48 00 00 18 */ b lbl_802E9D1C
lbl_802E9D08:
/* 802E9D08 002E6C48 28 00 00 01 */ cmplwi r0, 1
/* 802E9D0C 002E6C4C 40 82 00 10 */ bne lbl_802E9D1C
/* 802E9D10 002E6C50 38 83 00 10 */ addi r4, r3, 0x10
/* 802E9D14 002E6C54 38 A3 00 24 */ addi r5, r3, 0x24
/* 802E9D18 002E6C58 48 00 01 A5 */ bl J2DTexMtx_NS_getTextureMtxMaya
lbl_802E9D1C:
/* 802E9D1C 002E6C5C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802E9D20 002E6C60 7C 08 03 A6 */ mtlr r0
/* 802E9D24 002E6C64 38 21 00 20 */ addi r1, r1, 0x20
/* 802E9D28 002E6C68 4E 80 00 20 */ blr
.global J2DTexMtx_NS_getTextureMtx
J2DTexMtx_NS_getTextureMtx:
/* 802E9D2C 002E6C6C 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 802E9D30 002E6C70 7C 08 02 A6 */ mflr r0
/* 802E9D34 002E6C74 90 01 00 44 */ stw r0, 0x44(r1)
/* 802E9D38 002E6C78 DB E1 00 30 */ stfd f31, 0x30(r1)
/* 802E9D3C 002E6C7C F3 E1 00 38 */ psq_st f31, 56(r1), 0, qr0
/* 802E9D40 002E6C80 DB C1 00 20 */ stfd f30, 0x20(r1)
/* 802E9D44 002E6C84 F3 C1 00 28 */ psq_st f30, 40(r1), 0, qr0
/* 802E9D48 002E6C88 39 61 00 20 */ addi r11, r1, 0x20
/* 802E9D4C 002E6C8C 48 07 84 91 */ bl func_803621DC
/* 802E9D50 002E6C90 7C 9D 23 78 */ mr r29, r4
/* 802E9D54 002E6C94 7C BE 2B 78 */ mr r30, r5
/* 802E9D58 002E6C98 7C DF 33 78 */ mr r31, r6
/* 802E9D5C 002E6C9C C0 22 C7 68 */ lfs f1, lbl_80456168-_SDA2_BASE_(r2)
/* 802E9D60 002E6CA0 C0 04 00 08 */ lfs f0, 8(r4)
/* 802E9D64 002E6CA4 EC 21 00 32 */ fmuls f1, f1, f0
/* 802E9D68 002E6CA8 C0 02 C7 6C */ lfs f0, lbl_8045616C-_SDA2_BASE_(r2)
/* 802E9D6C 002E6CAC EF E1 00 24 */ fdivs f31, f1, f0
/* 802E9D70 002E6CB0 FC 20 F8 90 */ fmr f1, f31
/* 802E9D74 002E6CB4 48 08 22 B5 */ bl func_8036C028
/* 802E9D78 002E6CB8 FC 20 08 18 */ frsp f1, f1
/* 802E9D7C 002E6CBC C0 1D 00 00 */ lfs f0, 0(r29)
/* 802E9D80 002E6CC0 EC 00 00 72 */ fmuls f0, f0, f1
/* 802E9D84 002E6CC4 D0 1F 00 00 */ stfs f0, 0(r31)
/* 802E9D88 002E6CC8 FC 20 F8 90 */ fmr f1, f31
/* 802E9D8C 002E6CCC 48 08 28 05 */ bl func_8036C590
/* 802E9D90 002E6CD0 FC 20 08 18 */ frsp f1, f1
/* 802E9D94 002E6CD4 C0 1D 00 00 */ lfs f0, 0(r29)
/* 802E9D98 002E6CD8 FC 00 00 50 */ fneg f0, f0
/* 802E9D9C 002E6CDC EC 00 00 72 */ fmuls f0, f0, f1
/* 802E9DA0 002E6CE0 D0 1F 00 04 */ stfs f0, 4(r31)
/* 802E9DA4 002E6CE4 C0 02 C7 70 */ lfs f0, lbl_80456170-_SDA2_BASE_(r2)
/* 802E9DA8 002E6CE8 D0 1F 00 08 */ stfs f0, 8(r31)
/* 802E9DAC 002E6CEC FC 20 F8 90 */ fmr f1, f31
/* 802E9DB0 002E6CF0 48 08 27 E1 */ bl func_8036C590
/* 802E9DB4 002E6CF4 FF C0 08 18 */ frsp f30, f1
/* 802E9DB8 002E6CF8 FC 20 F8 90 */ fmr f1, f31
/* 802E9DBC 002E6CFC 48 08 22 6D */ bl func_8036C028
/* 802E9DC0 002E6D00 FC 20 08 18 */ frsp f1, f1
/* 802E9DC4 002E6D04 C0 7D 00 0C */ lfs f3, 0xc(r29)
/* 802E9DC8 002E6D08 C0 BE 00 00 */ lfs f5, 0(r30)
/* 802E9DCC 002E6D0C C0 9D 00 00 */ lfs f4, 0(r29)
/* 802E9DD0 002E6D10 FC 00 20 50 */ fneg f0, f4
/* 802E9DD4 002E6D14 EC 00 00 72 */ fmuls f0, f0, f1
/* 802E9DD8 002E6D18 EC 45 00 32 */ fmuls f2, f5, f0
/* 802E9DDC 002E6D1C C0 3E 00 04 */ lfs f1, 4(r30)
/* 802E9DE0 002E6D20 EC 04 07 B2 */ fmuls f0, f4, f30
/* 802E9DE4 002E6D24 EC 01 00 32 */ fmuls f0, f1, f0
/* 802E9DE8 002E6D28 EC 02 00 2A */ fadds f0, f2, f0
/* 802E9DEC 002E6D2C EC 05 00 2A */ fadds f0, f5, f0
/* 802E9DF0 002E6D30 EC 03 00 2A */ fadds f0, f3, f0
/* 802E9DF4 002E6D34 D0 1F 00 0C */ stfs f0, 0xc(r31)
/* 802E9DF8 002E6D38 FC 20 F8 90 */ fmr f1, f31
/* 802E9DFC 002E6D3C 48 08 27 95 */ bl func_8036C590
/* 802E9E00 002E6D40 FC 20 08 18 */ frsp f1, f1
/* 802E9E04 002E6D44 C0 1D 00 04 */ lfs f0, 4(r29)
/* 802E9E08 002E6D48 EC 00 00 72 */ fmuls f0, f0, f1
/* 802E9E0C 002E6D4C D0 1F 00 10 */ stfs f0, 0x10(r31)
/* 802E9E10 002E6D50 FC 20 F8 90 */ fmr f1, f31
/* 802E9E14 002E6D54 48 08 22 15 */ bl func_8036C028
/* 802E9E18 002E6D58 FC 20 08 18 */ frsp f1, f1
/* 802E9E1C 002E6D5C C0 1D 00 04 */ lfs f0, 4(r29)
/* 802E9E20 002E6D60 EC 00 00 72 */ fmuls f0, f0, f1
/* 802E9E24 002E6D64 D0 1F 00 14 */ stfs f0, 0x14(r31)
/* 802E9E28 002E6D68 C0 02 C7 70 */ lfs f0, lbl_80456170-_SDA2_BASE_(r2)
/* 802E9E2C 002E6D6C D0 1F 00 18 */ stfs f0, 0x18(r31)
/* 802E9E30 002E6D70 FC 20 F8 90 */ fmr f1, f31
/* 802E9E34 002E6D74 48 08 21 F5 */ bl func_8036C028
/* 802E9E38 002E6D78 FF C0 08 18 */ frsp f30, f1
/* 802E9E3C 002E6D7C FC 20 F8 90 */ fmr f1, f31
/* 802E9E40 002E6D80 48 08 27 51 */ bl func_8036C590
/* 802E9E44 002E6D84 FC 60 08 18 */ frsp f3, f1
/* 802E9E48 002E6D88 C0 5D 00 10 */ lfs f2, 0x10(r29)
/* 802E9E4C 002E6D8C C0 BE 00 04 */ lfs f5, 4(r30)
/* 802E9E50 002E6D90 C0 9D 00 04 */ lfs f4, 4(r29)
/* 802E9E54 002E6D94 C0 3E 00 00 */ lfs f1, 0(r30)
/* 802E9E58 002E6D98 FC 00 20 50 */ fneg f0, f4
/* 802E9E5C 002E6D9C EC 00 00 F2 */ fmuls f0, f0, f3
/* 802E9E60 002E6DA0 EC 21 00 32 */ fmuls f1, f1, f0
/* 802E9E64 002E6DA4 EC 04 07 B2 */ fmuls f0, f4, f30
/* 802E9E68 002E6DA8 EC 05 00 32 */ fmuls f0, f5, f0
/* 802E9E6C 002E6DAC EC 01 00 28 */ fsubs f0, f1, f0
/* 802E9E70 002E6DB0 EC 05 00 2A */ fadds f0, f5, f0
/* 802E9E74 002E6DB4 EC 02 00 2A */ fadds f0, f2, f0
/* 802E9E78 002E6DB8 D0 1F 00 1C */ stfs f0, 0x1c(r31)
/* 802E9E7C 002E6DBC C0 22 C7 70 */ lfs f1, lbl_80456170-_SDA2_BASE_(r2)
/* 802E9E80 002E6DC0 D0 3F 00 20 */ stfs f1, 0x20(r31)
/* 802E9E84 002E6DC4 D0 3F 00 24 */ stfs f1, 0x24(r31)
/* 802E9E88 002E6DC8 C0 02 C7 74 */ lfs f0, lbl_80456174-_SDA2_BASE_(r2)
/* 802E9E8C 002E6DCC D0 1F 00 28 */ stfs f0, 0x28(r31)
/* 802E9E90 002E6DD0 D0 3F 00 2C */ stfs f1, 0x2c(r31)
/* 802E9E94 002E6DD4 E3 E1 00 38 */ psq_l f31, 56(r1), 0, qr0
/* 802E9E98 002E6DD8 CB E1 00 30 */ lfd f31, 0x30(r1)
/* 802E9E9C 002E6DDC E3 C1 00 28 */ psq_l f30, 40(r1), 0, qr0
/* 802E9EA0 002E6DE0 CB C1 00 20 */ lfd f30, 0x20(r1)
/* 802E9EA4 002E6DE4 39 61 00 20 */ addi r11, r1, 0x20
/* 802E9EA8 002E6DE8 48 07 83 81 */ bl func_80362228
/* 802E9EAC 002E6DEC 80 01 00 44 */ lwz r0, 0x44(r1)
/* 802E9EB0 002E6DF0 7C 08 03 A6 */ mtlr r0
/* 802E9EB4 002E6DF4 38 21 00 40 */ addi r1, r1, 0x40
/* 802E9EB8 002E6DF8 4E 80 00 20 */ blr
.global J2DTexMtx_NS_getTextureMtxMaya
J2DTexMtx_NS_getTextureMtxMaya:
/* 802E9EBC 002E6DFC 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 802E9EC0 002E6E00 7C 08 02 A6 */ mflr r0
/* 802E9EC4 002E6E04 90 01 00 34 */ stw r0, 0x34(r1)
/* 802E9EC8 002E6E08 DB E1 00 20 */ stfd f31, 0x20(r1)
/* 802E9ECC 002E6E0C F3 E1 00 28 */ psq_st f31, 40(r1), 0, qr0
/* 802E9ED0 002E6E10 DB C1 00 10 */ stfd f30, 0x10(r1)
/* 802E9ED4 002E6E14 F3 C1 00 18 */ psq_st f30, 24(r1), 0, qr0
/* 802E9ED8 002E6E18 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802E9EDC 002E6E1C 93 C1 00 08 */ stw r30, 8(r1)
/* 802E9EE0 002E6E20 7C 9E 23 78 */ mr r30, r4
/* 802E9EE4 002E6E24 7C BF 2B 78 */ mr r31, r5
/* 802E9EE8 002E6E28 C0 22 C7 68 */ lfs f1, lbl_80456168-_SDA2_BASE_(r2)
/* 802E9EEC 002E6E2C C0 04 00 08 */ lfs f0, 8(r4)
/* 802E9EF0 002E6E30 EC 21 00 32 */ fmuls f1, f1, f0
/* 802E9EF4 002E6E34 C0 02 C7 6C */ lfs f0, lbl_8045616C-_SDA2_BASE_(r2)
/* 802E9EF8 002E6E38 EF E1 00 24 */ fdivs f31, f1, f0
/* 802E9EFC 002E6E3C FC 20 F8 90 */ fmr f1, f31
/* 802E9F00 002E6E40 48 08 21 29 */ bl func_8036C028
/* 802E9F04 002E6E44 FC 20 08 18 */ frsp f1, f1
/* 802E9F08 002E6E48 C0 1E 00 00 */ lfs f0, 0(r30)
/* 802E9F0C 002E6E4C EC 00 00 72 */ fmuls f0, f0, f1
/* 802E9F10 002E6E50 D0 1F 00 00 */ stfs f0, 0(r31)
/* 802E9F14 002E6E54 FC 20 F8 90 */ fmr f1, f31
/* 802E9F18 002E6E58 48 08 26 79 */ bl func_8036C590
/* 802E9F1C 002E6E5C FC 20 08 18 */ frsp f1, f1
/* 802E9F20 002E6E60 C0 1E 00 04 */ lfs f0, 4(r30)
/* 802E9F24 002E6E64 EC 00 00 72 */ fmuls f0, f0, f1
/* 802E9F28 002E6E68 D0 1F 00 04 */ stfs f0, 4(r31)
/* 802E9F2C 002E6E6C C0 02 C7 70 */ lfs f0, lbl_80456170-_SDA2_BASE_(r2)
/* 802E9F30 002E6E70 D0 1F 00 08 */ stfs f0, 8(r31)
/* 802E9F34 002E6E74 FC 20 F8 90 */ fmr f1, f31
/* 802E9F38 002E6E78 48 08 26 59 */ bl func_8036C590
/* 802E9F3C 002E6E7C FF C0 08 18 */ frsp f30, f1
/* 802E9F40 002E6E80 FC 20 F8 90 */ fmr f1, f31
/* 802E9F44 002E6E84 48 08 20 E5 */ bl func_8036C028
/* 802E9F48 002E6E88 FC 20 08 18 */ frsp f1, f1
/* 802E9F4C 002E6E8C C0 62 C7 78 */ lfs f3, lbl_80456178-_SDA2_BASE_(r2)
/* 802E9F50 002E6E90 C0 1E 00 0C */ lfs f0, 0xc(r30)
/* 802E9F54 002E6E94 EC 00 18 28 */ fsubs f0, f0, f3
/* 802E9F58 002E6E98 EC 40 00 72 */ fmuls f2, f0, f1
/* 802E9F5C 002E6E9C C0 1E 00 10 */ lfs f0, 0x10(r30)
/* 802E9F60 002E6EA0 EC 20 18 28 */ fsubs f1, f0, f3
/* 802E9F64 002E6EA4 C0 1E 00 04 */ lfs f0, 4(r30)
/* 802E9F68 002E6EA8 EC 01 00 2A */ fadds f0, f1, f0
/* 802E9F6C 002E6EAC EC 00 07 B2 */ fmuls f0, f0, f30
/* 802E9F70 002E6EB0 EC 02 00 28 */ fsubs f0, f2, f0
/* 802E9F74 002E6EB4 EC 03 00 2A */ fadds f0, f3, f0
/* 802E9F78 002E6EB8 D0 1F 00 0C */ stfs f0, 0xc(r31)
/* 802E9F7C 002E6EBC FC 20 F8 90 */ fmr f1, f31
/* 802E9F80 002E6EC0 48 08 26 11 */ bl func_8036C590
/* 802E9F84 002E6EC4 FC 20 08 18 */ frsp f1, f1
/* 802E9F88 002E6EC8 C0 1E 00 00 */ lfs f0, 0(r30)
/* 802E9F8C 002E6ECC FC 00 00 50 */ fneg f0, f0
/* 802E9F90 002E6ED0 EC 00 00 72 */ fmuls f0, f0, f1
/* 802E9F94 002E6ED4 D0 1F 00 10 */ stfs f0, 0x10(r31)
/* 802E9F98 002E6ED8 FC 20 F8 90 */ fmr f1, f31
/* 802E9F9C 002E6EDC 48 08 20 8D */ bl func_8036C028
/* 802E9FA0 002E6EE0 FC 20 08 18 */ frsp f1, f1
/* 802E9FA4 002E6EE4 C0 1E 00 04 */ lfs f0, 4(r30)
/* 802E9FA8 002E6EE8 EC 00 00 72 */ fmuls f0, f0, f1
/* 802E9FAC 002E6EEC D0 1F 00 14 */ stfs f0, 0x14(r31)
/* 802E9FB0 002E6EF0 C0 02 C7 70 */ lfs f0, lbl_80456170-_SDA2_BASE_(r2)
/* 802E9FB4 002E6EF4 D0 1F 00 18 */ stfs f0, 0x18(r31)
/* 802E9FB8 002E6EF8 FC 20 F8 90 */ fmr f1, f31
/* 802E9FBC 002E6EFC 48 08 20 6D */ bl func_8036C028
/* 802E9FC0 002E6F00 FF C0 08 18 */ frsp f30, f1
/* 802E9FC4 002E6F04 FC 20 F8 90 */ fmr f1, f31
/* 802E9FC8 002E6F08 48 08 25 C9 */ bl func_8036C590
/* 802E9FCC 002E6F0C FC 20 08 18 */ frsp f1, f1
/* 802E9FD0 002E6F10 C0 62 C7 78 */ lfs f3, lbl_80456178-_SDA2_BASE_(r2)
/* 802E9FD4 002E6F14 C0 1E 00 0C */ lfs f0, 0xc(r30)
/* 802E9FD8 002E6F18 EC 00 18 28 */ fsubs f0, f0, f3
/* 802E9FDC 002E6F1C FC 00 00 50 */ fneg f0, f0
/* 802E9FE0 002E6F20 EC 40 00 72 */ fmuls f2, f0, f1
/* 802E9FE4 002E6F24 C0 1E 00 10 */ lfs f0, 0x10(r30)
/* 802E9FE8 002E6F28 EC 20 18 28 */ fsubs f1, f0, f3
/* 802E9FEC 002E6F2C C0 1E 00 04 */ lfs f0, 4(r30)
/* 802E9FF0 002E6F30 EC 01 00 2A */ fadds f0, f1, f0
/* 802E9FF4 002E6F34 EC 00 07 B2 */ fmuls f0, f0, f30
/* 802E9FF8 002E6F38 EC 02 00 28 */ fsubs f0, f2, f0
/* 802E9FFC 002E6F3C EC 03 00 2A */ fadds f0, f3, f0
/* 802EA000 002E6F40 D0 1F 00 1C */ stfs f0, 0x1c(r31)
/* 802EA004 002E6F44 C0 22 C7 70 */ lfs f1, lbl_80456170-_SDA2_BASE_(r2)
/* 802EA008 002E6F48 D0 3F 00 20 */ stfs f1, 0x20(r31)
/* 802EA00C 002E6F4C D0 3F 00 24 */ stfs f1, 0x24(r31)
/* 802EA010 002E6F50 C0 02 C7 74 */ lfs f0, lbl_80456174-_SDA2_BASE_(r2)
/* 802EA014 002E6F54 D0 1F 00 28 */ stfs f0, 0x28(r31)
/* 802EA018 002E6F58 D0 3F 00 2C */ stfs f1, 0x2c(r31)
/* 802EA01C 002E6F5C E3 E1 00 28 */ psq_l f31, 40(r1), 0, qr0
/* 802EA020 002E6F60 CB E1 00 20 */ lfd f31, 0x20(r1)
/* 802EA024 002E6F64 E3 C1 00 18 */ psq_l f30, 24(r1), 0, qr0
/* 802EA028 002E6F68 CB C1 00 10 */ lfd f30, 0x10(r1)
/* 802EA02C 002E6F6C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802EA030 002E6F70 83 C1 00 08 */ lwz r30, 8(r1)
/* 802EA034 002E6F74 80 01 00 34 */ lwz r0, 0x34(r1)
/* 802EA038 002E6F78 7C 08 03 A6 */ mtlr r0
/* 802EA03C 002E6F7C 38 21 00 30 */ addi r1, r1, 0x30
/* 802EA040 002E6F80 4E 80 00 20 */ blr
.global J2DIndTevStage_NS_load
J2DIndTevStage_NS_load:
/* 802EA044 002E6F84 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802EA048 002E6F88 7C 08 02 A6 */ mflr r0
/* 802EA04C 002E6F8C 90 01 00 14 */ stw r0, 0x14(r1)
/* 802EA050 002E6F90 81 43 00 00 */ lwz r10, 0(r3)
/* 802EA054 002E6F94 55 40 5F FE */ rlwinm r0, r10, 0xb, 0x1f, 0x1f
/* 802EA058 002E6F98 90 01 00 08 */ stw r0, 8(r1)
/* 802EA05C 002E6F9C 55 40 57 BE */ rlwinm r0, r10, 0xa, 0x1e, 0x1f
/* 802EA060 002E6FA0 90 01 00 0C */ stw r0, 0xc(r1)
/* 802EA064 002E6FA4 54 83 06 3E */ clrlwi r3, r4, 0x18
/* 802EA068 002E6FA8 55 44 07 BE */ clrlwi r4, r10, 0x1e
/* 802EA06C 002E6FAC 55 45 F7 BE */ rlwinm r5, r10, 0x1e, 0x1e, 0x1f
/* 802EA070 002E6FB0 55 46 E7 7E */ rlwinm r6, r10, 0x1c, 0x1d, 0x1f
/* 802EA074 002E6FB4 55 47 87 3E */ rlwinm r7, r10, 0x10, 0x1c, 0x1f
/* 802EA078 002E6FB8 55 48 C7 7E */ rlwinm r8, r10, 0x18, 0x1d, 0x1f
/* 802EA07C 002E6FBC 55 49 AF 7E */ rlwinm r9, r10, 0x15, 0x1d, 0x1f
/* 802EA080 002E6FC0 55 4A 67 FE */ rlwinm r10, r10, 0xc, 0x1f, 0x1f
/* 802EA084 002E6FC4 48 07 4C 3D */ bl GXSetTevIndirect
/* 802EA088 002E6FC8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802EA08C 002E6FCC 7C 08 03 A6 */ mtlr r0
/* 802EA090 002E6FD0 38 21 00 10 */ addi r1, r1, 0x10
/* 802EA094 002E6FD4 4E 80 00 20 */ blr
.global J2DIndTexMtx_NS_load
J2DIndTexMtx_NS_load:
/* 802EA098 002E6FD8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802EA09C 002E6FDC 7C 08 02 A6 */ mflr r0
/* 802EA0A0 002E6FE0 90 01 00 14 */ stw r0, 0x14(r1)
/* 802EA0A4 002E6FE4 7C 65 1B 78 */ mr r5, r3
/* 802EA0A8 002E6FE8 54 83 06 3E */ clrlwi r3, r4, 0x18
/* 802EA0AC 002E6FEC 38 63 00 01 */ addi r3, r3, 1
/* 802EA0B0 002E6FF0 7C A4 2B 78 */ mr r4, r5
/* 802EA0B4 002E6FF4 88 A5 00 18 */ lbz r5, 0x18(r5)
/* 802EA0B8 002E6FF8 48 07 4C 75 */ bl GXSetIndTexMtx
/* 802EA0BC 002E6FFC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802EA0C0 002E7000 7C 08 03 A6 */ mtlr r0
/* 802EA0C4 002E7004 38 21 00 10 */ addi r1, r1, 0x10
/* 802EA0C8 002E7008 4E 80 00 20 */ blr
.global J2DIndTexCoordScale_NS_load
J2DIndTexCoordScale_NS_load:
/* 802EA0CC 002E700C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802EA0D0 002E7010 7C 08 02 A6 */ mflr r0
/* 802EA0D4 002E7014 90 01 00 14 */ stw r0, 0x14(r1)
/* 802EA0D8 002E7018 7C 65 1B 78 */ mr r5, r3
/* 802EA0DC 002E701C 54 83 06 3E */ clrlwi r3, r4, 0x18
/* 802EA0E0 002E7020 88 85 00 00 */ lbz r4, 0(r5)
/* 802EA0E4 002E7024 88 A5 00 01 */ lbz r5, 1(r5)
/* 802EA0E8 002E7028 48 07 4D BD */ bl GXSetIndTexCoordScale
/* 802EA0EC 002E702C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802EA0F0 002E7030 7C 08 03 A6 */ mtlr r0
/* 802EA0F4 002E7034 38 21 00 10 */ addi r1, r1, 0x10
/* 802EA0F8 002E7038 4E 80 00 20 */ blr
.global J2DIndTexOrder_NS_load
J2DIndTexOrder_NS_load:
/* 802EA0FC 002E703C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802EA100 002E7040 7C 08 02 A6 */ mflr r0
/* 802EA104 002E7044 90 01 00 14 */ stw r0, 0x14(r1)
/* 802EA108 002E7048 7C 65 1B 78 */ mr r5, r3
/* 802EA10C 002E704C 54 83 06 3E */ clrlwi r3, r4, 0x18
/* 802EA110 002E7050 88 85 00 00 */ lbz r4, 0(r5)
/* 802EA114 002E7054 88 A5 00 01 */ lbz r5, 1(r5)
/* 802EA118 002E7058 48 07 4E D1 */ bl GXSetIndTexOrder
/* 802EA11C 002E705C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802EA120 002E7060 7C 08 03 A6 */ mtlr r0
/* 802EA124 002E7064 38 21 00 10 */ addi r1, r1, 0x10
/* 802EA128 002E7068 4E 80 00 20 */ blr
/* 802EA12C 002E706C 38 60 00 00 */ li r3, 0
/* 802EA130 002E7070 4E 80 00 20 */ blr
/* 802EA134 002E7074 38 60 00 00 */ li r3, 0
/* 802EA138 002E7078 4E 80 00 20 */ blr
/* 802EA13C 002E707C 38 60 00 00 */ li r3, 0
/* 802EA140 002E7080 4E 80 00 20 */ blr
/* 802EA144 002E7084 38 60 00 00 */ li r3, 0
/* 802EA148 002E7088 4E 80 00 20 */ blr
/* 802EA14C 002E708C 38 60 00 00 */ li r3, 0
/* 802EA150 002E7090 4E 80 00 20 */ blr
/* 802EA154 002E7094 38 60 00 00 */ li r3, 0
/* 802EA158 002E7098 4E 80 00 20 */ blr
/* 802EA15C 002E709C 38 60 00 00 */ li r3, 0
/* 802EA160 002E70A0 4E 80 00 20 */ blr
/* 802EA164 002E70A4 3C 60 00 01 */ lis r3, 0x0000FFFF@ha
/* 802EA168 002E70A8 38 63 FF FF */ addi r3, r3, 0x0000FFFF@l
/* 802EA16C 002E70AC 4E 80 00 20 */ blr
/* 802EA170 002E70B0 3C 60 00 01 */ lis r3, 0x0000FFFF@ha
/* 802EA174 002E70B4 38 63 FF FF */ addi r3, r3, 0x0000FFFF@l
/* 802EA178 002E70B8 4E 80 00 20 */ blr
/* 802EA17C 002E70BC 38 60 00 01 */ li r3, 1
/* 802EA180 002E70C0 4E 80 00 20 */ blr
/* 802EA184 002E70C4 38 60 00 00 */ li r3, 0
/* 802EA188 002E70C8 4E 80 00 20 */ blr
/* 802EA18C 002E70CC 38 60 00 00 */ li r3, 0
/* 802EA190 002E70D0 4E 80 00 20 */ blr
/* 802EA194 002E70D4 38 60 00 00 */ li r3, 0
/* 802EA198 002E70D8 4E 80 00 20 */ blr
/* 802EA19C 002E70DC 38 60 00 00 */ li r3, 0
/* 802EA1A0 002E70E0 4E 80 00 20 */ blr
/* 802EA1A4 002E70E4 38 60 00 00 */ li r3, 0
/* 802EA1A8 002E70E8 4E 80 00 20 */ blr

1520
asm/J2DGraph/J2DTextBox.s Normal file

File diff suppressed because it is too large Load Diff

1678
asm/J2DGraph/J2DTextBoxEx.s Normal file

File diff suppressed because it is too large Load Diff

2525
asm/J2DGraph/J2DWindow.s Normal file

File diff suppressed because it is too large Load Diff

2842
asm/J2DGraph/J2DWindowEx.s Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,740 @@
.include "macros.inc"
.section .text, "ax" # 8032e1f8
.global J3DDeformData
J3DDeformData:
/* 8032E1F8 0032B138 38 00 00 00 */ li r0, 0
/* 8032E1FC 0032B13C B0 03 00 00 */ sth r0, 0(r3)
/* 8032E200 0032B140 B0 03 00 02 */ sth r0, 2(r3)
/* 8032E204 0032B144 B0 03 00 04 */ sth r0, 4(r3)
/* 8032E208 0032B148 90 03 00 08 */ stw r0, 8(r3)
/* 8032E20C 0032B14C 90 03 00 0C */ stw r0, 0xc(r3)
/* 8032E210 0032B150 90 03 00 10 */ stw r0, 0x10(r3)
/* 8032E214 0032B154 B0 03 00 14 */ sth r0, 0x14(r3)
/* 8032E218 0032B158 B0 03 00 16 */ sth r0, 0x16(r3)
/* 8032E21C 0032B15C 90 03 00 18 */ stw r0, 0x18(r3)
/* 8032E220 0032B160 90 03 00 1C */ stw r0, 0x1c(r3)
/* 8032E224 0032B164 90 03 00 20 */ stw r0, 0x20(r3)
/* 8032E228 0032B168 90 03 00 24 */ stw r0, 0x24(r3)
/* 8032E22C 0032B16C 4E 80 00 20 */ blr
.global J3DDeformData_NS_offAllFlag
J3DDeformData_NS_offAllFlag:
/* 8032E230 0032B170 38 E0 00 00 */ li r7, 0
/* 8032E234 0032B174 7C 86 20 F8 */ nor r6, r4, r4
/* 8032E238 0032B178 48 00 00 28 */ b lbl_8032E260
lbl_8032E23C:
/* 8032E23C 0032B17C 80 A3 00 08 */ lwz r5, 8(r3)
/* 8032E240 0032B180 54 E0 04 3E */ clrlwi r0, r7, 0x10
/* 8032E244 0032B184 1C 80 00 24 */ mulli r4, r0, 0x24
/* 8032E248 0032B188 38 04 00 20 */ addi r0, r4, 0x20
/* 8032E24C 0032B18C 7C 85 00 2E */ lwzx r4, r5, r0
/* 8032E250 0032B190 80 04 00 10 */ lwz r0, 0x10(r4)
/* 8032E254 0032B194 7C 00 30 38 */ and r0, r0, r6
/* 8032E258 0032B198 90 04 00 10 */ stw r0, 0x10(r4)
/* 8032E25C 0032B19C 38 E7 00 01 */ addi r7, r7, 1
lbl_8032E260:
/* 8032E260 0032B1A0 54 E4 04 3E */ clrlwi r4, r7, 0x10
/* 8032E264 0032B1A4 A0 03 00 00 */ lhz r0, 0(r3)
/* 8032E268 0032B1A8 7C 04 00 40 */ cmplw r4, r0
/* 8032E26C 0032B1AC 41 80 FF D0 */ blt lbl_8032E23C
/* 8032E270 0032B1B0 4E 80 00 20 */ blr
.global J3DDeformData_NS_deform
J3DDeformData_NS_deform:
/* 8032E274 0032B1B4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8032E278 0032B1B8 7C 08 02 A6 */ mflr r0
/* 8032E27C 0032B1BC 90 01 00 14 */ stw r0, 0x14(r1)
/* 8032E280 0032B1C0 38 84 00 88 */ addi r4, r4, 0x88
/* 8032E284 0032B1C4 48 00 00 15 */ bl J3DDeformData_NS_deform_X1_
/* 8032E288 0032B1C8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8032E28C 0032B1CC 7C 08 03 A6 */ mtlr r0
/* 8032E290 0032B1D0 38 21 00 10 */ addi r1, r1, 0x10
/* 8032E294 0032B1D4 4E 80 00 20 */ blr
.global J3DDeformData_NS_deform_X1_
J3DDeformData_NS_deform_X1_:
/* 8032E298 0032B1D8 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8032E29C 0032B1DC 7C 08 02 A6 */ mflr r0
/* 8032E2A0 0032B1E0 90 01 00 24 */ stw r0, 0x24(r1)
/* 8032E2A4 0032B1E4 39 61 00 20 */ addi r11, r1, 0x20
/* 8032E2A8 0032B1E8 48 03 3F 35 */ bl func_803621DC
/* 8032E2AC 0032B1EC 7C 7D 1B 78 */ mr r29, r3
/* 8032E2B0 0032B1F0 7C 9F 23 78 */ mr r31, r4
/* 8032E2B4 0032B1F4 80 64 00 04 */ lwz r3, 4(r4)
/* 8032E2B8 0032B1F8 80 04 00 08 */ lwz r0, 8(r4)
/* 8032E2BC 0032B1FC 90 04 00 04 */ stw r0, 4(r4)
/* 8032E2C0 0032B200 90 64 00 08 */ stw r3, 8(r4)
/* 8032E2C4 0032B204 80 64 00 0C */ lwz r3, 0xc(r4)
/* 8032E2C8 0032B208 80 04 00 10 */ lwz r0, 0x10(r4)
/* 8032E2CC 0032B20C 90 04 00 0C */ stw r0, 0xc(r4)
/* 8032E2D0 0032B210 90 64 00 10 */ stw r3, 0x10(r4)
/* 8032E2D4 0032B214 3B C0 00 00 */ li r30, 0
/* 8032E2D8 0032B218 48 00 00 28 */ b lbl_8032E300
lbl_8032E2DC:
/* 8032E2DC 0032B21C 80 9D 00 08 */ lwz r4, 8(r29)
/* 8032E2E0 0032B220 57 C0 04 3E */ clrlwi r0, r30, 0x10
/* 8032E2E4 0032B224 1C 60 00 24 */ mulli r3, r0, 0x24
/* 8032E2E8 0032B228 38 03 00 20 */ addi r0, r3, 0x20
/* 8032E2EC 0032B22C 7C 64 00 2E */ lwzx r3, r4, r0
/* 8032E2F0 0032B230 7F E4 FB 78 */ mr r4, r31
/* 8032E2F4 0032B234 7F C5 F3 78 */ mr r5, r30
/* 8032E2F8 0032B238 48 00 00 C5 */ bl J3DDeformer_NS_deform
/* 8032E2FC 0032B23C 3B DE 00 01 */ addi r30, r30, 1
lbl_8032E300:
/* 8032E300 0032B240 57 C3 04 3E */ clrlwi r3, r30, 0x10
/* 8032E304 0032B244 A0 1D 00 00 */ lhz r0, 0(r29)
/* 8032E308 0032B248 7C 03 00 40 */ cmplw r3, r0
/* 8032E30C 0032B24C 41 80 FF D0 */ blt lbl_8032E2DC
/* 8032E310 0032B250 80 7F 00 00 */ lwz r3, 0(r31)
/* 8032E314 0032B254 80 03 00 00 */ lwz r0, 0(r3)
/* 8032E318 0032B258 80 7F 00 04 */ lwz r3, 4(r31)
/* 8032E31C 0032B25C 1C 80 00 0C */ mulli r4, r0, 0xc
/* 8032E320 0032B260 48 00 D3 19 */ bl DCStoreRangeNoSync
/* 8032E324 0032B264 80 7F 00 00 */ lwz r3, 0(r31)
/* 8032E328 0032B268 80 03 00 04 */ lwz r0, 4(r3)
/* 8032E32C 0032B26C 80 7F 00 0C */ lwz r3, 0xc(r31)
/* 8032E330 0032B270 1C 80 00 0C */ mulli r4, r0, 0xc
/* 8032E334 0032B274 48 00 D3 05 */ bl DCStoreRangeNoSync
/* 8032E338 0032B278 48 00 B9 C1 */ bl PPCSync
/* 8032E33C 0032B27C 80 1F 00 04 */ lwz r0, 4(r31)
/* 8032E340 0032B280 90 1F 00 2C */ stw r0, 0x2c(r31)
/* 8032E344 0032B284 80 1F 00 0C */ lwz r0, 0xc(r31)
/* 8032E348 0032B288 90 1F 00 30 */ stw r0, 0x30(r31)
/* 8032E34C 0032B28C 39 61 00 20 */ addi r11, r1, 0x20
/* 8032E350 0032B290 48 03 3E D9 */ bl func_80362228
/* 8032E354 0032B294 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8032E358 0032B298 7C 08 03 A6 */ mtlr r0
/* 8032E35C 0032B29C 38 21 00 20 */ addi r1, r1, 0x20
/* 8032E360 0032B2A0 4E 80 00 20 */ blr
.global J3DDeformData_NS_setAnm
J3DDeformData_NS_setAnm:
/* 8032E364 0032B2A4 38 E0 00 00 */ li r7, 0
/* 8032E368 0032B2A8 48 00 00 20 */ b lbl_8032E388
lbl_8032E36C:
/* 8032E36C 0032B2AC 80 C3 00 08 */ lwz r6, 8(r3)
/* 8032E370 0032B2B0 54 E0 04 3E */ clrlwi r0, r7, 0x10
/* 8032E374 0032B2B4 1C A0 00 24 */ mulli r5, r0, 0x24
/* 8032E378 0032B2B8 38 05 00 20 */ addi r0, r5, 0x20
/* 8032E37C 0032B2BC 7C A6 00 2E */ lwzx r5, r6, r0
/* 8032E380 0032B2C0 90 85 00 04 */ stw r4, 4(r5)
/* 8032E384 0032B2C4 38 E7 00 01 */ addi r7, r7, 1
lbl_8032E388:
/* 8032E388 0032B2C8 54 E5 04 3E */ clrlwi r5, r7, 0x10
/* 8032E38C 0032B2CC A0 03 00 00 */ lhz r0, 0(r3)
/* 8032E390 0032B2D0 7C 05 00 40 */ cmplw r5, r0
/* 8032E394 0032B2D4 41 80 FF D8 */ blt lbl_8032E36C
/* 8032E398 0032B2D8 4E 80 00 20 */ blr
.global J3DDeformer
J3DDeformer:
/* 8032E39C 0032B2DC 90 83 00 00 */ stw r4, 0(r3)
/* 8032E3A0 0032B2E0 38 00 00 00 */ li r0, 0
/* 8032E3A4 0032B2E4 90 03 00 04 */ stw r0, 4(r3)
/* 8032E3A8 0032B2E8 90 03 00 08 */ stw r0, 8(r3)
/* 8032E3AC 0032B2EC 90 03 00 0C */ stw r0, 0xc(r3)
/* 8032E3B0 0032B2F0 38 00 00 03 */ li r0, 3
/* 8032E3B4 0032B2F4 90 03 00 10 */ stw r0, 0x10(r3)
/* 8032E3B8 0032B2F8 4E 80 00 20 */ blr
.global J3DDeformer_NS_deform
J3DDeformer_NS_deform:
/* 8032E3BC 0032B2FC 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8032E3C0 0032B300 7C 08 02 A6 */ mflr r0
/* 8032E3C4 0032B304 90 01 00 24 */ stw r0, 0x24(r1)
/* 8032E3C8 0032B308 39 61 00 20 */ addi r11, r1, 0x20
/* 8032E3CC 0032B30C 48 03 3E 05 */ bl func_803621D0
/* 8032E3D0 0032B310 7C 7C 1B 78 */ mr r28, r3
/* 8032E3D4 0032B314 7C 9D 23 78 */ mr r29, r4
/* 8032E3D8 0032B318 7C BE 2B 78 */ mr r30, r5
/* 8032E3DC 0032B31C 3B E0 00 00 */ li r31, 0
/* 8032E3E0 0032B320 80 03 00 04 */ lwz r0, 4(r3)
/* 8032E3E4 0032B324 28 00 00 00 */ cmplwi r0, 0
/* 8032E3E8 0032B328 41 82 00 A4 */ beq lbl_8032E48C
/* 8032E3EC 0032B32C 38 A0 00 00 */ li r5, 0
/* 8032E3F0 0032B330 57 C0 04 3E */ clrlwi r0, r30, 0x10
/* 8032E3F4 0032B334 48 00 00 24 */ b lbl_8032E418
lbl_8032E3F8:
/* 8032E3F8 0032B338 80 7C 00 00 */ lwz r3, 0(r28)
/* 8032E3FC 0032B33C 80 83 00 08 */ lwz r4, 8(r3)
/* 8032E400 0032B340 54 A3 04 3E */ clrlwi r3, r5, 0x10
/* 8032E404 0032B344 1C 63 00 24 */ mulli r3, r3, 0x24
/* 8032E408 0032B348 7C 64 1A 14 */ add r3, r4, r3
/* 8032E40C 0032B34C A0 63 00 10 */ lhz r3, 0x10(r3)
/* 8032E410 0032B350 7F FF 1A 14 */ add r31, r31, r3
/* 8032E414 0032B354 38 A5 00 01 */ addi r5, r5, 1
lbl_8032E418:
/* 8032E418 0032B358 54 A3 04 3E */ clrlwi r3, r5, 0x10
/* 8032E41C 0032B35C 7C 03 00 40 */ cmplw r3, r0
/* 8032E420 0032B360 41 80 FF D8 */ blt lbl_8032E3F8
/* 8032E424 0032B364 80 7C 00 00 */ lwz r3, 0(r28)
/* 8032E428 0032B368 80 63 00 08 */ lwz r3, 8(r3)
/* 8032E42C 0032B36C 1C 00 00 24 */ mulli r0, r0, 0x24
/* 8032E430 0032B370 7C 63 02 14 */ add r3, r3, r0
/* 8032E434 0032B374 A3 63 00 10 */ lhz r27, 0x10(r3)
/* 8032E438 0032B378 3B 40 00 00 */ li r26, 0
/* 8032E43C 0032B37C 48 00 00 30 */ b lbl_8032E46C
lbl_8032E440:
/* 8032E440 0032B380 80 7C 00 04 */ lwz r3, 4(r28)
/* 8032E444 0032B384 7F E4 FB 78 */ mr r4, r31
/* 8032E448 0032B388 81 83 00 00 */ lwz r12, 0(r3)
/* 8032E44C 0032B38C 81 8C 00 10 */ lwz r12, 0x10(r12)
/* 8032E450 0032B390 7D 89 03 A6 */ mtctr r12
/* 8032E454 0032B394 3B FF 00 01 */ addi r31, r31, 1
/* 8032E458 0032B398 4E 80 04 21 */ bctrl
/* 8032E45C 0032B39C 80 7C 00 08 */ lwz r3, 8(r28)
/* 8032E460 0032B3A0 57 40 13 BA */ rlwinm r0, r26, 2, 0xe, 0x1d
/* 8032E464 0032B3A4 7C 23 05 2E */ stfsx f1, r3, r0
/* 8032E468 0032B3A8 3B 5A 00 01 */ addi r26, r26, 1
lbl_8032E46C:
/* 8032E46C 0032B3AC 57 40 04 3E */ clrlwi r0, r26, 0x10
/* 8032E470 0032B3B0 7C 00 D8 40 */ cmplw r0, r27
/* 8032E474 0032B3B4 41 80 FF CC */ blt lbl_8032E440
/* 8032E478 0032B3B8 7F 83 E3 78 */ mr r3, r28
/* 8032E47C 0032B3BC 7F A4 EB 78 */ mr r4, r29
/* 8032E480 0032B3C0 7F C5 F3 78 */ mr r5, r30
/* 8032E484 0032B3C4 80 DC 00 08 */ lwz r6, 8(r28)
/* 8032E488 0032B3C8 48 00 06 2D */ bl J3DDeformer_NS_deform_X1_
lbl_8032E48C:
/* 8032E48C 0032B3CC 39 61 00 20 */ addi r11, r1, 0x20
/* 8032E490 0032B3D0 48 03 3D 8D */ bl func_8036221C
/* 8032E494 0032B3D4 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8032E498 0032B3D8 7C 08 03 A6 */ mtlr r0
/* 8032E49C 0032B3DC 38 21 00 20 */ addi r1, r1, 0x20
/* 8032E4A0 0032B3E0 4E 80 00 20 */ blr
.global J3DDeformer_NS_deform_VtxPosF32
J3DDeformer_NS_deform_VtxPosF32:
/* 8032E4A4 0032B3E4 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8032E4A8 0032B3E8 7C 08 02 A6 */ mflr r0
/* 8032E4AC 0032B3EC 90 01 00 24 */ stw r0, 0x24(r1)
/* 8032E4B0 0032B3F0 39 61 00 20 */ addi r11, r1, 0x20
/* 8032E4B4 0032B3F4 48 03 3D 29 */ bl func_803621DC
/* 8032E4B8 0032B3F8 A0 05 00 12 */ lhz r0, 0x12(r5)
/* 8032E4BC 0032B3FC A1 05 00 10 */ lhz r8, 0x10(r5)
/* 8032E4C0 0032B400 80 84 00 04 */ lwz r4, 4(r4)
/* 8032E4C4 0032B404 80 63 00 00 */ lwz r3, 0(r3)
/* 8032E4C8 0032B408 81 43 00 18 */ lwz r10, 0x18(r3)
/* 8032E4CC 0032B40C 81 65 00 18 */ lwz r11, 0x18(r5)
/* 8032E4D0 0032B410 38 60 00 00 */ li r3, 0
/* 8032E4D4 0032B414 C0 02 CA 7C */ lfs f0, lbl_8045647C-_SDA2_BASE_(r2)
/* 8032E4D8 0032B418 7C 09 03 A6 */ mtctr r0
/* 8032E4DC 0032B41C 2C 00 00 00 */ cmpwi r0, 0
/* 8032E4E0 0032B420 40 81 00 28 */ ble lbl_8032E508
lbl_8032E4E4:
/* 8032E4E4 0032B424 7D 2B 1A 2E */ lhzx r9, r11, r3
/* 8032E4E8 0032B428 1D 29 00 03 */ mulli r9, r9, 3
/* 8032E4EC 0032B42C 55 29 10 3A */ slwi r9, r9, 2
/* 8032E4F0 0032B430 7D 24 4A 14 */ add r9, r4, r9
/* 8032E4F4 0032B434 D0 09 00 00 */ stfs f0, 0(r9)
/* 8032E4F8 0032B438 D0 09 00 04 */ stfs f0, 4(r9)
/* 8032E4FC 0032B43C D0 09 00 08 */ stfs f0, 8(r9)
/* 8032E500 0032B440 38 63 00 02 */ addi r3, r3, 2
/* 8032E504 0032B444 42 00 FF E0 */ bdnz lbl_8032E4E4
lbl_8032E508:
/* 8032E508 0032B448 81 22 CA 74 */ lwz r9, lbl_80456474-_SDA2_BASE_(r2)
/* 8032E50C 0032B44C 80 62 CA 78 */ lwz r3, lbl_80456478-_SDA2_BASE_(r2)
/* 8032E510 0032B450 91 21 00 08 */ stw r9, 8(r1)
/* 8032E514 0032B454 90 61 00 0C */ stw r3, 0xc(r1)
/* 8032E518 0032B458 3B E0 00 00 */ li r31, 0
/* 8032E51C 0032B45C 39 21 00 08 */ addi r9, r1, 8
/* 8032E520 0032B460 48 00 00 C8 */ b lbl_8032E5E8
lbl_8032E524:
/* 8032E524 0032B464 80 65 00 18 */ lwz r3, 0x18(r5)
/* 8032E528 0032B468 57 EB 0B FC */ rlwinm r11, r31, 1, 0xf, 0x1e
/* 8032E52C 0032B46C 7C 63 5A 2E */ lhzx r3, r3, r11
/* 8032E530 0032B470 1C 63 00 03 */ mulli r3, r3, 3
/* 8032E534 0032B474 3B C0 00 00 */ li r30, 0
/* 8032E538 0032B478 54 63 10 3A */ slwi r3, r3, 2
/* 8032E53C 0032B47C 7D 84 1A 14 */ add r12, r4, r3
/* 8032E540 0032B480 48 00 00 98 */ b lbl_8032E5D8
lbl_8032E544:
/* 8032E544 0032B484 57 C3 04 3E */ clrlwi r3, r30, 0x10
/* 8032E548 0032B488 1C 63 00 0C */ mulli r3, r3, 0xc
/* 8032E54C 0032B48C 38 63 00 04 */ addi r3, r3, 4
/* 8032E550 0032B490 7C 66 18 2E */ lwzx r3, r6, r3
/* 8032E554 0032B494 7F AB 1A 2E */ lhzx r29, r11, r3
/* 8032E558 0032B498 57 A3 04 DE */ rlwinm r3, r29, 0, 0x13, 0xf
/* 8032E55C 0032B49C 1C 63 00 0C */ mulli r3, r3, 0xc
/* 8032E560 0032B4A0 7C 6A 1A 14 */ add r3, r10, r3
/* 8032E564 0032B4A4 C0 43 00 00 */ lfs f2, 0(r3)
/* 8032E568 0032B4A8 C0 63 00 04 */ lfs f3, 4(r3)
/* 8032E56C 0032B4AC C0 83 00 08 */ lfs f4, 8(r3)
/* 8032E570 0032B4B0 57 A3 9F 7A */ rlwinm r3, r29, 0x13, 0x1d, 0x1d
/* 8032E574 0032B4B4 7C 09 1C 2E */ lfsx f0, r9, r3
/* 8032E578 0032B4B8 EC 42 00 32 */ fmuls f2, f2, f0
/* 8032E57C 0032B4BC 57 A3 A7 7A */ rlwinm r3, r29, 0x14, 0x1d, 0x1d
/* 8032E580 0032B4C0 7C 09 1C 2E */ lfsx f0, r9, r3
/* 8032E584 0032B4C4 EC 63 00 32 */ fmuls f3, f3, f0
/* 8032E588 0032B4C8 57 A3 AF 7A */ rlwinm r3, r29, 0x15, 0x1d, 0x1d
/* 8032E58C 0032B4CC 7C 09 1C 2E */ lfsx f0, r9, r3
/* 8032E590 0032B4D0 EC 84 00 32 */ fmuls f4, f4, f0
/* 8032E594 0032B4D4 C0 2C 00 00 */ lfs f1, 0(r12)
/* 8032E598 0032B4D8 57 C3 13 BA */ rlwinm r3, r30, 2, 0xe, 0x1d
/* 8032E59C 0032B4DC 7C 07 1C 2E */ lfsx f0, r7, r3
/* 8032E5A0 0032B4E0 EC 02 00 32 */ fmuls f0, f2, f0
/* 8032E5A4 0032B4E4 EC 01 00 2A */ fadds f0, f1, f0
/* 8032E5A8 0032B4E8 D0 0C 00 00 */ stfs f0, 0(r12)
/* 8032E5AC 0032B4EC C0 2C 00 04 */ lfs f1, 4(r12)
/* 8032E5B0 0032B4F0 7C 07 1C 2E */ lfsx f0, r7, r3
/* 8032E5B4 0032B4F4 EC 03 00 32 */ fmuls f0, f3, f0
/* 8032E5B8 0032B4F8 EC 01 00 2A */ fadds f0, f1, f0
/* 8032E5BC 0032B4FC D0 0C 00 04 */ stfs f0, 4(r12)
/* 8032E5C0 0032B500 C0 2C 00 08 */ lfs f1, 8(r12)
/* 8032E5C4 0032B504 7C 07 1C 2E */ lfsx f0, r7, r3
/* 8032E5C8 0032B508 EC 04 00 32 */ fmuls f0, f4, f0
/* 8032E5CC 0032B50C EC 01 00 2A */ fadds f0, f1, f0
/* 8032E5D0 0032B510 D0 0C 00 08 */ stfs f0, 8(r12)
/* 8032E5D4 0032B514 3B DE 00 01 */ addi r30, r30, 1
lbl_8032E5D8:
/* 8032E5D8 0032B518 57 C3 04 3E */ clrlwi r3, r30, 0x10
/* 8032E5DC 0032B51C 7C 03 40 00 */ cmpw r3, r8
/* 8032E5E0 0032B520 41 80 FF 64 */ blt lbl_8032E544
/* 8032E5E4 0032B524 3B FF 00 01 */ addi r31, r31, 1
lbl_8032E5E8:
/* 8032E5E8 0032B528 57 E3 04 3E */ clrlwi r3, r31, 0x10
/* 8032E5EC 0032B52C 7C 03 00 00 */ cmpw r3, r0
/* 8032E5F0 0032B530 41 80 FF 34 */ blt lbl_8032E524
/* 8032E5F4 0032B534 39 61 00 20 */ addi r11, r1, 0x20
/* 8032E5F8 0032B538 48 03 3C 31 */ bl func_80362228
/* 8032E5FC 0032B53C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8032E600 0032B540 7C 08 03 A6 */ mtlr r0
/* 8032E604 0032B544 38 21 00 20 */ addi r1, r1, 0x20
/* 8032E608 0032B548 4E 80 00 20 */ blr
.global J3DDeformer_NS_deform_VtxNrmF32
J3DDeformer_NS_deform_VtxNrmF32:
/* 8032E60C 0032B54C 94 21 FF 60 */ stwu r1, -0xa0(r1)
/* 8032E610 0032B550 7C 08 02 A6 */ mflr r0
/* 8032E614 0032B554 90 01 00 A4 */ stw r0, 0xa4(r1)
/* 8032E618 0032B558 DB E1 00 90 */ stfd f31, 0x90(r1)
/* 8032E61C 0032B55C F3 E1 00 98 */ psq_st f31, 152(r1), 0, qr0
/* 8032E620 0032B560 DB C1 00 80 */ stfd f30, 0x80(r1)
/* 8032E624 0032B564 F3 C1 00 88 */ psq_st f30, 136(r1), 0, qr0
/* 8032E628 0032B568 DB A1 00 70 */ stfd f29, 0x70(r1)
/* 8032E62C 0032B56C F3 A1 00 78 */ psq_st f29, 120(r1), 0, qr0
/* 8032E630 0032B570 DB 81 00 60 */ stfd f28, 0x60(r1)
/* 8032E634 0032B574 F3 81 00 68 */ psq_st f28, 104(r1), 0, qr0
/* 8032E638 0032B578 DB 61 00 50 */ stfd f27, 0x50(r1)
/* 8032E63C 0032B57C F3 61 00 58 */ psq_st f27, 88(r1), 0, qr0
/* 8032E640 0032B580 39 61 00 50 */ addi r11, r1, 0x50
/* 8032E644 0032B584 48 03 3B 79 */ bl func_803621BC
/* 8032E648 0032B588 7C BF 2B 78 */ mr r31, r5
/* 8032E64C 0032B58C 7C D6 33 78 */ mr r22, r6
/* 8032E650 0032B590 7C F5 3B 78 */ mr r21, r7
/* 8032E654 0032B594 83 64 00 0C */ lwz r27, 0xc(r4)
/* 8032E658 0032B598 80 83 00 00 */ lwz r4, 0(r3)
/* 8032E65C 0032B59C 83 C4 00 1C */ lwz r30, 0x1c(r4)
/* 8032E660 0032B5A0 83 43 00 0C */ lwz r26, 0xc(r3)
/* 8032E664 0032B5A4 A2 E5 00 10 */ lhz r23, 0x10(r5)
/* 8032E668 0032B5A8 A3 25 00 16 */ lhz r25, 0x16(r5)
/* 8032E66C 0032B5AC 3B 80 00 00 */ li r28, 0
/* 8032E670 0032B5B0 C3 62 CA 7C */ lfs f27, lbl_8045647C-_SDA2_BASE_(r2)
/* 8032E674 0032B5B4 48 00 01 24 */ b lbl_8032E798
lbl_8032E678:
/* 8032E678 0032B5B8 57 80 04 3E */ clrlwi r0, r28, 0x10
/* 8032E67C 0032B5BC 1C 00 00 03 */ mulli r0, r0, 3
/* 8032E680 0032B5C0 54 00 10 3A */ slwi r0, r0, 2
/* 8032E684 0032B5C4 7C 7A 02 14 */ add r3, r26, r0
/* 8032E688 0032B5C8 D3 63 00 00 */ stfs f27, 0(r3)
/* 8032E68C 0032B5CC D3 63 00 04 */ stfs f27, 4(r3)
/* 8032E690 0032B5D0 D3 63 00 08 */ stfs f27, 8(r3)
/* 8032E694 0032B5D4 38 A0 00 00 */ li r5, 0
/* 8032E698 0032B5D8 57 84 0B FC */ rlwinm r4, r28, 1, 0xf, 0x1e
/* 8032E69C 0032B5DC 48 00 00 E4 */ b lbl_8032E780
lbl_8032E6A0:
/* 8032E6A0 0032B5E0 54 A0 04 3E */ clrlwi r0, r5, 0x10
/* 8032E6A4 0032B5E4 1C C0 00 0C */ mulli r6, r0, 0xc
/* 8032E6A8 0032B5E8 38 C6 00 08 */ addi r6, r6, 8
/* 8032E6AC 0032B5EC 7C D6 30 2E */ lwzx r6, r22, r6
/* 8032E6B0 0032B5F0 7C E4 32 2E */ lhzx r7, r4, r6
/* 8032E6B4 0032B5F4 54 E6 04 21 */ rlwinm. r6, r7, 0, 0x10, 0x10
/* 8032E6B8 0032B5F8 41 82 00 18 */ beq lbl_8032E6D0
/* 8032E6BC 0032B5FC 54 E6 04 DE */ rlwinm r6, r7, 0, 0x13, 0xf
/* 8032E6C0 0032B600 1C C6 00 0C */ mulli r6, r6, 0xc
/* 8032E6C4 0032B604 7C 1E 34 2E */ lfsx f0, r30, r6
/* 8032E6C8 0032B608 FC 40 00 50 */ fneg f2, f0
/* 8032E6CC 0032B60C 48 00 00 10 */ b lbl_8032E6DC
lbl_8032E6D0:
/* 8032E6D0 0032B610 54 E6 04 DE */ rlwinm r6, r7, 0, 0x13, 0xf
/* 8032E6D4 0032B614 1C C6 00 0C */ mulli r6, r6, 0xc
/* 8032E6D8 0032B618 7C 5E 34 2E */ lfsx f2, r30, r6
lbl_8032E6DC:
/* 8032E6DC 0032B61C 54 E6 04 63 */ rlwinm. r6, r7, 0, 0x11, 0x11
/* 8032E6E0 0032B620 41 82 00 1C */ beq lbl_8032E6FC
/* 8032E6E4 0032B624 54 E6 04 DE */ rlwinm r6, r7, 0, 0x13, 0xf
/* 8032E6E8 0032B628 1C C6 00 0C */ mulli r6, r6, 0xc
/* 8032E6EC 0032B62C 38 C6 00 04 */ addi r6, r6, 4
/* 8032E6F0 0032B630 7C 1E 34 2E */ lfsx f0, r30, r6
/* 8032E6F4 0032B634 FC 60 00 50 */ fneg f3, f0
/* 8032E6F8 0032B638 48 00 00 14 */ b lbl_8032E70C
lbl_8032E6FC:
/* 8032E6FC 0032B63C 54 E6 04 DE */ rlwinm r6, r7, 0, 0x13, 0xf
/* 8032E700 0032B640 1C C6 00 0C */ mulli r6, r6, 0xc
/* 8032E704 0032B644 38 C6 00 04 */ addi r6, r6, 4
/* 8032E708 0032B648 7C 7E 34 2E */ lfsx f3, r30, r6
lbl_8032E70C:
/* 8032E70C 0032B64C 54 E6 04 A5 */ rlwinm. r6, r7, 0, 0x12, 0x12
/* 8032E710 0032B650 41 82 00 1C */ beq lbl_8032E72C
/* 8032E714 0032B654 54 E6 04 DE */ rlwinm r6, r7, 0, 0x13, 0xf
/* 8032E718 0032B658 1C C6 00 0C */ mulli r6, r6, 0xc
/* 8032E71C 0032B65C 38 C6 00 08 */ addi r6, r6, 8
/* 8032E720 0032B660 7C 1E 34 2E */ lfsx f0, r30, r6
/* 8032E724 0032B664 FC 80 00 50 */ fneg f4, f0
/* 8032E728 0032B668 48 00 00 14 */ b lbl_8032E73C
lbl_8032E72C:
/* 8032E72C 0032B66C 54 E6 04 DE */ rlwinm r6, r7, 0, 0x13, 0xf
/* 8032E730 0032B670 1C C6 00 0C */ mulli r6, r6, 0xc
/* 8032E734 0032B674 38 C6 00 08 */ addi r6, r6, 8
/* 8032E738 0032B678 7C 9E 34 2E */ lfsx f4, r30, r6
lbl_8032E73C:
/* 8032E73C 0032B67C C0 23 00 00 */ lfs f1, 0(r3)
/* 8032E740 0032B680 54 00 10 3A */ slwi r0, r0, 2
/* 8032E744 0032B684 7C 15 04 2E */ lfsx f0, r21, r0
/* 8032E748 0032B688 EC 02 00 32 */ fmuls f0, f2, f0
/* 8032E74C 0032B68C EC 01 00 2A */ fadds f0, f1, f0
/* 8032E750 0032B690 D0 03 00 00 */ stfs f0, 0(r3)
/* 8032E754 0032B694 C0 23 00 04 */ lfs f1, 4(r3)
/* 8032E758 0032B698 7C 15 04 2E */ lfsx f0, r21, r0
/* 8032E75C 0032B69C EC 03 00 32 */ fmuls f0, f3, f0
/* 8032E760 0032B6A0 EC 01 00 2A */ fadds f0, f1, f0
/* 8032E764 0032B6A4 D0 03 00 04 */ stfs f0, 4(r3)
/* 8032E768 0032B6A8 C0 23 00 08 */ lfs f1, 8(r3)
/* 8032E76C 0032B6AC 7C 15 04 2E */ lfsx f0, r21, r0
/* 8032E770 0032B6B0 EC 04 00 32 */ fmuls f0, f4, f0
/* 8032E774 0032B6B4 EC 01 00 2A */ fadds f0, f1, f0
/* 8032E778 0032B6B8 D0 03 00 08 */ stfs f0, 8(r3)
/* 8032E77C 0032B6BC 38 A5 00 01 */ addi r5, r5, 1
lbl_8032E780:
/* 8032E780 0032B6C0 54 A0 04 3E */ clrlwi r0, r5, 0x10
/* 8032E784 0032B6C4 7C 00 B8 40 */ cmplw r0, r23
/* 8032E788 0032B6C8 41 80 FF 18 */ blt lbl_8032E6A0
/* 8032E78C 0032B6CC 7C 64 1B 78 */ mr r4, r3
/* 8032E790 0032B6D0 48 01 89 65 */ bl PSVECNormalize
/* 8032E794 0032B6D4 3B 9C 00 01 */ addi r28, r28, 1
lbl_8032E798:
/* 8032E798 0032B6D8 57 83 04 3E */ clrlwi r3, r28, 0x10
/* 8032E79C 0032B6DC A0 1F 00 14 */ lhz r0, 0x14(r31)
/* 8032E7A0 0032B6E0 7C 03 00 40 */ cmplw r3, r0
/* 8032E7A4 0032B6E4 41 80 FE D4 */ blt lbl_8032E678
/* 8032E7A8 0032B6E8 3B 00 00 00 */ li r24, 0
/* 8032E7AC 0032B6EC C3 A2 CA 7C */ lfs f29, lbl_8045647C-_SDA2_BASE_(r2)
/* 8032E7B0 0032B6F0 C3 C2 CA 70 */ lfs f30, lbl_80456470-_SDA2_BASE_(r2)
/* 8032E7B4 0032B6F4 CB E2 CA 98 */ lfd f31, lbl_80456498-_SDA2_BASE_(r2)
/* 8032E7B8 0032B6F8 3F C0 43 30 */ lis r30, 0x4330
/* 8032E7BC 0032B6FC 48 00 02 AC */ b lbl_8032EA68
lbl_8032E7C0:
/* 8032E7C0 0032B700 80 7F 00 1C */ lwz r3, 0x1c(r31)
/* 8032E7C4 0032B704 57 00 04 3E */ clrlwi r0, r24, 0x10
/* 8032E7C8 0032B708 1C 00 00 0C */ mulli r0, r0, 0xc
/* 8032E7CC 0032B70C 7E E3 02 14 */ add r23, r3, r0
/* 8032E7D0 0032B710 D3 A1 00 08 */ stfs f29, 8(r1)
/* 8032E7D4 0032B714 D3 A1 00 0C */ stfs f29, 0xc(r1)
/* 8032E7D8 0032B718 D3 A1 00 10 */ stfs f29, 0x10(r1)
/* 8032E7DC 0032B71C A0 17 00 00 */ lhz r0, 0(r23)
/* 8032E7E0 0032B720 90 01 00 1C */ stw r0, 0x1c(r1)
/* 8032E7E4 0032B724 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8032E7E8 0032B728 C8 01 00 18 */ lfd f0, 0x18(r1)
/* 8032E7EC 0032B72C EC 00 F8 28 */ fsubs f0, f0, f31
/* 8032E7F0 0032B730 EC 5E 00 24 */ fdivs f2, f30, f0
/* 8032E7F4 0032B734 38 80 00 00 */ li r4, 0
/* 8032E7F8 0032B738 48 00 00 5C */ b lbl_8032E854
lbl_8032E7FC:
/* 8032E7FC 0032B73C 80 77 00 04 */ lwz r3, 4(r23)
/* 8032E800 0032B740 54 80 0B FC */ rlwinm r0, r4, 1, 0xf, 0x1e
/* 8032E804 0032B744 7C 03 02 2E */ lhzx r0, r3, r0
/* 8032E808 0032B748 1C 00 00 03 */ mulli r0, r0, 3
/* 8032E80C 0032B74C C0 21 00 08 */ lfs f1, 8(r1)
/* 8032E810 0032B750 54 00 10 3A */ slwi r0, r0, 2
/* 8032E814 0032B754 7C 7A 02 14 */ add r3, r26, r0
/* 8032E818 0032B758 C0 03 00 00 */ lfs f0, 0(r3)
/* 8032E81C 0032B75C EC 02 00 32 */ fmuls f0, f2, f0
/* 8032E820 0032B760 EC 01 00 2A */ fadds f0, f1, f0
/* 8032E824 0032B764 D0 01 00 08 */ stfs f0, 8(r1)
/* 8032E828 0032B768 C0 21 00 0C */ lfs f1, 0xc(r1)
/* 8032E82C 0032B76C C0 03 00 04 */ lfs f0, 4(r3)
/* 8032E830 0032B770 EC 02 00 32 */ fmuls f0, f2, f0
/* 8032E834 0032B774 EC 01 00 2A */ fadds f0, f1, f0
/* 8032E838 0032B778 D0 01 00 0C */ stfs f0, 0xc(r1)
/* 8032E83C 0032B77C C0 21 00 10 */ lfs f1, 0x10(r1)
/* 8032E840 0032B780 C0 03 00 08 */ lfs f0, 8(r3)
/* 8032E844 0032B784 EC 02 00 32 */ fmuls f0, f2, f0
/* 8032E848 0032B788 EC 01 00 2A */ fadds f0, f1, f0
/* 8032E84C 0032B78C D0 01 00 10 */ stfs f0, 0x10(r1)
/* 8032E850 0032B790 38 84 00 01 */ addi r4, r4, 1
lbl_8032E854:
/* 8032E854 0032B794 54 83 04 3E */ clrlwi r3, r4, 0x10
/* 8032E858 0032B798 A0 17 00 00 */ lhz r0, 0(r23)
/* 8032E85C 0032B79C 7C 03 00 40 */ cmplw r3, r0
/* 8032E860 0032B7A0 41 80 FF 9C */ blt lbl_8032E7FC
/* 8032E864 0032B7A4 38 61 00 08 */ addi r3, r1, 8
/* 8032E868 0032B7A8 7C 64 1B 78 */ mr r4, r3
/* 8032E86C 0032B7AC 48 01 88 89 */ bl PSVECNormalize
/* 8032E870 0032B7B0 3A C0 00 00 */ li r22, 0
/* 8032E874 0032B7B4 48 00 01 E0 */ b lbl_8032EA54
lbl_8032E878:
/* 8032E878 0032B7B8 80 77 00 08 */ lwz r3, 8(r23)
/* 8032E87C 0032B7BC 56 C0 0B FC */ rlwinm r0, r22, 1, 0xf, 0x1e
/* 8032E880 0032B7C0 7C 63 02 2E */ lhzx r3, r3, r0
/* 8032E884 0032B7C4 28 03 FF FF */ cmplwi r3, 0xffff
/* 8032E888 0032B7C8 41 82 01 C8 */ beq lbl_8032EA50
/* 8032E88C 0032B7CC 1E A3 00 03 */ mulli r21, r3, 3
/* 8032E890 0032B7D0 80 77 00 04 */ lwz r3, 4(r23)
/* 8032E894 0032B7D4 7C 03 02 2E */ lhzx r0, r3, r0
/* 8032E898 0032B7D8 7C 1C 03 78 */ mr r28, r0
/* 8032E89C 0032B7DC 1C 00 00 03 */ mulli r0, r0, 3
/* 8032E8A0 0032B7E0 54 00 10 3A */ slwi r0, r0, 2
/* 8032E8A4 0032B7E4 7F BA 02 14 */ add r29, r26, r0
/* 8032E8A8 0032B7E8 C0 21 00 10 */ lfs f1, 0x10(r1)
/* 8032E8AC 0032B7EC C0 1D 00 08 */ lfs f0, 8(r29)
/* 8032E8B0 0032B7F0 EC 61 00 32 */ fmuls f3, f1, f0
/* 8032E8B4 0032B7F4 C3 81 00 08 */ lfs f28, 8(r1)
/* 8032E8B8 0032B7F8 C3 7D 00 00 */ lfs f27, 0(r29)
/* 8032E8BC 0032B7FC EC 5C 06 F2 */ fmuls f2, f28, f27
/* 8032E8C0 0032B800 C0 21 00 0C */ lfs f1, 0xc(r1)
/* 8032E8C4 0032B804 C0 1D 00 04 */ lfs f0, 4(r29)
/* 8032E8C8 0032B808 EC 01 00 32 */ fmuls f0, f1, f0
/* 8032E8CC 0032B80C EC 02 00 2A */ fadds f0, f2, f0
/* 8032E8D0 0032B810 EC 43 00 2A */ fadds f2, f3, f0
/* 8032E8D4 0032B814 C0 22 CA 70 */ lfs f1, lbl_80456470-_SDA2_BASE_(r2)
/* 8032E8D8 0032B818 FC 02 08 40 */ fcmpo cr0, f2, f1
/* 8032E8DC 0032B81C 4C 41 13 82 */ cror 2, 1, 2
/* 8032E8E0 0032B820 40 82 00 0C */ bne lbl_8032E8EC
/* 8032E8E4 0032B824 C0 22 CA 7C */ lfs f1, lbl_8045647C-_SDA2_BASE_(r2)
/* 8032E8E8 0032B828 48 00 00 A4 */ b lbl_8032E98C
lbl_8032E8EC:
/* 8032E8EC 0032B82C C0 02 CA 80 */ lfs f0, lbl_80456480-_SDA2_BASE_(r2)
/* 8032E8F0 0032B830 FC 02 00 40 */ fcmpo cr0, f2, f0
/* 8032E8F4 0032B834 40 81 00 94 */ ble lbl_8032E988
/* 8032E8F8 0032B838 FC 02 08 40 */ fcmpo cr0, f2, f1
/* 8032E8FC 0032B83C 4C 41 13 82 */ cror 2, 1, 2
/* 8032E900 0032B840 40 82 00 0C */ bne lbl_8032E90C
/* 8032E904 0032B844 C0 22 CA 7C */ lfs f1, lbl_8045647C-_SDA2_BASE_(r2)
/* 8032E908 0032B848 48 00 00 74 */ b lbl_8032E97C
lbl_8032E90C:
/* 8032E90C 0032B84C FC 02 00 40 */ fcmpo cr0, f2, f0
/* 8032E910 0032B850 4C 40 13 82 */ cror 2, 0, 2
/* 8032E914 0032B854 40 82 00 0C */ bne lbl_8032E920
/* 8032E918 0032B858 C0 22 CA 84 */ lfs f1, lbl_80456484-_SDA2_BASE_(r2)
/* 8032E91C 0032B85C 48 00 00 60 */ b lbl_8032E97C
lbl_8032E920:
/* 8032E920 0032B860 C0 02 CA 7C */ lfs f0, lbl_8045647C-_SDA2_BASE_(r2)
/* 8032E924 0032B864 FC 02 00 40 */ fcmpo cr0, f2, f0
/* 8032E928 0032B868 40 80 00 30 */ bge lbl_8032E958
/* 8032E92C 0032B86C C0 22 CA 88 */ lfs f1, lbl_80456488-_SDA2_BASE_(r2)
/* 8032E930 0032B870 FC 00 10 50 */ fneg f0, f2
/* 8032E934 0032B874 EC 21 00 32 */ fmuls f1, f1, f0
/* 8032E938 0032B878 48 03 37 75 */ bl func_803620AC
/* 8032E93C 0032B87C 54 60 10 3A */ slwi r0, r3, 2
/* 8032E940 0032B880 3C 60 80 45 */ lis r3, lbl_8044AA40@ha
/* 8032E944 0032B884 38 63 AA 40 */ addi r3, r3, lbl_8044AA40@l
/* 8032E948 0032B888 7C 23 04 2E */ lfsx f1, r3, r0
/* 8032E94C 0032B88C C0 02 CA 8C */ lfs f0, lbl_8045648C-_SDA2_BASE_(r2)
/* 8032E950 0032B890 EC 21 00 2A */ fadds f1, f1, f0
/* 8032E954 0032B894 48 00 00 28 */ b lbl_8032E97C
lbl_8032E958:
/* 8032E958 0032B898 C0 02 CA 88 */ lfs f0, lbl_80456488-_SDA2_BASE_(r2)
/* 8032E95C 0032B89C EC 20 00 B2 */ fmuls f1, f0, f2
/* 8032E960 0032B8A0 48 03 37 4D */ bl func_803620AC
/* 8032E964 0032B8A4 54 60 10 3A */ slwi r0, r3, 2
/* 8032E968 0032B8A8 3C 60 80 45 */ lis r3, lbl_8044AA40@ha
/* 8032E96C 0032B8AC 38 63 AA 40 */ addi r3, r3, lbl_8044AA40@l
/* 8032E970 0032B8B0 7C 23 04 2E */ lfsx f1, r3, r0
/* 8032E974 0032B8B4 C0 02 CA 8C */ lfs f0, lbl_8045648C-_SDA2_BASE_(r2)
/* 8032E978 0032B8B8 EC 20 08 28 */ fsubs f1, f0, f1
lbl_8032E97C:
/* 8032E97C 0032B8BC C0 02 CA 90 */ lfs f0, lbl_80456490-_SDA2_BASE_(r2)
/* 8032E980 0032B8C0 EC 21 00 32 */ fmuls f1, f1, f0
/* 8032E984 0032B8C4 48 00 00 08 */ b lbl_8032E98C
lbl_8032E988:
/* 8032E988 0032B8C8 C0 22 CA 94 */ lfs f1, lbl_80456494-_SDA2_BASE_(r2)
lbl_8032E98C:
/* 8032E98C 0032B8CC C0 1F 00 04 */ lfs f0, 4(r31)
/* 8032E990 0032B8D0 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8032E994 0032B8D4 4C 40 13 82 */ cror 2, 0, 2
/* 8032E998 0032B8D8 40 82 00 24 */ bne lbl_8032E9BC
/* 8032E99C 0032B8DC 56 A0 10 3A */ slwi r0, r21, 2
/* 8032E9A0 0032B8E0 7C 7B 02 14 */ add r3, r27, r0
/* 8032E9A4 0032B8E4 D3 83 00 00 */ stfs f28, 0(r3)
/* 8032E9A8 0032B8E8 C0 01 00 0C */ lfs f0, 0xc(r1)
/* 8032E9AC 0032B8EC D0 03 00 04 */ stfs f0, 4(r3)
/* 8032E9B0 0032B8F0 C0 01 00 10 */ lfs f0, 0x10(r1)
/* 8032E9B4 0032B8F4 D0 03 00 08 */ stfs f0, 8(r3)
/* 8032E9B8 0032B8F8 48 00 00 98 */ b lbl_8032EA50
lbl_8032E9BC:
/* 8032E9BC 0032B8FC C0 5F 00 00 */ lfs f2, 0(r31)
/* 8032E9C0 0032B900 FC 01 10 40 */ fcmpo cr0, f1, f2
/* 8032E9C4 0032B904 40 81 00 30 */ ble lbl_8032E9F4
/* 8032E9C8 0032B908 1C 1C 00 0C */ mulli r0, r28, 0xc
/* 8032E9CC 0032B90C 7C 7A 02 14 */ add r3, r26, r0
/* 8032E9D0 0032B910 C0 03 00 00 */ lfs f0, 0(r3)
/* 8032E9D4 0032B914 56 A0 10 3A */ slwi r0, r21, 2
/* 8032E9D8 0032B918 7C 9B 02 14 */ add r4, r27, r0
/* 8032E9DC 0032B91C D0 04 00 00 */ stfs f0, 0(r4)
/* 8032E9E0 0032B920 C0 03 00 04 */ lfs f0, 4(r3)
/* 8032E9E4 0032B924 D0 04 00 04 */ stfs f0, 4(r4)
/* 8032E9E8 0032B928 C0 03 00 08 */ lfs f0, 8(r3)
/* 8032E9EC 0032B92C D0 04 00 08 */ stfs f0, 8(r4)
/* 8032E9F0 0032B930 48 00 00 60 */ b lbl_8032EA50
lbl_8032E9F4:
/* 8032E9F4 0032B934 EC 21 00 28 */ fsubs f1, f1, f0
/* 8032E9F8 0032B938 EC 02 00 28 */ fsubs f0, f2, f0
/* 8032E9FC 0032B93C EC 41 00 24 */ fdivs f2, f1, f0
/* 8032EA00 0032B940 C0 02 CA 70 */ lfs f0, lbl_80456470-_SDA2_BASE_(r2)
/* 8032EA04 0032B944 EC 60 10 28 */ fsubs f3, f0, f2
/* 8032EA08 0032B948 EC 22 06 F2 */ fmuls f1, f2, f27
/* 8032EA0C 0032B94C EC 03 07 32 */ fmuls f0, f3, f28
/* 8032EA10 0032B950 EC 01 00 2A */ fadds f0, f1, f0
/* 8032EA14 0032B954 56 A0 10 3A */ slwi r0, r21, 2
/* 8032EA18 0032B958 7C 7B 02 14 */ add r3, r27, r0
/* 8032EA1C 0032B95C D0 03 00 00 */ stfs f0, 0(r3)
/* 8032EA20 0032B960 C0 1D 00 04 */ lfs f0, 4(r29)
/* 8032EA24 0032B964 EC 22 00 32 */ fmuls f1, f2, f0
/* 8032EA28 0032B968 C0 01 00 0C */ lfs f0, 0xc(r1)
/* 8032EA2C 0032B96C EC 03 00 32 */ fmuls f0, f3, f0
/* 8032EA30 0032B970 EC 01 00 2A */ fadds f0, f1, f0
/* 8032EA34 0032B974 D0 03 00 04 */ stfs f0, 4(r3)
/* 8032EA38 0032B978 C0 1D 00 08 */ lfs f0, 8(r29)
/* 8032EA3C 0032B97C EC 22 00 32 */ fmuls f1, f2, f0
/* 8032EA40 0032B980 C0 01 00 10 */ lfs f0, 0x10(r1)
/* 8032EA44 0032B984 EC 03 00 32 */ fmuls f0, f3, f0
/* 8032EA48 0032B988 EC 01 00 2A */ fadds f0, f1, f0
/* 8032EA4C 0032B98C D0 03 00 08 */ stfs f0, 8(r3)
lbl_8032EA50:
/* 8032EA50 0032B990 3A D6 00 01 */ addi r22, r22, 1
lbl_8032EA54:
/* 8032EA54 0032B994 56 C3 04 3E */ clrlwi r3, r22, 0x10
/* 8032EA58 0032B998 A0 17 00 00 */ lhz r0, 0(r23)
/* 8032EA5C 0032B99C 7C 03 00 40 */ cmplw r3, r0
/* 8032EA60 0032B9A0 41 80 FE 18 */ blt lbl_8032E878
/* 8032EA64 0032B9A4 3B 18 00 01 */ addi r24, r24, 1
lbl_8032EA68:
/* 8032EA68 0032B9A8 57 00 04 3E */ clrlwi r0, r24, 0x10
/* 8032EA6C 0032B9AC 7C 00 C8 00 */ cmpw r0, r25
/* 8032EA70 0032B9B0 41 80 FD 50 */ blt lbl_8032E7C0
/* 8032EA74 0032B9B4 E3 E1 00 98 */ psq_l f31, 152(r1), 0, qr0
/* 8032EA78 0032B9B8 CB E1 00 90 */ lfd f31, 0x90(r1)
/* 8032EA7C 0032B9BC E3 C1 00 88 */ psq_l f30, 136(r1), 0, qr0
/* 8032EA80 0032B9C0 CB C1 00 80 */ lfd f30, 0x80(r1)
/* 8032EA84 0032B9C4 E3 A1 00 78 */ psq_l f29, 120(r1), 0, qr0
/* 8032EA88 0032B9C8 CB A1 00 70 */ lfd f29, 0x70(r1)
/* 8032EA8C 0032B9CC E3 81 00 68 */ psq_l f28, 104(r1), 0, qr0
/* 8032EA90 0032B9D0 CB 81 00 60 */ lfd f28, 0x60(r1)
/* 8032EA94 0032B9D4 E3 61 00 58 */ psq_l f27, 88(r1), 0, qr0
/* 8032EA98 0032B9D8 CB 61 00 50 */ lfd f27, 0x50(r1)
/* 8032EA9C 0032B9DC 39 61 00 50 */ addi r11, r1, 0x50
/* 8032EAA0 0032B9E0 48 03 37 69 */ bl func_80362208
/* 8032EAA4 0032B9E4 80 01 00 A4 */ lwz r0, 0xa4(r1)
/* 8032EAA8 0032B9E8 7C 08 03 A6 */ mtlr r0
/* 8032EAAC 0032B9EC 38 21 00 A0 */ addi r1, r1, 0xa0
/* 8032EAB0 0032B9F0 4E 80 00 20 */ blr
.global J3DDeformer_NS_deform_X1_
J3DDeformer_NS_deform_X1_:
/* 8032EAB4 0032B9F4 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8032EAB8 0032B9F8 7C 08 02 A6 */ mflr r0
/* 8032EABC 0032B9FC 90 01 00 24 */ stw r0, 0x24(r1)
/* 8032EAC0 0032BA00 39 61 00 20 */ addi r11, r1, 0x20
/* 8032EAC4 0032BA04 48 03 37 11 */ bl func_803621D4
/* 8032EAC8 0032BA08 7C 7D 1B 78 */ mr r29, r3
/* 8032EACC 0032BA0C 7C 9E 23 78 */ mr r30, r4
/* 8032EAD0 0032BA10 7C DF 33 78 */ mr r31, r6
/* 8032EAD4 0032BA14 80 03 00 10 */ lwz r0, 0x10(r3)
/* 8032EAD8 0032BA18 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e
/* 8032EADC 0032BA1C 41 82 00 D8 */ beq lbl_8032EBB4
/* 8032EAE0 0032BA20 80 7E 00 00 */ lwz r3, 0(r30)
/* 8032EAE4 0032BA24 80 03 00 50 */ lwz r0, 0x50(r3)
/* 8032EAE8 0032BA28 2C 00 00 04 */ cmpwi r0, 4
/* 8032EAEC 0032BA2C 40 82 00 C8 */ bne lbl_8032EBB4
/* 8032EAF0 0032BA30 80 FD 00 00 */ lwz r7, 0(r29)
/* 8032EAF4 0032BA34 80 C7 00 08 */ lwz r6, 8(r7)
/* 8032EAF8 0032BA38 54 A4 04 3E */ clrlwi r4, r5, 0x10
/* 8032EAFC 0032BA3C 1C 04 00 24 */ mulli r0, r4, 0x24
/* 8032EB00 0032BA40 7F 86 02 14 */ add r28, r6, r0
/* 8032EB04 0032BA44 38 A0 00 00 */ li r5, 0
/* 8032EB08 0032BA48 39 00 00 00 */ li r8, 0
/* 8032EB0C 0032BA4C 48 00 00 24 */ b lbl_8032EB30
lbl_8032EB10:
/* 8032EB10 0032BA50 55 00 04 3E */ clrlwi r0, r8, 0x10
/* 8032EB14 0032BA54 1C 00 00 24 */ mulli r0, r0, 0x24
/* 8032EB18 0032BA58 7C 66 02 14 */ add r3, r6, r0
/* 8032EB1C 0032BA5C A0 03 00 10 */ lhz r0, 0x10(r3)
/* 8032EB20 0032BA60 7C 60 2A 14 */ add r3, r0, r5
/* 8032EB24 0032BA64 38 03 00 01 */ addi r0, r3, 1
/* 8032EB28 0032BA68 54 05 04 3E */ clrlwi r5, r0, 0x10
/* 8032EB2C 0032BA6C 39 08 00 01 */ addi r8, r8, 1
lbl_8032EB30:
/* 8032EB30 0032BA70 55 00 04 3E */ clrlwi r0, r8, 0x10
/* 8032EB34 0032BA74 7C 00 20 40 */ cmplw r0, r4
/* 8032EB38 0032BA78 41 80 FF D8 */ blt lbl_8032EB10
/* 8032EB3C 0032BA7C 80 67 00 0C */ lwz r3, 0xc(r7)
/* 8032EB40 0032BA80 54 A0 04 3E */ clrlwi r0, r5, 0x10
/* 8032EB44 0032BA84 1C 00 00 0C */ mulli r0, r0, 0xc
/* 8032EB48 0032BA88 7F 63 02 14 */ add r27, r3, r0
/* 8032EB4C 0032BA8C 7F A3 EB 78 */ mr r3, r29
/* 8032EB50 0032BA90 A0 9C 00 10 */ lhz r4, 0x10(r28)
/* 8032EB54 0032BA94 7F E5 FB 78 */ mr r5, r31
/* 8032EB58 0032BA98 48 00 00 75 */ bl J3DDeformer_NS_normalizeWeight
/* 8032EB5C 0032BA9C 7F A3 EB 78 */ mr r3, r29
/* 8032EB60 0032BAA0 7F C4 F3 78 */ mr r4, r30
/* 8032EB64 0032BAA4 7F 85 E3 78 */ mr r5, r28
/* 8032EB68 0032BAA8 7F 66 DB 78 */ mr r6, r27
/* 8032EB6C 0032BAAC 7F E7 FB 78 */ mr r7, r31
/* 8032EB70 0032BAB0 4B FF F9 35 */ bl J3DDeformer_NS_deform_VtxPosF32
/* 8032EB74 0032BAB4 80 1D 00 10 */ lwz r0, 0x10(r29)
/* 8032EB78 0032BAB8 54 00 07 FF */ clrlwi. r0, r0, 0x1f
/* 8032EB7C 0032BABC 41 82 00 38 */ beq lbl_8032EBB4
/* 8032EB80 0032BAC0 88 1C 00 0C */ lbz r0, 0xc(r28)
/* 8032EB84 0032BAC4 28 00 00 00 */ cmplwi r0, 0
/* 8032EB88 0032BAC8 41 82 00 2C */ beq lbl_8032EBB4
/* 8032EB8C 0032BACC 80 7E 00 00 */ lwz r3, 0(r30)
/* 8032EB90 0032BAD0 80 03 00 58 */ lwz r0, 0x58(r3)
/* 8032EB94 0032BAD4 2C 00 00 04 */ cmpwi r0, 4
/* 8032EB98 0032BAD8 40 82 00 1C */ bne lbl_8032EBB4
/* 8032EB9C 0032BADC 7F A3 EB 78 */ mr r3, r29
/* 8032EBA0 0032BAE0 7F C4 F3 78 */ mr r4, r30
/* 8032EBA4 0032BAE4 7F 85 E3 78 */ mr r5, r28
/* 8032EBA8 0032BAE8 7F 66 DB 78 */ mr r6, r27
/* 8032EBAC 0032BAEC 7F E7 FB 78 */ mr r7, r31
/* 8032EBB0 0032BAF0 4B FF FA 5D */ bl J3DDeformer_NS_deform_VtxNrmF32
lbl_8032EBB4:
/* 8032EBB4 0032BAF4 39 61 00 20 */ addi r11, r1, 0x20
/* 8032EBB8 0032BAF8 48 03 36 69 */ bl func_80362220
/* 8032EBBC 0032BAFC 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8032EBC0 0032BB00 7C 08 03 A6 */ mtlr r0
/* 8032EBC4 0032BB04 38 21 00 20 */ addi r1, r1, 0x20
/* 8032EBC8 0032BB08 4E 80 00 20 */ blr
.global J3DDeformer_NS_normalizeWeight
J3DDeformer_NS_normalizeWeight:
/* 8032EBCC 0032BB0C C0 22 CA 7C */ lfs f1, lbl_8045647C-_SDA2_BASE_(r2)
/* 8032EBD0 0032BB10 38 60 00 00 */ li r3, 0
/* 8032EBD4 0032BB14 48 00 00 14 */ b lbl_8032EBE8
lbl_8032EBD8:
/* 8032EBD8 0032BB18 54 60 13 BA */ rlwinm r0, r3, 2, 0xe, 0x1d
/* 8032EBDC 0032BB1C 7C 05 04 2E */ lfsx f0, r5, r0
/* 8032EBE0 0032BB20 EC 21 00 2A */ fadds f1, f1, f0
/* 8032EBE4 0032BB24 38 63 00 01 */ addi r3, r3, 1
lbl_8032EBE8:
/* 8032EBE8 0032BB28 54 60 04 3E */ clrlwi r0, r3, 0x10
/* 8032EBEC 0032BB2C 7C 00 20 00 */ cmpw r0, r4
/* 8032EBF0 0032BB30 41 80 FF E8 */ blt lbl_8032EBD8
/* 8032EBF4 0032BB34 C0 02 CA 70 */ lfs f0, lbl_80456470-_SDA2_BASE_(r2)
/* 8032EBF8 0032BB38 EC 20 08 24 */ fdivs f1, f0, f1
/* 8032EBFC 0032BB3C 38 60 00 00 */ li r3, 0
/* 8032EC00 0032BB40 48 00 00 18 */ b lbl_8032EC18
lbl_8032EC04:
/* 8032EC04 0032BB44 54 60 13 BA */ rlwinm r0, r3, 2, 0xe, 0x1d
/* 8032EC08 0032BB48 7C 05 04 2E */ lfsx f0, r5, r0
/* 8032EC0C 0032BB4C EC 00 00 72 */ fmuls f0, f0, f1
/* 8032EC10 0032BB50 7C 05 05 2E */ stfsx f0, r5, r0
/* 8032EC14 0032BB54 38 63 00 01 */ addi r3, r3, 1
lbl_8032EC18:
/* 8032EC18 0032BB58 54 60 04 3E */ clrlwi r0, r3, 0x10
/* 8032EC1C 0032BB5C 7C 00 20 00 */ cmpw r0, r4
/* 8032EC20 0032BB60 41 80 FF E4 */ blt lbl_8032EC04
/* 8032EC24 0032BB64 4E 80 00 20 */ blr

View File

@ -0,0 +1,674 @@
.include "macros.inc"
.section .text, "ax" # 8032ec28
.global J3DMtxCalcJ3DSysInitBasic_NS_init
J3DMtxCalcJ3DSysInitBasic_NS_init:
/* 8032EC28 0032BB68 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8032EC2C 0032BB6C 7C 08 02 A6 */ mflr r0
/* 8032EC30 0032BB70 90 01 00 24 */ stw r0, 0x24(r1)
/* 8032EC34 0032BB74 C0 23 00 00 */ lfs f1, 0(r3)
/* 8032EC38 0032BB78 3C A0 80 43 */ lis r5, lbl_80434C14@ha
/* 8032EC3C 0032BB7C D4 25 4C 14 */ stfsu f1, lbl_80434C14@l(r5)
/* 8032EC40 0032BB80 C0 43 00 04 */ lfs f2, 4(r3)
/* 8032EC44 0032BB84 D0 45 00 04 */ stfs f2, 4(r5)
/* 8032EC48 0032BB88 C0 63 00 08 */ lfs f3, 8(r3)
/* 8032EC4C 0032BB8C D0 65 00 08 */ stfs f3, 8(r5)
/* 8032EC50 0032BB90 3C 60 80 3A */ lis r3, lbl_803A2068@ha
/* 8032EC54 0032BB94 38 A3 20 68 */ addi r5, r3, lbl_803A2068@l
/* 8032EC58 0032BB98 80 65 00 00 */ lwz r3, 0(r5)
/* 8032EC5C 0032BB9C 80 05 00 04 */ lwz r0, 4(r5)
/* 8032EC60 0032BBA0 90 61 00 08 */ stw r3, 8(r1)
/* 8032EC64 0032BBA4 90 01 00 0C */ stw r0, 0xc(r1)
/* 8032EC68 0032BBA8 80 05 00 08 */ lwz r0, 8(r5)
/* 8032EC6C 0032BBAC 90 01 00 10 */ stw r0, 0x10(r1)
/* 8032EC70 0032BBB0 C0 01 00 08 */ lfs f0, 8(r1)
/* 8032EC74 0032BBB4 3C 60 80 43 */ lis r3, lbl_80434C20@ha
/* 8032EC78 0032BBB8 D4 03 4C 20 */ stfsu f0, lbl_80434C20@l(r3)
/* 8032EC7C 0032BBBC C0 01 00 0C */ lfs f0, 0xc(r1)
/* 8032EC80 0032BBC0 D0 03 00 04 */ stfs f0, 4(r3)
/* 8032EC84 0032BBC4 C0 01 00 10 */ lfs f0, 0x10(r1)
/* 8032EC88 0032BBC8 D0 03 00 08 */ stfs f0, 8(r3)
/* 8032EC8C 0032BBCC 7C 83 23 78 */ mr r3, r4
/* 8032EC90 0032BBD0 3C 80 80 43 */ lis r4, lbl_80434BE4@ha
/* 8032EC94 0032BBD4 38 84 4B E4 */ addi r4, r4, lbl_80434BE4@l
/* 8032EC98 0032BBD8 48 00 AD ED */ bl JMAMTXApplyScale
/* 8032EC9C 0032BBDC 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8032ECA0 0032BBE0 7C 08 03 A6 */ mtlr r0
/* 8032ECA4 0032BBE4 38 21 00 20 */ addi r1, r1, 0x20
/* 8032ECA8 0032BBE8 4E 80 00 20 */ blr
.global J3DMtxCalcJ3DSysInitMaya_NS_init
J3DMtxCalcJ3DSysInitMaya_NS_init:
/* 8032ECAC 0032BBEC 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8032ECB0 0032BBF0 7C 08 02 A6 */ mflr r0
/* 8032ECB4 0032BBF4 90 01 00 24 */ stw r0, 0x24(r1)
/* 8032ECB8 0032BBF8 3C A0 80 3A */ lis r5, lbl_803A2074@ha
/* 8032ECBC 0032BBFC 38 C5 20 74 */ addi r6, r5, lbl_803A2074@l
/* 8032ECC0 0032BC00 80 A6 00 00 */ lwz r5, 0(r6)
/* 8032ECC4 0032BC04 80 06 00 04 */ lwz r0, 4(r6)
/* 8032ECC8 0032BC08 90 A1 00 08 */ stw r5, 8(r1)
/* 8032ECCC 0032BC0C 90 01 00 0C */ stw r0, 0xc(r1)
/* 8032ECD0 0032BC10 80 06 00 08 */ lwz r0, 8(r6)
/* 8032ECD4 0032BC14 90 01 00 10 */ stw r0, 0x10(r1)
/* 8032ECD8 0032BC18 C0 01 00 08 */ lfs f0, 8(r1)
/* 8032ECDC 0032BC1C 3C A0 80 43 */ lis r5, lbl_80434C20@ha
/* 8032ECE0 0032BC20 D4 05 4C 20 */ stfsu f0, lbl_80434C20@l(r5)
/* 8032ECE4 0032BC24 C0 01 00 0C */ lfs f0, 0xc(r1)
/* 8032ECE8 0032BC28 D0 05 00 04 */ stfs f0, 4(r5)
/* 8032ECEC 0032BC2C C0 01 00 10 */ lfs f0, 0x10(r1)
/* 8032ECF0 0032BC30 D0 05 00 08 */ stfs f0, 8(r5)
/* 8032ECF4 0032BC34 C0 23 00 00 */ lfs f1, 0(r3)
/* 8032ECF8 0032BC38 3C A0 80 43 */ lis r5, lbl_80434C14@ha
/* 8032ECFC 0032BC3C D4 25 4C 14 */ stfsu f1, lbl_80434C14@l(r5)
/* 8032ED00 0032BC40 C0 43 00 04 */ lfs f2, 4(r3)
/* 8032ED04 0032BC44 D0 45 00 04 */ stfs f2, 4(r5)
/* 8032ED08 0032BC48 C0 63 00 08 */ lfs f3, 8(r3)
/* 8032ED0C 0032BC4C D0 65 00 08 */ stfs f3, 8(r5)
/* 8032ED10 0032BC50 7C 83 23 78 */ mr r3, r4
/* 8032ED14 0032BC54 3C 80 80 43 */ lis r4, lbl_80434BE4@ha
/* 8032ED18 0032BC58 38 84 4B E4 */ addi r4, r4, lbl_80434BE4@l
/* 8032ED1C 0032BC5C 48 00 AD 69 */ bl JMAMTXApplyScale
/* 8032ED20 0032BC60 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8032ED24 0032BC64 7C 08 03 A6 */ mtlr r0
/* 8032ED28 0032BC68 38 21 00 20 */ addi r1, r1, 0x20
/* 8032ED2C 0032BC6C 4E 80 00 20 */ blr
.global J3DMtxCalcCalcTransformBasic_NS_calcTransform
J3DMtxCalcCalcTransformBasic_NS_calcTransform:
/* 8032ED30 0032BC70 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8032ED34 0032BC74 7C 08 02 A6 */ mflr r0
/* 8032ED38 0032BC78 90 01 00 24 */ stw r0, 0x24(r1)
/* 8032ED3C 0032BC7C 39 61 00 20 */ addi r11, r1, 0x20
/* 8032ED40 0032BC80 48 03 34 95 */ bl func_803621D4
/* 8032ED44 0032BC84 7C 7B 1B 78 */ mr r27, r3
/* 8032ED48 0032BC88 83 8D 90 70 */ lwz r28, lbl_804515F0-_SDA_BASE_(r13)
/* 8032ED4C 0032BC8C 80 8D 90 74 */ lwz r4, lbl_804515F4-_SDA_BASE_(r13)
/* 8032ED50 0032BC90 A3 C4 00 14 */ lhz r30, 0x14(r4)
/* 8032ED54 0032BC94 80 9C 00 0C */ lwz r4, 0xc(r28)
/* 8032ED58 0032BC98 1C 1E 00 30 */ mulli r0, r30, 0x30
/* 8032ED5C 0032BC9C 7F A4 02 14 */ add r29, r4, r0
/* 8032ED60 0032BCA0 3C 80 80 43 */ lis r4, lbl_80434C14@ha
/* 8032ED64 0032BCA4 3B E4 4C 14 */ addi r31, r4, lbl_80434C14@l
/* 8032ED68 0032BCA8 C0 3F 00 00 */ lfs f1, 0(r31)
/* 8032ED6C 0032BCAC C0 03 00 00 */ lfs f0, 0(r3)
/* 8032ED70 0032BCB0 EC 01 00 32 */ fmuls f0, f1, f0
/* 8032ED74 0032BCB4 D0 1F 00 00 */ stfs f0, 0(r31)
/* 8032ED78 0032BCB8 C0 3F 00 04 */ lfs f1, 4(r31)
/* 8032ED7C 0032BCBC C0 03 00 04 */ lfs f0, 4(r3)
/* 8032ED80 0032BCC0 EC 01 00 32 */ fmuls f0, f1, f0
/* 8032ED84 0032BCC4 D0 1F 00 04 */ stfs f0, 4(r31)
/* 8032ED88 0032BCC8 C0 3F 00 08 */ lfs f1, 8(r31)
/* 8032ED8C 0032BCCC C0 03 00 08 */ lfs f0, 8(r3)
/* 8032ED90 0032BCD0 EC 01 00 32 */ fmuls f0, f1, f0
/* 8032ED94 0032BCD4 D0 1F 00 08 */ stfs f0, 8(r31)
/* 8032ED98 0032BCD8 7F A4 EB 78 */ mr r4, r29
/* 8032ED9C 0032BCDC 4B FE 2B C9 */ bl J3DGetTranslateRotateMtx
/* 8032EDA0 0032BCE0 C0 22 CA A0 */ lfs f1, lbl_804564A0-_SDA2_BASE_(r2)
/* 8032EDA4 0032BCE4 3C 60 80 43 */ lis r3, lbl_80434C14@ha
/* 8032EDA8 0032BCE8 C0 03 4C 14 */ lfs f0, lbl_80434C14@l(r3)
/* 8032EDAC 0032BCEC FC 01 00 00 */ fcmpu cr0, f1, f0
/* 8032EDB0 0032BCF0 40 82 00 24 */ bne lbl_8032EDD4
/* 8032EDB4 0032BCF4 C0 1F 00 04 */ lfs f0, 4(r31)
/* 8032EDB8 0032BCF8 FC 01 00 00 */ fcmpu cr0, f1, f0
/* 8032EDBC 0032BCFC 40 82 00 18 */ bne lbl_8032EDD4
/* 8032EDC0 0032BD00 C0 1F 00 08 */ lfs f0, 8(r31)
/* 8032EDC4 0032BD04 FC 01 00 00 */ fcmpu cr0, f1, f0
/* 8032EDC8 0032BD08 40 82 00 0C */ bne lbl_8032EDD4
/* 8032EDCC 0032BD0C 38 00 00 01 */ li r0, 1
/* 8032EDD0 0032BD10 48 00 00 08 */ b lbl_8032EDD8
lbl_8032EDD4:
/* 8032EDD4 0032BD14 38 00 00 00 */ li r0, 0
lbl_8032EDD8:
/* 8032EDD8 0032BD18 2C 00 00 00 */ cmpwi r0, 0
/* 8032EDDC 0032BD1C 40 82 00 2C */ bne lbl_8032EE08
/* 8032EDE0 0032BD20 38 00 00 00 */ li r0, 0
/* 8032EDE4 0032BD24 80 7C 00 04 */ lwz r3, 4(r28)
/* 8032EDE8 0032BD28 7C 03 F1 AE */ stbx r0, r3, r30
/* 8032EDEC 0032BD2C 7F A3 EB 78 */ mr r3, r29
/* 8032EDF0 0032BD30 7F A4 EB 78 */ mr r4, r29
/* 8032EDF4 0032BD34 C0 3B 00 00 */ lfs f1, 0(r27)
/* 8032EDF8 0032BD38 C0 5B 00 04 */ lfs f2, 4(r27)
/* 8032EDFC 0032BD3C C0 7B 00 08 */ lfs f3, 8(r27)
/* 8032EE00 0032BD40 48 00 AC 85 */ bl JMAMTXApplyScale
/* 8032EE04 0032BD44 48 00 00 10 */ b lbl_8032EE14
lbl_8032EE08:
/* 8032EE08 0032BD48 38 00 00 01 */ li r0, 1
/* 8032EE0C 0032BD4C 80 7C 00 04 */ lwz r3, 4(r28)
/* 8032EE10 0032BD50 7C 03 F1 AE */ stbx r0, r3, r30
lbl_8032EE14:
/* 8032EE14 0032BD54 3C 60 80 43 */ lis r3, lbl_80434BE4@ha
/* 8032EE18 0032BD58 38 63 4B E4 */ addi r3, r3, lbl_80434BE4@l
/* 8032EE1C 0032BD5C 7F A4 EB 78 */ mr r4, r29
/* 8032EE20 0032BD60 7C 65 1B 78 */ mr r5, r3
/* 8032EE24 0032BD64 48 01 76 C1 */ bl PSMTXConcat
/* 8032EE28 0032BD68 3C 60 80 43 */ lis r3, lbl_80434BE4@ha
/* 8032EE2C 0032BD6C 38 63 4B E4 */ addi r3, r3, lbl_80434BE4@l
/* 8032EE30 0032BD70 7F A4 EB 78 */ mr r4, r29
/* 8032EE34 0032BD74 48 01 76 7D */ bl PSMTXCopy
/* 8032EE38 0032BD78 39 61 00 20 */ addi r11, r1, 0x20
/* 8032EE3C 0032BD7C 48 03 33 E5 */ bl func_80362220
/* 8032EE40 0032BD80 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8032EE44 0032BD84 7C 08 03 A6 */ mtlr r0
/* 8032EE48 0032BD88 38 21 00 20 */ addi r1, r1, 0x20
/* 8032EE4C 0032BD8C 4E 80 00 20 */ blr
.global J3DMtxCalcCalcTransformSoftimage_NS_calcTransform
J3DMtxCalcCalcTransformSoftimage_NS_calcTransform:
/* 8032EE50 0032BD90 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8032EE54 0032BD94 7C 08 02 A6 */ mflr r0
/* 8032EE58 0032BD98 90 01 00 24 */ stw r0, 0x24(r1)
/* 8032EE5C 0032BD9C 39 61 00 20 */ addi r11, r1, 0x20
/* 8032EE60 0032BDA0 48 03 33 75 */ bl func_803621D4
/* 8032EE64 0032BDA4 7C 7B 1B 78 */ mr r27, r3
/* 8032EE68 0032BDA8 83 8D 90 70 */ lwz r28, lbl_804515F0-_SDA_BASE_(r13)
/* 8032EE6C 0032BDAC 80 6D 90 74 */ lwz r3, lbl_804515F4-_SDA_BASE_(r13)
/* 8032EE70 0032BDB0 A3 A3 00 14 */ lhz r29, 0x14(r3)
/* 8032EE74 0032BDB4 80 7C 00 0C */ lwz r3, 0xc(r28)
/* 8032EE78 0032BDB8 1C 1D 00 30 */ mulli r0, r29, 0x30
/* 8032EE7C 0032BDBC 7F E3 02 14 */ add r31, r3, r0
/* 8032EE80 0032BDC0 A8 7B 00 0C */ lha r3, 0xc(r27)
/* 8032EE84 0032BDC4 A8 9B 00 0E */ lha r4, 0xe(r27)
/* 8032EE88 0032BDC8 A8 BB 00 10 */ lha r5, 0x10(r27)
/* 8032EE8C 0032BDCC C0 3B 00 14 */ lfs f1, 0x14(r27)
/* 8032EE90 0032BDD0 3C C0 80 43 */ lis r6, lbl_80434C14@ha
/* 8032EE94 0032BDD4 3B C6 4C 14 */ addi r30, r6, lbl_80434C14@l
/* 8032EE98 0032BDD8 C0 1E 00 00 */ lfs f0, 0(r30)
/* 8032EE9C 0032BDDC EC 21 00 32 */ fmuls f1, f1, f0
/* 8032EEA0 0032BDE0 C0 5B 00 18 */ lfs f2, 0x18(r27)
/* 8032EEA4 0032BDE4 C0 1E 00 04 */ lfs f0, 4(r30)
/* 8032EEA8 0032BDE8 EC 42 00 32 */ fmuls f2, f2, f0
/* 8032EEAC 0032BDEC C0 7B 00 1C */ lfs f3, 0x1c(r27)
/* 8032EEB0 0032BDF0 C0 1E 00 08 */ lfs f0, 8(r30)
/* 8032EEB4 0032BDF4 EC 63 00 32 */ fmuls f3, f3, f0
/* 8032EEB8 0032BDF8 7F E6 FB 78 */ mr r6, r31
/* 8032EEBC 0032BDFC 4B FE 2B 69 */ bl J3DGetTranslateRotateMtx_X1_
/* 8032EEC0 0032BE00 3C 60 80 43 */ lis r3, lbl_80434BE4@ha
/* 8032EEC4 0032BE04 38 63 4B E4 */ addi r3, r3, lbl_80434BE4@l
/* 8032EEC8 0032BE08 7F E4 FB 78 */ mr r4, r31
/* 8032EECC 0032BE0C 7C 65 1B 78 */ mr r5, r3
/* 8032EED0 0032BE10 48 01 76 15 */ bl PSMTXConcat
/* 8032EED4 0032BE14 3C 60 80 43 */ lis r3, lbl_80434C14@ha
/* 8032EED8 0032BE18 C4 23 4C 14 */ lfsu f1, lbl_80434C14@l(r3)
/* 8032EEDC 0032BE1C C0 1B 00 00 */ lfs f0, 0(r27)
/* 8032EEE0 0032BE20 EC 61 00 32 */ fmuls f3, f1, f0
/* 8032EEE4 0032BE24 D0 63 00 00 */ stfs f3, 0(r3)
/* 8032EEE8 0032BE28 C0 3E 00 04 */ lfs f1, 4(r30)
/* 8032EEEC 0032BE2C C0 1B 00 04 */ lfs f0, 4(r27)
/* 8032EEF0 0032BE30 EC 41 00 32 */ fmuls f2, f1, f0
/* 8032EEF4 0032BE34 D0 5E 00 04 */ stfs f2, 4(r30)
/* 8032EEF8 0032BE38 C0 3E 00 08 */ lfs f1, 8(r30)
/* 8032EEFC 0032BE3C C0 1B 00 08 */ lfs f0, 8(r27)
/* 8032EF00 0032BE40 EC 21 00 32 */ fmuls f1, f1, f0
/* 8032EF04 0032BE44 D0 3E 00 08 */ stfs f1, 8(r30)
/* 8032EF08 0032BE48 C0 02 CA A0 */ lfs f0, lbl_804564A0-_SDA2_BASE_(r2)
/* 8032EF0C 0032BE4C FC 00 18 00 */ fcmpu cr0, f0, f3
/* 8032EF10 0032BE50 40 82 00 1C */ bne lbl_8032EF2C
/* 8032EF14 0032BE54 FC 00 10 00 */ fcmpu cr0, f0, f2
/* 8032EF18 0032BE58 40 82 00 14 */ bne lbl_8032EF2C
/* 8032EF1C 0032BE5C FC 00 08 00 */ fcmpu cr0, f0, f1
/* 8032EF20 0032BE60 40 82 00 0C */ bne lbl_8032EF2C
/* 8032EF24 0032BE64 38 00 00 01 */ li r0, 1
/* 8032EF28 0032BE68 48 00 00 08 */ b lbl_8032EF30
lbl_8032EF2C:
/* 8032EF2C 0032BE6C 38 00 00 00 */ li r0, 0
lbl_8032EF30:
/* 8032EF30 0032BE70 2C 00 00 00 */ cmpwi r0, 0
/* 8032EF34 0032BE74 40 82 00 54 */ bne lbl_8032EF88
/* 8032EF38 0032BE78 38 00 00 00 */ li r0, 0
/* 8032EF3C 0032BE7C 80 7C 00 04 */ lwz r3, 4(r28)
/* 8032EF40 0032BE80 7C 03 E9 AE */ stbx r0, r3, r29
/* 8032EF44 0032BE84 3C 60 80 43 */ lis r3, lbl_80434BE4@ha
/* 8032EF48 0032BE88 38 63 4B E4 */ addi r3, r3, lbl_80434BE4@l
/* 8032EF4C 0032BE8C 7F E4 FB 78 */ mr r4, r31
/* 8032EF50 0032BE90 3C A0 80 43 */ lis r5, lbl_80434C14@ha
/* 8032EF54 0032BE94 C0 25 4C 14 */ lfs f1, lbl_80434C14@l(r5)
/* 8032EF58 0032BE98 C0 5E 00 04 */ lfs f2, 4(r30)
/* 8032EF5C 0032BE9C C0 7E 00 08 */ lfs f3, 8(r30)
/* 8032EF60 0032BEA0 48 00 AB 25 */ bl JMAMTXApplyScale
/* 8032EF64 0032BEA4 3C 60 80 43 */ lis r3, lbl_80434BE4@ha
/* 8032EF68 0032BEA8 38 63 4B E4 */ addi r3, r3, lbl_80434BE4@l
/* 8032EF6C 0032BEAC C0 03 00 0C */ lfs f0, 0xc(r3)
/* 8032EF70 0032BEB0 D0 1F 00 0C */ stfs f0, 0xc(r31)
/* 8032EF74 0032BEB4 C0 03 00 1C */ lfs f0, 0x1c(r3)
/* 8032EF78 0032BEB8 D0 1F 00 1C */ stfs f0, 0x1c(r31)
/* 8032EF7C 0032BEBC C0 03 00 2C */ lfs f0, 0x2c(r3)
/* 8032EF80 0032BEC0 D0 1F 00 2C */ stfs f0, 0x2c(r31)
/* 8032EF84 0032BEC4 48 00 00 20 */ b lbl_8032EFA4
lbl_8032EF88:
/* 8032EF88 0032BEC8 38 00 00 01 */ li r0, 1
/* 8032EF8C 0032BECC 80 7C 00 04 */ lwz r3, 4(r28)
/* 8032EF90 0032BED0 7C 03 E9 AE */ stbx r0, r3, r29
/* 8032EF94 0032BED4 3C 60 80 43 */ lis r3, lbl_80434BE4@ha
/* 8032EF98 0032BED8 38 63 4B E4 */ addi r3, r3, lbl_80434BE4@l
/* 8032EF9C 0032BEDC 7F E4 FB 78 */ mr r4, r31
/* 8032EFA0 0032BEE0 48 01 75 11 */ bl PSMTXCopy
lbl_8032EFA4:
/* 8032EFA4 0032BEE4 39 61 00 20 */ addi r11, r1, 0x20
/* 8032EFA8 0032BEE8 48 03 32 79 */ bl func_80362220
/* 8032EFAC 0032BEEC 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8032EFB0 0032BEF0 7C 08 03 A6 */ mtlr r0
/* 8032EFB4 0032BEF4 38 21 00 20 */ addi r1, r1, 0x20
/* 8032EFB8 0032BEF8 4E 80 00 20 */ blr
.global J3DMtxCalcCalcTransformMaya_NS_calcTransform
J3DMtxCalcCalcTransformMaya_NS_calcTransform:
/* 8032EFBC 0032BEFC 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8032EFC0 0032BF00 7C 08 02 A6 */ mflr r0
/* 8032EFC4 0032BF04 90 01 00 24 */ stw r0, 0x24(r1)
/* 8032EFC8 0032BF08 39 61 00 20 */ addi r11, r1, 0x20
/* 8032EFCC 0032BF0C 48 03 32 09 */ bl func_803621D4
/* 8032EFD0 0032BF10 7C 7F 1B 78 */ mr r31, r3
/* 8032EFD4 0032BF14 83 8D 90 74 */ lwz r28, lbl_804515F4-_SDA_BASE_(r13)
/* 8032EFD8 0032BF18 83 6D 90 70 */ lwz r27, lbl_804515F0-_SDA_BASE_(r13)
/* 8032EFDC 0032BF1C A3 DC 00 14 */ lhz r30, 0x14(r28)
/* 8032EFE0 0032BF20 80 9B 00 0C */ lwz r4, 0xc(r27)
/* 8032EFE4 0032BF24 1C 1E 00 30 */ mulli r0, r30, 0x30
/* 8032EFE8 0032BF28 7F A4 02 14 */ add r29, r4, r0
/* 8032EFEC 0032BF2C 7F A4 EB 78 */ mr r4, r29
/* 8032EFF0 0032BF30 4B FE 29 75 */ bl J3DGetTranslateRotateMtx
/* 8032EFF4 0032BF34 C0 22 CA A0 */ lfs f1, lbl_804564A0-_SDA2_BASE_(r2)
/* 8032EFF8 0032BF38 C0 1F 00 00 */ lfs f0, 0(r31)
/* 8032EFFC 0032BF3C FC 01 00 00 */ fcmpu cr0, f1, f0
/* 8032F000 0032BF40 40 82 00 2C */ bne lbl_8032F02C
/* 8032F004 0032BF44 C0 1F 00 04 */ lfs f0, 4(r31)
/* 8032F008 0032BF48 FC 01 00 00 */ fcmpu cr0, f1, f0
/* 8032F00C 0032BF4C 40 82 00 20 */ bne lbl_8032F02C
/* 8032F010 0032BF50 C0 1F 00 08 */ lfs f0, 8(r31)
/* 8032F014 0032BF54 FC 01 00 00 */ fcmpu cr0, f1, f0
/* 8032F018 0032BF58 40 82 00 14 */ bne lbl_8032F02C
/* 8032F01C 0032BF5C 38 00 00 01 */ li r0, 1
/* 8032F020 0032BF60 80 7B 00 04 */ lwz r3, 4(r27)
/* 8032F024 0032BF64 7C 03 F1 AE */ stbx r0, r3, r30
/* 8032F028 0032BF68 48 00 00 28 */ b lbl_8032F050
lbl_8032F02C:
/* 8032F02C 0032BF6C 38 00 00 00 */ li r0, 0
/* 8032F030 0032BF70 80 7B 00 04 */ lwz r3, 4(r27)
/* 8032F034 0032BF74 7C 03 F1 AE */ stbx r0, r3, r30
/* 8032F038 0032BF78 7F A3 EB 78 */ mr r3, r29
/* 8032F03C 0032BF7C 7F A4 EB 78 */ mr r4, r29
/* 8032F040 0032BF80 C0 3F 00 00 */ lfs f1, 0(r31)
/* 8032F044 0032BF84 C0 5F 00 04 */ lfs f2, 4(r31)
/* 8032F048 0032BF88 C0 7F 00 08 */ lfs f3, 8(r31)
/* 8032F04C 0032BF8C 48 00 AA 39 */ bl JMAMTXApplyScale
lbl_8032F050:
/* 8032F050 0032BF90 88 1C 00 17 */ lbz r0, 0x17(r28)
/* 8032F054 0032BF94 28 00 00 01 */ cmplwi r0, 1
/* 8032F058 0032BF98 40 82 00 8C */ bne lbl_8032F0E4
/* 8032F05C 0032BF9C 3C 60 80 43 */ lis r3, lbl_80434C20@ha
/* 8032F060 0032BFA0 C4 03 4C 20 */ lfsu f0, lbl_80434C20@l(r3)
/* 8032F064 0032BFA4 EC 20 00 30 */ fres f1, f0
/* 8032F068 0032BFA8 C0 03 00 04 */ lfs f0, 4(r3)
/* 8032F06C 0032BFAC EC 40 00 30 */ fres f2, f0
/* 8032F070 0032BFB0 C0 03 00 08 */ lfs f0, 8(r3)
/* 8032F074 0032BFB4 EC 60 00 30 */ fres f3, f0
/* 8032F078 0032BFB8 C0 1D 00 00 */ lfs f0, 0(r29)
/* 8032F07C 0032BFBC EC 00 00 72 */ fmuls f0, f0, f1
/* 8032F080 0032BFC0 D0 1D 00 00 */ stfs f0, 0(r29)
/* 8032F084 0032BFC4 C0 1D 00 04 */ lfs f0, 4(r29)
/* 8032F088 0032BFC8 EC 00 00 72 */ fmuls f0, f0, f1
/* 8032F08C 0032BFCC D0 1D 00 04 */ stfs f0, 4(r29)
/* 8032F090 0032BFD0 C0 1D 00 08 */ lfs f0, 8(r29)
/* 8032F094 0032BFD4 EC 00 00 72 */ fmuls f0, f0, f1
/* 8032F098 0032BFD8 D0 1D 00 08 */ stfs f0, 8(r29)
/* 8032F09C 0032BFDC C0 1D 00 10 */ lfs f0, 0x10(r29)
/* 8032F0A0 0032BFE0 EC 00 00 B2 */ fmuls f0, f0, f2
/* 8032F0A4 0032BFE4 D0 1D 00 10 */ stfs f0, 0x10(r29)
/* 8032F0A8 0032BFE8 C0 1D 00 14 */ lfs f0, 0x14(r29)
/* 8032F0AC 0032BFEC EC 00 00 B2 */ fmuls f0, f0, f2
/* 8032F0B0 0032BFF0 D0 1D 00 14 */ stfs f0, 0x14(r29)
/* 8032F0B4 0032BFF4 C0 1D 00 18 */ lfs f0, 0x18(r29)
/* 8032F0B8 0032BFF8 EC 00 00 B2 */ fmuls f0, f0, f2
/* 8032F0BC 0032BFFC D0 1D 00 18 */ stfs f0, 0x18(r29)
/* 8032F0C0 0032C000 C0 1D 00 20 */ lfs f0, 0x20(r29)
/* 8032F0C4 0032C004 EC 00 00 F2 */ fmuls f0, f0, f3
/* 8032F0C8 0032C008 D0 1D 00 20 */ stfs f0, 0x20(r29)
/* 8032F0CC 0032C00C C0 1D 00 24 */ lfs f0, 0x24(r29)
/* 8032F0D0 0032C010 EC 00 00 F2 */ fmuls f0, f0, f3
/* 8032F0D4 0032C014 D0 1D 00 24 */ stfs f0, 0x24(r29)
/* 8032F0D8 0032C018 C0 1D 00 28 */ lfs f0, 0x28(r29)
/* 8032F0DC 0032C01C EC 00 00 F2 */ fmuls f0, f0, f3
/* 8032F0E0 0032C020 D0 1D 00 28 */ stfs f0, 0x28(r29)
lbl_8032F0E4:
/* 8032F0E4 0032C024 3C 60 80 43 */ lis r3, lbl_80434BE4@ha
/* 8032F0E8 0032C028 38 63 4B E4 */ addi r3, r3, lbl_80434BE4@l
/* 8032F0EC 0032C02C 7F A4 EB 78 */ mr r4, r29
/* 8032F0F0 0032C030 7C 65 1B 78 */ mr r5, r3
/* 8032F0F4 0032C034 48 01 73 F1 */ bl PSMTXConcat
/* 8032F0F8 0032C038 3C 60 80 43 */ lis r3, lbl_80434BE4@ha
/* 8032F0FC 0032C03C 38 63 4B E4 */ addi r3, r3, lbl_80434BE4@l
/* 8032F100 0032C040 7F A4 EB 78 */ mr r4, r29
/* 8032F104 0032C044 48 01 73 AD */ bl PSMTXCopy
/* 8032F108 0032C048 C0 1F 00 00 */ lfs f0, 0(r31)
/* 8032F10C 0032C04C 3C 60 80 43 */ lis r3, lbl_80434C20@ha
/* 8032F110 0032C050 D4 03 4C 20 */ stfsu f0, lbl_80434C20@l(r3)
/* 8032F114 0032C054 C0 1F 00 04 */ lfs f0, 4(r31)
/* 8032F118 0032C058 D0 03 00 04 */ stfs f0, 4(r3)
/* 8032F11C 0032C05C C0 1F 00 08 */ lfs f0, 8(r31)
/* 8032F120 0032C060 D0 03 00 08 */ stfs f0, 8(r3)
/* 8032F124 0032C064 39 61 00 20 */ addi r11, r1, 0x20
/* 8032F128 0032C068 48 03 30 F9 */ bl func_80362220
/* 8032F12C 0032C06C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8032F130 0032C070 7C 08 03 A6 */ mtlr r0
/* 8032F134 0032C074 38 21 00 20 */ addi r1, r1, 0x20
/* 8032F138 0032C078 4E 80 00 20 */ blr
.global J3DJoint_NS_appendChild
J3DJoint_NS_appendChild:
/* 8032F13C 0032C07C 80 03 00 0C */ lwz r0, 0xc(r3)
/* 8032F140 0032C080 28 00 00 00 */ cmplwi r0, 0
/* 8032F144 0032C084 40 82 00 0C */ bne lbl_8032F150
/* 8032F148 0032C088 90 83 00 0C */ stw r4, 0xc(r3)
/* 8032F14C 0032C08C 4E 80 00 20 */ blr
lbl_8032F150:
/* 8032F150 0032C090 7C 03 03 78 */ mr r3, r0
/* 8032F154 0032C094 48 00 00 08 */ b lbl_8032F15C
lbl_8032F158:
/* 8032F158 0032C098 7C 03 03 78 */ mr r3, r0
lbl_8032F15C:
/* 8032F15C 0032C09C 80 03 00 10 */ lwz r0, 0x10(r3)
/* 8032F160 0032C0A0 28 00 00 00 */ cmplwi r0, 0
/* 8032F164 0032C0A4 40 82 FF F4 */ bne lbl_8032F158
/* 8032F168 0032C0A8 90 83 00 10 */ stw r4, 0x10(r3)
/* 8032F16C 0032C0AC 4E 80 00 20 */ blr
.global J3DJoint
J3DJoint:
/* 8032F170 0032C0B0 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8032F174 0032C0B4 38 80 00 00 */ li r4, 0
/* 8032F178 0032C0B8 90 83 00 00 */ stw r4, 0(r3)
/* 8032F17C 0032C0BC 90 83 00 04 */ stw r4, 4(r3)
/* 8032F180 0032C0C0 90 83 00 08 */ stw r4, 8(r3)
/* 8032F184 0032C0C4 90 83 00 0C */ stw r4, 0xc(r3)
/* 8032F188 0032C0C8 90 83 00 10 */ stw r4, 0x10(r3)
/* 8032F18C 0032C0CC B0 83 00 14 */ sth r4, 0x14(r3)
/* 8032F190 0032C0D0 38 00 00 01 */ li r0, 1
/* 8032F194 0032C0D4 98 03 00 16 */ stb r0, 0x16(r3)
/* 8032F198 0032C0D8 98 83 00 17 */ stb r4, 0x17(r3)
/* 8032F19C 0032C0DC 38 C3 00 14 */ addi r6, r3, 0x14
/* 8032F1A0 0032C0E0 3C 80 80 3A */ lis r4, lbl_803A1E30@ha
/* 8032F1A4 0032C0E4 38 84 1E 30 */ addi r4, r4, lbl_803A1E30@l
/* 8032F1A8 0032C0E8 38 A4 FF FC */ addi r5, r4, -4
/* 8032F1AC 0032C0EC 38 00 00 04 */ li r0, 4
/* 8032F1B0 0032C0F0 7C 09 03 A6 */ mtctr r0
lbl_8032F1B4:
/* 8032F1B4 0032C0F4 80 85 00 04 */ lwz r4, 4(r5)
/* 8032F1B8 0032C0F8 84 05 00 08 */ lwzu r0, 8(r5)
/* 8032F1BC 0032C0FC 90 86 00 04 */ stw r4, 4(r6)
/* 8032F1C0 0032C100 94 06 00 08 */ stwu r0, 8(r6)
/* 8032F1C4 0032C104 42 00 FF F0 */ bdnz lbl_8032F1B4
/* 8032F1C8 0032C108 C0 02 CA A4 */ lfs f0, lbl_804564A4-_SDA2_BASE_(r2)
/* 8032F1CC 0032C10C D0 03 00 38 */ stfs f0, 0x38(r3)
/* 8032F1D0 0032C110 38 00 00 00 */ li r0, 0
/* 8032F1D4 0032C114 90 03 00 54 */ stw r0, 0x54(r3)
/* 8032F1D8 0032C118 90 03 00 58 */ stw r0, 0x58(r3)
/* 8032F1DC 0032C11C 3C 80 80 3A */ lis r4, lbl_803A2080@ha
/* 8032F1E0 0032C120 38 A4 20 80 */ addi r5, r4, lbl_803A2080@l
/* 8032F1E4 0032C124 80 85 00 00 */ lwz r4, 0(r5)
/* 8032F1E8 0032C128 80 05 00 04 */ lwz r0, 4(r5)
/* 8032F1EC 0032C12C 90 81 00 14 */ stw r4, 0x14(r1)
/* 8032F1F0 0032C130 90 01 00 18 */ stw r0, 0x18(r1)
/* 8032F1F4 0032C134 80 05 00 08 */ lwz r0, 8(r5)
/* 8032F1F8 0032C138 90 01 00 1C */ stw r0, 0x1c(r1)
/* 8032F1FC 0032C13C C0 01 00 14 */ lfs f0, 0x14(r1)
/* 8032F200 0032C140 D0 03 00 3C */ stfs f0, 0x3c(r3)
/* 8032F204 0032C144 C0 01 00 18 */ lfs f0, 0x18(r1)
/* 8032F208 0032C148 D0 03 00 40 */ stfs f0, 0x40(r3)
/* 8032F20C 0032C14C C0 01 00 1C */ lfs f0, 0x1c(r1)
/* 8032F210 0032C150 D0 03 00 44 */ stfs f0, 0x44(r3)
/* 8032F214 0032C154 3C 80 80 3A */ lis r4, lbl_803A208C@ha
/* 8032F218 0032C158 38 A4 20 8C */ addi r5, r4, lbl_803A208C@l
/* 8032F21C 0032C15C 80 85 00 00 */ lwz r4, 0(r5)
/* 8032F220 0032C160 80 05 00 04 */ lwz r0, 4(r5)
/* 8032F224 0032C164 90 81 00 08 */ stw r4, 8(r1)
/* 8032F228 0032C168 90 01 00 0C */ stw r0, 0xc(r1)
/* 8032F22C 0032C16C 80 05 00 08 */ lwz r0, 8(r5)
/* 8032F230 0032C170 90 01 00 10 */ stw r0, 0x10(r1)
/* 8032F234 0032C174 C0 01 00 08 */ lfs f0, 8(r1)
/* 8032F238 0032C178 D0 03 00 48 */ stfs f0, 0x48(r3)
/* 8032F23C 0032C17C C0 01 00 0C */ lfs f0, 0xc(r1)
/* 8032F240 0032C180 D0 03 00 4C */ stfs f0, 0x4c(r3)
/* 8032F244 0032C184 C0 01 00 10 */ lfs f0, 0x10(r1)
/* 8032F248 0032C188 D0 03 00 50 */ stfs f0, 0x50(r3)
/* 8032F24C 0032C18C 38 21 00 20 */ addi r1, r1, 0x20
/* 8032F250 0032C190 4E 80 00 20 */ blr
.global J3DJoint_NS_entryIn
J3DJoint_NS_entryIn:
/* 8032F254 0032C194 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8032F258 0032C198 7C 08 02 A6 */ mflr r0
/* 8032F25C 0032C19C 90 01 00 24 */ stw r0, 0x24(r1)
/* 8032F260 0032C1A0 39 61 00 20 */ addi r11, r1, 0x20
/* 8032F264 0032C1A4 48 03 2F 71 */ bl func_803621D4
/* 8032F268 0032C1A8 3C 80 80 43 */ lis r4, lbl_80434AC8@ha
/* 8032F26C 0032C1AC 3B E4 4A C8 */ addi r31, r4, lbl_80434AC8@l
/* 8032F270 0032C1B0 80 9F 00 38 */ lwz r4, 0x38(r31)
/* 8032F274 0032C1B4 80 84 00 84 */ lwz r4, 0x84(r4)
/* 8032F278 0032C1B8 80 84 00 0C */ lwz r4, 0xc(r4)
/* 8032F27C 0032C1BC A0 03 00 14 */ lhz r0, 0x14(r3)
/* 8032F280 0032C1C0 1C 00 00 30 */ mulli r0, r0, 0x30
/* 8032F284 0032C1C4 7F C4 02 14 */ add r30, r4, r0
/* 8032F288 0032C1C8 80 9F 00 48 */ lwz r4, 0x48(r31)
/* 8032F28C 0032C1CC 93 C4 00 1C */ stw r30, 0x1c(r4)
/* 8032F290 0032C1D0 80 9F 00 4C */ lwz r4, 0x4c(r31)
/* 8032F294 0032C1D4 93 C4 00 1C */ stw r30, 0x1c(r4)
/* 8032F298 0032C1D8 83 83 00 58 */ lwz r28, 0x58(r3)
/* 8032F29C 0032C1DC 48 00 01 3C */ b lbl_8032F3D8
lbl_8032F2A0:
/* 8032F2A0 0032C1E0 80 9C 00 08 */ lwz r4, 8(r28)
/* 8032F2A4 0032C1E4 80 04 00 0C */ lwz r0, 0xc(r4)
/* 8032F2A8 0032C1E8 54 00 07 FF */ clrlwi. r0, r0, 0x1f
/* 8032F2AC 0032C1EC 41 82 00 0C */ beq lbl_8032F2B8
/* 8032F2B0 0032C1F0 83 9C 00 04 */ lwz r28, 4(r28)
/* 8032F2B4 0032C1F4 48 00 01 24 */ b lbl_8032F3D8
lbl_8032F2B8:
/* 8032F2B8 0032C1F8 A0 1C 00 14 */ lhz r0, 0x14(r28)
/* 8032F2BC 0032C1FC 80 BF 00 38 */ lwz r5, 0x38(r31)
/* 8032F2C0 0032C200 80 65 00 C0 */ lwz r3, 0xc0(r5)
/* 8032F2C4 0032C204 54 00 32 B2 */ rlwinm r0, r0, 6, 0xa, 0x19
/* 8032F2C8 0032C208 7F A3 02 14 */ add r29, r3, r0
/* 8032F2CC 0032C20C A0 04 00 08 */ lhz r0, 8(r4)
/* 8032F2D0 0032C210 80 65 00 C4 */ lwz r3, 0xc4(r5)
/* 8032F2D4 0032C214 1C 00 00 3C */ mulli r0, r0, 0x3c
/* 8032F2D8 0032C218 7F 63 02 14 */ add r27, r3, r0
/* 8032F2DC 0032C21C 80 1D 00 10 */ lwz r0, 0x10(r29)
/* 8032F2E0 0032C220 54 00 07 FF */ clrlwi. r0, r0, 0x1f
/* 8032F2E4 0032C224 40 82 00 68 */ bne lbl_8032F34C
/* 8032F2E8 0032C228 80 7C 00 3C */ lwz r3, 0x3c(r28)
/* 8032F2EC 0032C22C 3C 00 C0 00 */ lis r0, 0xc000
/* 8032F2F0 0032C230 7C 03 00 40 */ cmplw r3, r0
/* 8032F2F4 0032C234 40 80 00 0C */ bge lbl_8032F300
/* 8032F2F8 0032C238 7C 60 1B 78 */ mr r0, r3
/* 8032F2FC 0032C23C 48 00 00 08 */ b lbl_8032F304
lbl_8032F300:
/* 8032F300 0032C240 38 00 00 00 */ li r0, 0
lbl_8032F304:
/* 8032F304 0032C244 28 00 00 00 */ cmplwi r0, 0
/* 8032F308 0032C248 41 82 00 2C */ beq lbl_8032F334
/* 8032F30C 0032C24C 3C 00 C0 00 */ lis r0, 0xc000
/* 8032F310 0032C250 7C 03 00 40 */ cmplw r3, r0
/* 8032F314 0032C254 40 80 00 08 */ bge lbl_8032F31C
/* 8032F318 0032C258 48 00 00 08 */ b lbl_8032F320
lbl_8032F31C:
/* 8032F31C 0032C25C 38 60 00 00 */ li r3, 0
lbl_8032F320:
/* 8032F320 0032C260 7F 84 E3 78 */ mr r4, r28
/* 8032F324 0032C264 81 83 00 00 */ lwz r12, 0(r3)
/* 8032F328 0032C268 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 8032F32C 0032C26C 7D 89 03 A6 */ mtctr r12
/* 8032F330 0032C270 4E 80 04 21 */ bctrl
lbl_8032F334:
/* 8032F334 0032C274 7F 83 E3 78 */ mr r3, r28
/* 8032F338 0032C278 7F C4 F3 78 */ mr r4, r30
/* 8032F33C 0032C27C 81 9C 00 00 */ lwz r12, 0(r28)
/* 8032F340 0032C280 81 8C 00 08 */ lwz r12, 8(r12)
/* 8032F344 0032C284 7D 89 03 A6 */ mtctr r12
/* 8032F348 0032C288 4E 80 04 21 */ bctrl
lbl_8032F34C:
/* 8032F34C 0032C28C 7F 83 E3 78 */ mr r3, r28
/* 8032F350 0032C290 4B FE 77 61 */ bl J3DMaterial_NS_setCurrentMtx
/* 8032F354 0032C294 80 7C 00 3C */ lwz r3, 0x3c(r28)
/* 8032F358 0032C298 3C 00 C0 00 */ lis r0, 0xc000
/* 8032F35C 0032C29C 7C 03 00 40 */ cmplw r3, r0
/* 8032F360 0032C2A0 40 80 00 08 */ bge lbl_8032F368
/* 8032F364 0032C2A4 48 00 00 08 */ b lbl_8032F36C
lbl_8032F368:
/* 8032F368 0032C2A8 38 60 00 00 */ li r3, 0
lbl_8032F36C:
/* 8032F36C 0032C2AC 90 7D 00 3C */ stw r3, 0x3c(r29)
/* 8032F370 0032C2B0 93 7D 00 2C */ stw r27, 0x2c(r29)
/* 8032F374 0032C2B4 80 1C 00 10 */ lwz r0, 0x10(r28)
/* 8032F378 0032C2B8 54 00 07 BE */ clrlwi r0, r0, 0x1e
/* 8032F37C 0032C2BC 7C 00 00 34 */ cntlzw r0, r0
/* 8032F380 0032C2C0 54 04 ED BA */ rlwinm r4, r0, 0x1d, 0x16, 0x1d
/* 8032F384 0032C2C4 3C 60 80 43 */ lis r3, lbl_80434AC8@ha
/* 8032F388 0032C2C8 38 03 4A C8 */ addi r0, r3, lbl_80434AC8@l
/* 8032F38C 0032C2CC 7C 60 22 14 */ add r3, r0, r4
/* 8032F390 0032C2D0 80 83 00 48 */ lwz r4, 0x48(r3)
/* 8032F394 0032C2D4 7F A3 EB 78 */ mr r3, r29
/* 8032F398 0032C2D8 81 9D 00 00 */ lwz r12, 0(r29)
/* 8032F39C 0032C2DC 81 8C 00 08 */ lwz r12, 8(r12)
/* 8032F3A0 0032C2E0 7D 89 03 A6 */ mtctr r12
/* 8032F3A4 0032C2E4 4E 80 04 21 */ bctrl
/* 8032F3A8 0032C2E8 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 8032F3AC 0032C2EC 41 82 00 28 */ beq lbl_8032F3D4
/* 8032F3B0 0032C2F0 93 BF 00 3C */ stw r29, 0x3c(r31)
/* 8032F3B4 0032C2F4 80 6D 90 60 */ lwz r3, lbl_804515E0-_SDA_BASE_(r13)
/* 8032F3B8 0032C2F8 38 03 00 01 */ addi r0, r3, 1
/* 8032F3BC 0032C2FC 90 0D 90 60 */ stw r0, lbl_804515E0-_SDA_BASE_(r13)
/* 8032F3C0 0032C300 7F 83 E3 78 */ mr r3, r28
/* 8032F3C4 0032C304 81 9C 00 00 */ lwz r12, 0(r28)
/* 8032F3C8 0032C308 81 8C 00 10 */ lwz r12, 0x10(r12)
/* 8032F3CC 0032C30C 7D 89 03 A6 */ mtctr r12
/* 8032F3D0 0032C310 4E 80 04 21 */ bctrl
lbl_8032F3D4:
/* 8032F3D4 0032C314 83 9C 00 04 */ lwz r28, 4(r28)
lbl_8032F3D8:
/* 8032F3D8 0032C318 28 1C 00 00 */ cmplwi r28, 0
/* 8032F3DC 0032C31C 40 82 FE C4 */ bne lbl_8032F2A0
/* 8032F3E0 0032C320 39 61 00 20 */ addi r11, r1, 0x20
/* 8032F3E4 0032C324 48 03 2E 3D */ bl func_80362220
/* 8032F3E8 0032C328 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8032F3EC 0032C32C 7C 08 03 A6 */ mtlr r0
/* 8032F3F0 0032C330 38 21 00 20 */ addi r1, r1, 0x20
/* 8032F3F4 0032C334 4E 80 00 20 */ blr
.global J3DJoint_NS_recursiveCalc
J3DJoint_NS_recursiveCalc:
/* 8032F3F8 0032C338 94 21 FF 50 */ stwu r1, -0xb0(r1)
/* 8032F3FC 0032C33C 7C 08 02 A6 */ mflr r0
/* 8032F400 0032C340 90 01 00 B4 */ stw r0, 0xb4(r1)
/* 8032F404 0032C344 DB E1 00 A0 */ stfd f31, 0xa0(r1)
/* 8032F408 0032C348 F3 E1 00 A8 */ psq_st f31, 168(r1), 0, qr0
/* 8032F40C 0032C34C DB C1 00 90 */ stfd f30, 0x90(r1)
/* 8032F410 0032C350 F3 C1 00 98 */ psq_st f30, 152(r1), 0, qr0
/* 8032F414 0032C354 DB A1 00 80 */ stfd f29, 0x80(r1)
/* 8032F418 0032C358 F3 A1 00 88 */ psq_st f29, 136(r1), 0, qr0
/* 8032F41C 0032C35C DB 81 00 70 */ stfd f28, 0x70(r1)
/* 8032F420 0032C360 F3 81 00 78 */ psq_st f28, 120(r1), 0, qr0
/* 8032F424 0032C364 DB 61 00 60 */ stfd f27, 0x60(r1)
/* 8032F428 0032C368 F3 61 00 68 */ psq_st f27, 104(r1), 0, qr0
/* 8032F42C 0032C36C DB 41 00 50 */ stfd f26, 0x50(r1)
/* 8032F430 0032C370 F3 41 00 58 */ psq_st f26, 88(r1), 0, qr0
/* 8032F434 0032C374 39 61 00 50 */ addi r11, r1, 0x50
/* 8032F438 0032C378 48 03 2D 9D */ bl func_803621D4
/* 8032F43C 0032C37C 7C 7E 1B 78 */ mr r30, r3
/* 8032F440 0032C380 3B E0 00 00 */ li r31, 0
/* 8032F444 0032C384 3C 60 80 43 */ lis r3, lbl_80434BE4@ha
/* 8032F448 0032C388 38 63 4B E4 */ addi r3, r3, lbl_80434BE4@l
/* 8032F44C 0032C38C 38 81 00 08 */ addi r4, r1, 8
/* 8032F450 0032C390 48 01 70 61 */ bl PSMTXCopy
/* 8032F454 0032C394 3C 60 80 43 */ lis r3, lbl_80434C14@ha
/* 8032F458 0032C398 3B 83 4C 14 */ addi r28, r3, lbl_80434C14@l
/* 8032F45C 0032C39C C3 FC 00 00 */ lfs f31, 0(r28)
/* 8032F460 0032C3A0 C3 DC 00 04 */ lfs f30, 4(r28)
/* 8032F464 0032C3A4 C3 BC 00 08 */ lfs f29, 8(r28)
/* 8032F468 0032C3A8 3C 60 80 43 */ lis r3, lbl_80434C20@ha
/* 8032F46C 0032C3AC 3B A3 4C 20 */ addi r29, r3, lbl_80434C20@l
/* 8032F470 0032C3B0 C3 9D 00 00 */ lfs f28, 0(r29)
/* 8032F474 0032C3B4 C3 7D 00 04 */ lfs f27, 4(r29)
/* 8032F478 0032C3B8 C3 5D 00 08 */ lfs f26, 8(r29)
/* 8032F47C 0032C3BC 80 7E 00 54 */ lwz r3, 0x54(r30)
/* 8032F480 0032C3C0 28 03 00 00 */ cmplwi r3, 0
/* 8032F484 0032C3C4 41 82 00 24 */ beq lbl_8032F4A8
/* 8032F488 0032C3C8 83 ED 90 78 */ lwz r31, lbl_804515F8-_SDA_BASE_(r13)
/* 8032F48C 0032C3CC 90 6D 90 78 */ stw r3, lbl_804515F8-_SDA_BASE_(r13)
/* 8032F490 0032C3D0 93 CD 90 74 */ stw r30, lbl_804515F4-_SDA_BASE_(r13)
/* 8032F494 0032C3D4 81 83 00 00 */ lwz r12, 0(r3)
/* 8032F498 0032C3D8 81 8C 00 28 */ lwz r12, 0x28(r12)
/* 8032F49C 0032C3DC 7D 89 03 A6 */ mtctr r12
/* 8032F4A0 0032C3E0 4E 80 04 21 */ bctrl
/* 8032F4A4 0032C3E4 48 00 00 24 */ b lbl_8032F4C8
lbl_8032F4A8:
/* 8032F4A8 0032C3E8 80 6D 90 78 */ lwz r3, lbl_804515F8-_SDA_BASE_(r13)
/* 8032F4AC 0032C3EC 28 03 00 00 */ cmplwi r3, 0
/* 8032F4B0 0032C3F0 41 82 00 18 */ beq lbl_8032F4C8
/* 8032F4B4 0032C3F4 93 CD 90 74 */ stw r30, lbl_804515F4-_SDA_BASE_(r13)
/* 8032F4B8 0032C3F8 81 83 00 00 */ lwz r12, 0(r3)
/* 8032F4BC 0032C3FC 81 8C 00 28 */ lwz r12, 0x28(r12)
/* 8032F4C0 0032C400 7D 89 03 A6 */ mtctr r12
/* 8032F4C4 0032C404 4E 80 04 21 */ bctrl
lbl_8032F4C8:
/* 8032F4C8 0032C408 83 7E 00 04 */ lwz r27, 4(r30)
/* 8032F4CC 0032C40C 28 1B 00 00 */ cmplwi r27, 0
/* 8032F4D0 0032C410 41 82 00 18 */ beq lbl_8032F4E8
/* 8032F4D4 0032C414 7F C3 F3 78 */ mr r3, r30
/* 8032F4D8 0032C418 38 80 00 00 */ li r4, 0
/* 8032F4DC 0032C41C 7F 6C DB 78 */ mr r12, r27
/* 8032F4E0 0032C420 7D 89 03 A6 */ mtctr r12
/* 8032F4E4 0032C424 4E 80 04 21 */ bctrl
lbl_8032F4E8:
/* 8032F4E8 0032C428 80 7E 00 0C */ lwz r3, 0xc(r30)
/* 8032F4EC 0032C42C 28 03 00 00 */ cmplwi r3, 0
/* 8032F4F0 0032C430 41 82 00 08 */ beq lbl_8032F4F8
/* 8032F4F4 0032C434 4B FF FF 05 */ bl J3DJoint_NS_recursiveCalc
lbl_8032F4F8:
/* 8032F4F8 0032C438 38 61 00 08 */ addi r3, r1, 8
/* 8032F4FC 0032C43C 3C 80 80 43 */ lis r4, lbl_80434BE4@ha
/* 8032F500 0032C440 38 84 4B E4 */ addi r4, r4, lbl_80434BE4@l
/* 8032F504 0032C444 48 01 6F AD */ bl PSMTXCopy
/* 8032F508 0032C448 3C 60 80 43 */ lis r3, lbl_80434C14@ha
/* 8032F50C 0032C44C D3 E3 4C 14 */ stfs f31, lbl_80434C14@l(r3)
/* 8032F510 0032C450 D3 DC 00 04 */ stfs f30, 4(r28)
/* 8032F514 0032C454 D3 BC 00 08 */ stfs f29, 8(r28)
/* 8032F518 0032C458 3C 60 80 43 */ lis r3, lbl_80434C20@ha
/* 8032F51C 0032C45C D3 83 4C 20 */ stfs f28, lbl_80434C20@l(r3)
/* 8032F520 0032C460 D3 7D 00 04 */ stfs f27, 4(r29)
/* 8032F524 0032C464 D3 5D 00 08 */ stfs f26, 8(r29)
/* 8032F528 0032C468 28 1F 00 00 */ cmplwi r31, 0
/* 8032F52C 0032C46C 41 82 00 08 */ beq lbl_8032F534
/* 8032F530 0032C470 93 ED 90 78 */ stw r31, lbl_804515F8-_SDA_BASE_(r13)
lbl_8032F534:
/* 8032F534 0032C474 28 1B 00 00 */ cmplwi r27, 0
/* 8032F538 0032C478 41 82 00 18 */ beq lbl_8032F550
/* 8032F53C 0032C47C 7F C3 F3 78 */ mr r3, r30
/* 8032F540 0032C480 38 80 00 01 */ li r4, 1
/* 8032F544 0032C484 7F 6C DB 78 */ mr r12, r27
/* 8032F548 0032C488 7D 89 03 A6 */ mtctr r12
/* 8032F54C 0032C48C 4E 80 04 21 */ bctrl
lbl_8032F550:
/* 8032F550 0032C490 80 7E 00 10 */ lwz r3, 0x10(r30)
/* 8032F554 0032C494 28 03 00 00 */ cmplwi r3, 0
/* 8032F558 0032C498 41 82 00 08 */ beq lbl_8032F560
/* 8032F55C 0032C49C 4B FF FE 9D */ bl J3DJoint_NS_recursiveCalc
lbl_8032F560:
/* 8032F560 0032C4A0 E3 E1 00 A8 */ psq_l f31, 168(r1), 0, qr0
/* 8032F564 0032C4A4 CB E1 00 A0 */ lfd f31, 0xa0(r1)
/* 8032F568 0032C4A8 E3 C1 00 98 */ psq_l f30, 152(r1), 0, qr0
/* 8032F56C 0032C4AC CB C1 00 90 */ lfd f30, 0x90(r1)
/* 8032F570 0032C4B0 E3 A1 00 88 */ psq_l f29, 136(r1), 0, qr0
/* 8032F574 0032C4B4 CB A1 00 80 */ lfd f29, 0x80(r1)
/* 8032F578 0032C4B8 E3 81 00 78 */ psq_l f28, 120(r1), 0, qr0
/* 8032F57C 0032C4BC CB 81 00 70 */ lfd f28, 0x70(r1)
/* 8032F580 0032C4C0 E3 61 00 68 */ psq_l f27, 104(r1), 0, qr0
/* 8032F584 0032C4C4 CB 61 00 60 */ lfd f27, 0x60(r1)
/* 8032F588 0032C4C8 E3 41 00 58 */ psq_l f26, 88(r1), 0, qr0
/* 8032F58C 0032C4CC CB 41 00 50 */ lfd f26, 0x50(r1)
/* 8032F590 0032C4D0 39 61 00 50 */ addi r11, r1, 0x50
/* 8032F594 0032C4D4 48 03 2C 8D */ bl func_80362220
/* 8032F598 0032C4D8 80 01 00 B4 */ lwz r0, 0xb4(r1)
/* 8032F59C 0032C4DC 7C 08 03 A6 */ mtlr r0
/* 8032F5A0 0032C4E0 38 21 00 B0 */ addi r1, r1, 0xb0
/* 8032F5A4 0032C4E4 4E 80 00 20 */ blr

View File

@ -0,0 +1,253 @@
.include "macros.inc"
.section .text, "ax" # 80325a18
.global J3DJointTree
J3DJointTree:
/* 80325A18 00322958 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80325A1C 0032295C 7C 08 02 A6 */ mflr r0
/* 80325A20 00322960 90 01 00 14 */ stw r0, 0x14(r1)
/* 80325A24 00322964 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80325A28 00322968 7C 7F 1B 78 */ mr r31, r3
/* 80325A2C 0032296C 3C 60 80 3D */ lis r3, lbl_803CECF4@ha
/* 80325A30 00322970 38 03 EC F4 */ addi r0, r3, lbl_803CECF4@l
/* 80325A34 00322974 90 1F 00 00 */ stw r0, 0(r31)
/* 80325A38 00322978 38 00 00 00 */ li r0, 0
/* 80325A3C 0032297C 90 1F 00 04 */ stw r0, 4(r31)
/* 80325A40 00322980 90 1F 00 08 */ stw r0, 8(r31)
/* 80325A44 00322984 90 1F 00 0C */ stw r0, 0xc(r31)
/* 80325A48 00322988 90 1F 00 10 */ stw r0, 0x10(r31)
/* 80325A4C 0032298C 90 1F 00 14 */ stw r0, 0x14(r31)
/* 80325A50 00322990 90 1F 00 18 */ stw r0, 0x18(r31)
/* 80325A54 00322994 B0 1F 00 1C */ sth r0, 0x1c(r31)
/* 80325A58 00322998 B0 1F 00 1E */ sth r0, 0x1e(r31)
/* 80325A5C 0032299C 90 1F 00 20 */ stw r0, 0x20(r31)
/* 80325A60 003229A0 90 1F 00 24 */ stw r0, 0x24(r31)
/* 80325A64 003229A4 90 1F 00 28 */ stw r0, 0x28(r31)
/* 80325A68 003229A8 90 1F 00 2C */ stw r0, 0x2c(r31)
/* 80325A6C 003229AC 90 1F 00 30 */ stw r0, 0x30(r31)
/* 80325A70 003229B0 38 7F 00 34 */ addi r3, r31, 0x34
/* 80325A74 003229B4 4B FE BB 6D */ bl J3DDrawMtxData
/* 80325A78 003229B8 38 00 00 00 */ li r0, 0
/* 80325A7C 003229BC 90 1F 00 40 */ stw r0, 0x40(r31)
/* 80325A80 003229C0 90 1F 00 44 */ stw r0, 0x44(r31)
/* 80325A84 003229C4 7F E3 FB 78 */ mr r3, r31
/* 80325A88 003229C8 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80325A8C 003229CC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80325A90 003229D0 7C 08 03 A6 */ mtlr r0
/* 80325A94 003229D4 38 21 00 10 */ addi r1, r1, 0x10
/* 80325A98 003229D8 4E 80 00 20 */ blr
.global J3DJointTree_NS_makeHierarchy
J3DJointTree_NS_makeHierarchy:
/* 80325A9C 003229DC 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 80325AA0 003229E0 7C 08 02 A6 */ mflr r0
/* 80325AA4 003229E4 90 01 00 34 */ stw r0, 0x34(r1)
/* 80325AA8 003229E8 39 61 00 30 */ addi r11, r1, 0x30
/* 80325AAC 003229EC 48 03 C7 19 */ bl func_803621C4
/* 80325AB0 003229F0 7C 77 1B 78 */ mr r23, r3
/* 80325AB4 003229F4 7C 98 23 78 */ mr r24, r4
/* 80325AB8 003229F8 7C B9 2B 78 */ mr r25, r5
/* 80325ABC 003229FC 7C DA 33 78 */ mr r26, r6
/* 80325AC0 00322A00 7C FB 3B 78 */ mr r27, r7
/* 80325AC4 00322A04 7F 1F C3 78 */ mr r31, r24
lbl_80325AC8:
/* 80325AC8 00322A08 3B C0 00 00 */ li r30, 0
/* 80325ACC 00322A0C 3B A0 00 00 */ li r29, 0
/* 80325AD0 00322A10 3B 80 00 00 */ li r28, 0
/* 80325AD4 00322A14 80 99 00 00 */ lwz r4, 0(r25)
/* 80325AD8 00322A18 A0 04 00 00 */ lhz r0, 0(r4)
/* 80325ADC 00322A1C 28 00 00 12 */ cmplwi r0, 0x12
/* 80325AE0 00322A20 41 81 00 A0 */ bgt lbl_80325B80
/* 80325AE4 00322A24 3C 60 80 3D */ lis r3, lbl_803CECA8@ha
/* 80325AE8 00322A28 38 63 EC A8 */ addi r3, r3, lbl_803CECA8@l
/* 80325AEC 00322A2C 54 00 10 3A */ slwi r0, r0, 2
/* 80325AF0 00322A30 7C 03 00 2E */ lwzx r0, r3, r0
/* 80325AF4 00322A34 7C 09 03 A6 */ mtctr r0
/* 80325AF8 00322A38 4E 80 04 20 */ bctr
/* 80325AFC 00322A3C 38 04 00 04 */ addi r0, r4, 4
/* 80325B00 00322A40 90 19 00 00 */ stw r0, 0(r25)
/* 80325B04 00322A44 7E E3 BB 78 */ mr r3, r23
/* 80325B08 00322A48 7F E4 FB 78 */ mr r4, r31
/* 80325B0C 00322A4C 7F 25 CB 78 */ mr r5, r25
/* 80325B10 00322A50 7F 46 D3 78 */ mr r6, r26
/* 80325B14 00322A54 7F 67 DB 78 */ mr r7, r27
/* 80325B18 00322A58 4B FF FF 85 */ bl J3DJointTree_NS_makeHierarchy
/* 80325B1C 00322A5C 48 00 00 64 */ b lbl_80325B80
/* 80325B20 00322A60 38 04 00 04 */ addi r0, r4, 4
/* 80325B24 00322A64 90 19 00 00 */ stw r0, 0(r25)
/* 80325B28 00322A68 48 00 00 C0 */ b lbl_80325BE8
/* 80325B2C 00322A6C 48 00 00 BC */ b lbl_80325BE8
/* 80325B30 00322A70 80 77 00 18 */ lwz r3, 0x18(r23)
/* 80325B34 00322A74 38 04 00 04 */ addi r0, r4, 4
/* 80325B38 00322A78 90 19 00 00 */ stw r0, 0(r25)
/* 80325B3C 00322A7C A0 04 00 02 */ lhz r0, 2(r4)
/* 80325B40 00322A80 54 00 10 3A */ slwi r0, r0, 2
/* 80325B44 00322A84 7F C3 00 2E */ lwzx r30, r3, r0
/* 80325B48 00322A88 48 00 00 38 */ b lbl_80325B80
/* 80325B4C 00322A8C 38 04 00 04 */ addi r0, r4, 4
/* 80325B50 00322A90 90 19 00 00 */ stw r0, 0(r25)
/* 80325B54 00322A94 A0 04 00 02 */ lhz r0, 2(r4)
/* 80325B58 00322A98 80 7A 00 08 */ lwz r3, 8(r26)
/* 80325B5C 00322A9C 54 00 10 3A */ slwi r0, r0, 2
/* 80325B60 00322AA0 7F A3 00 2E */ lwzx r29, r3, r0
/* 80325B64 00322AA4 48 00 00 1C */ b lbl_80325B80
/* 80325B68 00322AA8 38 04 00 04 */ addi r0, r4, 4
/* 80325B6C 00322AAC 90 19 00 00 */ stw r0, 0(r25)
/* 80325B70 00322AB0 A0 04 00 02 */ lhz r0, 2(r4)
/* 80325B74 00322AB4 80 7B 00 08 */ lwz r3, 8(r27)
/* 80325B78 00322AB8 54 00 10 3A */ slwi r0, r0, 2
/* 80325B7C 00322ABC 7F 83 00 2E */ lwzx r28, r3, r0
lbl_80325B80:
/* 80325B80 00322AC0 28 1E 00 00 */ cmplwi r30, 0
/* 80325B84 00322AC4 41 82 00 28 */ beq lbl_80325BAC
/* 80325B88 00322AC8 7F DF F3 78 */ mr r31, r30
/* 80325B8C 00322ACC 28 18 00 00 */ cmplwi r24, 0
/* 80325B90 00322AD0 40 82 00 0C */ bne lbl_80325B9C
/* 80325B94 00322AD4 93 D7 00 10 */ stw r30, 0x10(r23)
/* 80325B98 00322AD8 4B FF FF 30 */ b lbl_80325AC8
lbl_80325B9C:
/* 80325B9C 00322ADC 7F 03 C3 78 */ mr r3, r24
/* 80325BA0 00322AE0 7F C4 F3 78 */ mr r4, r30
/* 80325BA4 00322AE4 48 00 95 99 */ bl J3DJoint_NS_appendChild
/* 80325BA8 00322AE8 4B FF FF 20 */ b lbl_80325AC8
lbl_80325BAC:
/* 80325BAC 00322AEC 28 1D 00 00 */ cmplwi r29, 0
/* 80325BB0 00322AF0 41 82 00 20 */ beq lbl_80325BD0
/* 80325BB4 00322AF4 80 18 00 58 */ lwz r0, 0x58(r24)
/* 80325BB8 00322AF8 28 00 00 00 */ cmplwi r0, 0
/* 80325BBC 00322AFC 41 82 00 08 */ beq lbl_80325BC4
/* 80325BC0 00322B00 90 1D 00 04 */ stw r0, 4(r29)
lbl_80325BC4:
/* 80325BC4 00322B04 93 B8 00 58 */ stw r29, 0x58(r24)
/* 80325BC8 00322B08 93 1D 00 0C */ stw r24, 0xc(r29)
/* 80325BCC 00322B0C 4B FF FE FC */ b lbl_80325AC8
lbl_80325BD0:
/* 80325BD0 00322B10 28 1C 00 00 */ cmplwi r28, 0
/* 80325BD4 00322B14 41 82 FE F4 */ beq lbl_80325AC8
/* 80325BD8 00322B18 80 78 00 58 */ lwz r3, 0x58(r24)
/* 80325BDC 00322B1C 93 83 00 08 */ stw r28, 8(r3)
/* 80325BE0 00322B20 90 7C 00 04 */ stw r3, 4(r28)
/* 80325BE4 00322B24 4B FF FE E4 */ b lbl_80325AC8
lbl_80325BE8:
/* 80325BE8 00322B28 39 61 00 30 */ addi r11, r1, 0x30
/* 80325BEC 00322B2C 48 03 C6 25 */ bl func_80362210
/* 80325BF0 00322B30 80 01 00 34 */ lwz r0, 0x34(r1)
/* 80325BF4 00322B34 7C 08 03 A6 */ mtlr r0
/* 80325BF8 00322B38 38 21 00 30 */ addi r1, r1, 0x30
/* 80325BFC 00322B3C 4E 80 00 20 */ blr
.global J3DJointTree_NS_findImportantMtxIndex
J3DJointTree_NS_findImportantMtxIndex:
/* 80325C00 00322B40 A0 E3 00 1E */ lhz r7, 0x1e(r3)
/* 80325C04 00322B44 38 80 00 00 */ li r4, 0
/* 80325C08 00322B48 38 A0 00 00 */ li r5, 0
/* 80325C0C 00322B4C A0 03 00 36 */ lhz r0, 0x36(r3)
/* 80325C10 00322B50 81 03 00 24 */ lwz r8, 0x24(r3)
/* 80325C14 00322B54 81 23 00 28 */ lwz r9, 0x28(r3)
/* 80325C18 00322B58 81 43 00 30 */ lwz r10, 0x30(r3)
/* 80325C1C 00322B5C 39 80 00 00 */ li r12, 0
/* 80325C20 00322B60 48 00 00 18 */ b lbl_80325C38
lbl_80325C24:
/* 80325C24 00322B64 55 8B 0B FC */ rlwinm r11, r12, 1, 0xf, 0x1e
/* 80325C28 00322B68 80 C3 00 3C */ lwz r6, 0x3c(r3)
/* 80325C2C 00322B6C 7C C6 5A 2E */ lhzx r6, r6, r11
/* 80325C30 00322B70 7C CA 5B 2E */ sthx r6, r10, r11
/* 80325C34 00322B74 39 8C 00 01 */ addi r12, r12, 1
lbl_80325C38:
/* 80325C38 00322B78 55 86 04 3E */ clrlwi r6, r12, 0x10
/* 80325C3C 00322B7C 7C 06 00 40 */ cmplw r6, r0
/* 80325C40 00322B80 41 80 FF E4 */ blt lbl_80325C24
/* 80325C44 00322B84 39 60 00 00 */ li r11, 0
/* 80325C48 00322B88 48 00 00 58 */ b lbl_80325CA0
lbl_80325C4C:
/* 80325C4C 00322B8C 80 C3 00 20 */ lwz r6, 0x20(r3)
/* 80325C50 00322B90 55 60 04 3E */ clrlwi r0, r11, 0x10
/* 80325C54 00322B94 7C 06 00 AE */ lbzx r0, r6, r0
/* 80325C58 00322B98 38 C0 00 00 */ li r6, 0
/* 80325C5C 00322B9C C0 22 CA 18 */ lfs f1, lbl_80456418-_SDA2_BASE_(r2)
/* 80325C60 00322BA0 7C 09 03 A6 */ mtctr r0
/* 80325C64 00322BA4 2C 00 00 00 */ cmpwi r0, 0
/* 80325C68 00322BA8 40 81 00 24 */ ble lbl_80325C8C
lbl_80325C6C:
/* 80325C6C 00322BAC 7C 09 2C 2E */ lfsx f0, r9, r5
/* 80325C70 00322BB0 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80325C74 00322BB4 40 80 00 0C */ bge lbl_80325C80
/* 80325C78 00322BB8 FC 20 00 90 */ fmr f1, f0
/* 80325C7C 00322BBC 7C C8 22 2E */ lhzx r6, r8, r4
lbl_80325C80:
/* 80325C80 00322BC0 38 84 00 02 */ addi r4, r4, 2
/* 80325C84 00322BC4 38 A5 00 04 */ addi r5, r5, 4
/* 80325C88 00322BC8 42 00 FF E4 */ bdnz lbl_80325C6C
lbl_80325C8C:
/* 80325C8C 00322BCC A0 03 00 36 */ lhz r0, 0x36(r3)
/* 80325C90 00322BD0 7C 0B 02 14 */ add r0, r11, r0
/* 80325C94 00322BD4 54 00 08 3C */ slwi r0, r0, 1
/* 80325C98 00322BD8 7C CA 03 2E */ sthx r6, r10, r0
/* 80325C9C 00322BDC 39 6B 00 01 */ addi r11, r11, 1
lbl_80325CA0:
/* 80325CA0 00322BE0 7C 0B 38 00 */ cmpw r11, r7
/* 80325CA4 00322BE4 41 80 FF A8 */ blt lbl_80325C4C
/* 80325CA8 00322BE8 4E 80 00 20 */ blr
/* 80325CAC 00322BEC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80325CB0 00322BF0 7C 08 02 A6 */ mflr r0
/* 80325CB4 00322BF4 90 01 00 14 */ stw r0, 0x14(r1)
/* 80325CB8 00322BF8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80325CBC 00322BFC 93 C1 00 08 */ stw r30, 8(r1)
/* 80325CC0 00322C00 7C 7E 1B 78 */ mr r30, r3
/* 80325CC4 00322C04 7C 9F 23 78 */ mr r31, r4
/* 80325CC8 00322C08 80 63 00 14 */ lwz r3, 0x14(r3)
/* 80325CCC 00322C0C 7C A4 2B 78 */ mr r4, r5
/* 80325CD0 00322C10 7C C5 33 78 */ mr r5, r6
/* 80325CD4 00322C14 81 83 00 00 */ lwz r12, 0(r3)
/* 80325CD8 00322C18 81 8C 00 24 */ lwz r12, 0x24(r12)
/* 80325CDC 00322C1C 7D 89 03 A6 */ mtctr r12
/* 80325CE0 00322C20 4E 80 04 21 */ bctrl
/* 80325CE4 00322C24 7F E3 FB 78 */ mr r3, r31
/* 80325CE8 00322C28 48 00 00 35 */ bl J3DMtxCalc_NS_setMtxBuffer
/* 80325CEC 00322C2C 80 7E 00 10 */ lwz r3, 0x10(r30)
/* 80325CF0 00322C30 28 03 00 00 */ cmplwi r3, 0
/* 80325CF4 00322C34 41 82 00 10 */ beq lbl_80325D04
/* 80325CF8 00322C38 80 1E 00 14 */ lwz r0, 0x14(r30)
/* 80325CFC 00322C3C 90 0D 90 78 */ stw r0, lbl_804515F8-_SDA_BASE_(r13)
/* 80325D00 00322C40 48 00 96 F9 */ bl J3DJoint_NS_recursiveCalc
lbl_80325D04:
/* 80325D04 00322C44 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80325D08 00322C48 83 C1 00 08 */ lwz r30, 8(r1)
/* 80325D0C 00322C4C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80325D10 00322C50 7C 08 03 A6 */ mtlr r0
/* 80325D14 00322C54 38 21 00 10 */ addi r1, r1, 0x10
/* 80325D18 00322C58 4E 80 00 20 */ blr
.global J3DMtxCalc_NS_setMtxBuffer
J3DMtxCalc_NS_setMtxBuffer:
/* 80325D1C 00322C5C 90 6D 90 70 */ stw r3, lbl_804515F0-_SDA_BASE_(r13)
/* 80325D20 00322C60 4E 80 00 20 */ blr
/* 80325D24 00322C64 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80325D28 00322C68 7C 08 02 A6 */ mflr r0
/* 80325D2C 00322C6C 90 01 00 14 */ stw r0, 0x14(r1)
/* 80325D30 00322C70 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80325D34 00322C74 93 C1 00 08 */ stw r30, 8(r1)
/* 80325D38 00322C78 7C 7E 1B 79 */ or. r30, r3, r3
/* 80325D3C 00322C7C 7C 9F 23 78 */ mr r31, r4
/* 80325D40 00322C80 41 82 00 2C */ beq lbl_80325D6C
/* 80325D44 00322C84 3C 60 80 3D */ lis r3, lbl_803CECF4@ha
/* 80325D48 00322C88 38 03 EC F4 */ addi r0, r3, lbl_803CECF4@l
/* 80325D4C 00322C8C 90 1E 00 00 */ stw r0, 0(r30)
/* 80325D50 00322C90 38 7E 00 34 */ addi r3, r30, 0x34
/* 80325D54 00322C94 38 80 FF FF */ li r4, -1
/* 80325D58 00322C98 4B FE B8 9D */ bl J3DDrawMtxData_NS_dtor
/* 80325D5C 00322C9C 7F E0 07 35 */ extsh. r0, r31
/* 80325D60 00322CA0 40 81 00 0C */ ble lbl_80325D6C
/* 80325D64 00322CA4 7F C3 F3 78 */ mr r3, r30
/* 80325D68 00322CA8 4B FA 8F D5 */ bl __dl
lbl_80325D6C:
/* 80325D6C 00322CAC 7F C3 F3 78 */ mr r3, r30
/* 80325D70 00322CB0 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80325D74 00322CB4 83 C1 00 08 */ lwz r30, 8(r1)
/* 80325D78 00322CB8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80325D7C 00322CBC 7C 08 03 A6 */ mtlr r0
/* 80325D80 00322CC0 38 21 00 10 */ addi r1, r1, 0x10
/* 80325D84 00322CC4 4E 80 00 20 */ blr

View File

@ -0,0 +1,286 @@
.include "macros.inc"
.section .text, "ax" # 8032c320
.global J3DMaterialAnm_NS_initialize
J3DMaterialAnm_NS_initialize:
/* 8032C320 00329260 38 80 00 00 */ li r4, 0
/* 8032C324 00329264 7C 85 23 78 */ mr r5, r4
/* 8032C328 00329268 38 00 00 02 */ li r0, 2
/* 8032C32C 0032926C 7C 09 03 A6 */ mtctr r0
lbl_8032C330:
/* 8032C330 00329270 38 04 00 06 */ addi r0, r4, 6
/* 8032C334 00329274 7C A3 03 2E */ sthx r5, r3, r0
/* 8032C338 00329278 38 84 00 08 */ addi r4, r4, 8
/* 8032C33C 0032927C 42 00 FF F4 */ bdnz lbl_8032C330
/* 8032C340 00329280 38 80 00 00 */ li r4, 0
/* 8032C344 00329284 38 A0 00 00 */ li r5, 0
/* 8032C348 00329288 38 00 00 08 */ li r0, 8
/* 8032C34C 0032928C 7C 09 03 A6 */ mtctr r0
lbl_8032C350:
/* 8032C350 00329290 38 04 00 5A */ addi r0, r4, 0x5a
/* 8032C354 00329294 7C A3 03 2E */ sthx r5, r3, r0
/* 8032C358 00329298 38 84 00 0C */ addi r4, r4, 0xc
/* 8032C35C 0032929C 42 00 FF F4 */ bdnz lbl_8032C350
/* 8032C360 003292A0 38 80 00 00 */ li r4, 0
/* 8032C364 003292A4 38 A0 00 00 */ li r5, 0
/* 8032C368 003292A8 38 00 00 04 */ li r0, 4
/* 8032C36C 003292AC 7C 09 03 A6 */ mtctr r0
lbl_8032C370:
/* 8032C370 003292B0 38 04 00 B6 */ addi r0, r4, 0xb6
/* 8032C374 003292B4 7C A3 03 2E */ sthx r5, r3, r0
/* 8032C378 003292B8 38 84 00 08 */ addi r4, r4, 8
/* 8032C37C 003292BC 42 00 FF F4 */ bdnz lbl_8032C370
/* 8032C380 003292C0 38 80 00 00 */ li r4, 0
/* 8032C384 003292C4 38 A0 00 00 */ li r5, 0
/* 8032C388 003292C8 38 00 00 04 */ li r0, 4
/* 8032C38C 003292CC 7C 09 03 A6 */ mtctr r0
lbl_8032C390:
/* 8032C390 003292D0 38 04 00 D6 */ addi r0, r4, 0xd6
/* 8032C394 003292D4 7C A3 03 2E */ sthx r5, r3, r0
/* 8032C398 003292D8 38 84 00 08 */ addi r4, r4, 8
/* 8032C39C 003292DC 42 00 FF F4 */ bdnz lbl_8032C390
/* 8032C3A0 003292E0 38 80 00 00 */ li r4, 0
/* 8032C3A4 003292E4 38 A0 00 00 */ li r5, 0
/* 8032C3A8 003292E8 38 00 00 08 */ li r0, 8
/* 8032C3AC 003292EC 7C 09 03 A6 */ mtctr r0
lbl_8032C3B0:
/* 8032C3B0 003292F0 38 04 00 16 */ addi r0, r4, 0x16
/* 8032C3B4 003292F4 7C A3 03 2E */ sthx r5, r3, r0
/* 8032C3B8 003292F8 38 84 00 08 */ addi r4, r4, 8
/* 8032C3BC 003292FC 42 00 FF F4 */ bdnz lbl_8032C3B0
/* 8032C3C0 00329300 4E 80 00 20 */ blr
.global J3DMaterialAnm_NS_calc
J3DMaterialAnm_NS_calc:
/* 8032C3C4 00329304 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8032C3C8 00329308 7C 08 02 A6 */ mflr r0
/* 8032C3CC 0032930C 90 01 00 34 */ stw r0, 0x34(r1)
/* 8032C3D0 00329310 39 61 00 30 */ addi r11, r1, 0x30
/* 8032C3D4 00329314 48 03 5E 01 */ bl func_803621D4
/* 8032C3D8 00329318 7C 7E 1B 78 */ mr r30, r3
/* 8032C3DC 0032931C 7C 9F 23 78 */ mr r31, r4
/* 8032C3E0 00329320 3B 60 00 00 */ li r27, 0
/* 8032C3E4 00329324 3B A0 00 00 */ li r29, 0
lbl_8032C3E8:
/* 8032C3E8 00329328 7F 9E EA 14 */ add r28, r30, r29
/* 8032C3EC 0032932C A0 1C 00 06 */ lhz r0, 6(r28)
/* 8032C3F0 00329330 28 00 00 00 */ cmplwi r0, 0
/* 8032C3F4 00329334 41 82 00 38 */ beq lbl_8032C42C
/* 8032C3F8 00329338 80 7F 00 24 */ lwz r3, 0x24(r31)
/* 8032C3FC 0032933C 7F 64 DB 78 */ mr r4, r27
/* 8032C400 00329340 81 83 00 00 */ lwz r12, 0(r3)
/* 8032C404 00329344 81 8C 00 40 */ lwz r12, 0x40(r12)
/* 8032C408 00329348 7D 89 03 A6 */ mtctr r12
/* 8032C40C 0032934C 4E 80 04 21 */ bctrl
/* 8032C410 00329350 7C 65 1B 78 */ mr r5, r3
/* 8032C414 00329354 80 7C 00 08 */ lwz r3, 8(r28)
/* 8032C418 00329358 A0 9C 00 04 */ lhz r4, 4(r28)
/* 8032C41C 0032935C 81 83 00 00 */ lwz r12, 0(r3)
/* 8032C420 00329360 81 8C 00 10 */ lwz r12, 0x10(r12)
/* 8032C424 00329364 7D 89 03 A6 */ mtctr r12
/* 8032C428 00329368 4E 80 04 21 */ bctrl
lbl_8032C42C:
/* 8032C42C 0032936C 3B 7B 00 01 */ addi r27, r27, 1
/* 8032C430 00329370 28 1B 00 02 */ cmplwi r27, 2
/* 8032C434 00329374 3B BD 00 08 */ addi r29, r29, 8
/* 8032C438 00329378 41 80 FF B0 */ blt lbl_8032C3E8
/* 8032C43C 0032937C 3B 60 00 00 */ li r27, 0
/* 8032C440 00329380 3B A0 00 00 */ li r29, 0
lbl_8032C444:
/* 8032C444 00329384 7C 7E EA 14 */ add r3, r30, r29
/* 8032C448 00329388 A0 03 00 5A */ lhz r0, 0x5a(r3)
/* 8032C44C 0032938C 28 00 00 00 */ cmplwi r0, 0
/* 8032C450 00329390 41 82 00 34 */ beq lbl_8032C484
/* 8032C454 00329394 38 81 00 08 */ addi r4, r1, 8
/* 8032C458 00329398 85 83 00 54 */ lwzu r12, 0x54(r3)
/* 8032C45C 0032939C 81 8C 00 08 */ lwz r12, 8(r12)
/* 8032C460 003293A0 7D 89 03 A6 */ mtctr r12
/* 8032C464 003293A4 4E 80 04 21 */ bctrl
/* 8032C468 003293A8 80 7F 00 2C */ lwz r3, 0x2c(r31)
/* 8032C46C 003293AC 7F 64 DB 78 */ mr r4, r27
/* 8032C470 003293B0 A0 A1 00 08 */ lhz r5, 8(r1)
/* 8032C474 003293B4 81 83 00 00 */ lwz r12, 0(r3)
/* 8032C478 003293B8 81 8C 00 4C */ lwz r12, 0x4c(r12)
/* 8032C47C 003293BC 7D 89 03 A6 */ mtctr r12
/* 8032C480 003293C0 4E 80 04 21 */ bctrl
lbl_8032C484:
/* 8032C484 003293C4 3B 7B 00 01 */ addi r27, r27, 1
/* 8032C488 003293C8 28 1B 00 08 */ cmplwi r27, 8
/* 8032C48C 003293CC 3B BD 00 0C */ addi r29, r29, 0xc
/* 8032C490 003293D0 41 80 FF B4 */ blt lbl_8032C444
/* 8032C494 003293D4 3B 60 00 00 */ li r27, 0
/* 8032C498 003293D8 3B A0 00 00 */ li r29, 0
lbl_8032C49C:
/* 8032C49C 003293DC 7F 9E EA 14 */ add r28, r30, r29
/* 8032C4A0 003293E0 A0 1C 00 B6 */ lhz r0, 0xb6(r28)
/* 8032C4A4 003293E4 28 00 00 00 */ cmplwi r0, 0
/* 8032C4A8 003293E8 41 82 00 2C */ beq lbl_8032C4D4
/* 8032C4AC 003293EC 80 7F 00 2C */ lwz r3, 0x2c(r31)
/* 8032C4B0 003293F0 7F 64 DB 78 */ mr r4, r27
/* 8032C4B4 003293F4 81 83 00 00 */ lwz r12, 0(r3)
/* 8032C4B8 003293F8 81 8C 00 68 */ lwz r12, 0x68(r12)
/* 8032C4BC 003293FC 7D 89 03 A6 */ mtctr r12
/* 8032C4C0 00329400 4E 80 04 21 */ bctrl
/* 8032C4C4 00329404 7C 65 1B 78 */ mr r5, r3
/* 8032C4C8 00329408 80 7C 00 B8 */ lwz r3, 0xb8(r28)
/* 8032C4CC 0032940C A0 9C 00 B4 */ lhz r4, 0xb4(r28)
/* 8032C4D0 00329410 4B FF ED 29 */ bl J3DAnmTevRegKey_NS_getTevColorReg
lbl_8032C4D4:
/* 8032C4D4 00329414 3B 7B 00 01 */ addi r27, r27, 1
/* 8032C4D8 00329418 28 1B 00 03 */ cmplwi r27, 3
/* 8032C4DC 0032941C 3B BD 00 08 */ addi r29, r29, 8
/* 8032C4E0 00329420 41 80 FF BC */ blt lbl_8032C49C
/* 8032C4E4 00329424 3B 60 00 00 */ li r27, 0
/* 8032C4E8 00329428 3B A0 00 00 */ li r29, 0
lbl_8032C4EC:
/* 8032C4EC 0032942C 7F 9E EA 14 */ add r28, r30, r29
/* 8032C4F0 00329430 A0 1C 00 D6 */ lhz r0, 0xd6(r28)
/* 8032C4F4 00329434 28 00 00 00 */ cmplwi r0, 0
/* 8032C4F8 00329438 41 82 00 2C */ beq lbl_8032C524
/* 8032C4FC 0032943C 80 7F 00 2C */ lwz r3, 0x2c(r31)
/* 8032C500 00329440 7F 64 DB 78 */ mr r4, r27
/* 8032C504 00329444 81 83 00 00 */ lwz r12, 0(r3)
/* 8032C508 00329448 81 8C 00 74 */ lwz r12, 0x74(r12)
/* 8032C50C 0032944C 7D 89 03 A6 */ mtctr r12
/* 8032C510 00329450 4E 80 04 21 */ bctrl
/* 8032C514 00329454 7C 65 1B 78 */ mr r5, r3
/* 8032C518 00329458 80 7C 00 D8 */ lwz r3, 0xd8(r28)
/* 8032C51C 0032945C A0 9C 00 D4 */ lhz r4, 0xd4(r28)
/* 8032C520 00329460 4B FF EF 9D */ bl J3DAnmTevRegKey_NS_getTevKonstReg
lbl_8032C524:
/* 8032C524 00329464 3B 7B 00 01 */ addi r27, r27, 1
/* 8032C528 00329468 28 1B 00 04 */ cmplwi r27, 4
/* 8032C52C 0032946C 3B BD 00 08 */ addi r29, r29, 8
/* 8032C530 00329470 41 80 FF BC */ blt lbl_8032C4EC
/* 8032C534 00329474 3B 60 00 00 */ li r27, 0
/* 8032C538 00329478 3B A0 00 00 */ li r29, 0
lbl_8032C53C:
/* 8032C53C 0032947C 7F 9E EA 14 */ add r28, r30, r29
/* 8032C540 00329480 A0 1C 00 16 */ lhz r0, 0x16(r28)
/* 8032C544 00329484 28 00 00 00 */ cmplwi r0, 0
/* 8032C548 00329488 41 82 00 34 */ beq lbl_8032C57C
/* 8032C54C 0032948C 80 7F 00 28 */ lwz r3, 0x28(r31)
/* 8032C550 00329490 7F 64 DB 78 */ mr r4, r27
/* 8032C554 00329494 81 83 00 00 */ lwz r12, 0(r3)
/* 8032C558 00329498 81 8C 00 50 */ lwz r12, 0x50(r12)
/* 8032C55C 0032949C 7D 89 03 A6 */ mtctr r12
/* 8032C560 003294A0 4E 80 04 21 */ bctrl
/* 8032C564 003294A4 7C 65 1B 78 */ mr r5, r3
/* 8032C568 003294A8 80 7C 00 18 */ lwz r3, 0x18(r28)
/* 8032C56C 003294AC C0 23 00 08 */ lfs f1, 8(r3)
/* 8032C570 003294B0 A0 9C 00 14 */ lhz r4, 0x14(r28)
/* 8032C574 003294B4 38 A5 00 10 */ addi r5, r5, 0x10
/* 8032C578 003294B8 4B FF D9 9D */ bl J3DAnmTextureSRTKey_NS_calcTransform
lbl_8032C57C:
/* 8032C57C 003294BC 3B 7B 00 01 */ addi r27, r27, 1
/* 8032C580 003294C0 28 1B 00 08 */ cmplwi r27, 8
/* 8032C584 003294C4 3B BD 00 08 */ addi r29, r29, 8
/* 8032C588 003294C8 41 80 FF B4 */ blt lbl_8032C53C
/* 8032C58C 003294CC 39 61 00 30 */ addi r11, r1, 0x30
/* 8032C590 003294D0 48 03 5C 91 */ bl func_80362220
/* 8032C594 003294D4 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8032C598 003294D8 7C 08 03 A6 */ mtlr r0
/* 8032C59C 003294DC 38 21 00 30 */ addi r1, r1, 0x30
/* 8032C5A0 003294E0 4E 80 00 20 */ blr
.global J3DMaterialAnm_NS_setMatColorAnm
J3DMaterialAnm_NS_setMatColorAnm:
/* 8032C5A4 003294E4 28 05 00 00 */ cmplwi r5, 0
/* 8032C5A8 003294E8 40 82 00 18 */ bne lbl_8032C5C0
/* 8032C5AC 003294EC 38 A0 00 00 */ li r5, 0
/* 8032C5B0 003294F0 54 80 18 38 */ slwi r0, r4, 3
/* 8032C5B4 003294F4 7C 63 02 14 */ add r3, r3, r0
/* 8032C5B8 003294F8 B0 A3 00 06 */ sth r5, 6(r3)
/* 8032C5BC 003294FC 4E 80 00 20 */ blr
lbl_8032C5C0:
/* 8032C5C0 00329500 80 05 00 04 */ lwz r0, 4(r5)
/* 8032C5C4 00329504 54 84 18 38 */ slwi r4, r4, 3
/* 8032C5C8 00329508 7C 63 22 14 */ add r3, r3, r4
/* 8032C5CC 0032950C 90 03 00 08 */ stw r0, 8(r3)
/* 8032C5D0 00329510 A0 05 00 00 */ lhz r0, 0(r5)
/* 8032C5D4 00329514 B0 03 00 04 */ sth r0, 4(r3)
/* 8032C5D8 00329518 A0 05 00 02 */ lhz r0, 2(r5)
/* 8032C5DC 0032951C B0 03 00 06 */ sth r0, 6(r3)
/* 8032C5E0 00329520 4E 80 00 20 */ blr
.global J3DMaterialAnm_NS_setTexMtxAnm
J3DMaterialAnm_NS_setTexMtxAnm:
/* 8032C5E4 00329524 28 05 00 00 */ cmplwi r5, 0
/* 8032C5E8 00329528 40 82 00 18 */ bne lbl_8032C600
/* 8032C5EC 0032952C 38 A0 00 00 */ li r5, 0
/* 8032C5F0 00329530 54 80 18 38 */ slwi r0, r4, 3
/* 8032C5F4 00329534 7C 63 02 14 */ add r3, r3, r0
/* 8032C5F8 00329538 B0 A3 00 16 */ sth r5, 0x16(r3)
/* 8032C5FC 0032953C 4E 80 00 20 */ blr
lbl_8032C600:
/* 8032C600 00329540 80 05 00 04 */ lwz r0, 4(r5)
/* 8032C604 00329544 54 84 18 38 */ slwi r4, r4, 3
/* 8032C608 00329548 7C 63 22 14 */ add r3, r3, r4
/* 8032C60C 0032954C 90 03 00 18 */ stw r0, 0x18(r3)
/* 8032C610 00329550 A0 05 00 00 */ lhz r0, 0(r5)
/* 8032C614 00329554 B0 03 00 14 */ sth r0, 0x14(r3)
/* 8032C618 00329558 A0 05 00 02 */ lhz r0, 2(r5)
/* 8032C61C 0032955C B0 03 00 16 */ sth r0, 0x16(r3)
/* 8032C620 00329560 4E 80 00 20 */ blr
.global J3DMaterialAnm_NS_setTexNoAnm
J3DMaterialAnm_NS_setTexNoAnm:
/* 8032C624 00329564 28 05 00 00 */ cmplwi r5, 0
/* 8032C628 00329568 40 82 00 18 */ bne lbl_8032C640
/* 8032C62C 0032956C 38 A0 00 00 */ li r5, 0
/* 8032C630 00329570 1C 04 00 0C */ mulli r0, r4, 0xc
/* 8032C634 00329574 7C 63 02 14 */ add r3, r3, r0
/* 8032C638 00329578 B0 A3 00 5A */ sth r5, 0x5a(r3)
/* 8032C63C 0032957C 4E 80 00 20 */ blr
lbl_8032C640:
/* 8032C640 00329580 80 05 00 08 */ lwz r0, 8(r5)
/* 8032C644 00329584 1C 84 00 0C */ mulli r4, r4, 0xc
/* 8032C648 00329588 7C 63 22 14 */ add r3, r3, r4
/* 8032C64C 0032958C 90 03 00 5C */ stw r0, 0x5c(r3)
/* 8032C650 00329590 A0 05 00 04 */ lhz r0, 4(r5)
/* 8032C654 00329594 B0 03 00 58 */ sth r0, 0x58(r3)
/* 8032C658 00329598 A0 05 00 06 */ lhz r0, 6(r5)
/* 8032C65C 0032959C B0 03 00 5A */ sth r0, 0x5a(r3)
/* 8032C660 003295A0 4E 80 00 20 */ blr
.global J3DMaterialAnm_NS_setTevColorAnm
J3DMaterialAnm_NS_setTevColorAnm:
/* 8032C664 003295A4 28 05 00 00 */ cmplwi r5, 0
/* 8032C668 003295A8 40 82 00 18 */ bne lbl_8032C680
/* 8032C66C 003295AC 38 A0 00 00 */ li r5, 0
/* 8032C670 003295B0 54 80 18 38 */ slwi r0, r4, 3
/* 8032C674 003295B4 7C 63 02 14 */ add r3, r3, r0
/* 8032C678 003295B8 B0 A3 00 B6 */ sth r5, 0xb6(r3)
/* 8032C67C 003295BC 4E 80 00 20 */ blr
lbl_8032C680:
/* 8032C680 003295C0 80 05 00 04 */ lwz r0, 4(r5)
/* 8032C684 003295C4 54 84 18 38 */ slwi r4, r4, 3
/* 8032C688 003295C8 7C 63 22 14 */ add r3, r3, r4
/* 8032C68C 003295CC 90 03 00 B8 */ stw r0, 0xb8(r3)
/* 8032C690 003295D0 A0 05 00 00 */ lhz r0, 0(r5)
/* 8032C694 003295D4 B0 03 00 B4 */ sth r0, 0xb4(r3)
/* 8032C698 003295D8 A0 05 00 02 */ lhz r0, 2(r5)
/* 8032C69C 003295DC B0 03 00 B6 */ sth r0, 0xb6(r3)
/* 8032C6A0 003295E0 4E 80 00 20 */ blr
.global J3DMaterialAnm_NS_setTevKColorAnm
J3DMaterialAnm_NS_setTevKColorAnm:
/* 8032C6A4 003295E4 28 05 00 00 */ cmplwi r5, 0
/* 8032C6A8 003295E8 40 82 00 18 */ bne lbl_8032C6C0
/* 8032C6AC 003295EC 38 A0 00 00 */ li r5, 0
/* 8032C6B0 003295F0 54 80 18 38 */ slwi r0, r4, 3
/* 8032C6B4 003295F4 7C 63 02 14 */ add r3, r3, r0
/* 8032C6B8 003295F8 B0 A3 00 D6 */ sth r5, 0xd6(r3)
/* 8032C6BC 003295FC 4E 80 00 20 */ blr
lbl_8032C6C0:
/* 8032C6C0 00329600 80 05 00 04 */ lwz r0, 4(r5)
/* 8032C6C4 00329604 54 84 18 38 */ slwi r4, r4, 3
/* 8032C6C8 00329608 7C 63 22 14 */ add r3, r3, r4
/* 8032C6CC 0032960C 90 03 00 D8 */ stw r0, 0xd8(r3)
/* 8032C6D0 00329610 A0 05 00 00 */ lhz r0, 0(r5)
/* 8032C6D4 00329614 B0 03 00 D4 */ sth r0, 0xd4(r3)
/* 8032C6D8 00329618 A0 05 00 02 */ lhz r0, 2(r5)
/* 8032C6DC 0032961C B0 03 00 D6 */ sth r0, 0xd6(r3)
/* 8032C6E0 00329620 4E 80 00 20 */ blr

View File

@ -0,0 +1,778 @@
.include "macros.inc"
.section .text, "ax" # 8032f5a8
.global J3DMaterialTable_NS_clear
J3DMaterialTable_NS_clear:
/* 8032F5A8 0032C4E8 38 00 00 00 */ li r0, 0
/* 8032F5AC 0032C4EC B0 03 00 04 */ sth r0, 4(r3)
/* 8032F5B0 0032C4F0 B0 03 00 06 */ sth r0, 6(r3)
/* 8032F5B4 0032C4F4 90 03 00 08 */ stw r0, 8(r3)
/* 8032F5B8 0032C4F8 90 03 00 0C */ stw r0, 0xc(r3)
/* 8032F5BC 0032C4FC 90 03 00 10 */ stw r0, 0x10(r3)
/* 8032F5C0 0032C500 90 03 00 14 */ stw r0, 0x14(r3)
/* 8032F5C4 0032C504 90 03 00 18 */ stw r0, 0x18(r3)
/* 8032F5C8 0032C508 B0 03 00 1C */ sth r0, 0x1c(r3)
/* 8032F5CC 0032C50C 4E 80 00 20 */ blr
.global J3DMaterialTable
J3DMaterialTable:
/* 8032F5D0 0032C510 3C 80 80 3D */ lis r4, lbl_803CEE80@ha
/* 8032F5D4 0032C514 38 04 EE 80 */ addi r0, r4, lbl_803CEE80@l
/* 8032F5D8 0032C518 90 03 00 00 */ stw r0, 0(r3)
/* 8032F5DC 0032C51C 38 00 00 00 */ li r0, 0
/* 8032F5E0 0032C520 B0 03 00 04 */ sth r0, 4(r3)
/* 8032F5E4 0032C524 B0 03 00 06 */ sth r0, 6(r3)
/* 8032F5E8 0032C528 90 03 00 08 */ stw r0, 8(r3)
/* 8032F5EC 0032C52C 90 03 00 0C */ stw r0, 0xc(r3)
/* 8032F5F0 0032C530 90 03 00 10 */ stw r0, 0x10(r3)
/* 8032F5F4 0032C534 90 03 00 14 */ stw r0, 0x14(r3)
/* 8032F5F8 0032C538 90 03 00 18 */ stw r0, 0x18(r3)
/* 8032F5FC 0032C53C B0 03 00 1C */ sth r0, 0x1c(r3)
/* 8032F600 0032C540 4E 80 00 20 */ blr
.global J3DMaterialTable_NS_dtor
J3DMaterialTable_NS_dtor:
/* 8032F604 0032C544 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8032F608 0032C548 7C 08 02 A6 */ mflr r0
/* 8032F60C 0032C54C 90 01 00 14 */ stw r0, 0x14(r1)
/* 8032F610 0032C550 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8032F614 0032C554 7C 7F 1B 79 */ or. r31, r3, r3
/* 8032F618 0032C558 41 82 00 1C */ beq lbl_8032F634
/* 8032F61C 0032C55C 3C A0 80 3D */ lis r5, lbl_803CEE80@ha
/* 8032F620 0032C560 38 05 EE 80 */ addi r0, r5, lbl_803CEE80@l
/* 8032F624 0032C564 90 1F 00 00 */ stw r0, 0(r31)
/* 8032F628 0032C568 7C 80 07 35 */ extsh. r0, r4
/* 8032F62C 0032C56C 40 81 00 08 */ ble lbl_8032F634
/* 8032F630 0032C570 4B F9 F7 0D */ bl __dl
lbl_8032F634:
/* 8032F634 0032C574 7F E3 FB 78 */ mr r3, r31
/* 8032F638 0032C578 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8032F63C 0032C57C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8032F640 0032C580 7C 08 03 A6 */ mtlr r0
/* 8032F644 0032C584 38 21 00 10 */ addi r1, r1, 0x10
/* 8032F648 0032C588 4E 80 00 20 */ blr
.global J3DMaterialTable_NS_removeMatColorAnimator
J3DMaterialTable_NS_removeMatColorAnimator:
/* 8032F64C 0032C58C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8032F650 0032C590 7C 08 02 A6 */ mflr r0
/* 8032F654 0032C594 90 01 00 24 */ stw r0, 0x24(r1)
/* 8032F658 0032C598 39 61 00 20 */ addi r11, r1, 0x20
/* 8032F65C 0032C59C 48 03 2B 79 */ bl func_803621D4
/* 8032F660 0032C5A0 7C 7B 1B 78 */ mr r27, r3
/* 8032F664 0032C5A4 7C 9C 23 78 */ mr r28, r4
/* 8032F668 0032C5A8 3B C0 00 00 */ li r30, 0
/* 8032F66C 0032C5AC A3 E4 00 14 */ lhz r31, 0x14(r4)
/* 8032F670 0032C5B0 3B A0 00 00 */ li r29, 0
/* 8032F674 0032C5B4 48 00 00 5C */ b lbl_8032F6D0
lbl_8032F678:
/* 8032F678 0032C5B8 80 7C 00 18 */ lwz r3, 0x18(r28)
/* 8032F67C 0032C5BC 57 A0 0B FC */ rlwinm r0, r29, 1, 0xf, 0x1e
/* 8032F680 0032C5C0 7C 03 02 2E */ lhzx r0, r3, r0
/* 8032F684 0032C5C4 28 00 FF FF */ cmplwi r0, 0xffff
/* 8032F688 0032C5C8 41 82 00 44 */ beq lbl_8032F6CC
/* 8032F68C 0032C5CC 80 7B 00 08 */ lwz r3, 8(r27)
/* 8032F690 0032C5D0 54 00 13 BA */ rlwinm r0, r0, 2, 0xe, 0x1d
/* 8032F694 0032C5D4 7C 63 00 2E */ lwzx r3, r3, r0
/* 8032F698 0032C5D8 80 63 00 3C */ lwz r3, 0x3c(r3)
/* 8032F69C 0032C5DC 3C 00 C0 00 */ lis r0, 0xc000
/* 8032F6A0 0032C5E0 7C 03 00 40 */ cmplw r3, r0
/* 8032F6A4 0032C5E4 40 80 00 08 */ bge lbl_8032F6AC
/* 8032F6A8 0032C5E8 48 00 00 08 */ b lbl_8032F6B0
lbl_8032F6AC:
/* 8032F6AC 0032C5EC 38 60 00 00 */ li r3, 0
lbl_8032F6B0:
/* 8032F6B0 0032C5F0 28 03 00 00 */ cmplwi r3, 0
/* 8032F6B4 0032C5F4 40 82 00 0C */ bne lbl_8032F6C0
/* 8032F6B8 0032C5F8 3B C0 00 01 */ li r30, 1
/* 8032F6BC 0032C5FC 48 00 00 10 */ b lbl_8032F6CC
lbl_8032F6C0:
/* 8032F6C0 0032C600 38 80 00 00 */ li r4, 0
/* 8032F6C4 0032C604 38 A0 00 00 */ li r5, 0
/* 8032F6C8 0032C608 4B FF CE DD */ bl J3DMaterialAnm_NS_setMatColorAnm
lbl_8032F6CC:
/* 8032F6CC 0032C60C 3B BD 00 01 */ addi r29, r29, 1
lbl_8032F6D0:
/* 8032F6D0 0032C610 57 A0 04 3E */ clrlwi r0, r29, 0x10
/* 8032F6D4 0032C614 7C 00 F8 40 */ cmplw r0, r31
/* 8032F6D8 0032C618 41 80 FF A0 */ blt lbl_8032F678
/* 8032F6DC 0032C61C 7F C3 F3 78 */ mr r3, r30
/* 8032F6E0 0032C620 39 61 00 20 */ addi r11, r1, 0x20
/* 8032F6E4 0032C624 48 03 2B 3D */ bl func_80362220
/* 8032F6E8 0032C628 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8032F6EC 0032C62C 7C 08 03 A6 */ mtlr r0
/* 8032F6F0 0032C630 38 21 00 20 */ addi r1, r1, 0x20
/* 8032F6F4 0032C634 4E 80 00 20 */ blr
.global J3DMaterialTable_NS_removeTexNoAnimator
J3DMaterialTable_NS_removeTexNoAnimator:
/* 8032F6F8 0032C638 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8032F6FC 0032C63C 7C 08 02 A6 */ mflr r0
/* 8032F700 0032C640 90 01 00 24 */ stw r0, 0x24(r1)
/* 8032F704 0032C644 39 61 00 20 */ addi r11, r1, 0x20
/* 8032F708 0032C648 48 03 2A C9 */ bl func_803621D0
/* 8032F70C 0032C64C 7C 7B 1B 78 */ mr r27, r3
/* 8032F710 0032C650 7C 9C 23 78 */ mr r28, r4
/* 8032F714 0032C654 3B E0 00 00 */ li r31, 0
/* 8032F718 0032C658 A3 44 00 16 */ lhz r26, 0x16(r4)
/* 8032F71C 0032C65C 83 C4 00 10 */ lwz r30, 0x10(r4)
/* 8032F720 0032C660 3B A0 00 00 */ li r29, 0
/* 8032F724 0032C664 48 00 00 68 */ b lbl_8032F78C
lbl_8032F728:
/* 8032F728 0032C668 80 7C 00 18 */ lwz r3, 0x18(r28)
/* 8032F72C 0032C66C 57 A4 04 3E */ clrlwi r4, r29, 0x10
/* 8032F730 0032C670 57 A0 0B FC */ rlwinm r0, r29, 1, 0xf, 0x1e
/* 8032F734 0032C674 7C 03 02 2E */ lhzx r0, r3, r0
/* 8032F738 0032C678 28 00 FF FF */ cmplwi r0, 0xffff
/* 8032F73C 0032C67C 41 82 00 4C */ beq lbl_8032F788
/* 8032F740 0032C680 80 7B 00 08 */ lwz r3, 8(r27)
/* 8032F744 0032C684 54 00 13 BA */ rlwinm r0, r0, 2, 0xe, 0x1d
/* 8032F748 0032C688 7C 63 00 2E */ lwzx r3, r3, r0
/* 8032F74C 0032C68C 80 63 00 3C */ lwz r3, 0x3c(r3)
/* 8032F750 0032C690 3C 00 C0 00 */ lis r0, 0xc000
/* 8032F754 0032C694 7C 03 00 40 */ cmplw r3, r0
/* 8032F758 0032C698 40 80 00 08 */ bge lbl_8032F760
/* 8032F75C 0032C69C 48 00 00 08 */ b lbl_8032F764
lbl_8032F760:
/* 8032F760 0032C6A0 38 60 00 00 */ li r3, 0
lbl_8032F764:
/* 8032F764 0032C6A4 54 84 18 38 */ slwi r4, r4, 3
/* 8032F768 0032C6A8 38 04 00 04 */ addi r0, r4, 4
/* 8032F76C 0032C6AC 7C 9E 00 AE */ lbzx r4, r30, r0
/* 8032F770 0032C6B0 28 03 00 00 */ cmplwi r3, 0
/* 8032F774 0032C6B4 40 82 00 0C */ bne lbl_8032F780
/* 8032F778 0032C6B8 3B E0 00 01 */ li r31, 1
/* 8032F77C 0032C6BC 48 00 00 0C */ b lbl_8032F788
lbl_8032F780:
/* 8032F780 0032C6C0 38 A0 00 00 */ li r5, 0
/* 8032F784 0032C6C4 4B FF CE A1 */ bl J3DMaterialAnm_NS_setTexNoAnm
lbl_8032F788:
/* 8032F788 0032C6C8 3B BD 00 01 */ addi r29, r29, 1
lbl_8032F78C:
/* 8032F78C 0032C6CC 57 A0 04 3E */ clrlwi r0, r29, 0x10
/* 8032F790 0032C6D0 7C 00 D0 40 */ cmplw r0, r26
/* 8032F794 0032C6D4 41 80 FF 94 */ blt lbl_8032F728
/* 8032F798 0032C6D8 7F E3 FB 78 */ mr r3, r31
/* 8032F79C 0032C6DC 39 61 00 20 */ addi r11, r1, 0x20
/* 8032F7A0 0032C6E0 48 03 2A 7D */ bl func_8036221C
/* 8032F7A4 0032C6E4 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8032F7A8 0032C6E8 7C 08 03 A6 */ mtlr r0
/* 8032F7AC 0032C6EC 38 21 00 20 */ addi r1, r1, 0x20
/* 8032F7B0 0032C6F0 4E 80 00 20 */ blr
.global J3DMaterialTable_NS_removeTexMtxAnimator
J3DMaterialTable_NS_removeTexMtxAnimator:
/* 8032F7B4 0032C6F4 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8032F7B8 0032C6F8 7C 08 02 A6 */ mflr r0
/* 8032F7BC 0032C6FC 90 01 00 24 */ stw r0, 0x24(r1)
/* 8032F7C0 0032C700 39 61 00 20 */ addi r11, r1, 0x20
/* 8032F7C4 0032C704 48 03 2A 11 */ bl func_803621D4
/* 8032F7C8 0032C708 7C 7C 1B 78 */ mr r28, r3
/* 8032F7CC 0032C70C 7C 9D 23 78 */ mr r29, r4
/* 8032F7D0 0032C710 3B E0 00 00 */ li r31, 0
/* 8032F7D4 0032C714 A0 64 00 14 */ lhz r3, 0x14(r4)
/* 8032F7D8 0032C718 38 00 00 03 */ li r0, 3
/* 8032F7DC 0032C71C 7C 03 03 D6 */ divw r0, r3, r0
/* 8032F7E0 0032C720 54 1B 04 3E */ clrlwi r27, r0, 0x10
/* 8032F7E4 0032C724 3B C0 00 00 */ li r30, 0
/* 8032F7E8 0032C728 48 00 00 70 */ b lbl_8032F858
lbl_8032F7EC:
/* 8032F7EC 0032C72C 80 7D 00 2C */ lwz r3, 0x2c(r29)
/* 8032F7F0 0032C730 57 C5 04 3E */ clrlwi r5, r30, 0x10
/* 8032F7F4 0032C734 57 C0 0B FC */ rlwinm r0, r30, 1, 0xf, 0x1e
/* 8032F7F8 0032C738 7C 03 02 2E */ lhzx r0, r3, r0
/* 8032F7FC 0032C73C 28 00 FF FF */ cmplwi r0, 0xffff
/* 8032F800 0032C740 41 82 00 54 */ beq lbl_8032F854
/* 8032F804 0032C744 80 7C 00 08 */ lwz r3, 8(r28)
/* 8032F808 0032C748 54 00 13 BA */ rlwinm r0, r0, 2, 0xe, 0x1d
/* 8032F80C 0032C74C 7C 63 00 2E */ lwzx r3, r3, r0
/* 8032F810 0032C750 80 63 00 3C */ lwz r3, 0x3c(r3)
/* 8032F814 0032C754 3C 00 C0 00 */ lis r0, 0xc000
/* 8032F818 0032C758 7C 03 00 40 */ cmplw r3, r0
/* 8032F81C 0032C75C 40 80 00 08 */ bge lbl_8032F824
/* 8032F820 0032C760 48 00 00 08 */ b lbl_8032F828
lbl_8032F824:
/* 8032F824 0032C764 38 60 00 00 */ li r3, 0
lbl_8032F828:
/* 8032F828 0032C768 80 9D 00 28 */ lwz r4, 0x28(r29)
/* 8032F82C 0032C76C 7C 04 28 AE */ lbzx r0, r4, r5
/* 8032F830 0032C770 28 03 00 00 */ cmplwi r3, 0
/* 8032F834 0032C774 40 82 00 0C */ bne lbl_8032F840
/* 8032F838 0032C778 3B E0 00 01 */ li r31, 1
/* 8032F83C 0032C77C 48 00 00 18 */ b lbl_8032F854
lbl_8032F840:
/* 8032F840 0032C780 54 04 06 3E */ clrlwi r4, r0, 0x18
/* 8032F844 0032C784 28 04 00 FF */ cmplwi r4, 0xff
/* 8032F848 0032C788 41 82 00 0C */ beq lbl_8032F854
/* 8032F84C 0032C78C 38 A0 00 00 */ li r5, 0
/* 8032F850 0032C790 4B FF CD 95 */ bl J3DMaterialAnm_NS_setTexMtxAnm
lbl_8032F854:
/* 8032F854 0032C794 3B DE 00 01 */ addi r30, r30, 1
lbl_8032F858:
/* 8032F858 0032C798 57 C0 04 3E */ clrlwi r0, r30, 0x10
/* 8032F85C 0032C79C 7C 00 D8 40 */ cmplw r0, r27
/* 8032F860 0032C7A0 41 80 FF 8C */ blt lbl_8032F7EC
/* 8032F864 0032C7A4 7F E3 FB 78 */ mr r3, r31
/* 8032F868 0032C7A8 39 61 00 20 */ addi r11, r1, 0x20
/* 8032F86C 0032C7AC 48 03 29 B5 */ bl func_80362220
/* 8032F870 0032C7B0 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8032F874 0032C7B4 7C 08 03 A6 */ mtlr r0
/* 8032F878 0032C7B8 38 21 00 20 */ addi r1, r1, 0x20
/* 8032F87C 0032C7BC 4E 80 00 20 */ blr
.global J3DMaterialTable_NS_removeTevRegAnimator
J3DMaterialTable_NS_removeTevRegAnimator:
/* 8032F880 0032C7C0 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8032F884 0032C7C4 7C 08 02 A6 */ mflr r0
/* 8032F888 0032C7C8 90 01 00 24 */ stw r0, 0x24(r1)
/* 8032F88C 0032C7CC 39 61 00 20 */ addi r11, r1, 0x20
/* 8032F890 0032C7D0 48 03 29 41 */ bl func_803621D0
/* 8032F894 0032C7D4 7C 7B 1B 78 */ mr r27, r3
/* 8032F898 0032C7D8 7C 9C 23 78 */ mr r28, r4
/* 8032F89C 0032C7DC 3B C0 00 00 */ li r30, 0
/* 8032F8A0 0032C7E0 A3 44 00 0C */ lhz r26, 0xc(r4)
/* 8032F8A4 0032C7E4 A3 E4 00 0E */ lhz r31, 0xe(r4)
/* 8032F8A8 0032C7E8 3B A0 00 00 */ li r29, 0
/* 8032F8AC 0032C7EC 48 00 00 6C */ b lbl_8032F918
lbl_8032F8B0:
/* 8032F8B0 0032C7F0 80 7C 00 20 */ lwz r3, 0x20(r28)
/* 8032F8B4 0032C7F4 57 A4 04 3E */ clrlwi r4, r29, 0x10
/* 8032F8B8 0032C7F8 57 A0 0B FC */ rlwinm r0, r29, 1, 0xf, 0x1e
/* 8032F8BC 0032C7FC 7C 03 02 2E */ lhzx r0, r3, r0
/* 8032F8C0 0032C800 28 00 FF FF */ cmplwi r0, 0xffff
/* 8032F8C4 0032C804 41 82 00 50 */ beq lbl_8032F914
/* 8032F8C8 0032C808 80 7B 00 08 */ lwz r3, 8(r27)
/* 8032F8CC 0032C80C 54 00 13 BA */ rlwinm r0, r0, 2, 0xe, 0x1d
/* 8032F8D0 0032C810 7C 63 00 2E */ lwzx r3, r3, r0
/* 8032F8D4 0032C814 80 63 00 3C */ lwz r3, 0x3c(r3)
/* 8032F8D8 0032C818 3C 00 C0 00 */ lis r0, 0xc000
/* 8032F8DC 0032C81C 7C 03 00 40 */ cmplw r3, r0
/* 8032F8E0 0032C820 40 80 00 08 */ bge lbl_8032F8E8
/* 8032F8E4 0032C824 48 00 00 08 */ b lbl_8032F8EC
lbl_8032F8E8:
/* 8032F8E8 0032C828 38 60 00 00 */ li r3, 0
lbl_8032F8EC:
/* 8032F8EC 0032C82C 80 BC 00 48 */ lwz r5, 0x48(r28)
/* 8032F8F0 0032C830 1C 84 00 1C */ mulli r4, r4, 0x1c
/* 8032F8F4 0032C834 38 04 00 18 */ addi r0, r4, 0x18
/* 8032F8F8 0032C838 7C 85 00 AE */ lbzx r4, r5, r0
/* 8032F8FC 0032C83C 28 03 00 00 */ cmplwi r3, 0
/* 8032F900 0032C840 40 82 00 0C */ bne lbl_8032F90C
/* 8032F904 0032C844 3B C0 00 01 */ li r30, 1
/* 8032F908 0032C848 48 00 00 0C */ b lbl_8032F914
lbl_8032F90C:
/* 8032F90C 0032C84C 38 A0 00 00 */ li r5, 0
/* 8032F910 0032C850 4B FF CD 55 */ bl J3DMaterialAnm_NS_setTevColorAnm
lbl_8032F914:
/* 8032F914 0032C854 3B BD 00 01 */ addi r29, r29, 1
lbl_8032F918:
/* 8032F918 0032C858 57 A0 04 3E */ clrlwi r0, r29, 0x10
/* 8032F91C 0032C85C 7C 00 D0 40 */ cmplw r0, r26
/* 8032F920 0032C860 41 80 FF 90 */ blt lbl_8032F8B0
/* 8032F924 0032C864 3B A0 00 00 */ li r29, 0
/* 8032F928 0032C868 57 FF 04 3E */ clrlwi r31, r31, 0x10
/* 8032F92C 0032C86C 48 00 00 6C */ b lbl_8032F998
lbl_8032F930:
/* 8032F930 0032C870 80 7C 00 34 */ lwz r3, 0x34(r28)
/* 8032F934 0032C874 57 A4 04 3E */ clrlwi r4, r29, 0x10
/* 8032F938 0032C878 57 A0 0B FC */ rlwinm r0, r29, 1, 0xf, 0x1e
/* 8032F93C 0032C87C 7C 03 02 2E */ lhzx r0, r3, r0
/* 8032F940 0032C880 28 00 FF FF */ cmplwi r0, 0xffff
/* 8032F944 0032C884 41 82 00 50 */ beq lbl_8032F994
/* 8032F948 0032C888 80 7B 00 08 */ lwz r3, 8(r27)
/* 8032F94C 0032C88C 54 00 13 BA */ rlwinm r0, r0, 2, 0xe, 0x1d
/* 8032F950 0032C890 7C 63 00 2E */ lwzx r3, r3, r0
/* 8032F954 0032C894 80 63 00 3C */ lwz r3, 0x3c(r3)
/* 8032F958 0032C898 3C 00 C0 00 */ lis r0, 0xc000
/* 8032F95C 0032C89C 7C 03 00 40 */ cmplw r3, r0
/* 8032F960 0032C8A0 40 80 00 08 */ bge lbl_8032F968
/* 8032F964 0032C8A4 48 00 00 08 */ b lbl_8032F96C
lbl_8032F968:
/* 8032F968 0032C8A8 38 60 00 00 */ li r3, 0
lbl_8032F96C:
/* 8032F96C 0032C8AC 80 BC 00 4C */ lwz r5, 0x4c(r28)
/* 8032F970 0032C8B0 1C 84 00 1C */ mulli r4, r4, 0x1c
/* 8032F974 0032C8B4 38 04 00 18 */ addi r0, r4, 0x18
/* 8032F978 0032C8B8 7C 85 00 AE */ lbzx r4, r5, r0
/* 8032F97C 0032C8BC 28 03 00 00 */ cmplwi r3, 0
/* 8032F980 0032C8C0 40 82 00 0C */ bne lbl_8032F98C
/* 8032F984 0032C8C4 3B C0 00 01 */ li r30, 1
/* 8032F988 0032C8C8 48 00 00 0C */ b lbl_8032F994
lbl_8032F98C:
/* 8032F98C 0032C8CC 38 A0 00 00 */ li r5, 0
/* 8032F990 0032C8D0 4B FF CD 15 */ bl J3DMaterialAnm_NS_setTevKColorAnm
lbl_8032F994:
/* 8032F994 0032C8D4 3B BD 00 01 */ addi r29, r29, 1
lbl_8032F998:
/* 8032F998 0032C8D8 57 A0 04 3E */ clrlwi r0, r29, 0x10
/* 8032F99C 0032C8DC 7C 00 F8 40 */ cmplw r0, r31
/* 8032F9A0 0032C8E0 41 80 FF 90 */ blt lbl_8032F930
/* 8032F9A4 0032C8E4 7F C3 F3 78 */ mr r3, r30
/* 8032F9A8 0032C8E8 39 61 00 20 */ addi r11, r1, 0x20
/* 8032F9AC 0032C8EC 48 03 28 71 */ bl func_8036221C
/* 8032F9B0 0032C8F0 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8032F9B4 0032C8F4 7C 08 03 A6 */ mtlr r0
/* 8032F9B8 0032C8F8 38 21 00 20 */ addi r1, r1, 0x20
/* 8032F9BC 0032C8FC 4E 80 00 20 */ blr
.global J3DMaterialTable_NS_createTexMtxForAnimator
J3DMaterialTable_NS_createTexMtxForAnimator:
/* 8032F9C0 0032C900 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8032F9C4 0032C904 7C 08 02 A6 */ mflr r0
/* 8032F9C8 0032C908 90 01 00 34 */ stw r0, 0x34(r1)
/* 8032F9CC 0032C90C 39 61 00 30 */ addi r11, r1, 0x30
/* 8032F9D0 0032C910 48 03 27 F9 */ bl func_803621C8
/* 8032F9D4 0032C914 7C 7C 1B 78 */ mr r28, r3
/* 8032F9D8 0032C918 7C 9D 23 78 */ mr r29, r4
/* 8032F9DC 0032C91C 3B E0 00 00 */ li r31, 0
/* 8032F9E0 0032C920 A0 64 00 14 */ lhz r3, 0x14(r4)
/* 8032F9E4 0032C924 38 00 00 03 */ li r0, 3
/* 8032F9E8 0032C928 7C 03 03 D6 */ divw r0, r3, r0
/* 8032F9EC 0032C92C 54 1B 04 3E */ clrlwi r27, r0, 0x10
/* 8032F9F0 0032C930 A0 1C 00 1C */ lhz r0, 0x1c(r28)
/* 8032F9F4 0032C934 28 00 00 01 */ cmplwi r0, 1
/* 8032F9F8 0032C938 40 82 00 0C */ bne lbl_8032FA04
/* 8032F9FC 0032C93C 38 60 00 02 */ li r3, 2
/* 8032FA00 0032C940 48 00 00 DC */ b lbl_8032FADC
lbl_8032FA04:
/* 8032FA04 0032C944 3B C0 00 00 */ li r30, 0
/* 8032FA08 0032C948 48 00 00 C4 */ b lbl_8032FACC
lbl_8032FA0C:
/* 8032FA0C 0032C94C 80 7D 00 2C */ lwz r3, 0x2c(r29)
/* 8032FA10 0032C950 57 C4 04 3E */ clrlwi r4, r30, 0x10
/* 8032FA14 0032C954 57 C0 0B FC */ rlwinm r0, r30, 1, 0xf, 0x1e
/* 8032FA18 0032C958 7C 03 02 2E */ lhzx r0, r3, r0
/* 8032FA1C 0032C95C 28 00 FF FF */ cmplwi r0, 0xffff
/* 8032FA20 0032C960 41 82 00 A8 */ beq lbl_8032FAC8
/* 8032FA24 0032C964 80 7C 00 08 */ lwz r3, 8(r28)
/* 8032FA28 0032C968 54 00 13 BA */ rlwinm r0, r0, 2, 0xe, 0x1d
/* 8032FA2C 0032C96C 7F 43 00 2E */ lwzx r26, r3, r0
/* 8032FA30 0032C970 80 7D 00 28 */ lwz r3, 0x28(r29)
/* 8032FA34 0032C974 7C 83 20 AE */ lbzx r4, r3, r4
/* 8032FA38 0032C978 80 7A 00 3C */ lwz r3, 0x3c(r26)
/* 8032FA3C 0032C97C 3C 00 C0 00 */ lis r0, 0xc000
/* 8032FA40 0032C980 7C 03 00 40 */ cmplw r3, r0
/* 8032FA44 0032C984 40 80 00 08 */ bge lbl_8032FA4C
/* 8032FA48 0032C988 48 00 00 08 */ b lbl_8032FA50
lbl_8032FA4C:
/* 8032FA4C 0032C98C 38 60 00 00 */ li r3, 0
lbl_8032FA50:
/* 8032FA50 0032C990 28 03 00 00 */ cmplwi r3, 0
/* 8032FA54 0032C994 40 82 00 0C */ bne lbl_8032FA60
/* 8032FA58 0032C998 3B E0 00 01 */ li r31, 1
/* 8032FA5C 0032C99C 48 00 00 6C */ b lbl_8032FAC8
lbl_8032FA60:
/* 8032FA60 0032C9A0 54 98 06 3E */ clrlwi r24, r4, 0x18
/* 8032FA64 0032C9A4 28 18 00 FF */ cmplwi r24, 0xff
/* 8032FA68 0032C9A8 41 82 00 60 */ beq lbl_8032FAC8
/* 8032FA6C 0032C9AC 80 7A 00 28 */ lwz r3, 0x28(r26)
/* 8032FA70 0032C9B0 7F 04 C3 78 */ mr r4, r24
/* 8032FA74 0032C9B4 81 83 00 00 */ lwz r12, 0(r3)
/* 8032FA78 0032C9B8 81 8C 00 50 */ lwz r12, 0x50(r12)
/* 8032FA7C 0032C9BC 7D 89 03 A6 */ mtctr r12
/* 8032FA80 0032C9C0 4E 80 04 21 */ bctrl
/* 8032FA84 0032C9C4 28 03 00 00 */ cmplwi r3, 0
/* 8032FA88 0032C9C8 40 82 00 40 */ bne lbl_8032FAC8
/* 8032FA8C 0032C9CC 38 60 00 94 */ li r3, 0x94
/* 8032FA90 0032C9D0 4B F9 F1 BD */ bl __nw
/* 8032FA94 0032C9D4 7C 79 1B 79 */ or. r25, r3, r3
/* 8032FA98 0032C9D8 41 82 00 10 */ beq lbl_8032FAA8
/* 8032FA9C 0032C9DC 3C 80 80 3A */ lis r4, lbl_803A1F1C@ha
/* 8032FAA0 0032C9E0 38 84 1F 1C */ addi r4, r4, lbl_803A1F1C@l
/* 8032FAA4 0032C9E4 4B FF 5C 75 */ bl J3DTexMtxInfo_NS___as
lbl_8032FAA8:
/* 8032FAA8 0032C9E8 3B E0 00 04 */ li r31, 4
/* 8032FAAC 0032C9EC 80 7A 00 28 */ lwz r3, 0x28(r26)
/* 8032FAB0 0032C9F0 7F 04 C3 78 */ mr r4, r24
/* 8032FAB4 0032C9F4 7F 25 CB 78 */ mr r5, r25
/* 8032FAB8 0032C9F8 81 83 00 00 */ lwz r12, 0(r3)
/* 8032FABC 0032C9FC 81 8C 00 4C */ lwz r12, 0x4c(r12)
/* 8032FAC0 0032CA00 7D 89 03 A6 */ mtctr r12
/* 8032FAC4 0032CA04 4E 80 04 21 */ bctrl
lbl_8032FAC8:
/* 8032FAC8 0032CA08 3B DE 00 01 */ addi r30, r30, 1
lbl_8032FACC:
/* 8032FACC 0032CA0C 57 C0 04 3E */ clrlwi r0, r30, 0x10
/* 8032FAD0 0032CA10 7C 00 D8 40 */ cmplw r0, r27
/* 8032FAD4 0032CA14 41 80 FF 38 */ blt lbl_8032FA0C
/* 8032FAD8 0032CA18 7F E3 FB 78 */ mr r3, r31
lbl_8032FADC:
/* 8032FADC 0032CA1C 39 61 00 30 */ addi r11, r1, 0x30
/* 8032FAE0 0032CA20 48 03 27 35 */ bl func_80362214
/* 8032FAE4 0032CA24 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8032FAE8 0032CA28 7C 08 03 A6 */ mtlr r0
/* 8032FAEC 0032CA2C 38 21 00 30 */ addi r1, r1, 0x30
/* 8032FAF0 0032CA30 4E 80 00 20 */ blr
.global J3DMaterialTable_NS_entryMatColorAnimator
J3DMaterialTable_NS_entryMatColorAnimator:
/* 8032FAF4 0032CA34 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8032FAF8 0032CA38 7C 08 02 A6 */ mflr r0
/* 8032FAFC 0032CA3C 90 01 00 34 */ stw r0, 0x34(r1)
/* 8032FB00 0032CA40 39 61 00 30 */ addi r11, r1, 0x30
/* 8032FB04 0032CA44 48 03 26 D1 */ bl func_803621D4
/* 8032FB08 0032CA48 7C 7E 1B 78 */ mr r30, r3
/* 8032FB0C 0032CA4C 7C 9F 23 78 */ mr r31, r4
/* 8032FB10 0032CA50 3B 80 00 00 */ li r28, 0
/* 8032FB14 0032CA54 A0 64 00 14 */ lhz r3, 0x14(r4)
/* 8032FB18 0032CA58 A0 1E 00 1C */ lhz r0, 0x1c(r30)
/* 8032FB1C 0032CA5C 28 00 00 01 */ cmplwi r0, 1
/* 8032FB20 0032CA60 40 82 00 0C */ bne lbl_8032FB2C
/* 8032FB24 0032CA64 38 60 00 02 */ li r3, 2
/* 8032FB28 0032CA68 48 00 00 88 */ b lbl_8032FBB0
lbl_8032FB2C:
/* 8032FB2C 0032CA6C 3B 60 00 00 */ li r27, 0
/* 8032FB30 0032CA70 54 7D 04 3E */ clrlwi r29, r3, 0x10
/* 8032FB34 0032CA74 48 00 00 6C */ b lbl_8032FBA0
lbl_8032FB38:
/* 8032FB38 0032CA78 80 7F 00 18 */ lwz r3, 0x18(r31)
/* 8032FB3C 0032CA7C 57 60 0B FC */ rlwinm r0, r27, 1, 0xf, 0x1e
/* 8032FB40 0032CA80 7C 03 02 2E */ lhzx r0, r3, r0
/* 8032FB44 0032CA84 28 00 FF FF */ cmplwi r0, 0xffff
/* 8032FB48 0032CA88 41 82 00 54 */ beq lbl_8032FB9C
/* 8032FB4C 0032CA8C 80 7E 00 08 */ lwz r3, 8(r30)
/* 8032FB50 0032CA90 54 00 13 BA */ rlwinm r0, r0, 2, 0xe, 0x1d
/* 8032FB54 0032CA94 7C 63 00 2E */ lwzx r3, r3, r0
/* 8032FB58 0032CA98 80 63 00 3C */ lwz r3, 0x3c(r3)
/* 8032FB5C 0032CA9C 3C 00 C0 00 */ lis r0, 0xc000
/* 8032FB60 0032CAA0 7C 03 00 40 */ cmplw r3, r0
/* 8032FB64 0032CAA4 40 80 00 08 */ bge lbl_8032FB6C
/* 8032FB68 0032CAA8 48 00 00 08 */ b lbl_8032FB70
lbl_8032FB6C:
/* 8032FB6C 0032CAAC 38 60 00 00 */ li r3, 0
lbl_8032FB70:
/* 8032FB70 0032CAB0 28 03 00 00 */ cmplwi r3, 0
/* 8032FB74 0032CAB4 40 82 00 0C */ bne lbl_8032FB80
/* 8032FB78 0032CAB8 3B 80 00 01 */ li r28, 1
/* 8032FB7C 0032CABC 48 00 00 20 */ b lbl_8032FB9C
lbl_8032FB80:
/* 8032FB80 0032CAC0 B3 61 00 08 */ sth r27, 8(r1)
/* 8032FB84 0032CAC4 38 00 00 01 */ li r0, 1
/* 8032FB88 0032CAC8 B0 01 00 0A */ sth r0, 0xa(r1)
/* 8032FB8C 0032CACC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8032FB90 0032CAD0 38 80 00 00 */ li r4, 0
/* 8032FB94 0032CAD4 38 A1 00 08 */ addi r5, r1, 8
/* 8032FB98 0032CAD8 4B FF CA 0D */ bl J3DMaterialAnm_NS_setMatColorAnm
lbl_8032FB9C:
/* 8032FB9C 0032CADC 3B 7B 00 01 */ addi r27, r27, 1
lbl_8032FBA0:
/* 8032FBA0 0032CAE0 57 60 04 3E */ clrlwi r0, r27, 0x10
/* 8032FBA4 0032CAE4 7C 00 E8 40 */ cmplw r0, r29
/* 8032FBA8 0032CAE8 41 80 FF 90 */ blt lbl_8032FB38
/* 8032FBAC 0032CAEC 7F 83 E3 78 */ mr r3, r28
lbl_8032FBB0:
/* 8032FBB0 0032CAF0 39 61 00 30 */ addi r11, r1, 0x30
/* 8032FBB4 0032CAF4 48 03 26 6D */ bl func_80362220
/* 8032FBB8 0032CAF8 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8032FBBC 0032CAFC 7C 08 03 A6 */ mtlr r0
/* 8032FBC0 0032CB00 38 21 00 30 */ addi r1, r1, 0x30
/* 8032FBC4 0032CB04 4E 80 00 20 */ blr
.global J3DMaterialTable_NS_entryTexNoAnimator
J3DMaterialTable_NS_entryTexNoAnimator:
/* 8032FBC8 0032CB08 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8032FBCC 0032CB0C 7C 08 02 A6 */ mflr r0
/* 8032FBD0 0032CB10 90 01 00 34 */ stw r0, 0x34(r1)
/* 8032FBD4 0032CB14 39 61 00 30 */ addi r11, r1, 0x30
/* 8032FBD8 0032CB18 48 03 25 FD */ bl func_803621D4
/* 8032FBDC 0032CB1C 7C 7C 1B 78 */ mr r28, r3
/* 8032FBE0 0032CB20 7C 9D 23 78 */ mr r29, r4
/* 8032FBE4 0032CB24 3B E0 00 00 */ li r31, 0
/* 8032FBE8 0032CB28 A0 64 00 16 */ lhz r3, 0x16(r4)
/* 8032FBEC 0032CB2C A0 1C 00 1C */ lhz r0, 0x1c(r28)
/* 8032FBF0 0032CB30 28 00 00 01 */ cmplwi r0, 1
/* 8032FBF4 0032CB34 40 82 00 0C */ bne lbl_8032FC00
/* 8032FBF8 0032CB38 38 60 00 02 */ li r3, 2
/* 8032FBFC 0032CB3C 48 00 00 B0 */ b lbl_8032FCAC
lbl_8032FC00:
/* 8032FC00 0032CB40 3B C0 00 00 */ li r30, 0
/* 8032FC04 0032CB44 54 7B 04 3E */ clrlwi r27, r3, 0x10
/* 8032FC08 0032CB48 48 00 00 94 */ b lbl_8032FC9C
lbl_8032FC0C:
/* 8032FC0C 0032CB4C 80 7D 00 18 */ lwz r3, 0x18(r29)
/* 8032FC10 0032CB50 57 C4 04 3E */ clrlwi r4, r30, 0x10
/* 8032FC14 0032CB54 57 C0 0B FC */ rlwinm r0, r30, 1, 0xf, 0x1e
/* 8032FC18 0032CB58 7C 03 02 2E */ lhzx r0, r3, r0
/* 8032FC1C 0032CB5C 28 00 FF FF */ cmplwi r0, 0xffff
/* 8032FC20 0032CB60 41 82 00 78 */ beq lbl_8032FC98
/* 8032FC24 0032CB64 80 7C 00 08 */ lwz r3, 8(r28)
/* 8032FC28 0032CB68 54 00 13 BA */ rlwinm r0, r0, 2, 0xe, 0x1d
/* 8032FC2C 0032CB6C 7C 63 00 2E */ lwzx r3, r3, r0
/* 8032FC30 0032CB70 80 63 00 3C */ lwz r3, 0x3c(r3)
/* 8032FC34 0032CB74 3C 00 C0 00 */ lis r0, 0xc000
/* 8032FC38 0032CB78 7C 03 00 40 */ cmplw r3, r0
/* 8032FC3C 0032CB7C 40 80 00 08 */ bge lbl_8032FC44
/* 8032FC40 0032CB80 48 00 00 08 */ b lbl_8032FC48
lbl_8032FC44:
/* 8032FC44 0032CB84 38 60 00 00 */ li r3, 0
lbl_8032FC48:
/* 8032FC48 0032CB88 80 BD 00 10 */ lwz r5, 0x10(r29)
/* 8032FC4C 0032CB8C 54 84 18 38 */ slwi r4, r4, 3
/* 8032FC50 0032CB90 38 04 00 04 */ addi r0, r4, 4
/* 8032FC54 0032CB94 7C 85 00 AE */ lbzx r4, r5, r0
/* 8032FC58 0032CB98 28 03 00 00 */ cmplwi r3, 0
/* 8032FC5C 0032CB9C 40 82 00 0C */ bne lbl_8032FC68
/* 8032FC60 0032CBA0 3B E0 00 01 */ li r31, 1
/* 8032FC64 0032CBA4 48 00 00 34 */ b lbl_8032FC98
lbl_8032FC68:
/* 8032FC68 0032CBA8 3C A0 80 3A */ lis r5, lbl_803A7C84@ha
/* 8032FC6C 0032CBAC 38 05 7C 84 */ addi r0, r5, lbl_803A7C84@l
/* 8032FC70 0032CBB0 90 01 00 08 */ stw r0, 8(r1)
/* 8032FC74 0032CBB4 B3 C1 00 0C */ sth r30, 0xc(r1)
/* 8032FC78 0032CBB8 38 00 00 01 */ li r0, 1
/* 8032FC7C 0032CBBC B0 01 00 0E */ sth r0, 0xe(r1)
/* 8032FC80 0032CBC0 93 A1 00 10 */ stw r29, 0x10(r1)
/* 8032FC84 0032CBC4 38 A1 00 08 */ addi r5, r1, 8
/* 8032FC88 0032CBC8 4B FF C9 9D */ bl J3DMaterialAnm_NS_setTexNoAnm
/* 8032FC8C 0032CBCC 3C 60 80 3A */ lis r3, lbl_803A7C84@ha
/* 8032FC90 0032CBD0 38 03 7C 84 */ addi r0, r3, lbl_803A7C84@l
/* 8032FC94 0032CBD4 90 01 00 08 */ stw r0, 8(r1)
lbl_8032FC98:
/* 8032FC98 0032CBD8 3B DE 00 01 */ addi r30, r30, 1
lbl_8032FC9C:
/* 8032FC9C 0032CBDC 57 C0 04 3E */ clrlwi r0, r30, 0x10
/* 8032FCA0 0032CBE0 7C 00 D8 40 */ cmplw r0, r27
/* 8032FCA4 0032CBE4 41 80 FF 68 */ blt lbl_8032FC0C
/* 8032FCA8 0032CBE8 7F E3 FB 78 */ mr r3, r31
lbl_8032FCAC:
/* 8032FCAC 0032CBEC 39 61 00 30 */ addi r11, r1, 0x30
/* 8032FCB0 0032CBF0 48 03 25 71 */ bl func_80362220
/* 8032FCB4 0032CBF4 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8032FCB8 0032CBF8 7C 08 03 A6 */ mtlr r0
/* 8032FCBC 0032CBFC 38 21 00 30 */ addi r1, r1, 0x30
/* 8032FCC0 0032CC00 4E 80 00 20 */ blr
.global J3DMaterialTable_NS_entryTexMtxAnimator
J3DMaterialTable_NS_entryTexMtxAnimator:
/* 8032FCC4 0032CC04 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 8032FCC8 0032CC08 7C 08 02 A6 */ mflr r0
/* 8032FCCC 0032CC0C 90 01 00 44 */ stw r0, 0x44(r1)
/* 8032FCD0 0032CC10 39 61 00 40 */ addi r11, r1, 0x40
/* 8032FCD4 0032CC14 48 03 24 ED */ bl func_803621C0
/* 8032FCD8 0032CC18 7C 78 1B 78 */ mr r24, r3
/* 8032FCDC 0032CC1C 7C 99 23 78 */ mr r25, r4
/* 8032FCE0 0032CC20 A0 A4 00 14 */ lhz r5, 0x14(r4)
/* 8032FCE4 0032CC24 38 00 00 03 */ li r0, 3
/* 8032FCE8 0032CC28 7C 05 03 D6 */ divw r0, r5, r0
/* 8032FCEC 0032CC2C 54 1F 04 3E */ clrlwi r31, r0, 0x10
/* 8032FCF0 0032CC30 4B FF FC D1 */ bl J3DMaterialTable_NS_createTexMtxForAnimator
/* 8032FCF4 0032CC34 7C 7C 1B 79 */ or. r28, r3, r3
/* 8032FCF8 0032CC38 41 82 00 08 */ beq lbl_8032FD00
/* 8032FCFC 0032CC3C 48 00 01 5C */ b lbl_8032FE58
lbl_8032FD00:
/* 8032FD00 0032CC40 A0 18 00 1C */ lhz r0, 0x1c(r24)
/* 8032FD04 0032CC44 28 00 00 01 */ cmplwi r0, 1
/* 8032FD08 0032CC48 40 82 00 0C */ bne lbl_8032FD14
/* 8032FD0C 0032CC4C 38 60 00 02 */ li r3, 2
/* 8032FD10 0032CC50 48 00 01 48 */ b lbl_8032FE58
lbl_8032FD14:
/* 8032FD14 0032CC54 3B 60 00 00 */ li r27, 0
/* 8032FD18 0032CC58 48 00 01 30 */ b lbl_8032FE48
lbl_8032FD1C:
/* 8032FD1C 0032CC5C 80 79 00 2C */ lwz r3, 0x2c(r25)
/* 8032FD20 0032CC60 57 7D 04 3E */ clrlwi r29, r27, 0x10
/* 8032FD24 0032CC64 57 60 0B FC */ rlwinm r0, r27, 1, 0xf, 0x1e
/* 8032FD28 0032CC68 7C 03 02 2E */ lhzx r0, r3, r0
/* 8032FD2C 0032CC6C 28 00 FF FF */ cmplwi r0, 0xffff
/* 8032FD30 0032CC70 41 82 01 14 */ beq lbl_8032FE44
/* 8032FD34 0032CC74 80 78 00 08 */ lwz r3, 8(r24)
/* 8032FD38 0032CC78 54 00 13 BA */ rlwinm r0, r0, 2, 0xe, 0x1d
/* 8032FD3C 0032CC7C 7E E3 00 2E */ lwzx r23, r3, r0
/* 8032FD40 0032CC80 83 D7 00 3C */ lwz r30, 0x3c(r23)
/* 8032FD44 0032CC84 3C 00 C0 00 */ lis r0, 0xc000
/* 8032FD48 0032CC88 7C 1E 00 40 */ cmplw r30, r0
/* 8032FD4C 0032CC8C 40 80 00 08 */ bge lbl_8032FD54
/* 8032FD50 0032CC90 48 00 00 08 */ b lbl_8032FD58
lbl_8032FD54:
/* 8032FD54 0032CC94 3B C0 00 00 */ li r30, 0
lbl_8032FD58:
/* 8032FD58 0032CC98 80 79 00 28 */ lwz r3, 0x28(r25)
/* 8032FD5C 0032CC9C 7C 03 E8 AE */ lbzx r0, r3, r29
/* 8032FD60 0032CCA0 7C 1A 03 78 */ mr r26, r0
/* 8032FD64 0032CCA4 28 1E 00 00 */ cmplwi r30, 0
/* 8032FD68 0032CCA8 40 82 00 0C */ bne lbl_8032FD74
/* 8032FD6C 0032CCAC 3B 80 00 01 */ li r28, 1
/* 8032FD70 0032CCB0 48 00 00 D4 */ b lbl_8032FE44
lbl_8032FD74:
/* 8032FD74 0032CCB4 54 16 06 3E */ clrlwi r22, r0, 0x18
/* 8032FD78 0032CCB8 28 16 00 FF */ cmplwi r22, 0xff
/* 8032FD7C 0032CCBC 41 82 00 C8 */ beq lbl_8032FE44
/* 8032FD80 0032CCC0 80 77 00 28 */ lwz r3, 0x28(r23)
/* 8032FD84 0032CCC4 7E C4 B3 78 */ mr r4, r22
/* 8032FD88 0032CCC8 81 83 00 00 */ lwz r12, 0(r3)
/* 8032FD8C 0032CCCC 81 8C 00 48 */ lwz r12, 0x48(r12)
/* 8032FD90 0032CCD0 7D 89 03 A6 */ mtctr r12
/* 8032FD94 0032CCD4 4E 80 04 21 */ bctrl
/* 8032FD98 0032CCD8 28 03 00 00 */ cmplwi r3, 0
/* 8032FD9C 0032CCDC 41 82 00 2C */ beq lbl_8032FDC8
/* 8032FDA0 0032CCE0 80 77 00 28 */ lwz r3, 0x28(r23)
/* 8032FDA4 0032CCE4 7E C4 B3 78 */ mr r4, r22
/* 8032FDA8 0032CCE8 81 83 00 00 */ lwz r12, 0(r3)
/* 8032FDAC 0032CCEC 81 8C 00 48 */ lwz r12, 0x48(r12)
/* 8032FDB0 0032CCF0 7D 89 03 A6 */ mtctr r12
/* 8032FDB4 0032CCF4 4E 80 04 21 */ bctrl
/* 8032FDB8 0032CCF8 7E C0 B3 78 */ mr r0, r22
/* 8032FDBC 0032CCFC 1C 80 00 03 */ mulli r4, r0, 3
/* 8032FDC0 0032CD00 38 04 00 1E */ addi r0, r4, 0x1e
/* 8032FDC4 0032CD04 98 03 00 02 */ stb r0, 2(r3)
lbl_8032FDC8:
/* 8032FDC8 0032CD08 80 77 00 28 */ lwz r3, 0x28(r23)
/* 8032FDCC 0032CD0C 7E C4 B3 78 */ mr r4, r22
/* 8032FDD0 0032CD10 81 83 00 00 */ lwz r12, 0(r3)
/* 8032FDD4 0032CD14 81 8C 00 50 */ lwz r12, 0x50(r12)
/* 8032FDD8 0032CD18 7D 89 03 A6 */ mtctr r12
/* 8032FDDC 0032CD1C 4E 80 04 21 */ bctrl
/* 8032FDE0 0032CD20 88 83 00 01 */ lbz r4, 1(r3)
/* 8032FDE4 0032CD24 80 19 00 78 */ lwz r0, 0x78(r25)
/* 8032FDE8 0032CD28 54 00 38 30 */ slwi r0, r0, 7
/* 8032FDEC 0032CD2C 50 80 06 BE */ rlwimi r0, r4, 0, 0x1a, 0x1f
/* 8032FDF0 0032CD30 98 03 00 01 */ stb r0, 1(r3)
/* 8032FDF4 0032CD34 80 99 00 40 */ lwz r4, 0x40(r25)
/* 8032FDF8 0032CD38 1C BD 00 0C */ mulli r5, r29, 0xc
/* 8032FDFC 0032CD3C 7C 04 2C 2E */ lfsx f0, r4, r5
/* 8032FE00 0032CD40 D0 03 00 04 */ stfs f0, 4(r3)
/* 8032FE04 0032CD44 80 19 00 40 */ lwz r0, 0x40(r25)
/* 8032FE08 0032CD48 7C 80 2A 14 */ add r4, r0, r5
/* 8032FE0C 0032CD4C C0 04 00 04 */ lfs f0, 4(r4)
/* 8032FE10 0032CD50 D0 03 00 08 */ stfs f0, 8(r3)
/* 8032FE14 0032CD54 80 19 00 40 */ lwz r0, 0x40(r25)
/* 8032FE18 0032CD58 7C 80 2A 14 */ add r4, r0, r5
/* 8032FE1C 0032CD5C C0 04 00 08 */ lfs f0, 8(r4)
/* 8032FE20 0032CD60 D0 03 00 0C */ stfs f0, 0xc(r3)
/* 8032FE24 0032CD64 B3 61 00 08 */ sth r27, 8(r1)
/* 8032FE28 0032CD68 38 00 00 01 */ li r0, 1
/* 8032FE2C 0032CD6C B0 01 00 0A */ sth r0, 0xa(r1)
/* 8032FE30 0032CD70 93 21 00 0C */ stw r25, 0xc(r1)
/* 8032FE34 0032CD74 7F C3 F3 78 */ mr r3, r30
/* 8032FE38 0032CD78 57 44 06 3E */ clrlwi r4, r26, 0x18
/* 8032FE3C 0032CD7C 38 A1 00 08 */ addi r5, r1, 8
/* 8032FE40 0032CD80 4B FF C7 A5 */ bl J3DMaterialAnm_NS_setTexMtxAnm
lbl_8032FE44:
/* 8032FE44 0032CD84 3B 7B 00 01 */ addi r27, r27, 1
lbl_8032FE48:
/* 8032FE48 0032CD88 57 60 04 3E */ clrlwi r0, r27, 0x10
/* 8032FE4C 0032CD8C 7C 00 F8 40 */ cmplw r0, r31
/* 8032FE50 0032CD90 41 80 FE CC */ blt lbl_8032FD1C
/* 8032FE54 0032CD94 7F 83 E3 78 */ mr r3, r28
lbl_8032FE58:
/* 8032FE58 0032CD98 39 61 00 40 */ addi r11, r1, 0x40
/* 8032FE5C 0032CD9C 48 03 23 B1 */ bl func_8036220C
/* 8032FE60 0032CDA0 80 01 00 44 */ lwz r0, 0x44(r1)
/* 8032FE64 0032CDA4 7C 08 03 A6 */ mtlr r0
/* 8032FE68 0032CDA8 38 21 00 40 */ addi r1, r1, 0x40
/* 8032FE6C 0032CDAC 4E 80 00 20 */ blr
.global J3DMaterialTable_NS_entryTevRegAnimator
J3DMaterialTable_NS_entryTevRegAnimator:
/* 8032FE70 0032CDB0 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8032FE74 0032CDB4 7C 08 02 A6 */ mflr r0
/* 8032FE78 0032CDB8 90 01 00 34 */ stw r0, 0x34(r1)
/* 8032FE7C 0032CDBC 39 61 00 30 */ addi r11, r1, 0x30
/* 8032FE80 0032CDC0 48 03 23 51 */ bl func_803621D0
/* 8032FE84 0032CDC4 7C 7B 1B 78 */ mr r27, r3
/* 8032FE88 0032CDC8 7C 9C 23 78 */ mr r28, r4
/* 8032FE8C 0032CDCC 3B C0 00 00 */ li r30, 0
/* 8032FE90 0032CDD0 A0 64 00 0C */ lhz r3, 0xc(r4)
/* 8032FE94 0032CDD4 A3 E4 00 0E */ lhz r31, 0xe(r4)
/* 8032FE98 0032CDD8 A0 1B 00 1C */ lhz r0, 0x1c(r27)
/* 8032FE9C 0032CDDC 28 00 00 01 */ cmplwi r0, 1
/* 8032FEA0 0032CDE0 40 82 00 0C */ bne lbl_8032FEAC
/* 8032FEA4 0032CDE4 38 60 00 02 */ li r3, 2
/* 8032FEA8 0032CDE8 48 00 01 2C */ b lbl_8032FFD4
lbl_8032FEAC:
/* 8032FEAC 0032CDEC 3B A0 00 00 */ li r29, 0
/* 8032FEB0 0032CDF0 54 7A 04 3E */ clrlwi r26, r3, 0x10
/* 8032FEB4 0032CDF4 48 00 00 80 */ b lbl_8032FF34
lbl_8032FEB8:
/* 8032FEB8 0032CDF8 80 7C 00 20 */ lwz r3, 0x20(r28)
/* 8032FEBC 0032CDFC 57 A4 04 3E */ clrlwi r4, r29, 0x10
/* 8032FEC0 0032CE00 57 A0 0B FC */ rlwinm r0, r29, 1, 0xf, 0x1e
/* 8032FEC4 0032CE04 7C 03 02 2E */ lhzx r0, r3, r0
/* 8032FEC8 0032CE08 28 00 FF FF */ cmplwi r0, 0xffff
/* 8032FECC 0032CE0C 41 82 00 64 */ beq lbl_8032FF30
/* 8032FED0 0032CE10 80 7B 00 08 */ lwz r3, 8(r27)
/* 8032FED4 0032CE14 54 00 13 BA */ rlwinm r0, r0, 2, 0xe, 0x1d
/* 8032FED8 0032CE18 7C 63 00 2E */ lwzx r3, r3, r0
/* 8032FEDC 0032CE1C 80 63 00 3C */ lwz r3, 0x3c(r3)
/* 8032FEE0 0032CE20 3C 00 C0 00 */ lis r0, 0xc000
/* 8032FEE4 0032CE24 7C 03 00 40 */ cmplw r3, r0
/* 8032FEE8 0032CE28 40 80 00 08 */ bge lbl_8032FEF0
/* 8032FEEC 0032CE2C 48 00 00 08 */ b lbl_8032FEF4
lbl_8032FEF0:
/* 8032FEF0 0032CE30 38 60 00 00 */ li r3, 0
lbl_8032FEF4:
/* 8032FEF4 0032CE34 80 BC 00 48 */ lwz r5, 0x48(r28)
/* 8032FEF8 0032CE38 1C 84 00 1C */ mulli r4, r4, 0x1c
/* 8032FEFC 0032CE3C 38 04 00 18 */ addi r0, r4, 0x18
/* 8032FF00 0032CE40 7C 85 00 AE */ lbzx r4, r5, r0
/* 8032FF04 0032CE44 28 03 00 00 */ cmplwi r3, 0
/* 8032FF08 0032CE48 40 82 00 0C */ bne lbl_8032FF14
/* 8032FF0C 0032CE4C 3B C0 00 01 */ li r30, 1
/* 8032FF10 0032CE50 48 00 00 20 */ b lbl_8032FF30
lbl_8032FF14:
/* 8032FF14 0032CE54 B3 A1 00 10 */ sth r29, 0x10(r1)
/* 8032FF18 0032CE58 38 00 00 01 */ li r0, 1
/* 8032FF1C 0032CE5C B0 01 00 12 */ sth r0, 0x12(r1)
/* 8032FF20 0032CE60 93 81 00 14 */ stw r28, 0x14(r1)
/* 8032FF24 0032CE64 54 84 06 3E */ clrlwi r4, r4, 0x18
/* 8032FF28 0032CE68 38 A1 00 10 */ addi r5, r1, 0x10
/* 8032FF2C 0032CE6C 4B FF C7 39 */ bl J3DMaterialAnm_NS_setTevColorAnm
lbl_8032FF30:
/* 8032FF30 0032CE70 3B BD 00 01 */ addi r29, r29, 1
lbl_8032FF34:
/* 8032FF34 0032CE74 57 A0 04 3E */ clrlwi r0, r29, 0x10
/* 8032FF38 0032CE78 7C 00 D0 40 */ cmplw r0, r26
/* 8032FF3C 0032CE7C 41 80 FF 7C */ blt lbl_8032FEB8
/* 8032FF40 0032CE80 3B A0 00 00 */ li r29, 0
/* 8032FF44 0032CE84 57 FF 04 3E */ clrlwi r31, r31, 0x10
/* 8032FF48 0032CE88 48 00 00 7C */ b lbl_8032FFC4
lbl_8032FF4C:
/* 8032FF4C 0032CE8C 80 7C 00 34 */ lwz r3, 0x34(r28)
/* 8032FF50 0032CE90 57 A4 04 3E */ clrlwi r4, r29, 0x10
/* 8032FF54 0032CE94 57 A0 0B FC */ rlwinm r0, r29, 1, 0xf, 0x1e
/* 8032FF58 0032CE98 7C 03 02 2E */ lhzx r0, r3, r0
/* 8032FF5C 0032CE9C 28 00 FF FF */ cmplwi r0, 0xffff
/* 8032FF60 0032CEA0 41 82 00 60 */ beq lbl_8032FFC0
/* 8032FF64 0032CEA4 80 7B 00 08 */ lwz r3, 8(r27)
/* 8032FF68 0032CEA8 54 00 13 BA */ rlwinm r0, r0, 2, 0xe, 0x1d
/* 8032FF6C 0032CEAC 7C 63 00 2E */ lwzx r3, r3, r0
/* 8032FF70 0032CEB0 80 63 00 3C */ lwz r3, 0x3c(r3)
/* 8032FF74 0032CEB4 3C 00 C0 00 */ lis r0, 0xc000
/* 8032FF78 0032CEB8 7C 03 00 40 */ cmplw r3, r0
/* 8032FF7C 0032CEBC 40 80 00 08 */ bge lbl_8032FF84
/* 8032FF80 0032CEC0 48 00 00 08 */ b lbl_8032FF88
lbl_8032FF84:
/* 8032FF84 0032CEC4 38 60 00 00 */ li r3, 0
lbl_8032FF88:
/* 8032FF88 0032CEC8 80 BC 00 4C */ lwz r5, 0x4c(r28)
/* 8032FF8C 0032CECC 1C 84 00 1C */ mulli r4, r4, 0x1c
/* 8032FF90 0032CED0 38 04 00 18 */ addi r0, r4, 0x18
/* 8032FF94 0032CED4 7C 85 00 AE */ lbzx r4, r5, r0
/* 8032FF98 0032CED8 28 03 00 00 */ cmplwi r3, 0
/* 8032FF9C 0032CEDC 40 82 00 0C */ bne lbl_8032FFA8
/* 8032FFA0 0032CEE0 3B C0 00 01 */ li r30, 1
/* 8032FFA4 0032CEE4 48 00 00 1C */ b lbl_8032FFC0
lbl_8032FFA8:
/* 8032FFA8 0032CEE8 B3 A1 00 08 */ sth r29, 8(r1)
/* 8032FFAC 0032CEEC 38 00 00 01 */ li r0, 1
/* 8032FFB0 0032CEF0 B0 01 00 0A */ sth r0, 0xa(r1)
/* 8032FFB4 0032CEF4 93 81 00 0C */ stw r28, 0xc(r1)
/* 8032FFB8 0032CEF8 38 A1 00 08 */ addi r5, r1, 8
/* 8032FFBC 0032CEFC 4B FF C6 E9 */ bl J3DMaterialAnm_NS_setTevKColorAnm
lbl_8032FFC0:
/* 8032FFC0 0032CF00 3B BD 00 01 */ addi r29, r29, 1
lbl_8032FFC4:
/* 8032FFC4 0032CF04 57 A0 04 3E */ clrlwi r0, r29, 0x10
/* 8032FFC8 0032CF08 7C 00 F8 40 */ cmplw r0, r31
/* 8032FFCC 0032CF0C 41 80 FF 80 */ blt lbl_8032FF4C
/* 8032FFD0 0032CF10 7F C3 F3 78 */ mr r3, r30
lbl_8032FFD4:
/* 8032FFD4 0032CF14 39 61 00 30 */ addi r11, r1, 0x30
/* 8032FFD8 0032CF18 48 03 22 45 */ bl func_8036221C
/* 8032FFDC 0032CF1C 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8032FFE0 0032CF20 7C 08 03 A6 */ mtlr r0
/* 8032FFE4 0032CF24 38 21 00 30 */ addi r1, r1, 0x30
/* 8032FFE8 0032CF28 4E 80 00 20 */ blr

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,342 @@
.include "macros.inc"
.section .text, "ax" # 80325d88
.global J3DModelData_NS_clear
J3DModelData_NS_clear:
/* 80325D88 00322CC8 38 00 00 00 */ li r0, 0
/* 80325D8C 00322CCC 90 03 00 04 */ stw r0, 4(r3)
/* 80325D90 00322CD0 90 03 00 08 */ stw r0, 8(r3)
/* 80325D94 00322CD4 B0 03 00 0C */ sth r0, 0xc(r3)
/* 80325D98 00322CD8 B0 03 00 0E */ sth r0, 0xe(r3)
/* 80325D9C 00322CDC 4E 80 00 20 */ blr
.global J3DModelData
J3DModelData:
/* 80325DA0 00322CE0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80325DA4 00322CE4 7C 08 02 A6 */ mflr r0
/* 80325DA8 00322CE8 90 01 00 14 */ stw r0, 0x14(r1)
/* 80325DAC 00322CEC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80325DB0 00322CF0 7C 7F 1B 78 */ mr r31, r3
/* 80325DB4 00322CF4 3C 60 80 3D */ lis r3, lbl_803CED14@ha
/* 80325DB8 00322CF8 38 03 ED 14 */ addi r0, r3, lbl_803CED14@l
/* 80325DBC 00322CFC 90 1F 00 00 */ stw r0, 0(r31)
/* 80325DC0 00322D00 38 7F 00 10 */ addi r3, r31, 0x10
/* 80325DC4 00322D04 4B FF FC 55 */ bl J3DJointTree
/* 80325DC8 00322D08 38 7F 00 58 */ addi r3, r31, 0x58
/* 80325DCC 00322D0C 48 00 98 05 */ bl J3DMaterialTable
/* 80325DD0 00322D10 3C 60 80 3D */ lis r3, lbl_803CED08@ha
/* 80325DD4 00322D14 38 03 ED 08 */ addi r0, r3, lbl_803CED08@l
/* 80325DD8 00322D18 90 1F 00 78 */ stw r0, 0x78(r31)
/* 80325DDC 00322D1C 38 00 00 00 */ li r0, 0
/* 80325DE0 00322D20 B0 1F 00 7C */ sth r0, 0x7c(r31)
/* 80325DE4 00322D24 90 1F 00 80 */ stw r0, 0x80(r31)
/* 80325DE8 00322D28 90 1F 00 84 */ stw r0, 0x84(r31)
/* 80325DEC 00322D2C 38 7F 00 88 */ addi r3, r31, 0x88
/* 80325DF0 00322D30 4B FE B1 09 */ bl J3DVertexData
/* 80325DF4 00322D34 7F E3 FB 78 */ mr r3, r31
/* 80325DF8 00322D38 4B FF FF 91 */ bl J3DModelData_NS_clear
/* 80325DFC 00322D3C 7F E3 FB 78 */ mr r3, r31
/* 80325E00 00322D40 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80325E04 00322D44 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80325E08 00322D48 7C 08 03 A6 */ mtlr r0
/* 80325E0C 00322D4C 38 21 00 10 */ addi r1, r1, 0x10
/* 80325E10 00322D50 4E 80 00 20 */ blr
.global J3DModelData_NS_newSharedDisplayList
J3DModelData_NS_newSharedDisplayList:
/* 80325E14 00322D54 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80325E18 00322D58 7C 08 02 A6 */ mflr r0
/* 80325E1C 00322D5C 90 01 00 24 */ stw r0, 0x24(r1)
/* 80325E20 00322D60 39 61 00 20 */ addi r11, r1, 0x20
/* 80325E24 00322D64 48 03 C3 B1 */ bl func_803621D4
/* 80325E28 00322D68 7C 7B 1B 78 */ mr r27, r3
/* 80325E2C 00322D6C A3 E3 00 5C */ lhz r31, 0x5c(r3)
/* 80325E30 00322D70 3B 80 00 00 */ li r28, 0
/* 80325E34 00322D74 54 9E 03 5A */ rlwinm r30, r4, 0, 0xd, 0xd
/* 80325E38 00322D78 48 00 00 68 */ b lbl_80325EA0
lbl_80325E3C:
/* 80325E3C 00322D7C 28 1E 00 00 */ cmplwi r30, 0
/* 80325E40 00322D80 41 82 00 30 */ beq lbl_80325E70
/* 80325E44 00322D84 80 7B 00 60 */ lwz r3, 0x60(r27)
/* 80325E48 00322D88 57 80 13 BA */ rlwinm r0, r28, 2, 0xe, 0x1d
/* 80325E4C 00322D8C 7F A3 00 2E */ lwzx r29, r3, r0
/* 80325E50 00322D90 7F A3 EB 78 */ mr r3, r29
/* 80325E54 00322D94 4B FF 04 3D */ bl J3DMaterial_NS_countDLSize
/* 80325E58 00322D98 7C 64 1B 78 */ mr r4, r3
/* 80325E5C 00322D9C 7F A3 EB 78 */ mr r3, r29
/* 80325E60 00322DA0 4B FF 10 C5 */ bl J3DMaterial_NS_newSingleSharedDisplayList
/* 80325E64 00322DA4 2C 03 00 00 */ cmpwi r3, 0
/* 80325E68 00322DA8 41 82 00 34 */ beq lbl_80325E9C
/* 80325E6C 00322DAC 48 00 00 44 */ b lbl_80325EB0
lbl_80325E70:
/* 80325E70 00322DB0 80 7B 00 60 */ lwz r3, 0x60(r27)
/* 80325E74 00322DB4 57 80 13 BA */ rlwinm r0, r28, 2, 0xe, 0x1d
/* 80325E78 00322DB8 7F A3 00 2E */ lwzx r29, r3, r0
/* 80325E7C 00322DBC 7F A3 EB 78 */ mr r3, r29
/* 80325E80 00322DC0 4B FF 04 11 */ bl J3DMaterial_NS_countDLSize
/* 80325E84 00322DC4 7C 64 1B 78 */ mr r4, r3
/* 80325E88 00322DC8 7F A3 EB 78 */ mr r3, r29
/* 80325E8C 00322DCC 4B FF 10 05 */ bl J3DMaterial_NS_newSharedDisplayList
/* 80325E90 00322DD0 2C 03 00 00 */ cmpwi r3, 0
/* 80325E94 00322DD4 41 82 00 08 */ beq lbl_80325E9C
/* 80325E98 00322DD8 48 00 00 18 */ b lbl_80325EB0
lbl_80325E9C:
/* 80325E9C 00322DDC 3B 9C 00 01 */ addi r28, r28, 1
lbl_80325EA0:
/* 80325EA0 00322DE0 57 80 04 3E */ clrlwi r0, r28, 0x10
/* 80325EA4 00322DE4 7C 00 F8 40 */ cmplw r0, r31
/* 80325EA8 00322DE8 41 80 FF 94 */ blt lbl_80325E3C
/* 80325EAC 00322DEC 38 60 00 00 */ li r3, 0
lbl_80325EB0:
/* 80325EB0 00322DF0 39 61 00 20 */ addi r11, r1, 0x20
/* 80325EB4 00322DF4 48 03 C3 6D */ bl func_80362220
/* 80325EB8 00322DF8 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80325EBC 00322DFC 7C 08 03 A6 */ mtlr r0
/* 80325EC0 00322E00 38 21 00 20 */ addi r1, r1, 0x20
/* 80325EC4 00322E04 4E 80 00 20 */ blr
.global J3DModelData_NS_indexToPtr
J3DModelData_NS_indexToPtr:
/* 80325EC8 00322E08 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 80325ECC 00322E0C 7C 08 02 A6 */ mflr r0
/* 80325ED0 00322E10 90 01 00 34 */ stw r0, 0x34(r1)
/* 80325ED4 00322E14 39 61 00 30 */ addi r11, r1, 0x30
/* 80325ED8 00322E18 48 03 C2 FD */ bl func_803621D4
/* 80325EDC 00322E1C 7C 7B 1B 78 */ mr r27, r3
/* 80325EE0 00322E20 80 03 00 6C */ lwz r0, 0x6c(r3)
/* 80325EE4 00322E24 3C 60 80 43 */ lis r3, lbl_80434AC8@ha
/* 80325EE8 00322E28 38 63 4A C8 */ addi r3, r3, lbl_80434AC8@l
/* 80325EEC 00322E2C 90 03 00 58 */ stw r0, 0x58(r3)
/* 80325EF0 00322E30 88 0D 90 6C */ lbz r0, lbl_804515EC-_SDA_BASE_(r13)
/* 80325EF4 00322E34 7C 00 07 75 */ extsb. r0, r0
/* 80325EF8 00322E38 40 82 00 14 */ bne lbl_80325F0C
/* 80325EFC 00322E3C 48 01 77 F9 */ bl __RAS_OSDisableInterrupts_begin
/* 80325F00 00322E40 90 6D 90 68 */ stw r3, lbl_804515E8-_SDA_BASE_(r13)
/* 80325F04 00322E44 38 00 00 01 */ li r0, 1
/* 80325F08 00322E48 98 0D 90 6C */ stb r0, lbl_804515EC-_SDA_BASE_(r13)
lbl_80325F0C:
/* 80325F0C 00322E4C 48 01 AD B9 */ bl OSDisableScheduler
/* 80325F10 00322E50 A3 FB 00 5C */ lhz r31, 0x5c(r27)
/* 80325F14 00322E54 3B 80 00 00 */ li r28, 0
/* 80325F18 00322E58 3B C1 00 08 */ addi r30, r1, 8
/* 80325F1C 00322E5C 48 00 00 40 */ b lbl_80325F5C
lbl_80325F20:
/* 80325F20 00322E60 80 7B 00 60 */ lwz r3, 0x60(r27)
/* 80325F24 00322E64 57 80 13 BA */ rlwinm r0, r28, 2, 0xe, 0x1d
/* 80325F28 00322E68 7F A3 00 2E */ lwzx r29, r3, r0
/* 80325F2C 00322E6C 80 BD 00 48 */ lwz r5, 0x48(r29)
/* 80325F30 00322E70 38 61 00 08 */ addi r3, r1, 8
/* 80325F34 00322E74 80 85 00 00 */ lwz r4, 0(r5)
/* 80325F38 00322E78 80 A5 00 08 */ lwz r5, 8(r5)
/* 80325F3C 00322E7C 48 03 B0 5D */ bl GDInitGDLObj
/* 80325F40 00322E80 93 CD 94 00 */ stw r30, lbl_80451980-_SDA_BASE_(r13)
/* 80325F44 00322E84 80 7D 00 2C */ lwz r3, 0x2c(r29)
/* 80325F48 00322E88 81 83 00 00 */ lwz r12, 0(r3)
/* 80325F4C 00322E8C 81 8C 00 3C */ lwz r12, 0x3c(r12)
/* 80325F50 00322E90 7D 89 03 A6 */ mtctr r12
/* 80325F54 00322E94 4E 80 04 21 */ bctrl
/* 80325F58 00322E98 3B 9C 00 01 */ addi r28, r28, 1
lbl_80325F5C:
/* 80325F5C 00322E9C 57 80 04 3E */ clrlwi r0, r28, 0x10
/* 80325F60 00322EA0 7C 00 F8 40 */ cmplw r0, r31
/* 80325F64 00322EA4 41 80 FF BC */ blt lbl_80325F20
/* 80325F68 00322EA8 38 00 00 00 */ li r0, 0
/* 80325F6C 00322EAC 90 0D 94 00 */ stw r0, lbl_80451980-_SDA_BASE_(r13)
/* 80325F70 00322EB0 48 01 AD 95 */ bl OSEnableScheduler
/* 80325F74 00322EB4 80 6D 90 68 */ lwz r3, lbl_804515E8-_SDA_BASE_(r13)
/* 80325F78 00322EB8 48 01 77 A5 */ bl OSRestoreInterrupts
/* 80325F7C 00322EBC 39 61 00 30 */ addi r11, r1, 0x30
/* 80325F80 00322EC0 48 03 C2 A1 */ bl func_80362220
/* 80325F84 00322EC4 80 01 00 34 */ lwz r0, 0x34(r1)
/* 80325F88 00322EC8 7C 08 03 A6 */ mtlr r0
/* 80325F8C 00322ECC 38 21 00 30 */ addi r1, r1, 0x30
/* 80325F90 00322ED0 4E 80 00 20 */ blr
.global J3DModelData_NS_makeSharedDL
J3DModelData_NS_makeSharedDL:
/* 80325F94 00322ED4 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80325F98 00322ED8 7C 08 02 A6 */ mflr r0
/* 80325F9C 00322EDC 90 01 00 24 */ stw r0, 0x24(r1)
/* 80325FA0 00322EE0 39 61 00 20 */ addi r11, r1, 0x20
/* 80325FA4 00322EE4 48 03 C2 39 */ bl func_803621DC
/* 80325FA8 00322EE8 7C 7D 1B 78 */ mr r29, r3
/* 80325FAC 00322EEC 80 03 00 6C */ lwz r0, 0x6c(r3)
/* 80325FB0 00322EF0 3C 60 80 43 */ lis r3, lbl_80434AC8@ha
/* 80325FB4 00322EF4 38 63 4A C8 */ addi r3, r3, lbl_80434AC8@l
/* 80325FB8 00322EF8 90 03 00 58 */ stw r0, 0x58(r3)
/* 80325FBC 00322EFC A3 FD 00 5C */ lhz r31, 0x5c(r29)
/* 80325FC0 00322F00 3B C0 00 00 */ li r30, 0
/* 80325FC4 00322F04 48 00 00 24 */ b lbl_80325FE8
lbl_80325FC8:
/* 80325FC8 00322F08 80 7D 00 60 */ lwz r3, 0x60(r29)
/* 80325FCC 00322F0C 57 C0 13 BA */ rlwinm r0, r30, 2, 0xe, 0x1d
/* 80325FD0 00322F10 7C 63 00 2E */ lwzx r3, r3, r0
/* 80325FD4 00322F14 81 83 00 00 */ lwz r12, 0(r3)
/* 80325FD8 00322F18 81 8C 00 14 */ lwz r12, 0x14(r12)
/* 80325FDC 00322F1C 7D 89 03 A6 */ mtctr r12
/* 80325FE0 00322F20 4E 80 04 21 */ bctrl
/* 80325FE4 00322F24 3B DE 00 01 */ addi r30, r30, 1
lbl_80325FE8:
/* 80325FE8 00322F28 57 C0 04 3E */ clrlwi r0, r30, 0x10
/* 80325FEC 00322F2C 7C 00 F8 40 */ cmplw r0, r31
/* 80325FF0 00322F30 41 80 FF D8 */ blt lbl_80325FC8
/* 80325FF4 00322F34 39 61 00 20 */ addi r11, r1, 0x20
/* 80325FF8 00322F38 48 03 C2 31 */ bl func_80362228
/* 80325FFC 00322F3C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80326000 00322F40 7C 08 03 A6 */ mtlr r0
/* 80326004 00322F44 38 21 00 20 */ addi r1, r1, 0x20
/* 80326008 00322F48 4E 80 00 20 */ blr
.global J3DModelData_NS_simpleCalcMaterial
J3DModelData_NS_simpleCalcMaterial:
/* 8032600C 00322F4C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80326010 00322F50 7C 08 02 A6 */ mflr r0
/* 80326014 00322F54 90 01 00 24 */ stw r0, 0x24(r1)
/* 80326018 00322F58 39 61 00 20 */ addi r11, r1, 0x20
/* 8032601C 00322F5C 48 03 C1 C1 */ bl func_803621DC
/* 80326020 00322F60 7C 7F 1B 78 */ mr r31, r3
/* 80326024 00322F64 7C 9E 23 78 */ mr r30, r4
/* 80326028 00322F68 7C BD 2B 78 */ mr r29, r5
/* 8032602C 00322F6C 48 00 00 CD */ bl J3DModelData_NS_syncJ3DSysFlags
/* 80326030 00322F70 80 7F 00 28 */ lwz r3, 0x28(r31)
/* 80326034 00322F74 57 C0 13 BA */ rlwinm r0, r30, 2, 0xe, 0x1d
/* 80326038 00322F78 7C 63 00 2E */ lwzx r3, r3, r0
/* 8032603C 00322F7C 83 C3 00 58 */ lwz r30, 0x58(r3)
/* 80326040 00322F80 3F E0 C0 00 */ lis r31, 0xc000
/* 80326044 00322F84 48 00 00 68 */ b lbl_803260AC
lbl_80326048:
/* 80326048 00322F88 80 7E 00 3C */ lwz r3, 0x3c(r30)
/* 8032604C 00322F8C 7C 03 F8 40 */ cmplw r3, r31
/* 80326050 00322F90 40 80 00 0C */ bge lbl_8032605C
/* 80326054 00322F94 7C 60 1B 78 */ mr r0, r3
/* 80326058 00322F98 48 00 00 08 */ b lbl_80326060
lbl_8032605C:
/* 8032605C 00322F9C 38 00 00 00 */ li r0, 0
lbl_80326060:
/* 80326060 00322FA0 28 00 00 00 */ cmplwi r0, 0
/* 80326064 00322FA4 41 82 00 2C */ beq lbl_80326090
/* 80326068 00322FA8 3C 00 C0 00 */ lis r0, 0xc000
/* 8032606C 00322FAC 7C 03 00 40 */ cmplw r3, r0
/* 80326070 00322FB0 40 80 00 08 */ bge lbl_80326078
/* 80326074 00322FB4 48 00 00 08 */ b lbl_8032607C
lbl_80326078:
/* 80326078 00322FB8 38 60 00 00 */ li r3, 0
lbl_8032607C:
/* 8032607C 00322FBC 7F C4 F3 78 */ mr r4, r30
/* 80326080 00322FC0 81 83 00 00 */ lwz r12, 0(r3)
/* 80326084 00322FC4 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 80326088 00322FC8 7D 89 03 A6 */ mtctr r12
/* 8032608C 00322FCC 4E 80 04 21 */ bctrl
lbl_80326090:
/* 80326090 00322FD0 7F C3 F3 78 */ mr r3, r30
/* 80326094 00322FD4 7F A4 EB 78 */ mr r4, r29
/* 80326098 00322FD8 81 9E 00 00 */ lwz r12, 0(r30)
/* 8032609C 00322FDC 81 8C 00 08 */ lwz r12, 8(r12)
/* 803260A0 00322FE0 7D 89 03 A6 */ mtctr r12
/* 803260A4 00322FE4 4E 80 04 21 */ bctrl
/* 803260A8 00322FE8 83 DE 00 04 */ lwz r30, 4(r30)
lbl_803260AC:
/* 803260AC 00322FEC 28 1E 00 00 */ cmplwi r30, 0
/* 803260B0 00322FF0 40 82 FF 98 */ bne lbl_80326048
/* 803260B4 00322FF4 39 61 00 20 */ addi r11, r1, 0x20
/* 803260B8 00322FF8 48 03 C1 71 */ bl func_80362228
/* 803260BC 00322FFC 80 01 00 24 */ lwz r0, 0x24(r1)
/* 803260C0 00323000 7C 08 03 A6 */ mtlr r0
/* 803260C4 00323004 38 21 00 20 */ addi r1, r1, 0x20
/* 803260C8 00323008 4E 80 00 20 */ blr
.global J3DModelData_NS_syncJ3DSysPointers
J3DModelData_NS_syncJ3DSysPointers:
/* 803260CC 0032300C 80 03 00 6C */ lwz r0, 0x6c(r3)
/* 803260D0 00323010 3C 80 80 43 */ lis r4, lbl_80434AC8@ha
/* 803260D4 00323014 38 84 4A C8 */ addi r4, r4, lbl_80434AC8@l
/* 803260D8 00323018 90 04 00 58 */ stw r0, 0x58(r4)
/* 803260DC 0032301C 80 03 00 A0 */ lwz r0, 0xa0(r3)
/* 803260E0 00323020 90 04 01 0C */ stw r0, 0x10c(r4)
/* 803260E4 00323024 80 03 00 A4 */ lwz r0, 0xa4(r3)
/* 803260E8 00323028 90 04 01 10 */ stw r0, 0x110(r4)
/* 803260EC 0032302C 80 03 00 AC */ lwz r0, 0xac(r3)
/* 803260F0 00323030 90 04 01 14 */ stw r0, 0x114(r4)
/* 803260F4 00323034 4E 80 00 20 */ blr
.global J3DModelData_NS_syncJ3DSysFlags
J3DModelData_NS_syncJ3DSysFlags:
/* 803260F8 00323038 80 03 00 08 */ lwz r0, 8(r3)
/* 803260FC 0032303C 54 00 06 B5 */ rlwinm. r0, r0, 0, 0x1a, 0x1a
/* 80326100 00323040 41 82 00 1C */ beq lbl_8032611C
/* 80326104 00323044 3C 60 80 43 */ lis r3, lbl_80434AC8@ha
/* 80326108 00323048 38 63 4A C8 */ addi r3, r3, lbl_80434AC8@l
/* 8032610C 0032304C 80 03 00 34 */ lwz r0, 0x34(r3)
/* 80326110 00323050 64 00 40 00 */ oris r0, r0, 0x4000
/* 80326114 00323054 90 03 00 34 */ stw r0, 0x34(r3)
/* 80326118 00323058 4E 80 00 20 */ blr
lbl_8032611C:
/* 8032611C 0032305C 3C 60 80 43 */ lis r3, lbl_80434AC8@ha
/* 80326120 00323060 38 63 4A C8 */ addi r3, r3, lbl_80434AC8@l
/* 80326124 00323064 80 03 00 34 */ lwz r0, 0x34(r3)
/* 80326128 00323068 54 00 00 80 */ rlwinm r0, r0, 0, 2, 0
/* 8032612C 0032306C 90 03 00 34 */ stw r0, 0x34(r3)
/* 80326130 00323070 4E 80 00 20 */ blr
/* 80326134 00323074 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80326138 00323078 7C 08 02 A6 */ mflr r0
/* 8032613C 0032307C 90 01 00 14 */ stw r0, 0x14(r1)
/* 80326140 00323080 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80326144 00323084 7C 7F 1B 79 */ or. r31, r3, r3
/* 80326148 00323088 41 82 00 1C */ beq lbl_80326164
/* 8032614C 0032308C 3C A0 80 3D */ lis r5, lbl_803CED08@ha
/* 80326150 00323090 38 05 ED 08 */ addi r0, r5, lbl_803CED08@l
/* 80326154 00323094 90 1F 00 00 */ stw r0, 0(r31)
/* 80326158 00323098 7C 80 07 35 */ extsh. r0, r4
/* 8032615C 0032309C 40 81 00 08 */ ble lbl_80326164
/* 80326160 003230A0 4B FA 8B DD */ bl __dl
lbl_80326164:
/* 80326164 003230A4 7F E3 FB 78 */ mr r3, r31
/* 80326168 003230A8 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8032616C 003230AC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80326170 003230B0 7C 08 03 A6 */ mtlr r0
/* 80326174 003230B4 38 21 00 10 */ addi r1, r1, 0x10
/* 80326178 003230B8 4E 80 00 20 */ blr
/* 8032617C 003230BC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80326180 003230C0 7C 08 02 A6 */ mflr r0
/* 80326184 003230C4 90 01 00 14 */ stw r0, 0x14(r1)
/* 80326188 003230C8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8032618C 003230CC 93 C1 00 08 */ stw r30, 8(r1)
/* 80326190 003230D0 7C 7E 1B 79 */ or. r30, r3, r3
/* 80326194 003230D4 7C 9F 23 78 */ mr r31, r4
/* 80326198 003230D8 41 82 00 60 */ beq lbl_803261F8
/* 8032619C 003230DC 3C 60 80 3D */ lis r3, lbl_803CED14@ha
/* 803261A0 003230E0 38 03 ED 14 */ addi r0, r3, lbl_803CED14@l
/* 803261A4 003230E4 90 1E 00 00 */ stw r0, 0(r30)
/* 803261A8 003230E8 34 1E 00 78 */ addic. r0, r30, 0x78
/* 803261AC 003230EC 41 82 00 10 */ beq lbl_803261BC
/* 803261B0 003230F0 3C 60 80 3D */ lis r3, lbl_803CED08@ha
/* 803261B4 003230F4 38 03 ED 08 */ addi r0, r3, lbl_803CED08@l
/* 803261B8 003230F8 90 1E 00 78 */ stw r0, 0x78(r30)
lbl_803261BC:
/* 803261BC 003230FC 38 7E 00 58 */ addi r3, r30, 0x58
/* 803261C0 00323100 38 80 FF FF */ li r4, -1
/* 803261C4 00323104 48 00 94 41 */ bl J3DMaterialTable_NS_dtor
/* 803261C8 00323108 34 1E 00 10 */ addic. r0, r30, 0x10
/* 803261CC 0032310C 41 82 00 1C */ beq lbl_803261E8
/* 803261D0 00323110 3C 60 80 3D */ lis r3, lbl_803CECF4@ha
/* 803261D4 00323114 38 03 EC F4 */ addi r0, r3, lbl_803CECF4@l
/* 803261D8 00323118 90 1E 00 10 */ stw r0, 0x10(r30)
/* 803261DC 0032311C 38 7E 00 44 */ addi r3, r30, 0x44
/* 803261E0 00323120 38 80 FF FF */ li r4, -1
/* 803261E4 00323124 4B FE B4 11 */ bl J3DDrawMtxData_NS_dtor
lbl_803261E8:
/* 803261E8 00323128 7F E0 07 35 */ extsh. r0, r31
/* 803261EC 0032312C 40 81 00 0C */ ble lbl_803261F8
/* 803261F0 00323130 7F C3 F3 78 */ mr r3, r30
/* 803261F4 00323134 4B FA 8B 49 */ bl __dl
lbl_803261F8:
/* 803261F8 00323138 7F C3 F3 78 */ mr r3, r30
/* 803261FC 0032313C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80326200 00323140 83 C1 00 08 */ lwz r30, 8(r1)
/* 80326204 00323144 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80326208 00323148 7C 08 03 A6 */ mtlr r0
/* 8032620C 0032314C 38 21 00 10 */ addi r1, r1, 0x10
/* 80326210 00323150 4E 80 00 20 */ blr

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,117 @@
.include "macros.inc"
.section .text, "ax" # 803258a0
/* 803258A0 003227E0 A0 03 00 04 */ lhz r0, 4(r3)
/* 803258A4 003227E4 38 C0 00 00 */ li r6, 0
/* 803258A8 003227E8 48 00 00 20 */ b lbl_803258C8
lbl_803258AC:
/* 803258AC 003227EC 80 A3 00 08 */ lwz r5, 8(r3)
/* 803258B0 003227F0 54 C4 13 BA */ rlwinm r4, r6, 2, 0xe, 0x1d
/* 803258B4 003227F4 7C A5 20 2E */ lwzx r5, r5, r4
/* 803258B8 003227F8 80 85 00 0C */ lwz r4, 0xc(r5)
/* 803258BC 003227FC 60 84 00 01 */ ori r4, r4, 1
/* 803258C0 00322800 90 85 00 0C */ stw r4, 0xc(r5)
/* 803258C4 00322804 38 C6 00 01 */ addi r6, r6, 1
lbl_803258C8:
/* 803258C8 00322808 54 C4 04 3E */ clrlwi r4, r6, 0x10
/* 803258CC 0032280C 7C 04 00 40 */ cmplw r4, r0
/* 803258D0 00322810 41 80 FF DC */ blt lbl_803258AC
/* 803258D4 00322814 4E 80 00 20 */ blr
/* 803258D8 00322818 A0 03 00 04 */ lhz r0, 4(r3)
/* 803258DC 0032281C 38 C0 00 00 */ li r6, 0
/* 803258E0 00322820 48 00 00 20 */ b lbl_80325900
lbl_803258E4:
/* 803258E4 00322824 80 A3 00 08 */ lwz r5, 8(r3)
/* 803258E8 00322828 54 C4 13 BA */ rlwinm r4, r6, 2, 0xe, 0x1d
/* 803258EC 0032282C 7C A5 20 2E */ lwzx r5, r5, r4
/* 803258F0 00322830 80 85 00 0C */ lwz r4, 0xc(r5)
/* 803258F4 00322834 54 84 00 3C */ rlwinm r4, r4, 0, 0, 0x1e
/* 803258F8 00322838 90 85 00 0C */ stw r4, 0xc(r5)
/* 803258FC 0032283C 38 C6 00 01 */ addi r6, r6, 1
lbl_80325900:
/* 80325900 00322840 54 C4 04 3E */ clrlwi r4, r6, 0x10
/* 80325904 00322844 7C 04 00 40 */ cmplw r4, r0
/* 80325908 00322848 41 80 FF DC */ blt lbl_803258E4
/* 8032590C 0032284C 4E 80 00 20 */ blr
.global J3DShapeTable_NS_initShapeNodes
J3DShapeTable_NS_initShapeNodes:
/* 80325910 00322850 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80325914 00322854 7C 08 02 A6 */ mflr r0
/* 80325918 00322858 90 01 00 24 */ stw r0, 0x24(r1)
/* 8032591C 0032285C 39 61 00 20 */ addi r11, r1, 0x20
/* 80325920 00322860 48 03 C8 B5 */ bl func_803621D4
/* 80325924 00322864 7C 7B 1B 78 */ mr r27, r3
/* 80325928 00322868 7C 9C 23 78 */ mr r28, r4
/* 8032592C 0032286C 7C BD 2B 78 */ mr r29, r5
/* 80325930 00322870 A3 E3 00 04 */ lhz r31, 4(r3)
/* 80325934 00322874 3B C0 00 00 */ li r30, 0
/* 80325938 00322878 48 00 00 20 */ b lbl_80325958
lbl_8032593C:
/* 8032593C 0032287C 80 7B 00 08 */ lwz r3, 8(r27)
/* 80325940 00322880 57 C0 13 BA */ rlwinm r0, r30, 2, 0xe, 0x1d
/* 80325944 00322884 7C 63 00 2E */ lwzx r3, r3, r0
/* 80325948 00322888 93 83 00 50 */ stw r28, 0x50(r3)
/* 8032594C 0032288C 93 A3 00 4C */ stw r29, 0x4c(r3)
/* 80325950 00322890 4B FE F9 11 */ bl J3DShape_NS_makeVcdVatCmd
/* 80325954 00322894 3B DE 00 01 */ addi r30, r30, 1
lbl_80325958:
/* 80325958 00322898 57 C0 04 3E */ clrlwi r0, r30, 0x10
/* 8032595C 0032289C 7C 00 F8 40 */ cmplw r0, r31
/* 80325960 003228A0 41 80 FF DC */ blt lbl_8032593C
/* 80325964 003228A4 39 61 00 20 */ addi r11, r1, 0x20
/* 80325968 003228A8 48 03 C8 B9 */ bl func_80362220
/* 8032596C 003228AC 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80325970 003228B0 7C 08 03 A6 */ mtlr r0
/* 80325974 003228B4 38 21 00 20 */ addi r1, r1, 0x20
/* 80325978 003228B8 4E 80 00 20 */ blr
.global J3DShapeTable_NS_sortVcdVatCmd
J3DShapeTable_NS_sortVcdVatCmd:
/* 8032597C 003228BC 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 80325980 003228C0 7C 08 02 A6 */ mflr r0
/* 80325984 003228C4 90 01 00 34 */ stw r0, 0x34(r1)
/* 80325988 003228C8 39 61 00 30 */ addi r11, r1, 0x30
/* 8032598C 003228CC 48 03 C8 41 */ bl func_803621CC
/* 80325990 003228D0 7C 79 1B 78 */ mr r25, r3
/* 80325994 003228D4 A3 83 00 04 */ lhz r28, 4(r3)
/* 80325998 003228D8 3B 60 00 00 */ li r27, 0
/* 8032599C 003228DC 48 00 00 58 */ b lbl_803259F4
lbl_803259A0:
/* 803259A0 003228E0 3B 40 00 00 */ li r26, 0
/* 803259A4 003228E4 57 7F 04 3E */ clrlwi r31, r27, 0x10
/* 803259A8 003228E8 57 7E 13 BA */ rlwinm r30, r27, 2, 0xe, 0x1d
/* 803259AC 003228EC 48 00 00 38 */ b lbl_803259E4
lbl_803259B0:
/* 803259B0 003228F0 80 99 00 08 */ lwz r4, 8(r25)
/* 803259B4 003228F4 7C 7E 20 2E */ lwzx r3, r30, r4
/* 803259B8 003228F8 57 5D 13 BA */ rlwinm r29, r26, 2, 0xe, 0x1d
/* 803259BC 003228FC 7C 84 E8 2E */ lwzx r4, r4, r29
/* 803259C0 00322900 4B FE F5 9D */ bl J3DShape_NS_isSameVcdVatCmd
/* 803259C4 00322904 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 803259C8 00322908 41 82 00 18 */ beq lbl_803259E0
/* 803259CC 0032290C 80 99 00 08 */ lwz r4, 8(r25)
/* 803259D0 00322910 7C 64 E8 2E */ lwzx r3, r4, r29
/* 803259D4 00322914 80 03 00 2C */ lwz r0, 0x2c(r3)
/* 803259D8 00322918 7C 7E 20 2E */ lwzx r3, r30, r4
/* 803259DC 0032291C 90 03 00 2C */ stw r0, 0x2c(r3)
lbl_803259E0:
/* 803259E0 00322920 3B 5A 00 01 */ addi r26, r26, 1
lbl_803259E4:
/* 803259E4 00322924 57 40 04 3E */ clrlwi r0, r26, 0x10
/* 803259E8 00322928 7C 00 F8 40 */ cmplw r0, r31
/* 803259EC 0032292C 41 80 FF C4 */ blt lbl_803259B0
/* 803259F0 00322930 3B 7B 00 01 */ addi r27, r27, 1
lbl_803259F4:
/* 803259F4 00322934 57 60 04 3E */ clrlwi r0, r27, 0x10
/* 803259F8 00322938 7C 00 E0 40 */ cmplw r0, r28
/* 803259FC 0032293C 41 80 FF A4 */ blt lbl_803259A0
/* 80325A00 00322940 39 61 00 30 */ addi r11, r1, 0x30
/* 80325A04 00322944 48 03 C8 15 */ bl func_80362218
/* 80325A08 00322948 80 01 00 34 */ lwz r0, 0x34(r1)
/* 80325A0C 0032294C 7C 08 03 A6 */ mtlr r0
/* 80325A10 00322950 38 21 00 30 */ addi r1, r1, 0x30
/* 80325A14 00322954 4E 80 00 20 */ blr

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,555 @@
.include "macros.inc"
.section .text, "ax" # 80324f08
.global J3DDrawBuffer_NS_initialize
J3DDrawBuffer_NS_initialize:
/* 80324F08 00321E48 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80324F0C 00321E4C 38 00 00 00 */ li r0, 0
/* 80324F10 00321E50 90 03 00 08 */ stw r0, 8(r3)
/* 80324F14 00321E54 90 03 00 0C */ stw r0, 0xc(r3)
/* 80324F18 00321E58 C0 02 CA 00 */ lfs f0, lbl_80456400-_SDA2_BASE_(r2)
/* 80324F1C 00321E5C D0 03 00 10 */ stfs f0, 0x10(r3)
/* 80324F20 00321E60 C0 02 CA 04 */ lfs f0, lbl_80456404-_SDA2_BASE_(r2)
/* 80324F24 00321E64 D0 03 00 14 */ stfs f0, 0x14(r3)
/* 80324F28 00321E68 90 03 00 1C */ stw r0, 0x1c(r3)
/* 80324F2C 00321E6C 90 03 00 20 */ stw r0, 0x20(r3)
/* 80324F30 00321E70 38 00 00 20 */ li r0, 0x20
/* 80324F34 00321E74 90 03 00 04 */ stw r0, 4(r3)
/* 80324F38 00321E78 C0 23 00 14 */ lfs f1, 0x14(r3)
/* 80324F3C 00321E7C C0 03 00 10 */ lfs f0, 0x10(r3)
/* 80324F40 00321E80 EC 41 00 28 */ fsubs f2, f1, f0
/* 80324F44 00321E84 80 03 00 04 */ lwz r0, 4(r3)
/* 80324F48 00321E88 C8 22 CA 08 */ lfd f1, lbl_80456408-_SDA2_BASE_(r2)
/* 80324F4C 00321E8C 90 01 00 0C */ stw r0, 0xc(r1)
/* 80324F50 00321E90 3C 00 43 30 */ lis r0, 0x4330
/* 80324F54 00321E94 90 01 00 08 */ stw r0, 8(r1)
/* 80324F58 00321E98 C8 01 00 08 */ lfd f0, 8(r1)
/* 80324F5C 00321E9C EC 00 08 28 */ fsubs f0, f0, f1
/* 80324F60 00321EA0 EC 02 00 24 */ fdivs f0, f2, f0
/* 80324F64 00321EA4 D0 03 00 18 */ stfs f0, 0x18(r3)
/* 80324F68 00321EA8 38 21 00 10 */ addi r1, r1, 0x10
/* 80324F6C 00321EAC 4E 80 00 20 */ blr
.global J3DDrawBuffer_NS_allocBuffer
J3DDrawBuffer_NS_allocBuffer:
/* 80324F70 00321EB0 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80324F74 00321EB4 7C 08 02 A6 */ mflr r0
/* 80324F78 00321EB8 90 01 00 24 */ stw r0, 0x24(r1)
/* 80324F7C 00321EBC 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80324F80 00321EC0 93 C1 00 18 */ stw r30, 0x18(r1)
/* 80324F84 00321EC4 7C 7E 1B 78 */ mr r30, r3
/* 80324F88 00321EC8 7C 9F 23 78 */ mr r31, r4
/* 80324F8C 00321ECC 54 83 10 3A */ slwi r3, r4, 2
/* 80324F90 00321ED0 38 80 00 20 */ li r4, 0x20
/* 80324F94 00321ED4 4B FA 9D 59 */ bl __nwa_X1_
/* 80324F98 00321ED8 90 7E 00 00 */ stw r3, 0(r30)
/* 80324F9C 00321EDC 80 1E 00 00 */ lwz r0, 0(r30)
/* 80324FA0 00321EE0 28 00 00 00 */ cmplwi r0, 0
/* 80324FA4 00321EE4 40 82 00 0C */ bne lbl_80324FB0
/* 80324FA8 00321EE8 38 60 00 04 */ li r3, 4
/* 80324FAC 00321EEC 48 00 00 44 */ b lbl_80324FF0
lbl_80324FB0:
/* 80324FB0 00321EF0 93 FE 00 04 */ stw r31, 4(r30)
/* 80324FB4 00321EF4 7F C3 F3 78 */ mr r3, r30
/* 80324FB8 00321EF8 48 00 00 B1 */ bl J3DDrawBuffer_NS_frameInit
/* 80324FBC 00321EFC C0 3E 00 14 */ lfs f1, 0x14(r30)
/* 80324FC0 00321F00 C0 1E 00 10 */ lfs f0, 0x10(r30)
/* 80324FC4 00321F04 EC 41 00 28 */ fsubs f2, f1, f0
/* 80324FC8 00321F08 80 1E 00 04 */ lwz r0, 4(r30)
/* 80324FCC 00321F0C C8 22 CA 08 */ lfd f1, lbl_80456408-_SDA2_BASE_(r2)
/* 80324FD0 00321F10 90 01 00 0C */ stw r0, 0xc(r1)
/* 80324FD4 00321F14 3C 00 43 30 */ lis r0, 0x4330
/* 80324FD8 00321F18 90 01 00 08 */ stw r0, 8(r1)
/* 80324FDC 00321F1C C8 01 00 08 */ lfd f0, 8(r1)
/* 80324FE0 00321F20 EC 00 08 28 */ fsubs f0, f0, f1
/* 80324FE4 00321F24 EC 02 00 24 */ fdivs f0, f2, f0
/* 80324FE8 00321F28 D0 1E 00 18 */ stfs f0, 0x18(r30)
/* 80324FEC 00321F2C 38 60 00 00 */ li r3, 0
lbl_80324FF0:
/* 80324FF0 00321F30 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80324FF4 00321F34 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80324FF8 00321F38 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80324FFC 00321F3C 7C 08 03 A6 */ mtlr r0
/* 80325000 00321F40 38 21 00 20 */ addi r1, r1, 0x20
/* 80325004 00321F44 4E 80 00 20 */ blr
.global J3DDrawBuffer_NS_dtor
J3DDrawBuffer_NS_dtor:
/* 80325008 00321F48 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8032500C 00321F4C 7C 08 02 A6 */ mflr r0
/* 80325010 00321F50 90 01 00 14 */ stw r0, 0x14(r1)
/* 80325014 00321F54 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80325018 00321F58 93 C1 00 08 */ stw r30, 8(r1)
/* 8032501C 00321F5C 7C 7E 1B 79 */ or. r30, r3, r3
/* 80325020 00321F60 7C 9F 23 78 */ mr r31, r4
/* 80325024 00321F64 41 82 00 28 */ beq lbl_8032504C
/* 80325028 00321F68 48 00 00 41 */ bl J3DDrawBuffer_NS_frameInit
/* 8032502C 00321F6C 80 7E 00 00 */ lwz r3, 0(r30)
/* 80325030 00321F70 4B FA 9D 31 */ bl __dla
/* 80325034 00321F74 38 00 00 00 */ li r0, 0
/* 80325038 00321F78 90 1E 00 00 */ stw r0, 0(r30)
/* 8032503C 00321F7C 7F E0 07 35 */ extsh. r0, r31
/* 80325040 00321F80 40 81 00 0C */ ble lbl_8032504C
/* 80325044 00321F84 7F C3 F3 78 */ mr r3, r30
/* 80325048 00321F88 4B FA 9C F5 */ bl __dl
lbl_8032504C:
/* 8032504C 00321F8C 7F C3 F3 78 */ mr r3, r30
/* 80325050 00321F90 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80325054 00321F94 83 C1 00 08 */ lwz r30, 8(r1)
/* 80325058 00321F98 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8032505C 00321F9C 7C 08 03 A6 */ mtlr r0
/* 80325060 00321FA0 38 21 00 10 */ addi r1, r1, 0x10
/* 80325064 00321FA4 4E 80 00 20 */ blr
.global J3DDrawBuffer_NS_frameInit
J3DDrawBuffer_NS_frameInit:
/* 80325068 00321FA8 80 A3 00 04 */ lwz r5, 4(r3)
/* 8032506C 00321FAC 38 80 00 00 */ li r4, 0
/* 80325070 00321FB0 7C 80 23 78 */ mr r0, r4
/* 80325074 00321FB4 7C A9 03 A6 */ mtctr r5
/* 80325078 00321FB8 28 05 00 00 */ cmplwi r5, 0
/* 8032507C 00321FBC 40 81 00 14 */ ble lbl_80325090
lbl_80325080:
/* 80325080 00321FC0 80 A3 00 00 */ lwz r5, 0(r3)
/* 80325084 00321FC4 7C 05 21 2E */ stwx r0, r5, r4
/* 80325088 00321FC8 38 84 00 04 */ addi r4, r4, 4
/* 8032508C 00321FCC 42 00 FF F4 */ bdnz lbl_80325080
lbl_80325090:
/* 80325090 00321FD0 38 00 00 00 */ li r0, 0
/* 80325094 00321FD4 90 03 00 20 */ stw r0, 0x20(r3)
/* 80325098 00321FD8 4E 80 00 20 */ blr
.global J3DDrawBuffer_NS_entryMatSort
J3DDrawBuffer_NS_entryMatSort:
/* 8032509C 00321FDC 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 803250A0 00321FE0 7C 08 02 A6 */ mflr r0
/* 803250A4 00321FE4 90 01 00 24 */ stw r0, 0x24(r1)
/* 803250A8 00321FE8 39 61 00 20 */ addi r11, r1, 0x20
/* 803250AC 00321FEC 48 03 D1 2D */ bl func_803621D8
/* 803250B0 00321FF0 7C 7E 1B 78 */ mr r30, r3
/* 803250B4 00321FF4 7C 9F 23 78 */ mr r31, r4
/* 803250B8 00321FF8 38 00 00 00 */ li r0, 0
/* 803250BC 00321FFC 90 04 00 04 */ stw r0, 4(r4)
/* 803250C0 00322000 90 04 00 08 */ stw r0, 8(r4)
/* 803250C4 00322004 80 64 00 2C */ lwz r3, 0x2c(r4)
/* 803250C8 00322008 90 03 00 04 */ stw r0, 4(r3)
/* 803250CC 0032200C 90 03 00 08 */ stw r0, 8(r3)
/* 803250D0 00322010 80 04 00 34 */ lwz r0, 0x34(r4)
/* 803250D4 00322014 54 00 00 01 */ rlwinm. r0, r0, 0, 0, 0
/* 803250D8 00322018 41 82 00 20 */ beq lbl_803250F8
/* 803250DC 0032201C 80 7E 00 00 */ lwz r3, 0(r30)
/* 803250E0 00322020 80 03 00 00 */ lwz r0, 0(r3)
/* 803250E4 00322024 90 1F 00 04 */ stw r0, 4(r31)
/* 803250E8 00322028 80 7E 00 00 */ lwz r3, 0(r30)
/* 803250EC 0032202C 93 E3 00 00 */ stw r31, 0(r3)
/* 803250F0 00322030 38 60 00 01 */ li r3, 1
/* 803250F4 00322034 48 00 00 D8 */ b lbl_803251CC
lbl_803250F8:
/* 803250F8 00322038 3C 60 80 43 */ lis r3, lbl_80434AC8@ha
/* 803250FC 0032203C 38 63 4A C8 */ addi r3, r3, lbl_80434AC8@l
/* 80325100 00322040 83 A3 00 58 */ lwz r29, 0x58(r3)
/* 80325104 00322044 80 7F 00 30 */ lwz r3, 0x30(r31)
/* 80325108 00322048 80 63 00 2C */ lwz r3, 0x2c(r3)
/* 8032510C 0032204C 38 80 00 00 */ li r4, 0
/* 80325110 00322050 81 83 00 00 */ lwz r12, 0(r3)
/* 80325114 00322054 81 8C 00 50 */ lwz r12, 0x50(r12)
/* 80325118 00322058 7D 89 03 A6 */ mtctr r12
/* 8032511C 0032205C 4E 80 04 21 */ bctrl
/* 80325120 00322060 54 60 04 3E */ clrlwi r0, r3, 0x10
/* 80325124 00322064 28 00 FF FF */ cmplwi r0, 0xffff
/* 80325128 00322068 40 82 00 0C */ bne lbl_80325134
/* 8032512C 0032206C 38 80 00 00 */ li r4, 0
/* 80325130 00322070 48 00 00 1C */ b lbl_8032514C
lbl_80325134:
/* 80325134 00322074 80 9D 00 04 */ lwz r4, 4(r29)
/* 80325138 00322078 54 60 2A F4 */ rlwinm r0, r3, 5, 0xb, 0x1a
/* 8032513C 0032207C 7C 64 02 14 */ add r3, r4, r0
/* 80325140 00322080 80 03 00 1C */ lwz r0, 0x1c(r3)
/* 80325144 00322084 7C 03 02 14 */ add r0, r3, r0
/* 80325148 00322088 54 04 D9 7E */ srwi r4, r0, 5
lbl_8032514C:
/* 8032514C 0032208C 80 7E 00 04 */ lwz r3, 4(r30)
/* 80325150 00322090 38 03 FF FF */ addi r0, r3, -1
/* 80325154 00322094 7C 80 00 38 */ and r0, r4, r0
/* 80325158 00322098 80 7E 00 00 */ lwz r3, 0(r30)
/* 8032515C 0032209C 54 1D 10 3A */ slwi r29, r0, 2
/* 80325160 003220A0 7C 03 E8 2E */ lwzx r0, r3, r29
/* 80325164 003220A4 28 00 00 00 */ cmplwi r0, 0
/* 80325168 003220A8 40 82 00 10 */ bne lbl_80325178
/* 8032516C 003220AC 7F E3 E9 2E */ stwx r31, r3, r29
/* 80325170 003220B0 38 60 00 01 */ li r3, 1
/* 80325174 003220B4 48 00 00 58 */ b lbl_803251CC
lbl_80325178:
/* 80325178 003220B8 7C 1C 03 78 */ mr r28, r0
/* 8032517C 003220BC 48 00 00 30 */ b lbl_803251AC
lbl_80325180:
/* 80325180 003220C0 7F 83 E3 78 */ mr r3, r28
/* 80325184 003220C4 7F E4 FB 78 */ mr r4, r31
/* 80325188 003220C8 4B FE D8 ED */ bl J3DMatPacket_NS_isSame
/* 8032518C 003220CC 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 80325190 003220D0 41 82 00 18 */ beq lbl_803251A8
/* 80325194 003220D4 7F 83 E3 78 */ mr r3, r28
/* 80325198 003220D8 80 9F 00 2C */ lwz r4, 0x2c(r31)
/* 8032519C 003220DC 4B FE D8 69 */ bl J3DMatPacket_NS_addShapePacket
/* 803251A0 003220E0 38 60 00 00 */ li r3, 0
/* 803251A4 003220E4 48 00 00 28 */ b lbl_803251CC
lbl_803251A8:
/* 803251A8 003220E8 83 9C 00 04 */ lwz r28, 4(r28)
lbl_803251AC:
/* 803251AC 003220EC 28 1C 00 00 */ cmplwi r28, 0
/* 803251B0 003220F0 40 82 FF D0 */ bne lbl_80325180
/* 803251B4 003220F4 80 7E 00 00 */ lwz r3, 0(r30)
/* 803251B8 003220F8 7C 03 E8 2E */ lwzx r0, r3, r29
/* 803251BC 003220FC 90 1F 00 04 */ stw r0, 4(r31)
/* 803251C0 00322100 80 7E 00 00 */ lwz r3, 0(r30)
/* 803251C4 00322104 7F E3 E9 2E */ stwx r31, r3, r29
/* 803251C8 00322108 38 60 00 01 */ li r3, 1
lbl_803251CC:
/* 803251CC 0032210C 39 61 00 20 */ addi r11, r1, 0x20
/* 803251D0 00322110 48 03 D0 55 */ bl func_80362224
/* 803251D4 00322114 80 01 00 24 */ lwz r0, 0x24(r1)
/* 803251D8 00322118 7C 08 03 A6 */ mtlr r0
/* 803251DC 0032211C 38 21 00 20 */ addi r1, r1, 0x20
/* 803251E0 00322120 4E 80 00 20 */ blr
/* 803251E4 00322124 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 803251E8 00322128 7C 08 02 A6 */ mflr r0
/* 803251EC 0032212C 90 01 00 14 */ stw r0, 0x14(r1)
/* 803251F0 00322130 81 04 00 3C */ lwz r8, 0x3c(r4)
/* 803251F4 00322134 80 A3 00 04 */ lwz r5, 4(r3)
/* 803251F8 00322138 38 05 FF FF */ addi r0, r5, -1
/* 803251FC 0032213C 7D 06 00 38 */ and r6, r8, r0
/* 80325200 00322140 28 08 00 00 */ cmplwi r8, 0
/* 80325204 00322144 40 82 00 0C */ bne lbl_80325210
/* 80325208 00322148 4B FF FE 95 */ bl J3DDrawBuffer_NS_entryMatSort
/* 8032520C 0032214C 48 00 00 80 */ b lbl_8032528C
lbl_80325210:
/* 80325210 00322150 38 00 00 00 */ li r0, 0
/* 80325214 00322154 90 04 00 04 */ stw r0, 4(r4)
/* 80325218 00322158 90 04 00 08 */ stw r0, 8(r4)
/* 8032521C 0032215C 80 A4 00 2C */ lwz r5, 0x2c(r4)
/* 80325220 00322160 90 05 00 04 */ stw r0, 4(r5)
/* 80325224 00322164 90 05 00 08 */ stw r0, 8(r5)
/* 80325228 00322168 80 A3 00 00 */ lwz r5, 0(r3)
/* 8032522C 0032216C 54 C7 10 3A */ slwi r7, r6, 2
/* 80325230 00322170 7C C5 38 2E */ lwzx r6, r5, r7
/* 80325234 00322174 28 06 00 00 */ cmplwi r6, 0
/* 80325238 00322178 40 82 00 10 */ bne lbl_80325248
/* 8032523C 0032217C 7C 85 39 2E */ stwx r4, r5, r7
/* 80325240 00322180 38 60 00 01 */ li r3, 1
/* 80325244 00322184 48 00 00 48 */ b lbl_8032528C
lbl_80325248:
/* 80325248 00322188 7C C5 33 78 */ mr r5, r6
/* 8032524C 0032218C 48 00 00 28 */ b lbl_80325274
lbl_80325250:
/* 80325250 00322190 80 05 00 3C */ lwz r0, 0x3c(r5)
/* 80325254 00322194 7C 00 40 40 */ cmplw r0, r8
/* 80325258 00322198 40 82 00 18 */ bne lbl_80325270
/* 8032525C 0032219C 7C A3 2B 78 */ mr r3, r5
/* 80325260 003221A0 80 84 00 2C */ lwz r4, 0x2c(r4)
/* 80325264 003221A4 4B FE D7 A1 */ bl J3DMatPacket_NS_addShapePacket
/* 80325268 003221A8 38 60 00 00 */ li r3, 0
/* 8032526C 003221AC 48 00 00 20 */ b lbl_8032528C
lbl_80325270:
/* 80325270 003221B0 80 A5 00 04 */ lwz r5, 4(r5)
lbl_80325274:
/* 80325274 003221B4 28 05 00 00 */ cmplwi r5, 0
/* 80325278 003221B8 40 82 FF D8 */ bne lbl_80325250
/* 8032527C 003221BC 90 C4 00 04 */ stw r6, 4(r4)
/* 80325280 003221C0 80 63 00 00 */ lwz r3, 0(r3)
/* 80325284 003221C4 7C 83 39 2E */ stwx r4, r3, r7
/* 80325288 003221C8 38 60 00 01 */ li r3, 1
lbl_8032528C:
/* 8032528C 003221CC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80325290 003221D0 7C 08 03 A6 */ mtlr r0
/* 80325294 003221D4 38 21 00 10 */ addi r1, r1, 0x10
/* 80325298 003221D8 4E 80 00 20 */ blr
/* 8032529C 003221DC 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 803252A0 003221E0 7C 08 02 A6 */ mflr r0
/* 803252A4 003221E4 90 01 00 34 */ stw r0, 0x34(r1)
/* 803252A8 003221E8 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 803252AC 003221EC 93 C1 00 28 */ stw r30, 0x28(r1)
/* 803252B0 003221F0 7C 7E 1B 78 */ mr r30, r3
/* 803252B4 003221F4 7C 9F 23 78 */ mr r31, r4
/* 803252B8 003221F8 38 00 00 00 */ li r0, 0
/* 803252BC 003221FC 90 04 00 04 */ stw r0, 4(r4)
/* 803252C0 00322200 90 04 00 08 */ stw r0, 8(r4)
/* 803252C4 00322204 80 64 00 2C */ lwz r3, 0x2c(r4)
/* 803252C8 00322208 90 03 00 04 */ stw r0, 4(r3)
/* 803252CC 0032220C 90 03 00 08 */ stw r0, 8(r3)
/* 803252D0 00322210 80 7E 00 1C */ lwz r3, 0x1c(r30)
/* 803252D4 00322214 C0 03 00 0C */ lfs f0, 0xc(r3)
/* 803252D8 00322218 D0 01 00 14 */ stfs f0, 0x14(r1)
/* 803252DC 0032221C C0 03 00 1C */ lfs f0, 0x1c(r3)
/* 803252E0 00322220 D0 01 00 18 */ stfs f0, 0x18(r1)
/* 803252E4 00322224 C0 03 00 2C */ lfs f0, 0x2c(r3)
/* 803252E8 00322228 D0 01 00 1C */ stfs f0, 0x1c(r1)
/* 803252EC 0032222C 80 61 00 14 */ lwz r3, 0x14(r1)
/* 803252F0 00322230 80 01 00 18 */ lwz r0, 0x18(r1)
/* 803252F4 00322234 90 61 00 08 */ stw r3, 8(r1)
/* 803252F8 00322238 90 01 00 0C */ stw r0, 0xc(r1)
/* 803252FC 0032223C 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 80325300 00322240 90 01 00 10 */ stw r0, 0x10(r1)
/* 80325304 00322244 3C 60 80 43 */ lis r3, lbl_80434AC8@ha
/* 80325308 00322248 38 63 4A C8 */ addi r3, r3, lbl_80434AC8@l
/* 8032530C 0032224C C0 22 CA 00 */ lfs f1, lbl_80456400-_SDA2_BASE_(r2)
/* 80325310 00322250 E0 01 00 08 */ psq_l f0, 8(r1), 0, qr0
/* 80325314 00322254 C0 41 00 10 */ lfs f2, 0x10(r1)
/* 80325318 00322258 E0 83 00 20 */ psq_l f4, 32(r3), 0, qr0
/* 8032531C 0032225C E0 63 00 28 */ psq_l f3, 40(r3), 0, qr0
/* 80325320 00322260 10 42 0C 20 */ ps_merge00 f2, f2, f1
/* 80325324 00322264 10 80 01 32 */ ps_mul f4, f0, f4
/* 80325328 00322268 10 62 20 FA */ ps_madd f3, f2, f3, f4
/* 8032532C 0032226C 10 63 18 D4 */ ps_sum0 f3, f3, f3, f3
/* 80325330 00322270 FC 40 18 50 */ fneg f2, f3
/* 80325334 00322274 C0 1E 00 10 */ lfs f0, 0x10(r30)
/* 80325338 00322278 C0 3E 00 18 */ lfs f1, 0x18(r30)
/* 8032533C 0032227C EC 00 08 2A */ fadds f0, f0, f1
/* 80325340 00322280 FC 00 10 40 */ fcmpo cr0, f0, f2
/* 80325344 00322284 40 80 00 2C */ bge lbl_80325370
/* 80325348 00322288 C0 1E 00 14 */ lfs f0, 0x14(r30)
/* 8032534C 0032228C EC 00 08 28 */ fsubs f0, f0, f1
/* 80325350 00322290 FC 00 10 40 */ fcmpo cr0, f0, f2
/* 80325354 00322294 40 81 00 10 */ ble lbl_80325364
/* 80325358 00322298 EC 22 08 24 */ fdivs f1, f2, f1
/* 8032535C 0032229C 48 03 CD 51 */ bl func_803620AC
/* 80325360 003222A0 48 00 00 14 */ b lbl_80325374
lbl_80325364:
/* 80325364 003222A4 80 7E 00 04 */ lwz r3, 4(r30)
/* 80325368 003222A8 38 63 FF FF */ addi r3, r3, -1
/* 8032536C 003222AC 48 00 00 08 */ b lbl_80325374
lbl_80325370:
/* 80325370 003222B0 38 60 00 00 */ li r3, 0
lbl_80325374:
/* 80325374 003222B4 80 9E 00 04 */ lwz r4, 4(r30)
/* 80325378 003222B8 38 04 FF FF */ addi r0, r4, -1
/* 8032537C 003222BC 7C 03 00 50 */ subf r0, r3, r0
/* 80325380 003222C0 80 7E 00 00 */ lwz r3, 0(r30)
/* 80325384 003222C4 54 04 10 3A */ slwi r4, r0, 2
/* 80325388 003222C8 7C 03 20 2E */ lwzx r0, r3, r4
/* 8032538C 003222CC 90 1F 00 04 */ stw r0, 4(r31)
/* 80325390 003222D0 80 7E 00 00 */ lwz r3, 0(r30)
/* 80325394 003222D4 7F E3 21 2E */ stwx r31, r3, r4
/* 80325398 003222D8 38 60 00 01 */ li r3, 1
/* 8032539C 003222DC 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 803253A0 003222E0 83 C1 00 28 */ lwz r30, 0x28(r1)
/* 803253A4 003222E4 80 01 00 34 */ lwz r0, 0x34(r1)
/* 803253A8 003222E8 7C 08 03 A6 */ mtlr r0
/* 803253AC 003222EC 38 21 00 30 */ addi r1, r1, 0x30
/* 803253B0 003222F0 4E 80 00 20 */ blr
/* 803253B4 003222F4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 803253B8 003222F8 7C 08 02 A6 */ mflr r0
/* 803253BC 003222FC 90 01 00 14 */ stw r0, 0x14(r1)
/* 803253C0 00322300 38 00 00 00 */ li r0, 0
/* 803253C4 00322304 90 04 00 04 */ stw r0, 4(r4)
/* 803253C8 00322308 90 04 00 08 */ stw r0, 8(r4)
/* 803253CC 0032230C 80 A4 00 2C */ lwz r5, 0x2c(r4)
/* 803253D0 00322310 90 05 00 04 */ stw r0, 4(r5)
/* 803253D4 00322314 90 05 00 08 */ stw r0, 8(r5)
/* 803253D8 00322318 80 63 00 20 */ lwz r3, 0x20(r3)
/* 803253DC 0032231C 28 03 00 00 */ cmplwi r3, 0
/* 803253E0 00322320 41 82 00 10 */ beq lbl_803253F0
/* 803253E4 00322324 4B FE D3 75 */ bl J3DPacket_NS_addChildPacket
/* 803253E8 00322328 38 60 00 01 */ li r3, 1
/* 803253EC 0032232C 48 00 00 08 */ b lbl_803253F4
lbl_803253F0:
/* 803253F0 00322330 38 60 00 00 */ li r3, 0
lbl_803253F4:
/* 803253F4 00322334 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803253F8 00322338 7C 08 03 A6 */ mtlr r0
/* 803253FC 0032233C 38 21 00 10 */ addi r1, r1, 0x10
/* 80325400 00322340 4E 80 00 20 */ blr
/* 80325404 00322344 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80325408 00322348 7C 08 02 A6 */ mflr r0
/* 8032540C 0032234C 90 01 00 14 */ stw r0, 0x14(r1)
/* 80325410 00322350 38 00 00 00 */ li r0, 0
/* 80325414 00322354 90 04 00 04 */ stw r0, 4(r4)
/* 80325418 00322358 90 04 00 08 */ stw r0, 8(r4)
/* 8032541C 0032235C 80 A4 00 2C */ lwz r5, 0x2c(r4)
/* 80325420 00322360 90 05 00 04 */ stw r0, 4(r5)
/* 80325424 00322364 90 05 00 08 */ stw r0, 8(r5)
/* 80325428 00322368 80 63 00 20 */ lwz r3, 0x20(r3)
/* 8032542C 0032236C 28 03 00 00 */ cmplwi r3, 0
/* 80325430 00322370 41 82 00 14 */ beq lbl_80325444
/* 80325434 00322374 80 84 00 2C */ lwz r4, 0x2c(r4)
/* 80325438 00322378 4B FE D3 21 */ bl J3DPacket_NS_addChildPacket
/* 8032543C 0032237C 38 60 00 01 */ li r3, 1
/* 80325440 00322380 48 00 00 08 */ b lbl_80325448
lbl_80325444:
/* 80325444 00322384 38 60 00 00 */ li r3, 0
lbl_80325448:
/* 80325448 00322388 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8032544C 0032238C 7C 08 03 A6 */ mtlr r0
/* 80325450 00322390 38 21 00 10 */ addi r1, r1, 0x10
/* 80325454 00322394 4E 80 00 20 */ blr
/* 80325458 00322398 38 00 00 00 */ li r0, 0
/* 8032545C 0032239C 90 04 00 04 */ stw r0, 4(r4)
/* 80325460 003223A0 90 04 00 08 */ stw r0, 8(r4)
/* 80325464 003223A4 80 A4 00 2C */ lwz r5, 0x2c(r4)
/* 80325468 003223A8 90 05 00 04 */ stw r0, 4(r5)
/* 8032546C 003223AC 90 05 00 08 */ stw r0, 8(r5)
/* 80325470 003223B0 80 A3 00 00 */ lwz r5, 0(r3)
/* 80325474 003223B4 80 05 00 00 */ lwz r0, 0(r5)
/* 80325478 003223B8 90 04 00 04 */ stw r0, 4(r4)
/* 8032547C 003223BC 80 63 00 00 */ lwz r3, 0(r3)
/* 80325480 003223C0 90 83 00 00 */ stw r4, 0(r3)
/* 80325484 003223C4 38 60 00 01 */ li r3, 1
/* 80325488 003223C8 4E 80 00 20 */ blr
.global J3DDrawBuffer_NS_entryImm
J3DDrawBuffer_NS_entryImm:
/* 8032548C 003223CC 80 C3 00 00 */ lwz r6, 0(r3)
/* 80325490 003223D0 54 A5 13 BA */ rlwinm r5, r5, 2, 0xe, 0x1d
/* 80325494 003223D4 7C 06 28 2E */ lwzx r0, r6, r5
/* 80325498 003223D8 90 04 00 04 */ stw r0, 4(r4)
/* 8032549C 003223DC 80 63 00 00 */ lwz r3, 0(r3)
/* 803254A0 003223E0 7C 83 29 2E */ stwx r4, r3, r5
/* 803254A4 003223E4 38 60 00 01 */ li r3, 1
/* 803254A8 003223E8 4E 80 00 20 */ blr
.global J3DDrawBuffer_NS_draw
J3DDrawBuffer_NS_draw:
/* 803254AC 003223EC 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 803254B0 003223F0 7C 08 02 A6 */ mflr r0
/* 803254B4 003223F4 90 01 00 24 */ stw r0, 0x24(r1)
/* 803254B8 003223F8 80 03 00 08 */ lwz r0, 8(r3)
/* 803254BC 003223FC 1C A0 00 0C */ mulli r5, r0, 0xc
/* 803254C0 00322400 3C 80 80 3D */ lis r4, lbl_803CEC90@ha
/* 803254C4 00322404 38 04 EC 90 */ addi r0, r4, lbl_803CEC90@l
/* 803254C8 00322408 7C A0 2A 14 */ add r5, r0, r5
/* 803254CC 0032240C 80 85 00 00 */ lwz r4, 0(r5)
/* 803254D0 00322410 80 05 00 04 */ lwz r0, 4(r5)
/* 803254D4 00322414 90 81 00 08 */ stw r4, 8(r1)
/* 803254D8 00322418 90 01 00 0C */ stw r0, 0xc(r1)
/* 803254DC 0032241C 80 05 00 08 */ lwz r0, 8(r5)
/* 803254E0 00322420 90 01 00 10 */ stw r0, 0x10(r1)
/* 803254E4 00322424 39 81 00 08 */ addi r12, r1, 8
/* 803254E8 00322428 48 03 CB 9D */ bl func_80362084
/* 803254EC 0032242C 60 00 00 00 */ nop
/* 803254F0 00322430 80 01 00 24 */ lwz r0, 0x24(r1)
/* 803254F4 00322434 7C 08 03 A6 */ mtlr r0
/* 803254F8 00322438 38 21 00 20 */ addi r1, r1, 0x20
/* 803254FC 0032243C 4E 80 00 20 */ blr
/* 80325500 00322440 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80325504 00322444 7C 08 02 A6 */ mflr r0
/* 80325508 00322448 90 01 00 24 */ stw r0, 0x24(r1)
/* 8032550C 0032244C 39 61 00 20 */ addi r11, r1, 0x20
/* 80325510 00322450 48 03 CC C5 */ bl func_803621D4
/* 80325514 00322454 83 C3 00 04 */ lwz r30, 4(r3)
/* 80325518 00322458 83 A3 00 00 */ lwz r29, 0(r3)
/* 8032551C 0032245C 3B 80 00 00 */ li r28, 0
/* 80325520 00322460 3B E0 00 00 */ li r31, 0
/* 80325524 00322464 48 00 00 34 */ b lbl_80325558
lbl_80325528:
/* 80325528 00322468 7F 7D F8 2E */ lwzx r27, r29, r31
/* 8032552C 0032246C 48 00 00 1C */ b lbl_80325548
lbl_80325530:
/* 80325530 00322470 7F 63 DB 78 */ mr r3, r27
/* 80325534 00322474 81 9B 00 00 */ lwz r12, 0(r27)
/* 80325538 00322478 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 8032553C 0032247C 7D 89 03 A6 */ mtctr r12
/* 80325540 00322480 4E 80 04 21 */ bctrl
/* 80325544 00322484 83 7B 00 04 */ lwz r27, 4(r27)
lbl_80325548:
/* 80325548 00322488 28 1B 00 00 */ cmplwi r27, 0
/* 8032554C 0032248C 40 82 FF E4 */ bne lbl_80325530
/* 80325550 00322490 3B 9C 00 01 */ addi r28, r28, 1
/* 80325554 00322494 3B FF 00 04 */ addi r31, r31, 4
lbl_80325558:
/* 80325558 00322498 7C 1C F0 40 */ cmplw r28, r30
/* 8032555C 0032249C 41 80 FF CC */ blt lbl_80325528
/* 80325560 003224A0 39 61 00 20 */ addi r11, r1, 0x20
/* 80325564 003224A4 48 03 CC BD */ bl func_80362220
/* 80325568 003224A8 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8032556C 003224AC 7C 08 03 A6 */ mtlr r0
/* 80325570 003224B0 38 21 00 20 */ addi r1, r1, 0x20
/* 80325574 003224B4 4E 80 00 20 */ blr
/* 80325578 003224B8 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8032557C 003224BC 7C 08 02 A6 */ mflr r0
/* 80325580 003224C0 90 01 00 24 */ stw r0, 0x24(r1)
/* 80325584 003224C4 39 61 00 20 */ addi r11, r1, 0x20
/* 80325588 003224C8 48 03 CC 51 */ bl func_803621D8
/* 8032558C 003224CC 80 83 00 04 */ lwz r4, 4(r3)
/* 80325590 003224D0 3B A4 FF FF */ addi r29, r4, -1
/* 80325594 003224D4 83 C3 00 00 */ lwz r30, 0(r3)
/* 80325598 003224D8 57 BF 10 3A */ slwi r31, r29, 2
/* 8032559C 003224DC 48 00 00 34 */ b lbl_803255D0
lbl_803255A0:
/* 803255A0 003224E0 7F 9E F8 2E */ lwzx r28, r30, r31
/* 803255A4 003224E4 48 00 00 1C */ b lbl_803255C0
lbl_803255A8:
/* 803255A8 003224E8 7F 83 E3 78 */ mr r3, r28
/* 803255AC 003224EC 81 9C 00 00 */ lwz r12, 0(r28)
/* 803255B0 003224F0 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 803255B4 003224F4 7D 89 03 A6 */ mtctr r12
/* 803255B8 003224F8 4E 80 04 21 */ bctrl
/* 803255BC 003224FC 83 9C 00 04 */ lwz r28, 4(r28)
lbl_803255C0:
/* 803255C0 00322500 28 1C 00 00 */ cmplwi r28, 0
/* 803255C4 00322504 40 82 FF E4 */ bne lbl_803255A8
/* 803255C8 00322508 3B BD FF FF */ addi r29, r29, -1
/* 803255CC 0032250C 3B FF FF FC */ addi r31, r31, -4
lbl_803255D0:
/* 803255D0 00322510 2C 1D 00 00 */ cmpwi r29, 0
/* 803255D4 00322514 40 80 FF CC */ bge lbl_803255A0
/* 803255D8 00322518 39 61 00 20 */ addi r11, r1, 0x20
/* 803255DC 0032251C 48 03 CC 49 */ bl func_80362224
/* 803255E0 00322520 80 01 00 24 */ lwz r0, 0x24(r1)
/* 803255E4 00322524 7C 08 03 A6 */ mtlr r0
/* 803255E8 00322528 38 21 00 20 */ addi r1, r1, 0x20
/* 803255EC 0032252C 4E 80 00 20 */ blr
/* 803255F0 00322530 3C 60 80 3D */ lis r3, lbl_803CEBE8@ha
/* 803255F4 00322534 38 A3 EB E8 */ addi r5, r3, lbl_803CEBE8@l
/* 803255F8 00322538 80 65 00 00 */ lwz r3, 0(r5)
/* 803255FC 0032253C 80 05 00 04 */ lwz r0, 4(r5)
/* 80325600 00322540 90 65 00 48 */ stw r3, 0x48(r5)
/* 80325604 00322544 90 05 00 4C */ stw r0, 0x4c(r5)
/* 80325608 00322548 80 05 00 08 */ lwz r0, 8(r5)
/* 8032560C 0032254C 90 05 00 50 */ stw r0, 0x50(r5)
/* 80325610 00322550 38 85 00 48 */ addi r4, r5, 0x48
/* 80325614 00322554 80 65 00 0C */ lwz r3, 0xc(r5)
/* 80325618 00322558 80 05 00 10 */ lwz r0, 0x10(r5)
/* 8032561C 0032255C 90 64 00 0C */ stw r3, 0xc(r4)
/* 80325620 00322560 90 04 00 10 */ stw r0, 0x10(r4)
/* 80325624 00322564 80 05 00 14 */ lwz r0, 0x14(r5)
/* 80325628 00322568 90 04 00 14 */ stw r0, 0x14(r4)
/* 8032562C 0032256C 80 65 00 18 */ lwz r3, 0x18(r5)
/* 80325630 00322570 80 05 00 1C */ lwz r0, 0x1c(r5)
/* 80325634 00322574 90 64 00 18 */ stw r3, 0x18(r4)
/* 80325638 00322578 90 04 00 1C */ stw r0, 0x1c(r4)
/* 8032563C 0032257C 80 05 00 20 */ lwz r0, 0x20(r5)
/* 80325640 00322580 90 04 00 20 */ stw r0, 0x20(r4)
/* 80325644 00322584 80 65 00 24 */ lwz r3, 0x24(r5)
/* 80325648 00322588 80 05 00 28 */ lwz r0, 0x28(r5)
/* 8032564C 0032258C 90 64 00 24 */ stw r3, 0x24(r4)
/* 80325650 00322590 90 04 00 28 */ stw r0, 0x28(r4)
/* 80325654 00322594 80 05 00 2C */ lwz r0, 0x2c(r5)
/* 80325658 00322598 90 04 00 2C */ stw r0, 0x2c(r4)
/* 8032565C 0032259C 80 65 00 30 */ lwz r3, 0x30(r5)
/* 80325660 003225A0 80 05 00 34 */ lwz r0, 0x34(r5)
/* 80325664 003225A4 90 64 00 30 */ stw r3, 0x30(r4)
/* 80325668 003225A8 90 04 00 34 */ stw r0, 0x34(r4)
/* 8032566C 003225AC 80 05 00 38 */ lwz r0, 0x38(r5)
/* 80325670 003225B0 90 04 00 38 */ stw r0, 0x38(r4)
/* 80325674 003225B4 80 65 00 3C */ lwz r3, 0x3c(r5)
/* 80325678 003225B8 80 05 00 40 */ lwz r0, 0x40(r5)
/* 8032567C 003225BC 90 64 00 3C */ stw r3, 0x3c(r4)
/* 80325680 003225C0 90 04 00 40 */ stw r0, 0x40(r4)
/* 80325684 003225C4 80 05 00 44 */ lwz r0, 0x44(r5)
/* 80325688 003225C8 90 04 00 44 */ stw r0, 0x44(r4)
/* 8032568C 003225CC 80 65 00 90 */ lwz r3, 0x90(r5)
/* 80325690 003225D0 80 05 00 94 */ lwz r0, 0x94(r5)
/* 80325694 003225D4 90 65 00 A8 */ stw r3, 0xa8(r5)
/* 80325698 003225D8 90 05 00 AC */ stw r0, 0xac(r5)
/* 8032569C 003225DC 80 05 00 98 */ lwz r0, 0x98(r5)
/* 803256A0 003225E0 90 05 00 B0 */ stw r0, 0xb0(r5)
/* 803256A4 003225E4 38 85 00 A8 */ addi r4, r5, 0xa8
/* 803256A8 003225E8 80 65 00 9C */ lwz r3, 0x9c(r5)
/* 803256AC 003225EC 80 05 00 A0 */ lwz r0, 0xa0(r5)
/* 803256B0 003225F0 90 64 00 0C */ stw r3, 0xc(r4)
/* 803256B4 003225F4 90 04 00 10 */ stw r0, 0x10(r4)
/* 803256B8 003225F8 80 05 00 A4 */ lwz r0, 0xa4(r5)
/* 803256BC 003225FC 90 04 00 14 */ stw r0, 0x14(r4)
/* 803256C0 00322600 4E 80 00 20 */ blr

3048
asm/J3DGraphBase/J3DGD.s Normal file

File diff suppressed because it is too large Load Diff

12753
asm/J3DGraphBase/J3DMatBlock.s Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,912 @@
.include "macros.inc"
.section .text, "ax" # 80312488
.global J3DDisplayListObj_NS_newDisplayList
J3DDisplayListObj_NS_newDisplayList:
/* 80312488 0030F3C8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8031248C 0030F3CC 7C 08 02 A6 */ mflr r0
/* 80312490 0030F3D0 90 01 00 14 */ stw r0, 0x14(r1)
/* 80312494 0030F3D4 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80312498 0030F3D8 7C 7F 1B 78 */ mr r31, r3
/* 8031249C 0030F3DC 38 04 00 1F */ addi r0, r4, 0x1f
/* 803124A0 0030F3E0 54 00 00 34 */ rlwinm r0, r0, 0, 0, 0x1a
/* 803124A4 0030F3E4 90 03 00 0C */ stw r0, 0xc(r3)
/* 803124A8 0030F3E8 80 63 00 0C */ lwz r3, 0xc(r3)
/* 803124AC 0030F3EC 38 80 00 20 */ li r4, 0x20
/* 803124B0 0030F3F0 4B FB C8 3D */ bl __nwa_X1_
/* 803124B4 0030F3F4 90 7F 00 00 */ stw r3, 0(r31)
/* 803124B8 0030F3F8 80 7F 00 0C */ lwz r3, 0xc(r31)
/* 803124BC 0030F3FC 38 80 00 20 */ li r4, 0x20
/* 803124C0 0030F400 4B FB C8 2D */ bl __nwa_X1_
/* 803124C4 0030F404 90 7F 00 04 */ stw r3, 4(r31)
/* 803124C8 0030F408 38 00 00 00 */ li r0, 0
/* 803124CC 0030F40C 90 1F 00 08 */ stw r0, 8(r31)
/* 803124D0 0030F410 80 1F 00 00 */ lwz r0, 0(r31)
/* 803124D4 0030F414 28 00 00 00 */ cmplwi r0, 0
/* 803124D8 0030F418 41 82 00 10 */ beq lbl_803124E8
/* 803124DC 0030F41C 80 1F 00 04 */ lwz r0, 4(r31)
/* 803124E0 0030F420 28 00 00 00 */ cmplwi r0, 0
/* 803124E4 0030F424 40 82 00 0C */ bne lbl_803124F0
lbl_803124E8:
/* 803124E8 0030F428 38 60 00 04 */ li r3, 4
/* 803124EC 0030F42C 48 00 00 08 */ b lbl_803124F4
lbl_803124F0:
/* 803124F0 0030F430 38 60 00 00 */ li r3, 0
lbl_803124F4:
/* 803124F4 0030F434 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 803124F8 0030F438 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803124FC 0030F43C 7C 08 03 A6 */ mtlr r0
/* 80312500 0030F440 38 21 00 10 */ addi r1, r1, 0x10
/* 80312504 0030F444 4E 80 00 20 */ blr
.global J3DDisplayListObj_NS_newSingleDisplayList
J3DDisplayListObj_NS_newSingleDisplayList:
/* 80312508 0030F448 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8031250C 0030F44C 7C 08 02 A6 */ mflr r0
/* 80312510 0030F450 90 01 00 14 */ stw r0, 0x14(r1)
/* 80312514 0030F454 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80312518 0030F458 7C 7F 1B 78 */ mr r31, r3
/* 8031251C 0030F45C 38 04 00 1F */ addi r0, r4, 0x1f
/* 80312520 0030F460 54 00 00 34 */ rlwinm r0, r0, 0, 0, 0x1a
/* 80312524 0030F464 90 03 00 0C */ stw r0, 0xc(r3)
/* 80312528 0030F468 80 63 00 0C */ lwz r3, 0xc(r3)
/* 8031252C 0030F46C 38 80 00 20 */ li r4, 0x20
/* 80312530 0030F470 4B FB C7 BD */ bl __nwa_X1_
/* 80312534 0030F474 90 7F 00 00 */ stw r3, 0(r31)
/* 80312538 0030F478 80 1F 00 00 */ lwz r0, 0(r31)
/* 8031253C 0030F47C 90 1F 00 04 */ stw r0, 4(r31)
/* 80312540 0030F480 38 60 00 00 */ li r3, 0
/* 80312544 0030F484 90 7F 00 08 */ stw r3, 8(r31)
/* 80312548 0030F488 80 1F 00 00 */ lwz r0, 0(r31)
/* 8031254C 0030F48C 28 00 00 00 */ cmplwi r0, 0
/* 80312550 0030F490 40 82 00 08 */ bne lbl_80312558
/* 80312554 0030F494 38 60 00 04 */ li r3, 4
lbl_80312558:
/* 80312558 0030F498 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8031255C 0030F49C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80312560 0030F4A0 7C 08 03 A6 */ mtlr r0
/* 80312564 0030F4A4 38 21 00 10 */ addi r1, r1, 0x10
/* 80312568 0030F4A8 4E 80 00 20 */ blr
.global J3DDisplayListObj_NS_single_To_Double
J3DDisplayListObj_NS_single_To_Double:
/* 8031256C 0030F4AC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80312570 0030F4B0 7C 08 02 A6 */ mflr r0
/* 80312574 0030F4B4 90 01 00 14 */ stw r0, 0x14(r1)
/* 80312578 0030F4B8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8031257C 0030F4BC 7C 7F 1B 78 */ mr r31, r3
/* 80312580 0030F4C0 80 63 00 00 */ lwz r3, 0(r3)
/* 80312584 0030F4C4 80 1F 00 04 */ lwz r0, 4(r31)
/* 80312588 0030F4C8 7C 03 00 40 */ cmplw r3, r0
/* 8031258C 0030F4CC 40 82 00 40 */ bne lbl_803125CC
/* 80312590 0030F4D0 80 7F 00 0C */ lwz r3, 0xc(r31)
/* 80312594 0030F4D4 38 80 00 20 */ li r4, 0x20
/* 80312598 0030F4D8 4B FB C7 55 */ bl __nwa_X1_
/* 8031259C 0030F4DC 90 7F 00 04 */ stw r3, 4(r31)
/* 803125A0 0030F4E0 80 7F 00 04 */ lwz r3, 4(r31)
/* 803125A4 0030F4E4 28 03 00 00 */ cmplwi r3, 0
/* 803125A8 0030F4E8 40 82 00 0C */ bne lbl_803125B4
/* 803125AC 0030F4EC 38 60 00 04 */ li r3, 4
/* 803125B0 0030F4F0 48 00 00 20 */ b lbl_803125D0
lbl_803125B4:
/* 803125B4 0030F4F4 80 9F 00 00 */ lwz r4, 0(r31)
/* 803125B8 0030F4F8 80 BF 00 0C */ lwz r5, 0xc(r31)
/* 803125BC 0030F4FC 4B CF 0F 85 */ bl func_80003540
/* 803125C0 0030F500 80 7F 00 04 */ lwz r3, 4(r31)
/* 803125C4 0030F504 80 9F 00 0C */ lwz r4, 0xc(r31)
/* 803125C8 0030F508 48 02 90 15 */ bl DCStoreRange
lbl_803125CC:
/* 803125CC 0030F50C 38 60 00 00 */ li r3, 0
lbl_803125D0:
/* 803125D0 0030F510 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 803125D4 0030F514 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803125D8 0030F518 7C 08 03 A6 */ mtlr r0
/* 803125DC 0030F51C 38 21 00 10 */ addi r1, r1, 0x10
/* 803125E0 0030F520 4E 80 00 20 */ blr
.global J3DDisplayListObj_NS_setSingleDisplayList
J3DDisplayListObj_NS_setSingleDisplayList:
/* 803125E4 0030F524 38 05 00 1F */ addi r0, r5, 0x1f
/* 803125E8 0030F528 54 00 00 34 */ rlwinm r0, r0, 0, 0, 0x1a
/* 803125EC 0030F52C 90 03 00 0C */ stw r0, 0xc(r3)
/* 803125F0 0030F530 90 83 00 00 */ stw r4, 0(r3)
/* 803125F4 0030F534 80 03 00 00 */ lwz r0, 0(r3)
/* 803125F8 0030F538 90 03 00 04 */ stw r0, 4(r3)
/* 803125FC 0030F53C 90 A3 00 08 */ stw r5, 8(r3)
/* 80312600 0030F540 4E 80 00 20 */ blr
.global J3DDisplayListObj_NS_swapBuffer
J3DDisplayListObj_NS_swapBuffer:
/* 80312604 0030F544 80 83 00 00 */ lwz r4, 0(r3)
/* 80312608 0030F548 80 03 00 04 */ lwz r0, 4(r3)
/* 8031260C 0030F54C 90 03 00 00 */ stw r0, 0(r3)
/* 80312610 0030F550 90 83 00 04 */ stw r4, 4(r3)
/* 80312614 0030F554 4E 80 00 20 */ blr
.global J3DDisplayListObj_NS_callDL
J3DDisplayListObj_NS_callDL:
/* 80312618 0030F558 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8031261C 0030F55C 7C 08 02 A6 */ mflr r0
/* 80312620 0030F560 90 01 00 14 */ stw r0, 0x14(r1)
/* 80312624 0030F564 7C 64 1B 78 */ mr r4, r3
/* 80312628 0030F568 80 63 00 00 */ lwz r3, 0(r3)
/* 8031262C 0030F56C 80 84 00 08 */ lwz r4, 8(r4)
/* 80312630 0030F570 48 04 D8 C1 */ bl GXCallDisplayList
/* 80312634 0030F574 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80312638 0030F578 7C 08 03 A6 */ mtlr r0
/* 8031263C 0030F57C 38 21 00 10 */ addi r1, r1, 0x10
/* 80312640 0030F580 4E 80 00 20 */ blr
.global J3DDisplayListObj_NS_beginDL
J3DDisplayListObj_NS_beginDL:
/* 80312644 0030F584 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80312648 0030F588 7C 08 02 A6 */ mflr r0
/* 8031264C 0030F58C 90 01 00 14 */ stw r0, 0x14(r1)
/* 80312650 0030F590 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80312654 0030F594 7C 7F 1B 78 */ mr r31, r3
/* 80312658 0030F598 4B FF FF AD */ bl J3DDisplayListObj_NS_swapBuffer
/* 8031265C 0030F59C 48 02 B0 99 */ bl __RAS_OSDisableInterrupts_begin
/* 80312660 0030F5A0 90 6D 90 20 */ stw r3, lbl_804515A0-_SDA_BASE_(r13)
/* 80312664 0030F5A4 3C 60 80 43 */ lis r3, lbl_80434C70@ha
/* 80312668 0030F5A8 38 63 4C 70 */ addi r3, r3, lbl_80434C70@l
/* 8031266C 0030F5AC 80 9F 00 00 */ lwz r4, 0(r31)
/* 80312670 0030F5B0 80 BF 00 0C */ lwz r5, 0xc(r31)
/* 80312674 0030F5B4 48 04 E9 25 */ bl GDInitGDLObj
/* 80312678 0030F5B8 3C 60 80 43 */ lis r3, lbl_80434C70@ha
/* 8031267C 0030F5BC 38 03 4C 70 */ addi r0, r3, lbl_80434C70@l
/* 80312680 0030F5C0 90 0D 94 00 */ stw r0, lbl_80451980-_SDA_BASE_(r13)
/* 80312684 0030F5C4 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80312688 0030F5C8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8031268C 0030F5CC 7C 08 03 A6 */ mtlr r0
/* 80312690 0030F5D0 38 21 00 10 */ addi r1, r1, 0x10
/* 80312694 0030F5D4 4E 80 00 20 */ blr
.global J3DDisplayListObj_NS_endDL
J3DDisplayListObj_NS_endDL:
/* 80312698 0030F5D8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8031269C 0030F5DC 7C 08 02 A6 */ mflr r0
/* 803126A0 0030F5E0 90 01 00 14 */ stw r0, 0x14(r1)
/* 803126A4 0030F5E4 93 E1 00 0C */ stw r31, 0xc(r1)
/* 803126A8 0030F5E8 7C 7F 1B 78 */ mr r31, r3
/* 803126AC 0030F5EC 48 04 E9 31 */ bl GDPadCurr32
/* 803126B0 0030F5F0 80 6D 90 20 */ lwz r3, lbl_804515A0-_SDA_BASE_(r13)
/* 803126B4 0030F5F4 48 02 B0 69 */ bl OSRestoreInterrupts
/* 803126B8 0030F5F8 3C 60 80 43 */ lis r3, lbl_80434C70@ha
/* 803126BC 0030F5FC 38 83 4C 70 */ addi r4, r3, lbl_80434C70@l
/* 803126C0 0030F600 80 64 00 00 */ lwz r3, 0(r4)
/* 803126C4 0030F604 80 04 00 08 */ lwz r0, 8(r4)
/* 803126C8 0030F608 7C 03 00 50 */ subf r0, r3, r0
/* 803126CC 0030F60C 90 1F 00 08 */ stw r0, 8(r31)
/* 803126D0 0030F610 48 04 E8 E1 */ bl GDFlushCurrToMem
/* 803126D4 0030F614 38 00 00 00 */ li r0, 0
/* 803126D8 0030F618 90 0D 94 00 */ stw r0, lbl_80451980-_SDA_BASE_(r13)
/* 803126DC 0030F61C 80 7F 00 08 */ lwz r3, 8(r31)
/* 803126E0 0030F620 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 803126E4 0030F624 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803126E8 0030F628 7C 08 03 A6 */ mtlr r0
/* 803126EC 0030F62C 38 21 00 10 */ addi r1, r1, 0x10
/* 803126F0 0030F630 4E 80 00 20 */ blr
.global J3DDisplayListObj_NS_beginPatch
J3DDisplayListObj_NS_beginPatch:
/* 803126F4 0030F634 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 803126F8 0030F638 7C 08 02 A6 */ mflr r0
/* 803126FC 0030F63C 90 01 00 14 */ stw r0, 0x14(r1)
/* 80312700 0030F640 4B FF FF 45 */ bl J3DDisplayListObj_NS_beginDL
/* 80312704 0030F644 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80312708 0030F648 7C 08 03 A6 */ mtlr r0
/* 8031270C 0030F64C 38 21 00 10 */ addi r1, r1, 0x10
/* 80312710 0030F650 4E 80 00 20 */ blr
.global J3DDisplayListObj_NS_endPatch
J3DDisplayListObj_NS_endPatch:
/* 80312714 0030F654 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80312718 0030F658 7C 08 02 A6 */ mflr r0
/* 8031271C 0030F65C 90 01 00 14 */ stw r0, 0x14(r1)
/* 80312720 0030F660 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80312724 0030F664 7C 7F 1B 78 */ mr r31, r3
/* 80312728 0030F668 80 6D 90 20 */ lwz r3, lbl_804515A0-_SDA_BASE_(r13)
/* 8031272C 0030F66C 48 02 AF F1 */ bl OSRestoreInterrupts
/* 80312730 0030F670 38 00 00 00 */ li r0, 0
/* 80312734 0030F674 90 0D 94 00 */ stw r0, lbl_80451980-_SDA_BASE_(r13)
/* 80312738 0030F678 80 7F 00 08 */ lwz r3, 8(r31)
/* 8031273C 0030F67C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80312740 0030F680 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80312744 0030F684 7C 08 03 A6 */ mtlr r0
/* 80312748 0030F688 38 21 00 10 */ addi r1, r1, 0x10
/* 8031274C 0030F68C 4E 80 00 20 */ blr
/* 80312750 0030F690 38 60 00 01 */ li r3, 1
/* 80312754 0030F694 4E 80 00 20 */ blr
.global J3DPacket_NS_addChildPacket
J3DPacket_NS_addChildPacket:
/* 80312758 0030F698 80 03 00 08 */ lwz r0, 8(r3)
/* 8031275C 0030F69C 28 00 00 00 */ cmplwi r0, 0
/* 80312760 0030F6A0 40 82 00 0C */ bne lbl_8031276C
/* 80312764 0030F6A4 90 83 00 08 */ stw r4, 8(r3)
/* 80312768 0030F6A8 4E 80 00 20 */ blr
lbl_8031276C:
/* 8031276C 0030F6AC 90 04 00 04 */ stw r0, 4(r4)
/* 80312770 0030F6B0 90 83 00 08 */ stw r4, 8(r3)
/* 80312774 0030F6B4 4E 80 00 20 */ blr
.global J3DDrawPacket
J3DDrawPacket:
/* 80312778 0030F6B8 3C 80 80 3D */ lis r4, lbl_803CD97C@ha
/* 8031277C 0030F6BC 38 04 D9 7C */ addi r0, r4, lbl_803CD97C@l
/* 80312780 0030F6C0 90 03 00 00 */ stw r0, 0(r3)
/* 80312784 0030F6C4 38 A0 00 00 */ li r5, 0
/* 80312788 0030F6C8 90 A3 00 04 */ stw r5, 4(r3)
/* 8031278C 0030F6CC 90 A3 00 08 */ stw r5, 8(r3)
/* 80312790 0030F6D0 90 A3 00 0C */ stw r5, 0xc(r3)
/* 80312794 0030F6D4 3C 80 80 3D */ lis r4, lbl_803CD968@ha
/* 80312798 0030F6D8 38 04 D9 68 */ addi r0, r4, lbl_803CD968@l
/* 8031279C 0030F6DC 90 03 00 00 */ stw r0, 0(r3)
/* 803127A0 0030F6E0 90 A3 00 10 */ stw r5, 0x10(r3)
/* 803127A4 0030F6E4 90 A3 00 20 */ stw r5, 0x20(r3)
/* 803127A8 0030F6E8 90 A3 00 24 */ stw r5, 0x24(r3)
/* 803127AC 0030F6EC 4E 80 00 20 */ blr
.global J3DDrawPacket_NS_dtor
J3DDrawPacket_NS_dtor:
/* 803127B0 0030F6F0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 803127B4 0030F6F4 7C 08 02 A6 */ mflr r0
/* 803127B8 0030F6F8 90 01 00 14 */ stw r0, 0x14(r1)
/* 803127BC 0030F6FC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 803127C0 0030F700 7C 7F 1B 79 */ or. r31, r3, r3
/* 803127C4 0030F704 41 82 00 30 */ beq lbl_803127F4
/* 803127C8 0030F708 3C 60 80 3D */ lis r3, lbl_803CD968@ha
/* 803127CC 0030F70C 38 03 D9 68 */ addi r0, r3, lbl_803CD968@l
/* 803127D0 0030F710 90 1F 00 00 */ stw r0, 0(r31)
/* 803127D4 0030F714 41 82 00 10 */ beq lbl_803127E4
/* 803127D8 0030F718 3C 60 80 3D */ lis r3, lbl_803CD97C@ha
/* 803127DC 0030F71C 38 03 D9 7C */ addi r0, r3, lbl_803CD97C@l
/* 803127E0 0030F720 90 1F 00 00 */ stw r0, 0(r31)
lbl_803127E4:
/* 803127E4 0030F724 7C 80 07 35 */ extsh. r0, r4
/* 803127E8 0030F728 40 81 00 0C */ ble lbl_803127F4
/* 803127EC 0030F72C 7F E3 FB 78 */ mr r3, r31
/* 803127F0 0030F730 4B FB C5 4D */ bl __dl
lbl_803127F4:
/* 803127F4 0030F734 7F E3 FB 78 */ mr r3, r31
/* 803127F8 0030F738 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 803127FC 0030F73C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80312800 0030F740 7C 08 03 A6 */ mtlr r0
/* 80312804 0030F744 38 21 00 10 */ addi r1, r1, 0x10
/* 80312808 0030F748 4E 80 00 20 */ blr
.global J3DDrawPacket_NS_newDisplayList
J3DDrawPacket_NS_newDisplayList:
/* 8031280C 0030F74C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80312810 0030F750 7C 08 02 A6 */ mflr r0
/* 80312814 0030F754 90 01 00 14 */ stw r0, 0x14(r1)
/* 80312818 0030F758 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8031281C 0030F75C 93 C1 00 08 */ stw r30, 8(r1)
/* 80312820 0030F760 7C 7E 1B 78 */ mr r30, r3
/* 80312824 0030F764 7C 9F 23 78 */ mr r31, r4
/* 80312828 0030F768 38 60 00 10 */ li r3, 0x10
/* 8031282C 0030F76C 4B FB C4 21 */ bl __nw
/* 80312830 0030F770 28 03 00 00 */ cmplwi r3, 0
/* 80312834 0030F774 41 82 00 18 */ beq lbl_8031284C
/* 80312838 0030F778 38 00 00 00 */ li r0, 0
/* 8031283C 0030F77C 90 03 00 00 */ stw r0, 0(r3)
/* 80312840 0030F780 90 03 00 04 */ stw r0, 4(r3)
/* 80312844 0030F784 90 03 00 08 */ stw r0, 8(r3)
/* 80312848 0030F788 90 03 00 0C */ stw r0, 0xc(r3)
lbl_8031284C:
/* 8031284C 0030F78C 90 7E 00 20 */ stw r3, 0x20(r30)
/* 80312850 0030F790 80 7E 00 20 */ lwz r3, 0x20(r30)
/* 80312854 0030F794 28 03 00 00 */ cmplwi r3, 0
/* 80312858 0030F798 40 82 00 0C */ bne lbl_80312864
/* 8031285C 0030F79C 38 60 00 04 */ li r3, 4
/* 80312860 0030F7A0 48 00 00 20 */ b lbl_80312880
lbl_80312864:
/* 80312864 0030F7A4 7F E4 FB 78 */ mr r4, r31
/* 80312868 0030F7A8 4B FF FC 21 */ bl J3DDisplayListObj_NS_newDisplayList
/* 8031286C 0030F7AC 2C 03 00 00 */ cmpwi r3, 0
/* 80312870 0030F7B0 38 00 00 00 */ li r0, 0
/* 80312874 0030F7B4 41 82 00 08 */ beq lbl_8031287C
/* 80312878 0030F7B8 7C 60 1B 78 */ mr r0, r3
lbl_8031287C:
/* 8031287C 0030F7BC 7C 03 03 78 */ mr r3, r0
lbl_80312880:
/* 80312880 0030F7C0 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80312884 0030F7C4 83 C1 00 08 */ lwz r30, 8(r1)
/* 80312888 0030F7C8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8031288C 0030F7CC 7C 08 03 A6 */ mtlr r0
/* 80312890 0030F7D0 38 21 00 10 */ addi r1, r1, 0x10
/* 80312894 0030F7D4 4E 80 00 20 */ blr
.global J3DDrawPacket_NS_newSingleDisplayList
J3DDrawPacket_NS_newSingleDisplayList:
/* 80312898 0030F7D8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8031289C 0030F7DC 7C 08 02 A6 */ mflr r0
/* 803128A0 0030F7E0 90 01 00 14 */ stw r0, 0x14(r1)
/* 803128A4 0030F7E4 93 E1 00 0C */ stw r31, 0xc(r1)
/* 803128A8 0030F7E8 93 C1 00 08 */ stw r30, 8(r1)
/* 803128AC 0030F7EC 7C 7E 1B 78 */ mr r30, r3
/* 803128B0 0030F7F0 7C 9F 23 78 */ mr r31, r4
/* 803128B4 0030F7F4 38 60 00 10 */ li r3, 0x10
/* 803128B8 0030F7F8 4B FB C3 95 */ bl __nw
/* 803128BC 0030F7FC 28 03 00 00 */ cmplwi r3, 0
/* 803128C0 0030F800 41 82 00 18 */ beq lbl_803128D8
/* 803128C4 0030F804 38 00 00 00 */ li r0, 0
/* 803128C8 0030F808 90 03 00 00 */ stw r0, 0(r3)
/* 803128CC 0030F80C 90 03 00 04 */ stw r0, 4(r3)
/* 803128D0 0030F810 90 03 00 08 */ stw r0, 8(r3)
/* 803128D4 0030F814 90 03 00 0C */ stw r0, 0xc(r3)
lbl_803128D8:
/* 803128D8 0030F818 90 7E 00 20 */ stw r3, 0x20(r30)
/* 803128DC 0030F81C 80 7E 00 20 */ lwz r3, 0x20(r30)
/* 803128E0 0030F820 28 03 00 00 */ cmplwi r3, 0
/* 803128E4 0030F824 40 82 00 0C */ bne lbl_803128F0
/* 803128E8 0030F828 38 60 00 04 */ li r3, 4
/* 803128EC 0030F82C 48 00 00 20 */ b lbl_8031290C
lbl_803128F0:
/* 803128F0 0030F830 7F E4 FB 78 */ mr r4, r31
/* 803128F4 0030F834 4B FF FC 15 */ bl J3DDisplayListObj_NS_newSingleDisplayList
/* 803128F8 0030F838 2C 03 00 00 */ cmpwi r3, 0
/* 803128FC 0030F83C 38 00 00 00 */ li r0, 0
/* 80312900 0030F840 41 82 00 08 */ beq lbl_80312908
/* 80312904 0030F844 7C 60 1B 78 */ mr r0, r3
lbl_80312908:
/* 80312908 0030F848 7C 03 03 78 */ mr r3, r0
lbl_8031290C:
/* 8031290C 0030F84C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80312910 0030F850 83 C1 00 08 */ lwz r30, 8(r1)
/* 80312914 0030F854 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80312918 0030F858 7C 08 03 A6 */ mtlr r0
/* 8031291C 0030F85C 38 21 00 10 */ addi r1, r1, 0x10
/* 80312920 0030F860 4E 80 00 20 */ blr
/* 80312924 0030F864 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80312928 0030F868 7C 08 02 A6 */ mflr r0
/* 8031292C 0030F86C 90 01 00 14 */ stw r0, 0x14(r1)
/* 80312930 0030F870 80 63 00 20 */ lwz r3, 0x20(r3)
/* 80312934 0030F874 4B FF FC E5 */ bl J3DDisplayListObj_NS_callDL
/* 80312938 0030F878 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8031293C 0030F87C 7C 08 03 A6 */ mtlr r0
/* 80312940 0030F880 38 21 00 10 */ addi r1, r1, 0x10
/* 80312944 0030F884 4E 80 00 20 */ blr
.global J3DMatPacket
J3DMatPacket:
/* 80312948 0030F888 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8031294C 0030F88C 7C 08 02 A6 */ mflr r0
/* 80312950 0030F890 90 01 00 14 */ stw r0, 0x14(r1)
/* 80312954 0030F894 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80312958 0030F898 7C 7F 1B 78 */ mr r31, r3
/* 8031295C 0030F89C 4B FF FE 1D */ bl J3DDrawPacket
/* 80312960 0030F8A0 3C 60 80 3D */ lis r3, lbl_803CD954@ha
/* 80312964 0030F8A4 38 03 D9 54 */ addi r0, r3, lbl_803CD954@l
/* 80312968 0030F8A8 90 1F 00 00 */ stw r0, 0(r31)
/* 8031296C 0030F8AC 38 60 00 00 */ li r3, 0
/* 80312970 0030F8B0 90 7F 00 28 */ stw r3, 0x28(r31)
/* 80312974 0030F8B4 90 7F 00 2C */ stw r3, 0x2c(r31)
/* 80312978 0030F8B8 90 7F 00 30 */ stw r3, 0x30(r31)
/* 8031297C 0030F8BC 38 00 FF FF */ li r0, -1
/* 80312980 0030F8C0 90 1F 00 34 */ stw r0, 0x34(r31)
/* 80312984 0030F8C4 90 7F 00 38 */ stw r3, 0x38(r31)
/* 80312988 0030F8C8 90 7F 00 3C */ stw r3, 0x3c(r31)
/* 8031298C 0030F8CC 7F E3 FB 78 */ mr r3, r31
/* 80312990 0030F8D0 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80312994 0030F8D4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80312998 0030F8D8 7C 08 03 A6 */ mtlr r0
/* 8031299C 0030F8DC 38 21 00 10 */ addi r1, r1, 0x10
/* 803129A0 0030F8E0 4E 80 00 20 */ blr
.global J3DMatPacket_NS_dtor
J3DMatPacket_NS_dtor:
/* 803129A4 0030F8E4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 803129A8 0030F8E8 7C 08 02 A6 */ mflr r0
/* 803129AC 0030F8EC 90 01 00 14 */ stw r0, 0x14(r1)
/* 803129B0 0030F8F0 93 E1 00 0C */ stw r31, 0xc(r1)
/* 803129B4 0030F8F4 93 C1 00 08 */ stw r30, 8(r1)
/* 803129B8 0030F8F8 7C 7E 1B 79 */ or. r30, r3, r3
/* 803129BC 0030F8FC 7C 9F 23 78 */ mr r31, r4
/* 803129C0 0030F900 41 82 00 28 */ beq lbl_803129E8
/* 803129C4 0030F904 3C 80 80 3D */ lis r4, lbl_803CD954@ha
/* 803129C8 0030F908 38 04 D9 54 */ addi r0, r4, lbl_803CD954@l
/* 803129CC 0030F90C 90 1E 00 00 */ stw r0, 0(r30)
/* 803129D0 0030F910 38 80 00 00 */ li r4, 0
/* 803129D4 0030F914 4B FF FD DD */ bl J3DDrawPacket_NS_dtor
/* 803129D8 0030F918 7F E0 07 35 */ extsh. r0, r31
/* 803129DC 0030F91C 40 81 00 0C */ ble lbl_803129E8
/* 803129E0 0030F920 7F C3 F3 78 */ mr r3, r30
/* 803129E4 0030F924 4B FB C3 59 */ bl __dl
lbl_803129E8:
/* 803129E8 0030F928 7F C3 F3 78 */ mr r3, r30
/* 803129EC 0030F92C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 803129F0 0030F930 83 C1 00 08 */ lwz r30, 8(r1)
/* 803129F4 0030F934 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803129F8 0030F938 7C 08 03 A6 */ mtlr r0
/* 803129FC 0030F93C 38 21 00 10 */ addi r1, r1, 0x10
/* 80312A00 0030F940 4E 80 00 20 */ blr
.global J3DMatPacket_NS_addShapePacket
J3DMatPacket_NS_addShapePacket:
/* 80312A04 0030F944 80 03 00 2C */ lwz r0, 0x2c(r3)
/* 80312A08 0030F948 28 00 00 00 */ cmplwi r0, 0
/* 80312A0C 0030F94C 40 82 00 0C */ bne lbl_80312A18
/* 80312A10 0030F950 90 83 00 2C */ stw r4, 0x2c(r3)
/* 80312A14 0030F954 4E 80 00 20 */ blr
lbl_80312A18:
/* 80312A18 0030F958 90 04 00 04 */ stw r0, 4(r4)
/* 80312A1C 0030F95C 90 83 00 2C */ stw r4, 0x2c(r3)
/* 80312A20 0030F960 4E 80 00 20 */ blr
.global J3DMatPacket_NS_beginDiff
J3DMatPacket_NS_beginDiff:
/* 80312A24 0030F964 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80312A28 0030F968 7C 08 02 A6 */ mflr r0
/* 80312A2C 0030F96C 90 01 00 14 */ stw r0, 0x14(r1)
/* 80312A30 0030F970 80 63 00 28 */ lwz r3, 0x28(r3)
/* 80312A34 0030F974 80 63 00 20 */ lwz r3, 0x20(r3)
/* 80312A38 0030F978 4B FF FC 0D */ bl J3DDisplayListObj_NS_beginDL
/* 80312A3C 0030F97C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80312A40 0030F980 7C 08 03 A6 */ mtlr r0
/* 80312A44 0030F984 38 21 00 10 */ addi r1, r1, 0x10
/* 80312A48 0030F988 4E 80 00 20 */ blr
.global J3DMatPacket_NS_endDiff
J3DMatPacket_NS_endDiff:
/* 80312A4C 0030F98C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80312A50 0030F990 7C 08 02 A6 */ mflr r0
/* 80312A54 0030F994 90 01 00 14 */ stw r0, 0x14(r1)
/* 80312A58 0030F998 80 63 00 28 */ lwz r3, 0x28(r3)
/* 80312A5C 0030F99C 80 63 00 20 */ lwz r3, 0x20(r3)
/* 80312A60 0030F9A0 4B FF FC 39 */ bl J3DDisplayListObj_NS_endDL
/* 80312A64 0030F9A4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80312A68 0030F9A8 7C 08 03 A6 */ mtlr r0
/* 80312A6C 0030F9AC 38 21 00 10 */ addi r1, r1, 0x10
/* 80312A70 0030F9B0 4E 80 00 20 */ blr
.global J3DMatPacket_NS_isSame
J3DMatPacket_NS_isSame:
/* 80312A74 0030F9B4 38 A0 00 00 */ li r5, 0
/* 80312A78 0030F9B8 80 63 00 34 */ lwz r3, 0x34(r3)
/* 80312A7C 0030F9BC 80 04 00 34 */ lwz r0, 0x34(r4)
/* 80312A80 0030F9C0 7C 03 00 40 */ cmplw r3, r0
/* 80312A84 0030F9C4 40 82 00 10 */ bne lbl_80312A94
/* 80312A88 0030F9C8 54 60 0F FF */ rlwinm. r0, r3, 1, 0x1f, 0x1f
/* 80312A8C 0030F9CC 40 82 00 08 */ bne lbl_80312A94
/* 80312A90 0030F9D0 38 A0 00 01 */ li r5, 1
lbl_80312A94:
/* 80312A94 0030F9D4 7C A3 2B 78 */ mr r3, r5
/* 80312A98 0030F9D8 4E 80 00 20 */ blr
/* 80312A9C 0030F9DC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80312AA0 0030F9E0 7C 08 02 A6 */ mflr r0
/* 80312AA4 0030F9E4 90 01 00 14 */ stw r0, 0x14(r1)
/* 80312AA8 0030F9E8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80312AAC 0030F9EC 7C 7F 1B 78 */ mr r31, r3
/* 80312AB0 0030F9F0 80 63 00 30 */ lwz r3, 0x30(r3)
/* 80312AB4 0030F9F4 81 83 00 00 */ lwz r12, 0(r3)
/* 80312AB8 0030F9F8 81 8C 00 18 */ lwz r12, 0x18(r12)
/* 80312ABC 0030F9FC 7D 89 03 A6 */ mtctr r12
/* 80312AC0 0030FA00 4E 80 04 21 */ bctrl
/* 80312AC4 0030FA04 80 7F 00 20 */ lwz r3, 0x20(r31)
/* 80312AC8 0030FA08 4B FF FB 51 */ bl J3DDisplayListObj_NS_callDL
/* 80312ACC 0030FA0C 80 7F 00 2C */ lwz r3, 0x2c(r31)
/* 80312AD0 0030FA10 7C 7F 1B 78 */ mr r31, r3
/* 80312AD4 0030FA14 80 63 00 28 */ lwz r3, 0x28(r3)
/* 80312AD8 0030FA18 48 00 28 29 */ bl J3DShape_NS_loadPreDrawSetting
/* 80312ADC 0030FA1C 48 00 00 20 */ b lbl_80312AFC
lbl_80312AE0:
/* 80312AE0 0030FA20 80 7F 00 20 */ lwz r3, 0x20(r31)
/* 80312AE4 0030FA24 28 03 00 00 */ cmplwi r3, 0
/* 80312AE8 0030FA28 41 82 00 08 */ beq lbl_80312AF0
/* 80312AEC 0030FA2C 4B FF FB 2D */ bl J3DDisplayListObj_NS_callDL
lbl_80312AF0:
/* 80312AF0 0030FA30 7F E3 FB 78 */ mr r3, r31
/* 80312AF4 0030FA34 48 00 04 C9 */ bl J3DShapePacket_NS_drawFast
/* 80312AF8 0030FA38 83 FF 00 04 */ lwz r31, 4(r31)
lbl_80312AFC:
/* 80312AFC 0030FA3C 28 1F 00 00 */ cmplwi r31, 0
/* 80312B00 0030FA40 40 82 FF E0 */ bne lbl_80312AE0
/* 80312B04 0030FA44 38 00 00 00 */ li r0, 0
/* 80312B08 0030FA48 90 0D 90 50 */ stw r0, lbl_804515D0-_SDA_BASE_(r13)
/* 80312B0C 0030FA4C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80312B10 0030FA50 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80312B14 0030FA54 7C 08 03 A6 */ mtlr r0
/* 80312B18 0030FA58 38 21 00 10 */ addi r1, r1, 0x10
/* 80312B1C 0030FA5C 4E 80 00 20 */ blr
.global J3DShapePacket
J3DShapePacket:
/* 80312B20 0030FA60 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80312B24 0030FA64 7C 08 02 A6 */ mflr r0
/* 80312B28 0030FA68 90 01 00 14 */ stw r0, 0x14(r1)
/* 80312B2C 0030FA6C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80312B30 0030FA70 7C 7F 1B 78 */ mr r31, r3
/* 80312B34 0030FA74 4B FF FC 45 */ bl J3DDrawPacket
/* 80312B38 0030FA78 3C 60 80 3D */ lis r3, lbl_803CD940@ha
/* 80312B3C 0030FA7C 38 03 D9 40 */ addi r0, r3, lbl_803CD940@l
/* 80312B40 0030FA80 90 1F 00 00 */ stw r0, 0(r31)
/* 80312B44 0030FA84 38 00 00 00 */ li r0, 0
/* 80312B48 0030FA88 90 1F 00 28 */ stw r0, 0x28(r31)
/* 80312B4C 0030FA8C 90 1F 00 2C */ stw r0, 0x2c(r31)
/* 80312B50 0030FA90 90 1F 00 30 */ stw r0, 0x30(r31)
/* 80312B54 0030FA94 90 1F 00 34 */ stw r0, 0x34(r31)
/* 80312B58 0030FA98 90 1F 00 38 */ stw r0, 0x38(r31)
/* 80312B5C 0030FA9C 7F E3 FB 78 */ mr r3, r31
/* 80312B60 0030FAA0 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80312B64 0030FAA4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80312B68 0030FAA8 7C 08 03 A6 */ mtlr r0
/* 80312B6C 0030FAAC 38 21 00 10 */ addi r1, r1, 0x10
/* 80312B70 0030FAB0 4E 80 00 20 */ blr
.global J3DShapePacket_NS_dtor
J3DShapePacket_NS_dtor:
/* 80312B74 0030FAB4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80312B78 0030FAB8 7C 08 02 A6 */ mflr r0
/* 80312B7C 0030FABC 90 01 00 14 */ stw r0, 0x14(r1)
/* 80312B80 0030FAC0 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80312B84 0030FAC4 93 C1 00 08 */ stw r30, 8(r1)
/* 80312B88 0030FAC8 7C 7E 1B 79 */ or. r30, r3, r3
/* 80312B8C 0030FACC 7C 9F 23 78 */ mr r31, r4
/* 80312B90 0030FAD0 41 82 00 28 */ beq lbl_80312BB8
/* 80312B94 0030FAD4 3C 80 80 3D */ lis r4, lbl_803CD940@ha
/* 80312B98 0030FAD8 38 04 D9 40 */ addi r0, r4, lbl_803CD940@l
/* 80312B9C 0030FADC 90 1E 00 00 */ stw r0, 0(r30)
/* 80312BA0 0030FAE0 38 80 00 00 */ li r4, 0
/* 80312BA4 0030FAE4 4B FF FC 0D */ bl J3DDrawPacket_NS_dtor
/* 80312BA8 0030FAE8 7F E0 07 35 */ extsh. r0, r31
/* 80312BAC 0030FAEC 40 81 00 0C */ ble lbl_80312BB8
/* 80312BB0 0030FAF0 7F C3 F3 78 */ mr r3, r30
/* 80312BB4 0030FAF4 4B FB C1 89 */ bl __dl
lbl_80312BB8:
/* 80312BB8 0030FAF8 7F C3 F3 78 */ mr r3, r30
/* 80312BBC 0030FAFC 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80312BC0 0030FB00 83 C1 00 08 */ lwz r30, 8(r1)
/* 80312BC4 0030FB04 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80312BC8 0030FB08 7C 08 03 A6 */ mtlr r0
/* 80312BCC 0030FB0C 38 21 00 10 */ addi r1, r1, 0x10
/* 80312BD0 0030FB10 4E 80 00 20 */ blr
.global J3DShapePacket_NS_calcDifferedBufferSize
J3DShapePacket_NS_calcDifferedBufferSize:
/* 80312BD4 0030FB14 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80312BD8 0030FB18 7C 08 02 A6 */ mflr r0
/* 80312BDC 0030FB1C 90 01 00 24 */ stw r0, 0x24(r1)
/* 80312BE0 0030FB20 39 61 00 20 */ addi r11, r1, 0x20
/* 80312BE4 0030FB24 48 04 F5 F5 */ bl func_803621D8
/* 80312BE8 0030FB28 7C 7D 1B 78 */ mr r29, r3
/* 80312BEC 0030FB2C 7C 9E 23 78 */ mr r30, r4
/* 80312BF0 0030FB30 3B E0 00 00 */ li r31, 0
/* 80312BF4 0030FB34 38 60 00 00 */ li r3, 0
/* 80312BF8 0030FB38 3C 80 80 3D */ lis r4, lbl_803CD900@ha
/* 80312BFC 0030FB3C 38 A4 D9 00 */ addi r5, r4, lbl_803CD900@l
/* 80312C00 0030FB40 3C 80 80 3D */ lis r4, lbl_803CD920@ha
/* 80312C04 0030FB44 38 84 D9 20 */ addi r4, r4, lbl_803CD920@l
/* 80312C08 0030FB48 38 00 00 08 */ li r0, 8
/* 80312C0C 0030FB4C 7C 09 03 A6 */ mtctr r0
lbl_80312C10:
/* 80312C10 0030FB50 7C 05 18 2E */ lwzx r0, r5, r3
/* 80312C14 0030FB54 7F C0 00 39 */ and. r0, r30, r0
/* 80312C18 0030FB58 41 82 00 0C */ beq lbl_80312C24
/* 80312C1C 0030FB5C 7C 04 18 2E */ lwzx r0, r4, r3
/* 80312C20 0030FB60 7F FF 02 14 */ add r31, r31, r0
lbl_80312C24:
/* 80312C24 0030FB64 38 63 00 04 */ addi r3, r3, 4
/* 80312C28 0030FB68 42 00 FF E8 */ bdnz lbl_80312C10
/* 80312C2C 0030FB6C 57 C0 E7 3E */ rlwinm r0, r30, 0x1c, 0x1c, 0x1f
/* 80312C30 0030FB70 1C 00 00 48 */ mulli r0, r0, 0x48
/* 80312C34 0030FB74 7F FF 02 14 */ add r31, r31, r0
/* 80312C38 0030FB78 57 DC C7 3F */ rlwinm. r28, r30, 0x18, 0x1c, 0x1f
/* 80312C3C 0030FB7C 41 82 00 4C */ beq lbl_80312C88
/* 80312C40 0030FB80 80 7D 00 28 */ lwz r3, 0x28(r29)
/* 80312C44 0030FB84 80 63 00 04 */ lwz r3, 4(r3)
/* 80312C48 0030FB88 80 63 00 28 */ lwz r3, 0x28(r3)
/* 80312C4C 0030FB8C 81 83 00 00 */ lwz r12, 0(r3)
/* 80312C50 0030FB90 81 8C 00 40 */ lwz r12, 0x40(r12)
/* 80312C54 0030FB94 7D 89 03 A6 */ mtctr r12
/* 80312C58 0030FB98 4E 80 04 21 */ bctrl
/* 80312C5C 0030FB9C 7C 1C 18 40 */ cmplw r28, r3
/* 80312C60 0030FBA0 40 81 00 08 */ ble lbl_80312C68
/* 80312C64 0030FBA4 7F 83 E3 78 */ mr r3, r28
lbl_80312C68:
/* 80312C68 0030FBA8 57 C0 04 E7 */ rlwinm. r0, r30, 0, 0x13, 0x13
/* 80312C6C 0030FBAC 41 82 00 14 */ beq lbl_80312C80
/* 80312C70 0030FBB0 1C 03 00 3D */ mulli r0, r3, 0x3d
/* 80312C74 0030FBB4 7F E0 FA 14 */ add r31, r0, r31
/* 80312C78 0030FBB8 3B FF 00 0A */ addi r31, r31, 0xa
/* 80312C7C 0030FBBC 48 00 00 0C */ b lbl_80312C88
lbl_80312C80:
/* 80312C80 0030FBC0 1C 03 00 35 */ mulli r0, r3, 0x35
/* 80312C84 0030FBC4 7F FF 02 14 */ add r31, r31, r0
lbl_80312C88:
/* 80312C88 0030FBC8 57 DC 87 3F */ rlwinm. r28, r30, 0x10, 0x1c, 0x1f
/* 80312C8C 0030FBCC 41 82 00 90 */ beq lbl_80312D1C
/* 80312C90 0030FBD0 80 7D 00 28 */ lwz r3, 0x28(r29)
/* 80312C94 0030FBD4 80 63 00 04 */ lwz r3, 4(r3)
/* 80312C98 0030FBD8 80 63 00 2C */ lwz r3, 0x2c(r3)
/* 80312C9C 0030FBDC 81 83 00 00 */ lwz r12, 0(r3)
/* 80312CA0 0030FBE0 81 8C 00 98 */ lwz r12, 0x98(r12)
/* 80312CA4 0030FBE4 7D 89 03 A6 */ mtctr r12
/* 80312CA8 0030FBE8 4E 80 04 21 */ bctrl
/* 80312CAC 0030FBEC 54 60 06 3E */ clrlwi r0, r3, 0x18
/* 80312CB0 0030FBF0 28 00 00 08 */ cmplwi r0, 8
/* 80312CB4 0030FBF4 40 81 00 0C */ ble lbl_80312CC0
/* 80312CB8 0030FBF8 38 60 00 08 */ li r3, 8
/* 80312CBC 0030FBFC 48 00 00 20 */ b lbl_80312CDC
lbl_80312CC0:
/* 80312CC0 0030FC00 80 7D 00 28 */ lwz r3, 0x28(r29)
/* 80312CC4 0030FC04 80 63 00 04 */ lwz r3, 4(r3)
/* 80312CC8 0030FC08 80 63 00 2C */ lwz r3, 0x2c(r3)
/* 80312CCC 0030FC0C 81 83 00 00 */ lwz r12, 0(r3)
/* 80312CD0 0030FC10 81 8C 00 98 */ lwz r12, 0x98(r12)
/* 80312CD4 0030FC14 7D 89 03 A6 */ mtctr r12
/* 80312CD8 0030FC18 4E 80 04 21 */ bctrl
lbl_80312CDC:
/* 80312CDC 0030FC1C 54 60 06 3E */ clrlwi r0, r3, 0x18
/* 80312CE0 0030FC20 7C 1C 00 40 */ cmplw r28, r0
/* 80312CE4 0030FC24 7C 03 03 78 */ mr r3, r0
/* 80312CE8 0030FC28 40 81 00 08 */ ble lbl_80312CF0
/* 80312CEC 0030FC2C 7F 83 E3 78 */ mr r3, r28
lbl_80312CF0:
/* 80312CF0 0030FC30 57 C0 01 4B */ rlwinm. r0, r30, 0, 5, 5
/* 80312CF4 0030FC34 41 82 00 20 */ beq lbl_80312D14
/* 80312CF8 0030FC38 1C 83 00 37 */ mulli r4, r3, 0x37
/* 80312CFC 0030FC3C 38 03 00 01 */ addi r0, r3, 1
/* 80312D00 0030FC40 54 00 F8 7E */ srwi r0, r0, 1
/* 80312D04 0030FC44 1C 00 00 37 */ mulli r0, r0, 0x37
/* 80312D08 0030FC48 7C 84 02 14 */ add r4, r4, r0
/* 80312D0C 0030FC4C 7F FF 22 14 */ add r31, r31, r4
/* 80312D10 0030FC50 48 00 00 0C */ b lbl_80312D1C
lbl_80312D14:
/* 80312D14 0030FC54 1C 03 00 37 */ mulli r0, r3, 0x37
/* 80312D18 0030FC58 7F FF 02 14 */ add r31, r31, r0
lbl_80312D1C:
/* 80312D1C 0030FC5C 57 DC 67 3F */ rlwinm. r28, r30, 0xc, 0x1c, 0x1f
/* 80312D20 0030FC60 41 82 00 7C */ beq lbl_80312D9C
/* 80312D24 0030FC64 80 7D 00 28 */ lwz r3, 0x28(r29)
/* 80312D28 0030FC68 80 63 00 04 */ lwz r3, 4(r3)
/* 80312D2C 0030FC6C 80 63 00 2C */ lwz r3, 0x2c(r3)
/* 80312D30 0030FC70 81 83 00 00 */ lwz r12, 0(r3)
/* 80312D34 0030FC74 81 8C 00 98 */ lwz r12, 0x98(r12)
/* 80312D38 0030FC78 7D 89 03 A6 */ mtctr r12
/* 80312D3C 0030FC7C 4E 80 04 21 */ bctrl
/* 80312D40 0030FC80 54 60 06 3E */ clrlwi r0, r3, 0x18
/* 80312D44 0030FC84 28 00 00 08 */ cmplwi r0, 8
/* 80312D48 0030FC88 40 81 00 0C */ ble lbl_80312D54
/* 80312D4C 0030FC8C 38 60 00 08 */ li r3, 8
/* 80312D50 0030FC90 48 00 00 20 */ b lbl_80312D70
lbl_80312D54:
/* 80312D54 0030FC94 80 7D 00 28 */ lwz r3, 0x28(r29)
/* 80312D58 0030FC98 80 63 00 04 */ lwz r3, 4(r3)
/* 80312D5C 0030FC9C 80 63 00 2C */ lwz r3, 0x2c(r3)
/* 80312D60 0030FCA0 81 83 00 00 */ lwz r12, 0(r3)
/* 80312D64 0030FCA4 81 8C 00 98 */ lwz r12, 0x98(r12)
/* 80312D68 0030FCA8 7D 89 03 A6 */ mtctr r12
/* 80312D6C 0030FCAC 4E 80 04 21 */ bctrl
lbl_80312D70:
/* 80312D70 0030FCB0 54 60 06 3E */ clrlwi r0, r3, 0x18
/* 80312D74 0030FCB4 7C 1C 00 40 */ cmplw r28, r0
/* 80312D78 0030FCB8 7C 03 03 78 */ mr r3, r0
/* 80312D7C 0030FCBC 40 81 00 08 */ ble lbl_80312D84
/* 80312D80 0030FCC0 7F 83 E3 78 */ mr r3, r28
lbl_80312D84:
/* 80312D84 0030FCC4 1C 03 00 0A */ mulli r0, r3, 0xa
/* 80312D88 0030FCC8 7F FF 02 14 */ add r31, r31, r0
/* 80312D8C 0030FCCC 57 C0 01 09 */ rlwinm. r0, r30, 0, 4, 4
/* 80312D90 0030FCD0 41 82 00 0C */ beq lbl_80312D9C
/* 80312D94 0030FCD4 1C 03 00 05 */ mulli r0, r3, 5
/* 80312D98 0030FCD8 7F FF 02 14 */ add r31, r31, r0
lbl_80312D9C:
/* 80312D9C 0030FCDC 38 1F 00 1F */ addi r0, r31, 0x1f
/* 80312DA0 0030FCE0 54 03 00 34 */ rlwinm r3, r0, 0, 0, 0x1a
/* 80312DA4 0030FCE4 39 61 00 20 */ addi r11, r1, 0x20
/* 80312DA8 0030FCE8 48 04 F4 7D */ bl func_80362224
/* 80312DAC 0030FCEC 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80312DB0 0030FCF0 7C 08 03 A6 */ mtlr r0
/* 80312DB4 0030FCF4 38 21 00 20 */ addi r1, r1, 0x20
/* 80312DB8 0030FCF8 4E 80 00 20 */ blr
.global J3DShapePacket_NS_newDifferedDisplayList
J3DShapePacket_NS_newDifferedDisplayList:
/* 80312DBC 0030FCFC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80312DC0 0030FD00 7C 08 02 A6 */ mflr r0
/* 80312DC4 0030FD04 90 01 00 14 */ stw r0, 0x14(r1)
/* 80312DC8 0030FD08 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80312DCC 0030FD0C 7C 7F 1B 78 */ mr r31, r3
/* 80312DD0 0030FD10 90 83 00 34 */ stw r4, 0x34(r3)
/* 80312DD4 0030FD14 4B FF FE 01 */ bl J3DShapePacket_NS_calcDifferedBufferSize
/* 80312DD8 0030FD18 7C 64 1B 78 */ mr r4, r3
/* 80312DDC 0030FD1C 7F E3 FB 78 */ mr r3, r31
/* 80312DE0 0030FD20 4B FF FA 2D */ bl J3DDrawPacket_NS_newDisplayList
/* 80312DE4 0030FD24 2C 03 00 00 */ cmpwi r3, 0
/* 80312DE8 0030FD28 41 82 00 08 */ beq lbl_80312DF0
/* 80312DEC 0030FD2C 48 00 00 08 */ b lbl_80312DF4
lbl_80312DF0:
/* 80312DF0 0030FD30 38 60 00 00 */ li r3, 0
lbl_80312DF4:
/* 80312DF4 0030FD34 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80312DF8 0030FD38 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80312DFC 0030FD3C 7C 08 03 A6 */ mtlr r0
/* 80312E00 0030FD40 38 21 00 10 */ addi r1, r1, 0x10
/* 80312E04 0030FD44 4E 80 00 20 */ blr
.global J3DShapePacket_NS_prepareDraw
J3DShapePacket_NS_prepareDraw:
/* 80312E08 0030FD48 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80312E0C 0030FD4C 7C 08 02 A6 */ mflr r0
/* 80312E10 0030FD50 90 01 00 14 */ stw r0, 0x14(r1)
/* 80312E14 0030FD54 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80312E18 0030FD58 7C 7F 1B 78 */ mr r31, r3
/* 80312E1C 0030FD5C 80 63 00 38 */ lwz r3, 0x38(r3)
/* 80312E20 0030FD60 38 63 00 88 */ addi r3, r3, 0x88
/* 80312E24 0030FD64 4B FF E2 49 */ bl J3DVertexBuffer_NS_setArray
/* 80312E28 0030FD68 80 9F 00 38 */ lwz r4, 0x38(r31)
/* 80312E2C 0030FD6C 3C 60 80 43 */ lis r3, lbl_80434AC8@ha
/* 80312E30 0030FD70 38 63 4A C8 */ addi r3, r3, lbl_80434AC8@l
/* 80312E34 0030FD74 90 83 00 38 */ stw r4, 0x38(r3)
/* 80312E38 0030FD78 93 E3 00 40 */ stw r31, 0x40(r3)
/* 80312E3C 0030FD7C 80 04 00 08 */ lwz r0, 8(r4)
/* 80312E40 0030FD80 54 00 E7 FE */ rlwinm r0, r0, 0x1c, 0x1f, 0x1f
/* 80312E44 0030FD84 98 0D 90 31 */ stb r0, lbl_804515B1-_SDA_BASE_(r13)
/* 80312E48 0030FD88 80 04 00 08 */ lwz r0, 8(r4)
/* 80312E4C 0030FD8C 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d
/* 80312E50 0030FD90 41 82 00 18 */ beq lbl_80312E68
/* 80312E54 0030FD94 80 7F 00 28 */ lwz r3, 0x28(r31)
/* 80312E58 0030FD98 80 03 00 0C */ lwz r0, 0xc(r3)
/* 80312E5C 0030FD9C 60 00 00 04 */ ori r0, r0, 4
/* 80312E60 0030FDA0 90 03 00 0C */ stw r0, 0xc(r3)
/* 80312E64 0030FDA4 48 00 00 14 */ b lbl_80312E78
lbl_80312E68:
/* 80312E68 0030FDA8 80 7F 00 28 */ lwz r3, 0x28(r31)
/* 80312E6C 0030FDAC 80 03 00 0C */ lwz r0, 0xc(r3)
/* 80312E70 0030FDB0 54 00 07 B8 */ rlwinm r0, r0, 0, 0x1e, 0x1c
/* 80312E74 0030FDB4 90 03 00 0C */ stw r0, 0xc(r3)
lbl_80312E78:
/* 80312E78 0030FDB8 80 7F 00 38 */ lwz r3, 0x38(r31)
/* 80312E7C 0030FDBC 80 03 00 08 */ lwz r0, 8(r3)
/* 80312E80 0030FDC0 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c
/* 80312E84 0030FDC4 41 82 00 24 */ beq lbl_80312EA8
/* 80312E88 0030FDC8 80 7F 00 28 */ lwz r3, 0x28(r31)
/* 80312E8C 0030FDCC 80 03 00 0C */ lwz r0, 0xc(r3)
/* 80312E90 0030FDD0 54 00 C7 FF */ rlwinm. r0, r0, 0x18, 0x1f, 0x1f
/* 80312E94 0030FDD4 40 82 00 14 */ bne lbl_80312EA8
/* 80312E98 0030FDD8 80 03 00 0C */ lwz r0, 0xc(r3)
/* 80312E9C 0030FDDC 60 00 00 08 */ ori r0, r0, 8
/* 80312EA0 0030FDE0 90 03 00 0C */ stw r0, 0xc(r3)
/* 80312EA4 0030FDE4 48 00 00 14 */ b lbl_80312EB8
lbl_80312EA8:
/* 80312EA8 0030FDE8 80 7F 00 28 */ lwz r3, 0x28(r31)
/* 80312EAC 0030FDEC 80 03 00 0C */ lwz r0, 0xc(r3)
/* 80312EB0 0030FDF0 54 00 07 76 */ rlwinm r0, r0, 0, 0x1d, 0x1b
/* 80312EB4 0030FDF4 90 03 00 0C */ stw r0, 0xc(r3)
lbl_80312EB8:
/* 80312EB8 0030FDF8 80 7F 00 2C */ lwz r3, 0x2c(r31)
/* 80312EBC 0030FDFC 38 03 00 30 */ addi r0, r3, 0x30
/* 80312EC0 0030FE00 80 9F 00 28 */ lwz r4, 0x28(r31)
/* 80312EC4 0030FE04 90 04 00 60 */ stw r0, 0x60(r4)
/* 80312EC8 0030FE08 80 03 00 04 */ lwz r0, 4(r3)
/* 80312ECC 0030FE0C 90 04 00 54 */ stw r0, 0x54(r4)
/* 80312ED0 0030FE10 80 03 00 18 */ lwz r0, 0x18(r3)
/* 80312ED4 0030FE14 90 04 00 58 */ stw r0, 0x58(r4)
/* 80312ED8 0030FE18 88 04 00 34 */ lbz r0, 0x34(r4)
/* 80312EDC 0030FE1C 28 00 00 00 */ cmplwi r0, 0
/* 80312EE0 0030FE20 40 82 00 10 */ bne lbl_80312EF0
/* 80312EE4 0030FE24 80 03 00 20 */ lwz r0, 0x20(r3)
/* 80312EE8 0030FE28 90 04 00 5C */ stw r0, 0x5c(r4)
/* 80312EEC 0030FE2C 48 00 00 18 */ b lbl_80312F04
lbl_80312EF0:
/* 80312EF0 0030FE30 80 04 00 64 */ lwz r0, 0x64(r4)
/* 80312EF4 0030FE34 80 63 00 28 */ lwz r3, 0x28(r3)
/* 80312EF8 0030FE38 54 00 10 3A */ slwi r0, r0, 2
/* 80312EFC 0030FE3C 7C 03 00 2E */ lwzx r0, r3, r0
/* 80312F00 0030FE40 90 04 00 5C */ stw r0, 0x5c(r4)
lbl_80312F04:
/* 80312F04 0030FE44 80 7F 00 38 */ lwz r3, 0x38(r31)
/* 80312F08 0030FE48 80 63 00 04 */ lwz r3, 4(r3)
/* 80312F0C 0030FE4C 48 01 31 ED */ bl J3DModelData_NS_syncJ3DSysFlags
/* 80312F10 0030FE50 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80312F14 0030FE54 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80312F18 0030FE58 7C 08 03 A6 */ mtlr r0
/* 80312F1C 0030FE5C 38 21 00 10 */ addi r1, r1, 0x10
/* 80312F20 0030FE60 4E 80 00 20 */ blr
/* 80312F24 0030FE64 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80312F28 0030FE68 7C 08 02 A6 */ mflr r0
/* 80312F2C 0030FE6C 90 01 00 14 */ stw r0, 0x14(r1)
/* 80312F30 0030FE70 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80312F34 0030FE74 7C 7F 1B 78 */ mr r31, r3
/* 80312F38 0030FE78 80 03 00 10 */ lwz r0, 0x10(r3)
/* 80312F3C 0030FE7C 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b
/* 80312F40 0030FE80 40 82 00 68 */ bne lbl_80312FA8
/* 80312F44 0030FE84 80 1F 00 28 */ lwz r0, 0x28(r31)
/* 80312F48 0030FE88 28 00 00 00 */ cmplwi r0, 0
/* 80312F4C 0030FE8C 41 82 00 5C */ beq lbl_80312FA8
/* 80312F50 0030FE90 4B FF FE B9 */ bl J3DShapePacket_NS_prepareDraw
/* 80312F54 0030FE94 80 1F 00 24 */ lwz r0, 0x24(r31)
/* 80312F58 0030FE98 28 00 00 00 */ cmplwi r0, 0
/* 80312F5C 0030FE9C 41 82 00 20 */ beq lbl_80312F7C
/* 80312F60 0030FEA0 80 7F 00 28 */ lwz r3, 0x28(r31)
/* 80312F64 0030FEA4 80 63 00 04 */ lwz r3, 4(r3)
/* 80312F68 0030FEA8 80 03 00 28 */ lwz r0, 0x28(r3)
/* 80312F6C 0030FEAC 90 0D 90 40 */ stw r0, lbl_804515C0-_SDA_BASE_(r13)
/* 80312F70 0030FEB0 80 1F 00 24 */ lwz r0, 0x24(r31)
/* 80312F74 0030FEB4 90 0D 90 44 */ stw r0, lbl_804515C4-_SDA_BASE_(r13)
/* 80312F78 0030FEB8 48 00 00 0C */ b lbl_80312F84
lbl_80312F7C:
/* 80312F7C 0030FEBC 38 00 00 00 */ li r0, 0
/* 80312F80 0030FEC0 90 0D 90 40 */ stw r0, lbl_804515C0-_SDA_BASE_(r13)
lbl_80312F84:
/* 80312F84 0030FEC4 80 7F 00 20 */ lwz r3, 0x20(r31)
/* 80312F88 0030FEC8 28 03 00 00 */ cmplwi r3, 0
/* 80312F8C 0030FECC 41 82 00 08 */ beq lbl_80312F94
/* 80312F90 0030FED0 4B FF F6 89 */ bl J3DDisplayListObj_NS_callDL
lbl_80312F94:
/* 80312F94 0030FED4 80 7F 00 28 */ lwz r3, 0x28(r31)
/* 80312F98 0030FED8 81 83 00 00 */ lwz r12, 0(r3)
/* 80312F9C 0030FEDC 81 8C 00 08 */ lwz r12, 8(r12)
/* 80312FA0 0030FEE0 7D 89 03 A6 */ mtctr r12
/* 80312FA4 0030FEE4 4E 80 04 21 */ bctrl
lbl_80312FA8:
/* 80312FA8 0030FEE8 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80312FAC 0030FEEC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80312FB0 0030FEF0 7C 08 03 A6 */ mtlr r0
/* 80312FB4 0030FEF4 38 21 00 10 */ addi r1, r1, 0x10
/* 80312FB8 0030FEF8 4E 80 00 20 */ blr
.global J3DShapePacket_NS_drawFast
J3DShapePacket_NS_drawFast:
/* 80312FBC 0030FEFC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80312FC0 0030FF00 7C 08 02 A6 */ mflr r0
/* 80312FC4 0030FF04 90 01 00 14 */ stw r0, 0x14(r1)
/* 80312FC8 0030FF08 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80312FCC 0030FF0C 7C 7F 1B 78 */ mr r31, r3
/* 80312FD0 0030FF10 80 03 00 10 */ lwz r0, 0x10(r3)
/* 80312FD4 0030FF14 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b
/* 80312FD8 0030FF18 40 82 00 58 */ bne lbl_80313030
/* 80312FDC 0030FF1C 80 1F 00 28 */ lwz r0, 0x28(r31)
/* 80312FE0 0030FF20 28 00 00 00 */ cmplwi r0, 0
/* 80312FE4 0030FF24 41 82 00 4C */ beq lbl_80313030
/* 80312FE8 0030FF28 4B FF FE 21 */ bl J3DShapePacket_NS_prepareDraw
/* 80312FEC 0030FF2C 80 1F 00 24 */ lwz r0, 0x24(r31)
/* 80312FF0 0030FF30 28 00 00 00 */ cmplwi r0, 0
/* 80312FF4 0030FF34 41 82 00 20 */ beq lbl_80313014
/* 80312FF8 0030FF38 80 7F 00 28 */ lwz r3, 0x28(r31)
/* 80312FFC 0030FF3C 80 63 00 04 */ lwz r3, 4(r3)
/* 80313000 0030FF40 80 03 00 28 */ lwz r0, 0x28(r3)
/* 80313004 0030FF44 90 0D 90 40 */ stw r0, lbl_804515C0-_SDA_BASE_(r13)
/* 80313008 0030FF48 80 1F 00 24 */ lwz r0, 0x24(r31)
/* 8031300C 0030FF4C 90 0D 90 44 */ stw r0, lbl_804515C4-_SDA_BASE_(r13)
/* 80313010 0030FF50 48 00 00 0C */ b lbl_8031301C
lbl_80313014:
/* 80313014 0030FF54 38 00 00 00 */ li r0, 0
/* 80313018 0030FF58 90 0D 90 40 */ stw r0, lbl_804515C0-_SDA_BASE_(r13)
lbl_8031301C:
/* 8031301C 0030FF5C 80 7F 00 28 */ lwz r3, 0x28(r31)
/* 80313020 0030FF60 81 83 00 00 */ lwz r12, 0(r3)
/* 80313024 0030FF64 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 80313028 0030FF68 7D 89 03 A6 */ mtctr r12
/* 8031302C 0030FF6C 4E 80 04 21 */ bctrl
lbl_80313030:
/* 80313030 0030FF70 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80313034 0030FF74 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80313038 0030FF78 7C 08 03 A6 */ mtlr r0
/* 8031303C 0030FF7C 38 21 00 10 */ addi r1, r1, 0x10
/* 80313040 0030FF80 4E 80 00 20 */ blr
/* 80313044 0030FF84 4E 80 00 20 */ blr
/* 80313048 0030FF88 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8031304C 0030FF8C 7C 08 02 A6 */ mflr r0
/* 80313050 0030FF90 90 01 00 24 */ stw r0, 0x24(r1)
/* 80313054 0030FF94 7C 66 1B 78 */ mr r6, r3
/* 80313058 0030FF98 80 04 00 0C */ lwz r0, 0xc(r4)
/* 8031305C 0030FF9C 1C A0 00 0C */ mulli r5, r0, 0xc
/* 80313060 0030FFA0 3C 60 80 3D */ lis r3, lbl_803CEC30@ha
/* 80313064 0030FFA4 38 03 EC 30 */ addi r0, r3, lbl_803CEC30@l
/* 80313068 0030FFA8 7C A0 2A 14 */ add r5, r0, r5
/* 8031306C 0030FFAC 80 65 00 00 */ lwz r3, 0(r5)
/* 80313070 0030FFB0 80 05 00 04 */ lwz r0, 4(r5)
/* 80313074 0030FFB4 90 61 00 08 */ stw r3, 8(r1)
/* 80313078 0030FFB8 90 01 00 0C */ stw r0, 0xc(r1)
/* 8031307C 0030FFBC 80 05 00 08 */ lwz r0, 8(r5)
/* 80313080 0030FFC0 90 01 00 10 */ stw r0, 0x10(r1)
/* 80313084 0030FFC4 7C 83 23 78 */ mr r3, r4
/* 80313088 0030FFC8 7C C4 33 78 */ mr r4, r6
/* 8031308C 0030FFCC 39 81 00 08 */ addi r12, r1, 8
/* 80313090 0030FFD0 48 04 EF F5 */ bl func_80362084
/* 80313094 0030FFD4 60 00 00 00 */ nop
/* 80313098 0030FFD8 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8031309C 0030FFDC 7C 08 03 A6 */ mtlr r0
/* 803130A0 0030FFE0 38 21 00 20 */ addi r1, r1, 0x20
/* 803130A4 0030FFE4 4E 80 00 20 */ blr

900
asm/J3DGraphBase/J3DShape.s Normal file
View File

@ -0,0 +1,900 @@
.include "macros.inc"
.section .text, "ax" # 80314b48
.global J3DShape_NS_initialize
J3DShape_NS_initialize:
/* 80314B48 00311A88 38 A0 00 00 */ li r5, 0
/* 80314B4C 00311A8C 90 A3 00 04 */ stw r5, 4(r3)
/* 80314B50 00311A90 3C 80 00 01 */ lis r4, 0x0000FFFF@ha
/* 80314B54 00311A94 38 04 FF FF */ addi r0, r4, 0x0000FFFF@l
/* 80314B58 00311A98 B0 03 00 08 */ sth r0, 8(r3)
/* 80314B5C 00311A9C B0 A3 00 0A */ sth r5, 0xa(r3)
/* 80314B60 00311AA0 90 A3 00 0C */ stw r5, 0xc(r3)
/* 80314B64 00311AA4 C0 02 C9 A0 */ lfs f0, lbl_804563A0-_SDA2_BASE_(r2)
/* 80314B68 00311AA8 D0 03 00 10 */ stfs f0, 0x10(r3)
/* 80314B6C 00311AAC D0 03 00 14 */ stfs f0, 0x14(r3)
/* 80314B70 00311AB0 D0 03 00 18 */ stfs f0, 0x18(r3)
/* 80314B74 00311AB4 D0 03 00 1C */ stfs f0, 0x1c(r3)
/* 80314B78 00311AB8 D0 03 00 20 */ stfs f0, 0x20(r3)
/* 80314B7C 00311ABC D0 03 00 24 */ stfs f0, 0x24(r3)
/* 80314B80 00311AC0 D0 03 00 28 */ stfs f0, 0x28(r3)
/* 80314B84 00311AC4 90 A3 00 30 */ stw r5, 0x30(r3)
/* 80314B88 00311AC8 90 A3 00 38 */ stw r5, 0x38(r3)
/* 80314B8C 00311ACC 90 A3 00 3C */ stw r5, 0x3c(r3)
/* 80314B90 00311AD0 90 A3 00 4C */ stw r5, 0x4c(r3)
/* 80314B94 00311AD4 90 A3 00 50 */ stw r5, 0x50(r3)
/* 80314B98 00311AD8 90 A3 00 54 */ stw r5, 0x54(r3)
/* 80314B9C 00311ADC 90 A3 00 58 */ stw r5, 0x58(r3)
/* 80314BA0 00311AE0 90 A3 00 5C */ stw r5, 0x5c(r3)
/* 80314BA4 00311AE4 38 0D 90 18 */ addi r0, r13, lbl_80451598-_SDA_BASE_
/* 80314BA8 00311AE8 90 03 00 60 */ stw r0, 0x60(r3)
/* 80314BAC 00311AEC 98 A3 00 34 */ stb r5, 0x34(r3)
/* 80314BB0 00311AF0 98 A3 00 48 */ stb r5, 0x48(r3)
/* 80314BB4 00311AF4 4E 80 00 20 */ blr
.global J3DShape_NS_addTexMtxIndexInDL
J3DShape_NS_addTexMtxIndexInDL:
/* 80314BB8 00311AF8 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 80314BBC 00311AFC 7C 08 02 A6 */ mflr r0
/* 80314BC0 00311B00 90 01 00 34 */ stw r0, 0x34(r1)
/* 80314BC4 00311B04 39 61 00 30 */ addi r11, r1, 0x30
/* 80314BC8 00311B08 48 04 D6 0D */ bl func_803621D4
/* 80314BCC 00311B0C 7C 7F 1B 78 */ mr r31, r3
/* 80314BD0 00311B10 3C 60 80 3A */ lis r3, lbl_803A1E98@ha
/* 80314BD4 00311B14 38 C3 1E 98 */ addi r6, r3, lbl_803A1E98@l
/* 80314BD8 00311B18 80 66 00 00 */ lwz r3, 0(r6)
/* 80314BDC 00311B1C 80 06 00 04 */ lwz r0, 4(r6)
/* 80314BE0 00311B20 90 61 00 08 */ stw r3, 8(r1)
/* 80314BE4 00311B24 90 01 00 0C */ stw r0, 0xc(r1)
/* 80314BE8 00311B28 80 66 00 08 */ lwz r3, 8(r6)
/* 80314BEC 00311B2C 80 06 00 0C */ lwz r0, 0xc(r6)
/* 80314BF0 00311B30 90 61 00 10 */ stw r3, 0x10(r1)
/* 80314BF4 00311B34 90 01 00 14 */ stw r0, 0x14(r1)
/* 80314BF8 00311B38 38 C0 FF FF */ li r6, -1
/* 80314BFC 00311B3C 38 E0 FF FF */ li r7, -1
/* 80314C00 00311B40 39 00 00 00 */ li r8, 0
/* 80314C04 00311B44 39 20 00 00 */ li r9, 0
/* 80314C08 00311B48 81 5F 00 30 */ lwz r10, 0x30(r31)
/* 80314C0C 00311B4C 38 61 00 08 */ addi r3, r1, 8
/* 80314C10 00311B50 48 00 00 3C */ b lbl_80314C4C
lbl_80314C14:
/* 80314C14 00311B54 2C 00 00 00 */ cmpwi r0, 0
/* 80314C18 00311B58 40 82 00 08 */ bne lbl_80314C20
/* 80314C1C 00311B5C 7D 06 43 78 */ mr r6, r8
lbl_80314C20:
/* 80314C20 00311B60 7C 04 00 00 */ cmpw r4, r0
/* 80314C24 00311B64 40 80 00 14 */ bge lbl_80314C38
/* 80314C28 00311B68 55 20 06 3F */ clrlwi. r0, r9, 0x18
/* 80314C2C 00311B6C 40 82 00 0C */ bne lbl_80314C38
/* 80314C30 00311B70 7D 07 43 78 */ mr r7, r8
/* 80314C34 00311B74 39 20 00 01 */ li r9, 1
lbl_80314C38:
/* 80314C38 00311B78 80 0A 00 04 */ lwz r0, 4(r10)
/* 80314C3C 00311B7C 54 00 10 3A */ slwi r0, r0, 2
/* 80314C40 00311B80 7C 03 00 2E */ lwzx r0, r3, r0
/* 80314C44 00311B84 7D 08 02 14 */ add r8, r8, r0
/* 80314C48 00311B88 39 4A 00 08 */ addi r10, r10, 8
lbl_80314C4C:
/* 80314C4C 00311B8C 80 0A 00 00 */ lwz r0, 0(r10)
/* 80314C50 00311B90 2C 00 00 FF */ cmpwi r0, 0xff
/* 80314C54 00311B94 40 82 FF C0 */ bne lbl_80314C14
/* 80314C58 00311B98 2C 06 FF FF */ cmpwi r6, -1
/* 80314C5C 00311B9C 41 82 00 48 */ beq lbl_80314CA4
/* 80314C60 00311BA0 3B 60 00 00 */ li r27, 0
/* 80314C64 00311BA4 7C BE 2B 78 */ mr r30, r5
/* 80314C68 00311BA8 7C FD 3B 78 */ mr r29, r7
/* 80314C6C 00311BAC 7D 1C 43 78 */ mr r28, r8
/* 80314C70 00311BB0 48 00 00 24 */ b lbl_80314C94
lbl_80314C74:
/* 80314C74 00311BB4 80 7F 00 3C */ lwz r3, 0x3c(r31)
/* 80314C78 00311BB8 57 60 13 BA */ rlwinm r0, r27, 2, 0xe, 0x1d
/* 80314C7C 00311BBC 7C 63 00 2E */ lwzx r3, r3, r0
/* 80314C80 00311BC0 7F 84 E3 78 */ mr r4, r28
/* 80314C84 00311BC4 7F A5 EB 78 */ mr r5, r29
/* 80314C88 00311BC8 7F C6 F3 78 */ mr r6, r30
/* 80314C8C 00311BCC 4B FF FC E9 */ bl J3DShapeDraw_NS_addTexMtxIndexInDL
/* 80314C90 00311BD0 3B 7B 00 01 */ addi r27, r27, 1
lbl_80314C94:
/* 80314C94 00311BD4 57 63 04 3E */ clrlwi r3, r27, 0x10
/* 80314C98 00311BD8 A0 1F 00 0A */ lhz r0, 0xa(r31)
/* 80314C9C 00311BDC 7C 03 00 40 */ cmplw r3, r0
/* 80314CA0 00311BE0 41 80 FF D4 */ blt lbl_80314C74
lbl_80314CA4:
/* 80314CA4 00311BE4 39 61 00 30 */ addi r11, r1, 0x30
/* 80314CA8 00311BE8 48 04 D5 79 */ bl func_80362220
/* 80314CAC 00311BEC 80 01 00 34 */ lwz r0, 0x34(r1)
/* 80314CB0 00311BF0 7C 08 03 A6 */ mtlr r0
/* 80314CB4 00311BF4 38 21 00 30 */ addi r1, r1, 0x30
/* 80314CB8 00311BF8 4E 80 00 20 */ blr
.global J3DShape_NS_addTexMtxIndexInVcd
J3DShape_NS_addTexMtxIndexInVcd:
/* 80314CBC 00311BFC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80314CC0 00311C00 7C 08 02 A6 */ mflr r0
/* 80314CC4 00311C04 90 01 00 14 */ stw r0, 0x14(r1)
/* 80314CC8 00311C08 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80314CCC 00311C0C 93 C1 00 08 */ stw r30, 8(r1)
/* 80314CD0 00311C10 7C 7F 1B 78 */ mr r31, r3
/* 80314CD4 00311C14 7C 9E 23 78 */ mr r30, r4
/* 80314CD8 00311C18 38 60 FF FF */ li r3, -1
/* 80314CDC 00311C1C 80 9F 00 30 */ lwz r4, 0x30(r31)
/* 80314CE0 00311C20 38 A0 00 00 */ li r5, 0
/* 80314CE4 00311C24 48 00 00 18 */ b lbl_80314CFC
lbl_80314CE8:
/* 80314CE8 00311C28 2C 00 00 00 */ cmpwi r0, 0
/* 80314CEC 00311C2C 40 82 00 08 */ bne lbl_80314CF4
/* 80314CF0 00311C30 38 60 00 00 */ li r3, 0
lbl_80314CF4:
/* 80314CF4 00311C34 38 A5 00 01 */ addi r5, r5, 1
/* 80314CF8 00311C38 38 84 00 08 */ addi r4, r4, 8
lbl_80314CFC:
/* 80314CFC 00311C3C 80 04 00 00 */ lwz r0, 0(r4)
/* 80314D00 00311C40 2C 00 00 FF */ cmpwi r0, 0xff
/* 80314D04 00311C44 40 82 FF E4 */ bne lbl_80314CE8
/* 80314D08 00311C48 2C 03 FF FF */ cmpwi r3, -1
/* 80314D0C 00311C4C 41 82 00 84 */ beq lbl_80314D90
/* 80314D10 00311C50 38 05 00 02 */ addi r0, r5, 2
/* 80314D14 00311C54 54 03 18 38 */ slwi r3, r0, 3
/* 80314D18 00311C58 4B FB 9F AD */ bl __nwa
/* 80314D1C 00311C5C 38 C0 00 00 */ li r6, 0
/* 80314D20 00311C60 80 BF 00 30 */ lwz r5, 0x30(r31)
/* 80314D24 00311C64 7C 67 1B 78 */ mr r7, r3
/* 80314D28 00311C68 38 80 00 01 */ li r4, 1
/* 80314D2C 00311C6C 48 00 00 3C */ b lbl_80314D68
lbl_80314D30:
/* 80314D30 00311C70 7C 1E 00 00 */ cmpw r30, r0
/* 80314D34 00311C74 40 80 00 1C */ bge lbl_80314D50
/* 80314D38 00311C78 54 C0 06 3F */ clrlwi. r0, r6, 0x18
/* 80314D3C 00311C7C 40 82 00 14 */ bne lbl_80314D50
/* 80314D40 00311C80 93 C7 00 00 */ stw r30, 0(r7)
/* 80314D44 00311C84 90 87 00 04 */ stw r4, 4(r7)
/* 80314D48 00311C88 38 C0 00 01 */ li r6, 1
/* 80314D4C 00311C8C 38 E7 00 08 */ addi r7, r7, 8
lbl_80314D50:
/* 80314D50 00311C90 80 05 00 00 */ lwz r0, 0(r5)
/* 80314D54 00311C94 90 07 00 00 */ stw r0, 0(r7)
/* 80314D58 00311C98 80 05 00 04 */ lwz r0, 4(r5)
/* 80314D5C 00311C9C 90 07 00 04 */ stw r0, 4(r7)
/* 80314D60 00311CA0 38 E7 00 08 */ addi r7, r7, 8
/* 80314D64 00311CA4 38 A5 00 08 */ addi r5, r5, 8
lbl_80314D68:
/* 80314D68 00311CA8 80 05 00 00 */ lwz r0, 0(r5)
/* 80314D6C 00311CAC 2C 00 00 FF */ cmpwi r0, 0xff
/* 80314D70 00311CB0 40 82 FF C0 */ bne lbl_80314D30
/* 80314D74 00311CB4 38 00 00 FF */ li r0, 0xff
/* 80314D78 00311CB8 90 07 00 00 */ stw r0, 0(r7)
/* 80314D7C 00311CBC 38 00 00 00 */ li r0, 0
/* 80314D80 00311CC0 90 07 00 04 */ stw r0, 4(r7)
/* 80314D84 00311CC4 90 7F 00 30 */ stw r3, 0x30(r31)
/* 80314D88 00311CC8 7F E3 FB 78 */ mr r3, r31
/* 80314D8C 00311CCC 48 00 04 D5 */ bl J3DShape_NS_makeVcdVatCmd
lbl_80314D90:
/* 80314D90 00311CD0 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80314D94 00311CD4 83 C1 00 08 */ lwz r30, 8(r1)
/* 80314D98 00311CD8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80314D9C 00311CDC 7C 08 03 A6 */ mtlr r0
/* 80314DA0 00311CE0 38 21 00 10 */ addi r1, r1, 0x10
/* 80314DA4 00311CE4 4E 80 00 20 */ blr
.global J3DShape_NS_calcNBTScale
J3DShape_NS_calcNBTScale:
/* 80314DA8 00311CE8 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80314DAC 00311CEC 7C 08 02 A6 */ mflr r0
/* 80314DB0 00311CF0 90 01 00 24 */ stw r0, 0x24(r1)
/* 80314DB4 00311CF4 39 61 00 20 */ addi r11, r1, 0x20
/* 80314DB8 00311CF8 48 04 D4 1D */ bl func_803621D4
/* 80314DBC 00311CFC 7C 7B 1B 78 */ mr r27, r3
/* 80314DC0 00311D00 7C 9C 23 78 */ mr r28, r4
/* 80314DC4 00311D04 7C BD 2B 78 */ mr r29, r5
/* 80314DC8 00311D08 7C DE 33 78 */ mr r30, r6
/* 80314DCC 00311D0C 3B E0 00 00 */ li r31, 0
/* 80314DD0 00311D10 48 00 00 30 */ b lbl_80314E00
lbl_80314DD4:
/* 80314DD4 00311D14 80 7B 00 38 */ lwz r3, 0x38(r27)
/* 80314DD8 00311D18 57 E0 13 BA */ rlwinm r0, r31, 2, 0xe, 0x1d
/* 80314DDC 00311D1C 7C 63 00 2E */ lwzx r3, r3, r0
/* 80314DE0 00311D20 7F 84 E3 78 */ mr r4, r28
/* 80314DE4 00311D24 7F A5 EB 78 */ mr r5, r29
/* 80314DE8 00311D28 7F C6 F3 78 */ mr r6, r30
/* 80314DEC 00311D2C 81 83 00 00 */ lwz r12, 0(r3)
/* 80314DF0 00311D30 81 8C 00 1C */ lwz r12, 0x1c(r12)
/* 80314DF4 00311D34 7D 89 03 A6 */ mtctr r12
/* 80314DF8 00311D38 4E 80 04 21 */ bctrl
/* 80314DFC 00311D3C 3B FF 00 01 */ addi r31, r31, 1
lbl_80314E00:
/* 80314E00 00311D40 57 E3 04 3E */ clrlwi r3, r31, 0x10
/* 80314E04 00311D44 A0 1B 00 0A */ lhz r0, 0xa(r27)
/* 80314E08 00311D48 7C 03 00 40 */ cmplw r3, r0
/* 80314E0C 00311D4C 41 80 FF C8 */ blt lbl_80314DD4
/* 80314E10 00311D50 39 61 00 20 */ addi r11, r1, 0x20
/* 80314E14 00311D54 48 04 D4 0D */ bl func_80362220
/* 80314E18 00311D58 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80314E1C 00311D5C 7C 08 03 A6 */ mtlr r0
/* 80314E20 00311D60 38 21 00 20 */ addi r1, r1, 0x20
/* 80314E24 00311D64 4E 80 00 20 */ blr
.global J3DShape_NS_countBumpMtxNum
J3DShape_NS_countBumpMtxNum:
/* 80314E28 00311D68 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80314E2C 00311D6C 7C 08 02 A6 */ mflr r0
/* 80314E30 00311D70 90 01 00 24 */ stw r0, 0x24(r1)
/* 80314E34 00311D74 39 61 00 20 */ addi r11, r1, 0x20
/* 80314E38 00311D78 48 04 D3 A1 */ bl func_803621D8
/* 80314E3C 00311D7C 3B A0 00 00 */ li r29, 0
/* 80314E40 00311D80 3B 80 00 00 */ li r28, 0
/* 80314E44 00311D84 83 C3 00 38 */ lwz r30, 0x38(r3)
/* 80314E48 00311D88 A3 E3 00 0A */ lhz r31, 0xa(r3)
/* 80314E4C 00311D8C 48 00 00 24 */ b lbl_80314E70
lbl_80314E50:
/* 80314E50 00311D90 57 80 13 BA */ rlwinm r0, r28, 2, 0xe, 0x1d
/* 80314E54 00311D94 7C 7E 00 2E */ lwzx r3, r30, r0
/* 80314E58 00311D98 81 83 00 00 */ lwz r12, 0(r3)
/* 80314E5C 00311D9C 81 8C 00 10 */ lwz r12, 0x10(r12)
/* 80314E60 00311DA0 7D 89 03 A6 */ mtctr r12
/* 80314E64 00311DA4 4E 80 04 21 */ bctrl
/* 80314E68 00311DA8 7F BD 1A 14 */ add r29, r29, r3
/* 80314E6C 00311DAC 3B 9C 00 01 */ addi r28, r28, 1
lbl_80314E70:
/* 80314E70 00311DB0 57 80 04 3E */ clrlwi r0, r28, 0x10
/* 80314E74 00311DB4 7C 00 F8 40 */ cmplw r0, r31
/* 80314E78 00311DB8 41 80 FF D8 */ blt lbl_80314E50
/* 80314E7C 00311DBC 7F A3 EB 78 */ mr r3, r29
/* 80314E80 00311DC0 39 61 00 20 */ addi r11, r1, 0x20
/* 80314E84 00311DC4 48 04 D3 A1 */ bl func_80362224
/* 80314E88 00311DC8 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80314E8C 00311DCC 7C 08 03 A6 */ mtlr r0
/* 80314E90 00311DD0 38 21 00 20 */ addi r1, r1, 0x20
/* 80314E94 00311DD4 4E 80 00 20 */ blr
.global J3DLoadCPCmd
J3DLoadCPCmd:
/* 80314E98 00311DD8 38 00 00 08 */ li r0, 8
/* 80314E9C 00311DDC 3C A0 CC 01 */ lis r5, 0xCC008000@ha
/* 80314EA0 00311DE0 98 05 80 00 */ stb r0, 0xCC008000@l(r5)
/* 80314EA4 00311DE4 98 65 80 00 */ stb r3, -0x8000(r5)
/* 80314EA8 00311DE8 90 85 80 00 */ stw r4, -0x8000(r5)
/* 80314EAC 00311DEC 4E 80 00 20 */ blr
.global J3DLoadArrayBasePtr
J3DLoadArrayBasePtr:
/* 80314EB0 00311DF0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80314EB4 00311DF4 7C 08 02 A6 */ mflr r0
/* 80314EB8 00311DF8 90 01 00 14 */ stw r0, 0x14(r1)
/* 80314EBC 00311DFC 2C 03 00 19 */ cmpwi r3, 0x19
/* 80314EC0 00311E00 38 A0 00 01 */ li r5, 1
/* 80314EC4 00311E04 41 82 00 08 */ beq lbl_80314ECC
/* 80314EC8 00311E08 38 A3 FF F7 */ addi r5, r3, -9
lbl_80314ECC:
/* 80314ECC 00311E0C 38 05 00 A0 */ addi r0, r5, 0xa0
/* 80314ED0 00311E10 54 03 06 3E */ clrlwi r3, r0, 0x18
/* 80314ED4 00311E14 54 84 00 7E */ clrlwi r4, r4, 1
/* 80314ED8 00311E18 4B FF FF C1 */ bl J3DLoadCPCmd
/* 80314EDC 00311E1C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80314EE0 00311E20 7C 08 03 A6 */ mtlr r0
/* 80314EE4 00311E24 38 21 00 10 */ addi r1, r1, 0x10
/* 80314EE8 00311E28 4E 80 00 20 */ blr
.global J3DShape_NS_loadVtxArray
J3DShape_NS_loadVtxArray:
/* 80314EEC 00311E2C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80314EF0 00311E30 7C 08 02 A6 */ mflr r0
/* 80314EF4 00311E34 90 01 00 14 */ stw r0, 0x14(r1)
/* 80314EF8 00311E38 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80314EFC 00311E3C 7C 7F 1B 78 */ mr r31, r3
/* 80314F00 00311E40 38 60 00 09 */ li r3, 9
/* 80314F04 00311E44 3C 80 80 43 */ lis r4, lbl_80434AC8@ha
/* 80314F08 00311E48 38 84 4A C8 */ addi r4, r4, lbl_80434AC8@l
/* 80314F0C 00311E4C 80 84 01 0C */ lwz r4, 0x10c(r4)
/* 80314F10 00311E50 4B FF FF A1 */ bl J3DLoadArrayBasePtr
/* 80314F14 00311E54 88 1F 00 34 */ lbz r0, 0x34(r31)
/* 80314F18 00311E58 28 00 00 00 */ cmplwi r0, 0
/* 80314F1C 00311E5C 40 82 00 18 */ bne lbl_80314F34
/* 80314F20 00311E60 38 60 00 0A */ li r3, 0xa
/* 80314F24 00311E64 3C 80 80 43 */ lis r4, lbl_80434AC8@ha
/* 80314F28 00311E68 38 84 4A C8 */ addi r4, r4, lbl_80434AC8@l
/* 80314F2C 00311E6C 80 84 01 10 */ lwz r4, 0x110(r4)
/* 80314F30 00311E70 4B FF FF 81 */ bl J3DLoadArrayBasePtr
lbl_80314F34:
/* 80314F34 00311E74 38 60 00 0B */ li r3, 0xb
/* 80314F38 00311E78 3C 80 80 43 */ lis r4, lbl_80434AC8@ha
/* 80314F3C 00311E7C 38 84 4A C8 */ addi r4, r4, lbl_80434AC8@l
/* 80314F40 00311E80 80 84 01 14 */ lwz r4, 0x114(r4)
/* 80314F44 00311E84 4B FF FF 6D */ bl J3DLoadArrayBasePtr
/* 80314F48 00311E88 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80314F4C 00311E8C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80314F50 00311E90 7C 08 03 A6 */ mtlr r0
/* 80314F54 00311E94 38 21 00 10 */ addi r1, r1, 0x10
/* 80314F58 00311E98 4E 80 00 20 */ blr
.global J3DShape_NS_isSameVcdVatCmd
J3DShape_NS_isSameVcdVatCmd:
/* 80314F5C 00311E9C 80 84 00 2C */ lwz r4, 0x2c(r4)
/* 80314F60 00311EA0 80 63 00 2C */ lwz r3, 0x2c(r3)
/* 80314F64 00311EA4 38 00 00 C0 */ li r0, 0xc0
/* 80314F68 00311EA8 7C 09 03 A6 */ mtctr r0
lbl_80314F6C:
/* 80314F6C 00311EAC 88 A4 00 00 */ lbz r5, 0(r4)
/* 80314F70 00311EB0 88 03 00 00 */ lbz r0, 0(r3)
/* 80314F74 00311EB4 7C 05 00 40 */ cmplw r5, r0
/* 80314F78 00311EB8 41 82 00 0C */ beq lbl_80314F84
/* 80314F7C 00311EBC 38 60 00 00 */ li r3, 0
/* 80314F80 00311EC0 4E 80 00 20 */ blr
lbl_80314F84:
/* 80314F84 00311EC4 38 63 00 01 */ addi r3, r3, 1
/* 80314F88 00311EC8 38 84 00 01 */ addi r4, r4, 1
/* 80314F8C 00311ECC 42 00 FF E0 */ bdnz lbl_80314F6C
/* 80314F90 00311ED0 38 60 00 01 */ li r3, 1
/* 80314F94 00311ED4 4E 80 00 20 */ blr
.global J3DShape_NS_makeVtxArrayCmd
J3DShape_NS_makeVtxArrayCmd:
/* 80314F98 00311ED8 94 21 FF A0 */ stwu r1, -0x60(r1)
/* 80314F9C 00311EDC 7C 08 02 A6 */ mflr r0
/* 80314FA0 00311EE0 90 01 00 64 */ stw r0, 0x64(r1)
/* 80314FA4 00311EE4 39 61 00 60 */ addi r11, r1, 0x60
/* 80314FA8 00311EE8 48 04 D2 2D */ bl func_803621D4
/* 80314FAC 00311EEC 80 83 00 4C */ lwz r4, 0x4c(r3)
/* 80314FB0 00311EF0 80 84 00 14 */ lwz r4, 0x14(r4)
/* 80314FB4 00311EF4 38 A0 00 00 */ li r5, 0
/* 80314FB8 00311EF8 39 00 00 00 */ li r8, 0
/* 80314FBC 00311EFC 38 E1 00 14 */ addi r7, r1, 0x14
/* 80314FC0 00311F00 38 C1 00 08 */ addi r6, r1, 8
/* 80314FC4 00311F04 38 00 00 0C */ li r0, 0xc
/* 80314FC8 00311F08 7C 09 03 A6 */ mtctr r0
lbl_80314FCC:
/* 80314FCC 00311F0C 99 06 00 00 */ stb r8, 0(r6)
/* 80314FD0 00311F10 7D 07 29 2E */ stwx r8, r7, r5
/* 80314FD4 00311F14 38 A5 00 04 */ addi r5, r5, 4
/* 80314FD8 00311F18 38 C6 00 01 */ addi r6, r6, 1
/* 80314FDC 00311F1C 42 00 FF F0 */ bdnz lbl_80314FCC
/* 80314FE0 00311F20 48 00 01 90 */ b lbl_80315170
lbl_80314FE4:
/* 80314FE4 00311F24 2C 07 00 0A */ cmpwi r7, 0xa
/* 80314FE8 00311F28 41 82 00 8C */ beq lbl_80315074
/* 80314FEC 00311F2C 40 80 00 10 */ bge lbl_80314FFC
/* 80314FF0 00311F30 2C 07 00 09 */ cmpwi r7, 9
/* 80314FF4 00311F34 40 80 00 1C */ bge lbl_80315010
/* 80314FF8 00311F38 48 00 01 74 */ b lbl_8031516C
lbl_80314FFC:
/* 80314FFC 00311F3C 2C 07 00 15 */ cmpwi r7, 0x15
/* 80315000 00311F40 40 80 01 6C */ bge lbl_8031516C
/* 80315004 00311F44 2C 07 00 0D */ cmpwi r7, 0xd
/* 80315008 00311F48 40 80 01 0C */ bge lbl_80315114
/* 8031500C 00311F4C 48 00 00 CC */ b lbl_803150D8
lbl_80315010:
/* 80315010 00311F50 80 04 00 08 */ lwz r0, 8(r4)
/* 80315014 00311F54 2C 00 00 04 */ cmpwi r0, 4
/* 80315018 00311F58 40 82 00 18 */ bne lbl_80315030
/* 8031501C 00311F5C 38 C0 00 0C */ li r6, 0xc
/* 80315020 00311F60 38 A1 00 08 */ addi r5, r1, 8
/* 80315024 00311F64 38 07 FF F7 */ addi r0, r7, -9
/* 80315028 00311F68 7C C5 01 AE */ stbx r6, r5, r0
/* 8031502C 00311F6C 48 00 00 14 */ b lbl_80315040
lbl_80315030:
/* 80315030 00311F70 38 C0 00 06 */ li r6, 6
/* 80315034 00311F74 38 A1 00 08 */ addi r5, r1, 8
/* 80315038 00311F78 38 07 FF F7 */ addi r0, r7, -9
/* 8031503C 00311F7C 7C C5 01 AE */ stbx r6, r5, r0
lbl_80315040:
/* 80315040 00311F80 80 E3 00 4C */ lwz r7, 0x4c(r3)
/* 80315044 00311F84 81 07 00 18 */ lwz r8, 0x18(r7)
/* 80315048 00311F88 80 04 00 00 */ lwz r0, 0(r4)
/* 8031504C 00311F8C 54 06 10 3A */ slwi r6, r0, 2
/* 80315050 00311F90 38 A1 00 14 */ addi r5, r1, 0x14
/* 80315054 00311F94 38 06 FF DC */ addi r0, r6, -36
/* 80315058 00311F98 7D 05 01 2E */ stwx r8, r5, r0
/* 8031505C 00311F9C 88 04 00 0C */ lbz r0, 0xc(r4)
/* 80315060 00311FA0 98 07 00 4C */ stb r0, 0x4c(r7)
/* 80315064 00311FA4 80 04 00 08 */ lwz r0, 8(r4)
/* 80315068 00311FA8 80 A3 00 4C */ lwz r5, 0x4c(r3)
/* 8031506C 00311FAC 90 05 00 50 */ stw r0, 0x50(r5)
/* 80315070 00311FB0 48 00 00 FC */ b lbl_8031516C
lbl_80315074:
/* 80315074 00311FB4 80 04 00 08 */ lwz r0, 8(r4)
/* 80315078 00311FB8 2C 00 00 04 */ cmpwi r0, 4
/* 8031507C 00311FBC 40 82 00 18 */ bne lbl_80315094
/* 80315080 00311FC0 38 C0 00 0C */ li r6, 0xc
/* 80315084 00311FC4 38 A1 00 08 */ addi r5, r1, 8
/* 80315088 00311FC8 38 07 FF F7 */ addi r0, r7, -9
/* 8031508C 00311FCC 7C C5 01 AE */ stbx r6, r5, r0
/* 80315090 00311FD0 48 00 00 14 */ b lbl_803150A4
lbl_80315094:
/* 80315094 00311FD4 38 C0 00 06 */ li r6, 6
/* 80315098 00311FD8 38 A1 00 08 */ addi r5, r1, 8
/* 8031509C 00311FDC 38 07 FF F7 */ addi r0, r7, -9
/* 803150A0 00311FE0 7C C5 01 AE */ stbx r6, r5, r0
lbl_803150A4:
/* 803150A4 00311FE4 80 E3 00 4C */ lwz r7, 0x4c(r3)
/* 803150A8 00311FE8 81 07 00 1C */ lwz r8, 0x1c(r7)
/* 803150AC 00311FEC 80 04 00 00 */ lwz r0, 0(r4)
/* 803150B0 00311FF0 54 06 10 3A */ slwi r6, r0, 2
/* 803150B4 00311FF4 38 A1 00 14 */ addi r5, r1, 0x14
/* 803150B8 00311FF8 38 06 FF DC */ addi r0, r6, -36
/* 803150BC 00311FFC 7D 05 01 2E */ stwx r8, r5, r0
/* 803150C0 00312000 88 04 00 0C */ lbz r0, 0xc(r4)
/* 803150C4 00312004 98 07 00 54 */ stb r0, 0x54(r7)
/* 803150C8 00312008 80 04 00 08 */ lwz r0, 8(r4)
/* 803150CC 0031200C 80 A3 00 4C */ lwz r5, 0x4c(r3)
/* 803150D0 00312010 90 05 00 58 */ stw r0, 0x58(r5)
/* 803150D4 00312014 48 00 00 98 */ b lbl_8031516C
lbl_803150D8:
/* 803150D8 00312018 38 C0 00 04 */ li r6, 4
/* 803150DC 0031201C 38 A1 00 08 */ addi r5, r1, 8
/* 803150E0 00312020 38 07 FF F7 */ addi r0, r7, -9
/* 803150E4 00312024 7C C5 01 AE */ stbx r6, r5, r0
/* 803150E8 00312028 80 C3 00 4C */ lwz r6, 0x4c(r3)
/* 803150EC 0031202C 81 04 00 00 */ lwz r8, 0(r4)
/* 803150F0 00312030 38 08 FF F5 */ addi r0, r8, -11
/* 803150F4 00312034 54 05 15 BA */ rlwinm r5, r0, 2, 0x16, 0x1d
/* 803150F8 00312038 38 05 00 24 */ addi r0, r5, 0x24
/* 803150FC 0031203C 7C E6 00 2E */ lwzx r7, r6, r0
/* 80315100 00312040 55 06 10 3A */ slwi r6, r8, 2
/* 80315104 00312044 38 A1 00 14 */ addi r5, r1, 0x14
/* 80315108 00312048 38 06 FF DC */ addi r0, r6, -36
/* 8031510C 0031204C 7C E5 01 2E */ stwx r7, r5, r0
/* 80315110 00312050 48 00 00 5C */ b lbl_8031516C
lbl_80315114:
/* 80315114 00312054 80 04 00 08 */ lwz r0, 8(r4)
/* 80315118 00312058 2C 00 00 04 */ cmpwi r0, 4
/* 8031511C 0031205C 40 82 00 18 */ bne lbl_80315134
/* 80315120 00312060 38 C0 00 08 */ li r6, 8
/* 80315124 00312064 38 A1 00 08 */ addi r5, r1, 8
/* 80315128 00312068 38 07 FF F7 */ addi r0, r7, -9
/* 8031512C 0031206C 7C C5 01 AE */ stbx r6, r5, r0
/* 80315130 00312070 48 00 00 14 */ b lbl_80315144
lbl_80315134:
/* 80315134 00312074 38 C0 00 04 */ li r6, 4
/* 80315138 00312078 38 A1 00 08 */ addi r5, r1, 8
/* 8031513C 0031207C 38 07 FF F7 */ addi r0, r7, -9
/* 80315140 00312080 7C C5 01 AE */ stbx r6, r5, r0
lbl_80315144:
/* 80315144 00312084 80 C3 00 4C */ lwz r6, 0x4c(r3)
/* 80315148 00312088 81 04 00 00 */ lwz r8, 0(r4)
/* 8031514C 0031208C 38 08 FF F3 */ addi r0, r8, -13
/* 80315150 00312090 54 05 15 BA */ rlwinm r5, r0, 2, 0x16, 0x1d
/* 80315154 00312094 38 05 00 2C */ addi r0, r5, 0x2c
/* 80315158 00312098 7C E6 00 2E */ lwzx r7, r6, r0
/* 8031515C 0031209C 55 06 10 3A */ slwi r6, r8, 2
/* 80315160 003120A0 38 A1 00 14 */ addi r5, r1, 0x14
/* 80315164 003120A4 38 06 FF DC */ addi r0, r6, -36
/* 80315168 003120A8 7C E5 01 2E */ stwx r7, r5, r0
lbl_8031516C:
/* 8031516C 003120AC 38 84 00 10 */ addi r4, r4, 0x10
lbl_80315170:
/* 80315170 003120B0 80 E4 00 00 */ lwz r7, 0(r4)
/* 80315174 003120B4 2C 07 00 FF */ cmpwi r7, 0xff
/* 80315178 003120B8 40 82 FE 6C */ bne lbl_80314FE4
/* 8031517C 003120BC 80 A3 00 30 */ lwz r5, 0x30(r3)
/* 80315180 003120C0 38 00 00 00 */ li r0, 0
/* 80315184 003120C4 98 03 00 48 */ stb r0, 0x48(r3)
/* 80315188 003120C8 48 00 00 5C */ b lbl_803151E4
lbl_8031518C:
/* 8031518C 003120CC 2C 04 00 19 */ cmpwi r4, 0x19
/* 80315190 003120D0 40 82 00 34 */ bne lbl_803151C4
/* 80315194 003120D4 80 05 00 04 */ lwz r0, 4(r5)
/* 80315198 003120D8 2C 00 00 00 */ cmpwi r0, 0
/* 8031519C 003120DC 41 82 00 28 */ beq lbl_803151C4
/* 803151A0 003120E0 38 00 00 01 */ li r0, 1
/* 803151A4 003120E4 98 03 00 34 */ stb r0, 0x34(r3)
/* 803151A8 003120E8 88 01 00 09 */ lbz r0, 9(r1)
/* 803151AC 003120EC 1C 00 00 03 */ mulli r0, r0, 3
/* 803151B0 003120F0 98 01 00 09 */ stb r0, 9(r1)
/* 803151B4 003120F4 80 83 00 4C */ lwz r4, 0x4c(r3)
/* 803151B8 003120F8 80 04 00 20 */ lwz r0, 0x20(r4)
/* 803151BC 003120FC 90 01 00 18 */ stw r0, 0x18(r1)
/* 803151C0 00312100 48 00 00 20 */ b lbl_803151E0
lbl_803151C4:
/* 803151C4 00312104 2C 04 00 00 */ cmpwi r4, 0
/* 803151C8 00312108 40 82 00 18 */ bne lbl_803151E0
/* 803151CC 0031210C 80 05 00 04 */ lwz r0, 4(r5)
/* 803151D0 00312110 2C 00 00 00 */ cmpwi r0, 0
/* 803151D4 00312114 41 82 00 0C */ beq lbl_803151E0
/* 803151D8 00312118 38 00 00 01 */ li r0, 1
/* 803151DC 0031211C 98 03 00 48 */ stb r0, 0x48(r3)
lbl_803151E0:
/* 803151E0 00312120 38 A5 00 08 */ addi r5, r5, 8
lbl_803151E4:
/* 803151E4 00312124 80 85 00 00 */ lwz r4, 0(r5)
/* 803151E8 00312128 2C 04 00 FF */ cmpwi r4, 0xff
/* 803151EC 0031212C 40 82 FF A0 */ bne lbl_8031518C
/* 803151F0 00312130 3B 60 00 00 */ li r27, 0
/* 803151F4 00312134 3B A0 00 00 */ li r29, 0
/* 803151F8 00312138 3B 81 00 14 */ addi r28, r1, 0x14
/* 803151FC 0031213C 3B C1 00 08 */ addi r30, r1, 8
/* 80315200 00312140 7F DF F3 78 */ mr r31, r30
lbl_80315204:
/* 80315204 00312144 7C 9C E8 2E */ lwzx r4, r28, r29
/* 80315208 00312148 28 04 00 00 */ cmplwi r4, 0
/* 8031520C 0031214C 41 82 00 14 */ beq lbl_80315220
/* 80315210 00312150 38 7B 00 09 */ addi r3, r27, 9
/* 80315214 00312154 88 BE 00 00 */ lbz r5, 0(r30)
/* 80315218 00312158 48 04 C4 E9 */ bl GDSetArray
/* 8031521C 0031215C 48 00 00 14 */ b lbl_80315230
lbl_80315220:
/* 80315220 00312160 38 7B 00 09 */ addi r3, r27, 9
/* 80315224 00312164 38 80 00 00 */ li r4, 0
/* 80315228 00312168 88 BF 00 00 */ lbz r5, 0(r31)
/* 8031522C 0031216C 48 04 C6 E1 */ bl GDSetArrayRaw
lbl_80315230:
/* 80315230 00312170 3B 7B 00 01 */ addi r27, r27, 1
/* 80315234 00312174 28 1B 00 0C */ cmplwi r27, 0xc
/* 80315238 00312178 3B FF 00 01 */ addi r31, r31, 1
/* 8031523C 0031217C 3B DE 00 01 */ addi r30, r30, 1
/* 80315240 00312180 3B BD 00 04 */ addi r29, r29, 4
/* 80315244 00312184 41 80 FF C0 */ blt lbl_80315204
/* 80315248 00312188 39 61 00 60 */ addi r11, r1, 0x60
/* 8031524C 0031218C 48 04 CF D5 */ bl func_80362220
/* 80315250 00312190 80 01 00 64 */ lwz r0, 0x64(r1)
/* 80315254 00312194 7C 08 03 A6 */ mtlr r0
/* 80315258 00312198 38 21 00 60 */ addi r1, r1, 0x60
/* 8031525C 0031219C 4E 80 00 20 */ blr
.global J3DShape_NS_makeVcdVatCmd
J3DShape_NS_makeVcdVatCmd:
/* 80315260 003121A0 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80315264 003121A4 7C 08 02 A6 */ mflr r0
/* 80315268 003121A8 90 01 00 24 */ stw r0, 0x24(r1)
/* 8031526C 003121AC 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80315270 003121B0 7C 7F 1B 78 */ mr r31, r3
/* 80315274 003121B4 88 0D 90 4C */ lbz r0, lbl_804515CC-_SDA_BASE_(r13)
/* 80315278 003121B8 7C 00 07 75 */ extsb. r0, r0
/* 8031527C 003121BC 40 82 00 14 */ bne lbl_80315290
/* 80315280 003121C0 48 02 84 75 */ bl __RAS_OSDisableInterrupts_begin
/* 80315284 003121C4 90 6D 90 48 */ stw r3, lbl_804515C8-_SDA_BASE_(r13)
/* 80315288 003121C8 38 00 00 01 */ li r0, 1
/* 8031528C 003121CC 98 0D 90 4C */ stb r0, lbl_804515CC-_SDA_BASE_(r13)
lbl_80315290:
/* 80315290 003121D0 48 02 BA 35 */ bl OSDisableScheduler
/* 80315294 003121D4 38 61 00 08 */ addi r3, r1, 8
/* 80315298 003121D8 80 9F 00 2C */ lwz r4, 0x2c(r31)
/* 8031529C 003121DC 38 A0 00 C0 */ li r5, 0xc0
/* 803152A0 003121E0 48 04 BC F9 */ bl GDInitGDLObj
/* 803152A4 003121E4 38 01 00 08 */ addi r0, r1, 8
/* 803152A8 003121E8 90 0D 94 00 */ stw r0, lbl_80451980-_SDA_BASE_(r13)
/* 803152AC 003121EC 80 7F 00 30 */ lwz r3, 0x30(r31)
/* 803152B0 003121F0 48 04 BE 55 */ bl GDSetVtxDescv
/* 803152B4 003121F4 7F E3 FB 78 */ mr r3, r31
/* 803152B8 003121F8 4B FF FC E1 */ bl J3DShape_NS_makeVtxArrayCmd
/* 803152BC 003121FC 80 7F 00 4C */ lwz r3, 0x4c(r31)
/* 803152C0 00312200 80 83 00 14 */ lwz r4, 0x14(r3)
/* 803152C4 00312204 38 60 00 00 */ li r3, 0
/* 803152C8 00312208 88 BF 00 34 */ lbz r5, 0x34(r31)
/* 803152CC 0031220C 4B FF 88 39 */ bl J3DGDSetVtxAttrFmtv
/* 803152D0 00312210 48 04 BD 0D */ bl GDPadCurr32
/* 803152D4 00312214 48 04 BC DD */ bl GDFlushCurrToMem
/* 803152D8 00312218 38 00 00 00 */ li r0, 0
/* 803152DC 0031221C 90 0D 94 00 */ stw r0, lbl_80451980-_SDA_BASE_(r13)
/* 803152E0 00312220 48 02 BA 25 */ bl OSEnableScheduler
/* 803152E4 00312224 80 6D 90 48 */ lwz r3, lbl_804515C8-_SDA_BASE_(r13)
/* 803152E8 00312228 48 02 84 35 */ bl OSRestoreInterrupts
/* 803152EC 0031222C 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 803152F0 00312230 80 01 00 24 */ lwz r0, 0x24(r1)
/* 803152F4 00312234 7C 08 03 A6 */ mtlr r0
/* 803152F8 00312238 38 21 00 20 */ addi r1, r1, 0x20
/* 803152FC 0031223C 4E 80 00 20 */ blr
.global J3DShape_NS_loadPreDrawSetting
J3DShape_NS_loadPreDrawSetting:
/* 80315300 00312240 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80315304 00312244 7C 08 02 A6 */ mflr r0
/* 80315308 00312248 90 01 00 14 */ stw r0, 0x14(r1)
/* 8031530C 0031224C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80315310 00312250 7C 7F 1B 78 */ mr r31, r3
/* 80315314 00312254 80 0D 90 50 */ lwz r0, lbl_804515D0-_SDA_BASE_(r13)
/* 80315318 00312258 80 63 00 2C */ lwz r3, 0x2c(r3)
/* 8031531C 0031225C 7C 00 18 40 */ cmplw r0, r3
/* 80315320 00312260 41 82 00 14 */ beq lbl_80315334
/* 80315324 00312264 38 80 00 C0 */ li r4, 0xc0
/* 80315328 00312268 48 04 AB C9 */ bl GXCallDisplayList
/* 8031532C 0031226C 80 1F 00 2C */ lwz r0, 0x2c(r31)
/* 80315330 00312270 90 0D 90 50 */ stw r0, lbl_804515D0-_SDA_BASE_(r13)
lbl_80315334:
/* 80315334 00312274 80 BF 00 40 */ lwz r5, 0x40(r31)
/* 80315338 00312278 38 80 00 08 */ li r4, 8
/* 8031533C 0031227C 3C 60 CC 01 */ lis r3, 0xCC008000@ha
/* 80315340 00312280 98 83 80 00 */ stb r4, 0xCC008000@l(r3)
/* 80315344 00312284 38 00 00 30 */ li r0, 0x30
/* 80315348 00312288 98 03 80 00 */ stb r0, -0x8000(r3)
/* 8031534C 0031228C 90 A3 80 00 */ stw r5, -0x8000(r3)
/* 80315350 00312290 80 DF 00 44 */ lwz r6, 0x44(r31)
/* 80315354 00312294 98 83 80 00 */ stb r4, -0x8000(r3)
/* 80315358 00312298 38 00 00 40 */ li r0, 0x40
/* 8031535C 0031229C 98 03 80 00 */ stb r0, -0x8000(r3)
/* 80315360 003122A0 90 C3 80 00 */ stw r6, -0x8000(r3)
/* 80315364 003122A4 38 00 00 10 */ li r0, 0x10
/* 80315368 003122A8 98 03 80 00 */ stb r0, -0x8000(r3)
/* 8031536C 003122AC 38 00 00 01 */ li r0, 1
/* 80315370 003122B0 B0 03 80 00 */ sth r0, -0x8000(r3)
/* 80315374 003122B4 38 00 10 18 */ li r0, 0x1018
/* 80315378 003122B8 B0 03 80 00 */ sth r0, -0x8000(r3)
/* 8031537C 003122BC 90 A3 80 00 */ stw r5, -0x8000(r3)
/* 80315380 003122C0 90 C3 80 00 */ stw r6, -0x8000(r3)
/* 80315384 003122C4 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80315388 003122C8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8031538C 003122CC 7C 08 03 A6 */ mtlr r0
/* 80315390 003122D0 38 21 00 10 */ addi r1, r1, 0x10
/* 80315394 003122D4 4E 80 00 20 */ blr
.global J3DShape_NS_setArrayAndBindPipeline
J3DShape_NS_setArrayAndBindPipeline:
/* 80315398 003122D8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8031539C 003122DC 7C 08 02 A6 */ mflr r0
/* 803153A0 003122E0 90 01 00 14 */ stw r0, 0x14(r1)
/* 803153A4 003122E4 93 E1 00 0C */ stw r31, 0xc(r1)
/* 803153A8 003122E8 7C 7F 1B 78 */ mr r31, r3
/* 803153AC 003122EC 80 03 00 0C */ lwz r0, 0xc(r3)
/* 803153B0 003122F0 54 00 F7 7E */ rlwinm r0, r0, 0x1e, 0x1d, 0x1f
/* 803153B4 003122F4 90 0D 90 28 */ stw r0, lbl_804515A8-_SDA_BASE_(r13)
/* 803153B8 003122F8 4B FF FB 35 */ bl J3DShape_NS_loadVtxArray
/* 803153BC 003122FC 80 9F 00 58 */ lwz r4, 0x58(r31)
/* 803153C0 00312300 80 7F 00 60 */ lwz r3, 0x60(r31)
/* 803153C4 00312304 80 03 00 00 */ lwz r0, 0(r3)
/* 803153C8 00312308 54 00 10 3A */ slwi r0, r0, 2
/* 803153CC 0031230C 7C 84 00 2E */ lwzx r4, r4, r0
/* 803153D0 00312310 3C 60 80 43 */ lis r3, lbl_80434AC8@ha
/* 803153D4 00312314 38 63 4A C8 */ addi r3, r3, lbl_80434AC8@l
/* 803153D8 00312318 90 83 01 04 */ stw r4, 0x104(r3)
/* 803153DC 0031231C 38 60 00 15 */ li r3, 0x15
/* 803153E0 00312320 38 A0 00 30 */ li r5, 0x30
/* 803153E4 00312324 48 04 67 45 */ bl GXSetArray
/* 803153E8 00312328 80 9F 00 5C */ lwz r4, 0x5c(r31)
/* 803153EC 0031232C 80 7F 00 60 */ lwz r3, 0x60(r31)
/* 803153F0 00312330 80 03 00 00 */ lwz r0, 0(r3)
/* 803153F4 00312334 54 00 10 3A */ slwi r0, r0, 2
/* 803153F8 00312338 7C 84 00 2E */ lwzx r4, r4, r0
/* 803153FC 0031233C 3C 60 80 43 */ lis r3, lbl_80434AC8@ha
/* 80315400 00312340 38 63 4A C8 */ addi r3, r3, lbl_80434AC8@l
/* 80315404 00312344 90 83 01 08 */ stw r4, 0x108(r3)
/* 80315408 00312348 38 60 00 16 */ li r3, 0x16
/* 8031540C 0031234C 38 A0 00 24 */ li r5, 0x24
/* 80315410 00312350 48 04 67 19 */ bl GXSetArray
/* 80315414 00312354 80 1F 00 54 */ lwz r0, 0x54(r31)
/* 80315418 00312358 90 0D 90 2C */ stw r0, lbl_804515AC-_SDA_BASE_(r13)
/* 8031541C 0031235C 88 1F 00 34 */ lbz r0, 0x34(r31)
/* 80315420 00312360 98 0D 90 30 */ stb r0, lbl_804515B0-_SDA_BASE_(r13)
/* 80315424 00312364 88 1F 00 48 */ lbz r0, 0x48(r31)
/* 80315428 00312368 98 0D 90 54 */ stb r0, lbl_804515D4-_SDA_BASE_(r13)
/* 8031542C 0031236C 80 1F 00 0C */ lwz r0, 0xc(r31)
/* 80315430 00312370 54 00 04 26 */ rlwinm r0, r0, 0, 0x10, 0x13
/* 80315434 00312374 90 0D 90 34 */ stw r0, lbl_804515B4-_SDA_BASE_(r13)
/* 80315438 00312378 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8031543C 0031237C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80315440 00312380 7C 08 03 A6 */ mtlr r0
/* 80315444 00312384 38 21 00 10 */ addi r1, r1, 0x10
/* 80315448 00312388 4E 80 00 20 */ blr
/* 8031544C 0031238C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80315450 00312390 7C 08 02 A6 */ mflr r0
/* 80315454 00312394 90 01 00 24 */ stw r0, 0x24(r1)
/* 80315458 00312398 39 61 00 20 */ addi r11, r1, 0x20
/* 8031545C 0031239C 48 04 CD 79 */ bl func_803621D4
/* 80315460 003123A0 7C 7F 1B 78 */ mr r31, r3
/* 80315464 003123A4 80 0D 90 50 */ lwz r0, lbl_804515D0-_SDA_BASE_(r13)
/* 80315468 003123A8 80 63 00 2C */ lwz r3, 0x2c(r3)
/* 8031546C 003123AC 7C 00 18 40 */ cmplw r0, r3
/* 80315470 003123B0 41 82 00 14 */ beq lbl_80315484
/* 80315474 003123B4 38 80 00 C0 */ li r4, 0xc0
/* 80315478 003123B8 48 04 AA 79 */ bl GXCallDisplayList
/* 8031547C 003123BC 80 1F 00 2C */ lwz r0, 0x2c(r31)
/* 80315480 003123C0 90 0D 90 50 */ stw r0, lbl_804515D0-_SDA_BASE_(r13)
lbl_80315484:
/* 80315484 003123C4 88 0D 90 54 */ lbz r0, lbl_804515D4-_SDA_BASE_(r13)
/* 80315488 003123C8 28 00 00 00 */ cmplwi r0, 0
/* 8031548C 003123CC 41 82 00 60 */ beq lbl_803154EC
/* 80315490 003123D0 88 1F 00 48 */ lbz r0, 0x48(r31)
/* 80315494 003123D4 28 00 00 00 */ cmplwi r0, 0
/* 80315498 003123D8 40 82 00 54 */ bne lbl_803154EC
/* 8031549C 003123DC 80 BF 00 40 */ lwz r5, 0x40(r31)
/* 803154A0 003123E0 38 80 00 08 */ li r4, 8
/* 803154A4 003123E4 3C 60 CC 01 */ lis r3, 0xCC008000@ha
/* 803154A8 003123E8 98 83 80 00 */ stb r4, 0xCC008000@l(r3)
/* 803154AC 003123EC 38 00 00 30 */ li r0, 0x30
/* 803154B0 003123F0 98 03 80 00 */ stb r0, -0x8000(r3)
/* 803154B4 003123F4 90 A3 80 00 */ stw r5, -0x8000(r3)
/* 803154B8 003123F8 80 DF 00 44 */ lwz r6, 0x44(r31)
/* 803154BC 003123FC 98 83 80 00 */ stb r4, -0x8000(r3)
/* 803154C0 00312400 38 00 00 40 */ li r0, 0x40
/* 803154C4 00312404 98 03 80 00 */ stb r0, -0x8000(r3)
/* 803154C8 00312408 90 C3 80 00 */ stw r6, -0x8000(r3)
/* 803154CC 0031240C 38 00 00 10 */ li r0, 0x10
/* 803154D0 00312410 98 03 80 00 */ stb r0, -0x8000(r3)
/* 803154D4 00312414 38 00 00 01 */ li r0, 1
/* 803154D8 00312418 B0 03 80 00 */ sth r0, -0x8000(r3)
/* 803154DC 0031241C 38 00 10 18 */ li r0, 0x1018
/* 803154E0 00312420 B0 03 80 00 */ sth r0, -0x8000(r3)
/* 803154E4 00312424 90 A3 80 00 */ stw r5, -0x8000(r3)
/* 803154E8 00312428 90 C3 80 00 */ stw r6, -0x8000(r3)
lbl_803154EC:
/* 803154EC 0031242C 7F E3 FB 78 */ mr r3, r31
/* 803154F0 00312430 4B FF FE A9 */ bl J3DShape_NS_setArrayAndBindPipeline
/* 803154F4 00312434 80 1F 00 0C */ lwz r0, 0xc(r31)
/* 803154F8 00312438 54 00 05 AD */ rlwinm. r0, r0, 0, 0x16, 0x16
/* 803154FC 0031243C 40 82 00 6C */ bne lbl_80315568
/* 80315500 00312440 88 0D 90 31 */ lbz r0, lbl_804515B1-_SDA_BASE_(r13)
/* 80315504 00312444 28 00 00 00 */ cmplwi r0, 0
/* 80315508 00312448 41 82 00 08 */ beq lbl_80315510
/* 8031550C 0031244C 4B FF DB 9D */ bl J3DShapeMtx_NS_resetMtxLoadCache
lbl_80315510:
/* 80315510 00312450 A3 DF 00 0A */ lhz r30, 0xa(r31)
/* 80315514 00312454 3B 60 00 00 */ li r27, 0
/* 80315518 00312458 83 BF 00 38 */ lwz r29, 0x38(r31)
/* 8031551C 0031245C 83 FF 00 3C */ lwz r31, 0x3c(r31)
/* 80315520 00312460 48 00 00 38 */ b lbl_80315558
lbl_80315524:
/* 80315524 00312464 57 7C 13 BA */ rlwinm r28, r27, 2, 0xe, 0x1d
/* 80315528 00312468 7C 7D E0 2E */ lwzx r3, r29, r28
/* 8031552C 0031246C 28 03 00 00 */ cmplwi r3, 0
/* 80315530 00312470 41 82 00 14 */ beq lbl_80315544
/* 80315534 00312474 81 83 00 00 */ lwz r12, 0(r3)
/* 80315538 00312478 81 8C 00 18 */ lwz r12, 0x18(r12)
/* 8031553C 0031247C 7D 89 03 A6 */ mtctr r12
/* 80315540 00312480 4E 80 04 21 */ bctrl
lbl_80315544:
/* 80315544 00312484 7C 7F E0 2E */ lwzx r3, r31, r28
/* 80315548 00312488 28 03 00 00 */ cmplwi r3, 0
/* 8031554C 0031248C 41 82 00 08 */ beq lbl_80315554
/* 80315550 00312490 4B FF F5 85 */ bl J3DShapeDraw_NS_draw
lbl_80315554:
/* 80315554 00312494 3B 7B 00 01 */ addi r27, r27, 1
lbl_80315558:
/* 80315558 00312498 57 60 04 3E */ clrlwi r0, r27, 0x10
/* 8031555C 0031249C 7C 00 F0 40 */ cmplw r0, r30
/* 80315560 003124A0 41 80 FF C4 */ blt lbl_80315524
/* 80315564 003124A4 48 00 00 64 */ b lbl_803155C8
lbl_80315568:
/* 80315568 003124A8 3C 60 80 43 */ lis r3, lbl_80434AC8@ha
/* 8031556C 003124AC 3B C3 4A C8 */ addi r30, r3, lbl_80434AC8@l
/* 80315570 003124B0 80 7E 00 40 */ lwz r3, 0x40(r30)
/* 80315574 003124B4 80 63 00 30 */ lwz r3, 0x30(r3)
/* 80315578 003124B8 38 80 00 00 */ li r4, 0
/* 8031557C 003124BC 4B FF A5 65 */ bl J3DFifoLoadPosMtxImm
/* 80315580 003124C0 80 7E 00 40 */ lwz r3, 0x40(r30)
/* 80315584 003124C4 80 63 00 30 */ lwz r3, 0x30(r3)
/* 80315588 003124C8 38 80 00 00 */ li r4, 0
/* 8031558C 003124CC 4B FF A5 D5 */ bl J3DFifoLoadNrmMtxImm
/* 80315590 003124D0 A0 1F 00 0A */ lhz r0, 0xa(r31)
/* 80315594 003124D4 3B 60 00 00 */ li r27, 0
/* 80315598 003124D8 83 DF 00 3C */ lwz r30, 0x3c(r31)
/* 8031559C 003124DC 54 1F 04 3E */ clrlwi r31, r0, 0x10
/* 803155A0 003124E0 48 00 00 1C */ b lbl_803155BC
lbl_803155A4:
/* 803155A4 003124E4 57 60 13 BA */ rlwinm r0, r27, 2, 0xe, 0x1d
/* 803155A8 003124E8 7C 7E 00 2E */ lwzx r3, r30, r0
/* 803155AC 003124EC 28 03 00 00 */ cmplwi r3, 0
/* 803155B0 003124F0 41 82 00 08 */ beq lbl_803155B8
/* 803155B4 003124F4 4B FF F5 21 */ bl J3DShapeDraw_NS_draw
lbl_803155B8:
/* 803155B8 003124F8 3B 7B 00 01 */ addi r27, r27, 1
lbl_803155BC:
/* 803155BC 003124FC 57 60 04 3E */ clrlwi r0, r27, 0x10
/* 803155C0 00312500 7C 00 F8 40 */ cmplw r0, r31
/* 803155C4 00312504 41 80 FF E0 */ blt lbl_803155A4
lbl_803155C8:
/* 803155C8 00312508 39 61 00 20 */ addi r11, r1, 0x20
/* 803155CC 0031250C 48 04 CC 55 */ bl func_80362220
/* 803155D0 00312510 80 01 00 24 */ lwz r0, 0x24(r1)
/* 803155D4 00312514 7C 08 03 A6 */ mtlr r0
/* 803155D8 00312518 38 21 00 20 */ addi r1, r1, 0x20
/* 803155DC 0031251C 4E 80 00 20 */ blr
/* 803155E0 00312520 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 803155E4 00312524 7C 08 02 A6 */ mflr r0
/* 803155E8 00312528 90 01 00 14 */ stw r0, 0x14(r1)
/* 803155EC 0031252C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 803155F0 00312530 7C 7F 1B 78 */ mr r31, r3
/* 803155F4 00312534 38 00 00 00 */ li r0, 0
/* 803155F8 00312538 90 0D 90 50 */ stw r0, lbl_804515D0-_SDA_BASE_(r13)
/* 803155FC 0031253C 4B FF FD 05 */ bl J3DShape_NS_loadPreDrawSetting
/* 80315600 00312540 7F E3 FB 78 */ mr r3, r31
/* 80315604 00312544 81 9F 00 00 */ lwz r12, 0(r31)
/* 80315608 00312548 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 8031560C 0031254C 7D 89 03 A6 */ mtctr r12
/* 80315610 00312550 4E 80 04 21 */ bctrl
/* 80315614 00312554 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80315618 00312558 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8031561C 0031255C 7C 08 03 A6 */ mtlr r0
/* 80315620 00312560 38 21 00 10 */ addi r1, r1, 0x10
/* 80315624 00312564 4E 80 00 20 */ blr
/* 80315628 00312568 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8031562C 0031256C 7C 08 02 A6 */ mflr r0
/* 80315630 00312570 90 01 00 24 */ stw r0, 0x24(r1)
/* 80315634 00312574 39 61 00 20 */ addi r11, r1, 0x20
/* 80315638 00312578 48 04 CB A5 */ bl func_803621DC
/* 8031563C 0031257C 7C 7E 1B 78 */ mr r30, r3
/* 80315640 00312580 38 00 00 00 */ li r0, 0
/* 80315644 00312584 90 0D 90 50 */ stw r0, lbl_804515D0-_SDA_BASE_(r13)
/* 80315648 00312588 4B FF FC B9 */ bl J3DShape_NS_loadPreDrawSetting
/* 8031564C 0031258C 80 1E 00 0C */ lwz r0, 0xc(r30)
/* 80315650 00312590 54 00 F7 7E */ rlwinm r0, r0, 0x1e, 0x1d, 0x1f
/* 80315654 00312594 90 0D 90 28 */ stw r0, lbl_804515A8-_SDA_BASE_(r13)
/* 80315658 00312598 7F C3 F3 78 */ mr r3, r30
/* 8031565C 0031259C 4B FF F8 91 */ bl J3DShape_NS_loadVtxArray
/* 80315660 003125A0 A3 FE 00 0A */ lhz r31, 0xa(r30)
/* 80315664 003125A4 3B A0 00 00 */ li r29, 0
/* 80315668 003125A8 83 DE 00 3C */ lwz r30, 0x3c(r30)
/* 8031566C 003125AC 48 00 00 1C */ b lbl_80315688
lbl_80315670:
/* 80315670 003125B0 57 A0 13 BA */ rlwinm r0, r29, 2, 0xe, 0x1d
/* 80315674 003125B4 7C 7E 00 2E */ lwzx r3, r30, r0
/* 80315678 003125B8 28 03 00 00 */ cmplwi r3, 0
/* 8031567C 003125BC 41 82 00 08 */ beq lbl_80315684
/* 80315680 003125C0 4B FF F4 55 */ bl J3DShapeDraw_NS_draw
lbl_80315684:
/* 80315684 003125C4 3B BD 00 01 */ addi r29, r29, 1
lbl_80315688:
/* 80315688 003125C8 57 A0 04 3E */ clrlwi r0, r29, 0x10
/* 8031568C 003125CC 7C 00 F8 40 */ cmplw r0, r31
/* 80315690 003125D0 41 80 FF E0 */ blt lbl_80315670
/* 80315694 003125D4 39 61 00 20 */ addi r11, r1, 0x20
/* 80315698 003125D8 48 04 CB 91 */ bl func_80362228
/* 8031569C 003125DC 80 01 00 24 */ lwz r0, 0x24(r1)
/* 803156A0 003125E0 7C 08 03 A6 */ mtlr r0
/* 803156A4 003125E4 38 21 00 20 */ addi r1, r1, 0x20
/* 803156A8 003125E8 4E 80 00 20 */ blr
/* 803156AC 003125EC 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 803156B0 003125F0 7C 08 02 A6 */ mflr r0
/* 803156B4 003125F4 90 01 00 24 */ stw r0, 0x24(r1)
/* 803156B8 003125F8 39 61 00 20 */ addi r11, r1, 0x20
/* 803156BC 003125FC 48 04 CB 21 */ bl func_803621DC
/* 803156C0 00312600 7C 7E 1B 78 */ mr r30, r3
/* 803156C4 00312604 80 0D 90 50 */ lwz r0, lbl_804515D0-_SDA_BASE_(r13)
/* 803156C8 00312608 80 63 00 2C */ lwz r3, 0x2c(r3)
/* 803156CC 0031260C 7C 00 18 40 */ cmplw r0, r3
/* 803156D0 00312610 41 82 00 14 */ beq lbl_803156E4
/* 803156D4 00312614 38 80 00 C0 */ li r4, 0xc0
/* 803156D8 00312618 48 04 A8 19 */ bl GXCallDisplayList
/* 803156DC 0031261C 80 1E 00 2C */ lwz r0, 0x2c(r30)
/* 803156E0 00312620 90 0D 90 50 */ stw r0, lbl_804515D0-_SDA_BASE_(r13)
lbl_803156E4:
/* 803156E4 00312624 88 0D 90 54 */ lbz r0, lbl_804515D4-_SDA_BASE_(r13)
/* 803156E8 00312628 28 00 00 00 */ cmplwi r0, 0
/* 803156EC 0031262C 41 82 00 60 */ beq lbl_8031574C
/* 803156F0 00312630 88 1E 00 48 */ lbz r0, 0x48(r30)
/* 803156F4 00312634 28 00 00 00 */ cmplwi r0, 0
/* 803156F8 00312638 40 82 00 54 */ bne lbl_8031574C
/* 803156FC 0031263C 80 BE 00 40 */ lwz r5, 0x40(r30)
/* 80315700 00312640 38 80 00 08 */ li r4, 8
/* 80315704 00312644 3C 60 CC 01 */ lis r3, 0xCC008000@ha
/* 80315708 00312648 98 83 80 00 */ stb r4, 0xCC008000@l(r3)
/* 8031570C 0031264C 38 00 00 30 */ li r0, 0x30
/* 80315710 00312650 98 03 80 00 */ stb r0, -0x8000(r3)
/* 80315714 00312654 90 A3 80 00 */ stw r5, -0x8000(r3)
/* 80315718 00312658 80 DE 00 44 */ lwz r6, 0x44(r30)
/* 8031571C 0031265C 98 83 80 00 */ stb r4, -0x8000(r3)
/* 80315720 00312660 38 00 00 40 */ li r0, 0x40
/* 80315724 00312664 98 03 80 00 */ stb r0, -0x8000(r3)
/* 80315728 00312668 90 C3 80 00 */ stw r6, -0x8000(r3)
/* 8031572C 0031266C 38 00 00 10 */ li r0, 0x10
/* 80315730 00312670 98 03 80 00 */ stb r0, -0x8000(r3)
/* 80315734 00312674 38 00 00 01 */ li r0, 1
/* 80315738 00312678 B0 03 80 00 */ sth r0, -0x8000(r3)
/* 8031573C 0031267C 38 00 10 18 */ li r0, 0x1018
/* 80315740 00312680 B0 03 80 00 */ sth r0, -0x8000(r3)
/* 80315744 00312684 90 A3 80 00 */ stw r5, -0x8000(r3)
/* 80315748 00312688 90 C3 80 00 */ stw r6, -0x8000(r3)
lbl_8031574C:
/* 8031574C 0031268C 7F C3 F3 78 */ mr r3, r30
/* 80315750 00312690 4B FF F7 9D */ bl J3DShape_NS_loadVtxArray
/* 80315754 00312694 A3 FE 00 0A */ lhz r31, 0xa(r30)
/* 80315758 00312698 3B A0 00 00 */ li r29, 0
/* 8031575C 0031269C 83 DE 00 3C */ lwz r30, 0x3c(r30)
/* 80315760 003126A0 48 00 00 1C */ b lbl_8031577C
lbl_80315764:
/* 80315764 003126A4 57 A0 13 BA */ rlwinm r0, r29, 2, 0xe, 0x1d
/* 80315768 003126A8 7C 7E 00 2E */ lwzx r3, r30, r0
/* 8031576C 003126AC 28 03 00 00 */ cmplwi r3, 0
/* 80315770 003126B0 41 82 00 08 */ beq lbl_80315778
/* 80315774 003126B4 4B FF F3 61 */ bl J3DShapeDraw_NS_draw
lbl_80315778:
/* 80315778 003126B8 3B BD 00 01 */ addi r29, r29, 1
lbl_8031577C:
/* 8031577C 003126BC 57 A0 04 3E */ clrlwi r0, r29, 0x10
/* 80315780 003126C0 7C 00 F8 40 */ cmplw r0, r31
/* 80315784 003126C4 41 80 FF E0 */ blt lbl_80315764
/* 80315788 003126C8 39 61 00 20 */ addi r11, r1, 0x20
/* 8031578C 003126CC 48 04 CA 9D */ bl func_80362228
/* 80315790 003126D0 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80315794 003126D4 7C 08 03 A6 */ mtlr r0
/* 80315798 003126D8 38 21 00 20 */ addi r1, r1, 0x20
/* 8031579C 003126DC 4E 80 00 20 */ blr

View File

@ -0,0 +1,167 @@
.include "macros.inc"
.section .text, "ax" # 80314924
.global J3DShapeDraw_NS_countVertex
J3DShapeDraw_NS_countVertex:
/* 80314924 00311864 38 A0 00 00 */ li r5, 0
/* 80314928 00311868 80 C3 00 08 */ lwz r6, 8(r3)
/* 8031492C 0031186C 7C C7 33 78 */ mr r7, r6
/* 80314930 00311870 80 63 00 04 */ lwz r3, 4(r3)
/* 80314934 00311874 48 00 00 2C */ b lbl_80314960
lbl_80314938:
/* 80314938 00311878 88 07 00 00 */ lbz r0, 0(r7)
/* 8031493C 0031187C 28 00 00 A0 */ cmplwi r0, 0xa0
/* 80314940 00311880 41 82 00 0C */ beq lbl_8031494C
/* 80314944 00311884 28 00 00 98 */ cmplwi r0, 0x98
/* 80314948 00311888 40 82 00 24 */ bne lbl_8031496C
lbl_8031494C:
/* 8031494C 0031188C A0 07 00 01 */ lhz r0, 1(r7)
/* 80314950 00311890 7C A5 02 14 */ add r5, r5, r0
/* 80314954 00311894 7C 04 01 D6 */ mullw r0, r4, r0
/* 80314958 00311898 7C E7 02 14 */ add r7, r7, r0
/* 8031495C 0031189C 38 E7 00 03 */ addi r7, r7, 3
lbl_80314960:
/* 80314960 003118A0 7C 06 38 50 */ subf r0, r6, r7
/* 80314964 003118A4 7C 00 18 40 */ cmplw r0, r3
/* 80314968 003118A8 41 80 FF D0 */ blt lbl_80314938
lbl_8031496C:
/* 8031496C 003118AC 7C A3 2B 78 */ mr r3, r5
/* 80314970 003118B0 4E 80 00 20 */ blr
.global J3DShapeDraw_NS_addTexMtxIndexInDL
J3DShapeDraw_NS_addTexMtxIndexInDL:
/* 80314974 003118B4 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 80314978 003118B8 7C 08 02 A6 */ mflr r0
/* 8031497C 003118BC 90 01 00 44 */ stw r0, 0x44(r1)
/* 80314980 003118C0 39 61 00 40 */ addi r11, r1, 0x40
/* 80314984 003118C4 48 04 D8 2D */ bl func_803621B0
/* 80314988 003118C8 7C 79 1B 78 */ mr r25, r3
/* 8031498C 003118CC 7C 9A 23 78 */ mr r26, r4
/* 80314990 003118D0 7C BB 2B 78 */ mr r27, r5
/* 80314994 003118D4 7C DC 33 78 */ mr r28, r6
/* 80314998 003118D8 4B FF FF 8D */ bl J3DShapeDraw_NS_countVertex
/* 8031499C 003118DC 80 99 00 04 */ lwz r4, 4(r25)
/* 803149A0 003118E0 38 03 00 1F */ addi r0, r3, 0x1f
/* 803149A4 003118E4 7C 04 02 14 */ add r0, r4, r0
/* 803149A8 003118E8 54 1F 00 34 */ rlwinm r31, r0, 0, 0, 0x1a
/* 803149AC 003118EC 7F E3 FB 78 */ mr r3, r31
/* 803149B0 003118F0 38 80 00 20 */ li r4, 0x20
/* 803149B4 003118F4 4B FB A3 39 */ bl __nwa_X1_
/* 803149B8 003118F8 7C 7E 1B 78 */ mr r30, r3
/* 803149BC 003118FC 82 F9 00 08 */ lwz r23, 8(r25)
/* 803149C0 00311900 7E F6 BB 78 */ mr r22, r23
/* 803149C4 00311904 7F DD F3 78 */ mr r29, r30
/* 803149C8 00311908 7F 1B D0 50 */ subf r24, r27, r26
/* 803149CC 0031190C 48 00 00 8C */ b lbl_80314A58
lbl_803149D0:
/* 803149D0 00311910 88 16 00 00 */ lbz r0, 0(r22)
/* 803149D4 00311914 98 1D 00 00 */ stb r0, 0(r29)
/* 803149D8 00311918 28 00 00 A0 */ cmplwi r0, 0xa0
/* 803149DC 0031191C 3B BD 00 01 */ addi r29, r29, 1
/* 803149E0 00311920 41 82 00 0C */ beq lbl_803149EC
/* 803149E4 00311924 28 00 00 98 */ cmplwi r0, 0x98
/* 803149E8 00311928 40 82 00 80 */ bne lbl_80314A68
lbl_803149EC:
/* 803149EC 0031192C A2 B6 00 01 */ lhz r21, 1(r22)
/* 803149F0 00311930 B2 BD 00 00 */ sth r21, 0(r29)
/* 803149F4 00311934 3A 80 00 00 */ li r20, 0
/* 803149F8 00311938 3B BD 00 02 */ addi r29, r29, 2
/* 803149FC 0031193C 48 00 00 48 */ b lbl_80314A44
lbl_80314A00:
/* 80314A00 00311940 7C 1A A1 D6 */ mullw r0, r26, r20
/* 80314A04 00311944 7E 76 02 14 */ add r19, r22, r0
/* 80314A08 00311948 8E 53 00 03 */ lbzu r18, 3(r19)
/* 80314A0C 0031194C 7F A3 EB 78 */ mr r3, r29
/* 80314A10 00311950 7E 64 9B 78 */ mr r4, r19
/* 80314A14 00311954 7F 65 DB 78 */ mr r5, r27
/* 80314A18 00311958 4B CE EB 29 */ bl func_80003540
/* 80314A1C 0031195C 7F BD DA 14 */ add r29, r29, r27
/* 80314A20 00311960 7C 1C 92 14 */ add r0, r28, r18
/* 80314A24 00311964 98 1D 00 00 */ stb r0, 0(r29)
/* 80314A28 00311968 3B BD 00 01 */ addi r29, r29, 1
/* 80314A2C 0031196C 7F A3 EB 78 */ mr r3, r29
/* 80314A30 00311970 7C 93 DA 14 */ add r4, r19, r27
/* 80314A34 00311974 7F 05 C3 78 */ mr r5, r24
/* 80314A38 00311978 4B CE EB 09 */ bl func_80003540
/* 80314A3C 0031197C 7F BD C2 14 */ add r29, r29, r24
/* 80314A40 00311980 3A 94 00 01 */ addi r20, r20, 1
lbl_80314A44:
/* 80314A44 00311984 7C 14 A8 00 */ cmpw r20, r21
/* 80314A48 00311988 41 80 FF B8 */ blt lbl_80314A00
/* 80314A4C 0031198C 7C 1A A9 D6 */ mullw r0, r26, r21
/* 80314A50 00311990 7E D6 02 14 */ add r22, r22, r0
/* 80314A54 00311994 3A D6 00 03 */ addi r22, r22, 3
lbl_80314A58:
/* 80314A58 00311998 7C 77 B0 50 */ subf r3, r23, r22
/* 80314A5C 0031199C 80 19 00 04 */ lwz r0, 4(r25)
/* 80314A60 003119A0 7C 03 00 40 */ cmplw r3, r0
/* 80314A64 003119A4 41 80 FF 6C */ blt lbl_803149D0
lbl_80314A68:
/* 80314A68 003119A8 7C 7E E8 50 */ subf r3, r30, r29
/* 80314A6C 003119AC 38 03 00 1F */ addi r0, r3, 0x1f
/* 80314A70 003119B0 54 04 00 34 */ rlwinm r4, r0, 0, 0, 0x1a
/* 80314A74 003119B4 38 60 00 00 */ li r3, 0
/* 80314A78 003119B8 48 00 00 0C */ b lbl_80314A84
lbl_80314A7C:
/* 80314A7C 003119BC 98 7D 00 00 */ stb r3, 0(r29)
/* 80314A80 003119C0 3B BD 00 01 */ addi r29, r29, 1
lbl_80314A84:
/* 80314A84 003119C4 7C 1E E8 50 */ subf r0, r30, r29
/* 80314A88 003119C8 7C 00 F8 40 */ cmplw r0, r31
/* 80314A8C 003119CC 41 80 FF F0 */ blt lbl_80314A7C
/* 80314A90 003119D0 90 99 00 04 */ stw r4, 4(r25)
/* 80314A94 003119D4 93 D9 00 08 */ stw r30, 8(r25)
/* 80314A98 003119D8 7F C3 F3 78 */ mr r3, r30
/* 80314A9C 003119DC 80 99 00 04 */ lwz r4, 4(r25)
/* 80314AA0 003119E0 48 02 6B 3D */ bl DCStoreRange
/* 80314AA4 003119E4 39 61 00 40 */ addi r11, r1, 0x40
/* 80314AA8 003119E8 48 04 D7 55 */ bl func_803621FC
/* 80314AAC 003119EC 80 01 00 44 */ lwz r0, 0x44(r1)
/* 80314AB0 003119F0 7C 08 03 A6 */ mtlr r0
/* 80314AB4 003119F4 38 21 00 40 */ addi r1, r1, 0x40
/* 80314AB8 003119F8 4E 80 00 20 */ blr
.global J3DShapeDraw
J3DShapeDraw:
/* 80314ABC 003119FC 3C C0 80 3D */ lis r6, lbl_803CDC68@ha
/* 80314AC0 00311A00 38 06 DC 68 */ addi r0, r6, lbl_803CDC68@l
/* 80314AC4 00311A04 90 03 00 00 */ stw r0, 0(r3)
/* 80314AC8 00311A08 90 83 00 08 */ stw r4, 8(r3)
/* 80314ACC 00311A0C 90 A3 00 04 */ stw r5, 4(r3)
/* 80314AD0 00311A10 4E 80 00 20 */ blr
.global J3DShapeDraw_NS_draw
J3DShapeDraw_NS_draw:
/* 80314AD4 00311A14 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80314AD8 00311A18 7C 08 02 A6 */ mflr r0
/* 80314ADC 00311A1C 90 01 00 14 */ stw r0, 0x14(r1)
/* 80314AE0 00311A20 7C 64 1B 78 */ mr r4, r3
/* 80314AE4 00311A24 80 63 00 08 */ lwz r3, 8(r3)
/* 80314AE8 00311A28 80 84 00 04 */ lwz r4, 4(r4)
/* 80314AEC 00311A2C 48 04 B4 05 */ bl GXCallDisplayList
/* 80314AF0 00311A30 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80314AF4 00311A34 7C 08 03 A6 */ mtlr r0
/* 80314AF8 00311A38 38 21 00 10 */ addi r1, r1, 0x10
/* 80314AFC 00311A3C 4E 80 00 20 */ blr
/* 80314B00 00311A40 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80314B04 00311A44 7C 08 02 A6 */ mflr r0
/* 80314B08 00311A48 90 01 00 14 */ stw r0, 0x14(r1)
/* 80314B0C 00311A4C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80314B10 00311A50 7C 7F 1B 79 */ or. r31, r3, r3
/* 80314B14 00311A54 41 82 00 1C */ beq lbl_80314B30
/* 80314B18 00311A58 3C A0 80 3D */ lis r5, lbl_803CDC68@ha
/* 80314B1C 00311A5C 38 05 DC 68 */ addi r0, r5, lbl_803CDC68@l
/* 80314B20 00311A60 90 1F 00 00 */ stw r0, 0(r31)
/* 80314B24 00311A64 7C 80 07 35 */ extsh. r0, r4
/* 80314B28 00311A68 40 81 00 08 */ ble lbl_80314B30
/* 80314B2C 00311A6C 4B FB A2 11 */ bl __dl
lbl_80314B30:
/* 80314B30 00311A70 7F E3 FB 78 */ mr r3, r31
/* 80314B34 00311A74 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80314B38 00311A78 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80314B3C 00311A7C 7C 08 03 A6 */ mtlr r0
/* 80314B40 00311A80 38 21 00 10 */ addi r1, r1, 0x10
/* 80314B44 00311A84 4E 80 00 20 */ blr

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,142 @@
.include "macros.inc"
.section .text, "ax" # 803256c4
.global J3DLightInfo_NS___as
J3DLightInfo_NS___as:
/* 803256C4 00322604 E0 44 00 00 */ psq_l f2, 0(r4), 0, qr0
/* 803256C8 00322608 E0 24 00 08 */ psq_l f1, 8(r4), 0, qr0
/* 803256CC 0032260C E0 04 00 10 */ psq_l f0, 16(r4), 0, qr0
/* 803256D0 00322610 F0 43 00 00 */ psq_st f2, 0(r3), 0, qr0
/* 803256D4 00322614 F0 23 00 08 */ psq_st f1, 8(r3), 0, qr0
/* 803256D8 00322618 F0 03 00 10 */ psq_st f0, 16(r3), 0, qr0
/* 803256DC 0032261C 88 04 00 18 */ lbz r0, 0x18(r4)
/* 803256E0 00322620 98 03 00 18 */ stb r0, 0x18(r3)
/* 803256E4 00322624 88 04 00 19 */ lbz r0, 0x19(r4)
/* 803256E8 00322628 98 03 00 19 */ stb r0, 0x19(r3)
/* 803256EC 0032262C 88 04 00 1A */ lbz r0, 0x1a(r4)
/* 803256F0 00322630 98 03 00 1A */ stb r0, 0x1a(r3)
/* 803256F4 00322634 88 04 00 1B */ lbz r0, 0x1b(r4)
/* 803256F8 00322638 98 03 00 1B */ stb r0, 0x1b(r3)
/* 803256FC 0032263C E0 44 00 1C */ psq_l f2, 28(r4), 0, qr0
/* 80325700 00322640 E0 24 00 24 */ psq_l f1, 36(r4), 0, qr0
/* 80325704 00322644 E0 04 00 2C */ psq_l f0, 44(r4), 0, qr0
/* 80325708 00322648 F0 43 00 1C */ psq_st f2, 28(r3), 0, qr0
/* 8032570C 0032264C F0 23 00 24 */ psq_st f1, 36(r3), 0, qr0
/* 80325710 00322650 F0 03 00 2C */ psq_st f0, 44(r3), 0, qr0
/* 80325714 00322654 4E 80 00 20 */ blr
.global J3DTexMtxInfo_NS___as
J3DTexMtxInfo_NS___as:
/* 80325718 00322658 88 04 00 00 */ lbz r0, 0(r4)
/* 8032571C 0032265C 98 03 00 00 */ stb r0, 0(r3)
/* 80325720 00322660 88 04 00 01 */ lbz r0, 1(r4)
/* 80325724 00322664 98 03 00 01 */ stb r0, 1(r3)
/* 80325728 00322668 E0 24 00 04 */ psq_l f1, 4(r4), 0, qr0
/* 8032572C 0032266C C0 04 00 0C */ lfs f0, 0xc(r4)
/* 80325730 00322670 F0 23 00 04 */ psq_st f1, 4(r3), 0, qr0
/* 80325734 00322674 D0 03 00 0C */ stfs f0, 0xc(r3)
/* 80325738 00322678 E0 04 00 10 */ psq_l f0, 16(r4), 0, qr0
/* 8032573C 0032267C F0 03 00 10 */ psq_st f0, 16(r3), 0, qr0
/* 80325740 00322680 80 04 00 18 */ lwz r0, 0x18(r4)
/* 80325744 00322684 90 03 00 18 */ stw r0, 0x18(r3)
/* 80325748 00322688 E0 04 00 1C */ psq_l f0, 28(r4), 0, qr0
/* 8032574C 0032268C F0 03 00 1C */ psq_st f0, 28(r3), 0, qr0
/* 80325750 00322690 E0 E4 00 24 */ psq_l f7, 36(r4), 0, qr0
/* 80325754 00322694 E0 C4 00 2C */ psq_l f6, 44(r4), 0, qr0
/* 80325758 00322698 E0 A4 00 34 */ psq_l f5, 52(r4), 0, qr0
/* 8032575C 0032269C E0 84 00 3C */ psq_l f4, 60(r4), 0, qr0
/* 80325760 003226A0 E0 64 00 44 */ psq_l f3, 68(r4), 0, qr0
/* 80325764 003226A4 E0 44 00 4C */ psq_l f2, 76(r4), 0, qr0
/* 80325768 003226A8 E0 24 00 54 */ psq_l f1, 84(r4), 0, qr0
/* 8032576C 003226AC E0 04 00 5C */ psq_l f0, 92(r4), 0, qr0
/* 80325770 003226B0 F0 E3 00 24 */ psq_st f7, 36(r3), 0, qr0
/* 80325774 003226B4 F0 C3 00 2C */ psq_st f6, 44(r3), 0, qr0
/* 80325778 003226B8 F0 A3 00 34 */ psq_st f5, 52(r3), 0, qr0
/* 8032577C 003226BC F0 83 00 3C */ psq_st f4, 60(r3), 0, qr0
/* 80325780 003226C0 F0 63 00 44 */ psq_st f3, 68(r3), 0, qr0
/* 80325784 003226C4 F0 43 00 4C */ psq_st f2, 76(r3), 0, qr0
/* 80325788 003226C8 F0 23 00 54 */ psq_st f1, 84(r3), 0, qr0
/* 8032578C 003226CC F0 03 00 5C */ psq_st f0, 92(r3), 0, qr0
/* 80325790 003226D0 4E 80 00 20 */ blr
.global J3DTexMtxInfo_NS_setEffectMtx
J3DTexMtxInfo_NS_setEffectMtx:
/* 80325794 003226D4 E0 A4 00 00 */ psq_l f5, 0(r4), 0, qr0
/* 80325798 003226D8 E0 84 00 08 */ psq_l f4, 8(r4), 0, qr0
/* 8032579C 003226DC E0 64 00 10 */ psq_l f3, 16(r4), 0, qr0
/* 803257A0 003226E0 E0 44 00 18 */ psq_l f2, 24(r4), 0, qr0
/* 803257A4 003226E4 E0 24 00 20 */ psq_l f1, 32(r4), 0, qr0
/* 803257A8 003226E8 E0 04 00 28 */ psq_l f0, 40(r4), 0, qr0
/* 803257AC 003226EC F0 A3 00 24 */ psq_st f5, 36(r3), 0, qr0
/* 803257B0 003226F0 F0 83 00 2C */ psq_st f4, 44(r3), 0, qr0
/* 803257B4 003226F4 F0 63 00 34 */ psq_st f3, 52(r3), 0, qr0
/* 803257B8 003226F8 F0 43 00 3C */ psq_st f2, 60(r3), 0, qr0
/* 803257BC 003226FC F0 23 00 44 */ psq_st f1, 68(r3), 0, qr0
/* 803257C0 00322700 F0 03 00 4C */ psq_st f0, 76(r3), 0, qr0
/* 803257C4 00322704 C0 C2 CA 14 */ lfs f6, lbl_80456414-_SDA2_BASE_(r2)
/* 803257C8 00322708 F0 C3 00 54 */ psq_st f6, 84(r3), 0, qr0
/* 803257CC 0032270C D0 C3 00 5C */ stfs f6, 0x5c(r3)
/* 803257D0 00322710 C0 02 CA 10 */ lfs f0, lbl_80456410-_SDA2_BASE_(r2)
/* 803257D4 00322714 D0 03 00 60 */ stfs f0, 0x60(r3)
/* 803257D8 00322718 4E 80 00 20 */ blr
.global J3DIndTexMtxInfo_NS___as
J3DIndTexMtxInfo_NS___as:
/* 803257DC 0032271C E0 44 00 00 */ psq_l f2, 0(r4), 0, qr0
/* 803257E0 00322720 E0 24 00 08 */ psq_l f1, 8(r4), 0, qr0
/* 803257E4 00322724 E0 04 00 10 */ psq_l f0, 16(r4), 0, qr0
/* 803257E8 00322728 F0 43 00 00 */ psq_st f2, 0(r3), 0, qr0
/* 803257EC 0032272C F0 23 00 08 */ psq_st f1, 8(r3), 0, qr0
/* 803257F0 00322730 F0 03 00 10 */ psq_st f0, 16(r3), 0, qr0
/* 803257F4 00322734 88 04 00 18 */ lbz r0, 0x18(r4)
/* 803257F8 00322738 98 03 00 18 */ stb r0, 0x18(r3)
/* 803257FC 0032273C 4E 80 00 20 */ blr
.global J3DFogInfo_NS___as
J3DFogInfo_NS___as:
/* 80325800 00322740 88 04 00 00 */ lbz r0, 0(r4)
/* 80325804 00322744 98 03 00 00 */ stb r0, 0(r3)
/* 80325808 00322748 88 04 00 01 */ lbz r0, 1(r4)
/* 8032580C 0032274C 98 03 00 01 */ stb r0, 1(r3)
/* 80325810 00322750 A0 04 00 02 */ lhz r0, 2(r4)
/* 80325814 00322754 B0 03 00 02 */ sth r0, 2(r3)
/* 80325818 00322758 C0 04 00 04 */ lfs f0, 4(r4)
/* 8032581C 0032275C D0 03 00 04 */ stfs f0, 4(r3)
/* 80325820 00322760 C0 04 00 08 */ lfs f0, 8(r4)
/* 80325824 00322764 D0 03 00 08 */ stfs f0, 8(r3)
/* 80325828 00322768 C0 04 00 0C */ lfs f0, 0xc(r4)
/* 8032582C 0032276C D0 03 00 0C */ stfs f0, 0xc(r3)
/* 80325830 00322770 C0 04 00 10 */ lfs f0, 0x10(r4)
/* 80325834 00322774 D0 03 00 10 */ stfs f0, 0x10(r3)
/* 80325838 00322778 88 04 00 14 */ lbz r0, 0x14(r4)
/* 8032583C 0032277C 98 03 00 14 */ stb r0, 0x14(r3)
/* 80325840 00322780 88 04 00 15 */ lbz r0, 0x15(r4)
/* 80325844 00322784 98 03 00 15 */ stb r0, 0x15(r3)
/* 80325848 00322788 88 04 00 16 */ lbz r0, 0x16(r4)
/* 8032584C 0032278C 98 03 00 16 */ stb r0, 0x16(r3)
/* 80325850 00322790 88 04 00 17 */ lbz r0, 0x17(r4)
/* 80325854 00322794 98 03 00 17 */ stb r0, 0x17(r3)
/* 80325858 00322798 38 A0 00 00 */ li r5, 0
/* 8032585C 0032279C 38 00 00 0A */ li r0, 0xa
/* 80325860 003227A0 7C 09 03 A6 */ mtctr r0
lbl_80325864:
/* 80325864 003227A4 38 C5 00 18 */ addi r6, r5, 0x18
/* 80325868 003227A8 7C 04 32 2E */ lhzx r0, r4, r6
/* 8032586C 003227AC 7C 03 33 2E */ sthx r0, r3, r6
/* 80325870 003227B0 38 A5 00 02 */ addi r5, r5, 2
/* 80325874 003227B4 42 00 FF F0 */ bdnz lbl_80325864
/* 80325878 003227B8 4E 80 00 20 */ blr
.global J3DNBTScaleInfo_NS___as
J3DNBTScaleInfo_NS___as:
/* 8032587C 003227BC 88 04 00 00 */ lbz r0, 0(r4)
/* 80325880 003227C0 98 03 00 00 */ stb r0, 0(r3)
/* 80325884 003227C4 C0 04 00 04 */ lfs f0, 4(r4)
/* 80325888 003227C8 D0 03 00 04 */ stfs f0, 4(r3)
/* 8032588C 003227CC C0 04 00 08 */ lfs f0, 8(r4)
/* 80325890 003227D0 D0 03 00 08 */ stfs f0, 8(r3)
/* 80325894 003227D4 C0 04 00 0C */ lfs f0, 0xc(r4)
/* 80325898 003227D8 D0 03 00 0C */ stfs f0, 0xc(r3)
/* 8032589C 003227DC 4E 80 00 20 */ blr

1166
asm/J3DGraphBase/J3DSys.s Normal file

File diff suppressed because it is too large Load Diff

1760
asm/J3DGraphBase/J3DTevs.s Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,294 @@
.include "macros.inc"
.section .text, "ax" # 8031204c
.global J3DTexture_NS_loadGX
J3DTexture_NS_loadGX:
/* 8031204C 0030EF8C 94 21 FF A0 */ stwu r1, -0x60(r1)
/* 80312050 0030EF90 7C 08 02 A6 */ mflr r0
/* 80312054 0030EF94 90 01 00 64 */ stw r0, 0x64(r1)
/* 80312058 0030EF98 93 E1 00 5C */ stw r31, 0x5c(r1)
/* 8031205C 0030EF9C 93 C1 00 58 */ stw r30, 0x58(r1)
/* 80312060 0030EFA0 7C BE 2B 78 */ mr r30, r5
/* 80312064 0030EFA4 80 63 00 04 */ lwz r3, 4(r3)
/* 80312068 0030EFA8 54 80 2A F4 */ rlwinm r0, r4, 5, 0xb, 0x1a
/* 8031206C 0030EFAC 7F E3 02 14 */ add r31, r3, r0
/* 80312070 0030EFB0 88 1F 00 08 */ lbz r0, 8(r31)
/* 80312074 0030EFB4 28 00 00 00 */ cmplwi r0, 0
/* 80312078 0030EFB8 40 82 00 30 */ bne lbl_803120A8
/* 8031207C 0030EFBC 38 61 00 1C */ addi r3, r1, 0x1c
/* 80312080 0030EFC0 80 1F 00 1C */ lwz r0, 0x1c(r31)
/* 80312084 0030EFC4 7C 9F 02 14 */ add r4, r31, r0
/* 80312088 0030EFC8 A0 BF 00 02 */ lhz r5, 2(r31)
/* 8031208C 0030EFCC A0 DF 00 04 */ lhz r6, 4(r31)
/* 80312090 0030EFD0 88 FF 00 00 */ lbz r7, 0(r31)
/* 80312094 0030EFD4 89 1F 00 06 */ lbz r8, 6(r31)
/* 80312098 0030EFD8 89 3F 00 07 */ lbz r9, 7(r31)
/* 8031209C 0030EFDC 89 5F 00 10 */ lbz r10, 0x10(r31)
/* 803120A0 0030EFE0 48 04 BD A1 */ bl GXInitTexObj
/* 803120A4 0030EFE4 48 00 00 54 */ b lbl_803120F8
lbl_803120A8:
/* 803120A8 0030EFE8 93 C1 00 08 */ stw r30, 8(r1)
/* 803120AC 0030EFEC 38 61 00 1C */ addi r3, r1, 0x1c
/* 803120B0 0030EFF0 80 1F 00 1C */ lwz r0, 0x1c(r31)
/* 803120B4 0030EFF4 7C 9F 02 14 */ add r4, r31, r0
/* 803120B8 0030EFF8 A0 BF 00 02 */ lhz r5, 2(r31)
/* 803120BC 0030EFFC A0 DF 00 04 */ lhz r6, 4(r31)
/* 803120C0 0030F000 88 FF 00 00 */ lbz r7, 0(r31)
/* 803120C4 0030F004 89 1F 00 06 */ lbz r8, 6(r31)
/* 803120C8 0030F008 89 3F 00 07 */ lbz r9, 7(r31)
/* 803120CC 0030F00C 89 5F 00 10 */ lbz r10, 0x10(r31)
/* 803120D0 0030F010 48 04 BF BD */ bl GXInitTexObjCI
/* 803120D4 0030F014 38 61 00 10 */ addi r3, r1, 0x10
/* 803120D8 0030F018 80 1F 00 0C */ lwz r0, 0xc(r31)
/* 803120DC 0030F01C 7C 9F 02 14 */ add r4, r31, r0
/* 803120E0 0030F020 88 BF 00 09 */ lbz r5, 9(r31)
/* 803120E4 0030F024 A0 DF 00 0A */ lhz r6, 0xa(r31)
/* 803120E8 0030F028 48 04 C3 81 */ bl GXInitTlutObj
/* 803120EC 0030F02C 38 61 00 10 */ addi r3, r1, 0x10
/* 803120F0 0030F030 7F C4 F3 78 */ mr r4, r30
/* 803120F4 0030F034 48 04 C3 AD */ bl GXLoadTlut
lbl_803120F8:
/* 803120F8 0030F038 38 61 00 1C */ addi r3, r1, 0x1c
/* 803120FC 0030F03C 88 9F 00 14 */ lbz r4, 0x14(r31)
/* 80312100 0030F040 88 BF 00 15 */ lbz r5, 0x15(r31)
/* 80312104 0030F044 C0 42 C9 88 */ lfs f2, lbl_80456388-_SDA2_BASE_(r2)
/* 80312108 0030F048 88 1F 00 16 */ lbz r0, 0x16(r31)
/* 8031210C 0030F04C 7C 00 07 74 */ extsb r0, r0
/* 80312110 0030F050 C8 82 C9 90 */ lfd f4, lbl_80456390-_SDA2_BASE_(r2)
/* 80312114 0030F054 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 80312118 0030F058 90 01 00 44 */ stw r0, 0x44(r1)
/* 8031211C 0030F05C 3C C0 43 30 */ lis r6, 0x4330
/* 80312120 0030F060 90 C1 00 40 */ stw r6, 0x40(r1)
/* 80312124 0030F064 C8 01 00 40 */ lfd f0, 0x40(r1)
/* 80312128 0030F068 EC 00 20 28 */ fsubs f0, f0, f4
/* 8031212C 0030F06C EC 22 00 32 */ fmuls f1, f2, f0
/* 80312130 0030F070 88 1F 00 17 */ lbz r0, 0x17(r31)
/* 80312134 0030F074 7C 00 07 74 */ extsb r0, r0
/* 80312138 0030F078 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 8031213C 0030F07C 90 01 00 4C */ stw r0, 0x4c(r1)
/* 80312140 0030F080 90 C1 00 48 */ stw r6, 0x48(r1)
/* 80312144 0030F084 C8 01 00 48 */ lfd f0, 0x48(r1)
/* 80312148 0030F088 EC 00 20 28 */ fsubs f0, f0, f4
/* 8031214C 0030F08C EC 42 00 32 */ fmuls f2, f2, f0
/* 80312150 0030F090 C0 62 C9 8C */ lfs f3, lbl_8045638C-_SDA2_BASE_(r2)
/* 80312154 0030F094 A8 1F 00 1A */ lha r0, 0x1a(r31)
/* 80312158 0030F098 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 8031215C 0030F09C 90 01 00 54 */ stw r0, 0x54(r1)
/* 80312160 0030F0A0 90 C1 00 50 */ stw r6, 0x50(r1)
/* 80312164 0030F0A4 C8 01 00 50 */ lfd f0, 0x50(r1)
/* 80312168 0030F0A8 EC 00 20 28 */ fsubs f0, f0, f4
/* 8031216C 0030F0AC EC 63 00 32 */ fmuls f3, f3, f0
/* 80312170 0030F0B0 88 DF 00 12 */ lbz r6, 0x12(r31)
/* 80312174 0030F0B4 88 FF 00 11 */ lbz r7, 0x11(r31)
/* 80312178 0030F0B8 89 1F 00 13 */ lbz r8, 0x13(r31)
/* 8031217C 0030F0BC 48 04 BF 59 */ bl GXInitTexObjLOD
/* 80312180 0030F0C0 38 61 00 1C */ addi r3, r1, 0x1c
/* 80312184 0030F0C4 7F C4 F3 78 */ mr r4, r30
/* 80312188 0030F0C8 48 04 C2 8D */ bl GXLoadTexObj
/* 8031218C 0030F0CC 83 E1 00 5C */ lwz r31, 0x5c(r1)
/* 80312190 0030F0D0 83 C1 00 58 */ lwz r30, 0x58(r1)
/* 80312194 0030F0D4 80 01 00 64 */ lwz r0, 0x64(r1)
/* 80312198 0030F0D8 7C 08 03 A6 */ mtlr r0
/* 8031219C 0030F0DC 38 21 00 60 */ addi r1, r1, 0x60
/* 803121A0 0030F0E0 4E 80 00 20 */ blr
.global J3DTexture_NS_entryNum
J3DTexture_NS_entryNum:
/* 803121A4 0030F0E4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 803121A8 0030F0E8 7C 08 02 A6 */ mflr r0
/* 803121AC 0030F0EC 90 01 00 14 */ stw r0, 0x14(r1)
/* 803121B0 0030F0F0 93 E1 00 0C */ stw r31, 0xc(r1)
/* 803121B4 0030F0F4 7C 7F 1B 78 */ mr r31, r3
/* 803121B8 0030F0F8 B0 83 00 00 */ sth r4, 0(r3)
/* 803121BC 0030F0FC 54 83 2A F4 */ rlwinm r3, r4, 5, 0xb, 0x1a
/* 803121C0 0030F100 4B FB CB 05 */ bl __nwa
/* 803121C4 0030F104 90 7F 00 04 */ stw r3, 4(r31)
/* 803121C8 0030F108 38 E0 00 00 */ li r7, 0
/* 803121CC 0030F10C 38 60 00 00 */ li r3, 0
/* 803121D0 0030F110 7C 66 1B 78 */ mr r6, r3
/* 803121D4 0030F114 7C 65 1B 78 */ mr r5, r3
/* 803121D8 0030F118 48 00 00 24 */ b lbl_803121FC
lbl_803121DC:
/* 803121DC 0030F11C 80 9F 00 04 */ lwz r4, 4(r31)
/* 803121E0 0030F120 38 03 00 0C */ addi r0, r3, 0xc
/* 803121E4 0030F124 7C C4 01 2E */ stwx r6, r4, r0
/* 803121E8 0030F128 80 9F 00 04 */ lwz r4, 4(r31)
/* 803121EC 0030F12C 38 03 00 1C */ addi r0, r3, 0x1c
/* 803121F0 0030F130 7C A4 01 2E */ stwx r5, r4, r0
/* 803121F4 0030F134 38 E7 00 01 */ addi r7, r7, 1
/* 803121F8 0030F138 38 63 00 20 */ addi r3, r3, 0x20
lbl_803121FC:
/* 803121FC 0030F13C A0 1F 00 00 */ lhz r0, 0(r31)
/* 80312200 0030F140 7C 07 00 00 */ cmpw r7, r0
/* 80312204 0030F144 41 80 FF D8 */ blt lbl_803121DC
/* 80312208 0030F148 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8031220C 0030F14C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80312210 0030F150 7C 08 03 A6 */ mtlr r0
/* 80312214 0030F154 38 21 00 10 */ addi r1, r1, 0x10
/* 80312218 0030F158 4E 80 00 20 */ blr
.global J3DTexture_NS_addResTIMG
J3DTexture_NS_addResTIMG:
/* 8031221C 0030F15C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80312220 0030F160 7C 08 02 A6 */ mflr r0
/* 80312224 0030F164 90 01 00 24 */ stw r0, 0x24(r1)
/* 80312228 0030F168 39 61 00 20 */ addi r11, r1, 0x20
/* 8031222C 0030F16C 48 04 FF AD */ bl func_803621D8
/* 80312230 0030F170 7C 7C 1B 78 */ mr r28, r3
/* 80312234 0030F174 7C BD 2B 78 */ mr r29, r5
/* 80312238 0030F178 54 80 04 3F */ clrlwi. r0, r4, 0x10
/* 8031223C 0030F17C 41 82 02 34 */ beq lbl_80312470
/* 80312240 0030F180 A0 1C 00 00 */ lhz r0, 0(r28)
/* 80312244 0030F184 7C 1F 03 78 */ mr r31, r0
/* 80312248 0030F188 83 DC 00 04 */ lwz r30, 4(r28)
/* 8031224C 0030F18C 7C 00 22 14 */ add r0, r0, r4
/* 80312250 0030F190 54 04 04 3E */ clrlwi r4, r0, 0x10
/* 80312254 0030F194 4B FF FF 51 */ bl J3DTexture_NS_entryNum
/* 80312258 0030F198 38 A0 00 00 */ li r5, 0
/* 8031225C 0030F19C 57 E6 04 3E */ clrlwi r6, r31, 0x10
/* 80312260 0030F1A0 48 00 00 F8 */ b lbl_80312358
lbl_80312264:
/* 80312264 0030F1A4 80 7C 00 04 */ lwz r3, 4(r28)
/* 80312268 0030F1A8 54 A0 2A F4 */ rlwinm r0, r5, 5, 0xb, 0x1a
/* 8031226C 0030F1AC 7C 63 02 14 */ add r3, r3, r0
/* 80312270 0030F1B0 7C 9E 02 14 */ add r4, r30, r0
/* 80312274 0030F1B4 88 E4 00 00 */ lbz r7, 0(r4)
/* 80312278 0030F1B8 98 E3 00 00 */ stb r7, 0(r3)
/* 8031227C 0030F1BC 88 E4 00 01 */ lbz r7, 1(r4)
/* 80312280 0030F1C0 98 E3 00 01 */ stb r7, 1(r3)
/* 80312284 0030F1C4 A0 E4 00 02 */ lhz r7, 2(r4)
/* 80312288 0030F1C8 B0 E3 00 02 */ sth r7, 2(r3)
/* 8031228C 0030F1CC A0 E4 00 04 */ lhz r7, 4(r4)
/* 80312290 0030F1D0 B0 E3 00 04 */ sth r7, 4(r3)
/* 80312294 0030F1D4 88 E4 00 06 */ lbz r7, 6(r4)
/* 80312298 0030F1D8 98 E3 00 06 */ stb r7, 6(r3)
/* 8031229C 0030F1DC 88 E4 00 07 */ lbz r7, 7(r4)
/* 803122A0 0030F1E0 98 E3 00 07 */ stb r7, 7(r3)
/* 803122A4 0030F1E4 88 E4 00 08 */ lbz r7, 8(r4)
/* 803122A8 0030F1E8 98 E3 00 08 */ stb r7, 8(r3)
/* 803122AC 0030F1EC 88 E4 00 09 */ lbz r7, 9(r4)
/* 803122B0 0030F1F0 98 E3 00 09 */ stb r7, 9(r3)
/* 803122B4 0030F1F4 A0 E4 00 0A */ lhz r7, 0xa(r4)
/* 803122B8 0030F1F8 B0 E3 00 0A */ sth r7, 0xa(r3)
/* 803122BC 0030F1FC 80 E4 00 0C */ lwz r7, 0xc(r4)
/* 803122C0 0030F200 90 E3 00 0C */ stw r7, 0xc(r3)
/* 803122C4 0030F204 88 E4 00 10 */ lbz r7, 0x10(r4)
/* 803122C8 0030F208 98 E3 00 10 */ stb r7, 0x10(r3)
/* 803122CC 0030F20C 88 E4 00 11 */ lbz r7, 0x11(r4)
/* 803122D0 0030F210 98 E3 00 11 */ stb r7, 0x11(r3)
/* 803122D4 0030F214 88 E4 00 12 */ lbz r7, 0x12(r4)
/* 803122D8 0030F218 98 E3 00 12 */ stb r7, 0x12(r3)
/* 803122DC 0030F21C 88 E4 00 13 */ lbz r7, 0x13(r4)
/* 803122E0 0030F220 98 E3 00 13 */ stb r7, 0x13(r3)
/* 803122E4 0030F224 88 E4 00 14 */ lbz r7, 0x14(r4)
/* 803122E8 0030F228 98 E3 00 14 */ stb r7, 0x14(r3)
/* 803122EC 0030F22C 88 E4 00 15 */ lbz r7, 0x15(r4)
/* 803122F0 0030F230 98 E3 00 15 */ stb r7, 0x15(r3)
/* 803122F4 0030F234 88 E4 00 16 */ lbz r7, 0x16(r4)
/* 803122F8 0030F238 98 E3 00 16 */ stb r7, 0x16(r3)
/* 803122FC 0030F23C 88 E4 00 17 */ lbz r7, 0x17(r4)
/* 80312300 0030F240 98 E3 00 17 */ stb r7, 0x17(r3)
/* 80312304 0030F244 88 E4 00 18 */ lbz r7, 0x18(r4)
/* 80312308 0030F248 98 E3 00 18 */ stb r7, 0x18(r3)
/* 8031230C 0030F24C 88 E4 00 19 */ lbz r7, 0x19(r4)
/* 80312310 0030F250 98 E3 00 19 */ stb r7, 0x19(r3)
/* 80312314 0030F254 A8 E4 00 1A */ lha r7, 0x1a(r4)
/* 80312318 0030F258 B0 E3 00 1A */ sth r7, 0x1a(r3)
/* 8031231C 0030F25C 80 E4 00 1C */ lwz r7, 0x1c(r4)
/* 80312320 0030F260 90 E3 00 1C */ stw r7, 0x1c(r3)
/* 80312324 0030F264 80 7C 00 04 */ lwz r3, 4(r28)
/* 80312328 0030F268 7C E3 02 14 */ add r7, r3, r0
/* 8031232C 0030F26C 80 67 00 1C */ lwz r3, 0x1c(r7)
/* 80312330 0030F270 7C 64 1A 14 */ add r3, r4, r3
/* 80312334 0030F274 7C 67 18 50 */ subf r3, r7, r3
/* 80312338 0030F278 90 67 00 1C */ stw r3, 0x1c(r7)
/* 8031233C 0030F27C 80 7C 00 04 */ lwz r3, 4(r28)
/* 80312340 0030F280 7C 63 02 14 */ add r3, r3, r0
/* 80312344 0030F284 80 03 00 0C */ lwz r0, 0xc(r3)
/* 80312348 0030F288 7C 04 02 14 */ add r0, r4, r0
/* 8031234C 0030F28C 7C 03 00 50 */ subf r0, r3, r0
/* 80312350 0030F290 90 03 00 0C */ stw r0, 0xc(r3)
/* 80312354 0030F294 38 A5 00 01 */ addi r5, r5, 1
lbl_80312358:
/* 80312358 0030F298 54 A0 04 3E */ clrlwi r0, r5, 0x10
/* 8031235C 0030F29C 7C 00 30 40 */ cmplw r0, r6
/* 80312360 0030F2A0 41 80 FF 04 */ blt lbl_80312264
/* 80312364 0030F2A4 7F E4 FB 78 */ mr r4, r31
/* 80312368 0030F2A8 48 00 00 F8 */ b lbl_80312460
lbl_8031236C:
/* 8031236C 0030F2AC 80 7C 00 04 */ lwz r3, 4(r28)
/* 80312370 0030F2B0 54 80 2A F4 */ rlwinm r0, r4, 5, 0xb, 0x1a
/* 80312374 0030F2B4 7C C3 02 14 */ add r6, r3, r0
/* 80312378 0030F2B8 7C 7D 02 14 */ add r3, r29, r0
/* 8031237C 0030F2BC 88 A3 00 00 */ lbz r5, 0(r3)
/* 80312380 0030F2C0 98 A6 00 00 */ stb r5, 0(r6)
/* 80312384 0030F2C4 88 A3 00 01 */ lbz r5, 1(r3)
/* 80312388 0030F2C8 98 A6 00 01 */ stb r5, 1(r6)
/* 8031238C 0030F2CC A0 A3 00 02 */ lhz r5, 2(r3)
/* 80312390 0030F2D0 B0 A6 00 02 */ sth r5, 2(r6)
/* 80312394 0030F2D4 A0 A3 00 04 */ lhz r5, 4(r3)
/* 80312398 0030F2D8 B0 A6 00 04 */ sth r5, 4(r6)
/* 8031239C 0030F2DC 88 A3 00 06 */ lbz r5, 6(r3)
/* 803123A0 0030F2E0 98 A6 00 06 */ stb r5, 6(r6)
/* 803123A4 0030F2E4 88 A3 00 07 */ lbz r5, 7(r3)
/* 803123A8 0030F2E8 98 A6 00 07 */ stb r5, 7(r6)
/* 803123AC 0030F2EC 88 A3 00 08 */ lbz r5, 8(r3)
/* 803123B0 0030F2F0 98 A6 00 08 */ stb r5, 8(r6)
/* 803123B4 0030F2F4 88 A3 00 09 */ lbz r5, 9(r3)
/* 803123B8 0030F2F8 98 A6 00 09 */ stb r5, 9(r6)
/* 803123BC 0030F2FC A0 A3 00 0A */ lhz r5, 0xa(r3)
/* 803123C0 0030F300 B0 A6 00 0A */ sth r5, 0xa(r6)
/* 803123C4 0030F304 80 A3 00 0C */ lwz r5, 0xc(r3)
/* 803123C8 0030F308 90 A6 00 0C */ stw r5, 0xc(r6)
/* 803123CC 0030F30C 88 A3 00 10 */ lbz r5, 0x10(r3)
/* 803123D0 0030F310 98 A6 00 10 */ stb r5, 0x10(r6)
/* 803123D4 0030F314 88 A3 00 11 */ lbz r5, 0x11(r3)
/* 803123D8 0030F318 98 A6 00 11 */ stb r5, 0x11(r6)
/* 803123DC 0030F31C 88 A3 00 12 */ lbz r5, 0x12(r3)
/* 803123E0 0030F320 98 A6 00 12 */ stb r5, 0x12(r6)
/* 803123E4 0030F324 88 A3 00 13 */ lbz r5, 0x13(r3)
/* 803123E8 0030F328 98 A6 00 13 */ stb r5, 0x13(r6)
/* 803123EC 0030F32C 88 A3 00 14 */ lbz r5, 0x14(r3)
/* 803123F0 0030F330 98 A6 00 14 */ stb r5, 0x14(r6)
/* 803123F4 0030F334 88 A3 00 15 */ lbz r5, 0x15(r3)
/* 803123F8 0030F338 98 A6 00 15 */ stb r5, 0x15(r6)
/* 803123FC 0030F33C 88 A3 00 16 */ lbz r5, 0x16(r3)
/* 80312400 0030F340 98 A6 00 16 */ stb r5, 0x16(r6)
/* 80312404 0030F344 88 A3 00 17 */ lbz r5, 0x17(r3)
/* 80312408 0030F348 98 A6 00 17 */ stb r5, 0x17(r6)
/* 8031240C 0030F34C 88 A3 00 18 */ lbz r5, 0x18(r3)
/* 80312410 0030F350 98 A6 00 18 */ stb r5, 0x18(r6)
/* 80312414 0030F354 88 A3 00 19 */ lbz r5, 0x19(r3)
/* 80312418 0030F358 98 A6 00 19 */ stb r5, 0x19(r6)
/* 8031241C 0030F35C A8 A3 00 1A */ lha r5, 0x1a(r3)
/* 80312420 0030F360 B0 A6 00 1A */ sth r5, 0x1a(r6)
/* 80312424 0030F364 80 A3 00 1C */ lwz r5, 0x1c(r3)
/* 80312428 0030F368 90 A6 00 1C */ stw r5, 0x1c(r6)
/* 8031242C 0030F36C 80 BC 00 04 */ lwz r5, 4(r28)
/* 80312430 0030F370 7C C5 02 14 */ add r6, r5, r0
/* 80312434 0030F374 80 A6 00 1C */ lwz r5, 0x1c(r6)
/* 80312438 0030F378 7C A3 2A 14 */ add r5, r3, r5
/* 8031243C 0030F37C 7C A6 28 50 */ subf r5, r6, r5
/* 80312440 0030F380 90 A6 00 1C */ stw r5, 0x1c(r6)
/* 80312444 0030F384 80 BC 00 04 */ lwz r5, 4(r28)
/* 80312448 0030F388 7C A5 02 14 */ add r5, r5, r0
/* 8031244C 0030F38C 80 05 00 0C */ lwz r0, 0xc(r5)
/* 80312450 0030F390 7C 03 02 14 */ add r0, r3, r0
/* 80312454 0030F394 7C 05 00 50 */ subf r0, r5, r0
/* 80312458 0030F398 90 05 00 0C */ stw r0, 0xc(r5)
/* 8031245C 0030F39C 38 84 00 01 */ addi r4, r4, 1
lbl_80312460:
/* 80312460 0030F3A0 54 83 04 3E */ clrlwi r3, r4, 0x10
/* 80312464 0030F3A4 A0 1C 00 00 */ lhz r0, 0(r28)
/* 80312468 0030F3A8 7C 03 00 40 */ cmplw r3, r0
/* 8031246C 0030F3AC 41 80 FF 00 */ blt lbl_8031236C
lbl_80312470:
/* 80312470 0030F3B0 39 61 00 20 */ addi r11, r1, 0x20
/* 80312474 0030F3B4 48 04 FD B1 */ bl func_80362224
/* 80312478 0030F3B8 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8031247C 0030F3BC 7C 08 03 A6 */ mtlr r0
/* 80312480 0030F3C0 38 21 00 20 */ addi r1, r1, 0x20
/* 80312484 0030F3C4 4E 80 00 20 */ blr

View File

@ -0,0 +1,714 @@
.include "macros.inc"
.section .text, "ax" # 80311630
.global __MTGQR7
__MTGQR7:
/* 80311630 0030E570 7C 77 E3 A6 */ mtspr 0x397, r3
/* 80311634 0030E574 4E 80 00 20 */ blr
.global J3DGQRSetup7
J3DGQRSetup7:
/* 80311638 0030E578 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8031163C 0030E57C 7C 08 02 A6 */ mflr r0
/* 80311640 0030E580 90 01 00 14 */ stw r0, 0x14(r1)
/* 80311644 0030E584 54 60 40 2E */ slwi r0, r3, 8
/* 80311648 0030E588 7C 00 22 14 */ add r0, r0, r4
/* 8031164C 0030E58C 54 03 80 1E */ slwi r3, r0, 0x10
/* 80311650 0030E590 54 A0 40 2E */ slwi r0, r5, 8
/* 80311654 0030E594 7C 00 32 14 */ add r0, r0, r6
/* 80311658 0030E598 7C 63 03 78 */ or r3, r3, r0
/* 8031165C 0030E59C 4B FF FF D5 */ bl __MTGQR7
/* 80311660 0030E5A0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80311664 0030E5A4 7C 08 03 A6 */ mtlr r0
/* 80311668 0030E5A8 38 21 00 10 */ addi r1, r1, 0x10
/* 8031166C 0030E5AC 4E 80 00 20 */ blr
.global J3DCalcBBoardMtx
J3DCalcBBoardMtx:
/* 80311670 0030E5B0 C0 23 00 20 */ lfs f1, 0x20(r3)
/* 80311674 0030E5B4 EC 61 00 72 */ fmuls f3, f1, f1
/* 80311678 0030E5B8 C0 23 00 00 */ lfs f1, 0(r3)
/* 8031167C 0030E5BC EC 41 00 72 */ fmuls f2, f1, f1
/* 80311680 0030E5C0 C0 23 00 10 */ lfs f1, 0x10(r3)
/* 80311684 0030E5C4 EC 21 00 72 */ fmuls f1, f1, f1
/* 80311688 0030E5C8 EC 22 08 2A */ fadds f1, f2, f1
/* 8031168C 0030E5CC EC 83 08 2A */ fadds f4, f3, f1
/* 80311690 0030E5D0 C0 23 00 24 */ lfs f1, 0x24(r3)
/* 80311694 0030E5D4 EC 61 00 72 */ fmuls f3, f1, f1
/* 80311698 0030E5D8 C0 23 00 04 */ lfs f1, 4(r3)
/* 8031169C 0030E5DC EC 41 00 72 */ fmuls f2, f1, f1
/* 803116A0 0030E5E0 C0 23 00 14 */ lfs f1, 0x14(r3)
/* 803116A4 0030E5E4 EC 21 00 72 */ fmuls f1, f1, f1
/* 803116A8 0030E5E8 EC 22 08 2A */ fadds f1, f2, f1
/* 803116AC 0030E5EC EC A3 08 2A */ fadds f5, f3, f1
/* 803116B0 0030E5F0 C0 23 00 28 */ lfs f1, 0x28(r3)
/* 803116B4 0030E5F4 EC 61 00 72 */ fmuls f3, f1, f1
/* 803116B8 0030E5F8 C0 23 00 08 */ lfs f1, 8(r3)
/* 803116BC 0030E5FC EC 41 00 72 */ fmuls f2, f1, f1
/* 803116C0 0030E600 C0 23 00 18 */ lfs f1, 0x18(r3)
/* 803116C4 0030E604 EC 21 00 72 */ fmuls f1, f1, f1
/* 803116C8 0030E608 EC 22 08 2A */ fadds f1, f2, f1
/* 803116CC 0030E60C EC 43 08 2A */ fadds f2, f3, f1
/* 803116D0 0030E610 C0 22 C9 78 */ lfs f1, lbl_80456378-_SDA2_BASE_(r2)
/* 803116D4 0030E614 FC 04 08 40 */ fcmpo cr0, f4, f1
/* 803116D8 0030E618 40 81 00 1C */ ble lbl_803116F4
/* 803116DC 0030E61C 40 81 00 10 */ ble lbl_803116EC
/* 803116E0 0030E620 FC 20 20 34 */ frsqrte f1, f4
/* 803116E4 0030E624 EC 21 01 32 */ fmuls f1, f1, f4
/* 803116E8 0030E628 48 00 00 08 */ b lbl_803116F0
lbl_803116EC:
/* 803116EC 0030E62C FC 20 20 90 */ fmr f1, f4
lbl_803116F0:
/* 803116F0 0030E630 FC 80 08 90 */ fmr f4, f1
lbl_803116F4:
/* 803116F4 0030E634 C0 22 C9 78 */ lfs f1, lbl_80456378-_SDA2_BASE_(r2)
/* 803116F8 0030E638 FC 05 08 40 */ fcmpo cr0, f5, f1
/* 803116FC 0030E63C 40 81 00 1C */ ble lbl_80311718
/* 80311700 0030E640 40 81 00 10 */ ble lbl_80311710
/* 80311704 0030E644 FC 20 28 34 */ frsqrte f1, f5
/* 80311708 0030E648 EC 21 01 72 */ fmuls f1, f1, f5
/* 8031170C 0030E64C 48 00 00 08 */ b lbl_80311714
lbl_80311710:
/* 80311710 0030E650 FC 20 28 90 */ fmr f1, f5
lbl_80311714:
/* 80311714 0030E654 FC A0 08 90 */ fmr f5, f1
lbl_80311718:
/* 80311718 0030E658 C0 22 C9 78 */ lfs f1, lbl_80456378-_SDA2_BASE_(r2)
/* 8031171C 0030E65C FC 02 08 40 */ fcmpo cr0, f2, f1
/* 80311720 0030E660 40 81 00 1C */ ble lbl_8031173C
/* 80311724 0030E664 40 81 00 10 */ ble lbl_80311734
/* 80311728 0030E668 FC 20 10 34 */ frsqrte f1, f2
/* 8031172C 0030E66C EC 21 00 B2 */ fmuls f1, f1, f2
/* 80311730 0030E670 48 00 00 08 */ b lbl_80311738
lbl_80311734:
/* 80311734 0030E674 FC 20 10 90 */ fmr f1, f2
lbl_80311738:
/* 80311738 0030E678 FC 40 08 90 */ fmr f2, f1
lbl_8031173C:
/* 8031173C 0030E67C C0 02 C9 78 */ lfs f0, lbl_80456378-_SDA2_BASE_(r2)
/* 80311740 0030E680 F0 03 00 04 */ psq_st f0, 4(r3), 0, qr0
/* 80311744 0030E684 F0 03 00 20 */ psq_st f0, 32(r3), 0, qr0
/* 80311748 0030E688 D0 83 00 00 */ stfs f4, 0(r3)
/* 8031174C 0030E68C D0 03 00 10 */ stfs f0, 0x10(r3)
/* 80311750 0030E690 D0 A3 00 14 */ stfs f5, 0x14(r3)
/* 80311754 0030E694 D0 03 00 18 */ stfs f0, 0x18(r3)
/* 80311758 0030E698 D0 43 00 28 */ stfs f2, 0x28(r3)
/* 8031175C 0030E69C 4E 80 00 20 */ blr
.global J3DCalcYBBoardMtx
J3DCalcYBBoardMtx:
/* 80311760 0030E6A0 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 80311764 0030E6A4 7C 08 02 A6 */ mflr r0
/* 80311768 0030E6A8 90 01 00 44 */ stw r0, 0x44(r1)
/* 8031176C 0030E6AC DB E1 00 30 */ stfd f31, 0x30(r1)
/* 80311770 0030E6B0 F3 E1 00 38 */ psq_st f31, 56(r1), 0, qr0
/* 80311774 0030E6B4 DB C1 00 20 */ stfd f30, 0x20(r1)
/* 80311778 0030E6B8 F3 C1 00 28 */ psq_st f30, 40(r1), 0, qr0
/* 8031177C 0030E6BC 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80311780 0030E6C0 7C 7F 1B 78 */ mr r31, r3
/* 80311784 0030E6C4 C0 03 00 20 */ lfs f0, 0x20(r3)
/* 80311788 0030E6C8 EC 40 00 32 */ fmuls f2, f0, f0
/* 8031178C 0030E6CC C0 03 00 00 */ lfs f0, 0(r3)
/* 80311790 0030E6D0 EC 20 00 32 */ fmuls f1, f0, f0
/* 80311794 0030E6D4 C0 03 00 10 */ lfs f0, 0x10(r3)
/* 80311798 0030E6D8 EC 00 00 32 */ fmuls f0, f0, f0
/* 8031179C 0030E6DC EC 01 00 2A */ fadds f0, f1, f0
/* 803117A0 0030E6E0 EF E2 00 2A */ fadds f31, f2, f0
/* 803117A4 0030E6E4 C0 03 00 28 */ lfs f0, 0x28(r3)
/* 803117A8 0030E6E8 EC 40 00 32 */ fmuls f2, f0, f0
/* 803117AC 0030E6EC C0 03 00 08 */ lfs f0, 8(r3)
/* 803117B0 0030E6F0 EC 20 00 32 */ fmuls f1, f0, f0
/* 803117B4 0030E6F4 C0 03 00 18 */ lfs f0, 0x18(r3)
/* 803117B8 0030E6F8 EC 00 00 32 */ fmuls f0, f0, f0
/* 803117BC 0030E6FC EC 01 00 2A */ fadds f0, f1, f0
/* 803117C0 0030E700 EF C2 00 2A */ fadds f30, f2, f0
/* 803117C4 0030E704 C0 02 C9 78 */ lfs f0, lbl_80456378-_SDA2_BASE_(r2)
/* 803117C8 0030E708 FC 1F 00 40 */ fcmpo cr0, f31, f0
/* 803117CC 0030E70C 40 81 00 1C */ ble lbl_803117E8
/* 803117D0 0030E710 40 81 00 10 */ ble lbl_803117E0
/* 803117D4 0030E714 FC 00 F8 34 */ frsqrte f0, f31
/* 803117D8 0030E718 EC 00 07 F2 */ fmuls f0, f0, f31
/* 803117DC 0030E71C 48 00 00 08 */ b lbl_803117E4
lbl_803117E0:
/* 803117E0 0030E720 FC 00 F8 90 */ fmr f0, f31
lbl_803117E4:
/* 803117E4 0030E724 FF E0 00 90 */ fmr f31, f0
lbl_803117E8:
/* 803117E8 0030E728 C0 02 C9 78 */ lfs f0, lbl_80456378-_SDA2_BASE_(r2)
/* 803117EC 0030E72C FC 1E 00 40 */ fcmpo cr0, f30, f0
/* 803117F0 0030E730 40 81 00 1C */ ble lbl_8031180C
/* 803117F4 0030E734 40 81 00 10 */ ble lbl_80311804
/* 803117F8 0030E738 FC 00 F0 34 */ frsqrte f0, f30
/* 803117FC 0030E73C EC 00 07 B2 */ fmuls f0, f0, f30
/* 80311800 0030E740 48 00 00 08 */ b lbl_80311808
lbl_80311804:
/* 80311804 0030E744 FC 00 F0 90 */ fmr f0, f30
lbl_80311808:
/* 80311808 0030E748 FF C0 00 90 */ fmr f30, f0
lbl_8031180C:
/* 8031180C 0030E74C 3C 60 80 3A */ lis r3, lbl_803A1E8C@ha
/* 80311810 0030E750 38 83 1E 8C */ addi r4, r3, lbl_803A1E8C@l
/* 80311814 0030E754 80 64 00 00 */ lwz r3, 0(r4)
/* 80311818 0030E758 80 04 00 04 */ lwz r0, 4(r4)
/* 8031181C 0030E75C 90 61 00 08 */ stw r3, 8(r1)
/* 80311820 0030E760 90 01 00 0C */ stw r0, 0xc(r1)
/* 80311824 0030E764 80 04 00 08 */ lwz r0, 8(r4)
/* 80311828 0030E768 90 01 00 10 */ stw r0, 0x10(r1)
/* 8031182C 0030E76C C0 1F 00 24 */ lfs f0, 0x24(r31)
/* 80311830 0030E770 FC 00 00 50 */ fneg f0, f0
/* 80311834 0030E774 D0 01 00 0C */ stfs f0, 0xc(r1)
/* 80311838 0030E778 C0 1F 00 14 */ lfs f0, 0x14(r31)
/* 8031183C 0030E77C D0 01 00 10 */ stfs f0, 0x10(r1)
/* 80311840 0030E780 38 61 00 08 */ addi r3, r1, 8
/* 80311844 0030E784 7C 64 1B 78 */ mr r4, r3
/* 80311848 0030E788 48 03 58 AD */ bl PSVECNormalize
/* 8031184C 0030E78C D3 FF 00 00 */ stfs f31, 0(r31)
/* 80311850 0030E790 C0 22 C9 78 */ lfs f1, lbl_80456378-_SDA2_BASE_(r2)
/* 80311854 0030E794 D0 3F 00 08 */ stfs f1, 8(r31)
/* 80311858 0030E798 D0 3F 00 10 */ stfs f1, 0x10(r31)
/* 8031185C 0030E79C C0 01 00 0C */ lfs f0, 0xc(r1)
/* 80311860 0030E7A0 EC 00 07 B2 */ fmuls f0, f0, f30
/* 80311864 0030E7A4 D0 1F 00 18 */ stfs f0, 0x18(r31)
/* 80311868 0030E7A8 D0 3F 00 20 */ stfs f1, 0x20(r31)
/* 8031186C 0030E7AC C0 01 00 10 */ lfs f0, 0x10(r1)
/* 80311870 0030E7B0 EC 00 07 B2 */ fmuls f0, f0, f30
/* 80311874 0030E7B4 D0 1F 00 28 */ stfs f0, 0x28(r31)
/* 80311878 0030E7B8 E3 E1 00 38 */ psq_l f31, 56(r1), 0, qr0
/* 8031187C 0030E7BC CB E1 00 30 */ lfd f31, 0x30(r1)
/* 80311880 0030E7C0 E3 C1 00 28 */ psq_l f30, 40(r1), 0, qr0
/* 80311884 0030E7C4 CB C1 00 20 */ lfd f30, 0x20(r1)
/* 80311888 0030E7C8 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8031188C 0030E7CC 80 01 00 44 */ lwz r0, 0x44(r1)
/* 80311890 0030E7D0 7C 08 03 A6 */ mtlr r0
/* 80311894 0030E7D4 38 21 00 40 */ addi r1, r1, 0x40
/* 80311898 0030E7D8 4E 80 00 20 */ blr
.global J3DPSCalcInverseTranspose
J3DPSCalcInverseTranspose:
/* 8031189C 0030E7DC E0 03 80 00 */ psq_l f0, 0(r3), 1, qr0
/* 803118A0 0030E7E0 E0 23 00 04 */ psq_l f1, 4(r3), 0, qr0
/* 803118A4 0030E7E4 E0 43 80 10 */ psq_l f2, 16(r3), 1, qr0
/* 803118A8 0030E7E8 10 C1 04 A0 */ ps_merge10 f6, f1, f0
/* 803118AC 0030E7EC E0 63 00 14 */ psq_l f3, 20(r3), 0, qr0
/* 803118B0 0030E7F0 E0 83 80 20 */ psq_l f4, 32(r3), 1, qr0
/* 803118B4 0030E7F4 10 E3 14 A0 */ ps_merge10 f7, f3, f2
/* 803118B8 0030E7F8 E0 A3 00 24 */ psq_l f5, 36(r3), 0, qr0
/* 803118BC 0030E7FC 11 63 01 B2 */ ps_mul f11, f3, f6
/* 803118C0 0030E800 11 05 24 A0 */ ps_merge10 f8, f5, f4
/* 803118C4 0030E804 11 A5 01 F2 */ ps_mul f13, f5, f7
/* 803118C8 0030E808 11 61 59 F8 */ ps_msub f11, f1, f7, f11
/* 803118CC 0030E80C 11 81 02 32 */ ps_mul f12, f1, f8
/* 803118D0 0030E810 11 A3 6A 38 */ ps_msub f13, f3, f8, f13
/* 803118D4 0030E814 11 85 61 B8 */ ps_msub f12, f5, f6, f12
/* 803118D8 0030E818 11 43 01 32 */ ps_mul f10, f3, f4
/* 803118DC 0030E81C 11 20 01 72 */ ps_mul f9, f0, f5
/* 803118E0 0030E820 11 01 00 B2 */ ps_mul f8, f1, f2
/* 803118E4 0030E824 11 42 51 78 */ ps_msub f10, f2, f5, f10
/* 803118E8 0030E828 11 21 49 38 */ ps_msub f9, f1, f4, f9
/* 803118EC 0030E82C 11 00 40 F8 */ ps_msub f8, f0, f3, f8
/* 803118F0 0030E830 10 E0 03 72 */ ps_mul f7, f0, f13
/* 803118F4 0030E834 10 21 08 28 */ ps_sub f1, f1, f1
/* 803118F8 0030E838 10 E2 3B 3A */ ps_madd f7, f2, f12, f7
/* 803118FC 0030E83C 10 E4 3A FA */ ps_madd f7, f4, f11, f7
/* 80311900 0030E840 10 07 08 40 */ ps_cmpo0 cr0, f7, f1
/* 80311904 0030E844 40 82 00 0C */ bne lbl_80311910
/* 80311908 0030E848 38 60 00 00 */ li r3, 0
/* 8031190C 0030E84C 4E 80 00 20 */ blr
lbl_80311910:
/* 80311910 0030E850 EC 00 38 30 */ fres f0, f7
/* 80311914 0030E854 10 C0 00 2A */ ps_add f6, f0, f0
/* 80311918 0030E858 10 A0 00 32 */ ps_mul f5, f0, f0
/* 8031191C 0030E85C 10 07 31 7C */ ps_nmsub f0, f7, f5, f6
/* 80311920 0030E860 10 C0 00 2A */ ps_add f6, f0, f0
/* 80311924 0030E864 10 A0 00 32 */ ps_mul f5, f0, f0
/* 80311928 0030E868 10 07 31 7C */ ps_nmsub f0, f7, f5, f6
/* 8031192C 0030E86C 11 AD 00 18 */ ps_muls0 f13, f13, f0
/* 80311930 0030E870 11 8C 00 18 */ ps_muls0 f12, f12, f0
/* 80311934 0030E874 F1 A4 00 00 */ psq_st f13, 0(r4), 0, qr0
/* 80311938 0030E878 11 6B 00 18 */ ps_muls0 f11, f11, f0
/* 8031193C 0030E87C F1 84 00 0C */ psq_st f12, 12(r4), 0, qr0
/* 80311940 0030E880 11 4A 00 18 */ ps_muls0 f10, f10, f0
/* 80311944 0030E884 F1 64 00 18 */ psq_st f11, 24(r4), 0, qr0
/* 80311948 0030E888 11 29 00 18 */ ps_muls0 f9, f9, f0
/* 8031194C 0030E88C F1 44 80 08 */ psq_st f10, 8(r4), 1, qr0
/* 80311950 0030E890 11 08 00 18 */ ps_muls0 f8, f8, f0
/* 80311954 0030E894 F1 24 80 14 */ psq_st f9, 20(r4), 1, qr0
/* 80311958 0030E898 38 60 00 01 */ li r3, 1
/* 8031195C 0030E89C F1 04 80 20 */ psq_st f8, 32(r4), 1, qr0
/* 80311960 0030E8A0 4E 80 00 20 */ blr
.global J3DGetTranslateRotateMtx
J3DGetTranslateRotateMtx:
/* 80311964 0030E8A4 A8 03 00 0C */ lha r0, 0xc(r3)
/* 80311968 0030E8A8 54 00 04 38 */ rlwinm r0, r0, 0, 0x10, 0x1c
/* 8031196C 0030E8AC 3C A0 80 44 */ lis r5, lbl_80439A20@ha
/* 80311970 0030E8B0 38 A5 9A 20 */ addi r5, r5, lbl_80439A20@l
/* 80311974 0030E8B4 7C 25 04 2E */ lfsx f1, r5, r0
/* 80311978 0030E8B8 38 C5 00 04 */ addi r6, r5, 4
/* 8031197C 0030E8BC 7C 46 04 2E */ lfsx f2, r6, r0
/* 80311980 0030E8C0 A8 03 00 0E */ lha r0, 0xe(r3)
/* 80311984 0030E8C4 54 00 04 38 */ rlwinm r0, r0, 0, 0x10, 0x1c
/* 80311988 0030E8C8 7C 65 04 2E */ lfsx f3, r5, r0
/* 8031198C 0030E8CC 7C 86 04 2E */ lfsx f4, r6, r0
/* 80311990 0030E8D0 A8 03 00 10 */ lha r0, 0x10(r3)
/* 80311994 0030E8D4 54 00 04 38 */ rlwinm r0, r0, 0, 0x10, 0x1c
/* 80311998 0030E8D8 7C A5 04 2E */ lfsx f5, r5, r0
/* 8031199C 0030E8DC 7C C6 04 2E */ lfsx f6, r6, r0
/* 803119A0 0030E8E0 FC 00 18 50 */ fneg f0, f3
/* 803119A4 0030E8E4 D0 04 00 20 */ stfs f0, 0x20(r4)
/* 803119A8 0030E8E8 EC 06 01 32 */ fmuls f0, f6, f4
/* 803119AC 0030E8EC D0 04 00 00 */ stfs f0, 0(r4)
/* 803119B0 0030E8F0 EC 05 01 32 */ fmuls f0, f5, f4
/* 803119B4 0030E8F4 D0 04 00 10 */ stfs f0, 0x10(r4)
/* 803119B8 0030E8F8 EC 04 00 72 */ fmuls f0, f4, f1
/* 803119BC 0030E8FC D0 04 00 24 */ stfs f0, 0x24(r4)
/* 803119C0 0030E900 EC 04 00 B2 */ fmuls f0, f4, f2
/* 803119C4 0030E904 D0 04 00 28 */ stfs f0, 0x28(r4)
/* 803119C8 0030E908 EC 82 01 72 */ fmuls f4, f2, f5
/* 803119CC 0030E90C EC E1 01 B2 */ fmuls f7, f1, f6
/* 803119D0 0030E910 EC 07 00 F2 */ fmuls f0, f7, f3
/* 803119D4 0030E914 EC 00 20 28 */ fsubs f0, f0, f4
/* 803119D8 0030E918 D0 04 00 04 */ stfs f0, 4(r4)
/* 803119DC 0030E91C EC 04 00 F2 */ fmuls f0, f4, f3
/* 803119E0 0030E920 EC 00 38 28 */ fsubs f0, f0, f7
/* 803119E4 0030E924 D0 04 00 18 */ stfs f0, 0x18(r4)
/* 803119E8 0030E928 EC 21 01 72 */ fmuls f1, f1, f5
/* 803119EC 0030E92C EC 42 01 B2 */ fmuls f2, f2, f6
/* 803119F0 0030E930 EC 02 00 F2 */ fmuls f0, f2, f3
/* 803119F4 0030E934 EC 01 00 2A */ fadds f0, f1, f0
/* 803119F8 0030E938 D0 04 00 08 */ stfs f0, 8(r4)
/* 803119FC 0030E93C EC 01 00 F2 */ fmuls f0, f1, f3
/* 80311A00 0030E940 EC 02 00 2A */ fadds f0, f2, f0
/* 80311A04 0030E944 D0 04 00 14 */ stfs f0, 0x14(r4)
/* 80311A08 0030E948 C0 03 00 14 */ lfs f0, 0x14(r3)
/* 80311A0C 0030E94C D0 04 00 0C */ stfs f0, 0xc(r4)
/* 80311A10 0030E950 C0 03 00 18 */ lfs f0, 0x18(r3)
/* 80311A14 0030E954 D0 04 00 1C */ stfs f0, 0x1c(r4)
/* 80311A18 0030E958 C0 03 00 1C */ lfs f0, 0x1c(r3)
/* 80311A1C 0030E95C D0 04 00 2C */ stfs f0, 0x2c(r4)
/* 80311A20 0030E960 4E 80 00 20 */ blr
.global J3DGetTranslateRotateMtx_X1_
J3DGetTranslateRotateMtx_X1_:
/* 80311A24 0030E964 54 60 04 38 */ rlwinm r0, r3, 0, 0x10, 0x1c
/* 80311A28 0030E968 3C 60 80 44 */ lis r3, lbl_80439A20@ha
/* 80311A2C 0030E96C 38 63 9A 20 */ addi r3, r3, lbl_80439A20@l
/* 80311A30 0030E970 7C 83 04 2E */ lfsx f4, r3, r0
/* 80311A34 0030E974 38 E3 00 04 */ addi r7, r3, 4
/* 80311A38 0030E978 7C A7 04 2E */ lfsx f5, r7, r0
/* 80311A3C 0030E97C 54 80 04 38 */ rlwinm r0, r4, 0, 0x10, 0x1c
/* 80311A40 0030E980 7C C3 04 2E */ lfsx f6, r3, r0
/* 80311A44 0030E984 7C E7 04 2E */ lfsx f7, r7, r0
/* 80311A48 0030E988 54 A0 04 38 */ rlwinm r0, r5, 0, 0x10, 0x1c
/* 80311A4C 0030E98C 7D 03 04 2E */ lfsx f8, r3, r0
/* 80311A50 0030E990 7D 27 04 2E */ lfsx f9, r7, r0
/* 80311A54 0030E994 FC 00 30 50 */ fneg f0, f6
/* 80311A58 0030E998 D0 06 00 20 */ stfs f0, 0x20(r6)
/* 80311A5C 0030E99C EC 09 01 F2 */ fmuls f0, f9, f7
/* 80311A60 0030E9A0 D0 06 00 00 */ stfs f0, 0(r6)
/* 80311A64 0030E9A4 EC 08 01 F2 */ fmuls f0, f8, f7
/* 80311A68 0030E9A8 D0 06 00 10 */ stfs f0, 0x10(r6)
/* 80311A6C 0030E9AC EC 07 01 32 */ fmuls f0, f7, f4
/* 80311A70 0030E9B0 D0 06 00 24 */ stfs f0, 0x24(r6)
/* 80311A74 0030E9B4 EC 07 01 72 */ fmuls f0, f7, f5
/* 80311A78 0030E9B8 D0 06 00 28 */ stfs f0, 0x28(r6)
/* 80311A7C 0030E9BC EC E5 02 32 */ fmuls f7, f5, f8
/* 80311A80 0030E9C0 ED 44 02 72 */ fmuls f10, f4, f9
/* 80311A84 0030E9C4 EC 0A 01 B2 */ fmuls f0, f10, f6
/* 80311A88 0030E9C8 EC 00 38 28 */ fsubs f0, f0, f7
/* 80311A8C 0030E9CC D0 06 00 04 */ stfs f0, 4(r6)
/* 80311A90 0030E9D0 EC 07 01 B2 */ fmuls f0, f7, f6
/* 80311A94 0030E9D4 EC 00 50 28 */ fsubs f0, f0, f10
/* 80311A98 0030E9D8 D0 06 00 18 */ stfs f0, 0x18(r6)
/* 80311A9C 0030E9DC EC 84 02 32 */ fmuls f4, f4, f8
/* 80311AA0 0030E9E0 EC A5 02 72 */ fmuls f5, f5, f9
/* 80311AA4 0030E9E4 EC 05 01 B2 */ fmuls f0, f5, f6
/* 80311AA8 0030E9E8 EC 04 00 2A */ fadds f0, f4, f0
/* 80311AAC 0030E9EC D0 06 00 08 */ stfs f0, 8(r6)
/* 80311AB0 0030E9F0 EC 04 01 B2 */ fmuls f0, f4, f6
/* 80311AB4 0030E9F4 EC 05 00 2A */ fadds f0, f5, f0
/* 80311AB8 0030E9F8 D0 06 00 14 */ stfs f0, 0x14(r6)
/* 80311ABC 0030E9FC D0 26 00 0C */ stfs f1, 0xc(r6)
/* 80311AC0 0030EA00 D0 46 00 1C */ stfs f2, 0x1c(r6)
/* 80311AC4 0030EA04 D0 66 00 2C */ stfs f3, 0x2c(r6)
/* 80311AC8 0030EA08 4E 80 00 20 */ blr
.global J3DGetTextureMtx
J3DGetTextureMtx:
/* 80311ACC 0030EA0C A8 03 00 08 */ lha r0, 8(r3)
/* 80311AD0 0030EA10 54 00 04 38 */ rlwinm r0, r0, 0, 0x10, 0x1c
/* 80311AD4 0030EA14 3C C0 80 44 */ lis r6, lbl_80439A20@ha
/* 80311AD8 0030EA18 38 C6 9A 20 */ addi r6, r6, lbl_80439A20@l
/* 80311ADC 0030EA1C 7C 06 04 2E */ lfsx f0, r6, r0
/* 80311AE0 0030EA20 7C C6 02 14 */ add r6, r6, r0
/* 80311AE4 0030EA24 C0 26 00 04 */ lfs f1, 4(r6)
/* 80311AE8 0030EA28 C0 43 00 00 */ lfs f2, 0(r3)
/* 80311AEC 0030EA2C EC 62 00 72 */ fmuls f3, f2, f1
/* 80311AF0 0030EA30 EC A2 00 32 */ fmuls f5, f2, f0
/* 80311AF4 0030EA34 C0 43 00 04 */ lfs f2, 4(r3)
/* 80311AF8 0030EA38 EC C2 00 32 */ fmuls f6, f2, f0
/* 80311AFC 0030EA3C EC E2 00 72 */ fmuls f7, f2, f1
/* 80311B00 0030EA40 D0 65 00 00 */ stfs f3, 0(r5)
/* 80311B04 0030EA44 FC 00 28 50 */ fneg f0, f5
/* 80311B08 0030EA48 D0 05 00 04 */ stfs f0, 4(r5)
/* 80311B0C 0030EA4C C0 43 00 0C */ lfs f2, 0xc(r3)
/* 80311B10 0030EA50 C0 84 00 00 */ lfs f4, 0(r4)
/* 80311B14 0030EA54 FC 00 18 50 */ fneg f0, f3
/* 80311B18 0030EA58 EC 20 01 32 */ fmuls f1, f0, f4
/* 80311B1C 0030EA5C C0 64 00 04 */ lfs f3, 4(r4)
/* 80311B20 0030EA60 EC 05 00 F2 */ fmuls f0, f5, f3
/* 80311B24 0030EA64 EC 01 00 2A */ fadds f0, f1, f0
/* 80311B28 0030EA68 EC 04 00 2A */ fadds f0, f4, f0
/* 80311B2C 0030EA6C EC 02 00 2A */ fadds f0, f2, f0
/* 80311B30 0030EA70 D0 05 00 08 */ stfs f0, 8(r5)
/* 80311B34 0030EA74 D0 C5 00 10 */ stfs f6, 0x10(r5)
/* 80311B38 0030EA78 D0 E5 00 14 */ stfs f7, 0x14(r5)
/* 80311B3C 0030EA7C C0 43 00 10 */ lfs f2, 0x10(r3)
/* 80311B40 0030EA80 FC 00 30 50 */ fneg f0, f6
/* 80311B44 0030EA84 EC 20 01 32 */ fmuls f1, f0, f4
/* 80311B48 0030EA88 EC 07 00 F2 */ fmuls f0, f7, f3
/* 80311B4C 0030EA8C EC 01 00 28 */ fsubs f0, f1, f0
/* 80311B50 0030EA90 EC 03 00 2A */ fadds f0, f3, f0
/* 80311B54 0030EA94 EC 02 00 2A */ fadds f0, f2, f0
/* 80311B58 0030EA98 D0 05 00 18 */ stfs f0, 0x18(r5)
/* 80311B5C 0030EA9C C0 02 C9 78 */ lfs f0, lbl_80456378-_SDA2_BASE_(r2)
/* 80311B60 0030EAA0 D0 05 00 2C */ stfs f0, 0x2c(r5)
/* 80311B64 0030EAA4 D0 05 00 24 */ stfs f0, 0x24(r5)
/* 80311B68 0030EAA8 D0 05 00 20 */ stfs f0, 0x20(r5)
/* 80311B6C 0030EAAC D0 05 00 1C */ stfs f0, 0x1c(r5)
/* 80311B70 0030EAB0 D0 05 00 0C */ stfs f0, 0xc(r5)
/* 80311B74 0030EAB4 C0 02 C9 7C */ lfs f0, lbl_8045637C-_SDA2_BASE_(r2)
/* 80311B78 0030EAB8 D0 05 00 28 */ stfs f0, 0x28(r5)
/* 80311B7C 0030EABC 4E 80 00 20 */ blr
.global J3DGetTextureMtxOld
J3DGetTextureMtxOld:
/* 80311B80 0030EAC0 A8 03 00 08 */ lha r0, 8(r3)
/* 80311B84 0030EAC4 54 00 04 38 */ rlwinm r0, r0, 0, 0x10, 0x1c
/* 80311B88 0030EAC8 3C C0 80 44 */ lis r6, lbl_80439A20@ha
/* 80311B8C 0030EACC 38 C6 9A 20 */ addi r6, r6, lbl_80439A20@l
/* 80311B90 0030EAD0 7C 06 04 2E */ lfsx f0, r6, r0
/* 80311B94 0030EAD4 7C C6 02 14 */ add r6, r6, r0
/* 80311B98 0030EAD8 C0 26 00 04 */ lfs f1, 4(r6)
/* 80311B9C 0030EADC C0 43 00 00 */ lfs f2, 0(r3)
/* 80311BA0 0030EAE0 EC 62 00 72 */ fmuls f3, f2, f1
/* 80311BA4 0030EAE4 EC A2 00 32 */ fmuls f5, f2, f0
/* 80311BA8 0030EAE8 C0 43 00 04 */ lfs f2, 4(r3)
/* 80311BAC 0030EAEC EC C2 00 32 */ fmuls f6, f2, f0
/* 80311BB0 0030EAF0 EC E2 00 72 */ fmuls f7, f2, f1
/* 80311BB4 0030EAF4 D0 65 00 00 */ stfs f3, 0(r5)
/* 80311BB8 0030EAF8 FC 00 28 50 */ fneg f0, f5
/* 80311BBC 0030EAFC D0 05 00 04 */ stfs f0, 4(r5)
/* 80311BC0 0030EB00 C0 43 00 0C */ lfs f2, 0xc(r3)
/* 80311BC4 0030EB04 C0 84 00 00 */ lfs f4, 0(r4)
/* 80311BC8 0030EB08 FC 00 18 50 */ fneg f0, f3
/* 80311BCC 0030EB0C EC 20 01 32 */ fmuls f1, f0, f4
/* 80311BD0 0030EB10 C0 64 00 04 */ lfs f3, 4(r4)
/* 80311BD4 0030EB14 EC 05 00 F2 */ fmuls f0, f5, f3
/* 80311BD8 0030EB18 EC 01 00 2A */ fadds f0, f1, f0
/* 80311BDC 0030EB1C EC 04 00 2A */ fadds f0, f4, f0
/* 80311BE0 0030EB20 EC 02 00 2A */ fadds f0, f2, f0
/* 80311BE4 0030EB24 D0 05 00 0C */ stfs f0, 0xc(r5)
/* 80311BE8 0030EB28 D0 C5 00 10 */ stfs f6, 0x10(r5)
/* 80311BEC 0030EB2C D0 E5 00 14 */ stfs f7, 0x14(r5)
/* 80311BF0 0030EB30 C0 43 00 10 */ lfs f2, 0x10(r3)
/* 80311BF4 0030EB34 FC 00 30 50 */ fneg f0, f6
/* 80311BF8 0030EB38 EC 20 01 32 */ fmuls f1, f0, f4
/* 80311BFC 0030EB3C EC 07 00 F2 */ fmuls f0, f7, f3
/* 80311C00 0030EB40 EC 01 00 28 */ fsubs f0, f1, f0
/* 80311C04 0030EB44 EC 03 00 2A */ fadds f0, f3, f0
/* 80311C08 0030EB48 EC 02 00 2A */ fadds f0, f2, f0
/* 80311C0C 0030EB4C D0 05 00 1C */ stfs f0, 0x1c(r5)
/* 80311C10 0030EB50 C0 02 C9 78 */ lfs f0, lbl_80456378-_SDA2_BASE_(r2)
/* 80311C14 0030EB54 D0 05 00 2C */ stfs f0, 0x2c(r5)
/* 80311C18 0030EB58 D0 05 00 24 */ stfs f0, 0x24(r5)
/* 80311C1C 0030EB5C D0 05 00 20 */ stfs f0, 0x20(r5)
/* 80311C20 0030EB60 D0 05 00 18 */ stfs f0, 0x18(r5)
/* 80311C24 0030EB64 D0 05 00 08 */ stfs f0, 8(r5)
/* 80311C28 0030EB68 C0 02 C9 7C */ lfs f0, lbl_8045637C-_SDA2_BASE_(r2)
/* 80311C2C 0030EB6C D0 05 00 28 */ stfs f0, 0x28(r5)
/* 80311C30 0030EB70 4E 80 00 20 */ blr
.global J3DGetTextureMtxMaya
J3DGetTextureMtxMaya:
/* 80311C34 0030EB74 A8 03 00 08 */ lha r0, 8(r3)
/* 80311C38 0030EB78 54 00 04 38 */ rlwinm r0, r0, 0, 0x10, 0x1c
/* 80311C3C 0030EB7C 3C A0 80 44 */ lis r5, lbl_80439A20@ha
/* 80311C40 0030EB80 38 A5 9A 20 */ addi r5, r5, lbl_80439A20@l
/* 80311C44 0030EB84 7C C5 04 2E */ lfsx f6, r5, r0
/* 80311C48 0030EB88 7C A5 02 14 */ add r5, r5, r0
/* 80311C4C 0030EB8C C0 E5 00 04 */ lfs f7, 4(r5)
/* 80311C50 0030EB90 C0 03 00 0C */ lfs f0, 0xc(r3)
/* 80311C54 0030EB94 C0 A2 C9 80 */ lfs f5, lbl_80456380-_SDA2_BASE_(r2)
/* 80311C58 0030EB98 ED 00 28 28 */ fsubs f8, f0, f5
/* 80311C5C 0030EB9C C0 03 00 10 */ lfs f0, 0x10(r3)
/* 80311C60 0030EBA0 EC 40 28 28 */ fsubs f2, f0, f5
/* 80311C64 0030EBA4 C0 83 00 00 */ lfs f4, 0(r3)
/* 80311C68 0030EBA8 EC 04 01 F2 */ fmuls f0, f4, f7
/* 80311C6C 0030EBAC D0 04 00 00 */ stfs f0, 0(r4)
/* 80311C70 0030EBB0 C0 63 00 04 */ lfs f3, 4(r3)
/* 80311C74 0030EBB4 EC 03 01 B2 */ fmuls f0, f3, f6
/* 80311C78 0030EBB8 D0 04 00 04 */ stfs f0, 4(r4)
/* 80311C7C 0030EBBC EC 28 01 F2 */ fmuls f1, f8, f7
/* 80311C80 0030EBC0 EC 42 18 2A */ fadds f2, f2, f3
/* 80311C84 0030EBC4 EC 06 00 B2 */ fmuls f0, f6, f2
/* 80311C88 0030EBC8 EC 01 00 28 */ fsubs f0, f1, f0
/* 80311C8C 0030EBCC EC 05 00 2A */ fadds f0, f5, f0
/* 80311C90 0030EBD0 D0 04 00 08 */ stfs f0, 8(r4)
/* 80311C94 0030EBD4 FC 00 20 50 */ fneg f0, f4
/* 80311C98 0030EBD8 EC 00 01 B2 */ fmuls f0, f0, f6
/* 80311C9C 0030EBDC D0 04 00 10 */ stfs f0, 0x10(r4)
/* 80311CA0 0030EBE0 EC 03 01 F2 */ fmuls f0, f3, f7
/* 80311CA4 0030EBE4 D0 04 00 14 */ stfs f0, 0x14(r4)
/* 80311CA8 0030EBE8 FC 00 40 50 */ fneg f0, f8
/* 80311CAC 0030EBEC EC 20 01 B2 */ fmuls f1, f0, f6
/* 80311CB0 0030EBF0 EC 07 00 B2 */ fmuls f0, f7, f2
/* 80311CB4 0030EBF4 EC 01 00 28 */ fsubs f0, f1, f0
/* 80311CB8 0030EBF8 EC 05 00 2A */ fadds f0, f5, f0
/* 80311CBC 0030EBFC D0 04 00 18 */ stfs f0, 0x18(r4)
/* 80311CC0 0030EC00 C0 02 C9 78 */ lfs f0, lbl_80456378-_SDA2_BASE_(r2)
/* 80311CC4 0030EC04 D0 04 00 2C */ stfs f0, 0x2c(r4)
/* 80311CC8 0030EC08 D0 04 00 24 */ stfs f0, 0x24(r4)
/* 80311CCC 0030EC0C D0 04 00 20 */ stfs f0, 0x20(r4)
/* 80311CD0 0030EC10 D0 04 00 1C */ stfs f0, 0x1c(r4)
/* 80311CD4 0030EC14 D0 04 00 0C */ stfs f0, 0xc(r4)
/* 80311CD8 0030EC18 C0 02 C9 7C */ lfs f0, lbl_8045637C-_SDA2_BASE_(r2)
/* 80311CDC 0030EC1C D0 04 00 28 */ stfs f0, 0x28(r4)
/* 80311CE0 0030EC20 4E 80 00 20 */ blr
.global J3DGetTextureMtxMayaOld
J3DGetTextureMtxMayaOld:
/* 80311CE4 0030EC24 A8 03 00 08 */ lha r0, 8(r3)
/* 80311CE8 0030EC28 54 00 04 38 */ rlwinm r0, r0, 0, 0x10, 0x1c
/* 80311CEC 0030EC2C 3C A0 80 44 */ lis r5, lbl_80439A20@ha
/* 80311CF0 0030EC30 38 A5 9A 20 */ addi r5, r5, lbl_80439A20@l
/* 80311CF4 0030EC34 7C C5 04 2E */ lfsx f6, r5, r0
/* 80311CF8 0030EC38 7C A5 02 14 */ add r5, r5, r0
/* 80311CFC 0030EC3C C0 E5 00 04 */ lfs f7, 4(r5)
/* 80311D00 0030EC40 C0 03 00 0C */ lfs f0, 0xc(r3)
/* 80311D04 0030EC44 C0 A2 C9 80 */ lfs f5, lbl_80456380-_SDA2_BASE_(r2)
/* 80311D08 0030EC48 ED 00 28 28 */ fsubs f8, f0, f5
/* 80311D0C 0030EC4C C0 03 00 10 */ lfs f0, 0x10(r3)
/* 80311D10 0030EC50 EC 40 28 28 */ fsubs f2, f0, f5
/* 80311D14 0030EC54 C0 83 00 00 */ lfs f4, 0(r3)
/* 80311D18 0030EC58 EC 04 01 F2 */ fmuls f0, f4, f7
/* 80311D1C 0030EC5C D0 04 00 00 */ stfs f0, 0(r4)
/* 80311D20 0030EC60 C0 63 00 04 */ lfs f3, 4(r3)
/* 80311D24 0030EC64 EC 03 01 B2 */ fmuls f0, f3, f6
/* 80311D28 0030EC68 D0 04 00 04 */ stfs f0, 4(r4)
/* 80311D2C 0030EC6C EC 28 01 F2 */ fmuls f1, f8, f7
/* 80311D30 0030EC70 EC 42 18 2A */ fadds f2, f2, f3
/* 80311D34 0030EC74 EC 06 00 B2 */ fmuls f0, f6, f2
/* 80311D38 0030EC78 EC 01 00 28 */ fsubs f0, f1, f0
/* 80311D3C 0030EC7C EC 05 00 2A */ fadds f0, f5, f0
/* 80311D40 0030EC80 D0 04 00 0C */ stfs f0, 0xc(r4)
/* 80311D44 0030EC84 FC 00 20 50 */ fneg f0, f4
/* 80311D48 0030EC88 EC 00 01 B2 */ fmuls f0, f0, f6
/* 80311D4C 0030EC8C D0 04 00 10 */ stfs f0, 0x10(r4)
/* 80311D50 0030EC90 EC 03 01 F2 */ fmuls f0, f3, f7
/* 80311D54 0030EC94 D0 04 00 14 */ stfs f0, 0x14(r4)
/* 80311D58 0030EC98 FC 00 40 50 */ fneg f0, f8
/* 80311D5C 0030EC9C EC 20 01 B2 */ fmuls f1, f0, f6
/* 80311D60 0030ECA0 EC 07 00 B2 */ fmuls f0, f7, f2
/* 80311D64 0030ECA4 EC 01 00 28 */ fsubs f0, f1, f0
/* 80311D68 0030ECA8 EC 05 00 2A */ fadds f0, f5, f0
/* 80311D6C 0030ECAC D0 04 00 1C */ stfs f0, 0x1c(r4)
/* 80311D70 0030ECB0 C0 02 C9 78 */ lfs f0, lbl_80456378-_SDA2_BASE_(r2)
/* 80311D74 0030ECB4 D0 04 00 2C */ stfs f0, 0x2c(r4)
/* 80311D78 0030ECB8 D0 04 00 24 */ stfs f0, 0x24(r4)
/* 80311D7C 0030ECBC D0 04 00 20 */ stfs f0, 0x20(r4)
/* 80311D80 0030ECC0 D0 04 00 18 */ stfs f0, 0x18(r4)
/* 80311D84 0030ECC4 D0 04 00 08 */ stfs f0, 8(r4)
/* 80311D88 0030ECC8 C0 02 C9 7C */ lfs f0, lbl_8045637C-_SDA2_BASE_(r2)
/* 80311D8C 0030ECCC D0 04 00 28 */ stfs f0, 0x28(r4)
/* 80311D90 0030ECD0 4E 80 00 20 */ blr
.global J3DScaleNrmMtx
J3DScaleNrmMtx:
/* 80311D94 0030ECD4 E0 44 00 00 */ psq_l f2, 0(r4), 0, qr0
/* 80311D98 0030ECD8 E0 03 00 00 */ psq_l f0, 0(r3), 0, qr0
/* 80311D9C 0030ECDC C0 64 00 08 */ lfs f3, 8(r4)
/* 80311DA0 0030ECE0 C0 23 00 08 */ lfs f1, 8(r3)
/* 80311DA4 0030ECE4 10 80 00 B2 */ ps_mul f4, f0, f2
/* 80311DA8 0030ECE8 F0 83 00 00 */ psq_st f4, 0(r3), 0, qr0
/* 80311DAC 0030ECEC EC 81 00 F2 */ fmuls f4, f1, f3
/* 80311DB0 0030ECF0 D0 83 00 08 */ stfs f4, 8(r3)
/* 80311DB4 0030ECF4 E0 44 00 00 */ psq_l f2, 0(r4), 0, qr0
/* 80311DB8 0030ECF8 E0 03 00 10 */ psq_l f0, 16(r3), 0, qr0
/* 80311DBC 0030ECFC C0 64 00 08 */ lfs f3, 8(r4)
/* 80311DC0 0030ED00 C0 23 00 18 */ lfs f1, 0x18(r3)
/* 80311DC4 0030ED04 10 80 00 B2 */ ps_mul f4, f0, f2
/* 80311DC8 0030ED08 F0 83 00 10 */ psq_st f4, 16(r3), 0, qr0
/* 80311DCC 0030ED0C EC 81 00 F2 */ fmuls f4, f1, f3
/* 80311DD0 0030ED10 D0 83 00 18 */ stfs f4, 0x18(r3)
/* 80311DD4 0030ED14 E0 44 00 00 */ psq_l f2, 0(r4), 0, qr0
/* 80311DD8 0030ED18 E0 03 00 20 */ psq_l f0, 32(r3), 0, qr0
/* 80311DDC 0030ED1C C0 64 00 08 */ lfs f3, 8(r4)
/* 80311DE0 0030ED20 C0 23 00 28 */ lfs f1, 0x28(r3)
/* 80311DE4 0030ED24 10 80 00 B2 */ ps_mul f4, f0, f2
/* 80311DE8 0030ED28 F0 83 00 20 */ psq_st f4, 32(r3), 0, qr0
/* 80311DEC 0030ED2C EC 81 00 F2 */ fmuls f4, f1, f3
/* 80311DF0 0030ED30 D0 83 00 28 */ stfs f4, 0x28(r3)
/* 80311DF4 0030ED34 4E 80 00 20 */ blr
.global J3DScaleNrmMtx33
J3DScaleNrmMtx33:
/* 80311DF8 0030ED38 E0 03 00 00 */ psq_l f0, 0(r3), 0, qr0
/* 80311DFC 0030ED3C E0 C4 00 00 */ psq_l f6, 0(r4), 0, qr0
/* 80311E00 0030ED40 C0 23 00 08 */ lfs f1, 8(r3)
/* 80311E04 0030ED44 C0 E4 00 08 */ lfs f7, 8(r4)
/* 80311E08 0030ED48 10 00 01 B2 */ ps_mul f0, f0, f6
/* 80311E0C 0030ED4C E0 43 00 0C */ psq_l f2, 12(r3), 0, qr0
/* 80311E10 0030ED50 EC 21 01 F2 */ fmuls f1, f1, f7
/* 80311E14 0030ED54 C0 63 00 14 */ lfs f3, 0x14(r3)
/* 80311E18 0030ED58 10 42 01 B2 */ ps_mul f2, f2, f6
/* 80311E1C 0030ED5C E0 83 00 18 */ psq_l f4, 24(r3), 0, qr0
/* 80311E20 0030ED60 EC 63 01 F2 */ fmuls f3, f3, f7
/* 80311E24 0030ED64 C0 A3 00 20 */ lfs f5, 0x20(r3)
/* 80311E28 0030ED68 10 84 01 B2 */ ps_mul f4, f4, f6
/* 80311E2C 0030ED6C F0 03 00 00 */ psq_st f0, 0(r3), 0, qr0
/* 80311E30 0030ED70 EC A5 01 F2 */ fmuls f5, f5, f7
/* 80311E34 0030ED74 D0 23 00 08 */ stfs f1, 8(r3)
/* 80311E38 0030ED78 F0 43 00 0C */ psq_st f2, 12(r3), 0, qr0
/* 80311E3C 0030ED7C D0 63 00 14 */ stfs f3, 0x14(r3)
/* 80311E40 0030ED80 F0 83 00 18 */ psq_st f4, 24(r3), 0, qr0
/* 80311E44 0030ED84 D0 A3 00 20 */ stfs f5, 0x20(r3)
/* 80311E48 0030ED88 4E 80 00 20 */ blr
.global J3DMtxProjConcat
J3DMtxProjConcat:
/* 80311E4C 0030ED8C E0 43 00 00 */ psq_l f2, 0(r3), 0, qr0
/* 80311E50 0030ED90 E0 63 00 08 */ psq_l f3, 8(r3), 0, qr0
/* 80311E54 0030ED94 10 C2 14 20 */ ps_merge00 f6, f2, f2
/* 80311E58 0030ED98 10 E2 14 E0 */ ps_merge11 f7, f2, f2
/* 80311E5C 0030ED9C 11 03 1C 20 */ ps_merge00 f8, f3, f3
/* 80311E60 0030EDA0 11 23 1C E0 */ ps_merge11 f9, f3, f3
/* 80311E64 0030EDA4 E1 44 00 00 */ psq_l f10, 0(r4), 0, qr0
/* 80311E68 0030EDA8 E1 64 00 10 */ psq_l f11, 16(r4), 0, qr0
/* 80311E6C 0030EDAC E1 84 00 20 */ psq_l f12, 32(r4), 0, qr0
/* 80311E70 0030EDB0 E1 A4 00 30 */ psq_l f13, 48(r4), 0, qr0
/* 80311E74 0030EDB4 10 06 02 B2 */ ps_mul f0, f6, f10
/* 80311E78 0030EDB8 10 07 02 FA */ ps_madd f0, f7, f11, f0
/* 80311E7C 0030EDBC 10 08 03 3A */ ps_madd f0, f8, f12, f0
/* 80311E80 0030EDC0 10 09 03 7A */ ps_madd f0, f9, f13, f0
/* 80311E84 0030EDC4 F0 05 00 00 */ psq_st f0, 0(r5), 0, qr0
/* 80311E88 0030EDC8 E1 44 00 08 */ psq_l f10, 8(r4), 0, qr0
/* 80311E8C 0030EDCC E1 64 00 18 */ psq_l f11, 24(r4), 0, qr0
/* 80311E90 0030EDD0 E1 84 00 28 */ psq_l f12, 40(r4), 0, qr0
/* 80311E94 0030EDD4 E1 A4 00 38 */ psq_l f13, 56(r4), 0, qr0
/* 80311E98 0030EDD8 10 06 02 B2 */ ps_mul f0, f6, f10
/* 80311E9C 0030EDDC 10 07 02 FA */ ps_madd f0, f7, f11, f0
/* 80311EA0 0030EDE0 10 08 03 3A */ ps_madd f0, f8, f12, f0
/* 80311EA4 0030EDE4 10 09 03 7A */ ps_madd f0, f9, f13, f0
/* 80311EA8 0030EDE8 F0 05 00 08 */ psq_st f0, 8(r5), 0, qr0
/* 80311EAC 0030EDEC E0 43 00 10 */ psq_l f2, 16(r3), 0, qr0
/* 80311EB0 0030EDF0 E0 63 00 18 */ psq_l f3, 24(r3), 0, qr0
/* 80311EB4 0030EDF4 10 C2 14 20 */ ps_merge00 f6, f2, f2
/* 80311EB8 0030EDF8 10 E2 14 E0 */ ps_merge11 f7, f2, f2
/* 80311EBC 0030EDFC 11 03 1C 20 */ ps_merge00 f8, f3, f3
/* 80311EC0 0030EE00 11 23 1C E0 */ ps_merge11 f9, f3, f3
/* 80311EC4 0030EE04 E1 44 00 00 */ psq_l f10, 0(r4), 0, qr0
/* 80311EC8 0030EE08 E1 64 00 10 */ psq_l f11, 16(r4), 0, qr0
/* 80311ECC 0030EE0C E1 84 00 20 */ psq_l f12, 32(r4), 0, qr0
/* 80311ED0 0030EE10 E1 A4 00 30 */ psq_l f13, 48(r4), 0, qr0
/* 80311ED4 0030EE14 10 06 02 B2 */ ps_mul f0, f6, f10
/* 80311ED8 0030EE18 10 07 02 FA */ ps_madd f0, f7, f11, f0
/* 80311EDC 0030EE1C 10 08 03 3A */ ps_madd f0, f8, f12, f0
/* 80311EE0 0030EE20 10 09 03 7A */ ps_madd f0, f9, f13, f0
/* 80311EE4 0030EE24 F0 05 00 10 */ psq_st f0, 16(r5), 0, qr0
/* 80311EE8 0030EE28 E1 44 00 08 */ psq_l f10, 8(r4), 0, qr0
/* 80311EEC 0030EE2C E1 64 00 18 */ psq_l f11, 24(r4), 0, qr0
/* 80311EF0 0030EE30 E1 84 00 28 */ psq_l f12, 40(r4), 0, qr0
/* 80311EF4 0030EE34 E1 A4 00 38 */ psq_l f13, 56(r4), 0, qr0
/* 80311EF8 0030EE38 10 06 02 B2 */ ps_mul f0, f6, f10
/* 80311EFC 0030EE3C 10 07 02 FA */ ps_madd f0, f7, f11, f0
/* 80311F00 0030EE40 10 08 03 3A */ ps_madd f0, f8, f12, f0
/* 80311F04 0030EE44 10 09 03 7A */ ps_madd f0, f9, f13, f0
/* 80311F08 0030EE48 F0 05 00 18 */ psq_st f0, 24(r5), 0, qr0
/* 80311F0C 0030EE4C E0 43 00 20 */ psq_l f2, 32(r3), 0, qr0
/* 80311F10 0030EE50 E0 63 00 28 */ psq_l f3, 40(r3), 0, qr0
/* 80311F14 0030EE54 10 C2 14 20 */ ps_merge00 f6, f2, f2
/* 80311F18 0030EE58 10 E2 14 E0 */ ps_merge11 f7, f2, f2
/* 80311F1C 0030EE5C 11 03 1C 20 */ ps_merge00 f8, f3, f3
/* 80311F20 0030EE60 11 23 1C E0 */ ps_merge11 f9, f3, f3
/* 80311F24 0030EE64 E1 44 00 00 */ psq_l f10, 0(r4), 0, qr0
/* 80311F28 0030EE68 E1 64 00 10 */ psq_l f11, 16(r4), 0, qr0
/* 80311F2C 0030EE6C E1 84 00 20 */ psq_l f12, 32(r4), 0, qr0
/* 80311F30 0030EE70 E1 A4 00 30 */ psq_l f13, 48(r4), 0, qr0
/* 80311F34 0030EE74 10 06 02 B2 */ ps_mul f0, f6, f10
/* 80311F38 0030EE78 10 07 02 FA */ ps_madd f0, f7, f11, f0
/* 80311F3C 0030EE7C 10 08 03 3A */ ps_madd f0, f8, f12, f0
/* 80311F40 0030EE80 10 09 03 7A */ ps_madd f0, f9, f13, f0
/* 80311F44 0030EE84 F0 05 00 20 */ psq_st f0, 32(r5), 0, qr0
/* 80311F48 0030EE88 E1 44 00 08 */ psq_l f10, 8(r4), 0, qr0
/* 80311F4C 0030EE8C E1 64 00 18 */ psq_l f11, 24(r4), 0, qr0
/* 80311F50 0030EE90 E1 84 00 28 */ psq_l f12, 40(r4), 0, qr0
/* 80311F54 0030EE94 E1 A4 00 38 */ psq_l f13, 56(r4), 0, qr0
/* 80311F58 0030EE98 10 06 02 B2 */ ps_mul f0, f6, f10
/* 80311F5C 0030EE9C 10 07 02 FA */ ps_madd f0, f7, f11, f0
/* 80311F60 0030EEA0 10 08 03 3A */ ps_madd f0, f8, f12, f0
/* 80311F64 0030EEA4 10 09 03 7A */ ps_madd f0, f9, f13, f0
/* 80311F68 0030EEA8 F0 05 00 28 */ psq_st f0, 40(r5), 0, qr0
/* 80311F6C 0030EEAC 4E 80 00 20 */ blr
.global J3DPSMtxArrayConcat
J3DPSMtxArrayConcat:
/* 80311F70 0030EEB0 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 80311F74 0030EEB4 D9 C1 00 08 */ stfd f14, 8(r1)
/* 80311F78 0030EEB8 3C E0 80 45 */ lis r7, lbl_80450958@ha
/* 80311F7C 0030EEBC D9 E1 00 10 */ stfd f15, 0x10(r1)
/* 80311F80 0030EEC0 38 E7 09 58 */ addi r7, r7, lbl_80450958@l
/* 80311F84 0030EEC4 DB E1 00 28 */ stfd f31, 0x28(r1)
/* 80311F88 0030EEC8 38 84 FF F8 */ addi r4, r4, -8
/* 80311F8C 0030EECC 38 A5 FF F8 */ addi r5, r5, -8
/* 80311F90 0030EED0 7C C9 03 A6 */ mtctr r6
lbl_80311F94:
/* 80311F94 0030EED4 E0 03 00 00 */ psq_l f0, 0(r3), 0, qr0
/* 80311F98 0030EED8 E0 C4 00 08 */ psq_l f6, 8(r4), 0, qr0
/* 80311F9C 0030EEDC E0 E4 00 10 */ psq_l f7, 16(r4), 0, qr0
/* 80311FA0 0030EEE0 E1 04 00 18 */ psq_l f8, 24(r4), 0, qr0
/* 80311FA4 0030EEE4 11 86 00 18 */ ps_muls0 f12, f6, f0
/* 80311FA8 0030EEE8 E0 43 00 10 */ psq_l f2, 16(r3), 0, qr0
/* 80311FAC 0030EEEC 11 A7 00 18 */ ps_muls0 f13, f7, f0
/* 80311FB0 0030EEF0 E3 E7 00 00 */ psq_l f31, 0(r7), 0, qr0
/* 80311FB4 0030EEF4 11 C6 00 98 */ ps_muls0 f14, f6, f2
/* 80311FB8 0030EEF8 E1 24 00 20 */ psq_l f9, 32(r4), 0, qr0
/* 80311FBC 0030EEFC 11 E7 00 98 */ ps_muls0 f15, f7, f2
/* 80311FC0 0030EF00 E0 23 00 08 */ psq_l f1, 8(r3), 0, qr0
/* 80311FC4 0030EF04 11 88 60 1E */ ps_madds1 f12, f8, f0, f12
/* 80311FC8 0030EF08 E0 63 00 18 */ psq_l f3, 24(r3), 0, qr0
/* 80311FCC 0030EF0C 11 C8 70 9E */ ps_madds1 f14, f8, f2, f14
/* 80311FD0 0030EF10 E1 44 00 28 */ psq_l f10, 40(r4), 0, qr0
/* 80311FD4 0030EF14 11 A9 68 1E */ ps_madds1 f13, f9, f0, f13
/* 80311FD8 0030EF18 E5 64 00 30 */ psq_lu f11, 48(r4), 0, qr0
/* 80311FDC 0030EF1C 11 E9 78 9E */ ps_madds1 f15, f9, f2, f15
/* 80311FE0 0030EF20 E0 83 00 20 */ psq_l f4, 32(r3), 0, qr0
/* 80311FE4 0030EF24 E0 A3 00 28 */ psq_l f5, 40(r3), 0, qr0
/* 80311FE8 0030EF28 11 8A 60 5C */ ps_madds0 f12, f10, f1, f12
/* 80311FEC 0030EF2C 11 AB 68 5C */ ps_madds0 f13, f11, f1, f13
/* 80311FF0 0030EF30 11 CA 70 DC */ ps_madds0 f14, f10, f3, f14
/* 80311FF4 0030EF34 11 EB 78 DC */ ps_madds0 f15, f11, f3, f15
/* 80311FF8 0030EF38 F1 85 00 08 */ psq_st f12, 8(r5), 0, qr0
/* 80311FFC 0030EF3C 10 46 01 18 */ ps_muls0 f2, f6, f4
/* 80312000 0030EF40 11 BF 68 5E */ ps_madds1 f13, f31, f1, f13
/* 80312004 0030EF44 10 07 01 18 */ ps_muls0 f0, f7, f4
/* 80312008 0030EF48 F1 C5 00 18 */ psq_st f14, 24(r5), 0, qr0
/* 8031200C 0030EF4C 11 FF 78 DE */ ps_madds1 f15, f31, f3, f15
/* 80312010 0030EF50 F1 A5 00 10 */ psq_st f13, 16(r5), 0, qr0
/* 80312014 0030EF54 10 48 11 1E */ ps_madds1 f2, f8, f4, f2
/* 80312018 0030EF58 10 09 01 1E */ ps_madds1 f0, f9, f4, f0
/* 8031201C 0030EF5C 10 4A 11 5C */ ps_madds0 f2, f10, f5, f2
/* 80312020 0030EF60 F1 E5 00 20 */ psq_st f15, 32(r5), 0, qr0
/* 80312024 0030EF64 10 0B 01 5C */ ps_madds0 f0, f11, f5, f0
/* 80312028 0030EF68 F0 45 00 28 */ psq_st f2, 40(r5), 0, qr0
/* 8031202C 0030EF6C 10 1F 01 5E */ ps_madds1 f0, f31, f5, f0
/* 80312030 0030EF70 F4 05 00 30 */ psq_stu f0, 48(r5), 0, qr0
/* 80312034 0030EF74 42 00 FF 60 */ bdnz lbl_80311F94
/* 80312038 0030EF78 C9 C1 00 08 */ lfd f14, 8(r1)
/* 8031203C 0030EF7C C9 E1 00 10 */ lfd f15, 0x10(r1)
/* 80312040 0030EF80 CB E1 00 28 */ lfd f31, 0x28(r1)
/* 80312044 0030EF84 38 21 00 40 */ addi r1, r1, 0x40
/* 80312048 0030EF88 4E 80 00 20 */ blr

View File

@ -0,0 +1,544 @@
.include "macros.inc"
.section .text, "ax" # 80310ef8
.global J3DVertexData
J3DVertexData:
/* 80310EF8 0030DE38 38 A0 00 00 */ li r5, 0
/* 80310EFC 0030DE3C 90 A3 00 00 */ stw r5, 0(r3)
/* 80310F00 0030DE40 90 A3 00 04 */ stw r5, 4(r3)
/* 80310F04 0030DE44 90 A3 00 08 */ stw r5, 8(r3)
/* 80310F08 0030DE48 90 A3 00 0C */ stw r5, 0xc(r3)
/* 80310F0C 0030DE4C 90 A3 00 10 */ stw r5, 0x10(r3)
/* 80310F10 0030DE50 90 A3 00 14 */ stw r5, 0x14(r3)
/* 80310F14 0030DE54 90 A3 00 18 */ stw r5, 0x18(r3)
/* 80310F18 0030DE58 90 A3 00 1C */ stw r5, 0x1c(r3)
/* 80310F1C 0030DE5C 90 A3 00 20 */ stw r5, 0x20(r3)
/* 80310F20 0030DE60 7C A4 2B 78 */ mr r4, r5
/* 80310F24 0030DE64 38 00 00 02 */ li r0, 2
/* 80310F28 0030DE68 7C 09 03 A6 */ mtctr r0
lbl_80310F2C:
/* 80310F2C 0030DE6C 38 04 00 24 */ addi r0, r4, 0x24
/* 80310F30 0030DE70 7C A3 01 2E */ stwx r5, r3, r0
/* 80310F34 0030DE74 38 84 00 04 */ addi r4, r4, 4
/* 80310F38 0030DE78 42 00 FF F4 */ bdnz lbl_80310F2C
/* 80310F3C 0030DE7C 38 80 00 00 */ li r4, 0
/* 80310F40 0030DE80 38 A0 00 00 */ li r5, 0
/* 80310F44 0030DE84 38 00 00 08 */ li r0, 8
/* 80310F48 0030DE88 7C 09 03 A6 */ mtctr r0
lbl_80310F4C:
/* 80310F4C 0030DE8C 38 04 00 2C */ addi r0, r4, 0x2c
/* 80310F50 0030DE90 7C A3 01 2E */ stwx r5, r3, r0
/* 80310F54 0030DE94 38 84 00 04 */ addi r4, r4, 4
/* 80310F58 0030DE98 42 00 FF F4 */ bdnz lbl_80310F4C
/* 80310F5C 0030DE9C 38 80 00 00 */ li r4, 0
/* 80310F60 0030DEA0 98 83 00 4C */ stb r4, 0x4c(r3)
/* 80310F64 0030DEA4 38 00 00 04 */ li r0, 4
/* 80310F68 0030DEA8 90 03 00 50 */ stw r0, 0x50(r3)
/* 80310F6C 0030DEAC 98 83 00 54 */ stb r4, 0x54(r3)
/* 80310F70 0030DEB0 90 03 00 58 */ stw r0, 0x58(r3)
/* 80310F74 0030DEB4 4E 80 00 20 */ blr
.global J3DVertexBuffer_NS_setVertexData
J3DVertexBuffer_NS_setVertexData:
/* 80310F78 0030DEB8 90 83 00 00 */ stw r4, 0(r3)
/* 80310F7C 0030DEBC 80 04 00 18 */ lwz r0, 0x18(r4)
/* 80310F80 0030DEC0 90 03 00 04 */ stw r0, 4(r3)
/* 80310F84 0030DEC4 80 04 00 1C */ lwz r0, 0x1c(r4)
/* 80310F88 0030DEC8 90 03 00 0C */ stw r0, 0xc(r3)
/* 80310F8C 0030DECC 80 04 00 24 */ lwz r0, 0x24(r4)
/* 80310F90 0030DED0 90 03 00 14 */ stw r0, 0x14(r3)
/* 80310F94 0030DED4 38 A0 00 00 */ li r5, 0
/* 80310F98 0030DED8 90 A3 00 08 */ stw r5, 8(r3)
/* 80310F9C 0030DEDC 90 A3 00 10 */ stw r5, 0x10(r3)
/* 80310FA0 0030DEE0 90 A3 00 18 */ stw r5, 0x18(r3)
/* 80310FA4 0030DEE4 80 04 00 18 */ lwz r0, 0x18(r4)
/* 80310FA8 0030DEE8 90 03 00 1C */ stw r0, 0x1c(r3)
/* 80310FAC 0030DEEC 80 04 00 1C */ lwz r0, 0x1c(r4)
/* 80310FB0 0030DEF0 90 03 00 24 */ stw r0, 0x24(r3)
/* 80310FB4 0030DEF4 90 A3 00 20 */ stw r5, 0x20(r3)
/* 80310FB8 0030DEF8 90 A3 00 28 */ stw r5, 0x28(r3)
/* 80310FBC 0030DEFC 80 03 00 04 */ lwz r0, 4(r3)
/* 80310FC0 0030DF00 90 03 00 2C */ stw r0, 0x2c(r3)
/* 80310FC4 0030DF04 80 03 00 0C */ lwz r0, 0xc(r3)
/* 80310FC8 0030DF08 90 03 00 30 */ stw r0, 0x30(r3)
/* 80310FCC 0030DF0C 80 03 00 14 */ lwz r0, 0x14(r3)
/* 80310FD0 0030DF10 90 03 00 34 */ stw r0, 0x34(r3)
/* 80310FD4 0030DF14 4E 80 00 20 */ blr
.global J3DVertexBuffer_NS_init
J3DVertexBuffer_NS_init:
/* 80310FD8 0030DF18 38 00 00 00 */ li r0, 0
/* 80310FDC 0030DF1C 90 03 00 00 */ stw r0, 0(r3)
/* 80310FE0 0030DF20 90 03 00 08 */ stw r0, 8(r3)
/* 80310FE4 0030DF24 90 03 00 04 */ stw r0, 4(r3)
/* 80310FE8 0030DF28 90 03 00 10 */ stw r0, 0x10(r3)
/* 80310FEC 0030DF2C 90 03 00 0C */ stw r0, 0xc(r3)
/* 80310FF0 0030DF30 90 03 00 18 */ stw r0, 0x18(r3)
/* 80310FF4 0030DF34 90 03 00 14 */ stw r0, 0x14(r3)
/* 80310FF8 0030DF38 90 03 00 20 */ stw r0, 0x20(r3)
/* 80310FFC 0030DF3C 90 03 00 1C */ stw r0, 0x1c(r3)
/* 80311000 0030DF40 90 03 00 28 */ stw r0, 0x28(r3)
/* 80311004 0030DF44 90 03 00 24 */ stw r0, 0x24(r3)
/* 80311008 0030DF48 90 03 00 2C */ stw r0, 0x2c(r3)
/* 8031100C 0030DF4C 90 03 00 30 */ stw r0, 0x30(r3)
/* 80311010 0030DF50 90 03 00 34 */ stw r0, 0x34(r3)
/* 80311014 0030DF54 80 03 00 04 */ lwz r0, 4(r3)
/* 80311018 0030DF58 90 03 00 2C */ stw r0, 0x2c(r3)
/* 8031101C 0030DF5C 80 03 00 0C */ lwz r0, 0xc(r3)
/* 80311020 0030DF60 90 03 00 30 */ stw r0, 0x30(r3)
/* 80311024 0030DF64 80 03 00 14 */ lwz r0, 0x14(r3)
/* 80311028 0030DF68 90 03 00 34 */ stw r0, 0x34(r3)
/* 8031102C 0030DF6C 4E 80 00 20 */ blr
.global J3DVertexBuffer_NS_dtor
J3DVertexBuffer_NS_dtor:
/* 80311030 0030DF70 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80311034 0030DF74 7C 08 02 A6 */ mflr r0
/* 80311038 0030DF78 90 01 00 14 */ stw r0, 0x14(r1)
/* 8031103C 0030DF7C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80311040 0030DF80 7C 7F 1B 79 */ or. r31, r3, r3
/* 80311044 0030DF84 41 82 00 10 */ beq lbl_80311054
/* 80311048 0030DF88 7C 80 07 35 */ extsh. r0, r4
/* 8031104C 0030DF8C 40 81 00 08 */ ble lbl_80311054
/* 80311050 0030DF90 4B FB DC ED */ bl __dl
lbl_80311054:
/* 80311054 0030DF94 7F E3 FB 78 */ mr r3, r31
/* 80311058 0030DF98 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8031105C 0030DF9C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80311060 0030DFA0 7C 08 03 A6 */ mtlr r0
/* 80311064 0030DFA4 38 21 00 10 */ addi r1, r1, 0x10
/* 80311068 0030DFA8 4E 80 00 20 */ blr
.global J3DVertexBuffer_NS_setArray
J3DVertexBuffer_NS_setArray:
/* 8031106C 0030DFAC 80 03 00 2C */ lwz r0, 0x2c(r3)
/* 80311070 0030DFB0 3C 80 80 43 */ lis r4, lbl_80434AC8@ha
/* 80311074 0030DFB4 38 84 4A C8 */ addi r4, r4, lbl_80434AC8@l
/* 80311078 0030DFB8 90 04 01 0C */ stw r0, 0x10c(r4)
/* 8031107C 0030DFBC 80 03 00 30 */ lwz r0, 0x30(r3)
/* 80311080 0030DFC0 90 04 01 10 */ stw r0, 0x110(r4)
/* 80311084 0030DFC4 80 03 00 34 */ lwz r0, 0x34(r3)
/* 80311088 0030DFC8 90 04 01 14 */ stw r0, 0x114(r4)
/* 8031108C 0030DFCC 4E 80 00 20 */ blr
.global J3DVertexBuffer_NS_copyLocalVtxPosArray
J3DVertexBuffer_NS_copyLocalVtxPosArray:
/* 80311090 0030DFD0 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80311094 0030DFD4 7C 08 02 A6 */ mflr r0
/* 80311098 0030DFD8 90 01 00 24 */ stw r0, 0x24(r1)
/* 8031109C 0030DFDC 39 61 00 20 */ addi r11, r1, 0x20
/* 803110A0 0030DFE0 48 05 11 39 */ bl func_803621D8
/* 803110A4 0030DFE4 7C 7F 1B 78 */ mr r31, r3
/* 803110A8 0030DFE8 54 80 07 FF */ clrlwi. r0, r4, 0x1f
/* 803110AC 0030DFEC 41 82 00 78 */ beq lbl_80311124
/* 803110B0 0030DFF0 3B 80 00 00 */ li r28, 0
/* 803110B4 0030DFF4 3B C0 00 00 */ li r30, 0
lbl_803110B8:
/* 803110B8 0030DFF8 80 7F 00 00 */ lwz r3, 0(r31)
/* 803110BC 0030DFFC 80 03 00 00 */ lwz r0, 0(r3)
/* 803110C0 0030E000 1C 60 00 0C */ mulli r3, r0, 0xc
/* 803110C4 0030E004 38 80 00 20 */ li r4, 0x20
/* 803110C8 0030E008 4B FB DC 25 */ bl __nwa_X1_
/* 803110CC 0030E00C 3B BE 00 04 */ addi r29, r30, 4
/* 803110D0 0030E010 7C 7F E9 2E */ stwx r3, r31, r29
/* 803110D4 0030E014 7C 7F E8 2E */ lwzx r3, r31, r29
/* 803110D8 0030E018 28 03 00 00 */ cmplwi r3, 0
/* 803110DC 0030E01C 40 82 00 0C */ bne lbl_803110E8
/* 803110E0 0030E020 38 60 00 04 */ li r3, 4
/* 803110E4 0030E024 48 00 00 B4 */ b lbl_80311198
lbl_803110E8:
/* 803110E8 0030E028 80 9F 00 00 */ lwz r4, 0(r31)
/* 803110EC 0030E02C 80 04 00 00 */ lwz r0, 0(r4)
/* 803110F0 0030E030 80 84 00 18 */ lwz r4, 0x18(r4)
/* 803110F4 0030E034 1C A0 00 0C */ mulli r5, r0, 0xc
/* 803110F8 0030E038 4B CF 24 49 */ bl func_80003540
/* 803110FC 0030E03C 80 7F 00 00 */ lwz r3, 0(r31)
/* 80311100 0030E040 80 03 00 00 */ lwz r0, 0(r3)
/* 80311104 0030E044 7C 7F E8 2E */ lwzx r3, r31, r29
/* 80311108 0030E048 1C 80 00 0C */ mulli r4, r0, 0xc
/* 8031110C 0030E04C 48 02 A4 D1 */ bl DCStoreRange
/* 80311110 0030E050 3B 9C 00 01 */ addi r28, r28, 1
/* 80311114 0030E054 2C 1C 00 02 */ cmpwi r28, 2
/* 80311118 0030E058 3B DE 00 04 */ addi r30, r30, 4
/* 8031111C 0030E05C 41 80 FF 9C */ blt lbl_803110B8
/* 80311120 0030E060 48 00 00 74 */ b lbl_80311194
lbl_80311124:
/* 80311124 0030E064 80 7F 00 00 */ lwz r3, 0(r31)
/* 80311128 0030E068 80 03 00 18 */ lwz r0, 0x18(r3)
/* 8031112C 0030E06C 90 1F 00 04 */ stw r0, 4(r31)
/* 80311130 0030E070 80 1F 00 08 */ lwz r0, 8(r31)
/* 80311134 0030E074 28 00 00 00 */ cmplwi r0, 0
/* 80311138 0030E078 40 82 00 30 */ bne lbl_80311168
/* 8031113C 0030E07C 80 7F 00 00 */ lwz r3, 0(r31)
/* 80311140 0030E080 80 03 00 00 */ lwz r0, 0(r3)
/* 80311144 0030E084 1C 60 00 0C */ mulli r3, r0, 0xc
/* 80311148 0030E088 38 80 00 20 */ li r4, 0x20
/* 8031114C 0030E08C 4B FB DB A1 */ bl __nwa_X1_
/* 80311150 0030E090 90 7F 00 08 */ stw r3, 8(r31)
/* 80311154 0030E094 80 1F 00 08 */ lwz r0, 8(r31)
/* 80311158 0030E098 28 00 00 00 */ cmplwi r0, 0
/* 8031115C 0030E09C 40 82 00 0C */ bne lbl_80311168
/* 80311160 0030E0A0 38 60 00 04 */ li r3, 4
/* 80311164 0030E0A4 48 00 00 34 */ b lbl_80311198
lbl_80311168:
/* 80311168 0030E0A8 80 7F 00 00 */ lwz r3, 0(r31)
/* 8031116C 0030E0AC 80 03 00 00 */ lwz r0, 0(r3)
/* 80311170 0030E0B0 80 83 00 18 */ lwz r4, 0x18(r3)
/* 80311174 0030E0B4 80 7F 00 08 */ lwz r3, 8(r31)
/* 80311178 0030E0B8 1C A0 00 0C */ mulli r5, r0, 0xc
/* 8031117C 0030E0BC 4B CF 23 C5 */ bl func_80003540
/* 80311180 0030E0C0 80 7F 00 00 */ lwz r3, 0(r31)
/* 80311184 0030E0C4 80 03 00 00 */ lwz r0, 0(r3)
/* 80311188 0030E0C8 80 7F 00 08 */ lwz r3, 8(r31)
/* 8031118C 0030E0CC 1C 80 00 0C */ mulli r4, r0, 0xc
/* 80311190 0030E0D0 48 02 A4 4D */ bl DCStoreRange
lbl_80311194:
/* 80311194 0030E0D4 38 60 00 00 */ li r3, 0
lbl_80311198:
/* 80311198 0030E0D8 39 61 00 20 */ addi r11, r1, 0x20
/* 8031119C 0030E0DC 48 05 10 89 */ bl func_80362224
/* 803111A0 0030E0E0 80 01 00 24 */ lwz r0, 0x24(r1)
/* 803111A4 0030E0E4 7C 08 03 A6 */ mtlr r0
/* 803111A8 0030E0E8 38 21 00 20 */ addi r1, r1, 0x20
/* 803111AC 0030E0EC 4E 80 00 20 */ blr
.global J3DVertexBuffer_NS_copyLocalVtxNrmArray
J3DVertexBuffer_NS_copyLocalVtxNrmArray:
/* 803111B0 0030E0F0 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 803111B4 0030E0F4 7C 08 02 A6 */ mflr r0
/* 803111B8 0030E0F8 90 01 00 24 */ stw r0, 0x24(r1)
/* 803111BC 0030E0FC 39 61 00 20 */ addi r11, r1, 0x20
/* 803111C0 0030E100 48 05 10 19 */ bl func_803621D8
/* 803111C4 0030E104 7C 7F 1B 78 */ mr r31, r3
/* 803111C8 0030E108 54 80 07 FF */ clrlwi. r0, r4, 0x1f
/* 803111CC 0030E10C 41 82 00 78 */ beq lbl_80311244
/* 803111D0 0030E110 3B 80 00 00 */ li r28, 0
/* 803111D4 0030E114 3B C0 00 00 */ li r30, 0
lbl_803111D8:
/* 803111D8 0030E118 80 7F 00 00 */ lwz r3, 0(r31)
/* 803111DC 0030E11C 80 03 00 04 */ lwz r0, 4(r3)
/* 803111E0 0030E120 1C 60 00 0C */ mulli r3, r0, 0xc
/* 803111E4 0030E124 38 80 00 20 */ li r4, 0x20
/* 803111E8 0030E128 4B FB DB 05 */ bl __nwa_X1_
/* 803111EC 0030E12C 3B BE 00 0C */ addi r29, r30, 0xc
/* 803111F0 0030E130 7C 7F E9 2E */ stwx r3, r31, r29
/* 803111F4 0030E134 7C 7F E8 2E */ lwzx r3, r31, r29
/* 803111F8 0030E138 28 03 00 00 */ cmplwi r3, 0
/* 803111FC 0030E13C 40 82 00 0C */ bne lbl_80311208
/* 80311200 0030E140 38 60 00 04 */ li r3, 4
/* 80311204 0030E144 48 00 00 B4 */ b lbl_803112B8
lbl_80311208:
/* 80311208 0030E148 80 9F 00 00 */ lwz r4, 0(r31)
/* 8031120C 0030E14C 80 04 00 04 */ lwz r0, 4(r4)
/* 80311210 0030E150 80 84 00 1C */ lwz r4, 0x1c(r4)
/* 80311214 0030E154 1C A0 00 0C */ mulli r5, r0, 0xc
/* 80311218 0030E158 4B CF 23 29 */ bl func_80003540
/* 8031121C 0030E15C 80 7F 00 00 */ lwz r3, 0(r31)
/* 80311220 0030E160 80 03 00 04 */ lwz r0, 4(r3)
/* 80311224 0030E164 7C 7F E8 2E */ lwzx r3, r31, r29
/* 80311228 0030E168 1C 80 00 0C */ mulli r4, r0, 0xc
/* 8031122C 0030E16C 48 02 A3 B1 */ bl DCStoreRange
/* 80311230 0030E170 3B 9C 00 01 */ addi r28, r28, 1
/* 80311234 0030E174 2C 1C 00 02 */ cmpwi r28, 2
/* 80311238 0030E178 3B DE 00 04 */ addi r30, r30, 4
/* 8031123C 0030E17C 41 80 FF 9C */ blt lbl_803111D8
/* 80311240 0030E180 48 00 00 74 */ b lbl_803112B4
lbl_80311244:
/* 80311244 0030E184 80 7F 00 00 */ lwz r3, 0(r31)
/* 80311248 0030E188 80 03 00 1C */ lwz r0, 0x1c(r3)
/* 8031124C 0030E18C 90 1F 00 0C */ stw r0, 0xc(r31)
/* 80311250 0030E190 80 1F 00 10 */ lwz r0, 0x10(r31)
/* 80311254 0030E194 28 00 00 00 */ cmplwi r0, 0
/* 80311258 0030E198 40 82 00 30 */ bne lbl_80311288
/* 8031125C 0030E19C 80 7F 00 00 */ lwz r3, 0(r31)
/* 80311260 0030E1A0 80 03 00 04 */ lwz r0, 4(r3)
/* 80311264 0030E1A4 1C 60 00 0C */ mulli r3, r0, 0xc
/* 80311268 0030E1A8 38 80 00 20 */ li r4, 0x20
/* 8031126C 0030E1AC 4B FB DA 81 */ bl __nwa_X1_
/* 80311270 0030E1B0 90 7F 00 10 */ stw r3, 0x10(r31)
/* 80311274 0030E1B4 80 1F 00 10 */ lwz r0, 0x10(r31)
/* 80311278 0030E1B8 28 00 00 00 */ cmplwi r0, 0
/* 8031127C 0030E1BC 40 82 00 0C */ bne lbl_80311288
/* 80311280 0030E1C0 38 60 00 04 */ li r3, 4
/* 80311284 0030E1C4 48 00 00 34 */ b lbl_803112B8
lbl_80311288:
/* 80311288 0030E1C8 80 7F 00 00 */ lwz r3, 0(r31)
/* 8031128C 0030E1CC 80 03 00 04 */ lwz r0, 4(r3)
/* 80311290 0030E1D0 80 83 00 1C */ lwz r4, 0x1c(r3)
/* 80311294 0030E1D4 80 7F 00 10 */ lwz r3, 0x10(r31)
/* 80311298 0030E1D8 1C A0 00 0C */ mulli r5, r0, 0xc
/* 8031129C 0030E1DC 4B CF 22 A5 */ bl func_80003540
/* 803112A0 0030E1E0 80 7F 00 00 */ lwz r3, 0(r31)
/* 803112A4 0030E1E4 80 03 00 04 */ lwz r0, 4(r3)
/* 803112A8 0030E1E8 80 7F 00 10 */ lwz r3, 0x10(r31)
/* 803112AC 0030E1EC 1C 80 00 0C */ mulli r4, r0, 0xc
/* 803112B0 0030E1F0 48 02 A3 2D */ bl DCStoreRange
lbl_803112B4:
/* 803112B4 0030E1F4 38 60 00 00 */ li r3, 0
lbl_803112B8:
/* 803112B8 0030E1F8 39 61 00 20 */ addi r11, r1, 0x20
/* 803112BC 0030E1FC 48 05 0F 69 */ bl func_80362224
/* 803112C0 0030E200 80 01 00 24 */ lwz r0, 0x24(r1)
/* 803112C4 0030E204 7C 08 03 A6 */ mtlr r0
/* 803112C8 0030E208 38 21 00 20 */ addi r1, r1, 0x20
/* 803112CC 0030E20C 4E 80 00 20 */ blr
.global J3DVertexBuffer_NS_copyLocalVtxArray
J3DVertexBuffer_NS_copyLocalVtxArray:
/* 803112D0 0030E210 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 803112D4 0030E214 7C 08 02 A6 */ mflr r0
/* 803112D8 0030E218 90 01 00 44 */ stw r0, 0x44(r1)
/* 803112DC 0030E21C 39 61 00 40 */ addi r11, r1, 0x40
/* 803112E0 0030E220 48 05 0E E9 */ bl func_803621C8
/* 803112E4 0030E224 7C 7E 1B 78 */ mr r30, r3
/* 803112E8 0030E228 7C 9F 23 78 */ mr r31, r4
/* 803112EC 0030E22C 38 60 00 00 */ li r3, 0
/* 803112F0 0030E230 38 81 00 10 */ addi r4, r1, 0x10
/* 803112F4 0030E234 38 00 00 02 */ li r0, 2
/* 803112F8 0030E238 7C 09 03 A6 */ mtctr r0
lbl_803112FC:
/* 803112FC 0030E23C 38 03 00 04 */ addi r0, r3, 4
/* 80311300 0030E240 7C 1E 00 2E */ lwzx r0, r30, r0
/* 80311304 0030E244 7C 04 19 2E */ stwx r0, r4, r3
/* 80311308 0030E248 38 63 00 04 */ addi r3, r3, 4
/* 8031130C 0030E24C 42 00 FF F0 */ bdnz lbl_803112FC
/* 80311310 0030E250 7F FB F8 F8 */ nor r27, r31, r31
/* 80311314 0030E254 57 60 07 BD */ rlwinm. r0, r27, 0, 0x1e, 0x1e
/* 80311318 0030E258 41 82 00 68 */ beq lbl_80311380
/* 8031131C 0030E25C 7F C3 F3 78 */ mr r3, r30
/* 80311320 0030E260 7F E4 FB 78 */ mr r4, r31
/* 80311324 0030E264 4B FF FD 6D */ bl J3DVertexBuffer_NS_copyLocalVtxPosArray
/* 80311328 0030E268 7C 7A 1B 79 */ or. r26, r3, r3
/* 8031132C 0030E26C 41 82 00 64 */ beq lbl_80311390
/* 80311330 0030E270 3B 20 00 00 */ li r25, 0
/* 80311334 0030E274 3B E0 00 00 */ li r31, 0
/* 80311338 0030E278 3B 81 00 10 */ addi r28, r1, 0x10
lbl_8031133C:
/* 8031133C 0030E27C 7F BC F8 2E */ lwzx r29, r28, r31
/* 80311340 0030E280 3B 7F 00 04 */ addi r27, r31, 4
/* 80311344 0030E284 7C 7E D8 2E */ lwzx r3, r30, r27
/* 80311348 0030E288 7C 1D 18 40 */ cmplw r29, r3
/* 8031134C 0030E28C 41 82 00 1C */ beq lbl_80311368
/* 80311350 0030E290 80 9E 00 00 */ lwz r4, 0(r30)
/* 80311354 0030E294 80 04 00 18 */ lwz r0, 0x18(r4)
/* 80311358 0030E298 7C 03 00 40 */ cmplw r3, r0
/* 8031135C 0030E29C 41 82 00 08 */ beq lbl_80311364
/* 80311360 0030E2A0 4B FB D9 DD */ bl __dl
lbl_80311364:
/* 80311364 0030E2A4 7F BE D9 2E */ stwx r29, r30, r27
lbl_80311368:
/* 80311368 0030E2A8 3B 39 00 01 */ addi r25, r25, 1
/* 8031136C 0030E2AC 2C 19 00 02 */ cmpwi r25, 2
/* 80311370 0030E2B0 3B FF 00 04 */ addi r31, r31, 4
/* 80311374 0030E2B4 41 80 FF C8 */ blt lbl_8031133C
/* 80311378 0030E2B8 7F 43 D3 78 */ mr r3, r26
/* 8031137C 0030E2BC 48 00 00 E4 */ b lbl_80311460
lbl_80311380:
/* 80311380 0030E2C0 80 7E 00 00 */ lwz r3, 0(r30)
/* 80311384 0030E2C4 80 03 00 18 */ lwz r0, 0x18(r3)
/* 80311388 0030E2C8 90 1E 00 08 */ stw r0, 8(r30)
/* 8031138C 0030E2CC 90 1E 00 04 */ stw r0, 4(r30)
lbl_80311390:
/* 80311390 0030E2D0 38 60 00 00 */ li r3, 0
/* 80311394 0030E2D4 38 81 00 08 */ addi r4, r1, 8
/* 80311398 0030E2D8 38 00 00 02 */ li r0, 2
/* 8031139C 0030E2DC 7C 09 03 A6 */ mtctr r0
lbl_803113A0:
/* 803113A0 0030E2E0 38 03 00 0C */ addi r0, r3, 0xc
/* 803113A4 0030E2E4 7C 1E 00 2E */ lwzx r0, r30, r0
/* 803113A8 0030E2E8 7C 04 19 2E */ stwx r0, r4, r3
/* 803113AC 0030E2EC 38 63 00 04 */ addi r3, r3, 4
/* 803113B0 0030E2F0 42 00 FF F0 */ bdnz lbl_803113A0
/* 803113B4 0030E2F4 57 60 07 7B */ rlwinm. r0, r27, 0, 0x1d, 0x1d
/* 803113B8 0030E2F8 41 82 00 94 */ beq lbl_8031144C
/* 803113BC 0030E2FC 7F C3 F3 78 */ mr r3, r30
/* 803113C0 0030E300 7F E4 FB 78 */ mr r4, r31
/* 803113C4 0030E304 4B FF FD ED */ bl J3DVertexBuffer_NS_copyLocalVtxNrmArray
/* 803113C8 0030E308 7C 79 1B 79 */ or. r25, r3, r3
/* 803113CC 0030E30C 41 82 00 90 */ beq lbl_8031145C
/* 803113D0 0030E310 3B 00 00 00 */ li r24, 0
/* 803113D4 0030E314 3B E0 00 00 */ li r31, 0
/* 803113D8 0030E318 3B 81 00 10 */ addi r28, r1, 0x10
/* 803113DC 0030E31C 3B A1 00 08 */ addi r29, r1, 8
lbl_803113E0:
/* 803113E0 0030E320 7F 7C F8 2E */ lwzx r27, r28, r31
/* 803113E4 0030E324 7F 5E FA 14 */ add r26, r30, r31
/* 803113E8 0030E328 80 7A 00 04 */ lwz r3, 4(r26)
/* 803113EC 0030E32C 7C 1B 18 40 */ cmplw r27, r3
/* 803113F0 0030E330 41 82 00 1C */ beq lbl_8031140C
/* 803113F4 0030E334 80 9E 00 00 */ lwz r4, 0(r30)
/* 803113F8 0030E338 80 04 00 18 */ lwz r0, 0x18(r4)
/* 803113FC 0030E33C 7C 03 00 40 */ cmplw r3, r0
/* 80311400 0030E340 41 82 00 08 */ beq lbl_80311408
/* 80311404 0030E344 4B FB D9 39 */ bl __dl
lbl_80311408:
/* 80311408 0030E348 93 7A 00 04 */ stw r27, 4(r26)
lbl_8031140C:
/* 8031140C 0030E34C 7F 7D F8 2E */ lwzx r27, r29, r31
/* 80311410 0030E350 80 7A 00 0C */ lwz r3, 0xc(r26)
/* 80311414 0030E354 7C 1B 18 40 */ cmplw r27, r3
/* 80311418 0030E358 41 82 00 1C */ beq lbl_80311434
/* 8031141C 0030E35C 80 9E 00 00 */ lwz r4, 0(r30)
/* 80311420 0030E360 80 04 00 1C */ lwz r0, 0x1c(r4)
/* 80311424 0030E364 7C 03 00 40 */ cmplw r3, r0
/* 80311428 0030E368 41 82 00 08 */ beq lbl_80311430
/* 8031142C 0030E36C 4B FB D9 11 */ bl __dl
lbl_80311430:
/* 80311430 0030E370 93 7A 00 0C */ stw r27, 0xc(r26)
lbl_80311434:
/* 80311434 0030E374 3B 18 00 01 */ addi r24, r24, 1
/* 80311438 0030E378 2C 18 00 02 */ cmpwi r24, 2
/* 8031143C 0030E37C 3B FF 00 04 */ addi r31, r31, 4
/* 80311440 0030E380 41 80 FF A0 */ blt lbl_803113E0
/* 80311444 0030E384 7F 23 CB 78 */ mr r3, r25
/* 80311448 0030E388 48 00 00 18 */ b lbl_80311460
lbl_8031144C:
/* 8031144C 0030E38C 80 7E 00 00 */ lwz r3, 0(r30)
/* 80311450 0030E390 80 03 00 1C */ lwz r0, 0x1c(r3)
/* 80311454 0030E394 90 1E 00 10 */ stw r0, 0x10(r30)
/* 80311458 0030E398 90 1E 00 0C */ stw r0, 0xc(r30)
lbl_8031145C:
/* 8031145C 0030E39C 38 60 00 00 */ li r3, 0
lbl_80311460:
/* 80311460 0030E3A0 39 61 00 40 */ addi r11, r1, 0x40
/* 80311464 0030E3A4 48 05 0D B1 */ bl func_80362214
/* 80311468 0030E3A8 80 01 00 44 */ lwz r0, 0x44(r1)
/* 8031146C 0030E3AC 7C 08 03 A6 */ mtlr r0
/* 80311470 0030E3B0 38 21 00 40 */ addi r1, r1, 0x40
/* 80311474 0030E3B4 4E 80 00 20 */ blr
.global J3DVertexBuffer_NS_allocTransformedVtxPosArray
J3DVertexBuffer_NS_allocTransformedVtxPosArray:
/* 80311478 0030E3B8 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8031147C 0030E3BC 7C 08 02 A6 */ mflr r0
/* 80311480 0030E3C0 90 01 00 24 */ stw r0, 0x24(r1)
/* 80311484 0030E3C4 39 61 00 20 */ addi r11, r1, 0x20
/* 80311488 0030E3C8 48 05 0D 55 */ bl func_803621DC
/* 8031148C 0030E3CC 7C 7D 1B 78 */ mr r29, r3
/* 80311490 0030E3D0 80 03 00 1C */ lwz r0, 0x1c(r3)
/* 80311494 0030E3D4 28 00 00 00 */ cmplwi r0, 0
/* 80311498 0030E3D8 41 82 00 18 */ beq lbl_803114B0
/* 8031149C 0030E3DC 80 1D 00 20 */ lwz r0, 0x20(r29)
/* 803114A0 0030E3E0 28 00 00 00 */ cmplwi r0, 0
/* 803114A4 0030E3E4 41 82 00 0C */ beq lbl_803114B0
/* 803114A8 0030E3E8 38 60 00 00 */ li r3, 0
/* 803114AC 0030E3EC 48 00 00 68 */ b lbl_80311514
lbl_803114B0:
/* 803114B0 0030E3F0 3B C0 00 00 */ li r30, 0
/* 803114B4 0030E3F4 3B E0 00 00 */ li r31, 0
lbl_803114B8:
/* 803114B8 0030E3F8 2C 1E 00 00 */ cmpwi r30, 0
/* 803114BC 0030E3FC 41 82 00 14 */ beq lbl_803114D0
/* 803114C0 0030E400 38 1F 00 1C */ addi r0, r31, 0x1c
/* 803114C4 0030E404 7C 1D 00 2E */ lwzx r0, r29, r0
/* 803114C8 0030E408 28 00 00 00 */ cmplwi r0, 0
/* 803114CC 0030E40C 40 82 00 34 */ bne lbl_80311500
lbl_803114D0:
/* 803114D0 0030E410 80 7D 00 00 */ lwz r3, 0(r29)
/* 803114D4 0030E414 80 03 00 00 */ lwz r0, 0(r3)
/* 803114D8 0030E418 1C 60 00 0C */ mulli r3, r0, 0xc
/* 803114DC 0030E41C 38 80 00 20 */ li r4, 0x20
/* 803114E0 0030E420 4B FB D8 0D */ bl __nwa_X1_
/* 803114E4 0030E424 38 1F 00 1C */ addi r0, r31, 0x1c
/* 803114E8 0030E428 7C 7D 01 2E */ stwx r3, r29, r0
/* 803114EC 0030E42C 7C 1D 00 2E */ lwzx r0, r29, r0
/* 803114F0 0030E430 28 00 00 00 */ cmplwi r0, 0
/* 803114F4 0030E434 40 82 00 0C */ bne lbl_80311500
/* 803114F8 0030E438 38 60 00 04 */ li r3, 4
/* 803114FC 0030E43C 48 00 00 18 */ b lbl_80311514
lbl_80311500:
/* 80311500 0030E440 3B DE 00 01 */ addi r30, r30, 1
/* 80311504 0030E444 2C 1E 00 02 */ cmpwi r30, 2
/* 80311508 0030E448 3B FF 00 04 */ addi r31, r31, 4
/* 8031150C 0030E44C 41 80 FF AC */ blt lbl_803114B8
/* 80311510 0030E450 38 60 00 00 */ li r3, 0
lbl_80311514:
/* 80311514 0030E454 39 61 00 20 */ addi r11, r1, 0x20
/* 80311518 0030E458 48 05 0D 11 */ bl func_80362228
/* 8031151C 0030E45C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80311520 0030E460 7C 08 03 A6 */ mtlr r0
/* 80311524 0030E464 38 21 00 20 */ addi r1, r1, 0x20
/* 80311528 0030E468 4E 80 00 20 */ blr
.global J3DVertexBuffer_NS_allocTransformedVtxNrmArray
J3DVertexBuffer_NS_allocTransformedVtxNrmArray:
/* 8031152C 0030E46C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80311530 0030E470 7C 08 02 A6 */ mflr r0
/* 80311534 0030E474 90 01 00 24 */ stw r0, 0x24(r1)
/* 80311538 0030E478 39 61 00 20 */ addi r11, r1, 0x20
/* 8031153C 0030E47C 48 05 0C A1 */ bl func_803621DC
/* 80311540 0030E480 7C 7D 1B 78 */ mr r29, r3
/* 80311544 0030E484 80 03 00 24 */ lwz r0, 0x24(r3)
/* 80311548 0030E488 28 00 00 00 */ cmplwi r0, 0
/* 8031154C 0030E48C 41 82 00 18 */ beq lbl_80311564
/* 80311550 0030E490 80 1D 00 28 */ lwz r0, 0x28(r29)
/* 80311554 0030E494 28 00 00 00 */ cmplwi r0, 0
/* 80311558 0030E498 41 82 00 0C */ beq lbl_80311564
/* 8031155C 0030E49C 38 60 00 00 */ li r3, 0
/* 80311560 0030E4A0 48 00 00 68 */ b lbl_803115C8
lbl_80311564:
/* 80311564 0030E4A4 3B C0 00 00 */ li r30, 0
/* 80311568 0030E4A8 3B E0 00 00 */ li r31, 0
lbl_8031156C:
/* 8031156C 0030E4AC 2C 1E 00 00 */ cmpwi r30, 0
/* 80311570 0030E4B0 41 82 00 14 */ beq lbl_80311584
/* 80311574 0030E4B4 38 1F 00 24 */ addi r0, r31, 0x24
/* 80311578 0030E4B8 7C 1D 00 2E */ lwzx r0, r29, r0
/* 8031157C 0030E4BC 28 00 00 00 */ cmplwi r0, 0
/* 80311580 0030E4C0 40 82 00 34 */ bne lbl_803115B4
lbl_80311584:
/* 80311584 0030E4C4 80 7D 00 00 */ lwz r3, 0(r29)
/* 80311588 0030E4C8 80 03 00 04 */ lwz r0, 4(r3)
/* 8031158C 0030E4CC 1C 60 00 0C */ mulli r3, r0, 0xc
/* 80311590 0030E4D0 38 80 00 20 */ li r4, 0x20
/* 80311594 0030E4D4 4B FB D7 59 */ bl __nwa_X1_
/* 80311598 0030E4D8 38 1F 00 24 */ addi r0, r31, 0x24
/* 8031159C 0030E4DC 7C 7D 01 2E */ stwx r3, r29, r0
/* 803115A0 0030E4E0 7C 1D 00 2E */ lwzx r0, r29, r0
/* 803115A4 0030E4E4 28 00 00 00 */ cmplwi r0, 0
/* 803115A8 0030E4E8 40 82 00 0C */ bne lbl_803115B4
/* 803115AC 0030E4EC 38 60 00 04 */ li r3, 4
/* 803115B0 0030E4F0 48 00 00 18 */ b lbl_803115C8
lbl_803115B4:
/* 803115B4 0030E4F4 3B DE 00 01 */ addi r30, r30, 1
/* 803115B8 0030E4F8 2C 1E 00 02 */ cmpwi r30, 2
/* 803115BC 0030E4FC 3B FF 00 04 */ addi r31, r31, 4
/* 803115C0 0030E500 41 80 FF AC */ blt lbl_8031156C
/* 803115C4 0030E504 38 60 00 00 */ li r3, 0
lbl_803115C8:
/* 803115C8 0030E508 39 61 00 20 */ addi r11, r1, 0x20
/* 803115CC 0030E50C 48 05 0C 5D */ bl func_80362228
/* 803115D0 0030E510 80 01 00 24 */ lwz r0, 0x24(r1)
/* 803115D4 0030E514 7C 08 03 A6 */ mtlr r0
/* 803115D8 0030E518 38 21 00 20 */ addi r1, r1, 0x20
/* 803115DC 0030E51C 4E 80 00 20 */ blr
.global J3DDrawMtxData
J3DDrawMtxData:
/* 803115E0 0030E520 38 00 00 00 */ li r0, 0
/* 803115E4 0030E524 B0 03 00 00 */ sth r0, 0(r3)
/* 803115E8 0030E528 90 03 00 04 */ stw r0, 4(r3)
/* 803115EC 0030E52C 90 03 00 08 */ stw r0, 8(r3)
/* 803115F0 0030E530 4E 80 00 20 */ blr
.global J3DDrawMtxData_NS_dtor
J3DDrawMtxData_NS_dtor:
/* 803115F4 0030E534 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 803115F8 0030E538 7C 08 02 A6 */ mflr r0
/* 803115FC 0030E53C 90 01 00 14 */ stw r0, 0x14(r1)
/* 80311600 0030E540 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80311604 0030E544 7C 7F 1B 79 */ or. r31, r3, r3
/* 80311608 0030E548 41 82 00 10 */ beq lbl_80311618
/* 8031160C 0030E54C 7C 80 07 35 */ extsh. r0, r4
/* 80311610 0030E550 40 81 00 08 */ ble lbl_80311618
/* 80311614 0030E554 4B FB D7 29 */ bl __dl
lbl_80311618:
/* 80311618 0030E558 7F E3 FB 78 */ mr r3, r31
/* 8031161C 0030E55C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80311620 0030E560 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80311624 0030E564 7C 08 03 A6 */ mtlr r0
/* 80311628 0030E568 38 21 00 10 */ addi r1, r1, 0x10
/* 8031162C 0030E56C 4E 80 00 20 */ blr

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,402 @@
.include "macros.inc"
.section .text, "ax" # 80334130
.global J3DClusterLoaderDataBase_NS_load
J3DClusterLoaderDataBase_NS_load:
/* 80334130 00331070 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80334134 00331074 7C 08 02 A6 */ mflr r0
/* 80334138 00331078 90 01 00 24 */ stw r0, 0x24(r1)
/* 8033413C 0033107C 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80334140 00331080 7C 7F 1B 78 */ mr r31, r3
/* 80334144 00331084 80 83 00 00 */ lwz r4, 0(r3)
/* 80334148 00331088 3C 04 B5 CD */ addis r0, r4, 0xb5cd
/* 8033414C 0033108C 28 00 44 31 */ cmplwi r0, 0x4431
/* 80334150 00331090 40 82 00 40 */ bne lbl_80334190
/* 80334154 00331094 80 7F 00 04 */ lwz r3, 4(r31)
/* 80334158 00331098 3C 03 9D 94 */ addis r0, r3, 0x9d94
/* 8033415C 0033109C 28 00 73 31 */ cmplwi r0, 0x7331
/* 80334160 003310A0 40 82 00 30 */ bne lbl_80334190
/* 80334164 003310A4 38 61 00 08 */ addi r3, r1, 8
/* 80334168 003310A8 48 00 00 65 */ bl J3DClusterLoader_v15
/* 8033416C 003310AC 38 61 00 08 */ addi r3, r1, 8
/* 80334170 003310B0 7F E4 FB 78 */ mr r4, r31
/* 80334174 003310B4 48 00 00 D1 */ bl J3DClusterLoader_v15_NS_load
/* 80334178 003310B8 7C 7F 1B 78 */ mr r31, r3
/* 8033417C 003310BC 38 61 00 08 */ addi r3, r1, 8
/* 80334180 003310C0 38 80 FF FF */ li r4, -1
/* 80334184 003310C4 48 00 00 65 */ bl J3DClusterLoader_v15_NS_dtor
/* 80334188 003310C8 7F E3 FB 78 */ mr r3, r31
/* 8033418C 003310CC 48 00 00 2C */ b lbl_803341B8
lbl_80334190:
/* 80334190 003310D0 3C 04 B5 CD */ addis r0, r4, 0xb5cd
/* 80334194 003310D4 28 00 44 32 */ cmplwi r0, 0x4432
/* 80334198 003310D8 40 82 00 1C */ bne lbl_803341B4
/* 8033419C 003310DC 80 7F 00 04 */ lwz r3, 4(r31)
/* 803341A0 003310E0 3C 03 9D 94 */ addis r0, r3, 0x9d94
/* 803341A4 003310E4 28 00 73 32 */ cmplwi r0, 0x7332
/* 803341A8 003310E8 40 82 00 0C */ bne lbl_803341B4
/* 803341AC 003310EC 38 60 00 00 */ li r3, 0
/* 803341B0 003310F0 48 00 00 08 */ b lbl_803341B8
lbl_803341B4:
/* 803341B4 003310F4 38 60 00 00 */ li r3, 0
lbl_803341B8:
/* 803341B8 003310F8 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 803341BC 003310FC 80 01 00 24 */ lwz r0, 0x24(r1)
/* 803341C0 00331100 7C 08 03 A6 */ mtlr r0
/* 803341C4 00331104 38 21 00 20 */ addi r1, r1, 0x20
/* 803341C8 00331108 4E 80 00 20 */ blr
.global J3DClusterLoader_v15
J3DClusterLoader_v15:
/* 803341CC 0033110C 3C 80 80 3D */ lis r4, lbl_803CF0F8@ha
/* 803341D0 00331110 38 04 F0 F8 */ addi r0, r4, lbl_803CF0F8@l
/* 803341D4 00331114 90 03 00 00 */ stw r0, 0(r3)
/* 803341D8 00331118 3C 80 80 3D */ lis r4, lbl_803CF0E8@ha
/* 803341DC 0033111C 38 04 F0 E8 */ addi r0, r4, lbl_803CF0E8@l
/* 803341E0 00331120 90 03 00 00 */ stw r0, 0(r3)
/* 803341E4 00331124 4E 80 00 20 */ blr
.global J3DClusterLoader_v15_NS_dtor
J3DClusterLoader_v15_NS_dtor:
/* 803341E8 00331128 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 803341EC 0033112C 7C 08 02 A6 */ mflr r0
/* 803341F0 00331130 90 01 00 14 */ stw r0, 0x14(r1)
/* 803341F4 00331134 93 E1 00 0C */ stw r31, 0xc(r1)
/* 803341F8 00331138 7C 7F 1B 79 */ or. r31, r3, r3
/* 803341FC 0033113C 41 82 00 30 */ beq lbl_8033422C
/* 80334200 00331140 3C 60 80 3D */ lis r3, lbl_803CF0E8@ha
/* 80334204 00331144 38 03 F0 E8 */ addi r0, r3, lbl_803CF0E8@l
/* 80334208 00331148 90 1F 00 00 */ stw r0, 0(r31)
/* 8033420C 0033114C 41 82 00 10 */ beq lbl_8033421C
/* 80334210 00331150 3C 60 80 3D */ lis r3, lbl_803CF0F8@ha
/* 80334214 00331154 38 03 F0 F8 */ addi r0, r3, lbl_803CF0F8@l
/* 80334218 00331158 90 1F 00 00 */ stw r0, 0(r31)
lbl_8033421C:
/* 8033421C 0033115C 7C 80 07 35 */ extsh. r0, r4
/* 80334220 00331160 40 81 00 0C */ ble lbl_8033422C
/* 80334224 00331164 7F E3 FB 78 */ mr r3, r31
/* 80334228 00331168 4B F9 AB 15 */ bl __dl
lbl_8033422C:
/* 8033422C 0033116C 7F E3 FB 78 */ mr r3, r31
/* 80334230 00331170 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80334234 00331174 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80334238 00331178 7C 08 03 A6 */ mtlr r0
/* 8033423C 0033117C 38 21 00 10 */ addi r1, r1, 0x10
/* 80334240 00331180 4E 80 00 20 */ blr
.global J3DClusterLoader_v15_NS_load
J3DClusterLoader_v15_NS_load:
/* 80334244 00331184 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80334248 00331188 7C 08 02 A6 */ mflr r0
/* 8033424C 0033118C 90 01 00 24 */ stw r0, 0x24(r1)
/* 80334250 00331190 39 61 00 20 */ addi r11, r1, 0x20
/* 80334254 00331194 48 02 DF 7D */ bl func_803621D0
/* 80334258 00331198 7C 7A 1B 78 */ mr r26, r3
/* 8033425C 0033119C 7C 9F 23 78 */ mr r31, r4
/* 80334260 003311A0 38 60 00 28 */ li r3, 0x28
/* 80334264 003311A4 4B F9 A9 E9 */ bl __nw
/* 80334268 003311A8 7C 60 1B 79 */ or. r0, r3, r3
/* 8033426C 003311AC 41 82 00 0C */ beq lbl_80334278
/* 80334270 003311B0 4B FF 9F 89 */ bl J3DDeformData
/* 80334274 003311B4 7C 60 1B 78 */ mr r0, r3
lbl_80334278:
/* 80334278 003311B8 90 1A 00 04 */ stw r0, 4(r26)
/* 8033427C 003311BC 3B 9F 00 20 */ addi r28, r31, 0x20
/* 80334280 003311C0 3B 60 00 00 */ li r27, 0
/* 80334284 003311C4 3C 60 43 4C */ lis r3, 0x434C5331@ha
/* 80334288 003311C8 3B A3 53 31 */ addi r29, r3, 0x434C5331@l
/* 8033428C 003311CC 3C 60 80 3A */ lis r3, lbl_803A2098@ha
/* 80334290 003311D0 3B C3 20 98 */ addi r30, r3, lbl_803A2098@l
/* 80334294 003311D4 83 FF 00 0C */ lwz r31, 0xc(r31)
/* 80334298 003311D8 48 00 00 3C */ b lbl_803342D4
lbl_8033429C:
/* 8033429C 003311DC 80 1C 00 00 */ lwz r0, 0(r28)
/* 803342A0 003311E0 7C 00 E8 00 */ cmpw r0, r29
/* 803342A4 003311E4 41 82 00 08 */ beq lbl_803342AC
/* 803342A8 003311E8 48 00 00 14 */ b lbl_803342BC
lbl_803342AC:
/* 803342AC 003311EC 7F 43 D3 78 */ mr r3, r26
/* 803342B0 003311F0 7F 84 E3 78 */ mr r4, r28
/* 803342B4 003311F4 48 00 00 45 */ bl J3DClusterLoader_v15_NS_readCluster
/* 803342B8 003311F8 48 00 00 10 */ b lbl_803342C8
lbl_803342BC:
/* 803342BC 003311FC 7F C3 F3 78 */ mr r3, r30
/* 803342C0 00331200 4C C6 31 82 */ crclr 6
/* 803342C4 00331204 4B CD 27 F9 */ bl OSReport
lbl_803342C8:
/* 803342C8 00331208 80 1C 00 04 */ lwz r0, 4(r28)
/* 803342CC 0033120C 7F 9C 02 14 */ add r28, r28, r0
/* 803342D0 00331210 3B 7B 00 01 */ addi r27, r27, 1
lbl_803342D4:
/* 803342D4 00331214 7C 1B F8 40 */ cmplw r27, r31
/* 803342D8 00331218 41 80 FF C4 */ blt lbl_8033429C
/* 803342DC 0033121C 80 7A 00 04 */ lwz r3, 4(r26)
/* 803342E0 00331220 39 61 00 20 */ addi r11, r1, 0x20
/* 803342E4 00331224 48 02 DF 39 */ bl func_8036221C
/* 803342E8 00331228 80 01 00 24 */ lwz r0, 0x24(r1)
/* 803342EC 0033122C 7C 08 03 A6 */ mtlr r0
/* 803342F0 00331230 38 21 00 20 */ addi r1, r1, 0x20
/* 803342F4 00331234 4E 80 00 20 */ blr
.global J3DClusterLoader_v15_NS_readCluster
J3DClusterLoader_v15_NS_readCluster:
/* 803342F8 00331238 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 803342FC 0033123C 7C 08 02 A6 */ mflr r0
/* 80334300 00331240 90 01 00 34 */ stw r0, 0x34(r1)
/* 80334304 00331244 39 61 00 30 */ addi r11, r1, 0x30
/* 80334308 00331248 48 02 DE BD */ bl func_803621C4
/* 8033430C 0033124C 7C 7B 1B 78 */ mr r27, r3
/* 80334310 00331250 7C 9C 23 78 */ mr r28, r4
/* 80334314 00331254 A0 04 00 08 */ lhz r0, 8(r4)
/* 80334318 00331258 80 63 00 04 */ lwz r3, 4(r3)
/* 8033431C 0033125C B0 03 00 00 */ sth r0, 0(r3)
/* 80334320 00331260 A0 04 00 0A */ lhz r0, 0xa(r4)
/* 80334324 00331264 80 7B 00 04 */ lwz r3, 4(r27)
/* 80334328 00331268 B0 03 00 02 */ sth r0, 2(r3)
/* 8033432C 0033126C A0 04 00 0E */ lhz r0, 0xe(r4)
/* 80334330 00331270 80 7B 00 04 */ lwz r3, 4(r27)
/* 80334334 00331274 B0 03 00 14 */ sth r0, 0x14(r3)
/* 80334338 00331278 A0 04 00 10 */ lhz r0, 0x10(r4)
/* 8033433C 0033127C 80 7B 00 04 */ lwz r3, 4(r27)
/* 80334340 00331280 B0 03 00 16 */ sth r0, 0x16(r3)
/* 80334344 00331284 A0 04 00 0C */ lhz r0, 0xc(r4)
/* 80334348 00331288 80 7B 00 04 */ lwz r3, 4(r27)
/* 8033434C 0033128C B0 03 00 04 */ sth r0, 4(r3)
/* 80334350 00331290 80 04 00 28 */ lwz r0, 0x28(r4)
/* 80334354 00331294 28 00 00 00 */ cmplwi r0, 0
/* 80334358 00331298 41 82 00 3C */ beq lbl_80334394
/* 8033435C 0033129C 38 60 00 10 */ li r3, 0x10
/* 80334360 003312A0 4B F9 A8 ED */ bl __nw
/* 80334364 003312A4 7C 7A 1B 79 */ or. r26, r3, r3
/* 80334368 003312A8 41 82 00 20 */ beq lbl_80334388
/* 8033436C 003312AC 7F 83 E3 78 */ mr r3, r28
/* 80334370 003312B0 80 9C 00 28 */ lwz r4, 0x28(r28)
/* 80334374 003312B4 4B FD 61 BD */ bl JSUConvertOffsetToPtr_X39_
/* 80334378 003312B8 7C 64 1B 78 */ mr r4, r3
/* 8033437C 003312BC 7F 43 D3 78 */ mr r3, r26
/* 80334380 003312C0 4B FA A6 61 */ bl JUTNameTab_X1_
/* 80334384 003312C4 7C 7A 1B 78 */ mr r26, r3
lbl_80334388:
/* 80334388 003312C8 80 7B 00 04 */ lwz r3, 4(r27)
/* 8033438C 003312CC 93 43 00 20 */ stw r26, 0x20(r3)
/* 80334390 003312D0 48 00 00 10 */ b lbl_803343A0
lbl_80334394:
/* 80334394 003312D4 38 00 00 00 */ li r0, 0
/* 80334398 003312D8 80 7B 00 04 */ lwz r3, 4(r27)
/* 8033439C 003312DC 90 03 00 20 */ stw r0, 0x20(r3)
lbl_803343A0:
/* 803343A0 003312E0 80 1C 00 2C */ lwz r0, 0x2c(r28)
/* 803343A4 003312E4 28 00 00 00 */ cmplwi r0, 0
/* 803343A8 003312E8 41 82 00 3C */ beq lbl_803343E4
/* 803343AC 003312EC 38 60 00 10 */ li r3, 0x10
/* 803343B0 003312F0 4B F9 A8 9D */ bl __nw
/* 803343B4 003312F4 7C 7A 1B 79 */ or. r26, r3, r3
/* 803343B8 003312F8 41 82 00 20 */ beq lbl_803343D8
/* 803343BC 003312FC 7F 83 E3 78 */ mr r3, r28
/* 803343C0 00331300 80 9C 00 2C */ lwz r4, 0x2c(r28)
/* 803343C4 00331304 4B FD 61 6D */ bl JSUConvertOffsetToPtr_X39_
/* 803343C8 00331308 7C 64 1B 78 */ mr r4, r3
/* 803343CC 0033130C 7F 43 D3 78 */ mr r3, r26
/* 803343D0 00331310 4B FA A6 11 */ bl JUTNameTab_X1_
/* 803343D4 00331314 7C 7A 1B 78 */ mr r26, r3
lbl_803343D8:
/* 803343D8 00331318 80 7B 00 04 */ lwz r3, 4(r27)
/* 803343DC 0033131C 93 43 00 24 */ stw r26, 0x24(r3)
/* 803343E0 00331320 48 00 00 10 */ b lbl_803343F0
lbl_803343E4:
/* 803343E4 00331324 38 00 00 00 */ li r0, 0
/* 803343E8 00331328 80 7B 00 04 */ lwz r3, 4(r27)
/* 803343EC 0033132C 90 03 00 24 */ stw r0, 0x24(r3)
lbl_803343F0:
/* 803343F0 00331330 7F 83 E3 78 */ mr r3, r28
/* 803343F4 00331334 80 9C 00 20 */ lwz r4, 0x20(r28)
/* 803343F8 00331338 4B FD 61 69 */ bl JSUConvertOffsetToPtr_X41_
/* 803343FC 0033133C 80 9B 00 04 */ lwz r4, 4(r27)
/* 80334400 00331340 90 64 00 18 */ stw r3, 0x18(r4)
/* 80334404 00331344 7F 83 E3 78 */ mr r3, r28
/* 80334408 00331348 80 9C 00 24 */ lwz r4, 0x24(r28)
/* 8033440C 0033134C 4B FD 61 55 */ bl JSUConvertOffsetToPtr_X41_
/* 80334410 00331350 80 9B 00 04 */ lwz r4, 4(r27)
/* 80334414 00331354 90 64 00 1C */ stw r3, 0x1c(r4)
/* 80334418 00331358 83 1C 00 14 */ lwz r24, 0x14(r28)
/* 8033441C 0033135C 80 1C 00 18 */ lwz r0, 0x18(r28)
/* 80334420 00331360 7F 38 00 50 */ subf r25, r24, r0
/* 80334424 00331364 80 1C 00 1C */ lwz r0, 0x1c(r28)
/* 80334428 00331368 7F 58 00 50 */ subf r26, r24, r0
/* 8033442C 0033136C 80 1C 00 20 */ lwz r0, 0x20(r28)
/* 80334430 00331370 7C 78 00 50 */ subf r3, r24, r0
/* 80334434 00331374 7C 7F 1B 78 */ mr r31, r3
/* 80334438 00331378 38 80 00 20 */ li r4, 0x20
/* 8033443C 0033137C 4B F9 A8 B1 */ bl __nwa_X1_
/* 80334440 00331380 7C 7E 1B 78 */ mr r30, r3
/* 80334444 00331384 7F 83 E3 78 */ mr r3, r28
/* 80334448 00331388 7F 04 C3 78 */ mr r4, r24
/* 8033444C 0033138C 48 00 02 29 */ bl JSUConvertOffsetToPtr_X65_
/* 80334450 00331390 7C 64 1B 78 */ mr r4, r3
/* 80334454 00331394 7F C3 F3 78 */ mr r3, r30
/* 80334458 00331398 7F E5 FB 78 */ mr r5, r31
/* 8033445C 0033139C 4B CC F0 E5 */ bl func_80003540
/* 80334460 003313A0 80 7B 00 04 */ lwz r3, 4(r27)
/* 80334464 003313A4 93 C3 00 08 */ stw r30, 8(r3)
/* 80334468 003313A8 7C 1E CA 14 */ add r0, r30, r25
/* 8033446C 003313AC 80 7B 00 04 */ lwz r3, 4(r27)
/* 80334470 003313B0 90 03 00 0C */ stw r0, 0xc(r3)
/* 80334474 003313B4 7C 1E D2 14 */ add r0, r30, r26
/* 80334478 003313B8 80 7B 00 04 */ lwz r3, 4(r27)
/* 8033447C 003313BC 90 03 00 10 */ stw r0, 0x10(r3)
/* 80334480 003313C0 3B A0 00 00 */ li r29, 0
/* 80334484 003313C4 3B 40 00 00 */ li r26, 0
/* 80334488 003313C8 7F 18 F0 50 */ subf r24, r24, r30
/* 8033448C 003313CC 48 00 00 A4 */ b lbl_80334530
lbl_80334490:
/* 80334490 003313D0 80 03 00 08 */ lwz r0, 8(r3)
/* 80334494 003313D4 7E E0 D2 14 */ add r23, r0, r26
/* 80334498 003313D8 7F 03 C3 78 */ mr r3, r24
/* 8033449C 003313DC 80 97 00 08 */ lwz r4, 8(r23)
/* 803344A0 003313E0 48 00 01 BD */ bl JSUConvertOffsetToPtr_X64_
/* 803344A4 003313E4 90 77 00 08 */ stw r3, 8(r23)
/* 803344A8 003313E8 7F 83 E3 78 */ mr r3, r28
/* 803344AC 003313EC 80 97 00 18 */ lwz r4, 0x18(r23)
/* 803344B0 003313F0 4B FB FE 11 */ bl JSUConvertOffsetToPtr_X28_
/* 803344B4 003313F4 90 77 00 18 */ stw r3, 0x18(r23)
/* 803344B8 003313F8 7F 03 C3 78 */ mr r3, r24
/* 803344BC 003313FC 80 97 00 1C */ lwz r4, 0x1c(r23)
/* 803344C0 00331400 48 00 01 85 */ bl JSUConvertOffsetToPtr_X63_
/* 803344C4 00331404 90 77 00 1C */ stw r3, 0x1c(r23)
/* 803344C8 00331408 38 60 00 14 */ li r3, 0x14
/* 803344CC 0033140C 4B F9 A7 81 */ bl __nw
/* 803344D0 00331410 7C 79 1B 79 */ or. r25, r3, r3
/* 803344D4 00331414 41 82 00 10 */ beq lbl_803344E4
/* 803344D8 00331418 80 9B 00 04 */ lwz r4, 4(r27)
/* 803344DC 0033141C 4B FF 9E C1 */ bl J3DDeformer
/* 803344E0 00331420 7C 79 1B 78 */ mr r25, r3
lbl_803344E4:
/* 803344E4 00331424 A0 17 00 14 */ lhz r0, 0x14(r23)
/* 803344E8 00331428 28 00 00 00 */ cmplwi r0, 0
/* 803344EC 0033142C 41 82 00 18 */ beq lbl_80334504
/* 803344F0 00331430 1C 00 00 03 */ mulli r0, r0, 3
/* 803344F4 00331434 54 03 10 3A */ slwi r3, r0, 2
/* 803344F8 00331438 4B F9 A7 CD */ bl __nwa
/* 803344FC 0033143C 90 79 00 0C */ stw r3, 0xc(r25)
/* 80334500 00331440 48 00 00 0C */ b lbl_8033450C
lbl_80334504:
/* 80334504 00331444 38 00 00 00 */ li r0, 0
/* 80334508 00331448 90 19 00 0C */ stw r0, 0xc(r25)
lbl_8033450C:
/* 8033450C 0033144C 88 17 00 0C */ lbz r0, 0xc(r23)
/* 80334510 00331450 90 19 00 10 */ stw r0, 0x10(r25)
/* 80334514 00331454 A0 17 00 10 */ lhz r0, 0x10(r23)
/* 80334518 00331458 54 03 10 3A */ slwi r3, r0, 2
/* 8033451C 0033145C 4B F9 A7 A9 */ bl __nwa
/* 80334520 00331460 90 79 00 08 */ stw r3, 8(r25)
/* 80334524 00331464 93 37 00 20 */ stw r25, 0x20(r23)
/* 80334528 00331468 3B BD 00 01 */ addi r29, r29, 1
/* 8033452C 0033146C 3B 5A 00 24 */ addi r26, r26, 0x24
lbl_80334530:
/* 80334530 00331470 80 7B 00 04 */ lwz r3, 4(r27)
/* 80334534 00331474 A0 03 00 00 */ lhz r0, 0(r3)
/* 80334538 00331478 7C 1D 00 00 */ cmpw r29, r0
/* 8033453C 0033147C 41 80 FF 54 */ blt lbl_80334490
/* 80334540 00331480 3A E0 00 00 */ li r23, 0
/* 80334544 00331484 3B A0 00 00 */ li r29, 0
/* 80334548 00331488 48 00 00 34 */ b lbl_8033457C
lbl_8033454C:
/* 8033454C 0033148C 80 03 00 0C */ lwz r0, 0xc(r3)
/* 80334550 00331490 7F 00 EA 14 */ add r24, r0, r29
/* 80334554 00331494 7F 83 E3 78 */ mr r3, r28
/* 80334558 00331498 80 98 00 04 */ lwz r4, 4(r24)
/* 8033455C 0033149C 4B FB FD 65 */ bl JSUConvertOffsetToPtr_X28_
/* 80334560 003314A0 90 78 00 04 */ stw r3, 4(r24)
/* 80334564 003314A4 7F 83 E3 78 */ mr r3, r28
/* 80334568 003314A8 80 98 00 08 */ lwz r4, 8(r24)
/* 8033456C 003314AC 4B FB FD 55 */ bl JSUConvertOffsetToPtr_X28_
/* 80334570 003314B0 90 78 00 08 */ stw r3, 8(r24)
/* 80334574 003314B4 3A F7 00 01 */ addi r23, r23, 1
/* 80334578 003314B8 3B BD 00 0C */ addi r29, r29, 0xc
lbl_8033457C:
/* 8033457C 003314BC 80 7B 00 04 */ lwz r3, 4(r27)
/* 80334580 003314C0 A0 03 00 02 */ lhz r0, 2(r3)
/* 80334584 003314C4 7C 17 00 00 */ cmpw r23, r0
/* 80334588 003314C8 41 80 FF C4 */ blt lbl_8033454C
/* 8033458C 003314CC 3A E0 00 00 */ li r23, 0
/* 80334590 003314D0 3B A0 00 00 */ li r29, 0
/* 80334594 003314D4 48 00 00 34 */ b lbl_803345C8
lbl_80334598:
/* 80334598 003314D8 80 03 00 10 */ lwz r0, 0x10(r3)
/* 8033459C 003314DC 7F 00 EA 14 */ add r24, r0, r29
/* 803345A0 003314E0 7F 83 E3 78 */ mr r3, r28
/* 803345A4 003314E4 80 98 00 04 */ lwz r4, 4(r24)
/* 803345A8 003314E8 4B FB FD 19 */ bl JSUConvertOffsetToPtr_X28_
/* 803345AC 003314EC 90 78 00 04 */ stw r3, 4(r24)
/* 803345B0 003314F0 7F 83 E3 78 */ mr r3, r28
/* 803345B4 003314F4 80 98 00 08 */ lwz r4, 8(r24)
/* 803345B8 003314F8 4B FB FD 09 */ bl JSUConvertOffsetToPtr_X28_
/* 803345BC 003314FC 90 78 00 08 */ stw r3, 8(r24)
/* 803345C0 00331500 3A F7 00 01 */ addi r23, r23, 1
/* 803345C4 00331504 3B BD 00 0C */ addi r29, r29, 0xc
lbl_803345C8:
/* 803345C8 00331508 80 7B 00 04 */ lwz r3, 4(r27)
/* 803345CC 0033150C A0 03 00 04 */ lhz r0, 4(r3)
/* 803345D0 00331510 7C 17 00 00 */ cmpw r23, r0
/* 803345D4 00331514 41 80 FF C4 */ blt lbl_80334598
/* 803345D8 00331518 7F C3 F3 78 */ mr r3, r30
/* 803345DC 0033151C 7F E4 FB 78 */ mr r4, r31
/* 803345E0 00331520 48 00 6F FD */ bl DCStoreRange
/* 803345E4 00331524 39 61 00 30 */ addi r11, r1, 0x30
/* 803345E8 00331528 48 02 DC 29 */ bl func_80362210
/* 803345EC 0033152C 80 01 00 34 */ lwz r0, 0x34(r1)
/* 803345F0 00331530 7C 08 03 A6 */ mtlr r0
/* 803345F4 00331534 38 21 00 30 */ addi r1, r1, 0x30
/* 803345F8 00331538 4E 80 00 20 */ blr
/* 803345FC 0033153C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80334600 00331540 7C 08 02 A6 */ mflr r0
/* 80334604 00331544 90 01 00 14 */ stw r0, 0x14(r1)
/* 80334608 00331548 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8033460C 0033154C 7C 7F 1B 79 */ or. r31, r3, r3
/* 80334610 00331550 41 82 00 1C */ beq lbl_8033462C
/* 80334614 00331554 3C A0 80 3D */ lis r5, lbl_803CF0F8@ha
/* 80334618 00331558 38 05 F0 F8 */ addi r0, r5, lbl_803CF0F8@l
/* 8033461C 0033155C 90 1F 00 00 */ stw r0, 0(r31)
/* 80334620 00331560 7C 80 07 35 */ extsh. r0, r4
/* 80334624 00331564 40 81 00 08 */ ble lbl_8033462C
/* 80334628 00331568 4B F9 A7 15 */ bl __dl
lbl_8033462C:
/* 8033462C 0033156C 7F E3 FB 78 */ mr r3, r31
/* 80334630 00331570 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80334634 00331574 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80334638 00331578 7C 08 03 A6 */ mtlr r0
/* 8033463C 0033157C 38 21 00 10 */ addi r1, r1, 0x10
/* 80334640 00331580 4E 80 00 20 */ blr
.global JSUConvertOffsetToPtr_X63_
JSUConvertOffsetToPtr_X63_:
/* 80334644 00331584 28 04 00 00 */ cmplwi r4, 0
/* 80334648 00331588 40 82 00 0C */ bne lbl_80334654
/* 8033464C 0033158C 38 60 00 00 */ li r3, 0
/* 80334650 00331590 4E 80 00 20 */ blr
lbl_80334654:
/* 80334654 00331594 7C 63 22 14 */ add r3, r3, r4
/* 80334658 00331598 4E 80 00 20 */ blr
.global JSUConvertOffsetToPtr_X64_
JSUConvertOffsetToPtr_X64_:
/* 8033465C 0033159C 28 04 00 00 */ cmplwi r4, 0
/* 80334660 003315A0 40 82 00 0C */ bne lbl_8033466C
/* 80334664 003315A4 38 60 00 00 */ li r3, 0
/* 80334668 003315A8 4E 80 00 20 */ blr
lbl_8033466C:
/* 8033466C 003315AC 7C 63 22 14 */ add r3, r3, r4
/* 80334670 003315B0 4E 80 00 20 */ blr
.global JSUConvertOffsetToPtr_X65_
JSUConvertOffsetToPtr_X65_:
/* 80334674 003315B4 28 04 00 00 */ cmplwi r4, 0
/* 80334678 003315B8 40 82 00 0C */ bne lbl_80334684
/* 8033467C 003315BC 38 60 00 00 */ li r3, 0
/* 80334680 003315C0 4E 80 00 20 */ blr
lbl_80334684:
/* 80334684 003315C4 7C 63 22 14 */ add r3, r3, r4
/* 80334688 003315C8 4E 80 00 20 */ blr

View File

@ -0,0 +1,135 @@
.include "macros.inc"
.section .text, "ax" # 80337178
.global J3DJointFactory
J3DJointFactory:
/* 80337178 003340B8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8033717C 003340BC 7C 08 02 A6 */ mflr r0
/* 80337180 003340C0 90 01 00 14 */ stw r0, 0x14(r1)
/* 80337184 003340C4 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80337188 003340C8 93 C1 00 08 */ stw r30, 8(r1)
/* 8033718C 003340CC 7C 7E 1B 78 */ mr r30, r3
/* 80337190 003340D0 7C 9F 23 78 */ mr r31, r4
/* 80337194 003340D4 7F E3 FB 78 */ mr r3, r31
/* 80337198 003340D8 80 84 00 0C */ lwz r4, 0xc(r4)
/* 8033719C 003340DC 48 00 01 9D */ bl JSUConvertOffsetToPtr_X73_
/* 803371A0 003340E0 90 7E 00 00 */ stw r3, 0(r30)
/* 803371A4 003340E4 7F E3 FB 78 */ mr r3, r31
/* 803371A8 003340E8 80 9F 00 10 */ lwz r4, 0x10(r31)
/* 803371AC 003340EC 4B FF F5 D1 */ bl JSUConvertOffsetToPtr_X72_
/* 803371B0 003340F0 90 7E 00 04 */ stw r3, 4(r30)
/* 803371B4 003340F4 7F C3 F3 78 */ mr r3, r30
/* 803371B8 003340F8 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 803371BC 003340FC 83 C1 00 08 */ lwz r30, 8(r1)
/* 803371C0 00334100 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803371C4 00334104 7C 08 03 A6 */ mtlr r0
/* 803371C8 00334108 38 21 00 10 */ addi r1, r1, 0x10
/* 803371CC 0033410C 4E 80 00 20 */ blr
.global J3DJointFactory_NS_create
J3DJointFactory_NS_create:
/* 803371D0 00334110 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 803371D4 00334114 7C 08 02 A6 */ mflr r0
/* 803371D8 00334118 90 01 00 14 */ stw r0, 0x14(r1)
/* 803371DC 0033411C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 803371E0 00334120 93 C1 00 08 */ stw r30, 8(r1)
/* 803371E4 00334124 7C 7F 1B 78 */ mr r31, r3
/* 803371E8 00334128 7C 9E 23 78 */ mr r30, r4
/* 803371EC 0033412C 38 60 00 5C */ li r3, 0x5c
/* 803371F0 00334130 4B F9 7A 5D */ bl __nw
/* 803371F4 00334134 7C 64 1B 79 */ or. r4, r3, r3
/* 803371F8 00334138 41 82 00 0C */ beq lbl_80337204
/* 803371FC 0033413C 4B FF 7F 75 */ bl J3DJoint
/* 80337200 00334140 7C 64 1B 78 */ mr r4, r3
lbl_80337204:
/* 80337204 00334144 B3 C4 00 14 */ sth r30, 0x14(r4)
/* 80337208 00334148 80 BF 00 00 */ lwz r5, 0(r31)
/* 8033720C 0033414C 80 7F 00 04 */ lwz r3, 4(r31)
/* 80337210 00334150 57 C0 08 3C */ slwi r0, r30, 1
/* 80337214 00334154 7C 63 02 2E */ lhzx r3, r3, r0
/* 80337218 00334158 54 63 30 32 */ slwi r3, r3, 6
/* 8033721C 0033415C 7C 65 1A 2E */ lhzx r3, r5, r3
/* 80337220 00334160 98 64 00 16 */ stb r3, 0x16(r4)
/* 80337224 00334164 80 BF 00 00 */ lwz r5, 0(r31)
/* 80337228 00334168 80 7F 00 04 */ lwz r3, 4(r31)
/* 8033722C 0033416C 7C 63 02 2E */ lhzx r3, r3, r0
/* 80337230 00334170 54 63 30 32 */ slwi r3, r3, 6
/* 80337234 00334174 7C 65 1A 14 */ add r3, r5, r3
/* 80337238 00334178 88 63 00 02 */ lbz r3, 2(r3)
/* 8033723C 0033417C 98 64 00 17 */ stb r3, 0x17(r4)
/* 80337240 00334180 80 BF 00 00 */ lwz r5, 0(r31)
/* 80337244 00334184 80 7F 00 04 */ lwz r3, 4(r31)
/* 80337248 00334188 7C 63 02 2E */ lhzx r3, r3, r0
/* 8033724C 0033418C 54 63 30 32 */ slwi r3, r3, 6
/* 80337250 00334190 38 C3 00 04 */ addi r6, r3, 4
/* 80337254 00334194 7C C5 32 14 */ add r6, r5, r6
/* 80337258 00334198 E0 06 00 00 */ psq_l f0, 0(r6), 0, qr0
/* 8033725C 0033419C F0 04 00 18 */ psq_st f0, 24(r4), 0, qr0
/* 80337260 003341A0 C0 06 00 08 */ lfs f0, 8(r6)
/* 80337264 003341A4 D0 04 00 20 */ stfs f0, 0x20(r4)
/* 80337268 003341A8 80 66 00 0C */ lwz r3, 0xc(r6)
/* 8033726C 003341AC 90 64 00 24 */ stw r3, 0x24(r4)
/* 80337270 003341B0 A8 66 00 10 */ lha r3, 0x10(r6)
/* 80337274 003341B4 B0 64 00 28 */ sth r3, 0x28(r4)
/* 80337278 003341B8 E0 06 00 14 */ psq_l f0, 20(r6), 0, qr0
/* 8033727C 003341BC F0 04 00 2C */ psq_st f0, 44(r4), 0, qr0
/* 80337280 003341C0 C0 06 00 1C */ lfs f0, 0x1c(r6)
/* 80337284 003341C4 D0 04 00 34 */ stfs f0, 0x34(r4)
/* 80337288 003341C8 80 BF 00 00 */ lwz r5, 0(r31)
/* 8033728C 003341CC 80 7F 00 04 */ lwz r3, 4(r31)
/* 80337290 003341D0 7C 63 02 2E */ lhzx r3, r3, r0
/* 80337294 003341D4 54 63 30 32 */ slwi r3, r3, 6
/* 80337298 003341D8 7C 65 1A 14 */ add r3, r5, r3
/* 8033729C 003341DC C0 03 00 24 */ lfs f0, 0x24(r3)
/* 803372A0 003341E0 D0 04 00 38 */ stfs f0, 0x38(r4)
/* 803372A4 003341E4 80 BF 00 00 */ lwz r5, 0(r31)
/* 803372A8 003341E8 80 7F 00 04 */ lwz r3, 4(r31)
/* 803372AC 003341EC 7C 63 02 2E */ lhzx r3, r3, r0
/* 803372B0 003341F0 54 63 30 32 */ slwi r3, r3, 6
/* 803372B4 003341F4 38 63 00 28 */ addi r3, r3, 0x28
/* 803372B8 003341F8 7C 65 1A 14 */ add r3, r5, r3
/* 803372BC 003341FC C0 03 00 00 */ lfs f0, 0(r3)
/* 803372C0 00334200 D0 04 00 3C */ stfs f0, 0x3c(r4)
/* 803372C4 00334204 C0 03 00 04 */ lfs f0, 4(r3)
/* 803372C8 00334208 D0 04 00 40 */ stfs f0, 0x40(r4)
/* 803372CC 0033420C C0 03 00 08 */ lfs f0, 8(r3)
/* 803372D0 00334210 D0 04 00 44 */ stfs f0, 0x44(r4)
/* 803372D4 00334214 80 BF 00 00 */ lwz r5, 0(r31)
/* 803372D8 00334218 80 7F 00 04 */ lwz r3, 4(r31)
/* 803372DC 0033421C 7C 03 02 2E */ lhzx r0, r3, r0
/* 803372E0 00334220 54 03 30 32 */ slwi r3, r0, 6
/* 803372E4 00334224 38 63 00 34 */ addi r3, r3, 0x34
/* 803372E8 00334228 7C 65 1A 14 */ add r3, r5, r3
/* 803372EC 0033422C C0 03 00 00 */ lfs f0, 0(r3)
/* 803372F0 00334230 D0 04 00 48 */ stfs f0, 0x48(r4)
/* 803372F4 00334234 C0 03 00 04 */ lfs f0, 4(r3)
/* 803372F8 00334238 D0 04 00 4C */ stfs f0, 0x4c(r4)
/* 803372FC 0033423C C0 03 00 08 */ lfs f0, 8(r3)
/* 80337300 00334240 D0 04 00 50 */ stfs f0, 0x50(r4)
/* 80337304 00334244 38 60 00 00 */ li r3, 0
/* 80337308 00334248 90 64 00 54 */ stw r3, 0x54(r4)
/* 8033730C 0033424C 88 04 00 17 */ lbz r0, 0x17(r4)
/* 80337310 00334250 28 00 00 FF */ cmplwi r0, 0xff
/* 80337314 00334254 40 82 00 08 */ bne lbl_8033731C
/* 80337318 00334258 98 64 00 17 */ stb r3, 0x17(r4)
lbl_8033731C:
/* 8033731C 0033425C 7C 83 23 78 */ mr r3, r4
/* 80337320 00334260 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80337324 00334264 83 C1 00 08 */ lwz r30, 8(r1)
/* 80337328 00334268 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8033732C 0033426C 7C 08 03 A6 */ mtlr r0
/* 80337330 00334270 38 21 00 10 */ addi r1, r1, 0x10
/* 80337334 00334274 4E 80 00 20 */ blr
.global JSUConvertOffsetToPtr_X73_
JSUConvertOffsetToPtr_X73_:
/* 80337338 00334278 28 04 00 00 */ cmplwi r4, 0
/* 8033733C 0033427C 40 82 00 0C */ bne lbl_80337348
/* 80337340 00334280 38 60 00 00 */ li r3, 0
/* 80337344 00334284 4E 80 00 20 */ blr
lbl_80337348:
/* 80337348 00334288 7C 63 22 14 */ add r3, r3, r4
/* 8033734C 0033428C 4E 80 00 20 */ blr

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,738 @@
.include "macros.inc"
.section .text, "ax" # 80336794
/* 80336794 003336D4 38 A4 00 20 */ addi r5, r4, 0x20
/* 80336798 003336D8 80 04 00 0C */ lwz r0, 0xc(r4)
/* 8033679C 003336DC 7C 09 03 A6 */ mtctr r0
/* 803367A0 003336E0 28 00 00 00 */ cmplwi r0, 0
/* 803367A4 003336E4 40 81 00 28 */ ble lbl_803367CC
lbl_803367A8:
/* 803367A8 003336E8 80 65 00 00 */ lwz r3, 0(r5)
/* 803367AC 003336EC 3C 03 B2 BF */ addis r0, r3, 0xb2bf
/* 803367B0 003336F0 28 00 54 33 */ cmplwi r0, 0x5433
/* 803367B4 003336F4 40 82 00 0C */ bne lbl_803367C0
/* 803367B8 003336F8 A0 65 00 08 */ lhz r3, 8(r5)
/* 803367BC 003336FC 4E 80 00 20 */ blr
lbl_803367C0:
/* 803367C0 00333700 80 05 00 04 */ lwz r0, 4(r5)
/* 803367C4 00333704 7C A5 02 14 */ add r5, r5, r0
/* 803367C8 00333708 42 00 FF E0 */ bdnz lbl_803367A8
lbl_803367CC:
/* 803367CC 0033370C 38 60 00 00 */ li r3, 0
/* 803367D0 00333710 4E 80 00 20 */ blr
/* 803367D4 00333714 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 803367D8 00333718 7C 08 02 A6 */ mflr r0
/* 803367DC 0033371C 90 01 00 34 */ stw r0, 0x34(r1)
/* 803367E0 00333720 39 61 00 30 */ addi r11, r1, 0x30
/* 803367E4 00333724 48 02 B9 E9 */ bl func_803621CC
/* 803367E8 00333728 7C 7A 1B 78 */ mr r26, r3
/* 803367EC 0033372C 3B 84 00 20 */ addi r28, r4, 0x20
/* 803367F0 00333730 3B 60 00 00 */ li r27, 0
/* 803367F4 00333734 7C BE 2B 78 */ mr r30, r5
/* 803367F8 00333738 3B A0 00 E4 */ li r29, 0xe4
/* 803367FC 0033373C 3C 60 4D 41 */ lis r3, 0x4D415432@ha
/* 80336800 00333740 3B E3 54 32 */ addi r31, r3, 0x4D415432@l
/* 80336804 00333744 83 24 00 0C */ lwz r25, 0xc(r4)
/* 80336808 00333748 48 00 01 74 */ b lbl_8033697C
lbl_8033680C:
/* 8033680C 0033374C 80 9C 00 00 */ lwz r4, 0(r28)
/* 80336810 00333750 7C 04 F8 00 */ cmpw r4, r31
/* 80336814 00333754 41 82 01 5C */ beq lbl_80336970
/* 80336818 00333758 40 80 00 54 */ bge lbl_8033686C
/* 8033681C 0033375C 3C 60 49 4E */ lis r3, 0x494E4631@ha
/* 80336820 00333760 38 03 46 31 */ addi r0, r3, 0x494E4631@l
/* 80336824 00333764 7C 04 00 00 */ cmpw r4, r0
/* 80336828 00333768 41 82 00 94 */ beq lbl_803368BC
/* 8033682C 0033376C 40 80 00 2C */ bge lbl_80336858
/* 80336830 00333770 3C 60 45 56 */ lis r3, 0x45565031@ha
/* 80336834 00333774 38 03 50 31 */ addi r0, r3, 0x45565031@l
/* 80336838 00333778 7C 04 00 00 */ cmpw r4, r0
/* 8033683C 0033377C 41 82 00 FC */ beq lbl_80336938
/* 80336840 00333780 40 80 01 20 */ bge lbl_80336960
/* 80336844 00333784 3C 60 44 52 */ lis r3, 0x44525731@ha
/* 80336848 00333788 38 03 57 31 */ addi r0, r3, 0x44525731@l
/* 8033684C 0033378C 7C 04 00 00 */ cmpw r4, r0
/* 80336850 00333790 41 82 00 FC */ beq lbl_8033694C
/* 80336854 00333794 48 00 01 0C */ b lbl_80336960
lbl_80336858:
/* 80336858 00333798 3C 60 4A 4E */ lis r3, 0x4A4E5431@ha
/* 8033685C 0033379C 38 03 54 31 */ addi r0, r3, 0x4A4E5431@l
/* 80336860 003337A0 7C 04 00 00 */ cmpw r4, r0
/* 80336864 003337A4 41 82 00 70 */ beq lbl_803368D4
/* 80336868 003337A8 48 00 00 F8 */ b lbl_80336960
lbl_8033686C:
/* 8033686C 003337AC 3C 60 54 45 */ lis r3, 0x54455831@ha
/* 80336870 003337B0 38 03 58 31 */ addi r0, r3, 0x54455831@l
/* 80336874 003337B4 7C 04 00 00 */ cmpw r4, r0
/* 80336878 003337B8 41 82 00 AC */ beq lbl_80336924
/* 8033687C 003337BC 40 80 00 2C */ bge lbl_803368A8
/* 80336880 003337C0 3C 60 53 48 */ lis r3, 0x53485031@ha
/* 80336884 003337C4 38 03 50 31 */ addi r0, r3, 0x53485031@l
/* 80336888 003337C8 7C 04 00 00 */ cmpw r4, r0
/* 8033688C 003337CC 41 82 00 80 */ beq lbl_8033690C
/* 80336890 003337D0 40 80 00 D0 */ bge lbl_80336960
/* 80336894 003337D4 3C 60 4D 41 */ lis r3, 0x4D415434@ha
/* 80336898 003337D8 38 03 54 34 */ addi r0, r3, 0x4D415434@l
/* 8033689C 003337DC 7C 04 00 00 */ cmpw r4, r0
/* 803368A0 003337E0 40 80 00 C0 */ bge lbl_80336960
/* 803368A4 003337E4 48 00 00 44 */ b lbl_803368E8
lbl_803368A8:
/* 803368A8 003337E8 3C 60 56 54 */ lis r3, 0x56545831@ha
/* 803368AC 003337EC 38 03 58 31 */ addi r0, r3, 0x56545831@l
/* 803368B0 003337F0 7C 04 00 00 */ cmpw r4, r0
/* 803368B4 003337F4 41 82 00 BC */ beq lbl_80336970
/* 803368B8 003337F8 48 00 00 A8 */ b lbl_80336960
lbl_803368BC:
/* 803368BC 003337FC 7F 43 D3 78 */ mr r3, r26
/* 803368C0 00333800 7F 84 E3 78 */ mr r4, r28
/* 803368C4 00333804 7F C5 F3 78 */ mr r5, r30
/* 803368C8 00333808 48 00 04 11 */ bl J3DModelLoader_NS_calcSizeInformation
/* 803368CC 0033380C 7F BD 1A 14 */ add r29, r29, r3
/* 803368D0 00333810 48 00 00 A0 */ b lbl_80336970
lbl_803368D4:
/* 803368D4 00333814 7F 43 D3 78 */ mr r3, r26
/* 803368D8 00333818 7F 84 E3 78 */ mr r4, r28
/* 803368DC 0033381C 48 00 04 89 */ bl J3DModelLoader_NS_calcSizeJoint
/* 803368E0 00333820 7F BD 1A 14 */ add r29, r29, r3
/* 803368E4 00333824 48 00 00 8C */ b lbl_80336970
lbl_803368E8:
/* 803368E8 00333828 7F 43 D3 78 */ mr r3, r26
/* 803368EC 0033382C 7F 84 E3 78 */ mr r4, r28
/* 803368F0 00333830 7F C5 F3 78 */ mr r5, r30
/* 803368F4 00333834 81 9A 00 00 */ lwz r12, 0(r26)
/* 803368F8 00333838 81 8C 00 3C */ lwz r12, 0x3c(r12)
/* 803368FC 0033383C 7D 89 03 A6 */ mtctr r12
/* 80336900 00333840 4E 80 04 21 */ bctrl
/* 80336904 00333844 7F BD 1A 14 */ add r29, r29, r3
/* 80336908 00333848 48 00 00 68 */ b lbl_80336970
lbl_8033690C:
/* 8033690C 0033384C 7F 43 D3 78 */ mr r3, r26
/* 80336910 00333850 7F 84 E3 78 */ mr r4, r28
/* 80336914 00333854 7F C5 F3 78 */ mr r5, r30
/* 80336918 00333858 48 00 05 89 */ bl J3DModelLoader_NS_calcSizeShape
/* 8033691C 0033385C 7F BD 1A 14 */ add r29, r29, r3
/* 80336920 00333860 48 00 00 50 */ b lbl_80336970
lbl_80336924:
/* 80336924 00333864 7F 43 D3 78 */ mr r3, r26
/* 80336928 00333868 7F 84 E3 78 */ mr r4, r28
/* 8033692C 0033386C 48 00 06 19 */ bl J3DModelLoader_NS_calcSizeTexture
/* 80336930 00333870 7F BD 1A 14 */ add r29, r29, r3
/* 80336934 00333874 48 00 00 3C */ b lbl_80336970
lbl_80336938:
/* 80336938 00333878 7F 43 D3 78 */ mr r3, r26
/* 8033693C 0033387C 7F 84 E3 78 */ mr r4, r28
/* 80336940 00333880 48 00 04 51 */ bl J3DModelLoader_NS_calcSizeEnvelope
/* 80336944 00333884 7F BD 1A 14 */ add r29, r29, r3
/* 80336948 00333888 48 00 00 28 */ b lbl_80336970
lbl_8033694C:
/* 8033694C 0033388C 7F 43 D3 78 */ mr r3, r26
/* 80336950 00333890 7F 84 E3 78 */ mr r4, r28
/* 80336954 00333894 48 00 04 4D */ bl J3DModelLoader_NS_calcSizeDraw
/* 80336958 00333898 7F BD 1A 14 */ add r29, r29, r3
/* 8033695C 0033389C 48 00 00 14 */ b lbl_80336970
lbl_80336960:
/* 80336960 003338A0 3C 60 80 3A */ lis r3, lbl_803A20E8@ha
/* 80336964 003338A4 38 63 20 E8 */ addi r3, r3, lbl_803A20E8@l
/* 80336968 003338A8 4C C6 31 82 */ crclr 6
/* 8033696C 003338AC 4B CD 01 51 */ bl OSReport
lbl_80336970:
/* 80336970 003338B0 80 1C 00 04 */ lwz r0, 4(r28)
/* 80336974 003338B4 7F 9C 02 14 */ add r28, r28, r0
/* 80336978 003338B8 3B 7B 00 01 */ addi r27, r27, 1
lbl_8033697C:
/* 8033697C 003338BC 7C 1B C8 40 */ cmplw r27, r25
/* 80336980 003338C0 41 80 FE 8C */ blt lbl_8033680C
/* 80336984 003338C4 7F A3 EB 78 */ mr r3, r29
/* 80336988 003338C8 39 61 00 30 */ addi r11, r1, 0x30
/* 8033698C 003338CC 48 02 B8 8D */ bl func_80362218
/* 80336990 003338D0 80 01 00 34 */ lwz r0, 0x34(r1)
/* 80336994 003338D4 7C 08 03 A6 */ mtlr r0
/* 80336998 003338D8 38 21 00 30 */ addi r1, r1, 0x30
/* 8033699C 003338DC 4E 80 00 20 */ blr
/* 803369A0 003338E0 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 803369A4 003338E4 7C 08 02 A6 */ mflr r0
/* 803369A8 003338E8 90 01 00 34 */ stw r0, 0x34(r1)
/* 803369AC 003338EC 39 61 00 30 */ addi r11, r1, 0x30
/* 803369B0 003338F0 48 02 B8 1D */ bl func_803621CC
/* 803369B4 003338F4 7C 79 1B 78 */ mr r25, r3
/* 803369B8 003338F8 3B 84 00 20 */ addi r28, r4, 0x20
/* 803369BC 003338FC 3B 60 00 00 */ li r27, 0
/* 803369C0 00333900 3B 40 00 00 */ li r26, 0
/* 803369C4 00333904 3B A0 00 20 */ li r29, 0x20
/* 803369C8 00333908 3C 60 4D 41 */ lis r3, 0x4D415433@ha
/* 803369CC 0033390C 3B C3 54 33 */ addi r30, r3, 0x4D415433@l
/* 803369D0 00333910 83 E4 00 0C */ lwz r31, 0xc(r4)
/* 803369D4 00333914 48 00 00 94 */ b lbl_80336A68
lbl_803369D8:
/* 803369D8 00333918 80 9C 00 00 */ lwz r4, 0(r28)
/* 803369DC 0033391C 7C 04 F0 00 */ cmpw r4, r30
/* 803369E0 00333920 41 82 00 30 */ beq lbl_80336A10
/* 803369E4 00333924 40 80 00 18 */ bge lbl_803369FC
/* 803369E8 00333928 3C 60 4D 41 */ lis r3, 0x4D415432@ha
/* 803369EC 0033392C 38 03 54 32 */ addi r0, r3, 0x4D415432@l
/* 803369F0 00333930 7C 04 00 00 */ cmpw r4, r0
/* 803369F4 00333934 40 80 00 68 */ bge lbl_80336A5C
/* 803369F8 00333938 48 00 00 54 */ b lbl_80336A4C
lbl_803369FC:
/* 803369FC 0033393C 3C 60 54 45 */ lis r3, 0x54455831@ha
/* 80336A00 00333940 38 03 58 31 */ addi r0, r3, 0x54455831@l
/* 80336A04 00333944 7C 04 00 00 */ cmpw r4, r0
/* 80336A08 00333948 41 82 00 2C */ beq lbl_80336A34
/* 80336A0C 0033394C 48 00 00 40 */ b lbl_80336A4C
lbl_80336A10:
/* 80336A10 00333950 7F 23 CB 78 */ mr r3, r25
/* 80336A14 00333954 7F 84 E3 78 */ mr r4, r28
/* 80336A18 00333958 3C A0 51 10 */ lis r5, 0x5110
/* 80336A1C 0033395C 81 99 00 00 */ lwz r12, 0(r25)
/* 80336A20 00333960 81 8C 00 40 */ lwz r12, 0x40(r12)
/* 80336A24 00333964 7D 89 03 A6 */ mtctr r12
/* 80336A28 00333968 4E 80 04 21 */ bctrl
/* 80336A2C 0033396C 7F BD 1A 14 */ add r29, r29, r3
/* 80336A30 00333970 48 00 00 2C */ b lbl_80336A5C
lbl_80336A34:
/* 80336A34 00333974 7F 23 CB 78 */ mr r3, r25
/* 80336A38 00333978 7F 84 E3 78 */ mr r4, r28
/* 80336A3C 0033397C 48 00 05 B5 */ bl J3DModelLoader_NS_calcSizeTextureTable
/* 80336A40 00333980 7F BD 1A 14 */ add r29, r29, r3
/* 80336A44 00333984 3B 60 00 01 */ li r27, 1
/* 80336A48 00333988 48 00 00 14 */ b lbl_80336A5C
lbl_80336A4C:
/* 80336A4C 0033398C 3C 60 80 3A */ lis r3, lbl_803A20E8@ha
/* 80336A50 00333990 38 63 20 E8 */ addi r3, r3, lbl_803A20E8@l
/* 80336A54 00333994 4C C6 31 82 */ crclr 6
/* 80336A58 00333998 4B CD 00 65 */ bl OSReport
lbl_80336A5C:
/* 80336A5C 0033399C 80 1C 00 04 */ lwz r0, 4(r28)
/* 80336A60 003339A0 7F 9C 02 14 */ add r28, r28, r0
/* 80336A64 003339A4 3B 5A 00 01 */ addi r26, r26, 1
lbl_80336A68:
/* 80336A68 003339A8 7C 1A F8 40 */ cmplw r26, r31
/* 80336A6C 003339AC 41 80 FF 6C */ blt lbl_803369D8
/* 80336A70 003339B0 57 60 06 3F */ clrlwi. r0, r27, 0x18
/* 80336A74 003339B4 40 82 00 08 */ bne lbl_80336A7C
/* 80336A78 003339B8 3B BD 00 0C */ addi r29, r29, 0xc
lbl_80336A7C:
/* 80336A7C 003339BC 7F A3 EB 78 */ mr r3, r29
/* 80336A80 003339C0 39 61 00 30 */ addi r11, r1, 0x30
/* 80336A84 003339C4 48 02 B7 95 */ bl func_80362218
/* 80336A88 003339C8 80 01 00 34 */ lwz r0, 0x34(r1)
/* 80336A8C 003339CC 7C 08 03 A6 */ mtlr r0
/* 80336A90 003339D0 38 21 00 30 */ addi r1, r1, 0x30
/* 80336A94 003339D4 4E 80 00 20 */ blr
/* 80336A98 003339D8 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 80336A9C 003339DC 7C 08 02 A6 */ mflr r0
/* 80336AA0 003339E0 90 01 00 34 */ stw r0, 0x34(r1)
/* 80336AA4 003339E4 39 61 00 30 */ addi r11, r1, 0x30
/* 80336AA8 003339E8 48 02 B7 19 */ bl func_803621C0
/* 80336AAC 003339EC 7C 77 1B 78 */ mr r23, r3
/* 80336AB0 003339F0 7C B8 2B 78 */ mr r24, r5
/* 80336AB4 003339F4 3B 44 00 20 */ addi r26, r4, 0x20
/* 80336AB8 003339F8 3B 20 00 00 */ li r25, 0
/* 80336ABC 003339FC 7F 1C C3 78 */ mr r28, r24
/* 80336AC0 00333A00 54 BE 01 8E */ rlwinm r30, r5, 0, 6, 7
/* 80336AC4 00333A04 54 BD 04 A6 */ rlwinm r29, r5, 0, 0x12, 0x13
/* 80336AC8 00333A08 3B 60 00 E4 */ li r27, 0xe4
/* 80336ACC 00333A0C 3C 60 4D 41 */ lis r3, 0x4D415433@ha
/* 80336AD0 00333A10 3B E3 54 33 */ addi r31, r3, 0x4D415433@l
/* 80336AD4 00333A14 82 C4 00 0C */ lwz r22, 0xc(r4)
/* 80336AD8 00333A18 48 00 01 DC */ b lbl_80336CB4
lbl_80336ADC:
/* 80336ADC 00333A1C 80 1A 00 00 */ lwz r0, 0(r26)
/* 80336AE0 00333A20 7C 00 F8 00 */ cmpw r0, r31
/* 80336AE4 00333A24 41 82 01 2C */ beq lbl_80336C10
/* 80336AE8 00333A28 40 80 00 68 */ bge lbl_80336B50
/* 80336AEC 00333A2C 3C 60 49 4E */ lis r3, 0x494E4631@ha
/* 80336AF0 00333A30 38 63 46 31 */ addi r3, r3, 0x494E4631@l
/* 80336AF4 00333A34 7C 00 18 00 */ cmpw r0, r3
/* 80336AF8 00333A38 41 82 00 A8 */ beq lbl_80336BA0
/* 80336AFC 00333A3C 40 80 00 2C */ bge lbl_80336B28
/* 80336B00 00333A40 3C 60 45 56 */ lis r3, 0x45565031@ha
/* 80336B04 00333A44 38 63 50 31 */ addi r3, r3, 0x45565031@l
/* 80336B08 00333A48 7C 00 18 00 */ cmpw r0, r3
/* 80336B0C 00333A4C 41 82 01 64 */ beq lbl_80336C70
/* 80336B10 00333A50 40 80 01 88 */ bge lbl_80336C98
/* 80336B14 00333A54 3C 60 44 52 */ lis r3, 0x44525731@ha
/* 80336B18 00333A58 38 63 57 31 */ addi r3, r3, 0x44525731@l
/* 80336B1C 00333A5C 7C 00 18 00 */ cmpw r0, r3
/* 80336B20 00333A60 41 82 01 64 */ beq lbl_80336C84
/* 80336B24 00333A64 48 00 01 74 */ b lbl_80336C98
lbl_80336B28:
/* 80336B28 00333A68 3C 60 4A 4E */ lis r3, 0x4A4E5431@ha
/* 80336B2C 00333A6C 38 63 54 31 */ addi r3, r3, 0x4A4E5431@l
/* 80336B30 00333A70 7C 00 18 00 */ cmpw r0, r3
/* 80336B34 00333A74 41 82 00 84 */ beq lbl_80336BB8
/* 80336B38 00333A78 41 80 01 60 */ blt lbl_80336C98
/* 80336B3C 00333A7C 3C 60 4D 41 */ lis r3, 0x4D415432@ha
/* 80336B40 00333A80 38 63 54 32 */ addi r3, r3, 0x4D415432@l
/* 80336B44 00333A84 7C 00 18 00 */ cmpw r0, r3
/* 80336B48 00333A88 40 80 01 60 */ bge lbl_80336CA8
/* 80336B4C 00333A8C 48 00 01 4C */ b lbl_80336C98
lbl_80336B50:
/* 80336B50 00333A90 3C 60 54 45 */ lis r3, 0x54455831@ha
/* 80336B54 00333A94 38 63 58 31 */ addi r3, r3, 0x54455831@l
/* 80336B58 00333A98 7C 00 18 00 */ cmpw r0, r3
/* 80336B5C 00333A9C 41 82 00 88 */ beq lbl_80336BE4
/* 80336B60 00333AA0 40 80 00 2C */ bge lbl_80336B8C
/* 80336B64 00333AA4 3C 60 53 48 */ lis r3, 0x53485031@ha
/* 80336B68 00333AA8 38 63 50 31 */ addi r3, r3, 0x53485031@l
/* 80336B6C 00333AAC 7C 00 18 00 */ cmpw r0, r3
/* 80336B70 00333AB0 41 82 00 5C */ beq lbl_80336BCC
/* 80336B74 00333AB4 40 80 01 24 */ bge lbl_80336C98
/* 80336B78 00333AB8 3C 60 4D 44 */ lis r3, 0x4D444C33@ha
/* 80336B7C 00333ABC 38 63 4C 33 */ addi r3, r3, 0x4D444C33@l
/* 80336B80 00333AC0 7C 00 18 00 */ cmpw r0, r3
/* 80336B84 00333AC4 41 82 00 74 */ beq lbl_80336BF8
/* 80336B88 00333AC8 48 00 01 10 */ b lbl_80336C98
lbl_80336B8C:
/* 80336B8C 00333ACC 3C 60 56 54 */ lis r3, 0x56545831@ha
/* 80336B90 00333AD0 38 63 58 31 */ addi r3, r3, 0x56545831@l
/* 80336B94 00333AD4 7C 00 18 00 */ cmpw r0, r3
/* 80336B98 00333AD8 41 82 01 10 */ beq lbl_80336CA8
/* 80336B9C 00333ADC 48 00 00 FC */ b lbl_80336C98
lbl_80336BA0:
/* 80336BA0 00333AE0 7E E3 BB 78 */ mr r3, r23
/* 80336BA4 00333AE4 7F 44 D3 78 */ mr r4, r26
/* 80336BA8 00333AE8 7F 85 E3 78 */ mr r5, r28
/* 80336BAC 00333AEC 48 00 01 2D */ bl J3DModelLoader_NS_calcSizeInformation
/* 80336BB0 00333AF0 7F 7B 1A 14 */ add r27, r27, r3
/* 80336BB4 00333AF4 48 00 00 F4 */ b lbl_80336CA8
lbl_80336BB8:
/* 80336BB8 00333AF8 7E E3 BB 78 */ mr r3, r23
/* 80336BBC 00333AFC 7F 44 D3 78 */ mr r4, r26
/* 80336BC0 00333B00 48 00 01 A5 */ bl J3DModelLoader_NS_calcSizeJoint
/* 80336BC4 00333B04 7F 7B 1A 14 */ add r27, r27, r3
/* 80336BC8 00333B08 48 00 00 E0 */ b lbl_80336CA8
lbl_80336BCC:
/* 80336BCC 00333B0C 7E E3 BB 78 */ mr r3, r23
/* 80336BD0 00333B10 7F 44 D3 78 */ mr r4, r26
/* 80336BD4 00333B14 7F 85 E3 78 */ mr r5, r28
/* 80336BD8 00333B18 48 00 02 C9 */ bl J3DModelLoader_NS_calcSizeShape
/* 80336BDC 00333B1C 7F 7B 1A 14 */ add r27, r27, r3
/* 80336BE0 00333B20 48 00 00 C8 */ b lbl_80336CA8
lbl_80336BE4:
/* 80336BE4 00333B24 7E E3 BB 78 */ mr r3, r23
/* 80336BE8 00333B28 7F 44 D3 78 */ mr r4, r26
/* 80336BEC 00333B2C 48 00 03 59 */ bl J3DModelLoader_NS_calcSizeTexture
/* 80336BF0 00333B30 7F 7B 1A 14 */ add r27, r27, r3
/* 80336BF4 00333B34 48 00 00 B4 */ b lbl_80336CA8
lbl_80336BF8:
/* 80336BF8 00333B38 7E E3 BB 78 */ mr r3, r23
/* 80336BFC 00333B3C 7F 44 D3 78 */ mr r4, r26
/* 80336C00 00333B40 7F 05 C3 78 */ mr r5, r24
/* 80336C04 00333B44 48 00 04 9D */ bl J3DModelLoader_NS_calcSizeMaterialDL
/* 80336C08 00333B48 7F 7B 1A 14 */ add r27, r27, r3
/* 80336C0C 00333B4C 48 00 00 9C */ b lbl_80336CA8
lbl_80336C10:
/* 80336C10 00333B50 3C A0 50 10 */ lis r5, 0x5010
/* 80336C14 00333B54 7C A5 F3 78 */ or r5, r5, r30
/* 80336C18 00333B58 93 57 00 10 */ stw r26, 0x10(r23)
/* 80336C1C 00333B5C 28 1D 00 00 */ cmplwi r29, 0
/* 80336C20 00333B60 40 82 00 2C */ bne lbl_80336C4C
/* 80336C24 00333B64 38 00 00 01 */ li r0, 1
/* 80336C28 00333B68 98 17 00 18 */ stb r0, 0x18(r23)
/* 80336C2C 00333B6C 7E E3 BB 78 */ mr r3, r23
/* 80336C30 00333B70 7F 44 D3 78 */ mr r4, r26
/* 80336C34 00333B74 81 97 00 00 */ lwz r12, 0(r23)
/* 80336C38 00333B78 81 8C 00 3C */ lwz r12, 0x3c(r12)
/* 80336C3C 00333B7C 7D 89 03 A6 */ mtctr r12
/* 80336C40 00333B80 4E 80 04 21 */ bctrl
/* 80336C44 00333B84 7F 7B 1A 14 */ add r27, r27, r3
/* 80336C48 00333B88 48 00 00 60 */ b lbl_80336CA8
lbl_80336C4C:
/* 80336C4C 00333B8C 28 1D 20 00 */ cmplwi r29, 0x2000
/* 80336C50 00333B90 40 82 00 58 */ bne lbl_80336CA8
/* 80336C54 00333B94 38 00 00 01 */ li r0, 1
/* 80336C58 00333B98 98 17 00 18 */ stb r0, 0x18(r23)
/* 80336C5C 00333B9C 7E E3 BB 78 */ mr r3, r23
/* 80336C60 00333BA0 7F 44 D3 78 */ mr r4, r26
/* 80336C64 00333BA4 48 00 03 AD */ bl J3DModelLoader_NS_calcSizePatchedMaterial
/* 80336C68 00333BA8 7F 7B 1A 14 */ add r27, r27, r3
/* 80336C6C 00333BAC 48 00 00 3C */ b lbl_80336CA8
lbl_80336C70:
/* 80336C70 00333BB0 7E E3 BB 78 */ mr r3, r23
/* 80336C74 00333BB4 7F 44 D3 78 */ mr r4, r26
/* 80336C78 00333BB8 48 00 01 19 */ bl J3DModelLoader_NS_calcSizeEnvelope
/* 80336C7C 00333BBC 7F 7B 1A 14 */ add r27, r27, r3
/* 80336C80 00333BC0 48 00 00 28 */ b lbl_80336CA8
lbl_80336C84:
/* 80336C84 00333BC4 7E E3 BB 78 */ mr r3, r23
/* 80336C88 00333BC8 7F 44 D3 78 */ mr r4, r26
/* 80336C8C 00333BCC 48 00 01 15 */ bl J3DModelLoader_NS_calcSizeDraw
/* 80336C90 00333BD0 7F 7B 1A 14 */ add r27, r27, r3
/* 80336C94 00333BD4 48 00 00 14 */ b lbl_80336CA8
lbl_80336C98:
/* 80336C98 00333BD8 3C 60 80 3A */ lis r3, lbl_803A20E8@ha
/* 80336C9C 00333BDC 38 63 20 E8 */ addi r3, r3, lbl_803A20E8@l
/* 80336CA0 00333BE0 4C C6 31 82 */ crclr 6
/* 80336CA4 00333BE4 4B CC FE 19 */ bl OSReport
lbl_80336CA8:
/* 80336CA8 00333BE8 80 1A 00 04 */ lwz r0, 4(r26)
/* 80336CAC 00333BEC 7F 5A 02 14 */ add r26, r26, r0
/* 80336CB0 00333BF0 3B 39 00 01 */ addi r25, r25, 1
lbl_80336CB4:
/* 80336CB4 00333BF4 7C 19 B0 40 */ cmplw r25, r22
/* 80336CB8 00333BF8 41 80 FE 24 */ blt lbl_80336ADC
/* 80336CBC 00333BFC 7F 63 DB 78 */ mr r3, r27
/* 80336CC0 00333C00 39 61 00 30 */ addi r11, r1, 0x30
/* 80336CC4 00333C04 48 02 B5 49 */ bl func_8036220C
/* 80336CC8 00333C08 80 01 00 34 */ lwz r0, 0x34(r1)
/* 80336CCC 00333C0C 7C 08 03 A6 */ mtlr r0
/* 80336CD0 00333C10 38 21 00 30 */ addi r1, r1, 0x30
/* 80336CD4 00333C14 4E 80 00 20 */ blr
.global J3DModelLoader_NS_calcSizeInformation
J3DModelLoader_NS_calcSizeInformation:
/* 80336CD8 00333C18 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80336CDC 00333C1C 7C 08 02 A6 */ mflr r0
/* 80336CE0 00333C20 90 01 00 14 */ stw r0, 0x14(r1)
/* 80336CE4 00333C24 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80336CE8 00333C28 93 C1 00 08 */ stw r30, 8(r1)
/* 80336CEC 00333C2C 7C 7E 1B 78 */ mr r30, r3
/* 80336CF0 00333C30 3B E0 00 00 */ li r31, 0
/* 80336CF4 00333C34 A0 04 00 08 */ lhz r0, 8(r4)
/* 80336CF8 00333C38 7C A0 03 78 */ or r0, r5, r0
/* 80336CFC 00333C3C 54 00 07 3E */ clrlwi r0, r0, 0x1c
/* 80336D00 00333C40 2C 00 00 01 */ cmpwi r0, 1
/* 80336D04 00333C44 41 82 00 28 */ beq lbl_80336D2C
/* 80336D08 00333C48 40 80 00 10 */ bge lbl_80336D18
/* 80336D0C 00333C4C 2C 00 00 00 */ cmpwi r0, 0
/* 80336D10 00333C50 40 80 00 14 */ bge lbl_80336D24
/* 80336D14 00333C54 48 00 00 24 */ b lbl_80336D38
lbl_80336D18:
/* 80336D18 00333C58 2C 00 00 03 */ cmpwi r0, 3
/* 80336D1C 00333C5C 40 80 00 1C */ bge lbl_80336D38
/* 80336D20 00333C60 48 00 00 14 */ b lbl_80336D34
lbl_80336D24:
/* 80336D24 00333C64 3B E0 00 04 */ li r31, 4
/* 80336D28 00333C68 48 00 00 10 */ b lbl_80336D38
lbl_80336D2C:
/* 80336D2C 00333C6C 3B E0 00 04 */ li r31, 4
/* 80336D30 00333C70 48 00 00 08 */ b lbl_80336D38
lbl_80336D34:
/* 80336D34 00333C74 3B E0 00 04 */ li r31, 4
lbl_80336D38:
/* 80336D38 00333C78 7C 83 23 78 */ mr r3, r4
/* 80336D3C 00333C7C 80 84 00 14 */ lwz r4, 0x14(r4)
/* 80336D40 00333C80 4B FF FA 0D */ bl JSUConvertOffsetToPtr_X70_
/* 80336D44 00333C84 90 7E 00 14 */ stw r3, 0x14(r30)
/* 80336D48 00333C88 7F E3 FB 78 */ mr r3, r31
/* 80336D4C 00333C8C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80336D50 00333C90 83 C1 00 08 */ lwz r30, 8(r1)
/* 80336D54 00333C94 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80336D58 00333C98 7C 08 03 A6 */ mtlr r0
/* 80336D5C 00333C9C 38 21 00 10 */ addi r1, r1, 0x10
/* 80336D60 00333CA0 4E 80 00 20 */ blr
.global J3DModelLoader_NS_calcSizeJoint
J3DModelLoader_NS_calcSizeJoint:
/* 80336D64 00333CA4 38 60 00 00 */ li r3, 0
/* 80336D68 00333CA8 80 04 00 14 */ lwz r0, 0x14(r4)
/* 80336D6C 00333CAC 28 00 00 00 */ cmplwi r0, 0
/* 80336D70 00333CB0 41 82 00 08 */ beq lbl_80336D78
/* 80336D74 00333CB4 38 60 00 10 */ li r3, 0x10
lbl_80336D78:
/* 80336D78 00333CB8 A0 84 00 08 */ lhz r4, 8(r4)
/* 80336D7C 00333CBC 54 80 10 3A */ slwi r0, r4, 2
/* 80336D80 00333CC0 7C 63 02 14 */ add r3, r3, r0
/* 80336D84 00333CC4 1C 04 00 5C */ mulli r0, r4, 0x5c
/* 80336D88 00333CC8 7C 63 02 14 */ add r3, r3, r0
/* 80336D8C 00333CCC 4E 80 00 20 */ blr
.global J3DModelLoader_NS_calcSizeEnvelope
J3DModelLoader_NS_calcSizeEnvelope:
/* 80336D90 00333CD0 A0 04 00 08 */ lhz r0, 8(r4)
/* 80336D94 00333CD4 B0 03 00 1A */ sth r0, 0x1a(r3)
/* 80336D98 00333CD8 38 60 00 00 */ li r3, 0
/* 80336D9C 00333CDC 4E 80 00 20 */ blr
.global J3DModelLoader_NS_calcSizeDraw
J3DModelLoader_NS_calcSizeDraw:
/* 80336DA0 00333CE0 A0 63 00 1A */ lhz r3, 0x1a(r3)
/* 80336DA4 00333CE4 A0 04 00 08 */ lhz r0, 8(r4)
/* 80336DA8 00333CE8 7C 03 00 50 */ subf r0, r3, r0
/* 80336DAC 00333CEC 54 03 08 3C */ slwi r3, r0, 1
/* 80336DB0 00333CF0 4E 80 00 20 */ blr
/* 80336DB4 00333CF4 94 21 FF 50 */ stwu r1, -0xb0(r1)
/* 80336DB8 00333CF8 7C 08 02 A6 */ mflr r0
/* 80336DBC 00333CFC 90 01 00 B4 */ stw r0, 0xb4(r1)
/* 80336DC0 00333D00 39 61 00 B0 */ addi r11, r1, 0xb0
/* 80336DC4 00333D04 48 02 B4 11 */ bl func_803621D4
/* 80336DC8 00333D08 7C 9C 23 78 */ mr r28, r4
/* 80336DCC 00333D0C 7C BB 2B 78 */ mr r27, r5
/* 80336DD0 00333D10 3B E0 00 00 */ li r31, 0
/* 80336DD4 00333D14 38 61 00 08 */ addi r3, r1, 8
/* 80336DD8 00333D18 4B FF 92 15 */ bl J3DMaterialFactory
/* 80336DDC 00333D1C A3 DC 00 08 */ lhz r30, 8(r28)
/* 80336DE0 00333D20 38 61 00 08 */ addi r3, r1, 8
/* 80336DE4 00333D24 4B FF 94 D9 */ bl J3DMaterialFactory_NS_countUniqueMaterials
/* 80336DE8 00333D28 54 7D 04 3E */ clrlwi r29, r3, 0x10
/* 80336DEC 00333D2C 80 1C 00 14 */ lwz r0, 0x14(r28)
/* 80336DF0 00333D30 28 00 00 00 */ cmplwi r0, 0
/* 80336DF4 00333D34 41 82 00 08 */ beq lbl_80336DFC
/* 80336DF8 00333D38 3B E0 00 10 */ li r31, 0x10
lbl_80336DFC:
/* 80336DFC 00333D3C 57 C0 10 3A */ slwi r0, r30, 2
/* 80336E00 00333D40 7F FF 02 14 */ add r31, r31, r0
/* 80336E04 00333D44 57 64 02 95 */ rlwinm. r4, r27, 0, 0xa, 0xa
/* 80336E08 00333D48 41 82 00 14 */ beq lbl_80336E1C
/* 80336E0C 00333D4C 1C 7D 00 4C */ mulli r3, r29, 0x4c
/* 80336E10 00333D50 38 03 00 1F */ addi r0, r3, 0x1f
/* 80336E14 00333D54 54 00 00 34 */ rlwinm r0, r0, 0, 0, 0x1a
/* 80336E18 00333D58 7F FF 02 14 */ add r31, r31, r0
lbl_80336E1C:
/* 80336E1C 00333D5C 28 04 00 00 */ cmplwi r4, 0
/* 80336E20 00333D60 41 82 00 34 */ beq lbl_80336E54
/* 80336E24 00333D64 3B 80 00 00 */ li r28, 0
/* 80336E28 00333D68 48 00 00 24 */ b lbl_80336E4C
lbl_80336E2C:
/* 80336E2C 00333D6C 38 61 00 08 */ addi r3, r1, 8
/* 80336E30 00333D70 38 80 00 00 */ li r4, 0
/* 80336E34 00333D74 38 A0 00 00 */ li r5, 0
/* 80336E38 00333D78 7F 86 E3 78 */ mr r6, r28
/* 80336E3C 00333D7C 7F 67 DB 78 */ mr r7, r27
/* 80336E40 00333D80 4B FF AC 3D */ bl J3DMaterialFactory_NS_calcSize
/* 80336E44 00333D84 7F FF 1A 14 */ add r31, r31, r3
/* 80336E48 00333D88 3B 9C 00 01 */ addi r28, r28, 1
lbl_80336E4C:
/* 80336E4C 00333D8C 7C 1C E8 40 */ cmplw r28, r29
/* 80336E50 00333D90 41 80 FF DC */ blt lbl_80336E2C
lbl_80336E54:
/* 80336E54 00333D94 3B 80 00 00 */ li r28, 0
/* 80336E58 00333D98 48 00 00 24 */ b lbl_80336E7C
lbl_80336E5C:
/* 80336E5C 00333D9C 38 61 00 08 */ addi r3, r1, 8
/* 80336E60 00333DA0 38 80 00 00 */ li r4, 0
/* 80336E64 00333DA4 38 A0 00 00 */ li r5, 0
/* 80336E68 00333DA8 7F 86 E3 78 */ mr r6, r28
/* 80336E6C 00333DAC 7F 67 DB 78 */ mr r7, r27
/* 80336E70 00333DB0 4B FF AC 0D */ bl J3DMaterialFactory_NS_calcSize
/* 80336E74 00333DB4 7F FF 1A 14 */ add r31, r31, r3
/* 80336E78 00333DB8 3B 9C 00 01 */ addi r28, r28, 1
lbl_80336E7C:
/* 80336E7C 00333DBC 7C 1C F0 40 */ cmplw r28, r30
/* 80336E80 00333DC0 41 80 FF DC */ blt lbl_80336E5C
/* 80336E84 00333DC4 7F E3 FB 78 */ mr r3, r31
/* 80336E88 00333DC8 39 61 00 B0 */ addi r11, r1, 0xb0
/* 80336E8C 00333DCC 48 02 B3 95 */ bl func_80362220
/* 80336E90 00333DD0 80 01 00 B4 */ lwz r0, 0xb4(r1)
/* 80336E94 00333DD4 7C 08 03 A6 */ mtlr r0
/* 80336E98 00333DD8 38 21 00 B0 */ addi r1, r1, 0xb0
/* 80336E9C 00333DDC 4E 80 00 20 */ blr
.global J3DModelLoader_NS_calcSizeShape
J3DModelLoader_NS_calcSizeShape:
/* 80336EA0 00333DE0 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 80336EA4 00333DE4 7C 08 02 A6 */ mflr r0
/* 80336EA8 00333DE8 90 01 00 44 */ stw r0, 0x44(r1)
/* 80336EAC 00333DEC 39 61 00 40 */ addi r11, r1, 0x40
/* 80336EB0 00333DF0 48 02 B3 29 */ bl func_803621D8
/* 80336EB4 00333DF4 7C 7C 1B 78 */ mr r28, r3
/* 80336EB8 00333DF8 7C 9E 23 78 */ mr r30, r4
/* 80336EBC 00333DFC 7C BD 2B 78 */ mr r29, r5
/* 80336EC0 00333E00 3B E0 00 00 */ li r31, 0
/* 80336EC4 00333E04 38 61 00 08 */ addi r3, r1, 8
/* 80336EC8 00333E08 48 00 04 89 */ bl J3DShapeFactory
/* 80336ECC 00333E0C A0 9E 00 08 */ lhz r4, 8(r30)
/* 80336ED0 00333E10 80 1E 00 14 */ lwz r0, 0x14(r30)
/* 80336ED4 00333E14 28 00 00 00 */ cmplwi r0, 0
/* 80336ED8 00333E18 41 82 00 08 */ beq lbl_80336EE0
/* 80336EDC 00333E1C 3B E0 00 10 */ li r31, 0x10
lbl_80336EE0:
/* 80336EE0 00333E20 54 80 10 3A */ slwi r0, r4, 2
/* 80336EE4 00333E24 7F FF 02 14 */ add r31, r31, r0
/* 80336EE8 00333E28 38 61 00 08 */ addi r3, r1, 8
/* 80336EEC 00333E2C 48 00 0A ED */ bl J3DShapeFactory_NS_calcSizeVcdVatCmdBuffer
/* 80336EF0 00333E30 7F FF 1A 14 */ add r31, r31, r3
/* 80336EF4 00333E34 83 DC 00 14 */ lwz r30, 0x14(r28)
/* 80336EF8 00333E38 48 00 00 24 */ b lbl_80336F1C
lbl_80336EFC:
/* 80336EFC 00333E3C 28 00 00 12 */ cmplwi r0, 0x12
/* 80336F00 00333E40 40 82 00 18 */ bne lbl_80336F18
/* 80336F04 00333E44 38 61 00 08 */ addi r3, r1, 8
/* 80336F08 00333E48 A0 9E 00 02 */ lhz r4, 2(r30)
/* 80336F0C 00333E4C 7F A5 EB 78 */ mr r5, r29
/* 80336F10 00333E50 48 00 0A 35 */ bl J3DShapeFactory_NS_calcSize
/* 80336F14 00333E54 7F FF 1A 14 */ add r31, r31, r3
lbl_80336F18:
/* 80336F18 00333E58 3B DE 00 04 */ addi r30, r30, 4
lbl_80336F1C:
/* 80336F1C 00333E5C A0 1E 00 00 */ lhz r0, 0(r30)
/* 80336F20 00333E60 28 00 00 00 */ cmplwi r0, 0
/* 80336F24 00333E64 40 82 FF D8 */ bne lbl_80336EFC
/* 80336F28 00333E68 7F E3 FB 78 */ mr r3, r31
/* 80336F2C 00333E6C 39 61 00 40 */ addi r11, r1, 0x40
/* 80336F30 00333E70 48 02 B2 F5 */ bl func_80362224
/* 80336F34 00333E74 80 01 00 44 */ lwz r0, 0x44(r1)
/* 80336F38 00333E78 7C 08 03 A6 */ mtlr r0
/* 80336F3C 00333E7C 38 21 00 40 */ addi r1, r1, 0x40
/* 80336F40 00333E80 4E 80 00 20 */ blr
.global J3DModelLoader_NS_calcSizeTexture
J3DModelLoader_NS_calcSizeTexture:
/* 80336F44 00333E84 38 60 00 00 */ li r3, 0
/* 80336F48 00333E88 80 04 00 10 */ lwz r0, 0x10(r4)
/* 80336F4C 00333E8C 28 00 00 00 */ cmplwi r0, 0
/* 80336F50 00333E90 41 82 00 08 */ beq lbl_80336F58
/* 80336F54 00333E94 38 60 00 10 */ li r3, 0x10
lbl_80336F58:
/* 80336F58 00333E98 38 63 00 0C */ addi r3, r3, 0xc
/* 80336F5C 00333E9C 4E 80 00 20 */ blr
/* 80336F60 00333EA0 94 21 FF 60 */ stwu r1, -0xa0(r1)
/* 80336F64 00333EA4 7C 08 02 A6 */ mflr r0
/* 80336F68 00333EA8 90 01 00 A4 */ stw r0, 0xa4(r1)
/* 80336F6C 00333EAC 39 61 00 A0 */ addi r11, r1, 0xa0
/* 80336F70 00333EB0 48 02 B2 69 */ bl func_803621D8
/* 80336F74 00333EB4 7C 9D 23 78 */ mr r29, r4
/* 80336F78 00333EB8 7C BC 2B 78 */ mr r28, r5
/* 80336F7C 00333EBC 3B E0 00 00 */ li r31, 0
/* 80336F80 00333EC0 A3 C4 00 08 */ lhz r30, 8(r4)
/* 80336F84 00333EC4 38 61 00 08 */ addi r3, r1, 8
/* 80336F88 00333EC8 4B FF 90 65 */ bl J3DMaterialFactory
/* 80336F8C 00333ECC 80 1D 00 14 */ lwz r0, 0x14(r29)
/* 80336F90 00333ED0 28 00 00 00 */ cmplwi r0, 0
/* 80336F94 00333ED4 41 82 00 08 */ beq lbl_80336F9C
/* 80336F98 00333ED8 3B E0 00 10 */ li r31, 0x10
lbl_80336F9C:
/* 80336F9C 00333EDC 57 C0 10 3A */ slwi r0, r30, 2
/* 80336FA0 00333EE0 7F FF 02 14 */ add r31, r31, r0
/* 80336FA4 00333EE4 3B A0 00 00 */ li r29, 0
/* 80336FA8 00333EE8 48 00 00 20 */ b lbl_80336FC8
lbl_80336FAC:
/* 80336FAC 00333EEC 38 61 00 08 */ addi r3, r1, 8
/* 80336FB0 00333EF0 38 80 00 00 */ li r4, 0
/* 80336FB4 00333EF4 38 A0 00 00 */ li r5, 0
/* 80336FB8 00333EF8 7F 87 E3 78 */ mr r7, r28
/* 80336FBC 00333EFC 4B FF AA C1 */ bl J3DMaterialFactory_NS_calcSize
/* 80336FC0 00333F00 7F FF 1A 14 */ add r31, r31, r3
/* 80336FC4 00333F04 3B BD 00 01 */ addi r29, r29, 1
lbl_80336FC8:
/* 80336FC8 00333F08 57 A6 04 3E */ clrlwi r6, r29, 0x10
/* 80336FCC 00333F0C 7C 06 F0 40 */ cmplw r6, r30
/* 80336FD0 00333F10 41 80 FF DC */ blt lbl_80336FAC
/* 80336FD4 00333F14 7F E3 FB 78 */ mr r3, r31
/* 80336FD8 00333F18 39 61 00 A0 */ addi r11, r1, 0xa0
/* 80336FDC 00333F1C 48 02 B2 49 */ bl func_80362224
/* 80336FE0 00333F20 80 01 00 A4 */ lwz r0, 0xa4(r1)
/* 80336FE4 00333F24 7C 08 03 A6 */ mtlr r0
/* 80336FE8 00333F28 38 21 00 A0 */ addi r1, r1, 0xa0
/* 80336FEC 00333F2C 4E 80 00 20 */ blr
.global J3DModelLoader_NS_calcSizeTextureTable
J3DModelLoader_NS_calcSizeTextureTable:
/* 80336FF0 00333F30 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80336FF4 00333F34 7C 08 02 A6 */ mflr r0
/* 80336FF8 00333F38 90 01 00 14 */ stw r0, 0x14(r1)
/* 80336FFC 00333F3C 4B FF FF 49 */ bl J3DModelLoader_NS_calcSizeTexture
/* 80337000 00333F40 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80337004 00333F44 7C 08 03 A6 */ mtlr r0
/* 80337008 00333F48 38 21 00 10 */ addi r1, r1, 0x10
/* 8033700C 00333F4C 4E 80 00 20 */ blr
.global J3DModelLoader_NS_calcSizePatchedMaterial
J3DModelLoader_NS_calcSizePatchedMaterial:
/* 80337010 00333F50 94 21 FF 60 */ stwu r1, -0xa0(r1)
/* 80337014 00333F54 7C 08 02 A6 */ mflr r0
/* 80337018 00333F58 90 01 00 A4 */ stw r0, 0xa4(r1)
/* 8033701C 00333F5C 39 61 00 A0 */ addi r11, r1, 0xa0
/* 80337020 00333F60 48 02 B1 B9 */ bl func_803621D8
/* 80337024 00333F64 7C 9D 23 78 */ mr r29, r4
/* 80337028 00333F68 7C BC 2B 78 */ mr r28, r5
/* 8033702C 00333F6C 3B E0 00 00 */ li r31, 0
/* 80337030 00333F70 A3 C4 00 08 */ lhz r30, 8(r4)
/* 80337034 00333F74 38 61 00 08 */ addi r3, r1, 8
/* 80337038 00333F78 4B FF 8F B5 */ bl J3DMaterialFactory
/* 8033703C 00333F7C 80 1D 00 14 */ lwz r0, 0x14(r29)
/* 80337040 00333F80 28 00 00 00 */ cmplwi r0, 0
/* 80337044 00333F84 41 82 00 08 */ beq lbl_8033704C
/* 80337048 00333F88 3B E0 00 10 */ li r31, 0x10
lbl_8033704C:
/* 8033704C 00333F8C 57 C0 10 3A */ slwi r0, r30, 2
/* 80337050 00333F90 7F FF 02 14 */ add r31, r31, r0
/* 80337054 00333F94 3B A0 00 00 */ li r29, 0
/* 80337058 00333F98 48 00 00 20 */ b lbl_80337078
lbl_8033705C:
/* 8033705C 00333F9C 38 61 00 08 */ addi r3, r1, 8
/* 80337060 00333FA0 38 80 00 00 */ li r4, 0
/* 80337064 00333FA4 38 A0 00 02 */ li r5, 2
/* 80337068 00333FA8 7F 87 E3 78 */ mr r7, r28
/* 8033706C 00333FAC 4B FF AA 11 */ bl J3DMaterialFactory_NS_calcSize
/* 80337070 00333FB0 7F FF 1A 14 */ add r31, r31, r3
/* 80337074 00333FB4 3B BD 00 01 */ addi r29, r29, 1
lbl_80337078:
/* 80337078 00333FB8 57 A6 04 3E */ clrlwi r6, r29, 0x10
/* 8033707C 00333FBC 7C 06 F0 40 */ cmplw r6, r30
/* 80337080 00333FC0 41 80 FF DC */ blt lbl_8033705C
/* 80337084 00333FC4 7F E3 FB 78 */ mr r3, r31
/* 80337088 00333FC8 39 61 00 A0 */ addi r11, r1, 0xa0
/* 8033708C 00333FCC 48 02 B1 99 */ bl func_80362224
/* 80337090 00333FD0 80 01 00 A4 */ lwz r0, 0xa4(r1)
/* 80337094 00333FD4 7C 08 03 A6 */ mtlr r0
/* 80337098 00333FD8 38 21 00 A0 */ addi r1, r1, 0xa0
/* 8033709C 00333FDC 4E 80 00 20 */ blr
.global J3DModelLoader_NS_calcSizeMaterialDL
J3DModelLoader_NS_calcSizeMaterialDL:
/* 803370A0 00333FE0 94 21 FF 50 */ stwu r1, -0xb0(r1)
/* 803370A4 00333FE4 7C 08 02 A6 */ mflr r0
/* 803370A8 00333FE8 90 01 00 B4 */ stw r0, 0xb4(r1)
/* 803370AC 00333FEC 39 61 00 B0 */ addi r11, r1, 0xb0
/* 803370B0 00333FF0 48 02 B1 25 */ bl func_803621D4
/* 803370B4 00333FF4 7C 7B 1B 78 */ mr r27, r3
/* 803370B8 00333FF8 7C 9C 23 78 */ mr r28, r4
/* 803370BC 00333FFC 7C BF 2B 78 */ mr r31, r5
/* 803370C0 00334000 3B C0 00 00 */ li r30, 0
/* 803370C4 00334004 38 61 00 08 */ addi r3, r1, 8
/* 803370C8 00334008 4B FF 91 6D */ bl J3DMaterialFactory_X1_
/* 803370CC 0033400C 88 1B 00 18 */ lbz r0, 0x18(r27)
/* 803370D0 00334010 28 00 00 00 */ cmplwi r0, 0
/* 803370D4 00334014 40 82 00 54 */ bne lbl_80337128
/* 803370D8 00334018 A3 BC 00 08 */ lhz r29, 8(r28)
/* 803370DC 0033401C 80 1C 00 20 */ lwz r0, 0x20(r28)
/* 803370E0 00334020 28 00 00 00 */ cmplwi r0, 0
/* 803370E4 00334024 41 82 00 08 */ beq lbl_803370EC
/* 803370E8 00334028 3B C0 00 10 */ li r30, 0x10
lbl_803370EC:
/* 803370EC 0033402C 57 A0 10 3A */ slwi r0, r29, 2
/* 803370F0 00334030 7F DE 02 14 */ add r30, r30, r0
/* 803370F4 00334034 3B 80 00 00 */ li r28, 0
/* 803370F8 00334038 48 00 00 20 */ b lbl_80337118
lbl_803370FC:
/* 803370FC 0033403C 38 61 00 08 */ addi r3, r1, 8
/* 80337100 00334040 38 80 00 00 */ li r4, 0
/* 80337104 00334044 38 A0 00 01 */ li r5, 1
/* 80337108 00334048 7F E7 FB 78 */ mr r7, r31
/* 8033710C 0033404C 4B FF A9 71 */ bl J3DMaterialFactory_NS_calcSize
/* 80337110 00334050 7F DE 1A 14 */ add r30, r30, r3
/* 80337114 00334054 3B 9C 00 01 */ addi r28, r28, 1
lbl_80337118:
/* 80337118 00334058 57 86 04 3E */ clrlwi r6, r28, 0x10
/* 8033711C 0033405C 7C 06 E8 40 */ cmplw r6, r29
/* 80337120 00334060 41 80 FF DC */ blt lbl_803370FC
/* 80337124 00334064 48 00 00 38 */ b lbl_8033715C
lbl_80337128:
/* 80337128 00334068 A3 9C 00 08 */ lhz r28, 8(r28)
/* 8033712C 0033406C 3B A0 00 00 */ li r29, 0
/* 80337130 00334070 48 00 00 20 */ b lbl_80337150
lbl_80337134:
/* 80337134 00334074 38 61 00 08 */ addi r3, r1, 8
/* 80337138 00334078 7F 64 DB 78 */ mr r4, r27
/* 8033713C 0033407C 38 A0 00 01 */ li r5, 1
/* 80337140 00334080 7F E7 FB 78 */ mr r7, r31
/* 80337144 00334084 4B FF A9 39 */ bl J3DMaterialFactory_NS_calcSize
/* 80337148 00334088 7F DE 1A 14 */ add r30, r30, r3
/* 8033714C 0033408C 3B BD 00 01 */ addi r29, r29, 1
lbl_80337150:
/* 80337150 00334090 57 A6 04 3E */ clrlwi r6, r29, 0x10
/* 80337154 00334094 7C 06 E0 40 */ cmplw r6, r28
/* 80337158 00334098 41 80 FF DC */ blt lbl_80337134
lbl_8033715C:
/* 8033715C 0033409C 7F C3 F3 78 */ mr r3, r30
/* 80337160 003340A0 39 61 00 B0 */ addi r11, r1, 0xb0
/* 80337164 003340A4 48 02 B0 BD */ bl func_80362220
/* 80337168 003340A8 80 01 00 B4 */ lwz r0, 0xb4(r1)
/* 8033716C 003340AC 7C 08 03 A6 */ mtlr r0
/* 80337170 003340B0 38 21 00 B0 */ addi r1, r1, 0xb0
/* 80337174 003340B4 4E 80 00 20 */ blr

View File

@ -0,0 +1,591 @@
.include "macros.inc"
.section .text, "ax" # 80337350
.global J3DShapeFactory
J3DShapeFactory:
/* 80337350 00334290 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80337354 00334294 7C 08 02 A6 */ mflr r0
/* 80337358 00334298 90 01 00 14 */ stw r0, 0x14(r1)
/* 8033735C 0033429C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80337360 003342A0 93 C1 00 08 */ stw r30, 8(r1)
/* 80337364 003342A4 7C 7E 1B 78 */ mr r30, r3
/* 80337368 003342A8 7C 9F 23 78 */ mr r31, r4
/* 8033736C 003342AC 7F E3 FB 78 */ mr r3, r31
/* 80337370 003342B0 80 84 00 0C */ lwz r4, 0xc(r4)
/* 80337374 003342B4 4B FF F3 F1 */ bl JSUConvertOffsetToPtr_X71_
/* 80337378 003342B8 90 7E 00 00 */ stw r3, 0(r30)
/* 8033737C 003342BC 7F E3 FB 78 */ mr r3, r31
/* 80337380 003342C0 80 9F 00 10 */ lwz r4, 0x10(r31)
/* 80337384 003342C4 4B FF F3 F9 */ bl JSUConvertOffsetToPtr_X72_
/* 80337388 003342C8 90 7E 00 04 */ stw r3, 4(r30)
/* 8033738C 003342CC 7F E3 FB 78 */ mr r3, r31
/* 80337390 003342D0 80 9F 00 18 */ lwz r4, 0x18(r31)
/* 80337394 003342D4 48 00 07 95 */ bl JSUConvertOffsetToPtr_X77_
/* 80337398 003342D8 90 7E 00 08 */ stw r3, 8(r30)
/* 8033739C 003342DC 7F E3 FB 78 */ mr r3, r31
/* 803373A0 003342E0 80 9F 00 1C */ lwz r4, 0x1c(r31)
/* 803373A4 003342E4 4B FF F3 D9 */ bl JSUConvertOffsetToPtr_X72_
/* 803373A8 003342E8 90 7E 00 0C */ stw r3, 0xc(r30)
/* 803373AC 003342EC 7F E3 FB 78 */ mr r3, r31
/* 803373B0 003342F0 80 9F 00 20 */ lwz r4, 0x20(r31)
/* 803373B4 003342F4 48 00 07 5D */ bl JSUConvertOffsetToPtr_X76_
/* 803373B8 003342F8 90 7E 00 10 */ stw r3, 0x10(r30)
/* 803373BC 003342FC 7F E3 FB 78 */ mr r3, r31
/* 803373C0 00334300 80 9F 00 24 */ lwz r4, 0x24(r31)
/* 803373C4 00334304 48 00 07 35 */ bl JSUConvertOffsetToPtr_X75_
/* 803373C8 00334308 90 7E 00 14 */ stw r3, 0x14(r30)
/* 803373CC 0033430C 7F E3 FB 78 */ mr r3, r31
/* 803373D0 00334310 80 9F 00 28 */ lwz r4, 0x28(r31)
/* 803373D4 00334314 48 00 07 0D */ bl JSUConvertOffsetToPtr_X74_
/* 803373D8 00334318 90 7E 00 18 */ stw r3, 0x18(r30)
/* 803373DC 0033431C 38 00 00 00 */ li r0, 0
/* 803373E0 00334320 90 1E 00 1C */ stw r0, 0x1c(r30)
/* 803373E4 00334324 7F C3 F3 78 */ mr r3, r30
/* 803373E8 00334328 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 803373EC 0033432C 83 C1 00 08 */ lwz r30, 8(r1)
/* 803373F0 00334330 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803373F4 00334334 7C 08 03 A6 */ mtlr r0
/* 803373F8 00334338 38 21 00 10 */ addi r1, r1, 0x10
/* 803373FC 0033433C 4E 80 00 20 */ blr
.global J3DShapeFactory_NS_create
J3DShapeFactory_NS_create:
/* 80337400 00334340 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80337404 00334344 7C 08 02 A6 */ mflr r0
/* 80337408 00334348 90 01 00 24 */ stw r0, 0x24(r1)
/* 8033740C 0033434C 39 61 00 20 */ addi r11, r1, 0x20
/* 80337410 00334350 48 02 AD C1 */ bl func_803621D0
/* 80337414 00334354 7C 7B 1B 78 */ mr r27, r3
/* 80337418 00334358 7C 9C 23 78 */ mr r28, r4
/* 8033741C 0033435C 7C BD 2B 78 */ mr r29, r5
/* 80337420 00334360 38 60 00 68 */ li r3, 0x68
/* 80337424 00334364 4B F9 78 29 */ bl __nw
/* 80337428 00334368 7C 7F 1B 79 */ or. r31, r3, r3
/* 8033742C 0033436C 41 82 00 2C */ beq lbl_80337458
/* 80337430 00334370 3C 80 80 3D */ lis r4, lbl_803CDC78@ha
/* 80337434 00334374 38 04 DC 78 */ addi r0, r4, lbl_803CDC78@l
/* 80337438 00334378 90 1F 00 00 */ stw r0, 0(r31)
/* 8033743C 0033437C 3C 80 3C F4 */ lis r4, 0x3CF3CF00@ha
/* 80337440 00334380 38 04 CF 00 */ addi r0, r4, 0x3CF3CF00@l
/* 80337444 00334384 90 1F 00 40 */ stw r0, 0x40(r31)
/* 80337448 00334388 3C 80 00 F4 */ lis r4, 0x00F3CF3C@ha
/* 8033744C 0033438C 38 04 CF 3C */ addi r0, r4, 0x00F3CF3C@l
/* 80337450 00334390 90 1F 00 44 */ stw r0, 0x44(r31)
/* 80337454 00334394 4B FD D6 F5 */ bl J3DShape_NS_initialize
lbl_80337458:
/* 80337458 00334398 80 9B 00 00 */ lwz r4, 0(r27)
/* 8033745C 0033439C 80 7B 00 04 */ lwz r3, 4(r27)
/* 80337460 003343A0 57 9E 08 3C */ slwi r30, r28, 1
/* 80337464 003343A4 7C 03 F2 2E */ lhzx r0, r3, r30
/* 80337468 003343A8 1C 00 00 28 */ mulli r0, r0, 0x28
/* 8033746C 003343AC 7C 64 02 14 */ add r3, r4, r0
/* 80337470 003343B0 A0 03 00 02 */ lhz r0, 2(r3)
/* 80337474 003343B4 B0 1F 00 0A */ sth r0, 0xa(r31)
/* 80337478 003343B8 80 9B 00 00 */ lwz r4, 0(r27)
/* 8033747C 003343BC 80 7B 00 04 */ lwz r3, 4(r27)
/* 80337480 003343C0 7C 03 F2 2E */ lhzx r0, r3, r30
/* 80337484 003343C4 1C 00 00 28 */ mulli r0, r0, 0x28
/* 80337488 003343C8 7C 64 02 14 */ add r3, r4, r0
/* 8033748C 003343CC C0 03 00 0C */ lfs f0, 0xc(r3)
/* 80337490 003343D0 D0 1F 00 10 */ stfs f0, 0x10(r31)
/* 80337494 003343D4 80 BB 00 08 */ lwz r5, 8(r27)
/* 80337498 003343D8 80 9B 00 00 */ lwz r4, 0(r27)
/* 8033749C 003343DC 80 7B 00 04 */ lwz r3, 4(r27)
/* 803374A0 003343E0 7C 03 F2 2E */ lhzx r0, r3, r30
/* 803374A4 003343E4 1C 00 00 28 */ mulli r0, r0, 0x28
/* 803374A8 003343E8 7C 64 02 14 */ add r3, r4, r0
/* 803374AC 003343EC A0 03 00 04 */ lhz r0, 4(r3)
/* 803374B0 003343F0 7C 05 02 14 */ add r0, r5, r0
/* 803374B4 003343F4 90 1F 00 30 */ stw r0, 0x30(r31)
/* 803374B8 003343F8 A0 1F 00 0A */ lhz r0, 0xa(r31)
/* 803374BC 003343FC 54 03 10 3A */ slwi r3, r0, 2
/* 803374C0 00334400 4B F9 78 05 */ bl __nwa
/* 803374C4 00334404 90 7F 00 38 */ stw r3, 0x38(r31)
/* 803374C8 00334408 A0 1F 00 0A */ lhz r0, 0xa(r31)
/* 803374CC 0033440C 54 03 10 3A */ slwi r3, r0, 2
/* 803374D0 00334410 4B F9 77 F5 */ bl __nwa
/* 803374D4 00334414 90 7F 00 3C */ stw r3, 0x3c(r31)
/* 803374D8 00334418 80 9B 00 00 */ lwz r4, 0(r27)
/* 803374DC 0033441C 80 7B 00 04 */ lwz r3, 4(r27)
/* 803374E0 00334420 7C 03 F2 2E */ lhzx r0, r3, r30
/* 803374E4 00334424 1C 60 00 28 */ mulli r3, r0, 0x28
/* 803374E8 00334428 38 63 00 10 */ addi r3, r3, 0x10
/* 803374EC 0033442C 7C 64 1A 14 */ add r3, r4, r3
/* 803374F0 00334430 C0 03 00 00 */ lfs f0, 0(r3)
/* 803374F4 00334434 D0 1F 00 14 */ stfs f0, 0x14(r31)
/* 803374F8 00334438 C0 03 00 04 */ lfs f0, 4(r3)
/* 803374FC 0033443C D0 1F 00 18 */ stfs f0, 0x18(r31)
/* 80337500 00334440 C0 03 00 08 */ lfs f0, 8(r3)
/* 80337504 00334444 D0 1F 00 1C */ stfs f0, 0x1c(r31)
/* 80337508 00334448 80 9B 00 00 */ lwz r4, 0(r27)
/* 8033750C 0033444C 80 7B 00 04 */ lwz r3, 4(r27)
/* 80337510 00334450 7C 03 F2 2E */ lhzx r0, r3, r30
/* 80337514 00334454 1C 60 00 28 */ mulli r3, r0, 0x28
/* 80337518 00334458 38 63 00 1C */ addi r3, r3, 0x1c
/* 8033751C 0033445C 7C 64 1A 14 */ add r3, r4, r3
/* 80337520 00334460 C0 03 00 00 */ lfs f0, 0(r3)
/* 80337524 00334464 D0 1F 00 20 */ stfs f0, 0x20(r31)
/* 80337528 00334468 C0 03 00 04 */ lfs f0, 4(r3)
/* 8033752C 0033446C D0 1F 00 24 */ stfs f0, 0x24(r31)
/* 80337530 00334470 C0 03 00 08 */ lfs f0, 8(r3)
/* 80337534 00334474 D0 1F 00 28 */ stfs f0, 0x28(r31)
/* 80337538 00334478 80 7B 00 1C */ lwz r3, 0x1c(r27)
/* 8033753C 0033447C 1C 1C 00 C0 */ mulli r0, r28, 0xc0
/* 80337540 00334480 7C 03 02 14 */ add r0, r3, r0
/* 80337544 00334484 90 1F 00 2C */ stw r0, 0x2c(r31)
/* 80337548 00334488 3B 40 00 00 */ li r26, 0
/* 8033754C 0033448C 3B C0 00 00 */ li r30, 0
/* 80337550 00334490 48 00 00 40 */ b lbl_80337590
lbl_80337554:
/* 80337554 00334494 7F 63 DB 78 */ mr r3, r27
/* 80337558 00334498 7F A4 EB 78 */ mr r4, r29
/* 8033755C 0033449C 7F 85 E3 78 */ mr r5, r28
/* 80337560 003344A0 7F 46 D3 78 */ mr r6, r26
/* 80337564 003344A4 48 00 00 59 */ bl J3DShapeFactory_NS_newShapeMtx
/* 80337568 003344A8 80 9F 00 38 */ lwz r4, 0x38(r31)
/* 8033756C 003344AC 7C 64 F1 2E */ stwx r3, r4, r30
/* 80337570 003344B0 7F 63 DB 78 */ mr r3, r27
/* 80337574 003344B4 7F 84 E3 78 */ mr r4, r28
/* 80337578 003344B8 7F 45 D3 78 */ mr r5, r26
/* 8033757C 003344BC 48 00 02 D1 */ bl J3DShapeFactory_NS_newShapeDraw
/* 80337580 003344C0 80 9F 00 3C */ lwz r4, 0x3c(r31)
/* 80337584 003344C4 7C 64 F1 2E */ stwx r3, r4, r30
/* 80337588 003344C8 3B 5A 00 01 */ addi r26, r26, 1
/* 8033758C 003344CC 3B DE 00 04 */ addi r30, r30, 4
lbl_80337590:
/* 80337590 003344D0 A0 1F 00 0A */ lhz r0, 0xa(r31)
/* 80337594 003344D4 7C 1A 00 00 */ cmpw r26, r0
/* 80337598 003344D8 41 80 FF BC */ blt lbl_80337554
/* 8033759C 003344DC B3 9F 00 08 */ sth r28, 8(r31)
/* 803375A0 003344E0 7F E3 FB 78 */ mr r3, r31
/* 803375A4 003344E4 39 61 00 20 */ addi r11, r1, 0x20
/* 803375A8 003344E8 48 02 AC 75 */ bl func_8036221C
/* 803375AC 003344EC 80 01 00 24 */ lwz r0, 0x24(r1)
/* 803375B0 003344F0 7C 08 03 A6 */ mtlr r0
/* 803375B4 003344F4 38 21 00 20 */ addi r1, r1, 0x20
/* 803375B8 003344F8 4E 80 00 20 */ blr
.global J3DShapeFactory_NS_newShapeMtx
J3DShapeFactory_NS_newShapeMtx:
/* 803375BC 003344FC 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 803375C0 00334500 7C 08 02 A6 */ mflr r0
/* 803375C4 00334504 90 01 00 24 */ stw r0, 0x24(r1)
/* 803375C8 00334508 39 61 00 20 */ addi r11, r1, 0x20
/* 803375CC 0033450C 48 02 AC 11 */ bl func_803621DC
/* 803375D0 00334510 7C 7D 1B 78 */ mr r29, r3
/* 803375D4 00334514 3B E0 00 00 */ li r31, 0
/* 803375D8 00334518 80 E3 00 00 */ lwz r7, 0(r3)
/* 803375DC 0033451C 80 63 00 04 */ lwz r3, 4(r3)
/* 803375E0 00334520 54 A0 08 3C */ slwi r0, r5, 1
/* 803375E4 00334524 7C 03 02 2E */ lhzx r0, r3, r0
/* 803375E8 00334528 1C 00 00 28 */ mulli r0, r0, 0x28
/* 803375EC 0033452C 7C E7 02 14 */ add r7, r7, r0
/* 803375F0 00334530 80 BD 00 14 */ lwz r5, 0x14(r29)
/* 803375F4 00334534 A0 07 00 06 */ lhz r0, 6(r7)
/* 803375F8 00334538 54 03 18 38 */ slwi r3, r0, 3
/* 803375FC 0033453C 54 C0 18 38 */ slwi r0, r6, 3
/* 80337600 00334540 7F C3 02 14 */ add r30, r3, r0
/* 80337604 00334544 7F C5 F2 14 */ add r30, r5, r30
/* 80337608 00334548 54 80 06 F6 */ rlwinm r0, r4, 0, 0x1b, 0x1b
/* 8033760C 0033454C 2C 00 00 10 */ cmpwi r0, 0x10
/* 80337610 00334550 41 82 00 14 */ beq lbl_80337624
/* 80337614 00334554 40 80 01 70 */ bge lbl_80337784
/* 80337618 00334558 2C 00 00 00 */ cmpwi r0, 0
/* 8033761C 0033455C 41 82 01 68 */ beq lbl_80337784
/* 80337620 00334560 48 00 01 64 */ b lbl_80337784
lbl_80337624:
/* 80337624 00334564 88 07 00 00 */ lbz r0, 0(r7)
/* 80337628 00334568 2C 00 00 02 */ cmpwi r0, 2
/* 8033762C 0033456C 41 82 00 A0 */ beq lbl_803376CC
/* 80337630 00334570 40 80 00 14 */ bge lbl_80337644
/* 80337634 00334574 2C 00 00 00 */ cmpwi r0, 0
/* 80337638 00334578 41 82 00 18 */ beq lbl_80337650
/* 8033763C 0033457C 40 80 00 4C */ bge lbl_80337688
/* 80337640 00334580 48 00 01 30 */ b lbl_80337770
lbl_80337644:
/* 80337644 00334584 2C 00 00 04 */ cmpwi r0, 4
/* 80337648 00334588 40 80 01 28 */ bge lbl_80337770
/* 8033764C 0033458C 48 00 00 C4 */ b lbl_80337710
lbl_80337650:
/* 80337650 00334590 38 60 00 08 */ li r3, 8
/* 80337654 00334594 4B F9 75 F9 */ bl __nw
/* 80337658 00334598 28 03 00 00 */ cmplwi r3, 0
/* 8033765C 0033459C 41 82 00 24 */ beq lbl_80337680
/* 80337660 003345A0 A0 BE 00 00 */ lhz r5, 0(r30)
/* 80337664 003345A4 3C 80 80 3D */ lis r4, lbl_803CDC44@ha
/* 80337668 003345A8 38 04 DC 44 */ addi r0, r4, lbl_803CDC44@l
/* 8033766C 003345AC 90 03 00 00 */ stw r0, 0(r3)
/* 80337670 003345B0 B0 A3 00 04 */ sth r5, 4(r3)
/* 80337674 003345B4 3C 80 80 3D */ lis r4, lbl_803CDC1C@ha
/* 80337678 003345B8 38 04 DC 1C */ addi r0, r4, lbl_803CDC1C@l
/* 8033767C 003345BC 90 03 00 00 */ stw r0, 0(r3)
lbl_80337680:
/* 80337680 003345C0 7C 7F 1B 78 */ mr r31, r3
/* 80337684 003345C4 48 00 01 AC */ b lbl_80337830
lbl_80337688:
/* 80337688 003345C8 38 60 00 08 */ li r3, 8
/* 8033768C 003345CC 4B F9 75 C1 */ bl __nw
/* 80337690 003345D0 28 03 00 00 */ cmplwi r3, 0
/* 80337694 003345D4 41 82 00 30 */ beq lbl_803376C4
/* 80337698 003345D8 A0 BE 00 00 */ lhz r5, 0(r30)
/* 8033769C 003345DC 3C 80 80 3D */ lis r4, lbl_803CDC44@ha
/* 803376A0 003345E0 38 04 DC 44 */ addi r0, r4, lbl_803CDC44@l
/* 803376A4 003345E4 90 03 00 00 */ stw r0, 0(r3)
/* 803376A8 003345E8 B0 A3 00 04 */ sth r5, 4(r3)
/* 803376AC 003345EC 3C 80 80 3D */ lis r4, lbl_803CDC1C@ha
/* 803376B0 003345F0 38 04 DC 1C */ addi r0, r4, lbl_803CDC1C@l
/* 803376B4 003345F4 90 03 00 00 */ stw r0, 0(r3)
/* 803376B8 003345F8 3C 80 80 3D */ lis r4, lbl_803CDBAC@ha
/* 803376BC 003345FC 38 04 DB AC */ addi r0, r4, lbl_803CDBAC@l
/* 803376C0 00334600 90 03 00 00 */ stw r0, 0(r3)
lbl_803376C4:
/* 803376C4 00334604 7C 7F 1B 78 */ mr r31, r3
/* 803376C8 00334608 48 00 01 68 */ b lbl_80337830
lbl_803376CC:
/* 803376CC 0033460C 38 60 00 08 */ li r3, 8
/* 803376D0 00334610 4B F9 75 7D */ bl __nw
/* 803376D4 00334614 28 03 00 00 */ cmplwi r3, 0
/* 803376D8 00334618 41 82 00 30 */ beq lbl_80337708
/* 803376DC 0033461C A0 BE 00 00 */ lhz r5, 0(r30)
/* 803376E0 00334620 3C 80 80 3D */ lis r4, lbl_803CDC44@ha
/* 803376E4 00334624 38 04 DC 44 */ addi r0, r4, lbl_803CDC44@l
/* 803376E8 00334628 90 03 00 00 */ stw r0, 0(r3)
/* 803376EC 0033462C B0 A3 00 04 */ sth r5, 4(r3)
/* 803376F0 00334630 3C 80 80 3D */ lis r4, lbl_803CDC1C@ha
/* 803376F4 00334634 38 04 DC 1C */ addi r0, r4, lbl_803CDC1C@l
/* 803376F8 00334638 90 03 00 00 */ stw r0, 0(r3)
/* 803376FC 0033463C 3C 80 80 3D */ lis r4, lbl_803CDB84@ha
/* 80337700 00334640 38 04 DB 84 */ addi r0, r4, lbl_803CDB84@l
/* 80337704 00334644 90 03 00 00 */ stw r0, 0(r3)
lbl_80337708:
/* 80337708 00334648 7C 7F 1B 78 */ mr r31, r3
/* 8033770C 0033464C 48 00 01 24 */ b lbl_80337830
lbl_80337710:
/* 80337710 00334650 38 60 00 10 */ li r3, 0x10
/* 80337714 00334654 4B F9 75 39 */ bl __nw
/* 80337718 00334658 28 03 00 00 */ cmplwi r3, 0
/* 8033771C 0033465C 41 82 00 4C */ beq lbl_80337768
/* 80337720 00334660 80 9D 00 0C */ lwz r4, 0xc(r29)
/* 80337724 00334664 80 1E 00 04 */ lwz r0, 4(r30)
/* 80337728 00334668 54 00 08 3C */ slwi r0, r0, 1
/* 8033772C 0033466C 7C E4 02 14 */ add r7, r4, r0
/* 80337730 00334670 A0 DE 00 02 */ lhz r6, 2(r30)
/* 80337734 00334674 A0 BE 00 00 */ lhz r5, 0(r30)
/* 80337738 00334678 3C 80 80 3D */ lis r4, lbl_803CDC44@ha
/* 8033773C 0033467C 38 04 DC 44 */ addi r0, r4, lbl_803CDC44@l
/* 80337740 00334680 90 03 00 00 */ stw r0, 0(r3)
/* 80337744 00334684 B0 A3 00 04 */ sth r5, 4(r3)
/* 80337748 00334688 3C 80 80 3D */ lis r4, lbl_803CDC1C@ha
/* 8033774C 0033468C 38 04 DC 1C */ addi r0, r4, lbl_803CDC1C@l
/* 80337750 00334690 90 03 00 00 */ stw r0, 0(r3)
/* 80337754 00334694 3C 80 80 3D */ lis r4, lbl_803CDBD4@ha
/* 80337758 00334698 38 04 DB D4 */ addi r0, r4, lbl_803CDBD4@l
/* 8033775C 0033469C 90 03 00 00 */ stw r0, 0(r3)
/* 80337760 003346A0 B0 C3 00 08 */ sth r6, 8(r3)
/* 80337764 003346A4 90 E3 00 0C */ stw r7, 0xc(r3)
lbl_80337768:
/* 80337768 003346A8 7C 7F 1B 78 */ mr r31, r3
/* 8033776C 003346AC 48 00 00 C4 */ b lbl_80337830
lbl_80337770:
/* 80337770 003346B0 3C 60 80 3A */ lis r3, lbl_803A2100@ha
/* 80337774 003346B4 38 63 21 00 */ addi r3, r3, lbl_803A2100@l
/* 80337778 003346B8 4C C6 31 82 */ crclr 6
/* 8033777C 003346BC 4B CC F3 41 */ bl OSReport
/* 80337780 003346C0 48 00 00 B0 */ b lbl_80337830
lbl_80337784:
/* 80337784 003346C4 88 07 00 00 */ lbz r0, 0(r7)
/* 80337788 003346C8 2C 00 00 03 */ cmpwi r0, 3
/* 8033778C 003346CC 41 82 00 40 */ beq lbl_803377CC
/* 80337790 003346D0 40 80 00 90 */ bge lbl_80337820
/* 80337794 003346D4 2C 00 00 00 */ cmpwi r0, 0
/* 80337798 003346D8 40 80 00 08 */ bge lbl_803377A0
/* 8033779C 003346DC 48 00 00 84 */ b lbl_80337820
lbl_803377A0:
/* 803377A0 003346E0 38 60 00 08 */ li r3, 8
/* 803377A4 003346E4 4B F9 74 A9 */ bl __nw
/* 803377A8 003346E8 28 03 00 00 */ cmplwi r3, 0
/* 803377AC 003346EC 41 82 00 18 */ beq lbl_803377C4
/* 803377B0 003346F0 A0 BE 00 00 */ lhz r5, 0(r30)
/* 803377B4 003346F4 3C 80 80 3D */ lis r4, lbl_803CDC44@ha
/* 803377B8 003346F8 38 04 DC 44 */ addi r0, r4, lbl_803CDC44@l
/* 803377BC 003346FC 90 03 00 00 */ stw r0, 0(r3)
/* 803377C0 00334700 B0 A3 00 04 */ sth r5, 4(r3)
lbl_803377C4:
/* 803377C4 00334704 7C 7F 1B 78 */ mr r31, r3
/* 803377C8 00334708 48 00 00 68 */ b lbl_80337830
lbl_803377CC:
/* 803377CC 0033470C 38 60 00 10 */ li r3, 0x10
/* 803377D0 00334710 4B F9 74 7D */ bl __nw
/* 803377D4 00334714 28 03 00 00 */ cmplwi r3, 0
/* 803377D8 00334718 41 82 00 40 */ beq lbl_80337818
/* 803377DC 0033471C 80 9D 00 0C */ lwz r4, 0xc(r29)
/* 803377E0 00334720 80 1E 00 04 */ lwz r0, 4(r30)
/* 803377E4 00334724 54 00 08 3C */ slwi r0, r0, 1
/* 803377E8 00334728 7C E4 02 14 */ add r7, r4, r0
/* 803377EC 0033472C A0 DE 00 02 */ lhz r6, 2(r30)
/* 803377F0 00334730 A0 BE 00 00 */ lhz r5, 0(r30)
/* 803377F4 00334734 3C 80 80 3D */ lis r4, lbl_803CDC44@ha
/* 803377F8 00334738 38 04 DC 44 */ addi r0, r4, lbl_803CDC44@l
/* 803377FC 0033473C 90 03 00 00 */ stw r0, 0(r3)
/* 80337800 00334740 B0 A3 00 04 */ sth r5, 4(r3)
/* 80337804 00334744 3C 80 80 3D */ lis r4, lbl_803CDBFC@ha
/* 80337808 00334748 38 04 DB FC */ addi r0, r4, lbl_803CDBFC@l
/* 8033780C 0033474C 90 03 00 00 */ stw r0, 0(r3)
/* 80337810 00334750 B0 C3 00 08 */ sth r6, 8(r3)
/* 80337814 00334754 90 E3 00 0C */ stw r7, 0xc(r3)
lbl_80337818:
/* 80337818 00334758 7C 7F 1B 78 */ mr r31, r3
/* 8033781C 0033475C 48 00 00 14 */ b lbl_80337830
lbl_80337820:
/* 80337820 00334760 3C 60 80 3A */ lis r3, lbl_803A2100@ha
/* 80337824 00334764 38 63 21 00 */ addi r3, r3, lbl_803A2100@l
/* 80337828 00334768 4C C6 31 82 */ crclr 6
/* 8033782C 0033476C 4B CC F2 91 */ bl OSReport
lbl_80337830:
/* 80337830 00334770 7F E3 FB 78 */ mr r3, r31
/* 80337834 00334774 39 61 00 20 */ addi r11, r1, 0x20
/* 80337838 00334778 48 02 A9 F1 */ bl func_80362228
/* 8033783C 0033477C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80337840 00334780 7C 08 03 A6 */ mtlr r0
/* 80337844 00334784 38 21 00 20 */ addi r1, r1, 0x20
/* 80337848 00334788 4E 80 00 20 */ blr
.global J3DShapeFactory_NS_newShapeDraw
J3DShapeFactory_NS_newShapeDraw:
/* 8033784C 0033478C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80337850 00334790 7C 08 02 A6 */ mflr r0
/* 80337854 00334794 90 01 00 14 */ stw r0, 0x14(r1)
/* 80337858 00334798 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8033785C 0033479C 93 C1 00 08 */ stw r30, 8(r1)
/* 80337860 003347A0 7C 7E 1B 78 */ mr r30, r3
/* 80337864 003347A4 80 E3 00 18 */ lwz r7, 0x18(r3)
/* 80337868 003347A8 80 C3 00 00 */ lwz r6, 0(r3)
/* 8033786C 003347AC 80 63 00 04 */ lwz r3, 4(r3)
/* 80337870 003347B0 54 80 08 3C */ slwi r0, r4, 1
/* 80337874 003347B4 7C 03 02 2E */ lhzx r0, r3, r0
/* 80337878 003347B8 1C 60 00 28 */ mulli r3, r0, 0x28
/* 8033787C 003347BC 38 03 00 08 */ addi r0, r3, 8
/* 80337880 003347C0 7C 06 02 2E */ lhzx r0, r6, r0
/* 80337884 003347C4 54 03 18 38 */ slwi r3, r0, 3
/* 80337888 003347C8 54 A0 18 38 */ slwi r0, r5, 3
/* 8033788C 003347CC 7F E3 02 14 */ add r31, r3, r0
/* 80337890 003347D0 7F E7 FA 14 */ add r31, r7, r31
/* 80337894 003347D4 38 60 00 0C */ li r3, 0xc
/* 80337898 003347D8 4B F9 73 B5 */ bl __nw
/* 8033789C 003347DC 7C 60 1B 79 */ or. r0, r3, r3
/* 803378A0 003347E0 41 82 00 1C */ beq lbl_803378BC
/* 803378A4 003347E4 80 9E 00 10 */ lwz r4, 0x10(r30)
/* 803378A8 003347E8 80 1F 00 04 */ lwz r0, 4(r31)
/* 803378AC 003347EC 7C 84 02 14 */ add r4, r4, r0
/* 803378B0 003347F0 80 BF 00 00 */ lwz r5, 0(r31)
/* 803378B4 003347F4 4B FD D2 09 */ bl J3DShapeDraw
/* 803378B8 003347F8 7C 60 1B 78 */ mr r0, r3
lbl_803378BC:
/* 803378BC 003347FC 7C 03 03 78 */ mr r3, r0
/* 803378C0 00334800 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 803378C4 00334804 83 C1 00 08 */ lwz r30, 8(r1)
/* 803378C8 00334808 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803378CC 0033480C 7C 08 03 A6 */ mtlr r0
/* 803378D0 00334810 38 21 00 10 */ addi r1, r1, 0x10
/* 803378D4 00334814 4E 80 00 20 */ blr
.global J3DShapeFactory_NS_allocVcdVatCmdBuffer
J3DShapeFactory_NS_allocVcdVatCmdBuffer:
/* 803378D8 00334818 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 803378DC 0033481C 7C 08 02 A6 */ mflr r0
/* 803378E0 00334820 90 01 00 14 */ stw r0, 0x14(r1)
/* 803378E4 00334824 93 E1 00 0C */ stw r31, 0xc(r1)
/* 803378E8 00334828 93 C1 00 08 */ stw r30, 8(r1)
/* 803378EC 0033482C 7C 7E 1B 78 */ mr r30, r3
/* 803378F0 00334830 1F E4 00 C0 */ mulli r31, r4, 0xc0
/* 803378F4 00334834 7F E3 FB 78 */ mr r3, r31
/* 803378F8 00334838 38 80 00 20 */ li r4, 0x20
/* 803378FC 0033483C 4B F9 73 F1 */ bl __nwa_X1_
/* 80337900 00334840 90 7E 00 1C */ stw r3, 0x1c(r30)
/* 80337904 00334844 38 60 00 00 */ li r3, 0
/* 80337908 00334848 57 E4 F0 BE */ srwi r4, r31, 2
/* 8033790C 0033484C 7C 60 1B 78 */ mr r0, r3
/* 80337910 00334850 7C 89 03 A6 */ mtctr r4
/* 80337914 00334854 28 04 00 00 */ cmplwi r4, 0
/* 80337918 00334858 40 81 00 14 */ ble lbl_8033792C
lbl_8033791C:
/* 8033791C 0033485C 80 9E 00 1C */ lwz r4, 0x1c(r30)
/* 80337920 00334860 7C 04 19 2E */ stwx r0, r4, r3
/* 80337924 00334864 38 63 00 04 */ addi r3, r3, 4
/* 80337928 00334868 42 00 FF F4 */ bdnz lbl_8033791C
lbl_8033792C:
/* 8033792C 0033486C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80337930 00334870 83 C1 00 08 */ lwz r30, 8(r1)
/* 80337934 00334874 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80337938 00334878 7C 08 03 A6 */ mtlr r0
/* 8033793C 0033487C 38 21 00 10 */ addi r1, r1, 0x10
/* 80337940 00334880 4E 80 00 20 */ blr
.global J3DShapeFactory_NS_calcSize
J3DShapeFactory_NS_calcSize:
/* 80337944 00334884 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80337948 00334888 7C 08 02 A6 */ mflr r0
/* 8033794C 0033488C 90 01 00 24 */ stw r0, 0x24(r1)
/* 80337950 00334890 39 61 00 20 */ addi r11, r1, 0x20
/* 80337954 00334894 48 02 A8 7D */ bl func_803621D0
/* 80337958 00334898 7C 7A 1B 78 */ mr r26, r3
/* 8033795C 0033489C 7C 9B 23 78 */ mr r27, r4
/* 80337960 003348A0 7C BC 2B 78 */ mr r28, r5
/* 80337964 003348A4 80 83 00 00 */ lwz r4, 0(r3)
/* 80337968 003348A8 80 63 00 04 */ lwz r3, 4(r3)
/* 8033796C 003348AC 57 60 08 3C */ slwi r0, r27, 1
/* 80337970 003348B0 7C 03 02 2E */ lhzx r0, r3, r0
/* 80337974 003348B4 1C 00 00 28 */ mulli r0, r0, 0x28
/* 80337978 003348B8 7C 64 02 14 */ add r3, r4, r0
/* 8033797C 003348BC A3 C3 00 02 */ lhz r30, 2(r3)
/* 80337980 003348C0 57 C3 10 3A */ slwi r3, r30, 2
/* 80337984 003348C4 3B E3 00 68 */ addi r31, r3, 0x68
/* 80337988 003348C8 7F FF 1A 14 */ add r31, r31, r3
/* 8033798C 003348CC 3B A0 00 00 */ li r29, 0
/* 80337990 003348D0 48 00 00 24 */ b lbl_803379B4
lbl_80337994:
/* 80337994 003348D4 7F 43 D3 78 */ mr r3, r26
/* 80337998 003348D8 7F 84 E3 78 */ mr r4, r28
/* 8033799C 003348DC 7F 65 DB 78 */ mr r5, r27
/* 803379A0 003348E0 7F A6 EB 78 */ mr r6, r29
/* 803379A4 003348E4 48 00 00 45 */ bl J3DShapeFactory_NS_calcSizeShapeMtx
/* 803379A8 003348E8 7F FF 1A 14 */ add r31, r31, r3
/* 803379AC 003348EC 3B FF 00 0C */ addi r31, r31, 0xc
/* 803379B0 003348F0 3B BD 00 01 */ addi r29, r29, 1
lbl_803379B4:
/* 803379B4 003348F4 7C 1D F0 40 */ cmplw r29, r30
/* 803379B8 003348F8 41 80 FF DC */ blt lbl_80337994
/* 803379BC 003348FC 7F E3 FB 78 */ mr r3, r31
/* 803379C0 00334900 39 61 00 20 */ addi r11, r1, 0x20
/* 803379C4 00334904 48 02 A8 59 */ bl func_8036221C
/* 803379C8 00334908 80 01 00 24 */ lwz r0, 0x24(r1)
/* 803379CC 0033490C 7C 08 03 A6 */ mtlr r0
/* 803379D0 00334910 38 21 00 20 */ addi r1, r1, 0x20
/* 803379D4 00334914 4E 80 00 20 */ blr
.global J3DShapeFactory_NS_calcSizeVcdVatCmdBuffer
J3DShapeFactory_NS_calcSizeVcdVatCmdBuffer:
/* 803379D8 00334918 1C 64 00 C0 */ mulli r3, r4, 0xc0
/* 803379DC 0033491C 38 03 00 1F */ addi r0, r3, 0x1f
/* 803379E0 00334920 54 03 00 34 */ rlwinm r3, r0, 0, 0, 0x1a
/* 803379E4 00334924 4E 80 00 20 */ blr
.global J3DShapeFactory_NS_calcSizeShapeMtx
J3DShapeFactory_NS_calcSizeShapeMtx:
/* 803379E8 00334928 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 803379EC 0033492C 7C 08 02 A6 */ mflr r0
/* 803379F0 00334930 90 01 00 14 */ stw r0, 0x14(r1)
/* 803379F4 00334934 93 E1 00 0C */ stw r31, 0xc(r1)
/* 803379F8 00334938 80 C3 00 00 */ lwz r6, 0(r3)
/* 803379FC 0033493C 80 63 00 04 */ lwz r3, 4(r3)
/* 80337A00 00334940 54 A0 08 3C */ slwi r0, r5, 1
/* 80337A04 00334944 7C 03 02 2E */ lhzx r0, r3, r0
/* 80337A08 00334948 1C 00 00 28 */ mulli r0, r0, 0x28
/* 80337A0C 0033494C 3B E0 00 00 */ li r31, 0
/* 80337A10 00334950 54 83 06 F6 */ rlwinm r3, r4, 0, 0x1b, 0x1b
/* 80337A14 00334954 2C 03 00 10 */ cmpwi r3, 0x10
/* 80337A18 00334958 41 82 00 14 */ beq lbl_80337A2C
/* 80337A1C 0033495C 40 80 00 70 */ bge lbl_80337A8C
/* 80337A20 00334960 2C 03 00 00 */ cmpwi r3, 0
/* 80337A24 00334964 41 82 00 68 */ beq lbl_80337A8C
/* 80337A28 00334968 48 00 00 64 */ b lbl_80337A8C
lbl_80337A2C:
/* 80337A2C 0033496C 7C 06 00 AE */ lbzx r0, r6, r0
/* 80337A30 00334970 2C 00 00 02 */ cmpwi r0, 2
/* 80337A34 00334974 41 82 00 34 */ beq lbl_80337A68
/* 80337A38 00334978 40 80 00 14 */ bge lbl_80337A4C
/* 80337A3C 0033497C 2C 00 00 00 */ cmpwi r0, 0
/* 80337A40 00334980 41 82 00 18 */ beq lbl_80337A58
/* 80337A44 00334984 40 80 00 1C */ bge lbl_80337A60
/* 80337A48 00334988 48 00 00 30 */ b lbl_80337A78
lbl_80337A4C:
/* 80337A4C 0033498C 2C 00 00 04 */ cmpwi r0, 4
/* 80337A50 00334990 40 80 00 28 */ bge lbl_80337A78
/* 80337A54 00334994 48 00 00 1C */ b lbl_80337A70
lbl_80337A58:
/* 80337A58 00334998 3B E0 00 08 */ li r31, 8
/* 80337A5C 0033499C 48 00 00 6C */ b lbl_80337AC8
lbl_80337A60:
/* 80337A60 003349A0 3B E0 00 08 */ li r31, 8
/* 80337A64 003349A4 48 00 00 64 */ b lbl_80337AC8
lbl_80337A68:
/* 80337A68 003349A8 3B E0 00 08 */ li r31, 8
/* 80337A6C 003349AC 48 00 00 5C */ b lbl_80337AC8
lbl_80337A70:
/* 80337A70 003349B0 3B E0 00 10 */ li r31, 0x10
/* 80337A74 003349B4 48 00 00 54 */ b lbl_80337AC8
lbl_80337A78:
/* 80337A78 003349B8 3C 60 80 3A */ lis r3, lbl_803A2100@ha
/* 80337A7C 003349BC 38 63 21 00 */ addi r3, r3, lbl_803A2100@l
/* 80337A80 003349C0 4C C6 31 82 */ crclr 6
/* 80337A84 003349C4 4B CC F0 39 */ bl OSReport
/* 80337A88 003349C8 48 00 00 40 */ b lbl_80337AC8
lbl_80337A8C:
/* 80337A8C 003349CC 7C 06 00 AE */ lbzx r0, r6, r0
/* 80337A90 003349D0 2C 00 00 03 */ cmpwi r0, 3
/* 80337A94 003349D4 41 82 00 1C */ beq lbl_80337AB0
/* 80337A98 003349D8 40 80 00 20 */ bge lbl_80337AB8
/* 80337A9C 003349DC 2C 00 00 00 */ cmpwi r0, 0
/* 80337AA0 003349E0 40 80 00 08 */ bge lbl_80337AA8
/* 80337AA4 003349E4 48 00 00 14 */ b lbl_80337AB8
lbl_80337AA8:
/* 80337AA8 003349E8 3B E0 00 08 */ li r31, 8
/* 80337AAC 003349EC 48 00 00 1C */ b lbl_80337AC8
lbl_80337AB0:
/* 80337AB0 003349F0 3B E0 00 10 */ li r31, 0x10
/* 80337AB4 003349F4 48 00 00 14 */ b lbl_80337AC8
lbl_80337AB8:
/* 80337AB8 003349F8 3C 60 80 3A */ lis r3, lbl_803A2100@ha
/* 80337ABC 003349FC 38 63 21 00 */ addi r3, r3, lbl_803A2100@l
/* 80337AC0 00334A00 4C C6 31 82 */ crclr 6
/* 80337AC4 00334A04 4B CC EF F9 */ bl OSReport
lbl_80337AC8:
/* 80337AC8 00334A08 7F E3 FB 78 */ mr r3, r31
/* 80337ACC 00334A0C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80337AD0 00334A10 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80337AD4 00334A14 7C 08 03 A6 */ mtlr r0
/* 80337AD8 00334A18 38 21 00 10 */ addi r1, r1, 0x10
/* 80337ADC 00334A1C 4E 80 00 20 */ blr
.global JSUConvertOffsetToPtr_X74_
JSUConvertOffsetToPtr_X74_:
/* 80337AE0 00334A20 28 04 00 00 */ cmplwi r4, 0
/* 80337AE4 00334A24 40 82 00 0C */ bne lbl_80337AF0
/* 80337AE8 00334A28 38 60 00 00 */ li r3, 0
/* 80337AEC 00334A2C 4E 80 00 20 */ blr
lbl_80337AF0:
/* 80337AF0 00334A30 7C 63 22 14 */ add r3, r3, r4
/* 80337AF4 00334A34 4E 80 00 20 */ blr
.global JSUConvertOffsetToPtr_X75_
JSUConvertOffsetToPtr_X75_:
/* 80337AF8 00334A38 28 04 00 00 */ cmplwi r4, 0
/* 80337AFC 00334A3C 40 82 00 0C */ bne lbl_80337B08
/* 80337B00 00334A40 38 60 00 00 */ li r3, 0
/* 80337B04 00334A44 4E 80 00 20 */ blr
lbl_80337B08:
/* 80337B08 00334A48 7C 63 22 14 */ add r3, r3, r4
/* 80337B0C 00334A4C 4E 80 00 20 */ blr
.global JSUConvertOffsetToPtr_X76_
JSUConvertOffsetToPtr_X76_:
/* 80337B10 00334A50 28 04 00 00 */ cmplwi r4, 0
/* 80337B14 00334A54 40 82 00 0C */ bne lbl_80337B20
/* 80337B18 00334A58 38 60 00 00 */ li r3, 0
/* 80337B1C 00334A5C 4E 80 00 20 */ blr
lbl_80337B20:
/* 80337B20 00334A60 7C 63 22 14 */ add r3, r3, r4
/* 80337B24 00334A64 4E 80 00 20 */ blr
.global JSUConvertOffsetToPtr_X77_
JSUConvertOffsetToPtr_X77_:
/* 80337B28 00334A68 28 04 00 00 */ cmplwi r4, 0
/* 80337B2C 00334A6C 40 82 00 0C */ bne lbl_80337B38
/* 80337B30 00334A70 38 60 00 00 */ li r3, 0
/* 80337B34 00334A74 4E 80 00 20 */ blr
lbl_80337B38:
/* 80337B38 00334A78 7C 63 22 14 */ add r3, r3, r4
/* 80337B3C 00334A7C 4E 80 00 20 */ blr

457
asm/J3DU/J3DUClipper.s Normal file
View File

@ -0,0 +1,457 @@
.include "macros.inc"
.section .text, "ax" # 80273778
.global J3DUClipper_NS_init
J3DUClipper_NS_init:
/* 80273778 002706B8 C0 02 B8 78 */ lfs f0, lbl_80455278-_SDA2_BASE_(r2)
/* 8027377C 002706BC D0 03 00 54 */ stfs f0, 0x54(r3)
/* 80273780 002706C0 C0 02 B8 7C */ lfs f0, lbl_8045527C-_SDA2_BASE_(r2)
/* 80273784 002706C4 D0 03 00 58 */ stfs f0, 0x58(r3)
/* 80273788 002706C8 4E 80 00 20 */ blr
.global J3DUClipper_NS_calcViewFrustum
J3DUClipper_NS_calcViewFrustum:
/* 8027378C 002706CC 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 80273790 002706D0 7C 08 02 A6 */ mflr r0
/* 80273794 002706D4 90 01 00 44 */ stw r0, 0x44(r1)
/* 80273798 002706D8 93 E1 00 3C */ stw r31, 0x3c(r1)
/* 8027379C 002706DC 93 C1 00 38 */ stw r30, 0x38(r1)
/* 802737A0 002706E0 7C 7E 1B 78 */ mr r30, r3
/* 802737A4 002706E4 3C 60 80 3A */ lis r3, lbl_8039A948@ha
/* 802737A8 002706E8 3B E3 A9 48 */ addi r31, r3, lbl_8039A948@l
/* 802737AC 002706EC C0 42 B8 80 */ lfs f2, lbl_80455280-_SDA2_BASE_(r2)
/* 802737B0 002706F0 C0 22 B8 84 */ lfs f1, lbl_80455284-_SDA2_BASE_(r2)
/* 802737B4 002706F4 C0 1E 00 4C */ lfs f0, 0x4c(r30)
/* 802737B8 002706F8 EC 01 00 32 */ fmuls f0, f1, f0
/* 802737BC 002706FC EC 22 00 32 */ fmuls f1, f2, f0
/* 802737C0 00270700 48 0F 8E A9 */ bl func_8036C668
/* 802737C4 00270704 FC 00 08 18 */ frsp f0, f1
/* 802737C8 00270708 C0 3E 00 54 */ lfs f1, 0x54(r30)
/* 802737CC 0027070C EC 81 00 32 */ fmuls f4, f1, f0
/* 802737D0 00270710 C0 1E 00 50 */ lfs f0, 0x50(r30)
/* 802737D4 00270714 EC A0 01 32 */ fmuls f5, f0, f4
/* 802737D8 00270718 80 7F 00 0C */ lwz r3, 0xc(r31)
/* 802737DC 0027071C 80 1F 00 10 */ lwz r0, 0x10(r31)
/* 802737E0 00270720 90 61 00 2C */ stw r3, 0x2c(r1)
/* 802737E4 00270724 90 01 00 30 */ stw r0, 0x30(r1)
/* 802737E8 00270728 80 1F 00 14 */ lwz r0, 0x14(r31)
/* 802737EC 0027072C 90 01 00 34 */ stw r0, 0x34(r1)
/* 802737F0 00270730 FC 40 28 50 */ fneg f2, f5
/* 802737F4 00270734 D0 41 00 2C */ stfs f2, 0x2c(r1)
/* 802737F8 00270738 FC 60 20 50 */ fneg f3, f4
/* 802737FC 0027073C D0 61 00 30 */ stfs f3, 0x30(r1)
/* 80273800 00270740 FC 00 08 50 */ fneg f0, f1
/* 80273804 00270744 D0 01 00 34 */ stfs f0, 0x34(r1)
/* 80273808 00270748 80 7F 00 18 */ lwz r3, 0x18(r31)
/* 8027380C 0027074C 80 1F 00 1C */ lwz r0, 0x1c(r31)
/* 80273810 00270750 90 61 00 20 */ stw r3, 0x20(r1)
/* 80273814 00270754 90 01 00 24 */ stw r0, 0x24(r1)
/* 80273818 00270758 80 1F 00 20 */ lwz r0, 0x20(r31)
/* 8027381C 0027075C 90 01 00 28 */ stw r0, 0x28(r1)
/* 80273820 00270760 D0 41 00 20 */ stfs f2, 0x20(r1)
/* 80273824 00270764 D0 81 00 24 */ stfs f4, 0x24(r1)
/* 80273828 00270768 D0 01 00 28 */ stfs f0, 0x28(r1)
/* 8027382C 0027076C 80 7F 00 24 */ lwz r3, 0x24(r31)
/* 80273830 00270770 80 1F 00 28 */ lwz r0, 0x28(r31)
/* 80273834 00270774 90 61 00 14 */ stw r3, 0x14(r1)
/* 80273838 00270778 90 01 00 18 */ stw r0, 0x18(r1)
/* 8027383C 0027077C 80 1F 00 2C */ lwz r0, 0x2c(r31)
/* 80273840 00270780 90 01 00 1C */ stw r0, 0x1c(r1)
/* 80273844 00270784 D0 A1 00 14 */ stfs f5, 0x14(r1)
/* 80273848 00270788 D0 81 00 18 */ stfs f4, 0x18(r1)
/* 8027384C 0027078C D0 01 00 1C */ stfs f0, 0x1c(r1)
/* 80273850 00270790 80 7F 00 30 */ lwz r3, 0x30(r31)
/* 80273854 00270794 80 1F 00 34 */ lwz r0, 0x34(r31)
/* 80273858 00270798 90 61 00 08 */ stw r3, 8(r1)
/* 8027385C 0027079C 90 01 00 0C */ stw r0, 0xc(r1)
/* 80273860 002707A0 80 1F 00 38 */ lwz r0, 0x38(r31)
/* 80273864 002707A4 90 01 00 10 */ stw r0, 0x10(r1)
/* 80273868 002707A8 D0 A1 00 08 */ stfs f5, 8(r1)
/* 8027386C 002707AC D0 61 00 0C */ stfs f3, 0xc(r1)
/* 80273870 002707B0 D0 01 00 10 */ stfs f0, 0x10(r1)
/* 80273874 002707B4 38 61 00 20 */ addi r3, r1, 0x20
/* 80273878 002707B8 38 81 00 2C */ addi r4, r1, 0x2c
/* 8027387C 002707BC 38 BE 00 04 */ addi r5, r30, 4
/* 80273880 002707C0 48 0D 39 35 */ bl PSVECCrossProduct
/* 80273884 002707C4 38 61 00 14 */ addi r3, r1, 0x14
/* 80273888 002707C8 38 81 00 20 */ addi r4, r1, 0x20
/* 8027388C 002707CC 38 BE 00 10 */ addi r5, r30, 0x10
/* 80273890 002707D0 48 0D 39 25 */ bl PSVECCrossProduct
/* 80273894 002707D4 38 61 00 08 */ addi r3, r1, 8
/* 80273898 002707D8 38 81 00 14 */ addi r4, r1, 0x14
/* 8027389C 002707DC 38 BE 00 1C */ addi r5, r30, 0x1c
/* 802738A0 002707E0 48 0D 39 15 */ bl PSVECCrossProduct
/* 802738A4 002707E4 38 61 00 2C */ addi r3, r1, 0x2c
/* 802738A8 002707E8 38 81 00 08 */ addi r4, r1, 8
/* 802738AC 002707EC 38 BE 00 28 */ addi r5, r30, 0x28
/* 802738B0 002707F0 48 0D 39 05 */ bl PSVECCrossProduct
/* 802738B4 002707F4 38 7E 00 04 */ addi r3, r30, 4
/* 802738B8 002707F8 7C 64 1B 78 */ mr r4, r3
/* 802738BC 002707FC 48 0D 38 39 */ bl PSVECNormalize
/* 802738C0 00270800 38 7E 00 10 */ addi r3, r30, 0x10
/* 802738C4 00270804 7C 64 1B 78 */ mr r4, r3
/* 802738C8 00270808 48 0D 38 2D */ bl PSVECNormalize
/* 802738CC 0027080C 38 7E 00 1C */ addi r3, r30, 0x1c
/* 802738D0 00270810 7C 64 1B 78 */ mr r4, r3
/* 802738D4 00270814 48 0D 38 21 */ bl PSVECNormalize
/* 802738D8 00270818 38 7E 00 28 */ addi r3, r30, 0x28
/* 802738DC 0027081C 7C 64 1B 78 */ mr r4, r3
/* 802738E0 00270820 48 0D 38 15 */ bl PSVECNormalize
/* 802738E4 00270824 83 E1 00 3C */ lwz r31, 0x3c(r1)
/* 802738E8 00270828 83 C1 00 38 */ lwz r30, 0x38(r1)
/* 802738EC 0027082C 80 01 00 44 */ lwz r0, 0x44(r1)
/* 802738F0 00270830 7C 08 03 A6 */ mtlr r0
/* 802738F4 00270834 38 21 00 40 */ addi r1, r1, 0x40
/* 802738F8 00270838 4E 80 00 20 */ blr
.global J3DUClipper_NS_clip
J3DUClipper_NS_clip:
/* 802738FC 0027083C 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 80273900 00270840 7C 08 02 A6 */ mflr r0
/* 80273904 00270844 90 01 00 34 */ stw r0, 0x34(r1)
/* 80273908 00270848 DB E1 00 20 */ stfd f31, 0x20(r1)
/* 8027390C 0027084C F3 E1 00 28 */ psq_st f31, 40(r1), 0, qr0
/* 80273910 00270850 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80273914 00270854 7C 7F 1B 78 */ mr r31, r3
/* 80273918 00270858 FF E0 08 90 */ fmr f31, f1
/* 8027391C 0027085C 7C 83 23 78 */ mr r3, r4
/* 80273920 00270860 7C A4 2B 78 */ mr r4, r5
/* 80273924 00270864 38 A1 00 08 */ addi r5, r1, 8
/* 80273928 00270868 48 0D 34 45 */ bl PSMTXMultVec
/* 8027392C 0027086C C0 61 00 10 */ lfs f3, 0x10(r1)
/* 80273930 00270870 FC 20 18 50 */ fneg f1, f3
/* 80273934 00270874 C0 1F 00 54 */ lfs f0, 0x54(r31)
/* 80273938 00270878 EC 00 F8 28 */ fsubs f0, f0, f31
/* 8027393C 0027087C FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80273940 00270880 40 80 00 0C */ bge lbl_8027394C
/* 80273944 00270884 38 60 00 01 */ li r3, 1
/* 80273948 00270888 48 00 00 E0 */ b lbl_80273A28
lbl_8027394C:
/* 8027394C 0027088C C0 1F 00 58 */ lfs f0, 0x58(r31)
/* 80273950 00270890 EC 00 F8 2A */ fadds f0, f0, f31
/* 80273954 00270894 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80273958 00270898 40 81 00 0C */ ble lbl_80273964
/* 8027395C 0027089C 38 60 00 01 */ li r3, 1
/* 80273960 002708A0 48 00 00 C8 */ b lbl_80273A28
lbl_80273964:
/* 80273964 002708A4 C0 1F 00 0C */ lfs f0, 0xc(r31)
/* 80273968 002708A8 EC 43 00 32 */ fmuls f2, f3, f0
/* 8027396C 002708AC C0 A1 00 08 */ lfs f5, 8(r1)
/* 80273970 002708B0 C0 1F 00 04 */ lfs f0, 4(r31)
/* 80273974 002708B4 EC 25 00 32 */ fmuls f1, f5, f0
/* 80273978 002708B8 C0 81 00 0C */ lfs f4, 0xc(r1)
/* 8027397C 002708BC C0 1F 00 08 */ lfs f0, 8(r31)
/* 80273980 002708C0 EC 04 00 32 */ fmuls f0, f4, f0
/* 80273984 002708C4 EC 01 00 2A */ fadds f0, f1, f0
/* 80273988 002708C8 EC 02 00 2A */ fadds f0, f2, f0
/* 8027398C 002708CC FC 00 F8 40 */ fcmpo cr0, f0, f31
/* 80273990 002708D0 40 81 00 0C */ ble lbl_8027399C
/* 80273994 002708D4 38 60 00 01 */ li r3, 1
/* 80273998 002708D8 48 00 00 90 */ b lbl_80273A28
lbl_8027399C:
/* 8027399C 002708DC C0 1F 00 18 */ lfs f0, 0x18(r31)
/* 802739A0 002708E0 EC 43 00 32 */ fmuls f2, f3, f0
/* 802739A4 002708E4 C0 1F 00 10 */ lfs f0, 0x10(r31)
/* 802739A8 002708E8 EC 25 00 32 */ fmuls f1, f5, f0
/* 802739AC 002708EC C0 1F 00 14 */ lfs f0, 0x14(r31)
/* 802739B0 002708F0 EC 04 00 32 */ fmuls f0, f4, f0
/* 802739B4 002708F4 EC 01 00 2A */ fadds f0, f1, f0
/* 802739B8 002708F8 EC 02 00 2A */ fadds f0, f2, f0
/* 802739BC 002708FC FC 00 F8 40 */ fcmpo cr0, f0, f31
/* 802739C0 00270900 40 81 00 0C */ ble lbl_802739CC
/* 802739C4 00270904 38 60 00 01 */ li r3, 1
/* 802739C8 00270908 48 00 00 60 */ b lbl_80273A28
lbl_802739CC:
/* 802739CC 0027090C C0 1F 00 24 */ lfs f0, 0x24(r31)
/* 802739D0 00270910 EC 43 00 32 */ fmuls f2, f3, f0
/* 802739D4 00270914 C0 1F 00 1C */ lfs f0, 0x1c(r31)
/* 802739D8 00270918 EC 25 00 32 */ fmuls f1, f5, f0
/* 802739DC 0027091C C0 1F 00 20 */ lfs f0, 0x20(r31)
/* 802739E0 00270920 EC 04 00 32 */ fmuls f0, f4, f0
/* 802739E4 00270924 EC 01 00 2A */ fadds f0, f1, f0
/* 802739E8 00270928 EC 02 00 2A */ fadds f0, f2, f0
/* 802739EC 0027092C FC 00 F8 40 */ fcmpo cr0, f0, f31
/* 802739F0 00270930 40 81 00 0C */ ble lbl_802739FC
/* 802739F4 00270934 38 60 00 01 */ li r3, 1
/* 802739F8 00270938 48 00 00 30 */ b lbl_80273A28
lbl_802739FC:
/* 802739FC 0027093C C0 1F 00 30 */ lfs f0, 0x30(r31)
/* 80273A00 00270940 EC 43 00 32 */ fmuls f2, f3, f0
/* 80273A04 00270944 C0 1F 00 28 */ lfs f0, 0x28(r31)
/* 80273A08 00270948 EC 25 00 32 */ fmuls f1, f5, f0
/* 80273A0C 0027094C C0 1F 00 2C */ lfs f0, 0x2c(r31)
/* 80273A10 00270950 EC 04 00 32 */ fmuls f0, f4, f0
/* 80273A14 00270954 EC 01 00 2A */ fadds f0, f1, f0
/* 80273A18 00270958 EC 02 00 2A */ fadds f0, f2, f0
/* 80273A1C 0027095C FC 00 F8 40 */ fcmpo cr0, f0, f31
/* 80273A20 00270960 7C 00 00 26 */ mfcr r0
/* 80273A24 00270964 54 03 17 FE */ rlwinm r3, r0, 2, 0x1f, 0x1f
lbl_80273A28:
/* 80273A28 00270968 E3 E1 00 28 */ psq_l f31, 40(r1), 0, qr0
/* 80273A2C 0027096C CB E1 00 20 */ lfd f31, 0x20(r1)
/* 80273A30 00270970 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80273A34 00270974 80 01 00 34 */ lwz r0, 0x34(r1)
/* 80273A38 00270978 7C 08 03 A6 */ mtlr r0
/* 80273A3C 0027097C 38 21 00 30 */ addi r1, r1, 0x30
/* 80273A40 00270980 4E 80 00 20 */ blr
.global J3DUClipper_NS_clip_X1_
J3DUClipper_NS_clip_X1_:
/* 80273A44 00270984 94 21 FE 70 */ stwu r1, -0x190(r1)
/* 80273A48 00270988 7C 08 02 A6 */ mflr r0
/* 80273A4C 0027098C 90 01 01 94 */ stw r0, 0x194(r1)
/* 80273A50 00270990 DB E1 01 80 */ stfd f31, 0x180(r1)
/* 80273A54 00270994 F3 E1 01 88 */ psq_st f31, 392(r1), 0, qr0
/* 80273A58 00270998 DB C1 01 70 */ stfd f30, 0x170(r1)
/* 80273A5C 0027099C F3 C1 01 78 */ psq_st f30, 376(r1), 0, qr0
/* 80273A60 002709A0 DB A1 01 60 */ stfd f29, 0x160(r1)
/* 80273A64 002709A4 F3 A1 01 68 */ psq_st f29, 360(r1), 0, qr0
/* 80273A68 002709A8 DB 81 01 50 */ stfd f28, 0x150(r1)
/* 80273A6C 002709AC F3 81 01 58 */ psq_st f28, 344(r1), 0, qr0
/* 80273A70 002709B0 DB 61 01 40 */ stfd f27, 0x140(r1)
/* 80273A74 002709B4 F3 61 01 48 */ psq_st f27, 328(r1), 0, qr0
/* 80273A78 002709B8 DB 41 01 30 */ stfd f26, 0x130(r1)
/* 80273A7C 002709BC F3 41 01 38 */ psq_st f26, 312(r1), 0, qr0
/* 80273A80 002709C0 DB 21 01 20 */ stfd f25, 0x120(r1)
/* 80273A84 002709C4 F3 21 01 28 */ psq_st f25, 296(r1), 0, qr0
/* 80273A88 002709C8 DB 01 01 10 */ stfd f24, 0x110(r1)
/* 80273A8C 002709CC F3 01 01 18 */ psq_st f24, 280(r1), 0, qr0
/* 80273A90 002709D0 DA E1 01 00 */ stfd f23, 0x100(r1)
/* 80273A94 002709D4 F2 E1 01 08 */ psq_st f23, 264(r1), 0, qr0
/* 80273A98 002709D8 DA C1 00 F0 */ stfd f22, 0xf0(r1)
/* 80273A9C 002709DC F2 C1 00 F8 */ psq_st f22, 248(r1), 0, qr0
/* 80273AA0 002709E0 DA A1 00 E0 */ stfd f21, 0xe0(r1)
/* 80273AA4 002709E4 F2 A1 00 E8 */ psq_st f21, 232(r1), 0, qr0
/* 80273AA8 002709E8 DA 81 00 D0 */ stfd f20, 0xd0(r1)
/* 80273AAC 002709EC F2 81 00 D8 */ psq_st f20, 216(r1), 0, qr0
/* 80273AB0 002709F0 DA 61 00 C0 */ stfd f19, 0xc0(r1)
/* 80273AB4 002709F4 F2 61 00 C8 */ psq_st f19, 200(r1), 0, qr0
/* 80273AB8 002709F8 DA 41 00 B0 */ stfd f18, 0xb0(r1)
/* 80273ABC 002709FC F2 41 00 B8 */ psq_st f18, 184(r1), 0, qr0
/* 80273AC0 00270A00 DA 21 00 A0 */ stfd f17, 0xa0(r1)
/* 80273AC4 00270A04 F2 21 00 A8 */ psq_st f17, 168(r1), 0, qr0
/* 80273AC8 00270A08 39 61 00 A0 */ addi r11, r1, 0xa0
/* 80273ACC 00270A0C 48 0E E7 11 */ bl func_803621DC
/* 80273AD0 00270A10 7C 9F 23 78 */ mr r31, r4
/* 80273AD4 00270A14 38 80 00 00 */ li r4, 0
/* 80273AD8 00270A18 7C 88 23 78 */ mr r8, r4
/* 80273ADC 00270A1C 38 E1 00 14 */ addi r7, r1, 0x14
/* 80273AE0 00270A20 38 00 00 06 */ li r0, 6
/* 80273AE4 00270A24 7C 09 03 A6 */ mtctr r0
lbl_80273AE8:
/* 80273AE8 00270A28 7D 07 21 2E */ stwx r8, r7, r4
/* 80273AEC 00270A2C 38 84 00 04 */ addi r4, r4, 4
/* 80273AF0 00270A30 42 00 FF F8 */ bdnz lbl_80273AE8
/* 80273AF4 00270A34 C0 86 00 00 */ lfs f4, 0(r6)
/* 80273AF8 00270A38 D0 81 00 2C */ stfs f4, 0x2c(r1)
/* 80273AFC 00270A3C C0 06 00 04 */ lfs f0, 4(r6)
/* 80273B00 00270A40 D0 01 00 30 */ stfs f0, 0x30(r1)
/* 80273B04 00270A44 C0 65 00 08 */ lfs f3, 8(r5)
/* 80273B08 00270A48 D0 61 00 34 */ stfs f3, 0x34(r1)
/* 80273B0C 00270A4C D0 81 00 38 */ stfs f4, 0x38(r1)
/* 80273B10 00270A50 D0 01 00 3C */ stfs f0, 0x3c(r1)
/* 80273B14 00270A54 C0 46 00 08 */ lfs f2, 8(r6)
/* 80273B18 00270A58 D0 41 00 40 */ stfs f2, 0x40(r1)
/* 80273B1C 00270A5C C0 25 00 00 */ lfs f1, 0(r5)
/* 80273B20 00270A60 D0 21 00 44 */ stfs f1, 0x44(r1)
/* 80273B24 00270A64 D0 01 00 48 */ stfs f0, 0x48(r1)
/* 80273B28 00270A68 D0 41 00 4C */ stfs f2, 0x4c(r1)
/* 80273B2C 00270A6C D0 21 00 50 */ stfs f1, 0x50(r1)
/* 80273B30 00270A70 D0 01 00 54 */ stfs f0, 0x54(r1)
/* 80273B34 00270A74 D0 61 00 58 */ stfs f3, 0x58(r1)
/* 80273B38 00270A78 D0 81 00 5C */ stfs f4, 0x5c(r1)
/* 80273B3C 00270A7C C0 05 00 04 */ lfs f0, 4(r5)
/* 80273B40 00270A80 D0 01 00 60 */ stfs f0, 0x60(r1)
/* 80273B44 00270A84 D0 61 00 64 */ stfs f3, 0x64(r1)
/* 80273B48 00270A88 D0 81 00 68 */ stfs f4, 0x68(r1)
/* 80273B4C 00270A8C D0 01 00 6C */ stfs f0, 0x6c(r1)
/* 80273B50 00270A90 D0 41 00 70 */ stfs f2, 0x70(r1)
/* 80273B54 00270A94 D0 21 00 74 */ stfs f1, 0x74(r1)
/* 80273B58 00270A98 D0 01 00 78 */ stfs f0, 0x78(r1)
/* 80273B5C 00270A9C D0 41 00 7C */ stfs f2, 0x7c(r1)
/* 80273B60 00270AA0 D0 21 00 80 */ stfs f1, 0x80(r1)
/* 80273B64 00270AA4 D0 01 00 84 */ stfs f0, 0x84(r1)
/* 80273B68 00270AA8 D0 61 00 88 */ stfs f3, 0x88(r1)
/* 80273B6C 00270AAC 3B A0 00 00 */ li r29, 0
/* 80273B70 00270AB0 3B C0 00 00 */ li r30, 0
/* 80273B74 00270AB4 C2 43 00 54 */ lfs f18, 0x54(r3)
/* 80273B78 00270AB8 C2 63 00 58 */ lfs f19, 0x58(r3)
/* 80273B7C 00270ABC C2 83 00 0C */ lfs f20, 0xc(r3)
/* 80273B80 00270AC0 C2 A3 00 04 */ lfs f21, 4(r3)
/* 80273B84 00270AC4 C2 C3 00 08 */ lfs f22, 8(r3)
/* 80273B88 00270AC8 C2 E2 B8 88 */ lfs f23, lbl_80455288-_SDA2_BASE_(r2)
/* 80273B8C 00270ACC C3 03 00 18 */ lfs f24, 0x18(r3)
/* 80273B90 00270AD0 C3 23 00 10 */ lfs f25, 0x10(r3)
/* 80273B94 00270AD4 C3 43 00 14 */ lfs f26, 0x14(r3)
/* 80273B98 00270AD8 C3 63 00 24 */ lfs f27, 0x24(r3)
/* 80273B9C 00270ADC C3 83 00 1C */ lfs f28, 0x1c(r3)
/* 80273BA0 00270AE0 C3 A3 00 20 */ lfs f29, 0x20(r3)
/* 80273BA4 00270AE4 C3 C3 00 30 */ lfs f30, 0x30(r3)
/* 80273BA8 00270AE8 C3 E3 00 28 */ lfs f31, 0x28(r3)
/* 80273BAC 00270AEC C2 23 00 2C */ lfs f17, 0x2c(r3)
lbl_80273BB0:
/* 80273BB0 00270AF0 7F E3 FB 78 */ mr r3, r31
/* 80273BB4 00270AF4 38 81 00 2C */ addi r4, r1, 0x2c
/* 80273BB8 00270AF8 7C 84 F2 14 */ add r4, r4, r30
/* 80273BBC 00270AFC 38 A1 00 08 */ addi r5, r1, 8
/* 80273BC0 00270B00 48 0D 31 AD */ bl PSMTXMultVec
/* 80273BC4 00270B04 38 80 00 00 */ li r4, 0
/* 80273BC8 00270B08 C0 01 00 10 */ lfs f0, 0x10(r1)
/* 80273BCC 00270B0C FC 00 00 50 */ fneg f0, f0
/* 80273BD0 00270B10 FC 00 90 40 */ fcmpo cr0, f0, f18
/* 80273BD4 00270B14 40 80 00 14 */ bge lbl_80273BE8
/* 80273BD8 00270B18 80 61 00 24 */ lwz r3, 0x24(r1)
/* 80273BDC 00270B1C 38 03 00 01 */ addi r0, r3, 1
/* 80273BE0 00270B20 90 01 00 24 */ stw r0, 0x24(r1)
/* 80273BE4 00270B24 38 80 00 01 */ li r4, 1
lbl_80273BE8:
/* 80273BE8 00270B28 C0 01 00 10 */ lfs f0, 0x10(r1)
/* 80273BEC 00270B2C FC 00 00 50 */ fneg f0, f0
/* 80273BF0 00270B30 FC 00 98 40 */ fcmpo cr0, f0, f19
/* 80273BF4 00270B34 40 81 00 14 */ ble lbl_80273C08
/* 80273BF8 00270B38 80 61 00 28 */ lwz r3, 0x28(r1)
/* 80273BFC 00270B3C 38 03 00 01 */ addi r0, r3, 1
/* 80273C00 00270B40 90 01 00 28 */ stw r0, 0x28(r1)
/* 80273C04 00270B44 38 84 00 01 */ addi r4, r4, 1
lbl_80273C08:
/* 80273C08 00270B48 C0 01 00 10 */ lfs f0, 0x10(r1)
/* 80273C0C 00270B4C EC 40 05 32 */ fmuls f2, f0, f20
/* 80273C10 00270B50 C0 61 00 08 */ lfs f3, 8(r1)
/* 80273C14 00270B54 EC 23 05 72 */ fmuls f1, f3, f21
/* 80273C18 00270B58 C0 01 00 0C */ lfs f0, 0xc(r1)
/* 80273C1C 00270B5C EC 00 05 B2 */ fmuls f0, f0, f22
/* 80273C20 00270B60 EC 01 00 2A */ fadds f0, f1, f0
/* 80273C24 00270B64 EC 02 00 2A */ fadds f0, f2, f0
/* 80273C28 00270B68 FC 00 B8 40 */ fcmpo cr0, f0, f23
/* 80273C2C 00270B6C 40 81 00 14 */ ble lbl_80273C40
/* 80273C30 00270B70 80 61 00 14 */ lwz r3, 0x14(r1)
/* 80273C34 00270B74 38 03 00 01 */ addi r0, r3, 1
/* 80273C38 00270B78 90 01 00 14 */ stw r0, 0x14(r1)
/* 80273C3C 00270B7C 38 84 00 01 */ addi r4, r4, 1
lbl_80273C40:
/* 80273C40 00270B80 C0 01 00 10 */ lfs f0, 0x10(r1)
/* 80273C44 00270B84 EC 40 06 32 */ fmuls f2, f0, f24
/* 80273C48 00270B88 EC 23 06 72 */ fmuls f1, f3, f25
/* 80273C4C 00270B8C C0 01 00 0C */ lfs f0, 0xc(r1)
/* 80273C50 00270B90 EC 00 06 B2 */ fmuls f0, f0, f26
/* 80273C54 00270B94 EC 01 00 2A */ fadds f0, f1, f0
/* 80273C58 00270B98 EC 02 00 2A */ fadds f0, f2, f0
/* 80273C5C 00270B9C FC 00 B8 40 */ fcmpo cr0, f0, f23
/* 80273C60 00270BA0 40 81 00 14 */ ble lbl_80273C74
/* 80273C64 00270BA4 80 61 00 18 */ lwz r3, 0x18(r1)
/* 80273C68 00270BA8 38 03 00 01 */ addi r0, r3, 1
/* 80273C6C 00270BAC 90 01 00 18 */ stw r0, 0x18(r1)
/* 80273C70 00270BB0 38 84 00 01 */ addi r4, r4, 1
lbl_80273C74:
/* 80273C74 00270BB4 C0 01 00 10 */ lfs f0, 0x10(r1)
/* 80273C78 00270BB8 EC 40 06 F2 */ fmuls f2, f0, f27
/* 80273C7C 00270BBC C0 01 00 08 */ lfs f0, 8(r1)
/* 80273C80 00270BC0 EC 20 07 32 */ fmuls f1, f0, f28
/* 80273C84 00270BC4 C0 01 00 0C */ lfs f0, 0xc(r1)
/* 80273C88 00270BC8 EC 00 07 72 */ fmuls f0, f0, f29
/* 80273C8C 00270BCC EC 01 00 2A */ fadds f0, f1, f0
/* 80273C90 00270BD0 EC 02 00 2A */ fadds f0, f2, f0
/* 80273C94 00270BD4 FC 00 B8 40 */ fcmpo cr0, f0, f23
/* 80273C98 00270BD8 40 81 00 14 */ ble lbl_80273CAC
/* 80273C9C 00270BDC 80 61 00 1C */ lwz r3, 0x1c(r1)
/* 80273CA0 00270BE0 38 03 00 01 */ addi r0, r3, 1
/* 80273CA4 00270BE4 90 01 00 1C */ stw r0, 0x1c(r1)
/* 80273CA8 00270BE8 38 84 00 01 */ addi r4, r4, 1
lbl_80273CAC:
/* 80273CAC 00270BEC C0 01 00 10 */ lfs f0, 0x10(r1)
/* 80273CB0 00270BF0 EC 40 07 B2 */ fmuls f2, f0, f30
/* 80273CB4 00270BF4 C0 01 00 08 */ lfs f0, 8(r1)
/* 80273CB8 00270BF8 EC 20 07 F2 */ fmuls f1, f0, f31
/* 80273CBC 00270BFC C0 01 00 0C */ lfs f0, 0xc(r1)
/* 80273CC0 00270C00 EC 00 04 72 */ fmuls f0, f0, f17
/* 80273CC4 00270C04 EC 01 00 2A */ fadds f0, f1, f0
/* 80273CC8 00270C08 EC 02 00 2A */ fadds f0, f2, f0
/* 80273CCC 00270C0C FC 00 B8 40 */ fcmpo cr0, f0, f23
/* 80273CD0 00270C10 40 81 00 14 */ ble lbl_80273CE4
/* 80273CD4 00270C14 80 61 00 20 */ lwz r3, 0x20(r1)
/* 80273CD8 00270C18 38 03 00 01 */ addi r0, r3, 1
/* 80273CDC 00270C1C 90 01 00 20 */ stw r0, 0x20(r1)
/* 80273CE0 00270C20 38 84 00 01 */ addi r4, r4, 1
lbl_80273CE4:
/* 80273CE4 00270C24 2C 04 00 00 */ cmpwi r4, 0
/* 80273CE8 00270C28 40 82 00 0C */ bne lbl_80273CF4
/* 80273CEC 00270C2C 38 60 00 00 */ li r3, 0
/* 80273CF0 00270C30 48 00 00 88 */ b lbl_80273D78
lbl_80273CF4:
/* 80273CF4 00270C34 3B BD 00 01 */ addi r29, r29, 1
/* 80273CF8 00270C38 28 1D 00 08 */ cmplwi r29, 8
/* 80273CFC 00270C3C 3B DE 00 0C */ addi r30, r30, 0xc
/* 80273D00 00270C40 41 80 FE B0 */ blt lbl_80273BB0
/* 80273D04 00270C44 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80273D08 00270C48 2C 00 00 08 */ cmpwi r0, 8
/* 80273D0C 00270C4C 40 82 00 0C */ bne lbl_80273D18
/* 80273D10 00270C50 38 60 00 01 */ li r3, 1
/* 80273D14 00270C54 48 00 00 64 */ b lbl_80273D78
lbl_80273D18:
/* 80273D18 00270C58 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 80273D1C 00270C5C 2C 00 00 08 */ cmpwi r0, 8
/* 80273D20 00270C60 40 82 00 0C */ bne lbl_80273D2C
/* 80273D24 00270C64 38 60 00 01 */ li r3, 1
/* 80273D28 00270C68 48 00 00 50 */ b lbl_80273D78
lbl_80273D2C:
/* 80273D2C 00270C6C 80 01 00 18 */ lwz r0, 0x18(r1)
/* 80273D30 00270C70 2C 00 00 08 */ cmpwi r0, 8
/* 80273D34 00270C74 40 82 00 0C */ bne lbl_80273D40
/* 80273D38 00270C78 38 60 00 01 */ li r3, 1
/* 80273D3C 00270C7C 48 00 00 3C */ b lbl_80273D78
lbl_80273D40:
/* 80273D40 00270C80 80 01 00 20 */ lwz r0, 0x20(r1)
/* 80273D44 00270C84 2C 00 00 08 */ cmpwi r0, 8
/* 80273D48 00270C88 40 82 00 0C */ bne lbl_80273D54
/* 80273D4C 00270C8C 38 60 00 01 */ li r3, 1
/* 80273D50 00270C90 48 00 00 28 */ b lbl_80273D78
lbl_80273D54:
/* 80273D54 00270C94 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80273D58 00270C98 2C 00 00 08 */ cmpwi r0, 8
/* 80273D5C 00270C9C 40 82 00 0C */ bne lbl_80273D68
/* 80273D60 00270CA0 38 60 00 01 */ li r3, 1
/* 80273D64 00270CA4 48 00 00 14 */ b lbl_80273D78
lbl_80273D68:
/* 80273D68 00270CA8 80 01 00 28 */ lwz r0, 0x28(r1)
/* 80273D6C 00270CAC 20 00 00 08 */ subfic r0, r0, 8
/* 80273D70 00270CB0 7C 00 00 34 */ cntlzw r0, r0
/* 80273D74 00270CB4 54 03 D9 7E */ srwi r3, r0, 5
lbl_80273D78:
/* 80273D78 00270CB8 E3 E1 01 88 */ psq_l f31, 392(r1), 0, qr0
/* 80273D7C 00270CBC CB E1 01 80 */ lfd f31, 0x180(r1)
/* 80273D80 00270CC0 E3 C1 01 78 */ psq_l f30, 376(r1), 0, qr0
/* 80273D84 00270CC4 CB C1 01 70 */ lfd f30, 0x170(r1)
/* 80273D88 00270CC8 E3 A1 01 68 */ psq_l f29, 360(r1), 0, qr0
/* 80273D8C 00270CCC CB A1 01 60 */ lfd f29, 0x160(r1)
/* 80273D90 00270CD0 E3 81 01 58 */ psq_l f28, 344(r1), 0, qr0
/* 80273D94 00270CD4 CB 81 01 50 */ lfd f28, 0x150(r1)
/* 80273D98 00270CD8 E3 61 01 48 */ psq_l f27, 328(r1), 0, qr0
/* 80273D9C 00270CDC CB 61 01 40 */ lfd f27, 0x140(r1)
/* 80273DA0 00270CE0 E3 41 01 38 */ psq_l f26, 312(r1), 0, qr0
/* 80273DA4 00270CE4 CB 41 01 30 */ lfd f26, 0x130(r1)
/* 80273DA8 00270CE8 E3 21 01 28 */ psq_l f25, 296(r1), 0, qr0
/* 80273DAC 00270CEC CB 21 01 20 */ lfd f25, 0x120(r1)
/* 80273DB0 00270CF0 E3 01 01 18 */ psq_l f24, 280(r1), 0, qr0
/* 80273DB4 00270CF4 CB 01 01 10 */ lfd f24, 0x110(r1)
/* 80273DB8 00270CF8 E2 E1 01 08 */ psq_l f23, 264(r1), 0, qr0
/* 80273DBC 00270CFC CA E1 01 00 */ lfd f23, 0x100(r1)
/* 80273DC0 00270D00 E2 C1 00 F8 */ psq_l f22, 248(r1), 0, qr0
/* 80273DC4 00270D04 CA C1 00 F0 */ lfd f22, 0xf0(r1)
/* 80273DC8 00270D08 E2 A1 00 E8 */ psq_l f21, 232(r1), 0, qr0
/* 80273DCC 00270D0C CA A1 00 E0 */ lfd f21, 0xe0(r1)
/* 80273DD0 00270D10 E2 81 00 D8 */ psq_l f20, 216(r1), 0, qr0
/* 80273DD4 00270D14 CA 81 00 D0 */ lfd f20, 0xd0(r1)
/* 80273DD8 00270D18 E2 61 00 C8 */ psq_l f19, 200(r1), 0, qr0
/* 80273DDC 00270D1C CA 61 00 C0 */ lfd f19, 0xc0(r1)
/* 80273DE0 00270D20 E2 41 00 B8 */ psq_l f18, 184(r1), 0, qr0
/* 80273DE4 00270D24 CA 41 00 B0 */ lfd f18, 0xb0(r1)
/* 80273DE8 00270D28 E2 21 00 A8 */ psq_l f17, 168(r1), 0, qr0
/* 80273DEC 00270D2C CA 21 00 A0 */ lfd f17, 0xa0(r1)
/* 80273DF0 00270D30 39 61 00 A0 */ addi r11, r1, 0xa0
/* 80273DF4 00270D34 48 0E E4 35 */ bl func_80362228
/* 80273DF8 00270D38 80 01 01 94 */ lwz r0, 0x194(r1)
/* 80273DFC 00270D3C 7C 08 03 A6 */ mtlr r0
/* 80273E00 00270D40 38 21 01 90 */ addi r1, r1, 0x190
/* 80273E04 00270D44 4E 80 00 20 */ blr

8
asm/J3DU/J3DUDL.s Normal file
View File

@ -0,0 +1,8 @@
.include "macros.inc"
.section .text, "ax" # 80273e08
/* 80273E08 00270D48 38 60 00 01 */ li r3, 1
/* 80273E0C 00270D4C 4E 80 00 20 */ blr

27
asm/JAudio2/JAIAudible.s Normal file
View File

@ -0,0 +1,27 @@
.include "macros.inc"
.section .text, "ax" # 8029efac
.global JAIAudible_NS_dtor
JAIAudible_NS_dtor:
/* 8029EFAC 0029BEEC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8029EFB0 0029BEF0 7C 08 02 A6 */ mflr r0
/* 8029EFB4 0029BEF4 90 01 00 14 */ stw r0, 0x14(r1)
/* 8029EFB8 0029BEF8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8029EFBC 0029BEFC 7C 7F 1B 79 */ or. r31, r3, r3
/* 8029EFC0 0029BF00 41 82 00 1C */ beq lbl_8029EFDC
/* 8029EFC4 0029BF04 3C A0 80 3D */ lis r5, lbl_803C9820@ha
/* 8029EFC8 0029BF08 38 05 98 20 */ addi r0, r5, lbl_803C9820@l
/* 8029EFCC 0029BF0C 90 1F 00 00 */ stw r0, 0(r31)
/* 8029EFD0 0029BF10 7C 80 07 35 */ extsh. r0, r4
/* 8029EFD4 0029BF14 40 81 00 08 */ ble lbl_8029EFDC
/* 8029EFD8 0029BF18 48 02 FD 65 */ bl __dl
lbl_8029EFDC:
/* 8029EFDC 0029BF1C 7F E3 FB 78 */ mr r3, r31
/* 8029EFE0 0029BF20 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8029EFE4 0029BF24 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8029EFE8 0029BF28 7C 08 03 A6 */ mtlr r0
/* 8029EFEC 0029BF2C 38 21 00 10 */ addi r1, r1, 0x10
/* 8029EFF0 0029BF30 4E 80 00 20 */ blr

27
asm/JAudio2/JAIAudience.s Normal file
View File

@ -0,0 +1,27 @@
.include "macros.inc"
.section .text, "ax" # 8029eff4
.global JAIAudience_NS_dtor
JAIAudience_NS_dtor:
/* 8029EFF4 0029BF34 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8029EFF8 0029BF38 7C 08 02 A6 */ mflr r0
/* 8029EFFC 0029BF3C 90 01 00 14 */ stw r0, 0x14(r1)
/* 8029F000 0029BF40 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8029F004 0029BF44 7C 7F 1B 79 */ or. r31, r3, r3
/* 8029F008 0029BF48 41 82 00 1C */ beq lbl_8029F024
/* 8029F00C 0029BF4C 3C A0 80 3D */ lis r5, lbl_803C9838@ha
/* 8029F010 0029BF50 38 05 98 38 */ addi r0, r5, lbl_803C9838@l
/* 8029F014 0029BF54 90 1F 00 00 */ stw r0, 0(r31)
/* 8029F018 0029BF58 7C 80 07 35 */ extsh. r0, r4
/* 8029F01C 0029BF5C 40 81 00 08 */ ble lbl_8029F024
/* 8029F020 0029BF60 48 02 FD 1D */ bl __dl
lbl_8029F024:
/* 8029F024 0029BF64 7F E3 FB 78 */ mr r3, r31
/* 8029F028 0029BF68 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8029F02C 0029BF6C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8029F030 0029BF70 7C 08 03 A6 */ mtlr r0
/* 8029F034 0029BF74 38 21 00 10 */ addi r1, r1, 0x10
/* 8029F038 0029BF78 4E 80 00 20 */ blr

649
asm/JAudio2/JAISe.s Normal file
View File

@ -0,0 +1,649 @@
.include "macros.inc"
.section .text, "ax" # 8029f03c
.global JAISe
JAISe:
/* 8029F03C 0029BF7C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8029F040 0029BF80 7C 08 02 A6 */ mflr r0
/* 8029F044 0029BF84 90 01 00 24 */ stw r0, 0x24(r1)
/* 8029F048 0029BF88 39 61 00 20 */ addi r11, r1, 0x20
/* 8029F04C 0029BF8C 48 0C 31 8D */ bl func_803621D8
/* 8029F050 0029BF90 7C 7C 1B 78 */ mr r28, r3
/* 8029F054 0029BF94 7C 9D 23 78 */ mr r29, r4
/* 8029F058 0029BF98 7C BE 2B 78 */ mr r30, r5
/* 8029F05C 0029BF9C 7C DF 33 78 */ mr r31, r6
/* 8029F060 0029BFA0 7F 84 E3 78 */ mr r4, r28
/* 8029F064 0029BFA4 48 03 CD 99 */ bl JSUPtrLink
/* 8029F068 0029BFA8 38 7C 00 10 */ addi r3, r28, 0x10
/* 8029F06C 0029BFAC 48 00 32 8D */ bl JAISound
/* 8029F070 0029BFB0 3C 60 80 3D */ lis r3, lbl_803C9858@ha
/* 8029F074 0029BFB4 38 63 98 58 */ addi r3, r3, lbl_803C9858@l
/* 8029F078 0029BFB8 90 7C 00 A8 */ stw r3, 0xa8(r28)
/* 8029F07C 0029BFBC 38 03 00 08 */ addi r0, r3, 8
/* 8029F080 0029BFC0 90 1C 00 10 */ stw r0, 0x10(r28)
/* 8029F084 0029BFC4 C0 02 BD 78 */ lfs f0, lbl_80455778-_SDA2_BASE_(r2)
/* 8029F088 0029BFC8 D0 1C 00 B4 */ stfs f0, 0xb4(r28)
/* 8029F08C 0029BFCC D0 1C 00 BC */ stfs f0, 0xbc(r28)
/* 8029F090 0029BFD0 C0 22 BD 7C */ lfs f1, lbl_8045577C-_SDA2_BASE_(r2)
/* 8029F094 0029BFD4 D0 3C 00 B8 */ stfs f1, 0xb8(r28)
/* 8029F098 0029BFD8 C0 02 BD 80 */ lfs f0, lbl_80455780-_SDA2_BASE_(r2)
/* 8029F09C 0029BFDC D0 1C 00 C0 */ stfs f0, 0xc0(r28)
/* 8029F0A0 0029BFE0 D0 3C 00 C4 */ stfs f1, 0xc4(r28)
/* 8029F0A4 0029BFE4 38 7C 00 C8 */ addi r3, r28, 0xc8
/* 8029F0A8 0029BFE8 4B FF 21 81 */ bl JASTrack
/* 8029F0AC 0029BFEC 38 00 00 00 */ li r0, 0
/* 8029F0B0 0029BFF0 90 1C 03 10 */ stw r0, 0x310(r28)
/* 8029F0B4 0029BFF4 90 1C 03 14 */ stw r0, 0x314(r28)
/* 8029F0B8 0029BFF8 C0 02 BD 78 */ lfs f0, lbl_80455778-_SDA2_BASE_(r2)
/* 8029F0BC 0029BFFC D0 1C 03 28 */ stfs f0, 0x328(r28)
/* 8029F0C0 0029C000 C0 02 BD 7C */ lfs f0, lbl_8045577C-_SDA2_BASE_(r2)
/* 8029F0C4 0029C004 D0 1C 03 2C */ stfs f0, 0x32c(r28)
/* 8029F0C8 0029C008 90 1C 03 34 */ stw r0, 0x334(r28)
/* 8029F0CC 0029C00C D0 1C 03 30 */ stfs f0, 0x330(r28)
/* 8029F0D0 0029C010 93 DC 03 20 */ stw r30, 0x320(r28)
/* 8029F0D4 0029C014 93 BC 03 1C */ stw r29, 0x31c(r28)
/* 8029F0D8 0029C018 93 FC 00 AC */ stw r31, 0xac(r28)
/* 8029F0DC 0029C01C 7F 83 E3 78 */ mr r3, r28
/* 8029F0E0 0029C020 39 61 00 20 */ addi r11, r1, 0x20
/* 8029F0E4 0029C024 48 0C 31 41 */ bl func_80362224
/* 8029F0E8 0029C028 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8029F0EC 0029C02C 7C 08 03 A6 */ mtlr r0
/* 8029F0F0 0029C030 38 21 00 20 */ addi r1, r1, 0x20
/* 8029F0F4 0029C034 4E 80 00 20 */ blr
.global JAISe_NS_mixOut_
JAISe_NS_mixOut_:
/* 8029F0F8 0029C038 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8029F0FC 0029C03C 7C 08 02 A6 */ mflr r0
/* 8029F100 0029C040 90 01 00 34 */ stw r0, 0x34(r1)
/* 8029F104 0029C044 39 61 00 30 */ addi r11, r1, 0x30
/* 8029F108 0029C048 48 0C 30 D5 */ bl func_803621DC
/* 8029F10C 0029C04C 7C 7D 1B 78 */ mr r29, r3
/* 8029F110 0029C050 7C 9E 23 78 */ mr r30, r4
/* 8029F114 0029C054 38 7D 00 C8 */ addi r3, r29, 0xc8
/* 8029F118 0029C058 C0 3D 03 28 */ lfs f1, 0x328(r29)
/* 8029F11C 0029C05C 4B FF 3A 71 */ bl JASTrack_NS_setTempoRate
/* 8029F120 0029C060 C0 02 BD 78 */ lfs f0, lbl_80455778-_SDA2_BASE_(r2)
/* 8029F124 0029C064 D0 01 00 08 */ stfs f0, 8(r1)
/* 8029F128 0029C068 D0 01 00 10 */ stfs f0, 0x10(r1)
/* 8029F12C 0029C06C C0 22 BD 7C */ lfs f1, lbl_8045577C-_SDA2_BASE_(r2)
/* 8029F130 0029C070 D0 21 00 0C */ stfs f1, 0xc(r1)
/* 8029F134 0029C074 C0 02 BD 80 */ lfs f0, lbl_80455780-_SDA2_BASE_(r2)
/* 8029F138 0029C078 D0 01 00 14 */ stfs f0, 0x14(r1)
/* 8029F13C 0029C07C D0 21 00 18 */ stfs f1, 0x18(r1)
/* 8029F140 0029C080 38 7D 00 4C */ addi r3, r29, 0x4c
/* 8029F144 0029C084 7F C4 F3 78 */ mr r4, r30
/* 8029F148 0029C088 38 A1 00 08 */ addi r5, r1, 8
/* 8029F14C 0029C08C C0 3D 00 34 */ lfs f1, 0x34(r29)
/* 8029F150 0029C090 48 00 31 31 */ bl JAISoundParams_NS_mixOutAll
/* 8029F154 0029C094 80 7D 03 24 */ lwz r3, 0x324(r29)
/* 8029F158 0029C098 28 03 00 00 */ cmplwi r3, 0
/* 8029F15C 0029C09C 41 82 00 1C */ beq lbl_8029F178
/* 8029F160 0029C0A0 7F A4 EB 78 */ mr r4, r29
/* 8029F164 0029C0A4 38 A1 00 08 */ addi r5, r1, 8
/* 8029F168 0029C0A8 81 83 00 00 */ lwz r12, 0(r3)
/* 8029F16C 0029C0AC 81 8C 00 10 */ lwz r12, 0x10(r12)
/* 8029F170 0029C0B0 7D 89 03 A6 */ mtctr r12
/* 8029F174 0029C0B4 4E 80 04 21 */ bctrl
lbl_8029F178:
/* 8029F178 0029C0B8 80 1D 00 18 */ lwz r0, 0x18(r29)
/* 8029F17C 0029C0BC 28 00 00 00 */ cmplwi r0, 0
/* 8029F180 0029C0C0 41 82 00 54 */ beq lbl_8029F1D4
/* 8029F184 0029C0C4 80 7D 00 1C */ lwz r3, 0x1c(r29)
/* 8029F188 0029C0C8 81 83 00 00 */ lwz r12, 0(r3)
/* 8029F18C 0029C0CC 81 8C 00 10 */ lwz r12, 0x10(r12)
/* 8029F190 0029C0D0 7D 89 03 A6 */ mtctr r12
/* 8029F194 0029C0D4 4E 80 04 21 */ bctrl
/* 8029F198 0029C0D8 7C 7F 1B 78 */ mr r31, r3
/* 8029F19C 0029C0DC 3B C0 00 00 */ li r30, 0
/* 8029F1A0 0029C0E0 48 00 00 28 */ b lbl_8029F1C8
lbl_8029F1A4:
/* 8029F1A4 0029C0E4 80 7D 00 1C */ lwz r3, 0x1c(r29)
/* 8029F1A8 0029C0E8 38 81 00 08 */ addi r4, r1, 8
/* 8029F1AC 0029C0EC 80 BD 00 18 */ lwz r5, 0x18(r29)
/* 8029F1B0 0029C0F0 7F C6 F3 78 */ mr r6, r30
/* 8029F1B4 0029C0F4 81 83 00 00 */ lwz r12, 0(r3)
/* 8029F1B8 0029C0F8 81 8C 00 1C */ lwz r12, 0x1c(r12)
/* 8029F1BC 0029C0FC 7D 89 03 A6 */ mtctr r12
/* 8029F1C0 0029C100 4E 80 04 21 */ bctrl
/* 8029F1C4 0029C104 3B DE 00 01 */ addi r30, r30, 1
lbl_8029F1C8:
/* 8029F1C8 0029C108 7C 1E F8 00 */ cmpw r30, r31
/* 8029F1CC 0029C10C 41 80 FF D8 */ blt lbl_8029F1A4
/* 8029F1D0 0029C110 48 00 00 2C */ b lbl_8029F1FC
lbl_8029F1D4:
/* 8029F1D4 0029C114 C0 01 00 08 */ lfs f0, 8(r1)
/* 8029F1D8 0029C118 D0 1D 00 B4 */ stfs f0, 0xb4(r29)
/* 8029F1DC 0029C11C C0 01 00 0C */ lfs f0, 0xc(r1)
/* 8029F1E0 0029C120 D0 1D 00 B8 */ stfs f0, 0xb8(r29)
/* 8029F1E4 0029C124 C0 01 00 10 */ lfs f0, 0x10(r1)
/* 8029F1E8 0029C128 D0 1D 00 BC */ stfs f0, 0xbc(r29)
/* 8029F1EC 0029C12C C0 01 00 14 */ lfs f0, 0x14(r1)
/* 8029F1F0 0029C130 D0 1D 00 C0 */ stfs f0, 0xc0(r29)
/* 8029F1F4 0029C134 C0 01 00 18 */ lfs f0, 0x18(r1)
/* 8029F1F8 0029C138 D0 1D 00 C4 */ stfs f0, 0xc4(r29)
lbl_8029F1FC:
/* 8029F1FC 0029C13C 39 61 00 30 */ addi r11, r1, 0x30
/* 8029F200 0029C140 48 0C 30 29 */ bl func_80362228
/* 8029F204 0029C144 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8029F208 0029C148 7C 08 03 A6 */ mtlr r0
/* 8029F20C 0029C14C 38 21 00 30 */ addi r1, r1, 0x30
/* 8029F210 0029C150 4E 80 00 20 */ blr
.global JAISe_NS_stopTrack_
JAISe_NS_stopTrack_:
/* 8029F214 0029C154 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8029F218 0029C158 7C 08 02 A6 */ mflr r0
/* 8029F21C 0029C15C 90 01 00 14 */ stw r0, 0x14(r1)
/* 8029F220 0029C160 88 03 02 DD */ lbz r0, 0x2dd(r3)
/* 8029F224 0029C164 2C 00 00 01 */ cmpwi r0, 1
/* 8029F228 0029C168 41 82 00 10 */ beq lbl_8029F238
/* 8029F22C 0029C16C 40 80 00 14 */ bge lbl_8029F240
/* 8029F230 0029C170 48 00 00 10 */ b lbl_8029F240
/* 8029F234 0029C174 48 00 00 0C */ b lbl_8029F240
lbl_8029F238:
/* 8029F238 0029C178 38 63 00 C8 */ addi r3, r3, 0xc8
/* 8029F23C 0029C17C 4B FF 28 3D */ bl JASTrack_NS_stopSeq
lbl_8029F240:
/* 8029F240 0029C180 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8029F244 0029C184 7C 08 03 A6 */ mtlr r0
/* 8029F248 0029C188 38 21 00 10 */ addi r1, r1, 0x10
/* 8029F24C 0029C18C 4E 80 00 20 */ blr
.global JAISe_NS_startTrack_
JAISe_NS_startTrack_:
/* 8029F250 0029C190 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8029F254 0029C194 7C 08 02 A6 */ mflr r0
/* 8029F258 0029C198 90 01 00 14 */ stw r0, 0x14(r1)
/* 8029F25C 0029C19C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8029F260 0029C1A0 93 C1 00 08 */ stw r30, 8(r1)
/* 8029F264 0029C1A4 7C 7E 1B 78 */ mr r30, r3
/* 8029F268 0029C1A8 7C 9F 23 78 */ mr r31, r4
/* 8029F26C 0029C1AC 88 03 02 DD */ lbz r0, 0x2dd(r3)
/* 8029F270 0029C1B0 28 00 00 02 */ cmplwi r0, 2
/* 8029F274 0029C1B4 40 82 00 0C */ bne lbl_8029F280
/* 8029F278 0029C1B8 38 7E 00 C8 */ addi r3, r30, 0xc8
/* 8029F27C 0029C1BC 4B FF 23 59 */ bl JASTrack_NS_init
lbl_8029F280:
/* 8029F280 0029C1C0 80 1E 00 18 */ lwz r0, 0x18(r30)
/* 8029F284 0029C1C4 28 00 00 00 */ cmplwi r0, 0
/* 8029F288 0029C1C8 41 82 00 14 */ beq lbl_8029F29C
/* 8029F28C 0029C1CC 38 7E 00 10 */ addi r3, r30, 0x10
/* 8029F290 0029C1D0 38 9E 00 C8 */ addi r4, r30, 0xc8
/* 8029F294 0029C1D4 48 00 37 49 */ bl JAISound_NS_initTrack_JAISound_
/* 8029F298 0029C1D8 48 00 00 34 */ b lbl_8029F2CC
lbl_8029F29C:
/* 8029F29C 0029C1DC 38 7E 00 4C */ addi r3, r30, 0x4c
/* 8029F2A0 0029C1E0 7F E4 FB 78 */ mr r4, r31
/* 8029F2A4 0029C1E4 38 BE 00 B4 */ addi r5, r30, 0xb4
/* 8029F2A8 0029C1E8 C0 3E 00 34 */ lfs f1, 0x34(r30)
/* 8029F2AC 0029C1EC 48 00 2F D5 */ bl JAISoundParams_NS_mixOutAll
/* 8029F2B0 0029C1F0 38 7E 00 C8 */ addi r3, r30, 0xc8
/* 8029F2B4 0029C1F4 38 80 00 01 */ li r4, 1
/* 8029F2B8 0029C1F8 4B FF 21 8D */ bl JASTrack_NS_setChannelMgrCount
/* 8029F2BC 0029C1FC 38 7E 00 C8 */ addi r3, r30, 0xc8
/* 8029F2C0 0029C200 38 80 00 00 */ li r4, 0
/* 8029F2C4 0029C204 38 BE 00 B4 */ addi r5, r30, 0xb4
/* 8029F2C8 0029C208 4B FF 27 2D */ bl JASTrack_NS_assignExtBuffer
lbl_8029F2CC:
/* 8029F2CC 0029C20C 38 00 00 01 */ li r0, 1
/* 8029F2D0 0029C210 98 1E 03 18 */ stb r0, 0x318(r30)
/* 8029F2D4 0029C214 38 7E 00 C8 */ addi r3, r30, 0xc8
/* 8029F2D8 0029C218 80 9E 03 10 */ lwz r4, 0x310(r30)
/* 8029F2DC 0029C21C 80 BE 03 14 */ lwz r5, 0x314(r30)
/* 8029F2E0 0029C220 4B FF 27 29 */ bl JASTrack_NS_setSeqData
/* 8029F2E4 0029C224 38 7E 00 C8 */ addi r3, r30, 0xc8
/* 8029F2E8 0029C228 4B FF 27 41 */ bl JASTrack_NS_startSeq
/* 8029F2EC 0029C22C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8029F2F0 0029C230 83 C1 00 08 */ lwz r30, 8(r1)
/* 8029F2F4 0029C234 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8029F2F8 0029C238 7C 08 03 A6 */ mtlr r0
/* 8029F2FC 0029C23C 38 21 00 10 */ addi r1, r1, 0x10
/* 8029F300 0029C240 4E 80 00 20 */ blr
.global JAISe_NS_JAISeCategoryMgr_mixOut_
JAISe_NS_JAISeCategoryMgr_mixOut_:
/* 8029F304 0029C244 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8029F308 0029C248 7C 08 02 A6 */ mflr r0
/* 8029F30C 0029C24C 90 01 00 24 */ stw r0, 0x24(r1)
/* 8029F310 0029C250 39 61 00 20 */ addi r11, r1, 0x20
/* 8029F314 0029C254 48 0C 2E C5 */ bl func_803621D8
/* 8029F318 0029C258 7C 7E 1B 78 */ mr r30, r3
/* 8029F31C 0029C25C 7C 9C 23 78 */ mr r28, r4
/* 8029F320 0029C260 7C BD 2B 78 */ mr r29, r5
/* 8029F324 0029C264 7C DF 33 78 */ mr r31, r6
/* 8029F328 0029C268 7F A4 EB 78 */ mr r4, r29
/* 8029F32C 0029C26C 4B FF FD CD */ bl JAISe_NS_mixOut_
/* 8029F330 0029C270 38 80 00 00 */ li r4, 0
/* 8029F334 0029C274 88 7E 00 2F */ lbz r3, 0x2f(r30)
/* 8029F338 0029C278 54 60 CF FF */ rlwinm. r0, r3, 0x19, 0x1f, 0x1f
/* 8029F33C 0029C27C 41 82 00 2C */ beq lbl_8029F368
/* 8029F340 0029C280 54 60 EF FF */ rlwinm. r0, r3, 0x1d, 0x1f, 0x1f
/* 8029F344 0029C284 41 82 00 20 */ beq lbl_8029F364
/* 8029F348 0029C288 80 1E 00 40 */ lwz r0, 0x40(r30)
/* 8029F34C 0029C28C 28 00 00 00 */ cmplwi r0, 0
/* 8029F350 0029C290 40 82 00 18 */ bne lbl_8029F368
/* 8029F354 0029C294 C0 3E 00 34 */ lfs f1, 0x34(r30)
/* 8029F358 0029C298 C0 02 BD 84 */ lfs f0, lbl_80455784-_SDA2_BASE_(r2)
/* 8029F35C 0029C29C FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8029F360 0029C2A0 40 80 00 08 */ bge lbl_8029F368
lbl_8029F364:
/* 8029F364 0029C2A4 38 80 00 01 */ li r4, 1
lbl_8029F368:
/* 8029F368 0029C2A8 54 80 06 3F */ clrlwi. r0, r4, 0x18
/* 8029F36C 0029C2AC 41 82 00 10 */ beq lbl_8029F37C
/* 8029F370 0029C2B0 7F C3 F3 78 */ mr r3, r30
/* 8029F374 0029C2B4 4B FF FE A1 */ bl JAISe_NS_stopTrack_
/* 8029F378 0029C2B8 48 00 01 3C */ b lbl_8029F4B4
lbl_8029F37C:
/* 8029F37C 0029C2BC 57 80 06 3F */ clrlwi. r0, r28, 0x18
/* 8029F380 0029C2C0 41 82 00 DC */ beq lbl_8029F45C
/* 8029F384 0029C2C4 88 1E 00 2E */ lbz r0, 0x2e(r30)
/* 8029F388 0029C2C8 28 00 00 05 */ cmplwi r0, 5
/* 8029F38C 0029C2CC 40 82 01 28 */ bne lbl_8029F4B4
/* 8029F390 0029C2D0 88 1E 03 18 */ lbz r0, 0x318(r30)
/* 8029F394 0029C2D4 28 00 00 00 */ cmplwi r0, 0
/* 8029F398 0029C2D8 41 82 00 B4 */ beq lbl_8029F44C
/* 8029F39C 0029C2DC 88 1E 02 DD */ lbz r0, 0x2dd(r30)
/* 8029F3A0 0029C2E0 2C 00 00 02 */ cmpwi r0, 2
/* 8029F3A4 0029C2E4 41 82 00 14 */ beq lbl_8029F3B8
/* 8029F3A8 0029C2E8 40 80 01 0C */ bge lbl_8029F4B4
/* 8029F3AC 0029C2EC 2C 00 00 01 */ cmpwi r0, 1
/* 8029F3B0 0029C2F0 40 80 00 48 */ bge lbl_8029F3F8
/* 8029F3B4 0029C2F4 48 00 01 00 */ b lbl_8029F4B4
lbl_8029F3B8:
/* 8029F3B8 0029C2F8 88 1E 00 2D */ lbz r0, 0x2d(r30)
/* 8029F3BC 0029C2FC 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 8029F3C0 0029C300 41 82 00 14 */ beq lbl_8029F3D4
/* 8029F3C4 0029C304 7F C3 F3 78 */ mr r3, r30
/* 8029F3C8 0029C308 7F A4 EB 78 */ mr r4, r29
/* 8029F3CC 0029C30C 4B FF FE 85 */ bl JAISe_NS_startTrack_
/* 8029F3D0 0029C310 48 00 00 E4 */ b lbl_8029F4B4
lbl_8029F3D4:
/* 8029F3D4 0029C314 38 60 00 00 */ li r3, 0
/* 8029F3D8 0029C318 88 1E 00 2F */ lbz r0, 0x2f(r30)
/* 8029F3DC 0029C31C 50 60 1F 38 */ rlwimi r0, r3, 3, 0x1c, 0x1c
/* 8029F3E0 0029C320 98 1E 00 2F */ stb r0, 0x2f(r30)
/* 8029F3E4 0029C324 38 60 00 01 */ li r3, 1
/* 8029F3E8 0029C328 88 1E 00 2F */ lbz r0, 0x2f(r30)
/* 8029F3EC 0029C32C 50 60 3E 30 */ rlwimi r0, r3, 7, 0x18, 0x18
/* 8029F3F0 0029C330 98 1E 00 2F */ stb r0, 0x2f(r30)
/* 8029F3F4 0029C334 48 00 00 C0 */ b lbl_8029F4B4
lbl_8029F3F8:
/* 8029F3F8 0029C338 38 7E 00 C8 */ addi r3, r30, 0xc8
/* 8029F3FC 0029C33C 38 80 00 00 */ li r4, 0
/* 8029F400 0029C340 88 1E 00 2C */ lbz r0, 0x2c(r30)
/* 8029F404 0029C344 54 00 D7 FF */ rlwinm. r0, r0, 0x1a, 0x1f, 0x1f
/* 8029F408 0029C348 40 82 00 10 */ bne lbl_8029F418
/* 8029F40C 0029C34C 88 1F 00 00 */ lbz r0, 0(r31)
/* 8029F410 0029C350 54 00 D7 FF */ rlwinm. r0, r0, 0x1a, 0x1f, 0x1f
/* 8029F414 0029C354 41 82 00 08 */ beq lbl_8029F41C
lbl_8029F418:
/* 8029F418 0029C358 38 80 00 01 */ li r4, 1
lbl_8029F41C:
/* 8029F41C 0029C35C 4B FF 36 21 */ bl JASTrack_NS_pause
/* 8029F420 0029C360 38 7E 00 C8 */ addi r3, r30, 0xc8
/* 8029F424 0029C364 38 80 00 00 */ li r4, 0
/* 8029F428 0029C368 88 1E 00 2C */ lbz r0, 0x2c(r30)
/* 8029F42C 0029C36C 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 8029F430 0029C370 40 82 00 10 */ bne lbl_8029F440
/* 8029F434 0029C374 88 1F 00 00 */ lbz r0, 0(r31)
/* 8029F438 0029C378 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 8029F43C 0029C37C 41 82 00 08 */ beq lbl_8029F444
lbl_8029F440:
/* 8029F440 0029C380 38 80 00 01 */ li r4, 1
lbl_8029F444:
/* 8029F444 0029C384 4B FF 33 5D */ bl JASTrack_NS_mute
/* 8029F448 0029C388 48 00 00 6C */ b lbl_8029F4B4
lbl_8029F44C:
/* 8029F44C 0029C38C 7F C3 F3 78 */ mr r3, r30
/* 8029F450 0029C390 7F A4 EB 78 */ mr r4, r29
/* 8029F454 0029C394 4B FF FD FD */ bl JAISe_NS_startTrack_
/* 8029F458 0029C398 48 00 00 5C */ b lbl_8029F4B4
lbl_8029F45C:
/* 8029F45C 0029C39C 88 7E 00 2D */ lbz r3, 0x2d(r30)
/* 8029F460 0029C3A0 54 60 CF FF */ rlwinm. r0, r3, 0x19, 0x1f, 0x1f
/* 8029F464 0029C3A4 41 82 00 28 */ beq lbl_8029F48C
/* 8029F468 0029C3A8 54 60 DF FF */ rlwinm. r0, r3, 0x1b, 0x1f, 0x1f
/* 8029F46C 0029C3AC 41 82 00 14 */ beq lbl_8029F480
/* 8029F470 0029C3B0 38 7E 00 C8 */ addi r3, r30, 0xc8
/* 8029F474 0029C3B4 38 80 00 01 */ li r4, 1
/* 8029F478 0029C3B8 4B FF 35 C5 */ bl JASTrack_NS_pause
/* 8029F47C 0029C3BC 48 00 00 38 */ b lbl_8029F4B4
lbl_8029F480:
/* 8029F480 0029C3C0 7F C3 F3 78 */ mr r3, r30
/* 8029F484 0029C3C4 4B FF FD 91 */ bl JAISe_NS_stopTrack_
/* 8029F488 0029C3C8 48 00 00 2C */ b lbl_8029F4B4
lbl_8029F48C:
/* 8029F48C 0029C3CC 7F C3 F3 78 */ mr r3, r30
/* 8029F490 0029C3D0 4B FF FD 85 */ bl JAISe_NS_stopTrack_
/* 8029F494 0029C3D4 38 60 00 00 */ li r3, 0
/* 8029F498 0029C3D8 88 1E 00 2F */ lbz r0, 0x2f(r30)
/* 8029F49C 0029C3DC 50 60 1F 38 */ rlwimi r0, r3, 3, 0x1c, 0x1c
/* 8029F4A0 0029C3E0 98 1E 00 2F */ stb r0, 0x2f(r30)
/* 8029F4A4 0029C3E4 38 60 00 01 */ li r3, 1
/* 8029F4A8 0029C3E8 88 1E 00 2F */ lbz r0, 0x2f(r30)
/* 8029F4AC 0029C3EC 50 60 3E 30 */ rlwimi r0, r3, 7, 0x18, 0x18
/* 8029F4B0 0029C3F0 98 1E 00 2F */ stb r0, 0x2f(r30)
lbl_8029F4B4:
/* 8029F4B4 0029C3F4 39 61 00 20 */ addi r11, r1, 0x20
/* 8029F4B8 0029C3F8 48 0C 2D 6D */ bl func_80362224
/* 8029F4BC 0029C3FC 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8029F4C0 0029C400 7C 08 03 A6 */ mtlr r0
/* 8029F4C4 0029C404 38 21 00 20 */ addi r1, r1, 0x20
/* 8029F4C8 0029C408 4E 80 00 20 */ blr
.global JAISe_NS_JAISeCategoryMgr_calc_
JAISe_NS_JAISeCategoryMgr_calc_:
/* 8029F4CC 0029C40C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8029F4D0 0029C410 7C 08 02 A6 */ mflr r0
/* 8029F4D4 0029C414 90 01 00 14 */ stw r0, 0x14(r1)
/* 8029F4D8 0029C418 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8029F4DC 0029C41C 7C 7F 1B 78 */ mr r31, r3
/* 8029F4E0 0029C420 48 00 02 AD */ bl JAISe_NS_prepare_
/* 8029F4E4 0029C424 38 7F 00 10 */ addi r3, r31, 0x10
/* 8029F4E8 0029C428 48 00 31 D1 */ bl JAISound_NS_calc_JAISound_
/* 8029F4EC 0029C42C 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 8029F4F0 0029C430 41 82 00 5C */ beq lbl_8029F54C
/* 8029F4F4 0029C434 C0 3F 03 28 */ lfs f1, 0x328(r31)
/* 8029F4F8 0029C438 80 7F 03 34 */ lwz r3, 0x334(r31)
/* 8029F4FC 0029C43C 28 03 00 01 */ cmplwi r3, 1
/* 8029F500 0029C440 40 81 00 18 */ ble lbl_8029F518
/* 8029F504 0029C444 38 03 FF FF */ addi r0, r3, -1
/* 8029F508 0029C448 90 1F 03 34 */ stw r0, 0x334(r31)
/* 8029F50C 0029C44C C0 1F 03 2C */ lfs f0, 0x32c(r31)
/* 8029F510 0029C450 EC 21 00 2A */ fadds f1, f1, f0
/* 8029F514 0029C454 48 00 00 14 */ b lbl_8029F528
lbl_8029F518:
/* 8029F518 0029C458 40 82 00 10 */ bne lbl_8029F528
/* 8029F51C 0029C45C 38 00 00 00 */ li r0, 0
/* 8029F520 0029C460 90 1F 03 34 */ stw r0, 0x334(r31)
/* 8029F524 0029C464 C0 3F 03 30 */ lfs f1, 0x330(r31)
lbl_8029F528:
/* 8029F528 0029C468 D0 3F 03 28 */ stfs f1, 0x328(r31)
/* 8029F52C 0029C46C 80 7F 03 24 */ lwz r3, 0x324(r31)
/* 8029F530 0029C470 28 03 00 00 */ cmplwi r3, 0
/* 8029F534 0029C474 41 82 00 18 */ beq lbl_8029F54C
/* 8029F538 0029C478 7F E4 FB 78 */ mr r4, r31
/* 8029F53C 0029C47C 81 83 00 00 */ lwz r12, 0(r3)
/* 8029F540 0029C480 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 8029F544 0029C484 7D 89 03 A6 */ mtctr r12
/* 8029F548 0029C488 4E 80 04 21 */ bctrl
lbl_8029F54C:
/* 8029F54C 0029C48C 38 80 00 00 */ li r4, 0
/* 8029F550 0029C490 88 7F 00 2F */ lbz r3, 0x2f(r31)
/* 8029F554 0029C494 54 60 CF FF */ rlwinm. r0, r3, 0x19, 0x1f, 0x1f
/* 8029F558 0029C498 41 82 00 2C */ beq lbl_8029F584
/* 8029F55C 0029C49C 54 60 EF FF */ rlwinm. r0, r3, 0x1d, 0x1f, 0x1f
/* 8029F560 0029C4A0 41 82 00 20 */ beq lbl_8029F580
/* 8029F564 0029C4A4 80 1F 00 40 */ lwz r0, 0x40(r31)
/* 8029F568 0029C4A8 28 00 00 00 */ cmplwi r0, 0
/* 8029F56C 0029C4AC 40 82 00 18 */ bne lbl_8029F584
/* 8029F570 0029C4B0 C0 3F 00 34 */ lfs f1, 0x34(r31)
/* 8029F574 0029C4B4 C0 02 BD 84 */ lfs f0, lbl_80455784-_SDA2_BASE_(r2)
/* 8029F578 0029C4B8 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8029F57C 0029C4BC 40 80 00 08 */ bge lbl_8029F584
lbl_8029F580:
/* 8029F580 0029C4C0 38 80 00 01 */ li r4, 1
lbl_8029F584:
/* 8029F584 0029C4C4 54 80 06 3F */ clrlwi. r0, r4, 0x18
/* 8029F588 0029C4C8 40 82 00 14 */ bne lbl_8029F59C
/* 8029F58C 0029C4CC 80 7F 00 44 */ lwz r3, 0x44(r31)
/* 8029F590 0029C4D0 3C 03 00 01 */ addis r0, r3, 1
/* 8029F594 0029C4D4 28 00 FF FF */ cmplwi r0, 0xffff
/* 8029F598 0029C4D8 40 82 00 10 */ bne lbl_8029F5A8
lbl_8029F59C:
/* 8029F59C 0029C4DC 38 00 FF FF */ li r0, -1
/* 8029F5A0 0029C4E0 90 1F 00 B0 */ stw r0, 0xb0(r31)
/* 8029F5A4 0029C4E4 48 00 00 10 */ b lbl_8029F5B4
lbl_8029F5A8:
/* 8029F5A8 0029C4E8 80 1F 00 AC */ lwz r0, 0xac(r31)
/* 8029F5AC 0029C4EC 7C 00 1A 14 */ add r0, r0, r3
/* 8029F5B0 0029C4F0 90 1F 00 B0 */ stw r0, 0xb0(r31)
lbl_8029F5B4:
/* 8029F5B4 0029C4F4 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8029F5B8 0029C4F8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8029F5BC 0029C4FC 7C 08 03 A6 */ mtlr r0
/* 8029F5C0 0029C500 38 21 00 10 */ addi r1, r1, 0x10
/* 8029F5C4 0029C504 4E 80 00 20 */ blr
.global JAISe_NS_JAISound_tryDie_
JAISe_NS_JAISound_tryDie_:
/* 8029F5C8 0029C508 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8029F5CC 0029C50C 7C 08 02 A6 */ mflr r0
/* 8029F5D0 0029C510 90 01 00 14 */ stw r0, 0x14(r1)
/* 8029F5D4 0029C514 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8029F5D8 0029C518 7C 7F 1B 78 */ mr r31, r3
/* 8029F5DC 0029C51C 88 03 02 DD */ lbz r0, 0x2dd(r3)
/* 8029F5E0 0029C520 2C 00 00 01 */ cmpwi r0, 1
/* 8029F5E4 0029C524 41 82 00 54 */ beq lbl_8029F638
/* 8029F5E8 0029C528 40 80 00 10 */ bge lbl_8029F5F8
/* 8029F5EC 0029C52C 2C 00 00 00 */ cmpwi r0, 0
/* 8029F5F0 0029C530 40 80 00 10 */ bge lbl_8029F600
/* 8029F5F4 0029C534 48 00 00 44 */ b lbl_8029F638
lbl_8029F5F8:
/* 8029F5F8 0029C538 2C 00 00 03 */ cmpwi r0, 3
/* 8029F5FC 0029C53C 40 80 00 3C */ bge lbl_8029F638
lbl_8029F600:
/* 8029F600 0029C540 80 9F 03 24 */ lwz r4, 0x324(r31)
/* 8029F604 0029C544 28 04 00 00 */ cmplwi r4, 0
/* 8029F608 0029C548 41 82 00 20 */ beq lbl_8029F628
/* 8029F60C 0029C54C 80 7F 03 20 */ lwz r3, 0x320(r31)
/* 8029F610 0029C550 81 83 00 00 */ lwz r12, 0(r3)
/* 8029F614 0029C554 81 8C 00 10 */ lwz r12, 0x10(r12)
/* 8029F618 0029C558 7D 89 03 A6 */ mtctr r12
/* 8029F61C 0029C55C 4E 80 04 21 */ bctrl
/* 8029F620 0029C560 38 00 00 00 */ li r0, 0
/* 8029F624 0029C564 90 1F 03 24 */ stw r0, 0x324(r31)
lbl_8029F628:
/* 8029F628 0029C568 38 7F 00 10 */ addi r3, r31, 0x10
/* 8029F62C 0029C56C 48 00 2F C5 */ bl JAISound_NS_die_JAISound_
/* 8029F630 0029C570 38 60 00 01 */ li r3, 1
/* 8029F634 0029C574 48 00 00 08 */ b lbl_8029F63C
lbl_8029F638:
/* 8029F638 0029C578 38 60 00 00 */ li r3, 0
lbl_8029F63C:
/* 8029F63C 0029C57C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8029F640 0029C580 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8029F644 0029C584 7C 08 03 A6 */ mtlr r0
/* 8029F648 0029C588 38 21 00 10 */ addi r1, r1, 0x10
/* 8029F64C 0029C58C 4E 80 00 20 */ blr
.global JAISe_NS_JAISeMgr_startID_
JAISe_NS_JAISeMgr_startID_:
/* 8029F650 0029C590 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8029F654 0029C594 7C 08 02 A6 */ mflr r0
/* 8029F658 0029C598 90 01 00 24 */ stw r0, 0x24(r1)
/* 8029F65C 0029C59C 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8029F660 0029C5A0 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8029F664 0029C5A4 7C 7E 1B 78 */ mr r30, r3
/* 8029F668 0029C5A8 7C 9F 23 78 */ mr r31, r4
/* 8029F66C 0029C5AC 80 04 00 00 */ lwz r0, 0(r4)
/* 8029F670 0029C5B0 90 01 00 0C */ stw r0, 0xc(r1)
/* 8029F674 0029C5B4 38 7E 00 10 */ addi r3, r30, 0x10
/* 8029F678 0029C5B8 38 81 00 0C */ addi r4, r1, 0xc
/* 8029F67C 0029C5BC 48 00 2C AD */ bl JAISound_NS_start_JAISound_
/* 8029F680 0029C5C0 38 60 00 00 */ li r3, 0
/* 8029F684 0029C5C4 98 7E 03 18 */ stb r3, 0x318(r30)
/* 8029F688 0029C5C8 80 1E 03 20 */ lwz r0, 0x320(r30)
/* 8029F68C 0029C5CC 28 00 00 00 */ cmplwi r0, 0
/* 8029F690 0029C5D0 41 82 00 2C */ beq lbl_8029F6BC
/* 8029F694 0029C5D4 80 1F 00 00 */ lwz r0, 0(r31)
/* 8029F698 0029C5D8 90 01 00 08 */ stw r0, 8(r1)
/* 8029F69C 0029C5DC 80 7E 03 20 */ lwz r3, 0x320(r30)
/* 8029F6A0 0029C5E0 38 81 00 08 */ addi r4, r1, 8
/* 8029F6A4 0029C5E4 81 83 00 00 */ lwz r12, 0(r3)
/* 8029F6A8 0029C5E8 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 8029F6AC 0029C5EC 7D 89 03 A6 */ mtctr r12
/* 8029F6B0 0029C5F0 4E 80 04 21 */ bctrl
/* 8029F6B4 0029C5F4 90 7E 03 24 */ stw r3, 0x324(r30)
/* 8029F6B8 0029C5F8 48 00 00 08 */ b lbl_8029F6C0
lbl_8029F6BC:
/* 8029F6BC 0029C5FC 90 7E 03 24 */ stw r3, 0x324(r30)
lbl_8029F6C0:
/* 8029F6C0 0029C600 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8029F6C4 0029C604 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8029F6C8 0029C608 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8029F6CC 0029C60C 7C 08 03 A6 */ mtlr r0
/* 8029F6D0 0029C610 38 21 00 20 */ addi r1, r1, 0x20
/* 8029F6D4 0029C614 4E 80 00 20 */ blr
.global JAISe_NS_getNumChild
JAISe_NS_getNumChild:
/* 8029F6D8 0029C618 38 60 00 00 */ li r3, 0
/* 8029F6DC 0029C61C 4E 80 00 20 */ blr
.global JAISe_NS_getChild
JAISe_NS_getChild:
/* 8029F6E0 0029C620 38 60 00 00 */ li r3, 0
/* 8029F6E4 0029C624 4E 80 00 20 */ blr
.global JAISe_NS_releaseChild
JAISe_NS_releaseChild:
/* 8029F6E8 0029C628 4E 80 00 20 */ blr
.global JAISe_NS_prepare_getSeqData_
JAISe_NS_prepare_getSeqData_:
/* 8029F6EC 0029C62C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8029F6F0 0029C630 7C 08 02 A6 */ mflr r0
/* 8029F6F4 0029C634 90 01 00 24 */ stw r0, 0x24(r1)
/* 8029F6F8 0029C638 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8029F6FC 0029C63C 7C 7F 1B 78 */ mr r31, r3
/* 8029F700 0029C640 80 03 00 28 */ lwz r0, 0x28(r3)
/* 8029F704 0029C644 90 01 00 08 */ stw r0, 8(r1)
/* 8029F708 0029C648 80 63 03 1C */ lwz r3, 0x31c(r3)
/* 8029F70C 0029C64C 80 63 00 0C */ lwz r3, 0xc(r3)
/* 8029F710 0029C650 38 81 00 08 */ addi r4, r1, 8
/* 8029F714 0029C654 38 BF 03 10 */ addi r5, r31, 0x310
/* 8029F718 0029C658 81 83 00 00 */ lwz r12, 0(r3)
/* 8029F71C 0029C65C 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 8029F720 0029C660 7D 89 03 A6 */ mtctr r12
/* 8029F724 0029C664 4E 80 04 21 */ bctrl
/* 8029F728 0029C668 2C 03 00 01 */ cmpwi r3, 1
/* 8029F72C 0029C66C 41 82 00 30 */ beq lbl_8029F75C
/* 8029F730 0029C670 40 80 00 10 */ bge lbl_8029F740
/* 8029F734 0029C674 2C 03 00 00 */ cmpwi r3, 0
/* 8029F738 0029C678 40 80 00 14 */ bge lbl_8029F74C
/* 8029F73C 0029C67C 48 00 00 38 */ b lbl_8029F774
lbl_8029F740:
/* 8029F740 0029C680 2C 03 00 03 */ cmpwi r3, 3
/* 8029F744 0029C684 40 80 00 30 */ bge lbl_8029F774
/* 8029F748 0029C688 48 00 00 24 */ b lbl_8029F76C
lbl_8029F74C:
/* 8029F74C 0029C68C 38 00 00 02 */ li r0, 2
/* 8029F750 0029C690 98 1F 00 2E */ stb r0, 0x2e(r31)
/* 8029F754 0029C694 38 60 00 00 */ li r3, 0
/* 8029F758 0029C698 48 00 00 20 */ b lbl_8029F778
lbl_8029F75C:
/* 8029F75C 0029C69C 38 7F 00 10 */ addi r3, r31, 0x10
/* 8029F760 0029C6A0 48 00 2F 0D */ bl JAISound_NS_increasePrepareCount_JAISound_
/* 8029F764 0029C6A4 38 60 00 00 */ li r3, 0
/* 8029F768 0029C6A8 48 00 00 10 */ b lbl_8029F778
lbl_8029F76C:
/* 8029F76C 0029C6AC 38 60 00 01 */ li r3, 1
/* 8029F770 0029C6B0 48 00 00 08 */ b lbl_8029F778
lbl_8029F774:
/* 8029F774 0029C6B4 38 60 00 00 */ li r3, 0
lbl_8029F778:
/* 8029F778 0029C6B8 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8029F77C 0029C6BC 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8029F780 0029C6C0 7C 08 03 A6 */ mtlr r0
/* 8029F784 0029C6C4 38 21 00 20 */ addi r1, r1, 0x20
/* 8029F788 0029C6C8 4E 80 00 20 */ blr
.global JAISe_NS_prepare_
JAISe_NS_prepare_:
/* 8029F78C 0029C6CC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8029F790 0029C6D0 7C 08 02 A6 */ mflr r0
/* 8029F794 0029C6D4 90 01 00 14 */ stw r0, 0x14(r1)
/* 8029F798 0029C6D8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8029F79C 0029C6DC 7C 7F 1B 78 */ mr r31, r3
/* 8029F7A0 0029C6E0 88 03 00 2E */ lbz r0, 0x2e(r3)
/* 8029F7A4 0029C6E4 2C 00 00 03 */ cmpwi r0, 3
/* 8029F7A8 0029C6E8 41 82 00 90 */ beq lbl_8029F838
/* 8029F7AC 0029C6EC 40 80 00 1C */ bge lbl_8029F7C8
/* 8029F7B0 0029C6F0 2C 00 00 01 */ cmpwi r0, 1
/* 8029F7B4 0029C6F4 41 82 00 64 */ beq lbl_8029F818
/* 8029F7B8 0029C6F8 40 80 00 24 */ bge lbl_8029F7DC
/* 8029F7BC 0029C6FC 2C 00 00 00 */ cmpwi r0, 0
/* 8029F7C0 0029C700 40 80 00 40 */ bge lbl_8029F800
/* 8029F7C4 0029C704 48 00 00 74 */ b lbl_8029F838
lbl_8029F7C8:
/* 8029F7C8 0029C708 2C 00 00 07 */ cmpwi r0, 7
/* 8029F7CC 0029C70C 40 80 00 6C */ bge lbl_8029F838
/* 8029F7D0 0029C710 2C 00 00 05 */ cmpwi r0, 5
/* 8029F7D4 0029C714 40 80 00 64 */ bge lbl_8029F838
/* 8029F7D8 0029C718 48 00 00 58 */ b lbl_8029F830
lbl_8029F7DC:
/* 8029F7DC 0029C71C 38 60 00 00 */ li r3, 0
/* 8029F7E0 0029C720 88 1F 00 2F */ lbz r0, 0x2f(r31)
/* 8029F7E4 0029C724 50 60 1F 38 */ rlwimi r0, r3, 3, 0x1c, 0x1c
/* 8029F7E8 0029C728 98 1F 00 2F */ stb r0, 0x2f(r31)
/* 8029F7EC 0029C72C 38 60 00 01 */ li r3, 1
/* 8029F7F0 0029C730 88 1F 00 2F */ lbz r0, 0x2f(r31)
/* 8029F7F4 0029C734 50 60 3E 30 */ rlwimi r0, r3, 7, 0x18, 0x18
/* 8029F7F8 0029C738 98 1F 00 2F */ stb r0, 0x2f(r31)
/* 8029F7FC 0029C73C 48 00 00 3C */ b lbl_8029F838
lbl_8029F800:
/* 8029F800 0029C740 4B FF FE ED */ bl JAISe_NS_prepare_getSeqData_
/* 8029F804 0029C744 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 8029F808 0029C748 41 82 00 30 */ beq lbl_8029F838
/* 8029F80C 0029C74C 38 00 00 05 */ li r0, 5
/* 8029F810 0029C750 98 1F 00 2E */ stb r0, 0x2e(r31)
/* 8029F814 0029C754 48 00 00 24 */ b lbl_8029F838
lbl_8029F818:
/* 8029F818 0029C758 4B FF FE D5 */ bl JAISe_NS_prepare_getSeqData_
/* 8029F81C 0029C75C 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 8029F820 0029C760 41 82 00 18 */ beq lbl_8029F838
/* 8029F824 0029C764 38 00 00 03 */ li r0, 3
/* 8029F828 0029C768 98 1F 00 2E */ stb r0, 0x2e(r31)
/* 8029F82C 0029C76C 48 00 00 0C */ b lbl_8029F838
lbl_8029F830:
/* 8029F830 0029C770 38 00 00 05 */ li r0, 5
/* 8029F834 0029C774 98 1F 00 2E */ stb r0, 0x2e(r31)
lbl_8029F838:
/* 8029F838 0029C778 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8029F83C 0029C77C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8029F840 0029C780 7C 08 03 A6 */ mtlr r0
/* 8029F844 0029C784 38 21 00 10 */ addi r1, r1, 0x10
/* 8029F848 0029C788 4E 80 00 20 */ blr
.global JAISe_NS_getTrack
JAISe_NS_getTrack:
/* 8029F84C 0029C78C 38 63 00 C8 */ addi r3, r3, 0xc8
/* 8029F850 0029C790 4E 80 00 20 */ blr
.global JAISe_NS_getChildTrack
JAISe_NS_getChildTrack:
/* 8029F854 0029C794 54 80 10 3A */ slwi r0, r4, 2
/* 8029F858 0029C798 7C 63 02 14 */ add r3, r3, r0
/* 8029F85C 0029C79C 80 63 01 F8 */ lwz r3, 0x1f8(r3)
/* 8029F860 0029C7A0 4E 80 00 20 */ blr
.global JAISe_NS_asSe
JAISe_NS_asSe:
/* 8029F864 0029C7A4 4E 80 00 20 */ blr
.global JAISe_NS_getTempoMgr
JAISe_NS_getTempoMgr:
/* 8029F868 0029C7A8 38 63 03 28 */ addi r3, r3, 0x328
/* 8029F86C 0029C7AC 4E 80 00 20 */ blr
/* 8029F870 0029C7B0 38 63 FF F0 */ addi r3, r3, -16
.global JAISe_NS_JAISound_tryDie_
/* 8029F874 0029C7B4 4B FF FD 54 */ b JAISe_NS_JAISound_tryDie_
/* 8029F878 0029C7B8 38 63 FF F0 */ addi r3, r3, -16
.global JAISe_NS_getTempoMgr
/* 8029F87C 0029C7BC 4B FF FF EC */ b JAISe_NS_getTempoMgr
/* 8029F880 0029C7C0 38 63 FF F0 */ addi r3, r3, -16
.global JAISe_NS_getChildTrack
/* 8029F884 0029C7C4 4B FF FF D0 */ b JAISe_NS_getChildTrack
/* 8029F888 0029C7C8 38 63 FF F0 */ addi r3, r3, -16
.global JAISe_NS_getTrack
/* 8029F88C 0029C7CC 4B FF FF C0 */ b JAISe_NS_getTrack
/* 8029F890 0029C7D0 38 63 FF F0 */ addi r3, r3, -16
.global JAISe_NS_asSe
/* 8029F894 0029C7D4 4B FF FF D0 */ b JAISe_NS_asSe
/* 8029F898 0029C7D8 38 63 FF F0 */ addi r3, r3, -16
.global JAISe_NS_releaseChild
/* 8029F89C 0029C7DC 4B FF FE 4C */ b JAISe_NS_releaseChild
/* 8029F8A0 0029C7E0 38 63 FF F0 */ addi r3, r3, -16
.global JAISe_NS_getChild
/* 8029F8A4 0029C7E4 4B FF FE 3C */ b JAISe_NS_getChild
/* 8029F8A8 0029C7E8 38 63 FF F0 */ addi r3, r3, -16
.global JAISe_NS_getNumChild
/* 8029F8AC 0029C7EC 4B FF FE 2C */ b JAISe_NS_getNumChild

1336
asm/JAudio2/JAISeMgr.s Normal file

File diff suppressed because it is too large Load Diff

952
asm/JAudio2/JAISeq.s Normal file
View File

@ -0,0 +1,952 @@
.include "macros.inc"
.section .text, "ax" # 802a0a6c
.global _unnamed_JAISeq_cpp__NS_JASTrack_isFreeOrStopped
_unnamed_JAISeq_cpp__NS_JASTrack_isFreeOrStopped:
/* 802A0A6C 0029D9AC 88 03 02 15 */ lbz r0, 0x215(r3)
/* 802A0A70 0029D9B0 54 00 06 3F */ clrlwi. r0, r0, 0x18
/* 802A0A74 0029D9B4 38 60 00 00 */ li r3, 0
/* 802A0A78 0029D9B8 41 82 00 0C */ beq lbl_802A0A84
/* 802A0A7C 0029D9BC 28 00 00 02 */ cmplwi r0, 2
/* 802A0A80 0029D9C0 4C 82 00 20 */ bnelr
lbl_802A0A84:
/* 802A0A84 0029D9C4 38 60 00 01 */ li r3, 1
/* 802A0A88 0029D9C8 4E 80 00 20 */ blr
.global JAISeq
JAISeq:
/* 802A0A8C 0029D9CC 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802A0A90 0029D9D0 7C 08 02 A6 */ mflr r0
/* 802A0A94 0029D9D4 90 01 00 24 */ stw r0, 0x24(r1)
/* 802A0A98 0029D9D8 39 61 00 20 */ addi r11, r1, 0x20
/* 802A0A9C 0029D9DC 48 0C 17 3D */ bl func_803621D8
/* 802A0AA0 0029D9E0 7C 7D 1B 78 */ mr r29, r3
/* 802A0AA4 0029D9E4 7C 9E 23 78 */ mr r30, r4
/* 802A0AA8 0029D9E8 7C BF 2B 78 */ mr r31, r5
/* 802A0AAC 0029D9EC 48 00 18 4D */ bl JAISound
/* 802A0AB0 0029D9F0 38 7D 00 98 */ addi r3, r29, 0x98
/* 802A0AB4 0029D9F4 7F A4 EB 78 */ mr r4, r29
/* 802A0AB8 0029D9F8 48 03 B3 45 */ bl JSUPtrLink
/* 802A0ABC 0029D9FC 3C 60 80 3D */ lis r3, lbl_803C98F4@ha
/* 802A0AC0 0029DA00 38 03 98 F4 */ addi r0, r3, lbl_803C98F4@l
/* 802A0AC4 0029DA04 90 1D 00 00 */ stw r0, 0(r29)
/* 802A0AC8 0029DA08 3B 9D 00 A8 */ addi r28, r29, 0xa8
/* 802A0ACC 0029DA0C 7F 83 E3 78 */ mr r3, r28
/* 802A0AD0 0029DA10 4B FF 07 59 */ bl JASTrack
/* 802A0AD4 0029DA14 C0 42 BD 98 */ lfs f2, lbl_80455798-_SDA2_BASE_(r2)
/* 802A0AD8 0029DA18 D0 5C 02 C8 */ stfs f2, 0x2c8(r28)
/* 802A0ADC 0029DA1C C0 22 BD 9C */ lfs f1, lbl_8045579C-_SDA2_BASE_(r2)
/* 802A0AE0 0029DA20 D0 3C 02 CC */ stfs f1, 0x2cc(r28)
/* 802A0AE4 0029DA24 38 80 00 00 */ li r4, 0
/* 802A0AE8 0029DA28 90 9C 02 D4 */ stw r4, 0x2d4(r28)
/* 802A0AEC 0029DA2C D0 3C 02 D0 */ stfs f1, 0x2d0(r28)
/* 802A0AF0 0029DA30 D0 5C 02 D8 */ stfs f2, 0x2d8(r28)
/* 802A0AF4 0029DA34 D0 5C 02 E0 */ stfs f2, 0x2e0(r28)
/* 802A0AF8 0029DA38 D0 3C 02 DC */ stfs f1, 0x2dc(r28)
/* 802A0AFC 0029DA3C C0 02 BD A0 */ lfs f0, lbl_804557A0-_SDA2_BASE_(r2)
/* 802A0B00 0029DA40 D0 1C 02 E4 */ stfs f0, 0x2e4(r28)
/* 802A0B04 0029DA44 D0 3C 02 E8 */ stfs f1, 0x2e8(r28)
/* 802A0B08 0029DA48 90 9C 02 EC */ stw r4, 0x2ec(r28)
/* 802A0B0C 0029DA4C 90 9C 02 F0 */ stw r4, 0x2f0(r28)
/* 802A0B10 0029DA50 93 DD 03 A0 */ stw r30, 0x3a0(r29)
/* 802A0B14 0029DA54 93 FD 03 A4 */ stw r31, 0x3a4(r29)
/* 802A0B18 0029DA58 D0 5D 03 80 */ stfs f2, 0x380(r29)
/* 802A0B1C 0029DA5C D0 5D 03 88 */ stfs f2, 0x388(r29)
/* 802A0B20 0029DA60 D0 3D 03 84 */ stfs f1, 0x384(r29)
/* 802A0B24 0029DA64 D0 1D 03 8C */ stfs f0, 0x38c(r29)
/* 802A0B28 0029DA68 D0 3D 03 90 */ stfs f1, 0x390(r29)
/* 802A0B2C 0029DA6C 7C 83 23 78 */ mr r3, r4
/* 802A0B30 0029DA70 38 00 00 20 */ li r0, 0x20
/* 802A0B34 0029DA74 7C 09 03 A6 */ mtctr r0
lbl_802A0B38:
/* 802A0B38 0029DA78 38 03 02 F0 */ addi r0, r3, 0x2f0
/* 802A0B3C 0029DA7C 7C 9D 01 2E */ stwx r4, r29, r0
/* 802A0B40 0029DA80 38 63 00 04 */ addi r3, r3, 4
/* 802A0B44 0029DA84 42 00 FF F4 */ bdnz lbl_802A0B38
/* 802A0B48 0029DA88 7F A3 EB 78 */ mr r3, r29
/* 802A0B4C 0029DA8C 39 61 00 20 */ addi r11, r1, 0x20
/* 802A0B50 0029DA90 48 0C 16 D5 */ bl func_80362224
/* 802A0B54 0029DA94 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802A0B58 0029DA98 7C 08 03 A6 */ mtlr r0
/* 802A0B5C 0029DA9C 38 21 00 20 */ addi r1, r1, 0x20
/* 802A0B60 0029DAA0 4E 80 00 20 */ blr
.global JAISeq_NS_JAISeqMgr_startID_
JAISeq_NS_JAISeqMgr_startID_:
/* 802A0B64 0029DAA4 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802A0B68 0029DAA8 7C 08 02 A6 */ mflr r0
/* 802A0B6C 0029DAAC 90 01 00 24 */ stw r0, 0x24(r1)
/* 802A0B70 0029DAB0 39 61 00 20 */ addi r11, r1, 0x20
/* 802A0B74 0029DAB4 48 0C 16 65 */ bl func_803621D8
/* 802A0B78 0029DAB8 7C 7C 1B 78 */ mr r28, r3
/* 802A0B7C 0029DABC 7C 9D 23 78 */ mr r29, r4
/* 802A0B80 0029DAC0 7C BE 2B 78 */ mr r30, r5
/* 802A0B84 0029DAC4 7C DF 33 78 */ mr r31, r6
/* 802A0B88 0029DAC8 90 E3 03 9C */ stw r7, 0x39c(r3)
/* 802A0B8C 0029DACC 7D 04 43 78 */ mr r4, r8
/* 802A0B90 0029DAD0 48 00 01 15 */ bl JAISeq_NS_reserveChildTracks_
/* 802A0B94 0029DAD4 80 1D 00 00 */ lwz r0, 0(r29)
/* 802A0B98 0029DAD8 90 01 00 0C */ stw r0, 0xc(r1)
/* 802A0B9C 0029DADC 7F 83 E3 78 */ mr r3, r28
/* 802A0BA0 0029DAE0 38 81 00 0C */ addi r4, r1, 0xc
/* 802A0BA4 0029DAE4 7F C5 F3 78 */ mr r5, r30
/* 802A0BA8 0029DAE8 7F E6 FB 78 */ mr r6, r31
/* 802A0BAC 0029DAEC 48 00 17 7D */ bl JAISound_NS_start_JAISound_
/* 802A0BB0 0029DAF0 80 1C 03 A4 */ lwz r0, 0x3a4(r28)
/* 802A0BB4 0029DAF4 28 00 00 00 */ cmplwi r0, 0
/* 802A0BB8 0029DAF8 41 82 00 2C */ beq lbl_802A0BE4
/* 802A0BBC 0029DAFC 80 1D 00 00 */ lwz r0, 0(r29)
/* 802A0BC0 0029DB00 90 01 00 08 */ stw r0, 8(r1)
/* 802A0BC4 0029DB04 80 7C 03 A4 */ lwz r3, 0x3a4(r28)
/* 802A0BC8 0029DB08 38 81 00 08 */ addi r4, r1, 8
/* 802A0BCC 0029DB0C 81 83 00 00 */ lwz r12, 0(r3)
/* 802A0BD0 0029DB10 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 802A0BD4 0029DB14 7D 89 03 A6 */ mtctr r12
/* 802A0BD8 0029DB18 4E 80 04 21 */ bctrl
/* 802A0BDC 0029DB1C 90 7C 03 A8 */ stw r3, 0x3a8(r28)
/* 802A0BE0 0029DB20 48 00 00 0C */ b lbl_802A0BEC
lbl_802A0BE4:
/* 802A0BE4 0029DB24 38 00 00 00 */ li r0, 0
/* 802A0BE8 0029DB28 90 1C 03 A8 */ stw r0, 0x3a8(r28)
lbl_802A0BEC:
/* 802A0BEC 0029DB2C 39 61 00 20 */ addi r11, r1, 0x20
/* 802A0BF0 0029DB30 48 0C 16 35 */ bl func_80362224
/* 802A0BF4 0029DB34 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802A0BF8 0029DB38 7C 08 03 A6 */ mtlr r0
/* 802A0BFC 0029DB3C 38 21 00 20 */ addi r1, r1, 0x20
/* 802A0C00 0029DB40 4E 80 00 20 */ blr
.global JAISeq_NS_playSeqData_
JAISeq_NS_playSeqData_:
/* 802A0C04 0029DB44 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802A0C08 0029DB48 7C 08 02 A6 */ mflr r0
/* 802A0C0C 0029DB4C 90 01 00 24 */ stw r0, 0x24(r1)
/* 802A0C10 0029DB50 39 61 00 20 */ addi r11, r1, 0x20
/* 802A0C14 0029DB54 48 0C 15 C9 */ bl func_803621DC
/* 802A0C18 0029DB58 7C 7D 1B 78 */ mr r29, r3
/* 802A0C1C 0029DB5C 7C 9E 23 78 */ mr r30, r4
/* 802A0C20 0029DB60 7C BF 2B 78 */ mr r31, r5
/* 802A0C24 0029DB64 38 7D 00 A8 */ addi r3, r29, 0xa8
/* 802A0C28 0029DB68 80 9D 03 94 */ lwz r4, 0x394(r29)
/* 802A0C2C 0029DB6C 80 BD 03 98 */ lwz r5, 0x398(r29)
/* 802A0C30 0029DB70 4B FF 0D D9 */ bl JASTrack_NS_setSeqData
/* 802A0C34 0029DB74 80 1D 00 08 */ lwz r0, 8(r29)
/* 802A0C38 0029DB78 28 00 00 00 */ cmplwi r0, 0
/* 802A0C3C 0029DB7C 41 82 00 14 */ beq lbl_802A0C50
/* 802A0C40 0029DB80 7F A3 EB 78 */ mr r3, r29
/* 802A0C44 0029DB84 38 9D 00 A8 */ addi r4, r29, 0xa8
/* 802A0C48 0029DB88 48 00 1D 95 */ bl JAISound_NS_initTrack_JAISound_
/* 802A0C4C 0029DB8C 48 00 00 20 */ b lbl_802A0C6C
lbl_802A0C50:
/* 802A0C50 0029DB90 38 7D 00 A8 */ addi r3, r29, 0xa8
/* 802A0C54 0029DB94 38 80 00 01 */ li r4, 1
/* 802A0C58 0029DB98 4B FF 07 ED */ bl JASTrack_NS_setChannelMgrCount
/* 802A0C5C 0029DB9C 38 7D 00 A8 */ addi r3, r29, 0xa8
/* 802A0C60 0029DBA0 38 80 00 00 */ li r4, 0
/* 802A0C64 0029DBA4 38 BD 03 80 */ addi r5, r29, 0x380
/* 802A0C68 0029DBA8 4B FF 0D 8D */ bl JASTrack_NS_assignExtBuffer
lbl_802A0C6C:
/* 802A0C6C 0029DBAC 88 1F 00 00 */ lbz r0, 0(r31)
/* 802A0C70 0029DBB0 98 01 00 08 */ stb r0, 8(r1)
/* 802A0C74 0029DBB4 7F A3 EB 78 */ mr r3, r29
/* 802A0C78 0029DBB8 7F C4 F3 78 */ mr r4, r30
/* 802A0C7C 0029DBBC 38 A1 00 08 */ addi r5, r1, 8
/* 802A0C80 0029DBC0 48 00 06 C9 */ bl JAISeq_NS_mixOut_
/* 802A0C84 0029DBC4 38 7D 00 A8 */ addi r3, r29, 0xa8
/* 802A0C88 0029DBC8 4B FF 0D A1 */ bl JASTrack_NS_startSeq
/* 802A0C8C 0029DBCC 39 61 00 20 */ addi r11, r1, 0x20
/* 802A0C90 0029DBD0 48 0C 15 99 */ bl func_80362228
/* 802A0C94 0029DBD4 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802A0C98 0029DBD8 7C 08 03 A6 */ mtlr r0
/* 802A0C9C 0029DBDC 38 21 00 20 */ addi r1, r1, 0x20
/* 802A0CA0 0029DBE0 4E 80 00 20 */ blr
.global JAISeq_NS_reserveChildTracks_
JAISeq_NS_reserveChildTracks_:
/* 802A0CA4 0029DBE4 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 802A0CA8 0029DBE8 7C 08 02 A6 */ mflr r0
/* 802A0CAC 0029DBEC 90 01 00 34 */ stw r0, 0x34(r1)
/* 802A0CB0 0029DBF0 39 61 00 30 */ addi r11, r1, 0x30
/* 802A0CB4 0029DBF4 48 0C 15 15 */ bl func_803621C8
/* 802A0CB8 0029DBF8 7C 7D 1B 78 */ mr r29, r3
/* 802A0CBC 0029DBFC 7C 9C 23 78 */ mr r28, r4
/* 802A0CC0 0029DC00 3B C0 00 00 */ li r30, 0
/* 802A0CC4 0029DC04 3B E0 00 00 */ li r31, 0
/* 802A0CC8 0029DC08 3C 60 80 43 */ lis r3, lbl_80431B04@ha
/* 802A0CCC 0029DC0C 3B 63 1B 04 */ addi r27, r3, lbl_80431B04@l
lbl_802A0CD0:
/* 802A0CD0 0029DC10 88 0D 8C B1 */ lbz r0, lbl_80451231-_SDA_BASE_(r13)
/* 802A0CD4 0029DC14 7C 00 07 75 */ extsb. r0, r0
/* 802A0CD8 0029DC18 40 82 00 34 */ bne lbl_802A0D0C
/* 802A0CDC 0029DC1C 3C 60 80 43 */ lis r3, lbl_80431B04@ha
/* 802A0CE0 0029DC20 38 63 1B 04 */ addi r3, r3, lbl_80431B04@l
/* 802A0CE4 0029DC24 4B FE FB 65 */ bl JASGenericMemPool
/* 802A0CE8 0029DC28 3C 60 80 43 */ lis r3, lbl_80431B04@ha
/* 802A0CEC 0029DC2C 38 63 1B 04 */ addi r3, r3, lbl_80431B04@l
.global JASMemPool_MultiThreaded_NS_dtor
/* 802A0CF0 0029DC30 3C 80 80 29 */ lis r4, JASMemPool_MultiThreaded_NS_dtor@ha
.global JASMemPool_MultiThreaded_NS_dtor
/* 802A0CF4 0029DC34 38 84 32 E0 */ addi r4, r4, JASMemPool_MultiThreaded_NS_dtor@l
/* 802A0CF8 0029DC38 3C A0 80 43 */ lis r5, lbl_80434098@ha
/* 802A0CFC 0029DC3C 38 A5 40 98 */ addi r5, r5, lbl_80434098@l
/* 802A0D00 0029DC40 48 0C 0F 25 */ bl func_80361C24
/* 802A0D04 0029DC44 38 00 00 01 */ li r0, 1
/* 802A0D08 0029DC48 98 0D 8C B1 */ stb r0, lbl_80451231-_SDA_BASE_(r13)
lbl_802A0D0C:
/* 802A0D0C 0029DC4C 48 09 C9 E9 */ bl __RAS_OSDisableInterrupts_begin
/* 802A0D10 0029DC50 90 61 00 0C */ stw r3, 0xc(r1)
/* 802A0D14 0029DC54 7F 63 DB 78 */ mr r3, r27
/* 802A0D18 0029DC58 38 80 02 48 */ li r4, 0x248
/* 802A0D1C 0029DC5C 4B FE FC 2D */ bl JASGenericMemPool_NS_alloc
/* 802A0D20 0029DC60 7C 7A 1B 78 */ mr r26, r3
/* 802A0D24 0029DC64 80 61 00 0C */ lwz r3, 0xc(r1)
/* 802A0D28 0029DC68 48 09 C9 F5 */ bl OSRestoreInterrupts
/* 802A0D2C 0029DC6C 28 1A 00 00 */ cmplwi r26, 0
/* 802A0D30 0029DC70 41 82 00 10 */ beq lbl_802A0D40
/* 802A0D34 0029DC74 7F 43 D3 78 */ mr r3, r26
/* 802A0D38 0029DC78 4B FF 04 F1 */ bl JASTrack
/* 802A0D3C 0029DC7C 7C 7A 1B 78 */ mr r26, r3
lbl_802A0D40:
/* 802A0D40 0029DC80 28 1A 00 00 */ cmplwi r26, 0
/* 802A0D44 0029DC84 41 82 00 DC */ beq lbl_802A0E20
/* 802A0D48 0029DC88 38 60 00 01 */ li r3, 1
/* 802A0D4C 0029DC8C 88 1A 02 16 */ lbz r0, 0x216(r26)
/* 802A0D50 0029DC90 50 60 26 F6 */ rlwimi r0, r3, 4, 0x1b, 0x1b
/* 802A0D54 0029DC94 98 1A 02 16 */ stb r0, 0x216(r26)
/* 802A0D58 0029DC98 38 7D 00 A8 */ addi r3, r29, 0xa8
/* 802A0D5C 0029DC9C 7F C4 F3 78 */ mr r4, r30
/* 802A0D60 0029DCA0 7F 45 D3 78 */ mr r5, r26
/* 802A0D64 0029DCA4 4B FF 0E 29 */ bl JASTrack_NS_connectChild
/* 802A0D68 0029DCA8 3B 20 00 00 */ li r25, 0
lbl_802A0D6C:
/* 802A0D6C 0029DCAC 7C 19 FA 14 */ add r0, r25, r31
/* 802A0D70 0029DCB0 7C 00 E0 00 */ cmpw r0, r28
/* 802A0D74 0029DCB4 40 80 00 A0 */ bge lbl_802A0E14
/* 802A0D78 0029DCB8 88 0D 8C B1 */ lbz r0, lbl_80451231-_SDA_BASE_(r13)
/* 802A0D7C 0029DCBC 7C 00 07 75 */ extsb. r0, r0
/* 802A0D80 0029DCC0 40 82 00 34 */ bne lbl_802A0DB4
/* 802A0D84 0029DCC4 3C 60 80 43 */ lis r3, lbl_80431B04@ha
/* 802A0D88 0029DCC8 38 63 1B 04 */ addi r3, r3, lbl_80431B04@l
/* 802A0D8C 0029DCCC 4B FE FA BD */ bl JASGenericMemPool
/* 802A0D90 0029DCD0 3C 60 80 43 */ lis r3, lbl_80431B04@ha
/* 802A0D94 0029DCD4 38 63 1B 04 */ addi r3, r3, lbl_80431B04@l
.global JASMemPool_MultiThreaded_NS_dtor
/* 802A0D98 0029DCD8 3C 80 80 29 */ lis r4, JASMemPool_MultiThreaded_NS_dtor@ha
.global JASMemPool_MultiThreaded_NS_dtor
/* 802A0D9C 0029DCDC 38 84 32 E0 */ addi r4, r4, JASMemPool_MultiThreaded_NS_dtor@l
/* 802A0DA0 0029DCE0 3C A0 80 43 */ lis r5, lbl_80434098@ha
/* 802A0DA4 0029DCE4 38 A5 40 98 */ addi r5, r5, lbl_80434098@l
/* 802A0DA8 0029DCE8 48 0C 0E 7D */ bl func_80361C24
/* 802A0DAC 0029DCEC 38 00 00 01 */ li r0, 1
/* 802A0DB0 0029DCF0 98 0D 8C B1 */ stb r0, lbl_80451231-_SDA_BASE_(r13)
lbl_802A0DB4:
/* 802A0DB4 0029DCF4 48 09 C9 41 */ bl __RAS_OSDisableInterrupts_begin
/* 802A0DB8 0029DCF8 90 61 00 08 */ stw r3, 8(r1)
/* 802A0DBC 0029DCFC 3C 60 80 43 */ lis r3, lbl_80431B04@ha
/* 802A0DC0 0029DD00 38 63 1B 04 */ addi r3, r3, lbl_80431B04@l
/* 802A0DC4 0029DD04 38 80 02 48 */ li r4, 0x248
/* 802A0DC8 0029DD08 4B FE FB 81 */ bl JASGenericMemPool_NS_alloc
/* 802A0DCC 0029DD0C 7C 78 1B 78 */ mr r24, r3
/* 802A0DD0 0029DD10 80 61 00 08 */ lwz r3, 8(r1)
/* 802A0DD4 0029DD14 48 09 C9 49 */ bl OSRestoreInterrupts
/* 802A0DD8 0029DD18 28 18 00 00 */ cmplwi r24, 0
/* 802A0DDC 0029DD1C 41 82 00 10 */ beq lbl_802A0DEC
/* 802A0DE0 0029DD20 7F 03 C3 78 */ mr r3, r24
/* 802A0DE4 0029DD24 4B FF 04 45 */ bl JASTrack
/* 802A0DE8 0029DD28 7C 78 1B 78 */ mr r24, r3
lbl_802A0DEC:
/* 802A0DEC 0029DD2C 28 18 00 00 */ cmplwi r24, 0
/* 802A0DF0 0029DD30 41 82 00 24 */ beq lbl_802A0E14
/* 802A0DF4 0029DD34 38 60 00 01 */ li r3, 1
/* 802A0DF8 0029DD38 88 18 02 16 */ lbz r0, 0x216(r24)
/* 802A0DFC 0029DD3C 50 60 26 F6 */ rlwimi r0, r3, 4, 0x1b, 0x1b
/* 802A0E00 0029DD40 98 18 02 16 */ stb r0, 0x216(r24)
/* 802A0E04 0029DD44 7F 43 D3 78 */ mr r3, r26
/* 802A0E08 0029DD48 7F 24 CB 78 */ mr r4, r25
/* 802A0E0C 0029DD4C 7F 05 C3 78 */ mr r5, r24
/* 802A0E10 0029DD50 4B FF 0D 7D */ bl JASTrack_NS_connectChild
lbl_802A0E14:
/* 802A0E14 0029DD54 3B 39 00 01 */ addi r25, r25, 1
/* 802A0E18 0029DD58 2C 19 00 10 */ cmpwi r25, 0x10
/* 802A0E1C 0029DD5C 41 80 FF 50 */ blt lbl_802A0D6C
lbl_802A0E20:
/* 802A0E20 0029DD60 3B DE 00 01 */ addi r30, r30, 1
/* 802A0E24 0029DD64 2C 1E 00 02 */ cmpwi r30, 2
/* 802A0E28 0029DD68 3B FF 00 10 */ addi r31, r31, 0x10
/* 802A0E2C 0029DD6C 41 80 FE A4 */ blt lbl_802A0CD0
/* 802A0E30 0029DD70 39 61 00 30 */ addi r11, r1, 0x30
/* 802A0E34 0029DD74 48 0C 13 E1 */ bl func_80362214
/* 802A0E38 0029DD78 80 01 00 34 */ lwz r0, 0x34(r1)
/* 802A0E3C 0029DD7C 7C 08 03 A6 */ mtlr r0
/* 802A0E40 0029DD80 38 21 00 30 */ addi r1, r1, 0x30
/* 802A0E44 0029DD84 4E 80 00 20 */ blr
.global JAISeq_NS_releaseChildTracks_
JAISeq_NS_releaseChildTracks_:
/* 802A0E48 0029DD88 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802A0E4C 0029DD8C 7C 08 02 A6 */ mflr r0
/* 802A0E50 0029DD90 90 01 00 24 */ stw r0, 0x24(r1)
/* 802A0E54 0029DD94 39 61 00 20 */ addi r11, r1, 0x20
/* 802A0E58 0029DD98 48 0C 13 79 */ bl func_803621D0
/* 802A0E5C 0029DD9C 7C 7A 1B 78 */ mr r26, r3
/* 802A0E60 0029DDA0 3B 80 00 00 */ li r28, 0
/* 802A0E64 0029DDA4 3B E0 00 00 */ li r31, 0
lbl_802A0E68:
/* 802A0E68 0029DDA8 38 1F 01 D8 */ addi r0, r31, 0x1d8
/* 802A0E6C 0029DDAC 7F BA 00 2E */ lwzx r29, r26, r0
/* 802A0E70 0029DDB0 28 1D 00 00 */ cmplwi r29, 0
/* 802A0E74 0029DDB4 41 82 00 40 */ beq lbl_802A0EB4
/* 802A0E78 0029DDB8 3B 60 00 00 */ li r27, 0
/* 802A0E7C 0029DDBC 3B C0 00 00 */ li r30, 0
lbl_802A0E80:
/* 802A0E80 0029DDC0 38 1E 01 30 */ addi r0, r30, 0x130
/* 802A0E84 0029DDC4 7C 7D 00 2E */ lwzx r3, r29, r0
/* 802A0E88 0029DDC8 28 03 00 00 */ cmplwi r3, 0
/* 802A0E8C 0029DDCC 41 82 00 0C */ beq lbl_802A0E98
/* 802A0E90 0029DDD0 38 80 00 01 */ li r4, 1
/* 802A0E94 0029DDD4 4B FF 04 89 */ bl JASTrack_NS_dtor
lbl_802A0E98:
/* 802A0E98 0029DDD8 3B 7B 00 01 */ addi r27, r27, 1
/* 802A0E9C 0029DDDC 28 1B 00 10 */ cmplwi r27, 0x10
/* 802A0EA0 0029DDE0 3B DE 00 04 */ addi r30, r30, 4
/* 802A0EA4 0029DDE4 41 80 FF DC */ blt lbl_802A0E80
/* 802A0EA8 0029DDE8 7F A3 EB 78 */ mr r3, r29
/* 802A0EAC 0029DDEC 38 80 00 01 */ li r4, 1
/* 802A0EB0 0029DDF0 4B FF 04 6D */ bl JASTrack_NS_dtor
lbl_802A0EB4:
/* 802A0EB4 0029DDF4 3B 9C 00 01 */ addi r28, r28, 1
/* 802A0EB8 0029DDF8 28 1C 00 02 */ cmplwi r28, 2
/* 802A0EBC 0029DDFC 3B FF 00 04 */ addi r31, r31, 4
/* 802A0EC0 0029DE00 41 80 FF A8 */ blt lbl_802A0E68
/* 802A0EC4 0029DE04 39 61 00 20 */ addi r11, r1, 0x20
/* 802A0EC8 0029DE08 48 0C 13 55 */ bl func_8036221C
/* 802A0ECC 0029DE0C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802A0ED0 0029DE10 7C 08 03 A6 */ mtlr r0
/* 802A0ED4 0029DE14 38 21 00 20 */ addi r1, r1, 0x20
/* 802A0ED8 0029DE18 4E 80 00 20 */ blr
.global JAISeq_NS_prepare_getSeqData_
JAISeq_NS_prepare_getSeqData_:
/* 802A0EDC 0029DE1C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802A0EE0 0029DE20 7C 08 02 A6 */ mflr r0
/* 802A0EE4 0029DE24 90 01 00 24 */ stw r0, 0x24(r1)
/* 802A0EE8 0029DE28 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 802A0EEC 0029DE2C 7C 7F 1B 78 */ mr r31, r3
/* 802A0EF0 0029DE30 80 83 00 18 */ lwz r4, 0x18(r3)
/* 802A0EF4 0029DE34 90 81 00 0C */ stw r4, 0xc(r1)
/* 802A0EF8 0029DE38 3C 04 00 01 */ addis r0, r4, 1
/* 802A0EFC 0029DE3C 28 00 FF FF */ cmplwi r0, 0xffff
/* 802A0F00 0029DE40 40 82 00 0C */ bne lbl_802A0F0C
/* 802A0F04 0029DE44 38 60 00 01 */ li r3, 1
/* 802A0F08 0029DE48 48 00 00 74 */ b lbl_802A0F7C
lbl_802A0F0C:
/* 802A0F0C 0029DE4C 80 7F 03 A0 */ lwz r3, 0x3a0(r31)
/* 802A0F10 0029DE50 80 63 00 0C */ lwz r3, 0xc(r3)
/* 802A0F14 0029DE54 90 81 00 08 */ stw r4, 8(r1)
/* 802A0F18 0029DE58 38 81 00 08 */ addi r4, r1, 8
/* 802A0F1C 0029DE5C 38 BF 03 94 */ addi r5, r31, 0x394
/* 802A0F20 0029DE60 81 83 00 00 */ lwz r12, 0(r3)
/* 802A0F24 0029DE64 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 802A0F28 0029DE68 7D 89 03 A6 */ mtctr r12
/* 802A0F2C 0029DE6C 4E 80 04 21 */ bctrl
/* 802A0F30 0029DE70 2C 03 00 01 */ cmpwi r3, 1
/* 802A0F34 0029DE74 41 82 00 2C */ beq lbl_802A0F60
/* 802A0F38 0029DE78 40 80 00 10 */ bge lbl_802A0F48
/* 802A0F3C 0029DE7C 2C 03 00 00 */ cmpwi r3, 0
/* 802A0F40 0029DE80 40 80 00 14 */ bge lbl_802A0F54
/* 802A0F44 0029DE84 48 00 00 34 */ b lbl_802A0F78
lbl_802A0F48:
/* 802A0F48 0029DE88 2C 03 00 03 */ cmpwi r3, 3
/* 802A0F4C 0029DE8C 40 80 00 2C */ bge lbl_802A0F78
/* 802A0F50 0029DE90 48 00 00 20 */ b lbl_802A0F70
lbl_802A0F54:
/* 802A0F54 0029DE94 38 00 00 02 */ li r0, 2
/* 802A0F58 0029DE98 98 1F 00 1E */ stb r0, 0x1e(r31)
/* 802A0F5C 0029DE9C 48 00 00 1C */ b lbl_802A0F78
lbl_802A0F60:
/* 802A0F60 0029DEA0 7F E3 FB 78 */ mr r3, r31
/* 802A0F64 0029DEA4 48 00 17 09 */ bl JAISound_NS_increasePrepareCount_JAISound_
/* 802A0F68 0029DEA8 38 60 00 00 */ li r3, 0
/* 802A0F6C 0029DEAC 48 00 00 10 */ b lbl_802A0F7C
lbl_802A0F70:
/* 802A0F70 0029DEB0 38 60 00 01 */ li r3, 1
/* 802A0F74 0029DEB4 48 00 00 08 */ b lbl_802A0F7C
lbl_802A0F78:
/* 802A0F78 0029DEB8 38 60 00 00 */ li r3, 0
lbl_802A0F7C:
/* 802A0F7C 0029DEBC 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 802A0F80 0029DEC0 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802A0F84 0029DEC4 7C 08 03 A6 */ mtlr r0
/* 802A0F88 0029DEC8 38 21 00 20 */ addi r1, r1, 0x20
/* 802A0F8C 0029DECC 4E 80 00 20 */ blr
.global JAISeq_NS_prepare_
JAISeq_NS_prepare_:
/* 802A0F90 0029DED0 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802A0F94 0029DED4 7C 08 02 A6 */ mflr r0
/* 802A0F98 0029DED8 90 01 00 24 */ stw r0, 0x24(r1)
/* 802A0F9C 0029DEDC 39 61 00 20 */ addi r11, r1, 0x20
/* 802A0FA0 0029DEE0 48 0C 12 3D */ bl func_803621DC
/* 802A0FA4 0029DEE4 7C 7F 1B 78 */ mr r31, r3
/* 802A0FA8 0029DEE8 7C 9D 23 78 */ mr r29, r4
/* 802A0FAC 0029DEEC 7C BE 2B 78 */ mr r30, r5
/* 802A0FB0 0029DEF0 88 03 00 1E */ lbz r0, 0x1e(r3)
/* 802A0FB4 0029DEF4 28 00 00 06 */ cmplwi r0, 6
/* 802A0FB8 0029DEF8 41 81 00 B8 */ bgt lbl_802A1070
/* 802A0FBC 0029DEFC 3C A0 80 3D */ lis r5, lbl_803C98D8@ha
/* 802A0FC0 0029DF00 38 A5 98 D8 */ addi r5, r5, lbl_803C98D8@l
/* 802A0FC4 0029DF04 54 00 10 3A */ slwi r0, r0, 2
/* 802A0FC8 0029DF08 7C 05 00 2E */ lwzx r0, r5, r0
/* 802A0FCC 0029DF0C 7C 09 03 A6 */ mtctr r0
/* 802A0FD0 0029DF10 4E 80 04 20 */ bctr
/* 802A0FD4 0029DF14 38 60 00 00 */ li r3, 0
/* 802A0FD8 0029DF18 88 1F 00 1F */ lbz r0, 0x1f(r31)
/* 802A0FDC 0029DF1C 50 60 1F 38 */ rlwimi r0, r3, 3, 0x1c, 0x1c
/* 802A0FE0 0029DF20 98 1F 00 1F */ stb r0, 0x1f(r31)
/* 802A0FE4 0029DF24 38 60 00 01 */ li r3, 1
/* 802A0FE8 0029DF28 88 1F 00 1F */ lbz r0, 0x1f(r31)
/* 802A0FEC 0029DF2C 50 60 3E 30 */ rlwimi r0, r3, 7, 0x18, 0x18
/* 802A0FF0 0029DF30 98 1F 00 1F */ stb r0, 0x1f(r31)
/* 802A0FF4 0029DF34 48 00 00 7C */ b lbl_802A1070
/* 802A0FF8 0029DF38 4B FF FE E5 */ bl JAISeq_NS_prepare_getSeqData_
/* 802A0FFC 0029DF3C 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 802A1000 0029DF40 41 82 00 70 */ beq lbl_802A1070
/* 802A1004 0029DF44 38 00 00 05 */ li r0, 5
/* 802A1008 0029DF48 98 1F 00 1E */ stb r0, 0x1e(r31)
/* 802A100C 0029DF4C 88 1E 00 00 */ lbz r0, 0(r30)
/* 802A1010 0029DF50 98 01 00 0C */ stb r0, 0xc(r1)
/* 802A1014 0029DF54 7F E3 FB 78 */ mr r3, r31
/* 802A1018 0029DF58 7F A4 EB 78 */ mr r4, r29
/* 802A101C 0029DF5C 38 A1 00 0C */ addi r5, r1, 0xc
/* 802A1020 0029DF60 4B FF FB E5 */ bl JAISeq_NS_playSeqData_
/* 802A1024 0029DF64 38 60 00 01 */ li r3, 1
/* 802A1028 0029DF68 48 00 00 4C */ b lbl_802A1074
/* 802A102C 0029DF6C 4B FF FE B1 */ bl JAISeq_NS_prepare_getSeqData_
/* 802A1030 0029DF70 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 802A1034 0029DF74 41 82 00 0C */ beq lbl_802A1040
/* 802A1038 0029DF78 38 00 00 03 */ li r0, 3
/* 802A103C 0029DF7C 98 1F 00 1E */ stb r0, 0x1e(r31)
lbl_802A1040:
/* 802A1040 0029DF80 38 60 00 00 */ li r3, 0
/* 802A1044 0029DF84 48 00 00 30 */ b lbl_802A1074
/* 802A1048 0029DF88 38 00 00 05 */ li r0, 5
/* 802A104C 0029DF8C 98 1F 00 1E */ stb r0, 0x1e(r31)
/* 802A1050 0029DF90 88 1E 00 00 */ lbz r0, 0(r30)
/* 802A1054 0029DF94 98 01 00 08 */ stb r0, 8(r1)
/* 802A1058 0029DF98 38 A1 00 08 */ addi r5, r1, 8
/* 802A105C 0029DF9C 4B FF FB A9 */ bl JAISeq_NS_playSeqData_
/* 802A1060 0029DFA0 38 60 00 01 */ li r3, 1
/* 802A1064 0029DFA4 48 00 00 10 */ b lbl_802A1074
/* 802A1068 0029DFA8 38 60 00 01 */ li r3, 1
/* 802A106C 0029DFAC 48 00 00 08 */ b lbl_802A1074
lbl_802A1070:
/* 802A1070 0029DFB0 38 60 00 00 */ li r3, 0
lbl_802A1074:
/* 802A1074 0029DFB4 39 61 00 20 */ addi r11, r1, 0x20
/* 802A1078 0029DFB8 48 0C 11 B1 */ bl func_80362228
/* 802A107C 0029DFBC 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802A1080 0029DFC0 7C 08 03 A6 */ mtlr r0
/* 802A1084 0029DFC4 38 21 00 20 */ addi r1, r1, 0x20
/* 802A1088 0029DFC8 4E 80 00 20 */ blr
.global JAISeq_NS_JAISeqMgr_calc_
JAISeq_NS_JAISeqMgr_calc_:
/* 802A108C 0029DFCC 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802A1090 0029DFD0 7C 08 02 A6 */ mflr r0
/* 802A1094 0029DFD4 90 01 00 24 */ stw r0, 0x24(r1)
/* 802A1098 0029DFD8 39 61 00 20 */ addi r11, r1, 0x20
/* 802A109C 0029DFDC 48 0C 11 41 */ bl func_803621DC
/* 802A10A0 0029DFE0 7C 7D 1B 78 */ mr r29, r3
/* 802A10A4 0029DFE4 88 03 02 BD */ lbz r0, 0x2bd(r3)
/* 802A10A8 0029DFE8 28 00 00 02 */ cmplwi r0, 2
/* 802A10AC 0029DFEC 41 82 00 1C */ beq lbl_802A10C8
/* 802A10B0 0029DFF0 88 1D 02 BD */ lbz r0, 0x2bd(r29)
/* 802A10B4 0029DFF4 54 00 06 3F */ clrlwi. r0, r0, 0x18
/* 802A10B8 0029DFF8 40 82 00 1C */ bne lbl_802A10D4
/* 802A10BC 0029DFFC 88 1D 00 1E */ lbz r0, 0x1e(r29)
/* 802A10C0 0029E000 28 00 00 02 */ cmplwi r0, 2
/* 802A10C4 0029E004 40 82 00 10 */ bne lbl_802A10D4
lbl_802A10C8:
/* 802A10C8 0029E008 7F A3 EB 78 */ mr r3, r29
/* 802A10CC 0029E00C 48 00 00 B5 */ bl JAISeq_NS_die_
/* 802A10D0 0029E010 48 00 00 98 */ b lbl_802A1168
lbl_802A10D4:
/* 802A10D4 0029E014 7F A3 EB 78 */ mr r3, r29
/* 802A10D8 0029E018 48 00 15 E1 */ bl JAISound_NS_calc_JAISound_
/* 802A10DC 0029E01C 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 802A10E0 0029E020 41 82 00 88 */ beq lbl_802A1168
/* 802A10E4 0029E024 C0 3D 03 70 */ lfs f1, 0x370(r29)
/* 802A10E8 0029E028 80 7D 03 7C */ lwz r3, 0x37c(r29)
/* 802A10EC 0029E02C 28 03 00 01 */ cmplwi r3, 1
/* 802A10F0 0029E030 40 81 00 18 */ ble lbl_802A1108
/* 802A10F4 0029E034 38 03 FF FF */ addi r0, r3, -1
/* 802A10F8 0029E038 90 1D 03 7C */ stw r0, 0x37c(r29)
/* 802A10FC 0029E03C C0 1D 03 74 */ lfs f0, 0x374(r29)
/* 802A1100 0029E040 EC 21 00 2A */ fadds f1, f1, f0
/* 802A1104 0029E044 48 00 00 14 */ b lbl_802A1118
lbl_802A1108:
/* 802A1108 0029E048 40 82 00 10 */ bne lbl_802A1118
/* 802A110C 0029E04C 38 00 00 00 */ li r0, 0
/* 802A1110 0029E050 90 1D 03 7C */ stw r0, 0x37c(r29)
/* 802A1114 0029E054 C0 3D 03 78 */ lfs f1, 0x378(r29)
lbl_802A1118:
/* 802A1118 0029E058 D0 3D 03 70 */ stfs f1, 0x370(r29)
/* 802A111C 0029E05C 3B C0 00 00 */ li r30, 0
/* 802A1120 0029E060 3B E0 00 00 */ li r31, 0
lbl_802A1124:
/* 802A1124 0029E064 38 1F 02 F0 */ addi r0, r31, 0x2f0
/* 802A1128 0029E068 7C 7D 00 2E */ lwzx r3, r29, r0
/* 802A112C 0029E06C 28 03 00 00 */ cmplwi r3, 0
/* 802A1130 0029E070 41 82 00 08 */ beq lbl_802A1138
/* 802A1134 0029E074 48 00 1A 49 */ bl JAISoundChild_NS_calc
lbl_802A1138:
/* 802A1138 0029E078 3B DE 00 01 */ addi r30, r30, 1
/* 802A113C 0029E07C 2C 1E 00 20 */ cmpwi r30, 0x20
/* 802A1140 0029E080 3B FF 00 04 */ addi r31, r31, 4
/* 802A1144 0029E084 41 80 FF E0 */ blt lbl_802A1124
/* 802A1148 0029E088 80 7D 03 A8 */ lwz r3, 0x3a8(r29)
/* 802A114C 0029E08C 28 03 00 00 */ cmplwi r3, 0
/* 802A1150 0029E090 41 82 00 18 */ beq lbl_802A1168
/* 802A1154 0029E094 7F A4 EB 78 */ mr r4, r29
/* 802A1158 0029E098 81 83 00 00 */ lwz r12, 0(r3)
/* 802A115C 0029E09C 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 802A1160 0029E0A0 7D 89 03 A6 */ mtctr r12
/* 802A1164 0029E0A4 4E 80 04 21 */ bctrl
lbl_802A1168:
/* 802A1168 0029E0A8 39 61 00 20 */ addi r11, r1, 0x20
/* 802A116C 0029E0AC 48 0C 10 BD */ bl func_80362228
/* 802A1170 0029E0B0 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802A1174 0029E0B4 7C 08 03 A6 */ mtlr r0
/* 802A1178 0029E0B8 38 21 00 20 */ addi r1, r1, 0x20
/* 802A117C 0029E0BC 4E 80 00 20 */ blr
.global JAISeq_NS_die_
JAISeq_NS_die_:
/* 802A1180 0029E0C0 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802A1184 0029E0C4 7C 08 02 A6 */ mflr r0
/* 802A1188 0029E0C8 90 01 00 24 */ stw r0, 0x24(r1)
/* 802A118C 0029E0CC 39 61 00 20 */ addi r11, r1, 0x20
/* 802A1190 0029E0D0 48 0C 10 45 */ bl func_803621D4
/* 802A1194 0029E0D4 7C 7D 1B 78 */ mr r29, r3
/* 802A1198 0029E0D8 3B C0 00 00 */ li r30, 0
/* 802A119C 0029E0DC 3B 80 00 00 */ li r28, 0
lbl_802A11A0:
/* 802A11A0 0029E0E0 3B FC 02 F0 */ addi r31, r28, 0x2f0
/* 802A11A4 0029E0E4 7F 7D F8 2E */ lwzx r27, r29, r31
/* 802A11A8 0029E0E8 28 1B 00 00 */ cmplwi r27, 0
/* 802A11AC 0029E0EC 41 82 00 5C */ beq lbl_802A1208
/* 802A11B0 0029E0F0 88 0D 8D 98 */ lbz r0, lbl_80451318-_SDA_BASE_(r13)
/* 802A11B4 0029E0F4 7C 00 07 75 */ extsb. r0, r0
/* 802A11B8 0029E0F8 40 82 00 34 */ bne lbl_802A11EC
/* 802A11BC 0029E0FC 3C 60 80 43 */ lis r3, lbl_804340B0@ha
/* 802A11C0 0029E100 38 63 40 B0 */ addi r3, r3, lbl_804340B0@l
/* 802A11C4 0029E104 4B FE F6 85 */ bl JASGenericMemPool
/* 802A11C8 0029E108 3C 60 80 43 */ lis r3, lbl_804340B0@ha
/* 802A11CC 0029E10C 38 63 40 B0 */ addi r3, r3, lbl_804340B0@l
.global JASMemPool_NS_dtor_X1_
/* 802A11D0 0029E110 3C 80 80 2A */ lis r4, JASMemPool_NS_dtor_X1_@ha
.global JASMemPool_NS_dtor_X1_
/* 802A11D4 0029E114 38 84 12 68 */ addi r4, r4, JASMemPool_NS_dtor_X1_@l
/* 802A11D8 0029E118 3C A0 80 43 */ lis r5, lbl_804340A4@ha
/* 802A11DC 0029E11C 38 A5 40 A4 */ addi r5, r5, lbl_804340A4@l
/* 802A11E0 0029E120 48 0C 0A 45 */ bl func_80361C24
/* 802A11E4 0029E124 38 00 00 01 */ li r0, 1
/* 802A11E8 0029E128 98 0D 8D 98 */ stb r0, lbl_80451318-_SDA_BASE_(r13)
lbl_802A11EC:
/* 802A11EC 0029E12C 3C 60 80 43 */ lis r3, lbl_804340B0@ha
/* 802A11F0 0029E130 38 63 40 B0 */ addi r3, r3, lbl_804340B0@l
/* 802A11F4 0029E134 7F 64 DB 78 */ mr r4, r27
/* 802A11F8 0029E138 38 A0 00 64 */ li r5, 0x64
/* 802A11FC 0029E13C 4B FE F7 99 */ bl JASGenericMemPool_NS_free
/* 802A1200 0029E140 38 00 00 00 */ li r0, 0
/* 802A1204 0029E144 7C 1D F9 2E */ stwx r0, r29, r31
lbl_802A1208:
/* 802A1208 0029E148 3B DE 00 01 */ addi r30, r30, 1
/* 802A120C 0029E14C 2C 1E 00 20 */ cmpwi r30, 0x20
/* 802A1210 0029E150 3B 9C 00 04 */ addi r28, r28, 4
/* 802A1214 0029E154 41 80 FF 8C */ blt lbl_802A11A0
/* 802A1218 0029E158 80 9D 03 A8 */ lwz r4, 0x3a8(r29)
/* 802A121C 0029E15C 28 04 00 00 */ cmplwi r4, 0
/* 802A1220 0029E160 41 82 00 20 */ beq lbl_802A1240
/* 802A1224 0029E164 80 7D 03 A4 */ lwz r3, 0x3a4(r29)
/* 802A1228 0029E168 81 83 00 00 */ lwz r12, 0(r3)
/* 802A122C 0029E16C 81 8C 00 10 */ lwz r12, 0x10(r12)
/* 802A1230 0029E170 7D 89 03 A6 */ mtctr r12
/* 802A1234 0029E174 4E 80 04 21 */ bctrl
/* 802A1238 0029E178 38 00 00 00 */ li r0, 0
/* 802A123C 0029E17C 90 1D 03 A8 */ stw r0, 0x3a8(r29)
lbl_802A1240:
/* 802A1240 0029E180 7F A3 EB 78 */ mr r3, r29
/* 802A1244 0029E184 4B FF FC 05 */ bl JAISeq_NS_releaseChildTracks_
/* 802A1248 0029E188 7F A3 EB 78 */ mr r3, r29
/* 802A124C 0029E18C 48 00 13 A5 */ bl JAISound_NS_die_JAISound_
/* 802A1250 0029E190 39 61 00 20 */ addi r11, r1, 0x20
/* 802A1254 0029E194 48 0C 0F CD */ bl func_80362220
/* 802A1258 0029E198 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802A125C 0029E19C 7C 08 03 A6 */ mtlr r0
/* 802A1260 0029E1A0 38 21 00 20 */ addi r1, r1, 0x20
/* 802A1264 0029E1A4 4E 80 00 20 */ blr
.global JASMemPool_NS_dtor_X1_
JASMemPool_NS_dtor_X1_:
/* 802A1268 0029E1A8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802A126C 0029E1AC 7C 08 02 A6 */ mflr r0
/* 802A1270 0029E1B0 90 01 00 14 */ stw r0, 0x14(r1)
/* 802A1274 0029E1B4 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802A1278 0029E1B8 93 C1 00 08 */ stw r30, 8(r1)
/* 802A127C 0029E1BC 7C 7E 1B 79 */ or. r30, r3, r3
/* 802A1280 0029E1C0 7C 9F 23 78 */ mr r31, r4
/* 802A1284 0029E1C4 41 82 00 1C */ beq lbl_802A12A0
/* 802A1288 0029E1C8 38 80 00 00 */ li r4, 0
/* 802A128C 0029E1CC 4B FE F5 D5 */ bl JASGenericMemPool_NS_dtor
/* 802A1290 0029E1D0 7F E0 07 35 */ extsh. r0, r31
/* 802A1294 0029E1D4 40 81 00 0C */ ble lbl_802A12A0
/* 802A1298 0029E1D8 7F C3 F3 78 */ mr r3, r30
/* 802A129C 0029E1DC 48 02 DA A1 */ bl __dl
lbl_802A12A0:
/* 802A12A0 0029E1E0 7F C3 F3 78 */ mr r3, r30
/* 802A12A4 0029E1E4 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802A12A8 0029E1E8 83 C1 00 08 */ lwz r30, 8(r1)
/* 802A12AC 0029E1EC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802A12B0 0029E1F0 7C 08 03 A6 */ mtlr r0
/* 802A12B4 0029E1F4 38 21 00 10 */ addi r1, r1, 0x10
/* 802A12B8 0029E1F8 4E 80 00 20 */ blr
/* 802A12BC 0029E1FC 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802A12C0 0029E200 7C 08 02 A6 */ mflr r0
/* 802A12C4 0029E204 90 01 00 24 */ stw r0, 0x24(r1)
/* 802A12C8 0029E208 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 802A12CC 0029E20C 7C 7F 1B 78 */ mr r31, r3
/* 802A12D0 0029E210 38 7F 00 A8 */ addi r3, r31, 0xa8
/* 802A12D4 0029E214 4B FF F7 99 */ bl _unnamed_JAISeq_cpp__NS_JASTrack_isFreeOrStopped
/* 802A12D8 0029E218 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 802A12DC 0029E21C 41 82 00 14 */ beq lbl_802A12F0
/* 802A12E0 0029E220 7F E3 FB 78 */ mr r3, r31
/* 802A12E4 0029E224 4B FF FE 9D */ bl JAISeq_NS_die_
/* 802A12E8 0029E228 38 60 00 01 */ li r3, 1
/* 802A12EC 0029E22C 48 00 00 48 */ b lbl_802A1334
lbl_802A12F0:
/* 802A12F0 0029E230 C0 02 BD 9C */ lfs f0, lbl_8045579C-_SDA2_BASE_(r2)
/* 802A12F4 0029E234 D0 1F 00 24 */ stfs f0, 0x24(r31)
/* 802A12F8 0029E238 D0 1F 00 28 */ stfs f0, 0x28(r31)
/* 802A12FC 0029E23C 38 00 00 00 */ li r0, 0
/* 802A1300 0029E240 90 1F 00 30 */ stw r0, 0x30(r31)
/* 802A1304 0029E244 D0 1F 00 2C */ stfs f0, 0x2c(r31)
/* 802A1308 0029E248 38 60 00 01 */ li r3, 1
/* 802A130C 0029E24C 88 1F 00 1F */ lbz r0, 0x1f(r31)
/* 802A1310 0029E250 50 60 3E 30 */ rlwimi r0, r3, 7, 0x18, 0x18
/* 802A1314 0029E254 98 1F 00 1F */ stb r0, 0x1f(r31)
/* 802A1318 0029E258 48 09 C3 DD */ bl __RAS_OSDisableInterrupts_begin
/* 802A131C 0029E25C 90 61 00 08 */ stw r3, 8(r1)
/* 802A1320 0029E260 38 7F 00 A8 */ addi r3, r31, 0xa8
/* 802A1324 0029E264 4B FF 07 55 */ bl JASTrack_NS_stopSeq
/* 802A1328 0029E268 80 61 00 08 */ lwz r3, 8(r1)
/* 802A132C 0029E26C 48 09 C3 F1 */ bl OSRestoreInterrupts
/* 802A1330 0029E270 38 60 00 00 */ li r3, 0
lbl_802A1334:
/* 802A1334 0029E274 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 802A1338 0029E278 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802A133C 0029E27C 7C 08 03 A6 */ mtlr r0
/* 802A1340 0029E280 38 21 00 20 */ addi r1, r1, 0x20
/* 802A1344 0029E284 4E 80 00 20 */ blr
.global JAISeq_NS_mixOut_
JAISeq_NS_mixOut_:
/* 802A1348 0029E288 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 802A134C 0029E28C 7C 08 02 A6 */ mflr r0
/* 802A1350 0029E290 90 01 00 34 */ stw r0, 0x34(r1)
/* 802A1354 0029E294 39 61 00 30 */ addi r11, r1, 0x30
/* 802A1358 0029E298 48 0C 0E 81 */ bl func_803621D8
/* 802A135C 0029E29C 7C 7F 1B 78 */ mr r31, r3
/* 802A1360 0029E2A0 7C 9D 23 78 */ mr r29, r4
/* 802A1364 0029E2A4 7C BC 2B 78 */ mr r28, r5
/* 802A1368 0029E2A8 38 7F 00 A8 */ addi r3, r31, 0xa8
/* 802A136C 0029E2AC C0 3F 03 70 */ lfs f1, 0x370(r31)
/* 802A1370 0029E2B0 4B FF 18 1D */ bl JASTrack_NS_setTempoRate
/* 802A1374 0029E2B4 38 7F 00 A8 */ addi r3, r31, 0xa8
/* 802A1378 0029E2B8 38 80 00 00 */ li r4, 0
/* 802A137C 0029E2BC 88 1C 00 00 */ lbz r0, 0(r28)
/* 802A1380 0029E2C0 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 802A1384 0029E2C4 40 82 00 10 */ bne lbl_802A1394
/* 802A1388 0029E2C8 88 1F 00 1C */ lbz r0, 0x1c(r31)
/* 802A138C 0029E2CC 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 802A1390 0029E2D0 41 82 00 08 */ beq lbl_802A1398
lbl_802A1394:
/* 802A1394 0029E2D4 38 80 00 01 */ li r4, 1
lbl_802A1398:
/* 802A1398 0029E2D8 4B FF 14 09 */ bl JASTrack_NS_mute
/* 802A139C 0029E2DC 38 7F 00 A8 */ addi r3, r31, 0xa8
/* 802A13A0 0029E2E0 38 80 00 00 */ li r4, 0
/* 802A13A4 0029E2E4 88 1C 00 00 */ lbz r0, 0(r28)
/* 802A13A8 0029E2E8 54 00 D7 FF */ rlwinm. r0, r0, 0x1a, 0x1f, 0x1f
/* 802A13AC 0029E2EC 40 82 00 10 */ bne lbl_802A13BC
/* 802A13B0 0029E2F0 88 1F 00 1C */ lbz r0, 0x1c(r31)
/* 802A13B4 0029E2F4 54 00 D7 FF */ rlwinm. r0, r0, 0x1a, 0x1f, 0x1f
/* 802A13B8 0029E2F8 41 82 00 08 */ beq lbl_802A13C0
lbl_802A13BC:
/* 802A13BC 0029E2FC 38 80 00 01 */ li r4, 1
lbl_802A13C0:
/* 802A13C0 0029E300 4B FF 16 7D */ bl JASTrack_NS_pause
/* 802A13C4 0029E304 C0 02 BD 98 */ lfs f0, lbl_80455798-_SDA2_BASE_(r2)
/* 802A13C8 0029E308 D0 01 00 08 */ stfs f0, 8(r1)
/* 802A13CC 0029E30C D0 01 00 10 */ stfs f0, 0x10(r1)
/* 802A13D0 0029E310 C0 22 BD 9C */ lfs f1, lbl_8045579C-_SDA2_BASE_(r2)
/* 802A13D4 0029E314 D0 21 00 0C */ stfs f1, 0xc(r1)
/* 802A13D8 0029E318 C0 02 BD A0 */ lfs f0, lbl_804557A0-_SDA2_BASE_(r2)
/* 802A13DC 0029E31C D0 01 00 14 */ stfs f0, 0x14(r1)
/* 802A13E0 0029E320 D0 21 00 18 */ stfs f1, 0x18(r1)
/* 802A13E4 0029E324 38 7F 00 3C */ addi r3, r31, 0x3c
/* 802A13E8 0029E328 7F A4 EB 78 */ mr r4, r29
/* 802A13EC 0029E32C 38 A1 00 08 */ addi r5, r1, 8
/* 802A13F0 0029E330 C0 3F 00 24 */ lfs f1, 0x24(r31)
/* 802A13F4 0029E334 48 00 0E 8D */ bl JAISoundParams_NS_mixOutAll
/* 802A13F8 0029E338 80 7F 03 A8 */ lwz r3, 0x3a8(r31)
/* 802A13FC 0029E33C 28 03 00 00 */ cmplwi r3, 0
/* 802A1400 0029E340 41 82 00 1C */ beq lbl_802A141C
/* 802A1404 0029E344 7F E4 FB 78 */ mr r4, r31
/* 802A1408 0029E348 38 A1 00 08 */ addi r5, r1, 8
/* 802A140C 0029E34C 81 83 00 00 */ lwz r12, 0(r3)
/* 802A1410 0029E350 81 8C 00 10 */ lwz r12, 0x10(r12)
/* 802A1414 0029E354 7D 89 03 A6 */ mtctr r12
/* 802A1418 0029E358 4E 80 04 21 */ bctrl
lbl_802A141C:
/* 802A141C 0029E35C 80 1F 00 08 */ lwz r0, 8(r31)
/* 802A1420 0029E360 28 00 00 00 */ cmplwi r0, 0
/* 802A1424 0029E364 41 82 00 54 */ beq lbl_802A1478
/* 802A1428 0029E368 80 7F 00 0C */ lwz r3, 0xc(r31)
/* 802A142C 0029E36C 81 83 00 00 */ lwz r12, 0(r3)
/* 802A1430 0029E370 81 8C 00 10 */ lwz r12, 0x10(r12)
/* 802A1434 0029E374 7D 89 03 A6 */ mtctr r12
/* 802A1438 0029E378 4E 80 04 21 */ bctrl
/* 802A143C 0029E37C 7C 7E 1B 78 */ mr r30, r3
/* 802A1440 0029E380 3B A0 00 00 */ li r29, 0
/* 802A1444 0029E384 48 00 00 28 */ b lbl_802A146C
lbl_802A1448:
/* 802A1448 0029E388 80 7F 00 0C */ lwz r3, 0xc(r31)
/* 802A144C 0029E38C 38 81 00 08 */ addi r4, r1, 8
/* 802A1450 0029E390 80 BF 00 08 */ lwz r5, 8(r31)
/* 802A1454 0029E394 7F A6 EB 78 */ mr r6, r29
/* 802A1458 0029E398 81 83 00 00 */ lwz r12, 0(r3)
/* 802A145C 0029E39C 81 8C 00 1C */ lwz r12, 0x1c(r12)
/* 802A1460 0029E3A0 7D 89 03 A6 */ mtctr r12
/* 802A1464 0029E3A4 4E 80 04 21 */ bctrl
/* 802A1468 0029E3A8 3B BD 00 01 */ addi r29, r29, 1
lbl_802A146C:
/* 802A146C 0029E3AC 7C 1D F0 00 */ cmpw r29, r30
/* 802A1470 0029E3B0 41 80 FF D8 */ blt lbl_802A1448
/* 802A1474 0029E3B4 48 00 00 70 */ b lbl_802A14E4
lbl_802A1478:
/* 802A1478 0029E3B8 C0 01 00 08 */ lfs f0, 8(r1)
/* 802A147C 0029E3BC D0 1F 03 80 */ stfs f0, 0x380(r31)
/* 802A1480 0029E3C0 C0 01 00 0C */ lfs f0, 0xc(r1)
/* 802A1484 0029E3C4 D0 1F 03 84 */ stfs f0, 0x384(r31)
/* 802A1488 0029E3C8 C0 01 00 10 */ lfs f0, 0x10(r1)
/* 802A148C 0029E3CC D0 1F 03 88 */ stfs f0, 0x388(r31)
/* 802A1490 0029E3D0 C0 01 00 14 */ lfs f0, 0x14(r1)
/* 802A1494 0029E3D4 D0 1F 03 8C */ stfs f0, 0x38c(r31)
/* 802A1498 0029E3D8 C0 01 00 18 */ lfs f0, 0x18(r1)
/* 802A149C 0029E3DC D0 1F 03 90 */ stfs f0, 0x390(r31)
/* 802A14A0 0029E3E0 3B 80 00 00 */ li r28, 0
/* 802A14A4 0029E3E4 3B C0 00 00 */ li r30, 0
lbl_802A14A8:
/* 802A14A8 0029E3E8 3B BE 02 F0 */ addi r29, r30, 0x2f0
/* 802A14AC 0029E3EC 7C 1F E8 2E */ lwzx r0, r31, r29
/* 802A14B0 0029E3F0 28 00 00 00 */ cmplwi r0, 0
/* 802A14B4 0029E3F4 41 82 00 20 */ beq lbl_802A14D4
/* 802A14B8 0029E3F8 7F E3 FB 78 */ mr r3, r31
/* 802A14BC 0029E3FC 7F 84 E3 78 */ mr r4, r28
/* 802A14C0 0029E400 48 00 02 71 */ bl JAISeq_NS_getChildTrack
/* 802A14C4 0029E404 7C 64 1B 79 */ or. r4, r3, r3
/* 802A14C8 0029E408 41 82 00 0C */ beq lbl_802A14D4
/* 802A14CC 0029E40C 7C 7F E8 2E */ lwzx r3, r31, r29
/* 802A14D0 0029E410 48 00 16 59 */ bl JAISoundChild_NS_mixOut
lbl_802A14D4:
/* 802A14D4 0029E414 3B 9C 00 01 */ addi r28, r28, 1
/* 802A14D8 0029E418 2C 1C 00 20 */ cmpwi r28, 0x20
/* 802A14DC 0029E41C 3B DE 00 04 */ addi r30, r30, 4
/* 802A14E0 0029E420 41 80 FF C8 */ blt lbl_802A14A8
lbl_802A14E4:
/* 802A14E4 0029E424 39 61 00 30 */ addi r11, r1, 0x30
/* 802A14E8 0029E428 48 0C 0D 3D */ bl func_80362224
/* 802A14EC 0029E42C 80 01 00 34 */ lwz r0, 0x34(r1)
/* 802A14F0 0029E430 7C 08 03 A6 */ mtlr r0
/* 802A14F4 0029E434 38 21 00 30 */ addi r1, r1, 0x30
/* 802A14F8 0029E438 4E 80 00 20 */ blr
.global JAISeq_NS_JAISeqMgr_mixOut_
JAISeq_NS_JAISeqMgr_mixOut_:
/* 802A14FC 0029E43C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802A1500 0029E440 7C 08 02 A6 */ mflr r0
/* 802A1504 0029E444 90 01 00 24 */ stw r0, 0x24(r1)
/* 802A1508 0029E448 39 61 00 20 */ addi r11, r1, 0x20
/* 802A150C 0029E44C 48 0C 0C D1 */ bl func_803621DC
/* 802A1510 0029E450 7C 7D 1B 78 */ mr r29, r3
/* 802A1514 0029E454 7C 9E 23 78 */ mr r30, r4
/* 802A1518 0029E458 7C BF 2B 78 */ mr r31, r5
/* 802A151C 0029E45C 88 05 00 00 */ lbz r0, 0(r5)
/* 802A1520 0029E460 98 01 00 0C */ stb r0, 0xc(r1)
/* 802A1524 0029E464 38 A1 00 0C */ addi r5, r1, 0xc
/* 802A1528 0029E468 4B FF FA 69 */ bl JAISeq_NS_prepare_
/* 802A152C 0029E46C 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 802A1530 0029E470 41 82 00 28 */ beq lbl_802A1558
/* 802A1534 0029E474 88 1D 02 BD */ lbz r0, 0x2bd(r29)
/* 802A1538 0029E478 28 00 00 01 */ cmplwi r0, 1
/* 802A153C 0029E47C 40 82 00 1C */ bne lbl_802A1558
/* 802A1540 0029E480 88 1F 00 00 */ lbz r0, 0(r31)
/* 802A1544 0029E484 98 01 00 08 */ stb r0, 8(r1)
/* 802A1548 0029E488 7F A3 EB 78 */ mr r3, r29
/* 802A154C 0029E48C 7F C4 F3 78 */ mr r4, r30
/* 802A1550 0029E490 38 A1 00 08 */ addi r5, r1, 8
/* 802A1554 0029E494 4B FF FD F5 */ bl JAISeq_NS_mixOut_
lbl_802A1558:
/* 802A1558 0029E498 39 61 00 20 */ addi r11, r1, 0x20
/* 802A155C 0029E49C 48 0C 0C CD */ bl func_80362228
/* 802A1560 0029E4A0 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802A1564 0029E4A4 7C 08 03 A6 */ mtlr r0
/* 802A1568 0029E4A8 38 21 00 20 */ addi r1, r1, 0x20
/* 802A156C 0029E4AC 4E 80 00 20 */ blr
/* 802A1570 0029E4B0 38 60 00 20 */ li r3, 0x20
/* 802A1574 0029E4B4 4E 80 00 20 */ blr
/* 802A1578 0029E4B8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802A157C 0029E4BC 7C 08 02 A6 */ mflr r0
/* 802A1580 0029E4C0 90 01 00 14 */ stw r0, 0x14(r1)
/* 802A1584 0029E4C4 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802A1588 0029E4C8 93 C1 00 08 */ stw r30, 8(r1)
/* 802A158C 0029E4CC 54 80 10 3A */ slwi r0, r4, 2
/* 802A1590 0029E4D0 7F C3 02 14 */ add r30, r3, r0
/* 802A1594 0029E4D4 80 7E 02 F0 */ lwz r3, 0x2f0(r30)
/* 802A1598 0029E4D8 28 03 00 00 */ cmplwi r3, 0
/* 802A159C 0029E4DC 41 82 00 08 */ beq lbl_802A15A4
/* 802A15A0 0029E4E0 48 00 00 A4 */ b lbl_802A1644
lbl_802A15A4:
/* 802A15A4 0029E4E4 88 0D 8D 98 */ lbz r0, lbl_80451318-_SDA_BASE_(r13)
/* 802A15A8 0029E4E8 7C 00 07 75 */ extsb. r0, r0
/* 802A15AC 0029E4EC 40 82 00 34 */ bne lbl_802A15E0
/* 802A15B0 0029E4F0 3C 60 80 43 */ lis r3, lbl_804340B0@ha
/* 802A15B4 0029E4F4 38 63 40 B0 */ addi r3, r3, lbl_804340B0@l
/* 802A15B8 0029E4F8 4B FE F2 91 */ bl JASGenericMemPool
/* 802A15BC 0029E4FC 3C 60 80 43 */ lis r3, lbl_804340B0@ha
/* 802A15C0 0029E500 38 63 40 B0 */ addi r3, r3, lbl_804340B0@l
.global JASMemPool_NS_dtor_X1_
/* 802A15C4 0029E504 3C 80 80 2A */ lis r4, JASMemPool_NS_dtor_X1_@ha
.global JASMemPool_NS_dtor_X1_
/* 802A15C8 0029E508 38 84 12 68 */ addi r4, r4, JASMemPool_NS_dtor_X1_@l
/* 802A15CC 0029E50C 3C A0 80 43 */ lis r5, lbl_804340A4@ha
/* 802A15D0 0029E510 38 A5 40 A4 */ addi r5, r5, lbl_804340A4@l
/* 802A15D4 0029E514 48 0C 06 51 */ bl func_80361C24
/* 802A15D8 0029E518 38 00 00 01 */ li r0, 1
/* 802A15DC 0029E51C 98 0D 8D 98 */ stb r0, lbl_80451318-_SDA_BASE_(r13)
lbl_802A15E0:
/* 802A15E0 0029E520 3C 60 80 43 */ lis r3, lbl_804340B0@ha
/* 802A15E4 0029E524 38 63 40 B0 */ addi r3, r3, lbl_804340B0@l
/* 802A15E8 0029E528 38 80 00 64 */ li r4, 0x64
/* 802A15EC 0029E52C 4B FE F3 5D */ bl JASGenericMemPool_NS_alloc
/* 802A15F0 0029E530 7C 7F 1B 79 */ or. r31, r3, r3
/* 802A15F4 0029E534 41 82 00 3C */ beq lbl_802A1630
/* 802A15F8 0029E538 C0 42 BD 98 */ lfs f2, lbl_80455798-_SDA2_BASE_(r2)
/* 802A15FC 0029E53C D0 5F 00 00 */ stfs f2, 0(r31)
/* 802A1600 0029E540 D0 5F 00 08 */ stfs f2, 8(r31)
/* 802A1604 0029E544 C0 22 BD 9C */ lfs f1, lbl_8045579C-_SDA2_BASE_(r2)
/* 802A1608 0029E548 D0 3F 00 04 */ stfs f1, 4(r31)
/* 802A160C 0029E54C C0 02 BD A0 */ lfs f0, lbl_804557A0-_SDA2_BASE_(r2)
/* 802A1610 0029E550 D0 1F 00 0C */ stfs f0, 0xc(r31)
/* 802A1614 0029E554 D0 3F 00 10 */ stfs f1, 0x10(r31)
/* 802A1618 0029E558 D0 5F 00 50 */ stfs f2, 0x50(r31)
/* 802A161C 0029E55C D0 5F 00 58 */ stfs f2, 0x58(r31)
/* 802A1620 0029E560 D0 3F 00 54 */ stfs f1, 0x54(r31)
/* 802A1624 0029E564 D0 1F 00 5C */ stfs f0, 0x5c(r31)
/* 802A1628 0029E568 D0 3F 00 60 */ stfs f1, 0x60(r31)
/* 802A162C 0029E56C 48 00 14 85 */ bl JAISoundChild_NS_init
lbl_802A1630:
/* 802A1630 0029E570 93 FE 02 F0 */ stw r31, 0x2f0(r30)
/* 802A1634 0029E574 80 7E 02 F0 */ lwz r3, 0x2f0(r30)
/* 802A1638 0029E578 28 03 00 00 */ cmplwi r3, 0
/* 802A163C 0029E57C 40 82 00 08 */ bne lbl_802A1644
/* 802A1640 0029E580 38 60 00 00 */ li r3, 0
lbl_802A1644:
/* 802A1644 0029E584 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802A1648 0029E588 83 C1 00 08 */ lwz r30, 8(r1)
/* 802A164C 0029E58C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802A1650 0029E590 7C 08 03 A6 */ mtlr r0
/* 802A1654 0029E594 38 21 00 10 */ addi r1, r1, 0x10
/* 802A1658 0029E598 4E 80 00 20 */ blr
/* 802A165C 0029E59C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802A1660 0029E5A0 7C 08 02 A6 */ mflr r0
/* 802A1664 0029E5A4 90 01 00 14 */ stw r0, 0x14(r1)
/* 802A1668 0029E5A8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802A166C 0029E5AC 93 C1 00 08 */ stw r30, 8(r1)
/* 802A1670 0029E5B0 88 03 02 BD */ lbz r0, 0x2bd(r3)
/* 802A1674 0029E5B4 28 00 00 01 */ cmplwi r0, 1
/* 802A1678 0029E5B8 40 82 00 98 */ bne lbl_802A1710
/* 802A167C 0029E5BC 54 80 10 3A */ slwi r0, r4, 2
/* 802A1680 0029E5C0 7F C3 02 14 */ add r30, r3, r0
/* 802A1684 0029E5C4 80 1E 02 F0 */ lwz r0, 0x2f0(r30)
/* 802A1688 0029E5C8 28 00 00 00 */ cmplwi r0, 0
/* 802A168C 0029E5CC 41 82 00 84 */ beq lbl_802A1710
/* 802A1690 0029E5D0 81 83 00 00 */ lwz r12, 0(r3)
/* 802A1694 0029E5D4 81 8C 00 24 */ lwz r12, 0x24(r12)
/* 802A1698 0029E5D8 7D 89 03 A6 */ mtctr r12
/* 802A169C 0029E5DC 4E 80 04 21 */ bctrl
/* 802A16A0 0029E5E0 28 03 00 00 */ cmplwi r3, 0
/* 802A16A4 0029E5E4 41 82 00 10 */ beq lbl_802A16B4
/* 802A16A8 0029E5E8 38 80 00 00 */ li r4, 0
/* 802A16AC 0029E5EC 38 A0 00 00 */ li r5, 0
/* 802A16B0 0029E5F0 4B FF 03 45 */ bl JASTrack_NS_assignExtBuffer
lbl_802A16B4:
/* 802A16B4 0029E5F4 83 FE 02 F0 */ lwz r31, 0x2f0(r30)
/* 802A16B8 0029E5F8 88 0D 8D 98 */ lbz r0, lbl_80451318-_SDA_BASE_(r13)
/* 802A16BC 0029E5FC 7C 00 07 75 */ extsb. r0, r0
/* 802A16C0 0029E600 40 82 00 34 */ bne lbl_802A16F4
/* 802A16C4 0029E604 3C 60 80 43 */ lis r3, lbl_804340B0@ha
/* 802A16C8 0029E608 38 63 40 B0 */ addi r3, r3, lbl_804340B0@l
/* 802A16CC 0029E60C 4B FE F1 7D */ bl JASGenericMemPool
/* 802A16D0 0029E610 3C 60 80 43 */ lis r3, lbl_804340B0@ha
/* 802A16D4 0029E614 38 63 40 B0 */ addi r3, r3, lbl_804340B0@l
.global JASMemPool_NS_dtor_X1_
/* 802A16D8 0029E618 3C 80 80 2A */ lis r4, JASMemPool_NS_dtor_X1_@ha
.global JASMemPool_NS_dtor_X1_
/* 802A16DC 0029E61C 38 84 12 68 */ addi r4, r4, JASMemPool_NS_dtor_X1_@l
/* 802A16E0 0029E620 3C A0 80 43 */ lis r5, lbl_804340A4@ha
/* 802A16E4 0029E624 38 A5 40 A4 */ addi r5, r5, lbl_804340A4@l
/* 802A16E8 0029E628 48 0C 05 3D */ bl func_80361C24
/* 802A16EC 0029E62C 38 00 00 01 */ li r0, 1
/* 802A16F0 0029E630 98 0D 8D 98 */ stb r0, lbl_80451318-_SDA_BASE_(r13)
lbl_802A16F4:
/* 802A16F4 0029E634 3C 60 80 43 */ lis r3, lbl_804340B0@ha
/* 802A16F8 0029E638 38 63 40 B0 */ addi r3, r3, lbl_804340B0@l
/* 802A16FC 0029E63C 7F E4 FB 78 */ mr r4, r31
/* 802A1700 0029E640 38 A0 00 64 */ li r5, 0x64
/* 802A1704 0029E644 4B FE F2 91 */ bl JASGenericMemPool_NS_free
/* 802A1708 0029E648 38 00 00 00 */ li r0, 0
/* 802A170C 0029E64C 90 1E 02 F0 */ stw r0, 0x2f0(r30)
lbl_802A1710:
/* 802A1710 0029E650 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802A1714 0029E654 83 C1 00 08 */ lwz r30, 8(r1)
/* 802A1718 0029E658 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802A171C 0029E65C 7C 08 03 A6 */ mtlr r0
/* 802A1720 0029E660 38 21 00 10 */ addi r1, r1, 0x10
/* 802A1724 0029E664 4E 80 00 20 */ blr
/* 802A1728 0029E668 38 63 00 A8 */ addi r3, r3, 0xa8
/* 802A172C 0029E66C 4E 80 00 20 */ blr
.global JAISeq_NS_getChildTrack
JAISeq_NS_getChildTrack:
/* 802A1730 0029E670 54 85 E1 3E */ srwi r5, r4, 4
/* 802A1734 0029E674 54 80 F0 BA */ rlwinm r0, r4, 0x1e, 2, 0x1d
/* 802A1738 0029E678 7C 63 02 14 */ add r3, r3, r0
/* 802A173C 0029E67C 80 63 01 D8 */ lwz r3, 0x1d8(r3)
/* 802A1740 0029E680 28 03 00 00 */ cmplwi r3, 0
/* 802A1744 0029E684 41 82 00 1C */ beq lbl_802A1760
/* 802A1748 0029E688 54 A0 20 36 */ slwi r0, r5, 4
/* 802A174C 0029E68C 7C 00 20 50 */ subf r0, r0, r4
/* 802A1750 0029E690 54 00 10 3A */ slwi r0, r0, 2
/* 802A1754 0029E694 7C 63 02 14 */ add r3, r3, r0
/* 802A1758 0029E698 80 63 01 30 */ lwz r3, 0x130(r3)
/* 802A175C 0029E69C 4E 80 00 20 */ blr
lbl_802A1760:
/* 802A1760 0029E6A0 38 60 00 00 */ li r3, 0
/* 802A1764 0029E6A4 4E 80 00 20 */ blr
/* 802A1768 0029E6A8 4E 80 00 20 */ blr
/* 802A176C 0029E6AC 38 63 03 70 */ addi r3, r3, 0x370
/* 802A1770 0029E6B0 4E 80 00 20 */ blr

View File

@ -0,0 +1,48 @@
.include "macros.inc"
.section .text, "ax" # 802a1774
.global JAISeqDataUser_NS_dtor
JAISeqDataUser_NS_dtor:
/* 802A1774 0029E6B4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802A1778 0029E6B8 7C 08 02 A6 */ mflr r0
/* 802A177C 0029E6BC 90 01 00 14 */ stw r0, 0x14(r1)
/* 802A1780 0029E6C0 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802A1784 0029E6C4 7C 7F 1B 79 */ or. r31, r3, r3
/* 802A1788 0029E6C8 41 82 00 1C */ beq lbl_802A17A4
/* 802A178C 0029E6CC 3C A0 80 3D */ lis r5, lbl_803C9940@ha
/* 802A1790 0029E6D0 38 05 99 40 */ addi r0, r5, lbl_803C9940@l
/* 802A1794 0029E6D4 90 1F 00 00 */ stw r0, 0(r31)
/* 802A1798 0029E6D8 7C 80 07 35 */ extsh. r0, r4
/* 802A179C 0029E6DC 40 81 00 08 */ ble lbl_802A17A4
/* 802A17A0 0029E6E0 48 02 D5 9D */ bl __dl
lbl_802A17A4:
/* 802A17A4 0029E6E4 7F E3 FB 78 */ mr r3, r31
/* 802A17A8 0029E6E8 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802A17AC 0029E6EC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802A17B0 0029E6F0 7C 08 03 A6 */ mtlr r0
/* 802A17B4 0029E6F4 38 21 00 10 */ addi r1, r1, 0x10
/* 802A17B8 0029E6F8 4E 80 00 20 */ blr
.global JAISeqDataMgr_NS_dtor
JAISeqDataMgr_NS_dtor:
/* 802A17BC 0029E6FC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802A17C0 0029E700 7C 08 02 A6 */ mflr r0
/* 802A17C4 0029E704 90 01 00 14 */ stw r0, 0x14(r1)
/* 802A17C8 0029E708 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802A17CC 0029E70C 7C 7F 1B 79 */ or. r31, r3, r3
/* 802A17D0 0029E710 41 82 00 1C */ beq lbl_802A17EC
/* 802A17D4 0029E714 3C A0 80 3D */ lis r5, lbl_803C9928@ha
/* 802A17D8 0029E718 38 05 99 28 */ addi r0, r5, lbl_803C9928@l
/* 802A17DC 0029E71C 90 1F 00 00 */ stw r0, 0(r31)
/* 802A17E0 0029E720 7C 80 07 35 */ extsh. r0, r4
/* 802A17E4 0029E724 40 81 00 08 */ ble lbl_802A17EC
/* 802A17E8 0029E728 48 02 D5 55 */ bl __dl
lbl_802A17EC:
/* 802A17EC 0029E72C 7F E3 FB 78 */ mr r3, r31
/* 802A17F0 0029E730 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802A17F4 0029E734 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802A17F8 0029E738 7C 08 03 A6 */ mtlr r0
/* 802A17FC 0029E73C 38 21 00 10 */ addi r1, r1, 0x10
/* 802A1800 0029E740 4E 80 00 20 */ blr

715
asm/JAudio2/JAISeqMgr.s Normal file
View File

@ -0,0 +1,715 @@
.include "macros.inc"
.section .text, "ax" # 802a1804
/* 802A1804 0029E744 80 E3 00 64 */ lwz r7, 0x64(r3)
/* 802A1808 0029E748 80 C4 00 00 */ lwz r6, 0(r4)
/* 802A180C 0029E74C 80 04 00 04 */ lwz r0, 4(r4)
/* 802A1810 0029E750 7C 66 02 14 */ add r3, r6, r0
/* 802A1814 0029E754 48 00 00 4C */ b lbl_802A1860
lbl_802A1818:
/* 802A1818 0029E758 80 87 00 00 */ lwz r4, 0(r7)
/* 802A181C 0029E75C 80 A4 03 94 */ lwz r5, 0x394(r4)
/* 802A1820 0029E760 7C 03 28 40 */ cmplw r3, r5
/* 802A1824 0029E764 40 80 00 0C */ bge lbl_802A1830
/* 802A1828 0029E768 38 00 00 00 */ li r0, 0
/* 802A182C 0029E76C 48 00 00 20 */ b lbl_802A184C
lbl_802A1830:
/* 802A1830 0029E770 80 04 03 98 */ lwz r0, 0x398(r4)
/* 802A1834 0029E774 7C 05 02 14 */ add r0, r5, r0
/* 802A1838 0029E778 7C 00 30 40 */ cmplw r0, r6
/* 802A183C 0029E77C 40 80 00 0C */ bge lbl_802A1848
/* 802A1840 0029E780 38 00 00 00 */ li r0, 0
/* 802A1844 0029E784 48 00 00 08 */ b lbl_802A184C
lbl_802A1848:
/* 802A1848 0029E788 38 00 00 01 */ li r0, 1
lbl_802A184C:
/* 802A184C 0029E78C 54 00 06 3F */ clrlwi. r0, r0, 0x18
/* 802A1850 0029E790 41 82 00 0C */ beq lbl_802A185C
/* 802A1854 0029E794 38 60 00 01 */ li r3, 1
/* 802A1858 0029E798 4E 80 00 20 */ blr
lbl_802A185C:
/* 802A185C 0029E79C 80 E7 00 0C */ lwz r7, 0xc(r7)
lbl_802A1860:
/* 802A1860 0029E7A0 28 07 00 00 */ cmplwi r7, 0
/* 802A1864 0029E7A4 40 82 FF B4 */ bne lbl_802A1818
/* 802A1868 0029E7A8 38 60 00 00 */ li r3, 0
/* 802A186C 0029E7AC 4E 80 00 20 */ blr
/* 802A1870 0029E7B0 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802A1874 0029E7B4 7C 08 02 A6 */ mflr r0
/* 802A1878 0029E7B8 90 01 00 24 */ stw r0, 0x24(r1)
/* 802A187C 0029E7BC 39 61 00 20 */ addi r11, r1, 0x20
/* 802A1880 0029E7C0 48 0C 09 5D */ bl func_803621DC
/* 802A1884 0029E7C4 38 A0 00 00 */ li r5, 0
/* 802A1888 0029E7C8 83 A3 00 64 */ lwz r29, 0x64(r3)
/* 802A188C 0029E7CC 83 C4 00 00 */ lwz r30, 0(r4)
/* 802A1890 0029E7D0 80 04 00 04 */ lwz r0, 4(r4)
/* 802A1894 0029E7D4 7F FE 02 14 */ add r31, r30, r0
/* 802A1898 0029E7D8 48 00 00 4C */ b lbl_802A18E4
lbl_802A189C:
/* 802A189C 0029E7DC 80 7D 00 00 */ lwz r3, 0(r29)
/* 802A18A0 0029E7E0 80 83 03 94 */ lwz r4, 0x394(r3)
/* 802A18A4 0029E7E4 7C 1F 20 40 */ cmplw r31, r4
/* 802A18A8 0029E7E8 40 80 00 0C */ bge lbl_802A18B4
/* 802A18AC 0029E7EC 38 00 00 00 */ li r0, 0
/* 802A18B0 0029E7F0 48 00 00 20 */ b lbl_802A18D0
lbl_802A18B4:
/* 802A18B4 0029E7F4 80 03 03 98 */ lwz r0, 0x398(r3)
/* 802A18B8 0029E7F8 7C 04 02 14 */ add r0, r4, r0
/* 802A18BC 0029E7FC 7C 00 F0 40 */ cmplw r0, r30
/* 802A18C0 0029E800 40 80 00 0C */ bge lbl_802A18CC
/* 802A18C4 0029E804 38 00 00 00 */ li r0, 0
/* 802A18C8 0029E808 48 00 00 08 */ b lbl_802A18D0
lbl_802A18CC:
/* 802A18CC 0029E80C 38 00 00 01 */ li r0, 1
lbl_802A18D0:
/* 802A18D0 0029E810 54 00 06 3F */ clrlwi. r0, r0, 0x18
/* 802A18D4 0029E814 41 82 00 0C */ beq lbl_802A18E0
/* 802A18D8 0029E818 48 00 0C C1 */ bl JAISound_NS_stop_X1_
/* 802A18DC 0029E81C 38 A0 00 01 */ li r5, 1
lbl_802A18E0:
/* 802A18E0 0029E820 83 BD 00 0C */ lwz r29, 0xc(r29)
lbl_802A18E4:
/* 802A18E4 0029E824 28 1D 00 00 */ cmplwi r29, 0
/* 802A18E8 0029E828 40 82 FF B4 */ bne lbl_802A189C
/* 802A18EC 0029E82C 54 A0 06 3F */ clrlwi. r0, r5, 0x18
/* 802A18F0 0029E830 38 60 00 02 */ li r3, 2
/* 802A18F4 0029E834 41 82 00 08 */ beq lbl_802A18FC
/* 802A18F8 0029E838 38 60 00 01 */ li r3, 1
lbl_802A18FC:
/* 802A18FC 0029E83C 39 61 00 20 */ addi r11, r1, 0x20
/* 802A1900 0029E840 48 0C 09 29 */ bl func_80362228
/* 802A1904 0029E844 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802A1908 0029E848 7C 08 03 A6 */ mtlr r0
/* 802A190C 0029E84C 38 21 00 20 */ addi r1, r1, 0x20
/* 802A1910 0029E850 4E 80 00 20 */ blr
.global JAISeqMgr
JAISeqMgr:
/* 802A1914 0029E854 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802A1918 0029E858 7C 08 02 A6 */ mflr r0
/* 802A191C 0029E85C 90 01 00 14 */ stw r0, 0x14(r1)
/* 802A1920 0029E860 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802A1924 0029E864 7C 7F 1B 78 */ mr r31, r3
/* 802A1928 0029E868 54 80 06 3F */ clrlwi. r0, r4, 0x18
/* 802A192C 0029E86C 41 82 00 08 */ beq lbl_802A1934
/* 802A1930 0029E870 93 ED 85 E8 */ stw r31, lbl_80450B68-_SDA_BASE_(r13)
lbl_802A1934:
/* 802A1934 0029E874 3C 60 80 3D */ lis r3, lbl_803C9940@ha
/* 802A1938 0029E878 38 03 99 40 */ addi r0, r3, lbl_803C9940@l
/* 802A193C 0029E87C 90 1F 00 00 */ stw r0, 0(r31)
/* 802A1940 0029E880 3C 60 80 3D */ lis r3, lbl_803C9958@ha
/* 802A1944 0029E884 38 03 99 58 */ addi r0, r3, lbl_803C9958@l
/* 802A1948 0029E888 90 1F 00 00 */ stw r0, 0(r31)
/* 802A194C 0029E88C 38 00 00 00 */ li r0, 0
/* 802A1950 0029E890 90 1F 00 08 */ stw r0, 8(r31)
/* 802A1954 0029E894 C0 02 BD A8 */ lfs f0, lbl_804557A8-_SDA2_BASE_(r2)
/* 802A1958 0029E898 D0 1F 00 14 */ stfs f0, 0x14(r31)
/* 802A195C 0029E89C D0 1F 00 1C */ stfs f0, 0x1c(r31)
/* 802A1960 0029E8A0 C0 22 BD AC */ lfs f1, lbl_804557AC-_SDA2_BASE_(r2)
/* 802A1964 0029E8A4 D0 3F 00 18 */ stfs f1, 0x18(r31)
/* 802A1968 0029E8A8 C0 02 BD B0 */ lfs f0, lbl_804557B0-_SDA2_BASE_(r2)
/* 802A196C 0029E8AC D0 1F 00 20 */ stfs f0, 0x20(r31)
/* 802A1970 0029E8B0 D0 3F 00 24 */ stfs f1, 0x24(r31)
/* 802A1974 0029E8B4 38 7F 00 64 */ addi r3, r31, 0x64
/* 802A1978 0029E8B8 48 03 A5 9D */ bl JSUPtrList_NS_initiate
/* 802A197C 0029E8BC 38 60 00 00 */ li r3, 0
/* 802A1980 0029E8C0 90 7F 00 0C */ stw r3, 0xc(r31)
/* 802A1984 0029E8C4 90 7F 00 10 */ stw r3, 0x10(r31)
/* 802A1988 0029E8C8 38 00 00 10 */ li r0, 0x10
/* 802A198C 0029E8CC 90 1F 00 70 */ stw r0, 0x70(r31)
/* 802A1990 0029E8D0 C0 02 BD A8 */ lfs f0, lbl_804557A8-_SDA2_BASE_(r2)
/* 802A1994 0029E8D4 D0 1F 00 14 */ stfs f0, 0x14(r31)
/* 802A1998 0029E8D8 D0 1F 00 1C */ stfs f0, 0x1c(r31)
/* 802A199C 0029E8DC C0 22 BD AC */ lfs f1, lbl_804557AC-_SDA2_BASE_(r2)
/* 802A19A0 0029E8E0 D0 3F 00 18 */ stfs f1, 0x18(r31)
/* 802A19A4 0029E8E4 C0 02 BD B0 */ lfs f0, lbl_804557B0-_SDA2_BASE_(r2)
/* 802A19A8 0029E8E8 D0 1F 00 20 */ stfs f0, 0x20(r31)
/* 802A19AC 0029E8EC D0 3F 00 24 */ stfs f1, 0x24(r31)
/* 802A19B0 0029E8F0 D0 3F 00 28 */ stfs f1, 0x28(r31)
/* 802A19B4 0029E8F4 90 7F 00 30 */ stw r3, 0x30(r31)
/* 802A19B8 0029E8F8 D0 3F 00 2C */ stfs f1, 0x2c(r31)
/* 802A19BC 0029E8FC D0 3F 00 34 */ stfs f1, 0x34(r31)
/* 802A19C0 0029E900 90 7F 00 3C */ stw r3, 0x3c(r31)
/* 802A19C4 0029E904 D0 3F 00 38 */ stfs f1, 0x38(r31)
/* 802A19C8 0029E908 D0 3F 00 40 */ stfs f1, 0x40(r31)
/* 802A19CC 0029E90C 90 7F 00 48 */ stw r3, 0x48(r31)
/* 802A19D0 0029E910 D0 3F 00 44 */ stfs f1, 0x44(r31)
/* 802A19D4 0029E914 D0 3F 00 4C */ stfs f1, 0x4c(r31)
/* 802A19D8 0029E918 90 7F 00 54 */ stw r3, 0x54(r31)
/* 802A19DC 0029E91C D0 3F 00 50 */ stfs f1, 0x50(r31)
/* 802A19E0 0029E920 D0 3F 00 58 */ stfs f1, 0x58(r31)
/* 802A19E4 0029E924 90 7F 00 60 */ stw r3, 0x60(r31)
/* 802A19E8 0029E928 D0 3F 00 5C */ stfs f1, 0x5c(r31)
/* 802A19EC 0029E92C 98 7F 00 04 */ stb r3, 4(r31)
/* 802A19F0 0029E930 7F E3 FB 78 */ mr r3, r31
/* 802A19F4 0029E934 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802A19F8 0029E938 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802A19FC 0029E93C 7C 08 03 A6 */ mtlr r0
/* 802A1A00 0029E940 38 21 00 10 */ addi r1, r1, 0x10
/* 802A1A04 0029E944 4E 80 00 20 */ blr
.global JAISeqMgr_NS_freeDeadSeq_
JAISeqMgr_NS_freeDeadSeq_:
/* 802A1A08 0029E948 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802A1A0C 0029E94C 7C 08 02 A6 */ mflr r0
/* 802A1A10 0029E950 90 01 00 24 */ stw r0, 0x24(r1)
/* 802A1A14 0029E954 39 61 00 20 */ addi r11, r1, 0x20
/* 802A1A18 0029E958 48 0C 07 C5 */ bl func_803621DC
/* 802A1A1C 0029E95C 7C 7D 1B 78 */ mr r29, r3
/* 802A1A20 0029E960 80 83 00 64 */ lwz r4, 0x64(r3)
/* 802A1A24 0029E964 48 00 00 B0 */ b lbl_802A1AD4
lbl_802A1A28:
/* 802A1A28 0029E968 83 E4 00 00 */ lwz r31, 0(r4)
/* 802A1A2C 0029E96C 83 C4 00 0C */ lwz r30, 0xc(r4)
/* 802A1A30 0029E970 88 1F 00 1E */ lbz r0, 0x1e(r31)
/* 802A1A34 0029E974 28 00 00 06 */ cmplwi r0, 6
/* 802A1A38 0029E978 40 82 00 98 */ bne lbl_802A1AD0
/* 802A1A3C 0029E97C 38 7D 00 64 */ addi r3, r29, 0x64
/* 802A1A40 0029E980 48 03 A7 1D */ bl JSUPtrList_NS_remove
/* 802A1A44 0029E984 28 1F 00 00 */ cmplwi r31, 0
/* 802A1A48 0029E988 41 82 00 88 */ beq lbl_802A1AD0
/* 802A1A4C 0029E98C 3C 60 80 3D */ lis r3, lbl_803C98F4@ha
/* 802A1A50 0029E990 38 03 98 F4 */ addi r0, r3, lbl_803C98F4@l
/* 802A1A54 0029E994 90 1F 00 00 */ stw r0, 0(r31)
/* 802A1A58 0029E998 34 1F 00 A8 */ addic. r0, r31, 0xa8
/* 802A1A5C 0029E99C 41 82 00 10 */ beq lbl_802A1A6C
/* 802A1A60 0029E9A0 38 7F 00 A8 */ addi r3, r31, 0xa8
/* 802A1A64 0029E9A4 38 80 FF FF */ li r4, -1
/* 802A1A68 0029E9A8 4B FE F8 B5 */ bl JASTrack_NS_dtor
lbl_802A1A6C:
/* 802A1A6C 0029E9AC 34 1F 00 98 */ addic. r0, r31, 0x98
/* 802A1A70 0029E9B0 41 82 00 10 */ beq lbl_802A1A80
/* 802A1A74 0029E9B4 38 7F 00 98 */ addi r3, r31, 0x98
/* 802A1A78 0029E9B8 38 80 00 00 */ li r4, 0
/* 802A1A7C 0029E9BC 48 03 A3 99 */ bl JSUPtrLink_NS_dtor
lbl_802A1A80:
/* 802A1A80 0029E9C0 88 0D 8D A0 */ lbz r0, lbl_80451320-_SDA_BASE_(r13)
/* 802A1A84 0029E9C4 7C 00 07 75 */ extsb. r0, r0
/* 802A1A88 0029E9C8 40 82 00 34 */ bne lbl_802A1ABC
/* 802A1A8C 0029E9CC 3C 60 80 43 */ lis r3, lbl_804340CC@ha
/* 802A1A90 0029E9D0 38 63 40 CC */ addi r3, r3, lbl_804340CC@l
/* 802A1A94 0029E9D4 4B FE ED B5 */ bl JASGenericMemPool
/* 802A1A98 0029E9D8 3C 60 80 43 */ lis r3, lbl_804340CC@ha
/* 802A1A9C 0029E9DC 38 63 40 CC */ addi r3, r3, lbl_804340CC@l
.global JASMemPool_NS_dtor_X2_
/* 802A1AA0 0029E9E0 3C 80 80 2A */ lis r4, JASMemPool_NS_dtor_X2_@ha
.global JASMemPool_NS_dtor_X2_
/* 802A1AA4 0029E9E4 38 84 1A F4 */ addi r4, r4, JASMemPool_NS_dtor_X2_@l
/* 802A1AA8 0029E9E8 3C A0 80 43 */ lis r5, lbl_804340C0@ha
/* 802A1AAC 0029E9EC 38 A5 40 C0 */ addi r5, r5, lbl_804340C0@l
/* 802A1AB0 0029E9F0 48 0C 01 75 */ bl func_80361C24
/* 802A1AB4 0029E9F4 38 00 00 01 */ li r0, 1
/* 802A1AB8 0029E9F8 98 0D 8D A0 */ stb r0, lbl_80451320-_SDA_BASE_(r13)
lbl_802A1ABC:
/* 802A1ABC 0029E9FC 3C 60 80 43 */ lis r3, lbl_804340CC@ha
/* 802A1AC0 0029EA00 38 63 40 CC */ addi r3, r3, lbl_804340CC@l
/* 802A1AC4 0029EA04 7F E4 FB 78 */ mr r4, r31
/* 802A1AC8 0029EA08 38 A0 03 AC */ li r5, 0x3ac
/* 802A1ACC 0029EA0C 4B FE EE C9 */ bl JASGenericMemPool_NS_free
lbl_802A1AD0:
/* 802A1AD0 0029EA10 7F C4 F3 78 */ mr r4, r30
lbl_802A1AD4:
/* 802A1AD4 0029EA14 28 04 00 00 */ cmplwi r4, 0
/* 802A1AD8 0029EA18 40 82 FF 50 */ bne lbl_802A1A28
/* 802A1ADC 0029EA1C 39 61 00 20 */ addi r11, r1, 0x20
/* 802A1AE0 0029EA20 48 0C 07 49 */ bl func_80362228
/* 802A1AE4 0029EA24 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802A1AE8 0029EA28 7C 08 03 A6 */ mtlr r0
/* 802A1AEC 0029EA2C 38 21 00 20 */ addi r1, r1, 0x20
/* 802A1AF0 0029EA30 4E 80 00 20 */ blr
.global JASMemPool_NS_dtor_X2_
JASMemPool_NS_dtor_X2_:
/* 802A1AF4 0029EA34 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802A1AF8 0029EA38 7C 08 02 A6 */ mflr r0
/* 802A1AFC 0029EA3C 90 01 00 14 */ stw r0, 0x14(r1)
/* 802A1B00 0029EA40 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802A1B04 0029EA44 93 C1 00 08 */ stw r30, 8(r1)
/* 802A1B08 0029EA48 7C 7E 1B 79 */ or. r30, r3, r3
/* 802A1B0C 0029EA4C 7C 9F 23 78 */ mr r31, r4
/* 802A1B10 0029EA50 41 82 00 1C */ beq lbl_802A1B2C
/* 802A1B14 0029EA54 38 80 00 00 */ li r4, 0
/* 802A1B18 0029EA58 4B FE ED 49 */ bl JASGenericMemPool_NS_dtor
/* 802A1B1C 0029EA5C 7F E0 07 35 */ extsh. r0, r31
/* 802A1B20 0029EA60 40 81 00 0C */ ble lbl_802A1B2C
/* 802A1B24 0029EA64 7F C3 F3 78 */ mr r3, r30
/* 802A1B28 0029EA68 48 02 D2 15 */ bl __dl
lbl_802A1B2C:
/* 802A1B2C 0029EA6C 7F C3 F3 78 */ mr r3, r30
/* 802A1B30 0029EA70 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802A1B34 0029EA74 83 C1 00 08 */ lwz r30, 8(r1)
/* 802A1B38 0029EA78 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802A1B3C 0029EA7C 7C 08 03 A6 */ mtlr r0
/* 802A1B40 0029EA80 38 21 00 10 */ addi r1, r1, 0x10
/* 802A1B44 0029EA84 4E 80 00 20 */ blr
.global JAISeqMgr_NS_startSound
JAISeqMgr_NS_startSound:
/* 802A1B48 0029EA88 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 802A1B4C 0029EA8C 7C 08 02 A6 */ mflr r0
/* 802A1B50 0029EA90 90 01 00 44 */ stw r0, 0x44(r1)
/* 802A1B54 0029EA94 39 61 00 40 */ addi r11, r1, 0x40
/* 802A1B58 0029EA98 48 0C 06 75 */ bl func_803621CC
/* 802A1B5C 0029EA9C 7C 79 1B 78 */ mr r25, r3
/* 802A1B60 0029EAA0 7C 9A 23 78 */ mr r26, r4
/* 802A1B64 0029EAA4 7C BB 2B 79 */ or. r27, r5, r5
/* 802A1B68 0029EAA8 7C DC 33 78 */ mr r28, r6
/* 802A1B6C 0029EAAC 41 82 00 14 */ beq lbl_802A1B80
/* 802A1B70 0029EAB0 80 7B 00 00 */ lwz r3, 0(r27)
/* 802A1B74 0029EAB4 28 03 00 00 */ cmplwi r3, 0
/* 802A1B78 0029EAB8 41 82 00 08 */ beq lbl_802A1B80
/* 802A1B7C 0029EABC 48 00 0A 1D */ bl JAISound_NS_stop_X1_
lbl_802A1B80:
/* 802A1B80 0029EAC0 83 CD 85 DC */ lwz r30, lbl_80450B5C-_SDA_BASE_(r13)
/* 802A1B84 0029EAC4 28 1E 00 00 */ cmplwi r30, 0
/* 802A1B88 0029EAC8 41 82 00 2C */ beq lbl_802A1BB4
/* 802A1B8C 0029EACC 80 1A 00 00 */ lwz r0, 0(r26)
/* 802A1B90 0029EAD0 90 01 00 14 */ stw r0, 0x14(r1)
/* 802A1B94 0029EAD4 7F C3 F3 78 */ mr r3, r30
/* 802A1B98 0029EAD8 38 81 00 14 */ addi r4, r1, 0x14
/* 802A1B9C 0029EADC 81 9E 00 00 */ lwz r12, 0(r30)
/* 802A1BA0 0029EAE0 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 802A1BA4 0029EAE4 7D 89 03 A6 */ mtctr r12
/* 802A1BA8 0029EAE8 4E 80 04 21 */ bctrl
/* 802A1BAC 0029EAEC 7C 7F 1B 78 */ mr r31, r3
/* 802A1BB0 0029EAF0 48 00 00 08 */ b lbl_802A1BB8
lbl_802A1BB4:
/* 802A1BB4 0029EAF4 3B E0 FF FF */ li r31, -1
lbl_802A1BB8:
/* 802A1BB8 0029EAF8 38 00 00 00 */ li r0, 0
/* 802A1BBC 0029EAFC 90 01 00 18 */ stw r0, 0x18(r1)
/* 802A1BC0 0029EB00 90 01 00 1C */ stw r0, 0x1c(r1)
/* 802A1BC4 0029EB04 80 1A 00 00 */ lwz r0, 0(r26)
/* 802A1BC8 0029EB08 90 01 00 10 */ stw r0, 0x10(r1)
/* 802A1BCC 0029EB0C 80 79 00 0C */ lwz r3, 0xc(r25)
/* 802A1BD0 0029EB10 38 81 00 10 */ addi r4, r1, 0x10
/* 802A1BD4 0029EB14 38 A1 00 18 */ addi r5, r1, 0x18
/* 802A1BD8 0029EB18 81 83 00 00 */ lwz r12, 0(r3)
/* 802A1BDC 0029EB1C 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 802A1BE0 0029EB20 7D 89 03 A6 */ mtctr r12
/* 802A1BE4 0029EB24 4E 80 04 21 */ bctrl
/* 802A1BE8 0029EB28 2C 03 00 00 */ cmpwi r3, 0
/* 802A1BEC 0029EB2C 40 82 00 0C */ bne lbl_802A1BF8
/* 802A1BF0 0029EB30 38 60 00 00 */ li r3, 0
/* 802A1BF4 0029EB34 48 00 00 84 */ b lbl_802A1C78
lbl_802A1BF8:
/* 802A1BF8 0029EB38 7F 23 CB 78 */ mr r3, r25
/* 802A1BFC 0029EB3C 48 00 03 5D */ bl JAISeqMgr_NS_beginStartSeq_
/* 802A1C00 0029EB40 7C 7D 1B 79 */ or. r29, r3, r3
/* 802A1C04 0029EB44 41 82 00 70 */ beq lbl_802A1C74
/* 802A1C08 0029EB48 80 1A 00 00 */ lwz r0, 0(r26)
/* 802A1C0C 0029EB4C 90 01 00 0C */ stw r0, 0xc(r1)
/* 802A1C10 0029EB50 38 81 00 0C */ addi r4, r1, 0xc
/* 802A1C14 0029EB54 7F 85 E3 78 */ mr r5, r28
/* 802A1C18 0029EB58 80 D9 00 08 */ lwz r6, 8(r25)
/* 802A1C1C 0029EB5C 7F E7 FB 78 */ mr r7, r31
/* 802A1C20 0029EB60 81 19 00 70 */ lwz r8, 0x70(r25)
/* 802A1C24 0029EB64 4B FF EF 41 */ bl JAISeq_NS_JAISeqMgr_startID_
/* 802A1C28 0029EB68 7F 23 CB 78 */ mr r3, r25
/* 802A1C2C 0029EB6C 7F A4 EB 78 */ mr r4, r29
/* 802A1C30 0029EB70 7F 65 DB 78 */ mr r5, r27
/* 802A1C34 0029EB74 48 00 03 B5 */ bl JAISeqMgr_NS_endStartSeq_
/* 802A1C38 0029EB78 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 802A1C3C 0029EB7C 41 82 00 38 */ beq lbl_802A1C74
/* 802A1C40 0029EB80 28 1E 00 00 */ cmplwi r30, 0
/* 802A1C44 0029EB84 41 82 00 28 */ beq lbl_802A1C6C
/* 802A1C48 0029EB88 80 1A 00 00 */ lwz r0, 0(r26)
/* 802A1C4C 0029EB8C 90 01 00 08 */ stw r0, 8(r1)
/* 802A1C50 0029EB90 7F C3 F3 78 */ mr r3, r30
/* 802A1C54 0029EB94 38 81 00 08 */ addi r4, r1, 8
/* 802A1C58 0029EB98 7F A5 EB 78 */ mr r5, r29
/* 802A1C5C 0029EB9C 81 9E 00 00 */ lwz r12, 0(r30)
/* 802A1C60 0029EBA0 81 8C 00 18 */ lwz r12, 0x18(r12)
/* 802A1C64 0029EBA4 7D 89 03 A6 */ mtctr r12
/* 802A1C68 0029EBA8 4E 80 04 21 */ bctrl
lbl_802A1C6C:
/* 802A1C6C 0029EBAC 38 60 00 01 */ li r3, 1
/* 802A1C70 0029EBB0 48 00 00 08 */ b lbl_802A1C78
lbl_802A1C74:
/* 802A1C74 0029EBB4 38 60 00 00 */ li r3, 0
lbl_802A1C78:
/* 802A1C78 0029EBB8 39 61 00 40 */ addi r11, r1, 0x40
/* 802A1C7C 0029EBBC 48 0C 05 9D */ bl func_80362218
/* 802A1C80 0029EBC0 80 01 00 44 */ lwz r0, 0x44(r1)
/* 802A1C84 0029EBC4 7C 08 03 A6 */ mtlr r0
/* 802A1C88 0029EBC8 38 21 00 40 */ addi r1, r1, 0x40
/* 802A1C8C 0029EBCC 4E 80 00 20 */ blr
.global JAISeqMgr_NS_calc
JAISeqMgr_NS_calc:
/* 802A1C90 0029EBD0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802A1C94 0029EBD4 7C 08 02 A6 */ mflr r0
/* 802A1C98 0029EBD8 90 01 00 14 */ stw r0, 0x14(r1)
/* 802A1C9C 0029EBDC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802A1CA0 0029EBE0 93 C1 00 08 */ stw r30, 8(r1)
/* 802A1CA4 0029EBE4 7C 7E 1B 78 */ mr r30, r3
/* 802A1CA8 0029EBE8 C0 23 00 14 */ lfs f1, 0x14(r3)
/* 802A1CAC 0029EBEC 80 63 00 30 */ lwz r3, 0x30(r3)
/* 802A1CB0 0029EBF0 28 03 00 01 */ cmplwi r3, 1
/* 802A1CB4 0029EBF4 40 81 00 18 */ ble lbl_802A1CCC
/* 802A1CB8 0029EBF8 38 03 FF FF */ addi r0, r3, -1
/* 802A1CBC 0029EBFC 90 1E 00 30 */ stw r0, 0x30(r30)
/* 802A1CC0 0029EC00 C0 1E 00 28 */ lfs f0, 0x28(r30)
/* 802A1CC4 0029EC04 EC 21 00 2A */ fadds f1, f1, f0
/* 802A1CC8 0029EC08 48 00 00 14 */ b lbl_802A1CDC
lbl_802A1CCC:
/* 802A1CCC 0029EC0C 40 82 00 10 */ bne lbl_802A1CDC
/* 802A1CD0 0029EC10 38 00 00 00 */ li r0, 0
/* 802A1CD4 0029EC14 90 1E 00 30 */ stw r0, 0x30(r30)
/* 802A1CD8 0029EC18 C0 3E 00 2C */ lfs f1, 0x2c(r30)
lbl_802A1CDC:
/* 802A1CDC 0029EC1C D0 3E 00 14 */ stfs f1, 0x14(r30)
/* 802A1CE0 0029EC20 C0 3E 00 1C */ lfs f1, 0x1c(r30)
/* 802A1CE4 0029EC24 80 7E 00 3C */ lwz r3, 0x3c(r30)
/* 802A1CE8 0029EC28 28 03 00 01 */ cmplwi r3, 1
/* 802A1CEC 0029EC2C 40 81 00 18 */ ble lbl_802A1D04
/* 802A1CF0 0029EC30 38 03 FF FF */ addi r0, r3, -1
/* 802A1CF4 0029EC34 90 1E 00 3C */ stw r0, 0x3c(r30)
/* 802A1CF8 0029EC38 C0 1E 00 34 */ lfs f0, 0x34(r30)
/* 802A1CFC 0029EC3C EC 21 00 2A */ fadds f1, f1, f0
/* 802A1D00 0029EC40 48 00 00 14 */ b lbl_802A1D14
lbl_802A1D04:
/* 802A1D04 0029EC44 40 82 00 10 */ bne lbl_802A1D14
/* 802A1D08 0029EC48 38 00 00 00 */ li r0, 0
/* 802A1D0C 0029EC4C 90 1E 00 3C */ stw r0, 0x3c(r30)
/* 802A1D10 0029EC50 C0 3E 00 38 */ lfs f1, 0x38(r30)
lbl_802A1D14:
/* 802A1D14 0029EC54 D0 3E 00 1C */ stfs f1, 0x1c(r30)
/* 802A1D18 0029EC58 C0 3E 00 18 */ lfs f1, 0x18(r30)
/* 802A1D1C 0029EC5C 80 7E 00 48 */ lwz r3, 0x48(r30)
/* 802A1D20 0029EC60 28 03 00 01 */ cmplwi r3, 1
/* 802A1D24 0029EC64 40 81 00 18 */ ble lbl_802A1D3C
/* 802A1D28 0029EC68 38 03 FF FF */ addi r0, r3, -1
/* 802A1D2C 0029EC6C 90 1E 00 48 */ stw r0, 0x48(r30)
/* 802A1D30 0029EC70 C0 1E 00 40 */ lfs f0, 0x40(r30)
/* 802A1D34 0029EC74 EC 21 00 2A */ fadds f1, f1, f0
/* 802A1D38 0029EC78 48 00 00 14 */ b lbl_802A1D4C
lbl_802A1D3C:
/* 802A1D3C 0029EC7C 40 82 00 10 */ bne lbl_802A1D4C
/* 802A1D40 0029EC80 38 00 00 00 */ li r0, 0
/* 802A1D44 0029EC84 90 1E 00 48 */ stw r0, 0x48(r30)
/* 802A1D48 0029EC88 C0 3E 00 44 */ lfs f1, 0x44(r30)
lbl_802A1D4C:
/* 802A1D4C 0029EC8C D0 3E 00 18 */ stfs f1, 0x18(r30)
/* 802A1D50 0029EC90 C0 3E 00 24 */ lfs f1, 0x24(r30)
/* 802A1D54 0029EC94 80 7E 00 60 */ lwz r3, 0x60(r30)
/* 802A1D58 0029EC98 28 03 00 01 */ cmplwi r3, 1
/* 802A1D5C 0029EC9C 40 81 00 18 */ ble lbl_802A1D74
/* 802A1D60 0029ECA0 38 03 FF FF */ addi r0, r3, -1
/* 802A1D64 0029ECA4 90 1E 00 60 */ stw r0, 0x60(r30)
/* 802A1D68 0029ECA8 C0 1E 00 58 */ lfs f0, 0x58(r30)
/* 802A1D6C 0029ECAC EC 21 00 2A */ fadds f1, f1, f0
/* 802A1D70 0029ECB0 48 00 00 14 */ b lbl_802A1D84
lbl_802A1D74:
/* 802A1D74 0029ECB4 40 82 00 10 */ bne lbl_802A1D84
/* 802A1D78 0029ECB8 38 00 00 00 */ li r0, 0
/* 802A1D7C 0029ECBC 90 1E 00 60 */ stw r0, 0x60(r30)
/* 802A1D80 0029ECC0 C0 3E 00 5C */ lfs f1, 0x5c(r30)
lbl_802A1D84:
/* 802A1D84 0029ECC4 D0 3E 00 24 */ stfs f1, 0x24(r30)
/* 802A1D88 0029ECC8 C0 3E 00 20 */ lfs f1, 0x20(r30)
/* 802A1D8C 0029ECCC 80 7E 00 54 */ lwz r3, 0x54(r30)
/* 802A1D90 0029ECD0 28 03 00 01 */ cmplwi r3, 1
/* 802A1D94 0029ECD4 40 81 00 18 */ ble lbl_802A1DAC
/* 802A1D98 0029ECD8 38 03 FF FF */ addi r0, r3, -1
/* 802A1D9C 0029ECDC 90 1E 00 54 */ stw r0, 0x54(r30)
/* 802A1DA0 0029ECE0 C0 1E 00 4C */ lfs f0, 0x4c(r30)
/* 802A1DA4 0029ECE4 EC 21 00 2A */ fadds f1, f1, f0
/* 802A1DA8 0029ECE8 48 00 00 14 */ b lbl_802A1DBC
lbl_802A1DAC:
/* 802A1DAC 0029ECEC 40 82 00 10 */ bne lbl_802A1DBC
/* 802A1DB0 0029ECF0 38 00 00 00 */ li r0, 0
/* 802A1DB4 0029ECF4 90 1E 00 54 */ stw r0, 0x54(r30)
/* 802A1DB8 0029ECF8 C0 3E 00 50 */ lfs f1, 0x50(r30)
lbl_802A1DBC:
/* 802A1DBC 0029ECFC D0 3E 00 20 */ stfs f1, 0x20(r30)
/* 802A1DC0 0029ED00 83 FE 00 64 */ lwz r31, 0x64(r30)
/* 802A1DC4 0029ED04 48 00 00 10 */ b lbl_802A1DD4
lbl_802A1DC8:
/* 802A1DC8 0029ED08 80 7F 00 00 */ lwz r3, 0(r31)
/* 802A1DCC 0029ED0C 4B FF F2 C1 */ bl JAISeq_NS_JAISeqMgr_calc_
/* 802A1DD0 0029ED10 83 FF 00 0C */ lwz r31, 0xc(r31)
lbl_802A1DD4:
/* 802A1DD4 0029ED14 28 1F 00 00 */ cmplwi r31, 0
/* 802A1DD8 0029ED18 40 82 FF F0 */ bne lbl_802A1DC8
/* 802A1DDC 0029ED1C 7F C3 F3 78 */ mr r3, r30
/* 802A1DE0 0029ED20 4B FF FC 29 */ bl JAISeqMgr_NS_freeDeadSeq_
/* 802A1DE4 0029ED24 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802A1DE8 0029ED28 83 C1 00 08 */ lwz r30, 8(r1)
/* 802A1DEC 0029ED2C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802A1DF0 0029ED30 7C 08 03 A6 */ mtlr r0
/* 802A1DF4 0029ED34 38 21 00 10 */ addi r1, r1, 0x10
/* 802A1DF8 0029ED38 4E 80 00 20 */ blr
.global JAISeqMgr_NS_stop
JAISeqMgr_NS_stop:
/* 802A1DFC 0029ED3C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802A1E00 0029ED40 7C 08 02 A6 */ mflr r0
/* 802A1E04 0029ED44 90 01 00 14 */ stw r0, 0x14(r1)
/* 802A1E08 0029ED48 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802A1E0C 0029ED4C 83 E3 00 64 */ lwz r31, 0x64(r3)
/* 802A1E10 0029ED50 48 00 00 10 */ b lbl_802A1E20
lbl_802A1E14:
/* 802A1E14 0029ED54 80 7F 00 00 */ lwz r3, 0(r31)
/* 802A1E18 0029ED58 48 00 07 81 */ bl JAISound_NS_stop_X1_
/* 802A1E1C 0029ED5C 83 FF 00 0C */ lwz r31, 0xc(r31)
lbl_802A1E20:
/* 802A1E20 0029ED60 28 1F 00 00 */ cmplwi r31, 0
/* 802A1E24 0029ED64 40 82 FF F0 */ bne lbl_802A1E14
/* 802A1E28 0029ED68 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802A1E2C 0029ED6C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802A1E30 0029ED70 7C 08 03 A6 */ mtlr r0
/* 802A1E34 0029ED74 38 21 00 10 */ addi r1, r1, 0x10
/* 802A1E38 0029ED78 4E 80 00 20 */ blr
.global JAISeqMgr_NS_stop_X1_
JAISeqMgr_NS_stop_X1_:
/* 802A1E3C 0029ED7C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802A1E40 0029ED80 7C 08 02 A6 */ mflr r0
/* 802A1E44 0029ED84 90 01 00 14 */ stw r0, 0x14(r1)
/* 802A1E48 0029ED88 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802A1E4C 0029ED8C 93 C1 00 08 */ stw r30, 8(r1)
/* 802A1E50 0029ED90 7C 9E 23 78 */ mr r30, r4
/* 802A1E54 0029ED94 83 E3 00 64 */ lwz r31, 0x64(r3)
/* 802A1E58 0029ED98 48 00 00 14 */ b lbl_802A1E6C
lbl_802A1E5C:
/* 802A1E5C 0029ED9C 80 7F 00 00 */ lwz r3, 0(r31)
/* 802A1E60 0029EDA0 7F C4 F3 78 */ mr r4, r30
/* 802A1E64 0029EDA4 48 00 06 79 */ bl JAISound_NS_stop
/* 802A1E68 0029EDA8 83 FF 00 0C */ lwz r31, 0xc(r31)
lbl_802A1E6C:
/* 802A1E6C 0029EDAC 28 1F 00 00 */ cmplwi r31, 0
/* 802A1E70 0029EDB0 40 82 FF EC */ bne lbl_802A1E5C
/* 802A1E74 0029EDB4 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802A1E78 0029EDB8 83 C1 00 08 */ lwz r30, 8(r1)
/* 802A1E7C 0029EDBC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802A1E80 0029EDC0 7C 08 03 A6 */ mtlr r0
/* 802A1E84 0029EDC4 38 21 00 10 */ addi r1, r1, 0x10
/* 802A1E88 0029EDC8 4E 80 00 20 */ blr
.global JAISeqMgr_NS_stopSoundID
JAISeqMgr_NS_stopSoundID:
/* 802A1E8C 0029EDCC 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802A1E90 0029EDD0 7C 08 02 A6 */ mflr r0
/* 802A1E94 0029EDD4 90 01 00 24 */ stw r0, 0x24(r1)
/* 802A1E98 0029EDD8 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 802A1E9C 0029EDDC 93 C1 00 18 */ stw r30, 0x18(r1)
/* 802A1EA0 0029EDE0 7C 9E 23 78 */ mr r30, r4
/* 802A1EA4 0029EDE4 80 84 00 00 */ lwz r4, 0(r4)
/* 802A1EA8 0029EDE8 3C 04 00 01 */ addis r0, r4, 1
/* 802A1EAC 0029EDEC 28 00 FF FF */ cmplwi r0, 0xffff
/* 802A1EB0 0029EDF0 41 82 00 34 */ beq lbl_802A1EE4
/* 802A1EB4 0029EDF4 83 E3 00 64 */ lwz r31, 0x64(r3)
/* 802A1EB8 0029EDF8 48 00 00 24 */ b lbl_802A1EDC
lbl_802A1EBC:
/* 802A1EBC 0029EDFC 80 7F 00 00 */ lwz r3, 0(r31)
/* 802A1EC0 0029EE00 80 83 00 18 */ lwz r4, 0x18(r3)
/* 802A1EC4 0029EE04 90 81 00 08 */ stw r4, 8(r1)
/* 802A1EC8 0029EE08 80 1E 00 00 */ lwz r0, 0(r30)
/* 802A1ECC 0029EE0C 7C 04 00 40 */ cmplw r4, r0
/* 802A1ED0 0029EE10 40 82 00 08 */ bne lbl_802A1ED8
/* 802A1ED4 0029EE14 48 00 06 C5 */ bl JAISound_NS_stop_X1_
lbl_802A1ED8:
/* 802A1ED8 0029EE18 83 FF 00 0C */ lwz r31, 0xc(r31)
lbl_802A1EDC:
/* 802A1EDC 0029EE1C 28 1F 00 00 */ cmplwi r31, 0
/* 802A1EE0 0029EE20 40 82 FF DC */ bne lbl_802A1EBC
lbl_802A1EE4:
/* 802A1EE4 0029EE24 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 802A1EE8 0029EE28 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 802A1EEC 0029EE2C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802A1EF0 0029EE30 7C 08 03 A6 */ mtlr r0
/* 802A1EF4 0029EE34 38 21 00 20 */ addi r1, r1, 0x20
/* 802A1EF8 0029EE38 4E 80 00 20 */ blr
.global JAISeqMgr_NS_mixOut
JAISeqMgr_NS_mixOut:
/* 802A1EFC 0029EE3C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802A1F00 0029EE40 7C 08 02 A6 */ mflr r0
/* 802A1F04 0029EE44 90 01 00 24 */ stw r0, 0x24(r1)
/* 802A1F08 0029EE48 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 802A1F0C 0029EE4C 93 C1 00 18 */ stw r30, 0x18(r1)
/* 802A1F10 0029EE50 7C 7E 1B 78 */ mr r30, r3
/* 802A1F14 0029EE54 83 E3 00 64 */ lwz r31, 0x64(r3)
/* 802A1F18 0029EE58 48 00 00 20 */ b lbl_802A1F38
lbl_802A1F1C:
/* 802A1F1C 0029EE5C 88 1E 00 04 */ lbz r0, 4(r30)
/* 802A1F20 0029EE60 98 01 00 08 */ stb r0, 8(r1)
/* 802A1F24 0029EE64 80 7F 00 00 */ lwz r3, 0(r31)
/* 802A1F28 0029EE68 38 9E 00 14 */ addi r4, r30, 0x14
/* 802A1F2C 0029EE6C 38 A1 00 08 */ addi r5, r1, 8
/* 802A1F30 0029EE70 4B FF F5 CD */ bl JAISeq_NS_JAISeqMgr_mixOut_
/* 802A1F34 0029EE74 83 FF 00 0C */ lwz r31, 0xc(r31)
lbl_802A1F38:
/* 802A1F38 0029EE78 28 1F 00 00 */ cmplwi r31, 0
/* 802A1F3C 0029EE7C 40 82 FF E0 */ bne lbl_802A1F1C
/* 802A1F40 0029EE80 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 802A1F44 0029EE84 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 802A1F48 0029EE88 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802A1F4C 0029EE8C 7C 08 03 A6 */ mtlr r0
/* 802A1F50 0029EE90 38 21 00 20 */ addi r1, r1, 0x20
/* 802A1F54 0029EE94 4E 80 00 20 */ blr
.global JAISeqMgr_NS_beginStartSeq_
JAISeqMgr_NS_beginStartSeq_:
/* 802A1F58 0029EE98 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802A1F5C 0029EE9C 7C 08 02 A6 */ mflr r0
/* 802A1F60 0029EEA0 90 01 00 14 */ stw r0, 0x14(r1)
/* 802A1F64 0029EEA4 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802A1F68 0029EEA8 7C 7F 1B 78 */ mr r31, r3
/* 802A1F6C 0029EEAC 88 0D 8D A0 */ lbz r0, lbl_80451320-_SDA_BASE_(r13)
/* 802A1F70 0029EEB0 7C 00 07 75 */ extsb. r0, r0
/* 802A1F74 0029EEB4 40 82 00 34 */ bne lbl_802A1FA8
/* 802A1F78 0029EEB8 3C 60 80 43 */ lis r3, lbl_804340CC@ha
/* 802A1F7C 0029EEBC 38 63 40 CC */ addi r3, r3, lbl_804340CC@l
/* 802A1F80 0029EEC0 4B FE E8 C9 */ bl JASGenericMemPool
/* 802A1F84 0029EEC4 3C 60 80 43 */ lis r3, lbl_804340CC@ha
/* 802A1F88 0029EEC8 38 63 40 CC */ addi r3, r3, lbl_804340CC@l
.global JASMemPool_NS_dtor_X2_
/* 802A1F8C 0029EECC 3C 80 80 2A */ lis r4, JASMemPool_NS_dtor_X2_@ha
.global JASMemPool_NS_dtor_X2_
/* 802A1F90 0029EED0 38 84 1A F4 */ addi r4, r4, JASMemPool_NS_dtor_X2_@l
/* 802A1F94 0029EED4 3C A0 80 43 */ lis r5, lbl_804340C0@ha
/* 802A1F98 0029EED8 38 A5 40 C0 */ addi r5, r5, lbl_804340C0@l
/* 802A1F9C 0029EEDC 48 0B FC 89 */ bl func_80361C24
/* 802A1FA0 0029EEE0 38 00 00 01 */ li r0, 1
/* 802A1FA4 0029EEE4 98 0D 8D A0 */ stb r0, lbl_80451320-_SDA_BASE_(r13)
lbl_802A1FA8:
/* 802A1FA8 0029EEE8 3C 60 80 43 */ lis r3, lbl_804340CC@ha
/* 802A1FAC 0029EEEC 38 63 40 CC */ addi r3, r3, lbl_804340CC@l
/* 802A1FB0 0029EEF0 38 80 03 AC */ li r4, 0x3ac
/* 802A1FB4 0029EEF4 4B FE E9 95 */ bl JASGenericMemPool_NS_alloc
/* 802A1FB8 0029EEF8 7C 60 1B 79 */ or. r0, r3, r3
/* 802A1FBC 0029EEFC 41 82 00 14 */ beq lbl_802A1FD0
/* 802A1FC0 0029EF00 7F E4 FB 78 */ mr r4, r31
/* 802A1FC4 0029EF04 80 BF 00 10 */ lwz r5, 0x10(r31)
/* 802A1FC8 0029EF08 4B FF EA C5 */ bl JAISeq
/* 802A1FCC 0029EF0C 7C 60 1B 78 */ mr r0, r3
lbl_802A1FD0:
/* 802A1FD0 0029EF10 7C 03 03 78 */ mr r3, r0
/* 802A1FD4 0029EF14 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802A1FD8 0029EF18 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802A1FDC 0029EF1C 7C 08 03 A6 */ mtlr r0
/* 802A1FE0 0029EF20 38 21 00 10 */ addi r1, r1, 0x10
/* 802A1FE4 0029EF24 4E 80 00 20 */ blr
.global JAISeqMgr_NS_endStartSeq_
JAISeqMgr_NS_endStartSeq_:
/* 802A1FE8 0029EF28 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802A1FEC 0029EF2C 7C 08 02 A6 */ mflr r0
/* 802A1FF0 0029EF30 90 01 00 14 */ stw r0, 0x14(r1)
/* 802A1FF4 0029EF34 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802A1FF8 0029EF38 93 C1 00 08 */ stw r30, 8(r1)
/* 802A1FFC 0029EF3C 7C BE 2B 78 */ mr r30, r5
/* 802A2000 0029EF40 83 E4 00 98 */ lwz r31, 0x98(r4)
/* 802A2004 0029EF44 28 1F 00 00 */ cmplwi r31, 0
/* 802A2008 0029EF48 41 82 00 CC */ beq lbl_802A20D4
/* 802A200C 0029EF4C 88 1F 00 1E */ lbz r0, 0x1e(r31)
/* 802A2010 0029EF50 28 00 00 06 */ cmplwi r0, 6
/* 802A2014 0029EF54 41 82 00 34 */ beq lbl_802A2048
/* 802A2018 0029EF58 28 04 00 00 */ cmplwi r4, 0
/* 802A201C 0029EF5C 41 82 00 08 */ beq lbl_802A2024
/* 802A2020 0029EF60 38 84 00 98 */ addi r4, r4, 0x98
lbl_802A2024:
/* 802A2024 0029EF64 38 63 00 64 */ addi r3, r3, 0x64
/* 802A2028 0029EF68 48 03 9F 25 */ bl JSUPtrList_NS_append
/* 802A202C 0029EF6C 28 1E 00 00 */ cmplwi r30, 0
/* 802A2030 0029EF70 41 82 00 10 */ beq lbl_802A2040
/* 802A2034 0029EF74 7F E3 FB 78 */ mr r3, r31
/* 802A2038 0029EF78 7F C4 F3 78 */ mr r4, r30
/* 802A203C 0029EF7C 48 00 01 81 */ bl JAISound_NS_attachHandle
lbl_802A2040:
/* 802A2040 0029EF80 38 60 00 01 */ li r3, 1
/* 802A2044 0029EF84 48 00 00 94 */ b lbl_802A20D8
lbl_802A2048:
/* 802A2048 0029EF88 28 1F 00 00 */ cmplwi r31, 0
/* 802A204C 0029EF8C 41 82 00 88 */ beq lbl_802A20D4
/* 802A2050 0029EF90 3C 60 80 3D */ lis r3, lbl_803C98F4@ha
/* 802A2054 0029EF94 38 03 98 F4 */ addi r0, r3, lbl_803C98F4@l
/* 802A2058 0029EF98 90 1F 00 00 */ stw r0, 0(r31)
/* 802A205C 0029EF9C 34 1F 00 A8 */ addic. r0, r31, 0xa8
/* 802A2060 0029EFA0 41 82 00 10 */ beq lbl_802A2070
/* 802A2064 0029EFA4 38 7F 00 A8 */ addi r3, r31, 0xa8
/* 802A2068 0029EFA8 38 80 FF FF */ li r4, -1
/* 802A206C 0029EFAC 4B FE F2 B1 */ bl JASTrack_NS_dtor
lbl_802A2070:
/* 802A2070 0029EFB0 34 1F 00 98 */ addic. r0, r31, 0x98
/* 802A2074 0029EFB4 41 82 00 10 */ beq lbl_802A2084
/* 802A2078 0029EFB8 38 7F 00 98 */ addi r3, r31, 0x98
/* 802A207C 0029EFBC 38 80 00 00 */ li r4, 0
/* 802A2080 0029EFC0 48 03 9D 95 */ bl JSUPtrLink_NS_dtor
lbl_802A2084:
/* 802A2084 0029EFC4 88 0D 8D A0 */ lbz r0, lbl_80451320-_SDA_BASE_(r13)
/* 802A2088 0029EFC8 7C 00 07 75 */ extsb. r0, r0
/* 802A208C 0029EFCC 40 82 00 34 */ bne lbl_802A20C0
/* 802A2090 0029EFD0 3C 60 80 43 */ lis r3, lbl_804340CC@ha
/* 802A2094 0029EFD4 38 63 40 CC */ addi r3, r3, lbl_804340CC@l
/* 802A2098 0029EFD8 4B FE E7 B1 */ bl JASGenericMemPool
/* 802A209C 0029EFDC 3C 60 80 43 */ lis r3, lbl_804340CC@ha
/* 802A20A0 0029EFE0 38 63 40 CC */ addi r3, r3, lbl_804340CC@l
.global JASMemPool_NS_dtor_X2_
/* 802A20A4 0029EFE4 3C 80 80 2A */ lis r4, JASMemPool_NS_dtor_X2_@ha
.global JASMemPool_NS_dtor_X2_
/* 802A20A8 0029EFE8 38 84 1A F4 */ addi r4, r4, JASMemPool_NS_dtor_X2_@l
/* 802A20AC 0029EFEC 3C A0 80 43 */ lis r5, lbl_804340C0@ha
/* 802A20B0 0029EFF0 38 A5 40 C0 */ addi r5, r5, lbl_804340C0@l
/* 802A20B4 0029EFF4 48 0B FB 71 */ bl func_80361C24
/* 802A20B8 0029EFF8 38 00 00 01 */ li r0, 1
/* 802A20BC 0029EFFC 98 0D 8D A0 */ stb r0, lbl_80451320-_SDA_BASE_(r13)
lbl_802A20C0:
/* 802A20C0 0029F000 3C 60 80 43 */ lis r3, lbl_804340CC@ha
/* 802A20C4 0029F004 38 63 40 CC */ addi r3, r3, lbl_804340CC@l
/* 802A20C8 0029F008 7F E4 FB 78 */ mr r4, r31
/* 802A20CC 0029F00C 38 A0 03 AC */ li r5, 0x3ac
/* 802A20D0 0029F010 4B FE E8 C5 */ bl JASGenericMemPool_NS_free
lbl_802A20D4:
/* 802A20D4 0029F014 38 60 00 00 */ li r3, 0
lbl_802A20D8:
/* 802A20D8 0029F018 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802A20DC 0029F01C 83 C1 00 08 */ lwz r30, 8(r1)
/* 802A20E0 0029F020 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802A20E4 0029F024 7C 08 03 A6 */ mtlr r0
/* 802A20E8 0029F028 38 21 00 10 */ addi r1, r1, 0x10
/* 802A20EC 0029F02C 4E 80 00 20 */ blr
/* 802A20F0 0029F030 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802A20F4 0029F034 7C 08 02 A6 */ mflr r0
/* 802A20F8 0029F038 90 01 00 14 */ stw r0, 0x14(r1)
/* 802A20FC 0029F03C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802A2100 0029F040 93 C1 00 08 */ stw r30, 8(r1)
/* 802A2104 0029F044 7C 7E 1B 79 */ or. r30, r3, r3
/* 802A2108 0029F048 7C 9F 23 78 */ mr r31, r4
/* 802A210C 0029F04C 41 82 00 5C */ beq lbl_802A2168
/* 802A2110 0029F050 3C 60 80 3D */ lis r3, lbl_803C9958@ha
/* 802A2114 0029F054 38 03 99 58 */ addi r0, r3, lbl_803C9958@l
/* 802A2118 0029F058 90 1E 00 00 */ stw r0, 0(r30)
/* 802A211C 0029F05C 34 1E 00 64 */ addic. r0, r30, 0x64
/* 802A2120 0029F060 41 82 00 10 */ beq lbl_802A2130
/* 802A2124 0029F064 38 7E 00 64 */ addi r3, r30, 0x64
/* 802A2128 0029F068 38 80 00 00 */ li r4, 0
/* 802A212C 0029F06C 48 03 9D 81 */ bl JSUPtrList_NS_dtor
lbl_802A2130:
/* 802A2130 0029F070 7F C3 F3 78 */ mr r3, r30
/* 802A2134 0029F074 38 80 00 00 */ li r4, 0
/* 802A2138 0029F078 4B FF F6 3D */ bl JAISeqDataUser_NS_dtor
/* 802A213C 0029F07C 28 1E 00 00 */ cmplwi r30, 0
/* 802A2140 0029F080 41 82 00 18 */ beq lbl_802A2158
/* 802A2144 0029F084 80 0D 85 E8 */ lwz r0, lbl_80450B68-_SDA_BASE_(r13)
/* 802A2148 0029F088 7C 00 F0 40 */ cmplw r0, r30
/* 802A214C 0029F08C 40 82 00 0C */ bne lbl_802A2158
/* 802A2150 0029F090 38 00 00 00 */ li r0, 0
/* 802A2154 0029F094 90 0D 85 E8 */ stw r0, lbl_80450B68-_SDA_BASE_(r13)
lbl_802A2158:
/* 802A2158 0029F098 7F E0 07 35 */ extsh. r0, r31
/* 802A215C 0029F09C 40 81 00 0C */ ble lbl_802A2168
/* 802A2160 0029F0A0 7F C3 F3 78 */ mr r3, r30
/* 802A2164 0029F0A4 48 02 CB D9 */ bl __dl
lbl_802A2168:
/* 802A2168 0029F0A8 7F C3 F3 78 */ mr r3, r30
/* 802A216C 0029F0AC 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802A2170 0029F0B0 83 C1 00 08 */ lwz r30, 8(r1)
/* 802A2174 0029F0B4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802A2178 0029F0B8 7C 08 03 A6 */ mtlr r0
/* 802A217C 0029F0BC 38 21 00 10 */ addi r1, r1, 0x10
/* 802A2180 0029F0C0 4E 80 00 20 */ blr

684
asm/JAudio2/JAISound.s Normal file
View File

@ -0,0 +1,684 @@
.include "macros.inc"
.section .text, "ax" # 802a2184
.global JAISoundHandle_NS_releaseSound
JAISoundHandle_NS_releaseSound:
/* 802A2184 0029F0C4 80 83 00 00 */ lwz r4, 0(r3)
/* 802A2188 0029F0C8 28 04 00 00 */ cmplwi r4, 0
/* 802A218C 0029F0CC 4D 82 00 20 */ beqlr
/* 802A2190 0029F0D0 38 00 00 00 */ li r0, 0
/* 802A2194 0029F0D4 90 04 00 04 */ stw r0, 4(r4)
/* 802A2198 0029F0D8 90 03 00 00 */ stw r0, 0(r3)
/* 802A219C 0029F0DC 4E 80 00 20 */ blr
.global JAISound_NS_releaseHandle
JAISound_NS_releaseHandle:
/* 802A21A0 0029F0E0 80 83 00 04 */ lwz r4, 4(r3)
/* 802A21A4 0029F0E4 28 04 00 00 */ cmplwi r4, 0
/* 802A21A8 0029F0E8 4D 82 00 20 */ beqlr
/* 802A21AC 0029F0EC 38 00 00 00 */ li r0, 0
/* 802A21B0 0029F0F0 90 04 00 00 */ stw r0, 0(r4)
/* 802A21B4 0029F0F4 90 03 00 04 */ stw r0, 4(r3)
/* 802A21B8 0029F0F8 4E 80 00 20 */ blr
.global JAISound_NS_attachHandle
JAISound_NS_attachHandle:
/* 802A21BC 0029F0FC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802A21C0 0029F100 7C 08 02 A6 */ mflr r0
/* 802A21C4 0029F104 90 01 00 14 */ stw r0, 0x14(r1)
/* 802A21C8 0029F108 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802A21CC 0029F10C 93 C1 00 08 */ stw r30, 8(r1)
/* 802A21D0 0029F110 7C 7E 1B 78 */ mr r30, r3
/* 802A21D4 0029F114 7C 9F 23 78 */ mr r31, r4
/* 802A21D8 0029F118 80 64 00 00 */ lwz r3, 0(r4)
/* 802A21DC 0029F11C 28 03 00 00 */ cmplwi r3, 0
/* 802A21E0 0029F120 41 82 00 08 */ beq lbl_802A21E8
/* 802A21E4 0029F124 48 00 03 B5 */ bl JAISound_NS_stop_X1_
lbl_802A21E8:
/* 802A21E8 0029F128 80 1E 00 04 */ lwz r0, 4(r30)
/* 802A21EC 0029F12C 28 00 00 00 */ cmplwi r0, 0
/* 802A21F0 0029F130 41 82 00 0C */ beq lbl_802A21FC
/* 802A21F4 0029F134 7F C3 F3 78 */ mr r3, r30
/* 802A21F8 0029F138 4B FF FF A9 */ bl JAISound_NS_releaseHandle
lbl_802A21FC:
/* 802A21FC 0029F13C 93 FE 00 04 */ stw r31, 4(r30)
/* 802A2200 0029F140 80 7E 00 04 */ lwz r3, 4(r30)
/* 802A2204 0029F144 93 C3 00 00 */ stw r30, 0(r3)
/* 802A2208 0029F148 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802A220C 0029F14C 83 C1 00 08 */ lwz r30, 8(r1)
/* 802A2210 0029F150 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802A2214 0029F154 7C 08 03 A6 */ mtlr r0
/* 802A2218 0029F158 38 21 00 10 */ addi r1, r1, 0x10
/* 802A221C 0029F15C 4E 80 00 20 */ blr
.global JAISoundStatus__NS_lockWhenPrepared
JAISoundStatus__NS_lockWhenPrepared:
/* 802A2220 0029F160 88 03 00 02 */ lbz r0, 2(r3)
/* 802A2224 0029F164 28 00 00 00 */ cmplwi r0, 0
/* 802A2228 0029F168 40 82 00 14 */ bne lbl_802A223C
/* 802A222C 0029F16C 38 00 00 01 */ li r0, 1
/* 802A2230 0029F170 98 03 00 02 */ stb r0, 2(r3)
/* 802A2234 0029F174 38 60 00 01 */ li r3, 1
/* 802A2238 0029F178 4E 80 00 20 */ blr
lbl_802A223C:
/* 802A223C 0029F17C 38 60 00 00 */ li r3, 0
/* 802A2240 0029F180 4E 80 00 20 */ blr
.global JAISoundStatus__NS_unlockIfLocked
JAISoundStatus__NS_unlockIfLocked:
/* 802A2244 0029F184 88 03 00 02 */ lbz r0, 2(r3)
/* 802A2248 0029F188 28 00 00 03 */ cmplwi r0, 3
/* 802A224C 0029F18C 40 82 00 14 */ bne lbl_802A2260
/* 802A2250 0029F190 38 00 00 04 */ li r0, 4
/* 802A2254 0029F194 98 03 00 02 */ stb r0, 2(r3)
/* 802A2258 0029F198 38 60 00 01 */ li r3, 1
/* 802A225C 0029F19C 4E 80 00 20 */ blr
lbl_802A2260:
/* 802A2260 0029F1A0 28 00 00 01 */ cmplwi r0, 1
/* 802A2264 0029F1A4 40 82 00 14 */ bne lbl_802A2278
/* 802A2268 0029F1A8 38 00 00 00 */ li r0, 0
/* 802A226C 0029F1AC 98 03 00 02 */ stb r0, 2(r3)
/* 802A2270 0029F1B0 38 60 00 01 */ li r3, 1
/* 802A2274 0029F1B4 4E 80 00 20 */ blr
lbl_802A2278:
/* 802A2278 0029F1B8 38 60 00 00 */ li r3, 0
/* 802A227C 0029F1BC 4E 80 00 20 */ blr
.global JAISoundParams_NS_mixOutAll
JAISoundParams_NS_mixOutAll:
/* 802A2280 0029F1C0 C0 63 00 0C */ lfs f3, 0xc(r3)
/* 802A2284 0029F1C4 C0 44 00 00 */ lfs f2, 0(r4)
/* 802A2288 0029F1C8 C0 03 00 00 */ lfs f0, 0(r3)
/* 802A228C 0029F1CC EC 02 00 32 */ fmuls f0, f2, f0
/* 802A2290 0029F1D0 EC 03 00 32 */ fmuls f0, f3, f0
/* 802A2294 0029F1D4 EC 01 00 32 */ fmuls f0, f1, f0
/* 802A2298 0029F1D8 D0 05 00 00 */ stfs f0, 0(r5)
/* 802A229C 0029F1DC C0 43 00 10 */ lfs f2, 0x10(r3)
/* 802A22A0 0029F1E0 C0 24 00 04 */ lfs f1, 4(r4)
/* 802A22A4 0029F1E4 C0 03 00 04 */ lfs f0, 4(r3)
/* 802A22A8 0029F1E8 EC 01 00 2A */ fadds f0, f1, f0
/* 802A22AC 0029F1EC EC 02 00 2A */ fadds f0, f2, f0
/* 802A22B0 0029F1F0 D0 05 00 04 */ stfs f0, 4(r5)
/* 802A22B4 0029F1F4 C0 43 00 14 */ lfs f2, 0x14(r3)
/* 802A22B8 0029F1F8 C0 24 00 08 */ lfs f1, 8(r4)
/* 802A22BC 0029F1FC C0 03 00 08 */ lfs f0, 8(r3)
/* 802A22C0 0029F200 EC 01 00 32 */ fmuls f0, f1, f0
/* 802A22C4 0029F204 EC 02 00 32 */ fmuls f0, f2, f0
/* 802A22C8 0029F208 D0 05 00 08 */ stfs f0, 8(r5)
/* 802A22CC 0029F20C C0 24 00 0C */ lfs f1, 0xc(r4)
/* 802A22D0 0029F210 C0 03 00 18 */ lfs f0, 0x18(r3)
/* 802A22D4 0029F214 EC 21 00 2A */ fadds f1, f1, f0
/* 802A22D8 0029F218 C0 02 BD B8 */ lfs f0, lbl_804557B8-_SDA2_BASE_(r2)
/* 802A22DC 0029F21C EC 01 00 28 */ fsubs f0, f1, f0
/* 802A22E0 0029F220 D0 05 00 0C */ stfs f0, 0xc(r5)
/* 802A22E4 0029F224 C0 24 00 10 */ lfs f1, 0x10(r4)
/* 802A22E8 0029F228 C0 03 00 1C */ lfs f0, 0x1c(r3)
/* 802A22EC 0029F22C EC 01 00 2A */ fadds f0, f1, f0
/* 802A22F0 0029F230 D0 05 00 10 */ stfs f0, 0x10(r5)
/* 802A22F4 0029F234 4E 80 00 20 */ blr
.global JAISound
JAISound:
/* 802A22F8 0029F238 3C 80 80 3D */ lis r4, lbl_803C9970@ha
/* 802A22FC 0029F23C 38 04 99 70 */ addi r0, r4, lbl_803C9970@l
/* 802A2300 0029F240 90 03 00 00 */ stw r0, 0(r3)
/* 802A2304 0029F244 C0 02 BD BC */ lfs f0, lbl_804557BC-_SDA2_BASE_(r2)
/* 802A2308 0029F248 D0 03 00 48 */ stfs f0, 0x48(r3)
/* 802A230C 0029F24C D0 03 00 50 */ stfs f0, 0x50(r3)
/* 802A2310 0029F250 C0 22 BD C0 */ lfs f1, lbl_804557C0-_SDA2_BASE_(r2)
/* 802A2314 0029F254 D0 23 00 4C */ stfs f1, 0x4c(r3)
/* 802A2318 0029F258 C0 02 BD B8 */ lfs f0, lbl_804557B8-_SDA2_BASE_(r2)
/* 802A231C 0029F25C D0 03 00 54 */ stfs f0, 0x54(r3)
/* 802A2320 0029F260 D0 23 00 58 */ stfs f1, 0x58(r3)
/* 802A2324 0029F264 4E 80 00 20 */ blr
.global JAISound_NS_start_JAISound_
JAISound_NS_start_JAISound_:
/* 802A2328 0029F268 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802A232C 0029F26C 7C 08 02 A6 */ mflr r0
/* 802A2330 0029F270 90 01 00 24 */ stw r0, 0x24(r1)
/* 802A2334 0029F274 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 802A2338 0029F278 7C 7F 1B 78 */ mr r31, r3
/* 802A233C 0029F27C 38 60 00 00 */ li r3, 0
/* 802A2340 0029F280 90 7F 00 04 */ stw r3, 4(r31)
/* 802A2344 0029F284 80 04 00 00 */ lwz r0, 0(r4)
/* 802A2348 0029F288 90 1F 00 18 */ stw r0, 0x18(r31)
/* 802A234C 0029F28C 98 7F 00 1C */ stb r3, 0x1c(r31)
/* 802A2350 0029F290 98 7F 00 1D */ stb r3, 0x1d(r31)
/* 802A2354 0029F294 B0 7F 00 1E */ sth r3, 0x1e(r31)
/* 802A2358 0029F298 90 7F 00 20 */ stw r3, 0x20(r31)
/* 802A235C 0029F29C C0 42 BD BC */ lfs f2, lbl_804557BC-_SDA2_BASE_(r2)
/* 802A2360 0029F2A0 D0 5F 00 48 */ stfs f2, 0x48(r31)
/* 802A2364 0029F2A4 D0 5F 00 50 */ stfs f2, 0x50(r31)
/* 802A2368 0029F2A8 C0 22 BD C0 */ lfs f1, lbl_804557C0-_SDA2_BASE_(r2)
/* 802A236C 0029F2AC D0 3F 00 4C */ stfs f1, 0x4c(r31)
/* 802A2370 0029F2B0 C0 02 BD B8 */ lfs f0, lbl_804557B8-_SDA2_BASE_(r2)
/* 802A2374 0029F2B4 D0 1F 00 54 */ stfs f0, 0x54(r31)
/* 802A2378 0029F2B8 D0 3F 00 58 */ stfs f1, 0x58(r31)
/* 802A237C 0029F2BC D0 3F 00 5C */ stfs f1, 0x5c(r31)
/* 802A2380 0029F2C0 90 7F 00 64 */ stw r3, 0x64(r31)
/* 802A2384 0029F2C4 D0 3F 00 60 */ stfs f1, 0x60(r31)
/* 802A2388 0029F2C8 D0 3F 00 68 */ stfs f1, 0x68(r31)
/* 802A238C 0029F2CC 90 7F 00 70 */ stw r3, 0x70(r31)
/* 802A2390 0029F2D0 D0 3F 00 6C */ stfs f1, 0x6c(r31)
/* 802A2394 0029F2D4 D0 3F 00 74 */ stfs f1, 0x74(r31)
/* 802A2398 0029F2D8 90 7F 00 7C */ stw r3, 0x7c(r31)
/* 802A239C 0029F2DC D0 3F 00 78 */ stfs f1, 0x78(r31)
/* 802A23A0 0029F2E0 D0 3F 00 80 */ stfs f1, 0x80(r31)
/* 802A23A4 0029F2E4 90 7F 00 88 */ stw r3, 0x88(r31)
/* 802A23A8 0029F2E8 D0 3F 00 84 */ stfs f1, 0x84(r31)
/* 802A23AC 0029F2EC D0 3F 00 8C */ stfs f1, 0x8c(r31)
/* 802A23B0 0029F2F0 90 7F 00 94 */ stw r3, 0x94(r31)
/* 802A23B4 0029F2F4 D0 3F 00 90 */ stfs f1, 0x90(r31)
/* 802A23B8 0029F2F8 D0 5F 00 3C */ stfs f2, 0x3c(r31)
/* 802A23BC 0029F2FC D0 3F 00 40 */ stfs f1, 0x40(r31)
/* 802A23C0 0029F300 D0 5F 00 44 */ stfs f2, 0x44(r31)
/* 802A23C4 0029F304 D0 5F 00 24 */ stfs f2, 0x24(r31)
/* 802A23C8 0029F308 D0 3F 00 28 */ stfs f1, 0x28(r31)
/* 802A23CC 0029F30C 90 7F 00 30 */ stw r3, 0x30(r31)
/* 802A23D0 0029F310 D0 3F 00 2C */ stfs f1, 0x2c(r31)
/* 802A23D4 0029F314 90 DF 00 0C */ stw r6, 0xc(r31)
/* 802A23D8 0029F318 90 7F 00 14 */ stw r3, 0x14(r31)
/* 802A23DC 0029F31C 90 7F 00 38 */ stw r3, 0x38(r31)
/* 802A23E0 0029F320 28 05 00 00 */ cmplwi r5, 0
/* 802A23E4 0029F324 41 82 00 44 */ beq lbl_802A2428
/* 802A23E8 0029F328 80 1F 00 0C */ lwz r0, 0xc(r31)
/* 802A23EC 0029F32C 28 00 00 00 */ cmplwi r0, 0
/* 802A23F0 0029F330 41 82 00 38 */ beq lbl_802A2428
/* 802A23F4 0029F334 80 1F 00 18 */ lwz r0, 0x18(r31)
/* 802A23F8 0029F338 90 01 00 08 */ stw r0, 8(r1)
/* 802A23FC 0029F33C 80 7F 00 0C */ lwz r3, 0xc(r31)
/* 802A2400 0029F340 7C A4 2B 78 */ mr r4, r5
/* 802A2404 0029F344 38 A1 00 08 */ addi r5, r1, 8
/* 802A2408 0029F348 38 C0 00 00 */ li r6, 0
/* 802A240C 0029F34C 38 E0 00 00 */ li r7, 0
/* 802A2410 0029F350 81 83 00 00 */ lwz r12, 0(r3)
/* 802A2414 0029F354 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 802A2418 0029F358 7D 89 03 A6 */ mtctr r12
/* 802A241C 0029F35C 4E 80 04 21 */ bctrl
/* 802A2420 0029F360 90 7F 00 08 */ stw r3, 8(r31)
/* 802A2424 0029F364 48 00 00 0C */ b lbl_802A2430
lbl_802A2428:
/* 802A2428 0029F368 38 00 00 00 */ li r0, 0
/* 802A242C 0029F36C 90 1F 00 08 */ stw r0, 8(r31)
lbl_802A2430:
/* 802A2430 0029F370 38 00 00 00 */ li r0, 0
/* 802A2434 0029F374 90 1F 00 34 */ stw r0, 0x34(r31)
/* 802A2438 0029F378 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 802A243C 0029F37C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802A2440 0029F380 7C 08 03 A6 */ mtlr r0
/* 802A2444 0029F384 38 21 00 20 */ addi r1, r1, 0x20
/* 802A2448 0029F388 4E 80 00 20 */ blr
.global JAISound_NS_acceptsNewAudible
JAISound_NS_acceptsNewAudible:
/* 802A244C 0029F38C 38 80 00 00 */ li r4, 0
/* 802A2450 0029F390 80 03 00 08 */ lwz r0, 8(r3)
/* 802A2454 0029F394 28 00 00 00 */ cmplwi r0, 0
/* 802A2458 0029F398 40 82 00 14 */ bne lbl_802A246C
/* 802A245C 0029F39C 88 03 00 1F */ lbz r0, 0x1f(r3)
/* 802A2460 0029F3A0 54 00 D7 FF */ rlwinm. r0, r0, 0x1a, 0x1f, 0x1f
/* 802A2464 0029F3A4 40 82 00 08 */ bne lbl_802A246C
/* 802A2468 0029F3A8 38 80 00 01 */ li r4, 1
lbl_802A246C:
/* 802A246C 0029F3AC 7C 83 23 78 */ mr r3, r4
/* 802A2470 0029F3B0 4E 80 00 20 */ blr
.global JAISound_NS_newAudible
JAISound_NS_newAudible:
/* 802A2474 0029F3B4 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802A2478 0029F3B8 7C 08 02 A6 */ mflr r0
/* 802A247C 0029F3BC 90 01 00 24 */ stw r0, 0x24(r1)
/* 802A2480 0029F3C0 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 802A2484 0029F3C4 7C 7F 1B 78 */ mr r31, r3
/* 802A2488 0029F3C8 7C A9 2B 78 */ mr r9, r5
/* 802A248C 0029F3CC 7C C8 33 78 */ mr r8, r6
/* 802A2490 0029F3D0 28 07 00 00 */ cmplwi r7, 0
/* 802A2494 0029F3D4 41 82 00 08 */ beq lbl_802A249C
/* 802A2498 0029F3D8 90 FF 00 0C */ stw r7, 0xc(r31)
lbl_802A249C:
/* 802A249C 0029F3DC 80 1F 00 18 */ lwz r0, 0x18(r31)
/* 802A24A0 0029F3E0 90 01 00 08 */ stw r0, 8(r1)
/* 802A24A4 0029F3E4 80 7F 00 0C */ lwz r3, 0xc(r31)
/* 802A24A8 0029F3E8 38 A1 00 08 */ addi r5, r1, 8
/* 802A24AC 0029F3EC 7D 26 4B 78 */ mr r6, r9
/* 802A24B0 0029F3F0 7D 07 43 78 */ mr r7, r8
/* 802A24B4 0029F3F4 81 83 00 00 */ lwz r12, 0(r3)
/* 802A24B8 0029F3F8 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 802A24BC 0029F3FC 7D 89 03 A6 */ mtctr r12
/* 802A24C0 0029F400 4E 80 04 21 */ bctrl
/* 802A24C4 0029F404 90 7F 00 08 */ stw r3, 8(r31)
/* 802A24C8 0029F408 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 802A24CC 0029F40C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802A24D0 0029F410 7C 08 03 A6 */ mtlr r0
/* 802A24D4 0029F414 38 21 00 20 */ addi r1, r1, 0x20
/* 802A24D8 0029F418 4E 80 00 20 */ blr
.global JAISound_NS_stop
JAISound_NS_stop:
/* 802A24DC 0029F41C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802A24E0 0029F420 7C 08 02 A6 */ mflr r0
/* 802A24E4 0029F424 90 01 00 14 */ stw r0, 0x14(r1)
/* 802A24E8 0029F428 28 04 00 00 */ cmplwi r4, 0
/* 802A24EC 0029F42C 40 82 00 0C */ bne lbl_802A24F8
/* 802A24F0 0029F430 48 00 00 A9 */ bl JAISound_NS_stop_X1_
/* 802A24F4 0029F434 48 00 00 94 */ b lbl_802A2588
lbl_802A24F8:
/* 802A24F8 0029F438 41 82 00 40 */ beq lbl_802A2538
/* 802A24FC 0029F43C C0 03 00 24 */ lfs f0, 0x24(r3)
/* 802A2500 0029F440 90 83 00 30 */ stw r4, 0x30(r3)
/* 802A2504 0029F444 C0 62 BD C0 */ lfs f3, lbl_804557C0-_SDA2_BASE_(r2)
/* 802A2508 0029F448 EC 43 00 28 */ fsubs f2, f3, f0
/* 802A250C 0029F44C 80 03 00 30 */ lwz r0, 0x30(r3)
/* 802A2510 0029F450 C8 22 BD C8 */ lfd f1, lbl_804557C8-_SDA2_BASE_(r2)
/* 802A2514 0029F454 90 01 00 0C */ stw r0, 0xc(r1)
/* 802A2518 0029F458 3C 00 43 30 */ lis r0, 0x4330
/* 802A251C 0029F45C 90 01 00 08 */ stw r0, 8(r1)
/* 802A2520 0029F460 C8 01 00 08 */ lfd f0, 8(r1)
/* 802A2524 0029F464 EC 00 08 28 */ fsubs f0, f0, f1
/* 802A2528 0029F468 EC 02 00 24 */ fdivs f0, f2, f0
/* 802A252C 0029F46C D0 03 00 28 */ stfs f0, 0x28(r3)
/* 802A2530 0029F470 D0 63 00 2C */ stfs f3, 0x2c(r3)
/* 802A2534 0029F474 48 00 00 1C */ b lbl_802A2550
lbl_802A2538:
/* 802A2538 0029F478 C0 02 BD C0 */ lfs f0, lbl_804557C0-_SDA2_BASE_(r2)
/* 802A253C 0029F47C D0 03 00 24 */ stfs f0, 0x24(r3)
/* 802A2540 0029F480 D0 03 00 28 */ stfs f0, 0x28(r3)
/* 802A2544 0029F484 38 00 00 00 */ li r0, 0
/* 802A2548 0029F488 90 03 00 30 */ stw r0, 0x30(r3)
/* 802A254C 0029F48C D0 03 00 2C */ stfs f0, 0x2c(r3)
lbl_802A2550:
/* 802A2550 0029F490 38 80 00 00 */ li r4, 0
/* 802A2554 0029F494 88 03 00 1D */ lbz r0, 0x1d(r3)
/* 802A2558 0029F498 50 80 3E 30 */ rlwimi r0, r4, 7, 0x18, 0x18
/* 802A255C 0029F49C 98 03 00 1D */ stb r0, 0x1d(r3)
/* 802A2560 0029F4A0 88 03 00 1D */ lbz r0, 0x1d(r3)
/* 802A2564 0029F4A4 50 80 36 72 */ rlwimi r0, r4, 6, 0x19, 0x19
/* 802A2568 0029F4A8 98 03 00 1D */ stb r0, 0x1d(r3)
/* 802A256C 0029F4AC 38 80 00 01 */ li r4, 1
/* 802A2570 0029F4B0 88 03 00 1F */ lbz r0, 0x1f(r3)
/* 802A2574 0029F4B4 50 80 1F 38 */ rlwimi r0, r4, 3, 0x1c, 0x1c
/* 802A2578 0029F4B8 98 03 00 1F */ stb r0, 0x1f(r3)
/* 802A257C 0029F4BC 88 03 00 1F */ lbz r0, 0x1f(r3)
/* 802A2580 0029F4C0 50 80 3E 30 */ rlwimi r0, r4, 7, 0x18, 0x18
/* 802A2584 0029F4C4 98 03 00 1F */ stb r0, 0x1f(r3)
lbl_802A2588:
/* 802A2588 0029F4C8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802A258C 0029F4CC 7C 08 03 A6 */ mtlr r0
/* 802A2590 0029F4D0 38 21 00 10 */ addi r1, r1, 0x10
/* 802A2594 0029F4D4 4E 80 00 20 */ blr
.global JAISound_NS_stop_X1_
JAISound_NS_stop_X1_:
/* 802A2598 0029F4D8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802A259C 0029F4DC 7C 08 02 A6 */ mflr r0
/* 802A25A0 0029F4E0 90 01 00 14 */ stw r0, 0x14(r1)
/* 802A25A4 0029F4E4 38 80 00 00 */ li r4, 0
/* 802A25A8 0029F4E8 88 03 00 1F */ lbz r0, 0x1f(r3)
/* 802A25AC 0029F4EC 50 80 1F 38 */ rlwimi r0, r4, 3, 0x1c, 0x1c
/* 802A25B0 0029F4F0 98 03 00 1F */ stb r0, 0x1f(r3)
/* 802A25B4 0029F4F4 38 80 00 01 */ li r4, 1
/* 802A25B8 0029F4F8 88 03 00 1F */ lbz r0, 0x1f(r3)
/* 802A25BC 0029F4FC 50 80 3E 30 */ rlwimi r0, r4, 7, 0x18, 0x18
/* 802A25C0 0029F500 98 03 00 1F */ stb r0, 0x1f(r3)
/* 802A25C4 0029F504 4B FF FB DD */ bl JAISound_NS_releaseHandle
/* 802A25C8 0029F508 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802A25CC 0029F50C 7C 08 03 A6 */ mtlr r0
/* 802A25D0 0029F510 38 21 00 10 */ addi r1, r1, 0x10
/* 802A25D4 0029F514 4E 80 00 20 */ blr
/* 802A25D8 0029F518 38 60 00 00 */ li r3, 0
/* 802A25DC 0029F51C 4E 80 00 20 */ blr
/* 802A25E0 0029F520 38 60 00 00 */ li r3, 0
/* 802A25E4 0029F524 4E 80 00 20 */ blr
/* 802A25E8 0029F528 38 60 00 00 */ li r3, 0
/* 802A25EC 0029F52C 4E 80 00 20 */ blr
.global JAISound_NS_die_JAISound_
JAISound_NS_die_JAISound_:
/* 802A25F0 0029F530 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802A25F4 0029F534 7C 08 02 A6 */ mflr r0
/* 802A25F8 0029F538 90 01 00 14 */ stw r0, 0x14(r1)
/* 802A25FC 0029F53C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802A2600 0029F540 7C 7F 1B 78 */ mr r31, r3
/* 802A2604 0029F544 80 83 00 08 */ lwz r4, 8(r3)
/* 802A2608 0029F548 28 04 00 00 */ cmplwi r4, 0
/* 802A260C 0029F54C 41 82 00 24 */ beq lbl_802A2630
/* 802A2610 0029F550 80 7F 00 0C */ lwz r3, 0xc(r31)
/* 802A2614 0029F554 81 83 00 00 */ lwz r12, 0(r3)
/* 802A2618 0029F558 81 8C 00 14 */ lwz r12, 0x14(r12)
/* 802A261C 0029F55C 7D 89 03 A6 */ mtctr r12
/* 802A2620 0029F560 4E 80 04 21 */ bctrl
/* 802A2624 0029F564 38 00 00 00 */ li r0, 0
/* 802A2628 0029F568 90 1F 00 08 */ stw r0, 8(r31)
/* 802A262C 0029F56C 90 1F 00 0C */ stw r0, 0xc(r31)
lbl_802A2630:
/* 802A2630 0029F570 C0 02 BD C0 */ lfs f0, lbl_804557C0-_SDA2_BASE_(r2)
/* 802A2634 0029F574 D0 1F 00 24 */ stfs f0, 0x24(r31)
/* 802A2638 0029F578 D0 1F 00 28 */ stfs f0, 0x28(r31)
/* 802A263C 0029F57C 38 00 00 00 */ li r0, 0
/* 802A2640 0029F580 90 1F 00 30 */ stw r0, 0x30(r31)
/* 802A2644 0029F584 D0 1F 00 2C */ stfs f0, 0x2c(r31)
/* 802A2648 0029F588 7F E3 FB 78 */ mr r3, r31
/* 802A264C 0029F58C 4B FF FB 55 */ bl JAISound_NS_releaseHandle
/* 802A2650 0029F590 38 00 00 06 */ li r0, 6
/* 802A2654 0029F594 98 1F 00 1E */ stb r0, 0x1e(r31)
/* 802A2658 0029F598 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802A265C 0029F59C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802A2660 0029F5A0 7C 08 03 A6 */ mtlr r0
/* 802A2664 0029F5A4 38 21 00 10 */ addi r1, r1, 0x10
/* 802A2668 0029F5A8 4E 80 00 20 */ blr
.global JAISound_NS_increasePrepareCount_JAISound_
JAISound_NS_increasePrepareCount_JAISound_:
/* 802A266C 0029F5AC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802A2670 0029F5B0 7C 08 02 A6 */ mflr r0
/* 802A2674 0029F5B4 90 01 00 14 */ stw r0, 0x14(r1)
/* 802A2678 0029F5B8 7C 66 1B 78 */ mr r6, r3
/* 802A267C 0029F5BC 80 63 00 14 */ lwz r3, 0x14(r3)
/* 802A2680 0029F5C0 38 03 00 01 */ addi r0, r3, 1
/* 802A2684 0029F5C4 90 06 00 14 */ stw r0, 0x14(r6)
/* 802A2688 0029F5C8 54 00 06 3F */ clrlwi. r0, r0, 0x18
/* 802A268C 0029F5CC 40 82 00 1C */ bne lbl_802A26A8
/* 802A2690 0029F5D0 3C 60 80 3A */ lis r3, lbl_8039B910@ha
/* 802A2694 0029F5D4 38 63 B9 10 */ addi r3, r3, lbl_8039B910@l
/* 802A2698 0029F5D8 80 86 00 14 */ lwz r4, 0x14(r6)
/* 802A269C 0029F5DC 80 A6 00 18 */ lwz r5, 0x18(r6)
/* 802A26A0 0029F5E0 4C C6 31 82 */ crclr 6
/* 802A26A4 0029F5E4 4B FE E8 C1 */ bl JASReport
lbl_802A26A8:
/* 802A26A8 0029F5E8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802A26AC 0029F5EC 7C 08 03 A6 */ mtlr r0
/* 802A26B0 0029F5F0 38 21 00 10 */ addi r1, r1, 0x10
/* 802A26B4 0029F5F4 4E 80 00 20 */ blr
.global JAISound_NS_calc_JAISound_
JAISound_NS_calc_JAISound_:
/* 802A26B8 0029F5F8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802A26BC 0029F5FC 7C 08 02 A6 */ mflr r0
/* 802A26C0 0029F600 90 01 00 14 */ stw r0, 0x14(r1)
/* 802A26C4 0029F604 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802A26C8 0029F608 93 C1 00 08 */ stw r30, 8(r1)
/* 802A26CC 0029F60C 7C 7E 1B 78 */ mr r30, r3
/* 802A26D0 0029F610 38 60 00 01 */ li r3, 1
/* 802A26D4 0029F614 88 1E 00 1F */ lbz r0, 0x1f(r30)
/* 802A26D8 0029F618 50 60 36 72 */ rlwimi r0, r3, 6, 0x19, 0x19
/* 802A26DC 0029F61C 98 1E 00 1F */ stb r0, 0x1f(r30)
/* 802A26E0 0029F620 38 80 00 00 */ li r4, 0
/* 802A26E4 0029F624 88 7E 00 1F */ lbz r3, 0x1f(r30)
/* 802A26E8 0029F628 54 60 CF FF */ rlwinm. r0, r3, 0x19, 0x1f, 0x1f
/* 802A26EC 0029F62C 41 82 00 2C */ beq lbl_802A2718
/* 802A26F0 0029F630 54 60 EF FF */ rlwinm. r0, r3, 0x1d, 0x1f, 0x1f
/* 802A26F4 0029F634 41 82 00 20 */ beq lbl_802A2714
/* 802A26F8 0029F638 80 1E 00 30 */ lwz r0, 0x30(r30)
/* 802A26FC 0029F63C 28 00 00 00 */ cmplwi r0, 0
/* 802A2700 0029F640 40 82 00 18 */ bne lbl_802A2718
/* 802A2704 0029F644 C0 3E 00 24 */ lfs f1, 0x24(r30)
/* 802A2708 0029F648 C0 02 BD D0 */ lfs f0, lbl_804557D0-_SDA2_BASE_(r2)
/* 802A270C 0029F64C FC 01 00 40 */ fcmpo cr0, f1, f0
/* 802A2710 0029F650 40 80 00 08 */ bge lbl_802A2718
lbl_802A2714:
/* 802A2714 0029F654 38 80 00 01 */ li r4, 1
lbl_802A2718:
/* 802A2718 0029F658 54 80 06 3F */ clrlwi. r0, r4, 0x18
/* 802A271C 0029F65C 41 82 00 28 */ beq lbl_802A2744
/* 802A2720 0029F660 7F C3 F3 78 */ mr r3, r30
/* 802A2724 0029F664 81 9E 00 00 */ lwz r12, 0(r30)
/* 802A2728 0029F668 81 8C 00 2C */ lwz r12, 0x2c(r12)
/* 802A272C 0029F66C 7D 89 03 A6 */ mtctr r12
/* 802A2730 0029F670 4E 80 04 21 */ bctrl
/* 802A2734 0029F674 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 802A2738 0029F678 41 82 00 0C */ beq lbl_802A2744
/* 802A273C 0029F67C 38 60 00 00 */ li r3, 0
/* 802A2740 0029F680 48 00 02 84 */ b lbl_802A29C4
lbl_802A2744:
/* 802A2744 0029F684 88 1E 00 1E */ lbz r0, 0x1e(r30)
/* 802A2748 0029F688 20 00 00 05 */ subfic r0, r0, 5
/* 802A274C 0029F68C 7C 00 00 34 */ cntlzw r0, r0
/* 802A2750 0029F690 54 04 D9 7E */ srwi r4, r0, 5
/* 802A2754 0029F694 54 00 DE 3F */ rlwinm. r0, r0, 0x1b, 0x18, 0x1f
/* 802A2758 0029F698 41 82 00 10 */ beq lbl_802A2768
/* 802A275C 0029F69C 80 7E 00 38 */ lwz r3, 0x38(r30)
/* 802A2760 0029F6A0 38 03 00 01 */ addi r0, r3, 1
/* 802A2764 0029F6A4 90 1E 00 38 */ stw r0, 0x38(r30)
lbl_802A2768:
/* 802A2768 0029F6A8 88 1E 00 1C */ lbz r0, 0x1c(r30)
/* 802A276C 0029F6AC 54 03 D7 FE */ rlwinm r3, r0, 0x1a, 0x1f, 0x1f
/* 802A2770 0029F6B0 30 03 FF FF */ addic r0, r3, -1
/* 802A2774 0029F6B4 7C 00 19 10 */ subfe r0, r0, r3
/* 802A2778 0029F6B8 54 03 06 3F */ clrlwi. r3, r0, 0x18
/* 802A277C 0029F6BC 40 82 00 3C */ bne lbl_802A27B8
/* 802A2780 0029F6C0 C0 3E 00 24 */ lfs f1, 0x24(r30)
/* 802A2784 0029F6C4 80 BE 00 30 */ lwz r5, 0x30(r30)
/* 802A2788 0029F6C8 28 05 00 01 */ cmplwi r5, 1
/* 802A278C 0029F6CC 40 81 00 18 */ ble lbl_802A27A4
/* 802A2790 0029F6D0 38 05 FF FF */ addi r0, r5, -1
/* 802A2794 0029F6D4 90 1E 00 30 */ stw r0, 0x30(r30)
/* 802A2798 0029F6D8 C0 1E 00 28 */ lfs f0, 0x28(r30)
/* 802A279C 0029F6DC EC 21 00 2A */ fadds f1, f1, f0
/* 802A27A0 0029F6E0 48 00 00 14 */ b lbl_802A27B4
lbl_802A27A4:
/* 802A27A4 0029F6E4 40 82 00 10 */ bne lbl_802A27B4
/* 802A27A8 0029F6E8 38 00 00 00 */ li r0, 0
/* 802A27AC 0029F6EC 90 1E 00 30 */ stw r0, 0x30(r30)
/* 802A27B0 0029F6F0 C0 3E 00 2C */ lfs f1, 0x2c(r30)
lbl_802A27B4:
/* 802A27B4 0029F6F4 D0 3E 00 24 */ stfs f1, 0x24(r30)
lbl_802A27B8:
/* 802A27B8 0029F6F8 3B E0 00 00 */ li r31, 0
/* 802A27BC 0029F6FC 54 80 06 3F */ clrlwi. r0, r4, 0x18
/* 802A27C0 0029F700 41 82 00 10 */ beq lbl_802A27D0
/* 802A27C4 0029F704 28 03 00 00 */ cmplwi r3, 0
/* 802A27C8 0029F708 40 82 00 08 */ bne lbl_802A27D0
/* 802A27CC 0029F70C 3B E0 00 01 */ li r31, 1
lbl_802A27D0:
/* 802A27D0 0029F710 57 E0 06 3F */ clrlwi. r0, r31, 0x18
/* 802A27D4 0029F714 41 82 01 7C */ beq lbl_802A2950
/* 802A27D8 0029F718 C0 3E 00 48 */ lfs f1, 0x48(r30)
/* 802A27DC 0029F71C 80 7E 00 64 */ lwz r3, 0x64(r30)
/* 802A27E0 0029F720 28 03 00 01 */ cmplwi r3, 1
/* 802A27E4 0029F724 40 81 00 18 */ ble lbl_802A27FC
/* 802A27E8 0029F728 38 03 FF FF */ addi r0, r3, -1
/* 802A27EC 0029F72C 90 1E 00 64 */ stw r0, 0x64(r30)
/* 802A27F0 0029F730 C0 1E 00 5C */ lfs f0, 0x5c(r30)
/* 802A27F4 0029F734 EC 21 00 2A */ fadds f1, f1, f0
/* 802A27F8 0029F738 48 00 00 14 */ b lbl_802A280C
lbl_802A27FC:
/* 802A27FC 0029F73C 40 82 00 10 */ bne lbl_802A280C
/* 802A2800 0029F740 38 00 00 00 */ li r0, 0
/* 802A2804 0029F744 90 1E 00 64 */ stw r0, 0x64(r30)
/* 802A2808 0029F748 C0 3E 00 60 */ lfs f1, 0x60(r30)
lbl_802A280C:
/* 802A280C 0029F74C D0 3E 00 48 */ stfs f1, 0x48(r30)
/* 802A2810 0029F750 C0 3E 00 50 */ lfs f1, 0x50(r30)
/* 802A2814 0029F754 80 7E 00 70 */ lwz r3, 0x70(r30)
/* 802A2818 0029F758 28 03 00 01 */ cmplwi r3, 1
/* 802A281C 0029F75C 40 81 00 18 */ ble lbl_802A2834
/* 802A2820 0029F760 38 03 FF FF */ addi r0, r3, -1
/* 802A2824 0029F764 90 1E 00 70 */ stw r0, 0x70(r30)
/* 802A2828 0029F768 C0 1E 00 68 */ lfs f0, 0x68(r30)
/* 802A282C 0029F76C EC 21 00 2A */ fadds f1, f1, f0
/* 802A2830 0029F770 48 00 00 14 */ b lbl_802A2844
lbl_802A2834:
/* 802A2834 0029F774 40 82 00 10 */ bne lbl_802A2844
/* 802A2838 0029F778 38 00 00 00 */ li r0, 0
/* 802A283C 0029F77C 90 1E 00 70 */ stw r0, 0x70(r30)
/* 802A2840 0029F780 C0 3E 00 6C */ lfs f1, 0x6c(r30)
lbl_802A2844:
/* 802A2844 0029F784 D0 3E 00 50 */ stfs f1, 0x50(r30)
/* 802A2848 0029F788 C0 3E 00 4C */ lfs f1, 0x4c(r30)
/* 802A284C 0029F78C 80 7E 00 7C */ lwz r3, 0x7c(r30)
/* 802A2850 0029F790 28 03 00 01 */ cmplwi r3, 1
/* 802A2854 0029F794 40 81 00 18 */ ble lbl_802A286C
/* 802A2858 0029F798 38 03 FF FF */ addi r0, r3, -1
/* 802A285C 0029F79C 90 1E 00 7C */ stw r0, 0x7c(r30)
/* 802A2860 0029F7A0 C0 1E 00 74 */ lfs f0, 0x74(r30)
/* 802A2864 0029F7A4 EC 21 00 2A */ fadds f1, f1, f0
/* 802A2868 0029F7A8 48 00 00 14 */ b lbl_802A287C
lbl_802A286C:
/* 802A286C 0029F7AC 40 82 00 10 */ bne lbl_802A287C
/* 802A2870 0029F7B0 38 00 00 00 */ li r0, 0
/* 802A2874 0029F7B4 90 1E 00 7C */ stw r0, 0x7c(r30)
/* 802A2878 0029F7B8 C0 3E 00 78 */ lfs f1, 0x78(r30)
lbl_802A287C:
/* 802A287C 0029F7BC D0 3E 00 4C */ stfs f1, 0x4c(r30)
/* 802A2880 0029F7C0 C0 3E 00 58 */ lfs f1, 0x58(r30)
/* 802A2884 0029F7C4 80 7E 00 94 */ lwz r3, 0x94(r30)
/* 802A2888 0029F7C8 28 03 00 01 */ cmplwi r3, 1
/* 802A288C 0029F7CC 40 81 00 18 */ ble lbl_802A28A4
/* 802A2890 0029F7D0 38 03 FF FF */ addi r0, r3, -1
/* 802A2894 0029F7D4 90 1E 00 94 */ stw r0, 0x94(r30)
/* 802A2898 0029F7D8 C0 1E 00 8C */ lfs f0, 0x8c(r30)
/* 802A289C 0029F7DC EC 21 00 2A */ fadds f1, f1, f0
/* 802A28A0 0029F7E0 48 00 00 14 */ b lbl_802A28B4
lbl_802A28A4:
/* 802A28A4 0029F7E4 40 82 00 10 */ bne lbl_802A28B4
/* 802A28A8 0029F7E8 38 00 00 00 */ li r0, 0
/* 802A28AC 0029F7EC 90 1E 00 94 */ stw r0, 0x94(r30)
/* 802A28B0 0029F7F0 C0 3E 00 90 */ lfs f1, 0x90(r30)
lbl_802A28B4:
/* 802A28B4 0029F7F4 D0 3E 00 58 */ stfs f1, 0x58(r30)
/* 802A28B8 0029F7F8 C0 3E 00 54 */ lfs f1, 0x54(r30)
/* 802A28BC 0029F7FC 80 7E 00 88 */ lwz r3, 0x88(r30)
/* 802A28C0 0029F800 28 03 00 01 */ cmplwi r3, 1
/* 802A28C4 0029F804 40 81 00 18 */ ble lbl_802A28DC
/* 802A28C8 0029F808 38 03 FF FF */ addi r0, r3, -1
/* 802A28CC 0029F80C 90 1E 00 88 */ stw r0, 0x88(r30)
/* 802A28D0 0029F810 C0 1E 00 80 */ lfs f0, 0x80(r30)
/* 802A28D4 0029F814 EC 21 00 2A */ fadds f1, f1, f0
/* 802A28D8 0029F818 48 00 00 14 */ b lbl_802A28EC
lbl_802A28DC:
/* 802A28DC 0029F81C 40 82 00 10 */ bne lbl_802A28EC
/* 802A28E0 0029F820 38 00 00 00 */ li r0, 0
/* 802A28E4 0029F824 90 1E 00 88 */ stw r0, 0x88(r30)
/* 802A28E8 0029F828 C0 3E 00 84 */ lfs f1, 0x84(r30)
lbl_802A28EC:
/* 802A28EC 0029F82C D0 3E 00 54 */ stfs f1, 0x54(r30)
/* 802A28F0 0029F830 80 7E 00 08 */ lwz r3, 8(r30)
/* 802A28F4 0029F834 28 03 00 00 */ cmplwi r3, 0
/* 802A28F8 0029F838 41 82 00 14 */ beq lbl_802A290C
/* 802A28FC 0029F83C 81 83 00 00 */ lwz r12, 0(r3)
/* 802A2900 0029F840 81 8C 00 10 */ lwz r12, 0x10(r12)
/* 802A2904 0029F844 7D 89 03 A6 */ mtctr r12
/* 802A2908 0029F848 4E 80 04 21 */ bctrl
lbl_802A290C:
/* 802A290C 0029F84C 88 1E 00 1D */ lbz r0, 0x1d(r30)
/* 802A2910 0029F850 54 00 D7 FF */ rlwinm. r0, r0, 0x1a, 0x1f, 0x1f
/* 802A2914 0029F854 41 82 00 3C */ beq lbl_802A2950
/* 802A2918 0029F858 80 7E 00 10 */ lwz r3, 0x10(r30)
/* 802A291C 0029F85C 28 03 00 00 */ cmplwi r3, 0
/* 802A2920 0029F860 40 82 00 28 */ bne lbl_802A2948
/* 802A2924 0029F864 38 60 00 00 */ li r3, 0
/* 802A2928 0029F868 88 1E 00 1F */ lbz r0, 0x1f(r30)
/* 802A292C 0029F86C 50 60 1F 38 */ rlwimi r0, r3, 3, 0x1c, 0x1c
/* 802A2930 0029F870 98 1E 00 1F */ stb r0, 0x1f(r30)
/* 802A2934 0029F874 38 60 00 01 */ li r3, 1
/* 802A2938 0029F878 88 1E 00 1F */ lbz r0, 0x1f(r30)
/* 802A293C 0029F87C 50 60 3E 30 */ rlwimi r0, r3, 7, 0x18, 0x18
/* 802A2940 0029F880 98 1E 00 1F */ stb r0, 0x1f(r30)
/* 802A2944 0029F884 48 00 00 0C */ b lbl_802A2950
lbl_802A2948:
/* 802A2948 0029F888 38 03 FF FF */ addi r0, r3, -1
/* 802A294C 0029F88C 90 1E 00 10 */ stw r0, 0x10(r30)
lbl_802A2950:
/* 802A2950 0029F890 80 7E 00 0C */ lwz r3, 0xc(r30)
/* 802A2954 0029F894 28 03 00 00 */ cmplwi r3, 0
/* 802A2958 0029F898 41 82 00 60 */ beq lbl_802A29B8
/* 802A295C 0029F89C 80 9E 00 08 */ lwz r4, 8(r30)
/* 802A2960 0029F8A0 28 04 00 00 */ cmplwi r4, 0
/* 802A2964 0029F8A4 41 82 00 54 */ beq lbl_802A29B8
/* 802A2968 0029F8A8 81 83 00 00 */ lwz r12, 0(r3)
/* 802A296C 0029F8AC 81 8C 00 18 */ lwz r12, 0x18(r12)
/* 802A2970 0029F8B0 7D 89 03 A6 */ mtctr r12
/* 802A2974 0029F8B4 4E 80 04 21 */ bctrl
/* 802A2978 0029F8B8 90 7E 00 34 */ stw r3, 0x34(r30)
/* 802A297C 0029F8BC 3C 03 00 01 */ addis r0, r3, 1
/* 802A2980 0029F8C0 28 00 FF FF */ cmplwi r0, 0xffff
/* 802A2984 0029F8C4 40 82 00 3C */ bne lbl_802A29C0
/* 802A2988 0029F8C8 88 1E 00 1D */ lbz r0, 0x1d(r30)
/* 802A298C 0029F8CC 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 802A2990 0029F8D0 40 82 00 30 */ bne lbl_802A29C0
/* 802A2994 0029F8D4 38 60 00 00 */ li r3, 0
/* 802A2998 0029F8D8 88 1E 00 1F */ lbz r0, 0x1f(r30)
/* 802A299C 0029F8DC 50 60 1F 38 */ rlwimi r0, r3, 3, 0x1c, 0x1c
/* 802A29A0 0029F8E0 98 1E 00 1F */ stb r0, 0x1f(r30)
/* 802A29A4 0029F8E4 38 60 00 01 */ li r3, 1
/* 802A29A8 0029F8E8 88 1E 00 1F */ lbz r0, 0x1f(r30)
/* 802A29AC 0029F8EC 50 60 3E 30 */ rlwimi r0, r3, 7, 0x18, 0x18
/* 802A29B0 0029F8F0 98 1E 00 1F */ stb r0, 0x1f(r30)
/* 802A29B4 0029F8F4 48 00 00 0C */ b lbl_802A29C0
lbl_802A29B8:
/* 802A29B8 0029F8F8 38 00 00 00 */ li r0, 0
/* 802A29BC 0029F8FC 90 1E 00 34 */ stw r0, 0x34(r30)
lbl_802A29C0:
/* 802A29C0 0029F900 7F E3 FB 78 */ mr r3, r31
lbl_802A29C4:
/* 802A29C4 0029F904 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802A29C8 0029F908 83 C1 00 08 */ lwz r30, 8(r1)
/* 802A29CC 0029F90C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802A29D0 0029F910 7C 08 03 A6 */ mtlr r0
/* 802A29D4 0029F914 38 21 00 10 */ addi r1, r1, 0x10
/* 802A29D8 0029F918 4E 80 00 20 */ blr
.global JAISound_NS_initTrack_JAISound_
JAISound_NS_initTrack_JAISound_:
/* 802A29DC 0029F91C 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 802A29E0 0029F920 7C 08 02 A6 */ mflr r0
/* 802A29E4 0029F924 90 01 00 44 */ stw r0, 0x44(r1)
/* 802A29E8 0029F928 39 61 00 40 */ addi r11, r1, 0x40
/* 802A29EC 0029F92C 48 0B F7 E5 */ bl func_803621D0
/* 802A29F0 0029F930 7C 7A 1B 78 */ mr r26, r3
/* 802A29F4 0029F934 7C 9B 23 78 */ mr r27, r4
/* 802A29F8 0029F938 3B A0 00 00 */ li r29, 0
/* 802A29FC 0029F93C 3B E0 00 00 */ li r31, 0
/* 802A2A00 0029F940 3B 80 00 00 */ li r28, 0
/* 802A2A04 0029F944 3B C1 00 08 */ addi r30, r1, 8
/* 802A2A08 0029F948 48 00 00 34 */ b lbl_802A2A3C
lbl_802A2A0C:
/* 802A2A0C 0029F94C 80 7A 00 08 */ lwz r3, 8(r26)
/* 802A2A10 0029F950 7F 84 E3 78 */ mr r4, r28
/* 802A2A14 0029F954 81 83 00 00 */ lwz r12, 0(r3)
/* 802A2A18 0029F958 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 802A2A1C 0029F95C 7D 89 03 A6 */ mtctr r12
/* 802A2A20 0029F960 4E 80 04 21 */ bctrl
/* 802A2A24 0029F964 28 03 00 00 */ cmplwi r3, 0
/* 802A2A28 0029F968 41 82 00 10 */ beq lbl_802A2A38
/* 802A2A2C 0029F96C 7C 7E F9 2E */ stwx r3, r30, r31
/* 802A2A30 0029F970 3B BD 00 01 */ addi r29, r29, 1
/* 802A2A34 0029F974 3B FF 00 04 */ addi r31, r31, 4
lbl_802A2A38:
/* 802A2A38 0029F978 3B 9C 00 01 */ addi r28, r28, 1
lbl_802A2A3C:
/* 802A2A3C 0029F97C 80 7A 00 0C */ lwz r3, 0xc(r26)
/* 802A2A40 0029F980 81 83 00 00 */ lwz r12, 0(r3)
/* 802A2A44 0029F984 81 8C 00 10 */ lwz r12, 0x10(r12)
/* 802A2A48 0029F988 7D 89 03 A6 */ mtctr r12
/* 802A2A4C 0029F98C 4E 80 04 21 */ bctrl
/* 802A2A50 0029F990 7C 1C 18 00 */ cmpw r28, r3
/* 802A2A54 0029F994 41 80 FF B8 */ blt lbl_802A2A0C
/* 802A2A58 0029F998 7F 63 DB 78 */ mr r3, r27
/* 802A2A5C 0029F99C 7F A4 EB 78 */ mr r4, r29
/* 802A2A60 0029F9A0 4B FE E9 E5 */ bl JASTrack_NS_setChannelMgrCount
/* 802A2A64 0029F9A4 3B 80 00 00 */ li r28, 0
/* 802A2A68 0029F9A8 3B E0 00 00 */ li r31, 0
/* 802A2A6C 0029F9AC 3B C1 00 08 */ addi r30, r1, 8
/* 802A2A70 0029F9B0 48 00 00 1C */ b lbl_802A2A8C
lbl_802A2A74:
/* 802A2A74 0029F9B4 7F 63 DB 78 */ mr r3, r27
/* 802A2A78 0029F9B8 7F 84 E3 78 */ mr r4, r28
/* 802A2A7C 0029F9BC 7C BE F8 2E */ lwzx r5, r30, r31
/* 802A2A80 0029F9C0 4B FE EF 75 */ bl JASTrack_NS_assignExtBuffer
/* 802A2A84 0029F9C4 3B 9C 00 01 */ addi r28, r28, 1
/* 802A2A88 0029F9C8 3B FF 00 04 */ addi r31, r31, 4
lbl_802A2A8C:
/* 802A2A8C 0029F9CC 80 1B 01 D0 */ lwz r0, 0x1d0(r27)
/* 802A2A90 0029F9D0 7C 1C 00 40 */ cmplw r28, r0
/* 802A2A94 0029F9D4 41 80 FF E0 */ blt lbl_802A2A74
/* 802A2A98 0029F9D8 39 61 00 40 */ addi r11, r1, 0x40
/* 802A2A9C 0029F9DC 48 0B F7 81 */ bl func_8036221C
/* 802A2AA0 0029F9E0 80 01 00 44 */ lwz r0, 0x44(r1)
/* 802A2AA4 0029F9E4 7C 08 03 A6 */ mtlr r0
/* 802A2AA8 0029F9E8 38 21 00 40 */ addi r1, r1, 0x40
/* 802A2AAC 0029F9EC 4E 80 00 20 */ blr

146
asm/JAudio2/JAISoundChild.s Normal file
View File

@ -0,0 +1,146 @@
.include "macros.inc"
.section .text, "ax" # 802a2ab0
.global JAISoundChild_NS_init
JAISoundChild_NS_init:
/* 802A2AB0 0029F9F0 C0 42 BD D8 */ lfs f2, lbl_804557D8-_SDA2_BASE_(r2)
/* 802A2AB4 0029F9F4 D0 43 00 00 */ stfs f2, 0(r3)
/* 802A2AB8 0029F9F8 D0 43 00 08 */ stfs f2, 8(r3)
/* 802A2ABC 0029F9FC C0 22 BD DC */ lfs f1, lbl_804557DC-_SDA2_BASE_(r2)
/* 802A2AC0 0029FA00 D0 23 00 04 */ stfs f1, 4(r3)
/* 802A2AC4 0029FA04 C0 02 BD E0 */ lfs f0, lbl_804557E0-_SDA2_BASE_(r2)
/* 802A2AC8 0029FA08 D0 03 00 0C */ stfs f0, 0xc(r3)
/* 802A2ACC 0029FA0C D0 23 00 10 */ stfs f1, 0x10(r3)
/* 802A2AD0 0029FA10 D0 23 00 14 */ stfs f1, 0x14(r3)
/* 802A2AD4 0029FA14 38 00 00 00 */ li r0, 0
/* 802A2AD8 0029FA18 90 03 00 1C */ stw r0, 0x1c(r3)
/* 802A2ADC 0029FA1C D0 23 00 18 */ stfs f1, 0x18(r3)
/* 802A2AE0 0029FA20 D0 23 00 20 */ stfs f1, 0x20(r3)
/* 802A2AE4 0029FA24 90 03 00 28 */ stw r0, 0x28(r3)
/* 802A2AE8 0029FA28 D0 23 00 24 */ stfs f1, 0x24(r3)
/* 802A2AEC 0029FA2C D0 23 00 2C */ stfs f1, 0x2c(r3)
/* 802A2AF0 0029FA30 90 03 00 34 */ stw r0, 0x34(r3)
/* 802A2AF4 0029FA34 D0 23 00 30 */ stfs f1, 0x30(r3)
/* 802A2AF8 0029FA38 D0 23 00 38 */ stfs f1, 0x38(r3)
/* 802A2AFC 0029FA3C 90 03 00 40 */ stw r0, 0x40(r3)
/* 802A2B00 0029FA40 D0 23 00 3C */ stfs f1, 0x3c(r3)
/* 802A2B04 0029FA44 D0 23 00 44 */ stfs f1, 0x44(r3)
/* 802A2B08 0029FA48 90 03 00 4C */ stw r0, 0x4c(r3)
/* 802A2B0C 0029FA4C D0 23 00 48 */ stfs f1, 0x48(r3)
/* 802A2B10 0029FA50 D0 43 00 50 */ stfs f2, 0x50(r3)
/* 802A2B14 0029FA54 D0 43 00 58 */ stfs f2, 0x58(r3)
/* 802A2B18 0029FA58 D0 23 00 54 */ stfs f1, 0x54(r3)
/* 802A2B1C 0029FA5C D0 03 00 5C */ stfs f0, 0x5c(r3)
/* 802A2B20 0029FA60 D0 23 00 60 */ stfs f1, 0x60(r3)
/* 802A2B24 0029FA64 4E 80 00 20 */ blr
.global JAISoundChild_NS_mixOut
JAISoundChild_NS_mixOut:
/* 802A2B28 0029FA68 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802A2B2C 0029FA6C 7C 08 02 A6 */ mflr r0
/* 802A2B30 0029FA70 90 01 00 14 */ stw r0, 0x14(r1)
/* 802A2B34 0029FA74 7C 65 1B 78 */ mr r5, r3
/* 802A2B38 0029FA78 C0 03 00 00 */ lfs f0, 0(r3)
/* 802A2B3C 0029FA7C D4 05 00 50 */ stfsu f0, 0x50(r5)
/* 802A2B40 0029FA80 C0 03 00 04 */ lfs f0, 4(r3)
/* 802A2B44 0029FA84 D0 03 00 54 */ stfs f0, 0x54(r3)
/* 802A2B48 0029FA88 C0 03 00 08 */ lfs f0, 8(r3)
/* 802A2B4C 0029FA8C D0 03 00 58 */ stfs f0, 0x58(r3)
/* 802A2B50 0029FA90 C0 03 00 0C */ lfs f0, 0xc(r3)
/* 802A2B54 0029FA94 D0 03 00 5C */ stfs f0, 0x5c(r3)
/* 802A2B58 0029FA98 C0 03 00 10 */ lfs f0, 0x10(r3)
/* 802A2B5C 0029FA9C D0 03 00 60 */ stfs f0, 0x60(r3)
/* 802A2B60 0029FAA0 7C 83 23 78 */ mr r3, r4
/* 802A2B64 0029FAA4 38 80 00 00 */ li r4, 0
/* 802A2B68 0029FAA8 4B FE EE 8D */ bl JASTrack_NS_assignExtBuffer
/* 802A2B6C 0029FAAC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802A2B70 0029FAB0 7C 08 03 A6 */ mtlr r0
/* 802A2B74 0029FAB4 38 21 00 10 */ addi r1, r1, 0x10
/* 802A2B78 0029FAB8 4E 80 00 20 */ blr
.global JAISoundChild_NS_calc
JAISoundChild_NS_calc:
/* 802A2B7C 0029FABC C0 23 00 00 */ lfs f1, 0(r3)
/* 802A2B80 0029FAC0 80 83 00 1C */ lwz r4, 0x1c(r3)
/* 802A2B84 0029FAC4 28 04 00 01 */ cmplwi r4, 1
/* 802A2B88 0029FAC8 40 81 00 18 */ ble lbl_802A2BA0
/* 802A2B8C 0029FACC 38 04 FF FF */ addi r0, r4, -1
/* 802A2B90 0029FAD0 90 03 00 1C */ stw r0, 0x1c(r3)
/* 802A2B94 0029FAD4 C0 03 00 14 */ lfs f0, 0x14(r3)
/* 802A2B98 0029FAD8 EC 21 00 2A */ fadds f1, f1, f0
/* 802A2B9C 0029FADC 48 00 00 14 */ b lbl_802A2BB0
lbl_802A2BA0:
/* 802A2BA0 0029FAE0 40 82 00 10 */ bne lbl_802A2BB0
/* 802A2BA4 0029FAE4 38 00 00 00 */ li r0, 0
/* 802A2BA8 0029FAE8 90 03 00 1C */ stw r0, 0x1c(r3)
/* 802A2BAC 0029FAEC C0 23 00 18 */ lfs f1, 0x18(r3)
lbl_802A2BB0:
/* 802A2BB0 0029FAF0 D0 23 00 00 */ stfs f1, 0(r3)
/* 802A2BB4 0029FAF4 C0 23 00 08 */ lfs f1, 8(r3)
/* 802A2BB8 0029FAF8 80 83 00 28 */ lwz r4, 0x28(r3)
/* 802A2BBC 0029FAFC 28 04 00 01 */ cmplwi r4, 1
/* 802A2BC0 0029FB00 40 81 00 18 */ ble lbl_802A2BD8
/* 802A2BC4 0029FB04 38 04 FF FF */ addi r0, r4, -1
/* 802A2BC8 0029FB08 90 03 00 28 */ stw r0, 0x28(r3)
/* 802A2BCC 0029FB0C C0 03 00 20 */ lfs f0, 0x20(r3)
/* 802A2BD0 0029FB10 EC 21 00 2A */ fadds f1, f1, f0
/* 802A2BD4 0029FB14 48 00 00 14 */ b lbl_802A2BE8
lbl_802A2BD8:
/* 802A2BD8 0029FB18 40 82 00 10 */ bne lbl_802A2BE8
/* 802A2BDC 0029FB1C 38 00 00 00 */ li r0, 0
/* 802A2BE0 0029FB20 90 03 00 28 */ stw r0, 0x28(r3)
/* 802A2BE4 0029FB24 C0 23 00 24 */ lfs f1, 0x24(r3)
lbl_802A2BE8:
/* 802A2BE8 0029FB28 D0 23 00 08 */ stfs f1, 8(r3)
/* 802A2BEC 0029FB2C C0 23 00 04 */ lfs f1, 4(r3)
/* 802A2BF0 0029FB30 80 83 00 34 */ lwz r4, 0x34(r3)
/* 802A2BF4 0029FB34 28 04 00 01 */ cmplwi r4, 1
/* 802A2BF8 0029FB38 40 81 00 18 */ ble lbl_802A2C10
/* 802A2BFC 0029FB3C 38 04 FF FF */ addi r0, r4, -1
/* 802A2C00 0029FB40 90 03 00 34 */ stw r0, 0x34(r3)
/* 802A2C04 0029FB44 C0 03 00 2C */ lfs f0, 0x2c(r3)
/* 802A2C08 0029FB48 EC 21 00 2A */ fadds f1, f1, f0
/* 802A2C0C 0029FB4C 48 00 00 14 */ b lbl_802A2C20
lbl_802A2C10:
/* 802A2C10 0029FB50 40 82 00 10 */ bne lbl_802A2C20
/* 802A2C14 0029FB54 38 00 00 00 */ li r0, 0
/* 802A2C18 0029FB58 90 03 00 34 */ stw r0, 0x34(r3)
/* 802A2C1C 0029FB5C C0 23 00 30 */ lfs f1, 0x30(r3)
lbl_802A2C20:
/* 802A2C20 0029FB60 D0 23 00 04 */ stfs f1, 4(r3)
/* 802A2C24 0029FB64 C0 23 00 10 */ lfs f1, 0x10(r3)
/* 802A2C28 0029FB68 80 83 00 4C */ lwz r4, 0x4c(r3)
/* 802A2C2C 0029FB6C 28 04 00 01 */ cmplwi r4, 1
/* 802A2C30 0029FB70 40 81 00 18 */ ble lbl_802A2C48
/* 802A2C34 0029FB74 38 04 FF FF */ addi r0, r4, -1
/* 802A2C38 0029FB78 90 03 00 4C */ stw r0, 0x4c(r3)
/* 802A2C3C 0029FB7C C0 03 00 44 */ lfs f0, 0x44(r3)
/* 802A2C40 0029FB80 EC 21 00 2A */ fadds f1, f1, f0
/* 802A2C44 0029FB84 48 00 00 14 */ b lbl_802A2C58
lbl_802A2C48:
/* 802A2C48 0029FB88 40 82 00 10 */ bne lbl_802A2C58
/* 802A2C4C 0029FB8C 38 00 00 00 */ li r0, 0
/* 802A2C50 0029FB90 90 03 00 4C */ stw r0, 0x4c(r3)
/* 802A2C54 0029FB94 C0 23 00 48 */ lfs f1, 0x48(r3)
lbl_802A2C58:
/* 802A2C58 0029FB98 D0 23 00 10 */ stfs f1, 0x10(r3)
/* 802A2C5C 0029FB9C C0 23 00 0C */ lfs f1, 0xc(r3)
/* 802A2C60 0029FBA0 80 83 00 40 */ lwz r4, 0x40(r3)
/* 802A2C64 0029FBA4 28 04 00 01 */ cmplwi r4, 1
/* 802A2C68 0029FBA8 40 81 00 18 */ ble lbl_802A2C80
/* 802A2C6C 0029FBAC 38 04 FF FF */ addi r0, r4, -1
/* 802A2C70 0029FBB0 90 03 00 40 */ stw r0, 0x40(r3)
/* 802A2C74 0029FBB4 C0 03 00 38 */ lfs f0, 0x38(r3)
/* 802A2C78 0029FBB8 EC 21 00 2A */ fadds f1, f1, f0
/* 802A2C7C 0029FBBC 48 00 00 14 */ b lbl_802A2C90
lbl_802A2C80:
/* 802A2C80 0029FBC0 40 82 00 10 */ bne lbl_802A2C90
/* 802A2C84 0029FBC4 38 00 00 00 */ li r0, 0
/* 802A2C88 0029FBC8 90 03 00 40 */ stw r0, 0x40(r3)
/* 802A2C8C 0029FBCC C0 23 00 3C */ lfs f1, 0x3c(r3)
lbl_802A2C90:
/* 802A2C90 0029FBD0 D0 23 00 0C */ stfs f1, 0xc(r3)
/* 802A2C94 0029FBD4 4E 80 00 20 */ blr

View File

@ -0,0 +1,57 @@
.include "macros.inc"
.section .text, "ax" # 802a2c98
.global JAISoundHandles_NS_getHandleSoundID
JAISoundHandles_NS_getHandleSoundID:
/* 802A2C98 0029FBD8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802A2C9C 0029FBDC 38 A0 00 00 */ li r5, 0
/* 802A2CA0 0029FBE0 80 C3 00 04 */ lwz r6, 4(r3)
/* 802A2CA4 0029FBE4 80 04 00 00 */ lwz r0, 0(r4)
/* 802A2CA8 0029FBE8 7C C9 03 A6 */ mtctr r6
/* 802A2CAC 0029FBEC 2C 06 00 00 */ cmpwi r6, 0
/* 802A2CB0 0029FBF0 40 81 00 38 */ ble lbl_802A2CE8
lbl_802A2CB4:
/* 802A2CB4 0029FBF4 80 83 00 00 */ lwz r4, 0(r3)
/* 802A2CB8 0029FBF8 7C C4 2A 14 */ add r6, r4, r5
/* 802A2CBC 0029FBFC 80 86 00 00 */ lwz r4, 0(r6)
/* 802A2CC0 0029FC00 28 04 00 00 */ cmplwi r4, 0
/* 802A2CC4 0029FC04 41 82 00 1C */ beq lbl_802A2CE0
/* 802A2CC8 0029FC08 80 84 00 18 */ lwz r4, 0x18(r4)
/* 802A2CCC 0029FC0C 90 81 00 08 */ stw r4, 8(r1)
/* 802A2CD0 0029FC10 7C 04 00 40 */ cmplw r4, r0
/* 802A2CD4 0029FC14 40 82 00 0C */ bne lbl_802A2CE0
/* 802A2CD8 0029FC18 7C C3 33 78 */ mr r3, r6
/* 802A2CDC 0029FC1C 48 00 00 10 */ b lbl_802A2CEC
lbl_802A2CE0:
/* 802A2CE0 0029FC20 38 A5 00 04 */ addi r5, r5, 4
/* 802A2CE4 0029FC24 42 00 FF D0 */ bdnz lbl_802A2CB4
lbl_802A2CE8:
/* 802A2CE8 0029FC28 38 60 00 00 */ li r3, 0
lbl_802A2CEC:
/* 802A2CEC 0029FC2C 38 21 00 10 */ addi r1, r1, 0x10
/* 802A2CF0 0029FC30 4E 80 00 20 */ blr
.global JAISoundHandles_NS_getFreeHandle
JAISoundHandles_NS_getFreeHandle:
/* 802A2CF4 0029FC34 38 80 00 00 */ li r4, 0
/* 802A2CF8 0029FC38 80 03 00 04 */ lwz r0, 4(r3)
/* 802A2CFC 0029FC3C 7C 09 03 A6 */ mtctr r0
/* 802A2D00 0029FC40 2C 00 00 00 */ cmpwi r0, 0
/* 802A2D04 0029FC44 40 81 00 28 */ ble lbl_802A2D2C
lbl_802A2D08:
/* 802A2D08 0029FC48 80 03 00 00 */ lwz r0, 0(r3)
/* 802A2D0C 0029FC4C 7C A0 22 14 */ add r5, r0, r4
/* 802A2D10 0029FC50 80 05 00 00 */ lwz r0, 0(r5)
/* 802A2D14 0029FC54 28 00 00 00 */ cmplwi r0, 0
/* 802A2D18 0029FC58 40 82 00 0C */ bne lbl_802A2D24
/* 802A2D1C 0029FC5C 7C A3 2B 78 */ mr r3, r5
/* 802A2D20 0029FC60 4E 80 00 20 */ blr
lbl_802A2D24:
/* 802A2D24 0029FC64 38 84 00 04 */ addi r4, r4, 4
/* 802A2D28 0029FC68 42 00 FF E0 */ bdnz lbl_802A2D08
lbl_802A2D2C:
/* 802A2D2C 0029FC6C 38 60 00 00 */ li r3, 0
/* 802A2D30 0029FC70 4E 80 00 20 */ blr

View File

@ -0,0 +1,46 @@
.include "macros.inc"
.section .text, "ax" # 802a2d34
.global JAISoundInfo
JAISoundInfo:
/* 802A2D34 0029FC74 54 80 06 3F */ clrlwi. r0, r4, 0x18
/* 802A2D38 0029FC78 41 82 00 08 */ beq lbl_802A2D40
/* 802A2D3C 0029FC7C 90 6D 85 DC */ stw r3, lbl_80450B5C-_SDA_BASE_(r13)
lbl_802A2D40:
/* 802A2D40 0029FC80 3C 80 80 3D */ lis r4, lbl_803C99A0@ha
/* 802A2D44 0029FC84 38 04 99 A0 */ addi r0, r4, lbl_803C99A0@l
/* 802A2D48 0029FC88 90 03 00 00 */ stw r0, 0(r3)
/* 802A2D4C 0029FC8C 4E 80 00 20 */ blr
.global JAISoundInfo_NS_dtor
JAISoundInfo_NS_dtor:
/* 802A2D50 0029FC90 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802A2D54 0029FC94 7C 08 02 A6 */ mflr r0
/* 802A2D58 0029FC98 90 01 00 14 */ stw r0, 0x14(r1)
/* 802A2D5C 0029FC9C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802A2D60 0029FCA0 7C 7F 1B 79 */ or. r31, r3, r3
/* 802A2D64 0029FCA4 41 82 00 38 */ beq lbl_802A2D9C
/* 802A2D68 0029FCA8 3C 60 80 3D */ lis r3, lbl_803C99A0@ha
/* 802A2D6C 0029FCAC 38 03 99 A0 */ addi r0, r3, lbl_803C99A0@l
/* 802A2D70 0029FCB0 90 1F 00 00 */ stw r0, 0(r31)
/* 802A2D74 0029FCB4 41 82 00 18 */ beq lbl_802A2D8C
/* 802A2D78 0029FCB8 80 0D 85 DC */ lwz r0, lbl_80450B5C-_SDA_BASE_(r13)
/* 802A2D7C 0029FCBC 7C 00 F8 40 */ cmplw r0, r31
/* 802A2D80 0029FCC0 40 82 00 0C */ bne lbl_802A2D8C
/* 802A2D84 0029FCC4 38 00 00 00 */ li r0, 0
/* 802A2D88 0029FCC8 90 0D 85 DC */ stw r0, lbl_80450B5C-_SDA_BASE_(r13)
lbl_802A2D8C:
/* 802A2D8C 0029FCCC 7C 80 07 35 */ extsh. r0, r4
/* 802A2D90 0029FCD0 40 81 00 0C */ ble lbl_802A2D9C
/* 802A2D94 0029FCD4 7F E3 FB 78 */ mr r3, r31
/* 802A2D98 0029FCD8 48 02 BF A5 */ bl __dl
lbl_802A2D9C:
/* 802A2D9C 0029FCDC 7F E3 FB 78 */ mr r3, r31
/* 802A2DA0 0029FCE0 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802A2DA4 0029FCE4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802A2DA8 0029FCE8 7C 08 03 A6 */ mtlr r0
/* 802A2DAC 0029FCEC 38 21 00 10 */ addi r1, r1, 0x10
/* 802A2DB0 0029FCF0 4E 80 00 20 */ blr

View File

@ -0,0 +1,140 @@
.include "macros.inc"
.section .text, "ax" # 802a2db4
.global JAISoundParamsMove_NS_moveVolume
JAISoundParamsMove_NS_moveVolume:
/* 802A2DB4 0029FCF4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802A2DB8 0029FCF8 28 04 00 00 */ cmplwi r4, 0
/* 802A2DBC 0029FCFC 40 82 00 14 */ bne lbl_802A2DD0
/* 802A2DC0 0029FD00 D0 23 00 00 */ stfs f1, 0(r3)
/* 802A2DC4 0029FD04 38 00 00 00 */ li r0, 0
/* 802A2DC8 0029FD08 90 03 00 1C */ stw r0, 0x1c(r3)
/* 802A2DCC 0029FD0C 48 00 00 38 */ b lbl_802A2E04
lbl_802A2DD0:
/* 802A2DD0 0029FD10 C0 03 00 00 */ lfs f0, 0(r3)
/* 802A2DD4 0029FD14 90 83 00 1C */ stw r4, 0x1c(r3)
/* 802A2DD8 0029FD18 EC 61 00 28 */ fsubs f3, f1, f0
/* 802A2DDC 0029FD1C 80 03 00 1C */ lwz r0, 0x1c(r3)
/* 802A2DE0 0029FD20 C8 42 BD E8 */ lfd f2, lbl_804557E8-_SDA2_BASE_(r2)
/* 802A2DE4 0029FD24 90 01 00 0C */ stw r0, 0xc(r1)
/* 802A2DE8 0029FD28 3C 00 43 30 */ lis r0, 0x4330
/* 802A2DEC 0029FD2C 90 01 00 08 */ stw r0, 8(r1)
/* 802A2DF0 0029FD30 C8 01 00 08 */ lfd f0, 8(r1)
/* 802A2DF4 0029FD34 EC 00 10 28 */ fsubs f0, f0, f2
/* 802A2DF8 0029FD38 EC 03 00 24 */ fdivs f0, f3, f0
/* 802A2DFC 0029FD3C D0 03 00 14 */ stfs f0, 0x14(r3)
/* 802A2E00 0029FD40 D0 23 00 18 */ stfs f1, 0x18(r3)
lbl_802A2E04:
/* 802A2E04 0029FD44 38 21 00 10 */ addi r1, r1, 0x10
/* 802A2E08 0029FD48 4E 80 00 20 */ blr
.global JAISoundParamsMove_NS_movePitch
JAISoundParamsMove_NS_movePitch:
/* 802A2E0C 0029FD4C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802A2E10 0029FD50 28 04 00 00 */ cmplwi r4, 0
/* 802A2E14 0029FD54 40 82 00 14 */ bne lbl_802A2E28
/* 802A2E18 0029FD58 D0 23 00 08 */ stfs f1, 8(r3)
/* 802A2E1C 0029FD5C 38 00 00 00 */ li r0, 0
/* 802A2E20 0029FD60 90 03 00 28 */ stw r0, 0x28(r3)
/* 802A2E24 0029FD64 48 00 00 38 */ b lbl_802A2E5C
lbl_802A2E28:
/* 802A2E28 0029FD68 C0 03 00 08 */ lfs f0, 8(r3)
/* 802A2E2C 0029FD6C 90 83 00 28 */ stw r4, 0x28(r3)
/* 802A2E30 0029FD70 EC 61 00 28 */ fsubs f3, f1, f0
/* 802A2E34 0029FD74 80 03 00 28 */ lwz r0, 0x28(r3)
/* 802A2E38 0029FD78 C8 42 BD E8 */ lfd f2, lbl_804557E8-_SDA2_BASE_(r2)
/* 802A2E3C 0029FD7C 90 01 00 0C */ stw r0, 0xc(r1)
/* 802A2E40 0029FD80 3C 00 43 30 */ lis r0, 0x4330
/* 802A2E44 0029FD84 90 01 00 08 */ stw r0, 8(r1)
/* 802A2E48 0029FD88 C8 01 00 08 */ lfd f0, 8(r1)
/* 802A2E4C 0029FD8C EC 00 10 28 */ fsubs f0, f0, f2
/* 802A2E50 0029FD90 EC 03 00 24 */ fdivs f0, f3, f0
/* 802A2E54 0029FD94 D0 03 00 20 */ stfs f0, 0x20(r3)
/* 802A2E58 0029FD98 D0 23 00 24 */ stfs f1, 0x24(r3)
lbl_802A2E5C:
/* 802A2E5C 0029FD9C 38 21 00 10 */ addi r1, r1, 0x10
/* 802A2E60 0029FDA0 4E 80 00 20 */ blr
.global JAISoundParamsMove_NS_moveFxMix
JAISoundParamsMove_NS_moveFxMix:
/* 802A2E64 0029FDA4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802A2E68 0029FDA8 28 04 00 00 */ cmplwi r4, 0
/* 802A2E6C 0029FDAC 40 82 00 14 */ bne lbl_802A2E80
/* 802A2E70 0029FDB0 D0 23 00 04 */ stfs f1, 4(r3)
/* 802A2E74 0029FDB4 38 00 00 00 */ li r0, 0
/* 802A2E78 0029FDB8 90 03 00 34 */ stw r0, 0x34(r3)
/* 802A2E7C 0029FDBC 48 00 00 38 */ b lbl_802A2EB4
lbl_802A2E80:
/* 802A2E80 0029FDC0 C0 03 00 04 */ lfs f0, 4(r3)
/* 802A2E84 0029FDC4 90 83 00 34 */ stw r4, 0x34(r3)
/* 802A2E88 0029FDC8 EC 61 00 28 */ fsubs f3, f1, f0
/* 802A2E8C 0029FDCC 80 03 00 34 */ lwz r0, 0x34(r3)
/* 802A2E90 0029FDD0 C8 42 BD E8 */ lfd f2, lbl_804557E8-_SDA2_BASE_(r2)
/* 802A2E94 0029FDD4 90 01 00 0C */ stw r0, 0xc(r1)
/* 802A2E98 0029FDD8 3C 00 43 30 */ lis r0, 0x4330
/* 802A2E9C 0029FDDC 90 01 00 08 */ stw r0, 8(r1)
/* 802A2EA0 0029FDE0 C8 01 00 08 */ lfd f0, 8(r1)
/* 802A2EA4 0029FDE4 EC 00 10 28 */ fsubs f0, f0, f2
/* 802A2EA8 0029FDE8 EC 03 00 24 */ fdivs f0, f3, f0
/* 802A2EAC 0029FDEC D0 03 00 2C */ stfs f0, 0x2c(r3)
/* 802A2EB0 0029FDF0 D0 23 00 30 */ stfs f1, 0x30(r3)
lbl_802A2EB4:
/* 802A2EB4 0029FDF4 38 21 00 10 */ addi r1, r1, 0x10
/* 802A2EB8 0029FDF8 4E 80 00 20 */ blr
.global JAISoundParamsMove_NS_movePan
JAISoundParamsMove_NS_movePan:
/* 802A2EBC 0029FDFC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802A2EC0 0029FE00 28 04 00 00 */ cmplwi r4, 0
/* 802A2EC4 0029FE04 40 82 00 14 */ bne lbl_802A2ED8
/* 802A2EC8 0029FE08 D0 23 00 0C */ stfs f1, 0xc(r3)
/* 802A2ECC 0029FE0C 38 00 00 00 */ li r0, 0
/* 802A2ED0 0029FE10 90 03 00 40 */ stw r0, 0x40(r3)
/* 802A2ED4 0029FE14 48 00 00 38 */ b lbl_802A2F0C
lbl_802A2ED8:
/* 802A2ED8 0029FE18 C0 03 00 0C */ lfs f0, 0xc(r3)
/* 802A2EDC 0029FE1C 90 83 00 40 */ stw r4, 0x40(r3)
/* 802A2EE0 0029FE20 EC 61 00 28 */ fsubs f3, f1, f0
/* 802A2EE4 0029FE24 80 03 00 40 */ lwz r0, 0x40(r3)
/* 802A2EE8 0029FE28 C8 42 BD E8 */ lfd f2, lbl_804557E8-_SDA2_BASE_(r2)
/* 802A2EEC 0029FE2C 90 01 00 0C */ stw r0, 0xc(r1)
/* 802A2EF0 0029FE30 3C 00 43 30 */ lis r0, 0x4330
/* 802A2EF4 0029FE34 90 01 00 08 */ stw r0, 8(r1)
/* 802A2EF8 0029FE38 C8 01 00 08 */ lfd f0, 8(r1)
/* 802A2EFC 0029FE3C EC 00 10 28 */ fsubs f0, f0, f2
/* 802A2F00 0029FE40 EC 03 00 24 */ fdivs f0, f3, f0
/* 802A2F04 0029FE44 D0 03 00 38 */ stfs f0, 0x38(r3)
/* 802A2F08 0029FE48 D0 23 00 3C */ stfs f1, 0x3c(r3)
lbl_802A2F0C:
/* 802A2F0C 0029FE4C 38 21 00 10 */ addi r1, r1, 0x10
/* 802A2F10 0029FE50 4E 80 00 20 */ blr
.global JAISoundParamsMove_NS_moveDolby
JAISoundParamsMove_NS_moveDolby:
/* 802A2F14 0029FE54 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802A2F18 0029FE58 28 04 00 00 */ cmplwi r4, 0
/* 802A2F1C 0029FE5C 40 82 00 14 */ bne lbl_802A2F30
/* 802A2F20 0029FE60 D0 23 00 10 */ stfs f1, 0x10(r3)
/* 802A2F24 0029FE64 38 00 00 00 */ li r0, 0
/* 802A2F28 0029FE68 90 03 00 4C */ stw r0, 0x4c(r3)
/* 802A2F2C 0029FE6C 48 00 00 38 */ b lbl_802A2F64
lbl_802A2F30:
/* 802A2F30 0029FE70 C0 03 00 10 */ lfs f0, 0x10(r3)
/* 802A2F34 0029FE74 90 83 00 4C */ stw r4, 0x4c(r3)
/* 802A2F38 0029FE78 EC 61 00 28 */ fsubs f3, f1, f0
/* 802A2F3C 0029FE7C 80 03 00 4C */ lwz r0, 0x4c(r3)
/* 802A2F40 0029FE80 C8 42 BD E8 */ lfd f2, lbl_804557E8-_SDA2_BASE_(r2)
/* 802A2F44 0029FE84 90 01 00 0C */ stw r0, 0xc(r1)
/* 802A2F48 0029FE88 3C 00 43 30 */ lis r0, 0x4330
/* 802A2F4C 0029FE8C 90 01 00 08 */ stw r0, 8(r1)
/* 802A2F50 0029FE90 C8 01 00 08 */ lfd f0, 8(r1)
/* 802A2F54 0029FE94 EC 00 10 28 */ fsubs f0, f0, f2
/* 802A2F58 0029FE98 EC 03 00 24 */ fdivs f0, f3, f0
/* 802A2F5C 0029FE9C D0 03 00 44 */ stfs f0, 0x44(r3)
/* 802A2F60 0029FEA0 D0 23 00 48 */ stfs f1, 0x48(r3)
lbl_802A2F64:
/* 802A2F64 0029FEA4 38 21 00 10 */ addi r1, r1, 0x10
/* 802A2F68 0029FEA8 4E 80 00 20 */ blr

View File

@ -0,0 +1,110 @@
.include "macros.inc"
.section .text, "ax" # 802a2f6c
.global JAISoundStarter
JAISoundStarter:
/* 802A2F6C 0029FEAC 54 80 06 3F */ clrlwi. r0, r4, 0x18
/* 802A2F70 0029FEB0 41 82 00 08 */ beq lbl_802A2F78
/* 802A2F74 0029FEB4 90 6D 85 F8 */ stw r3, lbl_80450B78-_SDA_BASE_(r13)
lbl_802A2F78:
/* 802A2F78 0029FEB8 3C 80 80 3D */ lis r4, lbl_803C99C8@ha
/* 802A2F7C 0029FEBC 38 04 99 C8 */ addi r0, r4, lbl_803C99C8@l
/* 802A2F80 0029FEC0 90 03 00 00 */ stw r0, 0(r3)
/* 802A2F84 0029FEC4 4E 80 00 20 */ blr
.global JAISoundStarter_NS_dtor
JAISoundStarter_NS_dtor:
/* 802A2F88 0029FEC8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802A2F8C 0029FECC 7C 08 02 A6 */ mflr r0
/* 802A2F90 0029FED0 90 01 00 14 */ stw r0, 0x14(r1)
/* 802A2F94 0029FED4 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802A2F98 0029FED8 7C 7F 1B 79 */ or. r31, r3, r3
/* 802A2F9C 0029FEDC 41 82 00 38 */ beq lbl_802A2FD4
/* 802A2FA0 0029FEE0 3C 60 80 3D */ lis r3, lbl_803C99C8@ha
/* 802A2FA4 0029FEE4 38 03 99 C8 */ addi r0, r3, lbl_803C99C8@l
/* 802A2FA8 0029FEE8 90 1F 00 00 */ stw r0, 0(r31)
/* 802A2FAC 0029FEEC 41 82 00 18 */ beq lbl_802A2FC4
/* 802A2FB0 0029FEF0 80 0D 85 F8 */ lwz r0, lbl_80450B78-_SDA_BASE_(r13)
/* 802A2FB4 0029FEF4 7C 00 F8 40 */ cmplw r0, r31
/* 802A2FB8 0029FEF8 40 82 00 0C */ bne lbl_802A2FC4
/* 802A2FBC 0029FEFC 38 00 00 00 */ li r0, 0
/* 802A2FC0 0029FF00 90 0D 85 F8 */ stw r0, lbl_80450B78-_SDA_BASE_(r13)
lbl_802A2FC4:
/* 802A2FC4 0029FF04 7C 80 07 35 */ extsh. r0, r4
/* 802A2FC8 0029FF08 40 81 00 0C */ ble lbl_802A2FD4
/* 802A2FCC 0029FF0C 7F E3 FB 78 */ mr r3, r31
/* 802A2FD0 0029FF10 48 02 BD 6D */ bl __dl
lbl_802A2FD4:
/* 802A2FD4 0029FF14 7F E3 FB 78 */ mr r3, r31
/* 802A2FD8 0029FF18 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802A2FDC 0029FF1C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802A2FE0 0029FF20 7C 08 03 A6 */ mtlr r0
/* 802A2FE4 0029FF24 38 21 00 10 */ addi r1, r1, 0x10
/* 802A2FE8 0029FF28 4E 80 00 20 */ blr
.global JAISoundStarter_NS_startLevelSound
JAISoundStarter_NS_startLevelSound:
/* 802A2FEC 0029FF2C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802A2FF0 0029FF30 7C 08 02 A6 */ mflr r0
/* 802A2FF4 0029FF34 90 01 00 24 */ stw r0, 0x24(r1)
/* 802A2FF8 0029FF38 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 802A2FFC 0029FF3C 7C BF 2B 78 */ mr r31, r5
/* 802A3000 0029FF40 80 E5 00 00 */ lwz r7, 0(r5)
/* 802A3004 0029FF44 28 07 00 00 */ cmplwi r7, 0
/* 802A3008 0029FF48 41 82 00 64 */ beq lbl_802A306C
/* 802A300C 0029FF4C 80 A7 00 18 */ lwz r5, 0x18(r7)
/* 802A3010 0029FF50 90 A1 00 0C */ stw r5, 0xc(r1)
/* 802A3014 0029FF54 80 04 00 00 */ lwz r0, 0(r4)
/* 802A3018 0029FF58 7C 05 00 40 */ cmplw r5, r0
/* 802A301C 0029FF5C 40 82 00 50 */ bne lbl_802A306C
/* 802A3020 0029FF60 80 07 00 10 */ lwz r0, 0x10(r7)
/* 802A3024 0029FF64 28 00 00 01 */ cmplwi r0, 1
/* 802A3028 0029FF68 40 80 00 0C */ bge lbl_802A3034
/* 802A302C 0029FF6C 38 00 00 01 */ li r0, 1
/* 802A3030 0029FF70 90 07 00 10 */ stw r0, 0x10(r7)
lbl_802A3034:
/* 802A3034 0029FF74 28 06 00 00 */ cmplwi r6, 0
/* 802A3038 0029FF78 41 82 00 2C */ beq lbl_802A3064
/* 802A303C 0029FF7C 80 7F 00 00 */ lwz r3, 0(r31)
/* 802A3040 0029FF80 80 63 00 08 */ lwz r3, 8(r3)
/* 802A3044 0029FF84 28 03 00 00 */ cmplwi r3, 0
/* 802A3048 0029FF88 41 82 00 1C */ beq lbl_802A3064
/* 802A304C 0029FF8C C0 06 00 00 */ lfs f0, 0(r6)
/* 802A3050 0029FF90 D0 03 00 04 */ stfs f0, 4(r3)
/* 802A3054 0029FF94 C0 06 00 04 */ lfs f0, 4(r6)
/* 802A3058 0029FF98 D0 03 00 08 */ stfs f0, 8(r3)
/* 802A305C 0029FF9C C0 06 00 08 */ lfs f0, 8(r6)
/* 802A3060 0029FFA0 D0 03 00 0C */ stfs f0, 0xc(r3)
lbl_802A3064:
/* 802A3064 0029FFA4 38 60 00 01 */ li r3, 1
/* 802A3068 0029FFA8 48 00 00 58 */ b lbl_802A30C0
lbl_802A306C:
/* 802A306C 0029FFAC 80 04 00 00 */ lwz r0, 0(r4)
/* 802A3070 0029FFB0 90 01 00 08 */ stw r0, 8(r1)
/* 802A3074 0029FFB4 38 81 00 08 */ addi r4, r1, 8
/* 802A3078 0029FFB8 7F E5 FB 78 */ mr r5, r31
/* 802A307C 0029FFBC 81 83 00 00 */ lwz r12, 0(r3)
/* 802A3080 0029FFC0 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 802A3084 0029FFC4 7D 89 03 A6 */ mtctr r12
/* 802A3088 0029FFC8 4E 80 04 21 */ bctrl
/* 802A308C 0029FFCC 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 802A3090 0029FFD0 41 82 00 30 */ beq lbl_802A30C0
/* 802A3094 0029FFD4 80 BF 00 00 */ lwz r5, 0(r31)
/* 802A3098 0029FFD8 28 05 00 00 */ cmplwi r5, 0
/* 802A309C 0029FFDC 41 82 00 24 */ beq lbl_802A30C0
/* 802A30A0 0029FFE0 38 80 00 01 */ li r4, 1
/* 802A30A4 0029FFE4 90 85 00 10 */ stw r4, 0x10(r5)
/* 802A30A8 0029FFE8 88 05 00 1D */ lbz r0, 0x1d(r5)
/* 802A30AC 0029FFEC 50 80 3E 30 */ rlwimi r0, r4, 7, 0x18, 0x18
/* 802A30B0 0029FFF0 98 05 00 1D */ stb r0, 0x1d(r5)
/* 802A30B4 0029FFF4 88 05 00 1D */ lbz r0, 0x1d(r5)
/* 802A30B8 0029FFF8 50 80 36 72 */ rlwimi r0, r4, 6, 0x19, 0x19
/* 802A30BC 0029FFFC 98 05 00 1D */ stb r0, 0x1d(r5)
lbl_802A30C0:
/* 802A30C0 002A0000 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 802A30C4 002A0004 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802A30C8 002A0008 7C 08 03 A6 */ mtlr r0
/* 802A30CC 002A000C 38 21 00 20 */ addi r1, r1, 0x20
/* 802A30D0 002A0010 4E 80 00 20 */ blr

739
asm/JAudio2/JAIStream.s Normal file
View File

@ -0,0 +1,739 @@
.include "macros.inc"
.section .text, "ax" # 802a30d4
.global JAIStream_JASAramStreamCallback_
JAIStream_JASAramStreamCallback_:
/* 802A30D4 002A0014 2C 03 00 01 */ cmpwi r3, 1
/* 802A30D8 002A0018 41 82 00 14 */ beq lbl_802A30EC
/* 802A30DC 002A001C 4C 80 00 20 */ bgelr
/* 802A30E0 002A0020 2C 03 00 00 */ cmpwi r3, 0
/* 802A30E4 002A0024 40 80 00 14 */ bge lbl_802A30F8
/* 802A30E8 002A0028 4E 80 00 20 */ blr
lbl_802A30EC:
/* 802A30EC 002A002C 38 00 00 01 */ li r0, 1
/* 802A30F0 002A0030 98 05 02 C5 */ stb r0, 0x2c5(r5)
/* 802A30F4 002A0034 4E 80 00 20 */ blr
lbl_802A30F8:
/* 802A30F8 002A0038 38 00 00 01 */ li r0, 1
/* 802A30FC 002A003C 98 05 02 C6 */ stb r0, 0x2c6(r5)
/* 802A3100 002A0040 4E 80 00 20 */ blr
.global JAIStream
JAIStream:
/* 802A3104 002A0044 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802A3108 002A0048 7C 08 02 A6 */ mflr r0
/* 802A310C 002A004C 90 01 00 24 */ stw r0, 0x24(r1)
/* 802A3110 002A0050 39 61 00 20 */ addi r11, r1, 0x20
/* 802A3114 002A0054 48 0B F0 C9 */ bl func_803621DC
/* 802A3118 002A0058 7C 7D 1B 78 */ mr r29, r3
/* 802A311C 002A005C 7C 9E 23 78 */ mr r30, r4
/* 802A3120 002A0060 7C BF 2B 78 */ mr r31, r5
/* 802A3124 002A0064 4B FF F1 D5 */ bl JAISound
/* 802A3128 002A0068 38 7D 00 98 */ addi r3, r29, 0x98
/* 802A312C 002A006C 7F A4 EB 78 */ mr r4, r29
/* 802A3130 002A0070 48 03 8C CD */ bl JSUPtrLink
/* 802A3134 002A0074 3C 60 80 3D */ lis r3, lbl_803C99D8@ha
/* 802A3138 002A0078 38 03 99 D8 */ addi r0, r3, lbl_803C99D8@l
/* 802A313C 002A007C 90 1D 00 00 */ stw r0, 0(r29)
/* 802A3140 002A0080 38 7D 00 A8 */ addi r3, r29, 0xa8
/* 802A3144 002A0084 4B FF 32 65 */ bl JASAramStream
/* 802A3148 002A0088 38 80 00 00 */ li r4, 0
/* 802A314C 002A008C 90 9D 02 90 */ stw r4, 0x290(r29)
/* 802A3150 002A0090 93 FD 02 C0 */ stw r31, 0x2c0(r29)
/* 802A3154 002A0094 93 DD 02 B8 */ stw r30, 0x2b8(r29)
/* 802A3158 002A0098 90 9D 02 9C */ stw r4, 0x29c(r29)
/* 802A315C 002A009C 98 9D 02 C5 */ stb r4, 0x2c5(r29)
/* 802A3160 002A00A0 98 9D 02 C6 */ stb r4, 0x2c6(r29)
/* 802A3164 002A00A4 7C 83 23 78 */ mr r3, r4
/* 802A3168 002A00A8 38 00 00 06 */ li r0, 6
/* 802A316C 002A00AC 7C 09 03 A6 */ mtctr r0
lbl_802A3170:
/* 802A3170 002A00B0 38 03 02 A0 */ addi r0, r3, 0x2a0
/* 802A3174 002A00B4 7C 9D 01 2E */ stwx r4, r29, r0
/* 802A3178 002A00B8 38 63 00 04 */ addi r3, r3, 4
/* 802A317C 002A00BC 42 00 FF F4 */ bdnz lbl_802A3170
/* 802A3180 002A00C0 7F A3 EB 78 */ mr r3, r29
/* 802A3184 002A00C4 39 61 00 20 */ addi r11, r1, 0x20
/* 802A3188 002A00C8 48 0B F0 A1 */ bl func_80362228
/* 802A318C 002A00CC 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802A3190 002A00D0 7C 08 03 A6 */ mtlr r0
/* 802A3194 002A00D4 38 21 00 20 */ addi r1, r1, 0x20
/* 802A3198 002A00D8 4E 80 00 20 */ blr
.global JAIStream_NS_JAIStreamMgr_startID_
JAIStream_NS_JAIStreamMgr_startID_:
/* 802A319C 002A00DC 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802A31A0 002A00E0 7C 08 02 A6 */ mflr r0
/* 802A31A4 002A00E4 90 01 00 24 */ stw r0, 0x24(r1)
/* 802A31A8 002A00E8 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 802A31AC 002A00EC 93 C1 00 18 */ stw r30, 0x18(r1)
/* 802A31B0 002A00F0 7C 7E 1B 78 */ mr r30, r3
/* 802A31B4 002A00F4 7C 9F 23 78 */ mr r31, r4
/* 802A31B8 002A00F8 91 03 02 98 */ stw r8, 0x298(r3)
/* 802A31BC 002A00FC 90 A3 02 94 */ stw r5, 0x294(r3)
/* 802A31C0 002A0100 80 04 00 00 */ lwz r0, 0(r4)
/* 802A31C4 002A0104 90 01 00 0C */ stw r0, 0xc(r1)
/* 802A31C8 002A0108 38 81 00 0C */ addi r4, r1, 0xc
/* 802A31CC 002A010C 7C C5 33 78 */ mr r5, r6
/* 802A31D0 002A0110 7C E6 3B 78 */ mr r6, r7
/* 802A31D4 002A0114 4B FF F1 55 */ bl JAISound_NS_start_JAISound_
/* 802A31D8 002A0118 38 60 00 00 */ li r3, 0
/* 802A31DC 002A011C 90 7E 02 90 */ stw r3, 0x290(r30)
/* 802A31E0 002A0120 80 1E 02 C0 */ lwz r0, 0x2c0(r30)
/* 802A31E4 002A0124 28 00 00 00 */ cmplwi r0, 0
/* 802A31E8 002A0128 41 82 00 2C */ beq lbl_802A3214
/* 802A31EC 002A012C 80 1F 00 00 */ lwz r0, 0(r31)
/* 802A31F0 002A0130 90 01 00 08 */ stw r0, 8(r1)
/* 802A31F4 002A0134 80 7E 02 C0 */ lwz r3, 0x2c0(r30)
/* 802A31F8 002A0138 38 81 00 08 */ addi r4, r1, 8
/* 802A31FC 002A013C 81 83 00 00 */ lwz r12, 0(r3)
/* 802A3200 002A0140 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 802A3204 002A0144 7D 89 03 A6 */ mtctr r12
/* 802A3208 002A0148 4E 80 04 21 */ bctrl
/* 802A320C 002A014C 90 7E 02 BC */ stw r3, 0x2bc(r30)
/* 802A3210 002A0150 48 00 00 08 */ b lbl_802A3218
lbl_802A3214:
/* 802A3214 002A0154 90 7E 02 BC */ stw r3, 0x2bc(r30)
lbl_802A3218:
/* 802A3218 002A0158 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 802A321C 002A015C 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 802A3220 002A0160 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802A3224 002A0164 7C 08 03 A6 */ mtlr r0
/* 802A3228 002A0168 38 21 00 20 */ addi r1, r1, 0x20
/* 802A322C 002A016C 4E 80 00 20 */ blr
.global JAIStream_NS_prepare_prepareStream_
JAIStream_NS_prepare_prepareStream_:
/* 802A3230 002A0170 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802A3234 002A0174 7C 08 02 A6 */ mflr r0
/* 802A3238 002A0178 90 01 00 24 */ stw r0, 0x24(r1)
/* 802A323C 002A017C 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 802A3240 002A0180 7C 7F 1B 78 */ mr r31, r3
/* 802A3244 002A0184 80 03 02 90 */ lwz r0, 0x290(r3)
/* 802A3248 002A0188 2C 00 00 02 */ cmpwi r0, 2
/* 802A324C 002A018C 41 82 01 60 */ beq lbl_802A33AC
/* 802A3250 002A0190 40 80 00 14 */ bge lbl_802A3264
/* 802A3254 002A0194 2C 00 00 00 */ cmpwi r0, 0
/* 802A3258 002A0198 41 82 00 1C */ beq lbl_802A3274
/* 802A325C 002A019C 40 80 00 7C */ bge lbl_802A32D8
/* 802A3260 002A01A0 48 00 01 7C */ b lbl_802A33DC
lbl_802A3264:
/* 802A3264 002A01A4 2C 00 00 04 */ cmpwi r0, 4
/* 802A3268 002A01A8 41 82 01 74 */ beq lbl_802A33DC
/* 802A326C 002A01AC 40 80 01 70 */ bge lbl_802A33DC
/* 802A3270 002A01B0 48 00 01 64 */ b lbl_802A33D4
lbl_802A3274:
/* 802A3274 002A01B4 80 7F 02 B8 */ lwz r3, 0x2b8(r31)
/* 802A3278 002A01B8 80 63 00 68 */ lwz r3, 0x68(r3)
/* 802A327C 002A01BC 38 81 00 08 */ addi r4, r1, 8
/* 802A3280 002A01C0 81 83 00 00 */ lwz r12, 0(r3)
/* 802A3284 002A01C4 81 8C 00 08 */ lwz r12, 8(r12)
/* 802A3288 002A01C8 7D 89 03 A6 */ mtctr r12
/* 802A328C 002A01CC 4E 80 04 21 */ bctrl
/* 802A3290 002A01D0 90 7F 02 9C */ stw r3, 0x29c(r31)
/* 802A3294 002A01D4 80 9F 02 9C */ lwz r4, 0x29c(r31)
/* 802A3298 002A01D8 28 04 00 00 */ cmplwi r4, 0
/* 802A329C 002A01DC 41 82 00 30 */ beq lbl_802A32CC
/* 802A32A0 002A01E0 38 7F 00 A8 */ addi r3, r31, 0xa8
/* 802A32A4 002A01E4 80 A1 00 08 */ lwz r5, 8(r1)
.global JAIStream_JASAramStreamCallback_
/* 802A32A8 002A01E8 3C C0 80 2A */ lis r6, JAIStream_JASAramStreamCallback_@ha
.global JAIStream_JASAramStreamCallback_
/* 802A32AC 002A01EC 38 C6 30 D4 */ addi r6, r6, JAIStream_JASAramStreamCallback_@l
/* 802A32B0 002A01F0 7F E7 FB 78 */ mr r7, r31
/* 802A32B4 002A01F4 4B FF 31 E9 */ bl JASAramStream_NS_init
/* 802A32B8 002A01F8 38 00 00 01 */ li r0, 1
/* 802A32BC 002A01FC 90 1F 02 90 */ stw r0, 0x290(r31)
/* 802A32C0 002A0200 38 00 00 00 */ li r0, 0
/* 802A32C4 002A0204 90 1F 00 14 */ stw r0, 0x14(r31)
/* 802A32C8 002A0208 48 00 01 14 */ b lbl_802A33DC
lbl_802A32CC:
/* 802A32CC 002A020C 7F E3 FB 78 */ mr r3, r31
/* 802A32D0 002A0210 4B FF F3 9D */ bl JAISound_NS_increasePrepareCount_JAISound_
/* 802A32D4 002A0214 48 00 01 08 */ b lbl_802A33DC
lbl_802A32D8:
/* 802A32D8 002A0218 80 7F 00 08 */ lwz r3, 8(r31)
/* 802A32DC 002A021C 28 03 00 00 */ cmplwi r3, 0
/* 802A32E0 002A0220 41 82 00 A0 */ beq lbl_802A3380
/* 802A32E4 002A0224 38 80 00 00 */ li r4, 0
/* 802A32E8 002A0228 81 83 00 00 */ lwz r12, 0(r3)
/* 802A32EC 002A022C 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 802A32F0 002A0230 7D 89 03 A6 */ mtctr r12
/* 802A32F4 002A0234 4E 80 04 21 */ bctrl
/* 802A32F8 002A0238 C0 03 00 08 */ lfs f0, 8(r3)
/* 802A32FC 002A023C D0 1F 02 20 */ stfs f0, 0x220(r31)
/* 802A3300 002A0240 C0 03 00 00 */ lfs f0, 0(r3)
/* 802A3304 002A0244 38 80 00 00 */ li r4, 0
/* 802A3308 002A0248 38 00 00 06 */ li r0, 6
/* 802A330C 002A024C 7C 09 03 A6 */ mtctr r0
lbl_802A3310:
/* 802A3310 002A0250 38 04 02 24 */ addi r0, r4, 0x224
/* 802A3314 002A0254 7C 1F 05 2E */ stfsx f0, r31, r0
/* 802A3318 002A0258 38 84 00 04 */ addi r4, r4, 4
/* 802A331C 002A025C 42 00 FF F4 */ bdnz lbl_802A3310
/* 802A3320 002A0260 C0 03 00 0C */ lfs f0, 0xc(r3)
/* 802A3324 002A0264 38 80 00 00 */ li r4, 0
/* 802A3328 002A0268 38 00 00 06 */ li r0, 6
/* 802A332C 002A026C 7C 09 03 A6 */ mtctr r0
lbl_802A3330:
/* 802A3330 002A0270 38 04 02 3C */ addi r0, r4, 0x23c
/* 802A3334 002A0274 7C 1F 05 2E */ stfsx f0, r31, r0
/* 802A3338 002A0278 38 84 00 04 */ addi r4, r4, 4
/* 802A333C 002A027C 42 00 FF F4 */ bdnz lbl_802A3330
/* 802A3340 002A0280 C0 03 00 04 */ lfs f0, 4(r3)
/* 802A3344 002A0284 38 80 00 00 */ li r4, 0
/* 802A3348 002A0288 38 00 00 06 */ li r0, 6
/* 802A334C 002A028C 7C 09 03 A6 */ mtctr r0
lbl_802A3350:
/* 802A3350 002A0290 38 04 02 54 */ addi r0, r4, 0x254
/* 802A3354 002A0294 7C 1F 05 2E */ stfsx f0, r31, r0
/* 802A3358 002A0298 38 84 00 04 */ addi r4, r4, 4
/* 802A335C 002A029C 42 00 FF F4 */ bdnz lbl_802A3350
/* 802A3360 002A02A0 C0 03 00 10 */ lfs f0, 0x10(r3)
/* 802A3364 002A02A4 38 60 00 00 */ li r3, 0
/* 802A3368 002A02A8 38 00 00 06 */ li r0, 6
/* 802A336C 002A02AC 7C 09 03 A6 */ mtctr r0
lbl_802A3370:
/* 802A3370 002A02B0 38 03 02 6C */ addi r0, r3, 0x26c
/* 802A3374 002A02B4 7C 1F 05 2E */ stfsx f0, r31, r0
/* 802A3378 002A02B8 38 63 00 04 */ addi r3, r3, 4
/* 802A337C 002A02BC 42 00 FF F4 */ bdnz lbl_802A3370
lbl_802A3380:
/* 802A3380 002A02C0 38 00 00 00 */ li r0, 0
/* 802A3384 002A02C4 98 1F 02 C5 */ stb r0, 0x2c5(r31)
/* 802A3388 002A02C8 38 7F 00 A8 */ addi r3, r31, 0xa8
/* 802A338C 002A02CC 80 9F 02 94 */ lwz r4, 0x294(r31)
/* 802A3390 002A02D0 38 A0 FF FF */ li r5, -1
/* 802A3394 002A02D4 4B FF 31 C9 */ bl JASAramStream_NS_prepare
/* 802A3398 002A02D8 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 802A339C 002A02DC 41 82 00 40 */ beq lbl_802A33DC
/* 802A33A0 002A02E0 38 00 00 02 */ li r0, 2
/* 802A33A4 002A02E4 90 1F 02 90 */ stw r0, 0x290(r31)
/* 802A33A8 002A02E8 48 00 00 34 */ b lbl_802A33DC
lbl_802A33AC:
/* 802A33AC 002A02EC 88 1F 02 C5 */ lbz r0, 0x2c5(r31)
/* 802A33B0 002A02F0 28 00 00 00 */ cmplwi r0, 0
/* 802A33B4 002A02F4 41 82 00 18 */ beq lbl_802A33CC
/* 802A33B8 002A02F8 38 00 00 00 */ li r0, 0
/* 802A33BC 002A02FC 98 1F 02 C5 */ stb r0, 0x2c5(r31)
/* 802A33C0 002A0300 38 00 00 03 */ li r0, 3
/* 802A33C4 002A0304 90 1F 02 90 */ stw r0, 0x290(r31)
/* 802A33C8 002A0308 48 00 00 14 */ b lbl_802A33DC
lbl_802A33CC:
/* 802A33CC 002A030C 4B FF F2 A1 */ bl JAISound_NS_increasePrepareCount_JAISound_
/* 802A33D0 002A0310 48 00 00 0C */ b lbl_802A33DC
lbl_802A33D4:
/* 802A33D4 002A0314 38 60 00 01 */ li r3, 1
/* 802A33D8 002A0318 48 00 00 08 */ b lbl_802A33E0
lbl_802A33DC:
/* 802A33DC 002A031C 38 60 00 00 */ li r3, 0
lbl_802A33E0:
/* 802A33E0 002A0320 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 802A33E4 002A0324 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802A33E8 002A0328 7C 08 03 A6 */ mtlr r0
/* 802A33EC 002A032C 38 21 00 20 */ addi r1, r1, 0x20
/* 802A33F0 002A0330 4E 80 00 20 */ blr
.global JAIStream_NS_prepare_
JAIStream_NS_prepare_:
/* 802A33F4 002A0334 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802A33F8 002A0338 7C 08 02 A6 */ mflr r0
/* 802A33FC 002A033C 90 01 00 14 */ stw r0, 0x14(r1)
/* 802A3400 002A0340 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802A3404 002A0344 7C 7F 1B 78 */ mr r31, r3
/* 802A3408 002A0348 88 03 02 C6 */ lbz r0, 0x2c6(r3)
/* 802A340C 002A034C 28 00 00 00 */ cmplwi r0, 0
/* 802A3410 002A0350 40 82 00 74 */ bne lbl_802A3484
/* 802A3414 002A0354 88 1F 00 1E */ lbz r0, 0x1e(r31)
/* 802A3418 002A0358 2C 00 00 04 */ cmpwi r0, 4
/* 802A341C 002A035C 41 82 00 5C */ beq lbl_802A3478
/* 802A3420 002A0360 40 80 00 64 */ bge lbl_802A3484
/* 802A3424 002A0364 2C 00 00 01 */ cmpwi r0, 1
/* 802A3428 002A0368 41 82 00 38 */ beq lbl_802A3460
/* 802A342C 002A036C 40 80 00 58 */ bge lbl_802A3484
/* 802A3430 002A0370 2C 00 00 00 */ cmpwi r0, 0
/* 802A3434 002A0374 40 80 00 0C */ bge lbl_802A3440
/* 802A3438 002A0378 48 00 00 4C */ b lbl_802A3484
/* 802A343C 002A037C 48 00 00 48 */ b lbl_802A3484
lbl_802A3440:
/* 802A3440 002A0380 4B FF FD F1 */ bl JAIStream_NS_prepare_prepareStream_
/* 802A3444 002A0384 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 802A3448 002A0388 41 82 00 3C */ beq lbl_802A3484
/* 802A344C 002A038C 38 00 00 05 */ li r0, 5
/* 802A3450 002A0390 98 1F 00 1E */ stb r0, 0x1e(r31)
/* 802A3454 002A0394 7F E3 FB 78 */ mr r3, r31
/* 802A3458 002A0398 48 00 00 41 */ bl JAIStream_NS_prepare_startStream_
/* 802A345C 002A039C 48 00 00 28 */ b lbl_802A3484
lbl_802A3460:
/* 802A3460 002A03A0 4B FF FD D1 */ bl JAIStream_NS_prepare_prepareStream_
/* 802A3464 002A03A4 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 802A3468 002A03A8 41 82 00 1C */ beq lbl_802A3484
/* 802A346C 002A03AC 38 00 00 03 */ li r0, 3
/* 802A3470 002A03B0 98 1F 00 1E */ stb r0, 0x1e(r31)
/* 802A3474 002A03B4 48 00 00 10 */ b lbl_802A3484
lbl_802A3478:
/* 802A3478 002A03B8 38 00 00 05 */ li r0, 5
/* 802A347C 002A03BC 98 1F 00 1E */ stb r0, 0x1e(r31)
/* 802A3480 002A03C0 48 00 00 19 */ bl JAIStream_NS_prepare_startStream_
lbl_802A3484:
/* 802A3484 002A03C4 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802A3488 002A03C8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802A348C 002A03CC 7C 08 03 A6 */ mtlr r0
/* 802A3490 002A03D0 38 21 00 10 */ addi r1, r1, 0x10
/* 802A3494 002A03D4 4E 80 00 20 */ blr
.global JAIStream_NS_prepare_startStream_
JAIStream_NS_prepare_startStream_:
/* 802A3498 002A03D8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802A349C 002A03DC 7C 08 02 A6 */ mflr r0
/* 802A34A0 002A03E0 90 01 00 14 */ stw r0, 0x14(r1)
/* 802A34A4 002A03E4 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802A34A8 002A03E8 7C 7F 1B 78 */ mr r31, r3
/* 802A34AC 002A03EC 38 7F 00 A8 */ addi r3, r31, 0xa8
/* 802A34B0 002A03F0 4B FF 31 69 */ bl JASAramStream_NS_start
/* 802A34B4 002A03F4 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 802A34B8 002A03F8 41 82 00 18 */ beq lbl_802A34D0
/* 802A34BC 002A03FC 38 00 00 00 */ li r0, 0
/* 802A34C0 002A0400 98 1F 02 C6 */ stb r0, 0x2c6(r31)
/* 802A34C4 002A0404 98 1F 02 C4 */ stb r0, 0x2c4(r31)
/* 802A34C8 002A0408 38 00 00 04 */ li r0, 4
/* 802A34CC 002A040C 90 1F 02 90 */ stw r0, 0x290(r31)
lbl_802A34D0:
/* 802A34D0 002A0410 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802A34D4 002A0414 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802A34D8 002A0418 7C 08 03 A6 */ mtlr r0
/* 802A34DC 002A041C 38 21 00 10 */ addi r1, r1, 0x10
/* 802A34E0 002A0420 4E 80 00 20 */ blr
.global JAIStream_NS_JAIStreamMgr_mixOut_
JAIStream_NS_JAIStreamMgr_mixOut_:
/* 802A34E4 002A0424 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 802A34E8 002A0428 7C 08 02 A6 */ mflr r0
/* 802A34EC 002A042C 90 01 00 44 */ stw r0, 0x44(r1)
/* 802A34F0 002A0430 39 61 00 40 */ addi r11, r1, 0x40
/* 802A34F4 002A0434 48 0B EC E1 */ bl func_803621D4
/* 802A34F8 002A0438 7C 7E 1B 78 */ mr r30, r3
/* 802A34FC 002A043C 7C BF 2B 78 */ mr r31, r5
/* 802A3500 002A0440 C0 02 BD F0 */ lfs f0, lbl_804557F0-_SDA2_BASE_(r2)
/* 802A3504 002A0444 D0 01 00 08 */ stfs f0, 8(r1)
/* 802A3508 002A0448 D0 01 00 10 */ stfs f0, 0x10(r1)
/* 802A350C 002A044C C0 22 BD F4 */ lfs f1, lbl_804557F4-_SDA2_BASE_(r2)
/* 802A3510 002A0450 D0 21 00 0C */ stfs f1, 0xc(r1)
/* 802A3514 002A0454 C0 02 BD F8 */ lfs f0, lbl_804557F8-_SDA2_BASE_(r2)
/* 802A3518 002A0458 D0 01 00 14 */ stfs f0, 0x14(r1)
/* 802A351C 002A045C D0 21 00 18 */ stfs f1, 0x18(r1)
/* 802A3520 002A0460 38 7E 00 3C */ addi r3, r30, 0x3c
/* 802A3524 002A0464 38 A1 00 08 */ addi r5, r1, 8
/* 802A3528 002A0468 38 C0 00 00 */ li r6, 0
/* 802A352C 002A046C 88 1E 00 1C */ lbz r0, 0x1c(r30)
/* 802A3530 002A0470 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 802A3534 002A0474 40 82 00 10 */ bne lbl_802A3544
/* 802A3538 002A0478 88 1F 00 00 */ lbz r0, 0(r31)
/* 802A353C 002A047C 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 802A3540 002A0480 41 82 00 08 */ beq lbl_802A3548
lbl_802A3544:
/* 802A3544 002A0484 38 C0 00 01 */ li r6, 1
lbl_802A3548:
/* 802A3548 002A0488 54 C0 06 3F */ clrlwi. r0, r6, 0x18
/* 802A354C 002A048C 41 82 00 0C */ beq lbl_802A3558
/* 802A3550 002A0490 C0 22 BD F4 */ lfs f1, lbl_804557F4-_SDA2_BASE_(r2)
/* 802A3554 002A0494 48 00 00 08 */ b lbl_802A355C
lbl_802A3558:
/* 802A3558 002A0498 C0 3E 00 24 */ lfs f1, 0x24(r30)
lbl_802A355C:
/* 802A355C 002A049C 4B FF ED 25 */ bl JAISoundParams_NS_mixOutAll
/* 802A3560 002A04A0 80 7E 02 BC */ lwz r3, 0x2bc(r30)
/* 802A3564 002A04A4 28 03 00 00 */ cmplwi r3, 0
/* 802A3568 002A04A8 41 82 00 1C */ beq lbl_802A3584
/* 802A356C 002A04AC 7F C4 F3 78 */ mr r4, r30
/* 802A3570 002A04B0 38 A1 00 08 */ addi r5, r1, 8
/* 802A3574 002A04B4 81 83 00 00 */ lwz r12, 0(r3)
/* 802A3578 002A04B8 81 8C 00 10 */ lwz r12, 0x10(r12)
/* 802A357C 002A04BC 7D 89 03 A6 */ mtctr r12
/* 802A3580 002A04C0 4E 80 04 21 */ bctrl
lbl_802A3584:
/* 802A3584 002A04C4 3B A1 00 08 */ addi r29, r1, 8
/* 802A3588 002A04C8 80 1E 00 08 */ lwz r0, 8(r30)
/* 802A358C 002A04CC 28 00 00 00 */ cmplwi r0, 0
/* 802A3590 002A04D0 41 82 00 80 */ beq lbl_802A3610
/* 802A3594 002A04D4 80 1E 00 0C */ lwz r0, 0xc(r30)
/* 802A3598 002A04D8 28 00 00 00 */ cmplwi r0, 0
/* 802A359C 002A04DC 41 82 00 74 */ beq lbl_802A3610
/* 802A35A0 002A04E0 3B 80 00 00 */ li r28, 0
/* 802A35A4 002A04E4 48 00 00 50 */ b lbl_802A35F4
lbl_802A35A8:
/* 802A35A8 002A04E8 80 7E 00 08 */ lwz r3, 8(r30)
/* 802A35AC 002A04EC 7F 84 E3 78 */ mr r4, r28
/* 802A35B0 002A04F0 81 83 00 00 */ lwz r12, 0(r3)
/* 802A35B4 002A04F4 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 802A35B8 002A04F8 7D 89 03 A6 */ mtctr r12
/* 802A35BC 002A04FC 4E 80 04 21 */ bctrl
/* 802A35C0 002A0500 7C 7B 1B 79 */ or. r27, r3, r3
/* 802A35C4 002A0504 41 82 00 2C */ beq lbl_802A35F0
/* 802A35C8 002A0508 80 7E 00 0C */ lwz r3, 0xc(r30)
/* 802A35CC 002A050C 38 81 00 08 */ addi r4, r1, 8
/* 802A35D0 002A0510 80 BE 00 08 */ lwz r5, 8(r30)
/* 802A35D4 002A0514 7F 86 E3 78 */ mr r6, r28
/* 802A35D8 002A0518 81 83 00 00 */ lwz r12, 0(r3)
/* 802A35DC 002A051C 81 8C 00 1C */ lwz r12, 0x1c(r12)
/* 802A35E0 002A0520 7D 89 03 A6 */ mtctr r12
/* 802A35E4 002A0524 4E 80 04 21 */ bctrl
/* 802A35E8 002A0528 7F 7D DB 78 */ mr r29, r27
/* 802A35EC 002A052C 48 00 00 24 */ b lbl_802A3610
lbl_802A35F0:
/* 802A35F0 002A0530 3B 9C 00 01 */ addi r28, r28, 1
lbl_802A35F4:
/* 802A35F4 002A0534 80 7E 00 0C */ lwz r3, 0xc(r30)
/* 802A35F8 002A0538 81 83 00 00 */ lwz r12, 0(r3)
/* 802A35FC 002A053C 81 8C 00 10 */ lwz r12, 0x10(r12)
/* 802A3600 002A0540 7D 89 03 A6 */ mtctr r12
/* 802A3604 002A0544 4E 80 04 21 */ bctrl
/* 802A3608 002A0548 7C 1C 18 00 */ cmpw r28, r3
/* 802A360C 002A054C 41 80 FF 9C */ blt lbl_802A35A8
lbl_802A3610:
/* 802A3610 002A0550 38 60 00 00 */ li r3, 0
/* 802A3614 002A0554 38 00 00 06 */ li r0, 6
/* 802A3618 002A0558 7C 09 03 A6 */ mtctr r0
lbl_802A361C:
/* 802A361C 002A055C C0 1D 00 08 */ lfs f0, 8(r29)
/* 802A3620 002A0560 D0 1E 02 20 */ stfs f0, 0x220(r30)
/* 802A3624 002A0564 7C BE 1A 14 */ add r5, r30, r3
/* 802A3628 002A0568 80 85 02 A0 */ lwz r4, 0x2a0(r5)
/* 802A362C 002A056C 28 04 00 00 */ cmplwi r4, 0
/* 802A3630 002A0570 41 82 00 5C */ beq lbl_802A368C
/* 802A3634 002A0574 C0 24 00 00 */ lfs f1, 0(r4)
/* 802A3638 002A0578 C0 1D 00 00 */ lfs f0, 0(r29)
/* 802A363C 002A057C EC 01 00 32 */ fmuls f0, f1, f0
/* 802A3640 002A0580 D0 05 02 24 */ stfs f0, 0x224(r5)
/* 802A3644 002A0584 80 85 02 A0 */ lwz r4, 0x2a0(r5)
/* 802A3648 002A0588 C0 24 00 0C */ lfs f1, 0xc(r4)
/* 802A364C 002A058C C0 1D 00 0C */ lfs f0, 0xc(r29)
/* 802A3650 002A0590 EC 21 00 2A */ fadds f1, f1, f0
/* 802A3654 002A0594 C0 02 BD F8 */ lfs f0, lbl_804557F8-_SDA2_BASE_(r2)
/* 802A3658 002A0598 EC 01 00 28 */ fsubs f0, f1, f0
/* 802A365C 002A059C D0 05 02 3C */ stfs f0, 0x23c(r5)
/* 802A3660 002A05A0 80 85 02 A0 */ lwz r4, 0x2a0(r5)
/* 802A3664 002A05A4 C0 24 00 04 */ lfs f1, 4(r4)
/* 802A3668 002A05A8 C0 1D 00 04 */ lfs f0, 4(r29)
/* 802A366C 002A05AC EC 01 00 2A */ fadds f0, f1, f0
/* 802A3670 002A05B0 D0 05 02 54 */ stfs f0, 0x254(r5)
/* 802A3674 002A05B4 80 85 02 A0 */ lwz r4, 0x2a0(r5)
/* 802A3678 002A05B8 C0 24 00 10 */ lfs f1, 0x10(r4)
/* 802A367C 002A05BC C0 1D 00 10 */ lfs f0, 0x10(r29)
/* 802A3680 002A05C0 EC 01 00 2A */ fadds f0, f1, f0
/* 802A3684 002A05C4 D0 05 02 6C */ stfs f0, 0x26c(r5)
/* 802A3688 002A05C8 48 00 00 24 */ b lbl_802A36AC
lbl_802A368C:
/* 802A368C 002A05CC C0 1D 00 00 */ lfs f0, 0(r29)
/* 802A3690 002A05D0 D0 05 02 24 */ stfs f0, 0x224(r5)
/* 802A3694 002A05D4 C0 1D 00 0C */ lfs f0, 0xc(r29)
/* 802A3698 002A05D8 D0 05 02 3C */ stfs f0, 0x23c(r5)
/* 802A369C 002A05DC C0 1D 00 04 */ lfs f0, 4(r29)
/* 802A36A0 002A05E0 D0 05 02 54 */ stfs f0, 0x254(r5)
/* 802A36A4 002A05E4 C0 1D 00 10 */ lfs f0, 0x10(r29)
/* 802A36A8 002A05E8 D0 05 02 6C */ stfs f0, 0x26c(r5)
lbl_802A36AC:
/* 802A36AC 002A05EC 38 63 00 04 */ addi r3, r3, 4
/* 802A36B0 002A05F0 42 00 FF 6C */ bdnz lbl_802A361C
/* 802A36B4 002A05F4 7F C3 F3 78 */ mr r3, r30
/* 802A36B8 002A05F8 4B FF FD 3D */ bl JAIStream_NS_prepare_
/* 802A36BC 002A05FC 80 1E 02 90 */ lwz r0, 0x290(r30)
/* 802A36C0 002A0600 2C 00 00 04 */ cmpwi r0, 4
/* 802A36C4 002A0604 40 82 00 44 */ bne lbl_802A3708
/* 802A36C8 002A0608 3B A0 00 00 */ li r29, 0
/* 802A36CC 002A060C 88 1E 00 1C */ lbz r0, 0x1c(r30)
/* 802A36D0 002A0610 54 00 D7 FF */ rlwinm. r0, r0, 0x1a, 0x1f, 0x1f
/* 802A36D4 002A0614 40 82 00 10 */ bne lbl_802A36E4
/* 802A36D8 002A0618 88 1F 00 00 */ lbz r0, 0(r31)
/* 802A36DC 002A061C 54 00 D7 FF */ rlwinm. r0, r0, 0x1a, 0x1f, 0x1f
/* 802A36E0 002A0620 41 82 00 08 */ beq lbl_802A36E8
lbl_802A36E4:
/* 802A36E4 002A0624 3B A0 00 01 */ li r29, 1
lbl_802A36E8:
/* 802A36E8 002A0628 57 A3 06 3E */ clrlwi r3, r29, 0x18
/* 802A36EC 002A062C 88 1E 02 C4 */ lbz r0, 0x2c4(r30)
/* 802A36F0 002A0630 7C 03 00 40 */ cmplw r3, r0
/* 802A36F4 002A0634 41 82 00 14 */ beq lbl_802A3708
/* 802A36F8 002A0638 38 7E 00 A8 */ addi r3, r30, 0xa8
/* 802A36FC 002A063C 7F A4 EB 78 */ mr r4, r29
/* 802A3700 002A0640 4B FF 2F 85 */ bl JASAramStream_NS_pause
/* 802A3704 002A0644 9B BE 02 C4 */ stb r29, 0x2c4(r30)
lbl_802A3708:
/* 802A3708 002A0648 39 61 00 40 */ addi r11, r1, 0x40
/* 802A370C 002A064C 48 0B EB 15 */ bl func_80362220
/* 802A3710 002A0650 80 01 00 44 */ lwz r0, 0x44(r1)
/* 802A3714 002A0654 7C 08 03 A6 */ mtlr r0
/* 802A3718 002A0658 38 21 00 40 */ addi r1, r1, 0x40
/* 802A371C 002A065C 4E 80 00 20 */ blr
.global JAIStream_NS_die_JAIStream_
JAIStream_NS_die_JAIStream_:
/* 802A3720 002A0660 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802A3724 002A0664 7C 08 02 A6 */ mflr r0
/* 802A3728 002A0668 90 01 00 24 */ stw r0, 0x24(r1)
/* 802A372C 002A066C 39 61 00 20 */ addi r11, r1, 0x20
/* 802A3730 002A0670 48 0B EA A5 */ bl func_803621D4
/* 802A3734 002A0674 7C 7D 1B 78 */ mr r29, r3
/* 802A3738 002A0678 4B FF EE B9 */ bl JAISound_NS_die_JAISound_
/* 802A373C 002A067C 3B C0 00 00 */ li r30, 0
/* 802A3740 002A0680 3B 80 00 00 */ li r28, 0
lbl_802A3744:
/* 802A3744 002A0684 3B FC 02 A0 */ addi r31, r28, 0x2a0
/* 802A3748 002A0688 7F 7D F8 2E */ lwzx r27, r29, r31
/* 802A374C 002A068C 28 1B 00 00 */ cmplwi r27, 0
/* 802A3750 002A0690 41 82 00 5C */ beq lbl_802A37AC
/* 802A3754 002A0694 88 0D 8D 98 */ lbz r0, lbl_80451318-_SDA_BASE_(r13)
/* 802A3758 002A0698 7C 00 07 75 */ extsb. r0, r0
/* 802A375C 002A069C 40 82 00 34 */ bne lbl_802A3790
/* 802A3760 002A06A0 3C 60 80 43 */ lis r3, lbl_804340B0@ha
/* 802A3764 002A06A4 38 63 40 B0 */ addi r3, r3, lbl_804340B0@l
/* 802A3768 002A06A8 4B FE D0 E1 */ bl JASGenericMemPool
/* 802A376C 002A06AC 3C 60 80 43 */ lis r3, lbl_804340B0@ha
/* 802A3770 002A06B0 38 63 40 B0 */ addi r3, r3, lbl_804340B0@l
.global JASMemPool_NS_dtor_X1_
/* 802A3774 002A06B4 3C 80 80 2A */ lis r4, JASMemPool_NS_dtor_X1_@ha
.global JASMemPool_NS_dtor_X1_
/* 802A3778 002A06B8 38 84 12 68 */ addi r4, r4, JASMemPool_NS_dtor_X1_@l
/* 802A377C 002A06BC 3C A0 80 43 */ lis r5, lbl_804340E0@ha
/* 802A3780 002A06C0 38 A5 40 E0 */ addi r5, r5, lbl_804340E0@l
/* 802A3784 002A06C4 48 0B E4 A1 */ bl func_80361C24
/* 802A3788 002A06C8 38 00 00 01 */ li r0, 1
/* 802A378C 002A06CC 98 0D 8D 98 */ stb r0, lbl_80451318-_SDA_BASE_(r13)
lbl_802A3790:
/* 802A3790 002A06D0 3C 60 80 43 */ lis r3, lbl_804340B0@ha
/* 802A3794 002A06D4 38 63 40 B0 */ addi r3, r3, lbl_804340B0@l
/* 802A3798 002A06D8 7F 64 DB 78 */ mr r4, r27
/* 802A379C 002A06DC 38 A0 00 64 */ li r5, 0x64
/* 802A37A0 002A06E0 4B FE D1 F5 */ bl JASGenericMemPool_NS_free
/* 802A37A4 002A06E4 38 00 00 00 */ li r0, 0
/* 802A37A8 002A06E8 7C 1D F9 2E */ stwx r0, r29, r31
lbl_802A37AC:
/* 802A37AC 002A06EC 3B DE 00 01 */ addi r30, r30, 1
/* 802A37B0 002A06F0 2C 1E 00 06 */ cmpwi r30, 6
/* 802A37B4 002A06F4 3B 9C 00 04 */ addi r28, r28, 4
/* 802A37B8 002A06F8 41 80 FF 8C */ blt lbl_802A3744
/* 802A37BC 002A06FC 80 9D 02 BC */ lwz r4, 0x2bc(r29)
/* 802A37C0 002A0700 28 04 00 00 */ cmplwi r4, 0
/* 802A37C4 002A0704 41 82 00 20 */ beq lbl_802A37E4
/* 802A37C8 002A0708 80 7D 02 C0 */ lwz r3, 0x2c0(r29)
/* 802A37CC 002A070C 81 83 00 00 */ lwz r12, 0(r3)
/* 802A37D0 002A0710 81 8C 00 10 */ lwz r12, 0x10(r12)
/* 802A37D4 002A0714 7D 89 03 A6 */ mtctr r12
/* 802A37D8 002A0718 4E 80 04 21 */ bctrl
/* 802A37DC 002A071C 38 00 00 00 */ li r0, 0
/* 802A37E0 002A0720 90 1D 02 BC */ stw r0, 0x2bc(r29)
lbl_802A37E4:
/* 802A37E4 002A0724 39 61 00 20 */ addi r11, r1, 0x20
/* 802A37E8 002A0728 48 0B EA 39 */ bl func_80362220
/* 802A37EC 002A072C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802A37F0 002A0730 7C 08 03 A6 */ mtlr r0
/* 802A37F4 002A0734 38 21 00 20 */ addi r1, r1, 0x20
/* 802A37F8 002A0738 4E 80 00 20 */ blr
/* 802A37FC 002A073C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802A3800 002A0740 7C 08 02 A6 */ mflr r0
/* 802A3804 002A0744 90 01 00 14 */ stw r0, 0x14(r1)
/* 802A3808 002A0748 88 03 02 C6 */ lbz r0, 0x2c6(r3)
/* 802A380C 002A074C 28 00 00 00 */ cmplwi r0, 0
/* 802A3810 002A0750 41 82 00 10 */ beq lbl_802A3820
/* 802A3814 002A0754 4B FF FF 0D */ bl JAIStream_NS_die_JAIStream_
/* 802A3818 002A0758 38 60 00 01 */ li r3, 1
/* 802A381C 002A075C 48 00 00 60 */ b lbl_802A387C
lbl_802A3820:
/* 802A3820 002A0760 80 03 02 90 */ lwz r0, 0x290(r3)
/* 802A3824 002A0764 2C 00 00 04 */ cmpwi r0, 4
/* 802A3828 002A0768 41 82 00 3C */ beq lbl_802A3864
/* 802A382C 002A076C 40 80 00 4C */ bge lbl_802A3878
/* 802A3830 002A0770 2C 00 00 02 */ cmpwi r0, 2
/* 802A3834 002A0774 40 80 00 1C */ bge lbl_802A3850
/* 802A3838 002A0778 2C 00 00 00 */ cmpwi r0, 0
/* 802A383C 002A077C 40 80 00 08 */ bge lbl_802A3844
/* 802A3840 002A0780 48 00 00 38 */ b lbl_802A3878
lbl_802A3844:
/* 802A3844 002A0784 4B FF FE DD */ bl JAIStream_NS_die_JAIStream_
/* 802A3848 002A0788 38 60 00 01 */ li r3, 1
/* 802A384C 002A078C 48 00 00 30 */ b lbl_802A387C
lbl_802A3850:
/* 802A3850 002A0790 38 00 00 05 */ li r0, 5
/* 802A3854 002A0794 90 03 02 90 */ stw r0, 0x290(r3)
/* 802A3858 002A0798 38 63 00 A8 */ addi r3, r3, 0xa8
/* 802A385C 002A079C 4B FF 2E 71 */ bl JASAramStream_NS_cancel
/* 802A3860 002A07A0 48 00 00 18 */ b lbl_802A3878
lbl_802A3864:
/* 802A3864 002A07A4 38 00 00 06 */ li r0, 6
/* 802A3868 002A07A8 90 03 02 90 */ stw r0, 0x290(r3)
/* 802A386C 002A07AC 38 63 00 A8 */ addi r3, r3, 0xa8
/* 802A3870 002A07B0 38 80 00 0A */ li r4, 0xa
/* 802A3874 002A07B4 4B FF 2D D9 */ bl JASAramStream_NS_stop
lbl_802A3878:
/* 802A3878 002A07B8 38 60 00 00 */ li r3, 0
lbl_802A387C:
/* 802A387C 002A07BC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802A3880 002A07C0 7C 08 03 A6 */ mtlr r0
/* 802A3884 002A07C4 38 21 00 10 */ addi r1, r1, 0x10
/* 802A3888 002A07C8 4E 80 00 20 */ blr
.global JAIStream_NS_JAIStreamMgr_calc_
JAIStream_NS_JAIStreamMgr_calc_:
/* 802A388C 002A07CC 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802A3890 002A07D0 7C 08 02 A6 */ mflr r0
/* 802A3894 002A07D4 90 01 00 24 */ stw r0, 0x24(r1)
/* 802A3898 002A07D8 39 61 00 20 */ addi r11, r1, 0x20
/* 802A389C 002A07DC 48 0B E9 41 */ bl func_803621DC
/* 802A38A0 002A07E0 7C 7D 1B 78 */ mr r29, r3
/* 802A38A4 002A07E4 88 03 02 C6 */ lbz r0, 0x2c6(r3)
/* 802A38A8 002A07E8 28 00 00 00 */ cmplwi r0, 0
/* 802A38AC 002A07EC 41 82 00 28 */ beq lbl_802A38D4
/* 802A38B0 002A07F0 38 60 00 00 */ li r3, 0
/* 802A38B4 002A07F4 90 7D 02 90 */ stw r3, 0x290(r29)
/* 802A38B8 002A07F8 88 1D 00 1F */ lbz r0, 0x1f(r29)
/* 802A38BC 002A07FC 50 60 1F 38 */ rlwimi r0, r3, 3, 0x1c, 0x1c
/* 802A38C0 002A0800 98 1D 00 1F */ stb r0, 0x1f(r29)
/* 802A38C4 002A0804 38 60 00 01 */ li r3, 1
/* 802A38C8 002A0808 88 1D 00 1F */ lbz r0, 0x1f(r29)
/* 802A38CC 002A080C 50 60 3E 30 */ rlwimi r0, r3, 7, 0x18, 0x18
/* 802A38D0 002A0810 98 1D 00 1F */ stb r0, 0x1f(r29)
lbl_802A38D4:
/* 802A38D4 002A0814 7F A3 EB 78 */ mr r3, r29
/* 802A38D8 002A0818 4B FF ED E1 */ bl JAISound_NS_calc_JAISound_
/* 802A38DC 002A081C 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 802A38E0 002A0820 41 82 00 50 */ beq lbl_802A3930
/* 802A38E4 002A0824 3B C0 00 00 */ li r30, 0
/* 802A38E8 002A0828 3B E0 00 00 */ li r31, 0
lbl_802A38EC:
/* 802A38EC 002A082C 38 1F 02 A0 */ addi r0, r31, 0x2a0
/* 802A38F0 002A0830 7C 7D 00 2E */ lwzx r3, r29, r0
/* 802A38F4 002A0834 28 03 00 00 */ cmplwi r3, 0
/* 802A38F8 002A0838 41 82 00 08 */ beq lbl_802A3900
/* 802A38FC 002A083C 4B FF F2 81 */ bl JAISoundChild_NS_calc
lbl_802A3900:
/* 802A3900 002A0840 3B DE 00 01 */ addi r30, r30, 1
/* 802A3904 002A0844 2C 1E 00 06 */ cmpwi r30, 6
/* 802A3908 002A0848 3B FF 00 04 */ addi r31, r31, 4
/* 802A390C 002A084C 41 80 FF E0 */ blt lbl_802A38EC
/* 802A3910 002A0850 80 7D 02 BC */ lwz r3, 0x2bc(r29)
/* 802A3914 002A0854 28 03 00 00 */ cmplwi r3, 0
/* 802A3918 002A0858 41 82 00 18 */ beq lbl_802A3930
/* 802A391C 002A085C 7F A4 EB 78 */ mr r4, r29
/* 802A3920 002A0860 81 83 00 00 */ lwz r12, 0(r3)
/* 802A3924 002A0864 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 802A3928 002A0868 7D 89 03 A6 */ mtctr r12
/* 802A392C 002A086C 4E 80 04 21 */ bctrl
lbl_802A3930:
/* 802A3930 002A0870 39 61 00 20 */ addi r11, r1, 0x20
/* 802A3934 002A0874 48 0B E8 F5 */ bl func_80362228
/* 802A3938 002A0878 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802A393C 002A087C 7C 08 03 A6 */ mtlr r0
/* 802A3940 002A0880 38 21 00 20 */ addi r1, r1, 0x20
/* 802A3944 002A0884 4E 80 00 20 */ blr
/* 802A3948 002A0888 38 60 00 06 */ li r3, 6
/* 802A394C 002A088C 4E 80 00 20 */ blr
/* 802A3950 002A0890 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802A3954 002A0894 7C 08 02 A6 */ mflr r0
/* 802A3958 002A0898 90 01 00 14 */ stw r0, 0x14(r1)
/* 802A395C 002A089C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802A3960 002A08A0 93 C1 00 08 */ stw r30, 8(r1)
/* 802A3964 002A08A4 54 80 10 3A */ slwi r0, r4, 2
/* 802A3968 002A08A8 7F C3 02 14 */ add r30, r3, r0
/* 802A396C 002A08AC 80 1E 02 A0 */ lwz r0, 0x2a0(r30)
/* 802A3970 002A08B0 28 00 00 00 */ cmplwi r0, 0
/* 802A3974 002A08B4 40 82 00 94 */ bne lbl_802A3A08
/* 802A3978 002A08B8 88 0D 8D 98 */ lbz r0, lbl_80451318-_SDA_BASE_(r13)
/* 802A397C 002A08BC 7C 00 07 75 */ extsb. r0, r0
/* 802A3980 002A08C0 40 82 00 34 */ bne lbl_802A39B4
/* 802A3984 002A08C4 3C 60 80 43 */ lis r3, lbl_804340B0@ha
/* 802A3988 002A08C8 38 63 40 B0 */ addi r3, r3, lbl_804340B0@l
/* 802A398C 002A08CC 4B FE CE BD */ bl JASGenericMemPool
/* 802A3990 002A08D0 3C 60 80 43 */ lis r3, lbl_804340B0@ha
/* 802A3994 002A08D4 38 63 40 B0 */ addi r3, r3, lbl_804340B0@l
.global JASMemPool_NS_dtor_X1_
/* 802A3998 002A08D8 3C 80 80 2A */ lis r4, JASMemPool_NS_dtor_X1_@ha
.global JASMemPool_NS_dtor_X1_
/* 802A399C 002A08DC 38 84 12 68 */ addi r4, r4, JASMemPool_NS_dtor_X1_@l
/* 802A39A0 002A08E0 3C A0 80 43 */ lis r5, lbl_804340E0@ha
/* 802A39A4 002A08E4 38 A5 40 E0 */ addi r5, r5, lbl_804340E0@l
/* 802A39A8 002A08E8 48 0B E2 7D */ bl func_80361C24
/* 802A39AC 002A08EC 38 00 00 01 */ li r0, 1
/* 802A39B0 002A08F0 98 0D 8D 98 */ stb r0, lbl_80451318-_SDA_BASE_(r13)
lbl_802A39B4:
/* 802A39B4 002A08F4 3C 60 80 43 */ lis r3, lbl_804340B0@ha
/* 802A39B8 002A08F8 38 63 40 B0 */ addi r3, r3, lbl_804340B0@l
/* 802A39BC 002A08FC 38 80 00 64 */ li r4, 0x64
/* 802A39C0 002A0900 4B FE CF 89 */ bl JASGenericMemPool_NS_alloc
/* 802A39C4 002A0904 7C 7F 1B 79 */ or. r31, r3, r3
/* 802A39C8 002A0908 41 82 00 3C */ beq lbl_802A3A04
/* 802A39CC 002A090C C0 42 BD F0 */ lfs f2, lbl_804557F0-_SDA2_BASE_(r2)
/* 802A39D0 002A0910 D0 5F 00 00 */ stfs f2, 0(r31)
/* 802A39D4 002A0914 D0 5F 00 08 */ stfs f2, 8(r31)
/* 802A39D8 002A0918 C0 22 BD F4 */ lfs f1, lbl_804557F4-_SDA2_BASE_(r2)
/* 802A39DC 002A091C D0 3F 00 04 */ stfs f1, 4(r31)
/* 802A39E0 002A0920 C0 02 BD F8 */ lfs f0, lbl_804557F8-_SDA2_BASE_(r2)
/* 802A39E4 002A0924 D0 1F 00 0C */ stfs f0, 0xc(r31)
/* 802A39E8 002A0928 D0 3F 00 10 */ stfs f1, 0x10(r31)
/* 802A39EC 002A092C D0 5F 00 50 */ stfs f2, 0x50(r31)
/* 802A39F0 002A0930 D0 5F 00 58 */ stfs f2, 0x58(r31)
/* 802A39F4 002A0934 D0 3F 00 54 */ stfs f1, 0x54(r31)
/* 802A39F8 002A0938 D0 1F 00 5C */ stfs f0, 0x5c(r31)
/* 802A39FC 002A093C D0 3F 00 60 */ stfs f1, 0x60(r31)
/* 802A3A00 002A0940 4B FF F0 B1 */ bl JAISoundChild_NS_init
lbl_802A3A04:
/* 802A3A04 002A0944 93 FE 02 A0 */ stw r31, 0x2a0(r30)
lbl_802A3A08:
/* 802A3A08 002A0948 80 7E 02 A0 */ lwz r3, 0x2a0(r30)
/* 802A3A0C 002A094C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802A3A10 002A0950 83 C1 00 08 */ lwz r30, 8(r1)
/* 802A3A14 002A0954 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802A3A18 002A0958 7C 08 03 A6 */ mtlr r0
/* 802A3A1C 002A095C 38 21 00 10 */ addi r1, r1, 0x10
/* 802A3A20 002A0960 4E 80 00 20 */ blr
/* 802A3A24 002A0964 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802A3A28 002A0968 7C 08 02 A6 */ mflr r0
/* 802A3A2C 002A096C 90 01 00 14 */ stw r0, 0x14(r1)
/* 802A3A30 002A0970 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802A3A34 002A0974 93 C1 00 08 */ stw r30, 8(r1)
/* 802A3A38 002A0978 54 80 10 3A */ slwi r0, r4, 2
/* 802A3A3C 002A097C 7F C3 02 14 */ add r30, r3, r0
/* 802A3A40 002A0980 83 FE 02 A0 */ lwz r31, 0x2a0(r30)
/* 802A3A44 002A0984 28 1F 00 00 */ cmplwi r31, 0
/* 802A3A48 002A0988 41 82 00 5C */ beq lbl_802A3AA4
/* 802A3A4C 002A098C 88 0D 8D 98 */ lbz r0, lbl_80451318-_SDA_BASE_(r13)
/* 802A3A50 002A0990 7C 00 07 75 */ extsb. r0, r0
/* 802A3A54 002A0994 40 82 00 34 */ bne lbl_802A3A88
/* 802A3A58 002A0998 3C 60 80 43 */ lis r3, lbl_804340B0@ha
/* 802A3A5C 002A099C 38 63 40 B0 */ addi r3, r3, lbl_804340B0@l
/* 802A3A60 002A09A0 4B FE CD E9 */ bl JASGenericMemPool
/* 802A3A64 002A09A4 3C 60 80 43 */ lis r3, lbl_804340B0@ha
/* 802A3A68 002A09A8 38 63 40 B0 */ addi r3, r3, lbl_804340B0@l
.global JASMemPool_NS_dtor_X1_
/* 802A3A6C 002A09AC 3C 80 80 2A */ lis r4, JASMemPool_NS_dtor_X1_@ha
.global JASMemPool_NS_dtor_X1_
/* 802A3A70 002A09B0 38 84 12 68 */ addi r4, r4, JASMemPool_NS_dtor_X1_@l
/* 802A3A74 002A09B4 3C A0 80 43 */ lis r5, lbl_804340E0@ha
/* 802A3A78 002A09B8 38 A5 40 E0 */ addi r5, r5, lbl_804340E0@l
/* 802A3A7C 002A09BC 48 0B E1 A9 */ bl func_80361C24
/* 802A3A80 002A09C0 38 00 00 01 */ li r0, 1
/* 802A3A84 002A09C4 98 0D 8D 98 */ stb r0, lbl_80451318-_SDA_BASE_(r13)
lbl_802A3A88:
/* 802A3A88 002A09C8 3C 60 80 43 */ lis r3, lbl_804340B0@ha
/* 802A3A8C 002A09CC 38 63 40 B0 */ addi r3, r3, lbl_804340B0@l
/* 802A3A90 002A09D0 7F E4 FB 78 */ mr r4, r31
/* 802A3A94 002A09D4 38 A0 00 64 */ li r5, 0x64
/* 802A3A98 002A09D8 4B FE CE FD */ bl JASGenericMemPool_NS_free
/* 802A3A9C 002A09DC 38 00 00 00 */ li r0, 0
/* 802A3AA0 002A09E0 90 1E 02 A0 */ stw r0, 0x2a0(r30)
lbl_802A3AA4:
/* 802A3AA4 002A09E4 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802A3AA8 002A09E8 83 C1 00 08 */ lwz r30, 8(r1)
/* 802A3AAC 002A09EC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802A3AB0 002A09F0 7C 08 03 A6 */ mtlr r0
/* 802A3AB4 002A09F4 38 21 00 10 */ addi r1, r1, 0x10
/* 802A3AB8 002A09F8 4E 80 00 20 */ blr
/* 802A3ABC 002A09FC 38 60 00 00 */ li r3, 0
/* 802A3AC0 002A0A00 4E 80 00 20 */ blr
/* 802A3AC4 002A0A04 38 60 00 00 */ li r3, 0
/* 802A3AC8 002A0A08 4E 80 00 20 */ blr
/* 802A3ACC 002A0A0C 4E 80 00 20 */ blr
/* 802A3AD0 002A0A10 38 60 00 00 */ li r3, 0
/* 802A3AD4 002A0A14 4E 80 00 20 */ blr

View File

@ -0,0 +1,49 @@
.include "macros.inc"
.section .text, "ax" # 802a3ad8
.global JAIStreamDataMgr_NS_dtor
JAIStreamDataMgr_NS_dtor:
/* 802A3AD8 002A0A18 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802A3ADC 002A0A1C 7C 08 02 A6 */ mflr r0
/* 802A3AE0 002A0A20 90 01 00 14 */ stw r0, 0x14(r1)
/* 802A3AE4 002A0A24 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802A3AE8 002A0A28 7C 7F 1B 79 */ or. r31, r3, r3
/* 802A3AEC 002A0A2C 41 82 00 1C */ beq lbl_802A3B08
/* 802A3AF0 002A0A30 3C A0 80 3D */ lis r5, lbl_803C9A1C@ha
/* 802A3AF4 002A0A34 38 05 9A 1C */ addi r0, r5, lbl_803C9A1C@l
/* 802A3AF8 002A0A38 90 1F 00 00 */ stw r0, 0(r31)
/* 802A3AFC 002A0A3C 7C 80 07 35 */ extsh. r0, r4
/* 802A3B00 002A0A40 40 81 00 08 */ ble lbl_802A3B08
/* 802A3B04 002A0A44 48 02 B2 39 */ bl __dl
lbl_802A3B08:
/* 802A3B08 002A0A48 7F E3 FB 78 */ mr r3, r31
/* 802A3B0C 002A0A4C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802A3B10 002A0A50 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802A3B14 002A0A54 7C 08 03 A6 */ mtlr r0
/* 802A3B18 002A0A58 38 21 00 10 */ addi r1, r1, 0x10
/* 802A3B1C 002A0A5C 4E 80 00 20 */ blr
.global JAIStreamAramMgr_NS_dtor
JAIStreamAramMgr_NS_dtor:
/* 802A3B20 002A0A60 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802A3B24 002A0A64 7C 08 02 A6 */ mflr r0
/* 802A3B28 002A0A68 90 01 00 14 */ stw r0, 0x14(r1)
/* 802A3B2C 002A0A6C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802A3B30 002A0A70 7C 7F 1B 79 */ or. r31, r3, r3
/* 802A3B34 002A0A74 41 82 00 1C */ beq lbl_802A3B50
/* 802A3B38 002A0A78 3C A0 80 3D */ lis r5, lbl_803C9A08@ha
/* 802A3B3C 002A0A7C 38 05 9A 08 */ addi r0, r5, lbl_803C9A08@l
/* 802A3B40 002A0A80 90 1F 00 00 */ stw r0, 0(r31)
/* 802A3B44 002A0A84 7C 80 07 35 */ extsh. r0, r4
/* 802A3B48 002A0A88 40 81 00 08 */ ble lbl_802A3B50
/* 802A3B4C 002A0A8C 48 02 B1 F1 */ bl __dl
lbl_802A3B50:
/* 802A3B50 002A0A90 7F E3 FB 78 */ mr r3, r31
/* 802A3B54 002A0A94 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802A3B58 002A0A98 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802A3B5C 002A0A9C 7C 08 03 A6 */ mtlr r0
/* 802A3B60 002A0AA0 38 21 00 10 */ addi r1, r1, 0x10
/* 802A3B64 002A0AA4 4E 80 00 20 */ blr

519
asm/JAudio2/JAIStreamMgr.s Normal file
View File

@ -0,0 +1,519 @@
.include "macros.inc"
.section .text, "ax" # 802a3b68
.global JAIStreamMgr
JAIStreamMgr:
/* 802A3B68 002A0AA8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802A3B6C 002A0AAC 7C 08 02 A6 */ mflr r0
/* 802A3B70 002A0AB0 90 01 00 14 */ stw r0, 0x14(r1)
/* 802A3B74 002A0AB4 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802A3B78 002A0AB8 7C 7F 1B 78 */ mr r31, r3
/* 802A3B7C 002A0ABC 54 80 06 3F */ clrlwi. r0, r4, 0x18
/* 802A3B80 002A0AC0 41 82 00 08 */ beq lbl_802A3B88
/* 802A3B84 002A0AC4 93 ED 85 E4 */ stw r31, lbl_80450B64-_SDA_BASE_(r13)
lbl_802A3B88:
/* 802A3B88 002A0AC8 C0 02 BE 00 */ lfs f0, lbl_80455800-_SDA2_BASE_(r2)
/* 802A3B8C 002A0ACC D0 1F 00 04 */ stfs f0, 4(r31)
/* 802A3B90 002A0AD0 D0 1F 00 0C */ stfs f0, 0xc(r31)
/* 802A3B94 002A0AD4 C0 22 BE 04 */ lfs f1, lbl_80455804-_SDA2_BASE_(r2)
/* 802A3B98 002A0AD8 D0 3F 00 08 */ stfs f1, 8(r31)
/* 802A3B9C 002A0ADC C0 02 BE 08 */ lfs f0, lbl_80455808-_SDA2_BASE_(r2)
/* 802A3BA0 002A0AE0 D0 1F 00 10 */ stfs f0, 0x10(r31)
/* 802A3BA4 002A0AE4 D0 3F 00 14 */ stfs f1, 0x14(r31)
/* 802A3BA8 002A0AE8 38 7F 00 58 */ addi r3, r31, 0x58
/* 802A3BAC 002A0AEC 48 03 83 69 */ bl JSUPtrList_NS_initiate
/* 802A3BB0 002A0AF0 38 00 00 00 */ li r0, 0
/* 802A3BB4 002A0AF4 90 1F 00 64 */ stw r0, 0x64(r31)
/* 802A3BB8 002A0AF8 90 1F 00 68 */ stw r0, 0x68(r31)
/* 802A3BBC 002A0AFC 90 1F 00 6C */ stw r0, 0x6c(r31)
/* 802A3BC0 002A0B00 90 1F 00 54 */ stw r0, 0x54(r31)
/* 802A3BC4 002A0B04 C0 02 BE 00 */ lfs f0, lbl_80455800-_SDA2_BASE_(r2)
/* 802A3BC8 002A0B08 D0 1F 00 04 */ stfs f0, 4(r31)
/* 802A3BCC 002A0B0C D0 1F 00 0C */ stfs f0, 0xc(r31)
/* 802A3BD0 002A0B10 C0 22 BE 04 */ lfs f1, lbl_80455804-_SDA2_BASE_(r2)
/* 802A3BD4 002A0B14 D0 3F 00 08 */ stfs f1, 8(r31)
/* 802A3BD8 002A0B18 C0 02 BE 08 */ lfs f0, lbl_80455808-_SDA2_BASE_(r2)
/* 802A3BDC 002A0B1C D0 1F 00 10 */ stfs f0, 0x10(r31)
/* 802A3BE0 002A0B20 D0 3F 00 14 */ stfs f1, 0x14(r31)
/* 802A3BE4 002A0B24 D0 3F 00 18 */ stfs f1, 0x18(r31)
/* 802A3BE8 002A0B28 90 1F 00 20 */ stw r0, 0x20(r31)
/* 802A3BEC 002A0B2C D0 3F 00 1C */ stfs f1, 0x1c(r31)
/* 802A3BF0 002A0B30 D0 3F 00 24 */ stfs f1, 0x24(r31)
/* 802A3BF4 002A0B34 90 1F 00 2C */ stw r0, 0x2c(r31)
/* 802A3BF8 002A0B38 D0 3F 00 28 */ stfs f1, 0x28(r31)
/* 802A3BFC 002A0B3C D0 3F 00 30 */ stfs f1, 0x30(r31)
/* 802A3C00 002A0B40 90 1F 00 38 */ stw r0, 0x38(r31)
/* 802A3C04 002A0B44 D0 3F 00 34 */ stfs f1, 0x34(r31)
/* 802A3C08 002A0B48 D0 3F 00 3C */ stfs f1, 0x3c(r31)
/* 802A3C0C 002A0B4C 90 1F 00 44 */ stw r0, 0x44(r31)
/* 802A3C10 002A0B50 D0 3F 00 40 */ stfs f1, 0x40(r31)
/* 802A3C14 002A0B54 D0 3F 00 48 */ stfs f1, 0x48(r31)
/* 802A3C18 002A0B58 90 1F 00 50 */ stw r0, 0x50(r31)
/* 802A3C1C 002A0B5C D0 3F 00 4C */ stfs f1, 0x4c(r31)
/* 802A3C20 002A0B60 98 1F 00 00 */ stb r0, 0(r31)
/* 802A3C24 002A0B64 7F E3 FB 78 */ mr r3, r31
/* 802A3C28 002A0B68 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802A3C2C 002A0B6C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802A3C30 002A0B70 7C 08 03 A6 */ mtlr r0
/* 802A3C34 002A0B74 38 21 00 10 */ addi r1, r1, 0x10
/* 802A3C38 002A0B78 4E 80 00 20 */ blr
.global JAIStreamMgr_NS_startSound
JAIStreamMgr_NS_startSound:
/* 802A3C3C 002A0B7C 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 802A3C40 002A0B80 7C 08 02 A6 */ mflr r0
/* 802A3C44 002A0B84 90 01 00 44 */ stw r0, 0x44(r1)
/* 802A3C48 002A0B88 39 61 00 40 */ addi r11, r1, 0x40
/* 802A3C4C 002A0B8C 48 0B E5 81 */ bl func_803621CC
/* 802A3C50 002A0B90 7C 79 1B 78 */ mr r25, r3
/* 802A3C54 002A0B94 7C 9A 23 78 */ mr r26, r4
/* 802A3C58 002A0B98 7C BB 2B 79 */ or. r27, r5, r5
/* 802A3C5C 002A0B9C 7C DC 33 78 */ mr r28, r6
/* 802A3C60 002A0BA0 41 82 00 14 */ beq lbl_802A3C74
/* 802A3C64 002A0BA4 80 7B 00 00 */ lwz r3, 0(r27)
/* 802A3C68 002A0BA8 28 03 00 00 */ cmplwi r3, 0
/* 802A3C6C 002A0BAC 41 82 00 08 */ beq lbl_802A3C74
/* 802A3C70 002A0BB0 4B FF E9 29 */ bl JAISound_NS_stop_X1_
lbl_802A3C74:
/* 802A3C74 002A0BB4 80 1A 00 00 */ lwz r0, 0(r26)
/* 802A3C78 002A0BB8 90 01 00 14 */ stw r0, 0x14(r1)
/* 802A3C7C 002A0BBC 80 79 00 64 */ lwz r3, 0x64(r25)
/* 802A3C80 002A0BC0 38 81 00 14 */ addi r4, r1, 0x14
/* 802A3C84 002A0BC4 81 83 00 00 */ lwz r12, 0(r3)
/* 802A3C88 002A0BC8 81 8C 00 08 */ lwz r12, 8(r12)
/* 802A3C8C 002A0BCC 7D 89 03 A6 */ mtctr r12
/* 802A3C90 002A0BD0 4E 80 04 21 */ bctrl
/* 802A3C94 002A0BD4 7C 7E 1B 79 */ or. r30, r3, r3
/* 802A3C98 002A0BD8 40 80 00 0C */ bge lbl_802A3CA4
/* 802A3C9C 002A0BDC 38 60 00 00 */ li r3, 0
/* 802A3CA0 002A0BE0 48 00 00 B8 */ b lbl_802A3D58
lbl_802A3CA4:
/* 802A3CA4 002A0BE4 7F 23 CB 78 */ mr r3, r25
/* 802A3CA8 002A0BE8 48 00 04 CD */ bl JAIStreamMgr_NS_newStream_
/* 802A3CAC 002A0BEC 7C 7D 1B 78 */ mr r29, r3
/* 802A3CB0 002A0BF0 83 ED 85 DC */ lwz r31, lbl_80450B5C-_SDA_BASE_(r13)
/* 802A3CB4 002A0BF4 39 00 FF FF */ li r8, -1
/* 802A3CB8 002A0BF8 28 1F 00 00 */ cmplwi r31, 0
/* 802A3CBC 002A0BFC 41 82 00 28 */ beq lbl_802A3CE4
/* 802A3CC0 002A0C00 80 1A 00 00 */ lwz r0, 0(r26)
/* 802A3CC4 002A0C04 90 01 00 10 */ stw r0, 0x10(r1)
/* 802A3CC8 002A0C08 7F E3 FB 78 */ mr r3, r31
/* 802A3CCC 002A0C0C 38 81 00 10 */ addi r4, r1, 0x10
/* 802A3CD0 002A0C10 81 9F 00 00 */ lwz r12, 0(r31)
/* 802A3CD4 002A0C14 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 802A3CD8 002A0C18 7D 89 03 A6 */ mtctr r12
/* 802A3CDC 002A0C1C 4E 80 04 21 */ bctrl
/* 802A3CE0 002A0C20 7C 68 1B 78 */ mr r8, r3
lbl_802A3CE4:
/* 802A3CE4 002A0C24 28 1D 00 00 */ cmplwi r29, 0
/* 802A3CE8 002A0C28 40 82 00 0C */ bne lbl_802A3CF4
/* 802A3CEC 002A0C2C 38 60 00 00 */ li r3, 0
/* 802A3CF0 002A0C30 48 00 00 68 */ b lbl_802A3D58
lbl_802A3CF4:
/* 802A3CF4 002A0C34 80 1A 00 00 */ lwz r0, 0(r26)
/* 802A3CF8 002A0C38 90 01 00 0C */ stw r0, 0xc(r1)
/* 802A3CFC 002A0C3C 7F A3 EB 78 */ mr r3, r29
/* 802A3D00 002A0C40 38 81 00 0C */ addi r4, r1, 0xc
/* 802A3D04 002A0C44 7F C5 F3 78 */ mr r5, r30
/* 802A3D08 002A0C48 7F 86 E3 78 */ mr r6, r28
/* 802A3D0C 002A0C4C 80 F9 00 54 */ lwz r7, 0x54(r25)
/* 802A3D10 002A0C50 4B FF F4 8D */ bl JAIStream_NS_JAIStreamMgr_startID_
/* 802A3D14 002A0C54 28 1F 00 00 */ cmplwi r31, 0
/* 802A3D18 002A0C58 41 82 00 28 */ beq lbl_802A3D40
/* 802A3D1C 002A0C5C 80 1A 00 00 */ lwz r0, 0(r26)
/* 802A3D20 002A0C60 90 01 00 08 */ stw r0, 8(r1)
/* 802A3D24 002A0C64 7F E3 FB 78 */ mr r3, r31
/* 802A3D28 002A0C68 38 81 00 08 */ addi r4, r1, 8
/* 802A3D2C 002A0C6C 7F A5 EB 78 */ mr r5, r29
/* 802A3D30 002A0C70 81 9F 00 00 */ lwz r12, 0(r31)
/* 802A3D34 002A0C74 81 8C 00 1C */ lwz r12, 0x1c(r12)
/* 802A3D38 002A0C78 7D 89 03 A6 */ mtctr r12
/* 802A3D3C 002A0C7C 4E 80 04 21 */ bctrl
lbl_802A3D40:
/* 802A3D40 002A0C80 28 1B 00 00 */ cmplwi r27, 0
/* 802A3D44 002A0C84 41 82 00 10 */ beq lbl_802A3D54
/* 802A3D48 002A0C88 7F A3 EB 78 */ mr r3, r29
/* 802A3D4C 002A0C8C 7F 64 DB 78 */ mr r4, r27
/* 802A3D50 002A0C90 4B FF E4 6D */ bl JAISound_NS_attachHandle
lbl_802A3D54:
/* 802A3D54 002A0C94 38 60 00 00 */ li r3, 0
lbl_802A3D58:
/* 802A3D58 002A0C98 39 61 00 40 */ addi r11, r1, 0x40
/* 802A3D5C 002A0C9C 48 0B E4 BD */ bl func_80362218
/* 802A3D60 002A0CA0 80 01 00 44 */ lwz r0, 0x44(r1)
/* 802A3D64 002A0CA4 7C 08 03 A6 */ mtlr r0
/* 802A3D68 002A0CA8 38 21 00 40 */ addi r1, r1, 0x40
/* 802A3D6C 002A0CAC 4E 80 00 20 */ blr
.global JAIStreamMgr_NS_freeDeadStream_
JAIStreamMgr_NS_freeDeadStream_:
/* 802A3D70 002A0CB0 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802A3D74 002A0CB4 7C 08 02 A6 */ mflr r0
/* 802A3D78 002A0CB8 90 01 00 24 */ stw r0, 0x24(r1)
/* 802A3D7C 002A0CBC 39 61 00 20 */ addi r11, r1, 0x20
/* 802A3D80 002A0CC0 48 0B E4 5D */ bl func_803621DC
/* 802A3D84 002A0CC4 7C 7D 1B 78 */ mr r29, r3
/* 802A3D88 002A0CC8 80 83 00 58 */ lwz r4, 0x58(r3)
/* 802A3D8C 002A0CCC 48 00 00 BC */ b lbl_802A3E48
lbl_802A3D90:
/* 802A3D90 002A0CD0 83 E4 00 00 */ lwz r31, 0(r4)
/* 802A3D94 002A0CD4 83 C4 00 0C */ lwz r30, 0xc(r4)
/* 802A3D98 002A0CD8 88 1F 00 1E */ lbz r0, 0x1e(r31)
/* 802A3D9C 002A0CDC 28 00 00 06 */ cmplwi r0, 6
/* 802A3DA0 002A0CE0 40 82 00 A4 */ bne lbl_802A3E44
/* 802A3DA4 002A0CE4 38 7D 00 58 */ addi r3, r29, 0x58
/* 802A3DA8 002A0CE8 48 03 83 B5 */ bl JSUPtrList_NS_remove
/* 802A3DAC 002A0CEC 80 9F 02 9C */ lwz r4, 0x29c(r31)
/* 802A3DB0 002A0CF0 28 04 00 00 */ cmplwi r4, 0
/* 802A3DB4 002A0CF4 41 82 00 18 */ beq lbl_802A3DCC
/* 802A3DB8 002A0CF8 80 7D 00 68 */ lwz r3, 0x68(r29)
/* 802A3DBC 002A0CFC 81 83 00 00 */ lwz r12, 0(r3)
/* 802A3DC0 002A0D00 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 802A3DC4 002A0D04 7D 89 03 A6 */ mtctr r12
/* 802A3DC8 002A0D08 4E 80 04 21 */ bctrl
lbl_802A3DCC:
/* 802A3DCC 002A0D0C 28 1F 00 00 */ cmplwi r31, 0
/* 802A3DD0 002A0D10 41 82 00 74 */ beq lbl_802A3E44
/* 802A3DD4 002A0D14 3C 60 80 3D */ lis r3, lbl_803C99D8@ha
/* 802A3DD8 002A0D18 38 03 99 D8 */ addi r0, r3, lbl_803C99D8@l
/* 802A3DDC 002A0D1C 90 1F 00 00 */ stw r0, 0(r31)
/* 802A3DE0 002A0D20 34 1F 00 98 */ addic. r0, r31, 0x98
/* 802A3DE4 002A0D24 41 82 00 10 */ beq lbl_802A3DF4
/* 802A3DE8 002A0D28 38 7F 00 98 */ addi r3, r31, 0x98
/* 802A3DEC 002A0D2C 38 80 00 00 */ li r4, 0
/* 802A3DF0 002A0D30 48 03 80 25 */ bl JSUPtrLink_NS_dtor
lbl_802A3DF4:
/* 802A3DF4 002A0D34 88 0D 8D A8 */ lbz r0, lbl_80451328-_SDA_BASE_(r13)
/* 802A3DF8 002A0D38 7C 00 07 75 */ extsb. r0, r0
/* 802A3DFC 002A0D3C 40 82 00 34 */ bne lbl_802A3E30
/* 802A3E00 002A0D40 3C 60 80 43 */ lis r3, lbl_804340FC@ha
/* 802A3E04 002A0D44 38 63 40 FC */ addi r3, r3, lbl_804340FC@l
/* 802A3E08 002A0D48 4B FE CA 41 */ bl JASGenericMemPool
/* 802A3E0C 002A0D4C 3C 60 80 43 */ lis r3, lbl_804340FC@ha
/* 802A3E10 002A0D50 38 63 40 FC */ addi r3, r3, lbl_804340FC@l
.global JASMemPool_NS_dtor_X3_
/* 802A3E14 002A0D54 3C 80 80 2A */ lis r4, JASMemPool_NS_dtor_X3_@ha
.global JASMemPool_NS_dtor_X3_
/* 802A3E18 002A0D58 38 84 3E 68 */ addi r4, r4, JASMemPool_NS_dtor_X3_@l
/* 802A3E1C 002A0D5C 3C A0 80 43 */ lis r5, lbl_804340F0@ha
/* 802A3E20 002A0D60 38 A5 40 F0 */ addi r5, r5, lbl_804340F0@l
/* 802A3E24 002A0D64 48 0B DE 01 */ bl func_80361C24
/* 802A3E28 002A0D68 38 00 00 01 */ li r0, 1
/* 802A3E2C 002A0D6C 98 0D 8D A8 */ stb r0, lbl_80451328-_SDA_BASE_(r13)
lbl_802A3E30:
/* 802A3E30 002A0D70 3C 60 80 43 */ lis r3, lbl_804340FC@ha
/* 802A3E34 002A0D74 38 63 40 FC */ addi r3, r3, lbl_804340FC@l
/* 802A3E38 002A0D78 7F E4 FB 78 */ mr r4, r31
/* 802A3E3C 002A0D7C 38 A0 02 C8 */ li r5, 0x2c8
/* 802A3E40 002A0D80 4B FE CB 55 */ bl JASGenericMemPool_NS_free
lbl_802A3E44:
/* 802A3E44 002A0D84 7F C4 F3 78 */ mr r4, r30
lbl_802A3E48:
/* 802A3E48 002A0D88 28 04 00 00 */ cmplwi r4, 0
/* 802A3E4C 002A0D8C 40 82 FF 44 */ bne lbl_802A3D90
/* 802A3E50 002A0D90 39 61 00 20 */ addi r11, r1, 0x20
/* 802A3E54 002A0D94 48 0B E3 D5 */ bl func_80362228
/* 802A3E58 002A0D98 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802A3E5C 002A0D9C 7C 08 03 A6 */ mtlr r0
/* 802A3E60 002A0DA0 38 21 00 20 */ addi r1, r1, 0x20
/* 802A3E64 002A0DA4 4E 80 00 20 */ blr
.global JASMemPool_NS_dtor_X3_
JASMemPool_NS_dtor_X3_:
/* 802A3E68 002A0DA8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802A3E6C 002A0DAC 7C 08 02 A6 */ mflr r0
/* 802A3E70 002A0DB0 90 01 00 14 */ stw r0, 0x14(r1)
/* 802A3E74 002A0DB4 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802A3E78 002A0DB8 93 C1 00 08 */ stw r30, 8(r1)
/* 802A3E7C 002A0DBC 7C 7E 1B 79 */ or. r30, r3, r3
/* 802A3E80 002A0DC0 7C 9F 23 78 */ mr r31, r4
/* 802A3E84 002A0DC4 41 82 00 1C */ beq lbl_802A3EA0
/* 802A3E88 002A0DC8 38 80 00 00 */ li r4, 0
/* 802A3E8C 002A0DCC 4B FE C9 D5 */ bl JASGenericMemPool_NS_dtor
/* 802A3E90 002A0DD0 7F E0 07 35 */ extsh. r0, r31
/* 802A3E94 002A0DD4 40 81 00 0C */ ble lbl_802A3EA0
/* 802A3E98 002A0DD8 7F C3 F3 78 */ mr r3, r30
/* 802A3E9C 002A0DDC 48 02 AE A1 */ bl __dl
lbl_802A3EA0:
/* 802A3EA0 002A0DE0 7F C3 F3 78 */ mr r3, r30
/* 802A3EA4 002A0DE4 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802A3EA8 002A0DE8 83 C1 00 08 */ lwz r30, 8(r1)
/* 802A3EAC 002A0DEC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802A3EB0 002A0DF0 7C 08 03 A6 */ mtlr r0
/* 802A3EB4 002A0DF4 38 21 00 10 */ addi r1, r1, 0x10
/* 802A3EB8 002A0DF8 4E 80 00 20 */ blr
.global JAIStreamMgr_NS_calc
JAIStreamMgr_NS_calc:
/* 802A3EBC 002A0DFC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802A3EC0 002A0E00 7C 08 02 A6 */ mflr r0
/* 802A3EC4 002A0E04 90 01 00 14 */ stw r0, 0x14(r1)
/* 802A3EC8 002A0E08 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802A3ECC 002A0E0C 93 C1 00 08 */ stw r30, 8(r1)
/* 802A3ED0 002A0E10 7C 7E 1B 78 */ mr r30, r3
/* 802A3ED4 002A0E14 C0 23 00 04 */ lfs f1, 4(r3)
/* 802A3ED8 002A0E18 80 63 00 20 */ lwz r3, 0x20(r3)
/* 802A3EDC 002A0E1C 28 03 00 01 */ cmplwi r3, 1
/* 802A3EE0 002A0E20 40 81 00 18 */ ble lbl_802A3EF8
/* 802A3EE4 002A0E24 38 03 FF FF */ addi r0, r3, -1
/* 802A3EE8 002A0E28 90 1E 00 20 */ stw r0, 0x20(r30)
/* 802A3EEC 002A0E2C C0 1E 00 18 */ lfs f0, 0x18(r30)
/* 802A3EF0 002A0E30 EC 21 00 2A */ fadds f1, f1, f0
/* 802A3EF4 002A0E34 48 00 00 14 */ b lbl_802A3F08
lbl_802A3EF8:
/* 802A3EF8 002A0E38 40 82 00 10 */ bne lbl_802A3F08
/* 802A3EFC 002A0E3C 38 00 00 00 */ li r0, 0
/* 802A3F00 002A0E40 90 1E 00 20 */ stw r0, 0x20(r30)
/* 802A3F04 002A0E44 C0 3E 00 1C */ lfs f1, 0x1c(r30)
lbl_802A3F08:
/* 802A3F08 002A0E48 D0 3E 00 04 */ stfs f1, 4(r30)
/* 802A3F0C 002A0E4C C0 3E 00 0C */ lfs f1, 0xc(r30)
/* 802A3F10 002A0E50 80 7E 00 2C */ lwz r3, 0x2c(r30)
/* 802A3F14 002A0E54 28 03 00 01 */ cmplwi r3, 1
/* 802A3F18 002A0E58 40 81 00 18 */ ble lbl_802A3F30
/* 802A3F1C 002A0E5C 38 03 FF FF */ addi r0, r3, -1
/* 802A3F20 002A0E60 90 1E 00 2C */ stw r0, 0x2c(r30)
/* 802A3F24 002A0E64 C0 1E 00 24 */ lfs f0, 0x24(r30)
/* 802A3F28 002A0E68 EC 21 00 2A */ fadds f1, f1, f0
/* 802A3F2C 002A0E6C 48 00 00 14 */ b lbl_802A3F40
lbl_802A3F30:
/* 802A3F30 002A0E70 40 82 00 10 */ bne lbl_802A3F40
/* 802A3F34 002A0E74 38 00 00 00 */ li r0, 0
/* 802A3F38 002A0E78 90 1E 00 2C */ stw r0, 0x2c(r30)
/* 802A3F3C 002A0E7C C0 3E 00 28 */ lfs f1, 0x28(r30)
lbl_802A3F40:
/* 802A3F40 002A0E80 D0 3E 00 0C */ stfs f1, 0xc(r30)
/* 802A3F44 002A0E84 C0 3E 00 08 */ lfs f1, 8(r30)
/* 802A3F48 002A0E88 80 7E 00 38 */ lwz r3, 0x38(r30)
/* 802A3F4C 002A0E8C 28 03 00 01 */ cmplwi r3, 1
/* 802A3F50 002A0E90 40 81 00 18 */ ble lbl_802A3F68
/* 802A3F54 002A0E94 38 03 FF FF */ addi r0, r3, -1
/* 802A3F58 002A0E98 90 1E 00 38 */ stw r0, 0x38(r30)
/* 802A3F5C 002A0E9C C0 1E 00 30 */ lfs f0, 0x30(r30)
/* 802A3F60 002A0EA0 EC 21 00 2A */ fadds f1, f1, f0
/* 802A3F64 002A0EA4 48 00 00 14 */ b lbl_802A3F78
lbl_802A3F68:
/* 802A3F68 002A0EA8 40 82 00 10 */ bne lbl_802A3F78
/* 802A3F6C 002A0EAC 38 00 00 00 */ li r0, 0
/* 802A3F70 002A0EB0 90 1E 00 38 */ stw r0, 0x38(r30)
/* 802A3F74 002A0EB4 C0 3E 00 34 */ lfs f1, 0x34(r30)
lbl_802A3F78:
/* 802A3F78 002A0EB8 D0 3E 00 08 */ stfs f1, 8(r30)
/* 802A3F7C 002A0EBC C0 3E 00 14 */ lfs f1, 0x14(r30)
/* 802A3F80 002A0EC0 80 7E 00 50 */ lwz r3, 0x50(r30)
/* 802A3F84 002A0EC4 28 03 00 01 */ cmplwi r3, 1
/* 802A3F88 002A0EC8 40 81 00 18 */ ble lbl_802A3FA0
/* 802A3F8C 002A0ECC 38 03 FF FF */ addi r0, r3, -1
/* 802A3F90 002A0ED0 90 1E 00 50 */ stw r0, 0x50(r30)
/* 802A3F94 002A0ED4 C0 1E 00 48 */ lfs f0, 0x48(r30)
/* 802A3F98 002A0ED8 EC 21 00 2A */ fadds f1, f1, f0
/* 802A3F9C 002A0EDC 48 00 00 14 */ b lbl_802A3FB0
lbl_802A3FA0:
/* 802A3FA0 002A0EE0 40 82 00 10 */ bne lbl_802A3FB0
/* 802A3FA4 002A0EE4 38 00 00 00 */ li r0, 0
/* 802A3FA8 002A0EE8 90 1E 00 50 */ stw r0, 0x50(r30)
/* 802A3FAC 002A0EEC C0 3E 00 4C */ lfs f1, 0x4c(r30)
lbl_802A3FB0:
/* 802A3FB0 002A0EF0 D0 3E 00 14 */ stfs f1, 0x14(r30)
/* 802A3FB4 002A0EF4 C0 3E 00 10 */ lfs f1, 0x10(r30)
/* 802A3FB8 002A0EF8 80 7E 00 44 */ lwz r3, 0x44(r30)
/* 802A3FBC 002A0EFC 28 03 00 01 */ cmplwi r3, 1
/* 802A3FC0 002A0F00 40 81 00 18 */ ble lbl_802A3FD8
/* 802A3FC4 002A0F04 38 03 FF FF */ addi r0, r3, -1
/* 802A3FC8 002A0F08 90 1E 00 44 */ stw r0, 0x44(r30)
/* 802A3FCC 002A0F0C C0 1E 00 3C */ lfs f0, 0x3c(r30)
/* 802A3FD0 002A0F10 EC 21 00 2A */ fadds f1, f1, f0
/* 802A3FD4 002A0F14 48 00 00 14 */ b lbl_802A3FE8
lbl_802A3FD8:
/* 802A3FD8 002A0F18 40 82 00 10 */ bne lbl_802A3FE8
/* 802A3FDC 002A0F1C 38 00 00 00 */ li r0, 0
/* 802A3FE0 002A0F20 90 1E 00 44 */ stw r0, 0x44(r30)
/* 802A3FE4 002A0F24 C0 3E 00 40 */ lfs f1, 0x40(r30)
lbl_802A3FE8:
/* 802A3FE8 002A0F28 D0 3E 00 10 */ stfs f1, 0x10(r30)
/* 802A3FEC 002A0F2C 83 FE 00 58 */ lwz r31, 0x58(r30)
/* 802A3FF0 002A0F30 48 00 00 10 */ b lbl_802A4000
lbl_802A3FF4:
/* 802A3FF4 002A0F34 80 7F 00 00 */ lwz r3, 0(r31)
/* 802A3FF8 002A0F38 4B FF F8 95 */ bl JAIStream_NS_JAIStreamMgr_calc_
/* 802A3FFC 002A0F3C 83 FF 00 0C */ lwz r31, 0xc(r31)
lbl_802A4000:
/* 802A4000 002A0F40 28 1F 00 00 */ cmplwi r31, 0
/* 802A4004 002A0F44 40 82 FF F0 */ bne lbl_802A3FF4
/* 802A4008 002A0F48 7F C3 F3 78 */ mr r3, r30
/* 802A400C 002A0F4C 4B FF FD 65 */ bl JAIStreamMgr_NS_freeDeadStream_
/* 802A4010 002A0F50 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802A4014 002A0F54 83 C1 00 08 */ lwz r30, 8(r1)
/* 802A4018 002A0F58 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802A401C 002A0F5C 7C 08 03 A6 */ mtlr r0
/* 802A4020 002A0F60 38 21 00 10 */ addi r1, r1, 0x10
/* 802A4024 002A0F64 4E 80 00 20 */ blr
.global JAIStreamMgr_NS_stop
JAIStreamMgr_NS_stop:
/* 802A4028 002A0F68 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802A402C 002A0F6C 7C 08 02 A6 */ mflr r0
/* 802A4030 002A0F70 90 01 00 14 */ stw r0, 0x14(r1)
/* 802A4034 002A0F74 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802A4038 002A0F78 83 E3 00 58 */ lwz r31, 0x58(r3)
/* 802A403C 002A0F7C 48 00 00 10 */ b lbl_802A404C
lbl_802A4040:
/* 802A4040 002A0F80 80 7F 00 00 */ lwz r3, 0(r31)
/* 802A4044 002A0F84 4B FF E5 55 */ bl JAISound_NS_stop_X1_
/* 802A4048 002A0F88 83 FF 00 0C */ lwz r31, 0xc(r31)
lbl_802A404C:
/* 802A404C 002A0F8C 28 1F 00 00 */ cmplwi r31, 0
/* 802A4050 002A0F90 40 82 FF F0 */ bne lbl_802A4040
/* 802A4054 002A0F94 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802A4058 002A0F98 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802A405C 002A0F9C 7C 08 03 A6 */ mtlr r0
/* 802A4060 002A0FA0 38 21 00 10 */ addi r1, r1, 0x10
/* 802A4064 002A0FA4 4E 80 00 20 */ blr
.global JAIStreamMgr_NS_stop_X1_
JAIStreamMgr_NS_stop_X1_:
/* 802A4068 002A0FA8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802A406C 002A0FAC 7C 08 02 A6 */ mflr r0
/* 802A4070 002A0FB0 90 01 00 14 */ stw r0, 0x14(r1)
/* 802A4074 002A0FB4 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802A4078 002A0FB8 93 C1 00 08 */ stw r30, 8(r1)
/* 802A407C 002A0FBC 7C 9E 23 78 */ mr r30, r4
/* 802A4080 002A0FC0 83 E3 00 58 */ lwz r31, 0x58(r3)
/* 802A4084 002A0FC4 48 00 00 14 */ b lbl_802A4098
lbl_802A4088:
/* 802A4088 002A0FC8 80 7F 00 00 */ lwz r3, 0(r31)
/* 802A408C 002A0FCC 7F C4 F3 78 */ mr r4, r30
/* 802A4090 002A0FD0 4B FF E4 4D */ bl JAISound_NS_stop
/* 802A4094 002A0FD4 83 FF 00 0C */ lwz r31, 0xc(r31)
lbl_802A4098:
/* 802A4098 002A0FD8 28 1F 00 00 */ cmplwi r31, 0
/* 802A409C 002A0FDC 40 82 FF EC */ bne lbl_802A4088
/* 802A40A0 002A0FE0 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802A40A4 002A0FE4 83 C1 00 08 */ lwz r30, 8(r1)
/* 802A40A8 002A0FE8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802A40AC 002A0FEC 7C 08 03 A6 */ mtlr r0
/* 802A40B0 002A0FF0 38 21 00 10 */ addi r1, r1, 0x10
/* 802A40B4 002A0FF4 4E 80 00 20 */ blr
.global JAIStreamMgr_NS_stopSoundID
JAIStreamMgr_NS_stopSoundID:
/* 802A40B8 002A0FF8 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802A40BC 002A0FFC 7C 08 02 A6 */ mflr r0
/* 802A40C0 002A1000 90 01 00 24 */ stw r0, 0x24(r1)
/* 802A40C4 002A1004 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 802A40C8 002A1008 93 C1 00 18 */ stw r30, 0x18(r1)
/* 802A40CC 002A100C 7C 9E 23 78 */ mr r30, r4
/* 802A40D0 002A1010 83 E3 00 58 */ lwz r31, 0x58(r3)
/* 802A40D4 002A1014 48 00 00 24 */ b lbl_802A40F8
lbl_802A40D8:
/* 802A40D8 002A1018 80 7F 00 00 */ lwz r3, 0(r31)
/* 802A40DC 002A101C 80 83 00 18 */ lwz r4, 0x18(r3)
/* 802A40E0 002A1020 90 81 00 08 */ stw r4, 8(r1)
/* 802A40E4 002A1024 80 1E 00 00 */ lwz r0, 0(r30)
/* 802A40E8 002A1028 7C 04 00 40 */ cmplw r4, r0
/* 802A40EC 002A102C 40 82 00 08 */ bne lbl_802A40F4
/* 802A40F0 002A1030 4B FF E4 A9 */ bl JAISound_NS_stop_X1_
lbl_802A40F4:
/* 802A40F4 002A1034 83 FF 00 0C */ lwz r31, 0xc(r31)
lbl_802A40F8:
/* 802A40F8 002A1038 28 1F 00 00 */ cmplwi r31, 0
/* 802A40FC 002A103C 40 82 FF DC */ bne lbl_802A40D8
/* 802A4100 002A1040 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 802A4104 002A1044 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 802A4108 002A1048 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802A410C 002A104C 7C 08 03 A6 */ mtlr r0
/* 802A4110 002A1050 38 21 00 20 */ addi r1, r1, 0x20
/* 802A4114 002A1054 4E 80 00 20 */ blr
.global JAIStreamMgr_NS_mixOut
JAIStreamMgr_NS_mixOut:
/* 802A4118 002A1058 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802A411C 002A105C 7C 08 02 A6 */ mflr r0
/* 802A4120 002A1060 90 01 00 24 */ stw r0, 0x24(r1)
/* 802A4124 002A1064 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 802A4128 002A1068 93 C1 00 18 */ stw r30, 0x18(r1)
/* 802A412C 002A106C 7C 7E 1B 78 */ mr r30, r3
/* 802A4130 002A1070 83 E3 00 58 */ lwz r31, 0x58(r3)
/* 802A4134 002A1074 48 00 00 20 */ b lbl_802A4154
lbl_802A4138:
/* 802A4138 002A1078 88 1E 00 00 */ lbz r0, 0(r30)
/* 802A413C 002A107C 98 01 00 08 */ stb r0, 8(r1)
/* 802A4140 002A1080 80 7F 00 00 */ lwz r3, 0(r31)
/* 802A4144 002A1084 38 9E 00 04 */ addi r4, r30, 4
/* 802A4148 002A1088 38 A1 00 08 */ addi r5, r1, 8
/* 802A414C 002A108C 4B FF F3 99 */ bl JAIStream_NS_JAIStreamMgr_mixOut_
/* 802A4150 002A1090 83 FF 00 0C */ lwz r31, 0xc(r31)
lbl_802A4154:
/* 802A4154 002A1094 28 1F 00 00 */ cmplwi r31, 0
/* 802A4158 002A1098 40 82 FF E0 */ bne lbl_802A4138
/* 802A415C 002A109C 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 802A4160 002A10A0 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 802A4164 002A10A4 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802A4168 002A10A8 7C 08 03 A6 */ mtlr r0
/* 802A416C 002A10AC 38 21 00 20 */ addi r1, r1, 0x20
/* 802A4170 002A10B0 4E 80 00 20 */ blr
.global JAIStreamMgr_NS_newStream_
JAIStreamMgr_NS_newStream_:
/* 802A4174 002A10B4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802A4178 002A10B8 7C 08 02 A6 */ mflr r0
/* 802A417C 002A10BC 90 01 00 14 */ stw r0, 0x14(r1)
/* 802A4180 002A10C0 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802A4184 002A10C4 93 C1 00 08 */ stw r30, 8(r1)
/* 802A4188 002A10C8 7C 7F 1B 78 */ mr r31, r3
/* 802A418C 002A10CC 80 03 00 68 */ lwz r0, 0x68(r3)
/* 802A4190 002A10D0 28 00 00 00 */ cmplwi r0, 0
/* 802A4194 002A10D4 40 82 00 0C */ bne lbl_802A41A0
/* 802A4198 002A10D8 38 60 00 00 */ li r3, 0
/* 802A419C 002A10DC 48 00 00 90 */ b lbl_802A422C
lbl_802A41A0:
/* 802A41A0 002A10E0 88 0D 8D A8 */ lbz r0, lbl_80451328-_SDA_BASE_(r13)
/* 802A41A4 002A10E4 7C 00 07 75 */ extsb. r0, r0
/* 802A41A8 002A10E8 40 82 00 34 */ bne lbl_802A41DC
/* 802A41AC 002A10EC 3C 60 80 43 */ lis r3, lbl_804340FC@ha
/* 802A41B0 002A10F0 38 63 40 FC */ addi r3, r3, lbl_804340FC@l
/* 802A41B4 002A10F4 4B FE C6 95 */ bl JASGenericMemPool
/* 802A41B8 002A10F8 3C 60 80 43 */ lis r3, lbl_804340FC@ha
/* 802A41BC 002A10FC 38 63 40 FC */ addi r3, r3, lbl_804340FC@l
.global JASMemPool_NS_dtor_X3_
/* 802A41C0 002A1100 3C 80 80 2A */ lis r4, JASMemPool_NS_dtor_X3_@ha
.global JASMemPool_NS_dtor_X3_
/* 802A41C4 002A1104 38 84 3E 68 */ addi r4, r4, JASMemPool_NS_dtor_X3_@l
/* 802A41C8 002A1108 3C A0 80 43 */ lis r5, lbl_804340F0@ha
/* 802A41CC 002A110C 38 A5 40 F0 */ addi r5, r5, lbl_804340F0@l
/* 802A41D0 002A1110 48 0B DA 55 */ bl func_80361C24
/* 802A41D4 002A1114 38 00 00 01 */ li r0, 1
/* 802A41D8 002A1118 98 0D 8D A8 */ stb r0, lbl_80451328-_SDA_BASE_(r13)
lbl_802A41DC:
/* 802A41DC 002A111C 3C 60 80 43 */ lis r3, lbl_804340FC@ha
/* 802A41E0 002A1120 38 63 40 FC */ addi r3, r3, lbl_804340FC@l
/* 802A41E4 002A1124 38 80 02 C8 */ li r4, 0x2c8
/* 802A41E8 002A1128 4B FE C7 61 */ bl JASGenericMemPool_NS_alloc
/* 802A41EC 002A112C 7C 7E 1B 79 */ or. r30, r3, r3
/* 802A41F0 002A1130 41 82 00 14 */ beq lbl_802A4204
/* 802A41F4 002A1134 7F E4 FB 78 */ mr r4, r31
/* 802A41F8 002A1138 80 BF 00 6C */ lwz r5, 0x6c(r31)
/* 802A41FC 002A113C 4B FF EF 09 */ bl JAIStream
/* 802A4200 002A1140 7C 7E 1B 78 */ mr r30, r3
lbl_802A4204:
/* 802A4204 002A1144 28 1E 00 00 */ cmplwi r30, 0
/* 802A4208 002A1148 40 82 00 0C */ bne lbl_802A4214
/* 802A420C 002A114C 38 60 00 00 */ li r3, 0
/* 802A4210 002A1150 48 00 00 1C */ b lbl_802A422C
lbl_802A4214:
/* 802A4214 002A1154 7F C4 F3 78 */ mr r4, r30
/* 802A4218 002A1158 41 82 00 08 */ beq lbl_802A4220
/* 802A421C 002A115C 38 9E 00 98 */ addi r4, r30, 0x98
lbl_802A4220:
/* 802A4220 002A1160 38 7F 00 58 */ addi r3, r31, 0x58
/* 802A4224 002A1164 48 03 7D 29 */ bl JSUPtrList_NS_append
/* 802A4228 002A1168 7F C3 F3 78 */ mr r3, r30
lbl_802A422C:
/* 802A422C 002A116C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802A4230 002A1170 83 C1 00 08 */ lwz r30, 8(r1)
/* 802A4234 002A1174 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802A4238 002A1178 7C 08 03 A6 */ mtlr r0
/* 802A423C 002A117C 38 21 00 10 */ addi r1, r1, 0x10
/* 802A4240 002A1180 4E 80 00 20 */ blr

675
asm/JAudio2/JASAiCtrl.s Normal file
View File

@ -0,0 +1,675 @@
.include "macros.inc"
.section .text, "ax" # 8029c388
.global JASDriver_NS_initAI
JASDriver_NS_initAI:
/* 8029C388 002992C8 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8029C38C 002992CC 7C 08 02 A6 */ mflr r0
/* 8029C390 002992D0 90 01 00 34 */ stw r0, 0x34(r1)
/* 8029C394 002992D4 39 61 00 30 */ addi r11, r1, 0x30
/* 8029C398 002992D8 48 0C 5E 35 */ bl func_803621CC
/* 8029C39C 002992DC 7C 7F 1B 78 */ mr r31, r3
/* 8029C3A0 002992E0 38 60 00 00 */ li r3, 0
/* 8029C3A4 002992E4 48 00 01 81 */ bl JASDriver_NS_setOutputRate
/* 8029C3A8 002992E8 48 00 06 51 */ bl JASDriver_NS_getDacSize
/* 8029C3AC 002992EC 54 60 08 3C */ slwi r0, r3, 1
/* 8029C3B0 002992F0 3B 20 00 00 */ li r25, 0
/* 8029C3B4 002992F4 3B C0 00 00 */ li r30, 0
/* 8029C3B8 002992F8 7C 1C 03 78 */ mr r28, r0
/* 8029C3BC 002992FC 7C 1A 03 78 */ mr r26, r0
/* 8029C3C0 00299300 7C 1B 03 78 */ mr r27, r0
/* 8029C3C4 00299304 3C 60 80 43 */ lis r3, lbl_80431C58@ha
/* 8029C3C8 00299308 3B A3 1C 58 */ addi r29, r3, lbl_80431C58@l
lbl_8029C3CC:
/* 8029C3CC 0029930C 7F 83 E3 78 */ mr r3, r28
/* 8029C3D0 00299310 80 8D 8C 90 */ lwz r4, lbl_80451210-_SDA_BASE_(r13)
/* 8029C3D4 00299314 38 A0 00 20 */ li r5, 0x20
/* 8029C3D8 00299318 48 03 29 39 */ bl __nwa_X2_
/* 8029C3DC 0029931C 7C 7D F1 2E */ stwx r3, r29, r30
/* 8029C3E0 00299320 7C 7D F0 2E */ lwzx r3, r29, r30
/* 8029C3E4 00299324 7F 64 DB 78 */ mr r4, r27
/* 8029C3E8 00299328 4B FF 30 99 */ bl JASCalc_NS_bzero
/* 8029C3EC 0029932C 7C 7D F0 2E */ lwzx r3, r29, r30
/* 8029C3F0 00299330 7F 64 DB 78 */ mr r4, r27
/* 8029C3F4 00299334 48 09 F1 E9 */ bl DCStoreRange
/* 8029C3F8 00299338 3B 39 00 01 */ addi r25, r25, 1
/* 8029C3FC 0029933C 2C 19 00 03 */ cmpwi r25, 3
/* 8029C400 00299340 3B DE 00 04 */ addi r30, r30, 4
/* 8029C404 00299344 41 80 FF C8 */ blt lbl_8029C3CC
/* 8029C408 00299348 88 0D 82 28 */ lbz r0, lbl_804507A8-_SDA_BASE_(r13)
/* 8029C40C 0029934C 54 03 10 3A */ slwi r3, r0, 2
/* 8029C410 00299350 80 8D 8C 90 */ lwz r4, lbl_80451210-_SDA_BASE_(r13)
/* 8029C414 00299354 38 A0 00 00 */ li r5, 0
/* 8029C418 00299358 48 03 28 F9 */ bl __nwa_X2_
/* 8029C41C 0029935C 90 6D 8D 20 */ stw r3, lbl_804512A0-_SDA_BASE_(r13)
/* 8029C420 00299360 3B 20 00 00 */ li r25, 0
/* 8029C424 00299364 3B C0 00 00 */ li r30, 0
/* 8029C428 00299368 48 00 00 48 */ b lbl_8029C470
lbl_8029C42C:
/* 8029C42C 0029936C 48 00 05 CD */ bl JASDriver_NS_getDacSize
/* 8029C430 00299370 54 63 08 3C */ slwi r3, r3, 1
/* 8029C434 00299374 80 8D 8C 90 */ lwz r4, lbl_80451210-_SDA_BASE_(r13)
/* 8029C438 00299378 38 A0 00 20 */ li r5, 0x20
/* 8029C43C 0029937C 48 03 28 D5 */ bl __nwa_X2_
/* 8029C440 00299380 80 8D 8D 20 */ lwz r4, lbl_804512A0-_SDA_BASE_(r13)
/* 8029C444 00299384 7C 64 F1 2E */ stwx r3, r4, r30
/* 8029C448 00299388 80 6D 8D 20 */ lwz r3, lbl_804512A0-_SDA_BASE_(r13)
/* 8029C44C 0029938C 7C 63 F0 2E */ lwzx r3, r3, r30
/* 8029C450 00299390 7F 44 D3 78 */ mr r4, r26
/* 8029C454 00299394 4B FF 30 2D */ bl JASCalc_NS_bzero
/* 8029C458 00299398 80 6D 8D 20 */ lwz r3, lbl_804512A0-_SDA_BASE_(r13)
/* 8029C45C 0029939C 7C 63 F0 2E */ lwzx r3, r3, r30
/* 8029C460 002993A0 7F 44 D3 78 */ mr r4, r26
/* 8029C464 002993A4 48 09 F1 79 */ bl DCStoreRange
/* 8029C468 002993A8 3B 39 00 01 */ addi r25, r25, 1
/* 8029C46C 002993AC 3B DE 00 04 */ addi r30, r30, 4
lbl_8029C470:
/* 8029C470 002993B0 88 6D 82 28 */ lbz r3, lbl_804507A8-_SDA_BASE_(r13)
/* 8029C474 002993B4 7C 19 18 00 */ cmpw r25, r3
/* 8029C478 002993B8 41 80 FF B4 */ blt lbl_8029C42C
/* 8029C47C 002993BC 38 03 FF FF */ addi r0, r3, -1
/* 8029C480 002993C0 90 0D 8D 24 */ stw r0, lbl_804512A4-_SDA_BASE_(r13)
/* 8029C484 002993C4 38 00 00 00 */ li r0, 0
/* 8029C488 002993C8 90 0D 8D 28 */ stw r0, lbl_804512A8-_SDA_BASE_(r13)
/* 8029C48C 002993CC 90 0D 8D 2C */ stw r0, lbl_804512AC-_SDA_BASE_(r13)
/* 8029C490 002993D0 4B FF F7 7D */ bl JASChannel_NS_initBankDisposeMsgQueue
/* 8029C494 002993D4 38 60 00 00 */ li r3, 0
/* 8029C498 002993D8 48 0B 3B ED */ bl AIInit
/* 8029C49C 002993DC 3C 60 80 43 */ lis r3, lbl_80431C58@ha
/* 8029C4A0 002993E0 38 63 1C 58 */ addi r3, r3, lbl_80431C58@l
/* 8029C4A4 002993E4 80 63 00 08 */ lwz r3, 8(r3)
/* 8029C4A8 002993E8 7F 44 D3 78 */ mr r4, r26
/* 8029C4AC 002993EC 48 0B 38 09 */ bl AIInitDMA
/* 8029C4B0 002993F0 80 6D 8D 40 */ lwz r3, lbl_804512C0-_SDA_BASE_(r13)
/* 8029C4B4 002993F4 30 03 FF FF */ addic r0, r3, -1
/* 8029C4B8 002993F8 7C 00 19 10 */ subfe r0, r0, r3
/* 8029C4BC 002993FC 54 03 06 3E */ clrlwi r3, r0, 0x18
/* 8029C4C0 00299400 48 0B 39 95 */ bl AISetDSPSampleRate
/* 8029C4C4 00299404 7F E3 FB 78 */ mr r3, r31
/* 8029C4C8 00299408 48 0B 37 A9 */ bl AIRegisterDMACallback
/* 8029C4CC 0029940C 39 61 00 30 */ addi r11, r1, 0x30
/* 8029C4D0 00299410 48 0C 5D 49 */ bl func_80362218
/* 8029C4D4 00299414 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8029C4D8 00299418 7C 08 03 A6 */ mtlr r0
/* 8029C4DC 0029941C 38 21 00 30 */ addi r1, r1, 0x30
/* 8029C4E0 00299420 4E 80 00 20 */ blr
.global JASDriver_NS_startDMA
JASDriver_NS_startDMA:
/* 8029C4E4 00299424 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8029C4E8 00299428 7C 08 02 A6 */ mflr r0
/* 8029C4EC 0029942C 90 01 00 14 */ stw r0, 0x14(r1)
/* 8029C4F0 00299430 48 0B 38 4D */ bl AIStartDMA
/* 8029C4F4 00299434 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8029C4F8 00299438 7C 08 03 A6 */ mtlr r0
/* 8029C4FC 0029943C 38 21 00 10 */ addi r1, r1, 0x10
/* 8029C500 00299440 4E 80 00 20 */ blr
.global JASDriver_NS_stopDMA
JASDriver_NS_stopDMA:
/* 8029C504 00299444 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8029C508 00299448 7C 08 02 A6 */ mflr r0
/* 8029C50C 0029944C 90 01 00 14 */ stw r0, 0x14(r1)
/* 8029C510 00299450 48 0B 38 45 */ bl AIStopDMA
/* 8029C514 00299454 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8029C518 00299458 7C 08 03 A6 */ mtlr r0
/* 8029C51C 0029945C 38 21 00 10 */ addi r1, r1, 0x10
/* 8029C520 00299460 4E 80 00 20 */ blr
.global JASDriver_NS_setOutputRate
JASDriver_NS_setOutputRate:
/* 8029C524 00299464 90 6D 8D 40 */ stw r3, lbl_804512C0-_SDA_BASE_(r13)
/* 8029C528 00299468 2C 03 00 00 */ cmpwi r3, 0
/* 8029C52C 0029946C 40 82 00 18 */ bne lbl_8029C544
/* 8029C530 00299470 38 00 00 07 */ li r0, 7
/* 8029C534 00299474 90 0D 82 34 */ stw r0, lbl_804507B4-_SDA_BASE_(r13)
/* 8029C538 00299478 C0 02 BD 20 */ lfs f0, lbl_80455720-_SDA2_BASE_(r2)
/* 8029C53C 0029947C D0 0D 82 30 */ stfs f0, lbl_804507B0-_SDA_BASE_(r13)
/* 8029C540 00299480 48 00 00 14 */ b lbl_8029C554
lbl_8029C544:
/* 8029C544 00299484 38 00 00 0A */ li r0, 0xa
/* 8029C548 00299488 90 0D 82 34 */ stw r0, lbl_804507B4-_SDA_BASE_(r13)
/* 8029C54C 0029948C C0 02 BD 24 */ lfs f0, lbl_80455724-_SDA2_BASE_(r2)
/* 8029C550 00299490 D0 0D 82 30 */ stfs f0, lbl_804507B0-_SDA_BASE_(r13)
lbl_8029C554:
/* 8029C554 00299494 C0 2D 82 30 */ lfs f1, lbl_804507B0-_SDA_BASE_(r13)
/* 8029C558 00299498 C0 02 BD 28 */ lfs f0, lbl_80455728-_SDA2_BASE_(r2)
/* 8029C55C 0029949C EC 01 00 32 */ fmuls f0, f1, f0
/* 8029C560 002994A0 D0 0D 82 30 */ stfs f0, lbl_804507B0-_SDA_BASE_(r13)
/* 8029C564 002994A4 4E 80 00 20 */ blr
.global JASDriver_NS_updateDac
JASDriver_NS_updateDac:
/* 8029C568 002994A8 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8029C56C 002994AC 7C 08 02 A6 */ mflr r0
/* 8029C570 002994B0 90 01 00 24 */ stw r0, 0x24(r1)
/* 8029C574 002994B4 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8029C578 002994B8 88 0D 8D 4C */ lbz r0, lbl_804512CC-_SDA_BASE_(r13)
/* 8029C57C 002994BC 7C 00 07 75 */ extsb. r0, r0
/* 8029C580 002994C0 40 82 00 14 */ bne lbl_8029C594
/* 8029C584 002994C4 38 00 00 00 */ li r0, 0
/* 8029C588 002994C8 90 0D 8D 48 */ stw r0, lbl_804512C8-_SDA_BASE_(r13)
/* 8029C58C 002994CC 38 00 00 01 */ li r0, 1
/* 8029C590 002994D0 98 0D 8D 4C */ stb r0, lbl_804512CC-_SDA_BASE_(r13)
lbl_8029C594:
/* 8029C594 002994D4 83 ED 8D 34 */ lwz r31, lbl_804512B4-_SDA_BASE_(r13)
/* 8029C598 002994D8 38 00 00 00 */ li r0, 0
/* 8029C59C 002994DC 90 0D 8D 34 */ stw r0, lbl_804512B4-_SDA_BASE_(r13)
/* 8029C5A0 002994E0 28 1F 00 00 */ cmplwi r31, 0
/* 8029C5A4 002994E4 41 82 00 14 */ beq lbl_8029C5B8
/* 8029C5A8 002994E8 48 00 04 51 */ bl JASDriver_NS_getDacSize
/* 8029C5AC 002994EC 54 64 08 3C */ slwi r4, r3, 1
/* 8029C5B0 002994F0 7F E3 FB 78 */ mr r3, r31
/* 8029C5B4 002994F4 48 0B 37 01 */ bl AIInitDMA
lbl_8029C5B8:
/* 8029C5B8 002994F8 48 00 04 4D */ bl JASDriver_NS_getFrameSamples
/* 8029C5BC 002994FC 7C 64 1B 78 */ mr r4, r3
/* 8029C5C0 00299500 80 0D 8D 48 */ lwz r0, lbl_804512C8-_SDA_BASE_(r13)
/* 8029C5C4 00299504 54 00 10 3A */ slwi r0, r0, 2
/* 8029C5C8 00299508 3C 60 80 43 */ lis r3, lbl_80431C58@ha
/* 8029C5CC 0029950C 38 63 1C 58 */ addi r3, r3, lbl_80431C58@l
/* 8029C5D0 00299510 7C 63 00 2E */ lwzx r3, r3, r0
/* 8029C5D4 00299514 7C 9F 23 78 */ mr r31, r4
/* 8029C5D8 00299518 48 00 02 09 */ bl JASDriver_NS_readDspBuffer
/* 8029C5DC 0029951C 80 0D 8D 2C */ lwz r0, lbl_804512AC-_SDA_BASE_(r13)
/* 8029C5E0 00299520 2C 00 00 00 */ cmpwi r0, 0
/* 8029C5E4 00299524 40 82 00 08 */ bne lbl_8029C5EC
/* 8029C5E8 00299528 48 00 03 19 */ bl JASDriver_NS_finishDSPFrame
lbl_8029C5EC:
/* 8029C5EC 0029952C 80 AD 8D 3C */ lwz r5, lbl_804512BC-_SDA_BASE_(r13)
/* 8029C5F0 00299530 28 05 00 00 */ cmplwi r5, 0
/* 8029C5F4 00299534 41 82 00 38 */ beq lbl_8029C62C
/* 8029C5F8 00299538 80 0D 8D 48 */ lwz r0, lbl_804512C8-_SDA_BASE_(r13)
/* 8029C5FC 0029953C 54 00 10 3A */ slwi r0, r0, 2
/* 8029C600 00299540 3C 60 80 43 */ lis r3, lbl_80431C58@ha
/* 8029C604 00299544 38 63 1C 58 */ addi r3, r3, lbl_80431C58@l
/* 8029C608 00299548 7C 63 00 2E */ lwzx r3, r3, r0
/* 8029C60C 0029954C 7F E4 FB 78 */ mr r4, r31
/* 8029C610 00299550 80 0D 82 2C */ lwz r0, lbl_804507AC-_SDA_BASE_(r13)
/* 8029C614 00299554 54 00 10 3A */ slwi r0, r0, 2
/* 8029C618 00299558 3C C0 80 3A */ lis r6, lbl_8039B2E0@ha
/* 8029C61C 0029955C 38 C6 B2 E0 */ addi r6, r6, lbl_8039B2E0@l
/* 8029C620 00299560 7D 86 00 2E */ lwzx r12, r6, r0
/* 8029C624 00299564 7D 89 03 A6 */ mtctr r12
/* 8029C628 00299568 4E 80 04 21 */ bctrl
lbl_8029C62C:
/* 8029C62C 0029956C 48 0A 10 C9 */ bl __RAS_OSDisableInterrupts_begin
/* 8029C630 00299570 90 61 00 08 */ stw r3, 8(r1)
/* 8029C634 00299574 48 00 03 C5 */ bl JASDriver_NS_getDacSize
/* 8029C638 00299578 54 64 08 3C */ slwi r4, r3, 1
/* 8029C63C 0029957C 80 0D 8D 48 */ lwz r0, lbl_804512C8-_SDA_BASE_(r13)
/* 8029C640 00299580 54 00 10 3A */ slwi r0, r0, 2
/* 8029C644 00299584 3C 60 80 43 */ lis r3, lbl_80431C58@ha
/* 8029C648 00299588 38 63 1C 58 */ addi r3, r3, lbl_80431C58@l
/* 8029C64C 0029958C 7C 63 00 2E */ lwzx r3, r3, r0
/* 8029C650 00299590 48 09 EF 8D */ bl DCStoreRange
/* 8029C654 00299594 80 61 00 08 */ lwz r3, 8(r1)
/* 8029C658 00299598 48 0A 10 C5 */ bl OSRestoreInterrupts
/* 8029C65C 0029959C 80 8D 8D 48 */ lwz r4, lbl_804512C8-_SDA_BASE_(r13)
/* 8029C660 002995A0 54 80 10 3A */ slwi r0, r4, 2
/* 8029C664 002995A4 3C 60 80 43 */ lis r3, lbl_80431C58@ha
/* 8029C668 002995A8 38 63 1C 58 */ addi r3, r3, lbl_80431C58@l
/* 8029C66C 002995AC 7C 03 00 2E */ lwzx r0, r3, r0
/* 8029C670 002995B0 90 0D 8D 34 */ stw r0, lbl_804512B4-_SDA_BASE_(r13)
/* 8029C674 002995B4 38 04 00 01 */ addi r0, r4, 1
/* 8029C678 002995B8 90 0D 8D 48 */ stw r0, lbl_804512C8-_SDA_BASE_(r13)
/* 8029C67C 002995BC 28 00 00 03 */ cmplwi r0, 3
/* 8029C680 002995C0 41 80 00 0C */ blt lbl_8029C68C
/* 8029C684 002995C4 38 00 00 00 */ li r0, 0
/* 8029C688 002995C8 90 0D 8D 48 */ stw r0, lbl_804512C8-_SDA_BASE_(r13)
lbl_8029C68C:
/* 8029C68C 002995CC 80 0D 8D 38 */ lwz r0, lbl_804512B8-_SDA_BASE_(r13)
/* 8029C690 002995D0 28 00 00 00 */ cmplwi r0, 0
/* 8029C694 002995D4 41 82 00 1C */ beq lbl_8029C6B0
/* 8029C698 002995D8 48 00 03 6D */ bl JASDriver_NS_getFrameSamples
/* 8029C69C 002995DC 7C 64 1B 78 */ mr r4, r3
/* 8029C6A0 002995E0 80 6D 8D 34 */ lwz r3, lbl_804512B4-_SDA_BASE_(r13)
/* 8029C6A4 002995E4 81 8D 8D 38 */ lwz r12, lbl_804512B8-_SDA_BASE_(r13)
/* 8029C6A8 002995E8 7D 89 03 A6 */ mtctr r12
/* 8029C6AC 002995EC 4E 80 04 21 */ bctrl
lbl_8029C6B0:
/* 8029C6B0 002995F0 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8029C6B4 002995F4 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8029C6B8 002995F8 7C 08 03 A6 */ mtlr r0
/* 8029C6BC 002995FC 38 21 00 20 */ addi r1, r1, 0x20
/* 8029C6C0 00299600 4E 80 00 20 */ blr
.global JASDriver_NS_updateDSP
JASDriver_NS_updateDSP:
/* 8029C6C4 00299604 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8029C6C8 00299608 7C 08 02 A6 */ mflr r0
/* 8029C6CC 0029960C 90 01 00 24 */ stw r0, 0x24(r1)
/* 8029C6D0 00299610 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8029C6D4 00299614 38 60 00 03 */ li r3, 3
/* 8029C6D8 00299618 3C 80 80 3A */ lis r4, lbl_8039B2F0@ha
/* 8029C6DC 0029961C 38 84 B2 F0 */ addi r4, r4, lbl_8039B2F0@l
/* 8029C6E0 00299620 4B FF 48 05 */ bl JASProbe_NS_start_X1_
/* 8029C6E4 00299624 48 00 13 BD */ bl JASDsp_NS_invalChannelAll
/* 8029C6E8 00299628 4B FF 49 79 */ bl JASPortCmd_NS_execAllCommand
/* 8029C6EC 0029962C 48 00 1B E5 */ bl JASDriver_NS_DSPSyncCallback
/* 8029C6F0 00299630 88 0D 8D 54 */ lbz r0, lbl_804512D4-_SDA_BASE_(r13)
/* 8029C6F4 00299634 7C 00 07 75 */ extsb. r0, r0
/* 8029C6F8 00299638 40 82 00 14 */ bne lbl_8029C70C
/* 8029C6FC 0029963C 38 00 00 00 */ li r0, 0
/* 8029C700 00299640 90 0D 8D 50 */ stw r0, lbl_804512D0-_SDA_BASE_(r13)
/* 8029C704 00299644 38 00 00 01 */ li r0, 1
/* 8029C708 00299648 98 0D 8D 54 */ stb r0, lbl_804512D4-_SDA_BASE_(r13)
lbl_8029C70C:
/* 8029C70C 0029964C 48 0A 60 09 */ bl OSGetTick
/* 8029C710 00299650 80 0D 8D 50 */ lwz r0, lbl_804512D0-_SDA_BASE_(r13)
/* 8029C714 00299654 7F E0 18 50 */ subf r31, r0, r3
/* 8029C718 00299658 90 6D 8D 50 */ stw r3, lbl_804512D0-_SDA_BASE_(r13)
/* 8029C71C 0029965C 48 00 02 D5 */ bl JASDriver_NS_getSubFrames
/* 8029C720 00299660 80 AD 8D 58 */ lwz r5, lbl_804512D8-_SDA_BASE_(r13)
/* 8029C724 00299664 7C 05 18 50 */ subf r0, r5, r3
/* 8029C728 00299668 54 00 10 3A */ slwi r0, r0, 2
/* 8029C72C 0029966C 3C 80 80 3C */ lis r4, lbl_803C78B8@ha
/* 8029C730 00299670 38 84 78 B8 */ addi r4, r4, lbl_803C78B8@l
/* 8029C734 00299674 7F E4 01 2E */ stwx r31, r4, r0
/* 8029C738 00299678 7C 03 28 40 */ cmplw r3, r5
/* 8029C73C 0029967C 41 82 00 58 */ beq lbl_8029C794
/* 8029C740 00299680 80 04 00 00 */ lwz r0, 0(r4)
/* 8029C744 00299684 C8 42 BD 38 */ lfd f2, lbl_80455738-_SDA2_BASE_(r2)
/* 8029C748 00299688 90 01 00 0C */ stw r0, 0xc(r1)
/* 8029C74C 0029968C 3C 00 43 30 */ lis r0, 0x4330
/* 8029C750 00299690 90 01 00 08 */ stw r0, 8(r1)
/* 8029C754 00299694 C8 01 00 08 */ lfd f0, 8(r1)
/* 8029C758 00299698 EC 20 10 28 */ fsubs f1, f0, f2
/* 8029C75C 0029969C 93 E1 00 14 */ stw r31, 0x14(r1)
/* 8029C760 002996A0 90 01 00 10 */ stw r0, 0x10(r1)
/* 8029C764 002996A4 C8 01 00 10 */ lfd f0, 0x10(r1)
/* 8029C768 002996A8 EC 00 10 28 */ fsubs f0, f0, f2
/* 8029C76C 002996AC EC 21 00 24 */ fdivs f1, f1, f0
/* 8029C770 002996B0 C0 02 BD 2C */ lfs f0, lbl_8045572C-_SDA2_BASE_(r2)
/* 8029C774 002996B4 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8029C778 002996B8 40 80 00 1C */ bge lbl_8029C794
/* 8029C77C 002996BC 3C 60 80 3A */ lis r3, lbl_8039B2F0@ha
/* 8029C780 002996C0 38 63 B2 F0 */ addi r3, r3, lbl_8039B2F0@l
/* 8029C784 002996C4 38 63 00 0B */ addi r3, r3, 0xb
/* 8029C788 002996C8 4C C6 31 82 */ crclr 6
/* 8029C78C 002996CC 4B FF 47 D9 */ bl JASReport
/* 8029C790 002996D0 48 00 11 81 */ bl JASDSPChannel_NS_killActiveChannel
lbl_8029C794:
/* 8029C794 002996D4 4B FF F4 B5 */ bl JASChannel_NS_receiveBankDisposeMsg
/* 8029C798 002996D8 48 00 11 05 */ bl JASDSPChannel_NS_updateAll
/* 8029C79C 002996DC 48 00 1B 0D */ bl JASDriver_NS_subframeCallback
/* 8029C7A0 002996E0 48 00 02 49 */ bl JASDriver_NS_getDacRate
/* 8029C7A4 002996E4 C0 02 BD 30 */ lfs f0, lbl_80455730-_SDA2_BASE_(r2)
/* 8029C7A8 002996E8 EC 20 08 24 */ fdivs f1, f0, f1
/* 8029C7AC 002996EC 3C 60 80 43 */ lis r3, lbl_80431C40@ha
/* 8029C7B0 002996F0 38 63 1C 40 */ addi r3, r3, lbl_80431C40@l
/* 8029C7B4 002996F4 4B FF F6 25 */ bl JASLfo_NS_incCounter
/* 8029C7B8 002996F8 38 60 00 03 */ li r3, 3
/* 8029C7BC 002996FC 4B FF 47 69 */ bl JASProbe_NS_stop_X1_
/* 8029C7C0 00299700 80 6D 8D 44 */ lwz r3, lbl_804512C4-_SDA_BASE_(r13)
/* 8029C7C4 00299704 38 03 00 01 */ addi r0, r3, 1
/* 8029C7C8 00299708 90 0D 8D 44 */ stw r0, lbl_804512C4-_SDA_BASE_(r13)
/* 8029C7CC 0029970C 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8029C7D0 00299710 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8029C7D4 00299714 7C 08 03 A6 */ mtlr r0
/* 8029C7D8 00299718 38 21 00 20 */ addi r1, r1, 0x20
/* 8029C7DC 0029971C 4E 80 00 20 */ blr
.global JASDriver_NS_readDspBuffer
JASDriver_NS_readDspBuffer:
/* 8029C7E0 00299720 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8029C7E4 00299724 7C 08 02 A6 */ mflr r0
/* 8029C7E8 00299728 90 01 00 14 */ stw r0, 0x14(r1)
/* 8029C7EC 0029972C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8029C7F0 00299730 93 C1 00 08 */ stw r30, 8(r1)
/* 8029C7F4 00299734 7C 7E 1B 78 */ mr r30, r3
/* 8029C7F8 00299738 7C 9F 23 78 */ mr r31, r4
/* 8029C7FC 0029973C 80 8D 8D 28 */ lwz r4, lbl_804512A8-_SDA_BASE_(r13)
/* 8029C800 00299740 38 A4 00 01 */ addi r5, r4, 1
/* 8029C804 00299744 88 6D 82 28 */ lbz r3, lbl_804507A8-_SDA_BASE_(r13)
/* 8029C808 00299748 7C 05 18 00 */ cmpw r5, r3
/* 8029C80C 0029974C 40 82 00 08 */ bne lbl_8029C814
/* 8029C810 00299750 38 A0 00 00 */ li r5, 0
lbl_8029C814:
/* 8029C814 00299754 80 0D 8D 24 */ lwz r0, lbl_804512A4-_SDA_BASE_(r13)
/* 8029C818 00299758 7C 05 00 00 */ cmpw r5, r0
/* 8029C81C 0029975C 40 82 00 90 */ bne lbl_8029C8AC
/* 8029C820 00299760 28 03 00 03 */ cmplwi r3, 3
/* 8029C824 00299764 41 80 00 88 */ blt lbl_8029C8AC
/* 8029C828 00299768 80 6D 8D 20 */ lwz r3, lbl_804512A0-_SDA_BASE_(r13)
/* 8029C82C 0029976C 54 80 10 3A */ slwi r0, r4, 2
/* 8029C830 00299770 7C 63 00 2E */ lwzx r3, r3, r0
/* 8029C834 00299774 38 63 FF FE */ addi r3, r3, -2
/* 8029C838 00299778 57 E0 00 3C */ rlwinm r0, r31, 0, 0, 0x1e
/* 8029C83C 0029977C 7C A3 02 AE */ lhax r5, r3, r0
/* 8029C840 00299780 57 E6 08 3C */ slwi r6, r31, 1
/* 8029C844 00299784 7C E3 32 AE */ lhax r7, r3, r6
/* 8029C848 00299788 38 60 00 00 */ li r3, 0
/* 8029C84C 0029978C 7F E9 03 A6 */ mtctr r31
/* 8029C850 00299790 28 1F 00 00 */ cmplwi r31, 0
/* 8029C854 00299794 40 81 00 20 */ ble lbl_8029C874
lbl_8029C858:
/* 8029C858 00299798 80 8D 8D 20 */ lwz r4, lbl_804512A0-_SDA_BASE_(r13)
/* 8029C85C 0029979C 80 0D 8D 28 */ lwz r0, lbl_804512A8-_SDA_BASE_(r13)
/* 8029C860 002997A0 54 00 10 3A */ slwi r0, r0, 2
/* 8029C864 002997A4 7C 84 00 2E */ lwzx r4, r4, r0
/* 8029C868 002997A8 7C A4 1B 2E */ sthx r5, r4, r3
/* 8029C86C 002997AC 38 63 00 02 */ addi r3, r3, 2
/* 8029C870 002997B0 42 00 FF E8 */ bdnz lbl_8029C858
lbl_8029C874:
/* 8029C874 002997B4 7C E5 07 34 */ extsh r5, r7
/* 8029C878 002997B8 57 E3 08 3C */ slwi r3, r31, 1
/* 8029C87C 002997BC 7C 1F 30 50 */ subf r0, r31, r6
/* 8029C880 002997C0 7C 09 03 A6 */ mtctr r0
/* 8029C884 002997C4 7C 1F 30 40 */ cmplw r31, r6
/* 8029C888 002997C8 40 80 00 3C */ bge lbl_8029C8C4
lbl_8029C88C:
/* 8029C88C 002997CC 80 8D 8D 20 */ lwz r4, lbl_804512A0-_SDA_BASE_(r13)
/* 8029C890 002997D0 80 0D 8D 28 */ lwz r0, lbl_804512A8-_SDA_BASE_(r13)
/* 8029C894 002997D4 54 00 10 3A */ slwi r0, r0, 2
/* 8029C898 002997D8 7C 84 00 2E */ lwzx r4, r4, r0
/* 8029C89C 002997DC 7C A4 1B 2E */ sthx r5, r4, r3
/* 8029C8A0 002997E0 38 63 00 02 */ addi r3, r3, 2
/* 8029C8A4 002997E4 42 00 FF E8 */ bdnz lbl_8029C88C
/* 8029C8A8 002997E8 48 00 00 1C */ b lbl_8029C8C4
lbl_8029C8AC:
/* 8029C8AC 002997EC 90 AD 8D 28 */ stw r5, lbl_804512A8-_SDA_BASE_(r13)
/* 8029C8B0 002997F0 80 6D 8D 20 */ lwz r3, lbl_804512A0-_SDA_BASE_(r13)
/* 8029C8B4 002997F4 54 A0 10 3A */ slwi r0, r5, 2
/* 8029C8B8 002997F8 7C 63 00 2E */ lwzx r3, r3, r0
/* 8029C8BC 002997FC 57 E4 10 3A */ slwi r4, r31, 2
/* 8029C8C0 00299800 48 09 EC C1 */ bl DCInvalidateRange
lbl_8029C8C4:
/* 8029C8C4 00299804 80 6D 8D 20 */ lwz r3, lbl_804512A0-_SDA_BASE_(r13)
/* 8029C8C8 00299808 80 0D 8D 28 */ lwz r0, lbl_804512A8-_SDA_BASE_(r13)
/* 8029C8CC 0029980C 54 00 10 3A */ slwi r0, r0, 2
/* 8029C8D0 00299810 7C 83 00 2E */ lwzx r4, r3, r0
/* 8029C8D4 00299814 57 E0 08 3C */ slwi r0, r31, 1
/* 8029C8D8 00299818 7C 64 02 14 */ add r3, r4, r0
/* 8029C8DC 0029981C 7F C5 F3 78 */ mr r5, r30
/* 8029C8E0 00299820 7F E6 FB 78 */ mr r6, r31
/* 8029C8E4 00299824 4B FF 2A 05 */ bl JASCalc_NS_imixcopy
/* 8029C8E8 00299828 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8029C8EC 0029982C 83 C1 00 08 */ lwz r30, 8(r1)
/* 8029C8F0 00299830 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8029C8F4 00299834 7C 08 03 A6 */ mtlr r0
/* 8029C8F8 00299838 38 21 00 10 */ addi r1, r1, 0x10
/* 8029C8FC 0029983C 4E 80 00 20 */ blr
.global JASDriver_NS_finishDSPFrame
JASDriver_NS_finishDSPFrame:
/* 8029C900 00299840 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8029C904 00299844 7C 08 02 A6 */ mflr r0
/* 8029C908 00299848 90 01 00 14 */ stw r0, 0x14(r1)
/* 8029C90C 0029984C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8029C910 00299850 93 C1 00 08 */ stw r30, 8(r1)
/* 8029C914 00299854 80 6D 8D 24 */ lwz r3, lbl_804512A4-_SDA_BASE_(r13)
/* 8029C918 00299858 38 63 00 01 */ addi r3, r3, 1
/* 8029C91C 0029985C 88 0D 82 28 */ lbz r0, lbl_804507A8-_SDA_BASE_(r13)
/* 8029C920 00299860 7C 03 00 00 */ cmpw r3, r0
/* 8029C924 00299864 40 82 00 08 */ bne lbl_8029C92C
/* 8029C928 00299868 38 60 00 00 */ li r3, 0
lbl_8029C92C:
/* 8029C92C 0029986C 80 0D 8D 28 */ lwz r0, lbl_804512A8-_SDA_BASE_(r13)
/* 8029C930 00299870 7C 03 00 00 */ cmpw r3, r0
/* 8029C934 00299874 40 82 00 10 */ bne lbl_8029C944
/* 8029C938 00299878 38 00 00 00 */ li r0, 0
/* 8029C93C 0029987C 90 0D 8D 2C */ stw r0, lbl_804512AC-_SDA_BASE_(r13)
/* 8029C940 00299880 48 00 00 84 */ b lbl_8029C9C4
lbl_8029C944:
/* 8029C944 00299884 90 6D 8D 24 */ stw r3, lbl_804512A4-_SDA_BASE_(r13)
/* 8029C948 00299888 48 00 00 A9 */ bl JASDriver_NS_getSubFrames
/* 8029C94C 0029988C 90 6D 8D 58 */ stw r3, lbl_804512D8-_SDA_BASE_(r13)
/* 8029C950 00299890 38 60 00 07 */ li r3, 7
/* 8029C954 00299894 3C 80 80 3A */ lis r4, lbl_8039B2F0@ha
/* 8029C958 00299898 38 84 B2 F0 */ addi r4, r4, lbl_8039B2F0@l
/* 8029C95C 0029989C 38 84 00 1C */ addi r4, r4, 0x1c
/* 8029C960 002998A0 4B FF 45 85 */ bl JASProbe_NS_start_X1_
/* 8029C964 002998A4 48 00 00 A1 */ bl JASDriver_NS_getFrameSamples
/* 8029C968 002998A8 7C 7E 1B 78 */ mr r30, r3
/* 8029C96C 002998AC 80 6D 8D 20 */ lwz r3, lbl_804512A0-_SDA_BASE_(r13)
/* 8029C970 002998B0 80 0D 8D 24 */ lwz r0, lbl_804512A4-_SDA_BASE_(r13)
/* 8029C974 002998B4 54 00 10 3A */ slwi r0, r0, 2
/* 8029C978 002998B8 7F E3 00 2E */ lwzx r31, r3, r0
/* 8029C97C 002998BC 48 00 00 75 */ bl JASDriver_NS_getSubFrames
/* 8029C980 002998C0 7F E4 FB 78 */ mr r4, r31
/* 8029C984 002998C4 57 C0 08 3C */ slwi r0, r30, 1
/* 8029C988 002998C8 7C BF 02 14 */ add r5, r31, r0
/* 8029C98C 002998CC 48 00 10 59 */ bl JASDsp_NS_syncFrame
/* 8029C990 002998D0 38 00 00 01 */ li r0, 1
/* 8029C994 002998D4 90 0D 8D 2C */ stw r0, lbl_804512AC-_SDA_BASE_(r13)
/* 8029C998 002998D8 4B FF FD 2D */ bl JASDriver_NS_updateDSP
/* 8029C99C 002998DC 81 8D 8D 30 */ lwz r12, lbl_804512B0-_SDA_BASE_(r13)
/* 8029C9A0 002998E0 28 0C 00 00 */ cmplwi r12, 0
/* 8029C9A4 002998E4 41 82 00 20 */ beq lbl_8029C9C4
/* 8029C9A8 002998E8 80 6D 8D 20 */ lwz r3, lbl_804512A0-_SDA_BASE_(r13)
/* 8029C9AC 002998EC 80 0D 8D 24 */ lwz r0, lbl_804512A4-_SDA_BASE_(r13)
/* 8029C9B0 002998F0 54 00 10 3A */ slwi r0, r0, 2
/* 8029C9B4 002998F4 7C 63 00 2E */ lwzx r3, r3, r0
/* 8029C9B8 002998F8 7F C4 F3 78 */ mr r4, r30
/* 8029C9BC 002998FC 7D 89 03 A6 */ mtctr r12
/* 8029C9C0 00299900 4E 80 04 21 */ bctrl
lbl_8029C9C4:
/* 8029C9C4 00299904 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8029C9C8 00299908 83 C1 00 08 */ lwz r30, 8(r1)
/* 8029C9CC 0029990C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8029C9D0 00299910 7C 08 03 A6 */ mtlr r0
/* 8029C9D4 00299914 38 21 00 10 */ addi r1, r1, 0x10
/* 8029C9D8 00299918 4E 80 00 20 */ blr
/* 8029C9DC 0029991C 90 6D 8D 3C */ stw r3, lbl_804512BC-_SDA_BASE_(r13)
/* 8029C9E0 00299920 90 8D 82 2C */ stw r4, lbl_804507AC-_SDA_BASE_(r13)
/* 8029C9E4 00299924 4E 80 00 20 */ blr
.global JASDriver_NS_getDacRate
JASDriver_NS_getDacRate:
/* 8029C9E8 00299928 C0 2D 82 30 */ lfs f1, lbl_804507B0-_SDA_BASE_(r13)
/* 8029C9EC 0029992C 4E 80 00 20 */ blr
.global JASDriver_NS_getSubFrames
JASDriver_NS_getSubFrames:
/* 8029C9F0 00299930 80 6D 82 34 */ lwz r3, lbl_804507B4-_SDA_BASE_(r13)
/* 8029C9F4 00299934 4E 80 00 20 */ blr
.global JASDriver_NS_getDacSize
JASDriver_NS_getDacSize:
/* 8029C9F8 00299938 80 0D 82 34 */ lwz r0, lbl_804507B4-_SDA_BASE_(r13)
/* 8029C9FC 0029993C 1C 60 00 A0 */ mulli r3, r0, 0xa0
/* 8029CA00 00299940 4E 80 00 20 */ blr
.global JASDriver_NS_getFrameSamples
JASDriver_NS_getFrameSamples:
/* 8029CA04 00299944 80 0D 82 34 */ lwz r0, lbl_804507B4-_SDA_BASE_(r13)
/* 8029CA08 00299948 1C 60 00 50 */ mulli r3, r0, 0x50
/* 8029CA0C 0029994C 4E 80 00 20 */ blr
/* 8029CA10 00299950 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8029CA14 00299954 7C 08 02 A6 */ mflr r0
/* 8029CA18 00299958 90 01 00 24 */ stw r0, 0x24(r1)
/* 8029CA1C 0029995C 39 61 00 20 */ addi r11, r1, 0x20
/* 8029CA20 00299960 48 0C 57 B9 */ bl func_803621D8
/* 8029CA24 00299964 7C 7E 1B 78 */ mr r30, r3
/* 8029CA28 00299968 7C 9C 23 78 */ mr r28, r4
/* 8029CA2C 0029996C 7C BD 2B 78 */ mr r29, r5
/* 8029CA30 00299970 38 60 00 05 */ li r3, 5
/* 8029CA34 00299974 3C 80 80 3A */ lis r4, lbl_8039B2F0@ha
/* 8029CA38 00299978 38 84 B2 F0 */ addi r4, r4, lbl_8039B2F0@l
/* 8029CA3C 0029997C 38 84 00 25 */ addi r4, r4, 0x25
/* 8029CA40 00299980 4B FF 44 A5 */ bl JASProbe_NS_start_X1_
/* 8029CA44 00299984 7F 83 E3 78 */ mr r3, r28
/* 8029CA48 00299988 7F AC EB 78 */ mr r12, r29
/* 8029CA4C 0029998C 7D 89 03 A6 */ mtctr r12
/* 8029CA50 00299990 4E 80 04 21 */ bctrl
/* 8029CA54 00299994 7C 7F 1B 79 */ or. r31, r3, r3
/* 8029CA58 00299998 41 82 00 50 */ beq lbl_8029CAA8
/* 8029CA5C 0029999C 38 60 00 05 */ li r3, 5
/* 8029CA60 002999A0 4B FF 44 C5 */ bl JASProbe_NS_stop_X1_
/* 8029CA64 002999A4 7F 9D E3 78 */ mr r29, r28
/* 8029CA68 002999A8 48 00 00 38 */ b lbl_8029CAA0
lbl_8029CA6C:
/* 8029CA6C 002999AC A8 7E 00 00 */ lha r3, 0(r30)
/* 8029CA70 002999B0 A8 1F 00 00 */ lha r0, 0(r31)
/* 8029CA74 002999B4 7C 63 02 14 */ add r3, r3, r0
/* 8029CA78 002999B8 4B FF 2C 25 */ bl JASCalc_NS_clamp
/* 8029CA7C 002999BC B0 7E 00 00 */ sth r3, 0(r30)
/* 8029CA80 002999C0 A8 7E 00 02 */ lha r3, 2(r30)
/* 8029CA84 002999C4 A8 1F 00 00 */ lha r0, 0(r31)
/* 8029CA88 002999C8 7C 63 02 14 */ add r3, r3, r0
/* 8029CA8C 002999CC 4B FF 2C 11 */ bl JASCalc_NS_clamp
/* 8029CA90 002999D0 B0 7E 00 02 */ sth r3, 2(r30)
/* 8029CA94 002999D4 3B DE 00 04 */ addi r30, r30, 4
/* 8029CA98 002999D8 3B FF 00 02 */ addi r31, r31, 2
/* 8029CA9C 002999DC 3B BD FF FF */ addi r29, r29, -1
lbl_8029CAA0:
/* 8029CAA0 002999E0 28 1D 00 00 */ cmplwi r29, 0
/* 8029CAA4 002999E4 40 82 FF C8 */ bne lbl_8029CA6C
lbl_8029CAA8:
/* 8029CAA8 002999E8 39 61 00 20 */ addi r11, r1, 0x20
/* 8029CAAC 002999EC 48 0C 57 79 */ bl func_80362224
/* 8029CAB0 002999F0 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8029CAB4 002999F4 7C 08 03 A6 */ mtlr r0
/* 8029CAB8 002999F8 38 21 00 20 */ addi r1, r1, 0x20
/* 8029CABC 002999FC 4E 80 00 20 */ blr
/* 8029CAC0 00299A00 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8029CAC4 00299A04 7C 08 02 A6 */ mflr r0
/* 8029CAC8 00299A08 90 01 00 24 */ stw r0, 0x24(r1)
/* 8029CACC 00299A0C 39 61 00 20 */ addi r11, r1, 0x20
/* 8029CAD0 00299A10 48 0C 57 09 */ bl func_803621D8
/* 8029CAD4 00299A14 7C 7E 1B 78 */ mr r30, r3
/* 8029CAD8 00299A18 7C 9C 23 78 */ mr r28, r4
/* 8029CADC 00299A1C 7C BD 2B 78 */ mr r29, r5
/* 8029CAE0 00299A20 38 60 00 05 */ li r3, 5
/* 8029CAE4 00299A24 3C 80 80 3A */ lis r4, lbl_8039B2F0@ha
/* 8029CAE8 00299A28 38 84 B2 F0 */ addi r4, r4, lbl_8039B2F0@l
/* 8029CAEC 00299A2C 38 84 00 2E */ addi r4, r4, 0x2e
/* 8029CAF0 00299A30 4B FF 43 F5 */ bl JASProbe_NS_start_X1_
/* 8029CAF4 00299A34 7F 83 E3 78 */ mr r3, r28
/* 8029CAF8 00299A38 7F AC EB 78 */ mr r12, r29
/* 8029CAFC 00299A3C 7D 89 03 A6 */ mtctr r12
/* 8029CB00 00299A40 4E 80 04 21 */ bctrl
/* 8029CB04 00299A44 7C 7F 1B 79 */ or. r31, r3, r3
/* 8029CB08 00299A48 41 82 00 50 */ beq lbl_8029CB58
/* 8029CB0C 00299A4C 38 60 00 05 */ li r3, 5
/* 8029CB10 00299A50 4B FF 44 15 */ bl JASProbe_NS_stop_X1_
/* 8029CB14 00299A54 7F 9D E3 78 */ mr r29, r28
/* 8029CB18 00299A58 48 00 00 38 */ b lbl_8029CB50
lbl_8029CB1C:
/* 8029CB1C 00299A5C A8 7E 00 00 */ lha r3, 0(r30)
/* 8029CB20 00299A60 A8 1F 00 00 */ lha r0, 0(r31)
/* 8029CB24 00299A64 7C 63 02 14 */ add r3, r3, r0
/* 8029CB28 00299A68 4B FF 2B 75 */ bl JASCalc_NS_clamp
/* 8029CB2C 00299A6C B0 7E 00 00 */ sth r3, 0(r30)
/* 8029CB30 00299A70 A8 7E 00 02 */ lha r3, 2(r30)
/* 8029CB34 00299A74 A8 1F 00 00 */ lha r0, 0(r31)
/* 8029CB38 00299A78 7C 60 18 50 */ subf r3, r0, r3
/* 8029CB3C 00299A7C 4B FF 2B 61 */ bl JASCalc_NS_clamp
/* 8029CB40 00299A80 B0 7E 00 02 */ sth r3, 2(r30)
/* 8029CB44 00299A84 3B DE 00 04 */ addi r30, r30, 4
/* 8029CB48 00299A88 3B FF 00 02 */ addi r31, r31, 2
/* 8029CB4C 00299A8C 3B BD FF FF */ addi r29, r29, -1
lbl_8029CB50:
/* 8029CB50 00299A90 28 1D 00 00 */ cmplwi r29, 0
/* 8029CB54 00299A94 40 82 FF C8 */ bne lbl_8029CB1C
lbl_8029CB58:
/* 8029CB58 00299A98 39 61 00 20 */ addi r11, r1, 0x20
/* 8029CB5C 00299A9C 48 0C 56 C9 */ bl func_80362224
/* 8029CB60 00299AA0 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8029CB64 00299AA4 7C 08 03 A6 */ mtlr r0
/* 8029CB68 00299AA8 38 21 00 20 */ addi r1, r1, 0x20
/* 8029CB6C 00299AAC 4E 80 00 20 */ blr
/* 8029CB70 00299AB0 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8029CB74 00299AB4 7C 08 02 A6 */ mflr r0
/* 8029CB78 00299AB8 90 01 00 24 */ stw r0, 0x24(r1)
/* 8029CB7C 00299ABC 39 61 00 20 */ addi r11, r1, 0x20
/* 8029CB80 00299AC0 48 0C 56 55 */ bl func_803621D4
/* 8029CB84 00299AC4 7C 7D 1B 78 */ mr r29, r3
/* 8029CB88 00299AC8 7C 9B 23 78 */ mr r27, r4
/* 8029CB8C 00299ACC 7C BC 2B 78 */ mr r28, r5
/* 8029CB90 00299AD0 38 60 00 05 */ li r3, 5
/* 8029CB94 00299AD4 3C 80 80 3A */ lis r4, lbl_8039B2F0@ha
/* 8029CB98 00299AD8 38 84 B2 F0 */ addi r4, r4, lbl_8039B2F0@l
/* 8029CB9C 00299ADC 38 84 00 3A */ addi r4, r4, 0x3a
/* 8029CBA0 00299AE0 4B FF 43 45 */ bl JASProbe_NS_start_X1_
/* 8029CBA4 00299AE4 7F 63 DB 78 */ mr r3, r27
/* 8029CBA8 00299AE8 7F 8C E3 78 */ mr r12, r28
/* 8029CBAC 00299AEC 7D 89 03 A6 */ mtctr r12
/* 8029CBB0 00299AF0 4E 80 04 21 */ bctrl
/* 8029CBB4 00299AF4 7C 7F 1B 79 */ or. r31, r3, r3
/* 8029CBB8 00299AF8 41 82 00 80 */ beq lbl_8029CC38
/* 8029CBBC 00299AFC 38 60 00 05 */ li r3, 5
/* 8029CBC0 00299B00 4B FF 43 65 */ bl JASProbe_NS_stop_X1_
/* 8029CBC4 00299B04 38 60 00 06 */ li r3, 6
/* 8029CBC8 00299B08 3C 80 80 3A */ lis r4, lbl_8039B2F0@ha
/* 8029CBCC 00299B0C 38 84 B2 F0 */ addi r4, r4, lbl_8039B2F0@l
/* 8029CBD0 00299B10 38 84 00 41 */ addi r4, r4, 0x41
/* 8029CBD4 00299B14 4B FF 43 11 */ bl JASProbe_NS_start_X1_
/* 8029CBD8 00299B18 7F BE EB 78 */ mr r30, r29
/* 8029CBDC 00299B1C 4B FF FE 29 */ bl JASDriver_NS_getFrameSamples
/* 8029CBE0 00299B20 54 60 08 3C */ slwi r0, r3, 1
/* 8029CBE4 00299B24 7F BF 02 14 */ add r29, r31, r0
/* 8029CBE8 00299B28 7F 7C DB 78 */ mr r28, r27
/* 8029CBEC 00299B2C 48 00 00 3C */ b lbl_8029CC28
lbl_8029CBF0:
/* 8029CBF0 00299B30 A8 7E 00 00 */ lha r3, 0(r30)
/* 8029CBF4 00299B34 A8 1D 00 00 */ lha r0, 0(r29)
/* 8029CBF8 00299B38 7C 63 02 14 */ add r3, r3, r0
/* 8029CBFC 00299B3C 4B FF 2A A1 */ bl JASCalc_NS_clamp
/* 8029CC00 00299B40 B0 7E 00 00 */ sth r3, 0(r30)
/* 8029CC04 00299B44 A8 7E 00 02 */ lha r3, 2(r30)
/* 8029CC08 00299B48 A8 1F 00 00 */ lha r0, 0(r31)
/* 8029CC0C 00299B4C 7C 63 02 14 */ add r3, r3, r0
/* 8029CC10 00299B50 4B FF 2A 8D */ bl JASCalc_NS_clamp
/* 8029CC14 00299B54 B0 7E 00 02 */ sth r3, 2(r30)
/* 8029CC18 00299B58 3B DE 00 04 */ addi r30, r30, 4
/* 8029CC1C 00299B5C 3B BD 00 02 */ addi r29, r29, 2
/* 8029CC20 00299B60 3B FF 00 02 */ addi r31, r31, 2
/* 8029CC24 00299B64 3B 9C FF FF */ addi r28, r28, -1
lbl_8029CC28:
/* 8029CC28 00299B68 28 1C 00 00 */ cmplwi r28, 0
/* 8029CC2C 00299B6C 40 82 FF C4 */ bne lbl_8029CBF0
/* 8029CC30 00299B70 38 60 00 06 */ li r3, 6
/* 8029CC34 00299B74 4B FF 42 F1 */ bl JASProbe_NS_stop_X1_
lbl_8029CC38:
/* 8029CC38 00299B78 39 61 00 20 */ addi r11, r1, 0x20
/* 8029CC3C 00299B7C 48 0C 55 E5 */ bl func_80362220
/* 8029CC40 00299B80 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8029CC44 00299B84 7C 08 03 A6 */ mtlr r0
/* 8029CC48 00299B88 38 21 00 20 */ addi r1, r1, 0x20
/* 8029CC4C 00299B8C 4E 80 00 20 */ blr
/* 8029CC50 00299B90 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8029CC54 00299B94 7C 08 02 A6 */ mflr r0
/* 8029CC58 00299B98 90 01 00 24 */ stw r0, 0x24(r1)
/* 8029CC5C 00299B9C 39 61 00 20 */ addi r11, r1, 0x20
/* 8029CC60 00299BA0 48 0C 55 7D */ bl func_803621DC
/* 8029CC64 00299BA4 7C 7E 1B 78 */ mr r30, r3
/* 8029CC68 00299BA8 7C 9D 23 78 */ mr r29, r4
/* 8029CC6C 00299BAC 7F A3 EB 78 */ mr r3, r29
/* 8029CC70 00299BB0 7C AC 2B 78 */ mr r12, r5
/* 8029CC74 00299BB4 7D 89 03 A6 */ mtctr r12
/* 8029CC78 00299BB8 4E 80 04 21 */ bctrl
/* 8029CC7C 00299BBC 28 03 00 00 */ cmplwi r3, 0
/* 8029CC80 00299BC0 41 82 00 3C */ beq lbl_8029CCBC
/* 8029CC84 00299BC4 7F DF F3 78 */ mr r31, r30
/* 8029CC88 00299BC8 7C 7E 1B 78 */ mr r30, r3
/* 8029CC8C 00299BCC 57 BD 08 3C */ slwi r29, r29, 1
/* 8029CC90 00299BD0 48 00 00 24 */ b lbl_8029CCB4
lbl_8029CC94:
/* 8029CC94 00299BD4 A8 7F 00 00 */ lha r3, 0(r31)
/* 8029CC98 00299BD8 A8 1E 00 00 */ lha r0, 0(r30)
/* 8029CC9C 00299BDC 7C 63 02 14 */ add r3, r3, r0
/* 8029CCA0 00299BE0 4B FF 29 FD */ bl JASCalc_NS_clamp
/* 8029CCA4 00299BE4 B0 7F 00 00 */ sth r3, 0(r31)
/* 8029CCA8 00299BE8 3B FF 00 02 */ addi r31, r31, 2
/* 8029CCAC 00299BEC 3B DE 00 02 */ addi r30, r30, 2
/* 8029CCB0 00299BF0 3B BD FF FF */ addi r29, r29, -1
lbl_8029CCB4:
/* 8029CCB4 00299BF4 28 1D 00 00 */ cmplwi r29, 0
/* 8029CCB8 00299BF8 40 82 FF DC */ bne lbl_8029CC94
lbl_8029CCBC:
/* 8029CCBC 00299BFC 39 61 00 20 */ addi r11, r1, 0x20
/* 8029CCC0 00299C00 48 0C 55 69 */ bl func_80362228
/* 8029CCC4 00299C04 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8029CCC8 00299C08 7C 08 03 A6 */ mtlr r0
/* 8029CCCC 00299C0C 38 21 00 20 */ addi r1, r1, 0x20
/* 8029CCD0 00299C10 4E 80 00 20 */ blr
.global JASDriver_NS_getSubFrameCounter
JASDriver_NS_getSubFrameCounter:
/* 8029CCD4 00299C14 80 6D 8D 44 */ lwz r3, lbl_804512C4-_SDA_BASE_(r13)
/* 8029CCD8 00299C18 4E 80 00 20 */ blr

1619
asm/JAudio2/JASAramStream.s Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,179 @@
.include "macros.inc"
.section .text, "ax" # 8029d0b4
.global JASAudioReseter
JASAudioReseter:
/* 8029D0B4 00299FF4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8029D0B8 00299FF8 7C 08 02 A6 */ mflr r0
/* 8029D0BC 00299FFC 90 01 00 14 */ stw r0, 0x14(r1)
/* 8029D0C0 0029A000 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8029D0C4 0029A004 7C 7F 1B 78 */ mr r31, r3
/* 8029D0C8 0029A008 38 60 00 00 */ li r3, 0
/* 8029D0CC 0029A00C 90 7F 00 00 */ stw r3, 0(r31)
/* 8029D0D0 0029A010 38 00 00 01 */ li r0, 1
/* 8029D0D4 0029A014 90 1F 00 08 */ stw r0, 8(r31)
/* 8029D0D8 0029A018 98 7F 00 0C */ stb r3, 0xc(r31)
/* 8029D0DC 0029A01C 48 00 10 7D */ bl JASDriver_NS_getDSPLevel
/* 8029D0E0 0029A020 D0 3F 00 04 */ stfs f1, 4(r31)
/* 8029D0E4 0029A024 7F E3 FB 78 */ mr r3, r31
/* 8029D0E8 0029A028 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8029D0EC 0029A02C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8029D0F0 0029A030 7C 08 03 A6 */ mtlr r0
/* 8029D0F4 0029A034 38 21 00 10 */ addi r1, r1, 0x10
/* 8029D0F8 0029A038 4E 80 00 20 */ blr
.global JASAudioReseter_NS_dtor
JASAudioReseter_NS_dtor:
/* 8029D0FC 0029A03C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8029D100 0029A040 7C 08 02 A6 */ mflr r0
/* 8029D104 0029A044 90 01 00 14 */ stw r0, 0x14(r1)
/* 8029D108 0029A048 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8029D10C 0029A04C 7C 7F 1B 79 */ or. r31, r3, r3
/* 8029D110 0029A050 41 82 00 10 */ beq lbl_8029D120
/* 8029D114 0029A054 7C 80 07 35 */ extsh. r0, r4
/* 8029D118 0029A058 40 81 00 08 */ ble lbl_8029D120
/* 8029D11C 0029A05C 48 03 1C 21 */ bl __dl
lbl_8029D120:
/* 8029D120 0029A060 7F E3 FB 78 */ mr r3, r31
/* 8029D124 0029A064 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8029D128 0029A068 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8029D12C 0029A06C 7C 08 03 A6 */ mtlr r0
/* 8029D130 0029A070 38 21 00 10 */ addi r1, r1, 0x10
/* 8029D134 0029A074 4E 80 00 20 */ blr
.global JASAudioReseter_NS_start
JASAudioReseter_NS_start:
/* 8029D138 0029A078 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8029D13C 0029A07C 7C 08 02 A6 */ mflr r0
/* 8029D140 0029A080 90 01 00 24 */ stw r0, 0x24(r1)
/* 8029D144 0029A084 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8029D148 0029A088 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8029D14C 0029A08C 7C 7E 1B 78 */ mr r30, r3
/* 8029D150 0029A090 7C 9F 23 78 */ mr r31, r4
/* 8029D154 0029A094 80 03 00 08 */ lwz r0, 8(r3)
/* 8029D158 0029A098 2C 00 00 00 */ cmpwi r0, 0
/* 8029D15C 0029A09C 40 82 00 0C */ bne lbl_8029D168
/* 8029D160 0029A0A0 38 60 00 00 */ li r3, 0
/* 8029D164 0029A0A4 48 00 00 58 */ b lbl_8029D1BC
lbl_8029D168:
/* 8029D168 0029A0A8 98 BE 00 0C */ stb r5, 0xc(r30)
/* 8029D16C 0029A0AC 48 0A 05 89 */ bl __RAS_OSDisableInterrupts_begin
/* 8029D170 0029A0B0 90 61 00 08 */ stw r3, 8(r1)
.global JASAudioReseter_NS_callback
/* 8029D174 0029A0B4 3C 60 80 2A */ lis r3, JASAudioReseter_NS_callback@ha
.global JASAudioReseter_NS_callback
/* 8029D178 0029A0B8 38 63 D2 D4 */ addi r3, r3, JASAudioReseter_NS_callback@l
/* 8029D17C 0029A0BC 7F C4 F3 78 */ mr r4, r30
/* 8029D180 0029A0C0 48 00 10 C1 */ bl JASDriver_NS_registerDspSyncCallback
/* 8029D184 0029A0C4 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 8029D188 0029A0C8 40 82 00 14 */ bne lbl_8029D19C
/* 8029D18C 0029A0CC 80 61 00 08 */ lwz r3, 8(r1)
/* 8029D190 0029A0D0 48 0A 05 8D */ bl OSRestoreInterrupts
/* 8029D194 0029A0D4 38 60 00 00 */ li r3, 0
/* 8029D198 0029A0D8 48 00 00 24 */ b lbl_8029D1BC
lbl_8029D19C:
/* 8029D19C 0029A0DC 48 00 0F BD */ bl JASDriver_NS_getDSPLevel
/* 8029D1A0 0029A0E0 D0 3E 00 04 */ stfs f1, 4(r30)
/* 8029D1A4 0029A0E4 93 FE 00 00 */ stw r31, 0(r30)
/* 8029D1A8 0029A0E8 38 00 00 00 */ li r0, 0
/* 8029D1AC 0029A0EC 90 1E 00 08 */ stw r0, 8(r30)
/* 8029D1B0 0029A0F0 80 61 00 08 */ lwz r3, 8(r1)
/* 8029D1B4 0029A0F4 48 0A 05 69 */ bl OSRestoreInterrupts
/* 8029D1B8 0029A0F8 38 60 00 01 */ li r3, 1
lbl_8029D1BC:
/* 8029D1BC 0029A0FC 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8029D1C0 0029A100 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8029D1C4 0029A104 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8029D1C8 0029A108 7C 08 03 A6 */ mtlr r0
/* 8029D1CC 0029A10C 38 21 00 20 */ addi r1, r1, 0x20
/* 8029D1D0 0029A110 4E 80 00 20 */ blr
.global JASAudioReseter_NS_resume
JASAudioReseter_NS_resume:
/* 8029D1D4 0029A114 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8029D1D8 0029A118 7C 08 02 A6 */ mflr r0
/* 8029D1DC 0029A11C 90 01 00 14 */ stw r0, 0x14(r1)
/* 8029D1E0 0029A120 C0 23 00 04 */ lfs f1, 4(r3)
/* 8029D1E4 0029A124 48 00 0F 4D */ bl JASDriver_NS_setDSPLevel
/* 8029D1E8 0029A128 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8029D1EC 0029A12C 7C 08 03 A6 */ mtlr r0
/* 8029D1F0 0029A130 38 21 00 10 */ addi r1, r1, 0x10
/* 8029D1F4 0029A134 4E 80 00 20 */ blr
.global JASAudioReseter_NS_checkDone
JASAudioReseter_NS_checkDone:
/* 8029D1F8 0029A138 80 63 00 08 */ lwz r3, 8(r3)
/* 8029D1FC 0029A13C 4E 80 00 20 */ blr
.global JASAudioReseter_NS_calc
JASAudioReseter_NS_calc:
/* 8029D200 0029A140 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8029D204 0029A144 7C 08 02 A6 */ mflr r0
/* 8029D208 0029A148 90 01 00 24 */ stw r0, 0x24(r1)
/* 8029D20C 0029A14C 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8029D210 0029A150 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8029D214 0029A154 7C 7E 1B 78 */ mr r30, r3
/* 8029D218 0029A158 80 63 00 00 */ lwz r3, 0(r3)
/* 8029D21C 0029A15C 28 03 00 00 */ cmplwi r3, 0
/* 8029D220 0029A160 40 82 00 50 */ bne lbl_8029D270
/* 8029D224 0029A164 3B E0 00 00 */ li r31, 0
lbl_8029D228:
/* 8029D228 0029A168 7F E3 FB 78 */ mr r3, r31
/* 8029D22C 0029A16C 48 00 07 1D */ bl JASDSPChannel_NS_getHandle
/* 8029D230 0029A170 80 03 00 00 */ lwz r0, 0(r3)
/* 8029D234 0029A174 54 00 06 3F */ clrlwi. r0, r0, 0x18
/* 8029D238 0029A178 40 82 00 08 */ bne lbl_8029D240
/* 8029D23C 0029A17C 48 00 01 05 */ bl JASDSPChannel_NS_drop
lbl_8029D240:
/* 8029D240 0029A180 3B FF 00 01 */ addi r31, r31, 1
/* 8029D244 0029A184 28 1F 00 40 */ cmplwi r31, 0x40
/* 8029D248 0029A188 41 80 FF E0 */ blt lbl_8029D228
/* 8029D24C 0029A18C 88 1E 00 0C */ lbz r0, 0xc(r30)
/* 8029D250 0029A190 28 00 00 00 */ cmplwi r0, 0
/* 8029D254 0029A194 41 82 00 0C */ beq lbl_8029D260
/* 8029D258 0029A198 80 6D 86 0C */ lwz r3, lbl_80450B8C-_SDA_BASE_(r13)
/* 8029D25C 0029A19C 4B FF FB 65 */ bl JASAudioThread_NS_stop
lbl_8029D260:
/* 8029D260 0029A1A0 38 00 00 01 */ li r0, 1
/* 8029D264 0029A1A4 90 1E 00 08 */ stw r0, 8(r30)
/* 8029D268 0029A1A8 38 60 FF FF */ li r3, -1
/* 8029D26C 0029A1AC 48 00 00 50 */ b lbl_8029D2BC
lbl_8029D270:
/* 8029D270 0029A1B0 38 03 FF FF */ addi r0, r3, -1
/* 8029D274 0029A1B4 90 1E 00 00 */ stw r0, 0(r30)
/* 8029D278 0029A1B8 83 FE 00 00 */ lwz r31, 0(r30)
/* 8029D27C 0029A1BC 48 00 0E DD */ bl JASDriver_NS_getDSPLevel
/* 8029D280 0029A1C0 C8 42 BD 40 */ lfd f2, lbl_80455740-_SDA2_BASE_(r2)
/* 8029D284 0029A1C4 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8029D288 0029A1C8 3C 60 43 30 */ lis r3, 0x4330
/* 8029D28C 0029A1CC 90 61 00 08 */ stw r3, 8(r1)
/* 8029D290 0029A1D0 C8 01 00 08 */ lfd f0, 8(r1)
/* 8029D294 0029A1D4 EC 00 10 28 */ fsubs f0, f0, f2
/* 8029D298 0029A1D8 EC 20 00 72 */ fmuls f1, f0, f1
/* 8029D29C 0029A1DC 38 1F 00 01 */ addi r0, r31, 1
/* 8029D2A0 0029A1E0 90 01 00 14 */ stw r0, 0x14(r1)
/* 8029D2A4 0029A1E4 90 61 00 10 */ stw r3, 0x10(r1)
/* 8029D2A8 0029A1E8 C8 01 00 10 */ lfd f0, 0x10(r1)
/* 8029D2AC 0029A1EC EC 00 10 28 */ fsubs f0, f0, f2
/* 8029D2B0 0029A1F0 EC 21 00 24 */ fdivs f1, f1, f0
/* 8029D2B4 0029A1F4 48 00 0E 7D */ bl JASDriver_NS_setDSPLevel
/* 8029D2B8 0029A1F8 38 60 00 00 */ li r3, 0
lbl_8029D2BC:
/* 8029D2BC 0029A1FC 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8029D2C0 0029A200 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8029D2C4 0029A204 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8029D2C8 0029A208 7C 08 03 A6 */ mtlr r0
/* 8029D2CC 0029A20C 38 21 00 20 */ addi r1, r1, 0x20
/* 8029D2D0 0029A210 4E 80 00 20 */ blr
.global JASAudioReseter_NS_callback
JASAudioReseter_NS_callback:
/* 8029D2D4 0029A214 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8029D2D8 0029A218 7C 08 02 A6 */ mflr r0
/* 8029D2DC 0029A21C 90 01 00 14 */ stw r0, 0x14(r1)
/* 8029D2E0 0029A220 4B FF FF 21 */ bl JASAudioReseter_NS_calc
/* 8029D2E4 0029A224 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8029D2E8 0029A228 7C 08 03 A6 */ mtlr r0
/* 8029D2EC 0029A22C 38 21 00 10 */ addi r1, r1, 0x10
/* 8029D2F0 0029A230 4E 80 00 20 */ blr

View File

@ -0,0 +1,288 @@
.include "macros.inc"
.section .text, "ax" # 8029ccdc
.global JASAudioThread
JASAudioThread:
/* 8029CCDC 00299C1C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8029CCE0 00299C20 7C 08 02 A6 */ mflr r0
/* 8029CCE4 00299C24 90 01 00 14 */ stw r0, 0x14(r1)
/* 8029CCE8 00299C28 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8029CCEC 00299C2C 7C 7F 1B 78 */ mr r31, r3
/* 8029CCF0 00299C30 7C 87 23 78 */ mr r7, r4
/* 8029CCF4 00299C34 7C A0 2B 78 */ mr r0, r5
/* 8029CCF8 00299C38 80 8D 8C 90 */ lwz r4, lbl_80451210-_SDA_BASE_(r13)
/* 8029CCFC 00299C3C 7C C5 33 78 */ mr r5, r6
/* 8029CD00 00299C40 7C 06 03 78 */ mr r6, r0
/* 8029CD04 00299C44 48 03 49 0D */ bl JKRThread_X1_
/* 8029CD08 00299C48 34 7F 00 7C */ addic. r3, r31, 0x7c
/* 8029CD0C 00299C4C 41 82 00 08 */ beq lbl_8029CD14
/* 8029CD10 00299C50 38 63 FF 84 */ addi r3, r3, -124
lbl_8029CD14:
/* 8029CD14 00299C54 90 6D 86 0C */ stw r3, lbl_80450B8C-_SDA_BASE_(r13)
/* 8029CD18 00299C58 3C 60 80 3C */ lis r3, lbl_803C78E0@ha
/* 8029CD1C 00299C5C 38 03 78 E0 */ addi r0, r3, lbl_803C78E0@l
/* 8029CD20 00299C60 90 1F 00 00 */ stw r0, 0(r31)
/* 8029CD24 00299C64 38 00 00 00 */ li r0, 0
/* 8029CD28 00299C68 98 1F 00 84 */ stb r0, 0x84(r31)
/* 8029CD2C 00299C6C 38 7F 00 7C */ addi r3, r31, 0x7c
/* 8029CD30 00299C70 48 0A 3F 45 */ bl OSInitThreadQueue
/* 8029CD34 00299C74 7F E3 FB 78 */ mr r3, r31
/* 8029CD38 00299C78 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8029CD3C 00299C7C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8029CD40 00299C80 7C 08 03 A6 */ mtlr r0
/* 8029CD44 00299C84 38 21 00 10 */ addi r1, r1, 0x10
/* 8029CD48 00299C88 4E 80 00 20 */ blr
.global JASAudioThread_NS_create
JASAudioThread_NS_create:
/* 8029CD4C 00299C8C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8029CD50 00299C90 7C 08 02 A6 */ mflr r0
/* 8029CD54 00299C94 90 01 00 14 */ stw r0, 0x14(r1)
/* 8029CD58 00299C98 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8029CD5C 00299C9C 7C 7F 1B 78 */ mr r31, r3
/* 8029CD60 00299CA0 38 60 00 88 */ li r3, 0x88
/* 8029CD64 00299CA4 80 8D 8C 90 */ lwz r4, lbl_80451210-_SDA_BASE_(r13)
/* 8029CD68 00299CA8 38 A0 00 00 */ li r5, 0
/* 8029CD6C 00299CAC 48 03 1F 2D */ bl __nw_X2_
/* 8029CD70 00299CB0 7C 64 1B 79 */ or. r4, r3, r3
/* 8029CD74 00299CB4 41 82 00 18 */ beq lbl_8029CD8C
/* 8029CD78 00299CB8 7F E4 FB 78 */ mr r4, r31
/* 8029CD7C 00299CBC 38 A0 00 10 */ li r5, 0x10
/* 8029CD80 00299CC0 38 C0 14 00 */ li r6, 0x1400
/* 8029CD84 00299CC4 4B FF FF 59 */ bl JASAudioThread
/* 8029CD88 00299CC8 7C 64 1B 78 */ mr r4, r3
lbl_8029CD8C:
/* 8029CD8C 00299CCC 80 0D 8D F0 */ lwz r0, lbl_80451370-_SDA_BASE_(r13)
/* 8029CD90 00299CD0 28 00 00 00 */ cmplwi r0, 0
/* 8029CD94 00299CD4 41 82 00 08 */ beq lbl_8029CD9C
/* 8029CD98 00299CD8 48 00 00 08 */ b lbl_8029CDA0
lbl_8029CD9C:
/* 8029CD9C 00299CDC 80 0D 8D F4 */ lwz r0, lbl_80451374-_SDA_BASE_(r13)
lbl_8029CDA0:
/* 8029CDA0 00299CE0 90 04 00 74 */ stw r0, 0x74(r4)
/* 8029CDA4 00299CE4 80 64 00 2C */ lwz r3, 0x2c(r4)
/* 8029CDA8 00299CE8 48 0A 4A 0D */ bl OSResumeThread
/* 8029CDAC 00299CEC 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8029CDB0 00299CF0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8029CDB4 00299CF4 7C 08 03 A6 */ mtlr r0
/* 8029CDB8 00299CF8 38 21 00 10 */ addi r1, r1, 0x10
/* 8029CDBC 00299CFC 4E 80 00 20 */ blr
.global JASAudioThread_NS_stop
JASAudioThread_NS_stop:
/* 8029CDC0 00299D00 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8029CDC4 00299D04 7C 08 02 A6 */ mflr r0
/* 8029CDC8 00299D08 90 01 00 14 */ stw r0, 0x14(r1)
/* 8029CDCC 00299D0C 38 80 00 02 */ li r4, 2
/* 8029CDD0 00299D10 38 A0 00 01 */ li r5, 1
/* 8029CDD4 00299D14 38 63 00 30 */ addi r3, r3, 0x30
/* 8029CDD8 00299D18 48 0A 1D C1 */ bl OSJamMessage
/* 8029CDDC 00299D1C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8029CDE0 00299D20 7C 08 03 A6 */ mtlr r0
/* 8029CDE4 00299D24 38 21 00 10 */ addi r1, r1, 0x10
/* 8029CDE8 00299D28 4E 80 00 20 */ blr
/* 8029CDEC 00299D2C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8029CDF0 00299D30 7C 08 02 A6 */ mflr r0
/* 8029CDF4 00299D34 90 01 00 24 */ stw r0, 0x24(r1)
/* 8029CDF8 00299D38 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8029CDFC 00299D3C 7C 7F 1B 78 */ mr r31, r3
/* 8029CE00 00299D40 38 60 00 04 */ li r3, 4
/* 8029CE04 00299D44 64 63 00 04 */ oris r3, r3, 4
/* 8029CE08 00299D48 7C 72 E3 A6 */ mtspr 0x392, r3
/* 8029CE0C 00299D4C 38 60 00 05 */ li r3, 5
/* 8029CE10 00299D50 64 63 00 05 */ oris r3, r3, 5
/* 8029CE14 00299D54 7C 73 E3 A6 */ mtspr 0x393, r3
/* 8029CE18 00299D58 38 60 00 06 */ li r3, 6
/* 8029CE1C 00299D5C 64 63 00 06 */ oris r3, r3, 6
/* 8029CE20 00299D60 7C 74 E3 A6 */ mtspr 0x394, r3
/* 8029CE24 00299D64 38 60 00 07 */ li r3, 7
/* 8029CE28 00299D68 64 63 00 07 */ oris r3, r3, 7
/* 8029CE2C 00299D6C 7C 75 E3 A6 */ mtspr 0x395, r3
.global JASAudioThread_NS_DMACallback
/* 8029CE30 00299D70 3C 80 80 2A */ lis r4, JASAudioThread_NS_DMACallback@ha
.global JASAudioThread_NS_DMACallback
/* 8029CE34 00299D74 38 64 CF 68 */ addi r3, r4, JASAudioThread_NS_DMACallback@l
/* 8029CE38 00299D78 4B FF F5 51 */ bl JASDriver_NS_initAI
.global JASAudioThread_NS_DSPCallback
/* 8029CE3C 00299D7C 3C 80 80 2A */ lis r4, JASAudioThread_NS_DSPCallback@ha
.global JASAudioThread_NS_DSPCallback
/* 8029CE40 00299D80 38 64 CF BC */ addi r3, r4, JASAudioThread_NS_DSPCallback@l
/* 8029CE44 00299D84 48 00 0B 15 */ bl JASDsp_NS_boot
/* 8029CE48 00299D88 48 00 0C 81 */ bl JASDsp_NS_initBuffer
/* 8029CE4C 00299D8C 48 00 05 7D */ bl JASDSPChannel_NS_initAll
/* 8029CE50 00299D90 88 0D 8C E2 */ lbz r0, lbl_80451262-_SDA_BASE_(r13)
/* 8029CE54 00299D94 7C 00 07 75 */ extsb. r0, r0
/* 8029CE58 00299D98 40 82 00 34 */ bne lbl_8029CE8C
/* 8029CE5C 00299D9C 3C 80 80 43 */ lis r4, lbl_80431B34@ha
/* 8029CE60 00299DA0 38 64 1B 34 */ addi r3, r4, lbl_80431B34@l
/* 8029CE64 00299DA4 4B FF 39 E5 */ bl JASGenericMemPool
/* 8029CE68 00299DA8 3C 80 80 43 */ lis r4, lbl_80431B34@ha
/* 8029CE6C 00299DAC 38 64 1B 34 */ addi r3, r4, lbl_80431B34@l
.global JASMemPool_MultiThreaded_NS_dtor_X2_
/* 8029CE70 00299DB0 3C 80 80 29 */ lis r4, JASMemPool_MultiThreaded_NS_dtor_X2_@ha
.global JASMemPool_MultiThreaded_NS_dtor_X2_
/* 8029CE74 00299DB4 38 84 78 DC */ addi r4, r4, JASMemPool_MultiThreaded_NS_dtor_X2_@l
/* 8029CE78 00299DB8 3C A0 80 43 */ lis r5, lbl_80431C68@ha
/* 8029CE7C 00299DBC 38 A5 1C 68 */ addi r5, r5, lbl_80431C68@l
/* 8029CE80 00299DC0 48 0C 4D A5 */ bl func_80361C24
/* 8029CE84 00299DC4 38 00 00 01 */ li r0, 1
/* 8029CE88 00299DC8 98 0D 8C E2 */ stb r0, lbl_80451262-_SDA_BASE_(r13)
lbl_8029CE8C:
/* 8029CE8C 00299DCC 48 0A 08 69 */ bl __RAS_OSDisableInterrupts_begin
/* 8029CE90 00299DD0 90 61 00 08 */ stw r3, 8(r1)
/* 8029CE94 00299DD4 3C 80 80 43 */ lis r4, lbl_80431B34@ha
/* 8029CE98 00299DD8 38 64 1B 34 */ addi r3, r4, lbl_80431B34@l
/* 8029CE9C 00299DDC 38 80 01 08 */ li r4, 0x108
/* 8029CEA0 00299DE0 38 A0 00 48 */ li r5, 0x48
/* 8029CEA4 00299DE4 4B FF 3A 25 */ bl JASGenericMemPool_NS_newMemPool
/* 8029CEA8 00299DE8 80 61 00 08 */ lwz r3, 8(r1)
/* 8029CEAC 00299DEC 48 0A 08 71 */ bl OSRestoreInterrupts
/* 8029CEB0 00299DF0 4B FF F6 35 */ bl JASDriver_NS_startDMA
lbl_8029CEB4:
/* 8029CEB4 00299DF4 38 7F 00 30 */ addi r3, r31, 0x30
/* 8029CEB8 00299DF8 38 81 00 0C */ addi r4, r1, 0xc
/* 8029CEBC 00299DFC 38 A0 00 01 */ li r5, 1
/* 8029CEC0 00299E00 48 0A 1B FD */ bl OSReceiveMessage
/* 8029CEC4 00299E04 80 01 00 0C */ lwz r0, 0xc(r1)
/* 8029CEC8 00299E08 2C 00 00 01 */ cmpwi r0, 1
/* 8029CECC 00299E0C 41 82 00 44 */ beq lbl_8029CF10
/* 8029CED0 00299E10 40 80 00 10 */ bge lbl_8029CEE0
/* 8029CED4 00299E14 2C 00 00 00 */ cmpwi r0, 0
/* 8029CED8 00299E18 40 80 00 14 */ bge lbl_8029CEEC
/* 8029CEDC 00299E1C 4B FF FF D8 */ b lbl_8029CEB4
lbl_8029CEE0:
/* 8029CEE0 00299E20 2C 00 00 03 */ cmpwi r0, 3
/* 8029CEE4 00299E24 40 80 FF D0 */ bge lbl_8029CEB4
/* 8029CEE8 00299E28 48 00 00 70 */ b lbl_8029CF58
lbl_8029CEEC:
/* 8029CEEC 00299E2C 88 1F 00 84 */ lbz r0, 0x84(r31)
/* 8029CEF0 00299E30 28 00 00 00 */ cmplwi r0, 0
/* 8029CEF4 00299E34 41 82 00 10 */ beq lbl_8029CF04
/* 8029CEF8 00299E38 4B FF F6 0D */ bl JASDriver_NS_stopDMA
/* 8029CEFC 00299E3C 38 7F 00 7C */ addi r3, r31, 0x7c
/* 8029CF00 00299E40 48 0A 4C AD */ bl OSSleepThread
lbl_8029CF04:
/* 8029CF04 00299E44 4B FF F6 65 */ bl JASDriver_NS_updateDac
/* 8029CF08 00299E48 48 00 13 F1 */ bl JASDriver_NS_updateDacCallback
/* 8029CF0C 00299E4C 4B FF FF A8 */ b lbl_8029CEB4
lbl_8029CF10:
/* 8029CF10 00299E50 80 8D 8D 58 */ lwz r4, lbl_804512D8-_SDA_BASE_(r13)
/* 8029CF14 00299E54 38 04 FF FF */ addi r0, r4, -1
/* 8029CF18 00299E58 90 0D 8D 58 */ stw r0, lbl_804512D8-_SDA_BASE_(r13)
/* 8029CF1C 00299E5C 80 0D 8D 58 */ lwz r0, lbl_804512D8-_SDA_BASE_(r13)
/* 8029CF20 00299E60 2C 00 00 00 */ cmpwi r0, 0
/* 8029CF24 00299E64 40 82 00 14 */ bne lbl_8029CF38
/* 8029CF28 00299E68 38 60 00 07 */ li r3, 7
/* 8029CF2C 00299E6C 4B FF 3F F9 */ bl JASProbe_NS_stop_X1_
/* 8029CF30 00299E70 4B FF F9 D1 */ bl JASDriver_NS_finishDSPFrame
/* 8029CF34 00299E74 4B FF FF 80 */ b lbl_8029CEB4
lbl_8029CF38:
/* 8029CF38 00299E78 38 60 00 02 */ li r3, 2
/* 8029CF3C 00299E7C 3C 80 80 3A */ lis r4, lbl_8039B338@ha
/* 8029CF40 00299E80 38 84 B3 38 */ addi r4, r4, lbl_8039B338@l
/* 8029CF44 00299E84 4B FF 3F A1 */ bl JASProbe_NS_start_X1_
/* 8029CF48 00299E88 4B FF F7 7D */ bl JASDriver_NS_updateDSP
/* 8029CF4C 00299E8C 38 60 00 02 */ li r3, 2
/* 8029CF50 00299E90 4B FF 3F D5 */ bl JASProbe_NS_stop_X1_
/* 8029CF54 00299E94 4B FF FF 60 */ b lbl_8029CEB4
lbl_8029CF58:
/* 8029CF58 00299E98 4B FF F5 AD */ bl JASDriver_NS_stopDMA
/* 8029CF5C 00299E9C 38 60 00 00 */ li r3, 0
/* 8029CF60 00299EA0 48 0A 45 15 */ bl OSExitThread
/* 8029CF64 00299EA4 4B FF FF 50 */ b lbl_8029CEB4
.global JASAudioThread_NS_DMACallback
JASAudioThread_NS_DMACallback:
/* 8029CF68 00299EA8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8029CF6C 00299EAC 7C 08 02 A6 */ mflr r0
/* 8029CF70 00299EB0 90 01 00 14 */ stw r0, 0x14(r1)
/* 8029CF74 00299EB4 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8029CF78 00299EB8 83 ED 86 0C */ lwz r31, lbl_80450B8C-_SDA_BASE_(r13)
/* 8029CF7C 00299EBC 38 60 00 04 */ li r3, 4
/* 8029CF80 00299EC0 4B FF 3F A5 */ bl JASProbe_NS_stop_X1_
/* 8029CF84 00299EC4 38 60 00 04 */ li r3, 4
/* 8029CF88 00299EC8 3C 80 80 3A */ lis r4, lbl_8039B338@ha
/* 8029CF8C 00299ECC 38 84 B3 38 */ addi r4, r4, lbl_8039B338@l
/* 8029CF90 00299ED0 38 84 00 08 */ addi r4, r4, 8
/* 8029CF94 00299ED4 4B FF 3F 51 */ bl JASProbe_NS_start_X1_
/* 8029CF98 00299ED8 38 7F 00 30 */ addi r3, r31, 0x30
/* 8029CF9C 00299EDC 38 80 00 00 */ li r4, 0
/* 8029CFA0 00299EE0 38 A0 00 00 */ li r5, 0
/* 8029CFA4 00299EE4 48 0A 1A 51 */ bl OSSendMessage
/* 8029CFA8 00299EE8 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8029CFAC 00299EEC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8029CFB0 00299EF0 7C 08 03 A6 */ mtlr r0
/* 8029CFB4 00299EF4 38 21 00 10 */ addi r1, r1, 0x10
/* 8029CFB8 00299EF8 4E 80 00 20 */ blr
.global JASAudioThread_NS_DSPCallback
JASAudioThread_NS_DSPCallback:
/* 8029CFBC 00299EFC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8029CFC0 00299F00 7C 08 02 A6 */ mflr r0
/* 8029CFC4 00299F04 90 01 00 14 */ stw r0, 0x14(r1)
/* 8029CFC8 00299F08 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8029CFCC 00299F0C 83 ED 86 0C */ lwz r31, lbl_80450B8C-_SDA_BASE_(r13)
lbl_8029CFD0:
/* 8029CFD0 00299F10 48 0B 54 71 */ bl DSPCheckMailFromDSP
/* 8029CFD4 00299F14 28 03 00 00 */ cmplwi r3, 0
/* 8029CFD8 00299F18 41 82 FF F8 */ beq lbl_8029CFD0
/* 8029CFDC 00299F1C 48 0B 54 75 */ bl DSPReadMailFromDSP
/* 8029CFE0 00299F20 54 60 84 3E */ srwi r0, r3, 0x10
/* 8029CFE4 00299F24 28 00 F3 55 */ cmplwi r0, 0xf355
/* 8029CFE8 00299F28 40 82 00 2C */ bne lbl_8029D014
/* 8029CFEC 00299F2C 54 60 04 2E */ rlwinm r0, r3, 0, 0x10, 0x17
/* 8029CFF0 00299F30 28 00 FF 00 */ cmplwi r0, 0xff00
/* 8029CFF4 00299F34 40 82 00 18 */ bne lbl_8029D00C
/* 8029CFF8 00299F38 38 7F 00 30 */ addi r3, r31, 0x30
/* 8029CFFC 00299F3C 38 80 00 01 */ li r4, 1
/* 8029D000 00299F40 38 A0 00 00 */ li r5, 0
/* 8029D004 00299F44 48 0A 19 F1 */ bl OSSendMessage
/* 8029D008 00299F48 48 00 00 0C */ b lbl_8029D014
lbl_8029D00C:
/* 8029D00C 00299F4C 54 63 04 3E */ clrlwi r3, r3, 0x10
/* 8029D010 00299F50 48 00 09 B5 */ bl JASDsp_NS_finishWork
lbl_8029D014:
/* 8029D014 00299F54 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8029D018 00299F58 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8029D01C 00299F5C 7C 08 03 A6 */ mtlr r0
/* 8029D020 00299F60 38 21 00 10 */ addi r1, r1, 0x10
/* 8029D024 00299F64 4E 80 00 20 */ blr
/* 8029D028 00299F68 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8029D02C 00299F6C 7C 08 02 A6 */ mflr r0
/* 8029D030 00299F70 90 01 00 14 */ stw r0, 0x14(r1)
/* 8029D034 00299F74 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8029D038 00299F78 93 C1 00 08 */ stw r30, 8(r1)
/* 8029D03C 00299F7C 7C 7E 1B 79 */ or. r30, r3, r3
/* 8029D040 00299F80 7C 9F 23 78 */ mr r31, r4
/* 8029D044 00299F84 41 82 00 54 */ beq lbl_8029D098
/* 8029D048 00299F88 3C 60 80 3C */ lis r3, lbl_803C78E0@ha
/* 8029D04C 00299F8C 38 03 78 E0 */ addi r0, r3, lbl_803C78E0@l
/* 8029D050 00299F90 90 1E 00 00 */ stw r0, 0(r30)
/* 8029D054 00299F94 34 1E 00 7C */ addic. r0, r30, 0x7c
/* 8029D058 00299F98 41 82 00 24 */ beq lbl_8029D07C
/* 8029D05C 00299F9C 34 7E 00 7C */ addic. r3, r30, 0x7c
/* 8029D060 00299FA0 41 82 00 08 */ beq lbl_8029D068
/* 8029D064 00299FA4 38 63 FF 84 */ addi r3, r3, -124
lbl_8029D068:
/* 8029D068 00299FA8 80 0D 86 0C */ lwz r0, lbl_80450B8C-_SDA_BASE_(r13)
/* 8029D06C 00299FAC 7C 00 18 40 */ cmplw r0, r3
/* 8029D070 00299FB0 40 82 00 0C */ bne lbl_8029D07C
/* 8029D074 00299FB4 38 00 00 00 */ li r0, 0
/* 8029D078 00299FB8 90 0D 86 0C */ stw r0, lbl_80450B8C-_SDA_BASE_(r13)
lbl_8029D07C:
/* 8029D07C 00299FBC 7F C3 F3 78 */ mr r3, r30
/* 8029D080 00299FC0 38 80 00 00 */ li r4, 0
/* 8029D084 00299FC4 48 03 46 D5 */ bl JKRThread_NS_dtor
/* 8029D088 00299FC8 7F E0 07 35 */ extsh. r0, r31
/* 8029D08C 00299FCC 40 81 00 0C */ ble lbl_8029D098
/* 8029D090 00299FD0 7F C3 F3 78 */ mr r3, r30
/* 8029D094 00299FD4 48 03 1C A9 */ bl __dl
lbl_8029D098:
/* 8029D098 00299FD8 7F C3 F3 78 */ mr r3, r30
/* 8029D09C 00299FDC 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8029D0A0 00299FE0 83 C1 00 08 */ lwz r30, 8(r1)
/* 8029D0A4 00299FE4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8029D0A8 00299FE8 7C 08 03 A6 */ mtlr r0
/* 8029D0AC 00299FEC 38 21 00 10 */ addi r1, r1, 0x10
/* 8029D0B0 00299FF0 4E 80 00 20 */ blr

851
asm/JAudio2/JASBNKParser.s Normal file
View File

@ -0,0 +1,851 @@
.include "macros.inc"
.section .text, "ax" # 80299538
.global JASBNKParser_NS_createBank
JASBNKParser_NS_createBank:
/* 80299538 00296478 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8029953C 0029647C 7C 08 02 A6 */ mflr r0
/* 80299540 00296480 90 01 00 14 */ stw r0, 0x14(r1)
/* 80299544 00296484 48 00 00 15 */ bl JASBNKParser_NS_createBasicBank
/* 80299548 00296488 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8029954C 0029648C 7C 08 03 A6 */ mtlr r0
/* 80299550 00296490 38 21 00 10 */ addi r1, r1, 0x10
/* 80299554 00296494 4E 80 00 20 */ blr
.global JASBNKParser_NS_createBasicBank
JASBNKParser_NS_createBasicBank:
/* 80299558 00296498 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8029955C 0029649C 7C 08 02 A6 */ mflr r0
/* 80299560 002964A0 90 01 00 24 */ stw r0, 0x24(r1)
/* 80299564 002964A4 39 61 00 20 */ addi r11, r1, 0x20
/* 80299568 002964A8 48 0C 8C 71 */ bl func_803621D8
/* 8029956C 002964AC 7C 7C 1B 78 */ mr r28, r3
/* 80299570 002964B0 7C 9D 23 79 */ or. r29, r4, r4
/* 80299574 002964B4 40 82 00 08 */ bne lbl_8029957C
/* 80299578 002964B8 83 AD 8C 90 */ lwz r29, lbl_80451210-_SDA_BASE_(r13)
lbl_8029957C:
/* 8029957C 002964BC 7F A3 EB 78 */ mr r3, r29
/* 80299580 002964C0 48 03 51 AD */ bl JKRHeap_NS_getFreeSize
/* 80299584 002964C4 7C 7F 1B 78 */ mr r31, r3
/* 80299588 002964C8 3B C0 00 00 */ li r30, 0
/* 8029958C 002964CC 80 1C 00 0C */ lwz r0, 0xc(r28)
/* 80299590 002964D0 2C 00 00 01 */ cmpwi r0, 1
/* 80299594 002964D4 41 82 00 28 */ beq lbl_802995BC
/* 80299598 002964D8 40 80 00 34 */ bge lbl_802995CC
/* 8029959C 002964DC 2C 00 00 00 */ cmpwi r0, 0
/* 802995A0 002964E0 40 80 00 08 */ bge lbl_802995A8
/* 802995A4 002964E4 48 00 00 28 */ b lbl_802995CC
lbl_802995A8:
/* 802995A8 002964E8 7F 83 E3 78 */ mr r3, r28
/* 802995AC 002964EC 7F A4 EB 78 */ mr r4, r29
/* 802995B0 002964F0 48 00 04 8D */ bl JASBNKParser_NS_Ver0_NS_createBasicBank
/* 802995B4 002964F4 7C 7E 1B 78 */ mr r30, r3
/* 802995B8 002964F8 48 00 00 14 */ b lbl_802995CC
lbl_802995BC:
/* 802995BC 002964FC 7F 83 E3 78 */ mr r3, r28
/* 802995C0 00296500 7F A4 EB 78 */ mr r4, r29
/* 802995C4 00296504 48 00 00 79 */ bl JASBNKParser_NS_Ver1_NS_createBasicBank
/* 802995C8 00296508 7C 7E 1B 78 */ mr r30, r3
lbl_802995CC:
/* 802995CC 0029650C 7F A3 EB 78 */ mr r3, r29
/* 802995D0 00296510 48 03 51 5D */ bl JKRHeap_NS_getFreeSize
/* 802995D4 00296514 7C 63 F8 50 */ subf r3, r3, r31
/* 802995D8 00296518 80 0D 8D 08 */ lwz r0, lbl_80451288-_SDA_BASE_(r13)
/* 802995DC 0029651C 7C 00 1A 14 */ add r0, r0, r3
/* 802995E0 00296520 90 0D 8D 08 */ stw r0, lbl_80451288-_SDA_BASE_(r13)
/* 802995E4 00296524 7F C3 F3 78 */ mr r3, r30
/* 802995E8 00296528 39 61 00 20 */ addi r11, r1, 0x20
/* 802995EC 0029652C 48 0C 8C 39 */ bl func_80362224
/* 802995F0 00296530 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802995F4 00296534 7C 08 03 A6 */ mtlr r0
/* 802995F8 00296538 38 21 00 20 */ addi r1, r1, 0x20
/* 802995FC 0029653C 4E 80 00 20 */ blr
.global JASBNKParser_NS_Ver1_NS_findChunk
JASBNKParser_NS_Ver1_NS_findChunk:
/* 80299600 00296540 80 03 00 04 */ lwz r0, 4(r3)
/* 80299604 00296544 7C A3 02 14 */ add r5, r3, r0
/* 80299608 00296548 38 63 00 20 */ addi r3, r3, 0x20
/* 8029960C 0029654C 48 00 00 20 */ b lbl_8029962C
lbl_80299610:
/* 80299610 00296550 80 03 00 00 */ lwz r0, 0(r3)
/* 80299614 00296554 7C 00 20 40 */ cmplw r0, r4
/* 80299618 00296558 4D 82 00 20 */ beqlr
/* 8029961C 0029655C 80 03 00 04 */ lwz r0, 4(r3)
/* 80299620 00296560 7C 63 02 14 */ add r3, r3, r0
/* 80299624 00296564 38 03 00 0B */ addi r0, r3, 0xb
/* 80299628 00296568 54 03 00 3A */ rlwinm r3, r0, 0, 0, 0x1d
lbl_8029962C:
/* 8029962C 0029656C 7C 03 28 40 */ cmplw r3, r5
/* 80299630 00296570 41 80 FF E0 */ blt lbl_80299610
/* 80299634 00296574 38 60 00 00 */ li r3, 0
/* 80299638 00296578 4E 80 00 20 */ blr
.global JASBNKParser_NS_Ver1_NS_createBasicBank
JASBNKParser_NS_Ver1_NS_createBasicBank:
/* 8029963C 0029657C 94 21 FF B0 */ stwu r1, -0x50(r1)
/* 80299640 00296580 7C 08 02 A6 */ mflr r0
/* 80299644 00296584 90 01 00 54 */ stw r0, 0x54(r1)
/* 80299648 00296588 39 61 00 50 */ addi r11, r1, 0x50
/* 8029964C 0029658C 48 0C 8B 69 */ bl func_803621B4
/* 80299650 00296590 7C 7E 1B 78 */ mr r30, r3
/* 80299654 00296594 7C 9F 23 79 */ or. r31, r4, r4
/* 80299658 00296598 40 82 00 08 */ bne lbl_80299660
/* 8029965C 0029659C 83 ED 8C 90 */ lwz r31, lbl_80451210-_SDA_BASE_(r13)
lbl_80299660:
/* 80299660 002965A0 38 60 00 10 */ li r3, 0x10
/* 80299664 002965A4 7F E4 FB 78 */ mr r4, r31
/* 80299668 002965A8 38 A0 00 00 */ li r5, 0
/* 8029966C 002965AC 48 03 56 2D */ bl __nw_X2_
/* 80299670 002965B0 7C 7B 1B 79 */ or. r27, r3, r3
/* 80299674 002965B4 41 82 00 0C */ beq lbl_80299680
/* 80299678 002965B8 4B FF E7 01 */ bl JASBasicBank
/* 8029967C 002965BC 7C 7B 1B 78 */ mr r27, r3
lbl_80299680:
/* 80299680 002965C0 28 1B 00 00 */ cmplwi r27, 0
/* 80299684 002965C4 40 82 00 0C */ bne lbl_80299690
/* 80299688 002965C8 38 60 00 00 */ li r3, 0
/* 8029968C 002965CC 48 00 03 98 */ b lbl_80299A24
lbl_80299690:
/* 80299690 002965D0 7F C3 F3 78 */ mr r3, r30
/* 80299694 002965D4 3C 80 45 4E */ lis r4, 0x454E5654@ha
/* 80299698 002965D8 38 84 56 54 */ addi r4, r4, 0x454E5654@l
/* 8029969C 002965DC 4B FF FF 65 */ bl JASBNKParser_NS_Ver1_NS_findChunk
/* 802996A0 002965E0 7C 77 1B 78 */ mr r23, r3
/* 802996A4 002965E4 7F C3 F3 78 */ mr r3, r30
/* 802996A8 002965E8 3C 80 4F 53 */ lis r4, 0x4F534354@ha
/* 802996AC 002965EC 38 84 43 54 */ addi r4, r4, 0x4F534354@l
/* 802996B0 002965F0 4B FF FF 51 */ bl JASBNKParser_NS_Ver1_NS_findChunk
/* 802996B4 002965F4 7C 76 1B 78 */ mr r22, r3
/* 802996B8 002965F8 7F C3 F3 78 */ mr r3, r30
/* 802996BC 002965FC 3C 80 4C 49 */ lis r4, 0x4C495354@ha
/* 802996C0 00296600 38 84 53 54 */ addi r4, r4, 0x4C495354@l
/* 802996C4 00296604 4B FF FF 3D */ bl JASBNKParser_NS_Ver1_NS_findChunk
/* 802996C8 00296608 7C 7C 1B 78 */ mr r28, r3
/* 802996CC 0029660C 80 77 00 04 */ lwz r3, 4(r23)
/* 802996D0 00296610 7F E4 FB 78 */ mr r4, r31
/* 802996D4 00296614 38 A0 00 02 */ li r5, 2
/* 802996D8 00296618 48 03 56 39 */ bl __nwa_X2_
/* 802996DC 0029661C 7C 74 1B 78 */ mr r20, r3
/* 802996E0 00296620 38 77 00 08 */ addi r3, r23, 8
/* 802996E4 00296624 7E 84 A3 78 */ mr r4, r20
/* 802996E8 00296628 80 B7 00 04 */ lwz r5, 4(r23)
/* 802996EC 0029662C 4B FF 5C 69 */ bl JASCalc_NS_bcopy
/* 802996F0 00296630 82 F6 00 08 */ lwz r23, 8(r22)
/* 802996F4 00296634 1C 77 00 18 */ mulli r3, r23, 0x18
/* 802996F8 00296638 7F E4 FB 78 */ mr r4, r31
/* 802996FC 0029663C 38 A0 00 00 */ li r5, 0
/* 80299700 00296640 3A B6 00 0C */ addi r21, r22, 0xc
/* 80299704 00296644 48 03 56 0D */ bl __nwa_X2_
/* 80299708 00296648 7C 7D 1B 78 */ mr r29, r3
/* 8029970C 0029664C 38 60 00 00 */ li r3, 0
/* 80299710 00296650 7E E9 03 A6 */ mtctr r23
/* 80299714 00296654 28 17 00 00 */ cmplwi r23, 0
/* 80299718 00296658 40 81 00 4C */ ble lbl_80299764
lbl_8029971C:
/* 8029971C 0029665C 7C 9D 1A 14 */ add r4, r29, r3
/* 80299720 00296660 88 15 00 04 */ lbz r0, 4(r21)
/* 80299724 00296664 90 04 00 00 */ stw r0, 0(r4)
/* 80299728 00296668 C0 15 00 08 */ lfs f0, 8(r21)
/* 8029972C 0029666C D0 04 00 04 */ stfs f0, 4(r4)
/* 80299730 00296670 C0 15 00 14 */ lfs f0, 0x14(r21)
/* 80299734 00296674 D0 04 00 10 */ stfs f0, 0x10(r4)
/* 80299738 00296678 C0 15 00 18 */ lfs f0, 0x18(r21)
/* 8029973C 0029667C D0 04 00 14 */ stfs f0, 0x14(r4)
/* 80299740 00296680 80 15 00 0C */ lwz r0, 0xc(r21)
/* 80299744 00296684 7C 14 02 14 */ add r0, r20, r0
/* 80299748 00296688 90 04 00 08 */ stw r0, 8(r4)
/* 8029974C 0029668C 80 15 00 10 */ lwz r0, 0x10(r21)
/* 80299750 00296690 7C 14 02 14 */ add r0, r20, r0
/* 80299754 00296694 90 04 00 0C */ stw r0, 0xc(r4)
/* 80299758 00296698 38 63 00 18 */ addi r3, r3, 0x18
/* 8029975C 0029669C 3A B5 00 1C */ addi r21, r21, 0x1c
/* 80299760 002966A0 42 00 FF BC */ bdnz lbl_8029971C
lbl_80299764:
/* 80299764 002966A4 7F 63 DB 78 */ mr r3, r27
/* 80299768 002966A8 80 1C 00 08 */ lwz r0, 8(r28)
/* 8029976C 002966AC 54 04 06 3E */ clrlwi r4, r0, 0x18
/* 80299770 002966B0 7F E5 FB 78 */ mr r5, r31
/* 80299774 002966B4 4B FF E6 31 */ bl JASBasicBank_NS_newInstTable
/* 80299778 002966B8 3B 40 00 00 */ li r26, 0
/* 8029977C 002966BC 3A C0 00 00 */ li r22, 0
/* 80299780 002966C0 48 00 02 94 */ b lbl_80299A14
lbl_80299784:
/* 80299784 002966C4 38 16 00 0C */ addi r0, r22, 0xc
/* 80299788 002966C8 7C 1C 00 2E */ lwzx r0, r28, r0
/* 8029978C 002966CC 28 00 00 00 */ cmplwi r0, 0
/* 80299790 002966D0 41 82 02 7C */ beq lbl_80299A0C
/* 80299794 002966D4 7F 3E 02 14 */ add r25, r30, r0
/* 80299798 002966D8 80 99 00 00 */ lwz r4, 0(r25)
/* 8029979C 002966DC 3C 60 50 65 */ lis r3, 0x50657263@ha
/* 802997A0 002966E0 38 03 72 63 */ addi r0, r3, 0x50657263@l
/* 802997A4 002966E4 7C 04 00 00 */ cmpw r4, r0
/* 802997A8 002966E8 3B 39 00 04 */ addi r25, r25, 4
/* 802997AC 002966EC 41 82 01 2C */ beq lbl_802998D8
/* 802997B0 002966F0 40 80 02 5C */ bge lbl_80299A0C
/* 802997B4 002966F4 3C 60 49 6E */ lis r3, 0x496E7374@ha
/* 802997B8 002966F8 38 03 73 74 */ addi r0, r3, 0x496E7374@l
/* 802997BC 002966FC 7C 04 00 00 */ cmpw r4, r0
/* 802997C0 00296700 41 82 00 08 */ beq lbl_802997C8
/* 802997C4 00296704 48 00 02 48 */ b lbl_80299A0C
lbl_802997C8:
/* 802997C8 00296708 38 60 00 1C */ li r3, 0x1c
/* 802997CC 0029670C 7F E4 FB 78 */ mr r4, r31
/* 802997D0 00296710 38 A0 00 00 */ li r5, 0
/* 802997D4 00296714 48 03 54 C5 */ bl __nw_X2_
/* 802997D8 00296718 7C 77 1B 79 */ or. r23, r3, r3
/* 802997DC 0029671C 41 82 00 0C */ beq lbl_802997E8
/* 802997E0 00296720 4B FF E8 35 */ bl JASBasicInst
/* 802997E4 00296724 7C 77 1B 78 */ mr r23, r3
lbl_802997E8:
/* 802997E8 00296728 82 99 00 00 */ lwz r20, 0(r25)
/* 802997EC 0029672C 3A A0 00 00 */ li r21, 0
/* 802997F0 00296730 3B 39 00 04 */ addi r25, r25, 4
/* 802997F4 00296734 48 00 00 24 */ b lbl_80299818
lbl_802997F8:
/* 802997F8 00296738 80 19 00 00 */ lwz r0, 0(r25)
/* 802997FC 0029673C 7E E3 BB 78 */ mr r3, r23
/* 80299800 00296740 7E A4 AB 78 */ mr r4, r21
/* 80299804 00296744 1C 00 00 18 */ mulli r0, r0, 0x18
/* 80299808 00296748 7C BD 02 14 */ add r5, r29, r0
/* 8029980C 0029674C 3B 39 00 04 */ addi r25, r25, 4
/* 80299810 00296750 4B FF EA 0D */ bl JASBasicInst_NS_setOsc
/* 80299814 00296754 3A B5 00 01 */ addi r21, r21, 1
lbl_80299818:
/* 80299818 00296758 7C 15 A0 40 */ cmplw r21, r20
/* 8029981C 0029675C 41 80 FF DC */ blt lbl_802997F8
/* 80299820 00296760 80 19 00 00 */ lwz r0, 0(r25)
/* 80299824 00296764 7C 09 03 A6 */ mtctr r0
/* 80299828 00296768 28 00 00 00 */ cmplwi r0, 0
/* 8029982C 0029676C 3B 39 00 04 */ addi r25, r25, 4
/* 80299830 00296770 40 81 00 0C */ ble lbl_8029983C
lbl_80299834:
/* 80299834 00296774 3B 39 00 04 */ addi r25, r25, 4
/* 80299838 00296778 42 00 FF FC */ bdnz lbl_80299834
lbl_8029983C:
/* 8029983C 0029677C 82 99 00 00 */ lwz r20, 0(r25)
/* 80299840 00296780 7E E3 BB 78 */ mr r3, r23
/* 80299844 00296784 7E 84 A3 78 */ mr r4, r20
/* 80299848 00296788 7F E5 FB 78 */ mr r5, r31
/* 8029984C 0029678C 3B 39 00 04 */ addi r25, r25, 4
/* 80299850 00296790 4B FF E9 4D */ bl JASBasicInst_NS_setKeyRegionCount
/* 80299854 00296794 3A A0 00 00 */ li r21, 0
/* 80299858 00296798 48 00 00 54 */ b lbl_802998AC
lbl_8029985C:
/* 8029985C 0029679C 7E E3 BB 78 */ mr r3, r23
/* 80299860 002967A0 7E A4 AB 78 */ mr r4, r21
/* 80299864 002967A4 4B FF E9 C9 */ bl JASBasicInst_NS_getKeyRegion
/* 80299868 002967A8 80 19 00 00 */ lwz r0, 0(r25)
/* 8029986C 002967AC 54 00 46 3E */ srwi r0, r0, 0x18
/* 80299870 002967B0 90 03 00 00 */ stw r0, 0(r3)
/* 80299874 002967B4 80 99 00 04 */ lwz r4, 4(r25)
/* 80299878 002967B8 80 19 00 0C */ lwz r0, 0xc(r25)
/* 8029987C 002967BC B0 03 00 04 */ sth r0, 4(r3)
/* 80299880 002967C0 C0 19 00 10 */ lfs f0, 0x10(r25)
/* 80299884 002967C4 D0 03 00 08 */ stfs f0, 8(r3)
/* 80299888 002967C8 C0 19 00 14 */ lfs f0, 0x14(r25)
/* 8029988C 002967CC D0 03 00 0C */ stfs f0, 0xc(r3)
/* 80299890 002967D0 7C 89 03 A6 */ mtctr r4
/* 80299894 002967D4 28 04 00 00 */ cmplwi r4, 0
/* 80299898 002967D8 3B 39 00 08 */ addi r25, r25, 8
/* 8029989C 002967DC 40 81 00 0C */ ble lbl_802998A8
lbl_802998A0:
/* 802998A0 002967E0 3B 39 00 10 */ addi r25, r25, 0x10
/* 802998A4 002967E4 42 00 FF FC */ bdnz lbl_802998A0
lbl_802998A8:
/* 802998A8 002967E8 3A B5 00 01 */ addi r21, r21, 1
lbl_802998AC:
/* 802998AC 002967EC 7C 15 A0 40 */ cmplw r21, r20
/* 802998B0 002967F0 41 80 FF AC */ blt lbl_8029985C
/* 802998B4 002967F4 C0 19 00 00 */ lfs f0, 0(r25)
/* 802998B8 002967F8 D0 17 00 04 */ stfs f0, 4(r23)
/* 802998BC 002967FC C0 19 00 04 */ lfs f0, 4(r25)
/* 802998C0 00296800 D0 17 00 08 */ stfs f0, 8(r23)
/* 802998C4 00296804 7F 63 DB 78 */ mr r3, r27
/* 802998C8 00296808 7F 44 D3 78 */ mr r4, r26
/* 802998CC 0029680C 7E E5 BB 78 */ mr r5, r23
/* 802998D0 00296810 4B FF E5 99 */ bl JASBasicBank_NS_setInst
/* 802998D4 00296814 48 00 01 38 */ b lbl_80299A0C
lbl_802998D8:
/* 802998D8 00296818 38 60 00 0C */ li r3, 0xc
/* 802998DC 0029681C 7F E4 FB 78 */ mr r4, r31
/* 802998E0 00296820 38 A0 00 00 */ li r5, 0
/* 802998E4 00296824 48 03 53 B5 */ bl __nw_X2_
/* 802998E8 00296828 7C 75 1B 79 */ or. r21, r3, r3
/* 802998EC 0029682C 41 82 00 0C */ beq lbl_802998F8
/* 802998F0 00296830 4B FF E9 FD */ bl JASDrumSet
/* 802998F4 00296834 7C 75 1B 78 */ mr r21, r3
lbl_802998F8:
/* 802998F8 00296838 83 19 00 00 */ lwz r24, 0(r25)
/* 802998FC 0029683C 7E A3 AB 78 */ mr r3, r21
/* 80299900 00296840 57 04 06 3E */ clrlwi r4, r24, 0x18
/* 80299904 00296844 7F E5 FB 78 */ mr r5, r31
/* 80299908 00296848 3B 39 00 04 */ addi r25, r25, 4
/* 8029990C 0029684C 4B FF EA 65 */ bl JASDrumSet_NS_newPercArray
/* 80299910 00296850 3A E0 00 00 */ li r23, 0
/* 80299914 00296854 48 00 00 E0 */ b lbl_802999F4
lbl_80299918:
/* 80299918 00296858 82 79 00 00 */ lwz r19, 0(r25)
/* 8029991C 0029685C 28 13 00 00 */ cmplwi r19, 0
/* 80299920 00296860 3B 39 00 04 */ addi r25, r25, 4
/* 80299924 00296864 41 82 00 CC */ beq lbl_802999F0
/* 80299928 00296868 38 60 00 18 */ li r3, 0x18
/* 8029992C 0029686C 7F E4 FB 78 */ mr r4, r31
/* 80299930 00296870 38 A0 00 00 */ li r5, 0
/* 80299934 00296874 48 03 53 65 */ bl __nw_X2_
/* 80299938 00296878 7C 74 1B 79 */ or. r20, r3, r3
/* 8029993C 0029687C 41 82 00 0C */ beq lbl_80299948
/* 80299940 00296880 4B FF EB 85 */ bl JASDrumSet_NS_TPerc
/* 80299944 00296884 7C 74 1B 78 */ mr r20, r3
lbl_80299948:
/* 80299948 00296888 7C 7E 9A 14 */ add r3, r30, r19
/* 8029994C 0029688C 3A 63 00 04 */ addi r19, r3, 4
/* 80299950 00296890 C0 03 00 04 */ lfs f0, 4(r3)
/* 80299954 00296894 D0 14 00 00 */ stfs f0, 0(r20)
/* 80299958 00296898 C0 03 00 08 */ lfs f0, 8(r3)
/* 8029995C 0029689C D0 14 00 04 */ stfs f0, 4(r20)
/* 80299960 002968A0 88 03 00 0C */ lbz r0, 0xc(r3)
/* 80299964 002968A4 C8 22 BC 60 */ lfd f1, lbl_80455660-_SDA2_BASE_(r2)
/* 80299968 002968A8 90 01 00 0C */ stw r0, 0xc(r1)
/* 8029996C 002968AC 3C 00 43 30 */ lis r0, 0x4330
/* 80299970 002968B0 90 01 00 08 */ stw r0, 8(r1)
/* 80299974 002968B4 C8 01 00 08 */ lfd f0, 8(r1)
/* 80299978 002968B8 EC 20 08 28 */ fsubs f1, f0, f1
/* 8029997C 002968BC C0 02 BC 58 */ lfs f0, lbl_80455658-_SDA2_BASE_(r2)
/* 80299980 002968C0 EC 01 00 24 */ fdivs f0, f1, f0
/* 80299984 002968C4 D0 14 00 08 */ stfs f0, 8(r20)
/* 80299988 002968C8 7E 83 A3 78 */ mr r3, r20
/* 8029998C 002968CC A0 93 00 0A */ lhz r4, 0xa(r19)
/* 80299990 002968D0 4B FF EB 55 */ bl JASDrumSet_NS_TPerc_NS_setRelease
/* 80299994 002968D4 38 73 00 0C */ addi r3, r19, 0xc
/* 80299998 002968D8 80 13 00 0C */ lwz r0, 0xc(r19)
/* 8029999C 002968DC 7C 09 03 A6 */ mtctr r0
/* 802999A0 002968E0 28 00 00 00 */ cmplwi r0, 0
/* 802999A4 002968E4 38 63 00 04 */ addi r3, r3, 4
/* 802999A8 002968E8 40 81 00 0C */ ble lbl_802999B4
lbl_802999AC:
/* 802999AC 002968EC 38 63 00 04 */ addi r3, r3, 4
/* 802999B0 002968F0 42 00 FF FC */ bdnz lbl_802999AC
lbl_802999B4:
/* 802999B4 002968F4 80 83 00 00 */ lwz r4, 0(r3)
/* 802999B8 002968F8 80 03 00 08 */ lwz r0, 8(r3)
/* 802999BC 002968FC B0 14 00 0E */ sth r0, 0xe(r20)
/* 802999C0 00296900 C0 03 00 0C */ lfs f0, 0xc(r3)
/* 802999C4 00296904 D0 14 00 10 */ stfs f0, 0x10(r20)
/* 802999C8 00296908 C0 03 00 10 */ lfs f0, 0x10(r3)
/* 802999CC 0029690C D0 14 00 14 */ stfs f0, 0x14(r20)
/* 802999D0 00296910 7C 89 03 A6 */ mtctr r4
/* 802999D4 00296914 28 04 00 00 */ cmplwi r4, 0
/* 802999D8 00296918 40 81 00 08 */ ble lbl_802999E0
lbl_802999DC:
/* 802999DC 0029691C 42 00 00 00 */ bdnz lbl_802999DC
lbl_802999E0:
/* 802999E0 00296920 7E A3 AB 78 */ mr r3, r21
/* 802999E4 00296924 7E E4 BB 78 */ mr r4, r23
/* 802999E8 00296928 7E 85 A3 78 */ mr r5, r20
/* 802999EC 0029692C 4B FF EA C9 */ bl JASDrumSet_NS_setPerc
lbl_802999F0:
/* 802999F0 00296930 3A F7 00 01 */ addi r23, r23, 1
lbl_802999F4:
/* 802999F4 00296934 7C 17 C0 40 */ cmplw r23, r24
/* 802999F8 00296938 41 80 FF 20 */ blt lbl_80299918
/* 802999FC 0029693C 7F 63 DB 78 */ mr r3, r27
/* 80299A00 00296940 7F 44 D3 78 */ mr r4, r26
/* 80299A04 00296944 7E A5 AB 78 */ mr r5, r21
/* 80299A08 00296948 4B FF E4 61 */ bl JASBasicBank_NS_setInst
lbl_80299A0C:
/* 80299A0C 0029694C 3B 5A 00 01 */ addi r26, r26, 1
/* 80299A10 00296950 3A D6 00 04 */ addi r22, r22, 4
lbl_80299A14:
/* 80299A14 00296954 80 1C 00 08 */ lwz r0, 8(r28)
/* 80299A18 00296958 7C 1A 00 40 */ cmplw r26, r0
/* 80299A1C 0029695C 41 80 FD 68 */ blt lbl_80299784
/* 80299A20 00296960 7F 63 DB 78 */ mr r3, r27
lbl_80299A24:
/* 80299A24 00296964 39 61 00 50 */ addi r11, r1, 0x50
/* 80299A28 00296968 48 0C 87 D9 */ bl func_80362200
/* 80299A2C 0029696C 80 01 00 54 */ lwz r0, 0x54(r1)
/* 80299A30 00296970 7C 08 03 A6 */ mtlr r0
/* 80299A34 00296974 38 21 00 50 */ addi r1, r1, 0x50
/* 80299A38 00296978 4E 80 00 20 */ blr
.global JASBNKParser_NS_Ver0_NS_createBasicBank
JASBNKParser_NS_Ver0_NS_createBasicBank:
/* 80299A3C 0029697C 94 21 FF B0 */ stwu r1, -0x50(r1)
/* 80299A40 00296980 7C 08 02 A6 */ mflr r0
/* 80299A44 00296984 90 01 00 54 */ stw r0, 0x54(r1)
/* 80299A48 00296988 39 61 00 50 */ addi r11, r1, 0x50
/* 80299A4C 0029698C 48 0C 87 61 */ bl func_803621AC
/* 80299A50 00296990 7C 9E 23 79 */ or. r30, r4, r4
/* 80299A54 00296994 40 82 00 08 */ bne lbl_80299A5C
/* 80299A58 00296998 83 CD 8C 90 */ lwz r30, lbl_80451210-_SDA_BASE_(r13)
lbl_80299A5C:
/* 80299A5C 0029699C 7C 7F 1B 78 */ mr r31, r3
/* 80299A60 002969A0 38 60 00 10 */ li r3, 0x10
/* 80299A64 002969A4 7F C4 F3 78 */ mr r4, r30
/* 80299A68 002969A8 38 A0 00 00 */ li r5, 0
/* 80299A6C 002969AC 48 03 52 2D */ bl __nw_X2_
/* 80299A70 002969B0 7C 7D 1B 79 */ or. r29, r3, r3
/* 80299A74 002969B4 41 82 00 0C */ beq lbl_80299A80
/* 80299A78 002969B8 4B FF E3 01 */ bl JASBasicBank
/* 80299A7C 002969BC 7C 7D 1B 78 */ mr r29, r3
lbl_80299A80:
/* 80299A80 002969C0 28 1D 00 00 */ cmplwi r29, 0
/* 80299A84 002969C4 40 82 00 0C */ bne lbl_80299A90
/* 80299A88 002969C8 38 60 00 00 */ li r3, 0
/* 80299A8C 002969CC 48 00 03 C4 */ b lbl_80299E50
lbl_80299A90:
/* 80299A90 002969D0 7F A3 EB 78 */ mr r3, r29
/* 80299A94 002969D4 38 80 00 80 */ li r4, 0x80
/* 80299A98 002969D8 7F C5 F3 78 */ mr r5, r30
/* 80299A9C 002969DC 4B FF E3 09 */ bl JASBasicBank_NS_newInstTable
/* 80299AA0 002969E0 3B 60 00 00 */ li r27, 0
/* 80299AA4 002969E4 3A A0 00 00 */ li r21, 0
lbl_80299AA8:
/* 80299AA8 002969E8 7F E3 FB 78 */ mr r3, r31
/* 80299AAC 002969EC 38 15 00 24 */ addi r0, r21, 0x24
/* 80299AB0 002969F0 7C 9F 00 2E */ lwzx r4, r31, r0
/* 80299AB4 002969F4 48 00 05 7D */ bl JSUConvertOffsetToPtr_X13_
/* 80299AB8 002969F8 7C 7C 1B 79 */ or. r28, r3, r3
/* 80299ABC 002969FC 41 82 02 20 */ beq lbl_80299CDC
/* 80299AC0 00296A00 38 60 00 1C */ li r3, 0x1c
/* 80299AC4 00296A04 7F C4 F3 78 */ mr r4, r30
/* 80299AC8 00296A08 38 A0 00 00 */ li r5, 0
/* 80299ACC 00296A0C 48 03 51 CD */ bl __nw_X2_
/* 80299AD0 00296A10 7C 77 1B 79 */ or. r23, r3, r3
/* 80299AD4 00296A14 41 82 00 0C */ beq lbl_80299AE0
/* 80299AD8 00296A18 4B FF E5 3D */ bl JASBasicInst
/* 80299ADC 00296A1C 7C 77 1B 78 */ mr r23, r3
lbl_80299AE0:
/* 80299AE0 00296A20 C0 1C 00 08 */ lfs f0, 8(r28)
/* 80299AE4 00296A24 D0 17 00 04 */ stfs f0, 4(r23)
/* 80299AE8 00296A28 C0 1C 00 0C */ lfs f0, 0xc(r28)
/* 80299AEC 00296A2C D0 17 00 08 */ stfs f0, 8(r23)
/* 80299AF0 00296A30 3B 40 00 00 */ li r26, 0
/* 80299AF4 00296A34 3B 20 00 00 */ li r25, 0
/* 80299AF8 00296A38 3B 00 00 00 */ li r24, 0
lbl_80299AFC:
/* 80299AFC 00296A3C 7F E3 FB 78 */ mr r3, r31
/* 80299B00 00296A40 38 18 00 10 */ addi r0, r24, 0x10
/* 80299B04 00296A44 7C 9C 00 2E */ lwzx r4, r28, r0
/* 80299B08 00296A48 48 00 05 11 */ bl JSUConvertOffsetToPtr_X12_
/* 80299B0C 00296A4C 7C 76 1B 79 */ or. r22, r3, r3
/* 80299B10 00296A50 41 82 01 2C */ beq lbl_80299C3C
/* 80299B14 00296A54 7F A3 EB 78 */ mr r3, r29
/* 80299B18 00296A58 7F E4 FB 78 */ mr r4, r31
/* 80299B1C 00296A5C 7E C5 B3 78 */ mr r5, r22
/* 80299B20 00296A60 48 00 03 49 */ bl JASBNKParser_NS_Ver0_NS_findOscPtr
/* 80299B24 00296A64 7C 65 1B 79 */ or. r5, r3, r3
/* 80299B28 00296A68 41 82 00 14 */ beq lbl_80299B3C
/* 80299B2C 00296A6C 7E E3 BB 78 */ mr r3, r23
/* 80299B30 00296A70 7F 44 D3 78 */ mr r4, r26
/* 80299B34 00296A74 4B FF E6 E9 */ bl JASBasicInst_NS_setOsc
/* 80299B38 00296A78 48 00 01 00 */ b lbl_80299C38
lbl_80299B3C:
/* 80299B3C 00296A7C 38 60 00 18 */ li r3, 0x18
/* 80299B40 00296A80 7F C4 F3 78 */ mr r4, r30
/* 80299B44 00296A84 38 A0 00 00 */ li r5, 0
/* 80299B48 00296A88 48 03 51 51 */ bl __nw_X2_
/* 80299B4C 00296A8C 7C 74 1B 78 */ mr r20, r3
/* 80299B50 00296A90 88 16 00 00 */ lbz r0, 0(r22)
/* 80299B54 00296A94 90 03 00 00 */ stw r0, 0(r3)
/* 80299B58 00296A98 C0 16 00 04 */ lfs f0, 4(r22)
/* 80299B5C 00296A9C D0 03 00 04 */ stfs f0, 4(r3)
/* 80299B60 00296AA0 7F E3 FB 78 */ mr r3, r31
/* 80299B64 00296AA4 80 96 00 08 */ lwz r4, 8(r22)
/* 80299B68 00296AA8 48 00 04 99 */ bl JSUConvertOffsetToPtr_X11_
/* 80299B6C 00296AAC 7C 73 1B 79 */ or. r19, r3, r3
/* 80299B70 00296AB0 41 82 00 44 */ beq lbl_80299BB4
/* 80299B74 00296AB4 48 00 04 19 */ bl JASBNKParser_NS_Ver0_NS_getOscTableEndPtr
/* 80299B78 00296AB8 7C 73 18 50 */ subf r3, r19, r3
/* 80299B7C 00296ABC 38 00 00 06 */ li r0, 6
/* 80299B80 00296AC0 7C 03 03 D6 */ divw r0, r3, r0
/* 80299B84 00296AC4 1E 40 00 06 */ mulli r18, r0, 6
/* 80299B88 00296AC8 7E 43 93 78 */ mr r3, r18
/* 80299B8C 00296ACC 7F C4 F3 78 */ mr r4, r30
/* 80299B90 00296AD0 38 A0 00 00 */ li r5, 0
/* 80299B94 00296AD4 48 03 51 7D */ bl __nwa_X2_
/* 80299B98 00296AD8 7C 71 1B 78 */ mr r17, r3
/* 80299B9C 00296ADC 7E 63 9B 78 */ mr r3, r19
/* 80299BA0 00296AE0 7E 24 8B 78 */ mr r4, r17
/* 80299BA4 00296AE4 7E 45 93 78 */ mr r5, r18
/* 80299BA8 00296AE8 4B FF 57 AD */ bl JASCalc_NS_bcopy
/* 80299BAC 00296AEC 92 34 00 08 */ stw r17, 8(r20)
/* 80299BB0 00296AF0 48 00 00 0C */ b lbl_80299BBC
lbl_80299BB4:
/* 80299BB4 00296AF4 38 00 00 00 */ li r0, 0
/* 80299BB8 00296AF8 90 14 00 08 */ stw r0, 8(r20)
lbl_80299BBC:
/* 80299BBC 00296AFC 7F E3 FB 78 */ mr r3, r31
/* 80299BC0 00296B00 80 96 00 0C */ lwz r4, 0xc(r22)
/* 80299BC4 00296B04 48 00 04 3D */ bl JSUConvertOffsetToPtr_X11_
/* 80299BC8 00296B08 7C 73 1B 79 */ or. r19, r3, r3
/* 80299BCC 00296B0C 41 82 00 44 */ beq lbl_80299C10
/* 80299BD0 00296B10 48 00 03 BD */ bl JASBNKParser_NS_Ver0_NS_getOscTableEndPtr
/* 80299BD4 00296B14 7C 73 18 50 */ subf r3, r19, r3
/* 80299BD8 00296B18 38 00 00 06 */ li r0, 6
/* 80299BDC 00296B1C 7C 03 03 D6 */ divw r0, r3, r0
/* 80299BE0 00296B20 1E 40 00 06 */ mulli r18, r0, 6
/* 80299BE4 00296B24 7E 43 93 78 */ mr r3, r18
/* 80299BE8 00296B28 7F C4 F3 78 */ mr r4, r30
/* 80299BEC 00296B2C 38 A0 00 00 */ li r5, 0
/* 80299BF0 00296B30 48 03 51 21 */ bl __nwa_X2_
/* 80299BF4 00296B34 7C 71 1B 78 */ mr r17, r3
/* 80299BF8 00296B38 7E 63 9B 78 */ mr r3, r19
/* 80299BFC 00296B3C 7E 24 8B 78 */ mr r4, r17
/* 80299C00 00296B40 7E 45 93 78 */ mr r5, r18
/* 80299C04 00296B44 4B FF 57 51 */ bl JASCalc_NS_bcopy
/* 80299C08 00296B48 92 34 00 0C */ stw r17, 0xc(r20)
/* 80299C0C 00296B4C 48 00 00 0C */ b lbl_80299C18
lbl_80299C10:
/* 80299C10 00296B50 38 00 00 00 */ li r0, 0
/* 80299C14 00296B54 90 14 00 0C */ stw r0, 0xc(r20)
lbl_80299C18:
/* 80299C18 00296B58 C0 16 00 10 */ lfs f0, 0x10(r22)
/* 80299C1C 00296B5C D0 14 00 10 */ stfs f0, 0x10(r20)
/* 80299C20 00296B60 C0 16 00 14 */ lfs f0, 0x14(r22)
/* 80299C24 00296B64 D0 14 00 14 */ stfs f0, 0x14(r20)
/* 80299C28 00296B68 7E E3 BB 78 */ mr r3, r23
/* 80299C2C 00296B6C 7F 44 D3 78 */ mr r4, r26
/* 80299C30 00296B70 7E 85 A3 78 */ mr r5, r20
/* 80299C34 00296B74 4B FF E5 E9 */ bl JASBasicInst_NS_setOsc
lbl_80299C38:
/* 80299C38 00296B78 3B 5A 00 01 */ addi r26, r26, 1
lbl_80299C3C:
/* 80299C3C 00296B7C 3B 39 00 01 */ addi r25, r25, 1
/* 80299C40 00296B80 2C 19 00 02 */ cmpwi r25, 2
/* 80299C44 00296B84 3B 18 00 04 */ addi r24, r24, 4
/* 80299C48 00296B88 41 80 FE B4 */ blt lbl_80299AFC
/* 80299C4C 00296B8C 7E E3 BB 78 */ mr r3, r23
/* 80299C50 00296B90 80 9C 00 28 */ lwz r4, 0x28(r28)
/* 80299C54 00296B94 7F C5 F3 78 */ mr r5, r30
/* 80299C58 00296B98 4B FF E5 45 */ bl JASBasicInst_NS_setKeyRegionCount
/* 80299C5C 00296B9C 3A 20 00 00 */ li r17, 0
/* 80299C60 00296BA0 3A 80 00 00 */ li r20, 0
/* 80299C64 00296BA4 48 00 00 5C */ b lbl_80299CC0
lbl_80299C68:
/* 80299C68 00296BA8 7E E3 BB 78 */ mr r3, r23
/* 80299C6C 00296BAC 7E 24 8B 78 */ mr r4, r17
/* 80299C70 00296BB0 4B FF E5 BD */ bl JASBasicInst_NS_getKeyRegion
/* 80299C74 00296BB4 7C 76 1B 78 */ mr r22, r3
/* 80299C78 00296BB8 7F E3 FB 78 */ mr r3, r31
/* 80299C7C 00296BBC 38 14 00 2C */ addi r0, r20, 0x2c
/* 80299C80 00296BC0 7C 9C 00 2E */ lwzx r4, r28, r0
/* 80299C84 00296BC4 48 00 03 65 */ bl JSUConvertOffsetToPtr_X10_
/* 80299C88 00296BC8 7C 64 1B 78 */ mr r4, r3
/* 80299C8C 00296BCC 88 03 00 00 */ lbz r0, 0(r3)
/* 80299C90 00296BD0 90 16 00 00 */ stw r0, 0(r22)
/* 80299C94 00296BD4 7F E3 FB 78 */ mr r3, r31
/* 80299C98 00296BD8 80 84 00 08 */ lwz r4, 8(r4)
/* 80299C9C 00296BDC 48 00 03 35 */ bl JSUConvertOffsetToPtr_X9_
/* 80299CA0 00296BE0 80 03 00 04 */ lwz r0, 4(r3)
/* 80299CA4 00296BE4 B0 16 00 04 */ sth r0, 4(r22)
/* 80299CA8 00296BE8 C0 03 00 08 */ lfs f0, 8(r3)
/* 80299CAC 00296BEC D0 16 00 08 */ stfs f0, 8(r22)
/* 80299CB0 00296BF0 C0 03 00 0C */ lfs f0, 0xc(r3)
/* 80299CB4 00296BF4 D0 16 00 0C */ stfs f0, 0xc(r22)
/* 80299CB8 00296BF8 3A 31 00 01 */ addi r17, r17, 1
/* 80299CBC 00296BFC 3A 94 00 04 */ addi r20, r20, 4
lbl_80299CC0:
/* 80299CC0 00296C00 80 1C 00 28 */ lwz r0, 0x28(r28)
/* 80299CC4 00296C04 7C 11 00 40 */ cmplw r17, r0
/* 80299CC8 00296C08 41 80 FF A0 */ blt lbl_80299C68
/* 80299CCC 00296C0C 7F A3 EB 78 */ mr r3, r29
/* 80299CD0 00296C10 7F 64 DB 78 */ mr r4, r27
/* 80299CD4 00296C14 7E E5 BB 78 */ mr r5, r23
/* 80299CD8 00296C18 4B FF E1 91 */ bl JASBasicBank_NS_setInst
lbl_80299CDC:
/* 80299CDC 00296C1C 3B 7B 00 01 */ addi r27, r27, 1
/* 80299CE0 00296C20 2C 1B 00 80 */ cmpwi r27, 0x80
/* 80299CE4 00296C24 3A B5 00 04 */ addi r21, r21, 4
/* 80299CE8 00296C28 41 80 FD C0 */ blt lbl_80299AA8
/* 80299CEC 00296C2C 3A 80 00 00 */ li r20, 0
/* 80299CF0 00296C30 3B 40 00 00 */ li r26, 0
lbl_80299CF4:
/* 80299CF4 00296C34 7F E3 FB 78 */ mr r3, r31
/* 80299CF8 00296C38 38 1A 03 B4 */ addi r0, r26, 0x3b4
/* 80299CFC 00296C3C 7C 9F 00 2E */ lwzx r4, r31, r0
/* 80299D00 00296C40 48 00 02 B9 */ bl JSUConvertOffsetToPtr_X8_
/* 80299D04 00296C44 7C 76 1B 79 */ or. r22, r3, r3
/* 80299D08 00296C48 41 82 01 34 */ beq lbl_80299E3C
/* 80299D0C 00296C4C 38 60 00 0C */ li r3, 0xc
/* 80299D10 00296C50 7F C4 F3 78 */ mr r4, r30
/* 80299D14 00296C54 38 A0 00 00 */ li r5, 0
/* 80299D18 00296C58 48 03 4F 81 */ bl __nw_X2_
/* 80299D1C 00296C5C 7C 77 1B 79 */ or. r23, r3, r3
/* 80299D20 00296C60 41 82 00 0C */ beq lbl_80299D2C
/* 80299D24 00296C64 4B FF E5 C9 */ bl JASDrumSet
/* 80299D28 00296C68 7C 77 1B 78 */ mr r23, r3
lbl_80299D2C:
/* 80299D2C 00296C6C 7E E3 BB 78 */ mr r3, r23
/* 80299D30 00296C70 38 80 00 80 */ li r4, 0x80
/* 80299D34 00296C74 7F C5 F3 78 */ mr r5, r30
/* 80299D38 00296C78 4B FF E6 39 */ bl JASDrumSet_NS_newPercArray
/* 80299D3C 00296C7C 3B 20 00 00 */ li r25, 0
/* 80299D40 00296C80 3B 60 00 00 */ li r27, 0
/* 80299D44 00296C84 3B 80 00 00 */ li r28, 0
lbl_80299D48:
/* 80299D48 00296C88 7F E3 FB 78 */ mr r3, r31
/* 80299D4C 00296C8C 38 1C 00 88 */ addi r0, r28, 0x88
/* 80299D50 00296C90 7C 96 00 2E */ lwzx r4, r22, r0
/* 80299D54 00296C94 48 00 02 4D */ bl JSUConvertOffsetToPtr_X7_
/* 80299D58 00296C98 7C 75 1B 79 */ or. r21, r3, r3
/* 80299D5C 00296C9C 41 82 00 BC */ beq lbl_80299E18
/* 80299D60 00296CA0 38 60 00 18 */ li r3, 0x18
/* 80299D64 00296CA4 7F C4 F3 78 */ mr r4, r30
/* 80299D68 00296CA8 38 A0 00 00 */ li r5, 0
/* 80299D6C 00296CAC 48 03 4F 2D */ bl __nw_X2_
/* 80299D70 00296CB0 7C 78 1B 79 */ or. r24, r3, r3
/* 80299D74 00296CB4 41 82 00 0C */ beq lbl_80299D80
/* 80299D78 00296CB8 4B FF E7 4D */ bl JASDrumSet_NS_TPerc
/* 80299D7C 00296CBC 7C 78 1B 78 */ mr r24, r3
lbl_80299D80:
/* 80299D80 00296CC0 C0 15 00 00 */ lfs f0, 0(r21)
/* 80299D84 00296CC4 D0 18 00 00 */ stfs f0, 0(r24)
/* 80299D88 00296CC8 C0 15 00 04 */ lfs f0, 4(r21)
/* 80299D8C 00296CCC D0 18 00 04 */ stfs f0, 4(r24)
/* 80299D90 00296CD0 80 76 00 00 */ lwz r3, 0(r22)
/* 80299D94 00296CD4 3C 03 AF BB */ addis r0, r3, 0xafbb
/* 80299D98 00296CD8 28 00 52 32 */ cmplwi r0, 0x5232
/* 80299D9C 00296CDC 40 82 00 48 */ bne lbl_80299DE4
/* 80299DA0 00296CE0 38 19 02 88 */ addi r0, r25, 0x288
/* 80299DA4 00296CE4 7C 16 00 AE */ lbzx r0, r22, r0
/* 80299DA8 00296CE8 7C 00 07 74 */ extsb r0, r0
/* 80299DAC 00296CEC C8 22 BC 68 */ lfd f1, lbl_80455668-_SDA2_BASE_(r2)
/* 80299DB0 00296CF0 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 80299DB4 00296CF4 90 01 00 0C */ stw r0, 0xc(r1)
/* 80299DB8 00296CF8 3C 00 43 30 */ lis r0, 0x4330
/* 80299DBC 00296CFC 90 01 00 08 */ stw r0, 8(r1)
/* 80299DC0 00296D00 C8 01 00 08 */ lfd f0, 8(r1)
/* 80299DC4 00296D04 EC 20 08 28 */ fsubs f1, f0, f1
/* 80299DC8 00296D08 C0 02 BC 58 */ lfs f0, lbl_80455658-_SDA2_BASE_(r2)
/* 80299DCC 00296D0C EC 01 00 24 */ fdivs f0, f1, f0
/* 80299DD0 00296D10 D0 18 00 08 */ stfs f0, 8(r24)
/* 80299DD4 00296D14 7F 03 C3 78 */ mr r3, r24
/* 80299DD8 00296D18 38 1B 03 08 */ addi r0, r27, 0x308
/* 80299DDC 00296D1C 7C 96 02 2E */ lhzx r4, r22, r0
/* 80299DE0 00296D20 4B FF E7 05 */ bl JASDrumSet_NS_TPerc_NS_setRelease
lbl_80299DE4:
/* 80299DE4 00296D24 7F E3 FB 78 */ mr r3, r31
/* 80299DE8 00296D28 80 95 00 14 */ lwz r4, 0x14(r21)
/* 80299DEC 00296D2C 48 00 01 E5 */ bl JSUConvertOffsetToPtr_X9_
/* 80299DF0 00296D30 80 03 00 04 */ lwz r0, 4(r3)
/* 80299DF4 00296D34 B0 18 00 0E */ sth r0, 0xe(r24)
/* 80299DF8 00296D38 C0 03 00 08 */ lfs f0, 8(r3)
/* 80299DFC 00296D3C D0 18 00 10 */ stfs f0, 0x10(r24)
/* 80299E00 00296D40 C0 03 00 0C */ lfs f0, 0xc(r3)
/* 80299E04 00296D44 D0 18 00 14 */ stfs f0, 0x14(r24)
/* 80299E08 00296D48 7E E3 BB 78 */ mr r3, r23
/* 80299E0C 00296D4C 7F 24 CB 78 */ mr r4, r25
/* 80299E10 00296D50 7F 05 C3 78 */ mr r5, r24
/* 80299E14 00296D54 4B FF E6 A1 */ bl JASDrumSet_NS_setPerc
lbl_80299E18:
/* 80299E18 00296D58 3B 39 00 01 */ addi r25, r25, 1
/* 80299E1C 00296D5C 2C 19 00 80 */ cmpwi r25, 0x80
/* 80299E20 00296D60 3B 7B 00 02 */ addi r27, r27, 2
/* 80299E24 00296D64 3B 9C 00 04 */ addi r28, r28, 4
/* 80299E28 00296D68 41 80 FF 20 */ blt lbl_80299D48
/* 80299E2C 00296D6C 7F A3 EB 78 */ mr r3, r29
/* 80299E30 00296D70 38 94 00 E4 */ addi r4, r20, 0xe4
/* 80299E34 00296D74 7E E5 BB 78 */ mr r5, r23
/* 80299E38 00296D78 4B FF E0 31 */ bl JASBasicBank_NS_setInst
lbl_80299E3C:
/* 80299E3C 00296D7C 3A 94 00 01 */ addi r20, r20, 1
/* 80299E40 00296D80 2C 14 00 0C */ cmpwi r20, 0xc
/* 80299E44 00296D84 3B 5A 00 04 */ addi r26, r26, 4
/* 80299E48 00296D88 41 80 FE AC */ blt lbl_80299CF4
/* 80299E4C 00296D8C 7F A3 EB 78 */ mr r3, r29
lbl_80299E50:
/* 80299E50 00296D90 39 61 00 50 */ addi r11, r1, 0x50
/* 80299E54 00296D94 48 0C 83 A5 */ bl func_803621F8
/* 80299E58 00296D98 80 01 00 54 */ lwz r0, 0x54(r1)
/* 80299E5C 00296D9C 7C 08 03 A6 */ mtlr r0
/* 80299E60 00296DA0 38 21 00 50 */ addi r1, r1, 0x50
/* 80299E64 00296DA4 4E 80 00 20 */ blr
.global JASBNKParser_NS_Ver0_NS_findOscPtr
JASBNKParser_NS_Ver0_NS_findOscPtr:
/* 80299E68 00296DA8 94 21 FF B0 */ stwu r1, -0x50(r1)
/* 80299E6C 00296DAC 7C 08 02 A6 */ mflr r0
/* 80299E70 00296DB0 90 01 00 54 */ stw r0, 0x54(r1)
/* 80299E74 00296DB4 39 61 00 50 */ addi r11, r1, 0x50
/* 80299E78 00296DB8 48 0C 83 4D */ bl func_803621C4
/* 80299E7C 00296DBC 7C 77 1B 78 */ mr r23, r3
/* 80299E80 00296DC0 7C 98 23 78 */ mr r24, r4
/* 80299E84 00296DC4 7C B9 2B 78 */ mr r25, r5
/* 80299E88 00296DC8 3B 98 00 20 */ addi r28, r24, 0x20
/* 80299E8C 00296DCC 3B 60 00 00 */ li r27, 0
/* 80299E90 00296DD0 3B E0 00 00 */ li r31, 0
lbl_80299E94:
/* 80299E94 00296DD4 7F 03 C3 78 */ mr r3, r24
/* 80299E98 00296DD8 38 1F 00 04 */ addi r0, r31, 4
/* 80299E9C 00296DDC 7C 9C 00 2E */ lwzx r4, r28, r0
/* 80299EA0 00296DE0 48 00 01 91 */ bl JSUConvertOffsetToPtr_X13_
/* 80299EA4 00296DE4 7C 7D 1B 79 */ or. r29, r3, r3
/* 80299EA8 00296DE8 41 82 00 B8 */ beq lbl_80299F60
/* 80299EAC 00296DEC 3B 40 00 00 */ li r26, 0
/* 80299EB0 00296DF0 3B C0 00 00 */ li r30, 0
lbl_80299EB4:
/* 80299EB4 00296DF4 7F 03 C3 78 */ mr r3, r24
/* 80299EB8 00296DF8 38 1E 00 10 */ addi r0, r30, 0x10
/* 80299EBC 00296DFC 7C 9D 00 2E */ lwzx r4, r29, r0
/* 80299EC0 00296E00 48 00 01 59 */ bl JSUConvertOffsetToPtr_X12_
/* 80299EC4 00296E04 7C 03 C8 40 */ cmplw r3, r25
/* 80299EC8 00296E08 40 82 00 88 */ bne lbl_80299F50
/* 80299ECC 00296E0C 7E E3 BB 78 */ mr r3, r23
/* 80299ED0 00296E10 7F 64 DB 78 */ mr r4, r27
/* 80299ED4 00296E14 4B FF DF AD */ bl JASBasicBank_NS_getInst
/* 80299ED8 00296E18 28 03 00 00 */ cmplwi r3, 0
/* 80299EDC 00296E1C 41 82 00 74 */ beq lbl_80299F50
/* 80299EE0 00296E20 C0 02 BC 70 */ lfs f0, lbl_80455670-_SDA2_BASE_(r2)
/* 80299EE4 00296E24 D0 01 00 08 */ stfs f0, 8(r1)
/* 80299EE8 00296E28 D0 01 00 10 */ stfs f0, 0x10(r1)
/* 80299EEC 00296E2C C0 22 BC 74 */ lfs f1, lbl_80455674-_SDA2_BASE_(r2)
/* 80299EF0 00296E30 D0 21 00 0C */ stfs f1, 0xc(r1)
/* 80299EF4 00296E34 C0 02 BC 78 */ lfs f0, lbl_80455678-_SDA2_BASE_(r2)
/* 80299EF8 00296E38 D0 01 00 14 */ stfs f0, 0x14(r1)
/* 80299EFC 00296E3C D0 21 00 18 */ stfs f1, 0x18(r1)
/* 80299F00 00296E40 38 00 00 00 */ li r0, 0
/* 80299F04 00296E44 90 01 00 1C */ stw r0, 0x1c(r1)
/* 80299F08 00296E48 B0 01 00 20 */ sth r0, 0x20(r1)
/* 80299F0C 00296E4C B0 01 00 22 */ sth r0, 0x22(r1)
/* 80299F10 00296E50 98 01 00 24 */ stb r0, 0x24(r1)
/* 80299F14 00296E54 98 01 00 25 */ stb r0, 0x25(r1)
/* 80299F18 00296E58 98 01 00 26 */ stb r0, 0x26(r1)
/* 80299F1C 00296E5C 38 80 00 3C */ li r4, 0x3c
/* 80299F20 00296E60 38 A0 00 7F */ li r5, 0x7f
/* 80299F24 00296E64 38 C1 00 08 */ addi r6, r1, 8
/* 80299F28 00296E68 81 83 00 00 */ lwz r12, 0(r3)
/* 80299F2C 00296E6C 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 80299F30 00296E70 7D 89 03 A6 */ mtctr r12
/* 80299F34 00296E74 4E 80 04 21 */ bctrl
/* 80299F38 00296E78 88 01 00 25 */ lbz r0, 0x25(r1)
/* 80299F3C 00296E7C 7C 1A 00 00 */ cmpw r26, r0
/* 80299F40 00296E80 40 80 00 10 */ bge lbl_80299F50
/* 80299F44 00296E84 80 61 00 1C */ lwz r3, 0x1c(r1)
/* 80299F48 00296E88 7C 63 F0 2E */ lwzx r3, r3, r30
/* 80299F4C 00296E8C 48 00 00 28 */ b lbl_80299F74
lbl_80299F50:
/* 80299F50 00296E90 3B 5A 00 01 */ addi r26, r26, 1
/* 80299F54 00296E94 2C 1A 00 02 */ cmpwi r26, 2
/* 80299F58 00296E98 3B DE 00 04 */ addi r30, r30, 4
/* 80299F5C 00296E9C 41 80 FF 58 */ blt lbl_80299EB4
lbl_80299F60:
/* 80299F60 00296EA0 3B 7B 00 01 */ addi r27, r27, 1
/* 80299F64 00296EA4 2C 1B 00 80 */ cmpwi r27, 0x80
/* 80299F68 00296EA8 3B FF 00 04 */ addi r31, r31, 4
/* 80299F6C 00296EAC 41 80 FF 28 */ blt lbl_80299E94
/* 80299F70 00296EB0 38 60 00 00 */ li r3, 0
lbl_80299F74:
/* 80299F74 00296EB4 39 61 00 50 */ addi r11, r1, 0x50
/* 80299F78 00296EB8 48 0C 82 99 */ bl func_80362210
/* 80299F7C 00296EBC 80 01 00 54 */ lwz r0, 0x54(r1)
/* 80299F80 00296EC0 7C 08 03 A6 */ mtlr r0
/* 80299F84 00296EC4 38 21 00 50 */ addi r1, r1, 0x50
/* 80299F88 00296EC8 4E 80 00 20 */ blr
.global JASBNKParser_NS_Ver0_NS_getOscTableEndPtr
JASBNKParser_NS_Ver0_NS_getOscTableEndPtr:
/* 80299F8C 00296ECC A8 03 00 00 */ lha r0, 0(r3)
/* 80299F90 00296ED0 2C 00 00 0A */ cmpwi r0, 0xa
/* 80299F94 00296ED4 38 63 00 06 */ addi r3, r3, 6
/* 80299F98 00296ED8 40 81 FF F4 */ ble JASBNKParser_NS_Ver0_NS_getOscTableEndPtr
/* 80299F9C 00296EDC 4E 80 00 20 */ blr
.global JSUConvertOffsetToPtr_X7_
JSUConvertOffsetToPtr_X7_:
/* 80299FA0 00296EE0 28 04 00 00 */ cmplwi r4, 0
/* 80299FA4 00296EE4 40 82 00 0C */ bne lbl_80299FB0
/* 80299FA8 00296EE8 38 60 00 00 */ li r3, 0
/* 80299FAC 00296EEC 4E 80 00 20 */ blr
lbl_80299FB0:
/* 80299FB0 00296EF0 7C 63 22 14 */ add r3, r3, r4
/* 80299FB4 00296EF4 4E 80 00 20 */ blr
.global JSUConvertOffsetToPtr_X8_
JSUConvertOffsetToPtr_X8_:
/* 80299FB8 00296EF8 28 04 00 00 */ cmplwi r4, 0
/* 80299FBC 00296EFC 40 82 00 0C */ bne lbl_80299FC8
/* 80299FC0 00296F00 38 60 00 00 */ li r3, 0
/* 80299FC4 00296F04 4E 80 00 20 */ blr
lbl_80299FC8:
/* 80299FC8 00296F08 7C 63 22 14 */ add r3, r3, r4
/* 80299FCC 00296F0C 4E 80 00 20 */ blr
.global JSUConvertOffsetToPtr_X9_
JSUConvertOffsetToPtr_X9_:
/* 80299FD0 00296F10 28 04 00 00 */ cmplwi r4, 0
/* 80299FD4 00296F14 40 82 00 0C */ bne lbl_80299FE0
/* 80299FD8 00296F18 38 60 00 00 */ li r3, 0
/* 80299FDC 00296F1C 4E 80 00 20 */ blr
lbl_80299FE0:
/* 80299FE0 00296F20 7C 63 22 14 */ add r3, r3, r4
/* 80299FE4 00296F24 4E 80 00 20 */ blr
.global JSUConvertOffsetToPtr_X10_
JSUConvertOffsetToPtr_X10_:
/* 80299FE8 00296F28 28 04 00 00 */ cmplwi r4, 0
/* 80299FEC 00296F2C 40 82 00 0C */ bne lbl_80299FF8
/* 80299FF0 00296F30 38 60 00 00 */ li r3, 0
/* 80299FF4 00296F34 4E 80 00 20 */ blr
lbl_80299FF8:
/* 80299FF8 00296F38 7C 63 22 14 */ add r3, r3, r4
/* 80299FFC 00296F3C 4E 80 00 20 */ blr
.global JSUConvertOffsetToPtr_X11_
JSUConvertOffsetToPtr_X11_:
/* 8029A000 00296F40 28 04 00 00 */ cmplwi r4, 0
/* 8029A004 00296F44 40 82 00 0C */ bne lbl_8029A010
/* 8029A008 00296F48 38 60 00 00 */ li r3, 0
/* 8029A00C 00296F4C 4E 80 00 20 */ blr
lbl_8029A010:
/* 8029A010 00296F50 7C 63 22 14 */ add r3, r3, r4
/* 8029A014 00296F54 4E 80 00 20 */ blr
.global JSUConvertOffsetToPtr_X12_
JSUConvertOffsetToPtr_X12_:
/* 8029A018 00296F58 28 04 00 00 */ cmplwi r4, 0
/* 8029A01C 00296F5C 40 82 00 0C */ bne lbl_8029A028
/* 8029A020 00296F60 38 60 00 00 */ li r3, 0
/* 8029A024 00296F64 4E 80 00 20 */ blr
lbl_8029A028:
/* 8029A028 00296F68 7C 63 22 14 */ add r3, r3, r4
/* 8029A02C 00296F6C 4E 80 00 20 */ blr
.global JSUConvertOffsetToPtr_X13_
JSUConvertOffsetToPtr_X13_:
/* 8029A030 00296F70 28 04 00 00 */ cmplwi r4, 0
/* 8029A034 00296F74 40 82 00 0C */ bne lbl_8029A040
/* 8029A038 00296F78 38 60 00 00 */ li r3, 0
/* 8029A03C 00296F7C 4E 80 00 20 */ blr
lbl_8029A040:
/* 8029A040 00296F80 7C 63 22 14 */ add r3, r3, r4
/* 8029A044 00296F84 4E 80 00 20 */ blr
/* 8029A048 00296F88 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8029A04C 00296F8C 7C 08 02 A6 */ mflr r0
/* 8029A050 00296F90 90 01 00 14 */ stw r0, 0x14(r1)
/* 8029A054 00296F94 88 0D 8D 0C */ lbz r0, lbl_8045128C-_SDA_BASE_(r13)
/* 8029A058 00296F98 7C 00 07 75 */ extsb. r0, r0
/* 8029A05C 00296F9C 40 82 00 34 */ bne lbl_8029A090
/* 8029A060 00296FA0 3C 60 80 43 */ lis r3, lbl_80431B7C@ha
/* 8029A064 00296FA4 38 63 1B 7C */ addi r3, r3, lbl_80431B7C@l
/* 8029A068 00296FA8 4B FF 67 E1 */ bl JASGenericMemPool
/* 8029A06C 00296FAC 3C 60 80 43 */ lis r3, lbl_80431B7C@ha
/* 8029A070 00296FB0 38 63 1B 7C */ addi r3, r3, lbl_80431B7C@l
.global JASMemPool_MultiThreaded_NS_dtor_X2_
/* 8029A074 00296FB4 3C 80 80 29 */ lis r4, JASMemPool_MultiThreaded_NS_dtor_X2_@ha
.global JASMemPool_MultiThreaded_NS_dtor_X2_
/* 8029A078 00296FB8 38 84 78 DC */ addi r4, r4, JASMemPool_MultiThreaded_NS_dtor_X2_@l
/* 8029A07C 00296FBC 3C A0 80 43 */ lis r5, lbl_80431B70@ha
/* 8029A080 00296FC0 38 A5 1B 70 */ addi r5, r5, lbl_80431B70@l
/* 8029A084 00296FC4 48 0C 7B A1 */ bl func_80361C24
/* 8029A088 00296FC8 38 00 00 01 */ li r0, 1
/* 8029A08C 00296FCC 98 0D 8D 0C */ stb r0, lbl_8045128C-_SDA_BASE_(r13)
lbl_8029A090:
/* 8029A090 00296FD0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8029A094 00296FD4 7C 08 03 A6 */ mtlr r0
/* 8029A098 00296FD8 38 21 00 10 */ addi r1, r1, 0x10
/* 8029A09C 00296FDC 4E 80 00 20 */ blr

309
asm/JAudio2/JASBank.s Normal file
View File

@ -0,0 +1,309 @@
.include "macros.inc"
.section .text, "ax" # 80297930
.global JASBank_NS_noteOn
JASBank_NS_noteOn:
/* 80297930 00294870 94 21 FF A0 */ stwu r1, -0x60(r1)
/* 80297934 00294874 7C 08 02 A6 */ mflr r0
/* 80297938 00294878 90 01 00 64 */ stw r0, 0x64(r1)
/* 8029793C 0029487C 39 61 00 60 */ addi r11, r1, 0x60
/* 80297940 00294880 48 0C A8 85 */ bl func_803621C4
/* 80297944 00294884 7C 7A 1B 78 */ mr r26, r3
/* 80297948 00294888 7C DB 33 78 */ mr r27, r6
/* 8029794C 0029488C 7C FC 3B 78 */ mr r28, r7
/* 80297950 00294890 7D 1D 43 78 */ mr r29, r8
/* 80297954 00294894 7D 3E 4B 78 */ mr r30, r9
/* 80297958 00294898 2C 04 00 F0 */ cmpwi r4, 0xf0
/* 8029795C 0029489C 41 80 00 24 */ blt lbl_80297980
/* 80297960 002948A0 38 64 FF 10 */ addi r3, r4, -240
/* 80297964 002948A4 7C A4 2B 78 */ mr r4, r5
/* 80297968 002948A8 7F 65 DB 78 */ mr r5, r27
/* 8029796C 002948AC 7F 86 E3 78 */ mr r6, r28
/* 80297970 002948B0 7F A7 EB 78 */ mr r7, r29
/* 80297974 002948B4 7F C8 F3 78 */ mr r8, r30
/* 80297978 002948B8 48 00 02 C9 */ bl JASBank_NS_noteOnOsc
/* 8029797C 002948BC 48 00 02 AC */ b lbl_80297C28
lbl_80297980:
/* 80297980 002948C0 28 1A 00 00 */ cmplwi r26, 0
/* 80297984 002948C4 40 82 00 0C */ bne lbl_80297990
/* 80297988 002948C8 38 60 00 00 */ li r3, 0
/* 8029798C 002948CC 48 00 02 9C */ b lbl_80297C28
lbl_80297990:
/* 80297990 002948D0 C0 02 BC 30 */ lfs f0, lbl_80455630-_SDA2_BASE_(r2)
/* 80297994 002948D4 D0 01 00 0C */ stfs f0, 0xc(r1)
/* 80297998 002948D8 D0 01 00 14 */ stfs f0, 0x14(r1)
/* 8029799C 002948DC C0 22 BC 34 */ lfs f1, lbl_80455634-_SDA2_BASE_(r2)
/* 802979A0 002948E0 D0 21 00 10 */ stfs f1, 0x10(r1)
/* 802979A4 002948E4 C0 02 BC 38 */ lfs f0, lbl_80455638-_SDA2_BASE_(r2)
/* 802979A8 002948E8 D0 01 00 18 */ stfs f0, 0x18(r1)
/* 802979AC 002948EC D0 21 00 1C */ stfs f1, 0x1c(r1)
/* 802979B0 002948F0 38 00 00 00 */ li r0, 0
/* 802979B4 002948F4 90 01 00 20 */ stw r0, 0x20(r1)
/* 802979B8 002948F8 B0 01 00 24 */ sth r0, 0x24(r1)
/* 802979BC 002948FC B0 01 00 26 */ sth r0, 0x26(r1)
/* 802979C0 00294900 98 01 00 28 */ stb r0, 0x28(r1)
/* 802979C4 00294904 98 01 00 29 */ stb r0, 0x29(r1)
/* 802979C8 00294908 98 01 00 2A */ stb r0, 0x2a(r1)
/* 802979CC 0029490C 54 BF 06 3E */ clrlwi r31, r5, 0x18
/* 802979D0 00294910 7F E5 FB 78 */ mr r5, r31
/* 802979D4 00294914 57 66 06 3E */ clrlwi r6, r27, 0x18
/* 802979D8 00294918 38 E1 00 0C */ addi r7, r1, 0xc
/* 802979DC 0029491C 81 83 00 00 */ lwz r12, 0(r3)
/* 802979E0 00294920 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 802979E4 00294924 7D 89 03 A6 */ mtctr r12
/* 802979E8 00294928 4E 80 04 21 */ bctrl
/* 802979EC 0029492C 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 802979F0 00294930 40 82 00 0C */ bne lbl_802979FC
/* 802979F4 00294934 38 60 00 00 */ li r3, 0
/* 802979F8 00294938 48 00 02 30 */ b lbl_80297C28
lbl_802979FC:
/* 802979FC 0029493C 80 7A 00 04 */ lwz r3, 4(r26)
/* 80297A00 00294940 28 03 00 00 */ cmplwi r3, 0
/* 80297A04 00294944 40 82 00 0C */ bne lbl_80297A10
/* 80297A08 00294948 38 60 00 00 */ li r3, 0
/* 80297A0C 0029494C 48 00 02 1C */ b lbl_80297C28
lbl_80297A10:
/* 80297A10 00294950 A0 81 00 26 */ lhz r4, 0x26(r1)
/* 80297A14 00294954 81 83 00 00 */ lwz r12, 0(r3)
/* 80297A18 00294958 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 80297A1C 0029495C 7D 89 03 A6 */ mtctr r12
/* 80297A20 00294960 4E 80 04 21 */ bctrl
/* 80297A24 00294964 7C 77 1B 79 */ or. r23, r3, r3
/* 80297A28 00294968 40 82 00 0C */ bne lbl_80297A34
/* 80297A2C 0029496C 38 60 00 00 */ li r3, 0
/* 80297A30 00294970 48 00 01 F8 */ b lbl_80297C28
lbl_80297A34:
/* 80297A34 00294974 81 83 00 00 */ lwz r12, 0(r3)
/* 80297A38 00294978 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 80297A3C 0029497C 7D 89 03 A6 */ mtctr r12
/* 80297A40 00294980 4E 80 04 21 */ bctrl
/* 80297A44 00294984 7C 78 1B 79 */ or. r24, r3, r3
/* 80297A48 00294988 40 82 00 0C */ bne lbl_80297A54
/* 80297A4C 0029498C 38 60 00 00 */ li r3, 0
/* 80297A50 00294990 48 00 01 D8 */ b lbl_80297C28
lbl_80297A54:
/* 80297A54 00294994 7E E3 BB 78 */ mr r3, r23
/* 80297A58 00294998 81 97 00 00 */ lwz r12, 0(r23)
/* 80297A5C 0029499C 81 8C 00 10 */ lwz r12, 0x10(r12)
/* 80297A60 002949A0 7D 89 03 A6 */ mtctr r12
/* 80297A64 002949A4 4E 80 04 21 */ bctrl
/* 80297A68 002949A8 7C 79 1B 79 */ or. r25, r3, r3
/* 80297A6C 002949AC 40 82 00 0C */ bne lbl_80297A78
/* 80297A70 002949B0 38 60 00 00 */ li r3, 0
/* 80297A74 002949B4 48 00 01 B4 */ b lbl_80297C28
lbl_80297A78:
/* 80297A78 002949B8 88 0D 8C E2 */ lbz r0, lbl_80451262-_SDA_BASE_(r13)
/* 80297A7C 002949BC 7C 00 07 75 */ extsb. r0, r0
/* 80297A80 002949C0 40 82 00 34 */ bne lbl_80297AB4
/* 80297A84 002949C4 3C 60 80 43 */ lis r3, lbl_80431B34@ha
/* 80297A88 002949C8 38 63 1B 34 */ addi r3, r3, lbl_80431B34@l
/* 80297A8C 002949CC 4B FF 8D BD */ bl JASGenericMemPool
/* 80297A90 002949D0 3C 60 80 43 */ lis r3, lbl_80431B34@ha
/* 80297A94 002949D4 38 63 1B 34 */ addi r3, r3, lbl_80431B34@l
.global JASMemPool_MultiThreaded_NS_dtor_X2_
/* 80297A98 002949D8 3C 80 80 29 */ lis r4, JASMemPool_MultiThreaded_NS_dtor_X2_@ha
.global JASMemPool_MultiThreaded_NS_dtor_X2_
/* 80297A9C 002949DC 38 84 78 DC */ addi r4, r4, JASMemPool_MultiThreaded_NS_dtor_X2_@l
/* 80297AA0 002949E0 3C A0 80 43 */ lis r5, lbl_80431B48@ha
/* 80297AA4 002949E4 38 A5 1B 48 */ addi r5, r5, lbl_80431B48@l
/* 80297AA8 002949E8 48 0C A1 7D */ bl func_80361C24
/* 80297AAC 002949EC 38 00 00 01 */ li r0, 1
/* 80297AB0 002949F0 98 0D 8C E2 */ stb r0, lbl_80451262-_SDA_BASE_(r13)
lbl_80297AB4:
/* 80297AB4 002949F4 48 0A 5C 41 */ bl __RAS_OSDisableInterrupts_begin
/* 80297AB8 002949F8 90 61 00 08 */ stw r3, 8(r1)
/* 80297ABC 002949FC 3C 60 80 43 */ lis r3, lbl_80431B34@ha
/* 80297AC0 00294A00 38 63 1B 34 */ addi r3, r3, lbl_80431B34@l
/* 80297AC4 00294A04 38 80 01 08 */ li r4, 0x108
/* 80297AC8 00294A08 4B FF 8E 81 */ bl JASGenericMemPool_NS_alloc
/* 80297ACC 00294A0C 7C 77 1B 78 */ mr r23, r3
/* 80297AD0 00294A10 80 61 00 08 */ lwz r3, 8(r1)
/* 80297AD4 00294A14 48 0A 5C 49 */ bl OSRestoreInterrupts
/* 80297AD8 00294A18 28 17 00 00 */ cmplwi r23, 0
/* 80297ADC 00294A1C 41 82 00 18 */ beq lbl_80297AF4
/* 80297AE0 00294A20 7E E3 BB 78 */ mr r3, r23
/* 80297AE4 00294A24 7F A4 EB 78 */ mr r4, r29
/* 80297AE8 00294A28 7F C5 F3 78 */ mr r5, r30
/* 80297AEC 00294A2C 48 00 2D 15 */ bl JASChannel
/* 80297AF0 00294A30 7C 77 1B 78 */ mr r23, r3
lbl_80297AF4:
/* 80297AF4 00294A34 28 17 00 00 */ cmplwi r23, 0
/* 80297AF8 00294A38 40 82 00 0C */ bne lbl_80297B04
/* 80297AFC 00294A3C 38 60 00 00 */ li r3, 0
/* 80297B00 00294A40 48 00 01 28 */ b lbl_80297C28
lbl_80297B04:
/* 80297B04 00294A44 B3 97 00 98 */ sth r28, 0x98(r23)
/* 80297B08 00294A48 88 18 00 00 */ lbz r0, 0(r24)
/* 80297B0C 00294A4C 98 17 00 E0 */ stb r0, 0xe0(r23)
/* 80297B10 00294A50 88 18 00 01 */ lbz r0, 1(r24)
/* 80297B14 00294A54 98 17 00 E1 */ stb r0, 0xe1(r23)
/* 80297B18 00294A58 88 18 00 02 */ lbz r0, 2(r24)
/* 80297B1C 00294A5C 98 17 00 E2 */ stb r0, 0xe2(r23)
/* 80297B20 00294A60 C0 18 00 04 */ lfs f0, 4(r24)
/* 80297B24 00294A64 D0 17 00 E4 */ stfs f0, 0xe4(r23)
/* 80297B28 00294A68 80 18 00 08 */ lwz r0, 8(r24)
/* 80297B2C 00294A6C 90 17 00 E8 */ stw r0, 0xe8(r23)
/* 80297B30 00294A70 80 18 00 0C */ lwz r0, 0xc(r24)
/* 80297B34 00294A74 90 17 00 EC */ stw r0, 0xec(r23)
/* 80297B38 00294A78 80 18 00 10 */ lwz r0, 0x10(r24)
/* 80297B3C 00294A7C 90 17 00 F0 */ stw r0, 0xf0(r23)
/* 80297B40 00294A80 80 18 00 14 */ lwz r0, 0x14(r24)
/* 80297B44 00294A84 90 17 00 F4 */ stw r0, 0xf4(r23)
/* 80297B48 00294A88 80 18 00 18 */ lwz r0, 0x18(r24)
/* 80297B4C 00294A8C 90 17 00 F8 */ stw r0, 0xf8(r23)
/* 80297B50 00294A90 A8 18 00 1C */ lha r0, 0x1c(r24)
/* 80297B54 00294A94 B0 17 00 FC */ sth r0, 0xfc(r23)
/* 80297B58 00294A98 A8 18 00 1E */ lha r0, 0x1e(r24)
/* 80297B5C 00294A9C B0 17 00 FE */ sth r0, 0xfe(r23)
/* 80297B60 00294AA0 80 18 00 20 */ lwz r0, 0x20(r24)
/* 80297B64 00294AA4 90 17 01 00 */ stw r0, 0x100(r23)
/* 80297B68 00294AA8 93 37 01 04 */ stw r25, 0x104(r23)
/* 80297B6C 00294AAC 88 01 00 28 */ lbz r0, 0x28(r1)
/* 80297B70 00294AB0 90 17 00 DC */ stw r0, 0xdc(r23)
/* 80297B74 00294AB4 93 57 00 18 */ stw r26, 0x18(r23)
/* 80297B78 00294AB8 48 00 4E 71 */ bl JASDriver_NS_getDacRate
/* 80297B7C 00294ABC C0 18 00 04 */ lfs f0, 4(r24)
/* 80297B80 00294AC0 EC 20 08 24 */ fdivs f1, f0, f1
/* 80297B84 00294AC4 C0 01 00 14 */ lfs f0, 0x14(r1)
/* 80297B88 00294AC8 EC 00 00 72 */ fmuls f0, f0, f1
/* 80297B8C 00294ACC D0 17 00 BC */ stfs f0, 0xbc(r23)
/* 80297B90 00294AD0 88 01 00 2A */ lbz r0, 0x2a(r1)
/* 80297B94 00294AD4 28 00 00 00 */ cmplwi r0, 0
/* 80297B98 00294AD8 40 82 00 10 */ bne lbl_80297BA8
/* 80297B9C 00294ADC 88 18 00 01 */ lbz r0, 1(r24)
/* 80297BA0 00294AE0 7C 00 F8 50 */ subf r0, r0, r31
/* 80297BA4 00294AE4 B0 17 00 C8 */ sth r0, 0xc8(r23)
lbl_80297BA8:
/* 80297BA8 00294AE8 C0 01 00 0C */ lfs f0, 0xc(r1)
/* 80297BAC 00294AEC D0 17 00 B4 */ stfs f0, 0xb4(r23)
/* 80297BB0 00294AF0 57 60 06 3E */ clrlwi r0, r27, 0x18
/* 80297BB4 00294AF4 B0 17 00 CA */ sth r0, 0xca(r23)
/* 80297BB8 00294AF8 C0 01 00 18 */ lfs f0, 0x18(r1)
/* 80297BBC 00294AFC D0 17 00 C0 */ stfs f0, 0xc0(r23)
/* 80297BC0 00294B00 C0 01 00 10 */ lfs f0, 0x10(r1)
/* 80297BC4 00294B04 D0 17 00 B8 */ stfs f0, 0xb8(r23)
/* 80297BC8 00294B08 C0 01 00 1C */ lfs f0, 0x1c(r1)
/* 80297BCC 00294B0C D0 17 00 C4 */ stfs f0, 0xc4(r23)
/* 80297BD0 00294B10 3B 20 00 00 */ li r25, 0
/* 80297BD4 00294B14 3B 00 00 00 */ li r24, 0
/* 80297BD8 00294B18 48 00 00 20 */ b lbl_80297BF8
lbl_80297BDC:
/* 80297BDC 00294B1C 7E E3 BB 78 */ mr r3, r23
/* 80297BE0 00294B20 7F 24 CB 78 */ mr r4, r25
/* 80297BE4 00294B24 80 A1 00 20 */ lwz r5, 0x20(r1)
/* 80297BE8 00294B28 7C A5 C0 2E */ lwzx r5, r5, r24
/* 80297BEC 00294B2C 48 00 2F 79 */ bl JASChannel_NS_setOscInit
/* 80297BF0 00294B30 3B 39 00 01 */ addi r25, r25, 1
/* 80297BF4 00294B34 3B 18 00 04 */ addi r24, r24, 4
lbl_80297BF8:
/* 80297BF8 00294B38 88 01 00 29 */ lbz r0, 0x29(r1)
/* 80297BFC 00294B3C 7C 19 00 40 */ cmplw r25, r0
/* 80297C00 00294B40 41 80 FF DC */ blt lbl_80297BDC
/* 80297C04 00294B44 A0 01 00 24 */ lhz r0, 0x24(r1)
/* 80297C08 00294B48 B0 17 00 32 */ sth r0, 0x32(r23)
/* 80297C0C 00294B4C 7E E3 BB 78 */ mr r3, r23
/* 80297C10 00294B50 48 00 2D E1 */ bl JASChannel_NS_play
/* 80297C14 00294B54 2C 03 00 00 */ cmpwi r3, 0
/* 80297C18 00294B58 41 82 00 0C */ beq lbl_80297C24
/* 80297C1C 00294B5C 7E E3 BB 78 */ mr r3, r23
/* 80297C20 00294B60 48 00 00 08 */ b lbl_80297C28
lbl_80297C24:
/* 80297C24 00294B64 38 60 00 00 */ li r3, 0
lbl_80297C28:
/* 80297C28 00294B68 39 61 00 60 */ addi r11, r1, 0x60
/* 80297C2C 00294B6C 48 0C A5 E5 */ bl func_80362210
/* 80297C30 00294B70 80 01 00 64 */ lwz r0, 0x64(r1)
/* 80297C34 00294B74 7C 08 03 A6 */ mtlr r0
/* 80297C38 00294B78 38 21 00 60 */ addi r1, r1, 0x60
/* 80297C3C 00294B7C 4E 80 00 20 */ blr
.global JASBank_NS_noteOnOsc
JASBank_NS_noteOnOsc:
/* 80297C40 00294B80 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 80297C44 00294B84 7C 08 02 A6 */ mflr r0
/* 80297C48 00294B88 90 01 00 34 */ stw r0, 0x34(r1)
/* 80297C4C 00294B8C 39 61 00 30 */ addi r11, r1, 0x30
/* 80297C50 00294B90 48 0C A5 7D */ bl func_803621CC
/* 80297C54 00294B94 7C 7A 1B 78 */ mr r26, r3
/* 80297C58 00294B98 7C 9B 23 78 */ mr r27, r4
/* 80297C5C 00294B9C 7C BC 2B 78 */ mr r28, r5
/* 80297C60 00294BA0 7C DD 33 78 */ mr r29, r6
/* 80297C64 00294BA4 7C FE 3B 78 */ mr r30, r7
/* 80297C68 00294BA8 7D 1F 43 78 */ mr r31, r8
/* 80297C6C 00294BAC 88 0D 8C E2 */ lbz r0, lbl_80451262-_SDA_BASE_(r13)
/* 80297C70 00294BB0 7C 00 07 75 */ extsb. r0, r0
/* 80297C74 00294BB4 40 82 00 34 */ bne lbl_80297CA8
/* 80297C78 00294BB8 3C 60 80 43 */ lis r3, lbl_80431B34@ha
/* 80297C7C 00294BBC 38 63 1B 34 */ addi r3, r3, lbl_80431B34@l
/* 80297C80 00294BC0 4B FF 8B C9 */ bl JASGenericMemPool
/* 80297C84 00294BC4 3C 60 80 43 */ lis r3, lbl_80431B34@ha
/* 80297C88 00294BC8 38 63 1B 34 */ addi r3, r3, lbl_80431B34@l
.global JASMemPool_MultiThreaded_NS_dtor_X2_
/* 80297C8C 00294BCC 3C 80 80 29 */ lis r4, JASMemPool_MultiThreaded_NS_dtor_X2_@ha
.global JASMemPool_MultiThreaded_NS_dtor_X2_
/* 80297C90 00294BD0 38 84 78 DC */ addi r4, r4, JASMemPool_MultiThreaded_NS_dtor_X2_@l
/* 80297C94 00294BD4 3C A0 80 43 */ lis r5, lbl_80431B48@ha
/* 80297C98 00294BD8 38 A5 1B 48 */ addi r5, r5, lbl_80431B48@l
/* 80297C9C 00294BDC 48 0C 9F 89 */ bl func_80361C24
/* 80297CA0 00294BE0 38 00 00 01 */ li r0, 1
/* 80297CA4 00294BE4 98 0D 8C E2 */ stb r0, lbl_80451262-_SDA_BASE_(r13)
lbl_80297CA8:
/* 80297CA8 00294BE8 48 0A 5A 4D */ bl __RAS_OSDisableInterrupts_begin
/* 80297CAC 00294BEC 90 61 00 08 */ stw r3, 8(r1)
/* 80297CB0 00294BF0 3C 60 80 43 */ lis r3, lbl_80431B34@ha
/* 80297CB4 00294BF4 38 63 1B 34 */ addi r3, r3, lbl_80431B34@l
/* 80297CB8 00294BF8 38 80 01 08 */ li r4, 0x108
/* 80297CBC 00294BFC 4B FF 8C 8D */ bl JASGenericMemPool_NS_alloc
/* 80297CC0 00294C00 7C 79 1B 78 */ mr r25, r3
/* 80297CC4 00294C04 80 61 00 08 */ lwz r3, 8(r1)
/* 80297CC8 00294C08 48 0A 5A 55 */ bl OSRestoreInterrupts
/* 80297CCC 00294C0C 28 19 00 00 */ cmplwi r25, 0
/* 80297CD0 00294C10 41 82 00 18 */ beq lbl_80297CE8
/* 80297CD4 00294C14 7F 23 CB 78 */ mr r3, r25
/* 80297CD8 00294C18 7F C4 F3 78 */ mr r4, r30
/* 80297CDC 00294C1C 7F E5 FB 78 */ mr r5, r31
/* 80297CE0 00294C20 48 00 2B 21 */ bl JASChannel
/* 80297CE4 00294C24 7C 79 1B 78 */ mr r25, r3
lbl_80297CE8:
/* 80297CE8 00294C28 28 19 00 00 */ cmplwi r25, 0
/* 80297CEC 00294C2C 40 82 00 0C */ bne lbl_80297CF8
/* 80297CF0 00294C30 38 60 00 00 */ li r3, 0
/* 80297CF4 00294C34 48 00 00 6C */ b lbl_80297D60
lbl_80297CF8:
/* 80297CF8 00294C38 B3 B9 00 98 */ sth r29, 0x98(r25)
/* 80297CFC 00294C3C 93 59 01 04 */ stw r26, 0x104(r25)
/* 80297D00 00294C40 38 00 00 02 */ li r0, 2
/* 80297D04 00294C44 90 19 00 DC */ stw r0, 0xdc(r25)
/* 80297D08 00294C48 48 00 4C E1 */ bl JASDriver_NS_getDacRate
/* 80297D0C 00294C4C C0 02 BC 3C */ lfs f0, lbl_8045563C-_SDA2_BASE_(r2)
/* 80297D10 00294C50 EC 00 08 24 */ fdivs f0, f0, f1
/* 80297D14 00294C54 D0 19 00 BC */ stfs f0, 0xbc(r25)
/* 80297D18 00294C58 88 79 00 E1 */ lbz r3, 0xe1(r25)
/* 80297D1C 00294C5C 57 60 06 3E */ clrlwi r0, r27, 0x18
/* 80297D20 00294C60 7C 03 00 50 */ subf r0, r3, r0
/* 80297D24 00294C64 B0 19 00 C8 */ sth r0, 0xc8(r25)
/* 80297D28 00294C68 57 80 06 3E */ clrlwi r0, r28, 0x18
/* 80297D2C 00294C6C B0 19 00 CA */ sth r0, 0xca(r25)
/* 80297D30 00294C70 7F 23 CB 78 */ mr r3, r25
/* 80297D34 00294C74 38 80 00 00 */ li r4, 0
/* 80297D38 00294C78 3C A0 80 3A */ lis r5, lbl_8039B19C@ha
/* 80297D3C 00294C7C 38 A5 B1 9C */ addi r5, r5, lbl_8039B19C@l
/* 80297D40 00294C80 48 00 2E 25 */ bl JASChannel_NS_setOscInit
/* 80297D44 00294C84 7F 23 CB 78 */ mr r3, r25
/* 80297D48 00294C88 48 00 2C A9 */ bl JASChannel_NS_play
/* 80297D4C 00294C8C 2C 03 00 00 */ cmpwi r3, 0
/* 80297D50 00294C90 41 82 00 0C */ beq lbl_80297D5C
/* 80297D54 00294C94 7F 23 CB 78 */ mr r3, r25
/* 80297D58 00294C98 48 00 00 08 */ b lbl_80297D60
lbl_80297D5C:
/* 80297D5C 00294C9C 38 60 00 00 */ li r3, 0
lbl_80297D60:
/* 80297D60 00294CA0 39 61 00 30 */ addi r11, r1, 0x30
/* 80297D64 00294CA4 48 0C A4 B5 */ bl func_80362218
/* 80297D68 00294CA8 80 01 00 34 */ lwz r0, 0x34(r1)
/* 80297D6C 00294CAC 7C 08 03 A6 */ mtlr r0
/* 80297D70 00294CB0 38 21 00 30 */ addi r1, r1, 0x30
/* 80297D74 00294CB4 4E 80 00 20 */ blr

152
asm/JAudio2/JASBasicBank.s Normal file
View File

@ -0,0 +1,152 @@
.include "macros.inc"
.section .text, "ax" # 80297d78
.global JASBasicBank
JASBasicBank:
/* 80297D78 00294CB8 3C 80 80 3C */ lis r4, lbl_803C76BC@ha
/* 80297D7C 00294CBC 38 04 76 BC */ addi r0, r4, lbl_803C76BC@l
/* 80297D80 00294CC0 90 03 00 00 */ stw r0, 0(r3)
/* 80297D84 00294CC4 38 A0 00 00 */ li r5, 0
/* 80297D88 00294CC8 90 A3 00 04 */ stw r5, 4(r3)
/* 80297D8C 00294CCC 3C 80 80 3C */ lis r4, lbl_803C76A8@ha
/* 80297D90 00294CD0 38 04 76 A8 */ addi r0, r4, lbl_803C76A8@l
/* 80297D94 00294CD4 90 03 00 00 */ stw r0, 0(r3)
/* 80297D98 00294CD8 90 A3 00 08 */ stw r5, 8(r3)
/* 80297D9C 00294CDC 98 A3 00 0C */ stb r5, 0xc(r3)
/* 80297DA0 00294CE0 4E 80 00 20 */ blr
.global JASBasicBank_NS_newInstTable
JASBasicBank_NS_newInstTable:
/* 80297DA4 00294CE4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80297DA8 00294CE8 7C 08 02 A6 */ mflr r0
/* 80297DAC 00294CEC 90 01 00 14 */ stw r0, 0x14(r1)
/* 80297DB0 00294CF0 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80297DB4 00294CF4 7C 7F 1B 78 */ mr r31, r3
/* 80297DB8 00294CF8 54 80 06 3F */ clrlwi. r0, r4, 0x18
/* 80297DBC 00294CFC 41 82 00 30 */ beq lbl_80297DEC
/* 80297DC0 00294D00 98 9F 00 0C */ stb r4, 0xc(r31)
/* 80297DC4 00294D04 88 1F 00 0C */ lbz r0, 0xc(r31)
/* 80297DC8 00294D08 54 03 10 3A */ slwi r3, r0, 2
/* 80297DCC 00294D0C 7C A4 2B 78 */ mr r4, r5
/* 80297DD0 00294D10 38 A0 00 00 */ li r5, 0
/* 80297DD4 00294D14 48 03 6F 3D */ bl __nwa_X2_
/* 80297DD8 00294D18 90 7F 00 08 */ stw r3, 8(r31)
/* 80297DDC 00294D1C 80 7F 00 08 */ lwz r3, 8(r31)
/* 80297DE0 00294D20 88 1F 00 0C */ lbz r0, 0xc(r31)
/* 80297DE4 00294D24 54 04 10 3A */ slwi r4, r0, 2
/* 80297DE8 00294D28 4B FF 76 99 */ bl JASCalc_NS_bzero
lbl_80297DEC:
/* 80297DEC 00294D2C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80297DF0 00294D30 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80297DF4 00294D34 7C 08 03 A6 */ mtlr r0
/* 80297DF8 00294D38 38 21 00 10 */ addi r1, r1, 0x10
/* 80297DFC 00294D3C 4E 80 00 20 */ blr
/* 80297E00 00294D40 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80297E04 00294D44 7C 08 02 A6 */ mflr r0
/* 80297E08 00294D48 90 01 00 24 */ stw r0, 0x24(r1)
/* 80297E0C 00294D4C 39 61 00 20 */ addi r11, r1, 0x20
/* 80297E10 00294D50 48 0C A3 CD */ bl func_803621DC
/* 80297E14 00294D54 7C BD 2B 78 */ mr r29, r5
/* 80297E18 00294D58 7C DE 33 78 */ mr r30, r6
/* 80297E1C 00294D5C 7C FF 3B 78 */ mr r31, r7
/* 80297E20 00294D60 48 00 00 61 */ bl JASBasicBank_NS_getInst
/* 80297E24 00294D64 28 03 00 00 */ cmplwi r3, 0
/* 80297E28 00294D68 40 82 00 0C */ bne lbl_80297E34
/* 80297E2C 00294D6C 38 60 00 00 */ li r3, 0
/* 80297E30 00294D70 48 00 00 20 */ b lbl_80297E50
lbl_80297E34:
/* 80297E34 00294D74 7F A4 EB 78 */ mr r4, r29
/* 80297E38 00294D78 7F C5 F3 78 */ mr r5, r30
/* 80297E3C 00294D7C 7F E6 FB 78 */ mr r6, r31
/* 80297E40 00294D80 81 83 00 00 */ lwz r12, 0(r3)
/* 80297E44 00294D84 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 80297E48 00294D88 7D 89 03 A6 */ mtctr r12
/* 80297E4C 00294D8C 4E 80 04 21 */ bctrl
lbl_80297E50:
/* 80297E50 00294D90 39 61 00 20 */ addi r11, r1, 0x20
/* 80297E54 00294D94 48 0C A3 D5 */ bl func_80362228
/* 80297E58 00294D98 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80297E5C 00294D9C 7C 08 03 A6 */ mtlr r0
/* 80297E60 00294DA0 38 21 00 20 */ addi r1, r1, 0x20
/* 80297E64 00294DA4 4E 80 00 20 */ blr
.global JASBasicBank_NS_setInst
JASBasicBank_NS_setInst:
/* 80297E68 00294DA8 80 63 00 08 */ lwz r3, 8(r3)
/* 80297E6C 00294DAC 28 03 00 00 */ cmplwi r3, 0
/* 80297E70 00294DB0 4D 82 00 20 */ beqlr
/* 80297E74 00294DB4 54 80 10 3A */ slwi r0, r4, 2
/* 80297E78 00294DB8 7C A3 01 2E */ stwx r5, r3, r0
/* 80297E7C 00294DBC 4E 80 00 20 */ blr
.global JASBasicBank_NS_getInst
JASBasicBank_NS_getInst:
/* 80297E80 00294DC0 2C 04 00 00 */ cmpwi r4, 0
/* 80297E84 00294DC4 40 80 00 0C */ bge lbl_80297E90
/* 80297E88 00294DC8 38 60 00 00 */ li r3, 0
/* 80297E8C 00294DCC 4E 80 00 20 */ blr
lbl_80297E90:
/* 80297E90 00294DD0 88 03 00 0C */ lbz r0, 0xc(r3)
/* 80297E94 00294DD4 7C 04 00 00 */ cmpw r4, r0
/* 80297E98 00294DD8 41 80 00 0C */ blt lbl_80297EA4
/* 80297E9C 00294DDC 38 60 00 00 */ li r3, 0
/* 80297EA0 00294DE0 4E 80 00 20 */ blr
lbl_80297EA4:
/* 80297EA4 00294DE4 80 63 00 08 */ lwz r3, 8(r3)
/* 80297EA8 00294DE8 28 03 00 00 */ cmplwi r3, 0
/* 80297EAC 00294DEC 40 82 00 0C */ bne lbl_80297EB8
/* 80297EB0 00294DF0 38 60 00 00 */ li r3, 0
/* 80297EB4 00294DF4 4E 80 00 20 */ blr
lbl_80297EB8:
/* 80297EB8 00294DF8 54 80 10 3A */ slwi r0, r4, 2
/* 80297EBC 00294DFC 7C 63 00 2E */ lwzx r3, r3, r0
/* 80297EC0 00294E00 4E 80 00 20 */ blr
/* 80297EC4 00294E04 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80297EC8 00294E08 7C 08 02 A6 */ mflr r0
/* 80297ECC 00294E0C 90 01 00 14 */ stw r0, 0x14(r1)
/* 80297ED0 00294E10 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80297ED4 00294E14 7C 7F 1B 79 */ or. r31, r3, r3
/* 80297ED8 00294E18 41 82 00 1C */ beq lbl_80297EF4
/* 80297EDC 00294E1C 3C A0 80 3C */ lis r5, lbl_803C76BC@ha
/* 80297EE0 00294E20 38 05 76 BC */ addi r0, r5, lbl_803C76BC@l
/* 80297EE4 00294E24 90 1F 00 00 */ stw r0, 0(r31)
/* 80297EE8 00294E28 7C 80 07 35 */ extsh. r0, r4
/* 80297EEC 00294E2C 40 81 00 08 */ ble lbl_80297EF4
/* 80297EF0 00294E30 48 03 6E 4D */ bl __dl
lbl_80297EF4:
/* 80297EF4 00294E34 7F E3 FB 78 */ mr r3, r31
/* 80297EF8 00294E38 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80297EFC 00294E3C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80297F00 00294E40 7C 08 03 A6 */ mtlr r0
/* 80297F04 00294E44 38 21 00 10 */ addi r1, r1, 0x10
/* 80297F08 00294E48 4E 80 00 20 */ blr
/* 80297F0C 00294E4C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80297F10 00294E50 7C 08 02 A6 */ mflr r0
/* 80297F14 00294E54 90 01 00 14 */ stw r0, 0x14(r1)
/* 80297F18 00294E58 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80297F1C 00294E5C 7C 7F 1B 79 */ or. r31, r3, r3
/* 80297F20 00294E60 41 82 00 30 */ beq lbl_80297F50
/* 80297F24 00294E64 3C 60 80 3C */ lis r3, lbl_803C76A8@ha
/* 80297F28 00294E68 38 03 76 A8 */ addi r0, r3, lbl_803C76A8@l
/* 80297F2C 00294E6C 90 1F 00 00 */ stw r0, 0(r31)
/* 80297F30 00294E70 41 82 00 10 */ beq lbl_80297F40
/* 80297F34 00294E74 3C 60 80 3C */ lis r3, lbl_803C76BC@ha
/* 80297F38 00294E78 38 03 76 BC */ addi r0, r3, lbl_803C76BC@l
/* 80297F3C 00294E7C 90 1F 00 00 */ stw r0, 0(r31)
lbl_80297F40:
/* 80297F40 00294E80 7C 80 07 35 */ extsh. r0, r4
/* 80297F44 00294E84 40 81 00 0C */ ble lbl_80297F50
/* 80297F48 00294E88 7F E3 FB 78 */ mr r3, r31
/* 80297F4C 00294E8C 48 03 6D F1 */ bl __dl
lbl_80297F50:
/* 80297F50 00294E90 7F E3 FB 78 */ mr r3, r31
/* 80297F54 00294E94 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80297F58 00294E98 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80297F5C 00294E9C 7C 08 03 A6 */ mtlr r0
/* 80297F60 00294EA0 38 21 00 10 */ addi r1, r1, 0x10
/* 80297F64 00294EA4 4E 80 00 20 */ blr
/* 80297F68 00294EA8 3C 60 42 53 */ lis r3, 0x42534943@ha
/* 80297F6C 00294EAC 38 63 49 43 */ addi r3, r3, 0x42534943@l
/* 80297F70 00294EB0 4E 80 00 20 */ blr

220
asm/JAudio2/JASBasicInst.s Normal file
View File

@ -0,0 +1,220 @@
.include "macros.inc"
.section .text, "ax" # 80298014
.global JASBasicInst
JASBasicInst:
/* 80298014 00294F54 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80298018 00294F58 7C 08 02 A6 */ mflr r0
/* 8029801C 00294F5C 90 01 00 14 */ stw r0, 0x14(r1)
/* 80298020 00294F60 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80298024 00294F64 7C 7F 1B 78 */ mr r31, r3
/* 80298028 00294F68 3C 60 80 3C */ lis r3, lbl_803C76FC@ha
/* 8029802C 00294F6C 38 03 76 FC */ addi r0, r3, lbl_803C76FC@l
/* 80298030 00294F70 90 1F 00 00 */ stw r0, 0(r31)
/* 80298034 00294F74 3C 60 80 3C */ lis r3, lbl_803C76E8@ha
/* 80298038 00294F78 38 03 76 E8 */ addi r0, r3, lbl_803C76E8@l
/* 8029803C 00294F7C 90 1F 00 00 */ stw r0, 0(r31)
/* 80298040 00294F80 C0 02 BC 40 */ lfs f0, lbl_80455640-_SDA2_BASE_(r2)
/* 80298044 00294F84 D0 1F 00 04 */ stfs f0, 4(r31)
/* 80298048 00294F88 D0 1F 00 08 */ stfs f0, 8(r31)
/* 8029804C 00294F8C 38 00 00 00 */ li r0, 0
/* 80298050 00294F90 90 1F 00 14 */ stw r0, 0x14(r31)
/* 80298054 00294F94 90 1F 00 18 */ stw r0, 0x18(r31)
/* 80298058 00294F98 38 7F 00 0C */ addi r3, r31, 0xc
/* 8029805C 00294F9C 38 80 00 08 */ li r4, 8
/* 80298060 00294FA0 4B FF 74 21 */ bl JASCalc_NS_bzero
/* 80298064 00294FA4 7F E3 FB 78 */ mr r3, r31
/* 80298068 00294FA8 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8029806C 00294FAC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80298070 00294FB0 7C 08 03 A6 */ mtlr r0
/* 80298074 00294FB4 38 21 00 10 */ addi r1, r1, 0x10
/* 80298078 00294FB8 4E 80 00 20 */ blr
/* 8029807C 00294FBC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80298080 00294FC0 7C 08 02 A6 */ mflr r0
/* 80298084 00294FC4 90 01 00 14 */ stw r0, 0x14(r1)
/* 80298088 00294FC8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8029808C 00294FCC 93 C1 00 08 */ stw r30, 8(r1)
/* 80298090 00294FD0 7C 7E 1B 79 */ or. r30, r3, r3
/* 80298094 00294FD4 7C 9F 23 78 */ mr r31, r4
/* 80298098 00294FD8 41 82 00 44 */ beq lbl_802980DC
/* 8029809C 00294FDC 3C 60 80 3C */ lis r3, lbl_803C76E8@ha
/* 802980A0 00294FE0 38 03 76 E8 */ addi r0, r3, lbl_803C76E8@l
/* 802980A4 00294FE4 90 1E 00 00 */ stw r0, 0(r30)
/* 802980A8 00294FE8 80 7E 00 18 */ lwz r3, 0x18(r30)
.global JASBasicInst_NS_TKeymap_NS_dtor
/* 802980AC 00294FEC 3C 80 80 2A */ lis r4, JASBasicInst_NS_TKeymap_NS_dtor@ha
.global JASBasicInst_NS_TKeymap_NS_dtor
/* 802980B0 00294FF0 38 84 82 50 */ addi r4, r4, JASBasicInst_NS_TKeymap_NS_dtor@l
/* 802980B4 00294FF4 48 0C 9B B9 */ bl func_80361C6C
/* 802980B8 00294FF8 28 1E 00 00 */ cmplwi r30, 0
/* 802980BC 00294FFC 41 82 00 10 */ beq lbl_802980CC
/* 802980C0 00295000 3C 60 80 3C */ lis r3, lbl_803C76FC@ha
/* 802980C4 00295004 38 03 76 FC */ addi r0, r3, lbl_803C76FC@l
/* 802980C8 00295008 90 1E 00 00 */ stw r0, 0(r30)
lbl_802980CC:
/* 802980CC 0029500C 7F E0 07 35 */ extsh. r0, r31
/* 802980D0 00295010 40 81 00 0C */ ble lbl_802980DC
/* 802980D4 00295014 7F C3 F3 78 */ mr r3, r30
/* 802980D8 00295018 48 03 6C 65 */ bl __dl
lbl_802980DC:
/* 802980DC 0029501C 7F C3 F3 78 */ mr r3, r30
/* 802980E0 00295020 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802980E4 00295024 83 C1 00 08 */ lwz r30, 8(r1)
/* 802980E8 00295028 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802980EC 0029502C 7C 08 03 A6 */ mtlr r0
/* 802980F0 00295030 38 21 00 10 */ addi r1, r1, 0x10
/* 802980F4 00295034 4E 80 00 20 */ blr
/* 802980F8 00295038 38 A0 00 00 */ li r5, 0
/* 802980FC 0029503C 98 A6 00 1C */ stb r5, 0x1c(r6)
/* 80298100 00295040 98 A6 00 1E */ stb r5, 0x1e(r6)
/* 80298104 00295044 38 03 00 0C */ addi r0, r3, 0xc
/* 80298108 00295048 90 06 00 14 */ stw r0, 0x14(r6)
/* 8029810C 0029504C 38 00 00 02 */ li r0, 2
/* 80298110 00295050 98 06 00 1D */ stb r0, 0x1d(r6)
/* 80298114 00295054 C0 03 00 04 */ lfs f0, 4(r3)
/* 80298118 00295058 D0 06 00 00 */ stfs f0, 0(r6)
/* 8029811C 0029505C C0 03 00 08 */ lfs f0, 8(r3)
/* 80298120 00295060 D0 06 00 08 */ stfs f0, 8(r6)
/* 80298124 00295064 39 00 00 00 */ li r8, 0
/* 80298128 00295068 80 03 00 14 */ lwz r0, 0x14(r3)
/* 8029812C 0029506C 80 63 00 18 */ lwz r3, 0x18(r3)
/* 80298130 00295070 7C 09 03 A6 */ mtctr r0
/* 80298134 00295074 28 00 00 00 */ cmplwi r0, 0
/* 80298138 00295078 40 81 00 24 */ ble lbl_8029815C
lbl_8029813C:
/* 8029813C 0029507C 7C E3 2A 14 */ add r7, r3, r5
/* 80298140 00295080 80 07 00 00 */ lwz r0, 0(r7)
/* 80298144 00295084 7C 04 00 00 */ cmpw r4, r0
/* 80298148 00295088 41 81 00 0C */ bgt lbl_80298154
/* 8029814C 0029508C 7C E8 3B 78 */ mr r8, r7
/* 80298150 00295090 48 00 00 0C */ b lbl_8029815C
lbl_80298154:
/* 80298154 00295094 38 A5 00 10 */ addi r5, r5, 0x10
/* 80298158 00295098 42 00 FF E4 */ bdnz lbl_8029813C
lbl_8029815C:
/* 8029815C 0029509C 28 08 00 00 */ cmplwi r8, 0
/* 80298160 002950A0 40 82 00 0C */ bne lbl_8029816C
/* 80298164 002950A4 38 60 00 00 */ li r3, 0
/* 80298168 002950A8 4E 80 00 20 */ blr
lbl_8029816C:
/* 8029816C 002950AC C0 26 00 00 */ lfs f1, 0(r6)
/* 80298170 002950B0 C0 08 00 08 */ lfs f0, 8(r8)
/* 80298174 002950B4 EC 01 00 32 */ fmuls f0, f1, f0
/* 80298178 002950B8 D0 06 00 00 */ stfs f0, 0(r6)
/* 8029817C 002950BC C0 26 00 08 */ lfs f1, 8(r6)
/* 80298180 002950C0 C0 08 00 0C */ lfs f0, 0xc(r8)
/* 80298184 002950C4 EC 01 00 32 */ fmuls f0, f1, f0
/* 80298188 002950C8 D0 06 00 08 */ stfs f0, 8(r6)
/* 8029818C 002950CC A0 08 00 04 */ lhz r0, 4(r8)
/* 80298190 002950D0 B0 06 00 1A */ sth r0, 0x1a(r6)
/* 80298194 002950D4 38 60 00 01 */ li r3, 1
/* 80298198 002950D8 4E 80 00 20 */ blr
.global JASBasicInst_NS_setKeyRegionCount
JASBasicInst_NS_setKeyRegionCount:
/* 8029819C 002950DC 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802981A0 002950E0 7C 08 02 A6 */ mflr r0
/* 802981A4 002950E4 90 01 00 24 */ stw r0, 0x24(r1)
/* 802981A8 002950E8 39 61 00 20 */ addi r11, r1, 0x20
/* 802981AC 002950EC 48 0C A0 31 */ bl func_803621DC
/* 802981B0 002950F0 7C 7D 1B 78 */ mr r29, r3
/* 802981B4 002950F4 7C 9E 23 78 */ mr r30, r4
/* 802981B8 002950F8 7C BF 2B 78 */ mr r31, r5
/* 802981BC 002950FC 80 63 00 18 */ lwz r3, 0x18(r3)
.global JASBasicInst_NS_TKeymap_NS_dtor
/* 802981C0 00295100 3C 80 80 2A */ lis r4, JASBasicInst_NS_TKeymap_NS_dtor@ha
.global JASBasicInst_NS_TKeymap_NS_dtor
/* 802981C4 00295104 38 84 82 50 */ addi r4, r4, JASBasicInst_NS_TKeymap_NS_dtor@l
/* 802981C8 00295108 48 0C 9A A5 */ bl func_80361C6C
/* 802981CC 0029510C 57 C3 20 36 */ slwi r3, r30, 4
/* 802981D0 00295110 38 63 00 10 */ addi r3, r3, 0x10
/* 802981D4 00295114 7F E4 FB 78 */ mr r4, r31
/* 802981D8 00295118 38 A0 00 00 */ li r5, 0
/* 802981DC 0029511C 48 03 6B 35 */ bl __nwa_X2_
.global JASBasicInst_NS_TKeymap
/* 802981E0 00295120 3C 80 80 2A */ lis r4, JASBasicInst_NS_TKeymap@ha
.global JASBasicInst_NS_TKeymap
/* 802981E4 00295124 38 84 82 D4 */ addi r4, r4, JASBasicInst_NS_TKeymap@l
.global JASBasicInst_NS_TKeymap_NS_dtor
/* 802981E8 00295128 3C A0 80 2A */ lis r5, JASBasicInst_NS_TKeymap_NS_dtor@ha
.global JASBasicInst_NS_TKeymap_NS_dtor
/* 802981EC 0029512C 38 A5 82 50 */ addi r5, r5, JASBasicInst_NS_TKeymap_NS_dtor@l
/* 802981F0 00295130 38 C0 00 10 */ li r6, 0x10
/* 802981F4 00295134 7F C7 F3 78 */ mr r7, r30
/* 802981F8 00295138 48 0C 9D 1D */ bl func_80361F14
/* 802981FC 0029513C 90 7D 00 18 */ stw r3, 0x18(r29)
/* 80298200 00295140 93 DD 00 14 */ stw r30, 0x14(r29)
/* 80298204 00295144 39 61 00 20 */ addi r11, r1, 0x20
/* 80298208 00295148 48 0C A0 21 */ bl func_80362228
/* 8029820C 0029514C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80298210 00295150 7C 08 03 A6 */ mtlr r0
/* 80298214 00295154 38 21 00 20 */ addi r1, r1, 0x20
/* 80298218 00295158 4E 80 00 20 */ blr
.global JASBasicInst_NS_setOsc
JASBasicInst_NS_setOsc:
/* 8029821C 0029515C 54 80 10 3A */ slwi r0, r4, 2
/* 80298220 00295160 7C 63 02 14 */ add r3, r3, r0
/* 80298224 00295164 90 A3 00 0C */ stw r5, 0xc(r3)
/* 80298228 00295168 4E 80 00 20 */ blr
.global JASBasicInst_NS_getKeyRegion
JASBasicInst_NS_getKeyRegion:
/* 8029822C 0029516C 80 03 00 14 */ lwz r0, 0x14(r3)
/* 80298230 00295170 7C 04 00 40 */ cmplw r4, r0
/* 80298234 00295174 41 80 00 0C */ blt lbl_80298240
/* 80298238 00295178 38 60 00 00 */ li r3, 0
/* 8029823C 0029517C 4E 80 00 20 */ blr
lbl_80298240:
/* 80298240 00295180 80 63 00 18 */ lwz r3, 0x18(r3)
/* 80298244 00295184 54 80 20 36 */ slwi r0, r4, 4
/* 80298248 00295188 7C 63 02 14 */ add r3, r3, r0
/* 8029824C 0029518C 4E 80 00 20 */ blr
.global JASBasicInst_NS_TKeymap_NS_dtor
JASBasicInst_NS_TKeymap_NS_dtor:
/* 80298250 00295190 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80298254 00295194 7C 08 02 A6 */ mflr r0
/* 80298258 00295198 90 01 00 14 */ stw r0, 0x14(r1)
/* 8029825C 0029519C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80298260 002951A0 7C 7F 1B 79 */ or. r31, r3, r3
/* 80298264 002951A4 41 82 00 10 */ beq lbl_80298274
/* 80298268 002951A8 7C 80 07 35 */ extsh. r0, r4
/* 8029826C 002951AC 40 81 00 08 */ ble lbl_80298274
/* 80298270 002951B0 48 03 6A CD */ bl __dl
lbl_80298274:
/* 80298274 002951B4 7F E3 FB 78 */ mr r3, r31
/* 80298278 002951B8 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8029827C 002951BC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80298280 002951C0 7C 08 03 A6 */ mtlr r0
/* 80298284 002951C4 38 21 00 10 */ addi r1, r1, 0x10
/* 80298288 002951C8 4E 80 00 20 */ blr
/* 8029828C 002951CC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80298290 002951D0 7C 08 02 A6 */ mflr r0
/* 80298294 002951D4 90 01 00 14 */ stw r0, 0x14(r1)
/* 80298298 002951D8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8029829C 002951DC 7C 7F 1B 79 */ or. r31, r3, r3
/* 802982A0 002951E0 41 82 00 1C */ beq lbl_802982BC
/* 802982A4 002951E4 3C A0 80 3C */ lis r5, lbl_803C76FC@ha
/* 802982A8 002951E8 38 05 76 FC */ addi r0, r5, lbl_803C76FC@l
/* 802982AC 002951EC 90 1F 00 00 */ stw r0, 0(r31)
/* 802982B0 002951F0 7C 80 07 35 */ extsh. r0, r4
/* 802982B4 002951F4 40 81 00 08 */ ble lbl_802982BC
/* 802982B8 002951F8 48 03 6A 85 */ bl __dl
lbl_802982BC:
/* 802982BC 002951FC 7F E3 FB 78 */ mr r3, r31
/* 802982C0 00295200 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802982C4 00295204 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802982C8 00295208 7C 08 03 A6 */ mtlr r0
/* 802982CC 0029520C 38 21 00 10 */ addi r1, r1, 0x10
/* 802982D0 00295210 4E 80 00 20 */ blr
.global JASBasicInst_NS_TKeymap
JASBasicInst_NS_TKeymap:
/* 802982D4 00295214 38 00 FF FF */ li r0, -1
/* 802982D8 00295218 90 03 00 00 */ stw r0, 0(r3)
/* 802982DC 0029521C 4E 80 00 20 */ blr
/* 802982E0 00295220 3C 60 42 53 */ lis r3, 0x42534943@ha
/* 802982E4 00295224 38 63 49 43 */ addi r3, r3, 0x42534943@l
/* 802982E8 00295228 4E 80 00 20 */ blr

View File

@ -0,0 +1,567 @@
.include "macros.inc"
.section .text, "ax" # 802984f8
.global JASBasicWaveBank
JASBasicWaveBank:
/* 802984F8 00295438 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802984FC 0029543C 7C 08 02 A6 */ mflr r0
/* 80298500 00295440 90 01 00 14 */ stw r0, 0x14(r1)
/* 80298504 00295444 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80298508 00295448 7C 7F 1B 78 */ mr r31, r3
/* 8029850C 0029544C 3C 60 80 3C */ lis r3, lbl_803C7780@ha
/* 80298510 00295450 38 03 77 80 */ addi r0, r3, lbl_803C7780@l
/* 80298514 00295454 90 1F 00 00 */ stw r0, 0(r31)
/* 80298518 00295458 3C 60 80 3C */ lis r3, lbl_803C7768@ha
/* 8029851C 0029545C 38 03 77 68 */ addi r0, r3, lbl_803C7768@l
/* 80298520 00295460 90 1F 00 00 */ stw r0, 0(r31)
/* 80298524 00295464 38 00 00 00 */ li r0, 0
/* 80298528 00295468 90 1F 00 1C */ stw r0, 0x1c(r31)
/* 8029852C 0029546C 90 1F 00 20 */ stw r0, 0x20(r31)
/* 80298530 00295470 B0 1F 00 24 */ sth r0, 0x24(r31)
/* 80298534 00295474 B0 1F 00 26 */ sth r0, 0x26(r31)
/* 80298538 00295478 38 7F 00 04 */ addi r3, r31, 4
/* 8029853C 0029547C 48 0A 6A CD */ bl OSInitMutex
/* 80298540 00295480 7F E3 FB 78 */ mr r3, r31
/* 80298544 00295484 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80298548 00295488 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8029854C 0029548C 7C 08 03 A6 */ mtlr r0
/* 80298550 00295490 38 21 00 10 */ addi r1, r1, 0x10
/* 80298554 00295494 4E 80 00 20 */ blr
/* 80298558 00295498 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8029855C 0029549C 7C 08 02 A6 */ mflr r0
/* 80298560 002954A0 90 01 00 14 */ stw r0, 0x14(r1)
/* 80298564 002954A4 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80298568 002954A8 93 C1 00 08 */ stw r30, 8(r1)
/* 8029856C 002954AC 7C 7E 1B 79 */ or. r30, r3, r3
/* 80298570 002954B0 7C 9F 23 78 */ mr r31, r4
/* 80298574 002954B4 41 82 00 54 */ beq lbl_802985C8
/* 80298578 002954B8 3C 60 80 3C */ lis r3, lbl_803C7768@ha
/* 8029857C 002954BC 38 03 77 68 */ addi r0, r3, lbl_803C7768@l
/* 80298580 002954C0 90 1E 00 00 */ stw r0, 0(r30)
/* 80298584 002954C4 80 7E 00 1C */ lwz r3, 0x1c(r30)
.global JASBasicWaveBank_NS_TWaveHandle_NS_dtor
/* 80298588 002954C8 3C 80 80 2A */ lis r4, JASBasicWaveBank_NS_TWaveHandle_NS_dtor@ha
.global JASBasicWaveBank_NS_TWaveHandle_NS_dtor
/* 8029858C 002954CC 38 84 85 E4 */ addi r4, r4, JASBasicWaveBank_NS_TWaveHandle_NS_dtor@l
/* 80298590 002954D0 48 0C 96 DD */ bl func_80361C6C
/* 80298594 002954D4 80 7E 00 20 */ lwz r3, 0x20(r30)
.global JASBasicWaveBank_NS_TWaveGroup_NS_dtor
/* 80298598 002954D8 3C 80 80 2A */ lis r4, JASBasicWaveBank_NS_TWaveGroup_NS_dtor@ha
.global JASBasicWaveBank_NS_TWaveGroup_NS_dtor
/* 8029859C 002954DC 38 84 8A 0C */ addi r4, r4, JASBasicWaveBank_NS_TWaveGroup_NS_dtor@l
/* 802985A0 002954E0 48 0C 96 CD */ bl func_80361C6C
/* 802985A4 002954E4 28 1E 00 00 */ cmplwi r30, 0
/* 802985A8 002954E8 41 82 00 10 */ beq lbl_802985B8
/* 802985AC 002954EC 3C 60 80 3C */ lis r3, lbl_803C7780@ha
/* 802985B0 002954F0 38 03 77 80 */ addi r0, r3, lbl_803C7780@l
/* 802985B4 002954F4 90 1E 00 00 */ stw r0, 0(r30)
lbl_802985B8:
/* 802985B8 002954F8 7F E0 07 35 */ extsh. r0, r31
/* 802985BC 002954FC 40 81 00 0C */ ble lbl_802985C8
/* 802985C0 00295500 7F C3 F3 78 */ mr r3, r30
/* 802985C4 00295504 48 03 67 79 */ bl __dl
lbl_802985C8:
/* 802985C8 00295508 7F C3 F3 78 */ mr r3, r30
/* 802985CC 0029550C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802985D0 00295510 83 C1 00 08 */ lwz r30, 8(r1)
/* 802985D4 00295514 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802985D8 00295518 7C 08 03 A6 */ mtlr r0
/* 802985DC 0029551C 38 21 00 10 */ addi r1, r1, 0x10
/* 802985E0 00295520 4E 80 00 20 */ blr
.global JASBasicWaveBank_NS_TWaveHandle_NS_dtor
JASBasicWaveBank_NS_TWaveHandle_NS_dtor:
/* 802985E4 00295524 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802985E8 00295528 7C 08 02 A6 */ mflr r0
/* 802985EC 0029552C 90 01 00 14 */ stw r0, 0x14(r1)
/* 802985F0 00295530 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802985F4 00295534 7C 7F 1B 79 */ or. r31, r3, r3
/* 802985F8 00295538 41 82 00 30 */ beq lbl_80298628
/* 802985FC 0029553C 3C 60 80 3C */ lis r3, lbl_803C7728@ha
/* 80298600 00295540 38 03 77 28 */ addi r0, r3, lbl_803C7728@l
/* 80298604 00295544 90 1F 00 00 */ stw r0, 0(r31)
/* 80298608 00295548 41 82 00 10 */ beq lbl_80298618
/* 8029860C 0029554C 3C 60 80 3C */ lis r3, lbl_803C7754@ha
/* 80298610 00295550 38 03 77 54 */ addi r0, r3, lbl_803C7754@l
/* 80298614 00295554 90 1F 00 00 */ stw r0, 0(r31)
lbl_80298618:
/* 80298618 00295558 7C 80 07 35 */ extsh. r0, r4
/* 8029861C 0029555C 40 81 00 0C */ ble lbl_80298628
/* 80298620 00295560 7F E3 FB 78 */ mr r3, r31
/* 80298624 00295564 48 03 67 19 */ bl __dl
lbl_80298628:
/* 80298628 00295568 7F E3 FB 78 */ mr r3, r31
/* 8029862C 0029556C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80298630 00295570 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80298634 00295574 7C 08 03 A6 */ mtlr r0
/* 80298638 00295578 38 21 00 10 */ addi r1, r1, 0x10
/* 8029863C 0029557C 4E 80 00 20 */ blr
.global JASBasicWaveBank_NS_getWaveGroup
JASBasicWaveBank_NS_getWaveGroup:
/* 80298640 00295580 A0 03 00 26 */ lhz r0, 0x26(r3)
/* 80298644 00295584 7C 04 00 40 */ cmplw r4, r0
/* 80298648 00295588 41 80 00 0C */ blt lbl_80298654
/* 8029864C 0029558C 38 60 00 00 */ li r3, 0
/* 80298650 00295590 4E 80 00 20 */ blr
lbl_80298654:
/* 80298654 00295594 80 63 00 20 */ lwz r3, 0x20(r3)
/* 80298658 00295598 54 80 38 30 */ slwi r0, r4, 7
/* 8029865C 0029559C 7C 63 02 14 */ add r3, r3, r0
/* 80298660 002955A0 4E 80 00 20 */ blr
.global JASBasicWaveBank_NS_setGroupCount
JASBasicWaveBank_NS_setGroupCount:
/* 80298664 002955A4 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80298668 002955A8 7C 08 02 A6 */ mflr r0
/* 8029866C 002955AC 90 01 00 24 */ stw r0, 0x24(r1)
/* 80298670 002955B0 39 61 00 20 */ addi r11, r1, 0x20
/* 80298674 002955B4 48 0C 9B 69 */ bl func_803621DC
/* 80298678 002955B8 7C 7D 1B 78 */ mr r29, r3
/* 8029867C 002955BC 7C 9E 23 78 */ mr r30, r4
/* 80298680 002955C0 7C BF 2B 78 */ mr r31, r5
/* 80298684 002955C4 80 63 00 20 */ lwz r3, 0x20(r3)
.global JASBasicWaveBank_NS_TWaveGroup_NS_dtor
/* 80298688 002955C8 3C 80 80 2A */ lis r4, JASBasicWaveBank_NS_TWaveGroup_NS_dtor@ha
.global JASBasicWaveBank_NS_TWaveGroup_NS_dtor
/* 8029868C 002955CC 38 84 8A 0C */ addi r4, r4, JASBasicWaveBank_NS_TWaveGroup_NS_dtor@l
/* 80298690 002955D0 48 0C 95 DD */ bl func_80361C6C
/* 80298694 002955D4 B3 DD 00 26 */ sth r30, 0x26(r29)
/* 80298698 002955D8 57 C3 38 30 */ slwi r3, r30, 7
/* 8029869C 002955DC 38 63 00 10 */ addi r3, r3, 0x10
/* 802986A0 002955E0 7F E4 FB 78 */ mr r4, r31
/* 802986A4 002955E4 38 A0 00 00 */ li r5, 0
/* 802986A8 002955E8 48 03 66 69 */ bl __nwa_X2_
.global JASBasicWaveBank_NS_TWaveGroup
/* 802986AC 002955EC 3C 80 80 2A */ lis r4, JASBasicWaveBank_NS_TWaveGroup@ha
.global JASBasicWaveBank_NS_TWaveGroup
/* 802986B0 002955F0 38 84 89 C0 */ addi r4, r4, JASBasicWaveBank_NS_TWaveGroup@l
.global JASBasicWaveBank_NS_TWaveGroup_NS_dtor
/* 802986B4 002955F4 3C A0 80 2A */ lis r5, JASBasicWaveBank_NS_TWaveGroup_NS_dtor@ha
.global JASBasicWaveBank_NS_TWaveGroup_NS_dtor
/* 802986B8 002955F8 38 A5 8A 0C */ addi r5, r5, JASBasicWaveBank_NS_TWaveGroup_NS_dtor@l
/* 802986BC 002955FC 38 C0 00 80 */ li r6, 0x80
/* 802986C0 00295600 7F C7 F3 78 */ mr r7, r30
/* 802986C4 00295604 48 0C 98 51 */ bl func_80361F14
/* 802986C8 00295608 90 7D 00 20 */ stw r3, 0x20(r29)
/* 802986CC 0029560C 38 A0 00 00 */ li r5, 0
/* 802986D0 00295610 38 60 00 00 */ li r3, 0
/* 802986D4 00295614 48 00 00 18 */ b lbl_802986EC
lbl_802986D8:
/* 802986D8 00295618 80 9D 00 20 */ lwz r4, 0x20(r29)
/* 802986DC 0029561C 38 03 00 74 */ addi r0, r3, 0x74
/* 802986E0 00295620 7F A4 01 2E */ stwx r29, r4, r0
/* 802986E4 00295624 38 A5 00 01 */ addi r5, r5, 1
/* 802986E8 00295628 38 63 00 80 */ addi r3, r3, 0x80
lbl_802986EC:
/* 802986EC 0029562C A0 1D 00 26 */ lhz r0, 0x26(r29)
/* 802986F0 00295630 7C 05 00 00 */ cmpw r5, r0
/* 802986F4 00295634 41 80 FF E4 */ blt lbl_802986D8
/* 802986F8 00295638 39 61 00 20 */ addi r11, r1, 0x20
/* 802986FC 0029563C 48 0C 9B 2D */ bl func_80362228
/* 80298700 00295640 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80298704 00295644 7C 08 03 A6 */ mtlr r0
/* 80298708 00295648 38 21 00 20 */ addi r1, r1, 0x20
/* 8029870C 0029564C 4E 80 00 20 */ blr
.global JASBasicWaveBank_NS_setWaveTableSize
JASBasicWaveBank_NS_setWaveTableSize:
/* 80298710 00295650 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80298714 00295654 7C 08 02 A6 */ mflr r0
/* 80298718 00295658 90 01 00 24 */ stw r0, 0x24(r1)
/* 8029871C 0029565C 39 61 00 20 */ addi r11, r1, 0x20
/* 80298720 00295660 48 0C 9A BD */ bl func_803621DC
/* 80298724 00295664 7C 7D 1B 78 */ mr r29, r3
/* 80298728 00295668 7C 9E 23 78 */ mr r30, r4
/* 8029872C 0029566C 7C BF 2B 78 */ mr r31, r5
/* 80298730 00295670 80 63 00 1C */ lwz r3, 0x1c(r3)
.global JASBasicWaveBank_NS_TWaveHandle_NS_dtor
/* 80298734 00295674 3C 80 80 2A */ lis r4, JASBasicWaveBank_NS_TWaveHandle_NS_dtor@ha
.global JASBasicWaveBank_NS_TWaveHandle_NS_dtor
/* 80298738 00295678 38 84 85 E4 */ addi r4, r4, JASBasicWaveBank_NS_TWaveHandle_NS_dtor@l
/* 8029873C 0029567C 48 0C 95 31 */ bl func_80361C6C
/* 80298740 00295680 1C 7E 00 2C */ mulli r3, r30, 0x2c
/* 80298744 00295684 38 63 00 10 */ addi r3, r3, 0x10
/* 80298748 00295688 7F E4 FB 78 */ mr r4, r31
/* 8029874C 0029568C 38 A0 00 00 */ li r5, 0
/* 80298750 00295690 48 03 65 C1 */ bl __nwa_X2_
.global JASBasicWaveBank_NS_TWaveHandle
/* 80298754 00295694 3C 80 80 2A */ lis r4, JASBasicWaveBank_NS_TWaveHandle@ha
.global JASBasicWaveBank_NS_TWaveHandle
/* 80298758 00295698 38 84 8C 18 */ addi r4, r4, JASBasicWaveBank_NS_TWaveHandle@l
.global JASBasicWaveBank_NS_TWaveHandle_NS_dtor
/* 8029875C 0029569C 3C A0 80 2A */ lis r5, JASBasicWaveBank_NS_TWaveHandle_NS_dtor@ha
.global JASBasicWaveBank_NS_TWaveHandle_NS_dtor
/* 80298760 002956A0 38 A5 85 E4 */ addi r5, r5, JASBasicWaveBank_NS_TWaveHandle_NS_dtor@l
/* 80298764 002956A4 38 C0 00 2C */ li r6, 0x2c
/* 80298768 002956A8 7F C7 F3 78 */ mr r7, r30
/* 8029876C 002956AC 48 0C 97 A9 */ bl func_80361F14
/* 80298770 002956B0 90 7D 00 1C */ stw r3, 0x1c(r29)
/* 80298774 002956B4 B3 DD 00 24 */ sth r30, 0x24(r29)
/* 80298778 002956B8 39 61 00 20 */ addi r11, r1, 0x20
/* 8029877C 002956BC 48 0C 9A AD */ bl func_80362228
/* 80298780 002956C0 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80298784 002956C4 7C 08 03 A6 */ mtlr r0
/* 80298788 002956C8 38 21 00 20 */ addi r1, r1, 0x20
/* 8029878C 002956CC 4E 80 00 20 */ blr
.global JASBasicWaveBank_NS_incWaveTable
JASBasicWaveBank_NS_incWaveTable:
/* 80298790 002956D0 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 80298794 002956D4 7C 08 02 A6 */ mflr r0
/* 80298798 002956D8 90 01 00 34 */ stw r0, 0x34(r1)
/* 8029879C 002956DC 39 61 00 30 */ addi r11, r1, 0x30
/* 802987A0 002956E0 48 0C 9A 31 */ bl func_803621D0
/* 802987A4 002956E4 7C 7A 1B 78 */ mr r26, r3
/* 802987A8 002956E8 7C 9B 23 78 */ mr r27, r4
/* 802987AC 002956EC 38 7A 00 04 */ addi r3, r26, 4
/* 802987B0 002956F0 90 61 00 08 */ stw r3, 8(r1)
/* 802987B4 002956F4 48 0A 68 8D */ bl OSLockMutex
/* 802987B8 002956F8 3B 80 00 00 */ li r28, 0
/* 802987BC 002956FC 3B E0 00 00 */ li r31, 0
/* 802987C0 00295700 3B BB 00 04 */ addi r29, r27, 4
/* 802987C4 00295704 3B DB 00 48 */ addi r30, r27, 0x48
/* 802987C8 00295708 48 00 00 48 */ b lbl_80298810
lbl_802987CC:
/* 802987CC 0029570C 7F 63 DB 78 */ mr r3, r27
/* 802987D0 00295710 7F 84 E3 78 */ mr r4, r28
/* 802987D4 00295714 48 00 03 81 */ bl JASBasicWaveBank_NS_TWaveGroup_NS_getWaveID
/* 802987D8 00295718 1C 63 00 2C */ mulli r3, r3, 0x2c
/* 802987DC 0029571C 80 1A 00 1C */ lwz r0, 0x1c(r26)
/* 802987E0 00295720 7C 80 1A 14 */ add r4, r0, r3
/* 802987E4 00295724 80 04 00 28 */ lwz r0, 0x28(r4)
/* 802987E8 00295728 28 00 00 00 */ cmplwi r0, 0
/* 802987EC 0029572C 40 82 00 1C */ bne lbl_80298808
/* 802987F0 00295730 93 A4 00 28 */ stw r29, 0x28(r4)
/* 802987F4 00295734 93 C4 00 24 */ stw r30, 0x24(r4)
/* 802987F8 00295738 80 7B 00 78 */ lwz r3, 0x78(r27)
/* 802987FC 0029573C 38 1F 00 04 */ addi r0, r31, 4
/* 80298800 00295740 7C 03 00 2E */ lwzx r0, r3, r0
/* 80298804 00295744 90 04 00 0C */ stw r0, 0xc(r4)
lbl_80298808:
/* 80298808 00295748 3B 9C 00 01 */ addi r28, r28, 1
/* 8029880C 0029574C 3B FF 00 08 */ addi r31, r31, 8
lbl_80298810:
/* 80298810 00295750 A0 1B 00 7C */ lhz r0, 0x7c(r27)
/* 80298814 00295754 7C 1C 00 40 */ cmplw r28, r0
/* 80298818 00295758 41 80 FF B4 */ blt lbl_802987CC
/* 8029881C 0029575C 80 61 00 08 */ lwz r3, 8(r1)
/* 80298820 00295760 48 0A 68 FD */ bl OSUnlockMutex
/* 80298824 00295764 39 61 00 30 */ addi r11, r1, 0x30
/* 80298828 00295768 48 0C 99 F5 */ bl func_8036221C
/* 8029882C 0029576C 80 01 00 34 */ lwz r0, 0x34(r1)
/* 80298830 00295770 7C 08 03 A6 */ mtlr r0
/* 80298834 00295774 38 21 00 30 */ addi r1, r1, 0x30
/* 80298838 00295778 4E 80 00 20 */ blr
.global JASBasicWaveBank_NS_decWaveTable
JASBasicWaveBank_NS_decWaveTable:
/* 8029883C 0029577C 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 80298840 00295780 7C 08 02 A6 */ mflr r0
/* 80298844 00295784 90 01 00 34 */ stw r0, 0x34(r1)
/* 80298848 00295788 39 61 00 30 */ addi r11, r1, 0x30
/* 8029884C 0029578C 48 0C 99 81 */ bl func_803621CC
/* 80298850 00295790 7C 79 1B 78 */ mr r25, r3
/* 80298854 00295794 7C 9A 23 78 */ mr r26, r4
/* 80298858 00295798 38 79 00 04 */ addi r3, r25, 4
/* 8029885C 0029579C 90 61 00 08 */ stw r3, 8(r1)
/* 80298860 002957A0 48 0A 67 E1 */ bl OSLockMutex
/* 80298864 002957A4 3B 60 00 00 */ li r27, 0
/* 80298868 002957A8 3B 9A 00 04 */ addi r28, r26, 4
/* 8029886C 002957AC 3B A0 00 00 */ li r29, 0
/* 80298870 002957B0 3B CD 8C F8 */ addi r30, r13, lbl_80451278-_SDA_BASE_
/* 80298874 002957B4 3B E0 FF FF */ li r31, -1
/* 80298878 002957B8 48 00 00 38 */ b lbl_802988B0
lbl_8029887C:
/* 8029887C 002957BC 7F 43 D3 78 */ mr r3, r26
/* 80298880 002957C0 7F 64 DB 78 */ mr r4, r27
/* 80298884 002957C4 48 00 02 D1 */ bl JASBasicWaveBank_NS_TWaveGroup_NS_getWaveID
/* 80298888 002957C8 1C 63 00 2C */ mulli r3, r3, 0x2c
/* 8029888C 002957CC 80 19 00 1C */ lwz r0, 0x1c(r25)
/* 80298890 002957D0 7C 60 1A 14 */ add r3, r0, r3
/* 80298894 002957D4 80 03 00 28 */ lwz r0, 0x28(r3)
/* 80298898 002957D8 7C 00 E0 40 */ cmplw r0, r28
/* 8029889C 002957DC 40 82 00 10 */ bne lbl_802988AC
/* 802988A0 002957E0 93 A3 00 28 */ stw r29, 0x28(r3)
/* 802988A4 002957E4 93 C3 00 24 */ stw r30, 0x24(r3)
/* 802988A8 002957E8 93 E3 00 0C */ stw r31, 0xc(r3)
lbl_802988AC:
/* 802988AC 002957EC 3B 7B 00 01 */ addi r27, r27, 1
lbl_802988B0:
/* 802988B0 002957F0 A0 1A 00 7C */ lhz r0, 0x7c(r26)
/* 802988B4 002957F4 7C 1B 00 40 */ cmplw r27, r0
/* 802988B8 002957F8 41 80 FF C4 */ blt lbl_8029887C
/* 802988BC 002957FC 80 61 00 08 */ lwz r3, 8(r1)
/* 802988C0 00295800 48 0A 68 5D */ bl OSUnlockMutex
/* 802988C4 00295804 39 61 00 30 */ addi r11, r1, 0x30
/* 802988C8 00295808 48 0C 99 51 */ bl func_80362218
/* 802988CC 0029580C 80 01 00 34 */ lwz r0, 0x34(r1)
/* 802988D0 00295810 7C 08 03 A6 */ mtlr r0
/* 802988D4 00295814 38 21 00 30 */ addi r1, r1, 0x30
/* 802988D8 00295818 4E 80 00 20 */ blr
/* 802988DC 0029581C A0 03 00 24 */ lhz r0, 0x24(r3)
/* 802988E0 00295820 7C 04 00 40 */ cmplw r4, r0
/* 802988E4 00295824 41 80 00 0C */ blt lbl_802988F0
/* 802988E8 00295828 38 60 00 00 */ li r3, 0
/* 802988EC 0029582C 4E 80 00 20 */ blr
lbl_802988F0:
/* 802988F0 00295830 80 63 00 1C */ lwz r3, 0x1c(r3)
/* 802988F4 00295834 1C 04 00 2C */ mulli r0, r4, 0x2c
/* 802988F8 00295838 7C 63 02 14 */ add r3, r3, r0
/* 802988FC 0029583C 80 03 00 28 */ lwz r0, 0x28(r3)
/* 80298900 00295840 28 00 00 00 */ cmplwi r0, 0
/* 80298904 00295844 4C 82 00 20 */ bnelr
/* 80298908 00295848 38 60 00 00 */ li r3, 0
/* 8029890C 0029584C 4E 80 00 20 */ blr
.global JASBasicWaveBank_NS_setWaveInfo
JASBasicWaveBank_NS_setWaveInfo:
/* 80298910 00295850 81 03 00 1C */ lwz r8, 0x1c(r3)
/* 80298914 00295854 54 C0 04 3E */ clrlwi r0, r6, 0x10
/* 80298918 00295858 1D 60 00 2C */ mulli r11, r0, 0x2c
/* 8029891C 0029585C 39 4B 00 04 */ addi r10, r11, 4
/* 80298920 00295860 7D 48 52 14 */ add r10, r8, r10
/* 80298924 00295864 88 07 00 00 */ lbz r0, 0(r7)
/* 80298928 00295868 98 0A 00 00 */ stb r0, 0(r10)
/* 8029892C 0029586C 88 07 00 01 */ lbz r0, 1(r7)
/* 80298930 00295870 98 0A 00 01 */ stb r0, 1(r10)
/* 80298934 00295874 88 07 00 02 */ lbz r0, 2(r7)
/* 80298938 00295878 98 0A 00 02 */ stb r0, 2(r10)
/* 8029893C 0029587C C0 07 00 04 */ lfs f0, 4(r7)
/* 80298940 00295880 D0 0A 00 04 */ stfs f0, 4(r10)
/* 80298944 00295884 81 27 00 08 */ lwz r9, 8(r7)
/* 80298948 00295888 91 2A 00 08 */ stw r9, 8(r10)
/* 8029894C 0029588C 80 07 00 0C */ lwz r0, 0xc(r7)
/* 80298950 00295890 90 0A 00 0C */ stw r0, 0xc(r10)
/* 80298954 00295894 80 07 00 10 */ lwz r0, 0x10(r7)
/* 80298958 00295898 90 0A 00 10 */ stw r0, 0x10(r10)
/* 8029895C 0029589C 80 07 00 14 */ lwz r0, 0x14(r7)
/* 80298960 002958A0 90 0A 00 14 */ stw r0, 0x14(r10)
/* 80298964 002958A4 80 07 00 18 */ lwz r0, 0x18(r7)
/* 80298968 002958A8 90 0A 00 18 */ stw r0, 0x18(r10)
/* 8029896C 002958AC A8 07 00 1C */ lha r0, 0x1c(r7)
/* 80298970 002958B0 B0 0A 00 1C */ sth r0, 0x1c(r10)
/* 80298974 002958B4 A8 07 00 1E */ lha r0, 0x1e(r7)
/* 80298978 002958B8 B0 0A 00 1E */ sth r0, 0x1e(r10)
/* 8029897C 002958BC 80 07 00 20 */ lwz r0, 0x20(r7)
/* 80298980 002958C0 90 0A 00 20 */ stw r0, 0x20(r10)
/* 80298984 002958C4 39 0D 8C F8 */ addi r8, r13, lbl_80451278-_SDA_BASE_
/* 80298988 002958C8 80 03 00 1C */ lwz r0, 0x1c(r3)
/* 8029898C 002958CC 7C E0 5A 14 */ add r7, r0, r11
/* 80298990 002958D0 91 07 00 24 */ stw r8, 0x24(r7)
/* 80298994 002958D4 38 E0 FF FF */ li r7, -1
/* 80298998 002958D8 80 03 00 1C */ lwz r0, 0x1c(r3)
/* 8029899C 002958DC 7C 60 5A 14 */ add r3, r0, r11
/* 802989A0 002958E0 90 E3 00 0C */ stw r7, 0xc(r3)
/* 802989A4 002958E4 80 64 00 78 */ lwz r3, 0x78(r4)
/* 802989A8 002958E8 54 A5 18 38 */ slwi r5, r5, 3
/* 802989AC 002958EC 7C C3 2B 2E */ sthx r6, r3, r5
/* 802989B0 002958F0 80 04 00 78 */ lwz r0, 0x78(r4)
/* 802989B4 002958F4 7C 60 2A 14 */ add r3, r0, r5
/* 802989B8 002958F8 91 23 00 04 */ stw r9, 4(r3)
/* 802989BC 002958FC 4E 80 00 20 */ blr
.global JASBasicWaveBank_NS_TWaveGroup
JASBasicWaveBank_NS_TWaveGroup:
/* 802989C0 00295900 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802989C4 00295904 7C 08 02 A6 */ mflr r0
/* 802989C8 00295908 90 01 00 14 */ stw r0, 0x14(r1)
/* 802989CC 0029590C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802989D0 00295910 7C 7F 1B 78 */ mr r31, r3
/* 802989D4 00295914 48 00 17 69 */ bl JASWaveArc
/* 802989D8 00295918 3C 60 80 3C */ lis r3, lbl_803C773C@ha
/* 802989DC 0029591C 38 03 77 3C */ addi r0, r3, lbl_803C773C@l
/* 802989E0 00295920 90 1F 00 00 */ stw r0, 0(r31)
/* 802989E4 00295924 38 00 00 00 */ li r0, 0
/* 802989E8 00295928 90 1F 00 74 */ stw r0, 0x74(r31)
/* 802989EC 0029592C 90 1F 00 78 */ stw r0, 0x78(r31)
/* 802989F0 00295930 B0 1F 00 7C */ sth r0, 0x7c(r31)
/* 802989F4 00295934 7F E3 FB 78 */ mr r3, r31
/* 802989F8 00295938 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802989FC 0029593C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80298A00 00295940 7C 08 03 A6 */ mtlr r0
/* 80298A04 00295944 38 21 00 10 */ addi r1, r1, 0x10
/* 80298A08 00295948 4E 80 00 20 */ blr
.global JASBasicWaveBank_NS_TWaveGroup_NS_dtor
JASBasicWaveBank_NS_TWaveGroup_NS_dtor:
/* 80298A0C 0029594C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80298A10 00295950 7C 08 02 A6 */ mflr r0
/* 80298A14 00295954 90 01 00 14 */ stw r0, 0x14(r1)
/* 80298A18 00295958 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80298A1C 0029595C 93 C1 00 08 */ stw r30, 8(r1)
/* 80298A20 00295960 7C 7E 1B 79 */ or. r30, r3, r3
/* 80298A24 00295964 7C 9F 23 78 */ mr r31, r4
/* 80298A28 00295968 41 82 00 40 */ beq lbl_80298A68
/* 80298A2C 0029596C 3C 60 80 3C */ lis r3, lbl_803C773C@ha
/* 80298A30 00295970 38 03 77 3C */ addi r0, r3, lbl_803C773C@l
/* 80298A34 00295974 90 1E 00 00 */ stw r0, 0(r30)
/* 80298A38 00295978 80 7E 00 78 */ lwz r3, 0x78(r30)
/* 80298A3C 0029597C 28 03 00 00 */ cmplwi r3, 0
/* 80298A40 00295980 41 82 00 0C */ beq lbl_80298A4C
/* 80298A44 00295984 38 63 FF F0 */ addi r3, r3, -16
/* 80298A48 00295988 48 03 63 19 */ bl __dla
lbl_80298A4C:
/* 80298A4C 0029598C 7F C3 F3 78 */ mr r3, r30
/* 80298A50 00295990 38 80 00 00 */ li r4, 0
/* 80298A54 00295994 48 00 17 61 */ bl JASWaveArc_NS_dtor
/* 80298A58 00295998 7F E0 07 35 */ extsh. r0, r31
/* 80298A5C 0029599C 40 81 00 0C */ ble lbl_80298A68
/* 80298A60 002959A0 7F C3 F3 78 */ mr r3, r30
/* 80298A64 002959A4 48 03 62 D9 */ bl __dl
lbl_80298A68:
/* 80298A68 002959A8 7F C3 F3 78 */ mr r3, r30
/* 80298A6C 002959AC 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80298A70 002959B0 83 C1 00 08 */ lwz r30, 8(r1)
/* 80298A74 002959B4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80298A78 002959B8 7C 08 03 A6 */ mtlr r0
/* 80298A7C 002959BC 38 21 00 10 */ addi r1, r1, 0x10
/* 80298A80 002959C0 4E 80 00 20 */ blr
.global JASBasicWaveBank_NS_TWaveGroup_NS_setWaveCount
JASBasicWaveBank_NS_TWaveGroup_NS_setWaveCount:
/* 80298A84 002959C4 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80298A88 002959C8 7C 08 02 A6 */ mflr r0
/* 80298A8C 002959CC 90 01 00 24 */ stw r0, 0x24(r1)
/* 80298A90 002959D0 39 61 00 20 */ addi r11, r1, 0x20
/* 80298A94 002959D4 48 0C 97 49 */ bl func_803621DC
/* 80298A98 002959D8 7C 7D 1B 78 */ mr r29, r3
/* 80298A9C 002959DC 7C 9E 23 78 */ mr r30, r4
/* 80298AA0 002959E0 7C BF 2B 78 */ mr r31, r5
/* 80298AA4 002959E4 80 63 00 78 */ lwz r3, 0x78(r3)
/* 80298AA8 002959E8 28 03 00 00 */ cmplwi r3, 0
/* 80298AAC 002959EC 41 82 00 0C */ beq lbl_80298AB8
/* 80298AB0 002959F0 38 63 FF F0 */ addi r3, r3, -16
/* 80298AB4 002959F4 48 03 62 AD */ bl __dla
lbl_80298AB8:
/* 80298AB8 002959F8 B3 DD 00 7C */ sth r30, 0x7c(r29)
/* 80298ABC 002959FC 57 C3 18 38 */ slwi r3, r30, 3
/* 80298AC0 00295A00 38 63 00 10 */ addi r3, r3, 0x10
/* 80298AC4 00295A04 7F E4 FB 78 */ mr r4, r31
/* 80298AC8 00295A08 38 A0 00 00 */ li r5, 0
/* 80298ACC 00295A0C 48 03 62 45 */ bl __nwa_X2_
.global JASBasicWaveBank_NS_TGroupWaveInfo
/* 80298AD0 00295A10 3C 80 80 2A */ lis r4, JASBasicWaveBank_NS_TGroupWaveInfo@ha
.global JASBasicWaveBank_NS_TGroupWaveInfo
/* 80298AD4 00295A14 38 84 8C 4C */ addi r4, r4, JASBasicWaveBank_NS_TGroupWaveInfo@l
/* 80298AD8 00295A18 38 A0 00 00 */ li r5, 0
/* 80298ADC 00295A1C 38 C0 00 08 */ li r6, 8
/* 80298AE0 00295A20 7F C7 F3 78 */ mr r7, r30
/* 80298AE4 00295A24 48 0C 94 31 */ bl func_80361F14
/* 80298AE8 00295A28 90 7D 00 78 */ stw r3, 0x78(r29)
/* 80298AEC 00295A2C 39 61 00 20 */ addi r11, r1, 0x20
/* 80298AF0 00295A30 48 0C 97 39 */ bl func_80362228
/* 80298AF4 00295A34 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80298AF8 00295A38 7C 08 03 A6 */ mtlr r0
/* 80298AFC 00295A3C 38 21 00 20 */ addi r1, r1, 0x20
/* 80298B00 00295A40 4E 80 00 20 */ blr
/* 80298B04 00295A44 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80298B08 00295A48 7C 08 02 A6 */ mflr r0
/* 80298B0C 00295A4C 90 01 00 14 */ stw r0, 0x14(r1)
/* 80298B10 00295A50 7C 64 1B 78 */ mr r4, r3
/* 80298B14 00295A54 80 63 00 74 */ lwz r3, 0x74(r3)
/* 80298B18 00295A58 4B FF FC 79 */ bl JASBasicWaveBank_NS_incWaveTable
/* 80298B1C 00295A5C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80298B20 00295A60 7C 08 03 A6 */ mtlr r0
/* 80298B24 00295A64 38 21 00 10 */ addi r1, r1, 0x10
/* 80298B28 00295A68 4E 80 00 20 */ blr
/* 80298B2C 00295A6C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80298B30 00295A70 7C 08 02 A6 */ mflr r0
/* 80298B34 00295A74 90 01 00 14 */ stw r0, 0x14(r1)
/* 80298B38 00295A78 7C 64 1B 78 */ mr r4, r3
/* 80298B3C 00295A7C 80 63 00 74 */ lwz r3, 0x74(r3)
/* 80298B40 00295A80 4B FF FC FD */ bl JASBasicWaveBank_NS_decWaveTable
/* 80298B44 00295A84 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80298B48 00295A88 7C 08 03 A6 */ mtlr r0
/* 80298B4C 00295A8C 38 21 00 10 */ addi r1, r1, 0x10
/* 80298B50 00295A90 4E 80 00 20 */ blr
.global JASBasicWaveBank_NS_TWaveGroup_NS_getWaveID
JASBasicWaveBank_NS_TWaveGroup_NS_getWaveID:
/* 80298B54 00295A94 80 63 00 78 */ lwz r3, 0x78(r3)
/* 80298B58 00295A98 54 80 18 38 */ slwi r0, r4, 3
/* 80298B5C 00295A9C 7C 63 02 2E */ lhzx r3, r3, r0
/* 80298B60 00295AA0 4E 80 00 20 */ blr
/* 80298B64 00295AA4 80 83 00 28 */ lwz r4, 0x28(r3)
/* 80298B68 00295AA8 80 84 00 38 */ lwz r4, 0x38(r4)
/* 80298B6C 00295AAC 28 04 00 00 */ cmplwi r4, 0
/* 80298B70 00295AB0 40 82 00 0C */ bne lbl_80298B7C
/* 80298B74 00295AB4 38 60 00 00 */ li r3, 0
/* 80298B78 00295AB8 4E 80 00 20 */ blr
lbl_80298B7C:
/* 80298B7C 00295ABC 80 03 00 0C */ lwz r0, 0xc(r3)
/* 80298B80 00295AC0 7C 64 02 14 */ add r3, r4, r0
/* 80298B84 00295AC4 4E 80 00 20 */ blr
/* 80298B88 00295AC8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80298B8C 00295ACC 7C 08 02 A6 */ mflr r0
/* 80298B90 00295AD0 90 01 00 14 */ stw r0, 0x14(r1)
/* 80298B94 00295AD4 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80298B98 00295AD8 7C 7F 1B 79 */ or. r31, r3, r3
/* 80298B9C 00295ADC 41 82 00 1C */ beq lbl_80298BB8
/* 80298BA0 00295AE0 3C A0 80 3C */ lis r5, lbl_803C7780@ha
/* 80298BA4 00295AE4 38 05 77 80 */ addi r0, r5, lbl_803C7780@l
/* 80298BA8 00295AE8 90 1F 00 00 */ stw r0, 0(r31)
/* 80298BAC 00295AEC 7C 80 07 35 */ extsh. r0, r4
/* 80298BB0 00295AF0 40 81 00 08 */ ble lbl_80298BB8
/* 80298BB4 00295AF4 48 03 61 89 */ bl __dl
lbl_80298BB8:
/* 80298BB8 00295AF8 7F E3 FB 78 */ mr r3, r31
/* 80298BBC 00295AFC 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80298BC0 00295B00 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80298BC4 00295B04 7C 08 03 A6 */ mtlr r0
/* 80298BC8 00295B08 38 21 00 10 */ addi r1, r1, 0x10
/* 80298BCC 00295B0C 4E 80 00 20 */ blr
/* 80298BD0 00295B10 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80298BD4 00295B14 7C 08 02 A6 */ mflr r0
/* 80298BD8 00295B18 90 01 00 14 */ stw r0, 0x14(r1)
/* 80298BDC 00295B1C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80298BE0 00295B20 7C 7F 1B 79 */ or. r31, r3, r3
/* 80298BE4 00295B24 41 82 00 1C */ beq lbl_80298C00
/* 80298BE8 00295B28 3C A0 80 3C */ lis r5, lbl_803C7754@ha
/* 80298BEC 00295B2C 38 05 77 54 */ addi r0, r5, lbl_803C7754@l
/* 80298BF0 00295B30 90 1F 00 00 */ stw r0, 0(r31)
/* 80298BF4 00295B34 7C 80 07 35 */ extsh. r0, r4
/* 80298BF8 00295B38 40 81 00 08 */ ble lbl_80298C00
/* 80298BFC 00295B3C 48 03 61 41 */ bl __dl
lbl_80298C00:
/* 80298C00 00295B40 7F E3 FB 78 */ mr r3, r31
/* 80298C04 00295B44 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80298C08 00295B48 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80298C0C 00295B4C 7C 08 03 A6 */ mtlr r0
/* 80298C10 00295B50 38 21 00 10 */ addi r1, r1, 0x10
/* 80298C14 00295B54 4E 80 00 20 */ blr
.global JASBasicWaveBank_NS_TWaveHandle
JASBasicWaveBank_NS_TWaveHandle:
/* 80298C18 00295B58 3C 80 80 3C */ lis r4, lbl_803C7754@ha
/* 80298C1C 00295B5C 38 04 77 54 */ addi r0, r4, lbl_803C7754@l
/* 80298C20 00295B60 90 03 00 00 */ stw r0, 0(r3)
/* 80298C24 00295B64 3C 80 80 3C */ lis r4, lbl_803C7728@ha
/* 80298C28 00295B68 38 04 77 28 */ addi r0, r4, lbl_803C7728@l
/* 80298C2C 00295B6C 90 03 00 00 */ stw r0, 0(r3)
/* 80298C30 00295B70 38 00 00 3C */ li r0, 0x3c
/* 80298C34 00295B74 98 03 00 05 */ stb r0, 5(r3)
/* 80298C38 00295B78 38 0D 82 38 */ addi r0, r13, lbl_804507B8-_SDA_BASE_
/* 80298C3C 00295B7C 90 03 00 24 */ stw r0, 0x24(r3)
/* 80298C40 00295B80 38 00 00 00 */ li r0, 0
/* 80298C44 00295B84 90 03 00 28 */ stw r0, 0x28(r3)
/* 80298C48 00295B88 4E 80 00 20 */ blr
.global JASBasicWaveBank_NS_TGroupWaveInfo
JASBasicWaveBank_NS_TGroupWaveInfo:
/* 80298C4C 00295B8C 3C 80 00 01 */ lis r4, 0x0000FFFF@ha
/* 80298C50 00295B90 38 04 FF FF */ addi r0, r4, 0x0000FFFF@l
/* 80298C54 00295B94 B0 03 00 00 */ sth r0, 0(r3)
/* 80298C58 00295B98 38 00 FF FF */ li r0, -1
/* 80298C5C 00295B9C 90 03 00 04 */ stw r0, 4(r3)
/* 80298C60 00295BA0 4E 80 00 20 */ blr
/* 80298C64 00295BA4 38 63 00 04 */ addi r3, r3, 4
/* 80298C68 00295BA8 4E 80 00 20 */ blr
/* 80298C6C 00295BAC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80298C70 00295BB0 7C 08 02 A6 */ mflr r0
/* 80298C74 00295BB4 90 01 00 14 */ stw r0, 0x14(r1)
/* 80298C78 00295BB8 4B FF F9 C9 */ bl JASBasicWaveBank_NS_getWaveGroup
/* 80298C7C 00295BBC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80298C80 00295BC0 7C 08 03 A6 */ mtlr r0
/* 80298C84 00295BC4 38 21 00 10 */ addi r1, r1, 0x10
/* 80298C88 00295BC8 4E 80 00 20 */ blr
/* 80298C8C 00295BCC A0 63 00 26 */ lhz r3, 0x26(r3)
/* 80298C90 00295BD0 4E 80 00 20 */ blr

304
asm/JAudio2/JASCalc.s Normal file
View File

@ -0,0 +1,304 @@
.include "macros.inc"
.section .text, "ax" # 8028f2e8
.global JASCalc_NS_imixcopy
JASCalc_NS_imixcopy:
/* 8028F2E8 0028C228 7C C9 03 A6 */ mtctr r6
/* 8028F2EC 0028C22C 28 06 00 00 */ cmplwi r6, 0
/* 8028F2F0 0028C230 4D 82 00 20 */ beqlr
lbl_8028F2F4:
/* 8028F2F4 0028C234 A8 03 00 00 */ lha r0, 0(r3)
/* 8028F2F8 0028C238 B0 05 00 00 */ sth r0, 0(r5)
/* 8028F2FC 0028C23C A8 04 00 00 */ lha r0, 0(r4)
/* 8028F300 0028C240 B0 05 00 02 */ sth r0, 2(r5)
/* 8028F304 0028C244 38 A5 00 04 */ addi r5, r5, 4
/* 8028F308 0028C248 38 63 00 02 */ addi r3, r3, 2
/* 8028F30C 0028C24C 38 84 00 02 */ addi r4, r4, 2
/* 8028F310 0028C250 42 00 FF E4 */ bdnz lbl_8028F2F4
/* 8028F314 0028C254 4E 80 00 20 */ blr
.global JASCalc_NS_bcopyfast
JASCalc_NS_bcopyfast:
/* 8028F318 0028C258 54 A0 E1 3F */ rlwinm. r0, r5, 0x1c, 4, 0x1f
/* 8028F31C 0028C25C 7C 09 03 A6 */ mtctr r0
/* 8028F320 0028C260 4D 82 00 20 */ beqlr
lbl_8028F324:
/* 8028F324 0028C264 80 03 00 00 */ lwz r0, 0(r3)
/* 8028F328 0028C268 80 A3 00 04 */ lwz r5, 4(r3)
/* 8028F32C 0028C26C 80 C3 00 08 */ lwz r6, 8(r3)
/* 8028F330 0028C270 80 E3 00 0C */ lwz r7, 0xc(r3)
/* 8028F334 0028C274 90 04 00 00 */ stw r0, 0(r4)
/* 8028F338 0028C278 90 A4 00 04 */ stw r5, 4(r4)
/* 8028F33C 0028C27C 90 C4 00 08 */ stw r6, 8(r4)
/* 8028F340 0028C280 90 E4 00 0C */ stw r7, 0xc(r4)
/* 8028F344 0028C284 38 84 00 10 */ addi r4, r4, 0x10
/* 8028F348 0028C288 38 63 00 10 */ addi r3, r3, 0x10
/* 8028F34C 0028C28C 42 00 FF D8 */ bdnz lbl_8028F324
/* 8028F350 0028C290 4E 80 00 20 */ blr
.global JASCalc_NS_bcopy
JASCalc_NS_bcopy:
/* 8028F354 0028C294 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8028F358 0028C298 7C 08 02 A6 */ mflr r0
/* 8028F35C 0028C29C 90 01 00 14 */ stw r0, 0x14(r1)
/* 8028F360 0028C2A0 7C 68 1B 78 */ mr r8, r3
/* 8028F364 0028C2A4 7C 89 23 78 */ mr r9, r4
/* 8028F368 0028C2A8 54 67 07 BE */ clrlwi r7, r3, 0x1e
/* 8028F36C 0028C2AC 54 86 07 BE */ clrlwi r6, r4, 0x1e
/* 8028F370 0028C2B0 7C 07 30 40 */ cmplw r7, r6
/* 8028F374 0028C2B4 40 82 00 14 */ bne lbl_8028F388
/* 8028F378 0028C2B8 54 A0 07 3F */ clrlwi. r0, r5, 0x1c
/* 8028F37C 0028C2BC 40 82 00 0C */ bne lbl_8028F388
/* 8028F380 0028C2C0 4B FF FF 99 */ bl JASCalc_NS_bcopyfast
/* 8028F384 0028C2C4 48 00 00 C0 */ b lbl_8028F444
lbl_8028F388:
/* 8028F388 0028C2C8 7C 07 30 40 */ cmplw r7, r6
/* 8028F38C 0028C2CC 40 82 00 98 */ bne lbl_8028F424
/* 8028F390 0028C2D0 28 05 00 10 */ cmplwi r5, 0x10
/* 8028F394 0028C2D4 41 80 00 90 */ blt lbl_8028F424
/* 8028F398 0028C2D8 28 07 00 00 */ cmplwi r7, 0
/* 8028F39C 0028C2DC 41 82 00 30 */ beq lbl_8028F3CC
/* 8028F3A0 0028C2E0 20 07 00 04 */ subfic r0, r7, 4
/* 8028F3A4 0028C2E4 54 03 06 3E */ clrlwi r3, r0, 0x18
/* 8028F3A8 0028C2E8 48 00 00 1C */ b lbl_8028F3C4
lbl_8028F3AC:
/* 8028F3AC 0028C2EC 88 08 00 00 */ lbz r0, 0(r8)
/* 8028F3B0 0028C2F0 98 09 00 00 */ stb r0, 0(r9)
/* 8028F3B4 0028C2F4 39 29 00 01 */ addi r9, r9, 1
/* 8028F3B8 0028C2F8 38 A5 FF FF */ addi r5, r5, -1
/* 8028F3BC 0028C2FC 38 63 FF FF */ addi r3, r3, -1
/* 8028F3C0 0028C300 39 08 00 01 */ addi r8, r8, 1
lbl_8028F3C4:
/* 8028F3C4 0028C304 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 8028F3C8 0028C308 40 82 FF E4 */ bne lbl_8028F3AC
lbl_8028F3CC:
/* 8028F3CC 0028C30C 7D 24 4B 78 */ mr r4, r9
/* 8028F3D0 0028C310 7D 03 43 78 */ mr r3, r8
/* 8028F3D4 0028C314 54 A0 F0 BE */ srwi r0, r5, 2
/* 8028F3D8 0028C318 7C 09 03 A6 */ mtctr r0
/* 8028F3DC 0028C31C 28 05 00 04 */ cmplwi r5, 4
/* 8028F3E0 0028C320 41 80 00 1C */ blt lbl_8028F3FC
lbl_8028F3E4:
/* 8028F3E4 0028C324 80 03 00 00 */ lwz r0, 0(r3)
/* 8028F3E8 0028C328 90 04 00 00 */ stw r0, 0(r4)
/* 8028F3EC 0028C32C 38 84 00 04 */ addi r4, r4, 4
/* 8028F3F0 0028C330 38 A5 FF FC */ addi r5, r5, -4
/* 8028F3F4 0028C334 38 63 00 04 */ addi r3, r3, 4
/* 8028F3F8 0028C338 42 00 FF EC */ bdnz lbl_8028F3E4
lbl_8028F3FC:
/* 8028F3FC 0028C33C 28 05 00 00 */ cmplwi r5, 0
/* 8028F400 0028C340 41 82 00 44 */ beq lbl_8028F444
/* 8028F404 0028C344 7C A9 03 A6 */ mtctr r5
/* 8028F408 0028C348 41 82 00 3C */ beq lbl_8028F444
lbl_8028F40C:
/* 8028F40C 0028C34C 88 03 00 00 */ lbz r0, 0(r3)
/* 8028F410 0028C350 98 04 00 00 */ stb r0, 0(r4)
/* 8028F414 0028C354 38 84 00 01 */ addi r4, r4, 1
/* 8028F418 0028C358 38 63 00 01 */ addi r3, r3, 1
/* 8028F41C 0028C35C 42 00 FF F0 */ bdnz lbl_8028F40C
/* 8028F420 0028C360 48 00 00 24 */ b lbl_8028F444
lbl_8028F424:
/* 8028F424 0028C364 7C A9 03 A6 */ mtctr r5
/* 8028F428 0028C368 28 05 00 00 */ cmplwi r5, 0
/* 8028F42C 0028C36C 41 82 00 18 */ beq lbl_8028F444
lbl_8028F430:
/* 8028F430 0028C370 88 08 00 00 */ lbz r0, 0(r8)
/* 8028F434 0028C374 98 09 00 00 */ stb r0, 0(r9)
/* 8028F438 0028C378 39 29 00 01 */ addi r9, r9, 1
/* 8028F43C 0028C37C 39 08 00 01 */ addi r8, r8, 1
/* 8028F440 0028C380 42 00 FF F0 */ bdnz lbl_8028F430
lbl_8028F444:
/* 8028F444 0028C384 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8028F448 0028C388 7C 08 03 A6 */ mtlr r0
/* 8028F44C 0028C38C 38 21 00 10 */ addi r1, r1, 0x10
/* 8028F450 0028C390 4E 80 00 20 */ blr
.global JASCalc_NS_bzerofast
JASCalc_NS_bzerofast:
/* 8028F454 0028C394 54 84 E1 3F */ rlwinm. r4, r4, 0x1c, 4, 0x1f
/* 8028F458 0028C398 38 00 00 00 */ li r0, 0
/* 8028F45C 0028C39C 7C 89 03 A6 */ mtctr r4
/* 8028F460 0028C3A0 4D 82 00 20 */ beqlr
lbl_8028F464:
/* 8028F464 0028C3A4 90 03 00 00 */ stw r0, 0(r3)
/* 8028F468 0028C3A8 90 03 00 04 */ stw r0, 4(r3)
/* 8028F46C 0028C3AC 90 03 00 08 */ stw r0, 8(r3)
/* 8028F470 0028C3B0 90 03 00 0C */ stw r0, 0xc(r3)
/* 8028F474 0028C3B4 38 63 00 10 */ addi r3, r3, 0x10
/* 8028F478 0028C3B8 42 00 FF EC */ bdnz lbl_8028F464
/* 8028F47C 0028C3BC 4E 80 00 20 */ blr
.global JASCalc_NS_bzero
JASCalc_NS_bzero:
/* 8028F480 0028C3C0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8028F484 0028C3C4 7C 08 02 A6 */ mflr r0
/* 8028F488 0028C3C8 90 01 00 14 */ stw r0, 0x14(r1)
/* 8028F48C 0028C3CC 7C 66 1B 78 */ mr r6, r3
/* 8028F490 0028C3D0 54 80 06 FF */ clrlwi. r0, r4, 0x1b
/* 8028F494 0028C3D4 40 82 00 14 */ bne lbl_8028F4A8
/* 8028F498 0028C3D8 54 60 06 FF */ clrlwi. r0, r3, 0x1b
/* 8028F49C 0028C3DC 40 82 00 0C */ bne lbl_8028F4A8
/* 8028F4A0 0028C3E0 48 0A C1 C5 */ bl DCZeroRange
/* 8028F4A4 0028C3E4 48 00 00 C4 */ b lbl_8028F568
lbl_8028F4A8:
/* 8028F4A8 0028C3E8 54 C5 07 BE */ clrlwi r5, r6, 0x1e
/* 8028F4AC 0028C3EC 54 80 07 3F */ clrlwi. r0, r4, 0x1c
/* 8028F4B0 0028C3F0 40 82 00 14 */ bne lbl_8028F4C4
/* 8028F4B4 0028C3F4 28 05 00 00 */ cmplwi r5, 0
/* 8028F4B8 0028C3F8 40 82 00 0C */ bne lbl_8028F4C4
/* 8028F4BC 0028C3FC 4B FF FF 99 */ bl JASCalc_NS_bzerofast
/* 8028F4C0 0028C400 48 00 00 A8 */ b lbl_8028F568
lbl_8028F4C4:
/* 8028F4C4 0028C404 28 04 00 10 */ cmplwi r4, 0x10
/* 8028F4C8 0028C408 41 80 00 84 */ blt lbl_8028F54C
/* 8028F4CC 0028C40C 28 05 00 00 */ cmplwi r5, 0
/* 8028F4D0 0028C410 41 82 00 2C */ beq lbl_8028F4FC
/* 8028F4D4 0028C414 20 05 00 04 */ subfic r0, r5, 4
/* 8028F4D8 0028C418 54 05 06 3E */ clrlwi r5, r0, 0x18
/* 8028F4DC 0028C41C 38 60 00 00 */ li r3, 0
/* 8028F4E0 0028C420 48 00 00 14 */ b lbl_8028F4F4
lbl_8028F4E4:
/* 8028F4E4 0028C424 98 66 00 00 */ stb r3, 0(r6)
/* 8028F4E8 0028C428 38 C6 00 01 */ addi r6, r6, 1
/* 8028F4EC 0028C42C 38 84 FF FF */ addi r4, r4, -1
/* 8028F4F0 0028C430 38 A5 FF FF */ addi r5, r5, -1
lbl_8028F4F4:
/* 8028F4F4 0028C434 54 A0 06 3F */ clrlwi. r0, r5, 0x18
/* 8028F4F8 0028C438 40 82 FF EC */ bne lbl_8028F4E4
lbl_8028F4FC:
/* 8028F4FC 0028C43C 7C C5 33 78 */ mr r5, r6
/* 8028F500 0028C440 38 60 00 00 */ li r3, 0
/* 8028F504 0028C444 54 80 F0 BE */ srwi r0, r4, 2
/* 8028F508 0028C448 7C 09 03 A6 */ mtctr r0
/* 8028F50C 0028C44C 28 04 00 04 */ cmplwi r4, 4
/* 8028F510 0028C450 41 80 00 14 */ blt lbl_8028F524
lbl_8028F514:
/* 8028F514 0028C454 90 65 00 00 */ stw r3, 0(r5)
/* 8028F518 0028C458 38 A5 00 04 */ addi r5, r5, 4
/* 8028F51C 0028C45C 38 84 FF FC */ addi r4, r4, -4
/* 8028F520 0028C460 42 00 FF F4 */ bdnz lbl_8028F514
lbl_8028F524:
/* 8028F524 0028C464 28 04 00 00 */ cmplwi r4, 0
/* 8028F528 0028C468 41 82 00 40 */ beq lbl_8028F568
/* 8028F52C 0028C46C 7C A3 2B 78 */ mr r3, r5
/* 8028F530 0028C470 38 00 00 00 */ li r0, 0
/* 8028F534 0028C474 7C 89 03 A6 */ mtctr r4
/* 8028F538 0028C478 41 82 00 30 */ beq lbl_8028F568
lbl_8028F53C:
/* 8028F53C 0028C47C 98 03 00 00 */ stb r0, 0(r3)
/* 8028F540 0028C480 38 63 00 01 */ addi r3, r3, 1
/* 8028F544 0028C484 42 00 FF F8 */ bdnz lbl_8028F53C
/* 8028F548 0028C488 48 00 00 20 */ b lbl_8028F568
lbl_8028F54C:
/* 8028F54C 0028C48C 38 00 00 00 */ li r0, 0
/* 8028F550 0028C490 7C 89 03 A6 */ mtctr r4
/* 8028F554 0028C494 28 04 00 00 */ cmplwi r4, 0
/* 8028F558 0028C498 41 82 00 10 */ beq lbl_8028F568
lbl_8028F55C:
/* 8028F55C 0028C49C 98 06 00 00 */ stb r0, 0(r6)
/* 8028F560 0028C4A0 38 C6 00 01 */ addi r6, r6, 1
/* 8028F564 0028C4A4 42 00 FF F8 */ bdnz lbl_8028F55C
lbl_8028F568:
/* 8028F568 0028C4A8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8028F56C 0028C4AC 7C 08 03 A6 */ mtlr r0
/* 8028F570 0028C4B0 38 21 00 10 */ addi r1, r1, 0x10
/* 8028F574 0028C4B4 4E 80 00 20 */ blr
.global JASCalc_NS_pow2
JASCalc_NS_pow2:
/* 8028F578 0028C4B8 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8028F57C 0028C4BC 38 80 00 00 */ li r4, 0
/* 8028F580 0028C4C0 C0 02 BB 68 */ lfs f0, lbl_80455568-_SDA2_BASE_(r2)
/* 8028F584 0028C4C4 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8028F588 0028C4C8 4C 41 13 82 */ cror 2, 1, 2
/* 8028F58C 0028C4CC 40 82 00 1C */ bne lbl_8028F5A8
/* 8028F590 0028C4D0 C0 02 BB 58 */ lfs f0, lbl_80455558-_SDA2_BASE_(r2)
/* 8028F594 0028C4D4 EC 01 00 28 */ fsubs f0, f1, f0
/* 8028F598 0028C4D8 FC 00 00 1E */ fctiwz f0, f0
/* 8028F59C 0028C4DC D8 01 00 10 */ stfd f0, 0x10(r1)
/* 8028F5A0 0028C4E0 80 61 00 14 */ lwz r3, 0x14(r1)
/* 8028F5A4 0028C4E4 48 00 00 18 */ b lbl_8028F5BC
lbl_8028F5A8:
/* 8028F5A8 0028C4E8 C0 02 BB 58 */ lfs f0, lbl_80455558-_SDA2_BASE_(r2)
/* 8028F5AC 0028C4EC EC 00 08 2A */ fadds f0, f0, f1
/* 8028F5B0 0028C4F0 FC 00 00 1E */ fctiwz f0, f0
/* 8028F5B4 0028C4F4 D8 01 00 18 */ stfd f0, 0x18(r1)
/* 8028F5B8 0028C4F8 80 61 00 1C */ lwz r3, 0x1c(r1)
lbl_8028F5BC:
/* 8028F5BC 0028C4FC 90 61 00 08 */ stw r3, 8(r1)
/* 8028F5C0 0028C500 C8 42 BB 60 */ lfd f2, lbl_80455560-_SDA2_BASE_(r2)
/* 8028F5C4 0028C504 6C 60 80 00 */ xoris r0, r3, 0x8000
/* 8028F5C8 0028C508 90 01 00 24 */ stw r0, 0x24(r1)
/* 8028F5CC 0028C50C 3C 00 43 30 */ lis r0, 0x4330
/* 8028F5D0 0028C510 90 01 00 20 */ stw r0, 0x20(r1)
/* 8028F5D4 0028C514 C8 01 00 20 */ lfd f0, 0x20(r1)
/* 8028F5D8 0028C518 EC 00 10 28 */ fsubs f0, f0, f2
/* 8028F5DC 0028C51C EC 21 00 28 */ fsubs f1, f1, f0
/* 8028F5E0 0028C520 2C 03 00 80 */ cmpwi r3, 0x80
/* 8028F5E4 0028C524 40 81 00 10 */ ble lbl_8028F5F4
/* 8028F5E8 0028C528 3C 60 80 45 */ lis r3, lbl_80450AE4@ha
/* 8028F5EC 0028C52C C0 23 0A E4 */ lfs f1, lbl_80450AE4@l(r3)
/* 8028F5F0 0028C530 48 00 00 A4 */ b lbl_8028F694
lbl_8028F5F4:
/* 8028F5F4 0028C534 38 03 00 7F */ addi r0, r3, 0x7f
/* 8028F5F8 0028C538 90 01 00 08 */ stw r0, 8(r1)
/* 8028F5FC 0028C53C 54 00 B8 10 */ slwi r0, r0, 0x17
/* 8028F600 0028C540 90 01 00 08 */ stw r0, 8(r1)
/* 8028F604 0028C544 C0 02 BB 68 */ lfs f0, lbl_80455568-_SDA2_BASE_(r2)
/* 8028F608 0028C548 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8028F60C 0028C54C 40 80 00 08 */ bge lbl_8028F614
/* 8028F610 0028C550 38 80 00 01 */ li r4, 1
lbl_8028F614:
/* 8028F614 0028C554 54 80 10 3A */ slwi r0, r4, 2
/* 8028F618 0028C558 38 62 BB 6C */ addi r3, r2, lbl_8045556C-_SDA2_BASE_
/* 8028F61C 0028C55C 7C 03 04 2E */ lfsx f0, r3, r0
/* 8028F620 0028C560 EC C1 00 2A */ fadds f6, f1, f0
/* 8028F624 0028C564 3C 60 80 3A */ lis r3, lbl_8039AFB8@ha
/* 8028F628 0028C568 C4 A3 AF B8 */ lfsu f5, lbl_8039AFB8@l(r3)
/* 8028F62C 0028C56C C0 83 00 04 */ lfs f4, 4(r3)
/* 8028F630 0028C570 C0 63 00 08 */ lfs f3, 8(r3)
/* 8028F634 0028C574 C0 43 00 0C */ lfs f2, 0xc(r3)
/* 8028F638 0028C578 C0 23 00 10 */ lfs f1, 0x10(r3)
/* 8028F63C 0028C57C C0 03 00 14 */ lfs f0, 0x14(r3)
/* 8028F640 0028C580 EC 06 00 32 */ fmuls f0, f6, f0
/* 8028F644 0028C584 EC 01 00 2A */ fadds f0, f1, f0
/* 8028F648 0028C588 EC 06 00 32 */ fmuls f0, f6, f0
/* 8028F64C 0028C58C EC 02 00 2A */ fadds f0, f2, f0
/* 8028F650 0028C590 EC 06 00 32 */ fmuls f0, f6, f0
/* 8028F654 0028C594 EC 03 00 2A */ fadds f0, f3, f0
/* 8028F658 0028C598 EC 06 00 32 */ fmuls f0, f6, f0
/* 8028F65C 0028C59C EC 04 00 2A */ fadds f0, f4, f0
/* 8028F660 0028C5A0 EC 06 00 32 */ fmuls f0, f6, f0
/* 8028F664 0028C5A4 EC 05 00 2A */ fadds f0, f5, f0
/* 8028F668 0028C5A8 EC C6 00 32 */ fmuls f6, f6, f0
/* 8028F66C 0028C5AC C0 41 00 08 */ lfs f2, 8(r1)
/* 8028F670 0028C5B0 38 62 BB 74 */ addi r3, r2, lbl_80455574-_SDA2_BASE_
/* 8028F674 0028C5B4 7C 63 04 2E */ lfsx f3, r3, r0
/* 8028F678 0028C5B8 C0 02 BB 7C */ lfs f0, lbl_8045557C-_SDA2_BASE_(r2)
/* 8028F67C 0028C5BC EC 20 00 F2 */ fmuls f1, f0, f3
/* 8028F680 0028C5C0 C0 02 BB 80 */ lfs f0, lbl_80455580-_SDA2_BASE_(r2)
/* 8028F684 0028C5C4 EC 00 30 2A */ fadds f0, f0, f6
/* 8028F688 0028C5C8 EC 00 00 F2 */ fmuls f0, f0, f3
/* 8028F68C 0028C5CC EC 01 00 2A */ fadds f0, f1, f0
/* 8028F690 0028C5D0 EC 22 00 32 */ fmuls f1, f2, f0
lbl_8028F694:
/* 8028F694 0028C5D4 38 21 00 30 */ addi r1, r1, 0x30
/* 8028F698 0028C5D8 4E 80 00 20 */ blr
.global JASCalc_NS_clamp
JASCalc_NS_clamp:
/* 8028F69C 0028C5DC 2C 03 80 00 */ cmpwi r3, -32768
/* 8028F6A0 0028C5E0 41 81 00 0C */ bgt lbl_8028F6AC
/* 8028F6A4 0028C5E4 38 60 80 00 */ li r3, -32768
/* 8028F6A8 0028C5E8 4E 80 00 20 */ blr
lbl_8028F6AC:
/* 8028F6AC 0028C5EC 2C 03 7F FF */ cmpwi r3, 0x7fff
/* 8028F6B0 0028C5F0 38 00 7F FF */ li r0, 0x7fff
/* 8028F6B4 0028C5F4 40 80 00 08 */ bge lbl_8028F6BC
/* 8028F6B8 0028C5F8 7C 60 07 34 */ extsh r0, r3
lbl_8028F6BC:
/* 8028F6BC 0028C5FC 7C 03 03 78 */ mr r3, r0
/* 8028F6C0 0028C600 4E 80 00 20 */ blr

123
asm/JAudio2/JASCallback.s Normal file
View File

@ -0,0 +1,123 @@
.include "macros.inc"
.section .text, "ax" # 8028ffa8
.global JASCallbackMgr_NS_regist
JASCallbackMgr_NS_regist:
/* 8028FFA8 0028CEE8 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8028FFAC 0028CEEC 7C 08 02 A6 */ mflr r0
/* 8028FFB0 0028CEF0 90 01 00 24 */ stw r0, 0x24(r1)
/* 8028FFB4 0028CEF4 39 61 00 20 */ addi r11, r1, 0x20
/* 8028FFB8 0028CEF8 48 0D 22 25 */ bl func_803621DC
/* 8028FFBC 0028CEFC 7C 7D 1B 78 */ mr r29, r3
/* 8028FFC0 0028CF00 7C 9E 23 78 */ mr r30, r4
/* 8028FFC4 0028CF04 7C BF 2B 78 */ mr r31, r5
/* 8028FFC8 0028CF08 48 0A D7 2D */ bl __RAS_OSDisableInterrupts_begin
/* 8028FFCC 0028CF0C 90 61 00 08 */ stw r3, 8(r1)
/* 8028FFD0 0028CF10 38 60 00 00 */ li r3, 0
/* 8028FFD4 0028CF14 38 00 00 20 */ li r0, 0x20
/* 8028FFD8 0028CF18 7C 09 03 A6 */ mtctr r0
lbl_8028FFDC:
/* 8028FFDC 0028CF1C 7C 9D 1A 14 */ add r4, r29, r3
/* 8028FFE0 0028CF20 80 04 00 00 */ lwz r0, 0(r4)
/* 8028FFE4 0028CF24 28 00 00 00 */ cmplwi r0, 0
/* 8028FFE8 0028CF28 40 82 00 1C */ bne lbl_80290004
/* 8028FFEC 0028CF2C 93 C4 00 00 */ stw r30, 0(r4)
/* 8028FFF0 0028CF30 93 E4 00 04 */ stw r31, 4(r4)
/* 8028FFF4 0028CF34 80 61 00 08 */ lwz r3, 8(r1)
/* 8028FFF8 0028CF38 48 0A D7 25 */ bl OSRestoreInterrupts
/* 8028FFFC 0028CF3C 38 60 00 01 */ li r3, 1
/* 80290000 0028CF40 48 00 00 18 */ b lbl_80290018
lbl_80290004:
/* 80290004 0028CF44 38 63 00 08 */ addi r3, r3, 8
/* 80290008 0028CF48 42 00 FF D4 */ bdnz lbl_8028FFDC
/* 8029000C 0028CF4C 80 61 00 08 */ lwz r3, 8(r1)
/* 80290010 0028CF50 48 0A D7 0D */ bl OSRestoreInterrupts
/* 80290014 0028CF54 38 60 00 00 */ li r3, 0
lbl_80290018:
/* 80290018 0028CF58 39 61 00 20 */ addi r11, r1, 0x20
/* 8029001C 0028CF5C 48 0D 22 0D */ bl func_80362228
/* 80290020 0028CF60 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80290024 0028CF64 7C 08 03 A6 */ mtlr r0
/* 80290028 0028CF68 38 21 00 20 */ addi r1, r1, 0x20
/* 8029002C 0028CF6C 4E 80 00 20 */ blr
.global JASCallbackMgr_NS_reject
JASCallbackMgr_NS_reject:
/* 80290030 0028CF70 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80290034 0028CF74 7C 08 02 A6 */ mflr r0
/* 80290038 0028CF78 90 01 00 24 */ stw r0, 0x24(r1)
/* 8029003C 0028CF7C 39 61 00 20 */ addi r11, r1, 0x20
/* 80290040 0028CF80 48 0D 21 99 */ bl func_803621D8
/* 80290044 0028CF84 7C 7C 1B 78 */ mr r28, r3
/* 80290048 0028CF88 7C 9D 23 78 */ mr r29, r4
/* 8029004C 0028CF8C 7C BE 2B 78 */ mr r30, r5
/* 80290050 0028CF90 3B E0 00 00 */ li r31, 0
/* 80290054 0028CF94 48 0A D6 A1 */ bl __RAS_OSDisableInterrupts_begin
/* 80290058 0028CF98 90 61 00 08 */ stw r3, 8(r1)
/* 8029005C 0028CF9C 38 60 00 00 */ li r3, 0
/* 80290060 0028CFA0 7C 65 1B 78 */ mr r5, r3
/* 80290064 0028CFA4 7C 64 1B 78 */ mr r4, r3
/* 80290068 0028CFA8 38 00 00 20 */ li r0, 0x20
/* 8029006C 0028CFAC 7C 09 03 A6 */ mtctr r0
lbl_80290070:
/* 80290070 0028CFB0 7C DC 1A 14 */ add r6, r28, r3
/* 80290074 0028CFB4 80 06 00 00 */ lwz r0, 0(r6)
/* 80290078 0028CFB8 7C 00 E8 40 */ cmplw r0, r29
/* 8029007C 0028CFBC 40 82 00 1C */ bne lbl_80290098
/* 80290080 0028CFC0 80 06 00 04 */ lwz r0, 4(r6)
/* 80290084 0028CFC4 7C 00 F0 40 */ cmplw r0, r30
/* 80290088 0028CFC8 40 82 00 10 */ bne lbl_80290098
/* 8029008C 0028CFCC 90 A6 00 00 */ stw r5, 0(r6)
/* 80290090 0028CFD0 90 86 00 04 */ stw r4, 4(r6)
/* 80290094 0028CFD4 3B FF 00 01 */ addi r31, r31, 1
lbl_80290098:
/* 80290098 0028CFD8 38 63 00 08 */ addi r3, r3, 8
/* 8029009C 0028CFDC 42 00 FF D4 */ bdnz lbl_80290070
/* 802900A0 0028CFE0 80 61 00 08 */ lwz r3, 8(r1)
/* 802900A4 0028CFE4 48 0A D6 79 */ bl OSRestoreInterrupts
/* 802900A8 0028CFE8 7F E3 FB 78 */ mr r3, r31
/* 802900AC 0028CFEC 39 61 00 20 */ addi r11, r1, 0x20
/* 802900B0 0028CFF0 48 0D 21 75 */ bl func_80362224
/* 802900B4 0028CFF4 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802900B8 0028CFF8 7C 08 03 A6 */ mtlr r0
/* 802900BC 0028CFFC 38 21 00 20 */ addi r1, r1, 0x20
/* 802900C0 0028D000 4E 80 00 20 */ blr
.global JASCallbackMgr_NS_callback
JASCallbackMgr_NS_callback:
/* 802900C4 0028D004 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802900C8 0028D008 7C 08 02 A6 */ mflr r0
/* 802900CC 0028D00C 90 01 00 24 */ stw r0, 0x24(r1)
/* 802900D0 0028D010 39 61 00 20 */ addi r11, r1, 0x20
/* 802900D4 0028D014 48 0D 20 FD */ bl func_803621D0
/* 802900D8 0028D018 7C 7A 1B 78 */ mr r26, r3
/* 802900DC 0028D01C 3B 60 00 00 */ li r27, 0
/* 802900E0 0028D020 3B E0 00 00 */ li r31, 0
/* 802900E4 0028D024 7F FD FB 78 */ mr r29, r31
/* 802900E8 0028D028 7F FE FB 78 */ mr r30, r31
lbl_802900EC:
/* 802900EC 0028D02C 7F 9A FA 14 */ add r28, r26, r31
/* 802900F0 0028D030 81 9C 00 00 */ lwz r12, 0(r28)
/* 802900F4 0028D034 28 0C 00 00 */ cmplwi r12, 0
/* 802900F8 0028D038 41 82 00 20 */ beq lbl_80290118
/* 802900FC 0028D03C 80 7C 00 04 */ lwz r3, 4(r28)
/* 80290100 0028D040 7D 89 03 A6 */ mtctr r12
/* 80290104 0028D044 4E 80 04 21 */ bctrl
/* 80290108 0028D048 2C 03 00 00 */ cmpwi r3, 0
/* 8029010C 0028D04C 40 80 00 0C */ bge lbl_80290118
/* 80290110 0028D050 93 BC 00 00 */ stw r29, 0(r28)
/* 80290114 0028D054 93 DC 00 04 */ stw r30, 4(r28)
lbl_80290118:
/* 80290118 0028D058 3B 7B 00 01 */ addi r27, r27, 1
/* 8029011C 0028D05C 2C 1B 00 20 */ cmpwi r27, 0x20
/* 80290120 0028D060 3B FF 00 08 */ addi r31, r31, 8
/* 80290124 0028D064 41 80 FF C8 */ blt lbl_802900EC
/* 80290128 0028D068 39 61 00 20 */ addi r11, r1, 0x20
/* 8029012C 0028D06C 48 0D 20 F1 */ bl func_8036221C
/* 80290130 0028D070 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80290134 0028D074 7C 08 03 A6 */ mtlr r0
/* 80290138 0028D078 38 21 00 20 */ addi r1, r1, 0x20
/* 8029013C 0028D07C 4E 80 00 20 */ blr

1530
asm/JAudio2/JASChannel.s Normal file

File diff suppressed because it is too large Load Diff

140
asm/JAudio2/JASCmdStack.s Normal file
View File

@ -0,0 +1,140 @@
.include "macros.inc"
.section .text, "ax" # 80291060
.global JASPortCmd_NS_execAllCommand
JASPortCmd_NS_execAllCommand:
/* 80291060 0028DFA0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80291064 0028DFA4 7C 08 02 A6 */ mflr r0
/* 80291068 0028DFA8 90 01 00 14 */ stw r0, 0x14(r1)
/* 8029106C 0028DFAC 3C 60 80 43 */ lis r3, lbl_80431684@ha
/* 80291070 0028DFB0 38 63 16 84 */ addi r3, r3, lbl_80431684@l
/* 80291074 0028DFB4 48 00 00 21 */ bl JASPortCmd_NS_TPortHead_NS_execCommandOnce
/* 80291078 0028DFB8 3C 60 80 43 */ lis r3, lbl_8043169C@ha
/* 8029107C 0028DFBC 38 63 16 9C */ addi r3, r3, lbl_8043169C@l
/* 80291080 0028DFC0 48 00 00 8D */ bl JASPortCmd_NS_TPortHead_NS_execCommandStay
/* 80291084 0028DFC4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80291088 0028DFC8 7C 08 03 A6 */ mtlr r0
/* 8029108C 0028DFCC 38 21 00 10 */ addi r1, r1, 0x10
/* 80291090 0028DFD0 4E 80 00 20 */ blr
.global JASPortCmd_NS_TPortHead_NS_execCommandOnce
JASPortCmd_NS_TPortHead_NS_execCommandOnce:
/* 80291094 0028DFD4 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80291098 0028DFD8 7C 08 02 A6 */ mflr r0
/* 8029109C 0028DFDC 90 01 00 24 */ stw r0, 0x24(r1)
/* 802910A0 0028DFE0 39 61 00 20 */ addi r11, r1, 0x20
/* 802910A4 0028DFE4 48 0D 11 39 */ bl func_803621DC
/* 802910A8 0028DFE8 7C 7D 1B 78 */ mr r29, r3
/* 802910AC 0028DFEC 48 0A C6 49 */ bl __RAS_OSDisableInterrupts_begin
/* 802910B0 0028DFF0 90 61 00 08 */ stw r3, 8(r1)
/* 802910B4 0028DFF4 83 DD 00 00 */ lwz r30, 0(r29)
/* 802910B8 0028DFF8 48 00 00 2C */ b lbl_802910E4
lbl_802910BC:
/* 802910BC 0028DFFC 83 FE 00 0C */ lwz r31, 0xc(r30)
/* 802910C0 0028E000 80 9E 00 00 */ lwz r4, 0(r30)
/* 802910C4 0028E004 80 64 00 14 */ lwz r3, 0x14(r4)
/* 802910C8 0028E008 81 84 00 10 */ lwz r12, 0x10(r4)
/* 802910CC 0028E00C 7D 89 03 A6 */ mtctr r12
/* 802910D0 0028E010 4E 80 04 21 */ bctrl
/* 802910D4 0028E014 7F A3 EB 78 */ mr r3, r29
/* 802910D8 0028E018 7F C4 F3 78 */ mr r4, r30
/* 802910DC 0028E01C 48 04 B0 81 */ bl JSUPtrList_NS_remove
/* 802910E0 0028E020 7F FE FB 78 */ mr r30, r31
lbl_802910E4:
/* 802910E4 0028E024 28 1E 00 00 */ cmplwi r30, 0
/* 802910E8 0028E028 40 82 FF D4 */ bne lbl_802910BC
/* 802910EC 0028E02C 80 61 00 08 */ lwz r3, 8(r1)
/* 802910F0 0028E030 48 0A C6 2D */ bl OSRestoreInterrupts
/* 802910F4 0028E034 39 61 00 20 */ addi r11, r1, 0x20
/* 802910F8 0028E038 48 0D 11 31 */ bl func_80362228
/* 802910FC 0028E03C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80291100 0028E040 7C 08 03 A6 */ mtlr r0
/* 80291104 0028E044 38 21 00 20 */ addi r1, r1, 0x20
/* 80291108 0028E048 4E 80 00 20 */ blr
.global JASPortCmd_NS_TPortHead_NS_execCommandStay
JASPortCmd_NS_TPortHead_NS_execCommandStay:
/* 8029110C 0028E04C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80291110 0028E050 7C 08 02 A6 */ mflr r0
/* 80291114 0028E054 90 01 00 24 */ stw r0, 0x24(r1)
/* 80291118 0028E058 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8029111C 0028E05C 7C 7F 1B 78 */ mr r31, r3
/* 80291120 0028E060 48 0A C5 D5 */ bl __RAS_OSDisableInterrupts_begin
/* 80291124 0028E064 90 61 00 08 */ stw r3, 8(r1)
/* 80291128 0028E068 83 FF 00 00 */ lwz r31, 0(r31)
/* 8029112C 0028E06C 48 00 00 1C */ b lbl_80291148
lbl_80291130:
/* 80291130 0028E070 80 9F 00 00 */ lwz r4, 0(r31)
/* 80291134 0028E074 80 64 00 14 */ lwz r3, 0x14(r4)
/* 80291138 0028E078 81 84 00 10 */ lwz r12, 0x10(r4)
/* 8029113C 0028E07C 7D 89 03 A6 */ mtctr r12
/* 80291140 0028E080 4E 80 04 21 */ bctrl
/* 80291144 0028E084 83 FF 00 0C */ lwz r31, 0xc(r31)
lbl_80291148:
/* 80291148 0028E088 28 1F 00 00 */ cmplwi r31, 0
/* 8029114C 0028E08C 40 82 FF E4 */ bne lbl_80291130
/* 80291150 0028E090 80 61 00 08 */ lwz r3, 8(r1)
/* 80291154 0028E094 48 0A C5 C9 */ bl OSRestoreInterrupts
/* 80291158 0028E098 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8029115C 0028E09C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80291160 0028E0A0 7C 08 03 A6 */ mtlr r0
/* 80291164 0028E0A4 38 21 00 20 */ addi r1, r1, 0x20
/* 80291168 0028E0A8 4E 80 00 20 */ blr
/* 8029116C 0028E0AC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80291170 0028E0B0 7C 08 02 A6 */ mflr r0
/* 80291174 0028E0B4 90 01 00 14 */ stw r0, 0x14(r1)
/* 80291178 0028E0B8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8029117C 0028E0BC 3C 60 80 43 */ lis r3, lbl_80431678@ha
/* 80291180 0028E0C0 3B E3 16 78 */ addi r31, r3, lbl_80431678@l
/* 80291184 0028E0C4 38 7F 00 0C */ addi r3, r31, 0xc
/* 80291188 0028E0C8 48 04 AD 8D */ bl JSUPtrList_NS_initiate
/* 8029118C 0028E0CC 38 7F 00 0C */ addi r3, r31, 0xc
.global JASPortCmd_NS_TPortHead_NS_dtor
/* 80291190 0028E0D0 3C 80 80 29 */ lis r4, JASPortCmd_NS_TPortHead_NS_dtor@ha
.global JASPortCmd_NS_TPortHead_NS_dtor
/* 80291194 0028E0D4 38 84 11 D0 */ addi r4, r4, JASPortCmd_NS_TPortHead_NS_dtor@l
/* 80291198 0028E0D8 38 BF 00 00 */ addi r5, r31, 0
/* 8029119C 0028E0DC 48 0D 0A 89 */ bl func_80361C24
/* 802911A0 0028E0E0 38 7F 00 24 */ addi r3, r31, 0x24
/* 802911A4 0028E0E4 48 04 AD 71 */ bl JSUPtrList_NS_initiate
/* 802911A8 0028E0E8 38 7F 00 24 */ addi r3, r31, 0x24
.global JASPortCmd_NS_TPortHead_NS_dtor
/* 802911AC 0028E0EC 3C 80 80 29 */ lis r4, JASPortCmd_NS_TPortHead_NS_dtor@ha
.global JASPortCmd_NS_TPortHead_NS_dtor
/* 802911B0 0028E0F0 38 84 11 D0 */ addi r4, r4, JASPortCmd_NS_TPortHead_NS_dtor@l
/* 802911B4 0028E0F4 38 BF 00 18 */ addi r5, r31, 0x18
/* 802911B8 0028E0F8 48 0D 0A 6D */ bl func_80361C24
/* 802911BC 0028E0FC 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802911C0 0028E100 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802911C4 0028E104 7C 08 03 A6 */ mtlr r0
/* 802911C8 0028E108 38 21 00 10 */ addi r1, r1, 0x10
/* 802911CC 0028E10C 4E 80 00 20 */ blr
.global JASPortCmd_NS_TPortHead_NS_dtor
JASPortCmd_NS_TPortHead_NS_dtor:
/* 802911D0 0028E110 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802911D4 0028E114 7C 08 02 A6 */ mflr r0
/* 802911D8 0028E118 90 01 00 14 */ stw r0, 0x14(r1)
/* 802911DC 0028E11C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802911E0 0028E120 93 C1 00 08 */ stw r30, 8(r1)
/* 802911E4 0028E124 7C 7E 1B 79 */ or. r30, r3, r3
/* 802911E8 0028E128 7C 9F 23 78 */ mr r31, r4
/* 802911EC 0028E12C 41 82 00 20 */ beq lbl_8029120C
/* 802911F0 0028E130 41 82 00 0C */ beq lbl_802911FC
/* 802911F4 0028E134 38 80 00 00 */ li r4, 0
/* 802911F8 0028E138 48 04 AC B5 */ bl JSUPtrList_NS_dtor
lbl_802911FC:
/* 802911FC 0028E13C 7F E0 07 35 */ extsh. r0, r31
/* 80291200 0028E140 40 81 00 0C */ ble lbl_8029120C
/* 80291204 0028E144 7F C3 F3 78 */ mr r3, r30
/* 80291208 0028E148 48 03 DB 35 */ bl __dl
lbl_8029120C:
/* 8029120C 0028E14C 7F C3 F3 78 */ mr r3, r30
/* 80291210 0028E150 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80291214 0028E154 83 C1 00 08 */ lwz r30, 8(r1)
/* 80291218 0028E158 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8029121C 0028E15C 7C 08 03 A6 */ mtlr r0
/* 80291220 0028E160 38 21 00 10 */ addi r1, r1, 0x10
/* 80291224 0028E164 4E 80 00 20 */ blr

497
asm/JAudio2/JASDSPChannel.s Normal file
View File

@ -0,0 +1,497 @@
.include "macros.inc"
.section .text, "ax" # 8029d2f4
.global JASDSPChannel
JASDSPChannel:
/* 8029D2F4 0029A234 38 00 00 01 */ li r0, 1
/* 8029D2F8 0029A238 90 03 00 00 */ stw r0, 0(r3)
/* 8029D2FC 0029A23C 38 00 FF FF */ li r0, -1
/* 8029D300 0029A240 B0 03 00 04 */ sth r0, 4(r3)
/* 8029D304 0029A244 38 00 00 00 */ li r0, 0
/* 8029D308 0029A248 90 03 00 08 */ stw r0, 8(r3)
/* 8029D30C 0029A24C 90 03 00 0C */ stw r0, 0xc(r3)
/* 8029D310 0029A250 90 03 00 10 */ stw r0, 0x10(r3)
/* 8029D314 0029A254 90 03 00 14 */ stw r0, 0x14(r3)
/* 8029D318 0029A258 90 03 00 18 */ stw r0, 0x18(r3)
/* 8029D31C 0029A25C 4E 80 00 20 */ blr
.global JASDSPChannel_NS_free
JASDSPChannel_NS_free:
/* 8029D320 0029A260 38 00 00 00 */ li r0, 0
/* 8029D324 0029A264 90 03 00 10 */ stw r0, 0x10(r3)
/* 8029D328 0029A268 90 03 00 14 */ stw r0, 0x14(r3)
/* 8029D32C 0029A26C 4E 80 00 20 */ blr
.global JASDSPChannel_NS_start
JASDSPChannel_NS_start:
/* 8029D330 0029A270 80 03 00 08 */ lwz r0, 8(r3)
/* 8029D334 0029A274 60 00 00 01 */ ori r0, r0, 1
/* 8029D338 0029A278 90 03 00 08 */ stw r0, 8(r3)
/* 8029D33C 0029A27C 4E 80 00 20 */ blr
.global JASDSPChannel_NS_drop
JASDSPChannel_NS_drop:
/* 8029D340 0029A280 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8029D344 0029A284 7C 08 02 A6 */ mflr r0
/* 8029D348 0029A288 90 01 00 14 */ stw r0, 0x14(r1)
/* 8029D34C 0029A28C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8029D350 0029A290 7C 7F 1B 78 */ mr r31, r3
/* 8029D354 0029A294 81 83 00 10 */ lwz r12, 0x10(r3)
/* 8029D358 0029A298 28 0C 00 00 */ cmplwi r12, 0
/* 8029D35C 0029A29C 41 82 00 18 */ beq lbl_8029D374
/* 8029D360 0029A2A0 38 60 00 03 */ li r3, 3
/* 8029D364 0029A2A4 38 80 00 00 */ li r4, 0
/* 8029D368 0029A2A8 80 BF 00 14 */ lwz r5, 0x14(r31)
/* 8029D36C 0029A2AC 7D 89 03 A6 */ mtctr r12
/* 8029D370 0029A2B0 4E 80 04 21 */ bctrl
lbl_8029D374:
/* 8029D374 0029A2B4 38 00 00 00 */ li r0, 0
/* 8029D378 0029A2B8 90 1F 00 10 */ stw r0, 0x10(r31)
/* 8029D37C 0029A2BC 90 1F 00 14 */ stw r0, 0x14(r31)
/* 8029D380 0029A2C0 38 00 FF FF */ li r0, -1
/* 8029D384 0029A2C4 B0 1F 00 04 */ sth r0, 4(r31)
/* 8029D388 0029A2C8 80 1F 00 08 */ lwz r0, 8(r31)
/* 8029D38C 0029A2CC 54 00 00 3C */ rlwinm r0, r0, 0, 0, 0x1e
/* 8029D390 0029A2D0 90 1F 00 08 */ stw r0, 8(r31)
/* 8029D394 0029A2D4 80 1F 00 00 */ lwz r0, 0(r31)
/* 8029D398 0029A2D8 2C 00 00 00 */ cmpwi r0, 0
/* 8029D39C 0029A2DC 40 82 00 18 */ bne lbl_8029D3B4
/* 8029D3A0 0029A2E0 80 1F 00 08 */ lwz r0, 8(r31)
/* 8029D3A4 0029A2E4 60 00 00 02 */ ori r0, r0, 2
/* 8029D3A8 0029A2E8 90 1F 00 08 */ stw r0, 8(r31)
/* 8029D3AC 0029A2EC 38 00 00 02 */ li r0, 2
/* 8029D3B0 0029A2F0 90 1F 00 00 */ stw r0, 0(r31)
lbl_8029D3B4:
/* 8029D3B4 0029A2F4 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8029D3B8 0029A2F8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8029D3BC 0029A2FC 7C 08 03 A6 */ mtlr r0
/* 8029D3C0 0029A300 38 21 00 10 */ addi r1, r1, 0x10
/* 8029D3C4 0029A304 4E 80 00 20 */ blr
.global JASDSPChannel_NS_initAll
JASDSPChannel_NS_initAll:
/* 8029D3C8 0029A308 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8029D3CC 0029A30C 7C 08 02 A6 */ mflr r0
/* 8029D3D0 0029A310 90 01 00 14 */ stw r0, 0x14(r1)
/* 8029D3D4 0029A314 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8029D3D8 0029A318 93 C1 00 08 */ stw r30, 8(r1)
/* 8029D3DC 0029A31C 38 60 07 10 */ li r3, 0x710
/* 8029D3E0 0029A320 80 8D 8C 90 */ lwz r4, lbl_80451210-_SDA_BASE_(r13)
/* 8029D3E4 0029A324 38 A0 00 20 */ li r5, 0x20
/* 8029D3E8 0029A328 48 03 19 29 */ bl __nwa_X2_
.global JASDSPChannel
/* 8029D3EC 0029A32C 3C 80 80 2A */ lis r4, JASDSPChannel@ha
.global JASDSPChannel
/* 8029D3F0 0029A330 38 84 D2 F4 */ addi r4, r4, JASDSPChannel@l
/* 8029D3F4 0029A334 38 A0 00 00 */ li r5, 0
/* 8029D3F8 0029A338 38 C0 00 1C */ li r6, 0x1c
/* 8029D3FC 0029A33C 38 E0 00 40 */ li r7, 0x40
/* 8029D400 0029A340 48 0C 4B 15 */ bl func_80361F14
/* 8029D404 0029A344 90 6D 8D 60 */ stw r3, lbl_804512E0-_SDA_BASE_(r13)
/* 8029D408 0029A348 3B C0 00 00 */ li r30, 0
/* 8029D40C 0029A34C 3B E0 00 00 */ li r31, 0
lbl_8029D410:
/* 8029D410 0029A350 7F C3 F3 78 */ mr r3, r30
/* 8029D414 0029A354 48 00 06 25 */ bl JASDsp_NS_getDSPHandle
/* 8029D418 0029A358 80 8D 8D 60 */ lwz r4, lbl_804512E0-_SDA_BASE_(r13)
/* 8029D41C 0029A35C 38 1F 00 18 */ addi r0, r31, 0x18
/* 8029D420 0029A360 7C 64 01 2E */ stwx r3, r4, r0
/* 8029D424 0029A364 3B DE 00 01 */ addi r30, r30, 1
/* 8029D428 0029A368 2C 1E 00 40 */ cmpwi r30, 0x40
/* 8029D42C 0029A36C 3B FF 00 1C */ addi r31, r31, 0x1c
/* 8029D430 0029A370 41 80 FF E0 */ blt lbl_8029D410
/* 8029D434 0029A374 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8029D438 0029A378 83 C1 00 08 */ lwz r30, 8(r1)
/* 8029D43C 0029A37C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8029D440 0029A380 7C 08 03 A6 */ mtlr r0
/* 8029D444 0029A384 38 21 00 10 */ addi r1, r1, 0x10
/* 8029D448 0029A388 4E 80 00 20 */ blr
.global JASDSPChannel_NS_alloc
JASDSPChannel_NS_alloc:
/* 8029D44C 0029A38C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8029D450 0029A390 7C 08 02 A6 */ mflr r0
/* 8029D454 0029A394 90 01 00 24 */ stw r0, 0x24(r1)
/* 8029D458 0029A398 39 61 00 20 */ addi r11, r1, 0x20
/* 8029D45C 0029A39C 48 0C 4D 7D */ bl func_803621D8
/* 8029D460 0029A3A0 7C 7C 1B 78 */ mr r28, r3
/* 8029D464 0029A3A4 7C 9D 23 78 */ mr r29, r4
/* 8029D468 0029A3A8 7C BE 2B 78 */ mr r30, r5
/* 8029D46C 0029A3AC 54 63 06 3E */ clrlwi r3, r3, 0x18
/* 8029D470 0029A3B0 48 00 00 D1 */ bl JASDSPChannel_NS_getLowestChannel
/* 8029D474 0029A3B4 7C 7F 1B 79 */ or. r31, r3, r3
/* 8029D478 0029A3B8 40 82 00 0C */ bne lbl_8029D484
/* 8029D47C 0029A3BC 38 60 00 00 */ li r3, 0
/* 8029D480 0029A3C0 48 00 00 24 */ b lbl_8029D4A4
lbl_8029D484:
/* 8029D484 0029A3C4 4B FF FE BD */ bl JASDSPChannel_NS_drop
/* 8029D488 0029A3C8 57 80 06 3E */ clrlwi r0, r28, 0x18
/* 8029D48C 0029A3CC B0 1F 00 04 */ sth r0, 4(r31)
/* 8029D490 0029A3D0 38 00 00 00 */ li r0, 0
/* 8029D494 0029A3D4 90 1F 00 0C */ stw r0, 0xc(r31)
/* 8029D498 0029A3D8 93 BF 00 10 */ stw r29, 0x10(r31)
/* 8029D49C 0029A3DC 93 DF 00 14 */ stw r30, 0x14(r31)
/* 8029D4A0 0029A3E0 7F E3 FB 78 */ mr r3, r31
lbl_8029D4A4:
/* 8029D4A4 0029A3E4 39 61 00 20 */ addi r11, r1, 0x20
/* 8029D4A8 0029A3E8 48 0C 4D 7D */ bl func_80362224
/* 8029D4AC 0029A3EC 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8029D4B0 0029A3F0 7C 08 03 A6 */ mtlr r0
/* 8029D4B4 0029A3F4 38 21 00 20 */ addi r1, r1, 0x20
/* 8029D4B8 0029A3F8 4E 80 00 20 */ blr
.global JASDSPChannel_NS_allocForce
JASDSPChannel_NS_allocForce:
/* 8029D4BC 0029A3FC 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8029D4C0 0029A400 7C 08 02 A6 */ mflr r0
/* 8029D4C4 0029A404 90 01 00 24 */ stw r0, 0x24(r1)
/* 8029D4C8 0029A408 39 61 00 20 */ addi r11, r1, 0x20
/* 8029D4CC 0029A40C 48 0C 4D 0D */ bl func_803621D8
/* 8029D4D0 0029A410 7C 7C 1B 78 */ mr r28, r3
/* 8029D4D4 0029A414 7C 9D 23 78 */ mr r29, r4
/* 8029D4D8 0029A418 7C BE 2B 78 */ mr r30, r5
/* 8029D4DC 0029A41C 54 63 06 3E */ clrlwi r3, r3, 0x18
/* 8029D4E0 0029A420 48 00 00 61 */ bl JASDSPChannel_NS_getLowestChannel
/* 8029D4E4 0029A424 7C 7F 1B 79 */ or. r31, r3, r3
/* 8029D4E8 0029A428 40 82 00 0C */ bne lbl_8029D4F4
/* 8029D4EC 0029A42C 38 60 00 00 */ li r3, 0
/* 8029D4F0 0029A430 48 00 00 2C */ b lbl_8029D51C
lbl_8029D4F4:
/* 8029D4F4 0029A434 38 00 00 01 */ li r0, 1
/* 8029D4F8 0029A438 90 1F 00 00 */ stw r0, 0(r31)
/* 8029D4FC 0029A43C 4B FF FE 45 */ bl JASDSPChannel_NS_drop
/* 8029D500 0029A440 57 80 06 3E */ clrlwi r0, r28, 0x18
/* 8029D504 0029A444 B0 1F 00 04 */ sth r0, 4(r31)
/* 8029D508 0029A448 38 00 00 00 */ li r0, 0
/* 8029D50C 0029A44C 90 1F 00 0C */ stw r0, 0xc(r31)
/* 8029D510 0029A450 93 BF 00 10 */ stw r29, 0x10(r31)
/* 8029D514 0029A454 93 DF 00 14 */ stw r30, 0x14(r31)
/* 8029D518 0029A458 7F E3 FB 78 */ mr r3, r31
lbl_8029D51C:
/* 8029D51C 0029A45C 39 61 00 20 */ addi r11, r1, 0x20
/* 8029D520 0029A460 48 0C 4D 05 */ bl func_80362224
/* 8029D524 0029A464 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8029D528 0029A468 7C 08 03 A6 */ mtlr r0
/* 8029D52C 0029A46C 38 21 00 20 */ addi r1, r1, 0x20
/* 8029D530 0029A470 4E 80 00 20 */ blr
.global JASDSPChannel_NS_setPriority
JASDSPChannel_NS_setPriority:
/* 8029D534 0029A474 54 80 06 3E */ clrlwi r0, r4, 0x18
/* 8029D538 0029A478 B0 03 00 04 */ sth r0, 4(r3)
/* 8029D53C 0029A47C 4E 80 00 20 */ blr
.global JASDSPChannel_NS_getLowestChannel
JASDSPChannel_NS_getLowestChannel:
/* 8029D540 0029A480 38 C0 00 FF */ li r6, 0xff
/* 8029D544 0029A484 38 E0 FF FF */ li r7, -1
/* 8029D548 0029A488 39 00 00 00 */ li r8, 0
/* 8029D54C 0029A48C 39 20 00 00 */ li r9, 0
/* 8029D550 0029A490 38 80 00 00 */ li r4, 0
/* 8029D554 0029A494 80 AD 8D 60 */ lwz r5, lbl_804512E0-_SDA_BASE_(r13)
/* 8029D558 0029A498 38 00 00 40 */ li r0, 0x40
/* 8029D55C 0029A49C 7C 09 03 A6 */ mtctr r0
lbl_8029D560:
/* 8029D560 0029A4A0 7D 45 22 14 */ add r10, r5, r4
/* 8029D564 0029A4A4 A9 6A 00 04 */ lha r11, 4(r10)
/* 8029D568 0029A4A8 7D 60 07 35 */ extsh. r0, r11
/* 8029D56C 0029A4AC 40 80 00 0C */ bge lbl_8029D578
/* 8029D570 0029A4B0 7D 43 53 78 */ mr r3, r10
/* 8029D574 0029A4B4 4E 80 00 20 */ blr
lbl_8029D578:
/* 8029D578 0029A4B8 7C 0B 18 00 */ cmpw r11, r3
/* 8029D57C 0029A4BC 41 81 00 2C */ bgt lbl_8029D5A8
/* 8029D580 0029A4C0 7C C0 07 34 */ extsh r0, r6
/* 8029D584 0029A4C4 7C 0B 00 00 */ cmpw r11, r0
/* 8029D588 0029A4C8 41 81 00 20 */ bgt lbl_8029D5A8
/* 8029D58C 0029A4CC 40 82 00 10 */ bne lbl_8029D59C
/* 8029D590 0029A4D0 80 0A 00 0C */ lwz r0, 0xc(r10)
/* 8029D594 0029A4D4 7C 00 40 40 */ cmplw r0, r8
/* 8029D598 0029A4D8 40 81 00 10 */ ble lbl_8029D5A8
lbl_8029D59C:
/* 8029D59C 0029A4DC 81 0A 00 0C */ lwz r8, 0xc(r10)
/* 8029D5A0 0029A4E0 7D 27 4B 78 */ mr r7, r9
/* 8029D5A4 0029A4E4 7D 66 5B 78 */ mr r6, r11
lbl_8029D5A8:
/* 8029D5A8 0029A4E8 39 29 00 01 */ addi r9, r9, 1
/* 8029D5AC 0029A4EC 38 84 00 1C */ addi r4, r4, 0x1c
/* 8029D5B0 0029A4F0 42 00 FF B0 */ bdnz lbl_8029D560
/* 8029D5B4 0029A4F4 2C 07 00 00 */ cmpwi r7, 0
/* 8029D5B8 0029A4F8 40 80 00 0C */ bge lbl_8029D5C4
/* 8029D5BC 0029A4FC 38 60 00 00 */ li r3, 0
/* 8029D5C0 0029A500 4E 80 00 20 */ blr
lbl_8029D5C4:
/* 8029D5C4 0029A504 1C 07 00 1C */ mulli r0, r7, 0x1c
/* 8029D5C8 0029A508 7C 65 02 14 */ add r3, r5, r0
/* 8029D5CC 0029A50C 4E 80 00 20 */ blr
.global JASDSPChannel_NS_getLowestActiveChannel
JASDSPChannel_NS_getLowestActiveChannel:
/* 8029D5D0 0029A510 38 A0 00 FF */ li r5, 0xff
/* 8029D5D4 0029A514 38 C0 FF FF */ li r6, -1
/* 8029D5D8 0029A518 38 E0 00 00 */ li r7, 0
/* 8029D5DC 0029A51C 39 00 00 00 */ li r8, 0
/* 8029D5E0 0029A520 38 60 00 00 */ li r3, 0
/* 8029D5E4 0029A524 80 8D 8D 60 */ lwz r4, lbl_804512E0-_SDA_BASE_(r13)
/* 8029D5E8 0029A528 38 00 00 40 */ li r0, 0x40
/* 8029D5EC 0029A52C 7C 09 03 A6 */ mtctr r0
lbl_8029D5F0:
/* 8029D5F0 0029A530 7D 24 1A 14 */ add r9, r4, r3
/* 8029D5F4 0029A534 80 09 00 00 */ lwz r0, 0(r9)
/* 8029D5F8 0029A538 2C 00 00 00 */ cmpwi r0, 0
/* 8029D5FC 0029A53C 40 82 00 38 */ bne lbl_8029D634
/* 8029D600 0029A540 A9 49 00 04 */ lha r10, 4(r9)
/* 8029D604 0029A544 2C 0A 00 7F */ cmpwi r10, 0x7f
/* 8029D608 0029A548 40 80 00 2C */ bge lbl_8029D634
/* 8029D60C 0029A54C 7C A0 07 34 */ extsh r0, r5
/* 8029D610 0029A550 7C 0A 00 00 */ cmpw r10, r0
/* 8029D614 0029A554 41 81 00 20 */ bgt lbl_8029D634
/* 8029D618 0029A558 40 82 00 10 */ bne lbl_8029D628
/* 8029D61C 0029A55C 80 09 00 0C */ lwz r0, 0xc(r9)
/* 8029D620 0029A560 7C 00 38 40 */ cmplw r0, r7
/* 8029D624 0029A564 40 81 00 10 */ ble lbl_8029D634
lbl_8029D628:
/* 8029D628 0029A568 80 E9 00 0C */ lwz r7, 0xc(r9)
/* 8029D62C 0029A56C 7D 06 43 78 */ mr r6, r8
/* 8029D630 0029A570 7D 45 53 78 */ mr r5, r10
lbl_8029D634:
/* 8029D634 0029A574 39 08 00 01 */ addi r8, r8, 1
/* 8029D638 0029A578 38 63 00 1C */ addi r3, r3, 0x1c
/* 8029D63C 0029A57C 42 00 FF B4 */ bdnz lbl_8029D5F0
/* 8029D640 0029A580 2C 06 00 00 */ cmpwi r6, 0
/* 8029D644 0029A584 40 80 00 0C */ bge lbl_8029D650
/* 8029D648 0029A588 38 60 00 00 */ li r3, 0
/* 8029D64C 0029A58C 4E 80 00 20 */ blr
lbl_8029D650:
/* 8029D650 0029A590 1C 06 00 1C */ mulli r0, r6, 0x1c
/* 8029D654 0029A594 7C 64 02 14 */ add r3, r4, r0
/* 8029D658 0029A598 4E 80 00 20 */ blr
.global JASDSPChannel_NS_updateProc
JASDSPChannel_NS_updateProc:
/* 8029D65C 0029A59C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8029D660 0029A5A0 7C 08 02 A6 */ mflr r0
/* 8029D664 0029A5A4 90 01 00 14 */ stw r0, 0x14(r1)
/* 8029D668 0029A5A8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8029D66C 0029A5AC 7C 7F 1B 78 */ mr r31, r3
/* 8029D670 0029A5B0 80 63 00 18 */ lwz r3, 0x18(r3)
/* 8029D674 0029A5B4 48 00 07 09 */ bl JASDsp_NS_TChannel_NS_isFinish
/* 8029D678 0029A5B8 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 8029D67C 0029A5BC 41 82 00 70 */ beq lbl_8029D6EC
/* 8029D680 0029A5C0 80 1F 00 08 */ lwz r0, 8(r31)
/* 8029D684 0029A5C4 54 00 07 FA */ rlwinm r0, r0, 0, 0x1f, 0x1d
/* 8029D688 0029A5C8 90 1F 00 08 */ stw r0, 8(r31)
/* 8029D68C 0029A5CC 80 1F 00 00 */ lwz r0, 0(r31)
/* 8029D690 0029A5D0 2C 00 00 00 */ cmpwi r0, 0
/* 8029D694 0029A5D4 40 82 00 3C */ bne lbl_8029D6D0
/* 8029D698 0029A5D8 81 9F 00 10 */ lwz r12, 0x10(r31)
/* 8029D69C 0029A5DC 28 0C 00 00 */ cmplwi r12, 0
/* 8029D6A0 0029A5E0 41 82 00 1C */ beq lbl_8029D6BC
/* 8029D6A4 0029A5E4 38 60 00 02 */ li r3, 2
/* 8029D6A8 0029A5E8 38 80 00 00 */ li r4, 0
/* 8029D6AC 0029A5EC 80 BF 00 14 */ lwz r5, 0x14(r31)
/* 8029D6B0 0029A5F0 7D 89 03 A6 */ mtctr r12
/* 8029D6B4 0029A5F4 4E 80 04 21 */ bctrl
/* 8029D6B8 0029A5F8 48 00 00 08 */ b lbl_8029D6C0
lbl_8029D6BC:
/* 8029D6BC 0029A5FC 38 60 FF FF */ li r3, -1
lbl_8029D6C0:
/* 8029D6C0 0029A600 2C 03 00 00 */ cmpwi r3, 0
/* 8029D6C4 0029A604 40 80 00 0C */ bge lbl_8029D6D0
/* 8029D6C8 0029A608 38 00 FF FF */ li r0, -1
/* 8029D6CC 0029A60C B0 1F 00 04 */ sth r0, 4(r31)
lbl_8029D6D0:
/* 8029D6D0 0029A610 38 00 00 01 */ li r0, 1
/* 8029D6D4 0029A614 90 1F 00 00 */ stw r0, 0(r31)
/* 8029D6D8 0029A618 80 7F 00 18 */ lwz r3, 0x18(r31)
/* 8029D6DC 0029A61C 48 00 06 75 */ bl JASDsp_NS_TChannel_NS_replyFinishRequest
/* 8029D6E0 0029A620 80 7F 00 18 */ lwz r3, 0x18(r31)
/* 8029D6E4 0029A624 48 00 08 A9 */ bl JASDsp_NS_TChannel_NS_flush
/* 8029D6E8 0029A628 48 00 01 A0 */ b lbl_8029D888
lbl_8029D6EC:
/* 8029D6EC 0029A62C 80 7F 00 08 */ lwz r3, 8(r31)
/* 8029D6F0 0029A630 54 60 07 BD */ rlwinm. r0, r3, 0, 0x1e, 0x1e
/* 8029D6F4 0029A634 41 82 00 20 */ beq lbl_8029D714
/* 8029D6F8 0029A638 54 60 07 FA */ rlwinm r0, r3, 0, 0x1f, 0x1d
/* 8029D6FC 0029A63C 90 1F 00 08 */ stw r0, 8(r31)
/* 8029D700 0029A640 80 7F 00 18 */ lwz r3, 0x18(r31)
/* 8029D704 0029A644 48 00 06 5D */ bl JASDsp_NS_TChannel_NS_forceStop
/* 8029D708 0029A648 80 7F 00 18 */ lwz r3, 0x18(r31)
/* 8029D70C 0029A64C 48 00 08 81 */ bl JASDsp_NS_TChannel_NS_flush
/* 8029D710 0029A650 48 00 01 78 */ b lbl_8029D888
lbl_8029D714:
/* 8029D714 0029A654 80 9F 00 00 */ lwz r4, 0(r31)
/* 8029D718 0029A658 2C 04 00 02 */ cmpwi r4, 2
/* 8029D71C 0029A65C 41 82 01 6C */ beq lbl_8029D888
/* 8029D720 0029A660 54 60 07 FF */ clrlwi. r0, r3, 0x1f
/* 8029D724 0029A664 41 82 00 B4 */ beq lbl_8029D7D8
/* 8029D728 0029A668 2C 04 00 01 */ cmpwi r4, 1
/* 8029D72C 0029A66C 40 82 00 AC */ bne lbl_8029D7D8
/* 8029D730 0029A670 54 60 00 3C */ rlwinm r0, r3, 0, 0, 0x1e
/* 8029D734 0029A674 90 1F 00 08 */ stw r0, 8(r31)
/* 8029D738 0029A678 38 00 00 00 */ li r0, 0
/* 8029D73C 0029A67C 90 1F 00 00 */ stw r0, 0(r31)
/* 8029D740 0029A680 80 7F 00 18 */ lwz r3, 0x18(r31)
/* 8029D744 0029A684 48 00 05 61 */ bl JASDsp_NS_TChannel_NS_init
/* 8029D748 0029A688 81 9F 00 10 */ lwz r12, 0x10(r31)
/* 8029D74C 0029A68C 28 0C 00 00 */ cmplwi r12, 0
/* 8029D750 0029A690 41 82 00 1C */ beq lbl_8029D76C
/* 8029D754 0029A694 38 60 00 01 */ li r3, 1
/* 8029D758 0029A698 80 9F 00 18 */ lwz r4, 0x18(r31)
/* 8029D75C 0029A69C 80 BF 00 14 */ lwz r5, 0x14(r31)
/* 8029D760 0029A6A0 7D 89 03 A6 */ mtctr r12
/* 8029D764 0029A6A4 4E 80 04 21 */ bctrl
/* 8029D768 0029A6A8 48 00 00 08 */ b lbl_8029D770
lbl_8029D76C:
/* 8029D76C 0029A6AC 38 60 00 00 */ li r3, 0
lbl_8029D770:
/* 8029D770 0029A6B0 2C 03 00 00 */ cmpwi r3, 0
/* 8029D774 0029A6B4 40 80 00 50 */ bge lbl_8029D7C4
/* 8029D778 0029A6B8 38 00 00 01 */ li r0, 1
/* 8029D77C 0029A6BC 90 1F 00 00 */ stw r0, 0(r31)
/* 8029D780 0029A6C0 81 9F 00 10 */ lwz r12, 0x10(r31)
/* 8029D784 0029A6C4 28 0C 00 00 */ cmplwi r12, 0
/* 8029D788 0029A6C8 41 82 00 1C */ beq lbl_8029D7A4
/* 8029D78C 0029A6CC 38 60 00 02 */ li r3, 2
/* 8029D790 0029A6D0 38 80 00 00 */ li r4, 0
/* 8029D794 0029A6D4 80 BF 00 14 */ lwz r5, 0x14(r31)
/* 8029D798 0029A6D8 7D 89 03 A6 */ mtctr r12
/* 8029D79C 0029A6DC 4E 80 04 21 */ bctrl
/* 8029D7A0 0029A6E0 48 00 00 08 */ b lbl_8029D7A8
lbl_8029D7A4:
/* 8029D7A4 0029A6E4 38 60 FF FF */ li r3, -1
lbl_8029D7A8:
/* 8029D7A8 0029A6E8 2C 03 00 00 */ cmpwi r3, 0
/* 8029D7AC 0029A6EC 40 80 00 0C */ bge lbl_8029D7B8
/* 8029D7B0 0029A6F0 38 00 FF FF */ li r0, -1
/* 8029D7B4 0029A6F4 B0 1F 00 04 */ sth r0, 4(r31)
lbl_8029D7B8:
/* 8029D7B8 0029A6F8 80 7F 00 18 */ lwz r3, 0x18(r31)
/* 8029D7BC 0029A6FC 48 00 07 D1 */ bl JASDsp_NS_TChannel_NS_flush
/* 8029D7C0 0029A700 48 00 00 C8 */ b lbl_8029D888
lbl_8029D7C4:
/* 8029D7C4 0029A704 80 7F 00 18 */ lwz r3, 0x18(r31)
/* 8029D7C8 0029A708 48 00 05 19 */ bl JASDsp_NS_TChannel_NS_playStart
/* 8029D7CC 0029A70C 80 7F 00 18 */ lwz r3, 0x18(r31)
/* 8029D7D0 0029A710 48 00 07 BD */ bl JASDsp_NS_TChannel_NS_flush
/* 8029D7D4 0029A714 48 00 00 B4 */ b lbl_8029D888
lbl_8029D7D8:
/* 8029D7D8 0029A718 2C 04 00 01 */ cmpwi r4, 1
/* 8029D7DC 0029A71C 41 82 00 AC */ beq lbl_8029D888
/* 8029D7E0 0029A720 38 80 00 00 */ li r4, 0
/* 8029D7E4 0029A724 81 9F 00 10 */ lwz r12, 0x10(r31)
/* 8029D7E8 0029A728 28 0C 00 00 */ cmplwi r12, 0
/* 8029D7EC 0029A72C 41 82 00 20 */ beq lbl_8029D80C
/* 8029D7F0 0029A730 38 60 00 00 */ li r3, 0
/* 8029D7F4 0029A734 80 9F 00 18 */ lwz r4, 0x18(r31)
/* 8029D7F8 0029A738 80 BF 00 14 */ lwz r5, 0x14(r31)
/* 8029D7FC 0029A73C 7D 89 03 A6 */ mtctr r12
/* 8029D800 0029A740 4E 80 04 21 */ bctrl
/* 8029D804 0029A744 38 80 00 01 */ li r4, 1
/* 8029D808 0029A748 48 00 00 08 */ b lbl_8029D810
lbl_8029D80C:
/* 8029D80C 0029A74C 38 60 00 00 */ li r3, 0
lbl_8029D810:
/* 8029D810 0029A750 2C 03 00 00 */ cmpwi r3, 0
/* 8029D814 0029A754 40 80 00 58 */ bge lbl_8029D86C
/* 8029D818 0029A758 38 00 00 01 */ li r0, 1
/* 8029D81C 0029A75C 90 1F 00 00 */ stw r0, 0(r31)
/* 8029D820 0029A760 81 9F 00 10 */ lwz r12, 0x10(r31)
/* 8029D824 0029A764 28 0C 00 00 */ cmplwi r12, 0
/* 8029D828 0029A768 41 82 00 1C */ beq lbl_8029D844
/* 8029D82C 0029A76C 38 60 00 02 */ li r3, 2
/* 8029D830 0029A770 38 80 00 00 */ li r4, 0
/* 8029D834 0029A774 80 BF 00 14 */ lwz r5, 0x14(r31)
/* 8029D838 0029A778 7D 89 03 A6 */ mtctr r12
/* 8029D83C 0029A77C 4E 80 04 21 */ bctrl
/* 8029D840 0029A780 48 00 00 08 */ b lbl_8029D848
lbl_8029D844:
/* 8029D844 0029A784 38 60 FF FF */ li r3, -1
lbl_8029D848:
/* 8029D848 0029A788 2C 03 00 00 */ cmpwi r3, 0
/* 8029D84C 0029A78C 40 80 00 0C */ bge lbl_8029D858
/* 8029D850 0029A790 38 00 FF FF */ li r0, -1
/* 8029D854 0029A794 B0 1F 00 04 */ sth r0, 4(r31)
lbl_8029D858:
/* 8029D858 0029A798 80 7F 00 18 */ lwz r3, 0x18(r31)
/* 8029D85C 0029A79C 48 00 04 E9 */ bl JASDsp_NS_TChannel_NS_playStop
/* 8029D860 0029A7A0 80 7F 00 18 */ lwz r3, 0x18(r31)
/* 8029D864 0029A7A4 48 00 07 29 */ bl JASDsp_NS_TChannel_NS_flush
/* 8029D868 0029A7A8 48 00 00 20 */ b lbl_8029D888
lbl_8029D86C:
/* 8029D86C 0029A7AC 80 7F 00 0C */ lwz r3, 0xc(r31)
/* 8029D870 0029A7B0 38 03 00 01 */ addi r0, r3, 1
/* 8029D874 0029A7B4 90 1F 00 0C */ stw r0, 0xc(r31)
/* 8029D878 0029A7B8 54 80 06 3F */ clrlwi. r0, r4, 0x18
/* 8029D87C 0029A7BC 41 82 00 0C */ beq lbl_8029D888
/* 8029D880 0029A7C0 80 7F 00 18 */ lwz r3, 0x18(r31)
/* 8029D884 0029A7C4 48 00 07 09 */ bl JASDsp_NS_TChannel_NS_flush
lbl_8029D888:
/* 8029D888 0029A7C8 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8029D88C 0029A7CC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8029D890 0029A7D0 7C 08 03 A6 */ mtlr r0
/* 8029D894 0029A7D4 38 21 00 10 */ addi r1, r1, 0x10
/* 8029D898 0029A7D8 4E 80 00 20 */ blr
.global JASDSPChannel_NS_updateAll
JASDSPChannel_NS_updateAll:
/* 8029D89C 0029A7DC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8029D8A0 0029A7E0 7C 08 02 A6 */ mflr r0
/* 8029D8A4 0029A7E4 90 01 00 14 */ stw r0, 0x14(r1)
/* 8029D8A8 0029A7E8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8029D8AC 0029A7EC 93 C1 00 08 */ stw r30, 8(r1)
/* 8029D8B0 0029A7F0 3B C0 00 00 */ li r30, 0
/* 8029D8B4 0029A7F4 3B E0 00 00 */ li r31, 0
lbl_8029D8B8:
/* 8029D8B8 0029A7F8 57 C0 07 3F */ clrlwi. r0, r30, 0x1c
/* 8029D8BC 0029A7FC 40 82 00 18 */ bne lbl_8029D8D4
/* 8029D8C0 0029A800 28 1E 00 00 */ cmplwi r30, 0
/* 8029D8C4 0029A804 41 82 00 10 */ beq lbl_8029D8D4
/* 8029D8C8 0029A808 38 1E FF FF */ addi r0, r30, -1
/* 8029D8CC 0029A80C 54 03 E1 3E */ srwi r3, r0, 4
/* 8029D8D0 0029A810 48 00 00 D5 */ bl JASDsp_NS_releaseHalt
lbl_8029D8D4:
/* 8029D8D4 0029A814 80 0D 8D 60 */ lwz r0, lbl_804512E0-_SDA_BASE_(r13)
/* 8029D8D8 0029A818 7C 60 FA 14 */ add r3, r0, r31
/* 8029D8DC 0029A81C 4B FF FD 81 */ bl JASDSPChannel_NS_updateProc
/* 8029D8E0 0029A820 3B DE 00 01 */ addi r30, r30, 1
/* 8029D8E4 0029A824 28 1E 00 40 */ cmplwi r30, 0x40
/* 8029D8E8 0029A828 3B FF 00 1C */ addi r31, r31, 0x1c
/* 8029D8EC 0029A82C 41 80 FF CC */ blt lbl_8029D8B8
/* 8029D8F0 0029A830 38 60 00 03 */ li r3, 3
/* 8029D8F4 0029A834 48 00 00 B1 */ bl JASDsp_NS_releaseHalt
/* 8029D8F8 0029A838 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8029D8FC 0029A83C 83 C1 00 08 */ lwz r30, 8(r1)
/* 8029D900 0029A840 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8029D904 0029A844 7C 08 03 A6 */ mtlr r0
/* 8029D908 0029A848 38 21 00 10 */ addi r1, r1, 0x10
/* 8029D90C 0029A84C 4E 80 00 20 */ blr
.global JASDSPChannel_NS_killActiveChannel
JASDSPChannel_NS_killActiveChannel:
/* 8029D910 0029A850 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8029D914 0029A854 7C 08 02 A6 */ mflr r0
/* 8029D918 0029A858 90 01 00 14 */ stw r0, 0x14(r1)
/* 8029D91C 0029A85C 4B FF FC B5 */ bl JASDSPChannel_NS_getLowestActiveChannel
/* 8029D920 0029A860 28 03 00 00 */ cmplwi r3, 0
/* 8029D924 0029A864 40 82 00 0C */ bne lbl_8029D930
/* 8029D928 0029A868 38 60 00 00 */ li r3, 0
/* 8029D92C 0029A86C 48 00 00 0C */ b lbl_8029D938
lbl_8029D930:
/* 8029D930 0029A870 4B FF FA 11 */ bl JASDSPChannel_NS_drop
/* 8029D934 0029A874 38 60 00 01 */ li r3, 1
lbl_8029D938:
/* 8029D938 0029A878 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8029D93C 0029A87C 7C 08 03 A6 */ mtlr r0
/* 8029D940 0029A880 38 21 00 10 */ addi r1, r1, 0x10
/* 8029D944 0029A884 4E 80 00 20 */ blr
.global JASDSPChannel_NS_getHandle
JASDSPChannel_NS_getHandle:
/* 8029D948 0029A888 80 8D 8D 60 */ lwz r4, lbl_804512E0-_SDA_BASE_(r13)
/* 8029D94C 0029A88C 1C 03 00 1C */ mulli r0, r3, 0x1c
/* 8029D950 0029A890 7C 64 02 14 */ add r3, r4, r0
/* 8029D954 0029A894 4E 80 00 20 */ blr

View File

@ -0,0 +1,641 @@
.include "macros.inc"
.section .text, "ax" # 8029d958
.global JASDsp_NS_boot
JASDsp_NS_boot:
/* 8029D958 0029A898 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8029D95C 0029A89C 7C 08 02 A6 */ mflr r0
/* 8029D960 0029A8A0 90 01 00 14 */ stw r0, 0x14(r1)
/* 8029D964 0029A8A4 88 0D 8D 75 */ lbz r0, lbl_804512F5-_SDA_BASE_(r13)
/* 8029D968 0029A8A8 7C 00 07 75 */ extsb. r0, r0
/* 8029D96C 0029A8AC 40 82 00 10 */ bne lbl_8029D97C
/* 8029D970 0029A8B0 38 00 00 01 */ li r0, 1
/* 8029D974 0029A8B4 98 0D 8D 74 */ stb r0, lbl_804512F4-_SDA_BASE_(r13)
/* 8029D978 0029A8B8 98 0D 8D 75 */ stb r0, lbl_804512F5-_SDA_BASE_(r13)
lbl_8029D97C:
/* 8029D97C 0029A8BC 88 0D 8D 74 */ lbz r0, lbl_804512F4-_SDA_BASE_(r13)
/* 8029D980 0029A8C0 28 00 00 00 */ cmplwi r0, 0
/* 8029D984 0029A8C4 41 82 00 10 */ beq lbl_8029D994
/* 8029D988 0029A8C8 48 00 0D 99 */ bl DspBoot
/* 8029D98C 0029A8CC 38 00 00 00 */ li r0, 0
/* 8029D990 0029A8D0 98 0D 8D 74 */ stb r0, lbl_804512F4-_SDA_BASE_(r13)
lbl_8029D994:
/* 8029D994 0029A8D4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8029D998 0029A8D8 7C 08 03 A6 */ mtlr r0
/* 8029D99C 0029A8DC 38 21 00 10 */ addi r1, r1, 0x10
/* 8029D9A0 0029A8E0 4E 80 00 20 */ blr
.global JASDsp_NS_releaseHalt
JASDsp_NS_releaseHalt:
/* 8029D9A4 0029A8E4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8029D9A8 0029A8E8 7C 08 02 A6 */ mflr r0
/* 8029D9AC 0029A8EC 90 01 00 14 */ stw r0, 0x14(r1)
/* 8029D9B0 0029A8F0 48 00 0B 31 */ bl DSPReleaseHalt2
/* 8029D9B4 0029A8F4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8029D9B8 0029A8F8 7C 08 03 A6 */ mtlr r0
/* 8029D9BC 0029A8FC 38 21 00 10 */ addi r1, r1, 0x10
/* 8029D9C0 0029A900 4E 80 00 20 */ blr
.global JASDsp_NS_finishWork
JASDsp_NS_finishWork:
/* 8029D9C4 0029A904 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8029D9C8 0029A908 7C 08 02 A6 */ mflr r0
/* 8029D9CC 0029A90C 90 01 00 14 */ stw r0, 0x14(r1)
/* 8029D9D0 0029A910 48 00 0F B1 */ bl DspFinishWork
/* 8029D9D4 0029A914 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8029D9D8 0029A918 7C 08 03 A6 */ mtlr r0
/* 8029D9DC 0029A91C 38 21 00 10 */ addi r1, r1, 0x10
/* 8029D9E0 0029A920 4E 80 00 20 */ blr
.global JASDsp_NS_syncFrame
JASDsp_NS_syncFrame:
/* 8029D9E4 0029A924 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8029D9E8 0029A928 7C 08 02 A6 */ mflr r0
/* 8029D9EC 0029A92C 90 01 00 14 */ stw r0, 0x14(r1)
/* 8029D9F0 0029A930 48 00 14 51 */ bl DsyncFrame2
/* 8029D9F4 0029A934 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8029D9F8 0029A938 7C 08 03 A6 */ mtlr r0
/* 8029D9FC 0029A93C 38 21 00 10 */ addi r1, r1, 0x10
/* 8029DA00 0029A940 4E 80 00 20 */ blr
.global JASDsp_NS_setDSPMixerLevel
JASDsp_NS_setDSPMixerLevel:
/* 8029DA04 0029A944 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8029DA08 0029A948 7C 08 02 A6 */ mflr r0
/* 8029DA0C 0029A94C 90 01 00 14 */ stw r0, 0x14(r1)
/* 8029DA10 0029A950 D0 2D 8D 70 */ stfs f1, lbl_804512F0-_SDA_BASE_(r13)
/* 8029DA14 0029A954 C0 02 BD 48 */ lfs f0, lbl_80455748-_SDA2_BASE_(r2)
/* 8029DA18 0029A958 EC 21 00 32 */ fmuls f1, f1, f0
/* 8029DA1C 0029A95C 48 00 0B C5 */ bl DsetMixerLevel
/* 8029DA20 0029A960 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8029DA24 0029A964 7C 08 03 A6 */ mtlr r0
/* 8029DA28 0029A968 38 21 00 10 */ addi r1, r1, 0x10
/* 8029DA2C 0029A96C 4E 80 00 20 */ blr
.global JASDsp_NS_getDSPMixerLevel
JASDsp_NS_getDSPMixerLevel:
/* 8029DA30 0029A970 C0 2D 8D 70 */ lfs f1, lbl_804512F0-_SDA_BASE_(r13)
/* 8029DA34 0029A974 4E 80 00 20 */ blr
.global JASDsp_NS_getDSPHandle
JASDsp_NS_getDSPHandle:
/* 8029DA38 0029A978 80 8D 8D 68 */ lwz r4, lbl_804512E8-_SDA_BASE_(r13)
/* 8029DA3C 0029A97C 1C 03 01 80 */ mulli r0, r3, 0x180
/* 8029DA40 0029A980 7C 64 02 14 */ add r3, r4, r0
/* 8029DA44 0029A984 4E 80 00 20 */ blr
.global JASDsp_NS_setFilterTable
JASDsp_NS_setFilterTable:
/* 8029DA48 0029A988 7C A9 03 A6 */ mtctr r5
/* 8029DA4C 0029A98C 28 05 00 00 */ cmplwi r5, 0
/* 8029DA50 0029A990 4C 81 00 20 */ blelr
lbl_8029DA54:
/* 8029DA54 0029A994 A8 04 00 00 */ lha r0, 0(r4)
/* 8029DA58 0029A998 B0 03 00 00 */ sth r0, 0(r3)
/* 8029DA5C 0029A99C 38 63 00 02 */ addi r3, r3, 2
/* 8029DA60 0029A9A0 38 84 00 02 */ addi r4, r4, 2
/* 8029DA64 0029A9A4 42 00 FF F0 */ bdnz lbl_8029DA54
/* 8029DA68 0029A9A8 4E 80 00 20 */ blr
.global JASDsp_NS_flushBuffer
JASDsp_NS_flushBuffer:
/* 8029DA6C 0029A9AC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8029DA70 0029A9B0 7C 08 02 A6 */ mflr r0
/* 8029DA74 0029A9B4 90 01 00 14 */ stw r0, 0x14(r1)
/* 8029DA78 0029A9B8 80 6D 8D 68 */ lwz r3, lbl_804512E8-_SDA_BASE_(r13)
/* 8029DA7C 0029A9BC 38 80 60 00 */ li r4, 0x6000
/* 8029DA80 0029A9C0 48 09 DB 2D */ bl DCFlushRange
/* 8029DA84 0029A9C4 80 6D 8D 6C */ lwz r3, lbl_804512EC-_SDA_BASE_(r13)
/* 8029DA88 0029A9C8 38 80 00 80 */ li r4, 0x80
/* 8029DA8C 0029A9CC 48 09 DB 21 */ bl DCFlushRange
/* 8029DA90 0029A9D0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8029DA94 0029A9D4 7C 08 03 A6 */ mtlr r0
/* 8029DA98 0029A9D8 38 21 00 10 */ addi r1, r1, 0x10
/* 8029DA9C 0029A9DC 4E 80 00 20 */ blr
.global JASDsp_NS_invalChannelAll
JASDsp_NS_invalChannelAll:
/* 8029DAA0 0029A9E0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8029DAA4 0029A9E4 7C 08 02 A6 */ mflr r0
/* 8029DAA8 0029A9E8 90 01 00 14 */ stw r0, 0x14(r1)
/* 8029DAAC 0029A9EC 80 6D 8D 68 */ lwz r3, lbl_804512E8-_SDA_BASE_(r13)
/* 8029DAB0 0029A9F0 38 80 60 00 */ li r4, 0x6000
/* 8029DAB4 0029A9F4 48 09 DA CD */ bl DCInvalidateRange
/* 8029DAB8 0029A9F8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8029DABC 0029A9FC 7C 08 03 A6 */ mtlr r0
/* 8029DAC0 0029AA00 38 21 00 10 */ addi r1, r1, 0x10
/* 8029DAC4 0029AA04 4E 80 00 20 */ blr
.global JASDsp_NS_initBuffer
JASDsp_NS_initBuffer:
/* 8029DAC8 0029AA08 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8029DACC 0029AA0C 7C 08 02 A6 */ mflr r0
/* 8029DAD0 0029AA10 90 01 00 14 */ stw r0, 0x14(r1)
/* 8029DAD4 0029AA14 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8029DAD8 0029AA18 38 60 60 00 */ li r3, 0x6000
/* 8029DADC 0029AA1C 80 8D 8C 90 */ lwz r4, lbl_80451210-_SDA_BASE_(r13)
/* 8029DAE0 0029AA20 38 A0 00 20 */ li r5, 0x20
/* 8029DAE4 0029AA24 48 03 12 2D */ bl __nwa_X2_
/* 8029DAE8 0029AA28 90 6D 8D 68 */ stw r3, lbl_804512E8-_SDA_BASE_(r13)
/* 8029DAEC 0029AA2C 38 60 00 80 */ li r3, 0x80
/* 8029DAF0 0029AA30 80 8D 8C 90 */ lwz r4, lbl_80451210-_SDA_BASE_(r13)
/* 8029DAF4 0029AA34 38 A0 00 20 */ li r5, 0x20
/* 8029DAF8 0029AA38 48 03 12 19 */ bl __nwa_X2_
/* 8029DAFC 0029AA3C 90 6D 8D 6C */ stw r3, lbl_804512EC-_SDA_BASE_(r13)
/* 8029DB00 0029AA40 80 6D 8D 68 */ lwz r3, lbl_804512E8-_SDA_BASE_(r13)
/* 8029DB04 0029AA44 38 80 60 00 */ li r4, 0x6000
/* 8029DB08 0029AA48 4B FF 19 79 */ bl JASCalc_NS_bzero
/* 8029DB0C 0029AA4C 80 6D 8D 6C */ lwz r3, lbl_804512EC-_SDA_BASE_(r13)
/* 8029DB10 0029AA50 38 80 00 80 */ li r4, 0x80
/* 8029DB14 0029AA54 4B FF 19 6D */ bl JASCalc_NS_bzero
/* 8029DB18 0029AA58 3B E0 00 00 */ li r31, 0
/* 8029DB1C 0029AA5C 48 00 00 18 */ b lbl_8029DB34
lbl_8029DB20:
/* 8029DB20 0029AA60 7F E3 FB 78 */ mr r3, r31
/* 8029DB24 0029AA64 38 80 00 00 */ li r4, 0
/* 8029DB28 0029AA68 38 A0 00 00 */ li r5, 0
/* 8029DB2C 0029AA6C 48 00 00 4D */ bl JASDsp_NS_setFXLine
/* 8029DB30 0029AA70 3B FF 00 01 */ addi r31, r31, 1
lbl_8029DB34:
/* 8029DB34 0029AA74 57 E0 06 3E */ clrlwi r0, r31, 0x18
/* 8029DB38 0029AA78 28 00 00 04 */ cmplwi r0, 4
/* 8029DB3C 0029AA7C 41 80 FF E4 */ blt lbl_8029DB20
/* 8029DB40 0029AA80 38 60 00 40 */ li r3, 0x40
/* 8029DB44 0029AA84 80 8D 8D 68 */ lwz r4, lbl_804512E8-_SDA_BASE_(r13)
/* 8029DB48 0029AA88 3C A0 80 3A */ lis r5, lbl_8039B3A0@ha
/* 8029DB4C 0029AA8C 38 A5 B3 A0 */ addi r5, r5, lbl_8039B3A0@l
/* 8029DB50 0029AA90 3C C0 80 3A */ lis r6, lbl_8039B360@ha
/* 8029DB54 0029AA94 38 C6 B3 60 */ addi r6, r6, lbl_8039B360@l
/* 8029DB58 0029AA98 80 ED 8D 6C */ lwz r7, lbl_804512EC-_SDA_BASE_(r13)
/* 8029DB5C 0029AA9C 48 00 0A 05 */ bl DsetupTable
/* 8029DB60 0029AAA0 4B FF FF 0D */ bl JASDsp_NS_flushBuffer
/* 8029DB64 0029AAA4 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8029DB68 0029AAA8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8029DB6C 0029AAAC 7C 08 03 A6 */ mtlr r0
/* 8029DB70 0029AAB0 38 21 00 10 */ addi r1, r1, 0x10
/* 8029DB74 0029AAB4 4E 80 00 20 */ blr
.global JASDsp_NS_setFXLine
JASDsp_NS_setFXLine:
/* 8029DB78 0029AAB8 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8029DB7C 0029AABC 7C 08 02 A6 */ mflr r0
/* 8029DB80 0029AAC0 90 01 00 24 */ stw r0, 0x24(r1)
/* 8029DB84 0029AAC4 39 61 00 20 */ addi r11, r1, 0x20
/* 8029DB88 0029AAC8 48 0C 46 51 */ bl func_803621D8
/* 8029DB8C 0029AACC 7C 9D 23 78 */ mr r29, r4
/* 8029DB90 0029AAD0 7C BE 2B 78 */ mr r30, r5
/* 8029DB94 0029AAD4 80 8D 8D 6C */ lwz r4, lbl_804512EC-_SDA_BASE_(r13)
/* 8029DB98 0029AAD8 54 60 2C F4 */ rlwinm r0, r3, 5, 0x13, 0x1a
/* 8029DB9C 0029AADC 7F E4 02 14 */ add r31, r4, r0
/* 8029DBA0 0029AAE0 48 09 FB 55 */ bl __RAS_OSDisableInterrupts_begin
/* 8029DBA4 0029AAE4 90 61 00 08 */ stw r3, 8(r1)
/* 8029DBA8 0029AAE8 38 00 00 00 */ li r0, 0
/* 8029DBAC 0029AAEC B0 1F 00 00 */ sth r0, 0(r31)
/* 8029DBB0 0029AAF0 28 1E 00 00 */ cmplwi r30, 0
/* 8029DBB4 0029AAF4 41 82 00 54 */ beq lbl_8029DC08
/* 8029DBB8 0029AAF8 A8 1E 00 04 */ lha r0, 4(r30)
/* 8029DBBC 0029AAFC B0 1F 00 0A */ sth r0, 0xa(r31)
/* 8029DBC0 0029AB00 A0 1E 00 02 */ lhz r0, 2(r30)
/* 8029DBC4 0029AB04 54 00 08 3C */ slwi r0, r0, 1
/* 8029DBC8 0029AB08 3C 60 80 3C */ lis r3, lbl_803C78F0@ha
/* 8029DBCC 0029AB0C 38 63 78 F0 */ addi r3, r3, lbl_803C78F0@l
/* 8029DBD0 0029AB10 7C 03 02 2E */ lhzx r0, r3, r0
/* 8029DBD4 0029AB14 B0 1F 00 08 */ sth r0, 8(r31)
/* 8029DBD8 0029AB18 A8 1E 00 08 */ lha r0, 8(r30)
/* 8029DBDC 0029AB1C B0 1F 00 0E */ sth r0, 0xe(r31)
/* 8029DBE0 0029AB20 A0 1E 00 06 */ lhz r0, 6(r30)
/* 8029DBE4 0029AB24 54 00 08 3C */ slwi r0, r0, 1
/* 8029DBE8 0029AB28 7C 03 02 2E */ lhzx r0, r3, r0
/* 8029DBEC 0029AB2C B0 1F 00 0C */ sth r0, 0xc(r31)
/* 8029DBF0 0029AB30 80 1E 00 0C */ lwz r0, 0xc(r30)
/* 8029DBF4 0029AB34 B0 1F 00 02 */ sth r0, 2(r31)
/* 8029DBF8 0029AB38 38 7F 00 10 */ addi r3, r31, 0x10
/* 8029DBFC 0029AB3C 38 9E 00 10 */ addi r4, r30, 0x10
/* 8029DC00 0029AB40 38 A0 00 08 */ li r5, 8
/* 8029DC04 0029AB44 4B FF FE 45 */ bl JASDsp_NS_setFilterTable
lbl_8029DC08:
/* 8029DC08 0029AB48 28 1D 00 00 */ cmplwi r29, 0
/* 8029DC0C 0029AB4C 41 82 00 34 */ beq lbl_8029DC40
/* 8029DC10 0029AB50 28 1E 00 00 */ cmplwi r30, 0
/* 8029DC14 0029AB54 41 82 00 2C */ beq lbl_8029DC40
/* 8029DC18 0029AB58 80 1E 00 0C */ lwz r0, 0xc(r30)
/* 8029DC1C 0029AB5C 1F 80 00 A0 */ mulli r28, r0, 0xa0
/* 8029DC20 0029AB60 93 BF 00 04 */ stw r29, 4(r31)
/* 8029DC24 0029AB64 7F A3 EB 78 */ mr r3, r29
/* 8029DC28 0029AB68 7F 84 E3 78 */ mr r4, r28
/* 8029DC2C 0029AB6C 4B FF 18 55 */ bl JASCalc_NS_bzero
/* 8029DC30 0029AB70 7F A3 EB 78 */ mr r3, r29
/* 8029DC34 0029AB74 7F 84 E3 78 */ mr r4, r28
/* 8029DC38 0029AB78 48 09 D9 75 */ bl DCFlushRange
/* 8029DC3C 0029AB7C 48 00 00 18 */ b lbl_8029DC54
lbl_8029DC40:
/* 8029DC40 0029AB80 28 1E 00 00 */ cmplwi r30, 0
/* 8029DC44 0029AB84 41 82 00 0C */ beq lbl_8029DC50
/* 8029DC48 0029AB88 28 1D 00 00 */ cmplwi r29, 0
/* 8029DC4C 0029AB8C 41 82 00 08 */ beq lbl_8029DC54
lbl_8029DC50:
/* 8029DC50 0029AB90 93 BF 00 04 */ stw r29, 4(r31)
lbl_8029DC54:
/* 8029DC54 0029AB94 80 1F 00 04 */ lwz r0, 4(r31)
/* 8029DC58 0029AB98 28 00 00 00 */ cmplwi r0, 0
/* 8029DC5C 0029AB9C 41 82 00 10 */ beq lbl_8029DC6C
/* 8029DC60 0029ABA0 88 1E 00 00 */ lbz r0, 0(r30)
/* 8029DC64 0029ABA4 B0 1F 00 00 */ sth r0, 0(r31)
/* 8029DC68 0029ABA8 48 00 00 0C */ b lbl_8029DC74
lbl_8029DC6C:
/* 8029DC6C 0029ABAC 38 00 00 00 */ li r0, 0
/* 8029DC70 0029ABB0 B0 1F 00 00 */ sth r0, 0(r31)
lbl_8029DC74:
/* 8029DC74 0029ABB4 7F E3 FB 78 */ mr r3, r31
/* 8029DC78 0029ABB8 38 80 00 20 */ li r4, 0x20
/* 8029DC7C 0029ABBC 48 09 D9 31 */ bl DCFlushRange
/* 8029DC80 0029ABC0 80 61 00 08 */ lwz r3, 8(r1)
/* 8029DC84 0029ABC4 48 09 FA 99 */ bl OSRestoreInterrupts
/* 8029DC88 0029ABC8 38 60 00 01 */ li r3, 1
/* 8029DC8C 0029ABCC 39 61 00 20 */ addi r11, r1, 0x20
/* 8029DC90 0029ABD0 48 0C 45 95 */ bl func_80362224
/* 8029DC94 0029ABD4 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8029DC98 0029ABD8 7C 08 03 A6 */ mtlr r0
/* 8029DC9C 0029ABDC 38 21 00 20 */ addi r1, r1, 0x20
/* 8029DCA0 0029ABE0 4E 80 00 20 */ blr
.global JASDsp_NS_TChannel_NS_init
JASDsp_NS_TChannel_NS_init:
/* 8029DCA4 0029ABE4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8029DCA8 0029ABE8 7C 08 02 A6 */ mflr r0
/* 8029DCAC 0029ABEC 90 01 00 14 */ stw r0, 0x14(r1)
/* 8029DCB0 0029ABF0 38 00 00 00 */ li r0, 0
/* 8029DCB4 0029ABF4 B0 03 00 0C */ sth r0, 0xc(r3)
/* 8029DCB8 0029ABF8 B0 03 00 02 */ sth r0, 2(r3)
/* 8029DCBC 0029ABFC B0 03 01 0A */ sth r0, 0x10a(r3)
/* 8029DCC0 0029AC00 B0 03 00 00 */ sth r0, 0(r3)
/* 8029DCC4 0029AC04 B0 03 00 58 */ sth r0, 0x58(r3)
/* 8029DCC8 0029AC08 90 03 00 68 */ stw r0, 0x68(r3)
/* 8029DCCC 0029AC0C 48 00 02 E5 */ bl JASDsp_NS_TChannel_NS_initFilter
/* 8029DCD0 0029AC10 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8029DCD4 0029AC14 7C 08 03 A6 */ mtlr r0
/* 8029DCD8 0029AC18 38 21 00 10 */ addi r1, r1, 0x10
/* 8029DCDC 0029AC1C 4E 80 00 20 */ blr
.global JASDsp_NS_TChannel_NS_playStart
JASDsp_NS_TChannel_NS_playStart:
/* 8029DCE0 0029AC20 38 A0 00 00 */ li r5, 0
/* 8029DCE4 0029AC24 90 A3 01 0C */ stw r5, 0x10c(r3)
/* 8029DCE8 0029AC28 B0 A3 00 60 */ sth r5, 0x60(r3)
/* 8029DCEC 0029AC2C 38 00 00 01 */ li r0, 1
/* 8029DCF0 0029AC30 B0 03 00 08 */ sth r0, 8(r3)
/* 8029DCF4 0029AC34 B0 A3 00 66 */ sth r5, 0x66(r3)
/* 8029DCF8 0029AC38 7C A4 2B 78 */ mr r4, r5
/* 8029DCFC 0029AC3C 38 00 00 04 */ li r0, 4
/* 8029DD00 0029AC40 7C 09 03 A6 */ mtctr r0
lbl_8029DD04:
/* 8029DD04 0029AC44 7C C3 22 14 */ add r6, r3, r4
/* 8029DD08 0029AC48 B0 A6 00 78 */ sth r5, 0x78(r6)
/* 8029DD0C 0029AC4C B0 A6 00 A8 */ sth r5, 0xa8(r6)
/* 8029DD10 0029AC50 38 84 00 02 */ addi r4, r4, 2
/* 8029DD14 0029AC54 42 00 FF F0 */ bdnz lbl_8029DD04
/* 8029DD18 0029AC58 38 A0 00 00 */ li r5, 0
/* 8029DD1C 0029AC5C 38 80 00 00 */ li r4, 0
/* 8029DD20 0029AC60 38 00 00 14 */ li r0, 0x14
/* 8029DD24 0029AC64 7C 09 03 A6 */ mtctr r0
lbl_8029DD28:
/* 8029DD28 0029AC68 38 04 00 80 */ addi r0, r4, 0x80
/* 8029DD2C 0029AC6C 7C A3 03 2E */ sthx r5, r3, r0
/* 8029DD30 0029AC70 38 84 00 02 */ addi r4, r4, 2
/* 8029DD34 0029AC74 42 00 FF F4 */ bdnz lbl_8029DD28
/* 8029DD38 0029AC78 38 00 00 01 */ li r0, 1
/* 8029DD3C 0029AC7C B0 03 00 00 */ sth r0, 0(r3)
/* 8029DD40 0029AC80 4E 80 00 20 */ blr
.global JASDsp_NS_TChannel_NS_playStop
JASDsp_NS_TChannel_NS_playStop:
/* 8029DD44 0029AC84 38 00 00 00 */ li r0, 0
/* 8029DD48 0029AC88 B0 03 00 00 */ sth r0, 0(r3)
/* 8029DD4C 0029AC8C 4E 80 00 20 */ blr
.global JASDsp_NS_TChannel_NS_replyFinishRequest
JASDsp_NS_TChannel_NS_replyFinishRequest:
/* 8029DD50 0029AC90 38 00 00 00 */ li r0, 0
/* 8029DD54 0029AC94 B0 03 00 02 */ sth r0, 2(r3)
/* 8029DD58 0029AC98 B0 03 00 00 */ sth r0, 0(r3)
/* 8029DD5C 0029AC9C 4E 80 00 20 */ blr
.global JASDsp_NS_TChannel_NS_forceStop
JASDsp_NS_TChannel_NS_forceStop:
/* 8029DD60 0029ACA0 38 00 00 01 */ li r0, 1
/* 8029DD64 0029ACA4 B0 03 01 0A */ sth r0, 0x10a(r3)
/* 8029DD68 0029ACA8 4E 80 00 20 */ blr
.global JASDsp_NS_TChannel_NS_isActive
JASDsp_NS_TChannel_NS_isActive:
/* 8029DD6C 0029ACAC A0 63 00 00 */ lhz r3, 0(r3)
/* 8029DD70 0029ACB0 30 03 FF FF */ addic r0, r3, -1
/* 8029DD74 0029ACB4 7C 60 19 10 */ subfe r3, r0, r3
/* 8029DD78 0029ACB8 4E 80 00 20 */ blr
.global JASDsp_NS_TChannel_NS_isFinish
JASDsp_NS_TChannel_NS_isFinish:
/* 8029DD7C 0029ACBC A0 63 00 02 */ lhz r3, 2(r3)
/* 8029DD80 0029ACC0 30 03 FF FF */ addic r0, r3, -1
/* 8029DD84 0029ACC4 7C 60 19 10 */ subfe r3, r0, r3
/* 8029DD88 0029ACC8 4E 80 00 20 */ blr
.global JASDsp_NS_TChannel_NS_setWaveInfo
JASDsp_NS_TChannel_NS_setWaveInfo:
/* 8029DD8C 0029ACCC 90 A3 01 18 */ stw r5, 0x118(r3)
/* 8029DD90 0029ACD0 88 E4 00 00 */ lbz r7, 0(r4)
/* 8029DD94 0029ACD4 38 A2 BD 4C */ addi r5, r2, lbl_8045574C-_SDA2_BASE_
/* 8029DD98 0029ACD8 7C 05 38 AE */ lbzx r0, r5, r7
/* 8029DD9C 0029ACDC B0 03 00 64 */ sth r0, 0x64(r3)
/* 8029DDA0 0029ACE0 38 A2 BD 54 */ addi r5, r2, lbl_80455754-_SDA2_BASE_
/* 8029DDA4 0029ACE4 7C 05 38 AE */ lbzx r0, r5, r7
/* 8029DDA8 0029ACE8 B0 03 01 00 */ sth r0, 0x100(r3)
/* 8029DDAC 0029ACEC 38 00 00 00 */ li r0, 0
/* 8029DDB0 0029ACF0 90 03 00 68 */ stw r0, 0x68(r3)
/* 8029DDB4 0029ACF4 A0 03 01 00 */ lhz r0, 0x100(r3)
/* 8029DDB8 0029ACF8 28 00 00 04 */ cmplwi r0, 4
/* 8029DDBC 0029ACFC 4D 80 00 20 */ bltlr
/* 8029DDC0 0029AD00 80 04 00 18 */ lwz r0, 0x18(r4)
/* 8029DDC4 0029AD04 90 03 01 1C */ stw r0, 0x11c(r3)
/* 8029DDC8 0029AD08 88 04 00 02 */ lbz r0, 2(r4)
/* 8029DDCC 0029AD0C B0 03 01 02 */ sth r0, 0x102(r3)
/* 8029DDD0 0029AD10 A0 03 01 02 */ lhz r0, 0x102(r3)
/* 8029DDD4 0029AD14 28 00 00 00 */ cmplwi r0, 0
/* 8029DDD8 0029AD18 41 82 00 34 */ beq lbl_8029DE0C
/* 8029DDDC 0029AD1C 28 06 00 01 */ cmplwi r6, 1
/* 8029DDE0 0029AD20 40 82 00 08 */ bne lbl_8029DDE8
/* 8029DDE4 0029AD24 80 C4 00 10 */ lwz r6, 0x10(r4)
lbl_8029DDE8:
/* 8029DDE8 0029AD28 80 04 00 10 */ lwz r0, 0x10(r4)
/* 8029DDEC 0029AD2C 90 03 01 10 */ stw r0, 0x110(r3)
/* 8029DDF0 0029AD30 80 04 00 14 */ lwz r0, 0x14(r4)
/* 8029DDF4 0029AD34 90 03 01 14 */ stw r0, 0x114(r3)
/* 8029DDF8 0029AD38 A8 04 00 1C */ lha r0, 0x1c(r4)
/* 8029DDFC 0029AD3C B0 03 01 04 */ sth r0, 0x104(r3)
/* 8029DE00 0029AD40 A8 04 00 1E */ lha r0, 0x1e(r4)
/* 8029DE04 0029AD44 B0 03 01 06 */ sth r0, 0x106(r3)
/* 8029DE08 0029AD48 48 00 00 0C */ b lbl_8029DE14
lbl_8029DE0C:
/* 8029DE0C 0029AD4C 80 03 01 1C */ lwz r0, 0x11c(r3)
/* 8029DE10 0029AD50 90 03 01 14 */ stw r0, 0x114(r3)
lbl_8029DE14:
/* 8029DE14 0029AD54 28 06 00 00 */ cmplwi r6, 0
/* 8029DE18 0029AD58 41 82 00 70 */ beq lbl_8029DE88
/* 8029DE1C 0029AD5C 80 03 01 14 */ lwz r0, 0x114(r3)
/* 8029DE20 0029AD60 7C 00 30 40 */ cmplw r0, r6
/* 8029DE24 0029AD64 40 81 00 64 */ ble lbl_8029DE88
/* 8029DE28 0029AD68 88 04 00 00 */ lbz r0, 0(r4)
/* 8029DE2C 0029AD6C 2C 00 00 02 */ cmpwi r0, 2
/* 8029DE30 0029AD70 40 80 00 10 */ bge lbl_8029DE40
/* 8029DE34 0029AD74 2C 00 00 00 */ cmpwi r0, 0
/* 8029DE38 0029AD78 40 80 00 14 */ bge lbl_8029DE4C
/* 8029DE3C 0029AD7C 48 00 00 4C */ b lbl_8029DE88
lbl_8029DE40:
/* 8029DE40 0029AD80 2C 00 00 04 */ cmpwi r0, 4
/* 8029DE44 0029AD84 40 80 00 44 */ bge lbl_8029DE88
/* 8029DE48 0029AD88 48 00 00 3C */ b lbl_8029DE84
lbl_8029DE4C:
/* 8029DE4C 0029AD8C 90 C3 00 68 */ stw r6, 0x68(r3)
/* 8029DE50 0029AD90 80 83 01 18 */ lwz r4, 0x118(r3)
/* 8029DE54 0029AD94 A0 03 01 00 */ lhz r0, 0x100(r3)
/* 8029DE58 0029AD98 7C 06 01 D6 */ mullw r0, r6, r0
/* 8029DE5C 0029AD9C 54 00 E1 3E */ srwi r0, r0, 4
/* 8029DE60 0029ADA0 7C 04 02 14 */ add r0, r4, r0
/* 8029DE64 0029ADA4 90 03 01 18 */ stw r0, 0x118(r3)
/* 8029DE68 0029ADA8 80 03 01 10 */ lwz r0, 0x110(r3)
/* 8029DE6C 0029ADAC 7C 06 00 50 */ subf r0, r6, r0
/* 8029DE70 0029ADB0 90 03 01 10 */ stw r0, 0x110(r3)
/* 8029DE74 0029ADB4 80 03 01 14 */ lwz r0, 0x114(r3)
/* 8029DE78 0029ADB8 7C 06 00 50 */ subf r0, r6, r0
/* 8029DE7C 0029ADBC 90 03 01 14 */ stw r0, 0x114(r3)
/* 8029DE80 0029ADC0 48 00 00 08 */ b lbl_8029DE88
lbl_8029DE84:
/* 8029DE84 0029ADC4 90 C3 00 68 */ stw r6, 0x68(r3)
lbl_8029DE88:
/* 8029DE88 0029ADC8 38 80 00 00 */ li r4, 0
/* 8029DE8C 0029ADCC 7C 85 23 78 */ mr r5, r4
/* 8029DE90 0029ADD0 38 00 00 10 */ li r0, 0x10
/* 8029DE94 0029ADD4 7C 09 03 A6 */ mtctr r0
lbl_8029DE98:
/* 8029DE98 0029ADD8 38 04 00 B0 */ addi r0, r4, 0xb0
/* 8029DE9C 0029ADDC 7C A3 03 2E */ sthx r5, r3, r0
/* 8029DEA0 0029ADE0 38 84 00 02 */ addi r4, r4, 2
/* 8029DEA4 0029ADE4 42 00 FF F4 */ bdnz lbl_8029DE98
/* 8029DEA8 0029ADE8 4E 80 00 20 */ blr
.global JASDsp_NS_TChannel_NS_setOscInfo
JASDsp_NS_TChannel_NS_setOscInfo:
/* 8029DEAC 0029ADEC 38 00 00 00 */ li r0, 0
/* 8029DEB0 0029ADF0 90 03 01 18 */ stw r0, 0x118(r3)
/* 8029DEB4 0029ADF4 38 00 00 10 */ li r0, 0x10
/* 8029DEB8 0029ADF8 B0 03 00 64 */ sth r0, 0x64(r3)
/* 8029DEBC 0029ADFC B0 83 01 00 */ sth r4, 0x100(r3)
/* 8029DEC0 0029AE00 4E 80 00 20 */ blr
.global JASDsp_NS_TChannel_NS_initAutoMixer
JASDsp_NS_TChannel_NS_initAutoMixer:
/* 8029DEC4 0029AE04 A0 03 00 58 */ lhz r0, 0x58(r3)
/* 8029DEC8 0029AE08 28 00 00 00 */ cmplwi r0, 0
/* 8029DECC 0029AE0C 41 82 00 10 */ beq lbl_8029DEDC
/* 8029DED0 0029AE10 A0 03 00 56 */ lhz r0, 0x56(r3)
/* 8029DED4 0029AE14 B0 03 00 54 */ sth r0, 0x54(r3)
/* 8029DED8 0029AE18 4E 80 00 20 */ blr
lbl_8029DEDC:
/* 8029DEDC 0029AE1C 38 00 00 00 */ li r0, 0
/* 8029DEE0 0029AE20 B0 03 00 54 */ sth r0, 0x54(r3)
/* 8029DEE4 0029AE24 38 00 00 01 */ li r0, 1
/* 8029DEE8 0029AE28 B0 03 00 58 */ sth r0, 0x58(r3)
/* 8029DEEC 0029AE2C 4E 80 00 20 */ blr
.global JASDsp_NS_TChannel_NS_setAutoMixer
JASDsp_NS_TChannel_NS_setAutoMixer:
/* 8029DEF0 0029AE30 54 C0 06 3E */ clrlwi r0, r6, 0x18
/* 8029DEF4 0029AE34 50 A0 44 2E */ rlwimi r0, r5, 8, 0x10, 0x17
/* 8029DEF8 0029AE38 B0 03 00 50 */ sth r0, 0x50(r3)
/* 8029DEFC 0029AE3C 54 E5 44 2E */ rlwinm r5, r7, 8, 0x10, 0x17
/* 8029DF00 0029AE40 54 E0 0D FC */ rlwinm r0, r7, 1, 0x17, 0x1e
/* 8029DF04 0029AE44 7C A0 03 78 */ or r0, r5, r0
/* 8029DF08 0029AE48 B0 03 00 52 */ sth r0, 0x52(r3)
/* 8029DF0C 0029AE4C B0 83 00 56 */ sth r4, 0x56(r3)
/* 8029DF10 0029AE50 38 00 00 01 */ li r0, 1
/* 8029DF14 0029AE54 B0 03 00 58 */ sth r0, 0x58(r3)
/* 8029DF18 0029AE58 4E 80 00 20 */ blr
.global JASDsp_NS_TChannel_NS_setPitch
JASDsp_NS_TChannel_NS_setPitch:
/* 8029DF1C 0029AE5C 54 80 04 3E */ clrlwi r0, r4, 0x10
/* 8029DF20 0029AE60 28 00 7F FF */ cmplwi r0, 0x7fff
/* 8029DF24 0029AE64 41 80 00 08 */ blt lbl_8029DF2C
/* 8029DF28 0029AE68 38 80 7F FF */ li r4, 0x7fff
lbl_8029DF2C:
/* 8029DF2C 0029AE6C B0 83 00 04 */ sth r4, 4(r3)
/* 8029DF30 0029AE70 4E 80 00 20 */ blr
.global JASDsp_NS_TChannel_NS_setMixerInitVolume
JASDsp_NS_TChannel_NS_setMixerInitVolume:
/* 8029DF34 0029AE74 54 84 1D 78 */ rlwinm r4, r4, 3, 0x15, 0x1c
/* 8029DF38 0029AE78 38 84 00 10 */ addi r4, r4, 0x10
/* 8029DF3C 0029AE7C 7C 83 22 14 */ add r4, r3, r4
/* 8029DF40 0029AE80 B0 A4 00 04 */ sth r5, 4(r4)
/* 8029DF44 0029AE84 B0 A4 00 02 */ sth r5, 2(r4)
/* 8029DF48 0029AE88 38 00 00 00 */ li r0, 0
/* 8029DF4C 0029AE8C B0 04 00 06 */ sth r0, 6(r4)
/* 8029DF50 0029AE90 4E 80 00 20 */ blr
.global JASDsp_NS_TChannel_NS_setMixerVolume
JASDsp_NS_TChannel_NS_setMixerVolume:
/* 8029DF54 0029AE94 A0 03 01 0A */ lhz r0, 0x10a(r3)
/* 8029DF58 0029AE98 28 00 00 00 */ cmplwi r0, 0
/* 8029DF5C 0029AE9C 4C 82 00 20 */ bnelr
/* 8029DF60 0029AEA0 54 84 1D 78 */ rlwinm r4, r4, 3, 0x15, 0x1c
/* 8029DF64 0029AEA4 38 84 00 10 */ addi r4, r4, 0x10
/* 8029DF68 0029AEA8 7C 83 22 14 */ add r4, r3, r4
/* 8029DF6C 0029AEAC B0 A4 00 02 */ sth r5, 2(r4)
/* 8029DF70 0029AEB0 A0 04 00 06 */ lhz r0, 6(r4)
/* 8029DF74 0029AEB4 54 00 06 3E */ clrlwi r0, r0, 0x18
/* 8029DF78 0029AEB8 B0 04 00 06 */ sth r0, 6(r4)
/* 8029DF7C 0029AEBC 4E 80 00 20 */ blr
.global JASDsp_NS_TChannel_NS_setPauseFlag
JASDsp_NS_TChannel_NS_setPauseFlag:
/* 8029DF80 0029AEC0 54 80 06 3E */ clrlwi r0, r4, 0x18
/* 8029DF84 0029AEC4 B0 03 00 0C */ sth r0, 0xc(r3)
/* 8029DF88 0029AEC8 4E 80 00 20 */ blr
.global JASDsp_NS_TChannel_NS_flush
JASDsp_NS_TChannel_NS_flush:
/* 8029DF8C 0029AECC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8029DF90 0029AED0 7C 08 02 A6 */ mflr r0
/* 8029DF94 0029AED4 90 01 00 14 */ stw r0, 0x14(r1)
/* 8029DF98 0029AED8 38 80 01 80 */ li r4, 0x180
/* 8029DF9C 0029AEDC 48 09 D6 11 */ bl DCFlushRange
/* 8029DFA0 0029AEE0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8029DFA4 0029AEE4 7C 08 03 A6 */ mtlr r0
/* 8029DFA8 0029AEE8 38 21 00 10 */ addi r1, r1, 0x10
/* 8029DFAC 0029AEEC 4E 80 00 20 */ blr
.global JASDsp_NS_TChannel_NS_initFilter
JASDsp_NS_TChannel_NS_initFilter:
/* 8029DFB0 0029AEF0 38 80 00 00 */ li r4, 0
/* 8029DFB4 0029AEF4 7C 85 23 78 */ mr r5, r4
/* 8029DFB8 0029AEF8 38 00 00 08 */ li r0, 8
/* 8029DFBC 0029AEFC 7C 09 03 A6 */ mtctr r0
lbl_8029DFC0:
/* 8029DFC0 0029AF00 38 04 01 20 */ addi r0, r4, 0x120
/* 8029DFC4 0029AF04 7C A3 03 2E */ sthx r5, r3, r0
/* 8029DFC8 0029AF08 38 84 00 02 */ addi r4, r4, 2
/* 8029DFCC 0029AF0C 42 00 FF F4 */ bdnz lbl_8029DFC0
/* 8029DFD0 0029AF10 38 00 7F FF */ li r0, 0x7fff
/* 8029DFD4 0029AF14 B0 03 01 20 */ sth r0, 0x120(r3)
/* 8029DFD8 0029AF18 38 A0 00 00 */ li r5, 0
/* 8029DFDC 0029AF1C 38 80 00 00 */ li r4, 0
/* 8029DFE0 0029AF20 38 00 00 08 */ li r0, 8
/* 8029DFE4 0029AF24 7C 09 03 A6 */ mtctr r0
lbl_8029DFE8:
/* 8029DFE8 0029AF28 38 04 01 48 */ addi r0, r4, 0x148
/* 8029DFEC 0029AF2C 7C A3 03 2E */ sthx r5, r3, r0
/* 8029DFF0 0029AF30 38 84 00 02 */ addi r4, r4, 2
/* 8029DFF4 0029AF34 42 00 FF F4 */ bdnz lbl_8029DFE8
/* 8029DFF8 0029AF38 38 00 7F FF */ li r0, 0x7fff
/* 8029DFFC 0029AF3C B0 03 01 48 */ sth r0, 0x148(r3)
/* 8029E000 0029AF40 38 00 00 00 */ li r0, 0
/* 8029E004 0029AF44 B0 03 01 50 */ sth r0, 0x150(r3)
/* 8029E008 0029AF48 4E 80 00 20 */ blr
.global JASDsp_NS_TChannel_NS_setFilterMode
JASDsp_NS_TChannel_NS_setFilterMode:
/* 8029E00C 0029AF4C 54 85 06 B5 */ rlwinm. r5, r4, 0, 0x1a, 0x1a
/* 8029E010 0029AF50 54 80 06 FE */ clrlwi r0, r4, 0x1b
/* 8029E014 0029AF54 41 82 00 14 */ beq lbl_8029E028
/* 8029E018 0029AF58 28 00 00 14 */ cmplwi r0, 0x14
/* 8029E01C 0029AF5C 40 81 00 18 */ ble lbl_8029E034
/* 8029E020 0029AF60 38 00 00 14 */ li r0, 0x14
/* 8029E024 0029AF64 48 00 00 10 */ b lbl_8029E034
lbl_8029E028:
/* 8029E028 0029AF68 28 00 00 18 */ cmplwi r0, 0x18
/* 8029E02C 0029AF6C 40 81 00 08 */ ble lbl_8029E034
/* 8029E030 0029AF70 38 00 00 18 */ li r0, 0x18
lbl_8029E034:
/* 8029E034 0029AF74 54 00 06 3E */ clrlwi r0, r0, 0x18
/* 8029E038 0029AF78 7C 05 02 14 */ add r0, r5, r0
/* 8029E03C 0029AF7C B0 03 01 08 */ sth r0, 0x108(r3)
/* 8029E040 0029AF80 4E 80 00 20 */ blr
.global JASDsp_NS_TChannel_NS_setIIRFilterParam
JASDsp_NS_TChannel_NS_setIIRFilterParam:
/* 8029E044 0029AF84 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8029E048 0029AF88 7C 08 02 A6 */ mflr r0
/* 8029E04C 0029AF8C 90 01 00 14 */ stw r0, 0x14(r1)
/* 8029E050 0029AF90 38 A0 00 08 */ li r5, 8
/* 8029E054 0029AF94 38 63 01 48 */ addi r3, r3, 0x148
/* 8029E058 0029AF98 4B FF F9 F1 */ bl JASDsp_NS_setFilterTable
/* 8029E05C 0029AF9C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8029E060 0029AFA0 7C 08 03 A6 */ mtlr r0
/* 8029E064 0029AFA4 38 21 00 10 */ addi r1, r1, 0x10
/* 8029E068 0029AFA8 4E 80 00 20 */ blr
.global JASDsp_NS_TChannel_NS_setFIR8FilterParam
JASDsp_NS_TChannel_NS_setFIR8FilterParam:
/* 8029E06C 0029AFAC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8029E070 0029AFB0 7C 08 02 A6 */ mflr r0
/* 8029E074 0029AFB4 90 01 00 14 */ stw r0, 0x14(r1)
/* 8029E078 0029AFB8 38 A0 00 08 */ li r5, 8
/* 8029E07C 0029AFBC 38 63 01 20 */ addi r3, r3, 0x120
/* 8029E080 0029AFC0 4B FF F9 C9 */ bl JASDsp_NS_setFilterTable
/* 8029E084 0029AFC4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8029E088 0029AFC8 7C 08 03 A6 */ mtlr r0
/* 8029E08C 0029AFCC 38 21 00 10 */ addi r1, r1, 0x10
/* 8029E090 0029AFD0 4E 80 00 20 */ blr
.global JASDsp_NS_TChannel_NS_setDistFilter
JASDsp_NS_TChannel_NS_setDistFilter:
/* 8029E094 0029AFD4 B0 83 01 50 */ sth r4, 0x150(r3)
/* 8029E098 0029AFD8 4E 80 00 20 */ blr
.global JASDsp_NS_TChannel_NS_setBusConnect
JASDsp_NS_TChannel_NS_setBusConnect:
/* 8029E09C 0029AFDC 54 A0 0D FC */ rlwinm r0, r5, 1, 0x17, 0x1e
/* 8029E0A0 0029AFE0 3C A0 80 3A */ lis r5, lbl_8039B8A0@ha
/* 8029E0A4 0029AFE4 38 A5 B8 A0 */ addi r5, r5, lbl_8039B8A0@l
/* 8029E0A8 0029AFE8 7C A5 02 2E */ lhzx r5, r5, r0
/* 8029E0AC 0029AFEC 54 84 1D 78 */ rlwinm r4, r4, 3, 0x15, 0x1c
/* 8029E0B0 0029AFF0 38 04 00 10 */ addi r0, r4, 0x10
/* 8029E0B4 0029AFF4 7C A3 03 2E */ sthx r5, r3, r0
/* 8029E0B8 0029AFF8 4E 80 00 20 */ blr
.global DSP_CreateMap2
DSP_CreateMap2:
/* 8029E0BC 0029AFFC 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8029E0C0 0029B000 7C 08 02 A6 */ mflr r0
/* 8029E0C4 0029B004 90 01 00 24 */ stw r0, 0x24(r1)
/* 8029E0C8 0029B008 39 61 00 20 */ addi r11, r1, 0x20
/* 8029E0CC 0029B00C 48 0C 41 11 */ bl func_803621DC
/* 8029E0D0 0029B010 3B E0 00 00 */ li r31, 0
/* 8029E0D4 0029B014 80 8D 8D 68 */ lwz r4, lbl_804512E8-_SDA_BASE_(r13)
/* 8029E0D8 0029B018 54 60 20 36 */ slwi r0, r3, 4
/* 8029E0DC 0029B01C 1C 00 01 80 */ mulli r0, r0, 0x180
/* 8029E0E0 0029B020 7F C4 02 14 */ add r30, r4, r0
/* 8029E0E4 0029B024 3B A0 00 00 */ li r29, 0
lbl_8029E0E8:
/* 8029E0E8 0029B028 57 FF 0C 3C */ rlwinm r31, r31, 1, 0x10, 0x1e
/* 8029E0EC 0029B02C 7F C3 F3 78 */ mr r3, r30
/* 8029E0F0 0029B030 4B FF FC 7D */ bl JASDsp_NS_TChannel_NS_isActive
/* 8029E0F4 0029B034 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 8029E0F8 0029B038 41 82 00 0C */ beq lbl_8029E104
/* 8029E0FC 0029B03C 63 E0 00 01 */ ori r0, r31, 1
/* 8029E100 0029B040 54 1F 04 3E */ clrlwi r31, r0, 0x10
lbl_8029E104:
/* 8029E104 0029B044 3B BD 00 01 */ addi r29, r29, 1
/* 8029E108 0029B048 2C 1D 00 10 */ cmpwi r29, 0x10
/* 8029E10C 0029B04C 3B DE 01 80 */ addi r30, r30, 0x180
/* 8029E110 0029B050 41 80 FF D8 */ blt lbl_8029E0E8
/* 8029E114 0029B054 7F E3 FB 78 */ mr r3, r31
/* 8029E118 0029B058 39 61 00 20 */ addi r11, r1, 0x20
/* 8029E11C 0029B05C 48 0C 41 0D */ bl func_80362228
/* 8029E120 0029B060 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8029E124 0029B064 7C 08 03 A6 */ mtlr r0
/* 8029E128 0029B068 38 21 00 20 */ addi r1, r1, 0x20
/* 8029E12C 0029B06C 4E 80 00 20 */ blr

210
asm/JAudio2/JASDriverIF.s Normal file
View File

@ -0,0 +1,210 @@
.include "macros.inc"
.section .text, "ax" # 8029e130
.global JASDriver_NS_setDSPLevel
JASDriver_NS_setDSPLevel:
/* 8029E130 0029B070 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8029E134 0029B074 7C 08 02 A6 */ mflr r0
/* 8029E138 0029B078 90 01 00 14 */ stw r0, 0x14(r1)
/* 8029E13C 0029B07C 4B FF F8 C9 */ bl JASDsp_NS_setDSPMixerLevel
/* 8029E140 0029B080 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8029E144 0029B084 7C 08 03 A6 */ mtlr r0
/* 8029E148 0029B088 38 21 00 10 */ addi r1, r1, 0x10
/* 8029E14C 0029B08C 4E 80 00 20 */ blr
.global JASDriver_NS_getChannelLevel_dsp
JASDriver_NS_getChannelLevel_dsp:
/* 8029E150 0029B090 A0 6D 82 40 */ lhz r3, lbl_804507C0-_SDA_BASE_(r13)
/* 8029E154 0029B094 4E 80 00 20 */ blr
.global JASDriver_NS_getDSPLevel
JASDriver_NS_getDSPLevel:
/* 8029E158 0029B098 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8029E15C 0029B09C 7C 08 02 A6 */ mflr r0
/* 8029E160 0029B0A0 90 01 00 14 */ stw r0, 0x14(r1)
/* 8029E164 0029B0A4 4B FF F8 CD */ bl JASDsp_NS_getDSPMixerLevel
/* 8029E168 0029B0A8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8029E16C 0029B0AC 7C 08 03 A6 */ mtlr r0
/* 8029E170 0029B0B0 38 21 00 10 */ addi r1, r1, 0x10
/* 8029E174 0029B0B4 4E 80 00 20 */ blr
.global JASDriver_NS_setOutputMode
JASDriver_NS_setOutputMode:
/* 8029E178 0029B0B8 90 6D 82 44 */ stw r3, lbl_804507C4-_SDA_BASE_(r13)
/* 8029E17C 0029B0BC 4E 80 00 20 */ blr
.global JASDriver_NS_getOutputMode
JASDriver_NS_getOutputMode:
/* 8029E180 0029B0C0 80 6D 82 44 */ lwz r3, lbl_804507C4-_SDA_BASE_(r13)
/* 8029E184 0029B0C4 4E 80 00 20 */ blr
.global JASDriver_NS_waitSubFrame
JASDriver_NS_waitSubFrame:
/* 8029E188 0029B0C8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8029E18C 0029B0CC 7C 08 02 A6 */ mflr r0
/* 8029E190 0029B0D0 90 01 00 14 */ stw r0, 0x14(r1)
/* 8029E194 0029B0D4 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8029E198 0029B0D8 4B FF EB 3D */ bl JASDriver_NS_getSubFrameCounter
/* 8029E19C 0029B0DC 7C 7F 1B 78 */ mr r31, r3
lbl_8029E1A0:
/* 8029E1A0 0029B0E0 48 0A 30 B1 */ bl OSYieldThread
/* 8029E1A4 0029B0E4 4B FF EB 31 */ bl JASDriver_NS_getSubFrameCounter
/* 8029E1A8 0029B0E8 7C 1F 18 40 */ cmplw r31, r3
/* 8029E1AC 0029B0EC 41 82 FF F4 */ beq lbl_8029E1A0
/* 8029E1B0 0029B0F0 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8029E1B4 0029B0F4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8029E1B8 0029B0F8 7C 08 03 A6 */ mtlr r0
/* 8029E1BC 0029B0FC 38 21 00 10 */ addi r1, r1, 0x10
/* 8029E1C0 0029B100 4E 80 00 20 */ blr
.global JASDriver_NS_rejectCallback
JASDriver_NS_rejectCallback:
/* 8029E1C4 0029B104 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8029E1C8 0029B108 7C 08 02 A6 */ mflr r0
/* 8029E1CC 0029B10C 90 01 00 24 */ stw r0, 0x24(r1)
/* 8029E1D0 0029B110 39 61 00 20 */ addi r11, r1, 0x20
/* 8029E1D4 0029B114 48 0C 40 05 */ bl func_803621D8
/* 8029E1D8 0029B118 7C 7C 1B 78 */ mr r28, r3
/* 8029E1DC 0029B11C 7C 9D 23 78 */ mr r29, r4
/* 8029E1E0 0029B120 3C 60 80 43 */ lis r3, lbl_80431C78@ha
/* 8029E1E4 0029B124 3B C3 1C 78 */ addi r30, r3, lbl_80431C78@l
/* 8029E1E8 0029B128 38 7E 00 00 */ addi r3, r30, 0
/* 8029E1EC 0029B12C 7F 84 E3 78 */ mr r4, r28
/* 8029E1F0 0029B130 7F A5 EB 78 */ mr r5, r29
/* 8029E1F4 0029B134 4B FF 1E 3D */ bl JASCallbackMgr_NS_reject
/* 8029E1F8 0029B138 7C 7F 1B 78 */ mr r31, r3
/* 8029E1FC 0029B13C 38 7E 01 00 */ addi r3, r30, 0x100
/* 8029E200 0029B140 7F 84 E3 78 */ mr r4, r28
/* 8029E204 0029B144 7F A5 EB 78 */ mr r5, r29
/* 8029E208 0029B148 4B FF 1E 29 */ bl JASCallbackMgr_NS_reject
/* 8029E20C 0029B14C 7F FF 1A 14 */ add r31, r31, r3
/* 8029E210 0029B150 38 7E 02 00 */ addi r3, r30, 0x200
/* 8029E214 0029B154 7F 84 E3 78 */ mr r4, r28
/* 8029E218 0029B158 7F A5 EB 78 */ mr r5, r29
/* 8029E21C 0029B15C 4B FF 1E 15 */ bl JASCallbackMgr_NS_reject
/* 8029E220 0029B160 7F FF 1A 14 */ add r31, r31, r3
/* 8029E224 0029B164 7F E3 FB 78 */ mr r3, r31
/* 8029E228 0029B168 39 61 00 20 */ addi r11, r1, 0x20
/* 8029E22C 0029B16C 48 0C 3F F9 */ bl func_80362224
/* 8029E230 0029B170 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8029E234 0029B174 7C 08 03 A6 */ mtlr r0
/* 8029E238 0029B178 38 21 00 20 */ addi r1, r1, 0x20
/* 8029E23C 0029B17C 4E 80 00 20 */ blr
.global JASDriver_NS_registerDspSyncCallback
JASDriver_NS_registerDspSyncCallback:
/* 8029E240 0029B180 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8029E244 0029B184 7C 08 02 A6 */ mflr r0
/* 8029E248 0029B188 90 01 00 14 */ stw r0, 0x14(r1)
/* 8029E24C 0029B18C 7C 60 1B 78 */ mr r0, r3
/* 8029E250 0029B190 7C 85 23 78 */ mr r5, r4
/* 8029E254 0029B194 3C 60 80 43 */ lis r3, lbl_80431C78@ha
/* 8029E258 0029B198 38 63 1C 78 */ addi r3, r3, lbl_80431C78@l
/* 8029E25C 0029B19C 7C 04 03 78 */ mr r4, r0
/* 8029E260 0029B1A0 4B FF 1D 49 */ bl JASCallbackMgr_NS_regist
/* 8029E264 0029B1A4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8029E268 0029B1A8 7C 08 03 A6 */ mtlr r0
/* 8029E26C 0029B1AC 38 21 00 10 */ addi r1, r1, 0x10
/* 8029E270 0029B1B0 4E 80 00 20 */ blr
.global JASDriver_NS_registerSubFrameCallback
JASDriver_NS_registerSubFrameCallback:
/* 8029E274 0029B1B4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8029E278 0029B1B8 7C 08 02 A6 */ mflr r0
/* 8029E27C 0029B1BC 90 01 00 14 */ stw r0, 0x14(r1)
/* 8029E280 0029B1C0 7C 60 1B 78 */ mr r0, r3
/* 8029E284 0029B1C4 7C 85 23 78 */ mr r5, r4
/* 8029E288 0029B1C8 3C 60 80 43 */ lis r3, lbl_80431D78@ha
/* 8029E28C 0029B1CC 38 63 1D 78 */ addi r3, r3, lbl_80431D78@l
/* 8029E290 0029B1D0 7C 04 03 78 */ mr r4, r0
/* 8029E294 0029B1D4 4B FF 1D 15 */ bl JASCallbackMgr_NS_regist
/* 8029E298 0029B1D8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8029E29C 0029B1DC 7C 08 03 A6 */ mtlr r0
/* 8029E2A0 0029B1E0 38 21 00 10 */ addi r1, r1, 0x10
/* 8029E2A4 0029B1E4 4E 80 00 20 */ blr
.global JASDriver_NS_subframeCallback
JASDriver_NS_subframeCallback:
/* 8029E2A8 0029B1E8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8029E2AC 0029B1EC 7C 08 02 A6 */ mflr r0
/* 8029E2B0 0029B1F0 90 01 00 14 */ stw r0, 0x14(r1)
/* 8029E2B4 0029B1F4 3C 60 80 43 */ lis r3, lbl_80431D78@ha
/* 8029E2B8 0029B1F8 38 63 1D 78 */ addi r3, r3, lbl_80431D78@l
/* 8029E2BC 0029B1FC 4B FF 1E 09 */ bl JASCallbackMgr_NS_callback
/* 8029E2C0 0029B200 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8029E2C4 0029B204 7C 08 03 A6 */ mtlr r0
/* 8029E2C8 0029B208 38 21 00 10 */ addi r1, r1, 0x10
/* 8029E2CC 0029B20C 4E 80 00 20 */ blr
.global JASDriver_NS_DSPSyncCallback
JASDriver_NS_DSPSyncCallback:
/* 8029E2D0 0029B210 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8029E2D4 0029B214 7C 08 02 A6 */ mflr r0
/* 8029E2D8 0029B218 90 01 00 14 */ stw r0, 0x14(r1)
/* 8029E2DC 0029B21C 3C 60 80 43 */ lis r3, lbl_80431C78@ha
/* 8029E2E0 0029B220 38 63 1C 78 */ addi r3, r3, lbl_80431C78@l
/* 8029E2E4 0029B224 4B FF 1D E1 */ bl JASCallbackMgr_NS_callback
/* 8029E2E8 0029B228 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8029E2EC 0029B22C 7C 08 03 A6 */ mtlr r0
/* 8029E2F0 0029B230 38 21 00 10 */ addi r1, r1, 0x10
/* 8029E2F4 0029B234 4E 80 00 20 */ blr
.global JASDriver_NS_updateDacCallback
JASDriver_NS_updateDacCallback:
/* 8029E2F8 0029B238 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8029E2FC 0029B23C 7C 08 02 A6 */ mflr r0
/* 8029E300 0029B240 90 01 00 14 */ stw r0, 0x14(r1)
/* 8029E304 0029B244 3C 60 80 43 */ lis r3, lbl_80431E78@ha
/* 8029E308 0029B248 38 63 1E 78 */ addi r3, r3, lbl_80431E78@l
/* 8029E30C 0029B24C 4B FF 1D B9 */ bl JASCallbackMgr_NS_callback
/* 8029E310 0029B250 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8029E314 0029B254 7C 08 03 A6 */ mtlr r0
/* 8029E318 0029B258 38 21 00 10 */ addi r1, r1, 0x10
/* 8029E31C 0029B25C 4E 80 00 20 */ blr
/* 8029E320 0029B260 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8029E324 0029B264 7C 08 02 A6 */ mflr r0
/* 8029E328 0029B268 90 01 00 14 */ stw r0, 0x14(r1)
/* 8029E32C 0029B26C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8029E330 0029B270 3C 60 80 43 */ lis r3, lbl_80431C78@ha
/* 8029E334 0029B274 3B E3 1C 78 */ addi r31, r3, lbl_80431C78@l
/* 8029E338 0029B278 38 7F 00 00 */ addi r3, r31, 0
.global JASCallbackMgr_NS_TCallback
/* 8029E33C 0029B27C 3C 80 80 2A */ lis r4, JASCallbackMgr_NS_TCallback@ha
.global JASCallbackMgr_NS_TCallback
/* 8029E340 0029B280 38 84 E3 A0 */ addi r4, r4, JASCallbackMgr_NS_TCallback@l
/* 8029E344 0029B284 38 A0 00 00 */ li r5, 0
/* 8029E348 0029B288 38 C0 00 08 */ li r6, 8
/* 8029E34C 0029B28C 38 E0 00 20 */ li r7, 0x20
/* 8029E350 0029B290 48 0C 3A 11 */ bl func_80361D60
/* 8029E354 0029B294 38 7F 01 00 */ addi r3, r31, 0x100
.global JASCallbackMgr_NS_TCallback
/* 8029E358 0029B298 3C 80 80 2A */ lis r4, JASCallbackMgr_NS_TCallback@ha
.global JASCallbackMgr_NS_TCallback
/* 8029E35C 0029B29C 38 84 E3 A0 */ addi r4, r4, JASCallbackMgr_NS_TCallback@l
/* 8029E360 0029B2A0 38 A0 00 00 */ li r5, 0
/* 8029E364 0029B2A4 38 C0 00 08 */ li r6, 8
/* 8029E368 0029B2A8 38 E0 00 20 */ li r7, 0x20
/* 8029E36C 0029B2AC 48 0C 39 F5 */ bl func_80361D60
/* 8029E370 0029B2B0 38 7F 02 00 */ addi r3, r31, 0x200
.global JASCallbackMgr_NS_TCallback
/* 8029E374 0029B2B4 3C 80 80 2A */ lis r4, JASCallbackMgr_NS_TCallback@ha
.global JASCallbackMgr_NS_TCallback
/* 8029E378 0029B2B8 38 84 E3 A0 */ addi r4, r4, JASCallbackMgr_NS_TCallback@l
/* 8029E37C 0029B2BC 38 A0 00 00 */ li r5, 0
/* 8029E380 0029B2C0 38 C0 00 08 */ li r6, 8
/* 8029E384 0029B2C4 38 E0 00 20 */ li r7, 0x20
/* 8029E388 0029B2C8 48 0C 39 D9 */ bl func_80361D60
/* 8029E38C 0029B2CC 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8029E390 0029B2D0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8029E394 0029B2D4 7C 08 03 A6 */ mtlr r0
/* 8029E398 0029B2D8 38 21 00 10 */ addi r1, r1, 0x10
/* 8029E39C 0029B2DC 4E 80 00 20 */ blr
.global JASCallbackMgr_NS_TCallback
JASCallbackMgr_NS_TCallback:
/* 8029E3A0 0029B2E0 38 00 00 00 */ li r0, 0
/* 8029E3A4 0029B2E4 90 03 00 00 */ stw r0, 0(r3)
/* 8029E3A8 0029B2E8 90 03 00 04 */ stw r0, 4(r3)
/* 8029E3AC 0029B2EC 4E 80 00 20 */ blr

158
asm/JAudio2/JASDrumSet.s Normal file
View File

@ -0,0 +1,158 @@
.include "macros.inc"
.section .text, "ax" # 802982ec
.global JASDrumSet
JASDrumSet:
/* 802982EC 0029522C 3C 80 80 3C */ lis r4, lbl_803C76FC@ha
/* 802982F0 00295230 38 04 76 FC */ addi r0, r4, lbl_803C76FC@l
/* 802982F4 00295234 90 03 00 00 */ stw r0, 0(r3)
/* 802982F8 00295238 3C 80 80 3C */ lis r4, lbl_803C7710@ha
/* 802982FC 0029523C 38 04 77 10 */ addi r0, r4, lbl_803C7710@l
/* 80298300 00295240 90 03 00 00 */ stw r0, 0(r3)
/* 80298304 00295244 38 00 00 00 */ li r0, 0
/* 80298308 00295248 90 03 00 04 */ stw r0, 4(r3)
/* 8029830C 0029524C 98 03 00 08 */ stb r0, 8(r3)
/* 80298310 00295250 4E 80 00 20 */ blr
/* 80298314 00295254 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80298318 00295258 7C 08 02 A6 */ mflr r0
/* 8029831C 0029525C 90 01 00 14 */ stw r0, 0x14(r1)
/* 80298320 00295260 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80298324 00295264 7C 7F 1B 79 */ or. r31, r3, r3
/* 80298328 00295268 41 82 00 30 */ beq lbl_80298358
/* 8029832C 0029526C 3C 60 80 3C */ lis r3, lbl_803C7710@ha
/* 80298330 00295270 38 03 77 10 */ addi r0, r3, lbl_803C7710@l
/* 80298334 00295274 90 1F 00 00 */ stw r0, 0(r31)
/* 80298338 00295278 41 82 00 10 */ beq lbl_80298348
/* 8029833C 0029527C 3C 60 80 3C */ lis r3, lbl_803C76FC@ha
/* 80298340 00295280 38 03 76 FC */ addi r0, r3, lbl_803C76FC@l
/* 80298344 00295284 90 1F 00 00 */ stw r0, 0(r31)
lbl_80298348:
/* 80298348 00295288 7C 80 07 35 */ extsh. r0, r4
/* 8029834C 0029528C 40 81 00 0C */ ble lbl_80298358
/* 80298350 00295290 7F E3 FB 78 */ mr r3, r31
/* 80298354 00295294 48 03 69 E9 */ bl __dl
lbl_80298358:
/* 80298358 00295298 7F E3 FB 78 */ mr r3, r31
/* 8029835C 0029529C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80298360 002952A0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80298364 002952A4 7C 08 03 A6 */ mtlr r0
/* 80298368 002952A8 38 21 00 10 */ addi r1, r1, 0x10
/* 8029836C 002952AC 4E 80 00 20 */ blr
.global JASDrumSet_NS_newPercArray
JASDrumSet_NS_newPercArray:
/* 80298370 002952B0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80298374 002952B4 7C 08 02 A6 */ mflr r0
/* 80298378 002952B8 90 01 00 14 */ stw r0, 0x14(r1)
/* 8029837C 002952BC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80298380 002952C0 7C 7F 1B 78 */ mr r31, r3
/* 80298384 002952C4 54 80 06 3F */ clrlwi. r0, r4, 0x18
/* 80298388 002952C8 41 82 00 30 */ beq lbl_802983B8
/* 8029838C 002952CC 98 9F 00 08 */ stb r4, 8(r31)
/* 80298390 002952D0 88 1F 00 08 */ lbz r0, 8(r31)
/* 80298394 002952D4 54 03 10 3A */ slwi r3, r0, 2
/* 80298398 002952D8 7C A4 2B 78 */ mr r4, r5
/* 8029839C 002952DC 38 A0 00 00 */ li r5, 0
/* 802983A0 002952E0 48 03 69 71 */ bl __nwa_X2_
/* 802983A4 002952E4 90 7F 00 04 */ stw r3, 4(r31)
/* 802983A8 002952E8 80 7F 00 04 */ lwz r3, 4(r31)
/* 802983AC 002952EC 88 1F 00 08 */ lbz r0, 8(r31)
/* 802983B0 002952F0 54 04 10 3A */ slwi r4, r0, 2
/* 802983B4 002952F4 4B FF 70 CD */ bl JASCalc_NS_bzero
lbl_802983B8:
/* 802983B8 002952F8 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802983BC 002952FC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802983C0 00295300 7C 08 03 A6 */ mtlr r0
/* 802983C4 00295304 38 21 00 10 */ addi r1, r1, 0x10
/* 802983C8 00295308 4E 80 00 20 */ blr
/* 802983CC 0029530C 80 A3 00 04 */ lwz r5, 4(r3)
/* 802983D0 00295310 28 05 00 00 */ cmplwi r5, 0
/* 802983D4 00295314 40 82 00 0C */ bne lbl_802983E0
/* 802983D8 00295318 38 60 00 00 */ li r3, 0
/* 802983DC 0029531C 4E 80 00 20 */ blr
lbl_802983E0:
/* 802983E0 00295320 88 03 00 08 */ lbz r0, 8(r3)
/* 802983E4 00295324 7C 04 00 00 */ cmpw r4, r0
/* 802983E8 00295328 41 80 00 0C */ blt lbl_802983F4
/* 802983EC 0029532C 38 60 00 00 */ li r3, 0
/* 802983F0 00295330 4E 80 00 20 */ blr
lbl_802983F4:
/* 802983F4 00295334 54 80 10 3A */ slwi r0, r4, 2
/* 802983F8 00295338 7C E5 00 2E */ lwzx r7, r5, r0
/* 802983FC 0029533C 28 07 00 00 */ cmplwi r7, 0
/* 80298400 00295340 40 82 00 0C */ bne lbl_8029840C
/* 80298404 00295344 38 60 00 00 */ li r3, 0
/* 80298408 00295348 4E 80 00 20 */ blr
lbl_8029840C:
/* 8029840C 0029534C 38 A0 00 00 */ li r5, 0
/* 80298410 00295350 98 A6 00 1C */ stb r5, 0x1c(r6)
/* 80298414 00295354 38 80 00 01 */ li r4, 1
/* 80298418 00295358 98 86 00 1E */ stb r4, 0x1e(r6)
/* 8029841C 0029535C C0 07 00 00 */ lfs f0, 0(r7)
/* 80298420 00295360 D0 06 00 00 */ stfs f0, 0(r6)
/* 80298424 00295364 C0 07 00 04 */ lfs f0, 4(r7)
/* 80298428 00295368 D0 06 00 08 */ stfs f0, 8(r6)
/* 8029842C 0029536C C0 07 00 08 */ lfs f0, 8(r7)
/* 80298430 00295370 D0 06 00 0C */ stfs f0, 0xc(r6)
/* 80298434 00295374 A0 07 00 0C */ lhz r0, 0xc(r7)
/* 80298438 00295378 B0 06 00 18 */ sth r0, 0x18(r6)
/* 8029843C 0029537C 3C 60 80 43 */ lis r3, lbl_80431B58@ha
/* 80298440 00295380 94 A3 1B 58 */ stwu r5, lbl_80431B58@l(r3)
/* 80298444 00295384 C0 02 BC 48 */ lfs f0, lbl_80455648-_SDA2_BASE_(r2)
/* 80298448 00295388 D0 03 00 04 */ stfs f0, 4(r3)
/* 8029844C 0029538C 90 A3 00 08 */ stw r5, 8(r3)
/* 80298450 00295390 90 A3 00 0C */ stw r5, 0xc(r3)
/* 80298454 00295394 D0 03 00 10 */ stfs f0, 0x10(r3)
/* 80298458 00295398 C0 02 BC 4C */ lfs f0, lbl_8045564C-_SDA2_BASE_(r2)
/* 8029845C 0029539C D0 03 00 14 */ stfs f0, 0x14(r3)
/* 80298460 002953A0 88 0D 8C F4 */ lbz r0, lbl_80451274-_SDA_BASE_(r13)
/* 80298464 002953A4 7C 00 07 75 */ extsb. r0, r0
/* 80298468 002953A8 40 82 00 0C */ bne lbl_80298474
/* 8029846C 002953AC 90 6D 8C F0 */ stw r3, lbl_80451270-_SDA_BASE_(r13)
/* 80298470 002953B0 98 8D 8C F4 */ stb r4, lbl_80451274-_SDA_BASE_(r13)
lbl_80298474:
/* 80298474 002953B4 38 0D 8C F0 */ addi r0, r13, lbl_80451270-_SDA_BASE_
/* 80298478 002953B8 90 06 00 14 */ stw r0, 0x14(r6)
/* 8029847C 002953BC 38 00 00 01 */ li r0, 1
/* 80298480 002953C0 98 06 00 1D */ stb r0, 0x1d(r6)
/* 80298484 002953C4 C0 26 00 00 */ lfs f1, 0(r6)
/* 80298488 002953C8 C0 07 00 10 */ lfs f0, 0x10(r7)
/* 8029848C 002953CC EC 01 00 32 */ fmuls f0, f1, f0
/* 80298490 002953D0 D0 06 00 00 */ stfs f0, 0(r6)
/* 80298494 002953D4 C0 26 00 08 */ lfs f1, 8(r6)
/* 80298498 002953D8 C0 07 00 14 */ lfs f0, 0x14(r7)
/* 8029849C 002953DC EC 01 00 32 */ fmuls f0, f1, f0
/* 802984A0 002953E0 D0 06 00 08 */ stfs f0, 8(r6)
/* 802984A4 002953E4 A0 07 00 0E */ lhz r0, 0xe(r7)
/* 802984A8 002953E8 B0 06 00 1A */ sth r0, 0x1a(r6)
/* 802984AC 002953EC 38 60 00 01 */ li r3, 1
/* 802984B0 002953F0 4E 80 00 20 */ blr
.global JASDrumSet_NS_setPerc
JASDrumSet_NS_setPerc:
/* 802984B4 002953F4 80 63 00 04 */ lwz r3, 4(r3)
/* 802984B8 002953F8 54 80 10 3A */ slwi r0, r4, 2
/* 802984BC 002953FC 7C A3 01 2E */ stwx r5, r3, r0
/* 802984C0 00295400 4E 80 00 20 */ blr
.global JASDrumSet_NS_TPerc
JASDrumSet_NS_TPerc:
/* 802984C4 00295404 C0 02 BC 48 */ lfs f0, lbl_80455648-_SDA2_BASE_(r2)
/* 802984C8 00295408 D0 03 00 00 */ stfs f0, 0(r3)
/* 802984CC 0029540C D0 03 00 04 */ stfs f0, 4(r3)
/* 802984D0 00295410 C0 02 BC 50 */ lfs f0, lbl_80455650-_SDA2_BASE_(r2)
/* 802984D4 00295414 D0 03 00 08 */ stfs f0, 8(r3)
/* 802984D8 00295418 38 00 03 E8 */ li r0, 0x3e8
/* 802984DC 0029541C B0 03 00 0C */ sth r0, 0xc(r3)
/* 802984E0 00295420 4E 80 00 20 */ blr
.global JASDrumSet_NS_TPerc_NS_setRelease
JASDrumSet_NS_TPerc_NS_setRelease:
/* 802984E4 00295424 B0 83 00 0C */ sth r4, 0xc(r3)
/* 802984E8 00295428 4E 80 00 20 */ blr
/* 802984EC 0029542C 3C 60 50 45 */ lis r3, 0x50455243@ha
/* 802984F0 00295430 38 63 52 43 */ addi r3, r3, 0x50455243@l
/* 802984F4 00295434 4E 80 00 20 */ blr

View File

@ -0,0 +1,59 @@
.include "macros.inc"
.section .text, "ax" # 8028fefc
.global JASDvd_NS_getThreadPointer
JASDvd_NS_getThreadPointer:
/* 8028FEFC 0028CE3C 80 6D 8C 88 */ lwz r3, lbl_80451208-_SDA_BASE_(r13)
/* 8028FF00 0028CE40 4E 80 00 20 */ blr
.global JASDvd_NS_createThread
JASDvd_NS_createThread:
/* 8028FF04 0028CE44 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8028FF08 0028CE48 7C 08 02 A6 */ mflr r0
/* 8028FF0C 0028CE4C 90 01 00 24 */ stw r0, 0x24(r1)
/* 8028FF10 0028CE50 39 61 00 20 */ addi r11, r1, 0x20
/* 8028FF14 0028CE54 48 0D 22 C9 */ bl func_803621DC
/* 8028FF18 0028CE58 7C 7D 1B 78 */ mr r29, r3
/* 8028FF1C 0028CE5C 7C 9E 23 78 */ mr r30, r4
/* 8028FF20 0028CE60 7C BF 2B 78 */ mr r31, r5
/* 8028FF24 0028CE64 80 0D 8C 88 */ lwz r0, lbl_80451208-_SDA_BASE_(r13)
/* 8028FF28 0028CE68 28 00 00 00 */ cmplwi r0, 0
/* 8028FF2C 0028CE6C 41 82 00 0C */ beq lbl_8028FF38
/* 8028FF30 0028CE70 38 60 00 00 */ li r3, 0
/* 8028FF34 0028CE74 48 00 00 5C */ b lbl_8028FF90
lbl_8028FF38:
/* 8028FF38 0028CE78 38 60 00 88 */ li r3, 0x88
/* 8028FF3C 0028CE7C 80 8D 8C 90 */ lwz r4, lbl_80451210-_SDA_BASE_(r13)
/* 8028FF40 0028CE80 38 A0 00 00 */ li r5, 0
/* 8028FF44 0028CE84 48 03 ED 55 */ bl __nw_X2_
/* 8028FF48 0028CE88 7C 64 1B 79 */ or. r4, r3, r3
/* 8028FF4C 0028CE8C 41 82 00 18 */ beq lbl_8028FF64
/* 8028FF50 0028CE90 7F A4 EB 78 */ mr r4, r29
/* 8028FF54 0028CE94 7F C5 F3 78 */ mr r5, r30
/* 8028FF58 0028CE98 7F E6 FB 78 */ mr r6, r31
/* 8028FF5C 0028CE9C 4B FF F7 69 */ bl JASTaskThread
/* 8028FF60 0028CEA0 7C 64 1B 78 */ mr r4, r3
lbl_8028FF64:
/* 8028FF64 0028CEA4 90 8D 8C 88 */ stw r4, lbl_80451208-_SDA_BASE_(r13)
/* 8028FF68 0028CEA8 80 0D 8D F0 */ lwz r0, lbl_80451370-_SDA_BASE_(r13)
/* 8028FF6C 0028CEAC 28 00 00 00 */ cmplwi r0, 0
/* 8028FF70 0028CEB0 41 82 00 08 */ beq lbl_8028FF78
/* 8028FF74 0028CEB4 48 00 00 08 */ b lbl_8028FF7C
lbl_8028FF78:
/* 8028FF78 0028CEB8 80 0D 8D F4 */ lwz r0, lbl_80451374-_SDA_BASE_(r13)
lbl_8028FF7C:
/* 8028FF7C 0028CEBC 90 04 00 74 */ stw r0, 0x74(r4)
/* 8028FF80 0028CEC0 80 6D 8C 88 */ lwz r3, lbl_80451208-_SDA_BASE_(r13)
/* 8028FF84 0028CEC4 80 63 00 2C */ lwz r3, 0x2c(r3)
/* 8028FF88 0028CEC8 48 0B 18 2D */ bl OSResumeThread
/* 8028FF8C 0028CECC 38 60 00 01 */ li r3, 1
lbl_8028FF90:
/* 8028FF90 0028CED0 39 61 00 20 */ addi r11, r1, 0x20
/* 8028FF94 0028CED4 48 0D 22 95 */ bl func_80362228
/* 8028FF98 0028CED8 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8028FF9C 0028CEDC 7C 08 03 A6 */ mtlr r0
/* 8028FFA0 0028CEE0 38 21 00 20 */ addi r1, r1, 0x20
/* 8028FFA4 0028CEE4 4E 80 00 20 */ blr

797
asm/JAudio2/JASHeapCtrl.s Normal file
View File

@ -0,0 +1,797 @@
.include "macros.inc"
.section .text, "ax" # 80290140
.global JASHeap
JASHeap:
/* 80290140 0028D080 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80290144 0028D084 7C 08 02 A6 */ mflr r0
/* 80290148 0028D088 90 01 00 24 */ stw r0, 0x24(r1)
/* 8029014C 0028D08C 39 61 00 20 */ addi r11, r1, 0x20
/* 80290150 0028D090 48 0D 20 8D */ bl func_803621DC
/* 80290154 0028D094 7C 7D 1B 78 */ mr r29, r3
/* 80290158 0028D098 7C 9F 23 78 */ mr r31, r4
/* 8029015C 0028D09C 7F A0 EB 78 */ mr r0, r29
/* 80290160 0028D0A0 7C 1E 03 78 */ mr r30, r0
/* 80290164 0028D0A4 48 04 BD B1 */ bl JSUPtrList_NS_initiate
/* 80290168 0028D0A8 38 7E 00 0C */ addi r3, r30, 0xc
/* 8029016C 0028D0AC 7F A4 EB 78 */ mr r4, r29
/* 80290170 0028D0B0 48 04 BC 8D */ bl JSUPtrLink
/* 80290174 0028D0B4 93 FD 00 34 */ stw r31, 0x34(r29)
/* 80290178 0028D0B8 38 00 00 00 */ li r0, 0
/* 8029017C 0028D0BC 90 1D 00 38 */ stw r0, 0x38(r29)
/* 80290180 0028D0C0 90 1D 00 3C */ stw r0, 0x3c(r29)
/* 80290184 0028D0C4 90 1D 00 40 */ stw r0, 0x40(r29)
/* 80290188 0028D0C8 38 7D 00 1C */ addi r3, r29, 0x1c
/* 8029018C 0028D0CC 48 0A EE 7D */ bl OSInitMutex
/* 80290190 0028D0D0 7F A3 EB 78 */ mr r3, r29
/* 80290194 0028D0D4 39 61 00 20 */ addi r11, r1, 0x20
/* 80290198 0028D0D8 48 0D 20 91 */ bl func_80362228
/* 8029019C 0028D0DC 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802901A0 0028D0E0 7C 08 03 A6 */ mtlr r0
/* 802901A4 0028D0E4 38 21 00 20 */ addi r1, r1, 0x20
/* 802901A8 0028D0E8 4E 80 00 20 */ blr
.global JASHeap_NS_initRootHeap
JASHeap_NS_initRootHeap:
/* 802901AC 0028D0EC 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802901B0 0028D0F0 7C 08 02 A6 */ mflr r0
/* 802901B4 0028D0F4 90 01 00 24 */ stw r0, 0x24(r1)
/* 802901B8 0028D0F8 39 61 00 20 */ addi r11, r1, 0x20
/* 802901BC 0028D0FC 48 0D 20 21 */ bl func_803621DC
/* 802901C0 0028D100 7C 7D 1B 78 */ mr r29, r3
/* 802901C4 0028D104 7C 9E 23 78 */ mr r30, r4
/* 802901C8 0028D108 7C BF 2B 78 */ mr r31, r5
/* 802901CC 0028D10C 38 7D 00 1C */ addi r3, r29, 0x1c
/* 802901D0 0028D110 90 61 00 08 */ stw r3, 8(r1)
/* 802901D4 0028D114 48 0A EE 6D */ bl OSLockMutex
/* 802901D8 0028D118 38 1E 00 1F */ addi r0, r30, 0x1f
/* 802901DC 0028D11C 54 00 00 34 */ rlwinm r0, r0, 0, 0, 0x1a
/* 802901E0 0028D120 90 1D 00 38 */ stw r0, 0x38(r29)
/* 802901E4 0028D124 38 00 00 00 */ li r0, 0
/* 802901E8 0028D128 90 1D 00 40 */ stw r0, 0x40(r29)
/* 802901EC 0028D12C 80 1D 00 38 */ lwz r0, 0x38(r29)
/* 802901F0 0028D130 7C 1E 00 50 */ subf r0, r30, r0
/* 802901F4 0028D134 7C 00 F8 50 */ subf r0, r0, r31
/* 802901F8 0028D138 90 1D 00 3C */ stw r0, 0x3c(r29)
/* 802901FC 0028D13C 80 61 00 08 */ lwz r3, 8(r1)
/* 80290200 0028D140 48 0A EF 1D */ bl OSUnlockMutex
/* 80290204 0028D144 39 61 00 20 */ addi r11, r1, 0x20
/* 80290208 0028D148 48 0D 20 21 */ bl func_80362228
/* 8029020C 0028D14C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80290210 0028D150 7C 08 03 A6 */ mtlr r0
/* 80290214 0028D154 38 21 00 20 */ addi r1, r1, 0x20
/* 80290218 0028D158 4E 80 00 20 */ blr
.global JASHeap_NS_alloc
JASHeap_NS_alloc:
/* 8029021C 0028D15C 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 80290220 0028D160 7C 08 02 A6 */ mflr r0
/* 80290224 0028D164 90 01 00 34 */ stw r0, 0x34(r1)
/* 80290228 0028D168 39 61 00 30 */ addi r11, r1, 0x30
/* 8029022C 0028D16C 48 0D 1F A9 */ bl func_803621D4
/* 80290230 0028D170 7C 7C 1B 78 */ mr r28, r3
/* 80290234 0028D174 7C 9D 23 78 */ mr r29, r4
/* 80290238 0028D178 7C BE 2B 78 */ mr r30, r5
/* 8029023C 0028D17C 38 7C 00 1C */ addi r3, r28, 0x1c
/* 80290240 0028D180 90 61 00 08 */ stw r3, 8(r1)
/* 80290244 0028D184 48 0A ED FD */ bl OSLockMutex
/* 80290248 0028D188 80 1C 00 38 */ lwz r0, 0x38(r28)
/* 8029024C 0028D18C 28 00 00 00 */ cmplwi r0, 0
/* 80290250 0028D190 41 82 00 14 */ beq lbl_80290264
/* 80290254 0028D194 80 61 00 08 */ lwz r3, 8(r1)
/* 80290258 0028D198 48 0A EE C5 */ bl OSUnlockMutex
/* 8029025C 0028D19C 38 60 00 00 */ li r3, 0
/* 80290260 0028D1A0 48 00 01 7C */ b lbl_802903DC
lbl_80290264:
/* 80290264 0028D1A4 80 1D 00 38 */ lwz r0, 0x38(r29)
/* 80290268 0028D1A8 28 00 00 00 */ cmplwi r0, 0
/* 8029026C 0028D1AC 40 82 00 14 */ bne lbl_80290280
/* 80290270 0028D1B0 80 61 00 08 */ lwz r3, 8(r1)
/* 80290274 0028D1B4 48 0A EE A9 */ bl OSUnlockMutex
/* 80290278 0028D1B8 38 60 00 00 */ li r3, 0
/* 8029027C 0028D1BC 48 00 01 60 */ b lbl_802903DC
lbl_80290280:
/* 80290280 0028D1C0 38 1E 00 1F */ addi r0, r30, 0x1f
/* 80290284 0028D1C4 54 1E 00 34 */ rlwinm r30, r0, 0, 0, 0x1a
/* 80290288 0028D1C8 7F A3 EB 78 */ mr r3, r29
/* 8029028C 0028D1CC 48 00 05 55 */ bl JASHeap_NS_getCurOffset
/* 80290290 0028D1D0 7C 7B 1B 78 */ mr r27, r3
/* 80290294 0028D1D4 7F A3 EB 78 */ mr r3, r29
/* 80290298 0028D1D8 48 00 04 E5 */ bl JASHeap_NS_getTailOffset
/* 8029029C 0028D1DC 7C 1B F2 14 */ add r0, r27, r30
/* 802902A0 0028D1E0 7C 00 18 40 */ cmplw r0, r3
/* 802902A4 0028D1E4 41 81 00 3C */ bgt lbl_802902E0
/* 802902A8 0028D1E8 7F A3 EB 78 */ mr r3, r29
/* 802902AC 0028D1EC 48 00 04 45 */ bl JASHeap_NS_getTailHeap
/* 802902B0 0028D1F0 7C 65 1B 78 */ mr r5, r3
/* 802902B4 0028D1F4 7F A3 EB 78 */ mr r3, r29
/* 802902B8 0028D1F8 7F 84 E3 78 */ mr r4, r28
/* 802902BC 0028D1FC 80 1D 00 38 */ lwz r0, 0x38(r29)
/* 802902C0 0028D200 7C C0 DA 14 */ add r6, r0, r27
/* 802902C4 0028D204 7F C7 F3 78 */ mr r7, r30
/* 802902C8 0028D208 39 00 00 00 */ li r8, 0
/* 802902CC 0028D20C 48 00 03 3D */ bl JASHeap_NS_insertChild
/* 802902D0 0028D210 80 61 00 08 */ lwz r3, 8(r1)
/* 802902D4 0028D214 48 0A EE 49 */ bl OSUnlockMutex
/* 802902D8 0028D218 38 60 00 01 */ li r3, 1
/* 802902DC 0028D21C 48 00 01 00 */ b lbl_802903DC
lbl_802902E0:
/* 802902E0 0028D220 39 40 FF FF */ li r10, -1
/* 802902E4 0028D224 81 1D 00 38 */ lwz r8, 0x38(r29)
/* 802902E8 0028D228 7D 04 43 78 */ mr r4, r8
/* 802902EC 0028D22C 39 60 00 00 */ li r11, 0
/* 802902F0 0028D230 38 A0 00 00 */ li r5, 0
/* 802902F4 0028D234 80 FD 00 00 */ lwz r7, 0(r29)
/* 802902F8 0028D238 28 07 00 00 */ cmplwi r7, 0
/* 802902FC 0028D23C 41 82 00 08 */ beq lbl_80290304
/* 80290300 0028D240 38 E7 FF F4 */ addi r7, r7, -12
lbl_80290304:
/* 80290304 0028D244 7C C8 1A 14 */ add r6, r8, r3
/* 80290308 0028D248 48 00 00 54 */ b lbl_8029035C
lbl_8029030C:
/* 8029030C 0028D24C 7C 04 30 40 */ cmplw r4, r6
/* 80290310 0028D250 40 80 00 54 */ bge lbl_80290364
/* 80290314 0028D254 81 27 00 0C */ lwz r9, 0xc(r7)
/* 80290318 0028D258 80 09 00 38 */ lwz r0, 0x38(r9)
/* 8029031C 0028D25C 7C 04 00 50 */ subf r0, r4, r0
/* 80290320 0028D260 7C 00 F0 40 */ cmplw r0, r30
/* 80290324 0028D264 41 80 00 1C */ blt lbl_80290340
/* 80290328 0028D268 7C 00 50 40 */ cmplw r0, r10
/* 8029032C 0028D26C 40 80 00 14 */ bge lbl_80290340
/* 80290330 0028D270 7D 25 4B 78 */ mr r5, r9
/* 80290334 0028D274 7C 9F 23 78 */ mr r31, r4
/* 80290338 0028D278 7C 0A 03 78 */ mr r10, r0
/* 8029033C 0028D27C 39 60 00 01 */ li r11, 1
lbl_80290340:
/* 80290340 0028D280 80 89 00 38 */ lwz r4, 0x38(r9)
/* 80290344 0028D284 80 09 00 3C */ lwz r0, 0x3c(r9)
/* 80290348 0028D288 7C 84 02 14 */ add r4, r4, r0
/* 8029034C 0028D28C 80 E7 00 18 */ lwz r7, 0x18(r7)
/* 80290350 0028D290 28 07 00 00 */ cmplwi r7, 0
/* 80290354 0028D294 41 82 00 08 */ beq lbl_8029035C
/* 80290358 0028D298 38 E7 FF F4 */ addi r7, r7, -12
lbl_8029035C:
/* 8029035C 0028D29C 28 07 00 00 */ cmplwi r7, 0
/* 80290360 0028D2A0 40 82 FF AC */ bne lbl_8029030C
lbl_80290364:
/* 80290364 0028D2A4 7C 04 40 40 */ cmplw r4, r8
/* 80290368 0028D2A8 41 82 00 38 */ beq lbl_802903A0
/* 8029036C 0028D2AC 7C 08 1A 14 */ add r0, r8, r3
/* 80290370 0028D2B0 7C 04 00 40 */ cmplw r4, r0
/* 80290374 0028D2B4 40 80 00 2C */ bge lbl_802903A0
/* 80290378 0028D2B8 80 1D 00 3C */ lwz r0, 0x3c(r29)
/* 8029037C 0028D2BC 7C 08 02 14 */ add r0, r8, r0
/* 80290380 0028D2C0 7C 04 00 50 */ subf r0, r4, r0
/* 80290384 0028D2C4 7C 00 F0 40 */ cmplw r0, r30
/* 80290388 0028D2C8 41 80 00 18 */ blt lbl_802903A0
/* 8029038C 0028D2CC 7C 00 50 40 */ cmplw r0, r10
/* 80290390 0028D2D0 40 80 00 10 */ bge lbl_802903A0
/* 80290394 0028D2D4 38 A0 00 00 */ li r5, 0
/* 80290398 0028D2D8 7C 9F 23 78 */ mr r31, r4
/* 8029039C 0028D2DC 39 60 00 01 */ li r11, 1
lbl_802903A0:
/* 802903A0 0028D2E0 55 60 06 3F */ clrlwi. r0, r11, 0x18
/* 802903A4 0028D2E4 40 82 00 14 */ bne lbl_802903B8
/* 802903A8 0028D2E8 80 61 00 08 */ lwz r3, 8(r1)
/* 802903AC 0028D2EC 48 0A ED 71 */ bl OSUnlockMutex
/* 802903B0 0028D2F0 38 60 00 00 */ li r3, 0
/* 802903B4 0028D2F4 48 00 00 28 */ b lbl_802903DC
lbl_802903B8:
/* 802903B8 0028D2F8 7F A3 EB 78 */ mr r3, r29
/* 802903BC 0028D2FC 7F 84 E3 78 */ mr r4, r28
/* 802903C0 0028D300 7F E6 FB 78 */ mr r6, r31
/* 802903C4 0028D304 7F C7 F3 78 */ mr r7, r30
/* 802903C8 0028D308 39 00 00 00 */ li r8, 0
/* 802903CC 0028D30C 48 00 02 3D */ bl JASHeap_NS_insertChild
/* 802903D0 0028D310 80 61 00 08 */ lwz r3, 8(r1)
/* 802903D4 0028D314 48 0A ED 49 */ bl OSUnlockMutex
/* 802903D8 0028D318 38 60 00 01 */ li r3, 1
lbl_802903DC:
/* 802903DC 0028D31C 39 61 00 30 */ addi r11, r1, 0x30
/* 802903E0 0028D320 48 0D 1E 41 */ bl func_80362220
/* 802903E4 0028D324 80 01 00 34 */ lwz r0, 0x34(r1)
/* 802903E8 0028D328 7C 08 03 A6 */ mtlr r0
/* 802903EC 0028D32C 38 21 00 30 */ addi r1, r1, 0x30
/* 802903F0 0028D330 4E 80 00 20 */ blr
.global JASHeap_NS_allocTail
JASHeap_NS_allocTail:
/* 802903F4 0028D334 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 802903F8 0028D338 7C 08 02 A6 */ mflr r0
/* 802903FC 0028D33C 90 01 00 34 */ stw r0, 0x34(r1)
/* 80290400 0028D340 39 61 00 30 */ addi r11, r1, 0x30
/* 80290404 0028D344 48 0D 1D D1 */ bl func_803621D4
/* 80290408 0028D348 7C 7B 1B 78 */ mr r27, r3
/* 8029040C 0028D34C 7C 9C 23 78 */ mr r28, r4
/* 80290410 0028D350 7C BD 2B 78 */ mr r29, r5
/* 80290414 0028D354 38 7B 00 1C */ addi r3, r27, 0x1c
/* 80290418 0028D358 90 61 00 08 */ stw r3, 8(r1)
/* 8029041C 0028D35C 48 0A EC 25 */ bl OSLockMutex
/* 80290420 0028D360 80 1B 00 38 */ lwz r0, 0x38(r27)
/* 80290424 0028D364 28 00 00 00 */ cmplwi r0, 0
/* 80290428 0028D368 41 82 00 14 */ beq lbl_8029043C
/* 8029042C 0028D36C 80 61 00 08 */ lwz r3, 8(r1)
/* 80290430 0028D370 48 0A EC ED */ bl OSUnlockMutex
/* 80290434 0028D374 38 60 00 00 */ li r3, 0
/* 80290438 0028D378 48 00 00 94 */ b lbl_802904CC
lbl_8029043C:
/* 8029043C 0028D37C 80 1C 00 38 */ lwz r0, 0x38(r28)
/* 80290440 0028D380 28 00 00 00 */ cmplwi r0, 0
/* 80290444 0028D384 40 82 00 14 */ bne lbl_80290458
/* 80290448 0028D388 80 61 00 08 */ lwz r3, 8(r1)
/* 8029044C 0028D38C 48 0A EC D1 */ bl OSUnlockMutex
/* 80290450 0028D390 38 60 00 00 */ li r3, 0
/* 80290454 0028D394 48 00 00 78 */ b lbl_802904CC
lbl_80290458:
/* 80290458 0028D398 38 1D 00 1F */ addi r0, r29, 0x1f
/* 8029045C 0028D39C 54 1D 00 34 */ rlwinm r29, r0, 0, 0, 0x1a
/* 80290460 0028D3A0 7F 83 E3 78 */ mr r3, r28
/* 80290464 0028D3A4 48 00 03 7D */ bl JASHeap_NS_getCurOffset
/* 80290468 0028D3A8 7C 7E 1B 78 */ mr r30, r3
/* 8029046C 0028D3AC 7F 83 E3 78 */ mr r3, r28
/* 80290470 0028D3B0 48 00 03 0D */ bl JASHeap_NS_getTailOffset
/* 80290474 0028D3B4 7C 7F 1B 78 */ mr r31, r3
/* 80290478 0028D3B8 7C 1E EA 14 */ add r0, r30, r29
/* 8029047C 0028D3BC 7C 00 F8 40 */ cmplw r0, r31
/* 80290480 0028D3C0 40 81 00 14 */ ble lbl_80290494
/* 80290484 0028D3C4 80 61 00 08 */ lwz r3, 8(r1)
/* 80290488 0028D3C8 48 0A EC 95 */ bl OSUnlockMutex
/* 8029048C 0028D3CC 38 60 00 00 */ li r3, 0
/* 80290490 0028D3D0 48 00 00 3C */ b lbl_802904CC
lbl_80290494:
/* 80290494 0028D3D4 7F 83 E3 78 */ mr r3, r28
/* 80290498 0028D3D8 48 00 02 59 */ bl JASHeap_NS_getTailHeap
/* 8029049C 0028D3DC 7C 65 1B 78 */ mr r5, r3
/* 802904A0 0028D3E0 7F 83 E3 78 */ mr r3, r28
/* 802904A4 0028D3E4 7F 64 DB 78 */ mr r4, r27
/* 802904A8 0028D3E8 80 1C 00 38 */ lwz r0, 0x38(r28)
/* 802904AC 0028D3EC 7C 00 FA 14 */ add r0, r0, r31
/* 802904B0 0028D3F0 7C DD 00 50 */ subf r6, r29, r0
/* 802904B4 0028D3F4 7F A7 EB 78 */ mr r7, r29
/* 802904B8 0028D3F8 39 00 00 01 */ li r8, 1
/* 802904BC 0028D3FC 48 00 01 4D */ bl JASHeap_NS_insertChild
/* 802904C0 0028D400 80 61 00 08 */ lwz r3, 8(r1)
/* 802904C4 0028D404 48 0A EC 59 */ bl OSUnlockMutex
/* 802904C8 0028D408 38 60 00 01 */ li r3, 1
lbl_802904CC:
/* 802904CC 0028D40C 39 61 00 30 */ addi r11, r1, 0x30
/* 802904D0 0028D410 48 0D 1D 51 */ bl func_80362220
/* 802904D4 0028D414 80 01 00 34 */ lwz r0, 0x34(r1)
/* 802904D8 0028D418 7C 08 03 A6 */ mtlr r0
/* 802904DC 0028D41C 38 21 00 30 */ addi r1, r1, 0x30
/* 802904E0 0028D420 4E 80 00 20 */ blr
.global JASHeap_NS_free
JASHeap_NS_free:
/* 802904E4 0028D424 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802904E8 0028D428 7C 08 02 A6 */ mflr r0
/* 802904EC 0028D42C 90 01 00 24 */ stw r0, 0x24(r1)
/* 802904F0 0028D430 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 802904F4 0028D434 93 C1 00 18 */ stw r30, 0x18(r1)
/* 802904F8 0028D438 7C 7E 1B 78 */ mr r30, r3
/* 802904FC 0028D43C 38 7E 00 1C */ addi r3, r30, 0x1c
/* 80290500 0028D440 90 61 00 08 */ stw r3, 8(r1)
/* 80290504 0028D444 48 0A EB 3D */ bl OSLockMutex
/* 80290508 0028D448 80 1E 00 38 */ lwz r0, 0x38(r30)
/* 8029050C 0028D44C 28 00 00 00 */ cmplwi r0, 0
/* 80290510 0028D450 40 82 00 14 */ bne lbl_80290524
/* 80290514 0028D454 80 61 00 08 */ lwz r3, 8(r1)
/* 80290518 0028D458 48 0A EC 05 */ bl OSUnlockMutex
/* 8029051C 0028D45C 38 60 00 00 */ li r3, 0
/* 80290520 0028D460 48 00 00 D0 */ b lbl_802905F0
lbl_80290524:
/* 80290524 0028D464 80 7E 00 00 */ lwz r3, 0(r30)
/* 80290528 0028D468 28 03 00 00 */ cmplwi r3, 0
/* 8029052C 0028D46C 41 82 00 28 */ beq lbl_80290554
/* 80290530 0028D470 38 63 FF F4 */ addi r3, r3, -12
/* 80290534 0028D474 48 00 00 20 */ b lbl_80290554
lbl_80290538:
/* 80290538 0028D478 83 E3 00 18 */ lwz r31, 0x18(r3)
/* 8029053C 0028D47C 28 1F 00 00 */ cmplwi r31, 0
/* 80290540 0028D480 41 82 00 08 */ beq lbl_80290548
/* 80290544 0028D484 3B FF FF F4 */ addi r31, r31, -12
lbl_80290548:
/* 80290548 0028D488 80 63 00 0C */ lwz r3, 0xc(r3)
/* 8029054C 0028D48C 4B FF FF 99 */ bl JASHeap_NS_free
/* 80290550 0028D490 7F E3 FB 78 */ mr r3, r31
lbl_80290554:
/* 80290554 0028D494 28 03 00 00 */ cmplwi r3, 0
/* 80290558 0028D498 40 82 FF E0 */ bne lbl_80290538
/* 8029055C 0028D49C 80 7E 00 10 */ lwz r3, 0x10(r30)
/* 80290560 0028D4A0 28 03 00 00 */ cmplwi r3, 0
/* 80290564 0028D4A4 41 82 00 54 */ beq lbl_802905B8
/* 80290568 0028D4A8 80 83 00 0C */ lwz r4, 0xc(r3)
/* 8029056C 0028D4AC 80 04 00 40 */ lwz r0, 0x40(r4)
/* 80290570 0028D4B0 7C 00 F0 40 */ cmplw r0, r30
/* 80290574 0028D4B4 40 82 00 30 */ bne lbl_802905A4
/* 80290578 0028D4B8 80 BE 00 14 */ lwz r5, 0x14(r30)
/* 8029057C 0028D4BC 28 05 00 00 */ cmplwi r5, 0
/* 80290580 0028D4C0 41 82 00 08 */ beq lbl_80290588
/* 80290584 0028D4C4 38 A5 FF F4 */ addi r5, r5, -12
lbl_80290588:
/* 80290588 0028D4C8 28 05 00 00 */ cmplwi r5, 0
/* 8029058C 0028D4CC 41 82 00 10 */ beq lbl_8029059C
/* 80290590 0028D4D0 80 05 00 0C */ lwz r0, 0xc(r5)
/* 80290594 0028D4D4 90 04 00 40 */ stw r0, 0x40(r4)
/* 80290598 0028D4D8 48 00 00 0C */ b lbl_802905A4
lbl_8029059C:
/* 8029059C 0028D4DC 38 00 00 00 */ li r0, 0
/* 802905A0 0028D4E0 90 04 00 40 */ stw r0, 0x40(r4)
lbl_802905A4:
/* 802905A4 0028D4E4 7F C4 F3 78 */ mr r4, r30
/* 802905A8 0028D4E8 28 1E 00 00 */ cmplwi r30, 0
/* 802905AC 0028D4EC 41 82 00 08 */ beq lbl_802905B4
/* 802905B0 0028D4F0 38 9E 00 0C */ addi r4, r30, 0xc
lbl_802905B4:
/* 802905B4 0028D4F4 48 04 BB A9 */ bl JSUPtrList_NS_remove
lbl_802905B8:
/* 802905B8 0028D4F8 38 00 00 00 */ li r0, 0
/* 802905BC 0028D4FC 90 1E 00 38 */ stw r0, 0x38(r30)
/* 802905C0 0028D500 90 1E 00 40 */ stw r0, 0x40(r30)
/* 802905C4 0028D504 90 1E 00 3C */ stw r0, 0x3c(r30)
/* 802905C8 0028D508 80 7E 00 34 */ lwz r3, 0x34(r30)
/* 802905CC 0028D50C 28 03 00 00 */ cmplwi r3, 0
/* 802905D0 0028D510 41 82 00 14 */ beq lbl_802905E4
/* 802905D4 0028D514 81 83 00 00 */ lwz r12, 0(r3)
/* 802905D8 0028D518 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 802905DC 0028D51C 7D 89 03 A6 */ mtctr r12
/* 802905E0 0028D520 4E 80 04 21 */ bctrl
lbl_802905E4:
/* 802905E4 0028D524 80 61 00 08 */ lwz r3, 8(r1)
/* 802905E8 0028D528 48 0A EB 35 */ bl OSUnlockMutex
/* 802905EC 0028D52C 38 60 00 01 */ li r3, 1
lbl_802905F0:
/* 802905F0 0028D530 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 802905F4 0028D534 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 802905F8 0028D538 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802905FC 0028D53C 7C 08 03 A6 */ mtlr r0
/* 80290600 0028D540 38 21 00 20 */ addi r1, r1, 0x20
/* 80290604 0028D544 4E 80 00 20 */ blr
.global JASHeap_NS_insertChild
JASHeap_NS_insertChild:
/* 80290608 0028D548 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8029060C 0028D54C 7C 08 02 A6 */ mflr r0
/* 80290610 0028D550 90 01 00 34 */ stw r0, 0x34(r1)
/* 80290614 0028D554 39 61 00 30 */ addi r11, r1, 0x30
/* 80290618 0028D558 48 0D 1B B9 */ bl func_803621D0
/* 8029061C 0028D55C 7C 7F 1B 78 */ mr r31, r3
/* 80290620 0028D560 7C 9A 23 78 */ mr r26, r4
/* 80290624 0028D564 7C BB 2B 78 */ mr r27, r5
/* 80290628 0028D568 7C DC 33 78 */ mr r28, r6
/* 8029062C 0028D56C 7C FD 3B 78 */ mr r29, r7
/* 80290630 0028D570 7D 1E 43 78 */ mr r30, r8
/* 80290634 0028D574 38 7F 00 1C */ addi r3, r31, 0x1c
/* 80290638 0028D578 90 61 00 08 */ stw r3, 8(r1)
/* 8029063C 0028D57C 48 0A EA 05 */ bl OSLockMutex
/* 80290640 0028D580 57 C0 06 3F */ clrlwi. r0, r30, 0x18
/* 80290644 0028D584 40 82 00 54 */ bne lbl_80290698
/* 80290648 0028D588 28 1B 00 00 */ cmplwi r27, 0
/* 8029064C 0028D58C 40 82 00 18 */ bne lbl_80290664
/* 80290650 0028D590 80 7F 00 04 */ lwz r3, 4(r31)
/* 80290654 0028D594 28 03 00 00 */ cmplwi r3, 0
/* 80290658 0028D598 41 82 00 1C */ beq lbl_80290674
/* 8029065C 0028D59C 38 63 FF F4 */ addi r3, r3, -12
/* 80290660 0028D5A0 48 00 00 14 */ b lbl_80290674
lbl_80290664:
/* 80290664 0028D5A4 80 7B 00 14 */ lwz r3, 0x14(r27)
/* 80290668 0028D5A8 28 03 00 00 */ cmplwi r3, 0
/* 8029066C 0028D5AC 41 82 00 08 */ beq lbl_80290674
/* 80290670 0028D5B0 38 63 FF F4 */ addi r3, r3, -12
lbl_80290674:
/* 80290674 0028D5B4 28 03 00 00 */ cmplwi r3, 0
/* 80290678 0028D5B8 41 82 00 0C */ beq lbl_80290684
/* 8029067C 0028D5BC 80 63 00 0C */ lwz r3, 0xc(r3)
/* 80290680 0028D5C0 48 00 00 08 */ b lbl_80290688
lbl_80290684:
/* 80290684 0028D5C4 38 60 00 00 */ li r3, 0
lbl_80290688:
/* 80290688 0028D5C8 80 1F 00 40 */ lwz r0, 0x40(r31)
/* 8029068C 0028D5CC 7C 00 18 40 */ cmplw r0, r3
/* 80290690 0028D5D0 40 82 00 08 */ bne lbl_80290698
/* 80290694 0028D5D4 93 5F 00 40 */ stw r26, 0x40(r31)
lbl_80290698:
/* 80290698 0028D5D8 93 9A 00 38 */ stw r28, 0x38(r26)
/* 8029069C 0028D5DC 93 BA 00 3C */ stw r29, 0x3c(r26)
/* 802906A0 0028D5E0 38 00 00 00 */ li r0, 0
/* 802906A4 0028D5E4 90 1A 00 40 */ stw r0, 0x40(r26)
/* 802906A8 0028D5E8 7F 45 D3 78 */ mr r5, r26
/* 802906AC 0028D5EC 28 1A 00 00 */ cmplwi r26, 0
/* 802906B0 0028D5F0 41 82 00 08 */ beq lbl_802906B8
/* 802906B4 0028D5F4 38 BA 00 0C */ addi r5, r26, 0xc
lbl_802906B8:
/* 802906B8 0028D5F8 7F 64 DB 78 */ mr r4, r27
/* 802906BC 0028D5FC 28 1B 00 00 */ cmplwi r27, 0
/* 802906C0 0028D600 41 82 00 08 */ beq lbl_802906C8
/* 802906C4 0028D604 38 9B 00 0C */ addi r4, r27, 0xc
lbl_802906C8:
/* 802906C8 0028D608 7F E3 FB 78 */ mr r3, r31
/* 802906CC 0028D60C 48 04 B9 C9 */ bl JSUPtrList_NS_insert
/* 802906D0 0028D610 80 61 00 08 */ lwz r3, 8(r1)
/* 802906D4 0028D614 48 0A EA 49 */ bl OSUnlockMutex
/* 802906D8 0028D618 39 61 00 30 */ addi r11, r1, 0x30
/* 802906DC 0028D61C 48 0D 1B 41 */ bl func_8036221C
/* 802906E0 0028D620 80 01 00 34 */ lwz r0, 0x34(r1)
/* 802906E4 0028D624 7C 08 03 A6 */ mtlr r0
/* 802906E8 0028D628 38 21 00 30 */ addi r1, r1, 0x30
/* 802906EC 0028D62C 4E 80 00 20 */ blr
.global JASHeap_NS_getTailHeap
JASHeap_NS_getTailHeap:
/* 802906F0 0028D630 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802906F4 0028D634 7C 08 02 A6 */ mflr r0
/* 802906F8 0028D638 90 01 00 24 */ stw r0, 0x24(r1)
/* 802906FC 0028D63C 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80290700 0028D640 7C 7F 1B 78 */ mr r31, r3
/* 80290704 0028D644 38 7F 00 1C */ addi r3, r31, 0x1c
/* 80290708 0028D648 90 61 00 08 */ stw r3, 8(r1)
/* 8029070C 0028D64C 48 0A E9 35 */ bl OSLockMutex
/* 80290710 0028D650 80 7F 00 40 */ lwz r3, 0x40(r31)
/* 80290714 0028D654 28 03 00 00 */ cmplwi r3, 0
/* 80290718 0028D658 40 82 00 18 */ bne lbl_80290730
/* 8029071C 0028D65C 80 7F 00 00 */ lwz r3, 0(r31)
/* 80290720 0028D660 28 03 00 00 */ cmplwi r3, 0
/* 80290724 0028D664 41 82 00 1C */ beq lbl_80290740
/* 80290728 0028D668 38 63 FF F4 */ addi r3, r3, -12
/* 8029072C 0028D66C 48 00 00 14 */ b lbl_80290740
lbl_80290730:
/* 80290730 0028D670 80 63 00 18 */ lwz r3, 0x18(r3)
/* 80290734 0028D674 28 03 00 00 */ cmplwi r3, 0
/* 80290738 0028D678 41 82 00 08 */ beq lbl_80290740
/* 8029073C 0028D67C 38 63 FF F4 */ addi r3, r3, -12
lbl_80290740:
/* 80290740 0028D680 28 03 00 00 */ cmplwi r3, 0
/* 80290744 0028D684 40 82 00 14 */ bne lbl_80290758
/* 80290748 0028D688 80 61 00 08 */ lwz r3, 8(r1)
/* 8029074C 0028D68C 48 0A E9 D1 */ bl OSUnlockMutex
/* 80290750 0028D690 38 60 00 00 */ li r3, 0
/* 80290754 0028D694 48 00 00 14 */ b lbl_80290768
lbl_80290758:
/* 80290758 0028D698 83 E3 00 0C */ lwz r31, 0xc(r3)
/* 8029075C 0028D69C 80 61 00 08 */ lwz r3, 8(r1)
/* 80290760 0028D6A0 48 0A E9 BD */ bl OSUnlockMutex
/* 80290764 0028D6A4 7F E3 FB 78 */ mr r3, r31
lbl_80290768:
/* 80290768 0028D6A8 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8029076C 0028D6AC 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80290770 0028D6B0 7C 08 03 A6 */ mtlr r0
/* 80290774 0028D6B4 38 21 00 20 */ addi r1, r1, 0x20
/* 80290778 0028D6B8 4E 80 00 20 */ blr
.global JASHeap_NS_getTailOffset
JASHeap_NS_getTailOffset:
/* 8029077C 0028D6BC 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80290780 0028D6C0 7C 08 02 A6 */ mflr r0
/* 80290784 0028D6C4 90 01 00 24 */ stw r0, 0x24(r1)
/* 80290788 0028D6C8 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8029078C 0028D6CC 7C 7F 1B 78 */ mr r31, r3
/* 80290790 0028D6D0 38 7F 00 1C */ addi r3, r31, 0x1c
/* 80290794 0028D6D4 90 61 00 08 */ stw r3, 8(r1)
/* 80290798 0028D6D8 48 0A E8 A9 */ bl OSLockMutex
/* 8029079C 0028D6DC 7F E3 FB 78 */ mr r3, r31
/* 802907A0 0028D6E0 4B FF FF 51 */ bl JASHeap_NS_getTailHeap
/* 802907A4 0028D6E4 28 03 00 00 */ cmplwi r3, 0
/* 802907A8 0028D6E8 40 82 00 0C */ bne lbl_802907B4
/* 802907AC 0028D6EC 83 FF 00 3C */ lwz r31, 0x3c(r31)
/* 802907B0 0028D6F0 48 00 00 10 */ b lbl_802907C0
lbl_802907B4:
/* 802907B4 0028D6F4 80 9F 00 38 */ lwz r4, 0x38(r31)
/* 802907B8 0028D6F8 80 03 00 38 */ lwz r0, 0x38(r3)
/* 802907BC 0028D6FC 7F E4 00 50 */ subf r31, r4, r0
lbl_802907C0:
/* 802907C0 0028D700 80 61 00 08 */ lwz r3, 8(r1)
/* 802907C4 0028D704 48 0A E9 59 */ bl OSUnlockMutex
/* 802907C8 0028D708 7F E3 FB 78 */ mr r3, r31
/* 802907CC 0028D70C 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 802907D0 0028D710 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802907D4 0028D714 7C 08 03 A6 */ mtlr r0
/* 802907D8 0028D718 38 21 00 20 */ addi r1, r1, 0x20
/* 802907DC 0028D71C 4E 80 00 20 */ blr
.global JASHeap_NS_getCurOffset
JASHeap_NS_getCurOffset:
/* 802907E0 0028D720 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802907E4 0028D724 7C 08 02 A6 */ mflr r0
/* 802907E8 0028D728 90 01 00 24 */ stw r0, 0x24(r1)
/* 802907EC 0028D72C 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 802907F0 0028D730 7C 7F 1B 78 */ mr r31, r3
/* 802907F4 0028D734 38 7F 00 1C */ addi r3, r31, 0x1c
/* 802907F8 0028D738 90 61 00 08 */ stw r3, 8(r1)
/* 802907FC 0028D73C 48 0A E8 45 */ bl OSLockMutex
/* 80290800 0028D740 80 BF 00 40 */ lwz r5, 0x40(r31)
/* 80290804 0028D744 28 05 00 00 */ cmplwi r5, 0
/* 80290808 0028D748 40 82 00 0C */ bne lbl_80290814
/* 8029080C 0028D74C 3B E0 00 00 */ li r31, 0
/* 80290810 0028D750 48 00 00 18 */ b lbl_80290828
lbl_80290814:
/* 80290814 0028D754 80 9F 00 38 */ lwz r4, 0x38(r31)
/* 80290818 0028D758 80 65 00 38 */ lwz r3, 0x38(r5)
/* 8029081C 0028D75C 80 05 00 3C */ lwz r0, 0x3c(r5)
/* 80290820 0028D760 7C 03 02 14 */ add r0, r3, r0
/* 80290824 0028D764 7F E4 00 50 */ subf r31, r4, r0
lbl_80290828:
/* 80290828 0028D768 80 61 00 08 */ lwz r3, 8(r1)
/* 8029082C 0028D76C 48 0A E8 F1 */ bl OSUnlockMutex
/* 80290830 0028D770 7F E3 FB 78 */ mr r3, r31
/* 80290834 0028D774 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80290838 0028D778 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8029083C 0028D77C 7C 08 03 A6 */ mtlr r0
/* 80290840 0028D780 38 21 00 20 */ addi r1, r1, 0x20
/* 80290844 0028D784 4E 80 00 20 */ blr
.global JASGenericMemPool
JASGenericMemPool:
/* 80290848 0028D788 38 00 00 00 */ li r0, 0
/* 8029084C 0028D78C 90 03 00 00 */ stw r0, 0(r3)
/* 80290850 0028D790 90 03 00 04 */ stw r0, 4(r3)
/* 80290854 0028D794 90 03 00 08 */ stw r0, 8(r3)
/* 80290858 0028D798 90 03 00 0C */ stw r0, 0xc(r3)
/* 8029085C 0028D79C 4E 80 00 20 */ blr
.global JASGenericMemPool_NS_dtor
JASGenericMemPool_NS_dtor:
/* 80290860 0028D7A0 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80290864 0028D7A4 7C 08 02 A6 */ mflr r0
/* 80290868 0028D7A8 90 01 00 24 */ stw r0, 0x24(r1)
/* 8029086C 0028D7AC 39 61 00 20 */ addi r11, r1, 0x20
/* 80290870 0028D7B0 48 0D 19 6D */ bl func_803621DC
/* 80290874 0028D7B4 7C 7D 1B 79 */ or. r29, r3, r3
/* 80290878 0028D7B8 7C 9E 23 78 */ mr r30, r4
/* 8029087C 0028D7BC 41 82 00 30 */ beq lbl_802908AC
/* 80290880 0028D7C0 80 7D 00 00 */ lwz r3, 0(r29)
/* 80290884 0028D7C4 48 00 00 10 */ b lbl_80290894
lbl_80290888:
/* 80290888 0028D7C8 83 E3 00 00 */ lwz r31, 0(r3)
/* 8029088C 0028D7CC 48 03 E4 D5 */ bl __dla
/* 80290890 0028D7D0 7F E3 FB 78 */ mr r3, r31
lbl_80290894:
/* 80290894 0028D7D4 28 03 00 00 */ cmplwi r3, 0
/* 80290898 0028D7D8 40 82 FF F0 */ bne lbl_80290888
/* 8029089C 0028D7DC 7F C0 07 35 */ extsh. r0, r30
/* 802908A0 0028D7E0 40 81 00 0C */ ble lbl_802908AC
/* 802908A4 0028D7E4 7F A3 EB 78 */ mr r3, r29
/* 802908A8 0028D7E8 48 03 E4 95 */ bl __dl
lbl_802908AC:
/* 802908AC 0028D7EC 7F A3 EB 78 */ mr r3, r29
/* 802908B0 0028D7F0 39 61 00 20 */ addi r11, r1, 0x20
/* 802908B4 0028D7F4 48 0D 19 75 */ bl func_80362228
/* 802908B8 0028D7F8 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802908BC 0028D7FC 7C 08 03 A6 */ mtlr r0
/* 802908C0 0028D800 38 21 00 20 */ addi r1, r1, 0x20
/* 802908C4 0028D804 4E 80 00 20 */ blr
.global JASGenericMemPool_NS_newMemPool
JASGenericMemPool_NS_newMemPool:
/* 802908C8 0028D808 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802908CC 0028D80C 7C 08 02 A6 */ mflr r0
/* 802908D0 0028D810 90 01 00 24 */ stw r0, 0x24(r1)
/* 802908D4 0028D814 39 61 00 20 */ addi r11, r1, 0x20
/* 802908D8 0028D818 48 0D 19 01 */ bl func_803621D8
/* 802908DC 0028D81C 7C 7C 1B 78 */ mr r28, r3
/* 802908E0 0028D820 7C BD 2B 78 */ mr r29, r5
/* 802908E4 0028D824 3B C0 00 00 */ li r30, 0
/* 802908E8 0028D828 7C 9F 23 78 */ mr r31, r4
/* 802908EC 0028D82C 48 00 00 24 */ b lbl_80290910
lbl_802908F0:
/* 802908F0 0028D830 7F E3 FB 78 */ mr r3, r31
/* 802908F4 0028D834 80 8D 8C 90 */ lwz r4, lbl_80451210-_SDA_BASE_(r13)
/* 802908F8 0028D838 38 A0 00 00 */ li r5, 0
/* 802908FC 0028D83C 48 03 E4 15 */ bl __nwa_X2_
/* 80290900 0028D840 80 1C 00 00 */ lwz r0, 0(r28)
/* 80290904 0028D844 90 03 00 00 */ stw r0, 0(r3)
/* 80290908 0028D848 90 7C 00 00 */ stw r3, 0(r28)
/* 8029090C 0028D84C 3B DE 00 01 */ addi r30, r30, 1
lbl_80290910:
/* 80290910 0028D850 7C 1E E8 00 */ cmpw r30, r29
/* 80290914 0028D854 41 80 FF DC */ blt lbl_802908F0
/* 80290918 0028D858 80 1C 00 04 */ lwz r0, 4(r28)
/* 8029091C 0028D85C 7C 00 EA 14 */ add r0, r0, r29
/* 80290920 0028D860 90 1C 00 04 */ stw r0, 4(r28)
/* 80290924 0028D864 80 1C 00 08 */ lwz r0, 8(r28)
/* 80290928 0028D868 7C 00 EA 14 */ add r0, r0, r29
/* 8029092C 0028D86C 90 1C 00 08 */ stw r0, 8(r28)
/* 80290930 0028D870 39 61 00 20 */ addi r11, r1, 0x20
/* 80290934 0028D874 48 0D 18 F1 */ bl func_80362224
/* 80290938 0028D878 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8029093C 0028D87C 7C 08 03 A6 */ mtlr r0
/* 80290940 0028D880 38 21 00 20 */ addi r1, r1, 0x20
/* 80290944 0028D884 4E 80 00 20 */ blr
.global JASGenericMemPool_NS_alloc
JASGenericMemPool_NS_alloc:
/* 80290948 0028D888 80 C3 00 00 */ lwz r6, 0(r3)
/* 8029094C 0028D88C 28 06 00 00 */ cmplwi r6, 0
/* 80290950 0028D890 40 82 00 0C */ bne lbl_8029095C
/* 80290954 0028D894 38 60 00 00 */ li r3, 0
/* 80290958 0028D898 4E 80 00 20 */ blr
lbl_8029095C:
/* 8029095C 0028D89C 80 06 00 00 */ lwz r0, 0(r6)
/* 80290960 0028D8A0 90 03 00 00 */ stw r0, 0(r3)
/* 80290964 0028D8A4 80 83 00 04 */ lwz r4, 4(r3)
/* 80290968 0028D8A8 38 04 FF FF */ addi r0, r4, -1
/* 8029096C 0028D8AC 90 03 00 04 */ stw r0, 4(r3)
/* 80290970 0028D8B0 80 A3 00 0C */ lwz r5, 0xc(r3)
/* 80290974 0028D8B4 80 83 00 04 */ lwz r4, 4(r3)
/* 80290978 0028D8B8 80 03 00 08 */ lwz r0, 8(r3)
/* 8029097C 0028D8BC 7C 04 00 50 */ subf r0, r4, r0
/* 80290980 0028D8C0 7C 05 00 40 */ cmplw r5, r0
/* 80290984 0028D8C4 40 80 00 08 */ bge lbl_8029098C
/* 80290988 0028D8C8 90 03 00 0C */ stw r0, 0xc(r3)
lbl_8029098C:
/* 8029098C 0028D8CC 7C C3 33 78 */ mr r3, r6
/* 80290990 0028D8D0 4E 80 00 20 */ blr
.global JASGenericMemPool_NS_free
JASGenericMemPool_NS_free:
/* 80290994 0028D8D4 28 04 00 00 */ cmplwi r4, 0
/* 80290998 0028D8D8 4D 82 00 20 */ beqlr
/* 8029099C 0028D8DC 80 03 00 00 */ lwz r0, 0(r3)
/* 802909A0 0028D8E0 90 04 00 00 */ stw r0, 0(r4)
/* 802909A4 0028D8E4 90 83 00 00 */ stw r4, 0(r3)
/* 802909A8 0028D8E8 80 83 00 04 */ lwz r4, 4(r3)
/* 802909AC 0028D8EC 38 04 00 01 */ addi r0, r4, 1
/* 802909B0 0028D8F0 90 03 00 04 */ stw r0, 4(r3)
/* 802909B4 0028D8F4 4E 80 00 20 */ blr
.global JASKernel_NS_setupRootHeap
JASKernel_NS_setupRootHeap:
/* 802909B8 0028D8F8 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802909BC 0028D8FC 7C 08 02 A6 */ mflr r0
/* 802909C0 0028D900 90 01 00 24 */ stw r0, 0x24(r1)
/* 802909C4 0028D904 39 61 00 20 */ addi r11, r1, 0x20
/* 802909C8 0028D908 48 0D 18 15 */ bl func_803621DC
/* 802909CC 0028D90C 7C 7D 1B 78 */ mr r29, r3
/* 802909D0 0028D910 7C 83 23 78 */ mr r3, r4
/* 802909D4 0028D914 7F A4 EB 78 */ mr r4, r29
/* 802909D8 0028D918 38 A0 00 00 */ li r5, 0
/* 802909DC 0028D91C 48 03 E4 51 */ bl JKRExpHeap_NS_create
/* 802909E0 0028D920 90 6D 8C 98 */ stw r3, lbl_80451218-_SDA_BASE_(r13)
/* 802909E4 0028D924 38 60 00 1C */ li r3, 0x1c
/* 802909E8 0028D928 7F A4 EB 78 */ mr r4, r29
/* 802909EC 0028D92C 38 A0 00 00 */ li r5, 0
/* 802909F0 0028D930 48 03 E2 A9 */ bl __nw_X2_
/* 802909F4 0028D934 7C 7F 1B 79 */ or. r31, r3, r3
/* 802909F8 0028D938 41 82 00 A8 */ beq lbl_80290AA0
/* 802909FC 0028D93C 48 0A E6 0D */ bl OSInitMutex
/* 80290A00 0028D940 38 60 00 00 */ li r3, 0
/* 80290A04 0028D944 90 7F 00 18 */ stw r3, 0x18(r31)
/* 80290A08 0028D948 83 DF 00 18 */ lwz r30, 0x18(r31)
/* 80290A0C 0028D94C 28 1E 00 00 */ cmplwi r30, 0
/* 80290A10 0028D950 41 82 00 18 */ beq lbl_80290A28
/* 80290A14 0028D954 80 1E 00 08 */ lwz r0, 8(r30)
/* 80290A18 0028D958 28 00 00 00 */ cmplwi r0, 0
/* 80290A1C 0028D95C 40 82 00 0C */ bne lbl_80290A28
/* 80290A20 0028D960 90 7E 00 04 */ stw r3, 4(r30)
/* 80290A24 0028D964 48 00 00 7C */ b lbl_80290AA0
lbl_80290A28:
/* 80290A28 0028D968 48 00 00 99 */ bl JASKernel_NS_getSystemHeap
/* 80290A2C 0028D96C 7C 64 1B 78 */ mr r4, r3
/* 80290A30 0028D970 38 60 04 0C */ li r3, 0x40c
/* 80290A34 0028D974 38 A0 00 00 */ li r5, 0
/* 80290A38 0028D978 48 03 E2 61 */ bl __nw_X2_
/* 80290A3C 0028D97C 28 03 00 00 */ cmplwi r3, 0
/* 80290A40 0028D980 41 82 00 14 */ beq lbl_80290A54
/* 80290A44 0028D984 93 C3 00 00 */ stw r30, 0(r3)
/* 80290A48 0028D988 38 00 00 00 */ li r0, 0
/* 80290A4C 0028D98C 90 03 00 04 */ stw r0, 4(r3)
/* 80290A50 0028D990 90 03 00 08 */ stw r0, 8(r3)
lbl_80290A54:
/* 80290A54 0028D994 90 7F 00 18 */ stw r3, 0x18(r31)
/* 80290A58 0028D998 80 1F 00 18 */ lwz r0, 0x18(r31)
/* 80290A5C 0028D99C 28 00 00 00 */ cmplwi r0, 0
/* 80290A60 0028D9A0 40 82 00 40 */ bne lbl_80290AA0
/* 80290A64 0028D9A4 38 60 04 0C */ li r3, 0x40c
/* 80290A68 0028D9A8 80 8D 8D F0 */ lwz r4, lbl_80451370-_SDA_BASE_(r13)
/* 80290A6C 0028D9AC 38 A0 00 00 */ li r5, 0
/* 80290A70 0028D9B0 48 03 E2 29 */ bl __nw_X2_
/* 80290A74 0028D9B4 28 03 00 00 */ cmplwi r3, 0
/* 80290A78 0028D9B8 41 82 00 14 */ beq lbl_80290A8C
/* 80290A7C 0028D9BC 93 C3 00 00 */ stw r30, 0(r3)
/* 80290A80 0028D9C0 38 00 00 00 */ li r0, 0
/* 80290A84 0028D9C4 90 03 00 04 */ stw r0, 4(r3)
/* 80290A88 0028D9C8 90 03 00 08 */ stw r0, 8(r3)
lbl_80290A8C:
/* 80290A8C 0028D9CC 90 7F 00 18 */ stw r3, 0x18(r31)
/* 80290A90 0028D9D0 80 1F 00 18 */ lwz r0, 0x18(r31)
/* 80290A94 0028D9D4 28 00 00 00 */ cmplwi r0, 0
/* 80290A98 0028D9D8 40 82 00 08 */ bne lbl_80290AA0
/* 80290A9C 0028D9DC 93 DF 00 18 */ stw r30, 0x18(r31)
lbl_80290AA0:
/* 80290AA0 0028D9E0 93 ED 8C 9C */ stw r31, lbl_8045121C-_SDA_BASE_(r13)
/* 80290AA4 0028D9E4 93 AD 8C 90 */ stw r29, lbl_80451210-_SDA_BASE_(r13)
/* 80290AA8 0028D9E8 39 61 00 20 */ addi r11, r1, 0x20
/* 80290AAC 0028D9EC 48 0D 17 7D */ bl func_80362228
/* 80290AB0 0028D9F0 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80290AB4 0028D9F4 7C 08 03 A6 */ mtlr r0
/* 80290AB8 0028D9F8 38 21 00 20 */ addi r1, r1, 0x20
/* 80290ABC 0028D9FC 4E 80 00 20 */ blr
.global JASKernel_NS_getSystemHeap
JASKernel_NS_getSystemHeap:
/* 80290AC0 0028DA00 80 6D 8C 98 */ lwz r3, lbl_80451218-_SDA_BASE_(r13)
/* 80290AC4 0028DA04 4E 80 00 20 */ blr
.global JASKernel_NS_getCommandHeap
JASKernel_NS_getCommandHeap:
/* 80290AC8 0028DA08 80 6D 8C 9C */ lwz r3, lbl_8045121C-_SDA_BASE_(r13)
/* 80290ACC 0028DA0C 4E 80 00 20 */ blr
.global JASKernel_NS_setupAramHeap
JASKernel_NS_setupAramHeap:
/* 80290AD0 0028DA10 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80290AD4 0028DA14 7C 08 02 A6 */ mflr r0
/* 80290AD8 0028DA18 90 01 00 14 */ stw r0, 0x14(r1)
/* 80290ADC 0028DA1C 7C 60 1B 78 */ mr r0, r3
/* 80290AE0 0028DA20 7C 85 23 78 */ mr r5, r4
/* 80290AE4 0028DA24 90 0D 8C 94 */ stw r0, lbl_80451214-_SDA_BASE_(r13)
/* 80290AE8 0028DA28 3C 60 80 43 */ lis r3, lbl_804315DC@ha
/* 80290AEC 0028DA2C 38 63 15 DC */ addi r3, r3, lbl_804315DC@l
/* 80290AF0 0028DA30 7C 04 03 78 */ mr r4, r0
/* 80290AF4 0028DA34 4B FF F6 B9 */ bl JASHeap_NS_initRootHeap
/* 80290AF8 0028DA38 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80290AFC 0028DA3C 7C 08 03 A6 */ mtlr r0
/* 80290B00 0028DA40 38 21 00 10 */ addi r1, r1, 0x10
/* 80290B04 0028DA44 4E 80 00 20 */ blr
.global JASKernel_NS_getAramHeap
JASKernel_NS_getAramHeap:
/* 80290B08 0028DA48 3C 60 80 43 */ lis r3, lbl_804315DC@ha
/* 80290B0C 0028DA4C 38 63 15 DC */ addi r3, r3, lbl_804315DC@l
/* 80290B10 0028DA50 4E 80 00 20 */ blr
/* 80290B14 0028DA54 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80290B18 0028DA58 7C 08 02 A6 */ mflr r0
/* 80290B1C 0028DA5C 90 01 00 14 */ stw r0, 0x14(r1)
/* 80290B20 0028DA60 3C 60 80 43 */ lis r3, lbl_804315DC@ha
/* 80290B24 0028DA64 38 63 15 DC */ addi r3, r3, lbl_804315DC@l
/* 80290B28 0028DA68 38 80 00 00 */ li r4, 0
/* 80290B2C 0028DA6C 4B FF F6 15 */ bl JASHeap
.global JASHeap_NS_dtor
/* 80290B30 0028DA70 3C 80 80 29 */ lis r4, JASHeap_NS_dtor@ha
.global JASHeap_NS_dtor
/* 80290B34 0028DA74 38 84 0B 54 */ addi r4, r4, JASHeap_NS_dtor@l
/* 80290B38 0028DA78 3C A0 80 43 */ lis r5, lbl_804315D0@ha
/* 80290B3C 0028DA7C 38 A5 15 D0 */ addi r5, r5, lbl_804315D0@l
/* 80290B40 0028DA80 48 0D 10 E5 */ bl func_80361C24
/* 80290B44 0028DA84 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80290B48 0028DA88 7C 08 03 A6 */ mtlr r0
/* 80290B4C 0028DA8C 38 21 00 10 */ addi r1, r1, 0x10
/* 80290B50 0028DA90 4E 80 00 20 */ blr
.global JASHeap_NS_dtor
JASHeap_NS_dtor:
/* 80290B54 0028DA94 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80290B58 0028DA98 7C 08 02 A6 */ mflr r0
/* 80290B5C 0028DA9C 90 01 00 14 */ stw r0, 0x14(r1)
/* 80290B60 0028DAA0 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80290B64 0028DAA4 93 C1 00 08 */ stw r30, 8(r1)
/* 80290B68 0028DAA8 7C 7E 1B 79 */ or. r30, r3, r3
/* 80290B6C 0028DAAC 7C 9F 23 78 */ mr r31, r4
/* 80290B70 0028DAB0 41 82 00 40 */ beq lbl_80290BB0
/* 80290B74 0028DAB4 41 82 00 2C */ beq lbl_80290BA0
/* 80290B78 0028DAB8 34 1E 00 0C */ addic. r0, r30, 0xc
/* 80290B7C 0028DABC 41 82 00 10 */ beq lbl_80290B8C
/* 80290B80 0028DAC0 38 7E 00 0C */ addi r3, r30, 0xc
/* 80290B84 0028DAC4 38 80 00 00 */ li r4, 0
/* 80290B88 0028DAC8 48 04 B2 8D */ bl JSUPtrLink_NS_dtor
lbl_80290B8C:
/* 80290B8C 0028DACC 28 1E 00 00 */ cmplwi r30, 0
/* 80290B90 0028DAD0 41 82 00 10 */ beq lbl_80290BA0
/* 80290B94 0028DAD4 7F C3 F3 78 */ mr r3, r30
/* 80290B98 0028DAD8 38 80 00 00 */ li r4, 0
/* 80290B9C 0028DADC 48 04 B3 11 */ bl JSUPtrList_NS_dtor
lbl_80290BA0:
/* 80290BA0 0028DAE0 7F E0 07 35 */ extsh. r0, r31
/* 80290BA4 0028DAE4 40 81 00 0C */ ble lbl_80290BB0
/* 80290BA8 0028DAE8 7F C3 F3 78 */ mr r3, r30
/* 80290BAC 0028DAEC 48 03 E1 91 */ bl __dl
lbl_80290BB0:
/* 80290BB0 0028DAF0 7F C3 F3 78 */ mr r3, r30
/* 80290BB4 0028DAF4 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80290BB8 0028DAF8 83 C1 00 08 */ lwz r30, 8(r1)
/* 80290BBC 0028DAFC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80290BC0 0028DB00 7C 08 03 A6 */ mtlr r0
/* 80290BC4 0028DB04 38 21 00 10 */ addi r1, r1, 0x10
/* 80290BC8 0028DB08 4E 80 00 20 */ blr
/* 80290BCC 0028DB0C 4E 80 00 20 */ blr

119
asm/JAudio2/JASLfo.s Normal file
View File

@ -0,0 +1,119 @@
.include "macros.inc"
.section .text, "ax" # 8029bd14
.global JASLfo
JASLfo:
/* 8029BD14 00298C54 38 80 00 00 */ li r4, 0
/* 8029BD18 00298C58 90 83 00 00 */ stw r4, 0(r3)
/* 8029BD1C 00298C5C 38 00 00 01 */ li r0, 1
/* 8029BD20 00298C60 90 03 00 04 */ stw r0, 4(r3)
/* 8029BD24 00298C64 C0 02 BC E0 */ lfs f0, lbl_804556E0-_SDA2_BASE_(r2)
/* 8029BD28 00298C68 D0 03 00 08 */ stfs f0, 8(r3)
/* 8029BD2C 00298C6C D0 03 00 0C */ stfs f0, 0xc(r3)
/* 8029BD30 00298C70 C0 02 BC E4 */ lfs f0, lbl_804556E4-_SDA2_BASE_(r2)
/* 8029BD34 00298C74 D0 03 00 10 */ stfs f0, 0x10(r3)
/* 8029BD38 00298C78 B0 83 00 14 */ sth r4, 0x14(r3)
/* 8029BD3C 00298C7C B0 83 00 16 */ sth r4, 0x16(r3)
/* 8029BD40 00298C80 4E 80 00 20 */ blr
.global JASLfo_NS_getValue
JASLfo_NS_getValue:
/* 8029BD44 00298C84 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8029BD48 00298C88 A0 03 00 16 */ lhz r0, 0x16(r3)
/* 8029BD4C 00298C8C 28 00 00 00 */ cmplwi r0, 0
/* 8029BD50 00298C90 41 82 00 0C */ beq lbl_8029BD5C
/* 8029BD54 00298C94 C0 22 BC E0 */ lfs f1, lbl_804556E0-_SDA2_BASE_(r2)
/* 8029BD58 00298C98 48 00 00 78 */ b lbl_8029BDD0
lbl_8029BD5C:
/* 8029BD5C 00298C9C C0 22 BC E0 */ lfs f1, lbl_804556E0-_SDA2_BASE_(r2)
/* 8029BD60 00298CA0 C0 63 00 0C */ lfs f3, 0xc(r3)
/* 8029BD64 00298CA4 FC 01 18 00 */ fcmpu cr0, f1, f3
/* 8029BD68 00298CA8 40 82 00 08 */ bne lbl_8029BD70
/* 8029BD6C 00298CAC 48 00 00 64 */ b lbl_8029BDD0
lbl_8029BD70:
/* 8029BD70 00298CB0 C0 43 00 08 */ lfs f2, 8(r3)
/* 8029BD74 00298CB4 FC 02 08 40 */ fcmpo cr0, f2, f1
/* 8029BD78 00298CB8 40 80 00 30 */ bge lbl_8029BDA8
/* 8029BD7C 00298CBC C0 02 BC E8 */ lfs f0, lbl_804556E8-_SDA2_BASE_(r2)
/* 8029BD80 00298CC0 EC 00 00 B2 */ fmuls f0, f0, f2
/* 8029BD84 00298CC4 FC 00 00 1E */ fctiwz f0, f0
/* 8029BD88 00298CC8 D8 01 00 08 */ stfd f0, 8(r1)
/* 8029BD8C 00298CCC 80 01 00 0C */ lwz r0, 0xc(r1)
/* 8029BD90 00298CD0 54 00 1C 38 */ rlwinm r0, r0, 3, 0x10, 0x1c
/* 8029BD94 00298CD4 3C 60 80 44 */ lis r3, lbl_80439A20@ha
/* 8029BD98 00298CD8 38 63 9A 20 */ addi r3, r3, lbl_80439A20@l
/* 8029BD9C 00298CDC 7C 03 04 2E */ lfsx f0, r3, r0
/* 8029BDA0 00298CE0 FC 00 00 50 */ fneg f0, f0
/* 8029BDA4 00298CE4 48 00 00 28 */ b lbl_8029BDCC
lbl_8029BDA8:
/* 8029BDA8 00298CE8 C0 02 BC EC */ lfs f0, lbl_804556EC-_SDA2_BASE_(r2)
/* 8029BDAC 00298CEC EC 00 00 B2 */ fmuls f0, f0, f2
/* 8029BDB0 00298CF0 FC 00 00 1E */ fctiwz f0, f0
/* 8029BDB4 00298CF4 D8 01 00 10 */ stfd f0, 0x10(r1)
/* 8029BDB8 00298CF8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8029BDBC 00298CFC 54 00 1C 38 */ rlwinm r0, r0, 3, 0x10, 0x1c
/* 8029BDC0 00298D00 3C 60 80 44 */ lis r3, lbl_80439A20@ha
/* 8029BDC4 00298D04 38 63 9A 20 */ addi r3, r3, lbl_80439A20@l
/* 8029BDC8 00298D08 7C 03 04 2E */ lfsx f0, r3, r0
lbl_8029BDCC:
/* 8029BDCC 00298D0C EC 23 00 32 */ fmuls f1, f3, f0
lbl_8029BDD0:
/* 8029BDD0 00298D10 38 21 00 20 */ addi r1, r1, 0x20
/* 8029BDD4 00298D14 4E 80 00 20 */ blr
.global JASLfo_NS_incCounter
JASLfo_NS_incCounter:
/* 8029BDD8 00298D18 A0 83 00 16 */ lhz r4, 0x16(r3)
/* 8029BDDC 00298D1C 28 04 00 00 */ cmplwi r4, 0
/* 8029BDE0 00298D20 41 82 00 10 */ beq lbl_8029BDF0
/* 8029BDE4 00298D24 38 04 FF FF */ addi r0, r4, -1
/* 8029BDE8 00298D28 B0 03 00 16 */ sth r0, 0x16(r3)
/* 8029BDEC 00298D2C 4E 80 00 20 */ blr
lbl_8029BDF0:
/* 8029BDF0 00298D30 C0 63 00 08 */ lfs f3, 8(r3)
/* 8029BDF4 00298D34 C0 42 BC F0 */ lfs f2, lbl_804556F0-_SDA2_BASE_(r2)
/* 8029BDF8 00298D38 C0 03 00 10 */ lfs f0, 0x10(r3)
/* 8029BDFC 00298D3C EC 02 00 32 */ fmuls f0, f2, f0
/* 8029BE00 00298D40 EC 01 00 32 */ fmuls f0, f1, f0
/* 8029BE04 00298D44 EC 03 00 2A */ fadds f0, f3, f0
/* 8029BE08 00298D48 D0 03 00 08 */ stfs f0, 8(r3)
/* 8029BE0C 00298D4C C0 23 00 08 */ lfs f1, 8(r3)
/* 8029BE10 00298D50 C0 02 BC E4 */ lfs f0, lbl_804556E4-_SDA2_BASE_(r2)
/* 8029BE14 00298D54 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8029BE18 00298D58 4C 41 13 82 */ cror 2, 1, 2
/* 8029BE1C 00298D5C 4C 82 00 20 */ bnelr
/* 8029BE20 00298D60 EC 01 00 28 */ fsubs f0, f1, f0
/* 8029BE24 00298D64 D0 03 00 08 */ stfs f0, 8(r3)
/* 8029BE28 00298D68 4E 80 00 20 */ blr
.global JASLfo_NS_resetCounter
JASLfo_NS_resetCounter:
/* 8029BE2C 00298D6C A0 03 00 14 */ lhz r0, 0x14(r3)
/* 8029BE30 00298D70 B0 03 00 16 */ sth r0, 0x16(r3)
/* 8029BE34 00298D74 80 03 00 04 */ lwz r0, 4(r3)
/* 8029BE38 00298D78 2C 00 00 01 */ cmpwi r0, 1
/* 8029BE3C 00298D7C 41 82 00 24 */ beq lbl_8029BE60
/* 8029BE40 00298D80 4C 80 00 20 */ bgelr
/* 8029BE44 00298D84 2C 00 00 00 */ cmpwi r0, 0
/* 8029BE48 00298D88 4D 80 00 20 */ bltlr
/* 8029BE4C 00298D8C 3C 80 80 43 */ lis r4, lbl_80431C40@ha
/* 8029BE50 00298D90 38 84 1C 40 */ addi r4, r4, lbl_80431C40@l
/* 8029BE54 00298D94 C0 04 00 08 */ lfs f0, 8(r4)
/* 8029BE58 00298D98 D0 03 00 08 */ stfs f0, 8(r3)
/* 8029BE5C 00298D9C 4E 80 00 20 */ blr
lbl_8029BE60:
/* 8029BE60 00298DA0 C0 02 BC E0 */ lfs f0, lbl_804556E0-_SDA2_BASE_(r2)
/* 8029BE64 00298DA4 D0 03 00 08 */ stfs f0, 8(r3)
/* 8029BE68 00298DA8 4E 80 00 20 */ blr
/* 8029BE6C 00298DAC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8029BE70 00298DB0 7C 08 02 A6 */ mflr r0
/* 8029BE74 00298DB4 90 01 00 14 */ stw r0, 0x14(r1)
/* 8029BE78 00298DB8 3C 60 80 43 */ lis r3, lbl_80431C40@ha
/* 8029BE7C 00298DBC 38 63 1C 40 */ addi r3, r3, lbl_80431C40@l
/* 8029BE80 00298DC0 4B FF FE 95 */ bl JASLfo
/* 8029BE84 00298DC4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8029BE88 00298DC8 7C 08 03 A6 */ mtlr r0
/* 8029BE8C 00298DCC 38 21 00 10 */ addi r1, r1, 0x10
/* 8029BE90 00298DD0 4E 80 00 20 */ blr

365
asm/JAudio2/JASOscillator.s Normal file
View File

@ -0,0 +1,365 @@
.include "macros.inc"
.section .text, "ax" # 8029be94
.global JASOscillator
JASOscillator:
/* 8029BE94 00298DD4 38 00 00 00 */ li r0, 0
/* 8029BE98 00298DD8 90 03 00 00 */ stw r0, 0(r3)
/* 8029BE9C 00298DDC B0 03 00 14 */ sth r0, 0x14(r3)
/* 8029BEA0 00298DE0 B0 03 00 16 */ sth r0, 0x16(r3)
/* 8029BEA4 00298DE4 98 03 00 18 */ stb r0, 0x18(r3)
/* 8029BEA8 00298DE8 90 03 00 1C */ stw r0, 0x1c(r3)
/* 8029BEAC 00298DEC C0 02 BC F8 */ lfs f0, lbl_804556F8-_SDA2_BASE_(r2)
/* 8029BEB0 00298DF0 D0 03 00 0C */ stfs f0, 0xc(r3)
/* 8029BEB4 00298DF4 D0 03 00 10 */ stfs f0, 0x10(r3)
/* 8029BEB8 00298DF8 D0 03 00 08 */ stfs f0, 8(r3)
/* 8029BEBC 00298DFC D0 03 00 04 */ stfs f0, 4(r3)
/* 8029BEC0 00298E00 4E 80 00 20 */ blr
.global JASOscillator_NS_initStart
JASOscillator_NS_initStart:
/* 8029BEC4 00298E04 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8029BEC8 00298E08 90 83 00 00 */ stw r4, 0(r3)
/* 8029BECC 00298E0C C0 02 BC F8 */ lfs f0, lbl_804556F8-_SDA2_BASE_(r2)
/* 8029BED0 00298E10 D0 03 00 04 */ stfs f0, 4(r3)
/* 8029BED4 00298E14 D0 03 00 08 */ stfs f0, 8(r3)
/* 8029BED8 00298E18 D0 03 00 0C */ stfs f0, 0xc(r3)
/* 8029BEDC 00298E1C 38 00 00 00 */ li r0, 0
/* 8029BEE0 00298E20 B0 03 00 14 */ sth r0, 0x14(r3)
/* 8029BEE4 00298E24 B0 03 00 16 */ sth r0, 0x16(r3)
/* 8029BEE8 00298E28 28 04 00 00 */ cmplwi r4, 0
/* 8029BEEC 00298E2C 40 82 00 0C */ bne lbl_8029BEF8
/* 8029BEF0 00298E30 90 03 00 1C */ stw r0, 0x1c(r3)
/* 8029BEF4 00298E34 48 00 00 6C */ b lbl_8029BF60
lbl_8029BEF8:
/* 8029BEF8 00298E38 80 83 00 00 */ lwz r4, 0(r3)
/* 8029BEFC 00298E3C 80 84 00 08 */ lwz r4, 8(r4)
/* 8029BF00 00298E40 28 04 00 00 */ cmplwi r4, 0
/* 8029BF04 00298E44 40 82 00 18 */ bne lbl_8029BF1C
/* 8029BF08 00298E48 38 00 00 02 */ li r0, 2
/* 8029BF0C 00298E4C 90 03 00 1C */ stw r0, 0x1c(r3)
/* 8029BF10 00298E50 C0 02 BC FC */ lfs f0, lbl_804556FC-_SDA2_BASE_(r2)
/* 8029BF14 00298E54 D0 03 00 08 */ stfs f0, 8(r3)
/* 8029BF18 00298E58 48 00 00 48 */ b lbl_8029BF60
lbl_8029BF1C:
/* 8029BF1C 00298E5C A8 04 00 04 */ lha r0, 4(r4)
/* 8029BF20 00298E60 C8 22 BD 08 */ lfd f1, lbl_80455708-_SDA2_BASE_(r2)
/* 8029BF24 00298E64 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 8029BF28 00298E68 90 01 00 0C */ stw r0, 0xc(r1)
/* 8029BF2C 00298E6C 3C 00 43 30 */ lis r0, 0x4330
/* 8029BF30 00298E70 90 01 00 08 */ stw r0, 8(r1)
/* 8029BF34 00298E74 C8 01 00 08 */ lfd f0, 8(r1)
/* 8029BF38 00298E78 EC 20 08 28 */ fsubs f1, f0, f1
/* 8029BF3C 00298E7C C0 02 BD 00 */ lfs f0, lbl_80455700-_SDA2_BASE_(r2)
/* 8029BF40 00298E80 EC 01 00 24 */ fdivs f0, f1, f0
/* 8029BF44 00298E84 D0 03 00 10 */ stfs f0, 0x10(r3)
/* 8029BF48 00298E88 80 83 00 00 */ lwz r4, 0(r3)
/* 8029BF4C 00298E8C 80 84 00 08 */ lwz r4, 8(r4)
/* 8029BF50 00298E90 A8 04 00 00 */ lha r0, 0(r4)
/* 8029BF54 00298E94 98 03 00 18 */ stb r0, 0x18(r3)
/* 8029BF58 00298E98 38 00 00 01 */ li r0, 1
/* 8029BF5C 00298E9C 90 03 00 1C */ stw r0, 0x1c(r3)
lbl_8029BF60:
/* 8029BF60 00298EA0 38 21 00 10 */ addi r1, r1, 0x10
/* 8029BF64 00298EA4 4E 80 00 20 */ blr
.global JASOscillator_NS_incCounter
JASOscillator_NS_incCounter:
/* 8029BF68 00298EA8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8029BF6C 00298EAC 7C 08 02 A6 */ mflr r0
/* 8029BF70 00298EB0 90 01 00 14 */ stw r0, 0x14(r1)
/* 8029BF74 00298EB4 80 03 00 1C */ lwz r0, 0x1c(r3)
/* 8029BF78 00298EB8 2C 00 00 01 */ cmpwi r0, 1
/* 8029BF7C 00298EBC 41 82 00 20 */ beq lbl_8029BF9C
/* 8029BF80 00298EC0 40 80 00 10 */ bge lbl_8029BF90
/* 8029BF84 00298EC4 2C 00 00 00 */ cmpwi r0, 0
/* 8029BF88 00298EC8 40 80 00 30 */ bge lbl_8029BFB8
/* 8029BF8C 00298ECC 48 00 00 10 */ b lbl_8029BF9C
lbl_8029BF90:
/* 8029BF90 00298ED0 2C 00 00 03 */ cmpwi r0, 3
/* 8029BF94 00298ED4 40 80 00 08 */ bge lbl_8029BF9C
/* 8029BF98 00298ED8 48 00 00 20 */ b lbl_8029BFB8
lbl_8029BF9C:
/* 8029BF9C 00298EDC C0 43 00 04 */ lfs f2, 4(r3)
/* 8029BFA0 00298EE0 80 83 00 00 */ lwz r4, 0(r3)
/* 8029BFA4 00298EE4 C0 04 00 04 */ lfs f0, 4(r4)
/* 8029BFA8 00298EE8 EC 01 00 32 */ fmuls f0, f1, f0
/* 8029BFAC 00298EEC EC 02 00 2A */ fadds f0, f2, f0
/* 8029BFB0 00298EF0 D0 03 00 04 */ stfs f0, 4(r3)
/* 8029BFB4 00298EF4 48 00 01 2D */ bl JASOscillator_NS_update
lbl_8029BFB8:
/* 8029BFB8 00298EF8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8029BFBC 00298EFC 7C 08 03 A6 */ mtlr r0
/* 8029BFC0 00298F00 38 21 00 10 */ addi r1, r1, 0x10
/* 8029BFC4 00298F04 4E 80 00 20 */ blr
.global JASOscillator_NS_getValue
JASOscillator_NS_getValue:
/* 8029BFC8 00298F08 80 83 00 00 */ lwz r4, 0(r3)
/* 8029BFCC 00298F0C C0 44 00 14 */ lfs f2, 0x14(r4)
/* 8029BFD0 00298F10 C0 23 00 08 */ lfs f1, 8(r3)
/* 8029BFD4 00298F14 C0 04 00 10 */ lfs f0, 0x10(r4)
/* 8029BFD8 00298F18 EC 01 00 32 */ fmuls f0, f1, f0
/* 8029BFDC 00298F1C EC 22 00 2A */ fadds f1, f2, f0
/* 8029BFE0 00298F20 4E 80 00 20 */ blr
.global JASOscillator_NS_release
JASOscillator_NS_release:
/* 8029BFE4 00298F24 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8029BFE8 00298F28 7C 08 02 A6 */ mflr r0
/* 8029BFEC 00298F2C 90 01 00 14 */ stw r0, 0x14(r1)
/* 8029BFF0 00298F30 80 A3 00 00 */ lwz r5, 0(r3)
/* 8029BFF4 00298F34 80 85 00 0C */ lwz r4, 0xc(r5)
/* 8029BFF8 00298F38 28 04 00 00 */ cmplwi r4, 0
/* 8029BFFC 00298F3C 40 82 00 1C */ bne lbl_8029C018
/* 8029C000 00298F40 A0 03 00 16 */ lhz r0, 0x16(r3)
/* 8029C004 00298F44 28 00 00 00 */ cmplwi r0, 0
/* 8029C008 00298F48 40 82 00 10 */ bne lbl_8029C018
/* 8029C00C 00298F4C 38 00 00 00 */ li r0, 0
/* 8029C010 00298F50 90 03 00 1C */ stw r0, 0x1c(r3)
/* 8029C014 00298F54 48 00 00 BC */ b lbl_8029C0D0
lbl_8029C018:
/* 8029C018 00298F58 A0 03 00 16 */ lhz r0, 0x16(r3)
/* 8029C01C 00298F5C 28 00 00 00 */ cmplwi r0, 0
/* 8029C020 00298F60 41 82 00 3C */ beq lbl_8029C05C
/* 8029C024 00298F64 C0 22 BC F8 */ lfs f1, lbl_804556F8-_SDA2_BASE_(r2)
/* 8029C028 00298F68 D0 23 00 04 */ stfs f1, 4(r3)
/* 8029C02C 00298F6C C0 03 00 08 */ lfs f0, 8(r3)
/* 8029C030 00298F70 D0 03 00 0C */ stfs f0, 0xc(r3)
/* 8029C034 00298F74 D0 23 00 10 */ stfs f1, 0x10(r3)
/* 8029C038 00298F78 38 00 00 00 */ li r0, 0
/* 8029C03C 00298F7C B0 03 00 14 */ sth r0, 0x14(r3)
/* 8029C040 00298F80 A0 03 00 16 */ lhz r0, 0x16(r3)
/* 8029C044 00298F84 54 00 97 BE */ rlwinm r0, r0, 0x12, 0x1e, 0x1f
/* 8029C048 00298F88 98 03 00 18 */ stb r0, 0x18(r3)
/* 8029C04C 00298F8C 38 00 00 04 */ li r0, 4
/* 8029C050 00298F90 90 03 00 1C */ stw r0, 0x1c(r3)
/* 8029C054 00298F94 48 00 00 8D */ bl JASOscillator_NS_update
/* 8029C058 00298F98 48 00 00 78 */ b lbl_8029C0D0
lbl_8029C05C:
/* 8029C05C 00298F9C 80 05 00 08 */ lwz r0, 8(r5)
/* 8029C060 00298FA0 7C 00 20 40 */ cmplw r0, r4
/* 8029C064 00298FA4 41 82 00 60 */ beq lbl_8029C0C4
/* 8029C068 00298FA8 C0 02 BC F8 */ lfs f0, lbl_804556F8-_SDA2_BASE_(r2)
/* 8029C06C 00298FAC D0 03 00 04 */ stfs f0, 4(r3)
/* 8029C070 00298FB0 C0 03 00 08 */ lfs f0, 8(r3)
/* 8029C074 00298FB4 D0 03 00 0C */ stfs f0, 0xc(r3)
/* 8029C078 00298FB8 80 83 00 00 */ lwz r4, 0(r3)
/* 8029C07C 00298FBC 80 84 00 0C */ lwz r4, 0xc(r4)
/* 8029C080 00298FC0 A8 04 00 04 */ lha r0, 4(r4)
/* 8029C084 00298FC4 C8 22 BD 08 */ lfd f1, lbl_80455708-_SDA2_BASE_(r2)
/* 8029C088 00298FC8 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 8029C08C 00298FCC 90 01 00 0C */ stw r0, 0xc(r1)
/* 8029C090 00298FD0 3C 00 43 30 */ lis r0, 0x4330
/* 8029C094 00298FD4 90 01 00 08 */ stw r0, 8(r1)
/* 8029C098 00298FD8 C8 01 00 08 */ lfd f0, 8(r1)
/* 8029C09C 00298FDC EC 20 08 28 */ fsubs f1, f0, f1
/* 8029C0A0 00298FE0 C0 02 BD 00 */ lfs f0, lbl_80455700-_SDA2_BASE_(r2)
/* 8029C0A4 00298FE4 EC 01 00 24 */ fdivs f0, f1, f0
/* 8029C0A8 00298FE8 D0 03 00 10 */ stfs f0, 0x10(r3)
/* 8029C0AC 00298FEC 38 00 00 00 */ li r0, 0
/* 8029C0B0 00298FF0 B0 03 00 14 */ sth r0, 0x14(r3)
/* 8029C0B4 00298FF4 80 83 00 00 */ lwz r4, 0(r3)
/* 8029C0B8 00298FF8 80 84 00 0C */ lwz r4, 0xc(r4)
/* 8029C0BC 00298FFC A8 04 00 00 */ lha r0, 0(r4)
/* 8029C0C0 00299000 98 03 00 18 */ stb r0, 0x18(r3)
lbl_8029C0C4:
/* 8029C0C4 00299004 38 00 00 03 */ li r0, 3
/* 8029C0C8 00299008 90 03 00 1C */ stw r0, 0x1c(r3)
/* 8029C0CC 0029900C 48 00 00 15 */ bl JASOscillator_NS_update
lbl_8029C0D0:
/* 8029C0D0 00299010 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8029C0D4 00299014 7C 08 03 A6 */ mtlr r0
/* 8029C0D8 00299018 38 21 00 10 */ addi r1, r1, 0x10
/* 8029C0DC 0029901C 4E 80 00 20 */ blr
.global JASOscillator_NS_update
JASOscillator_NS_update:
/* 8029C0E0 00299020 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8029C0E4 00299024 7C 08 02 A6 */ mflr r0
/* 8029C0E8 00299028 90 01 00 14 */ stw r0, 0x14(r1)
/* 8029C0EC 0029902C 80 03 00 1C */ lwz r0, 0x1c(r3)
/* 8029C0F0 00299030 2C 00 00 04 */ cmpwi r0, 4
/* 8029C0F4 00299034 40 82 00 60 */ bne lbl_8029C154
/* 8029C0F8 00299038 A0 03 00 16 */ lhz r0, 0x16(r3)
/* 8029C0FC 0029903C 54 00 04 BE */ clrlwi r0, r0, 0x12
/* 8029C100 00299040 C0 43 00 04 */ lfs f2, 4(r3)
/* 8029C104 00299044 C8 22 BD 08 */ lfd f1, lbl_80455708-_SDA2_BASE_(r2)
/* 8029C108 00299048 6C 04 80 00 */ xoris r4, r0, 0x8000
/* 8029C10C 0029904C 90 81 00 0C */ stw r4, 0xc(r1)
/* 8029C110 00299050 3C 00 43 30 */ lis r0, 0x4330
/* 8029C114 00299054 90 01 00 08 */ stw r0, 8(r1)
/* 8029C118 00299058 C8 01 00 08 */ lfd f0, 8(r1)
/* 8029C11C 0029905C EC 00 08 28 */ fsubs f0, f0, f1
/* 8029C120 00299060 FC 02 00 40 */ fcmpo cr0, f2, f0
/* 8029C124 00299064 40 80 00 1C */ bge lbl_8029C140
/* 8029C128 00299068 90 81 00 0C */ stw r4, 0xc(r1)
/* 8029C12C 0029906C 90 01 00 08 */ stw r0, 8(r1)
/* 8029C130 00299070 C8 01 00 08 */ lfd f0, 8(r1)
/* 8029C134 00299074 EC 20 08 28 */ fsubs f1, f0, f1
/* 8029C138 00299078 48 00 01 89 */ bl JASOscillator_NS_updateCurrentValue
/* 8029C13C 0029907C 48 00 01 74 */ b lbl_8029C2B0
lbl_8029C140:
/* 8029C140 00299080 C0 03 00 10 */ lfs f0, 0x10(r3)
/* 8029C144 00299084 D0 03 00 08 */ stfs f0, 8(r3)
/* 8029C148 00299088 38 00 00 00 */ li r0, 0
/* 8029C14C 0029908C 90 03 00 1C */ stw r0, 0x1c(r3)
/* 8029C150 00299090 48 00 01 60 */ b lbl_8029C2B0
lbl_8029C154:
/* 8029C154 00299094 2C 00 00 02 */ cmpwi r0, 2
/* 8029C158 00299098 41 82 01 58 */ beq lbl_8029C2B0
/* 8029C15C 0029909C 2C 00 00 01 */ cmpwi r0, 1
/* 8029C160 002990A0 40 82 00 10 */ bne lbl_8029C170
/* 8029C164 002990A4 80 83 00 00 */ lwz r4, 0(r3)
/* 8029C168 002990A8 80 E4 00 08 */ lwz r7, 8(r4)
/* 8029C16C 002990AC 48 00 00 0C */ b lbl_8029C178
lbl_8029C170:
/* 8029C170 002990B0 80 83 00 00 */ lwz r4, 0(r3)
/* 8029C174 002990B4 80 E4 00 0C */ lwz r7, 0xc(r4)
lbl_8029C178:
/* 8029C178 002990B8 28 07 00 00 */ cmplwi r7, 0
/* 8029C17C 002990BC 40 82 00 10 */ bne lbl_8029C18C
/* 8029C180 002990C0 38 00 00 02 */ li r0, 2
/* 8029C184 002990C4 90 03 00 1C */ stw r0, 0x1c(r3)
/* 8029C188 002990C8 48 00 01 28 */ b lbl_8029C2B0
lbl_8029C18C:
/* 8029C18C 002990CC C8 42 BD 08 */ lfd f2, lbl_80455708-_SDA2_BASE_(r2)
/* 8029C190 002990D0 3C A0 43 30 */ lis r5, 0x4330
/* 8029C194 002990D4 48 00 00 C4 */ b lbl_8029C258
lbl_8029C198:
/* 8029C198 002990D8 C0 23 00 04 */ lfs f1, 4(r3)
/* 8029C19C 002990DC 6C 80 80 00 */ xoris r0, r4, 0x8000
/* 8029C1A0 002990E0 90 01 00 0C */ stw r0, 0xc(r1)
/* 8029C1A4 002990E4 90 A1 00 08 */ stw r5, 8(r1)
/* 8029C1A8 002990E8 C8 01 00 08 */ lfd f0, 8(r1)
/* 8029C1AC 002990EC EC 00 10 28 */ fsubs f0, f0, f2
/* 8029C1B0 002990F0 EC 01 00 28 */ fsubs f0, f1, f0
/* 8029C1B4 002990F4 D0 03 00 04 */ stfs f0, 4(r3)
/* 8029C1B8 002990F8 C0 03 00 10 */ lfs f0, 0x10(r3)
/* 8029C1BC 002990FC D0 03 00 08 */ stfs f0, 8(r3)
/* 8029C1C0 00299100 A0 83 00 14 */ lhz r4, 0x14(r3)
/* 8029C1C4 00299104 38 04 00 01 */ addi r0, r4, 1
/* 8029C1C8 00299108 B0 03 00 14 */ sth r0, 0x14(r3)
/* 8029C1CC 0029910C C0 03 00 08 */ lfs f0, 8(r3)
/* 8029C1D0 00299110 D0 03 00 0C */ stfs f0, 0xc(r3)
/* 8029C1D4 00299114 A0 03 00 14 */ lhz r0, 0x14(r3)
/* 8029C1D8 00299118 1C 00 00 06 */ mulli r0, r0, 6
/* 8029C1DC 0029911C 7C 87 02 14 */ add r4, r7, r0
/* 8029C1E0 00299120 A8 04 00 00 */ lha r0, 0(r4)
/* 8029C1E4 00299124 2C 00 00 0E */ cmpwi r0, 0xe
/* 8029C1E8 00299128 41 82 00 28 */ beq lbl_8029C210
/* 8029C1EC 0029912C 40 80 00 10 */ bge lbl_8029C1FC
/* 8029C1F0 00299130 2C 00 00 0D */ cmpwi r0, 0xd
/* 8029C1F4 00299134 40 80 00 28 */ bge lbl_8029C21C
/* 8029C1F8 00299138 48 00 00 30 */ b lbl_8029C228
lbl_8029C1FC:
/* 8029C1FC 0029913C 2C 00 00 10 */ cmpwi r0, 0x10
/* 8029C200 00299140 40 80 00 28 */ bge lbl_8029C228
/* 8029C204 00299144 38 00 00 00 */ li r0, 0
/* 8029C208 00299148 90 03 00 1C */ stw r0, 0x1c(r3)
/* 8029C20C 0029914C 48 00 00 A4 */ b lbl_8029C2B0
lbl_8029C210:
/* 8029C210 00299150 38 00 00 02 */ li r0, 2
/* 8029C214 00299154 90 03 00 1C */ stw r0, 0x1c(r3)
/* 8029C218 00299158 48 00 00 98 */ b lbl_8029C2B0
lbl_8029C21C:
/* 8029C21C 0029915C A8 04 00 04 */ lha r0, 4(r4)
/* 8029C220 00299160 B0 03 00 14 */ sth r0, 0x14(r3)
/* 8029C224 00299164 48 00 00 34 */ b lbl_8029C258
lbl_8029C228:
/* 8029C228 00299168 98 03 00 18 */ stb r0, 0x18(r3)
/* 8029C22C 0029916C A8 04 00 04 */ lha r0, 4(r4)
/* 8029C230 00299170 C8 22 BD 08 */ lfd f1, lbl_80455708-_SDA2_BASE_(r2)
/* 8029C234 00299174 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 8029C238 00299178 90 01 00 0C */ stw r0, 0xc(r1)
/* 8029C23C 0029917C 3C 00 43 30 */ lis r0, 0x4330
/* 8029C240 00299180 90 01 00 08 */ stw r0, 8(r1)
/* 8029C244 00299184 C8 01 00 08 */ lfd f0, 8(r1)
/* 8029C248 00299188 EC 20 08 28 */ fsubs f1, f0, f1
/* 8029C24C 0029918C C0 02 BD 00 */ lfs f0, lbl_80455700-_SDA2_BASE_(r2)
/* 8029C250 00299190 EC 01 00 24 */ fdivs f0, f1, f0
/* 8029C254 00299194 D0 03 00 10 */ stfs f0, 0x10(r3)
lbl_8029C258:
/* 8029C258 00299198 C0 23 00 04 */ lfs f1, 4(r3)
/* 8029C25C 0029919C A0 03 00 14 */ lhz r0, 0x14(r3)
/* 8029C260 002991A0 1C C0 00 06 */ mulli r6, r0, 6
/* 8029C264 002991A4 38 06 00 02 */ addi r0, r6, 2
/* 8029C268 002991A8 7C 87 02 AE */ lhax r4, r7, r0
/* 8029C26C 002991AC 6C 80 80 00 */ xoris r0, r4, 0x8000
/* 8029C270 002991B0 90 01 00 0C */ stw r0, 0xc(r1)
/* 8029C274 002991B4 90 A1 00 08 */ stw r5, 8(r1)
/* 8029C278 002991B8 C8 01 00 08 */ lfd f0, 8(r1)
/* 8029C27C 002991BC EC 00 10 28 */ fsubs f0, f0, f2
/* 8029C280 002991C0 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8029C284 002991C4 4C 41 13 82 */ cror 2, 1, 2
/* 8029C288 002991C8 41 82 FF 10 */ beq lbl_8029C198
/* 8029C28C 002991CC 7C 87 32 14 */ add r4, r7, r6
/* 8029C290 002991D0 A8 04 00 02 */ lha r0, 2(r4)
/* 8029C294 002991D4 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 8029C298 002991D8 90 01 00 0C */ stw r0, 0xc(r1)
/* 8029C29C 002991DC 3C 00 43 30 */ lis r0, 0x4330
/* 8029C2A0 002991E0 90 01 00 08 */ stw r0, 8(r1)
/* 8029C2A4 002991E4 C8 01 00 08 */ lfd f0, 8(r1)
/* 8029C2A8 002991E8 EC 20 10 28 */ fsubs f1, f0, f2
/* 8029C2AC 002991EC 48 00 00 15 */ bl JASOscillator_NS_updateCurrentValue
lbl_8029C2B0:
/* 8029C2B0 002991F0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8029C2B4 002991F4 7C 08 03 A6 */ mtlr r0
/* 8029C2B8 002991F8 38 21 00 10 */ addi r1, r1, 0x10
/* 8029C2BC 002991FC 4E 80 00 20 */ blr
.global JASOscillator_NS_updateCurrentValue
JASOscillator_NS_updateCurrentValue:
/* 8029C2C0 00299200 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8029C2C4 00299204 7C 08 02 A6 */ mflr r0
/* 8029C2C8 00299208 90 01 00 34 */ stw r0, 0x34(r1)
/* 8029C2CC 0029920C DB E1 00 20 */ stfd f31, 0x20(r1)
/* 8029C2D0 00299210 F3 E1 00 28 */ psq_st f31, 40(r1), 0, qr0
/* 8029C2D4 00299214 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8029C2D8 00299218 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8029C2DC 0029921C 7C 7E 1B 78 */ mr r30, r3
/* 8029C2E0 00299220 88 03 00 18 */ lbz r0, 0x18(r3)
/* 8029C2E4 00299224 54 00 10 3A */ slwi r0, r0, 2
/* 8029C2E8 00299228 3C 60 80 3C */ lis r3, lbl_803C78A8@ha
/* 8029C2EC 0029922C 38 63 78 A8 */ addi r3, r3, lbl_803C78A8@l
/* 8029C2F0 00299230 7F E3 00 2E */ lwzx r31, r3, r0
/* 8029C2F4 00299234 C0 42 BD 10 */ lfs f2, lbl_80455710-_SDA2_BASE_(r2)
/* 8029C2F8 00299238 C0 1E 00 04 */ lfs f0, 4(r30)
/* 8029C2FC 0029923C EC 00 08 24 */ fdivs f0, f0, f1
/* 8029C300 00299240 EF E2 00 32 */ fmuls f31, f2, f0
/* 8029C304 00299244 FC 20 F8 90 */ fmr f1, f31
/* 8029C308 00299248 48 0C 5D A5 */ bl func_803620AC
/* 8029C30C 0029924C C8 22 BD 18 */ lfd f1, lbl_80455718-_SDA2_BASE_(r2)
/* 8029C310 00299250 90 61 00 0C */ stw r3, 0xc(r1)
/* 8029C314 00299254 3C 00 43 30 */ lis r0, 0x4330
/* 8029C318 00299258 90 01 00 08 */ stw r0, 8(r1)
/* 8029C31C 0029925C C8 01 00 08 */ lfd f0, 8(r1)
/* 8029C320 00299260 EC 00 08 28 */ fsubs f0, f0, f1
/* 8029C324 00299264 EC 5F 00 28 */ fsubs f2, f31, f0
/* 8029C328 00299268 54 60 10 3A */ slwi r0, r3, 2
/* 8029C32C 0029926C C0 62 BC FC */ lfs f3, lbl_804556FC-_SDA2_BASE_(r2)
/* 8029C330 00299270 EC 23 10 28 */ fsubs f1, f3, f2
/* 8029C334 00299274 7C 1F 04 2E */ lfsx f0, r31, r0
/* 8029C338 00299278 EC 21 00 32 */ fmuls f1, f1, f0
/* 8029C33C 0029927C 7C 7F 02 14 */ add r3, r31, r0
/* 8029C340 00299280 C0 03 00 04 */ lfs f0, 4(r3)
/* 8029C344 00299284 EC 02 00 32 */ fmuls f0, f2, f0
/* 8029C348 00299288 EC 81 00 2A */ fadds f4, f1, f0
/* 8029C34C 0029928C C0 1E 00 0C */ lfs f0, 0xc(r30)
/* 8029C350 00299290 EC 40 01 32 */ fmuls f2, f0, f4
/* 8029C354 00299294 C0 3E 00 10 */ lfs f1, 0x10(r30)
/* 8029C358 00299298 EC 03 20 28 */ fsubs f0, f3, f4
/* 8029C35C 0029929C EC 01 00 32 */ fmuls f0, f1, f0
/* 8029C360 002992A0 EC 02 00 2A */ fadds f0, f2, f0
/* 8029C364 002992A4 D0 1E 00 08 */ stfs f0, 8(r30)
/* 8029C368 002992A8 E3 E1 00 28 */ psq_l f31, 40(r1), 0, qr0
/* 8029C36C 002992AC CB E1 00 20 */ lfd f31, 0x20(r1)
/* 8029C370 002992B0 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8029C374 002992B4 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8029C378 002992B8 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8029C37C 002992BC 7C 08 03 A6 */ mtlr r0
/* 8029C380 002992C0 38 21 00 30 */ addi r1, r1, 0x30
/* 8029C384 002992C4 4E 80 00 20 */ blr

144
asm/JAudio2/JASProbe.s Normal file
View File

@ -0,0 +1,144 @@
.include "macros.inc"
.section .text, "ax" # 80290d74
.global JASProbe_NS_start
JASProbe_NS_start:
/* 80290D74 0028DCB4 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80290D78 0028DCB8 7C 08 02 A6 */ mflr r0
/* 80290D7C 0028DCBC 90 01 00 24 */ stw r0, 0x24(r1)
/* 80290D80 0028DCC0 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80290D84 0028DCC4 93 C1 00 18 */ stw r30, 0x18(r1)
/* 80290D88 0028DCC8 7C 7E 1B 78 */ mr r30, r3
/* 80290D8C 0028DCCC 7C 9F 23 78 */ mr r31, r4
/* 80290D90 0028DCD0 48 0A C9 65 */ bl __RAS_OSDisableInterrupts_begin
/* 80290D94 0028DCD4 90 61 00 08 */ stw r3, 8(r1)
/* 80290D98 0028DCD8 93 FE 00 00 */ stw r31, 0(r30)
/* 80290D9C 0028DCDC 48 0B 19 61 */ bl OSGetTime
/* 80290DA0 0028DCE0 90 9E 00 04 */ stw r4, 4(r30)
/* 80290DA4 0028DCE4 80 61 00 08 */ lwz r3, 8(r1)
/* 80290DA8 0028DCE8 48 0A C9 75 */ bl OSRestoreInterrupts
/* 80290DAC 0028DCEC 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80290DB0 0028DCF0 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80290DB4 0028DCF4 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80290DB8 0028DCF8 7C 08 03 A6 */ mtlr r0
/* 80290DBC 0028DCFC 38 21 00 20 */ addi r1, r1, 0x20
/* 80290DC0 0028DD00 4E 80 00 20 */ blr
.global JASProbe_NS_stop
JASProbe_NS_stop:
/* 80290DC4 0028DD04 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 80290DC8 0028DD08 7C 08 02 A6 */ mflr r0
/* 80290DCC 0028DD0C 90 01 00 34 */ stw r0, 0x34(r1)
/* 80290DD0 0028DD10 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 80290DD4 0028DD14 7C 7F 1B 78 */ mr r31, r3
/* 80290DD8 0028DD18 48 0A C9 1D */ bl __RAS_OSDisableInterrupts_begin
/* 80290DDC 0028DD1C 90 61 00 08 */ stw r3, 8(r1)
/* 80290DE0 0028DD20 48 0B 19 1D */ bl OSGetTime
/* 80290DE4 0028DD24 80 1F 00 04 */ lwz r0, 4(r31)
/* 80290DE8 0028DD28 7C 00 20 50 */ subf r0, r0, r4
/* 80290DEC 0028DD2C C8 22 BB 98 */ lfd f1, lbl_80455598-_SDA2_BASE_(r2)
/* 80290DF0 0028DD30 90 01 00 14 */ stw r0, 0x14(r1)
/* 80290DF4 0028DD34 3C 80 43 30 */ lis r4, 0x4330
/* 80290DF8 0028DD38 90 81 00 10 */ stw r4, 0x10(r1)
/* 80290DFC 0028DD3C C8 01 00 10 */ lfd f0, 0x10(r1)
/* 80290E00 0028DD40 EC 00 08 28 */ fsubs f0, f0, f1
/* 80290E04 0028DD44 D0 1F 00 08 */ stfs f0, 8(r31)
/* 80290E08 0028DD48 C0 5F 00 08 */ lfs f2, 8(r31)
/* 80290E0C 0028DD4C 3C 60 80 00 */ lis r3, 0x800000F8@ha
/* 80290E10 0028DD50 80 03 00 F8 */ lwz r0, 0x800000F8@l(r3)
/* 80290E14 0028DD54 54 00 F0 BE */ srwi r0, r0, 2
/* 80290E18 0028DD58 90 01 00 1C */ stw r0, 0x1c(r1)
/* 80290E1C 0028DD5C 90 81 00 18 */ stw r4, 0x18(r1)
/* 80290E20 0028DD60 C8 01 00 18 */ lfd f0, 0x18(r1)
/* 80290E24 0028DD64 EC 20 08 28 */ fsubs f1, f0, f1
/* 80290E28 0028DD68 C0 02 BB 88 */ lfs f0, lbl_80455588-_SDA2_BASE_(r2)
/* 80290E2C 0028DD6C EC 01 00 24 */ fdivs f0, f1, f0
/* 80290E30 0028DD70 EC 02 00 24 */ fdivs f0, f2, f0
/* 80290E34 0028DD74 D0 1F 00 08 */ stfs f0, 8(r31)
/* 80290E38 0028DD78 C0 1F 00 10 */ lfs f0, 0x10(r31)
/* 80290E3C 0028DD7C C0 3F 00 08 */ lfs f1, 8(r31)
/* 80290E40 0028DD80 FC 00 08 40 */ fcmpo cr0, f0, f1
/* 80290E44 0028DD84 40 80 00 14 */ bge lbl_80290E58
/* 80290E48 0028DD88 80 1F 01 A8 */ lwz r0, 0x1a8(r31)
/* 80290E4C 0028DD8C 28 00 00 64 */ cmplwi r0, 0x64
/* 80290E50 0028DD90 40 81 00 08 */ ble lbl_80290E58
/* 80290E54 0028DD94 D0 3F 00 10 */ stfs f1, 0x10(r31)
lbl_80290E58:
/* 80290E58 0028DD98 C0 22 BB 8C */ lfs f1, lbl_8045558C-_SDA2_BASE_(r2)
/* 80290E5C 0028DD9C C0 1F 00 0C */ lfs f0, 0xc(r31)
/* 80290E60 0028DDA0 EC 41 00 32 */ fmuls f2, f1, f0
/* 80290E64 0028DDA4 C0 22 BB 90 */ lfs f1, lbl_80455590-_SDA2_BASE_(r2)
/* 80290E68 0028DDA8 C0 1F 00 08 */ lfs f0, 8(r31)
/* 80290E6C 0028DDAC EC 01 00 32 */ fmuls f0, f1, f0
/* 80290E70 0028DDB0 EC 02 00 2A */ fadds f0, f2, f0
/* 80290E74 0028DDB4 D0 1F 00 0C */ stfs f0, 0xc(r31)
/* 80290E78 0028DDB8 80 9F 01 A8 */ lwz r4, 0x1a8(r31)
/* 80290E7C 0028DDBC 38 60 00 64 */ li r3, 0x64
/* 80290E80 0028DDC0 7C 04 1B 96 */ divwu r0, r4, r3
/* 80290E84 0028DDC4 7C 00 19 D6 */ mullw r0, r0, r3
/* 80290E88 0028DDC8 7C 00 20 50 */ subf r0, r0, r4
/* 80290E8C 0028DDCC C0 3F 00 14 */ lfs f1, 0x14(r31)
/* 80290E90 0028DDD0 54 00 10 3A */ slwi r0, r0, 2
/* 80290E94 0028DDD4 7C 7F 02 14 */ add r3, r31, r0
/* 80290E98 0028DDD8 C0 03 00 18 */ lfs f0, 0x18(r3)
/* 80290E9C 0028DDDC EC 01 00 28 */ fsubs f0, f1, f0
/* 80290EA0 0028DDE0 D0 1F 00 14 */ stfs f0, 0x14(r31)
/* 80290EA4 0028DDE4 C0 1F 00 08 */ lfs f0, 8(r31)
/* 80290EA8 0028DDE8 D0 03 00 18 */ stfs f0, 0x18(r3)
/* 80290EAC 0028DDEC C0 3F 00 14 */ lfs f1, 0x14(r31)
/* 80290EB0 0028DDF0 C0 1F 00 08 */ lfs f0, 8(r31)
/* 80290EB4 0028DDF4 EC 01 00 2A */ fadds f0, f1, f0
/* 80290EB8 0028DDF8 D0 1F 00 14 */ stfs f0, 0x14(r31)
/* 80290EBC 0028DDFC 80 7F 01 A8 */ lwz r3, 0x1a8(r31)
/* 80290EC0 0028DE00 38 03 00 01 */ addi r0, r3, 1
/* 80290EC4 0028DE04 90 1F 01 A8 */ stw r0, 0x1a8(r31)
/* 80290EC8 0028DE08 80 61 00 08 */ lwz r3, 8(r1)
/* 80290ECC 0028DE0C 48 0A C8 51 */ bl OSRestoreInterrupts
/* 80290ED0 0028DE10 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 80290ED4 0028DE14 80 01 00 34 */ lwz r0, 0x34(r1)
/* 80290ED8 0028DE18 7C 08 03 A6 */ mtlr r0
/* 80290EDC 0028DE1C 38 21 00 30 */ addi r1, r1, 0x30
/* 80290EE0 0028DE20 4E 80 00 20 */ blr
.global JASProbe_NS_start_X1_
JASProbe_NS_start_X1_:
/* 80290EE4 0028DE24 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80290EE8 0028DE28 7C 08 02 A6 */ mflr r0
/* 80290EEC 0028DE2C 90 01 00 14 */ stw r0, 0x14(r1)
/* 80290EF0 0028DE30 2C 03 00 10 */ cmpwi r3, 0x10
/* 80290EF4 0028DE34 40 80 00 20 */ bge lbl_80290F14
/* 80290EF8 0028DE38 54 60 10 3A */ slwi r0, r3, 2
/* 80290EFC 0028DE3C 3C 60 80 43 */ lis r3, lbl_80431620@ha
/* 80290F00 0028DE40 38 63 16 20 */ addi r3, r3, lbl_80431620@l
/* 80290F04 0028DE44 7C 63 00 2E */ lwzx r3, r3, r0
/* 80290F08 0028DE48 28 03 00 00 */ cmplwi r3, 0
/* 80290F0C 0028DE4C 41 82 00 08 */ beq lbl_80290F14
/* 80290F10 0028DE50 4B FF FE 65 */ bl JASProbe_NS_start
lbl_80290F14:
/* 80290F14 0028DE54 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80290F18 0028DE58 7C 08 03 A6 */ mtlr r0
/* 80290F1C 0028DE5C 38 21 00 10 */ addi r1, r1, 0x10
/* 80290F20 0028DE60 4E 80 00 20 */ blr
.global JASProbe_NS_stop_X1_
JASProbe_NS_stop_X1_:
/* 80290F24 0028DE64 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80290F28 0028DE68 7C 08 02 A6 */ mflr r0
/* 80290F2C 0028DE6C 90 01 00 14 */ stw r0, 0x14(r1)
/* 80290F30 0028DE70 2C 03 00 10 */ cmpwi r3, 0x10
/* 80290F34 0028DE74 40 80 00 20 */ bge lbl_80290F54
/* 80290F38 0028DE78 54 60 10 3A */ slwi r0, r3, 2
/* 80290F3C 0028DE7C 3C 60 80 43 */ lis r3, lbl_80431620@ha
/* 80290F40 0028DE80 38 63 16 20 */ addi r3, r3, lbl_80431620@l
/* 80290F44 0028DE84 7C 63 00 2E */ lwzx r3, r3, r0
/* 80290F48 0028DE88 28 03 00 00 */ cmplwi r3, 0
/* 80290F4C 0028DE8C 41 82 00 08 */ beq lbl_80290F54
/* 80290F50 0028DE90 4B FF FE 75 */ bl JASProbe_NS_stop
lbl_80290F54:
/* 80290F54 0028DE94 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80290F58 0028DE98 7C 08 03 A6 */ mtlr r0
/* 80290F5C 0028DE9C 38 21 00 10 */ addi r1, r1, 0x10
/* 80290F60 0028DEA0 4E 80 00 20 */ blr

View File

@ -0,0 +1,181 @@
.include "macros.inc"
.section .text, "ax" # 80293644
.global JASRegisterParam
JASRegisterParam:
/* 80293644 00290584 38 80 00 00 */ li r4, 0
/* 80293648 00290588 7C 85 23 78 */ mr r5, r4
/* 8029364C 0029058C 38 00 00 0E */ li r0, 0xe
/* 80293650 00290590 7C 09 03 A6 */ mtctr r0
lbl_80293654:
/* 80293654 00290594 7C A3 23 2E */ sthx r5, r3, r4
/* 80293658 00290598 38 84 00 02 */ addi r4, r4, 2
/* 8029365C 0029059C 42 00 FF F8 */ bdnz lbl_80293654
/* 80293660 002905A0 4E 80 00 20 */ blr
.global JASRegisterParam_NS_init
JASRegisterParam_NS_init:
/* 80293664 002905A4 38 80 00 00 */ li r4, 0
/* 80293668 002905A8 7C 85 23 78 */ mr r5, r4
/* 8029366C 002905AC 38 00 00 0E */ li r0, 0xe
/* 80293670 002905B0 7C 09 03 A6 */ mtctr r0
lbl_80293674:
/* 80293674 002905B4 7C A3 23 2E */ sthx r5, r3, r4
/* 80293678 002905B8 38 84 00 02 */ addi r4, r4, 2
/* 8029367C 002905BC 42 00 FF F8 */ bdnz lbl_80293674
/* 80293680 002905C0 4E 80 00 20 */ blr
.global JASRegisterParam_NS_write
JASRegisterParam_NS_write:
/* 80293684 002905C4 2C 04 00 0E */ cmpwi r4, 0xe
/* 80293688 002905C8 40 80 00 28 */ bge lbl_802936B0
/* 8029368C 002905CC 2C 04 00 02 */ cmpwi r4, 2
/* 80293690 002905D0 41 81 00 14 */ bgt lbl_802936A4
/* 80293694 002905D4 54 A5 06 3E */ clrlwi r5, r5, 0x18
/* 80293698 002905D8 54 80 08 3C */ slwi r0, r4, 1
/* 8029369C 002905DC 7C A3 03 2E */ sthx r5, r3, r0
/* 802936A0 002905E0 4E 80 00 20 */ blr
lbl_802936A4:
/* 802936A4 002905E4 54 80 08 3C */ slwi r0, r4, 1
/* 802936A8 002905E8 7C A3 03 2E */ sthx r5, r3, r0
/* 802936AC 002905EC 4E 80 00 20 */ blr
lbl_802936B0:
/* 802936B0 002905F0 38 04 FF E0 */ addi r0, r4, -32
/* 802936B4 002905F4 28 00 00 09 */ cmplwi r0, 9
/* 802936B8 002905F8 4D 81 00 20 */ bgtlr
/* 802936BC 002905FC 3C 80 80 3C */ lis r4, lbl_803C5B90@ha
/* 802936C0 00290600 38 84 5B 90 */ addi r4, r4, lbl_803C5B90@l
/* 802936C4 00290604 54 00 10 3A */ slwi r0, r0, 2
/* 802936C8 00290608 7C 04 00 2E */ lwzx r0, r4, r0
/* 802936CC 0029060C 7C 09 03 A6 */ mtctr r0
/* 802936D0 00290610 4E 80 04 20 */ bctr
/* 802936D4 00290614 54 A0 C6 3E */ rlwinm r0, r5, 0x18, 0x18, 0x1f
/* 802936D8 00290618 B0 03 00 00 */ sth r0, 0(r3)
/* 802936DC 0029061C 54 A0 06 3E */ clrlwi r0, r5, 0x18
/* 802936E0 00290620 B0 03 00 02 */ sth r0, 2(r3)
/* 802936E4 00290624 4E 80 00 20 */ blr
/* 802936E8 00290628 54 A0 84 3E */ srwi r0, r5, 0x10
/* 802936EC 0029062C B0 03 00 08 */ sth r0, 8(r3)
/* 802936F0 00290630 B0 A3 00 0A */ sth r5, 0xa(r3)
/* 802936F4 00290634 4E 80 00 20 */ blr
/* 802936F8 00290638 A0 03 00 08 */ lhz r0, 8(r3)
/* 802936FC 0029063C 54 00 06 3E */ clrlwi r0, r0, 0x18
/* 80293700 00290640 B0 03 00 08 */ sth r0, 8(r3)
/* 80293704 00290644 A0 83 00 08 */ lhz r4, 8(r3)
/* 80293708 00290648 54 A0 44 2E */ rlwinm r0, r5, 8, 0x10, 0x17
/* 8029370C 0029064C 7C 80 03 78 */ or r0, r4, r0
/* 80293710 00290650 B0 03 00 08 */ sth r0, 8(r3)
/* 80293714 00290654 4E 80 00 20 */ blr
/* 80293718 00290658 A0 03 00 08 */ lhz r0, 8(r3)
/* 8029371C 0029065C 54 00 04 2E */ rlwinm r0, r0, 0, 0x10, 0x17
/* 80293720 00290660 B0 03 00 08 */ sth r0, 8(r3)
/* 80293724 00290664 A0 83 00 08 */ lhz r4, 8(r3)
/* 80293728 00290668 54 A0 06 3E */ clrlwi r0, r5, 0x18
/* 8029372C 0029066C 7C 80 03 78 */ or r0, r4, r0
/* 80293730 00290670 B0 03 00 08 */ sth r0, 8(r3)
/* 80293734 00290674 4E 80 00 20 */ blr
/* 80293738 00290678 A0 03 00 0A */ lhz r0, 0xa(r3)
/* 8029373C 0029067C 54 00 06 3E */ clrlwi r0, r0, 0x18
/* 80293740 00290680 B0 03 00 0A */ sth r0, 0xa(r3)
/* 80293744 00290684 A0 83 00 0A */ lhz r4, 0xa(r3)
/* 80293748 00290688 54 A0 44 2E */ rlwinm r0, r5, 8, 0x10, 0x17
/* 8029374C 0029068C 7C 80 03 78 */ or r0, r4, r0
/* 80293750 00290690 B0 03 00 0A */ sth r0, 0xa(r3)
/* 80293754 00290694 4E 80 00 20 */ blr
/* 80293758 00290698 A0 03 00 0A */ lhz r0, 0xa(r3)
/* 8029375C 0029069C 54 00 04 2E */ rlwinm r0, r0, 0, 0x10, 0x17
/* 80293760 002906A0 B0 03 00 0A */ sth r0, 0xa(r3)
/* 80293764 002906A4 A0 83 00 0A */ lhz r4, 0xa(r3)
/* 80293768 002906A8 54 A0 06 3E */ clrlwi r0, r5, 0x18
/* 8029376C 002906AC 7C 80 03 78 */ or r0, r4, r0
/* 80293770 002906B0 B0 03 00 0A */ sth r0, 0xa(r3)
/* 80293774 002906B4 4E 80 00 20 */ blr
/* 80293778 002906B8 54 A0 84 3E */ srwi r0, r5, 0x10
/* 8029377C 002906BC B0 03 00 0C */ sth r0, 0xc(r3)
/* 80293780 002906C0 B0 A3 00 0E */ sth r5, 0xe(r3)
/* 80293784 002906C4 4E 80 00 20 */ blr
/* 80293788 002906C8 54 A0 84 3E */ srwi r0, r5, 0x10
/* 8029378C 002906CC B0 03 00 10 */ sth r0, 0x10(r3)
/* 80293790 002906D0 B0 A3 00 12 */ sth r5, 0x12(r3)
/* 80293794 002906D4 4E 80 00 20 */ blr
/* 80293798 002906D8 54 A0 84 3E */ srwi r0, r5, 0x10
/* 8029379C 002906DC B0 03 00 14 */ sth r0, 0x14(r3)
/* 802937A0 002906E0 B0 A3 00 16 */ sth r5, 0x16(r3)
/* 802937A4 002906E4 4E 80 00 20 */ blr
/* 802937A8 002906E8 54 A0 84 3E */ srwi r0, r5, 0x10
/* 802937AC 002906EC B0 03 00 18 */ sth r0, 0x18(r3)
/* 802937B0 002906F0 B0 A3 00 1A */ sth r5, 0x1a(r3)
/* 802937B4 002906F4 4E 80 00 20 */ blr
.global JASRegisterParam_NS_read
JASRegisterParam_NS_read:
/* 802937B8 002906F8 2C 04 00 0E */ cmpwi r4, 0xe
/* 802937BC 002906FC 40 80 00 10 */ bge lbl_802937CC
/* 802937C0 00290700 54 80 08 3C */ slwi r0, r4, 1
/* 802937C4 00290704 7C 63 02 2E */ lhzx r3, r3, r0
/* 802937C8 00290708 4E 80 00 20 */ blr
lbl_802937CC:
/* 802937CC 0029070C 38 A0 00 00 */ li r5, 0
/* 802937D0 00290710 38 04 FF E0 */ addi r0, r4, -32
/* 802937D4 00290714 28 00 00 09 */ cmplwi r0, 9
/* 802937D8 00290718 41 81 00 DC */ bgt lbl_802938B4
/* 802937DC 0029071C 3C 80 80 3C */ lis r4, lbl_803C5BB8@ha
/* 802937E0 00290720 38 84 5B B8 */ addi r4, r4, lbl_803C5BB8@l
/* 802937E4 00290724 54 00 10 3A */ slwi r0, r0, 2
/* 802937E8 00290728 7C 04 00 2E */ lwzx r0, r4, r0
/* 802937EC 0029072C 7C 09 03 A6 */ mtctr r0
/* 802937F0 00290730 4E 80 04 20 */ bctr
/* 802937F4 00290734 A0 83 00 00 */ lhz r4, 0(r3)
/* 802937F8 00290738 A0 03 00 02 */ lhz r0, 2(r3)
/* 802937FC 0029073C 54 00 06 3E */ clrlwi r0, r0, 0x18
/* 80293800 00290740 7C 05 03 78 */ mr r5, r0
/* 80293804 00290744 50 85 44 2E */ rlwimi r5, r4, 8, 0x10, 0x17
/* 80293808 00290748 48 00 00 AC */ b lbl_802938B4
/* 8029380C 0029074C A0 A3 00 08 */ lhz r5, 8(r3)
/* 80293810 00290750 54 A5 80 1E */ slwi r5, r5, 0x10
/* 80293814 00290754 A0 03 00 0A */ lhz r0, 0xa(r3)
/* 80293818 00290758 7C A5 03 78 */ or r5, r5, r0
/* 8029381C 0029075C 48 00 00 98 */ b lbl_802938B4
/* 80293820 00290760 A0 03 00 08 */ lhz r0, 8(r3)
/* 80293824 00290764 7C 00 46 70 */ srawi r0, r0, 8
/* 80293828 00290768 54 00 06 3E */ clrlwi r0, r0, 0x18
/* 8029382C 0029076C 7C 05 03 78 */ mr r5, r0
/* 80293830 00290770 48 00 00 84 */ b lbl_802938B4
/* 80293834 00290774 A0 03 00 08 */ lhz r0, 8(r3)
/* 80293838 00290778 54 00 06 3E */ clrlwi r0, r0, 0x18
/* 8029383C 0029077C 7C 05 03 78 */ mr r5, r0
/* 80293840 00290780 48 00 00 74 */ b lbl_802938B4
/* 80293844 00290784 A0 03 00 0A */ lhz r0, 0xa(r3)
/* 80293848 00290788 7C 00 46 70 */ srawi r0, r0, 8
/* 8029384C 0029078C 54 00 06 3E */ clrlwi r0, r0, 0x18
/* 80293850 00290790 7C 05 03 78 */ mr r5, r0
/* 80293854 00290794 48 00 00 60 */ b lbl_802938B4
/* 80293858 00290798 A0 03 00 0A */ lhz r0, 0xa(r3)
/* 8029385C 0029079C 54 00 06 3E */ clrlwi r0, r0, 0x18
/* 80293860 002907A0 7C 05 03 78 */ mr r5, r0
/* 80293864 002907A4 48 00 00 50 */ b lbl_802938B4
/* 80293868 002907A8 A0 A3 00 0C */ lhz r5, 0xc(r3)
/* 8029386C 002907AC 54 A5 80 1E */ slwi r5, r5, 0x10
/* 80293870 002907B0 A0 03 00 0E */ lhz r0, 0xe(r3)
/* 80293874 002907B4 7C A5 03 78 */ or r5, r5, r0
/* 80293878 002907B8 48 00 00 3C */ b lbl_802938B4
/* 8029387C 002907BC A0 A3 00 10 */ lhz r5, 0x10(r3)
/* 80293880 002907C0 54 A5 80 1E */ slwi r5, r5, 0x10
/* 80293884 002907C4 A0 03 00 12 */ lhz r0, 0x12(r3)
/* 80293888 002907C8 7C A5 03 78 */ or r5, r5, r0
/* 8029388C 002907CC 48 00 00 28 */ b lbl_802938B4
/* 80293890 002907D0 A0 A3 00 14 */ lhz r5, 0x14(r3)
/* 80293894 002907D4 54 A5 80 1E */ slwi r5, r5, 0x10
/* 80293898 002907D8 A0 03 00 16 */ lhz r0, 0x16(r3)
/* 8029389C 002907DC 7C A5 03 78 */ or r5, r5, r0
/* 802938A0 002907E0 48 00 00 14 */ b lbl_802938B4
/* 802938A4 002907E4 A0 A3 00 14 */ lhz r5, 0x14(r3)
/* 802938A8 002907E8 54 A5 80 1E */ slwi r5, r5, 0x10
/* 802938AC 002907EC A0 03 00 16 */ lhz r0, 0x16(r3)
/* 802938B0 002907F0 7C A5 03 78 */ or r5, r5, r0
lbl_802938B4:
/* 802938B4 002907F4 7C A3 2B 78 */ mr r3, r5
/* 802938B8 002907F8 4E 80 00 20 */ blr

75
asm/JAudio2/JASReport.s Normal file
View File

@ -0,0 +1,75 @@
.include "macros.inc"
.section .text, "ax" # 80290f64
.global JASReport
JASReport:
/* 80290F64 0028DEA4 94 21 FF 80 */ stwu r1, -0x80(r1)
/* 80290F68 0028DEA8 7C 08 02 A6 */ mflr r0
/* 80290F6C 0028DEAC 90 01 00 84 */ stw r0, 0x84(r1)
/* 80290F70 0028DEB0 93 E1 00 7C */ stw r31, 0x7c(r1)
/* 80290F74 0028DEB4 7C 7F 1B 78 */ mr r31, r3
/* 80290F78 0028DEB8 40 86 00 24 */ bne cr1, lbl_80290F9C
/* 80290F7C 0028DEBC D8 21 00 28 */ stfd f1, 0x28(r1)
/* 80290F80 0028DEC0 D8 41 00 30 */ stfd f2, 0x30(r1)
/* 80290F84 0028DEC4 D8 61 00 38 */ stfd f3, 0x38(r1)
/* 80290F88 0028DEC8 D8 81 00 40 */ stfd f4, 0x40(r1)
/* 80290F8C 0028DECC D8 A1 00 48 */ stfd f5, 0x48(r1)
/* 80290F90 0028DED0 D8 C1 00 50 */ stfd f6, 0x50(r1)
/* 80290F94 0028DED4 D8 E1 00 58 */ stfd f7, 0x58(r1)
/* 80290F98 0028DED8 D9 01 00 60 */ stfd f8, 0x60(r1)
lbl_80290F9C:
/* 80290F9C 0028DEDC 90 61 00 08 */ stw r3, 8(r1)
/* 80290FA0 0028DEE0 90 81 00 0C */ stw r4, 0xc(r1)
/* 80290FA4 0028DEE4 90 A1 00 10 */ stw r5, 0x10(r1)
/* 80290FA8 0028DEE8 90 C1 00 14 */ stw r6, 0x14(r1)
/* 80290FAC 0028DEEC 90 E1 00 18 */ stw r7, 0x18(r1)
/* 80290FB0 0028DEF0 91 01 00 1C */ stw r8, 0x1c(r1)
/* 80290FB4 0028DEF4 91 21 00 20 */ stw r9, 0x20(r1)
/* 80290FB8 0028DEF8 91 41 00 24 */ stw r10, 0x24(r1)
/* 80290FBC 0028DEFC 80 0D 8C A0 */ lwz r0, lbl_80451220-_SDA_BASE_(r13)
/* 80290FC0 0028DF00 28 00 00 00 */ cmplwi r0, 0
/* 80290FC4 0028DF04 41 82 00 88 */ beq lbl_8029104C
/* 80290FC8 0028DF08 3C 00 01 00 */ lis r0, 0x100
/* 80290FCC 0028DF0C 90 01 00 6C */ stw r0, 0x6c(r1)
/* 80290FD0 0028DF10 38 01 00 88 */ addi r0, r1, 0x88
/* 80290FD4 0028DF14 90 01 00 70 */ stw r0, 0x70(r1)
/* 80290FD8 0028DF18 38 01 00 08 */ addi r0, r1, 8
/* 80290FDC 0028DF1C 90 01 00 74 */ stw r0, 0x74(r1)
/* 80290FE0 0028DF20 3C 60 80 43 */ lis r3, lbl_80431660@ha
/* 80290FE4 0028DF24 38 63 16 60 */ addi r3, r3, lbl_80431660@l
/* 80290FE8 0028DF28 90 61 00 68 */ stw r3, 0x68(r1)
/* 80290FEC 0028DF2C 48 0A E0 55 */ bl OSLockMutex
/* 80290FF0 0028DF30 80 6D 8C A0 */ lwz r3, lbl_80451220-_SDA_BASE_(r13)
/* 80290FF4 0028DF34 80 0D 8C AC */ lwz r0, lbl_8045122C-_SDA_BASE_(r13)
/* 80290FF8 0028DF38 54 00 30 32 */ slwi r0, r0, 6
/* 80290FFC 0028DF3C 7C 63 02 14 */ add r3, r3, r0
/* 80291000 0028DF40 38 80 00 40 */ li r4, 0x40
/* 80291004 0028DF44 7F E5 FB 78 */ mr r5, r31
/* 80291008 0028DF48 38 C1 00 6C */ addi r6, r1, 0x6c
/* 8029100C 0028DF4C 48 0D 56 85 */ bl func_80366690
/* 80291010 0028DF50 80 6D 8C AC */ lwz r3, lbl_8045122C-_SDA_BASE_(r13)
/* 80291014 0028DF54 38 03 00 01 */ addi r0, r3, 1
/* 80291018 0028DF58 90 0D 8C AC */ stw r0, lbl_8045122C-_SDA_BASE_(r13)
/* 8029101C 0028DF5C 80 8D 8C A4 */ lwz r4, lbl_80451224-_SDA_BASE_(r13)
/* 80291020 0028DF60 7C 00 20 00 */ cmpw r0, r4
/* 80291024 0028DF64 41 80 00 0C */ blt lbl_80291030
/* 80291028 0028DF68 38 00 00 00 */ li r0, 0
/* 8029102C 0028DF6C 90 0D 8C AC */ stw r0, lbl_8045122C-_SDA_BASE_(r13)
lbl_80291030:
/* 80291030 0028DF70 80 6D 8C A8 */ lwz r3, lbl_80451228-_SDA_BASE_(r13)
/* 80291034 0028DF74 7C 03 20 00 */ cmpw r3, r4
/* 80291038 0028DF78 40 80 00 0C */ bge lbl_80291044
/* 8029103C 0028DF7C 38 03 00 01 */ addi r0, r3, 1
/* 80291040 0028DF80 90 0D 8C A8 */ stw r0, lbl_80451228-_SDA_BASE_(r13)
lbl_80291044:
/* 80291044 0028DF84 80 61 00 68 */ lwz r3, 0x68(r1)
/* 80291048 0028DF88 48 0A E0 D5 */ bl OSUnlockMutex
lbl_8029104C:
/* 8029104C 0028DF8C 83 E1 00 7C */ lwz r31, 0x7c(r1)
/* 80291050 0028DF90 80 01 00 84 */ lwz r0, 0x84(r1)
/* 80291054 0028DF94 7C 08 03 A6 */ mtlr r0
/* 80291058 0028DF98 38 21 00 80 */ addi r1, r1, 0x80
/* 8029105C 0028DF9C 4E 80 00 20 */ blr

View File

@ -0,0 +1,131 @@
.include "macros.inc"
.section .text, "ax" # 80290bd0
.global JASResArcLoader_NS_getResSize
JASResArcLoader_NS_getResSize:
/* 80290BD0 0028DB10 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80290BD4 0028DB14 7C 08 02 A6 */ mflr r0
/* 80290BD8 0028DB18 90 01 00 14 */ stw r0, 0x14(r1)
/* 80290BDC 0028DB1C 48 04 5B 95 */ bl JKRArchive_NS_findIdResource
/* 80290BE0 0028DB20 28 03 00 00 */ cmplwi r3, 0
/* 80290BE4 0028DB24 40 82 00 0C */ bne lbl_80290BF0
/* 80290BE8 0028DB28 38 60 00 00 */ li r3, 0
/* 80290BEC 0028DB2C 48 00 00 08 */ b lbl_80290BF4
lbl_80290BF0:
/* 80290BF0 0028DB30 80 63 00 0C */ lwz r3, 0xc(r3)
lbl_80290BF4:
/* 80290BF4 0028DB34 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80290BF8 0028DB38 7C 08 03 A6 */ mtlr r0
/* 80290BFC 0028DB3C 38 21 00 10 */ addi r1, r1, 0x10
/* 80290C00 0028DB40 4E 80 00 20 */ blr
.global JASResArcLoader_NS_getResMaxSize
JASResArcLoader_NS_getResMaxSize:
/* 80290C04 0028DB44 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80290C08 0028DB48 7C 08 02 A6 */ mflr r0
/* 80290C0C 0028DB4C 90 01 00 24 */ stw r0, 0x24(r1)
/* 80290C10 0028DB50 39 61 00 20 */ addi r11, r1, 0x20
/* 80290C14 0028DB54 48 0D 15 C5 */ bl func_803621D8
/* 80290C18 0028DB58 7C 7C 1B 78 */ mr r28, r3
/* 80290C1C 0028DB5C 80 63 00 44 */ lwz r3, 0x44(r3)
/* 80290C20 0028DB60 83 E3 00 08 */ lwz r31, 8(r3)
/* 80290C24 0028DB64 3B C0 00 00 */ li r30, 0
/* 80290C28 0028DB68 3B A0 00 00 */ li r29, 0
/* 80290C2C 0028DB6C 48 00 00 2C */ b lbl_80290C58
lbl_80290C30:
/* 80290C30 0028DB70 7F 83 E3 78 */ mr r3, r28
/* 80290C34 0028DB74 7F A4 EB 78 */ mr r4, r29
/* 80290C38 0028DB78 48 04 5A 4D */ bl JKRArchive_NS_findIdxResource
/* 80290C3C 0028DB7C 28 03 00 00 */ cmplwi r3, 0
/* 80290C40 0028DB80 41 82 00 14 */ beq lbl_80290C54
/* 80290C44 0028DB84 80 03 00 0C */ lwz r0, 0xc(r3)
/* 80290C48 0028DB88 7C 1E 00 40 */ cmplw r30, r0
/* 80290C4C 0028DB8C 40 80 00 08 */ bge lbl_80290C54
/* 80290C50 0028DB90 7C 1E 03 78 */ mr r30, r0
lbl_80290C54:
/* 80290C54 0028DB94 3B BD 00 01 */ addi r29, r29, 1
lbl_80290C58:
/* 80290C58 0028DB98 7C 1D F8 40 */ cmplw r29, r31
/* 80290C5C 0028DB9C 41 80 FF D4 */ blt lbl_80290C30
/* 80290C60 0028DBA0 7F C3 F3 78 */ mr r3, r30
/* 80290C64 0028DBA4 39 61 00 20 */ addi r11, r1, 0x20
/* 80290C68 0028DBA8 48 0D 15 BD */ bl func_80362224
/* 80290C6C 0028DBAC 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80290C70 0028DBB0 7C 08 03 A6 */ mtlr r0
/* 80290C74 0028DBB4 38 21 00 20 */ addi r1, r1, 0x20
/* 80290C78 0028DBB8 4E 80 00 20 */ blr
.global JASResArcLoader_NS_loadResourceCallback
JASResArcLoader_NS_loadResourceCallback:
/* 80290C7C 0028DBBC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80290C80 0028DBC0 7C 08 02 A6 */ mflr r0
/* 80290C84 0028DBC4 90 01 00 14 */ stw r0, 0x14(r1)
/* 80290C88 0028DBC8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80290C8C 0028DBCC 93 C1 00 08 */ stw r30, 8(r1)
/* 80290C90 0028DBD0 7C 7E 1B 78 */ mr r30, r3
/* 80290C94 0028DBD4 80 63 00 00 */ lwz r3, 0(r3)
/* 80290C98 0028DBD8 80 9E 00 08 */ lwz r4, 8(r30)
/* 80290C9C 0028DBDC 80 BE 00 0C */ lwz r5, 0xc(r30)
/* 80290CA0 0028DBE0 A0 DE 00 04 */ lhz r6, 4(r30)
/* 80290CA4 0028DBE4 48 04 52 9D */ bl JKRArchive_NS_readResource_X2_
/* 80290CA8 0028DBE8 7C 7F 1B 78 */ mr r31, r3
/* 80290CAC 0028DBEC 81 9E 00 10 */ lwz r12, 0x10(r30)
/* 80290CB0 0028DBF0 28 0C 00 00 */ cmplwi r12, 0
/* 80290CB4 0028DBF4 41 82 00 10 */ beq lbl_80290CC4
/* 80290CB8 0028DBF8 80 9E 00 14 */ lwz r4, 0x14(r30)
/* 80290CBC 0028DBFC 7D 89 03 A6 */ mtctr r12
/* 80290CC0 0028DC00 4E 80 04 21 */ bctrl
lbl_80290CC4:
/* 80290CC4 0028DC04 28 1F 00 00 */ cmplwi r31, 0
/* 80290CC8 0028DC08 40 82 00 20 */ bne lbl_80290CE8
/* 80290CCC 0028DC0C 80 7E 00 18 */ lwz r3, 0x18(r30)
/* 80290CD0 0028DC10 28 03 00 00 */ cmplwi r3, 0
/* 80290CD4 0028DC14 41 82 00 2C */ beq lbl_80290D00
/* 80290CD8 0028DC18 38 80 FF FF */ li r4, -1
/* 80290CDC 0028DC1C 38 A0 00 01 */ li r5, 1
/* 80290CE0 0028DC20 48 0A DD 15 */ bl OSSendMessage
/* 80290CE4 0028DC24 48 00 00 1C */ b lbl_80290D00
lbl_80290CE8:
/* 80290CE8 0028DC28 80 7E 00 18 */ lwz r3, 0x18(r30)
/* 80290CEC 0028DC2C 28 03 00 00 */ cmplwi r3, 0
/* 80290CF0 0028DC30 41 82 00 10 */ beq lbl_80290D00
/* 80290CF4 0028DC34 38 80 00 00 */ li r4, 0
/* 80290CF8 0028DC38 38 A0 00 01 */ li r5, 1
/* 80290CFC 0028DC3C 48 0A DC F9 */ bl OSSendMessage
lbl_80290D00:
/* 80290D00 0028DC40 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80290D04 0028DC44 83 C1 00 08 */ lwz r30, 8(r1)
/* 80290D08 0028DC48 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80290D0C 0028DC4C 7C 08 03 A6 */ mtlr r0
/* 80290D10 0028DC50 38 21 00 10 */ addi r1, r1, 0x10
/* 80290D14 0028DC54 4E 80 00 20 */ blr
.global JASResArcLoader_NS_loadResourceAsync
JASResArcLoader_NS_loadResourceAsync:
/* 80290D18 0028DC58 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 80290D1C 0028DC5C 7C 08 02 A6 */ mflr r0
/* 80290D20 0028DC60 90 01 00 34 */ stw r0, 0x34(r1)
/* 80290D24 0028DC64 90 61 00 08 */ stw r3, 8(r1)
/* 80290D28 0028DC68 B0 81 00 0C */ sth r4, 0xc(r1)
/* 80290D2C 0028DC6C 90 A1 00 10 */ stw r5, 0x10(r1)
/* 80290D30 0028DC70 90 C1 00 14 */ stw r6, 0x14(r1)
/* 80290D34 0028DC74 38 00 00 00 */ li r0, 0
/* 80290D38 0028DC78 90 01 00 18 */ stw r0, 0x18(r1)
/* 80290D3C 0028DC7C 90 01 00 1C */ stw r0, 0x1c(r1)
/* 80290D40 0028DC80 90 01 00 20 */ stw r0, 0x20(r1)
/* 80290D44 0028DC84 90 E1 00 18 */ stw r7, 0x18(r1)
/* 80290D48 0028DC88 91 01 00 1C */ stw r8, 0x1c(r1)
/* 80290D4C 0028DC8C 4B FF F1 B1 */ bl JASDvd_NS_getThreadPointer
.global JASResArcLoader_NS_loadResourceCallback
/* 80290D50 0028DC90 3C 80 80 29 */ lis r4, JASResArcLoader_NS_loadResourceCallback@ha
.global JASResArcLoader_NS_loadResourceCallback
/* 80290D54 0028DC94 38 84 0C 7C */ addi r4, r4, JASResArcLoader_NS_loadResourceCallback@l
/* 80290D58 0028DC98 38 A1 00 08 */ addi r5, r1, 8
/* 80290D5C 0028DC9C 38 C0 00 1C */ li r6, 0x1c
/* 80290D60 0028DCA0 4B FF ED FD */ bl JASTaskThread_NS_sendCmdMsg
/* 80290D64 0028DCA4 80 01 00 34 */ lwz r0, 0x34(r1)
/* 80290D68 0028DCA8 7C 08 03 A6 */ mtlr r0
/* 80290D6C 0028DCAC 38 21 00 30 */ addi r1, r1, 0x30
/* 80290D70 0028DCB0 4E 80 00 20 */ blr

329
asm/JAudio2/JASSeqCtrl.s Normal file
View File

@ -0,0 +1,329 @@
.include "macros.inc"
.section .text, "ax" # 802938bc
.global JASSeqCtrl
JASSeqCtrl:
/* 802938BC 002907FC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802938C0 00290800 7C 08 02 A6 */ mflr r0
/* 802938C4 00290804 90 01 00 14 */ stw r0, 0x14(r1)
/* 802938C8 00290808 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802938CC 0029080C 7C 7F 1B 78 */ mr r31, r3
/* 802938D0 00290810 48 00 28 39 */ bl JASSeqReader_NS_init
/* 802938D4 00290814 38 0D 8C B8 */ addi r0, r13, lbl_80451238-_SDA_BASE_
/* 802938D8 00290818 90 1F 00 3C */ stw r0, 0x3c(r31)
/* 802938DC 0029081C 38 00 00 00 */ li r0, 0
/* 802938E0 00290820 90 1F 00 40 */ stw r0, 0x40(r31)
/* 802938E4 00290824 90 1F 00 44 */ stw r0, 0x44(r31)
/* 802938E8 00290828 90 1F 00 48 */ stw r0, 0x48(r31)
/* 802938EC 0029082C B0 1F 00 4C */ sth r0, 0x4c(r31)
/* 802938F0 00290830 B0 1F 00 4E */ sth r0, 0x4e(r31)
/* 802938F4 00290834 98 1F 00 50 */ stb r0, 0x50(r31)
/* 802938F8 00290838 98 1F 00 51 */ stb r0, 0x51(r31)
/* 802938FC 0029083C 90 1F 00 54 */ stw r0, 0x54(r31)
/* 80293900 00290840 90 1F 00 58 */ stw r0, 0x58(r31)
/* 80293904 00290844 7F E3 FB 78 */ mr r3, r31
/* 80293908 00290848 48 00 28 01 */ bl JASSeqReader_NS_init
/* 8029390C 0029084C 7F E3 FB 78 */ mr r3, r31
/* 80293910 00290850 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80293914 00290854 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80293918 00290858 7C 08 03 A6 */ mtlr r0
/* 8029391C 0029085C 38 21 00 10 */ addi r1, r1, 0x10
/* 80293920 00290860 4E 80 00 20 */ blr
.global JASSeqCtrl_NS_init
JASSeqCtrl_NS_init:
/* 80293924 00290864 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80293928 00290868 7C 08 02 A6 */ mflr r0
/* 8029392C 0029086C 90 01 00 14 */ stw r0, 0x14(r1)
/* 80293930 00290870 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80293934 00290874 7C 7F 1B 78 */ mr r31, r3
/* 80293938 00290878 48 00 27 D1 */ bl JASSeqReader_NS_init
/* 8029393C 0029087C 38 0D 8C B8 */ addi r0, r13, lbl_80451238-_SDA_BASE_
/* 80293940 00290880 90 1F 00 3C */ stw r0, 0x3c(r31)
/* 80293944 00290884 38 00 00 00 */ li r0, 0
/* 80293948 00290888 90 1F 00 40 */ stw r0, 0x40(r31)
/* 8029394C 0029088C 90 1F 00 44 */ stw r0, 0x44(r31)
/* 80293950 00290890 90 1F 00 48 */ stw r0, 0x48(r31)
/* 80293954 00290894 B0 1F 00 4C */ sth r0, 0x4c(r31)
/* 80293958 00290898 B0 1F 00 4E */ sth r0, 0x4e(r31)
/* 8029395C 0029089C 98 1F 00 50 */ stb r0, 0x50(r31)
/* 80293960 002908A0 90 1F 00 54 */ stw r0, 0x54(r31)
/* 80293964 002908A4 90 1F 00 58 */ stw r0, 0x58(r31)
/* 80293968 002908A8 98 1F 00 51 */ stb r0, 0x51(r31)
/* 8029396C 002908AC 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80293970 002908B0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80293974 002908B4 7C 08 03 A6 */ mtlr r0
/* 80293978 002908B8 38 21 00 10 */ addi r1, r1, 0x10
/* 8029397C 002908BC 4E 80 00 20 */ blr
.global JASSeqCtrl_NS_start
JASSeqCtrl_NS_start:
/* 80293980 002908C0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80293984 002908C4 7C 08 02 A6 */ mflr r0
/* 80293988 002908C8 90 01 00 14 */ stw r0, 0x14(r1)
/* 8029398C 002908CC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80293990 002908D0 93 C1 00 08 */ stw r30, 8(r1)
/* 80293994 002908D4 7C 7E 1B 78 */ mr r30, r3
/* 80293998 002908D8 7C BF 2B 78 */ mr r31, r5
/* 8029399C 002908DC 48 00 27 AD */ bl JASSeqReader_NS_init_X1_
/* 802939A0 002908E0 80 1E 00 00 */ lwz r0, 0(r30)
/* 802939A4 002908E4 7C 00 FA 14 */ add r0, r0, r31
/* 802939A8 002908E8 90 1E 00 04 */ stw r0, 4(r30)
/* 802939AC 002908EC 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802939B0 002908F0 83 C1 00 08 */ lwz r30, 8(r1)
/* 802939B4 002908F4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802939B8 002908F8 7C 08 03 A6 */ mtlr r0
/* 802939BC 002908FC 38 21 00 10 */ addi r1, r1, 0x10
/* 802939C0 00290900 4E 80 00 20 */ blr
.global JASSeqCtrl_NS_tickProc
JASSeqCtrl_NS_tickProc:
/* 802939C4 00290904 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802939C8 00290908 7C 08 02 A6 */ mflr r0
/* 802939CC 0029090C 90 01 00 14 */ stw r0, 0x14(r1)
/* 802939D0 00290910 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802939D4 00290914 93 C1 00 08 */ stw r30, 8(r1)
/* 802939D8 00290918 7C 7E 1B 78 */ mr r30, r3
/* 802939DC 0029091C 7C 9F 23 78 */ mr r31, r4
/* 802939E0 00290920 80 03 00 00 */ lwz r0, 0(r3)
/* 802939E4 00290924 28 00 00 00 */ cmplwi r0, 0
/* 802939E8 00290928 40 82 00 0C */ bne lbl_802939F4
/* 802939EC 0029092C 38 60 00 00 */ li r3, 0
/* 802939F0 00290930 48 00 00 B4 */ b lbl_80293AA4
lbl_802939F4:
/* 802939F4 00290934 38 80 00 06 */ li r4, 6
/* 802939F8 00290938 48 00 00 C5 */ bl JASSeqCtrl_NS_interrupt
/* 802939FC 0029093C 7F C3 F3 78 */ mr r3, r30
/* 80293A00 00290940 48 00 01 E9 */ bl JASSeqCtrl_NS_timerProcess
/* 80293A04 00290944 88 1E 00 51 */ lbz r0, 0x51(r30)
/* 80293A08 00290948 28 00 00 00 */ cmplwi r0, 0
/* 80293A0C 0029094C 41 82 00 28 */ beq lbl_80293A34
/* 80293A10 00290950 7F E3 FB 78 */ mr r3, r31
/* 80293A14 00290954 38 80 00 00 */ li r4, 0
/* 80293A18 00290958 4B FF E8 09 */ bl JASTrack_NS_checkNoteStop
/* 80293A1C 0029095C 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 80293A20 00290960 40 82 00 0C */ bne lbl_80293A2C
/* 80293A24 00290964 38 60 00 00 */ li r3, 0
/* 80293A28 00290968 48 00 00 7C */ b lbl_80293AA4
lbl_80293A2C:
/* 80293A2C 0029096C 38 00 00 00 */ li r0, 0
/* 80293A30 00290970 98 1E 00 51 */ stb r0, 0x51(r30)
lbl_80293A34:
/* 80293A34 00290974 80 7E 00 40 */ lwz r3, 0x40(r30)
/* 80293A38 00290978 2C 03 00 00 */ cmpwi r3, 0
/* 80293A3C 0029097C 40 81 00 0C */ ble lbl_80293A48
/* 80293A40 00290980 38 03 FF FF */ addi r0, r3, -1
/* 80293A44 00290984 90 1E 00 40 */ stw r0, 0x40(r30)
lbl_80293A48:
/* 80293A48 00290988 7F C3 F3 78 */ mr r3, r30
/* 80293A4C 0029098C 48 00 01 2D */ bl JASSeqCtrl_NS_checkIntr
/* 80293A50 00290990 48 00 00 2C */ b lbl_80293A7C
lbl_80293A54:
/* 80293A54 00290994 80 7E 00 3C */ lwz r3, 0x3c(r30)
/* 80293A58 00290998 7F E4 FB 78 */ mr r4, r31
/* 80293A5C 0029099C 81 83 00 00 */ lwz r12, 0(r3)
/* 80293A60 002909A0 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 80293A64 002909A4 7D 89 03 A6 */ mtctr r12
/* 80293A68 002909A8 4E 80 04 21 */ bctrl
/* 80293A6C 002909AC 2C 03 00 00 */ cmpwi r3, 0
/* 80293A70 002909B0 40 80 00 0C */ bge lbl_80293A7C
/* 80293A74 002909B4 38 60 FF FF */ li r3, -1
/* 80293A78 002909B8 48 00 00 2C */ b lbl_80293AA4
lbl_80293A7C:
/* 80293A7C 002909BC 80 1E 00 40 */ lwz r0, 0x40(r30)
/* 80293A80 002909C0 2C 00 00 00 */ cmpwi r0, 0
/* 80293A84 002909C4 41 82 00 10 */ beq lbl_80293A94
/* 80293A88 002909C8 80 1E 00 44 */ lwz r0, 0x44(r30)
/* 80293A8C 002909CC 28 00 00 00 */ cmplwi r0, 0
/* 80293A90 002909D0 41 82 00 10 */ beq lbl_80293AA0
lbl_80293A94:
/* 80293A94 002909D4 88 1E 00 51 */ lbz r0, 0x51(r30)
/* 80293A98 002909D8 28 00 00 00 */ cmplwi r0, 0
/* 80293A9C 002909DC 41 82 FF B8 */ beq lbl_80293A54
lbl_80293AA0:
/* 80293AA0 002909E0 38 60 00 00 */ li r3, 0
lbl_80293AA4:
/* 80293AA4 002909E4 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80293AA8 002909E8 83 C1 00 08 */ lwz r30, 8(r1)
/* 80293AAC 002909EC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80293AB0 002909F0 7C 08 03 A6 */ mtlr r0
/* 80293AB4 002909F4 38 21 00 10 */ addi r1, r1, 0x10
/* 80293AB8 002909F8 4E 80 00 20 */ blr
.global JASSeqCtrl_NS_interrupt
JASSeqCtrl_NS_interrupt:
/* 80293ABC 002909FC A0 A3 00 4E */ lhz r5, 0x4e(r3)
/* 80293AC0 00290A00 38 00 00 01 */ li r0, 1
/* 80293AC4 00290A04 7C 04 20 30 */ slw r4, r0, r4
/* 80293AC8 00290A08 7C A0 20 39 */ and. r0, r5, r4
/* 80293ACC 00290A0C 4D 82 00 20 */ beqlr
/* 80293AD0 00290A10 A0 03 00 4C */ lhz r0, 0x4c(r3)
/* 80293AD4 00290A14 7C 00 23 78 */ or r0, r0, r4
/* 80293AD8 00290A18 B0 03 00 4C */ sth r0, 0x4c(r3)
/* 80293ADC 00290A1C 4E 80 00 20 */ blr
.global JASSeqCtrl_NS_setIntrMask
JASSeqCtrl_NS_setIntrMask:
/* 80293AE0 00290A20 A0 03 00 4E */ lhz r0, 0x4e(r3)
/* 80293AE4 00290A24 7C 00 23 78 */ or r0, r0, r4
/* 80293AE8 00290A28 B0 03 00 4E */ sth r0, 0x4e(r3)
/* 80293AEC 00290A2C 4E 80 00 20 */ blr
.global JASSeqCtrl_NS_clrIntrMask
JASSeqCtrl_NS_clrIntrMask:
/* 80293AF0 00290A30 A0 03 00 4E */ lhz r0, 0x4e(r3)
/* 80293AF4 00290A34 7C 00 20 78 */ andc r0, r0, r4
/* 80293AF8 00290A38 B0 03 00 4E */ sth r0, 0x4e(r3)
/* 80293AFC 00290A3C 4E 80 00 20 */ blr
.global JASSeqCtrl_NS_retIntr
JASSeqCtrl_NS_retIntr:
/* 80293B00 00290A40 80 03 00 44 */ lwz r0, 0x44(r3)
/* 80293B04 00290A44 28 00 00 00 */ cmplwi r0, 0
/* 80293B08 00290A48 40 82 00 0C */ bne lbl_80293B14
/* 80293B0C 00290A4C 38 60 00 00 */ li r3, 0
/* 80293B10 00290A50 4E 80 00 20 */ blr
lbl_80293B14:
/* 80293B14 00290A54 90 03 00 04 */ stw r0, 4(r3)
/* 80293B18 00290A58 38 00 00 00 */ li r0, 0
/* 80293B1C 00290A5C 90 03 00 44 */ stw r0, 0x44(r3)
/* 80293B20 00290A60 38 60 00 01 */ li r3, 1
/* 80293B24 00290A64 4E 80 00 20 */ blr
.global JASSeqCtrl_NS_findIntr
JASSeqCtrl_NS_findIntr:
/* 80293B28 00290A68 A0 83 00 4E */ lhz r4, 0x4e(r3)
/* 80293B2C 00290A6C A0 03 00 4C */ lhz r0, 0x4c(r3)
/* 80293B30 00290A70 7C 84 00 38 */ and r4, r4, r0
/* 80293B34 00290A74 38 A0 00 00 */ li r5, 0
/* 80293B38 00290A78 48 00 00 30 */ b lbl_80293B68
lbl_80293B3C:
/* 80293B3C 00290A7C 54 80 07 FF */ clrlwi. r0, r4, 0x1f
/* 80293B40 00290A80 41 82 00 20 */ beq lbl_80293B60
/* 80293B44 00290A84 A0 83 00 4C */ lhz r4, 0x4c(r3)
/* 80293B48 00290A88 38 00 00 01 */ li r0, 1
/* 80293B4C 00290A8C 7C 00 28 30 */ slw r0, r0, r5
/* 80293B50 00290A90 7C 80 00 78 */ andc r0, r4, r0
/* 80293B54 00290A94 B0 03 00 4C */ sth r0, 0x4c(r3)
/* 80293B58 00290A98 7C A3 2B 78 */ mr r3, r5
/* 80293B5C 00290A9C 4E 80 00 20 */ blr
lbl_80293B60:
/* 80293B60 00290AA0 54 84 F8 7E */ srwi r4, r4, 1
/* 80293B64 00290AA4 38 A5 00 01 */ addi r5, r5, 1
lbl_80293B68:
/* 80293B68 00290AA8 28 04 00 00 */ cmplwi r4, 0
/* 80293B6C 00290AAC 40 82 FF D0 */ bne lbl_80293B3C
/* 80293B70 00290AB0 38 60 FF FF */ li r3, -1
/* 80293B74 00290AB4 4E 80 00 20 */ blr
.global JASSeqCtrl_NS_checkIntr
JASSeqCtrl_NS_checkIntr:
/* 80293B78 00290AB8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80293B7C 00290ABC 7C 08 02 A6 */ mflr r0
/* 80293B80 00290AC0 90 01 00 14 */ stw r0, 0x14(r1)
/* 80293B84 00290AC4 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80293B88 00290AC8 7C 7F 1B 78 */ mr r31, r3
/* 80293B8C 00290ACC 80 03 00 44 */ lwz r0, 0x44(r3)
/* 80293B90 00290AD0 28 00 00 00 */ cmplwi r0, 0
/* 80293B94 00290AD4 40 82 00 40 */ bne lbl_80293BD4
/* 80293B98 00290AD8 4B FF FF 91 */ bl JASSeqCtrl_NS_findIntr
/* 80293B9C 00290ADC 2C 03 00 00 */ cmpwi r3, 0
/* 80293BA0 00290AE0 41 80 00 34 */ blt lbl_80293BD4
/* 80293BA4 00290AE4 80 9F 00 48 */ lwz r4, 0x48(r31)
/* 80293BA8 00290AE8 1C 03 00 03 */ mulli r0, r3, 3
/* 80293BAC 00290AEC 7C 84 02 14 */ add r4, r4, r0
/* 80293BB0 00290AF0 80 7F 00 00 */ lwz r3, 0(r31)
/* 80293BB4 00290AF4 38 04 FF FF */ addi r0, r4, -1
/* 80293BB8 00290AF8 7C 03 00 2E */ lwzx r0, r3, r0
/* 80293BBC 00290AFC 54 03 02 3E */ clrlwi r3, r0, 8
/* 80293BC0 00290B00 80 1F 00 04 */ lwz r0, 4(r31)
/* 80293BC4 00290B04 90 1F 00 44 */ stw r0, 0x44(r31)
/* 80293BC8 00290B08 80 1F 00 00 */ lwz r0, 0(r31)
/* 80293BCC 00290B0C 7C 00 1A 14 */ add r0, r0, r3
/* 80293BD0 00290B10 90 1F 00 04 */ stw r0, 4(r31)
lbl_80293BD4:
/* 80293BD4 00290B14 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80293BD8 00290B18 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80293BDC 00290B1C 7C 08 03 A6 */ mtlr r0
/* 80293BE0 00290B20 38 21 00 10 */ addi r1, r1, 0x10
/* 80293BE4 00290B24 4E 80 00 20 */ blr
.global JASSeqCtrl_NS_timerProcess
JASSeqCtrl_NS_timerProcess:
/* 80293BE8 00290B28 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80293BEC 00290B2C 7C 08 02 A6 */ mflr r0
/* 80293BF0 00290B30 90 01 00 14 */ stw r0, 0x14(r1)
/* 80293BF4 00290B34 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80293BF8 00290B38 7C 7F 1B 78 */ mr r31, r3
/* 80293BFC 00290B3C 80 83 00 54 */ lwz r4, 0x54(r3)
/* 80293C00 00290B40 28 04 00 00 */ cmplwi r4, 0
/* 80293C04 00290B44 41 82 00 54 */ beq lbl_80293C58
/* 80293C08 00290B48 38 04 FF FF */ addi r0, r4, -1
/* 80293C0C 00290B4C 90 1F 00 54 */ stw r0, 0x54(r31)
/* 80293C10 00290B50 80 1F 00 54 */ lwz r0, 0x54(r31)
/* 80293C14 00290B54 28 00 00 00 */ cmplwi r0, 0
/* 80293C18 00290B58 40 82 00 40 */ bne lbl_80293C58
/* 80293C1C 00290B5C 38 80 00 05 */ li r4, 5
/* 80293C20 00290B60 4B FF FE 9D */ bl JASSeqCtrl_NS_interrupt
/* 80293C24 00290B64 88 7F 00 50 */ lbz r3, 0x50(r31)
/* 80293C28 00290B68 28 03 00 00 */ cmplwi r3, 0
/* 80293C2C 00290B6C 41 82 00 24 */ beq lbl_80293C50
/* 80293C30 00290B70 38 03 FF FF */ addi r0, r3, -1
/* 80293C34 00290B74 98 1F 00 50 */ stb r0, 0x50(r31)
/* 80293C38 00290B78 88 1F 00 50 */ lbz r0, 0x50(r31)
/* 80293C3C 00290B7C 28 00 00 00 */ cmplwi r0, 0
/* 80293C40 00290B80 41 82 00 18 */ beq lbl_80293C58
/* 80293C44 00290B84 80 1F 00 58 */ lwz r0, 0x58(r31)
/* 80293C48 00290B88 90 1F 00 54 */ stw r0, 0x54(r31)
/* 80293C4C 00290B8C 48 00 00 0C */ b lbl_80293C58
lbl_80293C50:
/* 80293C50 00290B90 80 1F 00 58 */ lwz r0, 0x58(r31)
/* 80293C54 00290B94 90 1F 00 54 */ stw r0, 0x54(r31)
lbl_80293C58:
/* 80293C58 00290B98 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80293C5C 00290B9C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80293C60 00290BA0 7C 08 03 A6 */ mtlr r0
/* 80293C64 00290BA4 38 21 00 10 */ addi r1, r1, 0x10
/* 80293C68 00290BA8 4E 80 00 20 */ blr
/* 80293C6C 00290BAC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80293C70 00290BB0 7C 08 02 A6 */ mflr r0
/* 80293C74 00290BB4 90 01 00 14 */ stw r0, 0x14(r1)
/* 80293C78 00290BB8 3C 60 80 3C */ lis r3, lbl_803C7650@ha
/* 80293C7C 00290BBC 38 03 76 50 */ addi r0, r3, lbl_803C7650@l
/* 80293C80 00290BC0 90 0D 8C B8 */ stw r0, lbl_80451238-_SDA_BASE_(r13)
/* 80293C84 00290BC4 38 6D 8C B8 */ addi r3, r13, lbl_80451238-_SDA_BASE_
.global JASSeqParser_NS_dtor
/* 80293C88 00290BC8 3C 80 80 29 */ lis r4, JASSeqParser_NS_dtor@ha
.global JASSeqParser_NS_dtor
/* 80293C8C 00290BCC 38 84 3C AC */ addi r4, r4, JASSeqParser_NS_dtor@l
/* 80293C90 00290BD0 3C A0 80 43 */ lis r5, lbl_80431B18@ha
/* 80293C94 00290BD4 38 A5 1B 18 */ addi r5, r5, lbl_80431B18@l
/* 80293C98 00290BD8 48 0C DF 8D */ bl func_80361C24
/* 80293C9C 00290BDC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80293CA0 00290BE0 7C 08 03 A6 */ mtlr r0
/* 80293CA4 00290BE4 38 21 00 10 */ addi r1, r1, 0x10
/* 80293CA8 00290BE8 4E 80 00 20 */ blr
.global JASSeqParser_NS_dtor
JASSeqParser_NS_dtor:
/* 80293CAC 00290BEC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80293CB0 00290BF0 7C 08 02 A6 */ mflr r0
/* 80293CB4 00290BF4 90 01 00 14 */ stw r0, 0x14(r1)
/* 80293CB8 00290BF8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80293CBC 00290BFC 7C 7F 1B 79 */ or. r31, r3, r3
/* 80293CC0 00290C00 41 82 00 1C */ beq lbl_80293CDC
/* 80293CC4 00290C04 3C A0 80 3C */ lis r5, lbl_803C7650@ha
/* 80293CC8 00290C08 38 05 76 50 */ addi r0, r5, lbl_803C7650@l
/* 80293CCC 00290C0C 90 1F 00 00 */ stw r0, 0(r31)
/* 80293CD0 00290C10 7C 80 07 35 */ extsh. r0, r4
/* 80293CD4 00290C14 40 81 00 08 */ ble lbl_80293CDC
/* 80293CD8 00290C18 48 03 B0 65 */ bl __dl
lbl_80293CDC:
/* 80293CDC 00290C1C 7F E3 FB 78 */ mr r3, r31
/* 80293CE0 00290C20 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80293CE4 00290C24 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80293CE8 00290C28 7C 08 03 A6 */ mtlr r0
/* 80293CEC 00290C2C 38 21 00 10 */ addi r1, r1, 0x10
/* 80293CF0 00290C30 4E 80 00 20 */ blr

2431
asm/JAudio2/JASSeqParser.s Normal file

File diff suppressed because it is too large Load Diff

171
asm/JAudio2/JASSeqReader.s Normal file
View File

@ -0,0 +1,171 @@
.include "macros.inc"
.section .text, "ax" # 80296108
.global JASSeqReader_NS_init
JASSeqReader_NS_init:
/* 80296108 00293048 38 C0 00 00 */ li r6, 0
/* 8029610C 0029304C 90 C3 00 00 */ stw r6, 0(r3)
/* 80296110 00293050 90 C3 00 04 */ stw r6, 4(r3)
/* 80296114 00293054 90 C3 00 08 */ stw r6, 8(r3)
/* 80296118 00293058 38 80 00 00 */ li r4, 0
/* 8029611C 0029305C 7C C5 33 78 */ mr r5, r6
/* 80296120 00293060 38 00 00 08 */ li r0, 8
/* 80296124 00293064 7C 09 03 A6 */ mtctr r0
lbl_80296128:
/* 80296128 00293068 38 05 00 0C */ addi r0, r5, 0xc
/* 8029612C 0029306C 7C C3 01 2E */ stwx r6, r3, r0
/* 80296130 00293070 38 04 00 2C */ addi r0, r4, 0x2c
/* 80296134 00293074 7C C3 03 2E */ sthx r6, r3, r0
/* 80296138 00293078 38 84 00 02 */ addi r4, r4, 2
/* 8029613C 0029307C 38 A5 00 04 */ addi r5, r5, 4
/* 80296140 00293080 42 00 FF E8 */ bdnz lbl_80296128
/* 80296144 00293084 4E 80 00 20 */ blr
.global JASSeqReader_NS_init_X1_
JASSeqReader_NS_init_X1_:
/* 80296148 00293088 90 83 00 00 */ stw r4, 0(r3)
/* 8029614C 0029308C 80 03 00 00 */ lwz r0, 0(r3)
/* 80296150 00293090 90 03 00 04 */ stw r0, 4(r3)
/* 80296154 00293094 38 C0 00 00 */ li r6, 0
/* 80296158 00293098 90 C3 00 08 */ stw r6, 8(r3)
/* 8029615C 0029309C 38 80 00 00 */ li r4, 0
/* 80296160 002930A0 7C C5 33 78 */ mr r5, r6
/* 80296164 002930A4 38 00 00 08 */ li r0, 8
/* 80296168 002930A8 7C 09 03 A6 */ mtctr r0
lbl_8029616C:
/* 8029616C 002930AC 38 05 00 0C */ addi r0, r5, 0xc
/* 80296170 002930B0 7C C3 01 2E */ stwx r6, r3, r0
/* 80296174 002930B4 38 04 00 2C */ addi r0, r4, 0x2c
/* 80296178 002930B8 7C C3 03 2E */ sthx r6, r3, r0
/* 8029617C 002930BC 38 84 00 02 */ addi r4, r4, 2
/* 80296180 002930C0 38 A5 00 04 */ addi r5, r5, 4
/* 80296184 002930C4 42 00 FF E8 */ bdnz lbl_8029616C
/* 80296188 002930C8 4E 80 00 20 */ blr
.global JASSeqReader_NS_call
JASSeqReader_NS_call:
/* 8029618C 002930CC 80 A3 00 08 */ lwz r5, 8(r3)
/* 80296190 002930D0 28 05 00 08 */ cmplwi r5, 8
/* 80296194 002930D4 41 80 00 0C */ blt lbl_802961A0
/* 80296198 002930D8 38 60 00 00 */ li r3, 0
/* 8029619C 002930DC 4E 80 00 20 */ blr
lbl_802961A0:
/* 802961A0 002930E0 80 C3 00 04 */ lwz r6, 4(r3)
/* 802961A4 002930E4 38 05 00 01 */ addi r0, r5, 1
/* 802961A8 002930E8 90 03 00 08 */ stw r0, 8(r3)
/* 802961AC 002930EC 54 A0 10 3A */ slwi r0, r5, 2
/* 802961B0 002930F0 7C A3 02 14 */ add r5, r3, r0
/* 802961B4 002930F4 90 C5 00 0C */ stw r6, 0xc(r5)
/* 802961B8 002930F8 80 03 00 00 */ lwz r0, 0(r3)
/* 802961BC 002930FC 7C 00 22 14 */ add r0, r0, r4
/* 802961C0 00293100 90 03 00 04 */ stw r0, 4(r3)
/* 802961C4 00293104 38 60 00 01 */ li r3, 1
/* 802961C8 00293108 4E 80 00 20 */ blr
.global JASSeqReader_NS_loopStart
JASSeqReader_NS_loopStart:
/* 802961CC 0029310C 80 03 00 08 */ lwz r0, 8(r3)
/* 802961D0 00293110 28 00 00 08 */ cmplwi r0, 8
/* 802961D4 00293114 41 80 00 0C */ blt lbl_802961E0
/* 802961D8 00293118 38 60 00 00 */ li r3, 0
/* 802961DC 0029311C 4E 80 00 20 */ blr
lbl_802961E0:
/* 802961E0 00293120 80 C3 00 04 */ lwz r6, 4(r3)
/* 802961E4 00293124 54 00 10 3A */ slwi r0, r0, 2
/* 802961E8 00293128 7C A3 02 14 */ add r5, r3, r0
/* 802961EC 0029312C 90 C5 00 0C */ stw r6, 0xc(r5)
/* 802961F0 00293130 80 A3 00 08 */ lwz r5, 8(r3)
/* 802961F4 00293134 38 05 00 01 */ addi r0, r5, 1
/* 802961F8 00293138 90 03 00 08 */ stw r0, 8(r3)
/* 802961FC 0029313C 54 A0 08 3C */ slwi r0, r5, 1
/* 80296200 00293140 7C 63 02 14 */ add r3, r3, r0
/* 80296204 00293144 B0 83 00 2C */ sth r4, 0x2c(r3)
/* 80296208 00293148 38 60 00 01 */ li r3, 1
/* 8029620C 0029314C 4E 80 00 20 */ blr
.global JASSeqReader_NS_loopEnd
JASSeqReader_NS_loopEnd:
/* 80296210 00293150 80 03 00 08 */ lwz r0, 8(r3)
/* 80296214 00293154 28 00 00 00 */ cmplwi r0, 0
/* 80296218 00293158 40 82 00 0C */ bne lbl_80296224
/* 8029621C 0029315C 38 60 00 00 */ li r3, 0
/* 80296220 00293160 4E 80 00 20 */ blr
lbl_80296224:
/* 80296224 00293164 54 00 08 3C */ slwi r0, r0, 1
/* 80296228 00293168 7C 83 02 14 */ add r4, r3, r0
/* 8029622C 0029316C A0 A4 00 2A */ lhz r5, 0x2a(r4)
/* 80296230 00293170 28 05 00 00 */ cmplwi r5, 0
/* 80296234 00293174 41 82 00 0C */ beq lbl_80296240
/* 80296238 00293178 38 05 FF FF */ addi r0, r5, -1
/* 8029623C 0029317C 54 05 04 3E */ clrlwi r5, r0, 0x10
lbl_80296240:
/* 80296240 00293180 54 A0 04 3F */ clrlwi. r0, r5, 0x10
/* 80296244 00293184 40 82 00 18 */ bne lbl_8029625C
/* 80296248 00293188 80 83 00 08 */ lwz r4, 8(r3)
/* 8029624C 0029318C 38 04 FF FF */ addi r0, r4, -1
/* 80296250 00293190 90 03 00 08 */ stw r0, 8(r3)
/* 80296254 00293194 38 60 00 01 */ li r3, 1
/* 80296258 00293198 4E 80 00 20 */ blr
lbl_8029625C:
/* 8029625C 0029319C B0 A4 00 2A */ sth r5, 0x2a(r4)
/* 80296260 002931A0 80 03 00 08 */ lwz r0, 8(r3)
/* 80296264 002931A4 54 00 10 3A */ slwi r0, r0, 2
/* 80296268 002931A8 7C 83 02 14 */ add r4, r3, r0
/* 8029626C 002931AC 80 04 00 08 */ lwz r0, 8(r4)
/* 80296270 002931B0 90 03 00 04 */ stw r0, 4(r3)
/* 80296274 002931B4 38 60 00 01 */ li r3, 1
/* 80296278 002931B8 4E 80 00 20 */ blr
.global JASSeqReader_NS_ret
JASSeqReader_NS_ret:
/* 8029627C 002931BC 80 83 00 08 */ lwz r4, 8(r3)
/* 80296280 002931C0 28 04 00 00 */ cmplwi r4, 0
/* 80296284 002931C4 40 82 00 0C */ bne lbl_80296290
/* 80296288 002931C8 38 60 00 00 */ li r3, 0
/* 8029628C 002931CC 4E 80 00 20 */ blr
lbl_80296290:
/* 80296290 002931D0 38 04 FF FF */ addi r0, r4, -1
/* 80296294 002931D4 90 03 00 08 */ stw r0, 8(r3)
/* 80296298 002931D8 54 00 10 3A */ slwi r0, r0, 2
/* 8029629C 002931DC 7C 83 02 14 */ add r4, r3, r0
/* 802962A0 002931E0 80 04 00 0C */ lwz r0, 0xc(r4)
/* 802962A4 002931E4 90 03 00 04 */ stw r0, 4(r3)
/* 802962A8 002931E8 38 60 00 01 */ li r3, 1
/* 802962AC 002931EC 4E 80 00 20 */ blr
.global JASSeqReader_NS_readMidiValue
JASSeqReader_NS_readMidiValue:
/* 802962B0 002931F0 80 83 00 04 */ lwz r4, 4(r3)
/* 802962B4 002931F4 38 04 00 01 */ addi r0, r4, 1
/* 802962B8 002931F8 90 03 00 04 */ stw r0, 4(r3)
/* 802962BC 002931FC 88 84 00 00 */ lbz r4, 0(r4)
/* 802962C0 00293200 54 80 06 31 */ rlwinm. r0, r4, 0, 0x18, 0x18
/* 802962C4 00293204 40 82 00 0C */ bne lbl_802962D0
/* 802962C8 00293208 7C 83 23 78 */ mr r3, r4
/* 802962CC 0029320C 4E 80 00 20 */ blr
lbl_802962D0:
/* 802962D0 00293210 54 85 06 7E */ clrlwi r5, r4, 0x19
/* 802962D4 00293214 38 C0 00 00 */ li r6, 0
lbl_802962D8:
/* 802962D8 00293218 2C 06 00 02 */ cmpwi r6, 2
/* 802962DC 0029321C 40 81 00 0C */ ble lbl_802962E8
/* 802962E0 00293220 38 60 00 00 */ li r3, 0
/* 802962E4 00293224 4E 80 00 20 */ blr
lbl_802962E8:
/* 802962E8 00293228 80 83 00 04 */ lwz r4, 4(r3)
/* 802962EC 0029322C 38 04 00 01 */ addi r0, r4, 1
/* 802962F0 00293230 90 03 00 04 */ stw r0, 4(r3)
/* 802962F4 00293234 88 84 00 00 */ lbz r4, 0(r4)
/* 802962F8 00293238 54 A5 38 30 */ slwi r5, r5, 7
/* 802962FC 0029323C 54 80 06 7E */ clrlwi r0, r4, 0x19
/* 80296300 00293240 7C A5 03 78 */ or r5, r5, r0
/* 80296304 00293244 54 80 06 31 */ rlwinm. r0, r4, 0, 0x18, 0x18
/* 80296308 00293248 41 82 00 0C */ beq lbl_80296314
/* 8029630C 0029324C 38 C6 00 01 */ addi r6, r6, 1
/* 80296310 00293250 4B FF FF C8 */ b lbl_802962D8
lbl_80296314:
/* 80296314 00293254 7C A3 2B 78 */ mr r3, r5
/* 80296318 00293258 4E 80 00 20 */ blr

View File

@ -0,0 +1,235 @@
.include "macros.inc"
.section .text, "ax" # 80298c94
.global JASSimpleWaveBank
JASSimpleWaveBank:
/* 80298C94 00295BD4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80298C98 00295BD8 7C 08 02 A6 */ mflr r0
/* 80298C9C 00295BDC 90 01 00 14 */ stw r0, 0x14(r1)
/* 80298CA0 00295BE0 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80298CA4 00295BE4 7C 7F 1B 78 */ mr r31, r3
/* 80298CA8 00295BE8 3C 60 80 3C */ lis r3, lbl_803C7780@ha
/* 80298CAC 00295BEC 38 03 77 80 */ addi r0, r3, lbl_803C7780@l
/* 80298CB0 00295BF0 90 1F 00 00 */ stw r0, 0(r31)
/* 80298CB4 00295BF4 38 7F 00 04 */ addi r3, r31, 4
/* 80298CB8 00295BF8 48 00 14 85 */ bl JASWaveArc
/* 80298CBC 00295BFC 3C 60 80 3C */ lis r3, lbl_803C77AC@ha
/* 80298CC0 00295C00 38 63 77 AC */ addi r3, r3, lbl_803C77AC@l
/* 80298CC4 00295C04 90 7F 00 00 */ stw r3, 0(r31)
/* 80298CC8 00295C08 38 03 00 18 */ addi r0, r3, 0x18
/* 80298CCC 00295C0C 90 1F 00 04 */ stw r0, 4(r31)
/* 80298CD0 00295C10 38 00 00 00 */ li r0, 0
/* 80298CD4 00295C14 90 1F 00 78 */ stw r0, 0x78(r31)
/* 80298CD8 00295C18 90 1F 00 7C */ stw r0, 0x7c(r31)
/* 80298CDC 00295C1C 7F E3 FB 78 */ mr r3, r31
/* 80298CE0 00295C20 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80298CE4 00295C24 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80298CE8 00295C28 7C 08 03 A6 */ mtlr r0
/* 80298CEC 00295C2C 38 21 00 10 */ addi r1, r1, 0x10
/* 80298CF0 00295C30 4E 80 00 20 */ blr
.global JASSimpleWaveBank_NS_dtor
JASSimpleWaveBank_NS_dtor:
/* 80298CF4 00295C34 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80298CF8 00295C38 7C 08 02 A6 */ mflr r0
/* 80298CFC 00295C3C 90 01 00 14 */ stw r0, 0x14(r1)
/* 80298D00 00295C40 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80298D04 00295C44 93 C1 00 08 */ stw r30, 8(r1)
/* 80298D08 00295C48 7C 7E 1B 79 */ or. r30, r3, r3
/* 80298D0C 00295C4C 7C 9F 23 78 */ mr r31, r4
/* 80298D10 00295C50 41 82 00 58 */ beq lbl_80298D68
/* 80298D14 00295C54 3C 60 80 3C */ lis r3, lbl_803C77AC@ha
/* 80298D18 00295C58 38 63 77 AC */ addi r3, r3, lbl_803C77AC@l
/* 80298D1C 00295C5C 90 7E 00 00 */ stw r3, 0(r30)
/* 80298D20 00295C60 38 03 00 18 */ addi r0, r3, 0x18
/* 80298D24 00295C64 90 1E 00 04 */ stw r0, 4(r30)
/* 80298D28 00295C68 80 7E 00 78 */ lwz r3, 0x78(r30)
.global JASSimpleWaveBank_NS_TWaveHandle_NS_dtor
/* 80298D2C 00295C6C 3C 80 80 2A */ lis r4, JASSimpleWaveBank_NS_TWaveHandle_NS_dtor@ha
.global JASSimpleWaveBank_NS_TWaveHandle_NS_dtor
/* 80298D30 00295C70 38 84 8D 84 */ addi r4, r4, JASSimpleWaveBank_NS_TWaveHandle_NS_dtor@l
/* 80298D34 00295C74 48 0C 8F 39 */ bl func_80361C6C
/* 80298D38 00295C78 38 7E 00 04 */ addi r3, r30, 4
/* 80298D3C 00295C7C 38 80 00 00 */ li r4, 0
/* 80298D40 00295C80 48 00 14 75 */ bl JASWaveArc_NS_dtor
/* 80298D44 00295C84 28 1E 00 00 */ cmplwi r30, 0
/* 80298D48 00295C88 41 82 00 10 */ beq lbl_80298D58
/* 80298D4C 00295C8C 3C 60 80 3C */ lis r3, lbl_803C7780@ha
/* 80298D50 00295C90 38 03 77 80 */ addi r0, r3, lbl_803C7780@l
/* 80298D54 00295C94 90 1E 00 00 */ stw r0, 0(r30)
lbl_80298D58:
/* 80298D58 00295C98 7F E0 07 35 */ extsh. r0, r31
/* 80298D5C 00295C9C 40 81 00 0C */ ble lbl_80298D68
/* 80298D60 00295CA0 7F C3 F3 78 */ mr r3, r30
/* 80298D64 00295CA4 48 03 5F D9 */ bl __dl
lbl_80298D68:
/* 80298D68 00295CA8 7F C3 F3 78 */ mr r3, r30
/* 80298D6C 00295CAC 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80298D70 00295CB0 83 C1 00 08 */ lwz r30, 8(r1)
/* 80298D74 00295CB4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80298D78 00295CB8 7C 08 03 A6 */ mtlr r0
/* 80298D7C 00295CBC 38 21 00 10 */ addi r1, r1, 0x10
/* 80298D80 00295CC0 4E 80 00 20 */ blr
.global JASSimpleWaveBank_NS_TWaveHandle_NS_dtor
JASSimpleWaveBank_NS_TWaveHandle_NS_dtor:
/* 80298D84 00295CC4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80298D88 00295CC8 7C 08 02 A6 */ mflr r0
/* 80298D8C 00295CCC 90 01 00 14 */ stw r0, 0x14(r1)
/* 80298D90 00295CD0 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80298D94 00295CD4 7C 7F 1B 79 */ or. r31, r3, r3
/* 80298D98 00295CD8 41 82 00 30 */ beq lbl_80298DC8
/* 80298D9C 00295CDC 3C 60 80 3C */ lis r3, lbl_803C7798@ha
/* 80298DA0 00295CE0 38 03 77 98 */ addi r0, r3, lbl_803C7798@l
/* 80298DA4 00295CE4 90 1F 00 00 */ stw r0, 0(r31)
/* 80298DA8 00295CE8 41 82 00 10 */ beq lbl_80298DB8
/* 80298DAC 00295CEC 3C 60 80 3C */ lis r3, lbl_803C7754@ha
/* 80298DB0 00295CF0 38 03 77 54 */ addi r0, r3, lbl_803C7754@l
/* 80298DB4 00295CF4 90 1F 00 00 */ stw r0, 0(r31)
lbl_80298DB8:
/* 80298DB8 00295CF8 7C 80 07 35 */ extsh. r0, r4
/* 80298DBC 00295CFC 40 81 00 0C */ ble lbl_80298DC8
/* 80298DC0 00295D00 7F E3 FB 78 */ mr r3, r31
/* 80298DC4 00295D04 48 03 5F 79 */ bl __dl
lbl_80298DC8:
/* 80298DC8 00295D08 7F E3 FB 78 */ mr r3, r31
/* 80298DCC 00295D0C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80298DD0 00295D10 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80298DD4 00295D14 7C 08 03 A6 */ mtlr r0
/* 80298DD8 00295D18 38 21 00 10 */ addi r1, r1, 0x10
/* 80298DDC 00295D1C 4E 80 00 20 */ blr
.global JASSimpleWaveBank_NS_setWaveTableSize
JASSimpleWaveBank_NS_setWaveTableSize:
/* 80298DE0 00295D20 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80298DE4 00295D24 7C 08 02 A6 */ mflr r0
/* 80298DE8 00295D28 90 01 00 24 */ stw r0, 0x24(r1)
/* 80298DEC 00295D2C 39 61 00 20 */ addi r11, r1, 0x20
/* 80298DF0 00295D30 48 0C 93 ED */ bl func_803621DC
/* 80298DF4 00295D34 7C 7D 1B 78 */ mr r29, r3
/* 80298DF8 00295D38 7C 9E 23 78 */ mr r30, r4
/* 80298DFC 00295D3C 7C BF 2B 78 */ mr r31, r5
/* 80298E00 00295D40 80 63 00 78 */ lwz r3, 0x78(r3)
.global JASSimpleWaveBank_NS_TWaveHandle_NS_dtor
/* 80298E04 00295D44 3C 80 80 2A */ lis r4, JASSimpleWaveBank_NS_TWaveHandle_NS_dtor@ha
.global JASSimpleWaveBank_NS_TWaveHandle_NS_dtor
/* 80298E08 00295D48 38 84 8D 84 */ addi r4, r4, JASSimpleWaveBank_NS_TWaveHandle_NS_dtor@l
/* 80298E0C 00295D4C 48 0C 8E 61 */ bl func_80361C6C
/* 80298E10 00295D50 1C 7E 00 2C */ mulli r3, r30, 0x2c
/* 80298E14 00295D54 38 63 00 10 */ addi r3, r3, 0x10
/* 80298E18 00295D58 7F E4 FB 78 */ mr r4, r31
/* 80298E1C 00295D5C 38 A0 00 00 */ li r5, 0
/* 80298E20 00295D60 48 03 5E F1 */ bl __nwa_X2_
.global JASSimpleWaveBank_NS_TWaveHandle
/* 80298E24 00295D64 3C 80 80 2A */ lis r4, JASSimpleWaveBank_NS_TWaveHandle@ha
.global JASSimpleWaveBank_NS_TWaveHandle
/* 80298E28 00295D68 38 84 8F 5C */ addi r4, r4, JASSimpleWaveBank_NS_TWaveHandle@l
.global JASSimpleWaveBank_NS_TWaveHandle_NS_dtor
/* 80298E2C 00295D6C 3C A0 80 2A */ lis r5, JASSimpleWaveBank_NS_TWaveHandle_NS_dtor@ha
.global JASSimpleWaveBank_NS_TWaveHandle_NS_dtor
/* 80298E30 00295D70 38 A5 8D 84 */ addi r5, r5, JASSimpleWaveBank_NS_TWaveHandle_NS_dtor@l
/* 80298E34 00295D74 38 C0 00 2C */ li r6, 0x2c
/* 80298E38 00295D78 7F C7 F3 78 */ mr r7, r30
/* 80298E3C 00295D7C 48 0C 90 D9 */ bl func_80361F14
/* 80298E40 00295D80 90 7D 00 78 */ stw r3, 0x78(r29)
/* 80298E44 00295D84 93 DD 00 7C */ stw r30, 0x7c(r29)
/* 80298E48 00295D88 39 61 00 20 */ addi r11, r1, 0x20
/* 80298E4C 00295D8C 48 0C 93 DD */ bl func_80362228
/* 80298E50 00295D90 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80298E54 00295D94 7C 08 03 A6 */ mtlr r0
/* 80298E58 00295D98 38 21 00 20 */ addi r1, r1, 0x20
/* 80298E5C 00295D9C 4E 80 00 20 */ blr
/* 80298E60 00295DA0 80 03 00 7C */ lwz r0, 0x7c(r3)
/* 80298E64 00295DA4 7C 04 00 40 */ cmplw r4, r0
/* 80298E68 00295DA8 41 80 00 0C */ blt lbl_80298E74
/* 80298E6C 00295DAC 38 60 00 00 */ li r3, 0
/* 80298E70 00295DB0 4E 80 00 20 */ blr
lbl_80298E74:
/* 80298E74 00295DB4 80 63 00 78 */ lwz r3, 0x78(r3)
/* 80298E78 00295DB8 1C 04 00 2C */ mulli r0, r4, 0x2c
/* 80298E7C 00295DBC 7C 63 02 14 */ add r3, r3, r0
/* 80298E80 00295DC0 4E 80 00 20 */ blr
.global JASSimpleWaveBank_NS_setWaveInfo
JASSimpleWaveBank_NS_setWaveInfo:
/* 80298E84 00295DC4 80 03 00 78 */ lwz r0, 0x78(r3)
/* 80298E88 00295DC8 1C C4 00 2C */ mulli r6, r4, 0x2c
/* 80298E8C 00295DCC 38 86 00 04 */ addi r4, r6, 4
/* 80298E90 00295DD0 7C 80 22 14 */ add r4, r0, r4
/* 80298E94 00295DD4 88 05 00 00 */ lbz r0, 0(r5)
/* 80298E98 00295DD8 98 04 00 00 */ stb r0, 0(r4)
/* 80298E9C 00295DDC 88 05 00 01 */ lbz r0, 1(r5)
/* 80298EA0 00295DE0 98 04 00 01 */ stb r0, 1(r4)
/* 80298EA4 00295DE4 88 05 00 02 */ lbz r0, 2(r5)
/* 80298EA8 00295DE8 98 04 00 02 */ stb r0, 2(r4)
/* 80298EAC 00295DEC C0 05 00 04 */ lfs f0, 4(r5)
/* 80298EB0 00295DF0 D0 04 00 04 */ stfs f0, 4(r4)
/* 80298EB4 00295DF4 80 05 00 08 */ lwz r0, 8(r5)
/* 80298EB8 00295DF8 90 04 00 08 */ stw r0, 8(r4)
/* 80298EBC 00295DFC 80 05 00 0C */ lwz r0, 0xc(r5)
/* 80298EC0 00295E00 90 04 00 0C */ stw r0, 0xc(r4)
/* 80298EC4 00295E04 80 05 00 10 */ lwz r0, 0x10(r5)
/* 80298EC8 00295E08 90 04 00 10 */ stw r0, 0x10(r4)
/* 80298ECC 00295E0C 80 05 00 14 */ lwz r0, 0x14(r5)
/* 80298ED0 00295E10 90 04 00 14 */ stw r0, 0x14(r4)
/* 80298ED4 00295E14 80 05 00 18 */ lwz r0, 0x18(r5)
/* 80298ED8 00295E18 90 04 00 18 */ stw r0, 0x18(r4)
/* 80298EDC 00295E1C A8 05 00 1C */ lha r0, 0x1c(r5)
/* 80298EE0 00295E20 B0 04 00 1C */ sth r0, 0x1c(r4)
/* 80298EE4 00295E24 A8 05 00 1E */ lha r0, 0x1e(r5)
/* 80298EE8 00295E28 B0 04 00 1E */ sth r0, 0x1e(r4)
/* 80298EEC 00295E2C 80 05 00 20 */ lwz r0, 0x20(r5)
/* 80298EF0 00295E30 90 04 00 20 */ stw r0, 0x20(r4)
/* 80298EF4 00295E34 38 A3 00 4C */ addi r5, r3, 0x4c
/* 80298EF8 00295E38 80 03 00 78 */ lwz r0, 0x78(r3)
/* 80298EFC 00295E3C 7C 80 32 14 */ add r4, r0, r6
/* 80298F00 00295E40 90 A4 00 24 */ stw r5, 0x24(r4)
/* 80298F04 00295E44 38 83 00 08 */ addi r4, r3, 8
/* 80298F08 00295E48 80 03 00 78 */ lwz r0, 0x78(r3)
/* 80298F0C 00295E4C 7C 60 32 14 */ add r3, r0, r6
/* 80298F10 00295E50 90 83 00 28 */ stw r4, 0x28(r3)
/* 80298F14 00295E54 4E 80 00 20 */ blr
/* 80298F18 00295E58 28 04 00 00 */ cmplwi r4, 0
/* 80298F1C 00295E5C 41 82 00 0C */ beq lbl_80298F28
/* 80298F20 00295E60 38 60 00 00 */ li r3, 0
/* 80298F24 00295E64 4E 80 00 20 */ blr
lbl_80298F28:
/* 80298F28 00295E68 28 03 00 00 */ cmplwi r3, 0
/* 80298F2C 00295E6C 4D 82 00 20 */ beqlr
/* 80298F30 00295E70 38 63 00 04 */ addi r3, r3, 4
/* 80298F34 00295E74 4E 80 00 20 */ blr
/* 80298F38 00295E78 80 83 00 28 */ lwz r4, 0x28(r3)
/* 80298F3C 00295E7C 80 84 00 38 */ lwz r4, 0x38(r4)
/* 80298F40 00295E80 28 04 00 00 */ cmplwi r4, 0
/* 80298F44 00295E84 40 82 00 0C */ bne lbl_80298F50
/* 80298F48 00295E88 38 60 00 00 */ li r3, 0
/* 80298F4C 00295E8C 4E 80 00 20 */ blr
lbl_80298F50:
/* 80298F50 00295E90 80 03 00 0C */ lwz r0, 0xc(r3)
/* 80298F54 00295E94 7C 64 02 14 */ add r3, r4, r0
/* 80298F58 00295E98 4E 80 00 20 */ blr
.global JASSimpleWaveBank_NS_TWaveHandle
JASSimpleWaveBank_NS_TWaveHandle:
/* 80298F5C 00295E9C 3C 80 80 3C */ lis r4, lbl_803C7754@ha
/* 80298F60 00295EA0 38 04 77 54 */ addi r0, r4, lbl_803C7754@l
/* 80298F64 00295EA4 90 03 00 00 */ stw r0, 0(r3)
/* 80298F68 00295EA8 3C 80 80 3C */ lis r4, lbl_803C7798@ha
/* 80298F6C 00295EAC 38 04 77 98 */ addi r0, r4, lbl_803C7798@l
/* 80298F70 00295EB0 90 03 00 00 */ stw r0, 0(r3)
/* 80298F74 00295EB4 38 00 00 3C */ li r0, 0x3c
/* 80298F78 00295EB8 98 03 00 05 */ stb r0, 5(r3)
/* 80298F7C 00295EBC 38 0D 82 38 */ addi r0, r13, lbl_804507B8-_SDA_BASE_
/* 80298F80 00295EC0 90 03 00 24 */ stw r0, 0x24(r3)
/* 80298F84 00295EC4 38 00 00 00 */ li r0, 0
/* 80298F88 00295EC8 90 03 00 28 */ stw r0, 0x28(r3)
/* 80298F8C 00295ECC 4E 80 00 20 */ blr
/* 80298F90 00295ED0 38 63 00 04 */ addi r3, r3, 4
/* 80298F94 00295ED4 4E 80 00 20 */ blr
/* 80298F98 00295ED8 38 60 00 01 */ li r3, 1
/* 80298F9C 00295EDC 4E 80 00 20 */ blr
/* 80298FA0 00295EE0 4E 80 00 20 */ blr
/* 80298FA4 00295EE4 4E 80 00 20 */ blr
/* 80298FA8 00295EE8 38 63 FF FC */ addi r3, r3, -4
.global JASSimpleWaveBank_NS_dtor
/* 80298FAC 00295EEC 4B FF FD 48 */ b JASSimpleWaveBank_NS_dtor

Some files were not shown because too many files have changed in this diff Show More