From ba371fb595affd68c823926b85718d1d613dc7d3 Mon Sep 17 00:00:00 2001 From: Björn Stenberg Date: Sun, 29 Jun 2003 16:33:04 +0000 Subject: Added plugin loader. Moved games, demos and the text viewer to loadable plugins. Copy your *.rock files to /.rockbox/rocks/ git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3769 a1c6a512-1295-4272-9138-f99709370657 --- firmware/app.lds | 15 +++++++++++---- firmware/drivers/lcd-player-charset.c | 4 ++-- 2 files changed, 13 insertions(+), 6 deletions(-) (limited to 'firmware') diff --git a/firmware/app.lds b/firmware/app.lds index 46a6ca70fb..34ab1adf66 100644 --- a/firmware/app.lds +++ b/firmware/app.lds @@ -2,15 +2,17 @@ ENTRY(start) OUTPUT_FORMAT(elf32-sh) INPUT(crt0.o) +#define PLUGINSIZE 0x8000 + #ifdef DEBUG -#define DRAMSIZE 0x1f0000 +#define DRAMSIZE 0x1f0000 - PLUGINSIZE #define ORIGADDR 0x09010000 -#define ENDADDR 0x09200000 + #else -#define DRAMSIZE (MEMORYSIZE * 0x100000) +#define DRAMSIZE (MEMORYSIZE * 0x100000) - PLUGINSIZE #define ORIGADDR 0x09000000 -#define ENDADDR (ORIGADDR + DRAMSIZE) #endif +#define ENDADDR (ORIGADDR + DRAMSIZE) MEMORY { @@ -91,6 +93,11 @@ SECTIONS _topramend = .; } > DRAM + .plugin ENDADDR: + { + _pluginbuf = .; + } + .iram 0xf000000 : AT ( _iramcopy ) { _iramstart = .; diff --git a/firmware/drivers/lcd-player-charset.c b/firmware/drivers/lcd-player-charset.c index 523158f49f..df4f3f016d 100644 --- a/firmware/drivers/lcd-player-charset.c +++ b/firmware/drivers/lcd-player-charset.c @@ -47,7 +47,7 @@ unsigned short new_lcd_rocklatin1_to_xlcd[] = RESERVED_CHAR, /* 0x01-0x17 reserved */ RESERVED_CHAR, /* 0x01-0x17 reserved */ RESERVED_CHAR, /* 0x01-0x17 reserved */ - RESERVED_CHAR, /* 0x01-0x17 reserved */ + 0x217, /* 0x17 .. "plugin" icon */ 0x218, /* 0x18 .. "folder" icon */ 0x219, /* 0x19 .. "MOD/AJZ" icon (winlatin o (dote in the middle) */ 0x21a, /* 0x1a .. "language" icon (winlatin - (a bit longer minus sign) */ @@ -668,7 +668,7 @@ unsigned char extended_font_player[NO_EXTENDED_LCD_CHARS][8] = { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, /* 14 */ { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, /* 15 */ { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, /* 16 */ - { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, /* 17 */ + { 0x04, 0x1e, 0x07, 0x1f, 0x05, 0x01, 0x06, 0x00}, /* 17 Plugin file icon */ { 0x0c, 0x13, 0x11, 0x11, 0x11, 0x11, 0x1f, 0x00}, /* 18 Folder icon */ { 0x1f, 0x11, 0x1b, 0x15, 0x1b, 0x11, 0x1f, 0x00}, /* 19 MOD/AJZ icon */ { 0x00, 0x1f, 0x15, 0x1f, 0x15, 0x1f, 0x00, 0x00}, /* 1a Language icon */ -- cgit v1.2.3