MechaCat02
7b6902e08f
[WIP] Audio/threading fixes + crash investigation; NEW ORACLE: crash is ours not the game
...
Orchestrator / Commit Message Validation (push) Has been skipped
Orchestrator / Lint (push) Failing after 1m34s
Orchestrator / Windows (x86-64) (push) Has been skipped
Orchestrator / Linux (x86-64) (push) Has been skipped
Orchestrator / Create Release (push) Has been skipped
Snapshot for handoff. Contains the mission-audio + threading fixes and the
crash-investigation instrumentation (all diagnostic cvars default-OFF).
Fixes (behavioral):
- threading_posix.cc: reap-once guard on PosixCondition<Thread>::post_execution
(double pthread_join at mission teardown -> fault loop -> audio death + freeze).
- xma_decoder.cc: work_event_->Set() in Pause() so the idle XMA worker observes
paused_ and signals pause_fence_ (Pause() deadlock -> permanent audio death).
- audio_system / xma_context_master / xboxkrnl_audio / apu_flags / alsa: mission
audio keepalive + guest_audio_flags + watchdogs.
Instrumentation (additive, default-off): xboxkrnl_debug cache-throw diag +
guest-catch dispatcher, xex_module PE/PDATA/EH scans, kernel_state mem_watch
(NOTE: mem_watch DEFAULTS TRUE -- an always-on host poll thread; prime crash suspect).
NEW ORACLE (see HANDOFF-crash-oracle-2026-07-16.md): stock 6e5b8324f built with
our toolchain + zero custom code = NO crash, NO sound-stop, plays the Ready Room.
=> the Ready-Room out_of_range crash is introduced by THESE changes, not the game
and not the (LTO-broken) build chain. Bisection plan + suspect ranking in the note.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-07-16 22:43:50 +02:00
Gliniak
99fd19d025
[XAM] Limit XContentQueryVolumeDeviceType to XContent packages
...
Orchestrator / Commit Message Validation (push) Has been skipped
Orchestrator / Lint (push) Successful in 1m23s
Orchestrator / Windows (x86-64) (push) Failing after 5m18s
Orchestrator / Linux (x86-64) (push) Failing after 22m34s
Orchestrator / Create Release (push) Has been skipped
- Changed mount path for XContent packages from Cdrom to Package_0
Normally it should generate specific value instead of 0, but for now 0 is enough
2026-06-05 16:13:31 +02:00
Gliniak
99ea6da18a
[XConfig] Implementation of XConfig
2026-05-19 07:50:16 +02:00
Adrian
2072d9bdf1
[APP] Limit logging SPA properties
...
Fixed Cracdown logging large tabulate table causing garbage text in the log.
2026-05-08 20:02:20 +02:00
Gliniak
74f34818e7
[Lint] Added InsertBraces to linter to unify codebase to one standard
2026-05-08 18:54:50 +02:00
Michael Oliver
6de80dffe2
[Emulator] Load title plugins before main thread execution begins
...
This keeps the title thread suspended until plugins are loaded, allowing early init and hook setup before guest code starts running.
2026-04-29 20:20:08 +02:00
Herman S.
2590f03bc1
[Emulator] Delegate to UI thread instead of assert
2026-04-13 12:20:22 +09:00
Herman S.
883c2030d0
[ARM64] Initial commit for arm64 backend
...
Based entirely off existing xbyak x86 implementation and available
tests. Still needs a lot of optimization and testing on non-Windows
platforms.
So far passes all tests and boots at least some games on Windows.
2026-03-22 15:57:37 +09:00
Herman S.
dac9883473
[Emulator] Add access violation details to crash dump messages
2026-03-10 23:55:50 +09:00
Herman S.
64e51c544e
[GPU] Add vulkan shader disk storage / startup loading
...
Big refactor of the shader storage to allow both backends to share code
2026-03-10 00:49:56 +09:00
Gliniak
9bfaff5040
[XAM] Fixed issue with XamContentCreate reassigning already assigned symlinks
2026-02-19 21:02:45 +01:00
Gliniak
016797d19c
[Emulator] Return error when device initialization fails
...
This should prevent "Install Content" option to freeze in specific scenarios
2025-12-01 18:38:18 +01:00
Adrian
6783bea223
[XAM] Implemented SPA XMAT
2025-11-23 19:17:39 +01:00
Adrian
d915dd808d
[XAM] Implemented SPA XRPT
2025-11-22 21:19:49 +01:00
Adrian
243178a310
[XAM] Implemented SPA Stats Views
2025-11-18 21:27:45 +01:00
Adrian
6a8193d360
[XAM] Added achievement types to log table
2025-10-30 17:58:21 +01:00
Gliniak
dc151eb439
[Emulator] Fixed media and font loading on linux.
...
Caused by treating guest path as host path
2025-10-27 14:17:01 +01:00
Gliniak
9054a29483
[UI] Add simple support for controller usage in UI
...
- Disabled unnecessary hotkeys thread when it is not used
- Removed problematic xam_exports static initialization
- Moved xam_dialogs_shown_ and xam_nui_dialogs_shown_ to XamState
2025-10-10 21:22:16 +02:00
Adrian
e66028f0ff
[Kernel] Check XAM is attached using bounding path
2025-08-18 07:41:50 +02:00
Gliniak
ada971aefc
[Emulator] Resume should resume threads that are paused, not running
2025-08-03 20:40:30 +02:00
Margen67
4cb783bf22
Header cleanup
2025-07-19 14:42:21 -07:00
Gliniak
270e88a7a7
[Emulator] Removed marking extracted games as booted from disc
2025-05-27 22:26:34 +02:00
seven7000
de10b9ef91
[Kernel] Updated XAM loader to add '$flash_xam.xex'
2025-05-22 07:42:00 +02:00
Gliniak
f4b854e484
[Kernel] Added option to load provided XAM for resource usage
...
- Added XEX1 key
- Removed annoying assertion from xeXamEnumerate
- Added returning hmodule_ptr for resource locator
2025-05-20 23:14:22 +02:00
Gliniak
d211130c6c
[Kernel] Fixed incorrect behaviour of IsSystemTitle util
...
- Added missing symlinks
2025-05-17 22:28:22 +02:00
Adrian
6b055f1f74
[XAM] Assert struct sizes and misc struct adjustments
2025-05-05 19:26:34 +02:00
The-Little-Wolf
be44b9ba33
[XAM/INFO] - Implement multiple functions
...
- Implement XamIsSystemExperienceTitleId, XamIsSystemTitleId, XamIsXbox1TitleId
- Replaced is_title_system_type
- Changed XamIsCurrentTitleDash
- Reduced magic numbers
2025-04-25 11:06:06 +02:00
Gliniak
8197881803
[UI] Added detailed installation state to "Install Content" option
2025-04-19 21:13:46 +02:00
Gliniak
5ba6c2b840
[VFS] Improved initial loading time during "Install Content"
2025-04-19 16:54:25 +02:00
Gliniak
56703e52e2
[UI] Redesigned "Install Content" window
...
- Added ID for each ImGui window
- Added filesystem::CreateFolder function
2025-04-18 21:55:58 +02:00
Adrian
bde7d5579a
[Kernel] Fixed xex2_version
2025-04-15 20:37:20 +02:00
Xphalnos
5f918ef28d
[Misc] Replaced const with constexpr where possible
2025-03-25 19:50:37 +01:00
Gliniak
5af7e1540b
[Emulator] Added extended logging on initialization
2025-03-08 19:20:08 +01:00
Gliniak
1110cdd372
[Kernel] Added support for writing/reading GPD files
...
This breaks settings in games that are using them and savefiles in games that use settings to store progress
2025-03-07 11:59:48 +01:00
Michael Oliver
9555e7bde4
[Patcher] Ensure hash is checked when loading title plugins
...
Fixes bug where plugin loader would load all defined plugins if at least one was valid
2025-02-26 15:25:26 +01:00
Adrian
ae23222ba8
[Emulator] Validate module is an executable before launching
2025-01-17 08:04:49 +01:00
Gliniak
ccf4d6d5f8
[Emulator] Added logging file extension and magic value
2025-01-10 21:19:58 +01:00
Gliniak
7437c020d6
[Misc] Fixed some issues during compilation process on Linux
2025-01-07 22:54:16 +01:00
The-Little-Wolf
95df198d8a
[Xbox] kXNotification Additions
...
- Discovered new unknown kXNotificationID use by XNotifyBroadcast together and wanted to record them before I forget them.
- Changed kXNotificationID to kXNotification
- Added kXNotificationSystemPXLiveSystemUpdate
2025-01-02 18:19:21 +01:00
Gliniak
c3586bc165
[C++] Uplift version to C++20
2024-12-26 23:42:31 +01:00
Gliniak
2fc36721b4
[Kernel] Removed useless GameInfoWrapper class
...
It was added back in 2016 and never really used.
I tested few games and never saw GameInfo.bin in XNA games or any other game
2024-12-14 20:51:16 +01:00
Gliniak
a295ec1bbd
[Base] Removed useless path_to_utf8 conversion while using fmt
...
Default filesystem::path formatter was added to fmt around 2022
2024-12-13 19:04:31 +01:00
Gliniak
e93373660f
[Kernel] AchievementManager: Added Interface for attaching custom implementations
2024-12-10 22:21:24 +01:00
Gliniak
c7c5aed948
[UI] Install Content: Install savefiles to profile signed to first slot.
...
This will prevent installation of savefiles to non-existing profiles
2024-12-09 19:52:21 +01:00
Gliniak
b471423c1a
[XMP] Added dedicated AudioMediaPlayer class
2024-11-02 16:47:52 +01:00
Xphalnos
cf0ee05da6
[MISC] Allow user to override process priority class
2024-11-01 14:23:55 +01:00
Margen67
731c6057de
Canaryize
...
Co-Authored-By: illusion0001 <37698908+illusion0001@users.noreply.github.com >
2024-10-13 15:11:47 -07:00
Gliniak
9bdd07590c
[XAM] Implementation of: Profile Manager & Profiles Support
...
Thanks Emoose for Account Encrypt/Decrypt code!
2024-10-05 10:03:35 +02:00
NicknineTheEagle
a3bd34122b
[Emulator] Send XNotification after installing content package
2024-10-01 19:35:18 +02:00
Gliniak
86bd62125d
[Kernel] Implemented Game Info Database
...
This aggregates XDBF and XLAST into one entity.
Replaced UserData::Key into more versatile AttributeKey for future usage in properties
2024-09-20 19:29:37 +02:00