计算机模拟
计算机模拟(简称sim)是利用计算机进行模拟的方法。利用计算机软件开发出的模拟器,可以进行故障树分析、测试VLSI逻辑设计等复杂的模拟任务。在优化领域,物理过程的模拟经常与演化计算一同用于优化控制策略。
计算机模拟器中有一种特殊类型:计算机架构模拟器,用以在一台计算机上模拟另一台指令不兼容或者体系不同的计算机。阿兰·图灵曾提出:(不同体系的)机器A或机器B不考虑硬件和速度的限制,在理论上可以用指令实现互相模仿(即图灵机)。然而在现实中,速度和硬件是必须考虑的。
基本介绍
仿真器,或模拟器(英文;emulator、simulator),根据此原理制作的软件又可称为模拟程序,是指主要透过软件模拟硬件处理器的功能和指令系统的程序使计算机或者其他多媒体平台(掌上电脑,手机)能够运行其他平台上的软件。在自动化技术、化学工程中同样使用模拟器这一术语。
模拟器多用于电视游戏和街机,也有一些用于掌上电脑。模拟器一般需要ROM才能执行,ROM的最初来源是一些原平台的ROM芯片,通过一些手段将原程序拷贝下来(这个过程一般称之为“dump”)然后利用模拟器加载这些ROM来实现模拟过程。
发展历史
模拟器的历史很长几乎伴随着计算机发展史,很多模拟器的出现,实际上是为了保存很多年前原始的游戏(程序),不过是在不同的设备上运行。
工作原理
模拟器包含很多组件:一个模拟很多原始机器的CPU模拟器;一个把很多街机输入设备,例如按钮、摇杆和其他控制的输入映射到PC上的键盘、摇杆和其他设备的模拟器,以及一个街机显示和声音的模拟器。
主要功能
模拟器唯一缺少的是ROM映像,也就是原始的街机游戏中的程序。制作专门的模拟机器往往是价格高昂与困难的,因此使用计算机来模拟是最廉价及方便的方法。
用途分类
街机模拟器
家用机模拟器
手掌机模拟器
电脑模拟器
安卓模拟器
虚拟机
计算机模拟器(computer simulator)指的是“用计算机模拟计算机的模拟器”。计算机模拟器已被用于在实际发行前调试微程序或者商业应用程序。由于该计算机上的操作都是模拟的,所有信息都可被程序员获取,而模拟的速度、执行等都可以控制。请参阅“虚拟机”词条。
这种模拟器是通过研究游戏客户端和服务端的封包内容,开发出来的一种能够模拟网络游戏服务端的模拟器。使用这种模拟器,可以在非专业服务器上模拟网络游戏服务端以为网络游戏客户端提供连接和游戏服务。
常见类型
以下列举出PC常用的家用机/手掌机模拟器,完美度是指在游戏模拟速度,画面质量,游戏兼容性,操作复杂度以及持有功能上的一个横向对比,数值仅供参考。
MAME—最有名的街机模拟器(完美度90%)
Finalburn Alpha—街机模拟器(完美度80%)
Callus—CPS街机模拟器(完美度90%)
Kawaks—街机模拟器(完美度90%)
Nebula—街机模拟器(完美度80%)
NeoRAGEx—街机模拟器(完美度80%)
VirtuaNES—FC家用机模拟器(完美度90%)(某个修改版可模拟国内各类经典小霸王学习机)
FCEUX—FC家用机模拟器(完美度95%)
Nestopia—FC家用机模拟器(完美度95%)
ZSES—SC家用机模拟器(完美度90%)
Snes9x—SC家用机模拟器(完美度90%)
Project64—兼容性比较好的N4模拟器(完美度75%)
Dolphin— NC、ii家用机模拟器(完美度85%)
Gens—MD家用机模拟器(完美度90%)
Kega Fusion—世嘉多用模拟器(完美度95%)(可模拟MD、SCD、GG、SMS等)
GIRIGIRI—世嘉土星家用机模拟器(完美度60%)
SSF—世嘉土星家用机模拟器(完美度85%)
Yabause—世嘉土星家用机模拟器(完美度85%)
nullDC—最有名的DC家用机模拟器(完美度90%)
Chankast—DC家用机模拟器(完美度85%)
Bleem!—PS家用机模拟器(完美度60%)
VGS—PS家用机模拟器(完美度85%)
ePSXe—PS家用机模拟器(完美度90%)
SSSPSX—PS家用机模拟器(完美度85%)
PCSX—PS家用机模拟器(完美度90%)
PCSX2—PS2家用机模拟器(完美度90%)
Cxbx—Xbox家用机模拟器(完美度5%)
VisualBoyAdvance—GB、GBA掌机模拟器,有可联机版本(完美度95%)
No$gba—GBA掌机模拟器(完美度95%)(可以用来模拟NDS、GBA游戏)
iDeaS—NDS掌机模拟器(完美度60%)
No$gba—NDS掌机模拟器(完美度85%)
No$Zoomer—NDS掌机模拟器(完美度90%)
DeSmuME—NDS掌机模拟器(完美度95%)
JPCSP—PSP掌机模拟器(完美度70%)
PPSSPP—PSP掌机模拟器(完美度90%)
CITRA—3DS掌机模拟器(完美度60%)
RPCS3—PS3家用机模拟器(完美度10%)
CEMU—WIIU家用机模拟器(完美度30%)
手机顽童—电脑用手机模拟器(完美度60%)
KEmulator—电脑用手机模拟器(完美度85%)
BlueStacks—ARM-Androi模拟器(完美度45%)
DosBox—16位DOS模拟器(完美度80%)
exagear—安卓用windows模拟器(完美度20%)
Winulator—安卓用windows模拟器(完美度10%)
VMware Workstation—x86和x64 PC模拟器(完美度95%)
Microsoft Virtual PC / Windows PC / Virtual Server—x86和x64 PC模拟器(完美度65%)出品团队为原PS模拟器VGS的公司Connectix,后被微软收购
SunVirtualBox—x86和x64 PC模拟器(完美度75%)
SWsoft x86 simulator(又名QEmu)—x86架构硬件模拟器(完美度50%)
其他同类型略。
游戏机
当机器A的硬件和速度超过机器B时,在理论上可以用机器A的指令模拟机器B的指令,那么在应用上,可以将性能较低的机器B中的软件重新利用。“仿真器(emulator)”特指这类软件。一些CPU中也集成有模拟其他架构的CPU的微指令集。这也算是一种仿真器。
由于国内许多人了解到的计算机模拟器(simulator)中大部分都是仿真器(emulator),因此误将“模拟器”一词等同于“仿真器”。下文的游戏模拟器内容中,“模拟器”均特指“仿真器”。
1994年,Mike O'Brien开发了Apple II模拟器AppleWin。它配置有64KB的内存,无需磁盘就可以启动(内置BASIC),附带显示内存。该模拟器的开源代码一直延续维护到2008年。
1997年,Connectix发布了苹果公司Macintosh(麦金塔)系统上的 Virtual PC,可以用它模拟IBM PC兼容机硬件。2001年,Connectix将它移植到WINDOWS系统上,一般人看来就是“在PC上模拟PC”的软件。后来Connectix把Virtual PC转卖给MicroSoft公司,由后者发布了商业化的Virtual PC 2004。2008年,该软件发布了Virtual PC 2007版本。
Virtual PC配置较容易上手,但当Mircrosoft接手以后,它就倾向于WINDOWS操作系统,安装WINDOWS操作系统比较容易。与Virtual PC相对应竞争的软件是EMC公司出品的VMWARE,它从1999年开始开发。相对来说,VMWARE配置起来麻烦一些。
早在大型计算机时代,由于软件开发费用极为高昂,人们为了达到软件兼容的目的,开发了世界上第一台模拟器,作为新开发的硬件系统的一部分。
在二十世纪九十年代初,国外的爱好者就开始试验制作游戏模拟器。据说在1994年前后已经有Mega Drive模拟器出现。
1995年,Marat Fayzullin制作了掌机模拟器Visual Game Boy,而且提供了源代码。
1996年,Nicola Salmora开始了多种街机模拟器MAME(Multiple Arcade Machine Emulator)的研究。根据MAME网站上的记录,MAME 0.1正式版于1997.2.5作出。
以上两者,在游戏模拟器的历史中,有里程碑的意义。尤其是后者,发展成开放的团队维护源代码,有不同的开放源代码版本。在后来的十年中,MAME将多种不同的街机模拟器合并在一起。相比起其它的模拟器,可以说是能模拟最多硬件和游戏的模拟器软件。
1996年到1997年,超级任天堂(SFC/SNES)模拟器SNES9X及ZSNES相继推出。这两个团队开发的模拟器较受好评,不过后来打起来官司。
1997年,Bloodlust Software开发的以模拟Capcom的CPS1游戏为主的Callus,以模拟Street Fight II(街霸2)、三国志等名作引起了轰动。另外,Bloodlust Software还开发了任天堂C/NS模拟器NestIcle、世嘉Mega Drive模拟器Genecyst。以当时的技术水平来说,这些模拟器都相当出色。但Bloodlust Software没有继续开发模拟器,也没有公开其源代码。其中Nesticle等家用机模拟器后来被SMYNES等模拟器取代了,但Callus到2008年初还可以看到它在一些盗版碟上出现,足见其影响力。
1998年,Anders Nilsson and和Korpela发布了最早实现Neo-Geo系列街机游戏主板模拟的NEORAGE/NEORAGE,以对KOF(拳皇)系列和侍魂系列的支持声名大噪。。
1999年,David Herpolsheimer和Randy Linden发布了第一个Sony Play Station的模拟器Bleem!,在当时引起轰动。一是之前的模拟器几乎都是免费的,而商业化对其它的开发者理念有一定冲击,二则是Play Staytatoin的硬件水平比较接近当时的PC硬件水平,许多人认为PC要经过几年硬件升级才能支持Play Staytatoin模拟器。由于作者后来受到Sony的诉讼,Bleem!逐渐湮没在历史的长河中。
2001年,Jabo和Zilmar发布了Nintendo 64模拟器Project 64,比1999年Episilon和RealityMan发布的第一个Nintendo 64模拟器UltraHLENintendo 64更为成熟和完善。
2005年,Forgotten发布了掌机GBA模拟器VisualBoyAdvance的最后一个测试版本。
常见模拟器
街机模拟器:MAME、WinKawaks、Callus、Rage、Raine、Zinc、neoragex、nebula、kawaks、Calice、Finalburn
在线街机模拟器:招招爱玩在线街机模拟器
FC模拟器:Nestopia、NNNesterJ、VirtuaNES、DreamNES、Smynes、FCEU
SFC模拟器:ZSNES、Snes9X、SNEeSe、uosnesw
N64模拟器:Project64、1964、UltraHLE、Mupen64、Rice
PCE模拟器:MagicEngine、YAME
SMS/GG模拟器:Dega
MD/32X/CD模拟器:Gens、Gens32、MEKA、Kega Fusion、Ages、Gens LDU
SS模拟器:SSF、Yabause、GiriGiri
DC模拟器:ChanKast、NullDC
PS/PS2模拟器:Bleem!、VGS、ePSXe、PSXeven、PCSX、PCSX2
NGC/WII模拟器:Dolphin
GB/GBC/SGB模拟器:VisualBoyKiGB
GBA模拟器:VisualBoyAdvance、No$GBA、DreamGBA
GG模拟器:MEKA,Mekarnosan
WS/WSC模拟器:Cygne、WSCamp、Oswan
NGP模拟器:NeoPop、Koyote、NGPocket
PSP模拟器:Jpcsp、pcsp、PPSSPP
DOS模拟器:DOSBOX
驾驶
驾驶模拟器
驾驶模拟器是模拟驾驶体验的机械装置,用于在室内训练驾驶员。驾驶员不会因模拟驾驶中的事故而受伤。
飞行模拟器
飞行模拟器常用于训练飞行员在极端险恶的条件下驾驶飞行器。例如不用引擎迫降、电气设备或者液压装置全部失灵等。最先进的飞行模拟器拥有高度真实的视觉系统和液压运动系统。飞行模拟器的运行费用往往低于真实教练机的实际操作费用。
航海模拟器
类似于飞行模拟器,航海模拟器用于训练船员。最常见的航海模拟器有舰桥模拟器、引擎室模拟器、装卸模拟器和通讯/GMDSS模拟器等。航海模拟器主要应用于海事学院、训练机构和海军。
计算器模拟器
计算器在出厂时,需要为其编写用户说明书。其中的截图,都是有计算器模拟器获得而来。在计算机上,计算器模拟器作为一个应用程序,运行快,优点多,也算是一种实用的工具。