[XAM] Enable storing IPTV name.

Still needs to be exposed in UI (optional)
This commit is contained in:
Gliniak
2026-05-19 23:31:53 +02:00
parent 072ef7eff7
commit a11908fa76
4 changed files with 26 additions and 1 deletions

View File

@@ -31,6 +31,7 @@ XamState::XamState(Emulator* emulator, KernelState* kernel_state)
achievement_manager_ = std::make_unique<AchievementManager>();
LoadLanguageLocaleFallback();
LoadIptvServiceName();
AppManager::RegisterApps(kernel_state, app_manager_.get());
}
@@ -60,6 +61,17 @@ void XamState::LoadLanguageLocaleFallback() {
}
}
void XamState::LoadIptvServiceName() {
constexpr uint32_t address = 0x80D10000;
if (kernel_state_->memory()
->LookupHeap(0x80000000)
->AllocFixed(address, 0x78, 0x1000, kMemoryAllocationCommit,
kMemoryProtectRead | kMemoryProtectWrite)) {
iptv_name_address_ = address;
}
}
UserProfile* XamState::GetUserProfile(uint32_t user_index) const {
if (user_index >= XUserMaxUserCount && user_index < XUserIndexLatest) {
return nullptr;

View File

@@ -66,6 +66,8 @@ class XamState {
return language_fallback_address_[index];
}
uint32_t GetIptvNameAddress() const { return iptv_name_address_; }
X_DASH_APP_INFO dash_app_info_ = {};
uint32_t dash_backstack_nodes_count_ = 0;
X_DASH_BACKSTACK_DATA dash_backstack_data_[2] = {};
@@ -76,6 +78,7 @@ class XamState {
private:
void LoadLanguageLocaleFallback();
void LoadIptvServiceName();
KernelState* kernel_state_;
@@ -89,6 +92,7 @@ class XamState {
// Custom XAM stuff
std::array<uint32_t, 0x12> language_fallback_address_{};
uint32_t iptv_name_address_{};
};
} // namespace xam