tp/libs/JSystem/JKernel/JKRDecomp.cpp

277 lines
8.9 KiB
C++

//
// Generated By: dol2asm
// Translation Unit: JKRDecomp
//
#include "JSystem/JKernel/JKRDecomp.h"
#include "dol2asm.h"
#include "dolphin/types.h"
//
// Types:
//
struct JKRThread {
/* 802D1568 */ JKRThread(u32, int, int);
/* 802D1758 */ ~JKRThread();
};
struct JKRHeap {
static u8 sSystemHeap[4];
};
struct JKRDecompCommand {
/* 802DBD70 */ JKRDecompCommand();
/* 802DBDC0 */ ~JKRDecompCommand();
};
struct JKRDecomp {
/* 802DB680 */ void create(s32);
/* 802DB6E0 */ JKRDecomp(s32);
/* 802DB730 */ ~JKRDecomp();
/* 802DB790 */ void run();
/* 802DB858 */ void prepareCommand(u8*, u8*, u32, u32, void (*)(u32));
/* 802DB8D0 */ void sendCommand(JKRDecompCommand*);
/* 802DB900 */ void orderAsync(u8*, u8*, u32, u32, void (*)(u32));
/* 802DB934 */ void sync(JKRDecompCommand*, int);
/* 802DB988 */ void orderSync(u8*, u8*, u32, u32);
/* 802DB9DC */ void decode(u8*, u8*, u32, u32);
/* 802DBA58 */ void decodeSZP(u8*, u8*, u32, u32);
/* 802DBC14 */ void decodeSZS(u8*, u8*, u32, u32);
/* 802DBCF8 */ void checkCompressed(u8*);
static u8 sMessageBuffer[32];
static u8 sMessageQueue[32];
static u8 sDecompObject[4 + 4 /* padding */];
};
struct JKRAMCommand {};
struct JKRAramPiece {
/* 802D35F4 */ void sendCommand(JKRAMCommand*);
};
//
// Forward References:
//
extern "C" void create__9JKRDecompFl();
extern "C" void __ct__9JKRDecompFl();
extern "C" void __dt__9JKRDecompFv();
extern "C" void run__9JKRDecompFv();
extern "C" void prepareCommand__9JKRDecompFPUcPUcUlUlPFUl_v();
extern "C" void sendCommand__9JKRDecompFP16JKRDecompCommand();
extern "C" void orderAsync__9JKRDecompFPUcPUcUlUlPFUl_v();
extern "C" void sync__9JKRDecompFP16JKRDecompCommandi();
extern "C" void orderSync__9JKRDecompFPUcPUcUlUl();
extern "C" void decode__9JKRDecompFPUcPUcUlUl();
extern "C" void decodeSZP__9JKRDecompFPUcPUcUlUl();
extern "C" void decodeSZS__9JKRDecompFPUcPUcUlUl();
extern "C" void checkCompressed__9JKRDecompFPUc();
extern "C" void __ct__16JKRDecompCommandFv();
extern "C" void __dt__16JKRDecompCommandFv();
extern "C" u8 sMessageBuffer__9JKRDecomp[32];
extern "C" u8 sMessageQueue__9JKRDecomp[32];
extern "C" u8 sDecompObject__9JKRDecomp[4 + 4 /* padding */];
//
// External References:
//
extern "C" void* __nw__FUlP7JKRHeapi();
extern "C" void __dl__FPv();
extern "C" void __ct__9JKRThreadFUlii();
extern "C" void __dt__9JKRThreadFv();
extern "C" void sendCommand__12JKRAramPieceFP12JKRAMCommand();
extern "C" void OSInitMessageQueue();
extern "C" void OSSendMessage();
extern "C" void OSReceiveMessage();
extern "C" void OSResumeThread();
extern "C" void _savegpr_27();
extern "C" void _savegpr_28();
extern "C" void _restgpr_27();
extern "C" void _restgpr_28();
extern "C" u8 sSystemHeap__7JKRHeap[4];
//
// Declarations:
//
/* ############################################################################################## */
/* 804514B0-804514B8 0009B0 0004+04 1/1 0/0 0/0 .sbss sDecompObject__9JKRDecomp */
u8 JKRDecomp::sDecompObject[4 + 4 /* padding */];
/* 802DB680-802DB6E0 2D5FC0 0060+00 0/0 1/1 0/0 .text create__9JKRDecompFl */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void JKRDecomp::create(s32 param_0) {
nofralloc
#include "asm/JSystem/JKernel/JKRDecomp/create__9JKRDecompFl.s"
}
#pragma pop
/* ############################################################################################## */
/* 803CC460-803CC480 029580 0020+00 1/1 0/0 0/0 .data sMessageBuffer__9JKRDecomp */
SECTION_DATA u8 JKRDecomp::sMessageBuffer[32] = {
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,
};
/* 803CC480-803CC4A0 0295A0 0020+00 2/2 0/0 0/0 .data sMessageQueue__9JKRDecomp */
SECTION_DATA u8 JKRDecomp::sMessageQueue[32] = {
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,
};
/* 803CC4A0-803CC4B0 0295C0 0010+00 2/2 0/0 0/0 .data __vt__9JKRDecomp */
SECTION_DATA extern void* __vt__9JKRDecomp[4] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__9JKRDecompFv,
(void*)run__9JKRDecompFv,
};
/* 802DB6E0-802DB730 2D6020 0050+00 1/1 0/0 0/0 .text __ct__9JKRDecompFl */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm JKRDecomp::JKRDecomp(s32 param_0) {
nofralloc
#include "asm/JSystem/JKernel/JKRDecomp/__ct__9JKRDecompFl.s"
}
#pragma pop
/* 802DB730-802DB790 2D6070 0060+00 1/0 0/0 0/0 .text __dt__9JKRDecompFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm JKRDecomp::~JKRDecomp() {
nofralloc
#include "asm/JSystem/JKernel/JKRDecomp/__dt__9JKRDecompFv.s"
}
#pragma pop
/* 802DB790-802DB858 2D60D0 00C8+00 1/0 0/0 0/0 .text run__9JKRDecompFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void JKRDecomp::run() {
nofralloc
#include "asm/JSystem/JKernel/JKRDecomp/run__9JKRDecompFv.s"
}
#pragma pop
/* 802DB858-802DB8D0 2D6198 0078+00 1/1 0/0 0/0 .text prepareCommand__9JKRDecompFPUcPUcUlUlPFUl_v
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void JKRDecomp::prepareCommand(u8* param_0, u8* param_1, u32 param_2, u32 param_3,
void (*)(u32)) {
nofralloc
#include "asm/JSystem/JKernel/JKRDecomp/prepareCommand__9JKRDecompFPUcPUcUlUlPFUl_v.s"
}
#pragma pop
/* 802DB8D0-802DB900 2D6210 0030+00 1/1 1/1 0/0 .text sendCommand__9JKRDecompFP16JKRDecompCommand
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void JKRDecomp::sendCommand(JKRDecompCommand* param_0) {
nofralloc
#include "asm/JSystem/JKernel/JKRDecomp/sendCommand__9JKRDecompFP16JKRDecompCommand.s"
}
#pragma pop
/* 802DB900-802DB934 2D6240 0034+00 1/1 0/0 0/0 .text orderAsync__9JKRDecompFPUcPUcUlUlPFUl_v */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void JKRDecomp::orderAsync(u8* param_0, u8* param_1, u32 param_2, u32 param_3, void (*)(u32)) {
nofralloc
#include "asm/JSystem/JKernel/JKRDecomp/orderAsync__9JKRDecompFPUcPUcUlUlPFUl_v.s"
}
#pragma pop
/* 802DB934-802DB988 2D6274 0054+00 1/1 0/0 0/0 .text sync__9JKRDecompFP16JKRDecompCommandi */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void JKRDecomp::sync(JKRDecompCommand* param_0, int param_1) {
nofralloc
#include "asm/JSystem/JKernel/JKRDecomp/sync__9JKRDecompFP16JKRDecompCommandi.s"
}
#pragma pop
/* 802DB988-802DB9DC 2D62C8 0054+00 0/0 5/5 0/0 .text orderSync__9JKRDecompFPUcPUcUlUl */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void JKRDecomp::orderSync(u8* param_0, u8* param_1, u32 param_2, u32 param_3) {
nofralloc
#include "asm/JSystem/JKernel/JKRDecomp/orderSync__9JKRDecompFPUcPUcUlUl.s"
}
#pragma pop
/* 802DB9DC-802DBA58 2D631C 007C+00 1/1 0/0 0/0 .text decode__9JKRDecompFPUcPUcUlUl */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void JKRDecomp::decode(u8* param_0, u8* param_1, u32 param_2, u32 param_3) {
nofralloc
#include "asm/JSystem/JKernel/JKRDecomp/decode__9JKRDecompFPUcPUcUlUl.s"
}
#pragma pop
/* 802DBA58-802DBC14 2D6398 01BC+00 1/1 0/0 0/0 .text decodeSZP__9JKRDecompFPUcPUcUlUl */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void JKRDecomp::decodeSZP(u8* param_0, u8* param_1, u32 param_2, u32 param_3) {
nofralloc
#include "asm/JSystem/JKernel/JKRDecomp/decodeSZP__9JKRDecompFPUcPUcUlUl.s"
}
#pragma pop
/* 802DBC14-802DBCF8 2D6554 00E4+00 1/1 0/0 0/0 .text decodeSZS__9JKRDecompFPUcPUcUlUl */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void JKRDecomp::decodeSZS(u8* param_0, u8* param_1, u32 param_2, u32 param_3) {
nofralloc
#include "asm/JSystem/JKernel/JKRDecomp/decodeSZS__9JKRDecompFPUcPUcUlUl.s"
}
#pragma pop
/* 802DBCF8-802DBD70 2D6638 0078+00 1/1 4/4 0/0 .text checkCompressed__9JKRDecompFPUc */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void JKRDecomp::checkCompressed(u8* param_0) {
nofralloc
#include "asm/JSystem/JKernel/JKRDecomp/checkCompressed__9JKRDecompFPUc.s"
}
#pragma pop
/* 802DBD70-802DBDC0 2D66B0 0050+00 1/1 0/0 0/0 .text __ct__16JKRDecompCommandFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm JKRDecompCommand::JKRDecompCommand() {
nofralloc
#include "asm/JSystem/JKernel/JKRDecomp/__ct__16JKRDecompCommandFv.s"
}
#pragma pop
/* 802DBDC0-802DBDFC 2D6700 003C+00 1/1 0/0 0/0 .text __dt__16JKRDecompCommandFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm JKRDecompCommand::~JKRDecompCommand() {
nofralloc
#include "asm/JSystem/JKernel/JKRDecomp/__dt__16JKRDecompCommandFv.s"
}
#pragma pop