mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-07-08 16:01:42 +12:00
sys_process_get_sdk_version rough implementation
This commit is contained in:
parent
18e1799980
commit
b09412a79a
4 changed files with 52 additions and 4 deletions
|
@ -16,7 +16,7 @@
|
|||
|
||||
#include "Emu/CPU/CPUThreadManager.h" //gui dependency
|
||||
|
||||
#include "../Loader/PSF.h"
|
||||
#include "Loader/PSF.h"
|
||||
|
||||
#include "../Crypto/unself.h"
|
||||
#include <cstdlib>
|
||||
|
@ -270,6 +270,26 @@ void Emulator::Load()
|
|||
return;
|
||||
}
|
||||
|
||||
// setting default values
|
||||
Emu.m_sdk_version = -1; // possibly "unknown" value
|
||||
|
||||
// trying to load some info from PARAM.SFO
|
||||
vfsFile f2("/app_home/PARAM.SFO");
|
||||
if (f2.IsOpened())
|
||||
{
|
||||
PSFLoader psf(f2);
|
||||
if (psf.Load(false))
|
||||
{
|
||||
std::string version = psf.GetString("PS3_SYSTEM_VER");
|
||||
|
||||
const size_t dot = version.find('.');
|
||||
if (dot != std::string::npos)
|
||||
{
|
||||
Emu.m_sdk_version = (std::stoi(version, nullptr, 16) << 20) | ((std::stoi(version.substr(dot + 1), nullptr, 16) & 0xffff) << 4) | 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
LoadPoints(BreakPointsDBName);
|
||||
|
||||
CPUThread& thread = GetCPU().AddThread(thread_type);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue