Changeset 33 in xtideuniversalbios for trunk/XTIDE_Universal_BIOS/Src/Handlers


Ignore:
Timestamp:
Aug 23, 2010, 4:27:11 PM (14 years ago)
Author:
aitotat
google:author:
aitotat
Message:

Interrupt controllers are now unmasked during drive reset.

Location:
trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h
Files:
3 edited

Legend:

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

    r28 r33  
    22; Project name  :   IDE BIOS
    33; Created date  :   9.12.2007
    4 ; Last update   :   1.8.2010
     4; Last update   :   23.8.2010
    55; Author        :   Tomi Tilli
    66; Description   :   Int 13h function AH=Dh, Reset Hard Disk (Alternate reset).
     
    5050
    5151    call    FindDPT_ForDriveNumber      ; DS:DI now points to DPT
     52    call    Interrupts_UnmaskInterruptControllerForDriveInDSDI
    5253    call    AHDh_ResetMasterAndSlave
    5354    ;jc     SHORT .ReturnError          ; CF would be set if slave drive present without master
  • trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h/Common/HError.asm

    r28 r33  
    22; Project name  :   IDE BIOS
    33; Created date  :   30.11.2007
    4 ; Last update   :   1.8.2010
     4; Last update   :   23.8.2010
    55; Author        :   Tomi Tilli
    66; Description   :   Error checking functions for BIOS Hard disk functions.
     
    1313;   Parameters:
    1414;       DS:     RAMVARS segment
    15 ;       ES:     BDA segment (zero)
    1615;       CF:     Set if timeout
    1716;               Cleared if task flag was properly set
     
    2524ALIGN JUMP_ALIGN
    2625HError_ProcessErrorsAfterPollingTaskFlag:
    27     jc      SHORT HError_ProcessTimeoutAfterPollingBSYandSomeOtherStatusBit
    28     mov     ax, [es:HDBDA.wHDStAndErr]
    29     call    GetBiosErrorCodeToAHfromStatusAndErrorRegistersInAX
    30     mov     [es:BDA.bHDLastSt], ah
    31     mov     BYTE [es:BDA.bHDTaskFlg], 0
    32     ret
     26    jnc     SHORT HError_ProcessErrorsAfterPollingBSY
     27    ; Fall to HError_ProcessTimeoutAfterPollingBSYandSomeOtherStatusBit
    3328
    3429;--------------------------------------------------------------------
  • trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h/Common/HIRQ.asm

    r28 r33  
    22; Project name  :   IDE BIOS
    33; Created date  :   11.12.2009
    4 ; Last update   :   1.8.2010
     4; Last update   :   23.8.2010
    55; Author        :   Tomi Tilli
    66; Description   :   Interrupt handling related functions.
     
    3636ALIGN JUMP_ALIGN
    3737.TaskFlagPollingComplete:
    38     call    HError_ProcessErrorsAfterPollingTaskFlag
    3938    pop     es
    40     ret
     39    jmp     HError_ProcessErrorsAfterPollingTaskFlag
     40
    4141
    4242;--------------------------------------------------------------------
     
    187187
    188188    ; Reading Status Register acknowledges IDE interrupt
    189     call    RamVars_GetSegmentToDS
    190     call    HError_GetStatusAndErrorRegistersToAXandStoreThemToBDA
     189    ;call   RamVars_GetSegmentToDS
     190    ;call   HError_GetStatusAndErrorRegistersToAXandStoreThemToBDA
     191    LOAD_BDA_SEGMENT_TO ds, ax
    191192    mov     BYTE [BDA.bHDTaskFlg], 0FFh     ; Set task flag
    192193
Note: See TracChangeset for help on using the changeset viewer.