make sound rates platform dependent

This commit is contained in:
kub 2024-02-17 21:32:45 +01:00
parent 33bde0c3c5
commit 089f516d6c
6 changed files with 11 additions and 5 deletions

View file

@ -637,10 +637,12 @@ static int menu_loop_adv_options(int id, int keys)
static int sndrate_prevnext(int rate, int dir) static int sndrate_prevnext(int rate, int dir)
{ {
static const int rates[] = { 8000, 11025, 16000, 22050, 44100, 53000 }; const int *rates = plat_target.sound_rates;
int rate_count = sizeof(rates)/sizeof(rates[0]); int rate_count;
int i; int i;
for (rate_count = 0; rates[rate_count] != -1; rate_count++)
;
for (i = 0; i < rate_count; i++) for (i = 0; i < rate_count; i++)
if (rates[i] == rate) break; if (rates[i] == rate) break;

View file

@ -30,7 +30,8 @@ static struct in_pdata in_sdl_platform_data = {
.defbinds = in_sdl_defbinds, .defbinds = in_sdl_defbinds,
}; };
struct plat_target plat_target; static int sound_rates[] = { 8000, 11025, 16000, 22050, 32000, 44100, 53000, -1 };
struct plat_target plat_target = { .sound_rates = sound_rates };
#if defined __MIYOO__ #if defined __MIYOO__
const char *plat_device = "miyoo"; const char *plat_device = "miyoo";

View file

@ -778,7 +778,7 @@ void pemu_sound_start(void)
} }
} }
static const int sound_rates[] = { 53000, 44100, 32000, 22050, 16000, 11025, 8000 }; static const int sound_rates[] = { 52000, 44100, 32000, 22050, 16000, 11025, 8000 };
void pemu_sound_stop(void) void pemu_sound_stop(void)
{ {

@ -1 +1 @@
Subproject commit c825b167e9c08afaec23721f983ba003d86b838a Subproject commit 82b4854771302e23201de274eee2969fc28be8be

View file

@ -1,6 +1,7 @@
/* /*
* PicoDrive * PicoDrive
* (C) notaz, 2007,2008 * (C) notaz, 2007,2008
* (C) irixxxx, 2022-2024
* *
* This work is licensed under the terms of MAME license. * This work is licensed under the terms of MAME license.
* See COPYING file in the top-level directory. * See COPYING file in the top-level directory.

View file

@ -273,6 +273,7 @@ static int plat_bat_capacity_get(void)
return scePowerGetBatteryLifePercent(); return scePowerGetBatteryLifePercent();
} }
static int sound_rates[] = { 8000, 11025, 16000, 22050, 32000, 44100, -1 };
struct plat_target plat_target = { struct plat_target plat_target = {
.cpu_clock_get = plat_cpu_clock_get, .cpu_clock_get = plat_cpu_clock_get,
.cpu_clock_set = plat_cpu_clock_set, .cpu_clock_set = plat_cpu_clock_set,
@ -280,6 +281,7 @@ struct plat_target plat_target = {
// .gamma_set = plat_gamma_set, // .gamma_set = plat_gamma_set,
// .hwfilter_set = plat_hwfilter_set, // .hwfilter_set = plat_hwfilter_set,
// .hwfilters = plat_hwfilters, // .hwfilters = plat_hwfilters,
.sound_rates = sound_rates,
}; };
int _flush_cache (char *addr, const int size, const int op) int _flush_cache (char *addr, const int size, const int op)