Ignore:
Timestamp:
Jun 10, 2021, 4:56:34 PM (3 years ago)
Author:
krille_n_
Message:

Changes:

  • BIOSDRVS should now build again (broke in r613).
  • Removed the NO_ATAID_CORRECTION define from the Tiny build.
  • Added a new configuration option to skip detection of slave drives.
  • Made FLASH_SIGNATURE 2 bytes shorter to free up ROM space.
  • "Auto Configure" in XTIDECFG should now detect if running on an Olivetti M24, AT&T PC6300, Xerox 6060 or Logabax Persona 1600 and automatically select the fastest compatible transfer mode/device type for any IDE controllers found in the system.
  • Cleaned out some duplicate/unused definitions.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/XTIDE_Universal_BIOS_Configurator_v2/Src/Menupages/MasterSlaveMenu.asm

    r592 r614  
    2626    at  MENUPAGE.fnEnter,           dw  MasterSlaveMenu_EnterMenuOrModifyItemVisibility
    2727    at  MENUPAGE.fnBack,            dw  IdeControllerMenu_EnterMenuOrModifyItemVisibility
    28     at  MENUPAGE.wMenuitems,        dw  10
     28    at  MENUPAGE.wMenuitems,        dw  11
    2929iend
    3030
     
    3939iend
    4040
     41g_MenuitemMasterSlaveDisableDetection:
     42istruc MENUITEM
     43    at  MENUITEM.fnActivate,        dw  Menuitem_ActivateMultichoiceSelectionForMenuitemInDSSI
     44    at  MENUITEM.fnFormatValue,     dw  MenuitemPrint_WriteLookupValueStringToBufferInESDIfromShiftedItemInDSSI
     45    at  MENUITEM.szName,            dw  g_szItemDrvDisableDetection
     46    at  MENUITEM.szQuickInfo,       dw  g_szNfoDrvDisableDetection
     47    at  MENUITEM.szHelp,            dw  g_szHelpDrvDisableDetection
     48    at  MENUITEM.bFlags,            db  FLG_MENUITEM_MODIFY_MENU | FLG_MENUITEM_FLAGVALUE
     49    at  MENUITEM.bType,             db  TYPE_MENUITEM_MULTICHOICE
     50    at  MENUITEM.itemValue + ITEM_VALUE.wRomvarsValueOffset,        dw  NULL
     51    at  MENUITEM.itemValue + ITEM_VALUE.szDialogTitle,              dw  g_szDlgDrvDisableDetection
     52    at  MENUITEM.itemValue + ITEM_VALUE.szMultichoice,              dw  g_szMultichoiceBooleanFlag
     53    at  MENUITEM.itemValue + ITEM_VALUE.rgszValueToStringLookup,    dw  g_rgszValueToStringLookupForFlagBooleans
     54    at  MENUITEM.itemValue + ITEM_VALUE.wValueBitmask,              dw  FLG_DRVPARAMS_DO_NOT_DETECT
     55iend
     56
    4157g_MenuitemMasterSlaveBlockModeTransfers:
    4258istruc MENUITEM
     
    4662    at  MENUITEM.szQuickInfo,       dw  g_szNfoDrvBlockMode
    4763    at  MENUITEM.szHelp,            dw  g_szHelpDrvBlockMode
    48     at  MENUITEM.bFlags,            db  FLG_MENUITEM_VISIBLE | FLG_MENUITEM_FLAGVALUE
     64    at  MENUITEM.bFlags,            db  FLG_MENUITEM_FLAGVALUE
    4965    at  MENUITEM.bType,             db  TYPE_MENUITEM_MULTICHOICE
    5066    at  MENUITEM.itemValue + ITEM_VALUE.wRomvarsValueOffset,        dw  NULL
     
    6278    at  MENUITEM.szQuickInfo,       dw  g_szNfoDrvXlateMode
    6379    at  MENUITEM.szHelp,            dw  g_szNfoDrvXlateMode
    64     at  MENUITEM.bFlags,            db  FLG_MENUITEM_VISIBLE | FLG_MENUITEM_MASKVALUE
     80    at  MENUITEM.bFlags,            db  FLG_MENUITEM_MASKVALUE
    6581    at  MENUITEM.bType,             db  TYPE_MENUITEM_MULTICHOICE
    6682    at  MENUITEM.itemValue + ITEM_VALUE.wRomvarsValueOffset,        dw  NULL
    6783    at  MENUITEM.itemValue + ITEM_VALUE.szDialogTitle,              dw  g_szDlgDrvXlateMode
    68     at  MENUITEM.itemValue + ITEM_VALUE.szMultichoice,              dw  g_szMultichoiseXlateMode
     84    at  MENUITEM.itemValue + ITEM_VALUE.szMultichoice,              dw  g_szMultichoiceXlateMode
    6985    at  MENUITEM.itemValue + ITEM_VALUE.rgwChoiceToValueLookup,     dw  g_rgwChoiceToValueLookupForXlateMode
    7086    at  MENUITEM.itemValue + ITEM_VALUE.rgszChoiceToStringLookup,   dw  g_rgszChoiceToStringLookupForXlateMode
     
    8096    at  MENUITEM.szQuickInfo,       dw  g_szNfoDrvWriteCache
    8197    at  MENUITEM.szHelp,            dw  g_szHelpDrvWriteCache
    82     at  MENUITEM.bFlags,            db  FLG_MENUITEM_VISIBLE | FLG_MENUITEM_MASKVALUE
     98    at  MENUITEM.bFlags,            db  FLG_MENUITEM_MASKVALUE
    8399    at  MENUITEM.bType,             db  TYPE_MENUITEM_MULTICHOICE
    84100    at  MENUITEM.itemValue + ITEM_VALUE.wRomvarsValueOffset,        dw  NULL
    85101    at  MENUITEM.itemValue + ITEM_VALUE.szDialogTitle,              dw  g_szDlgDrvWriteCache
    86     at  MENUITEM.itemValue + ITEM_VALUE.szMultichoice,              dw  g_szMultichoiseWrCache
     102    at  MENUITEM.itemValue + ITEM_VALUE.szMultichoice,              dw  g_szMultichoiceWrCache
    87103    at  MENUITEM.itemValue + ITEM_VALUE.rgwChoiceToValueLookup,     dw  g_rgwChoiceToValueLookupForWriteCache
    88104    at  MENUITEM.itemValue + ITEM_VALUE.rgszChoiceToStringLookup,   dw  g_rgszChoiceToStringLookupForWriteCache
     
    98114    at  MENUITEM.szQuickInfo,       dw  g_szNfoDrvUserCHS
    99115    at  MENUITEM.szHelp,            dw  g_szHelpDrvUserCHS
    100     at  MENUITEM.bFlags,            db  FLG_MENUITEM_VISIBLE | FLG_MENUITEM_MODIFY_MENU | FLG_MENUITEM_FLAGVALUE
     116    at  MENUITEM.bFlags,            db  FLG_MENUITEM_MODIFY_MENU | FLG_MENUITEM_FLAGVALUE
    101117    at  MENUITEM.bType,             db  TYPE_MENUITEM_MULTICHOICE
    102118    at  MENUITEM.itemValue + ITEM_VALUE.wRomvarsValueOffset,        dw  NULL
     
    163179    at  MENUITEM.szQuickInfo,       dw  g_szNfoDrvUserLBA
    164180    at  MENUITEM.szHelp,            dw  g_szHelpDrvUserLBA
    165     at  MENUITEM.bFlags,            db  FLG_MENUITEM_VISIBLE | FLG_MENUITEM_MODIFY_MENU | FLG_MENUITEM_FLAGVALUE
     181    at  MENUITEM.bFlags,            db  FLG_MENUITEM_MODIFY_MENU | FLG_MENUITEM_FLAGVALUE
    166182    at  MENUITEM.bType,             db  TYPE_MENUITEM_MULTICHOICE
    167183    at  MENUITEM.itemValue + ITEM_VALUE.wRomvarsValueOffset,        dw  NULL
     
    239255%endif
    240256%endif
     257    mov     [g_MenuitemMasterSlaveDisableDetection+MENUITEM.itemValue+ITEM_VALUE.wRomvarsValueOffset], ax
    241258    mov     [g_MenuitemMasterSlaveBlockModeTransfers+MENUITEM.itemValue+ITEM_VALUE.wRomvarsValueOffset], ax
    242259    mov     [g_MenuitemMasterSlaveChsTranslateMode+MENUITEM.itemValue+ITEM_VALUE.wRomvarsValueOffset], ax
     
    274291    push    cs
    275292    pop     ds
     293    mov     bx, [g_MenuitemMasterSlaveDisableDetection+MENUITEM.itemValue+ITEM_VALUE.wRomvarsValueOffset]
     294    call    Buffers_GetRomvarsValueToAXfromOffsetInBX
     295    mov     si, g_MenupageForMasterSlaveMenu
     296    ePUSH_T bx, Menupage_ChangeToNewMenupageInDSSI
     297    test    al, FLG_DRVPARAMS_DO_NOT_DETECT
     298    jnz     SHORT .DisableAllItemsOnThisMenuExceptDisableDetection
     299    call    .EnableOrDisableItemsDependingOnControllerBeingSerialOrNot
    276300    call    .EnableOrDisableUserCHSandLBA
    277301    call    .EnableOrDisableCHandS
    278     call    .EnableOrDisableUserLbaValue
    279     mov     si, g_MenupageForMasterSlaveMenu
    280     jmp     Menupage_ChangeToNewMenupageInDSSI
     302    jmp     .EnableOrDisableUserLbaValue
     303
     304
     305;--------------------------------------------------------------------
     306; .EnableOrDisableItemsDependingOnControllerBeingSerialOrNot
     307;   Parameters:
     308;       SS:BP:  Menu handle
     309;   Returns:
     310;       Nothing
     311;   Corrupts registers:
     312;       AX, BX
     313;--------------------------------------------------------------------
     314ALIGN JUMP_ALIGN
     315.EnableOrDisableItemsDependingOnControllerBeingSerialOrNot:
     316    mov     bx, [g_MenuitemIdeControllerDevice+MENUITEM.itemValue+ITEM_VALUE.wRomvarsValueOffset]
     317    call    Buffers_GetRomvarsValueToAXfromOffsetInBX
     318    mov     bx, g_MenuitemMasterSlaveChsTranslateMode
     319    call    EnableMenuitemFromCSBX
     320    cmp     al, DEVICE_SERIAL_PORT
     321    je      SHORT .DisableAllItemsNotApplicableToSerialDrives
     322    mov     bx, g_MenuitemMasterSlaveBlockModeTransfers
     323    call    EnableMenuitemFromCSBX
     324    mov     bx, g_MenuitemMasterSlaveWriteCache
     325    jmp     EnableMenuitemFromCSBX
     326
     327
     328;--------------------------------------------------------------------
     329; .DisableAllItemsOnThisMenuExceptDisableDetection
     330; .DisableAllItemsNotApplicableToSerialDrives
     331;   Parameters:
     332;       SS:BP:  Menu handle
     333;   Returns:
     334;       Nothing
     335;   Corrupts registers:
     336;       AX, BX
     337;--------------------------------------------------------------------
     338ALIGN JUMP_ALIGN
     339.DisableAllItemsOnThisMenuExceptDisableDetection:
     340    mov     bx, g_MenuitemMasterSlaveChsTranslateMode
     341    call    DisableMenuitemFromCSBX
     342    mov     bx, g_MenuitemMasterSlaveUserCHS
     343    call    DisableMenuitemFromCSBX
     344    call    .DisableCHandS
     345    mov     bx, g_MenuitemMasterSlaveUserLBA
     346    call    DisableMenuitemFromCSBX
     347    mov     bx, g_MenuitemMasterSlaveUserLbaValue
     348    call    DisableMenuitemFromCSBX
     349.DisableAllItemsNotApplicableToSerialDrives:
     350    mov     bx, g_MenuitemMasterSlaveBlockModeTransfers
     351    call    DisableMenuitemFromCSBX
     352    mov     bx, g_MenuitemMasterSlaveWriteCache
     353    jmp     SHORT .DisableMenuitemFromCSBX
    281354
    282355
     
    338411    jnz     SHORT .DisableCHandS
    339412
     413    mov     ax, EnableMenuitemFromCSBX
     414    jmp     SHORT .EnableCHandS
     415
     416.DisableCHandS:
     417    mov     ax, DisableMenuitemFromCSBX
     418.EnableCHandS:
    340419    mov     bx, g_MenuitemMasterSlaveCylinders
    341     call    EnableMenuitemFromCSBX
     420    call    ax
    342421    mov     bx, g_MenuitemMasterSlaveHeads
    343     call    EnableMenuitemFromCSBX
     422    call    ax
    344423    mov     bx, g_MenuitemMasterSlaveSectors
    345     jmp     SHORT .EnableMenuitemFromCSBX
    346 
    347 ALIGN JUMP_ALIGN
    348 .DisableCHandS:
    349     mov     bx, g_MenuitemMasterSlaveCylinders
    350     call    DisableMenuitemFromCSBX
    351     mov     bx, g_MenuitemMasterSlaveHeads
    352     call    DisableMenuitemFromCSBX
    353     mov     bx, g_MenuitemMasterSlaveSectors
    354     jmp     SHORT .DisableMenuitemFromCSBX
     424    jmp     ax
    355425
    356426
Note: See TracChangeset for help on using the changeset viewer.