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

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:     
                    110:     sprintf(cpu_clock, "%i MHz", ConfigureParams.System.nCpuFreq);
                    111:     
1.1.1.4 ! root      112:     sprintf(main_memory, "%i MB", Configuration_CheckMemory(ConfigureParams.Memory.nMemoryBankSize));
        !           113:     
        !           114:     sprintf(dsp_memory, "%i kB", ConfigureParams.System.bDSPMemoryExpansion?96:24);
1.1.1.3   root      115:     
                    116:     switch (ConfigureParams.System.n_FPUType) {
                    117:         case FPU_NONE:
                    118:             sprintf(fpu_type, "none"); break;
                    119:         case FPU_68881:
                    120:             sprintf(fpu_type, "68881"); break;
                    121:         case FPU_68882:
                    122:             sprintf(fpu_type, "68882"); break;
                    123:         case FPU_CPU:
1.1.1.4 ! root      124:             sprintf(fpu_type, "68040"); break;
        !           125:         default: break;
        !           126:     }
        !           127:     
        !           128:     switch (ConfigureParams.System.nDSPType) {
        !           129:         case DSP_TYPE_NONE:
        !           130:         case DSP_TYPE_DUMMY:
        !           131:             sprintf(dsp_type, "none"); break;
        !           132:         case DSP_TYPE_EMU:
        !           133:             sprintf(dsp_type, "56001"); break;
        !           134:             
1.1.1.3   root      135:         default: break;
                    136:     }
                    137:     
                    138:     switch (ConfigureParams.System.nSCSI) {
                    139:         case NCR53C90:
                    140:             sprintf(scsi_controller, "NCR53C90"); break;
                    141:         case NCR53C90A:
                    142:             sprintf(scsi_controller, "NCR53C90A"); break;
                    143:         default: break;
                    144:     }
                    145:     
                    146:     switch (ConfigureParams.System.nRTC) {
                    147:         case MC68HC68T1:
                    148:             sprintf(rtc_chip, "MC68HC68T1"); break;
1.1.1.4 ! root      149:         case MCCS1850:
        !           150:             sprintf(rtc_chip, "MCCS1850"); break;
1.1.1.3   root      151:         default: break;
                    152:     }
                    153:     
1.1.1.4 ! root      154:     if (ConfigureParams.System.bNBIC) {
        !           155:         sprintf(nbic_present, "present");
        !           156:     } else {
        !           157:         sprintf(nbic_present, "none");
        !           158:     }
        !           159:     
        !           160:     update_system_selection();
1.1       root      161: }
1.1.1.2   root      162: 
                    163: 
1.1.1.4 ! root      164: /* Function to select and unselect system options */
        !           165: void update_system_selection(void) {
1.1.1.3   root      166:     switch (ConfigureParams.System.nMachineType) {
                    167:         case NEXT_CUBE030:
1.1.1.4 ! root      168:             systemdlg[DLGSYS_CUBE030].state |= SG_SELECTED;
        !           169:             systemdlg[DLGSYS_CUBE].state &= ~SG_SELECTED;
        !           170:             systemdlg[DLGSYS_CUBETURBO].state &= ~SG_SELECTED;
        !           171:             systemdlg[DLGSYS_SLAB].state &= ~SG_SELECTED;
        !           172:             systemdlg[DLGSYS_SLABCOLOR].state &= ~SG_SELECTED;
        !           173:             systemdlg[DLGSYS_SLABTURBO].state &= ~SG_SELECTED;
        !           174:             break;
        !           175:         case NEXT_CUBE040:
        !           176:             systemdlg[DLGSYS_CUBE030].state &= ~SG_SELECTED;
        !           177:             systemdlg[DLGSYS_CUBE].state |= SG_SELECTED;
        !           178:             if (ConfigureParams.System.bTurbo) {
        !           179:                 systemdlg[DLGSYS_CUBETURBO].state |= SG_SELECTED;
        !           180:             } else {
        !           181:                 systemdlg[DLGSYS_CUBETURBO].state &= ~SG_SELECTED;
        !           182:             }
        !           183:             systemdlg[DLGSYS_SLAB].state &= ~SG_SELECTED;
        !           184:             systemdlg[DLGSYS_SLABCOLOR].state &= ~SG_SELECTED;
        !           185:             systemdlg[DLGSYS_SLABTURBO].state &= ~SG_SELECTED;
1.1.1.3   root      186:             break;
                    187:         case NEXT_STATION:
1.1.1.4 ! root      188:             systemdlg[DLGSYS_CUBE030].state &= ~SG_SELECTED;
        !           189:             systemdlg[DLGSYS_CUBE].state &= ~SG_SELECTED;
        !           190:             systemdlg[DLGSYS_CUBETURBO].state &= ~SG_SELECTED;
        !           191:             systemdlg[DLGSYS_SLAB].state |= SG_SELECTED;
        !           192:             if (ConfigureParams.System.bTurbo) {
        !           193:                 systemdlg[DLGSYS_SLABTURBO].state |= SG_SELECTED;
        !           194:             } else {
        !           195:                 systemdlg[DLGSYS_SLABTURBO].state &= ~SG_SELECTED;
        !           196:             }
        !           197:             if (ConfigureParams.System.bColor) {
        !           198:                 systemdlg[DLGSYS_SLABCOLOR].state |= SG_SELECTED;
        !           199:             } else {
        !           200:                 systemdlg[DLGSYS_SLABCOLOR].state &= ~SG_SELECTED;
        !           201:             }
1.1.1.3   root      202:             break;
1.1.1.4 ! root      203:             
1.1.1.3   root      204:         default:
                    205:             break;
                    206:     }
                    207: }
1.1.1.2   root      208: 
                    209: 
1.1.1.4 ! root      210: /* Function to get default values for each system */
        !           211: void get_default_values(void) {
        !           212:     Configuration_SetSystemDefaults();
        !           213: }
        !           214: 
        !           215: 
1.1.1.2   root      216: /*-----------------------------------------------------------------------*/
                    217: /**
                    218:   * Show and process the "System" dialog (specific to winUAE cpu).
                    219:   */
                    220: void Dialog_SystemDlg(void)
                    221: {
                    222:        int i;
1.1.1.3   root      223:     int but;
1.1.1.2   root      224:  
                    225:        SDLGui_CenterDlg(systemdlg);
                    226:  
                    227:        /* Set up dialog from actual values: */
1.1.1.3   root      228:     
                    229:     /* System type: */
                    230:        for (i = DLGSYS_CUBE030; i <= DLGSYS_SLAB; i++)
1.1.1.2   root      231:        {
                    232:                systemdlg[i].state &= ~SG_SELECTED;
                    233:        }
1.1.1.3   root      234:     if (ConfigureParams.System.nMachineType == NEXT_CUBE030)
                    235:         systemdlg[DLGSYS_CUBE030].state |= SG_SELECTED;
                    236:     else if (ConfigureParams.System.nMachineType == NEXT_STATION)
                    237:         systemdlg[DLGSYS_SLAB].state |= SG_SELECTED;
                    238:  
                    239:          
                    240:     /* System overview */
                    241:     print_system_overview();
                    242:      
1.1.1.2   root      243:                
1.1.1.3   root      244:        /* Draw and process the dialog: */
                    245: 
                    246:     do
                    247:        {
                    248:         but = SDLGui_DoDialog(systemdlg, NULL);
                    249:         switch (but) {
                    250:             case DLGSYS_CUBE030:
                    251:                 ConfigureParams.System.nMachineType = NEXT_CUBE030;
                    252:                 get_default_values();
                    253:                 break;
                    254:                 
1.1.1.4 ! root      255:             case DLGSYS_CUBE:
        !           256:                                if (ConfigureParams.System.nMachineType!=NEXT_CUBE040) {
        !           257:                                        ConfigureParams.System.bTurbo = false;
        !           258:                                }
        !           259:                 ConfigureParams.System.nMachineType = NEXT_CUBE040;
1.1.1.3   root      260:                 get_default_values();
                    261:                 break;
                    262:                 
1.1.1.4 ! root      263:             case DLGSYS_CUBETURBO:
        !           264:                 if (ConfigureParams.System.bTurbo &&
        !           265:                                        ConfigureParams.System.nMachineType==NEXT_CUBE040) {
        !           266:                     ConfigureParams.System.bTurbo = false;
1.1.1.3   root      267:                 } else {
1.1.1.4 ! root      268:                     ConfigureParams.System.bTurbo = true;
1.1.1.3   root      269:                 }
1.1.1.4 ! root      270:                                ConfigureParams.System.nMachineType = NEXT_CUBE040;
1.1.1.3   root      271:                 get_default_values();
                    272:                 break;
                    273:                 
1.1.1.4 ! root      274:             case DLGSYS_SLAB:
        !           275:                                if (ConfigureParams.System.nMachineType!=NEXT_STATION) {
        !           276:                                        ConfigureParams.System.bTurbo = false;
        !           277:                                }
1.1.1.3   root      278:                 ConfigureParams.System.nMachineType = NEXT_STATION;
1.1.1.4 ! root      279:                 get_default_values();
        !           280:                 break;
        !           281:                 
        !           282:             case DLGSYS_SLABCOLOR:
        !           283:                                if (ConfigureParams.System.nMachineType!=NEXT_STATION) {
        !           284:                                        ConfigureParams.System.bTurbo = false;
        !           285:                                }
        !           286:                 if (ConfigureParams.System.bColor) {
        !           287:                     ConfigureParams.System.bColor = false;
1.1.1.3   root      288:                 } else {
1.1.1.4 ! root      289:                     ConfigureParams.System.bColor = true;
        !           290:                 }
        !           291:                                ConfigureParams.System.nMachineType = NEXT_STATION;
        !           292:                 get_default_values();
        !           293:                 break;
        !           294:                 
        !           295:             case DLGSYS_SLABTURBO:
        !           296:                                if (ConfigureParams.System.bTurbo &&
        !           297:                                        ConfigureParams.System.nMachineType==NEXT_STATION) {
1.1.1.3   root      298:                     ConfigureParams.System.bTurbo = false;
1.1.1.4 ! root      299:                 } else {
        !           300:                     ConfigureParams.System.bTurbo = true;
1.1.1.3   root      301:                 }
1.1.1.4 ! root      302:                                ConfigureParams.System.nMachineType = NEXT_STATION;
1.1.1.3   root      303:                 get_default_values();
                    304:                 break;
                    305:                                 
                    306:             case DLGSYS_CUSTOMIZE:
                    307:                 Dialog_AdvancedDlg();
                    308:                 break;
                    309:                 
                    310:             case DLGSYS_RESET:
                    311:                 get_default_values();
                    312:                 break;
                    313: 
                    314:             default:
                    315:                 break;
                    316:         }
1.1.1.4 ! root      317:                
        !           318:                print_system_overview();
1.1.1.3   root      319:     }
                    320:     while (but != DLGSYS_EXIT && but != SDLGUI_QUIT
                    321:            && but != SDLGUI_ERROR && !bQuitProgram);
                    322:     
1.1.1.4 ! root      323:   
1.1.1.3   root      324:     /* Obsolete */
                    325:        ConfigureParams.System.bCompatibleCpu = 1;
                    326:        ConfigureParams.System.bBlitter = 0;
                    327:        ConfigureParams.System.bRealTimeClock = 0;
                    328:        ConfigureParams.System.bPatchTimerD = 0;
                    329:        ConfigureParams.System.bAddressSpace24 = 0;
                    330:        ConfigureParams.System.bCycleExactCpu = 0;
                    331:        ConfigureParams.System.bCompatibleFPU = 1;
                    332:        ConfigureParams.System.bMMU = 1;
1.1.1.2   root      333: }
1.1.1.3   root      334: 

unix.superglobalmegacorp.com

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