From d83e929f3fc369a5981e1e40e1c5307169a46cfc Mon Sep 17 00:00:00 2001 From: Dave Chapman Date: Thu, 12 Jan 2006 00:35:50 +0000 Subject: 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 --- apps/plugins/Makefile | 2 ++ apps/plugins/SOURCES | 2 ++ apps/plugins/battery_test.c | 2 ++ apps/plugins/chessclock.c | 10 ++++++++++ apps/plugins/cube.c | 12 ++++++++++++ apps/plugins/databox/databox.c | 3 +++ apps/plugins/dict.c | 2 ++ apps/plugins/jewels.c | 6 ++++++ apps/plugins/logo.c | 6 ++++++ apps/plugins/metronome.c | 9 +++++++++ apps/plugins/mosaique.c | 6 ++++++ apps/plugins/plugin.lds | 14 +++++++++----- apps/plugins/rockboy/sys_rockbox.c | 7 +++++++ apps/plugins/snow.c | 2 ++ apps/plugins/stats.c | 2 ++ apps/plugins/stopwatch.c | 7 +++++++ apps/plugins/viewer.c | 11 +++++++++++ 17 files changed, 98 insertions(+), 5 deletions(-) (limited to 'apps/plugins') 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 { -- cgit v1.2.3