Annotation of previous/src/gui-sdl/dlgAdvanced.c, revision 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.