【模擬器改造】15大模擬器,用電腦回味經典 TV 遊戲

國寶大師 李文恩

紅白機、超任、PlayStation、SEGA……兒時的電視遊樂器、經典的破關回憶,曾經伴隨過許多人渡過美好時光,無奈新遊戲機推出,那些充滿美好回憶的舊遊戲,也逐漸淹沒在歷史洪流中。幸好透過遊戲模擬器,可以讓老遊戲在電腦上再度重現,本篇就介紹15大遊戲主機的模擬器,幫你重新回味老遊戲的美好記憶。

快速目錄:

概念篇,什麼是遊戲模擬器?

其實模擬器的定義十分廣泛,只要以不同於被模擬端的設備,提供仿真的環境,讓使用者可以去模擬特定的需求,那就可以算是模擬器。舉個例子來說,航空公司會在訓練機師時,使用專業的飛行模擬器,讓訓練中的機師在絕對安全的情況下模擬駕駛,而不用承擔實體飛機墜落的風險。

這個設備的架構說穿了,就是附震動體感功能的超大型電動玩具,以電腦收集機師對飛機的操作,並計算所有飛行的參數,最後回饋到顯示螢幕以及模擬機艙,達成逼真的飛行模擬實況。


▲民航機訓練用的飛行模擬器。(圖片來源:維基百科

為保存文化而生

這一次主題是電視遊樂器的模擬器,因此把我們焦點放在遊戲機的模擬器上。遊戲機模擬器主要的功能很簡單,就是透過軟體去模擬硬體處理器的功能,使電腦能夠運行其他平台上的軟體。白話來說,模擬器就是一台軟體遊戲機。

模擬器有著許多優點,其最大的特色就是利於數位資產的保留。在英文版維基百科中有一句強而有力的說明,「Emulation is a strategy in digital preservation to combat obsolescence.」,其意為模擬器是一個對抗中止服務(指硬體平台)的數位資產保存策略,這邊提到的數位資產,並沒有特別指名內容。

不過套用到我們這次討論的主題上,這些內容就是在各個遊戲主機上的遊戲軟體,如何使用現在的硬體設備,去執行過往遊戲主機的軟體,讓歷史悠久的遊戲文化能夠世世代代傳下去,就是遊戲模擬器的終極目標。


▲現在擁有老遊戲機的人應該不多了,如果想要回味老遊戲的話,多少會遇到很多麻煩。

使用模擬器除了可以達成執行舊軟體的目標外,也可以盡可能地保存原始程式的所有內容,包括圖像、聲音等部分,都可能近乎原汁原味地重現,而且對於數位資產保存工作而言,它可以減少整體工作量,我們不需要針對軟體一款一款進行移植,只需開發一套中介的模擬器,就可建構出萬用平台,將所有舊軟體丟上去執行。

模擬器讓你增加10年功

另一方面,模擬器在「藝術表演」上也有很特殊的用途,有群狂熱派的玩家,就專門用模擬器錄製神乎其技的遊戲快速過關影片,這種特殊手法稱為TAS競速(Tool-Assisted Speedrun)。

TAS的始祖是Andy Kempling,他修改了毀滅戰士(DOOM)的原始碼,修改過的版本能夠以慢動作進行,以利於錄製超水準技巧的影片,隨後這種競賽模式就在狂熱玩家間流傳開來,並形成一種地下文化。


▲後面介紹的VBA Rerecording就是為TAS改良的模擬器,它可以顯示許多額外資訊,讓玩家更能掌握遊戲。

TAS的目地很簡單,就是在不修改遊戲本身的程式、記憶體(遵守遊戲規則)的情況下,盡可能地表現超乎常理的完美技巧,TAS玩家可以使用慢動作、重播,或是不斷讀取存檔,甚至是瀏覽記憶體內容,以確認敵人的動作、寶箱內容等,由於TAS並沒有去更變遊戲任何部分,因此即便機率很低,低到比被雷劈到還難,但影片內容還是有可能實現。

熱衷於TAS的玩家,通常會彼此競爭,就像賽車手會計較換輪胎的時間一樣,TAS玩家對小地方都是錙銖必較,這恰巧就是TAS的另一宗旨:追求理論上所需最短的破關時間。

對一般玩家而言,TAS影片也非常具有娛樂效果,如果沒辦法玩到成仙成佛,至少可以長長見識。有興趣的讀者可以到SDA這個網站觀看TAS影片,那邊的影片多到可能一輩子都看不完。


SDA網站收集了許多TAS影片,神人玩家以將成績在此展示為榮,肉腳玩家可以來這邊湊湊熱鬧。

但是模擬器總是伴隨著棘手的法律問題,基本上模擬器的開發過程很可能就會牽扯到軟、硬體的授權問題,如果說要夢到遊戲機的硬體是如何運作,那也太過牽強,如果對主機進行逆向工程,那恐怕就侵犯到廠商的智慧財產。此外,下載舊主機的遊戲也是受到法律禁止,而自己將卡帶上的程式抽取出來,又存有灰色空間,因此模擬器的法律爭議一直沒有徹底解決過。

模擬器的原理

一般典型的模擬器,會以軟體模組對應實體被模擬端的硬體架構,可以把模擬器粗分為處理器模組、記憶單元模組,以及I/O單元模組,通常模擬器會略過匯流排的模擬,因為模擬匯流排無疑是繞遠路的方法,直接將資料送進模擬處理器除了可以減少程式的複雜度,也可以增加程式運作的效率。

遊戲機的模擬器可以類比為實體的主機,電腦的螢幕、喇叭就相當於這台主機輸出資訊的地方,而電腦鍵鼠、遊戲搖桿,則是接上這台主機的輸入設備。遊戲卡帶的部分則類比為模擬器的ROM,卡帶的功能是用來儲存遊戲程式,由於我們不需要程式的載體,因此只需要卡帶內的程式本身,這個程式的部分以ROM稱呼,其細節於後面章節會再詳述。

不是虛擬機器

模擬器(emulator)和虛擬機器(virtual machine)聽起來感覺很相近,但其原理及功能卻大不相同。模擬器是利用實體電腦,建立被模擬電腦,然後將被模擬電腦的程式透過直譯器在實體電腦上執行,而虛擬機器則是直接在主作業系統(host OS)上,建立一個完全獨立的虛擬作業系統(guest OS),無論在主、客作業系統,程式都是直接丟進CPU執行。

然而硬體虛擬化(virtualization)又是一個不太一樣的觀念,虛擬化指的是將主電腦(host machine)的硬體資源切割成多個部分,並建立多個虛擬電腦(guest machine),以供給多個用戶使用,虛擬電腦的程式也是使用主電腦的處理器進行運算。

(後面進入模擬器操作實戰)

延伸閱讀:

紅白機遊戲登上 PS Vita,瑪琍兄弟來了,看看如何做到?

PSP 退休後,刷機做3種進階利用,實測給你看

PS Vita 邁向開放,官方開發套件免費用,已有第三方軟體

實戰篇,了解模擬器基本通則

模擬器的使用就像練武功一樣,往往在這款模擬器遇到的狀況和問題,在另一款模擬器也會遇到一樣的情形,正所謂一步通、步步通,筆者在這邊會在這邊以循序漸進的方式帶領各位讀者瞭解各模擬器的相關使用、設定。先介紹一些通用知識,再針對各款模擬器分別介紹。

模擬器版權議題

在開始前,雖然是老調重彈,還是要進行政令宣導,其中也有一點心照不宣的成份,希望各位讀者揣摩一下,不要誤觸禁忌。

模擬器就如同一般軟體受著作權法保護,就像WinRAR和7-Zip的區別一樣,免費的模擬器可以被下載、轉載、使用,但不能用來盈利,而收費的模擬器則是要購買後才能合法使用。大多的模擬器都是免費軟體,其中部分作者會在軟體或網站上提出贊助(donate)需求,這種贊助是採自由樂捐的方式,如果讀者非常感謝作者的話,可以捐助一些錢給作者,給他實際的支持,如果不想要出資,使用的權益也不會受到任何影響。

遊戲並不是免費的

相較於免費的模擬器,ROM就不是可以隨意流傳的檔案。如果說模擬器像是遊戲主機的話,那ROM就是遊戲軟體(卡帶)。早期遊戲都是使用卡帶當作儲存媒體,程式就存在卡帶裡面的唯讀記憶體上,因此模擬器遊戲的檔案就叫做ROM。

ROM檔的內容,就是卡帶唯讀記憶體裡的程式,這些程式都是由一些真正高高手,從卡帶中抽取出來的,這個動作稱為dump。通常在dump ROM的時候,並不會將記憶體拆下,而是會使用改造過的主機或是特製的讀卡機,將資料讀出。


▲雖然模擬器以免費居多,但是我們還是要尊重收費的模擬器。

ROM檔本身就是遊戲的「智慧財產」,卡帶只是儲存資料的載體,這就像是音樂與CD的關係,我們可以將CD轉為檔案放在自己的手機裡使用,但是不能任意從網路上下載音樂檔案,一樣的道理,如果下載別人提供的ROM,就屬於非法使用。


▲Dump美國版Famicom卡帶的特製主機(圖片來源http://kevtris.org/index.html)。

但是滄海桑田,有些遊戲公司或許倒閉,他們的智慧財產歸屬就會比較混亂,而且有些遊戲的商業價值微乎其微,因此許多老遊戲的著作權是「極度不受重視」,因此有些提供ROM檔的網站會提出免責聲明,指出需要有合法的正版遊戲,才能下載該遊戲的ROM檔,或是連結僅供教學用途,請下載後24小時內刪除檔案,不過這些只是片面逃避法律責任的方法。筆者要提醒讀者的只有一句話,小心駛得萬年船,總之年輕人不要太衝動,還得要靠你們自己拜大神求得真理。

基本模擬器使用通則

絕大部份模擬器除了支援遊戲中的存檔外,也提供即時存檔功能(Save State)。遊戲原生的存檔功能,要視遊戲主機的存檔方式而定,像是以卡帶為媒體的主機,通常將存檔放在卡帶上的SRAM,並以電池維持記憶,或是以EEPROM(Electrically-Erasable Programmable Read-Only Memory,電子抹除式可編程唯讀記憶體)來儲存存檔,這類的遊戲存檔會由模擬器自動產生,如果是以光碟讀取遊戲的主機,則是需要手動建立虛擬記憶卡,並將它掛上模擬器以模擬實體主機存檔的運作方式。

即時存檔功能是由模擬器提供,即使遊戲本身不支援存檔也能使用,並且可以隨時存檔、讀取進度,通常模擬器會提供多個存檔欄位(State Slot),讀者可以自行指定即時存檔使用的欄位,而Save、Load State就是存、讀指定欄位,有些模擬器可以在存取時直接選擇要用哪個欄位。

大部分的模擬器可以直接支援Windows認得的遊戲控制器(支援DirectInput的手把、搖桿等),控制器的設定通常會放在Input、Controller之類的選項中,進入設定選單後,跟著設定精靈依序按下鍵盤、手把對應的按鍵,即可完成設定。


▲有些體貼的模擬器會在按鍵設定的地方,加入實體主機的按鍵說明。

另外值得注意的是,目前有越來越多模擬器使用Visual C++或是.NET撰寫,如果執行時遇到某dll遺失的情況,除了可以試著更新DirectX之外,也可以試著安裝Visual C++ Runtime、.NET Framework。

BOX:DirectInput

DirectInput是Direct X其中的一項功能,它於1995年就與第一代DirectX一同釋出,其主要功用是做為輸入設備的API,讓支援DirectX的軟體可以直接接收遊戲控制器的輸入資料。在2002年DirectX 9改版時,DirectInput被更名為XInput,加入了對Xbox360控制器的支援。

(後面列出11大必玩模擬器)

11大必玩模擬器

下面就先介紹11款經典主機,針對其特色和推薦模擬器做介紹(其中Master System 和 Game Gear硬體設計接近,放同一篇介紹),順便附上推薦的遊戲。這些模擬器的特色是硬體需求比較簡單,較易上手;硬體需求高,執行較麻煩的,例如PS2、WII等,後面我們再另作介紹。

王者以逝,風韻猶存:Famicom篇

最小體積及最大容量媒體通吃:PC-Engine篇

日式精神,美式風格:Mega Drive篇

2D主機最後一道夕陽餘暉:SUPER Famicom篇

踏入3D紀元的基礎石:PlayStation

  SEGA永恆的播夢者:Dreamcast篇

 小朋友的地位象徵:GameBoy篇

  家用機變身掌機:Master System & Game Gear篇

霸王地位再升級:GAME BOY Advance篇

流連忘返的好所在:Arcade 街機篇

(後面看進階篇,用高階平台硬轟模擬器)

進階篇,用高階平台硬轟模擬器

在前面所討論的模擬器,都是比較平易近人的「小」玩具,從測試結果可以看出,對硬體的要求並沒有很高。但是在以下要探討的模擬器,是一些原本實體主機硬體就比較高檔,或是發展還不是很成熟,會讓中低階電腦東倒西歪的模擬器。

造成模擬器在效率上很難追上實體主機的原因,最主要還是要歸咎於模擬器程式本身的問題,或許是軟體有無法突破的障礙、作者功力不夠。再來就是遊戲主機硬體和電腦硬體的架構差太多,所以沒辦法找到更有效率的模擬方式。

在最後的決戰中,筆者以Sandy Bridge-E平台最昂貴的Core i7-3960X,配合AMD一代王卡Radeon HD 5970,打造超強銀河戰艦:絕對無敵雷腦王號,迎擊SS、PS2、Wii、PSP,這4款讓人頭痛的模擬器,希望能夠藉由6座戰艦核心主砲,配合3200門SP快砲,獲得擊沉這4艘怪物艦艇的戰果。

如果我們從兵工廠推出來迎戰的巨砲戰艦,還不能匹配這些好幾年前的電視遊樂器,豈不是叫處理器與顯卡的RD們去吃蚵仔煎(身為溫馨的媒體,筆者總不能叫RD們吃些阿里不達的東西吧!)。總之SBE和SS有什麼瓜葛?HD 5970又是怎麼和PSP糾纏在一塊兒?RD們到底要不要吃蚵仔煎呢?我們看下去。

測試平台
處理器 Intel Core i7-3960X
記憶體 Kingston DDR3 2000 2GB x2
主機板 ASRock X79 Extreme4-M
顯示卡 AMD Radeon HD 5970
儲存裝置 Kingston SSDNow 100V 64GB
電源供應器 LEPA G700-MA
作業系統 Windows 7 Ultimate 32bit

處理器沒有問題

先從處理器測試來看,這部分測試中,能看到Core i7-3960X將所有模擬器的2D項目FPS推到60幀左右,最低的成績出現在PSP的2D遊戲,FPS為59.6幀,尚在測試所設定的2%誤差範圍之內,因此判定處理器沒有成為效能瓶頸的關鍵。

不過筆者要稍微澄清一下,在上一頁提到的「6座戰艦核心主砲」,只是種詼諧的比喻的方式。因為模擬器程式大多不支援多核心處理器,因此不論處理器有多少核心,會影響測試最大的因素還是在於處理器單核心的效能,也就是說「絕對無敵雷腦王號」獲勝的關鍵,在於主砲夠大支、火力夠猛,而不是主砲數量多、射速快。

GPU非戰之罪

回頭看看3D遊戲部分,絕對無敵雷腦王號順利擊沉PS2和Wii,但是模擬SS以及PSP的效率,只能用慘不忍睹來形容,尤其是PSP部分,用這種硬體平台跑,效率居然只有實體機的四分之一,這真的是顯卡太爛的關係嗎?

筆者倒不這樣認為,從規格來比較一下PSP與GT 220、HD 5970三者的GPU性能,顯示卡的性能比PSP強是當然的,但是重點在HD 5970與HD 5450的測試結果差距太小,甚至發生Sandy Bridge-E平台跑輸Core i7-2600K配HD 6870的組合,這一點讓筆者嚴重懷疑PSP模擬器程式本身出了問題,可能是模擬器無法完整模擬PSP的GPU,造成硬體性能無法反應在模擬器的效率上,並非PSP真的有性能這麼強大的GPU。至於SS部分,除了模擬器程式尚未發展成熟外,實體機的顯示核心太過複雜,無法有效模擬,也可能是模擬效率低下的原因之一。

GPU規格比較
項目 PSP GT 220 HD 5970
時脈(MHz) 111 625 725
Stream Processor、CUDA核心數量 未公開 48 3200

Pixel Fill Rate (MegaPixels/sec)

664 5000 464000

多邊形吞吐量 (MegaPolygon/sec)

33 未公開 1450

軟體支援度成關鍵

綜合上面2項結果可以發現,基本上的問題是出在模擬器程式以及實體機硬體架構,而不是在電腦硬體本身的效能。至於模擬器作者該怎麼處分,筆者覺得還是饒過他們好了,畢竟他們並不是以開發模擬器為職,能夠在個人興趣的支持下,開發出可以運作的模擬器,已經很值得尊重了,我們實在沒有什麼立場,苛求他們推出完美的模擬器,況且我們還沒付半毛錢。

如果排除掉PSP 3D項目,Sandy Bridge-E平台不負其旗艦地位,就算是SS 3D項目不理想,但平均值及最小值相當接近,代表運作速度穩定,可以利用跳格方式彌補。


▲Core i7-3960X配RADEON HD 5970:FPS平均值


▲Core i7-3960X配Radeon HD 5970:FPS最小值

模擬器模擬效率
SS整體效率 PS2整體效率 Wii整體效率 PSP整體效率
86.225% 99.775% 99.583% 62.442%
月下夜想曲 飛天幽夢 宇宙巡航艦 真‧三國無雙4 朧村正 瑪莉歐賽車 魔法氣泡 實感賽車
100% 72.45% 100% 99.55% 99.88% 99.28% 99.33% 25.55%
各遊戲效率為測得FPS與60之比值,整體效率為兩個遊戲效率之平均值

(後面還有:4大高階遊戲模擬器介紹)

4大高階遊戲模擬器

下面就介紹這4款硬體需求較高的遊戲模擬器,如果你的電腦配備實力夠堅強,就來挑戰看看吧!

由盛轉衰的殞落土星:SEGA Saturn篇

超越輝煌的刺客主機:PlayStation 2篇

革命性地改寫遊戲產業規則:Wii篇

掌機性能大提升:PlayStation Portable篇

延伸閱讀:

為保存文化而生

原文網址:https://t17.techbang.com/topics/13220-simulation-and-modification-15-great-emulator-re-living-classic-tv-with-computer-games?page=1