Adrian
3f74dfef10
[XAM] Improved gamertag validation
2026-03-14 23:47:45 +01:00
Gliniak
8ccf01d151
[UI] Update gamertag input field only on change
...
No need to validate gamertag every frame
2026-03-14 23:25:09 +01:00
Gliniak
d37c22aad0
[HID] Redesigned support for Portals
...
- Added hotplug support on Windows
- Added support for XamInputNonControllerGetRawEx & XamInputNonControllerSetRawEx
2026-03-14 23:01:38 +01:00
Gliniak
5f62db9289
[Kernel] Added kHighFrequency for RtlInitializeCriticalSectionAndSpinCount
2026-03-11 19:54:19 +01:00
Herman S.
b24ea8ef99
[CPU/XThread] Add DWARF .eh_frame unwind info for JIT code on Linux
...
Generate per-function CIE+FDE records and register them via
__register_frame so the C++ exception unwinder can propagate through
JIT frames. Replace setjmp/longjmp fiber reentry with throw/catch
on Linux to ensure destructors and RAII guards run during fiber
stack switches.
2026-03-11 00:02:34 +09:00
Herman S.
f45a254774
[Linux/Threading] Self-suspend with condition variable instead of spin
2026-03-11 00:02:26 +09:00
Herman S.
9f8961c185
[XThread] Fix TLS pointer bug
...
Guest code may directly read the tls_address field from thread
structure to access TLS, and it expects the dynamic TLS area pointer
2026-03-11 00:02:16 +09:00
Herman S.
22f21fada9
[XThread] Replace guest exception handling with setjmp/longjmp
2026-03-11 00:01:35 +09:00
Herman S.
4f1394bbaa
[Kernel/Threading] Fix some kernel threading issues
...
- broken atomic exchange on linux
- spinlock release memory buffer
- race in thread suspension
- removed misleading volatile qualifiers
2026-03-10 23:53:03 +09:00
Herman S.
3585b6e592
[Kernel] Replace BCrypt RSA with portable bignum implementation
...
Removes the Windows-only BCrypt dependency from XeCryptBnQwNeRsaPubCrypt
and replaces it with a portable modular exponentiation implementation
using 64-bit arithmetic, enabling RSA signature verification on all
platforms. Adds Catch2 tests validating the implementation with a
2048-bit RSA key.
2026-03-10 16:20:38 +09:00
Herman S.
50ef5c2691
[Kernel] Fix data race on XFile position
2026-03-09 16:14:22 +09:00
Herman S.
341d3b66a8
[Kernel] Thread safety fixes for xfile, xmutant, and xtimer objects
2026-03-09 14:15:14 +09:00
Herman S.
b0a387c6ea
[XboxKrnl] Don't crash the host on guest trap
2026-03-09 14:15:14 +09:00
Herman S.
6203d382e2
[Kernel] Clear object handles before release in ObjectTable::Reset
...
During bulk teardown, objects still had stale handle entries when
Release() triggered their destructors, hitting the handles_.empty()
assertion.
2026-03-09 14:15:14 +09:00
Herman S.
a00fd0eb12
[Kernel] Remove some log spam
2026-03-09 14:15:14 +09:00
Herman S.
5ac07f686d
[Xboxkrnl] Remove devkit memory access assert and replace with warning
2026-03-09 14:15:14 +09:00
Herman S.
92b07391df
[Linux/Threading] change self-suspend to wait to be resumed
2026-03-09 13:43:56 +09:00
Herman S.
137baa2b9f
[Kernel] Ensure file mutex is initialized
2026-03-09 13:43:56 +09:00
Herman S.
32b8c341ee
[Kernel] ReleaseSemaphore for Posix to match Windows semantics
2026-03-09 13:43:56 +09:00
Herman S.
bc3585d0ef
Keep threads from trying to suspend themselves on Linux
...
Avoids certain sporadic lockups (usually on startup)
2026-03-09 13:43:56 +09:00
Herman S.
02fccd9113
[Kernel/XMP] Add title-specific file I/O hooks for XMP volume sync
...
Some games persist BGM volume through their own save files but never
call XMPSetVolume. Add a TitlePatch system that intercepts NtReadFile/
NtWriteFile to apply game-specific logic as well as logic to identify
the memory location that the volume data is read into and monitor that
memory location for changes, updating XMP player volume if it changes
during gameplay.
Includes patches for known games with this issue:
Dead or Alive Xtreme 2 (544307D2), PGR4 (4D5307F9) and PGR3 (4D5307D1)
2026-03-09 08:59:15 +09:00
Herman S.
eb914ae77d
[Kernel] Return null on handle type mismatch instead of asserting
2026-03-09 00:07:45 +09:00
Gliniak
b5a7767aae
[XAM] Added some missing user settings.
...
Names put according to findings in: 54510896
2026-03-07 23:39:39 +01:00
AllanCat
e8263d3672
[XboxKrnl/Audio] Corrected XMASetLoopData's pointer type.
...
Fixed an issue where bgm was not looping for games that uses looping feature.
2026-03-07 11:02:23 +09:00
Herman S.
71c5702ee8
[Build] Convert build system to raw cmake and remove premake layer
2026-03-04 17:37:36 +09:00
Adrian
a7f1a3f18a
[XAM] Added profile and create content enumerator wrappers
2026-03-03 22:31:42 +01:00
Adrian
54be3c57a0
[XAM] Validate buffer_size limit in XamEnumerate
2026-03-03 22:31:42 +01:00
Adrian
d4b295a578
[XAM] Fixed memcpy in XamProfileFindAccount
2026-02-28 22:45:32 +01:00
The-Little-Wolf
dd585ca0c8
[XboxKrnl/Crypt] - Implement XeCrypt & XeKeys Functions ( #566 )
...
- Implement XeKeysGetConsoleID, XeKeysGetKeyProperties, XeCryptDesEcb, and XeCryptDesKey.
- Stub XeCryptBnQwBeSigVerify, XeCryptRotSumSha, XeKeysGetKey, and XeKeysConsolePrivateKeySign.
2026-02-23 17:33:19 +09:00
Gliniak
b2b1307822
[XAM] Improvements to XamUserCheckPrivilege
...
- Handle case when XamUserCheckPrivilege receives ANY USER
- Handle case when User is not live signed. This function returns NOT_LOGGED_IN for local accounts
2026-02-19 23:13:09 +01:00
Gliniak
9bfaff5040
[XAM] Fixed issue with XamContentCreate reassigning already assigned symlinks
2026-02-19 21:02:45 +01:00
Adrian
abaa0e4c96
[XBDM] Implemented DmGetConsoleType
2026-02-16 21:33:13 +01:00
Herman S.
f9d4dbc8e9
[Build] Use clang 20 for clang format consistently across Win/Lin
2026-02-15 01:25:43 +09:00
Herman S.
09a15fbedc
[Testing] Get tests running (dirty hack for linux)
2026-02-13 13:32:39 +09:00
Gliniak
8f5da619f9
[Kernel] Replaced Yield in XAudioGetVoiceCategoryVolumeChangeMask with NanoSleep
...
- Removed Yield in XamUserGetSigninState
2026-02-08 23:01:44 +01:00
Adrian
ef65c6761b
[XAM] Cleanup user settings header to reduce including issues
2026-02-07 22:29:29 +01:00
Gliniak
4dd0842087
[Kernel] Fixed incorrect amount of propagated notifications on boot
...
- Created dedicated method: IsUIActive
2026-01-31 19:24:10 +01:00
Gliniak
7e1506ff23
[Kernel] XThread: Added mutex to set_name.
...
There is a small chance that game will spam requests for thread name change which will cause invalid free
2026-01-31 18:32:52 +01:00
The-Little-Wolf
78d700af41
[XAM/USER] - Add missing broadcast to XamUserWriteProfileSettings
...
- Add missing broadcast to XamUserWriteProfileSettings
2026-01-30 19:06:47 +01:00
The-Little-Wolf
a8fe4666ad
[XEX] - log outputs
...
- Finish XEX_HEADER_XBOX360_LOGO, XEX_HEADER_FILE_FORMAT_INFO, XEX_HEADER_DELTA_PATCH_DESCRIPTOR, XEX_HEADER_SYSTEM_FLAGS_32, XEX_HEADER_ENABLED_FOR_CALLCAP, and XEX_HEADER_GAME_RATINGS
- Add missing xex2_header_keys
- Add flag name outputs
- Removed magic number
- Added X_FILE_CHARACTERISTICS to X_FILE_FS_DEVICE_INFORMATION
2026-01-30 18:45:04 +01:00
The-Little-Wolf
38ccc71afa
[XboxKrnl/Threading] - implement KeInitializeTimerEx
...
- Taken from Crispy's Nukernel build
2026-01-29 23:05:23 +01:00
Gliniak
603355ae5b
[XAM] Fixed enumeration of achievements once again
2026-01-29 21:55:30 +01:00
Gliniak
2ba82072fc
[Kernel] Added stub for: NtCancelIoFile
2026-01-29 20:41:01 +01:00
Gliniak
67d80958c9
[XThread] Remove 10ms delay in thread start
2026-01-25 19:41:57 +01:00
Adrian
263e91b014
[XAM] Fixed XamUserCreateAchievementEnumerator starting index usage
...
Fixed Vancouver 2010 spamming XamUserCreateAchievementEnumerator
2026-01-20 08:30:25 +01:00
Gliniak
81656a9729
[XAM] Fixed issue with error code being returned for local session
2026-01-10 18:26:45 +01:00
Gliniak
dce4d38c0a
[XAM] Fixed crash related to incorrect buffer size in UserPlaylist enum
...
- Replaced unk_ptr in XMP_CREATE_USER_PLAYLIST_ENUMERATOR
- Simplified logic in achievements StringBuffer
2026-01-09 09:06:14 +01:00
Adrian
4b73839bf1
[XAM] Added std::optional to SPA getters
2026-01-06 18:22:35 +01:00
The-Little-Wolf
2e61df76f0
[XAM/USER] - Implement XamUserIsParentalControlled
...
- Implement XamUserIsParentalControlled which is used in 584807F7
- Move some structs into xam.h
2026-01-05 20:30:37 +01:00
NicknineTheEagle
ccd5c50c74
[XAM] Count empty path as exit request in XamLoaderGetLaunchData
2026-01-05 20:04:59 +01:00