X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=main.h;h=96739dce994a72cdb0ec6b7e5379d531011613e8;hb=e38fee1b96c0b904d7f221a349fb2492258d5789;hp=397541d4cec56aa3503afd049581ed41aa2709b8;hpb=2823a4c8196a02da86ee180cf55586d4e8c91a2f;p=gpsp.git diff --git a/main.h b/main.h index 397541d..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,39 +94,30 @@ 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); - -extern u32 real_frame_count; -extern u32 virtual_frame_count; -extern u32 max_frameskip; -extern u32 num_skipped_frames; +u32 file_length(char *filename, s32 dummy); -#endif +#else +u32 file_length(char *dummy, FILE *fp); -#ifdef GP2X_BUILD +#endif -extern u64 frame_count_initial_timestamp; extern u32 real_frame_count; extern u32 virtual_frame_count; extern u32 max_frameskip; extern u32 num_skipped_frames; -#endif - - -#ifdef PC_BUILD +#ifdef IN_MEMORY_C -u32 file_length(u8 *dummy, FILE *fp); - -#endif +extern timer_type timer[4]; +static u32 prescale_table[] = { 0, 6, 8, 10 }; #define count_timer(timer_number) \ timer[timer_number].reload = 0x10000 - value; \ @@ -144,8 +132,7 @@ u32 file_length(u8 *dummy, FILE *fp); 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) \ @@ -176,8 +163,8 @@ u32 file_length(u8 *dummy, FILE *fp); 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); \ @@ -195,7 +182,12 @@ u32 file_length(u8 *dummy, FILE *fp); } \ 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(); #endif