mirror of
https://github.com/TwilitRealm/dusklight
synced 2026-06-05 18:57:14 -04:00
816 lines
24 KiB
C++
816 lines
24 KiB
C++
//
|
|
// Generated By: dol2asm
|
|
// Translation Unit: JKRDvdRipper
|
|
//
|
|
|
|
#include "dol2asm.h"
|
|
#include "dolphin/types.h"
|
|
#include "JSystem/JKernel/JKRDvdRipper.h"
|
|
|
|
//
|
|
// Types:
|
|
//
|
|
|
|
struct JUTException {
|
|
/* 802E21FC */ // False False
|
|
// char const* False
|
|
// char const False
|
|
// char False
|
|
// int False
|
|
// char const* False
|
|
// char const False
|
|
// char False
|
|
// ... False
|
|
void panic_f(char const*, int, char const*, ...);
|
|
};
|
|
|
|
struct JSUPtrList {
|
|
/* 802DBEAC */ // False False
|
|
~JSUPtrList();
|
|
/* 802DBF14 */ // False False
|
|
void initiate();
|
|
};
|
|
|
|
template <typename A0>
|
|
struct JSUList { };
|
|
/* JSUList<JKRDMCommand> */
|
|
struct JSUList__template9 {
|
|
/* 802DA820 */ // False True
|
|
~JSUList__template9();
|
|
};
|
|
|
|
struct JKRHeap {
|
|
/* 802CE4D4 */ // False False
|
|
// u32 False
|
|
// int False
|
|
void alloc(u32, int);
|
|
/* 802CE474 */ // False False
|
|
// u32 False
|
|
// int False
|
|
// JKRHeap* False
|
|
// JKRHeap False
|
|
void alloc(u32, int, JKRHeap*);
|
|
/* 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();
|
|
/* 802D9850 */ // False False
|
|
// char const* False
|
|
// char const False
|
|
// char False
|
|
void open(char const*);
|
|
/* 802D98C4 */ // False False
|
|
// s32 False
|
|
void open(s32);
|
|
};
|
|
|
|
struct JKRDvdRipper {
|
|
struct EAllocDirection {
|
|
};
|
|
|
|
/* 802D9B98 */ // False False
|
|
// char const* False
|
|
// char const False
|
|
// char False
|
|
// u8* False
|
|
// u8 False
|
|
// JKRExpandSwitch False
|
|
// u32 False
|
|
// JKRHeap* False
|
|
// JKRHeap False
|
|
// JKRDvdRipper::EAllocDirection False
|
|
// u32 False
|
|
// int* False
|
|
// int False
|
|
// u32* False
|
|
// u32 False
|
|
void loadToMainRAM(char const*, u8*, JKRExpandSwitch, u32, JKRHeap*, JKRDvdRipper::EAllocDirection, u32, int*, u32*);
|
|
/* 802D9D10 */ // True False
|
|
// JKRDvdFile* False
|
|
// JKRDvdFile False
|
|
// u8* False
|
|
// u8 False
|
|
// JKRExpandSwitch False
|
|
// u32 False
|
|
// JKRHeap* False
|
|
// JKRHeap False
|
|
// JKRDvdRipper::EAllocDirection False
|
|
// u32 False
|
|
// int* False
|
|
// int False
|
|
// u32* False
|
|
// u32 False
|
|
void loadToMainRAM(JKRDvdFile*, u8*, JKRExpandSwitch, u32, JKRHeap*, JKRDvdRipper::EAllocDirection, u32, int*, u32*);
|
|
/* 802D9C54 */ // False False
|
|
// s32 False
|
|
// u8* False
|
|
// u8 False
|
|
// JKRExpandSwitch False
|
|
// u32 False
|
|
// JKRHeap* False
|
|
// JKRHeap False
|
|
// JKRDvdRipper::EAllocDirection False
|
|
// u32 False
|
|
// int* False
|
|
// int False
|
|
// u32* False
|
|
// u32 False
|
|
void loadToMainRAM(s32, u8*, JKRExpandSwitch, u32, JKRHeap*, JKRDvdRipper::EAllocDirection, u32, int*, u32*);
|
|
/* 802DA7D4 */ // True False
|
|
void isErrorRetry();
|
|
};
|
|
|
|
struct JKRDecomp {
|
|
/* 802DB988 */ // False False
|
|
// u8* False
|
|
// u8 False
|
|
// u8* False
|
|
// u8 False
|
|
// u32 False
|
|
// u32 False
|
|
void orderSync(u8*, u8*, u32, u32);
|
|
/* 802DBCF8 */ // False False
|
|
// u8* False
|
|
// u8 False
|
|
void checkCompressed(u8*);
|
|
};
|
|
|
|
//
|
|
// Forward References:
|
|
//
|
|
|
|
// True False
|
|
// JKRDvdFile* False
|
|
// JKRDvdFile False
|
|
// void* False
|
|
// void False
|
|
// u32 False
|
|
// u32 False
|
|
// u32 False
|
|
// u32 False
|
|
// u32* False
|
|
// u32 False
|
|
static void JKRDecompressFromDVD(JKRDvdFile*, void*, u32, u32, u32, u32, u32*);
|
|
// True False
|
|
// u8* False
|
|
// u8 False
|
|
// u8* False
|
|
// u8 False
|
|
static void decompSZS_subroutine(u8*, u8*);
|
|
// True False
|
|
static void firstSrcData();
|
|
// True False
|
|
// u8* False
|
|
// u8 False
|
|
static void nextSrcData(u8*);
|
|
|
|
// False False
|
|
// char const* False
|
|
// char const False
|
|
// char False
|
|
// u8* False
|
|
// u8 False
|
|
// JKRExpandSwitch False
|
|
// u32 False
|
|
// JKRHeap* False
|
|
// JKRHeap False
|
|
// JKRDvdRipper::EAllocDirection False
|
|
// u32 False
|
|
// int* False
|
|
// int False
|
|
// u32* False
|
|
// u32 False
|
|
extern "C" void loadToMainRAM__12JKRDvdRipperFPCcPUc15JKRExpandSwitchUlP7JKRHeapQ212JKRDvdRipper15EAllocDirectionUlPiPUl();
|
|
// False False
|
|
// s32 False
|
|
// u8* False
|
|
// u8 False
|
|
// JKRExpandSwitch False
|
|
// u32 False
|
|
// JKRHeap* False
|
|
// JKRHeap False
|
|
// JKRDvdRipper::EAllocDirection False
|
|
// u32 False
|
|
// int* False
|
|
// int False
|
|
// u32* False
|
|
// u32 False
|
|
extern "C" void loadToMainRAM__12JKRDvdRipperFlPUc15JKRExpandSwitchUlP7JKRHeapQ212JKRDvdRipper15EAllocDirectionUlPiPUl();
|
|
// True False
|
|
// JKRDvdFile* False
|
|
// JKRDvdFile False
|
|
// u8* False
|
|
// u8 False
|
|
// JKRExpandSwitch False
|
|
// u32 False
|
|
// JKRHeap* False
|
|
// JKRHeap False
|
|
// JKRDvdRipper::EAllocDirection False
|
|
// u32 False
|
|
// int* False
|
|
// int False
|
|
// u32* False
|
|
// u32 False
|
|
extern "C" void loadToMainRAM__12JKRDvdRipperFP10JKRDvdFilePUc15JKRExpandSwitchUlP7JKRHeapQ212JKRDvdRipper15EAllocDirectionUlPiPUl();
|
|
// True False
|
|
// JKRDvdFile* False
|
|
// JKRDvdFile False
|
|
// void* False
|
|
// void False
|
|
// u32 False
|
|
// u32 False
|
|
// u32 False
|
|
// u32 False
|
|
// u32* False
|
|
// u32 False
|
|
extern "C" static void JKRDecompressFromDVD__FP10JKRDvdFilePvUlUlUlUlPUl();
|
|
// True False
|
|
// u8* False
|
|
// u8 False
|
|
// u8* False
|
|
// u8 False
|
|
extern "C" static void decompSZS_subroutine__FPUcPUc();
|
|
// True False
|
|
extern "C" static void firstSrcData__Fv();
|
|
// True False
|
|
// u8* False
|
|
// u8 False
|
|
extern "C" static void nextSrcData__FPUc();
|
|
// True False
|
|
extern "C" void isErrorRetry__12JKRDvdRipperFv();
|
|
// False False
|
|
extern "C" void __sinit_JKRDvdRipper_cpp();
|
|
// False True
|
|
extern "C" void func_802DA820();
|
|
extern "C" extern char const* const JKRDvdRipper__stringBase0;
|
|
extern "C" extern u32 sSZSBufferSize__12JKRDvdRipper;
|
|
|
|
//
|
|
// External References:
|
|
//
|
|
|
|
// False False
|
|
// void False
|
|
// void* False
|
|
// void False
|
|
void operator delete(void*);
|
|
|
|
// False False
|
|
SECTION_INIT void memcpy();
|
|
// False False
|
|
// u32 False
|
|
// int False
|
|
// JKRHeap* False
|
|
// JKRHeap False
|
|
extern "C" void alloc__7JKRHeapFUliP7JKRHeap();
|
|
// 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
|
|
// void False
|
|
extern "C" void __dl__FPv();
|
|
// False False
|
|
extern "C" void __ct__10JKRDvdFileFv();
|
|
// False False
|
|
extern "C" void __dt__10JKRDvdFileFv();
|
|
// False False
|
|
// char const* False
|
|
// char const False
|
|
// char False
|
|
extern "C" void open__10JKRDvdFileFPCc();
|
|
// False False
|
|
// s32 False
|
|
extern "C" void open__10JKRDvdFileFl();
|
|
// False False
|
|
// u8* False
|
|
// u8 False
|
|
// u8* False
|
|
// u8 False
|
|
// u32 False
|
|
// u32 False
|
|
extern "C" void orderSync__9JKRDecompFPUcPUcUlUl();
|
|
// False False
|
|
// u8* False
|
|
// u8 False
|
|
extern "C" void checkCompressed__9JKRDecompFPUc();
|
|
// False False
|
|
extern "C" void __dt__10JSUPtrListFv();
|
|
// False False
|
|
extern "C" void initiate__10JSUPtrListFv();
|
|
// False False
|
|
// char const* False
|
|
// char const False
|
|
// char False
|
|
// int False
|
|
// char const* False
|
|
// char const False
|
|
// char False
|
|
// ... False
|
|
extern "C" void panic_f__12JUTExceptionFPCciPCce();
|
|
// False False
|
|
extern "C" void DCInvalidateRange();
|
|
// False False
|
|
extern "C" void DCStoreRangeNoSync();
|
|
// 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 DVDReadPrio();
|
|
// False False
|
|
extern "C" void VIWaitForRetrace();
|
|
// False False
|
|
extern "C" void __register_global_object();
|
|
// False False
|
|
extern "C" void _savegpr_18();
|
|
// False False
|
|
extern "C" void _savegpr_23();
|
|
// False False
|
|
extern "C" void _savegpr_24();
|
|
// False False
|
|
extern "C" void _savegpr_28();
|
|
// False False
|
|
extern "C" void _savegpr_29();
|
|
// False False
|
|
extern "C" void _restgpr_18();
|
|
// False False
|
|
extern "C" void _restgpr_23();
|
|
// False False
|
|
extern "C" void _restgpr_24();
|
|
// False False
|
|
extern "C" void _restgpr_28();
|
|
// False False
|
|
extern "C" void _restgpr_29();
|
|
extern "C" extern u8 sSystemHeap__7JKRHeap[4];
|
|
|
|
//
|
|
// Declarations:
|
|
//
|
|
|
|
/* 802D9B98-802D9C54 00BC+00 s=0 e=1 z=0 None .text loadToMainRAM__12JKRDvdRipperFPCcPUc15JKRExpandSwitchUlP7JKRHeapQ212JKRDvdRipper15EAllocDirectionUlPiPUl */
|
|
// 802D9BA8: 803621C4 (_savegpr_23)
|
|
// 802D9BD4: 802D9584 (__ct__10JKRDvdFileFv)
|
|
// 802D9BE0: 802D9850 (open__10JKRDvdFileFPCc)
|
|
// 802D9BF4: 802D9748 (__dt__10JKRDvdFileFv)
|
|
// 802D9C24: 802D9D10 (loadToMainRAM__12JKRDvdRipperFP10JKRDvdFilePUc15JKRExpandSwitchUlP7JKRHeapQ212JKRDvdRipper15EAllocDirectionUlPiPUl)
|
|
// 802D9C34: 802D9748 (__dt__10JKRDvdFileFv)
|
|
// 802D9C40: 80362210 (_restgpr_23)
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
// False False
|
|
// char const* False
|
|
// char const False
|
|
// char False
|
|
// u8* False
|
|
// u8 False
|
|
// JKRExpandSwitch False
|
|
// u32 False
|
|
// JKRHeap* False
|
|
// JKRHeap False
|
|
// JKRDvdRipper::EAllocDirection False
|
|
// u32 False
|
|
// int* False
|
|
// int False
|
|
// u32* False
|
|
// u32 False
|
|
asm void JKRDvdRipper::loadToMainRAM(char const* param_0, u8* param_1, JKRExpandSwitch param_2, u32 param_3, JKRHeap* param_4, JKRDvdRipper::EAllocDirection param_5, u32 param_6, int* param_7, u32* param_8) {
|
|
nofralloc
|
|
#include "asm/JSystem/JKernel/JKRDvdRipper/func_802D9B98.s"
|
|
}
|
|
#pragma pop
|
|
|
|
|
|
/* 802D9C54-802D9D10 00BC+00 s=0 e=9 z=0 None .text loadToMainRAM__12JKRDvdRipperFlPUc15JKRExpandSwitchUlP7JKRHeapQ212JKRDvdRipper15EAllocDirectionUlPiPUl */
|
|
// 802D9C64: 803621C4 (_savegpr_23)
|
|
// 802D9C90: 802D9584 (__ct__10JKRDvdFileFv)
|
|
// 802D9C9C: 802D98C4 (open__10JKRDvdFileFl)
|
|
// 802D9CB0: 802D9748 (__dt__10JKRDvdFileFv)
|
|
// 802D9CE0: 802D9D10 (loadToMainRAM__12JKRDvdRipperFP10JKRDvdFilePUc15JKRExpandSwitchUlP7JKRHeapQ212JKRDvdRipper15EAllocDirectionUlPiPUl)
|
|
// 802D9CF0: 802D9748 (__dt__10JKRDvdFileFv)
|
|
// 802D9CFC: 80362210 (_restgpr_23)
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
// False False
|
|
// s32 False
|
|
// u8* False
|
|
// u8 False
|
|
// JKRExpandSwitch False
|
|
// u32 False
|
|
// JKRHeap* False
|
|
// JKRHeap False
|
|
// JKRDvdRipper::EAllocDirection False
|
|
// u32 False
|
|
// int* False
|
|
// int False
|
|
// u32* False
|
|
// u32 False
|
|
asm void JKRDvdRipper::loadToMainRAM(s32 param_0, u8* param_1, JKRExpandSwitch param_2, u32 param_3, JKRHeap* param_4, JKRDvdRipper::EAllocDirection param_5, u32 param_6, int* param_7, u32* param_8) {
|
|
nofralloc
|
|
#include "asm/JSystem/JKernel/JKRDvdRipper/func_802D9C54.s"
|
|
}
|
|
#pragma pop
|
|
|
|
|
|
/* ############################################################################################## */
|
|
/* 8039D290-8039D2F0 0059+07 s=1 e=0 z=0 None .rodata @stringBase0 */
|
|
#pragma push
|
|
#pragma force_active on
|
|
#pragma section ".dead"
|
|
SECTION_DEAD char const* const stringBase_8039D290 = "JKRDvdRipper.cpp";
|
|
SECTION_DEAD char const* const stringBase_8039D2A1 = "%s";
|
|
SECTION_DEAD char const* const stringBase_8039D2A4 =
|
|
"Sorry, not applied for SZP archive.";
|
|
SECTION_DEAD char const* const stringBase_8039D2C8 =
|
|
"Not support SZP with offset read";
|
|
/* @stringBase0 padding */
|
|
SECTION_DEAD static char const* const pad_8039D2E9 = "\0\0\0\0\0\0";
|
|
#pragma pop
|
|
|
|
/* 804508C8-804508CC 0004+00 s=3 e=0 z=0 None .sdata None */
|
|
SECTION_SDATA static u32 data_804508C8 = 0x01000000;
|
|
|
|
/* 802D9D10-802DA1E4 04D4+00 s=2 e=0 z=0 None .text loadToMainRAM__12JKRDvdRipperFP10JKRDvdFilePUc15JKRExpandSwitchUlP7JKRHeapQ212JKRDvdRipper15EAllocDirectionUlPiPUl */
|
|
// 802D9D20: 803621B0 (_savegpr_18)
|
|
// 802D9D90: 80348E44 (DVDReadPrio)
|
|
// 802D9DA4: 804508C8 (data_804508C8)
|
|
// 802D9DB8: 8034C9C4 (VIWaitForRetrace)
|
|
// 802D9DC8: 8033B580 (DCInvalidateRange)
|
|
// 802D9DD0: 802DBCF8 (checkCompressed__9JKRDecompFPUc)
|
|
// 802D9E54: 802CE474 (alloc__7JKRHeapFUliP7JKRHeap)
|
|
// 802D9E84: 802CE474 (alloc__7JKRHeapFUliP7JKRHeap)
|
|
// 802D9EA4: 802CE500 (free__7JKRHeapFPvP7JKRHeap)
|
|
// 802D9EE4: 802CE474 (alloc__7JKRHeapFUliP7JKRHeap)
|
|
// 802D9F34: 80348E44 (DVDReadPrio)
|
|
// 802D9F48: 804508C8 (data_804508C8)
|
|
// 802D9F68: 802CE500 (free__7JKRHeapFPvP7JKRHeap)
|
|
// 802D9F74: 8034C9C4 (VIWaitForRetrace)
|
|
// 802D9F84: 8033B580 (DCInvalidateRange)
|
|
// 802D9F8C: 802DBCF8 (checkCompressed__9JKRDecompFPUc)
|
|
// 802D9FE4: 80348E44 (DVDReadPrio)
|
|
// 802D9FF8: 804508C8 (data_804508C8)
|
|
// 802DA018: 802CE500 (free__7JKRHeapFPvP7JKRHeap)
|
|
// 802DA024: 8034C9C4 (VIWaitForRetrace)
|
|
// 802DA064: 802DA1E4 (JKRDecompressFromDVD__FP10JKRDvdFilePvUlUlUlUlPUl)
|
|
// 802DA06C: 8039D290 (JKRDvdRipper__stringBase0)
|
|
// 802DA070: 8039D290 (JKRDvdRipper__stringBase0)
|
|
// 802DA084: 802E21FC (panic_f__12JUTExceptionFPCciPCce)
|
|
// 802DA0A0: 8039D290 (JKRDvdRipper__stringBase0)
|
|
// 802DA0A4: 8039D290 (JKRDvdRipper__stringBase0)
|
|
// 802DA0B8: 802E21FC (panic_f__12JUTExceptionFPCciPCce)
|
|
// 802DA0D0: 80348E44 (DVDReadPrio)
|
|
// 802DA0E4: 804508C8 (data_804508C8)
|
|
// 802DA104: 802CE500 (free__7JKRHeapFPvP7JKRHeap)
|
|
// 802DA110: 802CE500 (free__7JKRHeapFPvP7JKRHeap)
|
|
// 802DA11C: 8034C9C4 (VIWaitForRetrace)
|
|
// 802DA12C: 8033B580 (DCInvalidateRange)
|
|
// 802DA140: 802DB988 (orderSync__9JKRDecompFPUcPUcUlUl)
|
|
// 802DA14C: 802CE500 (free__7JKRHeapFPvP7JKRHeap)
|
|
// 802DA188: 802DA1E4 (JKRDecompressFromDVD__FP10JKRDvdFilePvUlUlUlUlPUl)
|
|
// 802DA1A4: 802CE500 (free__7JKRHeapFPvP7JKRHeap)
|
|
// 802DA1C4: 802CE500 (free__7JKRHeapFPvP7JKRHeap)
|
|
// 802DA1D0: 803621FC (_restgpr_18)
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
// True False
|
|
// JKRDvdFile* False
|
|
// JKRDvdFile False
|
|
// u8* False
|
|
// u8 False
|
|
// JKRExpandSwitch False
|
|
// u32 False
|
|
// JKRHeap* False
|
|
// JKRHeap False
|
|
// JKRDvdRipper::EAllocDirection False
|
|
// u32 False
|
|
// int* False
|
|
// int False
|
|
// u32* False
|
|
// u32 False
|
|
asm void JKRDvdRipper::loadToMainRAM(JKRDvdFile* param_0, u8* param_1, JKRExpandSwitch param_2, u32 param_3, JKRHeap* param_4, JKRDvdRipper::EAllocDirection param_5, u32 param_6, int* param_7, u32* param_8) {
|
|
nofralloc
|
|
#include "asm/JSystem/JKernel/JKRDvdRipper/func_802D9D10.s"
|
|
}
|
|
#pragma pop
|
|
|
|
|
|
/* ############################################################################################## */
|
|
/* 80434378-80434384 000C+00 s=1 e=0 z=0 None .bss @491 */
|
|
static u8 lit_491[12];
|
|
|
|
/* 80434384-80434390 000C+00 s=1 e=0 z=0 None .bss sDvdAsyncList__12JKRDvdRipper */
|
|
static u8 sDvdAsyncList__12JKRDvdRipper[12];
|
|
|
|
/* 80434390-804343A8 0018+00 s=1 e=0 z=0 None .bss decompMutex */
|
|
static u8 decompMutex[24];
|
|
|
|
/* 804508CC-804508D0 0004+00 s=1 e=1 z=0 None .sdata sSZSBufferSize__12JKRDvdRipper */
|
|
SECTION_SDATA u32 sSZSBufferSize__12JKRDvdRipper = 0x00000400;
|
|
|
|
/* 80451428-8045142C 0004+00 s=3 e=0 z=0 None .sbss szpBuf */
|
|
static u8 szpBuf[4];
|
|
|
|
/* 8045142C-80451430 0004+00 s=3 e=0 z=0 None .sbss szpEnd */
|
|
static u8 szpEnd[4];
|
|
|
|
/* 80451430-80451434 0004+00 s=2 e=0 z=0 None .sbss refBuf */
|
|
static u8 refBuf[4];
|
|
|
|
/* 80451434-80451438 0004+00 s=2 e=0 z=0 None .sbss refEnd */
|
|
static u8 refEnd[4];
|
|
|
|
/* 80451438-8045143C 0004+00 s=2 e=0 z=0 None .sbss refCurrent */
|
|
static u8 refCurrent[4];
|
|
|
|
/* 8045143C-80451440 0004+00 s=3 e=0 z=0 None .sbss srcOffset */
|
|
static u8 srcOffset[4];
|
|
|
|
/* 80451440-80451444 0004+00 s=4 e=0 z=0 None .sbss transLeft */
|
|
static u8 transLeft[4];
|
|
|
|
/* 80451444-80451448 0004+00 s=3 e=0 z=0 None .sbss srcLimit */
|
|
static u8 srcLimit[4];
|
|
|
|
/* 80451448-8045144C 0004+00 s=3 e=0 z=0 None .sbss srcFile */
|
|
static u8 srcFile[4];
|
|
|
|
/* 8045144C-80451450 0004+00 s=2 e=0 z=0 None .sbss fileOffset */
|
|
static u8 fileOffset[4];
|
|
|
|
/* 80451450-80451454 0004+00 s=2 e=0 z=0 None .sbss readCount */
|
|
static u8 readCount[4];
|
|
|
|
/* 80451454-80451458 0004+00 s=2 e=0 z=0 None .sbss maxDest */
|
|
static u8 maxDest[4];
|
|
|
|
/* 80451458-8045145C 0004+00 s=1 e=0 z=0 None .sbss None */
|
|
static u8 data_80451458[4];
|
|
|
|
/* 8045145C-80451460 0004+00 s=2 e=0 z=0 None .sbss tsPtr */
|
|
static u8 tsPtr[4];
|
|
|
|
/* 80451460-80451468 0004+04 s=1 e=0 z=0 None .sbss tsArea */
|
|
static u8 tsArea[4 + 4 /* padding */];
|
|
|
|
/* 802DA1E4-802DA35C 0178+00 s=1 e=0 z=0 None .text JKRDecompressFromDVD__FP10JKRDvdFilePvUlUlUlUlPUl */
|
|
// 802DA1F4: 803621C8 (_savegpr_24)
|
|
// 802DA214: 8033D6F4 (OSDisableInterrupts)
|
|
// 802DA21C: 80451458 (data_80451458)
|
|
// 802DA228: 80434390 (decompMutex)
|
|
// 802DA22C: 80434390 (decompMutex)
|
|
// 802DA230: 8033F008 (OSInitMutex)
|
|
// 802DA238: 80451458 (data_80451458)
|
|
// 802DA240: 8033D71C (OSRestoreInterrupts)
|
|
// 802DA244: 80434390 (decompMutex)
|
|
// 802DA248: 80434390 (decompMutex)
|
|
// 802DA24C: 8033F040 (OSLockMutex)
|
|
// 802DA250: 804508CC (sSZSBufferSize__12JKRDvdRipper)
|
|
// 802DA254: 80451370 (sSystemHeap__7JKRHeap)
|
|
// 802DA260: 802CE4D4 (alloc__7JKRHeapFUli)
|
|
// 802DA264: 80451428 (szpBuf)
|
|
// 802DA26C: 8045142C (szpEnd)
|
|
// 802DA278: 80451370 (sSystemHeap__7JKRHeap)
|
|
// 802DA284: 802CE4D4 (alloc__7JKRHeapFUli)
|
|
// 802DA288: 80451430 (refBuf)
|
|
// 802DA290: 80451434 (refEnd)
|
|
// 802DA294: 80451438 (refCurrent)
|
|
// 802DA2A0: 80451430 (refBuf)
|
|
// 802DA2A4: 80451448 (srcFile)
|
|
// 802DA2A8: 8045143C (srcOffset)
|
|
// 802DA2B0: 80451440 (transLeft)
|
|
// 802DA2B4: 8045144C (fileOffset)
|
|
// 802DA2BC: 80451450 (readCount)
|
|
// 802DA2C0: 80451454 (maxDest)
|
|
// 802DA2D4: 80451460 (tsArea)
|
|
// 802DA2D8: 8045145C (tsPtr)
|
|
// 802DA2E4: 802DA60C (firstSrcData__Fv)
|
|
// 802DA2F4: 802DA35C (decompSZS_subroutine__FPUcPUc)
|
|
// 802DA304: 80451428 (szpBuf)
|
|
// 802DA30C: 802CE500 (free__7JKRHeapFPvP7JKRHeap)
|
|
// 802DA310: 80451430 (refBuf)
|
|
// 802DA320: 802CE500 (free__7JKRHeapFPvP7JKRHeap)
|
|
// 802DA328: 8045145C (tsPtr)
|
|
// 802DA330: 8033B638 (DCStoreRangeNoSync)
|
|
// 802DA334: 80434390 (decompMutex)
|
|
// 802DA338: 80434390 (decompMutex)
|
|
// 802DA33C: 8033F11C (OSUnlockMutex)
|
|
// 802DA348: 80362214 (_restgpr_24)
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
// True False
|
|
// JKRDvdFile* False
|
|
// JKRDvdFile False
|
|
// void* False
|
|
// void False
|
|
// u32 False
|
|
// u32 False
|
|
// u32 False
|
|
// u32 False
|
|
// u32* False
|
|
// u32 False
|
|
asm static void JKRDecompressFromDVD(JKRDvdFile* param_0, void* param_1, u32 param_2, u32 param_3, u32 param_4, u32 param_5, u32* param_6) {
|
|
nofralloc
|
|
#include "asm/JSystem/JKernel/JKRDvdRipper/JKRDecompressFromDVD__FP10JKRDvdFilePvUlUlUlUlPUl.s"
|
|
}
|
|
#pragma pop
|
|
|
|
|
|
/* 802DA35C-802DA60C 02B0+00 s=1 e=0 z=0 None .text decompSZS_subroutine__FPUcPUc */
|
|
// 802DA36C: 803621DC (_savegpr_29)
|
|
// 802DA3B8: 8045144C (fileOffset)
|
|
// 802DA3C8: 80451454 (maxDest)
|
|
// 802DA3E8: 80451444 (srcLimit)
|
|
// 802DA3F4: 80451440 (transLeft)
|
|
// 802DA400: 802DA6D8 (nextSrcData__FPUc)
|
|
// 802DA428: 8045144C (fileOffset)
|
|
// 802DA434: 80451450 (readCount)
|
|
// 802DA45C: 80451438 (refCurrent)
|
|
// 802DA464: 80451438 (refCurrent)
|
|
// 802DA46C: 80451438 (refCurrent)
|
|
// 802DA470: 80451434 (refEnd)
|
|
// 802DA47C: 80451430 (refBuf)
|
|
// 802DA480: 80451438 (refCurrent)
|
|
// 802DA4A8: 80451450 (readCount)
|
|
// 802DA4B0: 80451450 (readCount)
|
|
// 802DA4C8: 8045144C (fileOffset)
|
|
// 802DA4D8: 80451438 (refCurrent)
|
|
// 802DA4E4: 80451430 (refBuf)
|
|
// 802DA4F0: 80451434 (refEnd)
|
|
// 802DA52C: 80451450 (readCount)
|
|
// 802DA530: 8045144C (fileOffset)
|
|
// 802DA558: 80451438 (refCurrent)
|
|
// 802DA560: 80451438 (refCurrent)
|
|
// 802DA568: 80451438 (refCurrent)
|
|
// 802DA56C: 80451434 (refEnd)
|
|
// 802DA578: 80451430 (refBuf)
|
|
// 802DA57C: 80451438 (refCurrent)
|
|
// 802DA58C: 80451430 (refBuf)
|
|
// 802DA590: 80451450 (readCount)
|
|
// 802DA598: 80451450 (readCount)
|
|
// 802DA5C0: 80451450 (readCount)
|
|
// 802DA5C8: 80451450 (readCount)
|
|
// 802DA5E8: 8045145C (tsPtr)
|
|
// 802DA5F8: 80362228 (_restgpr_29)
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
// True False
|
|
// u8* False
|
|
// u8 False
|
|
// u8* False
|
|
// u8 False
|
|
asm static void decompSZS_subroutine(u8* param_0, u8* param_1) {
|
|
nofralloc
|
|
#include "asm/JSystem/JKernel/JKRDvdRipper/decompSZS_subroutine__FPUcPUc.s"
|
|
}
|
|
#pragma pop
|
|
|
|
|
|
/* 802DA60C-802DA6D8 00CC+00 s=1 e=0 z=0 None .text firstSrcData__Fv */
|
|
// 802DA61C: 803621DC (_savegpr_29)
|
|
// 802DA620: 8045142C (szpEnd)
|
|
// 802DA628: 80451444 (srcLimit)
|
|
// 802DA62C: 80451428 (szpBuf)
|
|
// 802DA638: 80451440 (transLeft)
|
|
// 802DA650: 80451448 (srcFile)
|
|
// 802DA660: 8045143C (srcOffset)
|
|
// 802DA668: 80348E44 (DVDReadPrio)
|
|
// 802DA67C: 804508C8 (data_804508C8)
|
|
// 802DA690: 8034C9C4 (VIWaitForRetrace)
|
|
// 802DA6A0: 8033B580 (DCInvalidateRange)
|
|
// 802DA6A4: 8045143C (srcOffset)
|
|
// 802DA6AC: 8045143C (srcOffset)
|
|
// 802DA6B0: 80451440 (transLeft)
|
|
// 802DA6B8: 80451440 (transLeft)
|
|
// 802DA6C4: 80362228 (_restgpr_29)
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
// True False
|
|
asm static void firstSrcData() {
|
|
nofralloc
|
|
#include "asm/JSystem/JKernel/JKRDvdRipper/firstSrcData__Fv.s"
|
|
}
|
|
#pragma pop
|
|
|
|
|
|
/* 802DA6D8-802DA7D4 00FC+00 s=1 e=0 z=0 None .text nextSrcData__FPUc */
|
|
// 802DA6E8: 803621D8 (_savegpr_28)
|
|
// 802DA6F0: 8045142C (szpEnd)
|
|
// 802DA700: 80451428 (szpBuf)
|
|
// 802DA710: 80451428 (szpBuf)
|
|
// 802DA71C: 80003540 (memcpy)
|
|
// 802DA724: 8045142C (szpEnd)
|
|
// 802DA72C: 80451440 (transLeft)
|
|
// 802DA73C: 802DA7D4 (isErrorRetry__12JKRDvdRipperFv)
|
|
// 802DA740: 802DA7D4 (isErrorRetry__12JKRDvdRipperFv)
|
|
// 802DA744: 80451448 (srcFile)
|
|
// 802DA754: 8045143C (srcOffset)
|
|
// 802DA75C: 80348E44 (DVDReadPrio)
|
|
// 802DA780: 8034C9C4 (VIWaitForRetrace)
|
|
// 802DA790: 8033B580 (DCInvalidateRange)
|
|
// 802DA794: 8045143C (srcOffset)
|
|
// 802DA79C: 8045143C (srcOffset)
|
|
// 802DA7A0: 80451440 (transLeft)
|
|
// 802DA7A8: 80451440 (transLeft)
|
|
// 802DA7B4: 80451444 (srcLimit)
|
|
// 802DA7C0: 80362224 (_restgpr_28)
|
|
#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/JKRDvdRipper/nextSrcData__FPUc.s"
|
|
}
|
|
#pragma pop
|
|
|
|
|
|
/* 802DA7D4-802DA7DC 0008+00 s=1 e=0 z=0 None .text isErrorRetry__12JKRDvdRipperFv */
|
|
// 802DA7D4: 804508C8 (data_804508C8)
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
// True False
|
|
asm void JKRDvdRipper::isErrorRetry() {
|
|
nofralloc
|
|
#include "asm/JSystem/JKernel/JKRDvdRipper/isErrorRetry__12JKRDvdRipperFv.s"
|
|
}
|
|
#pragma pop
|
|
|
|
|
|
/* 802DA7DC-802DA820 0044+00 s=0 e=0 z=0 None .text __sinit_JKRDvdRipper_cpp */
|
|
// 802DA7E8: 80434384 (sDvdAsyncList__12JKRDvdRipper)
|
|
// 802DA7EC: 80434384 (sDvdAsyncList__12JKRDvdRipper)
|
|
// 802DA7F0: 802DBF14 (initiate__10JSUPtrListFv)
|
|
// 802DA7F4: 80434384 (sDvdAsyncList__12JKRDvdRipper)
|
|
// 802DA7F8: 80434384 (sDvdAsyncList__12JKRDvdRipper)
|
|
// 802DA7FC: 802DA820 (func_802DA820)
|
|
// 802DA800: 802DA820 (func_802DA820)
|
|
// 802DA804: 80434378 (lit_491)
|
|
// 802DA808: 80434378 (lit_491)
|
|
// 802DA80C: 80361C24 (__register_global_object)
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
// False False
|
|
extern "C" asm void __sinit_JKRDvdRipper_cpp() {
|
|
nofralloc
|
|
#include "asm/JSystem/JKernel/JKRDvdRipper/__sinit_JKRDvdRipper_cpp.s"
|
|
}
|
|
#pragma pop
|
|
|
|
#pragma push
|
|
#pragma force_active on
|
|
#pragma section ".ctors$15"
|
|
__declspec(section ".ctors$15") void* const _ctors_802DA7DC = (void*)__sinit_JKRDvdRipper_cpp;
|
|
#pragma pop
|
|
|
|
|
|
/* 802DA820-802DA874 0054+00 s=1 e=0 z=0 None .text __dt__23JSUList<12JKRDMCommand>Fv */
|
|
// 802DA844: 802DBEAC (__dt__10JSUPtrListFv)
|
|
// 802DA854: 802CED3C (__dl__FPv)
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
// False True
|
|
asm JSUList__template9::~JSUList__template9() {
|
|
nofralloc
|
|
#include "asm/JSystem/JKernel/JKRDvdRipper/func_802DA820.s"
|
|
}
|
|
#pragma pop
|
|
|
|
|