mirror of
https://github.com/libretro/dosbox-libretro.git
synced 2026-11-07 10:25:58 -10:00
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.
112 lines
3.9 KiB
Plaintext
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)
|