diff options
author | Michael Sevakis <jethead71@rockbox.org> | 2006-11-18 02:18:29 +0000 |
---|---|---|
committer | Michael Sevakis <jethead71@rockbox.org> | 2006-11-18 02:18:29 +0000 |
commit | acc29d95be85c9cfd0d8f74dda813d7d1082e2ec (patch) | |
tree | 81fdd154d122b393d6254968cba5bc90b63e4741 /apps/plugins/doom | |
parent | e2a262ee258769136eadc58c2bc8e3aa53db1a71 (diff) | |
download | rockbox-acc29d95be85c9cfd0d8f74dda813d7d1082e2ec.tar.gz rockbox-acc29d95be85c9cfd0d8f74dda813d7d1082e2ec.zip |
SWCODEC/IRAM: Save voice IRAM when a plugin initializes its IRAM. Defines two macros for declaring and initializing IRAM. Plugins should use these instead. See mp3_encoder, doom, etc. for details. Further tweaks in buffer restoration after other use. Hiding of some interfaces that should only be used by buffer management.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11544 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/plugins/doom')
-rw-r--r-- | apps/plugins/doom/rockdoom.c | 19 |
1 files changed, 3 insertions, 16 deletions
diff --git a/apps/plugins/doom/rockdoom.c b/apps/plugins/doom/rockdoom.c index 2b42322daa..8b73a5bb96 100644 --- a/apps/plugins/doom/rockdoom.c +++ b/apps/plugins/doom/rockdoom.c | |||
@@ -39,14 +39,7 @@ | |||
39 | #include "st_stuff.h" | 39 | #include "st_stuff.h" |
40 | 40 | ||
41 | PLUGIN_HEADER | 41 | PLUGIN_HEADER |
42 | 42 | PLUGIN_IRAM_DECLARE | |
43 | #ifdef USE_IRAM | ||
44 | extern char iramcopy[]; | ||
45 | extern char iramstart[]; | ||
46 | extern char iramend[]; | ||
47 | extern char iedata[]; | ||
48 | extern char iend[]; | ||
49 | #endif | ||
50 | 43 | ||
51 | extern boolean timingdemo, singledemo, demoplayback, fastdemo; // killough | 44 | extern boolean timingdemo, singledemo, demoplayback, fastdemo; // killough |
52 | 45 | ||
@@ -785,13 +778,7 @@ enum plugin_status plugin_start(struct plugin_api* api, void* parameter) | |||
785 | rb->cpu_boost(true); | 778 | rb->cpu_boost(true); |
786 | #endif | 779 | #endif |
787 | 780 | ||
788 | #ifdef USE_IRAM | 781 | PLUGIN_IRAM_INIT(rb) |
789 | /* We need to stop audio playback in order to use IRAM */ | ||
790 | rb->audio_stop(); | ||
791 | |||
792 | memcpy(iramstart, iramcopy, iramend-iramstart); | ||
793 | memset(iedata, 0, iend - iedata); | ||
794 | #endif | ||
795 | 782 | ||
796 | rb->lcd_setfont(0); | 783 | rb->lcd_setfont(0); |
797 | 784 | ||
@@ -830,7 +817,7 @@ enum plugin_status plugin_start(struct plugin_api* api, void* parameter) | |||
830 | if (result < 0) | 817 | if (result < 0) |
831 | { | 818 | { |
832 | #ifdef HAVE_ADJUSTABLE_CPU_FREQ | 819 | #ifdef HAVE_ADJUSTABLE_CPU_FREQ |
833 | rb->cpu_boost(false); | 820 | rb->cpu_boost(false); |
834 | #endif | 821 | #endif |
835 | if( result == -1 ) return PLUGIN_OK; // Quit was selected | 822 | if( result == -1 ) return PLUGIN_OK; // Quit was selected |
836 | else if( result == -2 ) return PLUGIN_ERROR; // Missing base wads | 823 | else if( result == -2 ) return PLUGIN_ERROR; // Missing base wads |