## DOSBox-X-App for Windows and macOS

#### DOSBox-X with printing and other additional features

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 macOS version for Intel and Apple Silicon from this link. In versions posted here before 8 July 2021, printing and PDF creation did not work correctly; that has now (I hope) been corrected. When running the app on an Apple Silicon Mac, note that the application may have still have some Intel-based components that may require Rosetta 2 to be installed, I am trying to replace these with all-Apple-Silicon components.

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 May 2022. (The Mac version has a custom build using current code as of 31 July 2022, which fixes a problem with the Mac clipboard.) The current version includes complete 4DOS and PCED folders in drive B: for use if needed.

Update schedule: I plan to update this application approximately twice each year, so the next update should be posted in late-2022. The original DOSBox-X is updated every month, 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 only VGA (640x480) 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.

#### Run commands automatically at startup

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). (This feature did not work correctly until a fixed version was posted on 13 July 2021.)

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:

(The colon in the drive letter - j: in the examples above - is optional.)

#### Drop a file on the app to open it in a DOS program (Windows version only)

With the Windows version of this application, you can drop a file on the app or its shortcut. When the app launches, the DOS 8.3 name of the dropped file will be stored in the DOS variable %INFILE%. You can open that file automatically in an 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.

#### Modify the configuration files

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 DOSBoxX 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".

#### Shortcut keys

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!)

• Alt-Enter (macOS: Cmd-Enter): Toggle full-screen mode
• Ctrl-Alt-F1 (Windows only): Toggle DOSBox-X menu line
• Ctrl-Alt-F3 (Windows only): Enable/disable right-drag mouse to send text to clipboard
• Ctrl-Alt-F4 (macOS: Cmd-Option-F4): Paste text from host clipboard
• Ctrl-Alt-F5 (macOS: Cmd-Option-F5): Stop clipboard paste in progress
• Ctrl-Alt-F10 (macOS: Cmd-Option-F10): Capture/release mouse
• Ctrl-Alt-F11 (macOS: Cmd-Option-F11): Reduce TrueType font size
• Ctrl-Alt-F12 (macOS: Cmd-Option-F12): Increase  TrueType font size

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.

#### Alternate window sizes

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.

• 25lines (standard 80-cols x 25-line window)
• 35lines (80x35 window)
• 43lines (the default 80x43 window)
• 50lines (80x50 window)
• 60lines (80x60 window)
• 66lines (80x66 window)
• 90x35 (90x35 window)
• 90x43 (90x43 window)
• 100x35 (100x35 window)
• 100x43 (100x43 window)

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).

#### Clipboard exchange with host system

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:

• Send or copy the text to a "file" named CLIP$(this is actually a DOS "device" that contains the current contents of the clipboard). • Perform the following steps: 1. Hold down a Ctrl-Alt-arrow key to move the cursor to the position on screen where you want to start selecting text (i.e. any corner of the rectangle that you want to copy). 2. Press Ctrl-Alt-Home to start the selection. 3. Extend the selection with the Ctrl-Alt-arrow keys. 4. End the selection with Ctrl-Alt-End, and the selected text will be copied to the Windows clipboard. • Send text from a DOS application to a file named B:\Printout\CLIPOUT.TXT (or, if you want to send upper-ASCII characters from a North American system, use CLIP437.TXT or, for a European system, CLIP850.TXT). To copy text to the macOS clipboard, use one of these methods: • Send or copy the text to a "file" named CLIP$ (this is actually a "device" that contains the current contents of the clipboard).
• Perform the following steps:
1. Hold down a Shift-arrow key to move the cursor to the position on screen where you want to start selecting text (i.e. any corner of the rectangle that you want to copy).
2. Press Fn-Shift-Left (equivalent on Home on a Windows/Linux keyboard) to start the section.
3. Extend the selection with the Shift-arrow keys.
4. End the selection by pressing Fn-Shift-Right (equivalent of End), and the selected text will be copied to the macOS clipboard.

To paste text from the Windows clipboard, use one of these methods:

• Press Ctrl-Alt-F4, which types the contents of the Windows clipboard into the DOSBox-X window. If you mistakenly paste a large block of text, press Ctrl-Alt-F5 to stop the typing
• In an application. retrieve the contents of the "file" CLIP$(this is actually a DOS "device" that contains the current contents of the clipboard). To paste text from the macOS clipboard, do this: • Press Cmd-Option-F4, which types the contents of the macOS clipboard into the DOSBox-X window. If you mistakenly paste a large block of text, press Cmd-Option-F5 to stop the typing #### Printing from the DOSBox-X-App 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: • LPT1: print to the default Windows or macOS printer (via an intermediate PDF) • LPT2: print raw PCL or PostScript output to the default Windows or macOS printer (also attempts to print text output) • LPT3: create an arbitrarily-named PDF file on the Windows or macOS desktop • LPT4: create a PDF and view it in the default PDF viewer • LPT5: print raw PCL or PostScript output to a printer selected from a menu; attempts to print text output • LPT6 (Windows only): print (via an intermediate PDF) to any printer selected from a menu; attempts to print text output For most applications, you will need to enter LPT4 through LPT6 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 "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 only): (Feature added 26 September 2021.) 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.

Feel free to get in touch with me for further help in adjusting text output from this app.

#### Graphic and keyboard option (macOS only)

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.