投票
标题:2月底写的东西,先放在这里吧。
Lator
无名的旅人
Rank: 1



UID 14505
精华 0
积分 32
帖子 6
狼毛 0 根
阅读权限 10
注册 2006-4-23
状态 离线
发表于 2008-4-20 01:02 资料 短消息  加为好友 
2月底写的东西,先放在这里吧。

DOSBox使用实例



本文以某游戏为例,简述DOSBox的基本使用方法。采用版本为官方版DOSBox v0.72,可于DOSBox官方网站http://www.dosbox.com/download.php?main=1下载。不同版本的DOSBox兼容性存在差异,如Falcom的ED4暂时就只能在v0.65(含)之前的版本上通过某种方法运行;某CVS版本的DOSBox提供了简易的GUI界面,操作起来似乎也比官方版本方便,所以采用官方的v0.72版,完全不是出于兼容性和易用性的考虑。虽然本文没有使用前端程序来配置DOSBox,但如果有较多的游戏需要管理的话,还是建议使用诸如D.O.G、DOSBox Game Launcher、D-Fend Reloaded 等还可能在更新的DOSBox前端。

运行DOSBox安装程序,将其安装在H:\GAME\DOSBox目录下。为管理方便,在此目录下建立Games文件夹,将包含游戏的文件夹K放置在Games文件夹下,顺便把所有游戏文件的只读属性取消,以防万一。

DOSBox支持拖拽,把游戏的执行文件直接拖到DOSBox的图标上即可以自动加载运行。打开游戏所在文件夹K,发现下图所示的几个EXE文件。



把PLAY.EXE拖到DOSBox的图标上,DOSBox自动运行,出现下图的画面,显示“本产品经过测试 — 保证绝对可玩”。



当真的话就上当了,下图是真相。黑屏,再按一下回车键,DOSBox崩溃。



DOSBox对加了某些壳的程序兼容性不好,“经测试绝对不可玩”是比较常见例子,皇帝,ED4等游戏都可能由于该原因无法运行。以下转述“经测试绝对可玩版”的手动脱壳方法。

既然DOSBox的标题栏显示Program:K,脱它吧。

用16进制编辑器打开K.EXE,逐个搜索字符串“4D5A”,直到找到一组“4D5A”,其前面有大段的用“FF”填充的空白。将这组“4D5A”前边的数据全部删除,保存K.EXE。





当然,由于是Xlink的壳,如果有UNXlink、FileInfo、File Scanner之类的工具的话,请直接脱。

拖拽的方式虽然方便,却有相当的局限性,DOSBox的正常使用还是要从编辑dosbox.conf开始。

用记事本打开dosbox.conf文件,DOSBox的所有参数都要在这里设置。有几组参数要注意。

[dosbox]下的“memsize=”项。这是DOS系统内存,并非越大越好。过大的内存可能导致一些游戏出现诸如乱码等问题,甚至根本无法运行。基本上默认的16M已够用,有些古董可能要更小。

[cpu]下的“core=”和“cycles=”项。“core=”是CPU的模拟方式,有normal,simple,dynamic,auto四种。一般选择默认的auto,让程序自行判断,出现问题再换其他的方式。dynamic方式效率最高,但是在一些游戏上会出问题。追求稳定的话,可设定为normal。另外,还有一个调试用的full模式,基本用不到,不过有兴趣的话可以用PM2测试一下。“cycles=”决定模拟速度,一般说来数值越高,运行速度越快。注意过高的cycles值可能会导致爆音等问题,甚至反而使速度降低。设为auto可由程序自动调节cycles值,设为max则会将cycles值设定为可以使用的最大值。通常使用默认的auto,速度慢的话可以设定为max或者自己手动调节。

[sblaster]是sb声卡的相关设置,很重要但是绝大多数时候不需要更改,只需在游戏的声卡设置中填入对应的参数值。声卡类型“sbtype=”的默认设定“sb16”足够应付绝大多数的游戏,但仍有少数游戏需要设为其他类型才会有音乐或者能够运行。sbbase=220,irq=7,dma=1,hdma=5这几个参数要记住,相当多游戏的问题就出在声卡的参数设置未与这组数值对应。

[dos]下的“xms=”,“ems=”项。xms,ems设定,默认值为true,开启。少数游戏需关闭。

以上参数对于本例游戏无需更改,直接找到[autoexec]项,配置DOSBox的启动命令。

如下编辑:

[autoexec]
# Lines in this section will be run at startup.
mount C H:\GAME\DOSBox\Games
C:

将Games文件夹设为模拟DOS系统的C盘,并将盘符切换为C。注意,一些游戏只有位于C盘下才能正常运行,所以最好不要把游戏目录所在处设为C以外的盘符。

启动DOSBox,以上命令自动加载。输入命令“cd k”,进入游戏所在目录K。

运行游戏前,一定要查看有没有声卡配置程序。没有配置声卡,很可能导致游戏没有声音,甚至无法运行。声卡配置程序一般名为SETUP、SETSOUND、INSTALL。一般来说只需配置一次,不过也存在ED4这样每次运行游戏前都必须重新配置声卡的情况。

对于本例游戏,首先运行“SETUP.EXE”,出现以下窗口。



按照dosbox.conf中的设定,即sbtype=sb16,sbbase=220,irq=7,dma=1,hdma=5进行设设置。本例游戏的设置较简单,天堂鸟游戏的声卡设置应该更具有代表性。

声卡配置完成后,运行“PLAY.EXE”。“经测试绝对可玩”的画面没有了,但是仍然没有进入游戏,窗口中显示如下信息。



出现“Wrong CD”的提示,显然是没找到游戏光盘。找不到光驱导致游戏无法运行是一个很常见的问题。对于光盘版的游戏,可以把虚拟光驱或者实体光驱设置为DOS系统的光驱,加载镜像或者光盘运行游戏;硬盘版的游戏则一般需要把游戏所在目录设置为光驱。

某些硬盘版游戏,虽然根本不需要从光盘读取任何数据,也仍然要检测到光驱才能运行。故使用DOSBox时,最好预先配置一个光驱,有备无患。

重新编辑[autoexec]项:

[autoexec]
# Lines in this section will be run at startup.
mount C H:\GAME\DOSBox\Games
mount D H:\GAME\DOSBox\Games\K -t cdrom
C:

将游戏所在文件夹K设置为光驱。参数-t cdrom即表示将路径设置为光驱。至于-ioctl,-label等参数,本例游戏还用不到,欲了解请查阅README。

再次运行PLAY.EXE,仍然是上图所示的画面,仍然是“Wrong CD”。注意第一张图,游戏文件夹中的EXE文件有一个是FAKECD.EXE,这是DOS下的虚拟光驱程序。可是打开游戏文件夹下PLAY.BAT文件,并没有看到加载这个程序。注意到PLAY.EXE文件很小,只有2KB,不妨用记事本打开它看看。



注意这两行,虽然有乱码,我们仍可以脑内补完。

FAKECD . /L:A
MSD_DOS
TIMER
CMD -O2 -D1
K
CMD -r
TIMER
MSD_DOS /U
FAKECD /U

此EXE文件其实是从BAT文件转换过来的,这次运气好,直接就看到了内容。注意FAKECD . /L:A,这是将游戏所在目录虚拟成光驱,盘符为A。刚才在DOSBox中将游戏所在目录设为光驱,盘符为D;将Games文件夹设置为硬盘,盘符为C,这个虚拟的DOS系统里并不存在A盘,所以游戏启动时仍然找不到盘符为A的光驱。

再次编辑[autoexec]项:

[autoexec]
# Lines in this section will be run at startup.
mount A H:\GAME\DOSBox\Games\K
mount C H:\GAME\DOSBox\Games
C:

将游戏所在目录设定为A盘,A盘设为硬盘或者光驱都可以。运行PLAY.EXE,终于看到了游戏的标题画面。

某些游戏对于盘符是有要求的,例如龙骑士3也要求存在A盘,如果在游戏目录存在FAKECD,CDX之类的虚拟光驱程序,不妨注意一下。(似乎有的游戏要求的盘符也不是A盘,好像碰到过需要虚拟出S盘后运行的某硬盘版银英4EX,不过一时找不到这个版本,没法进一步确认。好吧,反正银英4EX有不需多余的盘符,直接可在DOSBox中运行的较正常的硬盘版,上面的话请无视。)

在标题画面会发现鼠标没有反应,虽然还有键盘可用,但也只能到“玩家姓名输入”画面为止。



鼠标无法使用,很可能是因为没有加载鼠标驱动。注意PLAY.EXE中的几行命令,在启动游戏前,还运行了“MSD_DOS”、“TIMER”、“CMD”三个COM文件。在DOSBox中用/?参数运行一下这几个文件,会发现“MSD_DOS”就是鼠标驱动。既已加载鼠标驱动,为什么鼠标仍然无法使用?其实正常情况下,DOSBox会自动加载鼠标驱动,并不需要另外的驱动程序。而这个通过PLAY.EXE加载的“MSD_DOS”和DOSBox自动加载的鼠标驱动产生了冲突,反而导致鼠标不能使用。故不加载“MSD_DOS”即可解决问题。由于无法编辑PLAY.EXE,所以新建一个BAT文件,如下编辑:

FAKECD . /L:A
TIMER
CMD -O2 -D1
K
CMD -r
TIMER
FAKECD /U

此BAT文件中,去掉了游戏自带的“MSD_DOS”鼠标驱动。由此文件启动游戏,即可正常运行。

顺便说一下,由于DOSBox本身即可将任意目录设置为光驱,故实际上并不需要FAKECD程序,因而也就没必要非得将游戏目录设为A盘。有兴趣的话不妨配置一下试试。


现在的DOSBox的兼容性已经相当不错,但是想让它运行更多游戏的话,还是有些技巧的。本例中提及到如下方面。

版本。DOSBox不同版本间的兼容性差异还是比较明显的,不妨多备几个版本。除官方版本外,一些CVS版提供了更多的功能,也是不错的选择。

只读属性。运行游戏前,请先取消所有文件的只读属性,否则可能会引起无法存档等问题。另外,如果没有取消只读的话,运行游戏时“DOSBox Status Window”窗口会有提示。

内存大小。基本原则是够用就行,不要设定过大,默认的16M已经很好了。对于需要减少内存的情况,除了在dosbox.conf中直接更改外,还可以借助LOADFIX命令运行游戏,具体参看REAME。

CPU核心。通常设为AUTO让程序自动选择,但是也有程序自动选择为 dynamic模式导致崩溃的情况,这时可以改成normal或者其他模式试试。dynamic的兼容性其实也不错,追求效率的话推荐优先选择,出了问题再换。另外,由“DOSBox Status Window”窗口的信息可以大致推断是否是CPU核心出的问题。

声卡配置。很重要,如果游戏有声卡配置程序的话,运行游戏前,一定要首先按照dosbox.conf中对应的参数设置好。当然,也存在高报酬战将这种找不到声卡设置,却要在运行游戏前加上一句“set sound=sb16”才能听到音乐和音效的情况。除了配置好声卡外,由于有些游戏有光盘音轨和MIDI等不同的音源,请根据具体情况选择好对应的可用音源,这不只关系到有没有声音,声音正不正常,有时还会决定游戏能不能正常运行,如银英4EX的FM音源。一般说来,声卡设置中或者进入游戏后的配置选项中可以找到相关选项,不过像超时空英雄传说这种通过运行“CD_TRACK.BAT”和“SNDCARD.BAT”更改游戏配置文件以切换光盘音轨和MIDI的情况也是存在的。

光驱配置。同样很重要。最好预先设置一个光驱,比如先将虚拟光驱或者实体光驱设为虚拟系统的光驱,然后根据实际情况判断是否需要把游戏所在目录设置为光驱。为了避免本例中遇到的问题,不妨把光驱的盘符设为A。另外,对于一些光盘游戏,在设置光驱时可能要加上-usecd、-ioctl、-label之类的参数,具体参考REAME。

修改游戏执行文件。一些游戏要对执行文件做一些修改才能在DOSBox中运行,如PM2。本例这种需要脱壳的情况算是最简单的,毕竟现象明了,且有现成的方法或者工具可以用。但有些可能需要一定汇编知识才能确认和处理。

鼠标。DOSBox一般不需要另外的鼠标驱动,如果真的必须使用其他驱动的话,注意别与DOSBox本身的驱动冲突。

重写Play.bat。一些游戏原来的Play.bat文件可能并不适合在DOSBox的环境下使用,要根据情况重新编辑。通过改写Play.bat文件,重新配置驱动及程序的加载,跳过一些在DOSBox中运行有问题的程序或文件,可以使原本不能运行的游戏变得能够运行,比如阿曼尼斯开国启示录。

此外,有时会遇诸如VESA模式兼容性等显示问题,似乎一些可以通过加载或者配置显示驱动程序的方法解决,不过也有无解的情况。

如果游戏仍不能用DOSBox运行,请求助于万能的Google;DOSBox官方网站和论坛、DOSBoxWiKi、骨灰集散地、狼窝等网站也常能找到一些游戏的配置方法和补丁。当然,最坏的情况是DOSBox根本不支持这款游戏,请尝试使用VDMSound或虚拟机软件。

好吧,其实这个游戏仍不完美,只有音效没有音乐。PC98版是有音乐的,这个DOS版中的音乐文件似乎也在,不知是否为设置的问题,有兴趣的人不妨研究一下。

最后,本例与实际情况存在些许偏差,请勿按图索骥。

 顶部
rainstlin
地上的月影
Rank: 3Rank: 3Rank: 3
同盟第十三舰队幕僚总监 ...


UID 18054
精华 3
积分 330
帖子 213
狼毛 0 根
阅读权限 20
注册 2006-8-11
来自 同盟第十三舰队幕僚本部 ...
状态 离线
发表于 2008-4-20 15:12 资料 短消息  加为好友 
好深奥啊~慢慢看~





天之道,损有余而补不足。
人之道,损不足而补有余。
 顶部
ffghop
呢喃的歌声
Rank: 2Rank: 2


UID 8395
精华 0
积分 148
帖子 110
狼毛 5 根
阅读权限 10
注册 2005-10-23
状态 离线
发表于 2008-4-20 19:09 资料 短消息  加为好友 
果然很不错!支持2下!很深奥,漫漫看!

 顶部
dw820
摇曳的金星
Rank: 4Rank: 4Rank: 4Rank: 4


狼神杯【五子棋】  
UID 2511
精华 0
积分 1134
帖子 85
狼毛 103 根
阅读权限 30
注册 2004-12-25
来自 CD
状态 离线
发表于 2008-4-20 19:45 资料 短消息  加为好友 
请问一下,楼主用的截图软件是……

 顶部
gww
奔跑的春风
Rank: 3Rank: 3Rank: 3



UID 101090
精华 0
积分 477
帖子 317
狼毛 0 根
阅读权限 20
注册 2008-4-4
状态 离线
发表于 2008-7-17 14:27 资料 短消息  加为好友 
真是好帖!每次看,都有收获!

 顶部
银河漫步
执法众
Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8


UID 13556
精华 3
积分 1251
帖子 688
狼毛 182 根
阅读权限 100
注册 2006-3-24
来自 星城
状态 离线
发表于 2008-7-18 11:06 资料 短消息  加为好友 
我想知道怎么用DOSBOX正常运行DOS版的太阁2

 顶部
gww
奔跑的春风
Rank: 3Rank: 3Rank: 3



UID 101090
精华 0
积分 477
帖子 317
狼毛 0 根
阅读权限 20
注册 2008-4-4
状态 离线
发表于 2008-7-18 11:37 资料 短消息  加为好友 


QUOTE:
原帖由 银河漫步 于 2008-7-18 11:06 AM 发表
我想知道怎么用DOSBOX正常运行DOS版的太阁2

dosv那个?

 顶部
Lator
无名的旅人
Rank: 1



UID 14505
精华 0
积分 32
帖子 6
狼毛 0 根
阅读权限 10
注册 2006-4-23
状态 离线
发表于 2008-7-19 02:34 资料 短消息  加为好友 

 顶部
gww
奔跑的春风
Rank: 3Rank: 3Rank: 3



UID 101090
精华 0
积分 477
帖子 317
狼毛 0 根
阅读权限 20
注册 2008-4-4
状态 离线
发表于 2008-7-19 08:56 资料 短消息  加为好友 


QUOTE:
原帖由 Lator 于 2008-7-19 02:34 AM 发表


还是您强,这个游戏我在dosbox下无法加载字库

 顶部
wphoto2003 (马力)
圣洁的灵魂
Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7
往事随风 开始新的生活


论坛之王【顶级】  热情火山  神奇法师  百目惠识  热情号角  
UID 60
精华 10
积分 45874
帖子 1379
狼毛 9826 根
阅读权限 90
注册 2004-5-13
来自 天津
状态 离线
发表于 2008-7-19 09:33 资料 短消息  加为好友 QQ
那个应该是

DOS/V 游戏

把 “DOSVFONT -F:font.dat -TJ”
加到DOS/V 游戏的*.bat之中。
就有通过DOS/V 启动盘启动的效果。

这样加载字库吧

以前我发的那个dosbox资料集中有的说 见5楼

http://www.acgwolf.com/discuz/viewthread.php?tid=31914&fpage=1&highlight=dosbox

 顶部
gww
奔跑的春风
Rank: 3Rank: 3Rank: 3



UID 101090
精华 0
积分 477
帖子 317
狼毛 0 根
阅读权限 20
注册 2008-4-4
状态 离线
发表于 2008-7-19 10:31 资料 短消息  加为好友 


QUOTE:
原帖由 wphoto2003 于 2008-7-19 09:33 AM 发表
那个应该是

DOS/V 游戏

把 “DOSVFONT -F:font.dat -TJ”
加到DOS/V 游戏的*.bat之中。
就有通过DOS/V 启动盘启动的效果。

这样加载字库吧

以前我发的那个dosbox资料集中有的说 见5楼

http://w ...

老大可能没试过,这个太2在dosbox下加载字库也没用。

 顶部
wphoto2003 (马力)
圣洁的灵魂
Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7
往事随风 开始新的生活


论坛之王【顶级】  热情火山  神奇法师  百目惠识  热情号角  
UID 60
精华 10
积分 45874
帖子 1379
狼毛 9826 根
阅读权限 90
注册 2004-5-13
来自 天津
状态 离线
发表于 2008-7-19 11:51 资料 短消息  加为好友 QQ
那个你上qq 把那个太阁2日文版给我发个 我试试

 顶部
wphoto2003 (马力)
圣洁的灵魂
Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7
往事随风 开始新的生活


论坛之王【顶级】  热情火山  神奇法师  百目惠识  热情号角  
UID 60
精华 10
积分 45874
帖子 1379
狼毛 9826 根
阅读权限 90
注册 2004-5-13
来自 天津
状态 离线
发表于 2008-7-19 13:16 资料 短消息  加为好友 QQ
这里还有怪事 那个有人用dosbox把三国风云 运行出来了

那个我现在用他的版本还在运行不能中 晕

http://bbs.koeicn.com/redirect.php?tid=200364&goto=lastpost

 顶部
gww
奔跑的春风
Rank: 3Rank: 3Rank: 3



UID 101090
精华 0
积分 477
帖子 317
狼毛 0 根
阅读权限 20
注册 2008-4-4
状态 离线
发表于 2008-7-19 14:53 资料 短消息  加为好友 


QUOTE:
原帖由 wphoto2003 于 2008-7-19 01:16 PM 发表
这里还有怪事 那个有人用dosbox把三国风云 运行出来了

那个我现在用他的版本还在运行不能中 晕

http://bbs.koeicn.com/redirect.php?tid=200364&goto=lastpost

三国风云我知道是怎么回事了,那个太2还是无法显示字体

 顶部
shasha
无名的旅人
Rank: 1


UID 120366
精华 0
积分 12
帖子 11
狼毛 0 根
阅读权限 10
注册 2008-7-19
状态 离线
发表于 2008-7-19 20:03 资料 短消息  加为好友 
过来看看……





高手就是这样练出来的。
 顶部
Lator
无名的旅人
Rank: 1



UID 14505
精华 0
积分 32
帖子 6
狼毛 0 根
阅读权限 10
注册 2006-4-23
状态 离线
发表于 2008-7-20 10:25 资料 短消息  加为好友 
三国风云移除FIRE.FTC,无需按回车跳过。

片头、LOGO处卡死这种问题,可尝试改写bat文件跳过,或者直接移除相关文件。

 顶部
gww
奔跑的春风
Rank: 3Rank: 3Rank: 3



UID 101090
精华 0
积分 477
帖子 317
狼毛 0 根
阅读权限 20
注册 2008-4-4
状态 离线
发表于 2008-7-20 14:37 资料 短消息  加为好友 


QUOTE:
原帖由 Lator 于 2008-7-20 10:25 AM 发表
三国风云移除FIRE.FTC,无需按回车跳过。

片头、LOGO处卡死这种问题,可尝试改写bat文件跳过,或者直接移除相关文件。

谢谢,三国风云的问题,昨天我自己蒙出来了

那个太2,您是怎么弄的?

 顶部
Lator
无名的旅人
Rank: 1



UID 14505
精华 0
积分 32
帖子 6
狼毛 0 根
阅读权限 10
注册 2006-4-23
状态 离线
发表于 2008-7-20 22:45 资料 短消息  加为好友 
关于Dosbox中运行DOS/V游戏正确显示字体
1. 使用常见的工具DOSVFONT.com。在运行游戏前输入命令“dosvfont -f:font.dat -tj”,载入日文字库,再运行游戏。
2. 如果DOSVFONT.com不起作用,请去棒子国找DOSJP.com试试。

 顶部
gww
奔跑的春风
Rank: 3Rank: 3Rank: 3



UID 101090
精华 0
积分 477
帖子 317
狼毛 0 根
阅读权限 20
注册 2008-4-4
状态 离线
发表于 2008-7-20 23:09 资料 短消息  加为好友 


QUOTE:
原帖由 Lator 于 2008-7-20 10:45 PM 发表
关于Dosbox中运行DOS/V游戏正确显示字体
1. 使用常见的工具DOSVFONT.com。在运行游戏前输入命令“dosvfont -f:font.dat -tj”,载入日文字库,再运行游戏。
2. 如果DOSVFONT.com不起作用,请去棒子国找DOSJP.co ...

对您的敬仰,我只能用“orz”这个动作来表达了:五体投地,再一次的五体投地

 顶部
gww
奔跑的春风
Rank: 3Rank: 3Rank: 3



UID 101090
精华 0
积分 477
帖子 317
狼毛 0 根
阅读权限 20
注册 2008-4-4
状态 离线
发表于 2008-7-20 23:33 资料 短消息  加为好友 


QUOTE:
原帖由 shasha 于 2008-7-19 08:03 PM 发表
过来看看……

是你吗?刚在避难所见到你

 顶部
 



当前时区 GMT+8, 现在时间是 2024-11-20 16:27
苏ICP备2024131517号

Powered by Discuz! 5.5.0 © 2001-2007
Processed in 0.012493 second(s), 9 queries, Gzip enabled

清除 Cookies - 联系我们 - 狼窝 - Archiver - WAP