Commit graph

33 commits

Author SHA1 Message Date
Andree Buschmann
da09f7f0f1 Fix detuned VRC7. In VRC7 apu the 2413 emu must run at the default clock rate. Thanks to Mauricio Garrido.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30623 a1c6a512-1295-4272-9138-f99709370657
2011-10-01 08:16:33 +00:00
Bertrik Sikken
e80acd41b8 libgme: make local functions static, where possible
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30498 a1c6a512-1295-4272-9138-f99709370657
2011-09-10 21:08:13 +00:00
Andree Buschmann
d4249affc4 Remove residual floating point code from libgme's ym2612_emu. Saves several KB of codesize.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30496 a1c6a512-1295-4272-9138-f99709370657
2011-09-10 18:40:12 +00:00
Andree Buschmann
4096cb1830 Further work on libgme's emu2413. Fully remove floating point, introduce another precalculated table, directly use predefined tables instead of copying them. Reduces memory and codesize by several KB.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30494 a1c6a512-1295-4272-9138-f99709370657
2011-09-10 10:45:44 +00:00
Andree Buschmann
e8dc7a6d07 Migrate some floating point code to fixed point in libgme.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30493 a1c6a512-1295-4272-9138-f99709370657
2011-09-10 02:52:12 +00:00
Andree Buschmann
c97c5e5d17 Bugfixes for libgme by Mauricio Garrido: added missing call of Blip_set_modified(), correctly set PSG voices in vgm_emu, correctly set current_track in vgm_emu, correct call of Sound_mute_voices() in nsf_emu. Additionally migrate few floating point code to fixed point -- even though this is unused and therefor commented out.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30490 a1c6a512-1295-4272-9138-f99709370657
2011-09-09 17:57:33 +00:00
Andree Buschmann
67f5249559 Fix residual red, thanks to Zagor.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30400 a1c6a512-1295-4272-9138-f99709370657
2011-08-31 20:34:44 +00:00
Andree Buschmann
72a345b6a7 Fix some more libgme compile issues.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30399 a1c6a512-1295-4272-9138-f99709370657
2011-08-31 19:42:18 +00:00
Andree Buschmann
89ee297314 Check for CPU_ARM in libgme/blip_buffer.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30398 a1c6a512-1295-4272-9138-f99709370657
2011-08-31 19:29:21 +00:00
Andree Buschmann
13cbade08a Update libgme to Blargg's Game_Music_Emu 0.6-pre.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30397 a1c6a512-1295-4272-9138-f99709370657
2011-08-31 19:19:49 +00:00
Andree Buschmann
5cfec21350 Declare several libgme functions static.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30394 a1c6a512-1295-4272-9138-f99709370657
2011-08-31 09:15:04 +00:00
Andree Buschmann
c940811ade Introduce CPU dependent IRAM configuration for libgme. Use ICODE_ATTR for an emu2413-function to speed up PP5022 by up to 6%.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30379 a1c6a512-1295-4272-9138-f99709370657
2011-08-30 12:35:12 +00:00
Thomas Jarosch
4ccb6e4f27 Clean up redundant assignment
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30347 a1c6a512-1295-4272-9138-f99709370657
2011-08-25 19:27:31 +00:00
Andree Buschmann
0aa2fcb3b6 Optimized compiler settings for libgme. ARM now uses -O1 except for the 2413 emulator. The speed on PP5022 increases by 0-5% (NSF, YM2413-VGM), 5-10% (GBS, VGM) and 10-15% (SGC, KSS, AY).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30331 a1c6a512-1295-4272-9138-f99709370657
2011-08-18 21:01:08 +00:00
Nils Wallménius
b086458e4e FS#12231
Centralize the selection of codec compilation flags to codec.make
to avoid having to duplicate the per cpu selection logic and the
build rule in the individual codec lib make files and make tweaking
easier.

The two special cases, libmad and libspeex were left alone.

I plan to introduce a var for arm generation so that appropriate flags
can be selected per generation as benchmarking results have shown that
different arm arches might have different optimal flags.



git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30330 a1c6a512-1295-4272-9138-f99709370657
2011-08-18 16:33:41 +00:00
Andree Buschmann
46d7fb9b4a Roll back r30328. Sorry for any inconvenience.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30329 a1c6a512-1295-4272-9138-f99709370657
2011-08-18 15:17:25 +00:00
Andree Buschmann
1466519bd8 Allow to use different compiler settings for codecs built from libgme. ARM now uses -O1 except for the 2413 emulator. The speed on PP5022 increases by 0-5% (NSF, YM2413-VGM), 5-10% (GBS, VGM) and 10-15% (SGC, KSS, AY).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30328 a1c6a512-1295-4272-9138-f99709370657
2011-08-18 14:01:31 +00:00
Andree Buschmann
4d01ace73f Submit a patch to the VGM codec by Mauricio Gama which saves some more RAM through changes of the buffer configuration and an update of the resampler code. Additionally enable VGM for low memory targets and update the manual.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30327 a1c6a512-1295-4272-9138-f99709370657
2011-08-17 22:20:09 +00:00
Andree Buschmann
4070f4f17b Reduce memory consumption of VGM codec for low memry targets at the costs of some performance for tracks using the 2616 emulator.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30326 a1c6a512-1295-4272-9138-f99709370657
2011-08-17 21:48:28 +00:00
Andree Buschmann
9477675f04 Save some RAM in a libgme emulator used for VGM codec. LFO_ENV_TAB[] and LFO_FREQ_TAB[] are obselete.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30319 a1c6a512-1295-4272-9138-f99709370657
2011-08-15 18:24:50 +00:00
Andree Buschmann
d559492603 Remove further float operations from emu2413 in libgme to speed up synthesis.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30313 a1c6a512-1295-4272-9138-f99709370657
2011-08-14 18:04:40 +00:00
Bertrik Sikken
b2d0ea204c Remove a couple of duplicate #includes
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30301 a1c6a512-1295-4272-9138-f99709370657
2011-08-14 13:42:32 +00:00
Andree Buschmann
a1145a1d04 Remove all IRAM attributes from libGME to be able to restart the IRAM optimization on a clean code base. As first step move the sample buffers to IRAM which results in a 1-5% speedup for all codecs.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30284 a1c6a512-1295-4272-9138-f99709370657
2011-08-13 16:41:14 +00:00
Andree Buschmann
724a2d2514 6th part of FS#12176. Reduce memory consumption of libgme emulators to allow enabling of NSF and SGC codecs for low memory targets. The main lookup table only requires byte precision and can be used by 2413 and 8950 emulators. Update the manual accordingly.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30283 a1c6a512-1295-4272-9138-f99709370657
2011-08-12 21:36:29 +00:00
Andree Buschmann
5f6d8bfcc0 Remove unused sources from libgme.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30282 a1c6a512-1295-4272-9138-f99709370657
2011-08-12 05:57:27 +00:00
Andree Buschmann
1b9f9fb465 5th part of FS#12176. Further fixed point migration. Only two emulators (ym2413, ym2612) still use floating point.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30281 a1c6a512-1295-4272-9138-f99709370657
2011-08-11 21:06:16 +00:00
Bertrik Sikken
b127949860 libgme: make local functions static where possible
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30280 a1c6a512-1295-4272-9138-f99709370657
2011-08-11 19:04:28 +00:00
Andree Buschmann
39e4987ea5 Reduce gain of VGM codec to avoid clipping.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30279 a1c6a512-1295-4272-9138-f99709370657
2011-08-11 06:22:56 +00:00
Andree Buschmann
631d22b8e5 4th part of FS#12176. Volume settings migrated to fixed point for libgme.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30278 a1c6a512-1295-4272-9138-f99709370657
2011-08-11 06:18:39 +00:00
Andree Buschmann
4ca2367e34 3rd part of FS#12176. Gain setting migrated to fixed point for libgme.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30277 a1c6a512-1295-4272-9138-f99709370657
2011-08-10 17:58:36 +00:00
Andree Buschmann
012df14a5f 2nd part of FS#12176. Tempo setting migrated to fixed point for libgme.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30274 a1c6a512-1295-4272-9138-f99709370657
2011-08-09 20:21:55 +00:00
Andree Buschmann
b8ae97fe58 Fix yellow and red. Disable NSF, VGM, SGC and KSS formats for low memory targets for now.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30265 a1c6a512-1295-4272-9138-f99709370657
2011-08-07 20:28:47 +00:00
Andree Buschmann
acb0917556 Submit initial patch from FS#12176. Adds support for several new game music formats (AY, GBS, HES, KSS, SGC, VGM and VGZ) and replaces the current NSF and NSFE with a new implementation based on a port of the Game Music Emu library 'GME'. This first submit does not cover the full functionality provided by the author's original patch: Coleco-SGV is not supported, some GME-specific m3u-support has been removed and IRAM is not used yet. Further changes are very likely to follow this submit. Thanks to Mauricio Garrido.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30264 a1c6a512-1295-4272-9138-f99709370657
2011-08-07 20:01:04 +00:00