Annotation of hatari/src/gui-sdl/dlgSystem.c, revision 1.1.1.9

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.
1.1.1.9 ! root        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: 
1.1       root       13: */
1.1.1.7   root       14: const char DlgSystem_fileid[] = "Hatari dlgSystem.c : " __DATE__ " " __TIME__;
1.1       root       15: 
                     16: #include "main.h"
                     17: #include "configuration.h"
                     18: #include "dialog.h"
                     19: #include "sdlgui.h"
                     20: 
                     21: 
1.1.1.9 ! root       22: /* The old Uae cpu "System" dialog: */
        !            23: #ifndef ENABLE_WINUAE_CPU
        !            24: 
1.1.1.2   root       25: #define DLGSYS_68000    4
                     26: #define DLGSYS_68010    5
                     27: #define DLGSYS_68020    6
                     28: #define DLGSYS_68030    7
                     29: #define DLGSYS_68040    8
                     30: #define DLGSYS_ST       11
                     31: #define DLGSYS_STE      12
1.1.1.4   root       32: #define DLGSYS_TT       13
                     33: #define DLGSYS_FALCON   14
                     34: #define DLGSYS_8MHZ     17
                     35: #define DLGSYS_16MHZ    18
                     36: #define DLGSYS_32MHZ    19
1.1.1.7   root       37: #define DLGSYS_DSPOFF   21
                     38: #define DLGSYS_DSPDUMMY 22
                     39: #define DLGSYS_DSPON    23
                     40: #define DLGSYS_PREFETCH 24
                     41: #define DLGSYS_BLITTER  25
                     42: #define DLGSYS_RTC      26
                     43: #define DLGSYS_TIMERD   27
1.1       root       44: 
                     45: static SGOBJ systemdlg[] =
                     46: {
1.1.1.7   root       47:        { SGBOX, 0, 0, 0,0, 36,24, NULL },
1.1.1.2   root       48:        { SGTEXT, 0, 0, 11,1, 14,1, "System options" },
                     49: 
                     50:        { SGBOX, 0, 0, 2,3, 16,9, NULL },
                     51:        { SGTEXT, 0, 0, 3,4, 8,1, "CPU type:" },
1.1.1.8   root       52:        { SGRADIOBUT, 0, 0, 4,6, 7,1, "68000" },
                     53:        { SGRADIOBUT, 0, 0, 4,7, 7,1, "68010" },
                     54:        { SGRADIOBUT, 0, 0, 4,8, 7,1, "68020" },
                     55:        { SGRADIOBUT, 0, 0, 4,9, 13,1, "68EC030+FPU" },
                     56:        { SGRADIOBUT, 0, 0, 4,10, 7,1, "68040" },
1.1.1.2   root       57: 
                     58:        { SGBOX, 0, 0, 19,3, 15,9, NULL },
                     59:        { SGTEXT, 0, 0, 20,4, 13,1, "Machine type:" },
1.1.1.4   root       60:        { SGRADIOBUT, 0, 0, 23,6, 8,1, "ST" },
                     61:        { SGRADIOBUT, 0, 0, 23,7, 8,1, "STE" },
                     62:        { SGRADIOBUT, 0, 0, 23,8, 8,1, "TT *" },
                     63:        { SGRADIOBUT, 0, 0, 23,9, 8,1, "Falcon *" },
                     64:        { SGTEXT, 0, 0, 21,11, 12,1, "* incomplete" },
1.1.1.2   root       65: 
                     66:        { SGTEXT, 0, 0, 2,13, 15,1, "CPU clock (MHz):" },
                     67:        { SGRADIOBUT, 0, 0, 19,13, 3,1, "8" },
                     68:        { SGRADIOBUT, 0, 0, 24,13, 4,1, "16" },
                     69:        { SGRADIOBUT, 0, 0, 30,13, 4,1, "32" },
                     70: 
1.1.1.7   root       71:        { SGTEXT, 0, 0, 2,15, 11,1, "Falcon DSP:" },
                     72:        { SGRADIOBUT, 0, 0, 14,15, 5,1, "off" },
                     73:        { SGRADIOBUT, 0, 0, 21,15, 7,1, "dummy" },
                     74:        { SGRADIOBUT, 0, 0, 30,15, 4,1, "on" },
                     75: 
                     76:        { SGCHECKBOX, 0, 0, 2,17, 32,1, "Slower but more compatible CPU" },
                     77:        { SGCHECKBOX, 0, 0, 2,18, 20,1, "Blitter emulation" },
                     78:        { SGCHECKBOX, 0, 0, 2,19, 27,1, "Real time clock emulation" },
                     79:        { SGCHECKBOX, 0, 0, 2,20, 15,1, "Patch Timer-D" },
1.1.1.2   root       80: 
1.1.1.7   root       81:        { SGBUTTON, SG_DEFAULT, 0, 8,22, 20,1, "Back to main menu" },
1.1.1.2   root       82:        { -1, 0, 0, 0,0, 0,0, NULL }
1.1       root       83: };
                     84: 
                     85: 
                     86: /*-----------------------------------------------------------------------*/
1.1.1.8   root       87: /**
                     88:  * Show and process the "System" dialog.
                     89:  */
1.1       root       90: void Dialog_SystemDlg(void)
                     91: {
1.1.1.2   root       92:        int i;
1.1.1.7   root       93:        MACHINETYPE     mti;
1.1       root       94: 
1.1.1.2   root       95:        SDLGui_CenterDlg(systemdlg);
1.1       root       96: 
1.1.1.2   root       97:        /* Set up dialog from actual values: */
1.1       root       98: 
1.1.1.2   root       99:        for (i = DLGSYS_68000; i <= DLGSYS_68040; i++)
                    100:        {
                    101:                systemdlg[i].state &= ~SG_SELECTED;
                    102:        }
1.1.1.5   root      103:        systemdlg[DLGSYS_68000+ConfigureParams.System.nCpuLevel].state |= SG_SELECTED;
1.1.1.2   root      104: 
1.1.1.4   root      105:        for (i = DLGSYS_ST; i <= DLGSYS_FALCON; i++)
1.1.1.2   root      106:        {
                    107:                systemdlg[i].state &= ~SG_SELECTED;
                    108:        }
1.1.1.5   root      109:        systemdlg[DLGSYS_ST + ConfigureParams.System.nMachineType].state |= SG_SELECTED;
1.1.1.2   root      110: 
1.1.1.7   root      111:        /* CPU frequency: */
1.1.1.2   root      112:        for (i = DLGSYS_8MHZ; i <= DLGSYS_16MHZ; i++)
                    113:        {
                    114:                systemdlg[i].state &= ~SG_SELECTED;
                    115:        }
1.1.1.5   root      116:        if (ConfigureParams.System.nCpuFreq == 32)
1.1.1.7   root      117:                systemdlg[DLGSYS_32MHZ].state |= SG_SELECTED;
1.1.1.5   root      118:        else if (ConfigureParams.System.nCpuFreq == 16)
1.1.1.7   root      119:                systemdlg[DLGSYS_16MHZ].state |= SG_SELECTED;
1.1.1.2   root      120:        else
1.1.1.7   root      121:                systemdlg[DLGSYS_8MHZ].state |= SG_SELECTED;
                    122: 
                    123:        /* DSP mode: */
                    124:        for (i = DLGSYS_DSPOFF; i <= DLGSYS_DSPON; i++)
                    125:        {
                    126:                systemdlg[i].state &= ~SG_SELECTED;
                    127:        }
                    128:        if (ConfigureParams.System.nDSPType == DSP_TYPE_NONE)
                    129:                systemdlg[DLGSYS_DSPOFF].state |= SG_SELECTED;
                    130:        else if (ConfigureParams.System.nDSPType == DSP_TYPE_DUMMY)
                    131:                systemdlg[DLGSYS_DSPDUMMY].state |= SG_SELECTED;
                    132:        else
                    133:                systemdlg[DLGSYS_DSPON].state |= SG_SELECTED;
                    134: 
1.1.1.2   root      135: 
1.1.1.5   root      136:        if (ConfigureParams.System.bCompatibleCpu)
1.1.1.2   root      137:                systemdlg[DLGSYS_PREFETCH].state |= SG_SELECTED;
                    138:        else
                    139:                systemdlg[DLGSYS_PREFETCH].state &= ~SG_SELECTED;
                    140: 
1.1.1.5   root      141:        if (ConfigureParams.System.bBlitter)
1.1.1.2   root      142:                systemdlg[DLGSYS_BLITTER].state |= SG_SELECTED;
                    143:        else
                    144:                systemdlg[DLGSYS_BLITTER].state &= ~SG_SELECTED;
                    145: 
1.1.1.5   root      146:        if (ConfigureParams.System.bRealTimeClock)
1.1.1.2   root      147:                systemdlg[DLGSYS_RTC].state |= SG_SELECTED;
                    148:        else
                    149:                systemdlg[DLGSYS_RTC].state &= ~SG_SELECTED;
                    150: 
1.1.1.5   root      151:        if (ConfigureParams.System.bPatchTimerD)
1.1.1.2   root      152:                systemdlg[DLGSYS_TIMERD].state |= SG_SELECTED;
                    153:        else
                    154:                systemdlg[DLGSYS_TIMERD].state &= ~SG_SELECTED;
                    155: 
                    156:        /* Show the dialog: */
                    157:        SDLGui_DoDialog(systemdlg, NULL);
                    158: 
                    159:        /* Read values from dialog: */
                    160: 
                    161:        for (i = DLGSYS_68000; i <= DLGSYS_68040; i++)
                    162:        {
                    163:                if (systemdlg[i].state&SG_SELECTED)
                    164:                {
1.1.1.5   root      165:                        ConfigureParams.System.nCpuLevel = i-DLGSYS_68000;
1.1.1.2   root      166:                        break;
                    167:                }
                    168:        }
                    169: 
1.1.1.7   root      170:        for (mti = MACHINE_ST; mti <= MACHINE_FALCON; mti++)
1.1.1.2   root      171:        {
1.1.1.7   root      172:                if (systemdlg[mti + DLGSYS_ST].state&SG_SELECTED)
1.1.1.2   root      173:                {
1.1.1.7   root      174:                        ConfigureParams.System.nMachineType = mti;
1.1.1.2   root      175:                        break;
                    176:                }
                    177:        }
                    178: 
                    179:        if (systemdlg[DLGSYS_32MHZ].state & SG_SELECTED)
1.1.1.5   root      180:                ConfigureParams.System.nCpuFreq = 32;
1.1.1.2   root      181:        else if (systemdlg[DLGSYS_16MHZ].state & SG_SELECTED)
1.1.1.5   root      182:                ConfigureParams.System.nCpuFreq = 16;
1.1.1.2   root      183:        else
1.1.1.5   root      184:                ConfigureParams.System.nCpuFreq = 8;
1.1.1.2   root      185: 
1.1.1.7   root      186:        if (systemdlg[DLGSYS_DSPOFF].state & SG_SELECTED)
                    187:                ConfigureParams.System.nDSPType = DSP_TYPE_NONE;
                    188:        else if (systemdlg[DLGSYS_DSPDUMMY].state & SG_SELECTED)
                    189:                ConfigureParams.System.nDSPType = DSP_TYPE_DUMMY;
                    190:        else
                    191:                ConfigureParams.System.nDSPType = DSP_TYPE_EMU;
                    192: 
1.1.1.5   root      193:        ConfigureParams.System.bCompatibleCpu = (systemdlg[DLGSYS_PREFETCH].state & SG_SELECTED);
                    194:        ConfigureParams.System.bBlitter = (systemdlg[DLGSYS_BLITTER].state & SG_SELECTED);
                    195:        ConfigureParams.System.bRealTimeClock = (systemdlg[DLGSYS_RTC].state & SG_SELECTED);
                    196:        ConfigureParams.System.bPatchTimerD = (systemdlg[DLGSYS_TIMERD].state & SG_SELECTED);
1.1       root      197: }
1.1.1.9 ! root      198: 
        !           199: /* The new WinUae cpu "System" dialog: */
        !           200: #else
        !           201: 
        !           202: #define DLGSYS_68000      4
        !           203: #define DLGSYS_68010      5
        !           204: #define DLGSYS_68020      6
        !           205: #define DLGSYS_68030      7
        !           206: #define DLGSYS_68040      8
        !           207: #define DLGSYS_68060      9
        !           208: #define DLGSYS_ST         12
        !           209: #define DLGSYS_STE        13
        !           210: #define DLGSYS_TT         14
        !           211: #define DLGSYS_FALCON     15
        !           212: #define DLGSYS_8MHZ       18
        !           213: #define DLGSYS_16MHZ      19
        !           214: #define DLGSYS_32MHZ      20
        !           215: #define DLGSYS_DSPOFF     23
        !           216: #define DLGSYS_DSPDUMMY   24
        !           217: #define DLGSYS_DSPON      25
        !           218: #define DLGSYS_24BITS     28
        !           219: #define DLGSYS_PREFETCH   29
        !           220: #define DLGSYS_CYC_EXACT  30
        !           221: #define DLGSYS_RTC        31
        !           222: #define DLGSYS_TIMERD     32
        !           223: #define DLGSYS_BLITTER    33
        !           224: #define DLGSYS_MMU_EMUL   34
        !           225: #define DLGSYS_FPU_NONE   37
        !           226: #define DLGSYS_FPU_68881  38
        !           227: #define DLGSYS_FPU_68882  39
        !           228: #define DLGSYS_FPU_CPU_IN 40
        !           229: #define DLGSYS_FPU_COMPAT 41
        !           230: 
        !           231: 
        !           232: static SGOBJ systemdlg[] =
        !           233: {
        !           234:        { SGBOX, 0, 0, 0,0, 60,25, NULL },
        !           235:        { SGTEXT, 0, 0, 23,1, 14,1, "System options" },
        !           236: 
        !           237:        { SGBOX, 0, 0, 19,3, 11,9, NULL },
        !           238:        { SGTEXT, 0, 0, 20,3, 8,1, "CPU type" },
        !           239:        { SGRADIOBUT, 0, 0, 20,5, 7,1, "68000" },
        !           240:        { SGRADIOBUT, 0, 0, 20,6, 7,1, "68010" },
        !           241:        { SGRADIOBUT, 0, 0, 20,7, 7,1, "68020" },
        !           242:        { SGRADIOBUT, 0, 0, 20,8, 13,1, "68030" },
        !           243:        { SGRADIOBUT, 0, 0, 20,9, 13,1, "68040" },
        !           244:        { SGRADIOBUT, 0, 0, 20,10, 7,1, "68060" },
        !           245: 
        !           246:        { SGBOX, 0, 0, 2,3, 15,9, NULL },
        !           247:        { SGTEXT, 0, 0, 3,3, 13,1, "Machine type" },
        !           248:        { SGRADIOBUT, 0, 0, 3,5, 8,1, "ST" },
        !           249:        { SGRADIOBUT, 0, 0, 3,6, 8,1, "STE" },
        !           250:        { SGRADIOBUT, 0, 0, 3,7, 8,1, "TT" },
        !           251:        { SGRADIOBUT, 0, 0, 3,8, 8,1, "Falcon" },
        !           252: 
        !           253:        { SGBOX, 0, 0, 32,3, 12,9, NULL },
        !           254:        { SGTEXT, 0, 0, 33,3, 15,1, "CPU clock" },
        !           255:        { SGRADIOBUT, 0, 0, 33,5, 3,1, " 8 Mhz" },
        !           256:        { SGRADIOBUT, 0, 0, 33,6, 4,1, "16 Mhz" },
        !           257:        { SGRADIOBUT, 0, 0, 33,7, 4,1, "32 Mhz" },
        !           258: 
        !           259:        { SGBOX, 0, 0, 46,3, 12,9, NULL },
        !           260:        { SGTEXT, 0, 0, 47,3, 11,1, "Falcon DSP" },
        !           261:        { SGRADIOBUT, 0, 0, 47,5, 5,1, "None" },
        !           262:        { SGRADIOBUT, 0, 0, 47,6, 7,1, "Dummy" },
        !           263:        { SGRADIOBUT, 0, 0, 47,7, 4,1, "Full" },
        !           264: 
        !           265:        { SGBOX, 0, 0, 2,13, 28,9, NULL },
        !           266:        { SGTEXT, 0, 0, 3,13, 11,1, "CPU Pamameters" },
        !           267:        { SGCHECKBOX, 0, 0, 3,15, 15,1, "24 bits addressing" },
        !           268:        { SGCHECKBOX, 0, 0, 3,16, 32,1, "Prefetch mode, slower" },
        !           269:        { SGCHECKBOX, 0, 0, 3,17, 32,1, "Cycle exact,   slower" },
        !           270:        { SGCHECKBOX, 0, 0, 3,18, 27,1, "Real time clock emulation" },
        !           271:        { SGCHECKBOX, 0, 0, 3,19, 15,1, "Patch Timer-D" },
        !           272:        { SGCHECKBOX, 0, 0, 3,20, 20,1, "Blitter emulation" },
        !           273:        { SGCHECKBOX, 0, 0, 3,21, 15,1, "MMU emulation" },
        !           274: 
        !           275:        { SGBOX, 0, 0, 32,13, 26,9, NULL },
        !           276:        { SGTEXT, 0, 0, 33,13, 11,1, "FPU" },
        !           277:        { SGRADIOBUT, 0, 0, 33,15, 5,1, "None" },
        !           278:        { SGRADIOBUT, 0, 0, 33,16, 7,1, "68881" },
        !           279:        { SGRADIOBUT, 0, 0, 33,17, 4,1, "68882" },
        !           280:        { SGRADIOBUT, 0, 0, 33,18, 4,1, "CPU internal" },
        !           281:        { SGCHECKBOX, 0, 0, 33,20, 4,1, "More compatible, slower" },
        !           282: 
        !           283:        { SGBUTTON, SG_DEFAULT, 0, 21,23, 20,1, "Back to main menu" },
        !           284:        { -1, 0, 0, 0,0, 0,0, NULL }
        !           285: };
        !           286: 
        !           287: 
        !           288: /*-----------------------------------------------------------------------*/
        !           289: /**
        !           290:  * Show and process the "System" dialog (specific to winUAE cpu).
        !           291:  */
        !           292: void Dialog_SystemDlg(void)
        !           293: {
        !           294:        int i;
        !           295:        MACHINETYPE     mti;
        !           296: 
        !           297:        SDLGui_CenterDlg(systemdlg);
        !           298: 
        !           299:        /* Set up dialog from actual values: */
        !           300: 
        !           301:        for (i = DLGSYS_68000; i <= DLGSYS_68060; i++)
        !           302:        {
        !           303:                systemdlg[i].state &= ~SG_SELECTED;
        !           304:        }
        !           305:        systemdlg[DLGSYS_68000+ConfigureParams.System.nCpuLevel].state |= SG_SELECTED;
        !           306: 
        !           307:        for (i = DLGSYS_ST; i <= DLGSYS_FALCON; i++)
        !           308:        {
        !           309:                systemdlg[i].state &= ~SG_SELECTED;
        !           310:        }
        !           311:        systemdlg[DLGSYS_ST + ConfigureParams.System.nMachineType].state |= SG_SELECTED;
        !           312: 
        !           313:        /* CPU frequency: */
        !           314:        for (i = DLGSYS_8MHZ; i <= DLGSYS_16MHZ; i++)
        !           315:        {
        !           316:                systemdlg[i].state &= ~SG_SELECTED;
        !           317:        }
        !           318:        if (ConfigureParams.System.nCpuFreq == 32)
        !           319:                systemdlg[DLGSYS_32MHZ].state |= SG_SELECTED;
        !           320:        else if (ConfigureParams.System.nCpuFreq == 16)
        !           321:                systemdlg[DLGSYS_16MHZ].state |= SG_SELECTED;
        !           322:        else
        !           323:                systemdlg[DLGSYS_8MHZ].state |= SG_SELECTED;
        !           324: 
        !           325:        /* DSP mode: */
        !           326:        for (i = DLGSYS_DSPOFF; i <= DLGSYS_DSPON; i++)
        !           327:        {
        !           328:                systemdlg[i].state &= ~SG_SELECTED;
        !           329:        }
        !           330:        if (ConfigureParams.System.nDSPType == DSP_TYPE_NONE)
        !           331:                systemdlg[DLGSYS_DSPOFF].state |= SG_SELECTED;
        !           332:        else if (ConfigureParams.System.nDSPType == DSP_TYPE_DUMMY)
        !           333:                systemdlg[DLGSYS_DSPDUMMY].state |= SG_SELECTED;
        !           334:        else
        !           335:                systemdlg[DLGSYS_DSPON].state |= SG_SELECTED;
        !           336: 
        !           337:        /* More compatible CPU, Prefetch mode */
        !           338:        if (ConfigureParams.System.bCompatibleCpu)
        !           339:                systemdlg[DLGSYS_PREFETCH].state |= SG_SELECTED;
        !           340:        else
        !           341:                systemdlg[DLGSYS_PREFETCH].state &= ~SG_SELECTED;
        !           342: 
        !           343:        /* Emulate Blitter */
        !           344:        if (ConfigureParams.System.bBlitter)
        !           345:                systemdlg[DLGSYS_BLITTER].state |= SG_SELECTED;
        !           346:        else
        !           347:                systemdlg[DLGSYS_BLITTER].state &= ~SG_SELECTED;
        !           348: 
        !           349:        /* Real time clock CPU */
        !           350:        if (ConfigureParams.System.bRealTimeClock)
        !           351:                systemdlg[DLGSYS_RTC].state |= SG_SELECTED;
        !           352:        else
        !           353:                systemdlg[DLGSYS_RTC].state &= ~SG_SELECTED;
        !           354: 
        !           355:        /* Patch timer D */
        !           356:        if (ConfigureParams.System.bPatchTimerD)
        !           357:                systemdlg[DLGSYS_TIMERD].state |= SG_SELECTED;
        !           358:        else
        !           359:                systemdlg[DLGSYS_TIMERD].state &= ~SG_SELECTED;
        !           360: 
        !           361:        /* Adress space 24 bits */
        !           362:        if (ConfigureParams.System.bAddressSpace24)
        !           363:                systemdlg[DLGSYS_24BITS].state |= SG_SELECTED;
        !           364:        else
        !           365:                systemdlg[DLGSYS_24BITS].state &= ~SG_SELECTED;
        !           366:                
        !           367:        /* Cycle exact CPU */
        !           368:        if (ConfigureParams.System.bCycleExactCpu)
        !           369:                systemdlg[DLGSYS_CYC_EXACT].state |= SG_SELECTED;
        !           370:        else
        !           371:                systemdlg[DLGSYS_CYC_EXACT].state &= ~SG_SELECTED;
        !           372: 
        !           373:        /* FPU emulation */
        !           374:        for (i = DLGSYS_FPU_NONE; i <= DLGSYS_FPU_CPU_IN; i++)
        !           375:        {
        !           376:                systemdlg[i].state &= ~SG_SELECTED;
        !           377:        }
        !           378:        if (ConfigureParams.System.n_FPUType == FPU_NONE)
        !           379:                systemdlg[DLGSYS_FPU_NONE].state |= SG_SELECTED;
        !           380:        else if (ConfigureParams.System.n_FPUType == FPU_68881)
        !           381:                systemdlg[DLGSYS_FPU_68881].state |= SG_SELECTED;
        !           382:        else if (ConfigureParams.System.n_FPUType == FPU_68882)
        !           383:                systemdlg[DLGSYS_FPU_68882].state |= SG_SELECTED;
        !           384:        else
        !           385:                systemdlg[DLGSYS_FPU_CPU_IN].state |= SG_SELECTED;
        !           386: 
        !           387:        /* More compatible FPU */
        !           388:        if (ConfigureParams.System.bCompatibleFPU)
        !           389:                systemdlg[DLGSYS_FPU_COMPAT].state |= SG_SELECTED;
        !           390:        else
        !           391:                systemdlg[DLGSYS_FPU_COMPAT].state &= ~SG_SELECTED;
        !           392: 
        !           393:        /* MMU Emulation */
        !           394:        if (ConfigureParams.System.bMMU)
        !           395:                systemdlg[DLGSYS_MMU_EMUL].state |= SG_SELECTED;
        !           396:        else
        !           397:                systemdlg[DLGSYS_MMU_EMUL].state &= ~SG_SELECTED;
        !           398: 
        !           399:                
        !           400:        /* Show the dialog: */
        !           401:        SDLGui_DoDialog(systemdlg, NULL);
        !           402: 
        !           403:        /* Read values from dialog: */
        !           404: 
        !           405:        for (i = DLGSYS_68000; i <= DLGSYS_68060; i++)
        !           406:        {
        !           407:                if (systemdlg[i].state&SG_SELECTED)
        !           408:                {
        !           409:                        ConfigureParams.System.nCpuLevel = i-DLGSYS_68000;
        !           410:                        break;
        !           411:                }
        !           412:        }
        !           413: 
        !           414:        for (mti = MACHINE_ST; mti <= MACHINE_FALCON; mti++)
        !           415:        {
        !           416:                if (systemdlg[mti + DLGSYS_ST].state&SG_SELECTED)
        !           417:                {
        !           418:                        ConfigureParams.System.nMachineType = mti;
        !           419:                        break;
        !           420:                }
        !           421:        }
        !           422: 
        !           423:        if (systemdlg[DLGSYS_32MHZ].state & SG_SELECTED)
        !           424:                ConfigureParams.System.nCpuFreq = 32;
        !           425:        else if (systemdlg[DLGSYS_16MHZ].state & SG_SELECTED)
        !           426:                ConfigureParams.System.nCpuFreq = 16;
        !           427:        else
        !           428:                ConfigureParams.System.nCpuFreq = 8;
        !           429: 
        !           430:        if (systemdlg[DLGSYS_DSPOFF].state & SG_SELECTED)
        !           431:                ConfigureParams.System.nDSPType = DSP_TYPE_NONE;
        !           432:        else if (systemdlg[DLGSYS_DSPDUMMY].state & SG_SELECTED)
        !           433:                ConfigureParams.System.nDSPType = DSP_TYPE_DUMMY;
        !           434:        else
        !           435:                ConfigureParams.System.nDSPType = DSP_TYPE_EMU;
        !           436: 
        !           437:        ConfigureParams.System.bCompatibleCpu = (systemdlg[DLGSYS_PREFETCH].state & SG_SELECTED);
        !           438:        ConfigureParams.System.bBlitter = (systemdlg[DLGSYS_BLITTER].state & SG_SELECTED);
        !           439:        ConfigureParams.System.bRealTimeClock = (systemdlg[DLGSYS_RTC].state & SG_SELECTED);
        !           440:        ConfigureParams.System.bPatchTimerD = (systemdlg[DLGSYS_TIMERD].state & SG_SELECTED);
        !           441:        ConfigureParams.System.bAddressSpace24 = (systemdlg[DLGSYS_24BITS].state & SG_SELECTED);
        !           442:        ConfigureParams.System.bCycleExactCpu = (systemdlg[DLGSYS_CYC_EXACT].state & SG_SELECTED);
        !           443: 
        !           444:        /* FPU emulation */
        !           445:        if (systemdlg[DLGSYS_FPU_NONE].state & SG_SELECTED)
        !           446:                ConfigureParams.System.n_FPUType = FPU_NONE;
        !           447:        else if (systemdlg[DLGSYS_FPU_68881].state & SG_SELECTED)
        !           448:                ConfigureParams.System.n_FPUType = FPU_68881;
        !           449:        else if (systemdlg[DLGSYS_FPU_68882].state & SG_SELECTED)
        !           450:                ConfigureParams.System.n_FPUType = FPU_68882;
        !           451:        else
        !           452:                ConfigureParams.System.n_FPUType = FPU_CPU;
        !           453: 
        !           454:        ConfigureParams.System.bCompatibleFPU = (systemdlg[DLGSYS_FPU_COMPAT].state & SG_SELECTED);
        !           455:        ConfigureParams.System.bMMU = (systemdlg[DLGSYS_MMU_EMUL].state & SG_SELECTED);
        !           456: }
        !           457: #endif

unix.superglobalmegacorp.com

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