Changeset 614 in xtideuniversalbios for trunk/XTIDE_Universal_BIOS/Src/Initialization/AtaID.asm


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/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
Note: See TracChangeset for help on using the changeset viewer.