mirror of
https://github.com/Rockbox/rockbox.git
synced 2025-10-27 07:46:24 -04:00
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
This commit is contained in:
parent
acb0917556
commit
b8ae97fe58
5 changed files with 20 additions and 18 deletions
|
|
@ -18,7 +18,6 @@ mpc.c
|
||||||
wma.c
|
wma.c
|
||||||
sid.c
|
sid.c
|
||||||
ape.c
|
ape.c
|
||||||
nsf.c
|
|
||||||
asap.c
|
asap.c
|
||||||
aac.c
|
aac.c
|
||||||
spc.c
|
spc.c
|
||||||
|
|
@ -36,9 +35,12 @@ wmapro.c
|
||||||
ay.c
|
ay.c
|
||||||
gbs.c
|
gbs.c
|
||||||
hes.c
|
hes.c
|
||||||
|
#if MEMORYSIZE > 2
|
||||||
|
nsf.c
|
||||||
sgc.c
|
sgc.c
|
||||||
vgm.c
|
vgm.c
|
||||||
kss.c
|
kss.c
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef HAVE_RECORDING
|
#ifdef HAVE_RECORDING
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -27,7 +27,7 @@ int const silent_buf_size = 1; // size used for Silent_Blip_Buffer
|
||||||
|
|
||||||
void Blip_init( struct Blip_Buffer* this )
|
void Blip_init( struct Blip_Buffer* this )
|
||||||
{
|
{
|
||||||
this->factor_ = LONG_MAX;
|
this->factor_ = (blip_ulong)LONG_MAX;
|
||||||
this->offset_ = 0;
|
this->offset_ = 0;
|
||||||
this->buffer_size_ = 0;
|
this->buffer_size_ = 0;
|
||||||
this->sample_rate_ = 0;
|
this->sample_rate_ = 0;
|
||||||
|
|
|
||||||
|
|
@ -34,8 +34,8 @@ void clear_track_vars( struct Gbs_Emu* this )
|
||||||
this->out_time = 0;
|
this->out_time = 0;
|
||||||
this->emu_time = 0;
|
this->emu_time = 0;
|
||||||
this->emu_track_ended_ = true;
|
this->emu_track_ended_ = true;
|
||||||
this->track_ended = true;
|
this->track_ended = true;
|
||||||
this->fade_start = LONG_MAX / 2 + 1;
|
this->fade_start = (blargg_long)(LONG_MAX / 2 + 1);
|
||||||
this->fade_step = 1;
|
this->fade_step = 1;
|
||||||
this->silence_time = 0;
|
this->silence_time = 0;
|
||||||
this->silence_count = 0;
|
this->silence_count = 0;
|
||||||
|
|
|
||||||
|
|
@ -58,8 +58,8 @@ void Cpu_reset( struct Hes_Cpu* this )
|
||||||
|
|
||||||
this->state_.time = 0;
|
this->state_.time = 0;
|
||||||
this->state_.base = 0;
|
this->state_.base = 0;
|
||||||
this->irq_time = future_hes_time;
|
this->irq_time = (hes_time_t)future_hes_time;
|
||||||
this->end_time = future_hes_time;
|
this->end_time = (hes_time_t)future_hes_time;
|
||||||
|
|
||||||
this->r.status = st_i;
|
this->r.status = st_i;
|
||||||
this->r.sp = 0;
|
this->r.sp = 0;
|
||||||
|
|
|
||||||
|
|
@ -37,8 +37,8 @@ void clear_track_vars( struct Hes_Emu* this )
|
||||||
this->out_time = 0;
|
this->out_time = 0;
|
||||||
this->emu_time = 0;
|
this->emu_time = 0;
|
||||||
this->emu_track_ended_ = true;
|
this->emu_track_ended_ = true;
|
||||||
this->track_ended = true;
|
this->track_ended = true;
|
||||||
this->fade_start = LONG_MAX / 2 + 1;
|
this->fade_start = (blargg_long)(LONG_MAX / 2 + 1);
|
||||||
this->fade_step = 1;
|
this->fade_step = 1;
|
||||||
this->silence_time = 0;
|
this->silence_time = 0;
|
||||||
this->silence_count = 0;
|
this->silence_count = 0;
|
||||||
|
|
@ -202,7 +202,7 @@ int Cpu_done( struct Hes_Emu* this )
|
||||||
if ( this->irq.timer <= present && !(this->irq.disables & timer_mask) )
|
if ( this->irq.timer <= present && !(this->irq.disables & timer_mask) )
|
||||||
{
|
{
|
||||||
this->timer.fired = true;
|
this->timer.fired = true;
|
||||||
this->irq.timer = future_hes_time;
|
this->irq.timer = (hes_time_t)future_hes_time;
|
||||||
irq_changed( this ); // overkill, but not worth writing custom code
|
irq_changed( this ); // overkill, but not worth writing custom code
|
||||||
#if defined (GME_FRAME_HOOK_DEFINED)
|
#if defined (GME_FRAME_HOOK_DEFINED)
|
||||||
{
|
{
|
||||||
|
|
@ -322,7 +322,7 @@ int Emu_cpu_read( struct Hes_Emu* this, hes_addr_t addr )
|
||||||
case 0x0000:
|
case 0x0000:
|
||||||
if ( this->irq.vdp > time )
|
if ( this->irq.vdp > time )
|
||||||
return 0;
|
return 0;
|
||||||
this->irq.vdp = future_hes_time;
|
this->irq.vdp = (hes_time_t)future_hes_time;
|
||||||
run_until( this, time );
|
run_until( this, time );
|
||||||
irq_changed( this );
|
irq_changed( this );
|
||||||
return 0x20;
|
return 0x20;
|
||||||
|
|
@ -398,19 +398,19 @@ void irq_changed( struct Hes_Emu* this )
|
||||||
|
|
||||||
if ( this->irq.timer > present )
|
if ( this->irq.timer > present )
|
||||||
{
|
{
|
||||||
this->irq.timer = future_hes_time;
|
this->irq.timer = (hes_time_t)future_hes_time;
|
||||||
if ( this->timer.enabled && !this->timer.fired )
|
if ( this->timer.enabled && !this->timer.fired )
|
||||||
this->irq.timer = present + this->timer.count;
|
this->irq.timer = present + this->timer.count;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( this->irq.vdp > present )
|
if ( this->irq.vdp > present )
|
||||||
{
|
{
|
||||||
this->irq.vdp = future_hes_time;
|
this->irq.vdp = (hes_time_t)future_hes_time;
|
||||||
if ( this->vdp.control & 0x08 )
|
if ( this->vdp.control & 0x08 )
|
||||||
this->irq.vdp = this->vdp.next_vbl;
|
this->irq.vdp = this->vdp.next_vbl;
|
||||||
}
|
}
|
||||||
|
|
||||||
hes_time_t time = future_hes_time;
|
hes_time_t time = (hes_time_t)future_hes_time;
|
||||||
if ( !(this->irq.disables & timer_mask) ) time = this->irq.timer;
|
if ( !(this->irq.disables & timer_mask) ) time = this->irq.timer;
|
||||||
if ( !(this->irq.disables & vdp_mask) ) time = min( time, this->irq.vdp );
|
if ( !(this->irq.disables & vdp_mask) ) time = min( time, this->irq.vdp );
|
||||||
|
|
||||||
|
|
@ -422,7 +422,7 @@ void irq_changed( struct Hes_Emu* this )
|
||||||
static void adjust_time( blargg_long* time, hes_time_t delta ) ICODE_ATTR;
|
static void adjust_time( blargg_long* time, hes_time_t delta ) ICODE_ATTR;
|
||||||
static void adjust_time( blargg_long* time, hes_time_t delta )
|
static void adjust_time( blargg_long* time, hes_time_t delta )
|
||||||
{
|
{
|
||||||
if ( *time < future_hes_time )
|
if ( *time < (blargg_long)future_hes_time )
|
||||||
{
|
{
|
||||||
*time -= delta;
|
*time -= delta;
|
||||||
if ( *time < 0 )
|
if ( *time < 0 )
|
||||||
|
|
@ -452,8 +452,8 @@ blargg_err_t run_clocks( struct Hes_Emu* this, blip_time_t* duration_ )
|
||||||
|
|
||||||
// End cpu frame
|
// End cpu frame
|
||||||
this->cpu.state_.base -= duration;
|
this->cpu.state_.base -= duration;
|
||||||
if ( this->cpu.irq_time < future_hes_time ) this->cpu.irq_time -= duration;
|
if ( this->cpu.irq_time < (hes_time_t)future_hes_time ) this->cpu.irq_time -= duration;
|
||||||
if ( this->cpu.end_time < future_hes_time ) this->cpu.end_time -= duration;
|
if ( this->cpu.end_time < (hes_time_t)future_hes_time ) this->cpu.end_time -= duration;
|
||||||
|
|
||||||
adjust_time( &this->irq.timer, duration );
|
adjust_time( &this->irq.timer, duration );
|
||||||
adjust_time( &this->irq.vdp, duration );
|
adjust_time( &this->irq.vdp, duration );
|
||||||
|
|
@ -585,8 +585,8 @@ blargg_err_t Hes_start_track( struct Hes_Emu* this, int track )
|
||||||
Cpu_set_mmr( this, page_count, 0xFF ); // unmapped beyond end of address space
|
Cpu_set_mmr( this, page_count, 0xFF ); // unmapped beyond end of address space
|
||||||
|
|
||||||
this->irq.disables = timer_mask | vdp_mask;
|
this->irq.disables = timer_mask | vdp_mask;
|
||||||
this->irq.timer = future_hes_time;
|
this->irq.timer = (hes_time_t)future_hes_time;
|
||||||
this->irq.vdp = future_hes_time;
|
this->irq.vdp = (hes_time_t)future_hes_time;
|
||||||
|
|
||||||
this->timer.enabled = false;
|
this->timer.enabled = false;
|
||||||
this->timer.raw_load= 0x80;
|
this->timer.raw_load= 0x80;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue