DuckStation 开源PS1模拟器 v0.1.11752.0 免费版

精品软件 安全检测通过

软件介绍

Duckstation是由stenzek在GitHub上开源一款PS1模拟器,很多玩家可能不了解这位作者和这款模拟器,stenzek是任天堂NGC/Wii模拟器Dolphin近年比较活跃的开发者之一,而DuckStation也是当今比较流行的模拟器之一,它是一个专注于可玩性,速度,长期维护性的项目,目标是尽可能的在相对低端的设备上实现较高的模拟精度,Duckstation拥有良好的易用性,默认设置即可运行所有支持的游戏。

软件功能

1、画质调整:支持动态画质渲染和图像增强效果,用户可以根据自己的需求调整分辨率、MSAA抗锯齿等参数,优化3D游戏的观感和图像性能。此外,它还支持OpenGL、Vulkan(推荐)和软件渲染,以及硬件渲染器中的升级、纹理过滤和真彩色(24位)等功能。

2、手柄设置:支持多种手柄类型,包括XBOX360手柄、索尼DualShock 3手柄等。用户可以根据自己的喜好进行配置,提升游戏体验。

3、即时存档和读取:支持多档即时存档和读取功能,允许用户随时中断游戏下次继续,大大提高了游戏的便利性。

4、游戏加速和暂停:用户可以通过模拟器对游戏进行加速、暂停和帧进度,以满足个性化需求。模拟器还支持模拟CPU超频,以提高游戏中的FPS。

5、其他实用功能:如使用预览截屏保存状态、编辑和缩放控制器布局(在暂停菜单中)、多点游戏最多8个控制器、控制器和键盘绑定(控制器+震动)、存储卡编辑器(移动保存、导入gme/mcr/mc/mcd)和内置补丁代码数据库。

软件特色

1、OpenGL、Vulkan(推荐)和软件渲染

2、硬件渲染器中的升级、纹理过滤和真彩色(24位)

3、支持游戏中的宽屏渲染(无拉伸!)

4、使用预览屏幕截图保存状态

5、中高端设备下可实现超快的涡轮增压运行速度

6、模拟CPU超频以提高游戏中的FPS

7、倒带(不要在慢速设备上使用)

8、控制器布局编辑和缩放(在暂停菜单中)

9、用于几何精度、纹理校正和深度缓冲模拟的PGXP(修复纹理“摆动”/多边形错位问题)

其他功能包括:

CPU重编译器/JIT(x86-64、armv7/AArch32、AArch64、RISC-V/RV64)。

支持D3D11、D3D12、OpenGL、Vulkan和Metal API的硬件渲染器。

硬件渲染器中的画质提升、纹理过滤与真彩色(24位)支持。

PGXP 用于几何精度、纹理校正和深度缓冲模拟。

通过光栅化顺序视图/片段着色器互锁实现精确混合。

硬件渲染器中的纹理替换系统。

向量化和多线程软件渲染器。

运动自适应去隔行扫描。

自适应降采样过滤器。

垂直或"纵版"射击游戏的屏幕旋转功能。

后处理着色器链(支持GLSL、Reshade FX及Slang预设)。

游戏画面周边显示的边框装饰/遮罩层。

跳过BIOS启动画面的"快速启动"功能。

支持即时存档功能,包含预运行及回退操作。

支持 Windows、Linux 和 macOS 系统。

支持直接从CD、bin/cue镜像、MAME CHD、单轨ECM、MDS/MDF、CCD以及未加密PBP格式进行读取。

预加载光盘镜像至内存,避免磁盘休眠导致的卡顿。

在游戏列表/网格中合并多碟游戏,并实现碟间记忆卡共享。

自动加载/应用PPF补丁。

直接启动自制可执行文件。

直接加载便携式音频格式(psf)文件。

在非100%速度运行时支持音频时间拉伸。

数字和模拟控制器输入支持(震动反馈会转发到主机)。

支持GunCon和Justifier光枪(通过鼠标模拟实现)。

支持NeGcon控制器。

支持控制器预设及按游戏单独配置。

Qt 与"全景式"用户界面

支持预览版和正式版的自动更新功能。

自动内容扫描——游戏名称/哈希数据由redump.org提供。

可选为每款游戏自动切换记忆卡。

支持从现有列表读取作弊码。

记忆卡编辑器和存档导入工具。

模拟CPU超频

集成式与远程调试。

Multitap控制器(最多支持8台设备)。

RetroAchievements

Discord Rich Presence(Discord富状态显示)。

基于Media Foundation(Windows平台)和FFmpeg(全平台兼容)后端的视频捕获功能。

自由镜头功能。

并口卡带模拟。

系统要求

性能优于土豆的CPU。但需要是x86_64、AArch32/armv7、AArch64/ARMv8或RISC-V/RV64架构。

支持OpenGL 3.1/OpenGL ES 3.1/Direct3D 11 Feature Level 10.0/Vulkan 1.0的GPU。简而言之,近10年左右生产的任何显卡都能满足要求。

兼容SDL、XInput或DInput的游戏控制器(例如XB360/XBOne/XBSeries系列)。Windows平台的DualShock 3用户需要安装PlayStation Now附带的官方DualShock 3驱动程序。

Duckstation如何导入游戏

1、在“我的游戏”页面找到“本地游戏”选项,点击“导入游戏”。

2、选择该游戏对应的类型,并点击确定。

3、在弹出的对话框中,选择相应的游戏文件进行导入。

Duckstation游戏黑屏解决方案

1、确保手机运行内存充足,避免使用内存清理软件导致模拟器运行异常。

2、允许Duckstation及其服务进程在手机上正常运行,避免被系统误杀。

3、如问题仍未改善,请尝试卸载模拟器后重新下载安装,确保软件版本为最新且无损坏。

更新日志

381ac7d 媒体捕获:修复缓冲区环绕时样本输出错误

b3d594a 媒体捕获:移除 Flush () 方法

4f72f40 媒体捕获:修复仅音频捕获场景下可能出现的数据损坏

049437e 媒体捕获:编码器不支持 44.1KHz 时对音频做重采样

8b9aaf7 媒体捕获:重采样时在屏幕叠加层显示警告提示

d33d3b8 Qt 界面:重构媒体捕获菜单

6e0fb1e 全屏 UI:新增 InputTextWithSuffix () 控件

e2e4bae 设置:确保用户资源目录下的叠加层文件夹存在

56fa9dc Qt 界面:为边框叠加层列表增加刷新按钮

12f012c 西班牙(西班牙)翻译更新 2026‑07‑27(#3777)

dc75335 脚本:翻译工具实验性功能

551aaa4 回归测试:修复编译错误

8747aa1 巴西葡萄牙语翻译更新(#3778)

4a04d31 SPU:修复音量渐变结束判断条件

f6c4fe9 成就系统:将 “硬核模式” 重命名为休闲模式(#3779)

2246697 BIOS:在列表中显示版本信息与文件名

1454743 Qt 界面:设置帮助信息允许为空的推荐值

30d351e Qt 界面:新增可折叠控件 CollapsibleWidget

8dbc476 Qt 界面:新增 BIOS 安装器,改进 BIOS 设置页面

351778e Qt 界面:更新机器翻译文本

406f325 Qt 界面:修复切换语言后 BIOS 摘要不刷新问题

9c7c23f Qt 界面:修复设置向导完成后主窗口语言未更新

57b952a 定时器:提升仿真精度

7c93a61 Qt 界面:进一步简化 BIOS 设置向导页面

0740169 Qt 界面:修复打开游戏设置时崩溃

202923d Qt 界面:修正部分质量较差的翻译文本

7111f4c 更新 duckstation‑qt_es.ts(#3780)

b5a990b 记忆卡:地址与偏移掩码改用常量定义

c42082c 状态封装:FIFO 队列读取时避免堆内存分配

f3d0e84 状态封装:规避 32 位系统下整数溢出风险

865fd9e 状态封装:使用单次 memcpy () 保存 FIFO 队列连续字节

97400d2 状态封装:枚举值限制在最大有效值以内

b147f1f FIFO 队列:队列长度归零时清零头 / 尾指针

e95e5a0 全屏 UI:成就类型徽章右对齐

18147a1 GPU 后端:开启超前运行时修复绘制指令未刷新问题

4d700e4 MDEC:保证 FIFO 直接写入不会溢出

26fa2ee Metal 设备:修复若干对象引用泄漏

c07bf47 CD 镜像 CUE:校验 WAV 文件的每样本比特数

ecbe3c3 记忆卡镜像:避免目录帧枚举过量

76f01d8 杂项:修复 sjis2utf8 () 内存分配不足

d6d8a7b CD 镜像 CUE:消除隐式截断编译警告

e86af51 依赖库:内置 FFmpeg 头文件升级至 9.0

6d0feff 依赖库:更新至 20260805 版本

3fed119 媒体捕获:所有平台默认使用 H.264 编码

12a4a26 工具库:Shift‑JIS 编码转换消除中间内存分配

8a2c05c 图像:规避图像尺寸整数溢出

99fc655 更新器:修复预处理阶段路径遍历漏洞

ebd0903 更新器:修复可能发生的无限循环

1fbfbb5 系统:修复截图尺寸被隐式截断为 32 位整数

2c8e998 西班牙(西班牙)翻译修订 2026‑08‑05(#3781)

6e242f5 总线:缓冲区累计 512 字符后执行刷新

ca5cc73 GPU:补充折线缓冲区序列化逻辑

f92b1a8 GPU:为折线缓冲区增加基础校验

cd5e48a 状态封装:向量 / 字符串数据增加最大长度校验

2688a1d 成就系统:修复回调中内存越界读取

e48b3e3 金手指:畸形指令下防止越界读取

d3ff0b3 PSF 加载器:加载时增加缺失的头部大小校验

a8a098a 通用工具:BCD 校验函数返回布尔类型

b9cf3bb CD 镜像 PBP:增加 BCD 数字校验

467d097 CD 镜像 PBP:读取前校验 SFO 索引表条目计数

e073438 CD 镜像 MDS:修复多处缓冲区越界读取

6651f4d ISO 读取器:GetSizeInSectors () 修复整数溢出

f1029b2 动态图像:修复图像尺寸整数溢出

f11b432 系统:BIOS 缺失时提供 BIOS 安装选项

8778034 回归测试:修复编译问题

e175c84 总线:将状态打包进结构体

5245a58 设置:修复安装后记忆卡参数无效

213c5b4 视频输出:截图使用传输行跨度

b3b57a2 Vulkan 设备:正确绑定初始计算管线

bbac943 Vulkan 设备:向计算着色器公开共享 UBO 绑定

fc3e117 Vulkan 设备:同步计算图像访问操作

4b5edbb Vulkan 设备:保留映射纹理上传行跨度

6584add Vulkan 设备:修正下载缓冲区屏障范围

037ee47 Vulkan 设备:校验导入的主机缓冲区内存

668f39f Vulkan 设备:交换链销毁前等待渲染完成

8462365 Vulkan 设备:处理纹理数组子资源

5f40f0a Vulkan 设备:选择系统支持的表面格式组合

40e1787 Vulkan 设备:修复旧版渲染通道附件

d1720c0 Vulkan 设备:遵守表面固定尺寸

a8de757 Vulkan 设备:存储计算特化参数

7b690ec Vulkan 设备:重置描述符构建器存储

69c5051 D3D12 设备:mipmap 渲染后恢复设备状态

a8c9324 D3D12 设备:将已清空的计算目标切换为 UAV 状态

6e2f06a D3D12 设备:限制持久描述符分配上限

2273890 D3D12 设备:创建包含全部层的纹理数组

b5f821b D3D12 设备:转换所有上传子资源状态

402f920 D3D12 设备:设置渲染通道清除格式

a4a03c4 D3D12 设备:校验下载纹理内存对齐

685cf83 D3D12 设备:处理依赖顺序的计算 UAV 访问

7b15961 D3D12 设备:修复推送常量根参数索引错误

41ee402 D3D12 设备:追踪回读源资源使用状态

48a1a06 Qt 界面:游戏列表不要将 HTTP 网络 URL 当作动态图像加载

2f9c587 全屏 UI:修复共享记忆卡选择逻辑

4431915 全屏 UI:开放多插口记忆卡功能

6f704d4 全屏 UI:未使用时共享记忆卡名称不会保持禁用状态

ee21478 GPU 硬件渲染:递归绘制时纹理读取缓存更新不丢失

f7797b5 控制器:新增「禁用同时按下相反方向按键」选项

0697597 控制器:强制关键函数为纯虚函数

d92fe3d 数据:将全部提示字体字形移至未分配地址区间

f04e08b GDB 服务端:修复停止应答确认逻辑

1a9379b GDB 服务端:支持继续执行地址

a36b757 GDB 服务端:支持单步执行地址

c7324e3 GDB 服务端:保留未修改的继续运行状态

05166d1 GDB 服务端:记录最后一次停止信号

3885778 GDB 服务端:响应非法命令参数

aea3746 GDB 服务端:校验完整数据包字段

4e09405 GDB 服务端:原子化执行寄存器写入

7c279dc GDB 服务端:内存写入后使代码缓存失效

8d7046a GDB 服务端:限制远程数据包最大长度

60a4ec3 GDB 服务端:协议数据包完整入队处理

54d074f GDB 服务端:重传被拒绝的应答包

cba8588 GDB 服务端:拒绝超长传入数据包

d176e31 GDB 服务端:支持信号恢复数据包

fe32554 GDB 服务端:断开连接后恢复运行状态

c241852 GDB 服务端:客户端首次接入 / 断开时通知主机

0a00cbc GDB 服务端:多余寄存器返回无效值而非零值

ac6d899 GDB 服务端:连接时关闭 Nagle 缓冲

71c8850 GDB 服务端:跟踪断点归属

e3bea19 GDB 服务端:扩展观察点作用范围

b147ed6 CPU:枚举回调断点的动作

8636021 GDB 服务端:上报观察点触发详情

fa5e111 GDB 服务端:改用索引遍历代替范围 for 循环

30fa5b4 Qt 界面:后台控制器轮询重命名为空闲更新

c7f282f 核心:GDB 服务端使用多路复用器实现空闲休眠

3bb39f4 ELF 文件:跳过嵌入的 PS‑X EXE 头部段

2cf1086 GDB 服务端:消除未使用捕获变量警告

cf24957 Qt 界面:基于 CoreGraphics 实现鼠标捕获(macOS)

e2b78d4 Qt 界面:相对鼠标状态绑定到激活窗口

8c1a202 GDB 服务端:对外暴露目标内存映射与寄存器

c8abcf4 GDB 服务端:对外暴露 GTE 寄存器

8a96948 GPU 设备:各后端缓冲区大小保持统一

89fb3ad DMA:OTC 反向传输方向硬编码

d59fcfb ImGui 管理器:支持希伯来文渲染

8ec85e3 Qt 界面:更新机器翻译文本

232c9ad 成就系统:密码登录改为异步执行

2c32612 Qt 界面:简化登出回调

9f9009d 成就系统:RAIntegration 回调确保在核心线程执行

04f4f1b 成就系统:响应 RAIntegration 重置请求

1f925f8 杂项:补充缺失的 fmt/format.h 头文件

b2f9c8f 杂项:修复 fstring 隐式转换为 string_view 的弃用警告

c130fc1 依赖库 fmt:升级至 v12.2.0

5ee1d25 游戏数据库:游戏 Vanark 关闭 PGXP/WS 功能

5fd3668 成就系统:请求失败时避免登录回调二次释放内存