tp/libs/JSystem/JAudio2/JASAramStream.cpp

516 lines
17 KiB
C++

//
// Generated By: dol2asm
// Translation Unit: JASAramStream
//
#include "JSystem/JAudio2/JASAramStream.h"
#include "dol2asm.h"
#include "dolphin/types.h"
//
// Types:
//
struct JKRHeap {};
struct JKRExpandSwitch {};
struct JKRAram {
/* 802D233C */ void mainRamToAram(u8*, u32, u32, JKRExpandSwitch, u32, JKRHeap*, int, u32*);
};
struct JASTaskThread {
/* 8028FB5C */ void sendCmdMsg(void (*)(void*), void const*, u32);
/* 8028FC54 */ void sendCmdMsg(void (*)(void*), void*);
};
struct JASOscillator {
struct Data {};
};
template <typename A0>
struct JASMemPool_MultiThreaded {};
/* JASMemPool_MultiThreaded<JASChannel> */
struct JASMemPool_MultiThreaded__template2 {
/* 802978DC */ ~JASMemPool_MultiThreaded__template2();
};
struct JASGenericMemPool {
/* 80290848 */ JASGenericMemPool();
/* 80290860 */ ~JASGenericMemPool();
/* 80290948 */ void alloc(u32);
};
struct JASDvd {
/* 8028FEFC */ void getThreadPointer();
};
struct JASDsp {
struct TChannel {};
};
struct JASDriver {
/* 8029C9E8 */ void getDacRate();
/* 8029E1C4 */ void rejectCallback(s32 (*)(void*), void*);
/* 8029E274 */ void registerSubFrameCallback(s32 (*)(void*), void*);
};
struct JASChannel {
/* 8029A800 */ JASChannel(void (*)(u32, JASChannel*, JASDsp::TChannel*, void*), void*);
/* 8029AA60 */ void playForce();
/* 8029AAD0 */ void release(u16);
/* 8029AB64 */ void setOscInit(u32, JASOscillator::Data const*);
/* 8029AB98 */ void setMixConfig(u32, u16);
};
struct JASAramStream {
/* 8029631C */ void initSystem(u32, u32);
/* 802963A8 */ JASAramStream();
/* 8029649C */ void init(u32, u32, void (*)(u32, JASAramStream*, void*), void*);
/* 8029655C */ void prepare(s32, int);
/* 80296618 */ void start();
/* 8029664C */ void stop(u16);
/* 80296684 */ void pause(bool);
/* 802966CC */ void cancel();
/* 80296710 */ void getBlockSamples() const;
/* 8029673C */ void headerLoadTask(void*);
/* 8029676C */ void firstLoadTask(void*);
/* 80296848 */ void loadToAramTask(void*);
/* 80296868 */ void finishTask(void*);
/* 802968C8 */ void prepareFinishTask(void*);
/* 80296920 */ void headerLoad(u32, int);
/* 80296AE8 */ void load();
/* 80296D74 */ void channelProcCallback(void*);
/* 80296D94 */ void dvdErrorCheck(void*);
/* 80296DF0 */ void channelCallback(u32, JASChannel*, JASDsp::TChannel*, void*);
/* 80296E2C */ void updateChannel(u32, JASChannel*, JASDsp::TChannel*);
/* 802974AC */ void channelProc();
/* 80297658 */ void channelStart();
/* 80297870 */ void channelStop(u16);
};
//
// Forward References:
//
extern "C" void initSystem__13JASAramStreamFUlUl();
extern "C" void __ct__13JASAramStreamFv();
extern "C" void init__13JASAramStreamFUlUlPFUlP13JASAramStreamPv_vPv();
extern "C" void prepare__13JASAramStreamFli();
extern "C" void start__13JASAramStreamFv();
extern "C" void stop__13JASAramStreamFUs();
extern "C" void pause__13JASAramStreamFb();
extern "C" void cancel__13JASAramStreamFv();
extern "C" void getBlockSamples__13JASAramStreamCFv();
extern "C" void headerLoadTask__13JASAramStreamFPv();
extern "C" void firstLoadTask__13JASAramStreamFPv();
extern "C" void loadToAramTask__13JASAramStreamFPv();
extern "C" void finishTask__13JASAramStreamFPv();
extern "C" void prepareFinishTask__13JASAramStreamFPv();
extern "C" void headerLoad__13JASAramStreamFUli();
extern "C" void load__13JASAramStreamFv();
extern "C" void channelProcCallback__13JASAramStreamFPv();
extern "C" void dvdErrorCheck__13JASAramStreamFPv();
extern "C" void channelCallback__13JASAramStreamFUlP10JASChannelPQ26JASDsp8TChannelPv();
extern "C" void updateChannel__13JASAramStreamFUlP10JASChannelPQ26JASDsp8TChannel();
extern "C" void channelProc__13JASAramStreamFv();
extern "C" void channelStart__13JASAramStreamFv();
extern "C" void channelStop__13JASAramStreamFUs();
extern "C" void func_802978DC();
extern "C" extern u8 data_80431B34[16 + 4 /* padding */];
extern "C" extern u8 sBlockSize__13JASAramStream[4];
extern "C" extern u8 struct_80451260[8];
//
// External References:
//
void* operator new[](u32, JKRHeap*, int);
void operator delete(void*);
extern "C" void sendCmdMsg__13JASTaskThreadFPFPv_vPCvUl();
extern "C" void sendCmdMsg__13JASTaskThreadFPFPv_vPv();
extern "C" void getThreadPointer__6JASDvdFv();
extern "C" void __ct__17JASGenericMemPoolFv();
extern "C" void __dt__17JASGenericMemPoolFv();
extern "C" void alloc__17JASGenericMemPoolFUl();
extern "C" void __ct__10JASChannelFPFUlP10JASChannelPQ26JASDsp8TChannelPv_vPv();
extern "C" void playForce__10JASChannelFv();
extern "C" void release__10JASChannelFUs();
extern "C" void setOscInit__10JASChannelFUlPCQ213JASOscillator4Data();
extern "C" void setMixConfig__10JASChannelFUlUs();
extern "C" void getDacRate__9JASDriverFv();
extern "C" void rejectCallback__9JASDriverFPFPv_lPv();
extern "C" void registerSubFrameCallback__9JASDriverFPFPv_lPv();
extern "C" void* __nwa__FUlP7JKRHeapi();
extern "C" void __dl__FPv();
extern "C" void mainRamToAram__7JKRAramFPUcUlUl15JKRExpandSwitchUlP7JKRHeapiPUl();
extern "C" void OSDisableInterrupts();
extern "C" void OSRestoreInterrupts();
extern "C" void OSInitMessageQueue();
extern "C" void OSSendMessage();
extern "C" void OSReceiveMessage();
extern "C" void DVDFastOpen();
extern "C" void DVDReadPrio();
extern "C" void DVDGetDriveStatus();
extern "C" void __register_global_object();
extern "C" void _savegpr_19();
extern "C" void _savegpr_25();
extern "C" void _savegpr_26();
extern "C" void _savegpr_28();
extern "C" void _savegpr_29();
extern "C" void _restgpr_19();
extern "C" void _restgpr_25();
extern "C" void _restgpr_26();
extern "C" void _restgpr_28();
extern "C" void _restgpr_29();
extern "C" extern u8 sBankDisposeList__10JASChannel[64];
extern "C" extern u8 lit_556[12 + 4 /* padding */];
extern "C" extern u8 JASDram[4];
//
// Declarations:
//
/* ############################################################################################## */
/* 80451250-80451254 0004+00 s=6 e=0 z=0 None .sbss sLoadThread__13JASAramStream */
static u8 sLoadThread__13JASAramStream[4];
/* 80451254-80451258 0004+00 s=3 e=0 z=0 None .sbss sReadBuffer__13JASAramStream */
static u8 sReadBuffer__13JASAramStream[4];
/* 80451258-8045125C 0004+00 s=6 e=1 z=0 None .sbss sBlockSize__13JASAramStream */
u8 sBlockSize__13JASAramStream[4];
/* 8045125C-80451260 0004+00 s=1 e=0 z=0 None .sbss sChannelMax__13JASAramStream */
static u8 sChannelMax__13JASAramStream[4];
/* 80451260-80451268 0008+00 s=8 e=4 z=0 None .sbss None */
u8 struct_80451260[8];
/* 8029631C-802963A8 008C+00 s=0 e=1 z=0 None .text initSystem__13JASAramStreamFUlUl */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void JASAramStream::initSystem(u32 param_0, u32 param_1) {
nofralloc
#include "asm/JSystem/JAudio2/JASAramStream/initSystem__13JASAramStreamFUlUl.s"
}
#pragma pop
/* ############################################################################################## */
/* 80455610-80455614 0004+00 s=3 e=0 z=0 None .sdata2 @390 */
SECTION_SDATA2 static u8 lit_390[4] = {
0x00,
0x00,
0x00,
0x00,
};
/* 80455614-80455618 0004+00 s=2 e=0 z=0 None .sdata2 @391 */
SECTION_SDATA2 static f32 lit_391 = 1.0f;
/* 80455618-8045561C 0004+00 s=2 e=0 z=0 None .sdata2 @392 */
SECTION_SDATA2 static f32 lit_392 = 0.5f;
/* 802963A8-8029649C 00F4+00 s=0 e=1 z=0 None .text __ct__13JASAramStreamFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm JASAramStream::JASAramStream() {
nofralloc
#include "asm/JSystem/JAudio2/JASAramStream/__ct__13JASAramStreamFv.s"
}
#pragma pop
/* 8029649C-8029655C 00C0+00 s=0 e=1 z=0 None .text
* init__13JASAramStreamFUlUlPFUlP13JASAramStreamPv_vPv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void JASAramStream::init(u32 param_0, u32 param_1, void (*)(u32, JASAramStream*, void*),
void* param_3) {
nofralloc
#include "asm/JSystem/JAudio2/JASAramStream/init__13JASAramStreamFUlUlPFUlP13JASAramStreamPv_vPv.s"
}
#pragma pop
/* 8029655C-80296618 00BC+00 s=0 e=1 z=0 None .text prepare__13JASAramStreamFli */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void JASAramStream::prepare(s32 param_0, int param_1) {
nofralloc
#include "asm/JSystem/JAudio2/JASAramStream/prepare__13JASAramStreamFli.s"
}
#pragma pop
/* 80296618-8029664C 0034+00 s=0 e=1 z=0 None .text start__13JASAramStreamFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void JASAramStream::start() {
nofralloc
#include "asm/JSystem/JAudio2/JASAramStream/start__13JASAramStreamFv.s"
}
#pragma pop
/* 8029664C-80296684 0038+00 s=0 e=1 z=0 None .text stop__13JASAramStreamFUs */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void JASAramStream::stop(u16 param_0) {
nofralloc
#include "asm/JSystem/JAudio2/JASAramStream/stop__13JASAramStreamFUs.s"
}
#pragma pop
/* 80296684-802966CC 0048+00 s=0 e=1 z=0 None .text pause__13JASAramStreamFb */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void JASAramStream::pause(bool param_0) {
nofralloc
#include "asm/JSystem/JAudio2/JASAramStream/pause__13JASAramStreamFb.s"
}
#pragma pop
/* 802966CC-80296710 0044+00 s=0 e=1 z=0 None .text cancel__13JASAramStreamFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void JASAramStream::cancel() {
nofralloc
#include "asm/JSystem/JAudio2/JASAramStream/cancel__13JASAramStreamFv.s"
}
#pragma pop
/* 80296710-8029673C 002C+00 s=4 e=0 z=0 None .text getBlockSamples__13JASAramStreamCFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void JASAramStream::getBlockSamples() const {
nofralloc
#include "asm/JSystem/JAudio2/JASAramStream/getBlockSamples__13JASAramStreamCFv.s"
}
#pragma pop
/* 8029673C-8029676C 0030+00 s=1 e=0 z=0 None .text headerLoadTask__13JASAramStreamFPv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void JASAramStream::headerLoadTask(void* param_0) {
nofralloc
#include "asm/JSystem/JAudio2/JASAramStream/headerLoadTask__13JASAramStreamFPv.s"
}
#pragma pop
/* 8029676C-80296848 00DC+00 s=1 e=0 z=0 None .text firstLoadTask__13JASAramStreamFPv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void JASAramStream::firstLoadTask(void* param_0) {
nofralloc
#include "asm/JSystem/JAudio2/JASAramStream/firstLoadTask__13JASAramStreamFPv.s"
}
#pragma pop
/* 80296848-80296868 0020+00 s=1 e=0 z=0 None .text loadToAramTask__13JASAramStreamFPv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void JASAramStream::loadToAramTask(void* param_0) {
nofralloc
#include "asm/JSystem/JAudio2/JASAramStream/loadToAramTask__13JASAramStreamFPv.s"
}
#pragma pop
/* 80296868-802968C8 0060+00 s=2 e=0 z=0 None .text finishTask__13JASAramStreamFPv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void JASAramStream::finishTask(void* param_0) {
nofralloc
#include "asm/JSystem/JAudio2/JASAramStream/finishTask__13JASAramStreamFPv.s"
}
#pragma pop
/* 802968C8-80296920 0058+00 s=1 e=0 z=0 None .text prepareFinishTask__13JASAramStreamFPv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void JASAramStream::prepareFinishTask(void* param_0) {
nofralloc
#include "asm/JSystem/JAudio2/JASAramStream/prepareFinishTask__13JASAramStreamFPv.s"
}
#pragma pop
/* ############################################################################################## */
/* 8045561C-80455620 0004+00 s=1 e=0 z=0 None .sdata2 @531 */
SECTION_SDATA2 static f32 lit_531 = 127.0f;
/* 80455620-80455628 0008+00 s=3 e=0 z=0 None .sdata2 @533 */
SECTION_SDATA2 static f64 lit_533 = 4503599627370496.0 /* cast u32 to float */;
/* 80296920-80296AE8 01C8+00 s=1 e=0 z=0 None .text headerLoad__13JASAramStreamFUli */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void JASAramStream::headerLoad(u32 param_0, int param_1) {
nofralloc
#include "asm/JSystem/JAudio2/JASAramStream/headerLoad__13JASAramStreamFUli.s"
}
#pragma pop
/* 80296AE8-80296D74 028C+00 s=2 e=0 z=0 None .text load__13JASAramStreamFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void JASAramStream::load() {
nofralloc
#include "asm/JSystem/JAudio2/JASAramStream/load__13JASAramStreamFv.s"
}
#pragma pop
/* 80296D74-80296D94 0020+00 s=2 e=0 z=0 None .text channelProcCallback__13JASAramStreamFPv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void JASAramStream::channelProcCallback(void* param_0) {
nofralloc
#include "asm/JSystem/JAudio2/JASAramStream/channelProcCallback__13JASAramStreamFPv.s"
}
#pragma pop
/* ############################################################################################## */
/* 803C7670-803C76A8 0034+04 s=1 e=0 z=0 None .data @613 */
SECTION_DATA static void* lit_613[13 + 1 /* padding */] = {
(void*)(((char*)dvdErrorCheck__13JASAramStreamFPv) + 0x40),
(void*)(((char*)dvdErrorCheck__13JASAramStreamFPv) + 0x34),
(void*)(((char*)dvdErrorCheck__13JASAramStreamFPv) + 0x48),
(void*)(((char*)dvdErrorCheck__13JASAramStreamFPv) + 0x40),
(void*)(((char*)dvdErrorCheck__13JASAramStreamFPv) + 0x40),
(void*)(((char*)dvdErrorCheck__13JASAramStreamFPv) + 0x40),
(void*)(((char*)dvdErrorCheck__13JASAramStreamFPv) + 0x40),
(void*)(((char*)dvdErrorCheck__13JASAramStreamFPv) + 0x40),
(void*)(((char*)dvdErrorCheck__13JASAramStreamFPv) + 0x40),
(void*)(((char*)dvdErrorCheck__13JASAramStreamFPv) + 0x40),
(void*)(((char*)dvdErrorCheck__13JASAramStreamFPv) + 0x40),
(void*)(((char*)dvdErrorCheck__13JASAramStreamFPv) + 0x40),
(void*)(((char*)dvdErrorCheck__13JASAramStreamFPv) + 0x40),
/* padding */
NULL,
};
/* 80296D94-80296DF0 005C+00 s=2 e=0 z=0 None .text dvdErrorCheck__13JASAramStreamFPv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void JASAramStream::dvdErrorCheck(void* param_0) {
nofralloc
#include "asm/JSystem/JAudio2/JASAramStream/dvdErrorCheck__13JASAramStreamFPv.s"
}
#pragma pop
/* 80296DF0-80296E2C 003C+00 s=1 e=0 z=0 None .text
* channelCallback__13JASAramStreamFUlP10JASChannelPQ26JASDsp8TChannelPv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void JASAramStream::channelCallback(u32 param_0, JASChannel* param_1, JASDsp::TChannel* param_2,
void* param_3) {
nofralloc
#include "asm/JSystem/JAudio2/JASAramStream/channelCallback__13JASAramStreamFUlP10JASChannelPQ26JASDsp8TChannelPv.s"
}
#pragma pop
/* 80296E2C-802974AC 0680+00 s=1 e=0 z=0 None .text
* updateChannel__13JASAramStreamFUlP10JASChannelPQ26JASDsp8TChannel */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void JASAramStream::updateChannel(u32 param_0, JASChannel* param_1, JASDsp::TChannel* param_2) {
nofralloc
#include "asm/JSystem/JAudio2/JASAramStream/updateChannel__13JASAramStreamFUlP10JASChannelPQ26JASDsp8TChannel.s"
}
#pragma pop
/* 802974AC-80297658 01AC+00 s=1 e=0 z=0 None .text channelProc__13JASAramStreamFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void JASAramStream::channelProc() {
nofralloc
#include "asm/JSystem/JAudio2/JASAramStream/channelProc__13JASAramStreamFv.s"
}
#pragma pop
/* ############################################################################################## */
/* 8039B168-8039B174 000C+00 s=1 e=0 z=0 None .rodata OSC_RELEASE_TABLE */
SECTION_RODATA static u8 const OSC_RELEASE_TABLE[12] = {
0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00,
};
/* 8039B174-8039B190 0018+04 s=1 e=0 z=0 None .rodata OSC_ENV */
SECTION_RODATA static void* const OSC_ENV[6 + 1 /* padding */] = {
(void*)NULL,
(void*)0x3F800000,
(void*)NULL,
(void*)&OSC_RELEASE_TABLE,
(void*)0x3F800000,
(void*)NULL,
/* padding */
NULL,
};
/* 80431B28-80431B34 000C+00 s=1 e=0 z=0 None .bss @792 */
static u8 lit_792[12];
/* 80431B34-80431B48 0010+04 s=1 e=4 z=0 None .bss
* memPool_$localstatic3$getMemPool___46JASPoolAllocObject_MultiThreaded<10JASChannel>Fv */
u8 data_80431B34[16 + 4 /* padding */];
/* 80455628-80455630 0004+04 s=1 e=0 z=0 None .sdata2 one$776 */
SECTION_SDATA2 static u8 one[4 + 4 /* padding */] = {
0x00,
0x00,
0x00,
0x01,
/* padding */
0x00,
0x00,
0x00,
0x00,
};
/* 80297658-80297870 0218+00 s=1 e=0 z=0 None .text channelStart__13JASAramStreamFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void JASAramStream::channelStart() {
nofralloc
#include "asm/JSystem/JAudio2/JASAramStream/channelStart__13JASAramStreamFv.s"
}
#pragma pop
/* 80297870-802978DC 006C+00 s=1 e=0 z=0 None .text channelStop__13JASAramStreamFUs */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void JASAramStream::channelStop(u16 param_0) {
nofralloc
#include "asm/JSystem/JAudio2/JASAramStream/channelStop__13JASAramStreamFUs.s"
}
#pragma pop
/* 802978DC-80297930 0054+00 s=1 e=5 z=0 None .text
* __dt__38JASMemPool_MultiThreaded<10JASChannel>Fv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm JASMemPool_MultiThreaded__template2::~JASMemPool_MultiThreaded__template2() {
nofralloc
#include "asm/JSystem/JAudio2/JASAramStream/func_802978DC.s"
}
#pragma pop