Annotation of previous_trunk/src/gui-sdl/dlgMemoryAdvanced.c, revision 1.1.1.1

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

unix.superglobalmegacorp.com

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