Ignore:
Timestamp:
Jan 25, 2012, 2:36:47 PM (12 years ago)
Author:
aitotat@…
google:author:
aitotat@gmail.com
Message:

Changes to XTIDE Universal BIOS:

  • AH=0Ch (Seek) should work properly again.
  • More than 127 sectors are no longer allowed for EBIOS functions.
  • Changed location for BOOTNFO structs.
File:
1 edited

Legend:

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

    r218 r221  
    2424ALIGN JUMP_ALIGN
    2525AH42h_HandlerForExtendedReadSectors:
    26     call    AH42h_LoadDapToESSIandVerifyForTransfer
    27     call    CommandLookup_GetEbiosIndexToBX
     26    call    Prepare_ByLoadingDapToESSIandVerifyingForTransfer
    2827    mov     ah, [cs:bx+g_rgbReadCommandLookup]
    2928    mov     bx, TIMEOUT_AND_STATUS_TO_WAIT(TIMEOUT_DRQ, FLG_STATUS_DRQ)
     
    3534    jmp     Int13h_ReturnFromHandlerAfterStoringErrorCodeFromAH
    3635%endif
    37 
    38 
    39 ;--------------------------------------------------------------------
    40 ; AH42h_LoadDapToESSIandVerifyForTransfer
    41 ;   Parameters:
    42 ;       SI:     Same as in INTPACK
    43 ;       SS:BP:  Ptr to IDEPACK
    44 ;   Parameters on INTPACK:
    45 ;       DS:SI:  Ptr to Disk Address Packet
    46 ;   Returns:
    47 ;       ES:SI:  Ptr to Disk Address Packet (DAP)
    48 ;       Exits from INT 13h if invalid DAP
    49 ;   Corrupts registers:
    50 ;       Nothing
    51 ;--------------------------------------------------------------------
    52 ALIGN JUMP_ALIGN
    53 AH42h_LoadDapToESSIandVerifyForTransfer:
    54     mov     es, [bp+IDEPACK.intpack+INTPACK.ds] ; ES:SI to point Disk Address Packet
    55     cmp     BYTE [es:si+DAP.bSize], MINIMUM_DAP_SIZE
    56     jb      SHORT AH42h_ReturnWithInvalidFunctionError
    57     cmp     WORD [es:si+DAP.bSectorCount], BYTE 0
    58     je      SHORT AH42h_ReturnWithInvalidFunctionError
    59     ret
    60 AH42h_ReturnWithInvalidFunctionError:
    61     mov     ah, RET_HD_INVALID
    62     jmp     Int13h_ReturnFromHandlerAfterStoringErrorCodeFromAH
Note: See TracChangeset for help on using the changeset viewer.