Ignore:
Timestamp:
Mar 4, 2012, 1:35:10 AM (12 years ago)
Author:
krille_n_@…
google:author:
krille_n_@hotmail.com
Message:

Commit 2/2 (BIOS):

  • Fixed a bug in AH1h_HStatus.asm.
  • Minor optimizations.
  • Fixed spelling and did some cleaning.
File:
1 edited

Legend:

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

    r282 r294  
    1919;   Returns with INTPACK:
    2020;       AH:     Int 13h return status (from drive requested in DL)
    21 ;       CF:     0 if succesfull, 1 if error
     21;       CF:     0 if successful, 1 if error
    2222;--------------------------------------------------------------------
    2323ALIGN JUMP_ALIGN
     
    2828%ifdef MODULE_SERIAL_FLOPPY
    2929;
    30 ; "Reset" emulatd serial floppy drives, if any.  There is nothing to actually do for this reset,
     30; "Reset" emulated serial floppy drives, if any.  There is nothing to actually do for this reset,
    3131; but record the proper error return code if one of these floppy drives is the drive requested.
    3232;
     
    3939
    4040    adc     dl, al                                      ; second drive (CF set) if present
    41                                                         ; If no drive is present, this will result in ffh which 
     41                                                        ; If no drive is present, this will result in ffh which
    4242                                                        ; won't match a drive
    4343    call    BackupErrorCodeFromTheRequestedDriveToBH
     
    4848    test    bl, bl                                      ; If we were called with a floppy disk, then we are done,
    4949    jns     SHORT .SkipHardDiskReset                    ; don't do hard disks.
    50        
     50
    5151    call    ResetForeignHardDisks
    5252
    53     ; Resetting our hard disks will modify dl and bl to be idevars offset based instead of drive number based, 
     53    ; Resetting our hard disks will modify dl and bl to be idevars offset based instead of drive number based,
    5454    ; such that this call must be the last in the list of reset routines called.
    5555    ;
     
    5757    ; and we need to override that value if we are xlate'd into 80h with one of our drives.
    5858    ;
    59     call    ResetHardDisksHandledByOurBIOS         
     59    call    ResetHardDisksHandledByOurBIOS
    6060
    6161.SkipHardDiskReset:
     
    139139;   Parameters:
    140140;       DS:DI:  Ptr to DPT for requested drive
    141 ;               If DPT pointer is not available, or error result in BH won't be used anyway, 
     141;               If DPT pointer is not available, or error result in BH won't be used anyway,
    142142;               enter through .ErrorCodeNotUsed.
    143143;       SS:BP:  Ptr to IDEPACK
     
    148148;--------------------------------------------------------------------
    149149ResetHardDisksHandledByOurBIOS:
    150     mov     bl, 0                                       ; Assume Null IdevarsOffset for now, assuming foreign drive
     150    xor     bl, bl                                      ; Assume Null IdevarsOffset for now, assuming foreign drive
    151151    test    di, di
    152152    jz      .ErrorCodeNotUsed
    153153    mov     bl, [di+DPT.bIdevarsOffset]                 ; replace drive number with Idevars pointer for cmp with dl
    154        
    155 .ErrorCodeNotUsed:                                      ; BH will be garbage on exit if thie entry point is used,
     154
     155.ErrorCodeNotUsed:                                      ; BH will be garbage on exit if this entry point is used,
    156156                                                        ; but reset of all drives will still happen
    157157
Note: See TracChangeset for help on using the changeset viewer.