Annotation of previous/src/gui-sdl/dlgMemoryAdvanced.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:  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 DlgMemoryAdvanced_fileid[] = "Hatari dlgMemoryAdvanced.c : " __DATE__ " " __TIME__;
                     15: 
                     16: #include "main.h"
                     17: #include "configuration.h"
                     18: #include "dialog.h"
                     19: #include "sdlgui.h"
                     20: 
                     21: 
                     22: #define DLGMA_BANK0_2MB     4
                     23: #define DLGMA_BANK0_4MB     5
                     24: #define DLGMA_BANK0_8MB     6
                     25: #define DLGMA_BANK0_16MB    7
                     26: #define DLGMA_BANK0_32MB    8
                     27: #define DLGMA_BANK0_NONE    9
                     28: 
                     29: #define DLGMA_BANK1_2MB     12
                     30: #define DLGMA_BANK1_4MB     13
                     31: #define DLGMA_BANK1_8MB     14
                     32: #define DLGMA_BANK1_16MB    15
                     33: #define DLGMA_BANK1_32MB    16
                     34: #define DLGMA_BANK1_NONE    17
                     35: 
                     36: #define DLGMA_BANK2_2MB     20
                     37: #define DLGMA_BANK2_4MB     21
                     38: #define DLGMA_BANK2_8MB     22
                     39: #define DLGMA_BANK2_16MB    23
                     40: #define DLGMA_BANK2_32MB    24
                     41: #define DLGMA_BANK2_NONE    25
                     42: 
                     43: #define DLGMA_BANK3_2MB     28
                     44: #define DLGMA_BANK3_4MB     29
                     45: #define DLGMA_BANK3_8MB     30
                     46: #define DLGMA_BANK3_16MB    31
                     47: #define DLGMA_BANK3_32MB    32
                     48: #define DLGMA_BANK3_NONE    33
                     49: 
                     50: #define DLGMA_CHECK         37
                     51: #define DLGMA_EXIT          38
                     52: 
                     53: 
                     54: void Dialog_MemAdvancedDlgDraw(int *memorybank);
                     55: void Dialog_MemAdvancedDlgRead(int *memorybank);
                     56: 
                     57: static SGOBJ memoryadvanceddlg[] =
                     58: {
                     59:     { SGBOX, 0, 0, 0,0, 63,24, NULL },
                     60:     { SGTEXT, 0, 0, 22,1, 14,1, "Custom memory setup" },
                     61:     
                     62:     { SGBOX, 0, 0, 2,4, 14,10, NULL },
                     63:     { SGTEXT, 0, 0, 3,5, 14,1, "Bank0" },
                     64:     { SGRADIOBUT, 0, 0, 4,7, 6,1, "2 MB" },
                     65:     { SGRADIOBUT, 0, 0, 4,8, 6,1, "4 MB" },
                     66:     { SGRADIOBUT, 0, 0, 4,9, 6,1, "8 MB" },
                     67:     { SGRADIOBUT, 0, 0, 4,10, 7,1, "16 MB" },
                     68:     { SGRADIOBUT, 0, 0, 4,11, 7,1, "32 MB" },
                     69:     { SGRADIOBUT, 0, 0, 4,12, 6,1, "none" },
                     70:     
                     71:     { SGBOX, 0, 0, 17,4, 14,10, NULL },
                     72:     { SGTEXT, 0, 0, 18,5, 14,1, "Bank1" },
                     73:     { SGRADIOBUT, 0, 0, 19,7, 6,1, "2 MB" },
                     74:     { SGRADIOBUT, 0, 0, 19,8, 6,1, "4 MB" },
                     75:     { SGRADIOBUT, 0, 0, 19,9, 6,1, "8 MB" },
                     76:     { SGRADIOBUT, 0, 0, 19,10, 7,1, "16 MB" },
                     77:     { SGRADIOBUT, 0, 0, 19,11, 7,1, "32 MB" },
                     78:     { SGRADIOBUT, 0, 0, 19,12, 6,1, "none" },
                     79:     
                     80:     { SGBOX, 0, 0, 32,4, 14,10, NULL },
                     81:     { SGTEXT, 0, 0, 33,5, 14,1, "Bank2" },
                     82:     { SGRADIOBUT, 0, 0, 34,7, 6,1, "2 MB" },
                     83:     { SGRADIOBUT, 0, 0, 34,8, 6,1, "4 MB" },
                     84:     { SGRADIOBUT, 0, 0, 34,9, 6,1, "8 MB" },
                     85:     { SGRADIOBUT, 0, 0, 34,10, 7,1, "16 MB" },
                     86:     { SGRADIOBUT, 0, 0, 34,11, 7,1, "32 MB" },
                     87:     { SGRADIOBUT, 0, 0, 34,12, 6,1, "none" },
                     88:     
                     89:     { SGBOX, 0, 0, 47,4, 14,10, NULL },
                     90:     { SGTEXT, 0, 0, 48,5, 14,1, "Bank3" },
                     91:     { SGRADIOBUT, 0, 0, 49,7, 6,1, "2 MB" },
                     92:     { SGRADIOBUT, 0, 0, 49,8, 6,1, "4 MB" },
                     93:     { SGRADIOBUT, 0, 0, 49,9, 6,1, "8 MB" },
                     94:     { SGRADIOBUT, 0, 0, 49,10, 7,1, "16 MB" },
                     95:     { SGRADIOBUT, 0, 0, 49,11, 7,1, "32 MB" },
                     96:     { SGRADIOBUT, 0, 0, 49,12, 6,1, "none" },
                     97:     
                     98:     { SGTEXT, 0, 0, 3,15, 14,1, "Some values are only valid on certain machines. They will" },
                     99:     { SGTEXT, 0, 0, 3,16, 14,1, "be corrected automatically when leaving this dialog." },
                    100:     { SGTEXT, 0, 0, 3,18, 14,1, "For booting Bank0 must contain at least 4 MB of memory." },
                    101: 
                    102:     { SGBUTTON, 0, 0, 20,21, 9,1, "Check" },
                    103:     { SGBUTTON, SG_DEFAULT, 0, 35,21, 8,1, "OK" },
                    104:     { -1, 0, 0, 0,0, 0,0, NULL }
                    105: };
                    106: 
                    107: 
                    108: 
                    109: /*-----------------------------------------------------------------------*/
                    110: /**
                    111:   * Show and process the "Memory Advanced" dialog.
                    112:   */
                    113: void Dialog_MemAdvancedDlg(int *membank) {
                    114: 
                    115:     int but;
                    116: 
                    117:        SDLGui_CenterDlg(memoryadvanceddlg);
                    118:  
                    119:        /* Set up dialog from actual values: */
                    120:     Dialog_MemAdvancedDlgDraw(membank);
                    121:                
                    122:        /* Draw and process the dialog: */
                    123:     do
                    124:        {
                    125:         but = SDLGui_DoDialog(memoryadvanceddlg, NULL);
                    126:         printf("Button: %i\n", but);
                    127:         switch (but) {
                    128:             case DLGMA_CHECK:
                    129:                 Dialog_MemAdvancedDlgRead(membank);
                    130:                 Configuration_CheckMemory(membank);
                    131:                 Dialog_MemAdvancedDlgDraw(membank);
                    132:                 break;
                    133:             default:
                    134:                 break;
                    135:         }
                    136:     }
                    137:     while (but != DLGMA_EXIT && but != SDLGUI_QUIT
                    138:            && but != SDLGUI_ERROR && !bQuitProgram);
                    139:     
                    140:  
                    141:        /* Read values from dialog: */
                    142:     Dialog_MemAdvancedDlgRead(membank);
                    143: }
                    144: 
                    145: 
                    146: /* Function to set up the dialog from the actual values */
                    147: void Dialog_MemAdvancedDlgDraw(int *bank) {
                    148:     int i, j;
                    149:     for (i = 0; i<4; i++) {
                    150:         
                    151:         for (j = (DLGMA_BANK0_2MB+(8*i)); j <= (DLGMA_BANK0_NONE+(8*i)); j++)
                    152:         {
                    153:             memoryadvanceddlg[j].state &= ~SG_SELECTED;
                    154:         }
                    155:         
                    156:         switch (bank[i])
                    157:         {
                    158:             case 0:
                    159:                 memoryadvanceddlg[DLGMA_BANK0_NONE+(i*8)].state |= SG_SELECTED;
                    160:                 break;
                    161:             case 2:
                    162:                 memoryadvanceddlg[DLGMA_BANK0_2MB+(i*8)].state |= SG_SELECTED;
                    163:                 break;
                    164:             case 4:
                    165:                 memoryadvanceddlg[DLGMA_BANK0_4MB+(i*8)].state |= SG_SELECTED;
                    166:                 break;
                    167:             case 8:
                    168:                 memoryadvanceddlg[DLGMA_BANK0_8MB+(i*8)].state |= SG_SELECTED;
                    169:                 break;
                    170:             case 16:
                    171:                 memoryadvanceddlg[DLGMA_BANK0_16MB+(i*8)].state |= SG_SELECTED;
                    172:                 break;
                    173:             case 32:
                    174:                 memoryadvanceddlg[DLGMA_BANK0_32MB+(i*8)].state |= SG_SELECTED;
                    175:                 break;
                    176:                 
                    177:             default:
                    178:                 break;
                    179:         }
                    180:     }
                    181: }
                    182: 
                    183: 
                    184: /* Function to read the actual values from the dialog */
                    185: void Dialog_MemAdvancedDlgRead(int *bank) {
                    186:     int i;
                    187:     for (i = 0; i<4; i++) {
                    188:         if (memoryadvanceddlg[(DLGMA_BANK0_2MB)+(i*8)].state & SG_SELECTED)
                    189:             bank[i] = 2;
                    190:         else if (memoryadvanceddlg[(DLGMA_BANK0_4MB)+(i*8)].state & SG_SELECTED)
                    191:             bank[i] = 4;
                    192:         else if (memoryadvanceddlg[(DLGMA_BANK0_8MB)+(i*8)].state & SG_SELECTED)
                    193:             bank[i] = 8;
                    194:         else if (memoryadvanceddlg[(DLGMA_BANK0_16MB)+(i*8)].state & SG_SELECTED)
                    195:             bank[i] = 16;
                    196:         else if (memoryadvanceddlg[(DLGMA_BANK0_32MB)+(i*8)].state & SG_SELECTED)
                    197:             bank[i] = 32;
                    198:         else if (memoryadvanceddlg[(DLGMA_BANK0_NONE)+(i*8)].state & SG_SELECTED)
                    199:             bank[i] = 0;
                    200:     }
                    201: }

unix.superglobalmegacorp.com

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