minimig: use detected SDRAM size to adjust selected FastRAM config if required.
This commit is contained in:
4
menu.cpp
4
menu.cpp
@@ -177,7 +177,7 @@ const char *config_tos_usb[] = { "none", "control", "debug", "serial", "parallel
|
||||
|
||||
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", "25M", "58M", "293M", "327M" };
|
||||
const char *config_memory_fast_msg[] = { "none", "2M", "4M", "24M", "56M", "280M", "312M" };
|
||||
|
||||
const char *config_scanlines_msg[] = { "off", "dim", "black" };
|
||||
const char *config_ar_msg[] = { "4:3", "16:9" };
|
||||
@@ -3499,7 +3499,7 @@ void HandleUI(void)
|
||||
OsdWrite(6, s, menusub == 4, 0);
|
||||
|
||||
OsdWrite(7, "", 0, 0);
|
||||
OsdWrite(8, ((minimig_config.memory & 0x80) && !(minimig_config.memory & 0x10)) ? " ** 64MB SDRAM REQUIRED **" : "", 0, 0);
|
||||
OsdWrite(8, ((minimig_config.memory & 0x80) && !(minimig_config.memory & 0x10) && !(sdram_sz() & 2)) ? " ** 64MB SDRAM REQUIRED **" : "", 0, 0);
|
||||
|
||||
for (int i = 9; i < OsdGetSize() - 1; i++) OsdWrite(i, "", 0, 0);
|
||||
OsdWrite(OsdGetSize() - 1, STD_EXIT, menusub == 5, 0);
|
||||
|
||||
@@ -299,9 +299,23 @@ static void ApplyConfiguration(char reloadkickstart)
|
||||
}
|
||||
|
||||
printf("CPU clock : %s\n", minimig_config.chipset & 0x01 ? "turbo" : "normal");
|
||||
printf("Chip RAM size : %s\n", config_memory_chip_msg[minimig_config.memory & 0x03]);
|
||||
printf("Slow RAM size : %s\n", config_memory_slow_msg[minimig_config.memory >> 2 & 0x03]);
|
||||
printf("Fast RAM size : %s\n", config_memory_fast_msg[((minimig_config.memory >> 4) & 0x03) | ((minimig_config.memory & 0x80) >> 5)]);
|
||||
uint8_t memcfg = minimig_config.memory;
|
||||
if (!(sdram_sz() & 2))
|
||||
{
|
||||
uint8_t fastram_sz = ((memcfg >> 4) & 0x03) | ((memcfg & 0x80) >> 5);
|
||||
switch (fastram_sz)
|
||||
{
|
||||
case 4:
|
||||
case 6:
|
||||
printf("Warning: config requires >=64MB but <=32MB is installed. Lowering down memory config.\n");
|
||||
fastram_sz--;
|
||||
memcfg = ((fastram_sz << 4) & 0x30) | ((fastram_sz << 5) & 0x80) | (memcfg & ~0xB0);
|
||||
}
|
||||
}
|
||||
|
||||
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("Floppy drives : %u\n", minimig_config.floppy.drives + 1);
|
||||
printf("Floppy speed : %s\n", minimig_config.floppy.speed ? "fast" : "normal");
|
||||
@@ -321,7 +335,7 @@ static void ApplyConfiguration(char reloadkickstart)
|
||||
spi_osd_cmd8(OSD_CMD_RST, rstval);
|
||||
spi_osd_cmd8(OSD_CMD_HDD, (minimig_config.enable_ide ? 1 : 0) | (OpenHardfile(0) ? 2 : 0) | (OpenHardfile(1) ? 4 : 0) | (OpenHardfile(2) ? 8 : 0) | (OpenHardfile(3) ? 16 : 0));
|
||||
|
||||
ConfigMemory(minimig_config.memory);
|
||||
ConfigMemory(memcfg);
|
||||
ConfigCPU(minimig_config.cpu);
|
||||
|
||||
ConfigChipset(minimig_config.chipset);
|
||||
|
||||
@@ -565,7 +565,7 @@ void SetMidiLinkMode(int mode)
|
||||
}
|
||||
}
|
||||
|
||||
static uint16_t sdram_sz(int sz)
|
||||
uint16_t sdram_sz(int sz)
|
||||
{
|
||||
int res = 0;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user