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驱动程序。
1、在“我的游戏”页面找到“本地游戏”选项,点击“导入游戏”。
2、选择该游戏对应的类型,并点击确定。
3、在弹出的对话框中,选择相应的游戏文件进行导入。
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 成就系统:请求失败时避免登录回调二次释放内存