Booking.com

早陣子一時心血來潮想為自己的手機增添一些動作遊戲,上網找點子時在一個討論區中看見有人提到 FPseCE 這個行 Windows Mobile 的 Playstation 摸擬器。其實多年前當自己還是用着一部 HP2210 pocket pc 玩超任模擬器時已經聽聞有人在 pocket pc 上玩 PSX 摸擬器,但以當時一般 pocket pc 的處理能力要運行 Playstation 遊戲實在有點難以想像,所以一直沒有理會。

但現今一般手機處理器都在 500 MHz 以上,1 GHz CPU 亦開始進入主流,心想現在手上那部華碩 P750 手機說不定已經可以運行這類 PSX 模擬器,於是提起勁到 FPseCE 的官方網站下載這個模擬器軟件測試,一試之下發現原來這個模擬器在我那部算是有點老舊的手機上已能運行得相當暢順,這樣的好東東實在值得推介,於是今次就在這部落格中寫寫有關這個模擬器的使用心得。

我現正使用一部 ASUS P750 Windows Mobile 手機,行 PXA270 520 MHz CPU,以下便是我使用這部手機運行 FPseCE 0.10 的 gameplay 片段,各位可以從這些片段大約評估一下自己的手機有沒有足夠的處理器能力去運行不同的遊戲。

首先是一段玩 Street Fighter Alpha 3 和 Dino Crisis 2 的 gameplay 片段。



接着是 Ridge Racer Revolution 和 Bomberman Party。



接着是 Metal Slug X 和 World Soccer Jikkyou Winning Eleven 3 Final



最後是一段玩 Raiden DX 和 Wipeout XL 的 gameplay 片段。



要玩遊戲,第一步得先要安裝軟件。大家可以到 FPseCE 的官方網站 下載最新版本的 FPseCE 手機軟件和遊戲影像檔壓縮軟件。手機軟件是一個 zip 檔案,解壓後將那個 cab file 抄到手機上點擊安裝便可以。付費版軟件支援原本在 PSX 中沒有的 save/ load stage 功能,免費版亦能模擬 Playstation 的 Memory Card,在遊戲中的 save point 儲存遊戲進度。

PocketISO 是一個遊戲影像檔壓縮軟件,不需安裝,在 PC 上解壓後直接雙擊 PocketISO.exe 便可運行。FPseCE 支援 .iso .bin .nrg .img 等不同的影像檔格式。先使用正版的 CloneCD 將正版的遊戲碟 rip 成正版的 CD 影像檔 ~~,手機軟件本身可直接讀取影像檔資料,但建議將影像檔抄到手機前必定先經 PocketISO 進行壓縮;一來壓縮後的影像檔體積較細,而最重要的是 Pocket ISO 可以找出遊戲影像檔內的 XA Stream 並將之轉檔成 mp3 格式;如果遊戲內的 XA Stream 未經轉檔而直接放到手機內執行,那麼就算你所使用的手機擁有 1 GHz 的處理器,遊戲中所播放的音效亦會變得斷斷續續,而且處理 XA Media Stream 亦會佔去手機大量處理能力而使遊戲運行速度變慢。

要進行遊戲影像檔壓縮,在 PC 上雙擊 PocketISO.exe,開啟如下圖的 PocketISO 介面:


  1. 先按 Select Iso 按鈕開啟需要壓縮的影像檔;
  2. Compression Method 我通常會選擇 Normal Compression;
  3. 如上圖般選 Enhanced XA Detection;
  4. 再按 Anlaiyse ISO,之後便會見到 Progress Bar 開始運行;
  5. 完成後如果在 Medias Found 欄中見到 XA Stream 項目,便要選取 Rip Xa Streams to MP3 (如果沒有 XA Stream 項目則無需選取 Rip Xa Streams to MP3)。

如果 PocketISO 找到影像檔內有可轉檔的 Audio Tracks,則 Rip Audio Tracks to MP3 選項在 Analyse 後會自動選取,因此這個選項可以不理。完成 Rip Xa Streams to MP3 選項設定之後便可按下 Process ISO 按鈕,當 Progress Bar 運行完畢後壓縮檔便會放在遊戲影像檔的同一目錄中。如果 Process ISO 時沒有選取 Rip Xa Streams to MP3,壓縮後的影像檔便是一個 .bin.Z 和一個 .bin.Z.table 檔案,如果 Process ISO 時選取了 Rip Xa Streams to MP3,壓縮後的影像檔便是一個 .bin.ZNX 和一個 .bin.ZNX.table 檔案。不論是那種情況,將 Process ISO 之後跑出來的這兩個檔案抄到手機的內存或記億卡中便可以。

把遊戲影像檔抄到手機後便可到手機程式集介面打開 FPseCE,之後便會看到如下圖般的模擬器主程式使用介面。在 Name 欄中點擊第一行的 .. 列可瀏覽上一層的目錄,.. 列以下的便是現正瀏覽的目錄內的子目錄或遊戲影像檔,找到正確的目錄後點擊遊戲影像檔名稱,便可看到下一個介面,在介面上半部份應可看到正在播放的遊戲開場畫面。



接着要做的便是手機設定。因為不同品牌的手機按鍵設計各有不同,因此用家需為每個遊戲設定最方便操作的按鍵編排。未開始詳述按鍵設定前有兩點先要一提;可能因為我所使用的手機只有較低的 320 x 240 解像度,所有按鍵設定圖示只有數個 pixel 大小,因此在設定按鍵時未必可以每次都點中這些細小的圖示;因此很多時你可能會覺得點擊這些圖示時程式介面好像沒有反應,碰到這種情況可嘗試多點擊那圖示數次。另外關閉模擬器的方法是長按如下圖所示的開關按鈕,當你看到模擬器介面左上方顯示 >>>>>>> 標記,大約兩秒後模擬器便會關閉。這樣設計的目的是防止用家在玩遊戲中途不小心誤按開關掣而關閉了正在打得火熱的遊戲。



按鍵設定主要分為硬體鍵 (如手機搖杆、gamepad、鍵盤) 設定及軟體鍵 (顯示在輕觸屏幕上的按鍵) 設定。先講硬體鍵。首先如果你的手機有像 ASUS P750 那類鍵盤按鍵的話,最好先借用如記事或類似的程式,如下圖般先將輸入法選項設定為 T9,否則電話鍵盤上的如 0-9 等按鍵會無法在模擬器中設定。



通過一個例子來說明如何設定一個硬體鍵我想會比較容易明白。例如我要將手機上的 "1" 字鍵設定為遊戲手掣的 "Start" 鍵,方法如下:

 
  1. 如左圖般點擊手掣圖示,模擬器設定介面轉至手掣版面;點擊 Controller +/- 號圖示可改變遊戲手掣類型;
  2. 按下手機的 "1" 字鍵,不要放手,然後如右圖般點擊屏幕上手掣的 "Start" 鍵,當看見 "Start" 鍵旁邊的數字改變,即該硬體鍵設定成功;
  3. 注意右圖標示的 PSP 圖示,每次點擊這個圖示可轉變方向鍵的控制模式。"點亮按鈕圖示" 代表以硬體鍵控制四個方向鍵,以這方式設定時必需同時設定每個方向鍵的相對應硬體按鍵,在前述 Metal Slug X 的 youtube 片段中我便是以這方式設定手機搖杆的上下左右搖向為四個方向鍵;"點亮屏幕圖示" 代表以輕觸屏幕模擬四個方向鍵,這方式不需再設定每個方向鍵,在 Street Fighter 的 youtube 片段便可看到遊戲中如何以這方式操控四個方向鍵;"點亮背景圖示" 代表以 G-Sensor 模擬四個方向鍵,這方式亦不需再設定每個方向鍵。
  4. 如是這逐一設定所需的硬體鍵,所有硬體鍵設定完成後如右圖般按下開關掣離開設定介面,這時可試試按下設定好的硬體鍵看看遊戲畫面有沒有預期的反應。

接着便是軟體鍵的設定:

 
  1. 如左圖般點擊屏幕圖示,模擬器設定介面轉至屏幕設定版面;
  2. 如右圖標示點擊垂直或平行圖示,改變屏幕畫面中放置按鈕的格數;
  3. 點擊其中一格,以設定該格中的按鈕;
  4. 選好設定格後,點擊 Ctrl 上箭號或下箭號圖示,每次點擊可轉變該格實際代表的遊戲手掣按鈕;
  5. 點擊 Mode 上箭號或下箭號圖示,每次點擊可轉變該格按鈕按下之後是否保持按着不放手的狀態;
  6. 點擊 Icon 上箭號或下箭號圖示,每次點擊可轉變該格在屏幕中所顯示的圖示;
  7. 點擊 Hue 上箭號或下箭號圖示,每次點擊可轉變該格在屏幕中所顯示的顏色;
  8. 如是這逐一設定所需的軟體鍵,所有軟體鍵設定完成後如右圖般按下開關掣離開設定介面,這時可試試按下屏幕上設定好的軟體鍵看看遊戲畫面有沒有預期的反應。

特別一提右圖中央那一格所使用的 "L" 掣,這個 "L" 掣代表模擬搖杆 (Analog Joystick),"L" 掣所在的屏幕位置代表搖杆的中軸,玩遊戲時在輕觸屏幕中點按這個中軸位置起的上下左右位置代表搖動搖杆,在前述 youtube 片段中玩 Ridge Racer 和 Wipeout 時便是以這個模擬搖杆功能來控制跑車的轉軚動作。

完成所有按鍵操控設定後:


  1. 如上圖按全屏幕按鈕轉至全屏幕遊戲畫面,按下全屏幕按鈕前先按一下兩旁的按鈕可改變全屏幕的顯示方向;
  2. 在全屏幕模式下點擊畫面最最右上角的一個 pixel 位置可離開全屏幕模式;
  3. 有些遊戲對處理器速度要求較高,如果運行這些遊戲時發覺遊戲畫面速度太慢,可以考慮增加 Frameskip 來加快遊戲畫面速度;


  4. 點擊 MainVol、CD Vol、和 XA Vol 調校遊戲音量。


一切設定完成後 ... Yeah!大功告成,遊戲開動,Round One ... Fight!