Annotation of previous/src/gui-sdl/dlgSystem.c, revision 1.1.1.5

1.1       root        1: /*
1.1.1.4   root        2:   Previous - dlgSystem.c
1.1       root        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.
1.1.1.2   root        6: 
1.1       root        7: */
1.1.1.4   root        8: 
                      9: const char DlgSystem_fileid[] = "Previous dlgSystem.c : " __DATE__ " " __TIME__;
1.1       root       10: 
                     11: #include "main.h"
                     12: #include "configuration.h"
                     13: #include "dialog.h"
                     14: #include "sdlgui.h"
                     15: 
                     16: 
1.1.1.3   root       17: #define DLGSYS_CUBE030    4
1.1.1.4   root       18: #define DLGSYS_CUBE       5
                     19: #define DLGSYS_CUBETURBO  6
                     20: #define DLGSYS_SLAB       7
                     21: #define DLGSYS_SLABTURBO  8
                     22: #define DLGSYS_SLABCOLOR  9
1.1.1.3   root       23: 
1.1.1.4   root       24: #define DLGSYS_CUSTOMIZE  10
                     25: #define DLGSYS_RESET      11
1.1.1.3   root       26: 
1.1.1.4   root       27: #define DLGSYS_EXIT       32
1.1.1.3   root       28: 
                     29: /* Variable strings */
                     30: char cpu_type[16] = "68030";
                     31: char cpu_clock[16] = "25 MHz";
                     32: char fpu_type[16] = "68882";
1.1.1.4   root       33: char dsp_type[16] = "56001";
                     34: char dsp_memory[16] = "24 kB";
                     35: char main_memory[16] = "8 MB";
1.1.1.3   root       36: char scsi_controller[16] = "NCR53C90";
                     37: char rtc_chip[16] = "MC68HC68T1";
1.1.1.4   root       38: char nbic_present[16] = "none";
1.1.1.3   root       39: 
                     40: /* Additional functions */
                     41: void print_system_overview(void);
1.1.1.4   root       42: void update_system_selection(void);
1.1.1.3   root       43: void get_default_values(void);
1.1       root       44: 
                     45: 
1.1.1.3   root       46: static SGOBJ systemdlg[] =
1.1       root       47: {
1.1.1.4   root       48:     { SGBOX, 0, 0, 0,0, 58,27, NULL },
                     49:     { SGTEXT, 0, 0, 22,1, 14,1, "System options" },
                     50:     
                     51:     { SGBOX, 0, 0, 2,3, 25,17, NULL },
                     52:     { SGTEXT, 0, 0, 3,4, 14,1, "Machine type" },
                     53:     { SGRADIOBUT, 0, 0, 5,6, 15,1, "NeXT Computer" },
                     54:     { SGRADIOBUT, 0, 0, 5,8, 10,1, "NeXTcube" },
                     55:     { SGCHECKBOX, 0, 0, 7,9, 7,1, "Turbo" },
                     56:     { SGRADIOBUT, 0, 0, 5,11, 13,1, "NeXTstation" },
                     57:     { SGCHECKBOX, 0, 0, 7,12, 7,1, "Turbo" },
                     58:     { SGCHECKBOX, 0, 0, 7,13, 7,1, "Color" },
                     59:     
                     60:     { SGBUTTON, SG_DEFAULT, 0, 5,16, 19,1, "Customize" },
                     61:     { SGBUTTON, SG_DEFAULT, 0, 5,18, 19,1, "System defaults" },
                     62: 
                     63:     { SGTEXT, 0, 0, 30,4, 13,1, "System overview:" },
                     64:     { SGTEXT, 0, 0, 30,6, 13,1, "CPU clock:" },
                     65:     { SGTEXT, 0, 0, 44,6, 13,1, cpu_clock },
                     66:     { SGTEXT, 0, 0, 30,7, 13,1, "CPU type:" },
                     67:     { SGTEXT, 0, 0, 44,7, 13,1, cpu_type },
1.1.1.3   root       68:     { SGTEXT, 0, 0, 30,8, 13,1, "FPU type:" },
                     69:     { SGTEXT, 0, 0, 44,8, 13,1, fpu_type },
1.1.1.4   root       70:     { SGTEXT, 0, 0, 30,9, 13,1, "DSP type:" },
                     71:     { SGTEXT, 0, 0, 44,9, 13,1, dsp_type },
                     72:     { SGTEXT, 0, 0, 30,10, 13,1, "DSP memory:" },
                     73:     { SGTEXT, 0, 0, 44,10, 13,1, dsp_memory },
                     74:     { SGTEXT, 0, 0, 30,11, 13,1, "Main memory:" },
                     75:     { SGTEXT, 0, 0, 44,11, 13,1, main_memory },
                     76:     { SGTEXT, 0, 0, 30,12, 13,1, "SCSI chip:" },
                     77:     { SGTEXT, 0, 0, 44,12, 13,1, scsi_controller },
                     78:     { SGTEXT, 0, 0, 30,13, 13,1, "RTC chip:" },
                     79:     { SGTEXT, 0, 0, 44,13, 13,1, rtc_chip },
                     80:     { SGTEXT, 0, 0, 30,14, 13,1, "NBIC:" },
                     81:     { SGTEXT, 0, 0, 44,14, 13,1, nbic_present },
                     82: 
                     83:     { SGTEXT, 0, 0, 4,21, 13,1, "Changing machine type resets all advanced options." },
                     84:     
                     85:     { SGBUTTON, SG_DEFAULT, 0, 18,24, 21,1, "Back to main menu" },
                     86: 
                     87:     { -1, 0, 0, 0,0, 0,0, NULL }
                     88: };
1.1       root       89: 
                     90: 
1.1.1.3   root       91: /* Function to print system overview */
1.1       root       92: 
1.1.1.3   root       93: void print_system_overview(void) {
                     94:     switch (ConfigureParams.System.nCpuLevel) {
                     95:         case 0:
                     96:             sprintf(cpu_type, "68000"); break;
                     97:         case 1:
                     98:             sprintf(cpu_type, "68010"); break;
                     99:         case 2:
                    100:             sprintf(cpu_type, "68020"); break;
                    101:         case 3:
                    102:             sprintf(cpu_type, "68030"); break;
                    103:         case 4:
                    104:             sprintf(cpu_type, "68040"); break;
                    105:         case 5:
                    106:             sprintf(cpu_type, "68060"); break;
                    107:         default: break;
                    108:     }
                    109:     
1.1.1.5 ! root      110:     if(ConfigureParams.System.bRealtime) sprintf(cpu_clock, "Variable");
        !           111:     else                                 sprintf(cpu_clock, "%i MHz", ConfigureParams.System.nCpuFreq);
1.1.1.3   root      112:     
1.1.1.4   root      113:     sprintf(main_memory, "%i MB", Configuration_CheckMemory(ConfigureParams.Memory.nMemoryBankSize));
                    114:     
                    115:     sprintf(dsp_memory, "%i kB", ConfigureParams.System.bDSPMemoryExpansion?96:24);
1.1.1.3   root      116:     
                    117:     switch (ConfigureParams.System.n_FPUType) {
                    118:         case FPU_NONE:
                    119:             sprintf(fpu_type, "none"); break;
                    120:         case FPU_68881:
                    121:             sprintf(fpu_type, "68881"); break;
                    122:         case FPU_68882:
                    123:             sprintf(fpu_type, "68882"); break;
                    124:         case FPU_CPU:
1.1.1.4   root      125:             sprintf(fpu_type, "68040"); break;
                    126:         default: break;
                    127:     }
                    128:     
                    129:     switch (ConfigureParams.System.nDSPType) {
                    130:         case DSP_TYPE_NONE:
                    131:         case DSP_TYPE_DUMMY:
                    132:             sprintf(dsp_type, "none"); break;
                    133:         case DSP_TYPE_EMU:
                    134:             sprintf(dsp_type, "56001"); break;
                    135:             
1.1.1.3   root      136:         default: break;
                    137:     }
                    138:     
                    139:     switch (ConfigureParams.System.nSCSI) {
                    140:         case NCR53C90:
                    141:             sprintf(scsi_controller, "NCR53C90"); break;
                    142:         case NCR53C90A:
                    143:             sprintf(scsi_controller, "NCR53C90A"); break;
                    144:         default: break;
                    145:     }
                    146:     
                    147:     switch (ConfigureParams.System.nRTC) {
                    148:         case MC68HC68T1:
                    149:             sprintf(rtc_chip, "MC68HC68T1"); break;
1.1.1.4   root      150:         case MCCS1850:
                    151:             sprintf(rtc_chip, "MCCS1850"); break;
1.1.1.3   root      152:         default: break;
                    153:     }
                    154:     
1.1.1.4   root      155:     if (ConfigureParams.System.bNBIC) {
                    156:         sprintf(nbic_present, "present");
                    157:     } else {
                    158:         sprintf(nbic_present, "none");
                    159:     }
                    160:     
                    161:     update_system_selection();
1.1       root      162: }
1.1.1.2   root      163: 
                    164: 
1.1.1.4   root      165: /* Function to select and unselect system options */
                    166: void update_system_selection(void) {
1.1.1.3   root      167:     switch (ConfigureParams.System.nMachineType) {
                    168:         case NEXT_CUBE030:
1.1.1.4   root      169:             systemdlg[DLGSYS_CUBE030].state |= SG_SELECTED;
                    170:             systemdlg[DLGSYS_CUBE].state &= ~SG_SELECTED;
                    171:             systemdlg[DLGSYS_CUBETURBO].state &= ~SG_SELECTED;
                    172:             systemdlg[DLGSYS_SLAB].state &= ~SG_SELECTED;
                    173:             systemdlg[DLGSYS_SLABCOLOR].state &= ~SG_SELECTED;
                    174:             systemdlg[DLGSYS_SLABTURBO].state &= ~SG_SELECTED;
                    175:             break;
                    176:         case NEXT_CUBE040:
                    177:             systemdlg[DLGSYS_CUBE030].state &= ~SG_SELECTED;
                    178:             systemdlg[DLGSYS_CUBE].state |= SG_SELECTED;
                    179:             if (ConfigureParams.System.bTurbo) {
                    180:                 systemdlg[DLGSYS_CUBETURBO].state |= SG_SELECTED;
                    181:             } else {
                    182:                 systemdlg[DLGSYS_CUBETURBO].state &= ~SG_SELECTED;
                    183:             }
                    184:             systemdlg[DLGSYS_SLAB].state &= ~SG_SELECTED;
                    185:             systemdlg[DLGSYS_SLABCOLOR].state &= ~SG_SELECTED;
                    186:             systemdlg[DLGSYS_SLABTURBO].state &= ~SG_SELECTED;
1.1.1.3   root      187:             break;
                    188:         case NEXT_STATION:
1.1.1.4   root      189:             systemdlg[DLGSYS_CUBE030].state &= ~SG_SELECTED;
                    190:             systemdlg[DLGSYS_CUBE].state &= ~SG_SELECTED;
                    191:             systemdlg[DLGSYS_CUBETURBO].state &= ~SG_SELECTED;
                    192:             systemdlg[DLGSYS_SLAB].state |= SG_SELECTED;
                    193:             if (ConfigureParams.System.bTurbo) {
                    194:                 systemdlg[DLGSYS_SLABTURBO].state |= SG_SELECTED;
                    195:             } else {
                    196:                 systemdlg[DLGSYS_SLABTURBO].state &= ~SG_SELECTED;
                    197:             }
                    198:             if (ConfigureParams.System.bColor) {
                    199:                 systemdlg[DLGSYS_SLABCOLOR].state |= SG_SELECTED;
                    200:             } else {
                    201:                 systemdlg[DLGSYS_SLABCOLOR].state &= ~SG_SELECTED;
                    202:             }
1.1.1.3   root      203:             break;
1.1.1.4   root      204:             
1.1.1.3   root      205:         default:
                    206:             break;
                    207:     }
                    208: }
1.1.1.2   root      209: 
                    210: 
1.1.1.4   root      211: /* Function to get default values for each system */
                    212: void get_default_values(void) {
                    213:     Configuration_SetSystemDefaults();
                    214: }
                    215: 
                    216: 
1.1.1.2   root      217: /*-----------------------------------------------------------------------*/
                    218: /**
                    219:   * Show and process the "System" dialog (specific to winUAE cpu).
                    220:   */
                    221: void Dialog_SystemDlg(void)
                    222: {
                    223:        int i;
1.1.1.3   root      224:     int but;
1.1.1.2   root      225:  
                    226:        SDLGui_CenterDlg(systemdlg);
                    227:  
                    228:        /* Set up dialog from actual values: */
1.1.1.3   root      229:     
                    230:     /* System type: */
                    231:        for (i = DLGSYS_CUBE030; i <= DLGSYS_SLAB; i++)
1.1.1.2   root      232:        {
                    233:                systemdlg[i].state &= ~SG_SELECTED;
                    234:        }
1.1.1.3   root      235:     if (ConfigureParams.System.nMachineType == NEXT_CUBE030)
                    236:         systemdlg[DLGSYS_CUBE030].state |= SG_SELECTED;
                    237:     else if (ConfigureParams.System.nMachineType == NEXT_STATION)
                    238:         systemdlg[DLGSYS_SLAB].state |= SG_SELECTED;
                    239:  
                    240:          
                    241:     /* System overview */
                    242:     print_system_overview();
                    243:      
1.1.1.2   root      244:                
1.1.1.3   root      245:        /* Draw and process the dialog: */
                    246: 
                    247:     do
                    248:        {
                    249:         but = SDLGui_DoDialog(systemdlg, NULL);
                    250:         switch (but) {
                    251:             case DLGSYS_CUBE030:
                    252:                 ConfigureParams.System.nMachineType = NEXT_CUBE030;
                    253:                 get_default_values();
                    254:                 break;
                    255:                 
1.1.1.4   root      256:             case DLGSYS_CUBE:
                    257:                                if (ConfigureParams.System.nMachineType!=NEXT_CUBE040) {
                    258:                                        ConfigureParams.System.bTurbo = false;
                    259:                                }
                    260:                 ConfigureParams.System.nMachineType = NEXT_CUBE040;
1.1.1.3   root      261:                 get_default_values();
                    262:                 break;
                    263:                 
1.1.1.4   root      264:             case DLGSYS_CUBETURBO:
                    265:                 if (ConfigureParams.System.bTurbo &&
                    266:                                        ConfigureParams.System.nMachineType==NEXT_CUBE040) {
                    267:                     ConfigureParams.System.bTurbo = false;
1.1.1.3   root      268:                 } else {
1.1.1.4   root      269:                     ConfigureParams.System.bTurbo = true;
1.1.1.3   root      270:                 }
1.1.1.4   root      271:                                ConfigureParams.System.nMachineType = NEXT_CUBE040;
1.1.1.3   root      272:                 get_default_values();
                    273:                 break;
                    274:                 
1.1.1.4   root      275:             case DLGSYS_SLAB:
                    276:                                if (ConfigureParams.System.nMachineType!=NEXT_STATION) {
                    277:                                        ConfigureParams.System.bTurbo = false;
                    278:                                }
1.1.1.3   root      279:                 ConfigureParams.System.nMachineType = NEXT_STATION;
1.1.1.4   root      280:                 get_default_values();
                    281:                 break;
                    282:                 
                    283:             case DLGSYS_SLABCOLOR:
                    284:                                if (ConfigureParams.System.nMachineType!=NEXT_STATION) {
                    285:                                        ConfigureParams.System.bTurbo = false;
                    286:                                }
                    287:                 if (ConfigureParams.System.bColor) {
                    288:                     ConfigureParams.System.bColor = false;
1.1.1.3   root      289:                 } else {
1.1.1.4   root      290:                     ConfigureParams.System.bColor = true;
                    291:                 }
                    292:                                ConfigureParams.System.nMachineType = NEXT_STATION;
                    293:                 get_default_values();
                    294:                 break;
                    295:                 
                    296:             case DLGSYS_SLABTURBO:
                    297:                                if (ConfigureParams.System.bTurbo &&
                    298:                                        ConfigureParams.System.nMachineType==NEXT_STATION) {
1.1.1.3   root      299:                     ConfigureParams.System.bTurbo = false;
1.1.1.4   root      300:                 } else {
                    301:                     ConfigureParams.System.bTurbo = true;
1.1.1.3   root      302:                 }
1.1.1.4   root      303:                                ConfigureParams.System.nMachineType = NEXT_STATION;
1.1.1.3   root      304:                 get_default_values();
                    305:                 break;
                    306:                                 
                    307:             case DLGSYS_CUSTOMIZE:
                    308:                 Dialog_AdvancedDlg();
                    309:                 break;
                    310:                 
                    311:             case DLGSYS_RESET:
1.1.1.5 ! root      312:                                ConfigureParams.System.bRealtime = false;
1.1.1.3   root      313:                 get_default_values();
                    314:                 break;
                    315: 
                    316:             default:
                    317:                 break;
                    318:         }
1.1.1.4   root      319:                
                    320:                print_system_overview();
1.1.1.3   root      321:     }
                    322:     while (but != DLGSYS_EXIT && but != SDLGUI_QUIT
                    323:            && but != SDLGUI_ERROR && !bQuitProgram);
                    324:     
1.1.1.4   root      325:   
1.1.1.3   root      326:     /* Obsolete */
                    327:        ConfigureParams.System.bCompatibleCpu = 1;
                    328:        ConfigureParams.System.bRealTimeClock = 0;
                    329:        ConfigureParams.System.bCompatibleFPU = 1;
                    330:        ConfigureParams.System.bMMU = 1;
1.1.1.2   root      331: }
1.1.1.3   root      332: 

unix.superglobalmegacorp.com

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