summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--asm/nw4r/snd/detail/snd_AxVoice.s2
-rw-r--r--asm/nw4r/snd/detail/snd_adpcm.s43
-rw-r--r--asm/text_11.s40
-rw-r--r--obj_files.mk1
4 files changed, 45 insertions, 41 deletions
diff --git a/asm/nw4r/snd/detail/snd_AxVoice.s b/asm/nw4r/snd/detail/snd_AxVoice.s
index d2fde9d..9ccb5f1 100644
--- a/asm/nw4r/snd/detail/snd_AxVoice.s
+++ b/asm/nw4r/snd/detail/snd_AxVoice.s
@@ -2572,7 +2572,7 @@ lbl_8036B6A8:
/* 8036B6C4 00367324 54 80 07 3E */ clrlwi r0, r4, 0x1c
lbl_8036B6C8:
/* 8036B6C8 00367328 54 04 06 3E */ clrlwi r4, r0, 0x18
-/* 8036B6CC 0036732C 48 01 95 85 */ bl func_80384C50
+/* 8036B6CC 0036732C 48 01 95 85 */ bl DecodeDspAdpcm__Q34nw4r3snd6detailFP10_AXPBADPCMUc
/* 8036B6D0 00367330 3B FF 00 01 */ addi r31, r31, 1
lbl_8036B6D4:
/* 8036B6D4 00367334 7C 1F F0 40 */ cmplw r31, r30
diff --git a/asm/nw4r/snd/detail/snd_adpcm.s b/asm/nw4r/snd/detail/snd_adpcm.s
new file mode 100644
index 0000000..a59d331
--- /dev/null
+++ b/asm/nw4r/snd/detail/snd_adpcm.s
@@ -0,0 +1,43 @@
+.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global DecodeDspAdpcm__Q34nw4r3snd6detailFP10_AXPBADPCMUc
+DecodeDspAdpcm__Q34nw4r3snd6detailFP10_AXPBADPCMUc:
+/* 80384C50 003808B0 A0 E3 00 22 */ lhz r7, 0x22(r3)
+/* 80384C54 003808B4 54 80 63 26 */ rlwinm r0, r4, 0xc, 0xc, 0x13
+/* 80384C58 003808B8 A1 23 00 24 */ lhz r9, 0x24(r3)
+/* 80384C5C 003808BC 38 A0 00 01 */ li r5, 1
+/* 80384C60 003808C0 7C E6 26 70 */ srawi r6, r7, 4
+/* 80384C64 003808C4 54 E4 07 3E */ clrlwi r4, r7, 0x1c
+/* 80384C68 003808C8 54 C7 10 3A */ slwi r7, r6, 2
+/* 80384C6C 003808CC 7C 00 07 34 */ extsh r0, r0
+/* 80384C70 003808D0 7C C3 3A 14 */ add r6, r3, r7
+/* 80384C74 003808D4 7C A4 20 30 */ slw r4, r5, r4
+/* 80384C78 003808D8 7D 03 3A AE */ lhax r8, r3, r7
+/* 80384C7C 003808DC 7D 27 07 34 */ extsh r7, r9
+/* 80384C80 003808E0 A8 C6 00 02 */ lha r6, 2(r6)
+/* 80384C84 003808E4 7C 84 07 34 */ extsh r4, r4
+/* 80384C88 003808E8 A8 A3 00 26 */ lha r5, 0x26(r3)
+/* 80384C8C 003808EC 7C 00 0E 70 */ srawi r0, r0, 1
+/* 80384C90 003808F0 7C E7 41 D6 */ mullw r7, r7, r8
+/* 80384C94 003808F4 7C A5 31 D6 */ mullw r5, r5, r6
+/* 80384C98 003808F8 7C 00 21 D6 */ mullw r0, r0, r4
+/* 80384C9C 003808FC 7C E7 2A 14 */ add r7, r7, r5
+/* 80384CA0 00380900 7C E7 02 14 */ add r7, r7, r0
+/* 80384CA4 00380904 7C E7 56 70 */ srawi r7, r7, 0xa
+/* 80384CA8 00380908 38 E7 00 01 */ addi r7, r7, 1
+/* 80384CAC 0038090C 7C E7 0E 70 */ srawi r7, r7, 1
+/* 80384CB0 00380910 2C 07 7F FF */ cmpwi r7, 0x7fff
+/* 80384CB4 00380914 40 81 00 0C */ ble lbl_80384CC0
+/* 80384CB8 00380918 38 E0 7F FF */ li r7, 0x7fff
+/* 80384CBC 0038091C 48 00 00 10 */ b lbl_80384CCC
+lbl_80384CC0:
+/* 80384CC0 00380920 2C 07 80 00 */ cmpwi r7, -32768
+/* 80384CC4 00380924 40 80 00 08 */ bge lbl_80384CCC
+/* 80384CC8 00380928 38 E0 80 00 */ li r7, -32768
+lbl_80384CCC:
+/* 80384CCC 0038092C B1 23 00 26 */ sth r9, 0x26(r3)
+/* 80384CD0 00380930 B0 E3 00 24 */ sth r7, 0x24(r3)
+/* 80384CD4 00380934 7C E3 3B 78 */ mr r3, r7
+/* 80384CD8 00380938 4E 80 00 20 */ blr
diff --git a/asm/text_11.s b/asm/text_11.s
index fefc2c3..9c25f8f 100644
--- a/asm/text_11.s
+++ b/asm/text_11.s
@@ -2,46 +2,6 @@
.section .text, "ax" # 0x80006980 - 0x803E1E60
-.global func_80384C50
-func_80384C50:
-/* 80384C50 003808B0 A0 E3 00 22 */ lhz r7, 0x22(r3)
-/* 80384C54 003808B4 54 80 63 26 */ rlwinm r0, r4, 0xc, 0xc, 0x13
-/* 80384C58 003808B8 A1 23 00 24 */ lhz r9, 0x24(r3)
-/* 80384C5C 003808BC 38 A0 00 01 */ li r5, 1
-/* 80384C60 003808C0 7C E6 26 70 */ srawi r6, r7, 4
-/* 80384C64 003808C4 54 E4 07 3E */ clrlwi r4, r7, 0x1c
-/* 80384C68 003808C8 54 C7 10 3A */ slwi r7, r6, 2
-/* 80384C6C 003808CC 7C 00 07 34 */ extsh r0, r0
-/* 80384C70 003808D0 7C C3 3A 14 */ add r6, r3, r7
-/* 80384C74 003808D4 7C A4 20 30 */ slw r4, r5, r4
-/* 80384C78 003808D8 7D 03 3A AE */ lhax r8, r3, r7
-/* 80384C7C 003808DC 7D 27 07 34 */ extsh r7, r9
-/* 80384C80 003808E0 A8 C6 00 02 */ lha r6, 2(r6)
-/* 80384C84 003808E4 7C 84 07 34 */ extsh r4, r4
-/* 80384C88 003808E8 A8 A3 00 26 */ lha r5, 0x26(r3)
-/* 80384C8C 003808EC 7C 00 0E 70 */ srawi r0, r0, 1
-/* 80384C90 003808F0 7C E7 41 D6 */ mullw r7, r7, r8
-/* 80384C94 003808F4 7C A5 31 D6 */ mullw r5, r5, r6
-/* 80384C98 003808F8 7C 00 21 D6 */ mullw r0, r0, r4
-/* 80384C9C 003808FC 7C E7 2A 14 */ add r7, r7, r5
-/* 80384CA0 00380900 7C E7 02 14 */ add r7, r7, r0
-/* 80384CA4 00380904 7C E7 56 70 */ srawi r7, r7, 0xa
-/* 80384CA8 00380908 38 E7 00 01 */ addi r7, r7, 1
-/* 80384CAC 0038090C 7C E7 0E 70 */ srawi r7, r7, 1
-/* 80384CB0 00380910 2C 07 7F FF */ cmpwi r7, 0x7fff
-/* 80384CB4 00380914 40 81 00 0C */ ble lbl_80384CC0
-/* 80384CB8 00380918 38 E0 7F FF */ li r7, 0x7fff
-/* 80384CBC 0038091C 48 00 00 10 */ b lbl_80384CCC
-lbl_80384CC0:
-/* 80384CC0 00380920 2C 07 80 00 */ cmpwi r7, -32768
-/* 80384CC4 00380924 40 80 00 08 */ bge lbl_80384CCC
-/* 80384CC8 00380928 38 E0 80 00 */ li r7, -32768
-lbl_80384CCC:
-/* 80384CCC 0038092C B1 23 00 26 */ sth r9, 0x26(r3)
-/* 80384CD0 00380930 B0 E3 00 24 */ sth r7, 0x24(r3)
-/* 80384CD4 00380934 7C E3 3B 78 */ mr r3, r7
-/* 80384CD8 00380938 4E 80 00 20 */ blr
-
.global func_80384CDC
func_80384CDC:
/* 80384CDC 0038093C FC 60 0A 10 */ fabs f3, f1
diff --git a/obj_files.mk b/obj_files.mk
index 431faeb..1699640 100644
--- a/obj_files.mk
+++ b/obj_files.mk
@@ -164,6 +164,7 @@ TEXT_O_FILES := \
$(BUILD_DIR)/asm/nw4r/snd/snd_WaveSoundHandle.o \
$(BUILD_DIR)/asm/nw4r/snd/detail/snd_WsdFile.o \
$(BUILD_DIR)/asm/nw4r/snd/detail/snd_WsdPlayer.o \
+ $(BUILD_DIR)/asm/nw4r/snd/detail/snd_adpcm.o \
$(BUILD_DIR)/asm/text_11.o
CTORS_O_FILES := \