2016-01-11

DOSBox-X Git (2016/01/11)

EmuCR: DOSBoxDOSBox-X Git (2016/01/11) 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:
* fix "advanced power management" text on BIOS screen so it doesn't
overwrite the boot logo.
* remove duplicate VESA mode 0x213 (conflict between 640x400x32 vs
1024x768x32). add code to allow limiting the VESA BIOS modelist by video
resolution.
* INT 10 VESA BIOS: new option added. If set, the VESA BIOS modelist is
capped at the specified number of entries. You can use this option to
cap the modelist for DOS applications that have problems with the long
modelist DOSBox-X normally returns in enumeration. Specifically, setting
this option to cap the modelist at 8-16 options fixes a problem with
Warcraft II crashing with the DOS4/GW extender. For whatever reason,
DOSBox-X's normal modelist overruns a buffer somewhere in the game (but
only with DOS4/GW?) and the game will crash on startup.
* vga: chained VGA mapping needs to take only the lowest 16 bits and map
them. This fixes DOSBox segfaults when entering a DOS VM fullscreen in
Windows 95 while using S3 emulation.
* VESA BIOS correction
* s3 trio emulation: set the Linear Address window register PROPERLY
according to VRAM size, don't assume 4/8MB. Map the linear framebuffer
according to window size, not by video ram size. Added code to check for
attempts to move the linear framebuffer below system memory (Windows
3.1's S3 driver likes to set the LFB address to 0xA0000 when entering a
DOS VM). If the LFB address is moved to 0xA0000 the LFB setting code
disables the LFB mapping entirely. This is needed because of the current
(quirky) memory mapping code in DOSBox-X that hardcodes the condition
for S3 linear framebuffer and MMIO registers. If the LFB is allowed to
move into system memory, the quirky existing code will (by mistake) give
the LFB higher priority than system memory and applications will start
to crash executing from VRAM! This fix does not resolve the issue with
Warcraft II and S3 emulation when vmemsize > 1MB, but it does resolve
the issue with Windows 3.1 + S3 emulation crashing the system when you
enter a DOS box fullscreen with more than 1MB of VRAM.
* range-limit LFB for safety
* VGA debugging: please log the LFB base + size address for debugging.
Move S3 base address to 0xE0000000.
* bugfix: memory page fetch code should not hardcode the linear
framebuffer! but, until we can remove that code, make sure the LFB
exists before range-checking to serve pages out of it. This fixes the
mysterious segfault that would occur if more than 16MB of memory existed
and VGA emulation other than S3 was active and the guest OS touched
memory above 16MB.
* cleanup and fix mem arrangement code. simplify mem size parsing a bit.
* BIOS: Setup an INT 4Bh vector that does nothing but log calls and return
with CF=1. Something in my Windows 95 VM installation (possibly
UIDE.SYS) keeps calling VDMA functions. PCI: Make logging every PCI
configuration access optional, so I can debug things without UIDE.SYS
causing a massive storm of PCI debug message to the log.
* fixup: BIOS data area, interrupt vector, boot stack fixes. Init order
fixes. This also fixes mysterious errors about "extended memory" when
attempting to install Windows 95.
* mscdex: check for NULL pointer when called from IDE CD-ROM emulation,
which fixes a crash when booting into guest OSes. Note in the source
code our bass-ackwards implementation where the IDE controller calls
into MSCDEX.EXE emulation. This is the reason we cannot free the mscdex
object when booting a guest OS. It needs to be fixed.
* GUS: add hack for "Warcraft II". when enabled, rapid polling of GUS
register 2X6 (IRQ status) will trigger hack which will clear the DMA
Terminal Count IRQ flag to work around a bug in the game. When GUS is
configured as both sound and music, the game will hang if it starts a
sound effect while music is playing when within the main menu. This hack
forces the stuck loop to terminate by clearing the one IRQ status bit
the loop is not designed to handle, which then prevents the game from
hanging.
* DMA unmask: don't start GUS DMA unless DMA enable bit set

Download: DOSBox-X Git (2016/01/11) x86
Download: DOSBox-X Git (2016/01/11) x64
Source: Here

1 Comments:

Can't post a comment? Try This!