mirror of https://github.com/PCSX2/pcsx2.git
* Re-enabled PCH in release builds; fixes various mysterious crashes.
* Restored Run->Execute's old behavior when the emu is in a reset condition (plain jane bootup using CDVD plugin). * Fixed some CDVD init stuff on the Linux side of things. git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1691 96395faa-99c1-11dd-bbfe-3dabce05a288
This commit is contained in:
parent
7265d33526
commit
4c39dd35a7
|
@ -118,7 +118,7 @@ static int FindDiskType(int mType)
|
||||||
}
|
}
|
||||||
else if (mType < 0)
|
else if (mType < 0)
|
||||||
{
|
{
|
||||||
static char bleh[2352];
|
static u8 bleh[2352];
|
||||||
cdvdTD td;
|
cdvdTD td;
|
||||||
|
|
||||||
CDVD->getTD(0,&td);
|
CDVD->getTD(0,&td);
|
||||||
|
@ -126,14 +126,14 @@ static int FindDiskType(int mType)
|
||||||
{
|
{
|
||||||
iCDType = CDVD_TYPE_DETCTDVDS;
|
iCDType = CDVD_TYPE_DETCTDVDS;
|
||||||
}
|
}
|
||||||
else if (DoCDVDreadSector((u8*)bleh,16,CDVD_MODE_2048) == 0)
|
else
|
||||||
{
|
{
|
||||||
struct cdVolDesc* volDesc=(struct cdVolDesc *)bleh;
|
if (DoCDVDreadSector(bleh, 16, CDVD_MODE_2048) == 0)
|
||||||
if (volDesc)
|
{
|
||||||
{
|
const cdVolDesc& volDesc = (cdVolDesc&)bleh;
|
||||||
if(volDesc->rootToc.tocSize==2048)
|
if(volDesc.rootToc.tocSize == 2048)
|
||||||
iCDType = CDVD_TYPE_DETCTCD;
|
iCDType = CDVD_TYPE_DETCTCD;
|
||||||
else
|
else
|
||||||
iCDType = CDVD_TYPE_DETCTDVDS;
|
iCDType = CDVD_TYPE_DETCTDVDS;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -132,7 +132,7 @@ int main(int argc, const char *argv[])
|
||||||
}
|
}
|
||||||
|
|
||||||
CDVDsys_ChangeSource( g_Startup.CdvdSource );
|
CDVDsys_ChangeSource( g_Startup.CdvdSource );
|
||||||
DoCDVDopen( g_Startup.ImageName );
|
if( !OpenCDVD( g_Startup.ImageName ) ) return -1;
|
||||||
if (OpenPlugins() == -1) return -1;
|
if (OpenPlugins() == -1) return -1;
|
||||||
|
|
||||||
SysPrepareExecution( (g_Startup.StartupMode == Startup_FromELF) ? g_Startup.ImageName : NULL, !g_Startup.SkipBios );
|
SysPrepareExecution( (g_Startup.StartupMode == Startup_FromELF) ? g_Startup.ImageName : NULL, !g_Startup.SkipBios );
|
||||||
|
@ -329,8 +329,8 @@ void OnFile_RunCD(GtkMenuItem *menuitem, gpointer user_data)
|
||||||
{
|
{
|
||||||
SysReset();
|
SysReset();
|
||||||
CDVDsys_ChangeSource( CDVDsrc_Plugin );
|
CDVDsys_ChangeSource( CDVDsrc_Plugin );
|
||||||
DoCDVDopen( NULL );
|
if( OpenCDVD( NULL ) )
|
||||||
SysPrepareExecution(NULL);
|
SysPrepareExecution(NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
void OnFile_RunBIOS(GtkMenuItem *menuitem, gpointer user_data)
|
void OnFile_RunBIOS(GtkMenuItem *menuitem, gpointer user_data)
|
||||||
|
@ -350,8 +350,8 @@ void OnRunIso_Ok(GtkButton* button, gpointer user_data)
|
||||||
|
|
||||||
SysReset();
|
SysReset();
|
||||||
CDVDsys_ChangeSource( CDVDsrc_Iso );
|
CDVDsys_ChangeSource( CDVDsrc_Iso );
|
||||||
DoCDVDopen( File );
|
if( OpenCDVD( File ) );
|
||||||
SysPrepareExecution( NULL );
|
SysPrepareExecution( NULL );
|
||||||
}
|
}
|
||||||
|
|
||||||
void OnRunIso_Cancel(GtkButton* button, gpointer user_data)
|
void OnRunIso_Cancel(GtkButton* button, gpointer user_data)
|
||||||
|
@ -398,8 +398,8 @@ void OnRunElf_Ok(GtkButton* button, gpointer user_data)
|
||||||
|
|
||||||
SysReset();
|
SysReset();
|
||||||
CDVDsys_ChangeSource( source );
|
CDVDsys_ChangeSource( source );
|
||||||
OpenCDVD( NULL );
|
if( OpenCDVD( NULL ) )
|
||||||
SysPrepareExecution(elf_name);
|
SysPrepareExecution(elf_name);
|
||||||
}
|
}
|
||||||
|
|
||||||
void OnRunElf_Cancel(GtkButton* button, gpointer user_data)
|
void OnRunElf_Cancel(GtkButton* button, gpointer user_data)
|
||||||
|
|
|
@ -814,6 +814,7 @@ void ShutdownPlugins()
|
||||||
|
|
||||||
if (CDVDshutdown != NULL) CDVDshutdown();
|
if (CDVDshutdown != NULL) CDVDshutdown();
|
||||||
cdvd_FileNameParam.clear();
|
cdvd_FileNameParam.clear();
|
||||||
|
CDVD = NULL;
|
||||||
|
|
||||||
if (DEV9shutdown != NULL) DEV9shutdown();
|
if (DEV9shutdown != NULL) DEV9shutdown();
|
||||||
if (USBshutdown != NULL) USBshutdown();
|
if (USBshutdown != NULL) USBshutdown();
|
||||||
|
|
|
@ -215,7 +215,7 @@
|
||||||
PreprocessorDefinitions="NDEBUG"
|
PreprocessorDefinitions="NDEBUG"
|
||||||
ExceptionHandling="2"
|
ExceptionHandling="2"
|
||||||
EnableEnhancedInstructionSet="0"
|
EnableEnhancedInstructionSet="0"
|
||||||
UsePrecompiledHeader="0"
|
UsePrecompiledHeader="2"
|
||||||
PrecompiledHeaderThrough="PrecompiledHeader.h"
|
PrecompiledHeaderThrough="PrecompiledHeader.h"
|
||||||
PrecompiledHeaderFile="$(IntDir)\$(TargetName).pch"
|
PrecompiledHeaderFile="$(IntDir)\$(TargetName).pch"
|
||||||
CompileAs="2"
|
CompileAs="2"
|
||||||
|
@ -2254,7 +2254,6 @@
|
||||||
RelativePath="..\..\Gif.cpp"
|
RelativePath="..\..\Gif.cpp"
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
|
|
||||||
<File
|
<File
|
||||||
RelativePath="..\..\Gif.h"
|
RelativePath="..\..\Gif.h"
|
||||||
>
|
>
|
||||||
|
|
|
@ -689,8 +689,8 @@ LRESULT WINAPI MainWndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
|
||||||
{
|
{
|
||||||
SysReset();
|
SysReset();
|
||||||
CDVDsys_ChangeSource( CDVDsrc_Iso );
|
CDVDsys_ChangeSource( CDVDsrc_Iso );
|
||||||
OpenCDVD( isostr.c_str() );
|
if( OpenCDVD( isostr.c_str() ) )
|
||||||
SysPrepareExecution( outstr.c_str() );
|
SysPrepareExecution( outstr.c_str() );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
@ -702,8 +702,8 @@ LRESULT WINAPI MainWndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
|
||||||
{
|
{
|
||||||
SysReset();
|
SysReset();
|
||||||
CDVDsys_ChangeSource( CDVDsrc_Plugin );
|
CDVDsys_ChangeSource( CDVDsrc_Plugin );
|
||||||
OpenCDVD( NULL ); // manually open the CDVD plugin even though we don't really have to. (See RUNCD for details)
|
if( OpenCDVD( NULL ) ) // manually open the CDVD plugin even though we don't really have to. (See RUNCD for details)
|
||||||
SysPrepareExecution( outstr.c_str() );
|
SysPrepareExecution( outstr.c_str() );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
@ -715,8 +715,8 @@ LRESULT WINAPI MainWndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
|
||||||
{
|
{
|
||||||
SysReset();
|
SysReset();
|
||||||
CDVDsys_ChangeSource( CDVDsrc_Iso );
|
CDVDsys_ChangeSource( CDVDsrc_Iso );
|
||||||
OpenCDVD( outstr.c_str() );
|
if( OpenCDVD( outstr.c_str() ) )
|
||||||
SysPrepareExecution( NULL );
|
SysPrepareExecution( NULL );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
@ -729,7 +729,14 @@ LRESULT WINAPI MainWndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
|
||||||
|
|
||||||
case ID_RUN_EXECUTE:
|
case ID_RUN_EXECUTE:
|
||||||
// Execute without reset -- resumes existing states or runs the BIOS if
|
// Execute without reset -- resumes existing states or runs the BIOS if
|
||||||
// the state is cleared/reset.
|
// the state is cleared/reset. If the CDVD is NULL (system reset), then
|
||||||
|
// assume the cdvd plugin as the source. (retains legacy behavior)
|
||||||
|
|
||||||
|
if( CDVD == NULL )
|
||||||
|
{
|
||||||
|
CDVDsys_ChangeSource( CDVDsrc_Plugin );
|
||||||
|
if( !OpenCDVD( NULL ) ) break;
|
||||||
|
}
|
||||||
SysPrepareExecution( NULL, true );
|
SysPrepareExecution( NULL, true );
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
@ -739,8 +746,8 @@ LRESULT WINAPI MainWndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
|
||||||
// Note: manually open the CDVD plugin here, even though we don't really have to.
|
// Note: manually open the CDVD plugin here, even though we don't really have to.
|
||||||
// This ensures that the CDVD plugin's popups (like cdvdiso's browser) don't get obscured
|
// This ensures that the CDVD plugin's popups (like cdvdiso's browser) don't get obscured
|
||||||
// by the GS window.
|
// by the GS window.
|
||||||
OpenCDVD( NULL );
|
if( OpenCDVD( NULL ) )
|
||||||
SysPrepareExecution( NULL );
|
SysPrepareExecution( NULL );
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ID_RUN_RESET:
|
case ID_RUN_RESET:
|
||||||
|
|
Loading…
Reference in New Issue