mirror of https://github.com/PCSX2/pcsx2.git
BIOS/FastBoot: If OSDConfig is written, turn off HLE
Fixes #4902 Savestate bump, sorry.
This commit is contained in:
parent
f14c9e7ddd
commit
880107e72b
|
@ -17,6 +17,7 @@
|
|||
#include "PrecompiledHeader.h"
|
||||
#include "Common.h"
|
||||
|
||||
#include "ps2/BiosTools.h"
|
||||
#include "R5900.h"
|
||||
#include "R3000A.h"
|
||||
#include "ps2/pgif.h" // pgif init
|
||||
|
@ -102,6 +103,8 @@ void cpuReset()
|
|||
Deci2Reset();
|
||||
|
||||
g_SkipBiosHack = EmuConfig.UseBOOT2Injection;
|
||||
AllowParams1 = !g_SkipBiosHack;
|
||||
AllowParams2 = !g_SkipBiosHack;
|
||||
|
||||
ElfCRC = 0;
|
||||
DiscSerial = L"";
|
||||
|
|
|
@ -944,8 +944,11 @@ void SYSCALL()
|
|||
DevCon.Warning("Set GS CRTC configuration. %s %s (%s)",mode.c_str(), inter, field);
|
||||
}
|
||||
break;
|
||||
case Syscall::SetOsdConfigParam:
|
||||
AllowParams1 = true;
|
||||
break;
|
||||
case Syscall::GetOsdConfigParam:
|
||||
if(!NoOSD && g_SkipBiosHack)
|
||||
if(!NoOSD && g_SkipBiosHack && !AllowParams1)
|
||||
{
|
||||
u32 memaddr = cpuRegs.GPR.n.a0.UL[0];
|
||||
u8 params[16];
|
||||
|
@ -965,8 +968,11 @@ void SYSCALL()
|
|||
return;
|
||||
}
|
||||
break;
|
||||
case Syscall::SetOsdConfigParam2:
|
||||
AllowParams2 = true;
|
||||
break;
|
||||
case Syscall::GetOsdConfigParam2:
|
||||
if (!NoOSD && g_SkipBiosHack)
|
||||
if (!NoOSD && g_SkipBiosHack && !AllowParams2)
|
||||
{
|
||||
u32 memaddr = cpuRegs.GPR.n.a0.UL[0];
|
||||
u8 params[16];
|
||||
|
|
|
@ -23,7 +23,9 @@ enum Syscall : u8
|
|||
SetVTLBRefillHandler = 13,
|
||||
StartThread = 34,
|
||||
ChangeThreadPriority = 41,
|
||||
SetOsdConfigParam = 74,
|
||||
GetOsdConfigParam = 75,
|
||||
SetOsdConfigParam2 = 110,
|
||||
GetOsdConfigParam2 = 111,
|
||||
sysPrintOut = 117,
|
||||
sceSifSetDma = 119,
|
||||
|
|
|
@ -210,6 +210,10 @@ SaveStateBase& SaveStateBase::FreezeInternals()
|
|||
Freeze(psxRegs); // iop regs
|
||||
Freeze(fpuRegs);
|
||||
Freeze(tlb); // tlbs
|
||||
Freeze(AllowParams1); //OSDConfig written (Fast Boot)
|
||||
Freeze(AllowParams2);
|
||||
Freeze(g_GameStarted);
|
||||
Freeze(g_GameLoading);
|
||||
|
||||
// Third Block - Cycle Timers and Events
|
||||
// -------------------------------------
|
||||
|
|
|
@ -31,7 +31,7 @@ enum class FreezeAction
|
|||
// the lower 16 bit value. IF the change is breaking of all compatibility with old
|
||||
// states, increment the upper 16 bit value, and clear the lower 16 bits to 0.
|
||||
|
||||
static const u32 g_SaveVersion = (0x9A25 << 16) | 0x0000;
|
||||
static const u32 g_SaveVersion = (0x9A26 << 16) | 0x0000;
|
||||
|
||||
// the freezing data between submodules and core
|
||||
// an interesting thing to note is that this dates back from before plugin
|
||||
|
|
|
@ -51,6 +51,8 @@ u32 BiosVersion;
|
|||
u32 BiosChecksum;
|
||||
u32 BiosRegion;
|
||||
bool NoOSD;
|
||||
bool AllowParams1;
|
||||
bool AllowParams2;
|
||||
wxString BiosDescription;
|
||||
BiosDebugInformation CurrentBiosInformation;
|
||||
|
||||
|
|
|
@ -44,6 +44,8 @@ extern BiosDebugInformation CurrentBiosInformation;
|
|||
extern u32 BiosVersion; // Used by CDVD
|
||||
extern u32 BiosRegion; // Used by CDVD
|
||||
extern bool NoOSD; // Used for HLE OSD Config Params
|
||||
extern bool AllowParams1;
|
||||
extern bool AllowParams2;
|
||||
extern u32 BiosChecksum;
|
||||
extern wxString BiosDescription;
|
||||
extern void LoadBIOS();
|
||||
|
|
Loading…
Reference in New Issue