Commit Graph

7552 Commits

Author SHA1 Message Date
Gliniak edc829f3e6 [CPU] Check for modification of base_address during patch application 2024-09-15 17:13:04 +02:00
Gliniak f95a1e591b [XAM] Fixed issue with invalid path returned while searching for publisher type path 2024-09-13 19:52:29 +02:00
Gliniak d232bdbecf [UTIL] Fixed bug in TranslateUnicodeString code
It was incorrectly copying length in bytes instead
of character count which was causing out of bounds access and string corruption
2024-09-13 12:21:21 +02:00
Gliniak c7c71b5b6b [XBDM] Added support for mounting DEVKIT partition.
For now it is hardcoded to be created in Xenia executable directory
2024-09-13 08:55:42 +02:00
Gliniak 4c2a5d39ab [XAM] Added support for searching publisher paths 2024-09-09 18:52:09 +02:00
Gliniak 71de56416d [Kernel] Cleanup in TU applying code.
Externally it is still applied via: ApplyTitleUpdate
But internally it is splitted into:
 - FindTitleUpdate
 - LoadTitleUpdate
 - IsPatchSignatureProper
 - ApplyTitleUpdate

Added host window with warning about TU incompatibility
2024-09-07 18:26:00 +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 616dbfe34e [XEX] Fixed issue with patch applying failure for some executables 2024-09-04 21:04:47 +02:00
The-Little-Wolf 0deafaf9f9 [Kernel] Notification ID Changes
Based off of pull request  xenia-project#2047. Convert magic numbers numbers to enum to improve readability. Includes currently unused one for future use.
2024-09-02 08:24:43 +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 4452e300ac [Emulator] Changed default config values for:
- mount_cache: false -> true
 - framerate_limit: 60 -> 0
 - font_size: 12 -> 14
 - apu_max_queued_frames: 64 -> 8
2024-08-31 21:48:34 +02:00
Gliniak 94473eda19 [APU] Changed default value of apu_max_queued_frames to 8.
Added ability to set it even lower to 4. However this might impact CPU usage.
2024-08-31 20:39:48 +02:00
Gliniak 02f5316562 [VFS] Fixed crash on filename extraction from path.
Names are in CP1252 which fails conversion to utf8.
2024-08-31 18:15:13 +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
Adrian 1a9ff8fe67 [App] Add notifications for hotkeys & XNotifyQueueUI 2024-08-27 22:02:00 +02:00
Gliniak 9c8a575b76 [UI] Host Notification: Replace previous notification in case of new one 2024-08-27 20:48:22 +02:00
Adrian ee210db096 [App] Added host notification for Zar creation and extraction on completion 2024-08-26 22:48:17 +02:00
Adrian f01317591a [App] Run zar extraction and creation in separate thread 2024-08-25 21:08:10 +02:00
Gliniak 3a42d9e787 [XAM] XamContentGetDeviceName param change
XamContentGetDeviceName was using lpu16string_t for output parameter
This could cause string parse error (conversion to utf16/utf8)
2024-08-25 20:21:05 +02:00
Gliniak 7d385c3844 [GIT] Ignore cache directory from git searching 2024-08-25 16:53:08 +02:00
Gliniak d6f0ab6a7e [UI] Implemented Host Notifications
Splitted clases into:
 - ImGuiNotification
 - ImGuiHostNotification
 - ImGuiGuestNotification

To differentiate between Xenia toast notifications and notifications from titles itself

Adhoc:
Changed Screenshot into toast notification and switched from being binded to F10 to F12
2024-08-25 14:06:28 +02:00
The-Little-Wolf 4abbfa0b04 Xam App
Recording more unknown app messages for future reference.

    Xam message 2B001 is called in Toy Story Mania!

    Xmp messages 7002F and 70044 are called on the start of all dashboard versions before the Kinect update. When 70044 is set to return X_E_FAIL you can access the xbox music player but when it succeeds the emulator locks up and you are forced to close it manually (no crash). The music player can't be access at all past version 5787 and instead goes back to the previous screen as if it is closing itself down. 7002B (NXE and Kinect) and 70053 (Blades) are called when trying to access the music, picture, and video libraries.

    Messenger is only called when using netplay with dashboard versions 5759 to 5787. After that an "xbox live is currently unavailable" messaged is displayed on 3 of the tabs (marketplace, xbox live, and games) blocking any internet related messages from appearing on versions 6683 to 6717.

    Xlivebase message 5008C is called on the start of dashboard versions 1888 to 2858 and 50094 is called instead from versions 4532 to 4552. LogonGetHR is called on the startup of dashboard (netplay version)

    XGI message B0036 is called after clicking on xbox live in the arcade library (v5759 to 5787) or from the game library (v6683 to v6717). B0021 is sent in the games Fatal Fury Special and Beijing 2008. B003D is used by UFC 2009 (netplay build).
2024-08-24 19:36:42 +02:00
Gliniak 83ccb47563 [Kernel] Label MmQueryStatistics as high frequency call 2024-08-24 15:22:04 +02:00
Gliniak e04e0d3bb3 [XMP] Added dummy message: XMPCreateUserPlaylistEnumerator 2024-08-24 15:07:54 +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 365a220b74 [XAM] XamContentGetCreator: Use deferred overlap 2024-08-17 11:26:46 +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 c68b09d717 [XAM] Added Stub: XAutomationpUnbindController 2024-08-13 17:57:25 +02:00
Gliniak cf50de3832 [XBDM] Added Stub for: DmIsFastCAPEnabled
Added memory allocating for DmAllocatePool
2024-08-13 17:36:24 +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 feb88ee6b1 [GPU] Check page access only once for specific range 2024-08-10 21:33:56 +02:00
Gliniak 1864f3d9f2 [D3D12] Redesigned page access for gpu buffer allocation 2024-08-10 20:58:53 +02:00
Gliniak 320102db34 Revert "[GPU] Reset mip levels for non-mipmapped type"
This reverts commit eeb96f91a5.
2024-08-10 18:15:16 +02:00
Gliniak 1fdf250f7d [Kernel] Fixed race condition crash related to missing ke_timestamp_bundle_ptr_ 2024-08-10 16:30:31 +02:00
Gliniak 4c6e0ff685 [Kernel] Added returning allocated size from MmAllocatePhysicalMemoryEx 2024-08-10 16:29:46 +02:00
Adrian adce6c0919 [XAM] Error check count in XUserStatsEnumerator
Fix Homefront from crashing
2024-08-08 20:00:52 +02:00
Radosław Gliński eeb96f91a5
[GPU] Reset mip levels for non-mipmapped type
This prevent issue where fetch is partially invalid and contains invalid mip_page and mip_level for BaseMap type
2024-07-15 22:56:53 +02:00
Gliniak 5d3240d492 [CI] Changed VS version to see if it will prevent triggering AV 2024-07-08 21:43:43 +02:00
Gliniak bd77aae7d0 [XAM] Fixed issue with looking for double .header suffix 2024-07-06 13:02:57 +02:00
NicknineTheEagle a7acce50a6 [XAM] Trim content name when resolving its path 2024-07-06 08:47:37 +02:00
NicknineTheEagle a8421bbce1 [XAM] Fixed checks in async functions 2024-07-06 08:47:37 +02:00
NicknineTheEagle c4e930ed4c Proper 4:3 support 2024-07-01 08:55:15 +02:00