BIOS: Don't HLE OSD Parameters if BIOS has no OSD

This commit is contained in:
refractionpcsx2 committed 2020-12-06 19:30:46 +00:00
1 parent a0ac42cf6d
commit 7bcee22890
3 files changed
+13 -3

No files matched your search

+3 -2
View File
@@ -24,6 +24,7 @@
#include "R5900Exceptions.h"
#include "GS.h"
#include "CDVD/CDVD.h"
#include "ps2/BiosTools.h"
GS_VideoMode gsVideoMode = GS_VideoMode::Uninitialized;
bool gsIsInterlaced = false;
@@ -944,7 +945,7 @@ void SYSCALL()
}
break;
case Syscall::GetOsdConfigParam:
if(g_SkipBiosHack)
if(!NoOSD && g_SkipBiosHack)
{
u32 memaddr = cpuRegs.GPR.n.a0.UL[0];
u8 params[16];
@@ -965,7 +966,7 @@ void SYSCALL()
}
break;
case Syscall::GetOsdConfigParam2:
if (g_SkipBiosHack)
if (!NoOSD && g_SkipBiosHack)
{
u32 memaddr = cpuRegs.GPR.n.a0.UL[0];
u8 params[16];
+8
View File
@@ -51,6 +51,7 @@ static_assert( sizeof(romdir) == DIRENTRY_SIZE, "romdir struct not packed to 16
u32 BiosVersion;
u32 BiosChecksum;
bool NoOSD;
wxString BiosDescription;
const BiosDebugInformation* CurrentBiosInformation;
@@ -284,6 +285,13 @@ void LoadBIOS()
wxFFile fp( Bios , "rb");
fp.Read( eeMem->ROM, std::min<s64>( Ps2MemSize::Rom, filesize ) );
// If file is less than 2mb it doesn't have an OSD (Devel consoles)
// So skip HLEing OSDSys Param stuff
if (filesize < 2465792)
NoOSD = true;
else
NoOSD = false;
ChecksumIt( BiosChecksum, eeMem->ROM );
pxInputStream memfp( Bios, new wxMemoryInputStream( eeMem->ROM, sizeof(eeMem->ROM) ) );
+2 -1
View File
@@ -35,7 +35,8 @@ struct BiosDebugInformation
u32 threadListAddr;
};
extern u32 BiosVersion; // Used by CDVD
extern u32 BiosVersion; // Used by CDVD
extern bool NoOSD; // Used for HLE OSD Config Params
extern u32 BiosChecksum;
extern wxString BiosDescription;
extern const BiosDebugInformation* CurrentBiosInformation;