--- previous/src/gui-sdl/dlgAdvanced.c 2018/04/24 19:30:44 1.1.1.3 +++ previous/src/gui-sdl/dlgAdvanced.c 2018/04/24 19:32:49 1.1.1.4 @@ -13,41 +13,45 @@ const char DlgAdvanced_fileid[] = "Hatar #include "sdlgui.h" -#define DLGADV_16MHZ 4 -#define DLGADV_20MHZ 5 -#define DLGADV_25MHZ 6 -#define DLGADV_33MHZ 7 -#define DLGADV_40MHZ 8 - -#define DLGADV_8MB 11 -#define DLGADV_16MB 12 -#define DLGADV_32MB 13 -#define DLGADV_CUSTOM 14 -#define DLGADV_64MB 15 -#define DLGADV_128MB 16 - -#define DLGADV_120NS 19 -#define DLGADV_100NS 20 -#define DLGADV_80NS 21 -#define DLGADV_60NS 22 - -#define DLGADV_DSPNONE 25 -#define DLGADV_DSP56001 26 -#define DLGADV_DSPMEM24 28 -#define DLGADV_DSPMEM96 29 - -#define DLGADV_NBIC 32 +#define DLGADV_REALTIME 4 +#define DLGADV_16MHZ 5 +#define DLGADV_20MHZ 6 +#define DLGADV_25MHZ 7 +#define DLGADV_33MHZ 8 +#define DLGADV_40MHZ 9 + +#define DLGADV_CUSTOM 12 +#define DLGADV_8MB 13 +#define DLGADV_16MB 14 +#define DLGADV_32MB 15 +#define DLGADV_64MB 16 +#define DLGADV_128MB 17 + +#define DLGADV_120NS 20 +#define DLGADV_100NS 21 +#define DLGADV_80NS 22 +#define DLGADV_60NS 23 + +#define DLGADV_DSPNONE 26 +#define DLGADV_DSP56001 27 +#define DLGADV_DSPMEM24 29 +#define DLGADV_DSPMEM96 30 + +#define DLGADV_NBIC 33 -#define DLGADV_SCSI_OLD 35 -#define DLGADV_SCSI_NEW 36 +#define DLGADV_SCSI_OLD 36 +#define DLGADV_SCSI_NEW 37 -#define DLGADV_RTC_OLD 39 -#define DLGADV_RTC_NEW 40 +#define DLGADV_RTC_OLD 40 +#define DLGADV_RTC_NEW 41 -#define DLGADV_EXIT 41 +#define DLGADV_EXIT 42 char custom_memory[16] = "Customize"; +#define DLG_VAR_Y 16 +#define DLG_MEM_Y 16 + static SGOBJ advanceddlg[] = { { SGBOX, 0, 0, 0,0, 63,31, NULL }, @@ -55,6 +59,7 @@ static SGOBJ advanceddlg[] = { SGBOX, 0, 0, 2,3, 14,15, NULL }, { SGTEXT, 0, 0, 3,4, 12,1, "CPU clock" }, + { SGRADIOBUT, 0, 0, 4,DLG_VAR_Y, 10,1, "Variable" }, { SGRADIOBUT, 0, 0, 4,6, 8,1, "16 MHz" }, { SGRADIOBUT, 0, 0, 4,8, 8,1, "20 MHz" }, { SGRADIOBUT, 0, 0, 4,10, 8,1, "25 MHz" }, @@ -63,10 +68,10 @@ static SGOBJ advanceddlg[] = { SGBOX, 0, 0, 17,3, 14,15, NULL }, { SGTEXT, 0, 0, 18,4, 12,1, "Memory size" }, + { SGRADIOBUT, 0, 0, 19,DLG_MEM_Y, 8,1, custom_memory }, { SGRADIOBUT, 0, 0, 19,6, 6,1, "8 MB" }, { SGRADIOBUT, 0, 0, 19,8, 7,1, "16 MB" }, { SGRADIOBUT, 0, 0, 19,10, 7,1, "32 MB" }, - { SGRADIOBUT, 0, 0, 19,16, 7,1, custom_memory }, { SGRADIOBUT, 0, 0, 19,12, 7,1, "64 MB" }, { SGRADIOBUT, 0, 0, 19,14, 8,1, "128 MB" }, @@ -105,11 +110,11 @@ static SGOBJ advanceddlg[] = /* Variable objects */ -SGOBJ disable_128mb_opt = { SGTEXT, 0, 0, 19,14, 8,1, " " }; +SGOBJ disable_128mb_opt = { SGTEXT, 0, 0, 19,14, 0,1, "" }; SGOBJ enable_128mb_opt = { SGRADIOBUT, 0, 0, 19,14, 8,1, "128 MB" }; -SGOBJ disable_64mb_opt = { SGTEXT, 0, 0, 19,12, 7,1, " " }; +SGOBJ disable_64mb_opt = { SGTEXT, 0, 0, 19,12, 0,1, "" }; SGOBJ enable_64mb_opt = { SGRADIOBUT, 0, 0, 19,12, 7,1, "64 MB" }; -SGOBJ disable_40mhz_opt = { SGTEXT, 0, 0, 4,14, 8,1, " " }; +SGOBJ disable_40mhz_opt = { SGTEXT, 0, 0, 4,14, 0,1, "" }; SGOBJ enable_40mhz_opt = { SGRADIOBUT, 0, 0, 4,14, 8,1, "40 MHz" }; /* Default configuration constants */ @@ -130,13 +135,13 @@ int defmemsizecount=0; /* Compare defsiz /** * Draw the memory options. */ -void Dialog_AdvancedDlg_MemDraw(void) { +static void Dialog_AdvancedDlg_MemDraw(void) { int i; int memsum, memsize; sprintf(custom_memory, "Customize"); - for (i = DLGADV_8MB; i <= DLGADV_128MB; i++) + for (i = DLGADV_CUSTOM; i <= DLGADV_128MB; i++) { advanceddlg[i].state &= ~SG_SELECTED; } @@ -221,48 +226,59 @@ void Dialog_AdvancedDlg(void) { { advanceddlg[i].state &= ~SG_SELECTED; } - switch (ConfigureParams.System.nCpuFreq) - { - case 16: - advanceddlg[DLGADV_16MHZ].state |= SG_SELECTED; - break; - case 20: - advanceddlg[DLGADV_20MHZ].state |= SG_SELECTED; - break; - case 25: - advanceddlg[DLGADV_25MHZ].state |= SG_SELECTED; - break; - case 33: - advanceddlg[DLGADV_33MHZ].state |= SG_SELECTED; - break; - case 40: - advanceddlg[DLGADV_40MHZ].state |= SG_SELECTED; - break; - default: - break; + + /* Remove 40 MHz option if system is non-Turbo */ + if (ConfigureParams.System.bTurbo) { + advanceddlg[DLGADV_40MHZ] = enable_40mhz_opt; + advanceddlg[DLGADV_REALTIME].y = DLG_VAR_Y; + } else { + advanceddlg[DLGADV_40MHZ] = disable_40mhz_opt; + advanceddlg[DLGADV_REALTIME].y = DLG_VAR_Y-2; } - - /* Remove 40 MHz option if system is non-Turbo */ - if (ConfigureParams.System.bTurbo) { - advanceddlg[DLGADV_40MHZ] = enable_40mhz_opt; - } else { - advanceddlg[DLGADV_40MHZ] = disable_40mhz_opt; - } - + + if (ConfigureParams.System.bRealtime) { + advanceddlg[DLGADV_REALTIME].state |= SG_SELECTED; + } else { + advanceddlg[DLGADV_REALTIME].state &= ~SG_SELECTED; + switch (ConfigureParams.System.nCpuFreq) + { + case 16: + advanceddlg[DLGADV_16MHZ].state |= SG_SELECTED; + break; + case 20: + advanceddlg[DLGADV_20MHZ].state |= SG_SELECTED; + break; + case 25: + advanceddlg[DLGADV_25MHZ].state |= SG_SELECTED; + break; + case 33: + advanceddlg[DLGADV_33MHZ].state |= SG_SELECTED; + break; + case 40: + advanceddlg[DLGADV_40MHZ].state |= SG_SELECTED; + break; + default: + break; + } + } + /* Remove 64 and 128MB option if system is non-Turbo Slab, * remove 128MB option if system is not Turbo */ if (ConfigureParams.System.bTurbo) { advanceddlg[DLGADV_64MB] = enable_64mb_opt; advanceddlg[DLGADV_128MB] = enable_128mb_opt; + advanceddlg[DLGADV_CUSTOM].y = DLG_MEM_Y; defmemsizecount = 9; } else if (ConfigureParams.System.bColor || ConfigureParams.System.nMachineType == NEXT_STATION) { advanceddlg[DLGADV_64MB] = disable_64mb_opt; advanceddlg[DLGADV_128MB] = disable_128mb_opt; + advanceddlg[DLGADV_CUSTOM].y = DLG_MEM_Y-4; defmemsizecount = 6; } else { advanceddlg[DLGADV_64MB] = enable_64mb_opt; advanceddlg[DLGADV_128MB] = disable_128mb_opt; + advanceddlg[DLGADV_CUSTOM].y = DLG_MEM_Y-2; defmemsizecount = 8; } @@ -406,18 +422,25 @@ void Dialog_AdvancedDlg(void) { /* Read values from dialog: */ - - if (advanceddlg[DLGADV_16MHZ].state & SG_SELECTED) - ConfigureParams.System.nCpuFreq = 16; - else if (advanceddlg[DLGADV_20MHZ].state & SG_SELECTED) - ConfigureParams.System.nCpuFreq = 20; - else if (advanceddlg[DLGADV_25MHZ].state & SG_SELECTED) - ConfigureParams.System.nCpuFreq = 25; - else if (advanceddlg[DLGADV_33MHZ].state & SG_SELECTED) - ConfigureParams.System.nCpuFreq = 33; - else - ConfigureParams.System.nCpuFreq = 40; - + + if (advanceddlg[DLGADV_REALTIME].state & SG_SELECTED) { + ConfigureParams.System.bRealtime = true; + ConfigureParams.System.nCpuFreq = ConfigureParams.System.bTurbo ? 33 : 25; + } else { + ConfigureParams.System.bRealtime = false; + + if (advanceddlg[DLGADV_16MHZ].state & SG_SELECTED) + ConfigureParams.System.nCpuFreq = 16; + else if (advanceddlg[DLGADV_20MHZ].state & SG_SELECTED) + ConfigureParams.System.nCpuFreq = 20; + else if (advanceddlg[DLGADV_25MHZ].state & SG_SELECTED) + ConfigureParams.System.nCpuFreq = 25; + else if (advanceddlg[DLGADV_33MHZ].state & SG_SELECTED) + ConfigureParams.System.nCpuFreq = 33; + else + ConfigureParams.System.nCpuFreq = 40; + } + if (advanceddlg[DLGADV_120NS].state & SG_SELECTED) ConfigureParams.Memory.nMemorySpeed = MEMORY_120NS; else if (advanceddlg[DLGADV_100NS].state & SG_SELECTED)