diff options
| author | SND\dario86_cp <SND\dario86_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97> | 2014-02-26 19:59:12 +0000 |
|---|---|---|
| committer | SND\dario86_cp <SND\dario86_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97> | 2014-02-26 19:59:12 +0000 |
| commit | fb2006a065129496c7f223ccab2008be4da4b8f8 (patch) | |
| tree | 4c4da2012cdc779e46bcb01a486a9a1d218d846f /libpcsxcore | |
| parent | b2a6f1a70027737fd34df818be1310ca1d965234 (diff) | |
| download | pcsxr-fb2006a065129496c7f223ccab2008be4da4b8f8.tar.gz | |
- fixed region autodetection for some rare discs;
- fixed copy protection regression in r82129 by notaz from one year ago; I hope this won't break anything (issue #11594).
git-svn-id: https://pcsxr.svn.codeplex.com/svn/pcsxr@89219 e17a0e51-4ae3-4d35-97c3-1a29b211df97
Diffstat (limited to 'libpcsxcore')
| -rwxr-xr-x | libpcsxcore/cdrom.c | 5 | ||||
| -rwxr-xr-x | libpcsxcore/misc.c | 8 |
2 files changed, 6 insertions, 7 deletions
diff --git a/libpcsxcore/cdrom.c b/libpcsxcore/cdrom.c index 2cac3a75..69d665a6 100755 --- a/libpcsxcore/cdrom.c +++ b/libpcsxcore/cdrom.c @@ -445,9 +445,6 @@ static void ReadTrack(const u8 *time) { cdr.RErr = CDR_readTrack(tmp); memcpy(cdr.Prev, tmp, 3); - if (CheckSBI(time)) - return; - subq = (struct SubQ *)CDR_getBufferSub(); if (subq != NULL && cdr.CurTrack == 1) { crc = calcCrc((u8 *)subq + 12, 10); @@ -851,6 +848,8 @@ void cdrInterrupt() { SetResultSize(8); memcpy(&cdr.Result, &cdr.subq, 8); + if (!cdr.Play && CheckSBI(cdr.Result+5)) + memset(cdr.Result+2, 0, 6); if (!cdr.Play && !cdr.Reading) cdr.Result[1] = 0; // HACK? break; diff --git a/libpcsxcore/misc.c b/libpcsxcore/misc.c index 152123a4..02b28467 100755 --- a/libpcsxcore/misc.c +++ b/libpcsxcore/misc.c @@ -337,10 +337,10 @@ int CheckCdrom() { if (Config.PsxAuto) { // autodetect system (pal or ntsc) if((CdromId[2] == 'e') || (CdromId[2] == 'E') || - !strncmp(CdromId, "\0DTLS3035", 10) || - !strncmp(CdromId, "PBPX95001", 10) || // according to redump.org, these PAL - !strncmp(CdromId, "PBPX95007", 10) || // discs have a non-standard ID; - !strncmp(CdromId, "PBPX95008", 10)) // add more serials if they are discovered. + !strncmp(CdromId, "DTLS3035", 8) || + !strncmp(CdromId, "PBPX95001", 9) || // according to redump.org, these PAL + !strncmp(CdromId, "PBPX95007", 9) || // discs have a non-standard ID; + !strncmp(CdromId, "PBPX95008", 9)) // add more serials if they are discovered. Config.PsxType = PSX_TYPE_PAL; // pal else Config.PsxType = PSX_TYPE_NTSC; // ntsc } |
