DOSBox
此条目可参照英语维基百科相应条目来扩充。 (2020年8月15日) |
原作者 | Peter Veenstra, Sjoerd van der Berg, wd, h-a-l-9000 |
---|---|
开发者 | DOSBox团队 |
首次发布 | 2002年7月22日[1][2] |
当前版本 |
|
源代码库 | |
编程语言 | C, C++ |
操作系统 | AROS, AmigaOS 4, Amiga, Android, BeOS, FreeBSD, GNU/Linux, Mac OS X, MorphOS, OS/2, RISC OS, Solaris 10, Windows |
语言 | 英文(但支援替用键盘) |
类型 | 模拟器 |
许可协议 | GNU通用公共许可证 |
网站 | www |
DOSBox是一款自由开源的模拟器,用于运行适用于MS-DOS兼容操作系统的软件(主要是电子游戏)。它的最初版本于2002年发布。
DOSBox支援许多IBM PC兼容的显卡和声卡,为原生的DOS程序提供执行环境,使这些程序可以正常运行于大多数现代计算机上的不同操作系统。DOSBox主要以C++编写,是以GNU通用公共许可证许可发布的自由软件。
DOSBox所运行的MS-DOS软件通常不能在现代计算机上直接运行,它们通常与现代的主流硬件和操作系统不兼容。DOSBox在模拟MS-DOS同时,还增加了一些可用特性,包括虚拟磁盘、点对点网络、对模拟画面截图和录像。有些非官方的DOSBox变体,如DOSBox SVN Daum和DOSBox-X提供了更多的功能,比如即时存档、长文件名、中日韩语言支持等[4]。有些游戏开发商重新发行早期的DOS游戏时,也会使用DOSBox,使其可以在现代计算机上运行。
开发背景
在Windows NT 3.1之前,面向消费者的Windows版本基于MS-DOS运行。Windows 3.x直接运行在MS-DOS之上,而Windows 9x系列系统也基于MS-DOS[5]。在这些版本的Windows中,DOS应用程序可以直接运行。然而,Windows NT系列操作系统并非基于DOS。该系列的其中一个成员Windows XP于2001年10月25日首次亮相,成为了首个面向消费者的不使用DOS的Windows版本。尽管Windows XP可以通过命令提示符程序模拟DOS,但它无法运行许多DOS应用程序。这是因为这些程序只能在实模式下运行并直接访问计算机的硬件,但Windows XP的保护模式出于安全考虑阻止了这样的直接访问[6][7]。MS-DOS的支持已于2001年底结束[8],并且对最后一个基于DOS的Windows系统的支持也将于2006年7月11日结束[9]。
DOSBox的开发始于Windows 2000的发布。Windows 2000是一个Windows NT系列的操作系统[10],当时DOSBox的两位创始人[11]彼得·文斯特拉(荷兰语:Peter Veenstra)和舍尔德·范德伯格(荷兰语:Sjoerd van der Berg)发现Windows 2000已经放弃了对大部分DOS软件的支持。两人当时就已想到这一问题的解决方法。该项目最初上传到了SourceForge并于2002年7月22日首先发布beta测试。
特性
DOSBox是一个命令列程式,有两种设定方式,一是直接在命令列下输入设定参数,或是编辑组态文字档更改系统设定。为了使用方便,使用者社群也开发出一些图像化的前端介面[12]。
- DOSBox是一个完整的计算机的模拟,并不只是一个兼容层,如DOSEMU,也不依赖386处理器虚拟化能力的Windows与OS/2 VDM操作系统,不需要x86中央处理器或者任何DOS版本以运行,并且能运行实模式与保护模式的程序。
- 动态CPU内核:具备i386指令集合的系统,能利用动态指令转换。此模式比解译指令的模式要快,但是不完全准确。
- 图形模拟:除文本模式外,还支持Hercules,CGA,Tandy,EGA,VGA,VESA图形模式,与完整的S3 Trio 64显卡模拟。
- 音频模拟:支持对AdLib,Gravis Ultrasound,PC speaker,Tandy,Creative Music System/GameBlaster,Sound Blaster 1.x/2.0/Pro/16,MPU-401,与Disney Sound Source的模拟。
- 网络模拟:调制解调器模拟与IPX以TCP/IP和UDP/IP,允许使用现代网络,玩DOS网络游戏。Win32和Linux下支持直接读写串口。
- 外壳:包含一个内嵌DOS命令解释器。支持大多安装批处理文件使用的指令,但不支持许多晚期MS-DOS版本的高级指令。
问题
DOSBox跟大多的模拟器一样需要比原计算机系统更强大的处理能力,尤其是处理器的运算能力。用户需要根据模拟系统运行的程序需要决定给予必要的计算能力。使用DOS/4GW等开放源代码的保护模式扩展程序DOS32a(页面存档备份,存于互联网档案馆)有时能减小问题。但是,因为该模拟器使用虚拟化方式,保护模式下的DOS程序,包括大多1995年之后的游戏,可能不如在VMware或者Virtual PC运行上有效。
DOSBox与中文系统的配合存在一些问题,早期的0.58版本支持倚天、国乔等DOS中文系统,但之后的版本却出现花屏乱码的情况。不过DOSBox-X分支为了解决中文支持问题在简体和繁体中文代码页下内置中文功能,包括支持中文路径、中文显示、中文输入、中文打印等,可以直接运行中文DOS程序而不一定要加载外挂中文系统。
DOSBox似乎不支持在程式运行期间对软碟映像档进行替换,这在某些以多个软碟映像档形式存在的安装程序中会构成问题。
前端
DOSBox的配置保存为纯文本文档。不熟悉此配置法的用户可以利用图形界面的前端。前端也有别的好处,例如游戏收集排序功能。
参考文献
- ^ Project of the Month, May 2009. SourceForge. [2013-01-17]. (原始内容存档于2009-11-17).
- ^ Project of the Month, January 2013. SourceForge. [2013-01-17]. (原始内容存档于2013-02-22).
- ^ DOSBox 0.74-3 has been released!. 2019年6月26日.
- ^ "SVN Builds". DOSBox. Retrieved 2012-01-08
- ^ DOSBox. Wikipedia. 2021-10-06 (英语).
- ^ Hoffman, Chris. PCs Before Windows: What Using MS-DOS Was Actually Like. How-To Geek. [2021-10-13]. (原始内容存档于2022-03-26) (美国英语).
- ^ Regan, Patrick. MCTS 70-680 Exam Cram: Microsoft Windows 7, Configuring. Introduction to Windows 7 – The Road to Windows 7. Pearson Education. 2011-03-08. ISBN 978-0-13-260320-1 (英语).
- ^ Cowart, Robert; Knittel, Brian. Microsoft Windows 7 in Depth. Microsoft Windows 7 in Depth. Pearson Education. 2010. ISBN 978-0-7897-4199-8 (英语).
- ^ Finally, Windows 98/Me Move Towards Retirement. IT Pro. 2006-04-13 [2021-10-13]. (原始内容存档于2021-11-02) (英语).
- ^ Cowart, Robert; Knittel, Brian. Peter Norton's Intro to Computers 6/e. McGraw-Hill Education. December 30, 2004: 288. ISBN 0072978902.
- ^ Loguidice, Bill; Barton, Matt. Vintage Game Consoles: An Inside Look at Apple, Atari, Commodore, Nintendo, and the Greatest Gaming Platforms of All Time. Vintage Game Consoles: An Inside Look at Apple, Atari, Commodore, Nintendo, and the Greatest Gaming Platforms of All Time. CRC Press. 2014-02-24 [2021-10-13]. ISBN 978-1-135-00651-8. (原始内容存档于2020-01-13) (英语).
- ^ DOSBox Frontends. DOSBox. 2008-12-15 [2009-01-03]. (原始内容存档于2008-12-17).