老柯修机铺

通讯行老师傅的手机软件笔记——每款 App 装过、用过,才敢写下来

DuckStation 跑 PS1 必繞的幾個坑

以過來人身份盤點 DuckStation 初次上手最容易踩的四個經典坑:遊戲列表空白、金手指無效、多碟存檔亂序、壓縮包掃不出,每個坑都講清症狀、原因和解法。

DuckStation 是什麼

DuckStation下載 是目前 Android 平台上最受歡迎的 PS1 模擬器之一,主打 Vulkan 渲染後的流暢畫質與原生解析度輸出,搭配寬屏與 PGXP 功能,能把二十多年前的老遊戲畫面拉到一個遠超當年主機體驗的水準。手機上玩 PS1 的選擇不少,但 DuckStation 在兼容性、畫面增強和操作響應這三點上長期佔據第一梯隊,適合任何想把記憶中的 PS1 遊戲搬進手機的人。說白了就是——你當年用 PS1 玩過、或是聽過前輩們吹過的那些經典,DuckStation官網 基本都能跑得起來,而且畫面比當年好。

安裝

DuckStation 安卓版安裝包約 66.66MB,包名為 com.github.stenzek.duckstation,官方推薦兩個獲取管道:Google Play 商店直接搜尋安裝,或從官方站點下載 APK 手動安裝。Play 商店版的優勢是自動更新,不想花心思盯版本的直接選這條;無法訪問 Play 商店的就走 APK 通道。安裝本身沒有什麼特別門檻,點完「允許安裝未知來源」即可完成。但有兩件事第一次開啟時一定要做:第一,安裝包只包含模擬器本體,PS1 的 BIOS 檔案和遊戲鏡像需要自行準備,模擬器不附帶任何遊戲資源;第二,首次啟動會進入設置嚮導,嚮導第一步就要導入 BIOS 檔案——這裡別急著跳過,跳過之後模擬器跑任何遊戲都會黑屏或直接崩潰,到時候還得回頭重新導入。安卓版官方明確表示不提供技術支援,遇到問題優先查 DuckStation文檔 的排錯與 FAQ 部分,那裡基本覆蓋了新手會碰的所有狀況。

DuckStation 遊戲列表主介面

坑一:遊戲列表掃完還是一片空白

這是我第一次上手時遇到的頭號問題——遊戲鏡像明明已經複製到手機儲存裡了,模擬器的遊戲列表就是空空如也,連個灰字條目都沒有。當時以為是 APK 沒裝好,卸了重裝三次還是一樣。後來才慢慢摸出頭緒,按命中概率從高到低說:

第一種,目錄加錯了層級。很多人會犯的錯是加了一個「遊戲資料夾」,但裡面其實還有一層子目錄才放真遊戲檔案。DuckStation 掃描時預設只掃你指定的那個目錄本身,不往下遞歸——除非你在遊戲列表設置裡手動勾了「掃描子目錄」。最簡單的解法就是直接加最深層那個放遊戲檔案的目錄,別讓模擬器猜。

第二種,遊戲格式不在支援範圍。DuckStation 支援 BIN/CUE、CHD、ISO、IMG、ECM、MDS/MDF、CCD、未加密 PBP,但 zip、rar、7z 這類壓縮包一律不識別——哪怕壓縮裡面是 .chd 也掃不出來。還有加密的 PBP 檔案同樣不支援。第一次接觸的新手常犯的錯就是把網上下載的壓縮包原封不動丟進目錄,掃半天什麼都沒有,還以為模擬器壞了。

第三種,Android 權限沒給全。添加遊戲目錄時系統會彈授權請求,要是你當時手滑點了「拒絕」,那個目錄之後掃什麼都掃不到。解法很簡單:進入遊戲列表設置,找到那個已添加的目錄,按提示重新授權一次就好。

排在後面的幾種相對少見但也可能撞上:鏡像本身是殘缺品(0 位元組的 .chd、轉換到一半被中斷的半成品),或列表過濾器(按地區、類型篩選)把條目藏起來了——清空篩選條件就能驗證。還有一種烏龍操作:把 BIOS 檔案或其他非遊戲檔案誤放進了遊戲目錄,它們可能被掃成奇怪的條目而不是純白,但會讓你直覺上覺得「掃描沒起作用」。總之訣竅就是遇到空白列表時從目錄層級開始逐項排查,別一上來就懷疑模擬器本身有問題。

坑二:金手指代碼貼了但完全沒效果

網上找來的金手指代碼複製粘貼、條目也勾選啟用了,進入遊戲一看什麼都沒變——這種情況我至少碰到過五六次。代碼不生效基本上就那麼幾個原因,按排查順序說:

第一,代碼與遊戲版本不匹配。PS1 遊戲有美版、日版、歐版之分,同一遊戲不同地區版本的記憶體地址是完全不同的——美版的金手指用在歐版鏡像上大概率無效,嚴重的甚至會崩遊戲。這個坑我踩得印象最深:當時在《最終幻想 VII》美版上貼了一套日版金手指,進遊戲存檔直接損毀,花了半小時才找回備份。所以找代碼時一定要確認代碼頁標註的區域版本和你的鏡像一致。

第二,代碼條目只添加了但沒勾選啟用。DuckStation 的金手指管理裡「添加」和「啟用」是兩步操作——新建條目後回到代碼列表頁,每個條目旁邊有個勾選框,默認是不勾的。我第一次添加時以為粘進去就會自動生效,白折騰了十幾分鐘。

第三,需要觸發條件。很多金手指代碼不是貼上就全程生效的,可能需要進入特定場景、切換菜單、或完成某個操作後才會啟動。這不是代碼沒用,是你踩錯了它的生效時機。

還有一種情況是地址類型寫錯了——PS1 金手指常見 8 開頭(16 位寫入)和 3 開頭(8 位寫入)兩種,該用 8 位的代碼你用了 16 位格式粘進去,資料寫入錯位,表現就是數值亂跳或直接崩潰。最後還要注意:同類效果的代碼只開一個就好,多個同時啟用可能互相衝突。

坑三:多碟遊戲換碟後存檔找不到了

這是 PS1 後期大作才有的麻煩——《最終幻想 VII》三碟、《潛龍諜影》兩碟,沒有 m3u 播放列表的話,模擬器會把每張碟當成獨立遊戲處理,存檔也散在多個條目裡,很容易搞丟。正確的做法是用 m3u 把多碟合併成一個條目,這樣存檔跨碟共用、換碟時也能直接從暫停菜單裡選下一碟。

但 m3u 本身也有坑。我第一次寫的時候犯了兩個錯:一是按字母序排列碟片,結果遊戲進行到換碟點時模擬器跳去了錯的那張碟;二是 BIN/CUE 遊戲在 m3u 裡引用了 .bin 檔案而不是 .cue,導致音軌定位錯亂、遊戲中途卡死。正確的寫法是 m3u 內容裡每行一個碟片檔案,按遊戲內實際需要的順序排列,BIN/CUE 遊戲列 .cue 檔案而不是 .bin,CHD 遊戲列 .chd。還有一條鐵律:m3u 只認檔案系統裡的真實鏡像檔案,不要把它們打包進 zip——打包之後整個列表都會失效。

換碟本身也有保險要做:在接近遊戲提示「請放入第 X 張碟」之前,先存一個即時存檔。萬一換碟時機不對導致遊戲卡死或存檔損毀,讀快照重來比丟幾小時進度划算得多。

坑四:以為壓縮包解壓後就能掃到,其實轉格式才是正解

這是我從坑一衍生出來的一個獨立話題——很多人下載到的 PS1 鏡像是 BIN/CUE 雙檔格式,體積大(有些單碟 600MB 以上)、手機儲存裡一下塞好幾個就滿了。聽說 CHD 格式是壓縮過的、體積能縮一半,就去網上找了個線上轉換工具,結果轉出來的 .chd 檔案被 DuckStation 掃出來之後進遊戲就卡死——後來才知道那個線上工具轉換時漏了音軌。

CHD 格式本身沒問題,問題出在轉換工具上。DuckStation 文件裡明確提到了兩種安全的轉換方式:官方 chdman 工具,或 DuckStation 桌面版內建的轉換功能。線上第三方工具品質參差不齊,用它們轉出來的檔案很可能缺少子通道、音軌定位偏移,輕則遊戲中途斷音、重則直接無法啟動。建議直接用官方提供的 chdman,一次轉好之後在 DuckStation 裡掃描就能正常識別。

幾點速查

  • 遊戲列表空白時,先從「目錄層級」開始排查,再看格式、權限、鏡像完整性,最後才懷疑模擬器本身有問題。
  • 找金手指代碼時第一眼看地區版本標註,美版代碼絕不能用在歐版/日版鏡像上,存檔毀了比沒效果更慘。
  • 多碟遊戲一定要寫 m3u 播放列表,按遊戲實際換碟順序排列,BIN/CUE 引用 .cue 不是 .bin。
  • 壓縮包永遠別直接丟遊戲目錄,CHD 轉換只用官方 chdman 或 DuckStation 桌面版內建功能,第三方線上工具靠不住。

說到底,DuckStation 本身是個相當成熟的模擬器,坑基本都出在新手對 PS1 遊戲資源的格式、版本差異、和 BIOS 這三件事缺乏概念上。把這幾個點摸透之後,手機上跑 PS1 的體驗其實相當絲滑,寬屏增強後畫質也比當年的厚機時代好上不止一個量級。

本文为个人基于网络公开资料整理编写,非官方内容,仅供学习交流参考;软件版权归原作者所有,请支持正版;使用过程中遇到问题请查阅官方渠道,本文不承担任何责任。

同类文章