下载
加入VIP
  • 专属下载特权
  • 现金文档折扣购买
  • VIP免费专区
  • 千万文档免费下载

上传资料

关闭

关闭

关闭

封号提示

内容

首页 XP下老游戏重玩总攻略

XP下老游戏重玩总攻略.doc

XP下老游戏重玩总攻略

lft800
2010-09-10 0人阅读 举报 0 0 暂无简介

简介:本文档为《XP下老游戏重玩总攻略doc》,可适用于高等教育领域

·XP下老游戏重玩总攻略!|电脑侠客发表于::“新”与“老”当然是相对的不过在开篇之前有必要确定我们的讨论范畴这里的“老”是指为Win之前的操作系统包括DOS和Win而新系统则是指WinXP。毫无疑问有很多老游戏都很值得我们来重温但重温的方法也各异有的人会去买例如奔腾的“老爷级”机器专门用于玩老游戏不过老PC也不是谁都能买到的而且为了玩老游戏真愿意如此大动干戈也算是骨灰级玩家了。于是典型的解决方法是采用多系统其中有一个系统装上MSDOSWin或Win不过这种方法也会碰上新显卡、声卡与老游戏不兼容的难题。  实际上大部分用户都会在现有系统上尝试老游戏在这方面使用Win的用户似乎比WinXP的用户拥有更多的笑容(越“老”越好?这是否准确还请参见后文)。除了一些兼容性非常好的游戏大部分已不可能运行而所谓兼容性好的游戏也基本上不可能听到游戏原声。那么要实现完美的重温效果是否注定要调整硬件、注定要安装多系统呢?经过笔者的一番艰苦探索发现并不是这样大部分的老游戏在新系统下仍旧可以找到合适的解决方案。  一、DOS游戏的重玩  在大家所碰到的经典老游戏中DOS游戏无疑占有绝对多的比例。然而辛辛苦苦找出来的游戏当在视窗下双击主运行程序时却会出现各种莫名的情况。在Win下还好一些好歹能让你看到出错信息(当然一般情况下这个出错信息我们都弄不明白)至于WinXP往往是黑色屏幕一闪而过一些情况下还会出现访问地址非法的提示总之会让人不明所以。  然而这种种不能正常运行的情况并不完全是因为新系统与老游戏不兼容的缘故熟悉DOS的用户都知道DOS是一个开放的系统其软件操作并不像Windows下那样多数是“傻瓜式”特别是DOS下的多媒体软件(例如游戏)要正常运行往往需要对运行环境作特殊的设置如果只是“双击”当然不符DOS“风格”了。因此一款DOS游戏在新系统下不能重玩实质是兼容与设置两方面的问题均可能有这也提示了我们解决问题的一些思路。  由于在不同系统下DOS游戏运行的环境大不一样因此在下文中将主要讲述WinXP下的解决方案之后回到Win和Win环境下探讨重玩的方法。这样行文还有一个原因:事实上从Win到再到XP操作系统对DOS的兼容性是不断提高的这恰与我们想像的相反这一点很快就能从下文中看出。   (一)WinXP下DOS游戏重玩的方案  WinXP在DOS支持上和Win有许多共性因此本段涉及的许多内容都适用于Win不过毕竟二者还是存在着一些区别因此将在本段之后讲述Win所不同的地方。而Win虽与WinXP相差过远但一些原理性的东西亦是相通。  首先需要简单了解一下WinXP下DOS命令运行的环境大部分熟悉这个系统的用户都会认为所谓有DOS环境当然是Cmdexe的命令行运行窗口实则不然Cmdexe提供的是对系统中所有类型程序的支持包括位和位而真正的位DOS命令运行窗口需要由Commandexe提供在WinXP中这个文件位于系统盘Windowssystem目录下图是Cmd和Command运行窗口的比较。  不过无论是在Cmd窗口下执行位DOS命令还是直接打开Command窗口实际上都是由一个名为NTVDMexe的进程提供NT下的DOS虚拟机支持(NTVirtualDOSMachine简称NTVDM)。因此可以说WinXP已完全摆脱了对位DOS的依赖此系统上所谓的DOS程序运行环境不过是一个完全虚拟的PC机!理解这一点很重要因为这预示着这个虚拟的“PC机”与你真实的硬件毫不相关所有的硬件环境都是虚拟出来的因此能够实现更好的兼容性。  虚拟机是怎样模仿真实DOS系统的启动过程呢?熟悉DOS的用户都会对Configsys和Autoexecbat这两个文件有难言的欣喜与痛苦它们对系统的配置实在太为重要在DOS启动时首先会按Configsys配置驱动然后再执行Autoexecbat中的命令。在NTVDM中还能不能找到它们的身影?既然说是“真实虚拟”当然应当是有的:它们默认位于Windowssystem下只不过名字已稍作改动分别为Confignt和Autoexecnt。你可以用记事本打开这两个文件进行编辑不过在编辑之前最好进行备份以防不测。  理解了这些之后我们就可以开始尝试解决实际问题了。  内存问题的解决  大部分老游戏不能正常运行的原因都是由于内存“不够”所导致没有从DOS时代走过来的用户肯定会对“不够”二字极尽怀疑事实上正是不够。DOS有一套独有的内存使用方案这个方案实际上较复杂但对问题的解决至关重要不过我们这里不必了解得一清二楚因此用简单的图文说明如下(如果觉得生涩可以先跳过这一部分看到后面的例子不明白时再回过头来看):  如图所示如果不加载特殊的内存管理工具DOS最多只能识别MB的内存而这MB有kB将被保留给诸如系统、硬盘控制器、显存等使用称为上位内存(UpperMemoryBlock简称UMB)剩下的kB称作常规内存(ConventionalMemory)这kB可不是全部空余的系统启动后就会被占用一部分这样一般程序只能利用常规内存的剩余(Free)部分了理解这一点非常重要。  然而虚拟机所提供的的内存容量绝对超过MB这部分被称作扩展内存由于在使用上必须服从扩展内存标准(eXtendMemoryStandard)而被简称为XMS要使用XMS就必须在Configsys(现在是Confignt)中加载Himemsys驱动程序。当然扩展内存最底层靠近刚才所说的那MB的地方有近kB的容量DOS不使用XMS标准即可访问这一内存区域被称为高端内存区(HighMemoryArea)DOS经常会将自己的一部分驻留在此区域(MSDOSresidentinHighMemoryArea)以将常规内存尽量空出一些给应用程序使用。  最后一个扩充内存EMS(为ExpandedMemoryStandard的缩写)的概念非常重要但又比较难理解简单来讲它是CPU的欺骗者:CPU“看起来”它是在UMB中(在MB内可自由使用)而实际上它在XMS中是XMS的一部分或全部这样程序就能够有效地使用MB以外的扩展内存了。不过要使CPU能识别扩充内存需要在Autoexecbat(现在是Autoexecnt)中装载扩充内存管理器EMM(ExpandedMemoryManager)在DOS下一般是用EMMexe。这里需要说明由于EMS占用了XMS的空间所以XMS的可用(Available)部分会减少。旧DOS是一个非常自由的系统在上面运行的游戏可自由决定是否使用EMS甚至还会决定要多少EMS否则就……嘿嘿罢工。  从以上看来与我们的话题密切相关的有两块内存:常规内存和扩充内存这两个也恰巧是无数DOS在新系统下运行的“杀手”好在我们现在已知已知彼可以开战了。以下实例均在WinXPProSP版本下进行。    ()扩充内存EMS的正确配置  实例:《中关村启示录》  在游戏的安装目录h:dosgameZGC下有一个Playbat的批处理文件双击即可执行然而如此执行的结果却是黑色窗口一闪而过不过这么出名的游戏怎能轻易放过一定得探个究竟才是。于是在Playbat对应图标上点击右键选择“编辑”系统会调用记事本打开文件看到其中有两条命令:runqbj和go分别对应同一目录下的Ruqbjcom和Gobat显然Gobat还是一个批处理文件用记事本打开后发现其中又有条命令:univbe、game和univbeu这条对应两个可执行文件:Univbeexe和Gameexe。为了找到原因所在笔者将逐条执行runqbj、univbe和game命令。  在“开始”→“运行”对话框中输入“command”并回车在打开的Command窗口中改变目录到游戏安装目录逐条输入行命令当执行完Univbe后提示找不到所支持的显卡(图)暂时不去理会执行完最后一条命令Game在屏幕上看到一行字:EMSmemorymanagernotfound(找不到EMS内存管理器)。难道是因为WinXP的NTVDM默认就不加载EMM吗?  事实正是如此。在前面提到的Confignt文件里关于EMS的说明中笔者发现这么一段话(图):EMS的大小将由Pif文件决定这个Pif文件要么是DOS程序的快捷方式要么默认为系统盘Windows目录下的defaultpif如果在Pif文件的设置中EMS被设定为“”则EMM将不会加载。  大家对Pif文件及其图标一定都不会陌生从WinX时代起为了能在视窗界面中给DOS程序提供自定义的内存配置微软设计了一个“Pif”的概念看起来这个Pif只是原来程序的一个快捷方式实际上可以在其中进行大量的自定义设置。由于游戏安装目录下找不到任何Pif文件所以根据以上一段说明双击时将会调用defaultpif中的设置。于是我们找到defaultpif并在其上点击右键选择弹出菜单中的“属性”(图)在打开的对话框中点“内存”标签卡发现里面的EMS赫然设为“无”(图)!《中关村启示录》运行需要EMS支持这样设置当然会出错。而刚才运行的Commandcom也符合这一原则其属性对话框的内存页与图完全相同。  那么解决方法你一定已经想到了由于WinXP无法对bat文件配置内存所以你可以:修改defaultpif属性中的内存配置修改Commandcom的内存配置并在其窗口中运行Playbat。但修改defaultpif文件显然不可取因为这个文件将会是所有DOS程序的默认Pif配置文件有一些程序并不需要EMS有的甚至只要有EMS就不能运行。那我们试着把Commandcom内存配置中的EMS和XMS两项均调为“自动”(图)再次运行Command窗口同上找到安装目录并输入“play”命令回车之后惊喜的看到了游戏的开始画面(图)。  那么到底“自动”是什么概念呢?再次进入Command窗口并执行命令行“mem”这个命令可查看当前的内存分配及使用情况(图)原来“自动”默认为分配MB的EMS和MB的XMS(其中只有MB是可用的)。这里顺便说一下显示的第行就是前面所说的kB常规内存第行非常重要表示NTVDM启动后常规内存剩下的空间当然也就是最大可执行程序的大小了(Largestexecutableprogaramsize)。  不过每次从Command运行再找到Playbat仍显麻烦其实有更简便的方法由于Playbat文件中第一行runqbj(qbj?求伯君?呵呵)对应于Runqbjexe(记住不是bat文件)于是在Runqbjexe的文件图标上点右键并进入“属性”设置将其中的内存页同图设置(当然也可将EMS设置为MB以上的数值)确定后会在当前目录下生成Runqbjpif文件之后双击Playbat即可顺利进入游戏。    巩固:《三国志Ⅳ》  在游戏安装目录San下有两个运行文件:sancom和sancom显然后一个是针对机器设置的运行它将拥有更高的游戏性能。然而点击后能顺利进入KOEI开始画面但之后就屏幕一闪并显示出一行字:NotEnoughMemory(缺乏足够的内存)此时你应当对“不够”二字有所领会了由于是直接双击故猜想仍是EMS的问题。依上法设置sancom的EMS为自动即可顺利进行游戏(图)。    反思及总结:这类问题的出现比较集中因为直接双击可执行文件所启动的NTVDM默认不支持EMS。对于exe和com文件直接在属性中设置好EMS即可若是bat文件则需参考上述间接修改方法。    ()常规内存的正确配置  实例:《龙骑士》(Dra)  这款游戏由ELF出品以情节设计的巧妙赢得了不少玩家的欣赏我们看能不能在WinXP系统下正常运行。首先必须根据游戏说明其安装在C盘根目录下进入安装目录c:dra双击执行其中的Playbat出现的情况仍然是黑屏的一晃而过。于是按照实例中的方法用记事本打开Playbat发现其中只有一行:drastartmesHxC这是一个带参数运行的命令主程序是dra不过却在安装目录下发现了两个可执行dra文件:dracom和draexe这里你需要知道com文件执行的优先度高于exe。于是对dracom的属性进行修改将EMS设为kB。可是和我们的意愿相反双击Playbat后还是黑色窗口一闪而过……  于是回到刚才讨论的内存知识中来除了EMS还有一个内存杀手就是常规内存。还记得上面图中的“最大可执行程序大小(Largestexecutableprogramsize)”吗?有没有可能字节的内存仍不够dracom使用呢?不妨试着从常规内存中清理出一些空间来。  这里我们需要先查看NTVDM默认启动时都加载了哪些程序仍然在“运行”对话框中输入“command”打开DOS命令行窗口在其中键入“memc|more”命令分页查看当前内存的详细利用情况(图熟悉DOS的用户会问为什么不用“p”参数因为这个参数在NTVDM中已不被支持只好用“|more”代替)。从图中可以看到常规内存(ConventionalMemory)中有几个大头:MSDOS、MOUSE、DOSX尤其是DOSX居然占尽了kB的空间要知道常规内存中可是寸土必争啊。  实际上DOSX是NTVDM为支持DPMI(DosProtectedModeInterfaceDOS内存保护模式接口)类型程序而执行的命令。保护模式可以让程序获得更多的内存资源但使用DPMI的游戏都必须附带一个DOS扩展程序这个程序一般为DOSGWv文件名为DOSGWexe所以游戏是否需要DOSX支持只需查看其安装目录下是否有DOSGWexe文件即可。  显然在Dra目录下并没有发现DOSGWexe故判定这kB的DOSX运行空间完全可以释放出来那么通过什么方法呢?还记得刚才提到的Autoexecnt和Confignt吧笔者刚才说这是两个让人悲喜交加的初始化文件那么看一下在这里它们能给我们带来什么样的喜悦。  由于这两个文件对整个NTVDM系统非常重要所以修改时要小心当然可以备份不过最好的方法还是使用WinXP提供的自定义初始化文件功能。首先把Autoexecnt和confignt从System下拷贝到c:dra目录下之后找到dracom文件依上法进入属性对话框在程序标签页中点击“高级”按钮(图)在弹出的WindowsPIF窗口中重新指定专用初始化文件(图)将二者的位置分别修改为“c:draautoexecnt”和“c:draconfignt”并两次“确定”。  接下来我们要对这两个自定义的初始化文件进行修改。使用记事本打开Autoexecbat可以发现里面有一大堆以“REM”开头的文字行(表示这一行是注释不会被执行)值得注意的是有行lh命令(图)这是将其后程序尽量(不一定成功喔)加载到上位内存的命令这里的mscdexntexe、redir和dosv分别提供了NTVDM对光驱、网络(还可以玩经典游戏的网络版!)以及DPMI的支持。这个例子中由于三者都无需使用因此在这行前面分别加上“REM”以表示取消(实际上去掉DOSV就足够了这里干脆一不做二不休)。编辑完成之后记得保存然后回Dra目录双击Dracom你会发现果然是一击奏效(图)需要提醒的是在修改Autoexecnt的同时仍需配置好Dracom的内存参数特别是EMS。    反思及总结:这个例子中并不需要DPMI的支持但若是碰上了既需要DPMI同时又得不到常规内存的游戏怎么办?我们还是有办法的只需修改Confignt文件在其中加入一行“EMM=RAM”。这样配置后MOUSE和DOSX等程序会部分或全部从常规内存中移到上位内存中从而获得大量的常规内存(图这是修改后用“memc|more”命令进行查看的结果可见DOSX已进入上位内存而可用常规内存也达到了kB之多)。最后需要说明EMS和可用常规内存显然存在潜在性的资源争夺系统之所以不将EMS默认设为“自动”原因在于设置EMS后一些原来驻留在上位内存的一些程序就会被赶到常规内存中去从而导致可用常规内存减小所以应根据DOS程序需要选择是否使用EMS。    声音及其他兼容问题的解决  从上述说明来看内存问题在WinXP下只能算作配置方面的难题而本段涉及的才真正是兼容问题。首先要说明这里的声卡并不是指你真实机器上的声卡而是NTVDM所模拟出的声卡。  从WinNT到Win所虚拟的DOS版本都是而NTVDM提供的硬件为与DOS版本配套实质上“配置”相当低这样对DOS游戏的支持也很差最关键的是它不支持DOS时代以来声卡的标准兼容模式SoundBlaster。但WinXP在这方面则有所突破其提供的NTVDM中直接内建有对SoundBlaster的支持对DOS程序的兼容性将会好很多此外WinXP继承了Win中对鼠标、光驱、网卡和DOSGW的默认驱动。  不过WinXP提供了声卡支持是福亦是祸:虽然安装有声卡但却只能提供支持大部分DOS程序都支持SoundBlaster这样就可能存在潜在冲突。好的情况下程序尽管检测不到声卡仍会正常运行但有的游戏则可能会直接崩溃。  此外在WinXP中还有可能存在其他一些兼容问题例如程序不能对软驱进行任意设置等在下面这个例子中会有全面的反映。实例:《大富翁》  这可是DOS时代最受MM喜爱的游戏即使是今天玩起来还是兴味盎然。然而到该游戏的目录c:rich下双击执行Playbat系统经过一番折腾甚至看到了开头的SoftStar动画最后仍给了一个静止的黑屏没关系我们已经习惯了。于是用记事本打开Playbat看个究竟发现里面有一行命令是“substa:”熟悉DOS的用户知道这条命令用于把当前目录映射成A盘游戏将把A盘当作CDROM。这当然会导致兼容问题因为虚拟机是不可以直接访问硬件的WinXP控制下的软驱当然也不能轻易映射。  于是想到可以将软驱先行屏蔽好在WinXP可以不重启即停用软驱。在“我的电脑”上右键选择“属性”打开系统属性对话框依次选择“硬件”→“设备管理器”(图)在打开的设备管理器中展开“软盘驱动器”右键单击菜单下的“软盘驱动器”并选择“停用”(图游戏结束后别忘了重复此过程并在这里选择“启用”)。确定之后回到rich目录再次双击Playbat结果发现已经能进入开始画面(图)但只要选定人物并开始游戏整个NTDVM系统就会崩溃是全线崩溃结束任务后连Commandcom也无法运行只有重启才能解决问题。  这让笔者迷惑了一阵不过由于能够输出视频则问题很有可能出在NTDVM虚拟出的声卡上。于是用记事本打开System下的Autoexecnt文件的最后一部分是对内建声卡的描述(图)正如前面所言这里说明WinXP的NTDVM只提供对SoundBlaster的支持。在文件的最后说明可将此声卡屏蔽于是按照说明在“SETBLASTER=AIDPT”一行前加“REM”注释同时去掉“SETBLASTER=A”一行前的“REM”。再次双击Playbat果然顺利进入游戏画面(图)。  屏蔽声卡能够解决不少游戏无法正常运行的问题不过到此为止我们发现:还没有一款游戏能够正常发声如此的重温怎能不让记忆失色?虽然笔者也曾经通过一定的设置使几款经典的游戏如《阿猫阿狗》能够正常发声(很好的感觉)但绝大部分游戏并不完全支持SoundBlaster例如在《天使帝国》中即使人声是正常的背景音乐却完全听不到。因此这里不再讲如何通过系统配置重现声音的方法不过更为关键的原因是我们可以利用一个软件它不仅可完全解决声卡的兼容性问题最重要的是它解决了NTDVM系统的最大限制几乎能使DOS程序的原音完全重现这个软件就是VDMSound。  VDMSound是一款符合GNU标准的免费软件作者的自由开发精神令人敬佩最新版本为。软件为NTDVM所提供的声音平台包括MPU接口(可提供高质量的MIDI音效)、SoundBlaster兼容接口(兼容SBPro、SBAWE可提供电子及FMAdLib音效)甚至还包括游戏控制接口(这样就能用手柄和摇杆了)!VDMSound与你机器上的真实声卡没有关系它甚至可将DOS程序发出的声音信息输入到磁盘文件中。下面具体来讲一下使用方法。  软件下载可参考:http:wwwonlinedownnetvdmsoundhtm。同时建议你下载作者提供的补丁包:http:vdmsoundsourceforgenetfilesVDMSoundupdatezip。软件的安装过程比较简单一路“Next”即可以下为方便说明假设将此软件安装到d:vdmsound目录下安装完成后将补丁包里的文件全部解压并拷贝到d:vdmsound目录下覆盖原文件即可。  具体使用方法就更简单了仍以《大富翁》为例你只需在Playbat上点击右键选择菜单中的“RunWithVDMS”即可(图)初次使用时软件会弹出一个小Tips窗口(图)笔者建议如果条件允许可仔细阅读其中的每条提示(软件有一个小Bug就是不会自动更换Tips因此逐条阅读比较好)能让你学到不少知识。接下来软件快速做了一下初始化工作黑色DOS屏幕一过你就能听到熟悉的音乐了!    实例:《天使帝国Ⅱ》  有了VDMSound我们当然要用它来导入执行游戏安装目录下的Playbat了不过没想到却在热闹的声音中看到了一幅美丽的提示图(图)原来这款游戏至少需要kB的常规内存。按照上文对内存配置的说明首先查看游戏安装目录下是否有DOSGWexe没有找到于是可判定其不会使用DOSX但用了VDMSound。还一样在Autoexec文件修改吗?  答案是肯定的不过现在它和Config的位置已经都转移到d:vdmsound目录下了文件的扩展名也变成了“vdms”不过作者想得很是周到已经将这个扩展名注册为用记事本默认打开这样上面我们讲的修改DOSV等功能仍可顺利实现你可以打开Autoexecvdms在“lhSystemRootsystemdosxexe”一行前加上“REM”即可。不过下面将提供一种方法可以让这个过程更简单。  软件的作者为VDMSound提供了一个图形化设置插件:VDMSoundLanchPad下载地址可参考:http:vdmsoundsourceforgenetfilesVDMSLaunchPadvzip。下载完以后将此压缩包的所有文件解压到d:vdmsound目录下之后运行其中的installbat在注册提示时点“确定”即可完成安装(图)。下面就以《天使帝国Ⅱ》为例说明如何使用图形化界面进行配置。  右键点击游戏目录下的Playbat选择右键菜单中带音乐标记的“RunWithVDMS”(图)。  在弹出的设置窗口中由于要做特殊设置所以选择“Setupacustomconfiguration(选择自定义设置)”并点击“下一步”(图)。  在这一步中选择“Createanewconfigurationfromscratch(生成一份新的配置文件)”当然如果不是初次使用以前有游戏的设置和当前要设置的相同也可选择“Reuseanexistingconfiguration”(图)。  这一步中点击“Advanced”进入高级设置(图)。  这个很熟悉吧其实作者就是把Windows设计的属性项目整合了(图)。  进入“Compatibility”标签页进行兼容性设置(图)在这里可设置EMS和XMS我们接受默认的MB及MB设置同时下面还有基本的VESA支持(EnableBasicVESASupport)选项(这在Win下特别有用因为其不支持VESA窗口模式)此外还包括对光驱和网络的支持当然也包括DPMI(DOSV)你如果还有印象就发现后项正好对应本文前面所说的Autoexecnt中的条LH命令。因为《天使帝国Ⅱ》无需使用DOSX可将DPMI项的勾选去除。  “SoundBlaster”用于配置SoundBlaster声卡如这里的IRQ是有一些游戏默认会使用总之如果使用了VDMSound还是不能出声可以在这儿作一些变更(图)。  还有更多的配置这里就不一一讲了大家可自行摸索点击“确定”即可返回图的界面选择“下一步”最后一个对话框中可选定“Remembermysettings”以便下次将此次配置当作默认配置(图)。点击“完成”软件将引导进入游戏界面(图)同时在游戏目录下生成一个Playvlp图标以后点击此图标即可采用刚才的配置进入游戏。若想修改还可在其上点右键进入属性对话框中的“VDMSound”标签点击“Advanced”按钮即可。  实例:《大航海时代》  这个例子主要是想说明如何配合VDMSound解决游戏运行过速的问题。这里选取的《大航海时代》实在是令人怀念的经典而且这款游戏的兼容性非常好在WinXP的默认设置下即能顺利运行。不过美中不足的是在笔者CPU为赛扬GHZ的机器上只要一出海速度就快得惊人根本无法控制船的运行方向而且一晃之间数日已过。最后没有办法只能采取“目标式”一步一步的航行而大航海时代系列的乐趣有很大一部分就是在海上“逛荡”如此步进实在是损失了不少趣味。  要解决这个问题需要使用专门用于降速的软件这里笔者选择了同样由VDMSound作者写出的Speedset参考下载网址为:http:vogonszetafleetcomattachmentphps=postid=。下载完成后首先可将压缩包中的两个文件Speedsetdll和Speedsetexe解压到d:vdmsound目录下。接下来将配合VDMSoundLanchPad实现降速功能。  在《大航海时代》安装目录下的Playbat上点击右键按上例方法进入到VDMSound配置高级(Advanced)界面。进入“DosEnviroment”标签页发现可在Config和Autoexec中增添附加命令行这里需要在Autoexec一栏中添加刚才的Speedsetexe命令Speedset后面应当添加参数以改变速度经多次测试应将其后的参数设为“”具体添加的命令行为“lhd:VDMSoundspeedsetexe”(图你可按自己的情况设定)。接下来选择“Performance”标签页选定“TrytoreduceCPUusage(尝试降低CPU利用率)”并将其上的游标拖至最左边的“Lowusage”这个选项可使游戏运行更加平滑同时一般的WinXP用户最好将下面的“DMAServicing”从调节到更慢的频率如(图)。  经过如此调节并“确定”后顺利进入游戏(图)发觉航海速度果然降了下来而控制起来也更加平滑。最后要说明的是在上述两个例子中尽管使用LanchPad以后配置会变得很简单但并不意味着只能通过图形界面使用VDMSound及Speedset其实这两个命令都可在Command命令行窗口中直接调用。以笔者机器安装路径为例你只需在运行程序之前转到d:vdmsound目录分别键入“VDMSRun”和“Speedset”命令并回车之后再运行Playbat一样可达到出声和降速的目的。   (二)Win相对于WinXP的附加说明  在内存配置方面Win和WinXP遵循完全相同的体系所以无需再多讲。在NTVDM方面Win与WinXP之间最大的不同在于对声卡与显卡标准的支持。前面已经讲到Win根本不提供任何声卡方面的支持所以没有可能发声当然也没有可能存在声卡方面的冲突还是刚才那句话:是福亦是祸。好在有VDMSound基本上这方面已经与WinXP不存在差别。  相对而言对显卡标准的支持则是Win的致命伤。DOS时代的显卡编程接口标准是VESA许多DOS游戏都在编程中使用了些标准WinXP对二者的支持都相当好无需顾虑。在Win中也提供一些对VESA标准的支持但必须是在全屏幕下!例如本文中所提到的《三国志Ⅳ》的版本以及《中关村启示录》在Win下即使配置好了内存也无法双击执行(图出错提示找不到VESABIOS)原因就在于双击后程序是先从窗口模式开始运行的。当然你可以运行Commandcom(记得修改Commandcom的属性使其支持EMS)之后按组合键AltEnter进行到全屏模式再转到游戏安装目录执行相应命令这样就能顺利进入游戏(也可在这之前运行VDMSound安装目录下的VDMSRun以获取音效)。不过恼火的是画面出来了鼠标却出了问题:只能在不到的上半屏活动这样当然无法正常游戏。  VDMSound的作者曾透露出开发VESA兼容接口的想法但一直没有下文笔者也一直没能找到合适的解决方法好在WinXP迟早会是家庭Win用户的升级选择不过暂时还在Win下工作的用户只好忍受这种兼容性问题的痛苦了。    编者注:本文上实际上探讨了NT系统下DOS游戏的玩法下一部分则有新的焦点:Win下DOS游戏解决方案WinWin游戏在WinXP下的重现以及终极解决方案VirtualPC的纵深介绍内容精彩可不要让它与你擦肩而过。(三)Win下DOS游戏重玩的解决方案  总结上文可知DOS游戏最致命的瓶颈就是内存管理其次是其对新硬件的兼容支持。不过对于Win解决问题的方案与上述NT系统不大相同总的来说需要你对DOS基础知识有相当的了解。  内存管理的解决方案  前面提到由于DOS系统不同于Windows系统那样能够智能管理内存所以其内存管理设置都需手动调试在上面提到的内存问题解决实例中你会发现我们一般在游戏提示内存不够时通过修改Autoexec和Config的具体配置解决此问题。这个方法对于Win系统同样适用但却有一些实践上的不同。  大家都知道Win问世时宣称是带有一个DOS的微软把它叫作DOS。在Win开始菜单中的“程序”组中你会看到一个名为“MSDOS方式”的快捷方式指向“c:windowscommand”其实这只是个伪DOS罢了不过它与WinXPNT中NTVDM系统下的DosCommandPrompt又有很大的不同。  旧版DOS(及其以前版本)启动后都会加载Configsys和Autoexecbat中的管理程序用于管理内存和配置系统。但从Win到Win视窗系统的启动总是在DOS的基础上进行即先启动DOS再启动Windows。Win的用户都知道Windows的启动是通过在DOS命令行下键入“Win”命令实现要能执行这个WincomConfig和Autoexec中必须要加载内存管理器EMMexe和高端内存驱动Himemsys等。然而发展到Win之后Wincom仍存在(但它默认会在启动时自动执行)但已相当智能无需在两个初始化文件中进行设置即可正常运行。因此你可以看到C盘根目录下这两个文件是空的(Configsys是系统文件默认情况下为隐藏需要在“文件夹选项”进行设置:图)。  但Win系统的Config和Autoexec仍然重要因为它们控制着“MSDOS方式”的内存及系统配置也就是说当你在Windows中开启“MSDOS方式”窗口或运行Commandcom命令甚至双击DOS程序的图标系统都会为这个运行于兼容模式下的DOS选择Config及Autoexec而它们就位于C盘根目录之下。不过需要说明的是你若修改了这两个文件必须重启系统后才能生效。以下将举例进行具体说明举例时我们尽量采取与前文相同的游戏以便大家对照分析。    ()扩充内存EMS的正确配置  实例:《三国志Ⅳ》  与前文所说不同的是如果没有作过调整进入Sancom的属性你会发现Win下居然无法设置EMS内存因为系统并没有自动加载内存管理工具(图)如果执行当然游戏会报“notenoughmemory”的。所以我们先要将扩充内存EMS的设置项加上。用记事本打开系统盘下Configsys文件在其中加上如下两行命令(图):  DEVICE=C:WINDOWSHIMEMSYS  (这个语句非常重要意思是加载高端内存管理使DOS能使用高端内存。)  DEVICE=C:WINDOWSEMMEXEram  (EMMexe用于管理扩充内存常用参数为“ram”和“noems”使用后者能比前者释放更多的常规内存但很多DOS程序不支持“noems”参数故使用面较窄。)  之后保存好文件重新启动机器后再打开Sancom的属性扩充内存EMS的设置项回来了(图)根据上文将它设置为“自动”即可。这样扩充内存EMS的问题就解决了双击执行Sancom即可顺利进行游戏(图)。    ()常规内存的正确配置  实例:《龙骑士》(Dra)  如前文所说这款游戏对常规内存的要求非常高差不多接近kB了同时这款游戏也需要有EMS支持。而通常装载了EMMexeDOS启动后剩余的常规内存无法满足需要。还是尝试编辑Configsys文件来释放更多的常规内存。  在编辑前我们还是先在Win的DOS兼容模式下键入命令“memcp”查看内存的具体分配情况(图)。在图中可以看到常规内存剩余有kB系统其他常驻程序都是加载在常规内存里的而上位内存是空的所以我们要将一些常驻程序尽量加载到上位内存中从而使常规内存空出于是将Configsys文件作如下修改(图):  DOS=HIGH,UMB  DEVICE=C:WINDOWSHIMEMSYS  DEVICEHIGH=C:WINDOWSEMMEXEram  (“DEVICEHIGH”表示在上位内存中加载EMM文件)  DEVICEHIGH=C:WINDOWSIFSHLPSYS  其实这里要做的事情就是将图中看到的常规内存出现的程序都尽量加载到高端内存和上位内存中。保存文件后重启然后再键入命令“memcq”查看(图)果然这时候常规内存已经有kB了。这时候运行龙骑士的Dracom一样没有问题。    ()超大常规内存的配置  不过不管如何配置Configsys文件由于上位内存有限在Windows环境下又要加载EMMexe你几乎没有办法使常规内存高于kB虽然这时候绝大部分老DOS游戏都可以玩了但也有部分“变态”游戏要求甚至kB以上内存很多专业级游戏网站都建议放弃。其实问题依然可以解决。  一种方法就是从纯DOS模式启动即在Win运行前按F并选择从命令行启动(图)由于这时已经不是视窗环境所以系统默认加载的常驻程序要少一些只要合理配置Config和Autoexec文件常规内存就可达到kB以上。  另外一种方法就是使用第三方内存管理驱动软件。这里介绍UMBPCI版(下载地址:http:wwwuwesieberdefilesumbpciezip)整个文件只有kB是很有用的上位内存(UMB)扩充驱动程序(注:可能有某些主板暂不被支持)在Configsys中用Device命令可以直接加载最多可提供高达多kB的UMB。假设将压缩文件解开为文件夹UMBPCI在C盘然后在Configsys文件中加入此行语句“DEVICE=C:UMBPCIUMBPCISYS”注意需要把它放在Himemsys文件之后(图)。这样系统启动时就会调用Umbpcisys如果文件被正确调用你应该可在启动时看到相关信息(图)。这时机器启动后其常规内存已经通常能轻易达到或超过kB(图)。  不过这种情况适用于不需EMS扩充内存的DOS游戏因为这时候EMM是被默认屏蔽的。如果万一游戏既需要kB以上的常规内存又需要EMS扩充内存那么我们就必须进行特殊设置同时加载UMBPCI和EMM。  首先我们必须知道机器所使用上位内存的具体情况。这个可以利用UMBPCI所带的Umbchkexe工具查看。方法是在机器启动时按F选取最后一项跳过Config和Autoexec文件进入DOS后执行Umbchkexe即可查看到机器上位内存的空闲情况(图)将其记录下来。然后在Configsys文件中将加载UMBPCI的语句修改为“DEVICE=C:UMBPCIUMBPCISYSI=XXXXYYYY”这表示我们将“XXXXYYYY”这一段上位内存地址交给UMBPCI来处理但并不是重点我们要解决的是UMBPCI和EMS同时加载的问题。UMBPCI的作者建议将EMS加载在特定的某个kB的内存段内只要这一段是可用的就最好强制指定它为EMS的加载区。通常情况下这段地址是CDFF那么就需要如下编写Configsys文件:  DOS=HIGH,UMB  DEVICE=C:WINDOWSHIMEMSYS  DEVICE=C:UMBPCIUMBPCISYSI=DEFFF  DEVICE=C:WINDOWSEMMEXEX=DEFFFX=BCFFI=CDFFI=BBFFRAMMD=AUTO(注:无换行)  这样我们就可以同时加载UMBPCI和EMS了。另外一种情况是如果你的显卡有一个kB的BIOS而无法使用CDFF(例如NVIDIAGeForce)那么尝试将参数作如下修改:  DEVICE=C:UMBPCIUMBPCISYSI=DCEFFF  DEVICE=C:WINDOWSEMMEXEX=DCEFFFX=BCFFI=CCDBFFI=BBFFRAMMD=AUTO  当然此时系统仍有可能无法正确启动一般来说是因为无法加载EMM的页面框架那么我们可以在加载语句中加上“FRAME=NONE”参数:DEVICE=C:WINDOWSEMMEXEFRAME=NONEX=DEFFFX=BCFFI=CDFFI=BBFFRAMD=AUTO。  通过这样的调整Win下的MSDOS就可同时支持EMS和拥有超高的空闲常规内存(图)。需要说明的是也有一些DOS游戏程序不能在没有加载页面框的情况下运行此时就只好使用第一种方法。软硬件兼容问题的解决  解决了内存问题后并不意味着任何一款DOS游戏就可在Win下运行无阻了因为DOS游戏在新系统下运行不可避免地会出现兼容问题。简单总结会发现兼容问题仍可简单地分为硬件和软件两类不过这里要弄清楚一点在Win下DOS程序都是直接面对各种真实的硬件而决不是WinXP中统一的虚拟硬件所以就软件环境的兼容性来说Win要强于WinXP但就硬件兼容性来说结论则恰好相反。    ()软件环境兼容问题的解决  大多数DOS游戏在解决内存问题之后是可以直接运行在Win的视窗环境下然而有一部分DOS游戏会在运行时跳出提示说游戏只能运行在纯MSDOS方式下拒绝在视窗中运行(图)。这时可我们打开游戏的运行文件或PIF文件的属性在程序页点击“高级”按钮(图)在弹出的页面中将“禁止MSDOS程序检测Windows”勾选(图)确定返回后再运行游戏一般就可以使游戏跳过DOS环境的检测从而能运行在视窗环境下。  当然还是有少部分DOS游戏无论如何也不能在Win下运行例如《美少女梦工厂》这时就只有点击DOS主程序属性的程序页中“高级”按钮在弹出的页面中将“以MSDOS方式运行”选上(图)同时在这里为它配置合理的内存分配及必要的硬件驱动确定退出后再点击游戏的主程序运行系统就会自动重启进入纯DOS同时加载先前设置好的配置之后自动运行游戏。然而笔者并不推荐使用这种方法。因为在游戏启动中一旦发生异常中断就很容易造成系统的启动死循环。所以对于这些必须在纯DOS下才能执行的DOS游戏还是自己手动启动到纯DOS再运行为好。    ()声音兼容问题的解决  一般来说最常见的硬件兼容性问题是DOS游戏无法正常发声或需要屏蔽声音才能正常运行其实如果DOS游戏能够在Win下正确运行通常是可以正常发声的因为它一般可以正确使用视窗环境下已加载的声卡。而游戏能顺利进行却不能正常发声的情况基本上是在纯DOS环境下才会发生这是因为许多人在启动纯DOS环境时并没有在他们的Autoexec文件里加载DOS下的声卡驱动以致游戏无法发声又或者由于声卡规格太新即使加载了驱动仍无法被游戏正确调用最后就是有某些声卡如主板上整合的软声卡根本就没有提供DOS下的驱动。  因此要解决纯DOS下的声音兼容问题就必须要安装好声卡的DOS驱动。你可以查看自己的声卡驱动盘或上网寻找驱动程序。这里向大家推荐http:firststepahwwwcomnewdosdoswarechtml这里有不少常用声卡的DOS通用驱动只要芯片相近即可使用。  其实你也可仔细查看一下游戏安装目录下的文件许多DOS游戏本身都带有最简单最兼容的DOS声卡驱动可以尝试安装使用游戏自带的驱动通常选择最兼容的SB驱动来解决问题(图)如果问题能得到解决你完全可以把游戏自带驱动保留下来用作为自己声卡的DOS驱动。如果无论如何你都没有办法使你的声卡在DOS下发声而你要玩的DOS游戏又无法运行在Win视窗环境下“SORRY”如果不更换硬件或操作平台你就只有忍受无声了。    ()显示兼容问题的解决  可能不少人没有注意到其实DOS游戏的显示兼容问题比声音兼容问题更难处理。道理很简单声卡的规范其实一直都比较稳定统一而显卡的发展却日新月异。有些DOS程序需要特殊的显卡模式支持如EGA、SVGA等而先进的显卡已淘汰此显示模式。例如游戏《英雄传说朱红血》对已经是非常老的STrio()显卡都无法兼容勉强去运行你只能看到被拉长的游戏画面的一半(图)。通常这个问题是绝症遇上了基本上只有放弃。相对来讲WinXP由于虚拟了较低端的显卡这方面的问题反而不大。  不过你仍可尝试用一款名为“SciTechDisplayDoctor”(以下简称SDD下载地址:http:wwwmydriverscomtoolsdirdhtm)的软件来解决对于稍微老一些的显卡来说它能够解决大部分问题。早些年的时候此软件是一个应用广泛的显卡工具它可提高DOS、Windows系统的显示兼容能力。对于我们来说最有用的功能就是用于模拟过时的VBE显示模式(不少游戏如《中关村启示录》都需要使用这种模式)。  软件最新为X版分DOS和Windows版本请对应你使用的环境分别安装安装后会要求重新启动。软件的使用非常简单以视窗环境为例。启动主程序将显示控制开关“ON”打开(图)这时界面下部分原来不能用的按钮已经可以使用。点击按钮“GraphicsImprovements”在跳出的页面里能够看到你的显卡所能支持的VBE版本(图)通常较早的VBE模式都没有被支持所以我们就需要利用SDD的软件模拟方式。回到主界面点“Compatibilitytest”按扭在跳出的界面中的“DriverType”中选择“ScitechDisplayDoctor”(图)这时右边的“interfacertype”也都可选用了选中你想模拟的VBE模式然后点击“TestGraphics”按钮测试(图)如果能通过测试说明你的显卡可使用该软件来模拟老的VBE模式而对于采用VBE显示模式的游戏来说就可以解决问题了。在选定了VBE模式后再回到主界面点击“PerformanceProfile”按钮设定需要的特殊显示模式(图)。设定完成再试着运行游戏如果顺利就要恭喜你了。    ()其它兼容问题的解决  除去主要的兼容问题外由于Win不像WinXP一样在NTVDM系统中默认加载了光驱和鼠标驱动因此需要手动加载。若游戏需要使用光驱你就得安装光驱附带的DOS驱动程序当然也可用Win启动盘中附带的万能光驱驱动程序。如果是光盘版的游戏你还可用fakecd(cdx)来虚拟一个光盘例如:先把游戏解压到一个

用户评价(0)

关闭

新课改视野下建构高中语文教学实验成果报告(32KB)

抱歉,积分不足下载失败,请稍后再试!

提示

试读已结束,如需要继续阅读或者下载,敬请购买!

文档小程序码

使用微信“扫一扫”扫码寻找文档

1

打开微信

2

扫描小程序码

3

发布寻找信息

4

等待寻找结果

我知道了
评分:

/20

XP下老游戏重玩总攻略

VIP

在线
客服

免费
邮箱

爱问共享资料服务号

扫描关注领取更多福利