介绍
官方网站:https://github.com/stenzek/duckstation
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(所有平台)。
更新日志
e7f4034 FileSystem: Add LockedFile helper class
84806d3 GameList: Use LockedFile class
ac4634c Add StringPool and BumpStringPool classes
a035c48 GameList: Fall back to achievement badges for game icons
3d2c3c9 GameList: Avoid a couple of heap allocations
89e3ba2 Qt: Fix warning
2b3c7e0 Qt: Initialize COM before Qt
2ff9c67 Qt: Replace table widget in Game List Settings
70185cb Update Russian translation (#3587)
e96a85d Atualização Português do Brasil (#3588)
bd6e747 GameDB: Fix serials for Black-Matrix +
2a0fe0a GameDB: Add disc set for GT2 US
41b8f2b CI: Remove Flatpak builds
a49d0b6 PostProcessing/GLSL: Skip recompile on target size change
8520e3f System: Work around lupdate bug causing hang
f2291ea Deps: Build Qt Declarative/ShaderTools
33a3427 Deps: Remove build directory after each library
7deb374 Deps: Hopefully work around path length limits
bae05a7 SDLInputSource: Change default for WGI to off
5653f8d ImGuiManager: Don't let non-imgui keys through
2c03fb9 ImGuiManager: Use static key map
1fbf083 FullscreenUI: Move ImGuiFullscreen to core
836fd9b FullscreenUI: Make file naming consistent
fab4b05 FullscreenUI: Remove ImGuiFullscreen namespace
e36ea9e FullscreenUI: Remove more redundancy
9cbcf78 FullscreenUI: Move transition handling to widgets file
8c25144 FullscreenUI: Always initialize widgets
983cde3 FullscreenUI: Make notifications/toasts thread-safe
b1cd562 System: Don't add to the pause timer when we're already paused
2bc387f FullscreenUI: Fix returning to window that was open
ba28a3f Achievements: Cache user badge path
dc7a7ed FullscreenUI: Split settings into its own file
cc2ee00 FullscreenUI: Split game list into its own file
f4f8aa5 FullscreenUI: Defer more resource loads
10a7d8a FullscreenUI: More scope clean up
bed758a FullscreenUI: Move translation strings to own file
32aa86a FullscreenUI: Move achievements to its own file
45d3c66 FullscreenUI: Simplify game properties state
476c1c5 FullscreenUI: Make OpenOrUpdateLoadingScreen() thread safe
9ca1c97 Mini: Compile fix
f2dd91c RegTest: Compile fix
a52020b DMA: Reduce linked list header read time
aa980a4 GPU: Don't save settings to save state
9977e1d FullscreenUI: Disable rewind options when runahead is enabled (#3589)
b4a868c Update the Simple-Chinese Translation to latest. (#3591)
7517813 Settings: Remove CD speedup above 6x
cab6669 DMA: Speed up RAM write with CDROM speedup
93b4c34 FullscreenUI: Fix missing logo on landing page
3d6c042 FullscreenUI: Fix missing lock for settings read
9fa8b17 FullscreenUI: Fix a couple of missing strings
e48649b FullscreenUI: Remove unused variable
0776e2f Qt: Clear style sheet before applying theme
2fb3773 Qt: NativeThemeStylesheetNeedsUpdate() should not apply to Fusion
d9e363f Qt: Add message box helpers
db7598f Qt: Use message box wrapper functions
8775ca0 Qt: Convert more message boxes to window modal
6432ac1 Qt: Fix non-rounded buttons in achievement login
326a6e3 CMake: Fix scmversion.cpp always updating on Mac
7414ed9 Update the Simplified-Chinese Translation. (#3592)
eb23999 Atualização Português do Brasil (#3593)
b237604 GPUDevice: Don't log warning for WARP driver
5818a05 Achievements: Add point count to unlock popup
5a7094b Achievements: Use consistent icon style in list
de08a2f CMake: Only remap source path in Release builds
a44c846 CMake: Fix Xcode project debugging
0fec148 GPU/HW: Add missing padding to UBOs
eefcd90 GPU/HW: Avoid some redundant calls in Metal
24ae4a5 FullscreenUI: Fix uniform push before pipeline set
b858fe5 GPUDevice: Display OSD message if debug settings are enabled
2c2fb1d D3D12Device: Fix incorrect StencilBeginningAccess/StencilEndingAccess
cff3ece VulkanDevice: Fix incorrect struct type
05701fe GPUDevice: Make dyn libs public
fcde8c7 dep/reshadefx: Cherry-pick upstream 74e95dd
a038c88 dep/reshadefx: Work around inability to discard in function in DXC
d82ae47 CI: Bump minimum macOS version to 13.0
e89ab83 Qt: Misc code cleanups
49762aa Qt: Fix column width estimation in game list
59d0f3c Qt: Fix game icon size and row height in game list
458ad13 Qt: Take header width into account for all columns
94cfc9b Update the Simplified-Chinese Translation. (#3594)
efa6e4a Common: Use NSAlert for assertion failures/panics
c5d9358 GameDatabase: Add DisableFastForwardMemoryCardAccess trait
1999b0d GameDB: Set DisableFastForwardMemoryCardAccess for Twisted Metal 4
f6cdf95 Qt: Fix positioning of game list achievements icon
cd8d6d8 Qt: Remove game icon extra size
d542344 Qt: Don't need these functions defined in the header
b8764e8 Qt: Add exit specific message for confirmation dialog
88802e0 GameList: Fix achievement game ID not set for disc sets
8c08788 Qt: Normalize shut down labels
7bba98a Update the Simplified-Chinese Translation. (#3596)
5f6b690 Atualização Português do Brasil (#3597)
d0bbf8c GameDB: Set DisableFastForwardMemoryCardAccess for Tales of Destiny
5a49db0 Qt: Reflect DisableFastForwardMemoryCardAccess trait in the settings UI
97db72c Achievements: Fix display of game completion time (#3599)
bfc6da2 GameDB: Disable disc speedup on MDEC for Warcraft II (#3600)
a929aaf Update Russian translation (#3601)
b797aae GPU: Fix a couple instances of reading wrong thread settings
0841ab4 Qt: Fix disc swap from game list incorrectly pausing
c33354e Qt: Don't hold game list lock on popup
dc5b57a Qt: Missed a couple of shutdown -> close messages
b483d2f ImGuiManager: Add title variants for OSD messages
529da22 System: Use new OSD message variants
0d4ffde Qt: Allow command line boot of device path
2222085 Qt: Fix recommended value for "Challenge Indicators" (#3603)
3e6dd9b System: Simplify and polish more OSD messages
899d500 GPU: Fix compile warning
5de231c System: Fix regtest build
863b9b1 Qt: Minor layout fixes in analog controller binding widget (#3604)
683ccbf GPUDevice: Swap ImGui rendering to use UBO
6848f07 GPUDevice: Combine draw and push constant functions
916b23f GPUDevice: Use separate buffer for push constants
47c8204 GPUDevice: Add MultiTextureAndUBOAndPushConstants pipeline layout
b43111f GPUDevice: Remap input attributes when transpiling to HLSL
4729e22 GPUDevice: Handle non-contiguous texture bindings in SPV transpiling
08317d9 GPUDevice: Set fixed names for UBO/push constants in SPV transpiling
9a5eadd GPUDevice: Add SRGBA8 texture format
af5c3fa GPUDevice: Fix mipmap generation on targets
d06f306 GPUDevice: Ensure clear is committed in MakeReadyForSampling()
eb0a889 MetalDevice: Fix creating mipmapped textures with generate flag
fc618b8 SPIRVModule: Add class for iterating/manipulating SPIR-V
81fb801 PostProcessing: Support unscaled input
8a732de PostProcessing: Support loading slang shaders/presets
77b1abf MemoryCard: Fix off-by-one reporting in card number
9a5e0c9 ShaderGen: Fix ImGui rendering with Vulkan
5da178e Update the Simplified-Chinese Translation. (#3605)
4ec6752 GPUPresenter: Handle padding for unscaled/slang input
b04b87a PostProcessing: Use titled OSD messages
042bc79 ImGuiManager: Use different OSD title/text colours
5ca3536 CPU/Recompiler: Set up frame pointer on Windows ARM64
49a1446 Common: Fix SSE2 build
85275a1 Qt: Add missing help text in Interface Settings
b0689d5 FullscreenUI: Move loading screen progress callback into namespace
b4d71cb Qt: Save position of settings windows
70352b6 Qt: Center windows when they don't have saved positions
f5fc247 Qt: Resolve command line paths before autobooting
520502d FileSystem: Fix RealPath() with relative paths
e91db67 Qt: Reload icons and tooltips when game list rows change (#3609)
a1889a2 Qt: Add standard shortcut to open settings (#3608)
0c7e8f3 Qt: Fix overlapping widgets in cheat settings (#3607)
a5e2051 Update the Simplified-Chinese Translation. (#3606)
2a35096 FullscreenUI: Fix misdetection of some light themes
cebb134 FullscreenUI: Fix button-held colour in menus
de2e89e Settings: Ensure slang shaders subdirectory is created
a8e922c Qt: Improve Darker Fusion style
7080e98 PostProcessing/slang: Don't balk at duplicate option names
a88cfbe PostProcessing/slang: Raise error if too many textures are bound
d6f4fc7 PostProcessing: Ensure input buffer matches present format
14481af Qt: Bring toolbar checked background closer to combo background
d58f2d0 Qt: Make auto/clear bindings buttons QPushButtons
a22d3a7 Qt: Style more widgets in Darker Fusion
f9cab70 INISettingsInterface: Use case sensitive storage
dd0c7ec GPU: Insert null field buffer if display disabled
8b217b5 GPU: Fix OSD reporting of non-interleaved interlaced resolution
df4d04c Qt: Style patches widget on Mac
d598470 Scripts: Remove Flatpak manifest
42cf66c FullscreenUI: Fix achievement points placement with short description
3d39fe2 GPU: Don't crash if first frame is interlaced+black
15d70ff GameDB: Max speedup cycles for Discworld and Discworld Noir (#3611)
51726e3 Atualização Português do Brasil (#3612)
fbc9991 PostProcessing/Slang: Remap and skip binding unused textures
dca565a GameDB: Adjust crop area for Gran Turismo 2 (#3613)
28b9111 Deps: Bump MacOS deployment target to 13.0
9ed5254 Deps: Patch Linguist to build without Qt Quick
d797ca4 Deps: Don't build qtdeclarative
8302a6b Deps: Remove unused CMake argument
Puresys纯净系统-软件下载.png)

我也来分享PS1的中文游戏全集
https://pan.quark.cn/s/49e195f94785
PS1都多少年了,我80后小学时候的东西,现在做模拟器是不是太晚了哈哈
Your blog has quickly become my go-to source for reliable information and thought-provoking commentary. I'm constantly recommending it to friends and colleagues. Keep up the excellent work!