dosbox命令、参数、配置文件详解

按语：
我们希望有一天，DOSbox实际上可以不断地运行所有为PC而设计的程序...目前，DOSbox在高端机器上的运行程度粗略地说和486的低端机器几乎相同。考虑到更复杂和将来的计划0.60版增加了支持“保护模式”，但这个支持还处于早期发展，远没有达到对386实模式支持一般完整。此外要注意想要流畅运行“保护模式”需要更快的处理器和耗费更加多的系统资源。

dosbox程序参数用法：(可用在程序快捷方式后)
dosbox [name] [-exit] [-c command] [-fullscreen] [-conf congfigfile] 
[-lang languagefile] [-machine machinetype] [-noconsole]

Name：
如果“Name”是个目录，那么它将安装在C盘同名目录；
如果“Name”是个可执行文件，那么它将安装在c盘同名目录下并且执行文件

Exit：
DOSbox将在执行文件后退出

－C command：
在运行“Name”之前运行指定命令；可以指定多命令，但是每条命令应从－C开始

－Fullscreen：
全屏运行

-conf configfile：
Start dosbox with the options specified in "configfile".
开始DOSbox于选项指定结构

－lang languagefile：
Start dosbox using the language string specified in "languagefile".
运行指定“命令文件”的命令串

－noconsole (Windows Only)：Start dosbox without showing the console window, output will be redirected to stdout.txt and stderr.txt
运行而不显示控制台窗口，输出将被更改到 stdout.txt 和 stderr.txt

-machine machinetype：Setup dosbox to emulate a specific type of machine. Valid choices are:
auto,hercules,cga,tandy,vga.
设置DOSbox模拟一台特殊类型的机器。有效选择为auto,hercules,cga,tandy,vga

注意：如果一条name/command/configfile/languagefile含有空格，将整个name/command/configfile/languagefile至于引用之间

例如:

dosbox c:\atlantis\atlantis.exe -c "MOUNT D C:\SAVES"
This would mount c:\atlantis as c:\ and run atlantis.exe.这个会设置c:\atlatis做为c:\运行atlantis.exe
Before it does that it would first mount C:\SAVES as the D drive.
在做以上操作之前，它首先会设置c:\saves做为D盘
In Windows you can also drag directories/files onto the dosbox executable.
在Windows下你一样可以在dosbox上执行文件拖曳



内部程序：

DOSbox支持所有在command.com里面可以找到的命令。
下面的命令就是可运行的：
MOUNT "Emulated Drive letter" "Real Drive or Directory" 
[-t type] [-aspi] [-ioctl] [-usecd number] [-size drivesize] 
[-label drivelabel]
MOUNT -cd
程序安装如同DOSbox内的驱动盘一样的本地驱动盘

"Emulated Drive letter"被模拟的驱动器名
The driveletter inside dosbox (eg. C)在dosbox里的驱动名.

"Real Drive letter or Directory"真实的驱动器名或文件夹
The local directory you want to have inside dosbox.你想要在dosbox里有的本地驱动器
(Under Win32 usually the same as "Emulated Drive letter".在win32下一般和被模拟的驱动器名一致
For Example: mount c c:\ )

t type
Type of the mounted directory. Supported are: dir (standard), floppy, cdrom.
显示设置的目录。可以支持：dir（标准），floppy,cd-rom

-size drivesize
Sets the size of the drive.设置驱动器大小 

-label drivelabel 标识驱动器卷标
Sets the name of the drive to "drivelabel". 设置驱动器的名字到“卷标”
Needed on some systems if the cd label isn't read correctly. 在一些不能正确识别CD卷标的系统上需要
Useful when a program can't find its cdrom 在一个系统不能找到cd-rom 时候使用

-aspi
Forces to use the aspi layer. 强制使用aspi层
Only valid if mounting a cdrom under Windows systems with an ASPI-Layer.
仅在当Windows系统有一个ASPI－层设置为cd-rom时候有效

-ioctl 
Forces to use ioctl commands. 强制使用ioctl命令。
Only valid if mounting a cdrom under windows which support them (Win2000/XP/NT).
仅在当windows支持下如同(2k/xp/nt)时候才有效

-usecd number
Forces to use SDL cdrom support for drive number.强制使用SDL CDROM支持驱动器编号
Number can be found by -cd. 编号可以在-cd中被找到Valid on all systems.所以系统有效

-cd
Displays all detected cdrom drives and their numbers. Use with -usecd.
显示所有检测到的cd-rom和他们的编号。和usecd一同使用

注意: It's possible to mount a local directory as cdrom drive.它能够设置一个本地驱动器为一个cdrom驱动器 
Hardware support is then missing.硬件支持随后会消失

Basically, MOUNT allows you to connect real hardware to DOSBox's "emulated"
PC. So MOUNT C C:\ tells DOSBox to use your real C: drive as drive C: in
DosBox. It also allows you to change the drive's letter identification for
programs that demand specific drive letters.
基本上，设置允许你连接真实的硬件到DOSbox的被模拟PC上。所以mountc c:\告诉DOSbox使用你
真正的c盘到DOSbox下的c盘。它一样允许你为系统要求的特殊盘符而改变驱动器名

For example: Touche: Adventures of The Fifth Musketeer must be run on your C:
drive. Using DOSBox and it's mount command, you can trick into thinking it
is on C drive while placing it where you want it. For example, if the game
were in D:\TOUCHE, you can use the command MOUNT C D:\ would allow you to
run Touche from the D drive.
例如：感受一下：《三剑客》必须在你的c盘上运行。使用Dosbox和它的设置命令，你可以将它
从c盘移动到你想要的硬盘上去。例如，如果游戏在d:\touche，你可以使用命令mount c d:\ 将会
允许你在d盘上运行Touche

General MOUNT Examples:通常设置的例子
1. To mount c:\floppy as a floppy : 设置 c:\floppy为软驱
mount a c:\floppy -t floppy
2. To mount system cdrom drive E as cdrom drive D in dosbox:设置系统光驱E为dosbox光驱D
mount d e:\ -t cdrom
3. To mount system cdrom drive at mountpoint /media/cdrom as cdrom drive D 
in dosbox:这句没看懂～ 
mount d /media/cdrom -t cdrom -usecd 0
4. To mount a drive with 870 mb free diskspace (rarely needed! experts only):设置一个871M空闲的磁盘空间(很少使用！仅对专家)
mount c d:\ -size 4025,127,16513,1700
5. To mount /home/dos/dosgames as drive C in DOSBox:设置/home/dos/dosgames映射到dosbox下磁盘C
mount c /home/dos/dosgames

MEM
Program to display the amount of free memory.显示空闲内存总数

CONFIG [-writeconf] [-writelang] localfile
Write the current configuration or language settings to file.将当前指令集或命令设置写入文件
"localfile" is located on the local drive !!! 当前文件是当前驱动器显示的文件

Example:
To create a configfile in your current directory:在你当前目录创建一个指令文件
config -writeconf dosbox.conf


LOADFIX [-size] [program] [program-parameters]
LOADFIX -f
Program to "eat up" memory. 程序占用内存
Useful for old programs which don't expect much memory to be free.
使用于老的那些不会需要很多内存空间的程序
-size 
number of kb to "eat up", default = 64kb
占用的kb数量，默认＝64kb

-f
frees all previously allocated memory
释放先前占用的所有内存

Examples:
1. To start mm2.exe and allocate 64kb memory :运行mm2.exe并占用64kb内存(内存占用为默认)
loadfix mm2
2. To start mm2.exe and allocate 32kb memory :运行mm2.exe并占用32kb内存
loadfix -32 mm2
3. To free previous allocated memory :释放占用的内存
loadfix -f

For more information use the /? command line switch with the programs.
需要更多信息，用/?命令开启程序


=============
Special Keys:特殊键
=============

ALT-ENTER Go full screen and back.全屏和恢复
CTRL-F5 Save a screenshot.存储光标
CTRL-F6 Start/Stop recording sound output to a wave file.开始/停止记录声音输出到声音文件
CTRL-F7 Decrease frameskip.减少跳帧
CTRL-F8 Increase frameskip.增加跳帧
CTRL-F9 Kill dosbox.结束dosbox
CTRL-F10 Capture/Release the mouse.捕获/释放鼠标
CTRL-F11 Slow down emulation (Decrease DOSBox Cycles).减慢模拟(降低dosbox周期)
CTRL-F12 Speed up emulation (Increase DOSox Cycles).加速模拟(增加dosbox周期)

NOTE: Once you increase your DOSBox cycles beyond your computer's maximum
capacity, it will produce the same effect as slowing down the emulation.
This maximum will vary from computer to computer, there is no standard.
注意：当你增加dosbox周期超过你机器的最大负载，产生的效果如同降低模拟一样
最大负载视机器而异，没有固定标准

====================
System requirements:系统要求
====================
Fast machine. My guess would be pentium-2 400+ to get decent emulation
of games written for an 286 machine.
For protected mode games a 1 Ghz machine is recommended and don't expect
them to run fast though!! Be sure to read the next section on how to speed
it up somewhat.
更快的机器。我想可以是奔腾II400或以上的机器能够流畅运行为286所编写的游戏
推荐使用1GHz或以上的机器来运行保护模式的游戏！
请确定读一下下面如何加速的段落

=========================
To run resource-demanding games: 运行高占用系统资源的游戏
=========================

DOSBox emulates the CPU, the sound and graphic cards, and some other
stuff, all at the same time. You can overclock DOSBox by using CTRL+F12, but
you'll be limited by the power of your actual CPU. You can see how much free
time your true CPU has by looking at the Task Manager in Windows 2000/XP and
the System Monitor in Windows 95/98/ME. Once 100% of your real CPU time is
used there is no further way to speed up DOSBox unless you reduce the load
generated by the non-CPU parts of DOSBox. 
Dosbox模拟CPU、声卡、显卡和一些其他装备，所有都同时进行。你可以使用CTRL+F12来超频dosbox，但是你需要限制你实际CPU的力量。你可以在windows任务管理器(2k/xp)或者系统监视器(95/98/me)里面查看你CPU的空闲时间。
当CPU100%使用时不能加速dosbox，除非你降低dosbox其他非CPU部分形成的读取。
So: 
Close every program but DOSBox Overclock DOSBox until 100% of your CPU is used (use the utilities above to check) 
所以：关闭其他程序除了dosbox。 超频dosbox直到你的CPU100%被使用(通过有效使用检查来)

（此处以下为Leona 帮助翻译）
Since VGA emulation is the most demanding part of DOSBox in terms of actual
CPU usage, we'll start here. Increase the number of frames skipped (in
increments of one) by pressing CRTL+F8. Your CPU usage should decrease.
Go back one step and repeat this until the game runs fast enough for you.
Please note that this is a trade off: you lose in fluidity of video what you
gain in speed 
因为VGA的模拟运行是整个关系到DOSBOX中最重要的CPU操作环节，为此我们要不断重复前一个操作步骤以达到您所满意的游戏运行速度。
有一点要提醒您，在提高速度的同时您可能会感觉到画面存在的失真。

You can also try to disable the sound through the setup utility of the game
to further reduce load on your CPU.
您可可以通过对这个游戏安装程序的筛选去掉一些声效设置以降低CPU的读取 





DOSBOX主要通过编辑DOSBOX根目录下的dosbox.conf文件来对DOSBOX进行配置。
编辑工具：记事本
以下是dosbox.conf的内容及说明

[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分别对应 "无"，"2倍柔化"，"advanceMAME二倍柔化"，"andvanceMAME三倍柔化","加强型双线性过滤"，"双线性过滤"，"TV模式 "。选择“无”的话画面明显锐化。选择“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等等。