diff --git a/src/core/core.cpp b/src/core/core.cpp
index ae1d56b27..3532839df 100644
--- a/src/core/core.cpp
+++ b/src/core/core.cpp
@@ -139,8 +139,8 @@ struct System::Impl {
         : kernel{system}, fs_controller{system}, memory{system},
           cpu_manager{system}, reporter{system}, applet_manager{system}, time_manager{system} {}
 
-    ResultStatus Run() {
-        status = ResultStatus::Success;
+    SystemResultStatus Run() {
+        status = SystemResultStatus::Success;
 
         kernel.Suspend(false);
         core_timing.SyncPause(false);
@@ -149,8 +149,8 @@ struct System::Impl {
         return status;
     }
 
-    ResultStatus Pause() {
-        status = ResultStatus::Success;
+    SystemResultStatus Pause() {
+        status = SystemResultStatus::Success;
 
         core_timing.SyncPause(true);
         kernel.Suspend(true);
@@ -159,7 +159,7 @@ struct System::Impl {
         return status;
     }
 
-    ResultStatus Init(System& system, Frontend::EmuWindow& emu_window) {
+    SystemResultStatus Init(System& system, Frontend::EmuWindow& emu_window) {
         LOG_DEBUG(Core, "initialized OK");
 
         device_memory = std::make_unique<Core::DeviceMemory>();
@@ -197,7 +197,7 @@ struct System::Impl {
 
         gpu_core = VideoCore::CreateGPU(emu_window, system);
         if (!gpu_core) {
-            return ResultStatus::ErrorVideoCore;
+            return SystemResultStatus::ErrorVideoCore;
         }
 
         service_manager = std::make_shared<Service::SM::ServiceManager>(kernel);
@@ -217,21 +217,22 @@ struct System::Impl {
 
         LOG_DEBUG(Core, "Initialized OK");
 
-        return ResultStatus::Success;
+        return SystemResultStatus::Success;
     }
 
-    ResultStatus Load(System& system, Frontend::EmuWindow& emu_window, const std::string& filepath,
-                      u64 program_id, std::size_t program_index) {
+    SystemResultStatus Load(System& system, Frontend::EmuWindow& emu_window,
+                            const std::string& filepath, u64 program_id,
+                            std::size_t program_index) {
         app_loader = Loader::GetLoader(system, GetGameFileFromPath(virtual_filesystem, filepath),
                                        program_id, program_index);
 
         if (!app_loader) {
             LOG_CRITICAL(Core, "Failed to obtain loader for {}!", filepath);
-            return ResultStatus::ErrorGetLoader;
+            return SystemResultStatus::ErrorGetLoader;
         }
 
-        ResultStatus init_result{Init(system, emu_window)};
-        if (init_result != ResultStatus::Success) {
+        SystemResultStatus init_result{Init(system, emu_window)};
+        if (init_result != SystemResultStatus::Success) {
             LOG_CRITICAL(Core, "Failed to initialize system (Error {})!",
                          static_cast<int>(init_result));
             Shutdown();
@@ -249,8 +250,8 @@ struct System::Impl {
             LOG_CRITICAL(Core, "Failed to load ROM (Error {})!", load_result);
             Shutdown();
 
-            return static_cast<ResultStatus>(static_cast<u32>(ResultStatus::ErrorLoader) +
-                                             static_cast<u32>(load_result));
+            return static_cast<SystemResultStatus>(
+                static_cast<u32>(SystemResultStatus::ErrorLoader) + static_cast<u32>(load_result));
         }
         AddGlueRegistrationForProcess(*app_loader, *main_process);
         kernel.MakeCurrentProcess(main_process.get());
@@ -282,7 +283,7 @@ struct System::Impl {
         GetAndResetPerfStats();
         perf_stats->BeginSystemFrame();
 
-        status = ResultStatus::Success;
+        status = SystemResultStatus::Success;
         return status;
     }
 
@@ -355,7 +356,7 @@ struct System::Impl {
         arp_manager.Register(launch.title_id, launch, std::move(nacp_data));
     }
 
-    void SetStatus(ResultStatus new_status, const char* details = nullptr) {
+    void SetStatus(SystemResultStatus new_status, const char* details = nullptr) {
         status = new_status;
         if (details) {
             status_details = details;
@@ -411,7 +412,7 @@ struct System::Impl {
     /// Network instance
     Network::NetworkInstance network_instance;
 
-    ResultStatus status = ResultStatus::Success;
+    SystemResultStatus status = SystemResultStatus::Success;
     std::string status_details = "";
 
     std::unique_ptr<Core::PerfStats> perf_stats;
@@ -439,16 +440,16 @@ const CpuManager& System::GetCpuManager() const {
     return impl->cpu_manager;
 }
 
-System::ResultStatus System::Run() {
+SystemResultStatus System::Run() {
     return impl->Run();
 }
 
-System::ResultStatus System::Pause() {
+SystemResultStatus System::Pause() {
     return impl->Pause();
 }
 
-System::ResultStatus System::SingleStep() {
-    return ResultStatus::Success;
+SystemResultStatus System::SingleStep() {
+    return SystemResultStatus::Success;
 }
 
 void System::InvalidateCpuInstructionCaches() {
@@ -463,8 +464,8 @@ void System::Shutdown() {
     impl->Shutdown();
 }
 
-System::ResultStatus System::Load(Frontend::EmuWindow& emu_window, const std::string& filepath,
-                                  u64 program_id, std::size_t program_index) {
+SystemResultStatus System::Load(Frontend::EmuWindow& emu_window, const std::string& filepath,
+                                u64 program_id, std::size_t program_index) {
     return impl->Load(*this, emu_window, filepath, program_id, program_index);
 }
 
@@ -624,7 +625,7 @@ Loader::ResultStatus System::GetGameName(std::string& out) const {
     return impl->GetGameName(out);
 }
 
-void System::SetStatus(ResultStatus new_status, const char* details) {
+void System::SetStatus(SystemResultStatus new_status, const char* details) {
     impl->SetStatus(new_status, details);
 }
 
diff --git a/src/core/core.h b/src/core/core.h
index cae578c69..c1234ef77 100644
--- a/src/core/core.h
+++ b/src/core/core.h
@@ -104,6 +104,18 @@ struct PerfStatsResults;
 FileSys::VirtualFile GetGameFileFromPath(const FileSys::VirtualFilesystem& vfs,
                                          const std::string& path);
 
+/// Enumeration representing the return values of the System Initialize and Load process.
+enum class SystemResultStatus : u32 {
+    Success,             ///< Succeeded
+    ErrorNotInitialized, ///< Error trying to use core prior to initialization
+    ErrorGetLoader,      ///< Error finding the correct application loader
+    ErrorSystemFiles,    ///< Error in finding system files
+    ErrorSharedFont,     ///< Error in finding shared font
+    ErrorVideoCore,      ///< Error in the video core
+    ErrorUnknown,        ///< Any other error
+    ErrorLoader,         ///< The base for loader errors (too many to repeat)
+};
+
 class System {
 public:
     using CurrentBuildProcessID = std::array<u8, 0x20>;
@@ -118,35 +130,23 @@ public:
     System(System&&) = delete;
     System& operator=(System&&) = delete;
 
-    /// Enumeration representing the return values of the System Initialize and Load process.
-    enum class ResultStatus : u32 {
-        Success,             ///< Succeeded
-        ErrorNotInitialized, ///< Error trying to use core prior to initialization
-        ErrorGetLoader,      ///< Error finding the correct application loader
-        ErrorSystemFiles,    ///< Error in finding system files
-        ErrorSharedFont,     ///< Error in finding shared font
-        ErrorVideoCore,      ///< Error in the video core
-        ErrorUnknown,        ///< Any other error
-        ErrorLoader,         ///< The base for loader errors (too many to repeat)
-    };
-
     /**
      * Run the OS and Application
      * This function will start emulation and run the relevant devices
      */
-    [[nodiscard]] ResultStatus Run();
+    [[nodiscard]] SystemResultStatus Run();
 
     /**
      * Pause the OS and Application
      * This function will pause emulation and stop the relevant devices
      */
-    [[nodiscard]] ResultStatus Pause();
+    [[nodiscard]] SystemResultStatus Pause();
 
     /**
      * Step the CPU one instruction
      * @return Result status, indicating whether or not the operation succeeded.
      */
-    [[nodiscard]] ResultStatus SingleStep();
+    [[nodiscard]] SystemResultStatus SingleStep();
 
     /**
      * Invalidate the CPU instruction caches
@@ -166,10 +166,11 @@ public:
      *                   input.
      * @param filepath String path to the executable application to load on the host file system.
      * @param program_index Specifies the index within the container of the program to launch.
-     * @returns ResultStatus code, indicating if the operation succeeded.
+     * @returns SystemResultStatus code, indicating if the operation succeeded.
      */
-    [[nodiscard]] ResultStatus Load(Frontend::EmuWindow& emu_window, const std::string& filepath,
-                                    u64 program_id = 0, std::size_t program_index = 0);
+    [[nodiscard]] SystemResultStatus Load(Frontend::EmuWindow& emu_window,
+                                          const std::string& filepath, u64 program_id = 0,
+                                          std::size_t program_index = 0);
 
     /**
      * Indicates if the emulated system is powered on (all subsystems initialized and able to run an
@@ -295,7 +296,7 @@ public:
     /// Gets the name of the current game
     [[nodiscard]] Loader::ResultStatus GetGameName(std::string& out) const;
 
-    void SetStatus(ResultStatus new_status, const char* details);
+    void SetStatus(SystemResultStatus new_status, const char* details);
 
     [[nodiscard]] const std::string& GetStatusDetails() const;
 
diff --git a/src/yuzu/bootmanager.cpp b/src/yuzu/bootmanager.cpp
index c75f5e1ee..40fd47406 100644
--- a/src/yuzu/bootmanager.cpp
+++ b/src/yuzu/bootmanager.cpp
@@ -86,15 +86,15 @@ void EmuThread::run() {
             }
 
             running_guard = true;
-            Core::System::ResultStatus result = system.Run();
-            if (result != Core::System::ResultStatus::Success) {
+            Core::SystemResultStatus result = system.Run();
+            if (result != Core::SystemResultStatus::Success) {
                 running_guard = false;
                 this->SetRunning(false);
                 emit ErrorThrown(result, system.GetStatusDetails());
             }
             running_wait.Wait();
             result = system.Pause();
-            if (result != Core::System::ResultStatus::Success) {
+            if (result != Core::SystemResultStatus::Success) {
                 running_guard = false;
                 this->SetRunning(false);
                 emit ErrorThrown(result, system.GetStatusDetails());
diff --git a/src/yuzu/bootmanager.h b/src/yuzu/bootmanager.h
index 8d7ab8c2e..9fc4116e6 100644
--- a/src/yuzu/bootmanager.h
+++ b/src/yuzu/bootmanager.h
@@ -123,7 +123,7 @@ signals:
      */
     void DebugModeLeft();
 
-    void ErrorThrown(Core::System::ResultStatus, std::string);
+    void ErrorThrown(Core::SystemResultStatus, std::string);
 
     void LoadProgress(VideoCore::LoadCallbackStage stage, std::size_t value, std::size_t total);
 };
diff --git a/src/yuzu/main.cpp b/src/yuzu/main.cpp
index 00e649fd2..a381eed34 100644
--- a/src/yuzu/main.cpp
+++ b/src/yuzu/main.cpp
@@ -406,7 +406,7 @@ void GMainWindow::RegisterMetaTypes() {
     qRegisterMetaType<Service::AM::Applets::WebExitReason>("Service::AM::Applets::WebExitReason");
 
     // Register loader types
-    qRegisterMetaType<Core::System::ResultStatus>("Core::System::ResultStatus");
+    qRegisterMetaType<Core::SystemResultStatus>("Core::SystemResultStatus");
 }
 
 void GMainWindow::ControllerSelectorReconfigureControllers(
@@ -1252,13 +1252,13 @@ bool GMainWindow::LoadROM(const QString& filename, u64 program_id, std::size_t p
         std::make_unique<QtWebBrowser>(*this),         // Web Browser
     });
 
-    const Core::System::ResultStatus result{
+    const Core::SystemResultStatus result{
         system.Load(*render_window, filename.toStdString(), program_id, program_index)};
 
     const auto drd_callout = (UISettings::values.callout_flags.GetValue() &
                               static_cast<u32>(CalloutFlag::DRDDeprecation)) == 0;
 
-    if (result == Core::System::ResultStatus::Success &&
+    if (result == Core::SystemResultStatus::Success &&
         system.GetAppLoader().GetFileType() == Loader::FileType::DeconstructedRomDirectory &&
         drd_callout) {
         UISettings::values.callout_flags = UISettings::values.callout_flags.GetValue() |
@@ -1273,14 +1273,14 @@ bool GMainWindow::LoadROM(const QString& filename, u64 program_id, std::size_t p
                "wiki</a>. This message will not be shown again."));
     }
 
-    if (result != Core::System::ResultStatus::Success) {
+    if (result != Core::SystemResultStatus::Success) {
         switch (result) {
-        case Core::System::ResultStatus::ErrorGetLoader:
+        case Core::SystemResultStatus::ErrorGetLoader:
             LOG_CRITICAL(Frontend, "Failed to obtain loader for {}!", filename.toStdString());
             QMessageBox::critical(this, tr("Error while loading ROM!"),
                                   tr("The ROM format is not supported."));
             break;
-        case Core::System::ResultStatus::ErrorVideoCore:
+        case Core::SystemResultStatus::ErrorVideoCore:
             QMessageBox::critical(
                 this, tr("An error occurred initializing the video core."),
                 tr("yuzu has encountered an error while running the video core, please see the "
@@ -1294,8 +1294,8 @@ bool GMainWindow::LoadROM(const QString& filename, u64 program_id, std::size_t p
             break;
 
         default:
-            if (result > Core::System::ResultStatus::ErrorLoader) {
-                const u16 loader_id = static_cast<u16>(Core::System::ResultStatus::ErrorLoader);
+            if (result > Core::SystemResultStatus::ErrorLoader) {
+                const u16 loader_id = static_cast<u16>(Core::SystemResultStatus::ErrorLoader);
                 const u16 error_id = static_cast<u16>(result) - loader_id;
                 const std::string error_code = fmt::format("({:04X}-{:04X})", loader_id, error_id);
                 LOG_CRITICAL(Frontend, "Failed to load ROM! {}", error_code);
@@ -3052,7 +3052,7 @@ void GMainWindow::OnMouseActivity() {
     }
 }
 
-void GMainWindow::OnCoreError(Core::System::ResultStatus result, std::string details) {
+void GMainWindow::OnCoreError(Core::SystemResultStatus result, std::string details) {
     QMessageBox::StandardButton answer;
     QString status_message;
     const QString common_message =
@@ -3067,7 +3067,7 @@ void GMainWindow::OnCoreError(Core::System::ResultStatus result, std::string det
            "back to the game list? Continuing emulation may result in crashes, corrupted save "
            "data, or other bugs.");
     switch (result) {
-    case Core::System::ResultStatus::ErrorSystemFiles: {
+    case Core::SystemResultStatus::ErrorSystemFiles: {
         QString message;
         if (details.empty()) {
             message =
@@ -3083,7 +3083,7 @@ void GMainWindow::OnCoreError(Core::System::ResultStatus result, std::string det
         break;
     }
 
-    case Core::System::ResultStatus::ErrorSharedFont: {
+    case Core::SystemResultStatus::ErrorSharedFont: {
         const QString message =
             tr("yuzu was unable to locate the Switch shared fonts. %1").arg(common_message);
         answer = QMessageBox::question(this, tr("Shared Fonts Not Found"), message,
diff --git a/src/yuzu/main.h b/src/yuzu/main.h
index f501cf400..b96ac8da3 100644
--- a/src/yuzu/main.h
+++ b/src/yuzu/main.h
@@ -280,7 +280,7 @@ private slots:
     void ResetWindowSize900();
     void ResetWindowSize1080();
     void OnCaptureScreenshot();
-    void OnCoreError(Core::System::ResultStatus, std::string);
+    void OnCoreError(Core::SystemResultStatus, std::string);
     void OnReinitializeKeys(ReinitializeKeyBehavior behavior);
     void OnLanguageChanged(const QString& locale);
     void OnMouseActivity();
diff --git a/src/yuzu_cmd/yuzu.cpp b/src/yuzu_cmd/yuzu.cpp
index 5c36a21a2..67587cc54 100644
--- a/src/yuzu_cmd/yuzu.cpp
+++ b/src/yuzu_cmd/yuzu.cpp
@@ -166,27 +166,27 @@ int main(int argc, char** argv) {
     system.SetFilesystem(std::make_shared<FileSys::RealVfsFilesystem>());
     system.GetFileSystemController().CreateFactories(*system.GetFilesystem());
 
-    const Core::System::ResultStatus load_result{system.Load(*emu_window, filepath)};
+    const Core::SystemResultStatus load_result{system.Load(*emu_window, filepath)};
 
     switch (load_result) {
-    case Core::System::ResultStatus::ErrorGetLoader:
+    case Core::SystemResultStatus::ErrorGetLoader:
         LOG_CRITICAL(Frontend, "Failed to obtain loader for {}!", filepath);
         return -1;
-    case Core::System::ResultStatus::ErrorLoader:
+    case Core::SystemResultStatus::ErrorLoader:
         LOG_CRITICAL(Frontend, "Failed to load ROM!");
         return -1;
-    case Core::System::ResultStatus::ErrorNotInitialized:
+    case Core::SystemResultStatus::ErrorNotInitialized:
         LOG_CRITICAL(Frontend, "CPUCore not initialized");
         return -1;
-    case Core::System::ResultStatus::ErrorVideoCore:
+    case Core::SystemResultStatus::ErrorVideoCore:
         LOG_CRITICAL(Frontend, "Failed to initialize VideoCore!");
         return -1;
-    case Core::System::ResultStatus::Success:
+    case Core::SystemResultStatus::Success:
         break; // Expected case
     default:
         if (static_cast<u32>(load_result) >
-            static_cast<u32>(Core::System::ResultStatus::ErrorLoader)) {
-            const u16 loader_id = static_cast<u16>(Core::System::ResultStatus::ErrorLoader);
+            static_cast<u32>(Core::SystemResultStatus::ErrorLoader)) {
+            const u16 loader_id = static_cast<u16>(Core::SystemResultStatus::ErrorLoader);
             const u16 error_id = static_cast<u16>(load_result) - loader_id;
             LOG_CRITICAL(Frontend,
                          "While attempting to load the ROM requested, an error occurred. Please "