Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/joncampbell123/dosbox-x/llms.txt

Use this file to discover all available pages before exploring further.

DOSBox-X supports a range of I/O port and network emulation options, allowing DOS software to communicate via serial and parallel ports, print through a virtual dot-matrix printer, play IPX-based multiplayer games over UDP, and access real host networks through an emulated NE2000 Ethernet card. The [serial] and [parallel] sections configure COM and LPT ports respectively. The [printer] section controls the virtual printer that attaches to a parallel port. IPX networking uses the [ipx] section, while Ethernet emulation is configured in [ne2000] and backed by either the [ethernet, pcap] or [ethernet, slirp] section.

Serial Ports — [serial]

Each of the nine emulated COM ports is configured with its own key. COM1–COM4 are standard DOS serial ports; COM5–COM9 are extended ports. All share the same set of possible device types and parameters.
serial1
string
default:"dummy"
Device type attached to COM1. Parameters follow the type on the same line as parameter:value pairs. Possible device types:
  • disabled — port not present
  • dummy — port exists but discards all data (default for COM1/COM2)
  • file — write serial output to a file; parameters: file:<filename>, timeout:<ms>, openwith:<program>, openerror:<program>, multiplier:<x>
  • modem — Hayes-compatible modem emulator; parameter: listenport:<port>
  • nullmodem — virtual null-modem cable over TCP/ENet UDP; parameters: server:<host>, port:<n>, rxdelay:<ms>, txdelay:<ms>, telnet, usedtr, transparent, inhsocket, sock:<0|1>, nonlocal:1
  • serialmouse — serial mouse emulation
  • directserial — pass-through to a real host serial port; parameters: realport:<portname>, rxdelay:<ms>
  • log — log serial data to the DOSBox-X log file
Example: serial1=modem listenport:5000 sock:1
serial2
string
default:"dummy"
Device type attached to COM2. Accepts the same values and parameters as serial1.
serial3
string
default:"disabled"
Device type attached to COM3. Accepts the same values and parameters as serial1.
serial4
string
default:"disabled"
Device type attached to COM4. Accepts the same values and parameters as serial1.
serial5
string
default:"disabled"
Device type attached to COM5 (extended port). Accepts the same values and parameters as serial1. Optionally specify base:<address> and irq:<n>.
serial6
string
default:"disabled"
Device type attached to COM6 (extended port). Accepts the same values and parameters as serial1.
serial7
string
default:"disabled"
Device type attached to COM7 (extended port). Accepts the same values and parameters as serial1.
serial8
string
default:"disabled"
Device type attached to COM8 (extended port). Accepts the same values and parameters as serial1.
serial9
string
default:"disabled"
Device type attached to COM9 (extended port). Accepts the same values and parameters as serial1.
phonebookfile
string
default:"phonebook-dosbox-x.txt"
File used to map fake phone numbers to network addresses for the modem emulator. Each line maps a dialed string to a host:port destination.

Parallel Ports — [parallel]

Nine emulated LPT ports are supported. LPT1–LPT3 are standard; LPT4–LPT9 are extended. Ports can optionally be given explicit base addresses and IRQs with base: and irq: parameters. Settings can also be changed at runtime via the built-in PARALLEL command.
parallel1
string
default:"printer"
Device type attached to LPT1. Possible types:
  • disabled — port not present
  • reallpt — direct passthrough to a real host parallel port; parameters: realbase:<address> (Windows/BSD/Linux), realport:<device> (Linux, e.g. /dev/parport0), ecpbase:<address> (optional ECP register)
  • file — write print data to a file or device; parameters: dev:<devname>, append:<file>, timeout:<ms>, cp:<codepage>, addFF, addLF, openps:<program>, openpcl:<program>, openwith:<program>, openerror:<program>
  • printer — attach the virtual dot-matrix printer (configured in [printer])
  • disney — attach Disney Sound Source emulation to this port
Example: parallel1=file file:output1.prn timeout:1000 openpcl:pcl6 openps:gswin32c openwith:notepad
parallel2
string
default:"disabled"
Device type attached to LPT2. Accepts the same values and parameters as parallel1.
parallel3
string
default:"disabled"
Device type attached to LPT3. Accepts the same values and parameters as parallel1.
parallel4
string
default:"disabled"
Device type attached to LPT4 (extended). Accepts the same values as parallel1.
parallel5
string
default:"disabled"
Device type attached to LPT5 (extended). Accepts the same values as parallel1.
parallel6
string
default:"disabled"
Device type attached to LPT6 (extended). Accepts the same values as parallel1.
parallel7
string
default:"disabled"
Device type attached to LPT7 (extended). Accepts the same values as parallel1.
parallel8
string
default:"disabled"
Device type attached to LPT8 (extended). Accepts the same values as parallel1.
parallel9
string
default:"disabled"
Device type attached to LPT9 (extended). Accepts the same values as parallel1.
dongle
boolean
default:"false"
Enable dongle emulation on the parallel port. Provides a minimal hardware dongle response for software that requires one.

Virtual Printer — [printer]

The virtual printer attaches to whichever parallel port is set to printer (by default, LPT1). It emulates a dot-matrix printer and can render output to image files or PostScript, or send it to a real Windows printer.
printer
boolean
default:"true"
Enable virtual printer emulation. When enabled, the printer device is available on any parallel port set to printer mode.
dpi
integer
default:"360"
Output resolution of the virtual printer in dots per inch (DPI). Higher values produce larger output files with finer detail.
width
integer
default:"85"
Width of the virtual paper in tenths of an inch. The default of 85 corresponds to 8.5 inches (US Letter width).
height
integer
default:"110"
Height of the virtual paper in tenths of an inch. The default of 110 corresponds to 11.0 inches (US Letter height).
printoutput
string
default:"png"
Output format for completed pages. Possible values:
  • png — PNG image files (default, recommended)
  • ps — PostScript file
  • bmp — BMP image files (very large; not recommended)
  • printer — send directly to a Windows printer (set device to specify which one)
multipage
boolean
default:"false"
When enabled, accumulates all printed pages into a single PostScript file or print job until you press Ctrl+F2 to flush and finalize the output.
device
string
default:"-"
Windows printer device to use when printoutput=printer. Specify a printer device number (e.g. 2) or printer name (e.g. Microsoft Print to PDF). Use - to show the Windows Print dialog once per job, or leave empty to always show the dialog.
docpath
string
default:"."
Directory where printer output files (PNG, PS, BMP) are saved. Defaults to the current working directory.
fontpath
string
default:"FONTS"
Directory containing TrueType printer fonts used by the virtual printer: courier.ttf, ocra.ttf, roman.ttf, sansserif.ttf, script.ttf.
openwith
string
default:""
Program to launch to open the printer output file after it is completed. For example, openwith=notepad opens the output in Notepad on Windows. Leave blank to not open output files automatically.
openerror
string
default:""
Program to launch to open the printer output file if an error occurs during printing. Leave blank to take no action on errors.
shellhide
boolean
default:"false"
When enabled, hides the command window that appears when launching programs specified in openwith or openerror on Windows.
timeout
integer
default:"0"
Time in milliseconds after which an incomplete page is automatically ejected when no more data arrives. Set to 0 to disable automatic page ejection.
printdbcs
string
default:"auto"
Allow printing of Chinese, Japanese, and Korean double-byte characters (DBCS) when a CJK code page is active. With auto, this is enabled only for TrueType font (TTF) output mode with DBCS support active. Possible values: true, false, 1, 0, auto.

IPX Networking — [ipx]

ipx
boolean
default:"false"
Enable IPX over UDP/IP tunneling. When enabled, DOSBox-X emulates an IPX network stack and tunnels IPX packets over standard UDP. This allows IPX-based DOS multiplayer games to work across the internet or a local network. All players must have this enabled and be able to reach each other’s UDP port.

NE2000 Ethernet — [ne2000]

ne2000
boolean
default:"false"
Enable NE2000 Ethernet card emulation. When enabled, a Realtek/NE2000-compatible network adapter is presented to the DOS guest. Load the appropriate packet driver inside DOSBox-X using the nicbase address and nicirq interrupt shown below. Either the pcap or slirp backend must be configured.
nicbase
integer
default:"300"
I/O base address of the emulated NE2000 card (in hex). The default is 300 (0x300). Must match the address used when loading the DOS packet driver.
nicirq
integer
default:"3"
IRQ used by the emulated NE2000 card. Note that COM2 also uses IRQ 3 by default; avoid conflicts by reconfiguring one of them. Must match the interrupt specified when loading the DOS packet driver.
macaddr
string
default:"random"
MAC address assigned to the emulated network adapter. Set to random to have DOSBox-X generate a random MAC address at each launch. If multiple DOSBox-X instances share the same network, each must have a unique MAC address. The AC:DE:48 prefix is reserved for private use — change only the last three octets (e.g. AC:DE:48:88:99:AB).
backend
string
default:"auto"
Network backend used to implement the NE2000 Ethernet emulation. Possible values:
  • auto — use slirp if available, otherwise fall back to pcap
  • slirp — user-mode networking via libslirp (no root/admin required; NAT-based)
  • pcap — raw packet capture via libpcap (requires root/admin; full network access)
  • nothing / none — disable the backend (NE2000 card is present but not connected)

pcap Backend — [ethernet, pcap]

The pcap backend provides raw Ethernet-level access by capturing packets from a real host network adapter. Requires administrator/root privileges on most operating systems.
realnic
string
default:"list"
Host network interface to use for pcap packet capture. Set to list to display available interfaces from the Help → List network interfaces menu or the Status Window. Then specify the interface by number (e.g. 2) or a substring of the adapter name (e.g. VIA).
timeout
string
default:"default"
Read timeout in milliseconds for the pcap device. Use default to let DOSBox-X select an appropriate value, or specify a number of milliseconds.

slirp Backend — [ethernet, slirp]

The slirp backend provides user-mode networking via a built-in TCP/IP stack. No administrator privileges are required, but the guest is placed behind NAT — it can reach the host and internet, but remote hosts cannot directly initiate connections to the guest without port forwarding.
ipv4_network
string
default:"10.0.2.0"
IPv4 network address of the virtual network shared between the guest and the host-side slirp services.
ipv4_netmask
string
default:"255.255.255.0"
Subnet mask for the virtual slirp IPv4 network.
ipv4_host
string
default:"10.0.2.2"
IP address assigned to the guest (DOSBox-X) on the slirp virtual network. Configure the DOS packet driver or TCP/IP stack with this address.
ipv4_nameserver
string
default:"10.0.2.3"
IP address of the DNS nameserver provided by the host on the slirp virtual network. Configure this as the DNS server in the guest’s TCP/IP stack.
ipv4_dhcp_start
string
default:"10.0.2.15"
Starting address for DHCP address allocation within the slirp virtual network. The slirp DHCP server assigns addresses from this address upward.

Build docs developers (and LLMs) love