diff options
Diffstat (limited to 'apps/plugins/rockboy')
-rwxr-xr-x | apps/plugins/rockboy/archos.lds | 4 | ||||
-rw-r--r-- | apps/plugins/rockboy/rockboy.c | 24 |
2 files changed, 5 insertions, 23 deletions
diff --git a/apps/plugins/rockboy/archos.lds b/apps/plugins/rockboy/archos.lds index 55db1e2e30..24f4f1d4eb 100755 --- a/apps/plugins/rockboy/archos.lds +++ b/apps/plugins/rockboy/archos.lds | |||
@@ -19,7 +19,7 @@ MEMORY | |||
19 | SECTIONS | 19 | SECTIONS |
20 | { | 20 | { |
21 | .header : { | 21 | .header : { |
22 | _ovl_start_addr = .; | 22 | _plugin_start_addr = .; |
23 | *(.header) | 23 | *(.header) |
24 | } > OVERLAY_RAM | 24 | } > OVERLAY_RAM |
25 | 25 | ||
@@ -42,6 +42,6 @@ SECTIONS | |||
42 | *(.bss) | 42 | *(.bss) |
43 | *(COMMON) | 43 | *(COMMON) |
44 | . = ALIGN(0x4); | 44 | . = ALIGN(0x4); |
45 | _ovl_end_addr = .; | 45 | _plugin_end_addr = .; |
46 | } > OVERLAY_RAM | 46 | } > OVERLAY_RAM |
47 | } | 47 | } |
diff --git a/apps/plugins/rockboy/rockboy.c b/apps/plugins/rockboy/rockboy.c index a21e9e4368..a7e9bfb8f1 100644 --- a/apps/plugins/rockboy/rockboy.c +++ b/apps/plugins/rockboy/rockboy.c | |||
@@ -20,25 +20,7 @@ | |||
20 | #include "loader.h" | 20 | #include "loader.h" |
21 | #include "rockmacros.h" | 21 | #include "rockmacros.h" |
22 | 22 | ||
23 | #if MEM <= 8 && !defined(SIMULATOR) | ||
24 | /* On archos this is loaded as an overlay */ | ||
25 | |||
26 | /* These are defined in the linker script */ | ||
27 | extern unsigned char ovl_start_addr[]; | ||
28 | extern unsigned char ovl_end_addr[]; | ||
29 | |||
30 | const struct { | ||
31 | unsigned long magic; | ||
32 | unsigned char *start_addr; | ||
33 | unsigned char *end_addr; | ||
34 | enum plugin_status (*entry_point)(struct plugin_api*, void*); | ||
35 | } header __attribute__ ((section (".header"))) = { | ||
36 | 0x524f564c, /* ROVL */ | ||
37 | ovl_start_addr, ovl_end_addr, plugin_start | ||
38 | }; | ||
39 | #else | ||
40 | PLUGIN_HEADER | 23 | PLUGIN_HEADER |
41 | #endif | ||
42 | 24 | ||
43 | #ifdef USE_IRAM | 25 | #ifdef USE_IRAM |
44 | extern char iramcopy[]; | 26 | extern char iramcopy[]; |
@@ -109,10 +91,10 @@ enum plugin_status plugin_start(struct plugin_api* api, void* parameter) | |||
109 | audio_bufferbase = audio_bufferpointer | 91 | audio_bufferbase = audio_bufferpointer |
110 | = rb->plugin_get_audio_buffer((int *)&audio_buffer_free); | 92 | = rb->plugin_get_audio_buffer((int *)&audio_buffer_free); |
111 | #if MEM <= 8 && !defined(SIMULATOR) | 93 | #if MEM <= 8 && !defined(SIMULATOR) |
112 | /* loaded as an overlay, protect from overwriting ourselves */ | 94 | /* loaded as an overlay plugin, protect from overwriting ourselves */ |
113 | if ((unsigned)(ovl_start_addr - (unsigned char *)audio_bufferbase) | 95 | if ((unsigned)(plugin_start_addr - (unsigned char *)audio_bufferbase) |
114 | < audio_buffer_free) | 96 | < audio_buffer_free) |
115 | audio_buffer_free = ovl_start_addr - (unsigned char *)audio_bufferbase; | 97 | audio_buffer_free = plugin_start_addr - (unsigned char *)audio_bufferbase; |
116 | #endif | 98 | #endif |
117 | 99 | ||
118 | #ifdef USE_IRAM | 100 | #ifdef USE_IRAM |