JKRDvdAramRipper (#195)

This commit is contained in:
Jcw87
2022-05-16 19:42:10 -04:00
committed by GitHub
parent 88be83ca43
commit 0e299bb7a1
12 changed files with 289 additions and 477 deletions
@@ -1,100 +0,0 @@
lbl_802DAFE8:
/* 802DAFE8 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 802DAFEC 7C 08 02 A6 */ mflr r0
/* 802DAFF0 90 01 00 34 */ stw r0, 0x34(r1)
/* 802DAFF4 39 61 00 30 */ addi r11, r1, 0x30
/* 802DAFF8 48 08 71 D1 */ bl _savegpr_24
/* 802DAFFC 7C 79 1B 78 */ mr r25, r3
/* 802DB000 7C 9A 23 78 */ mr r26, r4
/* 802DB004 7C BB 2B 78 */ mr r27, r5
/* 802DB008 7C DC 33 78 */ mr r28, r6
/* 802DB00C 7C FD 3B 78 */ mr r29, r7
/* 802DB010 7D 1E 43 78 */ mr r30, r8
/* 802DB014 7D 3F 4B 78 */ mr r31, r9
/* 802DB018 48 06 26 DD */ bl OSDisableInterrupts
/* 802DB01C 7C 78 1B 78 */ mr r24, r3
/* 802DB020 88 0D 8F 24 */ lbz r0, data_804514A4(r13)
/* 802DB024 28 00 00 00 */ cmplwi r0, 0
/* 802DB028 40 82 00 18 */ bne lbl_802DB040
/* 802DB02C 3C 60 80 43 */ lis r3, decompMutex@ha /* 0x804343C0@ha */
/* 802DB030 38 63 43 C0 */ addi r3, r3, decompMutex@l /* 0x804343C0@l */
/* 802DB034 48 06 3F D5 */ bl OSInitMutex
/* 802DB038 38 00 00 01 */ li r0, 1
/* 802DB03C 98 0D 8F 24 */ stb r0, data_804514A4(r13)
lbl_802DB040:
/* 802DB040 7F 03 C3 78 */ mr r3, r24
/* 802DB044 48 06 26 D9 */ bl OSRestoreInterrupts
/* 802DB048 3C 60 80 43 */ lis r3, decompMutex@ha /* 0x804343C0@ha */
/* 802DB04C 38 63 43 C0 */ addi r3, r3, decompMutex@l /* 0x804343C0@l */
/* 802DB050 48 06 3F F1 */ bl OSLockMutex
/* 802DB054 83 0D 83 54 */ lwz r24, sSZSBufferSize__16JKRDvdAramRipper(r13)
/* 802DB058 80 6D 8D F0 */ lwz r3, sSystemHeap__7JKRHeap(r13)
/* 802DB05C 7F 04 C3 78 */ mr r4, r24
/* 802DB060 38 A0 00 20 */ li r5, 0x20
/* 802DB064 4B FF 34 71 */ bl alloc__7JKRHeapFUli
/* 802DB068 90 6D 8E E8 */ stw r3, szpBuf(r13)
/* 802DB06C 7C 03 C2 14 */ add r0, r3, r24
/* 802DB070 90 0D 8E EC */ stw r0, szpEnd(r13)
/* 802DB074 80 6D 8D F0 */ lwz r3, sSystemHeap__7JKRHeap(r13)
/* 802DB078 38 80 11 20 */ li r4, 0x1120
/* 802DB07C 38 A0 00 00 */ li r5, 0
/* 802DB080 4B FF 34 55 */ bl alloc__7JKRHeapFUli
/* 802DB084 90 6D 8E F0 */ stw r3, refBuf(r13)
/* 802DB088 38 03 11 20 */ addi r0, r3, 0x1120
/* 802DB08C 90 0D 8E F4 */ stw r0, refEnd(r13)
/* 802DB090 90 6D 8E F8 */ stw r3, refCurrent(r13)
/* 802DB094 80 6D 8D F0 */ lwz r3, sSystemHeap__7JKRHeap(r13)
/* 802DB098 38 80 01 00 */ li r4, 0x100
/* 802DB09C 38 A0 00 20 */ li r5, 0x20
/* 802DB0A0 4B FF 34 35 */ bl alloc__7JKRHeapFUli
/* 802DB0A4 90 6D 8E FC */ stw r3, dmaBuf(r13)
/* 802DB0A8 38 03 01 00 */ addi r0, r3, 0x100
/* 802DB0AC 90 0D 8F 00 */ stw r0, dmaEnd(r13)
/* 802DB0B0 90 6D 8F 04 */ stw r3, dmaCurrent(r13)
/* 802DB0B4 93 2D 8F 14 */ stw r25, srcFile(r13)
/* 802DB0B8 93 CD 8F 08 */ stw r30, srcOffset(r13)
/* 802DB0BC 7C 1E D8 50 */ subf r0, r30, r27
/* 802DB0C0 90 0D 8F 0C */ stw r0, transLeft(r13)
/* 802DB0C4 93 AD 8F 18 */ stw r29, fileOffset(r13)
/* 802DB0C8 38 00 00 00 */ li r0, 0
/* 802DB0CC 90 0D 8F 1C */ stw r0, readCount(r13)
/* 802DB0D0 93 8D 8F 20 */ stw r28, maxDest(r13)
/* 802DB0D4 28 1F 00 00 */ cmplwi r31, 0
/* 802DB0D8 41 82 00 0C */ beq lbl_802DB0E4
/* 802DB0DC 7F E3 FB 78 */ mr r3, r31
/* 802DB0E0 48 00 00 08 */ b lbl_802DB0E8
lbl_802DB0E4:
/* 802DB0E4 38 6D 8F 2C */ la r3, tsArea(r13) /* 804514AC-_SDA_BASE_ */
lbl_802DB0E8:
/* 802DB0E8 90 6D 8F 28 */ stw r3, tsPtr(r13)
/* 802DB0EC 38 00 00 00 */ li r0, 0
/* 802DB0F0 90 03 00 00 */ stw r0, 0(r3)
/* 802DB0F4 48 00 02 F5 */ bl firstSrcData__Fv
/* 802DB0F8 28 03 00 00 */ cmplwi r3, 0
/* 802DB0FC 41 82 00 14 */ beq lbl_802DB110
/* 802DB100 7F 44 D3 78 */ mr r4, r26
/* 802DB104 48 00 00 5D */ bl decompSZS_subroutine__FPUcUl
/* 802DB108 7C 79 1B 78 */ mr r25, r3
/* 802DB10C 48 00 00 08 */ b lbl_802DB114
lbl_802DB110:
/* 802DB110 3B 20 FF FF */ li r25, -1
lbl_802DB114:
/* 802DB114 80 6D 8E E8 */ lwz r3, szpBuf(r13)
/* 802DB118 38 80 00 00 */ li r4, 0
/* 802DB11C 4B FF 33 E5 */ bl free__7JKRHeapFPvP7JKRHeap
/* 802DB120 80 6D 8E F0 */ lwz r3, refBuf(r13)
/* 802DB124 38 80 00 00 */ li r4, 0
/* 802DB128 4B FF 33 D9 */ bl free__7JKRHeapFPvP7JKRHeap
/* 802DB12C 80 6D 8E FC */ lwz r3, dmaBuf(r13)
/* 802DB130 38 80 00 00 */ li r4, 0
/* 802DB134 4B FF 33 CD */ bl free__7JKRHeapFPvP7JKRHeap
/* 802DB138 3C 60 80 43 */ lis r3, decompMutex@ha /* 0x804343C0@ha */
/* 802DB13C 38 63 43 C0 */ addi r3, r3, decompMutex@l /* 0x804343C0@l */
/* 802DB140 48 06 3F DD */ bl OSUnlockMutex
/* 802DB144 7F 23 CB 78 */ mr r3, r25
/* 802DB148 39 61 00 30 */ addi r11, r1, 0x30
/* 802DB14C 48 08 70 C9 */ bl _restgpr_24
/* 802DB150 80 01 00 34 */ lwz r0, 0x34(r1)
/* 802DB154 7C 08 03 A6 */ mtlr r0
/* 802DB158 38 21 00 30 */ addi r1, r1, 0x30
/* 802DB15C 4E 80 00 20 */ blr
@@ -1,17 +0,0 @@
lbl_802DAF1C:
/* 802DAF1C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802DAF20 7C 08 02 A6 */ mflr r0
/* 802DAF24 90 01 00 14 */ stw r0, 0x14(r1)
/* 802DAF28 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802DAF2C 7C 7F 1B 78 */ mr r31, r3
/* 802DAF30 7F E4 FB 78 */ mr r4, r31
/* 802DAF34 48 00 0E C9 */ bl __ct__10JSUPtrLinkFPv
/* 802DAF38 38 00 00 00 */ li r0, 0
/* 802DAF3C 90 1F 00 48 */ stw r0, 0x48(r31)
/* 802DAF40 98 1F 00 4C */ stb r0, 0x4c(r31)
/* 802DAF44 7F E3 FB 78 */ mr r3, r31
/* 802DAF48 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802DAF4C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802DAF50 7C 08 03 A6 */ mtlr r0
/* 802DAF54 38 21 00 10 */ addi r1, r1, 0x10
/* 802DAF58 4E 80 00 20 */ blr
@@ -1,39 +0,0 @@
lbl_802DAF5C:
/* 802DAF5C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802DAF60 7C 08 02 A6 */ mflr r0
/* 802DAF64 90 01 00 14 */ stw r0, 0x14(r1)
/* 802DAF68 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802DAF6C 93 C1 00 08 */ stw r30, 8(r1)
/* 802DAF70 7C 7E 1B 79 */ or. r30, r3, r3
/* 802DAF74 7C 9F 23 78 */ mr r31, r4
/* 802DAF78 41 82 00 54 */ beq lbl_802DAFCC
/* 802DAF7C 88 1E 00 4C */ lbz r0, 0x4c(r30)
/* 802DAF80 28 00 00 01 */ cmplwi r0, 1
/* 802DAF84 40 82 00 24 */ bne lbl_802DAFA8
/* 802DAF88 80 7E 00 28 */ lwz r3, 0x28(r30)
/* 802DAF8C 28 03 00 00 */ cmplwi r3, 0
/* 802DAF90 41 82 00 18 */ beq lbl_802DAFA8
/* 802DAF94 38 80 00 01 */ li r4, 1
/* 802DAF98 81 83 00 00 */ lwz r12, 0(r3)
/* 802DAF9C 81 8C 00 08 */ lwz r12, 8(r12)
/* 802DAFA0 7D 89 03 A6 */ mtctr r12
/* 802DAFA4 4E 80 04 21 */ bctrl
lbl_802DAFA8:
/* 802DAFA8 28 1E 00 00 */ cmplwi r30, 0
/* 802DAFAC 41 82 00 10 */ beq lbl_802DAFBC
/* 802DAFB0 7F C3 F3 78 */ mr r3, r30
/* 802DAFB4 38 80 00 00 */ li r4, 0
/* 802DAFB8 48 00 0E 5D */ bl __dt__10JSUPtrLinkFv
lbl_802DAFBC:
/* 802DAFBC 7F E0 07 35 */ extsh. r0, r31
/* 802DAFC0 40 81 00 0C */ ble lbl_802DAFCC
/* 802DAFC4 7F C3 F3 78 */ mr r3, r30
/* 802DAFC8 4B FF 3D 75 */ bl __dl__FPv
lbl_802DAFCC:
/* 802DAFCC 7F C3 F3 78 */ mr r3, r30
/* 802DAFD0 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802DAFD4 83 C1 00 08 */ lwz r30, 8(r1)
/* 802DAFD8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802DAFDC 7C 08 03 A6 */ mtlr r0
/* 802DAFE0 38 21 00 10 */ addi r1, r1, 0x10
/* 802DAFE4 4E 80 00 20 */ blr
@@ -1,49 +0,0 @@
lbl_802DA9C0:
/* 802DA9C0 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 802DA9C4 7C 08 02 A6 */ mflr r0
/* 802DA9C8 90 01 00 34 */ stw r0, 0x34(r1)
/* 802DA9CC 39 61 00 30 */ addi r11, r1, 0x30
/* 802DA9D0 48 08 77 F9 */ bl _savegpr_24
/* 802DA9D4 7C 78 1B 78 */ mr r24, r3
/* 802DA9D8 7C 99 23 78 */ mr r25, r4
/* 802DA9DC 7C BA 2B 78 */ mr r26, r5
/* 802DA9E0 7C DB 33 78 */ mr r27, r6
/* 802DA9E4 7C FC 3B 78 */ mr r28, r7
/* 802DA9E8 7D 1D 43 78 */ mr r29, r8
/* 802DA9EC 7D 3E 4B 78 */ mr r30, r9
/* 802DA9F0 38 60 00 54 */ li r3, 0x54
/* 802DA9F4 80 8D 8D F0 */ lwz r4, sSystemHeap__7JKRHeap(r13)
/* 802DA9F8 38 A0 FF FC */ li r5, -4
/* 802DA9FC 4B FF 42 9D */ bl __nw__FUlP7JKRHeapi
/* 802DAA00 7C 7F 1B 79 */ or. r31, r3, r3
/* 802DAA04 41 82 00 0C */ beq lbl_802DAA10
/* 802DAA08 48 00 05 15 */ bl __ct__12JKRADCommandFv
/* 802DAA0C 7C 7F 1B 78 */ mr r31, r3
lbl_802DAA10:
/* 802DAA10 93 1F 00 28 */ stw r24, 0x28(r31)
/* 802DAA14 93 3F 00 2C */ stw r25, 0x2c(r31)
/* 802DAA18 38 00 00 00 */ li r0, 0
/* 802DAA1C 90 1F 00 30 */ stw r0, 0x30(r31)
/* 802DAA20 93 5F 00 34 */ stw r26, 0x34(r31)
/* 802DAA24 93 7F 00 38 */ stw r27, 0x38(r31)
/* 802DAA28 93 9F 00 3C */ stw r28, 0x3c(r31)
/* 802DAA2C 93 BF 00 40 */ stw r29, 0x40(r31)
/* 802DAA30 93 DF 00 44 */ stw r30, 0x44(r31)
/* 802DAA34 7F E3 FB 78 */ mr r3, r31
/* 802DAA38 48 00 00 3D */ bl callCommand_Async__16JKRDvdAramRipperFP12JKRADCommand
/* 802DAA3C 28 03 00 00 */ cmplwi r3, 0
/* 802DAA40 40 82 00 18 */ bne lbl_802DAA58
/* 802DAA44 7F E3 FB 78 */ mr r3, r31
/* 802DAA48 38 80 00 01 */ li r4, 1
/* 802DAA4C 48 00 05 11 */ bl __dt__12JKRADCommandFv
/* 802DAA50 38 60 00 00 */ li r3, 0
/* 802DAA54 48 00 00 08 */ b lbl_802DAA5C
lbl_802DAA58:
/* 802DAA58 7F E3 FB 78 */ mr r3, r31
lbl_802DAA5C:
/* 802DAA5C 39 61 00 30 */ addi r11, r1, 0x30
/* 802DAA60 48 08 77 B5 */ bl _restgpr_24
/* 802DAA64 80 01 00 34 */ lwz r0, 0x34(r1)
/* 802DAA68 7C 08 03 A6 */ mtlr r0
/* 802DAA6C 38 21 00 30 */ addi r1, r1, 0x30
/* 802DAA70 4E 80 00 20 */ blr
@@ -1,46 +0,0 @@
lbl_802DA918:
/* 802DA918 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802DA91C 7C 08 02 A6 */ mflr r0
/* 802DA920 90 01 00 14 */ stw r0, 0x14(r1)
/* 802DA924 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802DA928 93 C1 00 08 */ stw r30, 8(r1)
/* 802DA92C 7C 9E 23 78 */ mr r30, r4
/* 802DA930 7C CA 33 78 */ mr r10, r6
/* 802DA934 7C E0 3B 78 */ mr r0, r7
/* 802DA938 7D 09 43 78 */ mr r9, r8
/* 802DA93C 38 C0 00 00 */ li r6, 0
/* 802DA940 7D 47 53 78 */ mr r7, r10
/* 802DA944 7C 08 03 78 */ mr r8, r0
/* 802DA948 48 00 00 79 */ bl loadToAram_Async__16JKRDvdAramRipperFP10JKRDvdFileUl15JKRExpandSwitchPFUl_vUlUlPUl
/* 802DA94C 7C 7F 1B 78 */ mr r31, r3
/* 802DA950 38 80 00 00 */ li r4, 0
/* 802DA954 48 00 04 F5 */ bl syncAram__16JKRDvdAramRipperFP12JKRADCommandi
/* 802DA958 80 1F 00 48 */ lwz r0, 0x48(r31)
/* 802DA95C 2C 00 00 00 */ cmpwi r0, 0
/* 802DA960 40 80 00 18 */ bge lbl_802DA978
/* 802DA964 7F E3 FB 78 */ mr r3, r31
/* 802DA968 38 80 00 01 */ li r4, 1
/* 802DA96C 48 00 05 F1 */ bl __dt__12JKRADCommandFv
/* 802DA970 38 60 00 00 */ li r3, 0
/* 802DA974 48 00 00 34 */ b lbl_802DA9A8
lbl_802DA978:
/* 802DA978 28 1E 00 00 */ cmplwi r30, 0
/* 802DA97C 41 82 00 18 */ beq lbl_802DA994
/* 802DA980 7F E3 FB 78 */ mr r3, r31
/* 802DA984 38 80 00 01 */ li r4, 1
/* 802DA988 48 00 05 D5 */ bl __dt__12JKRADCommandFv
/* 802DA98C 38 60 FF FF */ li r3, -1
/* 802DA990 48 00 00 18 */ b lbl_802DA9A8
lbl_802DA994:
/* 802DA994 83 DF 00 30 */ lwz r30, 0x30(r31)
/* 802DA998 7F E3 FB 78 */ mr r3, r31
/* 802DA99C 38 80 00 01 */ li r4, 1
/* 802DA9A0 48 00 05 BD */ bl __dt__12JKRADCommandFv
/* 802DA9A4 7F C3 F3 78 */ mr r3, r30
lbl_802DA9A8:
/* 802DA9A8 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802DA9AC 83 C1 00 08 */ lwz r30, 8(r1)
/* 802DA9B0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802DA9B4 7C 08 03 A6 */ mtlr r0
/* 802DA9B8 38 21 00 10 */ addi r1, r1, 0x10
/* 802DA9BC 4E 80 00 20 */ blr
@@ -1,44 +0,0 @@
lbl_802DA874:
/* 802DA874 94 21 FE E0 */ stwu r1, -0x120(r1)
/* 802DA878 7C 08 02 A6 */ mflr r0
/* 802DA87C 90 01 01 24 */ stw r0, 0x124(r1)
/* 802DA880 39 61 01 20 */ addi r11, r1, 0x120
/* 802DA884 48 08 79 4D */ bl _savegpr_26
/* 802DA888 7C 7A 1B 78 */ mr r26, r3
/* 802DA88C 7C 9B 23 78 */ mr r27, r4
/* 802DA890 7C BC 2B 78 */ mr r28, r5
/* 802DA894 7C DD 33 78 */ mr r29, r6
/* 802DA898 7C FE 3B 78 */ mr r30, r7
/* 802DA89C 7D 1F 43 78 */ mr r31, r8
/* 802DA8A0 38 61 00 08 */ addi r3, r1, 8
/* 802DA8A4 4B FF EC E1 */ bl __ct__10JKRDvdFileFv
/* 802DA8A8 38 61 00 08 */ addi r3, r1, 8
/* 802DA8AC 7F 44 D3 78 */ mr r4, r26
/* 802DA8B0 4B FF F0 15 */ bl open__10JKRDvdFileFl
/* 802DA8B4 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 802DA8B8 40 82 00 18 */ bne lbl_802DA8D0
/* 802DA8BC 38 61 00 08 */ addi r3, r1, 8
/* 802DA8C0 38 80 FF FF */ li r4, -1
/* 802DA8C4 4B FF EE 85 */ bl __dt__10JKRDvdFileFv
/* 802DA8C8 38 60 00 00 */ li r3, 0
/* 802DA8CC 48 00 00 34 */ b lbl_802DA900
lbl_802DA8D0:
/* 802DA8D0 38 61 00 08 */ addi r3, r1, 8
/* 802DA8D4 7F 64 DB 78 */ mr r4, r27
/* 802DA8D8 7F 85 E3 78 */ mr r5, r28
/* 802DA8DC 7F A6 EB 78 */ mr r6, r29
/* 802DA8E0 7F C7 F3 78 */ mr r7, r30
/* 802DA8E4 7F E8 FB 78 */ mr r8, r31
/* 802DA8E8 48 00 00 31 */ bl loadToAram__16JKRDvdAramRipperFP10JKRDvdFileUl15JKRExpandSwitchUlUlPUl
/* 802DA8EC 7C 7F 1B 78 */ mr r31, r3
/* 802DA8F0 38 61 00 08 */ addi r3, r1, 8
/* 802DA8F4 38 80 FF FF */ li r4, -1
/* 802DA8F8 4B FF EE 51 */ bl __dt__10JKRDvdFileFv
/* 802DA8FC 7F E3 FB 78 */ mr r3, r31
lbl_802DA900:
/* 802DA900 39 61 01 20 */ addi r11, r1, 0x120
/* 802DA904 48 08 79 19 */ bl _restgpr_26
/* 802DA908 80 01 01 24 */ lwz r0, 0x124(r1)
/* 802DA90C 7C 08 03 A6 */ mtlr r0
/* 802DA910 38 21 01 20 */ addi r1, r1, 0x120
/* 802DA914 4E 80 00 20 */ blr
+2 -2
View File
@@ -2,10 +2,10 @@
#define JKRARAMSTREAM_H
#include "JSystem/JKernel/JKRThread.h"
#include "JSystem/JSupport/JSUFileStream.h"
#include "JSystem/JSupport/JSURandomInputStream.h"
#include "dolphin/types.h"
class JSUFileInputStream;
class JKRAramStreamCommand {
public:
enum Type {
+27 -6
View File
@@ -2,23 +2,44 @@
#define JKRDVDARAMRIPPER_H
#include "JSystem/JKernel/JKRDvdRipper.h"
#include "JSystem/JSupport/JSUFileStream.h"
#include "dolphin/types.h"
class JKRAramBlock;
class JKRAramStreamCommand;
class JKRADCommand {
public:
JKRADCommand();
~JKRADCommand();
/* 0x00 */ JSULink<JKRADCommand> mLink;
/* 0x10 */ int field_0x10;
/* 0x14 */ int field_0x14;
/* 0x18 */ int field_0x18;
/* 0x1C */ int field_0x1c;
/* 0x20 */ int field_0x20;
/* 0x24 */ int field_0x24;
/* 0x28 */ JKRDvdFile* mDvdFile;
/* 0x2C */ u32 field_0x2c;
/* 0x30 */ JKRAramBlock* mBlock;
/* 0x34 */ int field_0x34;
/* 0x38 */ void (*field_0x38)(u32);
/* 0x3C */ u32 field_0x3c;
/* 0x40 */ u32 field_0x40;
/* 0x44 */ u32* field_0x44;
/* 0x48 */ int field_0x48;
/* 0x4C */ u8 field_0x4c;
/* 0x50 */ JKRAramStreamCommand* mStreamCommand;
};
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);
static JKRAramBlock* loadToAram(long, u32, JKRExpandSwitch, u32, u32, u32*);
static JKRAramBlock* loadToAram(JKRDvdFile*, u32, JKRExpandSwitch, u32, u32, u32*);
static JKRADCommand* loadToAram_Async(JKRDvdFile*, u32, JKRExpandSwitch, void (*)(u32), u32, u32, u32*);
static JKRADCommand* callCommand_Async(JKRADCommand*);
static bool syncAram(JKRADCommand*, int);
// TODO: fix type
static u8 sDvdAramAsyncList[12];
+4 -3
View File
@@ -7,6 +7,7 @@
#include "dolphin/types.h"
class JKRADCommand;
class JKRAramBlock;
class JSUFileInputStream;
class JKRDvdFile : public JKRFile {
public:
@@ -35,9 +36,9 @@ private:
/* 0x04 */ // JKRFile
/* 0x1C */ OSMutex mMutex1;
/* 0x34 */ OSMutex mMutex2;
/* 0x4C */ u32 field_0x4c;
/* 0x50 */ u32 field_0x50;
/* 0x54 */ u32 field_0x54;
/* 0x4C */ JKRAramBlock* mBlock;
/* 0x50 */ OSThread* field_0x50;
/* 0x54 */ JSUFileInputStream* mFileStream;
/* 0x58 */ u32 field_0x58;
/* 0x5C */ DVDFileInfo mFileInfo;
/* 0x98 */ JKRDvdFile* mDvdFile;
+1 -1
View File
@@ -73,7 +73,7 @@ struct DVDFileInfo {
extern "C" {
s32 DVDOpen(const char*, DVDFileInfo*);
s32 DVDClose(DVDFileInfo*);
void DVDReadPrio(DVDFileInfo*, void*, s32, s32, s32);
s32 DVDReadPrio(DVDFileInfo*, void*, s32, s32, s32);
DVDDiskID* DVDGetCurrentDiskID(void);
s32 DVDFastOpen(long, DVDFileInfo*);
int DVDGetCommandBlockStatus(DVDCommandBlock*);
+1
View File
@@ -6,6 +6,7 @@
#include "JSystem/JKernel/JKRAramStream.h"
#include "JSystem/JKernel/JKRAramPiece.h"
#include "JSystem/JKernel/JKRHeap.h"
#include "JSystem/JSupport/JSUFileStream.h"
#include "dol2asm.h"
#include "global.h"
File diff suppressed because it is too large Load Diff