This page will have further information at a later date. This page currently lists only the essential things you need to know.
The DOSBox-X-App is a slightly customized version of DOSBox-X, combined with external programs and commands that make it easy to print and create PDFs from DOS applications. Unlike the original DOSBox-X, which is designed to run all DOS applications and games, and early versions of Windows, the special-purpose DOSBox-X-App on this page has been customized for use with applications, not games.
Download the Windows installer from this link. The app is designed to run under 64-bit Windows 10 or Windows 11.
Download the macOS version for Intel and Apple Silicon from this link. The app should run under macOS 12 Monterey, macOS 13 Ventura, macOS 14 Sonoma, and presumably also later versions. It may run under earlier versions, but I haven't tested it under earlier versions. If the current version does not work under an earlier macOS version, you might want to try this older version of the app, but it may or may not work on your older macOS system. Also, if macOS prompts you to allow the app to receive keystrokes from any application, click "Deny" because the app does not this permission, and I do not know why macOS asks for it.
The current version of the DOSBox-X-App is based on a custom build of the source code of the original DOSBox-X, as of 1 September 2023. The current version includes complete 4DOS and PCED folders in drive B: for use if needed. The macOS version was updated 1 December 2024 to allow "printing" to the macOS clipboard
Update schedule: I plan to update this application approximately twice each year, so the next update should be posted in mid-2024. The original DOSBox-X is updated every three months, so if you need its latest features, you should use the original DOSBox-X instead of this customized app.
If you are looking for an emulator program in which to run DOS applications under Windows, I can't tell you which emulator you should use, because I don't know what you want to use it for. For various reasons that don't matter to anyone but me, I use vDos for running most DOS applications, but you may prefer DOSBox-X. Keep in mind that some DOS programs won't run under vDos, and require the use of DOSBox-X or DOSBox or some other emulator. These vDos-incompatible programs (e.g. XyWrite, QuickBasic, etc.) use the keyboard in ways that vDos does not support; others use specialized software functions that vDos does not support. The DOSBox-X-App provided here should work correctly with all such programs. Also, in graphic mode, vDos supports VGA (640x480) graphics for all programs (except WPDOS 6.x, for which vDos provides high-resolution graphics), while DOSBox-X supports high-resolution VESA graphics. And, when used for networked applications, vDos will display a nag screen until it is registered.
If you plan to run networked database applications (e.g. dBase, Paradox, FoxPro, etc.), use only the original version of DOSBox-X, not any version that you find on my site. I cannot provide any support for networked database applications used with my modified version, but you can get fast, thorough, and responsive support for the original DOSBox-X through the DOSBox-X GitHub site.
Under Windows, when the DOSBox-X-App starts up, it opens in virtual drive B: which is the same as the folder <your user folder>\DOSBoxXApp\AppHD If you want to run commands (such as one of the alternate window sizes shown below) add it to the file B:\OPTIONS.BAT, which is the equivalent of autoexec.bat.
Under macOS, when the DOSBox-X-App starts up, it opens in virtual drive C:, which is the same as the folder ~/DOSBoxDisk. (It creates this folder on startup if the folder doesn't already exist.) If you want to run commands (such as one of the alternate window sizes shown below) create a file C:\AUTOEXEC.BAT and add one or more commands to it (such as one of the alternate window sizes shown below). You can create this file with a command like this at the C:\> prompt: echo rem>autoexec.bat and then edit the file in a text editor, or add commands like this: echo 25lines>>autoexec.bat (and notice the double angle bracket which appends the line to an existing file).
You can use these batch files to mount any folder on your disk as a drive letter in the DOSBox-X-App. For example, options.bat in Windows or autoexec.bat on a Mac can include a command like this one for Windows:
mount j: d:\path\to\folder
or for a Mac:
mount j: ~/Downloads
(The colon in the drive letter - j: in the examples above - is optional.)
With the Windows version of this application, you can drop a file on the app icon or its shortcut. (Do not try to drag a file into the window of the app when it is open; that will accomplish nothing.) When the app launches after you drop a file on it,the DOS 8.3 name of the dropped file will be stored in the DOS variable %INFILE%. You can open that file automatically in a DOS program by starting the program (either from the command line or a batch file) with the variable as a command-line parameter, like this:
c:\path\myprogram.exe %INFILE%
If you start the app without dropping a file, the %INFILE% variable will be empty and your program will ignore it.
DOSBox-X can be customized in many ways by editing its configuration file. Study the DOSBox-X documentation online for details. This app builds its configuration file on each launch, taking most configuration items from a base file that you can modify to suit your purposes.
Under Windows, open the DOSBox-X folder in your user folder, then the DOSBox folder, and edit the xapp.conf file.
Under macOS, hold down the Option key when launching the app and choose "Edit base configuration file".
Unlike standard DOSBox-X, the DOSBox-X-App supports only a few shortcut keys, as follows (and notice the different assignments for the macOS version!)
In the Windows version, these are listed on a message box accessible by clicking the System Menu (the icon at the upper right) and choosing "DOSBox-X-App keyboard help."
Unlike standard DOSBox-X (running with default settings), the DOSBox-X-App does not require you to refresh directories after modifying them outside DOSBox-X itself.
The DOSBox-X-App starts up, by default, in a 43-line window. You can change this at any time by entering one of the following commands. The last two on the list were added 5 January 2022.
These commands are not available in standard DOSBox-X, but standard DOSBox-X provides equivalents of some of these modes with its standard commands 80x25, 80x43, 80x50, and 80x60. The mode con command may also be used for some modes (enter that command for details).
If the DOS prompt disappears when you switch to a new window size, you can make it return by entering any command that writes to the screen (like echo or ver, but not cls).
The DOSBox-X-App can exchange text with the Windows or macOS clipboard in various ways that extend the clipboard exchange features in standard DOSBox-X.
To copy text to the Windows clipboard, use one of these methods:
To copy text to the macOS clipboard, use one of these methods:
To paste text from the Windows clipboard, use one of these methods:
To paste text from the macOS clipboard, do this:
The DOSBox-X-App currently supports printing from PCL and PostScript drivers, and also tries to print plain ASCII text. It does not support Epson or other older printer languages. The destination of the printer output depends on the LPT port that you choose for the printer driver in your DOS application (some of these assignments were changed from earlier ones on 29 January 2024):
For most applications, you will need to enter LPT4 through LPT8 as filenames, because these ports were not available on DOS machines.
You can modify these assignments to suit your needs:
In Windows, edit the file <your user folder>\DOSBoxXApp\DOSBox\xapp.conf and search for "CUSTOMIZATION", then follow the instructions. Save the file when you are finished. Your settings will be used when you next launch the application.
In macOS, hold down the Option key when launching the application, choose "Print by default to macOS Printer or PDF" (or similar text) to choose whether the app will print by default to the default macOS printer or to a PDF on the desktop.
Highly advanced users can also select "Customize printer port options" from the menu, and follow the instructions in the file that opens in TextEdit. Save the file when you are finished. Your settings will be used when you next launch the application.
Problems with ASCII text printout (Windows version):
If your DOS application is setup to print to an Epson or other dot-matrix printer, then the output from the Windows version of the DOSBox-X-App may show misplaced linebreaks or text. If this occurs, then do the following. Download DOSPrinter.exe from http://dosprinter.net and copy it into the DOSBox folder in your DOSBox-X-App system. When you print ASCII text from the DOSBox-X-App, it will now use DOSPrinter.exe to create the final output instead of its default method. Until you register DOSPrinter.exe (US$40), it will create watermarks on some or all output files; these watermarks may or may not matter to you.
Problems with ASCII text printout (macOS version):
When you print text files from the macOS version, the text is first converted to PostScript by the public-domain nenscript utility. The font size and other options used by nenscript are specified in these three shell scripts found in the Contents->Resources->Files folder inside the application: texttopdf.sh, texttoprinter.sh, and textviewpdf.sh. The nenscript command-line options may be found here; study that page, and experiment by changing the command-line settings in the shell scripts. Unless you are willing to pay an enormous consulting fee, do not ask my help in modifying these scripts.
DOSBox-X can be built in two ways, one that uses the SDL1 graphic and keyboard library, the other that uses the newer SDL2 library. Under Windows, the DOSBox-X-App uses the SDL2 library, which is more widely compatible with international keyboard. Under macOS, I have found that the SDL1 library has fewer problems, so the DOSBox-X-App, by default, uses SDL1. However, if you add SDL2 to the name of the app, then it will use SDL2 instead. Please feel free to report on any results you find with either library.
Edward Mendelson (edward [dot] mendelson [at] columbia [dot] edu)