Index: apps/playback.c =================================================================== RCS file: /cvsroot/rockbox/apps/playback.c,v retrieving revision 1.345 diff -u -r1.345 playback.c --- apps/playback.c 28 Aug 2006 22:38:37 -0000 1.345 +++ apps/playback.c 29 Aug 2006 08:27:44 -0000 @@ -148,6 +148,12 @@ #endif #define CODEC_IRAM_SIZE 0xc000 +#ifdef SIMULATOR +static unsigned char sim_iram[CODEC_IRAM_SIZE]; +#undef CODEC_IRAM_ORIGIN +#define CODEC_IRAM_ORIGIN sim_iram +#endif + #ifndef SIMULATOR extern bool audio_is_initialized; #else @@ -207,9 +213,7 @@ static volatile size_t buf_ridx IDATA_ATTR; static volatile size_t buf_widx IDATA_ATTR; -#ifndef SIMULATOR static unsigned char *iram_buf[2]; -#endif static unsigned char *dram_buf[2]; /* Step count to the next unbuffered track. */ @@ -276,10 +280,8 @@ logf("swapping out codec:%d", my_codec); /* Save our current IRAM and DRAM */ -#ifndef SIMULATOR memcpy(iram_buf[my_codec], (unsigned char *)CODEC_IRAM_ORIGIN, CODEC_IRAM_SIZE); -#endif memcpy(dram_buf[my_codec], codecbuf, CODEC_SIZE); do { @@ -292,10 +294,8 @@ current_codec = my_codec; /* Reload our IRAM and DRAM */ -#ifndef SIMULATOR memcpy((unsigned char *)CODEC_IRAM_ORIGIN, iram_buf[my_codec], CODEC_IRAM_SIZE); -#endif invalidate_icache(); memcpy(codecbuf, dram_buf[my_codec], CODEC_SIZE); @@ -2552,10 +2552,8 @@ /* Allow 2 codecs at end of file buffer */ filebuflen -= 2 * (CODEC_IRAM_SIZE + CODEC_SIZE); -#ifndef SIMULATOR iram_buf[0] = &filebuf[filebuflen]; iram_buf[1] = &filebuf[filebuflen+CODEC_IRAM_SIZE]; -#endif dram_buf[0] = (unsigned char *)&filebuf[filebuflen+CODEC_IRAM_SIZE*2]; dram_buf[1] = (unsigned char *)&filebuf[filebuflen+CODEC_IRAM_SIZE*2+CODEC_SIZE]; } @@ -2564,10 +2562,8 @@ /* Allow for 1 codec at end of file buffer */ filebuflen -= CODEC_IRAM_SIZE + CODEC_SIZE; -#ifndef SIMULATOR iram_buf[0] = &filebuf[filebuflen]; iram_buf[1] = NULL; -#endif dram_buf[0] = (unsigned char *)&filebuf[filebuflen+CODEC_IRAM_SIZE]; dram_buf[1] = NULL; }