1.VScode配置MASM32运行环境(断点/运行/debug/配合emu8086(非DOSBox))
2.什么是源码模拟器?
3.D-Fend Reloaded下载安装
VScode配置MASM32运行环境(断点/运行/debug/配合emu8086(非DOSBox))
一、之所以不用DOSBox
不利于集成到VScode,源码执行代码需要新开窗口,源码配置繁琐。源码ps:而且加断点和调试复杂。源码
感谢 masm-code插件的源码dz论坛源码作者,终于可以补全啦qaq
添加关于调试的源码一些建议
二、步骤
0.网络状况不好可以用度盘资源:
// update
dos-player
masm
1.安装VScode
2.安装masm-code,源码 code runner插件
3.从 masm sdk ver下载所需的源码masm,如果下载不了可以自行换 镜像,源码或者百度下载。源码
3.1.解压,源码然后换路径,源码一路yes就可以了。源码
3.2.记下安装位置,源码比如我的在g盘根目录。
4.百度或谷歌搜索 ms-dos player,下载这个软件,或者从链接的GitHub上面下载源码,编译安装。
4.1.解压里面的msdos到X:\Program Files (x),X为想安装到的盘符。
4.2.记下安装位置。
5.添加环境变量:对于win,win+R输入SystemPropertiesAdvanced>环境变量>系统变量>找到Path变量>打开>添加如下两个变量(根据安装masm和msdos的位置不同前面的路径要调整):
*note:如果不是位系统就在binary文件夹下选择相应的文件夹
*note:可以测试,如果加入Path成功,在PowerShell里面输入msdos , ml /? 以及link /?会有出现相应的信息。如果没有可以尝试重启。
6.打开VScode, ctrl+shift+P打开搜索json,选择:
7.在末尾添加设置:
*经评论中@影生 提出,将选项/AT去除然后将输出文件的扩展名改为.EXE,这样可以用伪指令格式书写程序。双雷源码
三、helloworld测试
这里的.code 写法相当于 :
详细如下:
输出:
一键运行。
// update
利用emu完成复杂的调试:
**先安装open插件
**在emu设置中设置(工具栏)默认打开(右下角)
emu for win
在vsc里面编辑好文件后利用ctrl+alt+O用emu打开,然后进行各种调试
note:如果要链接额外的文件可以参考官方文档:
ML and ML Command-Line Referencenote:
MSVC Linker options:
*note:链接器的选项要写在/link选项
三、关于调试
最近又找到了一个调试汇编的方案,如果成功的话可以用vscode的native debug来调试:
路线1:编译安装djgpp版本的gdb -- 安装到dos里面 --利用里面的gdbserver连接虚拟机的COM端口 -- vsocde里面用native debug 连接,调试
路线2(最接近完成):利用上面dosbox-x 的patch --编译dosbox-x --连接gdbserver -- vscode 用native debug连接
路线3:利用wsl或者msys2安装或者编译qemu -- 利用gdbserver连接COM口 -- 连接vscode
但是现在的难点是找不到相应dosbox-x的版本,如果有找到的大佬麻烦留言呀!
后续应该会怎加一些汇编的例子和专门讲比较c和汇编的文章。()
什么是模拟器?
仿真器,或模拟器(英文;emulator、simulator),根据此原理制作的软件又可称为模拟程序,是指主要透过软件模拟硬件处理器的功能和指令系统的程序使计算机或者其他多媒体平台(掌上电脑,手机)能够运行其他平台上的软件。在自动化技术、化学工程中同样使用模拟器这一术语。模拟器多用于电视游戏和街机,也有一些用于掌上电脑。模拟器一般需要ROM才能执行,ROM的最初来源是一些原平台的ROM芯片,通过一些手段将原程序拷贝下来(这个过程一般称之为“dump”)然后利用模拟器加载这些ROM来实现模拟过程。
历史
模拟器的历史很长几乎伴随着计算机发展史,很多模拟器的出现,实际上是为了保存很多年前原始的游戏(程序),不过是在不同的设备上运行。在很多欧美国家,拥有和使用模拟器玩游戏是违法行为。在美国,若收集者没有该游戏的捕鱼人源码原始电子板、卡带或光碟等的游戏原始载体,都视为违法行为,收集ROM也同样不允许。在中国发布与收集都没有限制,制作模拟器或破解ROM都是网络高手热衷的工作。随着模拟器的发展,游戏ROM也在以极快的速度汉化,中国的网站成为模拟器与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模拟器等。航海模拟器主要应用于海事学院、训练机构和海军。
计算器模拟器
计算器在出厂时,需要为其编写用户说明书。其中的截图,都是有计算器模拟器获得而来。在计算机上,计算器模拟器作为一个应用程序,运行快,优点多,也算式一种实用的工具。
D-Fend Reloaded下载安装
对于D-Fend Reloaded的获取,官方提供了一个多样化的下载选择。首先,推荐的下载方式是官方的自动安装程序,它包含了集成的DOSBox功能,这通常能简化安装过程。这个程序可以直接下载并安装,无需额外的步骤。如果你倾向于自行配置,官方也提供了zip包供你选择,这个版本是解压即用的,仅包含D-Fend Reloaded核心,不包含DOSBox和FreeDOS工具,适合有一定技术基础的用户。
如果你对版权问题有顾虑,还有一些打包好的无版权DOS游戏可供下载,这些游戏可以直接享受,无需担心使用限制。值得一提的是,这个软件的开发工作是由Alexander Herzog负责的,它遵循的是GPLv3的授权协议,这意味着它的源代码是开放的,用户可以自由地查看和修改。
至于操作平台,D-Fend Reloaded主要针对的是Windows用户,确保了在Windows系统上的兼容性。所以,无论你是寻求方便的自动安装还是喜欢动手配置,或者想要体验那些无版权的DOS游戏,都可以在Windows环境下找到适合你的D-Fend Reloaded版本。