Ignore:
Timestamp:
Mar 1, 2012, 8:52:08 PM (12 years ago)
Author:
aitotat@…
google:author:
aitotat@gmail.com
Message:

Changes to Configurator v2:

  • JR-IDE/ISA can now be selected.
  • Maximum LBA for EBIOS can now be specified.
  • Drive internal write cache can now be enabled or disabled.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/XTIDE_Universal_BIOS_Configurator_v2/Src/Menuitem.asm

    r233 r286  
    7676;       DS:SI:  Ptr to MENUITEM
    7777;   Returns:
    78 ;       Nothing
     78;       CF:     Cleared if value inputted
     79;               Set if user cancellation
    7980;   Corrupts registers:
    8081;       AX, BX, CX, SI, DI, ES
     
    9798    pop     di
    9899
    99     cmp     BYTE [si+WORD_DIALOG_IO.bUserCancellation], TRUE
     100    mov     cl, [si+WORD_DIALOG_IO.bUserCancellation]
     101    cmp     cl, TRUE
    100102    je      SHORT .NothingToChange
    101103    mov     ax, [si+WORD_DIALOG_IO.wReturnWord]
     
    104106.NothingToChange:
    105107    add     sp, BYTE WORD_DIALOG_IO_size
     108    shr     cl, 1
    106109    ret
    107110
     
    150153    add     di, [si+MENUITEM.itemValue+ITEM_VALUE.wRomvarsValueOffset]
    151154    jmp     [cs:bx+.rgfnJumpToStoreValueBasedOnItemType]
     155.InvalidItemType:
     156    ret
    152157
    153158ALIGN WORD_ALIGN
     
    174179ALIGN JUMP_ALIGN
    175180.StoreMultichoiceValueFromAXtoESDIwithItemInDSSI:
     181    test    BYTE [si+MENUITEM.bFlags], FLG_MENUITEM_MASKVALUE
     182    jnz     SHORT .ClearBitsUsingMask
    176183    test    BYTE [si+MENUITEM.bFlags], FLG_MENUITEM_FLAGVALUE
    177184    jz      SHORT .TranslateChoiceToValueUsingLookupTable
     
    187194    or      [es:di], ax
    188195    jmp     SHORT .SetUnsavedChanges
     196
     197ALIGN JUMP_ALIGN
     198.ClearBitsUsingMask:
     199    mov     bx, [si+MENUITEM.itemValue+ITEM_VALUE.wValueBitmask]
     200    not     bx
     201    and     [es:di], bx
     202    ; Fall to .TranslateChoiceToValueUsingLookupTable
     203
    189204
    190205ALIGN JUMP_ALIGN
     
    225240.NoWriter:
    226241    pop     bx
     242    test    BYTE [si+MENUITEM.bFlags], FLG_MENUITEM_MASKVALUE
     243    jz      SHORT .StoreByteOrWord
     244    or      [es:di], ax
     245    jmp     SHORT .SetUnsavedChanges
     246
     247.StoreByteOrWord:
    227248    test    BYTE [si+MENUITEM.bFlags], FLG_MENUITEM_BYTEVALUE
    228249    jnz     SHORT .StoreByteFromAL
    229        
     250
    230251    mov     [es:di+1], ah
    231252ALIGN JUMP_ALIGN
     
    255276    CALL_MENU_LIBRARY GetHighlightedItemToAX
    256277    CALL_MENU_LIBRARY RefreshItemFromAX
    257 .InvalidItemType:
    258278    ret
    259279
     
    306326    pop     es
    307327
     328    test    BYTE [si+MENUITEM.bFlags], FLG_MENUITEM_MASKVALUE
     329    jz      SHORT .TestIfFlagValue
     330    and     ax, [si+MENUITEM.itemValue+ITEM_VALUE.wValueBitmask]
     331    ret
     332
     333.TestIfFlagValue:
    308334    test    BYTE [si+MENUITEM.bFlags], FLG_MENUITEM_FLAGVALUE
    309335    jz      SHORT .Return
Note: See TracChangeset for help on using the changeset viewer.