summaryrefslogtreecommitdiff
path: root/apps/codecs/sid.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/codecs/sid.c')
-rw-r--r--apps/codecs/sid.c27
1 files changed, 3 insertions, 24 deletions
diff --git a/apps/codecs/sid.c b/apps/codecs/sid.c
index d356da7..58eb725 100644
--- a/apps/codecs/sid.c
+++ b/apps/codecs/sid.c
@@ -65,21 +65,10 @@ CODEC_HEADER
#define CHUNK_SIZE (1024*2)
-
-struct codec_api *rb;
-
/* This codec supports SID Files:
*
*/
-#ifdef USE_IRAM
-extern char iramcopy[];
-extern char iramstart[];
-extern char iramend[];
-extern char iedata[];
-extern char iend[];
-#endif
-
static int32_t samples[CHUNK_SIZE] IBSS_ATTR; /* The sample buffer */
/* Static buffer for the plain SID-File */
@@ -1213,9 +1202,8 @@ unsigned short LoadSIDFromMemory(void *pSidData, unsigned short *load_addr,
}
-enum codec_status codec_start(struct codec_api *api)
+enum codec_status codec_main(void)
{
- struct codec_api *ci;
size_t n, bytesfree;
unsigned char *p;
unsigned int filesize;
@@ -1228,20 +1216,11 @@ enum codec_status codec_start(struct codec_api *api)
int nSamplesToRender = 0;
/* Generic codec initialisation */
- rb = api;
- ci = api;
-
-
-#ifdef USE_IRAM
- ci->memcpy(iramstart, iramcopy, iramend - iramstart);
- ci->memset(iedata, 0, iend - iedata);
-#endif
-
ci->configure(CODEC_SET_FILEBUF_WATERMARK, (int *)(1024*512));
ci->configure(CODEC_SET_FILEBUF_CHUNKSIZE, (int *)(1024*256));
next_track:
- if (codec_init(api)) {
+ if (codec_init()) {
return CODEC_ERROR;
}
@@ -1251,7 +1230,7 @@ next_track:
/* Load SID file */
p = sidfile;
bytesfree=sizeof(sidfile);
- while ((n = rb->read_filebuf(p, bytesfree)) > 0) {
+ while ((n = ci->read_filebuf(p, bytesfree)) > 0) {
p += n;
bytesfree -= n;
}