Move Has39BitAddressSpace setting in to core settings (#134)
This commit is contained in:
parent
f658b51073
commit
4bfd926b64
|
|
@ -74,6 +74,7 @@ namespace
|
|||
{ NXCoreSetting::LogFilter, "", "LogFilter", &coreSettings.LogFilter, "*:Info" },
|
||||
{ NXCoreSetting::EmulationRunning, false },
|
||||
{ NXCoreSetting::EmulationState, (int)EmulationState::Stopped },
|
||||
{ NXCoreSetting::Has39BitAddressSpace, false },
|
||||
{ NXCoreSetting::DisplayedFrames, false },
|
||||
{ NXCoreSetting::ShuttingDown, false},
|
||||
{ NXCoreSetting::DiskCacheLoadStage, -1 },
|
||||
|
|
|
|||
|
|
@ -28,6 +28,7 @@ constexpr const char * ShowLogConsole = "nxcore:ShowLogConsole";
|
|||
constexpr const char * LogFilter = "nxcore:LogFilter";
|
||||
constexpr const char * EmulationRunning = "nxcore:EmulationRunning";
|
||||
constexpr const char * EmulationState = "nxcore:EmulationState";
|
||||
constexpr const char * Has39BitAddressSpace = "nxcore:Has39BitAddressSpace";
|
||||
constexpr const char * DisplayedFrames = "nxcore:DisplayedFrames";
|
||||
constexpr const char * ShuttingDown = "nxcore:ShuttingDown";
|
||||
constexpr const char * DiskCacheLoadStage = "nxcore:DiskCacheLoadStage";
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
#include "cpu_settings.h"
|
||||
#include "cpu_enum_strings.h"
|
||||
#include <nxemu-cpu/cpu_settings_identifiers.h>
|
||||
#include <nxemu-loader/loader_settings_identifiers.h>
|
||||
#include <nxemu-core/settings/identifiers.h>
|
||||
#include <common/json.h>
|
||||
#include <common/json_util.h>
|
||||
#include <cstring>
|
||||
|
|
@ -119,7 +119,7 @@ bool IsFastmemEnabled()
|
|||
|
||||
void UpdateNceEnabled()
|
||||
{
|
||||
const bool has_39bit = g_settings->GetBool(NXLoaderSetting::Has39BitAddressSpace);
|
||||
const bool has_39bit = g_settings->GetBool(NXCoreSetting::Has39BitAddressSpace);
|
||||
const bool is_nce = g_settings->GetInt(NXCpuSetting::CpuBackend) == static_cast<int32_t>(CpuBackend::Nce);
|
||||
if (is_nce && !IsFastmemEnabled())
|
||||
{
|
||||
|
|
@ -137,7 +137,7 @@ bool AffectsNceEnabled(const char * setting)
|
|||
return strcmp(setting, NXCpuSetting::CpuBackend) == 0 ||
|
||||
strcmp(setting, NXCpuSetting::CpuDebugMode) == 0 ||
|
||||
strcmp(setting, NXCpuSetting::CpuoptFastmem) == 0 ||
|
||||
strcmp(setting, NXLoaderSetting::Has39BitAddressSpace) == 0;
|
||||
strcmp(setting, NXCoreSetting::Has39BitAddressSpace) == 0;
|
||||
}
|
||||
|
||||
void CpuSettingChanged(const char * setting, void * /*userData*/)
|
||||
|
|
@ -259,9 +259,7 @@ void SetupCpuSetting(void)
|
|||
g_settings->RegisterCallback(cpuSetting.identifier, CpuSettingChanged, nullptr);
|
||||
}
|
||||
|
||||
g_settings->SetDefaultBool(NXLoaderSetting::Has39BitAddressSpace, false);
|
||||
g_settings->SetBool(NXLoaderSetting::Has39BitAddressSpace, false);
|
||||
g_settings->RegisterCallback(NXLoaderSetting::Has39BitAddressSpace, NceInputChanged, nullptr);
|
||||
g_settings->RegisterCallback(NXCoreSetting::Has39BitAddressSpace, NceInputChanged, nullptr);
|
||||
|
||||
g_settings->SetDefaultBool(NXCpuSetting::NceEnabled, false);
|
||||
UpdateNceEnabled();
|
||||
|
|
@ -273,7 +271,7 @@ void CleanupCpuSetting(void)
|
|||
{
|
||||
g_settings->UnregisterCallback(cpuSetting.identifier, CpuSettingChanged, nullptr);
|
||||
}
|
||||
g_settings->UnregisterCallback(NXLoaderSetting::Has39BitAddressSpace, NceInputChanged, nullptr);
|
||||
g_settings->UnregisterCallback(NXCoreSetting::Has39BitAddressSpace, NceInputChanged, nullptr);
|
||||
}
|
||||
|
||||
void SaveCpuSettings(void)
|
||||
|
|
|
|||
|
|
@ -8,7 +8,6 @@
|
|||
#include "core/file_sys/patch_manager.h"
|
||||
#include "core/file_sys/romfs_factory.h"
|
||||
#include "core/loader/nso.h"
|
||||
#include "loader_settings_identifiers.h"
|
||||
#include "system_loader.h"
|
||||
#include "yuzu_common/interface_pointer.h"
|
||||
#include "yuzu_common/interface_pointer_def.h"
|
||||
|
|
@ -154,9 +153,7 @@ AppLoader_DeconstructedRomDirectory::LoadResult AppLoader_DeconstructedRomDirect
|
|||
}
|
||||
metadata.Print();
|
||||
|
||||
const bool is_39bit = metadata.GetAddressSpaceType() == ProgramAddressSpaceType::Is39Bit;
|
||||
const bool is_application = metadata.GetPoolPartition() == PoolPartition::Application;
|
||||
g_settings->SetBool(NXLoaderSetting::Has39BitAddressSpace, is_39bit);
|
||||
|
||||
IPatchCollectionPtr patch_ctx(systemModules.Cpu().CreatePatchCollection(is_application));
|
||||
const std::array static_modules = {"rtld", "main", "subsdk0", "subsdk1", "subsdk2", "subsdk3", "subsdk4", "subsdk5", "subsdk6", "subsdk7", "subsdk8", "subsdk9", "sdk"};
|
||||
|
|
|
|||
|
|
@ -5,6 +5,5 @@ namespace NXLoaderSetting
|
|||
constexpr const char * CheckForUpdatedFirmware = "nxloader:CheckForUpdatedFirmware";
|
||||
constexpr const char * FirmwareInstallCurrent = "nxloader:FirmwareInstallCurrent";
|
||||
constexpr const char * FirmwareInstallTotal = "nxloader:FirmwareInstallTotal";
|
||||
constexpr const char * Has39BitAddressSpace = "nxloader:Has39BitAddressSpace";
|
||||
constexpr const char * AddOnDirectories = "nxloader:AddOnDirectories";
|
||||
} // namespace NXLoaderSetting
|
||||
|
|
|
|||
|
|
@ -1,5 +1,4 @@
|
|||
#include "loader_settings.h"
|
||||
#include "loader_settings_identifiers.h"
|
||||
#include "system_loader.h"
|
||||
#include <memory>
|
||||
#include <stdio.h>
|
||||
|
|
@ -101,10 +100,6 @@ Output: None
|
|||
*/
|
||||
void CALL EmulationStopping(bool wait)
|
||||
{
|
||||
if (g_settings != nullptr)
|
||||
{
|
||||
g_settings->SetBool(NXLoaderSetting::Has39BitAddressSpace, false);
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
|
|||
|
|
@ -157,6 +157,7 @@ void OSManager::EmulationStarting()
|
|||
void OSManager::EmulationStopping(bool wait)
|
||||
{
|
||||
g_settings->SetBool(NXOsSetting::UseSpeedLimit, true);
|
||||
g_settings->SetBool(NXCoreSetting::Has39BitAddressSpace, false);
|
||||
|
||||
if (m_emuThread)
|
||||
{
|
||||
|
|
@ -218,12 +219,13 @@ bool OSManager::CreateApplicationProcess(uint64_t codeSize, const IProgramMetada
|
|||
Kernel::KProcess::Register(kernel, m_applicationProcess);
|
||||
kernel.AppendNewProcess(m_applicationProcess);
|
||||
kernel.MakeApplicationProcess(m_applicationProcess);
|
||||
g_settings->SetBool(NXCoreSetting::Has39BitAddressSpace, metaData.GetAddressSpaceType() == ProgramAddressSpaceType::Is39Bit);
|
||||
|
||||
if (m_applicationProcess->LoadFromMetadata(metaData, codeSize, 0, is_hbl).IsError())
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
auto params = Service::AM::FrontendAppletParameters{
|
||||
.applet_id = Service::AM::AppletId::Application,
|
||||
.applet_type = Service::AM::AppletType::Application,
|
||||
|
|
|
|||
Loading…
Reference in New Issue