Commit Graph

90 Commits

Author SHA1 Message Date
NicknineTheEagle
c6298dd0e3 [XAM] Implemented game exit behavior in XamLoaderTerminateTitle 2026-07-16 11:48:30 +02:00
The-Little-Wolf
51322122a5 [Xam/Info] - Implement XamFeatureEnabled
- Implement XamFeatureEnabled
2026-07-15 19:55:04 +02:00
The-Little-Wolf
a421f8da52 [Xam/Info] - Implement XGetOverlappedExtendedError
- Implement XGetOverlappedExtendedError
2026-06-29 09:16:56 +02:00
Gliniak
2771366b8b [XAM] Simplified loader_data structure.
- Removed launch_data_present replaced with empty check

Fixed regression introduced in 269ee61845
2026-06-23 20:58:28 +02:00
Adrian
e7d0e45095 [XAM] Fixed returning error in XamLoaderGetLaunchDataSize 2026-06-19 20:01:08 +02:00
Adrian
269ee61845 [XAM] Fixed returning error in XamLoaderGetLaunchData
Fixed Assassin's Creed switching xex on boot.
2026-06-18 13:25:18 +02:00
The-Little-Wolf
7a5cb96c2e [XAM/INFO] - IPTV Initialization Setting
- Allow for initializing IPTV
- Stub XamGetDvrStorage
- Stub XamSetDvrStorage
2026-05-26 19:36:34 +02:00
Gliniak
99ea6da18a [XConfig] Implementation of XConfig 2026-05-19 07:50:16 +02:00
Adrian
a261b83def [APP] Flush log & save config on quick exit 2026-05-17 12:05:20 +02:00
Gliniak
4c396fe611 [XAM] Implemented XamGetLanguageLocaleFallbackString and XamGetLanguageTypeface
- Added stub XamGetLanguageTypefacePatch
- Moved locale related calls to xam_locale from xam_info
2026-05-17 10:49:08 +02:00
Adrian
68d409ebba [Kernel] Fixed releasing XObject handles on title termination 2026-04-21 22:42:12 +02:00
The-Little-Wolf
c4f4412df9 [Xam/Info] - Implement GetSystemTimeAsFileTime & QueryPerformanceFrequency
- Implement QueryPerformanceFrequency, GetSystemTimeAsFileTime
- Used in Aurora and dash launch
2026-03-24 22:36:53 +01:00
NicknineTheEagle
ccd5c50c74 [XAM] Count empty path as exit request in XamLoaderGetLaunchData 2026-01-05 20:04:59 +01:00
The-Little-Wolf
2de1b0b2dd [XAM/INFO] - Implement XamGetDashBackstackData
- Implement XamGetDashBackstackData
2025-10-14 13:00:44 +02:00
Gliniak
4182852a4b [Base] Split of xbox.h file
- Splitted into: kernel.h and xam.h
- Removed UpdateSpaData from KernelState into ContentManager
2025-07-26 21:25:32 +02:00
Adrian
f66ab091c1 [XAM] Implemented XamGetCachedTitleName 2025-07-24 20:45:00 +02:00
The-Little-Wolf
6314388c51 [XAM] - Replacing Unk
- Replacing unk parameters
- Naming unk xmp calls
- Added missing xmp structs
- Added missing messenger structs
- Added missing XamProfileCreate related structs
2025-07-19 20:37:23 +02:00
The-Little-Wolf
20d3ac4ca9 [XAM/USER] - Implement Multiple Functions
- Implement XamUserGetCachedUserFlags, XamIsChildAccountSignedIn, XamUserGetOnlineLanguageFromXUID and XamUserGetOnlineCountryFromXUID
- add IsParentalControlled()
2025-06-22 18:15:41 +02:00
Gliniak
b864149575 [Misc] Cleanup in Kernel 2025-05-31 12:00:47 +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
b43cb2ed8e [XAM] Added stub for: XamDoesOmniNeedConfiguration
- XamFirstRunExperienceShouldRun
2025-05-18 23:14:47 +02:00
Gliniak
f6d9e76fca [XAM] Fixed assertion related to incorrect casting
This should fix crash in 12xxx dashboard while browsing achievements

- Fixed issue with invalid time being presented for some achievements
- Added stub for: XampWebInstrumentationSetProfileCounts
2025-05-07 20:05:29 +02:00
The-Little-Wolf
8cf15a8d54 [XAM/INFO] - Implement XamSetActiveDashAppInfo and XamGetActiveDashAppInfo
- Implement XamGetActiveDashAppInfo and XamSetActiveDashAppInfo
2025-05-05 12:12:20 +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
The-Little-Wolf
4b24f128f6 [XBOXKRNL & XAM] - Video, Hal, And XConfig
- Properly implement HalGetCurrentAVPack, and XGetAudioFlags.
- Return proper flags for AV Component, AV Composite, and VGA from xconfig.
- Set to HD to proper value.
- Correct wrong widescreen flag.
2025-04-01 07:59:22 +02:00
Xphalnos
5f918ef28d [Misc] Replaced const with constexpr where possible 2025-03-25 19:50:37 +01:00
The-Little-Wolf
de79cb3db4 [Xboxkrnl/XConfig] add user audio config
- Allows for user to set their audio type in the config
- Record audio flags and how they function
2025-01-18 14:55:20 +01:00
Gliniak
09be7e874a [All] Fixed multiple issues during build on Linux
- Added some fixes introduced by RodoMa92 in PR198

- Lack of AVX2 extension (should be done differently in the future)
- Disable deprecated-volatile warning
- Added missing override in posix EventInfo, ImGui notification class and XContent class
- Removed not used XAudio2.h include in XMP
- Fixed missing switch-case in XObject
- Added fugly template in native_list.h
- Fixed multiple smaller issues
2025-01-10 21:41:45 +01:00
Gliniak
2253cb978d [XAM] Added stub for: Refresh 2025-01-10 13:34:10 +01:00
Gliniak
b50e32ab45 [XAM] Removed Windows specific code from xam_info.cc 2025-01-09 19:43:15 +01:00
Gliniak
3318ab5d4c [3PP] Uplifted FMT version and adjusted messages 2024-12-12 20:28:11 +01:00
The-Little-Wolf
6a380bcd91 [Xam/Info] - Fix XamGetLanguage & XGetLanguage Implementation
XamGetLanguage:
 - Language values that are returned must match Xlanguage values
XGetLanguage:
 - Return values above 9 will default to japanese, korean, or english depending on game region
2024-12-03 15:13:32 +01:00
Adrian
d516e8091c [XAM] XamGetStagingMode Stub 2024-11-25 22:17:20 +01:00
Adrian
a4156abed7 [XAM] XamGetLanguage Stub 2024-11-24 10:53:15 +01:00
Gliniak
b9061e6292 [LINT] Linted files + Added lint job to CI 2024-03-12 19:19:30 +01:00
Mateusz Dukat
08c740c788 Add information about available avpack video modes in config commentary
Add information about available avpack video modes in config commentary. Information based on xenia-canary wiki page. Formatted just like in `license_mask`.
2024-03-11 19:36:20 +01:00
Gliniak
6f287a9597 [Emulator] Improvements to launch_data
Added support for autoload titles on boot with:
- Specific launch data
- Specific xex
- Restarting into packages: XamContentLaunchImageFromFileInternal
2024-02-11 13:11:39 +01:00
Gliniak
6284bfc21c [Emulator] Allow saving launch_data and use them on next boot 2023-11-16 19:25:48 +01:00
disjtqz
d0a6cec024 total apc rework 2023-10-11 17:43:59 +02:00
Gliniak
ce9a82ccf8 Merge branch 'master' of https://github.com/xenia-project/xenia into canary_experimental 2023-09-01 18:20:29 +02:00
chris
afef35c1c0 Implement RtlRandom (which despite its name is located in Xam, not xboxkrnl, which is why its not in xboxkrnl_rtl)
Stub XamVoiceSubmitPacket
Stubs for __CAP_Start_Profiling/End_Profiling/Enter_Function/Exit_Function
add a note about io_status_block in NtDeviceIoControlFile, change the param's type
move the X_IOCTL_ constants from NtDeviceIoControlFile's body into xbox.h
add X_STATUS_INVALID_IMAGE_FORMAT to xbox.h
Implement XexLoadImageHeaders
Much more correct version of IoCreateDevice, properly initializes/allocates device extension data
Stub version of IoDeleteDevice
Open the quickstart guide in the browser the first time a user opens the emulator
Add some persistent flags that are stored in the registry on windows, not in the config. These are just used to indicate whether one-time tasks have run, like showing the quickstart guide. On non-windows platforms a default value is returned that skips any of these tasks so they don't run every single time.

If the user opens a .iso file, show a warning telling them that we do not condone or support piracy. If the user closes the messagebox within two seconds set a sticky flag that will show them the warning every time instead. Otherwise the warning is never shown again. The Beep function is used to spook them a bit, to hopefully make them less likely to skip the message
If a user opens an archive file, which we do not support, explain to them that they're dumb.

Removed messages intended to "catch" pirates.  If they're out there, we don't want to know about them. A huge chunk of the discourse on our discord is now about piracy. Hopefully these changes will deter them from coming to us for now, but some of these messages may backfire
2023-07-23 14:26:10 -04:00
Adrian
6a23f1457b [XAM] Plugin Functions 2023-06-15 21:16:31 +02:00
Adrian
4a3b04d4ee [XAM] Implemented XamGetCurrentTitleId 2023-06-09 19:43:15 -05:00
chss95cs@gmail.com
dcb98683cf Replace most magic numbers from previous commit with named constants, if the constants names are known.
Instead of low 32 bits of ptr, use hash of file path for sector information.
2023-05-01 09:32:33 -04:00
chss95cs@gmail.com
b270c59d0c Check for null string passed to Win32Thread::set_name
Move impl of XamAlloc into XamAllocImpl
Implement XamAllocEx
Implement XamIsCurrentTitleDash
Implement XamGetLocaleDateFormat
Implement "stub" of XFileFsDeviceInformation, XFileSectorInformation (log warnings when they're executed so this doesnt get mistaken for an actual implementation)
Added xboxkrnl_memory file
Moved meat of MmAllocatePhysicalMemoryEx into xeMmAllocatePhysicalMemoryEx, exposed its definition via xboxkrnl_memory.

Moved impl of RtlImageHeaderNt into a helper function
Implement RtlImageDirectoryEntryToData
Implement KeSuspendThread
Check for bad handles passed in XOVERLAPPED, fixes crash in 415608D8
2023-04-30 13:22:49 -04:00
Adrian
069d33c03f [XAM] Implemented Functions
Implemented:
- RtlSleep
- SleepEx
- Sleep
- GetTickCount
- GetModuleHandleA
- XamGetCurrentTitleId
2023-03-06 08:31:40 +01:00
Bo Anderson
422ee1fbdc kernal/xam/xam_info: base game region on user_country
It is debatable whether this is correct in the general case.

There's nothing really wrong with 0xFFFF logically.
Burnout Paradise however bases its in-game language on this and does not recognise 0xFFFF.
The game uses Japanese in the default case.

I've avoided the "rest of Asia" code since Burnout Paradise seems to use a different value (0x01F8) for that than what I expected (0x01FC).
2022-12-17 13:34:49 -05:00
chss95cs@gmail.com
c1d922eebf Minor decoder optimizations, kernel fixes, cpu backend fixes 2022-11-05 10:50:33 -07:00
Gliniak
6c6c5ac14b Merge remote-tracking branch 'GliniakRepo/experimentals' into canary_experimental 2022-05-19 10:51:44 +02:00
illusion0001
f9fd3e5fec AVPack cvar 2022-05-19 09:39:56 +02:00