Fixed broken blockdumping in last change.

Added the possibility for plugins supporting getBuffer2 to return -2, meaning "still busy".

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1518 96395faa-99c1-11dd-bbfe-3dabce05a288
This commit is contained in:
gigaherz 2009-07-15 16:54:09 +00:00
parent fadea3d7bb
commit 602599c5c2
3 changed files with 15 additions and 3 deletions

View File

@ -720,7 +720,7 @@ __forceinline void cdvdReadInterrupt()
else
cdr.pTransfer = NULL;
if (cdr.RErr < 0)
if (cdr.RErr == -1)
{
cdvd.RetryCntP++;
Console::Error("CDVD READ ERROR, sector=%d", params cdvd.Sector);
@ -732,6 +732,12 @@ __forceinline void cdvdReadInterrupt()
return;
}
}
else if(cdr.RErr == -2)
{
// not finished yet ... give it a bit more time
CDVDREAD_INT(cdvd.ReadTime);
return;
}
cdvd.Reading = false;
}

View File

@ -357,6 +357,8 @@ s32 DoCDVDreadTrack(u32 lsn, int mode)
break;
}
DevCon::Notice("CDVD readTrack(lsn=%d,mode=%d)",params lsn, lastReadSize);
return CDVD.readTrack(lsn,mode);
}

View File

@ -843,7 +843,7 @@ bool OpenCDVD(const char* pTitleFilename)
//First, we need the data.
CDVD.newDiskCB(cdvdNewDiskCB);
if (CDVD.open(pTitleFilename) != 0)
if (DoCDVDopen(pTitleFilename) != 0)
{
if (g_Startup.BootMode != BootMode_Elf)
{
@ -1012,7 +1012,11 @@ void ClosePlugins( bool closegs )
}
}
CLOSE_PLUGIN2( CDVD );
if( OpenStatus.CDVD )
{
DoCDVDclose();
OpenStatus.CDVD=false;
}
CLOSE_PLUGIN( DEV9 );
CLOSE_PLUGIN( USB );