Changeset 535 in xtideuniversalbios for trunk/XTIDE_Universal_BIOS/Src/Device
- Timestamp:
- Apr 8, 2013, 5:09:44 PM (12 years ago)
- google:author:
- aitotat@gmail.com
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/XTIDE_Universal_BIOS/Src/Device/IDE/IdeIrq.asm
r526 r535 26 26 ; DS:DI: Ptr to DPT (in RAMVARS segment) 27 27 ; Returns: 28 ; CF: Set if wait done by operating system 29 ; Cleared if BIOS must perform task flag polling 28 ; Nothing 30 29 ; Corrupts registers: 31 30 ; AX … … 33 32 ALIGN JUMP_ALIGN 34 33 IdeIrq_WaitForIRQ: 35 36 ;--------------------------------------------------------------------37 ; .NotifyOperatingSystemAboutWaitingForIRQ38 ; Parameters:39 ; Nothing40 ; Returns:41 ; CF: Set if wait done by operating system42 ; Cleared if BIOS must perform task flag polling43 ; Corrupts registers:44 ; AX45 ;--------------------------------------------------------------------46 .NotifyOperatingSystemAboutWaitingForIRQ:47 34 push ds 48 35 … … 53 40 jc SHORT .ReturnFromWaitNotify ; If so, skip OS notification 54 41 int BIOS_SYSTEM_INTERRUPT_15h ; OS hook, device busy 55 jnc SHORT .ReturnFromWaitNotify ; CF cleared, BIOS handles waiting56 42 57 ; Make sure that OS hooks are supported, otherwise the CF means unsupported function58 test ah, ah ; OS hook supported? (clears CF)59 jnz SHORT .ReturnFromWaitNotify ; AH has error, BIOS must do the wait60 stc ; Set CF since wait done by OS61 43 .ReturnFromWaitNotify: 62 44 sti ; Enable interrupts … … 99 81 100 82 ; Issue Int 15h, function AX=9100h (Interrupt ready) 83 clc ; Must be called with CF clear 101 84 mov ax, OS_HOOK_DEVICE_POST<<8 ; Interrupt ready, device 0 (HD) 102 85 int BIOS_SYSTEM_INTERRUPT_15h
Note:
See TracChangeset
for help on using the changeset viewer.