// // Generated By: dol2asm // Translation Unit: JKRDvdAramRipper // #include "JSystem/JKernel/JKRDvdAramRipper.h" #include "dol2asm.h" #include "dolphin/types.h" // // Types: // struct JSUPtrLink { /* 802DBDFC */ JSUPtrLink(void*); /* 802DBE14 */ ~JSUPtrLink(); }; struct JSUPtrList { /* 802DBEAC */ ~JSUPtrList(); /* 802DBF14 */ void initiate(); /* 802DBF4C */ void append(JSUPtrLink*); /* 802DC15C */ void remove(JSUPtrLink*); }; template struct JSUList {}; /* JSUList */ struct JSUList__template10 { /* 802DB62C */ ~JSUList__template10(); }; struct JSUInputStream { /* 802DC23C */ ~JSUInputStream(); }; struct JKRFile {}; struct JSUFileInputStream { /* 802DADD8 */ ~JSUFileInputStream(); /* 802DC638 */ JSUFileInputStream(JKRFile*); }; struct JKRHeap { /* 802CE4D4 */ void alloc(u32, int); /* 802CE500 */ void free(void*, JKRHeap*); }; struct JKRExpandSwitch {}; struct JKRDvdFile { /* 802D9584 */ JKRDvdFile(); /* 802D9748 */ ~JKRDvdFile(); /* 802D98C4 */ void open(s32); }; struct JKRADCommand { /* 802DAF1C */ JKRADCommand(); /* 802DAF5C */ ~JKRADCommand(); }; struct JKRDvdAramRipper { /* 802DA874 */ void loadToAram(s32, u32, JKRExpandSwitch, u32, u32, u32*); /* 802DA918 */ void loadToAram(JKRDvdFile*, u32, JKRExpandSwitch, u32, u32, u32*); /* 802DA9C0 */ void loadToAram_Async(JKRDvdFile*, u32, JKRExpandSwitch, void (*)(u32), u32, u32, u32*); /* 802DAA74 */ void callCommand_Async(JKRADCommand*); /* 802DAE48 */ void syncAram(JKRADCommand*, int); }; struct JKRDecomp { /* 802DBCF8 */ void checkCompressed(u8*); }; struct JKRAramStreamCommand {}; struct JKRAramStream { /* 802D3ED0 */ void write_StreamToAram_Async(JSUFileInputStream*, u32, u32, u32, u32*); /* 802D3FA0 */ void sync(JKRAramStreamCommand*, int); }; struct JKRAramBlock {}; struct JKRAramPiece { /* 802D3838 */ void orderSync(int, u32, u32, u32, JKRAramBlock*); }; struct JKRAramHeap { struct EAllocMode {}; /* 802D2FBC */ void alloc(u32, JKRAramHeap::EAllocMode); }; // // Forward References: // static void JKRDecompressFromDVDToAram(JKRDvdFile*, u32, u32, u32, u32, u32, u32*); static void decompSZS_subroutine(u8*, u32); static void firstSrcData(); static void nextSrcData(u8*); static void dmaBufferFlush(u32); extern "C" void loadToAram__16JKRDvdAramRipperFlUl15JKRExpandSwitchUlUlPUl(); extern "C" void loadToAram__16JKRDvdAramRipperFP10JKRDvdFileUl15JKRExpandSwitchUlUlPUl(); extern "C" void loadToAram_Async__16JKRDvdAramRipperFP10JKRDvdFileUl15JKRExpandSwitchPFUl_vUlUlPUl(); extern "C" void callCommand_Async__16JKRDvdAramRipperFP12JKRADCommand(); extern "C" void __dt__18JSUFileInputStreamFv(); extern "C" void syncAram__16JKRDvdAramRipperFP12JKRADCommandi(); extern "C" void __ct__12JKRADCommandFv(); extern "C" void __dt__12JKRADCommandFv(); extern "C" static void JKRDecompressFromDVDToAram__FP10JKRDvdFileUlUlUlUlUlPUl(); extern "C" static void decompSZS_subroutine__FPUcUl(); extern "C" static void firstSrcData__Fv(); extern "C" static void nextSrcData__FPUc(); extern "C" static void dmaBufferFlush__FUl(); extern "C" void __sinit_JKRDvdAramRipper_cpp(); extern "C" void func_802DB62C(); extern "C" extern u32 sSZSBufferSize__16JKRDvdAramRipper; // // External References: // void* operator new(u32, JKRHeap*, int); void operator delete(void*); SECTION_INIT void memcpy(); extern "C" void alloc__7JKRHeapFUli(); extern "C" void free__7JKRHeapFPvP7JKRHeap(); extern "C" void* __nw__FUlP7JKRHeapi(); extern "C" void __dl__FPv(); extern "C" void alloc__11JKRAramHeapFUlQ211JKRAramHeap10EAllocMode(); extern "C" void orderSync__12JKRAramPieceFiUlUlUlP12JKRAramBlock(); extern "C" void write_StreamToAram_Async__13JKRAramStreamFP18JSUFileInputStreamUlUlUlPUl(); extern "C" void sync__13JKRAramStreamFP20JKRAramStreamCommandi(); extern "C" void __ct__10JKRDvdFileFv(); extern "C" void __dt__10JKRDvdFileFv(); extern "C" void open__10JKRDvdFileFl(); extern "C" void checkCompressed__9JKRDecompFPUc(); extern "C" void __ct__10JSUPtrLinkFPv(); extern "C" void __dt__10JSUPtrLinkFv(); extern "C" void __dt__10JSUPtrListFv(); extern "C" void initiate__10JSUPtrListFv(); extern "C" void append__10JSUPtrListFP10JSUPtrLink(); extern "C" void remove__10JSUPtrListFP10JSUPtrLink(); extern "C" void __dt__14JSUInputStreamFv(); extern "C" void __ct__18JSUFileInputStreamFP7JKRFile(); extern "C" void DCInvalidateRange(); extern "C" void OSDisableInterrupts(); extern "C" void OSRestoreInterrupts(); extern "C" void OSInitMutex(); extern "C" void OSLockMutex(); extern "C" void OSUnlockMutex(); extern "C" void OSGetCurrentThread(); extern "C" void DVDReadPrio(); extern "C" void VIWaitForRetrace(); extern "C" void __register_global_object(); extern "C" void _savegpr_23(); extern "C" void _savegpr_24(); extern "C" void _savegpr_25(); extern "C" void _savegpr_26(); extern "C" void _savegpr_29(); extern "C" void _restgpr_23(); extern "C" void _restgpr_24(); extern "C" void _restgpr_25(); extern "C" void _restgpr_26(); 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 */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off 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 */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off 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 */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off 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 */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off 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 */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off 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 */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off 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 */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off 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 */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off 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 */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off 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 */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off 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 */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off 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 */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off 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 */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off 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=1 z=0 None .text __sinit_JKRDvdAramRipper_cpp */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off extern "C" asm void __sinit_JKRDvdAramRipper_cpp() { nofralloc #include "asm/JSystem/JKernel/JKRDvdAramRipper/__sinit_JKRDvdAramRipper_cpp.s" } #pragma pop /* 802DB62C-802DB680 0054+00 s=1 e=0 z=0 None .text __dt__23JSUList<12JKRADCommand>Fv */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm JSUList__template10::~JSUList__template10() { nofralloc #include "asm/JSystem/JKernel/JKRDvdAramRipper/func_802DB62C.s" } #pragma pop