From acc29d95be85c9cfd0d8f74dda813d7d1082e2ec Mon Sep 17 00:00:00 2001 From: Michael Sevakis Date: Sat, 18 Nov 2006 02:18:29 +0000 Subject: 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 --- apps/plugins/doom/rockdoom.c | 19 +++---------------- 1 file changed, 3 insertions(+), 16 deletions(-) (limited to 'apps/plugins/doom') diff --git a/apps/plugins/doom/rockdoom.c b/apps/plugins/doom/rockdoom.c index 2b42322..8b73a5b 100644 --- a/apps/plugins/doom/rockdoom.c +++ b/apps/plugins/doom/rockdoom.c @@ -39,14 +39,7 @@ #include "st_stuff.h" PLUGIN_HEADER - -#ifdef USE_IRAM -extern char iramcopy[]; -extern char iramstart[]; -extern char iramend[]; -extern char iedata[]; -extern char iend[]; -#endif +PLUGIN_IRAM_DECLARE extern boolean timingdemo, singledemo, demoplayback, fastdemo; // killough @@ -785,13 +778,7 @@ enum plugin_status plugin_start(struct plugin_api* api, void* parameter) rb->cpu_boost(true); #endif -#ifdef USE_IRAM - /* We need to stop audio playback in order to use IRAM */ - rb->audio_stop(); - - memcpy(iramstart, iramcopy, iramend-iramstart); - memset(iedata, 0, iend - iedata); -#endif + PLUGIN_IRAM_INIT(rb) rb->lcd_setfont(0); @@ -830,7 +817,7 @@ enum plugin_status plugin_start(struct plugin_api* api, void* parameter) if (result < 0) { #ifdef HAVE_ADJUSTABLE_CPU_FREQ - rb->cpu_boost(false); + rb->cpu_boost(false); #endif if( result == -1 ) return PLUGIN_OK; // Quit was selected else if( result == -2 ) return PLUGIN_ERROR; // Missing base wads -- cgit v1.1