Changeset 363 in xtideuniversalbios for trunk/XTIDE_Universal_BIOS/Inc/ATA_ID.inc


Ignore:
Timestamp:
Mar 26, 2012, 4:20:43 PM (12 years ago)
Author:
aitotat@…
google:author:
aitotat@gmail.com
Message:

Changes to XTIDE Universal BIOS:

  • Added Advanced ATA Module (MODULE_ADVANCED_ATA) with native support for QDI Vision QD6500 and QD6580 VLB IDE Controllers.
  • Hopefully optimized IDE transfer functions for 8088 (replaced some memory accesses from WORD to BYTE).
  • XT build does not fit in 8k at the moment!!!
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/XTIDE_Universal_BIOS/Inc/ATA_ID.inc

    r324 r363  
    33%ifndef ATA_ID_INC
    44%define ATA_ID_INC
     5
     6; PIO Minimum Cycle Times (t0)
     7; Timings for Advanced modes 3 and 4 can be read from ATA info WORDs 67 and 68
     8PIO_0_MIN_CYCLE_TIME_NS     EQU     600
     9PIO_1_MIN_CYCLE_TIME_NS     EQU     383
     10PIO_2_MIN_CYCLE_TIME_NS     EQU     240
     11PIO_3_MIN_CYCLE_TIME_NS     EQU     180
     12PIO_4_MIN_CYCLE_TIME_NS     EQU     120
     13
     14; PIO Minimum Address Valid Times (t1)
     15PIO_0_MIN_ADDRESS_VALID_NS  EQU     70
     16PIO_1_MIN_ADDRESS_VALID_NS  EQU     50
     17PIO_2_MIN_ADDRESS_VALID_NS  EQU     30
     18PIO_3_MIN_ADDRESS_VALID_NS  EQU     30
     19PIO_4_MIN_ADDRESS_VALID_NS  EQU     25
     20
     21; PIO Minimum Active Times (t2)
     22PIO_0_MIN_ACTIVE_TIME_NS    EQU     165
     23PIO_1_MIN_ACTIVE_TIME_NS    EQU     125
     24PIO_2_MIN_ACTIVE_TIME_NS    EQU     100
     25PIO_3_MIN_ACTIVE_TIME_NS    EQU     80
     26PIO_4_MIN_ACTIVE_TIME_NS    EQU     70
     27
     28; PIO Minimum Recovery Times or Inactive Times (t2i) can be calculated
     29; from Minimum Cycle Time (t0) - Minimum Active Time (t2) - Address Valid Time (t1).
     30; I'm not sure about this calculation so correct me if I'm wrong!
     31; Recovery time should be calculated at run time since Cycle Time t0 can be
     32; read from ATA information (ATA2+) but most drives just report the
     33; Min Cycle Times listed above.
     34
     35
    536
    637; ATA-1 Drive Information struct
     
    3263                resw 1  ; 50R
    3364                resb 1  ; 51[0-7]X
    34     .bPIOTiming resb 1  ; 51[8-15]F, PIO data transfer cycle timing mode
     65    .bPioMode   resb 1  ; 51[8-15]F, PIO data transfer cycle timing mode (0, 1 or 2)
    3566                resb 1  ; 52[0-7]X
    3667    .bDMATiming resb 1  ; 52[8-15]F, DMA data transfer cycle timing mode
     
    163194A2_bBlockFlgs_VALID     EQU (1<<0)  ; Multiple sector setting (bBlockSel) is valid
    164195
     196; ATA-2 Word 64, Advanced PIO transfer modes supported
     197A2_bPIOSupp_PIO3        EQU (1<<0)
     198A2_bPIOSupp_PIO4        EQU (1<<1)
     199
    165200
    166201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Note: See TracChangeset for help on using the changeset viewer.