diff options
-rw-r--r-- | apps/bitmaps/native/SOURCES | 2 | ||||
-rw-r--r-- | apps/plugins/SOURCES | 10 | ||||
-rw-r--r-- | bootloader/ipod.c | 4 | ||||
-rw-r--r-- | docs/CREDITS | 1 | ||||
-rw-r--r-- | firmware/backlight.c | 6 | ||||
-rw-r--r-- | firmware/drivers/lcd-ipod.c | 5 | ||||
-rw-r--r-- | firmware/export/config.h | 3 | ||||
-rw-r--r-- | firmware/usb.c | 3 | ||||
-rwxr-xr-x | tools/configure | 24 | ||||
-rw-r--r-- | tools/scramble.c | 4 |
10 files changed, 55 insertions, 7 deletions
diff --git a/apps/bitmaps/native/SOURCES b/apps/bitmaps/native/SOURCES index 4b2ed5a6bb..c83bad5ebd 100644 --- a/apps/bitmaps/native/SOURCES +++ b/apps/bitmaps/native/SOURCES | |||
@@ -3,6 +3,8 @@ | |||
3 | /* Rockbox logo */ | 3 | /* Rockbox logo */ |
4 | #if (LCD_DEPTH == 1) | 4 | #if (LCD_DEPTH == 1) |
5 | rockboxlogo.112x37x1.bmp | 5 | rockboxlogo.112x37x1.bmp |
6 | #elif (LCD_WIDTH == 138) && (LCD_DEPTH == 2) | ||
7 | rockboxlogo.112x37x1.bmp | ||
6 | #elif (LCD_WIDTH == 160) && (LCD_DEPTH == 2) | 8 | #elif (LCD_WIDTH == 160) && (LCD_DEPTH == 2) |
7 | rockboxlogo.160x53x2.bmp | 9 | rockboxlogo.160x53x2.bmp |
8 | #elif (LCD_WIDTH == 160) && (LCD_DEPTH == 16) | 10 | #elif (LCD_WIDTH == 160) && (LCD_DEPTH == 16) |
diff --git a/apps/plugins/SOURCES b/apps/plugins/SOURCES index c8939c6214..ad056630b0 100644 --- a/apps/plugins/SOURCES +++ b/apps/plugins/SOURCES | |||
@@ -33,10 +33,14 @@ mandelbrot.c | |||
33 | #endif | 33 | #endif |
34 | 34 | ||
35 | solitaire.c | 35 | solitaire.c |
36 | #if (LCD_WIDTH != 138) | ||
37 | /* These need adjusting for the Mini's screen */ | ||
36 | bejeweled.c | 38 | bejeweled.c |
39 | #endif | ||
37 | bounce.c | 40 | bounce.c |
38 | /* H300, H100 and iPod Nano/Color/Video only */ | 41 | /* H300, H100 and iPod Nano/Color/Video only */ |
39 | #if ((LCD_WIDTH >= 176) && (LCD_HEIGHT >= 132) && (LCD_DEPTH == 16)) || ((LCD_WIDTH == 160) && (LCD_HEIGHT == 128) && (LCD_DEPTH==2)) | 42 | #if ((LCD_WIDTH >= 176) && (LCD_HEIGHT >= 132) && (LCD_DEPTH == 16)) || \ |
43 | ((LCD_WIDTH == 160) && (LCD_HEIGHT == 128) && (LCD_DEPTH==2)) | ||
40 | brickmania.c | 44 | brickmania.c |
41 | #endif | 45 | #endif |
42 | calculator.c | 46 | calculator.c |
@@ -59,8 +63,8 @@ snake2.c | |||
59 | sokoban.c | 63 | sokoban.c |
60 | star.c | 64 | star.c |
61 | starfield.c | 65 | starfield.c |
62 | #if (LCD_WIDTH != 176) | 66 | #if (LCD_WIDTH != 176) && (LCD_WIDTH != 138) |
63 | /* These need adjusting for the Nano's screen */ | 67 | /* These need adjusting for the iPod Nano and Mini */ |
64 | sudoku.c | 68 | sudoku.c |
65 | #endif | 69 | #endif |
66 | #if CONFIG_LCD == LCD_SSD1815 | 70 | #if CONFIG_LCD == LCD_SSD1815 |
diff --git a/bootloader/ipod.c b/bootloader/ipod.c index 63b7b2207b..2728529dce 100644 --- a/bootloader/ipod.c +++ b/bootloader/ipod.c | |||
@@ -325,6 +325,10 @@ void* main(void) | |||
325 | /* set port B03 on */ | 325 | /* set port B03 on */ |
326 | outl(((0x100 | 1) << 3), 0x6000d824); | 326 | outl(((0x100 | 1) << 3), 0x6000d824); |
327 | 327 | ||
328 | #elif CONFIG_BACKLIGHT==BL_IPODMINI | ||
329 | /* set port B03 on */ | ||
330 | outl(((0x100 | 1) << 3), 0x6000d824); | ||
331 | |||
328 | #elif CONFIG_BACKLIGHT==BL_IPODNANO | 332 | #elif CONFIG_BACKLIGHT==BL_IPODNANO |
329 | 333 | ||
330 | /* set port B03 on */ | 334 | /* set port B03 on */ |
diff --git a/docs/CREDITS b/docs/CREDITS index 4d3e9728a7..447c7ae143 100644 --- a/docs/CREDITS +++ b/docs/CREDITS | |||
@@ -170,3 +170,4 @@ Nikolaj Christensen | |||
170 | Mikael Magnusson | 170 | Mikael Magnusson |
171 | Dominik Wenger | 171 | Dominik Wenger |
172 | Henrico Witvliet | 172 | Henrico Witvliet |
173 | Andrew Scott | ||
diff --git a/firmware/backlight.c b/firmware/backlight.c index daf987791d..0049f78607 100644 --- a/firmware/backlight.c +++ b/firmware/backlight.c | |||
@@ -236,6 +236,9 @@ static void __backlight_on(void) | |||
236 | 236 | ||
237 | /* set port b bit 3 on */ | 237 | /* set port b bit 3 on */ |
238 | outl(((0x100 | 1) << 3), 0x6000d824); | 238 | outl(((0x100 | 1) << 3), 0x6000d824); |
239 | #elif CONFIG_BACKLIGHT==BL_IPODMINI | ||
240 | /* set port B03 on */ | ||
241 | outl(((0x100 | 1) << 3), 0x6000d824); | ||
239 | #elif CONFIG_BACKLIGHT==BL_IPODNANO | 242 | #elif CONFIG_BACKLIGHT==BL_IPODNANO |
240 | /* set port B03 on */ | 243 | /* set port B03 on */ |
241 | outl(((0x100 | 1) << 3), 0x6000d824); | 244 | outl(((0x100 | 1) << 3), 0x6000d824); |
@@ -287,6 +290,9 @@ static void __backlight_off(void) | |||
287 | GPIO3_CLR = 1; | 290 | GPIO3_CLR = 1; |
288 | #elif CONFIG_BACKLIGHT==BL_IPOD3G | 291 | #elif CONFIG_BACKLIGHT==BL_IPOD3G |
289 | lcd_enable(false); | 292 | lcd_enable(false); |
293 | #elif CONFIG_BACKLIGHT==BL_IPODMINI | ||
294 | /* set port B03 off */ | ||
295 | outl(((0x100 | 0) << 3), 0x6000d824); | ||
290 | #endif | 296 | #endif |
291 | } | 297 | } |
292 | 298 | ||
diff --git a/firmware/drivers/lcd-ipod.c b/firmware/drivers/lcd-ipod.c index d1d63b9911..4df47f9f20 100644 --- a/firmware/drivers/lcd-ipod.c +++ b/firmware/drivers/lcd-ipod.c | |||
@@ -105,8 +105,13 @@ static void lcd_cmd_and_data(int cmd, int data_lo, int data_hi) | |||
105 | * LCD init | 105 | * LCD init |
106 | **/ | 106 | **/ |
107 | void lcd_init_device(void){ | 107 | void lcd_init_device(void){ |
108 | #ifdef APPLE_IPODMINI | ||
109 | lcd_cmd_and_data(0x1, 0x0, 0xd); | ||
110 | #else | ||
108 | /* driver output control - 160x128 */ | 111 | /* driver output control - 160x128 */ |
109 | lcd_cmd_and_data(0x1, 0x1, 0xf); | 112 | lcd_cmd_and_data(0x1, 0x1, 0xf); |
113 | #endif | ||
114 | |||
110 | lcd_cmd_and_data(0x5, 0x0, 0x10); | 115 | lcd_cmd_and_data(0x5, 0x0, 0x10); |
111 | 116 | ||
112 | #ifdef APPLE_IPOD4G | 117 | #ifdef APPLE_IPOD4G |
diff --git a/firmware/export/config.h b/firmware/export/config.h index b1cca7b288..0e673cb988 100644 --- a/firmware/export/config.h +++ b/firmware/export/config.h | |||
@@ -98,6 +98,7 @@ | |||
98 | #define BL_IPOD3G 7 /* Apple iPod 3g with dock */ | 98 | #define BL_IPOD3G 7 /* Apple iPod 3g with dock */ |
99 | #define BL_IRIVER_H300 8 /* IRiver PWM */ | 99 | #define BL_IRIVER_H300 8 /* IRiver PWM */ |
100 | #define BL_IRIVER_IFP7XX 9 /* IRiver GPIO */ | 100 | #define BL_IRIVER_IFP7XX 9 /* IRiver GPIO */ |
101 | #define BL_IPODMINI 10 /* Apple iPod Mini */ | ||
101 | 102 | ||
102 | /* CONFIG_I2C */ | 103 | /* CONFIG_I2C */ |
103 | #define I2C_PLAYREC 0 /* Archos Player/Recorder style */ | 104 | #define I2C_PLAYREC 0 /* Archos Player/Recorder style */ |
@@ -159,6 +160,8 @@ | |||
159 | #include "config-ipod4g.h" | 160 | #include "config-ipod4g.h" |
160 | #elif defined(IRIVER_IFP7XX) | 161 | #elif defined(IRIVER_IFP7XX) |
161 | #include "config-ifp7xx.h" | 162 | #include "config-ifp7xx.h" |
163 | #elif defined(IPOD_MINI) | ||
164 | #include "config-ipodmini.h" | ||
162 | #else | 165 | #else |
163 | /* no known platform */ | 166 | /* no known platform */ |
164 | #endif | 167 | #endif |
diff --git a/firmware/usb.c b/firmware/usb.c index 5157eeec63..f98bfa39b1 100644 --- a/firmware/usb.c +++ b/firmware/usb.c | |||
@@ -172,7 +172,8 @@ void usb_enable(bool on) | |||
172 | if (on) | 172 | if (on) |
173 | { | 173 | { |
174 | /* The following code is copied from ipodlinux */ | 174 | /* The following code is copied from ipodlinux */ |
175 | #if defined (APPLE_IPODCOLOR) || defined(APPLE_IPOD3G) || defined(APPLE_IPOD4G) | 175 | #if defined(APPLE_IPODCOLOR) || defined(APPLE_IPOD3G) || \ |
176 | defined(APPLE_IPOD4G) || defined(APPLE_IPODMINI) | ||
176 | unsigned char* storage_ptr = (unsigned char *)0x40017F00; | 177 | unsigned char* storage_ptr = (unsigned char *)0x40017F00; |
177 | #elif defined(APPLE_IPODNANO) || defined(APPLE_IPODVIDEO) | 178 | #elif defined(APPLE_IPODNANO) || defined(APPLE_IPODVIDEO) |
178 | unsigned char* storage_ptr = (unsigned char *)0x4001FF00; | 179 | unsigned char* storage_ptr = (unsigned char *)0x4001FF00; |
diff --git a/tools/configure b/tools/configure index 6ffd640398..9a919b3286 100755 --- a/tools/configure +++ b/tools/configure | |||
@@ -455,7 +455,8 @@ toolsdir='\$(ROOTDIR)/tools' | |||
455 | echo "15 - iPod Video" | 455 | echo "15 - iPod Video" |
456 | echo "16 - iPod 3G" | 456 | echo "16 - iPod 3G" |
457 | echo "17 - iPod 4G (Grayscale)" | 457 | echo "17 - iPod 4G (Grayscale)" |
458 | echo "18 - iriver iFP-790" | 458 | echo "18 - iPod Mini (1G/2G)" |
459 | echo "19 - iriver iFP-790" | ||
459 | 460 | ||
460 | target_id=`input`; | 461 | target_id=`input`; |
461 | 462 | ||
@@ -799,6 +800,25 @@ toolsdir='\$(ROOTDIR)/tools' | |||
799 | ;; | 800 | ;; |
800 | 801 | ||
801 | 18) | 802 | 18) |
803 | archos="ipodmini" | ||
804 | target="-DIPOD_MINI" | ||
805 | memory=32 # always | ||
806 | arm7tdmicc | ||
807 | tool="$rootdir/tools/scramble -add=mini" | ||
808 | bmp2rb_mono="$rootdir/tools/bmp2rb -f 0" | ||
809 | bmp2rb_native="$rootdir/tools/bmp2rb -f 6" | ||
810 | output="rockbox.ipod" | ||
811 | appextra="recorder:gui" | ||
812 | archosrom="" | ||
813 | flash="" | ||
814 | plugins="yes" | ||
815 | codecs="libmad liba52 libffmpegFLAC libTremor libwavpack dumb libmusepack libalac libfaad libm4a" | ||
816 | # toolset is the tools within the tools directory that we build for | ||
817 | # this particular target. | ||
818 | toolset=$ipodbitmaptools | ||
819 | ;; | ||
820 | |||
821 | 19) | ||
802 | archos="ifp7xx" | 822 | archos="ifp7xx" |
803 | target="-DIRIVER_IFP7XX" | 823 | target="-DIRIVER_IFP7XX" |
804 | memory=1 | 824 | memory=1 |
@@ -872,7 +892,7 @@ fi | |||
872 | case $option in | 892 | case $option in |
873 | [Bb]) | 893 | [Bb]) |
874 | case $archos in | 894 | case $archos in |
875 | h100|h120|h300|x5|ipodcolor|ipodnano|ipodvideo|ipod3g|ipod4g) | 895 | h100|h120|h300|x5|ipodcolor|ipodnano|ipodvideo|ipod3g|ipod4g|ipodmini) |
876 | extradefines="-DBOOTLOADER" # for target makefile symbol EXTRA_DEFINES | 896 | extradefines="-DBOOTLOADER" # for target makefile symbol EXTRA_DEFINES |
877 | appsdir='\$(ROOTDIR)/bootloader' | 897 | appsdir='\$(ROOTDIR)/bootloader' |
878 | apps="bootloader" | 898 | apps="bootloader" |
diff --git a/tools/scramble.c b/tools/scramble.c index ee5df56dc7..642080e699 100644 --- a/tools/scramble.c +++ b/tools/scramble.c | |||
@@ -72,7 +72,7 @@ void usage(void) | |||
72 | "\t-iaudio iAudio format\n" | 72 | "\t-iaudio iAudio format\n" |
73 | "\t-add=X Rockbox generic \"add-up\" checksum format\n" | 73 | "\t-add=X Rockbox generic \"add-up\" checksum format\n" |
74 | "\t (X values: h100, h120, h140, h300, ipco, nano, ipvd\n" | 74 | "\t (X values: h100, h120, h140, h300, ipco, nano, ipvd\n" |
75 | "\t ip3g, ip4g)\n" | 75 | "\t ip3g, ip4g, mini)\n" |
76 | "\nNo option results in Archos standard player/recorder format.\n"); | 76 | "\nNo option results in Archos standard player/recorder format.\n"); |
77 | 77 | ||
78 | exit(1); | 78 | exit(1); |
@@ -178,6 +178,8 @@ int main (int argc, char** argv) | |||
178 | modelnum = 7; | 178 | modelnum = 7; |
179 | else if(!strcmp(&argv[1][5], "ip4g")) | 179 | else if(!strcmp(&argv[1][5], "ip4g")) |
180 | modelnum = 8; | 180 | modelnum = 8; |
181 | else if(!strcmp(&argv[1][5], "mini")) | ||
182 | modelnum = 9; | ||
181 | else { | 183 | else { |
182 | fprintf(stderr, "unsupported model: %s\n", &argv[1][5]); | 184 | fprintf(stderr, "unsupported model: %s\n", &argv[1][5]); |
183 | return 2; | 185 | return 2; |