summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndree Buschmann <AndreeBuschmann@t-online.de>2011-08-07 20:28:47 +0000
committerAndree Buschmann <AndreeBuschmann@t-online.de>2011-08-07 20:28:47 +0000
commitb8ae97fe586c2cbefc8a229fe54c17b27331b20b (patch)
tree4cd708ba8bc9b3c06fc43f5f157d1faaadfbe2d6
parentacb0917556fc33681c1df5a530cf754193e67705 (diff)
downloadrockbox-b8ae97fe586c2cbefc8a229fe54c17b27331b20b.tar.gz
rockbox-b8ae97fe586c2cbefc8a229fe54c17b27331b20b.zip
Fix yellow and red. Disable NSF, VGM, SGC and KSS formats for low memory targets for now.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30265 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--apps/codecs/SOURCES4
-rw-r--r--apps/codecs/libgme/blip_buffer.c2
-rw-r--r--apps/codecs/libgme/gbs_emu.c4
-rw-r--r--apps/codecs/libgme/hes_cpu.c4
-rw-r--r--apps/codecs/libgme/hes_emu.c24
5 files changed, 20 insertions, 18 deletions
diff --git a/apps/codecs/SOURCES b/apps/codecs/SOURCES
index 508969bd20..bbceae45b0 100644
--- a/apps/codecs/SOURCES
+++ b/apps/codecs/SOURCES
@@ -18,7 +18,6 @@ mpc.c
18wma.c 18wma.c
19sid.c 19sid.c
20ape.c 20ape.c
21nsf.c
22asap.c 21asap.c
23aac.c 22aac.c
24spc.c 23spc.c
@@ -36,9 +35,12 @@ wmapro.c
36ay.c 35ay.c
37gbs.c 36gbs.c
38hes.c 37hes.c
38#if MEMORYSIZE > 2
39nsf.c
39sgc.c 40sgc.c
40vgm.c 41vgm.c
41kss.c 42kss.c
43#endif
42 44
43#ifdef HAVE_RECORDING 45#ifdef HAVE_RECORDING
44 46
diff --git a/apps/codecs/libgme/blip_buffer.c b/apps/codecs/libgme/blip_buffer.c
index 3061f68573..2a015d75c4 100644
--- a/apps/codecs/libgme/blip_buffer.c
+++ b/apps/codecs/libgme/blip_buffer.c
@@ -27,7 +27,7 @@ int const silent_buf_size = 1; // size used for Silent_Blip_Buffer
27 27
28void Blip_init( struct Blip_Buffer* this ) 28void Blip_init( struct Blip_Buffer* this )
29{ 29{
30 this->factor_ = LONG_MAX; 30 this->factor_ = (blip_ulong)LONG_MAX;
31 this->offset_ = 0; 31 this->offset_ = 0;
32 this->buffer_size_ = 0; 32 this->buffer_size_ = 0;
33 this->sample_rate_ = 0; 33 this->sample_rate_ = 0;
diff --git a/apps/codecs/libgme/gbs_emu.c b/apps/codecs/libgme/gbs_emu.c
index 693e84a39b..f5e214e5d1 100644
--- a/apps/codecs/libgme/gbs_emu.c
+++ b/apps/codecs/libgme/gbs_emu.c
@@ -34,8 +34,8 @@ void clear_track_vars( struct Gbs_Emu* this )
34 this->out_time = 0; 34 this->out_time = 0;
35 this->emu_time = 0; 35 this->emu_time = 0;
36 this->emu_track_ended_ = true; 36 this->emu_track_ended_ = true;
37 this->track_ended = true; 37 this->track_ended = true;
38 this->fade_start = LONG_MAX / 2 + 1; 38 this->fade_start = (blargg_long)(LONG_MAX / 2 + 1);
39 this->fade_step = 1; 39 this->fade_step = 1;
40 this->silence_time = 0; 40 this->silence_time = 0;
41 this->silence_count = 0; 41 this->silence_count = 0;
diff --git a/apps/codecs/libgme/hes_cpu.c b/apps/codecs/libgme/hes_cpu.c
index 08dfb5e993..60ea099905 100644
--- a/apps/codecs/libgme/hes_cpu.c
+++ b/apps/codecs/libgme/hes_cpu.c
@@ -58,8 +58,8 @@ void Cpu_reset( struct Hes_Cpu* this )
58 58
59 this->state_.time = 0; 59 this->state_.time = 0;
60 this->state_.base = 0; 60 this->state_.base = 0;
61 this->irq_time = future_hes_time; 61 this->irq_time = (hes_time_t)future_hes_time;
62 this->end_time = future_hes_time; 62 this->end_time = (hes_time_t)future_hes_time;
63 63
64 this->r.status = st_i; 64 this->r.status = st_i;
65 this->r.sp = 0; 65 this->r.sp = 0;
diff --git a/apps/codecs/libgme/hes_emu.c b/apps/codecs/libgme/hes_emu.c
index a44eded8d7..324027888d 100644
--- a/apps/codecs/libgme/hes_emu.c
+++ b/apps/codecs/libgme/hes_emu.c
@@ -37,8 +37,8 @@ void clear_track_vars( struct Hes_Emu* this )
37 this->out_time = 0; 37 this->out_time = 0;
38 this->emu_time = 0; 38 this->emu_time = 0;
39 this->emu_track_ended_ = true; 39 this->emu_track_ended_ = true;
40 this->track_ended = true; 40 this->track_ended = true;
41 this->fade_start = LONG_MAX / 2 + 1; 41 this->fade_start = (blargg_long)(LONG_MAX / 2 + 1);
42 this->fade_step = 1; 42 this->fade_step = 1;
43 this->silence_time = 0; 43 this->silence_time = 0;
44 this->silence_count = 0; 44 this->silence_count = 0;
@@ -202,7 +202,7 @@ int Cpu_done( struct Hes_Emu* this )
202 if ( this->irq.timer <= present && !(this->irq.disables & timer_mask) ) 202 if ( this->irq.timer <= present && !(this->irq.disables & timer_mask) )
203 { 203 {
204 this->timer.fired = true; 204 this->timer.fired = true;
205 this->irq.timer = future_hes_time; 205 this->irq.timer = (hes_time_t)future_hes_time;
206 irq_changed( this ); // overkill, but not worth writing custom code 206 irq_changed( this ); // overkill, but not worth writing custom code
207 #if defined (GME_FRAME_HOOK_DEFINED) 207 #if defined (GME_FRAME_HOOK_DEFINED)
208 { 208 {
@@ -322,7 +322,7 @@ int Emu_cpu_read( struct Hes_Emu* this, hes_addr_t addr )
322 case 0x0000: 322 case 0x0000:
323 if ( this->irq.vdp > time ) 323 if ( this->irq.vdp > time )
324 return 0; 324 return 0;
325 this->irq.vdp = future_hes_time; 325 this->irq.vdp = (hes_time_t)future_hes_time;
326 run_until( this, time ); 326 run_until( this, time );
327 irq_changed( this ); 327 irq_changed( this );
328 return 0x20; 328 return 0x20;
@@ -398,19 +398,19 @@ void irq_changed( struct Hes_Emu* this )
398 398
399 if ( this->irq.timer > present ) 399 if ( this->irq.timer > present )
400 { 400 {
401 this->irq.timer = future_hes_time; 401 this->irq.timer = (hes_time_t)future_hes_time;
402 if ( this->timer.enabled && !this->timer.fired ) 402 if ( this->timer.enabled && !this->timer.fired )
403 this->irq.timer = present + this->timer.count; 403 this->irq.timer = present + this->timer.count;
404 } 404 }
405 405
406 if ( this->irq.vdp > present ) 406 if ( this->irq.vdp > present )
407 { 407 {
408 this->irq.vdp = future_hes_time; 408 this->irq.vdp = (hes_time_t)future_hes_time;
409 if ( this->vdp.control & 0x08 ) 409 if ( this->vdp.control & 0x08 )
410 this->irq.vdp = this->vdp.next_vbl; 410 this->irq.vdp = this->vdp.next_vbl;
411 } 411 }
412 412
413 hes_time_t time = future_hes_time; 413 hes_time_t time = (hes_time_t)future_hes_time;
414 if ( !(this->irq.disables & timer_mask) ) time = this->irq.timer; 414 if ( !(this->irq.disables & timer_mask) ) time = this->irq.timer;
415 if ( !(this->irq.disables & vdp_mask) ) time = min( time, this->irq.vdp ); 415 if ( !(this->irq.disables & vdp_mask) ) time = min( time, this->irq.vdp );
416 416
@@ -422,7 +422,7 @@ void irq_changed( struct Hes_Emu* this )
422static void adjust_time( blargg_long* time, hes_time_t delta ) ICODE_ATTR; 422static void adjust_time( blargg_long* time, hes_time_t delta ) ICODE_ATTR;
423static void adjust_time( blargg_long* time, hes_time_t delta ) 423static void adjust_time( blargg_long* time, hes_time_t delta )
424{ 424{
425 if ( *time < future_hes_time ) 425 if ( *time < (blargg_long)future_hes_time )
426 { 426 {
427 *time -= delta; 427 *time -= delta;
428 if ( *time < 0 ) 428 if ( *time < 0 )
@@ -452,8 +452,8 @@ blargg_err_t run_clocks( struct Hes_Emu* this, blip_time_t* duration_ )
452 452
453 // End cpu frame 453 // End cpu frame
454 this->cpu.state_.base -= duration; 454 this->cpu.state_.base -= duration;
455 if ( this->cpu.irq_time < future_hes_time ) this->cpu.irq_time -= duration; 455 if ( this->cpu.irq_time < (hes_time_t)future_hes_time ) this->cpu.irq_time -= duration;
456 if ( this->cpu.end_time < future_hes_time ) this->cpu.end_time -= duration; 456 if ( this->cpu.end_time < (hes_time_t)future_hes_time ) this->cpu.end_time -= duration;
457 457
458 adjust_time( &this->irq.timer, duration ); 458 adjust_time( &this->irq.timer, duration );
459 adjust_time( &this->irq.vdp, duration ); 459 adjust_time( &this->irq.vdp, duration );
@@ -585,8 +585,8 @@ blargg_err_t Hes_start_track( struct Hes_Emu* this, int track )
585 Cpu_set_mmr( this, page_count, 0xFF ); // unmapped beyond end of address space 585 Cpu_set_mmr( this, page_count, 0xFF ); // unmapped beyond end of address space
586 586
587 this->irq.disables = timer_mask | vdp_mask; 587 this->irq.disables = timer_mask | vdp_mask;
588 this->irq.timer = future_hes_time; 588 this->irq.timer = (hes_time_t)future_hes_time;
589 this->irq.vdp = future_hes_time; 589 this->irq.vdp = (hes_time_t)future_hes_time;
590 590
591 this->timer.enabled = false; 591 this->timer.enabled = false;
592 this->timer.raw_load= 0x80; 592 this->timer.raw_load= 0x80;