mirror of
https://github.com/TwilitRealm/dusklight
synced 2026-05-26 15:24:30 -04:00
Merge branch 'master' of https://github.com/zeldaret/tp
This commit is contained in:
@@ -1,15 +1,12 @@
|
||||
#ifndef __JKRARAM_H__
|
||||
#define __JKRARAM_H__
|
||||
|
||||
#include "JSystem/JKernel/JKRAramHeap/JKRAramHeap.h"
|
||||
#include "JSystem/JKernel/JKRDvdRipper/JKRDvdRipper.h"
|
||||
#include "JSystem/JKernel/JKRThread/JKRThread.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
// JKRExpandSwitch
|
||||
#include "JSystem/JKernel/JKRDvdRipper/JKRDvdRipper.h"
|
||||
#include "global.h"
|
||||
|
||||
#include "JSystem/JKernel/JKRAramHeap/JKRAramHeap.h"
|
||||
|
||||
class JKRHeap;
|
||||
class JKRAramBlock;
|
||||
class JKRAram : public JKRThread {
|
||||
@@ -20,30 +17,33 @@ private:
|
||||
/* vt[03] */ void* run(void); /* override */
|
||||
|
||||
public:
|
||||
void* getAudioMemory() { return this->mAudioMemoryPtr; }
|
||||
u32 getAudioMemSize() { return this->mAudioMemorySize; }
|
||||
u32 getAudioMemory() const { return mAudioMemoryPtr; }
|
||||
u32 getAudioMemSize() const { return mAudioMemorySize; }
|
||||
u32 getGraphMemory() const { return mGraphMemoryPtr; }
|
||||
u32 getGraphMemSize() const { return mGraphMemorySize; }
|
||||
|
||||
private:
|
||||
void* mAudioMemoryPtr;
|
||||
u32 mAudioMemorySize;
|
||||
void* mGraphMemoryPtr;
|
||||
u32 mGraphMemorySize;
|
||||
void* mAramMemoryPtr;
|
||||
u32 mAramMemorySize;
|
||||
JKRAramHeap* mAramHeap;
|
||||
u32 field_0x9c;
|
||||
u32 field_0xa0;
|
||||
/* 0x00 */ // vtable
|
||||
/* 0x04 */ // JKRThread
|
||||
/* 0x7C */ u32 mAudioMemoryPtr;
|
||||
/* 0x80 */ u32 mAudioMemorySize;
|
||||
/* 0x84 */ u32 mGraphMemoryPtr;
|
||||
/* 0x88 */ u32 mGraphMemorySize;
|
||||
/* 0x8C */ u32 mAramMemoryPtr;
|
||||
/* 0x90 */ u32 mAramMemorySize;
|
||||
/* 0x94 */ JKRAramHeap* mAramHeap;
|
||||
/* 0x98 */ u32 mStackArray[3];
|
||||
|
||||
public:
|
||||
static void create(u32, u32, long, long, long);
|
||||
static JKRAram* create(u32, u32, long, long, long);
|
||||
static void checkOkAddress(u8*, u32, JKRAramBlock*, u32);
|
||||
static void changeGroupIdIfNeed(u8*, int);
|
||||
static void mainRamToAram(u8*, u32, u32, JKRExpandSwitch, u32, JKRHeap*, int, u32*);
|
||||
static void aramToMainRam(u32, u8*, u32, JKRExpandSwitch, u32, JKRHeap*, int, u32*);
|
||||
|
||||
static JKRAram* getManager() { return lbl_804513C8; }
|
||||
|
||||
static JKRAram* getManager() { return sAramObject; }
|
||||
static JKRAramHeap* getAramHeap() { return getManager()->mAramHeap; }
|
||||
static JSUList<JKRAMCommand>& getCommandList() { return sAramCommandList; }
|
||||
|
||||
static u8 decideAramGroupId(int groupId) {
|
||||
JKRAramHeap* heap;
|
||||
@@ -56,14 +56,17 @@ public:
|
||||
return (u8)groupId;
|
||||
}
|
||||
|
||||
static u32 getSZSBufferSize() { return lbl_804508B8; }
|
||||
static u32 getSZSBufferSize() { return sSZSBufferSize; }
|
||||
static void setSZSBufferSize(u32 size) { sSZSBufferSize = size; }
|
||||
|
||||
void setSZSBufferSize(u32 size) { lbl_804508B8 = size; }
|
||||
private:
|
||||
static JKRAram* sAramObject;
|
||||
static u32 sSZSBufferSize;
|
||||
static OSMessage sMessageBuffer[4];
|
||||
static OSMessageQueue sMessageQueue;
|
||||
static JSUList<JKRAMCommand> sAramCommandList;
|
||||
};
|
||||
|
||||
void JKRDecompressFromAramToMainRam(u32, void*, u32, u32, u32, u32*);
|
||||
static void decompSZS_subroutine(u8*, u8*);
|
||||
static void firstSrcData(void);
|
||||
static void nextSrcData(u8*);
|
||||
|
||||
#endif
|
||||
|
||||
@@ -10,11 +10,11 @@
|
||||
/* 802D1FC0 002CEF00 7C BD 2B 78 */ mr r29, r5
|
||||
/* 802D1FC4 002CEF04 7C DE 33 78 */ mr r30, r6
|
||||
/* 802D1FC8 002CEF08 7C FF 3B 78 */ mr r31, r7
|
||||
/* 802D1FCC 002CEF0C 80 0D 8E 48 */ lwz r0, lbl_804513C8-_SDA_BASE_(r13)
|
||||
/* 802D1FCC 002CEF0C 80 0D 8E 48 */ lwz r0, sAramObject__7JKRAram-_SDA_BASE_(r13)
|
||||
/* 802D1FD0 002CEF10 28 00 00 00 */ cmplwi r0, 0
|
||||
/* 802D1FD4 002CEF14 40 82 00 34 */ bne lbl_802D2008
|
||||
/* 802D1FD8 002CEF18 38 60 00 A4 */ li r3, 0xa4
|
||||
/* 802D1FDC 002CEF1C 80 8D 8D F0 */ lwz r4, lbl_80451370-_SDA_BASE_(r13)
|
||||
/* 802D1FDC 002CEF1C 80 8D 8D F0 */ lwz r4, sSystemHeap__7JKRHeap-_SDA_BASE_(r13)
|
||||
/* 802D1FE0 002CEF20 38 A0 00 00 */ li r5, 0
|
||||
/* 802D1FE4 002CEF24 4B FF CC B5 */ bl __nw__FUlP7JKRHeapi
|
||||
/* 802D1FE8 002CEF28 7C 60 1B 79 */ or. r0, r3, r3
|
||||
@@ -25,16 +25,16 @@
|
||||
/* 802D1FFC 002CEF3C 48 00 00 45 */ bl __ct__7JKRAramFUlUll
|
||||
/* 802D2000 002CEF40 7C 60 1B 78 */ mr r0, r3
|
||||
lbl_802D2004:
|
||||
/* 802D2004 002CEF44 90 0D 8E 48 */ stw r0, lbl_804513C8-_SDA_BASE_(r13)
|
||||
/* 802D2004 002CEF44 90 0D 8E 48 */ stw r0, sAramObject__7JKRAram-_SDA_BASE_(r13)
|
||||
lbl_802D2008:
|
||||
/* 802D2008 002CEF48 7F A3 EB 78 */ mr r3, r29
|
||||
/* 802D200C 002CEF4C 48 00 1B 3D */ bl create__13JKRAramStreamFl
|
||||
/* 802D2010 002CEF50 7F C3 F3 78 */ mr r3, r30
|
||||
/* 802D2014 002CEF54 48 00 96 6D */ bl create__9JKRDecompFl
|
||||
/* 802D2018 002CEF58 80 6D 8E 48 */ lwz r3, lbl_804513C8-_SDA_BASE_(r13)
|
||||
/* 802D2018 002CEF58 80 6D 8E 48 */ lwz r3, sAramObject__7JKRAram-_SDA_BASE_(r13)
|
||||
/* 802D201C 002CEF5C 80 63 00 2C */ lwz r3, 0x2c(r3)
|
||||
/* 802D2020 002CEF60 48 06 F7 95 */ bl OSResumeThread
|
||||
/* 802D2024 002CEF64 80 6D 8E 48 */ lwz r3, lbl_804513C8-_SDA_BASE_(r13)
|
||||
/* 802D2024 002CEF64 80 6D 8E 48 */ lwz r3, sAramObject__7JKRAram-_SDA_BASE_(r13)
|
||||
/* 802D2028 002CEF68 39 61 00 20 */ addi r11, r1, 0x20
|
||||
/* 802D202C 002CEF6C 48 09 01 F5 */ bl _restgpr_27
|
||||
/* 802D2030 002CEF70 80 01 00 24 */ lwz r0, 0x24(r1)
|
||||
|
||||
@@ -54,7 +54,7 @@ lbl_802D20FC:
|
||||
/* 802D2100 002CF040 90 1C 00 8C */ stw r0, 0x8c(r28)
|
||||
lbl_802D2104:
|
||||
/* 802D2104 002CF044 38 60 00 44 */ li r3, 0x44
|
||||
/* 802D2108 002CF048 80 8D 8D F0 */ lwz r4, lbl_80451370-_SDA_BASE_(r13)
|
||||
/* 802D2108 002CF048 80 8D 8D F0 */ lwz r4, sSystemHeap__7JKRHeap-_SDA_BASE_(r13)
|
||||
/* 802D210C 002CF04C 38 A0 00 00 */ li r5, 0
|
||||
/* 802D2110 002CF050 4B FF CB 89 */ bl __nw__FUlP7JKRHeapi
|
||||
/* 802D2114 002CF054 7C 60 1B 79 */ or. r0, r3, r3
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
/* 802D2170 002CF0B0 38 03 C1 58 */ addi r0, r3, lbl_803CC158@l
|
||||
/* 802D2174 002CF0B4 90 1E 00 00 */ stw r0, 0(r30)
|
||||
/* 802D2178 002CF0B8 38 00 00 00 */ li r0, 0
|
||||
/* 802D217C 002CF0BC 90 0D 8E 48 */ stw r0, lbl_804513C8-_SDA_BASE_(r13)
|
||||
/* 802D217C 002CF0BC 90 0D 8E 48 */ stw r0, sAramObject__7JKRAram-_SDA_BASE_(r13)
|
||||
/* 802D2180 002CF0C0 80 7E 00 94 */ lwz r3, 0x94(r30)
|
||||
/* 802D2184 002CF0C4 28 03 00 00 */ cmplwi r3, 0
|
||||
/* 802D2188 002CF0C8 41 82 00 1C */ beq lbl_802D21A4
|
||||
|
||||
@@ -5,14 +5,14 @@
|
||||
/* 802D21E4 002CF124 90 01 00 24 */ stw r0, 0x24(r1)
|
||||
/* 802D21E8 002CF128 39 61 00 20 */ addi r11, r1, 0x20
|
||||
/* 802D21EC 002CF12C 48 08 FF F1 */ bl _savegpr_29
|
||||
/* 802D21F0 002CF130 3C 60 80 3D */ lis r3, lbl_803CC138@ha
|
||||
/* 802D21F4 002CF134 38 63 C1 38 */ addi r3, r3, lbl_803CC138@l
|
||||
/* 802D21F8 002CF138 3C 80 80 3D */ lis r4, lbl_803CC128@ha
|
||||
/* 802D21FC 002CF13C 38 84 C1 28 */ addi r4, r4, lbl_803CC128@l
|
||||
/* 802D21F0 002CF130 3C 60 80 3D */ lis r3, sMessageQueue__7JKRAram@ha
|
||||
/* 802D21F4 002CF134 38 63 C1 38 */ addi r3, r3, sMessageQueue__7JKRAram@l
|
||||
/* 802D21F8 002CF138 3C 80 80 3D */ lis r4, sMessageBuffer__7JKRAram@ha
|
||||
/* 802D21FC 002CF13C 38 84 C1 28 */ addi r4, r4, sMessageBuffer__7JKRAram@l
|
||||
/* 802D2200 002CF140 38 A0 00 04 */ li r5, 4
|
||||
/* 802D2204 002CF144 48 06 C7 91 */ bl OSInitMessageQueue
|
||||
/* 802D2208 002CF148 3C 60 80 3D */ lis r3, lbl_803CC138@ha
|
||||
/* 802D220C 002CF14C 3B E3 C1 38 */ addi r31, r3, lbl_803CC138@l
|
||||
/* 802D2208 002CF148 3C 60 80 3D */ lis r3, sMessageQueue__7JKRAram@ha
|
||||
/* 802D220C 002CF14C 3B E3 C1 38 */ addi r31, r3, sMessageQueue__7JKRAram@l
|
||||
lbl_802D2210:
|
||||
/* 802D2210 002CF150 7F E3 FB 78 */ mr r3, r31
|
||||
/* 802D2214 002CF154 38 81 00 08 */ addi r4, r1, 8
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
/* 802D22EC 002CF22C 93 C1 00 08 */ stw r30, 8(r1)
|
||||
/* 802D22F0 002CF230 7C 7E 1B 78 */ mr r30, r3
|
||||
/* 802D22F4 002CF234 7C 9F 23 78 */ mr r31, r4
|
||||
/* 802D22F8 002CF238 80 6D 8D F4 */ lwz r3, lbl_80451374-_SDA_BASE_(r13)
|
||||
/* 802D22F8 002CF238 80 6D 8D F4 */ lwz r3, sCurrentHeap__7JKRHeap-_SDA_BASE_(r13)
|
||||
/* 802D22FC 002CF23C 81 83 00 00 */ lwz r12, 0(r3)
|
||||
/* 802D2300 002CF240 81 8C 00 10 */ lwz r12, 0x10(r12)
|
||||
/* 802D2304 002CF244 7D 89 03 A6 */ mtctr r12
|
||||
|
||||
@@ -48,7 +48,7 @@ lbl_802D23DC:
|
||||
lbl_802D23E4:
|
||||
/* 802D23E4 002CF324 28 18 00 00 */ cmplwi r24, 0
|
||||
/* 802D23E8 002CF328 40 82 00 50 */ bne lbl_802D2438
|
||||
/* 802D23EC 002CF32C 80 6D 8E 48 */ lwz r3, lbl_804513C8-_SDA_BASE_(r13)
|
||||
/* 802D23EC 002CF32C 80 6D 8E 48 */ lwz r3, sAramObject__7JKRAram-_SDA_BASE_(r13)
|
||||
/* 802D23F0 002CF330 80 63 00 94 */ lwz r3, 0x94(r3)
|
||||
/* 802D23F4 002CF334 7F 24 CB 78 */ mr r4, r25
|
||||
/* 802D23F8 002CF338 38 A0 00 00 */ li r5, 0
|
||||
@@ -61,7 +61,7 @@ lbl_802D23E4:
|
||||
lbl_802D2414:
|
||||
/* 802D2414 002CF354 2C 1B 00 00 */ cmpwi r27, 0
|
||||
/* 802D2418 002CF358 40 80 00 14 */ bge lbl_802D242C
|
||||
/* 802D241C 002CF35C 80 8D 8E 48 */ lwz r4, lbl_804513C8-_SDA_BASE_(r13)
|
||||
/* 802D241C 002CF35C 80 8D 8E 48 */ lwz r4, sAramObject__7JKRAram-_SDA_BASE_(r13)
|
||||
/* 802D2420 002CF360 80 84 00 94 */ lwz r4, 0x94(r4)
|
||||
/* 802D2424 002CF364 88 04 00 40 */ lbz r0, 0x40(r4)
|
||||
/* 802D2428 002CF368 48 00 00 08 */ b lbl_802D2430
|
||||
@@ -136,7 +136,7 @@ lbl_802D24FC:
|
||||
lbl_802D2510:
|
||||
/* 802D2510 002CF450 28 18 00 00 */ cmplwi r24, 0
|
||||
/* 802D2514 002CF454 40 82 00 50 */ bne lbl_802D2564
|
||||
/* 802D2518 002CF458 80 6D 8E 48 */ lwz r3, lbl_804513C8-_SDA_BASE_(r13)
|
||||
/* 802D2518 002CF458 80 6D 8E 48 */ lwz r3, sAramObject__7JKRAram-_SDA_BASE_(r13)
|
||||
/* 802D251C 002CF45C 80 63 00 94 */ lwz r3, 0x94(r3)
|
||||
/* 802D2520 002CF460 7F E4 FB 78 */ mr r4, r31
|
||||
/* 802D2524 002CF464 38 A0 00 00 */ li r5, 0
|
||||
@@ -144,7 +144,7 @@ lbl_802D2510:
|
||||
/* 802D252C 002CF46C 7C 7D 1B 78 */ mr r29, r3
|
||||
/* 802D2530 002CF470 2C 1B 00 00 */ cmpwi r27, 0
|
||||
/* 802D2534 002CF474 40 80 00 14 */ bge lbl_802D2548
|
||||
/* 802D2538 002CF478 80 8D 8E 48 */ lwz r4, lbl_804513C8-_SDA_BASE_(r13)
|
||||
/* 802D2538 002CF478 80 8D 8E 48 */ lwz r4, sAramObject__7JKRAram-_SDA_BASE_(r13)
|
||||
/* 802D253C 002CF47C 80 84 00 94 */ lwz r4, 0x94(r4)
|
||||
/* 802D2540 002CF480 88 04 00 40 */ lbz r0, 0x40(r4)
|
||||
/* 802D2544 002CF484 48 00 00 08 */ b lbl_802D254C
|
||||
|
||||
@@ -27,66 +27,66 @@ lbl_802D2884:
|
||||
/* 802D288C 002CF7CC 3C 60 80 43 */ lis r3, lbl_804342E8@ha
|
||||
/* 802D2890 002CF7D0 38 63 42 E8 */ addi r3, r3, lbl_804342E8@l
|
||||
/* 802D2894 002CF7D4 48 06 C7 AD */ bl OSLockMutex
|
||||
/* 802D2898 002CF7D8 83 2D 83 38 */ lwz r25, lbl_804508B8-_SDA_BASE_(r13)
|
||||
/* 802D289C 002CF7DC 80 6D 8D F0 */ lwz r3, lbl_80451370-_SDA_BASE_(r13)
|
||||
/* 802D2898 002CF7D8 83 2D 83 38 */ lwz r25, sSZSBufferSize__7JKRAram-_SDA_BASE_(r13)
|
||||
/* 802D289C 002CF7DC 80 6D 8D F0 */ lwz r3, sSystemHeap__7JKRHeap-_SDA_BASE_(r13)
|
||||
/* 802D28A0 002CF7E0 7F 24 CB 78 */ mr r4, r25
|
||||
/* 802D28A4 002CF7E4 38 A0 00 20 */ li r5, 0x20
|
||||
/* 802D28A8 002CF7E8 4B FF BC 2D */ bl alloc__7JKRHeapFUli
|
||||
/* 802D28AC 002CF7EC 90 6D 8E 4C */ stw r3, lbl_804513CC-_SDA_BASE_(r13)
|
||||
/* 802D28AC 002CF7EC 90 6D 8E 4C */ stw r3, JKRAram__szpBuf-_SDA_BASE_(r13)
|
||||
/* 802D28B0 002CF7F0 7C 03 CA 14 */ add r0, r3, r25
|
||||
/* 802D28B4 002CF7F4 90 0D 8E 50 */ stw r0, lbl_804513D0-_SDA_BASE_(r13)
|
||||
/* 802D28B4 002CF7F4 90 0D 8E 50 */ stw r0, JKRAram__szpEnd-_SDA_BASE_(r13)
|
||||
/* 802D28B8 002CF7F8 28 1E 00 00 */ cmplwi r30, 0
|
||||
/* 802D28BC 002CF7FC 41 82 00 28 */ beq lbl_802D28E4
|
||||
/* 802D28C0 002CF800 80 6D 8D F0 */ lwz r3, lbl_80451370-_SDA_BASE_(r13)
|
||||
/* 802D28C0 002CF800 80 6D 8D F0 */ lwz r3, sSystemHeap__7JKRHeap-_SDA_BASE_(r13)
|
||||
/* 802D28C4 002CF804 38 80 11 20 */ li r4, 0x1120
|
||||
/* 802D28C8 002CF808 38 A0 00 00 */ li r5, 0
|
||||
/* 802D28CC 002CF80C 4B FF BC 09 */ bl alloc__7JKRHeapFUli
|
||||
/* 802D28D0 002CF810 90 6D 8E 54 */ stw r3, lbl_804513D4-_SDA_BASE_(r13)
|
||||
/* 802D28D0 002CF810 90 6D 8E 54 */ stw r3, JKRAram__refBuf-_SDA_BASE_(r13)
|
||||
/* 802D28D4 002CF814 38 03 11 20 */ addi r0, r3, 0x1120
|
||||
/* 802D28D8 002CF818 90 0D 8E 58 */ stw r0, lbl_804513D8-_SDA_BASE_(r13)
|
||||
/* 802D28DC 002CF81C 90 6D 8E 5C */ stw r3, lbl_804513DC-_SDA_BASE_(r13)
|
||||
/* 802D28D8 002CF818 90 0D 8E 58 */ stw r0, JKRAram__refEnd-_SDA_BASE_(r13)
|
||||
/* 802D28DC 002CF81C 90 6D 8E 5C */ stw r3, JKRAram__refCurrent-_SDA_BASE_(r13)
|
||||
/* 802D28E0 002CF820 48 00 00 0C */ b lbl_802D28EC
|
||||
lbl_802D28E4:
|
||||
/* 802D28E4 002CF824 38 00 00 00 */ li r0, 0
|
||||
/* 802D28E8 002CF828 90 0D 8E 54 */ stw r0, lbl_804513D4-_SDA_BASE_(r13)
|
||||
/* 802D28E8 002CF828 90 0D 8E 54 */ stw r0, JKRAram__refBuf-_SDA_BASE_(r13)
|
||||
lbl_802D28EC:
|
||||
/* 802D28EC 002CF82C 93 4D 8E 6C */ stw r26, lbl_804513EC-_SDA_BASE_(r13)
|
||||
/* 802D28EC 002CF82C 93 4D 8E 6C */ stw r26, JKRAram__srcAddress-_SDA_BASE_(r13)
|
||||
/* 802D28F0 002CF830 38 00 00 00 */ li r0, 0
|
||||
/* 802D28F4 002CF834 90 0D 8E 60 */ stw r0, lbl_804513E0-_SDA_BASE_(r13)
|
||||
/* 802D28F4 002CF834 90 0D 8E 60 */ stw r0, JKRAram__srcOffset-_SDA_BASE_(r13)
|
||||
/* 802D28F8 002CF838 28 1C 00 00 */ cmplwi r28, 0
|
||||
/* 802D28FC 002CF83C 38 00 FF FF */ li r0, -1
|
||||
/* 802D2900 002CF840 41 82 00 08 */ beq lbl_802D2908
|
||||
/* 802D2904 002CF844 7F 80 E3 78 */ mr r0, r28
|
||||
lbl_802D2908:
|
||||
/* 802D2908 002CF848 90 0D 8E 64 */ stw r0, lbl_804513E4-_SDA_BASE_(r13)
|
||||
/* 802D290C 002CF84C 93 CD 8E 70 */ stw r30, lbl_804513F0-_SDA_BASE_(r13)
|
||||
/* 802D2908 002CF848 90 0D 8E 64 */ stw r0, JKRAram__transLeft-_SDA_BASE_(r13)
|
||||
/* 802D290C 002CF84C 93 CD 8E 70 */ stw r30, JKRAram__fileOffset-_SDA_BASE_(r13)
|
||||
/* 802D2910 002CF850 38 00 00 00 */ li r0, 0
|
||||
/* 802D2914 002CF854 90 0D 8E 74 */ stw r0, lbl_804513F4-_SDA_BASE_(r13)
|
||||
/* 802D2918 002CF858 93 AD 8E 78 */ stw r29, lbl_804513F8-_SDA_BASE_(r13)
|
||||
/* 802D2914 002CF854 90 0D 8E 74 */ stw r0, JKRAram__readCount-_SDA_BASE_(r13)
|
||||
/* 802D2918 002CF858 93 AD 8E 78 */ stw r29, JKRAram__maxDest-_SDA_BASE_(r13)
|
||||
/* 802D291C 002CF85C 28 1F 00 00 */ cmplwi r31, 0
|
||||
/* 802D2920 002CF860 41 82 00 0C */ beq lbl_802D292C
|
||||
/* 802D2924 002CF864 7F E3 FB 78 */ mr r3, r31
|
||||
/* 802D2928 002CF868 48 00 00 08 */ b lbl_802D2930
|
||||
lbl_802D292C:
|
||||
/* 802D292C 002CF86C 38 6D 8E 84 */ addi r3, r13, 0x80451404-0x80458580 /* lbl_80451404-_SDA_BASE_ */
|
||||
/* 802D292C 002CF86C 38 6D 8E 84 */ addi r3, r13, 0x80451404-0x80458580 /* JKRAram__tsArea-_SDA_BASE_ */
|
||||
lbl_802D2930:
|
||||
/* 802D2930 002CF870 90 6D 8E 80 */ stw r3, lbl_80451400-_SDA_BASE_(r13)
|
||||
/* 802D2930 002CF870 90 6D 8E 80 */ stw r3, JKRAram__tsPtr-_SDA_BASE_(r13)
|
||||
/* 802D2934 002CF874 38 00 00 00 */ li r0, 0
|
||||
/* 802D2938 002CF878 90 03 00 00 */ stw r0, 0(r3)
|
||||
/* 802D293C 002CF87C 48 00 03 05 */ bl firstSrcData__Fv
|
||||
/* 802D2940 002CF880 7F 64 DB 78 */ mr r4, r27
|
||||
/* 802D2944 002CF884 48 00 00 5D */ bl decompSZS_subroutine__FPUcPUc
|
||||
/* 802D2948 002CF888 80 6D 8E 4C */ lwz r3, lbl_804513CC-_SDA_BASE_(r13)
|
||||
/* 802D2948 002CF888 80 6D 8E 4C */ lwz r3, JKRAram__szpBuf-_SDA_BASE_(r13)
|
||||
/* 802D294C 002CF88C 38 80 00 00 */ li r4, 0
|
||||
/* 802D2950 002CF890 4B FF BB B1 */ bl free__7JKRHeapFPvP7JKRHeap
|
||||
/* 802D2954 002CF894 80 6D 8E 54 */ lwz r3, lbl_804513D4-_SDA_BASE_(r13)
|
||||
/* 802D2954 002CF894 80 6D 8E 54 */ lwz r3, JKRAram__refBuf-_SDA_BASE_(r13)
|
||||
/* 802D2958 002CF898 28 03 00 00 */ cmplwi r3, 0
|
||||
/* 802D295C 002CF89C 41 82 00 0C */ beq lbl_802D2968
|
||||
/* 802D2960 002CF8A0 38 80 00 00 */ li r4, 0
|
||||
/* 802D2964 002CF8A4 4B FF BB 9D */ bl free__7JKRHeapFPvP7JKRHeap
|
||||
lbl_802D2968:
|
||||
/* 802D2968 002CF8A8 7F 63 DB 78 */ mr r3, r27
|
||||
/* 802D296C 002CF8AC 80 8D 8E 80 */ lwz r4, lbl_80451400-_SDA_BASE_(r13)
|
||||
/* 802D296C 002CF8AC 80 8D 8E 80 */ lwz r4, JKRAram__tsPtr-_SDA_BASE_(r13)
|
||||
/* 802D2970 002CF8B0 80 84 00 00 */ lwz r4, 0(r4)
|
||||
/* 802D2974 002CF8B4 48 06 8C C5 */ bl DCStoreRangeNoSync
|
||||
/* 802D2978 002CF8B8 3C 60 80 43 */ lis r3, lbl_804342E8@ha
|
||||
|
||||
@@ -25,11 +25,11 @@ lbl_802D29F4:
|
||||
/* 802D29F4 002CF934 38 60 FF FF */ li r3, -1
|
||||
/* 802D29F8 002CF938 48 00 02 30 */ b lbl_802D2C28
|
||||
lbl_802D29FC:
|
||||
/* 802D29FC 002CF93C 80 CD 8E 70 */ lwz r6, lbl_804513F0-_SDA_BASE_(r13)
|
||||
/* 802D29FC 002CF93C 80 CD 8E 70 */ lwz r6, JKRAram__fileOffset-_SDA_BASE_(r13)
|
||||
/* 802D2A00 002CF940 80 A3 00 04 */ lwz r5, 4(r3)
|
||||
/* 802D2A04 002CF944 7C A6 28 50 */ subf r5, r6, r5
|
||||
/* 802D2A08 002CF948 7F FD 2A 14 */ add r31, r29, r5
|
||||
/* 802D2A0C 002CF94C 80 AD 8E 78 */ lwz r5, lbl_804513F8-_SDA_BASE_(r13)
|
||||
/* 802D2A0C 002CF94C 80 AD 8E 78 */ lwz r5, JKRAram__maxDest-_SDA_BASE_(r13)
|
||||
/* 802D2A10 002CF950 7C BD 2A 14 */ add r5, r29, r5
|
||||
/* 802D2A14 002CF954 7C 1F 28 40 */ cmplw r31, r5
|
||||
/* 802D2A18 002CF958 40 81 00 08 */ ble lbl_802D2A20
|
||||
@@ -39,10 +39,10 @@ lbl_802D2A20:
|
||||
lbl_802D2A24:
|
||||
/* 802D2A24 002CF964 2C 04 00 00 */ cmpwi r4, 0
|
||||
/* 802D2A28 002CF968 40 82 00 2C */ bne lbl_802D2A54
|
||||
/* 802D2A2C 002CF96C 80 0D 8E 68 */ lwz r0, lbl_804513E8-_SDA_BASE_(r13)
|
||||
/* 802D2A2C 002CF96C 80 0D 8E 68 */ lwz r0, JKRAram__srcLimit-_SDA_BASE_(r13)
|
||||
/* 802D2A30 002CF970 7C 03 00 40 */ cmplw r3, r0
|
||||
/* 802D2A34 002CF974 40 81 00 14 */ ble lbl_802D2A48
|
||||
/* 802D2A38 002CF978 80 0D 8E 64 */ lwz r0, lbl_804513E4-_SDA_BASE_(r13)
|
||||
/* 802D2A38 002CF978 80 0D 8E 64 */ lwz r0, JKRAram__transLeft-_SDA_BASE_(r13)
|
||||
/* 802D2A3C 002CF97C 28 00 00 00 */ cmplwi r0, 0
|
||||
/* 802D2A40 002CF980 41 82 00 08 */ beq lbl_802D2A48
|
||||
/* 802D2A44 002CF984 48 00 02 A1 */ bl nextSrcData__FPUc
|
||||
@@ -53,10 +53,10 @@ lbl_802D2A48:
|
||||
lbl_802D2A54:
|
||||
/* 802D2A54 002CF994 54 05 06 31 */ rlwinm. r5, r0, 0, 0x18, 0x18
|
||||
/* 802D2A58 002CF998 41 82 00 94 */ beq lbl_802D2AEC
|
||||
/* 802D2A5C 002CF99C 80 CD 8E 70 */ lwz r6, lbl_804513F0-_SDA_BASE_(r13)
|
||||
/* 802D2A5C 002CF99C 80 CD 8E 70 */ lwz r6, JKRAram__fileOffset-_SDA_BASE_(r13)
|
||||
/* 802D2A60 002CF9A0 28 06 00 00 */ cmplwi r6, 0
|
||||
/* 802D2A64 002CF9A4 41 82 00 5C */ beq lbl_802D2AC0
|
||||
/* 802D2A68 002CF9A8 80 AD 8E 74 */ lwz r5, lbl_804513F4-_SDA_BASE_(r13)
|
||||
/* 802D2A68 002CF9A8 80 AD 8E 74 */ lwz r5, JKRAram__readCount-_SDA_BASE_(r13)
|
||||
/* 802D2A6C 002CF9AC 7C 05 30 40 */ cmplw r5, r6
|
||||
/* 802D2A70 002CF9B0 41 80 00 1C */ blt lbl_802D2A8C
|
||||
/* 802D2A74 002CF9B4 88 A3 00 00 */ lbz r5, 0(r3)
|
||||
@@ -67,16 +67,16 @@ lbl_802D2A54:
|
||||
/* 802D2A88 002CF9C8 41 82 01 94 */ beq lbl_802D2C1C
|
||||
lbl_802D2A8C:
|
||||
/* 802D2A8C 002CF9CC 88 E3 00 00 */ lbz r7, 0(r3)
|
||||
/* 802D2A90 002CF9D0 80 CD 8E 5C */ lwz r6, lbl_804513DC-_SDA_BASE_(r13)
|
||||
/* 802D2A90 002CF9D0 80 CD 8E 5C */ lwz r6, JKRAram__refCurrent-_SDA_BASE_(r13)
|
||||
/* 802D2A94 002CF9D4 38 A6 00 01 */ addi r5, r6, 1
|
||||
/* 802D2A98 002CF9D8 90 AD 8E 5C */ stw r5, lbl_804513DC-_SDA_BASE_(r13)
|
||||
/* 802D2A98 002CF9D8 90 AD 8E 5C */ stw r5, JKRAram__refCurrent-_SDA_BASE_(r13)
|
||||
/* 802D2A9C 002CF9DC 98 E6 00 00 */ stb r7, 0(r6)
|
||||
/* 802D2AA0 002CF9E0 80 CD 8E 5C */ lwz r6, lbl_804513DC-_SDA_BASE_(r13)
|
||||
/* 802D2AA4 002CF9E4 80 AD 8E 58 */ lwz r5, lbl_804513D8-_SDA_BASE_(r13)
|
||||
/* 802D2AA0 002CF9E0 80 CD 8E 5C */ lwz r6, JKRAram__refCurrent-_SDA_BASE_(r13)
|
||||
/* 802D2AA4 002CF9E4 80 AD 8E 58 */ lwz r5, JKRAram__refEnd-_SDA_BASE_(r13)
|
||||
/* 802D2AA8 002CF9E8 7C 06 28 40 */ cmplw r6, r5
|
||||
/* 802D2AAC 002CF9EC 40 82 00 0C */ bne lbl_802D2AB8
|
||||
/* 802D2AB0 002CF9F0 80 AD 8E 54 */ lwz r5, lbl_804513D4-_SDA_BASE_(r13)
|
||||
/* 802D2AB4 002CF9F4 90 AD 8E 5C */ stw r5, lbl_804513DC-_SDA_BASE_(r13)
|
||||
/* 802D2AB0 002CF9F0 80 AD 8E 54 */ lwz r5, JKRAram__refBuf-_SDA_BASE_(r13)
|
||||
/* 802D2AB4 002CF9F4 90 AD 8E 5C */ stw r5, JKRAram__refCurrent-_SDA_BASE_(r13)
|
||||
lbl_802D2AB8:
|
||||
/* 802D2AB8 002CF9F8 38 63 00 01 */ addi r3, r3, 1
|
||||
/* 802D2ABC 002CF9FC 48 00 00 20 */ b lbl_802D2ADC
|
||||
@@ -89,26 +89,26 @@ lbl_802D2AC0:
|
||||
/* 802D2AD4 002CFA14 3B DE 00 01 */ addi r30, r30, 1
|
||||
/* 802D2AD8 002CFA18 41 82 01 44 */ beq lbl_802D2C1C
|
||||
lbl_802D2ADC:
|
||||
/* 802D2ADC 002CFA1C 80 AD 8E 74 */ lwz r5, lbl_804513F4-_SDA_BASE_(r13)
|
||||
/* 802D2ADC 002CFA1C 80 AD 8E 74 */ lwz r5, JKRAram__readCount-_SDA_BASE_(r13)
|
||||
/* 802D2AE0 002CFA20 38 A5 00 01 */ addi r5, r5, 1
|
||||
/* 802D2AE4 002CFA24 90 AD 8E 74 */ stw r5, lbl_804513F4-_SDA_BASE_(r13)
|
||||
/* 802D2AE4 002CFA24 90 AD 8E 74 */ stw r5, JKRAram__readCount-_SDA_BASE_(r13)
|
||||
/* 802D2AE8 002CFA28 48 00 01 24 */ b lbl_802D2C0C
|
||||
lbl_802D2AEC:
|
||||
/* 802D2AEC 002CFA2C 88 C3 00 00 */ lbz r6, 0(r3)
|
||||
/* 802D2AF0 002CFA30 88 E3 00 01 */ lbz r7, 1(r3)
|
||||
/* 802D2AF4 002CFA34 50 C7 45 2E */ rlwimi r7, r6, 8, 0x14, 0x17
|
||||
/* 802D2AF8 002CFA38 7C C5 26 70 */ srawi r5, r6, 4
|
||||
/* 802D2AFC 002CFA3C 81 0D 8E 70 */ lwz r8, lbl_804513F0-_SDA_BASE_(r13)
|
||||
/* 802D2AFC 002CFA3C 81 0D 8E 70 */ lwz r8, JKRAram__fileOffset-_SDA_BASE_(r13)
|
||||
/* 802D2B00 002CFA40 28 08 00 00 */ cmplwi r8, 0
|
||||
/* 802D2B04 002CFA44 38 63 00 02 */ addi r3, r3, 2
|
||||
/* 802D2B08 002CFA48 41 82 00 2C */ beq lbl_802D2B34
|
||||
/* 802D2B0C 002CFA4C 80 CD 8E 5C */ lwz r6, lbl_804513DC-_SDA_BASE_(r13)
|
||||
/* 802D2B0C 002CFA4C 80 CD 8E 5C */ lwz r6, JKRAram__refCurrent-_SDA_BASE_(r13)
|
||||
/* 802D2B10 002CFA50 7C C7 30 50 */ subf r6, r7, r6
|
||||
/* 802D2B14 002CFA54 39 26 FF FF */ addi r9, r6, -1
|
||||
/* 802D2B18 002CFA58 80 ED 8E 54 */ lwz r7, lbl_804513D4-_SDA_BASE_(r13)
|
||||
/* 802D2B18 002CFA58 80 ED 8E 54 */ lwz r7, JKRAram__refBuf-_SDA_BASE_(r13)
|
||||
/* 802D2B1C 002CFA5C 7C 09 38 40 */ cmplw r9, r7
|
||||
/* 802D2B20 002CFA60 40 80 00 1C */ bge lbl_802D2B3C
|
||||
/* 802D2B24 002CFA64 80 CD 8E 58 */ lwz r6, lbl_804513D8-_SDA_BASE_(r13)
|
||||
/* 802D2B24 002CFA64 80 CD 8E 58 */ lwz r6, JKRAram__refEnd-_SDA_BASE_(r13)
|
||||
/* 802D2B28 002CFA68 7C C7 30 50 */ subf r6, r7, r6
|
||||
/* 802D2B2C 002CFA6C 7D 29 32 14 */ add r9, r9, r6
|
||||
/* 802D2B30 002CFA70 48 00 00 0C */ b lbl_802D2B3C
|
||||
@@ -128,8 +128,8 @@ lbl_802D2B58:
|
||||
/* 802D2B58 002CFA98 28 08 00 00 */ cmplwi r8, 0
|
||||
/* 802D2B5C 002CFA9C 41 82 00 80 */ beq lbl_802D2BDC
|
||||
lbl_802D2B60:
|
||||
/* 802D2B60 002CFAA0 80 ED 8E 74 */ lwz r7, lbl_804513F4-_SDA_BASE_(r13)
|
||||
/* 802D2B64 002CFAA4 80 CD 8E 70 */ lwz r6, lbl_804513F0-_SDA_BASE_(r13)
|
||||
/* 802D2B60 002CFAA0 80 ED 8E 74 */ lwz r7, JKRAram__readCount-_SDA_BASE_(r13)
|
||||
/* 802D2B64 002CFAA4 80 CD 8E 70 */ lwz r6, JKRAram__fileOffset-_SDA_BASE_(r13)
|
||||
/* 802D2B68 002CFAA8 7C 07 30 40 */ cmplw r7, r6
|
||||
/* 802D2B6C 002CFAAC 41 80 00 1C */ blt lbl_802D2B88
|
||||
/* 802D2B70 002CFAB0 88 C9 00 00 */ lbz r6, 0(r9)
|
||||
@@ -140,25 +140,25 @@ lbl_802D2B60:
|
||||
/* 802D2B84 002CFAC4 41 82 00 88 */ beq lbl_802D2C0C
|
||||
lbl_802D2B88:
|
||||
/* 802D2B88 002CFAC8 89 09 00 00 */ lbz r8, 0(r9)
|
||||
/* 802D2B8C 002CFACC 80 ED 8E 5C */ lwz r7, lbl_804513DC-_SDA_BASE_(r13)
|
||||
/* 802D2B8C 002CFACC 80 ED 8E 5C */ lwz r7, JKRAram__refCurrent-_SDA_BASE_(r13)
|
||||
/* 802D2B90 002CFAD0 38 C7 00 01 */ addi r6, r7, 1
|
||||
/* 802D2B94 002CFAD4 90 CD 8E 5C */ stw r6, lbl_804513DC-_SDA_BASE_(r13)
|
||||
/* 802D2B94 002CFAD4 90 CD 8E 5C */ stw r6, JKRAram__refCurrent-_SDA_BASE_(r13)
|
||||
/* 802D2B98 002CFAD8 99 07 00 00 */ stb r8, 0(r7)
|
||||
/* 802D2B9C 002CFADC 80 CD 8E 5C */ lwz r6, lbl_804513DC-_SDA_BASE_(r13)
|
||||
/* 802D2BA0 002CFAE0 80 ED 8E 58 */ lwz r7, lbl_804513D8-_SDA_BASE_(r13)
|
||||
/* 802D2B9C 002CFADC 80 CD 8E 5C */ lwz r6, JKRAram__refCurrent-_SDA_BASE_(r13)
|
||||
/* 802D2BA0 002CFAE0 80 ED 8E 58 */ lwz r7, JKRAram__refEnd-_SDA_BASE_(r13)
|
||||
/* 802D2BA4 002CFAE4 7C 06 38 40 */ cmplw r6, r7
|
||||
/* 802D2BA8 002CFAE8 40 82 00 0C */ bne lbl_802D2BB4
|
||||
/* 802D2BAC 002CFAEC 80 CD 8E 54 */ lwz r6, lbl_804513D4-_SDA_BASE_(r13)
|
||||
/* 802D2BB0 002CFAF0 90 CD 8E 5C */ stw r6, lbl_804513DC-_SDA_BASE_(r13)
|
||||
/* 802D2BAC 002CFAEC 80 CD 8E 54 */ lwz r6, JKRAram__refBuf-_SDA_BASE_(r13)
|
||||
/* 802D2BB0 002CFAF0 90 CD 8E 5C */ stw r6, JKRAram__refCurrent-_SDA_BASE_(r13)
|
||||
lbl_802D2BB4:
|
||||
/* 802D2BB4 002CFAF4 39 29 00 01 */ addi r9, r9, 1
|
||||
/* 802D2BB8 002CFAF8 7C 09 38 40 */ cmplw r9, r7
|
||||
/* 802D2BBC 002CFAFC 40 82 00 08 */ bne lbl_802D2BC4
|
||||
/* 802D2BC0 002CFB00 81 2D 8E 54 */ lwz r9, lbl_804513D4-_SDA_BASE_(r13)
|
||||
/* 802D2BC0 002CFB00 81 2D 8E 54 */ lwz r9, JKRAram__refBuf-_SDA_BASE_(r13)
|
||||
lbl_802D2BC4:
|
||||
/* 802D2BC4 002CFB04 80 CD 8E 74 */ lwz r6, lbl_804513F4-_SDA_BASE_(r13)
|
||||
/* 802D2BC4 002CFB04 80 CD 8E 74 */ lwz r6, JKRAram__readCount-_SDA_BASE_(r13)
|
||||
/* 802D2BC8 002CFB08 38 C6 00 01 */ addi r6, r6, 1
|
||||
/* 802D2BCC 002CFB0C 90 CD 8E 74 */ stw r6, lbl_804513F4-_SDA_BASE_(r13)
|
||||
/* 802D2BCC 002CFB0C 90 CD 8E 74 */ stw r6, JKRAram__readCount-_SDA_BASE_(r13)
|
||||
/* 802D2BD0 002CFB10 34 A5 FF FF */ addic. r5, r5, -1
|
||||
/* 802D2BD4 002CFB14 40 82 FF 8C */ bne lbl_802D2B60
|
||||
/* 802D2BD8 002CFB18 48 00 00 34 */ b lbl_802D2C0C
|
||||
@@ -169,9 +169,9 @@ lbl_802D2BDC:
|
||||
/* 802D2BE8 002CFB28 7C 1D F8 40 */ cmplw r29, r31
|
||||
/* 802D2BEC 002CFB2C 3B DE 00 01 */ addi r30, r30, 1
|
||||
/* 802D2BF0 002CFB30 41 82 00 1C */ beq lbl_802D2C0C
|
||||
/* 802D2BF4 002CFB34 80 CD 8E 74 */ lwz r6, lbl_804513F4-_SDA_BASE_(r13)
|
||||
/* 802D2BF4 002CFB34 80 CD 8E 74 */ lwz r6, JKRAram__readCount-_SDA_BASE_(r13)
|
||||
/* 802D2BF8 002CFB38 38 C6 00 01 */ addi r6, r6, 1
|
||||
/* 802D2BFC 002CFB3C 90 CD 8E 74 */ stw r6, lbl_804513F4-_SDA_BASE_(r13)
|
||||
/* 802D2BFC 002CFB3C 90 CD 8E 74 */ stw r6, JKRAram__readCount-_SDA_BASE_(r13)
|
||||
/* 802D2C00 002CFB40 34 A5 FF FF */ addic. r5, r5, -1
|
||||
/* 802D2C04 002CFB44 39 29 00 01 */ addi r9, r9, 1
|
||||
/* 802D2C08 002CFB48 40 82 FF D4 */ bne lbl_802D2BDC
|
||||
@@ -181,7 +181,7 @@ lbl_802D2C0C:
|
||||
/* 802D2C14 002CFB54 38 84 FF FF */ addi r4, r4, -1
|
||||
/* 802D2C18 002CFB58 41 80 FE 0C */ blt lbl_802D2A24
|
||||
lbl_802D2C1C:
|
||||
/* 802D2C1C 002CFB5C 80 6D 8E 80 */ lwz r3, lbl_80451400-_SDA_BASE_(r13)
|
||||
/* 802D2C1C 002CFB5C 80 6D 8E 80 */ lwz r3, JKRAram__tsPtr-_SDA_BASE_(r13)
|
||||
/* 802D2C20 002CFB60 93 C3 00 00 */ stw r30, 0(r3)
|
||||
/* 802D2C24 002CFB64 38 60 00 00 */ li r3, 0
|
||||
lbl_802D2C28:
|
||||
|
||||
@@ -5,36 +5,36 @@
|
||||
/* 802D2C48 002CFB88 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 802D2C4C 002CFB8C 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 802D2C50 002CFB90 93 C1 00 08 */ stw r30, 8(r1)
|
||||
/* 802D2C54 002CFB94 80 6D 8E 50 */ lwz r3, lbl_804513D0-_SDA_BASE_(r13)
|
||||
/* 802D2C54 002CFB94 80 6D 8E 50 */ lwz r3, JKRAram__szpEnd-_SDA_BASE_(r13)
|
||||
/* 802D2C58 002CFB98 38 03 FF E7 */ addi r0, r3, -25
|
||||
/* 802D2C5C 002CFB9C 90 0D 8E 68 */ stw r0, lbl_804513E8-_SDA_BASE_(r13)
|
||||
/* 802D2C60 002CFBA0 80 0D 8E 4C */ lwz r0, lbl_804513CC-_SDA_BASE_(r13)
|
||||
/* 802D2C5C 002CFB9C 90 0D 8E 68 */ stw r0, JKRAram__srcLimit-_SDA_BASE_(r13)
|
||||
/* 802D2C60 002CFBA0 80 0D 8E 4C */ lwz r0, JKRAram__szpBuf-_SDA_BASE_(r13)
|
||||
/* 802D2C64 002CFBA4 7C 1E 03 78 */ mr r30, r0
|
||||
/* 802D2C68 002CFBA8 7C 60 18 50 */ subf r3, r0, r3
|
||||
/* 802D2C6C 002CFBAC 80 0D 8E 64 */ lwz r0, lbl_804513E4-_SDA_BASE_(r13)
|
||||
/* 802D2C6C 002CFBAC 80 0D 8E 64 */ lwz r0, JKRAram__transLeft-_SDA_BASE_(r13)
|
||||
/* 802D2C70 002CFBB0 7C 00 18 40 */ cmplw r0, r3
|
||||
/* 802D2C74 002CFBB4 7C 7F 1B 78 */ mr r31, r3
|
||||
/* 802D2C78 002CFBB8 40 80 00 08 */ bge lbl_802D2C80
|
||||
/* 802D2C7C 002CFBBC 7C 1F 03 78 */ mr r31, r0
|
||||
lbl_802D2C80:
|
||||
/* 802D2C80 002CFBC0 38 60 00 01 */ li r3, 1
|
||||
/* 802D2C84 002CFBC4 80 8D 8E 6C */ lwz r4, lbl_804513EC-_SDA_BASE_(r13)
|
||||
/* 802D2C88 002CFBC8 80 0D 8E 60 */ lwz r0, lbl_804513E0-_SDA_BASE_(r13)
|
||||
/* 802D2C84 002CFBC4 80 8D 8E 6C */ lwz r4, JKRAram__srcAddress-_SDA_BASE_(r13)
|
||||
/* 802D2C88 002CFBC8 80 0D 8E 60 */ lwz r0, JKRAram__srcOffset-_SDA_BASE_(r13)
|
||||
/* 802D2C8C 002CFBCC 7C 84 02 14 */ add r4, r4, r0
|
||||
/* 802D2C90 002CFBD0 7F C5 F3 78 */ mr r5, r30
|
||||
/* 802D2C94 002CFBD4 38 1F 00 1F */ addi r0, r31, 0x1f
|
||||
/* 802D2C98 002CFBD8 54 06 00 34 */ rlwinm r6, r0, 0, 0, 0x1a
|
||||
/* 802D2C9C 002CFBDC 38 E0 00 00 */ li r7, 0
|
||||
/* 802D2CA0 002CFBE0 48 00 0B 99 */ bl orderSync__12JKRAramPieceFiUlUlUlP12JKRAramBlock
|
||||
/* 802D2CA4 002CFBE4 80 0D 8E 60 */ lwz r0, lbl_804513E0-_SDA_BASE_(r13)
|
||||
/* 802D2CA4 002CFBE4 80 0D 8E 60 */ lwz r0, JKRAram__srcOffset-_SDA_BASE_(r13)
|
||||
/* 802D2CA8 002CFBE8 7C 00 FA 14 */ add r0, r0, r31
|
||||
/* 802D2CAC 002CFBEC 90 0D 8E 60 */ stw r0, lbl_804513E0-_SDA_BASE_(r13)
|
||||
/* 802D2CB0 002CFBF0 80 0D 8E 64 */ lwz r0, lbl_804513E4-_SDA_BASE_(r13)
|
||||
/* 802D2CAC 002CFBEC 90 0D 8E 60 */ stw r0, JKRAram__srcOffset-_SDA_BASE_(r13)
|
||||
/* 802D2CB0 002CFBF0 80 0D 8E 64 */ lwz r0, JKRAram__transLeft-_SDA_BASE_(r13)
|
||||
/* 802D2CB4 002CFBF4 7C 1F 00 51 */ subf. r0, r31, r0
|
||||
/* 802D2CB8 002CFBF8 90 0D 8E 64 */ stw r0, lbl_804513E4-_SDA_BASE_(r13)
|
||||
/* 802D2CB8 002CFBF8 90 0D 8E 64 */ stw r0, JKRAram__transLeft-_SDA_BASE_(r13)
|
||||
/* 802D2CBC 002CFBFC 40 82 00 0C */ bne lbl_802D2CC8
|
||||
/* 802D2CC0 002CFC00 7C 1E FA 14 */ add r0, r30, r31
|
||||
/* 802D2CC4 002CFC04 90 0D 8E 68 */ stw r0, lbl_804513E8-_SDA_BASE_(r13)
|
||||
/* 802D2CC4 002CFC04 90 0D 8E 68 */ stw r0, JKRAram__srcLimit-_SDA_BASE_(r13)
|
||||
lbl_802D2CC8:
|
||||
/* 802D2CC8 002CFC08 7F C3 F3 78 */ mr r3, r30
|
||||
/* 802D2CCC 002CFC0C 83 E1 00 0C */ lwz r31, 0xc(r1)
|
||||
|
||||
@@ -6,46 +6,46 @@
|
||||
/* 802D2CF0 002CFC30 39 61 00 20 */ addi r11, r1, 0x20
|
||||
/* 802D2CF4 002CFC34 48 08 F4 E5 */ bl _savegpr_28
|
||||
/* 802D2CF8 002CFC38 7C 64 1B 78 */ mr r4, r3
|
||||
/* 802D2CFC 002CFC3C 80 0D 8E 50 */ lwz r0, lbl_804513D0-_SDA_BASE_(r13)
|
||||
/* 802D2CFC 002CFC3C 80 0D 8E 50 */ lwz r0, JKRAram__szpEnd-_SDA_BASE_(r13)
|
||||
/* 802D2D00 002CFC40 7F A4 00 50 */ subf r29, r4, r0
|
||||
/* 802D2D04 002CFC44 57 A5 06 FF */ clrlwi. r5, r29, 0x1b
|
||||
/* 802D2D08 002CFC48 41 82 00 14 */ beq lbl_802D2D1C
|
||||
/* 802D2D0C 002CFC4C 80 6D 8E 4C */ lwz r3, lbl_804513CC-_SDA_BASE_(r13)
|
||||
/* 802D2D0C 002CFC4C 80 6D 8E 4C */ lwz r3, JKRAram__szpBuf-_SDA_BASE_(r13)
|
||||
/* 802D2D10 002CFC50 38 03 00 20 */ addi r0, r3, 0x20
|
||||
/* 802D2D14 002CFC54 7F C5 00 50 */ subf r30, r5, r0
|
||||
/* 802D2D18 002CFC58 48 00 00 08 */ b lbl_802D2D20
|
||||
lbl_802D2D1C:
|
||||
/* 802D2D1C 002CFC5C 83 CD 8E 4C */ lwz r30, lbl_804513CC-_SDA_BASE_(r13)
|
||||
/* 802D2D1C 002CFC5C 83 CD 8E 4C */ lwz r30, JKRAram__szpBuf-_SDA_BASE_(r13)
|
||||
lbl_802D2D20:
|
||||
/* 802D2D20 002CFC60 7F C3 F3 78 */ mr r3, r30
|
||||
/* 802D2D24 002CFC64 7F A5 EB 78 */ mr r5, r29
|
||||
/* 802D2D28 002CFC68 4B D3 08 19 */ bl memcpy
|
||||
/* 802D2D2C 002CFC6C 7F FE EA 14 */ add r31, r30, r29
|
||||
/* 802D2D30 002CFC70 80 0D 8E 50 */ lwz r0, lbl_804513D0-_SDA_BASE_(r13)
|
||||
/* 802D2D30 002CFC70 80 0D 8E 50 */ lwz r0, JKRAram__szpEnd-_SDA_BASE_(r13)
|
||||
/* 802D2D34 002CFC74 7F 9F 00 50 */ subf r28, r31, r0
|
||||
/* 802D2D38 002CFC78 80 0D 8E 64 */ lwz r0, lbl_804513E4-_SDA_BASE_(r13)
|
||||
/* 802D2D38 002CFC78 80 0D 8E 64 */ lwz r0, JKRAram__transLeft-_SDA_BASE_(r13)
|
||||
/* 802D2D3C 002CFC7C 7C 1C 00 40 */ cmplw r28, r0
|
||||
/* 802D2D40 002CFC80 40 81 00 08 */ ble lbl_802D2D48
|
||||
/* 802D2D44 002CFC84 7C 1C 03 78 */ mr r28, r0
|
||||
lbl_802D2D48:
|
||||
/* 802D2D48 002CFC88 38 60 00 01 */ li r3, 1
|
||||
/* 802D2D4C 002CFC8C 80 8D 8E 6C */ lwz r4, lbl_804513EC-_SDA_BASE_(r13)
|
||||
/* 802D2D50 002CFC90 80 0D 8E 60 */ lwz r0, lbl_804513E0-_SDA_BASE_(r13)
|
||||
/* 802D2D4C 002CFC8C 80 8D 8E 6C */ lwz r4, JKRAram__srcAddress-_SDA_BASE_(r13)
|
||||
/* 802D2D50 002CFC90 80 0D 8E 60 */ lwz r0, JKRAram__srcOffset-_SDA_BASE_(r13)
|
||||
/* 802D2D54 002CFC94 7C 84 02 14 */ add r4, r4, r0
|
||||
/* 802D2D58 002CFC98 7C BE EA 14 */ add r5, r30, r29
|
||||
/* 802D2D5C 002CFC9C 38 1C 00 1F */ addi r0, r28, 0x1f
|
||||
/* 802D2D60 002CFCA0 54 06 00 34 */ rlwinm r6, r0, 0, 0, 0x1a
|
||||
/* 802D2D64 002CFCA4 38 E0 00 00 */ li r7, 0
|
||||
/* 802D2D68 002CFCA8 48 00 0A D1 */ bl orderSync__12JKRAramPieceFiUlUlUlP12JKRAramBlock
|
||||
/* 802D2D6C 002CFCAC 80 0D 8E 60 */ lwz r0, lbl_804513E0-_SDA_BASE_(r13)
|
||||
/* 802D2D6C 002CFCAC 80 0D 8E 60 */ lwz r0, JKRAram__srcOffset-_SDA_BASE_(r13)
|
||||
/* 802D2D70 002CFCB0 7C 00 E2 14 */ add r0, r0, r28
|
||||
/* 802D2D74 002CFCB4 90 0D 8E 60 */ stw r0, lbl_804513E0-_SDA_BASE_(r13)
|
||||
/* 802D2D78 002CFCB8 80 0D 8E 64 */ lwz r0, lbl_804513E4-_SDA_BASE_(r13)
|
||||
/* 802D2D74 002CFCB4 90 0D 8E 60 */ stw r0, JKRAram__srcOffset-_SDA_BASE_(r13)
|
||||
/* 802D2D78 002CFCB8 80 0D 8E 64 */ lwz r0, JKRAram__transLeft-_SDA_BASE_(r13)
|
||||
/* 802D2D7C 002CFCBC 7C 1C 00 51 */ subf. r0, r28, r0
|
||||
/* 802D2D80 002CFCC0 90 0D 8E 64 */ stw r0, lbl_804513E4-_SDA_BASE_(r13)
|
||||
/* 802D2D80 002CFCC0 90 0D 8E 64 */ stw r0, JKRAram__transLeft-_SDA_BASE_(r13)
|
||||
/* 802D2D84 002CFCC4 40 82 00 0C */ bne lbl_802D2D90
|
||||
/* 802D2D88 002CFCC8 7C 1F E2 14 */ add r0, r31, r28
|
||||
/* 802D2D8C 002CFCCC 90 0D 8E 68 */ stw r0, lbl_804513E8-_SDA_BASE_(r13)
|
||||
/* 802D2D8C 002CFCCC 90 0D 8E 68 */ stw r0, JKRAram__srcLimit-_SDA_BASE_(r13)
|
||||
lbl_802D2D90:
|
||||
/* 802D2D90 002CFCD0 7F C3 F3 78 */ mr r3, r30
|
||||
/* 802D2D94 002CFCD4 39 61 00 20 */ addi r11, r1, 0x20
|
||||
|
||||
@@ -3,11 +3,11 @@
|
||||
/* 802D2DAC 002CFCEC 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 802D2DB0 002CFCF0 7C 08 02 A6 */ mflr r0
|
||||
/* 802D2DB4 002CFCF4 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 802D2DB8 002CFCF8 3C 60 80 43 */ lis r3, lbl_804342DC@ha
|
||||
/* 802D2DBC 002CFCFC 38 63 42 DC */ addi r3, r3, lbl_804342DC@l
|
||||
/* 802D2DB8 002CFCF8 3C 60 80 43 */ lis r3, sAramCommandList__7JKRAram@ha
|
||||
/* 802D2DBC 002CFCFC 38 63 42 DC */ addi r3, r3, sAramCommandList__7JKRAram@l
|
||||
/* 802D2DC0 002CFD00 48 00 91 55 */ bl initiate__10JSUPtrListFv
|
||||
/* 802D2DC4 002CFD04 3C 60 80 43 */ lis r3, lbl_804342DC@ha
|
||||
/* 802D2DC8 002CFD08 38 63 42 DC */ addi r3, r3, lbl_804342DC@l
|
||||
/* 802D2DC4 002CFD04 3C 60 80 43 */ lis r3, sAramCommandList__7JKRAram@ha
|
||||
/* 802D2DC8 002CFD08 38 63 42 DC */ addi r3, r3, sAramCommandList__7JKRAram@l
|
||||
/* 802D2DCC 002CFD0C 3C 80 80 2D */ lis r4, JSUList_NS_dtor_X4_@ha
|
||||
/* 802D2DD0 002CFD10 38 84 2D F0 */ addi r4, r4, JSUList_NS_dtor_X4_@l
|
||||
/* 802D2DD4 002CFD14 3C A0 80 43 */ lis r5, lbl_804342D0@ha
|
||||
|
||||
@@ -13,7 +13,7 @@ public:
|
||||
void getAramAddress_Entry(SDIFileEntry*);
|
||||
void getAramAddress(char const*);
|
||||
|
||||
/* vt[15] */ u32 getExpandedResSize(const void*) const; /* override */
|
||||
/* vt[15] */ u32 getExpandedResSize(const void*); /* override */
|
||||
/* vt[16] */ void* fetchResource(SDIFileEntry*, u32*); /* override */
|
||||
/* vt[17] */ void* fetchResource(void*, u32, SDIFileEntry*, u32*); /* override */
|
||||
|
||||
|
||||
@@ -30,8 +30,8 @@ lbl_802D7114:
|
||||
/* 802D7128 002D4068 80 03 00 04 */ lwz r0, 4(r3)
|
||||
/* 802D712C 002D406C 7C 04 02 14 */ add r0, r4, r0
|
||||
/* 802D7130 002D4070 90 1D 00 28 */ stw r0, 0x28(r29)
|
||||
/* 802D7134 002D4074 3C 60 80 43 */ lis r3, lbl_80434354@ha
|
||||
/* 802D7138 002D4078 38 63 43 54 */ addi r3, r3, lbl_80434354@l
|
||||
/* 802D7134 002D4074 3C 60 80 43 */ lis r3, sVolumeList__13JKRFileLoader@ha
|
||||
/* 802D7138 002D4078 38 63 43 54 */ addi r3, r3, sVolumeList__13JKRFileLoader@l
|
||||
/* 802D713C 002D407C 38 9D 00 18 */ addi r4, r29, 0x18
|
||||
/* 802D7140 002D4080 48 00 4E B1 */ bl prepend__10JSUPtrListFP10JSUPtrLink
|
||||
/* 802D7144 002D4084 38 00 00 01 */ li r0, 1
|
||||
|
||||
@@ -67,8 +67,8 @@ lbl_802D7234:
|
||||
/* 802D7250 002D4190 7D 89 03 A6 */ mtctr r12
|
||||
/* 802D7254 002D4194 4E 80 04 21 */ bctrl
|
||||
lbl_802D7258:
|
||||
/* 802D7258 002D4198 3C 60 80 43 */ lis r3, lbl_80434354@ha
|
||||
/* 802D725C 002D419C 38 63 43 54 */ addi r3, r3, lbl_80434354@l
|
||||
/* 802D7258 002D4198 3C 60 80 43 */ lis r3, sVolumeList__13JKRFileLoader@ha
|
||||
/* 802D725C 002D419C 38 63 43 54 */ addi r3, r3, sVolumeList__13JKRFileLoader@l
|
||||
/* 802D7260 002D41A0 38 9E 00 18 */ addi r4, r30, 0x18
|
||||
/* 802D7264 002D41A4 48 00 4E F9 */ bl remove__10JSUPtrListFP10JSUPtrLink
|
||||
/* 802D7268 002D41A8 38 00 00 00 */ li r0, 0
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
/* 802D72D4 002D4214 90 03 00 54 */ stw r0, 0x54(r3)
|
||||
/* 802D72D8 002D4218 90 03 00 64 */ stw r0, 0x64(r3)
|
||||
/* 802D72DC 002D421C 38 60 00 F8 */ li r3, 0xf8
|
||||
/* 802D72E0 002D4220 80 8D 8D F0 */ lwz r4, lbl_80451370-_SDA_BASE_(r13)
|
||||
/* 802D72E0 002D4220 80 8D 8D F0 */ lwz r4, sSystemHeap__7JKRHeap-_SDA_BASE_(r13)
|
||||
/* 802D72E4 002D4224 80 1F 00 60 */ lwz r0, 0x60(r31)
|
||||
/* 802D72E8 002D4228 2C 00 00 01 */ cmpwi r0, 1
|
||||
/* 802D72EC 002D422C 38 A0 FF FC */ li r5, -4
|
||||
@@ -37,7 +37,7 @@ lbl_802D7310:
|
||||
/* 802D7328 002D4268 38 60 00 00 */ li r3, 0
|
||||
/* 802D732C 002D426C 48 00 02 9C */ b lbl_802D75C8
|
||||
lbl_802D7330:
|
||||
/* 802D7330 002D4270 80 6D 8D F0 */ lwz r3, lbl_80451370-_SDA_BASE_(r13)
|
||||
/* 802D7330 002D4270 80 6D 8D F0 */ lwz r3, sSystemHeap__7JKRHeap-_SDA_BASE_(r13)
|
||||
/* 802D7334 002D4274 38 80 00 20 */ li r4, 0x20
|
||||
/* 802D7338 002D4278 38 A0 FF E0 */ li r5, -32
|
||||
/* 802D733C 002D427C 4B FF 71 99 */ bl alloc__7JKRHeapFUli
|
||||
@@ -57,7 +57,7 @@ lbl_802D7354:
|
||||
/* 802D7370 002D42B0 39 00 00 01 */ li r8, 1
|
||||
/* 802D7374 002D42B4 39 20 00 00 */ li r9, 0
|
||||
/* 802D7378 002D42B8 39 5F 00 5C */ addi r10, r31, 0x5c
|
||||
/* 802D737C 002D42BC 48 00 28 D9 */ bl loadToMainRAM__12JKRDvdRipperFlPUc15JKRExpandSwitchUlP7JKRHeapQ212JKRDvdRipper15EAllocDirectionUlP14JKRCompressionPUl
|
||||
/* 802D737C 002D42BC 48 00 28 D9 */ bl loadToMainRAM__12JKRDvdRipperFlPUc15JKRExpandSwitchUlP7JKRHeapQ212JKRDvdRipper15EAllocDirectionUlPiPUl
|
||||
/* 802D7380 002D42C0 7F A3 EB 78 */ mr r3, r29
|
||||
/* 802D7384 002D42C4 38 80 00 20 */ li r4, 0x20
|
||||
/* 802D7388 002D42C8 48 06 41 F9 */ bl DCInvalidateRange
|
||||
@@ -91,7 +91,7 @@ lbl_802D73D8:
|
||||
/* 802D73F0 002D4330 39 00 00 01 */ li r8, 1
|
||||
/* 802D73F4 002D4334 39 20 00 20 */ li r9, 0x20
|
||||
/* 802D73F8 002D4338 39 40 00 00 */ li r10, 0
|
||||
/* 802D73FC 002D433C 48 00 28 59 */ bl loadToMainRAM__12JKRDvdRipperFlPUc15JKRExpandSwitchUlP7JKRHeapQ212JKRDvdRipper15EAllocDirectionUlP14JKRCompressionPUl
|
||||
/* 802D73FC 002D433C 48 00 28 59 */ bl loadToMainRAM__12JKRDvdRipperFlPUc15JKRExpandSwitchUlP7JKRHeapQ212JKRDvdRipper15EAllocDirectionUlPiPUl
|
||||
/* 802D7400 002D4340 80 7F 00 44 */ lwz r3, 0x44(r31)
|
||||
/* 802D7404 002D4344 7F 64 DB 78 */ mr r4, r27
|
||||
/* 802D7408 002D4348 48 06 41 79 */ bl DCInvalidateRange
|
||||
@@ -131,7 +131,7 @@ lbl_802D7484:
|
||||
/* 802D7484 002D43C4 54 80 06 3F */ clrlwi. r0, r4, 0x18
|
||||
/* 802D7488 002D43C8 41 82 00 60 */ beq lbl_802D74E8
|
||||
/* 802D748C 002D43CC 7F C3 F3 78 */ mr r3, r30
|
||||
/* 802D7490 002D43D0 48 08 DC 41 */ bl func_803650D0
|
||||
/* 802D7490 002D43D0 48 08 DC 41 */ bl abs
|
||||
/* 802D7494 002D43D4 7C 64 1B 78 */ mr r4, r3
|
||||
/* 802D7498 002D43D8 80 BF 00 38 */ lwz r5, 0x38(r31)
|
||||
/* 802D749C 002D43DC 80 7F 00 44 */ lwz r3, 0x44(r31)
|
||||
@@ -153,12 +153,12 @@ lbl_802D74D4:
|
||||
/* 802D74D8 002D4418 80 BF 00 44 */ lwz r5, 0x44(r31)
|
||||
/* 802D74DC 002D441C 80 05 00 08 */ lwz r0, 8(r5)
|
||||
/* 802D74E0 002D4420 54 05 10 3A */ slwi r5, r0, 2
|
||||
/* 802D74E4 002D4424 4B D2 BF 75 */ bl func_80003458
|
||||
/* 802D74E4 002D4424 4B D2 BF 75 */ bl memset
|
||||
lbl_802D74E8:
|
||||
/* 802D74E8 002D4428 80 7D 00 10 */ lwz r3, 0x10(r29)
|
||||
/* 802D74EC 002D442C 38 03 00 1F */ addi r0, r3, 0x1f
|
||||
/* 802D74F0 002D4430 54 04 00 34 */ rlwinm r4, r0, 0, 0, 0x1a
|
||||
/* 802D74F4 002D4434 80 6D 8E 48 */ lwz r3, lbl_804513C8-_SDA_BASE_(r13)
|
||||
/* 802D74F4 002D4434 80 6D 8E 48 */ lwz r3, sAramObject__7JKRAram-_SDA_BASE_(r13)
|
||||
/* 802D74F8 002D4438 80 63 00 94 */ lwz r3, 0x94(r3)
|
||||
/* 802D74FC 002D443C 80 1F 00 60 */ lwz r0, 0x60(r31)
|
||||
/* 802D7500 002D4440 20 A0 00 01 */ subfic r5, r0, 1
|
||||
@@ -197,7 +197,7 @@ lbl_802D7554:
|
||||
lbl_802D7578:
|
||||
/* 802D7578 002D44B8 28 1D 00 00 */ cmplwi r29, 0
|
||||
/* 802D757C 002D44BC 41 82 00 10 */ beq lbl_802D758C
|
||||
/* 802D7580 002D44C0 80 6D 8D F0 */ lwz r3, lbl_80451370-_SDA_BASE_(r13)
|
||||
/* 802D7580 002D44C0 80 6D 8D F0 */ lwz r3, sSystemHeap__7JKRHeap-_SDA_BASE_(r13)
|
||||
/* 802D7584 002D44C4 7F A4 EB 78 */ mr r4, r29
|
||||
/* 802D7588 002D44C8 4B FF 6F C1 */ bl free__7JKRHeapFPv
|
||||
lbl_802D758C:
|
||||
|
||||
@@ -62,4 +62,9 @@ private:
|
||||
static void unlock() { OSUnlockMutex(&lbl_80434330); }
|
||||
};
|
||||
|
||||
inline BOOL JKRAramPcs(int direction, u32 source, u32 destination, u32 length,
|
||||
JKRAramBlock* block) {
|
||||
return JKRAramPiece::orderSync(direction, source, destination, length, block);
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
@@ -52,7 +52,7 @@ lbl_802D365C:
|
||||
/* 802D36D4 002D0614 48 00 EB 29 */ bl JUTException_NS_panic_f
|
||||
lbl_802D36D8:
|
||||
/* 802D36D8 002D0618 38 60 00 08 */ li r3, 8
|
||||
/* 802D36DC 002D061C 80 8D 8D F0 */ lwz r4, lbl_80451370-_SDA_BASE_(r13)
|
||||
/* 802D36DC 002D061C 80 8D 8D F0 */ lwz r4, sSystemHeap__7JKRHeap-_SDA_BASE_(r13)
|
||||
/* 802D36E0 002D0620 38 A0 FF FC */ li r5, -4
|
||||
/* 802D36E4 002D0624 4B FF B5 B5 */ bl __nw__FUlP7JKRHeapi
|
||||
/* 802D36E8 002D0628 7C 79 1B 78 */ mr r25, r3
|
||||
@@ -67,8 +67,8 @@ lbl_802D36D8:
|
||||
/* 802D370C 002D064C 38 00 00 01 */ li r0, 1
|
||||
/* 802D3710 002D0650 90 19 00 00 */ stw r0, 0(r25)
|
||||
/* 802D3714 002D0654 93 59 00 04 */ stw r26, 4(r25)
|
||||
/* 802D3718 002D0658 3C 60 80 3D */ lis r3, lbl_803CC138@ha
|
||||
/* 802D371C 002D065C 38 63 C1 38 */ addi r3, r3, lbl_803CC138@l
|
||||
/* 802D3718 002D0658 3C 60 80 3D */ lis r3, sMessageQueue__7JKRAram@ha
|
||||
/* 802D371C 002D065C 38 63 C1 38 */ addi r3, r3, sMessageQueue__7JKRAram@l
|
||||
/* 802D3720 002D0660 7F 24 CB 78 */ mr r4, r25
|
||||
/* 802D3724 002D0664 38 A0 00 01 */ li r5, 1
|
||||
/* 802D3728 002D0668 48 06 B2 CD */ bl OSSendMessage
|
||||
|
||||
@@ -8,26 +8,32 @@
|
||||
|
||||
class JKRAramStreamCommand {
|
||||
public:
|
||||
enum Type {
|
||||
UNKNOWN = 0,
|
||||
READ = 1,
|
||||
WRITE = 2,
|
||||
};
|
||||
|
||||
JKRAramStreamCommand();
|
||||
|
||||
public:
|
||||
u32 field_0x00;
|
||||
u32 field_0x04;
|
||||
u32 field_0x08;
|
||||
u32 field_0x0c;
|
||||
JSUFileInputStream* field_0x10;
|
||||
u32 field_0x14;
|
||||
u32* field_0x18;
|
||||
u32 field_0x1c;
|
||||
u32 field_0x20;
|
||||
u32 field_0x24;
|
||||
bool field_0x28;
|
||||
u8 padding_0x29[3];
|
||||
u32 field_0x2c;
|
||||
OSMessageQueue mQueue;
|
||||
OSMessage mMessage;
|
||||
u32 field_0x54;
|
||||
u32 field_0x58;
|
||||
/* 0x00 */ Type mType;
|
||||
/* 0x04 */ u32 mAddress;
|
||||
/* 0x08 */ u32 mSize;
|
||||
/* 0x0C */ u32 field_0x0c;
|
||||
/* 0x10 */ JSUFileInputStream* mStream;
|
||||
/* 0x14 */ u32 mOffset;
|
||||
/* 0x18 */ u32* mReturnSize;
|
||||
/* 0x1C */ u8* mTransferBuffer;
|
||||
/* 0x20 */ u32 mTransferBufferSize;
|
||||
/* 0x24 */ JKRHeap* mHeap;
|
||||
/* 0x28 */ bool mAllocatedTransferBuffer;
|
||||
/* 0x29 */ u8 padding_0x29[3];
|
||||
/* 0x2C */ u32 field_0x2c;
|
||||
/* 0x30 */ OSMessageQueue mMessageQueue;
|
||||
/* 0x50 */ OSMessage mMessage;
|
||||
/* 0x54 */ u32 field_0x54;
|
||||
/* 0x58 */ u32 field_0x58;
|
||||
};
|
||||
|
||||
class JKRAramStream : public JKRThread {
|
||||
@@ -38,13 +44,26 @@ private:
|
||||
/* vt[03] */ void* run(void); /* override */
|
||||
|
||||
public:
|
||||
static void create(long);
|
||||
static JKRAramStream* create(long);
|
||||
|
||||
static void readFromAram(void);
|
||||
static void writeToAram(JKRAramStreamCommand*);
|
||||
static void write_StreamToAram_Async(JSUFileInputStream*, u32, u32, u32, u32*);
|
||||
static void sync(JKRAramStreamCommand*, int);
|
||||
static s32 readFromAram(void);
|
||||
static s32 writeToAram(JKRAramStreamCommand*);
|
||||
static JKRAramStreamCommand* write_StreamToAram_Async(JSUFileInputStream*, u32, u32, u32, u32*);
|
||||
static JKRAramStreamCommand* sync(JKRAramStreamCommand*, BOOL);
|
||||
static void setTransBuffer(u8*, u32, JKRHeap*);
|
||||
|
||||
private:
|
||||
static JKRAramStream* sAramStreamObject;
|
||||
static OSMessage sMessageBuffer[4];
|
||||
static OSMessageQueue sMessageQueue;
|
||||
|
||||
static u8* transBuffer;
|
||||
static u32 transSize;
|
||||
static JKRHeap* transHeap;
|
||||
};
|
||||
|
||||
inline JKRAramStream* JKRCreateAramStreamManager(long priority) {
|
||||
return JKRAramStream::create(priority);
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
@@ -5,11 +5,11 @@
|
||||
/* 802D3B50 002D0A90 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 802D3B54 002D0A94 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 802D3B58 002D0A98 7C 7F 1B 78 */ mr r31, r3
|
||||
/* 802D3B5C 002D0A9C 80 0D 8E 88 */ lwz r0, lbl_80451408-_SDA_BASE_(r13)
|
||||
/* 802D3B5C 002D0A9C 80 0D 8E 88 */ lwz r0, sAramStreamObject__13JKRAramStream-_SDA_BASE_(r13)
|
||||
/* 802D3B60 002D0AA0 28 00 00 00 */ cmplwi r0, 0
|
||||
/* 802D3B64 002D0AA4 40 82 00 3C */ bne lbl_802D3BA0
|
||||
/* 802D3B68 002D0AA8 38 60 00 7C */ li r3, 0x7c
|
||||
/* 802D3B6C 002D0AAC 80 8D 8D F0 */ lwz r4, lbl_80451370-_SDA_BASE_(r13)
|
||||
/* 802D3B6C 002D0AAC 80 8D 8D F0 */ lwz r4, sSystemHeap__7JKRHeap-_SDA_BASE_(r13)
|
||||
/* 802D3B70 002D0AB0 38 A0 00 00 */ li r5, 0
|
||||
/* 802D3B74 002D0AB4 4B FF B1 25 */ bl __nw__FUlP7JKRHeapi
|
||||
/* 802D3B78 002D0AB8 7C 60 1B 79 */ or. r0, r3, r3
|
||||
@@ -18,13 +18,13 @@
|
||||
/* 802D3B84 002D0AC4 48 00 00 35 */ bl __ct__13JKRAramStreamFl
|
||||
/* 802D3B88 002D0AC8 7C 60 1B 78 */ mr r0, r3
|
||||
lbl_802D3B8C:
|
||||
/* 802D3B8C 002D0ACC 90 0D 8E 88 */ stw r0, lbl_80451408-_SDA_BASE_(r13)
|
||||
/* 802D3B8C 002D0ACC 90 0D 8E 88 */ stw r0, sAramStreamObject__13JKRAramStream-_SDA_BASE_(r13)
|
||||
/* 802D3B90 002D0AD0 38 60 00 00 */ li r3, 0
|
||||
/* 802D3B94 002D0AD4 38 80 00 00 */ li r4, 0
|
||||
/* 802D3B98 002D0AD8 38 A0 00 00 */ li r5, 0
|
||||
/* 802D3B9C 002D0ADC 48 00 04 99 */ bl setTransBuffer__13JKRAramStreamFPUcUlP7JKRHeap
|
||||
lbl_802D3BA0:
|
||||
/* 802D3BA0 002D0AE0 80 6D 8E 88 */ lwz r3, lbl_80451408-_SDA_BASE_(r13)
|
||||
/* 802D3BA0 002D0AE0 80 6D 8E 88 */ lwz r3, sAramStreamObject__13JKRAramStream-_SDA_BASE_(r13)
|
||||
/* 802D3BA4 002D0AE4 83 E1 00 0C */ lwz r31, 0xc(r1)
|
||||
/* 802D3BA8 002D0AE8 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 802D3BAC 002D0AEC 7C 08 03 A6 */ mtlr r0
|
||||
|
||||
@@ -4,14 +4,14 @@
|
||||
/* 802D3C6C 002D0BAC 7C 08 02 A6 */ mflr r0
|
||||
/* 802D3C70 002D0BB0 90 01 00 24 */ stw r0, 0x24(r1)
|
||||
/* 802D3C74 002D0BB4 93 E1 00 1C */ stw r31, 0x1c(r1)
|
||||
/* 802D3C78 002D0BB8 3C 60 80 3D */ lis r3, lbl_803CC198@ha
|
||||
/* 802D3C7C 002D0BBC 38 63 C1 98 */ addi r3, r3, lbl_803CC198@l
|
||||
/* 802D3C80 002D0BC0 3C 80 80 3D */ lis r4, lbl_803CC188@ha
|
||||
/* 802D3C84 002D0BC4 38 84 C1 88 */ addi r4, r4, lbl_803CC188@l
|
||||
/* 802D3C78 002D0BB8 3C 60 80 3D */ lis r3, sMessageQueue__13JKRAramStream@ha
|
||||
/* 802D3C7C 002D0BBC 38 63 C1 98 */ addi r3, r3, sMessageQueue__13JKRAramStream@l
|
||||
/* 802D3C80 002D0BC0 3C 80 80 3D */ lis r4, sMessageBuffer__13JKRAramStream@ha
|
||||
/* 802D3C84 002D0BC4 38 84 C1 88 */ addi r4, r4, sMessageBuffer__13JKRAramStream@l
|
||||
/* 802D3C88 002D0BC8 38 A0 00 04 */ li r5, 4
|
||||
/* 802D3C8C 002D0BCC 48 06 AD 09 */ bl OSInitMessageQueue
|
||||
/* 802D3C90 002D0BD0 3C 60 80 3D */ lis r3, lbl_803CC198@ha
|
||||
/* 802D3C94 002D0BD4 3B E3 C1 98 */ addi r31, r3, lbl_803CC198@l
|
||||
/* 802D3C90 002D0BD0 3C 60 80 3D */ lis r3, sMessageQueue__13JKRAramStream@ha
|
||||
/* 802D3C94 002D0BD4 3B E3 C1 98 */ addi r31, r3, sMessageQueue__13JKRAramStream@l
|
||||
lbl_802D3C98:
|
||||
/* 802D3C98 002D0BD8 7F E3 FB 78 */ mr r3, r31
|
||||
/* 802D3C9C 002D0BDC 38 81 00 08 */ addi r4, r1, 8
|
||||
|
||||
@@ -42,7 +42,7 @@ lbl_802D3D54:
|
||||
/* 802D3D70 002D0CB0 93 58 00 1C */ stw r26, 0x1c(r24)
|
||||
/* 802D3D74 002D0CB4 48 00 00 1C */ b lbl_802D3D90
|
||||
lbl_802D3D78:
|
||||
/* 802D3D78 002D0CB8 80 6D 8D F0 */ lwz r3, lbl_80451370-_SDA_BASE_(r13)
|
||||
/* 802D3D78 002D0CB8 80 6D 8D F0 */ lwz r3, sSystemHeap__7JKRHeap-_SDA_BASE_(r13)
|
||||
/* 802D3D7C 002D0CBC 7F E4 FB 78 */ mr r4, r31
|
||||
/* 802D3D80 002D0CC0 38 A0 FF E0 */ li r5, -32
|
||||
/* 802D3D84 002D0CC4 4B FF A7 51 */ bl alloc__7JKRHeapFUli
|
||||
@@ -57,7 +57,7 @@ lbl_802D3D9C:
|
||||
/* 802D3DA0 002D0CE0 40 82 00 54 */ bne lbl_802D3DF4
|
||||
/* 802D3DA4 002D0CE4 28 19 00 00 */ cmplwi r25, 0
|
||||
/* 802D3DA8 002D0CE8 40 82 00 1C */ bne lbl_802D3DC4
|
||||
/* 802D3DAC 002D0CEC 80 6D 8D F4 */ lwz r3, lbl_80451374-_SDA_BASE_(r13)
|
||||
/* 802D3DAC 002D0CEC 80 6D 8D F4 */ lwz r3, sCurrentHeap__7JKRHeap-_SDA_BASE_(r13)
|
||||
/* 802D3DB0 002D0CF0 81 83 00 00 */ lwz r12, 0(r3)
|
||||
/* 802D3DB4 002D0CF4 81 8C 00 1C */ lwz r12, 0x1c(r12)
|
||||
/* 802D3DB8 002D0CF8 7D 89 03 A6 */ mtctr r12
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
/* 802D3EF0 002D0E30 7C DD 33 78 */ mr r29, r6
|
||||
/* 802D3EF4 002D0E34 7C FE 3B 78 */ mr r30, r7
|
||||
/* 802D3EF8 002D0E38 38 60 00 5C */ li r3, 0x5c
|
||||
/* 802D3EFC 002D0E3C 80 8D 8D F0 */ lwz r4, lbl_80451370-_SDA_BASE_(r13)
|
||||
/* 802D3EFC 002D0E3C 80 8D 8D F0 */ lwz r4, sSystemHeap__7JKRHeap-_SDA_BASE_(r13)
|
||||
/* 802D3F00 002D0E40 38 A0 FF FC */ li r5, -4
|
||||
/* 802D3F04 002D0E44 4B FF AD 95 */ bl __nw__FUlP7JKRHeapi
|
||||
/* 802D3F08 002D0E48 7C 7F 1B 79 */ or. r31, r3, r3
|
||||
@@ -27,11 +27,11 @@ lbl_802D3F18:
|
||||
/* 802D3F2C 002D0E6C 38 60 00 00 */ li r3, 0
|
||||
/* 802D3F30 002D0E70 90 7F 00 2C */ stw r3, 0x2c(r31)
|
||||
/* 802D3F34 002D0E74 93 BF 00 14 */ stw r29, 0x14(r31)
|
||||
/* 802D3F38 002D0E78 80 0D 8E 8C */ lwz r0, lbl_8045140C-_SDA_BASE_(r13)
|
||||
/* 802D3F38 002D0E78 80 0D 8E 8C */ lwz r0, transBuffer__13JKRAramStream-_SDA_BASE_(r13)
|
||||
/* 802D3F3C 002D0E7C 90 1F 00 1C */ stw r0, 0x1c(r31)
|
||||
/* 802D3F40 002D0E80 80 0D 8E 94 */ lwz r0, lbl_80451414-_SDA_BASE_(r13)
|
||||
/* 802D3F40 002D0E80 80 0D 8E 94 */ lwz r0, transHeap__13JKRAramStream-_SDA_BASE_(r13)
|
||||
/* 802D3F44 002D0E84 90 1F 00 24 */ stw r0, 0x24(r31)
|
||||
/* 802D3F48 002D0E88 80 0D 8E 90 */ lwz r0, lbl_80451410-_SDA_BASE_(r13)
|
||||
/* 802D3F48 002D0E88 80 0D 8E 90 */ lwz r0, transSize__13JKRAramStream-_SDA_BASE_(r13)
|
||||
/* 802D3F4C 002D0E8C 90 1F 00 20 */ stw r0, 0x20(r31)
|
||||
/* 802D3F50 002D0E90 93 DF 00 18 */ stw r30, 0x18(r31)
|
||||
/* 802D3F54 002D0E94 28 1E 00 00 */ cmplwi r30, 0
|
||||
@@ -42,8 +42,8 @@ lbl_802D3F60:
|
||||
/* 802D3F64 002D0EA4 38 9F 00 50 */ addi r4, r31, 0x50
|
||||
/* 802D3F68 002D0EA8 38 A0 00 01 */ li r5, 1
|
||||
/* 802D3F6C 002D0EAC 48 06 AA 29 */ bl OSInitMessageQueue
|
||||
/* 802D3F70 002D0EB0 3C 60 80 3D */ lis r3, lbl_803CC198@ha
|
||||
/* 802D3F74 002D0EB4 38 63 C1 98 */ addi r3, r3, lbl_803CC198@l
|
||||
/* 802D3F70 002D0EB0 3C 60 80 3D */ lis r3, sMessageQueue__13JKRAramStream@ha
|
||||
/* 802D3F74 002D0EB4 38 63 C1 98 */ addi r3, r3, sMessageQueue__13JKRAramStream@l
|
||||
/* 802D3F78 002D0EB8 7F E4 FB 78 */ mr r4, r31
|
||||
/* 802D3F7C 002D0EBC 38 A0 00 01 */ li r5, 1
|
||||
/* 802D3F80 002D0EC0 48 06 AA 75 */ bl OSSendMessage
|
||||
|
||||
@@ -1,25 +1,25 @@
|
||||
/* setTransBuffer__13JKRAramStreamFPUcUlP7JKRHeap __ct__13JKRAramStreamFl::setTransBuffer(unsigned char *, unsigned long, JKRHeap *) */
|
||||
/* JKRAramStream_NS_setTransBuffer */
|
||||
/* 802D4034 002D0F74 38 E0 00 00 */ li r7, 0
|
||||
/* 802D4038 002D0F78 90 ED 8E 8C */ stw r7, lbl_8045140C-_SDA_BASE_(r13)
|
||||
/* 802D4038 002D0F78 90 ED 8E 8C */ stw r7, transBuffer__13JKRAramStream-_SDA_BASE_(r13)
|
||||
/* 802D403C 002D0F7C 3C C0 00 01 */ lis r6, 0x00008000@ha
|
||||
/* 802D4040 002D0F80 38 06 80 00 */ addi r0, r6, 0x00008000@l
|
||||
/* 802D4044 002D0F84 90 0D 8E 90 */ stw r0, lbl_80451410-_SDA_BASE_(r13)
|
||||
/* 802D4048 002D0F88 90 ED 8E 94 */ stw r7, lbl_80451414-_SDA_BASE_(r13)
|
||||
/* 802D4044 002D0F84 90 0D 8E 90 */ stw r0, transSize__13JKRAramStream-_SDA_BASE_(r13)
|
||||
/* 802D4048 002D0F88 90 ED 8E 94 */ stw r7, transHeap__13JKRAramStream-_SDA_BASE_(r13)
|
||||
/* 802D404C 002D0F8C 28 03 00 00 */ cmplwi r3, 0
|
||||
/* 802D4050 002D0F90 41 82 00 10 */ beq lbl_802D4060
|
||||
/* 802D4054 002D0F94 38 03 00 1F */ addi r0, r3, 0x1f
|
||||
/* 802D4058 002D0F98 54 00 00 34 */ rlwinm r0, r0, 0, 0, 0x1a
|
||||
/* 802D405C 002D0F9C 90 0D 8E 8C */ stw r0, lbl_8045140C-_SDA_BASE_(r13)
|
||||
/* 802D405C 002D0F9C 90 0D 8E 8C */ stw r0, transBuffer__13JKRAramStream-_SDA_BASE_(r13)
|
||||
lbl_802D4060:
|
||||
/* 802D4060 002D0FA0 28 04 00 00 */ cmplwi r4, 0
|
||||
/* 802D4064 002D0FA4 41 82 00 0C */ beq lbl_802D4070
|
||||
/* 802D4068 002D0FA8 54 80 00 34 */ rlwinm r0, r4, 0, 0, 0x1a
|
||||
/* 802D406C 002D0FAC 90 0D 8E 90 */ stw r0, lbl_80451410-_SDA_BASE_(r13)
|
||||
/* 802D406C 002D0FAC 90 0D 8E 90 */ stw r0, transSize__13JKRAramStream-_SDA_BASE_(r13)
|
||||
lbl_802D4070:
|
||||
/* 802D4070 002D0FB0 28 05 00 00 */ cmplwi r5, 0
|
||||
/* 802D4074 002D0FB4 4D 82 00 20 */ beqlr
|
||||
/* 802D4078 002D0FB8 28 03 00 00 */ cmplwi r3, 0
|
||||
/* 802D407C 002D0FBC 4C 82 00 20 */ bnelr
|
||||
/* 802D4080 002D0FC0 90 AD 8E 94 */ stw r5, lbl_80451414-_SDA_BASE_(r13)
|
||||
/* 802D4080 002D0FC0 90 AD 8E 94 */ stw r5, transHeap__13JKRAramStream-_SDA_BASE_(r13)
|
||||
/* 802D4084 002D0FC4 4E 80 00 20 */ blr
|
||||
|
||||
@@ -3,66 +3,10 @@
|
||||
|
||||
#include "JSystem/JKernel/JKRDecomp/JKRDecomp.h"
|
||||
#include "JSystem/JKernel/JKRFileLoader/JKRFileLoader.h"
|
||||
#include "JSystem/JKernel/SArc.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
struct SArcHeader {
|
||||
u32 signature;
|
||||
u32 file_length;
|
||||
u32 header_length;
|
||||
u32 file_data_offset;
|
||||
u32 file_data_length;
|
||||
u32 field_0x14;
|
||||
u32 field_0x18;
|
||||
u32 field_0x1c;
|
||||
};
|
||||
|
||||
struct SArcDataInfo {
|
||||
u32 num_nodes;
|
||||
u32 node_offset;
|
||||
u32 num_file_entries;
|
||||
u32 file_entry_offset;
|
||||
u32 string_table_length;
|
||||
u32 string_table_offset;
|
||||
u16 next_free_file_id;
|
||||
bool sync_file_ids_and_indices;
|
||||
u8 field_1b[5];
|
||||
};
|
||||
|
||||
struct SDirEntry {
|
||||
union {
|
||||
u32 type;
|
||||
struct {
|
||||
u8 flags;
|
||||
u8 padding;
|
||||
u16 id;
|
||||
} other;
|
||||
};
|
||||
|
||||
const char* name;
|
||||
u16 field_0x8;
|
||||
u16 num_entries;
|
||||
s32 first_file_index;
|
||||
};
|
||||
|
||||
struct SDIFileEntry {
|
||||
u16 file_id;
|
||||
u16 name_hash;
|
||||
u32 type_flags_and_name_offset;
|
||||
u32 data_offset;
|
||||
u32 data_size;
|
||||
void* data;
|
||||
|
||||
u32 getNameOffset() const { return type_flags_and_name_offset & 0xFFFFFF; }
|
||||
u16 getNameHash() const { return name_hash; }
|
||||
u32 getFlags() const { return type_flags_and_name_offset >> 24; }
|
||||
u16 getFileID() const { return file_id; }
|
||||
bool isDirectory() const { return (getFlags() & 0x02) != 0; }
|
||||
bool isUnknownFlag1() const { return (getFlags() & 0x01) != 0; }
|
||||
bool isCompressed() const { return (getFlags() & 0x04) != 0; }
|
||||
bool isYAZ0Compressed() const { return (getFlags() & 0x80) != 0; }
|
||||
};
|
||||
|
||||
extern u32 lbl_80451420; // JKRArchive::sCurrentDirID
|
||||
extern u32 sCurrentDirID__10JKRArchive; // JKRArchive::sCurrentDirID
|
||||
|
||||
class JKRHeap;
|
||||
class JKRDvdFile;
|
||||
@@ -78,8 +22,8 @@ public:
|
||||
|
||||
enum EMountDirection {
|
||||
UNKNOWN_MOUNT_DIRECTION = 0,
|
||||
HEAD = 1,
|
||||
TAIL = 2,
|
||||
MOUNT_DIRECTION_HEAD = 1,
|
||||
MOUNT_DIRECTION_TAIL = 2,
|
||||
};
|
||||
|
||||
class CArcName {
|
||||
@@ -140,7 +84,7 @@ public:
|
||||
/* vt[12] */ virtual u32 getResSize(const void*) const; /* override */
|
||||
/* vt[13] */ virtual u32 countFile(const char*) const; /* override */
|
||||
/* vt[14] */ virtual JKRFileFinder* getFirstFile(const char*) const; /* override */
|
||||
/* vt[15] */ virtual u32 getExpandedResSize(const void*) const;
|
||||
/* vt[15] */ virtual u32 getExpandedResSize(const void*);
|
||||
/* vt[16] */ virtual void* fetchResource(SDIFileEntry*, u32*) = 0;
|
||||
/* vt[17] */ virtual void* fetchResource(void*, u32, SDIFileEntry*, u32*) = 0;
|
||||
/* vt[18] */ virtual void setExpandSize(SDIFileEntry*, u32);
|
||||
@@ -167,8 +111,30 @@ public:
|
||||
static JKRArchive* mount(s32, EMountMode, JKRHeap*, EMountDirection);
|
||||
static void* getGlbResource(u32, const char*, JKRArchive*);
|
||||
|
||||
static u32 getCurrentDirID() { return lbl_80451420; }
|
||||
static void setCurrentDirID(u32 dirID) { lbl_80451420 = dirID; }
|
||||
static JKRCompression convertAttrToCompressionType(u32 attr) {
|
||||
#define JKRARCHIVE_ATTR_COMPRESSION 0x04
|
||||
#define JKRARCHIVE_ATTR_YAY0 0x80
|
||||
|
||||
JKRCompression compression;
|
||||
if (FLAG_ON(attr, JKRARCHIVE_ATTR_COMPRESSION)) {
|
||||
compression = COMPRESSION_NONE;
|
||||
} else if (!FLAG_ON(attr, JKRARCHIVE_ATTR_YAY0)) {
|
||||
compression = COMPRESSION_YAZ0;
|
||||
} else {
|
||||
compression = COMPRESSION_YAY0;
|
||||
}
|
||||
return compression;
|
||||
}
|
||||
|
||||
static u32 getCurrentDirID() { return sCurrentDirID; }
|
||||
static void setCurrentDirID(u32 dirID) { sCurrentDirID = dirID; }
|
||||
|
||||
private:
|
||||
static u32 sCurrentDirID;
|
||||
};
|
||||
|
||||
inline JKRCompression JKRConvertAttrToCompressionType(u32 attr) {
|
||||
return JKRArchive::convertAttrToCompressionType(attr);
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
@@ -14,7 +14,7 @@ public:
|
||||
/* vt[09] */ void removeResourceAll(void); /* override */
|
||||
/* vt[10] */ bool removeResource(void*); /* override */
|
||||
|
||||
/* vt[15] */ u32 getExpandedResSize(const void*) const; /* override */
|
||||
/* vt[15] */ u32 getExpandedResSize(const void*); /* override */
|
||||
/* vt[16] */ void* fetchResource(SDIFileEntry*, u32*); /* override */
|
||||
/* vt[17] */ void* fetchResource(void*, u32, SDIFileEntry*, u32*); /* override */
|
||||
|
||||
|
||||
@@ -30,8 +30,8 @@ lbl_802D8828:
|
||||
/* 802D883C 002D577C 80 03 00 04 */ lwz r0, 4(r3)
|
||||
/* 802D8840 002D5780 7C 04 02 14 */ add r0, r4, r0
|
||||
/* 802D8844 002D5784 90 1D 00 28 */ stw r0, 0x28(r29)
|
||||
/* 802D8848 002D5788 3C 60 80 43 */ lis r3, lbl_80434354@ha
|
||||
/* 802D884C 002D578C 38 63 43 54 */ addi r3, r3, lbl_80434354@l
|
||||
/* 802D8848 002D5788 3C 60 80 43 */ lis r3, sVolumeList__13JKRFileLoader@ha
|
||||
/* 802D884C 002D578C 38 63 43 54 */ addi r3, r3, sVolumeList__13JKRFileLoader@l
|
||||
/* 802D8850 002D5790 38 9D 00 18 */ addi r4, r29, 0x18
|
||||
/* 802D8854 002D5794 48 00 37 9D */ bl prepend__10JSUPtrListFP10JSUPtrLink
|
||||
/* 802D8858 002D5798 38 00 00 01 */ li r0, 1
|
||||
|
||||
@@ -67,8 +67,8 @@ lbl_802D8948:
|
||||
/* 802D8964 002D58A4 7D 89 03 A6 */ mtctr r12
|
||||
/* 802D8968 002D58A8 4E 80 04 21 */ bctrl
|
||||
lbl_802D896C:
|
||||
/* 802D896C 002D58AC 3C 60 80 43 */ lis r3, lbl_80434354@ha
|
||||
/* 802D8970 002D58B0 38 63 43 54 */ addi r3, r3, lbl_80434354@l
|
||||
/* 802D896C 002D58AC 3C 60 80 43 */ lis r3, sVolumeList__13JKRFileLoader@ha
|
||||
/* 802D8970 002D58B0 38 63 43 54 */ addi r3, r3, sVolumeList__13JKRFileLoader@l
|
||||
/* 802D8974 002D58B4 38 9E 00 18 */ addi r4, r30, 0x18
|
||||
/* 802D8978 002D58B8 48 00 37 E5 */ bl remove__10JSUPtrListFP10JSUPtrLink
|
||||
/* 802D897C 002D58BC 38 00 00 00 */ li r0, 0
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
/* 802D89FC 002D593C 90 03 00 4C */ stw r0, 0x4c(r3)
|
||||
/* 802D8A00 002D5940 90 03 00 54 */ stw r0, 0x54(r3)
|
||||
/* 802D8A04 002D5944 38 60 00 F8 */ li r3, 0xf8
|
||||
/* 802D8A08 002D5948 80 8D 8D F0 */ lwz r4, lbl_80451370-_SDA_BASE_(r13)
|
||||
/* 802D8A08 002D5948 80 8D 8D F0 */ lwz r4, sSystemHeap__7JKRHeap-_SDA_BASE_(r13)
|
||||
/* 802D8A0C 002D594C 38 A0 00 00 */ li r5, 0
|
||||
/* 802D8A10 002D5950 4B FF 62 89 */ bl __nw__FUlP7JKRHeapi
|
||||
/* 802D8A14 002D5954 7C 60 1B 79 */ or. r0, r3, r3
|
||||
@@ -37,7 +37,7 @@ lbl_802D8A28:
|
||||
/* 802D8A40 002D5980 38 60 00 00 */ li r3, 0
|
||||
/* 802D8A44 002D5984 48 00 04 E4 */ b lbl_802D8F28
|
||||
lbl_802D8A48:
|
||||
/* 802D8A48 002D5988 80 6D 8D F0 */ lwz r3, lbl_80451370-_SDA_BASE_(r13)
|
||||
/* 802D8A48 002D5988 80 6D 8D F0 */ lwz r3, sSystemHeap__7JKRHeap-_SDA_BASE_(r13)
|
||||
/* 802D8A4C 002D598C 38 80 00 20 */ li r4, 0x20
|
||||
/* 802D8A50 002D5990 38 A0 FF E0 */ li r5, -32
|
||||
/* 802D8A54 002D5994 4B FF 5A 81 */ bl alloc__7JKRHeapFUli
|
||||
@@ -57,7 +57,7 @@ lbl_802D8A6C:
|
||||
/* 802D8A88 002D59C8 39 00 00 01 */ li r8, 1
|
||||
/* 802D8A8C 002D59CC 39 20 00 00 */ li r9, 0
|
||||
/* 802D8A90 002D59D0 39 5F 00 5C */ addi r10, r31, 0x5c
|
||||
/* 802D8A94 002D59D4 48 00 11 C1 */ bl loadToMainRAM__12JKRDvdRipperFlPUc15JKRExpandSwitchUlP7JKRHeapQ212JKRDvdRipper15EAllocDirectionUlP14JKRCompressionPUl
|
||||
/* 802D8A94 002D59D4 48 00 11 C1 */ bl loadToMainRAM__12JKRDvdRipperFlPUc15JKRExpandSwitchUlP7JKRHeapQ212JKRDvdRipper15EAllocDirectionUlPiPUl
|
||||
/* 802D8A98 002D59D8 7F C3 F3 78 */ mr r3, r30
|
||||
/* 802D8A9C 002D59DC 38 80 00 20 */ li r4, 0x20
|
||||
/* 802D8AA0 002D59E0 48 06 2A E1 */ bl DCInvalidateRange
|
||||
@@ -107,7 +107,7 @@ lbl_802D8B20:
|
||||
/* 802D8B40 002D5A80 39 00 00 01 */ li r8, 1
|
||||
/* 802D8B44 002D5A84 39 20 00 20 */ li r9, 0x20
|
||||
/* 802D8B48 002D5A88 39 40 00 00 */ li r10, 0
|
||||
/* 802D8B4C 002D5A8C 48 00 11 09 */ bl loadToMainRAM__12JKRDvdRipperFlPUc15JKRExpandSwitchUlP7JKRHeapQ212JKRDvdRipper15EAllocDirectionUlP14JKRCompressionPUl
|
||||
/* 802D8B4C 002D5A8C 48 00 11 09 */ bl loadToMainRAM__12JKRDvdRipperFlPUc15JKRExpandSwitchUlP7JKRHeapQ212JKRDvdRipper15EAllocDirectionUlPiPUl
|
||||
/* 802D8B50 002D5A90 80 7F 00 44 */ lwz r3, 0x44(r31)
|
||||
/* 802D8B54 002D5A94 80 9E 00 0C */ lwz r4, 0xc(r30)
|
||||
/* 802D8B58 002D5A98 80 1F 00 74 */ lwz r0, 0x74(r31)
|
||||
@@ -120,7 +120,7 @@ lbl_802D8B20:
|
||||
/* 802D8B74 002D5AB4 80 9F 00 78 */ lwz r4, 0x78(r31)
|
||||
/* 802D8B78 002D5AB8 28 04 00 00 */ cmplwi r4, 0
|
||||
/* 802D8B7C 002D5ABC 41 82 00 5C */ beq lbl_802D8BD8
|
||||
/* 802D8B80 002D5AC0 80 6D 8E 48 */ lwz r3, lbl_804513C8-_SDA_BASE_(r13)
|
||||
/* 802D8B80 002D5AC0 80 6D 8E 48 */ lwz r3, sAramObject__7JKRAram-_SDA_BASE_(r13)
|
||||
/* 802D8B84 002D5AC4 80 63 00 94 */ lwz r3, 0x94(r3)
|
||||
/* 802D8B88 002D5AC8 38 A0 00 00 */ li r5, 0
|
||||
/* 802D8B8C 002D5ACC 4B FF A4 31 */ bl alloc__11JKRAramHeapFUlQ211JKRAramHeap10EAllocMode
|
||||
@@ -175,7 +175,7 @@ lbl_802D8C1C:
|
||||
/* 802D8C44 002D5B84 40 82 00 08 */ bne lbl_802D8C4C
|
||||
/* 802D8C48 002D5B88 3B A0 00 20 */ li r29, 0x20
|
||||
lbl_802D8C4C:
|
||||
/* 802D8C4C 002D5B8C 80 6D 8D F0 */ lwz r3, lbl_80451370-_SDA_BASE_(r13)
|
||||
/* 802D8C4C 002D5B8C 80 6D 8D F0 */ lwz r3, sSystemHeap__7JKRHeap-_SDA_BASE_(r13)
|
||||
/* 802D8C50 002D5B90 7F 24 CB 78 */ mr r4, r25
|
||||
/* 802D8C54 002D5B94 7F 9D 00 D0 */ neg r28, r29
|
||||
/* 802D8C58 002D5B98 7F 85 E3 78 */ mr r5, r28
|
||||
@@ -196,7 +196,7 @@ lbl_802D8C74:
|
||||
/* 802D8C90 002D5BD0 39 00 00 01 */ li r8, 1
|
||||
/* 802D8C94 002D5BD4 39 20 00 00 */ li r9, 0
|
||||
/* 802D8C98 002D5BD8 39 40 00 00 */ li r10, 0
|
||||
/* 802D8C9C 002D5BDC 48 00 0F B9 */ bl loadToMainRAM__12JKRDvdRipperFlPUc15JKRExpandSwitchUlP7JKRHeapQ212JKRDvdRipper15EAllocDirectionUlP14JKRCompressionPUl
|
||||
/* 802D8C9C 002D5BDC 48 00 0F B9 */ bl loadToMainRAM__12JKRDvdRipperFlPUc15JKRExpandSwitchUlP7JKRHeapQ212JKRDvdRipper15EAllocDirectionUlPiPUl
|
||||
/* 802D8CA0 002D5BE0 7F 63 DB 78 */ mr r3, r27
|
||||
/* 802D8CA4 002D5BE4 7F 24 CB 78 */ mr r4, r25
|
||||
/* 802D8CA8 002D5BE8 48 06 28 D9 */ bl DCInvalidateRange
|
||||
@@ -226,7 +226,7 @@ lbl_802D8CF8:
|
||||
/* 802D8D04 002D5C44 7F 25 CB 78 */ mr r5, r25
|
||||
/* 802D8D08 002D5C48 38 C0 00 00 */ li r6, 0
|
||||
/* 802D8D0C 002D5C4C 48 00 2C 7D */ bl orderSync__9JKRDecompFPUcPUcUlUl
|
||||
/* 802D8D10 002D5C50 80 6D 8D F0 */ lwz r3, lbl_80451370-_SDA_BASE_(r13)
|
||||
/* 802D8D10 002D5C50 80 6D 8D F0 */ lwz r3, sSystemHeap__7JKRHeap-_SDA_BASE_(r13)
|
||||
/* 802D8D14 002D5C54 7F 64 DB 78 */ mr r4, r27
|
||||
/* 802D8D18 002D5C58 4B FF 58 31 */ bl free__7JKRHeapFPv
|
||||
/* 802D8D1C 002D5C5C 80 7E 00 0C */ lwz r3, 0xc(r30)
|
||||
@@ -255,7 +255,7 @@ lbl_802D8D50:
|
||||
/* 802D8D74 002D5CB4 80 9F 00 78 */ lwz r4, 0x78(r31)
|
||||
/* 802D8D78 002D5CB8 28 04 00 00 */ cmplwi r4, 0
|
||||
/* 802D8D7C 002D5CBC 41 82 00 68 */ beq lbl_802D8DE4
|
||||
/* 802D8D80 002D5CC0 80 6D 8E 48 */ lwz r3, lbl_804513C8-_SDA_BASE_(r13)
|
||||
/* 802D8D80 002D5CC0 80 6D 8E 48 */ lwz r3, sAramObject__7JKRAram-_SDA_BASE_(r13)
|
||||
/* 802D8D84 002D5CC4 80 63 00 94 */ lwz r3, 0x94(r3)
|
||||
/* 802D8D88 002D5CC8 38 A0 00 00 */ li r5, 0
|
||||
/* 802D8D8C 002D5CCC 4B FF A2 31 */ bl alloc__11JKRAramHeapFUlQ211JKRAramHeap10EAllocMode
|
||||
@@ -325,7 +325,7 @@ lbl_802D8E74:
|
||||
/* 802D8E74 002D5DB4 54 80 06 3F */ clrlwi. r0, r4, 0x18
|
||||
/* 802D8E78 002D5DB8 41 82 00 60 */ beq lbl_802D8ED8
|
||||
/* 802D8E7C 002D5DBC 7F A3 EB 78 */ mr r3, r29
|
||||
/* 802D8E80 002D5DC0 48 08 C2 51 */ bl func_803650D0
|
||||
/* 802D8E80 002D5DC0 48 08 C2 51 */ bl abs
|
||||
/* 802D8E84 002D5DC4 7C 64 1B 78 */ mr r4, r3
|
||||
/* 802D8E88 002D5DC8 80 BF 00 38 */ lwz r5, 0x38(r31)
|
||||
/* 802D8E8C 002D5DCC 80 7F 00 44 */ lwz r3, 0x44(r31)
|
||||
@@ -336,7 +336,7 @@ lbl_802D8E74:
|
||||
/* 802D8EA0 002D5DE0 80 7F 00 50 */ lwz r3, 0x50(r31)
|
||||
/* 802D8EA4 002D5DE4 28 03 00 00 */ cmplwi r3, 0
|
||||
/* 802D8EA8 002D5DE8 40 82 00 1C */ bne lbl_802D8EC4
|
||||
/* 802D8EAC 002D5DEC 80 6D 8D F0 */ lwz r3, lbl_80451370-_SDA_BASE_(r13)
|
||||
/* 802D8EAC 002D5DEC 80 6D 8D F0 */ lwz r3, sSystemHeap__7JKRHeap-_SDA_BASE_(r13)
|
||||
/* 802D8EB0 002D5DF0 80 9F 00 44 */ lwz r4, 0x44(r31)
|
||||
/* 802D8EB4 002D5DF4 4B FF 56 95 */ bl free__7JKRHeapFPv
|
||||
/* 802D8EB8 002D5DF8 38 00 00 00 */ li r0, 0
|
||||
@@ -347,11 +347,11 @@ lbl_802D8EC4:
|
||||
/* 802D8EC8 002D5E08 80 BF 00 44 */ lwz r5, 0x44(r31)
|
||||
/* 802D8ECC 002D5E0C 80 05 00 08 */ lwz r0, 8(r5)
|
||||
/* 802D8ED0 002D5E10 54 05 10 3A */ slwi r5, r0, 2
|
||||
/* 802D8ED4 002D5E14 4B D2 A5 85 */ bl func_80003458
|
||||
/* 802D8ED4 002D5E14 4B D2 A5 85 */ bl memset
|
||||
lbl_802D8ED8:
|
||||
/* 802D8ED8 002D5E18 28 1E 00 00 */ cmplwi r30, 0
|
||||
/* 802D8EDC 002D5E1C 41 82 00 10 */ beq lbl_802D8EEC
|
||||
/* 802D8EE0 002D5E20 80 6D 8D F0 */ lwz r3, lbl_80451370-_SDA_BASE_(r13)
|
||||
/* 802D8EE0 002D5E20 80 6D 8D F0 */ lwz r3, sSystemHeap__7JKRHeap-_SDA_BASE_(r13)
|
||||
/* 802D8EE4 002D5E24 7F C4 F3 78 */ mr r4, r30
|
||||
/* 802D8EE8 002D5E28 4B FF 56 61 */ bl free__7JKRHeapFPv
|
||||
lbl_802D8EEC:
|
||||
|
||||
@@ -63,7 +63,7 @@ lbl_802D9180:
|
||||
/* 802D9198 002D60D8 7F 85 E3 78 */ mr r5, r28
|
||||
/* 802D919C 002D60DC 57 A6 00 34 */ rlwinm r6, r29, 0, 0, 0x1a
|
||||
/* 802D91A0 002D60E0 7D 07 43 78 */ mr r7, r8
|
||||
/* 802D91A4 002D60E4 4B FF DD B9 */ bl fetchResource_subroutine__13JKRMemArchiveFPUcUlPUcUl14JKRCompression
|
||||
/* 802D91A4 002D60E4 4B FF DD B9 */ bl fetchResource_subroutine__13JKRMemArchiveFPUcUlPUcUli
|
||||
/* 802D91A8 002D60E8 7C 7B 1B 78 */ mr r27, r3
|
||||
/* 802D91AC 002D60EC 48 00 00 8C */ b lbl_802D9238
|
||||
lbl_802D91B0:
|
||||
|
||||
@@ -81,7 +81,7 @@ lbl_802D9458:
|
||||
/* 802D9484 002D63C4 80 1F 00 08 */ lwz r0, 8(r31)
|
||||
/* 802D9488 002D63C8 7D 29 02 14 */ add r9, r9, r0
|
||||
/* 802D948C 002D63CC 39 40 00 00 */ li r10, 0
|
||||
/* 802D9490 002D63D0 48 00 07 C5 */ bl loadToMainRAM__12JKRDvdRipperFlPUc15JKRExpandSwitchUlP7JKRHeapQ212JKRDvdRipper15EAllocDirectionUlP14JKRCompressionPUl
|
||||
/* 802D9490 002D63D0 48 00 07 C5 */ bl loadToMainRAM__12JKRDvdRipperFlPUc15JKRExpandSwitchUlP7JKRHeapQ212JKRDvdRipper15EAllocDirectionUlPiPUl
|
||||
/* 802D9494 002D63D4 7F A3 EB 78 */ mr r3, r29
|
||||
/* 802D9498 002D63D8 38 80 00 20 */ li r4, 0x20
|
||||
/* 802D949C 002D63DC 48 06 20 E5 */ bl DCInvalidateRange
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
#ifndef __JKRCOMPREESION_H__
|
||||
#define __JKRCOMPREESION_H__
|
||||
|
||||
#include "JSystem/JKernel/SArc.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
inline u32 read_big_endian_u32(void* ptr) {
|
||||
u8* uptr = (u8*)ptr;
|
||||
return ((u32)uptr[0] << 0x18) | ((u32)uptr[1] << 0x10) | ((u32)uptr[2] << 8) | (u32)uptr[3];
|
||||
}
|
||||
|
||||
inline u16 read_big_endian_u16(void* ptr) {
|
||||
u8* uptr = (u8*)ptr;
|
||||
return ((u16)uptr[0] << 8) | ((u16)uptr[1]);
|
||||
}
|
||||
|
||||
typedef int JKRCompression;
|
||||
const JKRCompression COMPRESSION_NONE = 0;
|
||||
const JKRCompression COMPRESSION_YAY0 = 1;
|
||||
const JKRCompression COMPRESSION_YAZ0 = 2;
|
||||
const JKRCompression COMPRESSION_ASR = 3;
|
||||
|
||||
inline u32 JKRDecompExpandSize(SArcHeader* header) {
|
||||
u8* fileLength = (u8*)&header->file_length;
|
||||
return read_big_endian_u32(fileLength);
|
||||
}
|
||||
|
||||
#endif
|
||||
@@ -1,6 +1,7 @@
|
||||
#ifndef __JKRDECOMP_H__
|
||||
#define __JKRDECOMP_H__
|
||||
|
||||
#include "JSystem/JKernel/JKRCompression.h"
|
||||
#include "JSystem/JKernel/JKRThread/JKRThread.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
@@ -30,19 +31,6 @@ public:
|
||||
#define JKRDECOMP_SYNC_BLOCKING 0
|
||||
#define JKRDECOMP_SYNC_NON_BLOCKING 1
|
||||
|
||||
#define READ_BIG_ENDIAN_U32(P) \
|
||||
(((u32)(((u8*)(P))[0]) << 0x18) | ((u32)(((u8*)(P))[1]) << 0x10) | \
|
||||
((u32)(((u8*)(P))[2]) << 8) | ((u32)(((u8*)(P))[3])))
|
||||
|
||||
#define READ_BIG_ENDIAN_U16(P) (((u32)(((u8*)(P))[0]) << 8) | ((u32)(((u8*)(P))[1])))
|
||||
|
||||
enum JKRCompression {
|
||||
COMPRESSION_NONE = 0,
|
||||
COMPRESSION_YAY0 = 1,
|
||||
COMPRESSION_YAZ0 = 2,
|
||||
COMPRESSION_ASR = 3,
|
||||
};
|
||||
|
||||
class JKRDecomp : public JKRThread {
|
||||
private:
|
||||
JKRDecomp(long);
|
||||
@@ -63,12 +51,12 @@ public:
|
||||
static JKRCompression checkCompressed(u8*);
|
||||
};
|
||||
|
||||
inline u32 JKRDecompExpandSize(const void* resource) {
|
||||
return READ_BIG_ENDIAN_U32((u8*)resource + 4);
|
||||
}
|
||||
|
||||
inline void JKRDecompress(u8* srcBuffer, u8* dstBuffer, u32 srcLength, u32 dstLength) {
|
||||
JKRDecomp::orderSync(srcBuffer, dstBuffer, srcLength, dstLength);
|
||||
}
|
||||
|
||||
inline JKRDecomp* JKRCreateDecompManager(long priority) {
|
||||
return JKRDecomp::create(priority);
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
/* 802DB698 002D85D8 28 00 00 00 */ cmplwi r0, 0
|
||||
/* 802DB69C 002D85DC 40 82 00 2C */ bne lbl_802DB6C8
|
||||
/* 802DB6A0 002D85E0 38 60 00 7C */ li r3, 0x7c
|
||||
/* 802DB6A4 002D85E4 80 8D 8D F0 */ lwz r4, lbl_80451370-_SDA_BASE_(r13)
|
||||
/* 802DB6A4 002D85E4 80 8D 8D F0 */ lwz r4, sSystemHeap__7JKRHeap-_SDA_BASE_(r13)
|
||||
/* 802DB6A8 002D85E8 38 A0 00 00 */ li r5, 0
|
||||
/* 802DB6AC 002D85EC 4B FF 35 ED */ bl __nw__FUlP7JKRHeapi
|
||||
/* 802DB6B0 002D85F0 7C 60 1B 79 */ or. r0, r3, r3
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
/* 802DB878 002D87B8 7C DE 33 78 */ mr r30, r6
|
||||
/* 802DB87C 002D87BC 7C FF 3B 78 */ mr r31, r7
|
||||
/* 802DB880 002D87C0 38 60 00 4C */ li r3, 0x4c
|
||||
/* 802DB884 002D87C4 80 8D 8D F0 */ lwz r4, lbl_80451370-_SDA_BASE_(r13)
|
||||
/* 802DB884 002D87C4 80 8D 8D F0 */ lwz r4, sSystemHeap__7JKRHeap-_SDA_BASE_(r13)
|
||||
/* 802DB888 002D87C8 38 A0 FF FC */ li r5, -4
|
||||
/* 802DB88C 002D87CC 4B FF 34 0D */ bl __nw__FUlP7JKRHeapi
|
||||
/* 802DB890 002D87D0 7C 64 1B 79 */ or. r4, r3, r3
|
||||
|
||||
@@ -22,9 +22,6 @@ public:
|
||||
};
|
||||
|
||||
void JKRDecompressFromDVDToAram(JKRDvdFile*, u32, u32, u32, u32, u32, u32*);
|
||||
static void decompSZS_subroutine(u8*, u32);
|
||||
static void firstSrcData(void);
|
||||
static void nextSrcData(u8*);
|
||||
void dmaBufferFlush(u32);
|
||||
|
||||
#endif
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
/* 802DA9E8 002D7928 7D 1D 43 78 */ mr r29, r8
|
||||
/* 802DA9EC 002D792C 7D 3E 4B 78 */ mr r30, r9
|
||||
/* 802DA9F0 002D7930 38 60 00 54 */ li r3, 0x54
|
||||
/* 802DA9F4 002D7934 80 8D 8D F0 */ lwz r4, lbl_80451370-_SDA_BASE_(r13)
|
||||
/* 802DA9F4 002D7934 80 8D 8D F0 */ lwz r4, sSystemHeap__7JKRHeap-_SDA_BASE_(r13)
|
||||
/* 802DA9F8 002D7938 38 A0 FF FC */ li r5, -4
|
||||
/* 802DA9FC 002D793C 4B FF 42 9D */ bl __nw__FUlP7JKRHeapi
|
||||
/* 802DAA00 002D7940 7C 7F 1B 79 */ or. r31, r3, r3
|
||||
|
||||
@@ -26,7 +26,7 @@ lbl_802DAAC8:
|
||||
/* 802DAAC8 002D7A08 48 06 61 BD */ bl OSGetCurrentThread
|
||||
/* 802DAACC 002D7A0C 90 7E 00 50 */ stw r3, 0x50(r30)
|
||||
/* 802DAAD0 002D7A10 38 60 00 10 */ li r3, 0x10
|
||||
/* 802DAAD4 002D7A14 80 8D 8D F0 */ lwz r4, lbl_80451370-_SDA_BASE_(r13)
|
||||
/* 802DAAD4 002D7A14 80 8D 8D F0 */ lwz r4, sSystemHeap__7JKRHeap-_SDA_BASE_(r13)
|
||||
/* 802DAAD8 002D7A18 38 A0 FF FC */ li r5, -4
|
||||
/* 802DAADC 002D7A1C 4B FF 41 BD */ bl __nw__FUlP7JKRHeapi
|
||||
/* 802DAAE0 002D7A20 7C 7C 1B 79 */ or. r28, r3, r3
|
||||
@@ -122,7 +122,7 @@ lbl_802DAC0C:
|
||||
/* 802DAC24 002D7B64 80 1D 00 30 */ lwz r0, 0x30(r29)
|
||||
/* 802DAC28 002D7B68 28 00 00 00 */ cmplwi r0, 0
|
||||
/* 802DAC2C 002D7B6C 40 82 00 38 */ bne lbl_802DAC64
|
||||
/* 802DAC30 002D7B70 80 6D 8E 48 */ lwz r3, lbl_804513C8-_SDA_BASE_(r13)
|
||||
/* 802DAC30 002D7B70 80 6D 8E 48 */ lwz r3, sAramObject__7JKRAram-_SDA_BASE_(r13)
|
||||
/* 802DAC34 002D7B74 80 63 00 94 */ lwz r3, 0x94(r3)
|
||||
/* 802DAC38 002D7B78 7F 24 CB 78 */ mr r4, r25
|
||||
/* 802DAC3C 002D7B7C 38 A0 00 00 */ li r5, 0
|
||||
@@ -157,7 +157,7 @@ lbl_802DAC94:
|
||||
/* 802DACA0 002D7BE0 80 1D 00 30 */ lwz r0, 0x30(r29)
|
||||
/* 802DACA4 002D7BE4 28 00 00 00 */ cmplwi r0, 0
|
||||
/* 802DACA8 002D7BE8 40 82 00 1C */ bne lbl_802DACC4
|
||||
/* 802DACAC 002D7BEC 80 6D 8E 48 */ lwz r3, lbl_804513C8-_SDA_BASE_(r13)
|
||||
/* 802DACAC 002D7BEC 80 6D 8E 48 */ lwz r3, sAramObject__7JKRAram-_SDA_BASE_(r13)
|
||||
/* 802DACB0 002D7BF0 80 63 00 94 */ lwz r3, 0x94(r3)
|
||||
/* 802DACB4 002D7BF4 7F 64 DB 78 */ mr r4, r27
|
||||
/* 802DACB8 002D7BF8 38 A0 00 00 */ li r5, 0
|
||||
|
||||
@@ -29,14 +29,14 @@ lbl_802DB040:
|
||||
/* 802DB04C 002D7F8C 38 63 43 C0 */ addi r3, r3, lbl_804343C0@l
|
||||
/* 802DB050 002D7F90 48 06 3F F1 */ bl OSLockMutex
|
||||
/* 802DB054 002D7F94 83 0D 83 54 */ lwz r24, lbl_804508D4-_SDA_BASE_(r13)
|
||||
/* 802DB058 002D7F98 80 6D 8D F0 */ lwz r3, lbl_80451370-_SDA_BASE_(r13)
|
||||
/* 802DB058 002D7F98 80 6D 8D F0 */ lwz r3, sSystemHeap__7JKRHeap-_SDA_BASE_(r13)
|
||||
/* 802DB05C 002D7F9C 7F 04 C3 78 */ mr r4, r24
|
||||
/* 802DB060 002D7FA0 38 A0 00 20 */ li r5, 0x20
|
||||
/* 802DB064 002D7FA4 4B FF 34 71 */ bl alloc__7JKRHeapFUli
|
||||
/* 802DB068 002D7FA8 90 6D 8E E8 */ stw r3, lbl_80451468-_SDA_BASE_(r13)
|
||||
/* 802DB06C 002D7FAC 7C 03 C2 14 */ add r0, r3, r24
|
||||
/* 802DB070 002D7FB0 90 0D 8E EC */ stw r0, lbl_8045146C-_SDA_BASE_(r13)
|
||||
/* 802DB074 002D7FB4 80 6D 8D F0 */ lwz r3, lbl_80451370-_SDA_BASE_(r13)
|
||||
/* 802DB074 002D7FB4 80 6D 8D F0 */ lwz r3, sSystemHeap__7JKRHeap-_SDA_BASE_(r13)
|
||||
/* 802DB078 002D7FB8 38 80 11 20 */ li r4, 0x1120
|
||||
/* 802DB07C 002D7FBC 38 A0 00 00 */ li r5, 0
|
||||
/* 802DB080 002D7FC0 4B FF 34 55 */ bl alloc__7JKRHeapFUli
|
||||
@@ -44,7 +44,7 @@ lbl_802DB040:
|
||||
/* 802DB088 002D7FC8 38 03 11 20 */ addi r0, r3, 0x1120
|
||||
/* 802DB08C 002D7FCC 90 0D 8E F4 */ stw r0, lbl_80451474-_SDA_BASE_(r13)
|
||||
/* 802DB090 002D7FD0 90 6D 8E F8 */ stw r3, lbl_80451478-_SDA_BASE_(r13)
|
||||
/* 802DB094 002D7FD4 80 6D 8D F0 */ lwz r3, lbl_80451370-_SDA_BASE_(r13)
|
||||
/* 802DB094 002D7FD4 80 6D 8D F0 */ lwz r3, sSystemHeap__7JKRHeap-_SDA_BASE_(r13)
|
||||
/* 802DB098 002D7FD8 38 80 01 00 */ li r4, 0x100
|
||||
/* 802DB09C 002D7FDC 38 A0 00 20 */ li r5, 0x20
|
||||
/* 802DB0A0 002D7FE0 4B FF 34 35 */ bl alloc__7JKRHeapFUli
|
||||
|
||||
@@ -4,25 +4,30 @@
|
||||
#include "JSystem/JKernel/JKRArchive/JKRArchive.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
class JKRDvdFile;
|
||||
class JKRDvdArchive : public JKRArchive {
|
||||
public:
|
||||
JKRDvdArchive(long, JKRArchive::EMountDirection);
|
||||
JKRDvdArchive(s32, JKRArchive::EMountDirection);
|
||||
virtual ~JKRDvdArchive();
|
||||
|
||||
void open(long);
|
||||
bool open(s32);
|
||||
|
||||
/* vt[15] */ virtual u32 getExpandedResSize(const void*) const; /* override */
|
||||
/* vt[15] */ virtual u32 getExpandedResSize(const void*); /* override */
|
||||
/* vt[16] */ virtual void* fetchResource(SDIFileEntry*, u32*); /* override */
|
||||
/* vt[17] */ virtual void* fetchResource(void*, u32, SDIFileEntry*, u32*); /* override */
|
||||
|
||||
public:
|
||||
static void fetchResource_subroutine(long, u32, u32, u8*, u32, int, int);
|
||||
static void fetchResource_subroutine(long, u32, u32, JKRHeap*, int, int, u8**);
|
||||
static u32 fetchResource_subroutine(s32, u32, u32, u8*, u32, JKRCompression, JKRCompression);
|
||||
static u32 fetchResource_subroutine(s32, u32, u32, JKRHeap*, JKRCompression, JKRCompression,
|
||||
u8**);
|
||||
|
||||
private:
|
||||
/* 0x00 */ // vtable
|
||||
/* 0x04 */ // JKRArchive
|
||||
u8 unk[16];
|
||||
/* 0x5C */ JKRCompression mCompression;
|
||||
/* 0x60 */ EMountDirection mMountDirection;
|
||||
/* 0x64 */ s32 field_0x64;
|
||||
/* 0x68 */ JKRDvdFile* mDvdFile;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -30,8 +30,8 @@ lbl_802D7C44:
|
||||
/* 802D7C58 002D4B98 80 03 00 04 */ lwz r0, 4(r3)
|
||||
/* 802D7C5C 002D4B9C 7C 04 02 14 */ add r0, r4, r0
|
||||
/* 802D7C60 002D4BA0 90 1D 00 28 */ stw r0, 0x28(r29)
|
||||
/* 802D7C64 002D4BA4 3C 60 80 43 */ lis r3, lbl_80434354@ha
|
||||
/* 802D7C68 002D4BA8 38 63 43 54 */ addi r3, r3, lbl_80434354@l
|
||||
/* 802D7C64 002D4BA4 3C 60 80 43 */ lis r3, sVolumeList__13JKRFileLoader@ha
|
||||
/* 802D7C68 002D4BA8 38 63 43 54 */ addi r3, r3, sVolumeList__13JKRFileLoader@l
|
||||
/* 802D7C6C 002D4BAC 38 9D 00 18 */ addi r4, r29, 0x18
|
||||
/* 802D7C70 002D4BB0 48 00 43 81 */ bl prepend__10JSUPtrListFP10JSUPtrLink
|
||||
/* 802D7C74 002D4BB4 38 00 00 01 */ li r0, 1
|
||||
|
||||
@@ -57,8 +57,8 @@ lbl_802D7D40:
|
||||
/* 802D7D5C 002D4C9C 7D 89 03 A6 */ mtctr r12
|
||||
/* 802D7D60 002D4CA0 4E 80 04 21 */ bctrl
|
||||
lbl_802D7D64:
|
||||
/* 802D7D64 002D4CA4 3C 60 80 43 */ lis r3, lbl_80434354@ha
|
||||
/* 802D7D68 002D4CA8 38 63 43 54 */ addi r3, r3, lbl_80434354@l
|
||||
/* 802D7D64 002D4CA4 3C 60 80 43 */ lis r3, sVolumeList__13JKRFileLoader@ha
|
||||
/* 802D7D68 002D4CA8 38 63 43 54 */ addi r3, r3, sVolumeList__13JKRFileLoader@l
|
||||
/* 802D7D6C 002D4CAC 38 9F 00 18 */ addi r4, r31, 0x18
|
||||
/* 802D7D70 002D4CB0 48 00 43 ED */ bl remove__10JSUPtrListFP10JSUPtrLink
|
||||
/* 802D7D74 002D4CB4 38 00 00 00 */ li r0, 0
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
/* 802D7DE0 002D4D20 90 03 00 4C */ stw r0, 0x4c(r3)
|
||||
/* 802D7DE4 002D4D24 90 03 00 54 */ stw r0, 0x54(r3)
|
||||
/* 802D7DE8 002D4D28 38 60 00 F8 */ li r3, 0xf8
|
||||
/* 802D7DEC 002D4D2C 80 8D 8D F0 */ lwz r4, lbl_80451370-_SDA_BASE_(r13)
|
||||
/* 802D7DEC 002D4D2C 80 8D 8D F0 */ lwz r4, sSystemHeap__7JKRHeap-_SDA_BASE_(r13)
|
||||
/* 802D7DF0 002D4D30 38 A0 00 00 */ li r5, 0
|
||||
/* 802D7DF4 002D4D34 4B FF 6E A5 */ bl __nw__FUlP7JKRHeapi
|
||||
/* 802D7DF8 002D4D38 7C 60 1B 79 */ or. r0, r3, r3
|
||||
@@ -32,7 +32,7 @@ lbl_802D7E0C:
|
||||
/* 802D7E24 002D4D64 38 60 00 00 */ li r3, 0
|
||||
/* 802D7E28 002D4D68 48 00 02 10 */ b lbl_802D8038
|
||||
lbl_802D7E2C:
|
||||
/* 802D7E2C 002D4D6C 80 6D 8D F0 */ lwz r3, lbl_80451370-_SDA_BASE_(r13)
|
||||
/* 802D7E2C 002D4D6C 80 6D 8D F0 */ lwz r3, sSystemHeap__7JKRHeap-_SDA_BASE_(r13)
|
||||
/* 802D7E30 002D4D70 38 80 00 20 */ li r4, 0x20
|
||||
/* 802D7E34 002D4D74 38 A0 00 20 */ li r5, 0x20
|
||||
/* 802D7E38 002D4D78 4B FF 66 9D */ bl alloc__7JKRHeapFUli
|
||||
@@ -52,7 +52,7 @@ lbl_802D7E50:
|
||||
/* 802D7E6C 002D4DAC 39 00 00 01 */ li r8, 1
|
||||
/* 802D7E70 002D4DB0 39 20 00 00 */ li r9, 0
|
||||
/* 802D7E74 002D4DB4 39 5D 00 5C */ addi r10, r29, 0x5c
|
||||
/* 802D7E78 002D4DB8 48 00 1D DD */ bl loadToMainRAM__12JKRDvdRipperFlPUc15JKRExpandSwitchUlP7JKRHeapQ212JKRDvdRipper15EAllocDirectionUlP14JKRCompressionPUl
|
||||
/* 802D7E78 002D4DB8 48 00 1D DD */ bl loadToMainRAM__12JKRDvdRipperFlPUc15JKRExpandSwitchUlP7JKRHeapQ212JKRDvdRipper15EAllocDirectionUlPiPUl
|
||||
/* 802D7E7C 002D4DBC 7F C3 F3 78 */ mr r3, r30
|
||||
/* 802D7E80 002D4DC0 38 80 00 20 */ li r4, 0x20
|
||||
/* 802D7E84 002D4DC4 48 06 36 FD */ bl DCInvalidateRange
|
||||
@@ -83,7 +83,7 @@ lbl_802D7EC8:
|
||||
/* 802D7EE0 002D4E20 39 00 00 01 */ li r8, 1
|
||||
/* 802D7EE4 002D4E24 39 20 00 20 */ li r9, 0x20
|
||||
/* 802D7EE8 002D4E28 39 40 00 00 */ li r10, 0
|
||||
/* 802D7EEC 002D4E2C 48 00 1D 69 */ bl loadToMainRAM__12JKRDvdRipperFlPUc15JKRExpandSwitchUlP7JKRHeapQ212JKRDvdRipper15EAllocDirectionUlP14JKRCompressionPUl
|
||||
/* 802D7EEC 002D4E2C 48 00 1D 69 */ bl loadToMainRAM__12JKRDvdRipperFlPUc15JKRExpandSwitchUlP7JKRHeapQ212JKRDvdRipper15EAllocDirectionUlPiPUl
|
||||
/* 802D7EF0 002D4E30 80 7D 00 44 */ lwz r3, 0x44(r29)
|
||||
/* 802D7EF4 002D4E34 80 9E 00 0C */ lwz r4, 0xc(r30)
|
||||
/* 802D7EF8 002D4E38 48 06 36 89 */ bl DCInvalidateRange
|
||||
@@ -123,7 +123,7 @@ lbl_802D7F74:
|
||||
/* 802D7F74 002D4EB4 54 80 06 3F */ clrlwi. r0, r4, 0x18
|
||||
/* 802D7F78 002D4EB8 41 82 00 60 */ beq lbl_802D7FD8
|
||||
/* 802D7F7C 002D4EBC 7F E3 FB 78 */ mr r3, r31
|
||||
/* 802D7F80 002D4EC0 48 08 D1 51 */ bl func_803650D0
|
||||
/* 802D7F80 002D4EC0 48 08 D1 51 */ bl abs
|
||||
/* 802D7F84 002D4EC4 7C 64 1B 78 */ mr r4, r3
|
||||
/* 802D7F88 002D4EC8 80 BD 00 38 */ lwz r5, 0x38(r29)
|
||||
/* 802D7F8C 002D4ECC 80 7D 00 44 */ lwz r3, 0x44(r29)
|
||||
@@ -134,7 +134,7 @@ lbl_802D7F74:
|
||||
/* 802D7FA0 002D4EE0 80 7D 00 50 */ lwz r3, 0x50(r29)
|
||||
/* 802D7FA4 002D4EE4 28 03 00 00 */ cmplwi r3, 0
|
||||
/* 802D7FA8 002D4EE8 40 82 00 1C */ bne lbl_802D7FC4
|
||||
/* 802D7FAC 002D4EEC 80 6D 8D F0 */ lwz r3, lbl_80451370-_SDA_BASE_(r13)
|
||||
/* 802D7FAC 002D4EEC 80 6D 8D F0 */ lwz r3, sSystemHeap__7JKRHeap-_SDA_BASE_(r13)
|
||||
/* 802D7FB0 002D4EF0 80 9D 00 44 */ lwz r4, 0x44(r29)
|
||||
/* 802D7FB4 002D4EF4 4B FF 65 95 */ bl free__7JKRHeapFPv
|
||||
/* 802D7FB8 002D4EF8 38 00 00 00 */ li r0, 0
|
||||
@@ -145,7 +145,7 @@ lbl_802D7FC4:
|
||||
/* 802D7FC8 002D4F08 80 BD 00 44 */ lwz r5, 0x44(r29)
|
||||
/* 802D7FCC 002D4F0C 80 05 00 08 */ lwz r0, 8(r5)
|
||||
/* 802D7FD0 002D4F10 54 05 10 3A */ slwi r5, r0, 2
|
||||
/* 802D7FD4 002D4F14 4B D2 B4 85 */ bl func_80003458
|
||||
/* 802D7FD4 002D4F14 4B D2 B4 85 */ bl memset
|
||||
lbl_802D7FD8:
|
||||
/* 802D7FD8 002D4F18 80 7E 00 08 */ lwz r3, 8(r30)
|
||||
/* 802D7FDC 002D4F1C 80 1E 00 0C */ lwz r0, 0xc(r30)
|
||||
@@ -154,7 +154,7 @@ lbl_802D7FD8:
|
||||
lbl_802D7FE8:
|
||||
/* 802D7FE8 002D4F28 28 1E 00 00 */ cmplwi r30, 0
|
||||
/* 802D7FEC 002D4F2C 41 82 00 10 */ beq lbl_802D7FFC
|
||||
/* 802D7FF0 002D4F30 80 6D 8D F0 */ lwz r3, lbl_80451370-_SDA_BASE_(r13)
|
||||
/* 802D7FF0 002D4F30 80 6D 8D F0 */ lwz r3, sSystemHeap__7JKRHeap-_SDA_BASE_(r13)
|
||||
/* 802D7FF4 002D4F34 7F C4 F3 78 */ mr r4, r30
|
||||
/* 802D7FF8 002D4F38 4B FF 65 51 */ bl free__7JKRHeapFPv
|
||||
lbl_802D7FFC:
|
||||
|
||||
@@ -44,7 +44,7 @@ lbl_802D82E4:
|
||||
/* 802D8300 002D5240 39 00 00 01 */ li r8, 1
|
||||
/* 802D8304 002D5244 7F C9 F3 78 */ mr r9, r30
|
||||
/* 802D8308 002D5248 39 40 00 00 */ li r10, 0
|
||||
/* 802D830C 002D524C 48 00 19 49 */ bl loadToMainRAM__12JKRDvdRipperFlPUc15JKRExpandSwitchUlP7JKRHeapQ212JKRDvdRipper15EAllocDirectionUlP14JKRCompressionPUl
|
||||
/* 802D830C 002D524C 48 00 19 49 */ bl loadToMainRAM__12JKRDvdRipperFlPUc15JKRExpandSwitchUlP7JKRHeapQ212JKRDvdRipper15EAllocDirectionUlPiPUl
|
||||
/* 802D8310 002D5250 7F E3 FB 78 */ mr r3, r31
|
||||
/* 802D8314 002D5254 7F 84 E3 78 */ mr r4, r28
|
||||
/* 802D8318 002D5258 48 06 32 69 */ bl DCInvalidateRange
|
||||
@@ -62,7 +62,7 @@ lbl_802D8324:
|
||||
/* 802D8344 002D5284 39 00 00 01 */ li r8, 1
|
||||
/* 802D8348 002D5288 7F C9 F3 78 */ mr r9, r30
|
||||
/* 802D834C 002D528C 39 40 00 00 */ li r10, 0
|
||||
/* 802D8350 002D5290 48 00 19 05 */ bl loadToMainRAM__12JKRDvdRipperFlPUc15JKRExpandSwitchUlP7JKRHeapQ212JKRDvdRipper15EAllocDirectionUlP14JKRCompressionPUl
|
||||
/* 802D8350 002D5290 48 00 19 05 */ bl loadToMainRAM__12JKRDvdRipperFlPUc15JKRExpandSwitchUlP7JKRHeapQ212JKRDvdRipper15EAllocDirectionUlPiPUl
|
||||
/* 802D8354 002D5294 7F 83 E3 78 */ mr r3, r28
|
||||
/* 802D8358 002D5298 38 80 00 20 */ li r4, 0x20
|
||||
/* 802D835C 002D529C 48 06 32 25 */ bl DCInvalidateRange
|
||||
@@ -90,7 +90,7 @@ lbl_802D8394:
|
||||
/* 802D83B0 002D52F0 39 00 00 01 */ li r8, 1
|
||||
/* 802D83B4 002D52F4 7F C9 F3 78 */ mr r9, r30
|
||||
/* 802D83B8 002D52F8 39 40 00 00 */ li r10, 0
|
||||
/* 802D83BC 002D52FC 48 00 18 99 */ bl loadToMainRAM__12JKRDvdRipperFlPUc15JKRExpandSwitchUlP7JKRHeapQ212JKRDvdRipper15EAllocDirectionUlP14JKRCompressionPUl
|
||||
/* 802D83BC 002D52FC 48 00 18 99 */ bl loadToMainRAM__12JKRDvdRipperFlPUc15JKRExpandSwitchUlP7JKRHeapQ212JKRDvdRipper15EAllocDirectionUlPiPUl
|
||||
/* 802D83C0 002D5300 7F E3 FB 78 */ mr r3, r31
|
||||
/* 802D83C4 002D5304 7F 44 D3 78 */ mr r4, r26
|
||||
/* 802D83C8 002D5308 48 06 31 B9 */ bl DCInvalidateRange
|
||||
@@ -111,7 +111,7 @@ lbl_802D83E0:
|
||||
/* 802D83FC 002D533C 39 00 00 01 */ li r8, 1
|
||||
/* 802D8400 002D5340 7F C9 F3 78 */ mr r9, r30
|
||||
/* 802D8404 002D5344 39 40 00 00 */ li r10, 0
|
||||
/* 802D8408 002D5348 48 00 18 4D */ bl loadToMainRAM__12JKRDvdRipperFlPUc15JKRExpandSwitchUlP7JKRHeapQ212JKRDvdRipper15EAllocDirectionUlP14JKRCompressionPUl
|
||||
/* 802D8408 002D5348 48 00 18 4D */ bl loadToMainRAM__12JKRDvdRipperFlPUc15JKRExpandSwitchUlP7JKRHeapQ212JKRDvdRipper15EAllocDirectionUlPiPUl
|
||||
/* 802D840C 002D534C 7F E3 FB 78 */ mr r3, r31
|
||||
/* 802D8410 002D5350 7F 44 D3 78 */ mr r4, r26
|
||||
/* 802D8414 002D5354 48 06 31 6D */ bl DCInvalidateRange
|
||||
|
||||
@@ -45,7 +45,7 @@ lbl_802D84E0:
|
||||
/* 802D8510 002D5450 39 00 00 01 */ li r8, 1
|
||||
/* 802D8514 002D5454 7F C9 F3 78 */ mr r9, r30
|
||||
/* 802D8518 002D5458 39 40 00 00 */ li r10, 0
|
||||
/* 802D851C 002D545C 48 00 17 39 */ bl loadToMainRAM__12JKRDvdRipperFlPUc15JKRExpandSwitchUlP7JKRHeapQ212JKRDvdRipper15EAllocDirectionUlP14JKRCompressionPUl
|
||||
/* 802D851C 002D545C 48 00 17 39 */ bl loadToMainRAM__12JKRDvdRipperFlPUc15JKRExpandSwitchUlP7JKRHeapQ212JKRDvdRipper15EAllocDirectionUlPiPUl
|
||||
/* 802D8520 002D5460 7F 83 E3 78 */ mr r3, r28
|
||||
/* 802D8524 002D5464 7F 64 DB 78 */ mr r4, r27
|
||||
/* 802D8528 002D5468 48 06 30 59 */ bl DCInvalidateRange
|
||||
@@ -64,7 +64,7 @@ lbl_802D8538:
|
||||
/* 802D8558 002D5498 39 00 00 01 */ li r8, 1
|
||||
/* 802D855C 002D549C 7F C9 F3 78 */ mr r9, r30
|
||||
/* 802D8560 002D54A0 39 40 00 00 */ li r10, 0
|
||||
/* 802D8564 002D54A4 48 00 16 F1 */ bl loadToMainRAM__12JKRDvdRipperFlPUc15JKRExpandSwitchUlP7JKRHeapQ212JKRDvdRipper15EAllocDirectionUlP14JKRCompressionPUl
|
||||
/* 802D8564 002D54A4 48 00 16 F1 */ bl loadToMainRAM__12JKRDvdRipperFlPUc15JKRExpandSwitchUlP7JKRHeapQ212JKRDvdRipper15EAllocDirectionUlPiPUl
|
||||
/* 802D8568 002D54A8 7F 63 DB 78 */ mr r3, r27
|
||||
/* 802D856C 002D54AC 38 80 00 20 */ li r4, 0x20
|
||||
/* 802D8570 002D54B0 48 06 30 11 */ bl DCInvalidateRange
|
||||
@@ -91,7 +91,7 @@ lbl_802D8538:
|
||||
/* 802D85C4 002D5504 39 00 00 01 */ li r8, 1
|
||||
/* 802D85C8 002D5508 7F C9 F3 78 */ mr r9, r30
|
||||
/* 802D85CC 002D550C 39 40 00 00 */ li r10, 0
|
||||
/* 802D85D0 002D5510 48 00 16 85 */ bl loadToMainRAM__12JKRDvdRipperFlPUc15JKRExpandSwitchUlP7JKRHeapQ212JKRDvdRipper15EAllocDirectionUlP14JKRCompressionPUl
|
||||
/* 802D85D0 002D5510 48 00 16 85 */ bl loadToMainRAM__12JKRDvdRipperFlPUc15JKRExpandSwitchUlP7JKRHeapQ212JKRDvdRipper15EAllocDirectionUlPiPUl
|
||||
/* 802D85D4 002D5514 7F 63 DB 78 */ mr r3, r27
|
||||
/* 802D85D8 002D5518 7F 84 E3 78 */ mr r4, r28
|
||||
/* 802D85DC 002D551C 48 06 2F A5 */ bl DCInvalidateRange
|
||||
@@ -114,7 +114,7 @@ lbl_802D85EC:
|
||||
/* 802D861C 002D555C 39 00 00 01 */ li r8, 1
|
||||
/* 802D8620 002D5560 7F C9 F3 78 */ mr r9, r30
|
||||
/* 802D8624 002D5564 39 40 00 00 */ li r10, 0
|
||||
/* 802D8628 002D5568 48 00 16 2D */ bl loadToMainRAM__12JKRDvdRipperFlPUc15JKRExpandSwitchUlP7JKRHeapQ212JKRDvdRipper15EAllocDirectionUlP14JKRCompressionPUl
|
||||
/* 802D8628 002D5568 48 00 16 2D */ bl loadToMainRAM__12JKRDvdRipperFlPUc15JKRExpandSwitchUlP7JKRHeapQ212JKRDvdRipper15EAllocDirectionUlPiPUl
|
||||
/* 802D862C 002D556C 7F 83 E3 78 */ mr r3, r28
|
||||
/* 802D8630 002D5570 7F 24 CB 78 */ mr r4, r25
|
||||
/* 802D8634 002D5574 48 06 2F 4D */ bl DCInvalidateRange
|
||||
|
||||
@@ -57,7 +57,7 @@ lbl_802D8734:
|
||||
/* 802D8760 002D56A0 80 1D 00 08 */ lwz r0, 8(r29)
|
||||
/* 802D8764 002D56A4 7D 29 02 14 */ add r9, r9, r0
|
||||
/* 802D8768 002D56A8 39 40 00 00 */ li r10, 0
|
||||
/* 802D876C 002D56AC 48 00 14 E9 */ bl loadToMainRAM__12JKRDvdRipperFlPUc15JKRExpandSwitchUlP7JKRHeapQ212JKRDvdRipper15EAllocDirectionUlP14JKRCompressionPUl
|
||||
/* 802D876C 002D56AC 48 00 14 E9 */ bl loadToMainRAM__12JKRDvdRipperFlPUc15JKRExpandSwitchUlP7JKRHeapQ212JKRDvdRipper15EAllocDirectionUlPiPUl
|
||||
/* 802D8770 002D56B0 7F C3 F3 78 */ mr r3, r30
|
||||
/* 802D8774 002D56B4 38 80 00 20 */ li r4, 0x20
|
||||
/* 802D8778 002D56B8 48 06 2E 09 */ bl DCInvalidateRange
|
||||
|
||||
@@ -50,6 +50,11 @@ private:
|
||||
|
||||
public:
|
||||
static void doneProcess(long, DVDFileInfo*);
|
||||
|
||||
static JSUList<JKRDvdFile>& getDvdList() { return sDvdList; }
|
||||
|
||||
private:
|
||||
static JSUList<JKRDvdFile> sDvdList;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -17,8 +17,8 @@
|
||||
/* 802D9888 002D67C8 88 1F 00 18 */ lbz r0, 0x18(r31)
|
||||
/* 802D988C 002D67CC 28 00 00 00 */ cmplwi r0, 0
|
||||
/* 802D9890 002D67D0 41 82 00 1C */ beq lbl_802D98AC
|
||||
/* 802D9894 002D67D4 3C 60 80 43 */ lis r3, lbl_8043436C@ha
|
||||
/* 802D9898 002D67D8 38 63 43 6C */ addi r3, r3, lbl_8043436C@l
|
||||
/* 802D9894 002D67D4 3C 60 80 43 */ lis r3, sDvdList__10JKRDvdFile@ha
|
||||
/* 802D9898 002D67D8 38 63 43 6C */ addi r3, r3, sDvdList__10JKRDvdFile@l
|
||||
/* 802D989C 002D67DC 38 9F 00 E4 */ addi r4, r31, 0xe4
|
||||
/* 802D98A0 002D67E0 48 00 26 AD */ bl append__10JSUPtrListFP10JSUPtrLink
|
||||
/* 802D98A4 002D67E4 38 7F 00 5C */ addi r3, r31, 0x5c
|
||||
|
||||
@@ -17,8 +17,8 @@
|
||||
/* 802D98FC 002D683C 88 1F 00 18 */ lbz r0, 0x18(r31)
|
||||
/* 802D9900 002D6840 28 00 00 00 */ cmplwi r0, 0
|
||||
/* 802D9904 002D6844 41 82 00 1C */ beq lbl_802D9920
|
||||
/* 802D9908 002D6848 3C 60 80 43 */ lis r3, lbl_8043436C@ha
|
||||
/* 802D990C 002D684C 38 63 43 6C */ addi r3, r3, lbl_8043436C@l
|
||||
/* 802D9908 002D6848 3C 60 80 43 */ lis r3, sDvdList__10JKRDvdFile@ha
|
||||
/* 802D990C 002D684C 38 63 43 6C */ addi r3, r3, sDvdList__10JKRDvdFile@l
|
||||
/* 802D9910 002D6850 38 9F 00 E4 */ addi r4, r31, 0xe4
|
||||
/* 802D9914 002D6854 48 00 26 39 */ bl append__10JSUPtrListFP10JSUPtrLink
|
||||
/* 802D9918 002D6858 38 7F 00 5C */ addi r3, r31, 0x5c
|
||||
|
||||
@@ -14,8 +14,8 @@
|
||||
/* 802D9964 002D68A4 41 82 00 20 */ beq lbl_802D9984
|
||||
/* 802D9968 002D68A8 38 00 00 00 */ li r0, 0
|
||||
/* 802D996C 002D68AC 98 1F 00 18 */ stb r0, 0x18(r31)
|
||||
/* 802D9970 002D68B0 3C 60 80 43 */ lis r3, lbl_8043436C@ha
|
||||
/* 802D9974 002D68B4 38 63 43 6C */ addi r3, r3, lbl_8043436C@l
|
||||
/* 802D9970 002D68B0 3C 60 80 43 */ lis r3, sDvdList__10JKRDvdFile@ha
|
||||
/* 802D9974 002D68B4 38 63 43 6C */ addi r3, r3, sDvdList__10JKRDvdFile@l
|
||||
/* 802D9978 002D68B8 38 9F 00 E4 */ addi r4, r31, 0xe4
|
||||
/* 802D997C 002D68BC 48 00 27 E1 */ bl remove__10JSUPtrListFP10JSUPtrLink
|
||||
/* 802D9980 002D68C0 48 00 00 20 */ b lbl_802D99A0
|
||||
|
||||
@@ -3,11 +3,11 @@
|
||||
/* 802D9B00 002D6A40 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 802D9B04 002D6A44 7C 08 02 A6 */ mflr r0
|
||||
/* 802D9B08 002D6A48 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 802D9B0C 002D6A4C 3C 60 80 43 */ lis r3, lbl_8043436C@ha
|
||||
/* 802D9B10 002D6A50 38 63 43 6C */ addi r3, r3, lbl_8043436C@l
|
||||
/* 802D9B0C 002D6A4C 3C 60 80 43 */ lis r3, sDvdList__10JKRDvdFile@ha
|
||||
/* 802D9B10 002D6A50 38 63 43 6C */ addi r3, r3, sDvdList__10JKRDvdFile@l
|
||||
/* 802D9B14 002D6A54 48 00 24 01 */ bl initiate__10JSUPtrListFv
|
||||
/* 802D9B18 002D6A58 3C 60 80 43 */ lis r3, lbl_8043436C@ha
|
||||
/* 802D9B1C 002D6A5C 38 63 43 6C */ addi r3, r3, lbl_8043436C@l
|
||||
/* 802D9B18 002D6A58 3C 60 80 43 */ lis r3, sDvdList__10JKRDvdFile@ha
|
||||
/* 802D9B1C 002D6A5C 38 63 43 6C */ addi r3, r3, sDvdList__10JKRDvdFile@l
|
||||
/* 802D9B20 002D6A60 3C 80 80 2E */ lis r4, JSUList_NS_dtor_X7_@ha
|
||||
/* 802D9B24 002D6A64 38 84 9B 44 */ addi r4, r4, JSUList_NS_dtor_X7_@l
|
||||
/* 802D9B28 002D6A68 3C A0 80 43 */ lis r5, lbl_80434360@ha
|
||||
|
||||
@@ -16,8 +16,8 @@ class JKRDvdRipper {
|
||||
public:
|
||||
enum EAllocDirection {
|
||||
UNKNOWN_EALLOC_DIRECTION = 0,
|
||||
FORWARD = 1,
|
||||
BACKWARD = 2,
|
||||
ALLOC_DIRECTION_FORWARD = 1,
|
||||
ALLOC_DIRECTION_BACKWARD = 2,
|
||||
};
|
||||
|
||||
static void* loadToMainRAM(char const*, u8*, JKRExpandSwitch, u32, JKRHeap*, EAllocDirection,
|
||||
@@ -31,8 +31,12 @@ public:
|
||||
};
|
||||
|
||||
void JKRDecompressFromDVD(JKRDvdFile*, void*, u32, u32, u32, u32, u32*);
|
||||
static void decompSZS_subroutine(u8*, u8*);
|
||||
static void firstSrcData(void);
|
||||
static void nextSrcData(u8*);
|
||||
|
||||
inline void* JKRDvdToMainRam(s32 entryNum, u8* dst, JKRExpandSwitch expandSwitch, u32 dstLength,
|
||||
JKRHeap* heap, JKRDvdRipper::EAllocDirection allocDirection,
|
||||
u32 offset, JKRCompression* compression, u32* returnSize) {
|
||||
return JKRDvdRipper::loadToMainRAM(entryNum, dst, expandSwitch, dstLength, heap, allocDirection,
|
||||
offset, compression, returnSize);
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* loadToMainRAM__12JKRDvdRipperFPCcPUc15JKRExpandSwitchUlP7JKRHeapQ212JKRDvdRipper15EAllocDirectionUlP14JKRCompressionPUl JKRDvdRipper::loadToMainRAM(char const *, unsigned char *, JKRExpandSwitch, unsigned long, JKRHeap *, JKRDvdRipper::EAllocDirection, unsigned long, int *, unsigned long *) */
|
||||
/* loadToMainRAM__12JKRDvdRipperFPCcPUc15JKRExpandSwitchUlP7JKRHeapQ212JKRDvdRipper15EAllocDirectionUlPiPUl JKRDvdRipper::loadToMainRAM(char const *, unsigned char *, JKRExpandSwitch, unsigned long, JKRHeap *, JKRDvdRipper::EAllocDirection, unsigned long, int *, unsigned long *) */
|
||||
/* JKRDvdRipper_NS_loadToMainRAM */
|
||||
/* 802D9B98 002D6AD8 94 21 FE D0 */ stwu r1, -0x130(r1)
|
||||
/* 802D9B9C 002D6ADC 7C 08 02 A6 */ mflr r0
|
||||
@@ -36,7 +36,7 @@ lbl_802D9C00:
|
||||
/* 802D9C18 002D6B58 7F 88 E3 78 */ mr r8, r28
|
||||
/* 802D9C1C 002D6B5C 7F A9 EB 78 */ mr r9, r29
|
||||
/* 802D9C20 002D6B60 7F CA F3 78 */ mr r10, r30
|
||||
/* 802D9C24 002D6B64 48 00 00 ED */ bl loadToMainRAM__12JKRDvdRipperFP10JKRDvdFilePUc15JKRExpandSwitchUlP7JKRHeapQ212JKRDvdRipper15EAllocDirectionUlP14JKRCompressionPUl
|
||||
/* 802D9C24 002D6B64 48 00 00 ED */ bl loadToMainRAM__12JKRDvdRipperFP10JKRDvdFilePUc15JKRExpandSwitchUlP7JKRHeapQ212JKRDvdRipper15EAllocDirectionUlPiPUl
|
||||
/* 802D9C28 002D6B68 7C 7F 1B 78 */ mr r31, r3
|
||||
/* 802D9C2C 002D6B6C 38 61 00 10 */ addi r3, r1, 0x10
|
||||
/* 802D9C30 002D6B70 38 80 FF FF */ li r4, -1
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* loadToMainRAM__12JKRDvdRipperFlPUc15JKRExpandSwitchUlP7JKRHeapQ212JKRDvdRipper15EAllocDirectionUlP14JKRCompressionPUl JKRDvdRipper::loadToMainRAM(long, unsigned char *, JKRExpandSwitch, unsigned long, JKRHeap *, JKRDvdRipper::EAllocDirection, unsigned long, int *, unsigned long *) */
|
||||
/* loadToMainRAM__12JKRDvdRipperFlPUc15JKRExpandSwitchUlP7JKRHeapQ212JKRDvdRipper15EAllocDirectionUlPiPUl JKRDvdRipper::loadToMainRAM(long, unsigned char *, JKRExpandSwitch, unsigned long, JKRHeap *, JKRDvdRipper::EAllocDirection, unsigned long, int *, unsigned long *) */
|
||||
/* JKRDvdRipper_NS_loadToMainRAM_X1_ */
|
||||
/* 802D9C54 002D6B94 94 21 FE D0 */ stwu r1, -0x130(r1)
|
||||
/* 802D9C58 002D6B98 7C 08 02 A6 */ mflr r0
|
||||
@@ -36,7 +36,7 @@ lbl_802D9CBC:
|
||||
/* 802D9CD4 002D6C14 7F 88 E3 78 */ mr r8, r28
|
||||
/* 802D9CD8 002D6C18 7F A9 EB 78 */ mr r9, r29
|
||||
/* 802D9CDC 002D6C1C 7F CA F3 78 */ mr r10, r30
|
||||
/* 802D9CE0 002D6C20 48 00 00 31 */ bl loadToMainRAM__12JKRDvdRipperFP10JKRDvdFilePUc15JKRExpandSwitchUlP7JKRHeapQ212JKRDvdRipper15EAllocDirectionUlP14JKRCompressionPUl
|
||||
/* 802D9CE0 002D6C20 48 00 00 31 */ bl loadToMainRAM__12JKRDvdRipperFP10JKRDvdFilePUc15JKRExpandSwitchUlP7JKRHeapQ212JKRDvdRipper15EAllocDirectionUlPiPUl
|
||||
/* 802D9CE4 002D6C24 7C 7F 1B 78 */ mr r31, r3
|
||||
/* 802D9CE8 002D6C28 38 61 00 10 */ addi r3, r1, 0x10
|
||||
/* 802D9CEC 002D6C2C 38 80 FF FF */ li r4, -1
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* loadToMainRAM__12JKRDvdRipperFP10JKRDvdFilePUc15JKRExpandSwitchUlP7JKRHeapQ212JKRDvdRipper15EAllocDirectionUlP14JKRCompressionPUl JKRDvdRipper::loadToMainRAM(JKRDvdFile *, unsigned char *, JKRExpandSwitch, unsigned long, JKRHeap *, JKRDvdRipper::EAllocDirection, unsigned long, int *, unsigned long *) */
|
||||
/* loadToMainRAM__12JKRDvdRipperFP10JKRDvdFilePUc15JKRExpandSwitchUlP7JKRHeapQ212JKRDvdRipper15EAllocDirectionUlPiPUl JKRDvdRipper::loadToMainRAM(JKRDvdFile *, unsigned char *, JKRExpandSwitch, unsigned long, JKRHeap *, JKRDvdRipper::EAllocDirection, unsigned long, int *, unsigned long *) */
|
||||
/* JKRDvdRipper_NS_loadToMainRAM_X2_ */
|
||||
/* 802D9D10 002D6C50 94 21 FF 40 */ stwu r1, -0xc0(r1)
|
||||
/* 802D9D14 002D6C54 7C 08 02 A6 */ mflr r0
|
||||
|
||||
@@ -29,7 +29,7 @@ lbl_802DA23C:
|
||||
/* 802DA248 002D7188 38 63 43 90 */ addi r3, r3, lbl_80434390@l
|
||||
/* 802DA24C 002D718C 48 06 4D F5 */ bl OSLockMutex
|
||||
/* 802DA250 002D7190 83 0D 83 4C */ lwz r24, lbl_804508CC-_SDA_BASE_(r13)
|
||||
/* 802DA254 002D7194 80 6D 8D F0 */ lwz r3, lbl_80451370-_SDA_BASE_(r13)
|
||||
/* 802DA254 002D7194 80 6D 8D F0 */ lwz r3, sSystemHeap__7JKRHeap-_SDA_BASE_(r13)
|
||||
/* 802DA258 002D7198 7F 04 C3 78 */ mr r4, r24
|
||||
/* 802DA25C 002D719C 38 A0 FF E0 */ li r5, -32
|
||||
/* 802DA260 002D71A0 4B FF 42 75 */ bl alloc__7JKRHeapFUli
|
||||
@@ -38,7 +38,7 @@ lbl_802DA23C:
|
||||
/* 802DA26C 002D71AC 90 0D 8E AC */ stw r0, lbl_8045142C-_SDA_BASE_(r13)
|
||||
/* 802DA270 002D71B0 28 1D 00 00 */ cmplwi r29, 0
|
||||
/* 802DA274 002D71B4 41 82 00 28 */ beq lbl_802DA29C
|
||||
/* 802DA278 002D71B8 80 6D 8D F0 */ lwz r3, lbl_80451370-_SDA_BASE_(r13)
|
||||
/* 802DA278 002D71B8 80 6D 8D F0 */ lwz r3, sSystemHeap__7JKRHeap-_SDA_BASE_(r13)
|
||||
/* 802DA27C 002D71BC 38 80 11 20 */ li r4, 0x1120
|
||||
/* 802DA280 002D71C0 38 A0 FF FC */ li r5, -4
|
||||
/* 802DA284 002D71C4 4B FF 42 51 */ bl alloc__7JKRHeapFUli
|
||||
|
||||
@@ -22,6 +22,7 @@ public:
|
||||
CMemBlock* getPrevBlock() const { return this->mPrev; }
|
||||
CMemBlock* getNextBlock() const { return this->mNext; }
|
||||
u32 getSize() const { return this->size; }
|
||||
static CMemBlock* getBlock(void* data) { return (CMemBlock*)((u32)data + -0x10); }
|
||||
|
||||
private:
|
||||
u16 mMagic;
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
/* 802CEDC4 002CBD04 7C 65 1B 78 */ mr r5, r3
|
||||
/* 802CEDC8 002CBD08 7C 9F 23 78 */ mr r31, r4
|
||||
/* 802CEDCC 002CBD0C 38 60 00 00 */ li r3, 0
|
||||
/* 802CEDD0 002CBD10 80 0D 8D F8 */ lwz r0, lbl_80451378-_SDA_BASE_(r13)
|
||||
/* 802CEDD0 002CBD10 80 0D 8D F8 */ lwz r0, sRootHeap__7JKRHeap-_SDA_BASE_(r13)
|
||||
/* 802CEDD4 002CBD14 28 00 00 00 */ cmplwi r0, 0
|
||||
/* 802CEDD8 002CBD18 40 82 00 38 */ bne lbl_802CEE10
|
||||
/* 802CEDDC 002CBD1C 38 61 00 0C */ addi r3, r1, 0xc
|
||||
@@ -23,7 +23,7 @@
|
||||
/* 802CEE04 002CBD44 7F E7 FB 78 */ mr r7, r31
|
||||
/* 802CEE08 002CBD48 48 00 02 29 */ bl __ct__10JKRExpHeapFPvUlP7JKRHeapb
|
||||
lbl_802CEE0C:
|
||||
/* 802CEE0C 002CBD4C 90 6D 8D F8 */ stw r3, lbl_80451378-_SDA_BASE_(r13)
|
||||
/* 802CEE0C 002CBD4C 90 6D 8D F8 */ stw r3, sRootHeap__7JKRHeap-_SDA_BASE_(r13)
|
||||
lbl_802CEE10:
|
||||
/* 802CEE10 002CBD50 38 00 00 01 */ li r0, 1
|
||||
/* 802CEE14 002CBD54 98 03 00 6E */ stb r0, 0x6e(r3)
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
/* 802CEE40 002CBD80 7C 9C 23 79 */ or. r28, r4, r4
|
||||
/* 802CEE44 002CBD84 7C BD 2B 78 */ mr r29, r5
|
||||
/* 802CEE48 002CBD88 40 82 00 08 */ bne lbl_802CEE50
|
||||
/* 802CEE4C 002CBD8C 83 8D 8D F8 */ lwz r28, lbl_80451378-_SDA_BASE_(r13)
|
||||
/* 802CEE4C 002CBD8C 83 8D 8D F8 */ lwz r28, sRootHeap__7JKRHeap-_SDA_BASE_(r13)
|
||||
lbl_802CEE50:
|
||||
/* 802CEE50 002CBD90 3C 03 00 01 */ addis r0, r3, 1
|
||||
/* 802CEE54 002CBD94 28 00 FF FF */ cmplwi r0, 0xffff
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
/* 802CEF1C 002CBE5C 7C DF 33 78 */ mr r31, r6
|
||||
/* 802CEF20 002CBE60 28 05 00 00 */ cmplwi r5, 0
|
||||
/* 802CEF24 002CBE64 40 82 00 20 */ bne lbl_802CEF44
|
||||
/* 802CEF28 002CBE68 80 6D 8D F8 */ lwz r3, lbl_80451378-_SDA_BASE_(r13)
|
||||
/* 802CEF28 002CBE68 80 6D 8D F8 */ lwz r3, sRootHeap__7JKRHeap-_SDA_BASE_(r13)
|
||||
/* 802CEF2C 002CBE6C 7F A4 EB 78 */ mr r4, r29
|
||||
/* 802CEF30 002CBE70 4B FF F9 65 */ bl find__7JKRHeapCFPv
|
||||
/* 802CEF34 002CBE74 7C 66 1B 79 */ or. r6, r3, r3
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
/* 802D00FC 002CD03C 38 63 00 4B */ addi r3, r3, 0x4b
|
||||
/* 802D0100 002CD040 4C C6 31 82 */ crclr 6
|
||||
/* 802D0104 002CD044 48 01 85 79 */ bl JUTWarningConsole_f
|
||||
/* 802D0108 002CD048 80 6D 8D F4 */ lwz r3, lbl_80451374-_SDA_BASE_(r13)
|
||||
/* 802D0108 002CD048 80 6D 8D F4 */ lwz r3, sCurrentHeap__7JKRHeap-_SDA_BASE_(r13)
|
||||
/* 802D010C 002CD04C 81 83 00 00 */ lwz r12, 0(r3)
|
||||
/* 802D0110 002CD050 81 8C 00 1C */ lwz r12, 0x1c(r12)
|
||||
/* 802D0114 002CD054 7D 89 03 A6 */ mtctr r12
|
||||
|
||||
@@ -25,8 +25,8 @@ lbl_802D49EC:
|
||||
/* 802D4A08 002D1948 38 60 00 00 */ li r3, 0
|
||||
/* 802D4A0C 002D194C 48 00 00 90 */ b lbl_802D4A9C
|
||||
lbl_802D4A10:
|
||||
/* 802D4A10 002D1950 3C 60 80 43 */ lis r3, lbl_80434354@ha
|
||||
/* 802D4A14 002D1954 83 A3 43 54 */ lwz r29, lbl_80434354@l(r3)
|
||||
/* 802D4A10 002D1950 3C 60 80 43 */ lis r3, sVolumeList__13JKRFileLoader@ha
|
||||
/* 802D4A14 002D1954 83 A3 43 54 */ lwz r29, sVolumeList__13JKRFileLoader@l(r3)
|
||||
/* 802D4A18 002D1958 48 00 00 50 */ b lbl_802D4A68
|
||||
lbl_802D4A1C:
|
||||
/* 802D4A1C 002D195C 80 9D 00 00 */ lwz r4, 0(r29)
|
||||
|
||||
@@ -30,7 +30,7 @@
|
||||
/* 802D4B20 002D1A60 80 BF 00 38 */ lwz r5, 0x38(r31)
|
||||
/* 802D4B24 002D1A64 4B FF 99 51 */ bl alloc__7JKRHeapFUliP7JKRHeap
|
||||
/* 802D4B28 002D1A68 90 7F 00 48 */ stw r3, 0x48(r31)
|
||||
/* 802D4B2C 002D1A6C 80 6D 8D F0 */ lwz r3, lbl_80451370-_SDA_BASE_(r13)
|
||||
/* 802D4B2C 002D1A6C 80 6D 8D F0 */ lwz r3, sSystemHeap__7JKRHeap-_SDA_BASE_(r13)
|
||||
/* 802D4B30 002D1A70 38 9E 00 02 */ addi r4, r30, 2
|
||||
/* 802D4B34 002D1A74 38 A0 00 01 */ li r5, 1
|
||||
/* 802D4B38 002D1A78 4B FF 99 9D */ bl alloc__7JKRHeapFUli
|
||||
@@ -65,7 +65,7 @@ lbl_802D4BA8:
|
||||
/* 802D4BA8 002D1AE8 7F C3 F3 78 */ mr r3, r30
|
||||
/* 802D4BAC 002D1AEC 48 09 40 39 */ bl strlen
|
||||
/* 802D4BB0 002D1AF0 38 83 00 01 */ addi r4, r3, 1
|
||||
/* 802D4BB4 002D1AF4 80 6D 8D F0 */ lwz r3, lbl_80451370-_SDA_BASE_(r13)
|
||||
/* 802D4BB4 002D1AF4 80 6D 8D F0 */ lwz r3, sSystemHeap__7JKRHeap-_SDA_BASE_(r13)
|
||||
/* 802D4BB8 002D1AF8 38 A0 00 00 */ li r5, 0
|
||||
/* 802D4BBC 002D1AFC 4B FF 99 19 */ bl alloc__7JKRHeapFUli
|
||||
/* 802D4BC0 002D1B00 90 7F 00 50 */ stw r3, 0x50(r31)
|
||||
@@ -89,7 +89,7 @@ lbl_802D4C00:
|
||||
/* 802D4C00 002D1B40 7F C3 F3 78 */ mr r3, r30
|
||||
/* 802D4C04 002D1B44 48 09 3F E1 */ bl strlen
|
||||
/* 802D4C08 002D1B48 38 83 00 01 */ addi r4, r3, 1
|
||||
/* 802D4C0C 002D1B4C 80 6D 8D F0 */ lwz r3, lbl_80451370-_SDA_BASE_(r13)
|
||||
/* 802D4C0C 002D1B4C 80 6D 8D F0 */ lwz r3, sSystemHeap__7JKRHeap-_SDA_BASE_(r13)
|
||||
/* 802D4C10 002D1B50 38 A0 00 00 */ li r5, 0
|
||||
/* 802D4C14 002D1B54 4B FF 98 C1 */ bl alloc__7JKRHeapFUli
|
||||
/* 802D4C18 002D1B58 90 7F 00 50 */ stw r3, 0x50(r31)
|
||||
@@ -102,8 +102,8 @@ lbl_802D4C00:
|
||||
/* 802D4C34 002D1B74 80 1F 00 50 */ lwz r0, 0x50(r31)
|
||||
/* 802D4C38 002D1B78 90 1F 00 28 */ stw r0, 0x28(r31)
|
||||
lbl_802D4C3C:
|
||||
/* 802D4C3C 002D1B7C 3C 60 80 43 */ lis r3, lbl_80434354@ha
|
||||
/* 802D4C40 002D1B80 38 63 43 54 */ addi r3, r3, lbl_80434354@l
|
||||
/* 802D4C3C 002D1B7C 3C 60 80 43 */ lis r3, sVolumeList__13JKRFileLoader@ha
|
||||
/* 802D4C40 002D1B80 38 63 43 54 */ addi r3, r3, sVolumeList__13JKRFileLoader@l
|
||||
/* 802D4C44 002D1B84 38 9F 00 18 */ addi r4, r31, 0x18
|
||||
/* 802D4C48 002D1B88 48 00 73 A9 */ bl prepend__10JSUPtrListFP10JSUPtrLink
|
||||
/* 802D4C4C 002D1B8C 38 00 00 01 */ li r0, 1
|
||||
|
||||
@@ -24,17 +24,17 @@ lbl_802D4CC0:
|
||||
/* 802D4CC0 002D1C00 80 9E 00 4C */ lwz r4, 0x4c(r30)
|
||||
/* 802D4CC4 002D1C04 28 04 00 00 */ cmplwi r4, 0
|
||||
/* 802D4CC8 002D1C08 41 82 00 0C */ beq lbl_802D4CD4
|
||||
/* 802D4CCC 002D1C0C 80 6D 8D F0 */ lwz r3, lbl_80451370-_SDA_BASE_(r13)
|
||||
/* 802D4CCC 002D1C0C 80 6D 8D F0 */ lwz r3, sSystemHeap__7JKRHeap-_SDA_BASE_(r13)
|
||||
/* 802D4CD0 002D1C10 4B FF 98 79 */ bl free__7JKRHeapFPv
|
||||
lbl_802D4CD4:
|
||||
/* 802D4CD4 002D1C14 80 9E 00 50 */ lwz r4, 0x50(r30)
|
||||
/* 802D4CD8 002D1C18 28 04 00 00 */ cmplwi r4, 0
|
||||
/* 802D4CDC 002D1C1C 41 82 00 0C */ beq lbl_802D4CE8
|
||||
/* 802D4CE0 002D1C20 80 6D 8D F0 */ lwz r3, lbl_80451370-_SDA_BASE_(r13)
|
||||
/* 802D4CE0 002D1C20 80 6D 8D F0 */ lwz r3, sSystemHeap__7JKRHeap-_SDA_BASE_(r13)
|
||||
/* 802D4CE4 002D1C24 4B FF 98 65 */ bl free__7JKRHeapFPv
|
||||
lbl_802D4CE8:
|
||||
/* 802D4CE8 002D1C28 3C 60 80 43 */ lis r3, lbl_80434354@ha
|
||||
/* 802D4CEC 002D1C2C 38 63 43 54 */ addi r3, r3, lbl_80434354@l
|
||||
/* 802D4CE8 002D1C28 3C 60 80 43 */ lis r3, sVolumeList__13JKRFileLoader@ha
|
||||
/* 802D4CEC 002D1C2C 38 63 43 54 */ addi r3, r3, sVolumeList__13JKRFileLoader@l
|
||||
/* 802D4CF0 002D1C30 38 9E 00 18 */ addi r4, r30, 0x18
|
||||
/* 802D4CF4 002D1C34 48 00 74 69 */ bl remove__10JSUPtrListFP10JSUPtrLink
|
||||
/* 802D4CF8 002D1C38 34 1E 00 3C */ addic. r0, r30, 0x3c
|
||||
|
||||
@@ -14,8 +14,8 @@
|
||||
/* 802D4D70 002D1CB0 54 00 06 3F */ clrlwi. r0, r0, 0x18
|
||||
/* 802D4D74 002D1CB4 7C 1E 03 78 */ mr r30, r0
|
||||
/* 802D4D78 002D1CB8 41 82 00 38 */ beq lbl_802D4DB0
|
||||
/* 802D4D7C 002D1CBC 93 AD 8E 98 */ stw r29, lbl_80451418-_SDA_BASE_(r13)
|
||||
/* 802D4D80 002D1CC0 80 6D 8D F0 */ lwz r3, lbl_80451370-_SDA_BASE_(r13)
|
||||
/* 802D4D7C 002D1CBC 93 AD 8E 98 */ stw r29, sCurrentVolume__13JKRFileLoader-_SDA_BASE_(r13)
|
||||
/* 802D4D80 002D1CC0 80 6D 8D F0 */ lwz r3, sSystemHeap__7JKRHeap-_SDA_BASE_(r13)
|
||||
/* 802D4D84 002D1CC4 80 9D 00 4C */ lwz r4, 0x4c(r29)
|
||||
/* 802D4D88 002D1CC8 4B FF 97 C1 */ bl free__7JKRHeapFPv
|
||||
/* 802D4D8C 002D1CCC 93 FD 00 4C */ stw r31, 0x4c(r29)
|
||||
@@ -28,7 +28,7 @@
|
||||
/* 802D4DA8 002D1CE8 48 09 3D 15 */ bl strcat
|
||||
/* 802D4DAC 002D1CEC 48 00 00 10 */ b lbl_802D4DBC
|
||||
lbl_802D4DB0:
|
||||
/* 802D4DB0 002D1CF0 80 6D 8D F0 */ lwz r3, lbl_80451370-_SDA_BASE_(r13)
|
||||
/* 802D4DB0 002D1CF0 80 6D 8D F0 */ lwz r3, sSystemHeap__7JKRHeap-_SDA_BASE_(r13)
|
||||
/* 802D4DB4 002D1CF4 7F E4 FB 78 */ mr r4, r31
|
||||
/* 802D4DB8 002D1CF8 4B FF 97 91 */ bl free__7JKRHeapFPv
|
||||
lbl_802D4DBC:
|
||||
|
||||
@@ -35,7 +35,7 @@
|
||||
/* 802D4E58 002D1D98 38 C0 00 00 */ li r6, 0
|
||||
/* 802D4E5C 002D1D9C 48 00 46 BD */ bl read__7JKRFileFPvll
|
||||
/* 802D4E60 002D1DA0 38 60 00 20 */ li r3, 0x20
|
||||
/* 802D4E64 002D1DA4 80 8D 8D F0 */ lwz r4, lbl_80451370-_SDA_BASE_(r13)
|
||||
/* 802D4E64 002D1DA4 80 8D 8D F0 */ lwz r4, sSystemHeap__7JKRHeap-_SDA_BASE_(r13)
|
||||
/* 802D4E68 002D1DA8 38 A0 00 00 */ li r5, 0
|
||||
/* 802D4E6C 002D1DAC 4B FF 9E 2D */ bl __nw__FUlP7JKRHeapi
|
||||
/* 802D4E70 002D1DB0 7C 64 1B 79 */ or. r4, r3, r3
|
||||
@@ -55,7 +55,7 @@ lbl_802D4E98:
|
||||
/* 802D4EA0 002D1DE0 90 03 00 10 */ stw r0, 0x10(r3)
|
||||
/* 802D4EA4 002D1DE4 83 E3 00 1C */ lwz r31, 0x1c(r3)
|
||||
lbl_802D4EA8:
|
||||
/* 802D4EA8 002D1DE8 80 6D 8D F0 */ lwz r3, lbl_80451370-_SDA_BASE_(r13)
|
||||
/* 802D4EA8 002D1DE8 80 6D 8D F0 */ lwz r3, sSystemHeap__7JKRHeap-_SDA_BASE_(r13)
|
||||
/* 802D4EAC 002D1DEC 7F C4 F3 78 */ mr r4, r30
|
||||
/* 802D4EB0 002D1DF0 4B FF 96 99 */ bl free__7JKRHeapFPv
|
||||
/* 802D4EB4 002D1DF4 38 61 00 08 */ addi r3, r1, 8
|
||||
|
||||
@@ -45,7 +45,7 @@ lbl_802D4FF4:
|
||||
/* 802D5000 002D1F40 4B D2 E5 41 */ bl memcpy
|
||||
/* 802D5004 002D1F44 4B FF FF 9C */ b lbl_802D4FA0
|
||||
lbl_802D5008:
|
||||
/* 802D5008 002D1F48 80 6D 8D F0 */ lwz r3, lbl_80451370-_SDA_BASE_(r13)
|
||||
/* 802D5008 002D1F48 80 6D 8D F0 */ lwz r3, sSystemHeap__7JKRHeap-_SDA_BASE_(r13)
|
||||
/* 802D500C 002D1F4C 7F E4 FB 78 */ mr r4, r31
|
||||
/* 802D5010 002D1F50 4B FF 95 39 */ bl free__7JKRHeapFPv
|
||||
/* 802D5014 002D1F54 38 61 00 08 */ addi r3, r1, 8
|
||||
|
||||
@@ -24,7 +24,7 @@ lbl_802D52D8:
|
||||
/* 802D52EC 002D222C 38 61 00 14 */ addi r3, r1, 0x14
|
||||
/* 802D52F0 002D2230 48 07 3D F5 */ bl DVDCloseDir
|
||||
lbl_802D52F4:
|
||||
/* 802D52F4 002D2234 80 6D 8D F0 */ lwz r3, lbl_80451370-_SDA_BASE_(r13)
|
||||
/* 802D52F4 002D2234 80 6D 8D F0 */ lwz r3, sSystemHeap__7JKRHeap-_SDA_BASE_(r13)
|
||||
/* 802D52F8 002D2238 7F C4 F3 78 */ mr r4, r30
|
||||
/* 802D52FC 002D223C 4B FF 92 4D */ bl free__7JKRHeapFPv
|
||||
/* 802D5300 002D2240 7F E3 FB 78 */ mr r3, r31
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
/* 802D5330 002D2270 48 00 01 ED */ bl getDvdPathName__12JKRFileCacheCFPCc
|
||||
/* 802D5334 002D2274 7C 7E 1B 78 */ mr r30, r3
|
||||
/* 802D5338 002D2278 38 60 00 24 */ li r3, 0x24
|
||||
/* 802D533C 002D227C 80 8D 8D F0 */ lwz r4, lbl_80451370-_SDA_BASE_(r13)
|
||||
/* 802D533C 002D227C 80 8D 8D F0 */ lwz r4, sSystemHeap__7JKRHeap-_SDA_BASE_(r13)
|
||||
/* 802D5340 002D2280 38 A0 00 00 */ li r5, 0
|
||||
/* 802D5344 002D2284 4B FF 99 55 */ bl __nw__FUlP7JKRHeapi
|
||||
/* 802D5348 002D2288 7C 7F 1B 79 */ or. r31, r3, r3
|
||||
@@ -17,7 +17,7 @@
|
||||
/* 802D5354 002D2294 4B FF F4 1D */ bl __ct__12JKRDvdFinderFPCc
|
||||
/* 802D5358 002D2298 7C 7F 1B 78 */ mr r31, r3
|
||||
lbl_802D535C:
|
||||
/* 802D535C 002D229C 80 6D 8D F0 */ lwz r3, lbl_80451370-_SDA_BASE_(r13)
|
||||
/* 802D535C 002D229C 80 6D 8D F0 */ lwz r3, sSystemHeap__7JKRHeap-_SDA_BASE_(r13)
|
||||
/* 802D5360 002D22A0 7F C4 F3 78 */ mr r4, r30
|
||||
/* 802D5364 002D22A4 4B FF 91 E5 */ bl free__7JKRHeapFPv
|
||||
/* 802D5368 002D22A8 88 1F 00 10 */ lbz r0, 0x10(r31)
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
/* 802D5554 002D2494 48 09 36 91 */ bl strlen
|
||||
/* 802D5558 002D2498 38 9F 00 02 */ addi r4, r31, 2
|
||||
/* 802D555C 002D249C 7C 83 22 14 */ add r4, r3, r4
|
||||
/* 802D5560 002D24A0 80 6D 8D F0 */ lwz r3, lbl_80451370-_SDA_BASE_(r13)
|
||||
/* 802D5560 002D24A0 80 6D 8D F0 */ lwz r3, sSystemHeap__7JKRHeap-_SDA_BASE_(r13)
|
||||
/* 802D5564 002D24A4 38 A0 00 01 */ li r5, 1
|
||||
/* 802D5568 002D24A8 4B FF 8F 6D */ bl alloc__7JKRHeapFUli
|
||||
/* 802D556C 002D24AC 7C 60 1B 78 */ mr r0, r3
|
||||
@@ -48,7 +48,7 @@ lbl_802D55B8:
|
||||
/* 802D55C8 002D2508 48 09 36 1D */ bl strlen
|
||||
/* 802D55CC 002D250C 38 9F 00 02 */ addi r4, r31, 2
|
||||
/* 802D55D0 002D2510 7C 83 22 14 */ add r4, r3, r4
|
||||
/* 802D55D4 002D2514 80 6D 8D F0 */ lwz r3, lbl_80451370-_SDA_BASE_(r13)
|
||||
/* 802D55D4 002D2514 80 6D 8D F0 */ lwz r3, sSystemHeap__7JKRHeap-_SDA_BASE_(r13)
|
||||
/* 802D55D8 002D2518 38 A0 00 01 */ li r5, 1
|
||||
/* 802D55DC 002D251C 4B FF 8E F9 */ bl alloc__7JKRHeapFUli
|
||||
/* 802D55E0 002D2520 7C 60 1B 78 */ mr r0, r3
|
||||
|
||||
@@ -4,10 +4,6 @@
|
||||
#include "JSystem/JKernel/JKRDisposer/JKRDisposer.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
class JKRFileLoader;
|
||||
extern JKRFileLoader* lbl_80451418; // JKRFileLoader::sCurrentVolume
|
||||
extern JSUList<JKRFileLoader> lbl_80434354; // JKRFileLoader::sVolumeList
|
||||
|
||||
class JKRFileFinder;
|
||||
class JKRFileLoader : public JKRDisposer {
|
||||
public:
|
||||
@@ -42,16 +38,19 @@ protected:
|
||||
/* 0x34 */ u32 mMountCount;
|
||||
|
||||
public:
|
||||
static void* getGlbResource(char const*);
|
||||
static void* getGlbResource(char const*, JKRFileLoader*);
|
||||
static void* getGlbResource(const char*);
|
||||
static void* getGlbResource(const char*, JKRFileLoader*);
|
||||
static bool removeResource(void*, JKRFileLoader*);
|
||||
static bool detachResource(void*, JKRFileLoader*);
|
||||
static JKRFileLoader* findVolume(char const**);
|
||||
static const char* fetchVolumeName(char*, long, char const*);
|
||||
static JKRFileLoader* findVolume(const char**);
|
||||
static const char* fetchVolumeName(char*, long, const char*);
|
||||
|
||||
static JKRFileLoader* getCurrentVolume() { return lbl_80451418; }
|
||||
static void setCurrentVolume(JKRFileLoader* fileLoader) { lbl_80451418 = fileLoader; }
|
||||
static JSUList<JKRFileLoader>& getVolumeList() { return lbl_80434354; }
|
||||
static JKRFileLoader* getCurrentVolume() { return sCurrentVolume; }
|
||||
static void setCurrentVolume(JKRFileLoader* fileLoader) { sCurrentVolume = fileLoader; }
|
||||
static JSUList<JKRFileLoader>& getVolumeList() { return sVolumeList; }
|
||||
|
||||
static JKRFileLoader* sCurrentVolume;
|
||||
static JSUList<JKRFileLoader> sVolumeList;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -11,11 +11,11 @@
|
||||
/* 802D4168 002D10A8 3C 60 80 3D */ lis r3, lbl_803CC1C8@ha
|
||||
/* 802D416C 002D10AC 38 03 C1 C8 */ addi r0, r3, lbl_803CC1C8@l
|
||||
/* 802D4170 002D10B0 90 1E 00 00 */ stw r0, 0(r30)
|
||||
/* 802D4174 002D10B4 80 0D 8E 98 */ lwz r0, lbl_80451418-_SDA_BASE_(r13)
|
||||
/* 802D4174 002D10B4 80 0D 8E 98 */ lwz r0, sCurrentVolume__13JKRFileLoader-_SDA_BASE_(r13)
|
||||
/* 802D4178 002D10B8 7C 00 F0 40 */ cmplw r0, r30
|
||||
/* 802D417C 002D10BC 40 82 00 0C */ bne lbl_802D4188
|
||||
/* 802D4180 002D10C0 38 00 00 00 */ li r0, 0
|
||||
/* 802D4184 002D10C4 90 0D 8E 98 */ stw r0, lbl_80451418-_SDA_BASE_(r13)
|
||||
/* 802D4184 002D10C4 90 0D 8E 98 */ stw r0, sCurrentVolume__13JKRFileLoader-_SDA_BASE_(r13)
|
||||
lbl_802D4188:
|
||||
/* 802D4188 002D10C8 34 1E 00 18 */ addic. r0, r30, 0x18
|
||||
/* 802D418C 002D10CC 41 82 00 10 */ beq lbl_802D419C
|
||||
|
||||
@@ -18,8 +18,8 @@
|
||||
/* 802D42AC 002D11EC 4E 80 04 21 */ bctrl
|
||||
/* 802D42B0 002D11F0 48 00 00 40 */ b lbl_802D42F0
|
||||
lbl_802D42B4:
|
||||
/* 802D42B4 002D11F4 3C 80 80 43 */ lis r4, lbl_80434354@ha
|
||||
/* 802D42B8 002D11F8 83 E4 43 54 */ lwz r31, lbl_80434354@l(r4)
|
||||
/* 802D42B4 002D11F4 3C 80 80 43 */ lis r4, sVolumeList__13JKRFileLoader@ha
|
||||
/* 802D42B8 002D11F8 83 E4 43 54 */ lwz r31, sVolumeList__13JKRFileLoader@l(r4)
|
||||
/* 802D42BC 002D11FC 48 00 00 2C */ b lbl_802D42E8
|
||||
lbl_802D42C0:
|
||||
/* 802D42C0 002D1200 80 7F 00 00 */ lwz r3, 0(r31)
|
||||
|
||||
@@ -16,8 +16,8 @@
|
||||
/* 802D433C 002D127C 4E 80 04 21 */ bctrl
|
||||
/* 802D4340 002D1280 48 00 00 48 */ b lbl_802D4388
|
||||
lbl_802D4344:
|
||||
/* 802D4344 002D1284 3C 60 80 43 */ lis r3, lbl_80434354@ha
|
||||
/* 802D4348 002D1288 83 E3 43 54 */ lwz r31, lbl_80434354@l(r3)
|
||||
/* 802D4344 002D1284 3C 60 80 43 */ lis r3, sVolumeList__13JKRFileLoader@ha
|
||||
/* 802D4348 002D1288 83 E3 43 54 */ lwz r31, sVolumeList__13JKRFileLoader@l(r3)
|
||||
/* 802D434C 002D128C 48 00 00 30 */ b lbl_802D437C
|
||||
lbl_802D4350:
|
||||
/* 802D4350 002D1290 80 7F 00 00 */ lwz r3, 0(r31)
|
||||
|
||||
@@ -16,8 +16,8 @@
|
||||
/* 802D43D4 002D1314 4E 80 04 21 */ bctrl
|
||||
/* 802D43D8 002D1318 48 00 00 48 */ b lbl_802D4420
|
||||
lbl_802D43DC:
|
||||
/* 802D43DC 002D131C 3C 60 80 43 */ lis r3, lbl_80434354@ha
|
||||
/* 802D43E0 002D1320 83 E3 43 54 */ lwz r31, lbl_80434354@l(r3)
|
||||
/* 802D43DC 002D131C 3C 60 80 43 */ lis r3, sVolumeList__13JKRFileLoader@ha
|
||||
/* 802D43E0 002D1320 83 E3 43 54 */ lwz r31, sVolumeList__13JKRFileLoader@l(r3)
|
||||
/* 802D43E4 002D1324 48 00 00 30 */ b lbl_802D4414
|
||||
lbl_802D43E8:
|
||||
/* 802D43E8 002D1328 80 7F 00 00 */ lwz r3, 0(r31)
|
||||
|
||||
@@ -9,15 +9,15 @@
|
||||
/* 802D4450 002D1390 88 05 00 00 */ lbz r0, 0(r5)
|
||||
/* 802D4454 002D1394 2C 00 00 2F */ cmpwi r0, 0x2f
|
||||
/* 802D4458 002D1398 41 82 00 0C */ beq lbl_802D4464
|
||||
/* 802D445C 002D139C 80 6D 8E 98 */ lwz r3, lbl_80451418-_SDA_BASE_(r13)
|
||||
/* 802D445C 002D139C 80 6D 8E 98 */ lwz r3, sCurrentVolume__13JKRFileLoader-_SDA_BASE_(r13)
|
||||
/* 802D4460 002D13A0 48 00 00 50 */ b lbl_802D44B0
|
||||
lbl_802D4464:
|
||||
/* 802D4464 002D13A4 38 61 00 08 */ addi r3, r1, 8
|
||||
/* 802D4468 002D13A8 38 80 01 01 */ li r4, 0x101
|
||||
/* 802D446C 002D13AC 48 00 00 59 */ bl fetchVolumeName__13JKRFileLoaderFPclPCc
|
||||
/* 802D4470 002D13B0 90 7F 00 00 */ stw r3, 0(r31)
|
||||
/* 802D4474 002D13B4 3C 60 80 43 */ lis r3, lbl_80434354@ha
|
||||
/* 802D4478 002D13B8 83 E3 43 54 */ lwz r31, lbl_80434354@l(r3)
|
||||
/* 802D4474 002D13B4 3C 60 80 43 */ lis r3, sVolumeList__13JKRFileLoader@ha
|
||||
/* 802D4478 002D13B8 83 E3 43 54 */ lwz r31, sVolumeList__13JKRFileLoader@l(r3)
|
||||
/* 802D447C 002D13BC 48 00 00 28 */ b lbl_802D44A4
|
||||
lbl_802D4480:
|
||||
/* 802D4480 002D13C0 80 9F 00 00 */ lwz r4, 0(r31)
|
||||
|
||||
@@ -3,11 +3,11 @@
|
||||
/* 802D45A0 002D14E0 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 802D45A4 002D14E4 7C 08 02 A6 */ mflr r0
|
||||
/* 802D45A8 002D14E8 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 802D45AC 002D14EC 3C 60 80 43 */ lis r3, lbl_80434354@ha
|
||||
/* 802D45B0 002D14F0 38 63 43 54 */ addi r3, r3, lbl_80434354@l
|
||||
/* 802D45AC 002D14EC 3C 60 80 43 */ lis r3, sVolumeList__13JKRFileLoader@ha
|
||||
/* 802D45B0 002D14F0 38 63 43 54 */ addi r3, r3, sVolumeList__13JKRFileLoader@l
|
||||
/* 802D45B4 002D14F4 48 00 79 61 */ bl initiate__10JSUPtrListFv
|
||||
/* 802D45B8 002D14F8 3C 60 80 43 */ lis r3, lbl_80434354@ha
|
||||
/* 802D45BC 002D14FC 38 63 43 54 */ addi r3, r3, lbl_80434354@l
|
||||
/* 802D45B8 002D14F8 3C 60 80 43 */ lis r3, sVolumeList__13JKRFileLoader@ha
|
||||
/* 802D45BC 002D14FC 38 63 43 54 */ addi r3, r3, sVolumeList__13JKRFileLoader@l
|
||||
/* 802D45C0 002D1500 3C 80 80 2D */ lis r4, JSUList_NS_dtor_X6_@ha
|
||||
/* 802D45C4 002D1504 38 84 45 E4 */ addi r4, r4, JSUList_NS_dtor_X6_@l
|
||||
/* 802D45C8 002D1508 3C A0 80 43 */ lis r5, lbl_80434348@ha
|
||||
|
||||
@@ -136,14 +136,16 @@ public:
|
||||
static void JKRDefaultMemoryErrorRoutine(JKRHeap* heap, u32 size, int alignment);
|
||||
static JKRErrorHandler setErrorHandler(JKRErrorHandler errorHandler);
|
||||
|
||||
static void* getCodeStart(void) { return lbl_80451384; }
|
||||
static void* getCodeEnd(void) { return lbl_80451388; }
|
||||
static void* getUserRamStart(void) { return lbl_8045138C; }
|
||||
static void* getUserRamEnd(void) { return lbl_80451390; }
|
||||
static u32 getMemorySize(void) { return lbl_80451394; }
|
||||
static JKRHeap* getRootHeap() { return lbl_80451378; }
|
||||
static JKRHeap* getSystemHeap() { return lbl_80451370; }
|
||||
static JKRHeap* getCurrentHeap() { return lbl_80451374; }
|
||||
static void* getCodeStart(void) { return mCodeStart; }
|
||||
static void* getCodeEnd(void) { return mCodeEnd; }
|
||||
static void* getUserRamStart(void) { return mUserRamStart; }
|
||||
static void* getUserRamEnd(void) { return mUserRamEnd; }
|
||||
static u32 getMemorySize(void) { return mMemorySize; }
|
||||
static JKRHeap* getRootHeap() { return sRootHeap; }
|
||||
static JKRHeap* getSystemHeap() { return sSystemHeap; }
|
||||
static JKRHeap* getCurrentHeap() { return sCurrentHeap; }
|
||||
static void setSystemHeap(JKRHeap* heap) { sSystemHeap = heap; }
|
||||
static void setCurrentHeap(JKRHeap* heap) { sCurrentHeap = heap; }
|
||||
|
||||
static void setState_u32ID_(TState* state, u32 id) { state->mId = id; }
|
||||
static void setState_uUsedSize_(TState* state, u32 usedSize) { state->mUsedSize = usedSize; }
|
||||
@@ -152,6 +154,16 @@ public:
|
||||
}
|
||||
static void* getState_buf_(TState* state) { return &state->mBuf; }
|
||||
static void* getState_(TState* state) { return getState_buf_(state); }
|
||||
|
||||
static void* mCodeStart;
|
||||
static void* mCodeEnd;
|
||||
static void* mUserRamStart;
|
||||
static void* mUserRamEnd;
|
||||
static u32 mMemorySize;
|
||||
|
||||
static JKRHeap* sRootHeap;
|
||||
static JKRHeap* sSystemHeap;
|
||||
static JKRHeap* sCurrentHeap;
|
||||
};
|
||||
|
||||
void* operator new(u32 size);
|
||||
@@ -191,4 +203,12 @@ inline void JKRFree(void* ptr) {
|
||||
JKRHeap::free(ptr, NULL);
|
||||
}
|
||||
|
||||
inline JKRHeap* JKRGetSystemHeap() {
|
||||
return JKRHeap::getSystemHeap();
|
||||
}
|
||||
|
||||
inline JKRHeap* JKRGetCurrentHeap() {
|
||||
return JKRHeap::getCurrentHeap();
|
||||
}
|
||||
|
||||
#endif
|
||||
@@ -40,15 +40,15 @@ lbl_802CE1C4:
|
||||
lbl_802CE1D0:
|
||||
/* 802CE1D0 002CB110 38 7D 00 40 */ addi r3, r29, 0x40
|
||||
/* 802CE1D4 002CB114 48 00 DD 79 */ bl append__10JSUPtrListFP10JSUPtrLink
|
||||
/* 802CE1D8 002CB118 80 6D 8D F0 */ lwz r3, lbl_80451370-_SDA_BASE_(r13)
|
||||
/* 802CE1DC 002CB11C 80 0D 8D F8 */ lwz r0, lbl_80451378-_SDA_BASE_(r13)
|
||||
/* 802CE1D8 002CB118 80 6D 8D F0 */ lwz r3, sSystemHeap__7JKRHeap-_SDA_BASE_(r13)
|
||||
/* 802CE1DC 002CB11C 80 0D 8D F8 */ lwz r0, sRootHeap__7JKRHeap-_SDA_BASE_(r13)
|
||||
/* 802CE1E0 002CB120 7C 03 00 40 */ cmplw r3, r0
|
||||
/* 802CE1E4 002CB124 40 82 00 0C */ bne lbl_802CE1F0
|
||||
/* 802CE1E8 002CB128 7F E3 FB 78 */ mr r3, r31
|
||||
/* 802CE1EC 002CB12C 48 00 02 3D */ bl becomeSystemHeap__7JKRHeapFv
|
||||
lbl_802CE1F0:
|
||||
/* 802CE1F0 002CB130 80 6D 8D F4 */ lwz r3, lbl_80451374-_SDA_BASE_(r13)
|
||||
/* 802CE1F4 002CB134 80 0D 8D F8 */ lwz r0, lbl_80451378-_SDA_BASE_(r13)
|
||||
/* 802CE1F0 002CB130 80 6D 8D F4 */ lwz r3, sCurrentHeap__7JKRHeap-_SDA_BASE_(r13)
|
||||
/* 802CE1F4 002CB134 80 0D 8D F8 */ lwz r0, sRootHeap__7JKRHeap-_SDA_BASE_(r13)
|
||||
/* 802CE1F8 002CB138 7C 03 00 40 */ cmplw r3, r0
|
||||
/* 802CE1FC 002CB13C 40 82 00 0C */ bne lbl_802CE208
|
||||
/* 802CE200 002CB140 7F E3 FB 78 */ mr r3, r31
|
||||
|
||||
@@ -15,13 +15,13 @@
|
||||
/* 802CE29C 002CB1DC 38 84 00 0C */ addi r4, r4, 0xc
|
||||
lbl_802CE2A0:
|
||||
/* 802CE2A0 002CB1E0 48 00 DE BD */ bl remove__10JSUPtrListFP10JSUPtrLink
|
||||
/* 802CE2A4 002CB1E4 80 8D 8D F8 */ lwz r4, lbl_80451378-_SDA_BASE_(r13)
|
||||
/* 802CE2A4 002CB1E4 80 8D 8D F8 */ lwz r4, sRootHeap__7JKRHeap-_SDA_BASE_(r13)
|
||||
/* 802CE2A8 002CB1E8 80 64 00 40 */ lwz r3, 0x40(r4)
|
||||
/* 802CE2AC 002CB1EC 28 03 00 00 */ cmplwi r3, 0
|
||||
/* 802CE2B0 002CB1F0 41 82 00 08 */ beq lbl_802CE2B8
|
||||
/* 802CE2B4 002CB1F4 38 63 FF F4 */ addi r3, r3, -12
|
||||
lbl_802CE2B8:
|
||||
/* 802CE2B8 002CB1F8 80 0D 8D F4 */ lwz r0, lbl_80451374-_SDA_BASE_(r13)
|
||||
/* 802CE2B8 002CB1F8 80 0D 8D F4 */ lwz r0, sCurrentHeap__7JKRHeap-_SDA_BASE_(r13)
|
||||
/* 802CE2BC 002CB1FC 7C 00 F0 40 */ cmplw r0, r30
|
||||
/* 802CE2C0 002CB200 40 82 00 1C */ bne lbl_802CE2DC
|
||||
/* 802CE2C4 002CB204 28 03 00 00 */ cmplwi r3, 0
|
||||
@@ -31,9 +31,9 @@ lbl_802CE2B8:
|
||||
lbl_802CE2D4:
|
||||
/* 802CE2D4 002CB214 80 03 00 0C */ lwz r0, 0xc(r3)
|
||||
lbl_802CE2D8:
|
||||
/* 802CE2D8 002CB218 90 0D 8D F4 */ stw r0, lbl_80451374-_SDA_BASE_(r13)
|
||||
/* 802CE2D8 002CB218 90 0D 8D F4 */ stw r0, sCurrentHeap__7JKRHeap-_SDA_BASE_(r13)
|
||||
lbl_802CE2DC:
|
||||
/* 802CE2DC 002CB21C 80 0D 8D F0 */ lwz r0, lbl_80451370-_SDA_BASE_(r13)
|
||||
/* 802CE2DC 002CB21C 80 0D 8D F0 */ lwz r0, sSystemHeap__7JKRHeap-_SDA_BASE_(r13)
|
||||
/* 802CE2E0 002CB220 7C 00 F0 40 */ cmplw r0, r30
|
||||
/* 802CE2E4 002CB224 40 82 00 18 */ bne lbl_802CE2FC
|
||||
/* 802CE2E8 002CB228 28 03 00 00 */ cmplwi r3, 0
|
||||
@@ -42,7 +42,7 @@ lbl_802CE2DC:
|
||||
lbl_802CE2F4:
|
||||
/* 802CE2F4 002CB234 80 83 00 0C */ lwz r4, 0xc(r3)
|
||||
lbl_802CE2F8:
|
||||
/* 802CE2F8 002CB238 90 8D 8D F0 */ stw r4, lbl_80451370-_SDA_BASE_(r13)
|
||||
/* 802CE2F8 002CB238 90 8D 8D F0 */ stw r4, sSystemHeap__7JKRHeap-_SDA_BASE_(r13)
|
||||
lbl_802CE2FC:
|
||||
/* 802CE2FC 002CB23C 34 1E 00 5C */ addic. r0, r30, 0x5c
|
||||
/* 802CE300 002CB240 41 82 00 10 */ beq lbl_802CE310
|
||||
|
||||
@@ -23,12 +23,12 @@ lbl_802CE3B8:
|
||||
/* 802CE3CC 002CB30C 54 1F 00 34 */ rlwinm r31, r0, 0, 0, 0x1a
|
||||
/* 802CE3D0 002CB310 57 BE 00 34 */ rlwinm r30, r29, 0, 0, 0x1a
|
||||
/* 802CE3D4 002CB314 3C 60 80 00 */ lis r3, 0x80000028@ha
|
||||
/* 802CE3D8 002CB318 90 6D 8E 04 */ stw r3, lbl_80451384-_SDA_BASE_(r13)
|
||||
/* 802CE3DC 002CB31C 93 ED 8E 08 */ stw r31, lbl_80451388-_SDA_BASE_(r13)
|
||||
/* 802CE3E0 002CB320 93 ED 8E 0C */ stw r31, lbl_8045138C-_SDA_BASE_(r13)
|
||||
/* 802CE3E4 002CB324 93 CD 8E 10 */ stw r30, lbl_80451390-_SDA_BASE_(r13)
|
||||
/* 802CE3D8 002CB318 90 6D 8E 04 */ stw r3, mCodeStart__7JKRHeap-_SDA_BASE_(r13)
|
||||
/* 802CE3DC 002CB31C 93 ED 8E 08 */ stw r31, mCodeEnd__7JKRHeap-_SDA_BASE_(r13)
|
||||
/* 802CE3E0 002CB320 93 ED 8E 0C */ stw r31, mUserRamStart__7JKRHeap-_SDA_BASE_(r13)
|
||||
/* 802CE3E4 002CB324 93 CD 8E 10 */ stw r30, mUserRamEnd__7JKRHeap-_SDA_BASE_(r13)
|
||||
/* 802CE3E8 002CB328 80 03 00 28 */ lwz r0, 0x80000028@l(r3)
|
||||
/* 802CE3EC 002CB32C 90 0D 8E 14 */ stw r0, lbl_80451394-_SDA_BASE_(r13)
|
||||
/* 802CE3EC 002CB32C 90 0D 8E 14 */ stw r0, mMemorySize__7JKRHeap-_SDA_BASE_(r13)
|
||||
/* 802CE3F0 002CB330 7F C3 F3 78 */ mr r3, r30
|
||||
/* 802CE3F4 002CB334 48 06 CE B1 */ bl OSSetArenaLo
|
||||
/* 802CE3F8 002CB338 7F C3 F3 78 */ mr r3, r30
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* 802CE428 002CB368 80 0D 8D F0 */ lwz r0, lbl_80451370-_SDA_BASE_(r13)
|
||||
/* 802CE42C 002CB36C 90 6D 8D F0 */ stw r3, lbl_80451370-_SDA_BASE_(r13)
|
||||
/* 802CE428 002CB368 80 0D 8D F0 */ lwz r0, sSystemHeap__7JKRHeap-_SDA_BASE_(r13)
|
||||
/* 802CE42C 002CB36C 90 6D 8D F0 */ stw r3, sSystemHeap__7JKRHeap-_SDA_BASE_(r13)
|
||||
/* 802CE430 002CB370 7C 03 03 78 */ mr r3, r0
|
||||
/* 802CE434 002CB374 4E 80 00 20 */ blr
|
||||
@@ -1,4 +1,4 @@
|
||||
/* 802CE438 002CB378 80 0D 8D F4 */ lwz r0, lbl_80451374-_SDA_BASE_(r13)
|
||||
/* 802CE43C 002CB37C 90 6D 8D F4 */ stw r3, lbl_80451374-_SDA_BASE_(r13)
|
||||
/* 802CE438 002CB378 80 0D 8D F4 */ lwz r0, sCurrentHeap__7JKRHeap-_SDA_BASE_(r13)
|
||||
/* 802CE43C 002CB37C 90 6D 8D F4 */ stw r3, sCurrentHeap__7JKRHeap-_SDA_BASE_(r13)
|
||||
/* 802CE440 002CB380 7C 03 03 78 */ mr r3, r0
|
||||
/* 802CE444 002CB384 4E 80 00 20 */ blr
|
||||
@@ -11,7 +11,7 @@
|
||||
/* 802CE49C 002CB3DC 48 00 00 39 */ bl alloc__7JKRHeapFUli
|
||||
/* 802CE4A0 002CB3E0 48 00 00 24 */ b lbl_802CE4C4
|
||||
lbl_802CE4A4:
|
||||
/* 802CE4A4 002CB3E4 80 6D 8D F4 */ lwz r3, lbl_80451374-_SDA_BASE_(r13)
|
||||
/* 802CE4A4 002CB3E4 80 6D 8D F4 */ lwz r3, sCurrentHeap__7JKRHeap-_SDA_BASE_(r13)
|
||||
/* 802CE4A8 002CB3E8 28 03 00 00 */ cmplwi r3, 0
|
||||
/* 802CE4AC 002CB3EC 41 82 00 14 */ beq lbl_802CE4C0
|
||||
/* 802CE4B0 002CB3F0 7C C4 33 78 */ mr r4, r6
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
/* 802CE840 002CB780 7C 08 02 A6 */ mflr r0
|
||||
/* 802CE844 002CB784 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 802CE848 002CB788 7C 64 1B 78 */ mr r4, r3
|
||||
/* 802CE84C 002CB78C 80 6D 8D F8 */ lwz r3, lbl_80451378-_SDA_BASE_(r13)
|
||||
/* 802CE84C 002CB78C 80 6D 8D F8 */ lwz r3, sRootHeap__7JKRHeap-_SDA_BASE_(r13)
|
||||
/* 802CE850 002CB790 28 03 00 00 */ cmplwi r3, 0
|
||||
/* 802CE854 002CB794 40 82 00 0C */ bne lbl_802CE860
|
||||
/* 802CE858 002CB798 38 60 00 00 */ li r3, 0
|
||||
|
||||
@@ -21,7 +21,7 @@ public:
|
||||
/* vt[09] */ void removeResourceAll(void); /* override */
|
||||
/* vt[10] */ bool removeResource(void*); /* override */
|
||||
|
||||
/* vt[15] */ u32 getExpandedResSize(const void*) const; /* override */
|
||||
/* vt[15] */ u32 getExpandedResSize(const void*); /* override */
|
||||
/* vt[16] */ void* fetchResource(SDIFileEntry*, u32*); /* override */
|
||||
/* vt[17] */ void* fetchResource(void*, u32, SDIFileEntry*, u32*); /* override */
|
||||
|
||||
|
||||
@@ -33,8 +33,8 @@ lbl_802D6A18:
|
||||
/* 802D6A2C 002D396C 80 03 00 04 */ lwz r0, 4(r3)
|
||||
/* 802D6A30 002D3970 7C 04 02 14 */ add r0, r4, r0
|
||||
/* 802D6A34 002D3974 90 1D 00 28 */ stw r0, 0x28(r29)
|
||||
/* 802D6A38 002D3978 3C 60 80 43 */ lis r3, lbl_80434354@ha
|
||||
/* 802D6A3C 002D397C 38 63 43 54 */ addi r3, r3, lbl_80434354@l
|
||||
/* 802D6A38 002D3978 3C 60 80 43 */ lis r3, sVolumeList__13JKRFileLoader@ha
|
||||
/* 802D6A3C 002D397C 38 63 43 54 */ addi r3, r3, sVolumeList__13JKRFileLoader@l
|
||||
/* 802D6A40 002D3980 38 9D 00 18 */ addi r4, r29, 0x18
|
||||
/* 802D6A44 002D3984 48 00 55 AD */ bl prepend__10JSUPtrListFP10JSUPtrLink
|
||||
/* 802D6A48 002D3988 38 00 00 01 */ li r0, 1
|
||||
|
||||
@@ -34,8 +34,8 @@ lbl_802D6AD0:
|
||||
/* 802D6AE4 002D3A24 80 03 00 04 */ lwz r0, 4(r3)
|
||||
/* 802D6AE8 002D3A28 7C 04 02 14 */ add r0, r4, r0
|
||||
/* 802D6AEC 002D3A2C 90 1C 00 28 */ stw r0, 0x28(r28)
|
||||
/* 802D6AF0 002D3A30 3C 60 80 43 */ lis r3, lbl_80434354@ha
|
||||
/* 802D6AF4 002D3A34 38 63 43 54 */ addi r3, r3, lbl_80434354@l
|
||||
/* 802D6AF0 002D3A30 3C 60 80 43 */ lis r3, sVolumeList__13JKRFileLoader@ha
|
||||
/* 802D6AF4 002D3A34 38 63 43 54 */ addi r3, r3, sVolumeList__13JKRFileLoader@l
|
||||
/* 802D6AF8 002D3A38 38 9C 00 18 */ addi r4, r28, 0x18
|
||||
/* 802D6AFC 002D3A3C 48 00 54 F5 */ bl prepend__10JSUPtrListFP10JSUPtrLink
|
||||
/* 802D6B00 002D3A40 38 00 00 01 */ li r0, 1
|
||||
|
||||
@@ -23,8 +23,8 @@
|
||||
/* 802D6B74 002D3AB4 80 9E 00 38 */ lwz r4, 0x38(r30)
|
||||
/* 802D6B78 002D3AB8 4B FF 79 89 */ bl free__7JKRHeapFPvP7JKRHeap
|
||||
lbl_802D6B7C:
|
||||
/* 802D6B7C 002D3ABC 3C 60 80 43 */ lis r3, lbl_80434354@ha
|
||||
/* 802D6B80 002D3AC0 38 63 43 54 */ addi r3, r3, lbl_80434354@l
|
||||
/* 802D6B7C 002D3ABC 3C 60 80 43 */ lis r3, sVolumeList__13JKRFileLoader@ha
|
||||
/* 802D6B80 002D3AC0 38 63 43 54 */ addi r3, r3, sVolumeList__13JKRFileLoader@l
|
||||
/* 802D6B84 002D3AC4 38 9E 00 18 */ addi r4, r30, 0x18
|
||||
/* 802D6B88 002D3AC8 48 00 55 D5 */ bl remove__10JSUPtrListFP10JSUPtrLink
|
||||
/* 802D6B8C 002D3ACC 38 00 00 00 */ li r0, 0
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
/* 802D6C2C 002D3B6C 39 00 00 01 */ li r8, 1
|
||||
/* 802D6C30 002D3B70 39 20 00 00 */ li r9, 0
|
||||
/* 802D6C34 002D3B74 39 5F 00 5C */ addi r10, r31, 0x5c
|
||||
/* 802D6C38 002D3B78 48 00 30 1D */ bl loadToMainRAM__12JKRDvdRipperFlPUc15JKRExpandSwitchUlP7JKRHeapQ212JKRDvdRipper15EAllocDirectionUlP14JKRCompressionPUl
|
||||
/* 802D6C38 002D3B78 48 00 30 1D */ bl loadToMainRAM__12JKRDvdRipperFlPUc15JKRExpandSwitchUlP7JKRHeapQ212JKRDvdRipper15EAllocDirectionUlPiPUl
|
||||
/* 802D6C3C 002D3B7C 90 7F 00 64 */ stw r3, 0x64(r31)
|
||||
/* 802D6C40 002D3B80 80 7F 00 64 */ lwz r3, 0x64(r31)
|
||||
/* 802D6C44 002D3B84 28 03 00 00 */ cmplwi r3, 0
|
||||
@@ -46,7 +46,7 @@ lbl_802D6C58:
|
||||
/* 802D6C74 002D3BB4 39 00 00 02 */ li r8, 2
|
||||
/* 802D6C78 002D3BB8 39 20 00 00 */ li r9, 0
|
||||
/* 802D6C7C 002D3BBC 39 5F 00 5C */ addi r10, r31, 0x5c
|
||||
/* 802D6C80 002D3BC0 48 00 2F D5 */ bl loadToMainRAM__12JKRDvdRipperFlPUc15JKRExpandSwitchUlP7JKRHeapQ212JKRDvdRipper15EAllocDirectionUlP14JKRCompressionPUl
|
||||
/* 802D6C80 002D3BC0 48 00 2F D5 */ bl loadToMainRAM__12JKRDvdRipperFlPUc15JKRExpandSwitchUlP7JKRHeapQ212JKRDvdRipper15EAllocDirectionUlPiPUl
|
||||
/* 802D6C84 002D3BC4 90 7F 00 64 */ stw r3, 0x64(r31)
|
||||
/* 802D6C88 002D3BC8 80 7F 00 64 */ lwz r3, 0x64(r31)
|
||||
/* 802D6C8C 002D3BCC 28 03 00 00 */ cmplwi r3, 0
|
||||
|
||||
@@ -41,7 +41,7 @@ lbl_802D6E88:
|
||||
/* 802D6E94 002D3DD4 7F E4 FB 78 */ mr r4, r31
|
||||
/* 802D6E98 002D3DD8 7F A5 EB 78 */ mr r5, r29
|
||||
/* 802D6E9C 002D3DDC 7D 06 43 78 */ mr r6, r8
|
||||
/* 802D6EA0 002D3DE0 48 00 00 BD */ bl fetchResource_subroutine__13JKRMemArchiveFPUcUlPUcUl14JKRCompression
|
||||
/* 802D6EA0 002D3DE0 48 00 00 BD */ bl fetchResource_subroutine__13JKRMemArchiveFPUcUlPUcUli
|
||||
/* 802D6EA4 002D3DE4 7C 7F 1B 78 */ mr r31, r3
|
||||
lbl_802D6EA8:
|
||||
/* 802D6EA8 002D3DE8 28 1E 00 00 */ cmplwi r30, 0
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* fetchResource_subroutine__13JKRMemArchiveFPUcUlPUcUl14JKRCompression __ct__13JKRMemArchiveFlQ210JKRArchive15EMountDirection::fetchResource_subroutine(unsigned char *, unsigned long, unsigned char *, unsigned long, int) */
|
||||
/* fetchResource_subroutine__13JKRMemArchiveFPUcUlPUcUli __ct__13JKRMemArchiveFlQ210JKRArchive15EMountDirection::fetchResource_subroutine(unsigned char *, unsigned long, unsigned char *, unsigned long, int) */
|
||||
/* JKRMemArchive_NS_fetchResource_subroutine */
|
||||
/* 802D6F5C 002D3E9C 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 802D6F60 002D3EA0 7C 08 02 A6 */ mflr r0
|
||||
|
||||
@@ -26,6 +26,7 @@ public:
|
||||
JKRHeap* getCurrentHeap() const { return mCurrentHeap; }
|
||||
JKRHeap* getCurrentHeapError() const { return mCurrentHeapError; }
|
||||
|
||||
protected:
|
||||
void resume() { OSResumeThread(mThreadRecord); }
|
||||
void sendMessage(OSMessage message) {
|
||||
OSSendMessage(&mMessageQueue, message, OS_MESSAGE_NON_BLOCKING);
|
||||
@@ -70,7 +71,9 @@ private:
|
||||
public:
|
||||
static void* start(void* param_1);
|
||||
static JKRThread* searchThread(OSThread* thread);
|
||||
static JSUList<JKRThread>* getList() { return &lbl_8043428C; }
|
||||
static JSUList<JKRThread>& getList() { return sThreadList; }
|
||||
|
||||
static JSUList<JKRThread> sThreadList;
|
||||
};
|
||||
|
||||
class JKRThreadSwitch {
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
/* 802D15C4 002CE504 4B FF D2 79 */ bl findFromRoot__7JKRHeapFPv
|
||||
/* 802D15C8 002CE508 7C 64 1B 79 */ or. r4, r3, r3
|
||||
/* 802D15CC 002CE50C 40 82 00 08 */ bne lbl_802D15D4
|
||||
/* 802D15D0 002CE510 80 8D 8D F0 */ lwz r4, lbl_80451370-_SDA_BASE_(r13)
|
||||
/* 802D15D0 002CE510 80 8D 8D F0 */ lwz r4, sSystemHeap__7JKRHeap-_SDA_BASE_(r13)
|
||||
lbl_802D15D4:
|
||||
/* 802D15D4 002CE514 7F 83 E3 78 */ mr r3, r28
|
||||
/* 802D15D8 002CE518 7F A5 EB 78 */ mr r5, r29
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
/* 802D1668 002CE5A8 90 1B 00 70 */ stw r0, 0x70(r27)
|
||||
/* 802D166C 002CE5AC 28 1C 00 00 */ cmplwi r28, 0
|
||||
/* 802D1670 002CE5B0 40 82 00 08 */ bne lbl_802D1678
|
||||
/* 802D1674 002CE5B4 83 8D 8D F4 */ lwz r28, lbl_80451374-_SDA_BASE_(r13)
|
||||
/* 802D1674 002CE5B4 83 8D 8D F4 */ lwz r28, sCurrentHeap__7JKRHeap-_SDA_BASE_(r13)
|
||||
lbl_802D1678:
|
||||
/* 802D1678 002CE5B8 7F 63 DB 78 */ mr r3, r27
|
||||
/* 802D167C 002CE5BC 7F 84 E3 78 */ mr r4, r28
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
/* 802D1724 002CE664 80 1E 03 04 */ lwz r0, 0x304(r30)
|
||||
/* 802D1728 002CE668 90 1D 00 58 */ stw r0, 0x58(r29)
|
||||
/* 802D172C 002CE66C 7F A3 EB 78 */ mr r3, r29
|
||||
/* 802D1730 002CE670 80 8D 8D F0 */ lwz r4, lbl_80451370-_SDA_BASE_(r13)
|
||||
/* 802D1730 002CE670 80 8D 8D F0 */ lwz r4, sSystemHeap__7JKRHeap-_SDA_BASE_(r13)
|
||||
/* 802D1734 002CE674 7F E5 FB 78 */ mr r5, r31
|
||||
/* 802D1738 002CE678 48 00 00 F9 */ bl setCommon_mesgQueue__9JKRThreadFP7JKRHeapi
|
||||
/* 802D173C 002CE67C 7F A3 EB 78 */ mr r3, r29
|
||||
|
||||
@@ -9,8 +9,8 @@
|
||||
/* 802D1778 002CE6B8 3C 60 80 3D */ lis r3, lbl_803CC114@ha
|
||||
/* 802D177C 002CE6BC 38 03 C1 14 */ addi r0, r3, lbl_803CC114@l
|
||||
/* 802D1780 002CE6C0 90 1E 00 00 */ stw r0, 0(r30)
|
||||
/* 802D1784 002CE6C4 3C 60 80 43 */ lis r3, lbl_8043428C@ha
|
||||
/* 802D1788 002CE6C8 38 63 42 8C */ addi r3, r3, lbl_8043428C@l
|
||||
/* 802D1784 002CE6C4 3C 60 80 43 */ lis r3, sThreadList__9JKRThread@ha
|
||||
/* 802D1788 002CE6C8 38 63 42 8C */ addi r3, r3, sThreadList__9JKRThread@l
|
||||
/* 802D178C 002CE6CC 38 9E 00 18 */ addi r4, r30, 0x18
|
||||
/* 802D1790 002CE6D0 48 00 A9 CD */ bl remove__10JSUPtrListFP10JSUPtrLink
|
||||
/* 802D1794 002CE6D4 80 1E 00 28 */ lwz r0, 0x28(r30)
|
||||
|
||||
@@ -15,8 +15,8 @@
|
||||
/* 802D1868 002CE7A8 80 9F 00 50 */ lwz r4, 0x50(r31)
|
||||
/* 802D186C 002CE7AC 80 BF 00 54 */ lwz r5, 0x54(r31)
|
||||
/* 802D1870 002CE7B0 48 06 D1 25 */ bl OSInitMessageQueue
|
||||
/* 802D1874 002CE7B4 3C 60 80 43 */ lis r3, lbl_8043428C@ha
|
||||
/* 802D1878 002CE7B8 38 63 42 8C */ addi r3, r3, lbl_8043428C@l
|
||||
/* 802D1874 002CE7B4 3C 60 80 43 */ lis r3, sThreadList__9JKRThread@ha
|
||||
/* 802D1878 002CE7B8 38 63 42 8C */ addi r3, r3, sThreadList__9JKRThread@l
|
||||
/* 802D187C 002CE7BC 38 9F 00 18 */ addi r4, r31, 0x18
|
||||
/* 802D1880 002CE7C0 48 00 A6 CD */ bl append__10JSUPtrListFP10JSUPtrLink
|
||||
/* 802D1884 002CE7C4 38 00 00 00 */ li r0, 0
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/* 802D1960 002CE8A0 3C 80 80 43 */ lis r4, lbl_8043428C@ha
|
||||
/* 802D1964 002CE8A4 38 84 42 8C */ addi r4, r4, lbl_8043428C@l
|
||||
/* 802D1960 002CE8A0 3C 80 80 43 */ lis r4, sThreadList__9JKRThread@ha
|
||||
/* 802D1964 002CE8A4 38 84 42 8C */ addi r4, r4, sThreadList__9JKRThread@l
|
||||
/* 802D1968 002CE8A8 80 84 00 00 */ lwz r4, 0(r4)
|
||||
/* 802D196C 002CE8AC 48 00 00 20 */ b lbl_802D198C
|
||||
lbl_802D1970:
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
/* 802D1A20 002CE960 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 802D1A24 002CE964 7C 7F 1B 79 */ or. r31, r3, r3
|
||||
/* 802D1A28 002CE968 40 82 00 08 */ bne lbl_802D1A30
|
||||
/* 802D1A2C 002CE96C 83 ED 8D F4 */ lwz r31, lbl_80451374-_SDA_BASE_(r13)
|
||||
/* 802D1A2C 002CE96C 83 ED 8D F4 */ lwz r31, sCurrentHeap__7JKRHeap-_SDA_BASE_(r13)
|
||||
lbl_802D1A30:
|
||||
/* 802D1A30 002CE970 38 60 00 28 */ li r3, 0x28
|
||||
/* 802D1A34 002CE974 7F E4 FB 78 */ mr r4, r31
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user