Annotation of hatari/src/gui-sdl/dlgSystem.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: char DlgSystem_rcsid[] = "Hatari $Id: dlgSystem.c,v 1.2 2004/03/01 13:57:30 thothy Exp $";
                      8: 
                      9: #include "main.h"
                     10: #include "configuration.h"
                     11: #include "dialog.h"
                     12: #include "sdlgui.h"
                     13: 
                     14: 
                     15: #define DLGSYS_68000 3
                     16: #define DLGSYS_68010 4
                     17: #define DLGSYS_68020 5
                     18: #define DLGSYS_68030 6
                     19: #define DLGSYS_68040 7
                     20: #define DLGSYS_PREFETCH 8
                     21: #define DLGSYS_BLITTER 9
                     22: #define DLGSYS_TIMERD 10
                     23: 
                     24: 
                     25: /* The "System" dialog: */
                     26: static SGOBJ systemdlg[] =
                     27: {
                     28:   { SGBOX, 0, 0, 0,0, 30,18, NULL },
                     29:   { SGTEXT, 0, 0, 8,1, 14,1, "System options" },
                     30:   { SGTEXT, 0, 0, 3,4, 8,1, "CPU Type:" },
                     31:   { SGRADIOBUT, 0, 0, 16,4, 7,1, "68000" },
                     32:   { SGRADIOBUT, 0, 0, 16,5, 7,1, "68010" },
                     33:   { SGRADIOBUT, 0, 0, 16,6, 7,1, "68020" },
                     34:   { SGRADIOBUT, 0, 0, 16,7, 11,1, "68020+FPU" },
                     35:   { SGRADIOBUT, 0, 0, 16,8, 7,1, "68040" },
                     36:   { SGCHECKBOX, 0, 0, 3,10, 24,1, "Use CPU prefetch mode" },
                     37:   { SGCHECKBOX, 0, 0, 3,12, 20,1, "Blitter emulation" },
                     38:   { SGCHECKBOX, 0, 0, 3,14, 15,1, "Patch Timer-D" },
                     39:   { SGBUTTON, 0, 0, 5,16, 20,1, "Back to main menu" },
                     40:   { -1, 0, 0, 0,0, 0,0, NULL }
                     41: };
                     42: 
                     43: 
                     44: /*-----------------------------------------------------------------------*/
                     45: /*
                     46:   Show and process the "System" dialog.
                     47: */
                     48: void Dialog_SystemDlg(void)
                     49: {
                     50:   int i;
                     51: 
                     52:   SDLGui_CenterDlg(systemdlg);
                     53: 
                     54:   /* Set up dialog from actual values: */
                     55: 
                     56:   for(i=DLGSYS_68000; i<=DLGSYS_68040; i++)
                     57:   {
                     58:     systemdlg[i].state &= ~SG_SELECTED;
                     59:   }
                     60: 
                     61:   systemdlg[DLGSYS_68000+DialogParams.System.nCpuLevel].state |= SG_SELECTED;
                     62: 
                     63:   if( DialogParams.System.bCompatibleCpu )
                     64:     systemdlg[DLGSYS_PREFETCH].state |= SG_SELECTED;
                     65:   else
                     66:     systemdlg[DLGSYS_PREFETCH].state &= ~SG_SELECTED;
                     67: 
                     68:   if( DialogParams.System.bBlitter )
                     69:     systemdlg[DLGSYS_BLITTER].state |= SG_SELECTED;
                     70:   else
                     71:     systemdlg[DLGSYS_BLITTER].state &= ~SG_SELECTED;
                     72: 
                     73:   if (DialogParams.System.bPatchTimerD)
                     74:     systemdlg[DLGSYS_TIMERD].state |= SG_SELECTED;
                     75:   else
                     76:     systemdlg[DLGSYS_TIMERD].state &= ~SG_SELECTED;
                     77: 
                     78:   /* Show the dialog: */
                     79:   SDLGui_DoDialog(systemdlg);
                     80: 
                     81:   /* Read values from dialog: */
                     82: 
                     83:   for(i=DLGSYS_68000; i<=DLGSYS_68040; i++)
                     84:   {
                     85:     if( systemdlg[i].state&SG_SELECTED )
                     86:     {
                     87:       DialogParams.System.nCpuLevel = i-DLGSYS_68000;
                     88:       break;
                     89:     }
                     90:   }
                     91: 
                     92:   DialogParams.System.bCompatibleCpu = (systemdlg[DLGSYS_PREFETCH].state & SG_SELECTED);
                     93:   DialogParams.System.bBlitter = ( systemdlg[DLGSYS_BLITTER].state & SG_SELECTED );
                     94:   DialogParams.System.bPatchTimerD = ( systemdlg[DLGSYS_TIMERD].state & SG_SELECTED );
                     95: }

unix.superglobalmegacorp.com

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