Ignore:
Timestamp:
Feb 9, 2013, 5:25:53 PM (11 years ago)
Author:
aitotat@…
google:author:
aitotat@gmail.com
Message:

Changes to Configurator v2:

  • XT-CF port can be selected again.
  • Auto Configure should now detect Sound Blaster 16 Tertiary and Quaternary IDE.
  • Auto Configure now properly sets Slave Drive variables.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/XTIDE_Universal_BIOS_Configurator_v2/Src/AutoConfigure.asm

    r497 r502  
    7070    mov     ax, DISABLE_WRITE_CACHE | (TRANSLATEMODE_AUTO<<TRANSLATEMODE_FIELD_POSITION) | FLG_DRVPARAMS_BLOCKMODE
    7171    mov     [di+ROMVARS.ideVars0+IDEVARS.drvParamsMaster+DRVPARAMS.wFlags], ax
     72    mov     [di+ROMVARS.ideVars0+IDEVARS.drvParamsSlave+DRVPARAMS.wFlags], ax
     73
    7274    mov     [di+ROMVARS.ideVars1+IDEVARS.drvParamsMaster+DRVPARAMS.wFlags], ax
     75    mov     [di+ROMVARS.ideVars1+IDEVARS.drvParamsSlave+DRVPARAMS.wFlags], ax
     76
    7377    mov     [di+ROMVARS.ideVars2+IDEVARS.drvParamsMaster+DRVPARAMS.wFlags], ax
     78    mov     [di+ROMVARS.ideVars2+IDEVARS.drvParamsSlave+DRVPARAMS.wFlags], ax
     79
    7480    mov     [di+ROMVARS.ideVars3+IDEVARS.drvParamsMaster+DRVPARAMS.wFlags], ax
     81    mov     [di+ROMVARS.ideVars3+IDEVARS.drvParamsSlave+DRVPARAMS.wFlags], ax
    7582    ret
    7683
     
    95102    jz      SHORT .AllPortsAlreadyDetected
    96103    push    cx
    97     call    IdeAutodetect_DetectIdeDeviceFromPortDX
     104    call    IdeAutodetect_DetectIdeDeviceFromPortDXAndReturnControlBlockInCX
     105    mov     bx, cx
    98106    pop     cx
    99107    jc      SHORT .DetectFromNextPort
     
    101109    ; Device found from port DX, Device Type returned in AL
    102110    inc     cx  ; Increment number of controllers found
    103     call    GetControlBlockPortToBXfromDeviceTypeInALandBasePortInDX
    104111    mov     [si+IDEVARS.wBasePort], dx
    105112    mov     [si+IDEVARS.wControlBlockPort], bx
     
    112119    jmp     SHORT .DetectFromNextPort
    113120.AllPortsAlreadyDetected:
    114     ret
    115 
    116 
    117 ;--------------------------------------------------------------------
    118 ; GetControlBlockPortToBXfromDeviceTypeInALandBasePortInDX
    119 ;   Parameters:
    120 ;       AL:     Device Type
    121 ;       DX:     Base port
    122 ;   Returns:
    123 ;       BX:     Control Block Port
    124 ;   Corrupts registers:
    125 ;       Nothing
    126 ;--------------------------------------------------------------------
    127 ALIGN JUMP_ALIGN
    128 GetControlBlockPortToBXfromDeviceTypeInALandBasePortInDX:
    129     mov     bx, dx
    130     cmp     al, DEVICE_8BIT_XTIDE_REV1
    131     jae     SHORT .NonStandardControlBlockPortLocation
    132 
    133     ; Standard IDE Devices
    134     add     bx, STANDARD_CONTROL_BLOCK_OFFSET
    135     ret
    136 
    137 .NonStandardControlBlockPortLocation:
    138     cmp     al, DEVICE_8BIT_JRIDE_ISA
    139     je      SHORT .JrIdeIsaDoesNotNeedControlBlockAddress
    140 
    141     ; 8-bit Devices
    142     add     bx, BYTE XTIDE_CONTROL_BLOCK_OFFSET ; XT-CF also
    143 .JrIdeIsaDoesNotNeedControlBlockAddress:
    144121    ret
    145122
Note: See TracChangeset for help on using the changeset viewer.