Il s’agit du meilleur émulateur de PlayStation One, devant ePSXe et pSX.
Caractéristiques:
– CPU Recompiler/JIT (x86-64, armv7/AArch32, AArch64, RISC-V/RV64).
– Hardware (D3D11, D3D12, OpenGL, Vulkan, Metal) and software rendering.
– Upscaling, texture filtering, and true colour (24-bit) in hardware renderers.
– PGXP for geometry precision, texture correction, and depth buffer emulation.
– Adaptive downsampling filter.
– Post processing shader chains (GLSL and experimental Reshade FX).
– « Fast boot » for skipping BIOS splash/intro.
– Save state support.
– Windows, Linux, macOS support.
– Supports bin/cue images, raw bin/img files, MAME CHD, single-track ECM, MDS/MDF, and unencrypted PBP formats.
– Direct booting of homebrew executables.
– Direct loading of Portable Sound Format (psf) files.
– Digital and analog controllers for input (rumble is forwarded to host).
– Namco GunCon lightgun support (simulated with mouse).
– NeGcon support.
– Qt and « Big Picture » UI.
– Automatic updates with preview and latest channels.
– Automatic content scanning – game titles/hashes are provided by redump.org.
– Optional automatic switching of memory cards for each game.
– Supports loading cheats from existing lists.
– Memory card editor and save importer.
– Emulated CPU overclocking.
– Integrated and remote debugging.
– Multitap controllers (up to 8 devices).
– RetroAchievements.
– Automatic loading/applying of PPF patches.
Configuration requise:
– Windows 10/11 (7/8/8.1 here), Linux (AppImage/Flatpak), macOS.
– A CPU faster than a potato. But it needs to be x86_64, AArch32/armv7, AArch64/ARMv8, or RISC-V/RV64.
– For the hardware renderers, a GPU capable of OpenGL 3.1/OpenGL ES 3.1/Direct3D 11 Feature Level 10.0 (or Vulkan 1.0) and above. So, basically anything made in the last 10 years or so.
– SDL, XInput or DInput compatible game controller (e.g. XB360/XBOne/XBSeries). DualShock 3 users on Windows will need to install the official DualShock 3 drivers included as part of PlayStation Now.
Les améliorations sont:
Preview Build:
– Fix delay in progress dialog opening (Stenzek)
– Enable clear button on hotkey search (Stenzek)
– Compile warning fix (Stenzek)
– Add TaskQueue class (Stenzek)
– Use task queue for saving states/screenshots/gpudumps (Stenzek)
– Rewrite cover loading/generation (Stenzek)
– Update viewport and display size (Stenzek)
– Add option to display PS buttons instead of Xbox (Stenzek)
– Add release commit generation script (Stenzek)
– Add ‘Disable Window Rounded Corners’ option (Stenzek)
– Don’t check for subchannel with GPU dump (Stenzek)
– Add zst/xz GPU dumps to file filter (Stenzek)
– Ensure batches are flushed before presenting frame (Stenzek)
– Move texture loading to async tasks (Stenzek)
– Remove Apperance/Update settings from Game Properties (Stenzek)
– Behaviour to Behavior (Stenzek)
– Allow inverting pad axes (Stenzek)
– Support forwarding touchpad to pointer (Stenzek)
– Add ‘Enable Touchpad’ to Controller Settings (Stenzek)
Stable Build (or rolling release):
– Common: Add RESTRICT macro
– CPU/CodeCache: Avoid log calls in faults outside of JIT code
– CPU/Recompiler: Don’t back up value to stack in mtc0
– CPU/Recompiler: Don’t use far code for mtc0 cache check
– GPU/SW: Fix double draws of polyline vertices
– System: Rewrite memory save state handling
– GPU: Move backend work off CPU thread
– System: Frame step after runahead
– System: Remove unused SetExpansionROM()
– GPU: Remove global indirection
– FullscreenUI: Fix CPU/GPU thread race on achievements toggle
– Settings: Split into GPU and main settings
– GameDB: PGXP-CPU for Muppet Monster Adventure
– Misc: Slightly reduce include pollution from settings.h
– Packaging: Add scripts to include libc/libstdc++ in AppImage
– System: Fix some GPU settings not updating
– GPU: Fix 480i resolution display in OSD
– GPU: Slightly adjust PAL active range
– GameDB: PGXP-CPU for Wipeout games
– Fix Typo in Russian tr (#3346)
– Achievements: Re-add NeedsIdleUpdate()
– GPUBackend: Remove duplicate num_vertices
– GPU: Implement PGXP for lines
– System: Fix pre-frame sleep getting stuck
– CPU/CodeCache: Fastmem RAM faults are always writes
– PageFaultHandler: Warning fix
– GPU: CLUT should not be saved on CPU thread memory state
– GPU/TextureCache: Add ‘Always Track Uploads’ option
– Qt: Shuffle a couple of graphics options
– FullscreenUI: Support renderer swapping without restart
– GPUBackend: Fix VRAM loss with runahead/rewind
– GPU/HW: Download VRAM when enabling sw-for-readbacks
– Atualização Português do Brasil (#3347)
– SPU: Fix determinism loss when loading state where IRQs differ
– CPU/Recompiler: Exit block early on DCIC/BPCM change
– CPU: Fix DCIC not being cleared on reset
– CPU: Debug mode flag should be updated on state load
– CPU: GTE completion cycle should be reset/serialized
– GPU: Fix sprite texture filtering with TC enabled
– PIO: Fix failure to load state with different cart type
– Settings: Add missing bitfield width
– GPU/TextureCache: Only use shader bilinear for initial pagefill
– SmallString: Add append_vformat()
– System: Warn if fastmem mode is not optimal
– InputManager: Fix mouse-mapped axes getting stuck
– ImGuiFullscreen: Enable smooth scrolling for file/choice selectors
– GameDB: Street Fighter games
– FullscreenUI: Fix spacing in game list
– FullscreenUI: Fix smooth scrolling in game/state/etc lists
– Qt: Fix F3 getting intercepted when game/FSUI active
– Qt: Add missing icon to System Display
– FullscreenUI: Update translation strings
– System: Fix dump VRAM writes not updating on GPU thread
– GPU/HW: Fix VRAM write dumping only first row
– GPU: Move background dumping to HW+GPU thread
– GPU/TextureCache: Apply ‘Dump Replaced Textures’ option to backgrounds too
– GameList: Fix lock not re-acquired on failure
– Achievements: Refactor state serialization
– Achievement: Fix glitchy fade indicator animation
– CDROM: Adjust missed INT1 sector behaviour
– Qt: Update English/Plural strings
– dep/rcheevos: Bump to 3a91a58
– GameDB: Driver 2 settings
– ImGuiManager: Add Begin/EndTextInput()
– FullscreenUI: Slight tidy-up to achievements login dialog
– Achievements: Fix serialization on Linux
– Atualização Português do Brasil (#3348)
– RegTest: Update CLI help
– CPU/CodeCache: Add static to a couple of missing functions
– CPU/CodeCache: Remove InstructionInfo pc field
– CPU: Fix AdEL/IBE on instruction fetch
– CPU/CodeCache: Simplify code LUT addressing
– CPU/Recompiler: Swap bl{x,r} for b{x,r} on ARM
– Hotkeys: Screenshot should not be present on Android
– Common: Add 2D vector formatters
– GPU: Move vertex culling to GPU thread
– GPU/HW: Try truncating culled vertices
– GPU/HW: Always update/load/save CLUT
– GPU/HW: Remove extra debug group pop
– InputManager: Fix pointer scale loading
– GPUDevice: End timer on command flush
– GPU: Assume vertex commands are 8-byte aligned
– Common: Fix vector sse2_max_u16()
– FileSystem: Add error reporting to DeleteDirectory()
– GPU/HW: Fix mask bit regression from FF8 fix
– GPU/HW: Vectorize flipped sprite handling
– RegTest: Support replaying GPU dumps
– RegTest: Log state and RAM hashes on exit
– CPU/Recompiler: Align dispatchers and JIT blocks
– Scripts: Add -only-download option to Linux deps
– Common: Fix write overflow with nosimd vector
– Cheats: Compiler warning fix
– GPU/HW: Compiler warning fix
– Scripts: Add Linux cross-compile deps script
– CMake: Fix incorrect message for cache line size
– PlatformMisc: Load libdbus at runtime
– Scripts: Add cross-compiled AppImage generator
– Common: Work around LLVM LTO inline asm issue
– CMake: Fix RISC-V building with LLVM
– GPU: Refactor and simplify deinterlacing
– GPU: Use same early culling rules for lines as polygons
– GPU/SW: Remove polygon size checks from backend
– System: Don’t fail startup if cpuinfo init fails
– GameDB: Gokujou Parodius Da! Deluxe Pack
– FullscreenUI: Fix incorrect section for Deinterlacing Mode
– System: Add IsUsingPS2BIOS()
– VulkanDevice: Fix crash on shutdown if swapchain creation fails
– System: Should call PGXP Reset not Initialize() in InternalReset()
– Common: Fix RISC-V/64 fastjmp buffer size
– Common: Switch fastjmp.cpp asm to tabs
– CPU/Recompiler: Fix dispatcher crash on RISCV64
– CPU/Recompiler: Fix ICache update codegen on RISCV64
– CPU/Recompiler: Actually use fetch ticks for uncached EXP1
– VulkanDevice: Hopefully fix init under Vulkan 1.0 drivers
– CPU/CodeCache: Don’t compile invalid jumps via block links
– FullscreenUI: Fade alpha change when switching to postfx settings
– FullscreenUI: Remove a couple of untranslated titles
– GameDB: GTA does not support analog mode
– System: Improve texture recycling when changing rewind/runahead settings
– GPUDevice: Allow this-frame pooled textures when not uploading data
– Common: Add more GSMatrix ops
– Common: Fix vector blend32() and dot() on SSE2
– GTE: Add ‘Free Camera’ feature
– Qt: Forward text input to aux render windows
– Hotkeys: Fix resolution scale with memory save states
– System: Fix crash with memory save states + renderer switch
– System: Move state display updates to call sites
– Qt: Drop log messages if rate is too high
– Qt: Add ‘Controller Test’ to tools menu
– GTE: Disable freecam on Android
– FullscrenUI: Fix field spacing scaling in game list view
– FullscreenUI: Fix popup sizes for postfx settings
– FullscreenUI: Improve field alignment in achievements login
– GTE: Add ‘Reverse Transform Order’ option to freecam
– InputManager: Fix pointer-bound bind movement
– Qt: Controller Test should be disabled while running
– Common: Small tidy-up and constexpr-ify GSMatrix4x4
– GTE: Improve reverse transform freecam
– ImGuiManager: Separate debug and OSD fonts
– ImGuiManager: Pack state in struct
– PostProcessing: Get rid of Timer global
– CPU: Declare state with constinit
– Updated Swedish translation (#3349)
– Cheats: Eliminate extra newlines during code editing
– GPUBackend: Only display CPU thread blocked messages if queueing
– Qt: Add search box to hotkey settings
– Qt: Enable clear button on hotkey search
– PostProcessing: Compile warning fix
– Common: Add TaskQueue class
– System: Use task queue for saving states/screenshots/gpudumps
– Qt: Rewrite cover loading/generation
– ImGuiManager: Update viewport and display size
– Atualização Português do Brasil (#3350)
– Cheats: Fix error while exporting
– Qt: Simplify Fullscreen UI state tracking
– Qt: Fix delay in progress dialog opening
– X11Tools: Fix refresh rate query failing with XLib handle
– Qt: Display ‘No Image’ instead of 0x0 in status
– Platform: Fix incorrect dbus shared library name
– Deps: Bump to SDL2 2.30.11
– Platform: Fix AppImage dbus library mismatch
– FullscreenUI: Add option to display PS buttons instead of Xbox
– Scripts: Add release commit generation script
– Qt: Add ‘Disable Window Rounded Corners’ option
– System: Don’t check for subchannel with GPU dump
– Qt: Add zst/xz GPU dumps to file filter
– GPU: Ensure batches are flushed before presenting frame
– ImGuiFullscreen: Move texture loading to async tasks
– Qt: Remove Apperance/Update settings from Game Properties
– Qt: Behaviour -> Behavior
– SDLInputSource: Allow inverting pad axes
– SDLInputSource: Support forwarding touchpad to pointer
– Qt: Add ‘Enable Touchpad’ to Controller Settings