summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--apps/bitmaps/native/SOURCES2
-rw-r--r--apps/plugins/SOURCES10
-rw-r--r--bootloader/ipod.c4
-rw-r--r--docs/CREDITS1
-rw-r--r--firmware/backlight.c6
-rw-r--r--firmware/drivers/lcd-ipod.c5
-rw-r--r--firmware/export/config.h3
-rw-r--r--firmware/usb.c3
-rwxr-xr-xtools/configure24
-rw-r--r--tools/scramble.c4
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)
5rockboxlogo.112x37x1.bmp 5rockboxlogo.112x37x1.bmp
6#elif (LCD_WIDTH == 138) && (LCD_DEPTH == 2)
7rockboxlogo.112x37x1.bmp
6#elif (LCD_WIDTH == 160) && (LCD_DEPTH == 2) 8#elif (LCD_WIDTH == 160) && (LCD_DEPTH == 2)
7rockboxlogo.160x53x2.bmp 9rockboxlogo.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
35solitaire.c 35solitaire.c
36#if (LCD_WIDTH != 138)
37/* These need adjusting for the Mini's screen */
36bejeweled.c 38bejeweled.c
39#endif
37bounce.c 40bounce.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))
40brickmania.c 44brickmania.c
41#endif 45#endif
42calculator.c 46calculator.c
@@ -59,8 +63,8 @@ snake2.c
59sokoban.c 63sokoban.c
60star.c 64star.c
61starfield.c 65starfield.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 */
64sudoku.c 68sudoku.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
170Mikael Magnusson 170Mikael Magnusson
171Dominik Wenger 171Dominik Wenger
172Henrico Witvliet 172Henrico Witvliet
173Andrew 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 **/
107void lcd_init_device(void){ 107void 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;