模拟器查看源代码讨论查看历史
模拟器 |
名称 模拟器 英语:Emulator 是指通过软件虚拟, 模拟其他平台硬件 处理器的功能与 指令集的程序 |
模拟器(英语:Emulator)是指通過軟件虛擬,模擬其他平臺硬件處理器的功能與指令集的程序,广义上指主要透过硬件或软件使得一台计算机系统(称作主host)在行为上类似于另一台计算机系统(称作客户)的程序。模拟器一般允许在主系统上运行给用户系统设计的软件或者外部设备。
模拟是指在一台电子设备或一个计算机程序能够模拟另外一台设备或程序,比如很多制造商生产的打印机模拟惠普LaserJet打印机,使得大量设计给惠普打印机的软件也能在这些品牌打印机上使用;在PC上运行虚拟机执行其他操作系统或者电视游戏和街机;虚拟光驱;一些基于FPGA的硬件模拟器等等。理论上,任何操作環境都可以模擬其他的操作環境。
在ACGN领域,模拟器主要指游戏机模拟器。某些軟件和遊戲的运行受平臺限制,但游戏机模擬器可以模擬它們的處理指令系統,從而讓它們跨平臺運行。比较常見的例子是在Microsoft Windows系統下遊玩Android游戏、macOS遊戲、家用机或掌机遊戲、街机遊戲、ONS遊戲、DOS遊戲以及許多年代久遠的galgame等。 [1]
目录
简介
模拟器发展和流行与个人电脑功能的扩展是离不开的。通常,游戏代码和数据通过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