From 55adb20bcf6ddaa04b68c53465af9575af40a22d Mon Sep 17 00:00:00 2001 From: Jcw87 Date: Sun, 29 Oct 2023 13:22:20 -0700 Subject: [PATCH] JASDriverTables --- include/JSystem/JAudio/JASDSPInterface.h | 5 +- include/JSystem/JAudio/JASDriverIF.h | 2 - include/JSystem/JAudio/JASDriverTables.h | 16 +++ src/JSystem/JAudio/JASDSPInterface.cpp | 1 + src/JSystem/JAudio/JASDriverTables.cpp | 127 ++++++++++++++++++++++- 5 files changed, 143 insertions(+), 8 deletions(-) create mode 100644 include/JSystem/JAudio/JASDriverTables.h diff --git a/include/JSystem/JAudio/JASDSPInterface.h b/include/JSystem/JAudio/JASDSPInterface.h index d264986d8..69b279176 100644 --- a/include/JSystem/JAudio/JASDSPInterface.h +++ b/include/JSystem/JAudio/JASDSPInterface.h @@ -127,10 +127,7 @@ namespace JASystem { extern u16 JAS_DSP_PREFIX; extern DSPBuffer* CH_BUF; extern FXBuffer* FX_BUF; - extern float sDSPVolume; - - extern u32 DSPADPCM_FILTER[]; - extern u32 DSPRES_FILTER[]; + extern f32 sDSPVolume; }; } diff --git a/include/JSystem/JAudio/JASDriverIF.h b/include/JSystem/JAudio/JASDriverIF.h index 972e473b7..6244d863e 100644 --- a/include/JSystem/JAudio/JASDriverIF.h +++ b/include/JSystem/JAudio/JASDriverIF.h @@ -23,8 +23,6 @@ namespace JASystem { extern u16 MAX_AUTOMIXERLEVEL; extern u32 JAS_SYSTEM_OUTPUT_MODE; extern u8 JAS_UPDATE_INTERVAL; - - extern int C5BASE_PITCHTABLE; }; } diff --git a/include/JSystem/JAudio/JASDriverTables.h b/include/JSystem/JAudio/JASDriverTables.h new file mode 100644 index 000000000..b43306c3f --- /dev/null +++ b/include/JSystem/JAudio/JASDriverTables.h @@ -0,0 +1,16 @@ +#ifndef JASDRIVERTABLES_H +#define JASDRIVERTABLES_H + +#include "dolphin/types.h" + +namespace JASystem { + namespace Driver { + extern f32 C5BASE_PITCHTABLE[]; + } + namespace DSPInterface { + extern u16 DSPADPCM_FILTER[]; + extern u16 DSPRES_FILTER[]; + } +} + +#endif /* JASDRIVERTABLES_H */ diff --git a/src/JSystem/JAudio/JASDSPInterface.cpp b/src/JSystem/JAudio/JASDSPInterface.cpp index cf2323953..66580b090 100644 --- a/src/JSystem/JAudio/JASDSPInterface.cpp +++ b/src/JSystem/JAudio/JASDSPInterface.cpp @@ -5,6 +5,7 @@ #include "JSystem/JAudio/JASDSPInterface.h" #include "JSystem/JAudio/JASCalc.h" +#include "JSystem/JAudio/JASDriverTables.h" #include "JSystem/JAudio/JASSystemHeap.h" #include "JSystem/JAudio/dspproc.h" #include "JSystem/JKernel/JKRSolidHeap.h" diff --git a/src/JSystem/JAudio/JASDriverTables.cpp b/src/JSystem/JAudio/JASDriverTables.cpp index 2bc938290..c4ddabec9 100644 --- a/src/JSystem/JAudio/JASDriverTables.cpp +++ b/src/JSystem/JAudio/JASDriverTables.cpp @@ -3,6 +3,129 @@ // Translation Unit: JASDriverTables.cpp // -#include "JASDriverTables.h" -#include "dolphin/types.h" +#include "JSystem/JAudio/JASDriverTables.h" +f32 JASystem::Driver::C5BASE_PITCHTABLE[] = { + 0.031250f, 0.033108f, 0.035077f, 0.037162f, + 0.039372f, 0.041713f, 0.044194f, 0.046822f, + 0.049606f, 0.052556f, 0.055681f, 0.058992f, + 0.062500f, 0.066216f, 0.070154f, 0.074325f, + 0.078745f, 0.083427f, 0.088388f, 0.093644f, + 0.099213f, 0.105112f, 0.111362f, 0.117984f, + 0.125000f, 0.132433f, 0.140308f, 0.148651f, + 0.157490f, 0.166855f, 0.176777f, 0.187288f, + 0.198425f, 0.210224f, 0.222725f, 0.235969f, + 0.250000f, 0.264866f, 0.280616f, 0.297302f, + 0.314980f, 0.333710f, 0.353553f, 0.374577f, + 0.396850f, 0.420448f, 0.445449f, 0.471937f, + 0.500000f, 0.529732f, 0.561231f, 0.594604f, + 0.629961f, 0.667420f, 0.707107f, 0.749154f, + 0.793701f, 0.840897f, 0.890899f, 0.943875f, + 1.000000f, 1.059463f, 1.122462f, 1.189207f, + 1.259921f, 1.334840f, 1.414214f, 1.498307f, + 1.587401f, 1.681793f, 1.781798f, 1.887749f, + 2.000000f, 2.118926f, 2.244924f, 2.378414f, + 2.519842f, 2.669680f, 2.828428f, 2.996615f, + 3.174803f, 3.363586f, 3.563596f, 3.775498f, + 4.000000f, 4.237853f, 4.489849f, 4.756829f, + 5.039685f, 5.339360f, 5.656855f, 5.993229f, + 6.349606f, 6.727173f, 7.127192f, 7.550996f, + 8.000000f, 8.475705f, 8.979697f, 9.513658f, + 10.079370f, 10.678720f, 11.313710f, 11.986459f, + 12.699211f, 13.454346f, 14.254383f, 15.101993f, + 16.000000f, 16.951410f, 17.959394f, 19.027315f, + 20.158739f, 21.357441f, 22.627420f, 23.972918f, + 25.398422f, 26.908691f, 28.508766f, 30.203985f, + 32.000000f, 33.902821f, 35.918789f, 38.054630f, + 40.317478f, 42.714882f, 45.254840f, 47.945835f, +}; + +u16 JASystem::DSPInterface::DSPADPCM_FILTER[] = { + 0x0000, 0x0000, 0x0800, 0x0000, 0x0000, 0x0800, 0x0400, 0x0400, + 0x1000, 0xF800, 0x0E00, 0xFA00, 0x0C00, 0xFC00, 0x1200, 0xF600, + 0x1068, 0xF738, 0x12C0, 0xF704, 0x1400, 0xF400, 0x0800, 0xF800, + 0x0400, 0xFC00, 0xFC00, 0x0400, 0xFC00, 0x0000, 0xF800, 0x0000, +}; + +u16 JASystem::DSPInterface::DSPRES_FILTER[] = { + 0x0C39, 0x66AD, 0x0D46, 0xFFDF, 0x0B39, 0x6696, 0x0E5F, 0xFFD8, + 0x0A44, 0x6669, 0x0F83, 0xFFD0, 0x095A, 0x6626, 0x10B4, 0xFFC8, + 0x087D, 0x65CD, 0x11F0, 0xFFBF, 0x07AB, 0x655E, 0x1338, 0xFFB6, + 0x06E4, 0x64D9, 0x148C, 0xFFAC, 0x0628, 0x643F, 0x15EB, 0xFFA1, + 0x0577, 0x638F, 0x1756, 0xFF96, 0x04D1, 0x62CB, 0x18CB, 0xFF8A, + 0x0435, 0x61F3, 0x1A4C, 0xFF7E, 0x03A4, 0x6106, 0x1BD7, 0xFF71, + 0x031C, 0x6007, 0x1D6C, 0xFF64, 0x029F, 0x5EF5, 0x1F0B, 0xFF56, + 0x022A, 0x5DD0, 0x20B3, 0xFF48, 0x01BE, 0x5C9A, 0x2264, 0xFF3A, + 0x015B, 0x5B53, 0x241E, 0xFF2C, 0x0101, 0x59FC, 0x25E0, 0xFF1E, + 0x00AE, 0x5896, 0x27A9, 0xFF10, 0x0063, 0x5720, 0x297A, 0xFF02, + 0x001F, 0x559D, 0x2B50, 0xFEF4, 0xFFE2, 0x540D, 0x2D2C, 0xFEE8, + 0xFFAC, 0x5270, 0x2F0D, 0xFEDB, 0xFF7C, 0x50C7, 0x30F3, 0xFED0, + 0xFF53, 0x4F14, 0x32DC, 0xFEC6, 0xFF2E, 0x4D57, 0x34C8, 0xFEBD, + 0xFF0F, 0x4B91, 0x36B6, 0xFEB6, 0xFEF5, 0x49C2, 0x38A5, 0xFEB0, + 0xFEDF, 0x47ED, 0x3A95, 0xFEAC, 0xFECE, 0x4611, 0x3C85, 0xFEAB, + 0xFEC0, 0x4430, 0x3E74, 0xFEAC, 0xFEB6, 0x424A, 0x4060, 0xFEAF, + 0xFEAF, 0x4060, 0x424A, 0xFEB6, 0xFEAC, 0x3E74, 0x4430, 0xFEC0, + 0xFEAB, 0x3C85, 0x4611, 0xFECE, 0xFEAC, 0x3A95, 0x47ED, 0xFEDF, + 0xFEB0, 0x38A5, 0x49C2, 0xFEF5, 0xFEB6, 0x36B6, 0x4B91, 0xFF0F, + 0xFEBD, 0x34C8, 0x4D57, 0xFF2E, 0xFEC6, 0x32DC, 0x4F14, 0xFF53, + 0xFED0, 0x30F3, 0x50C7, 0xFF7C, 0xFEDB, 0x2F0D, 0x5270, 0xFFAC, + 0xFEE8, 0x2D2C, 0x540D, 0xFFE2, 0xFEF4, 0x2B50, 0x559D, 0x001F, + 0xFF02, 0x297A, 0x5720, 0x0063, 0xFF10, 0x27A9, 0x5896, 0x00AE, + 0xFF1E, 0x25E0, 0x59FC, 0x0101, 0xFF2C, 0x241E, 0x5B53, 0x015B, + 0xFF3A, 0x2264, 0x5C9A, 0x01BE, 0xFF48, 0x20B3, 0x5DD0, 0x022A, + 0xFF56, 0x1F0B, 0x5EF5, 0x029F, 0xFF64, 0x1D6C, 0x6007, 0x031C, + 0xFF71, 0x1BD7, 0x6106, 0x03A4, 0xFF7E, 0x1A4C, 0x61F3, 0x0435, + 0xFF8A, 0x18CB, 0x62CB, 0x04D1, 0xFF96, 0x1756, 0x638F, 0x0577, + 0xFFA1, 0x15EB, 0x643F, 0x0628, 0xFFAC, 0x148C, 0x64D9, 0x06E4, + 0xFFB6, 0x1338, 0x655E, 0x07AB, 0xFFBF, 0x11F0, 0x65CD, 0x087D, + 0xFFC8, 0x10B4, 0x6626, 0x095A, 0xFFD0, 0x0F83, 0x6669, 0x0A44, + 0xFFD8, 0x0E5F, 0x6696, 0x0B39, 0xFFDF, 0x0D46, 0x66AD, 0x0C39, + 0x0000, 0x0C8B, 0x18F8, 0x2527, 0x30FB, 0x3C56, 0x471C, 0x5133, + 0x5A82, 0x62F1, 0x6A6D, 0x70E2, 0x7641, 0x7A7C, 0x7D89, 0x7F61, + 0x7FFF, 0x7F61, 0x7D89, 0x7A7C, 0x7641, 0x70E2, 0x6A6D, 0x62F1, + 0x5A82, 0x5133, 0x471C, 0x3C56, 0x30FB, 0x2527, 0x18F8, 0x0C8B, + 0x0000, 0xF375, 0xE708, 0xDAD9, 0xCF05, 0xC3AA, 0xB8E4, 0xAECD, + 0xA57E, 0x9D0F, 0x9593, 0x8F1E, 0x89BF, 0x8584, 0x8277, 0x809F, + 0x8001, 0x809F, 0x8277, 0x8584, 0x89BF, 0x8F1E, 0x9593, 0x9D0F, + 0xA57E, 0xAECD, 0xB8E4, 0xC3AA, 0xCF05, 0xDAD9, 0xE708, 0xF375, + 0x0000, 0x07FF, 0x0FFF, 0x17FF, 0x1FFF, 0x27FF, 0x2FFF, 0x37FF, + 0x3FFF, 0x47FF, 0x4FFF, 0x57FF, 0x5FFF, 0x67FF, 0x6FFF, 0x77FF, + 0x7FFF, 0x7800, 0x7000, 0x6800, 0x6000, 0x5800, 0x5000, 0x4800, + 0x4000, 0x3800, 0x3000, 0x2800, 0x2000, 0x1800, 0x1000, 0x0800, + 0x0000, 0xF801, 0xF001, 0xE801, 0xE001, 0xD801, 0xD001, 0xC801, + 0xC001, 0xB801, 0xB001, 0xA801, 0xA001, 0x9801, 0x9001, 0x8801, + 0x0000, 0x0000, 0x9000, 0x9800, 0xA000, 0xA800, 0xB000, 0xB800, + 0xC000, 0xC800, 0xD000, 0xD800, 0xE000, 0xE800, 0xF000, 0xF800, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1FFF, 0x3FFF, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1FFF, 0xC001, + 0x0000, 0x0192, 0x0324, 0x04B6, 0x0647, 0x07D9, 0x096A, 0x0AFB, + 0x0C8B, 0x0E1B, 0x0FAB, 0x1139, 0x12C7, 0x1455, 0x15E1, 0x176D, + 0x18F8, 0x1A82, 0x1C0B, 0x1D93, 0x1F19, 0x209F, 0x2223, 0x23A6, + 0x2527, 0x26A7, 0x2826, 0x29A3, 0x2B1F, 0x2C98, 0x2E10, 0x2F87, + 0x30FB, 0x326E, 0x33DE, 0x354D, 0x36B9, 0x3824, 0x398C, 0x3AF2, + 0x3C56, 0x3DB7, 0x3F17, 0x4073, 0x41CD, 0x4325, 0x447A, 0x45CC, + 0x471C, 0x4869, 0x49B3, 0x4AFB, 0x4C3F, 0x4D81, 0x4EBF, 0x4FFB, + 0x5133, 0x5268, 0x539A, 0x54C9, 0x55F5, 0x571D, 0x5842, 0x5964, + 0x5A82, 0x5B9C, 0x5CB3, 0x5DC7, 0x5ED7, 0x5FE3, 0x60EB, 0x61F0, + 0x62F1, 0x63EE, 0x64E8, 0x65DD, 0x66CF, 0x67BC, 0x68A6, 0x698B, + 0x6A6D, 0x6B4A, 0x6C23, 0x6CF8, 0x6DC9, 0x6E96, 0x6F5E, 0x7022, + 0x70E2, 0x719D, 0x7254, 0x7307, 0x73B5, 0x745F, 0x7504, 0x75A5, + 0x7641, 0x76D8, 0x776B, 0x77FA, 0x7884, 0x7909, 0x7989, 0x7A05, + 0x7A7C, 0x7AEE, 0x7B5C, 0x7BC5, 0x7C29, 0x7C88, 0x7CE3, 0x7D39, + 0x7D89, 0x7DD5, 0x7E1D, 0x7E5F, 0x7E9C, 0x7ED5, 0x7F09, 0x7F37, + 0x7F61, 0x7F86, 0x7FA6, 0x7FC1, 0x7FD8, 0x7FE9, 0x7FF5, 0x7FFD, +};