summaryrefslogtreecommitdiffstats
path: root/apps/plugins
diff options
context:
space:
mode:
authorDave Chapman <dave@dchapman.com>2006-01-12 00:35:50 +0000
committerDave Chapman <dave@dchapman.com>2006-01-12 00:35:50 +0000
commitd83e929f3fc369a5981e1e40e1c5307169a46cfc (patch)
treeac323ca5811374a030a1b65bb77fc7ccc163db04 /apps/plugins
parent8d130684214d23a9163810d1dacc33d108f2338a (diff)
downloadrockbox-d83e929f3fc369a5981e1e40e1c5307169a46cfc.tar.gz
rockbox-d83e929f3fc369a5981e1e40e1c5307169a46cfc.zip
Work-in-progress iriver iFP-7xx port by Tomasz Malesinski
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8342 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/plugins')
-rw-r--r--apps/plugins/Makefile2
-rw-r--r--apps/plugins/SOURCES2
-rw-r--r--apps/plugins/battery_test.c2
-rw-r--r--apps/plugins/chessclock.c10
-rw-r--r--apps/plugins/cube.c12
-rw-r--r--apps/plugins/databox/databox.c3
-rw-r--r--apps/plugins/dict.c2
-rw-r--r--apps/plugins/jewels.c6
-rw-r--r--apps/plugins/logo.c6
-rw-r--r--apps/plugins/metronome.c9
-rw-r--r--apps/plugins/mosaique.c6
-rw-r--r--apps/plugins/plugin.lds14
-rw-r--r--apps/plugins/rockboy/sys_rockbox.c7
-rw-r--r--apps/plugins/snow.c2
-rw-r--r--apps/plugins/stats.c2
-rw-r--r--apps/plugins/stopwatch.c7
-rw-r--r--apps/plugins/viewer.c11
17 files changed, 98 insertions, 5 deletions
diff --git a/apps/plugins/Makefile b/apps/plugins/Makefile
index 98c66c6d46..45fa7a469d 100644
--- a/apps/plugins/Makefile
+++ b/apps/plugins/Makefile
@@ -43,8 +43,10 @@ SUBDIRS += searchengine databox
#for any recorder and iRiver model
ifneq (,$(strip $(foreach tgt,RECORDER IRIVER,$(findstring $(tgt),$(TARGET)))))
+ifneq (-DIRIVER_IFP7XX,$(TARGET))
SUBDIRS += rockboy
endif
+endif
.PHONY: $(SUBDIRS)
diff --git a/apps/plugins/SOURCES b/apps/plugins/SOURCES
index 6742b88218..98ffcc2be8 100644
--- a/apps/plugins/SOURCES
+++ b/apps/plugins/SOURCES
@@ -18,6 +18,7 @@ viewer.c
dict.c
metronome.c
+#ifndef IRIVER_IFP7XX_SERIES /* Temporarily disable plugin building for iFP7xx */
#ifdef HAVE_LCD_BITMAP /* Recorder/Ondio models only */
solitaire.c
#ifndef HAVE_LCD_COLOR
@@ -89,4 +90,5 @@ wav2wv.c
midi2wav.c
#else
splitedit.c
+#endif /* iFP7xx */
#endif
diff --git a/apps/plugins/battery_test.c b/apps/plugins/battery_test.c
index b559ed53af..ac47b001f2 100644
--- a/apps/plugins/battery_test.c
+++ b/apps/plugins/battery_test.c
@@ -39,6 +39,8 @@
#elif (CONFIG_KEYPAD == IRIVER_H100_PAD) || \
(CONFIG_KEYPAD == IRIVER_H300_PAD)
#define BATTERY_TEST_QUIT BUTTON_OFF
+#elif CONFIG_KEYPAD == IRIVER_IFP7XX_PAD
+#define BATTERY_TEST_QUIT BUTTON_PLAY
#elif (CONFIG_KEYPAD == IPOD_4G_PAD)
#define BATTERY_TEST_QUIT BUTTON_MENU
#endif
diff --git a/apps/plugins/chessclock.c b/apps/plugins/chessclock.c
index 3291f3e32e..18ba68014f 100644
--- a/apps/plugins/chessclock.c
+++ b/apps/plugins/chessclock.c
@@ -74,6 +74,16 @@
#define CHC_SETTINGS_OK BUTTON_SELECT
#define CHC_SETTINGS_CANCEL BUTTON_MENU
+#elif CONFIG_KEYPAD == IRIVER_IFP7XX_PAD
+#define CHC_QUIT BUTTON_PLAY
+#define CHC_STARTSTOP BUTTON_MODE
+#define CHC_RESET BUTTON_EQ
+#define CHC_MENU BUTTON_SELECT
+#define CHC_SETTINGS_INC BUTTON_RIGHT
+#define CHC_SETTINGS_DEC BUTTON_LEFT
+#define CHC_SETTINGS_OK BUTTON_SELECT
+#define CHC_SETTINGS_CANCEL BUTTON_PLAY
+
#endif
diff --git a/apps/plugins/cube.c b/apps/plugins/cube.c
index cebc36a016..e71d8b6e4e 100644
--- a/apps/plugins/cube.c
+++ b/apps/plugins/cube.c
@@ -92,6 +92,18 @@
#define CUBE_PAUSE (BUTTON_PLAY | BUTTON_REL)
#define CUBE_HIGHSPEED (BUTTON_SELECT | BUTTON_PLAY)
+#elif CONFIG_KEYPAD == IRIVER_IFP7XX_PAD
+#define CUBE_QUIT BUTTON_PLAY
+#define CUBE_X_INC BUTTON_RIGHT
+#define CUBE_X_DEC BUTTON_LEFT
+#define CUBE_Y_INC BUTTON_UP
+#define CUBE_Y_DEC BUTTON_DOWN
+#define CUBE_Z_INC BUTTON_MODE
+#define CUBE_Z_DEC BUTTON_EQ
+#define CUBE_MODE (BUTTON_SELECT | BUTTON_REPEAT)
+#define CUBE_PAUSE (BUTTON_SELECT | BUTTON_REL)
+#define CUBE_HIGHSPEED (BUTTON_MODE | BUTTON_EQ) /* TODO: this is impossible */
+
#endif
#ifdef HAVE_LCD_BITMAP
diff --git a/apps/plugins/databox/databox.c b/apps/plugins/databox/databox.c
index d9b513c378..ebed139020 100644
--- a/apps/plugins/databox/databox.c
+++ b/apps/plugins/databox/databox.c
@@ -35,6 +35,9 @@
#elif CONFIG_KEYPAD == PLAYER_PAD
#define DBX_SELECT BUTTON_PLAY
#define DBX_STOP BUTTON_STOP
+#elif CONFIG_KEYPAD == IRIVER_IFP7XX_PAD
+#define DBX_SELECT BUTTON_SELECT
+#define DBX_STOP BUTTON_PLAY
#endif
#define MAX_TOKENS 70
diff --git a/apps/plugins/dict.c b/apps/plugins/dict.c
index aea7c44a6c..c432b564f4 100644
--- a/apps/plugins/dict.c
+++ b/apps/plugins/dict.c
@@ -104,6 +104,8 @@ long reverse (long N) {
#define LP_QUIT BUTTON_STOP
#elif (CONFIG_KEYPAD == IPOD_4G_PAD)
#define LP_QUIT BUTTON_MENU
+#elif CONFIG_KEYPAD == IRIVER_IFP7XX_PAD
+#define LP_QUIT BUTTON_PLAY
#else
#define LP_QUIT BUTTON_OFF
#endif
diff --git a/apps/plugins/jewels.c b/apps/plugins/jewels.c
index 739e8141a6..af5a3743c7 100644
--- a/apps/plugins/jewels.c
+++ b/apps/plugins/jewels.c
@@ -81,6 +81,12 @@
#define BEJEWELED_SELECT_PRE BUTTON_SELECT
#define BEJEWELED_RESUME (BUTTON_SELECT|BUTTON_PLAY)
+#elif CONFIG_KEYPAD == IRIVER_IFP7XX_PAD
+#define BEJEWELED_QUIT BUTTON_PLAY
+#define BEJEWELED_START BUTTON_MODE
+#define BEJEWELED_SELECT BUTTON_SELECT
+#define BEJEWELED_RESUME BUTTON_EQ
+
#else
#error BEJEWELED: Unsupported keypad
#endif
diff --git a/apps/plugins/logo.c b/apps/plugins/logo.c
index ba5451410b..9472de9110 100644
--- a/apps/plugins/logo.c
+++ b/apps/plugins/logo.c
@@ -187,6 +187,12 @@ const unsigned char rockbox16x7[] = {
#define LP_INC_X BUTTON_RIGHT
#define LP_DEC_Y BUTTON_SCROLL_BACK
#define LP_INC_Y BUTTON_SCROLL_FWD
+#elif CONFIG_KEYPAD == IRIVER_IFP7XX_PAD
+#define LP_QUIT BUTTON_PLAY
+#define LP_DEC_X BUTTON_LEFT
+#define LP_INC_X BUTTON_RIGHT
+#define LP_DEC_Y BUTTON_DOWN
+#define LP_INC_Y BUTTON_UP
#else
#define LP_QUIT BUTTON_OFF
#define LP_DEC_X BUTTON_LEFT
diff --git a/apps/plugins/metronome.c b/apps/plugins/metronome.c
index c1e156075b..f8c5445542 100644
--- a/apps/plugins/metronome.c
+++ b/apps/plugins/metronome.c
@@ -64,6 +64,15 @@
#define METRONOME_TAP BUTTON_SELECT
#define METRONOME_MSG_START "press play"
#define METRONOME_MSG_STOP "press pause"
+
+#elif (CONFIG_KEYPAD == IRIVER_IFP7XX_PAD)
+#define METRONOME_QUIT BUTTON_MODE
+#define METRONOME_PLAYPAUSE BUTTON_PLAY
+#define METRONOME_VOL_UP BUTTON_UP
+#define METRONOME_VOL_DOWN BUTTON_DOWN
+#define METRONOME_TAP BUTTON_EQ
+#define METRONOME_MSG_START "press play"
+#define METRONOME_MSG_STOP "press pause"
#endif
#if CONFIG_REMOTE_KEYPAD == H100_REMOTE
diff --git a/apps/plugins/mosaique.c b/apps/plugins/mosaique.c
index 0773236140..7a18bc2d42 100644
--- a/apps/plugins/mosaique.c
+++ b/apps/plugins/mosaique.c
@@ -55,6 +55,12 @@
#define MOSAIQUE_QUIT BUTTON_MENU
#define MOSAIQUE_SPEED BUTTON_SELECT
#define MOSAIQUE_RESTART BUTTON_PLAY
+
+#elif CONFIG_KEYPAD == IRIVER_IFP7XX_PAD
+#define MOSAIQUE_QUIT BUTTON_PLAY
+#define MOSAIQUE_SPEED BUTTON_MODE
+#define MOSAIQUE_RESTART BUTTON_SELECT
+
#endif
enum plugin_status plugin_start(struct plugin_api* api, void* parameter)
diff --git a/apps/plugins/plugin.lds b/apps/plugins/plugin.lds
index 84617b9b4e..c8ac88fb62 100644
--- a/apps/plugins/plugin.lds
+++ b/apps/plugins/plugin.lds
@@ -4,7 +4,7 @@
#ifdef CPU_COLDFIRE
OUTPUT_FORMAT(elf32-m68k)
-#elif CONFIG_CPU==PP5020
+#elif defined(CPU_ARM)
OUTPUT_FORMAT(elf32-littlearm)
#else
OUTPUT_FORMAT(elf32-sh)
@@ -32,6 +32,10 @@ OUTPUT_FORMAT(elf32-sh)
#define DRAMORIG 0x10000000
#define IRAMORIG 0x4000c000
#define IRAMSIZE 0xc000
+#elif CONFIG_CPU == PNX0101
+#define DRAMORIG 0x24000000
+#define IRAMORIG 0x408000
+#define IRAMSIZE 0x8000
#else
#define DRAMORIG 0x09000000 + STUBOFFSET
#endif
@@ -53,7 +57,7 @@ OUTPUT_FORMAT(elf32-sh)
MEMORY
{
PLUGIN_RAM : ORIGIN = THIS_ORIGIN, LENGTH = THIS_LENGTH
-#if defined(ARCH_IRIVER) || defined(ARCH_IPOD)
+#if defined(ARCH_IRIVER) || defined(ARCH_IPOD) || (CONFIG_CPU==PNX0101)
PLUGIN_IRAM : ORIGIN = IRAMORIG, LENGTH = IRAMSIZE
#endif
}
@@ -64,7 +68,7 @@ SECTIONS
{
KEEP(*(.entry))
*(.text*)
-#if CONFIG_CPU==PP5020
+#if (CONFIG_CPU==PP5020) || (CONFIG_CPU==PNX0101)
*(.glue_7)
*(.glue_7t)
#endif
@@ -79,7 +83,7 @@ SECTIONS
.data :
{
*(.data*)
-#if defined(ARCH_IRIVER) || defined(ARCH_IPOD)
+#if defined(ARCH_IRIVER) || defined(ARCH_IPOD) || (CONFIG_CPU==PNX0101)
iramcopy = .;
#endif
} > PLUGIN_RAM
@@ -89,7 +93,7 @@ SECTIONS
*(.eh_frame)
}
-#if defined(ARCH_IRIVER) || defined(ARCH_IPOD)
+#if defined(ARCH_IRIVER) || defined(ARCH_IPOD) || (CONFIG_CPU==PNX0101)
.iram IRAMORIG : AT ( iramcopy)
{
iramstart = .;
diff --git a/apps/plugins/rockboy/sys_rockbox.c b/apps/plugins/rockboy/sys_rockbox.c
index b8bb65e6fc..53fe19b199 100644
--- a/apps/plugins/rockboy/sys_rockbox.c
+++ b/apps/plugins/rockboy/sys_rockbox.c
@@ -75,6 +75,13 @@ void joy_close(void)
#define ROCKBOY_PAD_SELECT BUTTON_PLAY
#define ROCKBOY_MENU BUTTON_OFF
+#elif CONFIG_KEYPAD == IRIVER_IFP7XX_PAD
+#define ROCKBOY_PAD_A BUTTON_PLAY
+#define ROCKBOY_PAD_B BUTTON_EQ
+#define ROCKBOY_PAD_START BUTTON_MODE
+#define ROCKBOY_PAD_SELECT (BUTTON_SELECT | BUTTON_REL)
+#define ROCKBOY_MENU (BUTTON_SELECT | BUTTON_REPEAT)
+
#endif
unsigned int oldbuttonstate = 0, newbuttonstate,holdbutton;
diff --git a/apps/plugins/snow.c b/apps/plugins/snow.c
index ec4a240894..7fd0c8a3d6 100644
--- a/apps/plugins/snow.c
+++ b/apps/plugins/snow.c
@@ -36,6 +36,8 @@
#define SNOW_QUIT BUTTON_STOP
#elif (CONFIG_KEYPAD == IPOD_4G_PAD)
#define SNOW_QUIT BUTTON_MENU
+#elif CONFIG_KEYPAD == IRIVER_IFP7XX_PAD
+#define SNOW_QUIT BUTTON_PLAY
#else
#define SNOW_QUIT BUTTON_OFF
#endif
diff --git a/apps/plugins/stats.c b/apps/plugins/stats.c
index 0dfac24c6d..e1b8b6fc21 100644
--- a/apps/plugins/stats.c
+++ b/apps/plugins/stats.c
@@ -30,6 +30,8 @@ static int fontwidth, fontheight;
#define STATS_STOP BUTTON_STOP
#elif (CONFIG_KEYPAD == IPOD_4G_PAD)
#define STATS_STOP BUTTON_MENU
+#elif CONFIG_KEYPAD == IRIVER_IFP7XX_PAD
+#define STATS_STOP BUTTON_PLAY
#else
#define STATS_STOP BUTTON_OFF
#endif
diff --git a/apps/plugins/stopwatch.c b/apps/plugins/stopwatch.c
index 9df064d36f..4a1382ef65 100644
--- a/apps/plugins/stopwatch.c
+++ b/apps/plugins/stopwatch.c
@@ -68,6 +68,13 @@
#define STOPWATCH_LAP_TIMER BUTTON_RIGHT
#define STOPWATCH_SCROLL_UP BUTTON_SCROLL_FWD
#define STOPWATCH_SCROLL_DOWN BUTTON_SCROLL_BACK
+#elif CONFIG_KEYPAD == IRIVER_IFP7XX_PAD
+#define STOPWATCH_QUIT BUTTON_PLAY
+#define STOPWATCH_START_STOP BUTTON_MODE
+#define STOPWATCH_RESET_TIMER BUTTON_EQ
+#define STOPWATCH_LAP_TIMER BUTTON_SELECT
+#define STOPWATCH_SCROLL_UP BUTTON_UP
+#define STOPWATCH_SCROLL_DOWN BUTTON_DOWN
#endif
static struct plugin_api* rb;
diff --git a/apps/plugins/viewer.c b/apps/plugins/viewer.c
index 60438c9dc9..823072e145 100644
--- a/apps/plugins/viewer.c
+++ b/apps/plugins/viewer.c
@@ -131,6 +131,17 @@
#define VIEWER_MODE_PAGE (BUTTON_SELECT | BUTTON_LEFT | BUTTON_MENU)
#define VIEWER_MODE_SCROLLBAR (BUTTON_SELECT | BUTTON_LEFT | BUTTON_RIGHT)
+/* iFP7xx keys */
+#elif CONFIG_KEYPAD == IRIVER_IFP7XX_PAD
+#define VIEWER_QUIT BUTTON_PLAY
+#define VIEWER_PAGE_UP BUTTON_UP
+#define VIEWER_PAGE_DOWN BUTTON_DOWN
+#define VIEWER_SCREEN_LEFT BUTTON_LEFT
+#define VIEWER_SCREEN_RIGHT BUTTON_RIGHT
+#define VIEWER_MODE_WRAP (BUTTON_EQ | BUTTON_REL)
+#define VIEWER_MODE_LINE (BUTTON_EQ | BUTTON_REPEAT)
+#define VIEWER_MODE_WIDTH BUTTON_MODE
+
#endif
enum {