TheDocumentation 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.
[cpu] section controls the core of the DOSBox-X processor emulator — which emulation core is used, what CPU generation is presented to software, how many instructions per millisecond are simulated, and what system firmware (APM, ISA PnP) is exposed. Getting cycles right is often the single most impactful tuning step for a DOS game’s playability: too few and the game runs in slow motion; too many and sound drops out or timing breaks. The [keyboard] section configures the 8042 keyboard controller, the AUX (PS/2 mouse) port, and the type of mouse connected to that port.
Emulation Core
The CPU emulation core used to execute DOS code. Possible values:
auto— use the dynamic core when available and appropriate (default); falls back tonormalnormal— interpretive core, more accurate, recommended for programs that break with the dynamic coresimple— simplified interpretive core, faster thannormalfor real-mode programsfull— full interpretive coredynamic— recompiling core, much faster; usesdynamic_x86when availabledynamic_x86— x86-specific dynamic recompiler (preferred dynamic option)dynamic_nodhfpu— dynamic core without host FPU, for platforms where host FPU causes issuesdynamic_rec— portable dynamic recompiler; not compatible with Windows 95 or other preemptive multitasking guest OSes
auto or dynamic provides the best performance. Switch to normal when a program behaves incorrectly under the dynamic core.The CPU generation presented to guest software, affecting which instructions and features are available. Possible values:
auto— emulates a 486 that tolerates Pentium instructions (default)8086— Intel 8086/80888086_prefetch— 8086 with prefetch queue emulation80186— Intel 8018680186_prefetch— 80186 with prefetch queue286— Intel 286286_prefetch— 286 with prefetch queue386— Intel 386386_prefetch— 386 with prefetch queue486old— early 486 revision486old_prefetch— early 486 with prefetch queue486— Intel 486486_prefetch— 486 with prefetch queuepentium— Intel Pentiumpentium_mmx— Pentium with MMX instructionsppro_slow— Pentium Pro (slow emulation path)pentium_ii— Intel Pentium IIpentium_iii— Intel Pentium IIIexperimental— enables newer instructions not normally present in the emulated types (e.g.FISTTP)
Cycles (Speed)
Number of CPU instructions DOSBox-X attempts to emulate each millisecond. This is the primary speed control. Setting it too high causes audio dropouts and timing errors; too low makes programs run sluggishly. Three modes are available:
auto— DOSBox-X guesses the appropriate speed based on the running program. Works for most games but can fail for some titles.fixed <number>— execute exactly the given number of cycles per millisecond regardless of load (e.g.fixed 4000). Use this whenautoproduces the wrong speed.max— use as many cycles as the host CPU can handle. Best for applications that need maximum throughput.max <N>%— cap host CPU usage at the specified percentage (e.g.max 90%).
Amount by which cycles increase each time you press the Ctrl+F12 (or mapped) keyboard shortcut. Values below 100 are treated as a percentage increase rather than an absolute number.
Amount by which cycles decrease each time you press the Ctrl+F11 (or mapped) keyboard shortcut. Values below 100 are treated as a percentage decrease.
FPU & Timing
Enable floating-point unit (FPU / math co-processor) emulation. Most DOS games that use floating-point math require this. Possible values:
true, false, 1, 0, auto, 8087, 287, 387. Specifying a co-processor model (8087, 287, 387) emulates that specific chip variant.If non-zero, the Pentium
RDTSC (Read Time-Stamp Counter) instruction returns a counter that increments at this rate per millisecond, rather than tracking the actual cycle count. Useful for software that uses RDTSC for timing and runs incorrectly at emulated speeds.Enable Turbo (Fast Forward) mode, running the emulator as fast as possible regardless of the cycles setting. Useful for skipping long loading sequences. Can be toggled at runtime from the CPU menu.
Segment & Memory
Enforce segment limit checks on 80286 and higher CPU types. Required for accurate protected-mode behavior. Disable only for debugging or if a specific program is incorrectly triggering limit violations.
For
LDS/LES instructions in 16-bit code, check for the 64 KB address wraparound case. Required for a small number of programs that rely on this edge case behavior.System Firmware
Emulate the Advanced Power Management (APM) BIOS interface. Required for Windows 9x and some other operating systems to correctly report or respond to power events.
Emulate the ISA Plug and Play BIOS. Enable when running a PnP-aware DOS program or when booting Windows 9x. Disabling this while Windows 9x is configured around PnP devices will confuse the guest OS.
Enable DOSBox-X’s experimental integration I/O device, which allows auxiliary software to communicate with the emulator from inside the guest. Can be used to return DOSBox-X status information or synchronize the host and guest mouse pointer positions.
Keyboard Controller — [keyboard]
Enable emulation of the 8042 keyboard controller’s AUX port, which is required for PS/2 mouse emulation. Must be enabled when running Windows ME or any other OS that does not use the BIOS for mouse input.
When enabled (default), allows software to reset the CPU through the keyboard controller’s output port. Required for Windows ME to reboot correctly. Windows 9x and earlier can reboot without this via INT 19h.
The type of keyboard controller (and keyboard) attached to the emulated system. Possible values:
auto— automatically selected based on themachinesettingat— AT-style (PS/2) keyboard controllerxt— IBM PC/XT keyboard controllerpcjr— IBM PCjr keyboard (only valid whenmachine=pcjr)pc98— PC-98 keyboard emulation (only valid whenmachine=pc98)
Type of PS/2 mouse device attached to the AUX port. Possible values:
none— no PS/2 mouse connected2button— standard 2-button PS/2 mouse3button— 3-button PS/2 mouseintellimouse— Microsoft IntelliMouse (3-button with scroll wheel; default)intellimouse45— IntelliMouse with 5 buttons and scroll wheel