Całkiem miły emulator PS1 autorstwa Connora McLaughlin (aktywnie także pracujący nad portem Dolphina pod Andkiem). Potrafi podbić 16 krotnie natywną rozdzielczość PSX, obsługuje Xpada, ma możliwość zapisu memcardów i oczywiście występuje również na Androida. Czego chcieć więcej;) DuckStation na razie nie stawia na releasy, można jednak na bieżąco sprawdzać co dzieję się w projekcie dzięki plikom wykonawczym.
Emulator wymaga najnowszej biblioteki runtime z MS
[psx]DuckStation Latest Preview Build 2026/10/01 13:53:43
[psx]DuckStation Latest Preview Build 2026/09/29 16:44:47
- ## Commits
- Size loading screen text and progress separately ([commit])
- Display progress for on-demand game list load ([commit]) [info]
[psx]DuckStation Latest Preview Build 2026/09/27 09:52:09
- ## Commits
- a2edf2d: Update Italian translation (#3807) (Davide Pesavento) [#3807](https://github.com/stenzek/duckstation/pull/3807) [info]
[psx]DuckStation Latest Preview Build 2026/09/26 13:33:10
- ## Commits
- Fix wrong OnInputDeviceConnected() call ([commit])
- Use correct string_view constructor ([commit])
- Remove unnecessary include ([commit])
- Simplify mute setting callback ([commit]) [info]
[psx]DuckStation Latest Preview Build 2026/09/26 04:43:07
- ## Commits
- Create base class for lightgun controllers ([commit])
- Create common base class for NeGcon controllers ([commit])
- Unify some of the translation strings ([commit])
- Add SharedLockGuard helper ([commit])
- Internalise private functions ([commit])
- Use atomics for rawinput/pointer count ([commit])
- Use atomics for host pointer position ([commit])
- Read pointer state directly from InputManager ([commit])
- Reload input bindings after source hotplug ([commit])
- Extract internal state to private header ([commit])
- Use a shared mutex for synchronization ([commit])
- Use SmallString for binding conversions ([commit])
- Move DS5 player LED setting into LED dialog ([commit])
- Simplify polling ([commit])
- Poll immediately after initializing ([commit])
- Rely on reload to enable accelerometer ([commit])
- Use persistent identifiers when mapping ([commit])
- Fix possible null string-view construction ([commit])
- Use second thread for assertion dialogs ([commit]) [info]
→ NOWSZY [psx]DuckStation Latest Preview Build 2026/10/10
[psx]DuckStation Latest Preview Build 2026/10/10 18:56:53
- ## Commits
- Fix desktop environment conditions ([commit])
- Fix crash when desktop file check is skipped ([commit])
- Update to 20261010 ([commit])
- Extract bucket names out of FullscreenUI ([commit])
- Separate login and credential saving steps ([commit])
- Guard against copying to self ([commit])
- Add WaitFor() to ConditionVariable ([commit])
- Sort disc sets by save title ([commit])
- Don't persist cache map between refreshes ([commit])
- Allow use of external SettingsInterface ([commit])
- Synchronize settings between FullscreenUI and Qt ([commit])
- Provide content details to OnSystemStarted() ([commit])
- Fix possible integer overflow in EncodeAndAppendUTF8() ([commit])
- Add a dedicated key for overlays ([commit])
- Don't copy controller type to game ([commit])
- Don't reset folders when resetting settings ([commit])
- Backport additional helper functions ([commit])
- Make OpenSharedCFile() wrap OpenCFile() on non-Windows ([commit])
- Add error parameter to FTell64() ([commit])
- Extract find result sorting to function ([commit])
- Use shared file open for ReadBinaryFile/ReadFileToString ([commit])
- More RVO optimizations ([commit])
- Add more ReadFileToString() overloads ([commit])
- ed990b9: CPU/Recompiler: Respect load delays when swapping NOP slots (Stenzek)
- 0aa0c76: CPU/Recompiler: Cancel pending loads on self moves (Stenzek)
- e78ab9a: CPU/Recompiler: Keep link-register delay slots in order (Stenzek)
- bd29ee4: CPU/Recompiler: Dispatch interpreter fallback exceptions (Stenzek)
- 3a8b6fc: CPU/Recompiler: Trap constant signed arithmetic overflow (Stenzek)
- c401e93: CPU/Recompiler: Preserve pending loads on memory exceptions (Stenzek)
- cb3cfb8: CPU/Recompiler: Correct misaligned indirect jump exceptions (Stenzek)
- 22cc431: CPU/Recompiler: Fix ARM32 VIXL debug builds (Stenzek)
- 885d5bb: CPU/Recompiler: Mask constant variable shift counts on ARM (Stenzek)
- 6db5f05: CPU/Recompiler: Truncate ARM64 multiplication results in LO (Stenzek)
- beb75d1: CPU/Recompiler: Decode ARM32 load exceptions from r0 (Stenzek)
- a5d6e76: CPU/Recompiler: Align ARM32 backpatch thunk calls (Stenzek)
- 470ef06: CPU/Recompiler: Use 32-bit ARM64 fastmem LUT indices (Stenzek)
- 9deb896: CPU/Recompiler: Handle large ARM64 backpatch cycle counts (Stenzek)
- Fast-path ADPCM blocks without predictors ([commit])
- Skip reverb output filtering at zero volume ([commit])
- Pack reverb FIR coefficients into 16-bit lanes ([commit])
- Extract reverb-master-enable out of loop ([commit])
- Add regression tests ([commit])
- Only sign extend MAC results on overflow ([commit])
- Force inline matrix/lighting/projection helpers ([commit])
- Specialize instruction handlers on sf/lm ([commit])
- Factorize NCLIP to use three multiplies ([commit])
- Use shift for IRGB/ORGB conversion ([commit])
- Simplify FLAG error bit update ([commit])
- Mark saturation branches as unlikely ([commit])
- Use branchless saturation for light matrix multiply ([commit])
- Vectorize XA resampling ([commit])
- Improve reproducibility ([commit])
- Improve reproducibility ([commit])
- Don't stall for GTE with a single cycle remaining ([commit])
- Add optional callback to screenshot save ([commit])
- Avoid unnecessary mutex unlock->relock ([commit])
- Fix incorrect error message ([commit])
- Return proper error from GetGenericBindingMapping() ([commit])
- Shorten fastmem mode description ([commit])
- Don't use exact sleep on core thread ([commit])
- Fix inconsistent default values ([commit])
- Use constants for section names ([commit])
- cd024df: Update Swedish Qt translation (Daniel Nylander) [info]
[psx]DuckStation Latest Preview Build 2026/10/07 15:19:55
- ## Commits
- Don't lock in prefetch callback ([commit])
- Don't try to fetch badges without cache ([commit]) [info]
[psx]DuckStation Latest Rolling Release 2026/10/06 11:49:07
- ## Commits
- a304c04: Update duckstation-qt_es.ts (#3808) (PeterDelta) [#3808](https://github.com/stenzek/duckstation/pull/3808)
- Fix a bunch of incorrect release dates ([commit])
- Fix incorrect title being copied into save state header ([commit])
- Use prefix path in cross appimage ([commit]) [info]
[psx]DuckStation Latest Preview Build 2026/10/06 10:03:44
[psx]DuckStation Latest Rolling Release 2026/10/03 05:10:31
- ## Commits
- 2781502e0 SPU: Streamline per-voice flag processing
- 690ead7ee SPU: Vectorize Gaussian interpolation
- 5a7a301a7 SPU: Consolidate capture buffer writes
- a24350c47 SPU: Decode ADPCM nibbles in pairs
- a4904189c VulkanDevice: Use timeline semaphores when available
- ed6720bbf Tests: Fix core-tests building on Windows
- 025ea24fc GPU/HW: Fix typo in CompilePipelines()
- 88ccab2a2 Achievements: Fix some options potentially not live-updating
- 16452a048 Achievements: Check for login request in LoadStateFromBuffer()
- 3c141418a FullscreenUI: Fix extra uneven height in achievement notifications
- 0910d4edc FullscreenUI: Reduce text size of small-mode category badges
- 96268ab66 Qt: Remove empty widget text
- 390c878f7 GameDB: Persona localizedName
- e26fa6091 Update Italian translation (#3798)
- 563c35513 TaskQueue: Add GetOutstandingTasks() and ExecuteOneTask()
- efecb78db Threading: Add GetProcessorCount()
- 0d2e66235 Core: Make TaskQueue thread count dynamic
- 60b06c0e2 ObjectArchive: Use binary keys instead of strings
- 3151c5256 ObjectArchive: Synchronize access internally
- 79371c47a HTTPCache: Use object archive synchronization
- 5420d699e GPUDevice: Use ObjectArchive for shader cache
- 7951eba8a GPUDevice: Support looking up cached shaders and opaque keys
- f541abb11 GPUDevice: Add LoadPipeline() for supported backends
- 5ebeff9c2 GPU/HW: Use UIDs for shader generation
- 7c239271f GPU/HW: Use UIDs as shader cache keys
- 94e5f08f1 GPU/HW: Use multi-threaded shader compilation
- 74a743a5e GPU/HW: Use multi-threaded pipeline compilation
- 6fe06b99e VideoThread: Preserve command queue empty slot
- 7c173d914 VideoThread: Enforce command producer ownership
- 67d594312 VideoThread: Keep successful software fallback
- e0519a899 VideoThread: Use video-owned fullscreen settings
- 7131d9144 VideoThread: Destroy inline reconfigure commands
- c54f16ae5 VideoThread: Snapshot fullscreen state for resize
- 0cad5f505 VideoThread: Dispatch thread toggle failures safely
- 8c6ff3bfc VideoThread: Propagate thread startup failure
- b5f0fb9c3 FullscreenUI: Tweak separator style
- c81a747ff Qt: Add multi-instruction selection to debugger
- 5cc77ac18 Qt: Persist debugger window state
- 9c335d9e0 Qt: Add icons to context menu
- 0874ed65d Qt: Fix empty debugger toolbar window title
- 5b056fc8d Qt: Fix icon missing on newly-added excluded paths
- 024face27 Qt: Add context menu to game list exclusion list
- 28ea031c4 GPU: Add Disable Upscaled Direct Textures option
- 63d72ac15 GameDB: DisableUpscaledDirectTextures for Fear Effect
- d7036f347 Qt: Persist use-serial-file-names in cover downloader
- 6ef27141f MSBuild: Force SHA256 source file hashes
- ef86bf11c InputManager: Add hotkey flag for UI-activatable
- 396dae923 InputManager: Release cancelled hold bindings
- 3d1646517 InputManager: Clear bindings when input is lost
- 0ccc553df InputManager: Fix effect sync device matching
- 3af2d36d6 ImGuiManager: Track text input separately
- 500599143 InputManager: Type button transitions
- e0e692023 FullscreenUI: Add 'Toggle Pause Menu' hotkey
- 142bdc8c8 FullscreenUI: Make cheats/achievements/leadboards hotkeys toggles
- b54fc14bc FullscreenUI: Synchronize pause menu toggle
- 8051b4f0c PerformanceCounters: Ignore reset boundary sample
- b7e20507b Qt: Remove unnecessary usage of QOverload (#3799)
- 2f4724dd1 D3DCommon: Use once_flag for library loading
- 7137ce2be Threading: Add lightweight Mutex/ConditionVariable wrappers
- f46b6a834 Core: Use lock_guard for settings accessors
- bbeac9cfe Core: Use Threading::Mutex for settings lock
- 3bb2b0b1d CDROMAsyncReader: Use lightweight threading abstractions
- 22072c934 Misc: Replace std::mutex with Threading::Mutex
- 00d407c35 CDROMAsyncReader: Convert to namespace
- dbe144407 GPU/HW: Fix missing mask-or application on texture fallback
- ac0e3a5c8 GPU/HW: Add 'Filter Framebuffer Uploads' advanced option
- aaa8a68df GameDB: Enable background texture filtering on more games
- 04f821c04 Qt: Show inherited multi-sampling setting in game properties (#3800)
- 045b83b2d GPU/HW: Add additional texture filters
- a90f008cd GameDB: Fix typo in DisableUpscaledDirectTextures
- 12a1bf9f0 GameDB: Add mouse for Panekit - Infinitive Crafting Toy Case
- 742d2d11b CDROMAsyncReader: Use persistent thread
- c309ca331 CDROM: Fix possible incorrect restart track when playing
- 1b81e5813 FullscreenUI: Avoid double transition on achievements/leaderboards
- 865ed04ef FullscreenUI: Fix toggling between windows with hotkeys
- 3496b6206 FullscreenUI: Fix bullet separator at end of postfx settings
- 61f954854 FullscreenUI: Use popup list for texture filter options
- 24ecfdd94 Misc: Use C++23 elifdef/elifndef
- d01e2ca61 System: Obey optimal frame pacing setting on Linux
- 187ad8f00 GPUDevice: Remove multiple sources of truth for shader dump directory
- bce5e3ddc StringUtil: Fix buffer overflow in BytePatternSearch()
- 73b571c4b Timer: Use pause intrinsics when spin-sleeping
- 3622df217 Common: Use __yield() for CPU-pause on ARM
- 228745147 PageFaultHandler: Fix unused variable warning
- fc8675c95 dep/vixl: Fix deprecated-literal-operator warning
- 60a798cdc StringUtil: Return first match in BytePatternSearch()
- 42cf88c4b dep/googletest: Update to v1.18.0
- 831305b5d Threading: Detect recursive locks in debug builds
- 46532474a Error: Add wrappers for translating messages without object
- 1067ebe9e HTTPDownloader: Use string view and move semantics for callback error
- 46fca8f0d HTTPDownloader: Ensure all callbacks invoke through PollEvents()
- 31a610358 Settings: Turn debug window visiblity into a bitmask
- 5684d1b00 Achievements: Replace recursive mutex with lightweight mutex
- 8f99b60ef Qt: Add missing help text for savetitle/localizedtitle
- 4cd6e30de FullscreenUI: Replace recursive_mutex with lightweight mutex
- 108e721f5 FullscreenUI: Allow verification of runtime-populated images
- 4224e9aab Updater: Directly wait for parent to exit instead of using shell
- 2c9866ef9 Qt: Dynamically adjust log window colours to theme
- 3cb7b0650 Disable auto analog in Trap Gunner; add missing traits for Spyro x Sparx (#3801)
- 473025995 Tests: Fix directory not cleaned up
- 8148a8196 Threading: Add SharedMutex lightweight wrapper
- f0fb6f7e7 Achievements: Avoid deadlock with leaderboard trackers disabled
- 7326f90c9 Achievements: Avoid lock when settings unchanged
- 31d44058a Achievements: Use a second mutex for notification state
- 86b333d18 Qt: Fix per-game achievement notification duration sliders
- bbd84255e Qt: Simplify output latency widget updates
- cd5066662 Qt: Bind audio output volume through regular settings updates
- 288eee1d2 Update duckstation-qt_es.ts (#3802)
- 8e4dbf153 Qt: Fix latency description not updating
- 0d8dda34d Spanish (Spain) translation update 2026/09/24 (#3803)
- 62299a509 LightgunController: Create base class for lightgun controllers
- e68536dcd NeGcon: Create common base class for NeGcon controllers
- d9cb895dd Controller: Unify some of the translation strings
- 73b5a2416 Threading: Add SharedLockGuard helper
- 687178a00 InputManager: Internalise private functions
- ee8b45a83 InputManager: Use atomics for rawinput/pointer count
- 58efbb8c8 InputManager: Use atomics for host pointer position
- 0ae22c1a9 ImGuiManager: Read pointer state directly from InputManager
- 501d3a989 InputManager: Reload input bindings after source hotplug
- d76435ca7 InputManager: Extract internal state to private header
- eed22aa28 InputManager: Use a shared mutex for synchronization
- 7a8e8a077 InputManager: Use SmallString for binding conversions
- aa77ed54d Qt: Move DS5 player LED setting into LED dialog
- 64b1e2b46 SDLInputSource: Simplify polling
- 59e2f1da2 SDLInputSource: Poll immediately after initializing
- 7495b7624 SDLInputSource: Rely on reload to enable accelerometer
- edd41dff1 SDLInputSource: Use persistent identifiers when mapping
- d04078319 GameList: Fix possible null string-view construction
- bbebc317a Common: Use second thread for assertion dialogs
- 608a0c3c2 Common: Use single isb for ARM PauseCPU()
- 4c721f375 VideoThread: Use dynamic spin loop on ARM
- 85c4acea8 Timer: Use global initializer for timer frequency on Windows
- 202c7d839 Qt: Add pill-label css class
- 8293e84b8 Qt: Display bound devices in controller pages
- 62e48451a Win32RawInputSource: Fix wrong OnInputDeviceConnected() call
- a2aa7295e GameList: Use correct string_view constructor
- 79fc5454d Common: Remove unnecessary include
- f9e12bb1e Qt: Simplify mute setting callback
- 56dbfea7f Qt: Fix doubled-up help description
- f1359f0b4 Update duckstation-qt_es.ts (#3805)
- f9ba75404 Atualização Português do Brasil (#3806)
- a2edf2d0f Update Italian translation (#3807)
- 0619481dc MetalDevice: Drop feedback loop path
- dc4e77298 VulkanDevice: Fix incorrect hazard tracking in stream buffer
- 5e54cade9 GPU/HW: Fix background replacements disappearing after TC toggled off
- 10632b92e GPU/HW: Simplify pipeline layouts
- 2ab88c6d9 ImGuiManager: Move blur constants into main UBO
- 285916255 GPUDevice: Remove MultiTextureAndUBO pipeline layout
- de1fd8c66 GPUDevice: Move UNIFORM_PUSH_CONSTANTS_SIZE into base class
- 9fcff157a D3D12Device: Remove MAX_UNIFORM_BUFFER_SIZE
- d901b2590 D3D12Device: Ensure all samplers are initialized in LookupSingle()
- f3d284354 FullscreenUI: Add background image blurring for headers
- c4b4496e9 FullscreenUI: Display subset icon as game icon in subset view
- 616c41d49 ImGuiManager: Stash overlays in separate draw list when transition active
- d78fd23db ImGuiManager: Avoid unsafe read of context pointer on core thread
- 8a46ed8b7 Misc: Replace std::shared_mutex with Threading::SharedMutex
- 60f7ffa2d GPU: Fix scanline sync before vertical_display_start
- bfb23fb8c GPU: Improve CRTC function readability
- 41c1fb10e Qt: Use posix_spawn for updater relaunch on Linux
- a429876f5 Misc: Remove more unused include guards
- 4091d2935 FullscreenUI: Fix change disc menu getting stuck in some scenarios
- 2c1fba1cd FullscreenUI: Size loading screen text and progress separately
- b3b2bbc75 FullscreenUI: Display progress for on-demand game list load
- 2d8e5b68a MDEC: Don't clear output FIFO on new command
- 8d42a0c02 FullscreenUI: Fix compiler warning
- 003ff5a8d Qt: Update machine translations
- 39a1e37be Qt: Update English translation catalog
- 4d3dadd07 CDImageMemory: Read each sector in its native format
- e68431fda CDImagePPF: Handle non-mode2 sectors
- 3f037f268 CDImageCHD: Read out the correct sector size depending on mode
- 8fa9ef539 FullscreenUI: Fix focus reset on escape in game list search
- acad15618 Deps: Update to 20261001
- 14c226762 Qt: Use AppRoot for translations
- fd88101c8 VulkanDevice: Fix spec violation in ROV clear
- 9d00d6b6e GPU/HW: Use correct format for ROV buffers
- 4122fed9a INISettingsInterface: ClearSection() should not create an empty section [info]
[psx]DuckStation Latest Preview Build 2026/10/02 12:46:06
- ## Commits
- Fix spec violation in ROV clear ([commit])
- 9d00d6b: GPU/HW: Use correct format for ROV buffers (Stenzek)
- ClearSection() should not create an empty section ([commit]) [info]
→ [psx]DuckStation Latest Preview Build 2026/09/23
[psx]DuckStation Latest Preview Build 2026/09/23 09:33:36
- ## Commits
- 3cb7b06: Disable auto analog in Trap Gunner; add missing traits for Spyro x Sparx (#3801) (bl@ck_m@ge) [#3801](https://github.com/stenzek/duckstation/pull/3801) [info]
[psx]DuckStation Latest Preview Build 2026/09/21 07:31:29
- ## Commits
- Return first match in BytePatternSearch() ([commit])
- 42cf88c: dep/googletest: Update to v1.18.0 (Stenzek) [info]
[psx]DuckStation Latest Preview Build 2026/09/17 07:41:12
- ## Commits
- Persist use-serial-file-names in cover downloader ([commit])
- Force SHA256 source file hashes ([commit])
- Add hotkey flag for UI-activatable ([commit])
- Release cancelled hold bindings ([commit])
- Clear bindings when input is lost ([commit])
- Fix effect sync device matching ([commit])
- Track text input separately ([commit])
- Type button transitions ([commit])
- Add 'Toggle Pause Menu' hotkey ([commit])
- Make cheats/achievements/leadboards hotkeys toggles ([commit])
- Synchronize pause menu toggle ([commit])
- Ignore reset boundary sample ([commit])
- Remove unnecessary usage of QOverload (#3799) [#3799](https://github.com/stenzek/duckstation/pull/3799) ([Davide Pesavento][commit]) [info]
[psx]DuckStation Latest Preview Build 2026/09/15 05:03:55
- ## Commits
- Add GetOutstandingTasks() and ExecuteOneTask() ([commit])
- Add GetProcessorCount() ([commit])
- Make TaskQueue thread count dynamic ([commit])
- Use binary keys instead of strings ([commit])
- Synchronize access internally ([commit])
- Use object archive synchronization ([commit])
- Use ObjectArchive for shader cache ([commit])
- Support looking up cached shaders and opaque keys ([commit])
- Add LoadPipeline() for supported backends ([commit])
- 5ebeff9: GPU/HW: Use UIDs for shader generation (Stenzek)
- 7c23927: GPU/HW: Use UIDs as shader cache keys (Stenzek)
- 94e5f08: GPU/HW: Use multi-threaded shader compilation (Stenzek)
- 74a743a: GPU/HW: Use multi-threaded pipeline compilation (Stenzek) [info]
[psx]DuckStation Latest Preview Build 2026/09/13 18:24:16
- ## Commits
- 025ea24: GPU/HW: Fix typo in CompilePipelines() (Stenzek)
- Fix some options potentially not live-updating ([commit])
- Check for login request in LoadStateFromBuffer() ([commit])
- Fix extra uneven height in achievement notifications ([commit])
- Reduce text size of small-mode category badges ([commit])
- Remove empty widget text ([commit]) [info]
[psx]DuckStation Latest Rolling Release 2026/09/12 14:20:15
- ## Commits
- 9287950af VideoPresenter: Fix prerotation handling with blur/transitions
- b0f7c5c16 Update duckstation-qt_es.ts (#3792)
- 20b626d41 MSBuild: Explicitly list plugins to copy
- e05146d7a MSBuild: Track Qt translation outputs
- 1e2ee51b1 MSBuild: Track Qt resource outputs
- 8c7b74ca2 MSBuild: Fix Qt MOC dependency tracking
- bf15b0df6 MSBuild: Generate Qt MOC files in parallel
- 46364b24b MSBuild: Track QRC asset dependencies
- 7652c0446 MSBuild: Generate Qt translations in parallel
- 78cd1f248 MSBuild: Generate Qt UI headers in parallel
- f34d2c475 Achievements: Add category badge to popup
- f1d54ab74 Qt: Fix trailing slash being added to game directories
- ec81e45b2 Settings: Disable gpu_force_video_timing in hardcore mode
- 274143dfd CI: Update deps to 20260905
- 9c91b9156 Common: Remove unused include
- 7762f953c Build: Use C++23 across the board
- 6f23cc25d System: Allow live-changing console region
- 31948bcb5 Misc: Use static operator()
- 084bc6fb3 Achievements: Fix padding in notifications/lists
- 1cafea4e5 Qt: Slight improvement to track summary list
- b91b9b247 Qt: Add RA Game ID to game properties
- c05866d2b Qt: Add styling to select disc dialog
- ebc51ff0c System: Don't copy non-sensitive user preferences to game settings
- f1f8ee797 System: Disable post-processing when resetting settings
- 75448944d dep/rcheevos: Bump to e871ef5
- d9182a04d Qt: Add threads view to debugger
- 118bb6616 Qt: Add call stack to debugger
- 4a0cdd2dc Qt: Link stack view to memory view
- 5100c5164 Qt: Use QPointer in DebuggerWindow
- 3bc1e8cdf SettingsInterface: Create type aliases for string lists
- 3eee1e61e INISettingsInterface: Don't set dirty if unchanged in SetKeyValueList()
- 92fb83b6a Qt: Save debugger breakpoints to inis
- f5ffb6b51 System: Fix unused function warning
- 5aeeb72e6 VideoThread: Fix rare crash if device initialization fails
- 0d33bd177 Settings: Ensure pcdrv_root is a native path
- 3f44ac2e9 Deps: Bump to 20260906
- f39feb9d8 Image: Load libpng/libjpeg/libwebp dynamically
- fa77cd485 CMake: Don't unnecessarily bundle
- c359ccfcb DynamicLibrary: Log loaded library paths on Linux
- 2179487e5 SDLInputSource: Remove unused variable
- fa935c296 SQLiteHelpers: Format file
- 38751bdf7 SDLInputSource: Load SDL dynamically
- 025872c52 Qt: Warn when LD_LIBRARY_PATH is overridden on Linux
- b42b6981e Qt: Create desktop file before setup wizard on Linux
- f1f6b0ee7 ImGuiManager: Load FreeType/plutosvg dynamically
- 3ccc0c45f Util: Centralize dynlib loading
- 17a721c8f ZipHelpers: Load libzip on-demand
- 1f065b5ea CMake: Make bundle building on MacOS optional
- d9071e49b CocoaTools: Return nullopt if not running from bundle
- 69fe55034 DynamicLibrary: Drop MacOS Frameworks hack
- 0fbd997d4 Misc: Remove atexit() usage
- 0206d926f SDLInputSource: Centralize SDL subsystem loading
- 7d169057d README: Update feature list
- e05b9b9f9 FullscreenUI: Fix 'Use Global Setting' showing in global postfx settings
- 3f5dca5ce FullscreenUI: Use expand icon for dropdowns
- 2cb1bf7b9 GPUDevice: Add SingleTextureAndUBOAndPushConstants layout
- 91c5a79b2 FullscreenUI: Use SingleTextureAndUBOAndPushConstants for blur apply
- 4973361c5 GameList: Add AudioCD type
- 00989b7ec Qt: Make game properties inaccessible for PSF/Audio CDs
- 0cb515fe4 GameList: Reorder list entry types
- 1d07ae225 Update duckstation-qt_es.ts (#3794)
- 73c226615 DynLibs: Fix libjpeg load regression on Windows
- 35d1f0629 Atualização Português do Brasil (#3793)
- 443ef825b Qt: Merge import buttons in the memory card editor (#3795)
- cbe7951be CPU/CodeCache: Remove thread_local recursive guard
- 1ab327d6d GPUDevice: Drop SingleTextureAndUBOAndPushConstants
- 3b30876e9 l10n: update Swedish Qt translation (#3796)
- c66b2694d DynLibs: Fix libwebp loading on Windows [info]
→ [psx]DuckStation Latest Preview Build 2026/08/28
[psx]DuckStation Latest Preview Build 2026/08/28 09:16:27
[psx]DuckStation Latest Preview Build 2026/08/23 18:52:02
[psx]DuckStation Latest Rolling Release 2026/08/12 04:17:17
- ## Commits
- 381ac7d1e MediaCapture: Fix incorrect samples on buffer wrap-around
- b3d594a9a MediaCapture: Remove Flush() method
- 4f72f4034 MediaCapture: Fix possible corruption in audio-only capture
- 049437e42 MediaCapture: Resample audio when encoder doesn't support 44.1KHz
- 8b9aaf787 MediaCapture: Display OSD warning when resampling
- d33d3b82c Qt: Rework media capture menu
- 6e0fb1e14 FullscreenUI: Add InputTextWithSuffix()
- e2e4bae61 Settings: Ensure overlays directory exists in user resources
- 56fa9dc61 Qt: Add refresh button to border overlay list
- 12f012caa Spanish (Spain) translation update 2026/07/27 (#3777)
- dc75335a7 Scripts: Translation tools experiments
- 551aaa439 RegTest: Fix compile error
- 8747aa183 Atualização Português do Brasil (#3778)
- 4a04d3143 SPU: Fix volume sweep termination conditions
- f6c4fe987 Achievements: Rename softcore to casual (#3779)
- 2246697be BIOS: Add version information and filenames to list
- 145474389 Qt: Allow empty recommended value in settings help
- 30d351e4e Qt: Add CollapsibleWidget
- 8dbc47606 Qt: Add BIOS Installer and improve BIOS setup page
- 351778e44 Qt: Update machine translations
- 406f325b2 Qt: Fix BIOS summary not updating on language change
- 9c7c23f48 Qt: Fix main window language not updating after setup wizard
- 57b952ab2 Timers: Improve emulation accuracy
- 7c93a61ee Qt: Further simplify BIOS setup wizard page
- 07401690b Qt: Fix crash opening game settings
- 202923da5 Qt: Correct some clearly awful translations
- 7111f4c12 Update duckstation-qt_es.ts (#3780)
- b5a990bbd MemoryCard: Use constants for address and offset mask
- c42082c4b StateWrapper: Avoid heap allocation in FIFOQueue read
- f3d0e84b0 StateWrapper: Avoid possible integer overflow on 32-bit systems
- 865fd9e57 StateWrapper: Save contiguous FIFOQueue bytes in one memcpy()
- 97400d2d0 StateWrapper: Clamp enum values to max
- b147f1ffd FIFOQueue: Zero out head/tail when size reaches zero
- e95e5a0d2 FullscreenUI: Right-align achievement type badges
- 18147a175 GPUBackend: Fix possible unflushed draws with runahead enabled
- 4d700e468 MDEC: Ensure direct FIFO writes don't overflow
- 26fa2ee4a MetalDevice: Fix a few leaky object retains
- c07bf47d6 CDImageCue: Validate bits-per-sample for wave files
- ecbe3c3b7 MemoryCardImage: Don't over-enumerate directory frames
- 76f01d8c9 Misc: Fix under-allocation in sjis2utf8()
- d6d8a7be1 CDImageCue: Fix implicit truncation warning
- e86af51c8 Deps: Update bundled ffmpeg headers to 9.0
- 6d0feff2f Deps: Update to 20260805
- 3fed119df MediaCapture: Default to H264 on all platforms
- 12a4a2648 Util: Avoid intermediate memory allocation in Shift-JIS conversion
- 8a2c05ce5 Image: Avoid integer overflow for dimensions
- 99fc655fa Updater: Fix possible path traversal during preprocessing
- ebd090340 Updater: Fix possible infinite loop
- 1fbfbb57d System: Fix implicit 32-bit truncation of screenshot size
- 2c8e998da Spanish (Spain) editing pass - 2026/08/05 (#3781)
- 6e242f5cb Bus: Flush line buffer after 512 characters
- ca5cc7374 GPU: Add missing serialization of polyline buffer
- f92b1a81d GPU: Add some simple checks to the polyline buffer
- cd5e48af9 StateWrapper: Add max size checks to vector/string data
- 2688a1dfc Achievements: Fix possible read past end of memory in callback
- e48b3e302 Cheats: Fix possible OOB reads in malformed instructions
- d3ff0b364 PSFLoader: Add missing header size checks when loading
- a8a098a0a Common: Valid BCD functions should return boolean
- b9cf3bbf0 CDImagePBP: Add missing validation of BCD digits
- 467d0971b CDImagePBP: Check SFO index table count before reading
- e0734381a CDImageMDS: Fix a bunch of possible buffer overreads
- 6651f4d19 ISOReader: Fix possible integer overflow in GetSizeInSectors()
- f1029b2df AnimatedImage: Fix possible integer overflow of dimensions
- f11b43227 System: Add option to install BIOS when missing
- 8778034bf RegTest: Fix compiling again
- e175c8422 Bus: Pack state in struct
- 5245a58b0 Settings: Fix invalid memory card values after install
- 213c5b450 VideoPresenter: Use transfer pitch for screenshots
- b3b57a2a0 VulkanDevice: Bind initial compute pipelines correctly
- bbac943b5 VulkanDevice: Expose shared UBO binding to compute shaders
- fc3e117f8 VulkanDevice: Synchronize compute image accesses
- 4b5edbb85 VulkanDevice: Preserve mapped texture upload pitch
- 6584adde9 VulkanDevice: Fix download buffer barrier ranges
- 037ee47f7 VulkanDevice: Validate imported host buffer memory
- 668f39fab VulkanDevice: Wait for presentation before swapchain teardown
- 846236538 VulkanDevice: Address texture array subresources
- 5f40f0ac1 VulkanDevice: Select advertised surface format pairs
- 40e178787 VulkanDevice: Fix legacy render pass attachments
- d1720c040 VulkanDevice: Respect fixed surface extents
- a8de757b9 VulkanDevice: Store compute specialization values
- 7b690ec1f VulkanDevice: Reset descriptor builder storage
- 69c5051a8 D3D12Device: Restore state after mipmap rendering
- a8c9324f4 D3D12Device: Transition cleared compute targets to UAV
- 6e2f06a55 D3D12Device: Bound persistent descriptor allocation
- 227389010 D3D12Device: Create texture arrays with all layers
- b5f821bf4 D3D12Device: Transition all uploaded subresources
- 402f9207f D3D12Device: Set render-pass clear formats
- a4a03c476 D3D12Device: Assert alignment of download texture footprints
- 685cf83c8 D3D12Device: Order dependent compute UAV accesses
- 7b1596120 D3D12Device: Fix incorrect push constant root parameter index
- 41ee40215 D3D12Device: Track readback source usage
- 48a1a06f5 Qt: Don't try to load HTTP URLs as animated images in game list
- 2f9c58762 FullscreenUI: Fix shared memory card selection
- 4431915b4 FullscreenUI: Expose multitap memory cards
- 6f704d405 FullscreenUI: Fix shared card name not disabling if unused
- ee21478ad GPU/HW: Don't miss updating read texture for recursive draws
- f7797b57e Controller: Add 'Disable Simultaneous Opposing Cardinal Directions' option
- 0697597c5 Controller: Make mandatory functions pure virtual
- d92fe3dac Data: Move all PromptFont glyphs to unallocated range
- f04e08b24 GDBServer: Fix stop reply acknowledgements
- 1a9379bd6 GDBServer: Support continue addresses
- a36b75716 GDBServer: Support single-step addresses
- c7324e333 GDBServer: Preserve unchanged resume state
- 05166d1a7 GDBServer: Track the last stop signal
- 3885778a2 GDBServer: Reply to invalid command arguments
- aea374641 GDBServer: Validate complete packet fields
- 4e0940500 GDBServer: Apply register writes atomically
- 7c279dc96 GDBServer: Invalidate code after memory writes
- 8d7046a89 GDBServer: Bound remote packet sizes
- 60a4ec363 GDBServer: Queue complete protocol packets
- 54d074fb6 GDBServer: Retransmit rejected replies
- cba85882a GDBServer: Reject oversized incoming packets
- d176e31aa GDBServer: Support signal resume packets
- fe32554cc GDBServer: Restore run state after disconnect
- c2418520e GDBServer: Notify host when first/last client connects/disconnects
- 0a00cbc3c GDBServer: Send invalid instead of zero values for extra registers
- ac6d89919 GDBServer: Disable nagle buffering on connect
- 71c88506e GDBServer: Track breakpoint ownership
- e3bea1978 GDBServer: Expand watchpoint ranges
- b147ed63d CPU: Enumerate actions for callback breakpoints
- 86360211b GDBServer: Report watchpoint stop details
- fa5e11116 GDBServer: Use indexing instead of range-based for
- 30fa5b4c4 Qt: Rename background controller poll to idle update
- c7f282f18 Core: Use multiplexer to idle sleep for GDB server
- 3bb39f4e3 ELFFile: Skip embedded PS-X EXE header segments
- 2cf108618 GDBServer: Fix unused capture warning
- cf2495759 Qt: Implement mouse capture using CoreGraphics
- e2b78d4ca Qt: Tie relative mouse state to the active window
- 8c1a2022e GDBServer: Expose target memory map and registers
- c8abcf4b2 GDBServer: Expose GTE registers
- 8a96948a8 GPUDevice: Use same buffer sizes across backends
- 89fb3ad33 DMA: Hardwire reverse direction for OTC
- d59fcfb9d ImGuiManager: Support rendering Hebrew text
- 8ec85e305 Qt: Update machine translations
- 232c9ad9f Achievements: Make password login asynchronous
- 2c3261209 Qt: Simplify logout callback
- 9f9009d64 Achievements: Ensure callbacks run on core thread for RAIntegration
- 04f4f1ba2 Achievements: Respond to RAIntegration reset request
- 1f925f86e Misc: Add a couple of missing fmt/format.h includes
- b2f9c8fba Misc: Fix deprecated implicit conversion of fstring->string_view
- c130fc12c dep/fmt: Update to v12.2.0
- 5ee1d2569 GameDB: Disable PGXP/WS in Vanark
- 5fd366809 Achievements: Don't double-free login callback on request failure [info]
[psx]DuckStation Latest Preview Build 2026/08/11 11:25:28
- ## Commits
- Don't double-free login callback on request failure ([commit]) [info]
[psx]DuckStation Latest Preview Build 2026/08/06 15:52:02
→ [psx]DuckStation Latest Preview Build 2026/08/04
[psx]DuckStation Latest Preview Build 2026/08/04 17:40:38
- ## Commits
- Use constants for address and offset mask ([commit])
- Avoid heap allocation in FIFOQueue read ([commit])
- Avoid possible integer overflow on 32-bit systems ([commit])
- Save contiguous FIFOQueue bytes in one memcpy() ([commit])
- Clamp enum values to max ([commit])
- Zero out head/tail when size reaches zero ([commit])
- Right-align achievement type badges ([commit])
- Fix possible unflushed draws with runahead enabled ([commit]) [info]
[psx]DuckStation Latest Preview Build 2026/08/01 15:51:36
[psx]DuckStation Latest Rolling Release 2026/07/25 05:32:03
- ## Commits
- 9c79341cf CueParser: Handle rarely-used commands
- b89e1bfeb CDImage: Support reading non-mode2/raw sectors
- 94f11f9ba CDImage: Rewrite memory image (preloading)
- 2880f88d8 MMPX Enhanced/Advanced clamp-to-transparent out-of-bounds mapping (#3774)
- 31ab18b25 SPU: Wraparound is unlikely in ReadADPCMBlock()
- 2cdf99d8a MediaCapture: Improve MF setup robustness
- f383c3fa1 MediaCapture: Remove AV1/VP9 options from MF list
- e04d89065 MediaCapture: Improve ffmpeg hardware encoding
- 8612996ea MediaCapture: Drop ffmpeg pre-7.x fallback
- 0275d6df9 MediaCapture: Clear state before deleting output file
- d4844036c Qt: Capture dialog improvements
- 35bcff152 Achievements: Animate unlock progress bar
- 31c682943 FullscreenUI: Fix another debug assertion in single-threaded mode
- 8a98ed820 FullscreenUI: Relax condition for closing immediately on resume
- a421b5b11 FullscreenUI: Add 'None' transition effect
- ad7519d72 FullscreenUI: Add queued texture recyling
- 8a1dbb169 CDROM: Refactor invalid command handling
- f8c9301f4 MSBuild: Remove non-existant file
- e39033c44 Qt: Remove unused scripts
- 9c35fdc94 MMPX :fix a transparent pixel bug & Adjusted floating-point tolerance (#3776)
- 39fe70c84 CI: Bump actions/checkout to v7 (#3775)
- b42e1c9f2 System: Slightly reduce memory save state struct size
- 09467d50e Qt: Add icon extraction to memory card editor
- 4730d795b Qt: Add icons to memory card editor buttons
- 4069271eb Qt: Make SetWindowRoundedCornerState() take an optional boolean
- 5f9e7f69b Qt: Work around Qt fullscreen border bug
- 42bf523e8 Data: Update SDL Game Controller DB
- eb4b87cfa Achievements: Fix inverted condition for new game additions
- a233ec1fb Qt: Fix deprecation warning [info]
[psx]DuckStation Latest Preview Build 2026/07/21 13:02:35
- ## Commits
- Make SetWindowRoundedCornerState() take an optional boolean ([commit])
- Work around Qt fullscreen border bug ([commit])
- Update SDL Game Controller DB ([commit]) [info]
[psx]DuckStation Latest Preview Build 2026/07/19 12:51:32
- ## Commits
- Slightly reduce memory save state struct size ([commit])
- Add icon extraction to memory card editor ([commit])
- Add icons to memory card editor buttons ([commit]) [info]
→ [psx]DuckStation Latest Preview Build 2026/07/17
[psx]DuckStation Latest Preview Build 2026/07/17 04:52:24
- ## Commits
- 9c35fdc: MMPX :fix a transparent pixel bug & Adjusted floating-point tolerance (#3776) (crashGG) [#3776](https://github.com/stenzek/duckstation/pull/3776)
- Bump actions/checkout to v7 (#3775) [#3775](https://github.com/stenzek/duckstation/pull/3775) ([Davide Pesavento][commit]) [info]
[psx]DuckStation Latest Preview Build 2026/07/13 13:42:30
[psx]DuckStation Latest Preview Build 2026/07/11 14:43:16
[psx]DuckStation Latest Preview Build 2026/07/11 07:48:55
[psx]DuckStation Latest Preview Build 2026/07/08 11:19:51
- ## Commits
- Handle rarely-used commands ([commit])
- Support reading non-mode2/raw sectors ([commit])
- Rewrite memory image (preloading) ([commit]) [info]
[psx]DuckStation Latest Rolling Release 2026/07/08 03:59:01
- ## Commits
- abf946c88 Update ukrainian translation (#3762)
- c80552f1c Ukrainian translation v2 (#3764)
- ab30d1da5 FileSystem: Make CopyFilePath() atomic
- acfd60ea5 Deps: Update to 20260702
- 7be44a41c FullscreenUI: Fix incorrect effect in save state selector
- 4c39eac52 FullscreenUI: Fix incorrect layout in ProgressDialog
- 3441574be CDImage: Add some more helper functions
- c3af062bf Qt: Move image verification logic to GameDatabase
- c05726a48 FullscreenUI: Add image verification
- 685b2f7d2 FullscreenUI: Add easing to ProgressDialog bar
- 4bc8ace9b Qt: Add CardRadioButton
- 866d23042 Qt: Add interface and view types to setup wizard
- f31d99e77 Qt: Add animation to setup wizard
- 7316cce3d Qt: Fix path in update-and-edit-english.bat script
- bb3fede3f Qt: Update English plural translations
- 9c1500f1a Qt: Add pause menu hotkey to setup wizard
- 6d7163c54 Qt: Remove note about renderer from setup wizard
- d9106576f Qt: Don't save window position when hidden
- 5dd559c15 FullscreenUI: Fix transition glitch when loading with no states
- fce1b1e30 Cheats: Use .org as insertion point in assembly codes
- 7bed00d02 Cheats: Support branch labels in assembly codes
- 36a85ffbf Cheats: Expand test coverage
- 7c9351278 Cheats: Fix incorrect nullopt return
- e79eb42f7 Cheats: Fix incorrect bitmask for 32-bit option values
- 46efde0b1 Qt: Respect SH_Widget_Animation_Duration style hint
- bf1801cb2 Qt: Add missing singular forms to English "translation"
- f9cf0db0b FullscreenUI: Fix styling of input string dialogs
- 4616c8513 FullscreenUI: Add custom title/disc set title/serial editing
- a6d24175d FullscreenUI: Make game summary more compact
- a0a4159c8 FullscreenUI: Fix overlap in modal progress with empty status text
- 3968606be GameDatabase: Don't leave verify status text empty
- e2a654715 FullscreenUI: Switch to list page on settings open from game list
- 4f51c2dcb Qt: Warn when upscaling is enabled without PGXP
- 0c87b0726 Cheats: Accept ".org 0x12345678" and "0x12345678:" to set pc
- c8e6dc5c6 Qt: Add settings-window class to setup wizard
- c0074b9b5 Qt: Use item view for game list directories
- 82518c5b0 Scripts: Extend translation validation/linters
- 083592488 Qt: Update ja and zh-CN translations
- d79464128 Qt: Slightly increase settings category size
- 584999e3f Qt: Give proper names to widgets in setup wizard
- 79c08b648 Qt: Remove multiple sources of truth for supported formats
- 5d4661310 Achievements: Centralize profile URL building
- fb994670e Qt: Match achievements login between settings/setup wizard
- 674af5152 Scripts: Relax rich-text checks in the translation validator
- 90c96dc94 Qt: Fix a decent number of strings missing from lupdate
- c46a1dc53 CI: Only validate changed translation files on PR
- 3d544d4ed Qt: Fix upscaling warning always showing in setup wizard
- 7d4b97d19 Qt: Fix missing translation of default update channel
- 12df0cd11 Qt: Fix duplicate message context in debugger error
- c2f8d3298 MediaCapture: Mark missing translatable strings
- dd6354143 AudioStream: Fix backend name not translating
- 2cf04c92a Qt: Remove duplicate translation strings
- 982a35e6e Qt: Cancel search when pressing Esc (#3767)
- 7dde4794b Update Spain translation (#3768)
- bc057d9f7 Qt: Restore focus frame on QLineEdit with macOS native theme (#3771)
- fa19df308 Update qttranslations.inl (#3772)
- 2b1de6278 Qt: Fix empty gamesettings ini being saved on close
- 7651d288b Qt: Use simpler text widgets in cover downloader and game summary (#3773)
- 6194f08a9 Achievements: Always identify game on startup
- 59247c84b Achievements: Move game hash calculation to system
- eeda898c2 Achievements: Separate login and progress requests
- 43294ac04 FullscreenUI: Avoid unnecessary mutex lock
- aa6b3777a GameDatabase: Make track hashes private
- 6931f890b GameDatabase: Fix revision not showing after verification
- e7f2f101c Qt: Fix inverted delayed show condition in QtAsyncTaskWithProgressDialog [info]
[psx]DuckStation v0.1-11515 2026/06/29 06:03:01
- ## Commits
- 498921157 dep/rcheevos: Bump to 9ade739
- 63caefb96 dep/rcheevos: Add game list functions to rc_client
- 2f3067ab4 CMake: Use C99 to build rcheevos
- eae17a4d7 Util: Add SQLite helpers and dynamic loading
- 1230c8398 Achievements: Update seed hash database
- 98ec05550 Achievements: Swap to sqlite-backed storage
- cfde5bf5c Achievements: Move achievement pinning to database
- e9bd041e2 Achievements: Add missing DB load check in a couple of places
- cd7d35cf7 SQLiteHelpers: Fix load failure on Windows
- 3260ba807 Deps: Update to 20260614
- a05171d08 Achievements: Fix crash in database updates on unknown media change
- 1cce275db Achievements: Don't update game database on disc change
- cdce0f7a3 CI: Bump to LLVM 22
- a3dbace1a Hotkeys: Display reason why rewind is unavailable
- 4144c1e09 GPU: Eliminate redundant type comparions in FillDrawCommand()
- 77fe65995 GPU: Inline draw mode into state struct
- 15ad0024d TimingEvent: Use const char* for name instead of string_view
- d22950c57 GPU: Add disable texture/vertex lighting debug options
- 9fe36d9c0 Misc: Reduce unnecessary struct padding
- 31c218360 Qt: Use atomic for auto close flag
- 4c698e735 Qt: Add menu item to refresh achievement database
- f7ce14e81 ZipHelpers: Move to util project and source file
- 97ae01391 Hotkeys: Add 'Select Next Slot and Save State'
- 9d0eec772 Qt: Disable global save states by default
- 64f0689b6 Qt: Remove unused signal in SettingsWindow
- 0dd6e5cef Qt: Disable tab key navigation on game list (#3752)
- c712c7b29 Qt: Fix keyboard navigation in game list after searching (#3753)
- 8f6b1b630 FullscreenUI: Add reset option to directory selector
- ef8a1fcee Core: Fix setting reset wiping out user preferences
- c0a8d9dac FullscreenUI: Fix global states always showing in menu
- b19347eed Add complete Ukrainian translation for Qt interface (#3754)
- cd0c961ec Qt: Add Ukrainian translation to list
- a64851a1f HTTPDownloader: Remove redunadant request casts
- 6357732c8 feat(shader): add Scanline Modern 4x2 adaptive retro filter (#3755)
- 39cb9af98 update spanish translation (#3756)
- e6694d1e2 Fix scanline flicker caused by precision drift at boundaries (#3758)
- 553b133b9 Spanish (Spain) translation update 2026/06/22
- 5828adfed Qt: Normalize x in es-ES translation
- cd7b4e535 Qt: Remove placeholder text from a bunch of ui files
- 5be86a0f3 Qt: Remove redundant translation strings in capture settings
- 99498ad0c MSBuild: Flag ts files as correct type
- ba6ae234b Qt: Rework speed controls to be less confusing
- 6dd972a38 FullscreenUI: Add zoom/slide transition effects
- 1ffee7175 Qt: Fix unused variable warning
- b43807a2b CPU: Add MIPS assembler
- efed642cf Qt: Add 'Patch Instruction' and 'Nop Instruction' to debugger
- 34df972d8 Cheats: Add 'Assembly' code type
- b1106392b Qt: Use fixed-width font for cheat code editor
- 17f54f1a2 Qt: Fix missing styling of QPlainTextEdit
- b4834b982 CPU: Add targeted icache invalidation
- 74fac973e Cheats: Invalidate icache when writing (likely) assembly codes
- 91273f2b3 CPU: Eliminate default branch in icache fill
- 487a16193 FullscreenUI: Add a couple of missing transition effects
- 7d002d352 FullscreenUI: Fix a couple of issues with modal progress
- ef84883dd Sockets: Fix incorrect WSAStartup() call
- 90c70407c VideoThread: Fix debug assertion tripping in single-threaded mode
- 032d89447 Qt: Update redump hash lookup URL
- c22c1cbc4 Settings: Load config for all memory cards
- 75be5531a Qt: Add configuration of multitap memory cards
- 352bb0d7f Qt: Move save state backup setting to memory card page
- eccc1e054 FullscreenUI: Add start-in-big-picture-mode option
- 4a9776541 Qt: Tidy up main() function
- 73967c5c4 InputManager: Fix cloning multitap profiles
- 9e4ef8bd6 System: Only use fast forward volume for >1 speed
- e409f884d Settings: Remove unused function
- 57a77b433 GameList: Force refresh when starting disc change
- ad705e7d8 Qt: Fix saved geometry being lost in nogui mode
- 92d3f8e6e Atualização Português do Brasil (#3760)
- a9cc936ba Qt: Minor UI consistency fixes (#3761)
- ffd9d40d6 Qt: Add Register button for achievements
- fa1b4b748 CMake: Silence resource copy messages
- f1e089374 System: Fix mute volume [info]
[psx]DuckStation v0.1-11443 2026/06/28 05:56:56
- ## Commits
- 2b1a6cf2b Qt: More appropriate icon for "Search on Redump" button
- a90182445 Qt: Improve icon consistency
- 15d8f68d3 Merge pull request #3747 from Pesa/overlap
- 00149a5be Qt: Disable buttons if controller port is empty (#3748)
- 2f0cd4d4c DiscDB: Remove duplicate entries for some multi-disc games
- 8dd88aad2 Qt: Make verify serial mismatch message clearer
- e21bf74f2 Qt: Replace most _L1 usage with _s
- 22ee4c076 CMake: Build with immediate binding/full relro
- e23bc84bb Achievements: Always prefetch game badge before achievement badges
- 02a41fa06 GameDB: Add metadata to `King's Field 3 - Pilot Style` (#3749)
- 8ac294d4f CDROM: Fix DisableReadSpeed() never having any effect
- 2c6ac7d4f CDROM: Add manual control of lid state
- 1d71915fb CDROM: Show effective read speed in debug window
- 18f581ef9 CPU: Use ternary in CPU::WriteRegDelayed()
- 667e1147a CPU: Add branch hints to interpreter dispatch
- 2b5baa1b8 CPU: Add more branch hints to interpreter
- 0b700d1b8 GTE: Eliminate bounds check in dispatcher
- 2f8e9a851 MSBuild: Enable strict aliasing for clang
- c660f8532 CPU: Use table lookup for mfc0
- 1f7fcb8c9 GameList: Fix race condition when refreshing from two sources
- 134f17239 Achievements: Don't tear down persistent state on enable toggle
- 8bf9562c3 Achievements: Fix hardcore toggle not showing summary
- 944beca2c Achievements: Populate saved credentials in ProcessStartup()
- cae25968f Achievements: Move init functions to private header
- 1e6a006bd Controller: Make center a distinct value
- 24fb22acf Controller: Move helper functions into their own file
- 0ec7d2bd4 Misc: Remove redundant static qualifier from force-inline functions
- 37878497b Qt: Disable labels for controller setting descriptions
- 2a32d7014 Qt: Fix white-on-light icon colours in Classic Windows theme
- c1adcb5a4 Qt: Fix initial icon colours in native theme
- a4e3afcdd Release MMPX Advanced v3.2: Optimize and Clean (#3750)
- f228b009c CDROM: Hopefully fix rare case of command event loss with states
- 0e0ef21d0 System: Clear memory save states on reset
- 09008bb3a Qt: Round round texcoords only applies to 3D
- ba08a6f70 Qt: Hide FSUI theme and font settings from game properties (#3751)
- 770cc586f Settings: Don't copy advanced/hidden settings to game
- a7a5faeb1 Qt: Fix warning in graphicssettingswidget.cpp
- 76ca9b15d Qt: Suffix unavailable audio and video devices
- fa167cab8 FullscreenUI: Add InputTextWithIcon()
- b3e8543ba FullscreenUI: Make ResetFocusHere() return a boolean
- 632aab3a0 FullscreenUI: Use InputTextWithIcon() for achievements login
- 1c89c6436 FullscreenUI: Add search to game list
- ce14eefd5 ObjectArchive: Swap to HTTPCache log channel
- 3a9856660 FullscreenUI: Fix input text text colour in light theme
- 6efef5b66 GameDB: PGXP-CPU for Digimon World 2
- c1a9d78e7 RegTest: Fix crash on startup
- c20a5c752 CPU: Copy entire value for zero shift cases
- c8064e75d CPU: Fix flipped operands on PGXP shifts in recompiler
- 0b4dfcd04 Settings: Remove unused field
- b7b31ef97 Qt: Use 'Global' instead of 'Default' for inherited spinners
- 2c527f4f2 Qt: Add reset buttons for tolerance/depth threshold
- 7d1996827 Qt: Fix memory leaks in SVG helpers
[info]
→ [psx]DuckStation Latest Preview Build 2026/06/24
[psx]DuckStation Latest Preview Build 2026/06/24 14:23:06
- ## Commits
- Add MIPS assembler ([commit])
- Add 'Patch Instruction' and 'Nop Instruction' to debugger ([commit])
- Add 'Assembly' code type ([commit])
- Use fixed-width font for cheat code editor ([commit])
- Fix missing styling of QPlainTextEdit ([commit])
- Add targeted icache invalidation ([commit])
- Invalidate icache when writing (likely) assembly codes ([commit])
- Eliminate default branch in icache fill ([commit])
- Add a couple of missing transition effects ([commit]) [info]
[psx]DuckStation Latest Preview Build 2026/06/23 05:43:50
- ## Commits
- e6694d1: Fix scanline flicker caused by precision drift at boundaries (#3758) (crashGG) [#3758](https://github.com/stenzek/duckstation/pull/3758)
- 553b133: Spanish (Spain) translation update 2026/06/22 (IlDucci)
- Normalize x in es-ES translation ([commit])
- Remove placeholder text from a bunch of ui files ([commit])
- Remove redundant translation strings in capture settings ([commit])
- Flag ts files as correct type ([commit]) [info]
[psx]DuckStation Latest Preview Build 2026/06/22 13:05:34
- ## Commits
- 39cb9af: update spanish translation (#3756) (fox140cv) [#3756](https://github.com/stenzek/duckstation/pull/3756) [info]
[psx]DuckStation Latest Preview Build 2026/06/21 09:36:46
- ## Commits
- b19347e: Add complete Ukrainian translation for Qt interface (#3754) (beazerdred) [#3754](https://github.com/stenzek/duckstation/pull/3754)
- Add Ukrainian translation to list ([commit])
- Remove redunadant request casts ([commit]) [info]
[psx]DuckStation Latest Preview Build 2026/06/20 11:30:56
- ## Commits
- Reduce unnecessary struct padding ([commit])
- Use atomic for auto close flag ([commit])
- Add menu item to refresh achievement database ([commit]) [info]
→ [psx]DuckStation Latest Preview Build 2026/06/15
[psx]DuckStation Latest Preview Build 2026/06/15 15:55:56
- ## Commits
- Fix crash in database updates on unknown media change ([commit])
- Don't update game database on disc change ([commit]) [info]
[psx]DuckStation Latest Preview Build 2026/06/15 05:41:24
[psx]DuckStation Latest Rolling Release 2026/06/14 08:58:43
- ## Commits
- 2b1a6cf2b Qt: More appropriate icon for "Search on Redump" button
- a90182445 Qt: Improve icon consistency
- 15d8f68d3 Merge pull request #3747 from Pesa/overlap
- 00149a5be Qt: Disable buttons if controller port is empty (#3748)
- 2f0cd4d4c DiscDB: Remove duplicate entries for some multi-disc games
- 8dd88aad2 Qt: Make verify serial mismatch message clearer
- e21bf74f2 Qt: Replace most _L1 usage with _s
- 22ee4c076 CMake: Build with immediate binding/full relro
- e23bc84bb Achievements: Always prefetch game badge before achievement badges
- 02a41fa06 GameDB: Add metadata to `King's Field 3 - Pilot Style` (#3749)
- 8ac294d4f CDROM: Fix DisableReadSpeed() never having any effect
- 2c6ac7d4f CDROM: Add manual control of lid state
- 1d71915fb CDROM: Show effective read speed in debug window
- 18f581ef9 CPU: Use ternary in CPU::WriteRegDelayed()
- 667e1147a CPU: Add branch hints to interpreter dispatch
- 2b5baa1b8 CPU: Add more branch hints to interpreter
- 0b700d1b8 GTE: Eliminate bounds check in dispatcher
- 2f8e9a851 MSBuild: Enable strict aliasing for clang
- c660f8532 CPU: Use table lookup for mfc0
- 1f7fcb8c9 GameList: Fix race condition when refreshing from two sources
- 134f17239 Achievements: Don't tear down persistent state on enable toggle
- 8bf9562c3 Achievements: Fix hardcore toggle not showing summary
- 944beca2c Achievements: Populate saved credentials in ProcessStartup()
- cae25968f Achievements: Move init functions to private header
- 1e6a006bd Controller: Make center a distinct value
- 24fb22acf Controller: Move helper functions into their own file
- 0ec7d2bd4 Misc: Remove redundant static qualifier from force-inline functions
- 37878497b Qt: Disable labels for controller setting descriptions
- 2a32d7014 Qt: Fix white-on-light icon colours in Classic Windows theme
- c1adcb5a4 Qt: Fix initial icon colours in native theme
- a4e3afcdd Release MMPX Advanced v3.2: Optimize and Clean (#3750)
- f228b009c CDROM: Hopefully fix rare case of command event loss with states
- 0e0ef21d0 System: Clear memory save states on reset
- 09008bb3a Qt: Round round texcoords only applies to 3D
- ba08a6f70 Qt: Hide FSUI theme and font settings from game properties (#3751)
- 770cc586f Settings: Don't copy advanced/hidden settings to game
- a7a5faeb1 Qt: Fix warning in graphicssettingswidget.cpp
- 76ca9b15d Qt: Suffix unavailable audio and video devices
- fa167cab8 FullscreenUI: Add InputTextWithIcon()
- b3e8543ba FullscreenUI: Make ResetFocusHere() return a boolean
- 632aab3a0 FullscreenUI: Use InputTextWithIcon() for achievements login
- 1c89c6436 FullscreenUI: Add search to game list
- ce14eefd5 ObjectArchive: Swap to HTTPCache log channel
- 3a9856660 FullscreenUI: Fix input text text colour in light theme
- 6efef5b66 GameDB: PGXP-CPU for Digimon World 2
- c1a9d78e7 RegTest: Fix crash on startup
- c20a5c752 CPU: Copy entire value for zero shift cases
- c8064e75d CPU: Fix flipped operands on PGXP shifts in recompiler
- 0b4dfcd04 Settings: Remove unused field
- b7b31ef97 Qt: Use 'Global' instead of 'Default' for inherited spinners
- 2c527f4f2 Qt: Add reset buttons for tolerance/depth threshold
- 7d1996827 Qt: Fix memory leaks in SVG helpers
[info]
[psx]DuckStation Latest Preview Build 2026/06/14 08:59:19
- ## Commits
- Fix memory leaks in SVG helpers ([commit])
- 4989211: dep/rcheevos: Bump to 9ade739 (Stenzek)
- 63caefb: dep/rcheevos: Add game list functions to rc_client (Stenzek)
- Use C99 to build rcheevos ([commit])
- Add SQLite helpers and dynamic loading ([commit])
- Update seed hash database ([commit])
- Swap to sqlite-backed storage ([commit])
- Move achievement pinning to database ([commit]) [info]
[psx]DuckStation Latest Preview Build 2026/06/08 14:09:02
- ## Commits
- Make center a distinct value ([commit])
- Move helper functions into their own file ([commit])
- Remove redundant static qualifier from force-inline functions ([commit])
- Disable labels for controller setting descriptions ([commit])
- Fix white-on-light icon colours in Classic Windows theme ([commit])
- Fix initial icon colours in native theme ([commit]) [info]
→ [psx]DuckStation Latest Preview Build 2026/06/05
[psx]DuckStation Latest Preview Build 2026/06/05 03:45:43
- ## Commits
- Add metadata to `King's Field 3 - Pilot Style` (#3749) [#3749](https://github.com/stenzek/duckstation/pull/3749) ([Davide Pesavento][commit]) [info]
[psx]DuckStation Latest Preview Build 2026/06/02 13:52:10
- ## Commits
- Remove duplicate entries for some multi-disc games ([commit])
- Make verify serial mismatch message clearer ([commit])
- Replace most _L1 usage with _s ([commit])
- Build with immediate binding/full relro ([commit])
- Always prefetch game badge before achievement badges ([commit]) [info]
[psx]DuckStation Latest Rolling Release 2026/05/30 04:49:36
- ## Commits
- b0c277b10 optimization scanline-modern-ex.fx (#3733)
- 717424209 GameDB: Various fixes (#3734)
- 8dad651a2 GameDB: Add disc set for `Persona 2 - Eternal Punishment (USA)` (#3735)
- 023c0823d Qt: Update French translation by Corrigo
- ecc46d2d4 Qt: Don't draw OSD messages with zero opacity
- 12450a1e0 CDImageCCD: Support loading ccd+img without sub
- 6b5086900 Atualização Português do Brasil (#3737)
- c71fdd60a GameDB: Decrease cdromMaxReadSpeedupCycles for Resident Evil 2 (#3736)
- ee2530647 AudioStream: Reset staging buffer position (#3738)
- faa37fd9c CI: Bump Xcode to 26.4 (#3713)
- f6da96077 CI: Bump dependencies to 20260512
- 7e98f1717 GameDB: Force Round Texture Coordinates for Lego Island 2
- dfc894c88 AudioStream: Tidy up more state reset
- 7b6316189 FullscreenUI: Fix unused variable warning
- 33663c5ea Qt: Work around broken build in latest MSVC versions
- e1d9414ec Qt: Make binding tooltips/multi-window localisable
- a2a12da4b GPUDevice: Pack local state in struct
- 22a3302fa DynamicLibrary: Add symbol resolution helpers
- 7ee8fbc42 DiscordPresence: Use ResolveSymbols()
- 16d1dcb84 GPUDevice: Use ResolveSymbols()
- 4c89ddb00 VulkanDevice: Use ResolveSymbols()
- ad70cffd9 MediaCapture: Use ResolveSymbols()
- 59a3e09fa MediaCapture: Eliminate global load mutex
- 2225d366b GPUDevice: Pack shaderc/spirv-cross function pointers together
- 1758f43d9 ImGuiManager: Use 1/255 as opacity threshold
- 32af8280b optimization scanline-modern shader (#3742)
- 74cca15c2 Atualização Português do Brasil (#3741)
- 833dd2c9b Update Russian translation (#3740)
- dc5c5b7c3 GameDB: A few more fixes (#3739)
- 77ecf9939 MSBuild: Enable segment heap via vsprops
- 2307ad9b0 CMake: Drop Win32/MSVC specific paths. Use MSBuild.
- 5e57ff57d CDROM: Fix incorrect stat response in test command
- 1c936c496 DMA: Enforce read-only bits in OTC channel control
- fc72f17a5 CI: Drop unused input (#3743)
- 8f818af6d GPU/HW: Remove unnecessary reference to backend in texture cache
- f484af5f4 GPU: Merge gpu.cpp and gpu_commands.cpp
- b123c8e2b GPU: Convert frontend to namespace
- 4e0374ef8 GPU: Slightly faster path for DMA writes
- 3dd7497f6 GPU: Use InlineFIFOQueue
- d89476ad2 GPU: Fix incorrect bitmask for command primitives
- e6b938af3 CDROM: Fix incorrect date in comment
- f2e629f7e Achievements: Fix game not loading after token-expired late login
- cdb26ee7b ImGuiManager: Return wants_keyboard for all generic inputs
- 590605b8d FullscreenUI: Don't override existing window in PauseAndOpenMenuFromCoreThread()
- e903ff716 HTTPCache: Remove downloader mutex
- cf62df552 HTTPCache: Notify host when downloader is active
- 5b446d702 HTTPDownloader: Add owner tracking to requests
- 2091cb101 HTTPDownloader: Don't poll requests when cancelling
- 6e5877634 Achievements: Use request owner for waiting for server calls
- de8f42733 Qt: Avoid double cancellation in updater
- 8ae5c854e Qt: Add AsyncHTTPRequest class
- fc8446de6 Qt: Use main HTTP downloader for updater
- 29ba624f2 HTTPDownloader: Convert to namespace
- d7464e295 Spanish (Spain) translation update (#3744)
- 2467a7b1b Timers: Correctly handle sync mode 0/3 for timer 2
- 8347d1de9 Bus: Add option for enabling PCSX expansion region
- fab306cc7 FullscreenUI: Fix adapter list not updating on renderer change
- 83a1b0c45 Deps: Update to 20260526
- 2f4aafd0d Qt: Expose debugger and exit in toolbar
- d7c2e7785 Qt: Minimize controller SVGs
- 68da2ea9f Qt: Add monochrome icon theme
- 4cf5f38a8 Qt: Add ThemeSVGIconEngine to replace use of Qt SVG
- d58bfaacf Qt: Add more monochrome icons
- 6fccb181d Qt: Remove separate colour icon SVGs
- 65394a2b9 Qt: Remove unused PNG icons
- 49f5f38c4 Qt: Don't use QIcon::fromTheme()
- 538a82ad4 Qt: Set isMask property on menu bar action icons on MacOS
- 891ae3d9e ImGuiOverlays: Don't draw outline on status indicators
- 9e39295f0 Qt: Add icon to empty game list page
- f0ee83489 FullscreenUI: Optimize SVGs
- e4147da58 Qt: Optimize checkbox SVGs that were previously missed
- f352619a9 Qt: Move ReadFileToByteArray() to QtUtils
- 51457c22e Qt: Add SVGWidget
- 099f8bdd2 Qt: Rename ThemeSVGIconEngine to SVGIconEngine
- dddc09122 FullscreenUI: Fix double scaling of some UI elements
- ad676f7e3 FullscreenUI: Preserve aspect ratio of SVG images
- 8fe9077ca Qt: Store controller images in main data instead of qrc
- de69bc496 FullscreenUI: Add images to controller settings
- 5ad980b32 Qt: Fix incorrect icon path
- 70ec9c491 SPU: show friendly reverb mode names in debug window
- a3f4a086e SPU: increase volume display precision in debug window
- ef7637413 SPU: Use display fractional volume for voices as well
- 5a21a6c8d Host: Add icon to ConfirmMessageAsync()
- 61b31b3e2 Update Azerbaijani Translation (#3745)
- b429993e0 Qt: Move most recent migration to updater
- 21c6ab582 Qt: Use SVGWidget for empty game list icon
- 15bfa50ce Qt: Make SVGWidget respond to palette changes
- c1165ab03 MediaCapture: Fix Media Foundation refusing to load
- 00733714c CDImageCue: Remove unused variable
- bbde5c661 CueParser: Switch to fmt for errors
- e40105020 Qt: Preserve aspect ratio in SVGIconEngine
- f93965b84 Qt: Handle icon state in SVGIconEngine
- 11216ccd5 Qt: Tint non-coloured disabled icons in SVGIconEngine
- 872d6092b Qt: Use SVGWidget for icon in debugging settings
- 86b3c0e7d Qt: Fix missing monochrome in controller settings
- e8938f063 Qt: Remove more unused icons
[info]
[psx]DuckStation Latest Preview Build 2026/05/30 04:48:47
- ## Commits
- Fix missing monochrome in controller settings ([commit])
- Remove more unused icons ([commit]) [info]
[psx]DuckStation Latest Preview Build 2026/05/27 17:30:25
- ## Commits
- 61b31b3: Update Azerbaijani Translation (#3745) (Arif Ahmadov) [#3745](https://github.com/stenzek/duckstation/pull/3745) [info]
→ [psx]DuckStation Latest Preview Build 2026/05/24
[psx]DuckStation Latest Preview Build 2026/05/24 17:11:54
- ## Commits
- Correctly handle sync mode 0/3 for timer 2 ([commit])
- Add option for enabling PCSX expansion region ([commit])
- Fix adapter list not updating on renderer change ([commit]) [info]
[psx]DuckStation Latest Preview Build 2026/05/23 14:15:02
- ## Commits
- Fix game not loading after token-expired late login ([commit])
- Return wants_keyboard for all generic inputs ([commit])
- Don't override existing window in PauseAndOpenMenuFromCoreThread() ([commit]) [info]
[psx]DuckStation Latest Preview Build 2026/05/17 10:56:24
- ## Commits
- Work around broken build in latest MSVC versions ([commit])
- Make binding tooltips/multi-window localisable ([commit])
- Pack local state in struct ([commit])
- Add symbol resolution helpers ([commit])
- Use ResolveSymbols() ([commit])
- Use ResolveSymbols() ([commit])
- Use ResolveSymbols() ([commit])
- Use ResolveSymbols() ([commit])
- Eliminate global load mutex ([commit])
- Pack shaderc/spirv-cross function pointers together ([commit])
- Use 1/255 as opacity threshold ([commit])
- 32af828: optimization scanline-modern shader (#3742) (crashGG) [#3742](https://github.com/stenzek/duckstation/pull/3742)
- 74cca15: Atualização Português do Brasil (#3741) (Anderson Cardoso) [#3741](https://github.com/stenzek/duckstation/pull/3741)
- 833dd2c: Update Russian translation (#3740) (shikulja) [#3740](https://github.com/stenzek/duckstation/pull/3740)
- A few more fixes (#3739) [#3739](https://github.com/stenzek/duckstation/pull/3739) ([Davide Pesavento][commit]) [info]
[psx]DuckStation Latest Preview Build 2026/05/13 05:36:39
- ## Commits
- 6b50869: Atualização Português do Brasil (#3737) (Anderson Cardoso) [#3737](https://github.com/stenzek/duckstation/pull/3737)
- Decrease cdromMaxReadSpeedupCycles for Resident Evil 2 (#3736) [#3736](https://github.com/stenzek/duckstation/pull/3736) ([Davide Pesavento][commit])
- Reset staging buffer position (#3738) [#3738](https://github.com/stenzek/duckstation/pull/3738) ([Connor McLaughlin][commit])
- Bump Xcode to 26.4 (#3713) [#3713](https://github.com/stenzek/duckstation/pull/3713) ([Davide Pesavento][commit])
- Bump dependencies to 20260512 ([commit])
- Force Round Texture Coordinates for Lego Island 2 ([commit])
- Tidy up more state reset ([commit])
- Fix unused variable warning ([commit]) [info]
[psx]DuckStation Latest Preview Build 2026/05/11 15:16:42
- ## Commits
- Update French translation by Corrigo ([commit])
- Don't draw OSD messages with zero opacity ([commit])
- Support loading ccd+img without sub ([commit]) [info]
Vox populi
Ten artykuł nie byl jeszcze komentowany:(
Inne treści związane z tematem
[PSP] DevPPSSPP v1.20.4-2787 11/10/2026 12:46
PPSSPP to projekt emulatora przenośnej konsoli SONY PSP, napisanym w C++ przez jednego ze współautorów emulatora Dolphin udającego konsolę Nintendo Wii/GameCube Henrika Rydgarda, podobnie jak Dolphin, emulator posiada status open source i każdy może korzystać z repozytorium na githubie.
W chwili obecnej jest to bezsprzecznie najlepszy emulator, który pozwala nam ...
[PSP] DevPPSSPP v1.19.3-1226 31/12/2025 15:15
PPSSPP to projekt emulatora przenośnej konsoli SONY PSP, napisanym w C++ przez jednego ze współautorów emulatora Dolphin udającego konsolę Nintendo Wii/GameCube Henrika Rydgarda, podobnie jak Dolphin, emulator posiada status open source i każdy może korzystać z repozytorium na githubie.
W chwili obecnej jest to bezsprzecznie najlepszy emulator, który pozwala nam ...
[psx]DuckStation Latest Preview Build 2026/10/10
Całkiem miły emulator PS1 autorstwa Connora McLaughlin (aktywnie także pracujący nad portem Dolphina pod Andkiem). Potrafi podbić 16 krotnie natywną rozdzielczość PSX, obsługuje Xpada, ma możliwość zapisu memcardów i oczywiście występuje również na Androida. Czego chcieć więcej;) DuckStation na razie nie stawia na releasy, można jednak na bieżąco sprawdzać co ...
[psx]DuckStation Latest Preview Build 2026/09/23
Całkiem miły emulator PS1 autorstwa Connora McLaughlin (aktywnie także pracujący nad portem Dolphina pod Andkiem). Potrafi podbić 16 krotnie natywną rozdzielczość PSX, obsługuje Xpada, ma możliwość zapisu memcardów i oczywiście występuje również na Androida. Czego chcieć więcej;) DuckStation na razie nie stawia na releasy, można jednak na bieżąco sprawdzać co ...