DOSBox-X

Cross-platform DOS emulation package
Complete, accurate emulation and more


DOSBox-X 0.83.21 Release Notes

Release Date: December 31, 2021

Please report any issues in our issue tracker.

Also, make sure to check out our Wiki guide.

New in This Version

1. Notable New Features

  • Support for viewing Unicode (UTF-8 or UTF-16) documents in the shell

    DOSBox-X now supports UTF8 and UTF16 commands, which allow to convert UTF-8 and UTF-16 encoded text to view in the current code page, including both SBCS and DBCS code pages. For example, the command “UTF8 < UTF8TEXT.TXT” will output converted text UTF8TEXT.TXT in the current code page, and for UTF16 command there are optional /BE & /LE options to specify endianness.

  • Support for ENET reliable UDP for modem and null-modem emulation

    The ENET reliable UDP is now supported as an option for modem and null-modem emulations. You can enable it with “sock:1” option for modems/null-modems that are connected with serial ports (COM1-COM9), such as “serial1=modem listenport:5000 sock:1” for COM1 to listen to port 5000 with reliable ENET UDP instead of TCP connection.

  • Support for port forwarding for NE2000 networking’s Slirp backend

    Port forwarding is now supported for the Slirp backend of the NE2000 networking feature. There are new config options “tcp_port_forwards” and “udp_port_forwards” in [ethernet, slirp] section for TCP and UDP port forwarding options.

  • Support for viewing or changing file extension associations

    DOSBox-X now allows you to define a command or program to open a file with a specific file extension with ASSOC command, e.g. “assoc .txt=edit” to open .TXT files with the EDIT command when entering the .TXT file name from the DOS command line. Wildcards (* or ?) are also supported.

  • Support for more special properties for CONFIG command

    CONFIG command now supports special properties including “cd”, “date”, “errorlevel”, “random”, “time”, and “lastmount” so that commands like “CONFIG -GET cd” and “CONFIG -GET errorlevel” will get current DOS directory and ERRORLEVEL value. The returned value will also be saved to %CONFIG% variable.

  • Support for rescanning the internal virtual drive Z:

    The internal Virtual Drive Z: can now be rescanned just like mounted local drives. Any changes to the “drivez” directory or code pages will now be reflected after a Z: drive rescan.

  • Support for providing command-line options for launching programs(s) at start

    There is now a command-line option “-o” which allows you to provide command-line option(s) or arguments if programs(s) are specified to start when you launch DOSBox-X, e.g. dosbox-x program.exe -o “opt1 opt2”

  • Much improved DBCS support for Chinese/Japanese/Korean languages

    DBCS support for Chinese/Japanese/Korean languages have been further improved in this version in various ways. For example, IME support for Chinese/Japanese/Korean languages has been improved; DBCS characters located in UNC network paths of the form \\COMPUTER\FOLDER\FILEDOS are supported; DOS commands like ATTRIB, ECHO, TYPE, MORE, and TRUENAME can now handle DBCS characters better; there is now also a hidden code page 951 for Big5-HKSCS encoding or Big5 Unicode-At-On (Big5-UAO) encoding.

  • Improved support for Windows for Workgroups 3.11 networking

    Support for the Windows for Workgroups 3.11 networking has been improved in this version, so that you can fully utilize the networking feature of Windows for Workgroups 3.11 when running from the internal DOS shell. Be sure to execute the commands “DEVICE IFSHLP.SYS” and “NET START” before running WFW 3.11 from the shell so that its networking feature will work as expected.

  • Improved support for the save-state feature

    The save-state feature saw further improvements in this version so that you can expect that saving and loading states to work more reliably than before.

  • Improved clipboard copy and paste support

    The clipboard copy and paste has been improved for different code pages including box-drawing characters in DBCS code pages (including PC-98 mode). Also, for the Toshiba J-3100 mode, the selected text will now be highlighted when you try to select text for copying.

2. Notable Usability Improvements

  • Easier to use Configuration Tool

    The usability for the Configuration Tool has been significantly improved in this version. A “…” button is added to properties which have limited numbers of values so that you can select a value in a new dialog box instead of manually typing them. Also, more settings will be applied immediately when modified from the Configuration Tool.

  • Allow to force scalers via message boxes

    If a scaler as specified in the config may not work as expected and if not forced, DOSBox-X will show a message box asking whether to load the scaler instead of always silently ignoring it.

  • Allow to enter debugger command without opening the debugger

    The “Enter Debugger Command” button is added to “DOSBox-X logging output” and “Code overview” windows (from Debug” menu”) for users to enter debugger commands directly and see the result, without having to open the debugger. Also, debugger commands DATE and TIME are added to view or change DOSBox-X’s internal date and time.

  • Allow to customize the handler for invalid DOS commands

    You can now specify a custom error handler program before the error message “Bad command or file name” shows up in the DOS shell via config option “badcommandhandler” in [dos] section. For example, setting “badcommandhandler=start” allows to run the specified command in the host system when START command is enabled via “startcmd=true” option.

  • Allow to automatically stop Turbo mode with key inputs

    DOSBox-X will now stop the Turbo (fast forward) mode when a keyboard input has been detected so that you can type keys properly by default. You can change this behavior via config option “stop turbo on key” in [cpu] section.

  • Allow to change most printer options at run-time

    You can now change most config options in [printer] section of the configuration for the virtual printer with CONFIG -set commands, e.g. “CONFIG -set printoutput=png” to set the default printer output to PNG.

  • Allow Bash-shell completions on non-Windows systems

    For Linux and macOS systems, support for Bash-shell completion for the DOSBox-X command-line is now supported in this version.

  • Improved flexibility to load Direct3D pixel shaders

    For setting a Direct3D pixel shader via config option “pixelshader”, DOSBox-X now allows a shader file name without the .fx extension, or a shader file in the current directory.

  • Ability to display or clear command-line history

    There is now a HISTORY command which allows to display or clear command-line history for the internal DOS shell. The command history affects the result of the file-completion feature via Tab key.

3. Bugfixes and Other Improvements

There are also many bugfixes and other improvements, such as fixing issues that had occurred in the previous release (such as fixing the E_Exit “RET from illegal descriptor type 0” message when running DirectX diagnostic program (dxdiag) from a guest Windows 98 system), as well as other improvements (such as improved Toshiba J-3100 emulation) to make DOSBox-X work better. Please see the full changelogs below for more information.

4. Full Changelog In This Version

  • Improved clipboard copying & pasting for different code pages including box-drawing characters in DBCS code pages. Also, for the J-3100 mode, the selected text will now be highlighted when you try to select text for copying. (Wengier)
  • Improved IME support for Chinese/Japanese/Korean languages on Windows builds. (Wengier)
  • Pausing the emulation will automatically release the mouse and prevent mouse capture. (Wengier)
  • For Configuration Tool, a “…” button is added to properties which have limited numbers of values so that when clicking their possible values will be shown in a new dialog and can be selected directly. Also, more settings will be applied immediately when modified from the Configuration Tool. (Wengier)
  • For Windows SDL1 builds, DOSBox-X will now try to prevent the Windows menus from separating into more than one lines due to small window width. (Wengier)
  • If a scaler as specified in the config may not work as expected and if not forced, DOSBox-X will show a a message box asking whether to load it. (Wengier)
  • Config option “pixelshader” now allows a shader file name without the .fx extension, or a shader file in the current directory. (Wengier)
  • Added support for ENET reliable UDP as an option for modem and null-modem emulation. You can enable it with “sock:1” option for modems/null-modems that are connected with serial ports (COM1-COM9), such as “serial1=modem listenport:5000 sock:1” for COM1 to listen to port 5000 with reliable ENET UDP instead of TCP connection. The feature is ported from DOSBox Staging. (sduensin, GranMinigun, kcgen, Wengier)
  • Added new command-line option “-o” for providing command-line option(s) if programs(s) are specified to start when you launch DOSBox-X. An example: dosbox-x program.exe -o “opt1 opt2”. (Wengier)
  • Added special properties to CONFIG command including “cd”, “date”, “errorlevel”, “random”, “time”, and “lastmount” so that commands like “CONFIG -GET cd” and “CONFIG -GET errorlevel” will get current DOS directory and ERRORLEVEL value. The returned value will also be saved to %CONFIG% variable. (Wengier)
  • Added “Enter Debugger Command” button to “DOSBox-X logging output” and “Code overview” windows (from “Debug” menu”) for users to enter some debugger command(s) and see the result. (Wengier)
  • Added debugger commands DATE and TIME to view or change DOSBox-X’s internal date and time, using the same date and time formats as the shell DATE and TIME commands, e.g. “TIME 10:11:12”. (Wengier)
  • Added config option “badcommandhandler” (in [dos] section) which allows to specify a custom error handler program before error message “Bad command or file name” shows up in the DOS shell. (Wengier)
  • Added config option “stop turbo on key” (in [cpu] section) which allows to automatically stop the Turbo (fast forward) mode when a keyboard input has been detected. (Wengier)
  • Added config option “fat32setversion” (in [dos] section) which controls whether DOSBox-X should automatically set reported DOS version to 7.0/7.10 when it’s less than 7.0/7.10 and mounting LBA/FAT32 disk images is requested. It defaults to “ask” so that DOSBox-X will ask in this case. (Wengier)
  • Added config option “j3100colorscroll” (in [dosv] section) which defaults to “false” and allows the J-3100 version of SimCity and VGA version of the Toshiba Windows 3.1 to run, whereas CGA/EGA version of the latter requires a “true” setting. (nanshiki)
  • Added config options (in “ethernet, slirp” section) “tcp_port_forwards” and “udp_port_forwards” for port forwarding when using the Slirp backend. (kcgen)
  • Added code pages 737 (Greek) and 775 (Baltic) for the guest-to-host code page conversions. (Wengier)
  • Added UTF8 and UTF16 commands to convert UTF-8 and UTF-16 text to view in the current code page. For example, the command “UTF8 < UTF8TEXT.TXT” will output converted text UTF8TEXT.TXT in the current code page, and for UTF16 command there are optional /BE & /LE options to specify endianness. (Wengier)
  • Added support for DBCS characters located in UNC network paths of the form \COMPUTER\FOLDER\FILE on the Windows platform. (Wengier)
  • Added hidden code page 951 for Big5-HKSCS encoding or Big5 Unicode-At-On (Big5-UAO) encoding. Config option “uao” is added in [ttf] section so that if set to “true” code page 951 will use the Big5-UAO encoding instead of the Big-HKSCS encoding, the latter being the default for CP951. If ChinaSea is enabled, ChinaSea characters will be used instead of original characters in these encodings. (Wengier)
  • Added -nl option for MOUNT command to automatically find the next available drive letter to mount if the specified drive is already mounted. This allows multiple directories to be mounted when DOSBox-X starts with multiple [name] arguments. (Wengier)
  • Added HISTORY command to display or clear command- line history for the internal DOS shell. (Wengier)
  • Added ASSOC command to view/change file extension associations. You can define a command or program to open a file with a specific file extension, e.g. “assoc .txt=edit” to open .TXT files with the EDIT command when entering the .TXT file name from the DOS command line. Wildcards are allowed, such as “assoc .*=dir”, although in such case exceptions including “assoc .com=com”, “assoc .exe=exe”, and “assoc .bat=bat” are probably desired. (Wengier)
  • Commands CHOICE and COUNTRY are external commands that appear on the Z drive (Z:/DOS/CHOICE.COM and Z:/SYSTEM/COUNTRY.COM respectively) now rather than internal shell commands. COUNTRY command now also affacts thousand and decimal separators. (Wengier)
  • The internal Virtual Drive Z: can now be rescanned just like mounted local drives. (Wengier)
  • You can now change most config options in [printer] section of the configuration for the virtual printer with CONFIG -set commands. (Wengier)
  • Added missing ChinaSea characters in code page 950 with ChinaSea/Big5-2003 extension enabled. (Wengier)
  • Added support for Bash-shell completion for DOSBox-X on non-Windows platforms. (rderooy & FeignInt)
  • Improved DBCS support for DOS commands including ATTRIB, ECHO, TYPE, MORE, and TRUENAME. (Wengier)
  • Improved checking of segment limits. (joncampbell123)
  • Mac OS X builds from now on will use an in-tree tool to replace dylib references in all executable files. XCode install_name_tool is no longer used, it became a hypocondriac and is sitting in the corner screaming about link edit data that doesn’t fill a __LINKEDIT segment. It is once again possible to make Mac OS X ARM releases and to use dylib files from Brew doing so. (joncampbell123)
  • Fix IPL1 partition choice debug message to actually show the partition index chosen, not the -partidx option variable, which if not given by the user, is -1 and was reported as a very large unsigned number. (joncampbell123)
  • Fixed command-line options -starttool & -startmapper not showing messages from specified language file for Configuration Tool and Mapper Editor. (Wengier)
  • Fixed an issue with RENDER_Reset function while loading previously saved states. (yetmorecode)
  • Fixed E_Exit “RET from illegal descriptor type 0” when running DirectX diagnostic program (dxdiag) from a guest Windows 98 system. (Wengier)
  • Fixed “parallel?=file openwith:xxx” not working if a file name is not provided. (Wengier)
  • Fixed crash in the following config combination: output=ttf, machine=pc98, dosvfunc=true. (Wengier)
  • Fixed Disney sound source connecting to parallel port not working in the previous version. (Wengier)
  • Fixed NET command from Windows for Workgroups 3.11 not working from the internal DOS shell. (Wengier)
  • Fixed MODE command options like “rate” and “delay” not working if entered in upper cases. (Wengier)
  • Fixed command-line parameters (when launching DOSBox-X) containing Chinese characters in code page 950 not working in Windows SDL2 builds. (Wengier)
  • Integrated commits from mainline (Allofich)
    • Improve BIOS FDD motor timeout counter, most notably for earlier PCs. Fixes a Chinese variant of Space Harrier.
Previous release: 0.83.20 (release notes) Next release: 0.83.22 (release notes)