dosbox运行C语言,DOSBox使用教程 在windows下模拟DOS

端木骞尧
2023-12-01

DOSBox软件是当前在 Windows 系统运行 DOS 游戏的较为完美的解决方案,该软件不仅能支持相当多的游戏实现正常运行,而且能将声音完美表现出来。

每次都这样输入也太麻烦啦!好在还有一些快捷方法:

一、直接把可执行文件拖动到DosBox图标上放手。不过或许是软件还不完善,有时候这样做会出错。

二、用记事本打开配置文件dosbox.conf文件,找到[AUTOEXEC]部分,把整条mount命令写在这里——DosBox把这部分当作AUTOEXEC.BAT。提示:我们在DosBox中可以使用大部分dos内部命令。外部命令软件本身没包含,而且不一定能用。

以红茶的大2为例,那么在最后加上语句:

"

mount g c: koukai2

g:

"

这样,每次启动DOSBOX后,红茶机器上的koukai2文件夹就是就是DOSBOX的g盘,而且每次都会自动执行这两句命令,直接进入g盘根目录。

然后就是输入 "play"加回车就可以开始game了。

接下来是优化和热键的问题:

CTRL+ F12/F11来加/减速.DosBox标题栏上有个数字,通过它,可以了解到目前虚拟cpu的速度。提示:别加得太过分。例如,若系统中用3600

左右的速度正好,就不要再提高了,再高反而要变慢的。找到合适的的值后,你可以将它写到dosbox.conf中[cpu]部分的cycles项,今后

DosBox会把它作为默认值。

ALT+ENTER可以切换/解除全屏模式。(推荐全屏模式,因为窗口下,游戏运行比较慢)

CTRL+F10可以把鼠标从窗口中释放。

CTRL+F9是关闭DOSBox

CTRL+F5可以截取DOS图片,图片会以png格式保存在C:\Documents and Settings\XXX(用户名)\Local Settings\Application Data\DOSBox\capture的目录下。

dosbox.conf中从[mixer]到[speaker]的项目都是关于声音的。设置很简单,唯一要注意的是,[mixer]项中的rate决定了你能听到的效果上

限,所以它不能低于其它项目中的值。

最后建议不要使用中文目录名和文件名,有可能出错。

下载到的安装文件不大,安装也是标准的WIN式。安装好后运行,会出现两个COMMAND样子的窗口,我们操作的是前方的那个。

假如你的枫之舞安装在"D: dosgames swda",那么我们可以输入:

mount c "D: dosgames swda"来把swda目录虚拟成DosBox的C盘根目录。下面的操作就和真dos一样了。如果想虚拟光驱或软驱,则要加参数-t

cdrom或-t floppy。建议不要使用中文目录名和文件名,有可能出错。

每次都这样输入也太麻烦啦!好在还有一些快捷方法:

一、直接把可执行文件拖动到DosBox图标上放手。不过或许是软件还不完善,有时候这样做会出错。

二、用记事本打开dosbox.conf文件,找到[AUTOEXEC]部分,把整条mount命令写在这里——DosBox把这部分当作AUTOEXEC.BAT。提示:我们在

DosBox中可以使用大部分dos内部命令。外部命令软件本身没包含,而且不一定能用。

例子:假如你的DOS游戏都在E: dosgames 下,那么可以这样写:

mount d "e:/dosgames/"

这样,每次启动DOSBOX后,你的e:/dosgames/就是DOSBOX的D盘。

cd swda

swda.exe

玩吧~

下面我们来优化一下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下都可以)

4、有时需要屏蔽一些参数

里面谈到了设置dpmi=false对部分游戏的必要性(当然反过来,一些游戏则必须要求dpmi=true)

类似的还有xms和ems

ps:这个帖子里说“不要用默认source,用CVS的”我没找到...

5、loadfix

由于早期游戏无法预料到现在的内存数会这么庞大,所以在大内存下会产生错误。这时可以用loadfix来解决

使用方法是:loadfix -大小 文件名

比如:loadfix -32 mm2.exe是分配32k内存给魔法门2

如果不打-32,则分配默认值64k

如果需要的话,可以打loadfix -f清掉刚才分配的内存

6、充分利用config(default.ini)调整初始速度、窗口大小、滤镜(目前支持scale2x)

这部分还没掌握,都是看别人写的然后改 @_@

以游戏枫之舞为例子。假如你的枫之舞安装在"D:\dosgames\swda",那么我们可以输入:

mount c "D:\dosgames\swda"来把swda目录虚拟成DosBox的C盘根目录。下面的操作就和真dos一样了。如果想虚拟光驱或软驱,则要加参数-t cdrom或-t floppy。建议不要使用中文目录名和文件名,有可能出错。

每次都这样输入也太麻烦啦!好在还有一些快捷方法:

一、直接把可执行文件拖动到DosBox图标上放手。不过或许是软件还不完善,有时候这样做会出错。

二、用记事本打开dosbox.conf文件,找到[AUTOEXEC]部分,把整条mount命令写在这里——DosBox把这部分当作AUTOEXEC.BAT。提示:我们在DosBox中可以使用大部分dos内部命令。外部命令软件本身没包含,而且不一定能用。

例子:假如你的DOS游戏都在E:\dosgames\下,那么可以这样写:

mount d "e:/dosgames/"

这样,每次启动DOSBOX后,你的e:/dosgames/就是DOSBOX的D盘。

cd swda

swda.exe

玩吧~

下面我们来优化一下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.61,但并不是说0.61可以向下兼容0.58和0.60能模拟的所有游戏

例子:上古卷轴竞技场(0.61下有人可以有人则不行,但.58和.60下都可以)

4、有时需要屏蔽一些参数

具体参照此帖

http://vogons.zetafleet.com/viewtopic.php?...ight=daggerfall

里面谈到了设置dpmi=false对部分游戏的必要性(当然反过来,一些游戏则必须要求dpmi=true)

类似的还有xms和ems

ps:这个帖子里说“不要用默认source,用CVS的”我没找到...

5、loadfix

由于早期游戏无法预料到现在的内存数会这么庞大,所以在大内存下会产生错误。这时可以用loadfix来解决

使用方法是:loadfix -大小 文件名

比如:loadfix -32 mm2.exe是分配32k内存给魔法门2

如果不打-32,则分配默认值64k

如果需要的话,可以打loadfix -f清掉刚才分配的内存

6、充分利用config(default.ini)调整初始速度、窗口大小、滤镜(目前支持scale2x)

这部分还没掌握,都是看别人写的然后改 @_@

例子:

[sdl]

fullscreen=true

fulldouble=false

fullfixed=true

fullwidth=800

fullheight=600

output=surface

[dosbox]

machine=auto

memsize=64

[cpu]

core=normal

cycles=16000

[autoexec]

mount g G:\

g:

cd dagger

mouse

fall z.cfg

如果你的机器性能较差,建议不要使用advmame2x等滤镜,关闭方法:

在默认的ini文件中写入

[sdl]

fulldouble=false

fullfixed=false

fullwidth=0

fullheight=0

output=surface

[render]

aspect=false

scaler=none

 类似资料: