X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=main.h;h=96739dce994a72cdb0ec6b7e5379d531011613e8;hb=e38fee1b96c0b904d7f221a349fb2492258d5789;hp=9475e61017121fe9af94e227f0f4b5fc02d5d0e1;hpb=43c24b301dc8c0c5952e1d22bad865f4304d01f8;p=gpsp.git diff --git a/main.h b/main.h index 9475e61..96739dc 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; @@ -71,9 +71,6 @@ extern u32 global_cycles_per_instruction; extern u32 synchronize_flag; extern u32 skip_next_frame; -extern timer_type timer[4]; -static u32 prescale_table[] = { 0, 6, 8, 10 }; - extern u32 cycle_memory_access; extern u32 cycle_pc_relative_access; extern u32 cycle_sp_relative_access; @@ -86,7 +83,7 @@ extern u32 flush_ram_count; extern u64 base_timestamp; -extern u8 main_path[512]; +extern char main_path[512]; extern u32 update_backup_flag; extern u32 clock_speed; @@ -97,18 +94,18 @@ void synchronize(); void quit(); void delay_us(u32 us_count); void get_ticks_us(u64 *tick_return); -void game_name_ext(u8 *src, u8 *buffer, u8 *extension); +void game_name_ext(char *src, char *buffer, char *extension); void main_write_mem_savestate(file_tag_type savestate_file); void main_read_savestate(file_tag_type savestate_file); #ifdef PSP_BUILD -u32 file_length(u8 *filename, s32 dummy); +u32 file_length(char *filename, s32 dummy); #else -u32 file_length(u8 *dummy, FILE *fp); +u32 file_length(char *dummy, FILE *fp); #endif @@ -117,6 +114,11 @@ extern u32 virtual_frame_count; extern u32 max_frameskip; extern u32 num_skipped_frames; +#ifdef IN_MEMORY_C + +extern timer_type timer[4]; +static u32 prescale_table[] = { 0, 6, 8, 10 }; + #define count_timer(timer_number) \ timer[timer_number].reload = 0x10000 - value; \ if(timer_number < 2) \ @@ -130,8 +132,7 @@ extern u32 num_skipped_frames; 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) \ @@ -162,8 +163,8 @@ extern u32 num_skipped_frames; 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); \ @@ -181,7 +182,10 @@ extern u32 num_skipped_frames; } \ address16(io_registers, 0x102 + (timer_number * 4)) = value; \ -void change_ext(u8 *src, u8 *buffer, u8 *extension); +#endif // IN_MEMORY_C + +void change_ext(const char *src, char *buffer, const char *extension); +void make_rpath(char *buff, size_t size, const char *ext); void set_clock_speed();