DOSbox的详细设置 玩老DOS游戏的必备技能
2024年06月17日 Mr.C
本文转载自:https://www.bilibili.com/read/cv21831395/
原作者:在字幕组躺平的老丁
外部链接
DOSBOX官网:https://www.dosbox.com/
下载:https://www.dosbox.com/download.php?main=1
基本操作
- 首先下载 DOSBox0.74-3。
- 下载完毕,开始安装。安装到任意目录均可。安装完毕会在开始菜单生成程序组,
DOSBox.conf
文件是 DOSbox 的配置文件,保持默认配置就可以顺利运行游戏,alt+enter可以全屏幕,如果觉得游戏运行速度不合适,可以修改cycles=3000
,将3000适当调整大小。 运行 DOSBox,会打开两个 DOS 窗口,我们只需在如下窗口中键入
mount c h:\\pal
此命令的作用为将 h:\\pal
挂载为 C 盘,h:\pal 为《仙剑奇侠传》所在目录。
- 键入
c:
进入 C 盘,键入pal.exe
即可进入游戏 - 已经可以正常运行游戏了
- 终极大法:将游戏的可执行程序直接拖到 DOXbox 的快捷方式上面,就可以无需输入任何命令直接运行。
快捷方法
每次都这样输入也太麻烦啦!好在还有一些快捷方法:
一、直接把可执行文件拖动到DosBox图标上放手。不过或许是软件还不完善,有时候这样做会出错。
二、用记事本打开配置文件dosbox.conf
文件,找到[AUTOEXEC]
部分,把整条mount命令写在这里——DosBox把这部分当作AUTOEXEC.BAT
。提示:我们在DosBox中可以使用大部分dos内部命令。外部命令软件本身没包含,而且不一定能用。
以红茶的大2为例,那么在最后加上语句:
\mount g c: koukai2 g:\
这样,每次启动DOSBOX后,红茶机器上的koukai2文件夹就是就是DOSBOX的g盘,而且每次都会自动执行这两句命令,直接进入g盘根目录。
然后就是输入 \
加回车就可以开始game了。
接下来是优化和热键的问题:
CTRL+ F12/F11来加/减速.DosBox标题栏上有个数字,通过它,可以了解到目前虚拟cpu的速度。
提示:别加得太过分。例如,若系统中用3600左右的速度正好,就不要再提高了,再高反而要变慢的。找到合适的的值后,你可以将它写到dosbox.conf
中[cpu]
部分的cycles项,今DosBox会把它作为默认值。
ALT+ENTER可以切换/解除全屏模式。(推荐全屏模式,因为窗口下,游戏运行比较慢)
CTRL+F10可以把鼠标从窗口中释放。
CTRL+F9是关闭DOSBox
dosbox.conf
中从[mixer]
到[speaker]
的项目都是关于声音的。设置很简单,唯一要注意的是,[mixer]项中的rate
决定了你能听到的效果上限,所以它不能低于其它项目中的值。
最后建议不要使用中文目录名和文件名,有可能出错。
下载到的安装文件不大,安装也是标准的WIN式。安装好后运行,会出现两个COMMAND样子的窗口,我们操作的是前方的那个。
假如你的枫之舞安装在\
,那么我们可以输入:
mount c \
来把swda
目录虚拟成DosBox的C盘根目录。下面的操作就和真dos一样了。如果想虚拟光驱或软驱,则要加参数-t cdrom
或-t floppy
。建议不要使用中文目录名和文件名,有可能出错。
每次都这样输入也太麻烦啦!好在还有一些快捷方法:
一、直接把可执行文件拖动到DosBox图标上放手。不过或许是软件还不完善,有时候这样做会出错。
二、用记事本打开dosbox.conf
文件,找到[AUTOEXEC]
部分,把整条mount命令写在这里——DosBox把这部分当作AUTOEXEC.BAT。提示:我们在
DosBox中可以使用大部分dos内部命令。外部命令软件本身没包含,而且不一定能用。
例子:假如你的DOS游戏都在E: dosgames 下,那么可以这样写:
mount d \
这样,每次启动DOSBOX后,你的e:/dosgames/
就是DOSBOX的D盘。
cd swda
swda.exe
玩吧~
优化DOSBOX
下面我们来优化一下DOSBOX。
现在DosBox的模拟效率还不太高。所以,先把能关掉的其它程序都关掉再来进行下一步。
首先,用DosBox运行一个要求配置较高的游戏(不过DOOM一类的就免了,除非你的电脑很强)。
DosBox标题栏上有个数字,通过它,可以了解到目前虚拟cpu的速度。现在,我们使用CTRL-F12/F11来加/减速。提示:别加得太过分。例如我
的C4-1.7G系统中用3600
左右的速度就正好,再高反而要变慢的。找到合适的的值后,你可以将它写到配置文件中[cpu]
部分的cycles
项,今后
DosBox会把它作为默认值。
配置文件中从[mixer]
到[speaker]
的项目都是关于声音的。设置很简单,作者也给了很详尽的注释(README.TXT)。唯一要注意的是,
[mixer]
项中的rate
决定了你能听到的效果上限,所以它不能低于其它项目中的值。用dosbox玩时,要在dosbox.conf文件里将[sblaster]
部分
里的type
改成type=sb2
如果type
里写的是sbpro1/sbpro2/sb16
,游戏中会出现只有音效但无背景音乐的情况(也就是说听不到“沧海一声笑”,只能听见刀剑的声效
和真人语音)至于IRQ和DMA则无关紧要,游戏能自动识别,5和7都可以
1、直接输入dosbox 路径时,目标路径会被模拟为c: >
一般来说不会有什么问题,但对一些有特殊路径要求的游戏而言就会出错
例子:同级生2
在读完ELF片头后可能出现c: nanpa2 flag?(这是由于上次存档时的路径不同造成的)
然后退回提示符状态
解决方法:舍弃dosbox自动mount,用mount手动指定
mount c ???(???代表你真实硬盘中nanpa2目录的上级目录)
比如nanpa2在你硬盘E: elf nanpa2
那么应为
mount c e: elf
这样模拟出来就是c: nanpa2
再次运行nanpa2.bat,就不会出现c: nanpa2 flag?而跳回提示符状态了
2、游戏不能识别CDROM
在我们进行mount c d -t cdrom这样的工作之后,游戏仍提示找不到游戏光盘时
有可能是因为无法识别光盘标签(因为默认mount的CDROM是没有名字的)
这时候可以用mount c d -t cdrom -label LABEL(既需要的标签名)
同时还可以检测一下dosbox能识别你的哪些光驱(包括真实的和虚拟的)
直接输入mount -cd
会按0、1、2的顺序排出来
之后你就可以用mount x y -t(随便,根据情况而定) -usecd #(#为刚才说的数字0、1、2...)来虚拟所需路径
3、当游戏无法运行时,换个版本的dosbox
虽然目前的最新版是0.65,但并不是说0.65可以向下兼容0.58和0.60能模拟的所有游戏
例子:上古卷轴竞技场(0.65下有人可以有人则不行,但.58和.60下都可以)
5、loadfix
由于早期游戏无法预料到现在的内存数会这么庞大,所以在大内存下会产生错误。这时可以用loadfix来解决
使用方法是:loadfix -大小 文件名
比如:loadfix -32 mm2.exe是分配32k内存给魔法门2
如果不打-32,则分配默认值64k
如果需要的话,可以打loadfix -f清掉刚才分配的内存
6、充分利用config(default.ini)调整初始速度、窗口大小、滤镜(目前支持scale2x)
这部分还没掌握,都是看别人写的然后改 @_@
DOSBOX.CONF
这个是DOSBOX的配置文件,由我--真·熊猫进行中文注释,特别感谢仙痴研究成果和鲁痴的强力技术支持!
本注释的编写参考了原版的注释,仙痴以及鲁痴的研究成果。本配置文件最后保留了仙痴的注释,都是十分有帮助的。对于仙痴的不懈努力在此表示衷心的感谢!
本配置文件是针对《仙剑奇侠传》DOS版本的,所以相关的参数有针对性,如果要运行其他DOS游戏,请根据游戏的需要参考注释自行修改。
本注释还有很多不完善的地方,有任何建议或意见请来
http://www.gamerhome.net/main/index.php?showforum=75进行讨论,也可加入群9581813讨论。
如此详细的注释在国内应该是首次,并且所有条款都进行了注释——无论仙剑的运行是否需要。希望大家能由此对DOSBOX有一个系统的了解
提示1:原版的README中提到,DOSBOX的执行效率大概是奔腾400MHZ的CPU模拟后能流畅运行为286设计的游戏,对于一般的DOS游戏来说至少应该考虑1 GHZ的CPU,为了尽量提高速度,请尽量关闭其他的程序,以提高DOSBOX的运行效率
提示2:“#”是注释符号,某些命令前的注释符号根据需要自行取消。中文前注释符号可以取消,不影响程序执行。
提示3:如果你安装了手柄,摇杆之类的,请考虑卸载。否则某些机器会出现DOSBOX因载入JOYSTICK/JOYPAD而变得十分缓慢,并且这个版本为止还没有禁止摇杆/手柄的参数。
提示4:快捷键 ALT-ENTER 全屏模式
CTRL-F1 开始键盘布局(如果哪个案件坏了,可以由此选择替换)
CTRL-F4转换已载入的虚拟驱动器,作用是更新所有改动过的作为虚拟驱动器的目录
CTRL-F5抓图,以PNG格式保存,路径设置见之后描述
CTRL-F6开始录制声音,以WAV格式保存,再次按下中止
CTRL-ALT-F7 开始记录OPL命令,同样再次按下中止
CTRL-ALT-F8开始录制最初的MIDI命令,再次按下中止。
CTRL-F7减少跳帧
CTRL-F8增加跳帧
CTRL-F9关闭DOSBOX
CTRL-F10锁定/解锁鼠标
CTRL-F11减少cpucycle
CTRL-F12增加cpucycle
##################################################################### [sdl]
fullscreen=false
# 这个参数是设置游戏是否在全屏模式下运行,是则为true,否则为false
fulldouble=false
# 是否在全屏模式下使用双重缓冲,机器好的朋友建议打开。不过对画面的改善微乎其微。
fullfixed=ture
# 在全屏模式下,是否将画面拉伸至满屏。选择false不拉伸。如果你的全屏模式出现画面偏移,请选择ture。
fullresolution=800x600
# 在全屏模式下,画面的分辨率是多少,一般来说,数值越大机器要求越高,可选参数1024x768,800x600,640x480
output=surface
# 输出模式,可选的参数是surface,overlay,opengl,openglnb,ddraw.如果你的全屏模式有问题,改成ddraw或者opengl就能够解决。选择opengl,openglnb,ddraw在全屏模式下画面稍有柔化。
hwscale=1.00
# 硬件缩放:如果你的硬件支持缩放,则以窗口模式运行时,将按照比例缩放。默认是1.00,即游戏默认分辨率所占100%大小。注意,这种大小是相对你桌面分辨率的,如果你的桌面分辨率跟游戏一样,那么运行的效果也就差不多是全屏了。
autolock=true
# 鼠标自动锁定:默认即可。
sensitivity=100
# 鼠标灵敏度,需要你的鼠标更灵敏,将默认数值调高即可,不过会占用更多系统资源。
waitonerror=true
# 如果DOSBOX运行过程中出现错误,则出错时不关闭DOSBOX。注意,这个选项意义不大,如果出现了稍微有点严重的问题,DOSBOX都会立刻自行结束,等不到你看清错误参数—_—b。所以如果为了看清……看准时机用pause break键吧
priority=higher,normal
# 程序优先级:可选lower,normal,higher,highest。一次两个,以逗号分隔,当DOSBOX处于后台或最小化时程序自行选择第二个。
mapperfile=mapper.txt
# 自定义字符映射表。对于不满意游戏默认按键设置而游戏又不提供更改功能,想用某个键代替某个键时,考虑这个。详细的方法参见readme.txt中 Keymapper 一节 [dosbox]
language=
# 外挂语言包,使DOSBOX支持多语言。这个版本只有英文,想看中文?……等有人汉化后再说……
machine=vga
# 显示模式,使用默认。备选参数hercules,cga,tandy,vga
captures=capture
# 等号后面那个是DOSBOX程序文件所在目录下的子目录名称,用于存放截图。
memsize=16
# 设置DOSBOX总共能使用的内存,使用默认
[render]
frameskip=0
# 跳帧,如果你的机器实在是不好,就考虑这个选项吧……备选参数0-9,越大跳帧越多,以牺牲画面流畅度来提高游戏运行速率。
aspect=false
# 象素高宽比,默认false是1:1,如果不是有特殊需要就不要去更改。
scaler=normal2x
# 画面优化:备选参数none,normal2x,advmame2x,advmame3x,advinterp2x,interp2x,tv2x分别对 应\无\,\倍柔化\,\二倍柔化\,\三倍柔化\加强型双线性过滤\,\双线性过滤\,\模 式\。选择“无”的话画面明显锐化。选择“TV模式”的话程序会模拟扫描线,模拟出电视的效果。特别怀旧的朋友可以试试。其他的特效据个人测试结果来看效 果区别不大。依个人喜好设定。 [cpu]
core=normal
# 模拟器CPU核心调整:备选参数simple,normal,full,dynamic。对应简易,通常,完全,动态调整。除非特殊需要,否则使用默认。
cycles=5000
# 模拟器CPU频率。对于一般的游戏3000足矣,但是这里对于DOS仙剑的淡入淡出进行了测试,5000以上时能改善淡入淡出的速度问题。注意,更改频率 须根据个人机器配置不同来进行不同的设置。并且无论如何设置,游戏的整体运行速率都不会超过正常的100%,嘿嘿,想有变速齿轮般的效果是不可能的。还有 要注意的是,这个速度设置的太低,游戏速度慢;设置的太高,由于你的机器配置所限,游戏速度也会慢。那么再回到仙剑,如果你的机器够好,不妨设置到 8000。
cycleup=500 cycledown=500
# 这两个中,上面一个是增加,下面一个是减少。用快捷键键增加或减少cycle时,每次减少的数值或百分比。如果数值大于等于100时,变动的是数值;如果在1-99之间,则是变动的百分比。 [mixer]
nosound=false
# 静音模式:默认关闭。除非你不想听声音,否则保持默认。
rate=22050
# 采样率:默认是22MHZ,如果想效果稍微好点(主要是心理因素啦~),可以设置成44100。
blocksize=2048
# 块大小:越大越能改善声音停顿的现象。不过也会带来副作用--延迟。
prebuffer=10
# 缓冲:播放时缓冲多少毫秒,声音卡的话可以考虑加大数值,但是相应的,系统资源占用加大。 [midi]
mpu401=true
# 是否进行MPU-401模拟,想听MIDI就要设置为true。
intelligent=true
# 智慧处理模式,使用默认
device=default
# 选择接受MPU-401发出的MIDI讯号的设备,使用默认。备选参数为 # default,alsa,oss,win32,coreaudio,none暂未详细测试。 config=
# 这个参数是针对特殊设置的,如有需要,可以去专业网站看看。这里无需考虑
[sblaster]
type=sb16
# 选择进行模拟的soundblaster型号:none,sb1,sb2,sbpro1,sbpro2,sb16
base=220 irq=7 dma=1 hdma=5 mixer=true oplmode=auto
# 以上6条是能否发声的关键,游戏中的设置应该跟这里一样。以仙剑为例:base对应游戏设置程序install.exe中的I/O port;IRQ,DMA分别一一对应。
oplrate=22050
# 这个是模拟音频的采样率,也可以提高到44100,不过效果改观不大。 [gus]
# gus=true # rate=22050 # base=240
# irq1=5 # irq2=5 # dma1=3 # dma2=3
# ultradir=C:\\ULTRASND
# 以上8条是关于Gravis Ultrasound的模拟的,仙剑用不到,这里关闭,需要的朋友看看原版的注释(以下为这8条的原版注释): # gus -- Enable the Gravis Ultrasound emulation.
# base,irq1,irq2,dma1,dma2 -- The IO/IRQ/DMA addresses of the # Gravis Ultrasound. (Same IRQ's and DMA's are OK.) # rate -- Sample rate of Ultrasound emulation.
# ultradir -- Path to Ultrasound directory. In this directory # there should be a MIDI directory that contains # the patch files for GUS playback. Patch sets used # with Timidity should work fine.
[speaker]
# pcspeaker=true # pcrate=22050 # tandyrate=22050 # disney=true
# 以上4条仙剑用不到,这里关闭。需要的朋友看看原版注释,如下: # pcspeaker -- Enable PC-Speaker emulation.
# pcrate -- Sample rate of the PC-Speaker sound generation. # tandyrate -- Sample rate of the Tandy 3-Voice generation. # Tandysound emulation is present if machine is set to tandy. # disney -- Enable Disney Sound Source emulation.
[bios]
# 0.63版(含)以前的版本(本版是0.63)这里都没有选项。 [dos]
xms=true ems=false
# 针对仙剑的运行,关闭了EMS。不要动这个参数。 [modem]
modem=false
# 进行MODEM模拟,联机游戏用,如果需要使用MODEM连接,就打开。
comport=2 # 端口,使用默认
listenport=23
# 连入端口,使用默认
[directserial]
directserial=false
# 直接电缆连接,也是联机游戏用的,如果需要使用直接电缆连接,就打开。
comport=1
# DOSBOX中的端口,使用默认
realport=COM1
# 主机的端口,按实际情况设置
defaultbps=1200 # 标准传输速率(bps) parity=N
# 奇偶校验,备选参数:N,E,O
bytesize=8
# 每个数据包的大小,备选参数:5,8
stopbit=1
# 停制位点,使用默认。备选参数:1,2 [ipx] ipx=false
# IPX协议连接,联机游戏用,如果需要请选择true
[autoexec]
# 这里添加的命令是DOSBOX自动加载的命令,除了MOUNT等DOSBOX专有命令,也可添加部分DOS命令,如COPY,CLS等等。
# 备用自动运行DOS仙剑的参数:
# mount d h:\\ -t cdrom -usecd 0 -apsi -label GC050 # mount d h:\\ -t cdrom -usecd 0 -ioctl -label GC050 # ↑ ↑ ↑
# 模拟为 光盘或镜象所在 光盘或镜象处在当前系统的第几个 # 驱动器D: 驱动器名 光驱,0-第一个,1-第二个……依次类推
# 以上两个命令,第一个对应WIN9X,第二个对应WINXP,二者选其一。
# 这个命令的作用是将DOSBOX中的驱动器D设置为游戏光驱,对于需要光盘的游戏来说是必不可少的。
# 那么如何运行光盘呢?首先,你要有光盘就方便了,放入光驱然后执行上面的命令就行了。如果是光碟的镜象,则先使用虚拟光驱软件(推荐DAEMON Tools)加载。注意,一定要打开虚拟光驱软件上的所有模拟选项。
# 后面仙痴的注释中对于这个问题有十分详细的解说,大家一定要看。
#####################################################################
# 最后是仙痴的原话,在这里列出:
# 各位好,我是仙痴。出于共同的爱好,我们走到了一起。下面谈谈如何完美再现仙剑的“音乐”“音效”和“CD 音源”: #
# DosBOX 我也是后接触的,这个软件真是伟大。它让我们可以运行任何以前的老程序,但这里我们主要讨论的是仙剑。
# 通常用它的默认设置,就可以听到音乐和音效。如果还想听到CD音源,那至少需要有光盘或是光盘映象文件。
# 用 CloneCD 的虚拟光驱或者 DaemonTools 加载都行(同样伟大的软件,加载后都能用解霸播放出声音)。 #
# 当然,要想成功的听到音乐音效甚至CD音源,参数还要设置好才行。感谢网友们的支持,他们提供了主要实现的方法。
# 虽然,当时我没有试验成功。但通过两次的试验成功了。为了让所有仍在为此而困惑的
人们少走弯路,我写一下体会。 #
# 首先要用程式 install.exe 设置“系统设定”的“音乐/音效”配备选项。通常设成“声霸卡”或“CD音源+声霸卡”
# 音乐和音效在和 DosBOX 参数方面相关的主要是: # [sblaster] # irq=7 # dma=1 # 和 # [gus] # irq1=7 # dma1=1
# 要一致。同时也要和 install.exe 设置的 IRQ 一致。通常的数值都是 7 或是 5 。这样可以绝对保证你能听到音乐和音效了。 #
# 如果有原版光盘或是光盘映象文件的朋友,你就可以有耳福听到 8 首 CD 音乐了。虽然可以直接听,但这和在游戏中听到,
# 感受是完全不同的。假如你在 install.exe 中设置了“CD音源+声霸卡”,如果 DosBOX 的参数不对,你看到的片头就是
# 没声音(不同于只有“声霸卡”的设定)。让 CD 发声的参考参数是:mount d z:\\ -t cdrom -usecd 0 -ioctl -label GC050 #
# 经过我的试验,关键的两个参数是光驱的“盘符”和“顺序号(就是那个0)”而成功让 CD 音源发声的关键是:
# 1、将“盘符”的字母改成你的光盘或是光盘映象文件所在的盘符;
# 2、将“顺序号”改成相应的数字:它是第几个光驱(0是第一个,1是第二个,依此类推) # 3、DosBOX 的正确使用。执行的批处理必须是主用而不是调用。@dosbox\\dosbox .\\pal!.exe 则无声,有声的参见 !play.bat
# 光盘或虚拟光盘并不强行需要非得处于第一光驱位置,只要标明它在第几个光驱(0是第一个,1是第二个,依此类推)。
# 应该能够成功,无论是在 Win9X 还是在 WinXP 下。(在 Win9X 中比武招亲仍没有,其他都有声。试 N 天无望,寻高人指点) #
# 还需要说明的是在Win9X下,光盘的“顺序号”如果指定则必须是大于等于“真实顺序号(第一个仍是0)”的任何正整数。
# 而“盘符”则任意。只要是存在的就行(哪怕是 C: 甚至是A: )。但在WinXP下,“盘符”必须正确;而“顺序号”无所谓。 #
# 感谢网友:“外塞之雾”以及“唐方哥哥”、“南闲”、“阴人”提供 DosBOX 的参数,感谢“长白老妖”协助听CD存档的搜集整理
# 隆重感谢:install.exe 的主要破解者“Chance Clever”主页:http://cclever.spymac.net/ 信箱:chanceclever@sina.com
# 本版本并不完善,努力着并等待着共同的努力者们共同完成我们心中的“完美仙剑”的情结..............................
# mount d i:\\ -t cdrom -usecd 0 -apsi -label GC050
#(Win9X)并不绝对是-apsi,-ioctl 也行
# 备用参数:mount d z:\\ -t cdrom -usecd 0 -ioctl -label GC050(WinXP) # mount d i:\\ -t cdrom -usecd 1 -ioctl -label GC050
城通网盘的链接可能会要求输入查看分享的密码,我们发布的城通所有分享链接的查看密码都是9ioldgame
或者9527
爱输入哪个就输入哪个,都能访问(2024-09-26)