在昨天的意外对话中,我知道了他欺骗了我,像被一...


一、DOS游戏的重玩在大家所碰到的经典老游戏中,DOS游戏无疑占有绝对多的比例。然而辛辛苦苦找出来的游戏,当在视窗下双击主运行程序时,却会出现各种莫名的情况。在Win98下还好一些,好歹能让你看到出错信息(当然一般情况下这个出错信息我们都弄不明白),至于Win/XP,往往是黑色屏幕一闪而过,一些情况下还会出现访问非法的提示,总之会让人不明所以。然而这种种不能正常运行的情况并不完全是因为新系统与老游戏不兼容的缘故,熟悉DOS的用户都知道,DOS是一个开放的系统,其软件操作并不像Windows下那样多数是“傻瓜式”,特别是DOS下的多媒体软件(例如游戏)要正常运行,往往需要对运行环境作特殊的设置,如果只是“双击”,当然不符DOS“风格”了。因此一款DOS游戏在新系统下不能重玩,实质是兼容与设置两方面的问题均可能有,这也提示了我们解决问题的一些思路。由于在不同系统下,DOS游戏运行的环境大不一样,因此在下文中,将主要讲述WinXP下的解决方案,之后回到Win和Win98环境下,探讨重玩的方法。这样行文还有一个原因:事实上从Win98到再到XP,操作系统对DOS的兼容性是不断提高的,这恰与我们想像的相反--这一点很快就能从下文中看出。(一)WinXP下DOS游戏重玩的方案WinXP在DOS支持上和Win有许多共性,因此本段涉及的许多内容都适用于Win,不过毕竟二者还是存在着一些区别,因此将在本段之后讲述Win所不同的地方。而Win98虽与WinXP相差过远,但一些原理性的东西亦是相通。首先需要简单了解一下WinXP下DOS命令运行的环境,大部分熟悉这个系统的用户都会认为,所谓有DOS环境当然是Cmd.exe的命令行运行窗口,实则不然,Cmd.exe提供的是对系统中所有类型程序的支持,包括32位和16位;而真正的16位DOS命令运行窗口需要由Comnd.exe提供,在WinXP中这个文件位于系统盘Windowssystem32目录下,图1是Cmd和Comnd运行窗口的比较。不过无论是在Cmd窗口下执行16位DOS命令,还是直接打开Comnd窗口,实际上都是由一个名为NTDM.exe的进程提供NT下的DOS虚拟机支持(NTirtualDOachine,简称NTDM)。因此可以说WinXP已完全摆脱了对16位DOS的依赖,此系统上所谓的DOS程序运行环境不过是一个完全虚拟的PC机!理解这一点很重要,因为这预示着这个虚拟的“PC机”与你真实的硬件毫不相关,所有的硬件环境都是虚拟出来的,因此能够实现更好的兼容性。虚拟机是怎样模仿真实DOS系统的启动过程呢?熟悉DOS的用户都会对Config.sys和Autoexec.bat这两个文件有难言的欣喜与痛苦--它们对系统的配置实在太为重要,在DOS启动时,首先会按Config.sys配置驱动,然后再执行Autoexec.bat中的命令。在NTDM中还能不能找到它们的身影?既然说是“真实虚拟”当然应当是有的:它们默认位于Windowssystem32下,只不过名字已稍作改动,分别为Config.nt和Autoexec.nt。你可以用记事本打开这两个文件进行编辑,不过在编辑之前最好进行备份,以防不测。理解了这些之后,我们就可以开始尝试解决实际问题了。1.内存问题的解决大部分老游戏不能正常运行的原因都是由于内存“不够”所导致,没有从DOS时代走过来的用户肯定会对“不够”二字极尽怀疑,事实上正是不够。DOS有一套独有的内存使用方案,这个方案实际上较复杂,但对问题的解决至关重要,不过我们这里不必了解得一清二楚,因此用简单的图文说明如下(如果觉得生涩,可以先跳过这一部分,看到后面的例子不明白时再回过头来看):如图2所示,如果不加载特殊的内存管理工具,DOS最多只能识别1MB的内存,而这1MB,有kB将被保留给诸如系统、硬盘控制器、显存等使用,称为上位内存(UpperMemoryBlock,简称UMB),剩下的kB称作常规内存(ConventionalMemory),这kB可不是全
歌曲:傻孩子 歌手:阎韦伶

文章标签:

本文链接:https://www.u1e.cn/baike/a/d0058fe804f1f94d1bf1381d [复制]

猜你喜欢

歇后语大全

还没有人回应过