minimig: adjust menu option.

This commit is contained in:
sorgelig
2019-11-10 04:49:28 +08:00
parent ab25a71f9a
commit b7ca2dfbf2
4 changed files with 23 additions and 24 deletions

View File

@@ -177,17 +177,10 @@ const char *config_tos_mem[] = { "512 kB", "1 MB", "2 MB", "4 MB", "8 MB", "14 M
const char *config_tos_wrprot[] = { "none", "A:", "B:", "A: and B:" };
const char *config_tos_usb[] = { "none", "control", "debug", "serial", "parallel", "midi" };
const char *config_memory_chip_msg[] = { "512K", "1M", "1.5M", "2M" };
const char *config_memory_slow_msg[] = { "none", "512K", "1M", "1.5M" };
const char *config_memory_fast_msg[] = { "none", "2M", "4M", "8M", "256M", "384M", "256M" };
const char *config_scanlines_msg[] = { "Off", "HQ2x", "CRT 25%" , "CRT 50%" , "CRT 75%" };
const char *config_ar_msg[] = { "4:3", "16:9" };
const char *config_blank_msg[] = { "Blank", "Blank+" };
const char *config_dither_msg[] = { "off", "SPT", "RND", "S+R" };
const char *config_cpu_msg[] = { "68000", "68010", "-----","68020" };
const char *config_chipset_msg[] = { "OCS-A500", "OCS-A1000", "ECS", "---", "---", "---", "AGA", "---" };
const char *config_turbo_msg[] = { "none", "CHIPRAM", "KICK", "BOTH" };
const char *config_autofire_msg[] = { " AUTOFIRE OFF", " AUTOFIRE FAST", " AUTOFIRE MEDIUM", " AUTOFIRE SLOW" };
const char *config_cd32pad_msg[] = { "OFF", "ON" };
const char *config_button_turbo_msg[] = { "OFF", "FAST", "MEDIUM", "SLOW" };
@@ -2994,7 +2987,7 @@ void HandleUI(void)
OsdWrite(6, "", 0, 0);
OsdWrite(7, " Hard disks", menusub == 5, 0);
OsdWrite(8, " Chipset", menusub == 6, 0);
OsdWrite(8, " CPU & Chipset", menusub == 6, 0);
OsdWrite(9, " Memory", menusub == 7, 0);
OsdWrite(10, " Audio & Video", menusub == 8, 0);
OsdWrite(11, "", 0, 0);
@@ -3474,7 +3467,7 @@ void HandleUI(void)
minimig_config.hardfile[2].enabled ||
minimig_config.hardfile[3].enabled)) ? "/HD" : "",
config_memory_chip_msg[minimig_config.memory & 0x03],
config_memory_fast_msg[((minimig_config.memory >> 4) & 0x03) | ((minimig_config.memory&0x80) >> 5)],
config_memory_fast_msg[(minimig_config.cpu>>1) & 1][((minimig_config.memory >> 4) & 0x03) | ((minimig_config.memory&0x80) >> 5)],
((minimig_config.memory >> 2) & 0x03) ? "+" : "",
((minimig_config.memory >> 2) & 0x03) ? config_memory_slow_msg[(minimig_config.memory >> 2) & 0x03] : "",
(minimig_config.memory & 0x40) ? " HRT" : ""
@@ -3520,7 +3513,7 @@ void HandleUI(void)
OsdWrite(m++, s, menusub == 2, 0);
strcpy(s, " D-Cache : ");
strcat(s, (minimig_config.cpu & 16) ? "ON" : "OFF");
OsdWrite(m++, s, menusub == 3, 0);
OsdWrite(m++, s, menusub == 3, !(minimig_config.cpu & 0xC));
OsdWrite(m++, "", 0, 0);
strcpy(s, " Video : ");
strcat(s, minimig_config.chipset & CONFIG_NTSC ? "NTSC" : "PAL");
@@ -3579,7 +3572,7 @@ void HandleUI(void)
minimig_config.cpu ^= 8;
minimig_ConfigCPU(minimig_config.cpu);
}
else if (menusub == 3)
else if (menusub == 3 && (minimig_config.cpu & 0xC))
{
menustate = MENU_SETTINGS_CHIPSET1;
minimig_config.cpu ^= 16;
@@ -3662,7 +3655,7 @@ void HandleUI(void)
strcat(s, config_memory_chip_msg[minimig_config.memory & 0x03]);
OsdWrite(1, s, menusub == 0, 0);
strcpy(s, " FAST : ");
strcat(s, config_memory_fast_msg[((minimig_config.memory >> 4) & 0x03) | ((minimig_config.memory&0x80) >> 5)]);
strcat(s, config_memory_fast_msg[(minimig_config.cpu>>1) & 1][((minimig_config.memory >> 4) & 0x03) | ((minimig_config.memory&0x80) >> 5)]);
OsdWrite(2, s, menusub == 1, 0);
strcpy(s, " SLOW : ");
strcat(s, config_memory_slow_msg[(minimig_config.memory >> 2) & 0x03]);
@@ -3696,6 +3689,7 @@ void HandleUI(void)
{
uint8_t c = (((minimig_config.memory >> 4) & 0x03) | ((minimig_config.memory & 0x80) >> 5))+1;
if (c > 5) c = 0;
if (!(minimig_config.cpu & 2) && c > 3) c = 0;
minimig_config.memory = ((c<<4) & 0x30) | ((c<<5) & 0x80) | (minimig_config.memory & ~0xB0);
menustate = MENU_SETTINGS_MEMORY1;
}

8
menu.h
View File

@@ -3,14 +3,6 @@
#include <inttypes.h>
// UI strings, used by boot messages
extern const char *config_memory_chip_msg[];
extern const char *config_memory_slow_msg[];
extern const char *config_memory_fast_msg[];
extern const char *config_cpu_msg[];
extern const char *config_hdf_msg[];
extern const char *config_chipset_msg[];
void HandleUI(void);
void menu_key_set(unsigned int c);
void PrintFileName(char *name, int row, int maxinv);

View File

@@ -16,6 +16,13 @@
#include "minimig_hdd.h"
#include "minimig_config.h"
const char *config_memory_chip_msg[] = { "512K", "1M", "1.5M", "2M" };
const char *config_memory_slow_msg[] = { "none", "512K", "1M", "1.5M" };
const char *config_memory_fast_msg[][8] = { { "none", "2M", "4M", "8M", "8M", "8M", "8M", "8M" } ,
{ "none", "2M", "4M", "8M", "256M", "384M", "256M", "256M" } };
const char *config_cpu_msg[] = { "68000", "68010", "-----","68020" };
const char *config_chipset_msg[] = { "OCS-A500", "OCS-A1000", "ECS", "---", "---", "---", "AGA", "---" };
typedef struct
{
char id[8];
@@ -302,7 +309,7 @@ static void ApplyConfiguration(char reloadkickstart)
printf("Chip RAM size : %s\n", config_memory_chip_msg[memcfg & 0x03]);
printf("Slow RAM size : %s\n", config_memory_slow_msg[memcfg >> 2 & 0x03]);
printf("Fast RAM size : %s\n", config_memory_fast_msg[((memcfg >> 4) & 0x03) | ((memcfg & 0x80) >> 5)]);
printf("Fast RAM size : %s\n", config_memory_fast_msg[(minimig_config.cpu >> 1) & 1][((memcfg >> 4) & 0x03) | ((memcfg & 0x80) >> 5)]);
printf("Floppy drives : %u\n", minimig_config.floppy.drives + 1);
printf("Floppy speed : %s\n", minimig_config.floppy.speed ? "fast" : "normal");
@@ -464,9 +471,9 @@ int minimig_cfg_load(int num)
// print config to boot screen
char cfg_str[256];
sprintf(cfg_str, "CPU: %s, Chipset: %s, ChipRAM: %s, FastRAM: %s, SlowRAM: %s",
config_cpu_msg[minimig_config.cpu & 0x03], config_chipset_msg[(minimig_config.chipset >> 2) & 7],
config_memory_chip_msg[(minimig_config.memory >> 0) & 0x03], config_memory_fast_msg[((minimig_config.memory >> 4) & 0x03) | ((minimig_config.memory & 0x80) >> 5)], config_memory_slow_msg[(minimig_config.memory >> 2) & 0x03]
);
config_cpu_msg[minimig_config.cpu & 0x03], config_chipset_msg[(minimig_config.chipset >> 2) & 7],
config_memory_chip_msg[(minimig_config.memory >> 0) & 0x03], config_memory_fast_msg[(minimig_config.cpu >> 1) & 1][((minimig_config.memory >> 4) & 0x03) | ((minimig_config.memory & 0x80) >> 5)], config_memory_slow_msg[(minimig_config.memory >> 2) & 0x03]
);
BootPrintEx(cfg_str);
input_poll(0);

View File

@@ -13,6 +13,12 @@
#define CONFIG_FLOPPY1X 0
#define CONFIG_FLOPPY2X 1
extern const char *config_memory_chip_msg[];
extern const char *config_memory_slow_msg[];
extern const char *config_memory_fast_msg[][8];
extern const char *config_cpu_msg[];
extern const char *config_chipset_msg[];
typedef struct
{
unsigned char lores;