Commit Graph

87 Commits

Author SHA1 Message Date
Johannes Schickel
50116130ef Show an error message in case multiple OPL outputs are created instead of using an assert.
The new DBOPL emulator we are using should support multiple instances though. We *might*
consider allowing as many instances as the user wants. Of course since the original
games only had one OPL chip available, that should not be required. Also just in case
we might allow real hardware as playback device that would be out of the question again
too.

svn-id: r48183
2010-03-08 00:54:05 +00:00
Johannes Schickel
286786b6af Cleanup.
svn-id: r47843
2010-02-03 09:11:55 +00:00
Johannes Schickel
98fb67ed20 - Remove "(experimental)" mark from DOSBox OPL emulator description in GUI
- Merge in some small OPL emulator changes from DOSBox's trunk

svn-id: r47546
2010-01-25 02:48:35 +00:00
Johannes Schickel
0d995c5920 Rename all "Adlib" uses to "AdLib" to match the real name of the sound card / company.
Check this for reference:
http://en.wikipedia.org/wiki/Ad_Lib,_Inc.
http://www.crossfire-designs.de/images/articles/soundcards/adlib.jpg (note the upper left of the card)

This commit does not touch "adlib" and "ADLIB" uses!

Also it does not update all the SCUMM detection entries, which still use "Adlib".

svn-id: r47279
2010-01-12 21:07:56 +00:00
Johannes Schickel
776d735c2e Do not fall back to a auto detection of the OPL emulator, when the user selected OPL emulator does not support a mode asked for.
We will now output a warning to the user in this case. That should be fine,
since SCI is the only engine so far, which uses Dual OPL2 emulation.
Albeit this is not supported by our MAME emulator the user will still get
sound output, since the SCI engine will do proper recovery and fallback
to single OPL2 emulation, which is supported by the MAME emulator.
In case a engine would require a specifc mode (like OPL3) and the
user selects MAME emulation, this might result in no sound output
(or a crash), in case the engine does not take any care of testing whether
the OPL creation succeeded. But luckily so far no engine does this,
so it should be fine to not worry about that for now.

svn-id: r46140
2009-11-25 23:02:03 +00:00
Max Horn
f242266f6d Change a couple places from 'end of namespace' to 'End of namespace', for consistency
svn-id: r44634
2009-10-04 21:26:33 +00:00
Johannes Schickel
72686a5a9e Make 'create' return an OPL2 by default.
svn-id: r40503
2009-05-12 19:24:04 +00:00
Johannes Schickel
4190e256bf Cleanup.
svn-id: r40502
2009-05-12 19:03:54 +00:00
Johannes Schickel
4c156d3c78 Fix OPL emulator IDs.
svn-id: r40498
2009-05-12 18:53:44 +00:00
Johannes Schickel
4f0768b909 - Add support for selecting the OPL emulator being used (config entry: "opl_driver")
- Make MAME FM OPL the default emulator again
- Add GUI support for selecting the active OPL emulator
- Update themes

svn-id: r40496
2009-05-12 18:42:44 +00:00
Johannes Schickel
625f41c135 Cleanup:
- Rename OPL_DOSBox to OPL, since it's inside a seperate namespace anyway
- Reanme MAME_OPL to OPL, since it's inside a seperate namespace anyway

svn-id: r40338
2009-05-05 22:18:26 +00:00
Johannes Schickel
5cc44292a2 - Remove default parameter from OPL::create
- Add some note that no one should use the legacy API for new code

svn-id: r40337
2009-05-05 22:14:34 +00:00
Johannes Schickel
16bd319684 At request by DrMcCoy enable DOSBox OPL2 by default whenever DISABLE_DOSBOX_OPL isn't defined.
svn-id: r40335
2009-05-05 22:06:54 +00:00
Johannes Schickel
08581ed698 AdLib emulator changes part2:
- Add new OPL emulator API (and legacy access API) in sound/fmopl.h
- Add DOSBox OPL emulator.
- Update MAME OPL emulator for the API changes.

svn-id: r40334
2009-05-05 21:47:12 +00:00
Johannes Schickel
d9e0499a36 AdLib emulator changes part1 (breaks compilation :-/):
- Add new directory sound/softsynth/opl
- Move sound/fmopl to sound/softsynth/opl/mame

svn-id: r40333
2009-05-05 21:40:50 +00:00
Eugene Sandulenko
0a532dfc30 Add interleave parameter to FMOPL as needed by SCI engine
svn-id: r38211
2009-02-15 10:07:50 +00:00
Max Horn
59dc18d9ef cleanup
svn-id: r35214
2008-12-03 10:59:06 +00:00
Max Horn
be0f709be9 Saving 32kb DATA size
svn-id: r35103
2008-11-17 11:07:04 +00:00
Robin Watts
2579136dd2 Another tiny speed tweak for fmopl.cpp; replace a division with a shift.
svn-id: r30968
2008-02-26 00:29:40 +00:00
Robin Watts
890bca8f7e Tweaks to fmopl; same net effect overall, just faster.
Eliminate divisions, floating point, and mod operation from inner synth loop.

svn-id: r30896
2008-02-17 16:12:54 +00:00
Max Horn
00ce6ac98d Patch #1853322: Patch for Atari ST/FreeMint
svn-id: r29906
2007-12-19 14:03:53 +00:00
Gregory Montoir
65779599de reverted commit #29736 with a proper fix (I think) to fmopl code
svn-id: r29741
2007-12-06 21:11:26 +00:00
Nicola Mettifogo
258901bab9 Merged common/stdafx.h into common/scummsys.h. All referencing files have been updated.
svn-id: r28966
2007-09-19 08:40:12 +00:00
Chris Apers
500481c4ec Cleanup: remove obsolete code (PalmOS 68K version not supported anymore)
svn-id: r28803
2007-09-01 19:13:04 +00:00
Max Horn
218e132e37 Updated legal headers in source files, based on what Pidgin (the IM client formerly knowns as Gaim) does; added new (incomplete) COPYRIGHT file; updated copyright dates in a few spots
svn-id: r27024
2007-05-30 21:56:52 +00:00
Neil Millstone
dca464b06e Changes to CPU local ram allocation for DS port
svn-id: r26395
2007-04-06 18:35:35 +00:00
Neil Millstone
9c12f89fc7 Changed size of sine table so it take less memory in cache RAM on DS port
svn-id: r24800
2006-12-01 22:44:19 +00:00
John Willis
9aa0984702 Fix GP2X ifdef error in initial patch. Sorry.
svn-id: r24257
2006-10-09 20:38:59 +00:00
Eugene Sandulenko
3d84f11046 Patch #1432376: "Very basic GP2X Backend"
svn-id: r24144
2006-10-06 19:01:39 +00:00
Eugene Sandulenko
8f44098332 Revert part of commit 23552 by agent-q. Apparently this slipped in by
mistake, as DS port sets FMOPL quality in ds/arm9/source/osystem_ds.cpp
void OSystem_DS::initBackend().

svn-id: r24046
2006-09-30 19:33:43 +00:00
Johannes Schickel
8d453f2267 Another little formatting and a typo fix.
svn-id: r23621
2006-07-29 23:51:43 +00:00
Johannes Schickel
43fbc9eb81 Adding comment about forced MQ on small devices.
svn-id: r23620
2006-07-29 23:44:09 +00:00
Johannes Schickel
1d52f836dc Some formatting 'fixes'
svn-id: r23619
2006-07-29 23:42:27 +00:00
Neil Millstone
42cebc00dc Speed increase for DS port - uses cache ram to store SIN_TABLE. Other versions are unaffected.
svn-id: r23552
2006-07-22 10:56:11 +00:00
Max Horn
bea72e9514 Patch #1519399: DS Backend
svn-id: r23452
2006-07-09 11:47:17 +00:00
Torbjörn Andersson
839b5d3e86 Added workaround in FMOPL for the pathological case where a note was turned off
while still at the very beginning of the "attack" phase. This is the very
lowest point on the attack curve, yet it would continue from the beginning of
the release curve, i.e. its very highest point. This is what caused Kyra to
often play low-frequency notes at the very beginning of a new song. (That, and
a truly bizarre function for initialising the channels.)

The proper fix would be to locate the correct point on the release curve and
continue from there. For now, though, only handle the trivial case.

svn-id: r21302
2006-03-14 23:01:44 +00:00
Torbjörn Andersson
59b6f0f715 Fixed a potential bug that could cause memory to be read out-of-bounds.
(Unfortunately, this does not fix the Kyra bug I'm looking for.)

In the most extreme case:

* DR and RR will point to &DR_TABLE[60], and AR will point to &AR_TABLE[60]
* SLOT->KSR will be 0
* CH->kcode will be 15

In that case, it will attempt to access AR[15], RR[15] and DR[15], i.e.
AR_TABLE[75] and DR_TABLE[75]. So these arrays need to be 76 elements, not 75.

We used to initialise element 75, but this was changed to 74 to match the size
of the arrays. Buf if my reasoning is correct, it was the arrays that were too
small.

svn-id: r21301
2006-03-14 20:09:32 +00:00
Eugene Sandulenko
233c2a42f9 WIP of maemo port
svn-id: r21055
2006-03-04 01:32:04 +00:00
Max Horn
406703148f Change CVS keywords to SVN keywords
svn-id: r20515
2006-02-11 10:05:31 +00:00
Chris Apers
4a6f2ab3d3 Wrong #ifdef
svn-id: r20314
2006-01-30 19:13:25 +00:00
Eugene Sandulenko
ea42bad781 Update copyright notice
svn-id: r20088
2006-01-18 17:39:49 +00:00
Chris Apers
64bfec97d9 Not needed anymore :)
svn-id: r19735
2005-12-03 19:04:33 +00:00
Eugene Sandulenko
edfae828f6 Patch #1341626: "New GP32 port"
svn-id: r19710
2005-11-27 02:35:57 +00:00
Eugene Sandulenko
b36677af71 Update FSF address. Eek. Actually that took place on May 1, 2005
svn-id: r19142
2005-10-18 01:30:26 +00:00
Chris Apers
797b6e5a7c PalmOS ARM too
svn-id: r19040
2005-10-12 19:47:15 +00:00
Chris Apers
5870531184 Change PalmOS ident
svn-id: r18756
2005-09-03 18:05:19 +00:00
Eugene Sandulenko
6b4484472b Remove trailing whitespaces.
svn-id: r18604
2005-07-30 21:11:48 +00:00
Torbjörn Andersson
40236ee7c1 For consistency, specify directory when including files.
svn-id: r18454
2005-06-24 16:16:46 +00:00
Max Horn
8b1d7b9166 When including files from common/, explicitly use the common/ prefix
svn-id: r18444
2005-06-24 15:23:51 +00:00
Lars Persson
1c69696a9a Patches needed to build for SYMBIAN32 WINS/GCC added.
Test built for Symbian and run on P910i without any major problems.
Test built for MSVC6. Changed parts seems to compile ok but there are some problems with MSVC6 and some of the targets which the EPOC build does n't support (KYRA,SAGA).

svn-id: r18430
2005-06-21 22:08:21 +00:00