模擬器
本條目介紹的是模擬其他平台硬件處理器與指令集的軟件。關於名字中一般帶有「模擬器」的一類遊戲,請見「模擬遊戲」。 |
---|
模擬器(英語:Emulator)是指通過軟件虛擬,模擬其他平臺硬件處理器的功能與指令集的程序,廣義上指主要透過硬件或軟件使得一台計算機系統(稱作主host)在行為上類似於另一台計算機系統(稱作客戶)的程序。模擬器一般允許在主系統上運行給用戶系統設計的軟件或者外部設備。
模擬是指在一台電子設備或一個計算機程序能夠模擬另外一台設備或程序,比如很多製造商生產的打印機模擬惠普LaserJet打印機,使得大量設計給惠普打印機的軟件也能在這些品牌打印機上使用;在PC上運行虛擬機執行其他操作系統或者電視遊戲和街機;虛擬光驅;一些基於FPGA的硬件模擬器等等。理論上,任何操作環境都可以模擬其他的操作環境。
在ACGN領域,模擬器主要指遊戲機模擬器。某些軟件和遊戲的運行受平臺限制,但遊戲機模擬器可以模擬它們的處理指令系統,從而讓它們跨平臺運行。比較常見的例子是在Microsoft Windows系統下遊玩Android遊戲、macOS遊戲、家用機或掌機遊戲、街機遊戲、ONS遊戲、DOS遊戲以及許多年代久遠的galgame等。
簡介
模擬器發展和流行與個人電腦功能的擴展是離不開的。通常,遊戲代碼和數據通過ROM文件(遊戲卡帶數據的副本)或ISO映像(光學介質的副本)提供給模擬器,這些文件由專門用於遊戲卡帶的工具創建,或由常規光盤驅動器讀取數據。
通常情況下,遊戲機模擬器能打破原遊戲機硬件的限制,提供諸如非原生手柄的支持、遊戲速度控制、性能與畫質增強、ROM破解和修改、遊戲作弊、增強的技術功能和寬屏功能、繞過鎖區、進行TAS、隨時存檔/讀檔、安裝mod等功能。在為已停產的舊遊戲機開發自製程序或新遊戲的過程中,模擬器也起着重要作用。模擬器還能讓老遊戲在更新的系統上運行。
工作原理
模擬器一般有兩種主要的工作方式:HLE與LLE。 HLE(High Level Emulation,高階模擬)將原系統的圖形、音頻等高級api轉換為模擬器運行的系統硬件可以識別的api(一般來說,在N64以後絕大多數模擬器的GPU部分都採取這種方法處理),可以獲得良好的性能表現,但容易出現兼容性問題並且模擬效果不如LLE好。LLE(Low Level Emulation,低階模擬)將原系統的匯編指令直接轉換為模擬器運行系統的指令(幾乎所有模擬器的CPU部分都利用此技術),對於N64以後的絕大多數平台來說,用這種方法模擬GPU性能表現很糟糕,但優點在於兼容性好,模擬效果更接近實機。
模擬器包含很多組件:分別模擬原始機器中央處理器CPU(對於原始機器和模擬器運行平台的cpu指令集不同的情況下,需要利用LLE技術翻譯cpu指令)、圖形處理器GPU(一般使用HLE方法處理,部分較老的平台可以用LLE方法)、聲卡等芯片的組件,以及把原機器的輸入設備(如按鈕、搖杆等)映射到計算機的鍵盤等輸入設備的組件。這些組件集成起來可構成完整的模擬器。 由於平台間底層系統、處理器、內存、架構等軟硬件差異,要使模擬器能流暢運行遊戲,模擬器的性能要求通常比原遊戲機的性能高很多。
除Virtual Console等遊戲機廠商官方的模擬器之外,模擬器一般不附帶有著作權的ROM映像及遊戲程序,因此用戶需要自行提供ROM文件、ISO鏡像等形式的遊戲數據與代碼,才能進行相關的模擬操作。ISO鏡像文件是光盤數據的副本,可以使用普通的光盤驅動器進行提取。而ROM文件源於原遊戲機的ROM芯片或者ROM卡帶,需要使用專門的程序或工具從原遊戲機上提取下來(這個過程一般稱之為「dump」或「rip」)。提取ROM操作較為複雜,因而普通消費者和模擬器愛好者更傾向於非法通過互聯網免費獲取遊戲,而不是合法地購買與提取遊戲內容。在原遊戲機平台和遊戲停產後數十年,大多數遊戲公司仍保留其著作權。為了解決提取鏡像的困難、避開著作權的問題,一些遊戲卡帶專用適配器(Retrode等)問世了,這種適配器能讓模擬器直接訪問卡帶上的數據。
dump
將存儲在電路板、磁盤、光盤等介質上的數據,用工具讀取出來,以文件的形式轉存至電腦,這一過程被稱為「dump」。
dump生成的ROM文件,如同存儲在電腦里的一款款遊戲,可以脫離原始載體而運行。
背景與歷史
20世紀90年代中期,個人電腦的性能提升迅速,這使得通過軟件模擬早期遊戲機的想法變得可行。在這個時期,互聯網上出現了一些未授權、非商業用途的遊戲機模擬器,儘管這些模擬器不太完整且容易出現程序錯誤。然而,公布了硬件技術規範的廠家少之又少,程序員只得通過逆向工程分析演繹得出遊戲機的具體運作方式。開發者常將任天堂的遊戲機作為研究對象,當時比較先進的模擬器能較為完整地模擬Family Computer、Super Famicom與Game Boy。這個時期中,「索尼克之父」中裕司也為Mega Drive設計了FC模擬器——雖然沒有發布,但這可能是首個在遊戲機上模擬其他平台的模擬器。
隨着模擬器的流行,模擬器的開發速度加快了,一定程度上也促進了ROM修改與遊戲漢化翻譯社區的發展,使得運行國外的遊戲變得容易,更多用戶也隨之接觸到模擬器。
法律問題
很多模擬器的出現,實際上是為了保存很多年前原始的遊戲程序,並在不同的設備上運行。隨着電腦與互聯網的發展,模擬器開發者的技能水平得以不斷提高,模擬器發布速度越來越快。任天堂64、PlayStation、Game Boy Advance等第五和第六世代遊戲機模擬器在遊戲機產品仍銷售時就已經能進行模擬操作。遊戲機製造商試圖通過法律途徑阻止非官方的模擬器,但大多數都失敗了。
根據法律先例,在美國、英國等大多數國家開發與使用模擬器是合法的,但根據國家著作權法與《伯爾尼公約》,未經授權分發受著作權保護的代碼仍是違法的。
在美國,根據Lewis Galoob Toys與任天堂美國法庭判例,只要是合法擁有遊戲機,提取遊戲機BIOS文件的行為符合法律中的合理使用。為了減少類似的事件發生,高階級模擬(HLE)方式被更多開發者採用,使模擬器在沒有BIOS文件的情況下進行模擬操作。
在中國,模擬和破解等行為處於法律的灰色地帶。發布與收集遊戲、製作模擬器和破解ROM都是網絡高手熱衷的工作。隨着模擬器的發展,遊戲ROM也在以極快的速度漢化,中國大陸的網站成為模擬器與ROM的存儲基地之一。
官方應用
由於玩家對懷舊遊戲的需求日益增長,現代遊戲機也加入了模擬功能。其中最著名的就是任天堂的Virtual Console,它允許用戶在平台上購買和模擬運行為舊款遊戲機設計的遊戲。儘管可運行的遊戲數目較少,但Virtual Console能模擬的遊戲平台覆蓋較廣,有Family Computer、Super Famicom、Game Boy家族、Nintendo 64、Nintendo DS等任天堂自家的平台,也包括世嘉的Master System、Mega Drive、NEC的PC Engine、SNK的Neo Geo等其他廠商的遊戲平台。為擴大Virtual Console的遊戲庫並提高兼容性,任天堂給每個遊戲搭配了優化過的定製模擬器,但仍缺少非官方模擬器提供的畫質增強等功能。在Nintendo Switch平台上,任天堂也推出了基於Nintendo Switch Online在線服務的模擬器,截至2021年底已推出自家的Family Computer、Super Famicom、Nintendo 64以及世嘉的Mega Drive的模擬器。不同於Virtual Console,這些模擬器一般需要在Nintendo Switch Online會員的有效期內才可以使用,而Nintendo 64與世嘉的Mega Drive更是需要高級會員才可以使用,但是模擬器里將免費提供舊世代的遊戲。雖然是官方模擬器,但部分平台的舊款遊戲的運行效果一言難盡,尤其是Nintendo 64與世嘉的Mega Drive。由於Wii、Wii U、Nintendo Switch等平台自身也存在模擬器,在運行這些官方模擬器時甚至可以出現模擬器模擬模擬器的套娃情況。
由於Xbox不同世代間的硬件差異,新世代的Xbox並不原生兼容舊世代Xbox的遊戲。然而,微軟通過軟件模擬的方式實現了新主機對一些暢銷遊戲的向下兼容。需要注意的是,Xbox One對Xbox 360的向下兼容功能並不額外收費,已經購買了的支持的遊戲可直接在Xbox One上運行。
注意:Xbox One及以後的機器至今尚未被破解,因此如果遇上有提及Xbox One及後續機型破解相關情況的軟件切勿下載!
索尼的PlayStation 2內置了首代PlayStation的CPU與GPU,因此不需模擬器即可運行PlayStation遊戲,但由於硬件設計問題,從硬盤啟動PS遊戲時無法直接調用PlayStation的CPU與GPU,這導致部分愛好者使用自製的模擬器去解決這個問題。後來PlayStation 3的早期型號也搭載了PlayStation 2的硬件芯片,因而能直接運行PS2遊戲。但由於初版PlayStation 3的製造成本過高,後來PlayStation 3去除了PS2的Emotion Engine芯片(CPU),改用硬軟件混合模擬。最終,索尼移除了所有的PS2芯片。PlayStation 3及之後的遊戲機通過軟件模擬的方式運行首代PlayStation與PlayStation 2的遊戲。與任天堂的Virtual Console類似,索尼將PS2遊戲與模擬器打包,在PlayStation Store上售賣。
一些商業遊戲開發商也使用模擬器為新遊戲機發行舊版遊戲。世嘉發布了數個刺蝟索尼克系列等經典遊戲合集。在Virtual Console發布之前,任天堂也採用這種方式,為Game Boy Advance製作了FC移植遊戲系列Famicom Mini。
模擬器列表
家用機模擬器
雅達利
- Arari 2600模擬器
- 6502.ts / Stellerator
- Ataroid
- javatari
- NO$2K6
- PC Atari Emulator
- Stella
- z26
- Atari 5200模擬器
- Atari800
- SourceForge
- Altirra
- Atari++
- Jum52
- kat5200
- Rainbow
- Atari 7800模擬器
- EMU7800
- ProSystem Emulato
- Atari Jaguar模擬器
- Jagulator
- Project Tempest
- Virtual Jaguar
任天堂
- Family Computer模擬器
- Super Famicom模擬器
- Virtual Boy模擬器
- VBJin
- VBjin-OVR
- Red Dragon
- Nintendo 64模擬器
- 1964
- 1964js
- CEN64
- Corn
- DaedalusX64
- Mupen64
- Mupen64Plus
- N64js
- Nemu64
- Project64
- sixtyforce
- Soft64
- UltraHLE
- GameCube模擬器
- Dolwin
- Gekko
- Dolphin
- Wii模擬器
- Wii U模擬器
- Cemu
- Decaf
- Nintendo Switch模擬器
世嘉
- SG-1000 / SC-3000 / SF-7000模擬器
- CrabEmu
- Genesis Plus GX
- Kega Fusion
- OpenEmu
- Master System模擬器
- CrabEmu
- DSMasterPlus
- Gearsystem
- jsSMS
- Kega Fusion
- MasterEmu
- MasterGear
- Provenance
- Mega Drive模擬器
- BlastEm
- EmiGens Plus
- Exodus
- Genecyst
- VGen
- Genesis Plus
- Genesis Plus GX
- Gens
- Gens/GS
- Gens32 Surreal
- Kega Fusion
- KGen
- Provenance
- 世嘉土星模擬器
- Dreamcast模擬器
索尼
- PlayStation模擬器
- Bleem!
- bleemcast!
- Connectix Virtual Game Station
- PSone Classics
- WiiSX
- EmiPSX
- ePSXe
- FPse
- hpsx64
- NO$PSX
- PCSX
- PCSX-df
- PCSX-Reloaded
- Xebra
- PlayStation 2模擬器
- NeutrinoSX2
- PS2Emu
- PCSX2
- DamonPS2
- Play!
- PlayStation 2 Classics
- PS2 emulation for PS4
- PlayStation 3模擬器
- RPCS3
- Nucleus
- PlayStation 4模擬器
- Kyty
微軟
掌機模擬器
任天堂
- Game Boy / Game Boy Color模擬器
- BGB
- Gambatte
- GB Enhanced
- GBA4iOS
- GBE+
- Gearboy
- GNUboy
- Goomba
- Goomba Paletted
- KiGB
- NO$GMB
- Phoinix
- Pizza Boy
- VGB
- VisualBoyAdvance
- VisualBoyAdvance 2
- Visual Boy Advance GX
- VisualBoyAdvance-M
- Wzonka-Lad
- zBoy
- GBCoid
- Game Boy Advance模擬器
- Boycott Advance
- iDeaS
- IodineGBA
- GBA4iOS
- GBE+
- mGBA
- NO$GBA
- PocketGBA
- VGBA
- VisualBoyAdvance
- VisualBoyAdvance 2
- Visual Boy Advance GX
- VisualBoyAdvance-M
- Nintendo DS模擬器
- Nintendo 3DS模擬器
- Citra
- 3dmoo
- TronDS
- XDS
世嘉
- Mega Gear模擬器
- CrabEmu
- DSMasterPlus
- Gearsystem
- jsSMS
- Kega Fusion
- MasterEmu
- MasterGear
- Provenance
索尼
- PlayStation Portable模擬器
- JPCSP
- MFZPSP
- PCSP
- PSPE4All
- Potemkin
- PPSSPP
- PSPE
- PSP Player
- Sam PSP
- Soywiz PSP Emu
- Yaupspe
- PlayStation Vita模擬器
- Vita3K
街機模擬器
- MAME
- WINKAWAKS
- Nebula
- Zinc
- GGPO
- Final Burn Alpha
手機系統模擬器
- Android模擬器
- 虛擬化技術
- Blue Stack (藍疊)
- VMware
- Virtual Box
- Genymotion
- Hyper-v(Windows Subsystem for Android)
- API轉換技術
- 星雲引擎
- 未知
- Android SDK (Android Virtual Device)
- 虛擬化技術
- iOS模擬器
- 果仁模擬器
- 黑雷模擬器
- 水果模擬器
其他模擬器
- 文曲星電子詞典模擬器
- Adobe Flash Player模擬器
- ruffle
|