summaryrefslogtreecommitdiff
path: root/firmware
diff options
context:
space:
mode:
authorBjörn Stenberg <bjorn@haxx.se>2003-06-29 16:33:04 +0000
committerBjörn Stenberg <bjorn@haxx.se>2003-06-29 16:33:04 +0000
commitba371fb595affd68c823926b85718d1d613dc7d3 (patch)
treecfda303d0603d623cdb12f3928905d3ae02f1d87 /firmware
parent9bcbe3fd723d23a709873a0855f27b86bc5c96f1 (diff)
downloadrockbox-ba371fb595affd68c823926b85718d1d613dc7d3.zip
rockbox-ba371fb595affd68c823926b85718d1d613dc7d3.tar.gz
rockbox-ba371fb595affd68c823926b85718d1d613dc7d3.tar.bz2
rockbox-ba371fb595affd68c823926b85718d1d613dc7d3.tar.xz
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
Diffstat (limited to 'firmware')
-rw-r--r--firmware/app.lds15
-rw-r--r--firmware/drivers/lcd-player-charset.c4
2 files changed, 13 insertions, 6 deletions
diff --git a/firmware/app.lds b/firmware/app.lds
index 46a6ca7..34ab1ad 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 523158f..df4f3f0 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 */