PS2Recomp 工具無需模擬器即可將 PlayStation 2 經典遊戲轉換為原生 PC 遊戲

PlayStation

PlayStation - Foto: Tom Eversley / Shutterstock.com

名為 ran-j 的程式設計師發布了 PS2Recomp,這是一款能夠將 PlayStation 2 遊戲轉換為本機 PC 執行檔的開源工具。系統處理原始檔案並產生適用於Windows和Linux的獨立應用程式。新功能消除了對傳統模擬器的需求。軟體直接作用於遊戲程式碼的結構。

數位目錄的保存面臨著二十多年前推出的硬體老化的問題。新方法解決了對實體控制台或需要高處理能力的程式的依賴。此舉確保了電子遊戲遺產仍然可以被存取。先前的逆向工程流程需要多年的手動工作才能翻譯單一標題。

靜態重編譯與傳統模擬的區別

靜態重新編譯技術的工作原理與傳統模擬不同。常見的模擬器會建立一個虛擬機,在執行過程中即時翻譯控制台指令。這個過程需要很高的處理能力。效能下降在功能較弱的計算機上經常發生。 PS2Recomp 採用了早期且明確的策略。該程式在用戶開始遊戲之前就執行所有程式碼轉換。

在轉換過程中,工具會根據 PlayStation 2 的 MIPS 架構分析原始二進位程式碼。系統將此資訊直接翻譯成 C++ 語言,與目前的 x86-64 處理器相容。產生的檔案像常規電腦程式一樣運作。作業系統直接管理記憶體和處理資源。中間翻譯層不復存在。配置適中的機器可以流暢、不間斷地運行遊戲。

用戶必須擁有遊戲的合法副本才能提取原始數據並啟動該過程。該工具從磁碟讀取資訊並產生一個乾淨的可執行檔。該程式碼忽略了當時硬體所施加的限制。獨立開發人員可以存取原始程式碼並進行封閉格式中不可能進行的修改。社區可以完全存取內部文件以進行未來的改進。

情感引擎架構中的技術挑戰

PlayStation 2 具有複雜的內部架構,以情感引擎處理器為中心。此晶片包含與其他組件同步運作的客製化向量處理單元。資料路由邏輯使其難以準確地轉換為現代電腦。時間同步是重建系統的最大技術障礙。 PS2Recomp 透過建立獨立的執行設定檔來解決此問題。

該工具使用軟體翻譯引擎來映射指令並將數學運算合併到當前標準中。開發人員將該專案整合到互聯網上的協作平台中。世界各地的程式設計師在開放儲存庫中共享破解的程式碼片段。系統分析輸入的資料並對編譯失敗進行自動修正。集體努力加速了科技的發展。

該軟體隔離了無法自動翻譯的程式碼部分,並允許人工幹預。專家分析原始邏輯並用 C++ 建立手動解決方案。專案資料庫儲存修復並將其應用於將來的類似情況。每處理一個新遊戲,轉換成功率就會增加。隨著系統從過去的解決方案中學習,手動調整的需求會減少。

原生格式對玩家的直接優勢

電腦上的本機執行使遊戲擺脫了顯像管電視和記憶體限制所施加的技術限制。遊戲現在充分利用了現代顯示卡和處理器的能力。官方功能清單詳細介紹了新處理方法所實現的效能改進。

  • 原生支援 4K 解析度和超寬顯示,介面不會失真。
  • 刪除了幀速率鎖定,允許以每秒 60 或 120 幀的速度進行遊戲。
  • 由於直接從 SSD 儲存裝置讀取,載入時間大幅減少。
  • 用粉絲創建的高解析度三維模型輕鬆替換舊紋理。
  • 與現代作業系統集成,無需複雜的插件配置。

沒有等待時間改變了依賴載入畫面來管理控制台有限記憶體的遊戲的動態。即時存取 SSD 上的資料可實現場景之間的立即轉換。紋理修改發生在程式層級。模組製作者在執行過程中插入高清影像來取代原始檔案。開源程式碼可以輕鬆實現現代照明和高級陰影效果。

第一個可玩的遊戲和平台的未來

第一款透過 PS2Recomp 達到完整遊戲狀態的遊戲是 Sly Cooper 和 Thievius Raccoonus。此平台標題作為測試基礎,以證明本機執行在複雜的三維環境中的可行性。它運行時沒有圖形故障或音訊同步問題。測試的成功引起了其他具有逆向工程控制台經驗的程式設計師的注意。

用戶社群組織投票來決定即將發生的轉換的優先順序。 《古惑狼》和《傑克 II》等經典系列遊戲在論壇上的請求清單中名列前茅。任何具有程式設計知識的人都可以使用 GitHub 平台上提供的檔案開始轉換遊戲。該儲存庫每天都會收到世界各地獨立測試人員報告的程式碼最佳化和錯誤修復更新。

專案文件需要熟悉命令列和編譯軟體以從原始磁碟中提取資料。目前的過程疏遠了尋求快速安裝解決方案的普通用戶。該工具的創建者致力於簡化操作步驟並開發用戶友好的圖形介面。該小組的目標是在未來幾個月內實現整個工作流程的自動化。

建立軟體保存的新標準改變了對硬體公司的商業依賴。現在數位作品的維護依賴於技術知識的分散。靜態重新編譯方法正在開始研究在其他舊平台上的應用。維護電玩遺產的責任轉移到了全球技術和程式設計社群。

另見