dol2asm OK

This commit is contained in:
Julgodis
2021-03-28 22:49:05 +02:00
parent 3d66902e1a
commit 1e95d29b60
60106 changed files with 4755966 additions and 1107376 deletions
+7
View File
@@ -0,0 +1,7 @@
#ifndef JKRARAM_H
#define JKRARAM_H
#include "dolphin/types.h"
#endif /* JKRARAM_H */
-75
View File
@@ -1,75 +0,0 @@
#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"
#include "global.h"
class JKRHeap;
class JKRAramBlock;
class JKRAram : public JKRThread {
private:
JKRAram(u32, u32, long);
virtual ~JKRAram();
/* vt[03] */ void* run(void); /* override */
public:
u32 getAudioMemory() const { return mAudioMemoryPtr; }
u32 getAudioMemSize() const { return mAudioMemorySize; }
u32 getGraphMemory() const { return mGraphMemoryPtr; }
u32 getGraphMemSize() const { return mGraphMemorySize; }
private:
/* 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 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 void dump(void);
static JKRAram* getManager() { return sAramObject; }
static JKRAramHeap* getAramHeap() { return getManager()->mAramHeap; }
static JSUList<JKRAMCommand>& getCommandList() { return sAramCommandList; }
static u8 decideAramGroupId(int groupId) {
JKRAramHeap* heap;
u8 finalGroupId;
if (groupId < 0) {
return getAramHeap()->getCurrentGroupID();
}
return (u8)groupId;
}
static u32 getSZSBufferSize() { return sSZSBufferSize; }
static void setSZSBufferSize(u32 size) { sSZSBufferSize = size; }
private:
static JKRAram* sAramObject;
static u32 sSZSBufferSize;
static OSMessage sMessageBuffer[4];
static OSMessageQueue sMessageQueue;
static JSUList<JKRAMCommand> sAramCommandList;
};
extern JKRAram* sAramObject__7JKRAram; // JKRAram::sAramObject
void JKRDecompressFromAramToMainRam(u32, void*, u32, u32, u32, u32*);
#endif
@@ -1,31 +0,0 @@
/* run__7JKRAramFv __ct__7JKRAramFUlUll::run(void) */
/* missing reference */
/* 802D21DC 002CF11C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802D21E0 002CF120 7C 08 02 A6 */ mflr r0
/* 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, 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, 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
/* 802D2218 002CF158 38 A0 00 01 */ li r5, 1
/* 802D221C 002CF15C 48 06 C8 A1 */ bl OSReceiveMessage
/* 802D2220 002CF160 80 61 00 08 */ lwz r3, 8(r1)
/* 802D2224 002CF164 83 C3 00 00 */ lwz r30, 0(r3)
/* 802D2228 002CF168 83 A3 00 04 */ lwz r29, 4(r3)
/* 802D222C 002CF16C 4B FF CB 11 */ bl __dl__FPv
/* 802D2230 002CF170 2C 1E 00 01 */ cmpwi r30, 1
/* 802D2234 002CF174 41 82 00 08 */ beq lbl_802D223C
/* 802D2238 002CF178 4B FF FF D8 */ b lbl_802D2210
lbl_802D223C:
/* 802D223C 002CF17C 7F A3 EB 78 */ mr r3, r29
/* 802D2240 002CF180 48 00 16 8D */ bl startDMA__12JKRAramPieceFP12JKRAMCommand
/* 802D2244 002CF184 4B FF FF CC */ b lbl_802D2210
@@ -1,184 +0,0 @@
/* mainRamToAram__7JKRAramFPUcUlUl15JKRExpandSwitchUlP7JKRHeapiPUl __ct__7JKRAramFUlUll::mainRamToAram(unsigned char *, unsigned long, unsigned long, JKRExpandSwitch, unsigned long, JKRHeap *, int, unsigned long *) */
/* JKRAram_NS_mainRamToAram */
/* 802D233C 002CF27C 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 802D2340 002CF280 7C 08 02 A6 */ mflr r0
/* 802D2344 002CF284 90 01 00 34 */ stw r0, 0x34(r1)
/* 802D2348 002CF288 39 61 00 30 */ addi r11, r1, 0x30
/* 802D234C 002CF28C 48 08 FE 79 */ bl _savegpr_23
/* 802D2350 002CF290 7C 7E 1B 78 */ mr r30, r3
/* 802D2354 002CF294 7C 98 23 78 */ mr r24, r4
/* 802D2358 002CF298 7C BF 2B 78 */ mr r31, r5
/* 802D235C 002CF29C 7C D7 33 78 */ mr r23, r6
/* 802D2360 002CF2A0 7C F9 3B 78 */ mr r25, r7
/* 802D2364 002CF2A4 7D 1A 43 78 */ mr r26, r8
/* 802D2368 002CF2A8 7D 3B 4B 78 */ mr r27, r9
/* 802D236C 002CF2AC 7D 5C 53 78 */ mr r28, r10
/* 802D2370 002CF2B0 3B A0 00 00 */ li r29, 0
/* 802D2374 002CF2B4 38 A0 00 00 */ li r5, 0
/* 802D2378 002CF2B8 38 C0 00 00 */ li r6, 0
/* 802D237C 002CF2BC 4B FF FE CD */ bl checkOkAddress__7JKRAramFPUcUlP12JKRAramBlockUl
/* 802D2380 002CF2C0 2C 17 00 01 */ cmpwi r23, 1
/* 802D2384 002CF2C4 40 82 00 20 */ bne lbl_802D23A4
/* 802D2388 002CF2C8 7F C3 F3 78 */ mr r3, r30
/* 802D238C 002CF2CC 48 00 99 6D */ bl checkCompressed__9JKRDecompFPUc
/* 802D2390 002CF2D0 2C 03 00 03 */ cmpwi r3, 3
/* 802D2394 002CF2D4 40 82 00 08 */ bne lbl_802D239C
/* 802D2398 002CF2D8 38 60 00 00 */ li r3, 0
lbl_802D239C:
/* 802D239C 002CF2DC 30 03 FF FF */ addic r0, r3, -1
/* 802D23A0 002CF2E0 7E E0 19 10 */ subfe r23, r0, r3
lbl_802D23A4:
/* 802D23A4 002CF2E4 2C 17 00 01 */ cmpwi r23, 1
/* 802D23A8 002CF2E8 40 82 01 54 */ bne lbl_802D24FC
/* 802D23AC 002CF2EC 88 BE 00 07 */ lbz r5, 7(r30)
/* 802D23B0 002CF2F0 88 9E 00 06 */ lbz r4, 6(r30)
/* 802D23B4 002CF2F4 88 7E 00 04 */ lbz r3, 4(r30)
/* 802D23B8 002CF2F8 88 1E 00 05 */ lbz r0, 5(r30)
/* 802D23BC 002CF2FC 54 00 80 1E */ slwi r0, r0, 0x10
/* 802D23C0 002CF300 50 60 C0 0E */ rlwimi r0, r3, 0x18, 0, 7
/* 802D23C4 002CF304 50 80 44 2E */ rlwimi r0, r4, 8, 0x10, 0x17
/* 802D23C8 002CF308 7C B7 03 78 */ or r23, r5, r0
/* 802D23CC 002CF30C 28 19 00 00 */ cmplwi r25, 0
/* 802D23D0 002CF310 41 82 00 0C */ beq lbl_802D23DC
/* 802D23D4 002CF314 7C 19 B8 40 */ cmplw r25, r23
/* 802D23D8 002CF318 40 81 00 0C */ ble lbl_802D23E4
lbl_802D23DC:
/* 802D23DC 002CF31C 38 17 00 1F */ addi r0, r23, 0x1f
/* 802D23E0 002CF320 54 19 00 34 */ rlwinm r25, r0, 0, 0, 0x1a
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, 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
/* 802D23FC 002CF33C 48 00 0B C1 */ bl alloc__11JKRAramHeapFUlQ211JKRAramHeap10EAllocMode
/* 802D2400 002CF340 7C 7D 1B 78 */ mr r29, r3
/* 802D2404 002CF344 28 03 00 00 */ cmplwi r3, 0
/* 802D2408 002CF348 40 82 00 0C */ bne lbl_802D2414
/* 802D240C 002CF34C 38 60 00 00 */ li r3, 0
/* 802D2410 002CF350 48 00 01 8C */ b lbl_802D259C
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, 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
lbl_802D242C:
/* 802D242C 002CF36C 57 60 06 3E */ clrlwi r0, r27, 0x18
lbl_802D2430:
/* 802D2430 002CF370 98 03 00 20 */ stb r0, 0x20(r3)
/* 802D2434 002CF374 83 03 00 14 */ lwz r24, 0x14(r3)
lbl_802D2438:
/* 802D2438 002CF378 28 1F 00 00 */ cmplwi r31, 0
/* 802D243C 002CF37C 41 82 00 0C */ beq lbl_802D2448
/* 802D2440 002CF380 7C 1F B8 40 */ cmplw r31, r23
/* 802D2444 002CF384 40 81 00 0C */ ble lbl_802D2450
lbl_802D2448:
/* 802D2448 002CF388 38 17 00 1F */ addi r0, r23, 0x1f
/* 802D244C 002CF38C 54 1F 00 34 */ rlwinm r31, r0, 0, 0, 0x1a
lbl_802D2450:
/* 802D2450 002CF390 7C 1F C8 40 */ cmplw r31, r25
/* 802D2454 002CF394 40 81 00 08 */ ble lbl_802D245C
/* 802D2458 002CF398 7F 3F CB 78 */ mr r31, r25
lbl_802D245C:
/* 802D245C 002CF39C 7F 23 CB 78 */ mr r3, r25
/* 802D2460 002CF3A0 38 80 FF E0 */ li r4, -32
/* 802D2464 002CF3A4 7F 45 D3 78 */ mr r5, r26
/* 802D2468 002CF3A8 4B FF C0 0D */ bl alloc__7JKRHeapFUliP7JKRHeap
/* 802D246C 002CF3AC 7C 77 1B 79 */ or. r23, r3, r3
/* 802D2470 002CF3B0 40 82 00 30 */ bne lbl_802D24A0
/* 802D2474 002CF3B4 28 1D 00 00 */ cmplwi r29, 0
/* 802D2478 002CF3B8 41 82 00 20 */ beq lbl_802D2498
/* 802D247C 002CF3BC 41 82 00 1C */ beq lbl_802D2498
/* 802D2480 002CF3C0 7F A3 EB 78 */ mr r3, r29
/* 802D2484 002CF3C4 38 80 00 01 */ li r4, 1
/* 802D2488 002CF3C8 81 9D 00 00 */ lwz r12, 0(r29)
/* 802D248C 002CF3CC 81 8C 00 08 */ lwz r12, 8(r12)
/* 802D2490 002CF3D0 7D 89 03 A6 */ mtctr r12
/* 802D2494 002CF3D4 4E 80 04 21 */ bctrl
lbl_802D2498:
/* 802D2498 002CF3D8 38 60 00 00 */ li r3, 0
/* 802D249C 002CF3DC 48 00 01 00 */ b lbl_802D259C
lbl_802D24A0:
/* 802D24A0 002CF3E0 7F C3 F3 78 */ mr r3, r30
/* 802D24A4 002CF3E4 7E E4 BB 78 */ mr r4, r23
/* 802D24A8 002CF3E8 7F 25 CB 78 */ mr r5, r25
/* 802D24AC 002CF3EC 38 C0 00 00 */ li r6, 0
/* 802D24B0 002CF3F0 48 00 94 D9 */ bl orderSync__9JKRDecompFPUcPUcUlUl
/* 802D24B4 002CF3F4 38 60 00 00 */ li r3, 0
/* 802D24B8 002CF3F8 7E E4 BB 78 */ mr r4, r23
/* 802D24BC 002CF3FC 7F 05 C3 78 */ mr r5, r24
/* 802D24C0 002CF400 7F E6 FB 78 */ mr r6, r31
/* 802D24C4 002CF404 7F A7 EB 78 */ mr r7, r29
/* 802D24C8 002CF408 48 00 13 71 */ bl orderSync__12JKRAramPieceFiUlUlUlP12JKRAramBlock
/* 802D24CC 002CF40C 7E E3 BB 78 */ mr r3, r23
/* 802D24D0 002CF410 7F 44 D3 78 */ mr r4, r26
/* 802D24D4 002CF414 4B FF C0 2D */ bl free__7JKRHeapFPvP7JKRHeap
/* 802D24D8 002CF418 28 1D 00 00 */ cmplwi r29, 0
/* 802D24DC 002CF41C 40 82 00 0C */ bne lbl_802D24E8
/* 802D24E0 002CF420 38 60 FF FF */ li r3, -1
/* 802D24E4 002CF424 48 00 00 08 */ b lbl_802D24EC
lbl_802D24E8:
/* 802D24E8 002CF428 7F A3 EB 78 */ mr r3, r29
lbl_802D24EC:
/* 802D24EC 002CF42C 28 1C 00 00 */ cmplwi r28, 0
/* 802D24F0 002CF430 41 82 00 AC */ beq lbl_802D259C
/* 802D24F4 002CF434 93 FC 00 00 */ stw r31, 0(r28)
/* 802D24F8 002CF438 48 00 00 A4 */ b lbl_802D259C
lbl_802D24FC:
/* 802D24FC 002CF43C 28 19 00 00 */ cmplwi r25, 0
/* 802D2500 002CF440 41 82 00 10 */ beq lbl_802D2510
/* 802D2504 002CF444 7C 1F C8 40 */ cmplw r31, r25
/* 802D2508 002CF448 40 81 00 08 */ ble lbl_802D2510
/* 802D250C 002CF44C 7F 3F CB 78 */ mr r31, r25
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, 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
/* 802D2528 002CF468 48 00 0A 95 */ bl alloc__11JKRAramHeapFUlQ211JKRAramHeap10EAllocMode
/* 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, 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
lbl_802D2548:
/* 802D2548 002CF488 57 60 06 3E */ clrlwi r0, r27, 0x18
lbl_802D254C:
/* 802D254C 002CF48C 98 03 00 20 */ stb r0, 0x20(r3)
/* 802D2550 002CF490 28 03 00 00 */ cmplwi r3, 0
/* 802D2554 002CF494 40 82 00 0C */ bne lbl_802D2560
/* 802D2558 002CF498 38 60 00 00 */ li r3, 0
/* 802D255C 002CF49C 48 00 00 40 */ b lbl_802D259C
lbl_802D2560:
/* 802D2560 002CF4A0 83 03 00 14 */ lwz r24, 0x14(r3)
lbl_802D2564:
/* 802D2564 002CF4A4 38 60 00 00 */ li r3, 0
/* 802D2568 002CF4A8 7F C4 F3 78 */ mr r4, r30
/* 802D256C 002CF4AC 7F 05 C3 78 */ mr r5, r24
/* 802D2570 002CF4B0 7F E6 FB 78 */ mr r6, r31
/* 802D2574 002CF4B4 7F A7 EB 78 */ mr r7, r29
/* 802D2578 002CF4B8 48 00 12 C1 */ bl orderSync__12JKRAramPieceFiUlUlUlP12JKRAramBlock
/* 802D257C 002CF4BC 28 1D 00 00 */ cmplwi r29, 0
/* 802D2580 002CF4C0 40 82 00 0C */ bne lbl_802D258C
/* 802D2584 002CF4C4 38 60 FF FF */ li r3, -1
/* 802D2588 002CF4C8 48 00 00 08 */ b lbl_802D2590
lbl_802D258C:
/* 802D258C 002CF4CC 7F A3 EB 78 */ mr r3, r29
lbl_802D2590:
/* 802D2590 002CF4D0 28 1C 00 00 */ cmplwi r28, 0
/* 802D2594 002CF4D4 41 82 00 08 */ beq lbl_802D259C
/* 802D2598 002CF4D8 93 FC 00 00 */ stw r31, 0(r28)
lbl_802D259C:
/* 802D259C 002CF4DC 39 61 00 30 */ addi r11, r1, 0x30
/* 802D25A0 002CF4E0 48 08 FC 71 */ bl _restgpr_23
/* 802D25A4 002CF4E4 80 01 00 34 */ lwz r0, 0x34(r1)
/* 802D25A8 002CF4E8 7C 08 03 A6 */ mtlr r0
/* 802D25AC 002CF4EC 38 21 00 30 */ addi r1, r1, 0x30
/* 802D25B0 002CF4F0 4E 80 00 20 */ blr
@@ -1,179 +0,0 @@
/* aramToMainRam__7JKRAramFUlPUcUl15JKRExpandSwitchUlP7JKRHeapiPUl __ct__7JKRAramFUlUll::aramToMainRam(unsigned long, unsigned char *, unsigned long, JKRExpandSwitch, unsigned long, JKRHeap *, int, unsigned long *) */
/* JKRAram_NS_aramToMainRam */
/* 802D25B4 002CF4F4 94 21 FF 90 */ stwu r1, -0x70(r1)
/* 802D25B8 002CF4F8 7C 08 02 A6 */ mflr r0
/* 802D25BC 002CF4FC 90 01 00 74 */ stw r0, 0x74(r1)
/* 802D25C0 002CF500 39 61 00 70 */ addi r11, r1, 0x70
/* 802D25C4 002CF504 48 08 FB FD */ bl _savegpr_22
/* 802D25C8 002CF508 7C 79 1B 78 */ mr r25, r3
/* 802D25CC 002CF50C 7C 9A 23 78 */ mr r26, r4
/* 802D25D0 002CF510 7C BB 2B 78 */ mr r27, r5
/* 802D25D4 002CF514 7C D6 33 78 */ mr r22, r6
/* 802D25D8 002CF518 7C FC 3B 78 */ mr r28, r7
/* 802D25DC 002CF51C 7D 1D 43 78 */ mr r29, r8
/* 802D25E0 002CF520 7D 3E 4B 78 */ mr r30, r9
/* 802D25E4 002CF524 7D 5F 53 79 */ or. r31, r10, r10
/* 802D25E8 002CF528 3B 00 00 00 */ li r24, 0
/* 802D25EC 002CF52C 41 82 00 0C */ beq lbl_802D25F8
/* 802D25F0 002CF530 38 00 00 00 */ li r0, 0
/* 802D25F4 002CF534 90 1F 00 00 */ stw r0, 0(r31)
lbl_802D25F8:
/* 802D25F8 002CF538 7F 43 D3 78 */ mr r3, r26
/* 802D25FC 002CF53C 7F 24 CB 78 */ mr r4, r25
/* 802D2600 002CF540 38 A0 00 00 */ li r5, 0
/* 802D2604 002CF544 38 C0 00 00 */ li r6, 0
/* 802D2608 002CF548 4B FF FC 41 */ bl checkOkAddress__7JKRAramFPUcUlP12JKRAramBlockUl
/* 802D260C 002CF54C 2C 16 00 01 */ cmpwi r22, 1
/* 802D2610 002CF550 40 82 00 5C */ bne lbl_802D266C
/* 802D2614 002CF554 38 01 00 27 */ addi r0, r1, 0x27
/* 802D2618 002CF558 54 17 00 34 */ rlwinm r23, r0, 0, 0, 0x1a
/* 802D261C 002CF55C 38 60 00 01 */ li r3, 1
/* 802D2620 002CF560 7F 24 CB 78 */ mr r4, r25
/* 802D2624 002CF564 7E E5 BB 78 */ mr r5, r23
/* 802D2628 002CF568 38 C0 00 20 */ li r6, 0x20
/* 802D262C 002CF56C 38 E0 00 00 */ li r7, 0
/* 802D2630 002CF570 48 00 12 09 */ bl orderSync__12JKRAramPieceFiUlUlUlP12JKRAramBlock
/* 802D2634 002CF574 7E E3 BB 78 */ mr r3, r23
/* 802D2638 002CF578 48 00 96 C1 */ bl checkCompressed__9JKRDecompFPUc
/* 802D263C 002CF57C 2C 03 00 03 */ cmpwi r3, 3
/* 802D2640 002CF580 40 82 00 08 */ bne lbl_802D2648
/* 802D2644 002CF584 38 60 00 00 */ li r3, 0
lbl_802D2648:
/* 802D2648 002CF588 7C 78 1B 78 */ mr r24, r3
/* 802D264C 002CF58C 88 B7 00 07 */ lbz r5, 7(r23)
/* 802D2650 002CF590 88 97 00 06 */ lbz r4, 6(r23)
/* 802D2654 002CF594 88 77 00 04 */ lbz r3, 4(r23)
/* 802D2658 002CF598 88 17 00 05 */ lbz r0, 5(r23)
/* 802D265C 002CF59C 54 00 80 1E */ slwi r0, r0, 0x10
/* 802D2660 002CF5A0 50 60 C0 0E */ rlwimi r0, r3, 0x18, 0, 7
/* 802D2664 002CF5A4 50 80 44 2E */ rlwimi r0, r4, 8, 0x10, 0x17
/* 802D2668 002CF5A8 7C B7 03 78 */ or r23, r5, r0
lbl_802D266C:
/* 802D266C 002CF5AC 2C 18 00 02 */ cmpwi r24, 2
/* 802D2670 002CF5B0 40 82 00 74 */ bne lbl_802D26E4
/* 802D2674 002CF5B4 28 1C 00 00 */ cmplwi r28, 0
/* 802D2678 002CF5B8 41 82 00 10 */ beq lbl_802D2688
/* 802D267C 002CF5BC 7C 1C B8 40 */ cmplw r28, r23
/* 802D2680 002CF5C0 40 80 00 08 */ bge lbl_802D2688
/* 802D2684 002CF5C4 7F 97 E3 78 */ mr r23, r28
lbl_802D2688:
/* 802D2688 002CF5C8 28 1A 00 00 */ cmplwi r26, 0
/* 802D268C 002CF5CC 40 82 00 18 */ bne lbl_802D26A4
/* 802D2690 002CF5D0 7E E3 BB 78 */ mr r3, r23
/* 802D2694 002CF5D4 38 80 00 20 */ li r4, 0x20
/* 802D2698 002CF5D8 7F A5 EB 78 */ mr r5, r29
/* 802D269C 002CF5DC 4B FF BD D9 */ bl alloc__7JKRHeapFUliP7JKRHeap
/* 802D26A0 002CF5E0 7C 7A 1B 78 */ mr r26, r3
lbl_802D26A4:
/* 802D26A4 002CF5E4 28 1A 00 00 */ cmplwi r26, 0
/* 802D26A8 002CF5E8 40 82 00 0C */ bne lbl_802D26B4
/* 802D26AC 002CF5EC 38 60 00 00 */ li r3, 0
/* 802D26B0 002CF5F0 48 00 01 68 */ b lbl_802D2818
lbl_802D26B4:
/* 802D26B4 002CF5F4 7F 43 D3 78 */ mr r3, r26
/* 802D26B8 002CF5F8 7F C4 F3 78 */ mr r4, r30
/* 802D26BC 002CF5FC 4B FF FC 21 */ bl changeGroupIdIfNeed__7JKRAramFPUci
/* 802D26C0 002CF600 7F 23 CB 78 */ mr r3, r25
/* 802D26C4 002CF604 7F 44 D3 78 */ mr r4, r26
/* 802D26C8 002CF608 7F 65 DB 78 */ mr r5, r27
/* 802D26CC 002CF60C 7E E6 BB 78 */ mr r6, r23
/* 802D26D0 002CF610 38 E0 00 00 */ li r7, 0
/* 802D26D4 002CF614 7F E8 FB 78 */ mr r8, r31
/* 802D26D8 002CF618 48 00 01 59 */ bl JKRDecompressFromAramToMainRam__FUlPvUlUlUlPUl
/* 802D26DC 002CF61C 7F 43 D3 78 */ mr r3, r26
/* 802D26E0 002CF620 48 00 01 38 */ b lbl_802D2818
lbl_802D26E4:
/* 802D26E4 002CF624 2C 18 00 01 */ cmpwi r24, 1
/* 802D26E8 002CF628 40 82 00 D0 */ bne lbl_802D27B8
/* 802D26EC 002CF62C 7F 63 DB 78 */ mr r3, r27
/* 802D26F0 002CF630 38 80 FF E0 */ li r4, -32
/* 802D26F4 002CF634 7F A5 EB 78 */ mr r5, r29
/* 802D26F8 002CF638 4B FF BD 7D */ bl alloc__7JKRHeapFUliP7JKRHeap
/* 802D26FC 002CF63C 7C 78 1B 79 */ or. r24, r3, r3
/* 802D2700 002CF640 40 82 00 0C */ bne lbl_802D270C
/* 802D2704 002CF644 38 60 00 00 */ li r3, 0
/* 802D2708 002CF648 48 00 01 10 */ b lbl_802D2818
lbl_802D270C:
/* 802D270C 002CF64C 38 60 00 01 */ li r3, 1
/* 802D2710 002CF650 7F 24 CB 78 */ mr r4, r25
/* 802D2714 002CF654 7F 05 C3 78 */ mr r5, r24
/* 802D2718 002CF658 7F 66 DB 78 */ mr r6, r27
/* 802D271C 002CF65C 38 E0 00 00 */ li r7, 0
/* 802D2720 002CF660 48 00 11 19 */ bl orderSync__12JKRAramPieceFiUlUlUlP12JKRAramBlock
/* 802D2724 002CF664 28 1C 00 00 */ cmplwi r28, 0
/* 802D2728 002CF668 41 82 00 10 */ beq lbl_802D2738
/* 802D272C 002CF66C 7C 1C B8 40 */ cmplw r28, r23
/* 802D2730 002CF670 40 80 00 08 */ bge lbl_802D2738
/* 802D2734 002CF674 7F 97 E3 78 */ mr r23, r28
lbl_802D2738:
/* 802D2738 002CF678 28 1A 00 00 */ cmplwi r26, 0
/* 802D273C 002CF67C 40 82 00 1C */ bne lbl_802D2758
/* 802D2740 002CF680 7E E3 BB 78 */ mr r3, r23
/* 802D2744 002CF684 38 80 00 20 */ li r4, 0x20
/* 802D2748 002CF688 7F A5 EB 78 */ mr r5, r29
/* 802D274C 002CF68C 4B FF BD 29 */ bl alloc__7JKRHeapFUliP7JKRHeap
/* 802D2750 002CF690 7C 79 1B 78 */ mr r25, r3
/* 802D2754 002CF694 48 00 00 08 */ b lbl_802D275C
lbl_802D2758:
/* 802D2758 002CF698 7F 59 D3 78 */ mr r25, r26
lbl_802D275C:
/* 802D275C 002CF69C 28 19 00 00 */ cmplwi r25, 0
/* 802D2760 002CF6A0 40 82 00 18 */ bne lbl_802D2778
/* 802D2764 002CF6A4 7F 03 C3 78 */ mr r3, r24
/* 802D2768 002CF6A8 38 80 00 00 */ li r4, 0
/* 802D276C 002CF6AC 4B FF BD 95 */ bl free__7JKRHeapFPvP7JKRHeap
/* 802D2770 002CF6B0 38 60 00 00 */ li r3, 0
/* 802D2774 002CF6B4 48 00 00 A4 */ b lbl_802D2818
lbl_802D2778:
/* 802D2778 002CF6B8 7F 23 CB 78 */ mr r3, r25
/* 802D277C 002CF6BC 7F C4 F3 78 */ mr r4, r30
/* 802D2780 002CF6C0 4B FF FB 5D */ bl changeGroupIdIfNeed__7JKRAramFPUci
/* 802D2784 002CF6C4 7F 03 C3 78 */ mr r3, r24
/* 802D2788 002CF6C8 7F 24 CB 78 */ mr r4, r25
/* 802D278C 002CF6CC 7E E5 BB 78 */ mr r5, r23
/* 802D2790 002CF6D0 38 C0 00 00 */ li r6, 0
/* 802D2794 002CF6D4 48 00 91 F5 */ bl orderSync__9JKRDecompFPUcPUcUlUl
/* 802D2798 002CF6D8 7F 03 C3 78 */ mr r3, r24
/* 802D279C 002CF6DC 7F A4 EB 78 */ mr r4, r29
/* 802D27A0 002CF6E0 4B FF BD 61 */ bl free__7JKRHeapFPvP7JKRHeap
/* 802D27A4 002CF6E4 28 1F 00 00 */ cmplwi r31, 0
/* 802D27A8 002CF6E8 41 82 00 08 */ beq lbl_802D27B0
/* 802D27AC 002CF6EC 92 FF 00 00 */ stw r23, 0(r31)
lbl_802D27B0:
/* 802D27B0 002CF6F0 7F 23 CB 78 */ mr r3, r25
/* 802D27B4 002CF6F4 48 00 00 64 */ b lbl_802D2818
lbl_802D27B8:
/* 802D27B8 002CF6F8 28 1A 00 00 */ cmplwi r26, 0
/* 802D27BC 002CF6FC 40 82 00 18 */ bne lbl_802D27D4
/* 802D27C0 002CF700 7F 63 DB 78 */ mr r3, r27
/* 802D27C4 002CF704 38 80 00 20 */ li r4, 0x20
/* 802D27C8 002CF708 7F A5 EB 78 */ mr r5, r29
/* 802D27CC 002CF70C 4B FF BC A9 */ bl alloc__7JKRHeapFUliP7JKRHeap
/* 802D27D0 002CF710 7C 7A 1B 78 */ mr r26, r3
lbl_802D27D4:
/* 802D27D4 002CF714 28 1A 00 00 */ cmplwi r26, 0
/* 802D27D8 002CF718 40 82 00 0C */ bne lbl_802D27E4
/* 802D27DC 002CF71C 38 60 00 00 */ li r3, 0
/* 802D27E0 002CF720 48 00 00 38 */ b lbl_802D2818
lbl_802D27E4:
/* 802D27E4 002CF724 7F 43 D3 78 */ mr r3, r26
/* 802D27E8 002CF728 7F C4 F3 78 */ mr r4, r30
/* 802D27EC 002CF72C 4B FF FA F1 */ bl changeGroupIdIfNeed__7JKRAramFPUci
/* 802D27F0 002CF730 38 60 00 01 */ li r3, 1
/* 802D27F4 002CF734 7F 24 CB 78 */ mr r4, r25
/* 802D27F8 002CF738 7F 45 D3 78 */ mr r5, r26
/* 802D27FC 002CF73C 7F 66 DB 78 */ mr r6, r27
/* 802D2800 002CF740 38 E0 00 00 */ li r7, 0
/* 802D2804 002CF744 48 00 10 35 */ bl orderSync__12JKRAramPieceFiUlUlUlP12JKRAramBlock
/* 802D2808 002CF748 28 1F 00 00 */ cmplwi r31, 0
/* 802D280C 002CF74C 41 82 00 08 */ beq lbl_802D2814
/* 802D2810 002CF750 93 7F 00 00 */ stw r27, 0(r31)
lbl_802D2814:
/* 802D2814 002CF754 7F 43 D3 78 */ mr r3, r26
lbl_802D2818:
/* 802D2818 002CF758 39 61 00 70 */ addi r11, r1, 0x70
/* 802D281C 002CF75C 48 08 F9 F1 */ bl _restgpr_22
/* 802D2820 002CF760 80 01 00 74 */ lwz r0, 0x74(r1)
/* 802D2824 002CF764 7C 08 03 A6 */ mtlr r0
/* 802D2828 002CF768 38 21 00 70 */ addi r1, r1, 0x70
/* 802D282C 002CF76C 4E 80 00 20 */ blr
@@ -1,101 +0,0 @@
/* JKRDecompressFromAramToMainRam__FUlPvUlUlUlPUl JKRDecompressFromAramToMainRam(unsigned long, void *, unsigned long, unsigned long, unsigned long, unsigned long *) */
/* JKRDecompressFromAramToMainRam */
/* 802D2830 002CF770 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 802D2834 002CF774 7C 08 02 A6 */ mflr r0
/* 802D2838 002CF778 90 01 00 34 */ stw r0, 0x34(r1)
/* 802D283C 002CF77C 39 61 00 30 */ addi r11, r1, 0x30
/* 802D2840 002CF780 48 08 F9 8D */ bl _savegpr_25
/* 802D2844 002CF784 7C 7A 1B 78 */ mr r26, r3
/* 802D2848 002CF788 7C 9B 23 78 */ mr r27, r4
/* 802D284C 002CF78C 7C BC 2B 78 */ mr r28, r5
/* 802D2850 002CF790 7C DD 33 78 */ mr r29, r6
/* 802D2854 002CF794 7C FE 3B 78 */ mr r30, r7
/* 802D2858 002CF798 7D 1F 43 78 */ mr r31, r8
/* 802D285C 002CF79C 48 06 AE 99 */ bl __RAS_OSDisableInterrupts_begin
/* 802D2860 002CF7A0 7C 79 1B 78 */ mr r25, r3
/* 802D2864 002CF7A4 88 0D 8E 7C */ lbz r0, lbl_804513FC-_SDA_BASE_(r13)
/* 802D2868 002CF7A8 28 00 00 00 */ cmplwi r0, 0
/* 802D286C 002CF7AC 40 82 00 18 */ bne lbl_802D2884
/* 802D2870 002CF7B0 3C 60 80 43 */ lis r3, lbl_804342E8@ha
/* 802D2874 002CF7B4 38 63 42 E8 */ addi r3, r3, lbl_804342E8@l
/* 802D2878 002CF7B8 48 06 C7 91 */ bl OSInitMutex
/* 802D287C 002CF7BC 38 00 00 01 */ li r0, 1
/* 802D2880 002CF7C0 98 0D 8E 7C */ stb r0, lbl_804513FC-_SDA_BASE_(r13)
lbl_802D2884:
/* 802D2884 002CF7C4 7F 23 CB 78 */ mr r3, r25
/* 802D2888 002CF7C8 48 06 AE 95 */ bl OSRestoreInterrupts
/* 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, 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, JKRAram__szpBuf-_SDA_BASE_(r13)
/* 802D28B0 002CF7F0 7C 03 CA 14 */ add r0, r3, r25
/* 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, 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, JKRAram__refBuf-_SDA_BASE_(r13)
/* 802D28D4 002CF814 38 03 11 20 */ addi r0, r3, 0x1120
/* 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, JKRAram__refBuf-_SDA_BASE_(r13)
lbl_802D28EC:
/* 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, 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, 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, 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 /* JKRAram__tsArea-_SDA_BASE_ */
lbl_802D2930:
/* 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, 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, 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, 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
/* 802D297C 002CF8BC 38 63 42 E8 */ addi r3, r3, lbl_804342E8@l
/* 802D2980 002CF8C0 48 06 C7 9D */ bl OSUnlockMutex
/* 802D2984 002CF8C4 38 60 00 00 */ li r3, 0
/* 802D2988 002CF8C8 39 61 00 30 */ addi r11, r1, 0x30
/* 802D298C 002CF8CC 48 08 F8 8D */ bl _restgpr_25
/* 802D2990 002CF8D0 80 01 00 34 */ lwz r0, 0x34(r1)
/* 802D2994 002CF8D4 7C 08 03 A6 */ mtlr r0
/* 802D2998 002CF8D8 38 21 00 30 */ addi r1, r1, 0x30
/* 802D299C 002CF8DC 4E 80 00 20 */ blr
@@ -1,193 +0,0 @@
/* decompSZS_subroutine__FPUcPUc decompSZS_subroutine(unsigned char *, unsigned char *) */
/* decompSZS_subroutine */
/* 802D29A0 002CF8E0 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802D29A4 002CF8E4 7C 08 02 A6 */ mflr r0
/* 802D29A8 002CF8E8 90 01 00 24 */ stw r0, 0x24(r1)
/* 802D29AC 002CF8EC 39 61 00 20 */ addi r11, r1, 0x20
/* 802D29B0 002CF8F0 48 08 F8 2D */ bl _savegpr_29
/* 802D29B4 002CF8F4 7C 9D 23 78 */ mr r29, r4
/* 802D29B8 002CF8F8 38 80 00 00 */ li r4, 0
/* 802D29BC 002CF8FC 38 00 00 00 */ li r0, 0
/* 802D29C0 002CF900 3B C0 00 00 */ li r30, 0
/* 802D29C4 002CF904 88 A3 00 00 */ lbz r5, 0(r3)
/* 802D29C8 002CF908 2C 05 00 59 */ cmpwi r5, 0x59
/* 802D29CC 002CF90C 40 82 00 28 */ bne lbl_802D29F4
/* 802D29D0 002CF910 88 A3 00 01 */ lbz r5, 1(r3)
/* 802D29D4 002CF914 2C 05 00 61 */ cmpwi r5, 0x61
/* 802D29D8 002CF918 40 82 00 1C */ bne lbl_802D29F4
/* 802D29DC 002CF91C 88 A3 00 02 */ lbz r5, 2(r3)
/* 802D29E0 002CF920 2C 05 00 7A */ cmpwi r5, 0x7a
/* 802D29E4 002CF924 40 82 00 10 */ bne lbl_802D29F4
/* 802D29E8 002CF928 88 A3 00 03 */ lbz r5, 3(r3)
/* 802D29EC 002CF92C 2C 05 00 30 */ cmpwi r5, 0x30
/* 802D29F0 002CF930 41 82 00 0C */ beq lbl_802D29FC
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, 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, 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
/* 802D2A1C 002CF95C 7C BF 2B 78 */ mr r31, r5
lbl_802D2A20:
/* 802D2A20 002CF960 38 63 00 10 */ addi r3, r3, 0x10
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, 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, 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
lbl_802D2A48:
/* 802D2A48 002CF988 88 03 00 00 */ lbz r0, 0(r3)
/* 802D2A4C 002CF98C 38 80 00 08 */ li r4, 8
/* 802D2A50 002CF990 38 63 00 01 */ addi r3, r3, 1
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, 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, 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)
/* 802D2A78 002CF9B8 98 BD 00 00 */ stb r5, 0(r29)
/* 802D2A7C 002CF9BC 3B BD 00 01 */ addi r29, r29, 1
/* 802D2A80 002CF9C0 7C 1D F8 40 */ cmplw r29, r31
/* 802D2A84 002CF9C4 3B DE 00 01 */ addi r30, r30, 1
/* 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, JKRAram__refCurrent-_SDA_BASE_(r13)
/* 802D2A94 002CF9D4 38 A6 00 01 */ addi r5, r6, 1
/* 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, 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, 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
lbl_802D2AC0:
/* 802D2AC0 002CFA00 88 A3 00 00 */ lbz r5, 0(r3)
/* 802D2AC4 002CFA04 98 BD 00 00 */ stb r5, 0(r29)
/* 802D2AC8 002CFA08 3B BD 00 01 */ addi r29, r29, 1
/* 802D2ACC 002CFA0C 7C 1D F8 40 */ cmplw r29, r31
/* 802D2AD0 002CFA10 38 63 00 01 */ addi r3, r3, 1
/* 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, JKRAram__readCount-_SDA_BASE_(r13)
/* 802D2AE0 002CFA20 38 A5 00 01 */ addi r5, r5, 1
/* 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, 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, 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, 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, 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
lbl_802D2B34:
/* 802D2B34 002CFA74 7C C7 E8 50 */ subf r6, r7, r29
/* 802D2B38 002CFA78 39 26 FF FF */ addi r9, r6, -1
lbl_802D2B3C:
/* 802D2B3C 002CFA7C 2C 05 00 00 */ cmpwi r5, 0
/* 802D2B40 002CFA80 40 82 00 14 */ bne lbl_802D2B54
/* 802D2B44 002CFA84 88 A3 00 00 */ lbz r5, 0(r3)
/* 802D2B48 002CFA88 38 A5 00 12 */ addi r5, r5, 0x12
/* 802D2B4C 002CFA8C 38 63 00 01 */ addi r3, r3, 1
/* 802D2B50 002CFA90 48 00 00 08 */ b lbl_802D2B58
lbl_802D2B54:
/* 802D2B54 002CFA94 38 A5 00 02 */ addi r5, r5, 2
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, 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)
/* 802D2B74 002CFAB4 98 DD 00 00 */ stb r6, 0(r29)
/* 802D2B78 002CFAB8 3B BD 00 01 */ addi r29, r29, 1
/* 802D2B7C 002CFABC 7C 1D F8 40 */ cmplw r29, r31
/* 802D2B80 002CFAC0 3B DE 00 01 */ addi r30, r30, 1
/* 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, JKRAram__refCurrent-_SDA_BASE_(r13)
/* 802D2B90 002CFAD0 38 C7 00 01 */ addi r6, r7, 1
/* 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, 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, 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, JKRAram__refBuf-_SDA_BASE_(r13)
lbl_802D2BC4:
/* 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, 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
lbl_802D2BDC:
/* 802D2BDC 002CFB1C 88 C9 00 00 */ lbz r6, 0(r9)
/* 802D2BE0 002CFB20 98 DD 00 00 */ stb r6, 0(r29)
/* 802D2BE4 002CFB24 3B BD 00 01 */ addi r29, r29, 1
/* 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, JKRAram__readCount-_SDA_BASE_(r13)
/* 802D2BF8 002CFB38 38 C6 00 01 */ addi r6, r6, 1
/* 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
lbl_802D2C0C:
/* 802D2C0C 002CFB4C 54 00 08 3C */ slwi r0, r0, 1
/* 802D2C10 002CFB50 7C 1D F8 40 */ cmplw r29, r31
/* 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, 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:
/* 802D2C28 002CFB68 39 61 00 20 */ addi r11, r1, 0x20
/* 802D2C2C 002CFB6C 48 08 F5 FD */ bl _restgpr_29
/* 802D2C30 002CFB70 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802D2C34 002CFB74 7C 08 03 A6 */ mtlr r0
/* 802D2C38 002CFB78 38 21 00 20 */ addi r1, r1, 0x20
/* 802D2C3C 002CFB7C 4E 80 00 20 */ blr
@@ -1,56 +0,0 @@
/* nextSrcData__FPUc nextSrcData(unsigned char *) */
/* nextSrcData */
/* 802D2CE4 002CFC24 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802D2CE8 002CFC28 7C 08 02 A6 */ mflr r0
/* 802D2CEC 002CFC2C 90 01 00 24 */ stw r0, 0x24(r1)
/* 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, 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, 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, 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, JKRAram__szpEnd-_SDA_BASE_(r13)
/* 802D2D34 002CFC74 7F 9F 00 50 */ subf r28, r31, r0
/* 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, 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, JKRAram__srcOffset-_SDA_BASE_(r13)
/* 802D2D70 002CFCB0 7C 00 E2 14 */ add r0, r0, r28
/* 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, 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, 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
/* 802D2D98 002CFCD8 48 08 F4 8D */ bl _restgpr_28
/* 802D2D9C 002CFCDC 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802D2DA0 002CFCE0 7C 08 03 A6 */ mtlr r0
/* 802D2DA4 002CFCE4 38 21 00 20 */ addi r1, r1, 0x20
/* 802D2DA8 002CFCE8 4E 80 00 20 */ blr
+7
View File
@@ -0,0 +1,7 @@
#ifndef JKRARAMARCHIVE_H
#define JKRARAMARCHIVE_H
#include "dolphin/types.h"
#endif /* JKRARAMARCHIVE_H */
@@ -1,30 +0,0 @@
#ifndef JKRARAMARCHIVE_H_
#define JKRARAMARCHIVE_H_
#include "JSystem/JKernel/JKRArchive/JKRArchive.h"
#include "dolphin/types.h"
class JKRAramArchive : public JKRArchive {
public:
JKRAramArchive(long, JKRArchive::EMountDirection);
virtual ~JKRAramArchive();
void open(long);
void getAramAddress_Entry(SDIFileEntry*);
void getAramAddress(char const*);
/* vt[15] */ u32 getExpandedResSize(const void*); /* override */
/* vt[16] */ void* fetchResource(SDIFileEntry*, u32*); /* override */
/* vt[17] */ void* fetchResource(void*, u32, SDIFileEntry*, u32*); /* override */
public:
static void fetchResource_subroutine(u32, u32, u8*, u32, int);
static void fetchResource_subroutine(u32, u32, JKRHeap*, int, u8**);
private:
/* 0x00 */ // vtable
/* 0x04 */ // JKRArchive
u8 unk[16];
};
#endif
@@ -1,46 +0,0 @@
/* __ct__14JKRAramArchiveFlQ210JKRArchive15EMountDirection __ct__14JKRAramArchiveFlQ210JKRArchive15EMountDirection::__ct(long, JKRArchive::EMountDirection) */
/* JKRAramArchive */
/* 802D70C0 002D4000 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802D70C4 002D4004 7C 08 02 A6 */ mflr r0
/* 802D70C8 002D4008 90 01 00 24 */ stw r0, 0x24(r1)
/* 802D70CC 002D400C 39 61 00 20 */ addi r11, r1, 0x20
/* 802D70D0 002D4010 48 08 B1 0D */ bl _savegpr_29
/* 802D70D4 002D4014 7C 7D 1B 78 */ mr r29, r3
/* 802D70D8 002D4018 7C 9E 23 78 */ mr r30, r4
/* 802D70DC 002D401C 7C BF 2B 78 */ mr r31, r5
/* 802D70E0 002D4020 38 A0 00 02 */ li r5, 2
/* 802D70E4 002D4024 4B FF F1 B1 */ bl __ct__10JKRArchiveFlQ210JKRArchive10EMountMode
/* 802D70E8 002D4028 3C 60 80 3D */ lis r3, lbl_803CC348@ha
/* 802D70EC 002D402C 38 03 C3 48 */ addi r0, r3, lbl_803CC348@l
/* 802D70F0 002D4030 90 1D 00 00 */ stw r0, 0(r29)
/* 802D70F4 002D4034 93 FD 00 60 */ stw r31, 0x60(r29)
/* 802D70F8 002D4038 7F A3 EB 78 */ mr r3, r29
/* 802D70FC 002D403C 7F C4 F3 78 */ mr r4, r30
/* 802D7100 002D4040 48 00 01 A9 */ bl open__14JKRAramArchiveFl
/* 802D7104 002D4044 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 802D7108 002D4048 40 82 00 0C */ bne lbl_802D7114
/* 802D710C 002D404C 7F A3 EB 78 */ mr r3, r29
/* 802D7110 002D4050 48 00 00 40 */ b lbl_802D7150
lbl_802D7114:
/* 802D7114 002D4054 3C 60 52 41 */ lis r3, 0x52415243@ha
/* 802D7118 002D4058 38 03 52 43 */ addi r0, r3, 0x52415243@l
/* 802D711C 002D405C 90 1D 00 2C */ stw r0, 0x2c(r29)
/* 802D7120 002D4060 80 9D 00 54 */ lwz r4, 0x54(r29)
/* 802D7124 002D4064 80 7D 00 48 */ lwz r3, 0x48(r29)
/* 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, 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
/* 802D7148 002D4088 98 1D 00 30 */ stb r0, 0x30(r29)
/* 802D714C 002D408C 7F A3 EB 78 */ mr r3, r29
lbl_802D7150:
/* 802D7150 002D4090 39 61 00 20 */ addi r11, r1, 0x20
/* 802D7154 002D4094 48 08 B0 D5 */ bl _restgpr_29
/* 802D7158 002D4098 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802D715C 002D409C 7C 08 03 A6 */ mtlr r0
/* 802D7160 002D40A0 38 21 00 20 */ addi r1, r1, 0x20
/* 802D7164 002D40A4 4E 80 00 20 */ blr
@@ -1,91 +0,0 @@
/* __dt__14JKRAramArchiveFv __ct__14JKRAramArchiveFlQ210JKRArchive15EMountDirection::__dt(void) */
/* missing reference */
/* 802D7168 002D40A8 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802D716C 002D40AC 7C 08 02 A6 */ mflr r0
/* 802D7170 002D40B0 90 01 00 24 */ stw r0, 0x24(r1)
/* 802D7174 002D40B4 39 61 00 20 */ addi r11, r1, 0x20
/* 802D7178 002D40B8 48 08 B0 61 */ bl _savegpr_28
/* 802D717C 002D40BC 7C 7E 1B 79 */ or. r30, r3, r3
/* 802D7180 002D40C0 7C 9F 23 78 */ mr r31, r4
/* 802D7184 002D40C4 41 82 01 08 */ beq lbl_802D728C
/* 802D7188 002D40C8 3C 60 80 3D */ lis r3, lbl_803CC348@ha
/* 802D718C 002D40CC 38 03 C3 48 */ addi r0, r3, lbl_803CC348@l
/* 802D7190 002D40D0 90 1E 00 00 */ stw r0, 0(r30)
/* 802D7194 002D40D4 88 1E 00 30 */ lbz r0, 0x30(r30)
/* 802D7198 002D40D8 28 00 00 01 */ cmplwi r0, 1
/* 802D719C 002D40DC 40 82 00 D4 */ bne lbl_802D7270
/* 802D71A0 002D40E0 80 1E 00 44 */ lwz r0, 0x44(r30)
/* 802D71A4 002D40E4 28 00 00 00 */ cmplwi r0, 0
/* 802D71A8 002D40E8 41 82 00 4C */ beq lbl_802D71F4
/* 802D71AC 002D40EC 83 BE 00 4C */ lwz r29, 0x4c(r30)
/* 802D71B0 002D40F0 3B 80 00 00 */ li r28, 0
/* 802D71B4 002D40F4 48 00 00 20 */ b lbl_802D71D4
lbl_802D71B8:
/* 802D71B8 002D40F8 80 7D 00 10 */ lwz r3, 0x10(r29)
/* 802D71BC 002D40FC 28 03 00 00 */ cmplwi r3, 0
/* 802D71C0 002D4100 41 82 00 0C */ beq lbl_802D71CC
/* 802D71C4 002D4104 80 9E 00 38 */ lwz r4, 0x38(r30)
/* 802D71C8 002D4108 4B FF 73 39 */ bl free__7JKRHeapFPvP7JKRHeap
lbl_802D71CC:
/* 802D71CC 002D410C 3B BD 00 14 */ addi r29, r29, 0x14
/* 802D71D0 002D4110 3B 9C 00 01 */ addi r28, r28, 1
lbl_802D71D4:
/* 802D71D4 002D4114 80 7E 00 44 */ lwz r3, 0x44(r30)
/* 802D71D8 002D4118 80 03 00 08 */ lwz r0, 8(r3)
/* 802D71DC 002D411C 7C 1C 00 40 */ cmplw r28, r0
/* 802D71E0 002D4120 41 80 FF D8 */ blt lbl_802D71B8
/* 802D71E4 002D4124 80 9E 00 38 */ lwz r4, 0x38(r30)
/* 802D71E8 002D4128 4B FF 73 19 */ bl free__7JKRHeapFPvP7JKRHeap
/* 802D71EC 002D412C 38 00 00 00 */ li r0, 0
/* 802D71F0 002D4130 90 1E 00 44 */ stw r0, 0x44(r30)
lbl_802D71F4:
/* 802D71F4 002D4134 80 7E 00 50 */ lwz r3, 0x50(r30)
/* 802D71F8 002D4138 28 03 00 00 */ cmplwi r3, 0
/* 802D71FC 002D413C 41 82 00 14 */ beq lbl_802D7210
/* 802D7200 002D4140 38 80 00 00 */ li r4, 0
/* 802D7204 002D4144 4B FF 72 FD */ bl free__7JKRHeapFPvP7JKRHeap
/* 802D7208 002D4148 38 00 00 00 */ li r0, 0
/* 802D720C 002D414C 90 1E 00 50 */ stw r0, 0x50(r30)
lbl_802D7210:
/* 802D7210 002D4150 80 7E 00 68 */ lwz r3, 0x68(r30)
/* 802D7214 002D4154 28 03 00 00 */ cmplwi r3, 0
/* 802D7218 002D4158 41 82 00 1C */ beq lbl_802D7234
/* 802D721C 002D415C 41 82 00 18 */ beq lbl_802D7234
/* 802D7220 002D4160 38 80 00 01 */ li r4, 1
/* 802D7224 002D4164 81 83 00 00 */ lwz r12, 0(r3)
/* 802D7228 002D4168 81 8C 00 08 */ lwz r12, 8(r12)
/* 802D722C 002D416C 7D 89 03 A6 */ mtctr r12
/* 802D7230 002D4170 4E 80 04 21 */ bctrl
lbl_802D7234:
/* 802D7234 002D4174 80 7E 00 64 */ lwz r3, 0x64(r30)
/* 802D7238 002D4178 28 03 00 00 */ cmplwi r3, 0
/* 802D723C 002D417C 41 82 00 1C */ beq lbl_802D7258
/* 802D7240 002D4180 41 82 00 18 */ beq lbl_802D7258
/* 802D7244 002D4184 38 80 00 01 */ li r4, 1
/* 802D7248 002D4188 81 83 00 00 */ lwz r12, 0(r3)
/* 802D724C 002D418C 81 8C 00 08 */ lwz r12, 8(r12)
/* 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, 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
/* 802D726C 002D41AC 98 1E 00 30 */ stb r0, 0x30(r30)
lbl_802D7270:
/* 802D7270 002D41B0 7F C3 F3 78 */ mr r3, r30
/* 802D7274 002D41B4 38 80 00 00 */ li r4, 0
/* 802D7278 002D41B8 4B FF F0 BD */ bl __dt__10JKRArchiveFv
/* 802D727C 002D41BC 7F E0 07 35 */ extsh. r0, r31
/* 802D7280 002D41C0 40 81 00 0C */ ble lbl_802D728C
/* 802D7284 002D41C4 7F C3 F3 78 */ mr r3, r30
/* 802D7288 002D41C8 4B FF 7A B5 */ bl __dl__FPv
lbl_802D728C:
/* 802D728C 002D41CC 7F C3 F3 78 */ mr r3, r30
/* 802D7290 002D41D0 39 61 00 20 */ addi r11, r1, 0x20
/* 802D7294 002D41D4 48 08 AF 91 */ bl _restgpr_28
/* 802D7298 002D41D8 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802D729C 002D41DC 7C 08 03 A6 */ mtlr r0
/* 802D72A0 002D41E0 38 21 00 20 */ addi r1, r1, 0x20
/* 802D72A4 002D41E4 4E 80 00 20 */ blr
@@ -1,227 +0,0 @@
/* open__14JKRAramArchiveFl __ct__14JKRAramArchiveFlQ210JKRArchive15EMountDirection::open(long) */
/* JKRAramArchive_NS_open */
/* 802D72A8 002D41E8 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 802D72AC 002D41EC 7C 08 02 A6 */ mflr r0
/* 802D72B0 002D41F0 90 01 00 34 */ stw r0, 0x34(r1)
/* 802D72B4 002D41F4 39 61 00 30 */ addi r11, r1, 0x30
/* 802D72B8 002D41F8 48 08 AF 1D */ bl _savegpr_27
/* 802D72BC 002D41FC 7C 7F 1B 78 */ mr r31, r3
/* 802D72C0 002D4200 7C 9C 23 78 */ mr r28, r4
/* 802D72C4 002D4204 38 00 00 00 */ li r0, 0
/* 802D72C8 002D4208 90 03 00 44 */ stw r0, 0x44(r3)
/* 802D72CC 002D420C 90 03 00 48 */ stw r0, 0x48(r3)
/* 802D72D0 002D4210 90 03 00 4C */ stw r0, 0x4c(r3)
/* 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, 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
/* 802D72F0 002D4230 40 82 00 08 */ bne lbl_802D72F8
/* 802D72F4 002D4234 38 A0 00 04 */ li r5, 4
lbl_802D72F8:
/* 802D72F8 002D4238 4B FF 79 A1 */ bl __nw__FUlP7JKRHeapi
/* 802D72FC 002D423C 7C 60 1B 79 */ or. r0, r3, r3
/* 802D7300 002D4240 41 82 00 10 */ beq lbl_802D7310
/* 802D7304 002D4244 7F 84 E3 78 */ mr r4, r28
/* 802D7308 002D4248 48 00 23 99 */ bl __ct__10JKRDvdFileFl
/* 802D730C 002D424C 7C 60 1B 78 */ mr r0, r3
lbl_802D7310:
/* 802D7310 002D4250 90 1F 00 68 */ stw r0, 0x68(r31)
/* 802D7314 002D4254 80 1F 00 68 */ lwz r0, 0x68(r31)
/* 802D7318 002D4258 28 00 00 00 */ cmplwi r0, 0
/* 802D731C 002D425C 40 82 00 14 */ bne lbl_802D7330
/* 802D7320 002D4260 38 00 00 00 */ li r0, 0
/* 802D7324 002D4264 98 1F 00 3C */ stb r0, 0x3c(r31)
/* 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, 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
/* 802D7340 002D4280 7C 7D 1B 79 */ or. r29, r3, r3
/* 802D7344 002D4284 40 82 00 10 */ bne lbl_802D7354
/* 802D7348 002D4288 38 00 00 00 */ li r0, 0
/* 802D734C 002D428C 98 1F 00 3C */ stb r0, 0x3c(r31)
/* 802D7350 002D4290 48 00 02 28 */ b lbl_802D7578
lbl_802D7354:
/* 802D7354 002D4294 38 00 00 00 */ li r0, 0
/* 802D7358 002D4298 90 01 00 08 */ stw r0, 8(r1)
/* 802D735C 002D429C 7F 83 E3 78 */ mr r3, r28
/* 802D7360 002D42A0 7F A4 EB 78 */ mr r4, r29
/* 802D7364 002D42A4 38 A0 00 01 */ li r5, 1
/* 802D7368 002D42A8 38 C0 00 20 */ li r6, 0x20
/* 802D736C 002D42AC 38 E0 00 00 */ li r7, 0
/* 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__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
/* 802D738C 002D42CC 80 1F 00 60 */ lwz r0, 0x60(r31)
/* 802D7390 002D42D0 2C 00 00 01 */ cmpwi r0, 1
/* 802D7394 002D42D4 3B C0 FF E0 */ li r30, -32
/* 802D7398 002D42D8 40 82 00 08 */ bne lbl_802D73A0
/* 802D739C 002D42DC 3B C0 00 20 */ li r30, 0x20
lbl_802D73A0:
/* 802D73A0 002D42E0 80 7D 00 0C */ lwz r3, 0xc(r29)
/* 802D73A4 002D42E4 38 03 00 1F */ addi r0, r3, 0x1f
/* 802D73A8 002D42E8 54 1B 00 34 */ rlwinm r27, r0, 0, 0, 0x1a
/* 802D73AC 002D42EC 7F 63 DB 78 */ mr r3, r27
/* 802D73B0 002D42F0 7F C4 F3 78 */ mr r4, r30
/* 802D73B4 002D42F4 80 BF 00 38 */ lwz r5, 0x38(r31)
/* 802D73B8 002D42F8 4B FF 70 BD */ bl alloc__7JKRHeapFUliP7JKRHeap
/* 802D73BC 002D42FC 90 7F 00 44 */ stw r3, 0x44(r31)
/* 802D73C0 002D4300 80 9F 00 44 */ lwz r4, 0x44(r31)
/* 802D73C4 002D4304 28 04 00 00 */ cmplwi r4, 0
/* 802D73C8 002D4308 40 82 00 10 */ bne lbl_802D73D8
/* 802D73CC 002D430C 38 00 00 00 */ li r0, 0
/* 802D73D0 002D4310 98 1F 00 3C */ stb r0, 0x3c(r31)
/* 802D73D4 002D4314 48 00 01 A4 */ b lbl_802D7578
lbl_802D73D8:
/* 802D73D8 002D4318 38 00 00 00 */ li r0, 0
/* 802D73DC 002D431C 90 01 00 08 */ stw r0, 8(r1)
/* 802D73E0 002D4320 7F 83 E3 78 */ mr r3, r28
/* 802D73E4 002D4324 38 A0 00 01 */ li r5, 1
/* 802D73E8 002D4328 7F 66 DB 78 */ mr r6, r27
/* 802D73EC 002D432C 38 E0 00 00 */ li r7, 0
/* 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__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
/* 802D740C 002D434C 80 7F 00 44 */ lwz r3, 0x44(r31)
/* 802D7410 002D4350 80 03 00 04 */ lwz r0, 4(r3)
/* 802D7414 002D4354 7C 03 02 14 */ add r0, r3, r0
/* 802D7418 002D4358 90 1F 00 48 */ stw r0, 0x48(r31)
/* 802D741C 002D435C 80 7F 00 44 */ lwz r3, 0x44(r31)
/* 802D7420 002D4360 80 03 00 0C */ lwz r0, 0xc(r3)
/* 802D7424 002D4364 7C 03 02 14 */ add r0, r3, r0
/* 802D7428 002D4368 90 1F 00 4C */ stw r0, 0x4c(r31)
/* 802D742C 002D436C 80 7F 00 44 */ lwz r3, 0x44(r31)
/* 802D7430 002D4370 80 03 00 14 */ lwz r0, 0x14(r3)
/* 802D7434 002D4374 7C 03 02 14 */ add r0, r3, r0
/* 802D7438 002D4378 90 1F 00 54 */ stw r0, 0x54(r31)
/* 802D743C 002D437C 38 00 00 00 */ li r0, 0
/* 802D7440 002D4380 90 1F 00 50 */ stw r0, 0x50(r31)
/* 802D7444 002D4384 38 80 00 00 */ li r4, 0
/* 802D7448 002D4388 80 BF 00 4C */ lwz r5, 0x4c(r31)
/* 802D744C 002D438C 80 7F 00 44 */ lwz r3, 0x44(r31)
/* 802D7450 002D4390 80 03 00 08 */ lwz r0, 8(r3)
/* 802D7454 002D4394 7C 09 03 A6 */ mtctr r0
/* 802D7458 002D4398 28 00 00 00 */ cmplwi r0, 0
/* 802D745C 002D439C 40 81 00 28 */ ble lbl_802D7484
lbl_802D7460:
/* 802D7460 002D43A0 80 05 00 04 */ lwz r0, 4(r5)
/* 802D7464 002D43A4 54 03 46 3E */ srwi r3, r0, 0x18
/* 802D7468 002D43A8 54 00 47 FF */ rlwinm. r0, r0, 8, 0x1f, 0x1f
/* 802D746C 002D43AC 41 82 00 10 */ beq lbl_802D747C
/* 802D7470 002D43B0 54 60 07 7A */ rlwinm r0, r3, 0, 0x1d, 0x1d
/* 802D7474 002D43B4 7C 80 03 78 */ or r0, r4, r0
/* 802D7478 002D43B8 54 04 06 3E */ clrlwi r4, r0, 0x18
lbl_802D747C:
/* 802D747C 002D43BC 38 A5 00 14 */ addi r5, r5, 0x14
/* 802D7480 002D43C0 42 00 FF E0 */ bdnz lbl_802D7460
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 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)
/* 802D74A0 002D43E0 80 03 00 08 */ lwz r0, 8(r3)
/* 802D74A4 002D43E4 54 03 10 3A */ slwi r3, r0, 2
/* 802D74A8 002D43E8 4B FF 6F CD */ bl alloc__7JKRHeapFUliP7JKRHeap
/* 802D74AC 002D43EC 90 7F 00 50 */ stw r3, 0x50(r31)
/* 802D74B0 002D43F0 80 7F 00 50 */ lwz r3, 0x50(r31)
/* 802D74B4 002D43F4 28 03 00 00 */ cmplwi r3, 0
/* 802D74B8 002D43F8 40 82 00 1C */ bne lbl_802D74D4
/* 802D74BC 002D43FC 80 7F 00 44 */ lwz r3, 0x44(r31)
/* 802D74C0 002D4400 38 80 00 00 */ li r4, 0
/* 802D74C4 002D4404 4B FF 70 3D */ bl free__7JKRHeapFPvP7JKRHeap
/* 802D74C8 002D4408 38 00 00 00 */ li r0, 0
/* 802D74CC 002D440C 98 1F 00 3C */ stb r0, 0x3c(r31)
/* 802D74D0 002D4410 48 00 00 A8 */ b lbl_802D7578
lbl_802D74D4:
/* 802D74D4 002D4414 38 80 00 00 */ li r4, 0
/* 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 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, 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
/* 802D7504 002D4444 30 05 FF FF */ addic r0, r5, -1
/* 802D7508 002D4448 7C A0 29 10 */ subfe r5, r0, r5
/* 802D750C 002D444C 4B FF BA B1 */ bl alloc__11JKRAramHeapFUlQ211JKRAramHeap10EAllocMode
/* 802D7510 002D4450 90 7F 00 64 */ stw r3, 0x64(r31)
/* 802D7514 002D4454 80 7F 00 64 */ lwz r3, 0x64(r31)
/* 802D7518 002D4458 28 03 00 00 */ cmplwi r3, 0
/* 802D751C 002D445C 40 82 00 38 */ bne lbl_802D7554
/* 802D7520 002D4460 80 7F 00 44 */ lwz r3, 0x44(r31)
/* 802D7524 002D4464 28 03 00 00 */ cmplwi r3, 0
/* 802D7528 002D4468 41 82 00 0C */ beq lbl_802D7534
/* 802D752C 002D446C 38 80 00 00 */ li r4, 0
/* 802D7530 002D4470 4B FF 6F D1 */ bl free__7JKRHeapFPvP7JKRHeap
lbl_802D7534:
/* 802D7534 002D4474 80 7F 00 50 */ lwz r3, 0x50(r31)
/* 802D7538 002D4478 28 03 00 00 */ cmplwi r3, 0
/* 802D753C 002D447C 41 82 00 0C */ beq lbl_802D7548
/* 802D7540 002D4480 38 80 00 00 */ li r4, 0
/* 802D7544 002D4484 4B FF 6F BD */ bl free__7JKRHeapFPvP7JKRHeap
lbl_802D7548:
/* 802D7548 002D4488 38 00 00 00 */ li r0, 0
/* 802D754C 002D448C 98 1F 00 3C */ stb r0, 0x3c(r31)
/* 802D7550 002D4490 48 00 00 28 */ b lbl_802D7578
lbl_802D7554:
/* 802D7554 002D4494 80 83 00 14 */ lwz r4, 0x14(r3)
/* 802D7558 002D4498 7F 83 E3 78 */ mr r3, r28
/* 802D755C 002D449C 38 A0 00 01 */ li r5, 1
/* 802D7560 002D44A0 80 DD 00 08 */ lwz r6, 8(r29)
/* 802D7564 002D44A4 80 1D 00 0C */ lwz r0, 0xc(r29)
/* 802D7568 002D44A8 7C C6 02 14 */ add r6, r6, r0
/* 802D756C 002D44AC 38 E0 00 00 */ li r7, 0
/* 802D7570 002D44B0 39 00 00 00 */ li r8, 0
/* 802D7574 002D44B4 48 00 33 01 */ bl loadToAram__16JKRDvdAramRipperFlUl15JKRExpandSwitchUlUlPUl
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, 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:
/* 802D758C 002D44CC 88 1F 00 3C */ lbz r0, 0x3c(r31)
/* 802D7590 002D44D0 28 00 00 00 */ cmplwi r0, 0
/* 802D7594 002D44D4 40 82 00 30 */ bne lbl_802D75C4
/* 802D7598 002D44D8 80 7F 00 68 */ lwz r3, 0x68(r31)
/* 802D759C 002D44DC 28 03 00 00 */ cmplwi r3, 0
/* 802D75A0 002D44E0 41 82 00 1C */ beq lbl_802D75BC
/* 802D75A4 002D44E4 41 82 00 18 */ beq lbl_802D75BC
/* 802D75A8 002D44E8 38 80 00 01 */ li r4, 1
/* 802D75AC 002D44EC 81 83 00 00 */ lwz r12, 0(r3)
/* 802D75B0 002D44F0 81 8C 00 08 */ lwz r12, 8(r12)
/* 802D75B4 002D44F4 7D 89 03 A6 */ mtctr r12
/* 802D75B8 002D44F8 4E 80 04 21 */ bctrl
lbl_802D75BC:
/* 802D75BC 002D44FC 38 60 00 00 */ li r3, 0
/* 802D75C0 002D4500 48 00 00 08 */ b lbl_802D75C8
lbl_802D75C4:
/* 802D75C4 002D4504 38 60 00 01 */ li r3, 1
lbl_802D75C8:
/* 802D75C8 002D4508 39 61 00 30 */ addi r11, r1, 0x30
/* 802D75CC 002D450C 48 08 AC 55 */ bl _restgpr_27
/* 802D75D0 002D4510 80 01 00 34 */ lwz r0, 0x34(r1)
/* 802D75D4 002D4514 7C 08 03 A6 */ mtlr r0
/* 802D75D8 002D4518 38 21 00 30 */ addi r1, r1, 0x30
/* 802D75DC 002D451C 4E 80 00 20 */ blr
@@ -1,80 +0,0 @@
/* fetchResource__14JKRAramArchiveFP12SDIFileEntryPUl __ct__14JKRAramArchiveFlQ210JKRArchive15EMountDirection::fetchResource(JKRArchive::SDIFileEntry *, unsigned long *) */
/* missing reference */
/* 802D75E0 002D4520 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802D75E4 002D4524 7C 08 02 A6 */ mflr r0
/* 802D75E8 002D4528 90 01 00 24 */ stw r0, 0x24(r1)
/* 802D75EC 002D452C 39 61 00 20 */ addi r11, r1, 0x20
/* 802D75F0 002D4530 48 08 AB E9 */ bl _savegpr_28
/* 802D75F4 002D4534 7C 7C 1B 78 */ mr r28, r3
/* 802D75F8 002D4538 7C 9D 23 78 */ mr r29, r4
/* 802D75FC 002D453C 7C BE 2B 79 */ or. r30, r5, r5
/* 802D7600 002D4540 40 82 00 08 */ bne lbl_802D7608
/* 802D7604 002D4544 3B C1 00 0C */ addi r30, r1, 0xc
lbl_802D7608:
/* 802D7608 002D4548 80 1D 00 04 */ lwz r0, 4(r29)
/* 802D760C 002D454C 54 03 46 3E */ srwi r3, r0, 0x18
/* 802D7610 002D4550 54 00 47 7B */ rlwinm. r0, r0, 8, 0x1d, 0x1d
/* 802D7614 002D4554 40 82 00 0C */ bne lbl_802D7620
/* 802D7618 002D4558 3B E0 00 00 */ li r31, 0
/* 802D761C 002D455C 48 00 00 18 */ b lbl_802D7634
lbl_802D7620:
/* 802D7620 002D4560 54 60 06 31 */ rlwinm. r0, r3, 0, 0x18, 0x18
/* 802D7624 002D4564 41 82 00 0C */ beq lbl_802D7630
/* 802D7628 002D4568 3B E0 00 02 */ li r31, 2
/* 802D762C 002D456C 48 00 00 08 */ b lbl_802D7634
lbl_802D7630:
/* 802D7630 002D4570 3B E0 00 01 */ li r31, 1
lbl_802D7634:
/* 802D7634 002D4574 80 1D 00 10 */ lwz r0, 0x10(r29)
/* 802D7638 002D4578 28 00 00 00 */ cmplwi r0, 0
/* 802D763C 002D457C 40 82 00 6C */ bne lbl_802D76A8
/* 802D7640 002D4580 80 7C 00 64 */ lwz r3, 0x64(r28)
/* 802D7644 002D4584 80 63 00 14 */ lwz r3, 0x14(r3)
/* 802D7648 002D4588 80 1D 00 08 */ lwz r0, 8(r29)
/* 802D764C 002D458C 7C 60 1A 14 */ add r3, r0, r3
/* 802D7650 002D4590 80 9D 00 0C */ lwz r4, 0xc(r29)
/* 802D7654 002D4594 80 BC 00 38 */ lwz r5, 0x38(r28)
/* 802D7658 002D4598 7F E6 FB 78 */ mr r6, r31
/* 802D765C 002D459C 38 E1 00 08 */ addi r7, r1, 8
/* 802D7660 002D45A0 48 00 02 B5 */ bl fetchResource_subroutine__14JKRAramArchiveFUlUlP7JKRHeapiPPUc
/* 802D7664 002D45A4 90 7E 00 00 */ stw r3, 0(r30)
/* 802D7668 002D45A8 28 03 00 00 */ cmplwi r3, 0
/* 802D766C 002D45AC 40 82 00 0C */ bne lbl_802D7678
/* 802D7670 002D45B0 38 60 00 00 */ li r3, 0
/* 802D7674 002D45B4 48 00 00 68 */ b lbl_802D76DC
lbl_802D7678:
/* 802D7678 002D45B8 80 01 00 08 */ lwz r0, 8(r1)
/* 802D767C 002D45BC 90 1D 00 10 */ stw r0, 0x10(r29)
/* 802D7680 002D45C0 2C 1F 00 02 */ cmpwi r31, 2
/* 802D7684 002D45C4 40 82 00 54 */ bne lbl_802D76D8
/* 802D7688 002D45C8 7F 83 E3 78 */ mr r3, r28
/* 802D768C 002D45CC 7F A4 EB 78 */ mr r4, r29
/* 802D7690 002D45D0 80 BE 00 00 */ lwz r5, 0(r30)
/* 802D7694 002D45D4 81 9C 00 00 */ lwz r12, 0(r28)
/* 802D7698 002D45D8 81 8C 00 48 */ lwz r12, 0x48(r12)
/* 802D769C 002D45DC 7D 89 03 A6 */ mtctr r12
/* 802D76A0 002D45E0 4E 80 04 21 */ bctrl
/* 802D76A4 002D45E4 48 00 00 34 */ b lbl_802D76D8
lbl_802D76A8:
/* 802D76A8 002D45E8 2C 1F 00 02 */ cmpwi r31, 2
/* 802D76AC 002D45EC 40 82 00 24 */ bne lbl_802D76D0
/* 802D76B0 002D45F0 7F 83 E3 78 */ mr r3, r28
/* 802D76B4 002D45F4 7F A4 EB 78 */ mr r4, r29
/* 802D76B8 002D45F8 81 9C 00 00 */ lwz r12, 0(r28)
/* 802D76BC 002D45FC 81 8C 00 4C */ lwz r12, 0x4c(r12)
/* 802D76C0 002D4600 7D 89 03 A6 */ mtctr r12
/* 802D76C4 002D4604 4E 80 04 21 */ bctrl
/* 802D76C8 002D4608 90 7E 00 00 */ stw r3, 0(r30)
/* 802D76CC 002D460C 48 00 00 0C */ b lbl_802D76D8
lbl_802D76D0:
/* 802D76D0 002D4610 80 1D 00 0C */ lwz r0, 0xc(r29)
/* 802D76D4 002D4614 90 1E 00 00 */ stw r0, 0(r30)
lbl_802D76D8:
/* 802D76D8 002D4618 80 7D 00 10 */ lwz r3, 0x10(r29)
lbl_802D76DC:
/* 802D76DC 002D461C 39 61 00 20 */ addi r11, r1, 0x20
/* 802D76E0 002D4620 48 08 AB 45 */ bl _restgpr_28
/* 802D76E4 002D4624 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802D76E8 002D4628 7C 08 03 A6 */ mtlr r0
/* 802D76EC 002D462C 38 21 00 20 */ addi r1, r1, 0x20
/* 802D76F0 002D4630 4E 80 00 20 */ blr
@@ -1,76 +0,0 @@
/* fetchResource__14JKRAramArchiveFPvUlP12SDIFileEntryPUl __ct__14JKRAramArchiveFlQ210JKRArchive15EMountDirection::fetchResource(void *, unsigned long, JKRArchive::SDIFileEntry *, unsigned long *) */
/* missing reference */
/* 802D76F4 002D4634 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802D76F8 002D4638 7C 08 02 A6 */ mflr r0
/* 802D76FC 002D463C 90 01 00 24 */ stw r0, 0x24(r1)
/* 802D7700 002D4640 39 61 00 20 */ addi r11, r1, 0x20
/* 802D7704 002D4644 48 08 AA D1 */ bl _savegpr_27
/* 802D7708 002D4648 7C 9B 23 78 */ mr r27, r4
/* 802D770C 002D464C 7C BC 2B 78 */ mr r28, r5
/* 802D7710 002D4650 7C DD 33 78 */ mr r29, r6
/* 802D7714 002D4654 7C FE 3B 78 */ mr r30, r7
/* 802D7718 002D4658 83 E6 00 0C */ lwz r31, 0xc(r6)
/* 802D771C 002D465C 7C 1F E0 40 */ cmplw r31, r28
/* 802D7720 002D4660 40 81 00 08 */ ble lbl_802D7728
/* 802D7724 002D4664 7F 9F E3 78 */ mr r31, r28
lbl_802D7728:
/* 802D7728 002D4668 80 1D 00 04 */ lwz r0, 4(r29)
/* 802D772C 002D466C 54 04 46 3E */ srwi r4, r0, 0x18
/* 802D7730 002D4670 54 00 47 7B */ rlwinm. r0, r0, 8, 0x1d, 0x1d
/* 802D7734 002D4674 40 82 00 0C */ bne lbl_802D7740
/* 802D7738 002D4678 38 E0 00 00 */ li r7, 0
/* 802D773C 002D467C 48 00 00 18 */ b lbl_802D7754
lbl_802D7740:
/* 802D7740 002D4680 54 80 06 31 */ rlwinm. r0, r4, 0, 0x18, 0x18
/* 802D7744 002D4684 41 82 00 0C */ beq lbl_802D7750
/* 802D7748 002D4688 38 E0 00 02 */ li r7, 2
/* 802D774C 002D468C 48 00 00 08 */ b lbl_802D7754
lbl_802D7750:
/* 802D7750 002D4690 38 E0 00 01 */ li r7, 1
lbl_802D7754:
/* 802D7754 002D4694 80 1D 00 10 */ lwz r0, 0x10(r29)
/* 802D7758 002D4698 28 00 00 00 */ cmplwi r0, 0
/* 802D775C 002D469C 40 82 00 30 */ bne lbl_802D778C
/* 802D7760 002D46A0 57 9C 00 34 */ rlwinm r28, r28, 0, 0, 0x1a
/* 802D7764 002D46A4 80 63 00 64 */ lwz r3, 0x64(r3)
/* 802D7768 002D46A8 80 63 00 14 */ lwz r3, 0x14(r3)
/* 802D776C 002D46AC 80 1D 00 08 */ lwz r0, 8(r29)
/* 802D7770 002D46B0 7C 60 1A 14 */ add r3, r0, r3
/* 802D7774 002D46B4 7F E4 FB 78 */ mr r4, r31
/* 802D7778 002D46B8 7F 65 DB 78 */ mr r5, r27
/* 802D777C 002D46BC 7F 86 E3 78 */ mr r6, r28
/* 802D7780 002D46C0 48 00 00 D9 */ bl fetchResource_subroutine__14JKRAramArchiveFUlUlPUcUli
/* 802D7784 002D46C4 7C 7F 1B 78 */ mr r31, r3
/* 802D7788 002D46C8 48 00 00 48 */ b lbl_802D77D0
lbl_802D778C:
/* 802D778C 002D46CC 2C 07 00 02 */ cmpwi r7, 2
/* 802D7790 002D46D0 40 82 00 24 */ bne lbl_802D77B4
/* 802D7794 002D46D4 7F A4 EB 78 */ mr r4, r29
/* 802D7798 002D46D8 81 83 00 00 */ lwz r12, 0(r3)
/* 802D779C 002D46DC 81 8C 00 4C */ lwz r12, 0x4c(r12)
/* 802D77A0 002D46E0 7D 89 03 A6 */ mtctr r12
/* 802D77A4 002D46E4 4E 80 04 21 */ bctrl
/* 802D77A8 002D46E8 28 03 00 00 */ cmplwi r3, 0
/* 802D77AC 002D46EC 41 82 00 08 */ beq lbl_802D77B4
/* 802D77B0 002D46F0 7C 7F 1B 78 */ mr r31, r3
lbl_802D77B4:
/* 802D77B4 002D46F4 7C 1F E0 40 */ cmplw r31, r28
/* 802D77B8 002D46F8 40 81 00 08 */ ble lbl_802D77C0
/* 802D77BC 002D46FC 7F 9F E3 78 */ mr r31, r28
lbl_802D77C0:
/* 802D77C0 002D4700 7F 63 DB 78 */ mr r3, r27
/* 802D77C4 002D4704 80 9D 00 10 */ lwz r4, 0x10(r29)
/* 802D77C8 002D4708 7F E5 FB 78 */ mr r5, r31
/* 802D77CC 002D470C 4B FF 73 4D */ bl copyMemory__7JKRHeapFPvPvUl
lbl_802D77D0:
/* 802D77D0 002D4710 28 1E 00 00 */ cmplwi r30, 0
/* 802D77D4 002D4714 41 82 00 08 */ beq lbl_802D77DC
/* 802D77D8 002D4718 93 FE 00 00 */ stw r31, 0(r30)
lbl_802D77DC:
/* 802D77DC 002D471C 7F 63 DB 78 */ mr r3, r27
/* 802D77E0 002D4720 39 61 00 20 */ addi r11, r1, 0x20
/* 802D77E4 002D4724 48 08 AA 3D */ bl _restgpr_27
/* 802D77E8 002D4728 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802D77EC 002D472C 7C 08 03 A6 */ mtlr r0
/* 802D77F0 002D4730 38 21 00 20 */ addi r1, r1, 0x20
/* 802D77F4 002D4734 4E 80 00 20 */ blr
@@ -1,12 +0,0 @@
/* getAramAddress_Entry__14JKRAramArchiveFP12SDIFileEntry __ct__14JKRAramArchiveFlQ210JKRArchive15EMountDirection::getAramAddress_Entry(JKRArchive::SDIFileEntry *) */
/* JKRAramArchive_NS_getAramAddress_Entry */
/* 802D77F8 002D4738 28 04 00 00 */ cmplwi r4, 0
/* 802D77FC 002D473C 40 82 00 0C */ bne lbl_802D7808
/* 802D7800 002D4740 38 60 00 00 */ li r3, 0
/* 802D7804 002D4744 4E 80 00 20 */ blr
lbl_802D7808:
/* 802D7808 002D4748 80 63 00 64 */ lwz r3, 0x64(r3)
/* 802D780C 002D474C 80 63 00 14 */ lwz r3, 0x14(r3)
/* 802D7810 002D4750 80 04 00 08 */ lwz r0, 8(r4)
/* 802D7814 002D4754 7C 60 1A 14 */ add r3, r0, r3
/* 802D7818 002D4758 4E 80 00 20 */ blr
@@ -1,17 +0,0 @@
/* getAramAddress__14JKRAramArchiveFPCc __ct__14JKRAramArchiveFlQ210JKRArchive15EMountDirection::getAramAddress(char const *) */
/* JKRAramArchive_NS_getAramAddress */
/* 802D781C 002D475C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802D7820 002D4760 7C 08 02 A6 */ mflr r0
/* 802D7824 002D4764 90 01 00 14 */ stw r0, 0x14(r1)
/* 802D7828 002D4768 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802D782C 002D476C 7C 7F 1B 78 */ mr r31, r3
/* 802D7830 002D4770 38 A0 00 00 */ li r5, 0
/* 802D7834 002D4774 4B FF ED 71 */ bl findFsResource__10JKRArchiveCFPCcUl
/* 802D7838 002D4778 7C 64 1B 78 */ mr r4, r3
/* 802D783C 002D477C 7F E3 FB 78 */ mr r3, r31
/* 802D7840 002D4780 4B FF FF B9 */ bl getAramAddress_Entry__14JKRAramArchiveFP12SDIFileEntry
/* 802D7844 002D4784 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802D7848 002D4788 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802D784C 002D478C 7C 08 03 A6 */ mtlr r0
/* 802D7850 002D4790 38 21 00 10 */ addi r1, r1, 0x10
/* 802D7854 002D4794 4E 80 00 20 */ blr
@@ -1,54 +0,0 @@
/* fetchResource_subroutine__14JKRAramArchiveFUlUlPUcUli __ct__14JKRAramArchiveFlQ210JKRArchive15EMountDirection::fetchResource_subroutine(unsigned long, unsigned long, unsigned char *, unsigned long, int) */
/* JKRAramArchive_NS_fetchResource_subroutine */
/* 802D7858 002D4798 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802D785C 002D479C 7C 08 02 A6 */ mflr r0
/* 802D7860 002D47A0 90 01 00 14 */ stw r0, 0x14(r1)
/* 802D7864 002D47A4 38 04 00 1F */ addi r0, r4, 0x1f
/* 802D7868 002D47A8 54 00 00 34 */ rlwinm r0, r0, 0, 0, 0x1a
/* 802D786C 002D47AC 54 C8 00 34 */ rlwinm r8, r6, 0, 0, 0x1a
/* 802D7870 002D47B0 2C 07 00 00 */ cmpwi r7, 0
/* 802D7874 002D47B4 41 82 00 14 */ beq lbl_802D7888
/* 802D7878 002D47B8 41 80 00 6C */ blt lbl_802D78E4
/* 802D787C 002D47BC 2C 07 00 03 */ cmpwi r7, 3
/* 802D7880 002D47C0 40 80 00 64 */ bge lbl_802D78E4
/* 802D7884 002D47C4 48 00 00 38 */ b lbl_802D78BC
lbl_802D7888:
/* 802D7888 002D47C8 7C 00 40 40 */ cmplw r0, r8
/* 802D788C 002D47CC 40 81 00 08 */ ble lbl_802D7894
/* 802D7890 002D47D0 7D 00 43 78 */ mr r0, r8
lbl_802D7894:
/* 802D7894 002D47D4 7C A4 2B 78 */ mr r4, r5
/* 802D7898 002D47D8 7C 05 03 78 */ mr r5, r0
/* 802D789C 002D47DC 38 C0 00 00 */ li r6, 0
/* 802D78A0 002D47E0 7D 07 43 78 */ mr r7, r8
/* 802D78A4 002D47E4 39 00 00 00 */ li r8, 0
/* 802D78A8 002D47E8 39 20 FF FF */ li r9, -1
/* 802D78AC 002D47EC 39 41 00 08 */ addi r10, r1, 8
/* 802D78B0 002D47F0 4B FF AD 05 */ bl aramToMainRam__7JKRAramFUlPUcUl15JKRExpandSwitchUlP7JKRHeapiPUl
/* 802D78B4 002D47F4 80 61 00 08 */ lwz r3, 8(r1)
/* 802D78B8 002D47F8 48 00 00 4C */ b lbl_802D7904
lbl_802D78BC:
/* 802D78BC 002D47FC 7C A4 2B 78 */ mr r4, r5
/* 802D78C0 002D4800 7C 05 03 78 */ mr r5, r0
/* 802D78C4 002D4804 38 C0 00 01 */ li r6, 1
/* 802D78C8 002D4808 7D 07 43 78 */ mr r7, r8
/* 802D78CC 002D480C 39 00 00 00 */ li r8, 0
/* 802D78D0 002D4810 39 20 FF FF */ li r9, -1
/* 802D78D4 002D4814 39 41 00 08 */ addi r10, r1, 8
/* 802D78D8 002D4818 4B FF AC DD */ bl aramToMainRam__7JKRAramFUlPUcUl15JKRExpandSwitchUlP7JKRHeapiPUl
/* 802D78DC 002D481C 80 61 00 08 */ lwz r3, 8(r1)
/* 802D78E0 002D4820 48 00 00 24 */ b lbl_802D7904
lbl_802D78E4:
/* 802D78E4 002D4824 3C 60 80 3A */ lis r3, lbl_8039D188@ha
/* 802D78E8 002D4828 38 63 D1 88 */ addi r3, r3, lbl_8039D188@l
/* 802D78EC 002D482C 38 80 02 8F */ li r4, 0x28f
/* 802D78F0 002D4830 38 A3 00 13 */ addi r5, r3, 0x13
/* 802D78F4 002D4834 38 C3 00 16 */ addi r6, r3, 0x16
/* 802D78F8 002D4838 4C C6 31 82 */ crclr 6
/* 802D78FC 002D483C 48 00 A9 01 */ bl panic_f__12JUTExceptionFPCciPCce
/* 802D7900 002D4840 38 60 00 00 */ li r3, 0
lbl_802D7904:
/* 802D7904 002D4844 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802D7908 002D4848 7C 08 03 A6 */ mtlr r0
/* 802D790C 002D484C 38 21 00 10 */ addi r1, r1, 0x10
/* 802D7910 002D4850 4E 80 00 20 */ blr
@@ -1,90 +0,0 @@
/* fetchResource_subroutine__14JKRAramArchiveFUlUlP7JKRHeapiPPUc __ct__14JKRAramArchiveFlQ210JKRArchive15EMountDirection::fetchResource_subroutine(unsigned long, unsigned long, JKRHeap *, int, unsigned char **) */
/* JKRAramArchive_NS_fetchResource_subroutine_X1_ */
/* 802D7914 002D4854 94 21 FF 90 */ stwu r1, -0x70(r1)
/* 802D7918 002D4858 7C 08 02 A6 */ mflr r0
/* 802D791C 002D485C 90 01 00 74 */ stw r0, 0x74(r1)
/* 802D7920 002D4860 39 61 00 70 */ addi r11, r1, 0x70
/* 802D7924 002D4864 48 08 A8 AD */ bl _savegpr_26
/* 802D7928 002D4868 7C 7C 1B 78 */ mr r28, r3
/* 802D792C 002D486C 7C 9A 23 78 */ mr r26, r4
/* 802D7930 002D4870 7C BD 2B 78 */ mr r29, r5
/* 802D7934 002D4874 7C FE 3B 78 */ mr r30, r7
/* 802D7938 002D4878 38 1A 00 1F */ addi r0, r26, 0x1f
/* 802D793C 002D487C 54 1F 00 34 */ rlwinm r31, r0, 0, 0, 0x1a
/* 802D7940 002D4880 2C 06 00 00 */ cmpwi r6, 0
/* 802D7944 002D4884 41 82 00 14 */ beq lbl_802D7958
/* 802D7948 002D4888 41 80 00 E4 */ blt lbl_802D7A2C
/* 802D794C 002D488C 2C 06 00 03 */ cmpwi r6, 3
/* 802D7950 002D4890 40 80 00 DC */ bge lbl_802D7A2C
/* 802D7954 002D4894 48 00 00 44 */ b lbl_802D7998
lbl_802D7958:
/* 802D7958 002D4898 7F E3 FB 78 */ mr r3, r31
/* 802D795C 002D489C 38 80 00 20 */ li r4, 0x20
/* 802D7960 002D48A0 4B FF 6B 15 */ bl alloc__7JKRHeapFUliP7JKRHeap
/* 802D7964 002D48A4 7C 7B 1B 78 */ mr r27, r3
/* 802D7968 002D48A8 7F 83 E3 78 */ mr r3, r28
/* 802D796C 002D48AC 7F 64 DB 78 */ mr r4, r27
/* 802D7970 002D48B0 7F E5 FB 78 */ mr r5, r31
/* 802D7974 002D48B4 38 C0 00 00 */ li r6, 0
/* 802D7978 002D48B8 7F E7 FB 78 */ mr r7, r31
/* 802D797C 002D48BC 39 00 00 00 */ li r8, 0
/* 802D7980 002D48C0 39 20 FF FF */ li r9, -1
/* 802D7984 002D48C4 39 40 00 00 */ li r10, 0
/* 802D7988 002D48C8 4B FF AC 2D */ bl aramToMainRam__7JKRAramFUlPUcUl15JKRExpandSwitchUlP7JKRHeapiPUl
/* 802D798C 002D48CC 93 7E 00 00 */ stw r27, 0(r30)
/* 802D7990 002D48D0 7F 43 D3 78 */ mr r3, r26
/* 802D7994 002D48D4 48 00 00 B8 */ b lbl_802D7A4C
lbl_802D7998:
/* 802D7998 002D48D8 38 01 00 2B */ addi r0, r1, 0x2b
/* 802D799C 002D48DC 54 1B 00 34 */ rlwinm r27, r0, 0, 0, 0x1a
/* 802D79A0 002D48E0 7F 64 DB 78 */ mr r4, r27
/* 802D79A4 002D48E4 38 A0 00 20 */ li r5, 0x20
/* 802D79A8 002D48E8 38 C0 00 00 */ li r6, 0
/* 802D79AC 002D48EC 38 E0 00 00 */ li r7, 0
/* 802D79B0 002D48F0 39 00 00 00 */ li r8, 0
/* 802D79B4 002D48F4 39 20 FF FF */ li r9, -1
/* 802D79B8 002D48F8 39 40 00 00 */ li r10, 0
/* 802D79BC 002D48FC 4B FF AB F9 */ bl aramToMainRam__7JKRAramFUlPUcUl15JKRExpandSwitchUlP7JKRHeapiPUl
/* 802D79C0 002D4900 88 BB 00 07 */ lbz r5, 7(r27)
/* 802D79C4 002D4904 88 9B 00 06 */ lbz r4, 6(r27)
/* 802D79C8 002D4908 88 7B 00 04 */ lbz r3, 4(r27)
/* 802D79CC 002D490C 88 1B 00 05 */ lbz r0, 5(r27)
/* 802D79D0 002D4910 54 00 80 1E */ slwi r0, r0, 0x10
/* 802D79D4 002D4914 50 60 C0 0E */ rlwimi r0, r3, 0x18, 0, 7
/* 802D79D8 002D4918 50 80 44 2E */ rlwimi r0, r4, 8, 0x10, 0x17
/* 802D79DC 002D491C 7C A3 03 78 */ or r3, r5, r0
/* 802D79E0 002D4920 38 03 00 1F */ addi r0, r3, 0x1f
/* 802D79E4 002D4924 54 1A 00 34 */ rlwinm r26, r0, 0, 0, 0x1a
/* 802D79E8 002D4928 7F 43 D3 78 */ mr r3, r26
/* 802D79EC 002D492C 38 80 00 20 */ li r4, 0x20
/* 802D79F0 002D4930 7F A5 EB 78 */ mr r5, r29
/* 802D79F4 002D4934 4B FF 6A 81 */ bl alloc__7JKRHeapFUliP7JKRHeap
/* 802D79F8 002D4938 7C 7B 1B 78 */ mr r27, r3
/* 802D79FC 002D493C 7F 83 E3 78 */ mr r3, r28
/* 802D7A00 002D4940 7F 64 DB 78 */ mr r4, r27
/* 802D7A04 002D4944 7F E5 FB 78 */ mr r5, r31
/* 802D7A08 002D4948 38 C0 00 01 */ li r6, 1
/* 802D7A0C 002D494C 7F 47 D3 78 */ mr r7, r26
/* 802D7A10 002D4950 7F A8 EB 78 */ mr r8, r29
/* 802D7A14 002D4954 39 20 FF FF */ li r9, -1
/* 802D7A18 002D4958 39 41 00 08 */ addi r10, r1, 8
/* 802D7A1C 002D495C 4B FF AB 99 */ bl aramToMainRam__7JKRAramFUlPUcUl15JKRExpandSwitchUlP7JKRHeapiPUl
/* 802D7A20 002D4960 93 7E 00 00 */ stw r27, 0(r30)
/* 802D7A24 002D4964 80 61 00 08 */ lwz r3, 8(r1)
/* 802D7A28 002D4968 48 00 00 24 */ b lbl_802D7A4C
lbl_802D7A2C:
/* 802D7A2C 002D496C 3C 60 80 3A */ lis r3, lbl_8039D188@ha
/* 802D7A30 002D4970 38 63 D1 88 */ addi r3, r3, lbl_8039D188@l
/* 802D7A34 002D4974 38 80 02 C9 */ li r4, 0x2c9
/* 802D7A38 002D4978 38 A3 00 13 */ addi r5, r3, 0x13
/* 802D7A3C 002D497C 38 C3 00 16 */ addi r6, r3, 0x16
/* 802D7A40 002D4980 4C C6 31 82 */ crclr 6
/* 802D7A44 002D4984 48 00 A7 B9 */ bl panic_f__12JUTExceptionFPCciPCce
/* 802D7A48 002D4988 38 60 00 00 */ li r3, 0
lbl_802D7A4C:
/* 802D7A4C 002D498C 39 61 00 70 */ addi r11, r1, 0x70
/* 802D7A50 002D4990 48 08 A7 CD */ bl _restgpr_26
/* 802D7A54 002D4994 80 01 00 74 */ lwz r0, 0x74(r1)
/* 802D7A58 002D4998 7C 08 03 A6 */ mtlr r0
/* 802D7A5C 002D499C 38 21 00 70 */ addi r1, r1, 0x70
/* 802D7A60 002D49A0 4E 80 00 20 */ blr
@@ -1,82 +0,0 @@
/* getExpandedResSize__14JKRAramArchiveCFPCv __ct__14JKRAramArchiveFlQ210JKRArchive15EMountDirection::getExpandedResSize( const(void const *)) */
/* missing reference */
/* 802D7A64 002D49A4 94 21 FF A0 */ stwu r1, -0x60(r1)
/* 802D7A68 002D49A8 7C 08 02 A6 */ mflr r0
/* 802D7A6C 002D49AC 90 01 00 64 */ stw r0, 0x64(r1)
/* 802D7A70 002D49B0 39 61 00 60 */ addi r11, r1, 0x60
/* 802D7A74 002D49B4 48 08 A7 69 */ bl _savegpr_29
/* 802D7A78 002D49B8 7C 7F 1B 78 */ mr r31, r3
/* 802D7A7C 002D49BC 7C 9E 23 78 */ mr r30, r4
/* 802D7A80 002D49C0 80 03 00 50 */ lwz r0, 0x50(r3)
/* 802D7A84 002D49C4 28 00 00 00 */ cmplwi r0, 0
/* 802D7A88 002D49C8 40 82 00 18 */ bne lbl_802D7AA0
/* 802D7A8C 002D49CC 81 83 00 00 */ lwz r12, 0(r3)
/* 802D7A90 002D49D0 81 8C 00 30 */ lwz r12, 0x30(r12)
/* 802D7A94 002D49D4 7D 89 03 A6 */ mtctr r12
/* 802D7A98 002D49D8 4E 80 04 21 */ bctrl
/* 802D7A9C 002D49DC 48 00 00 DC */ b lbl_802D7B78
lbl_802D7AA0:
/* 802D7AA0 002D49E0 4B FF EC 95 */ bl findPtrResource__10JKRArchiveCFPCv
/* 802D7AA4 002D49E4 7C 7D 1B 79 */ or. r29, r3, r3
/* 802D7AA8 002D49E8 40 82 00 0C */ bne lbl_802D7AB4
/* 802D7AAC 002D49EC 38 60 FF FF */ li r3, -1
/* 802D7AB0 002D49F0 48 00 00 C8 */ b lbl_802D7B78
lbl_802D7AB4:
/* 802D7AB4 002D49F4 80 1D 00 04 */ lwz r0, 4(r29)
/* 802D7AB8 002D49F8 54 00 47 7B */ rlwinm. r0, r0, 8, 0x1d, 0x1d
/* 802D7ABC 002D49FC 40 82 00 20 */ bne lbl_802D7ADC
/* 802D7AC0 002D4A00 7F E3 FB 78 */ mr r3, r31
/* 802D7AC4 002D4A04 7F C4 F3 78 */ mr r4, r30
/* 802D7AC8 002D4A08 81 9F 00 00 */ lwz r12, 0(r31)
/* 802D7ACC 002D4A0C 81 8C 00 30 */ lwz r12, 0x30(r12)
/* 802D7AD0 002D4A10 7D 89 03 A6 */ mtctr r12
/* 802D7AD4 002D4A14 4E 80 04 21 */ bctrl
/* 802D7AD8 002D4A18 48 00 00 A0 */ b lbl_802D7B78
lbl_802D7ADC:
/* 802D7ADC 002D4A1C 7F E3 FB 78 */ mr r3, r31
/* 802D7AE0 002D4A20 7F A4 EB 78 */ mr r4, r29
/* 802D7AE4 002D4A24 81 9F 00 00 */ lwz r12, 0(r31)
/* 802D7AE8 002D4A28 81 8C 00 4C */ lwz r12, 0x4c(r12)
/* 802D7AEC 002D4A2C 7D 89 03 A6 */ mtctr r12
/* 802D7AF0 002D4A30 4E 80 04 21 */ bctrl
/* 802D7AF4 002D4A34 28 03 00 00 */ cmplwi r3, 0
/* 802D7AF8 002D4A38 41 82 00 08 */ beq lbl_802D7B00
/* 802D7AFC 002D4A3C 48 00 00 7C */ b lbl_802D7B78
lbl_802D7B00:
/* 802D7B00 002D4A40 38 01 00 27 */ addi r0, r1, 0x27
/* 802D7B04 002D4A44 54 1E 00 34 */ rlwinm r30, r0, 0, 0, 0x1a
/* 802D7B08 002D4A48 80 7F 00 64 */ lwz r3, 0x64(r31)
/* 802D7B0C 002D4A4C 80 63 00 14 */ lwz r3, 0x14(r3)
/* 802D7B10 002D4A50 80 1D 00 08 */ lwz r0, 8(r29)
/* 802D7B14 002D4A54 7C 60 1A 14 */ add r3, r0, r3
/* 802D7B18 002D4A58 7F C4 F3 78 */ mr r4, r30
/* 802D7B1C 002D4A5C 38 A0 00 20 */ li r5, 0x20
/* 802D7B20 002D4A60 38 C0 00 00 */ li r6, 0
/* 802D7B24 002D4A64 38 E0 00 00 */ li r7, 0
/* 802D7B28 002D4A68 39 00 00 00 */ li r8, 0
/* 802D7B2C 002D4A6C 39 20 FF FF */ li r9, -1
/* 802D7B30 002D4A70 39 40 00 00 */ li r10, 0
/* 802D7B34 002D4A74 4B FF AA 81 */ bl aramToMainRam__7JKRAramFUlPUcUl15JKRExpandSwitchUlP7JKRHeapiPUl
/* 802D7B38 002D4A78 88 BE 00 07 */ lbz r5, 7(r30)
/* 802D7B3C 002D4A7C 88 9E 00 06 */ lbz r4, 6(r30)
/* 802D7B40 002D4A80 88 7E 00 04 */ lbz r3, 4(r30)
/* 802D7B44 002D4A84 88 1E 00 05 */ lbz r0, 5(r30)
/* 802D7B48 002D4A88 54 00 80 1E */ slwi r0, r0, 0x10
/* 802D7B4C 002D4A8C 50 60 C0 0E */ rlwimi r0, r3, 0x18, 0, 7
/* 802D7B50 002D4A90 50 80 44 2E */ rlwimi r0, r4, 8, 0x10, 0x17
/* 802D7B54 002D4A94 7C BE 03 78 */ or r30, r5, r0
/* 802D7B58 002D4A98 7F E3 FB 78 */ mr r3, r31
/* 802D7B5C 002D4A9C 7F A4 EB 78 */ mr r4, r29
/* 802D7B60 002D4AA0 7F C5 F3 78 */ mr r5, r30
/* 802D7B64 002D4AA4 81 9F 00 00 */ lwz r12, 0(r31)
/* 802D7B68 002D4AA8 81 8C 00 48 */ lwz r12, 0x48(r12)
/* 802D7B6C 002D4AAC 7D 89 03 A6 */ mtctr r12
/* 802D7B70 002D4AB0 4E 80 04 21 */ bctrl
/* 802D7B74 002D4AB4 7F C3 F3 78 */ mr r3, r30
lbl_802D7B78:
/* 802D7B78 002D4AB8 39 61 00 60 */ addi r11, r1, 0x60
/* 802D7B7C 002D4ABC 48 08 A6 AD */ bl _restgpr_29
/* 802D7B80 002D4AC0 80 01 00 64 */ lwz r0, 0x64(r1)
/* 802D7B84 002D4AC4 7C 08 03 A6 */ mtlr r0
/* 802D7B88 002D4AC8 38 21 00 60 */ addi r1, r1, 0x60
/* 802D7B8C 002D4ACC 4E 80 00 20 */ blr
+7
View File
@@ -0,0 +1,7 @@
#ifndef JKRARAMBLOCK_H
#define JKRARAMBLOCK_H
#include "dolphin/types.h"
#endif /* JKRARAMBLOCK_H */
@@ -1,37 +0,0 @@
#ifndef JKRARAMBLOCK_H_
#define JKRARAMBLOCK_H_
#include "JSystem/JSupport/JSUList/JSUList.h"
#include "dolphin/types.h"
class JKRAramHeap;
class JKRAramBlock {
public:
JKRAramBlock(u32, u32, u32, u8, bool);
virtual ~JKRAramBlock();
JKRAramBlock* allocHead(u32, u8, JKRAramHeap*);
JKRAramBlock* allocTail(u32, u8, JKRAramHeap*);
void* getAddress() const { return (void*)mAddress; }
u32 getSize() const { return mSize; }
u32 getFreeSize() const { return mFreeSize; }
bool isTempMemory() const { return mIsTempMemory; }
void newGroupID(u8 groupId) { mGroupId = groupId; }
public:
/* 0x00 */ // vtable
/* 0x04 */ JSULink<JKRAramBlock> mBlockLink;
/* 0x14 */ u32 mAddress;
/* 0x18 */ u32 mSize;
/* 0x1C */ u32 mFreeSize;
/* 0x20 */ u8 mGroupId;
/* 0x21 */ u8 mIsTempMemory;
/* 0x22 */ u8 padding[2];
};
#endif
+7
View File
@@ -0,0 +1,7 @@
#ifndef JKRARAMHEAP_H
#define JKRARAMHEAP_H
#include "dolphin/types.h"
#endif /* JKRARAMHEAP_H */
@@ -1,49 +0,0 @@
#ifndef JKRARAMHEAP_H_
#define JKRARAMHEAP_H_
#include "JSystem/JKernel/JKRAramBlock/JKRAramBlock.h"
#include "JSystem/JKernel/JKRDisposer/JKRDisposer.h"
#include "dolphin/types.h"
#include "global.h"
class JKRAramHeap : public JKRDisposer {
public:
enum EAllocMode {
HEAD = 0,
TAIL = 1,
};
public:
JKRAramHeap(u32, u32);
virtual ~JKRAramHeap();
JKRAramBlock* alloc(u32, EAllocMode);
JKRAramBlock* allocFromHead(u32);
JKRAramBlock* allocFromTail(u32);
u32 getFreeSize(void);
u32 getTotalFreeSize(void);
// u32 getUsedSize(void);
void dump(void);
u8 getCurrentGroupID() const { return mGroupId; }
JKRHeap* getMgrHeap() const { return mHeap; }
private:
void lock() { OSLockMutex(&mMutex); }
void unlock() { OSUnlockMutex(&mMutex); }
public:
/* 0x00 */ // vtable
/* 0x04 */ // JKRDisposer
/* 0x18 */ OSMutex mMutex;
/* 0x30 */ JKRHeap* mHeap;
/* 0x34 */ u32 mHeadAddress;
/* 0x38 */ u32 mTailAddress;
/* 0x3C */ u32 mSize;
/* 0x40 */ u8 mGroupId;
/* 0x41 */ u8 padding_0x41[3];
};
#endif
@@ -1,47 +0,0 @@
/* __dt__11JKRAramHeapFv __ct__11JKRAramHeapFUlUl::__dt(void) */
/* missing reference */
/* 802D2F14 002CFE54 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802D2F18 002CFE58 7C 08 02 A6 */ mflr r0
/* 802D2F1C 002CFE5C 90 01 00 24 */ stw r0, 0x24(r1)
/* 802D2F20 002CFE60 39 61 00 20 */ addi r11, r1, 0x20
/* 802D2F24 002CFE64 48 08 F2 B9 */ bl _savegpr_29
/* 802D2F28 002CFE68 7C 7D 1B 79 */ or. r29, r3, r3
/* 802D2F2C 002CFE6C 7C 9E 23 78 */ mr r30, r4
/* 802D2F30 002CFE70 41 82 00 70 */ beq lbl_802D2FA0
/* 802D2F34 002CFE74 3C 60 80 3D */ lis r3, lbl_803CC168@ha
/* 802D2F38 002CFE78 38 03 C1 68 */ addi r0, r3, lbl_803CC168@l
/* 802D2F3C 002CFE7C 90 1D 00 00 */ stw r0, 0(r29)
/* 802D2F40 002CFE80 3C 60 80 43 */ lis r3, lbl_8043430C@ha
/* 802D2F44 002CFE84 83 E3 43 0C */ lwz r31, lbl_8043430C@l(r3)
/* 802D2F48 002CFE88 48 00 00 34 */ b lbl_802D2F7C
lbl_802D2F4C:
/* 802D2F4C 002CFE8C 93 E1 00 08 */ stw r31, 8(r1)
/* 802D2F50 002CFE90 83 FF 00 0C */ lwz r31, 0xc(r31)
/* 802D2F54 002CFE94 80 61 00 08 */ lwz r3, 8(r1)
/* 802D2F58 002CFE98 90 61 00 0C */ stw r3, 0xc(r1)
/* 802D2F5C 002CFE9C 80 63 00 00 */ lwz r3, 0(r3)
/* 802D2F60 002CFEA0 28 03 00 00 */ cmplwi r3, 0
/* 802D2F64 002CFEA4 41 82 00 18 */ beq lbl_802D2F7C
/* 802D2F68 002CFEA8 38 80 00 01 */ li r4, 1
/* 802D2F6C 002CFEAC 81 83 00 00 */ lwz r12, 0(r3)
/* 802D2F70 002CFEB0 81 8C 00 08 */ lwz r12, 8(r12)
/* 802D2F74 002CFEB4 7D 89 03 A6 */ mtctr r12
/* 802D2F78 002CFEB8 4E 80 04 21 */ bctrl
lbl_802D2F7C:
/* 802D2F7C 002CFEBC 28 1F 00 00 */ cmplwi r31, 0
/* 802D2F80 002CFEC0 40 82 FF CC */ bne lbl_802D2F4C
/* 802D2F84 002CFEC4 7F A3 EB 78 */ mr r3, r29
/* 802D2F88 002CFEC8 38 80 00 00 */ li r4, 0
/* 802D2F8C 002CFECC 4B FF E5 59 */ bl __dt__11JKRDisposerFv
/* 802D2F90 002CFED0 7F C0 07 35 */ extsh. r0, r30
/* 802D2F94 002CFED4 40 81 00 0C */ ble lbl_802D2FA0
/* 802D2F98 002CFED8 7F A3 EB 78 */ mr r3, r29
/* 802D2F9C 002CFEDC 4B FF BD A1 */ bl __dl__FPv
lbl_802D2FA0:
/* 802D2FA0 002CFEE0 7F A3 EB 78 */ mr r3, r29
/* 802D2FA4 002CFEE4 39 61 00 20 */ addi r11, r1, 0x20
/* 802D2FA8 002CFEE8 48 08 F2 81 */ bl _restgpr_29
/* 802D2FAC 002CFEEC 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802D2FB0 002CFEF0 7C 08 03 A6 */ mtlr r0
/* 802D2FB4 002CFEF4 38 21 00 20 */ addi r1, r1, 0x20
/* 802D2FB8 002CFEF8 4E 80 00 20 */ blr
+7
View File
@@ -0,0 +1,7 @@
#ifndef JKRARAMPIECE_H
#define JKRARAMPIECE_H
#include "dolphin/types.h"
#endif /* JKRARAMPIECE_H */
@@ -1,70 +0,0 @@
#ifndef JKRARAMPIECE_H_
#define JKRARAMPIECE_H_
#include "JSystem/JSupport/JSUList/JSUList.h"
#include "ar/ARQ.h"
#include "dolphin/types.h"
#include "os/OS.h"
extern OSMutex lbl_80434330;
class JKRAramBlock;
class JKRDecompCommand;
class JKRAMCommand {
public:
typedef void (*AsyncCallback)(u32);
JKRAMCommand();
~JKRAMCommand();
public:
/* 0x00 */ ARQRequest mRequest;
/* 0x20 */ JSULink<JKRAMCommand> mPieceLink;
/* 0x30 */ JSULink<JKRAMCommand> field_0x30;
/* 0x40 */ s32 mTransferDirection;
/* 0x44 */ u32 mDataLength;
/* 0x48 */ u32 mSrc;
/* 0x4C */ u32 mDst;
/* 0x50 */ JKRAramBlock* mAramBlock;
/* 0x54 */ u32 field_0x54;
/* 0x58 */ AsyncCallback mCallback;
/* 0x5C */ OSMessageQueue* field_0x5C;
/* 0x60 */ s32 field_0x60;
/* 0x64 */ JKRDecompCommand* mDecompCommand;
/* 0x68 */ OSMessageQueue mMessageQueue;
/* 0x88 */ OSMessage mMessage;
/* 0x8C */ void* field_0x8C;
/* 0x90 */ void* field_0x90;
/* 0x94 */ void* field_0x94;
};
class JKRAramPiece {
public:
struct Message {
s32 field_0x00;
JKRAMCommand* command;
};
public:
static JKRAMCommand* prepareCommand(int, u32, u32, u32, JKRAramBlock*,
JKRAMCommand::AsyncCallback);
static void sendCommand(JKRAMCommand*);
static JKRAMCommand* orderAsync(int, u32, u32, u32, JKRAramBlock*, JKRAMCommand::AsyncCallback);
static BOOL sync(JKRAMCommand*, int);
static BOOL orderSync(int, u32, u32, u32, JKRAramBlock*);
static void startDMA(JKRAMCommand*);
static void doneDMA(u32);
private:
static void lock() { OSLockMutex(&lbl_80434330); }
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
+7
View File
@@ -0,0 +1,7 @@
#ifndef JKRARAMSTREAM_H
#define JKRARAMSTREAM_H
#include "dolphin/types.h"
#endif /* JKRARAMSTREAM_H */
@@ -1,69 +0,0 @@
#ifndef JKRARAMSTREAM_H_
#define JKRARAMSTREAM_H_
#include "JSystem/JKernel/JKRThread/JKRThread.h"
#include "JSystem/JSupport/JSUFileInputStream/JSUFileInputStream.h"
#include "JSystem/JSupport/JSURandomInputStream/JSURandomInputStream.h"
#include "dolphin/types.h"
class JKRAramStreamCommand {
public:
enum Type {
UNKNOWN = 0,
READ = 1,
WRITE = 2,
};
JKRAramStreamCommand();
public:
/* 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 {
private:
JKRAramStream(long);
virtual ~JKRAramStream();
/* vt[03] */ void* run(void); /* override */
public:
static JKRAramStream* create(long);
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
@@ -1,141 +0,0 @@
/* writeToAram__13JKRAramStreamFP20JKRAramStreamCommand __ct__13JKRAramStreamFl::writeToAram(JKRAramStreamCommand *) */
/* JKRAramStream_NS_writeToAram */
/* 802D3CE0 002D0C20 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 802D3CE4 002D0C24 7C 08 02 A6 */ mflr r0
/* 802D3CE8 002D0C28 90 01 00 34 */ stw r0, 0x34(r1)
/* 802D3CEC 002D0C2C 39 61 00 30 */ addi r11, r1, 0x30
/* 802D3CF0 002D0C30 48 08 E4 D9 */ bl _savegpr_24
/* 802D3CF4 002D0C34 7C 78 1B 78 */ mr r24, r3
/* 802D3CF8 002D0C38 83 C3 00 08 */ lwz r30, 8(r3)
/* 802D3CFC 002D0C3C 83 A3 00 14 */ lwz r29, 0x14(r3)
/* 802D3D00 002D0C40 3B 80 00 00 */ li r28, 0
/* 802D3D04 002D0C44 83 63 00 04 */ lwz r27, 4(r3)
/* 802D3D08 002D0C48 83 43 00 1C */ lwz r26, 0x1c(r3)
/* 802D3D0C 002D0C4C 80 03 00 20 */ lwz r0, 0x20(r3)
/* 802D3D10 002D0C50 83 23 00 24 */ lwz r25, 0x24(r3)
/* 802D3D14 002D0C54 28 1A 00 00 */ cmplwi r26, 0
/* 802D3D18 002D0C58 41 82 00 28 */ beq lbl_802D3D40
/* 802D3D1C 002D0C5C 28 00 00 00 */ cmplwi r0, 0
/* 802D3D20 002D0C60 3C 60 00 01 */ lis r3, 0x00008000@ha
/* 802D3D24 002D0C64 3B E3 80 00 */ addi r31, r3, 0x00008000@l
/* 802D3D28 002D0C68 41 82 00 08 */ beq lbl_802D3D30
/* 802D3D2C 002D0C6C 7C 1F 03 78 */ mr r31, r0
lbl_802D3D30:
/* 802D3D30 002D0C70 93 F8 00 20 */ stw r31, 0x20(r24)
/* 802D3D34 002D0C74 38 00 00 00 */ li r0, 0
/* 802D3D38 002D0C78 98 18 00 28 */ stb r0, 0x28(r24)
/* 802D3D3C 002D0C7C 48 00 00 60 */ b lbl_802D3D9C
lbl_802D3D40:
/* 802D3D40 002D0C80 28 00 00 00 */ cmplwi r0, 0
/* 802D3D44 002D0C84 3C 60 00 01 */ lis r3, 0x00008000@ha
/* 802D3D48 002D0C88 3B E3 80 00 */ addi r31, r3, 0x00008000@l
/* 802D3D4C 002D0C8C 41 82 00 08 */ beq lbl_802D3D54
/* 802D3D50 002D0C90 7C 1F 03 78 */ mr r31, r0
lbl_802D3D54:
/* 802D3D54 002D0C94 28 19 00 00 */ cmplwi r25, 0
/* 802D3D58 002D0C98 41 82 00 20 */ beq lbl_802D3D78
/* 802D3D5C 002D0C9C 7F E3 FB 78 */ mr r3, r31
/* 802D3D60 002D0CA0 38 80 FF E0 */ li r4, -32
/* 802D3D64 002D0CA4 7F 25 CB 78 */ mr r5, r25
/* 802D3D68 002D0CA8 4B FF A7 0D */ bl alloc__7JKRHeapFUliP7JKRHeap
/* 802D3D6C 002D0CAC 7C 7A 1B 78 */ mr r26, r3
/* 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, 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
/* 802D3D88 002D0CC8 7C 7A 1B 78 */ mr r26, r3
/* 802D3D8C 002D0CCC 93 58 00 1C */ stw r26, 0x1c(r24)
lbl_802D3D90:
/* 802D3D90 002D0CD0 93 F8 00 20 */ stw r31, 0x20(r24)
/* 802D3D94 002D0CD4 38 00 00 01 */ li r0, 1
/* 802D3D98 002D0CD8 98 18 00 28 */ stb r0, 0x28(r24)
lbl_802D3D9C:
/* 802D3D9C 002D0CDC 28 1A 00 00 */ cmplwi r26, 0
/* 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, 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
/* 802D3DBC 002D0CFC 4E 80 04 21 */ bctrl
/* 802D3DC0 002D0D00 48 00 00 18 */ b lbl_802D3DD8
lbl_802D3DC4:
/* 802D3DC4 002D0D04 7F 23 CB 78 */ mr r3, r25
/* 802D3DC8 002D0D08 81 99 00 00 */ lwz r12, 0(r25)
/* 802D3DCC 002D0D0C 81 8C 00 1C */ lwz r12, 0x1c(r12)
/* 802D3DD0 002D0D10 7D 89 03 A6 */ mtctr r12
/* 802D3DD4 002D0D14 4E 80 04 21 */ bctrl
lbl_802D3DD8:
/* 802D3DD8 002D0D18 3C 60 80 3A */ lis r3, lbl_8039D120@ha
/* 802D3DDC 002D0D1C 38 63 D1 20 */ addi r3, r3, lbl_8039D120@l
/* 802D3DE0 002D0D20 38 80 00 AC */ li r4, 0xac
/* 802D3DE4 002D0D24 38 A3 00 12 */ addi r5, r3, 0x12
/* 802D3DE8 002D0D28 38 C3 00 15 */ addi r6, r3, 0x15
/* 802D3DEC 002D0D2C 4C C6 31 82 */ crclr 6
/* 802D3DF0 002D0D30 48 00 E4 0D */ bl panic_f__12JUTExceptionFPCciPCce
lbl_802D3DF4:
/* 802D3DF4 002D0D34 28 1A 00 00 */ cmplwi r26, 0
/* 802D3DF8 002D0D38 41 82 00 AC */ beq lbl_802D3EA4
/* 802D3DFC 002D0D3C 80 78 00 10 */ lwz r3, 0x10(r24)
/* 802D3E00 002D0D40 7F A4 EB 78 */ mr r4, r29
/* 802D3E04 002D0D44 38 A0 00 00 */ li r5, 0
/* 802D3E08 002D0D48 48 00 86 D5 */ bl seek__20JSURandomInputStreamFl17JSUStreamSeekFrom
/* 802D3E0C 002D0D4C 48 00 00 70 */ b lbl_802D3E7C
lbl_802D3E10:
/* 802D3E10 002D0D50 7C 1E F8 40 */ cmplw r30, r31
/* 802D3E14 002D0D54 7F D9 F3 78 */ mr r25, r30
/* 802D3E18 002D0D58 40 81 00 08 */ ble lbl_802D3E20
/* 802D3E1C 002D0D5C 7F F9 FB 78 */ mr r25, r31
lbl_802D3E20:
/* 802D3E20 002D0D60 80 78 00 10 */ lwz r3, 0x10(r24)
/* 802D3E24 002D0D64 7F 44 D3 78 */ mr r4, r26
/* 802D3E28 002D0D68 7F 25 CB 78 */ mr r5, r25
/* 802D3E2C 002D0D6C 48 00 84 6D */ bl read__14JSUInputStreamFPvl
/* 802D3E30 002D0D70 2C 03 00 00 */ cmpwi r3, 0
/* 802D3E34 002D0D74 40 82 00 0C */ bne lbl_802D3E40
/* 802D3E38 002D0D78 3B 80 00 00 */ li r28, 0
/* 802D3E3C 002D0D7C 48 00 00 48 */ b lbl_802D3E84
lbl_802D3E40:
/* 802D3E40 002D0D80 38 60 00 00 */ li r3, 0
/* 802D3E44 002D0D84 7F 44 D3 78 */ mr r4, r26
/* 802D3E48 002D0D88 7F 65 DB 78 */ mr r5, r27
/* 802D3E4C 002D0D8C 7F 26 CB 78 */ mr r6, r25
/* 802D3E50 002D0D90 38 E0 00 00 */ li r7, 0
/* 802D3E54 002D0D94 4B FF F9 E5 */ bl orderSync__12JKRAramPieceFiUlUlUlP12JKRAramBlock
/* 802D3E58 002D0D98 7F D9 F0 50 */ subf r30, r25, r30
/* 802D3E5C 002D0D9C 7F 9C CA 14 */ add r28, r28, r25
/* 802D3E60 002D0DA0 7F 7B CA 14 */ add r27, r27, r25
/* 802D3E64 002D0DA4 80 78 00 18 */ lwz r3, 0x18(r24)
/* 802D3E68 002D0DA8 28 03 00 00 */ cmplwi r3, 0
/* 802D3E6C 002D0DAC 41 82 00 10 */ beq lbl_802D3E7C
/* 802D3E70 002D0DB0 80 03 00 00 */ lwz r0, 0(r3)
/* 802D3E74 002D0DB4 7C 00 CA 14 */ add r0, r0, r25
/* 802D3E78 002D0DB8 90 03 00 00 */ stw r0, 0(r3)
lbl_802D3E7C:
/* 802D3E7C 002D0DBC 28 1E 00 00 */ cmplwi r30, 0
/* 802D3E80 002D0DC0 40 82 FF 90 */ bne lbl_802D3E10
lbl_802D3E84:
/* 802D3E84 002D0DC4 88 18 00 28 */ lbz r0, 0x28(r24)
/* 802D3E88 002D0DC8 28 00 00 00 */ cmplwi r0, 0
/* 802D3E8C 002D0DCC 41 82 00 18 */ beq lbl_802D3EA4
/* 802D3E90 002D0DD0 7F 43 D3 78 */ mr r3, r26
/* 802D3E94 002D0DD4 38 80 00 00 */ li r4, 0
/* 802D3E98 002D0DD8 4B FF A6 69 */ bl free__7JKRHeapFPvP7JKRHeap
/* 802D3E9C 002D0DDC 38 00 00 00 */ li r0, 0
/* 802D3EA0 002D0DE0 98 18 00 28 */ stb r0, 0x28(r24)
lbl_802D3EA4:
/* 802D3EA4 002D0DE4 38 78 00 30 */ addi r3, r24, 0x30
/* 802D3EA8 002D0DE8 7F 84 E3 78 */ mr r4, r28
/* 802D3EAC 002D0DEC 38 A0 00 00 */ li r5, 0
/* 802D3EB0 002D0DF0 48 06 AB 45 */ bl OSSendMessage
/* 802D3EB4 002D0DF4 7F 83 E3 78 */ mr r3, r28
/* 802D3EB8 002D0DF8 39 61 00 30 */ addi r11, r1, 0x30
/* 802D3EBC 002D0DFC 48 08 E3 59 */ bl _restgpr_24
/* 802D3EC0 002D0E00 80 01 00 34 */ lwz r0, 0x34(r1)
/* 802D3EC4 002D0E04 7C 08 03 A6 */ mtlr r0
/* 802D3EC8 002D0E08 38 21 00 30 */ addi r1, r1, 0x30
/* 802D3ECC 002D0E0C 4E 80 00 20 */ blr
@@ -1,140 +0,0 @@
#ifndef JKRARCHIVEPUB_H_
#define JKRARCHIVEPUB_H_
#include "JSystem/JKernel/JKRDecomp/JKRDecomp.h"
#include "JSystem/JKernel/JKRFileLoader/JKRFileLoader.h"
#include "JSystem/JKernel/SArc.h"
#include "dolphin/types.h"
extern u32 sCurrentDirID__10JKRArchive; // JKRArchive::sCurrentDirID
class JKRHeap;
class JKRDvdFile;
class JKRArchive : public JKRFileLoader {
public:
enum EMountMode {
UNKNOWN_MOUNT_MODE = 0,
MOUNT_MEM = 1,
MOUNT_ARAM = 2,
MOUNT_DVD = 3,
MOUNT_COMP = 4,
};
enum EMountDirection {
UNKNOWN_MOUNT_DIRECTION = 0,
MOUNT_DIRECTION_HEAD = 1,
MOUNT_DIRECTION_TAIL = 2,
};
class CArcName {
public:
CArcName() {}
CArcName(char const* data) { this->store(data); }
CArcName(char const** data, char endChar) { *data = this->store(*data, endChar); }
void store(char const* data);
const char* store(char const* data, char endChar);
u16 getHash() const { return mHash; }
const char* getString() const { return mData; }
private:
u16 mHash;
u16 mLength;
char mData[256];
};
protected:
JKRArchive();
JKRArchive(long, EMountMode);
virtual ~JKRArchive();
public:
bool getDirEntry(SDirEntry*, u32) const;
void* getIdxResource(u32);
void* getResource(u16);
u32 readIdxResource(void*, u32, u32);
u32 readResource(void*, u32, u16);
u32 countResource(void) const;
u32 getFileAttribute(u32) const;
u32 getMountMode() const { return mMountMode; }
protected:
bool isSameName(CArcName&, u32, u16) const;
SDirEntry* findResType(u32) const;
SDirEntry* findDirectory(const char*, u32) const;
SDIFileEntry* findTypeResource(u32, const char*) const;
SDIFileEntry* findFsResource(const char*, u32) const;
SDIFileEntry* findIdxResource(u32) const;
SDIFileEntry* findNameResource(const char*) const;
SDIFileEntry* findPtrResource(const void*) const;
SDIFileEntry* findIdResource(u16) const;
public:
/* vt[04] */ virtual bool becomeCurrent(const char*); /* override */
/* vt[05] */ virtual void* getResource(const char*); /* override */
/* vt[06] */ virtual void* getResource(u32, const char*); /* override */
/* vt[07] */ virtual u32 readResource(void*, u32, const char*); /* override */
/* vt[08] */ virtual u32 readResource(void*, u32, u32, const char*); /* override */
/* vt[09] */ virtual void removeResourceAll(void); /* override */
/* vt[10] */ virtual bool removeResource(void*); /* override */
/* vt[11] */ virtual bool detachResource(void*); /* override */
/* 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*);
/* 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);
/* vt[19] */ virtual u32 getExpandSize(SDIFileEntry*) const;
protected:
/* 0x00 */ // vtable
/* 0x04 */ // JKRFileLoader
/* 0x38 */ JKRHeap* mHeap;
/* 0x3C */ u8 mMountMode;
/* 0x3D */ u8 field_0x3d[3];
/* 0x40 */ s32 mEntryNum;
/* 0x44 */ SArcDataInfo* mArcInfoBlock;
/* 0x48 */ SDirEntry* mNodes;
/* 0x4C */ SDIFileEntry* mFiles;
/* 0x50 */ s32* mExpandedSize;
/* 0x54 */ char* mStringTable;
/* 0x58 */ u32 field_0x58;
public:
static JKRArchive* check_mount_already(s32, JKRHeap*);
static JKRArchive* mount(const char*, EMountMode, JKRHeap*, EMountDirection);
static JKRArchive* mount(void*, JKRHeap*, EMountDirection);
static JKRArchive* mount(s32, EMountMode, JKRHeap*, EMountDirection);
static void* getGlbResource(u32, const char*, JKRArchive*);
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
+7
View File
@@ -0,0 +1,7 @@
#ifndef JKRARCHIVEPRI_H
#define JKRARCHIVEPRI_H
#include "dolphin/types.h"
#endif /* JKRARCHIVEPRI_H */
+7
View File
@@ -0,0 +1,7 @@
#ifndef JKRARCHIVEPUB_H
#define JKRARCHIVEPUB_H
#include "dolphin/types.h"
#endif /* JKRARCHIVEPUB_H */
+7
View File
@@ -0,0 +1,7 @@
#ifndef JKRASSERTHEAP_H
#define JKRASSERTHEAP_H
#include "dolphin/types.h"
#endif /* JKRASSERTHEAP_H */
@@ -1,35 +0,0 @@
#ifndef JKRASSERTHEAP_H_
#define JKRASSERTHEAP_H_
#include "JSystem/JKernel/JKRHeap/JKRHeap.h"
#include "dolphin/types.h"
class JKRAssertHeap : public JKRHeap {
protected:
JKRAssertHeap(void*, unsigned long, JKRHeap*, bool);
virtual ~JKRAssertHeap();
public:
/* vt[04] */ virtual u32 getHeapType(void) const; /* override */
/* vt[05] */ virtual bool check(void); /* override */
/* vt[06] */ virtual bool dump_sort(void); /* override */
/* vt[07] */ virtual bool dump(void); /* override */
/* vt[08] */ virtual void do_destroy(void); /* override */
/* vt[09] */ virtual void* do_alloc(u32, int); /* override */
/* vt[10] */ virtual void do_free(void*); /* override */
/* vt[11] */ virtual void do_freeAll(void); /* override */
/* vt[12] */ virtual void do_freeTail(void); /* override */
/* vt[13] */ virtual void do_fillFreeArea(void); /* override */
/* vt[14] */ virtual s32 do_resize(void*, u32); /* override */
/* vt[15] */ virtual s32 do_getSize(void*) const; /* override */
/* vt[16] */ virtual s32 do_getFreeSize(void) const; /* override */
/* vt[17] */ virtual void* do_getMaxFreeBlock(void) const; /* override */
/* vt[18] */ virtual s32 do_getTotalFreeSize(void) const; /* override */
/* vt[19] */ virtual u8 do_changeGroupID(u8 param_1); /* override */
/* vt[20] */ virtual u8 do_getCurrentGroupId(void) const; /* override */
public:
static JKRAssertHeap* create(JKRHeap*);
};
#endif
+7
View File
@@ -0,0 +1,7 @@
#ifndef JKRCOMPARCHIVE_H
#define JKRCOMPARCHIVE_H
#include "dolphin/types.h"
#endif /* JKRCOMPARCHIVE_H */
@@ -1,28 +0,0 @@
#ifndef JKRCOMPARCHIVE_H_
#define JKRCOMPARCHIVE_H_
#include "JSystem/JKernel/JKRArchive/JKRArchive.h"
#include "dolphin/types.h"
class JKRCompArchive : public JKRArchive {
public:
JKRCompArchive(long, JKRArchive::EMountDirection);
virtual ~JKRCompArchive();
void open(long);
/* vt[09] */ void removeResourceAll(void); /* override */
/* vt[10] */ bool removeResource(void*); /* override */
/* vt[15] */ u32 getExpandedResSize(const void*); /* override */
/* vt[16] */ void* fetchResource(SDIFileEntry*, u32*); /* override */
/* vt[17] */ void* fetchResource(void*, u32, SDIFileEntry*, u32*); /* override */
public:
private:
/* 0x00 */ // vtable
/* 0x04 */ // JKRArchive
u8 unk[36];
};
#endif
@@ -1,46 +0,0 @@
/* __ct__14JKRCompArchiveFlQ210JKRArchive15EMountDirection __ct__14JKRCompArchiveFlQ210JKRArchive15EMountDirection::__ct(long, JKRArchive::EMountDirection) */
/* JKRCompArchive */
/* 802D87D4 002D5714 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802D87D8 002D5718 7C 08 02 A6 */ mflr r0
/* 802D87DC 002D571C 90 01 00 24 */ stw r0, 0x24(r1)
/* 802D87E0 002D5720 39 61 00 20 */ addi r11, r1, 0x20
/* 802D87E4 002D5724 48 08 99 F9 */ bl _savegpr_29
/* 802D87E8 002D5728 7C 7D 1B 78 */ mr r29, r3
/* 802D87EC 002D572C 7C 9E 23 78 */ mr r30, r4
/* 802D87F0 002D5730 7C BF 2B 78 */ mr r31, r5
/* 802D87F4 002D5734 38 A0 00 04 */ li r5, 4
/* 802D87F8 002D5738 4B FF DA 9D */ bl __ct__10JKRArchiveFlQ210JKRArchive10EMountMode
/* 802D87FC 002D573C 3C 60 80 3D */ lis r3, lbl_803CC3E8@ha
/* 802D8800 002D5740 38 03 C3 E8 */ addi r0, r3, lbl_803CC3E8@l
/* 802D8804 002D5744 90 1D 00 00 */ stw r0, 0(r29)
/* 802D8808 002D5748 93 FD 00 60 */ stw r31, 0x60(r29)
/* 802D880C 002D574C 7F A3 EB 78 */ mr r3, r29
/* 802D8810 002D5750 7F C4 F3 78 */ mr r4, r30
/* 802D8814 002D5754 48 00 01 A9 */ bl open__14JKRCompArchiveFl
/* 802D8818 002D5758 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 802D881C 002D575C 40 82 00 0C */ bne lbl_802D8828
/* 802D8820 002D5760 7F A3 EB 78 */ mr r3, r29
/* 802D8824 002D5764 48 00 00 40 */ b lbl_802D8864
lbl_802D8828:
/* 802D8828 002D5768 3C 60 52 41 */ lis r3, 0x52415243@ha
/* 802D882C 002D576C 38 03 52 43 */ addi r0, r3, 0x52415243@l
/* 802D8830 002D5770 90 1D 00 2C */ stw r0, 0x2c(r29)
/* 802D8834 002D5774 80 9D 00 54 */ lwz r4, 0x54(r29)
/* 802D8838 002D5778 80 7D 00 48 */ lwz r3, 0x48(r29)
/* 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, 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
/* 802D885C 002D579C 98 1D 00 30 */ stb r0, 0x30(r29)
/* 802D8860 002D57A0 7F A3 EB 78 */ mr r3, r29
lbl_802D8864:
/* 802D8864 002D57A4 39 61 00 20 */ addi r11, r1, 0x20
/* 802D8868 002D57A8 48 08 99 C1 */ bl _restgpr_29
/* 802D886C 002D57AC 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802D8870 002D57B0 7C 08 03 A6 */ mtlr r0
/* 802D8874 002D57B4 38 21 00 20 */ addi r1, r1, 0x20
/* 802D8878 002D57B8 4E 80 00 20 */ blr
@@ -1,90 +0,0 @@
/* __dt__14JKRCompArchiveFv __ct__14JKRCompArchiveFlQ210JKRArchive15EMountDirection::__dt(void) */
/* missing reference */
/* 802D887C 002D57BC 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802D8880 002D57C0 7C 08 02 A6 */ mflr r0
/* 802D8884 002D57C4 90 01 00 24 */ stw r0, 0x24(r1)
/* 802D8888 002D57C8 39 61 00 20 */ addi r11, r1, 0x20
/* 802D888C 002D57CC 48 08 99 4D */ bl _savegpr_28
/* 802D8890 002D57D0 7C 7E 1B 79 */ or. r30, r3, r3
/* 802D8894 002D57D4 7C 9F 23 78 */ mr r31, r4
/* 802D8898 002D57D8 41 82 01 08 */ beq lbl_802D89A0
/* 802D889C 002D57DC 3C 60 80 3D */ lis r3, lbl_803CC3E8@ha
/* 802D88A0 002D57E0 38 03 C3 E8 */ addi r0, r3, lbl_803CC3E8@l
/* 802D88A4 002D57E4 90 1E 00 00 */ stw r0, 0(r30)
/* 802D88A8 002D57E8 80 1E 00 44 */ lwz r0, 0x44(r30)
/* 802D88AC 002D57EC 28 00 00 00 */ cmplwi r0, 0
/* 802D88B0 002D57F0 41 82 00 58 */ beq lbl_802D8908
/* 802D88B4 002D57F4 83 BE 00 4C */ lwz r29, 0x4c(r30)
/* 802D88B8 002D57F8 3B 80 00 00 */ li r28, 0
/* 802D88BC 002D57FC 48 00 00 2C */ b lbl_802D88E8
lbl_802D88C0:
/* 802D88C0 002D5800 80 1D 00 04 */ lwz r0, 4(r29)
/* 802D88C4 002D5804 54 00 46 F7 */ rlwinm. r0, r0, 8, 0x1b, 0x1b
/* 802D88C8 002D5808 40 82 00 18 */ bne lbl_802D88E0
/* 802D88CC 002D580C 80 7D 00 10 */ lwz r3, 0x10(r29)
/* 802D88D0 002D5810 28 03 00 00 */ cmplwi r3, 0
/* 802D88D4 002D5814 41 82 00 0C */ beq lbl_802D88E0
/* 802D88D8 002D5818 80 9E 00 38 */ lwz r4, 0x38(r30)
/* 802D88DC 002D581C 4B FF 5C 25 */ bl free__7JKRHeapFPvP7JKRHeap
lbl_802D88E0:
/* 802D88E0 002D5820 3B BD 00 14 */ addi r29, r29, 0x14
/* 802D88E4 002D5824 3B 9C 00 01 */ addi r28, r28, 1
lbl_802D88E8:
/* 802D88E8 002D5828 80 7E 00 44 */ lwz r3, 0x44(r30)
/* 802D88EC 002D582C 80 03 00 08 */ lwz r0, 8(r3)
/* 802D88F0 002D5830 7C 1C 00 40 */ cmplw r28, r0
/* 802D88F4 002D5834 41 80 FF CC */ blt lbl_802D88C0
/* 802D88F8 002D5838 80 9E 00 38 */ lwz r4, 0x38(r30)
/* 802D88FC 002D583C 4B FF 5C 05 */ bl free__7JKRHeapFPvP7JKRHeap
/* 802D8900 002D5840 38 00 00 00 */ li r0, 0
/* 802D8904 002D5844 90 1E 00 44 */ stw r0, 0x44(r30)
lbl_802D8908:
/* 802D8908 002D5848 80 7E 00 68 */ lwz r3, 0x68(r30)
/* 802D890C 002D584C 28 03 00 00 */ cmplwi r3, 0
/* 802D8910 002D5850 41 82 00 1C */ beq lbl_802D892C
/* 802D8914 002D5854 41 82 00 18 */ beq lbl_802D892C
/* 802D8918 002D5858 38 80 00 01 */ li r4, 1
/* 802D891C 002D585C 81 83 00 00 */ lwz r12, 0(r3)
/* 802D8920 002D5860 81 8C 00 08 */ lwz r12, 8(r12)
/* 802D8924 002D5864 7D 89 03 A6 */ mtctr r12
/* 802D8928 002D5868 4E 80 04 21 */ bctrl
lbl_802D892C:
/* 802D892C 002D586C 80 7E 00 50 */ lwz r3, 0x50(r30)
/* 802D8930 002D5870 28 03 00 00 */ cmplwi r3, 0
/* 802D8934 002D5874 41 82 00 14 */ beq lbl_802D8948
/* 802D8938 002D5878 38 80 00 00 */ li r4, 0
/* 802D893C 002D587C 4B FF 5B C5 */ bl free__7JKRHeapFPvP7JKRHeap
/* 802D8940 002D5880 38 00 00 00 */ li r0, 0
/* 802D8944 002D5884 90 1E 00 50 */ stw r0, 0x50(r30)
lbl_802D8948:
/* 802D8948 002D5888 80 7E 00 70 */ lwz r3, 0x70(r30)
/* 802D894C 002D588C 28 03 00 00 */ cmplwi r3, 0
/* 802D8950 002D5890 41 82 00 1C */ beq lbl_802D896C
/* 802D8954 002D5894 41 82 00 18 */ beq lbl_802D896C
/* 802D8958 002D5898 38 80 00 01 */ li r4, 1
/* 802D895C 002D589C 81 83 00 00 */ lwz r12, 0(r3)
/* 802D8960 002D58A0 81 8C 00 08 */ lwz r12, 8(r12)
/* 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, 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
/* 802D8980 002D58C0 98 1E 00 30 */ stb r0, 0x30(r30)
/* 802D8984 002D58C4 7F C3 F3 78 */ mr r3, r30
/* 802D8988 002D58C8 38 80 00 00 */ li r4, 0
/* 802D898C 002D58CC 4B FF D9 A9 */ bl __dt__10JKRArchiveFv
/* 802D8990 002D58D0 7F E0 07 35 */ extsh. r0, r31
/* 802D8994 002D58D4 40 81 00 0C */ ble lbl_802D89A0
/* 802D8998 002D58D8 7F C3 F3 78 */ mr r3, r30
/* 802D899C 002D58DC 4B FF 63 A1 */ bl __dl__FPv
lbl_802D89A0:
/* 802D89A0 002D58E0 7F C3 F3 78 */ mr r3, r30
/* 802D89A4 002D58E4 39 61 00 20 */ addi r11, r1, 0x20
/* 802D89A8 002D58E8 48 08 98 7D */ bl _restgpr_28
/* 802D89AC 002D58EC 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802D89B0 002D58F0 7C 08 03 A6 */ mtlr r0
/* 802D89B4 002D58F4 38 21 00 20 */ addi r1, r1, 0x20
/* 802D89B8 002D58F8 4E 80 00 20 */ blr
@@ -1,381 +0,0 @@
/* open__14JKRCompArchiveFl __ct__14JKRCompArchiveFlQ210JKRArchive15EMountDirection::open(long) */
/* JKRCompArchive_NS_open */
/* 802D89BC 002D58FC 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 802D89C0 002D5900 7C 08 02 A6 */ mflr r0
/* 802D89C4 002D5904 90 01 00 34 */ stw r0, 0x34(r1)
/* 802D89C8 002D5908 39 61 00 30 */ addi r11, r1, 0x30
/* 802D89CC 002D590C 48 08 98 01 */ bl _savegpr_25
/* 802D89D0 002D5910 7C 7F 1B 78 */ mr r31, r3
/* 802D89D4 002D5914 7C 9A 23 78 */ mr r26, r4
/* 802D89D8 002D5918 38 00 00 00 */ li r0, 0
/* 802D89DC 002D591C 90 03 00 44 */ stw r0, 0x44(r3)
/* 802D89E0 002D5920 90 03 00 64 */ stw r0, 0x64(r3)
/* 802D89E4 002D5924 90 03 00 68 */ stw r0, 0x68(r3)
/* 802D89E8 002D5928 90 03 00 6C */ stw r0, 0x6c(r3)
/* 802D89EC 002D592C 90 03 00 74 */ stw r0, 0x74(r3)
/* 802D89F0 002D5930 90 03 00 78 */ stw r0, 0x78(r3)
/* 802D89F4 002D5934 90 03 00 7C */ stw r0, 0x7c(r3)
/* 802D89F8 002D5938 90 03 00 48 */ stw r0, 0x48(r3)
/* 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, 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
/* 802D8A18 002D5958 41 82 00 10 */ beq lbl_802D8A28
/* 802D8A1C 002D595C 7F 44 D3 78 */ mr r4, r26
/* 802D8A20 002D5960 48 00 0C 81 */ bl __ct__10JKRDvdFileFl
/* 802D8A24 002D5964 7C 60 1B 78 */ mr r0, r3
lbl_802D8A28:
/* 802D8A28 002D5968 90 1F 00 70 */ stw r0, 0x70(r31)
/* 802D8A2C 002D596C 80 1F 00 70 */ lwz r0, 0x70(r31)
/* 802D8A30 002D5970 28 00 00 00 */ cmplwi r0, 0
/* 802D8A34 002D5974 40 82 00 14 */ bne lbl_802D8A48
/* 802D8A38 002D5978 38 00 00 00 */ li r0, 0
/* 802D8A3C 002D597C 98 1F 00 3C */ stb r0, 0x3c(r31)
/* 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, 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
/* 802D8A58 002D5998 7C 7E 1B 79 */ or. r30, r3, r3
/* 802D8A5C 002D599C 40 82 00 10 */ bne lbl_802D8A6C
/* 802D8A60 002D59A0 38 00 00 00 */ li r0, 0
/* 802D8A64 002D59A4 98 1F 00 3C */ stb r0, 0x3c(r31)
/* 802D8A68 002D59A8 48 00 04 70 */ b lbl_802D8ED8
lbl_802D8A6C:
/* 802D8A6C 002D59AC 38 00 00 00 */ li r0, 0
/* 802D8A70 002D59B0 90 01 00 08 */ stw r0, 8(r1)
/* 802D8A74 002D59B4 7F 43 D3 78 */ mr r3, r26
/* 802D8A78 002D59B8 7F C4 F3 78 */ mr r4, r30
/* 802D8A7C 002D59BC 38 A0 00 01 */ li r5, 1
/* 802D8A80 002D59C0 38 C0 00 20 */ li r6, 0x20
/* 802D8A84 002D59C4 38 E0 00 00 */ li r7, 0
/* 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__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
/* 802D8AA4 002D59E4 80 1E 00 14 */ lwz r0, 0x14(r30)
/* 802D8AA8 002D59E8 90 1F 00 74 */ stw r0, 0x74(r31)
/* 802D8AAC 002D59EC 80 1E 00 18 */ lwz r0, 0x18(r30)
/* 802D8AB0 002D59F0 90 1F 00 78 */ stw r0, 0x78(r31)
/* 802D8AB4 002D59F4 80 1F 00 5C */ lwz r0, 0x5c(r31)
/* 802D8AB8 002D59F8 2C 00 00 01 */ cmpwi r0, 1
/* 802D8ABC 002D59FC 41 82 01 60 */ beq lbl_802D8C1C
/* 802D8AC0 002D5A00 40 80 00 10 */ bge lbl_802D8AD0
/* 802D8AC4 002D5A04 2C 00 00 00 */ cmpwi r0, 0
/* 802D8AC8 002D5A08 40 80 00 10 */ bge lbl_802D8AD8
/* 802D8ACC 002D5A0C 48 00 03 58 */ b lbl_802D8E24
lbl_802D8AD0:
/* 802D8AD0 002D5A10 2C 00 00 03 */ cmpwi r0, 3
/* 802D8AD4 002D5A14 40 80 03 50 */ bge lbl_802D8E24
lbl_802D8AD8:
/* 802D8AD8 002D5A18 80 1F 00 60 */ lwz r0, 0x60(r31)
/* 802D8ADC 002D5A1C 2C 00 00 01 */ cmpwi r0, 1
/* 802D8AE0 002D5A20 38 80 FF E0 */ li r4, -32
/* 802D8AE4 002D5A24 40 82 00 08 */ bne lbl_802D8AEC
/* 802D8AE8 002D5A28 38 80 00 20 */ li r4, 0x20
lbl_802D8AEC:
/* 802D8AEC 002D5A2C 7C 9D 23 78 */ mr r29, r4
/* 802D8AF0 002D5A30 80 7E 00 0C */ lwz r3, 0xc(r30)
/* 802D8AF4 002D5A34 80 1F 00 74 */ lwz r0, 0x74(r31)
/* 802D8AF8 002D5A38 7C 63 02 14 */ add r3, r3, r0
/* 802D8AFC 002D5A3C 80 BF 00 38 */ lwz r5, 0x38(r31)
/* 802D8B00 002D5A40 4B FF 59 75 */ bl alloc__7JKRHeapFUliP7JKRHeap
/* 802D8B04 002D5A44 90 7F 00 44 */ stw r3, 0x44(r31)
/* 802D8B08 002D5A48 80 9F 00 44 */ lwz r4, 0x44(r31)
/* 802D8B0C 002D5A4C 28 04 00 00 */ cmplwi r4, 0
/* 802D8B10 002D5A50 40 82 00 10 */ bne lbl_802D8B20
/* 802D8B14 002D5A54 38 00 00 00 */ li r0, 0
/* 802D8B18 002D5A58 98 1F 00 3C */ stb r0, 0x3c(r31)
/* 802D8B1C 002D5A5C 48 00 03 08 */ b lbl_802D8E24
lbl_802D8B20:
/* 802D8B20 002D5A60 38 00 00 00 */ li r0, 0
/* 802D8B24 002D5A64 90 01 00 08 */ stw r0, 8(r1)
/* 802D8B28 002D5A68 7F 43 D3 78 */ mr r3, r26
/* 802D8B2C 002D5A6C 38 A0 00 01 */ li r5, 1
/* 802D8B30 002D5A70 80 DE 00 0C */ lwz r6, 0xc(r30)
/* 802D8B34 002D5A74 80 1F 00 74 */ lwz r0, 0x74(r31)
/* 802D8B38 002D5A78 7C C6 02 14 */ add r6, r6, r0
/* 802D8B3C 002D5A7C 38 E0 00 00 */ li r7, 0
/* 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__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)
/* 802D8B5C 002D5A9C 7C 84 02 14 */ add r4, r4, r0
/* 802D8B60 002D5AA0 48 06 2A 21 */ bl DCInvalidateRange
/* 802D8B64 002D5AA4 80 7F 00 44 */ lwz r3, 0x44(r31)
/* 802D8B68 002D5AA8 80 1E 00 0C */ lwz r0, 0xc(r30)
/* 802D8B6C 002D5AAC 7C 03 02 14 */ add r0, r3, r0
/* 802D8B70 002D5AB0 90 1F 00 64 */ stw r0, 0x64(r31)
/* 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, 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
/* 802D8B90 002D5AD0 90 7F 00 68 */ stw r3, 0x68(r31)
/* 802D8B94 002D5AD4 80 7F 00 68 */ lwz r3, 0x68(r31)
/* 802D8B98 002D5AD8 28 03 00 00 */ cmplwi r3, 0
/* 802D8B9C 002D5ADC 40 82 00 10 */ bne lbl_802D8BAC
/* 802D8BA0 002D5AE0 38 00 00 00 */ li r0, 0
/* 802D8BA4 002D5AE4 98 1F 00 3C */ stb r0, 0x3c(r31)
/* 802D8BA8 002D5AE8 48 00 02 7C */ b lbl_802D8E24
lbl_802D8BAC:
/* 802D8BAC 002D5AEC 80 83 00 14 */ lwz r4, 0x14(r3)
/* 802D8BB0 002D5AF0 7F 43 D3 78 */ mr r3, r26
/* 802D8BB4 002D5AF4 38 A0 00 01 */ li r5, 1
/* 802D8BB8 002D5AF8 80 DF 00 74 */ lwz r6, 0x74(r31)
/* 802D8BBC 002D5AFC 80 FE 00 08 */ lwz r7, 8(r30)
/* 802D8BC0 002D5B00 80 1E 00 0C */ lwz r0, 0xc(r30)
/* 802D8BC4 002D5B04 7C C0 32 14 */ add r6, r0, r6
/* 802D8BC8 002D5B08 7C C7 32 14 */ add r6, r7, r6
/* 802D8BCC 002D5B0C 38 E0 00 00 */ li r7, 0
/* 802D8BD0 002D5B10 39 00 00 00 */ li r8, 0
/* 802D8BD4 002D5B14 48 00 1C A1 */ bl loadToAram__16JKRDvdAramRipperFlUl15JKRExpandSwitchUlUlPUl
lbl_802D8BD8:
/* 802D8BD8 002D5B18 80 7F 00 44 */ lwz r3, 0x44(r31)
/* 802D8BDC 002D5B1C 80 03 00 04 */ lwz r0, 4(r3)
/* 802D8BE0 002D5B20 7C 03 02 14 */ add r0, r3, r0
/* 802D8BE4 002D5B24 90 1F 00 48 */ stw r0, 0x48(r31)
/* 802D8BE8 002D5B28 80 7F 00 44 */ lwz r3, 0x44(r31)
/* 802D8BEC 002D5B2C 80 03 00 0C */ lwz r0, 0xc(r3)
/* 802D8BF0 002D5B30 7C 03 02 14 */ add r0, r3, r0
/* 802D8BF4 002D5B34 90 1F 00 4C */ stw r0, 0x4c(r31)
/* 802D8BF8 002D5B38 80 7F 00 44 */ lwz r3, 0x44(r31)
/* 802D8BFC 002D5B3C 80 03 00 14 */ lwz r0, 0x14(r3)
/* 802D8C00 002D5B40 7C 03 02 14 */ add r0, r3, r0
/* 802D8C04 002D5B44 90 1F 00 54 */ stw r0, 0x54(r31)
/* 802D8C08 002D5B48 80 7E 00 08 */ lwz r3, 8(r30)
/* 802D8C0C 002D5B4C 80 1E 00 0C */ lwz r0, 0xc(r30)
/* 802D8C10 002D5B50 7C 03 02 14 */ add r0, r3, r0
/* 802D8C14 002D5B54 90 1F 00 6C */ stw r0, 0x6c(r31)
/* 802D8C18 002D5B58 48 00 02 0C */ b lbl_802D8E24
lbl_802D8C1C:
/* 802D8C1C 002D5B5C 80 7F 00 70 */ lwz r3, 0x70(r31)
/* 802D8C20 002D5B60 81 83 00 00 */ lwz r12, 0(r3)
/* 802D8C24 002D5B64 81 8C 00 1C */ lwz r12, 0x1c(r12)
/* 802D8C28 002D5B68 7D 89 03 A6 */ mtctr r12
/* 802D8C2C 002D5B6C 4E 80 04 21 */ bctrl
/* 802D8C30 002D5B70 38 03 00 1F */ addi r0, r3, 0x1f
/* 802D8C34 002D5B74 54 19 00 34 */ rlwinm r25, r0, 0, 0, 0x1a
/* 802D8C38 002D5B78 80 1F 00 60 */ lwz r0, 0x60(r31)
/* 802D8C3C 002D5B7C 2C 00 00 01 */ cmpwi r0, 1
/* 802D8C40 002D5B80 3B A0 FF E0 */ li r29, -32
/* 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, 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
/* 802D8C5C 002D5B9C 4B FF 58 79 */ bl alloc__7JKRHeapFUli
/* 802D8C60 002D5BA0 7C 7B 1B 79 */ or. r27, r3, r3
/* 802D8C64 002D5BA4 40 82 00 10 */ bne lbl_802D8C74
/* 802D8C68 002D5BA8 38 00 00 00 */ li r0, 0
/* 802D8C6C 002D5BAC 98 1F 00 3C */ stb r0, 0x3c(r31)
/* 802D8C70 002D5BB0 48 00 01 74 */ b lbl_802D8DE4
lbl_802D8C74:
/* 802D8C74 002D5BB4 38 00 00 00 */ li r0, 0
/* 802D8C78 002D5BB8 90 01 00 08 */ stw r0, 8(r1)
/* 802D8C7C 002D5BBC 7F 43 D3 78 */ mr r3, r26
/* 802D8C80 002D5BC0 7F 64 DB 78 */ mr r4, r27
/* 802D8C84 002D5BC4 38 A0 00 02 */ li r5, 2
/* 802D8C88 002D5BC8 7F 26 CB 78 */ mr r6, r25
/* 802D8C8C 002D5BCC 38 E0 00 00 */ li r7, 0
/* 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__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
/* 802D8CAC 002D5BEC 88 BB 00 07 */ lbz r5, 7(r27)
/* 802D8CB0 002D5BF0 88 9B 00 06 */ lbz r4, 6(r27)
/* 802D8CB4 002D5BF4 88 7B 00 04 */ lbz r3, 4(r27)
/* 802D8CB8 002D5BF8 88 1B 00 05 */ lbz r0, 5(r27)
/* 802D8CBC 002D5BFC 54 00 80 1E */ slwi r0, r0, 0x10
/* 802D8CC0 002D5C00 50 60 C0 0E */ rlwimi r0, r3, 0x18, 0, 7
/* 802D8CC4 002D5C04 50 80 44 2E */ rlwimi r0, r4, 8, 0x10, 0x17
/* 802D8CC8 002D5C08 7C A3 03 78 */ or r3, r5, r0
/* 802D8CCC 002D5C0C 38 03 00 1F */ addi r0, r3, 0x1f
/* 802D8CD0 002D5C10 54 19 00 34 */ rlwinm r25, r0, 0, 0, 0x1a
/* 802D8CD4 002D5C14 7F 23 CB 78 */ mr r3, r25
/* 802D8CD8 002D5C18 7F 84 E3 78 */ mr r4, r28
/* 802D8CDC 002D5C1C 80 BF 00 38 */ lwz r5, 0x38(r31)
/* 802D8CE0 002D5C20 4B FF 57 95 */ bl alloc__7JKRHeapFUliP7JKRHeap
/* 802D8CE4 002D5C24 7C 7C 1B 79 */ or. r28, r3, r3
/* 802D8CE8 002D5C28 40 82 00 10 */ bne lbl_802D8CF8
/* 802D8CEC 002D5C2C 38 00 00 00 */ li r0, 0
/* 802D8CF0 002D5C30 98 1F 00 3C */ stb r0, 0x3c(r31)
/* 802D8CF4 002D5C34 48 00 00 F0 */ b lbl_802D8DE4
lbl_802D8CF8:
/* 802D8CF8 002D5C38 7F 9E E3 78 */ mr r30, r28
/* 802D8CFC 002D5C3C 7F 63 DB 78 */ mr r3, r27
/* 802D8D00 002D5C40 7F 84 E3 78 */ mr r4, r28
/* 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, 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)
/* 802D8D20 002D5C60 80 1F 00 74 */ lwz r0, 0x74(r31)
/* 802D8D24 002D5C64 7C 63 02 14 */ add r3, r3, r0
/* 802D8D28 002D5C68 7F A4 EB 78 */ mr r4, r29
/* 802D8D2C 002D5C6C 80 BF 00 38 */ lwz r5, 0x38(r31)
/* 802D8D30 002D5C70 4B FF 57 45 */ bl alloc__7JKRHeapFUliP7JKRHeap
/* 802D8D34 002D5C74 90 7F 00 44 */ stw r3, 0x44(r31)
/* 802D8D38 002D5C78 80 7F 00 44 */ lwz r3, 0x44(r31)
/* 802D8D3C 002D5C7C 28 03 00 00 */ cmplwi r3, 0
/* 802D8D40 002D5C80 40 82 00 10 */ bne lbl_802D8D50
/* 802D8D44 002D5C84 38 00 00 00 */ li r0, 0
/* 802D8D48 002D5C88 98 1F 00 3C */ stb r0, 0x3c(r31)
/* 802D8D4C 002D5C8C 48 00 00 98 */ b lbl_802D8DE4
lbl_802D8D50:
/* 802D8D50 002D5C90 38 9E 00 20 */ addi r4, r30, 0x20
/* 802D8D54 002D5C94 80 BE 00 0C */ lwz r5, 0xc(r30)
/* 802D8D58 002D5C98 80 1F 00 74 */ lwz r0, 0x74(r31)
/* 802D8D5C 002D5C9C 7C A5 02 14 */ add r5, r5, r0
/* 802D8D60 002D5CA0 4B FF 5D B9 */ bl copyMemory__7JKRHeapFPvPvUl
/* 802D8D64 002D5CA4 80 7F 00 44 */ lwz r3, 0x44(r31)
/* 802D8D68 002D5CA8 80 1E 00 0C */ lwz r0, 0xc(r30)
/* 802D8D6C 002D5CAC 7C 03 02 14 */ add r0, r3, r0
/* 802D8D70 002D5CB0 90 1F 00 64 */ stw r0, 0x64(r31)
/* 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, 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
/* 802D8D90 002D5CD0 90 7F 00 68 */ stw r3, 0x68(r31)
/* 802D8D94 002D5CD4 80 7F 00 68 */ lwz r3, 0x68(r31)
/* 802D8D98 002D5CD8 28 03 00 00 */ cmplwi r3, 0
/* 802D8D9C 002D5CDC 40 82 00 10 */ bne lbl_802D8DAC
/* 802D8DA0 002D5CE0 38 00 00 00 */ li r0, 0
/* 802D8DA4 002D5CE4 98 1F 00 3C */ stb r0, 0x3c(r31)
/* 802D8DA8 002D5CE8 48 00 00 3C */ b lbl_802D8DE4
lbl_802D8DAC:
/* 802D8DAC 002D5CEC 80 83 00 14 */ lwz r4, 0x14(r3)
/* 802D8DB0 002D5CF0 80 7E 00 08 */ lwz r3, 8(r30)
/* 802D8DB4 002D5CF4 80 1E 00 0C */ lwz r0, 0xc(r30)
/* 802D8DB8 002D5CF8 7C 63 02 14 */ add r3, r3, r0
/* 802D8DBC 002D5CFC 80 1F 00 74 */ lwz r0, 0x74(r31)
/* 802D8DC0 002D5D00 7C 63 02 14 */ add r3, r3, r0
/* 802D8DC4 002D5D04 7C 7C 1A 14 */ add r3, r28, r3
/* 802D8DC8 002D5D08 80 BF 00 78 */ lwz r5, 0x78(r31)
/* 802D8DCC 002D5D0C 38 C0 00 00 */ li r6, 0
/* 802D8DD0 002D5D10 38 E0 00 00 */ li r7, 0
/* 802D8DD4 002D5D14 39 00 00 00 */ li r8, 0
/* 802D8DD8 002D5D18 39 20 FF FF */ li r9, -1
/* 802D8DDC 002D5D1C 39 40 00 00 */ li r10, 0
/* 802D8DE0 002D5D20 4B FF 95 5D */ bl mainRamToAram__7JKRAramFPUcUlUl15JKRExpandSwitchUlP7JKRHeapiPUl
lbl_802D8DE4:
/* 802D8DE4 002D5D24 80 7F 00 44 */ lwz r3, 0x44(r31)
/* 802D8DE8 002D5D28 80 03 00 04 */ lwz r0, 4(r3)
/* 802D8DEC 002D5D2C 7C 03 02 14 */ add r0, r3, r0
/* 802D8DF0 002D5D30 90 1F 00 48 */ stw r0, 0x48(r31)
/* 802D8DF4 002D5D34 80 7F 00 44 */ lwz r3, 0x44(r31)
/* 802D8DF8 002D5D38 80 03 00 0C */ lwz r0, 0xc(r3)
/* 802D8DFC 002D5D3C 7C 03 02 14 */ add r0, r3, r0
/* 802D8E00 002D5D40 90 1F 00 4C */ stw r0, 0x4c(r31)
/* 802D8E04 002D5D44 80 7F 00 44 */ lwz r3, 0x44(r31)
/* 802D8E08 002D5D48 80 03 00 14 */ lwz r0, 0x14(r3)
/* 802D8E0C 002D5D4C 7C 03 02 14 */ add r0, r3, r0
/* 802D8E10 002D5D50 90 1F 00 54 */ stw r0, 0x54(r31)
/* 802D8E14 002D5D54 80 7E 00 08 */ lwz r3, 8(r30)
/* 802D8E18 002D5D58 80 1E 00 0C */ lwz r0, 0xc(r30)
/* 802D8E1C 002D5D5C 7C 03 02 14 */ add r0, r3, r0
/* 802D8E20 002D5D60 90 1F 00 6C */ stw r0, 0x6c(r31)
lbl_802D8E24:
/* 802D8E24 002D5D64 38 00 00 00 */ li r0, 0
/* 802D8E28 002D5D68 90 1F 00 50 */ stw r0, 0x50(r31)
/* 802D8E2C 002D5D6C 38 80 00 00 */ li r4, 0
/* 802D8E30 002D5D70 80 BF 00 4C */ lwz r5, 0x4c(r31)
/* 802D8E34 002D5D74 80 7F 00 44 */ lwz r3, 0x44(r31)
/* 802D8E38 002D5D78 80 03 00 08 */ lwz r0, 8(r3)
/* 802D8E3C 002D5D7C 7C 09 03 A6 */ mtctr r0
/* 802D8E40 002D5D80 28 00 00 00 */ cmplwi r0, 0
/* 802D8E44 002D5D84 40 81 00 30 */ ble lbl_802D8E74
lbl_802D8E48:
/* 802D8E48 002D5D88 80 05 00 04 */ lwz r0, 4(r5)
/* 802D8E4C 002D5D8C 54 03 46 3E */ srwi r3, r0, 0x18
/* 802D8E50 002D5D90 54 00 47 FF */ rlwinm. r0, r0, 8, 0x1f, 0x1f
/* 802D8E54 002D5D94 41 82 00 18 */ beq lbl_802D8E6C
/* 802D8E58 002D5D98 54 60 06 F7 */ rlwinm. r0, r3, 0, 0x1b, 0x1b
/* 802D8E5C 002D5D9C 40 82 00 10 */ bne lbl_802D8E6C
/* 802D8E60 002D5DA0 54 60 07 7A */ rlwinm r0, r3, 0, 0x1d, 0x1d
/* 802D8E64 002D5DA4 7C 80 03 78 */ or r0, r4, r0
/* 802D8E68 002D5DA8 54 04 06 3E */ clrlwi r4, r0, 0x18
lbl_802D8E6C:
/* 802D8E6C 002D5DAC 38 A5 00 14 */ addi r5, r5, 0x14
/* 802D8E70 002D5DB0 42 00 FF D8 */ bdnz lbl_802D8E48
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 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)
/* 802D8E90 002D5DD0 80 03 00 08 */ lwz r0, 8(r3)
/* 802D8E94 002D5DD4 54 03 10 3A */ slwi r3, r0, 2
/* 802D8E98 002D5DD8 4B FF 55 DD */ bl alloc__7JKRHeapFUliP7JKRHeap
/* 802D8E9C 002D5DDC 90 7F 00 50 */ stw r3, 0x50(r31)
/* 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, 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
/* 802D8EBC 002D5DFC 98 1F 00 3C */ stb r0, 0x3c(r31)
/* 802D8EC0 002D5E00 48 00 00 18 */ b lbl_802D8ED8
lbl_802D8EC4:
/* 802D8EC4 002D5E04 38 80 00 00 */ li r4, 0
/* 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 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, 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:
/* 802D8EEC 002D5E2C 88 1F 00 3C */ lbz r0, 0x3c(r31)
/* 802D8EF0 002D5E30 28 00 00 00 */ cmplwi r0, 0
/* 802D8EF4 002D5E34 40 82 00 30 */ bne lbl_802D8F24
/* 802D8EF8 002D5E38 80 7F 00 70 */ lwz r3, 0x70(r31)
/* 802D8EFC 002D5E3C 28 03 00 00 */ cmplwi r3, 0
/* 802D8F00 002D5E40 41 82 00 1C */ beq lbl_802D8F1C
/* 802D8F04 002D5E44 41 82 00 18 */ beq lbl_802D8F1C
/* 802D8F08 002D5E48 38 80 00 01 */ li r4, 1
/* 802D8F0C 002D5E4C 81 83 00 00 */ lwz r12, 0(r3)
/* 802D8F10 002D5E50 81 8C 00 08 */ lwz r12, 8(r12)
/* 802D8F14 002D5E54 7D 89 03 A6 */ mtctr r12
/* 802D8F18 002D5E58 4E 80 04 21 */ bctrl
lbl_802D8F1C:
/* 802D8F1C 002D5E5C 38 60 00 00 */ li r3, 0
/* 802D8F20 002D5E60 48 00 00 08 */ b lbl_802D8F28
lbl_802D8F24:
/* 802D8F24 002D5E64 38 60 00 01 */ li r3, 1
lbl_802D8F28:
/* 802D8F28 002D5E68 39 61 00 30 */ addi r11, r1, 0x30
/* 802D8F2C 002D5E6C 48 08 92 ED */ bl _restgpr_25
/* 802D8F30 002D5E70 80 01 00 34 */ lwz r0, 0x34(r1)
/* 802D8F34 002D5E74 7C 08 03 A6 */ mtlr r0
/* 802D8F38 002D5E78 38 21 00 30 */ addi r1, r1, 0x30
/* 802D8F3C 002D5E7C 4E 80 00 20 */ blr
@@ -1,107 +0,0 @@
/* fetchResource__14JKRCompArchiveFP12SDIFileEntryPUl __ct__14JKRCompArchiveFlQ210JKRArchive15EMountDirection::fetchResource(JKRArchive::SDIFileEntry *, unsigned long *) */
/* missing reference */
/* 802D8F40 002D5E80 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 802D8F44 002D5E84 7C 08 02 A6 */ mflr r0
/* 802D8F48 002D5E88 90 01 00 34 */ stw r0, 0x34(r1)
/* 802D8F4C 002D5E8C 39 61 00 30 */ addi r11, r1, 0x30
/* 802D8F50 002D5E90 48 08 92 89 */ bl _savegpr_28
/* 802D8F54 002D5E94 7C 7C 1B 78 */ mr r28, r3
/* 802D8F58 002D5E98 7C 9D 23 78 */ mr r29, r4
/* 802D8F5C 002D5E9C 7C BE 2B 78 */ mr r30, r5
/* 802D8F60 002D5EA0 80 A4 00 0C */ lwz r5, 0xc(r4)
/* 802D8F64 002D5EA4 7C A4 2B 78 */ mr r4, r5
/* 802D8F68 002D5EA8 80 1D 00 04 */ lwz r0, 4(r29)
/* 802D8F6C 002D5EAC 54 03 46 3E */ srwi r3, r0, 0x18
/* 802D8F70 002D5EB0 54 00 47 7B */ rlwinm. r0, r0, 8, 0x1d, 0x1d
/* 802D8F74 002D5EB4 40 82 00 0C */ bne lbl_802D8F80
/* 802D8F78 002D5EB8 3B E0 00 00 */ li r31, 0
/* 802D8F7C 002D5EBC 48 00 00 18 */ b lbl_802D8F94
lbl_802D8F80:
/* 802D8F80 002D5EC0 54 60 06 31 */ rlwinm. r0, r3, 0, 0x18, 0x18
/* 802D8F84 002D5EC4 41 82 00 0C */ beq lbl_802D8F90
/* 802D8F88 002D5EC8 3B E0 00 02 */ li r31, 2
/* 802D8F8C 002D5ECC 48 00 00 08 */ b lbl_802D8F94
lbl_802D8F90:
/* 802D8F90 002D5ED0 3B E0 00 01 */ li r31, 1
lbl_802D8F94:
/* 802D8F94 002D5ED4 28 1E 00 00 */ cmplwi r30, 0
/* 802D8F98 002D5ED8 40 82 00 08 */ bne lbl_802D8FA0
/* 802D8F9C 002D5EDC 3B C1 00 10 */ addi r30, r1, 0x10
lbl_802D8FA0:
/* 802D8FA0 002D5EE0 80 1D 00 10 */ lwz r0, 0x10(r29)
/* 802D8FA4 002D5EE4 28 00 00 00 */ cmplwi r0, 0
/* 802D8FA8 002D5EE8 40 82 00 F0 */ bne lbl_802D9098
/* 802D8FAC 002D5EEC 54 60 06 F7 */ rlwinm. r0, r3, 0, 0x1b, 0x1b
/* 802D8FB0 002D5EF0 41 82 00 1C */ beq lbl_802D8FCC
/* 802D8FB4 002D5EF4 80 7C 00 64 */ lwz r3, 0x64(r28)
/* 802D8FB8 002D5EF8 80 1D 00 08 */ lwz r0, 8(r29)
/* 802D8FBC 002D5EFC 7C 03 02 14 */ add r0, r3, r0
/* 802D8FC0 002D5F00 90 1D 00 10 */ stw r0, 0x10(r29)
/* 802D8FC4 002D5F04 90 9E 00 00 */ stw r4, 0(r30)
/* 802D8FC8 002D5F08 48 00 00 DC */ b lbl_802D90A4
lbl_802D8FCC:
/* 802D8FCC 002D5F0C 54 60 06 B5 */ rlwinm. r0, r3, 0, 0x1a, 0x1a
/* 802D8FD0 002D5F10 41 82 00 60 */ beq lbl_802D9030
/* 802D8FD4 002D5F14 80 7C 00 68 */ lwz r3, 0x68(r28)
/* 802D8FD8 002D5F18 80 A3 00 14 */ lwz r5, 0x14(r3)
/* 802D8FDC 002D5F1C 80 7C 00 74 */ lwz r3, 0x74(r28)
/* 802D8FE0 002D5F20 80 1D 00 08 */ lwz r0, 8(r29)
/* 802D8FE4 002D5F24 7C 00 2A 14 */ add r0, r0, r5
/* 802D8FE8 002D5F28 7C 63 00 50 */ subf r3, r3, r0
/* 802D8FEC 002D5F2C 80 BC 00 38 */ lwz r5, 0x38(r28)
/* 802D8FF0 002D5F30 7F E6 FB 78 */ mr r6, r31
/* 802D8FF4 002D5F34 38 E1 00 0C */ addi r7, r1, 0xc
/* 802D8FF8 002D5F38 4B FF E9 1D */ bl fetchResource_subroutine__14JKRAramArchiveFUlUlP7JKRHeapiPPUc
/* 802D8FFC 002D5F3C 90 7E 00 00 */ stw r3, 0(r30)
/* 802D9000 002D5F40 80 01 00 0C */ lwz r0, 0xc(r1)
/* 802D9004 002D5F44 90 1D 00 10 */ stw r0, 0x10(r29)
/* 802D9008 002D5F48 2C 1F 00 02 */ cmpwi r31, 2
/* 802D900C 002D5F4C 40 82 00 98 */ bne lbl_802D90A4
/* 802D9010 002D5F50 7F 83 E3 78 */ mr r3, r28
/* 802D9014 002D5F54 7F A4 EB 78 */ mr r4, r29
/* 802D9018 002D5F58 80 BE 00 00 */ lwz r5, 0(r30)
/* 802D901C 002D5F5C 81 9C 00 00 */ lwz r12, 0(r28)
/* 802D9020 002D5F60 81 8C 00 48 */ lwz r12, 0x48(r12)
/* 802D9024 002D5F64 7D 89 03 A6 */ mtctr r12
/* 802D9028 002D5F68 4E 80 04 21 */ bctrl
/* 802D902C 002D5F6C 48 00 00 78 */ b lbl_802D90A4
lbl_802D9030:
/* 802D9030 002D5F70 54 60 06 73 */ rlwinm. r0, r3, 0, 0x19, 0x19
/* 802D9034 002D5F74 41 82 00 70 */ beq lbl_802D90A4
/* 802D9038 002D5F78 80 7C 00 40 */ lwz r3, 0x40(r28)
/* 802D903C 002D5F7C 80 9C 00 6C */ lwz r4, 0x6c(r28)
/* 802D9040 002D5F80 80 1D 00 08 */ lwz r0, 8(r29)
/* 802D9044 002D5F84 7C 84 02 14 */ add r4, r4, r0
/* 802D9048 002D5F88 80 DC 00 38 */ lwz r6, 0x38(r28)
/* 802D904C 002D5F8C 7F E7 FB 78 */ mr r7, r31
/* 802D9050 002D5F90 81 1C 00 5C */ lwz r8, 0x5c(r28)
/* 802D9054 002D5F94 39 21 00 08 */ addi r9, r1, 8
/* 802D9058 002D5F98 4B FF F4 1D */ bl fetchResource_subroutine__13JKRDvdArchiveFlUlUlP7JKRHeapiiPPUc
/* 802D905C 002D5F9C 28 1E 00 00 */ cmplwi r30, 0
/* 802D9060 002D5FA0 41 82 00 08 */ beq lbl_802D9068
/* 802D9064 002D5FA4 90 7E 00 00 */ stw r3, 0(r30)
lbl_802D9068:
/* 802D9068 002D5FA8 80 01 00 08 */ lwz r0, 8(r1)
/* 802D906C 002D5FAC 90 1D 00 10 */ stw r0, 0x10(r29)
/* 802D9070 002D5FB0 2C 1F 00 02 */ cmpwi r31, 2
/* 802D9074 002D5FB4 40 82 00 30 */ bne lbl_802D90A4
/* 802D9078 002D5FB8 7F 83 E3 78 */ mr r3, r28
/* 802D907C 002D5FBC 7F A4 EB 78 */ mr r4, r29
/* 802D9080 002D5FC0 80 BE 00 00 */ lwz r5, 0(r30)
/* 802D9084 002D5FC4 81 9C 00 00 */ lwz r12, 0(r28)
/* 802D9088 002D5FC8 81 8C 00 48 */ lwz r12, 0x48(r12)
/* 802D908C 002D5FCC 7D 89 03 A6 */ mtctr r12
/* 802D9090 002D5FD0 4E 80 04 21 */ bctrl
/* 802D9094 002D5FD4 48 00 00 10 */ b lbl_802D90A4
lbl_802D9098:
/* 802D9098 002D5FD8 28 1E 00 00 */ cmplwi r30, 0
/* 802D909C 002D5FDC 41 82 00 08 */ beq lbl_802D90A4
/* 802D90A0 002D5FE0 90 BE 00 00 */ stw r5, 0(r30)
lbl_802D90A4:
/* 802D90A4 002D5FE4 80 7D 00 10 */ lwz r3, 0x10(r29)
/* 802D90A8 002D5FE8 39 61 00 30 */ addi r11, r1, 0x30
/* 802D90AC 002D5FEC 48 08 91 79 */ bl _restgpr_28
/* 802D90B0 002D5FF0 80 01 00 34 */ lwz r0, 0x34(r1)
/* 802D90B4 002D5FF4 7C 08 03 A6 */ mtlr r0
/* 802D90B8 002D5FF8 38 21 00 30 */ addi r1, r1, 0x30
/* 802D90BC 002D5FFC 4E 80 00 20 */ blr
@@ -1,117 +0,0 @@
/* fetchResource__14JKRCompArchiveFPvUlP12SDIFileEntryPUl __ct__14JKRCompArchiveFlQ210JKRArchive15EMountDirection::fetchResource(void *, unsigned long, JKRArchive::SDIFileEntry *, unsigned long *) */
/* missing reference */
/* 802D90C0 002D6000 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802D90C4 002D6004 7C 08 02 A6 */ mflr r0
/* 802D90C8 002D6008 90 01 00 24 */ stw r0, 0x24(r1)
/* 802D90CC 002D600C 39 61 00 20 */ addi r11, r1, 0x20
/* 802D90D0 002D6010 48 08 91 01 */ bl _savegpr_26
/* 802D90D4 002D6014 7C 69 1B 78 */ mr r9, r3
/* 802D90D8 002D6018 7C 9C 23 78 */ mr r28, r4
/* 802D90DC 002D601C 7C BD 2B 78 */ mr r29, r5
/* 802D90E0 002D6020 7C DE 33 78 */ mr r30, r6
/* 802D90E4 002D6024 7C FF 3B 78 */ mr r31, r7
/* 802D90E8 002D6028 3B 60 00 00 */ li r27, 0
/* 802D90EC 002D602C 83 46 00 0C */ lwz r26, 0xc(r6)
/* 802D90F0 002D6030 38 1A 00 1F */ addi r0, r26, 0x1f
/* 802D90F4 002D6034 54 05 00 34 */ rlwinm r5, r0, 0, 0, 0x1a
/* 802D90F8 002D6038 80 06 00 04 */ lwz r0, 4(r6)
/* 802D90FC 002D603C 54 03 46 3E */ srwi r3, r0, 0x18
/* 802D9100 002D6040 54 00 47 7B */ rlwinm. r0, r0, 8, 0x1d, 0x1d
/* 802D9104 002D6044 40 82 00 0C */ bne lbl_802D9110
/* 802D9108 002D6048 39 00 00 00 */ li r8, 0
/* 802D910C 002D604C 48 00 00 18 */ b lbl_802D9124
lbl_802D9110:
/* 802D9110 002D6050 54 60 06 31 */ rlwinm. r0, r3, 0, 0x18, 0x18
/* 802D9114 002D6054 41 82 00 0C */ beq lbl_802D9120
/* 802D9118 002D6058 39 00 00 02 */ li r8, 2
/* 802D911C 002D605C 48 00 00 08 */ b lbl_802D9124
lbl_802D9120:
/* 802D9120 002D6060 39 00 00 01 */ li r8, 1
lbl_802D9124:
/* 802D9124 002D6064 80 1E 00 10 */ lwz r0, 0x10(r30)
/* 802D9128 002D6068 28 00 00 00 */ cmplwi r0, 0
/* 802D912C 002D606C 41 82 00 54 */ beq lbl_802D9180
/* 802D9130 002D6070 2C 08 00 02 */ cmpwi r8, 2
/* 802D9134 002D6074 40 82 00 28 */ bne lbl_802D915C
/* 802D9138 002D6078 7D 23 4B 78 */ mr r3, r9
/* 802D913C 002D607C 7F C4 F3 78 */ mr r4, r30
/* 802D9140 002D6080 81 89 00 00 */ lwz r12, 0(r9)
/* 802D9144 002D6084 81 8C 00 4C */ lwz r12, 0x4c(r12)
/* 802D9148 002D6088 7D 89 03 A6 */ mtctr r12
/* 802D914C 002D608C 4E 80 04 21 */ bctrl
/* 802D9150 002D6090 28 03 00 00 */ cmplwi r3, 0
/* 802D9154 002D6094 41 82 00 08 */ beq lbl_802D915C
/* 802D9158 002D6098 7C 7A 1B 78 */ mr r26, r3
lbl_802D915C:
/* 802D915C 002D609C 7C 1A E8 40 */ cmplw r26, r29
/* 802D9160 002D60A0 40 81 00 08 */ ble lbl_802D9168
/* 802D9164 002D60A4 7F BA EB 78 */ mr r26, r29
lbl_802D9168:
/* 802D9168 002D60A8 7F 83 E3 78 */ mr r3, r28
/* 802D916C 002D60AC 80 9E 00 10 */ lwz r4, 0x10(r30)
/* 802D9170 002D60B0 7F 45 D3 78 */ mr r5, r26
/* 802D9174 002D60B4 4B FF 59 A5 */ bl copyMemory__7JKRHeapFPvPvUl
/* 802D9178 002D60B8 7F 5B D3 78 */ mr r27, r26
/* 802D917C 002D60BC 48 00 00 BC */ b lbl_802D9238
lbl_802D9180:
/* 802D9180 002D60C0 54 60 06 F7 */ rlwinm. r0, r3, 0, 0x1b, 0x1b
/* 802D9184 002D60C4 41 82 00 2C */ beq lbl_802D91B0
/* 802D9188 002D60C8 80 69 00 64 */ lwz r3, 0x64(r9)
/* 802D918C 002D60CC 80 1E 00 08 */ lwz r0, 8(r30)
/* 802D9190 002D60D0 7C 63 02 14 */ add r3, r3, r0
/* 802D9194 002D60D4 7C A4 2B 78 */ mr r4, r5
/* 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__13JKRMemArchiveFPUcUlPUcUli
/* 802D91A8 002D60E8 7C 7B 1B 78 */ mr r27, r3
/* 802D91AC 002D60EC 48 00 00 8C */ b lbl_802D9238
lbl_802D91B0:
/* 802D91B0 002D60F0 54 60 06 B5 */ rlwinm. r0, r3, 0, 0x1a, 0x1a
/* 802D91B4 002D60F4 41 82 00 38 */ beq lbl_802D91EC
/* 802D91B8 002D60F8 80 69 00 68 */ lwz r3, 0x68(r9)
/* 802D91BC 002D60FC 80 83 00 14 */ lwz r4, 0x14(r3)
/* 802D91C0 002D6100 80 69 00 74 */ lwz r3, 0x74(r9)
/* 802D91C4 002D6104 80 1E 00 08 */ lwz r0, 8(r30)
/* 802D91C8 002D6108 7C 00 22 14 */ add r0, r0, r4
/* 802D91CC 002D610C 7C 63 00 50 */ subf r3, r3, r0
/* 802D91D0 002D6110 7C A4 2B 78 */ mr r4, r5
/* 802D91D4 002D6114 7F 85 E3 78 */ mr r5, r28
/* 802D91D8 002D6118 57 A6 00 34 */ rlwinm r6, r29, 0, 0, 0x1a
/* 802D91DC 002D611C 7D 07 43 78 */ mr r7, r8
/* 802D91E0 002D6120 4B FF E6 79 */ bl fetchResource_subroutine__14JKRAramArchiveFUlUlPUcUli
/* 802D91E4 002D6124 7C 7B 1B 78 */ mr r27, r3
/* 802D91E8 002D6128 48 00 00 50 */ b lbl_802D9238
lbl_802D91EC:
/* 802D91EC 002D612C 54 60 06 73 */ rlwinm. r0, r3, 0, 0x19, 0x19
/* 802D91F0 002D6130 41 82 00 2C */ beq lbl_802D921C
/* 802D91F4 002D6134 80 69 00 40 */ lwz r3, 0x40(r9)
/* 802D91F8 002D6138 80 89 00 6C */ lwz r4, 0x6c(r9)
/* 802D91FC 002D613C 80 1E 00 08 */ lwz r0, 8(r30)
/* 802D9200 002D6140 7C 84 02 14 */ add r4, r4, r0
/* 802D9204 002D6144 7F 86 E3 78 */ mr r6, r28
/* 802D9208 002D6148 57 A7 00 34 */ rlwinm r7, r29, 0, 0, 0x1a
/* 802D920C 002D614C 81 29 00 5C */ lwz r9, 0x5c(r9)
/* 802D9210 002D6150 4B FF F0 5D */ bl fetchResource_subroutine__13JKRDvdArchiveFlUlUlPUcUlii
/* 802D9214 002D6154 7C 7B 1B 78 */ mr r27, r3
/* 802D9218 002D6158 48 00 00 20 */ b lbl_802D9238
lbl_802D921C:
/* 802D921C 002D615C 3C 60 80 3A */ lis r3, lbl_8039D220@ha
/* 802D9220 002D6160 38 63 D2 20 */ addi r3, r3, lbl_8039D220@l
/* 802D9224 002D6164 38 80 03 08 */ li r4, 0x308
/* 802D9228 002D6168 38 A3 00 13 */ addi r5, r3, 0x13
/* 802D922C 002D616C 38 C3 00 16 */ addi r6, r3, 0x16
/* 802D9230 002D6170 4C C6 31 82 */ crclr 6
/* 802D9234 002D6174 48 00 8F C9 */ bl panic_f__12JUTExceptionFPCciPCce
lbl_802D9238:
/* 802D9238 002D6178 28 1F 00 00 */ cmplwi r31, 0
/* 802D923C 002D617C 41 82 00 08 */ beq lbl_802D9244
/* 802D9240 002D6180 93 7F 00 00 */ stw r27, 0(r31)
lbl_802D9244:
/* 802D9244 002D6184 7F 83 E3 78 */ mr r3, r28
/* 802D9248 002D6188 39 61 00 20 */ addi r11, r1, 0x20
/* 802D924C 002D618C 48 08 8F D1 */ bl _restgpr_26
/* 802D9250 002D6190 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802D9254 002D6194 7C 08 03 A6 */ mtlr r0
/* 802D9258 002D6198 38 21 00 20 */ addi r1, r1, 0x20
/* 802D925C 002D619C 4E 80 00 20 */ blr
@@ -1,44 +0,0 @@
/* removeResourceAll__14JKRCompArchiveFv __ct__14JKRCompArchiveFlQ210JKRArchive15EMountDirection::removeResourceAll(void) */
/* missing reference */
/* 802D9260 002D61A0 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802D9264 002D61A4 7C 08 02 A6 */ mflr r0
/* 802D9268 002D61A8 90 01 00 24 */ stw r0, 0x24(r1)
/* 802D926C 002D61AC 39 61 00 20 */ addi r11, r1, 0x20
/* 802D9270 002D61B0 48 08 8F 69 */ bl _savegpr_28
/* 802D9274 002D61B4 7C 7C 1B 78 */ mr r28, r3
/* 802D9278 002D61B8 80 03 00 44 */ lwz r0, 0x44(r3)
/* 802D927C 002D61BC 28 00 00 00 */ cmplwi r0, 0
/* 802D9280 002D61C0 41 82 00 5C */ beq lbl_802D92DC
/* 802D9284 002D61C4 88 1C 00 3C */ lbz r0, 0x3c(r28)
/* 802D9288 002D61C8 28 00 00 01 */ cmplwi r0, 1
/* 802D928C 002D61CC 41 82 00 50 */ beq lbl_802D92DC
/* 802D9290 002D61D0 83 DC 00 4C */ lwz r30, 0x4c(r28)
/* 802D9294 002D61D4 3B A0 00 00 */ li r29, 0
/* 802D9298 002D61D8 3B E0 00 00 */ li r31, 0
/* 802D929C 002D61DC 48 00 00 30 */ b lbl_802D92CC
lbl_802D92A0:
/* 802D92A0 002D61E0 80 1E 00 04 */ lwz r0, 4(r30)
/* 802D92A4 002D61E4 54 00 46 3E */ srwi r0, r0, 0x18
/* 802D92A8 002D61E8 80 7E 00 10 */ lwz r3, 0x10(r30)
/* 802D92AC 002D61EC 28 03 00 00 */ cmplwi r3, 0
/* 802D92B0 002D61F0 41 82 00 18 */ beq lbl_802D92C8
/* 802D92B4 002D61F4 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b
/* 802D92B8 002D61F8 40 82 00 0C */ bne lbl_802D92C4
/* 802D92BC 002D61FC 80 9C 00 38 */ lwz r4, 0x38(r28)
/* 802D92C0 002D6200 4B FF 52 41 */ bl free__7JKRHeapFPvP7JKRHeap
lbl_802D92C4:
/* 802D92C4 002D6204 93 FE 00 10 */ stw r31, 0x10(r30)
lbl_802D92C8:
/* 802D92C8 002D6208 3B BD 00 01 */ addi r29, r29, 1
lbl_802D92CC:
/* 802D92CC 002D620C 80 7C 00 44 */ lwz r3, 0x44(r28)
/* 802D92D0 002D6210 80 03 00 08 */ lwz r0, 8(r3)
/* 802D92D4 002D6214 7C 1D 00 40 */ cmplw r29, r0
/* 802D92D8 002D6218 41 80 FF C8 */ blt lbl_802D92A0
lbl_802D92DC:
/* 802D92DC 002D621C 39 61 00 20 */ addi r11, r1, 0x20
/* 802D92E0 002D6220 48 08 8F 45 */ bl _restgpr_28
/* 802D92E4 002D6224 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802D92E8 002D6228 7C 08 03 A6 */ mtlr r0
/* 802D92EC 002D622C 38 21 00 20 */ addi r1, r1, 0x20
/* 802D92F0 002D6230 4E 80 00 20 */ blr
@@ -1,32 +0,0 @@
/* removeResource__14JKRCompArchiveFPv __ct__14JKRCompArchiveFlQ210JKRArchive15EMountDirection::removeResource(void *) */
/* missing reference */
/* 802D92F4 002D6234 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802D92F8 002D6238 7C 08 02 A6 */ mflr r0
/* 802D92FC 002D623C 90 01 00 24 */ stw r0, 0x24(r1)
/* 802D9300 002D6240 39 61 00 20 */ addi r11, r1, 0x20
/* 802D9304 002D6244 48 08 8E D9 */ bl _savegpr_29
/* 802D9308 002D6248 7C 7D 1B 78 */ mr r29, r3
/* 802D930C 002D624C 7C 9E 23 78 */ mr r30, r4
/* 802D9310 002D6250 4B FF D4 25 */ bl findPtrResource__10JKRArchiveCFPCv
/* 802D9314 002D6254 7C 7F 1B 79 */ or. r31, r3, r3
/* 802D9318 002D6258 40 82 00 0C */ bne lbl_802D9324
/* 802D931C 002D625C 38 60 00 00 */ li r3, 0
/* 802D9320 002D6260 48 00 00 28 */ b lbl_802D9348
lbl_802D9324:
/* 802D9324 002D6264 80 1F 00 04 */ lwz r0, 4(r31)
/* 802D9328 002D6268 54 00 46 F7 */ rlwinm. r0, r0, 8, 0x1b, 0x1b
/* 802D932C 002D626C 40 82 00 10 */ bne lbl_802D933C
/* 802D9330 002D6270 7F C3 F3 78 */ mr r3, r30
/* 802D9334 002D6274 80 9D 00 38 */ lwz r4, 0x38(r29)
/* 802D9338 002D6278 4B FF 51 C9 */ bl free__7JKRHeapFPvP7JKRHeap
lbl_802D933C:
/* 802D933C 002D627C 38 00 00 00 */ li r0, 0
/* 802D9340 002D6280 90 1F 00 10 */ stw r0, 0x10(r31)
/* 802D9344 002D6284 38 60 00 01 */ li r3, 1
lbl_802D9348:
/* 802D9348 002D6288 39 61 00 20 */ addi r11, r1, 0x20
/* 802D934C 002D628C 48 08 8E DD */ bl _restgpr_29
/* 802D9350 002D6290 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802D9354 002D6294 7C 08 03 A6 */ mtlr r0
/* 802D9358 002D6298 38 21 00 20 */ addi r1, r1, 0x20
/* 802D935C 002D629C 4E 80 00 20 */ blr
@@ -1,120 +0,0 @@
/* getExpandedResSize__14JKRCompArchiveCFPCv __ct__14JKRCompArchiveFlQ210JKRArchive15EMountDirection::getExpandedResSize( const(void const *)) */
/* missing reference */
/* 802D9360 002D62A0 94 21 FF A0 */ stwu r1, -0x60(r1)
/* 802D9364 002D62A4 7C 08 02 A6 */ mflr r0
/* 802D9368 002D62A8 90 01 00 64 */ stw r0, 0x64(r1)
/* 802D936C 002D62AC 39 61 00 60 */ addi r11, r1, 0x60
/* 802D9370 002D62B0 48 08 8E 6D */ bl _savegpr_29
/* 802D9374 002D62B4 7C 7E 1B 78 */ mr r30, r3
/* 802D9378 002D62B8 7C 9D 23 78 */ mr r29, r4
/* 802D937C 002D62BC 80 03 00 50 */ lwz r0, 0x50(r3)
/* 802D9380 002D62C0 28 00 00 00 */ cmplwi r0, 0
/* 802D9384 002D62C4 40 82 00 18 */ bne lbl_802D939C
/* 802D9388 002D62C8 81 83 00 00 */ lwz r12, 0(r3)
/* 802D938C 002D62CC 81 8C 00 30 */ lwz r12, 0x30(r12)
/* 802D9390 002D62D0 7D 89 03 A6 */ mtctr r12
/* 802D9394 002D62D4 4E 80 04 21 */ bctrl
/* 802D9398 002D62D8 48 00 01 68 */ b lbl_802D9500
lbl_802D939C:
/* 802D939C 002D62DC 4B FF D3 99 */ bl findPtrResource__10JKRArchiveCFPCv
/* 802D93A0 002D62E0 7C 7F 1B 79 */ or. r31, r3, r3
/* 802D93A4 002D62E4 40 82 00 0C */ bne lbl_802D93B0
/* 802D93A8 002D62E8 38 60 FF FF */ li r3, -1
/* 802D93AC 002D62EC 48 00 01 54 */ b lbl_802D9500
lbl_802D93B0:
/* 802D93B0 002D62F0 80 1F 00 04 */ lwz r0, 4(r31)
/* 802D93B4 002D62F4 54 03 46 3E */ srwi r3, r0, 0x18
/* 802D93B8 002D62F8 54 00 47 7B */ rlwinm. r0, r0, 8, 0x1d, 0x1d
/* 802D93BC 002D62FC 40 82 00 20 */ bne lbl_802D93DC
/* 802D93C0 002D6300 7F C3 F3 78 */ mr r3, r30
/* 802D93C4 002D6304 7F A4 EB 78 */ mr r4, r29
/* 802D93C8 002D6308 81 9E 00 00 */ lwz r12, 0(r30)
/* 802D93CC 002D630C 81 8C 00 30 */ lwz r12, 0x30(r12)
/* 802D93D0 002D6310 7D 89 03 A6 */ mtctr r12
/* 802D93D4 002D6314 4E 80 04 21 */ bctrl
/* 802D93D8 002D6318 48 00 01 28 */ b lbl_802D9500
lbl_802D93DC:
/* 802D93DC 002D631C 54 60 06 F7 */ rlwinm. r0, r3, 0, 0x1b, 0x1b
/* 802D93E0 002D6320 41 82 00 28 */ beq lbl_802D9408
/* 802D93E4 002D6324 88 BD 00 07 */ lbz r5, 7(r29)
/* 802D93E8 002D6328 88 9D 00 06 */ lbz r4, 6(r29)
/* 802D93EC 002D632C 88 7D 00 04 */ lbz r3, 4(r29)
/* 802D93F0 002D6330 88 1D 00 05 */ lbz r0, 5(r29)
/* 802D93F4 002D6334 54 00 80 1E */ slwi r0, r0, 0x10
/* 802D93F8 002D6338 50 60 C0 0E */ rlwimi r0, r3, 0x18, 0, 7
/* 802D93FC 002D633C 50 80 44 2E */ rlwimi r0, r4, 8, 0x10, 0x17
/* 802D9400 002D6340 7C A3 03 78 */ or r3, r5, r0
/* 802D9404 002D6344 48 00 00 FC */ b lbl_802D9500
lbl_802D9408:
/* 802D9408 002D6348 38 01 00 2F */ addi r0, r1, 0x2f
/* 802D940C 002D634C 54 1D 00 34 */ rlwinm r29, r0, 0, 0, 0x1a
/* 802D9410 002D6350 54 60 06 B5 */ rlwinm. r0, r3, 0, 0x1a, 0x1a
/* 802D9414 002D6354 41 82 00 44 */ beq lbl_802D9458
/* 802D9418 002D6358 80 7E 00 68 */ lwz r3, 0x68(r30)
/* 802D941C 002D635C 80 63 00 14 */ lwz r3, 0x14(r3)
/* 802D9420 002D6360 80 1F 00 08 */ lwz r0, 8(r31)
/* 802D9424 002D6364 7C 60 1A 14 */ add r3, r0, r3
/* 802D9428 002D6368 7F A4 EB 78 */ mr r4, r29
/* 802D942C 002D636C 38 A0 00 20 */ li r5, 0x20
/* 802D9430 002D6370 38 C0 00 00 */ li r6, 0
/* 802D9434 002D6374 38 E0 00 00 */ li r7, 0
/* 802D9438 002D6378 39 00 00 00 */ li r8, 0
/* 802D943C 002D637C 39 20 FF FF */ li r9, -1
/* 802D9440 002D6380 39 40 00 00 */ li r10, 0
/* 802D9444 002D6384 4B FF 91 71 */ bl aramToMainRam__7JKRAramFUlPUcUl15JKRExpandSwitchUlP7JKRHeapiPUl
/* 802D9448 002D6388 7F A3 EB 78 */ mr r3, r29
/* 802D944C 002D638C 38 80 00 20 */ li r4, 0x20
/* 802D9450 002D6390 48 06 21 31 */ bl DCInvalidateRange
/* 802D9454 002D6394 48 00 00 6C */ b lbl_802D94C0
lbl_802D9458:
/* 802D9458 002D6398 54 60 06 73 */ rlwinm. r0, r3, 0, 0x19, 0x19
/* 802D945C 002D639C 41 82 00 48 */ beq lbl_802D94A4
/* 802D9460 002D63A0 38 00 00 00 */ li r0, 0
/* 802D9464 002D63A4 90 01 00 08 */ stw r0, 8(r1)
/* 802D9468 002D63A8 80 7E 00 40 */ lwz r3, 0x40(r30)
/* 802D946C 002D63AC 7F A4 EB 78 */ mr r4, r29
/* 802D9470 002D63B0 38 A0 00 02 */ li r5, 2
/* 802D9474 002D63B4 38 C0 00 20 */ li r6, 0x20
/* 802D9478 002D63B8 38 E0 00 00 */ li r7, 0
/* 802D947C 002D63BC 39 00 00 01 */ li r8, 1
/* 802D9480 002D63C0 81 3E 00 6C */ lwz r9, 0x6c(r30)
/* 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__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
/* 802D94A0 002D63E0 48 00 00 20 */ b lbl_802D94C0
lbl_802D94A4:
/* 802D94A4 002D63E4 3C 60 80 3A */ lis r3, lbl_8039D220@ha
/* 802D94A8 002D63E8 38 63 D2 20 */ addi r3, r3, lbl_8039D220@l
/* 802D94AC 002D63EC 38 80 03 AF */ li r4, 0x3af
/* 802D94B0 002D63F0 38 A3 00 13 */ addi r5, r3, 0x13
/* 802D94B4 002D63F4 38 C3 00 27 */ addi r6, r3, 0x27
/* 802D94B8 002D63F8 4C C6 31 82 */ crclr 6
/* 802D94BC 002D63FC 48 00 8D 41 */ bl panic_f__12JUTExceptionFPCciPCce
lbl_802D94C0:
/* 802D94C0 002D6400 88 BD 00 07 */ lbz r5, 7(r29)
/* 802D94C4 002D6404 88 9D 00 06 */ lbz r4, 6(r29)
/* 802D94C8 002D6408 88 7D 00 04 */ lbz r3, 4(r29)
/* 802D94CC 002D640C 88 1D 00 05 */ lbz r0, 5(r29)
/* 802D94D0 002D6410 54 00 80 1E */ slwi r0, r0, 0x10
/* 802D94D4 002D6414 50 60 C0 0E */ rlwimi r0, r3, 0x18, 0, 7
/* 802D94D8 002D6418 50 80 44 2E */ rlwimi r0, r4, 8, 0x10, 0x17
/* 802D94DC 002D641C 7C BD 03 78 */ or r29, r5, r0
/* 802D94E0 002D6420 7F C3 F3 78 */ mr r3, r30
/* 802D94E4 002D6424 7F E4 FB 78 */ mr r4, r31
/* 802D94E8 002D6428 7F A5 EB 78 */ mr r5, r29
/* 802D94EC 002D642C 81 9E 00 00 */ lwz r12, 0(r30)
/* 802D94F0 002D6430 81 8C 00 48 */ lwz r12, 0x48(r12)
/* 802D94F4 002D6434 7D 89 03 A6 */ mtctr r12
/* 802D94F8 002D6438 4E 80 04 21 */ bctrl
/* 802D94FC 002D643C 7F A3 EB 78 */ mr r3, r29
lbl_802D9500:
/* 802D9500 002D6440 39 61 00 60 */ addi r11, r1, 0x60
/* 802D9504 002D6444 48 08 8D 25 */ bl _restgpr_29
/* 802D9508 002D6448 80 01 00 64 */ lwz r0, 0x64(r1)
/* 802D950C 002D644C 7C 08 03 A6 */ mtlr r0
/* 802D9510 002D6450 38 21 00 60 */ addi r1, r1, 0x60
/* 802D9514 002D6454 4E 80 00 20 */ blr
-28
View File
@@ -1,28 +0,0 @@
#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
+7
View File
@@ -0,0 +1,7 @@
#ifndef JKRDECOMP_H
#define JKRDECOMP_H
#include "dolphin/types.h"
#endif /* JKRDECOMP_H */
@@ -1,62 +0,0 @@
#ifndef JKRDECOMP_H_
#define JKRDECOMP_H_
#include "JSystem/JKernel/JKRCompression.h"
#include "JSystem/JKernel/JKRThread/JKRThread.h"
#include "dolphin/types.h"
class JKRAMCommand;
class JKRDecompCommand {
public:
typedef void (*AsyncCallback)(u32);
JKRDecompCommand();
~JKRDecompCommand();
public:
/* 0x00 */ u32 field_0x0;
/* 0x04 */ u8* mSrcBuffer;
/* 0x08 */ u8* mDstBuffer;
/* 0x0C */ u32 mSrcLength;
/* 0x10 */ u32 mDstLength;
/* 0x14 */ AsyncCallback mCallback;
/* 0x18 */ JKRDecompCommand* mThis;
/* 0x1C */ OSMessageQueue* field_0x1c;
/* 0x20 */ s32 field_0x20;
/* 0x24 */ JKRAMCommand* mAMCommand;
/* 0x28 */ OSMessageQueue mMessageQueue;
/* 0x48 */ OSMessage mMessage;
};
#define JKRDECOMP_SYNC_BLOCKING 0
#define JKRDECOMP_SYNC_NON_BLOCKING 1
class JKRDecomp : public JKRThread {
private:
JKRDecomp(long);
virtual ~JKRDecomp();
/* vt[03] */ virtual void* run(); /* override */
public:
static JKRDecomp* create(long);
static JKRDecompCommand* prepareCommand(u8*, u8*, u32, u32, JKRDecompCommand::AsyncCallback);
static void sendCommand(JKRDecompCommand*);
static bool sync(JKRDecompCommand*, int);
static JKRDecompCommand* orderAsync(u8*, u8*, u32, u32, JKRDecompCommand::AsyncCallback);
static bool orderSync(u8*, u8*, u32, u32);
static void decode(u8*, u8*, u32, u32);
static void decodeSZP(u8*, u8*, u32, u32);
static void decodeSZS(u8*, u8*, u32, u32);
static JKRCompression checkCompressed(u8*);
};
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
@@ -1,126 +0,0 @@
/* decodeSZP__9JKRDecompFPUcPUcUlUl __ct__9JKRDecompFl::decodeSZP(unsigned char *, unsigned char *, unsigned long, unsigned long) */
/* JKRDecomp_NS_decodeSZP */
/* 802DBA58 002D8998 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802DBA5C 002D899C 7C 08 02 A6 */ mflr r0
/* 802DBA60 002D89A0 90 01 00 24 */ stw r0, 0x24(r1)
/* 802DBA64 002D89A4 39 61 00 20 */ addi r11, r1, 0x20
/* 802DBA68 002D89A8 48 08 67 6D */ bl _savegpr_27
/* 802DBA6C 002D89AC 89 23 00 07 */ lbz r9, 7(r3)
/* 802DBA70 002D89B0 89 03 00 06 */ lbz r8, 6(r3)
/* 802DBA74 002D89B4 88 E3 00 04 */ lbz r7, 4(r3)
/* 802DBA78 002D89B8 88 03 00 05 */ lbz r0, 5(r3)
/* 802DBA7C 002D89BC 54 00 80 1E */ slwi r0, r0, 0x10
/* 802DBA80 002D89C0 50 E0 C0 0E */ rlwimi r0, r7, 0x18, 0, 7
/* 802DBA84 002D89C4 51 00 44 2E */ rlwimi r0, r8, 8, 0x10, 0x17
/* 802DBA88 002D89C8 7D 20 03 78 */ or r0, r9, r0
/* 802DBA8C 002D89CC 89 43 00 0B */ lbz r10, 0xb(r3)
/* 802DBA90 002D89D0 89 23 00 0A */ lbz r9, 0xa(r3)
/* 802DBA94 002D89D4 89 03 00 08 */ lbz r8, 8(r3)
/* 802DBA98 002D89D8 88 E3 00 09 */ lbz r7, 9(r3)
/* 802DBA9C 002D89DC 54 E7 80 1E */ slwi r7, r7, 0x10
/* 802DBAA0 002D89E0 51 07 C0 0E */ rlwimi r7, r8, 0x18, 0, 7
/* 802DBAA4 002D89E4 51 27 44 2E */ rlwimi r7, r9, 8, 0x10, 0x17
/* 802DBAA8 002D89E8 7D 49 3B 78 */ or r9, r10, r7
/* 802DBAAC 002D89EC 89 83 00 0F */ lbz r12, 0xf(r3)
/* 802DBAB0 002D89F0 89 43 00 0E */ lbz r10, 0xe(r3)
/* 802DBAB4 002D89F4 89 03 00 0C */ lbz r8, 0xc(r3)
/* 802DBAB8 002D89F8 88 E3 00 0D */ lbz r7, 0xd(r3)
/* 802DBABC 002D89FC 54 E7 80 1E */ slwi r7, r7, 0x10
/* 802DBAC0 002D8A00 51 07 C0 0E */ rlwimi r7, r8, 0x18, 0, 7
/* 802DBAC4 002D8A04 51 47 44 2E */ rlwimi r7, r10, 8, 0x10, 0x17
/* 802DBAC8 002D8A08 7D 8C 3B 78 */ or r12, r12, r7
/* 802DBACC 002D8A0C 39 00 00 00 */ li r8, 0
/* 802DBAD0 002D8A10 39 40 00 00 */ li r10, 0
/* 802DBAD4 002D8A14 38 E0 00 10 */ li r7, 0x10
/* 802DBAD8 002D8A18 28 05 00 00 */ cmplwi r5, 0
/* 802DBADC 002D8A1C 41 82 01 20 */ beq lbl_802DBBFC
/* 802DBAE0 002D8A20 7C 06 00 40 */ cmplw r6, r0
/* 802DBAE4 002D8A24 41 81 01 18 */ bgt lbl_802DBBFC
/* 802DBAE8 002D8A28 7C 9F 23 78 */ mr r31, r4
/* 802DBAEC 002D8A2C 7D 83 62 14 */ add r12, r3, r12
lbl_802DBAF0:
/* 802DBAF0 002D8A30 28 0A 00 00 */ cmplwi r10, 0
/* 802DBAF4 002D8A34 40 82 00 30 */ bne lbl_802DBB24
/* 802DBAF8 002D8A38 7D 43 3A 14 */ add r10, r3, r7
/* 802DBAFC 002D8A3C 8B CA 00 03 */ lbz r30, 3(r10)
/* 802DBB00 002D8A40 8B AA 00 02 */ lbz r29, 2(r10)
/* 802DBB04 002D8A44 89 6A 00 00 */ lbz r11, 0(r10)
/* 802DBB08 002D8A48 89 4A 00 01 */ lbz r10, 1(r10)
/* 802DBB0C 002D8A4C 55 4A 80 1E */ slwi r10, r10, 0x10
/* 802DBB10 002D8A50 51 6A C0 0E */ rlwimi r10, r11, 0x18, 0, 7
/* 802DBB14 002D8A54 53 AA 44 2E */ rlwimi r10, r29, 8, 0x10, 0x17
/* 802DBB18 002D8A58 7F CB 53 78 */ or r11, r30, r10
/* 802DBB1C 002D8A5C 39 40 00 20 */ li r10, 0x20
/* 802DBB20 002D8A60 38 E7 00 04 */ addi r7, r7, 4
lbl_802DBB24:
/* 802DBB24 002D8A64 55 7D 00 01 */ rlwinm. r29, r11, 0, 0, 0
/* 802DBB28 002D8A68 41 82 00 34 */ beq lbl_802DBB5C
/* 802DBB2C 002D8A6C 28 06 00 00 */ cmplwi r6, 0
/* 802DBB30 002D8A70 40 82 00 18 */ bne lbl_802DBB48
/* 802DBB34 002D8A74 8B AC 00 00 */ lbz r29, 0(r12)
/* 802DBB38 002D8A78 9B BF 00 00 */ stb r29, 0(r31)
/* 802DBB3C 002D8A7C 34 A5 FF FF */ addic. r5, r5, -1
/* 802DBB40 002D8A80 40 82 00 0C */ bne lbl_802DBB4C
/* 802DBB44 002D8A84 48 00 00 B8 */ b lbl_802DBBFC
lbl_802DBB48:
/* 802DBB48 002D8A88 38 C6 FF FF */ addi r6, r6, -1
lbl_802DBB4C:
/* 802DBB4C 002D8A8C 39 08 00 01 */ addi r8, r8, 1
/* 802DBB50 002D8A90 3B FF 00 01 */ addi r31, r31, 1
/* 802DBB54 002D8A94 39 8C 00 01 */ addi r12, r12, 1
/* 802DBB58 002D8A98 48 00 00 94 */ b lbl_802DBBEC
lbl_802DBB5C:
/* 802DBB5C 002D8A9C 7F A3 4A 14 */ add r29, r3, r9
/* 802DBB60 002D8AA0 8B DD 00 00 */ lbz r30, 0(r29)
/* 802DBB64 002D8AA4 8B 9D 00 01 */ lbz r28, 1(r29)
/* 802DBB68 002D8AA8 53 DC 44 2E */ rlwimi r28, r30, 8, 0x10, 0x17
/* 802DBB6C 002D8AAC 57 9D 05 3E */ clrlwi r29, r28, 0x14
/* 802DBB70 002D8AB0 7F 7D 40 50 */ subf r27, r29, r8
/* 802DBB74 002D8AB4 7F 9C 66 71 */ srawi. r28, r28, 0xc
/* 802DBB78 002D8AB8 39 29 00 02 */ addi r9, r9, 2
/* 802DBB7C 002D8ABC 40 82 00 14 */ bne lbl_802DBB90
/* 802DBB80 002D8AC0 8B AC 00 00 */ lbz r29, 0(r12)
/* 802DBB84 002D8AC4 3B 9D 00 12 */ addi r28, r29, 0x12
/* 802DBB88 002D8AC8 39 8C 00 01 */ addi r12, r12, 1
/* 802DBB8C 002D8ACC 48 00 00 08 */ b lbl_802DBB94
lbl_802DBB90:
/* 802DBB90 002D8AD0 3B 9C 00 02 */ addi r28, r28, 2
lbl_802DBB94:
/* 802DBB94 002D8AD4 7F A8 00 50 */ subf r29, r8, r0
/* 802DBB98 002D8AD8 7C 1C E8 00 */ cmpw r28, r29
/* 802DBB9C 002D8ADC 40 81 00 08 */ ble lbl_802DBBA4
/* 802DBBA0 002D8AE0 7F BC EB 78 */ mr r28, r29
lbl_802DBBA4:
/* 802DBBA4 002D8AE4 7F C4 42 14 */ add r30, r4, r8
/* 802DBBA8 002D8AE8 7F 89 03 A6 */ mtctr r28
/* 802DBBAC 002D8AEC 2C 1C 00 00 */ cmpwi r28, 0
/* 802DBBB0 002D8AF0 40 81 00 3C */ ble lbl_802DBBEC
lbl_802DBBB4:
/* 802DBBB4 002D8AF4 28 06 00 00 */ cmplwi r6, 0
/* 802DBBB8 002D8AF8 40 82 00 1C */ bne lbl_802DBBD4
/* 802DBBBC 002D8AFC 3B BB FF FF */ addi r29, r27, -1
/* 802DBBC0 002D8B00 7F A4 E8 AE */ lbzx r29, r4, r29
/* 802DBBC4 002D8B04 9B BE 00 00 */ stb r29, 0(r30)
/* 802DBBC8 002D8B08 34 A5 FF FF */ addic. r5, r5, -1
/* 802DBBCC 002D8B0C 40 82 00 0C */ bne lbl_802DBBD8
/* 802DBBD0 002D8B10 48 00 00 2C */ b lbl_802DBBFC
lbl_802DBBD4:
/* 802DBBD4 002D8B14 38 C6 FF FF */ addi r6, r6, -1
lbl_802DBBD8:
/* 802DBBD8 002D8B18 39 08 00 01 */ addi r8, r8, 1
/* 802DBBDC 002D8B1C 3B FF 00 01 */ addi r31, r31, 1
/* 802DBBE0 002D8B20 3B DE 00 01 */ addi r30, r30, 1
/* 802DBBE4 002D8B24 3B 7B 00 01 */ addi r27, r27, 1
/* 802DBBE8 002D8B28 42 00 FF CC */ bdnz lbl_802DBBB4
lbl_802DBBEC:
/* 802DBBEC 002D8B2C 55 6B 08 3C */ slwi r11, r11, 1
/* 802DBBF0 002D8B30 7C 08 00 00 */ cmpw r8, r0
/* 802DBBF4 002D8B34 39 4A FF FF */ addi r10, r10, -1
/* 802DBBF8 002D8B38 41 80 FE F8 */ blt lbl_802DBAF0
lbl_802DBBFC:
/* 802DBBFC 002D8B3C 39 61 00 20 */ addi r11, r1, 0x20
/* 802DBC00 002D8B40 48 08 66 21 */ bl _restgpr_27
/* 802DBC04 002D8B44 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802DBC08 002D8B48 7C 08 03 A6 */ mtlr r0
/* 802DBC0C 002D8B4C 38 21 00 20 */ addi r1, r1, 0x20
/* 802DBC10 002D8B50 4E 80 00 20 */ blr
@@ -1,69 +0,0 @@
/* decodeSZS__9JKRDecompFPUcPUcUlUl __ct__9JKRDecompFl::decodeSZS(unsigned char *, unsigned char *, unsigned long, unsigned long) */
/* JKRDecomp_NS_decodeSZS */
/* 802DBC14 002D8B54 39 20 00 00 */ li r9, 0
/* 802DBC18 002D8B58 80 03 00 04 */ lwz r0, 4(r3)
/* 802DBC1C 002D8B5C 7C 04 02 14 */ add r0, r4, r0
/* 802DBC20 002D8B60 7C E6 00 50 */ subf r7, r6, r0
/* 802DBC24 002D8B64 28 05 00 00 */ cmplwi r5, 0
/* 802DBC28 002D8B68 4D 82 00 20 */ beqlr
/* 802DBC2C 002D8B6C 80 03 00 00 */ lwz r0, 0(r3)
/* 802DBC30 002D8B70 7C 06 00 40 */ cmplw r6, r0
/* 802DBC34 002D8B74 4D 81 00 20 */ bgtlr
/* 802DBC38 002D8B78 39 63 00 10 */ addi r11, r3, 0x10
lbl_802DBC3C:
/* 802DBC3C 002D8B7C 2C 09 00 00 */ cmpwi r9, 0
/* 802DBC40 002D8B80 40 82 00 10 */ bne lbl_802DBC50
/* 802DBC44 002D8B84 89 4B 00 00 */ lbz r10, 0(r11)
/* 802DBC48 002D8B88 39 20 00 08 */ li r9, 8
/* 802DBC4C 002D8B8C 39 6B 00 01 */ addi r11, r11, 1
lbl_802DBC50:
/* 802DBC50 002D8B90 55 40 06 31 */ rlwinm. r0, r10, 0, 0x18, 0x18
/* 802DBC54 002D8B94 41 82 00 30 */ beq lbl_802DBC84
/* 802DBC58 002D8B98 28 06 00 00 */ cmplwi r6, 0
/* 802DBC5C 002D8B9C 40 82 00 1C */ bne lbl_802DBC78
/* 802DBC60 002D8BA0 88 0B 00 00 */ lbz r0, 0(r11)
/* 802DBC64 002D8BA4 98 04 00 00 */ stb r0, 0(r4)
/* 802DBC68 002D8BA8 34 A5 FF FF */ addic. r5, r5, -1
/* 802DBC6C 002D8BAC 38 84 00 01 */ addi r4, r4, 1
/* 802DBC70 002D8BB0 40 82 00 0C */ bne lbl_802DBC7C
/* 802DBC74 002D8BB4 4E 80 00 20 */ blr
lbl_802DBC78:
/* 802DBC78 002D8BB8 38 C6 FF FF */ addi r6, r6, -1
lbl_802DBC7C:
/* 802DBC7C 002D8BBC 39 6B 00 01 */ addi r11, r11, 1
/* 802DBC80 002D8BC0 48 00 00 64 */ b lbl_802DBCE4
lbl_802DBC84:
/* 802DBC84 002D8BC4 88 0B 00 01 */ lbz r0, 1(r11)
/* 802DBC88 002D8BC8 88 6B 00 00 */ lbz r3, 0(r11)
/* 802DBC8C 002D8BCC 50 60 45 2E */ rlwimi r0, r3, 8, 0x14, 0x17
/* 802DBC90 002D8BD0 7C 63 26 71 */ srawi. r3, r3, 4
/* 802DBC94 002D8BD4 7D 00 20 50 */ subf r8, r0, r4
/* 802DBC98 002D8BD8 39 6B 00 02 */ addi r11, r11, 2
/* 802DBC9C 002D8BDC 40 82 00 14 */ bne lbl_802DBCB0
/* 802DBCA0 002D8BE0 88 6B 00 00 */ lbz r3, 0(r11)
/* 802DBCA4 002D8BE4 38 63 00 12 */ addi r3, r3, 0x12
/* 802DBCA8 002D8BE8 39 6B 00 01 */ addi r11, r11, 1
/* 802DBCAC 002D8BEC 48 00 00 08 */ b lbl_802DBCB4
lbl_802DBCB0:
/* 802DBCB0 002D8BF0 38 63 00 02 */ addi r3, r3, 2
lbl_802DBCB4:
/* 802DBCB4 002D8BF4 28 06 00 00 */ cmplwi r6, 0
/* 802DBCB8 002D8BF8 40 82 00 1C */ bne lbl_802DBCD4
/* 802DBCBC 002D8BFC 88 08 FF FF */ lbz r0, -1(r8)
/* 802DBCC0 002D8C00 98 04 00 00 */ stb r0, 0(r4)
/* 802DBCC4 002D8C04 34 A5 FF FF */ addic. r5, r5, -1
/* 802DBCC8 002D8C08 38 84 00 01 */ addi r4, r4, 1
/* 802DBCCC 002D8C0C 40 82 00 0C */ bne lbl_802DBCD8
/* 802DBCD0 002D8C10 4E 80 00 20 */ blr
lbl_802DBCD4:
/* 802DBCD4 002D8C14 38 C6 FF FF */ addi r6, r6, -1
lbl_802DBCD8:
/* 802DBCD8 002D8C18 34 63 FF FF */ addic. r3, r3, -1
/* 802DBCDC 002D8C1C 39 08 00 01 */ addi r8, r8, 1
/* 802DBCE0 002D8C20 40 82 FF D4 */ bne lbl_802DBCB4
lbl_802DBCE4:
/* 802DBCE4 002D8C24 55 4A 08 3C */ slwi r10, r10, 1
/* 802DBCE8 002D8C28 7C 04 38 40 */ cmplw r4, r7
/* 802DBCEC 002D8C2C 39 29 FF FF */ addi r9, r9, -1
/* 802DBCF0 002D8C30 40 82 FF 4C */ bne lbl_802DBC3C
/* 802DBCF4 002D8C34 4E 80 00 20 */ blr
+7
View File
@@ -0,0 +1,7 @@
#ifndef JKRDISPOSER_H
#define JKRDISPOSER_H
#include "dolphin/types.h"
#endif /* JKRDISPOSER_H */
@@ -1,19 +0,0 @@
#ifndef JKRDISPOSER_H_
#define JKRDISPOSER_H_
#include "JSystem/JSupport/JSUList/JSUList.h"
#include "dolphin/types.h"
class JKRHeap;
class JKRDisposer {
public:
JKRDisposer();
virtual ~JKRDisposer();
public:
/* 0x00 */ // vtable
/* 0x04 */ JKRHeap* mHeap;
/* 0x08 */ JSULink<JKRDisposer> mLink;
};
#endif
@@ -0,0 +1,7 @@
#ifndef JKRDVDARAMRIPPER_H
#define JKRDVDARAMRIPPER_H
#include "dolphin/types.h"
#endif /* JKRDVDARAMRIPPER_H */
@@ -1,27 +0,0 @@
#ifndef JKRDVDARAMRIPPER_H_
#define JKRDVDARAMRIPPER_H_
#include "JSystem/JKernel/JKRDvdRipper/JKRDvdRipper.h"
#include "JSystem/JSupport/JSUFileInputStream/JSUFileInputStream.h"
#include "dolphin/types.h"
class JKRADCommand {
public:
JKRADCommand();
~JKRADCommand();
};
class JKRDvdFile;
class JKRDvdAramRipper {
public:
static void loadToAram(long, u32, JKRExpandSwitch, u32, u32, u32*);
static void loadToAram(JKRDvdFile*, u32, JKRExpandSwitch, u32, u32, u32*);
static void loadToAram_Async(JKRDvdFile*, u32, JKRExpandSwitch, void (*)(u32), u32, u32, u32*);
static void callCommand_Async(JKRADCommand*);
static void syncAram(JKRADCommand*, int);
};
void JKRDecompressFromDVDToAram(JKRDvdFile*, u32, u32, u32, u32, u32, u32*);
void dmaBufferFlush(u32);
#endif
@@ -1,45 +0,0 @@
/* loadToAram__16JKRDvdAramRipperFlUl15JKRExpandSwitchUlUlPUl JKRDvdAramRipper::loadToAram(long, unsigned long, JKRExpandSwitch, unsigned long, unsigned long, unsigned long *) */
/* JKRDvdAramRipper_NS_loadToAram */
/* 802DA874 002D77B4 94 21 FE E0 */ stwu r1, -0x120(r1)
/* 802DA878 002D77B8 7C 08 02 A6 */ mflr r0
/* 802DA87C 002D77BC 90 01 01 24 */ stw r0, 0x124(r1)
/* 802DA880 002D77C0 39 61 01 20 */ addi r11, r1, 0x120
/* 802DA884 002D77C4 48 08 79 4D */ bl _savegpr_26
/* 802DA888 002D77C8 7C 7A 1B 78 */ mr r26, r3
/* 802DA88C 002D77CC 7C 9B 23 78 */ mr r27, r4
/* 802DA890 002D77D0 7C BC 2B 78 */ mr r28, r5
/* 802DA894 002D77D4 7C DD 33 78 */ mr r29, r6
/* 802DA898 002D77D8 7C FE 3B 78 */ mr r30, r7
/* 802DA89C 002D77DC 7D 1F 43 78 */ mr r31, r8
/* 802DA8A0 002D77E0 38 61 00 08 */ addi r3, r1, 8
/* 802DA8A4 002D77E4 4B FF EC E1 */ bl __ct__10JKRDvdFileFv
/* 802DA8A8 002D77E8 38 61 00 08 */ addi r3, r1, 8
/* 802DA8AC 002D77EC 7F 44 D3 78 */ mr r4, r26
/* 802DA8B0 002D77F0 4B FF F0 15 */ bl open__10JKRDvdFileFl
/* 802DA8B4 002D77F4 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 802DA8B8 002D77F8 40 82 00 18 */ bne lbl_802DA8D0
/* 802DA8BC 002D77FC 38 61 00 08 */ addi r3, r1, 8
/* 802DA8C0 002D7800 38 80 FF FF */ li r4, -1
/* 802DA8C4 002D7804 4B FF EE 85 */ bl __dt__10JKRDvdFileFv
/* 802DA8C8 002D7808 38 60 00 00 */ li r3, 0
/* 802DA8CC 002D780C 48 00 00 34 */ b lbl_802DA900
lbl_802DA8D0:
/* 802DA8D0 002D7810 38 61 00 08 */ addi r3, r1, 8
/* 802DA8D4 002D7814 7F 64 DB 78 */ mr r4, r27
/* 802DA8D8 002D7818 7F 85 E3 78 */ mr r5, r28
/* 802DA8DC 002D781C 7F A6 EB 78 */ mr r6, r29
/* 802DA8E0 002D7820 7F C7 F3 78 */ mr r7, r30
/* 802DA8E4 002D7824 7F E8 FB 78 */ mr r8, r31
/* 802DA8E8 002D7828 48 00 00 31 */ bl loadToAram__16JKRDvdAramRipperFP10JKRDvdFileUl15JKRExpandSwitchUlUlPUl
/* 802DA8EC 002D782C 7C 7F 1B 78 */ mr r31, r3
/* 802DA8F0 002D7830 38 61 00 08 */ addi r3, r1, 8
/* 802DA8F4 002D7834 38 80 FF FF */ li r4, -1
/* 802DA8F8 002D7838 4B FF EE 51 */ bl __dt__10JKRDvdFileFv
/* 802DA8FC 002D783C 7F E3 FB 78 */ mr r3, r31
lbl_802DA900:
/* 802DA900 002D7840 39 61 01 20 */ addi r11, r1, 0x120
/* 802DA904 002D7844 48 08 79 19 */ bl _restgpr_26
/* 802DA908 002D7848 80 01 01 24 */ lwz r0, 0x124(r1)
/* 802DA90C 002D784C 7C 08 03 A6 */ mtlr r0
/* 802DA910 002D7850 38 21 01 20 */ addi r1, r1, 0x120
/* 802DA914 002D7854 4E 80 00 20 */ blr
@@ -1,47 +0,0 @@
/* loadToAram__16JKRDvdAramRipperFP10JKRDvdFileUl15JKRExpandSwitchUlUlPUl JKRDvdAramRipper::loadToAram(JKRDvdFile *, unsigned long, JKRExpandSwitch, unsigned long, unsigned long, unsigned long *) */
/* JKRDvdAramRipper_NS_loadToAram_X1_ */
/* 802DA918 002D7858 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802DA91C 002D785C 7C 08 02 A6 */ mflr r0
/* 802DA920 002D7860 90 01 00 14 */ stw r0, 0x14(r1)
/* 802DA924 002D7864 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802DA928 002D7868 93 C1 00 08 */ stw r30, 8(r1)
/* 802DA92C 002D786C 7C 9E 23 78 */ mr r30, r4
/* 802DA930 002D7870 7C CA 33 78 */ mr r10, r6
/* 802DA934 002D7874 7C E0 3B 78 */ mr r0, r7
/* 802DA938 002D7878 7D 09 43 78 */ mr r9, r8
/* 802DA93C 002D787C 38 C0 00 00 */ li r6, 0
/* 802DA940 002D7880 7D 47 53 78 */ mr r7, r10
/* 802DA944 002D7884 7C 08 03 78 */ mr r8, r0
/* 802DA948 002D7888 48 00 00 79 */ bl loadToAram_Async__16JKRDvdAramRipperFP10JKRDvdFileUl15JKRExpandSwitchPFUl_vUlUlPUl
/* 802DA94C 002D788C 7C 7F 1B 78 */ mr r31, r3
/* 802DA950 002D7890 38 80 00 00 */ li r4, 0
/* 802DA954 002D7894 48 00 04 F5 */ bl syncAram__16JKRDvdAramRipperFP12JKRADCommandi
/* 802DA958 002D7898 80 1F 00 48 */ lwz r0, 0x48(r31)
/* 802DA95C 002D789C 2C 00 00 00 */ cmpwi r0, 0
/* 802DA960 002D78A0 40 80 00 18 */ bge lbl_802DA978
/* 802DA964 002D78A4 7F E3 FB 78 */ mr r3, r31
/* 802DA968 002D78A8 38 80 00 01 */ li r4, 1
/* 802DA96C 002D78AC 48 00 05 F1 */ bl __dt__12JKRADCommandFv
/* 802DA970 002D78B0 38 60 00 00 */ li r3, 0
/* 802DA974 002D78B4 48 00 00 34 */ b lbl_802DA9A8
lbl_802DA978:
/* 802DA978 002D78B8 28 1E 00 00 */ cmplwi r30, 0
/* 802DA97C 002D78BC 41 82 00 18 */ beq lbl_802DA994
/* 802DA980 002D78C0 7F E3 FB 78 */ mr r3, r31
/* 802DA984 002D78C4 38 80 00 01 */ li r4, 1
/* 802DA988 002D78C8 48 00 05 D5 */ bl __dt__12JKRADCommandFv
/* 802DA98C 002D78CC 38 60 FF FF */ li r3, -1
/* 802DA990 002D78D0 48 00 00 18 */ b lbl_802DA9A8
lbl_802DA994:
/* 802DA994 002D78D4 83 DF 00 30 */ lwz r30, 0x30(r31)
/* 802DA998 002D78D8 7F E3 FB 78 */ mr r3, r31
/* 802DA99C 002D78DC 38 80 00 01 */ li r4, 1
/* 802DA9A0 002D78E0 48 00 05 BD */ bl __dt__12JKRADCommandFv
/* 802DA9A4 002D78E4 7F C3 F3 78 */ mr r3, r30
lbl_802DA9A8:
/* 802DA9A8 002D78E8 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802DA9AC 002D78EC 83 C1 00 08 */ lwz r30, 8(r1)
/* 802DA9B0 002D78F0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802DA9B4 002D78F4 7C 08 03 A6 */ mtlr r0
/* 802DA9B8 002D78F8 38 21 00 10 */ addi r1, r1, 0x10
/* 802DA9BC 002D78FC 4E 80 00 20 */ blr
@@ -1,50 +0,0 @@
/* loadToAram_Async__16JKRDvdAramRipperFP10JKRDvdFileUl15JKRExpandSwitchPFUl_vUlUlPUl JKRDvdAramRipper::loadToAram_Async(JKRDvdFile *, unsigned long, JKRExpandSwitch, void (*)(unsigned long), unsigned long, unsigned long, unsigned long *) */
/* JKRDvdAramRipper_NS_loadToAram_Async */
/* 802DA9C0 002D7900 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 802DA9C4 002D7904 7C 08 02 A6 */ mflr r0
/* 802DA9C8 002D7908 90 01 00 34 */ stw r0, 0x34(r1)
/* 802DA9CC 002D790C 39 61 00 30 */ addi r11, r1, 0x30
/* 802DA9D0 002D7910 48 08 77 F9 */ bl _savegpr_24
/* 802DA9D4 002D7914 7C 78 1B 78 */ mr r24, r3
/* 802DA9D8 002D7918 7C 99 23 78 */ mr r25, r4
/* 802DA9DC 002D791C 7C BA 2B 78 */ mr r26, r5
/* 802DA9E0 002D7920 7C DB 33 78 */ mr r27, r6
/* 802DA9E4 002D7924 7C FC 3B 78 */ mr r28, r7
/* 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, 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
/* 802DAA04 002D7944 41 82 00 0C */ beq lbl_802DAA10
/* 802DAA08 002D7948 48 00 05 15 */ bl __ct__12JKRADCommandFv
/* 802DAA0C 002D794C 7C 7F 1B 78 */ mr r31, r3
lbl_802DAA10:
/* 802DAA10 002D7950 93 1F 00 28 */ stw r24, 0x28(r31)
/* 802DAA14 002D7954 93 3F 00 2C */ stw r25, 0x2c(r31)
/* 802DAA18 002D7958 38 00 00 00 */ li r0, 0
/* 802DAA1C 002D795C 90 1F 00 30 */ stw r0, 0x30(r31)
/* 802DAA20 002D7960 93 5F 00 34 */ stw r26, 0x34(r31)
/* 802DAA24 002D7964 93 7F 00 38 */ stw r27, 0x38(r31)
/* 802DAA28 002D7968 93 9F 00 3C */ stw r28, 0x3c(r31)
/* 802DAA2C 002D796C 93 BF 00 40 */ stw r29, 0x40(r31)
/* 802DAA30 002D7970 93 DF 00 44 */ stw r30, 0x44(r31)
/* 802DAA34 002D7974 7F E3 FB 78 */ mr r3, r31
/* 802DAA38 002D7978 48 00 00 3D */ bl callCommand_Async__16JKRDvdAramRipperFP12JKRADCommand
/* 802DAA3C 002D797C 28 03 00 00 */ cmplwi r3, 0
/* 802DAA40 002D7980 40 82 00 18 */ bne lbl_802DAA58
/* 802DAA44 002D7984 7F E3 FB 78 */ mr r3, r31
/* 802DAA48 002D7988 38 80 00 01 */ li r4, 1
/* 802DAA4C 002D798C 48 00 05 11 */ bl __dt__12JKRADCommandFv
/* 802DAA50 002D7990 38 60 00 00 */ li r3, 0
/* 802DAA54 002D7994 48 00 00 08 */ b lbl_802DAA5C
lbl_802DAA58:
/* 802DAA58 002D7998 7F E3 FB 78 */ mr r3, r31
lbl_802DAA5C:
/* 802DAA5C 002D799C 39 61 00 30 */ addi r11, r1, 0x30
/* 802DAA60 002D79A0 48 08 77 B5 */ bl _restgpr_24
/* 802DAA64 002D79A4 80 01 00 34 */ lwz r0, 0x34(r1)
/* 802DAA68 002D79A8 7C 08 03 A6 */ mtlr r0
/* 802DAA6C 002D79AC 38 21 00 30 */ addi r1, r1, 0x30
/* 802DAA70 002D79B0 4E 80 00 20 */ blr
@@ -1,244 +0,0 @@
/* callCommand_Async__16JKRDvdAramRipperFP12JKRADCommand JKRDvdAramRipper::callCommand_Async(JKRADCommand *) */
/* JKRDvdAramRipper_NS_callCommand_Async */
/* 802DAA74 002D79B4 94 21 FF 90 */ stwu r1, -0x70(r1)
/* 802DAA78 002D79B8 7C 08 02 A6 */ mflr r0
/* 802DAA7C 002D79BC 90 01 00 74 */ stw r0, 0x74(r1)
/* 802DAA80 002D79C0 39 61 00 70 */ addi r11, r1, 0x70
/* 802DAA84 002D79C4 48 08 77 49 */ bl _savegpr_25
/* 802DAA88 002D79C8 7C 7D 1B 78 */ mr r29, r3
/* 802DAA8C 002D79CC 3B E0 00 01 */ li r31, 1
/* 802DAA90 002D79D0 83 C3 00 28 */ lwz r30, 0x28(r3)
/* 802DAA94 002D79D4 3B 40 00 00 */ li r26, 0
/* 802DAA98 002D79D8 38 7E 00 34 */ addi r3, r30, 0x34
/* 802DAA9C 002D79DC 48 06 45 A5 */ bl OSLockMutex
/* 802DAAA0 002D79E0 80 7D 00 44 */ lwz r3, 0x44(r29)
/* 802DAAA4 002D79E4 28 03 00 00 */ cmplwi r3, 0
/* 802DAAA8 002D79E8 41 82 00 0C */ beq lbl_802DAAB4
/* 802DAAAC 002D79EC 38 00 00 00 */ li r0, 0
/* 802DAAB0 002D79F0 90 03 00 00 */ stw r0, 0(r3)
lbl_802DAAB4:
/* 802DAAB4 002D79F4 80 1E 00 50 */ lwz r0, 0x50(r30)
/* 802DAAB8 002D79F8 28 00 00 00 */ cmplwi r0, 0
/* 802DAABC 002D79FC 41 82 00 0C */ beq lbl_802DAAC8
/* 802DAAC0 002D7A00 3B E0 00 00 */ li r31, 0
/* 802DAAC4 002D7A04 48 00 02 DC */ b lbl_802DADA0
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, 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
/* 802DAAE4 002D7A24 41 82 00 10 */ beq lbl_802DAAF4
/* 802DAAE8 002D7A28 7F C4 F3 78 */ mr r4, r30
/* 802DAAEC 002D7A2C 48 00 1B 4D */ bl __ct__18JSUFileInputStreamFP7JKRFile
/* 802DAAF0 002D7A30 7C 7C 1B 78 */ mr r28, r3
lbl_802DAAF4:
/* 802DAAF4 002D7A34 93 9E 00 54 */ stw r28, 0x54(r30)
/* 802DAAF8 002D7A38 7F C3 F3 78 */ mr r3, r30
/* 802DAAFC 002D7A3C 81 9E 00 00 */ lwz r12, 0(r30)
/* 802DAB00 002D7A40 81 8C 00 1C */ lwz r12, 0x1c(r12)
/* 802DAB04 002D7A44 7D 89 03 A6 */ mtctr r12
/* 802DAB08 002D7A48 4E 80 04 21 */ bctrl
/* 802DAB0C 002D7A4C 80 1D 00 40 */ lwz r0, 0x40(r29)
/* 802DAB10 002D7A50 28 00 00 00 */ cmplwi r0, 0
/* 802DAB14 002D7A54 41 82 00 10 */ beq lbl_802DAB24
/* 802DAB18 002D7A58 7C 03 00 40 */ cmplw r3, r0
/* 802DAB1C 002D7A5C 40 81 00 08 */ ble lbl_802DAB24
/* 802DAB20 002D7A60 7C 03 03 78 */ mr r3, r0
lbl_802DAB24:
/* 802DAB24 002D7A64 38 03 00 1F */ addi r0, r3, 0x1f
/* 802DAB28 002D7A68 54 1B 00 34 */ rlwinm r27, r0, 0, 0, 0x1a
/* 802DAB2C 002D7A6C 80 1D 00 34 */ lwz r0, 0x34(r29)
/* 802DAB30 002D7A70 2C 00 00 01 */ cmpwi r0, 1
/* 802DAB34 002D7A74 40 82 00 C8 */ bne lbl_802DABFC
/* 802DAB38 002D7A78 38 01 00 27 */ addi r0, r1, 0x27
/* 802DAB3C 002D7A7C 54 19 00 34 */ rlwinm r25, r0, 0, 0, 0x1a
lbl_802DAB40:
/* 802DAB40 002D7A80 38 7E 00 5C */ addi r3, r30, 0x5c
/* 802DAB44 002D7A84 7F 24 CB 78 */ mr r4, r25
/* 802DAB48 002D7A88 38 A0 00 20 */ li r5, 0x20
/* 802DAB4C 002D7A8C 38 C0 00 00 */ li r6, 0
/* 802DAB50 002D7A90 38 E0 00 02 */ li r7, 2
/* 802DAB54 002D7A94 48 06 E2 F1 */ bl DVDReadPrio
/* 802DAB58 002D7A98 2C 03 00 00 */ cmpwi r3, 0
/* 802DAB5C 002D7A9C 40 80 00 40 */ bge lbl_802DAB9C
/* 802DAB60 002D7AA0 88 0D 83 50 */ lbz r0, lbl_804508D0-_SDA_BASE_(r13)
/* 802DAB64 002D7AA4 28 00 00 00 */ cmplwi r0, 0
/* 802DAB68 002D7AA8 40 82 00 2C */ bne lbl_802DAB94
/* 802DAB6C 002D7AAC 28 1C 00 00 */ cmplwi r28, 0
/* 802DAB70 002D7AB0 41 82 00 1C */ beq lbl_802DAB8C
/* 802DAB74 002D7AB4 7F 83 E3 78 */ mr r3, r28
/* 802DAB78 002D7AB8 38 80 00 01 */ li r4, 1
/* 802DAB7C 002D7ABC 81 9C 00 00 */ lwz r12, 0(r28)
/* 802DAB80 002D7AC0 81 8C 00 08 */ lwz r12, 8(r12)
/* 802DAB84 002D7AC4 7D 89 03 A6 */ mtctr r12
/* 802DAB88 002D7AC8 4E 80 04 21 */ bctrl
lbl_802DAB8C:
/* 802DAB8C 002D7ACC 38 60 00 00 */ li r3, 0
/* 802DAB90 002D7AD0 48 00 02 30 */ b lbl_802DADC0
lbl_802DAB94:
/* 802DAB94 002D7AD4 48 07 1E 31 */ bl VIWaitForRetrace
/* 802DAB98 002D7AD8 4B FF FF A8 */ b lbl_802DAB40
lbl_802DAB9C:
/* 802DAB9C 002D7ADC 7F 23 CB 78 */ mr r3, r25
/* 802DABA0 002D7AE0 38 80 00 20 */ li r4, 0x20
/* 802DABA4 002D7AE4 48 06 09 DD */ bl DCInvalidateRange
/* 802DABA8 002D7AE8 7F 23 CB 78 */ mr r3, r25
/* 802DABAC 002D7AEC 48 00 11 4D */ bl checkCompressed__9JKRDecompFPUc
/* 802DABB0 002D7AF0 2C 03 00 03 */ cmpwi r3, 3
/* 802DABB4 002D7AF4 40 82 00 08 */ bne lbl_802DABBC
/* 802DABB8 002D7AF8 38 60 00 00 */ li r3, 0
lbl_802DABBC:
/* 802DABBC 002D7AFC 7C 7A 1B 78 */ mr r26, r3
/* 802DABC0 002D7B00 88 B9 00 07 */ lbz r5, 7(r25)
/* 802DABC4 002D7B04 88 99 00 06 */ lbz r4, 6(r25)
/* 802DABC8 002D7B08 88 79 00 04 */ lbz r3, 4(r25)
/* 802DABCC 002D7B0C 88 19 00 05 */ lbz r0, 5(r25)
/* 802DABD0 002D7B10 54 00 80 1E */ slwi r0, r0, 0x10
/* 802DABD4 002D7B14 50 60 C0 0E */ rlwimi r0, r3, 0x18, 0, 7
/* 802DABD8 002D7B18 50 80 44 2E */ rlwimi r0, r4, 8, 0x10, 0x17
/* 802DABDC 002D7B1C 7C A0 03 78 */ or r0, r5, r0
/* 802DABE0 002D7B20 7C 19 03 78 */ mr r25, r0
/* 802DABE4 002D7B24 80 7D 00 40 */ lwz r3, 0x40(r29)
/* 802DABE8 002D7B28 28 03 00 00 */ cmplwi r3, 0
/* 802DABEC 002D7B2C 41 82 00 10 */ beq lbl_802DABFC
/* 802DABF0 002D7B30 7C 00 18 40 */ cmplw r0, r3
/* 802DABF4 002D7B34 40 81 00 08 */ ble lbl_802DABFC
/* 802DABF8 002D7B38 7C 79 1B 78 */ mr r25, r3
lbl_802DABFC:
/* 802DABFC 002D7B3C 2C 1A 00 00 */ cmpwi r26, 0
/* 802DAC00 002D7B40 40 82 00 0C */ bne lbl_802DAC0C
/* 802DAC04 002D7B44 38 00 00 00 */ li r0, 0
/* 802DAC08 002D7B48 90 1D 00 34 */ stw r0, 0x34(r29)
lbl_802DAC0C:
/* 802DAC0C 002D7B4C 80 1D 00 34 */ lwz r0, 0x34(r29)
/* 802DAC10 002D7B50 2C 00 00 01 */ cmpwi r0, 1
/* 802DAC14 002D7B54 40 82 00 80 */ bne lbl_802DAC94
/* 802DAC18 002D7B58 80 1D 00 2C */ lwz r0, 0x2c(r29)
/* 802DAC1C 002D7B5C 28 00 00 00 */ cmplwi r0, 0
/* 802DAC20 002D7B60 40 82 00 44 */ bne lbl_802DAC64
/* 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, 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
/* 802DAC40 002D7B80 4B FF 83 7D */ bl alloc__11JKRAramHeapFUlQ211JKRAramHeap10EAllocMode
/* 802DAC44 002D7B84 90 7D 00 30 */ stw r3, 0x30(r29)
/* 802DAC48 002D7B88 80 7D 00 30 */ lwz r3, 0x30(r29)
/* 802DAC4C 002D7B8C 28 03 00 00 */ cmplwi r3, 0
/* 802DAC50 002D7B90 41 82 00 0C */ beq lbl_802DAC5C
/* 802DAC54 002D7B94 80 03 00 14 */ lwz r0, 0x14(r3)
/* 802DAC58 002D7B98 90 1D 00 2C */ stw r0, 0x2c(r29)
lbl_802DAC5C:
/* 802DAC5C 002D7B9C 80 1D 00 30 */ lwz r0, 0x30(r29)
/* 802DAC60 002D7BA0 90 1E 00 4C */ stw r0, 0x4c(r30)
lbl_802DAC64:
/* 802DAC64 002D7BA4 80 7D 00 30 */ lwz r3, 0x30(r29)
/* 802DAC68 002D7BA8 28 03 00 00 */ cmplwi r3, 0
/* 802DAC6C 002D7BAC 41 82 00 0C */ beq lbl_802DAC78
/* 802DAC70 002D7BB0 80 03 00 14 */ lwz r0, 0x14(r3)
/* 802DAC74 002D7BB4 90 1D 00 2C */ stw r0, 0x2c(r29)
lbl_802DAC78:
/* 802DAC78 002D7BB8 80 1D 00 2C */ lwz r0, 0x2c(r29)
/* 802DAC7C 002D7BBC 28 00 00 00 */ cmplwi r0, 0
/* 802DAC80 002D7BC0 40 82 00 74 */ bne lbl_802DACF4
/* 802DAC84 002D7BC4 38 00 00 00 */ li r0, 0
/* 802DAC88 002D7BC8 90 1E 00 50 */ stw r0, 0x50(r30)
/* 802DAC8C 002D7BCC 38 60 00 00 */ li r3, 0
/* 802DAC90 002D7BD0 48 00 01 30 */ b lbl_802DADC0
lbl_802DAC94:
/* 802DAC94 002D7BD4 80 1D 00 2C */ lwz r0, 0x2c(r29)
/* 802DAC98 002D7BD8 28 00 00 00 */ cmplwi r0, 0
/* 802DAC9C 002D7BDC 40 82 00 28 */ bne lbl_802DACC4
/* 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, 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
/* 802DACBC 002D7BFC 4B FF 83 01 */ bl alloc__11JKRAramHeapFUlQ211JKRAramHeap10EAllocMode
/* 802DACC0 002D7C00 90 7D 00 30 */ stw r3, 0x30(r29)
lbl_802DACC4:
/* 802DACC4 002D7C04 80 7D 00 30 */ lwz r3, 0x30(r29)
/* 802DACC8 002D7C08 28 03 00 00 */ cmplwi r3, 0
/* 802DACCC 002D7C0C 41 82 00 0C */ beq lbl_802DACD8
/* 802DACD0 002D7C10 80 03 00 14 */ lwz r0, 0x14(r3)
/* 802DACD4 002D7C14 90 1D 00 2C */ stw r0, 0x2c(r29)
lbl_802DACD8:
/* 802DACD8 002D7C18 80 1D 00 2C */ lwz r0, 0x2c(r29)
/* 802DACDC 002D7C1C 28 00 00 00 */ cmplwi r0, 0
/* 802DACE0 002D7C20 40 82 00 14 */ bne lbl_802DACF4
/* 802DACE4 002D7C24 38 00 00 00 */ li r0, 0
/* 802DACE8 002D7C28 90 1E 00 50 */ stw r0, 0x50(r30)
/* 802DACEC 002D7C2C 38 60 00 00 */ li r3, 0
/* 802DACF0 002D7C30 48 00 00 D0 */ b lbl_802DADC0
lbl_802DACF4:
/* 802DACF4 002D7C34 2C 1A 00 00 */ cmpwi r26, 0
/* 802DACF8 002D7C38 40 82 00 24 */ bne lbl_802DAD1C
/* 802DACFC 002D7C3C 80 9D 00 2C */ lwz r4, 0x2c(r29)
/* 802DAD00 002D7C40 80 DD 00 3C */ lwz r6, 0x3c(r29)
/* 802DAD04 002D7C44 7F 83 E3 78 */ mr r3, r28
/* 802DAD08 002D7C48 7C A6 D8 50 */ subf r5, r6, r27
/* 802DAD0C 002D7C4C 80 FD 00 44 */ lwz r7, 0x44(r29)
/* 802DAD10 002D7C50 4B FF 91 C1 */ bl write_StreamToAram_Async__13JKRAramStreamFP18JSUFileInputStreamUlUlUlPUl
/* 802DAD14 002D7C54 90 7D 00 50 */ stw r3, 0x50(r29)
/* 802DAD18 002D7C58 48 00 00 5C */ b lbl_802DAD74
lbl_802DAD1C:
/* 802DAD1C 002D7C5C 2C 1A 00 01 */ cmpwi r26, 1
/* 802DAD20 002D7C60 40 82 00 24 */ bne lbl_802DAD44
/* 802DAD24 002D7C64 80 9D 00 2C */ lwz r4, 0x2c(r29)
/* 802DAD28 002D7C68 80 DD 00 3C */ lwz r6, 0x3c(r29)
/* 802DAD2C 002D7C6C 7F 83 E3 78 */ mr r3, r28
/* 802DAD30 002D7C70 7C A6 D8 50 */ subf r5, r6, r27
/* 802DAD34 002D7C74 80 FD 00 44 */ lwz r7, 0x44(r29)
/* 802DAD38 002D7C78 4B FF 91 99 */ bl write_StreamToAram_Async__13JKRAramStreamFP18JSUFileInputStreamUlUlUlPUl
/* 802DAD3C 002D7C7C 90 7D 00 50 */ stw r3, 0x50(r29)
/* 802DAD40 002D7C80 48 00 00 34 */ b lbl_802DAD74
lbl_802DAD44:
/* 802DAD44 002D7C84 2C 1A 00 02 */ cmpwi r26, 2
/* 802DAD48 002D7C88 40 82 00 2C */ bne lbl_802DAD74
/* 802DAD4C 002D7C8C 38 00 00 00 */ li r0, 0
/* 802DAD50 002D7C90 90 1D 00 50 */ stw r0, 0x50(r29)
/* 802DAD54 002D7C94 80 7D 00 28 */ lwz r3, 0x28(r29)
/* 802DAD58 002D7C98 80 9D 00 2C */ lwz r4, 0x2c(r29)
/* 802DAD5C 002D7C9C 7F 65 DB 78 */ mr r5, r27
/* 802DAD60 002D7CA0 7F 26 CB 78 */ mr r6, r25
/* 802DAD64 002D7CA4 80 FD 00 3C */ lwz r7, 0x3c(r29)
/* 802DAD68 002D7CA8 39 00 00 00 */ li r8, 0
/* 802DAD6C 002D7CAC 81 3D 00 44 */ lwz r9, 0x44(r29)
/* 802DAD70 002D7CB0 48 00 02 79 */ bl JKRDecompressFromDVDToAram__FP10JKRDvdFileUlUlUlUlUlPUl
lbl_802DAD74:
/* 802DAD74 002D7CB4 81 9D 00 38 */ lwz r12, 0x38(r29)
/* 802DAD78 002D7CB8 28 0C 00 00 */ cmplwi r12, 0
/* 802DAD7C 002D7CBC 40 82 00 18 */ bne lbl_802DAD94
/* 802DAD80 002D7CC0 3C 60 80 43 */ lis r3, lbl_804343B4@ha
/* 802DAD84 002D7CC4 38 63 43 B4 */ addi r3, r3, lbl_804343B4@l
/* 802DAD88 002D7CC8 7F A4 EB 78 */ mr r4, r29
/* 802DAD8C 002D7CCC 48 00 11 C1 */ bl append__10JSUPtrListFP10JSUPtrLink
/* 802DAD90 002D7CD0 48 00 00 10 */ b lbl_802DADA0
lbl_802DAD94:
/* 802DAD94 002D7CD4 7F A3 EB 78 */ mr r3, r29
/* 802DAD98 002D7CD8 7D 89 03 A6 */ mtctr r12
/* 802DAD9C 002D7CDC 4E 80 04 21 */ bctrl
lbl_802DADA0:
/* 802DADA0 002D7CE0 38 7E 00 34 */ addi r3, r30, 0x34
/* 802DADA4 002D7CE4 48 06 43 79 */ bl OSUnlockMutex
/* 802DADA8 002D7CE8 57 E0 06 3E */ clrlwi r0, r31, 0x18
/* 802DADAC 002D7CEC 28 00 00 01 */ cmplwi r0, 1
/* 802DADB0 002D7CF0 40 82 00 0C */ bne lbl_802DADBC
/* 802DADB4 002D7CF4 7F A3 EB 78 */ mr r3, r29
/* 802DADB8 002D7CF8 48 00 00 08 */ b lbl_802DADC0
lbl_802DADBC:
/* 802DADBC 002D7CFC 38 60 00 00 */ li r3, 0
lbl_802DADC0:
/* 802DADC0 002D7D00 39 61 00 70 */ addi r11, r1, 0x70
/* 802DADC4 002D7D04 48 08 74 55 */ bl _restgpr_25
/* 802DADC8 002D7D08 80 01 00 74 */ lwz r0, 0x74(r1)
/* 802DADCC 002D7D0C 7C 08 03 A6 */ mtlr r0
/* 802DADD0 002D7D10 38 21 00 70 */ addi r1, r1, 0x70
/* 802DADD4 002D7D14 4E 80 00 20 */ blr
@@ -1,32 +0,0 @@
/* __dt__18JSUFileInputStreamFv JSUFileInputStream::__dt(void) */
/* missing reference */
/* 802DADD8 002D7D18 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802DADDC 002D7D1C 7C 08 02 A6 */ mflr r0
/* 802DADE0 002D7D20 90 01 00 14 */ stw r0, 0x14(r1)
/* 802DADE4 002D7D24 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802DADE8 002D7D28 93 C1 00 08 */ stw r30, 8(r1)
/* 802DADEC 002D7D2C 7C 7E 1B 79 */ or. r30, r3, r3
/* 802DADF0 002D7D30 7C 9F 23 78 */ mr r31, r4
/* 802DADF4 002D7D34 41 82 00 38 */ beq lbl_802DAE2C
/* 802DADF8 002D7D38 3C 80 80 3D */ lis r4, lbl_803CC518@ha
/* 802DADFC 002D7D3C 38 04 C5 18 */ addi r0, r4, lbl_803CC518@l
/* 802DAE00 002D7D40 90 1E 00 00 */ stw r0, 0(r30)
/* 802DAE04 002D7D44 41 82 00 18 */ beq lbl_802DAE1C
/* 802DAE08 002D7D48 3C 80 80 3D */ lis r4, lbl_803CC4B0@ha
/* 802DAE0C 002D7D4C 38 04 C4 B0 */ addi r0, r4, lbl_803CC4B0@l
/* 802DAE10 002D7D50 90 1E 00 00 */ stw r0, 0(r30)
/* 802DAE14 002D7D54 38 80 00 00 */ li r4, 0
/* 802DAE18 002D7D58 48 00 14 25 */ bl __dt__14JSUInputStreamFv
lbl_802DAE1C:
/* 802DAE1C 002D7D5C 7F E0 07 35 */ extsh. r0, r31
/* 802DAE20 002D7D60 40 81 00 0C */ ble lbl_802DAE2C
/* 802DAE24 002D7D64 7F C3 F3 78 */ mr r3, r30
/* 802DAE28 002D7D68 4B FF 3F 15 */ bl __dl__FPv
lbl_802DAE2C:
/* 802DAE2C 002D7D6C 7F C3 F3 78 */ mr r3, r30
/* 802DAE30 002D7D70 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802DAE34 002D7D74 83 C1 00 08 */ lwz r30, 8(r1)
/* 802DAE38 002D7D78 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802DAE3C 002D7D7C 7C 08 03 A6 */ mtlr r0
/* 802DAE40 002D7D80 38 21 00 10 */ addi r1, r1, 0x10
/* 802DAE44 002D7D84 4E 80 00 20 */ blr
@@ -1,59 +0,0 @@
/* syncAram__16JKRDvdAramRipperFP12JKRADCommandi JKRDvdAramRipper::syncAram(JKRADCommand *, int) */
/* JKRDvdAramRipper_NS_syncAram */
/* 802DAE48 002D7D88 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802DAE4C 002D7D8C 7C 08 02 A6 */ mflr r0
/* 802DAE50 002D7D90 90 01 00 24 */ stw r0, 0x24(r1)
/* 802DAE54 002D7D94 39 61 00 20 */ addi r11, r1, 0x20
/* 802DAE58 002D7D98 48 08 73 85 */ bl _savegpr_29
/* 802DAE5C 002D7D9C 7C 7D 1B 78 */ mr r29, r3
/* 802DAE60 002D7DA0 7C 9E 23 78 */ mr r30, r4
/* 802DAE64 002D7DA4 83 E3 00 28 */ lwz r31, 0x28(r3)
/* 802DAE68 002D7DA8 38 7F 00 34 */ addi r3, r31, 0x34
/* 802DAE6C 002D7DAC 48 06 41 D5 */ bl OSLockMutex
/* 802DAE70 002D7DB0 80 7D 00 50 */ lwz r3, 0x50(r29)
/* 802DAE74 002D7DB4 28 03 00 00 */ cmplwi r3, 0
/* 802DAE78 002D7DB8 41 82 00 38 */ beq lbl_802DAEB0
/* 802DAE7C 002D7DBC 7F C4 F3 78 */ mr r4, r30
/* 802DAE80 002D7DC0 4B FF 91 21 */ bl sync__13JKRAramStreamFP20JKRAramStreamCommandi
/* 802DAE84 002D7DC4 30 03 FF FF */ addic r0, r3, -1
/* 802DAE88 002D7DC8 7C 00 01 10 */ subfe r0, r0, r0
/* 802DAE8C 002D7DCC 90 1D 00 48 */ stw r0, 0x48(r29)
/* 802DAE90 002D7DD0 2C 1E 00 00 */ cmpwi r30, 0
/* 802DAE94 002D7DD4 41 82 00 1C */ beq lbl_802DAEB0
/* 802DAE98 002D7DD8 28 03 00 00 */ cmplwi r3, 0
/* 802DAE9C 002D7DDC 40 82 00 14 */ bne lbl_802DAEB0
/* 802DAEA0 002D7DE0 38 7F 00 34 */ addi r3, r31, 0x34
/* 802DAEA4 002D7DE4 48 06 42 79 */ bl OSUnlockMutex
/* 802DAEA8 002D7DE8 38 60 00 00 */ li r3, 0
/* 802DAEAC 002D7DEC 48 00 00 58 */ b lbl_802DAF04
lbl_802DAEB0:
/* 802DAEB0 002D7DF0 3C 60 80 43 */ lis r3, lbl_804343B4@ha
/* 802DAEB4 002D7DF4 38 63 43 B4 */ addi r3, r3, lbl_804343B4@l
/* 802DAEB8 002D7DF8 7F A4 EB 78 */ mr r4, r29
/* 802DAEBC 002D7DFC 48 00 12 A1 */ bl remove__10JSUPtrListFP10JSUPtrLink
/* 802DAEC0 002D7E00 80 7D 00 50 */ lwz r3, 0x50(r29)
/* 802DAEC4 002D7E04 28 03 00 00 */ cmplwi r3, 0
/* 802DAEC8 002D7E08 41 82 00 08 */ beq lbl_802DAED0
/* 802DAECC 002D7E0C 4B FF 3E 71 */ bl __dl__FPv
lbl_802DAED0:
/* 802DAED0 002D7E10 80 7F 00 54 */ lwz r3, 0x54(r31)
/* 802DAED4 002D7E14 28 03 00 00 */ cmplwi r3, 0
/* 802DAED8 002D7E18 41 82 00 18 */ beq lbl_802DAEF0
/* 802DAEDC 002D7E1C 38 80 00 01 */ li r4, 1
/* 802DAEE0 002D7E20 81 83 00 00 */ lwz r12, 0(r3)
/* 802DAEE4 002D7E24 81 8C 00 08 */ lwz r12, 8(r12)
/* 802DAEE8 002D7E28 7D 89 03 A6 */ mtctr r12
/* 802DAEEC 002D7E2C 4E 80 04 21 */ bctrl
lbl_802DAEF0:
/* 802DAEF0 002D7E30 38 00 00 00 */ li r0, 0
/* 802DAEF4 002D7E34 90 1F 00 50 */ stw r0, 0x50(r31)
/* 802DAEF8 002D7E38 38 7F 00 34 */ addi r3, r31, 0x34
/* 802DAEFC 002D7E3C 48 06 42 21 */ bl OSUnlockMutex
/* 802DAF00 002D7E40 38 60 00 01 */ li r3, 1
lbl_802DAF04:
/* 802DAF04 002D7E44 39 61 00 20 */ addi r11, r1, 0x20
/* 802DAF08 002D7E48 48 08 73 21 */ bl _restgpr_29
/* 802DAF0C 002D7E4C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802DAF10 002D7E50 7C 08 03 A6 */ mtlr r0
/* 802DAF14 002D7E54 38 21 00 20 */ addi r1, r1, 0x20
/* 802DAF18 002D7E58 4E 80 00 20 */ blr
@@ -1,18 +0,0 @@
/* __ct__12JKRADCommandFv __ct__12JKRADCommandFv::__ct(void) */
/* JKRADCommand */
/* 802DAF1C 002D7E5C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802DAF20 002D7E60 7C 08 02 A6 */ mflr r0
/* 802DAF24 002D7E64 90 01 00 14 */ stw r0, 0x14(r1)
/* 802DAF28 002D7E68 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802DAF2C 002D7E6C 7C 7F 1B 78 */ mr r31, r3
/* 802DAF30 002D7E70 7F E4 FB 78 */ mr r4, r31
/* 802DAF34 002D7E74 48 00 0E C9 */ bl __ct__10JSUPtrLinkFPv
/* 802DAF38 002D7E78 38 00 00 00 */ li r0, 0
/* 802DAF3C 002D7E7C 90 1F 00 48 */ stw r0, 0x48(r31)
/* 802DAF40 002D7E80 98 1F 00 4C */ stb r0, 0x4c(r31)
/* 802DAF44 002D7E84 7F E3 FB 78 */ mr r3, r31
/* 802DAF48 002D7E88 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802DAF4C 002D7E8C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802DAF50 002D7E90 7C 08 03 A6 */ mtlr r0
/* 802DAF54 002D7E94 38 21 00 10 */ addi r1, r1, 0x10
/* 802DAF58 002D7E98 4E 80 00 20 */ blr
@@ -1,40 +0,0 @@
/* __dt__12JKRADCommandFv __ct__12JKRADCommandFv::__dt(void) */
/* JKRADCommand_NS_dtor */
/* 802DAF5C 002D7E9C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802DAF60 002D7EA0 7C 08 02 A6 */ mflr r0
/* 802DAF64 002D7EA4 90 01 00 14 */ stw r0, 0x14(r1)
/* 802DAF68 002D7EA8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802DAF6C 002D7EAC 93 C1 00 08 */ stw r30, 8(r1)
/* 802DAF70 002D7EB0 7C 7E 1B 79 */ or. r30, r3, r3
/* 802DAF74 002D7EB4 7C 9F 23 78 */ mr r31, r4
/* 802DAF78 002D7EB8 41 82 00 54 */ beq lbl_802DAFCC
/* 802DAF7C 002D7EBC 88 1E 00 4C */ lbz r0, 0x4c(r30)
/* 802DAF80 002D7EC0 28 00 00 01 */ cmplwi r0, 1
/* 802DAF84 002D7EC4 40 82 00 24 */ bne lbl_802DAFA8
/* 802DAF88 002D7EC8 80 7E 00 28 */ lwz r3, 0x28(r30)
/* 802DAF8C 002D7ECC 28 03 00 00 */ cmplwi r3, 0
/* 802DAF90 002D7ED0 41 82 00 18 */ beq lbl_802DAFA8
/* 802DAF94 002D7ED4 38 80 00 01 */ li r4, 1
/* 802DAF98 002D7ED8 81 83 00 00 */ lwz r12, 0(r3)
/* 802DAF9C 002D7EDC 81 8C 00 08 */ lwz r12, 8(r12)
/* 802DAFA0 002D7EE0 7D 89 03 A6 */ mtctr r12
/* 802DAFA4 002D7EE4 4E 80 04 21 */ bctrl
lbl_802DAFA8:
/* 802DAFA8 002D7EE8 28 1E 00 00 */ cmplwi r30, 0
/* 802DAFAC 002D7EEC 41 82 00 10 */ beq lbl_802DAFBC
/* 802DAFB0 002D7EF0 7F C3 F3 78 */ mr r3, r30
/* 802DAFB4 002D7EF4 38 80 00 00 */ li r4, 0
/* 802DAFB8 002D7EF8 48 00 0E 5D */ bl __dt__10JSUPtrLinkFv
lbl_802DAFBC:
/* 802DAFBC 002D7EFC 7F E0 07 35 */ extsh. r0, r31
/* 802DAFC0 002D7F00 40 81 00 0C */ ble lbl_802DAFCC
/* 802DAFC4 002D7F04 7F C3 F3 78 */ mr r3, r30
/* 802DAFC8 002D7F08 4B FF 3D 75 */ bl __dl__FPv
lbl_802DAFCC:
/* 802DAFCC 002D7F0C 7F C3 F3 78 */ mr r3, r30
/* 802DAFD0 002D7F10 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802DAFD4 002D7F14 83 C1 00 08 */ lwz r30, 8(r1)
/* 802DAFD8 002D7F18 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802DAFDC 002D7F1C 7C 08 03 A6 */ mtlr r0
/* 802DAFE0 002D7F20 38 21 00 10 */ addi r1, r1, 0x10
/* 802DAFE4 002D7F24 4E 80 00 20 */ blr
@@ -1,101 +0,0 @@
/* JKRDecompressFromDVDToAram__FP10JKRDvdFileUlUlUlUlUlPUl JKRDecompressFromDVDToAram(JKRDvdFile *, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long *) */
/* JKRDecompressFromDVDToAram */
/* 802DAFE8 002D7F28 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 802DAFEC 002D7F2C 7C 08 02 A6 */ mflr r0
/* 802DAFF0 002D7F30 90 01 00 34 */ stw r0, 0x34(r1)
/* 802DAFF4 002D7F34 39 61 00 30 */ addi r11, r1, 0x30
/* 802DAFF8 002D7F38 48 08 71 D1 */ bl _savegpr_24
/* 802DAFFC 002D7F3C 7C 79 1B 78 */ mr r25, r3
/* 802DB000 002D7F40 7C 9A 23 78 */ mr r26, r4
/* 802DB004 002D7F44 7C BB 2B 78 */ mr r27, r5
/* 802DB008 002D7F48 7C DC 33 78 */ mr r28, r6
/* 802DB00C 002D7F4C 7C FD 3B 78 */ mr r29, r7
/* 802DB010 002D7F50 7D 1E 43 78 */ mr r30, r8
/* 802DB014 002D7F54 7D 3F 4B 78 */ mr r31, r9
/* 802DB018 002D7F58 48 06 26 DD */ bl __RAS_OSDisableInterrupts_begin
/* 802DB01C 002D7F5C 7C 78 1B 78 */ mr r24, r3
/* 802DB020 002D7F60 88 0D 8F 24 */ lbz r0, lbl_804514A4-_SDA_BASE_(r13)
/* 802DB024 002D7F64 28 00 00 00 */ cmplwi r0, 0
/* 802DB028 002D7F68 40 82 00 18 */ bne lbl_802DB040
/* 802DB02C 002D7F6C 3C 60 80 43 */ lis r3, lbl_804343C0@ha
/* 802DB030 002D7F70 38 63 43 C0 */ addi r3, r3, lbl_804343C0@l
/* 802DB034 002D7F74 48 06 3F D5 */ bl OSInitMutex
/* 802DB038 002D7F78 38 00 00 01 */ li r0, 1
/* 802DB03C 002D7F7C 98 0D 8F 24 */ stb r0, lbl_804514A4-_SDA_BASE_(r13)
lbl_802DB040:
/* 802DB040 002D7F80 7F 03 C3 78 */ mr r3, r24
/* 802DB044 002D7F84 48 06 26 D9 */ bl OSRestoreInterrupts
/* 802DB048 002D7F88 3C 60 80 43 */ lis r3, lbl_804343C0@ha
/* 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, 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, 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
/* 802DB084 002D7FC4 90 6D 8E F0 */ stw r3, lbl_80451470-_SDA_BASE_(r13)
/* 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, 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
/* 802DB0A4 002D7FE4 90 6D 8E FC */ stw r3, lbl_8045147C-_SDA_BASE_(r13)
/* 802DB0A8 002D7FE8 38 03 01 00 */ addi r0, r3, 0x100
/* 802DB0AC 002D7FEC 90 0D 8F 00 */ stw r0, lbl_80451480-_SDA_BASE_(r13)
/* 802DB0B0 002D7FF0 90 6D 8F 04 */ stw r3, lbl_80451484-_SDA_BASE_(r13)
/* 802DB0B4 002D7FF4 93 2D 8F 14 */ stw r25, lbl_80451494-_SDA_BASE_(r13)
/* 802DB0B8 002D7FF8 93 CD 8F 08 */ stw r30, lbl_80451488-_SDA_BASE_(r13)
/* 802DB0BC 002D7FFC 7C 1E D8 50 */ subf r0, r30, r27
/* 802DB0C0 002D8000 90 0D 8F 0C */ stw r0, lbl_8045148C-_SDA_BASE_(r13)
/* 802DB0C4 002D8004 93 AD 8F 18 */ stw r29, lbl_80451498-_SDA_BASE_(r13)
/* 802DB0C8 002D8008 38 00 00 00 */ li r0, 0
/* 802DB0CC 002D800C 90 0D 8F 1C */ stw r0, lbl_8045149C-_SDA_BASE_(r13)
/* 802DB0D0 002D8010 93 8D 8F 20 */ stw r28, lbl_804514A0-_SDA_BASE_(r13)
/* 802DB0D4 002D8014 28 1F 00 00 */ cmplwi r31, 0
/* 802DB0D8 002D8018 41 82 00 0C */ beq lbl_802DB0E4
/* 802DB0DC 002D801C 7F E3 FB 78 */ mr r3, r31
/* 802DB0E0 002D8020 48 00 00 08 */ b lbl_802DB0E8
lbl_802DB0E4:
/* 802DB0E4 002D8024 38 6D 8F 2C */ addi r3, r13, 0x804514AC-0x80458580
lbl_802DB0E8:
/* 802DB0E8 002D8028 90 6D 8F 28 */ stw r3, lbl_804514A8-_SDA_BASE_(r13)
/* 802DB0EC 002D802C 38 00 00 00 */ li r0, 0
/* 802DB0F0 002D8030 90 03 00 00 */ stw r0, 0(r3)
/* 802DB0F4 002D8034 48 00 02 F5 */ bl firstSrcData__Fv
/* 802DB0F8 002D8038 28 03 00 00 */ cmplwi r3, 0
/* 802DB0FC 002D803C 41 82 00 14 */ beq lbl_802DB110
/* 802DB100 002D8040 7F 44 D3 78 */ mr r4, r26
/* 802DB104 002D8044 48 00 00 5D */ bl decompSZS_subroutine__FPUcUl
/* 802DB108 002D8048 7C 79 1B 78 */ mr r25, r3
/* 802DB10C 002D804C 48 00 00 08 */ b lbl_802DB114
lbl_802DB110:
/* 802DB110 002D8050 3B 20 FF FF */ li r25, -1
lbl_802DB114:
/* 802DB114 002D8054 80 6D 8E E8 */ lwz r3, lbl_80451468-_SDA_BASE_(r13)
/* 802DB118 002D8058 38 80 00 00 */ li r4, 0
/* 802DB11C 002D805C 4B FF 33 E5 */ bl free__7JKRHeapFPvP7JKRHeap
/* 802DB120 002D8060 80 6D 8E F0 */ lwz r3, lbl_80451470-_SDA_BASE_(r13)
/* 802DB124 002D8064 38 80 00 00 */ li r4, 0
/* 802DB128 002D8068 4B FF 33 D9 */ bl free__7JKRHeapFPvP7JKRHeap
/* 802DB12C 002D806C 80 6D 8E FC */ lwz r3, lbl_8045147C-_SDA_BASE_(r13)
/* 802DB130 002D8070 38 80 00 00 */ li r4, 0
/* 802DB134 002D8074 4B FF 33 CD */ bl free__7JKRHeapFPvP7JKRHeap
/* 802DB138 002D8078 3C 60 80 43 */ lis r3, lbl_804343C0@ha
/* 802DB13C 002D807C 38 63 43 C0 */ addi r3, r3, lbl_804343C0@l
/* 802DB140 002D8080 48 06 3F DD */ bl OSUnlockMutex
/* 802DB144 002D8084 7F 23 CB 78 */ mr r3, r25
/* 802DB148 002D8088 39 61 00 30 */ addi r11, r1, 0x30
/* 802DB14C 002D808C 48 08 70 C9 */ bl _restgpr_24
/* 802DB150 002D8090 80 01 00 34 */ lwz r0, 0x34(r1)
/* 802DB154 002D8094 7C 08 03 A6 */ mtlr r0
/* 802DB158 002D8098 38 21 00 30 */ addi r1, r1, 0x30
/* 802DB15C 002D809C 4E 80 00 20 */ blr
@@ -1,184 +0,0 @@
/* decompSZS_subroutine__FPUcUl decompSZS_subroutine(unsigned char *, unsigned long) */
/* decompSZS_subroutine_X2_ */
/* 802DB160 002D80A0 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 802DB164 002D80A4 7C 08 02 A6 */ mflr r0
/* 802DB168 002D80A8 90 01 00 34 */ stw r0, 0x34(r1)
/* 802DB16C 002D80AC 39 61 00 30 */ addi r11, r1, 0x30
/* 802DB170 002D80B0 48 08 70 55 */ bl _savegpr_23
/* 802DB174 002D80B4 7C 98 23 78 */ mr r24, r4
/* 802DB178 002D80B8 3B A0 00 00 */ li r29, 0
/* 802DB17C 002D80BC 3B 80 00 00 */ li r28, 0
/* 802DB180 002D80C0 3B 40 00 00 */ li r26, 0
/* 802DB184 002D80C4 7F 19 C3 78 */ mr r25, r24
/* 802DB188 002D80C8 88 03 00 00 */ lbz r0, 0(r3)
/* 802DB18C 002D80CC 2C 00 00 59 */ cmpwi r0, 0x59
/* 802DB190 002D80D0 40 82 00 28 */ bne lbl_802DB1B8
/* 802DB194 002D80D4 88 03 00 01 */ lbz r0, 1(r3)
/* 802DB198 002D80D8 2C 00 00 61 */ cmpwi r0, 0x61
/* 802DB19C 002D80DC 40 82 00 1C */ bne lbl_802DB1B8
/* 802DB1A0 002D80E0 88 03 00 02 */ lbz r0, 2(r3)
/* 802DB1A4 002D80E4 2C 00 00 7A */ cmpwi r0, 0x7a
/* 802DB1A8 002D80E8 40 82 00 10 */ bne lbl_802DB1B8
/* 802DB1AC 002D80EC 88 03 00 03 */ lbz r0, 3(r3)
/* 802DB1B0 002D80F0 2C 00 00 30 */ cmpwi r0, 0x30
/* 802DB1B4 002D80F4 41 82 00 0C */ beq lbl_802DB1C0
lbl_802DB1B8:
/* 802DB1B8 002D80F8 38 60 FF FF */ li r3, -1
/* 802DB1BC 002D80FC 48 00 02 14 */ b lbl_802DB3D0
lbl_802DB1C0:
/* 802DB1C0 002D8100 80 8D 8F 18 */ lwz r4, lbl_80451498-_SDA_BASE_(r13)
/* 802DB1C4 002D8104 80 03 00 04 */ lwz r0, 4(r3)
/* 802DB1C8 002D8108 7C 04 00 50 */ subf r0, r4, r0
/* 802DB1CC 002D810C 7F F8 02 14 */ add r31, r24, r0
/* 802DB1D0 002D8110 80 0D 8F 20 */ lwz r0, lbl_804514A0-_SDA_BASE_(r13)
/* 802DB1D4 002D8114 7C 18 02 14 */ add r0, r24, r0
/* 802DB1D8 002D8118 7C 1F 00 40 */ cmplw r31, r0
/* 802DB1DC 002D811C 40 81 00 08 */ ble lbl_802DB1E4
/* 802DB1E0 002D8120 7C 1F 03 78 */ mr r31, r0
lbl_802DB1E4:
/* 802DB1E4 002D8124 3A E3 00 10 */ addi r23, r3, 0x10
lbl_802DB1E8:
/* 802DB1E8 002D8128 2C 1D 00 00 */ cmpwi r29, 0
/* 802DB1EC 002D812C 40 82 00 34 */ bne lbl_802DB220
/* 802DB1F0 002D8130 80 0D 8F 10 */ lwz r0, lbl_80451490-_SDA_BASE_(r13)
/* 802DB1F4 002D8134 7C 17 00 40 */ cmplw r23, r0
/* 802DB1F8 002D8138 40 81 00 1C */ ble lbl_802DB214
/* 802DB1FC 002D813C 80 0D 8F 0C */ lwz r0, lbl_8045148C-_SDA_BASE_(r13)
/* 802DB200 002D8140 28 00 00 00 */ cmplwi r0, 0
/* 802DB204 002D8144 41 82 00 10 */ beq lbl_802DB214
/* 802DB208 002D8148 7E E3 BB 78 */ mr r3, r23
/* 802DB20C 002D814C 48 00 02 91 */ bl nextSrcData__FPUc
/* 802DB210 002D8150 7C 77 1B 78 */ mr r23, r3
lbl_802DB214:
/* 802DB214 002D8154 8B 97 00 00 */ lbz r28, 0(r23)
/* 802DB218 002D8158 3B A0 00 08 */ li r29, 8
/* 802DB21C 002D815C 3A F7 00 01 */ addi r23, r23, 1
lbl_802DB220:
/* 802DB220 002D8160 57 80 06 31 */ rlwinm. r0, r28, 0, 0x18, 0x18
/* 802DB224 002D8164 41 82 00 94 */ beq lbl_802DB2B8
/* 802DB228 002D8168 80 6D 8F 1C */ lwz r3, lbl_8045149C-_SDA_BASE_(r13)
/* 802DB22C 002D816C 80 0D 8F 18 */ lwz r0, lbl_80451498-_SDA_BASE_(r13)
/* 802DB230 002D8170 7C 03 00 40 */ cmplw r3, r0
/* 802DB234 002D8174 41 80 00 44 */ blt lbl_802DB278
/* 802DB238 002D8178 88 97 00 00 */ lbz r4, 0(r23)
/* 802DB23C 002D817C 80 6D 8F 04 */ lwz r3, lbl_80451484-_SDA_BASE_(r13)
/* 802DB240 002D8180 38 03 00 01 */ addi r0, r3, 1
/* 802DB244 002D8184 90 0D 8F 04 */ stw r0, lbl_80451484-_SDA_BASE_(r13)
/* 802DB248 002D8188 98 83 00 00 */ stb r4, 0(r3)
/* 802DB24C 002D818C 80 6D 8F 04 */ lwz r3, lbl_80451484-_SDA_BASE_(r13)
/* 802DB250 002D8190 80 0D 8F 00 */ lwz r0, lbl_80451480-_SDA_BASE_(r13)
/* 802DB254 002D8194 7C 03 00 40 */ cmplw r3, r0
/* 802DB258 002D8198 3B 18 00 01 */ addi r24, r24, 1
/* 802DB25C 002D819C 3B 5A 00 01 */ addi r26, r26, 1
/* 802DB260 002D81A0 40 82 00 10 */ bne lbl_802DB270
/* 802DB264 002D81A4 7F 23 CB 78 */ mr r3, r25
/* 802DB268 002D81A8 48 00 03 19 */ bl dmaBufferFlush__FUl
/* 802DB26C 002D81AC 7F 39 1A 14 */ add r25, r25, r3
lbl_802DB270:
/* 802DB270 002D81B0 7C 18 F8 40 */ cmplw r24, r31
/* 802DB274 002D81B4 41 82 01 48 */ beq lbl_802DB3BC
lbl_802DB278:
/* 802DB278 002D81B8 88 97 00 00 */ lbz r4, 0(r23)
/* 802DB27C 002D81BC 80 6D 8E F8 */ lwz r3, lbl_80451478-_SDA_BASE_(r13)
/* 802DB280 002D81C0 38 03 00 01 */ addi r0, r3, 1
/* 802DB284 002D81C4 90 0D 8E F8 */ stw r0, lbl_80451478-_SDA_BASE_(r13)
/* 802DB288 002D81C8 98 83 00 00 */ stb r4, 0(r3)
/* 802DB28C 002D81CC 80 6D 8E F8 */ lwz r3, lbl_80451478-_SDA_BASE_(r13)
/* 802DB290 002D81D0 80 0D 8E F4 */ lwz r0, lbl_80451474-_SDA_BASE_(r13)
/* 802DB294 002D81D4 7C 03 00 40 */ cmplw r3, r0
/* 802DB298 002D81D8 40 82 00 0C */ bne lbl_802DB2A4
/* 802DB29C 002D81DC 80 0D 8E F0 */ lwz r0, lbl_80451470-_SDA_BASE_(r13)
/* 802DB2A0 002D81E0 90 0D 8E F8 */ stw r0, lbl_80451478-_SDA_BASE_(r13)
lbl_802DB2A4:
/* 802DB2A4 002D81E4 80 6D 8F 1C */ lwz r3, lbl_8045149C-_SDA_BASE_(r13)
/* 802DB2A8 002D81E8 38 03 00 01 */ addi r0, r3, 1
/* 802DB2AC 002D81EC 90 0D 8F 1C */ stw r0, lbl_8045149C-_SDA_BASE_(r13)
/* 802DB2B0 002D81F0 3A F7 00 01 */ addi r23, r23, 1
/* 802DB2B4 002D81F4 48 00 00 F8 */ b lbl_802DB3AC
lbl_802DB2B8:
/* 802DB2B8 002D81F8 88 77 00 00 */ lbz r3, 0(r23)
/* 802DB2BC 002D81FC 88 97 00 01 */ lbz r4, 1(r23)
/* 802DB2C0 002D8200 50 64 45 2E */ rlwimi r4, r3, 8, 0x14, 0x17
/* 802DB2C4 002D8204 7C 7B 26 70 */ srawi r27, r3, 4
/* 802DB2C8 002D8208 80 0D 8E F8 */ lwz r0, lbl_80451478-_SDA_BASE_(r13)
/* 802DB2CC 002D820C 7C 64 00 50 */ subf r3, r4, r0
/* 802DB2D0 002D8210 3B C3 FF FF */ addi r30, r3, -1
/* 802DB2D4 002D8214 80 6D 8E F0 */ lwz r3, lbl_80451470-_SDA_BASE_(r13)
/* 802DB2D8 002D8218 7C 1E 18 40 */ cmplw r30, r3
/* 802DB2DC 002D821C 3A F7 00 02 */ addi r23, r23, 2
/* 802DB2E0 002D8220 40 80 00 10 */ bge lbl_802DB2F0
/* 802DB2E4 002D8224 80 0D 8E F4 */ lwz r0, lbl_80451474-_SDA_BASE_(r13)
/* 802DB2E8 002D8228 7C 03 00 50 */ subf r0, r3, r0
/* 802DB2EC 002D822C 7F DE 02 14 */ add r30, r30, r0
lbl_802DB2F0:
/* 802DB2F0 002D8230 2C 1B 00 00 */ cmpwi r27, 0
/* 802DB2F4 002D8234 40 82 00 14 */ bne lbl_802DB308
/* 802DB2F8 002D8238 88 77 00 00 */ lbz r3, 0(r23)
/* 802DB2FC 002D823C 3B 63 00 12 */ addi r27, r3, 0x12
/* 802DB300 002D8240 3A F7 00 01 */ addi r23, r23, 1
/* 802DB304 002D8244 48 00 00 08 */ b lbl_802DB30C
lbl_802DB308:
/* 802DB308 002D8248 3B 7B 00 02 */ addi r27, r27, 2
lbl_802DB30C:
/* 802DB30C 002D824C 80 6D 8F 1C */ lwz r3, lbl_8045149C-_SDA_BASE_(r13)
/* 802DB310 002D8250 80 0D 8F 18 */ lwz r0, lbl_80451498-_SDA_BASE_(r13)
/* 802DB314 002D8254 7C 03 00 40 */ cmplw r3, r0
/* 802DB318 002D8258 41 80 00 44 */ blt lbl_802DB35C
/* 802DB31C 002D825C 88 9E 00 00 */ lbz r4, 0(r30)
/* 802DB320 002D8260 80 6D 8F 04 */ lwz r3, lbl_80451484-_SDA_BASE_(r13)
/* 802DB324 002D8264 38 03 00 01 */ addi r0, r3, 1
/* 802DB328 002D8268 90 0D 8F 04 */ stw r0, lbl_80451484-_SDA_BASE_(r13)
/* 802DB32C 002D826C 98 83 00 00 */ stb r4, 0(r3)
/* 802DB330 002D8270 80 6D 8F 04 */ lwz r3, lbl_80451484-_SDA_BASE_(r13)
/* 802DB334 002D8274 80 0D 8F 00 */ lwz r0, lbl_80451480-_SDA_BASE_(r13)
/* 802DB338 002D8278 7C 03 00 40 */ cmplw r3, r0
/* 802DB33C 002D827C 3B 18 00 01 */ addi r24, r24, 1
/* 802DB340 002D8280 3B 5A 00 01 */ addi r26, r26, 1
/* 802DB344 002D8284 40 82 00 10 */ bne lbl_802DB354
/* 802DB348 002D8288 7F 23 CB 78 */ mr r3, r25
/* 802DB34C 002D828C 48 00 02 35 */ bl dmaBufferFlush__FUl
/* 802DB350 002D8290 7F 39 1A 14 */ add r25, r25, r3
lbl_802DB354:
/* 802DB354 002D8294 7C 18 F8 40 */ cmplw r24, r31
/* 802DB358 002D8298 41 82 00 54 */ beq lbl_802DB3AC
lbl_802DB35C:
/* 802DB35C 002D829C 88 9E 00 00 */ lbz r4, 0(r30)
/* 802DB360 002D82A0 80 6D 8E F8 */ lwz r3, lbl_80451478-_SDA_BASE_(r13)
/* 802DB364 002D82A4 38 03 00 01 */ addi r0, r3, 1
/* 802DB368 002D82A8 90 0D 8E F8 */ stw r0, lbl_80451478-_SDA_BASE_(r13)
/* 802DB36C 002D82AC 98 83 00 00 */ stb r4, 0(r3)
/* 802DB370 002D82B0 80 0D 8E F8 */ lwz r0, lbl_80451478-_SDA_BASE_(r13)
/* 802DB374 002D82B4 80 6D 8E F4 */ lwz r3, lbl_80451474-_SDA_BASE_(r13)
/* 802DB378 002D82B8 7C 00 18 40 */ cmplw r0, r3
/* 802DB37C 002D82BC 40 82 00 0C */ bne lbl_802DB388
/* 802DB380 002D82C0 80 0D 8E F0 */ lwz r0, lbl_80451470-_SDA_BASE_(r13)
/* 802DB384 002D82C4 90 0D 8E F8 */ stw r0, lbl_80451478-_SDA_BASE_(r13)
lbl_802DB388:
/* 802DB388 002D82C8 3B DE 00 01 */ addi r30, r30, 1
/* 802DB38C 002D82CC 7C 1E 18 40 */ cmplw r30, r3
/* 802DB390 002D82D0 40 82 00 08 */ bne lbl_802DB398
/* 802DB394 002D82D4 83 CD 8E F0 */ lwz r30, lbl_80451470-_SDA_BASE_(r13)
lbl_802DB398:
/* 802DB398 002D82D8 80 6D 8F 1C */ lwz r3, lbl_8045149C-_SDA_BASE_(r13)
/* 802DB39C 002D82DC 38 03 00 01 */ addi r0, r3, 1
/* 802DB3A0 002D82E0 90 0D 8F 1C */ stw r0, lbl_8045149C-_SDA_BASE_(r13)
/* 802DB3A4 002D82E4 37 7B FF FF */ addic. r27, r27, -1
/* 802DB3A8 002D82E8 40 82 FF 64 */ bne lbl_802DB30C
lbl_802DB3AC:
/* 802DB3AC 002D82EC 57 9C 08 3C */ slwi r28, r28, 1
/* 802DB3B0 002D82F0 7C 18 F8 40 */ cmplw r24, r31
/* 802DB3B4 002D82F4 3B BD FF FF */ addi r29, r29, -1
/* 802DB3B8 002D82F8 41 80 FE 30 */ blt lbl_802DB1E8
lbl_802DB3BC:
/* 802DB3BC 002D82FC 7F 23 CB 78 */ mr r3, r25
/* 802DB3C0 002D8300 48 00 01 C1 */ bl dmaBufferFlush__FUl
/* 802DB3C4 002D8304 80 6D 8F 28 */ lwz r3, lbl_804514A8-_SDA_BASE_(r13)
/* 802DB3C8 002D8308 93 43 00 00 */ stw r26, 0(r3)
/* 802DB3CC 002D830C 38 60 00 00 */ li r3, 0
lbl_802DB3D0:
/* 802DB3D0 002D8310 39 61 00 30 */ addi r11, r1, 0x30
/* 802DB3D4 002D8314 48 08 6E 3D */ bl _restgpr_23
/* 802DB3D8 002D8318 80 01 00 34 */ lwz r0, 0x34(r1)
/* 802DB3DC 002D831C 7C 08 03 A6 */ mtlr r0
/* 802DB3E0 002D8320 38 21 00 30 */ addi r1, r1, 0x30
/* 802DB3E4 002D8324 4E 80 00 20 */ blr
@@ -1,51 +0,0 @@
/* firstSrcData__Fv firstSrcData(void) */
/* firstSrcData_X2_ */
/* 802DB3E8 002D8328 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802DB3EC 002D832C 7C 08 02 A6 */ mflr r0
/* 802DB3F0 002D8330 90 01 00 14 */ stw r0, 0x14(r1)
/* 802DB3F4 002D8334 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802DB3F8 002D8338 93 C1 00 08 */ stw r30, 8(r1)
/* 802DB3FC 002D833C 80 6D 8E EC */ lwz r3, lbl_8045146C-_SDA_BASE_(r13)
/* 802DB400 002D8340 38 03 FF E7 */ addi r0, r3, -25
/* 802DB404 002D8344 90 0D 8F 10 */ stw r0, lbl_80451490-_SDA_BASE_(r13)
/* 802DB408 002D8348 80 0D 8E E8 */ lwz r0, lbl_80451468-_SDA_BASE_(r13)
/* 802DB40C 002D834C 7C 1E 03 78 */ mr r30, r0
/* 802DB410 002D8350 7C 60 18 50 */ subf r3, r0, r3
/* 802DB414 002D8354 80 0D 8F 0C */ lwz r0, lbl_8045148C-_SDA_BASE_(r13)
/* 802DB418 002D8358 7C 00 18 40 */ cmplw r0, r3
/* 802DB41C 002D835C 7C 7F 1B 78 */ mr r31, r3
/* 802DB420 002D8360 40 80 00 08 */ bge lbl_802DB428
/* 802DB424 002D8364 7C 1F 03 78 */ mr r31, r0
lbl_802DB428:
/* 802DB428 002D8368 80 6D 8F 14 */ lwz r3, lbl_80451494-_SDA_BASE_(r13)
/* 802DB42C 002D836C 38 63 00 5C */ addi r3, r3, 0x5c
/* 802DB430 002D8370 7F C4 F3 78 */ mr r4, r30
/* 802DB434 002D8374 7F E5 FB 78 */ mr r5, r31
/* 802DB438 002D8378 38 C0 00 00 */ li r6, 0
/* 802DB43C 002D837C 38 E0 00 02 */ li r7, 2
/* 802DB440 002D8380 48 06 DA 05 */ bl DVDReadPrio
/* 802DB444 002D8384 2C 03 00 00 */ cmpwi r3, 0
/* 802DB448 002D8388 40 80 00 20 */ bge lbl_802DB468
/* 802DB44C 002D838C 88 0D 83 50 */ lbz r0, lbl_804508D0-_SDA_BASE_(r13)
/* 802DB450 002D8390 28 00 00 00 */ cmplwi r0, 0
/* 802DB454 002D8394 40 82 00 0C */ bne lbl_802DB460
/* 802DB458 002D8398 38 60 00 00 */ li r3, 0
/* 802DB45C 002D839C 48 00 00 28 */ b lbl_802DB484
lbl_802DB460:
/* 802DB460 002D83A0 48 07 15 65 */ bl VIWaitForRetrace
/* 802DB464 002D83A4 4B FF FF C4 */ b lbl_802DB428
lbl_802DB468:
/* 802DB468 002D83A8 80 0D 8F 08 */ lwz r0, lbl_80451488-_SDA_BASE_(r13)
/* 802DB46C 002D83AC 7C 00 FA 14 */ add r0, r0, r31
/* 802DB470 002D83B0 90 0D 8F 08 */ stw r0, lbl_80451488-_SDA_BASE_(r13)
/* 802DB474 002D83B4 80 0D 8F 0C */ lwz r0, lbl_8045148C-_SDA_BASE_(r13)
/* 802DB478 002D83B8 7C 1F 00 50 */ subf r0, r31, r0
/* 802DB47C 002D83BC 90 0D 8F 0C */ stw r0, lbl_8045148C-_SDA_BASE_(r13)
/* 802DB480 002D83C0 7F C3 F3 78 */ mr r3, r30
lbl_802DB484:
/* 802DB484 002D83C4 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802DB488 002D83C8 83 C1 00 08 */ lwz r30, 8(r1)
/* 802DB48C 002D83CC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802DB490 002D83D0 7C 08 03 A6 */ mtlr r0
/* 802DB494 002D83D4 38 21 00 10 */ addi r1, r1, 0x10
/* 802DB498 002D83D8 4E 80 00 20 */ blr
@@ -1,66 +0,0 @@
/* nextSrcData__FPUc nextSrcData(unsigned char *) */
/* nextSrcData_X2_ */
/* 802DB49C 002D83DC 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802DB4A0 002D83E0 7C 08 02 A6 */ mflr r0
/* 802DB4A4 002D83E4 90 01 00 24 */ stw r0, 0x24(r1)
/* 802DB4A8 002D83E8 39 61 00 20 */ addi r11, r1, 0x20
/* 802DB4AC 002D83EC 48 08 6D 31 */ bl _savegpr_29
/* 802DB4B0 002D83F0 7C 64 1B 78 */ mr r4, r3
/* 802DB4B4 002D83F4 80 0D 8E EC */ lwz r0, lbl_8045146C-_SDA_BASE_(r13)
/* 802DB4B8 002D83F8 7F C4 00 50 */ subf r30, r4, r0
/* 802DB4BC 002D83FC 57 C5 06 FF */ clrlwi. r5, r30, 0x1b
/* 802DB4C0 002D8400 41 82 00 14 */ beq lbl_802DB4D4
/* 802DB4C4 002D8404 80 6D 8E E8 */ lwz r3, lbl_80451468-_SDA_BASE_(r13)
/* 802DB4C8 002D8408 38 03 00 20 */ addi r0, r3, 0x20
/* 802DB4CC 002D840C 7F A5 00 50 */ subf r29, r5, r0
/* 802DB4D0 002D8410 48 00 00 08 */ b lbl_802DB4D8
lbl_802DB4D4:
/* 802DB4D4 002D8414 83 AD 8E E8 */ lwz r29, lbl_80451468-_SDA_BASE_(r13)
lbl_802DB4D8:
/* 802DB4D8 002D8418 7F A3 EB 78 */ mr r3, r29
/* 802DB4DC 002D841C 7F C5 F3 78 */ mr r5, r30
/* 802DB4E0 002D8420 4B D2 80 61 */ bl memcpy
/* 802DB4E4 002D8424 7F DD F2 14 */ add r30, r29, r30
/* 802DB4E8 002D8428 80 0D 8E EC */ lwz r0, lbl_8045146C-_SDA_BASE_(r13)
/* 802DB4EC 002D842C 7F FE 00 50 */ subf r31, r30, r0
/* 802DB4F0 002D8430 80 0D 8F 0C */ lwz r0, lbl_8045148C-_SDA_BASE_(r13)
/* 802DB4F4 002D8434 7C 1F 00 40 */ cmplw r31, r0
/* 802DB4F8 002D8438 40 81 00 08 */ ble lbl_802DB500
/* 802DB4FC 002D843C 7C 1F 03 78 */ mr r31, r0
lbl_802DB500:
/* 802DB500 002D8440 80 6D 8F 14 */ lwz r3, lbl_80451494-_SDA_BASE_(r13)
/* 802DB504 002D8444 38 63 00 5C */ addi r3, r3, 0x5c
/* 802DB508 002D8448 7F C4 F3 78 */ mr r4, r30
/* 802DB50C 002D844C 7F E5 FB 78 */ mr r5, r31
/* 802DB510 002D8450 80 CD 8F 08 */ lwz r6, lbl_80451488-_SDA_BASE_(r13)
/* 802DB514 002D8454 38 E0 00 02 */ li r7, 2
/* 802DB518 002D8458 48 06 D9 2D */ bl DVDReadPrio
/* 802DB51C 002D845C 2C 03 00 00 */ cmpwi r3, 0
/* 802DB520 002D8460 40 80 00 20 */ bge lbl_802DB540
/* 802DB524 002D8464 88 0D 83 50 */ lbz r0, lbl_804508D0-_SDA_BASE_(r13)
/* 802DB528 002D8468 28 00 00 00 */ cmplwi r0, 0
/* 802DB52C 002D846C 40 82 00 0C */ bne lbl_802DB538
/* 802DB530 002D8470 38 60 00 00 */ li r3, 0
/* 802DB534 002D8474 48 00 00 34 */ b lbl_802DB568
lbl_802DB538:
/* 802DB538 002D8478 48 07 14 8D */ bl VIWaitForRetrace
/* 802DB53C 002D847C 4B FF FF C4 */ b lbl_802DB500
lbl_802DB540:
/* 802DB540 002D8480 80 0D 8F 08 */ lwz r0, lbl_80451488-_SDA_BASE_(r13)
/* 802DB544 002D8484 7C 00 FA 14 */ add r0, r0, r31
/* 802DB548 002D8488 90 0D 8F 08 */ stw r0, lbl_80451488-_SDA_BASE_(r13)
/* 802DB54C 002D848C 80 0D 8F 0C */ lwz r0, lbl_8045148C-_SDA_BASE_(r13)
/* 802DB550 002D8490 7C 1F 00 51 */ subf. r0, r31, r0
/* 802DB554 002D8494 90 0D 8F 0C */ stw r0, lbl_8045148C-_SDA_BASE_(r13)
/* 802DB558 002D8498 40 82 00 0C */ bne lbl_802DB564
/* 802DB55C 002D849C 7C 1E FA 14 */ add r0, r30, r31
/* 802DB560 002D84A0 90 0D 8F 10 */ stw r0, lbl_80451490-_SDA_BASE_(r13)
lbl_802DB564:
/* 802DB564 002D84A4 7F A3 EB 78 */ mr r3, r29
lbl_802DB568:
/* 802DB568 002D84A8 39 61 00 20 */ addi r11, r1, 0x20
/* 802DB56C 002D84AC 48 08 6C BD */ bl _restgpr_29
/* 802DB570 002D84B0 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802DB574 002D84B4 7C 08 03 A6 */ mtlr r0
/* 802DB578 002D84B8 38 21 00 20 */ addi r1, r1, 0x20
/* 802DB57C 002D84BC 4E 80 00 20 */ blr
@@ -1,30 +0,0 @@
/* dmaBufferFlush__FUl dmaBufferFlush(unsigned long) */
/* dmaBufferFlush */
/* 802DB580 002D84C0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802DB584 002D84C4 7C 08 02 A6 */ mflr r0
/* 802DB588 002D84C8 90 01 00 14 */ stw r0, 0x14(r1)
/* 802DB58C 002D84CC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802DB590 002D84D0 7C 65 1B 78 */ mr r5, r3
/* 802DB594 002D84D4 80 0D 8F 04 */ lwz r0, lbl_80451484-_SDA_BASE_(r13)
/* 802DB598 002D84D8 80 8D 8E FC */ lwz r4, lbl_8045147C-_SDA_BASE_(r13)
/* 802DB59C 002D84DC 7C 00 20 40 */ cmplw r0, r4
/* 802DB5A0 002D84E0 40 82 00 0C */ bne lbl_802DB5AC
/* 802DB5A4 002D84E4 38 60 00 00 */ li r3, 0
/* 802DB5A8 002D84E8 48 00 00 2C */ b lbl_802DB5D4
lbl_802DB5AC:
/* 802DB5AC 002D84EC 7C 64 00 50 */ subf r3, r4, r0
/* 802DB5B0 002D84F0 38 03 00 1F */ addi r0, r3, 0x1f
/* 802DB5B4 002D84F4 54 1F 00 34 */ rlwinm r31, r0, 0, 0, 0x1a
/* 802DB5B8 002D84F8 38 60 00 00 */ li r3, 0
/* 802DB5BC 002D84FC 7F E6 FB 78 */ mr r6, r31
/* 802DB5C0 002D8500 38 E0 00 00 */ li r7, 0
/* 802DB5C4 002D8504 4B FF 82 75 */ bl orderSync__12JKRAramPieceFiUlUlUlP12JKRAramBlock
/* 802DB5C8 002D8508 80 0D 8E FC */ lwz r0, lbl_8045147C-_SDA_BASE_(r13)
/* 802DB5CC 002D850C 90 0D 8F 04 */ stw r0, lbl_80451484-_SDA_BASE_(r13)
/* 802DB5D0 002D8510 7F E3 FB 78 */ mr r3, r31
lbl_802DB5D4:
/* 802DB5D4 002D8514 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802DB5D8 002D8518 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802DB5DC 002D851C 7C 08 03 A6 */ mtlr r0
/* 802DB5E0 002D8520 38 21 00 10 */ addi r1, r1, 0x10
/* 802DB5E4 002D8524 4E 80 00 20 */ blr
+7
View File
@@ -0,0 +1,7 @@
#ifndef JKRDVDARCHIVE_H
#define JKRDVDARCHIVE_H
#include "dolphin/types.h"
#endif /* JKRDVDARCHIVE_H */
@@ -1,33 +0,0 @@
#ifndef JKRDVDARCHIVE_H_
#define JKRDVDARCHIVE_H_
#include "JSystem/JKernel/JKRArchive/JKRArchive.h"
#include "dolphin/types.h"
class JKRDvdFile;
class JKRDvdArchive : public JKRArchive {
public:
JKRDvdArchive(s32, JKRArchive::EMountDirection);
virtual ~JKRDvdArchive();
bool open(s32);
/* 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 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
/* 0x5C */ JKRCompression mCompression;
/* 0x60 */ EMountDirection mMountDirection;
/* 0x64 */ s32 field_0x64;
/* 0x68 */ JKRDvdFile* mDvdFile;
};
#endif
@@ -1,184 +0,0 @@
/* open__13JKRDvdArchiveFl __ct__13JKRDvdArchiveFlQ210JKRArchive15EMountDirection::open(long) */
/* JKRDvdArchive_NS_open */
/* 802D7DB4 002D4CF4 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802D7DB8 002D4CF8 7C 08 02 A6 */ mflr r0
/* 802D7DBC 002D4CFC 90 01 00 24 */ stw r0, 0x24(r1)
/* 802D7DC0 002D4D00 39 61 00 20 */ addi r11, r1, 0x20
/* 802D7DC4 002D4D04 48 08 A4 15 */ bl _savegpr_28
/* 802D7DC8 002D4D08 7C 7D 1B 78 */ mr r29, r3
/* 802D7DCC 002D4D0C 7C 9C 23 78 */ mr r28, r4
/* 802D7DD0 002D4D10 38 00 00 00 */ li r0, 0
/* 802D7DD4 002D4D14 90 03 00 44 */ stw r0, 0x44(r3)
/* 802D7DD8 002D4D18 90 03 00 64 */ stw r0, 0x64(r3)
/* 802D7DDC 002D4D1C 90 03 00 48 */ stw r0, 0x48(r3)
/* 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, 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
/* 802D7DFC 002D4D3C 41 82 00 10 */ beq lbl_802D7E0C
/* 802D7E00 002D4D40 7F 84 E3 78 */ mr r4, r28
/* 802D7E04 002D4D44 48 00 18 9D */ bl __ct__10JKRDvdFileFl
/* 802D7E08 002D4D48 7C 60 1B 78 */ mr r0, r3
lbl_802D7E0C:
/* 802D7E0C 002D4D4C 90 1D 00 68 */ stw r0, 0x68(r29)
/* 802D7E10 002D4D50 80 1D 00 68 */ lwz r0, 0x68(r29)
/* 802D7E14 002D4D54 28 00 00 00 */ cmplwi r0, 0
/* 802D7E18 002D4D58 40 82 00 14 */ bne lbl_802D7E2C
/* 802D7E1C 002D4D5C 38 00 00 00 */ li r0, 0
/* 802D7E20 002D4D60 98 1D 00 3C */ stb r0, 0x3c(r29)
/* 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, 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
/* 802D7E3C 002D4D7C 7C 7E 1B 79 */ or. r30, r3, r3
/* 802D7E40 002D4D80 40 82 00 10 */ bne lbl_802D7E50
/* 802D7E44 002D4D84 38 00 00 00 */ li r0, 0
/* 802D7E48 002D4D88 98 1D 00 3C */ stb r0, 0x3c(r29)
/* 802D7E4C 002D4D8C 48 00 01 9C */ b lbl_802D7FE8
lbl_802D7E50:
/* 802D7E50 002D4D90 38 00 00 00 */ li r0, 0
/* 802D7E54 002D4D94 90 01 00 08 */ stw r0, 8(r1)
/* 802D7E58 002D4D98 7F 83 E3 78 */ mr r3, r28
/* 802D7E5C 002D4D9C 7F C4 F3 78 */ mr r4, r30
/* 802D7E60 002D4DA0 38 A0 00 01 */ li r5, 1
/* 802D7E64 002D4DA4 38 C0 00 20 */ li r6, 0x20
/* 802D7E68 002D4DA8 38 E0 00 00 */ li r7, 0
/* 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__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
/* 802D7E88 002D4DC8 80 1D 00 60 */ lwz r0, 0x60(r29)
/* 802D7E8C 002D4DCC 2C 00 00 01 */ cmpwi r0, 1
/* 802D7E90 002D4DD0 3B E0 FF E0 */ li r31, -32
/* 802D7E94 002D4DD4 40 82 00 08 */ bne lbl_802D7E9C
/* 802D7E98 002D4DD8 3B E0 00 20 */ li r31, 0x20
lbl_802D7E9C:
/* 802D7E9C 002D4DDC 80 7E 00 0C */ lwz r3, 0xc(r30)
/* 802D7EA0 002D4DE0 7F E4 FB 78 */ mr r4, r31
/* 802D7EA4 002D4DE4 80 BD 00 38 */ lwz r5, 0x38(r29)
/* 802D7EA8 002D4DE8 4B FF 65 CD */ bl alloc__7JKRHeapFUliP7JKRHeap
/* 802D7EAC 002D4DEC 90 7D 00 44 */ stw r3, 0x44(r29)
/* 802D7EB0 002D4DF0 80 9D 00 44 */ lwz r4, 0x44(r29)
/* 802D7EB4 002D4DF4 28 04 00 00 */ cmplwi r4, 0
/* 802D7EB8 002D4DF8 40 82 00 10 */ bne lbl_802D7EC8
/* 802D7EBC 002D4DFC 38 00 00 00 */ li r0, 0
/* 802D7EC0 002D4E00 98 1D 00 3C */ stb r0, 0x3c(r29)
/* 802D7EC4 002D4E04 48 00 01 24 */ b lbl_802D7FE8
lbl_802D7EC8:
/* 802D7EC8 002D4E08 38 00 00 00 */ li r0, 0
/* 802D7ECC 002D4E0C 90 01 00 08 */ stw r0, 8(r1)
/* 802D7ED0 002D4E10 7F 83 E3 78 */ mr r3, r28
/* 802D7ED4 002D4E14 38 A0 00 01 */ li r5, 1
/* 802D7ED8 002D4E18 80 DE 00 0C */ lwz r6, 0xc(r30)
/* 802D7EDC 002D4E1C 38 E0 00 00 */ li r7, 0
/* 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__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
/* 802D7EFC 002D4E3C 80 7D 00 44 */ lwz r3, 0x44(r29)
/* 802D7F00 002D4E40 80 03 00 04 */ lwz r0, 4(r3)
/* 802D7F04 002D4E44 7C 03 02 14 */ add r0, r3, r0
/* 802D7F08 002D4E48 90 1D 00 48 */ stw r0, 0x48(r29)
/* 802D7F0C 002D4E4C 80 7D 00 44 */ lwz r3, 0x44(r29)
/* 802D7F10 002D4E50 80 03 00 0C */ lwz r0, 0xc(r3)
/* 802D7F14 002D4E54 7C 03 02 14 */ add r0, r3, r0
/* 802D7F18 002D4E58 90 1D 00 4C */ stw r0, 0x4c(r29)
/* 802D7F1C 002D4E5C 80 7D 00 44 */ lwz r3, 0x44(r29)
/* 802D7F20 002D4E60 80 03 00 14 */ lwz r0, 0x14(r3)
/* 802D7F24 002D4E64 7C 03 02 14 */ add r0, r3, r0
/* 802D7F28 002D4E68 90 1D 00 54 */ stw r0, 0x54(r29)
/* 802D7F2C 002D4E6C 38 00 00 00 */ li r0, 0
/* 802D7F30 002D4E70 90 1D 00 50 */ stw r0, 0x50(r29)
/* 802D7F34 002D4E74 38 80 00 00 */ li r4, 0
/* 802D7F38 002D4E78 80 BD 00 4C */ lwz r5, 0x4c(r29)
/* 802D7F3C 002D4E7C 80 7D 00 44 */ lwz r3, 0x44(r29)
/* 802D7F40 002D4E80 80 03 00 08 */ lwz r0, 8(r3)
/* 802D7F44 002D4E84 7C 09 03 A6 */ mtctr r0
/* 802D7F48 002D4E88 28 00 00 00 */ cmplwi r0, 0
/* 802D7F4C 002D4E8C 40 81 00 28 */ ble lbl_802D7F74
lbl_802D7F50:
/* 802D7F50 002D4E90 80 05 00 04 */ lwz r0, 4(r5)
/* 802D7F54 002D4E94 54 03 46 3E */ srwi r3, r0, 0x18
/* 802D7F58 002D4E98 54 00 47 FF */ rlwinm. r0, r0, 8, 0x1f, 0x1f
/* 802D7F5C 002D4E9C 41 82 00 10 */ beq lbl_802D7F6C
/* 802D7F60 002D4EA0 54 60 07 7A */ rlwinm r0, r3, 0, 0x1d, 0x1d
/* 802D7F64 002D4EA4 7C 80 03 78 */ or r0, r4, r0
/* 802D7F68 002D4EA8 54 04 06 3E */ clrlwi r4, r0, 0x18
lbl_802D7F6C:
/* 802D7F6C 002D4EAC 38 A5 00 14 */ addi r5, r5, 0x14
/* 802D7F70 002D4EB0 42 00 FF E0 */ bdnz lbl_802D7F50
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 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)
/* 802D7F90 002D4ED0 80 03 00 08 */ lwz r0, 8(r3)
/* 802D7F94 002D4ED4 54 03 10 3A */ slwi r3, r0, 2
/* 802D7F98 002D4ED8 4B FF 64 DD */ bl alloc__7JKRHeapFUliP7JKRHeap
/* 802D7F9C 002D4EDC 90 7D 00 50 */ stw r3, 0x50(r29)
/* 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, 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
/* 802D7FBC 002D4EFC 98 1D 00 3C */ stb r0, 0x3c(r29)
/* 802D7FC0 002D4F00 48 00 00 28 */ b lbl_802D7FE8
lbl_802D7FC4:
/* 802D7FC4 002D4F04 38 80 00 00 */ li r4, 0
/* 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 memset
lbl_802D7FD8:
/* 802D7FD8 002D4F18 80 7E 00 08 */ lwz r3, 8(r30)
/* 802D7FDC 002D4F1C 80 1E 00 0C */ lwz r0, 0xc(r30)
/* 802D7FE0 002D4F20 7C 03 02 14 */ add r0, r3, r0
/* 802D7FE4 002D4F24 90 1D 00 64 */ stw r0, 0x64(r29)
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, 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:
/* 802D7FFC 002D4F3C 88 1D 00 3C */ lbz r0, 0x3c(r29)
/* 802D8000 002D4F40 28 00 00 00 */ cmplwi r0, 0
/* 802D8004 002D4F44 40 82 00 30 */ bne lbl_802D8034
/* 802D8008 002D4F48 80 7D 00 68 */ lwz r3, 0x68(r29)
/* 802D800C 002D4F4C 28 03 00 00 */ cmplwi r3, 0
/* 802D8010 002D4F50 41 82 00 1C */ beq lbl_802D802C
/* 802D8014 002D4F54 41 82 00 18 */ beq lbl_802D802C
/* 802D8018 002D4F58 38 80 00 01 */ li r4, 1
/* 802D801C 002D4F5C 81 83 00 00 */ lwz r12, 0(r3)
/* 802D8020 002D4F60 81 8C 00 08 */ lwz r12, 8(r12)
/* 802D8024 002D4F64 7D 89 03 A6 */ mtctr r12
/* 802D8028 002D4F68 4E 80 04 21 */ bctrl
lbl_802D802C:
/* 802D802C 002D4F6C 38 60 00 00 */ li r3, 0
/* 802D8030 002D4F70 48 00 00 08 */ b lbl_802D8038
lbl_802D8034:
/* 802D8034 002D4F74 38 60 00 01 */ li r3, 1
lbl_802D8038:
/* 802D8038 002D4F78 39 61 00 20 */ addi r11, r1, 0x20
/* 802D803C 002D4F7C 48 08 A1 E9 */ bl _restgpr_28
/* 802D8040 002D4F80 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802D8044 002D4F84 7C 08 03 A6 */ mtlr r0
/* 802D8048 002D4F88 38 21 00 20 */ addi r1, r1, 0x20
/* 802D804C 002D4F8C 4E 80 00 20 */ blr
@@ -1,75 +0,0 @@
/* fetchResource__13JKRDvdArchiveFPvUlP12SDIFileEntryPUl __ct__13JKRDvdArchiveFlQ210JKRArchive15EMountDirection::fetchResource(void *, unsigned long, JKRArchive::SDIFileEntry *, unsigned long *) */
/* missing reference */
/* 802D8168 002D50A8 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802D816C 002D50AC 7C 08 02 A6 */ mflr r0
/* 802D8170 002D50B0 90 01 00 24 */ stw r0, 0x24(r1)
/* 802D8174 002D50B4 39 61 00 20 */ addi r11, r1, 0x20
/* 802D8178 002D50B8 48 08 A0 5D */ bl _savegpr_27
/* 802D817C 002D50BC 7C 69 1B 78 */ mr r9, r3
/* 802D8180 002D50C0 7C 9B 23 78 */ mr r27, r4
/* 802D8184 002D50C4 7C BC 2B 78 */ mr r28, r5
/* 802D8188 002D50C8 7C DD 33 78 */ mr r29, r6
/* 802D818C 002D50CC 7C FE 3B 78 */ mr r30, r7
/* 802D8190 002D50D0 80 A6 00 0C */ lwz r5, 0xc(r6)
/* 802D8194 002D50D4 7C BF 2B 78 */ mr r31, r5
/* 802D8198 002D50D8 80 06 00 04 */ lwz r0, 4(r6)
/* 802D819C 002D50DC 54 03 46 3E */ srwi r3, r0, 0x18
/* 802D81A0 002D50E0 54 00 47 7B */ rlwinm. r0, r0, 8, 0x1d, 0x1d
/* 802D81A4 002D50E4 40 82 00 0C */ bne lbl_802D81B0
/* 802D81A8 002D50E8 39 00 00 00 */ li r8, 0
/* 802D81AC 002D50EC 48 00 00 18 */ b lbl_802D81C4
lbl_802D81B0:
/* 802D81B0 002D50F0 54 60 06 31 */ rlwinm. r0, r3, 0, 0x18, 0x18
/* 802D81B4 002D50F4 41 82 00 0C */ beq lbl_802D81C0
/* 802D81B8 002D50F8 39 00 00 02 */ li r8, 2
/* 802D81BC 002D50FC 48 00 00 08 */ b lbl_802D81C4
lbl_802D81C0:
/* 802D81C0 002D5100 39 00 00 01 */ li r8, 1
lbl_802D81C4:
/* 802D81C4 002D5104 80 1D 00 10 */ lwz r0, 0x10(r29)
/* 802D81C8 002D5108 28 00 00 00 */ cmplwi r0, 0
/* 802D81CC 002D510C 40 82 00 30 */ bne lbl_802D81FC
/* 802D81D0 002D5110 57 9C 00 34 */ rlwinm r28, r28, 0, 0, 0x1a
/* 802D81D4 002D5114 80 69 00 40 */ lwz r3, 0x40(r9)
/* 802D81D8 002D5118 80 89 00 64 */ lwz r4, 0x64(r9)
/* 802D81DC 002D511C 80 1D 00 08 */ lwz r0, 8(r29)
/* 802D81E0 002D5120 7C 84 02 14 */ add r4, r4, r0
/* 802D81E4 002D5124 7F 66 DB 78 */ mr r6, r27
/* 802D81E8 002D5128 7F 87 E3 78 */ mr r7, r28
/* 802D81EC 002D512C 81 29 00 5C */ lwz r9, 0x5c(r9)
/* 802D81F0 002D5130 48 00 00 7D */ bl fetchResource_subroutine__13JKRDvdArchiveFlUlUlPUcUlii
/* 802D81F4 002D5134 7C 7F 1B 78 */ mr r31, r3
/* 802D81F8 002D5138 48 00 00 4C */ b lbl_802D8244
lbl_802D81FC:
/* 802D81FC 002D513C 2C 08 00 02 */ cmpwi r8, 2
/* 802D8200 002D5140 40 82 00 28 */ bne lbl_802D8228
/* 802D8204 002D5144 7D 23 4B 78 */ mr r3, r9
/* 802D8208 002D5148 7F A4 EB 78 */ mr r4, r29
/* 802D820C 002D514C 81 89 00 00 */ lwz r12, 0(r9)
/* 802D8210 002D5150 81 8C 00 4C */ lwz r12, 0x4c(r12)
/* 802D8214 002D5154 7D 89 03 A6 */ mtctr r12
/* 802D8218 002D5158 4E 80 04 21 */ bctrl
/* 802D821C 002D515C 28 03 00 00 */ cmplwi r3, 0
/* 802D8220 002D5160 41 82 00 08 */ beq lbl_802D8228
/* 802D8224 002D5164 7C 7F 1B 78 */ mr r31, r3
lbl_802D8228:
/* 802D8228 002D5168 7C 1F E0 40 */ cmplw r31, r28
/* 802D822C 002D516C 40 81 00 08 */ ble lbl_802D8234
/* 802D8230 002D5170 7F 9F E3 78 */ mr r31, r28
lbl_802D8234:
/* 802D8234 002D5174 7F 63 DB 78 */ mr r3, r27
/* 802D8238 002D5178 80 9D 00 10 */ lwz r4, 0x10(r29)
/* 802D823C 002D517C 7F E5 FB 78 */ mr r5, r31
/* 802D8240 002D5180 4B FF 68 D9 */ bl copyMemory__7JKRHeapFPvPvUl
lbl_802D8244:
/* 802D8244 002D5184 28 1E 00 00 */ cmplwi r30, 0
/* 802D8248 002D5188 41 82 00 08 */ beq lbl_802D8250
/* 802D824C 002D518C 93 FE 00 00 */ stw r31, 0(r30)
lbl_802D8250:
/* 802D8250 002D5190 7F 63 DB 78 */ mr r3, r27
/* 802D8254 002D5194 39 61 00 20 */ addi r11, r1, 0x20
/* 802D8258 002D5198 48 08 9F C9 */ bl _restgpr_27
/* 802D825C 002D519C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802D8260 002D51A0 7C 08 03 A6 */ mtlr r0
/* 802D8264 002D51A4 38 21 00 20 */ addi r1, r1, 0x20
/* 802D8268 002D51A8 4E 80 00 20 */ blr
+7
View File
@@ -0,0 +1,7 @@
#ifndef JKRDVDFILE_H
#define JKRDVDFILE_H
#include "dolphin/types.h"
#endif /* JKRDVDFILE_H */
@@ -1,60 +0,0 @@
#ifndef JKRDVDFILE_H_
#define JKRDVDFILE_H_
#include "JSystem/JKernel/JKRFile/JKRFile.h"
#include "dolphin/types.h"
#include "dvd/dvd.h"
#include "global.h"
class JKRADCommand;
class JSUFileInputStream;
class JKRDvdFile : public JKRFile {
public:
JKRDvdFile();
JKRDvdFile(const char*);
JKRDvdFile(long);
virtual ~JKRDvdFile();
void initiate(void);
s32 sync(void);
u32 getFileID() const { return mFileInfo.start_address; }
const DVDFileInfo& getFileInfo() const { return mFileInfo; }
int getStatus() { return DVDGetCommandBlockStatus(&mFileInfo.block); }
public:
/* vt[03] */ virtual bool open(const char*); /* override */
/* vt[04] */ virtual void close(void); /* override */
/* vt[05] */ virtual s32 readData(void*, s32, s32); /* override */
/* vt[06] */ virtual s32 writeData(const void*, s32, s32); /* override */
/* vt[07] */ virtual s32 getFileSize(void) const; /* override */
/* vt[08] */ virtual bool open(s32);
private:
/* 0x00 */ // vtable
/* 0x04 */ // JKRFile
/* 0x1C */ OSMutex mMutex1;
/* 0x34 */ OSMutex mMutex2;
/* 0x4C */ u32 field_0x4c;
/* 0x50 */ u32 field_0x50;
/* 0x54 */ u32 field_0x54;
/* 0x58 */ u32 field_0x58;
/* 0x5C */ DVDFileInfo mFileInfo;
/* 0x98 */ JKRDvdFile* mDvdFile;
/* 0x9C */ OSMessageQueue mMessageQueue1;
/* 0xBC */ OSMessage mMessage1;
/* 0xC0 */ OSMessageQueue mMessageQueue2;
/* 0xE0 */ OSMessage mMessage2;
/* 0xE4 */ JSULink<JKRDvdFile> mDvdLink;
/* 0xF4 */ OSThread* mOSThread;
public:
static void doneProcess(long, DVDFileInfo*);
static JSUList<JKRDvdFile>& getDvdList() { return sDvdList; }
private:
static JSUList<JKRDvdFile> sDvdList;
};
#endif
+7
View File
@@ -0,0 +1,7 @@
#ifndef JKRDVDRIPPER_H
#define JKRDVDRIPPER_H
#include "dolphin/types.h"
#endif /* JKRDVDRIPPER_H */
@@ -1,42 +0,0 @@
#ifndef JKRDVDRIPPER_H_
#define JKRDVDRIPPER_H_
#include "JSystem/JKernel/JKRDecomp/JKRDecomp.h"
#include "dolphin/types.h"
enum JKRExpandSwitch {
EXPAND_SWITCH_UNKNOWN0 = 0,
EXPAND_SWITCH_UNKNOWN1 = 1,
EXPAND_SWITCH_UNKNOWN2 = 2,
};
class JKRHeap;
class JKRDvdFile;
class JKRDvdRipper {
public:
enum EAllocDirection {
UNKNOWN_EALLOC_DIRECTION = 0,
ALLOC_DIRECTION_FORWARD = 1,
ALLOC_DIRECTION_BACKWARD = 2,
};
static void* loadToMainRAM(char const*, u8*, JKRExpandSwitch, u32, JKRHeap*, EAllocDirection,
u32, JKRCompression*, u32*);
static void* loadToMainRAM(long, u8*, JKRExpandSwitch, u32, JKRHeap*, EAllocDirection, u32,
JKRCompression*, u32*);
static void* loadToMainRAM(JKRDvdFile*, u8*, JKRExpandSwitch, u32, JKRHeap*, EAllocDirection,
u32, JKRCompression*, u32*);
void isErrorRetry(void);
};
void JKRDecompressFromDVD(JKRDvdFile*, void*, u32, u32, u32, u32, u32*);
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,51 +0,0 @@
/* 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
/* 802D9BA0 002D6AE0 90 01 01 34 */ stw r0, 0x134(r1)
/* 802D9BA4 002D6AE4 39 61 01 30 */ addi r11, r1, 0x130
/* 802D9BA8 002D6AE8 48 08 86 1D */ bl _savegpr_23
/* 802D9BAC 002D6AEC 7C 77 1B 78 */ mr r23, r3
/* 802D9BB0 002D6AF0 7C 98 23 78 */ mr r24, r4
/* 802D9BB4 002D6AF4 7C B9 2B 78 */ mr r25, r5
/* 802D9BB8 002D6AF8 7C DA 33 78 */ mr r26, r6
/* 802D9BBC 002D6AFC 7C FB 3B 78 */ mr r27, r7
/* 802D9BC0 002D6B00 7D 1C 43 78 */ mr r28, r8
/* 802D9BC4 002D6B04 7D 3D 4B 78 */ mr r29, r9
/* 802D9BC8 002D6B08 7D 5E 53 78 */ mr r30, r10
/* 802D9BCC 002D6B0C 83 E1 01 38 */ lwz r31, 0x138(r1)
/* 802D9BD0 002D6B10 38 61 00 10 */ addi r3, r1, 0x10
/* 802D9BD4 002D6B14 4B FF F9 B1 */ bl __ct__10JKRDvdFileFv
/* 802D9BD8 002D6B18 38 61 00 10 */ addi r3, r1, 0x10
/* 802D9BDC 002D6B1C 7E E4 BB 78 */ mr r4, r23
/* 802D9BE0 002D6B20 4B FF FC 71 */ bl open__10JKRDvdFileFPCc
/* 802D9BE4 002D6B24 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 802D9BE8 002D6B28 40 82 00 18 */ bne lbl_802D9C00
/* 802D9BEC 002D6B2C 38 61 00 10 */ addi r3, r1, 0x10
/* 802D9BF0 002D6B30 38 80 FF FF */ li r4, -1
/* 802D9BF4 002D6B34 4B FF FB 55 */ bl __dt__10JKRDvdFileFv
/* 802D9BF8 002D6B38 38 60 00 00 */ li r3, 0
/* 802D9BFC 002D6B3C 48 00 00 40 */ b lbl_802D9C3C
lbl_802D9C00:
/* 802D9C00 002D6B40 93 E1 00 08 */ stw r31, 8(r1)
/* 802D9C04 002D6B44 38 61 00 10 */ addi r3, r1, 0x10
/* 802D9C08 002D6B48 7F 04 C3 78 */ mr r4, r24
/* 802D9C0C 002D6B4C 7F 25 CB 78 */ mr r5, r25
/* 802D9C10 002D6B50 7F 46 D3 78 */ mr r6, r26
/* 802D9C14 002D6B54 7F 67 DB 78 */ mr r7, r27
/* 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__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
/* 802D9C34 002D6B74 4B FF FB 15 */ bl __dt__10JKRDvdFileFv
/* 802D9C38 002D6B78 7F E3 FB 78 */ mr r3, r31
lbl_802D9C3C:
/* 802D9C3C 002D6B7C 39 61 01 30 */ addi r11, r1, 0x130
/* 802D9C40 002D6B80 48 08 85 D1 */ bl _restgpr_23
/* 802D9C44 002D6B84 80 01 01 34 */ lwz r0, 0x134(r1)
/* 802D9C48 002D6B88 7C 08 03 A6 */ mtlr r0
/* 802D9C4C 002D6B8C 38 21 01 30 */ addi r1, r1, 0x130
/* 802D9C50 002D6B90 4E 80 00 20 */ blr
@@ -1,51 +0,0 @@
/* 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
/* 802D9C5C 002D6B9C 90 01 01 34 */ stw r0, 0x134(r1)
/* 802D9C60 002D6BA0 39 61 01 30 */ addi r11, r1, 0x130
/* 802D9C64 002D6BA4 48 08 85 61 */ bl _savegpr_23
/* 802D9C68 002D6BA8 7C 77 1B 78 */ mr r23, r3
/* 802D9C6C 002D6BAC 7C 98 23 78 */ mr r24, r4
/* 802D9C70 002D6BB0 7C B9 2B 78 */ mr r25, r5
/* 802D9C74 002D6BB4 7C DA 33 78 */ mr r26, r6
/* 802D9C78 002D6BB8 7C FB 3B 78 */ mr r27, r7
/* 802D9C7C 002D6BBC 7D 1C 43 78 */ mr r28, r8
/* 802D9C80 002D6BC0 7D 3D 4B 78 */ mr r29, r9
/* 802D9C84 002D6BC4 7D 5E 53 78 */ mr r30, r10
/* 802D9C88 002D6BC8 83 E1 01 38 */ lwz r31, 0x138(r1)
/* 802D9C8C 002D6BCC 38 61 00 10 */ addi r3, r1, 0x10
/* 802D9C90 002D6BD0 4B FF F8 F5 */ bl __ct__10JKRDvdFileFv
/* 802D9C94 002D6BD4 38 61 00 10 */ addi r3, r1, 0x10
/* 802D9C98 002D6BD8 7E E4 BB 78 */ mr r4, r23
/* 802D9C9C 002D6BDC 4B FF FC 29 */ bl open__10JKRDvdFileFl
/* 802D9CA0 002D6BE0 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 802D9CA4 002D6BE4 40 82 00 18 */ bne lbl_802D9CBC
/* 802D9CA8 002D6BE8 38 61 00 10 */ addi r3, r1, 0x10
/* 802D9CAC 002D6BEC 38 80 FF FF */ li r4, -1
/* 802D9CB0 002D6BF0 4B FF FA 99 */ bl __dt__10JKRDvdFileFv
/* 802D9CB4 002D6BF4 38 60 00 00 */ li r3, 0
/* 802D9CB8 002D6BF8 48 00 00 40 */ b lbl_802D9CF8
lbl_802D9CBC:
/* 802D9CBC 002D6BFC 93 E1 00 08 */ stw r31, 8(r1)
/* 802D9CC0 002D6C00 38 61 00 10 */ addi r3, r1, 0x10
/* 802D9CC4 002D6C04 7F 04 C3 78 */ mr r4, r24
/* 802D9CC8 002D6C08 7F 25 CB 78 */ mr r5, r25
/* 802D9CCC 002D6C0C 7F 46 D3 78 */ mr r6, r26
/* 802D9CD0 002D6C10 7F 67 DB 78 */ mr r7, r27
/* 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__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
/* 802D9CF0 002D6C30 4B FF FA 59 */ bl __dt__10JKRDvdFileFv
/* 802D9CF4 002D6C34 7F E3 FB 78 */ mr r3, r31
lbl_802D9CF8:
/* 802D9CF8 002D6C38 39 61 01 30 */ addi r11, r1, 0x130
/* 802D9CFC 002D6C3C 48 08 85 15 */ bl _restgpr_23
/* 802D9D00 002D6C40 80 01 01 34 */ lwz r0, 0x134(r1)
/* 802D9D04 002D6C44 7C 08 03 A6 */ mtlr r0
/* 802D9D08 002D6C48 38 21 01 30 */ addi r1, r1, 0x130
/* 802D9D0C 002D6C4C 4E 80 00 20 */ blr
@@ -1,357 +0,0 @@
/* 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
/* 802D9D18 002D6C58 90 01 00 C4 */ stw r0, 0xc4(r1)
/* 802D9D1C 002D6C5C 39 61 00 C0 */ addi r11, r1, 0xc0
/* 802D9D20 002D6C60 48 08 84 91 */ bl _savegpr_18
/* 802D9D24 002D6C64 7C 76 1B 78 */ mr r22, r3
/* 802D9D28 002D6C68 7C 9C 23 78 */ mr r28, r4
/* 802D9D2C 002D6C6C 7C B5 2B 78 */ mr r21, r5
/* 802D9D30 002D6C70 7C DF 33 78 */ mr r31, r6
/* 802D9D34 002D6C74 7C F4 3B 78 */ mr r20, r7
/* 802D9D38 002D6C78 7D 12 43 78 */ mr r18, r8
/* 802D9D3C 002D6C7C 7D 3E 4B 78 */ mr r30, r9
/* 802D9D40 002D6C80 7D 53 53 78 */ mr r19, r10
/* 802D9D44 002D6C84 82 E1 00 C8 */ lwz r23, 0xc8(r1)
/* 802D9D48 002D6C88 3B 20 00 00 */ li r25, 0
/* 802D9D4C 002D6C8C 3B 60 00 00 */ li r27, 0
/* 802D9D50 002D6C90 3B A0 00 00 */ li r29, 0
/* 802D9D54 002D6C94 81 83 00 00 */ lwz r12, 0(r3)
/* 802D9D58 002D6C98 81 8C 00 1C */ lwz r12, 0x1c(r12)
/* 802D9D5C 002D6C9C 7D 89 03 A6 */ mtctr r12
/* 802D9D60 002D6CA0 4E 80 04 21 */ bctrl
/* 802D9D64 002D6CA4 38 03 00 1F */ addi r0, r3, 0x1f
/* 802D9D68 002D6CA8 54 18 00 34 */ rlwinm r24, r0, 0, 0, 0x1a
/* 802D9D6C 002D6CAC 2C 15 00 01 */ cmpwi r21, 1
/* 802D9D70 002D6CB0 40 82 00 94 */ bne lbl_802D9E04
/* 802D9D74 002D6CB4 38 01 00 67 */ addi r0, r1, 0x67
/* 802D9D78 002D6CB8 54 1A 00 34 */ rlwinm r26, r0, 0, 0, 0x1a
lbl_802D9D7C:
/* 802D9D7C 002D6CBC 38 76 00 5C */ addi r3, r22, 0x5c
/* 802D9D80 002D6CC0 7F 44 D3 78 */ mr r4, r26
/* 802D9D84 002D6CC4 38 A0 00 20 */ li r5, 0x20
/* 802D9D88 002D6CC8 38 C0 00 00 */ li r6, 0
/* 802D9D8C 002D6CCC 38 E0 00 02 */ li r7, 2
/* 802D9D90 002D6CD0 48 06 F0 B5 */ bl DVDReadPrio
/* 802D9D94 002D6CD4 2C 03 00 00 */ cmpwi r3, 0
/* 802D9D98 002D6CD8 40 80 00 28 */ bge lbl_802D9DC0
/* 802D9D9C 002D6CDC 2C 03 FF FD */ cmpwi r3, -3
/* 802D9DA0 002D6CE0 41 82 00 10 */ beq lbl_802D9DB0
/* 802D9DA4 002D6CE4 88 0D 83 48 */ lbz r0, lbl_804508C8-_SDA_BASE_(r13)
/* 802D9DA8 002D6CE8 28 00 00 00 */ cmplwi r0, 0
/* 802D9DAC 002D6CEC 40 82 00 0C */ bne lbl_802D9DB8
lbl_802D9DB0:
/* 802D9DB0 002D6CF0 38 60 00 00 */ li r3, 0
/* 802D9DB4 002D6CF4 48 00 04 18 */ b lbl_802DA1CC
lbl_802D9DB8:
/* 802D9DB8 002D6CF8 48 07 2C 0D */ bl VIWaitForRetrace
/* 802D9DBC 002D6CFC 4B FF FF C0 */ b lbl_802D9D7C
lbl_802D9DC0:
/* 802D9DC0 002D6D00 7F 43 D3 78 */ mr r3, r26
/* 802D9DC4 002D6D04 38 80 00 20 */ li r4, 0x20
/* 802D9DC8 002D6D08 48 06 17 B9 */ bl DCInvalidateRange
/* 802D9DCC 002D6D0C 7F 43 D3 78 */ mr r3, r26
/* 802D9DD0 002D6D10 48 00 1F 29 */ bl checkCompressed__9JKRDecompFPUc
/* 802D9DD4 002D6D14 2C 03 00 03 */ cmpwi r3, 3
/* 802D9DD8 002D6D18 40 82 00 08 */ bne lbl_802D9DE0
/* 802D9DDC 002D6D1C 38 60 00 00 */ li r3, 0
lbl_802D9DE0:
/* 802D9DE0 002D6D20 7C 7B 1B 78 */ mr r27, r3
/* 802D9DE4 002D6D24 88 BA 00 07 */ lbz r5, 7(r26)
/* 802D9DE8 002D6D28 88 9A 00 06 */ lbz r4, 6(r26)
/* 802D9DEC 002D6D2C 88 7A 00 04 */ lbz r3, 4(r26)
/* 802D9DF0 002D6D30 88 1A 00 05 */ lbz r0, 5(r26)
/* 802D9DF4 002D6D34 54 00 80 1E */ slwi r0, r0, 0x10
/* 802D9DF8 002D6D38 50 60 C0 0E */ rlwimi r0, r3, 0x18, 0, 7
/* 802D9DFC 002D6D3C 50 80 44 2E */ rlwimi r0, r4, 8, 0x10, 0x17
/* 802D9E00 002D6D40 7C BA 03 78 */ or r26, r5, r0
lbl_802D9E04:
/* 802D9E04 002D6D44 28 13 00 00 */ cmplwi r19, 0
/* 802D9E08 002D6D48 41 82 00 08 */ beq lbl_802D9E10
/* 802D9E0C 002D6D4C 93 73 00 00 */ stw r27, 0(r19)
lbl_802D9E10:
/* 802D9E10 002D6D50 2C 15 00 01 */ cmpwi r21, 1
/* 802D9E14 002D6D54 40 82 00 9C */ bne lbl_802D9EB0
/* 802D9E18 002D6D58 2C 1B 00 00 */ cmpwi r27, 0
/* 802D9E1C 002D6D5C 41 82 00 94 */ beq lbl_802D9EB0
/* 802D9E20 002D6D60 28 1F 00 00 */ cmplwi r31, 0
/* 802D9E24 002D6D64 41 82 00 10 */ beq lbl_802D9E34
/* 802D9E28 002D6D68 7C 1A F8 40 */ cmplw r26, r31
/* 802D9E2C 002D6D6C 40 81 00 08 */ ble lbl_802D9E34
/* 802D9E30 002D6D70 7F FA FB 78 */ mr r26, r31
lbl_802D9E34:
/* 802D9E34 002D6D74 28 1C 00 00 */ cmplwi r28, 0
/* 802D9E38 002D6D78 40 82 00 28 */ bne lbl_802D9E60
/* 802D9E3C 002D6D7C 7F 43 D3 78 */ mr r3, r26
/* 802D9E40 002D6D80 2C 12 00 01 */ cmpwi r18, 1
/* 802D9E44 002D6D84 38 80 FF E0 */ li r4, -32
/* 802D9E48 002D6D88 40 82 00 08 */ bne lbl_802D9E50
/* 802D9E4C 002D6D8C 38 80 00 20 */ li r4, 0x20
lbl_802D9E50:
/* 802D9E50 002D6D90 7E 85 A3 78 */ mr r5, r20
/* 802D9E54 002D6D94 4B FF 46 21 */ bl alloc__7JKRHeapFUliP7JKRHeap
/* 802D9E58 002D6D98 7C 7C 1B 78 */ mr r28, r3
/* 802D9E5C 002D6D9C 3B 20 00 01 */ li r25, 1
lbl_802D9E60:
/* 802D9E60 002D6DA0 28 1C 00 00 */ cmplwi r28, 0
/* 802D9E64 002D6DA4 40 82 00 0C */ bne lbl_802D9E70
/* 802D9E68 002D6DA8 38 60 00 00 */ li r3, 0
/* 802D9E6C 002D6DAC 48 00 03 60 */ b lbl_802DA1CC
lbl_802D9E70:
/* 802D9E70 002D6DB0 2C 1B 00 01 */ cmpwi r27, 1
/* 802D9E74 002D6DB4 40 82 00 8C */ bne lbl_802D9F00
/* 802D9E78 002D6DB8 7F 03 C3 78 */ mr r3, r24
/* 802D9E7C 002D6DBC 38 80 00 20 */ li r4, 0x20
/* 802D9E80 002D6DC0 7E 85 A3 78 */ mr r5, r20
/* 802D9E84 002D6DC4 4B FF 45 F1 */ bl alloc__7JKRHeapFUliP7JKRHeap
/* 802D9E88 002D6DC8 7C 7D 1B 79 */ or. r29, r3, r3
/* 802D9E8C 002D6DCC 40 82 00 74 */ bne lbl_802D9F00
/* 802D9E90 002D6DD0 57 20 06 3E */ clrlwi r0, r25, 0x18
/* 802D9E94 002D6DD4 28 00 00 01 */ cmplwi r0, 1
/* 802D9E98 002D6DD8 40 82 00 68 */ bne lbl_802D9F00
/* 802D9E9C 002D6DDC 7F 83 E3 78 */ mr r3, r28
/* 802D9EA0 002D6DE0 38 80 00 00 */ li r4, 0
/* 802D9EA4 002D6DE4 4B FF 46 5D */ bl free__7JKRHeapFPvP7JKRHeap
/* 802D9EA8 002D6DE8 38 60 00 00 */ li r3, 0
/* 802D9EAC 002D6DEC 48 00 03 20 */ b lbl_802DA1CC
lbl_802D9EB0:
/* 802D9EB0 002D6DF0 28 1C 00 00 */ cmplwi r28, 0
/* 802D9EB4 002D6DF4 40 82 00 3C */ bne lbl_802D9EF0
/* 802D9EB8 002D6DF8 7C 7E C0 50 */ subf r3, r30, r24
/* 802D9EBC 002D6DFC 28 1F 00 00 */ cmplwi r31, 0
/* 802D9EC0 002D6E00 41 82 00 10 */ beq lbl_802D9ED0
/* 802D9EC4 002D6E04 7C 03 F8 40 */ cmplw r3, r31
/* 802D9EC8 002D6E08 40 81 00 08 */ ble lbl_802D9ED0
/* 802D9ECC 002D6E0C 7F E3 FB 78 */ mr r3, r31
lbl_802D9ED0:
/* 802D9ED0 002D6E10 2C 12 00 01 */ cmpwi r18, 1
/* 802D9ED4 002D6E14 38 80 FF E0 */ li r4, -32
/* 802D9ED8 002D6E18 40 82 00 08 */ bne lbl_802D9EE0
/* 802D9EDC 002D6E1C 38 80 00 20 */ li r4, 0x20
lbl_802D9EE0:
/* 802D9EE0 002D6E20 7E 85 A3 78 */ mr r5, r20
/* 802D9EE4 002D6E24 4B FF 45 91 */ bl alloc__7JKRHeapFUliP7JKRHeap
/* 802D9EE8 002D6E28 7C 7C 1B 78 */ mr r28, r3
/* 802D9EEC 002D6E2C 3B 20 00 01 */ li r25, 1
lbl_802D9EF0:
/* 802D9EF0 002D6E30 28 1C 00 00 */ cmplwi r28, 0
/* 802D9EF4 002D6E34 40 82 00 0C */ bne lbl_802D9F00
/* 802D9EF8 002D6E38 38 60 00 00 */ li r3, 0
/* 802D9EFC 002D6E3C 48 00 02 D0 */ b lbl_802DA1CC
lbl_802D9F00:
/* 802D9F00 002D6E40 2C 1B 00 00 */ cmpwi r27, 0
/* 802D9F04 002D6E44 40 82 01 8C */ bne lbl_802DA090
/* 802D9F08 002D6E48 38 60 00 00 */ li r3, 0
/* 802D9F0C 002D6E4C 28 1E 00 00 */ cmplwi r30, 0
/* 802D9F10 002D6E50 41 82 00 8C */ beq lbl_802D9F9C
/* 802D9F14 002D6E54 38 01 00 27 */ addi r0, r1, 0x27
/* 802D9F18 002D6E58 54 13 00 34 */ rlwinm r19, r0, 0, 0, 0x1a
/* 802D9F1C 002D6E5C 7F D2 F3 78 */ mr r18, r30
lbl_802D9F20:
/* 802D9F20 002D6E60 38 76 00 5C */ addi r3, r22, 0x5c
/* 802D9F24 002D6E64 7E 64 9B 78 */ mr r4, r19
/* 802D9F28 002D6E68 38 A0 00 20 */ li r5, 0x20
/* 802D9F2C 002D6E6C 7E 46 93 78 */ mr r6, r18
/* 802D9F30 002D6E70 38 E0 00 02 */ li r7, 2
/* 802D9F34 002D6E74 48 06 EF 11 */ bl DVDReadPrio
/* 802D9F38 002D6E78 2C 03 00 00 */ cmpwi r3, 0
/* 802D9F3C 002D6E7C 40 80 00 40 */ bge lbl_802D9F7C
/* 802D9F40 002D6E80 2C 03 FF FD */ cmpwi r3, -3
/* 802D9F44 002D6E84 41 82 00 10 */ beq lbl_802D9F54
/* 802D9F48 002D6E88 88 0D 83 48 */ lbz r0, lbl_804508C8-_SDA_BASE_(r13)
/* 802D9F4C 002D6E8C 28 00 00 00 */ cmplwi r0, 0
/* 802D9F50 002D6E90 40 82 00 24 */ bne lbl_802D9F74
lbl_802D9F54:
/* 802D9F54 002D6E94 57 20 06 3E */ clrlwi r0, r25, 0x18
/* 802D9F58 002D6E98 28 00 00 01 */ cmplwi r0, 1
/* 802D9F5C 002D6E9C 40 82 00 10 */ bne lbl_802D9F6C
/* 802D9F60 002D6EA0 7F 83 E3 78 */ mr r3, r28
/* 802D9F64 002D6EA4 38 80 00 00 */ li r4, 0
/* 802D9F68 002D6EA8 4B FF 45 99 */ bl free__7JKRHeapFPvP7JKRHeap
lbl_802D9F6C:
/* 802D9F6C 002D6EAC 38 60 00 00 */ li r3, 0
/* 802D9F70 002D6EB0 48 00 02 5C */ b lbl_802DA1CC
lbl_802D9F74:
/* 802D9F74 002D6EB4 48 07 2A 51 */ bl VIWaitForRetrace
/* 802D9F78 002D6EB8 4B FF FF A8 */ b lbl_802D9F20
lbl_802D9F7C:
/* 802D9F7C 002D6EBC 7E 63 9B 78 */ mr r3, r19
/* 802D9F80 002D6EC0 38 80 00 20 */ li r4, 0x20
/* 802D9F84 002D6EC4 48 06 15 FD */ bl DCInvalidateRange
/* 802D9F88 002D6EC8 7E 63 9B 78 */ mr r3, r19
/* 802D9F8C 002D6ECC 48 00 1D 6D */ bl checkCompressed__9JKRDecompFPUc
/* 802D9F90 002D6ED0 2C 03 00 03 */ cmpwi r3, 3
/* 802D9F94 002D6ED4 40 82 00 08 */ bne lbl_802D9F9C
/* 802D9F98 002D6ED8 38 60 00 00 */ li r3, 0
lbl_802D9F9C:
/* 802D9F9C 002D6EDC 2C 03 00 00 */ cmpwi r3, 0
/* 802D9FA0 002D6EE0 41 82 00 14 */ beq lbl_802D9FB4
/* 802D9FA4 002D6EE4 2C 15 00 02 */ cmpwi r21, 2
/* 802D9FA8 002D6EE8 41 82 00 0C */ beq lbl_802D9FB4
/* 802D9FAC 002D6EEC 2C 15 00 00 */ cmpwi r21, 0
/* 802D9FB0 002D6EF0 40 82 00 90 */ bne lbl_802DA040
lbl_802D9FB4:
/* 802D9FB4 002D6EF4 7E 7E C0 50 */ subf r19, r30, r24
/* 802D9FB8 002D6EF8 28 1F 00 00 */ cmplwi r31, 0
/* 802D9FBC 002D6EFC 41 82 00 10 */ beq lbl_802D9FCC
/* 802D9FC0 002D6F00 7C 1F 98 40 */ cmplw r31, r19
/* 802D9FC4 002D6F04 40 80 00 08 */ bge lbl_802D9FCC
/* 802D9FC8 002D6F08 7F F3 FB 78 */ mr r19, r31
lbl_802D9FCC:
/* 802D9FCC 002D6F0C 7F D2 F3 78 */ mr r18, r30
lbl_802D9FD0:
/* 802D9FD0 002D6F10 38 76 00 5C */ addi r3, r22, 0x5c
/* 802D9FD4 002D6F14 7F 84 E3 78 */ mr r4, r28
/* 802D9FD8 002D6F18 7E 65 9B 78 */ mr r5, r19
/* 802D9FDC 002D6F1C 7E 46 93 78 */ mr r6, r18
/* 802D9FE0 002D6F20 38 E0 00 02 */ li r7, 2
/* 802D9FE4 002D6F24 48 06 EE 61 */ bl DVDReadPrio
/* 802D9FE8 002D6F28 2C 03 00 00 */ cmpwi r3, 0
/* 802D9FEC 002D6F2C 40 80 00 40 */ bge lbl_802DA02C
/* 802D9FF0 002D6F30 2C 03 FF FD */ cmpwi r3, -3
/* 802D9FF4 002D6F34 41 82 00 10 */ beq lbl_802DA004
/* 802D9FF8 002D6F38 88 0D 83 48 */ lbz r0, lbl_804508C8-_SDA_BASE_(r13)
/* 802D9FFC 002D6F3C 28 00 00 00 */ cmplwi r0, 0
/* 802DA000 002D6F40 40 82 00 24 */ bne lbl_802DA024
lbl_802DA004:
/* 802DA004 002D6F44 57 20 06 3E */ clrlwi r0, r25, 0x18
/* 802DA008 002D6F48 28 00 00 01 */ cmplwi r0, 1
/* 802DA00C 002D6F4C 40 82 00 10 */ bne lbl_802DA01C
/* 802DA010 002D6F50 7F 83 E3 78 */ mr r3, r28
/* 802DA014 002D6F54 38 80 00 00 */ li r4, 0
/* 802DA018 002D6F58 4B FF 44 E9 */ bl free__7JKRHeapFPvP7JKRHeap
lbl_802DA01C:
/* 802DA01C 002D6F5C 38 60 00 00 */ li r3, 0
/* 802DA020 002D6F60 48 00 01 AC */ b lbl_802DA1CC
lbl_802DA024:
/* 802DA024 002D6F64 48 07 29 A1 */ bl VIWaitForRetrace
/* 802DA028 002D6F68 4B FF FF A8 */ b lbl_802D9FD0
lbl_802DA02C:
/* 802DA02C 002D6F6C 28 17 00 00 */ cmplwi r23, 0
/* 802DA030 002D6F70 41 82 00 08 */ beq lbl_802DA038
/* 802DA034 002D6F74 92 77 00 00 */ stw r19, 0(r23)
lbl_802DA038:
/* 802DA038 002D6F78 7F 83 E3 78 */ mr r3, r28
/* 802DA03C 002D6F7C 48 00 01 90 */ b lbl_802DA1CC
lbl_802DA040:
/* 802DA040 002D6F80 2C 03 00 02 */ cmpwi r3, 2
/* 802DA044 002D6F84 40 82 00 28 */ bne lbl_802DA06C
/* 802DA048 002D6F88 7E C3 B3 78 */ mr r3, r22
/* 802DA04C 002D6F8C 7F 84 E3 78 */ mr r4, r28
/* 802DA050 002D6F90 7F 05 C3 78 */ mr r5, r24
/* 802DA054 002D6F94 7F E6 FB 78 */ mr r6, r31
/* 802DA058 002D6F98 38 E0 00 00 */ li r7, 0
/* 802DA05C 002D6F9C 7F C8 F3 78 */ mr r8, r30
/* 802DA060 002D6FA0 7E E9 BB 78 */ mr r9, r23
/* 802DA064 002D6FA4 48 00 01 81 */ bl JKRDecompressFromDVD__FP10JKRDvdFilePvUlUlUlUlPUl
/* 802DA068 002D6FA8 48 00 00 20 */ b lbl_802DA088
lbl_802DA06C:
/* 802DA06C 002D6FAC 3C 60 80 3A */ lis r3, lbl_8039D290@ha
/* 802DA070 002D6FB0 38 63 D2 90 */ addi r3, r3, lbl_8039D290@l
/* 802DA074 002D6FB4 38 80 01 43 */ li r4, 0x143
/* 802DA078 002D6FB8 38 A3 00 11 */ addi r5, r3, 0x11
/* 802DA07C 002D6FBC 38 C3 00 14 */ addi r6, r3, 0x14
/* 802DA080 002D6FC0 4C C6 31 82 */ crclr 6
/* 802DA084 002D6FC4 48 00 81 79 */ bl panic_f__12JUTExceptionFPCciPCce
lbl_802DA088:
/* 802DA088 002D6FC8 7F 83 E3 78 */ mr r3, r28
/* 802DA08C 002D6FCC 48 00 01 40 */ b lbl_802DA1CC
lbl_802DA090:
/* 802DA090 002D6FD0 2C 1B 00 01 */ cmpwi r27, 1
/* 802DA094 002D6FD4 40 82 00 D0 */ bne lbl_802DA164
/* 802DA098 002D6FD8 28 1E 00 00 */ cmplwi r30, 0
/* 802DA09C 002D6FDC 41 82 00 20 */ beq lbl_802DA0BC
/* 802DA0A0 002D6FE0 3C 60 80 3A */ lis r3, lbl_8039D290@ha
/* 802DA0A4 002D6FE4 38 63 D2 90 */ addi r3, r3, lbl_8039D290@l
/* 802DA0A8 002D6FE8 38 80 01 4D */ li r4, 0x14d
/* 802DA0AC 002D6FEC 38 A3 00 11 */ addi r5, r3, 0x11
/* 802DA0B0 002D6FF0 38 C3 00 38 */ addi r6, r3, 0x38
/* 802DA0B4 002D6FF4 4C C6 31 82 */ crclr 6
/* 802DA0B8 002D6FF8 48 00 81 45 */ bl panic_f__12JUTExceptionFPCciPCce
lbl_802DA0BC:
/* 802DA0BC 002D6FFC 38 76 00 5C */ addi r3, r22, 0x5c
/* 802DA0C0 002D7000 7F A4 EB 78 */ mr r4, r29
/* 802DA0C4 002D7004 7F 05 C3 78 */ mr r5, r24
/* 802DA0C8 002D7008 38 C0 00 00 */ li r6, 0
/* 802DA0CC 002D700C 38 E0 00 02 */ li r7, 2
/* 802DA0D0 002D7010 48 06 ED 75 */ bl DVDReadPrio
/* 802DA0D4 002D7014 2C 03 00 00 */ cmpwi r3, 0
/* 802DA0D8 002D7018 40 80 00 4C */ bge lbl_802DA124
/* 802DA0DC 002D701C 2C 03 FF FD */ cmpwi r3, -3
/* 802DA0E0 002D7020 41 82 00 10 */ beq lbl_802DA0F0
/* 802DA0E4 002D7024 88 0D 83 48 */ lbz r0, lbl_804508C8-_SDA_BASE_(r13)
/* 802DA0E8 002D7028 28 00 00 00 */ cmplwi r0, 0
/* 802DA0EC 002D702C 40 82 00 30 */ bne lbl_802DA11C
lbl_802DA0F0:
/* 802DA0F0 002D7030 57 20 06 3E */ clrlwi r0, r25, 0x18
/* 802DA0F4 002D7034 28 00 00 01 */ cmplwi r0, 1
/* 802DA0F8 002D7038 40 82 00 10 */ bne lbl_802DA108
/* 802DA0FC 002D703C 7F 83 E3 78 */ mr r3, r28
/* 802DA100 002D7040 38 80 00 00 */ li r4, 0
/* 802DA104 002D7044 4B FF 43 FD */ bl free__7JKRHeapFPvP7JKRHeap
lbl_802DA108:
/* 802DA108 002D7048 7F A3 EB 78 */ mr r3, r29
/* 802DA10C 002D704C 38 80 00 00 */ li r4, 0
/* 802DA110 002D7050 4B FF 43 F1 */ bl free__7JKRHeapFPvP7JKRHeap
/* 802DA114 002D7054 38 60 00 00 */ li r3, 0
/* 802DA118 002D7058 48 00 00 B4 */ b lbl_802DA1CC
lbl_802DA11C:
/* 802DA11C 002D705C 48 07 28 A9 */ bl VIWaitForRetrace
/* 802DA120 002D7060 4B FF FF 9C */ b lbl_802DA0BC
lbl_802DA124:
/* 802DA124 002D7064 7F A3 EB 78 */ mr r3, r29
/* 802DA128 002D7068 7F 04 C3 78 */ mr r4, r24
/* 802DA12C 002D706C 48 06 14 55 */ bl DCInvalidateRange
/* 802DA130 002D7070 7F A3 EB 78 */ mr r3, r29
/* 802DA134 002D7074 7F 84 E3 78 */ mr r4, r28
/* 802DA138 002D7078 7F 45 D3 78 */ mr r5, r26
/* 802DA13C 002D707C 7F C6 F3 78 */ mr r6, r30
/* 802DA140 002D7080 48 00 18 49 */ bl orderSync__9JKRDecompFPUcPUcUlUl
/* 802DA144 002D7084 7F A3 EB 78 */ mr r3, r29
/* 802DA148 002D7088 38 80 00 00 */ li r4, 0
/* 802DA14C 002D708C 4B FF 43 B5 */ bl free__7JKRHeapFPvP7JKRHeap
/* 802DA150 002D7090 28 17 00 00 */ cmplwi r23, 0
/* 802DA154 002D7094 41 82 00 08 */ beq lbl_802DA15C
/* 802DA158 002D7098 93 57 00 00 */ stw r26, 0(r23)
lbl_802DA15C:
/* 802DA15C 002D709C 7F 83 E3 78 */ mr r3, r28
/* 802DA160 002D70A0 48 00 00 6C */ b lbl_802DA1CC
lbl_802DA164:
/* 802DA164 002D70A4 2C 1B 00 02 */ cmpwi r27, 2
/* 802DA168 002D70A8 40 82 00 4C */ bne lbl_802DA1B4
/* 802DA16C 002D70AC 7E C3 B3 78 */ mr r3, r22
/* 802DA170 002D70B0 7F 84 E3 78 */ mr r4, r28
/* 802DA174 002D70B4 7F 05 C3 78 */ mr r5, r24
/* 802DA178 002D70B8 7F 46 D3 78 */ mr r6, r26
/* 802DA17C 002D70BC 7F C7 F3 78 */ mr r7, r30
/* 802DA180 002D70C0 39 00 00 00 */ li r8, 0
/* 802DA184 002D70C4 7E E9 BB 78 */ mr r9, r23
/* 802DA188 002D70C8 48 00 00 5D */ bl JKRDecompressFromDVD__FP10JKRDvdFilePvUlUlUlUlPUl
/* 802DA18C 002D70CC 28 03 00 00 */ cmplwi r3, 0
/* 802DA190 002D70D0 41 82 00 1C */ beq lbl_802DA1AC
/* 802DA194 002D70D4 57 20 06 3F */ clrlwi. r0, r25, 0x18
/* 802DA198 002D70D8 41 82 00 10 */ beq lbl_802DA1A8
/* 802DA19C 002D70DC 7F 83 E3 78 */ mr r3, r28
/* 802DA1A0 002D70E0 38 80 00 00 */ li r4, 0
/* 802DA1A4 002D70E4 4B FF 43 5D */ bl free__7JKRHeapFPvP7JKRHeap
lbl_802DA1A8:
/* 802DA1A8 002D70E8 3B 80 00 00 */ li r28, 0
lbl_802DA1AC:
/* 802DA1AC 002D70EC 7F 83 E3 78 */ mr r3, r28
/* 802DA1B0 002D70F0 48 00 00 1C */ b lbl_802DA1CC
lbl_802DA1B4:
/* 802DA1B4 002D70F4 57 20 06 3F */ clrlwi. r0, r25, 0x18
/* 802DA1B8 002D70F8 41 82 00 10 */ beq lbl_802DA1C8
/* 802DA1BC 002D70FC 7F 83 E3 78 */ mr r3, r28
/* 802DA1C0 002D7100 38 80 00 00 */ li r4, 0
/* 802DA1C4 002D7104 4B FF 43 3D */ bl free__7JKRHeapFPvP7JKRHeap
lbl_802DA1C8:
/* 802DA1C8 002D7108 38 60 00 00 */ li r3, 0
lbl_802DA1CC:
/* 802DA1CC 002D710C 39 61 00 C0 */ addi r11, r1, 0xc0
/* 802DA1D0 002D7110 48 08 80 2D */ bl _restgpr_18
/* 802DA1D4 002D7114 80 01 00 C4 */ lwz r0, 0xc4(r1)
/* 802DA1D8 002D7118 7C 08 03 A6 */ mtlr r0
/* 802DA1DC 002D711C 38 21 00 C0 */ addi r1, r1, 0xc0
/* 802DA1E0 002D7120 4E 80 00 20 */ blr
@@ -1,104 +0,0 @@
/* JKRDecompressFromDVD__FP10JKRDvdFilePvUlUlUlUlPUl JKRDecompressFromDVD(JKRDvdFile *, void *, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long *) */
/* JKRDecompressFromDVD */
/* 802DA1E4 002D7124 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 802DA1E8 002D7128 7C 08 02 A6 */ mflr r0
/* 802DA1EC 002D712C 90 01 00 34 */ stw r0, 0x34(r1)
/* 802DA1F0 002D7130 39 61 00 30 */ addi r11, r1, 0x30
/* 802DA1F4 002D7134 48 08 7F D5 */ bl _savegpr_24
/* 802DA1F8 002D7138 7C 79 1B 78 */ mr r25, r3
/* 802DA1FC 002D713C 7C 9A 23 78 */ mr r26, r4
/* 802DA200 002D7140 7C BB 2B 78 */ mr r27, r5
/* 802DA204 002D7144 7C DC 33 78 */ mr r28, r6
/* 802DA208 002D7148 7C FD 3B 78 */ mr r29, r7
/* 802DA20C 002D714C 7D 1E 43 78 */ mr r30, r8
/* 802DA210 002D7150 7D 3F 4B 78 */ mr r31, r9
/* 802DA214 002D7154 48 06 34 E1 */ bl __RAS_OSDisableInterrupts_begin
/* 802DA218 002D7158 7C 78 1B 78 */ mr r24, r3
/* 802DA21C 002D715C 88 0D 8E D8 */ lbz r0, lbl_80451458-_SDA_BASE_(r13)
/* 802DA220 002D7160 28 00 00 00 */ cmplwi r0, 0
/* 802DA224 002D7164 40 82 00 18 */ bne lbl_802DA23C
/* 802DA228 002D7168 3C 60 80 43 */ lis r3, lbl_80434390@ha
/* 802DA22C 002D716C 38 63 43 90 */ addi r3, r3, lbl_80434390@l
/* 802DA230 002D7170 48 06 4D D9 */ bl OSInitMutex
/* 802DA234 002D7174 38 00 00 01 */ li r0, 1
/* 802DA238 002D7178 98 0D 8E D8 */ stb r0, lbl_80451458-_SDA_BASE_(r13)
lbl_802DA23C:
/* 802DA23C 002D717C 7F 03 C3 78 */ mr r3, r24
/* 802DA240 002D7180 48 06 34 DD */ bl OSRestoreInterrupts
/* 802DA244 002D7184 3C 60 80 43 */ lis r3, lbl_80434390@ha
/* 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, 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
/* 802DA264 002D71A4 90 6D 8E A8 */ stw r3, lbl_80451428-_SDA_BASE_(r13)
/* 802DA268 002D71A8 7C 03 C2 14 */ add r0, r3, r24
/* 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, 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
/* 802DA288 002D71C8 90 6D 8E B0 */ stw r3, lbl_80451430-_SDA_BASE_(r13)
/* 802DA28C 002D71CC 38 03 11 20 */ addi r0, r3, 0x1120
/* 802DA290 002D71D0 90 0D 8E B4 */ stw r0, lbl_80451434-_SDA_BASE_(r13)
/* 802DA294 002D71D4 90 6D 8E B8 */ stw r3, lbl_80451438-_SDA_BASE_(r13)
/* 802DA298 002D71D8 48 00 00 0C */ b lbl_802DA2A4
lbl_802DA29C:
/* 802DA29C 002D71DC 38 00 00 00 */ li r0, 0
/* 802DA2A0 002D71E0 90 0D 8E B0 */ stw r0, lbl_80451430-_SDA_BASE_(r13)
lbl_802DA2A4:
/* 802DA2A4 002D71E4 93 2D 8E C8 */ stw r25, lbl_80451448-_SDA_BASE_(r13)
/* 802DA2A8 002D71E8 93 CD 8E BC */ stw r30, lbl_8045143C-_SDA_BASE_(r13)
/* 802DA2AC 002D71EC 7C 1E D8 50 */ subf r0, r30, r27
/* 802DA2B0 002D71F0 90 0D 8E C0 */ stw r0, lbl_80451440-_SDA_BASE_(r13)
/* 802DA2B4 002D71F4 93 AD 8E CC */ stw r29, lbl_8045144C-_SDA_BASE_(r13)
/* 802DA2B8 002D71F8 38 00 00 00 */ li r0, 0
/* 802DA2BC 002D71FC 90 0D 8E D0 */ stw r0, lbl_80451450-_SDA_BASE_(r13)
/* 802DA2C0 002D7200 93 8D 8E D4 */ stw r28, lbl_80451454-_SDA_BASE_(r13)
/* 802DA2C4 002D7204 28 1F 00 00 */ cmplwi r31, 0
/* 802DA2C8 002D7208 41 82 00 0C */ beq lbl_802DA2D4
/* 802DA2CC 002D720C 7F E3 FB 78 */ mr r3, r31
/* 802DA2D0 002D7210 48 00 00 08 */ b lbl_802DA2D8
lbl_802DA2D4:
/* 802DA2D4 002D7214 38 6D 8E E0 */ addi r3, r13, 0x80451460-0x80458580 /*lbl_80451460-_SDA_BASE_*/
lbl_802DA2D8:
/* 802DA2D8 002D7218 90 6D 8E DC */ stw r3, lbl_8045145C-_SDA_BASE_(r13)
/* 802DA2DC 002D721C 38 00 00 00 */ li r0, 0
/* 802DA2E0 002D7220 90 03 00 00 */ stw r0, 0(r3)
/* 802DA2E4 002D7224 48 00 03 29 */ bl firstSrcData__Fv
/* 802DA2E8 002D7228 28 03 00 00 */ cmplwi r3, 0
/* 802DA2EC 002D722C 41 82 00 10 */ beq lbl_802DA2FC
/* 802DA2F0 002D7230 7F 44 D3 78 */ mr r4, r26
/* 802DA2F4 002D7234 48 00 00 69 */ bl decompSZS_subroutine__FPUcPUc
/* 802DA2F8 002D7238 48 00 00 08 */ b lbl_802DA300
lbl_802DA2FC:
/* 802DA2FC 002D723C 38 60 FF FF */ li r3, -1
lbl_802DA300:
/* 802DA300 002D7240 7C 78 1B 78 */ mr r24, r3
/* 802DA304 002D7244 80 6D 8E A8 */ lwz r3, lbl_80451428-_SDA_BASE_(r13)
/* 802DA308 002D7248 38 80 00 00 */ li r4, 0
/* 802DA30C 002D724C 4B FF 41 F5 */ bl free__7JKRHeapFPvP7JKRHeap
/* 802DA310 002D7250 80 6D 8E B0 */ lwz r3, lbl_80451430-_SDA_BASE_(r13)
/* 802DA314 002D7254 28 03 00 00 */ cmplwi r3, 0
/* 802DA318 002D7258 41 82 00 0C */ beq lbl_802DA324
/* 802DA31C 002D725C 38 80 00 00 */ li r4, 0
/* 802DA320 002D7260 4B FF 41 E1 */ bl free__7JKRHeapFPvP7JKRHeap
lbl_802DA324:
/* 802DA324 002D7264 7F 43 D3 78 */ mr r3, r26
/* 802DA328 002D7268 80 8D 8E DC */ lwz r4, lbl_8045145C-_SDA_BASE_(r13)
/* 802DA32C 002D726C 80 84 00 00 */ lwz r4, 0(r4)
/* 802DA330 002D7270 48 06 13 09 */ bl DCStoreRangeNoSync
/* 802DA334 002D7274 3C 60 80 43 */ lis r3, lbl_80434390@ha
/* 802DA338 002D7278 38 63 43 90 */ addi r3, r3, lbl_80434390@l
/* 802DA33C 002D727C 48 06 4D E1 */ bl OSUnlockMutex
/* 802DA340 002D7280 7F 03 C3 78 */ mr r3, r24
/* 802DA344 002D7284 39 61 00 30 */ addi r11, r1, 0x30
/* 802DA348 002D7288 48 08 7E CD */ bl _restgpr_24
/* 802DA34C 002D728C 80 01 00 34 */ lwz r0, 0x34(r1)
/* 802DA350 002D7290 7C 08 03 A6 */ mtlr r0
/* 802DA354 002D7294 38 21 00 30 */ addi r1, r1, 0x30
/* 802DA358 002D7298 4E 80 00 20 */ blr
@@ -1,197 +0,0 @@
/* decompSZS_subroutine__FPUcPUc decompSZS_subroutine(unsigned char *, unsigned char *) */
/* decompSZS_subroutine_X1_ */
/* 802DA35C 002D729C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802DA360 002D72A0 7C 08 02 A6 */ mflr r0
/* 802DA364 002D72A4 90 01 00 24 */ stw r0, 0x24(r1)
/* 802DA368 002D72A8 39 61 00 20 */ addi r11, r1, 0x20
/* 802DA36C 002D72AC 48 08 7E 71 */ bl _savegpr_29
/* 802DA370 002D72B0 7C 9D 23 78 */ mr r29, r4
/* 802DA374 002D72B4 38 80 00 00 */ li r4, 0
/* 802DA378 002D72B8 38 00 00 00 */ li r0, 0
/* 802DA37C 002D72BC 3B C0 00 00 */ li r30, 0
/* 802DA380 002D72C0 88 A3 00 00 */ lbz r5, 0(r3)
/* 802DA384 002D72C4 2C 05 00 59 */ cmpwi r5, 0x59
/* 802DA388 002D72C8 40 82 00 28 */ bne lbl_802DA3B0
/* 802DA38C 002D72CC 88 A3 00 01 */ lbz r5, 1(r3)
/* 802DA390 002D72D0 2C 05 00 61 */ cmpwi r5, 0x61
/* 802DA394 002D72D4 40 82 00 1C */ bne lbl_802DA3B0
/* 802DA398 002D72D8 88 A3 00 02 */ lbz r5, 2(r3)
/* 802DA39C 002D72DC 2C 05 00 7A */ cmpwi r5, 0x7a
/* 802DA3A0 002D72E0 40 82 00 10 */ bne lbl_802DA3B0
/* 802DA3A4 002D72E4 88 A3 00 03 */ lbz r5, 3(r3)
/* 802DA3A8 002D72E8 2C 05 00 30 */ cmpwi r5, 0x30
/* 802DA3AC 002D72EC 41 82 00 0C */ beq lbl_802DA3B8
lbl_802DA3B0:
/* 802DA3B0 002D72F0 38 60 FF FF */ li r3, -1
/* 802DA3B4 002D72F4 48 00 02 40 */ b lbl_802DA5F4
lbl_802DA3B8:
/* 802DA3B8 002D72F8 80 CD 8E CC */ lwz r6, lbl_8045144C-_SDA_BASE_(r13)
/* 802DA3BC 002D72FC 80 A3 00 04 */ lwz r5, 4(r3)
/* 802DA3C0 002D7300 7C A6 28 50 */ subf r5, r6, r5
/* 802DA3C4 002D7304 7F FD 2A 14 */ add r31, r29, r5
/* 802DA3C8 002D7308 80 AD 8E D4 */ lwz r5, lbl_80451454-_SDA_BASE_(r13)
/* 802DA3CC 002D730C 7C BD 2A 14 */ add r5, r29, r5
/* 802DA3D0 002D7310 7C 1F 28 40 */ cmplw r31, r5
/* 802DA3D4 002D7314 40 81 00 08 */ ble lbl_802DA3DC
/* 802DA3D8 002D7318 7C BF 2B 78 */ mr r31, r5
lbl_802DA3DC:
/* 802DA3DC 002D731C 38 63 00 10 */ addi r3, r3, 0x10
lbl_802DA3E0:
/* 802DA3E0 002D7320 2C 04 00 00 */ cmpwi r4, 0
/* 802DA3E4 002D7324 40 82 00 3C */ bne lbl_802DA420
/* 802DA3E8 002D7328 80 0D 8E C4 */ lwz r0, lbl_80451444-_SDA_BASE_(r13)
/* 802DA3EC 002D732C 7C 03 00 40 */ cmplw r3, r0
/* 802DA3F0 002D7330 40 81 00 24 */ ble lbl_802DA414
/* 802DA3F4 002D7334 80 0D 8E C0 */ lwz r0, lbl_80451440-_SDA_BASE_(r13)
/* 802DA3F8 002D7338 28 00 00 00 */ cmplwi r0, 0
/* 802DA3FC 002D733C 41 82 00 18 */ beq lbl_802DA414
/* 802DA400 002D7340 48 00 02 D9 */ bl nextSrcData__FPUc
/* 802DA404 002D7344 28 03 00 00 */ cmplwi r3, 0
/* 802DA408 002D7348 40 82 00 0C */ bne lbl_802DA414
/* 802DA40C 002D734C 38 60 FF FF */ li r3, -1
/* 802DA410 002D7350 48 00 01 E4 */ b lbl_802DA5F4
lbl_802DA414:
/* 802DA414 002D7354 88 03 00 00 */ lbz r0, 0(r3)
/* 802DA418 002D7358 38 80 00 08 */ li r4, 8
/* 802DA41C 002D735C 38 63 00 01 */ addi r3, r3, 1
lbl_802DA420:
/* 802DA420 002D7360 54 05 06 31 */ rlwinm. r5, r0, 0, 0x18, 0x18
/* 802DA424 002D7364 41 82 00 94 */ beq lbl_802DA4B8
/* 802DA428 002D7368 80 CD 8E CC */ lwz r6, lbl_8045144C-_SDA_BASE_(r13)
/* 802DA42C 002D736C 28 06 00 00 */ cmplwi r6, 0
/* 802DA430 002D7370 41 82 00 5C */ beq lbl_802DA48C
/* 802DA434 002D7374 80 AD 8E D0 */ lwz r5, lbl_80451450-_SDA_BASE_(r13)
/* 802DA438 002D7378 7C 05 30 40 */ cmplw r5, r6
/* 802DA43C 002D737C 41 80 00 1C */ blt lbl_802DA458
/* 802DA440 002D7380 88 A3 00 00 */ lbz r5, 0(r3)
/* 802DA444 002D7384 98 BD 00 00 */ stb r5, 0(r29)
/* 802DA448 002D7388 3B BD 00 01 */ addi r29, r29, 1
/* 802DA44C 002D738C 7C 1D F8 40 */ cmplw r29, r31
/* 802DA450 002D7390 3B DE 00 01 */ addi r30, r30, 1
/* 802DA454 002D7394 41 82 01 94 */ beq lbl_802DA5E8
lbl_802DA458:
/* 802DA458 002D7398 88 E3 00 00 */ lbz r7, 0(r3)
/* 802DA45C 002D739C 80 CD 8E B8 */ lwz r6, lbl_80451438-_SDA_BASE_(r13)
/* 802DA460 002D73A0 38 A6 00 01 */ addi r5, r6, 1
/* 802DA464 002D73A4 90 AD 8E B8 */ stw r5, lbl_80451438-_SDA_BASE_(r13)
/* 802DA468 002D73A8 98 E6 00 00 */ stb r7, 0(r6)
/* 802DA46C 002D73AC 80 CD 8E B8 */ lwz r6, lbl_80451438-_SDA_BASE_(r13)
/* 802DA470 002D73B0 80 AD 8E B4 */ lwz r5, lbl_80451434-_SDA_BASE_(r13)
/* 802DA474 002D73B4 7C 06 28 40 */ cmplw r6, r5
/* 802DA478 002D73B8 40 82 00 0C */ bne lbl_802DA484
/* 802DA47C 002D73BC 80 AD 8E B0 */ lwz r5, lbl_80451430-_SDA_BASE_(r13)
/* 802DA480 002D73C0 90 AD 8E B8 */ stw r5, lbl_80451438-_SDA_BASE_(r13)
lbl_802DA484:
/* 802DA484 002D73C4 38 63 00 01 */ addi r3, r3, 1
/* 802DA488 002D73C8 48 00 00 20 */ b lbl_802DA4A8
lbl_802DA48C:
/* 802DA48C 002D73CC 88 A3 00 00 */ lbz r5, 0(r3)
/* 802DA490 002D73D0 98 BD 00 00 */ stb r5, 0(r29)
/* 802DA494 002D73D4 3B BD 00 01 */ addi r29, r29, 1
/* 802DA498 002D73D8 7C 1D F8 40 */ cmplw r29, r31
/* 802DA49C 002D73DC 38 63 00 01 */ addi r3, r3, 1
/* 802DA4A0 002D73E0 3B DE 00 01 */ addi r30, r30, 1
/* 802DA4A4 002D73E4 41 82 01 44 */ beq lbl_802DA5E8
lbl_802DA4A8:
/* 802DA4A8 002D73E8 80 AD 8E D0 */ lwz r5, lbl_80451450-_SDA_BASE_(r13)
/* 802DA4AC 002D73EC 38 A5 00 01 */ addi r5, r5, 1
/* 802DA4B0 002D73F0 90 AD 8E D0 */ stw r5, lbl_80451450-_SDA_BASE_(r13)
/* 802DA4B4 002D73F4 48 00 01 24 */ b lbl_802DA5D8
lbl_802DA4B8:
/* 802DA4B8 002D73F8 88 C3 00 00 */ lbz r6, 0(r3)
/* 802DA4BC 002D73FC 88 E3 00 01 */ lbz r7, 1(r3)
/* 802DA4C0 002D7400 50 C7 45 2E */ rlwimi r7, r6, 8, 0x14, 0x17
/* 802DA4C4 002D7404 7C C5 26 70 */ srawi r5, r6, 4
/* 802DA4C8 002D7408 81 0D 8E CC */ lwz r8, lbl_8045144C-_SDA_BASE_(r13)
/* 802DA4CC 002D740C 28 08 00 00 */ cmplwi r8, 0
/* 802DA4D0 002D7410 38 63 00 02 */ addi r3, r3, 2
/* 802DA4D4 002D7414 41 82 00 2C */ beq lbl_802DA500
/* 802DA4D8 002D7418 80 CD 8E B8 */ lwz r6, lbl_80451438-_SDA_BASE_(r13)
/* 802DA4DC 002D741C 7C C7 30 50 */ subf r6, r7, r6
/* 802DA4E0 002D7420 39 26 FF FF */ addi r9, r6, -1
/* 802DA4E4 002D7424 80 ED 8E B0 */ lwz r7, lbl_80451430-_SDA_BASE_(r13)
/* 802DA4E8 002D7428 7C 09 38 40 */ cmplw r9, r7
/* 802DA4EC 002D742C 40 80 00 1C */ bge lbl_802DA508
/* 802DA4F0 002D7430 80 CD 8E B4 */ lwz r6, lbl_80451434-_SDA_BASE_(r13)
/* 802DA4F4 002D7434 7C C7 30 50 */ subf r6, r7, r6
/* 802DA4F8 002D7438 7D 29 32 14 */ add r9, r9, r6
/* 802DA4FC 002D743C 48 00 00 0C */ b lbl_802DA508
lbl_802DA500:
/* 802DA500 002D7440 7C C7 E8 50 */ subf r6, r7, r29
/* 802DA504 002D7444 39 26 FF FF */ addi r9, r6, -1
lbl_802DA508:
/* 802DA508 002D7448 2C 05 00 00 */ cmpwi r5, 0
/* 802DA50C 002D744C 40 82 00 14 */ bne lbl_802DA520
/* 802DA510 002D7450 88 A3 00 00 */ lbz r5, 0(r3)
/* 802DA514 002D7454 38 A5 00 12 */ addi r5, r5, 0x12
/* 802DA518 002D7458 38 63 00 01 */ addi r3, r3, 1
/* 802DA51C 002D745C 48 00 00 08 */ b lbl_802DA524
lbl_802DA520:
/* 802DA520 002D7460 38 A5 00 02 */ addi r5, r5, 2
lbl_802DA524:
/* 802DA524 002D7464 28 08 00 00 */ cmplwi r8, 0
/* 802DA528 002D7468 41 82 00 80 */ beq lbl_802DA5A8
lbl_802DA52C:
/* 802DA52C 002D746C 80 ED 8E D0 */ lwz r7, lbl_80451450-_SDA_BASE_(r13)
/* 802DA530 002D7470 80 CD 8E CC */ lwz r6, lbl_8045144C-_SDA_BASE_(r13)
/* 802DA534 002D7474 7C 07 30 40 */ cmplw r7, r6
/* 802DA538 002D7478 41 80 00 1C */ blt lbl_802DA554
/* 802DA53C 002D747C 88 C9 00 00 */ lbz r6, 0(r9)
/* 802DA540 002D7480 98 DD 00 00 */ stb r6, 0(r29)
/* 802DA544 002D7484 3B BD 00 01 */ addi r29, r29, 1
/* 802DA548 002D7488 7C 1D F8 40 */ cmplw r29, r31
/* 802DA54C 002D748C 3B DE 00 01 */ addi r30, r30, 1
/* 802DA550 002D7490 41 82 00 88 */ beq lbl_802DA5D8
lbl_802DA554:
/* 802DA554 002D7494 89 09 00 00 */ lbz r8, 0(r9)
/* 802DA558 002D7498 80 ED 8E B8 */ lwz r7, lbl_80451438-_SDA_BASE_(r13)
/* 802DA55C 002D749C 38 C7 00 01 */ addi r6, r7, 1
/* 802DA560 002D74A0 90 CD 8E B8 */ stw r6, lbl_80451438-_SDA_BASE_(r13)
/* 802DA564 002D74A4 99 07 00 00 */ stb r8, 0(r7)
/* 802DA568 002D74A8 80 CD 8E B8 */ lwz r6, lbl_80451438-_SDA_BASE_(r13)
/* 802DA56C 002D74AC 80 ED 8E B4 */ lwz r7, lbl_80451434-_SDA_BASE_(r13)
/* 802DA570 002D74B0 7C 06 38 40 */ cmplw r6, r7
/* 802DA574 002D74B4 40 82 00 0C */ bne lbl_802DA580
/* 802DA578 002D74B8 80 CD 8E B0 */ lwz r6, lbl_80451430-_SDA_BASE_(r13)
/* 802DA57C 002D74BC 90 CD 8E B8 */ stw r6, lbl_80451438-_SDA_BASE_(r13)
lbl_802DA580:
/* 802DA580 002D74C0 39 29 00 01 */ addi r9, r9, 1
/* 802DA584 002D74C4 7C 09 38 40 */ cmplw r9, r7
/* 802DA588 002D74C8 40 82 00 08 */ bne lbl_802DA590
/* 802DA58C 002D74CC 81 2D 8E B0 */ lwz r9, lbl_80451430-_SDA_BASE_(r13)
lbl_802DA590:
/* 802DA590 002D74D0 80 CD 8E D0 */ lwz r6, lbl_80451450-_SDA_BASE_(r13)
/* 802DA594 002D74D4 38 C6 00 01 */ addi r6, r6, 1
/* 802DA598 002D74D8 90 CD 8E D0 */ stw r6, lbl_80451450-_SDA_BASE_(r13)
/* 802DA59C 002D74DC 34 A5 FF FF */ addic. r5, r5, -1
/* 802DA5A0 002D74E0 40 82 FF 8C */ bne lbl_802DA52C
/* 802DA5A4 002D74E4 48 00 00 34 */ b lbl_802DA5D8
lbl_802DA5A8:
/* 802DA5A8 002D74E8 88 C9 00 00 */ lbz r6, 0(r9)
/* 802DA5AC 002D74EC 98 DD 00 00 */ stb r6, 0(r29)
/* 802DA5B0 002D74F0 3B BD 00 01 */ addi r29, r29, 1
/* 802DA5B4 002D74F4 7C 1D F8 40 */ cmplw r29, r31
/* 802DA5B8 002D74F8 3B DE 00 01 */ addi r30, r30, 1
/* 802DA5BC 002D74FC 41 82 00 1C */ beq lbl_802DA5D8
/* 802DA5C0 002D7500 80 CD 8E D0 */ lwz r6, lbl_80451450-_SDA_BASE_(r13)
/* 802DA5C4 002D7504 38 C6 00 01 */ addi r6, r6, 1
/* 802DA5C8 002D7508 90 CD 8E D0 */ stw r6, lbl_80451450-_SDA_BASE_(r13)
/* 802DA5CC 002D750C 34 A5 FF FF */ addic. r5, r5, -1
/* 802DA5D0 002D7510 39 29 00 01 */ addi r9, r9, 1
/* 802DA5D4 002D7514 40 82 FF D4 */ bne lbl_802DA5A8
lbl_802DA5D8:
/* 802DA5D8 002D7518 54 00 08 3C */ slwi r0, r0, 1
/* 802DA5DC 002D751C 7C 1D F8 40 */ cmplw r29, r31
/* 802DA5E0 002D7520 38 84 FF FF */ addi r4, r4, -1
/* 802DA5E4 002D7524 41 80 FD FC */ blt lbl_802DA3E0
lbl_802DA5E8:
/* 802DA5E8 002D7528 80 6D 8E DC */ lwz r3, lbl_8045145C-_SDA_BASE_(r13)
/* 802DA5EC 002D752C 93 C3 00 00 */ stw r30, 0(r3)
/* 802DA5F0 002D7530 38 60 00 00 */ li r3, 0
lbl_802DA5F4:
/* 802DA5F4 002D7534 39 61 00 20 */ addi r11, r1, 0x20
/* 802DA5F8 002D7538 48 08 7C 31 */ bl _restgpr_29
/* 802DA5FC 002D753C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802DA600 002D7540 7C 08 03 A6 */ mtlr r0
/* 802DA604 002D7544 38 21 00 20 */ addi r1, r1, 0x20
/* 802DA608 002D7548 4E 80 00 20 */ blr
@@ -1,59 +0,0 @@
/* firstSrcData__Fv firstSrcData(void) */
/* firstSrcData_X1_ */
/* 802DA60C 002D754C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802DA610 002D7550 7C 08 02 A6 */ mflr r0
/* 802DA614 002D7554 90 01 00 24 */ stw r0, 0x24(r1)
/* 802DA618 002D7558 39 61 00 20 */ addi r11, r1, 0x20
/* 802DA61C 002D755C 48 08 7B C1 */ bl _savegpr_29
/* 802DA620 002D7560 80 6D 8E AC */ lwz r3, lbl_8045142C-_SDA_BASE_(r13)
/* 802DA624 002D7564 38 03 FF E7 */ addi r0, r3, -25
/* 802DA628 002D7568 90 0D 8E C4 */ stw r0, lbl_80451444-_SDA_BASE_(r13)
/* 802DA62C 002D756C 80 0D 8E A8 */ lwz r0, lbl_80451428-_SDA_BASE_(r13)
/* 802DA630 002D7570 7C 1D 03 78 */ mr r29, r0
/* 802DA634 002D7574 7C 60 18 50 */ subf r3, r0, r3
/* 802DA638 002D7578 80 0D 8E C0 */ lwz r0, lbl_80451440-_SDA_BASE_(r13)
/* 802DA63C 002D757C 7C 00 18 40 */ cmplw r0, r3
/* 802DA640 002D7580 7C 7F 1B 78 */ mr r31, r3
/* 802DA644 002D7584 40 80 00 08 */ bge lbl_802DA64C
/* 802DA648 002D7588 7C 1F 03 78 */ mr r31, r0
lbl_802DA64C:
/* 802DA64C 002D758C 7F FE FB 78 */ mr r30, r31
lbl_802DA650:
/* 802DA650 002D7590 80 6D 8E C8 */ lwz r3, lbl_80451448-_SDA_BASE_(r13)
/* 802DA654 002D7594 38 63 00 5C */ addi r3, r3, 0x5c
/* 802DA658 002D7598 7F A4 EB 78 */ mr r4, r29
/* 802DA65C 002D759C 7F C5 F3 78 */ mr r5, r30
/* 802DA660 002D75A0 80 CD 8E BC */ lwz r6, lbl_8045143C-_SDA_BASE_(r13)
/* 802DA664 002D75A4 38 E0 00 02 */ li r7, 2
/* 802DA668 002D75A8 48 06 E7 DD */ bl DVDReadPrio
/* 802DA66C 002D75AC 2C 03 00 00 */ cmpwi r3, 0
/* 802DA670 002D75B0 40 80 00 28 */ bge lbl_802DA698
/* 802DA674 002D75B4 2C 03 FF FD */ cmpwi r3, -3
/* 802DA678 002D75B8 41 82 00 10 */ beq lbl_802DA688
/* 802DA67C 002D75BC 88 0D 83 48 */ lbz r0, lbl_804508C8-_SDA_BASE_(r13)
/* 802DA680 002D75C0 28 00 00 00 */ cmplwi r0, 0
/* 802DA684 002D75C4 40 82 00 0C */ bne lbl_802DA690
lbl_802DA688:
/* 802DA688 002D75C8 38 60 00 00 */ li r3, 0
/* 802DA68C 002D75CC 48 00 00 34 */ b lbl_802DA6C0
lbl_802DA690:
/* 802DA690 002D75D0 48 07 23 35 */ bl VIWaitForRetrace
/* 802DA694 002D75D4 4B FF FF BC */ b lbl_802DA650
lbl_802DA698:
/* 802DA698 002D75D8 7F A3 EB 78 */ mr r3, r29
/* 802DA69C 002D75DC 7F E4 FB 78 */ mr r4, r31
/* 802DA6A0 002D75E0 48 06 0E E1 */ bl DCInvalidateRange
/* 802DA6A4 002D75E4 80 0D 8E BC */ lwz r0, lbl_8045143C-_SDA_BASE_(r13)
/* 802DA6A8 002D75E8 7C 00 FA 14 */ add r0, r0, r31
/* 802DA6AC 002D75EC 90 0D 8E BC */ stw r0, lbl_8045143C-_SDA_BASE_(r13)
/* 802DA6B0 002D75F0 80 0D 8E C0 */ lwz r0, lbl_80451440-_SDA_BASE_(r13)
/* 802DA6B4 002D75F4 7C 1F 00 50 */ subf r0, r31, r0
/* 802DA6B8 002D75F8 90 0D 8E C0 */ stw r0, lbl_80451440-_SDA_BASE_(r13)
/* 802DA6BC 002D75FC 7F A3 EB 78 */ mr r3, r29
lbl_802DA6C0:
/* 802DA6C0 002D7600 39 61 00 20 */ addi r11, r1, 0x20
/* 802DA6C4 002D7604 48 08 7B 65 */ bl _restgpr_29
/* 802DA6C8 002D7608 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802DA6CC 002D760C 7C 08 03 A6 */ mtlr r0
/* 802DA6D0 002D7610 38 21 00 20 */ addi r1, r1, 0x20
/* 802DA6D4 002D7614 4E 80 00 20 */ blr
@@ -1,74 +0,0 @@
/* nextSrcData__FPUc nextSrcData(unsigned char *) */
/* nextSrcData_X1_ */
/* 802DA6D8 002D7618 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802DA6DC 002D761C 7C 08 02 A6 */ mflr r0
/* 802DA6E0 002D7620 90 01 00 24 */ stw r0, 0x24(r1)
/* 802DA6E4 002D7624 39 61 00 20 */ addi r11, r1, 0x20
/* 802DA6E8 002D7628 48 08 7A F1 */ bl _savegpr_28
/* 802DA6EC 002D762C 7C 64 1B 78 */ mr r4, r3
/* 802DA6F0 002D7630 80 0D 8E AC */ lwz r0, lbl_8045142C-_SDA_BASE_(r13)
/* 802DA6F4 002D7634 7F A4 00 50 */ subf r29, r4, r0
/* 802DA6F8 002D7638 57 A5 06 FF */ clrlwi. r5, r29, 0x1b
/* 802DA6FC 002D763C 41 82 00 14 */ beq lbl_802DA710
/* 802DA700 002D7640 80 6D 8E A8 */ lwz r3, lbl_80451428-_SDA_BASE_(r13)
/* 802DA704 002D7644 38 03 00 20 */ addi r0, r3, 0x20
/* 802DA708 002D7648 7F 85 00 50 */ subf r28, r5, r0
/* 802DA70C 002D764C 48 00 00 08 */ b lbl_802DA714
lbl_802DA710:
/* 802DA710 002D7650 83 8D 8E A8 */ lwz r28, lbl_80451428-_SDA_BASE_(r13)
lbl_802DA714:
/* 802DA714 002D7654 7F 83 E3 78 */ mr r3, r28
/* 802DA718 002D7658 7F A5 EB 78 */ mr r5, r29
/* 802DA71C 002D765C 4B D2 8E 25 */ bl memcpy
/* 802DA720 002D7660 7F BC EA 14 */ add r29, r28, r29
/* 802DA724 002D7664 80 0D 8E AC */ lwz r0, lbl_8045142C-_SDA_BASE_(r13)
/* 802DA728 002D7668 7F DD 00 50 */ subf r30, r29, r0
/* 802DA72C 002D766C 80 0D 8E C0 */ lwz r0, lbl_80451440-_SDA_BASE_(r13)
/* 802DA730 002D7670 7C 1E 00 40 */ cmplw r30, r0
/* 802DA734 002D7674 40 81 00 08 */ ble lbl_802DA73C
/* 802DA738 002D7678 7C 1E 03 78 */ mr r30, r0
lbl_802DA73C:
/* 802DA73C 002D767C 3C 60 80 2E */ lis r3, isErrorRetry__12JKRDvdRipperFv@ha
/* 802DA740 002D7680 3B E3 A7 D4 */ addi r31, r3, isErrorRetry__12JKRDvdRipperFv@l
lbl_802DA744:
/* 802DA744 002D7684 80 6D 8E C8 */ lwz r3, lbl_80451448-_SDA_BASE_(r13)
/* 802DA748 002D7688 38 63 00 5C */ addi r3, r3, 0x5c
/* 802DA74C 002D768C 7F A4 EB 78 */ mr r4, r29
/* 802DA750 002D7690 7F C5 F3 78 */ mr r5, r30
/* 802DA754 002D7694 80 CD 8E BC */ lwz r6, lbl_8045143C-_SDA_BASE_(r13)
/* 802DA758 002D7698 38 E0 00 02 */ li r7, 2
/* 802DA75C 002D769C 48 06 E6 E9 */ bl DVDReadPrio
/* 802DA760 002D76A0 2C 03 00 00 */ cmpwi r3, 0
/* 802DA764 002D76A4 40 80 00 24 */ bge lbl_802DA788
/* 802DA768 002D76A8 2C 03 FF FD */ cmpwi r3, -3
/* 802DA76C 002D76AC 41 82 00 0C */ beq lbl_802DA778
/* 802DA770 002D76B0 28 1F 00 00 */ cmplwi r31, 0
/* 802DA774 002D76B4 40 82 00 0C */ bne lbl_802DA780
lbl_802DA778:
/* 802DA778 002D76B8 38 60 00 00 */ li r3, 0
/* 802DA77C 002D76BC 48 00 00 40 */ b lbl_802DA7BC
lbl_802DA780:
/* 802DA780 002D76C0 48 07 22 45 */ bl VIWaitForRetrace
/* 802DA784 002D76C4 4B FF FF C0 */ b lbl_802DA744
lbl_802DA788:
/* 802DA788 002D76C8 7F A3 EB 78 */ mr r3, r29
/* 802DA78C 002D76CC 7F C4 F3 78 */ mr r4, r30
/* 802DA790 002D76D0 48 06 0D F1 */ bl DCInvalidateRange
/* 802DA794 002D76D4 80 0D 8E BC */ lwz r0, lbl_8045143C-_SDA_BASE_(r13)
/* 802DA798 002D76D8 7C 00 F2 14 */ add r0, r0, r30
/* 802DA79C 002D76DC 90 0D 8E BC */ stw r0, lbl_8045143C-_SDA_BASE_(r13)
/* 802DA7A0 002D76E0 80 0D 8E C0 */ lwz r0, lbl_80451440-_SDA_BASE_(r13)
/* 802DA7A4 002D76E4 7C 1E 00 51 */ subf. r0, r30, r0
/* 802DA7A8 002D76E8 90 0D 8E C0 */ stw r0, lbl_80451440-_SDA_BASE_(r13)
/* 802DA7AC 002D76EC 40 82 00 0C */ bne lbl_802DA7B8
/* 802DA7B0 002D76F0 7C 1D F2 14 */ add r0, r29, r30
/* 802DA7B4 002D76F4 90 0D 8E C4 */ stw r0, lbl_80451444-_SDA_BASE_(r13)
lbl_802DA7B8:
/* 802DA7B8 002D76F8 7F 83 E3 78 */ mr r3, r28
lbl_802DA7BC:
/* 802DA7BC 002D76FC 39 61 00 20 */ addi r11, r1, 0x20
/* 802DA7C0 002D7700 48 08 7A 65 */ bl _restgpr_28
/* 802DA7C4 002D7704 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802DA7C8 002D7708 7C 08 03 A6 */ mtlr r0
/* 802DA7CC 002D770C 38 21 00 20 */ addi r1, r1, 0x20
/* 802DA7D0 002D7710 4E 80 00 20 */ blr
@@ -1,4 +0,0 @@
/* isErrorRetry__12JKRDvdRipperFv JKRDvdRipper::isErrorRetry(void) */
/* JKRDvdRipper_NS_isErrorRetry */
/* 802DA7D4 002D7714 88 6D 83 48 */ lbz r3, lbl_804508C8-_SDA_BASE_(r13)
/* 802DA7D8 002D7718 4E 80 00 20 */ blr
+7
View File
@@ -0,0 +1,7 @@
#ifndef JKREXPHEAP_H
#define JKREXPHEAP_H
#include "dolphin/types.h"
#endif /* JKREXPHEAP_H */
@@ -1,93 +0,0 @@
#ifndef JKREXPHEAP_H_
#define JKREXPHEAP_H_
#include "JSystem/JKernel/JKRHeap/JKRHeap.h"
#include "dolphin/types.h"
class JKRExpHeap : public JKRHeap {
public:
class CMemBlock {
public:
void initiate(CMemBlock*, CMemBlock*, u32, u8, u8);
void allocFore(u32, u8, u8, u8, u8);
void allocBack(u32, u8, u8, u8, u8);
void free(JKRExpHeap*);
void getHeapBlock(void*);
void newGroupId(u8 groupId) { this->mGroupId = groupId; }
bool isValid() const { return this->mMagic == 0x484d; }
bool _isTempMemBlock() const { return (this->mFlags & 0x80) ? true : false; }
int getAlignment() const { return this->mFlags & 0x7f; }
void* getContent() const { return (void*)(this + 1); }
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;
u8 mFlags; // a|bbbbbbb a=temporary b=alignment
u8 mGroupId;
u32 size;
CMemBlock* mPrev;
CMemBlock* mNext;
};
protected:
JKRExpHeap(void*, u32, JKRHeap*, bool);
virtual ~JKRExpHeap();
void allocFromHead(u32, int);
void allocFromHead(u32);
void allocFromTail(u32, int);
void allocFromTail(u32);
void appendUsedList(CMemBlock*);
void setFreeBlock(CMemBlock*, CMemBlock*, CMemBlock*);
void removeFreeBlock(CMemBlock*);
void removeUsedBlock(CMemBlock*);
void recycleFreeBlock(CMemBlock*);
void joinTwoBlocks(CMemBlock*);
public:
s32 getUsedSize(u8) const;
s32 getTotalUsedSize(void) const;
CMemBlock* getHeadUsedList() const { return mHeadUsedList; }
public:
/* vt[04] */ virtual u32 getHeapType() const; /* override */
/* vt[05] */ virtual bool check(); /* override */
/* vt[06] */ virtual bool dump_sort(); /* override */
/* vt[07] */ virtual bool dump(); /* override */
/* vt[08] */ virtual void do_destroy(); /* override */
/* vt[09] */ virtual void* do_alloc(u32 size, int alignment); /* override */
/* vt[10] */ virtual void do_free(void* ptr); /* override */
/* vt[11] */ virtual void do_freeAll(); /* override */
/* vt[12] */ virtual void do_freeTail(); /* override */
/* vt[13] */ virtual void do_fillFreeArea(); /* override */
/* vt[14] */ virtual s32 do_resize(void* ptr, u32 size); /* override */
/* vt[15] */ virtual s32 do_getSize(void* ptr) const; /* override */
/* vt[16] */ virtual s32 do_getFreeSize() const; /* override */
/* vt[17] */ virtual void* do_getMaxFreeBlock() const; /* override */
/* vt[18] */ virtual s32 do_getTotalFreeSize() const; /* override */
/* vt[19] */ virtual u8 do_changeGroupID(u8 newGroupID); /* override */
/* vt[20] */ virtual u8 do_getCurrentGroupId() const; /* override */
/* vt[21] */ virtual void state_register(JKRHeap::TState*, u32) const; /* override */
/* vt[22] */ virtual bool state_compare(JKRHeap::TState const&,
JKRHeap::TState const&) const; /* override */
private:
u32 field_0x6c;
u32 field_0x70;
u32 field_0x74;
CMemBlock* mHeadFreeList;
CMemBlock* mTailFreeList;
CMemBlock* mHeadUsedList;
CMemBlock* mTailUsedList;
public:
static void createRoot(int, bool);
static void create(u32, JKRHeap*, bool);
static void create(void*, u32, JKRHeap*, bool);
};
#endif
@@ -1,34 +0,0 @@
/* createRoot__10JKRExpHeapFib __ct__10JKRExpHeapFPvUlP7JKRHeapb::createRoot(int, bool) */
/* JKRExpHeap_NS_createRoot */
/* 802CEDB4 002CBCF4 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802CEDB8 002CBCF8 7C 08 02 A6 */ mflr r0
/* 802CEDBC 002CBCFC 90 01 00 24 */ stw r0, 0x24(r1)
/* 802CEDC0 002CBD00 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 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, 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
/* 802CEDE0 002CBD20 38 81 00 08 */ addi r4, r1, 8
/* 802CEDE4 002CBD24 4B FF F5 95 */ bl initArena__7JKRHeapFPPcPUli
/* 802CEDE8 002CBD28 80 61 00 0C */ lwz r3, 0xc(r1)
/* 802CEDEC 002CBD2C 38 83 00 90 */ addi r4, r3, 0x90
/* 802CEDF0 002CBD30 80 A1 00 08 */ lwz r5, 8(r1)
/* 802CEDF4 002CBD34 38 A5 FF 70 */ addi r5, r5, -144
/* 802CEDF8 002CBD38 28 03 00 00 */ cmplwi r3, 0
/* 802CEDFC 002CBD3C 41 82 00 10 */ beq lbl_802CEE0C
/* 802CEE00 002CBD40 38 C0 00 00 */ li r6, 0
/* 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, 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)
/* 802CEE18 002CBD58 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 802CEE1C 002CBD5C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802CEE20 002CBD60 7C 08 03 A6 */ mtlr r0
/* 802CEE24 002CBD64 38 21 00 20 */ addi r1, r1, 0x20
/* 802CEE28 002CBD68 4E 80 00 20 */ blr
@@ -1,62 +0,0 @@
/* create__10JKRExpHeapFUlP7JKRHeapb __ct__10JKRExpHeapFPvUlP7JKRHeapb::create(unsigned long, JKRHeap *, bool) */
/* JKRExpHeap_NS_create */
/* 802CEE2C 002CBD6C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802CEE30 002CBD70 7C 08 02 A6 */ mflr r0
/* 802CEE34 002CBD74 90 01 00 24 */ stw r0, 0x24(r1)
/* 802CEE38 002CBD78 39 61 00 20 */ addi r11, r1, 0x20
/* 802CEE3C 002CBD7C 48 09 33 9D */ bl _savegpr_28
/* 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, 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
/* 802CEE58 002CBD98 40 82 00 10 */ bne lbl_802CEE68
/* 802CEE5C 002CBD9C 7F 83 E3 78 */ mr r3, r28
/* 802CEE60 002CBDA0 38 80 00 10 */ li r4, 0x10
/* 802CEE64 002CBDA4 4B FF F9 79 */ bl getMaxAllocatableSize__7JKRHeapCFi
lbl_802CEE68:
/* 802CEE68 002CBDA8 54 7F 00 36 */ rlwinm r31, r3, 0, 0, 0x1b
/* 802CEE6C 002CBDAC 28 1F 00 A0 */ cmplwi r31, 0xa0
/* 802CEE70 002CBDB0 40 80 00 0C */ bge lbl_802CEE7C
/* 802CEE74 002CBDB4 38 60 00 00 */ li r3, 0
/* 802CEE78 002CBDB8 48 00 00 70 */ b lbl_802CEEE8
lbl_802CEE7C:
/* 802CEE7C 002CBDBC 7F E3 FB 78 */ mr r3, r31
/* 802CEE80 002CBDC0 38 80 00 10 */ li r4, 0x10
/* 802CEE84 002CBDC4 7F 85 E3 78 */ mr r5, r28
/* 802CEE88 002CBDC8 4B FF F5 ED */ bl alloc__7JKRHeapFUliP7JKRHeap
/* 802CEE8C 002CBDCC 7C 60 1B 78 */ mr r0, r3
/* 802CEE90 002CBDD0 7C 1E 03 79 */ or. r30, r0, r0
/* 802CEE94 002CBDD4 38 9E 00 90 */ addi r4, r30, 0x90
/* 802CEE98 002CBDD8 40 82 00 0C */ bne lbl_802CEEA4
/* 802CEE9C 002CBDDC 38 60 00 00 */ li r3, 0
/* 802CEEA0 002CBDE0 48 00 00 48 */ b lbl_802CEEE8
lbl_802CEEA4:
/* 802CEEA4 002CBDE4 7F C5 F3 78 */ mr r5, r30
/* 802CEEA8 002CBDE8 41 82 00 18 */ beq lbl_802CEEC0
/* 802CEEAC 002CBDEC 38 BF FF 70 */ addi r5, r31, -144
/* 802CEEB0 002CBDF0 7F 86 E3 78 */ mr r6, r28
/* 802CEEB4 002CBDF4 7F A7 EB 78 */ mr r7, r29
/* 802CEEB8 002CBDF8 48 00 01 79 */ bl __ct__10JKRExpHeapFPvUlP7JKRHeapb
/* 802CEEBC 002CBDFC 7C 65 1B 78 */ mr r5, r3
lbl_802CEEC0:
/* 802CEEC0 002CBE00 28 05 00 00 */ cmplwi r5, 0
/* 802CEEC4 002CBE04 40 82 00 18 */ bne lbl_802CEEDC
/* 802CEEC8 002CBE08 7F C3 F3 78 */ mr r3, r30
/* 802CEECC 002CBE0C 38 80 00 00 */ li r4, 0
/* 802CEED0 002CBE10 4B FF F6 31 */ bl free__7JKRHeapFPvP7JKRHeap
/* 802CEED4 002CBE14 38 60 00 00 */ li r3, 0
/* 802CEED8 002CBE18 48 00 00 10 */ b lbl_802CEEE8
lbl_802CEEDC:
/* 802CEEDC 002CBE1C 38 00 00 00 */ li r0, 0
/* 802CEEE0 002CBE20 98 05 00 6E */ stb r0, 0x6e(r5)
/* 802CEEE4 002CBE24 7C A3 2B 78 */ mr r3, r5
lbl_802CEEE8:
/* 802CEEE8 002CBE28 39 61 00 20 */ addi r11, r1, 0x20
/* 802CEEEC 002CBE2C 48 09 33 39 */ bl _restgpr_28
/* 802CEEF0 002CBE30 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802CEEF4 002CBE34 7C 08 03 A6 */ mtlr r0
/* 802CEEF8 002CBE38 38 21 00 20 */ addi r1, r1, 0x20
/* 802CEEFC 002CBE3C 4E 80 00 20 */ blr
@@ -1,50 +0,0 @@
/* create__10JKRExpHeapFPvUlP7JKRHeapb __ct__10JKRExpHeapFPvUlP7JKRHeapb::create(void *, unsigned long, JKRHeap *, bool) */
/* JKRExpHeap_NS_create_X1_ */
/* 802CEF00 002CBE40 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802CEF04 002CBE44 7C 08 02 A6 */ mflr r0
/* 802CEF08 002CBE48 90 01 00 24 */ stw r0, 0x24(r1)
/* 802CEF0C 002CBE4C 39 61 00 20 */ addi r11, r1, 0x20
/* 802CEF10 002CBE50 48 09 32 CD */ bl _savegpr_29
/* 802CEF14 002CBE54 7C 7D 1B 78 */ mr r29, r3
/* 802CEF18 002CBE58 7C 9E 23 78 */ mr r30, r4
/* 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, 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
/* 802CEF38 002CBE78 40 82 00 10 */ bne lbl_802CEF48
/* 802CEF3C 002CBE7C 38 60 00 00 */ li r3, 0
/* 802CEF40 002CBE80 48 00 00 54 */ b lbl_802CEF94
lbl_802CEF44:
/* 802CEF44 002CBE84 7C A6 2B 78 */ mr r6, r5
lbl_802CEF48:
/* 802CEF48 002CBE88 38 60 00 00 */ li r3, 0
/* 802CEF4C 002CBE8C 28 1E 00 90 */ cmplwi r30, 0x90
/* 802CEF50 002CBE90 40 80 00 0C */ bge lbl_802CEF5C
/* 802CEF54 002CBE94 38 60 00 00 */ li r3, 0
/* 802CEF58 002CBE98 48 00 00 3C */ b lbl_802CEF94
lbl_802CEF5C:
/* 802CEF5C 002CBE9C 38 9D 00 90 */ addi r4, r29, 0x90
/* 802CEF60 002CBEA0 7C 1D F2 14 */ add r0, r29, r30
/* 802CEF64 002CBEA4 7C 04 00 50 */ subf r0, r4, r0
/* 802CEF68 002CBEA8 54 05 00 36 */ rlwinm r5, r0, 0, 0, 0x1b
/* 802CEF6C 002CBEAC 28 1D 00 00 */ cmplwi r29, 0
/* 802CEF70 002CBEB0 41 82 00 14 */ beq lbl_802CEF84
/* 802CEF74 002CBEB4 7F A3 EB 78 */ mr r3, r29
/* 802CEF78 002CBEB8 41 82 00 0C */ beq lbl_802CEF84
/* 802CEF7C 002CBEBC 7F E7 FB 78 */ mr r7, r31
/* 802CEF80 002CBEC0 48 00 00 B1 */ bl __ct__10JKRExpHeapFPvUlP7JKRHeapb
lbl_802CEF84:
/* 802CEF84 002CBEC4 38 00 00 01 */ li r0, 1
/* 802CEF88 002CBEC8 98 03 00 6E */ stb r0, 0x6e(r3)
/* 802CEF8C 002CBECC 93 A3 00 70 */ stw r29, 0x70(r3)
/* 802CEF90 002CBED0 93 C3 00 74 */ stw r30, 0x74(r3)
lbl_802CEF94:
/* 802CEF94 002CBED4 39 61 00 20 */ addi r11, r1, 0x20
/* 802CEF98 002CBED8 48 09 32 91 */ bl _restgpr_29
/* 802CEF9C 002CBEDC 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802CEFA0 002CBEE0 7C 08 03 A6 */ mtlr r0
/* 802CEFA4 002CBEE4 38 21 00 20 */ addi r1, r1, 0x20
/* 802CEFA8 002CBEE8 4E 80 00 20 */ blr
@@ -1,37 +0,0 @@
/* do_destroy__10JKRExpHeapFv __ct__10JKRExpHeapFPvUlP7JKRHeapb::do_destroy(void) */
/* missing reference */
/* 802CEFAC 002CBEEC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802CEFB0 002CBEF0 7C 08 02 A6 */ mflr r0
/* 802CEFB4 002CBEF4 90 01 00 14 */ stw r0, 0x14(r1)
/* 802CEFB8 002CBEF8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802CEFBC 002CBEFC 93 C1 00 08 */ stw r30, 8(r1)
/* 802CEFC0 002CBF00 7C 7E 1B 78 */ mr r30, r3
/* 802CEFC4 002CBF04 88 03 00 6E */ lbz r0, 0x6e(r3)
/* 802CEFC8 002CBF08 28 00 00 00 */ cmplwi r0, 0
/* 802CEFCC 002CBF0C 40 82 00 38 */ bne lbl_802CF004
/* 802CEFD0 002CBF10 80 9E 00 50 */ lwz r4, 0x50(r30)
/* 802CEFD4 002CBF14 83 E4 00 0C */ lwz r31, 0xc(r4)
/* 802CEFD8 002CBF18 28 1F 00 00 */ cmplwi r31, 0
/* 802CEFDC 002CBF1C 41 82 00 3C */ beq lbl_802CF018
/* 802CEFE0 002CBF20 38 80 FF FF */ li r4, -1
/* 802CEFE4 002CBF24 81 83 00 00 */ lwz r12, 0(r3)
/* 802CEFE8 002CBF28 81 8C 00 08 */ lwz r12, 8(r12)
/* 802CEFEC 002CBF2C 7D 89 03 A6 */ mtctr r12
/* 802CEFF0 002CBF30 4E 80 04 21 */ bctrl
/* 802CEFF4 002CBF34 7F C3 F3 78 */ mr r3, r30
/* 802CEFF8 002CBF38 7F E4 FB 78 */ mr r4, r31
/* 802CEFFC 002CBF3C 4B FF F5 05 */ bl free__7JKRHeapFPvP7JKRHeap
/* 802CF000 002CBF40 48 00 00 18 */ b lbl_802CF018
lbl_802CF004:
/* 802CF004 002CBF44 38 80 FF FF */ li r4, -1
/* 802CF008 002CBF48 81 83 00 00 */ lwz r12, 0(r3)
/* 802CF00C 002CBF4C 81 8C 00 08 */ lwz r12, 8(r12)
/* 802CF010 002CBF50 7D 89 03 A6 */ mtctr r12
/* 802CF014 002CBF54 4E 80 04 21 */ bctrl
lbl_802CF018:
/* 802CF018 002CBF58 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802CF01C 002CBF5C 83 C1 00 08 */ lwz r30, 8(r1)
/* 802CF020 002CBF60 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802CF024 002CBF64 7C 08 03 A6 */ mtlr r0
/* 802CF028 002CBF68 38 21 00 10 */ addi r1, r1, 0x10
/* 802CF02C 002CBF6C 4E 80 00 20 */ blr
@@ -1,38 +0,0 @@
/* __ct__10JKRExpHeapFPvUlP7JKRHeapb __ct__10JKRExpHeapFPvUlP7JKRHeapb::__ct(void *, unsigned long, JKRHeap *, bool) */
/* JKRExpHeap */
/* 802CF030 002CBF70 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802CF034 002CBF74 7C 08 02 A6 */ mflr r0
/* 802CF038 002CBF78 90 01 00 24 */ stw r0, 0x24(r1)
/* 802CF03C 002CBF7C 39 61 00 20 */ addi r11, r1, 0x20
/* 802CF040 002CBF80 48 09 31 9D */ bl _savegpr_29
/* 802CF044 002CBF84 7C 7D 1B 78 */ mr r29, r3
/* 802CF048 002CBF88 7C 9E 23 78 */ mr r30, r4
/* 802CF04C 002CBF8C 7C BF 2B 78 */ mr r31, r5
/* 802CF050 002CBF90 4B FF F0 E9 */ bl __ct__7JKRHeapFPvUlP7JKRHeapb
/* 802CF054 002CBF94 3C 60 80 3D */ lis r3, lbl_803CBFD0@ha
/* 802CF058 002CBF98 38 03 BF D0 */ addi r0, r3, lbl_803CBFD0@l
/* 802CF05C 002CBF9C 90 1D 00 00 */ stw r0, 0(r29)
/* 802CF060 002CBFA0 38 00 00 00 */ li r0, 0
/* 802CF064 002CBFA4 98 1D 00 6C */ stb r0, 0x6c(r29)
/* 802CF068 002CBFA8 38 00 00 FF */ li r0, 0xff
/* 802CF06C 002CBFAC 98 1D 00 6D */ stb r0, 0x6d(r29)
/* 802CF070 002CBFB0 93 DD 00 78 */ stw r30, 0x78(r29)
/* 802CF074 002CBFB4 80 1D 00 78 */ lwz r0, 0x78(r29)
/* 802CF078 002CBFB8 90 1D 00 7C */ stw r0, 0x7c(r29)
/* 802CF07C 002CBFBC 80 7D 00 78 */ lwz r3, 0x78(r29)
/* 802CF080 002CBFC0 38 80 00 00 */ li r4, 0
/* 802CF084 002CBFC4 38 A0 00 00 */ li r5, 0
/* 802CF088 002CBFC8 38 DF FF F0 */ addi r6, r31, -16
/* 802CF08C 002CBFCC 38 E0 00 00 */ li r7, 0
/* 802CF090 002CBFD0 39 00 00 00 */ li r8, 0
/* 802CF094 002CBFD4 48 00 17 7D */ bl initiate__Q210JKRExpHeap9CMemBlockFPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlockUlUcUc
/* 802CF098 002CBFD8 38 00 00 00 */ li r0, 0
/* 802CF09C 002CBFDC 90 1D 00 80 */ stw r0, 0x80(r29)
/* 802CF0A0 002CBFE0 90 1D 00 84 */ stw r0, 0x84(r29)
/* 802CF0A4 002CBFE4 7F A3 EB 78 */ mr r3, r29
/* 802CF0A8 002CBFE8 39 61 00 20 */ addi r11, r1, 0x20
/* 802CF0AC 002CBFEC 48 09 31 7D */ bl _restgpr_29
/* 802CF0B0 002CBFF0 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802CF0B4 002CBFF4 7C 08 03 A6 */ mtlr r0
/* 802CF0B8 002CBFF8 38 21 00 20 */ addi r1, r1, 0x20
/* 802CF0BC 002CBFFC 4E 80 00 20 */ blr
@@ -1,29 +0,0 @@
/* __dt__10JKRExpHeapFv __ct__10JKRExpHeapFPvUlP7JKRHeapb::__dt(void) */
/* missing reference */
/* 802CF0C0 002CC000 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802CF0C4 002CC004 7C 08 02 A6 */ mflr r0
/* 802CF0C8 002CC008 90 01 00 14 */ stw r0, 0x14(r1)
/* 802CF0CC 002CC00C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802CF0D0 002CC010 93 C1 00 08 */ stw r30, 8(r1)
/* 802CF0D4 002CC014 7C 7E 1B 79 */ or. r30, r3, r3
/* 802CF0D8 002CC018 7C 9F 23 78 */ mr r31, r4
/* 802CF0DC 002CC01C 41 82 00 30 */ beq lbl_802CF10C
/* 802CF0E0 002CC020 3C 80 80 3D */ lis r4, lbl_803CBFD0@ha
/* 802CF0E4 002CC024 38 04 BF D0 */ addi r0, r4, lbl_803CBFD0@l
/* 802CF0E8 002CC028 90 1E 00 00 */ stw r0, 0(r30)
/* 802CF0EC 002CC02C 4B FF F9 D5 */ bl dispose__7JKRHeapFv
/* 802CF0F0 002CC030 7F C3 F3 78 */ mr r3, r30
/* 802CF0F4 002CC034 38 80 00 00 */ li r4, 0
/* 802CF0F8 002CC038 4B FF F1 6D */ bl __dt__7JKRHeapFv
/* 802CF0FC 002CC03C 7F E0 07 35 */ extsh. r0, r31
/* 802CF100 002CC040 40 81 00 0C */ ble lbl_802CF10C
/* 802CF104 002CC044 7F C3 F3 78 */ mr r3, r30
/* 802CF108 002CC048 4B FF FC 35 */ bl __dl__FPv
lbl_802CF10C:
/* 802CF10C 002CC04C 7F C3 F3 78 */ mr r3, r30
/* 802CF110 002CC050 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802CF114 002CC054 83 C1 00 08 */ lwz r30, 8(r1)
/* 802CF118 002CC058 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802CF11C 002CC05C 7C 08 03 A6 */ mtlr r0
/* 802CF120 002CC060 38 21 00 10 */ addi r1, r1, 0x10
/* 802CF124 002CC064 4E 80 00 20 */ blr
@@ -1,75 +0,0 @@
/* do_alloc__10JKRExpHeapFUli __ct__10JKRExpHeapFPvUlP7JKRHeapb::do_alloc(unsigned long, int) */
/* missing reference */
/* 802CF128 002CC068 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802CF12C 002CC06C 7C 08 02 A6 */ mflr r0
/* 802CF130 002CC070 90 01 00 24 */ stw r0, 0x24(r1)
/* 802CF134 002CC074 39 61 00 20 */ addi r11, r1, 0x20
/* 802CF138 002CC078 48 09 30 A1 */ bl _savegpr_28
/* 802CF13C 002CC07C 7C 7C 1B 78 */ mr r28, r3
/* 802CF140 002CC080 7C 9D 23 78 */ mr r29, r4
/* 802CF144 002CC084 7C BE 2B 78 */ mr r30, r5
/* 802CF148 002CC088 38 7C 00 18 */ addi r3, r28, 0x18
/* 802CF14C 002CC08C 48 06 FE F5 */ bl OSLockMutex
/* 802CF150 002CC090 28 1D 00 04 */ cmplwi r29, 4
/* 802CF154 002CC094 40 80 00 08 */ bge lbl_802CF15C
/* 802CF158 002CC098 3B A0 00 04 */ li r29, 4
lbl_802CF15C:
/* 802CF15C 002CC09C 2C 1E 00 00 */ cmpwi r30, 0
/* 802CF160 002CC0A0 41 80 00 38 */ blt lbl_802CF198
/* 802CF164 002CC0A4 2C 1E 00 04 */ cmpwi r30, 4
/* 802CF168 002CC0A8 41 81 00 18 */ bgt lbl_802CF180
/* 802CF16C 002CC0AC 7F 83 E3 78 */ mr r3, r28
/* 802CF170 002CC0B0 7F A4 EB 78 */ mr r4, r29
/* 802CF174 002CC0B4 48 00 03 1D */ bl allocFromHead__10JKRExpHeapFUl
/* 802CF178 002CC0B8 7C 7F 1B 78 */ mr r31, r3
/* 802CF17C 002CC0BC 48 00 00 4C */ b lbl_802CF1C8
lbl_802CF180:
/* 802CF180 002CC0C0 7F 83 E3 78 */ mr r3, r28
/* 802CF184 002CC0C4 7F A4 EB 78 */ mr r4, r29
/* 802CF188 002CC0C8 7F C5 F3 78 */ mr r5, r30
/* 802CF18C 002CC0CC 48 00 00 A9 */ bl allocFromHead__10JKRExpHeapFUli
/* 802CF190 002CC0D0 7C 7F 1B 78 */ mr r31, r3
/* 802CF194 002CC0D4 48 00 00 34 */ b lbl_802CF1C8
lbl_802CF198:
/* 802CF198 002CC0D8 7C BE 00 D0 */ neg r5, r30
/* 802CF19C 002CC0DC 2C 05 00 04 */ cmpwi r5, 4
/* 802CF1A0 002CC0E0 41 81 00 18 */ bgt lbl_802CF1B8
/* 802CF1A4 002CC0E4 7F 83 E3 78 */ mr r3, r28
/* 802CF1A8 002CC0E8 7F A4 EB 78 */ mr r4, r29
/* 802CF1AC 002CC0EC 48 00 05 29 */ bl allocFromTail__10JKRExpHeapFUl
/* 802CF1B0 002CC0F0 7C 7F 1B 78 */ mr r31, r3
/* 802CF1B4 002CC0F4 48 00 00 14 */ b lbl_802CF1C8
lbl_802CF1B8:
/* 802CF1B8 002CC0F8 7F 83 E3 78 */ mr r3, r28
/* 802CF1BC 002CC0FC 7F A4 EB 78 */ mr r4, r29
/* 802CF1C0 002CC100 48 00 03 B5 */ bl allocFromTail__10JKRExpHeapFUli
/* 802CF1C4 002CC104 7C 7F 1B 78 */ mr r31, r3
lbl_802CF1C8:
/* 802CF1C8 002CC108 28 1F 00 00 */ cmplwi r31, 0
/* 802CF1CC 002CC10C 40 82 00 44 */ bne lbl_802CF210
/* 802CF1D0 002CC110 3C 60 80 3A */ lis r3, lbl_8039CAF0@ha
/* 802CF1D4 002CC114 38 63 CA F0 */ addi r3, r3, lbl_8039CAF0@l
/* 802CF1D8 002CC118 7F A4 EB 78 */ mr r4, r29
/* 802CF1DC 002CC11C 4C C6 31 82 */ crclr 6
/* 802CF1E0 002CC120 48 01 94 9D */ bl JUTWarningConsole_f
/* 802CF1E4 002CC124 88 1C 00 68 */ lbz r0, 0x68(r28)
/* 802CF1E8 002CC128 28 00 00 01 */ cmplwi r0, 1
/* 802CF1EC 002CC12C 40 82 00 24 */ bne lbl_802CF210
/* 802CF1F0 002CC130 81 8D 8D FC */ lwz r12, lbl_8045137C-_SDA_BASE_(r13)
/* 802CF1F4 002CC134 28 0C 00 00 */ cmplwi r12, 0
/* 802CF1F8 002CC138 41 82 00 18 */ beq lbl_802CF210
/* 802CF1FC 002CC13C 7F 83 E3 78 */ mr r3, r28
/* 802CF200 002CC140 7F A4 EB 78 */ mr r4, r29
/* 802CF204 002CC144 7F C5 F3 78 */ mr r5, r30
/* 802CF208 002CC148 7D 89 03 A6 */ mtctr r12
/* 802CF20C 002CC14C 4E 80 04 21 */ bctrl
lbl_802CF210:
/* 802CF210 002CC150 38 7C 00 18 */ addi r3, r28, 0x18
/* 802CF214 002CC154 48 06 FF 09 */ bl OSUnlockMutex
/* 802CF218 002CC158 7F E3 FB 78 */ mr r3, r31
/* 802CF21C 002CC15C 39 61 00 20 */ addi r11, r1, 0x20
/* 802CF220 002CC160 48 09 30 05 */ bl _restgpr_28
/* 802CF224 002CC164 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802CF228 002CC168 7C 08 03 A6 */ mtlr r0
/* 802CF22C 002CC16C 38 21 00 20 */ addi r1, r1, 0x20
/* 802CF230 002CC170 4E 80 00 20 */ blr
@@ -1,168 +0,0 @@
/* allocFromHead__10JKRExpHeapFUli __ct__10JKRExpHeapFPvUlP7JKRHeapb::allocFromHead(unsigned long, int) */
/* JKRExpHeap_NS_allocFromHead */
/* 802CF234 002CC174 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 802CF238 002CC178 7C 08 02 A6 */ mflr r0
/* 802CF23C 002CC17C 90 01 00 34 */ stw r0, 0x34(r1)
/* 802CF240 002CC180 39 61 00 30 */ addi r11, r1, 0x30
/* 802CF244 002CC184 48 09 2F 89 */ bl _savegpr_25
/* 802CF248 002CC188 7C 7D 1B 78 */ mr r29, r3
/* 802CF24C 002CC18C 38 04 00 03 */ addi r0, r4, 3
/* 802CF250 002CC190 54 1E 00 3A */ rlwinm r30, r0, 0, 0, 0x1d
/* 802CF254 002CC194 38 C0 FF FF */ li r6, -1
/* 802CF258 002CC198 3B 60 00 00 */ li r27, 0
/* 802CF25C 002CC19C 3B E0 00 00 */ li r31, 0
/* 802CF260 002CC1A0 80 E3 00 78 */ lwz r7, 0x78(r3)
/* 802CF264 002CC1A4 38 65 FF FF */ addi r3, r5, -1
/* 802CF268 002CC1A8 7C 64 18 F8 */ nor r4, r3, r3
/* 802CF26C 002CC1AC 48 00 00 50 */ b lbl_802CF2BC
lbl_802CF270:
/* 802CF270 002CC1B0 38 A7 00 10 */ addi r5, r7, 0x10
/* 802CF274 002CC1B4 7C 03 2A 14 */ add r0, r3, r5
/* 802CF278 002CC1B8 7C 80 00 38 */ and r0, r4, r0
/* 802CF27C 002CC1BC 7D 05 00 50 */ subf r8, r5, r0
/* 802CF280 002CC1C0 80 A7 00 04 */ lwz r5, 4(r7)
/* 802CF284 002CC1C4 7C 1E 42 14 */ add r0, r30, r8
/* 802CF288 002CC1C8 7C 05 00 40 */ cmplw r5, r0
/* 802CF28C 002CC1CC 41 80 00 2C */ blt lbl_802CF2B8
/* 802CF290 002CC1D0 7C 06 28 40 */ cmplw r6, r5
/* 802CF294 002CC1D4 40 81 00 24 */ ble lbl_802CF2B8
/* 802CF298 002CC1D8 7C A6 2B 78 */ mr r6, r5
/* 802CF29C 002CC1DC 7C FF 3B 78 */ mr r31, r7
/* 802CF2A0 002CC1E0 7D 1B 43 78 */ mr r27, r8
/* 802CF2A4 002CC1E4 88 1D 00 6C */ lbz r0, 0x6c(r29)
/* 802CF2A8 002CC1E8 28 00 00 00 */ cmplwi r0, 0
/* 802CF2AC 002CC1EC 40 82 00 18 */ bne lbl_802CF2C4
/* 802CF2B0 002CC1F0 7C 05 F0 40 */ cmplw r5, r30
/* 802CF2B4 002CC1F4 41 82 00 10 */ beq lbl_802CF2C4
lbl_802CF2B8:
/* 802CF2B8 002CC1F8 80 E7 00 0C */ lwz r7, 0xc(r7)
lbl_802CF2BC:
/* 802CF2BC 002CC1FC 28 07 00 00 */ cmplwi r7, 0
/* 802CF2C0 002CC200 40 82 FF B0 */ bne lbl_802CF270
lbl_802CF2C4:
/* 802CF2C4 002CC204 90 CD 8E 18 */ stw r6, lbl_80451398-_SDA_BASE_(r13)
/* 802CF2C8 002CC208 93 6D 8E 1C */ stw r27, lbl_8045139C-_SDA_BASE_(r13)
/* 802CF2CC 002CC20C 93 ED 8E 20 */ stw r31, lbl_804513A0-_SDA_BASE_(r13)
/* 802CF2D0 002CC210 28 1F 00 00 */ cmplwi r31, 0
/* 802CF2D4 002CC214 41 82 01 A0 */ beq lbl_802CF474
/* 802CF2D8 002CC218 28 1B 00 10 */ cmplwi r27, 0x10
/* 802CF2DC 002CC21C 41 80 00 C0 */ blt lbl_802CF39C
/* 802CF2E0 002CC220 83 5F 00 08 */ lwz r26, 8(r31)
/* 802CF2E4 002CC224 83 3F 00 0C */ lwz r25, 0xc(r31)
/* 802CF2E8 002CC228 7F E3 FB 78 */ mr r3, r31
/* 802CF2EC 002CC22C 38 9B FF F0 */ addi r4, r27, -16
/* 802CF2F0 002CC230 38 A0 00 00 */ li r5, 0
/* 802CF2F4 002CC234 38 C0 00 00 */ li r6, 0
/* 802CF2F8 002CC238 38 E0 00 00 */ li r7, 0
/* 802CF2FC 002CC23C 39 00 00 00 */ li r8, 0
/* 802CF300 002CC240 48 00 15 31 */ bl allocFore__Q210JKRExpHeap9CMemBlockFUlUcUcUcUc
/* 802CF304 002CC244 7C 7C 1B 79 */ or. r28, r3, r3
/* 802CF308 002CC248 41 82 00 24 */ beq lbl_802CF32C
/* 802CF30C 002CC24C 7F C4 F3 78 */ mr r4, r30
/* 802CF310 002CC250 88 BD 00 6D */ lbz r5, 0x6d(r29)
/* 802CF314 002CC254 38 C0 00 00 */ li r6, 0
/* 802CF318 002CC258 38 E0 00 00 */ li r7, 0
/* 802CF31C 002CC25C 39 00 00 00 */ li r8, 0
/* 802CF320 002CC260 48 00 15 11 */ bl allocFore__Q210JKRExpHeap9CMemBlockFUlUcUcUcUc
/* 802CF324 002CC264 7C 66 1B 78 */ mr r6, r3
/* 802CF328 002CC268 48 00 00 08 */ b lbl_802CF330
lbl_802CF32C:
/* 802CF32C 002CC26C 38 C0 00 00 */ li r6, 0
lbl_802CF330:
/* 802CF330 002CC270 7C DB 33 78 */ mr r27, r6
/* 802CF334 002CC274 28 06 00 00 */ cmplwi r6, 0
/* 802CF338 002CC278 41 82 00 18 */ beq lbl_802CF350
/* 802CF33C 002CC27C 7F A3 EB 78 */ mr r3, r29
/* 802CF340 002CC280 7F E4 FB 78 */ mr r4, r31
/* 802CF344 002CC284 7F 45 D3 78 */ mr r5, r26
/* 802CF348 002CC288 48 00 0B 21 */ bl setFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlock
/* 802CF34C 002CC28C 48 00 00 18 */ b lbl_802CF364
lbl_802CF350:
/* 802CF350 002CC290 7F A3 EB 78 */ mr r3, r29
/* 802CF354 002CC294 7F E4 FB 78 */ mr r4, r31
/* 802CF358 002CC298 7F 45 D3 78 */ mr r5, r26
/* 802CF35C 002CC29C 7F 26 CB 78 */ mr r6, r25
/* 802CF360 002CC2A0 48 00 0B 09 */ bl setFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlock
lbl_802CF364:
/* 802CF364 002CC2A4 28 1B 00 00 */ cmplwi r27, 0
/* 802CF368 002CC2A8 41 82 00 18 */ beq lbl_802CF380
/* 802CF36C 002CC2AC 7F A3 EB 78 */ mr r3, r29
/* 802CF370 002CC2B0 7F 64 DB 78 */ mr r4, r27
/* 802CF374 002CC2B4 7F E5 FB 78 */ mr r5, r31
/* 802CF378 002CC2B8 7F 26 CB 78 */ mr r6, r25
/* 802CF37C 002CC2BC 48 00 0A ED */ bl setFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlock
lbl_802CF380:
/* 802CF380 002CC2C0 7F A3 EB 78 */ mr r3, r29
/* 802CF384 002CC2C4 7F 84 E3 78 */ mr r4, r28
/* 802CF388 002CC2C8 48 00 0A 45 */ bl appendUsedList__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock
/* 802CF38C 002CC2CC 93 6D 8E 24 */ stw r27, lbl_804513A4-_SDA_BASE_(r13)
/* 802CF390 002CC2D0 93 8D 8E 28 */ stw r28, lbl_804513A8-_SDA_BASE_(r13)
/* 802CF394 002CC2D4 38 7C 00 10 */ addi r3, r28, 0x10
/* 802CF398 002CC2D8 48 00 00 E0 */ b lbl_802CF478
lbl_802CF39C:
/* 802CF39C 002CC2DC 28 1B 00 00 */ cmplwi r27, 0
/* 802CF3A0 002CC2E0 41 82 00 70 */ beq lbl_802CF410
/* 802CF3A4 002CC2E4 83 3F 00 08 */ lwz r25, 8(r31)
/* 802CF3A8 002CC2E8 83 5F 00 0C */ lwz r26, 0xc(r31)
/* 802CF3AC 002CC2EC 7F A3 EB 78 */ mr r3, r29
/* 802CF3B0 002CC2F0 7F E4 FB 78 */ mr r4, r31
/* 802CF3B4 002CC2F4 48 00 0B 01 */ bl removeFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock
/* 802CF3B8 002CC2F8 7F 9F DA 14 */ add r28, r31, r27
/* 802CF3BC 002CC2FC 80 1F 00 04 */ lwz r0, 4(r31)
/* 802CF3C0 002CC300 7C 1B 00 50 */ subf r0, r27, r0
/* 802CF3C4 002CC304 90 1C 00 04 */ stw r0, 4(r28)
/* 802CF3C8 002CC308 7F 83 E3 78 */ mr r3, r28
/* 802CF3CC 002CC30C 7F C4 F3 78 */ mr r4, r30
/* 802CF3D0 002CC310 88 BD 00 6D */ lbz r5, 0x6d(r29)
/* 802CF3D4 002CC314 57 66 06 3E */ clrlwi r6, r27, 0x18
/* 802CF3D8 002CC318 38 E0 00 00 */ li r7, 0
/* 802CF3DC 002CC31C 39 00 00 00 */ li r8, 0
/* 802CF3E0 002CC320 48 00 14 51 */ bl allocFore__Q210JKRExpHeap9CMemBlockFUlUcUcUcUc
/* 802CF3E4 002CC324 7C 64 1B 79 */ or. r4, r3, r3
/* 802CF3E8 002CC328 41 82 00 14 */ beq lbl_802CF3FC
/* 802CF3EC 002CC32C 7F A3 EB 78 */ mr r3, r29
/* 802CF3F0 002CC330 7F 25 CB 78 */ mr r5, r25
/* 802CF3F4 002CC334 7F 46 D3 78 */ mr r6, r26
/* 802CF3F8 002CC338 48 00 0A 71 */ bl setFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlock
lbl_802CF3FC:
/* 802CF3FC 002CC33C 7F A3 EB 78 */ mr r3, r29
/* 802CF400 002CC340 7F 84 E3 78 */ mr r4, r28
/* 802CF404 002CC344 48 00 09 C9 */ bl appendUsedList__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock
/* 802CF408 002CC348 38 7C 00 10 */ addi r3, r28, 0x10
/* 802CF40C 002CC34C 48 00 00 6C */ b lbl_802CF478
lbl_802CF410:
/* 802CF410 002CC350 83 3F 00 08 */ lwz r25, 8(r31)
/* 802CF414 002CC354 83 5F 00 0C */ lwz r26, 0xc(r31)
/* 802CF418 002CC358 7F E3 FB 78 */ mr r3, r31
/* 802CF41C 002CC35C 7F C4 F3 78 */ mr r4, r30
/* 802CF420 002CC360 88 BD 00 6D */ lbz r5, 0x6d(r29)
/* 802CF424 002CC364 38 C0 00 00 */ li r6, 0
/* 802CF428 002CC368 38 E0 00 00 */ li r7, 0
/* 802CF42C 002CC36C 39 00 00 00 */ li r8, 0
/* 802CF430 002CC370 48 00 14 01 */ bl allocFore__Q210JKRExpHeap9CMemBlockFUlUcUcUcUc
/* 802CF434 002CC374 7C 7E 1B 78 */ mr r30, r3
/* 802CF438 002CC378 7F A3 EB 78 */ mr r3, r29
/* 802CF43C 002CC37C 7F E4 FB 78 */ mr r4, r31
/* 802CF440 002CC380 48 00 0A 75 */ bl removeFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock
/* 802CF444 002CC384 28 1E 00 00 */ cmplwi r30, 0
/* 802CF448 002CC388 41 82 00 18 */ beq lbl_802CF460
/* 802CF44C 002CC38C 7F A3 EB 78 */ mr r3, r29
/* 802CF450 002CC390 7F C4 F3 78 */ mr r4, r30
/* 802CF454 002CC394 7F 25 CB 78 */ mr r5, r25
/* 802CF458 002CC398 7F 46 D3 78 */ mr r6, r26
/* 802CF45C 002CC39C 48 00 0A 0D */ bl setFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlock
lbl_802CF460:
/* 802CF460 002CC3A0 7F A3 EB 78 */ mr r3, r29
/* 802CF464 002CC3A4 7F E4 FB 78 */ mr r4, r31
/* 802CF468 002CC3A8 48 00 09 65 */ bl appendUsedList__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock
/* 802CF46C 002CC3AC 38 7F 00 10 */ addi r3, r31, 0x10
/* 802CF470 002CC3B0 48 00 00 08 */ b lbl_802CF478
lbl_802CF474:
/* 802CF474 002CC3B4 38 60 00 00 */ li r3, 0
lbl_802CF478:
/* 802CF478 002CC3B8 39 61 00 30 */ addi r11, r1, 0x30
/* 802CF47C 002CC3BC 48 09 2D 9D */ bl _restgpr_25
/* 802CF480 002CC3C0 80 01 00 34 */ lwz r0, 0x34(r1)
/* 802CF484 002CC3C4 7C 08 03 A6 */ mtlr r0
/* 802CF488 002CC3C8 38 21 00 30 */ addi r1, r1, 0x30
/* 802CF48C 002CC3CC 4E 80 00 20 */ blr
@@ -1,67 +0,0 @@
/* allocFromHead__10JKRExpHeapFUl __ct__10JKRExpHeapFPvUlP7JKRHeapb::allocFromHead(unsigned long) */
/* JKRExpHeap_NS_allocFromHead_X1_ */
/* 802CF490 002CC3D0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802CF494 002CC3D4 7C 08 02 A6 */ mflr r0
/* 802CF498 002CC3D8 90 01 00 14 */ stw r0, 0x14(r1)
/* 802CF49C 002CC3DC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802CF4A0 002CC3E0 93 C1 00 08 */ stw r30, 8(r1)
/* 802CF4A4 002CC3E4 7C 7E 1B 78 */ mr r30, r3
/* 802CF4A8 002CC3E8 38 04 00 03 */ addi r0, r4, 3
/* 802CF4AC 002CC3EC 54 04 00 3A */ rlwinm r4, r0, 0, 0, 0x1d
/* 802CF4B0 002CC3F0 38 A0 FF FF */ li r5, -1
/* 802CF4B4 002CC3F4 3B E0 00 00 */ li r31, 0
/* 802CF4B8 002CC3F8 80 C3 00 78 */ lwz r6, 0x78(r3)
/* 802CF4BC 002CC3FC 48 00 00 38 */ b lbl_802CF4F4
lbl_802CF4C0:
/* 802CF4C0 002CC400 80 66 00 04 */ lwz r3, 4(r6)
/* 802CF4C4 002CC404 7C 03 20 40 */ cmplw r3, r4
/* 802CF4C8 002CC408 41 80 00 28 */ blt lbl_802CF4F0
/* 802CF4CC 002CC40C 7C 05 18 40 */ cmplw r5, r3
/* 802CF4D0 002CC410 40 81 00 20 */ ble lbl_802CF4F0
/* 802CF4D4 002CC414 7C 65 1B 78 */ mr r5, r3
/* 802CF4D8 002CC418 7C DF 33 78 */ mr r31, r6
/* 802CF4DC 002CC41C 88 1E 00 6C */ lbz r0, 0x6c(r30)
/* 802CF4E0 002CC420 28 00 00 00 */ cmplwi r0, 0
/* 802CF4E4 002CC424 40 82 00 18 */ bne lbl_802CF4FC
/* 802CF4E8 002CC428 7C 03 20 40 */ cmplw r3, r4
/* 802CF4EC 002CC42C 41 82 00 10 */ beq lbl_802CF4FC
lbl_802CF4F0:
/* 802CF4F0 002CC430 80 C6 00 0C */ lwz r6, 0xc(r6)
lbl_802CF4F4:
/* 802CF4F4 002CC434 28 06 00 00 */ cmplwi r6, 0
/* 802CF4F8 002CC438 40 82 FF C8 */ bne lbl_802CF4C0
lbl_802CF4FC:
/* 802CF4FC 002CC43C 28 1F 00 00 */ cmplwi r31, 0
/* 802CF500 002CC440 41 82 00 58 */ beq lbl_802CF558
/* 802CF504 002CC444 7F E3 FB 78 */ mr r3, r31
/* 802CF508 002CC448 88 BE 00 6D */ lbz r5, 0x6d(r30)
/* 802CF50C 002CC44C 38 C0 00 00 */ li r6, 0
/* 802CF510 002CC450 38 E0 00 00 */ li r7, 0
/* 802CF514 002CC454 39 00 00 00 */ li r8, 0
/* 802CF518 002CC458 48 00 13 19 */ bl allocFore__Q210JKRExpHeap9CMemBlockFUlUcUcUcUc
/* 802CF51C 002CC45C 7C 64 1B 79 */ or. r4, r3, r3
/* 802CF520 002CC460 41 82 00 18 */ beq lbl_802CF538
/* 802CF524 002CC464 7F C3 F3 78 */ mr r3, r30
/* 802CF528 002CC468 80 BF 00 08 */ lwz r5, 8(r31)
/* 802CF52C 002CC46C 80 DF 00 0C */ lwz r6, 0xc(r31)
/* 802CF530 002CC470 48 00 09 39 */ bl setFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlock
/* 802CF534 002CC474 48 00 00 10 */ b lbl_802CF544
lbl_802CF538:
/* 802CF538 002CC478 7F C3 F3 78 */ mr r3, r30
/* 802CF53C 002CC47C 7F E4 FB 78 */ mr r4, r31
/* 802CF540 002CC480 48 00 09 75 */ bl removeFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock
lbl_802CF544:
/* 802CF544 002CC484 7F C3 F3 78 */ mr r3, r30
/* 802CF548 002CC488 7F E4 FB 78 */ mr r4, r31
/* 802CF54C 002CC48C 48 00 08 81 */ bl appendUsedList__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock
/* 802CF550 002CC490 38 7F 00 10 */ addi r3, r31, 0x10
/* 802CF554 002CC494 48 00 00 08 */ b lbl_802CF55C
lbl_802CF558:
/* 802CF558 002CC498 38 60 00 00 */ li r3, 0
lbl_802CF55C:
/* 802CF55C 002CC49C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802CF560 002CC4A0 83 C1 00 08 */ lwz r30, 8(r1)
/* 802CF564 002CC4A4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802CF568 002CC4A8 7C 08 03 A6 */ mtlr r0
/* 802CF56C 002CC4AC 38 21 00 10 */ addi r1, r1, 0x10
/* 802CF570 002CC4B0 4E 80 00 20 */ blr
@@ -1,98 +0,0 @@
/* allocFromTail__10JKRExpHeapFUli __ct__10JKRExpHeapFPvUlP7JKRHeapb::allocFromTail(unsigned long, int) */
/* JKRExpHeap_NS_allocFromTail */
/* 802CF574 002CC4B4 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802CF578 002CC4B8 7C 08 02 A6 */ mflr r0
/* 802CF57C 002CC4BC 90 01 00 24 */ stw r0, 0x24(r1)
/* 802CF580 002CC4C0 39 61 00 20 */ addi r11, r1, 0x20
/* 802CF584 002CC4C4 48 09 2C 51 */ bl _savegpr_27
/* 802CF588 002CC4C8 7C 7B 1B 78 */ mr r27, r3
/* 802CF58C 002CC4CC 3B E0 00 00 */ li r31, 0
/* 802CF590 002CC4D0 3B C0 00 00 */ li r30, 0
/* 802CF594 002CC4D4 3B A0 00 00 */ li r29, 0
/* 802CF598 002CC4D8 81 03 00 7C */ lwz r8, 0x7c(r3)
/* 802CF59C 002CC4DC 38 05 FF FF */ addi r0, r5, -1
/* 802CF5A0 002CC4E0 7C 03 00 F8 */ nor r3, r0, r0
/* 802CF5A4 002CC4E4 48 00 00 38 */ b lbl_802CF5DC
lbl_802CF5A8:
/* 802CF5A8 002CC4E8 80 C8 00 04 */ lwz r6, 4(r8)
/* 802CF5AC 002CC4EC 7C A8 32 14 */ add r5, r8, r6
/* 802CF5B0 002CC4F0 38 A5 00 10 */ addi r5, r5, 0x10
/* 802CF5B4 002CC4F4 7C 04 28 50 */ subf r0, r4, r5
/* 802CF5B8 002CC4F8 7C 67 00 38 */ and r7, r3, r0
/* 802CF5BC 002CC4FC 7F 87 28 50 */ subf r28, r7, r5
/* 802CF5C0 002CC500 7C 06 E0 40 */ cmplw r6, r28
/* 802CF5C4 002CC504 41 80 00 14 */ blt lbl_802CF5D8
/* 802CF5C8 002CC508 7D 1E 43 78 */ mr r30, r8
/* 802CF5CC 002CC50C 7F FC 30 50 */ subf r31, r28, r6
/* 802CF5D0 002CC510 3B A7 FF F0 */ addi r29, r7, -16
/* 802CF5D4 002CC514 48 00 00 10 */ b lbl_802CF5E4
lbl_802CF5D8:
/* 802CF5D8 002CC518 81 08 00 08 */ lwz r8, 8(r8)
lbl_802CF5DC:
/* 802CF5DC 002CC51C 28 08 00 00 */ cmplwi r8, 0
/* 802CF5E0 002CC520 40 82 FF C8 */ bne lbl_802CF5A8
lbl_802CF5E4:
/* 802CF5E4 002CC524 28 1E 00 00 */ cmplwi r30, 0
/* 802CF5E8 002CC528 41 82 00 D0 */ beq lbl_802CF6B8
/* 802CF5EC 002CC52C 28 1F 00 10 */ cmplwi r31, 0x10
/* 802CF5F0 002CC530 41 80 00 44 */ blt lbl_802CF634
/* 802CF5F4 002CC534 7F A3 EB 78 */ mr r3, r29
/* 802CF5F8 002CC538 38 80 00 00 */ li r4, 0
/* 802CF5FC 002CC53C 38 A0 00 00 */ li r5, 0
/* 802CF600 002CC540 7F 86 E3 78 */ mr r6, r28
/* 802CF604 002CC544 88 FB 00 6D */ lbz r7, 0x6d(r27)
/* 802CF608 002CC548 39 00 00 80 */ li r8, 0x80
/* 802CF60C 002CC54C 48 00 12 05 */ bl initiate__Q210JKRExpHeap9CMemBlockFPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlockUlUcUc
/* 802CF610 002CC550 80 1E 00 04 */ lwz r0, 4(r30)
/* 802CF614 002CC554 7C 7C 00 50 */ subf r3, r28, r0
/* 802CF618 002CC558 38 03 FF F0 */ addi r0, r3, -16
/* 802CF61C 002CC55C 90 1E 00 04 */ stw r0, 4(r30)
/* 802CF620 002CC560 7F 63 DB 78 */ mr r3, r27
/* 802CF624 002CC564 7F A4 EB 78 */ mr r4, r29
/* 802CF628 002CC568 48 00 07 A5 */ bl appendUsedList__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock
/* 802CF62C 002CC56C 38 7D 00 10 */ addi r3, r29, 0x10
/* 802CF630 002CC570 48 00 00 8C */ b lbl_802CF6BC
lbl_802CF634:
/* 802CF634 002CC574 28 1F 00 00 */ cmplwi r31, 0
/* 802CF638 002CC578 41 82 00 44 */ beq lbl_802CF67C
/* 802CF63C 002CC57C 7F 63 DB 78 */ mr r3, r27
/* 802CF640 002CC580 7F C4 F3 78 */ mr r4, r30
/* 802CF644 002CC584 48 00 08 71 */ bl removeFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock
/* 802CF648 002CC588 7F A3 EB 78 */ mr r3, r29
/* 802CF64C 002CC58C 38 80 00 00 */ li r4, 0
/* 802CF650 002CC590 38 A0 00 00 */ li r5, 0
/* 802CF654 002CC594 7F 86 E3 78 */ mr r6, r28
/* 802CF658 002CC598 88 FB 00 6D */ lbz r7, 0x6d(r27)
/* 802CF65C 002CC59C 63 E0 00 80 */ ori r0, r31, 0x80
/* 802CF660 002CC5A0 54 08 06 3E */ clrlwi r8, r0, 0x18
/* 802CF664 002CC5A4 48 00 11 AD */ bl initiate__Q210JKRExpHeap9CMemBlockFPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlockUlUcUc
/* 802CF668 002CC5A8 7F 63 DB 78 */ mr r3, r27
/* 802CF66C 002CC5AC 7F A4 EB 78 */ mr r4, r29
/* 802CF670 002CC5B0 48 00 07 5D */ bl appendUsedList__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock
/* 802CF674 002CC5B4 38 7D 00 10 */ addi r3, r29, 0x10
/* 802CF678 002CC5B8 48 00 00 44 */ b lbl_802CF6BC
lbl_802CF67C:
/* 802CF67C 002CC5BC 7F 63 DB 78 */ mr r3, r27
/* 802CF680 002CC5C0 7F C4 F3 78 */ mr r4, r30
/* 802CF684 002CC5C4 48 00 08 31 */ bl removeFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock
/* 802CF688 002CC5C8 7F A3 EB 78 */ mr r3, r29
/* 802CF68C 002CC5CC 38 80 00 00 */ li r4, 0
/* 802CF690 002CC5D0 38 A0 00 00 */ li r5, 0
/* 802CF694 002CC5D4 7F 86 E3 78 */ mr r6, r28
/* 802CF698 002CC5D8 88 FB 00 6D */ lbz r7, 0x6d(r27)
/* 802CF69C 002CC5DC 39 00 00 80 */ li r8, 0x80
/* 802CF6A0 002CC5E0 48 00 11 71 */ bl initiate__Q210JKRExpHeap9CMemBlockFPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlockUlUcUc
/* 802CF6A4 002CC5E4 7F 63 DB 78 */ mr r3, r27
/* 802CF6A8 002CC5E8 7F A4 EB 78 */ mr r4, r29
/* 802CF6AC 002CC5EC 48 00 07 21 */ bl appendUsedList__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock
/* 802CF6B0 002CC5F0 38 7D 00 10 */ addi r3, r29, 0x10
/* 802CF6B4 002CC5F4 48 00 00 08 */ b lbl_802CF6BC
lbl_802CF6B8:
/* 802CF6B8 002CC5F8 38 60 00 00 */ li r3, 0
lbl_802CF6BC:
/* 802CF6BC 002CC5FC 39 61 00 20 */ addi r11, r1, 0x20
/* 802CF6C0 002CC600 48 09 2B 61 */ bl _restgpr_27
/* 802CF6C4 002CC604 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802CF6C8 002CC608 7C 08 03 A6 */ mtlr r0
/* 802CF6CC 002CC60C 38 21 00 20 */ addi r1, r1, 0x20
/* 802CF6D0 002CC610 4E 80 00 20 */ blr
@@ -1,65 +0,0 @@
/* allocFromTail__10JKRExpHeapFUl __ct__10JKRExpHeapFPvUlP7JKRHeapb::allocFromTail(unsigned long) */
/* JKRExpHeap_NS_allocFromTail_X1_ */
/* 802CF6D4 002CC614 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802CF6D8 002CC618 7C 08 02 A6 */ mflr r0
/* 802CF6DC 002CC61C 90 01 00 24 */ stw r0, 0x24(r1)
/* 802CF6E0 002CC620 39 61 00 20 */ addi r11, r1, 0x20
/* 802CF6E4 002CC624 48 09 2A F9 */ bl _savegpr_29
/* 802CF6E8 002CC628 7C 7D 1B 78 */ mr r29, r3
/* 802CF6EC 002CC62C 38 04 00 03 */ addi r0, r4, 3
/* 802CF6F0 002CC630 54 04 00 3A */ rlwinm r4, r0, 0, 0, 0x1d
/* 802CF6F4 002CC634 3B E0 00 00 */ li r31, 0
/* 802CF6F8 002CC638 80 63 00 7C */ lwz r3, 0x7c(r3)
/* 802CF6FC 002CC63C 48 00 00 1C */ b lbl_802CF718
lbl_802CF700:
/* 802CF700 002CC640 80 03 00 04 */ lwz r0, 4(r3)
/* 802CF704 002CC644 7C 00 20 40 */ cmplw r0, r4
/* 802CF708 002CC648 41 80 00 0C */ blt lbl_802CF714
/* 802CF70C 002CC64C 7C 7F 1B 78 */ mr r31, r3
/* 802CF710 002CC650 48 00 00 10 */ b lbl_802CF720
lbl_802CF714:
/* 802CF714 002CC654 80 63 00 08 */ lwz r3, 8(r3)
lbl_802CF718:
/* 802CF718 002CC658 28 03 00 00 */ cmplwi r3, 0
/* 802CF71C 002CC65C 40 82 FF E4 */ bne lbl_802CF700
lbl_802CF720:
/* 802CF720 002CC660 28 1F 00 00 */ cmplwi r31, 0
/* 802CF724 002CC664 41 82 00 6C */ beq lbl_802CF790
/* 802CF728 002CC668 7F E3 FB 78 */ mr r3, r31
/* 802CF72C 002CC66C 38 A0 00 00 */ li r5, 0
/* 802CF730 002CC670 38 C0 00 00 */ li r6, 0
/* 802CF734 002CC674 88 FD 00 6D */ lbz r7, 0x6d(r29)
/* 802CF738 002CC678 39 00 00 00 */ li r8, 0
/* 802CF73C 002CC67C 48 00 11 39 */ bl allocBack__Q210JKRExpHeap9CMemBlockFUlUcUcUcUc
/* 802CF740 002CC680 7C 7E 1B 79 */ or. r30, r3, r3
/* 802CF744 002CC684 41 82 00 0C */ beq lbl_802CF750
/* 802CF748 002CC688 7F E4 FB 78 */ mr r4, r31
/* 802CF74C 002CC68C 48 00 00 18 */ b lbl_802CF764
lbl_802CF750:
/* 802CF750 002CC690 7F A3 EB 78 */ mr r3, r29
/* 802CF754 002CC694 7F E4 FB 78 */ mr r4, r31
/* 802CF758 002CC698 48 00 07 5D */ bl removeFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock
/* 802CF75C 002CC69C 7F FE FB 78 */ mr r30, r31
/* 802CF760 002CC6A0 38 80 00 00 */ li r4, 0
lbl_802CF764:
/* 802CF764 002CC6A4 28 04 00 00 */ cmplwi r4, 0
/* 802CF768 002CC6A8 41 82 00 14 */ beq lbl_802CF77C
/* 802CF76C 002CC6AC 7F A3 EB 78 */ mr r3, r29
/* 802CF770 002CC6B0 80 BF 00 08 */ lwz r5, 8(r31)
/* 802CF774 002CC6B4 80 DF 00 0C */ lwz r6, 0xc(r31)
/* 802CF778 002CC6B8 48 00 06 F1 */ bl setFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlock
lbl_802CF77C:
/* 802CF77C 002CC6BC 7F A3 EB 78 */ mr r3, r29
/* 802CF780 002CC6C0 7F C4 F3 78 */ mr r4, r30
/* 802CF784 002CC6C4 48 00 06 49 */ bl appendUsedList__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock
/* 802CF788 002CC6C8 38 7E 00 10 */ addi r3, r30, 0x10
/* 802CF78C 002CC6CC 48 00 00 08 */ b lbl_802CF794
lbl_802CF790:
/* 802CF790 002CC6D0 38 60 00 00 */ li r3, 0
lbl_802CF794:
/* 802CF794 002CC6D4 39 61 00 20 */ addi r11, r1, 0x20
/* 802CF798 002CC6D8 48 09 2A 91 */ bl _restgpr_29
/* 802CF79C 002CC6DC 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802CF7A0 002CC6E0 7C 08 03 A6 */ mtlr r0
/* 802CF7A4 002CC6E4 38 21 00 20 */ addi r1, r1, 0x20
/* 802CF7A8 002CC6E8 4E 80 00 20 */ blr
@@ -1,32 +0,0 @@
/* do_free__10JKRExpHeapFPv __ct__10JKRExpHeapFPvUlP7JKRHeapb::do_free(void *) */
/* missing reference */
/* 802CF7AC 002CC6EC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802CF7B0 002CC6F0 7C 08 02 A6 */ mflr r0
/* 802CF7B4 002CC6F4 90 01 00 14 */ stw r0, 0x14(r1)
/* 802CF7B8 002CC6F8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802CF7BC 002CC6FC 93 C1 00 08 */ stw r30, 8(r1)
/* 802CF7C0 002CC700 7C 7E 1B 78 */ mr r30, r3
/* 802CF7C4 002CC704 7C 9F 23 78 */ mr r31, r4
/* 802CF7C8 002CC708 38 7E 00 18 */ addi r3, r30, 0x18
/* 802CF7CC 002CC70C 48 06 F8 75 */ bl OSLockMutex
/* 802CF7D0 002CC710 80 1E 00 30 */ lwz r0, 0x30(r30)
/* 802CF7D4 002CC714 7C 00 F8 40 */ cmplw r0, r31
/* 802CF7D8 002CC718 41 81 00 28 */ bgt lbl_802CF800
/* 802CF7DC 002CC71C 80 1E 00 34 */ lwz r0, 0x34(r30)
/* 802CF7E0 002CC720 7C 1F 00 40 */ cmplw r31, r0
/* 802CF7E4 002CC724 41 81 00 1C */ bgt lbl_802CF800
/* 802CF7E8 002CC728 7F E3 FB 78 */ mr r3, r31
/* 802CF7EC 002CC72C 48 00 11 31 */ bl getHeapBlock__Q210JKRExpHeap9CMemBlockFPv
/* 802CF7F0 002CC730 28 03 00 00 */ cmplwi r3, 0
/* 802CF7F4 002CC734 41 82 00 0C */ beq lbl_802CF800
/* 802CF7F8 002CC738 7F C4 F3 78 */ mr r4, r30
/* 802CF7FC 002CC73C 48 00 10 D1 */ bl free__Q210JKRExpHeap9CMemBlockFP10JKRExpHeap
lbl_802CF800:
/* 802CF800 002CC740 38 7E 00 18 */ addi r3, r30, 0x18
/* 802CF804 002CC744 48 06 F9 19 */ bl OSUnlockMutex
/* 802CF808 002CC748 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802CF80C 002CC74C 83 C1 00 08 */ lwz r30, 8(r1)
/* 802CF810 002CC750 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802CF814 002CC754 7C 08 03 A6 */ mtlr r0
/* 802CF818 002CC758 38 21 00 10 */ addi r1, r1, 0x10
/* 802CF81C 002CC75C 4E 80 00 20 */ blr
@@ -1,33 +0,0 @@
/* do_freeAll__10JKRExpHeapFv __ct__10JKRExpHeapFPvUlP7JKRHeapb::do_freeAll(void) */
/* missing reference */
/* 802CF820 002CC760 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802CF824 002CC764 7C 08 02 A6 */ mflr r0
/* 802CF828 002CC768 90 01 00 14 */ stw r0, 0x14(r1)
/* 802CF82C 002CC76C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802CF830 002CC770 7C 7F 1B 78 */ mr r31, r3
/* 802CF834 002CC774 38 7F 00 18 */ addi r3, r31, 0x18
/* 802CF838 002CC778 48 06 F8 09 */ bl OSLockMutex
/* 802CF83C 002CC77C 7F E3 FB 78 */ mr r3, r31
/* 802CF840 002CC780 4B FF ED 35 */ bl callAllDisposer__7JKRHeapFv
/* 802CF844 002CC784 80 1F 00 30 */ lwz r0, 0x30(r31)
/* 802CF848 002CC788 90 1F 00 78 */ stw r0, 0x78(r31)
/* 802CF84C 002CC78C 80 1F 00 78 */ lwz r0, 0x78(r31)
/* 802CF850 002CC790 90 1F 00 7C */ stw r0, 0x7c(r31)
/* 802CF854 002CC794 80 7F 00 78 */ lwz r3, 0x78(r31)
/* 802CF858 002CC798 38 80 00 00 */ li r4, 0
/* 802CF85C 002CC79C 38 A0 00 00 */ li r5, 0
/* 802CF860 002CC7A0 80 DF 00 38 */ lwz r6, 0x38(r31)
/* 802CF864 002CC7A4 38 C6 FF F0 */ addi r6, r6, -16
/* 802CF868 002CC7A8 38 E0 00 00 */ li r7, 0
/* 802CF86C 002CC7AC 39 00 00 00 */ li r8, 0
/* 802CF870 002CC7B0 48 00 0F A1 */ bl initiate__Q210JKRExpHeap9CMemBlockFPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlockUlUcUc
/* 802CF874 002CC7B4 38 00 00 00 */ li r0, 0
/* 802CF878 002CC7B8 90 1F 00 80 */ stw r0, 0x80(r31)
/* 802CF87C 002CC7BC 90 1F 00 84 */ stw r0, 0x84(r31)
/* 802CF880 002CC7C0 38 7F 00 18 */ addi r3, r31, 0x18
/* 802CF884 002CC7C4 48 06 F8 99 */ bl OSUnlockMutex
/* 802CF888 002CC7C8 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802CF88C 002CC7CC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802CF890 002CC7D0 7C 08 03 A6 */ mtlr r0
/* 802CF894 002CC7D4 38 21 00 10 */ addi r1, r1, 0x10
/* 802CF898 002CC7D8 4E 80 00 20 */ blr
@@ -1,39 +0,0 @@
/* do_freeTail__10JKRExpHeapFv __ct__10JKRExpHeapFPvUlP7JKRHeapb::do_freeTail(void) */
/* missing reference */
/* 802CF89C 002CC7DC 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802CF8A0 002CC7E0 7C 08 02 A6 */ mflr r0
/* 802CF8A4 002CC7E4 90 01 00 24 */ stw r0, 0x24(r1)
/* 802CF8A8 002CC7E8 39 61 00 20 */ addi r11, r1, 0x20
/* 802CF8AC 002CC7EC 48 09 29 31 */ bl _savegpr_29
/* 802CF8B0 002CC7F0 7C 7D 1B 78 */ mr r29, r3
/* 802CF8B4 002CC7F4 38 7D 00 18 */ addi r3, r29, 0x18
/* 802CF8B8 002CC7F8 48 06 F7 89 */ bl OSLockMutex
/* 802CF8BC 002CC7FC 83 FD 00 80 */ lwz r31, 0x80(r29)
/* 802CF8C0 002CC800 48 00 00 3C */ b lbl_802CF8FC
lbl_802CF8C4:
/* 802CF8C4 002CC804 88 1F 00 02 */ lbz r0, 2(r31)
/* 802CF8C8 002CC808 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18
/* 802CF8CC 002CC80C 41 82 00 2C */ beq lbl_802CF8F8
/* 802CF8D0 002CC810 7F A3 EB 78 */ mr r3, r29
/* 802CF8D4 002CC814 38 9F 00 10 */ addi r4, r31, 0x10
/* 802CF8D8 002CC818 80 BF 00 04 */ lwz r5, 4(r31)
/* 802CF8DC 002CC81C 4B FF F1 9D */ bl dispose__7JKRHeapFPvUl
/* 802CF8E0 002CC820 83 DF 00 0C */ lwz r30, 0xc(r31)
/* 802CF8E4 002CC824 7F E3 FB 78 */ mr r3, r31
/* 802CF8E8 002CC828 7F A4 EB 78 */ mr r4, r29
/* 802CF8EC 002CC82C 48 00 0F E1 */ bl free__Q210JKRExpHeap9CMemBlockFP10JKRExpHeap
/* 802CF8F0 002CC830 7F DF F3 78 */ mr r31, r30
/* 802CF8F4 002CC834 48 00 00 08 */ b lbl_802CF8FC
lbl_802CF8F8:
/* 802CF8F8 002CC838 83 FF 00 0C */ lwz r31, 0xc(r31)
lbl_802CF8FC:
/* 802CF8FC 002CC83C 28 1F 00 00 */ cmplwi r31, 0
/* 802CF900 002CC840 40 82 FF C4 */ bne lbl_802CF8C4
/* 802CF904 002CC844 38 7D 00 18 */ addi r3, r29, 0x18
/* 802CF908 002CC848 48 06 F8 15 */ bl OSUnlockMutex
/* 802CF90C 002CC84C 39 61 00 20 */ addi r11, r1, 0x20
/* 802CF910 002CC850 48 09 29 19 */ bl _restgpr_29
/* 802CF914 002CC854 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802CF918 002CC858 7C 08 03 A6 */ mtlr r0
/* 802CF91C 002CC85C 38 21 00 20 */ addi r1, r1, 0x20
/* 802CF920 002CC860 4E 80 00 20 */ blr
@@ -1,3 +0,0 @@
/* do_fillFreeArea__10JKRExpHeapFv __ct__10JKRExpHeapFPvUlP7JKRHeapb::do_fillFreeArea(void) */
/* missing reference */
/* 802CF924 002CC864 4E 80 00 20 */ blr

Some files were not shown because too many files have changed in this diff Show More