~i30817/dosbox/trunk

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
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)