Commit Graph
27 Commits
Author SHA1 Message Date
Coen Rampen ca111f3170 AUDIO: Enable dual OPL2 for hardware OPL3
This adds emulation for the dual OPL2 FM synthesis chip configuration to the
supported hardware OPL3 options: RetroWave OPL3 and OPL3LPT. This enables
stereo AdLib playback for SCI (and possibly other engines) on these devices.

This was already implemented for the OPL3 emulators (Dosbox and Nuked) and
ALSA. Generic code has been added to the OPL class to add similar emulation
for the other OPL3 options; this can also be easily added to any future OPL3
hardware or emulators which do not already have dual OPL2 support.
2023-04-27 18:14:24 +02:00
sluicebox 8db3779f7d AUDIO: Fix crash when OPL driver isn't loaded
Fixes segfault when logging that an OPL driver doesn't support the
emulation type requested by a game.

The code used driver id as an array index, but this is incorrect
because array indexes depends on which drivers are compiled in.

This issue was identified and fixed in 2015, but this line was missed:
6f01600e12

Fixes the crash in bug #14413
2023-04-15 15:42:57 -07:00
NMIError 221fa4c841 AUDIO: Add support for RetroWave OPL3
This commit adds support for the SudoMaker RetroWave OPL3 sound card. Requires
the retrowave library.

Add the following settings to scummvm.ini:
retrowaveopl3_bus=serial
retrowaveopl3_port=<port> f.e. COM3 or ttyACM0
2022-01-29 17:33:29 +01:00
Eugene Sandulenko abea37c9bb ALL: Update ScummVM project license to GPLv3+ 2021-12-26 18:48:43 +01:00
Orgad Shaneh af529f568b AUDIO: Use nullptr
Using clang-tidy modernize-use-nullptr
2021-11-14 13:41:02 +02:00
D G Turner 28287d70b6 AUDIO: Fix Missing Default Switch Cases
These are flagged by GCC if -Wswitch-default is enabled.
2019-11-17 08:20:01 +00:00
James Ye 8170166d36 AUDIO: (opl2lpt) add OPL3LPT support
The OPL3LPT is like the OPL2LPT with an OPL3 chip.  Add OPL3 support to
the existing OPL2LPT driver.

There is no auto-detection of OPL3 capability. The user is required to
explicitly select OPL3LPT as their OPL device.

Tested with Sam & Max Hit the Road.
2019-08-23 14:34:44 +03:00
Vincent Bernat 9edd8eff01 AUDIO: add support for OPL2LPT
The OPL2LPT is an OPL2 chip plugged on a parallel port. It is
write-only but otherwise acts as a classic AdLib. This commit adds
support for this device.

User is expected to have the right permissions on the parallel
port. By default, the first suitable parallel port is used. It is
possible to override that with the hidden configuration setting
"opl2lpt_parport".

It depends on the presence of the libieee1284 library which abstracts
a bit parallel port handling. An alternative would be to access
directly /dev/parportX on Linux. This would amount of code but it
would be Linux-only.

Tested with Indy 3 and SOMI.
2018-04-08 09:17:19 +02:00
nukeykt b2052bc66f AUDIO: Add Nuked OPL3 core 2018-04-07 09:34:00 +02:00
Eugene Sandulenko 355c4fa646 JANITORIAL: Remove more trailing spaces 2016-10-09 15:02:02 +02:00
Walter van Niftrik beed23c441 AUDIO: List OPL3 support for ALSA AdLib driver
Thanks clone2727
2015-07-07 20:19:47 -04:00
Walter van Niftrik 40820eebf5 AUDIO: Add experimental hardware OPL support using ALSA 2015-07-07 20:19:47 -04:00
Matthew Hoops 4d56585112 AUDIO: Add a class representing a real OPL 2015-07-07 20:19:47 -04:00
Matthew Hoops bed9da8b9d AUDIO: Remove all AudioStream access to OPL 2015-07-07 20:19:47 -04:00
Matthew Hoops 8bcbcd6c16 AUDIO: Change callback frequency without restarting the audio stream 2015-07-07 20:19:47 -04:00
Matthew Hoops dce05c520b AUDIO: Be consistent with calling stop() in OPL destructors 2015-07-07 20:19:46 -04:00
Matthew Hoops 5b06eef159 AUDIO: Allow for changing the OPL timer rate 2015-07-07 20:19:44 -04:00
Matthew Hoops b9307ef1a4 AUDIO: Introduce a callback to the OPL code
Currently unused, but ready to be hooked up to various classes using it.
2015-07-07 20:19:42 -04:00
Matthew Hoops f1f29302f5 AUDIO: Remove the legacy OPL API 2015-07-07 20:19:42 -04:00
Johannes Schickel 6f01600e12 AUDIO: Fix abuse of driver IDs in OPL code.
If the driver id did not match the array index, the wrong driver entry would
be accessed causing a crash in the worst case.
2015-07-07 20:19:41 -04:00
Torbjörn Andersson a3008e8f01 FMOPL: Fix confusing "opl_driver" behavior
The way I've configured ScummVM, the default is to use FluidSynth
for MIDI, and any game where I want AdLib overrides that setting.
I have set the DOSBox OPL emulator as the default.

However, this causes the game's "opl_driver" setting to be "auto",
which overrides the default setting, and usually picks the MAME
OPL emulator. To counter this, if it sees that "opl_driver" is
"auto", it will check the default setting.

In other words, only use "auto" if "opl_driver" isn't set on any
level. I think this is the behaviour that should cause the least
amount of astonishment.
2015-05-30 19:18:29 +02:00
Johannes Schickel 452cec49d9 AUDIO: Make GPL headers consistent in themselves. 2014-02-18 02:39:32 +01:00
Eugene Sandulenko 3263a5eda6 AUDIO: Fix identation. CID 1003641 2013-04-28 23:59:20 +03:00
Christoph Mallon 23a0f5318c JANITORIAL: Remove trailing empty lines. 2011-08-07 13:53:33 +02:00
strangerke 69b1485a22 GIT: Clean up: Suppress SVN tags, now useless 2011-05-12 01:16:22 +02:00
Ori Avtalion 9414d7a6e2 JANITORIAL: Reduce header dependencies in shared code
Some backends may break as I only compiled SDL
2011-04-28 15:08:58 +03:00
Max Horn 42ab839dd6 AUDIO: Rename sound/ dir to audio/
svn-id: r55850
2011-02-09 01:09:01 +00:00