From 7a5cb96c2eb39b1e1655b7734a17582da8edf37d Mon Sep 17 00:00:00 2001 From: The-Little-Wolf <116989599+The-Little-Wolf@users.noreply.github.com> Date: Sat, 11 Apr 2026 13:12:36 -0700 Subject: [PATCH] [XAM/INFO] - IPTV Initialization Setting - Allow for initializing IPTV - Stub XamGetDvrStorage - Stub XamSetDvrStorage --- src/xenia/kernel/xam/xam_info.cc | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/src/xenia/kernel/xam/xam_info.cc b/src/xenia/kernel/xam/xam_info.cc index ba82f6b91..e4cb094e8 100644 --- a/src/xenia/kernel/xam/xam_info.cc +++ b/src/xenia/kernel/xam/xam_info.cc @@ -773,6 +773,37 @@ dword_result_t XamIsIptvEnabled_entry() { } DECLARE_XAM_EXPORT1(XamIsIptvEnabled, kNone, kImplemented); +dword_result_t XamIptvGetServiceName_entry(lpdword_t service_name_ptr) { + auto address = kernel_state()->xam_state()->GetIptvNameAddress(); + auto buffer = kernel_state()->memory()->TranslateVirtual(address); + char16_t* data_ptr = reinterpret_cast(buffer); + kernel_state()->xconfig()->ReadSetting( + X_CONFIG_CATEGORY::XCONFIG_IPTV_CATEGORY, + XCONFIG_IPTV_SERVICE_PROVIDER_NAME, data_ptr); + if (*data_ptr == u'\0') { + xe::string_util::copy_and_swap_truncating(data_ptr, u"Xenia TV", 9); + } + *service_name_ptr = address; + + return X_ERROR_SUCCESS; +} +DECLARE_XAM_EXPORT1(XamIptvGetServiceName, kNone, kImplemented); + +dword_result_t XamGetDvrStorage_entry(lpdword_t dvr_storage, + lpdword_t used_dvr_storage, + lpdword_t hdd_unused_space) { + *dvr_storage = 0; + *used_dvr_storage = 0; + return X_ERROR_SUCCESS; +} +DECLARE_XAM_EXPORT1(XamGetDvrStorage, kNone, kStub); + +dword_result_t XamSetDvrStorage_entry( + dword_t dvr_storage_size, pointer_t overlapped_ptr) { + return X_ERROR_SUCCESS; +} +DECLARE_XAM_EXPORT1(XamSetDvrStorage, kNone, kStub); + dword_result_t XamLookupCommonStringByIndex_entry(dword_t string_index) { return 0; }