2024-06-11

ShadPS4 Git (2024/06/11)

EmuCR: ShadPS4ShadPS4 Git (2024/06/11) is released. An early PS4 emulator for Windows and Linux written in C++.

ShadPS4 changelog:
* Merge pull request #190 from shadps4-emu/stabilization_three
* recompiler: trivial missing ops (VALU OR and SALU LE, GE) added
* timer_management: `sceKernelUsleep` on <1ms delays
* renderer_vulkan: another fix for vertex buffer offsets
* Merge pull request #189 from shadps4-emu/qt-again
* clang format
* - Added trophy decryption when extracting a fpkg. trp icons and xmls are dumped to game_data/ (can be restored if deleted by accident by opening the trophy viewer) <br /> * Separation between release mode and RelWithDebInfo (#186) <br /> * kernel: Implement gettimeofday + other misc fixes (#187) <br /> * video_core: Preliminary storage image support and more (#188) <br /> * Merge pull request #182 from shadps4-emu/miscfixes <br /> * wrong spdx <br /> * review fixes <br /> * fixed posix_stat error return <br /> * fixed possible nullptr crash on rwlock create <br /> * more clang fix <br /> * clang fix <br /> * moved main code , to emulator,cpp , emulator.h class <br /> * don't make fullscreen default <br /> * depedencies updates and fixes <br /> * Merge pull request #183 from shadps4-emu/bc_detiler <br /> * texture_cache: detiler: added support for block coded 64bit images <br /> * texture_cache: detiler: added support for block coded 128bit images <br /> <br /> <a href="https://www.emucr.com" style="font-weight:bold;color:black;text-decoration: none;" target="_blank">Download</a>: <br /> ShadPS4 Git (2024/06/11) : <a href='https://gofile.io/d/SUM3FZ' target='_blank' rel='nofollow'>gofile</a> <a href='https://www.mirrored.to/files/U6XGPBCR/EmuCR-shadps4-win64-qt.zip_links' target='_blank' rel='nofollow'>mirrored</a> <a href='https://send.cm/d/18WBt' target='_blank' rel='nofollow'>send</a> <a href='https://usersdrive.com/xp73rpb3gqgj.html' target='_blank' rel='nofollow'>usersdrive</a> <br /> <a href="http://www.emucr.com" style="font-weight:bold;color:black;text-decoration: none;" target="_blank">Source</a>: <a href="https://shadps4.net/" title="https://shadps4.net/" target="_blank" rel='nofollow' onclick="javascript: _gaq.push(['_trackPageview', '/SourceClick']);">Here</a> <div style='clear: both;'></div> </div> <div class='post-footer'> <div class='post-footer-line post-footer-line-1'> <span class='post-author vcard'> <span class='fn' itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://www.blogger.com/profile/13078967313225207810' itemprop='url'/> <a href='https://www.blogger.com/profile/13078967313225207810' rel='author' title='author profile'> <span itemprop='name'>Jei</span> </a> </span> </span> <span class='post-timestamp'> at <meta content='http://www.emucr.com/2024/06/shadps4-git-20240611.html' itemprop='url'/> <a class='timestamp-link' href='http://www.emucr.com/2024/06/shadps4-git-20240611.html?m=1' rel='bookmark' title='permanent link'><abbr class='published' itemprop='datePublished' title='2024-06-11T20:59:00+08:00'>20:59</abbr></a> </span> <span class='post-comment-link'> </span> </div> <div class='post-footer-line post-footer-line-2'> <div class='mobile-link-button goog-inline-block' id='mobile-share-button'> <a href='javascript:void(0);'>Share</a> </div> </div> </div> </div> <div class='comments' id='comments'> <div style='clear: both;'></div> <a name='comments'></a> <h3 style='margin-top:15px;'> 0 Comments </h3> <dl class='avatar-comment-indent' id='comments-block'> </dl> <p class='comment-footer'> <div class='comment-form'> <a name='comment-form'></a> <h4 id='comment-post-message'> <a href='javascript:void(0)' id='Blog1_comment-editor-toggle-link'>Post a Comment</a></h4> <p> </p> <a href='https://www.blogger.com/comment/frame/1081743931028896744?po=1720549836639926804&hl=en&m=1' id='comment-editor-src'></a> <iframe allowtransparency='true' class='blogger-iframe-colorize blogger-comment-from-post' frameborder='0' height='410' id='comment-editor' name='comment-editor' src='' width='100%'></iframe> <!--Can't find substitution for tag [post.friendConnectJs]--> <script src='https://www.blogger.com/static/v1/jsbin/2315299244-comment_from_post_iframe.js' type='text/javascript'></script> <script type='text/javascript'> BLOG_CMT_createIframe('https://www.blogger.com/rpc_relay.html', '0'); </script> </div> </p> <div style='clear: both;'></div> <div id='backlinks-container'> <div id='Blog1_backlinks-container'> </div> </div> </div> </div> </div> </div> </div> <div class='blog-pager' id='blog-pager'> <div class='mobile-link-button' id='blog-pager-newer-link'> <a class='blog-pager-newer-link' href='http://www.emucr.com/2024/06/swiss-r1667.html?m=1' id='Blog1_blog-pager-newer-link' title='Newer Post'>‹</a> </div> <div class='mobile-link-button' id='blog-pager-older-link'> <a class='blog-pager-older-link' href='http://www.emucr.com/2024/06/rpcs3-git-20240611.html?m=1' id='Blog1_blog-pager-older-link' title='Older Post'>›</a> </div> <div class='mobile-link-button' id='blog-pager-home-link'> <a class='home-link' href='http://www.emucr.com/?m=1'>Home</a> </div> <div class='mobile-desktop-link'> <a class='home-link' href='http://www.emucr.com/2024/06/shadps4-git-20240611.html?m=0'>View web version</a> </div> </div> <style> .emucr-mobile-bottom-auto { width: 320px; height: 50px; } @media(min-width: 500px) { .emucr-mobile-bottom-auto { width: 468px; height: 60px; } } @media(min-width: 800px) { .emucr-mobile-bottom-auto { width: 728px; height: 90px; } } </style> <script async='async' src='http://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js'></script> <ins class='adsbygoogle emucr-mobile-bottom-auto' data-ad-client='ca-pub-0308829240920309' data-ad-slot='3053956699' style='display:inline-block'></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> <div class='clear'></div> </div></div> </div> <div id='sidebar'> <div class='sidebar section' id='sidebar-ads'> </div> <div id='sidebar-top'> <div class='sidebar section' id='sidebar2'> </div> </div> <div class='clearfloat' id='sidebar-middle'> <div id='sidebar-left'> <div class='sidebar section' id='sidebar5'> </div> </div> <div id='sidebar-right'> <div class='sidebar section' id='sidebar7'> </div> </div> </div> <div id='sidebar-bottom'> <div class='sidebar no-items section' id='sidebar3'> </div> </div> </div> <!-- spacer for skins that want sidebar and main to be the same height--> </div> <!-- end content-wrapper --> <div class='footer' id='footer'> <center>Copyright © 2009 - 2019 <a href='https://www.emucr.com/?m=1' title='EmuCR'>EmuCR.Com.</a> All Rights Reserved.</center> </div> <span style='display:none'> </span> </div></div> <!-- end outer-wrapper --> <script type="text/javascript" src="https://www.blogger.com/static/v1/widgets/984859869-widgets.js"></script> <script type='text/javascript'> var BLOG_BASE_IMAGE_URL = 'https://resources.blogblog.com/img';var BLOG_LANG_DIR = 'ltr';window['__wavt'] = 'AOuZoY7iLvDovGqxlpXC6YY4pC8_Fi64fg:1732261861104';_WidgetManager._Init('//www.blogger.com/rearrange?blogID\x3d1081743931028896744','//www.emucr.com/2024/06/shadps4-git-20240611.html?m\x3d1','1081743931028896744'); _WidgetManager._SetDataContext([{'name': 'blog', 'data': {'blogId': '1081743931028896744', 'title': 'EmuCR', 'url': 'http://www.emucr.com/2024/06/shadps4-git-20240611.html?m\x3d1', 'canonicalUrl': 'http://www.emucr.com/2024/06/shadps4-git-20240611.html', 'homepageUrl': 'http://www.emucr.com/?m\x3d1', 'searchUrl': 'http://www.emucr.com/search', 'canonicalHomepageUrl': 'http://www.emucr.com/', 'blogspotFaviconUrl': 'http://www.emucr.com/favicon.ico', 'bloggerUrl': 'https://www.blogger.com', 'hasCustomDomain': true, 'httpsEnabled': true, 'enabledCommentProfileImages': true, 'gPlusViewType': 'FILTERED_POSTMOD', 'adultContent': false, 'analyticsAccountNumber': 'G-WV4RJT4JFJ', 'analytics4': true, 'encoding': 'UTF-8', 'locale': 'en', 'localeUnderscoreDelimited': 'en', 'languageDirection': 'ltr', 'isPrivate': false, 'isMobile': true, 'isMobileRequest': true, 'mobileClass': ' mobile', 'isPrivateBlog': false, 'isDynamicViewsAvailable': true, 'feedLinks': '\x3clink rel\x3d\x22alternate\x22 type\x3d\x22application/atom+xml\x22 title\x3d\x22EmuCR - Atom\x22 href\x3d\x22http://www.emucr.com/feeds/posts/default\x22 /\x3e\n\x3clink rel\x3d\x22alternate\x22 type\x3d\x22application/rss+xml\x22 title\x3d\x22EmuCR - RSS\x22 href\x3d\x22http://www.emucr.com/feeds/posts/default?alt\x3drss\x22 /\x3e\n\x3clink rel\x3d\x22service.post\x22 type\x3d\x22application/atom+xml\x22 title\x3d\x22EmuCR - Atom\x22 href\x3d\x22https://www.blogger.com/feeds/1081743931028896744/posts/default\x22 /\x3e\n\n\x3clink rel\x3d\x22alternate\x22 type\x3d\x22application/atom+xml\x22 title\x3d\x22EmuCR - Atom\x22 href\x3d\x22http://www.emucr.com/feeds/1720549836639926804/comments/default\x22 /\x3e\n', 'meTag': '', 'adsenseClientId': 'ca-pub-0308829240920309', 'adsenseHostId': 'ca-host-pub-1556223355139109', 'adsenseHasAds': true, 'adsenseAutoAds': false, 'boqCommentIframeForm': true, 'loginRedirectParam': '', 'view': '', 'dynamicViewsCommentsSrc': '//www.blogblog.com/dynamicviews/4224c15c4e7c9321/js/comments.js', 'dynamicViewsScriptSrc': '//www.blogblog.com/dynamicviews/d78375fb222d99b3', 'plusOneApiSrc': 'https://apis.google.com/js/platform.js', 'disableGComments': true, 'interstitialAccepted': false, 'sharing': {'platforms': [{'name': 'Get link', 'key': 'link', 'shareMessage': 'Get link', 'target': ''}, {'name': 'Facebook', 'key': 'facebook', 'shareMessage': 'Share to Facebook', 'target': 'facebook'}, {'name': 'BlogThis!', 'key': 'blogThis', 'shareMessage': 'BlogThis!', 'target': 'blog'}, {'name': 'X', 'key': 'twitter', 'shareMessage': 'Share to X', 'target': 'twitter'}, {'name': 'Pinterest', 'key': 'pinterest', 'shareMessage': 'Share to Pinterest', 'target': 'pinterest'}, {'name': 'Email', 'key': 'email', 'shareMessage': 'Email', 'target': 'email'}], 'disableGooglePlus': true, 'googlePlusShareButtonWidth': 0, 'googlePlusBootstrap': '\x3cscript type\x3d\x22text/javascript\x22\x3ewindow.___gcfg \x3d {\x27lang\x27: \x27en\x27};\x3c/script\x3e'}, 'hasCustomJumpLinkMessage': true, 'jumpLinkMessage': '...More', 'pageType': 'item', 'postId': '1720549836639926804', 'postImageThumbnailUrl': 'https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhSq82wub8xPt2iMafGJytuC8grB4_DkpzvBJ0jyMMX1yqFPVCYhsNlxRixM2VEAfGM7M0dqrb6Yz6u8ydXZoXFMDoJvlt9m3gRj_TYgMDaAhljVCbIXymehujY8iKTBhcFpkftXlD4zQwMXPG-MyvDLXOYi9v8NonqexNwofK1R1drc1zTbGZsyfAulCzO/s72-c/152868421.png', 'postImageUrl': 'https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhSq82wub8xPt2iMafGJytuC8grB4_DkpzvBJ0jyMMX1yqFPVCYhsNlxRixM2VEAfGM7M0dqrb6Yz6u8ydXZoXFMDoJvlt9m3gRj_TYgMDaAhljVCbIXymehujY8iKTBhcFpkftXlD4zQwMXPG-MyvDLXOYi9v8NonqexNwofK1R1drc1zTbGZsyfAulCzO/s320/152868421.png', 'pageName': 'ShadPS4 Git (2024/06/11)', 'pageTitle': 'EmuCR: ShadPS4 Git (2024/06/11)'}}, {'name': 'features', 'data': {}}, {'name': 'messages', 'data': {'edit': 'Edit', 'linkCopiedToClipboard': 'Link copied to clipboard!', 'ok': 'Ok', 'postLink': 'Post Link'}}, {'name': 'template', 'data': {'name': 'custom', 'localizedName': 'Custom', 'isResponsive': false, 'isAlternateRendering': true, 'isCustom': true}}, {'name': 'view', 'data': {'classic': {'name': 'classic', 'url': '?view\x3dclassic'}, 'flipcard': {'name': 'flipcard', 'url': '?view\x3dflipcard'}, 'magazine': {'name': 'magazine', 'url': '?view\x3dmagazine'}, 'mosaic': {'name': 'mosaic', 'url': '?view\x3dmosaic'}, 'sidebar': {'name': 'sidebar', 'url': '?view\x3dsidebar'}, 'snapshot': {'name': 'snapshot', 'url': '?view\x3dsnapshot'}, 'timeslide': {'name': 'timeslide', 'url': '?view\x3dtimeslide'}, 'isMobile': true, 'title': 'ShadPS4 Git (2024/06/11)', 'description': 'ShadPS4 Git (2024/06/11) is released. An early PS4 emulator for Windows and Linux written in C++.', 'featuredImage': 'https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhSq82wub8xPt2iMafGJytuC8grB4_DkpzvBJ0jyMMX1yqFPVCYhsNlxRixM2VEAfGM7M0dqrb6Yz6u8ydXZoXFMDoJvlt9m3gRj_TYgMDaAhljVCbIXymehujY8iKTBhcFpkftXlD4zQwMXPG-MyvDLXOYi9v8NonqexNwofK1R1drc1zTbGZsyfAulCzO/s320/152868421.png', 'url': 'http://www.emucr.com/2024/06/shadps4-git-20240611.html?m\x3d1', 'type': 'item', 'isSingleItem': true, 'isMultipleItems': false, 'isError': false, 'isPage': false, 'isPost': true, 'isHomepage': false, 'isArchive': false, 'isLabelSearch': false, 'postId': 1720549836639926804}}]); _WidgetManager._RegisterWidget('_HeaderView', new _WidgetInfo('Header1', 'header', document.getElementById('Header1'), {}, 'displayModeFull')); _WidgetManager._RegisterWidget('_HTMLView', new _WidgetInfo('HTML2', 'nav', document.getElementById('HTML2'), {}, 'displayModeFull')); _WidgetManager._RegisterWidget('_BlogView', new _WidgetInfo('Blog1', 'main', document.getElementById('Blog1'), {'cmtInteractionsEnabled': false, 'mobile': true}, 'displayModeFull')); _WidgetManager._RegisterWidget('_HTMLView', new _WidgetInfo('HTML1', 'sidebar-ads', document.getElementById('HTML1'), {}, 'displayModeFull')); _WidgetManager._RegisterWidget('_FeedView', new _WidgetInfo('Feed1', 'sidebar2', document.getElementById('Feed1'), {'title': '', 'showItemDate': false, 'showItemAuthor': false, 'feedUrl': 'http://www.emucr.com/atom.xml', 'numItemsShow': 5, 'loadingMsg': 'Loading...', 'openLinksInNewWindow': true, 'useFeedWidgetServ': 'true'}, 'displayModeFull')); _WidgetManager._RegisterWidget('_HTMLView', new _WidgetInfo('HTML3', 'sidebar2', document.getElementById('HTML3'), {}, 'displayModeFull')); _WidgetManager._RegisterWidget('_PopularPostsView', new _WidgetInfo('PopularPosts1', 'sidebar2', document.getElementById('PopularPosts1'), {}, 'displayModeFull')); _WidgetManager._RegisterWidget('_HTMLView', new _WidgetInfo('HTML4', 'sidebar2', document.getElementById('HTML4'), {}, 'displayModeFull')); _WidgetManager._RegisterWidget('_HTMLView', new _WidgetInfo('HTML8', 'sidebar5', document.getElementById('HTML8'), {}, 'displayModeFull')); _WidgetManager._RegisterWidget('_SubscribeView', new _WidgetInfo('Subscribe1', 'sidebar5', document.getElementById('Subscribe1'), {}, 'displayModeFull')); _WidgetManager._RegisterWidget('_HTMLView', new _WidgetInfo('HTML6', 'sidebar5', document.getElementById('HTML6'), {}, 'displayModeFull')); _WidgetManager._RegisterWidget('_BlogArchiveView', new _WidgetInfo('BlogArchive1', 'sidebar5', document.getElementById('BlogArchive1'), {'languageDirection': 'ltr', 'loadingMessage': 'Loading\x26hellip;'}, 'displayModeFull')); _WidgetManager._RegisterWidget('_HTMLView', new _WidgetInfo('HTML9', 'sidebar5', document.getElementById('HTML9'), {}, 'displayModeFull')); _WidgetManager._RegisterWidget('_HTMLView', new _WidgetInfo('HTML7', 'sidebar7', document.getElementById('HTML7'), {}, 'displayModeFull')); </script> </body> </html>