Commit graph pcem/src/sound.c
Author SHA1 Message Date
SarahW
a7d006b637 Rewrote timer code.
The new code is based on timestamps, rather than delays. This eliminates the
need to update every timer in timer_process(), which cost a non-trivial amount
of CPU time on low-end machines.

This involved changes to every user of the timer code, so this change almost
certainly introduces bugs.
2018-08-02 22:06:10 +01:00
SarahW
c3b876524d Clear sound_cd_event in CD audio thread. Patch from ja've. 2018-02-10 12:46:09 +00:00
SarahW
640c6a61e2 Added output volume control. 2017-12-08 20:39:36 +00:00
SarahW
af2f3180e8 Added Ensoniq AudioPCI / Sound Blaster PCI 128 emulation. 2017-10-13 22:51:52 +01:00
SarahW
6e51e8975e Sound buffer size now configurable. 2017-06-10 21:00:23 +01:00
SarahW
a2f44b8ea7 Add support for BIN/CUE images. Patch from bit, BIN/CUE handling from DOSBox. 2017-05-29 13:56:19 +01:00
SarahW
2b892d2a7a Fixed compiler warnings for Windows builds.
Added -Werror to Windows makefiles.
2017-04-11 19:34:41 +01:00
SarahW
26e46bf61a Add Adlib MCA, Sound Blaster MCV and Sound Blaster Pro MCV emulation. 2017-04-06 22:01:31 +01:00
SarahW
7d6028a619 Store sound card in config file as name rather than number. 2017-03-08 20:03:32 +00:00
SarahW
c581b018a7 Removed CD sound buffer dependency on main sound buffer. Fixes CD audio issues following the last commit. 2017-02-01 19:53:24 +00:00
SarahW
d2b6ea7fa3 Mix sound sources in 32-bit buffer, then clip to 16-bit for output. Fixes overflow in some situations, eg MegaRace on SB16. 2016-05-22 16:04:19 +01:00
SarahW
11eb87b436 Implemented ATAPI audio channel select. Based on patch from Battler. 2016-04-04 11:44:40 +01:00
TomW
0faa803061 CD-ROM changes from Battler, including :
- New disc change handling
- Additional ATAPI commands
- CD drive-level volume control
2016-03-08 20:47:05 +00:00
TomW
3a57341837 Refactored sound code - slight speedup. 2016-02-10 20:49:28 +00:00
TomW
60d75012df Implement ATAPI Stop Play/Scan command.
Stop CD audio playback on IDE reset, ATAPI reset, and hard reset.
2015-09-30 20:45:47 +01:00
TomW
8b572111da CD audio processing now performed on a dedicated thread.
Sound Blaster mixer now affect CD volume.
2015-08-23 15:35:37 +01:00
TomW
ac9b5a9927 Fixed missing CD audio. 2015-02-09 12:33:52 +00:00
TomW
8ad8d1e2f9 Fixed crash when selecting no sound card.
Fixed number of heads when creating a new hard disc for drive C.
2014-07-08 21:03:34 +01:00
TomW
2207f704dd Added per-device configuration.
Reworked configuration parser a bit.
Added configuration for S3 ViRGE and 8-bit Sound Blasters.
IRQ 2 routed to IRQ 9 on AT machines.
2014-06-30 21:31:28 +01:00
TomW
78f2d4a229 Switched to OPL emulation to DOSBox dbopl emulator.
Fixed SB Pro v2.
Clarified GPL license in readme.txt.
2014-02-27 19:42:06 +00:00
TomW
657aa19dd1 Devices can now be marked as not working, and disabled in release builds.
Video card menu now build dynamically from list.
2013-11-28 20:03:59 +00:00
TomW
bd873de9ac New 'available' function in device API, to determine whether required ROMs are available. Currently used when building soundcard menu, to remove AWE32 when required ROM dump is not present. 2013-11-04 18:23:15 +00:00
TomW
39a3c8b1c7 SB AWE32 emulation. 2013-07-23 22:04:17 +01:00
TomW
9312de19ac Now up to date with current dev version.
Changes since v0.7 :
- Major CPU reorganisation. This has possibly broken some stuff, though I fixed all the regressions I could find
- Lazy flags. This brought 10% speed improvement at one point, but that's probably been lost now
- 430 VX chipset emulation
- IDT Winchip emulation (currently sans MMX). Timing is probably wrong
- Fixed a few FPU bugs
- Timer reorganisation
- Sound reorganisation
- Other general reorganisation
- AdLib Gold emulation
- Windows Sound System emulation
- Pro Audio Spectrum 16 emulation. This currently works with most DOS stuff, but not in Windows
- Major improvements to GUS emulation. Has the downside that it now conflicts with SB emulation, so probably best to not enable both simultaneously
- New graphics cards :
  - ATI-18800 (VGA Edge-16)
  - ATI-28800 (VGA Charger)
  - ATI Mach64GX (Graphics Pro Turbo). Quite a few features missing, but Windows doesn't seem to use half the features of this card
  - Cirrus Logic CL-GD5429. Blitter is a bit broken
  - Oak OTI-067
  - S3 Trio64 (Number Nine 9FX)
  - S3 Virge. Only framebuffer stuff at the minute, Windows won't recognise the card
  - Trident TGUI-9440
  - VGA. Doesn't work yet
- Beginnings of 3DFX emulation, however this is in extremely early stages and doesn't do anything useful
- Fixed DMA bug stopping floppy drives working in Windows 3.x
- Fixed some other stuff probably
- Broke some other stuff probably as well
2013-05-27 17:46:42 +01:00
TomW
3c253c2cf8 Add v0.7 source 2013-04-21 14:54:35 +01:00