summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--firmware/target/arm/crt0-pp.S5
-rwxr-xr-xtools/configure61
2 files changed, 41 insertions, 25 deletions
diff --git a/firmware/target/arm/crt0-pp.S b/firmware/target/arm/crt0-pp.S
index 362d736b49..41a0495861 100644
--- a/firmware/target/arm/crt0-pp.S
+++ b/firmware/target/arm/crt0-pp.S
@@ -88,7 +88,12 @@ pad_skip:
ldr r3, =0x3f84 /* r3 and r1 values here are magic, don't touch */
orr r3, r3, r5 /* adjust for execute address */
ldr r2, =0xf000f014
+#if MEM > 32
+ mov r1, #0x7400 /* r1 appears to indicate how much memory (not in
+ bytes) is remapped */
+#else
mov r1, #0x3a00
+#endif
ldr r0, =0xf000f010
mov pc, #0x40000000
diff --git a/tools/configure b/tools/configure
index a507fdd31a..5626cb1619 100755
--- a/tools/configure
+++ b/tools/configure
@@ -550,6 +550,8 @@ EOF
# have to be the menu number. Just use the currently highest
# number+1 when you add a new target.
# archos: short model name used all over to identify this target
+ # memory: number of megabytes of RAM this target has. If the amount can
+ # be selected by the size prompt, let memory be unset here
# target: -Ddefine passed to the build commands to make the correct
# config-*.h file get included etc
# tool: the tool that takes a plain binary and converts that into a
@@ -582,7 +584,6 @@ EOF
target_id=1
archos="player"
target="-DARCHOS_PLAYER"
- memory="2"
shcc
tool="$rootdir/tools/scramble"
output="archos.mod"
@@ -609,7 +610,6 @@ EOF
target_id=2
archos="recorder"
target="-DARCHOS_RECORDER"
- memory="2"
shcc
tool="$rootdir/tools/scramble"
bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
@@ -632,7 +632,6 @@ EOF
target_id=3
archos="fmrecorder"
target="-DARCHOS_FMRECORDER"
- memory="2"
shcc
tool="$rootdir/tools/scramble -fm"
bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
@@ -655,7 +654,6 @@ EOF
target_id=4
archos="recorderv2"
target="-DARCHOS_RECORDERV2"
- memory="2"
shcc
tool="$rootdir/tools/scramble -v2"
bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
@@ -678,7 +676,6 @@ EOF
target_id=7
archos="ondiosp"
target="-DARCHOS_ONDIOSP"
- memory="2"
shcc
tool="$rootdir/tools/scramble -osp"
bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
@@ -701,7 +698,6 @@ EOF
target_id=8
archos="ondiofm"
target="-DARCHOS_ONDIOFM"
- memory="2"
shcc
tool="$rootdir/tools/scramble -ofm"
bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
@@ -923,7 +919,6 @@ EOF
target_id=15
archos="ipodvideo"
target="-DIPOD_VIDEO"
- memory=32 # 30GB models have 32MB, 60GB have 64MB
arm7tdmicc
tool="$rootdir/tools/scramble -add=ipvd"
bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
@@ -1236,26 +1231,42 @@ EOF
#remove start
############################################################################
-# Amount of memory, for those that can differ.
+# Amount of memory, for those that can differ. They have $memory unset at
+# this point.
#
-if [ "$memory" = "2" ]; then
- size="2"
- if [ -z "$update" ]; then
- echo "Enter size of your RAM (in MB): (defaults to 2)"
- size=`input`;
- fi
-
- case $size in
- 8)
- memory="8"
- ;;
- *)
- memory="2"
- ;;
-
- esac
- echo "Memory size selected: $memory MB"
+echo "$memory memory!"
+if [ -z "$memory" ]; then
+
+ case $target_id in
+ 15)
+ echo "Enter size of your RAM (in MB): (Defaults to 32)"
+ size=`input`;
+ case $size in
+ 60|64)
+ memory="64"
+ ;;
+ *)
+ memory="32"
+ ;;
+ esac
+ ;;
+
+ *)
+ echo "Enter size of your RAM (in MB): (defaults to 2)"
+ size=`input`;
+ case $size in
+ 8)
+ memory="8"
+ ;;
+ *)
+ memory="2"
+ ;;
+ esac
+ ;;
+ esac
+
+ echo "Memory size selected: $memory MB"
fi
#remove end