Files
dusklight/libs/JSystem/JKernel/JKRDvdAramRipper.cpp
T
2021-03-31 23:22:38 +02:00

958 lines
28 KiB
C++

//
// Generated By: dol2asm
// Translation Unit: JKRDvdAramRipper
//
#include "dol2asm.h"
#include "dolphin/types.h"
#include "JSystem/JKernel/JKRDvdAramRipper.h"
//
// Types:
//
struct JSUPtrLink {
/* 802DBDFC */ // False False
// void* False
// void False
JSUPtrLink(void*);
/* 802DBE14 */ // False False
~JSUPtrLink();
};
struct JSUPtrList {
/* 802DBEAC */ // False False
~JSUPtrList();
/* 802DBF14 */ // False False
void initiate();
/* 802DBF4C */ // False False
// JSUPtrLink* False
// JSUPtrLink False
void append(JSUPtrLink*);
/* 802DC15C */ // False False
// JSUPtrLink* False
// JSUPtrLink False
void remove(JSUPtrLink*);
};
template <typename A0>
struct JSUList { };
/* JSUList<JKRADCommand> */
struct JSUList__template10 {
/* 802DB62C */ // False True
~JSUList__template10();
};
struct JSUInputStream {
/* 802DC23C */ // False False
~JSUInputStream();
};
struct JKRFile {
};
struct JSUFileInputStream {
/* 802DADD8 */ // False False
~JSUFileInputStream();
/* 802DC638 */ // False False
// JKRFile* False
// JKRFile False
JSUFileInputStream(JKRFile*);
};
struct JKRHeap {
/* 802CE4D4 */ // False False
// u32 False
// int False
void alloc(u32, int);
/* 802CE500 */ // False False
// void* False
// void False
// JKRHeap* False
// JKRHeap False
void free(void*, JKRHeap*);
};
struct JKRExpandSwitch {
};
struct JKRDvdFile {
/* 802D9584 */ // False False
JKRDvdFile();
/* 802D9748 */ // False False
~JKRDvdFile();
/* 802D98C4 */ // False False
// s32 False
void open(s32);
};
struct JKRADCommand {
/* 802DAF1C */ // True False
JKRADCommand();
/* 802DAF5C */ // True False
~JKRADCommand();
};
struct JKRDvdAramRipper {
/* 802DA874 */ // False False
// s32 False
// u32 False
// JKRExpandSwitch False
// u32 False
// u32 False
// u32* False
// u32 False
void loadToAram(s32, u32, JKRExpandSwitch, u32, u32, u32*);
/* 802DA918 */ // True False
// JKRDvdFile* False
// JKRDvdFile False
// u32 False
// JKRExpandSwitch False
// u32 False
// u32 False
// u32* False
// u32 False
void loadToAram(JKRDvdFile*, u32, JKRExpandSwitch, u32, u32, u32*);
/* 802DA9C0 */ // True False
// JKRDvdFile* False
// JKRDvdFile False
// u32 False
// JKRExpandSwitch False
// void (*)(u32) False
// * False
// False
// void False
// u32 False
// u32 False
// u32 False
// u32* False
// u32 False
void loadToAram_Async(JKRDvdFile*, u32, JKRExpandSwitch, void (*)(u32), u32, u32, u32*);
/* 802DAA74 */ // True False
// JKRADCommand* False
// JKRADCommand False
void callCommand_Async(JKRADCommand*);
/* 802DAE48 */ // True False
// JKRADCommand* False
// JKRADCommand False
// int False
void syncAram(JKRADCommand*, int);
};
struct JKRDecomp {
/* 802DBCF8 */ // False False
// u8* False
// u8 False
void checkCompressed(u8*);
};
struct JKRAramStreamCommand {
};
struct JKRAramStream {
/* 802D3ED0 */ // False False
// JSUFileInputStream* False
// JSUFileInputStream False
// u32 False
// u32 False
// u32 False
// u32* False
// u32 False
void write_StreamToAram_Async(JSUFileInputStream*, u32, u32, u32, u32*);
/* 802D3FA0 */ // False False
// JKRAramStreamCommand* False
// JKRAramStreamCommand False
// int False
void sync(JKRAramStreamCommand*, int);
};
struct JKRAramBlock {
};
struct JKRAramPiece {
/* 802D3838 */ // False False
// int False
// u32 False
// u32 False
// u32 False
// JKRAramBlock* False
// JKRAramBlock False
void orderSync(int, u32, u32, u32, JKRAramBlock*);
};
struct JKRAramHeap {
struct EAllocMode {
};
/* 802D2FBC */ // False False
// u32 False
// JKRAramHeap::EAllocMode False
void alloc(u32, JKRAramHeap::EAllocMode);
};
//
// Forward References:
//
// True False
// JKRDvdFile* False
// JKRDvdFile False
// u32 False
// u32 False
// u32 False
// u32 False
// u32 False
// u32* False
// u32 False
static void JKRDecompressFromDVDToAram(JKRDvdFile*, u32, u32, u32, u32, u32, u32*);
// True False
// u8* False
// u8 False
// u32 False
static void decompSZS_subroutine(u8*, u32);
// True False
static void firstSrcData();
// True False
// u8* False
// u8 False
static void nextSrcData(u8*);
// True False
// u32 False
static void dmaBufferFlush(u32);
// False False
// s32 False
// u32 False
// JKRExpandSwitch False
// u32 False
// u32 False
// u32* False
// u32 False
extern "C" void loadToAram__16JKRDvdAramRipperFlUl15JKRExpandSwitchUlUlPUl();
// True False
// JKRDvdFile* False
// JKRDvdFile False
// u32 False
// JKRExpandSwitch False
// u32 False
// u32 False
// u32* False
// u32 False
extern "C" void loadToAram__16JKRDvdAramRipperFP10JKRDvdFileUl15JKRExpandSwitchUlUlPUl();
// True False
// JKRDvdFile* False
// JKRDvdFile False
// u32 False
// JKRExpandSwitch False
// void (*)(u32) False
// * False
// False
// void False
// u32 False
// u32 False
// u32 False
// u32* False
// u32 False
extern "C" void loadToAram_Async__16JKRDvdAramRipperFP10JKRDvdFileUl15JKRExpandSwitchPFUl_vUlUlPUl();
// True False
// JKRADCommand* False
// JKRADCommand False
extern "C" void callCommand_Async__16JKRDvdAramRipperFP12JKRADCommand();
// False False
extern "C" void __dt__18JSUFileInputStreamFv();
// True False
// JKRADCommand* False
// JKRADCommand False
// int False
extern "C" void syncAram__16JKRDvdAramRipperFP12JKRADCommandi();
// True False
extern "C" void __ct__12JKRADCommandFv();
// True False
extern "C" void __dt__12JKRADCommandFv();
// True False
// JKRDvdFile* False
// JKRDvdFile False
// u32 False
// u32 False
// u32 False
// u32 False
// u32 False
// u32* False
// u32 False
extern "C" static void JKRDecompressFromDVDToAram__FP10JKRDvdFileUlUlUlUlUlPUl();
// True False
// u8* False
// u8 False
// u32 False
extern "C" static void decompSZS_subroutine__FPUcUl();
// True False
extern "C" static void firstSrcData__Fv();
// True False
// u8* False
// u8 False
extern "C" static void nextSrcData__FPUc();
// True False
// u32 False
extern "C" static void dmaBufferFlush__FUl();
// False False
extern "C" void __sinit_JKRDvdAramRipper_cpp();
// False True
extern "C" void func_802DB62C();
extern "C" extern u32 sSZSBufferSize__16JKRDvdAramRipper;
//
// External References:
//
// False False
// void* False
// void False
// u32 False
// JKRHeap* False
// JKRHeap False
// int False
void* operator new(u32, JKRHeap*, int);
// False False
// void False
// void* False
// void False
void operator delete(void*);
// False False
SECTION_INIT void memcpy();
// False False
// u32 False
// int False
extern "C" void alloc__7JKRHeapFUli();
// False False
// void* False
// void False
// JKRHeap* False
// JKRHeap False
extern "C" void free__7JKRHeapFPvP7JKRHeap();
// False False
// void* False
// void False
// u32 False
// JKRHeap* False
// JKRHeap False
// int False
extern "C" void* __nw__FUlP7JKRHeapi();
// False False
// void False
// void* False
// void False
extern "C" void __dl__FPv();
// False False
// u32 False
// JKRAramHeap::EAllocMode False
extern "C" void alloc__11JKRAramHeapFUlQ211JKRAramHeap10EAllocMode();
// False False
// int False
// u32 False
// u32 False
// u32 False
// JKRAramBlock* False
// JKRAramBlock False
extern "C" void orderSync__12JKRAramPieceFiUlUlUlP12JKRAramBlock();
// False False
// JSUFileInputStream* False
// JSUFileInputStream False
// u32 False
// u32 False
// u32 False
// u32* False
// u32 False
extern "C" void write_StreamToAram_Async__13JKRAramStreamFP18JSUFileInputStreamUlUlUlPUl();
// False False
// JKRAramStreamCommand* False
// JKRAramStreamCommand False
// int False
extern "C" void sync__13JKRAramStreamFP20JKRAramStreamCommandi();
// False False
extern "C" void __ct__10JKRDvdFileFv();
// False False
extern "C" void __dt__10JKRDvdFileFv();
// False False
// s32 False
extern "C" void open__10JKRDvdFileFl();
// False False
// u8* False
// u8 False
extern "C" void checkCompressed__9JKRDecompFPUc();
// False False
// void* False
// void False
extern "C" void __ct__10JSUPtrLinkFPv();
// False False
extern "C" void __dt__10JSUPtrLinkFv();
// False False
extern "C" void __dt__10JSUPtrListFv();
// False False
extern "C" void initiate__10JSUPtrListFv();
// False False
// JSUPtrLink* False
// JSUPtrLink False
extern "C" void append__10JSUPtrListFP10JSUPtrLink();
// False False
// JSUPtrLink* False
// JSUPtrLink False
extern "C" void remove__10JSUPtrListFP10JSUPtrLink();
// False False
extern "C" void __dt__14JSUInputStreamFv();
// False False
// JKRFile* False
// JKRFile False
extern "C" void __ct__18JSUFileInputStreamFP7JKRFile();
// False False
extern "C" void DCInvalidateRange();
// False False
extern "C" void OSDisableInterrupts();
// False False
extern "C" void OSRestoreInterrupts();
// False False
extern "C" void OSInitMutex();
// False False
extern "C" void OSLockMutex();
// False False
extern "C" void OSUnlockMutex();
// False False
extern "C" void OSGetCurrentThread();
// False False
extern "C" void DVDReadPrio();
// False False
extern "C" void VIWaitForRetrace();
// False False
extern "C" void __register_global_object();
// False False
extern "C" void _savegpr_23();
// False False
extern "C" void _savegpr_24();
// False False
extern "C" void _savegpr_25();
// False False
extern "C" void _savegpr_26();
// False False
extern "C" void _savegpr_29();
// False False
extern "C" void _restgpr_23();
// False False
extern "C" void _restgpr_24();
// False False
extern "C" void _restgpr_25();
// False False
extern "C" void _restgpr_26();
// False False
extern "C" void _restgpr_29();
extern "C" extern void* __vt__20JSURandomInputStream[9];
extern "C" extern void* __vt__18JSUFileInputStream[9 + 1 /* padding */];
extern "C" extern u8 sSystemHeap__7JKRHeap[4];
extern "C" extern u8 sAramObject__7JKRAram[4];
//
// Declarations:
//
/* 802DA874-802DA918 00A4+00 s=0 e=3 z=0 None .text loadToAram__16JKRDvdAramRipperFlUl15JKRExpandSwitchUlUlPUl */
// 802DA884: 803621D0 (_savegpr_26)
// 802DA8A4: 802D9584 (__ct__10JKRDvdFileFv)
// 802DA8B0: 802D98C4 (open__10JKRDvdFileFl)
// 802DA8C4: 802D9748 (__dt__10JKRDvdFileFv)
// 802DA8E8: 802DA918 (loadToAram__16JKRDvdAramRipperFP10JKRDvdFileUl15JKRExpandSwitchUlUlPUl)
// 802DA8F8: 802D9748 (__dt__10JKRDvdFileFv)
// 802DA904: 8036221C (_restgpr_26)
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
// False False
// s32 False
// u32 False
// JKRExpandSwitch False
// u32 False
// u32 False
// u32* False
// u32 False
asm void JKRDvdAramRipper::loadToAram(s32 param_0, u32 param_1, JKRExpandSwitch param_2, u32 param_3, u32 param_4, u32* param_5) {
nofralloc
#include "asm/JSystem/JKernel/JKRDvdAramRipper/loadToAram__16JKRDvdAramRipperFlUl15JKRExpandSwitchUlUlPUl.s"
}
#pragma pop
/* 802DA918-802DA9C0 00A8+00 s=1 e=0 z=0 None .text loadToAram__16JKRDvdAramRipperFP10JKRDvdFileUl15JKRExpandSwitchUlUlPUl */
// 802DA948: 802DA9C0 (loadToAram_Async__16JKRDvdAramRipperFP10JKRDvdFileUl15JKRExpandSwitchPFUl_vUlUlPUl)
// 802DA954: 802DAE48 (syncAram__16JKRDvdAramRipperFP12JKRADCommandi)
// 802DA96C: 802DAF5C (__dt__12JKRADCommandFv)
// 802DA988: 802DAF5C (__dt__12JKRADCommandFv)
// 802DA9A0: 802DAF5C (__dt__12JKRADCommandFv)
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
// True False
// JKRDvdFile* False
// JKRDvdFile False
// u32 False
// JKRExpandSwitch False
// u32 False
// u32 False
// u32* False
// u32 False
asm void JKRDvdAramRipper::loadToAram(JKRDvdFile* param_0, u32 param_1, JKRExpandSwitch param_2, u32 param_3, u32 param_4, u32* param_5) {
nofralloc
#include "asm/JSystem/JKernel/JKRDvdAramRipper/loadToAram__16JKRDvdAramRipperFP10JKRDvdFileUl15JKRExpandSwitchUlUlPUl.s"
}
#pragma pop
/* 802DA9C0-802DAA74 00B4+00 s=1 e=0 z=0 None .text loadToAram_Async__16JKRDvdAramRipperFP10JKRDvdFileUl15JKRExpandSwitchPFUl_vUlUlPUl */
// 802DA9D0: 803621C8 (_savegpr_24)
// 802DA9F4: 80451370 (sSystemHeap__7JKRHeap)
// 802DA9FC: 802CEC98 (__nw__FUlP7JKRHeapi)
// 802DAA08: 802DAF1C (__ct__12JKRADCommandFv)
// 802DAA38: 802DAA74 (callCommand_Async__16JKRDvdAramRipperFP12JKRADCommand)
// 802DAA4C: 802DAF5C (__dt__12JKRADCommandFv)
// 802DAA60: 80362214 (_restgpr_24)
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
// True False
// JKRDvdFile* False
// JKRDvdFile False
// u32 False
// JKRExpandSwitch False
// void (*)(u32) False
// * False
// False
// void False
// u32 False
// u32 False
// u32 False
// u32* False
// u32 False
asm void JKRDvdAramRipper::loadToAram_Async(JKRDvdFile* param_0, u32 param_1, JKRExpandSwitch param_2, void (*)(u32), u32 param_4, u32 param_5, u32* param_6) {
nofralloc
#include "asm/JSystem/JKernel/JKRDvdAramRipper/func_802DA9C0.s"
}
#pragma pop
/* ############################################################################################## */
/* 804343A8-804343B4 000C+00 s=1 e=0 z=0 None .bss @301 */
static u8 lit_301[12];
/* 804343B4-804343C0 000C+00 s=3 e=0 z=0 None .bss sDvdAramAsyncList__16JKRDvdAramRipper */
static u8 sDvdAramAsyncList__16JKRDvdAramRipper[12];
/* 804508D0-804508D4 0004+00 s=3 e=0 z=0 None .sdata None */
SECTION_SDATA static u32 data_804508D0 = 0x01000000;
/* 802DAA74-802DADD8 0364+00 s=1 e=0 z=0 None .text callCommand_Async__16JKRDvdAramRipperFP12JKRADCommand */
// 802DAA84: 803621CC (_savegpr_25)
// 802DAA9C: 8033F040 (OSLockMutex)
// 802DAAC8: 80340C84 (OSGetCurrentThread)
// 802DAAD4: 80451370 (sSystemHeap__7JKRHeap)
// 802DAADC: 802CEC98 (__nw__FUlP7JKRHeapi)
// 802DAAEC: 802DC638 (__ct__18JSUFileInputStreamFP7JKRFile)
// 802DAB54: 80348E44 (DVDReadPrio)
// 802DAB60: 804508D0 (data_804508D0)
// 802DAB94: 8034C9C4 (VIWaitForRetrace)
// 802DABA4: 8033B580 (DCInvalidateRange)
// 802DABAC: 802DBCF8 (checkCompressed__9JKRDecompFPUc)
// 802DAC30: 804513C8 (sAramObject__7JKRAram)
// 802DAC40: 802D2FBC (alloc__11JKRAramHeapFUlQ211JKRAramHeap10EAllocMode)
// 802DACAC: 804513C8 (sAramObject__7JKRAram)
// 802DACBC: 802D2FBC (alloc__11JKRAramHeapFUlQ211JKRAramHeap10EAllocMode)
// 802DAD10: 802D3ED0 (write_StreamToAram_Async__13JKRAramStreamFP18JSUFileInputStreamUlUlUlPUl)
// 802DAD38: 802D3ED0 (write_StreamToAram_Async__13JKRAramStreamFP18JSUFileInputStreamUlUlUlPUl)
// 802DAD70: 802DAFE8 (JKRDecompressFromDVDToAram__FP10JKRDvdFileUlUlUlUlUlPUl)
// 802DAD80: 804343B4 (sDvdAramAsyncList__16JKRDvdAramRipper)
// 802DAD84: 804343B4 (sDvdAramAsyncList__16JKRDvdAramRipper)
// 802DAD8C: 802DBF4C (append__10JSUPtrListFP10JSUPtrLink)
// 802DADA4: 8033F11C (OSUnlockMutex)
// 802DADC4: 80362218 (_restgpr_25)
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
// True False
// JKRADCommand* False
// JKRADCommand False
asm void JKRDvdAramRipper::callCommand_Async(JKRADCommand* param_0) {
nofralloc
#include "asm/JSystem/JKernel/JKRDvdAramRipper/callCommand_Async__16JKRDvdAramRipperFP12JKRADCommand.s"
}
#pragma pop
/* 802DADD8-802DAE48 0070+00 s=0 e=1 z=0 None .text __dt__18JSUFileInputStreamFv */
// 802DADF8: 803CC518 (__vt__18JSUFileInputStream)
// 802DADFC: 803CC518 (__vt__18JSUFileInputStream)
// 802DAE08: 803CC4B0 (__vt__20JSURandomInputStream)
// 802DAE0C: 803CC4B0 (__vt__20JSURandomInputStream)
// 802DAE18: 802DC23C (__dt__14JSUInputStreamFv)
// 802DAE28: 802CED3C (__dl__FPv)
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
// False False
asm JSUFileInputStream::~JSUFileInputStream() {
nofralloc
#include "asm/JSystem/JKernel/JKRDvdAramRipper/__dt__18JSUFileInputStreamFv.s"
}
#pragma pop
/* 802DAE48-802DAF1C 00D4+00 s=1 e=0 z=0 None .text syncAram__16JKRDvdAramRipperFP12JKRADCommandi */
// 802DAE58: 803621DC (_savegpr_29)
// 802DAE6C: 8033F040 (OSLockMutex)
// 802DAE80: 802D3FA0 (sync__13JKRAramStreamFP20JKRAramStreamCommandi)
// 802DAEA4: 8033F11C (OSUnlockMutex)
// 802DAEB0: 804343B4 (sDvdAramAsyncList__16JKRDvdAramRipper)
// 802DAEB4: 804343B4 (sDvdAramAsyncList__16JKRDvdAramRipper)
// 802DAEBC: 802DC15C (remove__10JSUPtrListFP10JSUPtrLink)
// 802DAECC: 802CED3C (__dl__FPv)
// 802DAEFC: 8033F11C (OSUnlockMutex)
// 802DAF08: 80362228 (_restgpr_29)
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
// True False
// JKRADCommand* False
// JKRADCommand False
// int False
asm void JKRDvdAramRipper::syncAram(JKRADCommand* param_0, int param_1) {
nofralloc
#include "asm/JSystem/JKernel/JKRDvdAramRipper/syncAram__16JKRDvdAramRipperFP12JKRADCommandi.s"
}
#pragma pop
/* 802DAF1C-802DAF5C 0040+00 s=1 e=0 z=0 None .text __ct__12JKRADCommandFv */
// 802DAF34: 802DBDFC (__ct__10JSUPtrLinkFPv)
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
// True False
asm JKRADCommand::JKRADCommand() {
nofralloc
#include "asm/JSystem/JKernel/JKRDvdAramRipper/__ct__12JKRADCommandFv.s"
}
#pragma pop
/* 802DAF5C-802DAFE8 008C+00 s=2 e=0 z=0 None .text __dt__12JKRADCommandFv */
// 802DAFB8: 802DBE14 (__dt__10JSUPtrLinkFv)
// 802DAFC8: 802CED3C (__dl__FPv)
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
// True False
asm JKRADCommand::~JKRADCommand() {
nofralloc
#include "asm/JSystem/JKernel/JKRDvdAramRipper/__dt__12JKRADCommandFv.s"
}
#pragma pop
/* ############################################################################################## */
/* 804343C0-804343D8 0018+00 s=1 e=0 z=0 None .bss decompMutex */
static u8 decompMutex[24];
/* 804508D4-804508D8 0004+00 s=1 e=1 z=0 None .sdata sSZSBufferSize__16JKRDvdAramRipper */
SECTION_SDATA u32 sSZSBufferSize__16JKRDvdAramRipper = 0x00000400;
/* 80451468-8045146C 0004+00 s=3 e=0 z=0 None .sbss szpBuf */
static u8 szpBuf[4];
/* 8045146C-80451470 0004+00 s=3 e=0 z=0 None .sbss szpEnd */
static u8 szpEnd[4];
/* 80451470-80451474 0004+00 s=2 e=0 z=0 None .sbss refBuf */
static u8 refBuf[4];
/* 80451474-80451478 0004+00 s=2 e=0 z=0 None .sbss refEnd */
static u8 refEnd[4];
/* 80451478-8045147C 0004+00 s=2 e=0 z=0 None .sbss refCurrent */
static u8 refCurrent[4];
/* 8045147C-80451480 0004+00 s=2 e=0 z=0 None .sbss dmaBuf */
static u8 dmaBuf[4];
/* 80451480-80451484 0004+00 s=2 e=0 z=0 None .sbss dmaEnd */
static u8 dmaEnd[4];
/* 80451484-80451488 0004+00 s=3 e=0 z=0 None .sbss dmaCurrent */
static u8 dmaCurrent[4];
/* 80451488-8045148C 0004+00 s=3 e=0 z=0 None .sbss srcOffset */
static u8 srcOffset[4];
/* 8045148C-80451490 0004+00 s=4 e=0 z=0 None .sbss transLeft */
static u8 transLeft[4];
/* 80451490-80451494 0004+00 s=3 e=0 z=0 None .sbss srcLimit */
static u8 srcLimit[4];
/* 80451494-80451498 0004+00 s=3 e=0 z=0 None .sbss srcFile */
static u8 srcFile[4];
/* 80451498-8045149C 0004+00 s=2 e=0 z=0 None .sbss fileOffset */
static u8 fileOffset[4];
/* 8045149C-804514A0 0004+00 s=2 e=0 z=0 None .sbss readCount */
static u8 readCount[4];
/* 804514A0-804514A4 0004+00 s=2 e=0 z=0 None .sbss maxDest */
static u8 maxDest[4];
/* 804514A4-804514A8 0004+00 s=1 e=0 z=0 None .sbss None */
static u8 data_804514A4[4];
/* 804514A8-804514AC 0004+00 s=2 e=0 z=0 None .sbss tsPtr */
static u8 tsPtr[4];
/* 804514AC-804514B0 0004+00 s=1 e=0 z=0 None .sbss tsArea */
static u8 tsArea[4];
/* 802DAFE8-802DB160 0178+00 s=1 e=0 z=0 None .text JKRDecompressFromDVDToAram__FP10JKRDvdFileUlUlUlUlUlPUl */
// 802DAFF8: 803621C8 (_savegpr_24)
// 802DB018: 8033D6F4 (OSDisableInterrupts)
// 802DB020: 804514A4 (data_804514A4)
// 802DB02C: 804343C0 (decompMutex)
// 802DB030: 804343C0 (decompMutex)
// 802DB034: 8033F008 (OSInitMutex)
// 802DB03C: 804514A4 (data_804514A4)
// 802DB044: 8033D71C (OSRestoreInterrupts)
// 802DB048: 804343C0 (decompMutex)
// 802DB04C: 804343C0 (decompMutex)
// 802DB050: 8033F040 (OSLockMutex)
// 802DB054: 804508D4 (sSZSBufferSize__16JKRDvdAramRipper)
// 802DB058: 80451370 (sSystemHeap__7JKRHeap)
// 802DB064: 802CE4D4 (alloc__7JKRHeapFUli)
// 802DB068: 80451468 (szpBuf)
// 802DB070: 8045146C (szpEnd)
// 802DB074: 80451370 (sSystemHeap__7JKRHeap)
// 802DB080: 802CE4D4 (alloc__7JKRHeapFUli)
// 802DB084: 80451470 (refBuf)
// 802DB08C: 80451474 (refEnd)
// 802DB090: 80451478 (refCurrent)
// 802DB094: 80451370 (sSystemHeap__7JKRHeap)
// 802DB0A0: 802CE4D4 (alloc__7JKRHeapFUli)
// 802DB0A4: 8045147C (dmaBuf)
// 802DB0AC: 80451480 (dmaEnd)
// 802DB0B0: 80451484 (dmaCurrent)
// 802DB0B4: 80451494 (srcFile)
// 802DB0B8: 80451488 (srcOffset)
// 802DB0C0: 8045148C (transLeft)
// 802DB0C4: 80451498 (fileOffset)
// 802DB0CC: 8045149C (readCount)
// 802DB0D0: 804514A0 (maxDest)
// 802DB0E4: 804514AC (tsArea)
// 802DB0E8: 804514A8 (tsPtr)
// 802DB0F4: 802DB3E8 (firstSrcData__Fv)
// 802DB104: 802DB160 (decompSZS_subroutine__FPUcUl)
// 802DB114: 80451468 (szpBuf)
// 802DB11C: 802CE500 (free__7JKRHeapFPvP7JKRHeap)
// 802DB120: 80451470 (refBuf)
// 802DB128: 802CE500 (free__7JKRHeapFPvP7JKRHeap)
// 802DB12C: 8045147C (dmaBuf)
// 802DB134: 802CE500 (free__7JKRHeapFPvP7JKRHeap)
// 802DB138: 804343C0 (decompMutex)
// 802DB13C: 804343C0 (decompMutex)
// 802DB140: 8033F11C (OSUnlockMutex)
// 802DB14C: 80362214 (_restgpr_24)
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
// True False
// JKRDvdFile* False
// JKRDvdFile False
// u32 False
// u32 False
// u32 False
// u32 False
// u32 False
// u32* False
// u32 False
asm static void JKRDecompressFromDVDToAram(JKRDvdFile* param_0, u32 param_1, u32 param_2, u32 param_3, u32 param_4, u32 param_5, u32* param_6) {
nofralloc
#include "asm/JSystem/JKernel/JKRDvdAramRipper/JKRDecompressFromDVDToAram__FP10JKRDvdFileUlUlUlUlUlPUl.s"
}
#pragma pop
/* 802DB160-802DB3E8 0288+00 s=1 e=0 z=0 None .text decompSZS_subroutine__FPUcUl */
// 802DB170: 803621C4 (_savegpr_23)
// 802DB1C0: 80451498 (fileOffset)
// 802DB1D0: 804514A0 (maxDest)
// 802DB1F0: 80451490 (srcLimit)
// 802DB1FC: 8045148C (transLeft)
// 802DB20C: 802DB49C (nextSrcData__FPUc)
// 802DB228: 8045149C (readCount)
// 802DB22C: 80451498 (fileOffset)
// 802DB23C: 80451484 (dmaCurrent)
// 802DB244: 80451484 (dmaCurrent)
// 802DB24C: 80451484 (dmaCurrent)
// 802DB250: 80451480 (dmaEnd)
// 802DB268: 802DB580 (dmaBufferFlush__FUl)
// 802DB27C: 80451478 (refCurrent)
// 802DB284: 80451478 (refCurrent)
// 802DB28C: 80451478 (refCurrent)
// 802DB290: 80451474 (refEnd)
// 802DB29C: 80451470 (refBuf)
// 802DB2A0: 80451478 (refCurrent)
// 802DB2A4: 8045149C (readCount)
// 802DB2AC: 8045149C (readCount)
// 802DB2C8: 80451478 (refCurrent)
// 802DB2D4: 80451470 (refBuf)
// 802DB2E4: 80451474 (refEnd)
// 802DB30C: 8045149C (readCount)
// 802DB310: 80451498 (fileOffset)
// 802DB320: 80451484 (dmaCurrent)
// 802DB328: 80451484 (dmaCurrent)
// 802DB330: 80451484 (dmaCurrent)
// 802DB334: 80451480 (dmaEnd)
// 802DB34C: 802DB580 (dmaBufferFlush__FUl)
// 802DB360: 80451478 (refCurrent)
// 802DB368: 80451478 (refCurrent)
// 802DB370: 80451478 (refCurrent)
// 802DB374: 80451474 (refEnd)
// 802DB380: 80451470 (refBuf)
// 802DB384: 80451478 (refCurrent)
// 802DB394: 80451470 (refBuf)
// 802DB398: 8045149C (readCount)
// 802DB3A0: 8045149C (readCount)
// 802DB3C0: 802DB580 (dmaBufferFlush__FUl)
// 802DB3C4: 804514A8 (tsPtr)
// 802DB3D4: 80362210 (_restgpr_23)
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
// True False
// u8* False
// u8 False
// u32 False
asm static void decompSZS_subroutine(u8* param_0, u32 param_1) {
nofralloc
#include "asm/JSystem/JKernel/JKRDvdAramRipper/decompSZS_subroutine__FPUcUl.s"
}
#pragma pop
/* 802DB3E8-802DB49C 00B4+00 s=1 e=0 z=0 None .text firstSrcData__Fv */
// 802DB3FC: 8045146C (szpEnd)
// 802DB404: 80451490 (srcLimit)
// 802DB408: 80451468 (szpBuf)
// 802DB414: 8045148C (transLeft)
// 802DB428: 80451494 (srcFile)
// 802DB440: 80348E44 (DVDReadPrio)
// 802DB44C: 804508D0 (data_804508D0)
// 802DB460: 8034C9C4 (VIWaitForRetrace)
// 802DB468: 80451488 (srcOffset)
// 802DB470: 80451488 (srcOffset)
// 802DB474: 8045148C (transLeft)
// 802DB47C: 8045148C (transLeft)
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
// True False
asm static void firstSrcData() {
nofralloc
#include "asm/JSystem/JKernel/JKRDvdAramRipper/firstSrcData__Fv.s"
}
#pragma pop
/* 802DB49C-802DB580 00E4+00 s=1 e=0 z=0 None .text nextSrcData__FPUc */
// 802DB4AC: 803621DC (_savegpr_29)
// 802DB4B4: 8045146C (szpEnd)
// 802DB4C4: 80451468 (szpBuf)
// 802DB4D4: 80451468 (szpBuf)
// 802DB4E0: 80003540 (memcpy)
// 802DB4E8: 8045146C (szpEnd)
// 802DB4F0: 8045148C (transLeft)
// 802DB500: 80451494 (srcFile)
// 802DB510: 80451488 (srcOffset)
// 802DB518: 80348E44 (DVDReadPrio)
// 802DB524: 804508D0 (data_804508D0)
// 802DB538: 8034C9C4 (VIWaitForRetrace)
// 802DB540: 80451488 (srcOffset)
// 802DB548: 80451488 (srcOffset)
// 802DB54C: 8045148C (transLeft)
// 802DB554: 8045148C (transLeft)
// 802DB560: 80451490 (srcLimit)
// 802DB56C: 80362228 (_restgpr_29)
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
// True False
// u8* False
// u8 False
asm static void nextSrcData(u8* param_0) {
nofralloc
#include "asm/JSystem/JKernel/JKRDvdAramRipper/nextSrcData__FPUc.s"
}
#pragma pop
/* 802DB580-802DB5E8 0068+00 s=1 e=0 z=0 None .text dmaBufferFlush__FUl */
// 802DB594: 80451484 (dmaCurrent)
// 802DB598: 8045147C (dmaBuf)
// 802DB5C4: 802D3838 (orderSync__12JKRAramPieceFiUlUlUlP12JKRAramBlock)
// 802DB5C8: 8045147C (dmaBuf)
// 802DB5CC: 80451484 (dmaCurrent)
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
// True False
// u32 False
asm static void dmaBufferFlush(u32 param_0) {
nofralloc
#include "asm/JSystem/JKernel/JKRDvdAramRipper/dmaBufferFlush__FUl.s"
}
#pragma pop
/* 802DB5E8-802DB62C 0044+00 s=0 e=0 z=0 None .text __sinit_JKRDvdAramRipper_cpp */
// 802DB5F4: 804343B4 (sDvdAramAsyncList__16JKRDvdAramRipper)
// 802DB5F8: 804343B4 (sDvdAramAsyncList__16JKRDvdAramRipper)
// 802DB5FC: 802DBF14 (initiate__10JSUPtrListFv)
// 802DB600: 804343B4 (sDvdAramAsyncList__16JKRDvdAramRipper)
// 802DB604: 804343B4 (sDvdAramAsyncList__16JKRDvdAramRipper)
// 802DB608: 802DB62C (func_802DB62C)
// 802DB60C: 802DB62C (func_802DB62C)
// 802DB610: 804343A8 (lit_301)
// 802DB614: 804343A8 (lit_301)
// 802DB618: 80361C24 (__register_global_object)
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
// False False
extern "C" asm void __sinit_JKRDvdAramRipper_cpp() {
nofralloc
#include "asm/JSystem/JKernel/JKRDvdAramRipper/__sinit_JKRDvdAramRipper_cpp.s"
}
#pragma pop
#pragma push
#pragma force_active on
#pragma section ".ctors$15"
__declspec(section ".ctors$15") void* const _ctors_802DB5E8 = (void*)__sinit_JKRDvdAramRipper_cpp;
#pragma pop
/* 802DB62C-802DB680 0054+00 s=1 e=0 z=0 None .text __dt__23JSUList<12JKRADCommand>Fv */
// 802DB650: 802DBEAC (__dt__10JSUPtrListFv)
// 802DB660: 802CED3C (__dl__FPv)
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
// False True
asm JSUList__template10::~JSUList__template10() {
nofralloc
#include "asm/JSystem/JKernel/JKRDvdAramRipper/func_802DB62C.s"
}
#pragma pop