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



























