Changeset 26 in xtideuniversalbios for trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h/Common


Ignore:
Timestamp:
Jul 26, 2010, 6:30:33 PM (14 years ago)
Author:
Tomi Tilli
google:author:
aitotat
Message:

Fixed a bug where Disk Parameter Table was accessed with wrong pointer register after writing last block
Cleaned AH=00h, Disk Controller Reset a bit

Location:
trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h/Common
Files:
2 edited

Legend:

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

    r3 r26  
    232232HPIO_WriteToDrive:
    233233    cld                                     ; OUTS to increment SI
    234     call    HStatus_WaitDrqDefTime          ; Always poll DRQ for first block
     234    call    HStatus_WaitDrqDefTime          ; Always poll DRQ for first block, get data port to DX
    235235    jc      SHORT .RetError                 ; Return if error (code in AH)
    236236    sub     dx, BYTE REGR_IDE_ST            ; DX to Data Port address
     
    251251    jmp     HStatus_WaitIrqOrRdy            ; Check for errors
    252252
    253    
     253
    254254;--------------------------------------------------------------------
    255255; Bus specific transfer functions and lookup table.
  • trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h/Common/HStatus.asm

    r10 r26  
    22; Project name  :   IDE BIOS
    33; Created date  :   15.12.2009
    4 ; Last update   :   25.5.2010
     4; Last update   :   26.6.2010
    55; Author        :   Tomi Tilli
    66; Description   :   IDE Status Register polling functions.
     
    2525ALIGN JUMP_ALIGN
    2626HStatus_WaitIrqOrRdy:
    27     test    BYTE [di+DPT.bDrvCtrl], FLG_IDE_CTRL_nIEN
     27    test    BYTE [bx+DPT.bDrvCtrl], FLG_IDE_CTRL_nIEN
    2828    jnz     SHORT .PollRdySinceIrqsAreDisabled
    2929    jmp     HIRQ_WaitIRQ
Note: See TracChangeset for help on using the changeset viewer.