From 1d2caefc0940340a6c10733da1a8b912eb76f2d9 Mon Sep 17 00:00:00 2001 From: "SND\\shalma_cp" Date: Sun, 10 Oct 2010 20:16:42 +0000 Subject: Hokuto no Ken 2: cdrom.c - return FORM1 + FORM2 when ADPCM off - fixes recent boot problem, not intro glitches git-svn-id: https://pcsxr.svn.codeplex.com/svn/pcsxr@58281 e17a0e51-4ae3-4d35-97c3-1a29b211df97 --- libpcsxcore/cdrom.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) (limited to 'libpcsxcore') diff --git a/libpcsxcore/cdrom.c b/libpcsxcore/cdrom.c index de8e97ee..1ec126da 100644 --- a/libpcsxcore/cdrom.c +++ b/libpcsxcore/cdrom.c @@ -887,8 +887,7 @@ void cdrReadInterrupt() { // G-Police: Don't autopause ADPCM even if mode set (music) if ((cdr.Transfer[4 + 2] & 0x80) && (cdr.Mode & 0x2) && - (cdr.Transfer[4 + 0] == cdr.File) && (cdr.Transfer[4 + 1] == cdr.Channel) && - (cdr.Transfer[4 + 2] & 0x64) != 0x64 ) { // EOF + (cdr.Transfer[4 + 2] & 0x4) != 0x4 ) { // EOF #ifdef CDR_LOG CDR_LOG("cdrReadInterrupt() Log: Autopausing read\n"); #endif @@ -898,13 +897,14 @@ void cdrReadInterrupt() { else { CDREAD_INT((cdr.Mode & 0x80) ? (cdReadTime / 2) : cdReadTime); } - + /* - Judge Dredd: don't return FORM2 during ADPCM playback (movie playing) - - Xenogears: use correct FORM2 ID ($64 / $E4 for movies) - */ - if( (cdr.Transfer[4+2] & 0x64) != 0x64 ) { + Hokuto no Ken 2: $A0 - return FORM1 + FORM2 + Judge Dredd: $C8 - only FORM1 + Xenogears: $C8 - only FORM1 + */ + + if( (cdr.Mode & 0x40) == 0 || (cdr.Transfer[4+2] & 0x4) != 0x4 ) cdr.Stat = DataReady; psxHu32ref(0x1070) |= SWAP32((u32)0x4); -- cgit v1.2.3