From 2e88a90c0b2e9dae693fa331dd85b82e6cf78257 Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Tue, 28 Jun 2005 21:19:40 +0000 Subject: Request the audio buffer _before_ using any iram. By doing it in this order, the music has stopped when we use the plugin iram area - which is shared with the codecs! git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6904 a1c6a512-1295-4272-9138-f99709370657 --- apps/plugins/rockboy/rockboy.c | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) (limited to 'apps/plugins/rockboy/rockboy.c') diff --git a/apps/plugins/rockboy/rockboy.c b/apps/plugins/rockboy/rockboy.c index 1b4c0c7a7d..88984f91b0 100644 --- a/apps/plugins/rockboy/rockboy.c +++ b/apps/plugins/rockboy/rockboy.c @@ -67,17 +67,6 @@ void *my_malloc(size_t size) { void *alloc; - if (!audio_bufferbase) - { - audio_bufferbase = audio_bufferpointer - = rb->plugin_get_audio_buffer(&audio_buffer_free); -#if MEM <= 8 && !defined(SIMULATOR) - /* loaded as an overlay, protect from overwriting ourselves */ - if ((unsigned)(ovl_start_addr - (unsigned char *)audio_bufferbase) - < audio_buffer_free) - audio_buffer_free = ovl_start_addr - (unsigned char *)audio_bufferbase; -#endif - } if (size + 4 > audio_buffer_free) return 0; alloc = audio_bufferpointer; @@ -108,6 +97,17 @@ enum plugin_status plugin_start(struct plugin_api* api, void* parameter) rb->splash(HZ*3, true, "Play gameboy ROM file! (.gb/.gbc)"); return PLUGIN_OK; } + if (!audio_bufferbase) { + audio_bufferbase = audio_bufferpointer + = rb->plugin_get_audio_buffer(&audio_buffer_free); +#if MEM <= 8 && !defined(SIMULATOR) + /* loaded as an overlay, protect from overwriting ourselves */ + if ((unsigned)(ovl_start_addr - (unsigned char *)audio_bufferbase) + < audio_buffer_free) + audio_buffer_free = ovl_start_addr - (unsigned char *)audio_bufferbase; +#endif + } + #ifdef USE_IRAM memcpy(iramstart, iramcopy, iramend-iramstart); #endif -- cgit v1.2.3