Changeset 614 in xtideuniversalbios for trunk/XTIDE_Universal_BIOS


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.
Location:
trunk/XTIDE_Universal_BIOS
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • 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)
Note: See TracChangeset for help on using the changeset viewer.