• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

docs/H29-Dec-2020-388385

hakchi/H29-Dec-2020-2615

include/H29-Dec-2020-6,4064,443

jni/H29-Dec-2020-3931

libretro/H29-Dec-2020-7,7714,830

libretro-common/H29-Dec-2020-6,5223,493

scripts/H29-Dec-2020-248200

src/H29-Dec-2020-126,111101,091

.gitignoreH A D29-Dec-202013 43

.travis.ymlH A D29-Dec-2020668 3534

AUTHORSH A D29-Dec-2020264 1310

COPYINGH A D29-Dec-202017.6 KiB341281

ChangeLogH A D29-Dec-202030 KiB653639

INSTALLH A D29-Dec-20203.8 KiB10581

MakefileH A D29-Dec-202026 21

Makefile.commonH A D29-Dec-20205.9 KiB160154

Makefile.libretroH A D29-Dec-20207.5 KiB240218

NEWSH A D29-Dec-202030.7 KiB674658

PORTINGH A D29-Dec-20202.4 KiB5147

READMEH A D29-Dec-20201.5 KiB3020

README.DOSBOXH A D29-Dec-202063.3 KiB1,5571,218

THANKSH A D29-Dec-2020972 3021

VERSIONH A D29-Dec-20205 21

README

1libretro wrapper for DOSBox
2
3* To use you can either load an exe/com/bat file or a *.conf file.
4* If loading exe/com/bat the system directory will be searched for a 'dosbox.conf' file to load. If one isn't available default values will be used. This mode is equivalent to running a DOSBox binary with the specified file as the command line argument.
5* If loading a conf file DOSBox will be loaded with the options in the config file. This mode is useful if you just want to be dumped at a command prompt, but can also be used to load a game by putting commands in the autoexec section.
6* To be useful the frontend will need to have keyboard+mouse support, and all keyboard shortcuts need to be remapped.
7
8Unsupported features:
9
10* Physical CD-ROMs, CD images are supported.
11* The key mapper, key remapping does not work.
12
13TODO:
14
15* Joysticks need more testing. Flightsticks types are not implemented yet.
16
17Building:
18
19* To build for your current platform "cd */libretro-dosbox (ENTER) make (ENTER)"
20
21Notes:
22
23* There seems to be no trivial way to have the DOSBox core return periodically, so libco is used to enter/exit the emulator loop. This actually works better than one would expect.
24* There is no serialization support, it's not supported by DOSBox.
25* DOSBox uses 'wall time' for timing, frontend fast forward and slow motion features will have no effect.
26* To use MIDI you need MT32_CONTROL.ROM and MT32_PCM.ROM in the system directory of RetroArch.Then set:
27[midi]
28mpu401=intelligent
29mididevice=mt32
30

README.DOSBOX

1DOSBox v0.74 Manual (always use the latest version from www.dosbox.com)
2
3
4
5=====
6NOTE:
7=====
8
9While we are hoping that one day DOSBox will run all programs ever made for
10the PC, we are not there yet.
11At present, DOSBox running on a high-end machine will roughly be the equivalent
12of a Pentium I PC. DOSBox can be configured to run a wide range of DOS games,
13from CGA/Tandy/PCjr classics up to games from the Quake era.
14
15
16
17======
18INDEX:
19======
20
211. Quickstart
222. Start (FAQ)
233. Command Line Parameters
244. Internal Programs
255. Special Keys
266. Joystick/Gamepad
277. KeyMapper
288. Keyboard Layout
299. Serial Multiplayer feature
3010. How to speed up/slow down DOSBox
3111. Troubleshooting
3212. DOSBox Status Window
3313. The configuration (options) file
3414. The language file
3515. Building your own version of DOSBox
3616. Special thanks
3717. Contact
38
39
40
41==============
421. Quickstart:
43==============
44
45Type INTRO in DOSBox for a quick tour.
46It is essential that you get familiar with the idea of mounting, DOSBox does not
47automatically make any drive (or a part of it) accessible to the emulation. See
48the FAQ entry "How to start?" as well as the description of the MOUNT command
49(Section 4: "Internal Programs"). If you have your game on a cdrom you may try
50this guide: http://vogons.zetafleet.com/viewtopic.php?t=8933
51
52
53
54===============
552. Start (FAQ):
56===============
57
58START:      How to start?
59AUTOMATION: Do I always have to type these "mount" commands?
60FULLSCREEN: How do I change to fullscreen?
61CD-ROM:     My CD-ROM doesn't work.
62CD-ROM:     The game/application can't find its CD-ROM.
63MOUSE:      The mouse doesn't work.
64SOUND:      There is no sound.
65SOUND:      What sound hardware does DOSBox presently emulate?
66SOUND:      The sound stutters or sounds stretched/weird.
67KEYBOARD:   I can't type \ or : in DOSBox.
68KEYBOARD:   Right Shift and "\" doesn't work in DOSBox. (Windows only)
69KEYBOARD:   The keyboard lags.
70CONTROL:    The character/cursor/mouse pointer always moves into one direction!
71SPEED:      The game/application runs much too slow/too fast!
72CRASH:      The game/application does not run at all/crashes!
73CRASH:      DOSBox crashes on startup!
74GAME:       My Build game(Duke3D/Blood/Shadow Warrior) has problems.
75SAFETY:     Can DOSBox harm my computer?
76OPTIONS:    I would like to change DOSBox's options.
77HELP:       Great Manual, but I still don't get it.
78
79
80
81START: How to start?
82    At the beginning you've got a Z:\> instead of a C:\> at the prompt.
83    You have to make your directories available as drives in DOSBox by using
84    the "mount" command. For example, in Windows "mount C D:\GAMES" will give
85    you a C drive in DOSBox which points to your Windows D:\GAMES directory
86    (that was created before). In Linux, "mount c /home/username" will give you
87    a C drive in DOSBox which points to /home/username in Linux.
88    To change to the drive mounted like above, type "C:". If everything went
89    fine, DOSBox will display the prompt "C:\>".
90
91
92AUTOMATION: Do I always have to type these commands?
93    In the DOSBox configuration file is an [autoexec] section. The commands
94    present there are run when DOSBox starts, so you can use this section
95    for the mounting. Look at Section 13: "The configuration (options) file".
96
97
98FULLSCREEN: How do I change to fullscreen?
99    Press alt-enter. Alternatively: Edit the configuration file of DOSBox and
100    change the option fullscreen=false to fullscreen=true. If fullscreen looks
101    wrong in your opinion: Play with the options: fullresolution, output and
102    aspect in the configuration file of DOSBox. To get back from fullscreen
103    mode: Press alt-enter again.
104
105
106CD-ROM: My CD-ROM doesn't work.
107    To mount your CD-ROM in DOSBox you have to specify some additional options
108    when mounting the CD-ROM.
109    To enable CD-ROM support (includes MSCDEX) in Windows:
110      - mount d f:\ -t cdrom
111    in Linux:
112      - mount d /media/cdrom -t cdrom
113
114    In some cases you might want to use a different CD-ROM interface,
115    for example if CD audio does not work:
116      To enable SDL-support (does not include low-level CD access!):
117        - mount d f:\ -t cdrom -usecd 0 -noioctl
118      To enable ioctl access using digital audio extraction for CD audio
119      (Windows-only, useful for Vista):
120        - mount d f:\ -t cdrom -ioctl_dx
121      To enable ioctl access using MCI for CD audio (Windows-only):
122        - mount d f:\ -t cdrom -ioctl_mci
123      To force ioctl-only access (Windows-only):
124        - mount d f:\ -t cdrom -ioctl_dio
125      To enable low-level aspi-support (win98 with aspi-layer installed):
126        - mount d f:\ -t cdrom -aspi
127
128    explanation: - d   driveletter you will get in DOSBox (d is the best,
129                          don't change it!)
130                 - f:\ location of CD-ROM on your PC. In most cases it will
131                          be d:\ or e:\
132                 - 0   The number of the CD-ROM drive, reported by "mount -cd"
133                          (note that this value is only needed when using SDL
134                          for CD audio, otherwise it is ignored)
135    See also the next question: The game/application can't find its CD-ROM.
136
137
138CD-ROM: The game/application can't find its CD-ROM.
139    Be sure to mount the CD-ROM with -t cdrom switch, this will enable the
140    MSCDEX interface required by DOS games to interface with CD-ROMs.
141    Also try adding the correct label (-label LABEL) to the mount command,
142    where LABEL is the CD-label (volume ID) of the CD-ROM.
143    Under Windows you can specify -ioctl, -aspi or -noioctl. Look at the
144    description of the mount command in Section 4: "Internal programs"
145    for their meaning and the
146    additional audio-CD related options -ioctl_dx, -ioctl_mci, -ioctl_dio.
147
148    Try creating a CD-ROM image (preferably CUE/BIN pair) and use the
149    DOSBox's internal IMGMOUNT tool to mount the image (the CUE sheet).
150    This enables very good low-level CD-ROM support on any operating system.
151
152
153MOUSE: The mouse doesn't work.
154    Usually, DOSBox detects when a game uses mouse control. When you click on
155    the screen it should get locked (confined to the DOSBox window) and work.
156    With certain games, the DOSBox mouse detection doesn't work. In that case
157    you will have to lock the mouse manually by pressing CTRL-F10.
158
159
160SOUND: There is no sound.
161    Be sure that the sound is correctly configured in the game. This might be
162    done during the installation or with a setup/setsound utility that
163    accompanies the game. First see if an autodetection option is provided. If
164    there is none try selecting SoundBlaster or SoundBlaster 16 with the default
165    settings being "address=220 irq=7 dma=1" (sometimes highdma=5). You might
166    also want to select Sound Canvas/SCC/MPU-401/General MIDI/Wave Blaster
167    at "address=330 IRQ=2" as music device.
168    The parameters of the emulated sound cards can be changed in the DOSBox
169    configuration file.
170    If you still don't get any sound set the core to normal in DOSBox
171    configuration and use some lower fixed cycles value (like cycles=2000). Also
172    assure that your host operating sound does provide sound.
173    In certain cases it might be useful to use a different emulated sound device
174    like a SoundBlaster Pro (sbtype=sbpro1 in the DOSBox configuration file) or
175    the Gravis Ultrasound (gus=true).
176
177
178SOUND: What sound hardware does DOSBox presently emulate?
179    DOSBox emulates several legacy sound devices:
180    - Internal PC speaker/Buzzer
181      This emulation includes both the tone generator and several forms of
182      digital sound output through the internal speaker.
183    - Creative CMS/Gameblaster
184      The is the first card released by Creative Labs(R).  The default
185      configuration places it on address 220. It is disabled by default.
186    - Tandy 3 voice
187      The emulation of this sound hardware is complete with the exception of
188      the noise channel. The noise channel is not very well documented and as
189      such is only a best guess as to the sound's accuracy. It is disabled as
190      default.
191    - Tandy DAC
192      Some games may require turning off SoundBlaster emulation (sbtype=none)
193      for better Tandy DAC sound support. Don't forget to set the sbtype back to
194      sb16 if you don't use Tandy sound.
195    - Adlib
196      This emulation is almost perfect and includes the Adlib's ability to
197      almost play digitized sound. Placed at address 220 (also on 388).
198    - SoundBlaster 16 / SoundBlaster Pro I & II / SoundBlaster I & II
199      By default DOSBox provides SoundBlaster 16 level 16-bit stereo sound.
200      You can select a different SoundBlaster version in the configuration of
201      DOSBox. AWE32 music is not emulated as you can use MPU-401 instead
202      (see below).
203    - Disney Sound Source and Covox Speech Thing
204      Using the printer port, this sound device outputs digital sound only.
205      Placed at LPT1
206    - Gravis Ultrasound
207      The emulation of this hardware is nearly complete, though the MIDI
208      capabilities have been left out, since an MPU-401 has been emulated
209      in other code. For Gravis music you also have to install Gravis drivers
210      inside DOSBox. It is disabled by default.
211    - MPU-401
212      A MIDI passthrough interface is also emulated. This method of sound
213      output will only work when used with external device/emulator.
214      Every Windows XP/Vista/7 and Mac OS X has got a default emulator
215      compatible with: Sound Canvas/SCC/General Standard/General MIDI/Wave
216      Blaster. A different device/emulator is needed for
217      Roland LAPC/CM-32L/MT-32 compatibility.
218
219
220SOUND: The sound stutters or sounds stretched/weird.
221    You may be using too much CPU power to keep DOSBox running at the current
222    speed. You can lower the cycles, skip frames, reduce the sampling rate of
223    the respective sound device, increase the prebuffer. See Section 13: "The
224    configuration (options) file".
225    If you are using 'cycles=max' or 'cycles=auto', then make sure that there is
226    no background processes interfering! (especially if they access the harddisk)
227    Also look at Section 10: "How to speed up/slow down DOSBox" as well as
228    Section 11: "Troubleshooting".
229
230
231KEYBOARD: I can't type \ or : in DOSBox.
232    This can happen in various cases, like your host keyboard layout does not
233    have a matching DOS layout representation (or it was not correctly
234    detected), or the key mapping is wrong.
235    Some possible fixes:
236      1. Use / instead, or ALT-58 for : and ALT-92 for \.
237      2. Change the DOS keyboard layout (see Section 8: "Keyboard Layout").
238      3. Add the commands you want to execute to the [autoexec] section
239         of the DOSBox configuration file.
240      4. Open the DOSBox configuration file and change the usescancodes entry.
241      5. Switch the keyboard layout of your operating system.
242
243    Note that if the host layout can not be identified, or keyboardlayout is
244    set to none in the DOSBox configuration file, the standard US layout is
245    used. In this configuration try the keys around "enter" for the key \
246    (backslash), and for the key : (colon) use shift and the keys between
247    "enter" and "L".
248
249
250KEYBOARD: Right Shift and "\" doesn't work in DOSBox. (Windows only)
251    This may happen if Windows thinks that you have more than one keyboard
252    connected to your PC when you use some remote control devices.
253    To verity this problem run cmd.exe, navigate to DOSBox program folder
254    and type:
255    set sdl_videodriver=windib
256    dosbox.exe
257    check whether keyboard started to work properly. As windib is slower it is
258    best to use one of the two solutions provided here:
259    http://vogons.zetafleet.com/viewtopic.php?t=24072
260
261
262KEYBOARD: The keyboard lags.
263    Lower the priority setting in the DOSBox configuration file, for example
264    set "priority=normal,normal". You might also want to try lowering the
265    cycles (use a fixed cycle amount to start with, like cycles=10000).
266
267
268CONTROL: The character/cursor/mouse pointer always moves into one direction!
269    See if it still happens if you disable the joystick emulation,
270    set joysticktype=none in the [joystick] section of your DOSBox
271    configuration file. Maybe also try unplugging any joystick/gamepad.
272    If you want to use the joystick in the game, try setting timed=false
273    and be sure to calibrate the joystick (both in your OS as well as
274    in the game or the game's setup program).
275
276
277SPEED: The game/application runs much too slow/too fast!
278    Look at Section 10: "How to speed up/slow down DOSBox" for more
279    information.
280
281
282CRASH: The game/application does not run at all/crashes!
283    Look at Section 11: "Troubleshooting".
284
285
286CRASH: DOSBox crashes on startup!
287    Look at Section 11: "Troubleshooting".
288
289
290GAME: My Build game(Duke3D/Blood/Shadow Warrior) has problems.
291    First of all, try to find a port of the game. Those will offer a better
292    experience. To fix the graphics problem that occurs in DOSBox on higher
293    resolutions: Open the configuration file of DOSBox and search for
294    machine=svga_s3. Change svga_s3 to vesa_nolfb
295    Change memsize=16 to memsize=63
296
297
298SAFETY: Can DOSBox harm my computer?
299    DOSBox can not harm your computer more than any other resource demanding
300    program. Increasing the cycles does not overclock your real CPU.
301    Setting the cycles too high has a negative performance effect on the
302    software running inside DOSBox.
303
304
305OPTIONS: I would like to change DOSBox's options.
306    Look at Section 13: "The configuration (options) file".
307
308
309HELP: Great Manual, but I still don't get it.
310    For more questions read the rest of this Manual. You may also look at:
311    guides located at http://vogons.zetafleet.com/viewforum.php?f=39
312    the wiki of DOSBox http://www.dosbox.com/wiki/
313    the site/forum: http://www.dosbox.com
314
315
316
317===========================
3183. Command Line Parameters:
319===========================
320
321An overview of the command line options you can give to DOSBox. Although
322in most cases it is easier to use DOSBox's configuration file instead.
323See Section 13: "The configuration (options) file".
324
325To be able to use Command Line Parameters:
326(Windows)  open cmd.exe or command.com or edit the shortcut to dosbox.exe
327(Linux)    use console
328(Mac OS X) start terminal.app and navigate to:
329           /applications/dosbox.app/contents/macos/dosbox
330
331The options are valid for all operating systems unless noted in the option
332description:
333
334dosbox [name] [-exit] [-c command] [-fullscreen] [-userconf]
335       [-conf congfigfilelocation] [-lang languagefilelocation]
336       [-machine machine type] [-noconsole] [-startmapper] [-noautoexec]
337       [-securemode] [-scaler scaler | -forcescaler scaler] [-version]
338       [-socket socket]
339
340dosbox -version
341dosbox -editconf program
342dosbox -opencaptures program
343dosbox -printconf
344dosbox -eraseconf
345dosbox -erasemapper
346
347  name
348        If "name" is a directory it will mount that as the C: drive.
349        If "name" is an executable it will mount the directory of "name"
350        as the C: drive and execute "name".
351
352  -exit
353        DOSBox will close itself when the DOS application "name" ends.
354
355  -c command
356        Runs the specified command before running "name". Multiple commands
357        can be specified. Each command should start with "-c" though.
358        A command can be: an Internal Program, a DOS command or an executable
359        on a mounted drive.
360
361  -fullscreen
362        Starts DOSBox in fullscreen mode.
363
364  -userconf
365        Start DOSBox with the users specific configuration file. Can be used
366        together with multiple -conf parameters, but -userconf will always be
367        loaded before them.
368
369  -conf configfilelocation
370        Start DOSBox with the options specified in "configfilelocation".
371        Multiple -conf options may be present.
372        See Section 13: "The configuration (options) file" for more details.
373
374  -lang languagefilelocation
375        Start DOSBox using the language specified in "languagefilelocation".
376        See Section 14: "The Language File" for more details.
377
378  -machine machinetype
379        Setup DOSBox to emulate a specific type of machine. Valid choices are:
380        hercules, cga, ega, pcjr, tandy, svga_s3 (default) as well as
381        the additional SVGA chipsets listed in the DOSBox configuration file.
382        svga_s3 enables VESA emulation as well.
383        For some special VGA effects the machinetype vgaonly can be used,
384        note that this disables SVGA capabilities and might be slower due to the
385        higher emulation precision.
386        The machinetype affects the video card and the available sound cards.
387
388  -noconsole (Windows Only)
389        Start DOSBox without showing the DOSBox status window (console).
390        Output will be redirected to stdout.txt and stderr.txt
391
392  -startmapper
393        Enter the keymapper directly on startup. Useful for people with
394        keyboard problems.
395
396  -noautoexec
397        Skips the [autoexec] section of the loaded configuration file.
398
399  -securemode
400        Same as -noautoexec, but adds config.com -securemode at the
401        bottom of AUTOEXEC.BAT (which in turn disables any changes to how
402        the drives are mounted inside DOSBox).
403
404  -scaler scaler
405        Uses the scaler specified by "scaler". See the DOSBox configuration file
406        for the available scalers.
407
408  -forcescaler scaler
409        Similar to the -scaler parameter, but tries to force usage of
410        the specified scaler even if it might not fit.
411
412  -version
413        output version information and exit. Useful for frontends.
414
415  -editconf program
416        calls program with as first parameter the configuration file.
417        You can specify this command more than once. In this case it will
418        move to second program if the first one fails to start.
419
420  -opencaptures program
421        calls program with as first parameter the location of the captures
422        folder.
423
424  -printconf
425        prints the location of the default configuration file.
426
427  -resetconf
428        removes the default configuration file.
429
430  -resetmapper
431        removes the mapperfile used by the default clean configuration file.
432
433  -socket
434        passes the socket number to the nullmodem emulation. See Section 9:
435        "Serial Multiplayer feature."
436
437Note: If a name/command/configfilelocation/languagefilelocation contains
438     a space, put the whole name/command/configfilelocation/languagefilelocation
439     between quotes ("command or file name"). If you need to use quotes within
440     quotes (most likely with -c and mount):
441     Windows and OS/2 users can use single quotes inside the double quotes.
442     Other people should be able to use escaped double quotes inside the
443     double quotes.
444     Windows: -c "mount c 'c:\My folder with DOS games\'"
445     Linux: -c "mount c \"/tmp/name with space\""
446
447A rather unusual example, just to demonstrate what you can do (Windows):
448dosbox D:\folder\file.exe -c "MOUNT Y H:\MyFolder"
449  This mounts D:\folder as C:\ and runs file.exe.
450  Before it does that, it will first mount H:\MyFolder as the Y drive.
451
452In Windows, you can also drag directories/files onto the DOSBox executable.
453
454
455
456=====================
4574. Internal Programs:
458=====================
459
460DOSBox supports most of the DOS commands found in command.com.
461To get a list of the internal commands type "HELP" at the prompt.
462
463In addition, the following commands are available:
464
465MOUNT "Emulated Drive letter" "Real Drive or Directory"
466      [-t type] [-aspi] [-ioctl] [-noioctl] [-usecd number] [-size drivesize]
467      [-label drivelabel] [-freesize size_in_mb]
468      [-freesize size_in_kb (floppies)]
469MOUNT -cd
470MOUNT -u "Emulated Drive letter"
471
472  Program to mount local directories as drives inside DOSBox.
473
474  "Emulated Drive letter"
475        The driveletter inside DOSBox (for example C).
476
477  "Real Drive letter (usually for CD-ROMs in Windows) or Directory"
478        The local directory you want accessible inside DOSBox.
479
480  -t type
481        Type of the mounted directory.
482        Supported are: dir (default), floppy, cdrom.
483
484  -size drivesize
485	(experts only)
486        Sets the size of the drive, where drivesize is of the form
487        "bps,spc,tcl,fcl":
488           bps: bytes per sector, by default 512 for regular drives and
489                2048 for CD-ROM drives
490           spc: sectors per cluster, usually between 1 and 127
491           tcl: total clusters, between 1 and 65534
492           fcl: total free clusters, between 1 and tcl
493
494  -freesize size_in_mb | size_in_kb
495        Sets the amount of free space available on a drive
496        in megabytes (regular drives) or kilobytes (floppy drives).
497        This is a simpler version of -size.
498
499  -label drivelabel
500        Sets the name of the drive to "drivelabel". Needed on some systems
501        if the CD-ROM label isn't read correctly (useful when a program
502        can't find its CD-ROM). If you don't specify a label
503        and no lowlevel support is selected (that is omitting the -usecd #
504        and/or -aspi parameters, or specifying -noioctl):
505          For Windows: label is extracted from "Real Drive".
506          For Linux: label is set to NO_LABEL.
507
508        If you do specify a label, this label will be kept as long as the drive
509        is mounted. It will not be updated !!
510
511  -aspi
512        Forces use of the aspi layer. Only valid if mounting a CD-ROM under
513        Windows systems with an ASPI-Layer.
514
515  -ioctl (automatic selection of the CD audio interface)
516  -ioctl_dx (digital audio extraction used for CD audio)
517  -ioctl_dio (ioctl calls used for CD audio)
518  -ioctl_mci (MCI used for CD audio)
519        Forces use of ioctl commands. Only valid if mounting a CD-ROM under
520        a Windows OS which support them (Win2000/XP/NT).
521        The various choices only differ in the way CD audio is handled,
522        preferably -ioctl_dio is used (lowest workload), but this might not
523        work on all systems, so -ioctl_dx (or -ioctl_mci) can be used.
524
525  -noioctl
526        Forces use of the SDL CD-ROM layer. Valid on all systems.
527
528  -usecd number
529        Valid on all systems, under Windows the -noioctl switch has to be
530        present to make use of the -usecd switch.
531        Enables to select the drive that should be used by SDL. Use this if
532        the wrong or no CD-ROM drive is mounted while using the SDL CD-ROM
533        interface. "number" can be found by "MOUNT -cd".
534
535  -cd
536        Displays all CD-ROM drives detected by SDL, and their numbers.
537        See the information at the -usecd entry above.
538
539  -u
540        Removes the mount. Doesn't work for Z:\.
541
542  Note: It's possible to mount a local directory as CD-ROM drive,
543        but hardware support is then missing.
544
545  Basically MOUNT allows you to connect real hardware to DOSBox's emulated PC.
546  So MOUNT C C:\GAMES tells DOSBox to use your C:\GAMES directory as drive C:
547  in DOSBox. MOUNT C E:\SomeFolder tells DOSBox to use your E:\SomeFolder
548  directory as drive C: in DOSBox.
549
550  Mounting your entire C drive with MOUNT C C:\ is NOT recommended! The same
551  is true for mounting the root of any other drive, except for CD-ROMs (due to
552  their read-only nature).
553  Otherwise if you or DOSBox make a mistake you may lose all your files.
554  Also never mount a "Windows" or "Program Files" folders or their subfolders
555  in Windows Vista/7 as DOSBox may not work correctly, or will stop working
556  correctly later. It is recommended to keep all your dos applications/games
557  in a simple folder (for example c:\dosgames) and mount that.
558
559  You should always install your game inside DOSBox.
560  So if you have the game on CD you always (even after installation!)
561  have to mount both: folder as a harddisk drive and a CD-ROM.
562  HardDisk should always be mounted as c
563    CD-ROM should always be mounted as d
564    Floppy should always be mounted as a (or b)
565
566  Basic MOUNT Examples for normal usage (Windows):
567
568   1. To mount a folder as a harddisk drive:
569          mount c d:\dosgames
570
571   3. To mount your CD-ROM drive E as CD-ROM drive D in DOSBox:
572          mount d e:\ -t cdrom
573
574   2. To mount your drive a: as a floppy:
575          mount a a:\ -t floppy
576
577  Advanced MOUNT examples (Windows):
578
579   4. To mount a hard disk drive with ~870 mb free diskspace (simple version):
580          mount c d:\dosgames -freesize 870
581
582   5. To mount a drive with ~870 mb free diskspace (experts only, full control):
583          mount c d:\dosgames -size 512,127,16513,13500
584
585   1. To mount c:\dosgames\floppy as a floppy:
586          mount a c:\dosgames\floppy -t floppy
587
588
589  Other MOUNT examples:
590
591   3. To mount system CD-ROM drive at mountpoint /media/cdrom as CD-ROM drive D
592      in DOSBox:
593          mount d /media/cdrom -t cdrom -usecd 0
594
595   6. To mount /home/user/dosgames as drive C in DOSBox:
596          mount c /home/user/dosgames
597
598   7. To mount the directory where DOSBox was started as C in DOSBox:
599          mount c .
600          (note the . which represents the directory where DOSBox was started,
601          on Windows Vista/7 don't use this if you installed DOSBox
602          to your "Program Files" folder)
603
604  If you want to mount a CD image or floppy image, check IMGMOUNT.
605  MOUNT also works with images but only if you use external program,
606  for example (both are free):
607  - Daemon Tools Lite (for CD images),
608  - Virtual Floppy Drive (for floppy images).
609  Although IMGMOUNT can give better compatibility.
610
611
612MEM
613  Program to display the amount and type of free memory.
614
615
616VER
617VER set major_version [minor_version]
618  Display the current DOSBox version and reported DOS version
619  (parameterless usage).
620  Change the reported DOS version with the "set" parameter,
621  for example: "VER set 6 22" to have DOSBox report DOS 6.22 as version number.
622
623
624CONFIG -writeconf filelocation
625CONFIG -writeconf
626CONFIG -wcp filelocation
627CONFIG -wcd
628CONFIG -writelang filelocation
629CONFIG -axadd
630CONFIG -axclear
631CONFIG -axtype
632CONFIG -r [parameters]
633CONFIG -l
634CONFIG -help
635CONFIG -help sections
636CONFIG -help section
637CONFIG -help section property
638CONFIG -securemode
639CONFIG -set "section property=value"
640CONFIG -get "section property"
641
642  CONFIG can be used to change or query various settings of DOSBox
643  during runtime. It can save the current settings and language strings to
644  disk. Information about all possible sections and properties can
645  be found in Section 13: "The configuration (options) file".
646
647  -writeconf filelocation
648     (or -wc filelocation)
649     Write the current configuration settings to a file in a specified location
650     relative to the DOSBox config directory. Relative and absolute paths are
651     possible. "filelocation" is located on the local drive, not a mounted
652     drive in DOSBox.
653
654     The configuration file controls various settings of DOSBox:
655     the amount of emulated memory, the emulated sound cards and many more
656     things. It allows access to AUTOEXEC.BAT as well.
657     See Section 13: "The configuration (options) file" for more information.
658
659  -writeconf
660     (or -wc)
661     Write the configuration to the primary loaded config file.
662
663  -wcp filelocation
664     Write the current configuration settings to the specified file in or
665     relative to the DOSBox program start directory. Realtive and absolute
666     paths are possible. This is located on a drive on the host, not a mounted
667     drive in DOSBox. It is useful if you keep DOSBox on a removable media.
668     If file is omitted, the configuration will be written to dosbox.conf.
669
670  -wcd
671     Write the current configuration to the default config file.
672
673
674  -writelang filelocation
675     (or -wl filelocation)
676     Write the current language settings to a file in a specified location.
677     "filelocation" is located on the local drive, not a mounted drive
678     in DOSBox. The language file controls all visible output of the internal
679     commands and the internal DOS.
680     See Section 14: "The Language File" for more information.
681
682  -axadd "line1" "line2" ...
683     Adds a command line to the autoexec section.
684
685  -axclear
686     Clears the autoexec section.
687
688  -axtype
689     Prints the content of the autoexec section.
690
691  -r [parameters]
692     Restart DOSBox, either with the parameters that were used to start the
693     current instance or any that are appended.
694
695  -l
696     lists DOSBox parameters:
697     - the configuration directory
698     - the config files that were used when starting this session
699     - the command line parameters DOSBox was started with
700
701  -h, -help, -?
702     Displays an overvie of the config commands.
703
704  -h, -help, -? sections
705     Displays the list of sections in the config file.
706
707  -h, -help, -? section
708     Displays the list of properties contained in the specified section.
709
710  -h, -help, -? section property
711     Shows information about the specified property in the specified section:
712     - purpose of the property
713     - possible values, current value, default value
714     - wether it can definitely not be changed at runtime
715
716  -securemode
717     Switches DOSBox to a more secure mode. In this mode the internal
718     commands MOUNT, IMGMOUNT and BOOT won't work. It's not possible either
719     to create a new configfile or languagefile in this mode.
720     (Warning: you can only undo this mode by restarting DOSBox.)
721
722  -set "section property=value"
723     CONFIG will attempt to set the property to new value.
724
725  -get "section property"
726     The current value of the property is reported and stored in the
727     environment variable %CONFIG%. This can be used to store the value
728     when using batch files.
729
730  Both "-set" and "-get" work from batch files and can be used to set up your
731  own preferences for each game. Although it may be easier to use separate
732  DOSBox's configuration files for each game instead.
733
734  Examples:
735    1. To create a configuration file in your c:\dosgames directory:
736        config -writeconf c:\dosgames\dosbox.conf
737    2. To set the cpu cycles to 10000:
738        config -set "cpu cycles=10000"
739    3. To turn EMS memory emulation off:
740        config -set "dos ems=false"
741    4. To check which cpu core is being used.
742        config -get "cpu core"
743    5. To view the list of possible cpu cores:
744        config -help cpu core
745    6. To change the machine type and restart:
746        config -set "machine cga"
747        config -wc -r
748    7. To configure the autoexec section to auto-mount a directory at start:
749        config -axadd "mount c c:\dosgames" "c:"
750        config -wc
751    8. To create a specific config file in the config directory:
752        config -set "dos ems=false"
753        config -set "cpu cycles=10000"
754        config -set "core dynamic"
755        config -axadd "mount c c:\dosgames" "c:" "cd my_game" "my_game"
756        config -wc my_config.conf
757    9. To restart DOSBox from a specific config file in the config directory:
758        config -r -conf my_config.conf
759
760LOADFIX [-size] [program] [program-parameters]
761LOADFIX -f
762  Program to reduce the amount of available conventional memory.
763  Useful for old programs which don't expect much memory to be free.
764
765  -size
766        number of kilobytes to "eat up", default = 64kb
767
768  -f
769        frees all previously allocated memory
770
771  Examples:
772    1. To start mm2.exe and allocate 64kb memory
773       (mm2 will have 64 kb less available):
774       loadfix mm2
775    2. To start mm2.exe and allocate 32kb memory:
776       loadfix -32 mm2
777    3. To free previous allocated memory:
778       loadfix -f
779
780
781RESCAN [Drive:] [-All]
782  Make DOSBox reread the directory structure. Useful if you changed something
783  on a mounted drive outside of DOSBox. (CTRL - F4 does this as well!)
784
785  Drive:
786        Drive to refresh.
787
788  -All
789        Refresh all drives.
790
791  if both a Drive: and -All are missing, then the current drive will be
792  refreshed.
793
794
795MIXER
796  Makes DOSBox display its current volume settings.
797  Here's how you can change them:
798
799  mixer channel left:right [/NOSHOW] [/LISTMIDI]
800
801  channel
802     Can be one of the following: MASTER, DISNEY, SPKR, GUS, SB, FM [, CDAUDIO].
803     CDAUDIO is only available if a CD-ROM interface with volume control is
804     enabled (CD image, ioctl_dx).
805
806  left:right
807     The volume levels in percentages. If you put a D in front it will be
808     in decibel (Example: mixer gus d-10).
809
810  /NOSHOW
811     Prevents DOSBox from showing the result if you set one
812     of the volume levels.
813
814  /LISTMIDI
815     In Windows lists the available midi devices on your PC. To select a device
816     other than the Windows default midi-mapper, change the line 'midiconfig='
817     in the [midi] section of the configuration file to 'midiconfig=id', where
818     'id' is the number for the device as listed by LISTMIDI. eg. midiconfig=2
819
820     In Linux this option doesn't work, but you get similar results by using
821     'pmidi -l' in console. Then change the line 'midiconfig=' to
822     'midiconfig=port', where 'port' is the port for the device as listed by
823     'pmidi -l'. eg. midiconfig=128:0
824
825
826IMGMOUNT
827  A utility to mount disk images and CD-ROM images in DOSBox.
828
829  IMGMOUNT DRIVE [imagefile] -t [image_type] -fs [image_format]
830            -size [sectorsbytesize, sectorsperhead, heads, cylinders]
831  IMGMOUNT DRIVE [imagefile1 imagefile2 .. imagefileN] -t cdrom -fs iso
832
833  imagefile
834      Location of the image file to mount in DOSBox. The location can be
835      on a mounted drive inside DOSBox, or on your real disk. It is possible
836      to mount CD-ROM images (ISOs or CUE/BIN or CUE/IMG) too.
837      If you need CD swapping capabilities, specify all images in succession
838      (see the next entry).
839      CUE/BIN pairs and cue/img are the preferred CD-ROM image types as they can
840      store audio tracks compared to ISOs (which are data-only). For
841      the CUE/BIN mounting always specify the CUE sheet.
842
843  imagefile1 imagefile2 .. imagefileN
844      Location of the image files to mount in DOSBox. Specifying a number
845      of image files is only allowed for CD-ROM images.
846      The CD's can be swapped with CTRL-F4 at any time.
847      This is required for games which use multiple CD-ROMs and require the CD
848      to be switched during the gameplay at some point.
849
850  -t
851      The following are valid image types:
852        floppy: Specifies a floppy image. DOSBox will automatically identify
853                the disk geometry (360K, 1.2MB, 720K, 1.44MB, etc).
854        cdrom:  Specifies a CD-ROM image. The geometry is automatic and
855                set for this size. This can be an iso or a cue/bin pair or
856                a cue/img pair.
857        hdd:    Specifies a harddrive image. The proper CHS geometry must be set
858                for this to work.
859
860  -fs
861      The following are valid file system formats:
862        iso:  Specifies the ISO 9660 CD-ROM format.
863        fat:  Specifies that the image uses the FAT file system. DOSBox will
864              attempt to mount this image as a drive in DOSBox and make
865              the files available from inside DOSBox.
866        none: DOSBox will make no attempt to read the file system on the disk.
867              This is useful if you need to format it or if you want to boot
868              the disk using the BOOT command. When using the "none"
869              filesystem, you must specify the drive number (2 or 3,
870              where 2 = master, 3 = slave) rather than a drive letter.
871              For example, to mount a 70MB image as the slave drive device,
872              you would type (without the quotes):
873                "imgmount 3 d:\test.img -size 512,63,16,142 -fs none"
874                Compare this with a mount to be able to access the drive
875                within DOSBox, which would read as:
876                "imgmount e: d:\test.img -size 512,63,16,142"
877
878  -size
879     The Cylinders, Heads and Sectors of the drive.
880     Required to mount hard drive images.
881
882  An example how to mount CD-ROM images (in Linux):
883    1. imgmount d /tmp/cdimage1.cue /tmp/cdimage2.cue -t cdrom
884  or (which also works):
885    2a. mount c /tmp
886    2b. imgmount d c:\cdimage1.cue c:\cdimage2.cue -t cdrom
887  (in Windows):
888    imgmount d f:\img\CD1.cue f:\img\CD2.cue f:\img\CD3.cue -t cdrom
889    imgmount d "g:\img\7th Guest CD1.cue" "g:\img\7th Guest CD2.cue" -t cdrom
890  Don't forget that you can also use MOUNT with images, but only if you use
891  external program, for example (both are free):
892  - Daemon Tools Lite (for CD images),
893  - Virtual Floppy Drive (for floppy images).
894  Although IMGMOUNT can give better compatibility.
895
896
897BOOT
898  Boot will start floppy images or hard disk images independent of
899  the operating system emulation offered by DOSBox. This will allow you to
900  play booter floppies or boot other operating systems inside DOSBox.
901  If the target emulated system is PCjr (machine=pcjr) the boot command
902  can be used to load PCjr cartridges (.jrc).
903
904  BOOT [diskimg1.img diskimg2.img .. diskimgN.img] [-l driveletter]
905  BOOT [cart.jrc]  (PCjr only)
906
907  diskimg1.img diskimg2.img .. diskimgN.img
908     This can be any number of floppy disk images one wants mounted after
909     DOSBox boots the specified drive letter.
910     To swap between images, hit CTRL-F4 to change from the current disk
911     to the next disk in the list. The list will loop back from the last
912     disk image to the beginning.
913
914  [-l driveletter]
915     This parameter allows you to specify the drive to boot from.
916     The default is the A drive, the floppy drive. You can also boot
917     a hard drive image mounted as master by specifying "-l C"
918     without the quotes, or the drive as slave by specifying "-l D"
919
920   cart.jrc (PCjr only)
921     When emulation of a PCjr is enabled, cartridges can be loaded with
922     the BOOT command. Support is still limited.
923
924
925IPX
926
927  You need to enable IPX networking in the configuration file of DOSBox.
928
929  All of the IPX networking is managed through the internal DOSBox program
930  IPXNET. For help on the IPX networking from inside DOSBox, type
931  "IPXNET HELP" (without quotes) and the program will list the commands
932  and relevant documentation.
933
934  With regard to actually setting up a network, one system needs to be
935  the server. To set this up, type "IPXNET STARTSERVER" (without the quotes)
936  in a DOSBox session. The server DOSBox session will automatically add
937  itself to the virtual IPX network. For every additional computer that
938  should be part of the virtual IPX network, you'll need to type
939  "IPXNET CONNECT <computer host name or IP>".
940  For example, if your server is at bob.dosbox.com, you would type
941  "IPXNET CONNECT bob.dosbox.com" on every non-server system.
942
943  To play games that need Netbios a file named NETBIOS.EXE from Novell is
944  needed. Establish the IPX connection as explained above, then run
945  "netbios.exe".
946
947  The following is an IPXNET command reference:
948
949  IPXNET CONNECT
950
951     IPXNET CONNECT opens a connection to an IPX tunneling server
952     running on another DOSBox session. The "address" parameter specifies
953     the IP address or host name of the server computer. You can also
954     specify the UDP port to use. By default IPXNET uses port 213 - the
955     assigned IANA port for IPX tunneling - for its connection.
956
957     The syntax for IPXNET CONNECT is:
958     IPXNET CONNECT address <port>
959
960  IPXNET DISCONNECT
961
962     IPXNET DISCONNECT closes the connection to the IPX tunneling server.
963
964     The syntax for IPXNET DISCONNECT is:
965     IPXNET DISCONNECT
966
967  IPXNET STARTSERVER
968
969     IPXNET STARTSERVER starts an IPX tunneling server on this DOSBox
970     session. By default, the server will accept connections on UDP port
971     213, though this can be changed. Once the server is started, DOSBox
972     will automatically start a client connection to the IPX tunneling server.
973
974     The syntax for IPXNET STARTSERVER is:
975     IPXNET STARTSERVER <port>
976
977     If the server is behind a router, UDP port <port> needs to be forwarded
978     to that computer.
979
980     On Linux/Unix-based systems port numbers smaller than 1023 can only be
981     used with root privileges. Use ports greater than 1023 on those systems.
982
983  IPXNET STOPSERVER
984
985     IPXNET STOPSERVER stops the IPX tunneling server running on this DOSBox
986     session. Care should be taken to ensure that all other connections have
987     terminated as well, since stopping the server may cause lockups on other
988     machines that are still using the IPX tunneling server.
989
990     The syntax for IPXNET STOPSERVER is:
991     IPXNET STOPSERVER
992
993  IPXNET PING
994
995     IPXNET PING broadcasts a ping request through the IPX tunneled network.
996     In response, all other connected computers will respond to the ping
997     and report the time it took to receive and send the ping message.
998
999     The syntax for IPXNET PING is:
1000     IPXNET PING
1001
1002  IPXNET STATUS
1003
1004     IPXNET STATUS reports the current state of this DOSBox session's
1005     IPX tunneling network. For a list of all computers connected to the
1006     network use the IPXNET PING command.
1007
1008     The syntax for IPXNET STATUS is:
1009     IPXNET STATUS
1010
1011
1012KEYB [keyboardlayoutcode [codepage [codepagefile]]]
1013
1014  Change the keyboard layout. For detailed information about keyboard layouts
1015  please see Section 8: "Keyboard Layout".
1016
1017  [keyboardlayoutcode] is a string consisting of five or less characters,
1018     examples are PL214 (Polish typists) or PL457 (Polish programmers).
1019     It specifies the keyboard layout to be used.
1020     The list of all layouts built into DOSBox is here:
1021     http://vogons.zetafleet.com/viewtopic.php?t=21824
1022
1023  [codepage] is the number of the codepage to be used. The keyboard layout
1024     has to provide support for the specified codepage, otherwise the layout
1025     loading will fail.
1026     If no codepage is specified, an appropriate codepage for the requested
1027     layout is chosen automatically.
1028
1029  [codepagefile] can be used to load codepages that are yet not compiled
1030     into DOSBox. This is only needed when DOSBox does not find the codepage.
1031     If no codepagefile is specified, but you place all ten ega.cpx files
1032     (from FreeDOS) in the DOSBox program folder, an appropriate codepagefile
1033     for the requested layout/codepage is chosen automatically.
1034
1035  Examples:
1036    1. To load the polish typist keys layout (automatically uses codepage 852):
1037         keyb pl214
1038    2. To load one of russian keyboard layouts with codepage 866:
1039         keyb ru441 866
1040       In order to type russian characters press ALT+RIGHT-SHIFT.
1041    3. To load one of french keyboard layouts with codepage 850 (where the
1042       codepage is defined in EGACPI.DAT):
1043         keyb fr189 850 EGACPI.DAT
1044    4. To load codepage 858 (without a keyboard layout):
1045         keyb none 858
1046       This can be used to change the codepage for the FreeDOS keyb2 utility.
1047    5. To display the current codepage and, if loaded, the keyboard layout:
1048         keyb
1049
1050
1051
1052For more information use the /? command line switch with the programs.
1053
1054
1055
1056================
10575. Special Keys:
1058================
1059
1060ALT-ENTER     Switch to full screen and back.
1061ALT-PAUSE     Pause emulation (hit ALT-PAUSE again to continue).
1062CTRL-F1       Start the keymapper.
1063CTRL-F4       Change between mounted floppy/CD images. Update directory cache
1064              for all drives.
1065CTRL-ALT-F5   Start/Stop creating a movie of the screen. (avi video capturing)
1066CTRL-F5       Save a screenshot. (PNG format)
1067CTRL-F6       Start/Stop recording sound output to a wave file.
1068CTRL-ALT-F7   Start/Stop recording of OPL commands. (DRO format)
1069CTRL-ALT-F8   Start/Stop the recording of raw MIDI commands.
1070CTRL-F7       Decrease frameskip.
1071CTRL-F8       Increase frameskip.
1072CTRL-F9       Kill DOSBox.
1073CTRL-F10      Capture/Release the mouse.
1074CTRL-F11      Slow down emulation (Decrease DOSBox Cycles).
1075CTRL-F12      Speed up emulation (Increase DOSBox Cycles)*.
1076ALT-F12       Unlock speed (turbo button/fast forward)**.
1077CTRL-ALT-HOME Restart DOSBox.
1078F11, ALT-F11  (machine=cga) change tint in NTSC output modes***.
1079F11           (machine=hercules) cycle through amber, green, white colouring***.
1080
1081*NOTE: Once you increase your DOSBox cycles beyond your computer CPU resources,
1082       it will produce the same effect as slowing down the emulation.
1083       This maximum will vary from computer to computer.
1084
1085**NOTE: You need free CPU resources for this (the more you have, the faster
1086        it goes), so it won't work at all with cycles=max or a too high amount
1087        of fixed cycles. You have to keep the keys pressed for it to work!
1088
1089***NOTE: These keys won't work if you saved a mapper file earlier with
1090         a different machine type. So either reassign them or reset the mapper.
1091
1092These are the default keybindings. They can be changed in the keymapper
1093(see Section 7: "KeyMapper").
1094
1095In Mac OS X you can try using cmd(applekey) together with Ctrl (and/or ) Fn,
1096if the key doesn't work i.e. fn-cmd-ctrl-F1, but some keys may still need
1097remapping (in Linux too).
1098
1099Saved/recorded files can be found in:
1100   (Windows)    "Start/WinLogo Menu"->"All Programs"->DOSBox-0.74->Extras
1101   (Linux)      ~/.dosbox/capture
1102   (Mac OS X)   "~/Library/Preferences/capture"
1103This can be changed in the DOSBox configuration file.
1104
1105
1106
1107====================
11086. Joystick/Gamepad:
1109====================
1110
1111The standard joystick port in DOS supports a maximum of 4 axes and 4 buttons.
1112For more, different modifications of that configuration were used.
1113
1114To force DOSBox to use a different type of emulated joystick/gamepad, the entry
1115"joysticktype" in the [joystick] section of the DOSBox configuration file can
1116be used.
1117
1118none  - disables controller support.
1119auto  - (default) autodetects whether you have one or two controllers connected:
1120          if you have one - '4axis' setting is used,
1121          if you have two - '2axis' setting is used.
11222axis - If you have two controllers connected, each will emulate a joystick
1123        with 2 axes and 2 buttons. If you have only one controller connected,
1124        it will emulate a joystick with only 2 axis and 2 buttons.
11254axis - supports only first controller, emulates a joystick
1126        with 4 axis and 4 buttons or a gamepad with 2axis and 6 buttons.
11274axis_2 - supports only second controller.
1128fcs   - supports only first controller, emulates ThrustMaster
1129        Flight Control System, with 3-axes, 4 buttons and 1 hat.
1130ch    - supports only first controller, emulates CH Flightstick,
1131        with 4-axes, 6 buttons and 1 hat, but you cannot press more
1132        than one button at the same time.
1133
1134You also have to configure controller properly inside the game.
1135It is important to remember that if you saved the mapperfile without joystick
1136connected, or with a different joystick setting, your new setting will not work
1137properly, or not work at all, until you reset DOSBox's mapperfile.
1138
1139If controller is working properly outside DOSBox, but doesn't calibrate properly
1140inside DOSBox, try a different 'timed' setting in DOSBox's configuration file.
1141
1142
1143
1144=============
11457. KeyMapper:
1146=============
1147
1148Start the DOSBox mapper either with CTRL-F1 (see Section 5: "Special Keys") or
1149-startmapper (see Section 3: "Command Line Parameters").
1150You are presented with a virtual keyboard and a virtual joystick.
1151
1152These virtual devices correspond to the keys and events DOSBox will
1153report to the DOS applications. If you click on a button with your mouse,
1154you can see in the lower left corner with which event it is associated
1155(EVENT) and to what events it is currently bound.
1156
1157Event: EVENT
1158BIND: BIND (the real key/button/axis you push with your finger/hand)
1159
1160                                    Add   Del
1161mod1  hold                                Next
1162mod2
1163mod3
1164
1165
1166EVENT
1167    The key or joystick axis/button/hat DOSBox will report to DOS applications.
1168    (the event that will happen during the game, (eg. shooting/jumping/walking)
1169BIND
1170    The key on your real keyboard or the axis/button/hat on your real
1171    joystick(s) (as reported by SDL), which is connected to the EVENT.
1172mod1,2,3
1173    Modifiers. These are keys you need to have to be pressed while pressing
1174    BIND. mod1 = CTRL and mod2 = ALT. These are generally only used when you
1175    want to change the special keys of DOSBox.
1176Add
1177    Add a new BIND to this EVENT. Basically add a key from your keyboard or an
1178    event from the joystick (button press, axis/hat movement) which will
1179    produce the EVENT in DOSBox.
1180Del
1181    Delete the BIND to this EVENT. If an EVENT has no BINDS, then it is not
1182    possible to trigger this event in DOSBox (that is there's no way to type
1183    the key or use the respective action of the joystick).
1184Next
1185    Go through the list of bindings which map to this EVENT.
1186
1187
1188Example:
1189Q1. You want to have the X on your keyboard to type a Z in DOSBox.
1190    A. Click on the Z on the keyboard mapper. Click "Add".
1191       Now press the X key on your keyboard.
1192
1193Q2. If you click "Next" a couple of times, you will notice that the Z on your
1194    keyboard also produces an Z in DOSBox.
1195    A. Therefore select the Z again, and click "Next" until you have the Z on
1196       your keyboard. Now click "Del".
1197
1198Q3. If you try it out in DOSBox, you will notice that pressing X makes ZX
1199    appear.
1200     A. The X on your keyboard is still mapped to the X as well! Click on
1201        the X in the keyboard mapper and search with "Next" until you find the
1202        mapped key X. Click "Del".
1203
1204
1205Examples of remapping the joystick:
1206  You have a joystick attached, it is working fine under DOSBox and you
1207  want to play some keyboard-only game with the joystick (it is assumed
1208  that the game is controlled by the arrows on the keyboard):
1209    1. Start the mapper, then click on one of the left keyboard arrow.
1210       EVENT should be key_left. Now click on Add and move your joystick
1211       in the respective direction, this should add an event to the BIND.
1212    2. Repeat the above for the missing three directions, additionally
1213       the buttons of the joystick can be remapped as well (fire/jump).
1214    3. Click on Save, then on Exit and test it with some game.
1215
1216  You want to swap the y-axis of the joystick because some flightsim uses
1217  the up/down joystick movement in a way you don't like, and it is not
1218  configurable in the game itself:
1219    1. Start the mapper and click on Y- in the first joystick field.
1220       EVENT should be jaxis_0_1-.
1221    2. Click on Del to remove the current binding, then click Add and move
1222       your joystick downwards. A new bind should be created.
1223    3. Repeat this for Y+, save the layout and finally test it with some game.
1224
1225  If you want to remap anything to your d-pad/hat you will have to change
1226  'joysticktype=auto' to 'joysticktype=fcs' in configuration file. Maybe this
1227  will be improved in the next DOSBox version.
1228
1229
1230If you change the default mapping, you can save your changes by clicking on
1231"Save". DOSBox will save the mapping to a location specified in
1232the configuration file (the mapperfile= entry). At startup, DOSBox will load
1233your mapperfile, if it is present in the DOSBox configuration file.
1234
1235
1236
1237===================
12388. Keyboard Layout:
1239===================
1240
1241To switch to a different keyboard layout, either the entry "keyboardlayout"
1242in the [dos] section of the DOSBox configuration file or the internal DOSBox
1243program keyb.com (Section 4: "Internal Programs") can be used. Both accept
1244DOS conforming language codes (see below), but only by using keyb.com a
1245custom codepage can be specified.
1246
1247The default keyboardlayout=auto currently works under Windows only. The language
1248is chosen according to the OS language, but the keyboard layout is not detected.
1249
1250Layout switching
1251  DOSBox supports a number of keyboard layouts and codepages by default,
1252  in this case just the layout identifier needs to be specified (like
1253  keyboardlayout=PL214 in the DOSBox configuration file, or using "keyb PL214"
1254  at the DOSBox command prompt). The list of all layouts built into DOSBox is
1255  here: http://vogons.zetafleet.com/viewtopic.php?t=21824
1256
1257  Some keyboard layouts (for example layout GK319 codepage 869 and layout RU441
1258  codepage 808) have support for dual layouts that can be accessed by pressing
1259  LeftALT+RrightSHIFT for one layout and LeftALT+LeftSHIFT for the other.
1260  Some keyboard layouts (for example layout LT456 codepage 771) have support
1261  for three layouts, third can be accessed by pressing LeftALT+LeftCTRL
1262
1263Supported external files
1264  The FreeDOS .kl files are supported (FreeDOS keyb2 keyboard layoutfiles) as
1265  well as the FreeDOS keyboard.sys/keybrd2.sys/keybrd3.sys libraries which
1266  consist of all available .kl files.
1267  See http://www.freedos.org/ for precompiled keyboard layouts if
1268  the DOSBox-integrated layouts don't work for some reason, or if updated or
1269  new layouts become available.
1270
1271  Both .CPI (MS-DOS and compatible codepage files) and .CPX (FreeDOS
1272  UPX-compressed codepage files) can be used. Some codepages are compiled
1273  into DOSBox, so it is mostly not needed to care about external codepage
1274  files. If you need a different (or custom) codepage file, copy it into
1275  the directory of the DOSBox so it is accessible for DOSBox.
1276  If you place all ten ega.cpx files (from FreeDOS) in DOSBox folder,
1277  an appropriate codepagefile for the requested layout/codepage is
1278  chosen automatically.
1279
1280  Additional layouts can be added by copying the corresponding .kl file into
1281  the directory of the DOSBox configuration file and using the first part of
1282  the filename as language code.
1283  Example: For the file UZ.KL (keyboard layout for Uzbekistan) specify
1284           "keyboardlayout=uz" in the DOSBox configuration file.
1285  The integration of keyboard layout packages (like keybrd2.sys) works similar.
1286
1287Note that the keyboard layout allows foreign characters to be entered, but
1288there is NO support for them in filenames. Try to avoid them both inside
1289DOSBox as well as in files on your host operating system that are accessible
1290by DOSBox.
1291
1292
1293
1294==============================
12959. Serial Multiplayer feature:
1296==============================
1297
1298DOSBox can emulate a serial nullmodem cable over network and internet.
1299It can be configured through the [serialports] section in the DOSBox
1300configuration file.
1301
1302To create a nullmodem connection, one side needs to act as the server and
1303one as the client.
1304
1305The server needs to be set up in the DOSBox configuration file like this:
1306   serial1=nullmodem
1307
1308The client:
1309   serial1=nullmodem server:<IP or name of the server>
1310
1311Now start your game and choose nullmodem / serial cable / already connected
1312as multiplayer method on COM1. Set the same baudrate on both computers.
1313
1314Furthermore, additional parameters can be specified to control the behavior
1315of the nullmodem connection. These are all parameters:
1316
1317 * port:         - TCP port number. Default: 23
1318 * rxdelay:      - how long (milliseconds) to delay received data if the
1319                   interface is not ready. Increase this value if you encounter
1320                   overrun errors in the DOSBox status window. Default: 100
1321 * txdelay:      - how long to gather data before sending a packet. Default: 12
1322                   (reduces Network overhead)
1323 * server:       - This nullmodem will be a client connecting to the specified
1324                   server. (No server argument: be a server.)
1325 * transparent:1 - Only send the serial data, no RTS/DTR handshake. Use this
1326                   when connecting to anything other than a nullmodem.
1327 * telnet:1      - Interpret Telnet data from the remote site. Automatically
1328                   sets transparent.
1329 * usedtr:1      - The connection will not be established until DTR is switched
1330                   on by the DOS program. Useful for modem terminals.
1331                   Automatically sets transparent.
1332 * inhsocket:1   - Use a socket passed to DOSBox by command line. Automatically
1333                   sets transparent. (Socket Inheritance: It is used for
1334                   playing old DOS door games on new BBS software.)
1335
1336Example: Be a server listening on TCP port 5000.
1337   serial1=nullmodem server:<IP or name of the server> port:5000 rxdelay:1000
1338
1339
1340
1341=====================================
134210. How to speed up/slow down DOSBox:
1343=====================================
1344
1345DOSBox emulates the CPU, the sound and graphic cards, and other peripherals
1346of a PC, all at the same time. The speed of an emulated DOS application
1347depends on how many instructions can be emulated, which is adjustable
1348(number of cycles).
1349
1350CPU Cycles (speed up/slow down)
1351  By default (cycles=auto) DOSBox tries to detect whether a game needs to
1352  be run with as many instructions emulated per time interval as possible
1353  (cycles=max, sometimes this results in game working too fast or unstable),
1354  or whether to use fixed amount of cycles (cycles=3000, sometimes this results
1355  in game working too slow or too fast). But you can always manually force
1356  a different setting in the DOSBox's configuration file.
1357
1358  You can force the slow or fast behavior by setting a fixed amount of cycles
1359  in the DOSBox's configuration file. If you set for example cycles=10000, the
1360  DOSBox window will display a line "CPU speed: fixed 10000 cycles" at the top.
1361  In this mode you can reduce the amount of cycles even more by hitting CTRL-F11
1362  (you can go as low as you want) or raise it by hitting CTRL-F12 as much as you
1363  want, but you will be limited by the power of one core of your computer's CPU.
1364  You can see how much free time your real CPU's cores have by looking at
1365  the Task Manager in Windows 2000/XP/Vista/7 and the System Monitor
1366  in Windows 95/98/ME. Once 100% of the power of your computer's real CPU's one
1367  core is used, there is no further way to speed up DOSBox (it will actually
1368  start to slow down), unless you reduce the load generated by the non-CPU parts
1369  of DOSBox. DOSBox can use only one core of your CPU, so If you have
1370  for example a CPU with 4 cores, DOSBox will not be able to use the power
1371  of three other cores.
1372
1373  You can also force the fast behavior by setting cycles=max in the DOSBox
1374  configuration file. The DOSBox window will display a line
1375  "CPU speed: max 100% cycles" at the top then. This time you won't have to care
1376  how much free time your real CPU cores have, because DOSBox will always use
1377  100% of your real CPU's one core. In this mode you can reduce the amount
1378  of your real CPU's core usage by CTRL-F11 or raise it with CTRL-F12.
1379
1380CPU Core (speed up)
1381  On x86 architectures you can try to force the usage of a dynamically
1382  recompiling core (set core=dynamic in the DOSBox configuration file).
1383  This usually gives better results if the auto detection (core=auto) fails.
1384  It is best accompanied by cycles=max. But you may also try using it with
1385  high amounts of cycles (for example 20000 or more). Note that there might be
1386  games that work worse/crash with the dynamic core (so save your game often),
1387  or do not work at all!
1388
1389Graphics emulation (speed up)
1390  VGA emulation is a demanding part of DOSBox in terms of actual CPU usage.
1391  Increase the number of frames skipped (in increments of one) by pressing
1392  CTRL-F8. Your CPU usage should decrease when using a fixed cycle setting,
1393  and you will be able to increase cycles with CTRL-F12.
1394  You can repeat this until the game runs fast enough for you.
1395  Please note that this is a trade-off: you lose in fluidity of video what
1396  you gain in speed.
1397
1398Sound emulation (speed up)
1399  You can also try to disable the sound through the setup utility of the game
1400  to reduce load on your CPU further. Setting nosound=true in DOSBox's
1401  configuration does NOT disable the emulation of sound devices, just
1402  the output of sound will be disabled.
1403
1404Also try to close every program but DOSBox to reserve as much resources
1405as possible for DOSBox.
1406
1407
1408Advanced cycles configuration:
1409The cycles=auto and cycles=max settings can be parameterized to have
1410different startup defaults. The syntax is
1411  cycles=auto ["realmode default"] ["protected mode default"%]
1412              [limit "cycle limit"]
1413  cycles=max ["protected mode default"%] [limit "cycle limit"]
1414Example:
1415  cycles=auto 5000 80% limit 20000
1416  will use cycles=5000 for real mode games, 80% CPU throttling for
1417  protected mode games along with a hard cycle limit of 20000
1418
1419
1420
1421====================
142211. Troubleshooting:
1423====================
1424
1425General tip:
1426  Check messages in the DOSBox status window. See Section 12: "DOSBox Status Window".
1427
1428DOSBox crashes right after starting it:
1429  - use different values for the output= entry in your DOSBox
1430    configuration file
1431  - try to update your graphics card driver and DirectX
1432  - (Linux) set the environment variable SDL_AUDIODRIVER to alsa or oss.
1433
1434Running a certain game closes DOSBox, crashes with some message or hangs:
1435  - see if it works with a default DOSBox installation
1436    (unmodified configuration file)
1437  - try it with sound disabled (use the sound configuration
1438    program that comes with the game, additionally you can
1439    set sbtype=none and gus=false in the DOSBox configuration file)
1440  - change some entries of the DOSBox configuration file, especially try:
1441      core=normal
1442      fixed cycles (for example cycles=10000)
1443      ems=false
1444      xms=false
1445    or combinations of the above settings,
1446    similar the machine settings that control the emulated chipset and
1447    functionality:
1448      machine=vesa_nolfb
1449    or
1450      machine=vgaonly
1451  - use loadfix before starting the game
1452
1453The game exits to the DOSBox prompt with some error message:
1454  - read the error message closely and try to locate the error
1455  - try the hints at the above sections
1456  - mount differently as some games are picky about the locations,
1457    for example if you used "mount d d:\oldgames\game" try
1458    "mount c d:\oldgames\game" and "mount c d:\oldgames"
1459  - if the game requires a CD-ROM be sure you used "-t cdrom" when
1460    mounting and try different additional parameters (the ioctl,
1461    usecd and label switches, see the appropriate section)
1462  - check the file permissions of the game files (remove read-only
1463    attributes, add write permissions etc.)
1464  - try reinstalling the game within DOSBox
1465
1466
1467
1468=========================
146912. DOSBox Status Window:
1470=========================
1471
1472DOSBox's status window contains useful information about your current
1473configuration, your actions in DOSBox, errors which occurred and more.
1474Check these messages in case you encounter any problems with DOSBox.
1475
1476To display the DOSBox status window:
1477  (Windows)  The status window is being started together with main DOSBox window.
1478  (Linux)    You may have to start DOSBox from a console to see the status window.
1479  (Mac OS X) Right click on DOSBox.app, choose "Show Package Contents"->
1480             ->enter "Contents"->enter "MacOS"->run "DOSBox"
1481
1482
1483
1484=====================================
148513. The configuration (options) file:
1486=====================================
1487
1488The configuration file is automatically created the first time you run DOSBox.
1489The file can be found in:
1490   (Windows)  "Start/WinLogo Menu"->"All Programs"->DOSBox-0.74->Options
1491   (Linux)    ~/.dosbox/dosbox-0.74.conf
1492   (Mac OS X) "~/Library/Preferences/DOSBox 0.74 Preferences"
1493The file is divided into several sections. Each section starts with a
1494[section name] line. The settings are the property=value lines where value can
1495be altered to customize DOSBox.
1496# and % indicate comment-lines.
1497
1498
1499An extra configuration file can be generated by CONFIG.COM, which can be found
1500on the internal DOSBox Z: drive when you start up DOSBox. Look in the Section 4:
1501"Internal programs" for usage of CONFIG.COM. You can start DOSBox with
1502the -conf switch to load the generated file and use its settings.
1503
1504DOSBox will load configuration files that are specified with -conf. If none were
1505specified, it will try to load "dosbox.conf" from the local directory.
1506If there is none, DOSBox will load the user configuration file.
1507This file will be created if it doesn't exist.
1508
1509Important!: In Windows Vista/7 the configuration file won't work correctly
1510if it is located in "Windows" or "Program Files" folder or their subfolders,
1511or directly on c:\, so the best place for storing extra configuration files is
1512for example: C:\oldgames
1513
1514
1515
1516======================
151714. The Language File:
1518======================
1519
1520A language file can be generated by CONFIG.COM, which can be found on the
1521internal DOSBox Z: drive when you start up DOSBox. Look in the Section 4:
1522"Internal programs" for usage of CONFIG.COM.
1523Read the language file, and you will hopefully understand how to change it.
1524Start DOSBox with the -lang switch to use your new language file.
1525Alternatively, you can setup the filename in the configuration file
1526in the [dosbox] section. There's a language= entry that can be changed with
1527the filelocation.
1528
1529
1530
1531========================================
153215. Building your own version of DOSBox:
1533========================================
1534
1535Download the source.
1536Check the INSTALL in the source distribution.
1537
1538
1539
1540===================
154116. Special thanks:
1542===================
1543
1544See the THANKS file.
1545
1546
1547
1548============
154917. Contact:
1550============
1551
1552See the site:
1553http://www.dosbox.com
1554for an email address (The Crew-page).
1555
1556
1557