2016-02-01

DOSBox-X Git (2016/02/01)

EmuCR: DOSBoxDOSBox-X Git (2016/02/01) 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:
* tell me which GUS rendering mode is being used
* gravis ultrasound: and now for some more emulation realism, GUS
emulation can now switch between the ideal fixed sample rate emulation
that mainline DOSBox does, or default to emulation that switches the
sample rate of the GUS according to the number of active channels just
like real hardware. When in the non-fixed mode, the sample rate can
change from 44.1KHz (14 voices) to about 19KHz (32 voices) depending on
how many active voices the DOS application is using. When switched into
this mode, the wave frequency and ramp rates are more true to the
hardware as well, with no floating point math involved. If you would
rather have the sparkling clear full 44.1KHz audio than accurate
degredation of the audio quality per voice, you can set the option
"gus fixed render rate=1" in your dosbox.conf to get it back.
* gus emulation update: it turns out the Adlib timer interrupt is also not
affected by the "Master IRQ enable" bit. So, the "Master IRQ enable"
seems to apply only to the voices and wavetable function of the Gravis
Ultrasound. This explains how "Juice" is able to play music with the
Master IRQ enable bit off.
* GUS max behavior: if the Master IRQ Enable bit is zero, the GUS does not
report the presence of voice/ramp interrupts in IRQ status register 2X6.
* GUS emulation bugfix: When Gravis calls bit 2 of the reset register
(0x4C) the "Master IRQ Enable", they apparently mean "Master IRQ enable
except for DMA terminal count interrupt". On real hardware, if bit 2 is
not set, voice/wave interrupts are not sent, but the DMA terminal count
interrupt will still cause an IRQ.
* gus: real GUS hardware reflects last I/O when reading 3X2 as well as
3X3. Odd.
* also add proper default handler for IRQ 8-15 (one that ACKs both PICs).
* bugfix: BIOS needs to install a proper default handler for IRQ 2-7 when
the IRQ is not assigned to anything. Assigning it to the callback
system's default handler is not helpful, because interrupts 0x0A-0x0F
(IRQ 2-7) are expected to ACK the interrupt, which the default callback
does not do. Real BIOSes install a default handler that ACKs the
interrupt, or else leaves that slot in the interrupt vector table NULL.
* GUS bugfix: "force master irq enable" needs to take effect even on
exiting reset state.
* GUS emulation: poking at the reset register on real hardware shows that
DAC enable merely enables/disables the amplifier output of the GF1. Even
if DAC enable is off, the GF1 continues to mix and render audio even if
you can't hear it anymore.
* GUS emulation update: tinkering with registers on an Ultrasound MAX
reveals the useful and undocumented feature of running the GF1 at higher
than the documented 44.1KHz sample rate by programming less than 14
channels, contrary to GUS SDK documentation. It's possible the
14-channel cap was enforced only by the SDK, not by the hardware, and
that's why nobody knew about this capability. Also, the Active Channels
register is readable. See source code comments for more information.
* GUS reset reg is 3 bits only, upper bits are not writable
* try to cleanup linker dependency list as much as possible, but duplicate
entries must remain.
* uhm... so making unrelated changes in mixer.cpp apparently breaks the
linker's ability to link hardware.cpp to the AVI writer routines.
Why...?

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

0 Comments

Post a Comment