Audio Files & Data: Fix File/Data Splits and Compiler Flags (#456)

* Properly split audio voice

* Split off jpeg code from audio

* Fix compiler flags

* Properly split libultra audio file

* Split audio data for many files correctly

* Fix remaining data splits

* Fix up troublesome data

* Fix variables.txt

* Missed two files that need to go in audio/

* Add missing `/`

* `D_801E1100` -> audio_init_params

* Properly split code_801D9090.data.s

* Fix code_801A5BD0 bss

* Move audio_dramStack to a blob
This commit is contained in:
engineer124 2021-11-20 01:36:50 +11:00 committed by GitHub
parent dfc146663f
commit d190b265f6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
21 changed files with 107 additions and 81 deletions

View File

@ -156,6 +156,8 @@ build/src/libultra/rmon/%.o: OPTFLAGS := -O2
build/src/libultra/flash/%.o: OPTFLAGS := -g
build/src/libultra/flash/%.o: MIPS_VERSION := -mips1
build/src/code/audio/%.o: OPTFLAGS := -O2
# file flags
build/src/boot_O2_g3/fault.o: CFLAGS += -trapuv
build/src/boot_O2_g3/fault_drawer.o: CFLAGS += -trapuv
@ -172,6 +174,7 @@ build/src/boot_O2_g3/%.o: CC := python3 tools/asm-processor/build.py $(CC) -- $(
build/src/libultra/%.o: CC := python3 tools/asm-processor/build.py $(CC_OLD) -- $(AS) $(ASFLAGS) --
build/src/code/%.o: CC := python3 tools/asm-processor/build.py $(CC) -- $(AS) $(ASFLAGS) --
build/src/code/audio/%.o: CC := python3 tools/asm-processor/build.py $(CC) -- $(AS) $(ASFLAGS) --
build/src/overlays/actors/%.o: CC := python3 tools/asm-processor/build.py $(CC) -- $(AS) $(ASFLAGS) --
build/src/overlays/effects/%.o: CC := python3 tools/asm-processor/build.py $(CC) -- $(AS) $(ASFLAGS) --

45
spec
View File

@ -639,37 +639,50 @@ beginseg
pad_text
pad_text
pad_text
include "build/src/code/audio_synthesis.o"
include "build/src/code/audio_heap.o"
include "build/data/code/code_801D2E80.data.o"
include "build/data/code/audio_data.data.o"
include "build/src/code/audio/audio_synthesis.o"
include "build/data/code/audio_synthesis.data.o"
include "build/src/code/audio/audio_heap.o"
include "build/data/code/audio_heap.bss.o"
include "build/data/code/code_801D3D90.data.o"
include "build/src/code/audio_load.o"
include "build/src/code/audio/audio_load.o"
include "build/data/code/audio_load.data.o"
include "build/data/code/audio_load.bss.o"
include "build/src/code/code_80192BE0.o"
include "build/src/code/code_80194710.o"
include "build/src/code/audio_playback.o"
include "build/src/code/audio_effects.o"
include "build/src/code/audio_seqplayer.o"
include "build/src/code/audio/code_80192BE0.o"
include "build/data/code/code_80192BE0.data.o"
include "build/src/code/audio/code_80194710.o"
include "build/src/code/audio/code_80194790.o"
include "build/data/code/code_80194790.data.o"
include "build/src/code/audio/audio_playback.o"
include "build/src/code/audio/audio_effects.o"
include "build/data/code/audio_effects.data.o"
include "build/src/code/audio/audio_seqplayer.o"
include "build/data/code/audio_seqplayer.data.o"
include "build/data/code/audio_dramStack.data.o"
include "build/asm/code/code_8019AE40.text.o" // handwritten
pad_text
include "build/asm/code/code_8019AEC0.text.o" // handwritten
include "build/src/code/code_8019AF00.o"
include "build/src/code/audio/code_8019AF00.o"
include "build/data/code/code_8019AF00.data.o"
include "build/data/code/code_8019AF00.bss.o"
include "build/data/code/code_801D55B0.data.o"
include "build/src/code/code_801A51F0.o"
include "build/src/code/audio/code_801A4EB0.o"
include "build/data/code/code_801A4EB0.data.o"
include "build/src/code/audio/code_801A51F0.o"
include "build/data/code/code_801A51F0.data.o"
include "build/data/code/code_801A51F0.bss.o"
pad_text
include "build/src/code/code_801A5BD0.o"
include "build/data/code/audio_sound_params.data.o"
include "build/src/code/audio/code_801A5BD0.o"
include "build/data/code/code_801A5BD0.data.o"
include "build/data/code/code_801A5BD0.bss.o"
include "build/src/code/code_801A7B10.o"
include "build/src/code/audio/code_801A7B10.o"
include "build/data/code/code_801A7B10.data.o"
include "build/data/code/code_801A7B10.bss.o"
include "build/data/code/audio_init_params.rodata.o"
include "build/src/code/jpegutils.o"
include "build/src/code/code_801AA020.o"
include "build/data/code/code_801AA020.bss.o"
include_readonly "build/src/code/z_game_over.o"
include "build/src/code/z_construct.o"
include "build/data/code/code_801D9090.data.o"
include "build/data/code/code_801E1180.rodata.o"
endseg

View File

@ -0,0 +1,5 @@
#include "global.h"
#pragma GLOBAL_ASM("asm/non_matchings/code/code_80194710/func_80194710.s")
#pragma GLOBAL_ASM("asm/non_matchings/code/code_80194710/func_80194750.s")

View File

@ -0,0 +1,9 @@
#include "global.h"
#pragma GLOBAL_ASM("asm/non_matchings/code/code_80194790/func_80194790.s")
#pragma GLOBAL_ASM("asm/non_matchings/code/code_80194790/func_80194804.s")
#pragma GLOBAL_ASM("asm/non_matchings/code/code_80194790/func_80194840.s")
#pragma GLOBAL_ASM("asm/non_matchings/code/code_80194790/func_801948B0.s")

View File

@ -411,19 +411,3 @@
#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_801A4DF4.s")
#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_801A4E64.s")
#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_801A4EB0.s")
#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_801A4EB8.s")
#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_801A4FD8.s")
#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_801A5080.s")
#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_801A50C0.s")
#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_801A5100.s")
#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_801A510C.s")
#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_801A5118.s")

View File

@ -0,0 +1,17 @@
#include "global.h"
#pragma GLOBAL_ASM("asm/non_matchings/code/code_801A4EB0/func_801A4EB0.s")
#pragma GLOBAL_ASM("asm/non_matchings/code/code_801A4EB0/func_801A4EB8.s")
#pragma GLOBAL_ASM("asm/non_matchings/code/code_801A4EB0/func_801A4FD8.s")
#pragma GLOBAL_ASM("asm/non_matchings/code/code_801A4EB0/func_801A5080.s")
#pragma GLOBAL_ASM("asm/non_matchings/code/code_801A4EB0/func_801A50C0.s")
#pragma GLOBAL_ASM("asm/non_matchings/code/code_801A4EB0/func_801A5100.s")
#pragma GLOBAL_ASM("asm/non_matchings/code/code_801A4EB0/func_801A510C.s")
#pragma GLOBAL_ASM("asm/non_matchings/code/code_801A4EB0/func_801A5118.s")

View File

@ -29,19 +29,3 @@
#pragma GLOBAL_ASM("asm/non_matchings/code/code_801A7B10/func_801A99B8.s")
#pragma GLOBAL_ASM("asm/non_matchings/code/code_801A7B10/func_801A9A74.s")
#pragma GLOBAL_ASM("asm/non_matchings/code/code_801A7B10/func_801A9B10.s")
#pragma GLOBAL_ASM("asm/non_matchings/code/code_801A7B10/func_801A9B78.s")
#pragma GLOBAL_ASM("asm/non_matchings/code/code_801A7B10/func_801A9BFC.s")
#pragma GLOBAL_ASM("asm/non_matchings/code/code_801A7B10/func_801A9C68.s")
#pragma GLOBAL_ASM("asm/non_matchings/code/code_801A7B10/func_801A9D10.s")
#pragma GLOBAL_ASM("asm/non_matchings/code/code_801A7B10/func_801A9DCC.s")
#pragma GLOBAL_ASM("asm/non_matchings/code/code_801A7B10/func_801A9EA4.s")
#pragma GLOBAL_ASM("asm/non_matchings/code/code_801A7B10/func_801A9F4C.s")

View File

@ -1,13 +0,0 @@
#include "global.h"
#pragma GLOBAL_ASM("asm/non_matchings/code/code_80194710/func_80194710.s")
#pragma GLOBAL_ASM("asm/non_matchings/code/code_80194710/func_80194750.s")
#pragma GLOBAL_ASM("asm/non_matchings/code/code_80194710/func_80194790.s")
#pragma GLOBAL_ASM("asm/non_matchings/code/code_80194710/func_80194804.s")
#pragma GLOBAL_ASM("asm/non_matchings/code/code_80194710/func_80194840.s")
#pragma GLOBAL_ASM("asm/non_matchings/code/code_80194710/func_801948B0.s")

View File

@ -1,7 +1,5 @@
#include "global.h"
#pragma GLOBAL_ASM("asm/non_matchings/code/code_801AA020/D_801E1100.s")
#pragma GLOBAL_ASM("asm/non_matchings/code/code_801AA020/func_801AA020.s")
#pragma GLOBAL_ASM("asm/non_matchings/code/code_801AA020/func_801AA248.s")

17
src/code/jpegutils.c Normal file
View File

@ -0,0 +1,17 @@
#include "global.h"
#pragma GLOBAL_ASM("asm/non_matchings/code/jpegutils/func_801A9B10.s")
#pragma GLOBAL_ASM("asm/non_matchings/code/jpegutils/func_801A9B78.s")
#pragma GLOBAL_ASM("asm/non_matchings/code/jpegutils/func_801A9BFC.s")
#pragma GLOBAL_ASM("asm/non_matchings/code/jpegutils/func_801A9C68.s")
#pragma GLOBAL_ASM("asm/non_matchings/code/jpegutils/func_801A9D10.s")
#pragma GLOBAL_ASM("asm/non_matchings/code/jpegutils/func_801A9DCC.s")
#pragma GLOBAL_ASM("asm/non_matchings/code/jpegutils/func_801A9EA4.s")
#pragma GLOBAL_ASM("asm/non_matchings/code/jpegutils/func_801A9F4C.s")

View File

@ -484,6 +484,7 @@
0x8018EB60 : "audio_load",
0x80192BE0 : "code_80192BE0",
0x80194710 : "code_80194710",
0x80194790 : "code_80194790",
0x80194930 : "audio_playback",
0x80196A00 : "audio_effects",
0x801974D0 : "audio_seqplayer",
@ -491,10 +492,12 @@
0x8019AEB0 : "[PADDING]",
0x8019AEC0 : "code_8019AEC0",
0x8019AF00 : "code_8019AF00",
0x801A4EB0 : "code_801A4EB0",
0x801A51F0 : "code_801A51F0",
0x801A5BC0 : "[PADDING]",
0x801A5BD0 : "code_801A5BD0",
0x801A7B10 : "code_801A7B10",
0x801A9B10 : "jpegutils",
0x801AA020 : "code_801AA020",
0x801AA610 : "z_game_over",
0x801AAAA0 : "z_construct",
@ -573,11 +576,20 @@
0x801D15D0 : "sys_math_atan",
0x801D1DE0 : "sys_matrix",
0x801D1E70 : "",
0x801D2E80 : "", # audio_heap?
0x801D3D90 : "",
0x801D55B0 : "",
0x801D2E80 : "audio_data",
0x801D5FB0 : "audio_synthesis",
0x801D5FE0 : "audio_load",
0x801D5FF0 : "code_80192BE0",
0x801D6010 : "code_80194790",
0x801D6190 : "audio_effects",
0x801D61A0 : "audio_seqplayer",
0x801D6200 : "audio_dramStack",
0x801D6600 : "code_8019AF00",
0x801D8BE0 : "code_801A4EB0",
0x801D8E50 : "code_801A51F0",
0x801D9090 : "",
0x801D9090 : "audio_sound_params",
0x801DB470 : "code_801A5BD0",
0x801DB4C0 : "code_801A7B10",
# .rodata section
0x801DBDF0 : "z_en_item00",
@ -658,7 +670,7 @@
0x801E0EC0 : "code_801A51F0",
0x801E1050 : "code_801A5BD0",
0x801E1070 : "code_801A7B10",
0x801E1100 : "code_801AA020",
0x801E1100 : "audio_init_params",
0x801E1110 : "z_game_over",
0x801E1180 : "",
@ -714,7 +726,7 @@
0x801FD140 : "audio_load",
0x801FD1F0 : "code_8019AF00",
0x801FD5A0 : "code_801A51F0",
0x801FE7C0 : "code_801A5BD0",
0x801FD710 : "code_801A5BD0",
0x801FFD00 : "code_801A7B10",
0x80208E90 : "code_801AA020",
0x80208EA0 : "gfxbuffers",

View File

@ -2274,11 +2274,9 @@
0x801D4D90:("D_801D4D90","UNK_PTR","",0x4),
0x801D4D98:("D_801D4D98","UNK_PTR","",0x4),
0x801D4DB0:("D_801D4DB0","UNK_PTR","",0x4),
0x801D4DB4:("D_801D4DB4","UNK_TYPE1","",0x1),
0x801D4FB4:("D_801D4FB4","UNK_TYPE1","",0x1),
0x801D51B4:("D_801D51B4","UNK_TYPE4","",0x4),
0x801D53B4:("D_801D53B4","UNK_TYPE4","",0x4),
0x801D55B4:("D_801D55B4","UNK_TYPE1","",0x1),
0x801D4DB4:("D_801D4DB4","f32","[256]",0x400),
0x801D51B4:("D_801D51B4","f32","[256]",0x400),
0x801D55B4:("D_801D55B4","f32","[128]",0x200),
0x801D57B4:("D_801D57B4","UNK_TYPE1","",0x1),
0x801D57C4:("D_801D57C4","UNK_TYPE1","",0x1),
0x801D57D4:("D_801D57D4","UNK_TYPE1","",0x1),
@ -2287,12 +2285,11 @@
0x801D5824:("D_801D5824","UNK_TYPE2","",0x2),
0x801D58A2:("D_801D58A2","UNK_TYPE2","",0x2),
0x801D58AA:("D_801D58AA","UNK_TYPE1","",0x1),
0x801D5928:("D_801D5928","UNK_TYPE1","",0x1),
0x801D5B24:("D_801D5B24","UNK_TYPE1","",0x1),
0x801D5B28:("D_801D5B28","UNK_TYPE1","",0x1),
0x801D5D24:("D_801D5D24","UNK_TYPE1","",0x1),
0x801D5D28:("D_801D5D28","UNK_TYPE1","",0x1),
0x801D5F24:("D_801D5F24","UNK_TYPE1","",0x1),
0x801D5928:("D_801D5928","f32","[128]",0x200),
0x801D5B28:("D_801D5B28","f32","[128]",0x200),
0x801D5D28:("D_801D5D28","f32","[128]",0x200),
0x801D5F28:("D_801D5F28","s16","[64]",0x80),
0x801D5FB0:("D_801D5FB0","UNK_TYPE4","",0x4),
0x801D5FB4:("D_801D5FB4","UNK_TYPE4","",0x4),
0x801D5FB8:("D_801D5FB8","UNK_TYPE4","",0x4),
0x801D5FBC:("D_801D5FBC","UNK_TYPE4","",0x4),
@ -2311,11 +2308,11 @@
0x801D6014:("D_801D6014","UNK_TYPE1","",0x1),
0x801D6028:("D_801D6028","UNK_TYPE1","",0x1),
0x801D6098:("D_801D6098","UNK_TYPE1","",0x1),
0x801D6100:("D_801D6100","UNK_TYPE1","",0x1),
0x801D6188:("D_801D6188","UNK_PTR","",0x4),
0x801D618C:("D_801D618C","UNK_PTR","",0x4),
0x801D6190:("D_801D6190","f32","",0x4),
0x801D6194:("D_801D6194","UNK_TYPE4","",0x4),
0x801D61A0:("D_801D61A0","u8","[96]",0x60),
0x801D6200:("D_801D6200","UNK_TYPE1","",0x1),
0x801D6600:("D_801D6600","UNK_TYPE1","",0x1),
0x801D6608:("D_801D6608","UNK_TYPE1","",0x1),