Changeset 316 in xtideuniversalbios for trunk/XTIDE_Universal_BIOS/Src


Ignore:
Timestamp:
Mar 11, 2012, 3:56:34 AM (12 years ago)
Author:
gregli@…
google:author:
gregli@hotmail.com
Message:

Fixed a bug with ah0h/reset of a serial drive that was found during COM detect.

File:
1 edited

Legend:

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

    r294 r316  
    158158    mov     dl, ROMVARS.ideVars0                        ; starting Idevars offset
    159159
    160     call    RamVars_GetIdeControllerCountToCX           ; get count of ide controllers
    161     jcxz    .done                                       ; just in case bIdeCnt is zero (shouldn't be)
     160    ; Get count of ALL Idevars structures, not just the ones that are configured.  This may seem odd,
     161    ; but it catches the .ideVarsSerialAuto structure, which would not be scanned if the count from
     162    ; RamVars_GetIdeControllerCountToCX was used.  Unused controllers won't make a difference, since no DPT
     163    ; will point to them.  Performance isn't an issue, as this is a reset operation.
     164    ;
     165    mov     cx, (ROMVARS.ideVarsEnd - ROMVARS.ideVarsBegin) / IDEVARS_size
     166
    162167.loop:
    163168    call    FindDPT_ForIdevarsOffsetInDL                ; look for the first drive on this controller, if any
Note: See TracChangeset for help on using the changeset viewer.