summaryrefslogtreecommitdiff
path: root/apps/plugins
diff options
context:
space:
mode:
Diffstat (limited to 'apps/plugins')
-rw-r--r--apps/plugins/Makefile5
-rw-r--r--apps/plugins/rockboy/menu.c32
-rw-r--r--apps/plugins/rockboy/rockboy.c7
-rw-r--r--apps/plugins/rockboy/rockmacros.h5
-rw-r--r--apps/plugins/rockboy/sound.h5
-rw-r--r--apps/plugins/rockboy/sys_rockbox.c38
6 files changed, 71 insertions, 21 deletions
diff --git a/apps/plugins/Makefile b/apps/plugins/Makefile
index 8464e93586..bb2f7bd194 100644
--- a/apps/plugins/Makefile
+++ b/apps/plugins/Makefile
@@ -41,8 +41,8 @@ DIRS = .
41#for all targets 41#for all targets
42SUBDIRS += searchengine databox 42SUBDIRS += searchengine databox
43 43
44#for any recorder and iRiver model 44#for any recorder, iRiver or iPod model
45ifneq (,$(strip $(foreach tgt,RECORDER IRIVER,$(findstring $(tgt),$(TARGET))))) 45ifneq (,$(strip $(foreach tgt,RECORDER IRIVER IPOD_COLOR IPOD_VIDEO,$(findstring $(tgt),$(TARGET)))))
46ifneq (-DIRIVER_IFP7XX,$(TARGET)) 46ifneq (-DIRIVER_IFP7XX,$(TARGET))
47 SUBDIRS += rockboy 47 SUBDIRS += rockboy
48endif 48endif
@@ -148,6 +148,7 @@ clean:
148 $(BUILDDIR)/credits.raw $(OBJS) $(DEFS) 148 $(BUILDDIR)/credits.raw $(OBJS) $(DEFS)
149 @$(MAKE) -C lib clean OBJDIR=$(OBJDIR)/lib 149 @$(MAKE) -C lib clean OBJDIR=$(OBJDIR)/lib
150 @$(MAKE) -C rockboy clean OBJDIR=$(OBJDIR)/rockboy 150 @$(MAKE) -C rockboy clean OBJDIR=$(OBJDIR)/rockboy
151 @$(MAKE) -C mpeg2 clean OBJDIR=$(OBJDIR)/mpeg2
151 @$(MAKE) -C searchengine clean OBJDIR=$(OBJDIR)/searchengine 152 @$(MAKE) -C searchengine clean OBJDIR=$(OBJDIR)/searchengine
152 153
153-include $(DEPFILE) 154-include $(DEPFILE)
diff --git a/apps/plugins/rockboy/menu.c b/apps/plugins/rockboy/menu.c
index a22aef46f8..84bfeaa3cb 100644
--- a/apps/plugins/rockboy/menu.c
+++ b/apps/plugins/rockboy/menu.c
@@ -10,6 +10,20 @@
10#include "rockmacros.h" 10#include "rockmacros.h"
11#include "mem.h" 11#include "mem.h"
12 12
13#if (CONFIG_KEYPAD == IPOD_4G_PAD)
14#define MENU_BUTTON_UP BUTTON_SCROLL_BACK
15#define MENU_BUTTON_DOWN BUTTON_SCROLL_FWD
16#define MENU_BUTTON_LEFT BUTTON_LEFT
17#define MENU_BUTTON_RIGHT BUTTON_RIGHT
18#define MENU_BUTTON_CANCEL BUTTON_MENU
19#else
20#define MENU_BUTTON_UP BUTTON_UP
21#define MENU_BUTTON_DOWN BUTTON_DOWN
22#define MENU_BUTTON_LEFT BUTTON_LEFT
23#define MENU_BUTTON_RIGHT BUTTON_RIGHT
24#define MENU_BUTTON_CANCEL BUTTON_OFF
25#endif
26
13/* load/save state function declarations */ 27/* load/save state function declarations */
14static void do_slot_menu(bool is_load); 28static void do_slot_menu(bool is_load);
15static void do_opt_menu(void); 29static void do_opt_menu(void);
@@ -115,10 +129,10 @@ int getbutton(char *text)
115 button = rb->button_get(true); 129 button = rb->button_get(true);
116 button=button&0x00000FFF; 130 button=button&0x00000FFF;
117 switch(button) { 131 switch(button) {
118 case BUTTON_LEFT: 132 case MENU_BUTTON_LEFT:
119 case BUTTON_RIGHT: 133 case MENU_BUTTON_RIGHT:
120 case BUTTON_UP: 134 case MENU_BUTTON_UP:
121 case BUTTON_DOWN: 135 case MENU_BUTTON_DOWN:
122 break; 136 break;
123 default: 137 default:
124 return button; 138 return button;
@@ -581,7 +595,7 @@ static int do_menu(char *title, char **items, size_t num_items, int sel) {
581 595
582 /* handle the button */ 596 /* handle the button */
583 switch (btn) { 597 switch (btn) {
584 case BUTTON_DOWN: 598 case MENU_BUTTON_DOWN:
585 /* select next item in list */ 599 /* select next item in list */
586 sel_item = curr_item + 1; 600 sel_item = curr_item + 1;
587 if (sel_item >= (int) num_items) 601 if (sel_item >= (int) num_items)
@@ -589,7 +603,7 @@ static int do_menu(char *title, char **items, size_t num_items, int sel) {
589 select_item(title, curr_item, sel_item); 603 select_item(title, curr_item, sel_item);
590 curr_item = sel_item; 604 curr_item = sel_item;
591 break; 605 break;
592 case BUTTON_UP: 606 case MENU_BUTTON_UP:
593 /* select prev item in list */ 607 /* select prev item in list */
594 sel_item = curr_item - 1; 608 sel_item = curr_item - 1;
595 if (sel_item < 0) 609 if (sel_item < 0)
@@ -597,13 +611,13 @@ static int do_menu(char *title, char **items, size_t num_items, int sel) {
597 select_item(title, curr_item, sel_item); 611 select_item(title, curr_item, sel_item);
598 curr_item = sel_item; 612 curr_item = sel_item;
599 break; 613 break;
600 case BUTTON_RIGHT: 614 case MENU_BUTTON_RIGHT:
601 /* select current item */ 615 /* select current item */
602 ret = curr_item; 616 ret = curr_item;
603 done = true; 617 done = true;
604 break; 618 break;
605 case BUTTON_LEFT: 619 case MENU_BUTTON_LEFT:
606 case BUTTON_OFF: 620 case MENU_BUTTON_CANCEL:
607 /* cancel out of menu */ 621 /* cancel out of menu */
608 ret = MENU_CANCEL; 622 ret = MENU_CANCEL;
609 done = true; 623 done = true;
diff --git a/apps/plugins/rockboy/rockboy.c b/apps/plugins/rockboy/rockboy.c
index f6dea0eeea..da1017748f 100644
--- a/apps/plugins/rockboy/rockboy.c
+++ b/apps/plugins/rockboy/rockboy.c
@@ -113,6 +113,13 @@ void setoptions (void) {
113 options.SELECT=BUTTON_PLAY; 113 options.SELECT=BUTTON_PLAY;
114 options.MENU=BUTTON_OFF; 114 options.MENU=BUTTON_OFF;
115 115
116#elif CONFIG_KEYPAD == IPOD_4G_PAD
117 options.A=BUTTON_NONE;
118 options.B=BUTTON_NONE;
119 options.START=BUTTON_SELECT;
120 options.SELECT=BUTTON_NONE;
121 options.MENU=(BUTTON_SELECT | BUTTON_REPEAT);
122
116#elif CONFIG_KEYPAD == IRIVER_IFP7XX_PAD 123#elif CONFIG_KEYPAD == IRIVER_IFP7XX_PAD
117 options.A=BUTTON_PLAY; 124 options.A=BUTTON_PLAY;
118 options.B=BUTTON_EQ; 125 options.B=BUTTON_EQ;
diff --git a/apps/plugins/rockboy/rockmacros.h b/apps/plugins/rockboy/rockmacros.h
index 2d33b968ea..cefa0ad787 100644
--- a/apps/plugins/rockboy/rockmacros.h
+++ b/apps/plugins/rockboy/rockmacros.h
@@ -47,6 +47,11 @@ void loadstate(int fd);
47void savestate(int fd); 47void savestate(int fd);
48#define USER_MENU_QUIT -2 48#define USER_MENU_QUIT -2
49 49
50/* Disable ICODE for the ARMs */
51#ifdef CPU_ARM
52#undef ICODE_ATTR
53#define ICODE_ATTR
54#endif
50 55
51/* libc functions */ 56/* libc functions */
52#define isdigit(c) ((c) >= '0' && (c) <= '9') 57#define isdigit(c) ((c) >= '0' && (c) <= '9')
diff --git a/apps/plugins/rockboy/sound.h b/apps/plugins/rockboy/sound.h
index 18fb371580..682e6c1e94 100644
--- a/apps/plugins/rockboy/sound.h
+++ b/apps/plugins/rockboy/sound.h
@@ -27,6 +27,11 @@ struct snd
27 27
28extern struct snd snd; 28extern struct snd snd;
29 29
30#if defined(ICODE_ATTR) && defined(CPU_ARM)
31#undef ICODE_ATTR
32#define ICODE_ATTR
33#endif
34
30byte sound_read(byte r) ICODE_ATTR; 35byte sound_read(byte r) ICODE_ATTR;
31void sound_write(byte r, byte b)ICODE_ATTR; 36void sound_write(byte r, byte b)ICODE_ATTR;
32void sound_dirty(void)ICODE_ATTR; 37void sound_dirty(void)ICODE_ATTR;
diff --git a/apps/plugins/rockboy/sys_rockbox.c b/apps/plugins/rockboy/sys_rockbox.c
index 578a864ca0..077727352d 100644
--- a/apps/plugins/rockboy/sys_rockbox.c
+++ b/apps/plugins/rockboy/sys_rockbox.c
@@ -25,6 +25,22 @@
25#include "hw.h" 25#include "hw.h"
26#include "config.h" 26#include "config.h"
27 27
28#if (CONFIG_KEYPAD == IPOD_4G_PAD)
29
30#define ROCKBOY_PAD_LEFT BUTTON_LEFT
31#define ROCKBOY_PAD_RIGHT BUTTON_RIGHT
32#define ROCKBOY_PAD_UP BUTTON_MENU
33#define ROCKBOY_PAD_DOWN BUTTON_PLAY
34
35#else
36
37#define ROCKBOY_PAD_LEFT BUTTON_LEFT
38#define ROCKBOY_PAD_RIGHT BUTTON_RIGHT
39#define ROCKBOY_PAD_UP BUTTON_UP
40#define ROCKBOY_PAD_DOWN BUTTON_DOWN
41
42#endif
43
28rcvar_t joy_exports[] = 44rcvar_t joy_exports[] =
29{ 45{
30 RCV_END 46 RCV_END
@@ -73,10 +89,10 @@ void ev_poll(void)
73#endif 89#endif
74 if(released) { 90 if(released) {
75 ev.type = EV_RELEASE; 91 ev.type = EV_RELEASE;
76 if(released & BUTTON_LEFT) { ev.code=PAD_LEFT; ev_postevent(&ev); } 92 if(released & ROCKBOY_PAD_LEFT) { ev.code=PAD_LEFT; ev_postevent(&ev); }
77 if(released & BUTTON_RIGHT) {ev.code=PAD_RIGHT; ev_postevent(&ev);} 93 if(released & ROCKBOY_PAD_RIGHT) {ev.code=PAD_RIGHT; ev_postevent(&ev);}
78 if(released & BUTTON_DOWN) { ev.code=PAD_DOWN; ev_postevent(&ev); } 94 if(released & ROCKBOY_PAD_DOWN) { ev.code=PAD_DOWN; ev_postevent(&ev); }
79 if(released & BUTTON_UP) { ev.code=PAD_UP; ev_postevent(&ev); } 95 if(released & ROCKBOY_PAD_UP) { ev.code=PAD_UP; ev_postevent(&ev); }
80 if(released & options.A) { ev.code=PAD_A; ev_postevent(&ev); } 96 if(released & options.A) { ev.code=PAD_A; ev_postevent(&ev); }
81 if(released & options.B) { ev.code=PAD_B; ev_postevent(&ev); } 97 if(released & options.B) { ev.code=PAD_B; ev_postevent(&ev); }
82 if(released & options.START) { 98 if(released & options.START) {
@@ -90,10 +106,10 @@ void ev_poll(void)
90 } 106 }
91 if(pressed) { /* button press */ 107 if(pressed) { /* button press */
92 ev.type = EV_PRESS; 108 ev.type = EV_PRESS;
93 if(pressed & BUTTON_LEFT) { ev.code=PAD_LEFT; ev_postevent(&ev); } 109 if(pressed & ROCKBOY_PAD_LEFT) { ev.code=PAD_LEFT; ev_postevent(&ev); }
94 if(pressed & BUTTON_RIGHT) { ev.code=PAD_RIGHT; ev_postevent(&ev);} 110 if(pressed & ROCKBOY_PAD_RIGHT) { ev.code=PAD_RIGHT; ev_postevent(&ev);}
95 if(pressed & BUTTON_DOWN) { ev.code=PAD_DOWN; ev_postevent(&ev); } 111 if(pressed & ROCKBOY_PAD_DOWN) { ev.code=PAD_DOWN; ev_postevent(&ev); }
96 if(pressed & BUTTON_UP) { ev.code=PAD_UP; ev_postevent(&ev); } 112 if(pressed & ROCKBOY_PAD_UP) { ev.code=PAD_UP; ev_postevent(&ev); }
97 if(pressed & options.A) { ev.code=PAD_A; ev_postevent(&ev); } 113 if(pressed & options.A) { ev.code=PAD_A; ev_postevent(&ev); }
98 if(pressed & options.B) { ev.code=PAD_B; ev_postevent(&ev); } 114 if(pressed & options.B) { ev.code=PAD_B; ev_postevent(&ev); }
99 if(pressed & options.START) { 115 if(pressed & options.START) {
@@ -105,7 +121,9 @@ void ev_poll(void)
105 ev_postevent(&ev); 121 ev_postevent(&ev);
106 } 122 }
107 if(pressed & options.MENU) { 123 if(pressed & options.MENU) {
108#if (CONFIG_KEYPAD == IRIVER_H100_PAD) || (CONFIG_KEYPAD == IRIVER_H300_PAD) 124#if (CONFIG_KEYPAD == IRIVER_H100_PAD) || \
125 (CONFIG_KEYPAD == IRIVER_H300_PAD) || \
126 (CONFIG_KEYPAD == IPOD_4G_PAD)
109 if (do_user_menu() == USER_MENU_QUIT) 127 if (do_user_menu() == USER_MENU_QUIT)
110#endif 128#endif
111 { 129 {
@@ -264,7 +282,7 @@ void vid_update(int scanline)
264 cnt++; 282 cnt++;
265 } 283 }
266 rb->lcd_update_rect(0, scanline & ~3, LCD_WIDTH, 4); 284 rb->lcd_update_rect(0, scanline & ~3, LCD_WIDTH, 4);
267#elif (LCD_HEIGHT >= 144) && defined(HAVE_LCD_COLOR) /* iriver H3x0, colour iPod */ 285#elif defined(HAVE_LCD_COLOR) /* iriver H3x0, colour iPod */
268 // handled in lcd.c now 286 // handled in lcd.c now
269#endif /* LCD_HEIGHT */ 287#endif /* LCD_HEIGHT */
270} 288}