Age | Commit message (Collapse) | Author |
|
Based on the SONiVOX® Embedded Audio Synthesis (EAS™) library, which is
part of the base Android OS.
CPU stats (Cortex A8 1GHz, monkey1 intro, peak values):
MAME OPL: 30%
DosBox OPL: 26%
EAS: 19%
|
|
svn-id: r55850
|
|
elsewhere
There are some calls to EngineManager::findGame() from within games, such as when loading saved games. It's critical not to unload the plugin from memory or other threads may crash. Therefore, we first scan using any plugin that's already in memory.
svn-id: r55089
|
|
ONE_PLUGIN_AT_A_TIME is too long.
svn-id: r55064
|
|
svn-id: r55062
|
|
After searching for the right plugin once, the filename will be saved to the config file under the domain 'plugin_files'. The key is the gameid and the value is the plugin file. The backup mechanism is searching plugin by plugin.
svn-id: r55061
|
|
The reason for this was that I found issues where the wrong functions were called in EngineManager for single plugin operation. Rather than inserting more messy #defines, I preferred to change the PluginManager to use virtual functions, which also makes EngineManager simpler.
svn-id: r55024
|
|
The reason to load each plugin was to figure out if it's a sound or engine plugin. Since all our plugin files are currently engines, there's no reason to load every file. If we get dynamic sound plugins, it'd be a good idea to make a quick and easy way to know which kind of plugin it is (e.g. a prefix or suffix in the filename).
svn-id: r55021
|
|
This makes it possible to write
DECLARE_SINGLETON(foo);
instead of
DECLARE_SINGLETON(foo)
without causing a warning about an extra semicolon.
The extra semicolon helps some editors at parsing the C++ code.
svn-id: r54258
|
|
I reduced memory fragmentation using 2 principles: Plugins should be loaded for as little time as possible, and long lasting memory allocations should be allocated before plugins are loaded. There might still be a little fragmentation left.
Note that command line settings that require plugins to be loaded don't work yet, but they didn't work (properly) before either.
svn-id: r54097
|
|
svn-id: r53976
|
|
svn-id: r53580
|
|
svn-id: r53395
|
|
svn-id: r53169
|
|
svn-id: r53087
|
|
svn-id: r52779
|
|
svn-id: r52729
|
|
svn-id: r52681
|
|
svn-id: r52564
|
|
svn-id: r52202
|
|
svn-id: r52137
|
|
providers for a few ports into their .h files, removing the corresponding .cpp files
svn-id: r52112
|
|
with 'ONE_PLUGIN_AT_A_TIME' defined
svn-id: r52080
|
|
svn-id: r52058
|
|
loaded at a time and tested successfully on the DS. Added code to prevent a crash in the case where there are no engine plugins present. Removed code for R_ARM_TARGET1 in arm-loader, as it is no longer used and was never used successfully
svn-id: r52052
|
|
svn-id: r52027
|
|
adding/removing/running games on Linux with only one engine plugin loaded at a time
svn-id: r52026
|
|
svn-id: r51997
|
|
These devices are not able to create appropriate drivers.
The only purpose for now is having proper gui options and flags and music types for the device detector.
The corresponding GUIO flags for the new devices have been added, too.
svn-id: r51995
|
|
svn-id: r51961
|
|
svn-id: r51798
|
|
svn-id: r51747
|
|
and run game code to use it. Added checks for DYNAMIC_MODULES defines to the checks for NEW_PLUGIN_DESIGN_FIRST_REFINEMENT
svn-id: r51746
|
|
added comments to loadFirstPlugin and loadNextPlugin
svn-id: r51673
|
|
loaded into memory at a time (first refinement)
svn-id: r51607
|
|
with only one plugin loaded at a time if you compile with a 'NEW_PLUGIN_DESIGN_FIRST_REFINEMENT' flag)
svn-id: r51502
|
|
* Added a yes/no variable _unix to configure, which controls when
-DUNIX is added to DEFINES
* Enable SEQ MIDI via _seq_midi by default on UNIX type systems,
except for those which override that.
* Switch SEQ MIDI code to check #define USE_SEQ_MIDI
(alternatively, we could compile it only conditionally...)
svn-id: r51055
|
|
svn-id: r51053
|
|
svn-id: r50964
|
|
svn-id: r50664
|
|
support caused by patch #1956501
svn-id: r50145
|
|
svn-id: r50128
|
|
svn-id: r49188
|
|
We need to use a namespace Common { } there to make strict C++ compilers
like clang++ and comeau happy. I also added a slight comment about why
that is needed to the macro definition and a note that you need to use
it from the global namespace.
svn-id: r48254
|
|
svn-id: r47427
|
|
svn-id: r46728
|
|
svn-id: r45898
|
|
svn-id: r45258
|
|
not as good as the CoreAudio backend anyway
svn-id: r44428
|
|
svn-id: r44326
|