Changeset 28 in xtideuniversalbios for trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h.asm


Ignore:
Timestamp:
Aug 1, 2010, 5:57:24 PM (14 years ago)
Author:
aitotat
google:author:
aitotat
Message:
  • v1.1.1 broke booting from foreign drives, it is now fixed.
  • Improved error handling a bit.
  • Longer DRQ and IRQ timeouts to minimize write timouts with some (bad) CF cards.
  • Default boot menu drive should now be properly selected.
File:
1 edited

Legend:

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

    r27 r28  
    22; Project name  :   IDE BIOS
    33; Created date  :   21.9.2007
    4 ; Last update   :   12.4.2010
     4; Last update   :   1.8.2010
    55; Author        :   Tomi Tilli
    66; Description   :   Int 13h BIOS functions (Floppy and Hard disk).
     
    5757    call    RamVars_IsFunctionHandledByThisBIOS
    5858    jnc     SHORT Int13h_DirectCallToAnotherBios
     59    ;DEBUG_PRINT_DRIVE_AND_FUNCTION
    5960
    6061    ; Jump to correct BIOS function
     
    147148;
    148149; Int13h_ReturnWithoutSwappingDrives
     150; Int13h_StoreErrorCodeToBDAandPopDSDIandReturn
     151; Int13h_StoreErrorCodeToBDAandPopXRegsAndReturn
    149152; Int13h_PopXRegsAndReturn
    150153; Int13h_PopDiDsAndReturn
     
    160163Int13h_ReturnWithoutSwappingDrives:
    161164    pushf
    162     dec     BYTE [RAMVARS.xlateVars+XLATEVARS.bRecurCnt]
    163     jmp     SHORT Int13h_StoreErrorCodeAndLeave
     165    dec     BYTE [RAMVARS.xlateVars+XLATEVARS.bRecurCnt]    ; Preserves CF
     166    call    HError_StoreBiosErrorCodeFromAHtoBDA
     167    jmp     SHORT Int13h_Leave
     168
     169ALIGN JUMP_ALIGN
     170Int13h_StoreErrorCodeToBDAandPopDSDIandReturn:
     171    call    HError_StoreBiosErrorCodeFromAHtoBDA
     172    jmp     SHORT Int13h_PopDiDsAndReturn
     173
     174ALIGN JUMP_ALIGN
     175Int13h_StoreErrorCodeToBDAandPopXRegsAndReturn:
     176    call    HError_StoreBiosErrorCodeFromAHtoBDA
    164177ALIGN JUMP_ALIGN
    165178Int13h_PopXRegsAndReturn:
     
    173186    pushf
    174187    call    DriveXlate_WhenLeavingInt13h
    175 Int13h_StoreErrorCodeAndLeave:
    176     LOAD_BDA_SEGMENT_TO ds, di
    177     mov     [BDA.bHDLastSt], ah         ; Store error code
    178188Int13h_Leave:
    179189    popf
Note: See TracChangeset for help on using the changeset viewer.