Changeset 614 in xtideuniversalbios


Ignore:
Timestamp:
Jun 10, 2021, 4:56:34 PM (7 weeks 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.
Location:
trunk
Files:
15 edited

Legend:

Unmodified
Added
Removed
  • trunk/BIOS_Drive_Information_Tool/Src/Main.asm

    r613 r614  
    2525%include "Version.inc"          ; From XTIDE Universal BIOS
    2626%include "ATA_ID.inc"           ; From XTIDE Universal BIOS
    27 %include "Ramvars.inc"          ; From XTIDE Universal BIOS (needed by Int13h.inc)
     27%include "RamVars.inc"          ; From XTIDE Universal BIOS (needed by Int13h.inc)
    2828%include "Int13h.inc"           ; From XTIDE Universal BIOS
    2929%include "EBIOS.inc"            ; From XTIDE Universal BIOS
  • trunk/XTIDE_Universal_BIOS/Inc/ATA_ID.inc

    r593 r614  
    2222
    2323; Maximum valid P-CHS parameters
    24 MAX_VALID_PCHS_CYLINDERS            EQU     16383
    25 MAX_VALID_PCHS_HEADS                EQU     16
    26 MAX_VALID_PCHS_SECTORS_PER_TRACK    EQU     63
     24MAX_PCHS_CYLINDERS          EQU     16383
     25MAX_PCHS_HEADS              EQU     16
     26MAX_PCHS_SECTORS_PER_TRACK  EQU     63
    2727
    2828
  • trunk/XTIDE_Universal_BIOS/Inc/RomVars.inc

    r605 r614  
    4646FLG_DRVPARAMS_BLOCKMODE         EQU (1<<4)  ; Enable Block mode transfers
    4747FLG_DRVPARAMS_USERCHS           EQU (1<<5)  ; User specified P-CHS values
    48     MAX_PCHS_CYLINDERS              EQU 16383
    49     MAX_PCHS_HEADS                  EQU 16
    50     MAX_PCHS_SECTORS_PER_TRACK      EQU 63
    51     MAX_PCHS_TOTAL_SECTOR_COUNT     EQU (MAX_PCHS_CYLINDERS * MAX_PCHS_HEADS * MAX_PCHS_SECTORS_PER_TRACK)  ; 16,514,064
    5248FLG_DRVPARAMS_USERLBA           EQU (1<<6)  ; User specified LBA value
     49FLG_DRVPARAMS_DO_NOT_DETECT     EQU (1<<7)  ; Disable detection of drive
    5350
    5451
     
    143140    .rgbJump            resb    3   ; First instruction to ROM init (jmp)
    144141
    145     .rgbSign            resb    8   ; Signature for XTIDE Configurator Program
     142    .rgbSign            resb    6   ; Signature for XTIDE Configurator Program (must be even length)
    146143    .szTitle            resb    31  ; BIOS title string
    147144    .szVersion          resb    25  ; BIOS version string
  • trunk/XTIDE_Universal_BIOS/Inc/Version.inc

    r601 r614  
    2020
    2121; Flash signature revisions:
     22; XUB208    Added option to skip slave drive detection
    2223; XTIDE207  Added device type DEVICE_8BIT_XTIDE_REV2_OLIVETTI
    2324; XTIDE206  Added support for Color Themes
     
    5051%define TITLE_STRING            TITLE_STRING_START, TITLE_STRING_END
    5152%define ROM_VERSION_STRING      "v2.0.0",BETA,"3+ (",__DATE__,")",NULL
    52 %define FLASH_SIGNATURE         "XTIDE207"  ; Do not terminate with NULL
     53%define FLASH_SIGNATURE         "XUB208"    ; Do not terminate with NULL
    5354
    5455
  • trunk/XTIDE_Universal_BIOS/Src/Initialization/AtaID.asm

    r613 r614  
    3535;       ES:SI:  Ata information with possible corrections made
    3636;       AH:     INT 13h Error Code from reading ATA information
    37 ;       CF      cleared if drive now accepted
     37;       CF      Cleared if drive now accepted
    3838;   Corrupts registers:
    3939;       AL, BX, CX, DX, DI
     
    4949
    5050    ; Only correct cylinders since there are no reports that head or sectors could be wrong
    51     MIN_U   WORD [es:si+ATA1.wCylCnt], MAX_VALID_PCHS_CYLINDERS     ; Limit to max allowed value
    52    
     51    MIN_U   WORD [es:si+ATA1.wCylCnt], MAX_PCHS_CYLINDERS       ; Limit to max allowed value
     52
    5353    ; Note! There are ATA ID words 54-58 that also need to be modified! However,
    5454    ; the drive itself should modify them when we do Initialize Device Parameters command at AH=9h.
    5555    ; Verification from real drive needed before we fix them manually
    56    
     56
    5757    clc                     ; Return success
    5858.Return:
     
    8282    ; Verify P-CHS cylinders
    8383    mov     bx, ATA1.wCylCnt
    84     mov     ax, MAX_VALID_PCHS_CYLINDERS
     84    mov     ax, MAX_PCHS_CYLINDERS
    8585    call    .CompareCHorSfromOffsetBXtoMaxValueInAX
    8686
    8787    mov     bl, ATA1.wHeadCnt & 0FFh
    88     mov     ax, MAX_VALID_PCHS_HEADS
     88    mov     ax, MAX_PCHS_HEADS
    8989    call    .CompareCHorSfromOffsetBXtoMaxValueInAX
    9090
    9191    mov     bl, ATA1.wSPT & 0FFh
    92     mov     al, MAX_VALID_PCHS_SECTORS_PER_TRACK
     92    mov     al, MAX_PCHS_SECTORS_PER_TRACK
    9393    call    .CompareCHorSfromOffsetBXtoMaxValueInAX
    9494
  • trunk/XTIDE_Universal_BIOS/Src/Initialization/DetectDrives.asm

    r605 r614  
    4444    call    StartDetectionWithDriveSelectByteInBHandStringInCX  ; Detect and create DPT + BOOTNFO
    4545
     46    test    BYTE [cs:bp+IDEVARS.drvParamsSlave+DRVPARAMS.wFlags], FLG_DRVPARAMS_DO_NOT_DETECT
     47    jnz     SHORT .SkipSlaveDetection
    4648    mov     cx, g_szDetectSlave
    4749    mov     bh, MASK_DRVNHEAD_SET | FLG_DRVNHEAD_DRV
    4850    call    StartDetectionWithDriveSelectByteInBHandStringInCX
     51.SkipSlaveDetection:
    4952
    5053%ifdef MODULE_HOTKEYS
  • trunk/XTIDE_Universal_BIOS/makefile

    r613 r614  
    118118DEFINES_AT_LARGE = $(DEFINES_AT) $(DEFINES_COMMON_LARGE)
    119119
    120 DEFINES_XT_TINY = MODULE_STRINGS_COMPRESSED MODULE_8BIT_IDE NO_ATAID_VALIDATION NO_ATAID_CORRECTION CLD_NEEDED
     120DEFINES_XT_TINY = MODULE_STRINGS_COMPRESSED MODULE_8BIT_IDE NO_ATAID_VALIDATION CLD_NEEDED
    121121DEFINES_386 = $(DEFINES_AT) USE_386 MODULE_ADVANCED_ATA MODULE_WIN9X_CMOS_HACK
    122122DEFINES_386_LARGE = $(DEFINES_386) $(DEFINES_COMMON_LARGE)
  • trunk/XTIDE_Universal_BIOS_Configurator_v2/Inc/Variables.inc

    r592 r614  
    2626MAX_LITE_MODE_CONTROLLERS           EQU     2
    2727EEPROM_POLLING_TIMEOUT_TICKS        EQU     3   ; 1 tick = 54.9 ms
    28 XTIDE_SIGNATURE_LENGTH              EQU     8   ; XTIDE Universal BIOS signature string length
     28XTIDE_SIGNATURE_LENGTH              EQU     6   ; XTIDE Universal BIOS signature string length (must be even)
    2929NUMBER_OF_EEPROM_TYPES              EQU     5
    3030MAX_EEPROM_SIZE_IN_BYTES            EQU     65536
  • trunk/XTIDE_Universal_BIOS_Configurator_v2/Src/AutoConfigure.asm

    r605 r614  
    4242    pop     ds                              ; ROMVARS now in DS:DI
    4343    call    ChecksumSystemBios
     44    call    DetectOlivettiM24
    4445    call    ResetIdevarsToDefaultValues
    4546    call    DetectIdePortsAndDevices
     
    139140
    140141;--------------------------------------------------------------------
     142; DetectOlivettiM24
     143;   Parameters:
     144;       Nothing
     145;   Returns:
     146;       ZF:     Set if computer is not an Olivetti M24
     147;               Clear if computer is an Olivetti M24
     148;   Corrupts registers:
     149;       AX, BX, CX, DX
     150;--------------------------------------------------------------------
     151ALIGN JUMP_ALIGN
     152DetectOlivettiM24:
     153    mov     ah, 0FEh    ; Request the current date and time
     154    mov     ch, 0FFh    ; Set the hours to an invalid value
     155    int     BIOS_TIME_PCI_PNP_INTERRUPT_1Ah
     156    inc     ch          ; Hours changed?
     157    jz      SHORT .ThisIsNotAnOlivettiM24
     158    mov     BYTE [cs:IsOlivettiM24], 1
     159.ThisIsNotAnOlivettiM24:
     160    ret
     161
     162IsOlivettiM24:
     163    db      0
     164
     165
     166;--------------------------------------------------------------------
    141167; ResetIdevarsToDefaultValues
    142168;   Parameters:
  • trunk/XTIDE_Universal_BIOS_Configurator_v2/Src/Buffers.asm

    r596 r614  
    7373    push    di
    7474
    75     mov     si, g_szXtideUniversalBiosSignature
     75    mov     si, g_sXtideUniversalBiosSignature
    7676    add     di, BYTE ROMVARS.rgbSign
    7777    mov     cx, XTIDE_SIGNATURE_LENGTH / 2
  • trunk/XTIDE_Universal_BIOS_Configurator_v2/Src/IdeAutodetect.asm

    r609 r614  
    139139    eSHL_IM bx, 1                       ; SHL 1 register offsets for XT-CF
    140140    call    DetectIdeDeviceFromPortsDXandSIwithOffsetsInBLandBH
     141    jc      SHORT .ContinueDetection
     142    mov     al, DEVICE_8BIT_XTCF_PIO8_WITH_BIU_OFFLOAD
     143    cmp     BYTE [cs:IsOlivettiM24], 1
     144    jne     SHORT .IdeDeviceFound
    141145    mov     al, DEVICE_8BIT_XTCF_PIO8
    142     jnc     SHORT .IdeDeviceFound
     146    jmp     SHORT .IdeDeviceFound
     147.ContinueDetection:
    143148    shr     bx, 1
    144149.SkipXTCF:
     
    166171    pop     dx
    167172    cmp     al, DEVICE_8BIT_XTIDE_REV2
    168     je      SHORT .IdeDeviceFound
     173    jne     SHORT .XtideRev1
     174    cmp     BYTE [cs:IsOlivettiM24], 1
     175    jne     SHORT .IdeDeviceFound
     176    mov     al, DEVICE_8BIT_XTIDE_REV2_OLIVETTI
     177    ret     ; With CF cleared
     178.XtideRev1:
    169179    mov     al, DEVICE_8BIT_XTIDE_REV1  ; We must have rev 1
    170180.IdeDeviceFound:
  • trunk/XTIDE_Universal_BIOS_Configurator_v2/Src/Main.asm

    r593 r614  
    2525%include "AssemblyLibrary.inc"  ; Assembly Library. Must be included first!
    2626%include "RomVars.inc"          ; XTIDE Universal BIOS variables
     27%include "ATA_ID.inc"           ; Needed for Master/Slave Drive menu
    2728%include "IdeRegisters.inc"     ; Needed for port and device autodetection
    2829%include "JRIDE_ISA.inc"        ; For JR-IDE/ISA default segment
  • 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
  • trunk/XTIDE_Universal_BIOS_Configurator_v2/Src/Strings.asm

    r612 r614  
    2626; Menu title
    2727g_szProgramTitle:                   db  "Configuration and Flashing program for XTIDE Universal BIOS v2.0.0.",LF,CR,NULL
    28 g_szXtideUniversalBiosSignature:    db  FLASH_SIGNATURE,NULL
     28g_sXtideUniversalBiosSignature:     db  FLASH_SIGNATURE     ; No need to terminate with NULL.
    2929g_szBiosIsNotLoaded:                db  "BIOS is not loaded!",NULL
    3030g_szEEPROM:                         db  "EEPROM",NULL
     
    307307g_szValueCfgDeviceSerial:                   db  "Serial",NULL
    308308
    309 g_szSerialCOMChoice:    db  "COM1 - address 3F8h",LF
    310                         db  "COM2 - address 2F8h",LF
    311                         db  "COM3 - address 3E8h",LF
    312                         db  "COM4 - address 2E8h",LF
    313                         db  "COM5 - address 2F0h",LF
    314                         db  "COM6 - address 3E0h",LF
    315                         db  "COM7 - address 2E0h",LF
    316                         db  "COM8 - address 260h",LF
    317                         db  "COM9 - address 368h",LF
    318                         db  "COMA - address 268h",LF
    319                         db  "COMB - address 360h",LF
    320                         db  "COMC - address 270h",LF
    321                         db  "COMx - Custom address",NULL
    322 
    323 g_szValueCfgCOM1:       db  "COM1",NULL
    324 g_szValueCfgCOM2:       db  "COM2",NULL
    325 g_szValueCfgCOM3:       db  "COM3",NULL
    326 g_szValueCfgCOM4:       db  "COM4",NULL
    327 g_szValueCfgCOM5:       db  "COM5",NULL
    328 g_szValueCfgCOM6:       db  "COM6",NULL
    329 g_szValueCfgCOM7:       db  "COM7",NULL
    330 g_szValueCfgCOM8:       db  "COM8",NULL
    331 g_szValueCfgCOM9:       db  "COM9",NULL
    332 g_szValueCfgCOMA:       db  "COMA",NULL
    333 g_szValueCfgCOMB:       db  "COMB",NULL
    334 g_szValueCfgCOMC:       db  "COMC",NULL
    335 g_szValueCfgCOMx:       db  "Custom",NULL
    336 
    337 g_szSerialBaudChoice:   db  "115.2K baud",LF
    338                         db  "57.6K baud",LF
    339                         db  "38.4K baud",LF
    340                         db  "28.8K baud",LF
    341                         db  "19.2K baud",LF
    342                         db  "9600 baud",LF
    343                         db  "4800 baud",LF
    344                         db  "2400 baud",NULL
    345 
    346 g_szValueCfgBaud115_2:  db  "115.2K",NULL
    347 g_szValueCfgBaud57_6:   db  "57.6K",NULL
    348 g_szValueCfgBaud38_4:   db  "38.4K",NULL
    349 g_szValueCfgBaud28_8:   db  "28.8K",NULL
    350 g_szValueCfgBaud19_2:   db  "19.2K",NULL
    351 g_szValueCfgBaud9600:   db  "9600",NULL
    352 g_szValueCfgBaud4800:   db  "4800",NULL
    353 g_szValueCfgBaud2400:   db  "2400",NULL
     309g_szSerialCOMChoice:            db  "COM1 - address 3F8h",LF
     310                                db  "COM2 - address 2F8h",LF
     311                                db  "COM3 - address 3E8h",LF
     312                                db  "COM4 - address 2E8h",LF
     313                                db  "COM5 - address 2F0h",LF
     314                                db  "COM6 - address 3E0h",LF
     315                                db  "COM7 - address 2E0h",LF
     316                                db  "COM8 - address 260h",LF
     317                                db  "COM9 - address 368h",LF
     318                                db  "COMA - address 268h",LF
     319                                db  "COMB - address 360h",LF
     320                                db  "COMC - address 270h",LF
     321                                db  "COMx - Custom address",NULL
     322
     323g_szValueCfgCOM1:               db  "COM1",NULL
     324g_szValueCfgCOM2:               db  "COM2",NULL
     325g_szValueCfgCOM3:               db  "COM3",NULL
     326g_szValueCfgCOM4:               db  "COM4",NULL
     327g_szValueCfgCOM5:               db  "COM5",NULL
     328g_szValueCfgCOM6:               db  "COM6",NULL
     329g_szValueCfgCOM7:               db  "COM7",NULL
     330g_szValueCfgCOM8:               db  "COM8",NULL
     331g_szValueCfgCOM9:               db  "COM9",NULL
     332g_szValueCfgCOMA:               db  "COMA",NULL
     333g_szValueCfgCOMB:               db  "COMB",NULL
     334g_szValueCfgCOMC:               db  "COMC",NULL
     335g_szValueCfgCOMx:               db  "Custom",NULL
     336
     337g_szSerialBaudChoice:           db  "115.2K baud",LF
     338                                db  "57.6K baud",LF
     339                                db  "38.4K baud",LF
     340                                db  "28.8K baud",LF
     341                                db  "19.2K baud",LF
     342                                db  "9600 baud",LF
     343                                db  "4800 baud",LF
     344                                db  "2400 baud",NULL
     345
     346g_szValueCfgBaud115_2:          db  "115.2K",NULL
     347g_szValueCfgBaud57_6:           db  "57.6K",NULL
     348g_szValueCfgBaud38_4:           db  "38.4K",NULL
     349g_szValueCfgBaud28_8:           db  "28.8K",NULL
     350g_szValueCfgBaud19_2:           db  "19.2K",NULL
     351g_szValueCfgBaud9600:           db  "9600",NULL
     352g_szValueCfgBaud4800:           db  "4800",NULL
     353g_szValueCfgBaud2400:           db  "2400",NULL
    354354
    355355
    356356; Strings for DRVPARAMS menu
    357 g_szItemDrvBackToIde:   db  "Back to IDE Controller Menu",NULL
    358 g_szItemDrvBlockMode:   db  "Block Mode Transfers",NULL
    359 g_szItemDrvXlateMode:   db  "CHS translation method",NULL
    360 g_szItemDrvWriteCache:  db  "Internal Write Cache",NULL
    361 g_szItemDrvUserCHS:     db  "User specified CHS",NULL
    362 g_szItemDrvCyls:        db  "Cylinders",NULL
    363 g_szItemDrvHeads:       db  "Heads",NULL
    364 g_szItemDrvSect:        db  "Sectors per track",NULL
    365 g_szItemDrvUserLBA:     db  "User specified LBA",NULL
    366 g_szItemDrvLbaSectors:  db  "Millions of sectors",NULL
    367 
    368 g_szDlgDrvBlockMode:    db  "Enable Block Mode Transfers?",NULL
    369 g_szDlgDrvXlateMode:    db  "Select P-CHS to L-CHS translation method.",NULL
    370 g_szDlgDrvWriteCache:   db  "Select hard drive internal write cache settings.",NULL
    371 g_szDlgDrvUserCHS:      db  "Specify (P-)CHS parameters manually?",NULL
    372 g_szDlgDrvCyls:         db  "Enter number of P-CHS cylinders (1...16383).",NULL
    373 g_szDlgDrvHeads:        db  "Enter number of P-CHS heads (1...16).",NULL
    374 g_szDlgDrvSect:         db  "Enter number of sectors per track (1...63).",NULL
    375 g_szDlgDrvUserLBA:      db  "Limit drive capacity?",NULL
    376 g_szDlgDrvLbaSectors:   db  "Enter maximum capacity in millions of sectors (16...256).",NULL
    377 
    378 g_szNfoDrvBlockMode:    db  "Transfer multiple sectors per data request.",NULL
    379 g_szNfoDrvXlateMode:    db  "P-CHS to L-CHS translation method.",NULL
    380 g_szNfoDrvWriteCache:   db  "Hard Drive Internal Write Cache settings (WARNING!).",NULL
    381 g_szNfoDrvUserCHS:      db  "Specify (P-)CHS parameters manually instead of autodetecting them.",NULL
    382 g_szNfoDrvCyls:         db  "Number of user specified P-CHS cylinders.",NULL
    383 g_szNfoDrvHeads:        db  "Number of user specified P-CHS heads.",NULL
    384 g_szNfoDrvSect:         db  "Number of user specified P-CHS sectors per track.",NULL
    385 g_szNfoDrvUserLBA:      db  "Limit drive capacity to fix compatibility problems with Windows 9x.",NULL
    386 g_szNfoDrvLbaSectors:   db  "Millions of sectors (1024*1024). 1M sectors = 512 MiB. Recommended limits are 64 for Windows 95, 128 for Windows 98 and 256 for Windows ME (and 98 with updated fdisk).",NULL
    387 
    388 g_szHelpDrvBlockMode:   db  "Block Mode will speed up transfers since multiple sectors can be transferred before waiting next data request."
    389                         db  " Normally Block Mode should always be kept enabled but there is at least one"
    390                         db  " drive with buggy Block Mode implementation (Quantum ProDrive LPS 340A).",NULL
    391 
    392 g_szHelpDrvWriteCache:  db  "Modern Hard Drives have a large amount of internal write cache."
    393                         db  " The cache will speed up writes since the drive can free the bus right after data has been written to cache."
    394                         db  " The drive then starts to write the data from cache to disk by itself."
    395                         db  " This can be dangerous since all unwritten data in cache is lost if power is turned off or the system is reset."
    396                         db  " Modern operating systems will flush the cache when user shuts down the system."
    397                         db  " DOS does not have that sort of protection so it is up to the user to make sure cache is flushed."
    398                         db  " WARNING!!! Write cache should be left disabled.",NULL
    399 
    400 g_szHelpDrvUserCHS:     db  "Specify (P-)CHS parameters manually instead of autodetecting them."
    401                         db  " This can be used to limit drive size for old operating systems that do not support large hard disks."
    402                         db  " Some early IDE drives have buggy autodetection so they require CHS to be specified manually."
    403                         db  " Limiting Cylinders will work for all drives but drives may not accept all values for Heads and Sectors per Track.",NULL
    404 
    405 g_szHelpDrvUserLBA:     db  "Limit drive size to X million sectors for EBIOS functions. This option is useful to"
    406                         db  " prevent large drive compatibility problems with MS-DOS 7.x (Windows 95 and 98).",NULL
    407 
    408 g_szMultichoiseXlateMode:
    409                         db  "NORMAL",LF
    410                         db  "LARGE",LF
    411                         db  "Assisted LBA",LF
    412                         db  "Autodetect",NULL
    413 
    414 g_szValueDrvXlateNormal:db  "NORMAL",NULL
    415 g_szValueDrvXlateLarge: db  "LARGE",NULL
    416 g_szValueDrvXlateLBA:   db  "LBA",NULL
    417 g_szValueDrvXlateAuto:  db  "Auto",NULL
    418 
    419 g_szMultichoiseWrCache: db  "Drive Default",LF
    420                         db  "Disable Write Cache",LF
    421                         db  "Enable Write Cache",NULL
    422 
    423 g_szValueDrvWrCaDis:    db  "Disabled",NULL
    424 g_szValueDrvWrCaEn:     db  "Enabled",NULL
     357g_szItemDrvBackToIde:           db  "Back to IDE Controller Menu",NULL
     358g_szItemDrvDisableDetection:    db  "Disable Detection",NULL
     359g_szItemDrvBlockMode:           db  "Block Mode Transfers",NULL
     360g_szItemDrvXlateMode:           db  "CHS translation method",NULL
     361g_szItemDrvWriteCache:          db  "Internal Write Cache",NULL
     362g_szItemDrvUserCHS:             db  "User specified CHS",NULL
     363g_szItemDrvCyls:                db  "Cylinders",NULL
     364g_szItemDrvHeads:               db  "Heads",NULL
     365g_szItemDrvSect:                db  "Sectors per track",NULL
     366g_szItemDrvUserLBA:             db  "User specified LBA",NULL
     367g_szItemDrvLbaSectors:          db  "Millions of sectors",NULL
     368
     369g_szDlgDrvDisableDetection:     db  "Disable detection of this drive?",NULL
     370g_szDlgDrvBlockMode:            db  "Enable Block Mode Transfers?",NULL
     371g_szDlgDrvXlateMode:            db  "Select P-CHS to L-CHS translation method.",NULL
     372g_szDlgDrvWriteCache:           db  "Select hard drive internal write cache settings.",NULL
     373g_szDlgDrvUserCHS:              db  "Specify (P-)CHS parameters manually?",NULL
     374g_szDlgDrvCyls:                 db  "Enter number of P-CHS cylinders (1...16383).",NULL
     375g_szDlgDrvHeads:                db  "Enter number of P-CHS heads (1...16).",NULL
     376g_szDlgDrvSect:                 db  "Enter number of sectors per track (1...63).",NULL
     377g_szDlgDrvUserLBA:              db  "Limit drive capacity?",NULL
     378g_szDlgDrvLbaSectors:           db  "Enter maximum capacity in millions of sectors (16...256).",NULL
     379
     380g_szNfoDrvDisableDetection:     db  "Disable detection of this drive.",NULL
     381g_szNfoDrvBlockMode:            db  "Transfer multiple sectors per data request.",NULL
     382g_szNfoDrvXlateMode:            db  "P-CHS to L-CHS translation method.",NULL
     383g_szNfoDrvWriteCache:           db  "Hard Drive Internal Write Cache settings (WARNING!).",NULL
     384g_szNfoDrvUserCHS:              db  "Specify (P-)CHS parameters manually instead of autodetecting them.",NULL
     385g_szNfoDrvCyls:                 db  "Number of user specified P-CHS cylinders.",NULL
     386g_szNfoDrvHeads:                db  "Number of user specified P-CHS heads.",NULL
     387g_szNfoDrvSect:                 db  "Number of user specified P-CHS sectors per track.",NULL
     388g_szNfoDrvUserLBA:              db  "Limit drive capacity to fix compatibility problems with Windows 9x.",NULL
     389g_szNfoDrvLbaSectors:           db  "Millions of sectors (1024*1024). 1M sectors = 512 MiB. Recommended limits are 64 for Windows 95,"
     390                                db  " 128 for Windows 98 and 256 for Windows ME (and 98 with updated fdisk).",NULL
     391
     392g_szHelpDrvDisableDetection:    db  "Disabling slave drive detection will reduce the boot time slightly. This is useful when you know that"
     393                                db  " there will never be a slave drive connected to a particular controller.",NULL
     394
     395g_szHelpDrvBlockMode:           db  "Block Mode will speed up transfers since multiple sectors can be transferred before waiting next data request."
     396                                db  " Normally Block Mode should always be kept enabled but there is at least one"
     397                                db  " drive with buggy Block Mode implementation (Quantum ProDrive LPS 340A).",NULL
     398
     399g_szHelpDrvWriteCache:          db  "Modern Hard Drives have a large amount of internal write cache."
     400                                db  " The cache will speed up writes since the drive can free the bus right after data has been written to cache."
     401                                db  " The drive then starts to write the data from cache to disk by itself."
     402                                db  " This can be dangerous since all unwritten data in cache is lost if power is turned off or the system is reset."
     403                                db  " Modern operating systems will flush the cache when user shuts down the system."
     404                                db  " DOS does not have that sort of protection so it is up to the user to make sure cache is flushed."
     405                                db  " WARNING!!! Write cache should be left disabled.",NULL
     406
     407g_szHelpDrvUserCHS:             db  "Specify (P-)CHS parameters manually instead of autodetecting them."
     408                                db  " This can be used to limit drive size for old operating systems that do not support large hard disks."
     409                                db  " Some early IDE drives have buggy autodetection so they require CHS to be specified manually."
     410                                db  " Limiting Cylinders will work for all drives but drives may not accept all values for Heads and Sectors per Track.",NULL
     411
     412g_szHelpDrvUserLBA:             db  "Limit drive size to X million sectors for EBIOS functions. This option is useful to"
     413                                db  " prevent large drive compatibility problems with MS-DOS 7.x (Windows 95 and 98).",NULL
     414
     415g_szMultichoiceXlateMode:       db  "NORMAL",LF
     416                                db  "LARGE",LF
     417                                db  "Assisted LBA",LF
     418                                db  "Autodetect",NULL
     419
     420g_szValueDrvXlateNormal:        db  "NORMAL",NULL
     421g_szValueDrvXlateLarge:         db  "LARGE",NULL
     422g_szValueDrvXlateLBA:           db  "LBA",NULL
     423g_szValueDrvXlateAuto:          db  "Auto",NULL
     424
     425g_szMultichoiceWrCache:         db  "Drive Default",LF
     426                                db  "Disable Write Cache",LF
     427                                db  "Enable Write Cache",NULL
     428
     429g_szValueDrvWrCaDis:            db  "Disabled",NULL
     430g_szValueDrvWrCaEn:             db  "Enabled",NULL
    425431
    426432
    427433; Strings for boot settings menu
    428 g_szItemBootTimeout:        db  "Selection timeout",NULL
    429 g_szItemBootDrive:          db  "Default boot drive",NULL
    430 g_szItemBootDispMode:       db  "Display Mode",NULL
    431 g_szItemColorTheme:         db  "Color Theme",NULL
    432 g_szItemBootFloppyDrvs:     db  "Number of Floppy Drives",NULL
    433 g_szItemSerialDetect:       db  "Scan for Serial Drives",NULL
    434 g_szItemClearBdaDriveCount: db  "Remove other hard drives",NULL
    435 
    436 g_szDlgBootTimeout:         db  "Enter Boot Menu selection timeout in BIOS timer ticks (2...1092).",NULL
    437 g_szDlgBootDrive:           db  "Enter default drive number (0xh for Floppy Drives, 8xh for Hard Disks).",NULL
    438 g_szDlgBootDispMode:        db  "Select display mode.",NULL
    439 g_szDlgColorTheme:          db  "Select color theme.",NULL
    440 g_szDlgBootFloppyDrvs:      db  "Select number of Floppy Drives in system.",NULL
    441 g_szDlgSerialDetect:        db  "Scan for serial drives?",NULL
    442 g_szDlgClearBdaDriveCount:  db  "Remove existing INT 13h hard drives during drive detection?",NULL
    443 
    444 g_szNfoBootTimeout:         db  "Menu item selection timeout in BIOS timer ticks. 1 tick = 54.9 ms.",NULL
    445 g_szNfoBootDrive:           db  "Default boot drive.",NULL
    446 g_szNfoDispMode:            db  "Display mode to set when booting.",NULL
    447 g_szNfoColorTheme:          db  "Color theme used by the boot menu and the hotkey bar.",NULL
    448 g_szNfoBootFloppyDrvs:      db  "Number of Floppy Drives in system.",NULL
    449 g_szNfoSerialDetect:        db  "Scans all standard COM ports for serial drives."
    450                             db  " This can also be invoked by holding down ALT at the end of normal drive detection.",NULL
    451 g_szNfoClearBdaDriveCount:  db  "Can be used to remove duplicate hard drives.",NULL
    452 
    453 g_szHelpBootTimeout:        db  "Boot Menu selection timeout in BIOS timer ticks (1 second = 18.2 ticks)."
    454                             db  " When timer goes to zero, currently selected drive will be booted automatically."
    455                             db  " Timeout can be disabled by setting this to 0.",NULL
    456 g_szHelpBootDrive:          db  "Drive to be set selected by default when Boot Menu is displayed.",NULL
    457 g_szHelpColorTheme:         db  "Pick a theme from a list of several pre-defined themes to customize the colors used by the boot menu and, if"
    458                             db  " available, the hotkey bar. Selecting a theme or loading a BIOS, or its settings, from file or from ROM will"
    459                             db  " make XTIDECFG apply the theme to itself for easy preview. The ability to preview themes requires that"
    460                             db  " XTIDECFG is running in a display mode that can display colors. In other words, you may configure the"
    461                             db  " BIOS on a machine with a monochrome graphics adapter and not be able to preview the theme but the BIOS will"
    462                             db  " still use the selected theme when installed in a machine with a color graphics adapter.",NULL
    463 g_szHelpBootFloppyDrvs:     db  "Detecting the correct number of floppy drives might fail when using a floppy controller with its own BIOS."
    464                             db  " A minimum number of floppy drives can be specified to force non-detected drives to appear on boot menu.",NULL
    465 g_szHelpSerialDetect:       db  "Set to Yes, at the end of normal drive detection, COM ports 1-7 (in reverse order) will be scanned for a connection"
    466                             db  " to a serial drive server. This option provides flexibility with the COM port and baud rate to be used,"
    467                             db  " it need not be configured ahead of time, but at the expense of a slower boot process."
    468                             db  " Even when this option is set to No, this functionality can still be invoked by holding down the ALT key at the end"
    469                             db  " of normal drive detection. Note that if any serial drives are detected during the normal drive detection,"
    470                             db  " no scan will take place (to avoid finding the same drive twice).",NULL
    471 g_szHelpClearBdaDriveCount: db  "Set to NO for normal operation. Set to YES to get Windows 9x protected mode drivers to work when"
    472                             db  " MODULE_WIN9X_CMOS_HACK is not included (dummy drive needs to be defined in system BIOS setup). This option must"
    473                             db  " also be set to YES on computers where the system BIOS does not initialize RAM properly. Zenith models Z-171 and"
    474                             db  " Z-161 are known examples of such machines.",NULL
     434g_szItemBootTimeout:            db  "Selection timeout",NULL
     435g_szItemBootDrive:              db  "Default boot drive",NULL
     436g_szItemBootDispMode:           db  "Display Mode",NULL
     437g_szItemColorTheme:             db  "Color Theme",NULL
     438g_szItemBootFloppyDrvs:         db  "Number of Floppy Drives",NULL
     439g_szItemSerialDetect:           db  "Scan for Serial Drives",NULL
     440g_szItemClearBdaDriveCount:     db  "Remove other hard drives",NULL
     441
     442g_szDlgBootTimeout:             db  "Enter Boot Menu selection timeout in BIOS timer ticks (2...1092).",NULL
     443g_szDlgBootDrive:               db  "Enter default drive number (0xh for Floppy Drives, 8xh for Hard Disks).",NULL
     444g_szDlgBootDispMode:            db  "Select display mode.",NULL
     445g_szDlgColorTheme:              db  "Select color theme.",NULL
     446g_szDlgBootFloppyDrvs:          db  "Select number of Floppy Drives in system.",NULL
     447g_szDlgSerialDetect:            db  "Scan for serial drives?",NULL
     448g_szDlgClearBdaDriveCount:      db  "Remove existing INT 13h hard drives during drive detection?",NULL
     449
     450g_szNfoBootTimeout:             db  "Menu item selection timeout in BIOS timer ticks. 1 tick = 54.9 ms.",NULL
     451g_szNfoBootDrive:               db  "Default boot drive.",NULL
     452g_szNfoDispMode:                db  "Display mode to set when booting.",NULL
     453g_szNfoColorTheme:              db  "Color theme used by the boot menu and the hotkey bar.",NULL
     454g_szNfoBootFloppyDrvs:          db  "Number of Floppy Drives in system.",NULL
     455g_szNfoSerialDetect:            db  "Scans all standard COM ports for serial drives."
     456                                db  " This can also be invoked by holding down ALT at the end of normal drive detection.",NULL
     457g_szNfoClearBdaDriveCount:      db  "Can be used to remove duplicate hard drives.",NULL
     458
     459g_szHelpBootTimeout:            db  "Boot Menu selection timeout in BIOS timer ticks (1 second = 18.2 ticks)."
     460                                db  " When timer goes to zero, currently selected drive will be booted automatically."
     461                                db  " Timeout can be disabled by setting this to 0.",NULL
     462g_szHelpBootDrive:              db  "Drive to be set selected by default when Boot Menu is displayed.",NULL
     463g_szHelpColorTheme:             db  "Pick a theme from a list of several pre-defined themes to customize the colors used by the boot menu and, if"
     464                                db  " available, the hotkey bar. Selecting a theme or loading a BIOS, or its settings, from file or from ROM will"
     465                                db  " make XTIDECFG apply the theme to itself for easy preview. The ability to preview themes requires that"
     466                                db  " XTIDECFG is running in a display mode that can display colors. In other words, you may configure the"
     467                                db  " BIOS on a machine with a monochrome graphics adapter and not be able to preview the theme but the BIOS will"
     468                                db  " still use the selected theme when installed in a machine with a color graphics adapter.",NULL
     469g_szHelpBootFloppyDrvs:         db  "Detecting the correct number of floppy drives might fail when using a floppy controller with its own BIOS."
     470                                db  " A minimum number of floppy drives can be specified to force non-detected drives to appear on boot menu.",NULL
     471g_szHelpSerialDetect:           db  "Set to Yes, at the end of normal drive detection, COM ports 1-7 (in reverse order) will be scanned for a connection"
     472                                db  " to a serial drive server. This option provides flexibility with the COM port and baud rate to be used,"
     473                                db  " it need not be configured ahead of time, but at the expense of a slower boot process."
     474                                db  " Even when this option is set to No, this functionality can still be invoked by holding down the ALT key at the end"
     475                                db  " of normal drive detection. Note that if any serial drives are detected during the normal drive detection,"
     476                                db  " no scan will take place (to avoid finding the same drive twice).",NULL
     477g_szHelpClearBdaDriveCount:     db  "Set to NO for normal operation. Set to YES to get Windows 9x protected mode drivers to work when"
     478                                db  " MODULE_WIN9X_CMOS_HACK is not included (dummy drive needs to be defined in system BIOS setup). This option must"
     479                                db  " also be set to YES on computers where the system BIOS does not initialize RAM properly. Zenith models Z-171 and"
     480                                db  " Z-161 are known examples of such machines.",NULL
    475481
    476482g_szMultichoiceBootDispMode:    db  "Default",LF
     
    513519
    514520; Strings for Flash menu
    515 g_szItemFlashStart:     db  "Start flashing",NULL
    516 g_szItemFlashEepromType:db  "EEPROM type",NULL
    517 g_szItemFlashSDP:       db  "SDP command",NULL
    518 g_szItemFlashAddr:      db  "EEPROM address",NULL
    519 g_szItemFlashPageSize:  db  "Page size",NULL
    520 g_szItemFlashChecksum:  db  "Generate checksum byte",NULL
    521 
    522 g_szDlgFlashEepromType: db  "Select EEPROM type.",NULL
    523 g_szDlgFlashSDP:        db  "Select Software Data Protection command.",NULL
    524 g_szDlgFlashAddr:       db  "Enter segment address where EEPROM is located.",NULL
    525 g_szDlgFlashPageSize:   db  "Select write page size.",NULL
    526 g_szDlgFlashChecksum:   db  "Generate checksum byte to the end of BIOS image?",NULL
    527 
    528 g_szNfoFlashEepromType: db  "EEPROM type.",NULL
    529 g_szNfoFlashStart:      db  "Writes BIOS to EEPROM.",NULL
    530 g_szNfoFlashSDP:        db  "Software Data Protection command.",NULL
    531 g_szNfoFlashAddr:       db  "Address (segment) where EEPROM is located.",NULL
    532 g_szNfoFlashPageSize:   db  "Number of bytes to write before delay.",NULL
    533 g_szNfoFlashChecksum:   db  "Generate checksum byte to the end of BIOS image.",NULL
    534 
    535 g_szHelpFlashSDP:       db  "Software Data Protection Command:",LF
    536                         db  "None    = Do not use Software Data Protection. Meant for EEPROMs that do not support SDP.",LF,LF
    537                         db  "Enable  = Write protects the EEPROM after flashing."
    538                         db  " Software Data Protection should always be enabled if EEPROM supports it.",LF,LF
    539                         db  "Disable = Disables Software Data Protection after flashing.",NULL
    540 
    541 g_szHelpFlashPageSize:  db  "Larger page size will improve write performance but not all EEPROMs support large pages or page writing at all."
    542                         db  " Byte writing mode will be used when page size is set to 1. Byte writing mode is supported by all EEPROMs."
    543                         db  " Large pages cannot be flashed with slow CPUs.",NULL
    544 
    545 g_szHelpFlashChecksum:  db  "PC BIOSes require a checksum byte at the end of expansion card BIOS ROMs."
    546                         db  " You might not want to generate checksum byte when flashing some other images than XTIDE Universal BIOS.",NULL
    547 
    548 g_szMultichoiceEepromType:
    549                         db  "2816 (2 kiB)",LF
    550                         db  "2864 (8 kiB)",LF
    551                         db  "2864 mod (8 kiB)",LF
    552                         db  "28256 (32 kiB)",LF
    553                         db  "28512 (64 kiB)",NULL
    554 g_szValueFlash2816:     db  "2816",NULL
    555 g_szValueFlash2864:     db  "2864",NULL
    556 g_szValueFlash2864Mod:  db  "2864mod",NULL
    557 g_szValueFlash28256:    db  "28256",NULL
    558 g_szValueFlash28512:    db  "28512",NULL
    559 
    560 g_szMultichoiceSdpCommand:
    561                         db  "None",LF
    562                         db  "Enable",LF
    563 g_szValueFlashDisable:  db  "Disable",NULL
    564 g_szValueFlashEnable:   db  "Enable",NULL
    565 g_szValueFlashNone:     db  "None",NULL
    566 
    567 g_szMultichoicePageSize:
    568                         db  "1 byte",LF
    569                         db  "2 bytes",LF
    570                         db  "4 bytes",LF
    571                         db  "8 bytes",LF
    572                         db  "16 bytes",LF
    573                         db  "32 bytes",LF
    574 g_szValueFlash64bytes:  db  "64 bytes",NULL
    575 g_szValueFlash32bytes:  db  "32 bytes",NULL
    576 g_szValueFlash16bytes:  db  "16 bytes",NULL
    577 g_szValueFlash8bytes:   db  "8 bytes",NULL
    578 g_szValueFlash4bytes:   db  "4 bytes",NULL
    579 g_szValueFlash2bytes:   db  "2 bytes",NULL
    580 g_szValueFlash1byte:    db  "1 byte",NULL
    581 
    582 g_szSelectionTimeout:   db  DOUBLE_BOTTOM_LEFT_CORNER,DOUBLE_LEFT_HORIZONTAL_TO_SINGLE_VERTICAL,"%ASelection in %2u s",NULL
    583 g_szDashForZero:        db  "- ",NULL
    584 g_szValueUnknownError:  db  "Error!",NULL
    585 
     521g_szItemFlashStart:             db  "Start flashing",NULL
     522g_szItemFlashEepromType:        db  "EEPROM type",NULL
     523g_szItemFlashSDP:               db  "SDP command",NULL
     524g_szItemFlashAddr:              db  "EEPROM address",NULL
     525g_szItemFlashPageSize:          db  "Page size",NULL
     526g_szItemFlashChecksum:          db  "Generate checksum byte",NULL
     527
     528g_szDlgFlashEepromType:         db  "Select EEPROM type.",NULL
     529g_szDlgFlashSDP:                db  "Select Software Data Protection command.",NULL
     530g_szDlgFlashAddr:               db  "Enter segment address where EEPROM is located.",NULL
     531g_szDlgFlashPageSize:           db  "Select write page size.",NULL
     532g_szDlgFlashChecksum:           db  "Generate checksum byte to the end of BIOS image?",NULL
     533
     534g_szNfoFlashEepromType:         db  "EEPROM type.",NULL
     535g_szNfoFlashStart:              db  "Writes BIOS to EEPROM.",NULL
     536g_szNfoFlashSDP:                db  "Software Data Protection command.",NULL
     537g_szNfoFlashAddr:               db  "Address (segment) where EEPROM is located.",NULL
     538g_szNfoFlashPageSize:           db  "Number of bytes to write before delay.",NULL
     539g_szNfoFlashChecksum:           db  "Generate checksum byte to the end of BIOS image.",NULL
     540
     541g_szHelpFlashSDP:               db  "Software Data Protection Command:",LF
     542                                db  "None    = Do not use Software Data Protection. Meant for EEPROMs that do not support SDP.",LF,LF
     543                                db  "Enable  = Write protects the EEPROM after flashing."
     544                                db  " Software Data Protection should always be enabled if EEPROM supports it.",LF,LF
     545                                db  "Disable = Disables Software Data Protection after flashing.",NULL
     546
     547g_szHelpFlashPageSize:          db  "Larger page size will improve write performance but not all EEPROMs support large pages or page writing at all."
     548                                db  " Byte writing mode will be used when page size is set to 1. Byte writing mode is supported by all EEPROMs."
     549                                db  " Large pages cannot be flashed with slow CPUs.",NULL
     550
     551g_szHelpFlashChecksum:          db  "PC BIOSes require a checksum byte at the end of expansion card BIOS ROMs."
     552                                db  " You might not want to generate checksum byte when flashing some other images than XTIDE Universal BIOS.",NULL
     553
     554g_szMultichoiceEepromType:      db  "2816 (2 kiB)",LF
     555                                db  "2864 (8 kiB)",LF
     556                                db  "2864 mod (8 kiB)",LF
     557                                db  "28256 (32 kiB)",LF
     558                                db  "28512 (64 kiB)",NULL
     559g_szValueFlash2816:             db  "2816",NULL
     560g_szValueFlash2864:             db  "2864",NULL
     561g_szValueFlash2864Mod:          db  "2864mod",NULL
     562g_szValueFlash28256:            db  "28256",NULL
     563g_szValueFlash28512:            db  "28512",NULL
     564
     565g_szMultichoiceSdpCommand:      db  "None",LF
     566                                db  "Enable",LF
     567g_szValueFlashDisable:          db  "Disable",NULL
     568g_szValueFlashEnable:           db  "Enable",NULL
     569g_szValueFlashNone:             db  "None",NULL
     570
     571g_szMultichoicePageSize:        db  "1 byte",LF
     572                                db  "2 bytes",LF
     573                                db  "4 bytes",LF
     574                                db  "8 bytes",LF
     575                                db  "16 bytes",LF
     576                                db  "32 bytes",LF
     577g_szValueFlash64bytes:          db  "64 bytes",NULL
     578g_szValueFlash32bytes:          db  "32 bytes",NULL
     579g_szValueFlash16bytes:          db  "16 bytes",NULL
     580g_szValueFlash8bytes:           db  "8 bytes",NULL
     581g_szValueFlash4bytes:           db  "4 bytes",NULL
     582g_szValueFlash2bytes:           db  "2 bytes",NULL
     583g_szValueFlash1byte:            db  "1 byte",NULL
     584
     585g_szSelectionTimeout:           db  DOUBLE_BOTTOM_LEFT_CORNER,DOUBLE_LEFT_HORIZONTAL_TO_SINGLE_VERTICAL,"%ASelection in %2u s",NULL
     586g_szDashForZero:                db  "- ",NULL
     587g_szValueUnknownError:          db  "Error!",NULL
     588
Note: See TracChangeset for help on using the changeset viewer.