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:
– fix(vmem): use ConcurrentDictionary for _pageProtections to prevent race corruption (#823) (034ddcc)
– Fix unaligned BufferLoad/GlobalLoad dword access (fe6521f)
– Fix/agc zero dim and storage (#828) (a2241d0)
– [GUI] Polish language (#832) (e79a1cc)
– [GUI] Estonian language (#835) (35a28f0)
– fix(agc): record write_data produced labels so WAIT_REG_MEM can resume (#834) (3a744c9)
– Fix TLS-load patcher corrupting short jumps immediately before FS:[0] reads (#838) (4a7a45d)
– fix(agc,video): CMASK/DCC metadata state machine , remove heavy heavy motion trails in DeadCell (#836) (f8a826e)
– shader: add compact f16 arithmetic and compare lowering (#840) (2b8ef7d)
– fix(agc): refine vertex layouts without rebasing captured inputs (#841) (f4f36b5)
– tools(shader): inspect raw Gen5 shader dumps (#842) (807aad1)
– fix(memory): expand the HLE guest-allocation arena (#843) (600fcde)
– fix(cpu): preserve TLS instruction boundaries after rel8 branches (#846) (51e5480)
– feat(hle): prefer loaded guest exports for selected registrations (#844) (b226dca)
– Fix debugger frontend (#858) (3831f3c)
– fix VEH trampoline REX prefix and TLS patch boundaries (#859) (b8f2421)
– chore: bump version to 0.0.3-release.3-patch.1 (#864) (33f590b)

