Ignore:
Timestamp:
Oct 10, 2012, 6:22:23 PM (12 years ago)
Author:
aitotat@…
google:author:
aitotat@gmail.com
Message:

Changes to XTIDE Universal BIOS:

  • Large changes to prepare full XT-CF support (DMA not yet implemented and memory mapped transfers are not working).
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/XTIDE_Universal_BIOS/Src/VariablesAndDPTs/CreateDPT.asm

    r445 r473  
    2828;   Parameters:
    2929;       BH:     Drive Select byte for Drive and Head Register
     30;       DX:     Autodetected port (for devices that support autodetection)
    3031;       ES:SI:  Ptr to 512-byte ATA information read from the drive
    3132;       CS:BP:  Ptr to IDEVARS for the controller
     
    4748;   Parameters:
    4849;       BH:     Drive Select byte for Drive and Head Register
     50;       DX:     Autodetected port (for devices that support autodetection)
    4951;       DS:DI:  Ptr to Disk Parameter Table
    5052;       CS:BP:  Ptr to IDEVARS for the controller
     
    5557;--------------------------------------------------------------------
    5658.InitializeDPT:
    57     mov     [di+DPT.bIdevarsOffset], bp     ; IDEVARS must start in first 256 bytes of ROM
     59    call    CreateDPT_StoreIdevarsOffsetAndBasePortFromCSBPtoDPTinDSDI
    5860    ; Fall to .StoreDriveSelectAndDriveControlByte
    5961
     
    230232
    231233;--------------------------------------------------------------------
     234; CreateDPT_StoreIdevarsOffsetAndBasePortFromCSBPtoDPTinDSDI
     235;   Parameters:
     236;       DX:     Autodetected port (for devices that support autodetection)
     237;       DS:DI:  Ptr to Disk Parameter Table
     238;       CS:BP:  Ptr to IDEVARS for the controller
     239;   Returns:
     240;       Nothing
     241;   Corrupts registers:
     242;       AX
     243;--------------------------------------------------------------------
     244CreateDPT_StoreIdevarsOffsetAndBasePortFromCSBPtoDPTinDSDI:
     245    mov     [di+DPT.bIdevarsOffset], bp     ; IDEVARS must start in first 256 bytes of ROM
     246
     247%ifdef MODULE_8BIT_IDE
     248    call    DetectDrives_DoesIdevarsInCSBPbelongToXTCF
     249    jne     SHORT .DeviceUsesPortSpecifiedInIDEVARS
     250    mov     [di+DPT.wBasePort], dx
     251    ret
     252.DeviceUsesPortSpecifiedInIDEVARS:
     253%endif ; MODULE_8BIT_IDE
     254
     255    mov     ax, [cs:bp+IDEVARS.wBasePort]
     256    mov     [di+DPT.wBasePort], ax
     257    ret
     258
     259
     260;--------------------------------------------------------------------
    232261; GetUserDefinedCapacityToBXAXandFlagsToCXandModeToDXfromROMVARS
    233262;   Parameters:
Note: See TracChangeset for help on using the changeset viewer.