Commit Graph

377 Commits

Author SHA1 Message Date
Adrian
2941b672d6 [Kernel] Implemented NtFreeEncryptedMemory 2025-04-23 07:56:28 +02:00
The-Little-Wolf
0771938db6 [Kernel] - Implemented SystemManagementController Class
- Added handling (partial or dummy) for SMC actions:
 - QUERY_TEMP_SENSOR, QUERY_TRAY, QUERY_AV_PACK, QUERY_SMC_VERSION, QUERY_IR_ADDRESS, QUERY_TILT_SENSOR
 - SET_FAN_SPEED_CPU, SET_FAN_SPEED_GPU, SET_DVD_TRAY, SET_IR_ADDRESS, SET_POWER_LED, SET_LEDS

- Stub HalOpenCloseODDTray, XamLoaderGetMediaInfo, XamLoaderGetMediaInfoEx
- Partially Implement HalSendSMCMessage
- Implement XamLoaderGetDvdTrayState
- HalOpenCloseODDTray is used by dash and HalSendSMCMessage can be used by custom dashboards
2025-04-06 17:30:56 +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
180be3664e [Xboxkrnl/Xconfig] - add xboxkrnl_xconfig.h
- Add xboxkrnl_xconfig.h to hold known Xconfig flags
- Implement more xeExGetXConfigSetting cases
2025-02-07 08:29:13 +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
1688ea5d69 [Kernel] Replaced TranslateAnsiString with TranslateAnsiPath for file paths.
This removes paths that starts or ends with whitespace characters
2025-01-14 22:45:43 +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
The-Little-Wolf
57eeed86b7 [XboxKrnl/xconfig.cc] - Stub ExSetXConfigSetting and ExReadModifyWriteXConfigSettingUlong
- Stubbing ExSetXConfigSetting and ExReadModifyWriteXConfigSettingUlong
- ExSetXConfigSetting is a simple value swap from buffer_ptr
- ExReadModifyWriteXConfigSettingUlong handles combined values with buffer_ptr holding the replacement values
- added log to show what the new setting should be and what is being replaced
- To Implement would need to convert settings to strucs
2025-01-07 19:52:11 +01:00
The-Little-Wolf
b5d319834e [XboxKrnl/xconfig.cc] - Fixes and logging changes
- Adding more information in logs for easier debugging
- XamSetDashContext correction
- XCONFIG_USER_VIDEO_FLAGS reports widescreen when set in config by user
- XCONFIG_SECURED_AV_REGION reports proper values when set in config by user
- Added missing \n
2025-01-06 19:49:48 +01:00
Gliniak
c3586bc165 [C++] Uplift version to C++20 2024-12-26 23:42:31 +01:00
Gliniak
3318ab5d4c [3PP] Uplifted FMT version and adjusted messages 2024-12-12 20:28:11 +01:00
Adrian
d0b15ff8c9 [Kernel] Check null pointer in RtlImageXexHeaderField 2024-11-25 19:30:11 +01:00
Hendi
5a76cac218 [APU] Refactor audio system to work with different frequencies/channel layouts 2024-10-23 22:04:47 +02:00
Gliniak
0ee6c77d91 [Kernel] Update ExLoadedCommandLine based on executable name 2024-09-05 22:41:35 +02:00
Adrian
2c087406d6 [Kernel] Runtime Module Patching
Fixes source games TUs
2024-09-04 21:18:28 +02:00
Gliniak
5f5be06680 [Memory] Preallocate whole physical range for GPU.
Seems like GPU has direct access to whole RAM and can request anything.

Removed check for page access as all pages are now available for gpu
2024-09-01 22:21:28 +02:00
Gliniak
ed843f35f8 [GPU] Added janky(?) support for register: D1MODE_V_COUNTER
Put internal_display_resolution into graphics_system

Thanks Beeanyew for initial implementation
2024-08-31 23:37:21 +02:00
Gliniak
59eed7818f [Kernel] Fixed remaining issues with APC
Seems like processing APC never overwrites initial result value in favor of APC
2024-08-29 19:47:18 +02:00
Gliniak
2044013b50 [Kernel] Fixed issue with incorrect return code for APC 2024-08-28 22:56:38 +02:00
Adrian
c430a1748a [Kernel] Check for null hmodule_ptr in XexLoadImage 2024-08-28 15:49:46 +02:00
Hyper
a867320a87 [Kernel] Implemented XexLoadImageFromMemory 2024-08-27 22:14:21 +02:00
Gliniak
83ccb47563 [Kernel] Label MmQueryStatistics as high frequency call 2024-08-24 15:22:04 +02:00
Adrian
b802894037 Implemented: MD5 guest functions 2024-08-24 15:07:18 +02:00
Gliniak
0ad1e3d585 [Kernel] MmSetAddressProtect: Disable changing protection in executable range 2024-08-18 10:29:18 +02:00
Gliniak
9ba96d46d1 [Kernel] Removed obsolete message in regards to previous change
Updated log message to provide more info
2024-08-16 21:01:42 +02:00
Gliniak
651fdc0344 [Kernel] Added support for XFileDispositionInformation
This is set and used in 415607DD to overwrite savefile
2024-08-16 20:40:53 +02:00
Gliniak
49584ff664 [VFS] Change file attributes or timestamps.
Changing these options is only viable for r/w mounted host devices (Cache)
Changing attributes works only on windows
Changing timestamps is mocked and logged to see if there is any title that uses it
2024-08-15 17:17:44 +02:00
Gliniak
504e832b49 [Kernel] Added dummy XFileBasicInformation for NtSetInformationFile
This will prevent assertion spam in some games
Mostly games uses it for cache files after renaming to enable writing to file
2024-08-12 19:20:59 +02:00
Gliniak
4c6e0ff685 [Kernel] Added returning allocated size from MmAllocatePhysicalMemoryEx 2024-08-10 16:29:46 +02:00
NicknineTheEagle
c4e930ed4c Proper 4:3 support 2024-07-01 08:55:15 +02:00
Gliniak
ec267c348a [LINT] Fixed lint issues after clang-format update 2024-06-13 20:56:56 +02:00
Gliniak
ff692589c7 [Kernel] Changed location of internal_display_resolution in config
This is to better represents usecase of this option as guest related setting
2024-05-20 20:12:31 +02:00
Gliniak
6ebb522270 [Kernel] Added option to use PAL-50 mode 2024-05-20 20:08:52 +02:00
Gliniak
5bbba85c70 Implemented: SHA512 guest functions
- XeCryptSha512Init
- XeCryptSha512Update
- XeCryptSha512Final
2024-05-15 20:34:51 +02:00
The-Little-Wolf
3ff5663f5b Fixing a typo and found unknown function
I found a missing new line in xboxkrnl_video and corrected it. I also found the name of an unknown function in xam table. Here is my source for it. https://pastebin.com/NbpVq9jG
2024-05-10 09:11:47 +02:00
Gliniak
b9061e6292 [LINT] Linted files + Added lint job to CI 2024-03-12 19:19:30 +01:00
Gliniak
1ff3dc4d10 [Kernel] Added support for custom kernel version 2024-03-05 11:33:14 +01:00
Gliniak
74b52711a3 [Kernel] Added Support For: XFileRenameInformation 2024-01-29 22:03:58 +01:00
Gliniak
2509b03b81 [Kernel] Disable high definition mode for internal resolutions lower than 1024x768
This will allow some games to render in lower than normal resolution
2023-10-22 20:24:43 +02:00
disjtqz
a9dd1c89bc [Kernel] shrink ObCreateObject 2023-10-21 17:33:07 +02:00
disjtqz
6a1d612495 [Kernel] Stub out xeObSplitName until cleaner version can be written 2023-10-21 17:33:07 +02:00
disjtqz
275454089e [Kernel] Implement ObCreateObject 2023-10-21 17:33:07 +02:00
Gliniak
d84df6e47f [Memory] Added check to prevent crashes when title tries to get access to unavailable range 2023-10-21 10:15:26 +02:00
disjtqz
9b3601c6fa [Kernel] add object type stub functions, export object types 2023-10-14 22:35:49 +02:00
disjtqz
6a08208dc8 Proper misalignment for AllocatePool, add guest object table 2023-10-14 19:29:25 +02:00
disjtqz
a7b047b2a2 Implement kernel processes 2023-10-12 22:13:40 +02:00
disjtqz
d0a6cec024 total apc rework 2023-10-11 17:43:59 +02:00
disjtqz
b5ddd30572 moved xsemaphore to xthread.d
add typed guest pointer template
add X_KSPINLOCK, rework spinlock functions.
rework irql related code, use irql on pcr instead of on XThread
add guest linked list helper functions
renamed ProcessInfoBlock to X_KPROCESS
assigned names to many kernel structure fields
2023-10-11 17:43:59 +02:00
disjtqz
32f7241526 fix user apc/kernel apc mixup 2023-10-10 10:58:41 +02:00