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:
– Fix spec violation in ROV clear (Stenzek)
– GPU/HW: Use correct format for ROV buffers (Stenzek)
– ClearSection() should not create an empty section (Stenzek)
Stable Build (or rolling release):
– SPU: Streamline per-voice flag processing
– SPU: Vectorize Gaussian interpolation
– SPU: Consolidate capture buffer writes
– SPU: Decode ADPCM nibbles in pairs
– VulkanDevice: Use timeline semaphores when available
– Tests: Fix core-tests building on Windows
– GPU/HW: Fix typo in CompilePipelines()
– Achievements: Fix some options potentially not live-updating
– Achievements: Check for login request in LoadStateFromBuffer()
– FullscreenUI: Fix extra uneven height in achievement notifications
– FullscreenUI: Reduce text size of small-mode category badges
– Qt: Remove empty widget text
– GameDB: Persona localizedName
– Update Italian translation (#3798)
– TaskQueue: Add GetOutstandingTasks() and ExecuteOneTask()
– Threading: Add GetProcessorCount()
– Core: Make TaskQueue thread count dynamic
– ObjectArchive: Use binary keys instead of strings
– ObjectArchive: Synchronize access internally
– HTTPCache: Use object archive synchronization
– GPUDevice: Use ObjectArchive for shader cache
– GPUDevice: Support looking up cached shaders and opaque keys
– GPUDevice: Add LoadPipeline() for supported backends
– GPU/HW: Use UIDs for shader generation
– GPU/HW: Use UIDs as shader cache keys
– GPU/HW: Use multi-threaded shader compilation
– GPU/HW: Use multi-threaded pipeline compilation
– VideoThread: Preserve command queue empty slot
– VideoThread: Enforce command producer ownership
– VideoThread: Keep successful software fallback
– VideoThread: Use video-owned fullscreen settings
– VideoThread: Destroy inline reconfigure commands
– VideoThread: Snapshot fullscreen state for resize
– VideoThread: Dispatch thread toggle failures safely
– VideoThread: Propagate thread startup failure
– FullscreenUI: Tweak separator style
– Qt: Add multi-instruction selection to debugger
– Qt: Persist debugger window state
– Qt: Add icons to context menu
– Qt: Fix empty debugger toolbar window title
– Qt: Fix icon missing on newly-added excluded paths
– Qt: Add context menu to game list exclusion list
– GPU: Add Disable Upscaled Direct Textures option
– GameDB: DisableUpscaledDirectTextures for Fear Effect
– Qt: Persist use-serial-file-names in cover downloader
– MSBuild: Force SHA256 source file hashes
– InputManager: Add hotkey flag for UI-activatable
– InputManager: Release cancelled hold bindings
– InputManager: Clear bindings when input is lost
– InputManager: Fix effect sync device matching
– ImGuiManager: Track text input separately
– InputManager: Type button transitions
– FullscreenUI: Add ‘Toggle Pause Menu’ hotkey
– FullscreenUI: Make cheats/achievements/leadboards hotkeys toggles
– FullscreenUI: Synchronize pause menu toggle
– PerformanceCounters: Ignore reset boundary sample
– Qt: Remove unnecessary usage of QOverload (#3799)
– D3DCommon: Use once_flag for library loading
– Threading: Add lightweight Mutex/ConditionVariable wrappers
– Core: Use lock_guard for settings accessors
– Core: Use Threading::Mutex for settings lock
– CDROMAsyncReader: Use lightweight threading abstractions
– Misc: Replace std::mutex with Threading::Mutex
– CDROMAsyncReader: Convert to namespace
– GPU/HW: Fix missing mask-or application on texture fallback
– GPU/HW: Add ‘Filter Framebuffer Uploads’ advanced option
– GameDB: Enable background texture filtering on more games
– Qt: Show inherited multi-sampling setting in game properties (#3800)
– GPU/HW: Add additional texture filters
– GameDB: Fix typo in DisableUpscaledDirectTextures
– GameDB: Add mouse for Panekit – Infinitive Crafting Toy Case
– CDROMAsyncReader: Use persistent thread
– CDROM: Fix possible incorrect restart track when playing
– FullscreenUI: Avoid double transition on achievements/leaderboards
– FullscreenUI: Fix toggling between windows with hotkeys
– FullscreenUI: Fix bullet separator at end of postfx settings
– FullscreenUI: Use popup list for texture filter options
– Misc: Use C++23 elifdef/elifndef
– System: Obey optimal frame pacing setting on Linux
– GPUDevice: Remove multiple sources of truth for shader dump directory
– StringUtil: Fix buffer overflow in BytePatternSearch()
– Timer: Use pause intrinsics when spin-sleeping
– Common: Use __yield() for CPU-pause on ARM
– PageFaultHandler: Fix unused variable warning
– dep/vixl: Fix deprecated-literal-operator warning
– StringUtil: Return first match in BytePatternSearch()
– dep/googletest: Update to v1.18.0
– Threading: Detect recursive locks in debug builds
– Error: Add wrappers for translating messages without object
– HTTPDownloader: Use string view and move semantics for callback error
– HTTPDownloader: Ensure all callbacks invoke through PollEvents()
– Settings: Turn debug window visiblity into a bitmask
– Achievements: Replace recursive mutex with lightweight mutex
– Qt: Add missing help text for savetitle/localizedtitle
– FullscreenUI: Replace recursive_mutex with lightweight mutex
– FullscreenUI: Allow verification of runtime-populated images
– Updater: Directly wait for parent to exit instead of using shell
– Qt: Dynamically adjust log window colours to theme
– Disable auto analog in Trap Gunner; add missing traits for Spyro x Sparx (#3801)
– Tests: Fix directory not cleaned up
– Threading: Add SharedMutex lightweight wrapper
– Achievements: Avoid deadlock with leaderboard trackers disabled
– Achievements: Avoid lock when settings unchanged
– Achievements: Use a second mutex for notification state
– Qt: Fix per-game achievement notification duration sliders
– Qt: Simplify output latency widget updates
– Qt: Bind audio output volume through regular settings updates
– Update duckstation-qt_es.ts (#3802)
– Qt: Fix latency description not updating
– Spanish (Spain) translation update 2026/09/24 (#3803)
– LightgunController: Create base class for lightgun controllers
– NeGcon: Create common base class for NeGcon controllers
– Controller: Unify some of the translation strings
– Threading: Add SharedLockGuard helper
– InputManager: Internalise private functions
– InputManager: Use atomics for rawinput/pointer count
– InputManager: Use atomics for host pointer position
– ImGuiManager: Read pointer state directly from InputManager
– InputManager: Reload input bindings after source hotplug
– InputManager: Extract internal state to private header
– InputManager: Use a shared mutex for synchronization
– InputManager: Use SmallString for binding conversions
– Qt: Move DS5 player LED setting into LED dialog
– SDLInputSource: Simplify polling
– SDLInputSource: Poll immediately after initializing
– SDLInputSource: Rely on reload to enable accelerometer
– SDLInputSource: Use persistent identifiers when mapping
– GameList: Fix possible null string-view construction
– Common: Use second thread for assertion dialogs
– Common: Use single isb for ARM PauseCPU()
– VideoThread: Use dynamic spin loop on ARM
– Timer: Use global initializer for timer frequency on Windows
– Qt: Add pill-label css class
– Qt: Display bound devices in controller pages
– Win32RawInputSource: Fix wrong OnInputDeviceConnected() call
– GameList: Use correct string_view constructor
– Common: Remove unnecessary include
– Qt: Simplify mute setting callback
– Qt: Fix doubled-up help description
– Update duckstation-qt_es.ts (#3805)
– Atualização Português do Brasil (#3806)
– Update Italian translation (#3807)
– MetalDevice: Drop feedback loop path
– VulkanDevice: Fix incorrect hazard tracking in stream buffer
– GPU/HW: Fix background replacements disappearing after TC toggled off
– GPU/HW: Simplify pipeline layouts
– ImGuiManager: Move blur constants into main UBO
– GPUDevice: Remove MultiTextureAndUBO pipeline layout
– GPUDevice: Move UNIFORM_PUSH_CONSTANTS_SIZE into base class
– D3D12Device: Remove MAX_UNIFORM_BUFFER_SIZE
– D3D12Device: Ensure all samplers are initialized in LookupSingle()
– FullscreenUI: Add background image blurring for headers
– FullscreenUI: Display subset icon as game icon in subset view
– ImGuiManager: Stash overlays in separate draw list when transition active
– ImGuiManager: Avoid unsafe read of context pointer on core thread
– Misc: Replace std::shared_mutex with Threading::SharedMutex
– GPU: Fix scanline sync before vertical_display_start
– GPU: Improve CRTC function readability
– Qt: Use posix_spawn for updater relaunch on Linux
– Misc: Remove more unused include guards
– FullscreenUI: Fix change disc menu getting stuck in some scenarios
– FullscreenUI: Size loading screen text and progress separately
– FullscreenUI: Display progress for on-demand game list load
– MDEC: Don’t clear output FIFO on new command
– FullscreenUI: Fix compiler warning
– Qt: Update machine translations
– Qt: Update English translation catalog
– CDImageMemory: Read each sector in its native format
– CDImagePPF: Handle non-mode2 sectors
– CDImageCHD: Read out the correct sector size depending on mode
– FullscreenUI: Fix focus reset on escape in game list search
– Deps: Update to 20261001
– Qt: Use AppRoot for translations
– VulkanDevice: Fix spec violation in ROV clear
– GPU/HW: Use correct format for ROV buffers
– INISettingsInterface: ClearSection() should not create an empty section
Télécharger DuckStation v0.1 build 12XXX (69.9 Mo)
Site Officiel
En savoir plus…