不过无论是在Cmd窗口下执行16位DOS命令,还是直接打开Command窗口,实际上都是由一个名为NTVDM.exe的进程提供NT下的DOS虚拟机支持(NT Virtual DOS Machine,简称NTVDM)。因此可以说WinXP已完全摆脱了对16位DOS的依赖,此系统上所谓的DOS程序运行环境不过是一个完全虚拟的PC机!理解这一点很重要,因为这预示着这个虚拟的“PC机”与你真实的硬件毫不相关,所有的硬件环境都是虚拟出来的,因此能够实现更好的兼容性。
然而虚拟机所提供的的内存容量绝对超过1MB,这部分被称作扩展内存,由于在使用上必须服从扩展内存标准(eXtend Memory Standard),而被简称为XMS,要使用XMS就必须在Config.sys(现在是Config.nt)中加载Himem.sys驱动程序。当然扩展内存最底层,靠近刚才所说的那1MB的地方,有近64kB的容量,DOS不使用XMS标准即可访问,这一内存区域被称为高端内存区(High Memory Area),DOS经常会将自己的一部分驻留在此区域(MS-DOS resident in High Memory Area),以将常规内存尽量空出一些给应用程序使用。
在“开始”→“运行”对话框中输入“command”并回车,在打开的Command窗口中改变目录到游戏安装目录,逐条输入3行命令,当执行完Univbe后,提示找不到所支持的显卡(图3),暂时不去理会,执行完最后一条命令Game,在屏幕上看到一行字:EMS memory manager not found(找不到EMS内存管理器)。难道是因为WinXP的NTVDM默认就不加载EMM吗?
这款游戏由ELF出品,以情节设计的巧妙赢得了不少玩家的欣赏,我们看能不能在WinXP系统下正常运行。首先必须根据游戏说明其安装在C盘根目录下,进入安装目录c:\dra4,双击执行其中的Play.bat,出现的情况仍然是黑屏的一晃而过。于是按照实例1中的方法用记事本打开Play.bat,发现其中只有一行:dra4 start.mes H x C,这是一个带参数运行的命令,主程序是dra4,不过却在安装目录下发现了两个可执行dra4文件:dra4.com和dra4.exe,这里你需要知道.com文件执行的优先度高于.exe。于是对dra4.com的属性进行修改,将EMS设为8192kB。可是和我们的意愿相反,双击Play.bat后还是黑色窗口一闪而过……
于是回到刚才讨论的内存知识中来,除了EMS,还有一个内存杀手就是常规内存。还记得上面图9中的“最大可执行程序大小(Largest executable program size)”吗?有没有可能581 120字节的内存仍不够dra4.com使用呢?不妨试着从常规内存中清理出一些空间来。
具体使用方法就更简单了,仍以《大富翁3》为例,你只需在Play.bat上点击右键,选择菜单中的“Run With VDMS”即可(图22),初次使用时,软件会弹出一个小Tips窗口(图23),笔者建议如果条件允许,可仔细阅读其中的每条提示(软件有一个小Bug,就是不会自动更换Tips,因此逐条阅读比较好),能让你学到不少知识。接下来软件快速做了一下初始化工作,黑色DOS屏幕一过,你就能听到熟悉的音乐了!
8 还有更多的配置这里就不一一讲了,大家可自行摸索,点击“确定”即可返回图29的界面,选择“下一步”,最后一个对话框中可选定“Remember my settings”,以便下次将此次配置当作默认配置(图33)。点击“完成”,软件将引导进入游戏界面(图34),同时在游戏目录下生成一个Play.vlp图标,以后点击此图标即可采用刚才的配置进入游戏。若想修改还可在其上点右键,进入属性对话框中的“VDMSound”标签,点击“Advanced”按钮即可。
在《大航海时代2》安装目录下的Play.bat上点击右键,按上例方法进入到VDMSound配置高级(Advanced)界面。进入“Dos Enviroment”标签页,发现可在Config和Autoexec中增添附加命令行,这里需要在Autoexec一栏中添加刚才的Speedset.exe命令,Speedset后面应当添加参数以改变速度,经多次测试,应将其后的参数设为“+1”,具体添加的命令行为“lh d:\VDMSound\speedset.exe +1”(图35,你可按自己的情况设定)。接下来选择“Performance”标签页,选定“Try to reduce CPU usage(尝试降低CPU利用率)”,并将其上的游标拖至最左边的“Low usage”,这个选项可使游戏运行更加平滑;同时一般的WinXP用户最好将下面的“DMA Servicing”从5/15调节到更慢的频率,如5/10(图36)。
还是“自己动手,丰衣足食”吧。从报错信息着手,在报错窗口右下角有一个叫“请单击此处”的链接,照办后会弹出较详细的错误报告,从这里可以看出,都是一个叫“MCIAVI32.dll”的动态链接库惹的祸(图43),这又是何许“库”也?MCI是Media Control Interface(媒体控制接口)的缩写,凡是和这个词沾边的文件大多是和视频及音频控制有关的。事实上也是如此,它是一个32位的AVI媒体驱动,因此判断出错原因是老版本Windows程序调用了新系统的接口,而通过该接口指向的驱动却不同,从而造成了错误。