early-access version 1597
This commit is contained in:
parent
6b7550f53d
commit
ec96407490
12 changed files with 37 additions and 6 deletions
|
@ -1,7 +1,7 @@
|
||||||
yuzu emulator early access
|
yuzu emulator early access
|
||||||
=============
|
=============
|
||||||
|
|
||||||
This is the source code for early-access 1596.
|
This is the source code for early-access 1597.
|
||||||
|
|
||||||
## Legal Notice
|
## Legal Notice
|
||||||
|
|
||||||
|
|
|
@ -3,5 +3,12 @@
|
||||||
// Refer to the license.txt file included.
|
// Refer to the license.txt file included.
|
||||||
|
|
||||||
#include "common/assert.h"
|
#include "common/assert.h"
|
||||||
|
#include "common/common_funcs.h"
|
||||||
|
|
||||||
void assert_handle_failure() {}
|
#include "core/settings.h"
|
||||||
|
|
||||||
|
void assert_handle_failure() {
|
||||||
|
if (Settings::values.use_debug_asserts) {
|
||||||
|
Crash();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -223,6 +223,7 @@ struct Values {
|
||||||
bool quest_flag;
|
bool quest_flag;
|
||||||
bool disable_macro_jit;
|
bool disable_macro_jit;
|
||||||
bool extended_logging;
|
bool extended_logging;
|
||||||
|
bool use_debug_asserts;
|
||||||
bool use_auto_stub;
|
bool use_auto_stub;
|
||||||
|
|
||||||
// Miscellaneous
|
// Miscellaneous
|
||||||
|
|
|
@ -4,13 +4,14 @@
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <type_traits>
|
|
||||||
#include "common/common_types.h"
|
#include "common/common_types.h"
|
||||||
|
|
||||||
namespace Tegra::Engines {
|
namespace Tegra::Engines {
|
||||||
|
|
||||||
class EngineInterface {
|
class EngineInterface {
|
||||||
public:
|
public:
|
||||||
|
virtual ~EngineInterface() = default;
|
||||||
|
|
||||||
/// Write the value to the register identified by method.
|
/// Write the value to the register identified by method.
|
||||||
virtual void CallMethod(u32 method, u32 method_argument, bool is_last_call) = 0;
|
virtual void CallMethod(u32 method, u32 method_argument, bool is_last_call) = 0;
|
||||||
|
|
||||||
|
|
|
@ -35,7 +35,7 @@ namespace Tegra::Engines {
|
||||||
class Fermi2D final : public EngineInterface {
|
class Fermi2D final : public EngineInterface {
|
||||||
public:
|
public:
|
||||||
explicit Fermi2D();
|
explicit Fermi2D();
|
||||||
~Fermi2D();
|
~Fermi2D() override;
|
||||||
|
|
||||||
/// Binds a rasterizer to this engine.
|
/// Binds a rasterizer to this engine.
|
||||||
void BindRasterizer(VideoCore::RasterizerInterface* rasterizer);
|
void BindRasterizer(VideoCore::RasterizerInterface* rasterizer);
|
||||||
|
|
|
@ -36,7 +36,7 @@ namespace Tegra::Engines {
|
||||||
class KeplerMemory final : public EngineInterface {
|
class KeplerMemory final : public EngineInterface {
|
||||||
public:
|
public:
|
||||||
explicit KeplerMemory(Core::System& system_, MemoryManager& memory_manager);
|
explicit KeplerMemory(Core::System& system_, MemoryManager& memory_manager);
|
||||||
~KeplerMemory();
|
~KeplerMemory() override;
|
||||||
|
|
||||||
/// Write the value to the register identified by method.
|
/// Write the value to the register identified by method.
|
||||||
void CallMethod(u32 method, u32 method_argument, bool is_last_call) override;
|
void CallMethod(u32 method, u32 method_argument, bool is_last_call) override;
|
||||||
|
|
|
@ -188,7 +188,7 @@ public:
|
||||||
static_assert(sizeof(RemapConst) == 12);
|
static_assert(sizeof(RemapConst) == 12);
|
||||||
|
|
||||||
explicit MaxwellDMA(Core::System& system_, MemoryManager& memory_manager_);
|
explicit MaxwellDMA(Core::System& system_, MemoryManager& memory_manager_);
|
||||||
~MaxwellDMA();
|
~MaxwellDMA() override;
|
||||||
|
|
||||||
/// Write the value to the register identified by method.
|
/// Write the value to the register identified by method.
|
||||||
void CallMethod(u32 method, u32 method_argument, bool is_last_call) override;
|
void CallMethod(u32 method, u32 method_argument, bool is_last_call) override;
|
||||||
|
|
|
@ -641,6 +641,8 @@ void Config::ReadDebuggingValues() {
|
||||||
ReadSetting(QStringLiteral("disable_macro_jit"), false).toBool();
|
ReadSetting(QStringLiteral("disable_macro_jit"), false).toBool();
|
||||||
Settings::values.extended_logging =
|
Settings::values.extended_logging =
|
||||||
ReadSetting(QStringLiteral("extended_logging"), false).toBool();
|
ReadSetting(QStringLiteral("extended_logging"), false).toBool();
|
||||||
|
Settings::values.use_debug_asserts =
|
||||||
|
ReadSetting(QStringLiteral("use_debug_asserts"), false).toBool();
|
||||||
Settings::values.use_auto_stub = ReadSetting(QStringLiteral("use_auto_stub"), false).toBool();
|
Settings::values.use_auto_stub = ReadSetting(QStringLiteral("use_auto_stub"), false).toBool();
|
||||||
|
|
||||||
qt_config->endGroup();
|
qt_config->endGroup();
|
||||||
|
@ -1238,6 +1240,7 @@ void Config::SaveDebuggingValues() {
|
||||||
WriteSetting(QStringLiteral("dump_exefs"), Settings::values.dump_exefs, false);
|
WriteSetting(QStringLiteral("dump_exefs"), Settings::values.dump_exefs, false);
|
||||||
WriteSetting(QStringLiteral("dump_nso"), Settings::values.dump_nso, false);
|
WriteSetting(QStringLiteral("dump_nso"), Settings::values.dump_nso, false);
|
||||||
WriteSetting(QStringLiteral("quest_flag"), Settings::values.quest_flag, false);
|
WriteSetting(QStringLiteral("quest_flag"), Settings::values.quest_flag, false);
|
||||||
|
WriteSetting(QStringLiteral("use_debug_asserts"), Settings::values.use_debug_asserts, false);
|
||||||
WriteSetting(QStringLiteral("disable_macro_jit"), Settings::values.disable_macro_jit, false);
|
WriteSetting(QStringLiteral("disable_macro_jit"), Settings::values.disable_macro_jit, false);
|
||||||
|
|
||||||
qt_config->endGroup();
|
qt_config->endGroup();
|
||||||
|
|
|
@ -34,6 +34,7 @@ void ConfigureDebug::SetConfiguration() {
|
||||||
ui->homebrew_args_edit->setText(QString::fromStdString(Settings::values.program_args));
|
ui->homebrew_args_edit->setText(QString::fromStdString(Settings::values.program_args));
|
||||||
ui->reporting_services->setChecked(Settings::values.reporting_services);
|
ui->reporting_services->setChecked(Settings::values.reporting_services);
|
||||||
ui->quest_flag->setChecked(Settings::values.quest_flag);
|
ui->quest_flag->setChecked(Settings::values.quest_flag);
|
||||||
|
ui->use_debug_asserts->setChecked(Settings::values.use_debug_asserts);
|
||||||
ui->use_auto_stub->setChecked(Settings::values.use_auto_stub);
|
ui->use_auto_stub->setChecked(Settings::values.use_auto_stub);
|
||||||
ui->enable_graphics_debugging->setEnabled(!Core::System::GetInstance().IsPoweredOn());
|
ui->enable_graphics_debugging->setEnabled(!Core::System::GetInstance().IsPoweredOn());
|
||||||
ui->enable_graphics_debugging->setChecked(Settings::values.renderer_debug);
|
ui->enable_graphics_debugging->setChecked(Settings::values.renderer_debug);
|
||||||
|
@ -48,6 +49,7 @@ void ConfigureDebug::ApplyConfiguration() {
|
||||||
Settings::values.program_args = ui->homebrew_args_edit->text().toStdString();
|
Settings::values.program_args = ui->homebrew_args_edit->text().toStdString();
|
||||||
Settings::values.reporting_services = ui->reporting_services->isChecked();
|
Settings::values.reporting_services = ui->reporting_services->isChecked();
|
||||||
Settings::values.quest_flag = ui->quest_flag->isChecked();
|
Settings::values.quest_flag = ui->quest_flag->isChecked();
|
||||||
|
Settings::values.use_debug_asserts = ui->use_debug_asserts->isChecked();
|
||||||
Settings::values.use_auto_stub = ui->use_auto_stub->isChecked();
|
Settings::values.use_auto_stub = ui->use_auto_stub->isChecked();
|
||||||
Settings::values.renderer_debug = ui->enable_graphics_debugging->isChecked();
|
Settings::values.renderer_debug = ui->enable_graphics_debugging->isChecked();
|
||||||
Settings::values.disable_macro_jit = ui->disable_macro_jit->isChecked();
|
Settings::values.disable_macro_jit = ui->disable_macro_jit->isChecked();
|
||||||
|
|
|
@ -184,6 +184,13 @@
|
||||||
<string>Kiosk (Quest) Mode</string>
|
<string>Kiosk (Quest) Mode</string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QCheckBox" name="use_debug_asserts">
|
||||||
|
<property name="text">
|
||||||
|
<string>Enable Debug Asserts</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<widget class="QCheckBox" name="use_auto_stub">
|
<widget class="QCheckBox" name="use_auto_stub">
|
||||||
|
|
|
@ -428,6 +428,10 @@ void Config::ReadValues() {
|
||||||
Settings::values.reporting_services =
|
Settings::values.reporting_services =
|
||||||
sdl2_config->GetBoolean("Debugging", "reporting_services", false);
|
sdl2_config->GetBoolean("Debugging", "reporting_services", false);
|
||||||
Settings::values.quest_flag = sdl2_config->GetBoolean("Debugging", "quest_flag", false);
|
Settings::values.quest_flag = sdl2_config->GetBoolean("Debugging", "quest_flag", false);
|
||||||
|
Settings::values.use_debug_asserts =
|
||||||
|
sdl2_config->GetBoolean("Debugging", "use_debug_asserts", false);
|
||||||
|
Settings::values.use_auto_stub = sdl2_config->GetBoolean("Debugging", "use_auto_stub", false);
|
||||||
|
|
||||||
Settings::values.disable_macro_jit =
|
Settings::values.disable_macro_jit =
|
||||||
sdl2_config->GetBoolean("Debugging", "disable_macro_jit", false);
|
sdl2_config->GetBoolean("Debugging", "disable_macro_jit", false);
|
||||||
|
|
||||||
|
|
|
@ -325,6 +325,12 @@ dump_nso=false
|
||||||
# Determines whether or not yuzu will report to the game that the emulated console is in Kiosk Mode
|
# Determines whether or not yuzu will report to the game that the emulated console is in Kiosk Mode
|
||||||
# false: Retail/Normal Mode (default), true: Kiosk Mode
|
# false: Retail/Normal Mode (default), true: Kiosk Mode
|
||||||
quest_flag =
|
quest_flag =
|
||||||
|
# Determines whether debug asserts should be enabled, which will throw an exception on asserts.
|
||||||
|
# false: Disabled (default), true: Enabled
|
||||||
|
use_debug_asserts =
|
||||||
|
# Determines whether unimplemented HLE service calls should be automatically stubbed.
|
||||||
|
# false: Disabled (default), true: Enabled
|
||||||
|
use_auto_stub =
|
||||||
# Enables/Disables the macro JIT compiler
|
# Enables/Disables the macro JIT compiler
|
||||||
disable_macro_jit=false
|
disable_macro_jit=false
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue