DuckStation

  • Logos
    Logo de macOS
  • Logos
    logo intel
  • Logos
    Logo Apple Silicon
  • Logos
    Logo 64 bits
  • Logos
    Logo de l'API Metal d'Apple
  • Logos
    Le logo de la bibliothèque SDL
Version
0.1-7928
Mise à jour

Jeune émulateur Open Source de Playstation utilisant Qt et SDL.

Si les sources sont dites compatibles macOS de façon "expérimentale", l'émulateur n'étant pas du tout optimisé pour notre système, il peut se révéler très bogué. L'aide à la compilation via l'outil cmake est disponible sur le site officiel.

Notez qu'un fork pour jouer en réseau existe et se nomme Duckstation-netplay (à compiler soi-même).

Metal Gear Solid dans DuckStation

Changelog

Changelog

0.1-7928

  • 482f99c CI: Add icons to main sub-jobs
  • 4763b67 GameDB: PGXP-CPU for Vandal Hearts II
  • 5cf2c86 CDROM: More accurate approximation of sectors per track
  • 97938a8 CDROM: Improve command logging clarity
  • 5f607d8 CDROM: Avoid double seek on repeated Setloc+ReadS
  • a2af51b CDROM: Simulate backwards track jump after seek/pause
  • 5219e4f CDROM: Simulate real pause timing
  • 801ddf7 GameDB: Remove DMA override for RE2
  • b8f397c GameDB: Aces of the Air
  • babaffc GPU/HW: Don't enable no-color-perspective when unsupported
  • 3504294 FileSystem: Move separator macro to path.h
  • c2316df InputManager: Fix relative mode engaging for gun controllers
  • 2da32d8 Qt: Allow saving empty string to config
  • 8ec9c90 Qt: Fix settings not applying immediately when editing profile
  • 3cf7a94 GunCon: Allow empty/disabled crosshair
  • 41a8912 VulkanDevice: Work around older NVIDIA driver present bug
  • 194e9bb Spanish (Spain) translation update (#3330)
  • 49b669c Qt: Make image verification cancellable
  • 61dae0e Qt: Disable close for non-cancellable progress dialog
  • 854a8eb Qt: Fix non-cancellable progress dialog height
  • d5e2db0 Misc: Fix new clang-cl warnings
  • 9fbb760 CI/AppImage: Bump to LLVM 18
  • 5cfb76e GameDB: PGXP-CPU for Sheep Raider
  • 8543194 ImGuiFullscreen: Fix position resetting to top of list on popup close
  • d56bcfa FullscreenUI: Fix activate button stuck on input bind
  • bb450d5 FullscreenUI: Fix nav focus loss on input bind
  • 49a6ef7 FullscreenUI: Add icons to remaining options
  • 8747101 FullscreenUI: Fix enable state of skip dupe frames
  • 7255309 FullscreenUI: Move remaining OSD settings to main page
  • 7a11b95 Qt: Update Korean translation by Hack茶ん
  • 97d8a35 GameDatabase: Fix compatibility rating localization
  • 574f127 FullscreenUI: Hide advanced settings by default
  • ed78a20 FullscreenUI: More icon replacements
  • 122fe3d Updated Swedish translation (#3331)
  • 6c1b98e GPU/SW: Fix 256-bit AVX2 path
  • 9838dd9 GPU/TextureCache: Purge copy-target sources from hash cache
  • 1451e96 GPU/TextureCache: Pack state in struct
  • 988a7c8 GameDB: Fix Cardcaptor Sakura names
  • 869b159 DiscDB: Fix Cardcaptor Sakura names
  • cf0c2ea GameDB: PGXP-CPU for Tenchu 2
  • 4b71428 GPU/TextureCache: Fix tracking getting enabled without TC
  • 5a94880 Achievements: Purge first-disc-from-playlist option
  • 81e2619 FullscreenUI: Add missing icon
  • 2791a9a Scripts: Move l10n glyph range script to scripts
  • b726fa8 Scripts: Fix SyntaxWarning in glyph range updater
  • b59f9a1 ImGuiManager: Plumb through clipboard access
  • 2da7859 Qt: Fix incorrect parent window for locks
  • ca9af62 FullscreenUI: Add a BP achievements login dialog
  • 378fd80 CDROM: Defer subq read until needed
  • e6892e0 Common: Fix incorrect condition in PreviousPow2/NextPow2

v0.1-7878

Commits

  • ca2ed61 Timers: Work around possible MSVC codegen bug
  • b5c83e6 Qt: Drop Qt 6.7.0 workarounds
  • d0ad4e7 dep/libchdr: Fix mismatched function pointer type
  • 8bd0e6c CPU/CodeCache: Clear blocks on system shutdown
  • bcd5cd0 GPU/ShaderGen: Fix debug assert tripping with fbfetch
  • 2cd3f20 dep/rcheevos: Bump to 3106e6d
  • f889136 PostProcessing: Don't try other types after first failure
  • a854ed2 Qt: Use game start fullscreen flag for BP too
  • 88e14dd RegTest: Support using global data directory
  • 57ca5dd ImGuiFullscreen: Default input source to keyboard if none
  • 7b7dd2b AnalogController: Reset state on analog->digital switch
  • 3952661 GPU: Write initial rendering attributes to GPU dump
  • 2044e35 GPUDump: Fix unknown compression type reported with Zstandard
  • 65f3dcb HeapArray: Fix assignment/move with aligned variant
  • ead9e56 System: Support loading ELF files
  • 886ef4c WAVWriter: Add matching reader class
  • c461ad7 D3D11Device: Ensure we don't drop to feature level 10 on query failure
  • 2d22409 dep/libchdr: Fix handling of duplicate codecs
  • a6c19cc OpenGLContext: Compile fix on MacOS
  • 5f6daf8 CI: Bump flatpak-github-actions version
  • dec40e2 Deps: Bump to SDL2 2.30.9
  • 7ac7175 Qt: Right clicking while binding should not clear input
  • e8bb6ba Qt: Don't allow doubleclick-to-fullscreen in relative mode
  • 160c27e Adding Swedish translation (#3327)
  • 3a271ff Qt: Enable Swedish translation
  • 3874df6 Qt: Enforce minimum progress dialog height
  • e3e0fe6 Log: Prepend timestamp to multi-line messages
  • 2bf0838 MetalDevice: Fix import of non-page-aligned buffers
  • 5b60078 GPU: Page align VRAM storage on Apple Silicon
  • 8611f4f System: Handle GPU device loss in BP-only mode
  • b70a848 OpenGLDevice: More verbose logging of surface creation failure
  • 0234137 VulkanDevice: Use VK_EXT_surface_maintenance1
  • 92bcf64 VulkanDevice: Refactor present failure handling
  • 439e05b Update duckstation-qt_sv.ts (#3329)
  • 5caadec Cheat bugfix and new A8 cheat type (#3328)
  • 596cca9 RegTest: Improve -maxframes option
  • 3f41dcc Log: Add option coloured variants
  • 6ffa5bf CPU: Handle mirrors of BIOS syscalls
  • 365e129 CPU: Fix puts() hook incorrect arg
  • 816ef45 OpenGLDevice: Fix possible missing eglMakeCurrent() after FS
  • e69f0d3 OpenGLDevice: Support both XCB and Xlib
  • 5bc38ff CI: Split and add dedicated Flathub publish

v0.1-7836

Commits

  • 26b6c70 MemMap: Support dynamic page size selection
  • dde7ebb Deps: Update to Qt 6.8.0 and SDL2 2.30.8
  • 7ce4c34 VulkanDevice: Scissor rect should never be negative
  • 407dccb Qt: Move GDB server enable to advanced options
  • 83a1386 FullscreenUI: Collapse macro button settings by default
  • 8680900 ImGuiFullscreen: Fix horizontal menu items getting clipped
  • 3d55036 Image: Span and Error-ify
  • 3e26b7a Image: Support rendering SVGs
  • 38a331f ImGuiFullscreen: Support loading SVGs
  • dedc177 GameDB: Normalize language fields
  • 2fc5856 StringUtil: Add CompareNoCase()
  • ba0708a GameDatabase: Add parsing of Language field
  • 6e26ba3 Qt: Display language flags instead of region
  • 5ab65ff Qt: Remove now-duplicate flag icons
  • 412c8f0 Replaced any : in #Cheat Descriptions
  • 07cb8d9 Referenced svgs not in project
  • 1e119c8 Added the rest of the flag svgs (#3309)
  • 21ec3c1 Qt: Fix automatic binding button in per-game controller settings
  • 86d66dd StringUtil: Don't call data() on empty string_view
  • d8fef6f GameDatabase: Store strings as views
  • 0d05548 MinizipHelpers: Add ReadZipFileToString()
  • 2079bac StringUtil: Add FromCharsWithOptionalBase()
  • e0b6f6f Cheats: Rewrite cheat management system
  • 4694859 CI: Download chtdb at build time
  • b3ae9cb Qt: Swap compatibility star image to SVG
  • a11ed64 Qt: Add keyboard navigation to memory view
  • 4a57ccc Cheats: Strip leading * when importing old files
  • 11c2122 System: Only check controller changes when valid
  • 2604df5 Qt: Fix crash when players column is visible
  • afd3656 Atualização Português do Brasil (#3310)
  • 219e890 GPU/HW: Write through VRAM transfers
  • 7ad48c9 GameDB: Various fixes (#3311)
  • 972a069 Memmap: Compatibility with old libc without MAP_FIXED_NOREPLACE
  • d4f3e00 Host: Add missing SetBaseUIntSettingValue()
  • e2cb54d Settings: Use uint getter/setter for more fields
  • 005d48a System: Don't display setting warnings without game
  • c6055af OpenGLDevice: Fix invalidating pipeline cache on Windows
  • eb46142 GPUDevice: Extract swap chain to separate class
  • 6dc2f0a Host: Add 'Auxiliary Render Windows'
  • 86a28d5 ImGuiOverlays: Move debug state to auxiliary windows
  • 854a109 Qt: Qt 6.8 deprecation fixes
  • 50d8bb0 MemoryCard: Add RenameFile() and localize errors
  • b99ee59 Qt: Add 'Rename File' to memory card editor
  • f0be61b Atualização Português do Brasil (#3312)
  • 2aea065 README: Mention chtdb
  • baa9065 System: Add taints to save states
  • 57cf0f2 System: Reload cheats/patches on safe mode toggle
  • 76208f5 System: Display localized trait names
  • f83cbbd Qt: Work around a couple of Linux issues
  • 49134ef Settings: Fix PGXP suboptions getting disabled
  • cc275b6 Atualização Português do Brasil (#3313)
  • d3234a2 GameDB: Updating genres (#3315)
  • 41c709e CMake: Reference shaderc/spirv-cross unconditionally
  • e4a358c Controller: Add Pop'n and Densha De Go Controllers
  • 9050098 GameDatabase: Rework deinterlace mode selection
  • 43ed924 GPU/HW: Fix assert triggering in debug mode
  • c279376 Qt: Fix menu creation from incorrect thread
  • 163cb2f MemoryScanner: Fix default operator value
  • 864d692 MSBuild: Fix default startup project
  • 8cd4982 Spanish (Spain) translation update 2024/10/19 (#3317)
  • aacd62b GameDB: Some more genre fixes (#3316)
  • ecc0356 Atualização Português do Brasil (#3319)
  • 5c4a9f9 MinizipHelpers: Close file after reading
  • 6cc350a Cheats: Serialize access to zips
  • e0bc03b Controller: Fix localization with new types
  • dbb2274 GameDB: Fixing some codes for Lightspan games +more (#3318)
  • 056b629 ImGuiManager: Add 'Screen Margins' (i.e. safe zone)
  • 45f7829 CI: Temporarily disable Flatpak builds
  • b277035 Qt: Use Qt 6.8 thread helpers
  • 4666057 SettingWidgetBinder: Add enum overload that populates dropdowns
  • 428c3e3 Host: Fix error when switching to surfaceless
  • 4ab2292 GPUDump: Add GPU dump recording and playback
  • 825dd13 GameDatabase: Fix crash with deinterlacing mode
  • 60f6ee3 RegTest: Build fix
  • 0d3501d Misc: Pass SettingsInterface by const reference
  • c250209 System: Fix input profiles inheriting base settings
  • 05c285f Settings: Fix cheats/patches not being removed on clear
  • be268d8 Qt: Fix safe mode not resetting on gamesettings clear
  • b62e587 System: Fix GPU usage disappearing on renderer change
  • a9bfe26 System: Simplify error path in BootSystem()
  • 6e1d8c5 Qt: Fix settings clear not resetting input profile
  • 32e6272 Pad: Implement RX/TX IRQs
  • 63685ce Atualização Português do Brasil (#3320)
  • c11b250 Cheats: Search archives with disc set serials
  • bd5a97f Qt: Fix global safe mode checkbox
  • 396e7d9 System: Make global safe mode always take precedence
  • 164c043 InputManager: Add pressure/deadzone to macros
  • 19a0854 Deps: Update LZMA SDK to 24.08
  • 3a76485 CompressHelpers: Support XZ compression/decompression
  • 485f81a GPUDump: Support XZ compression
  • 4963dc1 Host: Make resource routines fill error object
  • 631f32a Common: Add ZipHelpers
  • 761c8bd Deps: Build libzip
  • a8d846a Cheats: Use libzip for reading archive
  • 2d04f2e System: Support loading .CPE files
  • 7d2216c GameList: Avoid double fopen/read of EXEs
  • 903213c Hotkeys: Add hotkey to open cheat settings
  • cdd230c ImGuiOverlays: Fix input overlay glyph clipping
  • 080807e CDROM: Move subchannel replacement from CDImage
  • 19ae3be Settings: Re-enable "Start Fullscreen" per-game (#3321)
  • 9e5deb8 dep/libchdr: Update and fix numerous vulnerabilities
  • b92eeec System: Warning fix
  • d8cd32d GameDB: SLED-01340 requires subchannel
  • 6af71be GPU: Work around nearest sampling issues on AMD
  • 1ae2dcf GPU: Propagate initialization error to caller
  • 7f5a4a0 Atualização Português do Brasil (#3322)
  • 7782bb9 CDROM: Fix lockup when loading state with precaching
  • 62de181 Flatpak: Build libzip
  • 82e9bcc Qt: Compatibility with Qt 6.7
  • 8def5b5 GameDB: Allow user to choose different mode for ForceDeinterlacing
  • 24f15ac BPM: Adjust Hotkey And Button Legends (#3323)
  • 218df62 Cheats: Fix crash on parsing invalid cheat
  • 1d21ca6 Cheats: Allow hex literal in option ranges
  • aa0c006 GPU/HW: Move shadergen parameters to functions
  • 6cf8ac3 GPU/HW: Make copy/write shaders resolution independent
  • c6b7468 GPU/HW: Split shaders into resolution independent/dependent
  • 2c57817 System: Invalidate display on debug window change
  • 99e6528 GPU/HW: Prefer shader over image copy if not dirty
  • 875ccec System: Use frame rate for speed calculation
  • 21d19a6 System: Move perf counters to separate namespace
  • 166c930 System: Move private functions to separate header
  • d34707a System: Pack state in struct
  • 53fb5cd GTE: Remove dependency on GPUDevice
  • b86fdc1 Threading: Add error checking to semaphore
  • 0dc78e4 Timer: Fix sleep timer handle leak
  • bfadd60 System: Add 'Task Threads'
  • a3d55c6 Misc: Android build fixes
  • dadc994 GPU/HW: GLSL ES compile fix
  • d24e8fd GPU/HW: Only enable fbfetch/DSB when needed
  • 2043128 System: Fix per-game fast boot applying too late
  • 814f22f Cheats: Only apply overclock when it is not already enabled
  • 5bca12a GameDatabase: Add ForceFullBoot trait
  • 5518199 GPU/SW: Fix polyline culling
  • 65d7f3b dep/libchdr: Correctness fixes for 9e5deb8
  • dfc4e08 GameDB: Finished off the database DEMO genre entries
  • 9cb2cab FullscreenUI: Fix footer text in save state submenu
  • ad73093 Update Russian translation (#3325)
  • afb9ab7 DMA: Show MADR in debug window
  • 6551358 Log: Replace channel string search with bitset
  • 145fbff Qt: Add log level/channels to debug menu
  • b646f14 GameDB: DMA override for RE2
  • 9733d8a Flatpak: Swap to KDE 6.8 SDK
  • b4e509d Qt: Fix FF/turbo speed resetting in game properties
  • 09a8257 dep/imgui: Fix smooth scrolling on scrollbar drag
  • 775496a FullscreenUI: Ensure each cheat option has a unique name
  • 12acecb FullscreenUI: Allow editing option range cheat values
  • 2c3d1d9 dep/libchdr: Check that metadata seek succeeds
  • 95be381 Qt: Fix cheat code delete message
  • a8bc364 Cheats: Fix importing hash-formatted codes
  • 0fc719c Cheats: Simplify code merging on import
  • d416ecb Qt: Add 'Clear Cheats' option to cheats page
  • 8f087ab Qt: Add prompt to enable cheats when list is checked
  • a8b5883 SettingsInterface: Add missing const qualifiers
  • 8c4d595 Qt: Make input source selection non-inheritable
  • 98cce64 Qt: Fix empty device list when editing profile
  • ac19768 Qt: Make multitap mode non-inheritable as well
  • 88147d8 Qt: Fix legacy cht file clearing
  • dae5973 Data: Remove non-functioning shader
  • be271e3 Atualização Português do Brasil (#3326)
  • bb74049 CDImageCHD: Show precaching in MB
  • 4c13777 CI: Remove Flathub push

0.1-7675

  • aa9a5e3 ImGuiOverlays: Change icon colour depending on controller mode
  • fda6140 GameDatabase: Add DisableAutoAnalogMode trait
  • aa1596f GameDB: Set DisableAutoAnalogMode on various games
  • a0fcbba SPU: Refactor volume envelopes
  • 1e8ca51 Update README.md
  • 86d4d92 TimingEvents: Switch to 64-bit counters
  • 41c8607 TimingEvents: Don't defer frame done callback
  • ef59a0d CPU: Fix assertion tripping in debug builds
  • 3455a0d System: Fix lockup with runahead enabled
  • b089eaf Qt: Reduce dialog height
  • 6dd29eb VulkanDevice: Fix incorrect log
  • b9679df System: Remove contradictory statement
  • b656e1d Atualização Português do Brasil (#3280)
  • 64a28aa CPU/PGXP: Fix typo in SLTU()
  • 7dc78db CPU/PGXP: Make MTC2/LWC2 behave the same
  • 9a6de19 CPU/PGXP: Use Instruction type
  • 302652d CPU/PGXP: Purge psx_value from first half of instructions
  • fc375d7 CPU/PGXP: Purge psx_value from shifts
  • 2662694 CPU/PGXP: Purge psx_value completely
  • 3548bbc CPU/PGXP: Combine static/variable shift instructions
  • bcd2424 CPU/PGXP: Combine logical/arithmetic shift functions
  • 514116e CPU/PGXP: Rewrite SLL handler
  • 8629efc CPU/PGXP: Purge macros
  • a764954 CPU/PGXP: Eliminate extra copy in SLT/SLTU
  • 491179a CPU/PGXP: Remove remaining C-isms
  • dadf388 CPU/PGXP: Make validate a member function
  • d4d813f CPU/PGXP: Identifier name consistency
  • 2971b2f CPU/PGXP: Inline valid flag updates
  • 5c14ac2 GameDB: Allow clipping correction for Spyro 1
  • ccd7ba9 Qt: Move language/theme setting to window
  • 3578572 CPU/NewRec/x64: Fix data corruption on lwl/lwr with PGXP
  • 1aa9c2d GameDatabase: Add DisableSpriteTextureFiltering trait
  • 9a0d5db GameDB: Use disable sprite texture filtering for FF7/LoD
  • 417c1e4 MediaCapture: Load media foundation on-demand
  • 5433b30 Qt: Always display version info in settings
  • 8b3fd53 System: Fix HW/SW rendering swap
  • 9e3507e InputManager: Support multiple mice via raw input
  • bda6869 Qt: Implement per-game controller configuration
  • f0deab2 InputManager: Fix wheel scrolling in Big Picture
  • 9dd83c4 InputManager: Remove unused pointer type
  • 1425b2f Atualização Português do Brasil (#3281)
  • 96b8e53 Deps: Bump shaderc
  • 873b540 Deps: Switch to libjpeg-turbo
  • 7745c9e Deps: Make some libraries optional for Linux
  • 72fc81a CMake: Add install target
  • 41fb5d3 CMake: Enable PIC on Linux
  • a8cac70 Qt: Ensure window is raised after recreation
  • 096a081 dep/imgui: Bump to v1.91.0
  • c8e6130 StringUtil: Use unicode replacement character in DecodeUTF8()
  • 599800d Deps: Version bumps
  • f2c0303 Misc: Use lightgun controller icon
  • 25d8f1b Deps: Build lunasvg
  • b378ffb ImGui: Enable lunasvg
  • a2aa040 deps/rc_client: Add rc_client_get_rich_presence_strings()
  • 707453b FileSystem: Swap vector for DynamicHeapArray
  • f37a97b Host: Add ReadCompressedResourceFile()
  • f30844c ImGuiManager: Move glyph ranges to separate file
  • e8b787f Misc: Change various icons
  • a7f3d7b ImGuiManager: Add CompactFontRange()
  • b8026a0 CMake: Remove unused file
  • 5c2fc68 dep/imgui: Use stb_sprintf
  • 6deb2eb Achievements: Fix badge download bug
  • 44471a6 dep/imgui: Don't copy the font data on building
  • 0f29cd8 Data: Update third-party notices
  • 48c2760 dep/rcheevos: rc_validate does not need to be built
  • a49be5d Data: Update SDL Game Controller DB
  • 88e4bf6 SmallString: Tidy-up and add wide string helpers
  • c9f5cfc Host: Add TranslatePluralToSmallString()
  • b04f721 Achievements: Use plural form for points
  • 7a05d5a Achievements: Reset focus when opening windows
  • e54c4c8 ImGuiManager: Tweak OSD message size
  • 344a4a6 FullscreenUI: Navigation improvements
  • 46a6681 CDROM: Fix incorrect clamp with seek speedup
  • 940200f FullscreenUI: More animation fixes
  • 05c7e60 InputManager: Don't set key down for binds when ImGui has focus
  • 63bf64b ImGuiOverlays: Use actual recording icon
  • 2c27b20 ImGuiManager: Remove unused function
  • ae2e79f Util: Add CompressHelpers
  • c7a6e7e SHA1Digest: Span-ify
  • f243dc0 Host: Use CompressHelpers for ReadCompressedResourceFile()
  • 667d1bf GPUDevice: Use CompressHelpers
  • 542ef3a GPUDevice: Warning fix
  • d651c9f GameList: Support excluding disc sets
  • 63c7f4a GPU/HW: Fix assert with accurate blending + true colour on
  • 486f410 GameDB: Disable WS in Athena - Awakening from the Ordinary Life
  • 7df5764 Data: Remove license-incompatible shaders
  • fe8dada dep/libchdr: Add EDC computation functions
  • ac139d9 CDImage/ECM: Use EDC/ECC functions from libchdr
  • cdba1fe Common: Rename iNN -> sNN
  • b84d3f1 SPU: Vectorize reverb resampling
  • 81c9bde GSVector: Add a bunch of fp64 operations
  • 14ab642 Common: Add aligned_unique_ptr
  • 3fbdcdb AudioStream: Rewrite and integrate expander
  • aa955b8 GPU/SW: Split out rasterizer, add dynamic selection
  • 7f4e5d5 Misc: Update copyright headers
  • 88ee70e Misc: Remove unused files
  • bee80b0 Spanish (Spain) translation update 2024/08/30 (#3285)
  • 7f9a69b Update the Simple-Chinese translation to latest. (#3282)
  • 7b17859 Atualização Português do Brasil
  • 0945a9a Atualização Idioma Turco
  • 4322799 dep/rcheevos: Don't silently truncate buffers in rc_api_init_fetch_image_request()
  • 5ed8af4 Achievements: Shrink URL buffer sizes
  • 0ba068e GameDB: Disable PGXP culling in Spyro 1
  • 51cfea4 ImGuiManager: Split OSD and debug window fonts
  • b564f92 DiscordRPC: Add Rcheevos Icon Support (#3286)
  • 164a353 System: Fix possible race condition in presence update
  • 4c51337 ImGuiManager: Don't rasterize full glyph range for debug font
  • 63abdb7 Reworked the "Force NTSC Timings" feature to support both NTSC and PAL frame timings (#3287)
  • 6a3b1a2 MDEC: Vectorize 16 and 24-bit copy-out
  • 56dac5f Deps: Bump SDL2 to 2.30.7
  • 6d0f92d dep/fmt: Bump to v11.0.2
  • 8274042 CI/AppImage: Build shrunk ffmpeg for media capture
  • f9a5940 Settings: Force Frame Timings => Force Video Timing
  • 503004f Data: Note third-party codecs in AppImage FFmpeg
  • 94911ab System: Display disabled enhancements in safe mode
  • 1446e30 Settings: Make Disable Interlacing a Deinterlacing mode
  • 1eb1b03 MemoryCard: Defer creation of card until first save
  • 87eded4 FileSystem: Fix FD leak with atomic updated file on Linux
  • 060c555 INISettingsInterface: Use FileSystem atomic update routines
  • a7d8e6d Host: Add disambiguation variants for translations
  • 0458dfe MemoryCard: Don't display message for empty card
  • a53dc85 GPUDevice: Fix initial pipeline cache not being created
  • 129df84 PostProcessing/FX: Log pipeline creation error description
  • 4a27141 Atualização Português do Brasil (#3288)
  • 5b4d625 Add *.psx as a supported PS-X EXE file type (#3290)
  • 2d3c6ac GameDB: Fix MGS Premium Package (#3289)
  • a074699 Qt: Fix 'Boot and Debug' menu option
  • 4c59513 GPUDevice: Fix pipeline cache loading
  • ab1c857 CPU: Refactor execution mode switching
  • 929b049 Qt: Save/restore additional window positions
  • 153d959 RegTest: Compile fix
  • 2e080d4 Qt: Add edit function to debugger memory view
  • 95185b7 FSUI : some misc fixes (#3291)
  • c5dd484 CI/MacOS: Don't use ninja for lunasvg
  • 1c1b82e GPUDevice: Purge threaded presentation
  • 4b0c1fd GPUDevice: Add recovery from lost device
  • ac5a2a1 GPUDevice: Remove BeginPresent() skip parameter
  • 71ec59b Qt/Debugger: Highlight changed bytes in memory view
  • 6ea2bb1 Qt/Debugger: Auto refresh memory every 100ms
  • 1b2ff7e CDImage: Support reading MODE1 sectors
  • 47a3cd4 CDROM: Support reading MODE1 sectors
  • af777c1 MediaCapture: Log video size
  • 940cc63 GPU: Fix internal res screenshot AR with None cropping
  • 9d6ec23 Common: Fix GSVector natvis
  • 32a3311 System: Add option to automatically resize window
  • 1956575 Cheats: Fix detection of ungrouped cheat import
  • d29444e Update Russian translation (#3292)
  • b6c4d6d Atualização Português do Brasil (#3293)
  • 1d83e72 Achievements: Fix incorrect plural string
  • b10f043 StringUtil: Fix typo
  • 3078339 Common: Extract out ryml helpers
  • 86bff86 dep/reshadefx: Update to 7bdfb03
  • 432fd80 PostProcessing/FX: Use SPIR-V instead of GLSL for Vulkan
  • 6a5f16d VulkanDevice: Handle rare case of unaligned SPIR-V
  • c42fb7c GPUDevice: Support ingesting SPIR-V
  • 4c31218 GPUDevice: Add API version field
  • a22acfc Deps: Include DXC and DirectX Agility SDK
  • 559aff0 D3D12Device: Use DXC and 12.0 feature level
  • de551c1 D3D12Device: Fix crash when using media capture
  • 7bcdf11 MediaCapture: Fix audio timestamp drift
  • e2a3fe1 Cheats: Prevent inlining of memory functions
  • 128d525 MSBuild: Disable RTTI on Windows builds
  • c633a6b Qt/Debugger: Invalidate blocks on manual memory edit
  • 936c945 Qt/Debugger: Highlight selection on dump address
  • fe9d06a Qt/Debugger: Snap code view to center on goto address
  • d1770b6 Settings: Default console logging to running from TTY
  • e93dea5 SPU: Connect 0x1F801DB8/0x1F801DBA writes
  • 891d5ce ImGuiFullscreen: Allow smooth scrolling
  • 6c3f338 ImGuiFullscreen: Fix whole menu being unscrollable
  • 2813b4b Achievements: Open profile on leaderboard selection
  • 20b4581 Settings: Remove second source of truth for OSD notifications
  • 0abd7c0 Qt: Expand Controller Profile Dropdown Width
  • 065beff Qt: Rename NeGcon Rumble controller name
  • b641475 Qt: Expand Controller List Width
  • 66b4391 Qt: Tweak Grey Matter Theme
  • d7ce028 Qt: Make Virtual Controller List Word Wrapped
  • ddcb0cb Misc: Warning fixes
  • f2720b9 System: Reduce force-displayed-warning scope
  • 6f31e56 MetalDevice: Implement timed present
  • ad67ab7 MetalDevice: Use TranspileAndCreateShaderFromSource()
  • d981dc7 MetalDevice: Implement pipeline cache
  • d330dca MetalDevice: Use CocoaTools methods
  • e03deb4 System: Set realtime constraints on MacOS
  • e17eaf7 ImGuiFullscreen: Disable border animation when smooth scrolling is off
  • d28f0fa Qt: Enable word wrap in Settings window list
  • 350cf7e GPUDevice: Use suffixed shaderc libname
  • 6d63712 Qt: Fix memory view colours in light themes
  • fbb92e9 Atualização Português do Brasil
  • 1ffd2f4 Qt/Debugger: Improve row scrolling
  • b576826 Quality of Life changes to breakpoints (#3297)
  • a259178 GameDB: South Park - Chef's Luv Shack controller update (#3298)
  • 8fa4060 CPU: Add SetBreakpointEnabled()
  • b96e6d1 Qt/Debugger: Connect breakpoint checkbox
  • 8b67ed8 CPU: Display loadstore offsets in hex
  • 8ba85d6 Pad: Fix stuck inputs after loading mismatched state pad type
  • 401295e Common: Allow PRINTFLIKE to work on Clang
  • 3695992 StringUtil: Speed up EncodeHex()/append_hex()
  • 292c1e0 Misc: Normalize OSD message keys
  • 6465581 feat: Polish localization updates
  • a5cd3ee UI : remove issue tracker button
  • 0538b95 GPU/HW: Reduce number of shaders/pipelines in default config
  • 96ece5d SmallString: MSVC warning fix
  • e056bcb AudioStream: Fix incorrect padding
  • b5df06a GPU/HW: Rewrite automatic internal resolution selection
  • 5f80cb1 GPU/HW: Fix inaccurate shader progress counter
  • d07c7e4 Qt: Fix 100% CPU usage while downloading files
  • a7747c5 Common: Add 256-bit integer vector wrapper
  • 4067072 GPU/SW: Fix SSE4 path and add 256-bit AVX2 path
  • e7aa049 System: Not all setting changes need to interrupt
  • e617f17 System: Set GPU timing enable on init/destroy
  • ac8461a System: Fix bogus SW thread CPU in OSD
  • 1969855 System: Drop IPC server
  • 54e5d93 GPU/SW: Enable SIMD path and make default
  • df17528 Qt: Move threaded rendering toggle to Debug tab
  • 1754ecf SPU: Get rid of second output stream
  • 8838120 System: Fix crash when disabling runahead
  • 3dca598 Log: Switch to enum class
  • 88bc3a2 Fixed typo in F4 Cheat Type code (#3300)
  • f169b89 GPU: Defer frame done if not running events
  • f9941c3 GPU/HW: Reduce shader dependence on global constants
  • 986e207 GPU/HW: Make batch shaders independent on resolution
  • e1c8766 Misc: More iNN => sNN
  • c439de6 Common: SSE2 backsupport for vector classes
  • 206f32e Qt: Fix early console debug output
  • cf32774 RegTest: Check size before hash
  • 23ec40d Settings: Set log level to none if no sinks enabled
  • 2768d27 Qt: Make log window legible in light theme
  • bb3d27f GPU/SW: Drop dithering function specialization
  • dae38cb Qt: Fix gap in advanced graphics settings on Linux
  • d67b826 CI/Flatpak: Improve install behaviour
  • bfc914a CMake: Add DISABLE_SSE4 option
  • ed7a9e2 CI: Refactoring and add Linux SSE2 builds
  • b971125 MSBuild: Support creating legacy SSE2 builds
  • 71cf206 CI: Add Windows SSE2 builds
  • 9a1d92a gitignore: Add /.cache/ folder (#3301)
  • c0ada65 Atualização Português do Brasil (#3302)
  • 2cfad21 Common: Missed another SSE4 instruction
  • 3808217 SPU: Handle ignore loop address with IRQs on
  • 114effd CDROM: Simulate backwards 1T jump on short seeks
  • 50cfbf1 GameDB: PGXP-CPU for Valkyrie Profile
  • 5ed96fc GameDB: ICache for Nightmare Creatures
  • fd8f97f GPU/HW: Fix adaptive downsampling
  • 9919271 ImGuiOverlays: Fix scrolling offscreen with no-serial
  • 4d74b20 System: Don't try to read SYSTEM.CNF from Audio CD
  • 0e4ca9c CDROM: Fix CDDA playback in some obscure edge cases
  • d1eed89 GameDB: PGXP-CPU for Roswell Conspiracies
  • a26c3e5 System: Add new 'Type 1B' fast boot
  • 58dc24c CDROM: Pack state in struct
  • 495a0da Pad: Pack state in struct
  • c46ec39 GPU: Move software fill/write/copy into rasterizer namespace
  • e3a84af GameDB: PGXP-CPU for Firebugs
  • 2e4eaea GameDB: PGXP-CPU for Hogs of War
  • b36e2ce CPU/CodeCache: Don't create a branch block with no delay slot
  • 29da7f7 System: Add 'Fast Forward Boot' option
  • df8e950 Qt: Rename 'Disable All Enhancements' to 'Safe Mode'
  • 5995471 FullscreenUI: Disable rewind options unless enabled
  • 82ed6bb Atualização Português do Brasil (#3303)
  • a76b48b CI: Update dependency versions
  • 4e88028 Qt: Fix inconsistent multitap addressing
  • 615781b GPUBackend: Don't rely on g_settings
  • 036e11f Qt: Remove unused variable
  • ca6b994 Common: Build fix when compiling with AVX2 march
  • 7d8ae9a Packaging: Add SPEC and PKGBUILD
  • b51def8 Qt: Support update checking without installing
  • fee5f76 Qt: Put RAIntegration in root menu bar
  • 4132b5e Settings: Remove 'Increase Timer Resolution' option
  • e06f1f1 GPU: Add hardware texture cache
  • d32143b ImGuiOverlays: Make escape close save state selector
  • 73fd97e GPUTextureCache: Fix reload replacements hotkey/menu action
  • 3081c4f Qt: Fix disabling of some texture dumping options
  • 060146a CDROM: Add SubQ Skew option
  • 9de5794 Data: Add replacement scanlines shader
  • 6dc4fa5 CDROM: Physical => SubQ in variables
  • 07f410b Achievements: Mirror whacky rcheevos header handling
  • 75babc7 Data: Update SDL game controller db
  • ccc3b11 FileSystem: Slight ifdef tidy-ups
  • 08fe20a CMake: Add spirv-cross include path to util
  • 45c8f6e BIOS: Make GetInfoForHash() public
  • 0730a36 GPU/HW: Fix batch shader compiling with GLSL ES
  • bd050eb OpenGLDevice: Fix 16-bit texture uploads without PBOs
  • 51fefb3 System: Fix crash when toggling SW with interpreter
  • 7e72b9f GPU/TextureCache: Fix palette reduction in C4 mode
  • 785692d Atualização Português do Brasil (#3304)
  • 4d5e0b6 Settings: Don't create dumps/audio in userdir
  • 887d588 System: Further improve fastboot behaviour
  • c740fd9 GPU/TextureCache: Disable bilinear page upscaling by default
  • a83b642 Settings: Disable texture cache in safe mode
  • 2f33154 BIOS: Fix OpenBIOS initializer
  • 0ae4461 README: Mention SSE2 builds and texture replacement
  • 52389f4 GPU/HW: Fix force-round-coords with texture cache
  • 71bb953 GPU/HW: Handle redundant texture window updates
  • 08bdffa GPU/HW: Fix toggling texture replacement settings
  • 80971da AnalogController: Allow negative vibration bias
  • c9f7ef5 System: Fix reset when booting EXE
  • 3fb5fb4 System: Fix saving of subimage index
  • 9ff4fbd StringUtil: Fix incorrect end_ptr computation
  • 32e96b0 FullscreenUI: Various fixes
  • f1dd161 GameDB: Chaos Control supports mouse
  • ff19484 GameDB: Disable WS for Breath of Fire III
  • f4b88ed GameDB: Disable WS for Breath of Fire IV
  • bfbea97 OCT 2024 Update to cheat file (#3307)
  • 1778507 Atualização Português do Brasil (#3306)
  • 449cd7c Data: Update SDL Game Controller DB
  • 0c2ab82 System: Fix no-disc startup in later versions

0.1-7371

  • 81295c8 FileSystem: Correctly use lstat() on Linux
  • e6a682f System: Reduce rewind/runahead memory usage w/o 8MB enabled
  • 7041178 System: Make more functions static
  • aeb9d38 System: Add save state compression mode options
  • 4f16cb6 GPUDevice: Expose swap chain clear colour
  • b2ca23e GPU: Use full display rect for postfx calculations
  • 8ad133d FileSystem: Fix crash on file open fail in WriteAtomicRenamedFile()
  • c97516b CDROM: Further improve seek timing
  • d1f0669 SPU: Ensure all samples are generated prior to DMA write
  • 624ab4d Atualização Português do Brasil (#3273)
  • 5368a1d CI/AppImage: Work around broken AppImageLauncher
  • 55d0951 CDROM: Defer init completion until after seek
  • 76f6eaf Qt: Fix folder selection title bar
  • 98b1a70 GPU/HW: Use texture instead of RTs for rewind/runahead w/o MSAA
  • 010c7de dep: Bump vk_mem_alloc to 871913d
  • 34df233 VulkanDevice: Enable VK_KHR_maintenance4 and 5
  • b72e622 CubebAudioStream: Remove leftover field
  • 8295fd9 GPUDevice: Fix debug assertion tripping in Vulkan
  • 290c44f Error: Add TakeDescription()
  • 5f80827 VulkanDevice: Fix download inside render pass
  • af47eb6 System: Add video capture feature
  • 62eb557 MediaCapture: Warning fix
  • 00a58eb Bus: Fix sideloading EXEs without initial SP value
  • db4e28f GPU: Add cycle penalty for reloading CLUT
  • abbb21f GPU: Approxiate texture cache reload time for P8/C16 sprites
  • 78398f8 GameDB: Battle Athletess - Daiundoukai GTO
  • 5d84185 GameDB: Slightly bump up DMA rate for Chrono Cross
  • 9a58327 GPU: Vectorize VRAM fills
  • c30c4a5 GPU: Fix possible race in screenshot
  • 422a0a0 MediaCapture: Fix OpenGL capture
  • 8ad912c MediaCapture: Handle BGRA for MediaFoundation
  • ee07e9e Hotkeys: Move Toggle Media Capture to General
  • d5b6d35 dep: Add FFmpeg v7.0.2 headers
  • da4b5df MediaCapture: Add FFmpeg backend
  • da1fb4c Data: Update SDL game controller database
  • e8693ed README: Various corrections/updates
  • 3e708d0 Atualização Português do Brasil (#3274)
  • 5786f3a System: Fix loading state without media
  • f48d3b4 CMake: Copy FFmpeg dylibs into Mac bundle
  • 71738d1 GPU: Clear RT before sending to media capture
  • 9e09f53 Core: Add constexpr MIPS Encoder
  • cbbfc2f StringUtil: Add BytePatternSearch()
  • e96320d BIOS: Add Type 2 fastboot patch (PS2)
  • 421bd23 Bus: Add stub for SIO2 accesses
  • 34e0752 GameDB: Add hash for Starblade Alpha (Japan)
  • a6ba2b5 BIOS: Prioritize image enumeration
  • 09cdd98 Qt: Clarify BIOS support in setup wizard
  • 0af2c01 Updated Spanish (Latin America) translation (#3275)
  • f99d5ff FullscreenUI: Fix saving of list options (e.g. controller settings)
  • 13a3741 FullscreenUI: Fix popup close resetting window scroll
  • 7756c5a Qt: Fix log window mouse interaction
  • 05f9f33 ImGuiFullscreen: Fix choice popup selected drawing over border
  • f5815f3 ImGuiFullscreen: Display checkmark on right of choice dialog
  • 0f03aa3 GameDB: Fix Starblade Alpha JPN hash (#3276)
  • 159254c RegTest: Fix OOB array read
  • f2896d5 RegTest: Report performance stats on exit
  • 460acce MDEC: Ensure alignment of inputs
  • 2e24519 Misc: Fix ARM32 build (again)
  • 2f5aa45 SPU: Fix incorrect envelope rate
  • add4624 Qt: Fix list focus restoration after system shutdown
  • 7810c95 Atualização Português do Brasil (#3277)
  • 823ce58 update Simple-Chinese translation to latest. (#3278)
  • 681fab5 Qt: Update glyph ranges
  • 052930a System: Fix reset with Type 2 fastboot
  • ce7bbb4 FullscreenUI: Make "version" in Big picture translatable (#3279)
  • 44a12db Log: Flush on every write
  • b274bf4 System: Switch to new capture file on video FPS change
  • c6d14fe System: Log information on startup
  • 7ac3e2f Settings: Don't create deprecated achievement cache directories
  • 9d7a3b1 Settings: Fix incorrect videos directory
  • 6f9e8ef Qt: Fix a couple of theme switching glitches
  • e2ea0bf Qt: Fix link colouring in setup wizard
  • 3772706 System: Look up media capture settings on-demand
  • 3175214 MediaCapture: Fix MP3 audio encoding
  • ee98912 SPU: Fix SPU_DUMP_ALL_VOICES option
  • 304f69e CDROM: Fix rare interrupt race when cancelling commands
  • b2577ef Qt: Work around theme switching bug

v0.1-7294

Commits

  • d841371 CI/AppImage: Use fuse3 compatible appimagetool (#3251)
  • d70f5dd GSVector: Remove unused functions
  • 59a2309 GPU: Use half width vector types where appropriate
  • 640ed4a CPU/Recompiler: Eliminate redundant speculative reg read
  • 154a5b3 CDImageCHD: Refactor mode conversion to string_view
  • fee8887 System: Purge unused RecreateSystem()
  • fae6b7a System: Fix double error on load/boot cancel
  • cf15591 Add crt-hyllian-sinc.fx, crt-geo-zfast.fx and update others (#3252)
  • 66f31d4 CI: Add workflow to upload cached deps/symbols
  • 5381ad9 Qt: Adjust controller diagrams
  • 00cc3b6 Qt: Fix a few places per-game settings were not checked
  • 889427e Qt: Disable a couple of unusable per-game settings
  • bc30569 SPU: Reverb input should be muted when SPU muted
  • fb747d6 CDROM: Drop setloc on double Play
  • 44b9d16 CDROM: Defer set of autopause track
  • 9392c19 CDROM: Handle audio sectors in 2X mode
  • f1ca914 CDROM: Further adjust IRQ delay
  • 9a89ab3 GameDatabase: Add deinterlacing mode override
  • c925bec GameDB: Set deinterlacing mode and line offset on a few games
  • 8d94fd5 GameDB: Use SW readbacks for 360 Three Sixty
  • 5d5c04c RegTest: Fix compare with only missing but no diffs
  • 0a86aba Atualização Português do Brasil (#3253)
  • 92038da CDROM: Handle speed change while reading
  • c286112 Updater: Replace all StdStringFromFormat() with fmt
  • 00ccea8 GPUDevice: Replace remaining StdStringFromFromFormat() with fmt
  • ca2a8f1 Host: Purge C format string error overloads
  • aa94b07 Qt: Purge format string usage from AutoUpdaterDialog
  • 567b86c Host: Purge ReportFormattedDebuggerMessage()
  • 24ef76b StringUtil: Purge StdStringFromFormat()
  • 6176a21 ProgressCallback: Eliminate redundancy and drop C format strings
  • a6cf320 Qt: Fix scan percent dropping back to 0% at end
  • 41e1553 FileSystem: Add Error parameter to more functions
  • 7217536 MD5Digest: Span-ify
  • 19063d4 Bus: Mirror BIOS area up to 4MB
  • f0945ca BIOS: Refactor loading/hashing of images
  • 6a920b2 CDROM: Handle BFRD clears inbetween DMA transfers
  • d9a224e GameList: Fix bogus entries on disc change due to disc set
  • 5f36c29 Updater: Fix missing newline on MacOS
  • 2e96931 CPU/CodeCache: Dynamically compute BIOS memory access timing
  • 0815aed FileSystem: Drop use of stat64()
  • 56dd987 Misc: RISC-V build fixes
  • 4f7ddfa TimingEvents: Remove pointer indirection
  • 9b77a9a TimingEvents: Move interrupt dispatch to end of loop
  • 495b2ff GameDB: Front Mission 2
  • efd8aab TimingEvents: Fix events ending up out-of-order
  • 52f9e85 CDROM: Deactivate command attempt before queueing another
  • f1f89d3 BinarySpanReaderWriter: Add subspan methods
  • 79644bf CPU: Add Safe{Read,Write}MemoryBytes
  • f2e88ce PINE: Add MsgReadBytes/MsgWriteBytes
  • cc667cd Sockets: Add SetNagleBuffering()
  • 3172eac PINE: Disable nagle buffering
  • d9ada75 Qt: Toggle for DualSense Player LED (#3254)
  • a6e34fa Fix ui_step for crt-consumer.fx (#3256)
  • 14d8760 Resources: Update SDL game controller database (#3255)
  • 6b78364 Sockets: Ignore SIGPIPE on Linux
  • 7880087 Sockets: Properly handle POLLHUP events
  • ad374ef Sockets: Use epoll on Linux
  • 022b2fc Qt: Disable incompatible settings in game properties
  • b4136d2 TimingEvents: Avoid heap allocation in SortEvents()
  • 2938602 Qt: Remove BIOS search directory from per-game settings
  • 533022b Qt: Ensure fullscreen UI is stopped on exiting
  • 28c74f1 update the Simple-Chinese translation to latest. (#3257)
  • fe55446 ImGuiManager: Fix stutter when multiple OSD messages lapse
  • deed0c9 GameDatabase: Merge compatibility messages
  • ba6b654 GPUDevice: Improve pipeline error reporting
  • 298f39a GPU/HW: Fully report shader/pipeline creation failures
  • e743c5d GPU/HW: Force update CLUT on save state
  • 1006fa0 GPUDevice: Add support for Raster Ordered Views
  • 2a617c5 GPU/HW: Support using ROV for accurate blending
  • 49772f0 GameDB: Set accurate blending for Addie no Okurimono
  • 7bbc174 GameDB: Accurate blending for High Heat Major League Baseball 2002
  • b7bfbc0 Atualização Português do Brasil (#3258)
  • 0407f93 CPU: Fix loading recompiler-saved states with interpreter
  • 5e8870e D3D12: Avoid redundant render pass restarts
  • 861d4a5 FullscreenUI: Reorder graphics settings to match Qt
  • 5ec9c8a CDROM: Fix handling of 8-bit ADPCM and decoder overruns
  • 68575d1 CDROM: Shift instead of divide in ZigZagInterpolate
  • dce1221 Bus: Log when RAM_SIZE changes
  • 0b5287f Bus: Implement RAM_SIZE register
  • 0f4af03 CMake: FreeBSD build fix
  • 1771bfa Atualização Português do Brasil (#3259)
  • e455a5e ImGuiFullscreen: Fix incorrect notification width
  • bf1b023 Add a new port of crt-royale.fx (#3260)
  • 3282366 PostProcessing/FX: Preserve option declaration order
  • 5656f91 Qt: Fix missing line on first postfx category
  • 7a3a72e GPU: Add display rotation option
  • d3dc3ec Organize crt-royale params in categories. (#3261)
  • 440e08c Qt: Fix crash opening game compatibility report
  • f051aa5 GameDB: Include London Mission Pack in GTA disc set
  • c2d24f4 CDROM: Re-enable error-on-seeking-pause behaviour
  • fcd4e60 Atualização Português do Brasil (#3262)
  • 5026e1b Spanish translation update 2024/07/27 (#3263)
  • a3acb0c GPU/HW: Always allow shader blend with fbfetch
  • 7b99fcb GPU: Fix edge bleeding with Bilinear Integer scaling
  • 6fe0c98 System: Rewrite EXE override/loading
  • 40356fc FileSystem: Remove unnecessary checks
  • 876f212 DynamicLibrary: Add patch to versioned filename
  • b6b0997 Build: Favor git repositories over in-tree patches
  • 11c6f89 gitignore: Add /deps/
  • 6da84bf GameDB: Disable WS for Rally de Europe
  • a3f8162 Qt: Add a new Justifier controller icon (#3264)
  • ab7a3e1 BinaryReaderWriter: Add class for files as well as spans
  • c83b5fd FileSystem: Add AtomicRenamedFile
  • 7aaaf7c GameDatabase: Purge use of ByteStream
  • b5009da GameList: Purge use of ByteStream
  • dd8bf2c MemoryCard: Purge use of ByteStream
  • a6518ff System: Rewrite save state I/O
  • 6ce9e57 Misc: Purge remaining ByteStream references
  • 0321a2c Common: Purge ByteStream
  • 998f77c GameDB: More WS disables
  • e0911d7 GPU/HW: Fix spec violation with Vulkan fbfetch
  • 2d2bc93 dep/reshadefx: Avoid snprintf() when writing float constants
  • 410cea0 PostProcessing/FX: Use ToChars instead of to_string()
  • 8c9a885 GameDB: Add missing hash
  • 534a82d dep/reshadefx: Fix float printing regression
  • 33f6cc2 System: Use default compression level
  • 2f90651 Spanish (Spain) update - 2024/07/29 (#3266)
  • f1f57d8 Atualização Português do Brasil (#3267)
  • 24abd10 Add CRT-Guest-NTSC (#3268)
  • 0afcbd3 Update Russian translation (#3269)
  • aa400f1 GameDB: Analog support for Nightmare Creatures (#3270)
  • 6d70d24 AudioStream: Swap to shared soundtouch library
  • 75cf877 Deps: Bump SDL2 to 2.30.6
  • 0518bfb Data: Update SDL game controller DB
  • 4eb3b2a dep: Remove soundtouch
  • 3a83c42 Misc: Fix a bunch of code analysis warnings
  • 9a626ca Qt: Reduce game list jank after shutting down VM
  • a793741 Qt: Slightly bump grid view font size
  • 7cbd67e MSBuild: Remove redundant include
  • 1b9b469 Qt: Fix render-window-resize with 270deg rotation
  • 30c5eba GPUDevice: Fix instances of RWTexture not clearing
  • 5b590d4 D3D11Device: Fix blend state not applying to MRTs
  • 143acca Core: Purge resources.cpp
  • a2f9854 Misc: Slim down some header includes
  • ee538ae CDROM: Improve resampling quality of 18900hz XA
  • f9079b0 CDROM: Display XA coding info in debug window
  • ec5d8cb Achievements: Use badge IDs from server
  • 59a1cca dep/rcheevos: Bump to v11.5.0 + local changes
  • 6c0a0e6 GPU: Fix incorrect lightgun line with force progressive
  • c538df3 GameDatabase: Add crop mode override
  • 02fbfae System: Add advanced 'Export Shared Memory' option
  • c3bf267 System: Remove redundant remap
  • 0c15c9e Qt: Fix bug where config-based RAIntegration occasionally failed
  • 35dd4fd Qt: Fix incorrect list access for async cover load
  • c23ea4b CI/AppImage: Pin versions
  • 6e795c8 CMake: Fix duplicate SPIRV-Cross library on MacOS
  • d862043 CMake: Fill version in bundle info plist
  • 79bb5f0 GPUDevice: Fix SPIRV-Cross load error on Mac
  • 6c5ffba MemMap: Fix object leak on fallocate() failure
  • 2fb5e44 Atualização Português do Brasil (#3272)
  • e499f90 MemMap: Fix inverted condition
  • 0517aef CDROM: Don't allow deferred INT1 after Pause ACK
  • cabba81 CI/Flatpak: Switch from JSON -> YAML
  • efc821b VulkanDevice: Fix incorrect condition in UnbindTexture()
  • 3a08ad1 Qt: Purge some unused debug menu options

v0.1-7139

  • e4cb359 GameDB: Breath of Fire III
  • 810ce1c GPU: Remove duplicate display params fields
  • 0c3cf1f PostProcessing: Split into internal and display chains
  • 80d1056 GPU: Add virtual call when buffers are swapped
  • 1cb3e6b ShaderGen: Support multiple render target output
  • 3f25db7 D3D11Device: Make depth targets sampleable
  • d8bd35e GPUDevice: Add D24S8/D32F/D32FS8 types
  • e39a2d0 GPU/HW: Use D32F for PGXP depth
  • 34d5cde GPU/HW: Expose depth buffer to internal postprocessing
  • 07e9a01 Atualização Português do Brasil (#3237)
  • 66ba600 A super-simple shader (#3236)
  • 89eea91 Extras: Update to PadTest 1.1
  • 890f3fc Common/Log: Make actually writing unlikely
  • 5bf9e1d dep/vixl: Fix ARM32 build
  • 8c0af03 MSBuild: ARM64 only builds with Clang
  • 0d3e674 Qt: Move resources out of exe into rcc file
  • be8fbaf CPU/CodeCache: Always dynamically allocate code buffer
  • 9b42ad3 CPU/CodeCache: Purge JitCodeBuffer
  • f3671d2 CPU/CodeCache: Reduce far code size when using NewRec
  • 44142ab CPU/Recompiler: Prefer adrp over trampoline for +/-4GB branches
  • 4221029 CMake: Remove unused macro
  • 0375199 GL/ContextEGL: Fix red_size to blue_size (#3238)
  • e169189 GPU/HW: Fix possible crash when changing texture filtering
  • 1963d80 RegTest: Fix crash on startup
  • da2dc5f FIFOQueue: Optimize PopRange() for trivially-copyable types
  • 6d6659c MDEC: Increase intermediate IDCT precision
  • e1f90e6 MDEC: Store scale/IDCT matrix transposed
  • fbdeea7 GameDB: Duke Nukem games
  • aabe39d GPU: Allow DMAs in Mode 1
  • 31c3af4 RegTest: Add spacebar swapper
  • 31aa040 Deps: Build cpuinfo
  • a255b5b Deps: Remove cpuinfo from in-tree
  • 173a610 System: Use cpuinfo for cache line size check
  • baab966 System: Check for SSE4.1 in early hardware checks
  • 0ae6ddc Common: Add GSVector
  • b094c9c MDEC: Vectorize IDCT
  • 0654b2d AudioStream: Use GSVector
  • faa151d CDImageCHD: Use GSVector
  • 6947195 ImGuiOverlays: Use GSVector
  • 0968610 CDROM: Use GSVector
  • f9bf2e8 GPU: Use GSVector for SW scanout
  • 044d7a4 GPU: Eliminate heap allocation on state load
  • e16f2c4 README: Mention SSE4.1 requirement
  • 2a7de25 Common: Remove gsvector.h dependency on assert.h
  • ef152c4 GPU/HW: Interpolate native texture coordinates when upscaling
  • 9ef7e8c GPU/HW: Use GSVector instead of Rectangle
  • 2bcb85d GPU/HW: Push all draws/writes through a common path
  • 2953365 MetalDevice: Rectangle -> GSVector4i
  • e0509eb Common: Remove Rectangle class
  • 3c230ba PlatformMisc: Swap include order for Mac
  • d178853 PostProcessing/FX: Fix incorrect draw rect
  • 63b30e2 Qt: Annotate unofficial release builds
  • 7927ec6 Qt: Fix a couple of instances of inconsistent sorting
  • 4b61a3c Qt: Unrestrict resolution scale up to device limits
  • eb8df23 Qt: Fix gap in advanced graphics settings on Linux
  • f35397c Deps: Build discord-rpc
  • 00d2d86 Build: Use shared discord-rpc
  • f6d3a79 System: Load discord-rpc dynamically
  • e59e936 CMake: Fix warning building with MSVC
  • 69c35c9 Deps: Remove rapidjson from in-tree
  • 82b5772 Deps: Move build scripts/patches into own directory
  • 87f2995 TextureReplacements: Namespace-ify
  • 487eb10 Common: __m128 shouldn't be used in nosimd
  • c02bf0f CPU/NewRec/RV64: Compile fix
  • 9fcc98a InputSource: Explicitly construct binding key
  • 3749b81 GPUDevice: Add ExecuteAndWaitForGPUIdle()
  • 4c02507 GPU/HW: Ensure buffers are freed prior to recreating
  • d021a61 GameDB: PGXP-CPU for Rat Attack
  • 77488db Misc: Align CPU state and SPU voices to cache lines
  • 536b48d SPU: Pack state in struct
  • e1a4c7d DMA: Pack state in struct
  • a57101c Timers: Pack state in struct
  • b6a264b TimingEvents: Pack state in struct
  • 23962fd GTE: Pack local config in struct
  • c51db5c Update Russian translation (#3241)
  • b9155ec Atualização Português do Brasil (#3242)
  • 9196250 Fix crt-cyclon and update others (#3240)
  • 29b3fa2 GSVector: Add {min,max}v_{u8,u16}
  • eba0794 FileSystem: Add Error to file writing
  • 9a70003 MSBuild: Silence MSVC warning C4324
  • b06fcef GDB/PINE: Fix listen socket leak on shutdown
  • 1fd8d27 Sockets: Add HasAnyClientSockets()
  • bc73dac System: Use socket multiplier for sleeping when connected
  • ed5a990 GPU: Cull off-screen sprites/lines
  • d372609 Add memory contents to "Addr=" string in debugger
  • e4470a9 fix: out-of-border access
  • 40048cb fix: remove duplicated code
  • 5cdcdb5 fix: string to c-string to string
  • a3d600d fix: moved vairable access
  • 6f50e12 PostProcessing/FX: Remove debug shader dump
  • ff7bfaa dep/reshadefx: Avoid emitting more reserved keywords as identifiers
  • d63ae87 GPU: Always calculate draw rect
  • e1a9c69 Deps: Bump to SDL 2.30.5
  • aac7a99 CI/AppImage: Drop gcc13 workaround
  • fe05528 Deps: Patch macdeployqt timeout
  • 7f21226 GameDatabase: Warn if vertex cache is enabled but unnecessary
  • 7373342 GameDB: CPU-PGXP for Resident Evil 3
  • f5cc709 CMake: Fix typo in Mac CMAKE_CXX_FLAGS
  • b6f7420 CPU/PGXP: Don't force inputs to valid on add/sub
  • 985b9f8 GameDB: CPU-PGXP for Xenogears
  • 22b2738 Add geom-overlay and fix other shaders. (#3245)
  • 5410a42 CPU/PGXP: Explicitly handle addi rt, zero, nnnn
  • d831cb6 CPU/PGXP: Normalize variable names
  • 3b7844b CPU/PGXP: Don't force valid inputs on mult/div
  • d922a43 CPU/PGXP: Don't force valid input on slt/sltu
  • f0e2d1a CPU/PGXP: Rewrite SLTI/SLTIU handlers
  • de27e5d GPU: Add option to disable PGXP on 2D polygons
  • 36abbd9 GameDB: Set DisablePGXPOn2DPolygons on Xenogears
  • ec851c9 FileSystem: Add FTruncate64()
  • 8659c8c Core: Add MemoryCardIconCache
  • 9143116 Qt: Show memory card icons in game list
  • addadba Qt: Use memory card icon as window icon
  • 9383663 Qt: Center type icon in game list
  • a56ebf2 Qt: Fix incorrect sort indicator on loading
  • 4bd7256 Add Gaussian blur shaders and update psx.jpg (#3247)
  • 989a19d Atualização Português do Brasil (#3246)
  • c1976f4 Add ntsc-adaptive-lite.fx shader (#3248)
  • 7c818c0 CI/Flatpak: Bump to flatpak-github-actions b6c9217
  • 18b0b11 CommonTests: Add GSVector MDEC YUVToRGB test
  • 9be7a37 GSVector: SIMD-ify YUVToRGB
  • 5881133 CPU/PGXP: Set valid on bitwise ops from lowprec
  • e5c62b8 CPU/PGXP: Fix incorrect Y on invalid add/sub
  • 11f7bfc CPU/PGXP: Refactor add/sub for small speedup
  • 226a8ea MemoryCardIconCache: Ignore shared cards
  • 58470ce Atualização Português do Brasil (#3249)
  • 3b9c489 CPU: Pass instruction query values by reference
  • 2ac2ad6 CPU/Recompiler: Break blocks on invalid instructions
  • 7c45ad3 GameList: Add dedicated gameicons directory
  • 0f0cc4e Qt: Re-add QDarkStyle theme option (#3250)
  • 97e555a README: Update link to last non-SSE4.1 build
  • 2cfa535 System: Fix certain GPU settings not applying until unpause
  • 5da6c92 GameList: Always open icon cache with r+b on Linux
  • b7da118 Qt: Don't boot system twice on rapid clicking
  • afea18f Image: Fix crash loading corrupted/invalid JPEG files
  • ff77bd0 ImGuiFullscreen: Don't upload failed-loaded images
  • fd0626a GameList: Re-extract memcard icon if deleted
  • 594962d Qt: Scale down custom icon pixmaps
  • 5d4f6e4 Qt: Use device pixel ratio when scaling gameicons
  • a5a3207 GPU/HW: Fix incorrect dirty rect union
  • 8698298 CPU/NewRec: Fix incorrect condition in GenerateCall()
  • 500fbe5 Achievements: Fix potential uninitialized data read
  • df979d4 Build: Fix DiscordRPC not being included in Mac bundle

v0.1-6995

NOTE: This is the last build of DuckStation that does not require a SSE4.1-capable CPU (i.e. anything released in approximately 2008).

  • f0c2832 Dep: Update vixl to 662828c
  • ef69c31 GPUDevice: Support transpiling shaders at compile time
  • 964b949 Postprocessing/FX: Ensure RT isn't bound as sampler
  • eb80a82 GameDB: Disable widescreen on Final Fantasy Tactics
  • 54097fc Postprocessing/FX: Expose 'viewportoffset' uniform
  • 2a90a88 Add crt-consumer and crt-cyclon. Update others. (#3223)
  • 51648b0 CI/AppImage: Explicitly remove libwayland-*
  • c179210 GPU/HW: Eliminate raw texture pipeline permutations
  • d16470d Update Japanese translation (#3225)
  • 451d15a Atualização Português do Brasil (#3224)
  • 5be2e68 Qt: Update glyph ranges
  • 1582b2a GPU/HW: Make texture filtering a fragment shadergen parameter
  • 8455c9c GPU/HW: Add 'Force Round Upscaled Texture Coordinates'
  • 0563350 GameDB: Set force round texcoords on Crash games
  • 3d6b9e1 Settings: Include cheats in disable-all-enhancements
  • e9a4723 GPUDevice: Compile warning fix
  • 6870010 GPU/HW: Remove log spam
  • be4abb0 GPU/HW: Reduce multiple setting source of truth
  • 34f2079 GPU/HW: Add separate 3D/2D (sprite) texture filtering
  • 7b1ec5d GameDB: Force round texcoords on Digimon World 3
  • a5f8684 BIOS: Add further detail to missing BIOS message
  • 1ae79c8 System: Refactor unsafe settings warning
  • da51827 GameDB: Over Drivin' DX - Rally Edition (Japan) (#3226)
  • 70d7d4a MSBuild: Enable Vulkan on Windows ARM64
  • 01fc325 CPU/Recompiler: Warning fix for ARM64/Clang
  • ccb76d1 GameList: Add custom title/regions
  • 4827e54 BinarySpanReaderWriter: Fix off-by-one error (#3230)
  • 7491ba6 Spanish (Spain) Translation update 2024/06/19 (#3229)
  • 59c3c33 Deps: Update to SDL 2.30.4 (#3228)
  • d8b7e25 Atualização Português do Brasil (#3227)
  • 3d00957 Resources: Update gamecontrollerdb.txt
  • 63055f1 FullscreenUI: Add sprite texture filtering option
  • ea3fa7f Postprocessing/FX: Fix locating shaders in subdirectories
  • 966cce1 Postprocessing: Sort shader list lexiographically
  • e854164 Deps: Bump versions
  • 6892c3d Qt: Work around theme swap bug with Classic Windows
  • 1797050 VulkanDevice: Release swap chain images on resize
  • b8ed013 dep/reshadefx: Fix UBO reference with OpenGL
  • 6bfd862 GPUDevice: Fix transpiled interface linking with OpenGL
  • 6021e43 Qt: Work around QList marshalling issue
  • 9189588 Shaders: Add new pack of shaders (reshade) (#3232)
  • dd4b282 Atualização Português do Brasil (#3233)
  • 1a2ad89 dep/rcheevos: Bump to d54cf8f
  • 17d4595 dep/rcheevos: Hash functions are not needed
  • e7e0902 Achievements: Avoid malloc on state save/load
  • b9ff358 Achievements: Support scratchpad memory
  • db30566 Achievements: Implement disc change without state reset
  • 8c1228a Qt: Tidy up theme change workaround
  • ebf50ed System: Allocate JIT space before fastmem area
  • ad27f8b Add some shaders and update others. (#3234)
  • 12f2ff9 Indonesian Translation
  • 71c319c dep/rcheevos: Set RC_NO_THREADS
  • 5c94ab9 dep/rcheevos: Avoid -1 return in rc_runtime_progress_size()
  • a89ec0e Achievements: Always recompute state data size on save
  • dd420cb Common: Alloc failures in HeapArray are unlikely
  • 8c72fd5 GPUDevice: Disable SPIR-V optimization on GLSL output
  • 41f4024 Atualização Português do Brasil (#3235)
  • 3877486 System: Ensure titles are sanitized for screenshots

v0.1-6937

Commits

  • f1465dd Memmap: Use Mach VM routines for memory mapping
  • 25bf2b3 CDROM: Clear async interrupt on read/seek start
  • 7682cd2 System: Generate hash serials when running PS-EXE
  • 7bc4249 CI/AppImage: QtNetwork is no longer needed
  • 3063101 CDROM: Implement 0x60 test command
  • c3bf89b GameDB: Disable texture filtering in Legend of Dragoon
  • c4bf5b4 RegTest: Write file log as well as frames
  • 723af4d Misc: Loading old save state versions is unlikely
  • d013438 CDROM: Rewrite BFRD handling
  • 5360074 GPU: Cancel VRAM writes on Reset
  • 73136d7 GPU: Tie idle bit to FIFO emptyness on VRAM write
  • 627c12b GPU: Fix IRQ request
  • a7543ab GPU/HW: Fix crash on VRAM write/copy with mask test
  • 8ef7320 Bus: Ignore SPU byte writes to unaligned addresses
  • e70f155 MemoryCard: Implement GetID command
  • c637e2b System: Fix title after loading state for EXE-boot
  • 3e3572c DMA: Fix range check in mode0 when decrementing
  • 7222c21 CDROM: Further refine interrupt delay
  • e25bb48 GameDB: Add PGXP-CPU to Lego Racers
  • 05395c8 Polish localization updates (#3220)
  • 0675716 D3D11Device: Fix redundant SRV set on RT change
  • 892319d CI/Flatpak: Disable Flathub pushes
  • 5a18565 CI: Disable Qt's PCRE2 JIT on Windows
  • 3486107 CDROM: Ensure complete IRQs for Init go through
  • 8595175 CDROM: Improve accuracy of sector redelivery on DMA complete
  • a2e6a48 Qt: Add very-early VC++ runtime version check
  • 484c1dc Qt: Use 64-bit comparison for VC runtime check
  • e11f73e Updater: Add VC runtime check
  • 0879dff Updater: Add icon/rc file
  • f41c238 VulkanDevice: Disable VK_KHR_dynamic_rendering_local_read on AMD
  • b464b6d FullscreenUI: Fix loading undo state from menu
  • bac2ac0 FullscreenUI: Fix incorrect padding calculation in pause menu
  • 354b250 PostProcessing: Add native width/height inputs
  • c2eed01 Indonesian Translation (#3221)
  • facce0d PostProcessing: Expose aspect-correct pixel sizes
  • e6a11ab Shaders: Fix upscaling moire in CRT-Lottes
  • 7cf7a0a Add some shaders to dolphinfx folder
  • edea81d Update CRT-HYLLIAN.glsl
  • ac1bb90 GPU: Set idle bit during VRAM upload
  • c86f6eb Achievements: Fix incorrect data source for mastery points
  • 9a88cbc Pad: Fix incorrect card mismatch OSD message
  • 8124fb2 CDROM: Fix incorrect sector dropped log message
  • 2771471 Qt: Fix checked state on startup for disc merging
  • d51b880 Postprocessing/FX: Fix incorrect pixel size uniforms
  • d45e218 CI: Re-enable Flathub pushes
  • f0c2832 Dep: Update vixl to 662828c
  • ef69c31 GPUDevice: Support transpiling shaders at compile time
  • 964b949 Postprocessing/FX: Ensure RT isn't bound as sampler
  • eb80a82 GameDB: Disable widescreen on Final Fantasy Tactics
  • 54097fc Postprocessing/FX: Expose 'viewportoffset' uniform
  • 2a90a88 Add crt-consumer and crt-cyclon. Update others. (#3223)
  • 51648b0 CI/AppImage: Explicitly remove libwayland-*
  • c179210 GPU/HW: Eliminate raw texture pipeline permutations
  • d16470d Update Japanese translation (#3225)
  • 451d15a Atualização Português do Brasil (#3224)
  • 5be2e68 Qt: Update glyph ranges
  • 1582b2a GPU/HW: Make texture filtering a fragment shadergen parameter
  • 8455c9c GPU/HW: Add 'Force Round Upscaled Texture Coordinates'
  • 0563350 GameDB: Set force round texcoords on Crash games
  • 3d6b9e1 Settings: Include cheats in disable-all-enhancements
  • e9a4723 GPUDevice: Compile warning fix
  • 6870010 GPU/HW: Remove log spam
  • be4abb0 GPU/HW: Reduce multiple setting source of truth
  • 34f2079 GPU/HW: Add separate 3D/2D (sprite) texture filtering
  • 7b1ec5d GameDB: Force round texcoords on Digimon World 3
  • a5f8684 BIOS: Add further detail to missing BIOS message
  • 1ae79c8 System: Refactor unsafe settings warning
  • da51827 GameDB: Over Drivin' DX - Rally Edition (Japan) (#3226)
  • 70d7d4a MSBuild: Enable Vulkan on Windows ARM64
  • 01fc325 CPU/Recompiler: Warning fix for ARM64/Clang
  • ccb76d1 GameList: Add custom title/regions
  • 4827e54 BinarySpanReaderWriter: Fix off-by-one error (#3230)
  • 7491ba6 Spanish (Spain) Translation update 2024/06/19 (#3229)
  • 59c3c33 Deps: Update to SDL 2.30.4 (#3228)
  • d8b7e25 Atualização Português do Brasil (#3227)
  • 3d00957 Resources: Update gamecontrollerdb.txt
  • 63055f1 FullscreenUI: Add sprite texture filtering option
  • ea3fa7f Postprocessing/FX: Fix locating shaders in subdirectories
  • 966cce1 Postprocessing: Sort shader list lexiographically
  • e854164 Deps: Bump versions
  • 6892c3d Qt: Work around theme swap bug with Classic Windows
  • 1797050 VulkanDevice: Release swap chain images on resize
  • b8ed013 dep/reshadefx: Fix UBO reference with OpenGL
  • 6bfd862 GPUDevice: Fix transpiled interface linking with OpenGL
  • 6021e43 Qt: Work around QList marshalling issue
  • 9189588 Shaders: Add new pack of shaders (reshade) (#3232)
  • dd4b282 Atualização Português do Brasil (#3233)
  • 1a2ad89 dep/rcheevos: Bump to d54cf8f
  • 17d4595 dep/rcheevos: Hash functions are not needed
  • e7e0902 Achievements: Avoid malloc on state save/load
  • b9ff358 Achievements: Support scratchpad memory
  • db30566 Achievements: Implement disc change without state reset
  • 8c1228a Qt: Tidy up theme change workaround
  • ebf50ed System: Allocate JIT space before fastmem area
  • ad27f8b Add some shaders and update others. (#3234)
  • 12f2ff9 Indonesian Translation
  • 71c319c dep/rcheevos: Set RC_NO_THREADS
  • 5c94ab9 dep/rcheevos: Avoid -1 return in rc_runtime_progress_size()
  • a89ec0e Achievements: Always recompute state data size on save
  • dd420cb Common: Alloc failures in HeapArray are unlikely
  • 8c72fd5 GPUDevice: Disable SPIR-V optimization on GLSL output
  • 41f4024 Atualização Português do Brasil (#3235)
  • 3877486 System: Ensure titles are sanitized for screenshots

Auteur(s)

Auteur
Connor McLaughlin

Autres émulateurs de la catégorie

  • MAME

    Dernière mise à jour:
    Version 0.272
  • RetroArch

    Dernière mise à jour:
    Version 1.19.1
  • ares

    Dernière mise à jour:
    Version 141
  • Mednafen

    Dernière mise à jour:
    Version 1.32.1
  • BizHawk

    Dernière mise à jour:
    Version 1.13.1
  • Pcsx-Redux

    Dernière mise à jour:
    Version auto build
  • ePSXe

    Dernière mise à jour:
    Version 2.0.5
  • PCSX Reloaded

    Dernière mise à jour:
    Version 95719
  • FlareStorm

    Dernière mise à jour:
    Version 2.0