{"id":138483,"date":"2026-10-25T11:55:51","date_gmt":"2026-10-25T10:55:51","guid":{"rendered":"https:\/\/www.emu-france.com\/?p=138483"},"modified":"2026-10-25T11:55:51","modified_gmt":"2026-10-25T10:55:51","slug":"consoles-de-salon-duckstation-v0-1-r261025","status":"publish","type":"post","link":"https:\/\/www.emu-france.com\/?p=138483","title":{"rendered":"[Consoles de salon] DuckStation v0.1 r261025"},"content":{"rendered":"<p>Il s&rsquo;agit du meilleur \u00e9mulateur de PlayStation One, devant ePSXe et pSX.<br \/>\n&nbsp;<br \/>\n<a href=\"https:\/\/www.emu-france.com\/wp-content\/uploads\/2024\/07\/duckstation-lomax.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter  wp-image-80411\" src=\"https:\/\/www.emu-france.com\/wp-content\/uploads\/2024\/07\/duckstation-lomax.png\" alt=\"\" width=\"469\" height=\"430\" srcset=\"https:\/\/www.emu-france.com\/wp-content\/uploads\/2024\/07\/duckstation-lomax.png 900w, https:\/\/www.emu-france.com\/wp-content\/uploads\/2024\/07\/duckstation-lomax-300x275.png 300w, https:\/\/www.emu-france.com\/wp-content\/uploads\/2024\/07\/duckstation-lomax-768x705.png 768w\" sizes=\"auto, (max-width: 469px) 100vw, 469px\" \/><\/a><br \/>\n&nbsp;<br \/>\n<strong>Caract\u00e9ristiques:<\/strong><br \/>\n<em>&#8211; Recompilateur\/JIT CPU (x86-64, armv7\/AArch32, AArch64, RISC-V\/RV64).<br \/>\n&#8211; Rendu mat\u00e9riel compatible avec les API D3D11, D3D12, OpenGL, Vulkan et Metal.<br \/>\n&#8211; Mise \u00e0 l\u2019\u00e9chelle, filtrage des textures et couleurs vraies (24 bits) dans les moteurs de rendu mat\u00e9riels.<br \/>\n&#8211; PGXP pour la pr\u00e9cision g\u00e9om\u00e9trique, la correction des textures et l\u2019\u00e9mulation du tampon de profondeur.<br \/>\n&#8211; M\u00e9lange pr\u00e9cis via Rasterizer Order Views \/ Fragment Shader Interlock.<br \/>\n&#8211; Syst\u00e8me de remplacement de textures dans les moteurs de rendu mat\u00e9riels.<br \/>\n&#8211; Rendu logiciel vectoris\u00e9 et multi-thread\u00e9.<br \/>\n&#8211; D\u00e9sentrelacement adaptatif au mouvement.<br \/>\n&#8211; Filtre de sous-\u00e9chantillonnage adaptatif.<br \/>\n&#8211; Rotation d\u2019\u00e9cran pour les jeux de tir verticaux ou en mode \u00ab\u00a0TATE\u00a0\u00bb.<br \/>\n&#8211; Cha\u00eenes de shaders de post-traitement (GLSL, Reshade FX et pr\u00e9r\u00e9glages Slang).<br \/>\n&#8211; Bordures d\u00e9coratives affich\u00e9es autour du contenu du jeu.<br \/>\n&#8211; \u00ab\u00a0D\u00e9marrage rapide\u00a0\u00bb pour ignorer l\u2019intro du BIOS.<br \/>\n&#8211; Prise en charge des sauvegardes d\u2019\u00e9tat, avec ex\u00e9cution anticip\u00e9e et rembobinage.<br \/>\n&#8211; Compatible avec Windows, Linux et macOS.<br \/>\n&#8211; Lecture directe depuis CD, images bin\/cue, fichiers bin\/img bruts, MAME CHD, ECM \u00e0 piste unique, MDS\/MDF, CCD et formats PBP non chiffr\u00e9s.<br \/>\n&#8211; Pr\u00e9chargement des images disque en RAM pour \u00e9viter les interruptions dues \u00e0 la mise en veille du disque.<br \/>\n&#8211; Fusion des jeux multi-disques dans la liste\/grille avec cartes m\u00e9moire partag\u00e9es.<br \/>\n&#8211; Chargement\/application automatique des patchs PPF.<br \/>\n&#8211; D\u00e9marrage direct des ex\u00e9cutables homebrew.<br \/>\n&#8211; Chargement direct des fichiers Portable Sound Format (psf).<br \/>\n&#8211; Audio \u00e9tir\u00e9 dans le temps lors de l\u2019ex\u00e9cution hors de la vitesse 100 %.<br \/>\n&#8211; Prise en charge des manettes num\u00e9riques et analogiques (le retour de force est transmis \u00e0 l\u2019h\u00f4te).<br \/>\n&#8211; Support des pistolets GunCon et Justifier (simul\u00e9s \u00e0 la souris).<br \/>\n&#8211; Support de la manette NeGcon.<br \/>\n&#8211; Pr\u00e9r\u00e9glages de manette et configuration par jeu.<br \/>\n&#8211; Interface utilisateur Qt et mode \u00ab\u00a0Big Picture\u00a0\u00bb.<br \/>\n&#8211; Mises \u00e0 jour automatiques avec canaux preview et stable.<br \/>\n&#8211; Analyse automatique du contenu \u2014 titres\/hachages fournis par redump.org.<br \/>\n&#8211; Commutation automatique optionnelle des cartes m\u00e9moire par jeu.<br \/>\n&#8211; Prise en charge des cheats \u00e0 partir de listes existantes.<br \/>\n&#8211; \u00c9diteur de carte m\u00e9moire et importateur de sauvegardes.<br \/>\n&#8211; Overclocking CPU \u00e9mul\u00e9.<br \/>\n&#8211; Base de donn\u00e9es de codes de triche (cheats) avec prise en charge de plus de 4 000 jeux.<br \/>\n&#8211; Base de donn\u00e9es de correctifs (patchs) avec am\u00e9liorations visuelles, du taux de rafra\u00eechissement et du format d&rsquo;image.<br \/>\n&#8211; Analyse et modification de la m\u00e9moire en direct.<br \/>\n&#8211; Exploration d&rsquo;images ISO et extraction de fichiers.<br \/>\n&#8211; D\u00e9bogage int\u00e9gr\u00e9 et \u00e0 distance.<br \/>\n&#8211; Support des manettes multitap (jusqu\u2019\u00e0 8 appareils).<br \/>\n&#8211; Int\u00e9gration RetroAchievements.<br \/>\n&#8211; Pr\u00e9sence enrichie Discord.<br \/>\n&#8211; Capture vid\u00e9o via Media Foundation (Windows) et FFmpeg (toutes plateformes).<br \/>\n&#8211; Fonction de cam\u00e9ra libre.<br \/>\n&#8211; \u00c9mulation de cartouches via port parall\u00e8le.<\/em><br \/>\n&nbsp;<br \/>\n<strong>Configuration requise:<\/strong><br \/>\n<em>&#8211; Windows 10\/11 (7\/8\/8.1 <a href=\"https:\/\/web.archive.org\/web\/20251118151607\/https:\/\/github.com\/stenzek\/duckstation\/releases\/tag\/v0.1-5624\" rel=\"noopener noreferrer\" target=\"_blank\">ici<\/a>), Linux (AppImage\/Flatpak), macOS.<br \/>\n&#8211; Un CPU plus rapide qu&rsquo;une patate. Mais il doit \u00eatre x86_64, AArch32\/armv7, AArch64\/ARMv8 ou RISC-V\/RV64.<br \/>\n&#8211; Un GPU capable de OpenGL 3.1 \/ OpenGL ES 3.1 \/ Direct3D 11 niveau de fonctionnalit\u00e9 10.0 \/ Vulkan 1.0. Donc, en gros, n\u2019importe quoi fabriqu\u00e9 au cours des 10 derni\u00e8res ann\u00e9es.<br \/>\n&#8211; Une manette compatible SDL, XInput ou DInput (par exemple XB360\/XBOne\/XBSeries). Les utilisateurs de DualShock 3 sous Windows devront installer les pilotes officiels DualShock 3 inclus dans PlayStation Now.<\/em><br \/>\n&nbsp;<br \/>\n<a href=\"https:\/\/www.emu-france.com\/wp-content\/uploads\/2021\/03\/duckstation-qt.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter  wp-image-66657\" src=\"https:\/\/www.emu-france.com\/wp-content\/uploads\/2021\/03\/duckstation-qt.png\" alt=\"\" width=\"393\" height=\"343\" srcset=\"https:\/\/www.emu-france.com\/wp-content\/uploads\/2021\/03\/duckstation-qt.png 782w, https:\/\/www.emu-france.com\/wp-content\/uploads\/2021\/03\/duckstation-qt-300x262.png 300w, https:\/\/www.emu-france.com\/wp-content\/uploads\/2021\/03\/duckstation-qt-768x670.png 768w\" sizes=\"auto, (max-width: 393px) 100vw, 393px\" \/><\/a><br \/>\n&nbsp;<\/p>\n<p>Les am\u00e9liorations sont:<br \/>\n&nbsp;<br \/>\n<em><strong>Preview Build:<\/strong><br \/>\n&#8211; Use generated subchannel Q for virtual pregaps (Stenzek)<br \/>\n&#8211; Fix LBA count including pregaps twice (Stenzek)<br \/>\n&#8211; Fix single-file pregap and LBA count (Stenzek)<\/p>\n<p>&nbsp;<\/p>\n<p><strong>Stable Build (<em>or rolling release<\/em>):<\/strong><br \/>\n&#8211; Achievements: Extract bucket names out of FullscreenUI<br \/>\n&#8211; Achievements: Separate login and credential saving steps<br \/>\n&#8211; SettingsInterface: Guard against copying to self<br \/>\n&#8211; Threading: Add WaitFor() to ConditionVariable<br \/>\n&#8211; GameDatabase: Sort disc sets by save title<br \/>\n&#8211; GameList: Don&rsquo;t persist cache map between refreshes<br \/>\n&#8211; GameList: Allow use of external SettingsInterface<br \/>\n&#8211; GameList: Synchronize settings between FullscreenUI and Qt<br \/>\n&#8211; System: Provide content details to OnSystemStarted()<br \/>\n&#8211; StringUtil: Fix possible integer overflow in EncodeAndAppendUTF8()<br \/>\n&#8211; Settings: Add a dedicated key for overlays<br \/>\n&#8211; Settings: Don&rsquo;t copy controller type to game<br \/>\n&#8211; Core: Don&rsquo;t reset folders when resetting settings<br \/>\n&#8211; FileSystem: Backport additional helper functions<br \/>\n&#8211; FileSystem: Make OpenSharedCFile() wrap OpenCFile() on non-Windows<br \/>\n&#8211; FileSystem: Add error parameter to FTell64()<br \/>\n&#8211; FileSystem: Extract find result sorting to function<br \/>\n&#8211; FileSystem: Use shared file open for ReadBinaryFile\/ReadFileToString<br \/>\n&#8211; FileSystem: More RVO optimizations<br \/>\n&#8211; FileSystem: Add more ReadFileToString() overloads<br \/>\n&#8211; CPU\/Recompiler: Respect load delays when swapping NOP slots<br \/>\n&#8211; CPU\/Recompiler: Cancel pending loads on self moves<br \/>\n&#8211; CPU\/Recompiler: Keep link-register delay slots in order<br \/>\n&#8211; CPU\/Recompiler: Dispatch interpreter fallback exceptions<br \/>\n&#8211; CPU\/Recompiler: Trap constant signed arithmetic overflow<br \/>\n&#8211; CPU\/Recompiler: Preserve pending loads on memory exceptions<br \/>\n&#8211; CPU\/Recompiler: Correct misaligned indirect jump exceptions<br \/>\n&#8211; CPU\/Recompiler: Fix ARM32 VIXL debug builds<br \/>\n&#8211; CPU\/Recompiler: Mask constant variable shift counts on ARM<br \/>\n&#8211; CPU\/Recompiler: Truncate ARM64 multiplication results in LO<br \/>\n&#8211; CPU\/Recompiler: Decode ARM32 load exceptions from r0<br \/>\n&#8211; CPU\/Recompiler: Align ARM32 backpatch thunk calls<br \/>\n&#8211; CPU\/Recompiler: Use 32-bit ARM64 fastmem LUT indices<br \/>\n&#8211; CPU\/Recompiler: Handle large ARM64 backpatch cycle counts<br \/>\n&#8211; SPU: Fast-path ADPCM blocks without predictors<br \/>\n&#8211; SPU: Skip reverb output filtering at zero volume<br \/>\n&#8211; SPU: Pack reverb FIR coefficients into 16-bit lanes<br \/>\n&#8211; SPU: Extract reverb-master-enable out of loop<br \/>\n&#8211; GTE: Add regression tests<br \/>\n&#8211; GTE: Only sign extend MAC results on overflow<br \/>\n&#8211; GTE: Force inline matrix\/lighting\/projection helpers<br \/>\n&#8211; GTE: Specialize instruction handlers on sf\/lm<br \/>\n&#8211; GTE: Factorize NCLIP to use three multiplies<br \/>\n&#8211; GTE: Use shift for IRGB\/ORGB conversion<br \/>\n&#8211; GTE: Simplify FLAG error bit update<br \/>\n&#8211; GTE: Mark saturation branches as unlikely<br \/>\n&#8211; GTE: Use branchless saturation for light matrix multiply<br \/>\n&#8211; CDROM: Vectorize XA resampling<br \/>\n&#8211; MSBuild: Improve reproducibility<br \/>\n&#8211; CMake: Improve reproducibility<br \/>\n&#8211; CPU: Don&rsquo;t stall for GTE with a single cycle remaining<br \/>\n&#8211; System: Add optional callback to screenshot save<br \/>\n&#8211; System: Avoid unnecessary mutex unlock->relock<br \/>\n&#8211; ZipHelpers: Fix incorrect error message<br \/>\n&#8211; InputManager: Return proper error from GetGenericBindingMapping()<br \/>\n&#8211; Settings: Shorten fastmem mode description<br \/>\n&#8211; System: Don&rsquo;t use exact sleep on core thread<br \/>\n&#8211; Settings: Fix inconsistent default values<br \/>\n&#8211; Settings: Use constants for section names<br \/>\n&#8211; Update Swedish Qt translation<br \/>\n&#8211; TimingEvent: Relax Assert to DebugAssert<br \/>\n&#8211; FullscreenUI: Fix deadlock opening game properties<br \/>\n&#8211; Qt: Fix window icon\/title desynchronizing<br \/>\n&#8211; MDEC: Fix word alignment of DMA writes<br \/>\n&#8211; MDEC: Fix signed monochrome output<br \/>\n&#8211; MDEC: Use 32-bit add for red\/blue chroma rounding<br \/>\n&#8211; Tests: Add MDEC decode tests<br \/>\n&#8211; MDEC: Vectorize IDCT across matrix rows<br \/>\n&#8211; MDEC: Convert whole macroblock in YUVToRGB_New()<br \/>\n&#8211; MDEC: Simplify 15-bit output conversion<br \/>\n&#8211; MDEC: Add IDCT fast path for low frequency blocks<br \/>\n&#8211; DMA: Preserve source address for staged GPU transfers<br \/>\n&#8211; DMA: Optimize contiguous ordering table clears<br \/>\n&#8211; DMA: Avoid staging transfers ending at the RAM boundary<br \/>\n&#8211; DMA: Copy forward wrapping transfers in contiguous spans<br \/>\n&#8211; DMA: Skip transfer eligibility checks when clearing requests<br \/>\n&#8211; MDEC: Turn state dispatcher into a jump table<br \/>\n&#8211; OpenGLDevice: Fix active texture tracking when unbinding<br \/>\n&#8211; D3D11Device: Fix compute\/image binding state tracking<br \/>\n&#8211; D3D11Device: Fix texture copy\/map\/upload edge cases<br \/>\n&#8211; D3D11Device: Fix swap chain error handling and fullscreen output selection<br \/>\n&#8211; D3D11Device: Fix timestamp query state and WaitForGPUIdle()<br \/>\n&#8211; D3D11Device: Fix input layout cache keys and feature level 10 limits<br \/>\n&#8211; GPUDevice: Respect DisableMemoryImport in OpenGL\/Metal<br \/>\n&#8211; VulkanDevice: Fix crash when device creation fails<br \/>\n&#8211; VulkanDevice: Fix ROV clear not ending render pass<br \/>\n&#8211; VulkanDevice: Fix compute image descriptor set binding<br \/>\n&#8211; VulkanDevice: Only update multi-texture descriptors when dirty<br \/>\n&#8211; VulkanDevice: Always allocate storage image descriptors<br \/>\n&#8211; VulkanSwapChain: Fix abort when recreate fails after cached acquire<br \/>\n&#8211; VulkanDevice: Increase uniform buffer range to 16K<br \/>\n&#8211; VulkanDevice: Unbind texture buffer on destroy<br \/>\n&#8211; VulkanDevice: Don&rsquo;t restart render pass if one wasn&rsquo;t active<br \/>\n&#8211; VulkanSwapChain: Fix old swap chain leak on creation failure<br \/>\n&#8211; VulkanDevice: Don&rsquo;t flag extensions that aren&rsquo;t enabled on Vulkan 1.0<br \/>\n&#8211; VulkanDevice: Respect DisableMemoryImport flag<br \/>\n&#8211; VulkanDevice: Fix resolve with unused or invalidated textures<br \/>\n&#8211; VulkanDevice: Fix download transitioning wrong texture layer<br \/>\n&#8211; VulkanDevice: Fix render pass flags being truncated in cache key<br \/>\n&#8211; VulkanDevice: Fix blend attachment count with no colour targets<br \/>\n&#8211; VulkanDevice: Don&rsquo;t set blend constants unless used<br \/>\n&#8211; VulkanDevice: Fix image layout in null texture descriptor<br \/>\n&#8211; VulkanDevice: Fix buffer image height for compressed uploads<br \/>\n&#8211; VulkanDevice: Add self-dependency when framebuffer fetch is disabled<br \/>\n&#8211; VulkanDevice: Fix render pass state after flushing mid-present<br \/>\n&#8211; VulkanDevice: Check swapchain maintenance feature and push descriptor limit<br \/>\n&#8211; VulkanSwapChain: Don&rsquo;t request unsupported composite alpha<br \/>\n&#8211; VulkanDevice: Remove unused GetRenderPassForRestarting()<br \/>\n&#8211; VulkanDevice: Fix double free when texture buffer creation fails<br \/>\n&#8211; VulkanDevice: Wait for image acquire when submitting mid-present<br \/>\n&#8211; GPUDevice: Support mirrored surface pre-transforms<br \/>\n&#8211; GPUDevice: Remove unused DispatchWithPushConstants()<br \/>\n&#8211; OpenGLDevice: Fix uniform range padding and buffer mapping issues<br \/>\n&#8211; OpenGLDevice: glBlitFramebuffer() to self is not allowed in GLES<br \/>\n&#8211; OpenGLDevice: Reset last program when unbinding pipeline<br \/>\n&#8211; OpenGLDevice: Fix texture copy\/resolve\/download targets and ordering<br \/>\n&#8211; OpenGLDevice: Fix clear value handling for non-RGBA8 targets<br \/>\n&#8211; OpenGLTexture: Fix format table, MSAA creation and upload sizing<br \/>\n&#8211; OpenGLDevice: Don&rsquo;t disable async downloads when only PBO uploads are slow<br \/>\n&#8211; OpenGLDevice: Use stable VAO cache pointers and a default VAO<br \/>\n&#8211; OpenGLDevice: Fix vsync mode and surface leak when creating swap chains<br \/>\n&#8211; OpenGLDevice: Fix depth-only framebuffers and sRGB render targets<br \/>\n&#8211; OpenGLDevice: Fix MRT output locations without binding layouts, detach shaders<br \/>\n&#8211; OpenGLDevice: Delete samplers, check for optional sampler state<br \/>\n&#8211; OpenGLDevice: Add FlushPipelineCache(), fix pipeline cache error paths<br \/>\n&#8211; OpenGLDevice: Fix timer query feature check and debug labels<br \/>\n&#8211; ShaderGen: Use explicit output locations for MRT on GLES 3.0<br \/>\n&#8211; MSBuild: Work around broken MSVC release builds<br \/>\n&#8211; GPU: Fix automatic resolution scale when loading state<br \/>\n&#8211; System: Avoid redundant resolution change with auto upscale<br \/>\n&#8211; GPU: Guess automatic resolution scale while initializing<br \/>\n&#8211; MemoryCard: Save card to file asynchronously<br \/>\n&#8211; Translation: Add Android string list<br \/>\n&#8211; FullscreenUI: Update translation strings<br \/>\n&#8211; Qt: Update machine translations<br \/>\n&#8211; Qt: Add new strings to non-machine translations<br \/>\n&#8211; FullscreenUI: Add Waves background shader<br \/>\n&#8211; FullscreenUI: Subtle visual improvements<br \/>\n&#8211; FullscreenUI: Fix sort column being disabled<br \/>\n&#8211; GPU\/SW: Fix source desync in masked VRAM writes<br \/>\n&#8211; GPU\/SW: Fix signed overflow in attribute steppers<br \/>\n&#8211; GPU\/SW: Add drawing and copy tests<br \/>\n&#8211; GPU\/SW: Read 8-bit palette indices as bytes<br \/>\n&#8211; GPU\/SW: Use shuffle for 4-bit palette lookups<br \/>\n&#8211; GPU\/SW: Load sequential texels for sprites<br \/>\n&#8211; GPU\/SW: Remove redundant clip test for triangle spans<br \/>\n&#8211; GPU\/SW: Simplify colour unpacking and packing<br \/>\n&#8211; GPU\/SW: Only copy VRAM in reverse when necessary<br \/>\n&#8211; GPU\/SW: Remove some redundant vector operations<br \/>\n&#8211; GPU\/SW: Force inline vector constructors<br \/>\n&#8211; Common: Fix AVX2 vector helpers<br \/>\n&#8211; GPU\/SW: Enable AVX2 rasterizer on x64<br \/>\n&#8211; Timers: Fix sysclk IRQs being delayed by gate changes<br \/>\n&#8211; Timers: Fix target being reached when counter overflows<br \/>\n&#8211; Timers: Fix off-by-one when scheduling sysclk event<br \/>\n&#8211; Timers: Account for sysclk\/8 prescaler when scheduling IRQ<br \/>\n&#8211; Timers: Account for overclock remainder when scheduling IRQ<br \/>\n&#8211; Timers: Only reach zero target when counter is zero<br \/>\n&#8211; Timers: Fix IRQ time for GPU-clocked timers past the target<br \/>\n&#8211; Timers: Reschedule CRTC after writing to GPU-clocked timers<br \/>\n&#8211; Timers: Clear use_external_clock on reset<br \/>\n&#8211; TimingEvents: Add InvokeEarlyNoReschedule()<br \/>\n&#8211; Timers: Avoid updating counters when reading registers<br \/>\n&#8211; Fix regression<br \/>\n&#8211; Timers: Skip IRQ check when not reaching target or overflowing<br \/>\n&#8211; GPU: Use InvokeEarlyNoReschedule() for CRTC event<br \/>\n&#8211; GPU: Use InvokeEarlyNoReschedule() for command event<br \/>\n&#8211; SPU: Use InvokeEarlyNoReschedule() for transfer event<br \/>\n&#8211; Pad: Use InvokeEarlyNoReschedule() for transfer event<br \/>\n&#8211; Timers: Only toggle IRQ request once in one-shot mode<br \/>\n&#8211; Timers: Toggle IRQ request for both target and overflow in one update<br \/>\n&#8211; Timers: Hold sysclk counters after writes and target resets<br \/>\n&#8211; Timers: Synchronize GPU before reading gated sysclk timers<br \/>\n&#8211; GPU: Always activate CRTC event<br \/>\n&#8211; GPU: Rename UpdateCRTCTickEvent() to RescheduleCRTC()<br \/>\n&#8211; GPU: Reset IRQ and CLUT state correctly<br \/>\n&#8211; GPU: Correct polyline parsing and bound draw commands<br \/>\n&#8211; GPU: Correct fine cropping coordinates and bounds<br \/>\n&#8211; GPU: Refresh display dimensions when changing deinterlacing<br \/>\n&#8211; GPU: Keep lightgun coordinates in the correct clock domain<br \/>\n&#8211; GPU: Handle wrapped readback dumps and trace save failures<br \/>\n&#8211; GPU: Implement v2 register queries and status bits<br \/>\n&#8211; GPU: Implement v2 textured rectangle flips<br \/>\n&#8211; CPU\/Recompiler: Use native divide semantics on ARM<br \/>\n&#8211; CPU\/Recompiler: Allow 12-bit compare immediates on ARM64<br \/>\n&#8211; CPU\/Recompiler: Use tbz\/tbnz for bltz\/bgez on ARM64<br \/>\n&#8211; CPU\/Recompiler: Use sub for negative add immediates on ARM<br \/>\n&#8211; CPU\/Recompiler: Avoid constant load for const &#8211; reg on ARM<br \/>\n&#8211; CPU\/Recompiler: Swap operands for slt with constant rs on ARM<br \/>\n&#8211; CPU\/Recompiler: Shorten lwl\/lwr\/swl\/swr shift setup on ARM<br \/>\n&#8211; CPU\/Recompiler: Load downcount and pending ticks as a pair on ARM64<br \/>\n&#8211; CPU\/Recompiler: Use rotated\/inverted immediates for ARM32 constants<br \/>\n&#8211; CPU\/Recompiler: Use ubfx for low-bit andi masks on ARM32<br \/>\n&#8211; FullscreenUI: Make background shader accent dynamic<br \/>\n&#8211; FullscreenUI: Improve footer styling<br \/>\n&#8211; FullscreenUI: Display achievements points in landing window<br \/>\n&#8211; FullscreenUI: Ensure background load time is initialised<br \/>\n&#8211; Add @ANK-dev to UI Contributions (#3811)<br \/>\n&#8211; Tests: Fix util-tests building<br \/>\n&#8211; Tests: Fix timers test failures and assertion on shutdown<br \/>\n&#8211; SettingsInterface: Fix CopySection() breaking string lists<br \/>\n&#8211; FullscreenUI: Fix trails shader starting late<br \/>\n&#8211; ImGuiOverlays: Allow displaying resolution while paused<br \/>\n&#8211; Settings: Shuffle some bitfields<br \/>\n&#8211; ImGuiOverlays: Add frame number to OSD<br \/>\n&#8211; Qt: Work around Qt 6.12.0 spinbox text alignment bug<br \/>\n&#8211; SPU: Fix IRQ-enabled event scheduling with overclock active<br \/>\n&#8211; ImGuiManager: Don&rsquo;t try to upload an empty vertex\/index buffer<br \/>\n&#8211; SPU: Flush pending samples on off-voice register access with IRQs enabled<br \/>\n&#8211; SPU: Sync pending samples on ENDX reads and manual RAM writes<br \/>\n&#8211; SPU: Don&rsquo;t run every sample while the IRQ flag is set<br \/>\n&#8211; SPU: Predict the next sample that can trigger a RAM IRQ<br \/>\n&#8211; D3D11\/D3D12: Block until vblank on FIFO present<br \/>\n&#8211; VideoPresenter: Drop frames that missed vblank with blocking vsync<br \/>\n&#8211; System: Lock throttler phase to vblank with blocking vsync<br \/>\n&#8211; VideoThread: Start idle frames half a refresh before vblank<br \/>\n&#8211; FullscreenUI: Fix heading font size not adjusting<br \/>\n&#8211; GameList: Reduce padding in entry struct<br \/>\n&#8211; dep\/imgui: Update to 4be0b47ec<br \/>\n&#8211; dep\/imgui: Add minimal bidirectional text support<br \/>\n&#8211; Host: Remove resource file functions<br \/>\n&#8211; PostProcessing: Load built-in shaders by absolute path<br \/>\n&#8211; FullscreenUI: Simplify LoadTextureImage() path handling<br \/>\n&#8211; Android: Update translation strings<br \/>\n&#8211; SPU: Write per-voice dumps from the caller<br \/>\n&#8211; SPU: Fix interpolation product precision<br \/>\n&#8211; SPU: Prime the interpolation window on key on<br \/>\n&#8211; SPU: Decay below the sustain threshold<br \/>\n&#8211; SPU: Eliminate padding in Voice structure<br \/>\n&#8211; SPU: Model key-on timing and startup delay<br \/>\n&#8211; SPU: Time the repeat address latch from key on<br \/>\n&#8211; SPU: Clear ENDX on the first sample of the key on delay<br \/>\n&#8211; SPU: Remove per-voice last_volume<br \/>\n&#8211; Qt: Allow value editing in memory editor inspector<br \/>\n&#8211; Qt: Colour memory editor search box instead of dialog<br \/>\n&#8211; D3D12Device: End render pass when submitting command list<br \/>\n&#8211; D3D12Device: Begin render pass before applying dirty state<br \/>\n&#8211; D3D12Device: Only restart render pass after submit if one was active<br \/>\n&#8211; D3D12Device: Unbind all render targets when one is destroyed<br \/>\n&#8211; D3D12Device: Don&rsquo;t end a closed render pass in EndPresent()<br \/>\n&#8211; D3D12Device: Allow UAV writes in render passes with image RTs<br \/>\n&#8211; D3D12Device: Fix image RT bindings lost after command list submit<br \/>\n&#8211; D3D12Device: Prepare textures on every SetTextureSampler() call<br \/>\n&#8211; D3D12Device: Batch image RT UAV barriers before dispatch<br \/>\n&#8211; D3D12Device: Unbind texture buffers on destruction<br \/>\n&#8211; D3D12Device: Fix sampler group cache going stale and never resetting<br \/>\n&#8211; D3D12Device: Fix topology tracking and RTV handling in mipmap generation<br \/>\n&#8211; D3D12Device: Fix download texture destination row offset applied twice<br \/>\n&#8211; D3D12Device: Free RTV\/DSV to the right heap on texture creation failure<br \/>\n&#8211; D3D12Device: Fix texture Map() bounds check and upload space reservation<br \/>\n&#8211; D3D12Device: Fix swap chain ResizeBuffers() error handling and flags<br \/>\n&#8211; D3D12Device: Don&rsquo;t key pipeline cache on adapter LUID<br \/>\n&#8211; D3D12Device: Increase persistent descriptor heap sizes<br \/>\n&#8211; D3D12Device: Require typed UAV loads for ROV support<br \/>\n&#8211; D3D11Device: Unbind UAVs when switching back from ROV binding<br \/>\n&#8211; GPU\/HW: Deactivate ROV before blitting VRAM replacements<br \/>\n&#8211; DMA: Mirror channel control at offset 0xC<br \/>\n&#8211; DMA: Make DICR bit 6 read-only<br \/>\n&#8211; Bus: Honour byte enables for 8\/16-bit DMA block control writes<br \/>\n&#8211; Timers: Mode register bits 13-15 always read as zero<br \/>\n&#8211; Bus: Fix memory control register write masks<br \/>\n&#8211; Pad\/SIO: Mask unused mode bits and write-only control bits on read<br \/>\n&#8211; Bus: Return both halves for 32-bit pad\/SIO mode and baud reads<br \/>\n&#8211; SPU: Store the unused registers at 1F801DBCh and 1F801E60h<br \/>\n&#8211; CPU: Check coprocessor enable for lwcN\/swcN, store the next opcode<br \/>\n&#8211; CPU: Implement coprocessor branches<br \/>\n&#8211; Tests: Add register write and coprocessor tests<br \/>\n&#8211; GPUDevice: Add DrawWithBarrier()<br \/>\n&#8211; GPU\/HW: Fix VRAM writes\/copies with check_mask and fbfetch\/ROV<br \/>\n&#8211; FullscreenUI: Fix transitions with prerotation<br \/>\n&#8211; FullscreenUI: Fix shader backgrounds with prerotation<br \/>\n&#8211; FullscreenUI: Fix loading screen blur with prerotation<br \/>\n&#8211; ImGuiManager: Invalidate blur background on resize<br \/>\n&#8211; CPU\/Recompiler: Check events when linking truncated blocks<br \/>\n&#8211; CPU\/Recompiler: Cancel incoming load delay on a load to the same register<br \/>\n&#8211; CMake: Add DISABLE_SIMD option<br \/>\n&#8211; Common: Fix gsvector_nosimd.h issues<br \/>\n&#8211; GPU\/HW: Defer cover lookup until needed<br \/>\n&#8211; Achievements: Save avatar URL in settings<br \/>\n&#8211; Swedish translation corrections (#3812)<br \/>\n&#8211; Android: Update translation strings<br \/>\n&#8211; Qt: Split common log window code into LogWindowBase<br \/>\n&#8211; Qt: Add separate TTY window<br \/>\n&#8211; Qt: Add icons to Debug and Toolbar menus<br \/>\n&#8211; Qt: Add icons to log and TTY window menus<br \/>\n&#8211; Settings: Turn PGXP CPU Mode \/ Vertex Cache into an override<br \/>\n&#8211; Regtest: Add save state option<br \/>\n&#8211; Regtest: Add -setting option<br \/>\n&#8211; Image: Fix 16-bit to RGBA8 colour expansion<br \/>\n&#8211; VulkanDevice: Enable GPU-assisted and sync validation with GPU validation option<br \/>\n&#8211; GPU\/SW: Fix out-of-bounds read in interlaced 15-bit scanout<br \/>\n&#8211; CI: Include version number in installer<br \/>\n&#8211; GPU: Add mid-frame scanout option<br \/>\n&#8211; GameDatabase: Add ForceMidFrameScanout<br \/>\n&#8211; GameDB: Enable ForceMidFrameScanout for Dreams<br \/>\n&#8211; GameDB: Golden Goal 98 apparently doesn&rsquo;t support analog<br \/>\n&#8211; Qt: Move modulation crop to debugging settings<br \/>\n&#8211; GameList: Fix incorrect ps-exe hashes<br \/>\n&#8211; Android: Update translation strings<br \/>\n&#8211; Data: Add simple-color-adjustments postfx shader<br \/>\n&#8211; Qt: Add manual patch editing\/deletion to patches tab<br \/>\n&#8211; Qt: Update gamesettings ini when cheats are renamed<br \/>\n&#8211; Qt: Support options in patches tab<br \/>\n&#8211; Qt: Share code editor save\/rename\/remove logic between cheats and patches<br \/>\n&#8211; Qt: Add setting overrides to patch code editor<br \/>\n&#8211; Qt: Update machine translations<br \/>\n&#8211; CI: Add file filter checks to translation lint<br \/>\n&#8211; Qt: Fix a couple of style issues<br \/>\n&#8211; FullscreenUI: Add missing space in controller settings<br \/>\n&#8211; CPU\/CodeCache: Fix crash when cache is exhausted during compilation<br \/>\n&#8211; GameDatabase: Fix false positive PGXP warning<br \/>\n&#8211; Update duckstation-qt_es.ts (#3813)<br \/>\n&#8211; CPU\/PGXP: Add logging of RTPS<br \/>\n&#8211; Tests: Update cheat metadata type<br \/>\n&#8211; dep\/cubeb: Reopen closed WASAPI stream on start instead of aborting<br \/>\n&#8211; dep\/cubeb: Apply deferred WASAPI device reconfigure on stream start<br \/>\n&#8211; dep\/cubeb: Keep WASAPI render loop alive when reconfigure fails<br \/>\n&#8211; dep\/cubeb: Fix WASAPI thread ready event leak on init failure<br \/>\n&#8211; CPU\/PGXP: Fix sign of precise values crossing the 16-bit boundary in shifts<br \/>\n&#8211; CPU\/PGXP: Track precision through GTE GPF\/GPL<br \/>\n&#8211; CPU\/PGXP: Fix ADD\/SUB losing depth when the destination is a source<br \/>\n&#8211; CPU\/PGXP: Carry and wrap fractional values at the real halfword boundary<br \/>\n&#8211; CPU\/PGXP: Use floor when splitting off the upper halfword<br \/>\n&#8211; CPU\/PGXP: Use the native result for division by zero<br \/>\n&#8211; CPU\/PGXP: Use the native result for SLT\/SLTU\/SLTI\/SLTIU<br \/>\n&#8211; CPU: Pass SLTIU source to PGXP before it is overwritten<br \/>\n&#8211; CPU\/PGXP: Mirror GTE halfword register extension in MTC2\/LWC2<br \/>\n&#8211; CPU\/PGXP: Don&rsquo;t leave shifted-out bits in the upper half in right shifts<br \/>\n&#8211; CPU\/PGXP: Take the upper half sign from the precise value in right shifts<br \/>\n&#8211; CPU\/PGXP: Don&rsquo;t use invalid components in shifts<br \/>\n&#8211; CPU\/PGXP: Extract the upper half directly in right shifts of 16 or more<br \/>\n&#8211; CPU\/PGXP: Keep precision through OR\/XOR with zero, prefer precise sources<br \/>\n&#8211; CPU\/PGXP: Keep precision through ANDI\/ORI that don&rsquo;t change the lower half<br \/>\n&#8211; CPU\/PGXP: Use double precision and only valid components in ADDI<br \/>\n&#8211; Tests: Add PGXP CPU shift, bitwise and ADDI tests<br \/>\n&#8211; Cheats: Add override for ForcePGXPPreserveProjectionPrecision<br \/>\n&#8211; Controller: Restore 127 as the analog axis center<br \/>\n&#8211; Controller: Initialize analog axes to AXIS_CENTER<br \/>\n&#8211; Controller: Produce center for equal opposing half-axis inputs<br \/>\n&#8211; Misc: Fix gitattributes typo for vcxproj filters<br \/>\n&#8211; Qt: Add icon next to device indicator in bindings<br \/>\n&#8211; Qt: Tweak bold group box headings<br \/>\n&#8211; db0b553 Qt: Fix stale mouse grab after recreating display widget<br \/>\n&#8211; GPU\/HW: Store reciprocal Z in PGXP depth buffer<br \/>\n&#8211; CPU\/PGXP: Add option to normalize depth by GTE matrix scale<br \/>\n&#8211; GPU\/HW: Bias PGXP depth towards the camera by draw order<br \/>\n&#8211; Common: Add PackedOptional class<br \/>\n&#8211; GameDatabase: Use PackedOptional for overrides<br \/>\n&#8211; PostProcessing: Fix crash loading ReShade shaders without a swap chain<br \/>\n&#8211; Regtest: Split -setting key at the last slash<br \/>\n&#8211; GPU\/HW: Accumulate PGXP depth across depth buffer clears<br \/>\n&#8211; Data: Add MC_SSAO.fx<br \/>\n&#8211; Android: Update translation strings<br \/>\n&#8211; VulkanDevice: Wait for presents with VK_KHR_present_wait<br \/>\n&#8211; VideoPresenter: Split late present check out of ShouldPresentFrame()<br \/>\n&#8211; VideoPresenter: Probe for presentation backlog when gap baseline rises<br \/>\n&#8211; Data: Update SDL game controller database<br \/>\n&#8211; GPU\/HW: Track dirty depth rect to shrink depth merges\/clears<\/em><br \/>\n&nbsp;<\/p>\n<p><p class=\"p_telecharger_icone_zip\"><a class=\"telecharger_icone_zip\" href=\"https:\/\/www.emu-france.com\/?wpfb_dl=7710\" title=\"Download DuckStation\">T\u00e9l\u00e9charger DuckStation v0.1 build 12XXX (70.8 Mo)<\/a><\/p><div><a class=\"telecharger_icone_zip\" href=\"https:\/\/www.emu-france.com\/?wpfb_dl=8213\" title=\"Download DuckStation\">T\u00e9l\u00e9charger DuckStation v0.1 build 12XXX (ARM) (69.7 Mo)<\/a><\/div><\/p>\n<p class=\"p_site_officiel\"><a class=\"site_officiel\" href=\"https:\/\/github.com\/stenzek\/duckstation\" target=\"_blank\" rel=\"noopener noreferrer\">Site Officiel<\/a><\/p>\n<p class=\"p_en_savoir_plus\"><a class=\"en_savoir_plus\" href=\"https:\/\/www.emu-france.com\/emulateurs\/5-consoles-de-salon\/53-sony-playstation-psone\/\">En savoir plus&#8230;<\/a><\/p>\n<div class=\"fcbkbttn_buttons_block\" id=\"fcbkbttn_left\"><div class=\"fb-share-button  \" data-href=\"https:\/\/www.emu-france.com\/?p=138483\" data-type=\"button_count\" data-size=\"small\"><\/div><\/div>","protected":false},"excerpt":{"rendered":"<p>Il s&rsquo;agit du meilleur \u00e9mulateur de PlayStation One, devant ePSXe et pSX. &nbsp; &nbsp; Caract\u00e9ristiques: &#8211; Recompilateur\/JIT CPU (x86-64, armv7\/AArch32, AArch64, RISC-V\/RV64). &#8211; Rendu mat\u00e9riel compatible avec les API D3D11, D3D12, OpenGL, Vulkan et Metal. &#8211; Mise \u00e0 l\u2019\u00e9chelle, filtrage &#8230;<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false},"categories":[1],"tags":[],"class_list":["post-138483","post","type-post","status-publish","format-standard","hentry","category-par-defaut","uentry","postonpage-1","odd","post-author-Jets"],"jetpack_publicize_connections":[],"jetpack_shortlink":"https:\/\/wp.me\/pKi2R-A1B","jetpack_likes_enabled":false,"jetpack_sharing_enabled":true,"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/www.emu-france.com\/index.php?rest_route=\/wp\/v2\/posts\/138483","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.emu-france.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.emu-france.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.emu-france.com\/index.php?rest_route=\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.emu-france.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=138483"}],"version-history":[{"count":1,"href":"https:\/\/www.emu-france.com\/index.php?rest_route=\/wp\/v2\/posts\/138483\/revisions"}],"predecessor-version":[{"id":138484,"href":"https:\/\/www.emu-france.com\/index.php?rest_route=\/wp\/v2\/posts\/138483\/revisions\/138484"}],"wp:attachment":[{"href":"https:\/\/www.emu-france.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=138483"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.emu-france.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=138483"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.emu-france.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=138483"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}