<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">Index: apps/codecs/flac.c
===================================================================
RCS file: /cvsroot/rockbox/apps/codecs/flac.c,v
retrieving revision 1.24
diff -u -r1.24 flac.c
--- apps/codecs/flac.c	29 Jan 2006 01:31:28 -0000	1.24
+++ apps/codecs/flac.c	10 Apr 2006 18:11:53 -0000
@@ -34,7 +34,7 @@
 struct codec_api* ci;
 
 /* The output buffers containing the decoded samples (channels 0 and 1) */
-int32_t decoded0[MAX_BLOCKSIZE] IBSS_ATTR;
+int32_t decoded0[MAX_BLOCKSIZE] IBSS_ATTR_FLAC0;
 int32_t decoded1[MAX_BLOCKSIZE] IBSS_ATTR;
 
 #define MAX_SUPPORTED_SEEKTABLE_SIZE 5000
Index: apps/codecs/mpa.c
===================================================================
RCS file: /cvsroot/rockbox/apps/codecs/mpa.c,v
retrieving revision 1.38
diff -u -r1.38 mpa.c
--- apps/codecs/mpa.c	22 Jan 2006 10:25:07 -0000	1.38
+++ apps/codecs/mpa.c	10 Apr 2006 18:11:53 -0000
@@ -98,13 +98,13 @@
     int samples_to_skip; /* samples to skip in total for this file (at start) */
     char *inputbuffer;
 
-    ci = api;
-
 #ifdef USE_IRAM
-    ci-&gt;memcpy(iramstart, iramcopy, iramend - iramstart);
-    ci-&gt;memset(iedata, 0, iend - iedata);
+    api-&gt;memcpy(iramstart, iramcopy, iramend - iramstart);
+    api-&gt;memset(iedata, 0, iend - iedata);
 #endif
 
+    ci = api;
+
     if (codec_init(api))
         return CODEC_ERROR;
 
@@ -184,6 +184,7 @@
             mad_stream_buffer(&amp;stream, (unsigned char *)inputbuffer, size);
         }
     
+        //*((volatile unsigned long *)0x803f0004) = 1;
         if (mad_frame_decode(&amp;frame, &amp;stream)) {
             if (stream.error == MAD_FLAG_INCOMPLETE 
                 || stream.error == MAD_ERROR_BUFLEN) {
@@ -212,6 +213,7 @@
         file_end = 0;
 
         mad_synth_frame(&amp;synth, &amp;frame);
+        //*((volatile unsigned long *)0x803f0004) = 0;
         
         /* We need to skip samples_to_skip samples from the start of every file
            to properly support LAME style gapless MP3 files. samples_to_skip
Index: apps/codecs/mpc.c
===================================================================
RCS file: /cvsroot/rockbox/apps/codecs/mpc.c,v
retrieving revision 1.21
diff -u -r1.21 mpc.c
--- apps/codecs/mpc.c	13 Feb 2006 19:24:36 -0000	1.21
+++ apps/codecs/mpc.c	10 Apr 2006 18:11:53 -0000
@@ -64,7 +64,7 @@
 }
 
 /* temporary, we probably have better use for iram than this */
-MPC_SAMPLE_FORMAT sample_buffer[MPC_FRAME_LENGTH*2] IBSS_ATTR;
+MPC_SAMPLE_FORMAT sample_buffer[MPC_FRAME_LENGTH*2] IBSS_ATTR_MPC_SAMPLE_BUF;
 
 #ifdef USE_IRAM
 extern char iramcopy[];
Index: apps/codecs/vorbis.c
===================================================================
RCS file: /cvsroot/rockbox/apps/codecs/vorbis.c,v
retrieving revision 1.21
diff -u -r1.21 vorbis.c
--- apps/codecs/vorbis.c	1 Mar 2006 01:07:56 -0000	1.21
+++ apps/codecs/vorbis.c	10 Apr 2006 18:11:53 -0000
@@ -122,13 +122,13 @@
     ogg_uint32_t vf_serialnos;
     ogg_int64_t vf_pcmlengths[2];
 
-    rb = api;
-
     #ifdef USE_IRAM
-    rb-&gt;memcpy(iramstart, iramcopy, iramend - iramstart);
-    rb-&gt;memset(iedata, 0, iend - iedata);
+    api-&gt;memcpy(iramstart, iramcopy, iramend - iramstart);
+    api-&gt;memset(iedata, 0, iend - iedata);
     #endif
 
+    rb = api;
+
     rb-&gt;configure(CODEC_DSP_ENABLE, (bool *)true);
     rb-&gt;configure(DSP_DITHER, (bool *)false);
     rb-&gt;configure(DSP_SET_SAMPLE_DEPTH, (long *)24);
@@ -218,7 +218,9 @@
         }
 
         /* Read host-endian signed 24-bit PCM samples */
+        //*((volatile unsigned long *)0x803f0004) = 1;
         n = ov_read_fixed(&amp;vf, &amp;pcm, 1024, &amp;current_section);
+        //*((volatile unsigned long *)0x803f0004) = 0;
 
         /* Change DSP and buffer settings for this bitstream */
         if (current_section != previous_section) {
Index: apps/codecs/Tremor/config-tremor.h
===================================================================
RCS file: /cvsroot/rockbox/apps/codecs/Tremor/config-tremor.h,v
retrieving revision 1.6
diff -u -r1.6 config-tremor.h
--- apps/codecs/Tremor/config-tremor.h	28 Jan 2006 21:21:21 -0000	1.6
+++ apps/codecs/Tremor/config-tremor.h	10 Apr 2006 18:11:54 -0000
@@ -13,6 +13,14 @@
 #define BIG_ENDIAN 0
 #endif
 
+#ifndef ICONST_ATTR_TREMOR_WINDOW
+#define ICONST_ATTR_TREMOR_WINDOW ICONST_ATTR
+#endif
+
+#ifndef ICODE_ATTR_TREMOR_MDCT
+#define ICODE_ATTR_TREMOR_MDCT __attribute__ ((section(".icode")))
+#endif
+
 /* As of 28 Dec 2005, the Tremor code is too big for IRAM on the iPod,
    so we temporarily disable ICODE_ATTR - this needs reviewing when it comes
    to optimising Tremor for the iPod */
Index: apps/codecs/Tremor/window_lookup.h
===================================================================
RCS file: /cvsroot/rockbox/apps/codecs/Tremor/window_lookup.h,v
retrieving revision 1.7
diff -u -r1.7 window_lookup.h
--- apps/codecs/Tremor/window_lookup.h	27 Oct 2005 11:39:01 -0000	1.7
+++ apps/codecs/Tremor/window_lookup.h	10 Apr 2006 18:11:55 -0000
@@ -51,7 +51,7 @@
   X(0x7ffdcf39), X(0x7fff6dac), X(0x7fffed01), X(0x7fffffc4),
 };
 
-static LOOKUP_T vwin256[128] ICONST_ATTR = {
+static LOOKUP_T vwin256[128] ICONST_ATTR_TREMOR_WINDOW = {
   X(0x0001f018), X(0x00117066), X(0x00306e9e), X(0x005ee5f1),
   X(0x009ccf26), X(0x00ea208b), X(0x0146cdea), X(0x01b2c87f),
   X(0x022dfedf), X(0x02b85ced), X(0x0351cbbd), X(0x03fa317f),
@@ -284,7 +284,7 @@
   X(0x7fffffdd), X(0x7ffffff7), X(0x7fffffff), X(0x7fffffff),
 };
 
-static LOOKUP_T vwin2048[1024] ICONST_ATTR = {
+static LOOKUP_T vwin2048[1024] ICONST_ATTR_TREMOR_WINDOW = {
   X(0x000007c0), X(0x000045c4), X(0x0000c1ca), X(0x00017bd3),
   X(0x000273de), X(0x0003a9eb), X(0x00051df9), X(0x0006d007),
   X(0x0008c014), X(0x000aee1e), X(0x000d5a25), X(0x00100428),
Index: apps/codecs/libffmpegFLAC/bitstream.h
===================================================================
RCS file: /cvsroot/rockbox/apps/codecs/libffmpegFLAC/bitstream.h,v
retrieving revision 1.3
diff -u -r1.3 bitstream.h
--- apps/codecs/libffmpegFLAC/bitstream.h	3 Nov 2005 18:48:23 -0000	1.3
+++ apps/codecs/libffmpegFLAC/bitstream.h	10 Apr 2006 18:11:55 -0000
@@ -252,7 +252,7 @@
     return tmp;
 }
 
-unsigned int get_bits_long(GetBitContext *s, int n) ICODE_ATTR;
+unsigned int get_bits_long(GetBitContext *s, int n) ICODE_ATTR_FLAC;
 
 /**
  * shows 0-17 bits.
@@ -267,7 +267,7 @@
     return tmp;
 }
 
-unsigned int show_bits_long(GetBitContext *s, int n) ICODE_ATTR;
+unsigned int show_bits_long(GetBitContext *s, int n) ICODE_ATTR_FLAC;
 
 static inline void skip_bits(GetBitContext *s, int n){
  //Note gcc seems to optimize this to s-&gt;index+=n for the ALT_READER :))
@@ -328,6 +328,6 @@
     }
 }
 
-void align_get_bits(GetBitContext *s) ICODE_ATTR;
+void align_get_bits(GetBitContext *s) ICODE_ATTR_FLAC;
 
 #endif /* BITSTREAM_H */
Index: apps/codecs/libffmpegFLAC/decoder.c
===================================================================
RCS file: /cvsroot/rockbox/apps/codecs/libffmpegFLAC/decoder.c,v
retrieving revision 1.6
diff -u -r1.6 decoder.c
--- apps/codecs/libffmpegFLAC/decoder.c	6 Mar 2006 11:14:29 -0000	1.6
+++ apps/codecs/libffmpegFLAC/decoder.c	10 Apr 2006 18:11:55 -0000
@@ -99,7 +99,7 @@
     0xe6, 0xe1, 0xe8, 0xef, 0xfa, 0xfd, 0xf4, 0xf3
 };
 
-static int64_t get_utf8(GetBitContext *gb) ICODE_ATTR;
+static int64_t get_utf8(GetBitContext *gb) ICODE_ATTR_FLAC;
 static int64_t get_utf8(GetBitContext *gb)
 {
     uint64_t val;
@@ -124,7 +124,7 @@
     return val;
 }
 
-static int get_crc8(const uint8_t *buf, int count) ICODE_ATTR;
+static int get_crc8(const uint8_t *buf, int count) ICODE_ATTR_FLAC;
 static int get_crc8(const uint8_t *buf, int count)
 {
     int crc=0;
@@ -137,7 +137,7 @@
     return crc;
 }
 
-static int decode_residuals(FLACContext *s, int32_t* decoded, int pred_order) ICODE_ATTR;
+static int decode_residuals(FLACContext *s, int32_t* decoded, int pred_order) ICODE_ATTR_FLAC;
 static int decode_residuals(FLACContext *s, int32_t* decoded, int pred_order)
 {
     int i, tmp, partition, method_type, rice_order;
@@ -177,7 +177,7 @@
     return 0;
 }    
 
-static int decode_subframe_fixed(FLACContext *s, int32_t* decoded, int pred_order) ICODE_ATTR;
+static int decode_subframe_fixed(FLACContext *s, int32_t* decoded, int pred_order) ICODE_ATTR_FLAC;
 static int decode_subframe_fixed(FLACContext *s, int32_t* decoded, int pred_order)
 {
     int i;
@@ -224,7 +224,7 @@
     return 0;
 }
 
-static int decode_subframe_lpc(FLACContext *s, int32_t* decoded, int pred_order) ICODE_ATTR;
+static int decode_subframe_lpc(FLACContext *s, int32_t* decoded, int pred_order) ICODE_ATTR_FLAC;
 static int decode_subframe_lpc(FLACContext *s, int32_t* decoded, int pred_order)
 {
     int sum, i, j;
@@ -377,7 +377,7 @@
 static int decode_frame(FLACContext *s,
                         int32_t* decoded0,
                         int32_t* decoded1,
-                        void (*yield)(void)) ICODE_ATTR;
+                        void (*yield)(void)) ICODE_ATTR_FLAC;
 static int decode_frame(FLACContext *s,
                         int32_t* decoded0,
                         int32_t* decoded1,
Index: apps/codecs/libffmpegFLAC/decoder.h
===================================================================
RCS file: /cvsroot/rockbox/apps/codecs/libffmpegFLAC/decoder.h,v
retrieving revision 1.3
diff -u -r1.3 decoder.h
--- apps/codecs/libffmpegFLAC/decoder.h	13 Feb 2006 19:26:18 -0000	1.3
+++ apps/codecs/libffmpegFLAC/decoder.h	10 Apr 2006 18:11:55 -0000
@@ -41,6 +41,6 @@
                       int32_t* decoded0,
                       int32_t* decoded1,
                       uint8_t *buf, int buf_size,
-                      void (*yield)(void)) ICODE_ATTR;
+                      void (*yield)(void)) ICODE_ATTR_FLAC;
 
 #endif
Index: apps/codecs/libffmpegFLAC/shndec.c
===================================================================
RCS file: /cvsroot/rockbox/apps/codecs/libffmpegFLAC/shndec.c,v
retrieving revision 1.3
diff -u -r1.3 shndec.c
--- apps/codecs/libffmpegFLAC/shndec.c	7 Feb 2006 22:16:35 -0000	1.3
+++ apps/codecs/libffmpegFLAC/shndec.c	10 Apr 2006 18:11:55 -0000
@@ -83,7 +83,7 @@
 }
 
 #if defined(CPU_COLDFIRE) &amp;&amp; !defined(SIMULATOR)
-static void coldfire_lshift_samples(int n, int shift, int32_t *samples) ICODE_ATTR;
+static void coldfire_lshift_samples(int n, int shift, int32_t *samples) ICODE_ATTR_FLAC;
 static void coldfire_lshift_samples(int n, int shift, int32_t *samples)
 {
 /*
Index: firmware/export/config-ifp7xx.h
===================================================================
RCS file: /cvsroot/rockbox/firmware/export/config-ifp7xx.h,v
retrieving revision 1.2
diff -u -r1.2 config-ifp7xx.h
--- firmware/export/config-ifp7xx.h	4 Feb 2006 00:04:02 -0000	1.2
+++ firmware/export/config-ifp7xx.h	10 Apr 2006 18:11:56 -0000
@@ -97,2 +97,7 @@
 
+#define ICODE_ATTR_FLAC
+#define IBSS_ATTR_FLAC0
+#define IBSS_ATTR_MPC_SAMPLE_BUF
+#define ICONST_ATTR_TREMOR_WINDOW
+
 #endif
Index: firmware/export/config.h
===================================================================
RCS file: /cvsroot/rockbox/firmware/export/config.h,v
retrieving revision 1.60
diff -u -r1.60 config.h
--- firmware/export/config.h	27 Feb 2006 12:35:05 -0000	1.60
+++ firmware/export/config.h	10 Apr 2006 18:11:56 -0000
@@ -216,7 +216,8 @@
     (CONFIG_CPU == MCF5249) || /* Coldfire: core, plugins, codecs */ \
     (CONFIG_CPU == PP5020) ||  /* iPod: core, plugins, codecs */ \
     (CONFIG_CPU == PP5002) ||  /* iPod: core, plugins, codecs */ \
-    (CONFIG_CPU == TCC730))    /* CalmRISC16: core, (plugins, codecs) */
+    (CONFIG_CPU == TCC730) || /* CalmRISC16: core, (plugins, codecs) */ \
+    (CONFIG_CPU == PNX0101))
 #define ICODE_ATTR      __attribute__ ((section(".icode")))
 #define ICONST_ATTR     __attribute__ ((section(".irodata")))
 #define IDATA_ATTR      __attribute__ ((section(".idata")))
@@ -229,4 +230,16 @@
 #define IBSS_ATTR
 #endif
 
+#ifndef ICODE_ATTR_FLAC
+#define ICODE_ATTR_FLAC ICODE_ATTR
+#endif
+
+#ifndef IBSS_ATTR_FLAC0
+#define IBSS_ATTR_FLAC0 IBSS_ATTR
+#endif
+
+#ifndef IBSS_ATTR_MPC_SAMPLE_BUF
+#define IBSS_ATTR_MPC_SAMPLE_BUF IBSS_ATTR
+#endif
+
 #endif
</pre></body></html>