mirror of
https://github.com/TwilitRealm/dusklight
synced 2026-06-09 03:59:34 -04:00
JASDSPInterface OK, minor work on JASAiCtrl (#1908)
This commit is contained in:
@@ -9,8 +9,8 @@
|
||||
#include "JSystem/JAudio2/JASWaveInfo.h"
|
||||
#include "JSystem/JAudio2/dsptask.h"
|
||||
#include "JSystem/JAudio2/osdsp_task.h"
|
||||
#include "JSystem/JAudio2/JASCriticalSection.h"
|
||||
#include "JSystem/JKernel/JKRSolidHeap.h"
|
||||
#include "dol2asm.h"
|
||||
#include "dolphin/dsp/dsp.h"
|
||||
#include "dolphin/os/OSCache.h"
|
||||
|
||||
@@ -18,67 +18,10 @@
|
||||
// Forward References:
|
||||
//
|
||||
|
||||
extern "C" void boot__6JASDspFPFPv_v();
|
||||
extern "C" void releaseHalt__6JASDspFUl();
|
||||
extern "C" void finishWork__6JASDspFUs();
|
||||
extern "C" void syncFrame__6JASDspFUlUlUl();
|
||||
extern "C" void setDSPMixerLevel__6JASDspFf();
|
||||
extern "C" void getDSPMixerLevel__6JASDspFv();
|
||||
extern "C" void getDSPHandle__6JASDspFi();
|
||||
extern "C" void setFilterTable__6JASDspFPsPsUl();
|
||||
extern "C" void flushBuffer__6JASDspFv();
|
||||
extern "C" void invalChannelAll__6JASDspFv();
|
||||
extern "C" void initBuffer__6JASDspFv();
|
||||
extern "C" void setFXLine__6JASDspFUcPsPQ26JASDsp13FxlineConfig_();
|
||||
extern "C" void init__Q26JASDsp8TChannelFv();
|
||||
extern "C" void playStart__Q26JASDsp8TChannelFv();
|
||||
extern "C" void playStop__Q26JASDsp8TChannelFv();
|
||||
extern "C" void replyFinishRequest__Q26JASDsp8TChannelFv();
|
||||
extern "C" void forceStop__Q26JASDsp8TChannelFv();
|
||||
extern "C" void isActive__Q26JASDsp8TChannelCFv();
|
||||
extern "C" void isFinish__Q26JASDsp8TChannelCFv();
|
||||
extern "C" void setWaveInfo__Q26JASDsp8TChannelFRC11JASWaveInfoUlUl();
|
||||
extern "C" void setOscInfo__Q26JASDsp8TChannelFUl();
|
||||
extern "C" void initAutoMixer__Q26JASDsp8TChannelFv();
|
||||
extern "C" void setAutoMixer__Q26JASDsp8TChannelFUsUcUcUcUc();
|
||||
extern "C" void setPitch__Q26JASDsp8TChannelFUs();
|
||||
extern "C" void setMixerInitVolume__Q26JASDsp8TChannelFUcs();
|
||||
extern "C" void setMixerVolume__Q26JASDsp8TChannelFUcs();
|
||||
extern "C" void setPauseFlag__Q26JASDsp8TChannelFUc();
|
||||
extern "C" void flush__Q26JASDsp8TChannelFv();
|
||||
extern "C" void initFilter__Q26JASDsp8TChannelFv();
|
||||
extern "C" void setFilterMode__Q26JASDsp8TChannelFUs();
|
||||
extern "C" void setIIRFilterParam__Q26JASDsp8TChannelFPs();
|
||||
extern "C" void setFIR8FilterParam__Q26JASDsp8TChannelFPs();
|
||||
extern "C" void setDistFilter__Q26JASDsp8TChannelFs();
|
||||
extern "C" void setBusConnect__Q26JASDsp8TChannelFUcUc();
|
||||
extern "C" void DSP_CreateMap2__FUl();
|
||||
extern "C" u8 const DSPADPCM_FILTER__6JASDsp[64];
|
||||
extern "C" void* const DSPRES_FILTER__6JASDsp[320];
|
||||
extern "C" u8 SEND_TABLE__6JASDsp[24 + 24 /* padding */];
|
||||
extern "C" u32 one__11JASWaveInfo[1 + 1 /* padding */];
|
||||
extern "C" u8 CH_BUF__6JASDsp[4];
|
||||
extern "C" u8 FX_BUF__6JASDsp[4];
|
||||
extern "C" f32 sDSPVolume__6JASDsp;
|
||||
|
||||
//
|
||||
// External References:
|
||||
//
|
||||
|
||||
extern "C" void cDyl_InitAsyncIsDone__Fv();
|
||||
extern "C" void bzero__7JASCalcFPvUl();
|
||||
extern "C" void DSPReleaseHalt2__FUl();
|
||||
extern "C" void DsetupTable__FUlUlUlUlUl();
|
||||
extern "C" void DsetMixerLevel__Ff();
|
||||
extern "C" void DspBoot__FPFPv_v();
|
||||
extern "C" void DspFinishWork__FUs();
|
||||
extern "C" void DsyncFrame2__FUlUlUl();
|
||||
extern "C" void* __nwa__FUlP7JKRHeapi();
|
||||
extern "C" void _savegpr_28();
|
||||
extern "C" void _savegpr_29();
|
||||
extern "C" void _restgpr_28();
|
||||
extern "C" void _restgpr_29();
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
//
|
||||
@@ -88,7 +31,7 @@ extern "C" void _restgpr_29();
|
||||
JASDsp::TChannel* JASDsp::CH_BUF;
|
||||
|
||||
/* 804512EC-804512F0 0007EC 0004+00 3/3 0/0 0/0 .sbss FX_BUF__6JASDsp */
|
||||
void* JASDsp::FX_BUF;
|
||||
JASDsp::FxBuf* JASDsp::FX_BUF;
|
||||
|
||||
/* 804512F0-804512F4 0007F0 0004+00 2/2 0/0 0/0 .sbss sDSPVolume__6JASDsp */
|
||||
f32 JASDsp::sDSPVolume;
|
||||
@@ -117,10 +60,6 @@ void JASDsp::syncFrame(u32 param_0, u32 param_1, u32 param_2) {
|
||||
DsyncFrame2(param_0, param_1, param_2);
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80455748-8045574C 003D48 0004+00 1/1 0/0 0/0 .sdata2 @176 */
|
||||
SECTION_SDATA2 static f32 lit_176 = 4.0f;
|
||||
|
||||
/* 8029DA04-8029DA30 298344 002C+00 0/0 1/1 0/0 .text setDSPMixerLevel__6JASDspFf */
|
||||
void JASDsp::setDSPMixerLevel(f32 dsp_level) {
|
||||
sDSPVolume = dsp_level;
|
||||
@@ -148,7 +87,7 @@ void JASDsp::setFilterTable(s16* param_0, s16* param_1, u32 param_2) {
|
||||
/* 8029DA6C-8029DAA0 2983AC 0034+00 1/1 0/0 0/0 .text flushBuffer__6JASDspFv */
|
||||
void JASDsp::flushBuffer() {
|
||||
DCFlushRange(CH_BUF, sizeof(TChannel) * 64);
|
||||
DCFlushRange(FX_BUF, 0x80);
|
||||
DCFlushRange(FX_BUF, sizeof(FxBuf) * 4);
|
||||
}
|
||||
|
||||
/* 8029DAA0-8029DAC8 2983E0 0028+00 0/0 1/1 0/0 .text invalChannelAll__6JASDspFv */
|
||||
@@ -158,345 +97,343 @@ void JASDsp::invalChannelAll() {
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 8039B360-8039B3A0 0279C0 0040+00 1/1 0/0 0/0 .rodata DSPADPCM_FILTER__6JASDsp */
|
||||
SECTION_RODATA u8 const JASDsp::DSPADPCM_FILTER[64] = {
|
||||
u8 const JASDsp::DSPADPCM_FILTER[64] = {
|
||||
0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x04, 0x00, 0x04, 0x00,
|
||||
0x10, 0x00, 0xF8, 0x00, 0x0E, 0x00, 0xFA, 0x00, 0x0C, 0x00, 0xFC, 0x00, 0x12, 0x00, 0xF6, 0x00,
|
||||
0x10, 0x68, 0xF7, 0x38, 0x12, 0xC0, 0xF7, 0x04, 0x14, 0x00, 0xF4, 0x00, 0x08, 0x00, 0xF8, 0x00,
|
||||
0x04, 0x00, 0xFC, 0x00, 0xFC, 0x00, 0x04, 0x00, 0xFC, 0x00, 0x00, 0x00, 0xF8, 0x00, 0x00, 0x00,
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x8039B360, &JASDsp::DSPADPCM_FILTER);
|
||||
|
||||
/* 8039B3A0-8039B8A0 -00001 0500+00 1/1 0/0 0/0 .rodata DSPRES_FILTER__6JASDsp */
|
||||
SECTION_RODATA void* const JASDsp::DSPRES_FILTER[320] = {
|
||||
(void*)0x0C3966AD,
|
||||
(void*)0x0D46FFDF,
|
||||
(void*)0x0B396696,
|
||||
(void*)0x0E5FFFD8,
|
||||
(void*)0x0A446669,
|
||||
(void*)0x0F83FFD0,
|
||||
(void*)0x095A6626,
|
||||
(void*)0x10B4FFC8,
|
||||
(void*)0x087D65CD,
|
||||
(void*)0x11F0FFBF,
|
||||
(void*)0x07AB655E,
|
||||
(void*)0x1338FFB6,
|
||||
(void*)0x06E464D9,
|
||||
(void*)0x148CFFAC,
|
||||
(void*)0x0628643F,
|
||||
(void*)0x15EBFFA1,
|
||||
(void*)0x0577638F,
|
||||
(void*)0x1756FF96,
|
||||
(void*)0x04D162CB,
|
||||
(void*)0x18CBFF8A,
|
||||
(void*)0x043561F3,
|
||||
(void*)0x1A4CFF7E,
|
||||
(void*)0x03A46106,
|
||||
(void*)0x1BD7FF71,
|
||||
(void*)0x031C6007,
|
||||
(void*)0x1D6CFF64,
|
||||
(void*)0x029F5EF5,
|
||||
(void*)0x1F0BFF56,
|
||||
(void*)0x022A5DD0,
|
||||
(void*)0x20B3FF48,
|
||||
(void*)0x01BE5C9A,
|
||||
(void*)0x2264FF3A,
|
||||
(void*)0x015B5B53,
|
||||
(void*)0x241EFF2C,
|
||||
(void*)0x010159FC,
|
||||
(void*)0x25E0FF1E,
|
||||
(void*)0x00AE5896,
|
||||
(void*)0x27A9FF10,
|
||||
(void*)0x00635720,
|
||||
(void*)0x297AFF02,
|
||||
(void*)0x001F559D,
|
||||
(void*)0x2B50FEF4,
|
||||
(void*)0xFFE2540D,
|
||||
(void*)0x2D2CFEE8,
|
||||
(void*)0xFFAC5270,
|
||||
(void*)0x2F0DFEDB,
|
||||
(void*)0xFF7C50C7,
|
||||
(void*)0x30F3FED0,
|
||||
(void*)0xFF534F14,
|
||||
(void*)0x32DCFEC6,
|
||||
(void*)0xFF2E4D57,
|
||||
(void*)0x34C8FEBD,
|
||||
(void*)0xFF0F4B91,
|
||||
(void*)0x36B6FEB6,
|
||||
(void*)0xFEF549C2,
|
||||
(void*)0x38A5FEB0,
|
||||
(void*)0xFEDF47ED,
|
||||
(void*)0x3A95FEAC,
|
||||
(void*)0xFECE4611,
|
||||
(void*)0x3C85FEAB,
|
||||
(void*)0xFEC04430,
|
||||
(void*)0x3E74FEAC,
|
||||
(void*)0xFEB6424A,
|
||||
(void*)0x4060FEAF,
|
||||
(void*)0xFEAF4060,
|
||||
(void*)0x424AFEB6,
|
||||
(void*)0xFEAC3E74,
|
||||
(void*)0x4430FEC0,
|
||||
(void*)0xFEAB3C85,
|
||||
(void*)0x4611FECE,
|
||||
(void*)0xFEAC3A95,
|
||||
(void*)0x47EDFEDF,
|
||||
(void*)0xFEB038A5,
|
||||
(void*)0x49C2FEF5,
|
||||
(void*)0xFEB636B6,
|
||||
(void*)0x4B91FF0F,
|
||||
(void*)0xFEBD34C8,
|
||||
(void*)0x4D57FF2E,
|
||||
(void*)0xFEC632DC,
|
||||
(void*)0x4F14FF53,
|
||||
(void*)0xFED030F3,
|
||||
(void*)0x50C7FF7C,
|
||||
(void*)0xFEDB2F0D,
|
||||
(void*)0x5270FFAC,
|
||||
(void*)0xFEE82D2C,
|
||||
(void*)0x540DFFE2,
|
||||
(void*)0xFEF42B50,
|
||||
(void*)0x559D001F,
|
||||
(void*)0xFF02297A,
|
||||
(void*)0x57200063,
|
||||
(void*)0xFF1027A9,
|
||||
(void*)0x589600AE,
|
||||
(void*)0xFF1E25E0,
|
||||
(void*)0x59FC0101,
|
||||
(void*)0xFF2C241E,
|
||||
(void*)0x5B53015B,
|
||||
(void*)0xFF3A2264,
|
||||
(void*)0x5C9A01BE,
|
||||
(void*)0xFF4820B3,
|
||||
(void*)0x5DD0022A,
|
||||
(void*)0xFF561F0B,
|
||||
(void*)0x5EF5029F,
|
||||
(void*)0xFF641D6C,
|
||||
(void*)0x6007031C,
|
||||
(void*)0xFF711BD7,
|
||||
(void*)0x610603A4,
|
||||
(void*)0xFF7E1A4C,
|
||||
(void*)0x61F30435,
|
||||
(void*)0xFF8A18CB,
|
||||
(void*)0x62CB04D1,
|
||||
(void*)0xFF961756,
|
||||
(void*)0x638F0577,
|
||||
(void*)0xFFA115EB,
|
||||
(void*)0x643F0628,
|
||||
(void*)0xFFAC148C,
|
||||
(void*)0x64D906E4,
|
||||
(void*)0xFFB61338,
|
||||
(void*)0x655E07AB,
|
||||
(void*)0xFFBF11F0,
|
||||
(void*)0x65CD087D,
|
||||
(void*)0xFFC810B4,
|
||||
(void*)0x6626095A,
|
||||
(void*)0xFFD00F83,
|
||||
(void*)0x66690A44,
|
||||
(void*)0xFFD80E5F,
|
||||
(void*)0x66960B39,
|
||||
(void*)0xFFDF0D46,
|
||||
(void*)0x66AD0C39,
|
||||
(void*)0x00000C8B,
|
||||
(void*)0x18F82527,
|
||||
(void*)0x30FB3C56,
|
||||
(void*)0x471C5133,
|
||||
(void*)0x5A8262F1,
|
||||
(void*)0x6A6D70E2,
|
||||
(void*)0x76417A7C,
|
||||
(void*)0x7D897F61,
|
||||
(void*)0x7FFF7F61,
|
||||
(void*)0x7D897A7C,
|
||||
(void*)0x764170E2,
|
||||
(void*)0x6A6D62F1,
|
||||
(void*)0x5A825133,
|
||||
(void*)0x471C3C56,
|
||||
(void*)0x30FB2527,
|
||||
(void*)0x18F80C8B,
|
||||
(void*)0x0000F375,
|
||||
(void*)0xE708DAD9,
|
||||
(void*)0xCF05C3AA,
|
||||
(void*)0xB8E4AECD,
|
||||
(void*)0xA57E9D0F,
|
||||
(void*)0x95938F1E,
|
||||
(void*)0x89BF8584,
|
||||
(void*)0x8277809F,
|
||||
(void*)0x8001809F,
|
||||
(void*)0x82778584,
|
||||
(void*)0x89BF8F1E,
|
||||
(void*)0x95939D0F,
|
||||
(void*)0xA57EAECD,
|
||||
(void*)0xB8E4C3AA,
|
||||
(void*)0xCF05DAD9,
|
||||
(void*)0xE708F375,
|
||||
(void*)0x000007FF,
|
||||
(void*)0x0FFF17FF,
|
||||
(void*)0x1FFF27FF,
|
||||
(void*)0x2FFF37FF,
|
||||
(void*)0x3FFF47FF,
|
||||
(void*)0x4FFF57FF,
|
||||
(void*)0x5FFF67FF,
|
||||
(void*)0x6FFF77FF,
|
||||
(void*)0x7FFF7800,
|
||||
(void*)0x70006800,
|
||||
(void*)0x60005800,
|
||||
(void*)0x50004800,
|
||||
(void*)0x40003800,
|
||||
(void*)0x30002800,
|
||||
(void*)0x20001800,
|
||||
(void*)0x10000800,
|
||||
(void*)0x0000F801,
|
||||
(void*)0xF001E801,
|
||||
(void*)0xE001D801,
|
||||
(void*)0xD001C801,
|
||||
(void*)0xC001B801,
|
||||
(void*)0xB001A801,
|
||||
(void*)0xA0019801,
|
||||
(void*)0x90018801,
|
||||
(void*)(((char*)cDyl_InitAsyncIsDone__Fv) + 0x68),
|
||||
(void*)0x90009800,
|
||||
(void*)0xA000A800,
|
||||
(void*)0xB000B800,
|
||||
(void*)0xC000C800,
|
||||
(void*)0xD000D800,
|
||||
(void*)0xE000E800,
|
||||
(void*)0xF000F800,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)0x1FFF3FFF,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)0x1FFFC001,
|
||||
(void*)0x00000192,
|
||||
(void*)0x032404B6,
|
||||
(void*)0x064707D9,
|
||||
(void*)0x096A0AFB,
|
||||
(void*)0x0C8B0E1B,
|
||||
(void*)0x0FAB1139,
|
||||
(void*)0x12C71455,
|
||||
(void*)0x15E1176D,
|
||||
(void*)0x18F81A82,
|
||||
(void*)0x1C0B1D93,
|
||||
(void*)0x1F19209F,
|
||||
(void*)0x222323A6,
|
||||
(void*)0x252726A7,
|
||||
(void*)0x282629A3,
|
||||
(void*)0x2B1F2C98,
|
||||
(void*)0x2E102F87,
|
||||
(void*)0x30FB326E,
|
||||
(void*)0x33DE354D,
|
||||
(void*)0x36B93824,
|
||||
(void*)0x398C3AF2,
|
||||
(void*)0x3C563DB7,
|
||||
(void*)0x3F174073,
|
||||
(void*)0x41CD4325,
|
||||
(void*)0x447A45CC,
|
||||
(void*)0x471C4869,
|
||||
(void*)0x49B34AFB,
|
||||
(void*)0x4C3F4D81,
|
||||
(void*)0x4EBF4FFB,
|
||||
(void*)0x51335268,
|
||||
(void*)0x539A54C9,
|
||||
(void*)0x55F5571D,
|
||||
(void*)0x58425964,
|
||||
(void*)0x5A825B9C,
|
||||
(void*)0x5CB35DC7,
|
||||
(void*)0x5ED75FE3,
|
||||
(void*)0x60EB61F0,
|
||||
(void*)0x62F163EE,
|
||||
(void*)0x64E865DD,
|
||||
(void*)0x66CF67BC,
|
||||
(void*)0x68A6698B,
|
||||
(void*)0x6A6D6B4A,
|
||||
(void*)0x6C236CF8,
|
||||
(void*)0x6DC96E96,
|
||||
(void*)0x6F5E7022,
|
||||
(void*)0x70E2719D,
|
||||
(void*)0x72547307,
|
||||
(void*)0x73B5745F,
|
||||
(void*)0x750475A5,
|
||||
(void*)0x764176D8,
|
||||
(void*)0x776B77FA,
|
||||
(void*)0x78847909,
|
||||
(void*)0x79897A05,
|
||||
(void*)0x7A7C7AEE,
|
||||
(void*)0x7B5C7BC5,
|
||||
(void*)0x7C297C88,
|
||||
(void*)0x7CE37D39,
|
||||
(void*)0x7D897DD5,
|
||||
(void*)0x7E1D7E5F,
|
||||
(void*)0x7E9C7ED5,
|
||||
(void*)0x7F097F37,
|
||||
(void*)0x7F617F86,
|
||||
(void*)0x7FA67FC1,
|
||||
(void*)0x7FD87FE9,
|
||||
(void*)0x7FF57FFD,
|
||||
u32 const JASDsp::DSPRES_FILTER[320] = {
|
||||
0x0C3966AD,
|
||||
0x0D46FFDF,
|
||||
0x0B396696,
|
||||
0x0E5FFFD8,
|
||||
0x0A446669,
|
||||
0x0F83FFD0,
|
||||
0x095A6626,
|
||||
0x10B4FFC8,
|
||||
0x087D65CD,
|
||||
0x11F0FFBF,
|
||||
0x07AB655E,
|
||||
0x1338FFB6,
|
||||
0x06E464D9,
|
||||
0x148CFFAC,
|
||||
0x0628643F,
|
||||
0x15EBFFA1,
|
||||
0x0577638F,
|
||||
0x1756FF96,
|
||||
0x04D162CB,
|
||||
0x18CBFF8A,
|
||||
0x043561F3,
|
||||
0x1A4CFF7E,
|
||||
0x03A46106,
|
||||
0x1BD7FF71,
|
||||
0x031C6007,
|
||||
0x1D6CFF64,
|
||||
0x029F5EF5,
|
||||
0x1F0BFF56,
|
||||
0x022A5DD0,
|
||||
0x20B3FF48,
|
||||
0x01BE5C9A,
|
||||
0x2264FF3A,
|
||||
0x015B5B53,
|
||||
0x241EFF2C,
|
||||
0x010159FC,
|
||||
0x25E0FF1E,
|
||||
0x00AE5896,
|
||||
0x27A9FF10,
|
||||
0x00635720,
|
||||
0x297AFF02,
|
||||
0x001F559D,
|
||||
0x2B50FEF4,
|
||||
0xFFE2540D,
|
||||
0x2D2CFEE8,
|
||||
0xFFAC5270,
|
||||
0x2F0DFEDB,
|
||||
0xFF7C50C7,
|
||||
0x30F3FED0,
|
||||
0xFF534F14,
|
||||
0x32DCFEC6,
|
||||
0xFF2E4D57,
|
||||
0x34C8FEBD,
|
||||
0xFF0F4B91,
|
||||
0x36B6FEB6,
|
||||
0xFEF549C2,
|
||||
0x38A5FEB0,
|
||||
0xFEDF47ED,
|
||||
0x3A95FEAC,
|
||||
0xFECE4611,
|
||||
0x3C85FEAB,
|
||||
0xFEC04430,
|
||||
0x3E74FEAC,
|
||||
0xFEB6424A,
|
||||
0x4060FEAF,
|
||||
0xFEAF4060,
|
||||
0x424AFEB6,
|
||||
0xFEAC3E74,
|
||||
0x4430FEC0,
|
||||
0xFEAB3C85,
|
||||
0x4611FECE,
|
||||
0xFEAC3A95,
|
||||
0x47EDFEDF,
|
||||
0xFEB038A5,
|
||||
0x49C2FEF5,
|
||||
0xFEB636B6,
|
||||
0x4B91FF0F,
|
||||
0xFEBD34C8,
|
||||
0x4D57FF2E,
|
||||
0xFEC632DC,
|
||||
0x4F14FF53,
|
||||
0xFED030F3,
|
||||
0x50C7FF7C,
|
||||
0xFEDB2F0D,
|
||||
0x5270FFAC,
|
||||
0xFEE82D2C,
|
||||
0x540DFFE2,
|
||||
0xFEF42B50,
|
||||
0x559D001F,
|
||||
0xFF02297A,
|
||||
0x57200063,
|
||||
0xFF1027A9,
|
||||
0x589600AE,
|
||||
0xFF1E25E0,
|
||||
0x59FC0101,
|
||||
0xFF2C241E,
|
||||
0x5B53015B,
|
||||
0xFF3A2264,
|
||||
0x5C9A01BE,
|
||||
0xFF4820B3,
|
||||
0x5DD0022A,
|
||||
0xFF561F0B,
|
||||
0x5EF5029F,
|
||||
0xFF641D6C,
|
||||
0x6007031C,
|
||||
0xFF711BD7,
|
||||
0x610603A4,
|
||||
0xFF7E1A4C,
|
||||
0x61F30435,
|
||||
0xFF8A18CB,
|
||||
0x62CB04D1,
|
||||
0xFF961756,
|
||||
0x638F0577,
|
||||
0xFFA115EB,
|
||||
0x643F0628,
|
||||
0xFFAC148C,
|
||||
0x64D906E4,
|
||||
0xFFB61338,
|
||||
0x655E07AB,
|
||||
0xFFBF11F0,
|
||||
0x65CD087D,
|
||||
0xFFC810B4,
|
||||
0x6626095A,
|
||||
0xFFD00F83,
|
||||
0x66690A44,
|
||||
0xFFD80E5F,
|
||||
0x66960B39,
|
||||
0xFFDF0D46,
|
||||
0x66AD0C39,
|
||||
0x00000C8B,
|
||||
0x18F82527,
|
||||
0x30FB3C56,
|
||||
0x471C5133,
|
||||
0x5A8262F1,
|
||||
0x6A6D70E2,
|
||||
0x76417A7C,
|
||||
0x7D897F61,
|
||||
0x7FFF7F61,
|
||||
0x7D897A7C,
|
||||
0x764170E2,
|
||||
0x6A6D62F1,
|
||||
0x5A825133,
|
||||
0x471C3C56,
|
||||
0x30FB2527,
|
||||
0x18F80C8B,
|
||||
0x0000F375,
|
||||
0xE708DAD9,
|
||||
0xCF05C3AA,
|
||||
0xB8E4AECD,
|
||||
0xA57E9D0F,
|
||||
0x95938F1E,
|
||||
0x89BF8584,
|
||||
0x8277809F,
|
||||
0x8001809F,
|
||||
0x82778584,
|
||||
0x89BF8F1E,
|
||||
0x95939D0F,
|
||||
0xA57EAECD,
|
||||
0xB8E4C3AA,
|
||||
0xCF05DAD9,
|
||||
0xE708F375,
|
||||
0x000007FF,
|
||||
0x0FFF17FF,
|
||||
0x1FFF27FF,
|
||||
0x2FFF37FF,
|
||||
0x3FFF47FF,
|
||||
0x4FFF57FF,
|
||||
0x5FFF67FF,
|
||||
0x6FFF77FF,
|
||||
0x7FFF7800,
|
||||
0x70006800,
|
||||
0x60005800,
|
||||
0x50004800,
|
||||
0x40003800,
|
||||
0x30002800,
|
||||
0x20001800,
|
||||
0x10000800,
|
||||
0x0000F801,
|
||||
0xF001E801,
|
||||
0xE001D801,
|
||||
0xD001C801,
|
||||
0xC001B801,
|
||||
0xB001A801,
|
||||
0xA0019801,
|
||||
0x90018801,
|
||||
0x80018800,
|
||||
0x90009800,
|
||||
0xA000A800,
|
||||
0xB000B800,
|
||||
0xC000C800,
|
||||
0xD000D800,
|
||||
0xE000E800,
|
||||
0xF000F800,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0x1FFF3FFF,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0x1FFFC001,
|
||||
0x00000192,
|
||||
0x032404B6,
|
||||
0x064707D9,
|
||||
0x096A0AFB,
|
||||
0x0C8B0E1B,
|
||||
0x0FAB1139,
|
||||
0x12C71455,
|
||||
0x15E1176D,
|
||||
0x18F81A82,
|
||||
0x1C0B1D93,
|
||||
0x1F19209F,
|
||||
0x222323A6,
|
||||
0x252726A7,
|
||||
0x282629A3,
|
||||
0x2B1F2C98,
|
||||
0x2E102F87,
|
||||
0x30FB326E,
|
||||
0x33DE354D,
|
||||
0x36B93824,
|
||||
0x398C3AF2,
|
||||
0x3C563DB7,
|
||||
0x3F174073,
|
||||
0x41CD4325,
|
||||
0x447A45CC,
|
||||
0x471C4869,
|
||||
0x49B34AFB,
|
||||
0x4C3F4D81,
|
||||
0x4EBF4FFB,
|
||||
0x51335268,
|
||||
0x539A54C9,
|
||||
0x55F5571D,
|
||||
0x58425964,
|
||||
0x5A825B9C,
|
||||
0x5CB35DC7,
|
||||
0x5ED75FE3,
|
||||
0x60EB61F0,
|
||||
0x62F163EE,
|
||||
0x64E865DD,
|
||||
0x66CF67BC,
|
||||
0x68A6698B,
|
||||
0x6A6D6B4A,
|
||||
0x6C236CF8,
|
||||
0x6DC96E96,
|
||||
0x6F5E7022,
|
||||
0x70E2719D,
|
||||
0x72547307,
|
||||
0x73B5745F,
|
||||
0x750475A5,
|
||||
0x764176D8,
|
||||
0x776B77FA,
|
||||
0x78847909,
|
||||
0x79897A05,
|
||||
0x7A7C7AEE,
|
||||
0x7B5C7BC5,
|
||||
0x7C297C88,
|
||||
0x7CE37D39,
|
||||
0x7D897DD5,
|
||||
0x7E1D7E5F,
|
||||
0x7E9C7ED5,
|
||||
0x7F097F37,
|
||||
0x7F617F86,
|
||||
0x7FA67FC1,
|
||||
0x7FD87FE9,
|
||||
0x7FF57FFD,
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x8039B3A0, &JASDsp::DSPRES_FILTER);
|
||||
|
||||
/* 8029DAC8-8029DB78 298408 00B0+00 0/0 1/1 0/0 .text initBuffer__6JASDspFv */
|
||||
void JASDsp::initBuffer() {
|
||||
CH_BUF = new(JASDram, 0x20) TChannel[64];
|
||||
FX_BUF = new(JASDram, 0x20) u8[0x80];
|
||||
FX_BUF = new(JASDram, 0x20) FxBuf[4];
|
||||
JASCalc::bzero(CH_BUF, 0x6000);
|
||||
JASCalc::bzero(FX_BUF, 0x80);
|
||||
JASCalc::bzero(FX_BUF, sizeof(FxBuf) * 4);
|
||||
for (u8 i = 0; i < 4; i++) {
|
||||
setFXLine(i, NULL, NULL);
|
||||
}
|
||||
@@ -506,7 +443,7 @@ void JASDsp::initBuffer() {
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 803C78F0-803C7920 024A10 0018+18 1/1 0/0 0/0 .data SEND_TABLE__6JASDsp */
|
||||
SECTION_DATA u16 JASDsp::SEND_TABLE[12 + 12 /* padding */] = {
|
||||
u16 JASDsp::SEND_TABLE[12 + 12 /* padding */] = {
|
||||
0x0D00,
|
||||
0x0D60,
|
||||
0x0DC8,
|
||||
@@ -536,14 +473,35 @@ SECTION_DATA u16 JASDsp::SEND_TABLE[12 + 12 /* padding */] = {
|
||||
|
||||
/* 8029DB78-8029DCA4 2984B8 012C+00 1/1 1/1 0/0 .text
|
||||
* setFXLine__6JASDspFUcPsPQ26JASDsp13FxlineConfig_ */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void JASDsp::setFXLine(u8 param_0, s16* param_1, JASDsp::FxlineConfig_* param_2) {
|
||||
nofralloc
|
||||
#include "asm/JSystem/JAudio2/JASDSPInterface/setFXLine__6JASDspFUcPsPQ26JASDsp13FxlineConfig_.s"
|
||||
int JASDsp::setFXLine(u8 param_0, s16* param_1, JASDsp::FxlineConfig_* param_2) {
|
||||
FxBuf* puVar3 = FX_BUF + param_0;
|
||||
JASCriticalSection aJStack_20;
|
||||
puVar3->field_0x0 = 0;
|
||||
if (param_2 != NULL) {
|
||||
puVar3->field_0xa = param_2->field_0x4;
|
||||
puVar3->field_0x8 = SEND_TABLE[param_2->field_0x2];
|
||||
puVar3->field_0xe = param_2->field_0x8;
|
||||
puVar3->field_0xc = SEND_TABLE[param_2->field_0x6];
|
||||
puVar3->field_0x2 = param_2->field_0xc;
|
||||
setFilterTable(puVar3->field_0x10, param_2->field_0x10, 8);
|
||||
}
|
||||
if (param_1 != NULL && param_2 != NULL) {
|
||||
u32 iVar1 = param_2->field_0xc * 0xa0;
|
||||
puVar3->field_0x4 = param_1;
|
||||
JASCalc::bzero(param_1, iVar1);
|
||||
DCFlushRange(param_1, iVar1);
|
||||
} else if (param_2 == NULL || param_1 != NULL) {
|
||||
puVar3->field_0x4 = param_1;
|
||||
}
|
||||
|
||||
if (puVar3->field_0x4 != NULL) {
|
||||
puVar3->field_0x0 = param_2->field_0x0;
|
||||
} else {
|
||||
puVar3->field_0x0 = 0;
|
||||
}
|
||||
DCFlushRange(puVar3, sizeof(FxBuf));
|
||||
return 1;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8029DCA4-8029DCE0 2985E4 003C+00 0/0 1/1 0/0 .text init__Q26JASDsp8TChannelFv */
|
||||
void JASDsp::TChannel::init() {
|
||||
@@ -557,32 +515,21 @@ void JASDsp::TChannel::init() {
|
||||
}
|
||||
|
||||
/* 8029DCE0-8029DD44 298620 0064+00 0/0 1/1 0/0 .text playStart__Q26JASDsp8TChannelFv */
|
||||
// regswap
|
||||
#ifdef NONMATCHING
|
||||
void JASDsp::TChannel::playStart() {
|
||||
field_0x10c = 0;
|
||||
field_0x060 = 0;
|
||||
field_0x008 = 1;
|
||||
field_0x066 = 0;
|
||||
for (int i = 0; i < 4; i++) {
|
||||
int i;
|
||||
for (i = 0; i < 4; i++) {
|
||||
field_0x078[i] = 0;
|
||||
field_0x0a8[i] = 0;
|
||||
}
|
||||
for (int i = 0; i < 20; i++) {
|
||||
for (i = 0; i < 20; i++) {
|
||||
field_0x080[i] = 0;
|
||||
}
|
||||
mIsActive = 1;
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void JASDsp::TChannel::playStart() {
|
||||
nofralloc
|
||||
#include "asm/JSystem/JAudio2/JASDSPInterface/playStart__Q26JASDsp8TChannelFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 8029DD44-8029DD50 298684 000C+00 0/0 1/1 0/0 .text playStop__Q26JASDsp8TChannelFv */
|
||||
void JASDsp::TChannel::playStop() {
|
||||
@@ -612,12 +559,12 @@ bool JASDsp::TChannel::isFinish() const {
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 8045574C-80455754 003D4C 0008+00 1/1 0/0 0/0 .sdata2 COMP_BLOCKSAMPLES$331 */
|
||||
SECTION_SDATA2 static u8 COMP_BLOCKSAMPLES[8] = {
|
||||
static const u8 COMP_BLOCKSAMPLES[8] = {
|
||||
0x10, 0x10, 0x01, 0x01, 0x01, 0x10, 0x10, 0x01,
|
||||
};
|
||||
|
||||
/* 80455754-8045575C 003D54 0008+00 1/1 0/0 0/0 .sdata2 COMP_BLOCKBYTES$332 */
|
||||
SECTION_SDATA2 static u8 COMP_BLOCKBYTES[8] = {
|
||||
static const u8 COMP_BLOCKBYTES[8] = {
|
||||
0x09, 0x05, 0x08, 0x10, 0x01, 0x01, 0x01, 0x01,
|
||||
};
|
||||
|
||||
@@ -730,29 +677,18 @@ void JASDsp::TChannel::flush() {
|
||||
}
|
||||
|
||||
/* 8029DFB0-8029E00C 2988F0 005C+00 1/1 0/0 0/0 .text initFilter__Q26JASDsp8TChannelFv */
|
||||
// regswap
|
||||
#ifdef NONMATCHING
|
||||
void JASDsp::TChannel::initFilter() {
|
||||
for (int i = 0; i < 8; i++) {
|
||||
int i;
|
||||
for (i = 0; i < 8; i++) {
|
||||
fir_filter_params[i] = 0;
|
||||
}
|
||||
fir_filter_params[0] = 0x7fff;
|
||||
for (int i = 0; i < 8; i++) {
|
||||
for (i = 0; i < 8; i++) {
|
||||
iir_filter_params[i] = 0;
|
||||
}
|
||||
iir_filter_params[0] = 0x7fff;
|
||||
iir_filter_params[4] = 0;
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void JASDsp::TChannel::initFilter() {
|
||||
nofralloc
|
||||
#include "asm/JSystem/JAudio2/JASDSPInterface/initFilter__Q26JASDsp8TChannelFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 8029E00C-8029E044 29894C 0038+00 0/0 1/1 0/0 .text setFilterMode__Q26JASDsp8TChannelFUs */
|
||||
void JASDsp::TChannel::setFilterMode(u16 param_0) {
|
||||
@@ -788,11 +724,10 @@ void JASDsp::TChannel::setDistFilter(s16 param_0) {
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 8039B8A0-8039B8B8 027F00 0018+00 1/1 0/0 0/0 .rodata connect_table$463 */
|
||||
SECTION_RODATA static u16 const connect_table[12] = {
|
||||
static u16 const connect_table[12] = {
|
||||
0x0000, 0x0D00, 0x0D60, 0x0DC0, 0x0E20, 0x0E80,
|
||||
0x0EE0, 0x0CA0, 0x0F40, 0x0FA0, 0x0B00, 0x09A0,
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x8039B8A0, &connect_table);
|
||||
|
||||
/* 8029E09C-8029E0BC 2989DC 0020+00 0/0 1/1 0/0 .text setBusConnect__Q26JASDsp8TChannelFUcUc */
|
||||
void JASDsp::TChannel::setBusConnect(u8 param_0, u8 param_1) {
|
||||
@@ -816,19 +751,8 @@ u16 DSP_CreateMap2(u32 param_0) {
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 804507B8-804507C0 000238 0004+04 0/0 5/5 0/0 .sdata one__11JASWaveInfo */
|
||||
SECTION_SDATA u32 JASWaveInfo::one[1 + 1 /* padding */] = {
|
||||
u32 JASWaveInfo::one[1 + 1 /* padding */] = {
|
||||
0x00000001,
|
||||
/* padding */
|
||||
0x00000000,
|
||||
};
|
||||
|
||||
/* 8045575C-80455760 -00001 0004+00 0/0 0/0 0/0 .sdata2 None */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_SDATA2 static u8 pad_8045575C[4] = {
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
};
|
||||
#pragma pop
|
||||
|
||||
Reference in New Issue
Block a user