Files
WizzardSK a563bb5e97 Base the dosbox core on dosbox-core, with ZIP support and more from DOSBox Pure
The core is replaced by dosbox-core as of libretro/dosbox-core d38fcb50 (its
history is in that repository), with the following on top:

- Frontend VFS for mounted drives (libretro/dosbox-core#11): Android content://
  and saf:// content works.
- Built as dosbox_libretro and called DOSBox, so it installs next to
  dosbox-core without sharing its options, saves directory or config file.
  Option keys keep their dosbox_core_ prefix.
- ZIP files as content, from DOSBox Pure (Bernhard Schelling): its zipDrive,
  unionDrive and memoryDrive, and the helpers they share (drive_dbp.cpp). The
  archive is mounted as C: without being extracted and the game's changes go
  to <name>.save.zip in the saves directory. DOS_Drive and DOS_File get the
  few members those drives need, with defaults.
- The game in a ZIP is started when there is nothing to choose: the single
  program in the root, or in the one folder the root holds, leaving setup and
  install programs aside.
- Disk images inside a ZIP: CD images (cue sheets with data and audio tracks,
  or ISOs) as D:, floppy images as A:, hard disk images as E: and on. Files on
  emulated drives can be named "$C:\PATH" as in DOSBox Pure; host_stat,
  fopen_wrap, the CD image reader and the audio track decoder open them
  through the drive, finding files by their long names. CDs and floppies go
  to RetroArch's disc control.
- A start menu after DOSBox Pure's when a ZIP leaves a choice: it lists the
  programs on C: and on the mounted images, starts the one picked, can make it
  start on its own next time (kept in C:\DOSBOX.RUN, in the save file), and
  comes back when the program exits. Keyboard and gamepad; it can be turned
  off in the core options.
- Automatic gamepad mapping from DOSBox Pure's Keyb2Joypad database (original
  data by Jemy Murphy and bigjim, used by DOSBox Pure with permission): a game
  the database knows, as a ZIP or from a directory, gets its keys, mouse and
  joystick actions on the first gamepad instead of the DOS joystick, with the
  action names shown in RetroArch. It can be turned off.
- The CPU speed from the game's year, from its name or the database, as in
  DOSBox Pure; it can be turned off.
- Roland SC-55 MIDI with Nuked-SC55 (nukeykt), from DOSBox Pure, as a new MIDI
  driver taking the module's ROMs from the system directory.
2026-09-28 01:41:33 +02:00

112 lines
3.9 KiB
Plaintext

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)