Seems when I made the internal iso reader I changed some code that shouldn't have been changed. This should make dual layer stuff work "as well" as in cdvdiso.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2151 96395faa-99c1-11dd-bbfe-3dabce05a288
This commit is contained in:
gigaherz 2009-11-07 19:28:47 +00:00
parent 34f30969bf
commit 3b0f524417
2 changed files with 11 additions and 5 deletions

View File

@ -33,6 +33,8 @@ static isoFile *iso = NULL;
static int psize, cdtype;
static s32 layer1start = -1;
void CALLBACK ISOclose()
{
isoClose(iso);
@ -69,6 +71,8 @@ s32 CALLBACK ISOopen(const char* pTitle)
break;
}
layer1start = -1;
return 0;
}
@ -118,8 +122,6 @@ s32 CALLBACK ISOgetTD(u8 Track, cdvdTD *Buffer)
return 0;
}
static s32 layer1start = -1;
static void FindLayer1Start()
{
if ((layer1start == -1) && iso->blocks >= 2295104)
@ -130,9 +132,9 @@ static void FindLayer1Start()
Console.WriteLn("CDVDiso: searching for layer1...");
//tempbuffer = (u8*)malloc(CD_FRAMESIZE_RAW);
for (layer1start = (iso->blocks / 2 - 0x10) & ~0xf; layer1start < 0x200010; layer1start += 16)
for (layer1start = (iso->blocks / 2 - 0x10) & ~0xf; layer1start < 0x210010; layer1start += 16)
{
isoReadBlock(iso, tempbuffer+off, layer1start);
isoReadBlock(iso, tempbuffer, layer1start);
// CD001
if ((tempbuffer[off+1] == 0x43) &&
(tempbuffer[off+2] == 0x44) &&

View File

@ -322,7 +322,11 @@ EXPORT_C_(s32) CDVDgetTOC(void* toc)
{
isoReadBlock(iso, tempbuffer, layer1start);
// CD001
if (tempbuffer[off+1] == 0x43 && tempbuffer[off+2] == 0x44 && tempbuffer[off+3] == 0x30 && tempbuffer[off+4] == 0x30 && tempbuffer[off+5] == 0x31)
if (tempbuffer[off+1] == 0x43 &&
tempbuffer[off+2] == 0x44 &&
tempbuffer[off+3] == 0x30 &&
tempbuffer[off+4] == 0x30 &&
tempbuffer[off+5] == 0x31)
break;
}
free(tempbuffer);