X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?p=gpsp.git;a=blobdiff_plain;f=main.h;h=671974c9c951f5006f1672fc047c29201eafd151;hp=6cd471e3fc8f05f7eaf2b9a214098d03d5f6070e;hb=2f1c528a6c37558760b28638d271f5ff9ba45e4f;hpb=a231964c3570be4cf3d2efd023090b6a9e730935 diff --git a/main.h b/main.h index 6cd471e..671974c 100644 --- a/main.h +++ b/main.h @@ -48,7 +48,7 @@ typedef struct u32 reload; u32 prescale; u32 stop_cpu_ticks; - fixed16_16 frequency_step; + fixed8_24 frequency_step; timer_ds_channel_type direct_sound_channels; timer_irq_type irq; timer_status_type status; @@ -132,8 +132,7 @@ static u32 prescale_table[] = { 0, 6, 8, 10 }; if(timer[timer_number].direct_sound_channels & (0x01 << channel)) \ { \ direct_sound_channel[channel].buffer_index = \ - (direct_sound_channel[channel].buffer_index + buffer_adjust) % \ - BUFFER_SIZE; \ + (gbc_sound_buffer_index + buffer_adjust) % BUFFER_SIZE; \ } \ #define trigger_timer(timer_number) \ @@ -164,8 +163,8 @@ static u32 prescale_table[] = { 0, 6, 8, 10 }; if(timer_number < 2) \ { \ u32 buffer_adjust = \ - (u32)(((float)(cpu_ticks - timer[timer_number].stop_cpu_ticks) * \ - sound_frequency) / 16777216.0) * 2; \ + (u32)(((float)(cpu_ticks - gbc_sound_last_cpu_ticks) * \ + sound_frequency) / GBC_BASE_RATE) * 2; \ \ sound_update_frequency_step(timer_number); \ adjust_sound_buffer(timer_number, 0); \