Annotation of previous/src/gui-sdl/dlgAdvanced.c, revision 1.1.1.1

1.1       root        1: /*
                      2:   Hatari - dlgSystem.c
                      3: 
                      4:   This file is distributed under the GNU Public License, version 2 or at
                      5:   your option any later version. Read the file gpl.txt for details.
                      6: 
                      7:  This file contains 2 system panels :
                      8:     - 1 for the old uae CPU
                      9:     - 1 for the new WinUae cpu
                     10: 
                     11:  The selection is made during compilation with the ENABLE_WINUAE_CPU define
                     12: 
                     13: */
                     14: const char DlgAdvanced_fileid[] = "Hatari dlgAdvanced.c : " __DATE__ " " __TIME__;
                     15: 
                     16: #include "main.h"
                     17: #include "configuration.h"
                     18: #include "dialog.h"
                     19: #include "sdlgui.h"
                     20: 
                     21: 
                     22: #define DLGADV_68030      4
                     23: #define DLGADV_68040      5
                     24: #define DLGADV_68060      6
                     25: 
                     26: #define DLGADV_16MHZ      9
                     27: #define DLGADV_20MHZ      10
                     28: #define DLGADV_25MHZ      11
                     29: #define DLGADV_33MHZ      12
                     30: #define DLGADV_40MHZ      13
                     31: 
                     32: #define DLGADV_FPU68881   16
                     33: #define DLGADV_FPU68882   17
                     34: #define DLGADV_FPU040     18
                     35: 
                     36: #define DLGADV_SCSI_OLD   21
                     37: #define DLGADV_SCSI_NEW   22
                     38: 
                     39: #define DLGADV_RTC_OLD    25
                     40: #define DLGADV_RTC_NEW    26
                     41: 
                     42: #define DLGADV_ADB        29
                     43: 
                     44: #define DLGADV_EXIT       30
                     45: 
                     46: 
                     47: static SGOBJ advanceddlg[] =
                     48: {
                     49:     { SGBOX, 0, 0, 0,0, 57,29, NULL },
                     50:     { SGTEXT, 0, 0, 18,1, 14,1, "Advanced system options" },
                     51:     
                     52:     { SGBOX, 0, 0, 2,3, 14,13, NULL },
                     53:     { SGTEXT, 0, 0, 3,4, 14,1, "CPU type" },
                     54:     { SGRADIOBUT, 0, 0, 4,6, 7,1, "68030" },
                     55:     { SGRADIOBUT, 0, 0, 4,8, 7,1, "68040" },
                     56:     { SGRADIOBUT, 0, 0, 4,10, 7,1, "68060" },
                     57:     
                     58:     { SGBOX, 0, 0, 17,3, 14,13, NULL },
                     59:     { SGTEXT, 0, 0, 18,4, 14,1, "CPU clock" },
                     60:     { SGRADIOBUT, 0, 0, 19,6, 8,1, "16 MHz" },
                     61:     { SGRADIOBUT, 0, 0, 19,8, 8,1, "20 MHz" },
                     62:     { SGRADIOBUT, 0, 0, 19,10, 8,1, "25 MHz" },
                     63:     { SGRADIOBUT, 0, 0, 19,12, 8,1, "33 MHz" },
                     64:     { SGRADIOBUT, 0, 0, 19,14, 8,1, "40 MHz" },
                     65:     
                     66:     { SGBOX, 0, 0, 32,3, 23,13, NULL },
                     67:     { SGTEXT, 0, 0, 33,4, 14,1, "FPU type" },
                     68:     { SGRADIOBUT, 0, 0, 34,6, 7,1, "68881" },
                     69:     { SGRADIOBUT, 0, 0, 34,8, 7,1, "68882" },
                     70:     { SGRADIOBUT, 0, 0, 34,10, 16,1, "68040 internal" },
                     71:     
                     72:     { SGBOX, 0, 0, 2,17, 18,7, NULL },
                     73:     { SGTEXT, 0, 0, 3,18, 14,1, "SCSI controller" },
                     74:     { SGRADIOBUT, 0, 0, 4,20, 10,1, "NCR53C90" },
                     75:     { SGRADIOBUT, 0, 0, 4,22, 11,1, "NCR53C90A" },
                     76:     
                     77:     { SGBOX, 0, 0, 21,17, 16,7, NULL },
                     78:     { SGTEXT, 0, 0, 22,18, 14,1, "RTC chip" },
                     79:     { SGRADIOBUT, 0, 0, 23,20, 12,1, "MC68HC68T1" },
                     80:     { SGRADIOBUT, 0, 0, 23,22, 9,1, "MCS1850" },
                     81:     
                     82:     { SGBOX, 0, 0, 38,17, 17,7, NULL },
                     83:     { SGTEXT, 0, 0, 39,18, 14,1, "ADB" },
                     84:     { SGCHECKBOX, 0, 0, 40,20, 13,1, "Emulate ADB" },
                     85:     
                     86:     { SGBUTTON, SG_DEFAULT, 0, 18,26, 22,1, "Back to system menu" },
                     87:     { -1, 0, 0, 0,0, 0,0, NULL }
                     88: };
                     89: 
                     90: 
                     91: 
                     92: /*-----------------------------------------------------------------------*/
                     93: /**
                     94:   * Show and process the "Advanced" dialog (specific to winUAE cpu).
                     95:   */
                     96: void Dialog_AdvancedDlg(void) {
                     97: 
                     98:        int i;
                     99:     int but;
                    100:  
                    101:        SDLGui_CenterDlg(advanceddlg);
                    102:  
                    103:        /* Set up dialog from actual values: */
                    104:     
                    105:     for (i = DLGADV_68030; i <= DLGADV_68060; i++)
                    106:        {
                    107:                advanceddlg[i].state &= ~SG_SELECTED;
                    108:        }
                    109:        switch (ConfigureParams.System.nCpuLevel)
                    110:        {
                    111:         case 3:
                    112:             advanceddlg[DLGADV_68030].state |= SG_SELECTED;
                    113:             break;
                    114:         case 4:
                    115:             advanceddlg[DLGADV_68040].state |= SG_SELECTED;
                    116:             break;
                    117:         case 5:
                    118:             advanceddlg[DLGADV_68060].state |= SG_SELECTED;
                    119:             break;
                    120:         default:
                    121:             break;
                    122:        }
                    123: 
                    124:     for (i = DLGADV_16MHZ; i <= DLGADV_40MHZ; i++)
                    125:        {
                    126:                advanceddlg[i].state &= ~SG_SELECTED;
                    127:        }
                    128:        switch (ConfigureParams.System.nCpuFreq)
                    129:        {
                    130:         case 16:
                    131:             advanceddlg[DLGADV_16MHZ].state |= SG_SELECTED;
                    132:             break;
                    133:         case 20:
                    134:             advanceddlg[DLGADV_20MHZ].state |= SG_SELECTED;
                    135:             break;
                    136:         case 25:
                    137:             advanceddlg[DLGADV_25MHZ].state |= SG_SELECTED;
                    138:             break;
                    139:         case 33:
                    140:             advanceddlg[DLGADV_33MHZ].state |= SG_SELECTED;
                    141:             break;
                    142:         case 40:
                    143:             advanceddlg[DLGADV_40MHZ].state |= SG_SELECTED;
                    144:             break;
                    145:         default:
                    146:             break;
                    147:        }
                    148:     
                    149:     for (i = DLGADV_FPU68881; i <= DLGADV_FPU040; i++)
                    150:        {
                    151:                advanceddlg[i].state &= ~SG_SELECTED;
                    152:        }
                    153:     switch (ConfigureParams.System.n_FPUType)
                    154:        {
                    155:         case FPU_68881:
                    156:             advanceddlg[DLGADV_FPU68881].state |= SG_SELECTED;
                    157:             break;
                    158:         case FPU_68882:
                    159:             advanceddlg[DLGADV_FPU68882].state |= SG_SELECTED;
                    160:             break;
                    161:         case FPU_CPU:
                    162:             advanceddlg[DLGADV_FPU040].state |= SG_SELECTED;
                    163:             break;
                    164:         default:
                    165:             break;
                    166:        }
                    167:     
                    168:     for (i = DLGADV_SCSI_OLD; i <= DLGADV_SCSI_NEW; i++)
                    169:        {
                    170:                advanceddlg[i].state &= ~SG_SELECTED;
                    171:        }
                    172:     switch (ConfigureParams.System.nSCSI)
                    173:        {
                    174:         case NCR53C90:
                    175:             advanceddlg[DLGADV_SCSI_OLD].state |= SG_SELECTED;
                    176:             break;
                    177:         case NCR53C90A:
                    178:             advanceddlg[DLGADV_SCSI_NEW].state |= SG_SELECTED;
                    179:             break;
                    180:         default:
                    181:             break;
                    182:        }
                    183: 
                    184:     for (i = DLGADV_RTC_OLD; i <= DLGADV_RTC_NEW; i++)
                    185:        {
                    186:                advanceddlg[i].state &= ~SG_SELECTED;
                    187:        }
                    188:     switch (ConfigureParams.System.nRTC)
                    189:        {
                    190:         case MC68HC68T1:
                    191:             advanceddlg[DLGADV_RTC_OLD].state |= SG_SELECTED;
                    192:             break;
                    193:         case MCS1850:
                    194:             advanceddlg[DLGADV_RTC_NEW].state |= SG_SELECTED;
                    195:             break;
                    196:         default:
                    197:             break;
                    198:        }
                    199:     
                    200:     if (ConfigureParams.System.bADB)
                    201:         advanceddlg[DLGADV_ADB].state |= SG_SELECTED;
                    202:     else
                    203:         advanceddlg[DLGADV_ADB].state &= ~SG_SELECTED;
                    204: 
                    205:  
                    206:                
                    207:        /* Draw and process the dialog: */
                    208: 
                    209:     do
                    210:        {
                    211:         but = SDLGui_DoDialog(advanceddlg, NULL);
                    212:         printf("Button: %i\n", but);
                    213:         switch (but) {
                    214:                  
                    215:             default:
                    216:                 break;
                    217:         }
                    218:     }
                    219:     while (but != DLGADV_EXIT && but != SDLGUI_QUIT
                    220:            && but != SDLGUI_ERROR && !bQuitProgram);
                    221:     
                    222:  
                    223:        /* Read values from dialog: */
                    224:     
                    225:     if (advanceddlg[DLGADV_68030].state & SG_SELECTED)
                    226:         ConfigureParams.System.nCpuLevel = 3;
                    227:     else if (advanceddlg[DLGADV_68040].state & SG_SELECTED)
                    228:         ConfigureParams.System.nCpuLevel = 4;
                    229:     else
                    230:         ConfigureParams.System.nCpuLevel = 5;
                    231: 
                    232:     if (advanceddlg[DLGADV_16MHZ].state & SG_SELECTED)
                    233:         ConfigureParams.System.nCpuFreq = 16;
                    234:     else if (advanceddlg[DLGADV_20MHZ].state & SG_SELECTED)
                    235:         ConfigureParams.System.nCpuFreq = 20;
                    236:     else if (advanceddlg[DLGADV_20MHZ].state & SG_SELECTED)
                    237:         ConfigureParams.System.nCpuFreq = 25;
                    238:     else if (advanceddlg[DLGADV_33MHZ].state & SG_SELECTED)
                    239:         ConfigureParams.System.nCpuFreq = 33;
                    240:     else
                    241:         ConfigureParams.System.nCpuFreq = 40;
                    242:     
                    243:     if (advanceddlg[DLGADV_FPU68881].state & SG_SELECTED)
                    244:         ConfigureParams.System.n_FPUType = FPU_68881;
                    245:     else if (advanceddlg[DLGADV_FPU68882].state & SG_SELECTED)
                    246:         ConfigureParams.System.n_FPUType = FPU_68882;
                    247:     else
                    248:         ConfigureParams.System.n_FPUType = FPU_CPU;
                    249:     
                    250:     if (advanceddlg[DLGADV_SCSI_OLD].state & SG_SELECTED)
                    251:         ConfigureParams.System.nSCSI = NCR53C90;
                    252:     else
                    253:         ConfigureParams.System.nSCSI = NCR53C90A;
                    254: 
                    255:     if (advanceddlg[DLGADV_RTC_OLD].state & SG_SELECTED)
                    256:         ConfigureParams.System.nRTC = MC68HC68T1;
                    257:     else
                    258:         ConfigureParams.System.nRTC = MCS1850;
                    259:     
                    260:     if (advanceddlg[DLGADV_ADB].state & SG_SELECTED)
                    261:         ConfigureParams.System.bADB = true;
                    262:     else
                    263:         ConfigureParams.System.bADB = false;
                    264: }
                    265: 

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.