From 0c6dc9b628e399484129d94e69ecfb3d619346cf Mon Sep 17 00:00:00 2001 From: Adrian <78108584+AdrianCassar@users.noreply.github.com> Date: Tue, 21 Jul 2026 17:27:19 +0100 Subject: [PATCH] [Kernel] Initial XMP Notifications --- src/xenia/kernel/kernel_state.cc | 7 +++++++ src/xenia/kernel/kernel_state.h | 1 + 2 files changed, 8 insertions(+) diff --git a/src/xenia/kernel/kernel_state.cc b/src/xenia/kernel/kernel_state.cc index 991d8a4d9..dfe7c4726 100644 --- a/src/xenia/kernel/kernel_state.cc +++ b/src/xenia/kernel/kernel_state.cc @@ -1034,6 +1034,13 @@ void KernelState::RegisterNotifyListener(XNotifyListener* listener) { 0x001510F1L); listener->EnqueueNotification(kXNotificationLiveLinkStateChanged, 0); } + + if (!has_notified_xmp_startup_ && listener->mask() & kXNotifyXmp) { + has_notified_xmp_startup_ = true; + listener->EnqueueNotification(kXNotificationXmpStateChanged, 0); + listener->EnqueueNotification(kXNotificationXmpPlaybackControllerChanged, + 1); + } } void KernelState::UnregisterNotifyListener(XNotifyListener* listener) { diff --git a/src/xenia/kernel/kernel_state.h b/src/xenia/kernel/kernel_state.h index 32da7ddbe..15ff439e7 100644 --- a/src/xenia/kernel/kernel_state.h +++ b/src/xenia/kernel/kernel_state.h @@ -366,6 +366,7 @@ class KernelState { std::vector> notify_listeners_; bool has_notified_startup_ = false; bool has_notified_live_startup_ = false; + bool has_notified_xmp_startup_ = false; object_ref executable_module_; std::vector> kernel_modules_;