make sound reinitable
this will be used for Caanoo overclocking workaround
This commit is contained in:
parent
0dfe793b68
commit
40a392b00d
3 changed files with 11 additions and 4 deletions
2
main.c
2
main.c
|
@ -314,7 +314,7 @@ int main(int argc, char *argv[])
|
||||||
}
|
}
|
||||||
|
|
||||||
init_main();
|
init_main();
|
||||||
init_sound();
|
init_sound(1);
|
||||||
|
|
||||||
init_input();
|
init_input();
|
||||||
|
|
||||||
|
|
9
sound.c
9
sound.c
|
@ -734,12 +734,18 @@ void sound_exit()
|
||||||
sound_exit_flag = 1;
|
sound_exit_flag = 1;
|
||||||
SDL_CondSignal(sound_cv);
|
SDL_CondSignal(sound_cv);
|
||||||
SDL_CloseAudio();
|
SDL_CloseAudio();
|
||||||
|
SDL_Delay(200);
|
||||||
|
SDL_DestroyMutex(sound_mutex);
|
||||||
|
sound_mutex = NULL;
|
||||||
|
SDL_DestroyCond(sound_cv);
|
||||||
|
sound_cv = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
void init_sound()
|
void init_sound(int need_reset)
|
||||||
{
|
{
|
||||||
SDL_AudioSpec sound_settings;
|
SDL_AudioSpec sound_settings;
|
||||||
|
|
||||||
|
sound_exit_flag = 0;
|
||||||
#ifdef PSP_BUILD
|
#ifdef PSP_BUILD
|
||||||
audio_buffer_size = (audio_buffer_size_number * 1024) + 3072;
|
audio_buffer_size = (audio_buffer_size_number * 1024) + 3072;
|
||||||
#else
|
#else
|
||||||
|
@ -779,6 +785,7 @@ void init_sound()
|
||||||
init_noise_table(noise_table15, 32767, 14);
|
init_noise_table(noise_table15, 32767, 14);
|
||||||
init_noise_table(noise_table7, 127, 6);
|
init_noise_table(noise_table7, 127, 6);
|
||||||
|
|
||||||
|
if (need_reset)
|
||||||
reset_sound();
|
reset_sound();
|
||||||
|
|
||||||
SDL_PauseAudio(0);
|
SDL_PauseAudio(0);
|
||||||
|
|
2
sound.h
2
sound.h
|
@ -124,7 +124,7 @@ void sound_timer_queue32(u32 channel, u32 value);
|
||||||
void sound_timer(fixed8_24 frequency_step, u32 channel);
|
void sound_timer(fixed8_24 frequency_step, u32 channel);
|
||||||
void sound_reset_fifo(u32 channel);
|
void sound_reset_fifo(u32 channel);
|
||||||
void update_gbc_sound(u32 cpu_ticks);
|
void update_gbc_sound(u32 cpu_ticks);
|
||||||
void init_sound();
|
void init_sound(int need_reset);
|
||||||
void sound_write_mem_savestate(file_tag_type savestate_file);
|
void sound_write_mem_savestate(file_tag_type savestate_file);
|
||||||
void sound_read_savestate(file_tag_type savestate_file);
|
void sound_read_savestate(file_tag_type savestate_file);
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue