diff options
| author | SND\edgbla_cp <SND\edgbla_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97> | 2010-10-12 18:02:25 +0000 |
|---|---|---|
| committer | SND\edgbla_cp <SND\edgbla_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97> | 2010-10-12 18:02:25 +0000 |
| commit | a70262ef5be8096c23f4236f719dd7eb02c8944b (patch) | |
| tree | 06bb89b69cbea9abcab82c2a20cefb363838e6ee /libpcsxcore | |
| parent | 9e49d5d705aa46b30419d73205ed96a82aa0879a (diff) | |
| download | pcsxr-a70262ef5be8096c23f4236f719dd7eb02c8944b.tar.gz | |
git-svn-id: https://pcsxr.svn.codeplex.com/svn/pcsxr@58348 e17a0e51-4ae3-4d35-97c3-1a29b211df97
Diffstat (limited to 'libpcsxcore')
| -rw-r--r-- | libpcsxcore/cdrom.c | 54 |
1 files changed, 31 insertions, 23 deletions
diff --git a/libpcsxcore/cdrom.c b/libpcsxcore/cdrom.c index 1ec126da..74d85cab 100644 --- a/libpcsxcore/cdrom.c +++ b/libpcsxcore/cdrom.c @@ -862,12 +862,12 @@ void cdrReadInterrupt() { if (!ret) { SPU_playADPCMchannel(&cdr.Xa); cdr.FirstSector = 0; -
-
- // Crash Team Racing: music, speech
-
- // signal ADPCM data ready
- psxHu32ref(0x1070) |= SWAP32((u32)0x200);
+ + + // Crash Team Racing: music, speech + + // signal ADPCM data ready + psxHu32ref(0x1070) |= SWAP32((u32)0x200); } else cdr.FirstSector = -1; } @@ -885,9 +885,9 @@ void cdrReadInterrupt() { cdr.Readed = 0; - // G-Police: Don't autopause ADPCM even if mode set (music)
- if ((cdr.Transfer[4 + 2] & 0x80) && (cdr.Mode & 0x2) &&
- (cdr.Transfer[4 + 2] & 0x4) != 0x4 ) { // EOF
+ // G-Police: Don't autopause ADPCM even if mode set (music) + if ((cdr.Transfer[4 + 2] & 0x80) && (cdr.Mode & 0x2) && + (cdr.Transfer[4 + 2] & 0x4) != 0x4 ) { // EOF #ifdef CDR_LOG CDR_LOG("cdrReadInterrupt() Log: Autopausing read\n"); #endif @@ -897,18 +897,26 @@ void cdrReadInterrupt() { else { CDREAD_INT((cdr.Mode & 0x80) ? (cdReadTime / 2) : cdReadTime); } -
- /* - 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); - } + /* + 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 ) + { +#ifdef CDR_LOG + CDR_LOG( "DATA READY\n" ); +#endif +*/ + cdr.Stat = DataReady; +/* + } else { + cdr.Stat = Acknowledge; + } +*/ + psxHu32ref(0x1070) |= SWAP32((u32)0x4); } /* @@ -1246,9 +1254,9 @@ void cdrWrite1(unsigned char rt) { case CdlGetlocL: cdr.Ctrl |= 0x80; cdr.Stat = NoIntr; -
- // G-Police: in-game music needs longer time
- AddIrqQueue(cdr.Cmd, 0x4000);
+ + // G-Police: in-game music needs longer time + AddIrqQueue(cdr.Cmd, 0x4000); break; case CdlGetlocP: |
