From abaa0e4c965265060a89322a1fe3d87384690f82 Mon Sep 17 00:00:00 2001 From: Adrian <78108584+AdrianCassar@users.noreply.github.com> Date: Mon, 16 Feb 2026 14:49:29 +0000 Subject: [PATCH] [XBDM] Implemented DmGetConsoleType --- src/xenia/kernel/xbdm/xbdm_misc.cc | 15 +++++++++++++++ src/xenia/kernel/xbdm/xbdm_misc.h | 5 +++++ src/xenia/ui/windowed_app_main_win.cc | 2 +- 3 files changed, 21 insertions(+), 1 deletion(-) diff --git a/src/xenia/kernel/xbdm/xbdm_misc.cc b/src/xenia/kernel/xbdm/xbdm_misc.cc index f19db13f6..c52bee85a 100644 --- a/src/xenia/kernel/xbdm/xbdm_misc.cc +++ b/src/xenia/kernel/xbdm/xbdm_misc.cc @@ -22,6 +22,10 @@ DECLARE_bool(debug); DEFINE_bool(force_mount_devkit, false, "Force devkit mount", "Storage"); +DEFINE_int32(console_type, 0, + "Console Type Identifier: 0 - Development Kit, 1 - Test Kit", + "Kernel"); + namespace xe { namespace kernel { namespace xbdm { @@ -57,6 +61,17 @@ dword_result_t DmGetXboxName_entry(lpstring_t name_ptr, } DECLARE_XBDM_EXPORT1(DmGetXboxName, kDebug, kImplemented) +dword_result_t DmGetConsoleType_entry(lpdword_t console_type) { + if (!console_type) { + return X_E_INVALIDARG; + } + + *console_type = CONSOLE_TYPE::DEVELOPMENT_KIT; + + return XBDM_SUCCESSFUL; +} +DECLARE_XBDM_EXPORT1(DmGetConsoleType, kDebug, kImplemented); + dword_result_t DmIsDebuggerPresent_entry() { return static_cast(cvars::debug); } diff --git a/src/xenia/kernel/xbdm/xbdm_misc.h b/src/xenia/kernel/xbdm/xbdm_misc.h index 2abca5de7..f339e418a 100644 --- a/src/xenia/kernel/xbdm/xbdm_misc.h +++ b/src/xenia/kernel/xbdm/xbdm_misc.h @@ -38,6 +38,11 @@ static constexpr char DmXboxName[] = "Xbox360Name"; // clang-format on +enum CONSOLE_TYPE : uint32_t { + DEVELOPMENT_KIT, + TEST_KIT, +}; + enum CONSOLE_MEMORY_CONFIG_STATE : uint32_t { DM_CONSOLEMEMCONFIG_NOADDITIONALMEM, DM_CONSOLEMEMCONFIG_ADDITIONALMEMDISABLED, diff --git a/src/xenia/ui/windowed_app_main_win.cc b/src/xenia/ui/windowed_app_main_win.cc index faea655f3..8ba476ac3 100644 --- a/src/xenia/ui/windowed_app_main_win.cc +++ b/src/xenia/ui/windowed_app_main_win.cc @@ -191,7 +191,7 @@ static bool exception_pointers_handler(HostExceptionReport* report) { xe::kernel::kernel_state()->emulator()->title_version(); title_info = - fmt::format("{}({:08X}) - {}", title_name, title_id, title_version); + fmt::format("{} ({:08X}) - {}", title_name, title_id, title_version); } }