Changeset 613 in xtideuniversalbios for trunk/XTIDE_Universal_BIOS/Src/Device/Device.asm


Ignore:
Timestamp:
May 27, 2021, 6:25:17 PM (3 years ago)
Author:
aitotat
Message:

Added more complex way to limit illegal P-CHS Cylinders. This way more modifications can be easily made later if necessary.
Updated biosdrvs to display unmodified and modified CHS.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/XTIDE_Universal_BIOS/Src/Device/Device.asm

    r568 r613  
    8888;   Parameters:
    8989;       BH:     Drive Select byte for Drive and Head Select Register
     90;       CX:     XUB_INT13h_SIGNATURE to ignore illegal ATA-ID values, otherwise
     91;               correct them (only used if NOT build with NO_ATAID_CORRECTION)
    9092;       DX:     Autodetected port (for devices that support autodetection)
    9193;       DS:     Segment to RAMVARS
     
    98100;       AL, BX, CX, DX, SI, DI, ES
    99101;--------------------------------------------------------------------
     102Device_IdentifyToBufferInESSIwithDriveSelectByteInBH:
     103%ifndef NO_ATAID_CORRECTION
     104    cmp     cx, XUB_INT13h_SIGNATURE
     105    je      SHORT .DoNotFixAtaInformation
     106    push    es
     107    push    si
     108    ePUSH_T cx, AtaID_PopESSIandFixIllegalValuesFromESSI    ; Here we modify ATA information if necessary
     109.DoNotFixAtaInformation:
     110%endif
     111
    100112%ifdef MODULE_SERIAL    ; IDE + Serial
    101 Device_IdentifyToBufferInESSIwithDriveSelectByteInBH:
    102113    cmp     BYTE [cs:bp+IDEVARS.bDevice], DEVICE_SERIAL_PORT
    103114%ifdef USE_386
     
    112123
    113124%else                   ; IDE
    114     Device_IdentifyToBufferInESSIwithDriveSelectByteInBH    EQU     IdeCommand_IdentifyDeviceToBufferInESSIwithDriveSelectByteInBH
     125    jmp     IdeCommand_IdentifyDeviceToBufferInESSIwithDriveSelectByteInBH
    115126%endif
    116127
Note: See TracChangeset for help on using the changeset viewer.