模擬器介紹
計算機科學中的模擬器
概述
計算機模擬(簡稱sim)是利用計算機進行模擬的方法。利用計算機軟件開發(fā)出的模擬器,可以進行故障樹分析、測試VLSI邏輯設(shè)計等復雜的模擬任務(wù)。在優(yōu)化領(lǐng)域,物理過程的模擬經(jīng)常與演化計算一同用于優(yōu)化控制策略。
計算機模擬器
計算機模擬器(computer simulator)指的是“用計算機模擬計算機的模擬器”。計算機模擬器已被用于在實際發(fā)行前調(diào)試微程序或者商業(yè)應(yīng)用程序。由于該計算機上的操作都是模擬的,所有信息都可被程序員獲取,而模擬的速度、執(zhí)行等都可以控制。請參閱“虛擬機”詞條。
網(wǎng)絡(luò)游戲服務(wù)端模擬器
這種模擬器是通過研究游戲客戶端和服務(wù)端的封包內(nèi)容,開發(fā)出來的一種能夠模擬網(wǎng)絡(luò)游戲服務(wù)端的模擬器。使用這種模擬器,可以在非專業(yè)服務(wù)器上模擬網(wǎng)絡(luò)游戲服務(wù)端以為網(wǎng)絡(luò)游戲客戶端提供連接和游戲服務(wù)。
[編輯本段]計算機架構(gòu)模擬器/仿真器
概述
計算機模擬器中有一種特殊類型:計算機架構(gòu)模擬器,用以在一臺計算機上模擬另一臺指令不兼容或者體系不同的計算機。阿蘭·圖靈曾提出:(不同體系的)機器A或機器B不考慮硬件和速度的限制,在理論上可以用指令實現(xiàn)互相模仿(即圖靈機)。然而在現(xiàn)實中,速度和硬件是必須考慮的。不過,當機器A的硬件和速度超過機器B時,在理論上可以用機器A的指令模擬機器B的指令,那么在應(yīng)用上,可以將性能較低的機器B中的軟件重新利用。“仿真器(emulator)”特指這類軟件。
目前,一些CPU中也集成有模擬其他架構(gòu)的CPU的微指令集。這也算是一種仿真器。
誤解
由于國內(nèi)許多人了解到的計算機模擬器(simulator)中大部分都是仿真器(emulator),因此誤將“模擬器”一詞等同于“仿真器”。下文的游戲模擬器內(nèi)容中,“模擬器”均特指“仿真器”。
重要的計算機模擬器
1994年,Mike O'Brien開發(fā)了Apple II模擬器AppleWin。它配置有64KB的內(nèi)存,無需磁盤就可以啟動(內(nèi)置BASIC),附帶顯示內(nèi)存。該模擬器的開源代碼一直延續(xù)維護到2008年。
1997年,Connectix發(fā)布了蘋果公司Macintosh(麥金塔)系統(tǒng)上的 Virtual PC,可以用它模擬IBM PC兼容機硬件。2001年,Connectix將它移植到WINDOWS系統(tǒng)上,一般人看來就是“在PC上模擬PC”的軟件。后來Connectix把Virtual PC轉(zhuǎn)賣給MicroSoft公司,由后者發(fā)布了商業(yè)化的Virtual PC 2004。2008年,該軟件發(fā)布了Virtual PC 2007版本。
Virtual PC配置較容易上手,但當Mircrosoft接手以后,它就傾向于WINDOWS操作系統(tǒng),安裝WINDOWS操作系統(tǒng)比較容易。與Virtual PC相對應(yīng)競爭的軟件是EMC公司出品的VMWARE,它從1999年開始開發(fā)。相對來說,VMWARE配置起來麻煩一些。
游戲機模擬器的歷史
早在大型計算機時代,由于軟件開發(fā)費用極為高昂,人們?yōu)榱诉_到軟件兼容的目的,開發(fā)了世界上*臺模擬器,作為新開發(fā)的硬件系統(tǒng)的一部分。
在二十世紀九十年代初,國外的愛好者就開始試驗制作游戲模擬器。據(jù)說在1994年前后已經(jīng)有Mega Drive模擬器出現(xiàn)。
1995年,Marat Fayzullin制作了掌機模擬器Visual Game Boy,而且提供了源代碼。
1996年,Nicola Salmora開始了多種街機模擬器MAME(Multiple Arcade Machine Emulator)的研究。根據(jù)MAME上的記錄,MAME 0.1正式版于1997.2.5作出。
以上兩者,在游戲模擬器的歷史中,有里程碑的意義。尤其是后者,發(fā)展成開放的團隊維護源代碼,有不同的開放源代碼版本。在后來的十年中,MAME將多種不同的街機模擬器合并在一起。相比起其它的模擬器,可以說是能模擬zui多硬件和游戲的模擬器軟件。
1996年到1997年,超級任天堂(SFC/SNES)模擬器SNES9X及ZSNES相繼推出。這兩個團隊開發(fā)的模擬器較受好評,不過后來打起來官司。
1997年,Bloodlust Software開發(fā)的以模擬Capcom的CPS1游戲為主的Callus,以模擬Street Fight II(街霸2)、三國志等名作引起了轟動。另外,Bloodlust Software還開發(fā)了任天堂FC/NES模擬器NestIcle、 世嘉Mega Drive模擬器Genecyst 。以當時的技術(shù)水平來說,這些模擬器都相當出色。但Bloodlust Software沒有繼續(xù)開發(fā)模擬器,也沒有公開其源代碼。其中Nesticle等家用機模擬器后來被SMYNES等模擬器取代了,但Callus到2008年初還可以看到它在一些盜版碟上出現(xiàn),足見其影響力。
1998年,Anders Nilsson and和Korpela發(fā)布了zui早實現(xiàn)Neo-Geo系列街機游戲主板模擬的NEORAGE/NEORAGE,以對KOF(拳皇)系列和侍魂系列的支持聲名大噪。。
1999年,David Herpolsheimer和Randy Linden發(fā)布了*個Sony Play Station的模擬器Bleem!,在當時引起轟動。一是之前的模擬器幾乎都是免費的,而商業(yè)化對其它的理念有一定沖擊,二則是Play Staytatoin的硬件水平比較接近當時的PC硬件水平,許多人認為PC要經(jīng)過幾年硬件升級才能支持Play Staytatoin模擬器。由于作者后來受到Sony的訴訟,Bleem!逐漸湮沒在歷史的長河中。
2001年,Jabo和Zilmar發(fā)布了Nintendo 64模擬器Project 64,比1999年Episilon和RealityMan發(fā)布的*個Nintendo 64模擬器UltraHLENintendo 64更為成熟和完善。
2005年,F(xiàn)orgotten發(fā)布了掌機GBA模擬器VisualBoyAdvance的zui后一個測試版本。
比較常見的游戲機模擬器
街機模擬器: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
XBOX模擬器:Xeon、CXBX
GB/GBC/SGB模擬器:VisualBoyKiGB
GBA模擬器:VisualBoyAdvance、No$GBA、DreamGBA
GG模擬器:MEKA,Mekarnosan
WS/WSC模擬器:Cygne、WSCamp、Oswan
NGP模擬器:NeoPop、Koyote、NGPocket
NDS模擬器:NO$GBA、DeSmuME、Ideas
PSP模擬器:VirtualPSP
DOS模擬器:DOSBOX
駕駛模擬器
駕駛模擬器是模擬駕駛體驗的機械裝置,用于在室內(nèi)訓練駕駛員。駕駛員不會因模擬駕駛中的事故而受傷。
飛行模擬器
飛行模擬器常用于訓練飛行員在險惡的條件下駕駛飛行器。例如不用引擎迫降、電氣設(shè)備或者液壓裝置全部失靈等。的飛行模擬器擁有高度真實的視覺系統(tǒng)和液壓運動系統(tǒng)。飛行模擬器的運行費用往往低于真實教練機的實際操作費用。
航海模擬器
類似于飛行模擬器,航海模擬器用于訓練船員。zui常見的航海模擬器有艦橋模擬器、引擎室模擬器、裝卸模擬器和通訊/GMDSS模擬器等。航海模擬器主要應(yīng)用于海事學院、訓練機構(gòu)和*。