七年來的 PS1 時光機,我是怎麼把 ePSXe 用成日常工具的
從 2018 年第一次在安卓手機上裝下 ePSXe 算起,到現在已經跨過了 v1.7、v2.0 整整兩個大版本。這篇不是上手評測,是用了七年之後,哪些功能真的留了下來、哪些當時覺得酷的東西後來再也沒碰過,還有那幾個每次重裝都要踩一遍的坑。
ePSXe 是什麼,為什麼二十多年還沒過時
ePSXe 是一款專門跑 PlayStation(第一代主機,坊間常稱 PS1)遊戲的模擬器。說得直白一點,它就是在手機或電腦上搭一個虛擬的 PS1 硬體環境,讓二十世紀末那些經典遊戲——《最終幻想 VII》《合金裝備》《潛龍諜影》《惡靈古堡》——不用找古董主機、不用買正版光碟,直接就能玩。
這款模擬器最特別的地方在年紀。它的原始團隊早在 2000 年就發了 1.0 版,比很多讀者的年齡還大。中間停了好幾年,2016 年又被新的團隊接過去重啟開發,現在 2.0 系列還在以半年一次的節奏更新。你很少能在模擬器圈子裡找到一款跨了二十五年、在 ePSxe官網 上持續更新的項目,這本身就說明了它的價值——相容性高到離譜,絕大多數 PS1 遊戲跑上去都能直接進,不需要改一堆補丁。
安裝
我手邊這台是安卓手機版,最新版本 2.0.17,從 ePSxe下載 拿到的這個版本 10.55MB,裝完之後佔的空間也不大。安裝過程本身沒什麼特別的——打開 APK 包,系統會提示「未知來源」,放行就好。但 ePSXe 的第一次啟動有兩件事必須做,跳過了之後八成會黑屏或沒聲音。
第一件是 BIOS 檔案。PS1 模擬器都需要一份原版 PS1 主機的 BIOS 映像檔才能正常開機,這個檔案 ePSXe 不會自帶(版權問題),得自己去找。找到之後放在手機儲存的 epsxe/bios/ 目錄裡,然後進 Config → Bios 選到那個檔案。最常用的是 SCPH7003 這個版本,相容性最好。
第二件是圖形與音效插件。2.0 版已經把常用的 Pete OpenGL2 圖形插件和 P.E.Op.S. 音效插件內建進去了,不用像早年那樣四處找 DLL 檔——但進 Config → Video 的時候還是要確認一下,預設不一定幫你選到最合适的。如果裝完直接進遊戲黑屏、只有聲音,九成是 BIOS 沒設好;如果有畫面沒聲音,就是音效插件沒選對。

當初怎麼看上它的,現在還這麼覺得嗎
說起來挺偶然的。2018 年我在整理老櫃子的時候翻出了一疊 PS1 時代的遊戲碟——《FF7》《惡靈古堡 2》《超級機器人大戰 α》——但主機早在搬家的時候就賣掉了。那時候 DuckStation 還沒出來,RetroArch 又太重,朋友推薦說「試試 ePSXe,相容 PS1 這一塊幾乎沒對手」。我就找了個 APK 裝上,把家裡的 ISO 轉一轉,當天晚上就在手機上通了《FF7》的第一片。
七年過去了,當時覺得最重要的幾件事,現在看法改了不少。
越用越順手的,是那些「不起眼」的小功能
剛開始裝的時候注意力全在圖形設定上——分辨率拉多高、濾鏡開哪個、紋理快取怎麼調,恨不得把每個滑桿都試一遍。真正用到後面才發現,那些預設打開、你不會特意去關注的功能,才是讓 ePSXe 變成日常工具的原因。
記憶卡檔案自動建立就是一個例子。第一次進遊戲存檔的時候,ePSXe 會在 memcards/ 目錄自動幫你建一個 .mcd 檔案,不用先手動建空檔。而且這個 .mcd 格式跟 DuckStation、RetroArch 的 psx core 都互通——我幾年前在安卓上存的《FF7》檔,後來把手機丟了,把手機上那個 .mcd 檔拖到電腦上用 DuckStation 接著玩,進去就是當時的進度,什麼都沒丟。這種跨模擬器的檔案互通能力,老實說是我現在還留著 ePSXe 的主要原因之一。
第二個讓我離不開的是即時存檔的鍵盤映射。ePSXe 的 F1 到 F4 是四個即時存檔槽,F5 到 F8 是讀檔——這個設計從 1.7 版到現在沒變過。七年下來我已經形成了條件反射:打完 BOSS 先 F1、過場動畫前 F2、準備測試一個新設定之前先 F3。DuckStation 當然也有這個功能,但鍵盤位置是自己定義的,換個模擬器就要重新適應一輪。ePSXe 這個固定鍵位反而成了我的肌肉記憶。
越用越煩的,是配置面板裡那些從來沒搞懂的選項
ePSXe 的配置面板有多臭名昭著,玩過 PS1 模擬器的人都知道。光是 Config → Video → Pete OpenGL2 這一個選單,就有 Texture Cache、Screen Resolution Hack、Framebuffer Readbacks、Special Game Fixes 四大塊加起來幾十個複選框。每個複選框旁邊寫的說明還特別工程化——「Enable alpha blending for semi-transparent polygons」這種句子,對普通玩家來說跟沒說差不多。
我用了七年,到現在還是有幾個選項從來沒搞清楚什麼意思:Texture Color Depth 裡 16 位和 32 位的實際差別有多大、Use MipMap 和 Trilinear Filter 為什麼要綁在一起、Force 24-bit Color 開了之後到底解決什麼問題。大部分時間我就保持預設值不動,出問題了再去 Special Game Fixes 裡面一個一個試,或者去 ePSxe文檔 裡查對應的說明——那個面板是真的有價值,《鐵拳 3》過場動畫閃爍、《寂靜嶺》黑屏、《FF7》戰鬥背景錯位,這幾個我都遇過,都是進 Special Fixes 找到對應的開關打開就好。但問題是,你得知道要開哪個,面板裡幾十個開關,一個一個試要試到什麼時候?
還有一個煩的是舊版本殘留。安卓版升級比較乾淨,覆蓋安裝就行;但 Windows 版我曾經從 1.7.0 升到 2.0.14 的時候記憶卡檔案全丟了——後來才知道 1.7 版的記憶卡是 .vgs 格式,2.0 版預設改成了 .mcd,升級的時候沒有自動轉換。我那個存了 120 小時《FF7》進度的 .vgs 檔,到現在還躺在我的備份硬碟裡沒去轉。
哪個功能從來沒碰過
本地聯機(netplay)。2.0 版加進來的,支援同一區域網路兩台裝置對戰。理論上挺酷的——找個朋友一起玩《鐵拳 3》或者《合金裝備》的對戰模式。但實際上從來沒用過:PS1 聯機遊戲本來就少,能在模擬器上穩定跑的更少,而且現在大家都在玩 Switch 和 PS5,誰會專門湊兩台手機開 ePSXe 來對戰?這個功能在更新說明裡佔了很大一塊,但我認識的同好裡沒有一個真的用起來過。
還有紋理快取的三種模式。Smart Cache、Cache Full VRAM、Disable Caching——理論上你要根據顯卡顯存大小選對應的模式。但我試過幾次,Smart Cache 預設值的表現跟全快取沒什麼區別,Disable Caching 反而會讓過場動畫掉幀。最後就一直保持預設沒動過。
七年下來,對它的判斷改了什麼
剛開始裝的時候我覺得 ePSXe 會被 DuckStation 取代——後者的介面更乾淨、配置更簡單、更新更頻繁。事實證明我錯了。DuckStation 確實在易用性上甩了 ePSXe 好幾條街,但 ePSXe 有兩件事 DuckStation 就是做不好:跨平台檔案互通(剛才說的 .mcd 記憶卡)和Pete 插件的特殊修復開關。有些 PS1 遊戲在 DuckStation 上就是黑屏,進 ePSXe 開個 Special Fixes 就好。這不是誰好誰壞的問題——是兩個專案的思路本來就不一樣,DuckStation 走的是「內建一個夠用的渲染器」,ePSXe 走的是「插件架構,有問題就加一個開關」。
我現在兩個都裝著。新接觸 PS1 模擬器的朋友我推薦 DuckStation,但如果他們手邊有幾個 DuckStation 跑不動的冷門遊戲,或者需要把手機上的存檔拖到電腦上接著玩,最後還是會回 ePSXe。
什麼信號出現我會換掉它
說實話不太可能。除非 DuckStation 哪天真的把 .mcd 格式的互通性做得完美,或者有新的 PS1 模擬器專案出現在相容性上超越它——這兩件事我都不太看好。PS1 是一個太成熟的平台了,能做的優化差不多都做完了,ePSXe 佔的那個生態位(插件架構 + 跨平台檔案互通 + 超高相容性)到現在還是獨一份。
真正會讓我動念換的是一個小概率事件:有一天我想重玩某個特別冷門的 PS1 遊戲,ePSXe 跑不動、DuckStation 也跑不動,而這時候剛好有一個新的模擬器能跑起來。除此之外,七年都用過來了,再用七年應該也沒什麼問題。
本文为个人基于网络公开资料整理编写,非官方内容,仅供学习交流参考;软件版权归原作者所有,请支持正版;使用过程中遇到问题请查阅官方渠道,本文不承担任何责任。

