Ignore:
Timestamp:
Mar 19, 2011, 8:09:41 PM (13 years ago)
Author:
aitotat
google:author:
aitotat
Message:

Changes to XTIDE Universal BIOS:

  • INT 13h optimizations to save almost 100 bytes.
File:
1 edited

Legend:

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

    r116 r148  
    88; HIRQ_WaitForIRQ
    99;   Parameters:
    10 ;       DS:     RAMVARS segment
     10;       DS:BX:  Ptr to DPT
    1111;   Returns:
    1212;       CF:     Set if wait done by operating system
     
    3636
    3737    LOAD_BDA_SEGMENT_TO ds, ax, !       ; Zero AX
     38    mov     ah, OS_HOOK_DEVICE_BUSY     ; Hard disk busy (AX=9000h)
    3839    cli                                 ; Disable interrupts
    3940    cmp     al, [BDA.bHDTaskFlg]        ; Task flag already set?
    4041    jc      SHORT .ReturnFromWaitNotify ;  If so, skip OS notification
    41 
    42     mov     ah, 90h                     ; Hard disk busy (AX=9000h)
    43     int     INTV_SYSTEM_SERVICES        ; OS hook, device busy
     42    int     BIOS_SYSTEM_INTERRUPT_15h   ; OS hook, device busy
    4443    jnc     SHORT .ReturnFromWaitNotify ; CF cleared, BIOS handles waiting
    4544
     
    106105
    107106    ; Issue Int 15h, function AX=9100h (Interrupt ready)
    108     mov     ax, 9100h                   ; Interrupt ready, device 0 (HD)
    109     int     INTV_SYSTEM_SERVICES
     107    mov     ax, OS_HOOK_DEVICE_POST<<8  ; Interrupt ready, device 0 (HD)
     108    int     BIOS_SYSTEM_INTERRUPT_15h
    110109
    111110    pop     ax                          ; Restore AX
Note: See TracChangeset for help on using the changeset viewer.