Ignore:
Timestamp:
Jun 10, 2021, 4:56:34 PM (3 years ago)
Author:
Krister Nordvall
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.
Location:
trunk/XTIDE_Universal_BIOS_Configurator_v2/Src/Menupages
Files:
2 edited

Legend:

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

    r607 r614  
    475475;--------------------------------------------------------------------
    476476.EnableOrDisableSerial:
    477     mov     bx, g_MenuitemIdeControllerSerialBaud
    478     call    DisableMenuitemFromCSBX
    479 
    480     mov     bx, g_MenuitemIdeControllerSerialCOM
    481     call    DisableMenuitemFromCSBX
    482 
    483     mov     bx, g_MenuitemIdeControllerSerialPort
    484     call    DisableMenuitemFromCSBX
    485 
    486477    mov     bx, [g_MenuitemIdeControllerDevice+MENUITEM.itemValue+ITEM_VALUE.wRomvarsValueOffset]
    487478    call    Buffers_GetRomvarsValueToAXfromOffsetInBX
    488479    cmp     al, DEVICE_SERIAL_PORT
    489     jne     SHORT .DisableAllSerial
    490 
    491     mov     bx, g_MenuitemIdeControllerSerialCOM
    492     call    EnableMenuitemFromCSBX
    493 
    494     mov     bx, g_MenuitemIdeControllerSerialBaud
    495     call    EnableMenuitemFromCSBX
    496 
     480    mov     ax, DisableMenuitemFromCSBX
     481    jne     SHORT .DisableSerialControllerMenuitems
     482    mov     ax, EnableMenuitemFromCSBX
     483    call    .EnableSerialControllerMenuitems
    497484    mov     bx, [g_MenuitemIdeControllerSerialCOM+MENUITEM.itemValue+ITEM_VALUE.wRomvarsValueOffset]
    498485    call    Buffers_GetRomvarsValueToAXfromOffsetInBX
     486    cmp     al, 'x'
     487    mov     ax, DisableMenuitemFromCSBX
     488    jne     SHORT .DisableCustomPortMenuitem
     489    ret
     490.DisableSerialControllerMenuitems:
     491.EnableSerialControllerMenuitems:
     492    mov     bx, g_MenuitemIdeControllerSerialCOM
     493    call    ax
     494    mov     bx, g_MenuitemIdeControllerSerialBaud
     495    call    ax
     496.DisableCustomPortMenuitem:
    499497    mov     bx, g_MenuitemIdeControllerSerialPort
    500     cmp     al, 'x'
    501     je      SHORT .EnableMenuitemFromCSBX
    502     jmp     SHORT .DisableMenuitemFromCSBX
    503 .DisableAllSerial:
    504     ret
     498    jmp     ax
    505499
    506500
     
    516510ALIGN JUMP_ALIGN
    517511MasterDrive:
     512    mov     bx, g_MenuitemMasterSlaveDisableDetection
     513    call    DisableMenuitemFromCSBX
    518514    mov     bx, [cs:g_MenuitemIdeControllerMasterDrive+MENUITEM.itemValue+ITEM_VALUE.wRomvarsValueOffset]
    519515    jmp     SHORT DisplayMasterSlaveMenu
     
    521517ALIGN JUMP_ALIGN
    522518SlaveDrive:
     519    mov     bx, g_MenuitemMasterSlaveDisableDetection
     520    call    EnableMenuitemFromCSBX
    523521    mov     bx, [cs:g_MenuitemIdeControllerSlaveDrive+MENUITEM.itemValue+ITEM_VALUE.wRomvarsValueOffset]
    524522    ; Fall to DisplayMasterSlaveMenu
    525523
    526 ALIGN JUMP_ALIGN
    527524DisplayMasterSlaveMenu:
    528 ;
    529 ; "Block Mode Transfers" and "Internal Write Cache" are not supported on serial drives, disable/enable the options as appropriate
    530 ;
    531     push    bx
    532     mov     bx, [cs:g_MenuitemIdeControllerDevice+MENUITEM.itemValue+ITEM_VALUE.wRomvarsValueOffset]
    533     call    Buffers_GetRomvarsValueToAXfromOffsetInBX
    534     mov     bx, g_MenuitemMasterSlaveBlockModeTransfers
    535 
    536     cmp     al, DEVICE_SERIAL_PORT
    537     je      .isSerial
    538 
    539     call    EnableMenuitemFromCSBX
    540     mov     bx, g_MenuitemMasterSlaveWriteCache
    541     call    EnableMenuitemFromCSBX
    542     jmp     .isDone
    543 
    544 .isSerial:
    545     call    DisableMenuitemFromCSBX
    546     mov     bx, g_MenuitemMasterSlaveWriteCache
    547     call    DisableMenuitemFromCSBX
    548 
    549 .isDone:
    550     pop     bx
    551 
    552525    call    MasterSlaveMenu_InitializeToDrvparamsOffsetInBX
    553526    jmp     MasterSlaveMenu_EnterMenuOrModifyItemVisibility
     
    657630    mov     ax, DEVICE_XTIDE_DEFAULT_PORT       ; Defaults for 8-bit XTIDE and XT-CF devices
    658631    mov     bx, DEVICE_XTIDE_DEFAULT_PORTCTRL
    659    
     632
    660633    ; XT-CF does not support IRQ so it must be disabled (IRQ setting is not visible for XT-CF)
    661634    ; XTIDE does not use IRQs by default
  • 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.