diff options
-rw-r--r-- | rbutil/mkamsboot/dualboot.c | 12 | ||||
-rw-r--r-- | rbutil/mkamsboot/dualboot.h | 1 | ||||
-rw-r--r-- | rbutil/mkamsboot/dualboot/Makefile | 7 | ||||
-rw-r--r-- | rbutil/mkamsboot/dualboot/dualboot.S | 3 | ||||
-rw-r--r-- | rbutil/mkamsboot/mkamsboot.c | 6 |
5 files changed, 25 insertions, 4 deletions
diff --git a/rbutil/mkamsboot/dualboot.c b/rbutil/mkamsboot/dualboot.c index 1eed483c2a..b6ca1b3db5 100644 --- a/rbutil/mkamsboot/dualboot.c +++ b/rbutil/mkamsboot/dualboot.c | |||
@@ -154,3 +154,15 @@ unsigned char dualboot_fuzev2[332] = { | |||
154 | 0x01, 0x00, 0x83, 0xe2, 0x00, 0x20, 0xa0, 0xe3, 0x15, 0xff, 0x2f, 0xe1, 0x14, 0x00, 0x0f, 0xc8, | 154 | 0x01, 0x00, 0x83, 0xe2, 0x00, 0x20, 0xa0, 0xe3, 0x15, 0xff, 0x2f, 0xe1, 0x14, 0x00, 0x0f, 0xc8, |
155 | 0x00, 0x00, 0x0d, 0xc8, 0x10, 0x00, 0x0f, 0xc8, 0x00, 0x00, 0x07, 0xc8 | 155 | 0x00, 0x00, 0x0d, 0xc8, 0x10, 0x00, 0x0f, 0xc8, 0x00, 0x00, 0x07, 0xc8 |
156 | }; | 156 | }; |
157 | unsigned char dualboot_clipzip[152] = { | ||
158 | 0x06, 0x00, 0x00, 0xea, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
159 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
160 | 0x24, 0x00, 0x1f, 0xe5, 0x24, 0x10, 0x1f, 0xe5, 0x01, 0x20, 0x40, 0xe0, 0x18, 0x30, 0x1f, 0xe5, | ||
161 | 0x01, 0x40, 0x50, 0xe4, 0x01, 0x40, 0x43, 0xe4, 0x00, 0x00, 0x52, 0xe1, 0xfb, 0xff, 0xff, 0x1a, | ||
162 | 0x2c, 0x30, 0x0f, 0xe5, 0x48, 0x00, 0x9f, 0xe5, 0x00, 0x10, 0x90, 0xe5, 0x01, 0x18, 0x81, 0xe3, | ||
163 | 0x00, 0x10, 0x80, 0xe5, 0x02, 0x00, 0x00, 0xea, 0x4c, 0x00, 0x1f, 0xe5, 0x4c, 0x10, 0x1f, 0xe5, | ||
164 | 0x01, 0x00, 0x00, 0xea, 0x60, 0x00, 0x1f, 0xe5, 0x60, 0x10, 0x1f, 0xe5, 0x58, 0x30, 0x1f, 0xe5, | ||
165 | 0x02, 0x50, 0x83, 0xe2, 0x01, 0x40, 0x43, 0xe0, 0x01, 0x20, 0x50, 0xe4, 0x01, 0x20, 0x43, 0xe4, | ||
166 | 0x04, 0x00, 0x53, 0xe1, 0xfb, 0xff, 0xff, 0x1a, 0x01, 0x00, 0x83, 0xe2, 0x00, 0x20, 0xa0, 0xe3, | ||
167 | 0x15, 0xff, 0x2f, 0xe1, 0x14, 0x00, 0x0f, 0xc8 | ||
168 | }; | ||
diff --git a/rbutil/mkamsboot/dualboot.h b/rbutil/mkamsboot/dualboot.h index 038d46c389..787aa095f0 100644 --- a/rbutil/mkamsboot/dualboot.h +++ b/rbutil/mkamsboot/dualboot.h | |||
@@ -9,3 +9,4 @@ extern unsigned char dualboot_fuze[176]; | |||
9 | extern unsigned char dualboot_clipv2[248]; | 9 | extern unsigned char dualboot_clipv2[248]; |
10 | extern unsigned char dualboot_clipplus[340]; | 10 | extern unsigned char dualboot_clipplus[340]; |
11 | extern unsigned char dualboot_fuzev2[332]; | 11 | extern unsigned char dualboot_fuzev2[332]; |
12 | extern unsigned char dualboot_clipzip[152]; | ||
diff --git a/rbutil/mkamsboot/dualboot/Makefile b/rbutil/mkamsboot/dualboot/Makefile index e5bca91e21..32e609c8a4 100644 --- a/rbutil/mkamsboot/dualboot/Makefile +++ b/rbutil/mkamsboot/dualboot/Makefile | |||
@@ -4,8 +4,8 @@ CROSS_PREFIX=arm-elf | |||
4 | # adding a new target. mkamsboot.c also needs to be edited to refer to these | 4 | # adding a new target. mkamsboot.c also needs to be edited to refer to these |
5 | # new images. | 5 | # new images. |
6 | 6 | ||
7 | BOOTOBJS = nrv2e_d8.o dualboot_clip.o dualboot_e200v2.o dualboot_c200v2.o dualboot_m200v4.o dualboot_fuze.o dualboot_clipv2.o dualboot_clipplus.o dualboot_fuzev2.o | 7 | BOOTOBJS = nrv2e_d8.o dualboot_clip.o dualboot_e200v2.o dualboot_c200v2.o dualboot_m200v4.o dualboot_fuze.o dualboot_clipv2.o dualboot_clipplus.o dualboot_fuzev2.o dualboot_clipzip.o |
8 | BOOTBINS = nrv2e_d8.arm-bin dualboot_clip.arm-bin dualboot_e200v2.arm-bin dualboot_c200v2.arm-bin dualboot_m200v4.arm-bin dualboot_fuze.arm-bin dualboot_clipv2.arm-bin dualboot_clipplus.arm-bin dualboot_fuzev2.arm-bin | 8 | BOOTBINS = nrv2e_d8.arm-bin dualboot_clip.arm-bin dualboot_e200v2.arm-bin dualboot_c200v2.arm-bin dualboot_m200v4.arm-bin dualboot_fuze.arm-bin dualboot_clipv2.arm-bin dualboot_clipplus.arm-bin dualboot_fuzev2.arm-bin dualboot_clipzip.arm-bin |
9 | 9 | ||
10 | all: ../dualboot.h ../dualboot.c | 10 | all: ../dualboot.h ../dualboot.c |
11 | 11 | ||
@@ -35,6 +35,9 @@ dualboot_clipplus.o: dualboot.S | |||
35 | dualboot_fuzev2.o: dualboot.S | 35 | dualboot_fuzev2.o: dualboot.S |
36 | $(CROSS_PREFIX)-$(CC) -DSANSA_FUZEV2 -c -o dualboot_fuzev2.o dualboot.S | 36 | $(CROSS_PREFIX)-$(CC) -DSANSA_FUZEV2 -c -o dualboot_fuzev2.o dualboot.S |
37 | 37 | ||
38 | dualboot_clipzip.o: dualboot.S | ||
39 | $(CROSS_PREFIX)-$(CC) -DSANSA_CLIPZIP -c -o dualboot_clipzip.o dualboot.S | ||
40 | |||
38 | # Rules for the ucl unpack function | 41 | # Rules for the ucl unpack function |
39 | nrv2e_d8.o: nrv2e_d8.S | 42 | nrv2e_d8.o: nrv2e_d8.S |
40 | $(CROSS_PREFIX)-$(CC) -DPURE_THUMB -c -o nrv2e_d8.o nrv2e_d8.S | 43 | $(CROSS_PREFIX)-$(CC) -DPURE_THUMB -c -o nrv2e_d8.o nrv2e_d8.S |
diff --git a/rbutil/mkamsboot/dualboot/dualboot.S b/rbutil/mkamsboot/dualboot/dualboot.S index bdb872251d..5d8fe1268c 100644 --- a/rbutil/mkamsboot/dualboot/dualboot.S +++ b/rbutil/mkamsboot/dualboot/dualboot.S | |||
@@ -174,6 +174,9 @@ uclcopy: | |||
174 | cmp r2, #0 @ test input from pins | 174 | cmp r2, #0 @ test input from pins |
175 | bne boot_of @ branch directly to OF if either pin high | 175 | bne boot_of @ branch directly to OF if either pin high |
176 | 176 | ||
177 | #elif defined(SANSA_CLIPZIP) | ||
178 | @ just boot the OF | ||
179 | b boot_of | ||
177 | 180 | ||
178 | #elif defined(SANSA_C200V2) | 181 | #elif defined(SANSA_C200V2) |
179 | .set BUTTON_LEFT, (1<< 2) | 182 | .set BUTTON_LEFT, (1<< 2) |
diff --git a/rbutil/mkamsboot/mkamsboot.c b/rbutil/mkamsboot/mkamsboot.c index 2682b7b19b..3e014deb90 100644 --- a/rbutil/mkamsboot/mkamsboot.c +++ b/rbutil/mkamsboot/mkamsboot.c | |||
@@ -122,7 +122,7 @@ const struct ams_models ams_identity[] = { | |||
122 | [MODEL_FUZEV2] = { 2, 2, "Fuze", dualboot_fuzev2, sizeof(dualboot_fuzev2), "fuz2", 68 }, | 122 | [MODEL_FUZEV2] = { 2, 2, "Fuze", dualboot_fuzev2, sizeof(dualboot_fuzev2), "fuz2", 68 }, |
123 | [MODEL_FUZE] = { 1, 1, "Fuze", dualboot_fuze, sizeof(dualboot_fuze), "fuze", 43 }, | 123 | [MODEL_FUZE] = { 1, 1, "Fuze", dualboot_fuze, sizeof(dualboot_fuze), "fuze", 43 }, |
124 | [MODEL_M200V4] = { 4, 1, "m200", dualboot_m200v4, sizeof(dualboot_m200v4), "m2v4", 42 }, | 124 | [MODEL_M200V4] = { 4, 1, "m200", dualboot_m200v4, sizeof(dualboot_m200v4), "m2v4", 42 }, |
125 | [MODEL_CLIPZIP] = { 1, 2, "ClipZip", NULL, 0, "clzp", 79 }, /* TODO */ | 125 | [MODEL_CLIPZIP] = { 1, 2, "ClipZip", dualboot_clipzip, sizeof(dualboot_clipzip), "clzp", 79 }, |
126 | }; | 126 | }; |
127 | 127 | ||
128 | 128 | ||
@@ -170,8 +170,10 @@ static struct md5sums sansasums[] = { | |||
170 | { MODEL_FUZEV2, "2.02.26", "d4f6f85c3e4a8ea8f2e5acc421641801" }, | 170 | { MODEL_FUZEV2, "2.02.26", "d4f6f85c3e4a8ea8f2e5acc421641801" }, |
171 | { MODEL_FUZEV2, "2.03.31", "74fb197ccd51707388f3b233402186a6" }, | 171 | { MODEL_FUZEV2, "2.03.31", "74fb197ccd51707388f3b233402186a6" }, |
172 | { MODEL_FUZEV2, "2.03.33", "1599cc73d02ea7fe53fe2d4379c24b66" }, | 172 | { MODEL_FUZEV2, "2.03.33", "1599cc73d02ea7fe53fe2d4379c24b66" }, |
173 | 173 | #if 0 /* disabled for now because it's not been proven they can be patched */ | |
174 | { MODEL_CLIPZIP, "1.01.12", "45adea0873326b5af34f096e5c402f78" }, | 174 | { MODEL_CLIPZIP, "1.01.12", "45adea0873326b5af34f096e5c402f78" }, |
175 | { MODEL_CLIPZIP, "1.01.15", "f62af954334cd9ba1a87a7fa58ec6074" }, | ||
176 | #endif | ||
175 | }; | 177 | }; |
176 | 178 | ||
177 | #define NUM_MD5S (sizeof(sansasums)/sizeof(sansasums[0])) | 179 | #define NUM_MD5S (sizeof(sansasums)/sizeof(sansasums[0])) |