`

DOS游戏通用说明

    博客分类:
  • GAME
阅读更多
DOS游戏通用说明
作者:不详  来源于:三国游戏网  发布时间:2005-10-12 10:41:46

鉴于dos时代已经过去,新一代的游戏玩家很少接触DOS系统。很多看来很“简单”的问题,他们也是束手无策。这里简单介绍一下dos游戏的玩法。

适合玩dos游戏的操作系统

  • dos5.0、dos6.0 (比较稳定的dos旧版,默认目录c:\dos)
  • dos6.22 (纯dos的最终版本,默认目录c:\dos)
  • dos7.0 (win95,win98附带的dos,默认目录c:\windows\command)

另外winxp,winnt和win2000都有自己的Dos command prompt,但是不能作为启动系统,如果你的机器只有这几个系统,那很遗憾,你玩不了dos游戏,除非安装模拟平台,请参看《winxp下dos游戏玩法》。

启动和加载

旧版dos(dos6.22以前的版本)启动后会加载msdos.sys、io.sys和command.com系统文件,缺一不可。然后加载config.sys和autoexec.bat中的管理程序,这2个文件如果缺省,那你几乎寸步难行,只能操作最基本的dos命令。

新版dos(win95/win98附带的dos7.0)启动以后加载io.sys和command.com系统文件,msdos.sys只是作为一个开机配置文件。config.sys和autoexec.bat基本是个空文件,因为系统默认加载了emm386,himem,dos,files等重要配置。

内存常识

内存有基本内存(base memory,640K),高端内存(upper memory,384K),扩充内存(expand memory,用户的物理内存总数)等类型。

一般dos游戏启动都是放在基本内存(base memory),因为只有640K,而其他常驻程序都是放在这里,所以通常提示不够内存都是因为使用者没有加载高端内存,调离其他程序的存放位置,它们占用了游戏程序空间,导致游戏出现"not enough memory"的提示。

高端内存(upper memory)一般游戏程序用不上,那么把一些常驻的程序,例如mouse,mscdex,doskey,gb等放到里面,就可以腾出很多空间给基本内存。

扩展内存(expand memory)不用于游戏的启动,而是处理交换游戏中的大量数据,和游戏启动无关,有时候游戏半途退出,可能就是扩充内存不够。

dos游戏最致命的瓶颈就是内存。它不同windows系统那样智能管理内存,所有设置都要自己慢慢调试,而且早期的游戏设计只能用高端内存和基本内存,就算你的扩充内存有128M也是没用的--程序设计本身就不用它们。

config.sys文件的编写

这开机系统文件可以编辑,最常用就是用dos自带的edit命令。如果你的path(该命令后面再解释)没有指错地方,那个你在c:\下面运行 “edit config.sys”就可以编辑这个文件,同理可以编辑autoexec.bat。

config.sys文件管理dos系统的内存,常用的加载内存管理语句:

  • DEVICE(加载管理程序)
  • DEVICEhigh(加载到高端内存)
  • dos(系统文件的位置)
  • files(打开文件数量)
  • buffers(缓冲区数量)
  • lastdrive(最后盘符)
  • shell(解释命令的位置)
  • rem (注释)

例子解释:

1, DEVICE=C:\dos\HIMEM.SYS /testmem:off

这个语句非常重要,加载高端内存管理,使dos能使用高端内存,如果你的机器慢,可以加/testmem:off跳过内存检测

2,DEVICEhigh=C:\dos\EMM386.EXE ram

在高端内存中加载emm386,emm386.exe是用来管理扩充内存的,这个语句也很重要。常用的参数为 ram 和 noems,解释为使用扩充内存和使用扩展内存。noems 比 ram 能释放更多的基本内存 ,但是这个noems语句很多程序不使用,所以使用面很窄。

3,dos=high,umb

这个语句很重要,把msdos.sys、io.sys和command.com系统文件放到高端内存中。

4,files=30

同时打开的最大文件数量,一些游戏需要同时打开很多个数据流,如果这个语句没有设定,其默认值是10,游戏可能会出错。

5,buffers=20,8

设定缓冲区数量以及高速缓冲区数量,用于加速文件读取速度。

6,lastdrive=z

指定最后一个硬盘盘符为z,就是说,你可以使用到z:这些盘符,即使你没有这么多的分区,你可以通过subst,fcd,ramdrive,img等手段虚拟一些硬盘分区出来。如果不加载这个语句,上述命令就不会起效。

7,shell=c:\dos\command.com

这个命令默认存在,一般不用加载。作用为指定dos的解释命令,一般默认就是c:\dos\command.com,如果你需要日文dos或者使用其他的解释命令,例如4dos、ndos,就需要指定一个shell。

8,rem this is a sample

rem为注释语句,后面无论你写什么东西dos都不理睬,常用于屏蔽一些暂时不用的语句,例如你暂时不需要加载shell=c:\dos\command.com, 只需 rem shell=c:\dos\command.com ,dos就会跳过该行不予执行。同理运用于autoexec.bat

总结dos游戏通常需要的config配置:

  • DEVICE=C:\dos\HIMEM.SYS
  • DEVICE=C:\dos\EMM386.EXE ram (或者DEVICE=C:\dos\EMM386.EXE noems)
  • dos=high,umb
  • files=30

如果还需要光驱来玩,可能还需要加载光驱启动程序,例如 DEVICE=c:\cdrom\VIDE-CDD.SYS /D:MSCD001 ,这个通常由安装程序完成。如果还需要声卡来玩,可能还需要加载声卡启动程序,例如 DEVICE=c:\sound\sbcd.SYS,这个通常由安装程序完成。

注意:本文提到的c:\dos是默认的dos目录,如果你的是win98的dos7.0,放在d盘,那么himem.sys和emm386.exe在d:\windows里面。而其他的dos文件在d:\windows\command里面。如果找不到dos放在哪里,在根目录下,例如c:\,运行“dir himem.sys/s”命令来找。

autoexec.bat的编写

autoexec.bat管理dos系统的常驻程序,里面的语句其实可以一步一步手动运行,只不过每次开机都要一定运行的程序,可以通过这个文件来实现自动运行。常用的语句:

  • PATH (指定路径)
  • SET (设定变量)
  • prompt (命令提示)
  • lh (加载程序到高端内存)
  • MSCDEX (cd驱动程序)
  • smartdrv (硬盘加速程序)
  • rem (注释)

例子解释:

1,PATH=c:\WINDOWS;C:\WINDOWS\COMMAND;d:\DOS;d:\tools

指定command的运行范围,方便调用程序,假设你处于e:\game目录,那么你也可以直接运行处于c:\dos里面的format语句。如果你不指定path,你必须在c:\dos目录里面才可以运行这个命令。

2,prompt $p$g

命令行提示你处在的位置,例如c:\dos,e:\fpe,f:\game\san2等,如果不加载这个命令,那么无论你在什么目录,都是盘符,如c:\,e:\,f:\。这个prompt还有很多提示,详细自己研究。

3,lh C:\dos\mouse.com

在高端内存加载鼠标驱动程序mouse.com,很多dos游戏需要鼠标支持,如果你不加载鼠标驱动语句,那么无法使用鼠标。

4,doskey

加载后可以记录你的键盘历史命令,可以不必重复输入使用过的繁琐命令,用上下箭头来选择历史记录。

5,set命令,设定环境变量,有很多种语句,例如

  • set temp=f:\temp

指定DOS的临时目录在f:\temp,前提是你有f盘,而且有temp这个目录存在,dos默认的temp目录在c:\dos,但是我建议使用一个空的目录。因为dos使用时间一长,就会有很多垃圾,和windows系统一样,都会放在temp目录里面,只要里面有文件,都是垃圾,可以删除。而默认的dos目录里面有很多系统文件,不熟悉的人可能分辨不出哪个是垃圾,哪个是系统文件。

  • set tmp=f:\temp

指定windows临时目录在f:\temp,其他说明同上。

  • SET BLASTER=A240 I10 D3 H7 P330 T6

设定声卡的变量,例如音量、通道、端口等,由安装程序设定。

  • set path=c:\dos

简化为 path= ,参考上面

  • set dircmd=$1/og/p

设定dir的变量

6, lh C:\WINDOWS\COMMAND\MSCDEX.EXE /s /D:MSCD001 /V /m:20

在高端内存加载cd驱动程序,这个通常由安装程序完成。

7, c:\dos\smartdrv c+ d+ e+

启动硬盘/光盘加速程序,使读盘存盘加速,c+ d+ e+等为指定c: d: e:盘提供高速缓存。

总结dos游戏通常需要的autoexec配置:

  • PATH C:\WINDOWS;C:\WINDOWS\COMMAND;c:\DOS;
  • prompt $p$g
  • lh C:\WINDOWS\COMMAND\doskey
  • lh c:\windows\command\mouse.com
  • set变量看具体情况而定

如果还需要声卡来玩,可能还需要加载声卡启动程序,例如 C:\PROGRA~1\CREATIVE\SBLIVE\DOSDRV\SBEINIT.COM,这个通常由安装程序完成。

注意:本文提到的c:\windows\command是dos7.0默认的dos目录,如果你的是dos6.0,放在d盘,那么dos文件在d:\dos里面。mouse.com文件不是dos默认配置的文件,你需要通过其他渠道获得。

通过这2个文件的配置,每次启动完毕你可以通过mem命令来检查你的基本内存是否够大,用法 mem/c/p,查看base memory一栏,一般来说,有550K就足够运行大多数的dos游戏,如果不够,就释放一些次要的常驻程序,例如doskey等,重新启动,慢慢调试...(dos就是这么烦)

其他游戏问题

有些程序需要特殊的是显示卡程序支持,例如dos4gw,ega,svga等等,有些需要大量的显存才能玩起来。现在的显卡基本上不存在显存不够问题了,但是有可能先进的显卡淘汰了旧的显示模式,而这些模式刚刚好被某个游戏用上了,除非你换一个旧的显卡,要么就不玩这个游戏。例如三国志5,很多先进的pc都玩不了这个游戏,原因就是显卡模式和声卡模式都太旧了,新显卡实现不了。所以包括本人在内也无法重温。还有三国演义1代,有些显卡玩起来会周期性的黑屏,那也是冲突问题。

如果该程序需要声卡支持,那么你需要安装dos的声卡驱动程序;一些游戏附带通用声卡安装程序,一般来说你选择sound blaster系列的就可以了。某些主板合成的声卡它只提供win的驱动,而没有dos驱动,你可能玩游戏的时候无法有音乐。

如果游戏需要用到光驱,那么你要安装光驱驱动程序,如果找不到适合的光驱驱动程序,你可以用win98附带的万能光驱驱动程序,在制作安装盘的时候就有。 如果是光盘版的游戏,你可以用fakecd(cdx)来虚拟一个光盘,例如:先把游戏解压到一个目录中,如d:\sanguo,之后运行 cdx d:\sanguo /L:z(指定z盘虚拟为sanguo的光盘)即可。 详细说明请看cdx/?里面的说明

如果游戏需要鼠标支持,你需要安装mouse驱动,一般常用的有mouse.com,qmouse.com,gmouse,mmouse等。

如果游戏速度过快,可以用fpe等游戏变速软件来调节。旧游戏设计时候的电脑时钟频率远远慢于现在的P4,很多旧dos游戏都是快得惊人,如果不减速,那很多东西都玩不了,你根本不是电脑的对手。

相关的dos游戏软件

gb5 ,gamebuster 5.0 ,游戏克星,早期的游戏修改软件,有模糊查询功能,可以存游戏进度,可以调整游戏速度。缺点就是不支持例如koei的图形dos4gw界面系统。按2次TAB键激活界面,操作起来不方便,输入需要转换成16进制。

fpe,整人专家,比gb优秀,支持dos4gw界面,支持模糊查询(这个功能在win版就取消了,可惜),不可以存进度,按*激活界面,支持10进制输入。速度比gb快很多,推荐使用。

getcap, 游戏抓图,按shift抓图,存盘成gif格式,比较好用。缺点就是不太通用,一些特殊界面系统的游戏无法抓图。

diskedit, Norton Utilities的文件修改工具,可以修改游戏存档,具体用法不详述。

补充:

一,关于游戏克星GB,我觉得它也有比FPE好的地方,主要有两个功能是FPE没有的:

1,它可以保存当前内存的映像,这个功能主要可以用于在一些没有储存进度功能的游戏中储存进度,另外这个功能还可以用来保存一些开始 时要输入密码表等的游戏,这样不用每次去翻密码表。这个功能甚至不局限于游戏,以前一些DOS下的一些要读加密盘的应用软件,可以用 GB在读完加密盘后把内存映像保存,这样以后就不用读盘了,但它的局限是DOS启动的配置要一样,不一样的话就不成功。

2,GB有跟踪功能,在找到了血或生命值在内存的位置之后,GB可以跟踪监视这个地址,一旦程序修改这个地址,GB会自动弹出菜单并把当 前修改被监视内存地址的那几条指令的机器码用红色显示。然后可以自动取消这几条指令,这样你的游戏就是无敌版的了。另外如果你把红 色显示的几条机器码指令(最好是连旁边的几个机器码也记下来)记录下来,然后在DOS下用PCTOOLS之类的工具找到并修改游戏程序中该指 令,还可以制作出可以脱离GB自己运行的无敌版游戏,这个功能也很实用。

二,关于游戏工具,还有一个很好的工具不应该错过,就是GAMETOOL,其实说它是游戏工具真的是有点大材小用了,它在DOS时代几乎可 以和SOFTICE相媲美,它有功能强大的内置DEBUGER,用来跟踪和破解应用软件都绰绰有余,游戏就更不在话下了。就算这样, GAMETOOL的修改游戏功能也很强大和方便,它既可以当成FPE来使用而且方便性不比FPE差,也可以当成SOFTICE之类的高级调试工具来使 用,是一个既适合又适合入门者的工具。

分享到:
评论

相关推荐

    触摸屏界面通用设计原则.pdf

    文章开篇第一章首先说明了一下研究背景、目的、意义及方法。   接着在第二章介绍了触摸屏和界面设计的基本概念,包括触摸屏的起源、发展、技术、使用范围以及有关界面设计的方方面面。   然后在...

    NiceBASIC测试版3

    NB内置有标准BASIC函数库,和图像库(用于编写游戏),还可以使用标准C语言函数库里的函数(调用静态库形式链接),也就是说NB可以在编译时链接所有用标准C语言编写的静态库(LIB)做为函数功能扩展,并且还可以调用...

    NiceBASICV 1.0中文编程正式版【MSI安装版】

    变量和函数等标识符名称,也可以用中文表示,方便于源码的交流和省略注释说明。 基本功能:  NB内置有基本BASIC函数库,和图像库(用于编写游戏)。 功能扩展:  以静态库(LIB)链接形式调用标准C语言函数库里的...

    NiceBASIC V1.0中文编程正式版(绿色版).rar

    变量和函数等标识符名称,也可以用中文表示,方便于源码的交流和省略注释说明。 基本功能:  NB内置有基本BASIC函数库,和图像库(用于编写游戏)。 功能扩展:  以静态库(LIB)链接形式调用标准C语言函数库里的...

    matlab单摆周期程序代码-starred:我已加星标的github存储库的列表

    第1代均不存在bug,大量新功能以及扩展的游戏后功能。 注意:此处的代码仍是未完成的在制品,目前无法播放。 当前的稳定版本是从2018年起的3.0.1。(您可以在以下位置找到可以实际播放的最新副本:) -非常简单Linux...

    C语言讲解 主讲:邓君峰

    ,1997 C语言程序设计,何钦铭主编,人民邮电出 版社,2003 C程序设计(第二版),潭浩强等,清华大 学出版社,1999 上机要求 – 禁做与课程学习无关的事情(如上网聊天,游戏等) – 看懂编译信息,逐步学会各种调试方法 Chap 1...

    vc源代码合集2244.rar

    2012-06-11 22:35 3,090 unix2dos.txt 2012-06-11 22:20 3,170,510 USB2.0应用系统开发实例精讲(随书光盘)-原理图和程序代码.7z 2012-06-11 22:38 11,438,631 VC++串口通信20个经典源码合集.rar 2012-06-11 22:37 11...

    《Linux从入门到精通》

    2.1 取得说明书 2.2 取得正确的Red Hat Linux部件 2.2.1 盒装Red Hat Linux清单 2.2.1.1 安转指南 2.2.1.2 Alpha安装附录 2.2.1.3 CD1和2 2.2.1.4 Linux Vending Machine CD 2.2.1.5 启动软盘 2.2.1.6 许可...

    Linux从入门到精通

    2.1 取得说明书 2.2 取得正确的Red Hat Linux部件 2.2.1 盒装Red Hat Linux清单 2.2.1.1 安转指南 2.2.1.2 Alpha安装附录 2.2.1.3 CD1和2 2.2.1.4 Linux Vending Machine CD 2.2.1.5 启动软盘 2.2.1.6 许可...

    2005详细介绍Linux从入门到精通

    2.1 取得说明书 2.2 取得正确的Red Hat Linux部件 2.2.1 盒装Red Hat Linux清单 2.2.1.1 安转指南 2.2.1.2 Alpha安装附录 2.2.1.3 CD1和2 2.2.1.4 Linux Vending Machine CD 2.2.1.5 启动软盘 2.2.1.6 许可...

    linux从入门到精通.chm

    2.1 取得说明书 2.2 取得正确的Red Hat Linux部件 2.2.1 盒装Red Hat Linux清单 2.2.1.1 安转指南 2.2.1.2 Alpha安装附录 2.2.1.3 CD1和2 2.2.1.4 Linux Vending Machine CD 2.2.1.5 启动软盘 2.2.1.6 许可...

    网管教程 从入门到精通软件篇.txt

    CPI:Microsoft MS-DOS代码页信息文件 CPL:控制面板扩展名,Corel颜色板 CPP:C++代码文件 CPR:Corel提供说明书文件 CPT:Corel 照片-绘画图像 CST:Macromedia Director Cast文件 CUR:Windows光标文件 D ...

Global site tag (gtag.js) - Google Analytics