Annotation of previous_trunk/src/gui-sdl/dlgMemoryAdvanced.c, revision 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.