cdvdgigaherz: Dual layer DVD type/layer 1 start LSN fixes

For dual layer DVDs, CDVDgetDualInfo() should return the first layer 1
LSN, not the last layer 0 LSN, which is what GetLayerBreakAddress()
returns. This matches what the internal ISO reader returns.

Also, PTP DVDs should return a value of 1 for the media type, not 2.

Finally, adjust the CDVDgetDualInfo() return value so PCSX2 correctly
recognises dual layer DVDs.
This commit is contained in:
Jonathan Li 2016-03-10 22:08:26 +00:00
parent d378021dee
commit d07076b9d4
2 changed files with 7 additions and 7 deletions

View File

@ -290,18 +290,18 @@ s32 CALLBACK CDVDgetDualInfo(s32* dualType, u32* _layer1start)
{
case 1:
*dualType = 1;
*_layer1start = src->GetLayerBreakAddress();
return 1;
*_layer1start = src->GetLayerBreakAddress() + 1;
return 0;
case 2:
*dualType = 2;
*_layer1start = src->GetLayerBreakAddress();
return 1;
*_layer1start = src->GetLayerBreakAddress() + 1;
return 0;
case 0:
*dualType = 0;
*_layer1start = 0;
return 1;
return 0;
}
return 0;
return -1;
}
int lastReadInNewDiskCB=0;

View File

@ -579,7 +579,7 @@ s32 IOCtlSrc::GetMediaType()
{
//PTP
mediaTypeCached = true;
mediaType = 2;
mediaType = 1;
return mediaType;
}