1907 Commits

Author SHA1 Message Date
Michael Greger
fe0974b9a3 Add preliminary QCow2 image support. Supports backing files only with aboslute paths. No compression, encryption, or snapshots. 2016-02-22 20:57:33 -05:00
Jonathan Campbell
de057369ce mixer interpolation+pad fix 2016-02-21 04:25:36 -08:00
Jonathan Campbell
5dd3a1746f minimum SB DAC rate needs to be 1KHz not 2KHz. 2016-02-21 04:13:25 -08:00
Jonathan Campbell
3174dd5970 DOSBox-X mixer rewrite. Higher precision sample rate conversion
and channel rendering. The new mixer code no longer tries to render
less/more to appease the sound card, but goes exclusively by emulator
time. Mixer channel rendering goes to a buffer before final mixdown now,
to keep the audio separate from final mix for future scenarios such as
emulating Line in/Mic In and sound cards that can record their own
output. Sound Blaster Direct DAC and Goldplay modes updated to make use
of the newer mixer code. Direct DAC now uses timing measurements to more
accurately render output, and sample duplication to emulate the "grungy"
effect of that form of playback. Tandy and Adlib emulations now trigger
mixer rendering on I/O write to effectively render sample-accurate
output without needing the sample accurate mode of the mixer. "CHGOLF"
and "Skate or Die" have been confirmed to render their PCM output at
full quality with this hack. Gravis Ultrasound emulation also triggers
mixer render on changes to voices or active voice setup, to ensure
sample accurate rendering. While not broken by this change so much,
PC speaker emulation needs some work to better work with sample accurate
rendering when it is triggered.
2016-02-21 04:03:39 -08:00
Jonathan Campbell
5966667489 ess bugfix: dma count in bytes is assigned to total as-is, because 8-bit
DMA. sorry.
2016-02-20 04:32:23 -08:00
Jonathan Campbell
50457c5500 Sound Blaster ESS 688: emulate ESS 688 mixer registers. Volume controls
in Windows 95 now work correctly.
2016-02-20 01:25:29 -08:00
Jonathan Campbell
579092002d Sound Blaster ESS 688 bugfix: Port 22F is not an alias of 22E, and
reading it does not clear interrupts.
2016-02-20 00:52:30 -08:00
Jonathan Campbell
d849e1036a Sound Blaster: ESS 688 always clears IRQ status through 22E, even 16-bit
PCM. DMA total counter in the emulation is half the byte count in 16-bit
mode. This fixes 16-bit PCM in Windows 95 using the ESS 688 driver.
2016-02-20 00:40:20 -08:00
Jonathan Campbell
f5927f4bf7 Apparently for ESS 688 emulation we need to clear the DRQ to make the
Win95 driver happy.
2016-02-20 00:16:02 -08:00
Jonathan Campbell
6f3b96eef7 callback: allow "reinstallation" of the vector without an E_Exit call
complaining about double vector usage. BIOS: Use the "reinstall" flag to
reinstate interrupt vectors on boot-up.
2016-02-20 00:08:19 -08:00
Jonathan Campbell
7af6e9bbed argh, autoconf 2016-02-19 15:48:50 -08:00
Jonathan Campbell
b0d33c0947 Merge branch 'master' of https://github.com/joncampbell123/dosbox-x 2016-02-19 15:47:23 -08:00
Jonathan Campbell
48aadf25e9 Mac OS X: force dylib libraries to refer to the executable, not /usr/local/lib dosbox-x-macosx-x64-20160219-2130 2016-02-19 21:26:04 -08:00
Jonathan Campbell
2388fdef61 Mac OS X: Please look for the PNG library in usr local include! 2016-02-19 21:06:40 -08:00
Jonathan Campbell
076f30a661 keyboard scan set 3: fix scancodes for numeric keypad / and - keys.
Issue #164.
2016-02-19 15:46:48 -08:00
Jonathan Campbell
a13029accf sblaster: hz == 0 must disable busy cycle, as documented and expected 2016-02-18 18:52:55 -08:00
Jonathan Campbell
41126af050 automake, again dosbox-x-windows-201602190219 2016-02-18 17:57:41 -08:00
Jonathan Campbell
2029327fe8 Please ignore Mac OS X finder and automake cache dosbox-x-macosx-x64-20160219-0200 2016-02-19 01:36:21 -08:00
Jonathan Campbell
62d72d56dd New makefile command, to generate Mac OS X .app build of DOSBox-X.
Incorporated .app build steps as listed on Stack Overflow
http://stackoverflow.com/questions/1596945/building-osx-app-bundle.
On Mac OS X, just type "make dosbox.app" from the top level.
.app construction steps are said to ensure the dylib dependencies are
carried with the .app instead of requiring them to be installed on the
system.
2016-02-19 01:29:39 -08:00
Jonathan Campbell
b64f02a72c bugfix: define "video" section of hardware state object for either PNG or FFMPEG capture.
Prior to this fix, DOSBox-X would fail to compile if FFMPEG support enabled but libpng
not present.
2016-02-19 00:43:05 -08:00
Jonathan Campbell
a039f727d7 First attempt to compile on Mac OS X El Capitan. We have to look
in /usr/local/include because sudo make install can't touch /usr/include.
2016-02-19 00:35:34 -08:00
Jonathan Campbell
a81a0a95c7 more finangling, still can't get Win95 to talk to it. 2016-02-18 07:13:55 -08:00
Jonathan Campbell
a8f3dccb18 more ESS emulation work 2016-02-16 15:18:41 -08:00
Jonathan Campbell
084ef80ae2 update comment 2016-02-16 14:30:45 -08:00
Jonathan Campbell
5a84e2be0f Sound Blaster emulation: it turns out Sound Blaster 2.0 and Sound
Blaster Pro (DSP v3.1) do not return copyright strings.
2016-02-16 14:09:30 -08:00
Jonathan Campbell
17ad9f57b4 update sound blaster io alising. I recently obtained an old Sound
Blaster Pro and I observed the same aliasing behavior.
2016-02-16 13:58:36 -08:00
Jonathan Campbell
f7a5fdf650 once more 2016-02-16 11:03:28 -08:00
Jonathan Campbell
6da8c3e35a try bumping up the ESS version 2016-02-16 11:02:20 -08:00
Jonathan Campbell
e969f58434 Gravis Ultrasound: raise IRQs, do not deactive them otherwise. This
turned out to be the cause of Sound Blaster aware DOS games missing IRQs
from Sound Blaster if both GUS and Sound Blaster were configured to the
same IRQ. Added reminder to self that PIC_ActivateIRQ() ought to be
named something more relevent to the ISA bus.
2016-02-16 10:15:18 -08:00
Jonathan Campbell
4f959f4627 basic ESS 688 emulation completed. 2016-02-16 10:03:50 -08:00
Jonathan Campbell
a59b2f763c Merge pull request #162 from jwt27/master
Correct F0 keyboard command handling
2016-02-16 13:44:39 -08:00
J.W. Jagersma
aa8c7f4447 replaced spaces with tabs 2016-02-16 22:27:25 +01:00
J.W. Jagersma
c6dd62ac14 fixed bug in keyboard F0 command handling 2016-02-16 22:23:13 +01:00
Jonathan Campbell
126bd116d2 gus volume, panning, channel remapping, general ICS functions. I'm only
able to verify that ULTRAMIX sets the volume correctly given Synth and
Output settings. Since Gravis drivers only use the "Normal" mode of the
ICS to map each channel, I am not able to test or verify that the ICS's
Stereo or Pan/Balance modes work correctly at this time. But I was able
to poke at the "Normal" mode with DEBUG.EXE to deliberately L-R or mix
channels and verify that the changes happen.
2016-02-16 05:13:30 -08:00
Jonathan Campbell
17ab9dd615 volume control working now. setting master or GF1 out controls overall
audio output.
2016-02-16 04:22:13 -08:00
Jonathan Campbell
69637d7b26 more GUS mixer work 2016-02-16 03:56:53 -08:00
Jonathan Campbell
960a6839f5 I can't spell the shorthand for decibel, blah 2016-02-16 03:35:13 -08:00
Jonathan Campbell
b7d1550f53 state and storage. 2016-02-16 02:26:01 -08:00
Jonathan Campbell
7563bd606c correct ASCII art and extra space 2016-02-16 01:26:03 -08:00
Jonathan Campbell
9b9caec929 more documentation 2016-02-16 01:23:15 -08:00
Jonathan Campbell
8d4d64b012 commentary 2016-02-16 01:15:46 -08:00
Jonathan Campbell
71acc60022 GUS ICS2101 mixer: move to C++ class, and log only data writes, not
address writes. New code to break address write down as documented.
2016-02-16 01:13:26 -08:00
Jonathan Campbell
09b96aaa3d Sound Blaster: new experimental ESS 688 emulation. 2016-02-15 02:02:13 -08:00
Jonathan Campbell
3bd9910875 notes 2016-02-15 01:16:50 -08:00
Jonathan Campbell
f0fcde2a07 more CS4231 regs 2016-02-14 16:53:11 -08:00
Jonathan Campbell
a99648d857 fix init bit handling 2016-02-14 16:41:18 -08:00
Jonathan Campbell
859d1327bf The minimalist CS4231 implementation as implemented now causes no audio
in PLAYFILE.EXE and causes Windows 3.1 to hang on startup if the GUS
drivers attempt to use it. Give the user fair warning: the code is brand
new, experimental, and not yet functional.
2016-02-14 16:18:11 -08:00
Jonathan Campbell
467acdd771 more GUS CS4231 emulation 2016-02-14 16:09:48 -08:00
Jonathan Campbell
156912fd0d gus: UltraMAX CS4231 codec stub code. 2016-02-14 15:56:17 -08:00
Jonathan Campbell
b9cf911990 gus: for classic 3.7, and ultrasound max, emulate the Revision Level,
ICS-2102 mixer I/O stubs, and UltraMAX codec register control.
2016-02-14 15:12:38 -08:00