Changeset 59 in xtideuniversalbios for trunk/XTIDE_Universal_BIOS_Configurator_v2


Ignore:
Timestamp:
Nov 19, 2010, 10:59:52 AM (13 years ago)
Author:
aitotat
google:author:
aitotat
Message:

Changes to Configuration Program v2:

  • Menu structure should now be complete.
Location:
trunk/XTIDE_Universal_BIOS_Configurator_v2
Files:
2 added
15 edited

Legend:

Unmodified
Added
Removed
  • trunk/XTIDE_Universal_BIOS_Configurator_v2/Inc/MenuCfg.inc

    r57 r59  
    22; Project name  :   XTIDE Universal BIOS Configurator v2
    33; Created date  :   5.10.2010
    4 ; Last update   :   5.10.2010
     4; Last update   :   18.10.2010
    55; Author        :   Tomi Tilli
    66; Description   :   Menu configuration.
     
    1414
    1515
     16KEY_BACK_TO_PREVIOUS_MENU   EQU     ESC
    1617KEY_DISPLAY_ITEM_HELP       EQU     3Bh     ; F1
    1718
  • trunk/XTIDE_Universal_BIOS_Configurator_v2/Inc/MenuStructs.inc

    r57 r59  
    22; Project name  :   XTIDE Universal BIOS Configurator v2
    33; Created date  :   5.10.2010
    4 ; Last update   :   2.11.2010
     4; Last update   :   18.11.2010
    55; Author        :   Tomi Tilli
    66; Description   :   Menu page and item structs.
     
    1010struc MENUPAGE
    1111    .fnEnter            resb    2   ; Function to initialize MENUPAGE
     12    .fnBack             resb    2   ; Function to initialize previous MENUPAGE
    1213    .wMenuitems         resb    2   ; Number of MENUITEM structs
    1314    .rgMenuitem:                    ; All MENUITEM structs in this MENUPAGE
     
    3233FLG_MENUITEM_FLAGVALUE      EQU (1<<2)  ; Item value is single bit
    3334FLG_MENUITEM_BYTEVALUE      EQU (1<<3)  ; Item value is single byte
     35FLG_MENUITEM_PROGRAMVAR     EQU (1<<4)  ; Item is for configuring program, not BIOS
    3436
    3537; Values for MENUITEM.bType
  • trunk/XTIDE_Universal_BIOS_Configurator_v2/Inc/Variables.inc

    r57 r59  
    22; Project name  :   XTIDE Univeral BIOS Configurator v2
    33; Created date  :   5.10.2010
    4 ; Last update   :   1.11.2010
     4; Last update   :   19.11.2010
    55; Author        :   Tomi Tilli
    66; Description   :   Global variables for configuration program.
     
    2222    .wImageSize         resb    2           ; Size in bytes for BIOS image to be flashed (0=65536)
    2323    .wEepromSegment     resb    2           ; Segment where EEPROM is located
    24     .bPageSize          resb    1           ; EEPROM page size in bytes
     24    .bEepromType        resb    1           ; EEPROM type
     25    .bEepromPageSize    resb    1           ; EEPROM page size in bytes
    2526    .bSdpCommand        resb    1           ; Command for Software Data Protection
     27                        resb    1
    2628    .szOpenedFile       resb    FILENAME_BUFFER_SIZE
    2729    .flashVars          resb    FLASHVARS_size
     
    3436FLG_CFGVARS_CHECKSUM    EQU     (1<<3)  ; Generate checksum byte
    3537
    36 ; SDP command for CFGVARS.bSdpCommand
    37 CMD_SDP_NONE            EQU     (0<<1)  ; Do not use any SDP command
    38 CMD_SDP_ENABLE          EQU     (1<<1)  ; Flash with SDP enable command
    39 CMD_SDP_DISABLE         EQU     (2<<1)  ; Flash with SDP disable command
     38; EEPROM types
     39struc EEPROM_TYPE
     40    .2816_2kiB          resb    2
     41    .2832_4kiB          resb    2
     42    .2864_8kiB          resb    2
     43    .28128_16kiB        resb    2
     44    .28256_32kiB        resb    2
     45    .28512_64kiB        resb    2
     46endstruc
     47
     48; Software Data Protection commands
     49struc SDP_COMMAND
     50    .none               resb    2   ; Do not use any SDP command
     51    .enable             resb    2   ; Flash with SDP enable command
     52    .disable            resb    2   ; Flash with SDP disable command
     53endstruc
     54
     55; Page sizes
     56struc EEPROM_PAGE_SIZE
     57    .1_byte             resb    2
     58    .2_bytes            resb    2
     59    .4_bytes            resb    2
     60    .8_bytes            resb    2
     61    .16_bytes           resb    2
     62    .32_bytes           resb    2
     63    .64_bytes           resb    2
     64endstruc
    4065
    4166; Default CFGVARS settings
    4267DEFAULT_CFGVARS_FLAGS   EQU     FLG_CFGVARS_CHECKSUM
    4368DEFAULT_EEPROM_SEGMENT  EQU     0D000h
    44 DEFAULT_PAGE_SIZE       EQU     1
    45 DEFAULT_SDP_COMMAND     EQU     CMD_SDP_ENABLE
     69DEFAULT_PAGE_SIZE       EQU     EEPROM_PAGE_SIZE.1_byte
     70DEFAULT_SDP_COMMAND     EQU     SDP_COMMAND.enable
    4671
    4772
  • trunk/XTIDE_Universal_BIOS_Configurator_v2/Src/Buffers.asm

    r57 r59  
    22; Project name  :   XTIDE Universal BIOS Configurator v2
    33; Created date  :   6.10.2010
    4 ; Last update   :   10.10.2010
     4; Last update   :   19.11.2010
    55; Author        :   Tomi Tilli
    66; Description   :   Functions for accessing file and flash buffers.
     
    181181
    182182;--------------------------------------------------------------------
     183; Buffers_SaveChangesIfFileLoaded
     184;   Parameters:
     185;       Nothing
     186;   Returns:
     187;       Nothing
     188;   Corrupts registers:
     189;       AX, BX, CX, SI, DI
     190;--------------------------------------------------------------------
     191ALIGN JUMP_ALIGN
     192Buffers_SaveChangesIfFileLoaded:
     193    mov     ax, [cs:g_cfgVars+CFGVARS.wFlags]
     194    and     ax, BYTE (FLG_CFGVARS_FILELOADED | FLG_CFGVARS_UNSAVED)
     195    cmp     ax, BYTE (FLG_CFGVARS_FILELOADED | FLG_CFGVARS_UNSAVED)
     196    jne     SHORT .NothingToSave
     197    call    Dialogs_DisplaySaveChangesDialog
     198    jnz     SHORT .NothingToSave
     199    jmp     BiosFile_SaveUnsavedChanges
     200ALIGN JUMP_ALIGN
     201.NothingToSave:
     202    ret
     203
     204
     205;--------------------------------------------------------------------
    183206; Buffers_GenerateChecksum
    184207;   Parameters:
     
    210233
    211234;--------------------------------------------------------------------
     235; Buffers_GetRomvarsFlagsToAX
     236;   Parameters:
     237;       Nothing
     238;   Returns:
     239;       AX:     ROMVARS.wFlags
     240;   Corrupts registers:
     241;       BX
     242;--------------------------------------------------------------------
     243ALIGN JUMP_ALIGN
     244Buffers_GetRomvarsFlagsToAX:
     245    mov     bx, ROMVARS.wFlags
     246    ; Fall to Buffers_GetRomvarsValueToAXfromOffsetInBX
     247
     248;--------------------------------------------------------------------
    212249; Buffers_GetRomvarsValueToAXfromOffsetInBX
    213250;   Parameters:
     
    241278ALIGN JUMP_ALIGN
    242279Buffers_GetFileDialogItemBufferToESDI:
     280    call    Buffers_GetFileBufferToESDI
     281    push    di
     282    mov     di, es
     283    add     di, 1000h       ; Third 64k page
     284    mov     es, di
     285    pop     di
     286    ret
    243287Buffers_GetFileBufferToESDI:
    244288    mov     di, cs
  • trunk/XTIDE_Universal_BIOS_Configurator_v2/Src/Dialogs.asm

    r57 r59  
    22; Project name  :   XTIDE Univeral BIOS Configurator v2
    33; Created date  :   10.10.2010
    4 ; Last update   :   10.10.2010
     4; Last update   :   19.11.2010
    55; Author        :   Tomi Tilli
    66; Description   :   Functions for displaying dialogs.
     
    8080    ret
    8181
    82 ;--------------------------------------------------------------------
    83 ; InitializeDialogInputFromDSSI
    84 ;   Parameters:
    85 ;       DS:SI:  Ptr to DIALOG_INPUT
    86 ;   Returns:
    87 ;       Nothing
    88 ;   Corrupts registers:
    89 ;       Nothing
    90 ;--------------------------------------------------------------------
    91 ALIGN JUMP_ALIGN
    92 InitializeDialogInputFromDSSI:
    93     mov     [si+DIALOG_INPUT.fszTitle+2], cs
    94     mov     [si+DIALOG_INPUT.fszItems+2], cs
    95     mov     WORD [si+DIALOG_INPUT.fszInfo], g_szGenericDialogInfo
    96     mov     [si+DIALOG_INPUT.fszInfo+2], cs
    97     ret
    98 
    9982
    10083;--------------------------------------------------------------------
     
    124107    pop     es
    125108    ret
     109
     110
     111;--------------------------------------------------------------------
     112; Dialogs_DisplayQuitDialog
     113; Dialogs_DisplaySaveChangesDialog
     114;   Parameters:
     115;       Nothing
     116;   Returns:
     117;       ZF:     Set if user wants to do the action
     118;               Cleared if user wants to cancel
     119;   Corrupts registers:
     120;       AX, CX
     121;--------------------------------------------------------------------
     122ALIGN JUMP_ALIGN
     123Dialogs_DisplayQuitDialog:
     124    push    ds
     125
     126    mov     cx, DIALOG_INPUT_size
     127    call    Memory_ReserveCXbytesFromStackToDSSI
     128    call    InitializeDialogInputFromDSSI
     129    mov     WORD [si+DIALOG_INPUT.fszTitle], g_szDlgExitToDos
     130    mov     WORD [si+DIALOG_INPUT.fszItems], g_szMultichoiseBooleanFlag
     131    CALL_MENU_LIBRARY GetSelectionToAXwithInputInDSSI
     132    add     sp, BYTE DIALOG_INPUT_size
     133    cmp     ax, BYTE 1      ; 1 = YES
     134
     135    pop     ds
     136    ret
     137
     138
     139ALIGN JUMP_ALIGN
     140Dialogs_DisplaySaveChangesDialog:
     141    push    ds
     142
     143    mov     cx, DIALOG_INPUT_size
     144    call    Memory_ReserveCXbytesFromStackToDSSI
     145    call    InitializeDialogInputFromDSSI
     146    mov     WORD [si+DIALOG_INPUT.fszTitle], g_szDlgSaveChanges
     147    mov     WORD [si+DIALOG_INPUT.fszItems], g_szMultichoiseBooleanFlag
     148    CALL_MENU_LIBRARY GetSelectionToAXwithInputInDSSI
     149    add     sp, BYTE DIALOG_INPUT_size
     150    cmp     ax, BYTE 1      ; 1 = YES
     151
     152    pop     ds
     153    ret
     154
     155
     156;--------------------------------------------------------------------
     157; InitializeDialogInputFromDSSI
     158;   Parameters:
     159;       DS:SI:  Ptr to DIALOG_INPUT
     160;   Returns:
     161;       Nothing
     162;   Corrupts registers:
     163;       Nothing
     164;--------------------------------------------------------------------
     165ALIGN JUMP_ALIGN
     166InitializeDialogInputFromDSSI:
     167    mov     [si+DIALOG_INPUT.fszTitle+2], cs
     168    mov     [si+DIALOG_INPUT.fszItems+2], cs
     169    mov     WORD [si+DIALOG_INPUT.fszInfo], g_szGenericDialogInfo
     170    mov     [si+DIALOG_INPUT.fszInfo+2], cs
     171    ret
  • trunk/XTIDE_Universal_BIOS_Configurator_v2/Src/Main.asm

    r57 r59  
    22; Project name  :   XTIDE Univeral BIOS Configurator v2
    33; Created date  :   5.10.2010
    4 ; Last update   :   3.11.2010
     4; Last update   :   19.11.2010
    55; Author        :   Tomi Tilli
    66; Description   :   Program start and exit.         
     
    3939%include "Strings.asm"
    4040
     41%include "BootMenuSettingsMenu.asm"
    4142%include "ConfigurationMenu.asm"
     43%include "FlashMenu.asm"
    4244%include "IdeControllerMenu.asm"
    4345%include "MainMenu.asm"
     
    9193g_cfgVars:
    9294istruc CFGVARS
    93     at  CFGVARS.pMenupage,      dw  g_MenupageForMainMenu
    94     at  CFGVARS.wFlags,         dw  DEFAULT_CFGVARS_FLAGS
    95     at  CFGVARS.wEepromSegment, dw  DEFAULT_EEPROM_SEGMENT
    96     at  CFGVARS.bPageSize,      db  DEFAULT_PAGE_SIZE
    97     at  CFGVARS.bSdpCommand,    db  DEFAULT_SDP_COMMAND
     95    at  CFGVARS.pMenupage,          dw  g_MenupageForMainMenu
     96    at  CFGVARS.wFlags,             dw  DEFAULT_CFGVARS_FLAGS
     97    at  CFGVARS.wEepromSegment,     dw  DEFAULT_EEPROM_SEGMENT
     98    at  CFGVARS.bEepromPageSize,    db  DEFAULT_PAGE_SIZE
     99    at  CFGVARS.bSdpCommand,        db  DEFAULT_SDP_COMMAND
    98100iend
    99101
  • trunk/XTIDE_Universal_BIOS_Configurator_v2/Src/MenuEvents.asm

    r57 r59  
    22; Project name  :   XTIDE Universal BIOS Configurator v2
    33; Created date  :   5.10.2010
    4 ; Last update   :   6.10.2010
     4; Last update   :   18.10.2010
    55; Author        :   Tomi Tilli
    66; Description   :   Menu event handling.
     
    2020ALIGN JUMP_ALIGN
    2121MenuEvents_DisplayMenu:
    22     mov     ax, g_MenupageForMainMenu
    23     mov     dx, ds
    2422    mov     bx, MenuEventHandler
    2523    CALL_MENU_LIBRARY DisplayWithHandlerInBXandUserDataInDXAX
     
    8886; Parameters:
    8987;   None
     88; Returns:
     89;   CF:     Set to exit menu
     90;           Clear to cancel exit
    9091ALIGN JUMP_ALIGN
    9192.ExitMenu:
     93    call    Menupage_GetActiveMenupageToDSDI
     94    mov     si, [di+MENUPAGE.fnBack]
     95    cmp     si, ExitToDos
     96    je      SHORT .QuitProgram
     97    call    si                  ; Back to previous menu
     98    clc
     99    ret
     100
     101ALIGN JUMP_ALIGN
     102.QuitProgram:
     103    call    Dialogs_DisplayQuitDialog
     104    jz      SHORT .ExitToDOS
     105    clc
     106    ret
     107.ExitToDOS:
     108    call    Buffers_SaveChangesIfFileLoaded
    92109    stc
    93110    ret
     
    122139.KeyStrokeInAX:
    123140    cmp     ah, KEY_DISPLAY_ITEM_HELP
    124     jne     SHORT .EventNotHandled
    125 
     141    je      SHORT .DisplayHelp
     142    jmp     SHORT .EventNotHandled
     143
     144ALIGN JUMP_ALIGN
     145.DisplayHelp:
    126146    call    Menupage_GetActiveMenupageToDSDI
    127147    CALL_MENU_LIBRARY GetHighlightedItemToAX
  • trunk/XTIDE_Universal_BIOS_Configurator_v2/Src/Menuitem.asm

    r57 r59  
    22; Project name  :   XTIDE Universal BIOS Configurator v2
    33; Created date  :   5.10.2010
    4 ; Last update   :   2.11.2010
     4; Last update   :   19.11.2010
    55; Author        :   Tomi Tilli
    66; Description   :   Functions for accessing MENUITEM structs.
     
    88; Section containing code
    99SECTION .text
    10 
    11 ;--------------------------------------------------------------------
    12 ; Menuitem_SetVisibleFromDSSI
    13 ; Menuitem_SetInvisibleFromDSSI
    14 ;   Parameters:
    15 ;       DS:SI:  Ptr to MENUITEM
    16 ;   Returns: (Menuitem_IsVisibleFromDSSI only)
    17 ;       ZF:     Clear if visible
    18 ;               Set if not visible
    19 ;   Corrupts registers:
    20 ;       Nothing
    21 ;--------------------------------------------------------------------
    22 ALIGN JUMP_ALIGN
    23 Menuitem_SetVisibleFromDSSI:
    24     or      BYTE [si+MENUITEM.bFlags], FLG_MENUITEM_VISIBLE
    25     ret
    26 
    27 ALIGN JUMP_ALIGN
    28 Menuitem_SetInvisibleFromDSSI:
    29     and     BYTE [si+MENUITEM.bFlags], ~FLG_MENUITEM_VISIBLE
    30     ret
    31 
    3210
    3311;--------------------------------------------------------------------
     
    173151    ja      SHORT .InvalidItemType
    174152
    175     call    Buffers_GetFileBufferToESDI
     153    call    GetConfigurationBufferToESDIforMenuitemInDSSI
    176154    add     di, [si+MENUITEM.itemValue+ITEM_VALUE.wRomvarsValueOffset]
    177155    jmp     [cs:bx+.rgfnJumpToStoreValueBasedOnItemType]
     
    259237ALIGN JUMP_ALIGN
    260238.SetUnsavedChanges:
     239    test    BYTE [si+MENUITEM.bFlags], FLG_MENUITEM_PROGRAMVAR
     240    jnz     SHORT .NoUnsavedChangesForProgramVariables
    261241    call    Buffers_SetUnsavedChanges
     242.NoUnsavedChangesForProgramVariables:
    262243    test    BYTE [si+MENUITEM.bFlags], FLG_MENUITEM_MODIFY_MENU
    263244    jnz     SHORT .ModifyItemVisibility
     
    291272ALIGN JUMP_ALIGN
    292273Menuitem_GetValueToAXfromMenuitemInDSSI:
    293     mov     bx, [si+MENUITEM.itemValue+ITEM_VALUE.wRomvarsValueOffset]
    294     call    Buffers_GetRomvarsValueToAXfromOffsetInBX
     274    call    .GetMenuitemValueToAX
    295275    test    BYTE [si+MENUITEM.bFlags], FLG_MENUITEM_BYTEVALUE
    296276    jnz     SHORT .ConvertWordToByteValue
     
    300280
    301281ALIGN JUMP_ALIGN
     282.GetMenuitemValueToAX:
     283    push    es
     284    push    di
     285    call    GetConfigurationBufferToESDIforMenuitemInDSSI
     286    add     di, [si+MENUITEM.itemValue+ITEM_VALUE.wRomvarsValueOffset]
     287    mov     ax, [es:di]
     288    pop     di
     289    pop     es
     290    ret
     291
     292ALIGN JUMP_ALIGN
    302293.ConvertWordToByteValue:
    303294    xor     ah, ah
     
    314305    mov     ax, TRUE<<1     ; Shift for lookup
    315306    ret
     307
     308
     309;--------------------------------------------------------------------
     310; GetConfigurationBufferToESDIforMenuitemInDSSI
     311;   Parameters:
     312;       DS:SI:  Ptr to MENUITEM
     313;   Returns:
     314;       ES:DI:  Ptr to configuration buffer
     315;   Corrupts registers:
     316;       Nothing
     317;--------------------------------------------------------------------
     318ALIGN JUMP_ALIGN
     319GetConfigurationBufferToESDIforMenuitemInDSSI:
     320    test    BYTE [si+MENUITEM.bFlags], FLG_MENUITEM_PROGRAMVAR
     321    jnz     SHORT .ReturnCfgvarsInESDI
     322    jmp     Buffers_GetFileBufferToESDI
     323ALIGN JUMP_ALIGN
     324.ReturnCfgvarsInESDI:
     325    push    cs
     326    pop     es
     327    mov     di, g_cfgVars
     328    ret
  • trunk/XTIDE_Universal_BIOS_Configurator_v2/Src/MenuitemPrint.asm

    r57 r59  
    139139    pop     si
    140140    ret
    141    
     141
     142
     143;--------------------------------------------------------------------
     144; MenuitemPrint_WriteLookupValueStringToBufferInESDIfromUnshiftedItemInDSSI
     145; MenuitemPrint_WriteLookupValueStringToBufferInESDIfromShiftedItemInDSSI
     146;   Parameters:
     147;       DS:SI:  Ptr to MENUITEM
     148;       ES:DI:  Ptr to destination buffer
     149;   Returns:
     150;       DI:     Updated
     151;   Corrupts registers:
     152;       AX, BX, CX
     153;--------------------------------------------------------------------   
     154ALIGN JUMP_ALIGN
     155MenuitemPrint_WriteLookupValueStringToBufferInESDIfromUnshiftedItemInDSSI:
     156    call    Menuitem_GetValueToAXfromMenuitemInDSSI
     157    shl     ax, 1
     158    jmp     SHORT PrintLookupValueFromAXtoBufferInESDI
     159
     160ALIGN JUMP_ALIGN
     161MenuitemPrint_WriteLookupValueStringToBufferInESDIfromShiftedItemInDSSI:
     162    call    Menuitem_GetValueToAXfromMenuitemInDSSI
     163    ; Fall to PrintLookupValueFromAXtoBufferInESDI
    142164
    143165;--------------------------------------------------------------------
    144166; MenuitemPrint_WriteLookupValueStringToBufferInESDIfromItemInDSSI
    145167;   Parameters:
    146 ;       DS:SI:  Ptr to MENUITEM
    147 ;       ES:DI:  Ptr to destination buffer
    148 ;   Returns:
    149 ;       DI:     Updated
    150 ;   Corrupts registers:
    151 ;       AX, BX, CX
    152 ;--------------------------------------------------------------------   
    153 ALIGN JUMP_ALIGN
    154 MenuitemPrint_WriteLookupValueStringToBufferInESDIfromItemInDSSI:
    155     push    si
    156 
    157     call    Menuitem_GetValueToAXfromMenuitemInDSSI
     168;       AX:     Value to print
     169;       DS:SI:  Ptr to MENUITEM
     170;       ES:DI:  Ptr to destination buffer
     171;   Returns:
     172;       DI:     Updated
     173;   Corrupts registers:
     174;       AX, BX, CX
     175;--------------------------------------------------------------------   
     176ALIGN JUMP_ALIGN
     177PrintLookupValueFromAXtoBufferInESDI:
     178    push    si
    158179    add     ax, [si+MENUITEM.itemValue+ITEM_VALUE.rgszValueToStringLookup]
    159180    xchg    bx, ax
    160181    mov     si, [bx]
    161182    call    String_CopyDSSItoESDIandGetLengthToCX
    162 
    163183    pop     si
    164184    ret
  • trunk/XTIDE_Universal_BIOS_Configurator_v2/Src/Menupages/ConfigurationMenu.asm

    r57 r59  
    22; Project name  :   XTIDE Universal BIOS Configurator v2
    33; Created date  :   24.10.2010
    4 ; Last update   :   3.11.2010
     4; Last update   :   18.11.2010
    55; Author        :   Tomi Tilli
    66; Description   :   "Configure XTIDE Universal BIOS" menu structs and functions.
     
    1313istruc MENUPAGE
    1414    at  MENUPAGE.fnEnter,           dw  ConfigurationMenu_EnterMenuOrModifyItemVisibility
     15    at  MENUPAGE.fnBack,            dw  MainMenu_EnterMenuOrModifyItemVisibility
    1516    at  MENUPAGE.wMenuitems,        dw  11
    1617iend
     
    7879g_MenuitemConfigurationBootMenuSettings:
    7980istruc MENUITEM
    80     at  MENUITEM.fnActivate,        dw  BootMenuSettings
     81    at  MENUITEM.fnActivate,        dw  BootMenuSettingsMenu_EnterMenuOrModifyItemVisibility
    8182    at  MENUITEM.szName,            dw  g_szItemCfgBootMenu
    8283    at  MENUITEM.szQuickInfo,       dw  g_szNfoCfgBootMenu
     
    8990istruc MENUITEM
    9091    at  MENUITEM.fnActivate,        dw  Menuitem_ActivateMultichoiseSelectionForMenuitemInDSSI
    91     at  MENUITEM.fnFormatValue,     dw  MenuitemPrint_WriteLookupValueStringToBufferInESDIfromItemInDSSI
     92    at  MENUITEM.fnFormatValue,     dw  MenuitemPrint_WriteLookupValueStringToBufferInESDIfromShiftedItemInDSSI
    9293    at  MENUITEM.szName,            dw  g_szItemCfgBootLoader
    9394    at  MENUITEM.szQuickInfo,       dw  g_szNfoCfgBootLoader
    9495    at  MENUITEM.szHelp,            dw  g_szNfoCfgBootLoader
    95     at  MENUITEM.bFlags,            db  FLG_MENUITEM_VISIBLE | FLG_MENUITEM_BYTEVALUE
     96    at  MENUITEM.bFlags,            db  FLG_MENUITEM_VISIBLE | FLG_MENUITEM_MODIFY_MENU | FLG_MENUITEM_BYTEVALUE
    9697    at  MENUITEM.bType,             db  TYPE_MENUITEM_MULTICHOISE
    9798    at  MENUITEM.itemValue + ITEM_VALUE.wRomvarsValueOffset,        dw  ROMVARS.bBootLdrType
     
    105106istruc MENUITEM
    106107    at  MENUITEM.fnActivate,        dw  Menuitem_ActivateMultichoiseSelectionForMenuitemInDSSI
    107     at  MENUITEM.fnFormatValue,     dw  MenuitemPrint_WriteLookupValueStringToBufferInESDIfromItemInDSSI
     108    at  MENUITEM.fnFormatValue,     dw  MenuitemPrint_WriteLookupValueStringToBufferInESDIfromShiftedItemInDSSI
    108109    at  MENUITEM.szName,            dw  g_szItemCfgFullMode
    109110    at  MENUITEM.szQuickInfo,       dw  g_szNfoCfgFullMode
     
    178179    call    .DisableAllIdeControllerMenuitems
    179180    call    .EnableIdeControllerMenuitemsBasedOnConfiguration
     181    call    .EnableOrDisableBootMenuSettings
    180182    call    .EnableOrDisableKiBtoStealFromRAM
    181183    call    .EnableOrDisableIdeControllerCount
     
    229231ALIGN JUMP_ALIGN
    230232.GetIdeControllerCountToCX:
    231     mov     bx, ROMVARS.wFlags
    232     call    Buffers_GetRomvarsValueToAXfromOffsetInBX
     233    call    Buffers_GetRomvarsFlagsToAX
    233234    test    ax, FLG_ROMVARS_FULLMODE
    234235    jz      SHORT .AllowOnlyOneIdeControllerInLiteMode
     
    243244    ret
    244245
     246
     247;--------------------------------------------------------------------
     248; .EnableOrDisableBootMenuSettings
     249;   Parameters:
     250;       SS:BP:  Menu handle
     251;   Returns:
     252;       Nothing
     253;   Corrupts registers:
     254;       AX, BX, CX
     255;--------------------------------------------------------------------
     256ALIGN JUMP_ALIGN
     257.EnableOrDisableBootMenuSettings:
     258    mov     bx, ROMVARS.bBootLdrType
     259    call    Buffers_GetRomvarsValueToAXfromOffsetInBX
     260    mov     bx, g_MenuitemConfigurationBootMenuSettings
     261    cmp     ax, BYTE BOOTLOADER_TYPE_MENU
     262    jne     SHORT .DisableMenuitemFromCSBX
     263    jmp     SHORT .EnableMenuitemFromCSBX
     264
     265
    245266;--------------------------------------------------------------------
    246267; .EnableOrDisableKiBtoStealFromRAM
     
    254275ALIGN JUMP_ALIGN
    255276.EnableOrDisableKiBtoStealFromRAM:
    256     mov     bx, ROMVARS.wFlags
    257     call    Buffers_GetRomvarsValueToAXfromOffsetInBX
     277    call    Buffers_GetRomvarsFlagsToAX
    258278    mov     bx, g_MenuitemConfigurationKiBtoStealFromRAM
    259279    test    ax, FLG_ROMVARS_FULLMODE
     
    272292ALIGN JUMP_ALIGN
    273293.EnableOrDisableIdeControllerCount:
    274     mov     bx, ROMVARS.wFlags
    275     call    Buffers_GetRomvarsValueToAXfromOffsetInBX
     294    call    Buffers_GetRomvarsFlagsToAX
    276295    mov     bx, g_MenuitemConfigurationIdeControllers
    277296    test    ax, FLG_ROMVARS_FULLMODE
     
    339358    call    IdeControllerMenu_InitializeToIdevarsOffsetInBX
    340359    jmp     IdeControllerMenu_EnterMenuOrModifyItemVisibility
    341 
    342 
    343 ALIGN JUMP_ALIGN
    344 BootMenuSettings:
    345     ret
  • trunk/XTIDE_Universal_BIOS_Configurator_v2/Src/Menupages/IdeControllerMenu.asm

    r57 r59  
    22; Project name  :   XTIDE Universal BIOS Configurator v2
    33; Created date  :   2.11.2010
    4 ; Last update   :   3.11.2010
     4; Last update   :   18.11.2010
    55; Author        :   Tomi Tilli
    66; Description   :   "IDE Controller" menu structs and functions.
     
    1313istruc MENUPAGE
    1414    at  MENUPAGE.fnEnter,           dw  IdeControllerMenu_EnterMenuOrModifyItemVisibility
     15    at  MENUPAGE.fnBack,            dw  ConfigurationMenu_EnterMenuOrModifyItemVisibility
    1516    at  MENUPAGE.wMenuitems,        dw  8
    1617iend
     
    4950istruc MENUITEM
    5051    at  MENUITEM.fnActivate,        dw  Menuitem_ActivateMultichoiseSelectionForMenuitemInDSSI
    51     at  MENUITEM.fnFormatValue,     dw  MenuitemPrint_WriteLookupValueStringToBufferInESDIfromItemInDSSI
     52    at  MENUITEM.fnFormatValue,     dw  MenuitemPrint_WriteLookupValueStringToBufferInESDIfromShiftedItemInDSSI
    5253    at  MENUITEM.szName,            dw  g_szItemIdeBusType
    5354    at  MENUITEM.szQuickInfo,       dw  g_szNfoIdeBusType
     
    9596istruc MENUITEM
    9697    at  MENUITEM.fnActivate,        dw  Menuitem_ActivateMultichoiseSelectionForMenuitemInDSSI
    97     at  MENUITEM.fnFormatValue,     dw  MenuitemPrint_WriteLookupValueStringToBufferInESDIfromItemInDSSI
     98    at  MENUITEM.fnFormatValue,     dw  MenuitemPrint_WriteLookupValueStringToBufferInESDIfromShiftedItemInDSSI
    9899    at  MENUITEM.szName,            dw  g_szItemIdeEnIRQ
    99100    at  MENUITEM.szQuickInfo,       dw  g_szNfoIdeEnIRQ
  • trunk/XTIDE_Universal_BIOS_Configurator_v2/Src/Menupages/MainMenu.asm

    r57 r59  
    22; Project name  :   XTIDE Universal BIOS Configurator v2
    33; Created date  :   6.10.2010
    4 ; Last update   :   2.11.2010
     4; Last update   :   19.11.2010
    55; Author        :   Tomi Tilli
    66; Description   :   Main menu structs and functions.
     
    1313istruc MENUPAGE
    1414    at  MENUPAGE.fnEnter,           dw  MainMenu_EnterMenuOrModifyItemVisibility
     15    at  MENUPAGE.fnBack,            dw  ExitToDos
    1516    at  MENUPAGE.wMenuitems,        dw  6
    1617iend
     
    5859g_MenuitemMainMenuConfigureXtideUniversalBios:
    5960istruc MENUITEM
    60     at  MENUITEM.fnActivate,        dw  ConfigureXtideUniversalBios
     61    at  MENUITEM.fnActivate,        dw  ConfigurationMenu_EnterMenuOrModifyItemVisibility
    6162    at  MENUITEM.szName,            dw  g_szItemMainConfigure
    6263    at  MENUITEM.szQuickInfo,       dw  g_szNfoMainConfigure
     
    6869g_MenuitemMainMenuFlashEeprom:
    6970istruc MENUITEM
    70     at  MENUITEM.fnActivate,        dw  FlashEeprom
     71    at  MENUITEM.fnActivate,        dw  FlashMenu_EnterMenuOrModifyItemVisibility
    7172    at  MENUITEM.szName,            dw  g_szItemMainFlash
    7273    at  MENUITEM.szQuickInfo,       dw  g_szNfoMainFlash
     
    207208ALIGN JUMP_ALIGN
    208209LoadBiosFromFile:
     210    call    Buffers_SaveChangesIfFileLoaded
    209211    mov     cx, FILE_DIALOG_IO_size
    210212    call    Memory_ReserveCXbytesFromStackToDSSI
     
    223225ALIGN JUMP_ALIGN
    224226LoadXtideUniversalBiosFromRom:
     227    call    Buffers_SaveChangesIfFileLoaded
    225228    call    EEPROM_LoadXtideUniversalBiosFromRomToRamBuffer
    226229    mov     ax, FLG_CFGVARS_ROMLOADED
     
    235238ALIGN JUMP_ALIGN
    236239LoadOldSettingsFromEeprom:
     240    call    Buffers_SaveChangesIfFileLoaded
    237241    call    EEPROM_LoadOldSettingsFromRomToRamBuffer
    238242    and     WORD [g_cfgVars+CFGVARS.wFlags], ~FLG_CFGVARS_UNSAVED
     
    242246    CALL_MENU_LIBRARY DisplayMessageWithInputInDSSI
    243247    ret
    244 
    245 
    246 ALIGN JUMP_ALIGN
    247 ConfigureXtideUniversalBios:
    248     jmp     ConfigurationMenu_EnterMenuOrModifyItemVisibility
    249 
    250 
    251 ALIGN JUMP_ALIGN
    252 FlashEeprom:
    253     ret
  • trunk/XTIDE_Universal_BIOS_Configurator_v2/Src/Menupages/MasterSlaveMenu.asm

    r57 r59  
    22; Project name  :   XTIDE Universal BIOS Configurator v2
    33; Created date  :   3.11.2010
    4 ; Last update   :   3.11.2010
     4; Last update   :   18.11.2010
    55; Author        :   Tomi Tilli
    66; Description   :   "Master/Slave Drive" menu structs and functions.
     
    1313istruc MENUPAGE
    1414    at  MENUPAGE.fnEnter,           dw  MasterSlaveMenu_EnterMenuOrModifyItemVisibility
     15    at  MENUPAGE.fnBack,            dw  IdeControllerMenu_EnterMenuOrModifyItemVisibility
    1516    at  MENUPAGE.wMenuitems,        dw  6
    1617iend
     
    2930istruc MENUITEM
    3031    at  MENUITEM.fnActivate,        dw  Menuitem_ActivateMultichoiseSelectionForMenuitemInDSSI
    31     at  MENUITEM.fnFormatValue,     dw  MenuitemPrint_WriteLookupValueStringToBufferInESDIfromItemInDSSI
     32    at  MENUITEM.fnFormatValue,     dw  MenuitemPrint_WriteLookupValueStringToBufferInESDIfromShiftedItemInDSSI
    3233    at  MENUITEM.szName,            dw  g_szItemDrvBlockMode
    3334    at  MENUITEM.szQuickInfo,       dw  g_szNfoDrvBlockMode
     
    4546istruc MENUITEM
    4647    at  MENUITEM.fnActivate,        dw  Menuitem_ActivateMultichoiseSelectionForMenuitemInDSSI
    47     at  MENUITEM.fnFormatValue,     dw  MenuitemPrint_WriteLookupValueStringToBufferInESDIfromItemInDSSI
     48    at  MENUITEM.fnFormatValue,     dw  MenuitemPrint_WriteLookupValueStringToBufferInESDIfromShiftedItemInDSSI
    4849    at  MENUITEM.szName,            dw  g_szItemDrvUserCHS
    4950    at  MENUITEM.szQuickInfo,       dw  g_szNfoDrvUserCHS
  • trunk/XTIDE_Universal_BIOS_Configurator_v2/Src/Strings.asm

    r57 r59  
    22; Project name  :   XTIDE Universal BIOS Configurator v2
    33; Created date  :   5.10.2010
    4 ; Last update   :   2.11.2010
     4; Last update   :   19.11.2010
    55; Author        :   Tomi Tilli
    66; Description   :   All strings.
     
    2323; Item formatting
    2424g_szFormatItemWithoutValue:         db  "%c%s",NULL
    25 g_szFormatItemNameWithValue:        db  "%26s%-9S",NULL
     25g_szFormatItemNameWithValue:        db  "%25s%-10S",NULL
    2626
    2727
     
    3131                                    db  "No",LF
    3232                                    db  "Yes",NULL
     33
     34; Exit messages
     35g_szDlgExitToDos:       db  "Exit to DOS?",NULL
     36g_szDlgSaveChanges:     db  "Do you want to save changes to XTIDE Universal BIOS image file?",NULL
    3337
    3438
     
    7680g_szItemCfgFullMode:    db  "Full operating mode",NULL
    7781g_szItemCfgStealSize:   db  "kiB to steal from RAM",NULL
    78 g_szItemCfgIdeCnt:      db  "Number of IDE controllers",NULL
     82g_szItemCfgIdeCnt:      db  "IDE controllers",NULL
    7983
    8084g_szDlgCfgFullMode:     db  "Enable full operating mode?",NULL
     
    8690g_szNfoCfgBootLoader:   db  "Boot loader selection for INT 19h.",NULL
    8791g_szNfoCfgFullMode:     db  "Full mode supports multiple controllers and has more features.",NULL
    88 g_szNfoCfgStealSize:    db  "Number of kiB of base memory to steal for BIOS variables.",NULL
     92g_szNfoCfgStealSize:    db  "How many kiB's to steal from Conventional memory for XTIDE Universal BIOS variables.",NULL
    8993g_szNfoCfgIdeCnt:       db  "Number of IDE controllers to manage.",NULL
    9094
     
    159163
    160164g_szNfoDrvBlockMode:    db  "Transfer multiple sectors per data request.",NULL
    161 g_szNfoDrvUserCHS:      db  "Specify (P-)CHS manually instead of autodetect.",NULL
     165g_szNfoDrvUserCHS:      db  "Specify (P-)CHS parameters manually instead of autodetecting them.",NULL
    162166g_szNfoDrvCyls:         db  "Number of user specified P-CHS cylinders.",NULL
    163167g_szNfoDrvHeads:        db  "Number of user specified P-CHS heads.",NULL
     
    169173
    170174; Strings for boot menu settings menu
    171 g_szItemBootHeight:     db  "Maximum height",NULL
    172175g_szItemBootTimeout:    db  "Selection timeout",NULL
    173176g_szItemBootDrive:      db  "Default boot drive",NULL
    174 g_szItemBootMinFDD:     db  "Min floppy drive count",NULL
     177g_szItemBootFloppyDrvs: db  "Number of Floppy Drives",NULL
    175178g_szItemBootSwap:       db  "Swap boot drive numbers",NULL
    176179g_szItemBootRomBoot:    db  "Display ROM boot",NULL
    177 g_szItemBootInfo:       db  "Display drive info",NULL
    178 
    179 g_szDlgBootHeight:      db  "Enter boot menu maximum height in characters (8...25).",NULL
     180
    180181g_szDlgBootTimeout:     db  "Enter Boot Menu selection timeout in seconds (1...60, 0 disables timeout).",NULL
    181182g_szDlgBootDrive:       db  "Enter default drive number (0xh for Floppy Drives, 8xh for Hard Disks, FFh for ROM boot).",NULL
    182 g_szDlgBootMinFDD:      db  "Enter minimum number of floppy drives.",NULL
     183g_szDlgBootFloppyDrvs:  db  "Enter number of Floppy Drives to display on boot menu.",NULL
    183184g_szDlgBootSwap:        db  "Enable drive number translation?",NULL
    184185g_szDlgBootRomBoot:     db  "Show ROM Boot option on boot menu?",NULL
    185 g_szDlgBootInfo:        db  "Show drive information on boot menu?",NULL
    186 
    187 g_szNfoBootHeight:      db  "Boot Menu maximum height in characters.",NULL
     186
    188187g_szNfoBootTimeout:     db  "Menu item selection timeout in seconds.",NULL
    189188g_szNfoBootDrive:       db  "Default drive on boot menu.",NULL
    190 g_szNfoBootMinFDD:      db  "Minimum number of floppy drives to display.",NULL
     189g_szNfoBootFloppyDrvs:  db  "Number of Floppy Drives to display on boot menu.",NULL
    191190g_szNfoBootSwap:        db  "Drive Number Translation (swap first drive with selected).",NULL
    192191g_szNfoBootRomBoot:     db  "Show ROM Basic or ROM DOS boot option.",NULL
    193 g_szNfoBootInfo:        db  "Show detailed drive information on boot menu.",NULL
    194192
    195193g_szHelpBootTimeout:    db  "incbin goes here.",NULL
    196194g_szHelpBootDrive:      db  "incbin goes here.",NULL
    197 g_szHelpBootMinFDD:     db  "incbin goes here.",NULL
     195g_szHelpBootFloppyDrvs: db  "incbin goes here.",NULL
    198196g_szHelpBootSwap:       db  "incbin goes here.",NULL
    199197g_szHelpBootRomBoot:    db  "incbin goes here.",NULL
    200 g_szHelpBootInfo:       db  "incbin goes here.",NULL
     198
     199g_szMultichoiseBootFloppyDrvs:
     200                        db  "Autodetect",LF
     201                        db  "1",LF
     202                        db  "2",LF
     203                        db  "3",LF
     204                        db  "4",NULL
     205
     206g_szValueBootFloppyDrvsAuto:    db  "Auto",NULL
     207g_szValueBootFloppyDrvs1:       db  "1",NULL
     208g_szValueBootFloppyDrvs2:       db  "2",NULL
     209g_szValueBootFloppyDrvs3:       db  "3",NULL
     210g_szValueBootFloppyDrvs4:       db  "4",NULL
    201211
    202212
    203213; Strings for Flash menu
    204214g_szItemFlashStart:     db  "Start flashing",NULL
     215g_szItemFlashEepromType:db  "EEPROM type",NULL
    205216g_szItemFlashSDP:       db  "SDP command",NULL
    206217g_szItemFlashAddr:      db  "EEPROM address",NULL
     
    208219g_szItemFlashChecksum:  db  "Generate checksum byte",NULL
    209220
     221g_szDlgFlashEepromType: db  "Select EEPROM type.",NULL
     222g_szDlgFlashSDP:        db  "Select Software Data Protection command.",NULL
    210223g_szDlgFlashAddr:       db  "Enter segment address where EEPROM is located.",NULL
    211 g_szDlgFlashPageSize:   db  "Enter write page size (1, 2, 4, 8, 16, 32 or 64 bytes).",NULL
     224g_szDlgFlashPageSize:   db  "Select write page size.",NULL
    212225g_szDlgFlashChecksum:   db  "Generate checksum byte to the end of BIOS image?",NULL
    213226
     227g_szNfoFlashEepromType: db  "EEPROM type.",NULL
    214228g_szNfoFlashStart:      db  "Writes BIOS to EEPROM.",NULL
    215229g_szNfoFlashSDP:        db  "Software Data Protection command.",NULL
     
    222236g_szHelpFlashChecksum:  db  "incbin goes here.",NULL
    223237
    224 
    225 ; Strings for SDP command menu
    226 g_szValueSdpNone:
    227 g_szItemSdpNone:        db  "None",NULL
    228 g_szValueSdpEnable:
    229 g_szItemSdpEnable:      db  "Enable",NULL
    230 g_szValueSdpDisable:
    231 g_szItemSdpDisable:     db  "Disable",NULL
    232 
    233 g_szNfoSdpNone:         db  "Do not use Software Data Protection.",NULL
    234 g_szNfoSdpEnable:       db  "Enable Software Data Protection after flashing.",NULL
    235 g_szNfoSdpDisable:      db  "Disable Software Data Protection after flashing.",NULL
     238g_szMultichoiseEepromType:
     239                        db  "2816 (2 kiB)",LF
     240                        db  "2832 (4 kiB)",LF
     241                        db  "2864 (8 kiB)",LF
     242                        db  "28128 (16 kiB)",LF
     243                        db  "28256 (32 kiB)",LF
     244                        db  "28512 (64 kiB)",NULL
     245g_szValueFlash2816:     db  "2816",NULL
     246g_szValueFlash2832:     db  "2832",NULL
     247g_szValueFlash2864:     db  "2864",NULL
     248g_szValueFlash28128:    db  "28128",NULL
     249g_szValueFlash28256:    db  "28256",NULL
     250g_szValueFlash28512:    db  "28512",NULL
     251
     252g_szMultichoiseSdpCommand:
     253                        db  "None",LF
     254                        db  "Enable",LF
     255                        db  "Disable",NULL
     256g_szValueFlashNone:     db  "None",NULL
     257g_szValueFlashEnable:   db  "Enable",NULL
     258g_szValueFlashDisable:  db  "Disable",NULL
     259
     260g_szMultichoisePageSize:
     261                        db  "1 byte",LF
     262                        db  "2 bytes",LF
     263                        db  "4 bytes",LF
     264                        db  "8 bytes",LF
     265                        db  "16 bytes",LF
     266                        db  "32 bytes",LF
     267                        db  "64 bytes",NULL
     268g_szValueFlash1byte:    db  "None",NULL
     269g_szValueFlash2bytes:   db  "2 bytes",NULL
     270g_szValueFlash4bytes:   db  "4 bytes",NULL
     271g_szValueFlash8bytes:   db  "8 bytes",NULL
     272g_szValueFlash16bytes:  db  "16 bytes",NULL
     273g_szValueFlash32bytes:  db  "32 bytes",NULL
     274g_szValueFlash64bytes:  db  "64 bytes",NULL
  • trunk/XTIDE_Universal_BIOS_Configurator_v2/makefile

    r57 r59  
    3939
    4040# Subdirectories where library files are:
    41 LIBS = ../AssemblyLibrary/Inc/
    42 LIBS += ../AssemblyLibrary/Src/
    43 LIBS += ../AssemblyLibrary/Src/Display/
    44 LIBS += ../AssemblyLibrary/Src/File/
    45 LIBS += ../AssemblyLibrary/Src/Keyboard/
    46 LIBS += ../AssemblyLibrary/Src/Menu/
    47 LIBS += ../AssemblyLibrary/Src/Menu/Dialog/
    48 LIBS += ../AssemblyLibrary/Src/String/
    49 LIBS += ../AssemblyLibrary/Src/Time/
    50 LIBS += ../AssemblyLibrary/Src/Util/
     41LIBS = ../Assembly_Library/Inc/
     42LIBS += ../Assembly_Library/Src/
     43LIBS += ../Assembly_Library/Src/Display/
     44LIBS += ../Assembly_Library/Src/File/
     45LIBS += ../Assembly_Library/Src/Keyboard/
     46LIBS += ../Assembly_Library/Src/Menu/
     47LIBS += ../Assembly_Library/Src/Menu/Dialog/
     48LIBS += ../Assembly_Library/Src/String/
     49LIBS += ../Assembly_Library/Src/Time/
     50LIBS += ../Assembly_Library/Src/Util/
    5151LIBS += ../XTIDE_Universal_BIOS/Inc/
    5252HEADERS += $(LIBS)
Note: See TracChangeset for help on using the changeset viewer.