Annotation of previous/src/gui-sdl/dlgBoot.c, revision 1.1

1.1     ! root        1: /*
        !             2:   Hatari - dlgRom.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: const char DlgBoot_fileid[] = "Hatari dlgBoot.c : " __DATE__ " " __TIME__;
        !             8: 
        !             9: #include "main.h"
        !            10: #include "configuration.h"
        !            11: #include "dialog.h"
        !            12: #include "sdlgui.h"
        !            13: #include "file.h"
        !            14: #include "paths.h"
        !            15: 
        !            16: 
        !            17: #define DLGBOOT_SCSI           4
        !            18: #define DLGBOOT_ETHERNET       5
        !            19: #define DLGBOOT_MO             6
        !            20: #define DLGBOOT_FLOPPY         7
        !            21: #define DLGBOOT_ROMMONITOR     8
        !            22: 
        !            23: #define DLGBOOT_DRAMTEST      11
        !            24: #define DLGBOOT_ENABLE_POT    12
        !            25: #define DLGBOOT_SOUNDTEST     13
        !            26: #define DLGBOOT_SCSITEST      14
        !            27: #define DLGBOOT_LOOP          15
        !            28: #define DLGBOOT_VERBOSE       16
        !            29: #define DLGBOOT_EXTENDED_POT  17    
        !            30: 
        !            31: #define DLGBOOT_EXIT          19
        !            32: 
        !            33: 
        !            34: 
        !            35: /* The Boot options dialog: */
        !            36: static SGOBJ bootdlg[] =
        !            37: {
        !            38:        { SGBOX, 0, 0, 0,0, 52,22, NULL },
        !            39:     { SGTEXT, 0, 0, 20,1, 9,1, "Boot options" },
        !            40: 
        !            41:        { SGBOX, 0, 0, 1,4, 19,11, NULL },
        !            42:        { SGTEXT, 0, 0, 2,5, 30,1, "Boot device:" },
        !            43:        { SGRADIOBUT, 0, 0, 2,7, 11,1, "SCSI disk" },
        !            44:     { SGRADIOBUT, 0, 0, 2,8, 10,1, "Ethernet" },
        !            45:     { SGRADIOBUT, 0, 0, 2,9, 9,1, "MO disk" },
        !            46:     { SGRADIOBUT, 0, 0, 2,10, 8,1, "Floppy" },
        !            47:     { SGRADIOBUT, 0, 0, 2,12, 13,1, "ROM monitor" },
        !            48:     
        !            49:        { SGBOX, 0, 0, 21,4, 30,11, NULL },
        !            50:        { SGTEXT, 0, 0, 22,5, 30,1, "Power-on test options:" },
        !            51:        { SGCHECKBOX, 0, 0, 22,7, 19,1, "perform DRAM test" },
        !            52:        { SGCHECKBOX, 0, 0, 22,8, 23,1, "perform power-on test" },
        !            53:     { SGCHECKBOX, 0, 0, 24,9, 16,1, "sound out test" },
        !            54:        { SGCHECKBOX, 0, 0, 24,10, 12,1, "SCSI tests" },
        !            55:        { SGCHECKBOX, 0, 0, 24,11, 21,1, "loop until keypress" },
        !            56:        { SGCHECKBOX, 0, 0, 24,12, 19,1, "verbose test mode" },
        !            57:        { SGCHECKBOX, 0, 0, 22,13, 27,1, "boot extended diagnostics" },
        !            58:     
        !            59:     { SGTEXT, 0, 0, 2,16, 25,1, "For advanced options boot to ROM monitor prompt." },
        !            60: 
        !            61:        { SGBUTTON, SG_DEFAULT, 0, 17,19, 20,1, "Back to main menu" },
        !            62:        { -1, 0, 0, 0,0, 0,0, NULL }
        !            63: };
        !            64: 
        !            65: 
        !            66: 
        !            67: /*-----------------------------------------------------------------------*/
        !            68: /**
        !            69:  * Show and process the Boot options dialog.
        !            70:  */
        !            71: void DlgBoot_Main(void)
        !            72: {
        !            73:     int i;
        !            74:        int but;
        !            75: 
        !            76:        SDLGui_CenterDlg(bootdlg);
        !            77: 
        !            78:     /* Set up the dialog from actual values */
        !            79:     for (i = DLGBOOT_ROMMONITOR; i <= DLGBOOT_FLOPPY; i++)
        !            80:        {
        !            81:                bootdlg[i].state &= ~SG_SELECTED;
        !            82:        }
        !            83:     switch (ConfigureParams.Boot.nBootDevice) {
        !            84:         case BOOT_ROM:
        !            85:             bootdlg[DLGBOOT_ROMMONITOR].state |= SG_SELECTED;
        !            86:             break;
        !            87:         case BOOT_SCSI:
        !            88:             bootdlg[DLGBOOT_SCSI].state |= SG_SELECTED;
        !            89:             break;
        !            90:         case BOOT_ETHERNET:
        !            91:             bootdlg[DLGBOOT_ETHERNET].state |= SG_SELECTED;
        !            92:             break;
        !            93:         case BOOT_MO:
        !            94:             bootdlg[DLGBOOT_MO].state |= SG_SELECTED;
        !            95:             break;
        !            96:         case BOOT_FLOPPY:
        !            97:             bootdlg[DLGBOOT_FLOPPY].state |= SG_SELECTED;
        !            98:             break;
        !            99:             
        !           100:         default:
        !           101:             break;
        !           102:     }
        !           103:     
        !           104:     for (i = DLGBOOT_DRAMTEST; i <= DLGBOOT_EXTENDED_POT; i++) {
        !           105:         bootdlg[i].state &= ~SG_SELECTED;
        !           106:     }
        !           107:     if (ConfigureParams.Boot.bEnableDRAMTest)
        !           108:         bootdlg[DLGBOOT_DRAMTEST].state |= SG_SELECTED;
        !           109:     if (ConfigureParams.Boot.bEnablePot)
        !           110:         bootdlg[DLGBOOT_ENABLE_POT].state |= SG_SELECTED;
        !           111:     if (ConfigureParams.Boot.bEnableSoundTest)
        !           112:         bootdlg[DLGBOOT_SOUNDTEST].state |= SG_SELECTED;
        !           113:     if (ConfigureParams.Boot.bEnableSCSITest)
        !           114:         bootdlg[DLGBOOT_SCSITEST].state |= SG_SELECTED;
        !           115:     if (ConfigureParams.Boot.bLoopPot)
        !           116:         bootdlg[DLGBOOT_LOOP].state |= SG_SELECTED;
        !           117:     if (ConfigureParams.Boot.bVerbose)
        !           118:         bootdlg[DLGBOOT_VERBOSE].state |= SG_SELECTED;
        !           119:     if (ConfigureParams.Boot.bExtendedPot)
        !           120:         bootdlg[DLGBOOT_EXTENDED_POT].state |= SG_SELECTED;
        !           121:     
        !           122: 
        !           123:     /* Draw and process the dialog */
        !           124:     
        !           125:        do
        !           126:        {
        !           127:                but = SDLGui_DoDialog(bootdlg, NULL);
        !           128:                switch (but)
        !           129:                {
        !           130:             case DLGBOOT_ENABLE_POT:
        !           131:                 if (!(bootdlg[DLGBOOT_ENABLE_POT].state & SG_SELECTED)) {
        !           132:                     bootdlg[DLGBOOT_SOUNDTEST].state &= ~SG_SELECTED;
        !           133:                     bootdlg[DLGBOOT_SCSITEST].state &= ~SG_SELECTED;
        !           134:                     bootdlg[DLGBOOT_LOOP].state &= ~SG_SELECTED;
        !           135:                     bootdlg[DLGBOOT_VERBOSE].state &= ~SG_SELECTED;
        !           136:                 }
        !           137:                 
        !           138:             case DLGBOOT_SOUNDTEST:
        !           139:             case DLGBOOT_SCSITEST:
        !           140:             case DLGBOOT_LOOP:
        !           141:             case DLGBOOT_VERBOSE:
        !           142:                 if (bootdlg[but].state & SG_SELECTED) {
        !           143:                     bootdlg[DLGBOOT_ENABLE_POT].state |= SG_SELECTED;
        !           144:                 }
        !           145:                 break;
        !           146:             default: break;
        !           147:                }
        !           148:        }
        !           149:        while (but != DLGBOOT_EXIT && but != SDLGUI_QUIT
        !           150:               && but != SDLGUI_ERROR && !bQuitProgram);
        !           151:     
        !           152:     
        !           153:     /* Read values from dialog */
        !           154:     if (bootdlg[DLGBOOT_ROMMONITOR].state & SG_SELECTED)
        !           155:         ConfigureParams.Boot.nBootDevice = BOOT_ROM;
        !           156:     else if (bootdlg[DLGBOOT_SCSI].state & SG_SELECTED)
        !           157:         ConfigureParams.Boot.nBootDevice = BOOT_SCSI;
        !           158:     else if (bootdlg[DLGBOOT_ETHERNET].state & SG_SELECTED)
        !           159:         ConfigureParams.Boot.nBootDevice = BOOT_ETHERNET;
        !           160:     else if (bootdlg[DLGBOOT_MO].state & SG_SELECTED)
        !           161:         ConfigureParams.Boot.nBootDevice = BOOT_MO;
        !           162:     else if (bootdlg[DLGBOOT_FLOPPY].state & SG_SELECTED)
        !           163:         ConfigureParams.Boot.nBootDevice = BOOT_FLOPPY;
        !           164: 
        !           165:     ConfigureParams.Boot.bEnableDRAMTest = bootdlg[DLGBOOT_DRAMTEST].state & SG_SELECTED;
        !           166:     ConfigureParams.Boot.bEnablePot = bootdlg[DLGBOOT_ENABLE_POT].state & SG_SELECTED;
        !           167:     ConfigureParams.Boot.bEnableSoundTest = bootdlg[DLGBOOT_SOUNDTEST].state & SG_SELECTED;
        !           168:     ConfigureParams.Boot.bEnableSCSITest = bootdlg[DLGBOOT_SCSITEST].state & SG_SELECTED;
        !           169:     ConfigureParams.Boot.bLoopPot = bootdlg[DLGBOOT_LOOP].state & SG_SELECTED;
        !           170:     ConfigureParams.Boot.bVerbose = bootdlg[DLGBOOT_VERBOSE].state & SG_SELECTED;
        !           171:     ConfigureParams.Boot.bExtendedPot = bootdlg[DLGBOOT_EXTENDED_POT].state & SG_SELECTED;
        !           172: }

unix.superglobalmegacorp.com

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