summaryrefslogtreecommitdiff
path: root/apps/plugins/rockboy/rockboy.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/plugins/rockboy/rockboy.c')
-rw-r--r--apps/plugins/rockboy/rockboy.c24
1 files changed, 14 insertions, 10 deletions
diff --git a/apps/plugins/rockboy/rockboy.c b/apps/plugins/rockboy/rockboy.c
index 1534173114..3fbe1fd8e1 100644
--- a/apps/plugins/rockboy/rockboy.c
+++ b/apps/plugins/rockboy/rockboy.c
@@ -65,12 +65,6 @@ void* memcpy(void* dst, const void* src, size_t size)
65 return rb->memcpy(dst, src, size); 65 return rb->memcpy(dst, src, size);
66} 66}
67 67
68void setmallocpos(void *pointer)
69{
70 audio_bufferpointer = pointer;
71 audio_buffer_free = audio_bufferpointer - audio_bufferbase;
72}
73
74void setoptions (void) 68void setoptions (void)
75{ 69{
76 int fd; 70 int fd;
@@ -197,9 +191,18 @@ enum plugin_status plugin_start(struct plugin_api* api, void* parameter)
197 rb->splash(HZ*3, "Play gameboy ROM file! (.gb/.gbc)"); 191 rb->splash(HZ*3, "Play gameboy ROM file! (.gb/.gbc)");
198 return PLUGIN_OK; 192 return PLUGIN_OK;
199 } 193 }
200 194 if(rb->audio_status())
201 audio_bufferbase = audio_bufferpointer 195 {
202 = rb->plugin_get_audio_buffer((int *)&audio_buffer_free); 196 audio_bufferbase = audio_bufferpointer
197 = rb->plugin_get_buffer((int *)&audio_buffer_free);
198 plugbuf=true;
199 }
200 else
201 {
202 audio_bufferbase = audio_bufferpointer
203 = rb->plugin_get_audio_buffer((int *)&audio_buffer_free);
204 plugbuf=false;
205 }
203#if MEM <= 8 && !defined(SIMULATOR) 206#if MEM <= 8 && !defined(SIMULATOR)
204 /* loaded as an overlay plugin, protect from overwriting ourselves */ 207 /* loaded as an overlay plugin, protect from overwriting ourselves */
205 if ((unsigned)(plugin_start_addr - (unsigned char *)audio_bufferbase) 208 if ((unsigned)(plugin_start_addr - (unsigned char *)audio_bufferbase)
@@ -226,7 +229,8 @@ enum plugin_status plugin_start(struct plugin_api* api, void* parameter)
226 rb->splash(HZ/2, errormsg); 229 rb->splash(HZ/2, errormsg);
227 return PLUGIN_ERROR; 230 return PLUGIN_ERROR;
228 } 231 }
229 pcm_close(); 232 if(!rb->audio_status())
233 pcm_close();
230 rb->splash(HZ/2, "Shutting down"); 234 rb->splash(HZ/2, "Shutting down");
231 235
232 savesettings(); 236 savesettings();