1
0
Fork 0
forked from len0rd/rockbox

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
This commit is contained in:
Dave Chapman 2006-01-12 00:35:50 +00:00
parent 8d13068421
commit d83e929f3f
52 changed files with 737 additions and 18 deletions

View file

@ -38,6 +38,11 @@
#define BOOKMARK_DELETE (BUTTON_RIGHT | BUTTON_REPEAT)
#define BOOKMARK_DOWN BUTTON_SCROLL_FWD
#elif CONFIG_KEYPAD == IRIVER_IFP7XX_PAD
#define BOOKMARK_SELECT BUTTON_SELECT
#define BOOKMARK_DELETE (BUTTON_PLAY | BUTTON_SELECT)
#define BOOKMARK_DOWN BUTTON_DOWN
#else /* player, recorder, gmini */
#define BOOKMARK_SELECT BUTTON_PLAY
#define BOOKMARK_DELETE (BUTTON_ON | BUTTON_PLAY)

View file

@ -7,6 +7,8 @@ a52.c
mpc.c
wavpack.c
alac.c
#if MEMORYSIZE > 1
aac.c
#endif
shorten.c
#endif

View file

@ -359,6 +359,12 @@ bool dbg_flash_id(unsigned* p_manufacturer, unsigned* p_device,
(void)p_device;
(void)addr1;
(void)addr2;
#elif CONFIG_CPU == PNX0101
/* TODO: Implement for iFP7xx */
(void)p_manufacturer;
(void)p_device;
(void)addr1;
(void)addr2;
#else
unsigned not_manu, not_id; /* read values before switching to ID mode */
unsigned manu, id; /* read values when in ID mode */

View file

@ -191,6 +191,25 @@
#define WPS_EXIT (BUTTON_PLAY | BUTTON_REPEAT)
#define WPS_CONTEXT (BUTTON_SELECT | BUTTON_REPEAT)
#elif CONFIG_KEYPAD == IRIVER_IFP7XX_PAD
/* TODO: Check WPS button assignments */
#define WPS_NEXT (BUTTON_RIGHT | BUTTON_REL)
#define WPS_NEXT_PRE BUTTON_RIGHT
#define WPS_PREV (BUTTON_LEFT | BUTTON_REL)
#define WPS_PREV_PRE BUTTON_LEFT
#define WPS_FFWD (BUTTON_RIGHT | BUTTON_REPEAT)
#define WPS_REW (BUTTON_LEFT | BUTTON_REPEAT)
#define WPS_INCVOL BUTTON_UP
#define WPS_DECVOL BUTTON_DOWN
#define WPS_PAUSE BUTTON_PLAY
/* #define WPS_MENU iFP7xx can't have both main menu and context menu in wps */
#define WPS_BROWSE (BUTTON_SELECT | BUTTON_REL)
#define WPS_BROWSE_PRE BUTTON_SELECT
#define WPS_EXIT (BUTTON_PLAY | BUTTON_REPEAT)
#define WPS_CONTEXT (BUTTON_SELECT | BUTTON_REPEAT)
#endif
/* constants used in line_type and as refresh_mode for wps_refresh */

View file

@ -69,6 +69,10 @@
#define LIST_NEXT BUTTON_SCROLL_FWD
#define LIST_PREV BUTTON_SCROLL_BACK
#elif CONFIG_KEYPAD == IRIVER_IFP7XX_PAD
#define LIST_NEXT BUTTON_DOWN
#define LIST_PREV BUTTON_UP
#elif CONFIG_KEYPAD == GMINI100_PAD
#define LIST_NEXT BUTTON_DOWN
#define LIST_PREV BUTTON_UP

View file

@ -61,6 +61,14 @@
#define SELECT_OK2 BUTTON_RIGHT
#define SELECT_CANCEL BUTTON_MENU
#elif CONFIG_KEYPAD == IRIVER_IFP7XX_PAD
#define SELECT_INC BUTTON_UP
#define SELECT_DEC BUTTON_DOWN
#define SELECT_OK BUTTON_RIGHT
#define SELECT_OK2 BUTTON_LEFT
#define SELECT_CANCEL BUTTON_PLAY
#define SELECT_CANCEL2 BUTTON_MODE
#elif CONFIG_KEYPAD == ONDIO_PAD
#define SELECT_INC BUTTON_UP
#define SELECT_DEC BUTTON_DOWN

View file

@ -25,6 +25,9 @@
#elif (CONFIG_KEYPAD == IPOD_4G_PAD)
#define YESNO_OK BUTTON_RIGHT
#elif (CONFIG_KEYPAD == IRIVER_IFP7XX_PAD)
#define YESNO_OK BUTTON_RIGHT
#endif
enum yesno_res
{

View file

@ -78,6 +78,14 @@
#define MENU_EXIT_MENU BUTTON_MENU
#define MENU_ENTER BUTTON_RIGHT
#elif CONFIG_KEYPAD == IRIVER_IFP7XX_PAD
#define MENU_NEXT BUTTON_DOWN
#define MENU_PREV BUTTON_UP
#define MENU_EXIT BUTTON_LEFT
#define MENU_EXIT_MENU BUTTON_PLAY
#define MENU_ENTER BUTTON_RIGHT
#endif
struct menu_item {

View file

@ -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)

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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)

View file

@ -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 = .;

View file

@ -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;

View file

@ -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

View file

@ -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

View file

@ -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;

View file

@ -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 {

View file

@ -114,6 +114,20 @@
#define KBD_UP BUTTON_SCROLL_BACK
#define KBD_DOWN BUTTON_SCROLL_FWD
#elif CONFIG_KEYPAD == IRIVER_IFP7XX_PAD
/* TODO: Check keyboard mappings */
#define KBD_MODES /* iFP7xx uses 2 modes, picker and line edit */
#define KBD_SELECT (BUTTON_SELECT | BUTTON_REL) /* backspace in line edit */
#define KBD_SELECT_PRE BUTTON_SELECT
#define KBD_DONE BUTTON_MODE
#define KBD_ABORT BUTTON_PLAY
#define KBD_LEFT BUTTON_LEFT
#define KBD_RIGHT BUTTON_RIGHT
#define KBD_UP BUTTON_UP
#define KBD_DOWN BUTTON_DOWN
#endif
#if KEYBOARD_PAGES == 1

View file

@ -101,6 +101,12 @@
#define SETTINGS_NEXT BUTTON_RIGHT
#define SETTINGS_ACCEPT BUTTON_PLAY
#elif CONFIG_KEYPAD == IRIVER_IFP7XX_PAD
#define SETTINGS_INC BUTTON_RIGHT
#define SETTINGS_DEC BUTTON_LEFT
#define SETTINGS_OK BUTTON_SELECT
#define SETTINGS_CANCEL BUTTON_PLAY
#endif
/* data structures */

View file

@ -150,6 +150,20 @@
#define TREE_WPS_PRE BUTTON_MENU
#define TREE_CONTEXT (BUTTON_SELECT | BUTTON_REPEAT)
#elif CONFIG_KEYPAD == IRIVER_IFP7XX_PAD
#define TREE_NEXT BUTTON_DOWN
#define TREE_PREV BUTTON_UP
#define TREE_EXIT BUTTON_LEFT
#define TREE_ABORT BUTTON_PLAY
#define TREE_RUN (BUTTON_RIGHT | BUTTON_REL)
#define TREE_RUN_PRE BUTTON_RIGHT
#define TREE_MENU (BUTTON_SELECT | BUTTON_REPEAT)
#define TREE_MENU_PRE BUTTON_SELECT
#define TREE_WPS (BUTTON_SELECT | BUTTON_REL)
#define TREE_WPS_PRE BUTTON_SELECT
#define TREE_CONTEXT (BUTTON_RIGHT | BUTTON_REPEAT)
#define TREE_POWER_BTN (BUTTON_PLAY | BUTTON_REPEAT)
#endif
struct entry {