{"id":105754,"date":"2025-07-06T22:01:36","date_gmt":"2025-07-06T20:01:36","guid":{"rendered":"https:\/\/www.emu-france.com\/?p=105754"},"modified":"2025-07-06T22:01:36","modified_gmt":"2025-07-06T20:01:36","slug":"consoles-de-salon-shadps4-v0-10-0","status":"publish","type":"post","link":"https:\/\/www.emu-france.com\/?p=105754","title":{"rendered":"[Consoles de salon] ShadPS4 v0.10.0"},"content":{"rendered":"<p><a href=\"https:\/\/github.com\/shadps4-emu\/shadPS4\/\" target=\"_blank\" rel=\"noopener noreferrer\">ShadPS4<\/a> est un \u00e9mulateur pr\u00e9liminaire de PS4 pour Windows et Linux \u00e9crit en C++ cr\u00e9\u00e9 par Shadow (d&rsquo;ou il tire son nom), auteur et contributeur de projets prestigieux comme PCSX, PCSX2, PCSP, JPCSP, Arcadeflex, RPCS3&#8230;<br \/>\n&nbsp;<br \/>\n<a href=\"https:\/\/www.emu-france.com\/wp-content\/uploads\/2024\/09\/ShadPS4.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-81791\" src=\"https:\/\/www.emu-france.com\/wp-content\/uploads\/2024\/09\/ShadPS4.jpg\" alt=\"\" width=\"566\" height=\"166\" srcset=\"https:\/\/www.emu-france.com\/wp-content\/uploads\/2024\/09\/ShadPS4.jpg 2565w, https:\/\/www.emu-france.com\/wp-content\/uploads\/2024\/09\/ShadPS4-300x88.jpg 300w, https:\/\/www.emu-france.com\/wp-content\/uploads\/2024\/09\/ShadPS4-768x225.jpg 768w, https:\/\/www.emu-france.com\/wp-content\/uploads\/2024\/09\/ShadPS4-1024x300.jpg 1024w\" sizes=\"auto, (max-width: 566px) 100vw, 566px\" \/><\/a><br \/>\n&nbsp;<br \/>\nLes changements principaux en r\u00e9sum\u00e9:<br \/>\n<em>Surprise! Bet you didn&rsquo;t expect a release from me, did you? \ud83d\ude42 Well you all asked for a miracle, and here I am, providing one. Anyways, this release is dedicated to one of our not-so-new dev, LNDF, who is responsible for a significant amount of the new GPU code, such as implementing Direct Memory Access for video memory. This isn&rsquo;t a solo endeavour though, there were far more updates to the emulator from the rest of the team as well, improving compatibility across well-known titles such as P.T, Driveclub, inFAMOUS, Bloodborne, The Last Guardian, Shadow of the Colossus (although this one still can&rsquo;t boot without hacks) and more:<\/p>\n<p>&nbsp;<br \/>\n<strong>Core:<\/strong><br \/>\n&#8211; devtools: Add Module Viewer<br \/>\n&#8211; equeue: fix WaitEqueue assert on nullptr and move small timer check to WaitForEvents<br \/>\n&#8211; Memory Cleanup &#038; Fixes (like, a lot of them)<br \/>\n&#8211; Pthread affinity fixups<br \/>\n&#8211; Emulate libSceGnmDriver&rsquo;s init behavior<br \/>\n&#8211; equeue: Fix passing user data in user-triggered equeue events<br \/>\n&#8211; memory: Reduce clamp threshold to 2MB<br \/>\n&#8211; Improved sceKernelMapNamedFlexibleMemory logging and add misc function exports<br \/>\n&#8211; cpu_patches: Patch movntss and movntsd<br \/>\n&#8211; equeue: HrTimer fixes<br \/>\n&#8211; filesystem: Fixes for posix_rename and write<br \/>\n&#8211; input: Silence unmapped keybind mappings and add XBox paddles<br \/>\n&#8211; input: Replace Back Button Behaviour with a rebindable solution for touchpad left, right and center<br \/>\n&#8211; input: Emulate motion controls with a mouse<br \/>\n&#8211; input: Code and documentation cleanup<br \/>\n&#8211; kernel: Check returned module in sceKernelGetModuleInfoFromAddr<br \/>\n&#8211; bit_array: Remove non const operator~<br \/>\n&#8211; settings: Update outdated config files on startup<br \/>\n&nbsp;<\/p>\n<p><strong>Libs:<\/strong><br \/>\n&#8211; Added libSceCompanionUtil, libSceVoice stubs<br \/>\n&#8211; net: Implemented sceNetInetNtop<br \/>\n&#8211; pad: Fix touchpad handling and change gyro calculation<br \/>\n&#8211; np_manager: Add option to fake user being signed in to PSN<br \/>\n&#8211; zlib: Fix request queues<br \/>\n&#8211; video_out: fix sceVideoOutGetResolutionStatus error behavior<br \/>\n&#8211; videodec2: Update structs to match newer firmwares<br \/>\n&#8211; np_trophy: Change initial context and handle values<br \/>\n&#8211; np_trophy: Fix potential out of bound crash<br \/>\n&#8211; kernel: Stub out SetGPO and GetGPI<br \/>\n&#8211; ngs2: Initialize system handle in HLE Ngs2 library<br \/>\n&#8211; video_out: Add alternate code paths for handling legacy struct behavior in sceVideodec2GetPictureInfo<br \/>\n&nbsp;<\/p>\n<p><strong>Shader recompiler:<\/strong><br \/>\n&#8211; Fix incorrect float type on FPRecip64<br \/>\n&#8211; Implemented opcodes: V_CVT_F64_U32, V_RCP_LEGACY_F32, S_FLBIT_I32_B64, BUFFER_ATOMIC_CMPSWAP, DS_READ_U16, DS_WRITE_B16, DS_ADD_U64, BUFFER_ATOMIC_SMAX_X2, BUFFER_ATOMIC_<U|S><MAX|MIN>_X2 and V_CMP_EQ_U64<br \/>\n&#8211; Misc opcode fixes<br \/>\n&#8211; Handle R128 bit in MIMG instructions<br \/>\n&#8211; Provide custom border color to samplers<br \/>\n&#8211; Implement dual source blending<br \/>\n&#8211; Implement linear interpolation support<br \/>\n&#8211; Better handling of geometry shader scenario G<br \/>\n&#8211; Patch SRT walker on segfault<br \/>\n&#8211; Cleanup fragment attribute handling<br \/>\n&#8211; Various fixes to shared memory and atomics<br \/>\n&#8211; Reduce cases where shared memory to buffer pass is needed<br \/>\n&#8211; Fix shared memory definition when only one type is used<br \/>\n&#8211; Handle immediate inline samplers<br \/>\n&#8211; Fix some shared memory accesses when workgroup struct is omitted<br \/>\n&#8211; Implement buffer atomic fmin\/fmax instructions<br \/>\n&#8211; Fix handling unbound depth image<br \/>\n&#8211; Optimize general case of buffer addressing<br \/>\n&#8211; Mark image as written when its used with atomics<br \/>\n&nbsp;<\/p>\n<p><strong>GPU:<\/strong><br \/>\n&#8211; video_core: Implement Direct Memory Access<br \/>\n&#8211; Fix image extent in buffer copy to image<br \/>\n&#8211; texture_cache: Handle overlap with equal address and different tiling mode<br \/>\n&#8211; liverpool: Stub PM4 opcodes 0x8E (GetLodStats) and 0x20 (SetPredication)<br \/>\n&#8211; liverpool: Implement PM4 opcode 0x22 (CondExec)<br \/>\n&#8211; texture_cache: Fix ExpandImage behaviour<br \/>\n&#8211; buffer_cache: Better image search for buffer validation<br \/>\n&#8211; texture_cache: Handle compressed views of uncompressed images<br \/>\n&#8211; buffer_cache: Inline data to cpu unless gpu modified<br \/>\n&#8211; tile_manager: Downgrade assert to error<br \/>\n&#8211; texture_cache: Basic handling of partially resident images<br \/>\n&#8211; liverpool: Handle PM4 type 2 in acb<br \/>\n&#8211; vulkan: Fix two validation errors introduced by shared memory changes<br \/>\n&#8211; texture_cache: Implement color<->depth copies<br \/>\n&#8211; buffer_cache: Bump device local staging buffer size<br \/>\n&#8211; texture_cache: Implement color to multisampled depth blit pass<br \/>\n&#8211; vulkan: Enable sampleRateShading<br \/>\n&#8211; vulkan: Log improper image format uses<br \/>\n&#8211; video_core: Page manager\/region manager optimization<br \/>\n&#8211; video_core: Page manager and memory tracker improvements<br \/>\n&#8211; vk_rasterizer: Use shared_first_mutex<br \/>\n&#8211; vector_alu: Improve handling of mbcnt append\/consume patterns<br \/>\n&#8211; buffer_cache: Fix various thread races on data upload and invalidation<br \/>\n&nbsp;<\/p>\n<p><strong>GUI:<\/strong><br \/>\n&#8211; translations: A yes amount of Crowdin updates<br \/>\n&#8211; auto_update: Fix Changelog Error<br \/>\n&#8211; game_list: Set Minimum Icon Size List to 48<br \/>\n&#8211; qt: Update to 6.9.1<br \/>\n&#8211; qt: save gui settings to separate file<br \/>\n&#8211; remapping_gui: If duplicate unique inputs found, show which buttons have duplicates<br \/>\n&#8211; remapping_gui: Update gui with new touchpad inputs<br \/>\n&#8211; game_list: Favorites in the game list<br \/>\n&#8211; remapping_gui: Rewrite the Controller menu and add minor fixes to the Keyboard &#038; Mouse one<br \/>\n&nbsp;<\/p>\n<p><strong>Misc:<\/strong><br \/>\n&#8211; fork_detection: Fix SSH remote links<br \/>\n&#8211; building: Add missing dependency for Fedora<br \/>\n&#8211; launch: Launch games by providing their folder instead of the eboot path<br \/>\n&#8211; launch: Add option to ignore game patch<br \/>\n&#8211; building: Changed package name to openal-soft-devel reflecting the fedora name package change<br \/>\n&#8211; ci: Work around Qt issue on new Xcode<br \/>\n&#8211; building: add CMakePresets.json and expand the number of configurations<br \/>\n&#8211; building: Update note on recursive cloning<br \/>\n&#8211; building: Autodetect Qt install path on Windows<\/em><br \/>\n&nbsp;<br \/>\n<a href=\"https:\/\/github.com\/shadps4-emu\/shadPS4\/releases\" target=\"_blank\" rel=\"noopener noreferrer\">Site source<\/a>. Liste de compatibilit\u00e9 <a href=\"https:\/\/github.com\/shadps4-emu\/shadps4-game-compatibility\" target=\"_blank\" rel=\"noopener noreferrer\">ici<\/a>.<\/p>\n<p>&nbsp;<\/p>\n<p class=\"p_telecharger_icone_zip\"><p class=\"p_telecharger_icone_zip\"><a class=\"telecharger_icone_zip\" href=\"https:\/\/www.emu-france.com\/?wpfb_dl=8018\" title=\"Download ShadPS4\">T\u00e9l\u00e9charger ShadPS4 v0.15 (15.1 Mo)<\/a><\/p><\/p>\n<p class=\"p_site_officiel\"><a class=\"site_officiel\" href=\"https:\/\/shadps4.net\/\" target=\"_blank\" rel=\"noopener noreferrer\">Site Officiel<\/a><\/p>\n<p class=\"p_en_savoir_plus\"><a class=\"en_savoir_plus\" href=\"https:\/\/www.emu-france.com\/emulateurs\/5-consoles-de-salon\/369-sony-playstation-4\/\">En savoir plus&#8230;<\/a><\/p>\n<div class=\"fcbkbttn_buttons_block\" id=\"fcbkbttn_left\"><div class=\"fb-share-button  \" data-href=\"https:\/\/www.emu-france.com\/?p=105754\" data-type=\"button_count\" data-size=\"small\"><\/div><\/div>","protected":false},"excerpt":{"rendered":"<p>ShadPS4 est un \u00e9mulateur pr\u00e9liminaire de PS4 pour Windows et Linux \u00e9crit en C++ cr\u00e9\u00e9 par Shadow (d&rsquo;ou il tire son nom), auteur et contributeur de projets prestigieux comme PCSX, PCSX2, PCSP, JPCSP, Arcadeflex, RPCS3&#8230; &nbsp; &nbsp; Les changements principaux &#8230;<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[1],"tags":[],"class_list":["post-105754","post","type-post","status-publish","format-standard","hentry","category-par-defaut","uentry","postonpage-1","odd","post-author-Jets"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/pKi2R-rvI","jetpack_likes_enabled":false,"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.emu-france.com\/index.php?rest_route=\/wp\/v2\/posts\/105754","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.emu-france.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.emu-france.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.emu-france.com\/index.php?rest_route=\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.emu-france.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=105754"}],"version-history":[{"count":2,"href":"https:\/\/www.emu-france.com\/index.php?rest_route=\/wp\/v2\/posts\/105754\/revisions"}],"predecessor-version":[{"id":113833,"href":"https:\/\/www.emu-france.com\/index.php?rest_route=\/wp\/v2\/posts\/105754\/revisions\/113833"}],"wp:attachment":[{"href":"https:\/\/www.emu-france.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=105754"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.emu-france.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=105754"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.emu-france.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=105754"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}