summaryrefslogtreecommitdiff
path: root/apps/plugins/rockboy/rockboy.c
diff options
context:
space:
mode:
authorJens Arnold <amiconn@rockbox.org>2006-01-16 18:51:12 +0000
committerJens Arnold <amiconn@rockbox.org>2006-01-16 18:51:12 +0000
commitffb0cdc4263c5c5f4b13fd7514533f4d17fa2a3b (patch)
tree26ded3a09271a2c2df73889e2761cf80c77f5237 /apps/plugins/rockboy/rockboy.c
parentb1a17a624645522d751e6d313a5ceebc0649d49d (diff)
downloadrockbox-ffb0cdc4263c5c5f4b13fd7514533f4d17fa2a3b.tar.gz
rockbox-ffb0cdc4263c5c5f4b13fd7514533f4d17fa2a3b.zip
Archos recorders: The Rockboy overlay loader now uses the same header as the plugin loader.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8354 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/plugins/rockboy/rockboy.c')
-rw-r--r--apps/plugins/rockboy/rockboy.c24
1 files changed, 3 insertions, 21 deletions
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 */
27extern unsigned char ovl_start_addr[];
28extern unsigned char ovl_end_addr[];
29
30const 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
40PLUGIN_HEADER 23PLUGIN_HEADER
41#endif
42 24
43#ifdef USE_IRAM 25#ifdef USE_IRAM
44extern char iramcopy[]; 26extern 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