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/AH9h_HInit.asm

    r3 r28  
    22; Project name  :   IDE BIOS
    33; Created date  :   9.12.2007
    4 ; Last update   :   26.4.2010
     4; Last update   :   1.8.2010
    55; Author        :   Tomi Tilli
    66; Description   :   Int 13h function AH=9h, Initialize Drive Parameters.
     
    7878.InitializeBlockMode:
    7979    call    AH9h_InitializeBlockMode
    80     ;mov    dl, [di+DPT.bDrvNum]        ; Restore DL
     80    ;mov        dl, [di+DPT.bDrvNum]        ; Restore DL
    8181    jc      SHORT .ReturnNotSuccessfull
    8282    and     BYTE [di+DPT.bReset], ~FLG_RESET_nSETBLOCK
     83
     84    ; Force PIO mode 0
     85    ;call   AH9h_ForcePioMode0
    8386
    8487.ReturnNotSuccessfull:
     
    149152.Return:
    150153    ret
     154
     155
     156;--------------------------------------------------------------------
     157; AH9h_ForcePioMode0
     158;   Parameters:
     159;       DL:     Drive number
     160;       DS:DI:  Ptr to DPT
     161;   Returns:
     162;       AH:     BIOS Error code
     163;       CF:     Cleared if succesfull
     164;               Set if any error
     165;   Corrupts registers:
     166;       AX, BX
     167;--------------------------------------------------------------------
     168;ALIGN JUMP_ALIGN
     169;AH9h_ForcePioMode0:
     170;   mov     bh, 08h     ; Parameter to Sector Count Register (PIO Flow Control Transfer Mode 0)
     171;   mov     ax, 2303h   ; Feature: Set transfer mode based on value in Sector Count register
     172;   int     13h
     173;   jc      SHORT .FailedToForcePIO0
     174;   ; Debug output here
     175;   ret
     176;.FailedToForcePIO0:
     177;   ; Debug output here
     178;   ret
Note: See TracChangeset for help on using the changeset viewer.