DuckStation, ein PlayStation-1-Emulator, wurde in der Version v0.1-11752 veröffentlicht.
Das Update umfasst 143 Commits mit deutlichem Schwerpunkt auf Sicherheitshärtung: zahlreiche Puffer- und Integer-Überläufe sowie Out-of-Bounds-Zugriffe in den CD-Image-Parsern (MDS, PBP, CUE) wurden abgesichert, dazu ein möglicher Pfad-Traversal-Fehler im Updater.
Weitere Highlights sind eine komplette Überarbeitung des GDB-Servers (Watchpoint-Details, GTE-Register, robustere Protokollbehandlung), ein neuer BIOS-Installer in der Qt-Oberfläche, eine genauere Timer-Emulation, die neue Controller-Option “Disable Simultaneous Opposing Cardinal Directions” (SOCD) sowie Textdarstellung für Hebräisch. Bei den Achievements wurde “Softcore” in “Casual” umbenannt, und die Media Capture nutzt nun standardmäßig H264.
Security & Stability:
- Updater: Fix possible path traversal during preprocessing
- Updater: Fix possible infinite loop
- CDImageMDS: Fix a bunch of possible buffer overreads
- CDImagePBP: Add missing validation of BCD digits / check SFO index table count before reading
- CDImageCue: Validate bits-per-sample for wave files
- ISOReader: Fix possible integer overflow in GetSizeInSectors()
- PSFLoader: Add missing header size checks when loading
- Cheats: Fix possible OOB reads in malformed instructions
- Achievements: Fix possible read past end of memory in callback
- GPU: Add missing serialization / simple checks to the polyline buffer
- StateWrapper: Add max size checks, clamp enum values, avoid integer overflow on 32-bit
- Image / AnimatedImage: Avoid integer overflow for dimensions
- MDEC: Ensure direct FIFO writes don’t overflow
- Misc: Fix under-allocation in sjis2utf8()
GDBServer:
- Expose target memory map, registers and GTE registers
- Report watchpoint stop details, expand watchpoint ranges
- Support continue / single-step / signal resume addresses
- Bound remote packet sizes, reject oversized incoming packets
- Apply register writes atomically, invalidate code after memory writes
- Notify host when first/last client connects/disconnects
- Restore run state after disconnect, disable nagle buffering
BIOS & System:
- Qt: Add BIOS Installer and improve BIOS setup page
- BIOS: Add version information and filenames to list
- System: Add option to install BIOS when missing
- Timers: Improve emulation accuracy
- SPU: Fix volume sweep termination conditions
- DMA: Hardwire reverse direction for OTC
Qt / FullscreenUI:
- Qt: Add CollapsibleWidget, refresh button for border overlay list
- Qt: Rework media capture menu
- Qt: Implement mouse capture using CoreGraphics, tie relative mouse state to active window
- Qt: Fix crash opening game settings
- FullscreenUI: Expose multitap memory cards, fix shared memory card selection
- ImGuiManager: Support rendering Hebrew text
Controller & Achievements:
- Controller: Add ‘Disable Simultaneous Opposing Cardinal Directions’ option
- Achievements: Rename softcore to casual
- Achievements: Make password login asynchronous
- Achievements: Ensure callbacks run on core thread for RAIntegration
MediaCapture:
- Fix incorrect samples on buffer wrap-around
- Fix possible corruption in audio-only capture
- Resample audio when encoder doesn’t support 44.1KHz (with OSD warning)
- Default to H264 on all platforms
Graphics backends:
- VulkanDevice: Numerous compute pipeline, texture upload and swapchain fixes
- D3D12Device: Descriptor allocation, texture array and render-pass clear format fixes
- MetalDevice: Fix a few leaky object retains
Localization: Spanish (Spain) and Brazilian Portuguese translation updates

Quelle: GitHub