SharpEmu est un émulateur PlayStation 5 expérimental développé par par274, entièrement écrit en C# et conçu pour fonctionner sur Windows, Linux et macOS, même si le développement se concentre surtout sur Windows. Le projet est codé from scratch, sans reprendre d’autres émulateurs, et sert autant d’émulateur que de plateforme d’étude de l’architecture PS5.

L’émulateur est encore très jeune: aucun jeu commercial n’est jouable, mais il peut déjà charger des eboot.bin, exécuter des instructions CPU, lire les métadonnées des jeux, charger des modules système et initier certaines étapes du pipeline graphique. Plusieurs jeux testés atteignent des stades avancés comme sceVideoOut ou AGC, ce qui montre que le rendu commence à fonctionner, même si encore limité.
Le développement est actif, avec des builds Windows disponibles et des progrès réguliers. SharpEmu se concentre sur la mise en place d’une base technique solide avant de viser la compatibilité avancée ou la jouabilité.
En résumé, SharpEmu est un projet PS5 ambitieux, méthodique et en pleine construction, qui pose les fondations nécessaires pour une future émulation complète de la console.

Voici les changements:
– [Kernel] Implement pthread semaphore exports (#424)
– [Kernel] add NID B5GmVDKwpn0 (pthread_yield) (#426)
– test: add Fiber exports contract tests (13 tests) (#428)
– Gui Settings Null list Entries (#430)
– Fix space-in-path game launching on Windows (#432)
– [Kernel] Implement sceKernel MapDirectMemory2 (#433)
– Prevent invalid SaveData writes from damaging guest memory (#444)
– [Kernel] Hand off mutex ownership directly to the head waiter on unlock
– [PlayGo] Derive the installed chunk set from the pak files on disk (#438)
– [Kernel] Clamp guest path traversal at the mount root (#437)
– Add missing nids (#450)
– cpu: emulate AMD-only Zen 2 instructions in software (#449)
– Fixes a Mutex Issue Preventing Some UE Titles From Booting (#451)
– Refresh CPU-rewritten guest textures by write generation (#447)
– Encode linear-float flips to sRGB at present (#448)
– PerGameSettings Null toggles (#453)
– memory: back the free pages of a partially-overlapping fixed mapping
– [AGC] Support the clamp modifier on packed f16 VOP3P ops (#460)
– [CI] fix zip inside zip
– kernel: return -1/errno from POSIX file syscalls on failure (#461)
– Shader: test a wave mask consumed as a per-lane predicate at the lane boundary
– [CI] fix rule name
– Merge branch ‘main’ of https://github.com/sharpemu/sharpemu
– Add internal render resolution scale and fix DPI Issue (#468)
– Fix NID BHouLQzh0X0, doubled StartupStaticTlsReservation memory
– Shader: lower VOP3P V_FMA_MIX_F32/LO/HI (was dropping Unity HDR shaders)
– Prevent AvPlayer movie startup failures across supported hosts (#456)
– [AGC] Read mip 0 from its GFX10 mip-chain offset (#470)
– [AGC] Implement the owner-scoped resource unregister exports (#469)
– [Gpu] Sample 2D array textures with real layers (#471)
– [VideoPresenter] Fix logical width/height calculation (#473)
– [Gpu] Stop retrying array uploads that overrun their allocation (#476)
– Kernel FS: close guest host sandbox escapes in the path resolver (#478)
– [VideoPresenter] Accept padded row pitch in guest image uploads (#475)
– SaveData: avoid invalid DeS transaction resource pointer (#480)
– [Gpu] Factor the exact-XOR swizzle equation in the texture detiler (#483)
– [Audio] Hoist volume clamp out of the per-sample PCM loop (#487)
– [Tests] Isolate Gen5 scalar fallback test from parallel static mutation
– [Loader] Collect stub-eligible NIDs in one pass over descriptors (#489)
– cpu: recover SSE4a EXTRQ/INSERTQ faults on Linux (#482)
– fix: Add ASTRO BOT compatibility stubs (#481)
– [Font] Implement sceFontGetVerticalLayout (#492)
– [Loader] Fall back to fixed-range backfill when main image base is occupied
– [Ampr] Implement the FW 4.00 write-address command exports (#510)
– fix: roll back earlier host allocations on later gap failure in TryBackfill
– [NpWebApi2] Add sceNpWebApi2PushEventCreateFilter stub (#503)
– [Kernel/Semaphore] Close race between scekernelWaitSema and scekernelSignalSema
– shader: allow larger bounded Gen5 programs (#514)
– fix(ajm): accept Gen5 codec types (#526)
– [VideoOut] Add Bink2 support via FFMPEG bridge (#527)



























