mirror of
https://github.com/TwilitRealm/dusklight
synced 2026-06-01 17:27:19 -04:00
988 lines
30 KiB
C++
988 lines
30 KiB
C++
//
|
|
// Generated By: dol2asm
|
|
// Translation Unit: JASAiCtrl
|
|
//
|
|
|
|
#include "dol2asm.h"
|
|
#include "dolphin/types.h"
|
|
#include "JSystem/JAudio2/JASAiCtrl.h"
|
|
|
|
//
|
|
// Types:
|
|
//
|
|
|
|
struct JKRHeap {
|
|
};
|
|
|
|
struct JASProbe {
|
|
/* 80290EE4 */ // False False
|
|
// s32 False
|
|
// char const* False
|
|
// char const False
|
|
// char False
|
|
void start(s32, char const*);
|
|
/* 80290F24 */ // False False
|
|
// s32 False
|
|
void stop(s32);
|
|
};
|
|
|
|
struct JASPortCmd {
|
|
/* 80291060 */ // False False
|
|
void execAllCommand();
|
|
};
|
|
|
|
struct JASOutputRate {
|
|
};
|
|
|
|
struct JASMixMode {
|
|
};
|
|
|
|
struct JASLfo {
|
|
/* 8029BDD8 */ // False False
|
|
// f32 False
|
|
void incCounter(f32);
|
|
};
|
|
|
|
struct JASDsp {
|
|
/* 8029D9E4 */ // False False
|
|
// u32 False
|
|
// u32 False
|
|
// u32 False
|
|
void syncFrame(u32, u32, u32);
|
|
/* 8029DAA0 */ // False False
|
|
void invalChannelAll();
|
|
};
|
|
|
|
struct JASDriver {
|
|
/* 8029C388 */ // False False
|
|
// void (*)(void) False
|
|
// * False
|
|
// False
|
|
// void False
|
|
// void False
|
|
void initAI(void (*)(void));
|
|
/* 8029C4E4 */ // False False
|
|
void startDMA();
|
|
/* 8029C504 */ // False False
|
|
void stopDMA();
|
|
/* 8029C524 */ // True False
|
|
// JASOutputRate False
|
|
void setOutputRate(JASOutputRate);
|
|
/* 8029C568 */ // False False
|
|
void updateDac();
|
|
/* 8029C6C4 */ // False False
|
|
void updateDSP();
|
|
/* 8029C7E0 */ // True False
|
|
// s16* False
|
|
// s16 False
|
|
// u32 False
|
|
void readDspBuffer(s16*, u32);
|
|
/* 8029C900 */ // False False
|
|
void finishDSPFrame();
|
|
/* 8029C9DC */ // False False
|
|
// s16* (*)(s32) False
|
|
// * False
|
|
// False
|
|
// s16* False
|
|
// s16 False
|
|
// s32 False
|
|
// JASMixMode False
|
|
void registerMixCallback(s16* (*)(s32), JASMixMode);
|
|
/* 8029C9E8 */ // False False
|
|
void getDacRate();
|
|
/* 8029C9F0 */ // False False
|
|
void getSubFrames();
|
|
/* 8029C9F8 */ // True False
|
|
void getDacSize();
|
|
/* 8029CA04 */ // True False
|
|
void getFrameSamples();
|
|
/* 8029CA10 */ // True False
|
|
// s16* False
|
|
// s16 False
|
|
// u32 False
|
|
// s16* (*)(s32) False
|
|
// * False
|
|
// False
|
|
// s16* False
|
|
// s16 False
|
|
// s32 False
|
|
void mixMonoTrack(s16*, u32, s16* (*)(s32));
|
|
/* 8029CAC0 */ // True False
|
|
// s16* False
|
|
// s16 False
|
|
// u32 False
|
|
// s16* (*)(s32) False
|
|
// * False
|
|
// False
|
|
// s16* False
|
|
// s16 False
|
|
// s32 False
|
|
void mixMonoTrackWide(s16*, u32, s16* (*)(s32));
|
|
/* 8029CB70 */ // True False
|
|
// s16* False
|
|
// s16 False
|
|
// u32 False
|
|
// s16* (*)(s32) False
|
|
// * False
|
|
// False
|
|
// s16* False
|
|
// s16 False
|
|
// s32 False
|
|
void mixExtraTrack(s16*, u32, s16* (*)(s32));
|
|
/* 8029CC50 */ // True False
|
|
// s16* False
|
|
// s16 False
|
|
// u32 False
|
|
// s16* (*)(s32) False
|
|
// * False
|
|
// False
|
|
// s16* False
|
|
// s16 False
|
|
// s32 False
|
|
void mixInterleaveTrack(s16*, u32, s16* (*)(s32));
|
|
/* 8029CCD4 */ // False False
|
|
void getSubFrameCounter();
|
|
/* 8029E2A8 */ // False False
|
|
void subframeCallback();
|
|
/* 8029E2D0 */ // False False
|
|
void DSPSyncCallback();
|
|
};
|
|
|
|
struct JASDSPChannel {
|
|
/* 8029D89C */ // False False
|
|
void updateAll();
|
|
/* 8029D910 */ // False False
|
|
void killActiveChannel();
|
|
};
|
|
|
|
struct JASChannel {
|
|
/* 8029BC0C */ // False False
|
|
void initBankDisposeMsgQueue();
|
|
/* 8029BC48 */ // False False
|
|
void receiveBankDisposeMsg();
|
|
};
|
|
|
|
struct JASCalc {
|
|
/* 8028F2E8 */ // False False
|
|
// s16 const* False
|
|
// s16 const False
|
|
// s16 False
|
|
// s16 const* False
|
|
// s16 const False
|
|
// s16 False
|
|
// s16* False
|
|
// s16 False
|
|
// u32 False
|
|
void imixcopy(s16 const*, s16 const*, s16*, u32);
|
|
/* 8028F480 */ // False False
|
|
// void* False
|
|
// void False
|
|
// u32 False
|
|
void bzero(void*, u32);
|
|
/* */ template <typename A1, typename B1>
|
|
/* */ // False True
|
|
// s32 False
|
|
void clamp(/* s32 */);
|
|
/* 8028F69C */ /* clamp<s16, s32> */
|
|
// False True
|
|
// s32 False
|
|
void clamp__template0(s32);
|
|
|
|
};
|
|
|
|
//
|
|
// Forward References:
|
|
//
|
|
|
|
|
|
// False False
|
|
// void (*)(void) False
|
|
// * False
|
|
// False
|
|
// void False
|
|
// void False
|
|
extern "C" void initAI__9JASDriverFPFv_v();
|
|
// False False
|
|
extern "C" void startDMA__9JASDriverFv();
|
|
// False False
|
|
extern "C" void stopDMA__9JASDriverFv();
|
|
// True False
|
|
// JASOutputRate False
|
|
extern "C" void setOutputRate__9JASDriverF13JASOutputRate();
|
|
// False False
|
|
extern "C" void updateDac__9JASDriverFv();
|
|
// False False
|
|
extern "C" void updateDSP__9JASDriverFv();
|
|
// True False
|
|
// s16* False
|
|
// s16 False
|
|
// u32 False
|
|
extern "C" void readDspBuffer__9JASDriverFPsUl();
|
|
// False False
|
|
extern "C" void finishDSPFrame__9JASDriverFv();
|
|
// False False
|
|
// s16* (*)(s32) False
|
|
// * False
|
|
// False
|
|
// s16* False
|
|
// s16 False
|
|
// s32 False
|
|
// JASMixMode False
|
|
extern "C" void registerMixCallback__9JASDriverFPFl_Ps10JASMixMode();
|
|
// False False
|
|
extern "C" void getDacRate__9JASDriverFv();
|
|
// False False
|
|
extern "C" void getSubFrames__9JASDriverFv();
|
|
// True False
|
|
extern "C" void getDacSize__9JASDriverFv();
|
|
// True False
|
|
extern "C" void getFrameSamples__9JASDriverFv();
|
|
// True False
|
|
// s16* False
|
|
// s16 False
|
|
// u32 False
|
|
// s16* (*)(s32) False
|
|
// * False
|
|
// False
|
|
// s16* False
|
|
// s16 False
|
|
// s32 False
|
|
extern "C" void mixMonoTrack__9JASDriverFPsUlPFl_Ps();
|
|
// True False
|
|
// s16* False
|
|
// s16 False
|
|
// u32 False
|
|
// s16* (*)(s32) False
|
|
// * False
|
|
// False
|
|
// s16* False
|
|
// s16 False
|
|
// s32 False
|
|
extern "C" void mixMonoTrackWide__9JASDriverFPsUlPFl_Ps();
|
|
// True False
|
|
// s16* False
|
|
// s16 False
|
|
// u32 False
|
|
// s16* (*)(s32) False
|
|
// * False
|
|
// False
|
|
// s16* False
|
|
// s16 False
|
|
// s32 False
|
|
extern "C" void mixExtraTrack__9JASDriverFPsUlPFl_Ps();
|
|
// True False
|
|
// s16* False
|
|
// s16 False
|
|
// u32 False
|
|
// s16* (*)(s32) False
|
|
// * False
|
|
// False
|
|
// s16* False
|
|
// s16 False
|
|
// s32 False
|
|
extern "C" void mixInterleaveTrack__9JASDriverFPsUlPFl_Ps();
|
|
// False False
|
|
extern "C" void getSubFrameCounter__9JASDriverFv();
|
|
extern "C" extern char const* const JASAiCtrl__stringBase0;
|
|
|
|
//
|
|
// External References:
|
|
//
|
|
|
|
// False False
|
|
// char const* False
|
|
// char const False
|
|
// char False
|
|
// ... False
|
|
void JASReport(char const*, ...);
|
|
// False False
|
|
// void* False
|
|
// void False
|
|
// u32 False
|
|
// JKRHeap* False
|
|
// JKRHeap False
|
|
// int False
|
|
void* operator new[](u32, JKRHeap*, int);
|
|
|
|
// False False
|
|
// s16 const* False
|
|
// s16 const False
|
|
// s16 False
|
|
// s16 const* False
|
|
// s16 const False
|
|
// s16 False
|
|
// s16* False
|
|
// s16 False
|
|
// u32 False
|
|
extern "C" void imixcopy__7JASCalcFPCsPCsPsUl();
|
|
// False False
|
|
// void* False
|
|
// void False
|
|
// u32 False
|
|
extern "C" void bzero__7JASCalcFPvUl();
|
|
// False True
|
|
// s32 False
|
|
extern "C" void func_8028F69C();
|
|
// False False
|
|
// s32 False
|
|
// char const* False
|
|
// char const False
|
|
// char False
|
|
extern "C" void start__8JASProbeFlPCc();
|
|
// False False
|
|
// s32 False
|
|
extern "C" void stop__8JASProbeFl();
|
|
// False False
|
|
// char const* False
|
|
// char const False
|
|
// char False
|
|
// ... False
|
|
extern "C" void JASReport__FPCce();
|
|
// False False
|
|
extern "C" void execAllCommand__10JASPortCmdFv();
|
|
// False False
|
|
extern "C" void initBankDisposeMsgQueue__10JASChannelFv();
|
|
// False False
|
|
extern "C" void receiveBankDisposeMsg__10JASChannelFv();
|
|
// False False
|
|
// f32 False
|
|
extern "C" void incCounter__6JASLfoFf();
|
|
// False False
|
|
extern "C" void updateAll__13JASDSPChannelFv();
|
|
// False False
|
|
extern "C" void killActiveChannel__13JASDSPChannelFv();
|
|
// False False
|
|
// u32 False
|
|
// u32 False
|
|
// u32 False
|
|
extern "C" void syncFrame__6JASDspFUlUlUl();
|
|
// False False
|
|
extern "C" void invalChannelAll__6JASDspFv();
|
|
// False False
|
|
extern "C" void subframeCallback__9JASDriverFv();
|
|
// False False
|
|
extern "C" void DSPSyncCallback__9JASDriverFv();
|
|
// False False
|
|
// void* False
|
|
// void False
|
|
// u32 False
|
|
// JKRHeap* False
|
|
// JKRHeap False
|
|
// int False
|
|
extern "C" void* __nwa__FUlP7JKRHeapi();
|
|
// False False
|
|
extern "C" void DCInvalidateRange();
|
|
// False False
|
|
extern "C" void DCStoreRange();
|
|
// False False
|
|
extern "C" void OSDisableInterrupts();
|
|
// False False
|
|
extern "C" void OSRestoreInterrupts();
|
|
// False False
|
|
extern "C" void OSGetTick();
|
|
// False False
|
|
extern "C" void AIRegisterDMACallback();
|
|
// False False
|
|
extern "C" void AIInitDMA();
|
|
// False False
|
|
extern "C" void AIStartDMA();
|
|
// False False
|
|
extern "C" void AIStopDMA();
|
|
// False False
|
|
extern "C" void AISetDSPSampleRate();
|
|
// False False
|
|
extern "C" void AIInit();
|
|
// False False
|
|
extern "C" void _savegpr_25();
|
|
// False False
|
|
extern "C" void _savegpr_27();
|
|
// False False
|
|
extern "C" void _savegpr_28();
|
|
// False False
|
|
extern "C" void _savegpr_29();
|
|
// False False
|
|
extern "C" void _restgpr_25();
|
|
// False False
|
|
extern "C" void _restgpr_27();
|
|
// False False
|
|
extern "C" void _restgpr_28();
|
|
// False False
|
|
extern "C" void _restgpr_29();
|
|
extern "C" extern u8 sFreeRunLfo__6JASLfo[24];
|
|
extern "C" extern u8 JASDram[4];
|
|
extern "C" extern u8 snIntCount__14JASAudioThread[4 + 4 /* padding */];
|
|
|
|
//
|
|
// Declarations:
|
|
//
|
|
|
|
/* ############################################################################################## */
|
|
/* 80431C58-80431C68 000C+04 s=2 e=0 z=0 None .bss sDmaDacBuffer__9JASDriver */
|
|
static u8 sDmaDacBuffer__9JASDriver[12 + 4 /* padding */];
|
|
|
|
/* 804507A8-804507AC 0004+00 s=3 e=0 z=0 None .sdata None */
|
|
SECTION_SDATA static u32 data_804507A8 = 0x03000000;
|
|
|
|
/* 804512A0-804512A4 0004+00 s=3 e=0 z=0 None .sbss sDspDacBuffer__9JASDriver */
|
|
static u8 sDspDacBuffer__9JASDriver[4];
|
|
|
|
/* 804512A4-804512A8 0004+00 s=3 e=0 z=0 None .sbss sDspDacWriteBuffer__9JASDriver */
|
|
static u8 sDspDacWriteBuffer__9JASDriver[4];
|
|
|
|
/* 804512A8-804512AC 0004+00 s=3 e=0 z=0 None .sbss sDspDacReadBuffer__9JASDriver */
|
|
static u8 sDspDacReadBuffer__9JASDriver[4];
|
|
|
|
/* 804512AC-804512B0 0004+00 s=3 e=0 z=0 None .sbss sDspStatus__9JASDriver */
|
|
static u8 sDspStatus__9JASDriver[4];
|
|
|
|
/* 804512B0-804512B4 0004+00 s=1 e=0 z=0 None .sbss sDspDacCallback__9JASDriver */
|
|
static u8 sDspDacCallback__9JASDriver[4];
|
|
|
|
/* 804512B4-804512B8 0004+00 s=1 e=0 z=0 None .sbss lastRspMadep__9JASDriver */
|
|
static u8 lastRspMadep__9JASDriver[4];
|
|
|
|
/* 804512B8-804512BC 0004+00 s=1 e=0 z=0 None .sbss dacCallbackFunc__9JASDriver */
|
|
static u8 dacCallbackFunc__9JASDriver[4];
|
|
|
|
/* 804512BC-804512C0 0004+00 s=2 e=0 z=0 None .sbss extMixCallback__9JASDriver */
|
|
static u8 extMixCallback__9JASDriver[4];
|
|
|
|
/* 804512C0-804512C4 0004+00 s=2 e=0 z=0 None .sbss sOutputRate__9JASDriver */
|
|
static u8 sOutputRate__9JASDriver[4];
|
|
|
|
/* 8029C388-8029C4E4 015C+00 s=0 e=1 z=0 None .text initAI__9JASDriverFPFv_v */
|
|
// 8029C398: 803621CC (_savegpr_25)
|
|
// 8029C3A4: 8029C524 (setOutputRate__9JASDriverF13JASOutputRate)
|
|
// 8029C3A8: 8029C9F8 (getDacSize__9JASDriverFv)
|
|
// 8029C3C4: 80431C58 (sDmaDacBuffer__9JASDriver)
|
|
// 8029C3C8: 80431C58 (sDmaDacBuffer__9JASDriver)
|
|
// 8029C3D0: 80451210 (JASDram)
|
|
// 8029C3D8: 802CED10 (__nwa__FUlP7JKRHeapi)
|
|
// 8029C3E8: 8028F480 (bzero__7JASCalcFPvUl)
|
|
// 8029C3F4: 8033B5DC (DCStoreRange)
|
|
// 8029C408: 804507A8 (data_804507A8)
|
|
// 8029C410: 80451210 (JASDram)
|
|
// 8029C418: 802CED10 (__nwa__FUlP7JKRHeapi)
|
|
// 8029C41C: 804512A0 (sDspDacBuffer__9JASDriver)
|
|
// 8029C42C: 8029C9F8 (getDacSize__9JASDriverFv)
|
|
// 8029C434: 80451210 (JASDram)
|
|
// 8029C43C: 802CED10 (__nwa__FUlP7JKRHeapi)
|
|
// 8029C440: 804512A0 (sDspDacBuffer__9JASDriver)
|
|
// 8029C448: 804512A0 (sDspDacBuffer__9JASDriver)
|
|
// 8029C454: 8028F480 (bzero__7JASCalcFPvUl)
|
|
// 8029C458: 804512A0 (sDspDacBuffer__9JASDriver)
|
|
// 8029C464: 8033B5DC (DCStoreRange)
|
|
// 8029C470: 804507A8 (data_804507A8)
|
|
// 8029C480: 804512A4 (sDspDacWriteBuffer__9JASDriver)
|
|
// 8029C488: 804512A8 (sDspDacReadBuffer__9JASDriver)
|
|
// 8029C48C: 804512AC (sDspStatus__9JASDriver)
|
|
// 8029C490: 8029BC0C (initBankDisposeMsgQueue__10JASChannelFv)
|
|
// 8029C498: 80350084 (AIInit)
|
|
// 8029C49C: 80431C58 (sDmaDacBuffer__9JASDriver)
|
|
// 8029C4A0: 80431C58 (sDmaDacBuffer__9JASDriver)
|
|
// 8029C4AC: 8034FCB4 (AIInitDMA)
|
|
// 8029C4B0: 804512C0 (sOutputRate__9JASDriver)
|
|
// 8029C4C0: 8034FE54 (AISetDSPSampleRate)
|
|
// 8029C4C8: 8034FC70 (AIRegisterDMACallback)
|
|
// 8029C4D0: 80362218 (_restgpr_25)
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
// False False
|
|
// void (*)(void) False
|
|
// * False
|
|
// False
|
|
// void False
|
|
// void False
|
|
asm void JASDriver::initAI(void (*)(void)) {
|
|
nofralloc
|
|
#include "asm/JSystem/JAudio2/JASAiCtrl/initAI__9JASDriverFPFv_v.s"
|
|
}
|
|
#pragma pop
|
|
|
|
|
|
/* 8029C4E4-8029C504 0020+00 s=0 e=1 z=0 None .text startDMA__9JASDriverFv */
|
|
// 8029C4F0: 8034FD3C (AIStartDMA)
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
// False False
|
|
asm void JASDriver::startDMA() {
|
|
nofralloc
|
|
#include "asm/JSystem/JAudio2/JASAiCtrl/startDMA__9JASDriverFv.s"
|
|
}
|
|
#pragma pop
|
|
|
|
|
|
/* 8029C504-8029C524 0020+00 s=0 e=1 z=0 None .text stopDMA__9JASDriverFv */
|
|
// 8029C510: 8034FD54 (AIStopDMA)
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
// False False
|
|
asm void JASDriver::stopDMA() {
|
|
nofralloc
|
|
#include "asm/JSystem/JAudio2/JASAiCtrl/stopDMA__9JASDriverFv.s"
|
|
}
|
|
#pragma pop
|
|
|
|
|
|
/* ############################################################################################## */
|
|
/* 804507AC-804507B0 0004+00 s=2 e=0 z=0 None .sdata sMixMode__9JASDriver */
|
|
SECTION_SDATA static u32 sMixMode__9JASDriver = 0x00000002;
|
|
|
|
/* 804507B0-804507B4 0004+00 s=2 e=0 z=0 None .sdata sDacRate__9JASDriver */
|
|
SECTION_SDATA static f32 sDacRate__9JASDriver = 32028.5f;
|
|
|
|
/* 804507B4-804507B8 0004+00 s=4 e=0 z=0 None .sdata sSubFrames__9JASDriver */
|
|
SECTION_SDATA static u32 sSubFrames__9JASDriver = 0x00000007;
|
|
|
|
/* 80455720-80455724 0004+00 s=1 e=0 z=0 None .sdata2 @233 */
|
|
SECTION_SDATA2 static f32 lit_233 = 32000.0f;
|
|
|
|
/* 80455724-80455728 0004+00 s=1 e=0 z=0 None .sdata2 @234 */
|
|
SECTION_SDATA2 static f32 lit_234 = 48000.0f;
|
|
|
|
/* 80455728-8045572C 0004+00 s=1 e=0 z=0 None .sdata2 @235 */
|
|
SECTION_SDATA2 static f32 lit_235 = 1.0008896589279175f;
|
|
|
|
/* 8029C524-8029C568 0044+00 s=1 e=0 z=0 None .text setOutputRate__9JASDriverF13JASOutputRate */
|
|
// 8029C524: 804512C0 (sOutputRate__9JASDriver)
|
|
// 8029C534: 804507B4 (sSubFrames__9JASDriver)
|
|
// 8029C538: 80455720 (lit_233)
|
|
// 8029C53C: 804507B0 (sDacRate__9JASDriver)
|
|
// 8029C548: 804507B4 (sSubFrames__9JASDriver)
|
|
// 8029C54C: 80455724 (lit_234)
|
|
// 8029C550: 804507B0 (sDacRate__9JASDriver)
|
|
// 8029C554: 804507B0 (sDacRate__9JASDriver)
|
|
// 8029C558: 80455728 (lit_235)
|
|
// 8029C560: 804507B0 (sDacRate__9JASDriver)
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
// True False
|
|
// JASOutputRate False
|
|
asm void JASDriver::setOutputRate(JASOutputRate param_0) {
|
|
nofralloc
|
|
#include "asm/JSystem/JAudio2/JASAiCtrl/setOutputRate__9JASDriverF13JASOutputRate.s"
|
|
}
|
|
#pragma pop
|
|
|
|
|
|
/* ############################################################################################## */
|
|
/* 8039B2E0-8039B2F0 0010+00 s=1 e=0 z=0 None .rodata sMixFuncs__9JASDriver */
|
|
SECTION_RODATA static void* const sMixFuncs__9JASDriver[4] = {
|
|
(void*)mixMonoTrack__9JASDriverFPsUlPFl_Ps,
|
|
(void*)mixMonoTrackWide__9JASDriverFPsUlPFl_Ps,
|
|
(void*)mixExtraTrack__9JASDriverFPsUlPFl_Ps,
|
|
(void*)mixInterleaveTrack__9JASDriverFPsUlPFl_Ps,
|
|
};
|
|
|
|
/* 804512C4-804512C8 0004+00 s=2 e=0 z=0 None .sbss sSubFrameCounter__9JASDriver */
|
|
static u8 sSubFrameCounter__9JASDriver[4];
|
|
|
|
/* 804512C8-804512CC 0004+00 s=1 e=0 z=0 None .sbss dacp$239 */
|
|
static u8 dacp[4];
|
|
|
|
/* 804512CC-804512D0 0004+00 s=1 e=0 z=0 None .sbss None */
|
|
static u8 data_804512CC[4];
|
|
|
|
/* 8029C568-8029C6C4 015C+00 s=0 e=1 z=0 None .text updateDac__9JASDriverFv */
|
|
// 8029C578: 804512CC (data_804512CC)
|
|
// 8029C588: 804512C8 (dacp)
|
|
// 8029C590: 804512CC (data_804512CC)
|
|
// 8029C594: 804512B4 (lastRspMadep__9JASDriver)
|
|
// 8029C59C: 804512B4 (lastRspMadep__9JASDriver)
|
|
// 8029C5A8: 8029C9F8 (getDacSize__9JASDriverFv)
|
|
// 8029C5B4: 8034FCB4 (AIInitDMA)
|
|
// 8029C5B8: 8029CA04 (getFrameSamples__9JASDriverFv)
|
|
// 8029C5C0: 804512C8 (dacp)
|
|
// 8029C5C8: 80431C58 (sDmaDacBuffer__9JASDriver)
|
|
// 8029C5CC: 80431C58 (sDmaDacBuffer__9JASDriver)
|
|
// 8029C5D8: 8029C7E0 (readDspBuffer__9JASDriverFPsUl)
|
|
// 8029C5DC: 804512AC (sDspStatus__9JASDriver)
|
|
// 8029C5E8: 8029C900 (finishDSPFrame__9JASDriverFv)
|
|
// 8029C5EC: 804512BC (extMixCallback__9JASDriver)
|
|
// 8029C5F8: 804512C8 (dacp)
|
|
// 8029C600: 80431C58 (sDmaDacBuffer__9JASDriver)
|
|
// 8029C604: 80431C58 (sDmaDacBuffer__9JASDriver)
|
|
// 8029C610: 804507AC (sMixMode__9JASDriver)
|
|
// 8029C618: 8039B2E0 (sMixFuncs__9JASDriver)
|
|
// 8029C61C: 8039B2E0 (sMixFuncs__9JASDriver)
|
|
// 8029C62C: 8033D6F4 (OSDisableInterrupts)
|
|
// 8029C634: 8029C9F8 (getDacSize__9JASDriverFv)
|
|
// 8029C63C: 804512C8 (dacp)
|
|
// 8029C644: 80431C58 (sDmaDacBuffer__9JASDriver)
|
|
// 8029C648: 80431C58 (sDmaDacBuffer__9JASDriver)
|
|
// 8029C650: 8033B5DC (DCStoreRange)
|
|
// 8029C658: 8033D71C (OSRestoreInterrupts)
|
|
// 8029C65C: 804512C8 (dacp)
|
|
// 8029C664: 80431C58 (sDmaDacBuffer__9JASDriver)
|
|
// 8029C668: 80431C58 (sDmaDacBuffer__9JASDriver)
|
|
// 8029C670: 804512B4 (lastRspMadep__9JASDriver)
|
|
// 8029C678: 804512C8 (dacp)
|
|
// 8029C688: 804512C8 (dacp)
|
|
// 8029C68C: 804512B8 (dacCallbackFunc__9JASDriver)
|
|
// 8029C698: 8029CA04 (getFrameSamples__9JASDriverFv)
|
|
// 8029C6A0: 804512B4 (lastRspMadep__9JASDriver)
|
|
// 8029C6A4: 804512B8 (dacCallbackFunc__9JASDriver)
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
// False False
|
|
asm void JASDriver::updateDac() {
|
|
nofralloc
|
|
#include "asm/JSystem/JAudio2/JASAiCtrl/updateDac__9JASDriverFv.s"
|
|
}
|
|
#pragma pop
|
|
|
|
|
|
/* ############################################################################################## */
|
|
/* 8039B2F0-8039B338 0048+00 s=5 e=0 z=0 None .rodata @stringBase0 */
|
|
#pragma push
|
|
#pragma force_active on
|
|
#pragma section ".dead"
|
|
SECTION_DEAD char const* const stringBase_8039B2F0 = "SFR-UPDATE";
|
|
SECTION_DEAD char const* const stringBase_8039B2FB = "kill DSP channel";
|
|
SECTION_DEAD char const* const stringBase_8039B30C = "DSP-MAIN";
|
|
SECTION_DEAD char const* const stringBase_8039B315 = "MONO-MIX";
|
|
SECTION_DEAD char const* const stringBase_8039B31E = "MONO(W)-MIX";
|
|
SECTION_DEAD char const* const stringBase_8039B32A = "DSPMIX";
|
|
SECTION_DEAD char const* const stringBase_8039B331 = "MIXING";
|
|
#pragma pop
|
|
|
|
/* 803C78B8-803C78E0 0028+00 s=1 e=0 z=0 None .data history$267 */
|
|
SECTION_DATA static u8 history[40] = {
|
|
0x00, 0x0F, 0x42, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
};
|
|
|
|
/* 804512D0-804512D4 0004+00 s=1 e=0 z=0 None .sbss old_time$264 */
|
|
static u8 old_time[4];
|
|
|
|
/* 804512D4-804512D8 0004+00 s=1 e=0 z=0 None .sbss None */
|
|
static u8 data_804512D4[4];
|
|
|
|
/* 8045572C-80455730 0004+00 s=1 e=0 z=0 None .sdata2 @275 */
|
|
SECTION_SDATA2 static f32 lit_275 = 11.0f / 10.0f;
|
|
|
|
/* 80455730-80455738 0004+04 s=1 e=0 z=0 None .sdata2 @276 */
|
|
SECTION_SDATA2 static f32 lit_276[1 + 1 /* padding */] = {
|
|
32028.5f,
|
|
/* padding */
|
|
0.0f,
|
|
};
|
|
|
|
/* 80455738-80455740 0008+00 s=1 e=0 z=0 None .sdata2 @278 */
|
|
SECTION_SDATA2 static f64 lit_278 = 4503599627370496.0 /* cast u32 to float */;
|
|
|
|
/* 8029C6C4-8029C7E0 011C+00 s=1 e=1 z=0 None .text updateDSP__9JASDriverFv */
|
|
// 8029C6D8: 8039B2F0 (JASAiCtrl__stringBase0)
|
|
// 8029C6DC: 8039B2F0 (JASAiCtrl__stringBase0)
|
|
// 8029C6E0: 80290EE4 (start__8JASProbeFlPCc)
|
|
// 8029C6E4: 8029DAA0 (invalChannelAll__6JASDspFv)
|
|
// 8029C6E8: 80291060 (execAllCommand__10JASPortCmdFv)
|
|
// 8029C6EC: 8029E2D0 (DSPSyncCallback__9JASDriverFv)
|
|
// 8029C6F0: 804512D4 (data_804512D4)
|
|
// 8029C700: 804512D0 (old_time)
|
|
// 8029C708: 804512D4 (data_804512D4)
|
|
// 8029C70C: 80342714 (OSGetTick)
|
|
// 8029C710: 804512D0 (old_time)
|
|
// 8029C718: 804512D0 (old_time)
|
|
// 8029C71C: 8029C9F0 (getSubFrames__9JASDriverFv)
|
|
// 8029C720: 804512D8 (snIntCount__14JASAudioThread)
|
|
// 8029C72C: 803C78B8 (history)
|
|
// 8029C730: 803C78B8 (history)
|
|
// 8029C744: 80455738 (lit_278)
|
|
// 8029C770: 8045572C (lit_275)
|
|
// 8029C77C: 8039B2F0 (JASAiCtrl__stringBase0)
|
|
// 8029C780: 8039B2F0 (JASAiCtrl__stringBase0)
|
|
// 8029C78C: 80290F64 (JASReport__FPCce)
|
|
// 8029C790: 8029D910 (killActiveChannel__13JASDSPChannelFv)
|
|
// 8029C794: 8029BC48 (receiveBankDisposeMsg__10JASChannelFv)
|
|
// 8029C798: 8029D89C (updateAll__13JASDSPChannelFv)
|
|
// 8029C79C: 8029E2A8 (subframeCallback__9JASDriverFv)
|
|
// 8029C7A0: 8029C9E8 (getDacRate__9JASDriverFv)
|
|
// 8029C7A4: 80455730 (lit_276)
|
|
// 8029C7AC: 80431C40 (sFreeRunLfo__6JASLfo)
|
|
// 8029C7B0: 80431C40 (sFreeRunLfo__6JASLfo)
|
|
// 8029C7B4: 8029BDD8 (incCounter__6JASLfoFf)
|
|
// 8029C7BC: 80290F24 (stop__8JASProbeFl)
|
|
// 8029C7C0: 804512C4 (sSubFrameCounter__9JASDriver)
|
|
// 8029C7C8: 804512C4 (sSubFrameCounter__9JASDriver)
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
// False False
|
|
asm void JASDriver::updateDSP() {
|
|
nofralloc
|
|
#include "asm/JSystem/JAudio2/JASAiCtrl/updateDSP__9JASDriverFv.s"
|
|
}
|
|
#pragma pop
|
|
|
|
|
|
/* 8029C7E0-8029C900 0120+00 s=1 e=0 z=0 None .text readDspBuffer__9JASDriverFPsUl */
|
|
// 8029C7FC: 804512A8 (sDspDacReadBuffer__9JASDriver)
|
|
// 8029C804: 804507A8 (data_804507A8)
|
|
// 8029C814: 804512A4 (sDspDacWriteBuffer__9JASDriver)
|
|
// 8029C828: 804512A0 (sDspDacBuffer__9JASDriver)
|
|
// 8029C858: 804512A0 (sDspDacBuffer__9JASDriver)
|
|
// 8029C85C: 804512A8 (sDspDacReadBuffer__9JASDriver)
|
|
// 8029C88C: 804512A0 (sDspDacBuffer__9JASDriver)
|
|
// 8029C890: 804512A8 (sDspDacReadBuffer__9JASDriver)
|
|
// 8029C8AC: 804512A8 (sDspDacReadBuffer__9JASDriver)
|
|
// 8029C8B0: 804512A0 (sDspDacBuffer__9JASDriver)
|
|
// 8029C8C0: 8033B580 (DCInvalidateRange)
|
|
// 8029C8C4: 804512A0 (sDspDacBuffer__9JASDriver)
|
|
// 8029C8C8: 804512A8 (sDspDacReadBuffer__9JASDriver)
|
|
// 8029C8E4: 8028F2E8 (imixcopy__7JASCalcFPCsPCsPsUl)
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
// True False
|
|
// s16* False
|
|
// s16 False
|
|
// u32 False
|
|
asm void JASDriver::readDspBuffer(s16* param_0, u32 param_1) {
|
|
nofralloc
|
|
#include "asm/JSystem/JAudio2/JASAiCtrl/readDspBuffer__9JASDriverFPsUl.s"
|
|
}
|
|
#pragma pop
|
|
|
|
|
|
/* 8029C900-8029C9DC 00DC+00 s=1 e=1 z=0 None .text finishDSPFrame__9JASDriverFv */
|
|
// 8029C914: 804512A4 (sDspDacWriteBuffer__9JASDriver)
|
|
// 8029C91C: 804507A8 (data_804507A8)
|
|
// 8029C92C: 804512A8 (sDspDacReadBuffer__9JASDriver)
|
|
// 8029C93C: 804512AC (sDspStatus__9JASDriver)
|
|
// 8029C944: 804512A4 (sDspDacWriteBuffer__9JASDriver)
|
|
// 8029C948: 8029C9F0 (getSubFrames__9JASDriverFv)
|
|
// 8029C94C: 804512D8 (snIntCount__14JASAudioThread)
|
|
// 8029C954: 8039B2F0 (JASAiCtrl__stringBase0)
|
|
// 8029C958: 8039B2F0 (JASAiCtrl__stringBase0)
|
|
// 8029C960: 80290EE4 (start__8JASProbeFlPCc)
|
|
// 8029C964: 8029CA04 (getFrameSamples__9JASDriverFv)
|
|
// 8029C96C: 804512A0 (sDspDacBuffer__9JASDriver)
|
|
// 8029C970: 804512A4 (sDspDacWriteBuffer__9JASDriver)
|
|
// 8029C97C: 8029C9F0 (getSubFrames__9JASDriverFv)
|
|
// 8029C98C: 8029D9E4 (syncFrame__6JASDspFUlUlUl)
|
|
// 8029C994: 804512AC (sDspStatus__9JASDriver)
|
|
// 8029C998: 8029C6C4 (updateDSP__9JASDriverFv)
|
|
// 8029C99C: 804512B0 (sDspDacCallback__9JASDriver)
|
|
// 8029C9A8: 804512A0 (sDspDacBuffer__9JASDriver)
|
|
// 8029C9AC: 804512A4 (sDspDacWriteBuffer__9JASDriver)
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
// False False
|
|
asm void JASDriver::finishDSPFrame() {
|
|
nofralloc
|
|
#include "asm/JSystem/JAudio2/JASAiCtrl/finishDSPFrame__9JASDriverFv.s"
|
|
}
|
|
#pragma pop
|
|
|
|
|
|
/* 8029C9DC-8029C9E8 000C+00 s=0 e=0 z=2 None .text registerMixCallback__9JASDriverFPFl_Ps10JASMixMode */
|
|
// 8029C9DC: 804512BC (extMixCallback__9JASDriver)
|
|
// 8029C9E0: 804507AC (sMixMode__9JASDriver)
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
// False False
|
|
// s16* (*)(s32) False
|
|
// * False
|
|
// False
|
|
// s16* False
|
|
// s16 False
|
|
// s32 False
|
|
// JASMixMode False
|
|
asm void JASDriver::registerMixCallback(s16* (*)(s32), JASMixMode param_1) {
|
|
nofralloc
|
|
#include "asm/JSystem/JAudio2/JASAiCtrl/registerMixCallback__9JASDriverFPFl_Ps10JASMixMode.s"
|
|
}
|
|
#pragma pop
|
|
|
|
|
|
/* 8029C9E8-8029C9F0 0008+00 s=1 e=5 z=0 None .text getDacRate__9JASDriverFv */
|
|
// 8029C9E8: 804507B0 (sDacRate__9JASDriver)
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
// False False
|
|
asm void JASDriver::getDacRate() {
|
|
nofralloc
|
|
#include "asm/JSystem/JAudio2/JASAiCtrl/getDacRate__9JASDriverFv.s"
|
|
}
|
|
#pragma pop
|
|
|
|
|
|
/* 8029C9F0-8029C9F8 0008+00 s=2 e=2 z=0 None .text getSubFrames__9JASDriverFv */
|
|
// 8029C9F0: 804507B4 (sSubFrames__9JASDriver)
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
// False False
|
|
asm void JASDriver::getSubFrames() {
|
|
nofralloc
|
|
#include "asm/JSystem/JAudio2/JASAiCtrl/getSubFrames__9JASDriverFv.s"
|
|
}
|
|
#pragma pop
|
|
|
|
|
|
/* 8029C9F8-8029CA04 000C+00 s=2 e=0 z=0 None .text getDacSize__9JASDriverFv */
|
|
// 8029C9F8: 804507B4 (sSubFrames__9JASDriver)
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
// True False
|
|
asm void JASDriver::getDacSize() {
|
|
nofralloc
|
|
#include "asm/JSystem/JAudio2/JASAiCtrl/getDacSize__9JASDriverFv.s"
|
|
}
|
|
#pragma pop
|
|
|
|
|
|
/* 8029CA04-8029CA10 000C+00 s=3 e=0 z=0 None .text getFrameSamples__9JASDriverFv */
|
|
// 8029CA04: 804507B4 (sSubFrames__9JASDriver)
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
// True False
|
|
asm void JASDriver::getFrameSamples() {
|
|
nofralloc
|
|
#include "asm/JSystem/JAudio2/JASAiCtrl/getFrameSamples__9JASDriverFv.s"
|
|
}
|
|
#pragma pop
|
|
|
|
|
|
/* 8029CA10-8029CAC0 00B0+00 s=1 e=0 z=0 None .text mixMonoTrack__9JASDriverFPsUlPFl_Ps */
|
|
// 8029CA20: 803621D8 (_savegpr_28)
|
|
// 8029CA34: 8039B2F0 (JASAiCtrl__stringBase0)
|
|
// 8029CA38: 8039B2F0 (JASAiCtrl__stringBase0)
|
|
// 8029CA40: 80290EE4 (start__8JASProbeFlPCc)
|
|
// 8029CA60: 80290F24 (stop__8JASProbeFl)
|
|
// 8029CA78: 8028F69C (func_8028F69C)
|
|
// 8029CA8C: 8028F69C (func_8028F69C)
|
|
// 8029CAAC: 80362224 (_restgpr_28)
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
// True False
|
|
// s16* False
|
|
// s16 False
|
|
// u32 False
|
|
// s16* (*)(s32) False
|
|
// * False
|
|
// False
|
|
// s16* False
|
|
// s16 False
|
|
// s32 False
|
|
asm void JASDriver::mixMonoTrack(s16* param_0, u32 param_1, s16* (*)(s32)) {
|
|
nofralloc
|
|
#include "asm/JSystem/JAudio2/JASAiCtrl/mixMonoTrack__9JASDriverFPsUlPFl_Ps.s"
|
|
}
|
|
#pragma pop
|
|
|
|
|
|
/* 8029CAC0-8029CB70 00B0+00 s=1 e=0 z=0 None .text mixMonoTrackWide__9JASDriverFPsUlPFl_Ps */
|
|
// 8029CAD0: 803621D8 (_savegpr_28)
|
|
// 8029CAE4: 8039B2F0 (JASAiCtrl__stringBase0)
|
|
// 8029CAE8: 8039B2F0 (JASAiCtrl__stringBase0)
|
|
// 8029CAF0: 80290EE4 (start__8JASProbeFlPCc)
|
|
// 8029CB10: 80290F24 (stop__8JASProbeFl)
|
|
// 8029CB28: 8028F69C (func_8028F69C)
|
|
// 8029CB3C: 8028F69C (func_8028F69C)
|
|
// 8029CB5C: 80362224 (_restgpr_28)
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
// True False
|
|
// s16* False
|
|
// s16 False
|
|
// u32 False
|
|
// s16* (*)(s32) False
|
|
// * False
|
|
// False
|
|
// s16* False
|
|
// s16 False
|
|
// s32 False
|
|
asm void JASDriver::mixMonoTrackWide(s16* param_0, u32 param_1, s16* (*)(s32)) {
|
|
nofralloc
|
|
#include "asm/JSystem/JAudio2/JASAiCtrl/mixMonoTrackWide__9JASDriverFPsUlPFl_Ps.s"
|
|
}
|
|
#pragma pop
|
|
|
|
|
|
/* 8029CB70-8029CC50 00E0+00 s=1 e=0 z=0 None .text mixExtraTrack__9JASDriverFPsUlPFl_Ps */
|
|
// 8029CB80: 803621D4 (_savegpr_27)
|
|
// 8029CB94: 8039B2F0 (JASAiCtrl__stringBase0)
|
|
// 8029CB98: 8039B2F0 (JASAiCtrl__stringBase0)
|
|
// 8029CBA0: 80290EE4 (start__8JASProbeFlPCc)
|
|
// 8029CBC0: 80290F24 (stop__8JASProbeFl)
|
|
// 8029CBC8: 8039B2F0 (JASAiCtrl__stringBase0)
|
|
// 8029CBCC: 8039B2F0 (JASAiCtrl__stringBase0)
|
|
// 8029CBD4: 80290EE4 (start__8JASProbeFlPCc)
|
|
// 8029CBDC: 8029CA04 (getFrameSamples__9JASDriverFv)
|
|
// 8029CBFC: 8028F69C (func_8028F69C)
|
|
// 8029CC10: 8028F69C (func_8028F69C)
|
|
// 8029CC34: 80290F24 (stop__8JASProbeFl)
|
|
// 8029CC3C: 80362220 (_restgpr_27)
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
// True False
|
|
// s16* False
|
|
// s16 False
|
|
// u32 False
|
|
// s16* (*)(s32) False
|
|
// * False
|
|
// False
|
|
// s16* False
|
|
// s16 False
|
|
// s32 False
|
|
asm void JASDriver::mixExtraTrack(s16* param_0, u32 param_1, s16* (*)(s32)) {
|
|
nofralloc
|
|
#include "asm/JSystem/JAudio2/JASAiCtrl/mixExtraTrack__9JASDriverFPsUlPFl_Ps.s"
|
|
}
|
|
#pragma pop
|
|
|
|
|
|
/* 8029CC50-8029CCD4 0084+00 s=1 e=0 z=0 None .text mixInterleaveTrack__9JASDriverFPsUlPFl_Ps */
|
|
// 8029CC60: 803621DC (_savegpr_29)
|
|
// 8029CCA0: 8028F69C (func_8028F69C)
|
|
// 8029CCC0: 80362228 (_restgpr_29)
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
// True False
|
|
// s16* False
|
|
// s16 False
|
|
// u32 False
|
|
// s16* (*)(s32) False
|
|
// * False
|
|
// False
|
|
// s16* False
|
|
// s16 False
|
|
// s32 False
|
|
asm void JASDriver::mixInterleaveTrack(s16* param_0, u32 param_1, s16* (*)(s32)) {
|
|
nofralloc
|
|
#include "asm/JSystem/JAudio2/JASAiCtrl/mixInterleaveTrack__9JASDriverFPsUlPFl_Ps.s"
|
|
}
|
|
#pragma pop
|
|
|
|
|
|
/* 8029CCD4-8029CCDC 0008+00 s=0 e=1 z=0 None .text getSubFrameCounter__9JASDriverFv */
|
|
// 8029CCD4: 804512C4 (sSubFrameCounter__9JASDriver)
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
// False False
|
|
asm void JASDriver::getSubFrameCounter() {
|
|
nofralloc
|
|
#include "asm/JSystem/JAudio2/JASAiCtrl/getSubFrameCounter__9JASDriverFv.s"
|
|
}
|
|
#pragma pop
|
|
|
|
|