mirror of
https://github.com/Oibaf66/uae-wii.git
synced 2024-11-22 10:39:19 +01:00
Allow setting CPU/chipset ops
This commit is contained in:
parent
2ea0e7f33a
commit
ff0d30754d
@ -50,6 +50,7 @@ static const char *amiga_model_messages[] = {
|
|||||||
/*02*/ "Emulation accuracy",
|
/*02*/ "Emulation accuracy",
|
||||||
/*03*/ "^|Fast|Compatible|Cycle-exact",
|
/*03*/ "^|Fast|Compatible|Cycle-exact",
|
||||||
/*04*/ "Memory options",
|
/*04*/ "Memory options",
|
||||||
|
/*05*/ "CPU/Chipset options",
|
||||||
NULL
|
NULL
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -63,6 +64,14 @@ static const char *memory_messages[] = {
|
|||||||
NULL
|
NULL
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static const char *cpu_chipset_messages[] = {
|
||||||
|
/*00*/ "CPU type",
|
||||||
|
/*01*/ "^|68000|68010|68020",
|
||||||
|
/*03*/ "Chipset type",
|
||||||
|
/*04*/ "^|OCS|ECS|ECS full|AGA",
|
||||||
|
NULL
|
||||||
|
};
|
||||||
|
|
||||||
static const char *options_messages[] = {
|
static const char *options_messages[] = {
|
||||||
/*00*/ "CPU to chipset speed",
|
/*00*/ "CPU to chipset speed",
|
||||||
/*01*/ "^|max|1|2|3|5|10|15|20",
|
/*01*/ "^|max|1|2|3|5|10|15|20",
|
||||||
@ -73,6 +82,22 @@ static const char *options_messages[] = {
|
|||||||
NULL
|
NULL
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
static int find_index_by_val(int val, const int vec[], int vec_size)
|
||||||
|
{
|
||||||
|
int i;
|
||||||
|
|
||||||
|
for (i = 0; i < vec_size; i++)
|
||||||
|
{
|
||||||
|
if (val == vec[i])
|
||||||
|
return i;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Some default */
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/* All this is taken directly from PSPUAE */
|
/* All this is taken directly from PSPUAE */
|
||||||
static void A500_config(void)
|
static void A500_config(void)
|
||||||
{
|
{
|
||||||
@ -172,18 +197,23 @@ static void insert_floppy(int which)
|
|||||||
changed_prefs.df[which][0] = '\0';
|
changed_prefs.df[which][0] = '\0';
|
||||||
}
|
}
|
||||||
|
|
||||||
static int find_size(int size, const int vec[], int vec_size)
|
static void cpu_chipset_options(void)
|
||||||
{
|
{
|
||||||
int i;
|
const int chipset_masks[] = {0, CSMASK_ECS_AGNUS, CSMASK_ECS_DENISE, CSMASK_AGA};
|
||||||
|
int submenus[2], opt;
|
||||||
|
|
||||||
for (i = 0; i < vec_size; i++)
|
submenus[0] = currprefs.cpu_level;
|
||||||
{
|
submenus[1] = find_index_by_val(currprefs.chipset_mask, chipset_masks,
|
||||||
if (size == vec[i])
|
sizeof(chipset_masks) / sizeof(chipset_masks[0]));
|
||||||
return i;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Some default */
|
opt = menu_select_title("CPU/Chipset options menu",
|
||||||
return 0;
|
cpu_chipset_messages, submenus);
|
||||||
|
if (opt < 0)
|
||||||
|
return;
|
||||||
|
changed_prefs.cpu_level = submenus[0];
|
||||||
|
changed_prefs.chipset_mask = chipset_masks[submenus[1]];
|
||||||
|
|
||||||
|
prefs_has_changed = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void memory_options(void)
|
static void memory_options(void)
|
||||||
@ -198,11 +228,11 @@ static void memory_options(void)
|
|||||||
memset(submenus, 0, sizeof(submenus));
|
memset(submenus, 0, sizeof(submenus));
|
||||||
|
|
||||||
/* Setup current values */
|
/* Setup current values */
|
||||||
submenus[0] = find_size(currprefs.chipmem_size, chipmem_size,
|
submenus[0] = find_index_by_val(currprefs.chipmem_size, chipmem_size,
|
||||||
sizeof(chipmem_size) / sizeof(chipmem_size[0]));
|
sizeof(chipmem_size) / sizeof(chipmem_size[0]));
|
||||||
submenus[1] = find_size(currprefs.bogomem_size, slowmem_size,
|
submenus[1] = find_index_by_val(currprefs.bogomem_size, slowmem_size,
|
||||||
sizeof(slowmem_size) / sizeof(slowmem_size[0]));
|
sizeof(slowmem_size) / sizeof(slowmem_size[0]));
|
||||||
submenus[2] = find_size(currprefs.fastmem_size, fastmem_size,
|
submenus[2] = find_index_by_val(currprefs.fastmem_size, fastmem_size,
|
||||||
sizeof(fastmem_size) / sizeof(fastmem_size[0]));
|
sizeof(fastmem_size) / sizeof(fastmem_size[0]));
|
||||||
|
|
||||||
opt = menu_select_title("Memory options menu",
|
opt = menu_select_title("Memory options menu",
|
||||||
@ -429,6 +459,8 @@ static void amiga_model_options(void)
|
|||||||
set_emulation_accuracy(submenus[1]);
|
set_emulation_accuracy(submenus[1]);
|
||||||
if (opt == 4)
|
if (opt == 4)
|
||||||
memory_options();
|
memory_options();
|
||||||
|
else if (opt == 5)
|
||||||
|
cpu_chipset_options();
|
||||||
prefs_has_changed = 1;
|
prefs_has_changed = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user