Various lower limits and sizes for targets with 1MB of RAM (Iriver iFP7xx).


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10556 a1c6a512-1295-4272-9138-f99709370657
diff --git a/apps/pcmbuf.c b/apps/pcmbuf.c
index 2075fc6..eb8b2a3 100644
--- a/apps/pcmbuf.c
+++ b/apps/pcmbuf.c
@@ -740,7 +740,11 @@
     {
         pcmbuf_boost(true);
         /* Pre-buffer 1s. */
+#if MEMORYSIZE <= 1
+        if (!LOW_DATA(1))
+#else
         if (!LOW_DATA(4))
+#endif
         {
             logf("pcm starting");
             pcmbuf_play_start();
diff --git a/apps/pcmbuf.h b/apps/pcmbuf.h
index 15633d5..18a6894 100644
--- a/apps/pcmbuf.h
+++ b/apps/pcmbuf.h
@@ -19,12 +19,18 @@
 #ifndef PCMBUF_H
 #define PCMBUF_H
 
+#if MEMORYSIZE > 1
 #define PCMBUF_TARGET_CHUNK 32768 /* This is the target fill size of chunks
                                      on the pcm buffer */
 #define PCMBUF_MINAVG_CHUNK 24576 /* This is the minimum average size of
                                      chunks on the pcm buffer (or we run out
                                      of buffer descriptors, which is
                                      non-fatal) */
+#else
+#define PCMBUF_TARGET_CHUNK 16384
+#define PCMBUF_MINAVG_CHUNK 12288
+#endif
+
 #define PCMBUF_MIN_CHUNK     4096 /* We try to never feed a chunk smaller than
                                      this to the DMA */
 #define PCMBUF_MIX_CHUNK     8192 /* This is the maximum size of one packet
diff --git a/apps/playback.c b/apps/playback.c
index 11d266b..04f67ef 100644
--- a/apps/playback.c
+++ b/apps/playback.c
@@ -136,8 +136,13 @@
 };
 
 /* As defined in plugins/lib/xxx2wav.h */
+#if MEMORYSIZE > 1
 #define MALLOC_BUFSIZE (512*1024)
 #define GUARD_BUFSIZE  (32*1024)
+#else
+#define MALLOC_BUFSIZE (100*1024)
+#define GUARD_BUFSIZE  (8*1024)
+#endif
 
 /* As defined in plugin.lds */
 #if CONFIG_CPU == PP5020 || CONFIG_CPU == PP5002
@@ -2930,11 +2935,14 @@
     size_t size;
     bool was_playing = (playing && audio_is_initialized);
     size_t offset = 0;
+#if MEMORYSIZE > 1
     int seconds = 1;
+#endif
 
     if (!filebuf)
         return;     /* Audio buffers not yet set up */
 
+#if MEMORYSIZE > 1
     if (enable)
         seconds = global_settings.crossfade_fade_out_delay
                 + global_settings.crossfade_fade_out_duration;
@@ -2943,6 +2951,10 @@
     seconds += 2;
     logf("buf len: %d", seconds);
     size = seconds * (NATIVE_FREQUENCY*4);
+#else
+    enable = 0;
+    size = NATIVE_FREQUENCY*2;
+#endif
     if (pcmbuf_get_bufsize() == size)
         return ;
 
diff --git a/apps/playback.h b/apps/playback.h
index 2f4e19b..98e0784 100644
--- a/apps/playback.h
+++ b/apps/playback.h
@@ -33,7 +33,12 @@
 /* Not yet implemented. */
 #define CODEC_SET_AUDIOBUF_WATERMARK    4
 
+#if MEMORYSIZE > 1
 #define MAX_TRACK       32
+#else
+#define MAX_TRACK       8
+#endif
+
 #define MAX_TRACK_MASK  (MAX_TRACK-1)
 
 struct track_info {
diff --git a/apps/settings.c b/apps/settings.c
index 3c036d8..87789bc 100644
--- a/apps/settings.c
+++ b/apps/settings.c
@@ -269,10 +269,17 @@
         "idle poweroff", "off,1,2,3,4,5,6,7,8,9,10,15,30,45,60" },
     {18, S_O(runtime), 0, NULL, NULL },
     {18, S_O(topruntime), 0, NULL, NULL },
+#if MEMORYSIZE > 1
     {15, S_O(max_files_in_playlist), 10000,
         "max files in playlist", NULL }, /* 1000...20000 */
     {14, S_O(max_files_in_dir), 400,
         "max files in dir", NULL }, /* 50...10000 */
+#else
+    {15, S_O(max_files_in_playlist), 1000,
+        "max files in playlist", NULL }, /* 1000...20000 */
+    {14, S_O(max_files_in_dir), 200,
+        "max files in dir", NULL }, /* 50...10000 */
+#endif
     /* battery */
     {12, S_O(battery_capacity), BATTERY_CAPACITY_DEFAULT, "battery capacity",
          NULL }, /* 1500...3200 for NiMH, 2200...3200 for LiIon,