1.什么是源码模拟器?
2.Gradle jvm插件系列4 scala插件权威详解
什么是模拟器?
仿真器,或模拟器(英文;emulator、分析simulator),源码根据此原理制作的分析软件又可称为模拟程序,是源码指主要透过软件模拟硬件处理器的功能和指令系统的程序使计算机或者其他多媒体平台(掌上电脑,手机)能够运行其他平台上的分析macd公示源码软件。在自动化技术、源码化学工程中同样使用模拟器这一术语。分析模拟器多用于电视游戏和街机,源码也有一些用于掌上电脑。分析模拟器一般需要ROM才能执行,源码ROM的分析最初来源是一些原平台的ROM芯片,通过一些手段将原程序拷贝下来(这个过程一般称之为“dump”)然后利用模拟器加载这些ROM来实现模拟过程。源码
历史
模拟器的分析历史很长几乎伴随着计算机发展史,很多模拟器的源码出现,实际上是为了保存很多年前原始的游戏(程序),不过是在不同的设备上运行。在很多欧美国家,拥有和使用模拟器玩游戏是违法行为。在美国,若收集者没有该游戏的原始电子板、卡带或光碟等的游戏原始载体,都视为违法行为,收集ROM也同样不允许。在中国发布与收集都没有限制,制作模拟器或破解ROM都是网络高手热衷的工作。随着模拟器的发展,游戏ROM也在以极快的速度汉化,中国的商城源码webapp网站成为模拟器与ROM的储存基地。
工作原理
模拟器包含很多组件:一个模拟很多原始机器的CPU模拟器;一个把很多街机输入设备,例如按钮、摇杆和其他控制的输入映射到PC上的键盘、摇杆和其他设备的模拟器,以及一个街机显示和声音的模拟器。模拟器唯一缺少的是ROM映像,也就是原始的街机游戏中的程序。制作专门的模拟机器往往是价格高昂与困难的,因此使用计算机来模拟是最廉价及方便的方法。
模拟器种类
街机模拟器 家用机模拟器 手掌机模拟器 电脑模拟器
编辑本段常见的模拟器软件
以下列举出PC常用的家用机/掌机模拟器,完美度是指在游戏模拟速度,画面质量,游戏兼容性,操作复杂度以及持有功能上的一个横向对比,数值仅供参考?
ARC
MAME—最有名的街机模拟器(完美度%) Finalburn Alpha—街机模拟器(完美度%) Callus—CPS街机模拟器(完美度%) Kawaks—街机模拟器(完美度%) Nebula—街机模拟器(完美度%) NeoRAGEx—街机模拟器(完美度%)
DC
nullDC—最有名的DC家用机模拟器(完美度%) Chankast—DC家用机模拟器(完美度%)
PS
Bleem!—PS家用机模拟器(完美度%) VGS—PS家用机模拟器(完美度%) ePSXe—PS家用机模拟器(完美度%) SSSPSX—PS家用机模拟器(完美度%)
SS
GIRIGIRI—世嘉土星家用机模拟器(完美度%) SSF—世嘉土星家用机模拟器(完美度%) YASTUBE—世嘉土星家用机模拟器(完美度%)
PS2
PCSX2—PS2家用机模拟器(完美度%)
GBA
VisualBoyAdvance—GB、GBA手掌机模拟器,实现联机功能(完美度%) NO$GBA—GBA手掌机模拟器(完美度%)(可以用来模拟NDS、GBA游戏)
FC
VirtuaNES—FC家用机模拟器(完美度%) FCEUX—FC家用机模拟器(完美度%) Nestopia—FC家用机模拟器(完美度%)
SFC
ZSNES—SFC家用机模拟器(完美度%)
MD
Gens—MD家用机模拟器(完美度%) Kusion—世嘉多用模拟器(完美度%)(可模拟MD、SCD、GG、SMS等)
NDS
No$gba—DS手掌机模拟器(完美度%) iDeaS—DS手掌机模拟器(完美度%) DeSmuME—DS手掌机模拟器(完美度%)
NGC/WII
Dolphin— NGC、Wii家用机模拟器(完美度%)
XBOX
Cxbx—Xbox家用机模拟器(完美度5%)
PSP
JPCSP—PSP手掌机模拟器(完美度%)
MOBILE
手机顽童—电脑用手机模拟器(完美度%) KEmulator—电脑用手机模拟器(完美度%)
编辑本段计算机科学中的模拟器
计算机模拟器
计算机模拟器(computer simulator)指的是“用计算机模拟计算机的模拟器”。计算机模拟器已被用于在实际发行前调试微程序或者商业应用程序。由于该计算机上的操作都是模拟的,所有信息都可被程序员获取,而模拟的速度、执行等都可以控制。请参阅“虚拟机”词条。在线藏头诗源码
网络游戏服务端模拟器
这种模拟器是通过研究游戏客户端和服务端的封包内容,开发出来的一种能够模拟网络游戏服务端的模拟器。使用这种模拟器,可以在非专业服务器上模拟网络游戏服务端以为网络游戏客户端提供连接和游戏服务。
编辑本段计算机架构模拟器/仿真器
概述
不过,当机器A的硬件和速度超过机器B时,在理论上可以用机器A的指令模拟机器B的指令,那么在应用上,可以将性能较低的机器B中的软件重新利用。“仿真器(emulator)”特指这类软件。目前,一些CPU中也集成有模拟其他架构的CPU的微指令集。这也算是一种仿真器。
误解
由于国内许多人了解到的计算机模拟器(simulator)中大部分都是仿真器(emulator),因此误将“模拟器”一词等同于“仿真器”。下文的游戏模拟器内容中,“模拟器”均特指“仿真器”。
重要的计算机模拟器
年,Mike O'Brien开发了Apple II模拟器AppleWin。它配置有KB的内存,无需磁盘就可以启动(内置BASIC),附带显示内存。该模拟器的开源代码一直延续维护到年。 年,Connectix发布了苹果公司Macintosh(麦金塔)系统上的 Virtual PC,可以用它模拟IBM PC兼容机硬件。年,Connectix将它移植到WINDOWS系统上,授权验证源码一般人看来就是“在PC上模拟PC”的软件。后来Connectix把Virtual PC转卖给MicroSoft公司,由后者发布了商业化的Virtual PC 。年,该软件发布了Virtual PC 版本。 Virtual PC配置较容易上手,但当Mircrosoft接手以后,它就倾向于WINDOWS操作系统,安装WINDOWS操作系统比较容易。与Virtual PC相对应竞争的软件是EMC公司出品的VMWARE,它从年开始开发。相对来说,VMWARE配置起来麻烦一些。
游戏机模拟器的历史
早在大型计算机时代,由于软件开发费用极为高昂,人们为了达到软件兼容的目的,开发了世界上第一台模拟器,作为新开发的硬件系统的一部分。 在二十世纪九十年代初,国外的爱好者就开始试验制作游戏模拟器。据说在年前后已经有Mega Drive模拟器出现。 年,Marat Fayzullin制作了掌机模拟器Visual Game Boy,而且提供了源代码。 年,Nicola Salmora开始了多种街机模拟器MAME(Multiple Arcade Machine Emulator)的研究。根据MAME网站上的记录,MAME 0.1正式版于.2.5作出。仿亚马逊源码 以上两者,在游戏模拟器的历史中,有里程碑的意义。尤其是后者,发展成开放的团队维护源代码,有不同的开放源代码版本。在后来的十年中,MAME将多种不同的街机模拟器合并在一起。相比起其它的模拟器,可以说是能模拟最多硬件和游戏的模拟器软件。 年到年,超级任天堂(SFC/SNES)模拟器SNES9X及ZSNES相继推出。这两个团队开发的模拟器较受好评,不过后来打起来官司。 年,Bloodlust Software开发的以模拟Capcom的CPS1游戏为主的Callus,以模拟Street Fight II(街霸2)、三国志等名作引起了轰动。另外,Bloodlust Software还开发了任天堂FC/NES模拟器NestIcle、 世嘉Mega Drive模拟器Genecyst 。以当时的技术水平来说,这些模拟器都相当出色。但Bloodlust Software没有继续开发模拟器,也没有公开其源代码。其中Nesticle等家用机模拟器后来被SMYNES等模拟器取代了,但Callus到年初还可以看到它在一些盗版碟上出现,足见其影响力。 年,Anders Nilsson and和Korpela发布了最早实现Neo-Geo系列街机游戏主板模拟的NEORAGE/NEORAGE,以对KOF(拳皇)系列和侍魂系列的支持声名大噪。。 年,David Herpolsheimer和Randy Linden发布了第一个Sony Play Station的模拟器Bleem!,在当时引起轰动。一是之前的模拟器几乎都是免费的,而商业化对其它的开发者理念有一定冲击,二则是Play Staytatoin的硬件水平比较接近当时的PC硬件水平,许多人认为PC要经过几年硬件升级才能支持Play Staytatoin模拟器。由于作者后来受到Sony的诉讼,Bleem!逐渐湮没在历史的长河中。 年,Jabo和Zilmar发布了Nintendo 模拟器Project ,比年Episilon和RealityMan发布的第一个Nintendo 模拟器UltraHLENintendo 更为成熟和完善。 年,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 N模拟器:Project、、UltraHLE、Mupen、Rice PCE模拟器:MagicEngine、YAME SMS/GG模拟器:Dega MD/X/CD模拟器:Gens、Gens、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 NDS模拟器:NO$GBA、DeSmuME、Ideas PSP模拟器:Jpcsp、pcsp DOS模拟器:DOSBOX
编辑本段驾驶模拟器
驾驶模拟器是模拟驾驶体验的机械装置,用于在室内训练驾驶员。驾驶员不会因模拟驾驶中的事故而受伤。
飞行模拟器
飞行模拟器常用于训练飞行员在极端险恶的条件下驾驶飞行器。例如不用引擎迫降、电气设备或者液压装置全部失灵等。最先进的飞行模拟器拥有高度真实的视觉系统和液压运动系统。飞行模拟器的运行费用往往低于真实教练机的实际操作费用。
航海模拟器
类似于飞行模拟器,航海模拟器用于训练船员。最常见的航海模拟器有舰桥模拟器、引擎室模拟器、装卸模拟器和通讯/GMDSS模拟器等。航海模拟器主要应用于海事学院、训练机构和海军。
计算器模拟器
计算器在出厂时,需要为其编写用户说明书。其中的截图,都是有计算器模拟器获得而来。在计算机上,计算器模拟器作为一个应用程序,运行快,优点多,也算式一种实用的工具。
Gradle jvm插件系列4 scala插件权威详解
Scala插件是Gradle JVM插件的重要扩展,它专为Scala项目设计,支持混合编译Java和Scala代码。通过双向依赖关系,你可以自由选择使用哪种语言编写,根据需要转换代码。此外,它还允许你利用API/实现分离,利用java-library插件为Scala项目提供额外功能。
使用Scala插件非常简单,只需在构建脚本中包含相关配置。例如,你可以在示例1中找到如何引入和配置插件的基本步骤。它为项目添加了ScalaCompile和ScalaDoc任务,并对Java编译任务的依赖进行了调整。
项目布局方面,Scala插件假设存在可包含Scala和Java源代码的目录,但并不强制。自定义布局支持,如示例2所示。依赖管理上,生产代码需要声明scala-library或scala3-library_3,测试代码则分别添加到相应的配置。
配置Zinc编译器是关键步骤,Scala插件会自动推断或根据需要配置scalaClasspath,以确保编译器和工具的正确版本。对于不同版本的Gradle和Scala,兼容性表如表2提供了参考。
除了基本配置,Scala插件还允许添加编译器插件,扩展源集属性,并处理目标字节码级别和Java API版本,确保编译时的兼容性和效率。例如,表3列出了源集属性的更改,表4则解释了Scala编译器参数的计算规则。
在外部进程中编译和增量编译也是重要特性,它们能大幅减少编译时间。默认情况下,Scala插件启用增量编译,但可通过设置force属性强制重新编译所有代码。关于联合编译和依赖分析的细节,你可以在相关部分找到。
最后,Eclipse和IntelliJ IDEA集成则提供了与各自IDE的无缝集成,如添加Scala nature和Scala SDK,以支持Scala项目在这些开发环境中的顺畅工作。
2024-12-22 16:23
2024-12-22 16:20
2024-12-22 16:16
2024-12-22 16:01
2024-12-22 15:54
2024-12-22 14:17