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 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 here), 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:
v0.1-10814
– Add links/instructions to Windows installer (Stenzek)
– GPU/HW: Use clamped rect for sprites-as-fills (Stenzek)
Stable Build (or rolling release):
v0.1-10693
– AudioStream: Fix changing stretch mode without buffer change
– System: Clamp typical time to frame period on MacOS
– GPUDevice: Use present instead of current time for skip logic
– GPUThread: Update core thread window size on core thread
– Qt: Forward mouse events through core thread
– InputManager: Remove second source of truth for window size
– System: Rewrite present skipping
– Qt: Detect refresh rate change when screen changed
– Updated Swedish translation (#3685)
– MediaCapture: Remove stream ID check in ProcessVideoEvents()
– GPUDevice: Use sorted array for storing shader cache entries
– FSUI: More consistent icons (#3686)
– GunCon: Don’t read ImGuiManager state
– ImGuiManager: Remove another source of truth for window size
– FullscreenUI: Add option to swap gamepad confirm/cancel buttons
– Qt: Fix double invoking of mouse wheel/button events
– PostProcessing: Avoid creating zero-sized intermediate targets
– GPUPresenter: Avoid NaN sized target during loading
– CocoaTools: Add display link fallback for refresh rate query
– Qt: Fall back to QScreen if WindowInfo refresh rate query fails
– FileSystem: Backport 3-arg Path::Combine()
– Qt: Move windows data location from Documents to AppData
– Common: Remove MemorySettingsInterface
– Qt: Allow parenting updater to settings dialog
– Qt: Use QPlatformTheme for Cancel
– Qt: Relabel ‘Reset Game’ as ‘Restart Game’
– README: Update Mac installation instructions
– Misc: Replace more ‘reset’ strings with ‘restart’
– FullscreenUI: Remove now-unused host file selector functions
– Achievements: Reload game when resetting after disc swap
– GPUThread: Fix core thread window info not updating on fullscreen
– Cheats: Fix aspect ratio not updating on change
– GPUDevice: Don’t duplicate fullscreen modes
– Achievements: Fix almost there/active challenge showing in all subsets
– dep/rcheevos: Fix silent URL truncation in new functions
– dep/rcheevos: Destroy parse state in rc_find_next_classification()
– Achievements: Increase padding for leaderboard loading indicator
– Qt: Default MacOS fractional window scale to disabled
v0.1-10812
– GPUPresenter: Avoid empty viewport on blank deinterlace
– GPU/HW: Fix inconsistent device state after blank deinterlace
– D3D12Device: Avoid render pass end when setting same target
– D3D12Device: Avoid second fence wait for infrequent readback
– VulkanDevice: Wait before starting next command buffer
– OpenGLDevice: Don’t use glGetTextureSubImage() on NVIDIA
– GPUThread: Fix crash concurrently changing renderer and deinterlacing
– VulkanDevice: Simplify EndAndSubmitCommandBuffer() a bit
– VulkanDevice: Don’t submit during image acquire
– Settings: Default optimal frame pacing to enabled
– Qt: Make settings update check ignore skipped updates
– Qt: Add option to edit game list serials
– Qt: Fix recommended value for Optimal Frame Pacing
– Qt: Reflect new defaults in settings help (#3687)
– ImGuiManager: Fix possible memory leak on shutdown
– ImGuiManager: Allow renderer switch without destroying context
– ImGuiManager: Adjust fixed-width font weight based on DPI
– ImGuiManager: Swap fixed-width font to Google Sans Code
– ImGuiManager: Use text font for frame time overlay
– Spanish (Spain) translation update. (#3688)
– GameDB: Tighten timing in Wing Commander III
– ImGuiManager: Increase font weight for OSD settings
– FullscreenUI: Adjust footer item spacing
– Qt: Fix double save of custom serials
– GameList: Fix some interactions with custom serials
– GameDB: Disable auto analog in Mizzurna Falls (#3689)
– GameDB: Adjust cropping in FF8 and FF9
– GameDB: Adjust cropping in Threads of Fate
– Qt: Move OSD and Capture settings to their own sections
– Qt: Drop workaround for Classic Windows theme change bug
– Qt: Don’t store unneeded references to settings pages
– ImGuiManager: Fix spacing for media capture timer overlay
– Qt: Improve grouping of OSD options
– Qt: Fix conflicting accelerators in Settings menu
– dep/rcheevos: Prioritize unsynchronized bucket over recently unlocked
– Achievements: Fix unsynchronized achievements missing from list
– Achievements: Add missing lock to GetPauseThrottleFrames()
– Achievements: Warn on shutdown when unlocks are unconfirmed
– Qt: Fix incorrect tab indices in graphics settings
– GameDB: PGXP CPU for World’s Scariest Police Chases
– Qt: Ensure fields in MemoryViewWidget are initialized
– Achievements: Fix overlap when >1 leaderboard tracker active
– Achievements: Reduce the size of challenge notifications
– WindowInfo: Move prerotation enum to global scope
– GPUPresenter: Convert to namespace
– Qt: Add option to use the system font on Linux
– Qt: Avoid locals symbol name clash in qtthemes.cpp
– GPUThread: Rename to VideoThread
– GPUPresenter: Rename to VideoPresenter
– PostProcessing: Fix depth buffer always being requested
– VideoPresenter: Simplify post-processing settings update
– Qt: Fix tab order in OSD settings again
– Atualização Português do Brasil (#3691)
– VideoThread: Rename some missed references
– VideoThread: Fix overreserve in command allocator
– Misc: Use ‘Render Window’ consistently instead of ‘Display Window’
– VideoThread: Avoid possible null presentation in PresentFrameAndRestoreContext()
– VideoPresenter: Move present throttling from VideoThread
– Misc: Eliminate unnecessary atomic thread fences
– Qt: Always use FullscreenUI for confirm message if system valid
– Controller: Add option to use right analog as trigger buttons (#3692)
– Qt: Remove QtUtils::GetRootWidget()
– Qt: Adjust window bring-up order
– Qt: Fix fixed-width font not loading
– ImGuiManager: Make margins consistent across OSD/achievements
– FileSystem: Add SetPathExecutable()
– Qt: Add popup to create desktop file on Linux
– Qt: Fix log window appearing in front of main window on KDE
– Qt: Move state into QtHost namespace
– Qt: Fix application name in task switcher on GNOME
– Qt: Allow changing executable with drag/drop
– VideoPresenter: Ensure skipped_present_count is zeroed
– StateWrapper: Avoid unnecessary include
– Common: Fix string tests building
– GameDB: Max speedup cycles for Disruptor and Rescue Shot (#3693)
– Qt: Fix crash on Linux when opening game properties (#3694)
– Common: Fix incorrect float rvalid()
– Deps: Version updates
– Misc: Use delta from initial value for input binding
– InputManager: Remove Sensor source
– SDLInputSource: Add sensor (accelerometer) support
– Qt: Add controller sensor mapping
– InputManager: Remove padding from struct
– Qt: Avoid rich text in message boxes (#3695)
– CMake: Simplify Metal shader build
– CMake: Simplify resource copy
– D3D11Device: Add missing push constant buffer destroy
– D3D11Device: Fix assigning integer to boolean
– Common: Add additional unit tests
– CMake: Bump version requirement
– CMake: Remove pointless flags change
– PostProcessing/FX: Fix incorrect min_point_mag_linear_mip_point translation
– OpenGLDevice: Fix error reporting in CreateFramebuffer()
– OpenGLDevice: Fix error reporting in SetSwapInterval() and SetVSyncMode()
– HTTPDownloader: Fix error description for WinHttpOpenRequest()
– HTTPDownloader: Fix return value of curl write callback
– HTTPDownloader: Add missing error status assignment
– VideoThread: Fix core thread view missing surface format
– dep/rcheevos: Bump to dedfe2d
– Achievements: Fix notification icon opacity
– Achievements: Remove hidden leaderboard check
– VulkanDevice: Fix incorrect stage bits for compute PushUniformBuffer()
– VulkanDevice: Add missing scissor clamp in SetInitialPipelineState()
– VulkanDevice: Fix query index in WaitForCommandBufferCompletion()
– Qt: Reverse window open order on all Wayland platforms
– README: Update resource overrides section
– FileSystem: Check fclose() for WriteBinaryFile()/WriteStringToFile()
– Installer: Add windows installer program
– Installer: Add Windows uninstaller program
– CI: Generate Windows installers
– Installer: Calculate estimated size for uninstaller entry
– Installer: Share progress callback with updater
– Spanish (Spain) translation update (#3696)
– System: Match console region to BIOS region when starting BIOS
– InputManager: Fix typo in variable name
– InputManager: Always call SetHook()/RemoveHook() on core thread
– InputManager: HasAnyBindingsForSource() shouldn’t check subtype
– InputManager: Only enable sensor polling if there are bindings
– InputManager: Fix needing double press for button binding

























