2016-01-10

DOSBox-X Git (2016/01/10)

EmuCR: DOSBoxDOSBox-X Git (2016/01/10) 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:
* enough with the Adlib port hack messages.
* GUS: ramp volume clipping, to prevent ramp volume from going out of
range. this seems to help reduce audible popping in certain musical
sequences in Star Control II.
* gus: source code comment corrections
* GUS: update comments. their SDK does in fact address the rollover bit
and that looping takes precedence. It's just worded in a confusing
manner.
* update comments
* GUS: revise configuration register emulation, make it more accurate,
document bitfields as taken from GUS SDK, and note if the DOS
application does anything that would cause bus conflicts.
* GUS: "accurate" pantable was backwards, fixed. Using DOOM as a
reference, sounds now pan correctly. added debug statements to clarify
which pantable is being used, and to show the pantable and clarify that
it's an *attenuation* table not a volume scale.
* GUS bugfix: clearing the DMA enable bit should stop the DMA event
engine.
* GUS emulation: replace "instantaneous" and unrealistic DMA transfer
emulation with realistic DMA transfer that closely matches the ISA bus
rate. When DMA is enabled the data is transferred in short rapid bursts
that match the 650KHz documented by the GUS SDK. Doing this fixes
several issues: one, minor popping and crackling in Quake. two, minor
issues with missing audio events in Windows 3.1 + Ultrasound drivers.
* DMA sanity check added. Read/Write methods now refuse read/write
operations if the DMA channel is masked. A warning is logged indicating
that the code attempting to read/write masked DMA needs to be fixed.
* GUS: allow dosbox.conf to specify the DMA channel should be unmasked at
boot, instead of being masked by default. For DOS applications with lazy
implementations.
* "Star Control II", not "Star Commander II". Not sure why I got that
wrong.
* GUS DMA bugfix & hack for Star Commander II.
http://www.vogons.org/viewtopic.php?f=41&t=31881&start=1060#p466792
Star Commander II appears to upload samples to GUS RAM via DMA, and
sometimes, it incorrectly tells the GUS the DMA is 16-bit wide when
the DMA channel itself is 8-bit. This bug only happens when the GUS
DMA channel is 8-bit DMA channel 0-3. Star Commander II's GUS support
however will correctly set the DMA width bit for 16-bit DMA channels
5-7. This fixes the apparent random-sounding samples. Music and sound
effects now sound correct (at least relative to running the game with
Sound Blaster support).
* move Tandy sound init writing BIOS data area to BIOS POST
* finally! the DOS kernel inits after BIOS init.
* more DOS kernel startup order fixes
* bugfix: emulate what the Ramp Control "roll over" bit *really* does.
It's not quite what the GUS SDK says, as demonstrated by the behavior of
the Windows 3.1 Ultrasound drivers. Prior to this bugfix, Windows 3.1
WAVE playback with GUS would cut out and abruptly stop after about 16KB
of playback. This fix allows WAVE output to work properly in Windows
3.1.
* bugfix: GUS reset was not comprehensive enough, now it ensures all parts
of the card are reset. bugfix #2: GUS reset needs to clear Adlib timers
1 and 2 AND remove the PIC events that were scheduled. This fixes
problems with demos like the 1994 "Friends" demoscene program where the
demo's multiple rapid GUS tests cause the PIC event scheduling to get
out of sync with each other and cause very irregular music playback.
* split INT 33h mouse and INT 15h PS/2 mouse init, move startups to
appropriate phases of the startup process.
* MOUSE.COM (INT 33h) emulation now happens during fake AUTOEXEC.BAT
startup phase.
* fix up EMS emulation log messages
* XMS, EMS, autoexec init now occur at proper places during DOS kernel
init.
* move MSCDEX initialization to happen after DOS kernel initialization and
after BIOS post+bootup phases. fix typo in "allocating MSCDEX.EXE" debug
message.
* update vs2015. fix "min" and "max" members of region tracking struct
because it conflicts with the min/max #defines in MSVC
* on free, compact free blocks
* region tracking now with free function. make rombios tracking globally
visible.
* remove dead code
* freeunused min to loc
* common region tracking alloc code
* more
* topdown/bottomup memory tracking and allocation. align some BIOS
structures to DWORD alignment.
* split out rom alloc tracking, to make more generic code so other
adapters can use it.
* comment
* A20 gate fixup on bootup
* DOS/MSCDEX init should *not* be running on power on!
* more
* cleanup
* timer reset fixup on power on, not on reset. fix up BIOS POST init of
timer.

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

0 Comments

Post a Comment