本条目介绍的是模拟其他平台硬件处理器与指令集的软件。关于名字中一般带有“模拟器”的一类游戏,请见“模拟游戏”。 |
---|
模拟器(英语:Emulator)是指通过软件虚拟,模拟其他平台硬件处理器的功能与指令集的程序,广义上指主要透过硬件或软件使得一台计算机系统(称作主host)在行为上类似于另一台计算机系统(称作客户)的程序。模拟器一般允许在主系统上运行给用户系统设计的软件或者外部设备。
模拟是指在一台电子设备或一个计算机程序能够模拟另外一台设备或程序,比如很多制造商生产的打印机模拟惠普LaserJet打印机,使得大量设计给惠普打印机的软件也能在这些品牌打印机上使用;在PC上运行虚拟机执行其他操作系统或者电视游戏和街机;虚拟光驱;一些基于FPGA的硬件模拟器等等。理论上,任何操作环境都可以模拟其他的操作环境。
在ACGN领域,模拟器主要指游戏机模拟器。某些软件和游戏的运行受平台限制,但游戏机模拟器可以模拟它们的处理指令系统,从而让它们跨平台运行。比较常见的例子是在Microsoft Windows系统下游玩Android游戏、macOS游戏、家用机或掌机游戏、街机游戏、ONS游戏、DOS游戏以及许多年代久远的galgame等。
需要注意的是,部分软件确实可以让其他系统的程序在别的系统上运行,但却不应该被视为模拟器。比如说许多游戏机的向下兼容功能,虽然可以运行前代游戏机的游戏,前代游戏机的部分硬件可能是软件模拟的,但由于使用了特殊的硬件,不应当被认为是模拟器(虽说部分向下兼容确实是使用模拟器的)。除此之外,像Wine,DXVK一类的软件虽然可以让linux运行Windows程序,但由于这实际上只是在转换api(类似于下面提到的HLE),所以并不是模拟器。
模拟器发展和流行与个人电脑功能的扩展是离不开的。通常,游戏代码和数据通过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生成的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上运行。
索尼的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。
|
维基百科 提示您 | 关于模拟器, 在自由的百科全书维基百科上 有相关条目。 请参阅:游戏机模拟器 |