Il s’agit du meilleur émulateur de PlayStation One, devant ePSXe et pSX.

Caractéristiques:
– Recompilateur/JIT CPU (x86-64, armv7/AArch32, AArch64, RISC-V/RV64).
– Rendu matériel compatible avec les API D3D11, D3D12, OpenGL, Vulkan et Metal.
– Mise à l’échelle, filtrage des textures et couleurs vraies (24 bits) dans les moteurs de rendu matériels.
– PGXP pour la précision géométrique, la correction des textures et l’émulation du tampon de profondeur.
– Mélange précis via Rasterizer Order Views / Fragment Shader Interlock.
– Système de remplacement de textures dans les moteurs de rendu matériels.
– Rendu logiciel vectorisé et multi-threadé.
– Désentrelacement adaptatif au mouvement.
– Filtre de sous-échantillonnage adaptatif.
– Rotation d’écran pour les jeux de tir verticaux ou en mode « TATE ».
– Chaînes de shaders de post-traitement (GLSL, Reshade FX et préréglages Slang).
– Bordures décoratives affichées autour du contenu du jeu.
– « Démarrage rapide » pour ignorer l’intro du BIOS.
– Prise en charge des sauvegardes d’état, avec exécution anticipée et rembobinage.
– Compatible avec Windows, Linux et macOS.
– Lecture directe depuis CD, images bin/cue, fichiers bin/img bruts, MAME CHD, ECM à piste unique, MDS/MDF, CCD et formats PBP non chiffrés.
– Préchargement des images disque en RAM pour éviter les interruptions dues à la mise en veille du disque.
– Fusion des jeux multi-disques dans la liste/grille avec cartes mémoire partagées.
– Chargement/application automatique des patchs PPF.
– Démarrage direct des exécutables homebrew.
– Chargement direct des fichiers Portable Sound Format (psf).
– Audio étiré dans le temps lors de l’exécution hors de la vitesse 100 %.
– Prise en charge des manettes numériques et analogiques (le retour de force est transmis à l’hôte).
– Support des pistolets GunCon et Justifier (simulés à la souris).
– Support de la manette NeGcon.
– Préréglages de manette et configuration par jeu.
– Interface utilisateur Qt et mode « Big Picture ».
– Mises à jour automatiques avec canaux preview et stable.
– Analyse automatique du contenu — titres/hachages fournis par redump.org.
– Commutation automatique optionnelle des cartes mémoire par jeu.
– Prise en charge des cheats à partir de listes existantes.
– Éditeur de carte mémoire et importateur de sauvegardes.
– Overclocking CPU émulé.
– Débogage intégré et à distance.
– Support des manettes multitap (jusqu’à 8 appareils).
– Intégration RetroAchievements.
– Présence enrichie Discord.
– Capture vidéo via Media Foundation (Windows) et FFmpeg (toutes plateformes).
– Fonction de caméra libre.
– Émulation de cartouches via port parallèle.
Configuration requise:
– Windows 10/11 (7/8/8.1 ici), Linux (AppImage/Flatpak), macOS.
– Un CPU plus rapide qu’une patate. Mais il doit être x86_64, AArch32/armv7, AArch64/ARMv8 ou RISC-V/RV64.
– Un GPU capable de OpenGL 3.1 / OpenGL ES 3.1 / Direct3D 11 niveau de fonctionnalité 10.0 / Vulkan 1.0. Donc, en gros, n’importe quoi fabriqué au cours des 10 dernières années.
– Une manette compatible SDL, XInput ou DInput (par exemple XB360/XBOne/XBSeries). Les utilisateurs de DualShock 3 sous Windows devront installer les pilotes officiels DualShock 3 inclus dans PlayStation Now.

Les améliorations sont:
Preview Build:
– Pass –fail to curl downloads (Stenzek)
– 3fb8948: GPU/HW: Fix MMPX Quality compilation in Metal (Stenzek)
– Assert not on thread for async calls (Stenzek)
– Rework pause menu opening (Stenzek)
– Adjust pause menu box padding (Stenzek)
– Don’t display indicators when in pause menu (Stenzek)
Stable Build (or rolling release):
– 3f50257 GPU/TextureCache: Dump textures to first disc directory
– 23d79f8 Qt: Fix themed slider disabled state
– 45460b9 PostProcessing/Slang: Skip over C-style comments in preset files
– ae44fa6 PostProcessing/Slang: Support parsing simple/reference presets
– 495141a Qt: Fix postfx shader list with multiple nesting levels
– 8bb8fdd Update gpu_hw_shadergen.cpp (#3728)
– 558973f GPU/HW: Fix rare VRAM corruption after state load
– 0d60433 GameDB: Otona no Asobi again
– 4d95bb3 OpenGLDevice: Fix various issues in stream buffer
– bbffe72 OpenGLDevice: Disable PBOs completely on NVIDIA
– c7027a2 CDROM: Fix off-by-one error
– c204170 FullscreenUI: Always reset transition before executing it
– 650c60e FullscreenUI: Fix fade transition on game exit
– 73a74b3 System: Remove unnecessary state function
– a94a90f CPU: Fix some unlikely-to-be-triggered issues
– 566ef44 DMA: Fix DICR register write mask
– ac7aa0d GPU: Fix incorrect debug log message
– 5823a01 MDEC: Fix incorrect halfword tracking for some commands
– cfcfd8f CPU/Recompiler: Various minor error fixes
– 4780bfa Pad: Fix incorrect log message
– 50b545c Pad: Fix device_index with multitap 2 active
– ba7b5cd SPU: Fix a couple of log and debug window fields
– acb546b SPU: Fix inverted volume level in voice register read
– 0c41d81 SPU: Fix incorrect DMA overread handling
– 0b4b9a1 MemoryCard: Fix incorrect ACK at end of read
– bde74c5 MemoryCard: Fix incorrect output byte at end of write
– d85dcdb MemoryCard: Fix incorrect state/ack at end of ID read
– 6bd6a8d Timers: Interrupt request should be cleared after mode write
– 03a61b7 Timers: Fix repeated IRQs possibly scheduling late
– 8601189 Bus: Fix incorrect logging of EXP1 memory timing
– 0eb8db8 Bus: Fix incorrect region pointer for RAMMirror3
– 077f234 Bus: Fix error propagation in InjectExecutable()
– 2734a1b Bus: Fix incorrect write mask for EXP1/EXP2 base
– ebe6af9 GTE: INTPL should be 8 cycles
– d80c5b9 VideoPresenter: Fix incorrect UVs for Rotate180 case
– 0016ef0 VideoPresenter: Fix incorrect changed flag when reloading overlay
– cc662e6 VideoThread: Fix dead code in VideoThreadEntryPoint()
– 2c18947 VideoThread: Fix incorrect command size
– 3535455 ImGuiOverlays: Remove unused macro
– fa38d4f ImGuiOverlays: Fix incorrect capture box height
– 2d4259e ImGuiOverlays: Fix incorrect frame time calculation
– da339e4 MemoryScanner: Set changed flag in RemoveEntryByDescription()
– 63f5a6a SoundEffectManager: Fix buffer overallocation in upmix/shift path
– 66ddcae Justifier: Remove unused function
– 16ceae8 Justifier: Last byte shouldn’t ACK
– da7a2cc PlayStationMouse: Fix X sensitivity being used for Y
– c9c7645 InterruptController: Fix incorrect branch hint
– 17bea47 AudioStream: Fix backend names not being translated on lookup
– 274d87e CubebAudioStream: Fix a few logging errors
– f40a3c8 SDLAudioStream: Fix inconsistent start API usage
– 692e7ce WAVReader: Fix non-s16 handling in SeekToFrame()
– cac0eac GameList: Remove unused function
– 7b802e6 GameList: Fix incorrect constants in played time parsing
– 9a44065 GameDatabase: Fix incorrect log messages
– 3d43cfa GameDatabase: Fix setting wrong settings object
– 385ee9d GameDatabase: Add missing flush check for SaveToCache()
– 40b6893 System: Fix video capture args being read incorrectly
– 66702bc System: Fix some incorrect error messages
– ccfa0f4 System: Remove a couple of redundant comparisons
– 21f6835 CDImagePPF: Fix possible overpatching on spanning sectors
– 08015f1 CDImagePPF: Fix possible integer underflow in short files
– efc623c CDImagePBP: Fix error propagation in SwitchSubImage()
– 32f8163 CDImageMDS: Fix use of 32-bit fseek()
– 4a24d29 CDImageDevice: Fix incorrectly formatted log messages
– 4e1cdd5 CDImageCue: Fix inconsistent size in ECMTrackFileInterface::Read()
– 687059d CDImageM3u: Simplify whitespace trimming
– 1494c6b PostProcessing: Fix OOB write in ParseVector()
– d5c22fc PostProcessing/FX: Fix PingPong state not being written back
– 1c9b0a9 PostProcessing/Slang: Fix include depth not being tracked
– 3ce9753 PostProcessing/Slang: Add missing Original scale type handling
– a9da0d8 Sockets: Fix various issues
– bd6f998 ISOReader: Fix incorrect timestamp calculation
– 29ca1cb GPUDevice: Fix incorrect log message
– fc9ce7f GPUDevice: Fix incorrect RG16/RG16F pixel size
– 4e963c1 System: Add capture file name format options
– 86aabe3 D3DCommon: Fix a bunch of copy/paste errors
– 730c44f D3D11Device: Fix a couple of incorrect log messages
– 414f9f6 D3D12Device: Fix incorrect subresource calculation
– 9706df0 D3D12Device: Use move in D3D12DownloadTexture destructor
– 56f0756 MetalDevice: Fix various issues
– 6f405d9 GPUDevice: Don’t reserve unnecessary byte in stream buffer
– 690fcb6 System: Log disc details when booting
– cece522 OpenGLDevice: Fix incorrect mipmap step in upload
– 49eb1ab OpenGLDevice: Fix off-by-one in Map() range check
– d940fb3 OpenGLDevice: Fix incorrect DSB binding without binding layout
– 2ac4816 OpenGLTexture: Fix a couple of incorrect format mappings
– f0b6ea9 VulkanDevice: Fix incorrect pointer alignment check
– a4904dd VulkanDevice: Add missing swap of m_allocation
– 0f51249 Achievements: Fix null pointer check in BeginRefreshHashDatabase()
– 2a85f67 FullscreenUI: Fix possible OOB on bad config
– 0e3c471 FullscreenUI: Fix file dialog without filter set
– 22378bd FullscreenUI: Add fade transition to file selector
– 2b10062 FullscreenUI: Fix possible RemoveHook() call on wrong thread
– d3edaf5 FullscreenUI: Use insert_or_assign() in SetCoverCacheEntry()
– d2e9421 Qt: Fix config binding of audio capture extra args
– 41a939f Qt: Fix resize-loading case for getCoverForEntry()
– ecc1fe2 Qt: Fix a couple of incorrect config keys in reset path
– d326c8b Qt: Fix incorrect signal block in game summary
– 4ae89e2 Qt: Fix reading from UI thread in computeImageHash()
– 30583b4 Qt: Fix incorrect read in texture replacement settings export
– 00c956f Qt: Fix incorrect settings save after automap
– 182c87d Qt: Add missing master enable update in cheat settings
– 387d8b3 Qt: Remove redundant setNewBinding() in effect binding
– 0995654 Qt: Add null pointer check to hotkey setFilter()
– 5de2b77 CPU/CodeCache: Fix redundant begin/end code write
– 2af1cd6 CPU/CodeCache: lwc2/swc2 should not read rt in backprop
– 0a816b6 CPU/CodeCache: Fix blocks ending up perpetually in interpreter fallback
– 23c94c5 TimingEvent: Add missing current_event check in SortEvent()
– 89560f8 GDBServer: Fix incorrect shift in $G handler
– dd25610 GDBServer: Fix incorrect hex decode in $M handler
– 091d1b6 GDBServer: Fix double ack after single step
– 59b4fb8 GDBServer: Send SIGTRAP on system pause
– 6c63902 Fix translation errors (AZ) (#3730)
– df64109 TimingEvents: Fix overzealous assertion
– f9254e2 CPU/CodeCache: Pack state in struct
– abf3b8c CPU/CodeCache: Move JIT write protect out of MemMap
– 120d049 Modern Lossless Dynamic Quantization Scanline Shader (#3731)
– 12989d2 VideoThread: Use thread instead of handle
– 53c4176 CPU/CodeCache: Don’t skip filling backprop for first instruction
– 5d92da5 TimingEvents: Remove ticks_late parameter
– dea0480 AudioStream: Reintroduce XAudio2 backend
– c1d24b4 dep/cubeb: Bump to a37dadd
– 242b4b8 FullscreenUI: Fix files showing in directory selector
– 28297a3 VideoThread: Pass clamped dimensions to thread
– 153fa1d Core: Get rid of base settings layer overrides
– 85c0b4e System: Move gamescope screensaver hack to QtHost
– 71dafa7 System: Move socket multiplexer into GDBServer
– cc1775f System: Move Discord presence into its own file
– 678b610 System: Move more core functionality out of file
– 70c6d5a VideoThread: Move private functions into own file
– 0b6d41e Achievements: Don’t defer badge prefetch on game load
– 56783ac Qt: Use delete icon for restoring custom titles
– 348eaee TaskQueue: Support single-threaded operation
– 735dc5b Core: Centralize the async task queue
– b2d0fbd clang-format: Add lambda options
– 54c6a9f Hotkeys: Make more formatting-friendly
– 00908b1 Qt: Remove some unnecessary includes
– 86fd693 Qt: Use better title for capture file name format
– 122bd30 Qt: Move RAIntegration setting to advanced settings
– 6513e47 Achievements: Add progress indicator mode option
– d2e7701 dep/rcheevos: Increase the time the progress tracker is shown
– d1f5975 FullscreenUI: Fix load/save state leaving system paused
– 8ddaac3 Achievements: Add alpha to progress bars
– 38bbc11 Data: Add additional fonts
– bbe6521 ImGuiManager: Support multiple text fonts
– 9950e22 SoundEffectManager: Fix low chance of deadlock on shutdown
– f7d937c Qt: Fix debugger ignoring all messages
– acbb76c Qt: Fix off-by-one in edit RAM callback
– f080e79 Qt: Fix possible underflow in debugger wheelEvent()
– 9a41041 Qt: Fix incorrect colour of bytes in debugger
– 9f385b2 Qt: Fix last-data buffer management in MemoryViewWidget
– 970e191 Qt: Improve debugger arrow drawing
– 2f35493 scanline-modern-ex.fx Minor optimizations and adjustments (#3732)
– 5731aa8 CI: Pass –fail to curl downloads
– 3fb8948 GPU/HW: Fix MMPX Quality compilation in Metal
– 730dcd9 VideoThread: Assert not on thread for async calls
– 1200cd5 FullscreenUI: Rework pause menu opening
– 75eddf1 Achievements: Adjust pause menu box padding
– e4c55ad Achievements: Don’t display indicators when in pause menu



























