DOS (DOSBox)¶
Background¶
DOSBox is a multiplatform DOS-emulator
The DOSBox core has been authored by
- DOSBox Team
The DOSBox core is licensed under
A summary of the licenses behind RetroArch and its cores can be found here.
Extensions¶
Content that can be loaded by the DOSBox core have the following file extensions:
- .exe
- .com
- .bat
- .conf
RetroArch database(s) that are associated with the DOSBox core:
Features¶
Frontend-level settings or features that the DOSBox core respects.
Feature | Supported |
---|---|
Restart | ✕ |
Screenshots | ✔ |
Saves | - |
States | ✕ |
Rewind | ✕ |
Netplay | ✕ |
Core Options | ✔ |
RetroAchievements | ✕ |
RetroArch Cheats | ✕ |
Native Cheats | ✕ |
Controls | ✔ |
Remapping | ✔ |
Multi-Mouse | ✕ |
Rumble | ✕ |
Sensors | ✕ |
Camera | ✕ |
Location | ✕ |
Subsystem | ✕ |
Softpatching | ✕ |
Disk Control | ✕ |
Username | ✕ |
Language | ✕ |
Crop Overscan | ✕ |
LEDs | ✕ |
Directories¶
The DOSBox core's library name is 'DOSBox'
Geometry and timing¶
- The DOSBox core's core provided FPS is 60.0
- The DOSBox core's core provided sample rate is (Rate)
- The DOSBox core's base width is 320
- The DOSBox core's base height is 200
- The DOSBox core's max width is 1024
- The DOSBox core's max height is 768
- The DOSBox core's core provided aspect ratio is 4/3
Loading content¶
- To use you can either load an exe/com/bat file or a *.conf file.
- 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.
- 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.
- To be useful the frontend will need to have keyboard+mouse support, and all keyboard shortcuts need to be remapped.
Usage¶
DOSBox can load DOS executables or custom config files. To get started you can generate a config file by creating the DOSbox folder in your libretro SYSTEM directory, and then loading any DOS application, exit back to the command interpreter and then run config -wcd, Configuration files allow you far better control than core options so far. Eventually every single useable option will be exposed but in the meantime combining both is the best alternative.
If you generate a default config it will always be loaded by default, but you can override it by saving your custom settings, preferably in the game folder. You can create a config like this:
Then you can store this config in the game folder (or any other directory) and just the config instead of the exe file. Once you change a setting using the config command or via core options, you can always update the config file by using config -wcMIDI¶
- To use MIDI you need MT32_CONTROL.ROM and MT32_PCM.ROM in the system directory of RetroArch.Then set:
Core options¶
The DOSBox core has the following option(s) that can be tweaked from the core options menu. The default setting is bolded.
Settings with (Restart) means that core has to be closed for the new setting to be applied on next launch.
-
Machine type [dosbox_machine_type] (vgaonly|svga_s3|svga_et3000|svga_et4000|svga_paradise|hercules|cga|tandy|pcjr|ega)
Select what machine will be emulated.
-
Gamepad emulated mouse [dosbox_emulated_mouse] (enable|disable)
CPU cycles are divided in core options to allow fine control of the desired CPU cycles. Setting this too low may cause slow gameplay, setting this too high might cause sound crackling and bad performance.
-
CPU cycles x 100000 [dosbox_cpu_cycles_0] (0|1|2|3|4|5|6|7|8|9)
CPU cycles are divided in core options to allow fine control of the desired CPU cycles. Setting this too low may cause slow gameplay, setting this too high might cause sound crackling and bad performance.
-
PU cycles x 10000 [dosbox_cpu_cycles_1] (0|1|2|3|4|5|6|7|8|9)
CPU cycles are divided in core options to allow fine control of the desired CPU cycles. Setting this too low may cause slow gameplay, setting this too high might cause sound crackling and bad performance.
-
CPU cycles x 1000 [dosbox_cpu_cycles_2] (1|2|3|4|5|6|7|8|9|0)
CPU cycles are divided in core options to allow fine control of the desired CPU cycles. Setting this too low may cause slow gameplay, setting this too high might cause sound crackling and bad performance.
-
CPU cycles x 100 [dosbox_cpu_cycles_3] (0|1|2|3|4|5|6|7|8|9")
CPU cycles are divided in core options to allow fine control of the desired CPU cycles. Setting this too low may cause slow gameplay, setting this too high might cause sound crackling and bad performance.
User 1 - 2 device types¶
The DOSBox core supports the following device type(s) in the controls menu, bolded device types are the default for the specified user(s):
- None - Input disabled.
- Gamepad - Joypad
- Joystick - Analog
- Keyboard - Keyboard - Keyboard inputs are always active. Has keymapper support.
Joypad¶
Input descriptors for Gamepad 2 Button | RetroPad Inputs |
---|---|
Button 2 | |
Button 1 | |
D-Pad Up | |
D-Pad Down | |
D-Pad Left | |
D-Pad Right |
Input descriptors for Gamepad 4 Button | RetroPad Inputs |
---|---|
Button 3 | |
Button 1 | |
D-Pad Up | |
D-Pad Down | |
D-Pad Left | |
D-Pad Right | |
Button 4 | |
Button 2 |
Input descriptors for Joystick 2 Button | RetroPad Inputs |
---|---|
Button 2 | |
Button 1 | |
Left Analog X | X |
Left Analog Y | Y |
Input descriptors for Joystick 4 Button | RetroPad Inputs |
---|---|
Button 3 | |
Button 1 | |
Button 4 | |
Button 2 | |
Left Analog X | X |
Left Analog Y | Y |
Right Analog X | X |
Right Analog Y | Y |
Input descriptors for Keyboard | RetroPad Inputs |
---|---|
Esc | |
Enter | |
Kbd Up | |
Kbd Down | |
Kbd Left | |
Kbd Right |
Input descriptors for Emulated mouse | RetroPad Inputs |
---|---|
Emulated Mouse Right Click | |
Emulated Mouse Left Click | |
Emulated Mouse X Axis | X |
Emulated Mouse Y Axis | Y |
Keyboard¶
RetroKeyboard Inputs | Keyboard |
---|---|
Keyboard Backspace | Backspace |
Keyboard Tab | Tab |
Keyboard Return | Enter |
Keyboard Pause | Pause |
Keyboard Escape | Escape |
Keyboard Space | Space |
Keyboard ' | ' |
Keyboard , | , |
Keyboard . | . |
Keyboard / | / |
Keyboard 0 | 0 |
Keyboard 1 | 1 |
Keyboard 2 | 2 |
Keyboard 3 | 3 |
Keyboard 4 | 4 |
Keyboard 5 | 5 |
Keyboard 6 | 6 |
Keyboard 7 | 7 |
Keyboard 8 | 8 |
Keyboard 9 | 9 |
Keyboard ; | ; |
Keyboard - | - |
Keyboard = | = |
Keyboard [ | [ |
Keyboard \ | \ |
Keyboard ] | ] |
Keyboard | |
|
Keyboard a | a |
Keyboard b | b |
Keyboard c | c |
Keyboard d | d |
Keyboard e | e |
Keyboard f | f |
Keyboard g | g |
Keyboard h | h |
Keyboard i | i |
Keyboard j | j |
Keyboard k | k |
Keyboard l | l |
Keyboard m | m |
Keyboard n | n |
Keyboard o | o |
Keyboard p | p |
Keyboard q | q |
Keyboard r | r |
Keyboard s | s |
Keyboard t | t |
Keyboard u | u |
Keyboard v | v |
Keyboard w | w |
Keyboard x | x |
Keyboard y | y |
Keyboard z | z |
Keyboard Delete | Delete |
Keyboard Numpad 0 | Numpad 0 |
Keyboard Numpad 1 | Numpad 1 |
Keyboard Numpad 2 | Numpad 2 |
Keyboard Numpad 3 | Numpad 3 |
Keyboard Numpad 4 | Numpad 4 |
Keyboard Numpad 5 | Numpad 5 |
Keyboard Numpad 6 | Numpad 6 |
Keyboard Numpad 7 | Numpad 7 |
Keyboard Numpad 8 | Numpad 8 |
Keyboard Numpad 9 | Numpad 9 |
Keyboard Numpad . | Numpad . |
Keyboard Numpad / | Numpad / |
Keyboard Numpad * | Numpad * |
Keyboard Numpad - | Numpad - |
Keyboard Numpad + | Numpad + |
Keyboard Numpad Enter | Numpad Enter |
Keyboard Up | Up |
Keyboard Down | Down |
Keyboard Right | Left |
Keyboard Left | Right |
Keyboard Insert | Insert |
Keyboard Home | Home |
Keyboard End | End |
Keyboard Page Up | Page Up |
Keyboard Page Down | Page Down |
Keyboard F1 | F1 |
Keyboard F2 | F2 |
Keyboard F3 | F3 |
Keyboard F4 | F4 |
Keyboard F5 | F5 |
Keyboard F6 | F6 |
Keyboard F7 | F7 |
Keyboard F8 | F8 |
Keyboard F9 | F9 |
Keyboard F10 | F10 |
Keyboard F11 | F11 |
Keyboard F12 | F12 |
Keyboard Num Lock | Num Lock |
Keyboard Caps Lock | Caps Lock |
Keyboard Scroll Lock | Scroll Lock |
Keyboard Right Shift | Right Shift |
Keyboard Left Shift | Left Shift |
Keyboard Right Control | Right Control |
Keyboard Left Control | Left Control |
Keyboard Right Alt | Right Alt |
Keyboard Left Alt | Left Alt |
Keyboard Sys Req | Print Screen |