Things needed for compilation: SDL The Simple DirectMedia Library available at https://www.libsdl.org/ The dll distributed with the windows version of DOSBox is slightly modified. You can find the changes in the sourcepackage of DOSBox (src/platform/sdl-win32.diff). If you want the patched sourcetree send us an email. (see README) Note that only version 1.2 and its subversions (1.2.8, 1.2.13 etc.) are currently supported. License: LGPLv2+ Curses (optional) If you want to enable the debugger you need a curses library. ncurses should be installed on just about every unix distro. For win32 get pdcurses at https://pdcurses.org/ License: Public Domain Libpng (optional) Needed for the screenshots. For win32 get libpng from http://gnuwin32.sourceforge.net/packages.html See http://www.libpng.org/pub/png/ for more details. License: zlib/libpng Zlib (optional) Needed by libpng. For win32 get libz (rename to zlib) from http://gnuwin32.sourceforge.net/packages.html See https://www.zlib.net/ for more details. License: zlib SDL_Net (optional) For modem/ipx support. Get it from https://www.libsdl.org/projects/SDL_net/release-1.2.html License: LGPLv2+ SDL_Sound (optional) For compressed audio on diskimages (cue sheets) support. This is for cue/bin cdrom images with compressed (mp3/ogg) audio tracks. Get it from http://icculus.org/SDL_sound Licence: LGPLv2+ ALSA_Headers (optional) for Alsa support under linux. Part of the linux kernel sources License: LGPLv2+ If you want compile from developer sources (SVN) under a unix system, you'll also need automake (>=1.6) and autoconf(>=2.50). Should be available at https://www.gnu.org/software/ For building on unix systems. If you are building from developer sources run ./autogen.sh first before doing the following: $ ./configure $ make You can also run "./configure --help" for extra features to enable/disable. Some of them are: --enable-debug enables the internal debugger. --enable-debug=heavy enables even more debug options. To use the debugger, DOSBox should be run from an xterm and when the sdl-window is active press alt-pause to enter the debugger. --disable-core-inline disables some memory increasing inlines. This speeds up compilation, but may result in a slower dosbox. --disable-fpu disables the emulated fpu. Although the fpu emulation code isn't finished and isn't entirely accurate, it's advised to leave it on. --disable-fpu-x86 --disable-fpu-x64 disables the assembly fpu core. Although relatively new, the x86/x64 fpu core has more accuracy than the regular fpu core. --disable-dynamic-x86 disables the dynamic x86/x64 specific cpu core. Although it might be a bit unstable, it can greatly improve the speed of dosbox on x86 and x64 hosts. Please note that this option on x86/x64 will result in a different dynamic/recompiling cpu core being compiled than the default. For more information see the option --disable-dynrec --disable-dynrec disables the recompiling cpu core. Currently x86/x64 and arm only. You can activate this core on x86/x64 by disabling the dynamic-x86 core. --disable-dynamic-core disables all dynamic cores (same effect as --disable-dynamic-x86 or --disable-dynrec). --disable-opengl disables OpenGL-support (output mode that can be selected in the DOSBox configuration file). --disable-unaligned-memory disables unaligned memory access. Check the src subdir for the binary. NOTE: If capslock and numlock appear to be broken. open src/ints/bios_keyboard.cpp and go to line 30 and read there how to fix it. Build instructions for VC++6 Don't use VC++ 6: it creates faulty code in core_normal.cpp Later Visual Studio versions work fine (vs2003/.net up to vs2010)