DOSBox-X Git (2017/04/30) is compiled. DOSBox-x is a branch of DOSBox v0.74. DOSBox emulates an Intel x86 PC, complete with sound, graphics, mouse, joystick, modem, etc., necessary for running many old MS-DOS games that simply cannot be run on modern PCs and operating systems, such as Microsoft Windows XP, Windows Vista, Linux and FreeBSD.

DOSBox-X Git Changelog:
* Merge pull request #260 from WiltonPyle/master
VS2015 fixes
* Fix build on Visual Studio 2015. Missing source reference to seriallog.cpp.
* Fix compilation on MSC, and some help on BSD
* filter trailing newline from LOG messages to avoid excess wasted
vertical space in the debug log.
* CPUID pentium MMX: don't set MSR bit in CPUID unless MSRs are actually
enabled.
* fix BIOS screen. if waiting for keypress during "Hit ENTER or ESC" to
continue, use INT 16h AH=0 not AH=1
* bugfix: use menu.showrt not control->opt_showrt. fix FPS/RT updating.
* BOOT command now updates RunningProgram to clarify we're booting a guest
OS, not running DOS.
* version bump
* this is DOSBox-X, not DOSBox.
* make "showrt" a menu option so others can build it into system or
dropdown menus as a toggle, if desired.
* new "realtime" meter. if enabled, it shows in the title bar emulation
speed as a percentage of realtime. Under normal circumstances, it should
read 100% to show emulation speed matches realtime.
* don't bother with FPS display if FPS counter is hidden.
* With --showcycles let's show the FPS counter just as we do with
menu_startup == true
* lift frame counter code out of execution loop, adjust frame rate code to
compensate for the fact that the intervals may no longer be exactly
500ms. It probably helps emulation performance not to call
SDL_GetTicks() too often.
* ticksNew in cycle count management shadows ticksNew at function scope
level. remove duplicate variable.
* shorten title bar, remove frameskip, update cycles count display to
clarify what it actually means. DOSBox as far as I know has not
explained this well, but the "cycle" count is handled as "CPU cycles per
millisecond" due to the limited 1ms precision of SDL tick counts.
* Move the 2nd IRQ PIC check into the IF block, after executing PIC
events, rather than always carrying out the second check.
* lift try...catch so that guest page fault exceptions break out of the
normal loop entirely. this *might* also reduce some CPU load associated
with setting up and tearing down a C++ exception frame.
* whitespace indent, conversion, prepare for work
* apparently there are DOS demos that use Direct DAC playback but don't
turn on the speaker. Without this option, such demos run in silence.
* Add useful debug message if code tries to play Sound Blaster audio using
Direct DAC without turning on the speaker.
* if the GUS MAX/ACE setup program indicates right, it is possible for the
GUS to exist at 210h, 230h, and 250h, so allow it.
* Apparently there is undocumented INT 16h AH=01 behavior where in
addition to documented ZF behavior is also undocumented CF behavior,
verified on an old 386 BIOS and relied on by an old demoscene.
* make unmasking IRQ1 on INT 16h an option
* INT 16: unmask keyboard interrupt (IRQ 1) when INT 16 is called to read
or peek from keyboard buffer. This fixes "Eradicator by Ground Zero"
which appears to mask IRQ 1 but use INT 16h to poll for the escape key.
* adjust INT 13h v86 win95 hack, to use ports in a different manner that
seems to appease Windows ME's weird IDE driver.
* add "irq delay" option to control the delay between firing an IRQ and
acting on it from the CPU. making it general behavior instead of just
I/O handling fixes "Pizza by Post Mortem" SB IRQ detection. As an
option, dosbox.conf can be updated to remove the delay if this fix
causes other problems.
* another case of the same sort of bug, this time for demos that expect
INT 10h to unmask IRQ 0.
* another fun fix for an old demo (Rebel by Arkham) that masks interrupts
at the PIC level in a very stingy manner, yet apparently expects DOS to
unmask IRQ 0 when performing disk I/O. The demo runs fine without the
timer interrupt, except that music doesn't play. This fix enables IRQ 0
masking, so that the music routines can work.
* I found an old 1992 intro on scene.org that apparently checks for
vertical retrace by reading port 3DAh, then shifting right until it
shifts out a nonzero bit. Problem is, if neither retrace bit is set, the
demo gets stuck in an infinite loop and hangs. This hack lets
dosbox.conf direct port 3DAh to return nonzero bits in otherwise
undefined bit positions to avoid that hang.
* don't print to stderr if debug gui has been initialized
* fix hilight of debugger current instruction
* fix cursor position selection issue
* debugger fix: redraw the code window again if CS:IP changes between
invoking the debugger and the debugger loop starts. prior to this fix,
you could sometimes break into the debugger, and the code window would
debug from one location, but then upon refresh, CS:IP would show
something completely different.
* Debugger GUI: Register display needs to keep color marking for register
changes until single stepping or program execution, rather than only
between updates to UI.
* Debugger break, fix CPU cycles and false initial (running) status when
first invoked.
* fix ncurses debugger UI. it helps not to force the terminal to 80x50.
* remake configure files to get rid of stupid @LINUX_TRUE@ automake issue
and failure to compile sdlmain_linux.cpp
* Fix mistake in typecasting to uint64_t just to assign to uint32_t
* Merge branch 'martinlindhe-fullscreen-scale-fix'
* Merge branch 'fullscreen-scale-fix' of https://github.com/martinlindhe/dosbox-x into martinlindhe-fullscreen-scale-fix
* sdl: enable opengl, probe max texture size. fixes fullscreen mode to fill
whole screen (no black border) with correct aspect ratio
using the following dosbox.conf settings:
[sdl]
fullscreen=true
fullresolution=1280x800 # your native resolution
output=opengl
[render]
aspect=true
tested working on macOS and Fedora 25