From 84d869675df19366c8c9e8a0c4ef9e5d6183db62 Mon Sep 17 00:00:00 2001 From: roeming Date: Thu, 3 Jul 2025 16:41:27 -0400 Subject: [PATCH] link audioconst --- configure.py | 30 ++++++++++++++------- include/jaudio_NES/audioconst.h | 28 +++++++++++++++++++ src/static/jaudio_NES/internal/audioconst.c | 10 +++++++ 3 files changed, 58 insertions(+), 10 deletions(-) create mode 100644 src/static/jaudio_NES/internal/audioconst.c diff --git a/configure.py b/configure.py index 47b8ff67..ac2f122b 100644 --- a/configure.py +++ b/configure.py @@ -356,7 +356,8 @@ config.libs = [ "progress_category": "library", "src_dir": "src/static", "objects": [ - Object(Matching, "libforest/emu64/emu64.c", extra_cflags=["-lang=c++", "-O4,p", "-inline auto"]), + Object(Matching, "libforest/emu64/emu64.c", + extra_cflags=["-lang=c++", "-O4,p", "-inline auto"]), Object(Matching, "libforest/osreport.c"), Object(Matching, "libforest/fault.c"), Object(Matching, "libforest/ReconfigBATs.c"), @@ -420,7 +421,9 @@ config.libs = [ Object(Matching, "libultra/gu/scale.c"), Object(Matching, "libultra/sendmesg.c"), Object(Matching, "libultra/setthreadpri.c"), - Object(Matching, "libultra/settimer.c", extra_cflags=["-O0", "-opt schedule", "-opt peep"]), # no clue why this file has these flags, but they're necessary + # no clue why this file has these flags, but they're necessary + Object(Matching, "libultra/settimer.c", + extra_cflags=["-O0", "-opt schedule", "-opt peep"]), Object(Matching, "libultra/shutdown.c"), Object(Matching, "libultra/gu/sins.c"), Object(Matching, "libultra/startthread.c"), @@ -562,7 +565,8 @@ config.libs = [ DolphinLib( "OdemuExi2", [ - Object(Matching, "dolphin/OdemuExi2/DebuggerDriver.c", extra_cflags=["-inline deferred"]), + Object(Matching, "dolphin/OdemuExi2/DebuggerDriver.c", + extra_cflags=["-inline deferred"]), ], ), DolphinLib( @@ -712,7 +716,8 @@ config.libs = [ "objects": [ Object(Matching, "jaudio_NES/game/audioheaders.c"), Object(Matching, "jaudio_NES/game/dummyprobe.c"), - Object(Matching, "jaudio_NES/game/emusound.c", extra_cflags=["-O4,s", "-fp_contract on", "-func_align 32", "-vector on"]), + Object(Matching, "jaudio_NES/game/emusound.c", + extra_cflags=["-O4,s", "-fp_contract on", "-func_align 32", "-vector on"]), Object(Matching, "jaudio_NES/game/game64.c"), Object(Matching, "jaudio_NES/game/kappa.c"), Object(Matching, "jaudio_NES/game/melody.c"), @@ -758,10 +763,11 @@ config.libs = [ Object(Matching, "jaudio_NES/internal/sub_sys.c"), Object(Matching, "jaudio_NES/internal/track.c"), Object(Matching, "jaudio_NES/internal/aramcall.c"), - Object(NonMatching, "jaudio_NES/internal/audioconst.c"), + Object(Matching, "jaudio_NES/internal/audioconst.c"), Object(NonMatching, "jaudio_NES/internal/audiotable.c"), Object(NonMatching, "jaudio_NES/internal/audiowork.c"), - Object(Matching, "jaudio_NES/internal/bankdrv.c", extra_cflags=["-pragma \"scheduling 7400\""]), + Object(Matching, "jaudio_NES/internal/bankdrv.c", + extra_cflags=["-pragma \"scheduling 7400\""]), Object(Matching, "jaudio_NES/internal/bankread.c"), Object(Matching, "jaudio_NES/internal/centcalc.c"), Object(Matching, "jaudio_NES/internal/channel.c"), @@ -773,13 +779,16 @@ config.libs = [ Object(Matching, "jaudio_NES/internal/dsp_GBAKey.c"), Object(Equivalent, "jaudio_NES/internal/dspdriver.c"), Object(Matching, "jaudio_NES/internal/dspinterface.c"), - Object(Matching, "jaudio_NES/internal/effect.c", extra_cflags=["-pragma \"scheduling 7400\""]), + Object(Matching, "jaudio_NES/internal/effect.c", + extra_cflags=["-pragma \"scheduling 7400\""]), Object(Matching, "jaudio_NES/internal/fat.c"), Object(Matching, "jaudio_NES/internal/fxinterface.c"), Object(Matching, "jaudio_NES/internal/heapctrl.c"), Object(Matching, "jaudio_NES/internal/ipldec.c"), - Object(Matching, "jaudio_NES/internal/ja_calc.c", extra_cflags=["-sym off"]), - Object(NonMatching, "jaudio_NES/internal/jammain_2.c", extra_cflags=["-sym on"]), + Object(Matching, "jaudio_NES/internal/ja_calc.c", + extra_cflags=["-sym off"]), + Object(NonMatching, "jaudio_NES/internal/jammain_2.c", + extra_cflags=["-sym on"]), Object(Matching, "jaudio_NES/internal/jamosc.c"), Object(NonMatching, "jaudio_NES/internal/memory.c"), Object(Matching, "jaudio_NES/internal/midplay.c"), @@ -788,7 +797,8 @@ config.libs = [ Object(NonMatching, "jaudio_NES/internal/rate.c"), Object(NonMatching, "jaudio_NES/internal/rspsim.c"), Object(Matching, "jaudio_NES/internal/seqsetup.c"), - Object(Equivalent, "jaudio_NES/internal/system.c", extra_cflags=["-pragma \"scheduling 7400\""]), + Object(Equivalent, "jaudio_NES/internal/system.c", + extra_cflags=["-pragma \"scheduling 7400\""]), Object(Matching, "jaudio_NES/internal/tables.c"), Object(Matching, "jaudio_NES/internal/waveread.c"), ], diff --git a/include/jaudio_NES/audioconst.h b/include/jaudio_NES/audioconst.h index d131aec1..a0949853 100644 --- a/include/jaudio_NES/audioconst.h +++ b/include/jaudio_NES/audioconst.h @@ -4,6 +4,34 @@ #include "types.h" #include "jaudio_NES/audiostruct.h" +extern fxconfig NA_HALL_DELAY; + +typedef struct _na_spec_config { + u32 _00; + u8 _04; + u8 _05; + u8 _06; + u8 _07; + u8 _08; + u8 _09; + u8 _0A; + u8 _0B; + fxconfig* _0C; + u16 _10; + u16 _12; + u16 _14; + u16 _16; + s32 _18; + s32 _1C; + s32 _20; + s32 _24; + s32 _28; + s32 _2C; + s32 _30; + s32 _34; +} na_spec_config; + +extern na_spec_config NA_SPEC_CONFIG[1]; typedef struct ALGlobalsConst_ { s8 maxChan; s16 timeBase; diff --git a/src/static/jaudio_NES/internal/audioconst.c b/src/static/jaudio_NES/internal/audioconst.c new file mode 100644 index 00000000..9b95db62 --- /dev/null +++ b/src/static/jaudio_NES/internal/audioconst.c @@ -0,0 +1,10 @@ +#include "jaudio_NES/audioconst.h" + +fxconfig NA_HALL_DELAY = { 1, 0x20, 0x4500, 0x14, 0x1100, 0x7fff, 0, 0, 0xff, 0, 0 }; + +na_spec_config NA_SPEC_CONFIG[1] = { { 0xbb80, 1, 0x18, 5, 0, 0, 1, 0, 0, &NA_HALL_DELAY, + 0x400, 0x200, 0x07fff, 0, 0x680, 0x4500, 0, 0x7800, 0x2300, 0 } }; + +ALGlobalsConst AGC = { + 0x18, 0x30, 0x70000, 0x38000, 0x28000, +};