介绍
DuckStation 是一款免费的跨平台 PS1 模拟器,由澳大利亚模拟器作者 stenzek 开发,支持 Windows、macOS、Linux 以及安卓等多种系统,其前端是 Qt 开发的,在安卓系统中要求安卓 4.4 及以上版本 。它采用了先进的技术,如原生 libretro 核心等,能够为玩家提供高质量的游戏模拟体验,并且自带中文支持,降低了玩家的使用门槛,使其更易于上手。
软件截图
软件特点
CPU 重编译器/JIT:支持 x86-64, armv7/AArch32, AArch64, RISC-V/RV64 等架构。
硬件和软件渲染:支持 D3D11, D3D12, OpenGL, Vulkan, Metal 等硬件渲染器,以及软件渲染。
图像增强:支持图像缩放、纹理过滤和真彩色(24位)在硬件渲染器中。
精确混合:通过 Rasterizer Order Views/Fragment Shader Interlock 实现精确混合。
PGXP:用于几何精度、纹理校正和深度缓冲区仿真。
纹理替换系统:在硬件渲染器中支持纹理替换。
运动自适应去隔行:改善视频质量。
自适应降采样滤波器:提高图像质量。
屏幕旋转:支持垂直或“TATE”射击游戏。
后期处理着色器链:支持 GLSL 和 Reshade FX。
快速启动:跳过 BIOS 启动画面/介绍。
存档支持:支持存档状态,包括预读取和回滚。
光盘映像预加载:避免磁盘休眠引起的卡顿。
自动加载/应用 PPF 补丁。
直接启动自制执行文件。
直接加载便携式声音格式(psf)文件。
时间拉伸音频:在非 100% 速度运行时保持音频同步。
数字和模拟控制器输入(支持震动反馈)。
光枪支持:通过鼠标模拟 GunCon 和 Justifier。
NeGcon 支持。
Qt 和“大画面”UI。
自动更新:提供预览和最新版本通道。
自动内容扫描:游戏标题/哈希值由 redump.org 提供。
可选的每个游戏自动切换记忆卡。
支持加载现有作弊列表。
记忆卡编辑器和存档导入器。
模拟 CPU 超频。
集成和远程调试。
多插槽控制器:支持多达 8 个设备。
RetroAchievements。
Discord Rich Presence。
视频捕捉:支持 Media Foundation(Windows)和 FFmpeg(所有平台)。
更新日志
7116a80 Common: Add RESTRICT macro
5686677 CPU/CodeCache: Avoid log calls in faults outside of JIT code
fe1fa76 CPU/Recompiler: Don't back up value to stack in mtc0
10e2079 CPU/Recompiler: Don't use far code for mtc0 cache check
6993e6c GPU/SW: Fix double draws of polyline vertices
831c982 System: Rewrite memory save state handling
2d659fc GPU: Move backend work off CPU thread
7826c25 System: Frame step after runahead
c4b0430 System: Remove unused SetExpansionROM()
26db661 GPU: Remove global indirection
6b754e6 FullscreenUI: Fix CPU/GPU thread race on achievements toggle
62285dc Settings: Split into GPU and main settings
01dfc9a GameDB: PGXP-CPU for Muppet Monster Adventure
e1bd569 Misc: Slightly reduce include pollution from settings.h
9b97bd5 Packaging: Add scripts to include libc/libstdc++ in AppImage
0aa89ec System: Fix some GPU settings not updating
ad980a7 GPU: Fix 480i resolution display in OSD
080d30b GPU: Slightly adjust PAL active range
a919fa7 GameDB: PGXP-CPU for Wipeout games
556a53e Fix Typo in Russian tr (#3346)
9b62632 Achievements: Re-add NeedsIdleUpdate()
b81287e GPUBackend: Remove duplicate num_vertices
0b4e302 GPU: Implement PGXP for lines
515a4d0 System: Fix pre-frame sleep getting stuck
448009f CPU/CodeCache: Fastmem RAM faults are always writes
7f1ebd3 PageFaultHandler: Warning fix
a8361f9 GPU: CLUT should not be saved on CPU thread memory state
9e04b0b GPU/TextureCache: Add 'Always Track Uploads' option
406cd1b Qt: Shuffle a couple of graphics options
f3f99f7 FullscreenUI: Support renderer swapping without restart
8e254c4 GPUBackend: Fix VRAM loss with runahead/rewind
9a22ac3 GPU/HW: Download VRAM when enabling sw-for-readbacks
2aa466d Atualização Português do Brasil (#3347)
307bd86 SPU: Fix determinism loss when loading state where IRQs differ
18c509a CPU/Recompiler: Exit block early on DCIC/BPCM change
ac05c35 CPU: Fix DCIC not being cleared on reset
9f73e69 CPU: Debug mode flag should be updated on state load
89f1109 CPU: GTE completion cycle should be reset/serialized
b8fa97e GPU: Fix sprite texture filtering with TC enabled
00278fa PIO: Fix failure to load state with different cart type
33083cf Settings: Add missing bitfield width
86d78e5 GPU/TextureCache: Only use shader bilinear for initial pagefill
f4265ed SmallString: Add append_vformat()
dc18ce2 System: Warn if fastmem mode is not optimal
c4e0e7f InputManager: Fix mouse-mapped axes getting stuck
0565320 ImGuiFullscreen: Enable smooth scrolling for file/choice selectors
e7ff547 GameDB: Street Fighter games
ad7318f FullscreenUI: Fix spacing in game list
d010f76 FullscreenUI: Fix smooth scrolling in game/state/etc lists
b81c879 Qt: Fix F3 getting intercepted when game/FSUI active
8f6db2c Qt: Add missing icon to System Display
b33aa31 FullscreenUI: Update translation strings
dd180f2 System: Fix dump VRAM writes not updating on GPU thread
6f3e991 GPU/HW: Fix VRAM write dumping only first row
b03127b GPU: Move background dumping to HW+GPU thread
8c2fe43 GPU/TextureCache: Apply 'Dump Replaced Textures' option to backgrounds too
d360564 GameList: Fix lock not re-acquired on failure
00eb54c Achievements: Refactor state serialization
0528ce5 Achievement: Fix glitchy fade indicator animation
6903abb CDROM: Adjust missed INT1 sector behaviour
fa99384 Qt: Update English/Plural strings
750dd1c dep/rcheevos: Bump to 3a91a58
55c5e17 GameDB: Driver 2 settings
272aa4f ImGuiManager: Add Begin/EndTextInput()
5c83bbe FullscreenUI: Slight tidy-up to achievements login dialog
9921d20 Achievements: Fix serialization on Linux
7b9664d Atualização Português do Brasil (#3348)
a44dd18 RegTest: Update CLI help
ce71b16 CPU/CodeCache: Add static to a couple of missing functions
4b34825 CPU/CodeCache: Remove InstructionInfo pc field
4e5b4ba CPU: Fix AdEL/IBE on instruction fetch
2a8cfc7 CPU/CodeCache: Simplify code LUT addressing
2da692b CPU/Recompiler: Swap bl{x,r} for b{x,r} on ARM
69ed6e5 Hotkeys: Screenshot should not be present on Android
58b0ccf Common: Add 2D vector formatters
c99625e GPU: Move vertex culling to GPU thread
25b0bb7 GPU/HW: Try truncating culled vertices
74fd217 GPU/HW: Always update/load/save CLUT
c258946 GPU/HW: Remove extra debug group pop
7bb0c7d InputManager: Fix pointer scale loading
8c80711 GPUDevice: End timer on command flush
799f5bd GPU: Assume vertex commands are 8-byte aligned
5c3abb4 Common: Fix vector sse2_max_u16()
0e6ade0 FileSystem: Add error reporting to DeleteDirectory()
1a211e0 GPU/HW: Fix mask bit regression from FF8 fix
b7832e6 GPU/HW: Vectorize flipped sprite handling
1ed9e60 RegTest: Support replaying GPU dumps
82a843c RegTest: Log state and RAM hashes on exit
242561d CPU/Recompiler: Align dispatchers and JIT blocks
ab10772 Scripts: Add -only-download option to Linux deps
d4e393f Common: Fix write overflow with nosimd vector
468c907 Cheats: Compiler warning fix
9cba1de GPU/HW: Compiler warning fix
156b3f9 Scripts: Add Linux cross-compile deps script
a08bd43 CMake: Fix incorrect message for cache line size
401582b PlatformMisc: Load libdbus at runtime
d65ae6c Scripts: Add cross-compiled AppImage generator
4e928d7 Common: Work around LLVM LTO inline asm issue
9cd9042 CMake: Fix RISC-V building with LLVM
c5bd410 GPU: Refactor and simplify deinterlacing
4d4523d GPU: Use same early culling rules for lines as polygons
3c5db39 GPU/SW: Remove polygon size checks from backend
7228f6f System: Don't fail startup if cpuinfo init fails
a3645f3 GameDB: Gokujou Parodius Da! Deluxe Pack
69826f2 FullscreenUI: Fix incorrect section for Deinterlacing Mode
e0877c1 System: Add IsUsingPS2BIOS()
1bf076c VulkanDevice: Fix crash on shutdown if swapchain creation fails
b76618f System: Should call PGXP Reset not Initialize() in InternalReset()
79b0533 Common: Fix RISC-V/64 fastjmp buffer size
a4b3596 Common: Switch fastjmp.cpp asm to tabs
4c08c71 CPU/Recompiler: Fix dispatcher crash on RISCV64
34f2600 CPU/Recompiler: Fix ICache update codegen on RISCV64
f25302c CPU/Recompiler: Actually use fetch ticks for uncached EXP1
d69d254 VulkanDevice: Hopefully fix init under Vulkan 1.0 drivers
ffef0c2 CPU/CodeCache: Don't compile invalid jumps via block links
884459d FullscreenUI: Fade alpha change when switching to postfx settings
57be62f FullscreenUI: Remove a couple of untranslated titles
8605722 GameDB: GTA does not support analog mode
a08acdb System: Improve texture recycling when changing rewind/runahead settings
f51dda3 GPUDevice: Allow this-frame pooled textures when not uploading data
d0e1efb Common: Add more GSMatrix ops
22202f1 Common: Fix vector blend32() and dot() on SSE2
dcd439e GTE: Add 'Free Camera' feature
1d63648 Qt: Forward text input to aux render windows
5ac5a1d Hotkeys: Fix resolution scale with memory save states
f3b7686 System: Fix crash with memory save states + renderer switch
37e5e64 System: Move state display updates to call sites
c11468b Qt: Drop log messages if rate is too high
e036318 Qt: Add 'Controller Test' to tools menu
0fdf984 GTE: Disable freecam on Android
179e2f1 FullscrenUI: Fix field spacing scaling in game list view
b213128 FullscreenUI: Fix popup sizes for postfx settings
3a64c5e FullscreenUI: Improve field alignment in achievements login
cd873eb GTE: Add 'Reverse Transform Order' option to freecam
08cd649 InputManager: Fix pointer-bound bind movement
83b4757 Qt: Controller Test should be disabled while running
90cb266 Common: Small tidy-up and constexpr-ify GSMatrix4x4
fc5553a GTE: Improve reverse transform freecam
d3fe1df ImGuiManager: Separate debug and OSD fonts
ba15a76 ImGuiManager: Pack state in struct
87e3670 PostProcessing: Get rid of Timer global
e08dda0 CPU: Declare state with constinit
e096827 Updated Swedish translation (#3349)
88cd086 Cheats: Eliminate extra newlines during code editing
b2c8d25 GPUBackend: Only display CPU thread blocked messages if queueing
dda10d3 Qt: Add search box to hotkey settings
下载地址
有事联系邮箱xbnbcn@126.com
登录后才能查看这里的内容哦