144 lines
5.2 KiB
Text
144 lines
5.2 KiB
Text
DOSBox uses the following libraries:
|
|
|
|
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+
|
|
|
|
Opusfile, by Xiph
|
|
For compressed audio tracks (.opus) used with CDROM images.
|
|
Sources are available at https://opus-codec.org, however it is
|
|
also conveniently packages by all popular package managers for
|
|
Windows (MSYS2, MinGW, and Chocolatey), Linux (apt, dnf, zypper,
|
|
pacman), and OS X (Homebrew and MacPorts). Opus is today's
|
|
leading compression format and has replaced Vorbis as Ogg's
|
|
recommended lossy format. Is widely used in the largest audio and
|
|
video distribution platforms such as YouTube.
|
|
License: three-clause BSD
|
|
|
|
SpeexDSP, by Xiph
|
|
Needed to perform on-the-fly resampling of Opus-compressed CDROM
|
|
audio data in the event DOSBox's mixer sampling rate differs from
|
|
that of the Opus sampling rate. Sources are available at
|
|
https://opus-codec.org, however it is also conveniently packages
|
|
by all popular package managers.
|
|
License: three-clause BSD
|
|
|
|
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+
|
|
|
|
alsa-lib (optional)
|
|
For ALSA audio support under linux. Get it from https://www.alsa-project.org/
|
|
Licensed under LGPL
|
|
|
|
If you want compile from developer sources (SVN) under a unix system, you will need:
|
|
- Subversion to checkout the sources, or gzip and tar to unpack them from archive
|
|
- GCC (>=4.8.1) or Clang (>=3.3)
|
|
- automake (>=1.6)
|
|
- autoconf (>=2.50)
|
|
- autoconf-archive (>=2009.x)
|
|
- make (>= 3.8)
|
|
- pkg-config (>= 0.25)
|
|
|
|
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 then 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 then 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 Visual Studio
|
|
|
|
Solution files included with the project are compatible with Visual Studio 2019.
|
|
They were tested using Community Edition and Enterprise Edition.
|
|
|
|
First, you need to install vcpkg to install build dependencies.
|
|
See https://github.com/microsoft/vcpkg for details.
|
|
|
|
Once vcpkg is installed and bootstrapped, open PowerShell, and run:
|
|
|
|
PS> .\vcpkg integrate install
|
|
PS> .\vcpkg install libpng sdl1 sdl1-net
|
|
|
|
These two steps will ensure, that MSVC will be able to find and link
|
|
dependency libraries.
|
|
|
|
Start Visual Studio, open file: visualc_net\dosbox.sln
|
|
and build all projects (Ctrl + Shift + B).
|