Changeset 487 in xtideuniversalbios for trunk/XTIDE_Universal_BIOS/Src/Initialization


Ignore:
Timestamp:
Dec 5, 2012, 5:54:46 PM (12 years ago)
Author:
aitotat@…
google:author:
aitotat@gmail.com
Message:

Changes to XTIDE Universal BIOS:

  • ATA ID verification no longer checks ATA version since it is not available on CF cards.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/XTIDE_Universal_BIOS/Src/Initialization/AtaID.asm

    r445 r487  
    5252    call    .CompareCHorSfromOffsetBXtoMaxValueInCX
    5353
    54     ; We now verified P-CHS parameters so we assume ATA ID to be valid
    55     ; for ATA-4 and older. For ATA-5 and later we check signature
    56     ; and checksum.
    57     mov     ax, [es:si+ATA6.wMajorVer]          ; ATA-3 and later have this word
    58     inc     ax
    59     jz      SHORT .AtaIDverifiedSuccessfully    ; FFFFh means no version info available
    60     dec     ax
    61     jz      SHORT .AtaIDverifiedSuccessfully    ; Zero means no version info available
    62     cmp     ax, A6_wMajorVer_ATA5
    63     jb      SHORT .AtaIDverifiedSuccessfully    ; ATA-3 and ATA-4 do not have checksum
    64 
    65     ; Check signature byte
    66     cmp     BYTE [es:si+ATA6.bSignature], A6_wIntegrity_SIGNATURE
     54    ; Check signature byte. It is only found on ATA-5 and later. It should be zero on
     55    ; ATA-4 and older.
     56    mov     al, [es:si+ATA6.bSignature]
     57    test    al, al
     58    jz      SHORT .AtaIDverifiedSuccessfully    ; Old ATA so Signature and Checksum is not available
     59    cmp     al, A6_wIntegrity_SIGNATURE
    6760    jne     SHORT .FailedToVerifyAtaID
    6861
    69     ; Check checksum byte
     62    ; Check checksum byte since signature was present
    7063    mov     cx, ATA6_size
    7164    call    Memory_SumCXbytesFromESSItoAL       ; Returns with ZF set according to result
Note: See TracChangeset for help on using the changeset viewer.