Changeset 305 in xtideuniversalbios for trunk/XTIDE_Universal_BIOS


Ignore:
Timestamp:
Mar 9, 2012, 7:21:05 PM (13 years ago)
Author:
aitotat@…
google:author:
aitotat@gmail.com
Message:

Changes to XTIDE Universal BIOS:

  • AH=25h (Get Drive Information) no longer call Device_IdentifyToBufferInESSIwithDriveSelectByteInBH (stack usage is now much smaller).
Location:
trunk/XTIDE_Universal_BIOS/Src
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h/AH25h_HDrvID.asm

    r294 r305  
    2424    mov     al, 1           ; Read 1 sector
    2525    call    Prepare_BufferToESSIforOldInt13hTransfer
     26    mov     ah, COMMAND_IDENTIFY_DEVICE
     27    mov     bx, TIMEOUT_AND_STATUS_TO_WAIT(TIMEOUT_DRQ, FLG_STATUS_DRQ)
    2628%ifdef USE_186
    2729    push    Int13h_ReturnFromHandlerAfterStoringErrorCodeFromAH
    28     ; Fall to AH25h_GetDriveInformationToBufferInESSI
     30    jmp     Idepack_TranslateOldInt13hAddressAndIssueCommandFromAH
    2931%else
    30     call    AH25h_GetDriveInformationToBufferInESSI
     32    call    Idepack_TranslateOldInt13hAddressAndIssueCommandFromAH
    3133    jmp     Int13h_ReturnFromHandlerAfterStoringErrorCodeFromAH
    3234%endif
    33 
    34 
    35 ;--------------------------------------------------------------------
    36 ; AH25h_GetDriveInformationToBufferInESSI
    37 ;   Parameters:
    38 ;       DS:DI:  Ptr to DPT (in RAMVARS segment)
    39 ;       ES:SI:  Ptr to buffer to receive 512-byte drive information
    40 ;   Returns with INTPACK:
    41 ;       AH:     Int 13h return status
    42 ;       CF:     0 if successful, 1 if error
    43 ;   Corrupts registers:
    44 ;       AL, BX, CX, DX
    45 ;--------------------------------------------------------------------
    46 ;ALIGN JUMP_ALIGN
    47 AH25h_GetDriveInformationToBufferInESSI:
    48     push    es
    49     push    bp
    50     push    di
    51     push    si
    52 
    53     call    AccessDPT_GetDriveSelectByteToAL
    54     mov     bh, al
    55     eMOVZX  ax, [di+DPT.bIdevarsOffset]
    56     xchg    bp, ax
    57     call    Device_IdentifyToBufferInESSIwithDriveSelectByteInBH
    58 
    59     pop     si
    60     pop     di
    61     pop     bp
    62     pop     es
    63     ret
  • trunk/XTIDE_Universal_BIOS/Src/Main.asm

    r294 r305  
    5454        db  " (XT)=-",NULL
    5555%endif
    56     at  ROMVARS.szVersion,  db  "v2.0.0",BETA," (",__DATE__,")",NULL
     56    at  ROMVARS.szVersion,  db  "v2.0.0",BETA,"1 (",__DATE__,")",NULL
    5757
    5858;;; For OR'ing into wFlags below
Note: See TracChangeset for help on using the changeset viewer.