From 7e22403d70784ed92dabde8badb71b9ed730404d Mon Sep 17 00:00:00 2001 From: "SND\\shalma_cp" Date: Sun, 19 Dec 2010 17:02:57 +0000 Subject: cdriso.c - (utunnels) 2048 tweaks git-svn-id: https://pcsxr.svn.codeplex.com/svn/pcsxr@61321 e17a0e51-4ae3-4d35-97c3-1a29b211df97 --- libpcsxcore/cdriso.c | 27 +++++++++++++++------------ 1 file changed, 15 insertions(+), 12 deletions(-) (limited to 'libpcsxcore') diff --git a/libpcsxcore/cdriso.c b/libpcsxcore/cdriso.c index a19ddd72..ebeb0c93 100644 --- a/libpcsxcore/cdriso.c +++ b/libpcsxcore/cdriso.c @@ -805,7 +805,8 @@ static long CALLBACK ISOopen(void) { cddaBigEndian = FALSE; subChanMixed = FALSE; - subChanRaw = FALSE; + subChanRaw = FALSE; + isMode1ISO = FALSE; if (parseccd(GetIsoFile()) == 0) { SysPrintf("[+ccd]"); @@ -945,17 +946,19 @@ static long CALLBACK ISOreadTrack(unsigned char *time) { if (subChanRaw) DecodeRawSubData(); } - else if(isMode1ISO) { - fseek(cdHandle, MSF2SECT(btoi(time[0]), btoi(time[1]), btoi(time[2])) * MODE1_DATA_SIZE, SEEK_SET); - fread(cdbuffer + 12, 1, MODE1_DATA_SIZE, cdHandle); - memset(cdbuffer, 0, 12); //not really necessary, fake mode 2 header - cdbuffer[0] = (time[0]); - cdbuffer[1] = (time[1]); - cdbuffer[2] = (time[2]); - cdbuffer[3] = 1; //mode 1 - } else { - fseek(cdHandle, MSF2SECT(btoi(time[0]), btoi(time[1]), btoi(time[2])) * CD_FRAMESIZE_RAW + 12, SEEK_SET); - fread(cdbuffer, 1, DATA_SIZE, cdHandle); + else { + if(isMode1ISO) { + fseek(cdHandle, MSF2SECT(btoi(time[0]), btoi(time[1]), btoi(time[2])) * MODE1_DATA_SIZE, SEEK_SET); + fread(cdbuffer + 12, 1, MODE1_DATA_SIZE, cdHandle); + memset(cdbuffer, 0, 12); //not really necessary, fake mode 2 header + cdbuffer[0] = (time[0]); + cdbuffer[1] = (time[1]); + cdbuffer[2] = (time[2]); + cdbuffer[3] = 1; //mode 1 + } else { + fseek(cdHandle, MSF2SECT(btoi(time[0]), btoi(time[1]), btoi(time[2])) * CD_FRAMESIZE_RAW + 12, SEEK_SET); + fread(cdbuffer, 1, DATA_SIZE, cdHandle); + } if (subHandle != NULL) { fseek(subHandle, MSF2SECT(btoi(time[0]), btoi(time[1]), btoi(time[2])) * SUB_FRAMESIZE, SEEK_SET); -- cgit v1.2.3