Changeset 541 in xtideuniversalbios for trunk/XTIDE_Universal_BIOS/Inc


Ignore:
Timestamp:
Apr 14, 2013, 5:04:32 PM (12 years ago)
Author:
aitotat@…
google:author:
aitotat@gmail.com
Message:

Changes to XTIDE Universal BIOS:

  • Brought back compatible DPTs.
Location:
trunk/XTIDE_Universal_BIOS/Inc
Files:
1 added
3 edited

Legend:

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

    r536 r541  
    5757
    5858
    59 ; Device Parameter Table Extension
    60 struc DPTE
    61     .wBasePort              resb    2   ; 0, Command Block Base Port Address
    62     .wControlBlockPort      resb    2   ; 2, Control Block Base Port Address
    63     .bDrvnhead              resb    1   ; 4, Drive and Head Select Register upper nibble
    64     .bBiosVendor            resb    1   ; 5, BIOS Vendor Specific
    65     .bIRQ                   resb    1   ; 6, IRQ for this device
    66     .bBlockSize             resb    1   ; 7, Current block size in sectors
    67     .bDmaChannelAndType     resb    1   ; 8, DMA information
    68     .bPioMode               resb    1   ; 9, PIO mode
    69     .wFlags                 resb    2   ; 10, BIOS selected hardware specific option flags
    70     .wReserved              resb    2   ; 12, Reserved. Must be zero.
    71     .bRevision              resb    1   ; 14, Revision level of this table (11h)
    72     .bChecksum              resb    1   ; 15, Checksum, 2's complement of the sum of bytes 0-14
    73 endstruc
    74 
    75 ; Flags for DPTE.wFlags
    76 FLG_FAST_PIO_ENABLED        EQU (1<<0)  ; Set if using PIO mode 1 or above (DPTE.bPioMode is valid when set)
    77 FLG_DMA_ENABLED             EQU (1<<1)  ; Set if DMA enabled (DPTE.bDmaChannelAndType is valid when set)
    78 FLG_BLOCK_MODE_ENABLED      EQU (1<<2)  ; Set if Block Mode transfers are enabled (DPTE.bBlockSize is valid when set)
    79 FLG_CHS_TRANSLATION_ENABLED EQU (1<<3)  ; Set for drives with more than 1024 cylinders
    80 FLG_LBA_TRANSLATION_ENABLED EQU (1<<4)  ; Set when LBA addresses from DAP are passed directly to the drive
    81 FLG_REMOVABLE_MEDIA         EQU (1<<5)
    82 FLG_ATAPI_DEVICE            EQU (1<<6)
    83 FLG_32BIT_XFER_MODE         EQU (1<<7)  ; Set when using 32-bit data transfers
    84 FLG_ATAPI_USES_IRQ          EQU (1<<8)  ; ATAPI Device uses IRQ for data transfers
    85 ; L-CHS translation type for old INT 13h (when FLG_CHS_TRANSLATION_ENABLED is set)
    86 MASK_CHS_TRANSLATION_TYPE   EQU (3<<TRANSLATION_TYPE_FIELD_POSITION)
    87     TRANSLATION_TYPE_FIELD_POSITION EQU 9
    88     BIT_SHIFT_TRANSLATION           EQU 0   ; LARGE
    89     LBA_ASSISTED_TRANSLATION        EQU 1   ; Assisted LBA
    90                                         ; 2 = reserved
    91     VENDOR_SPECIFIC_TRANSLATION     EQU 3
    92 
    93 
    94 DPTE_REVISION               EQU     11h
    95 
    96 
    9759; Disk Address Packet for read, write and verify functions
    9860struc DAP
  • trunk/XTIDE_Universal_BIOS/Inc/IdeRegisters.inc

    r526 r541  
    7676; Bit 0 must be zero, unlisted bits are reserved.
    7777;FLG_DEVCONTROL_HOB     EQU     (1<<7)  ; High Order Byte (ATA6+)
    78 ;FLG_DEVCONTROL_O8H     EQU     (1<<3)  ; Drive has more than 8 heads (pre-ATA only, 1 on ATA1, reserved on ATA2+)
     78FLG_DEVCONTROL_O8H      EQU     (1<<3)  ; Drive has more than 8 heads (pre-ATA only, 1 on ATA1, reserved on ATA2+)
    7979FLG_DEVCONTROL_SRST     EQU     (1<<2)  ; Software Reset
    8080FLG_DEVCONTROL_nIEN     EQU     (1<<1)  ; Negated Interrupt Enable (IRQ disabled when set)
  • trunk/XTIDE_Universal_BIOS/Inc/ModuleDependency.inc

    r536 r541  
    5252%ifdef MODULE_EBIOS
    5353    %include "EBIOS.inc"            ; Equates for EBIOS functions
     54    %ifdef CREATE_COMPATIBLE_DPT
     55        %include "CompatibleDPT.inc"
     56    %endif
    5457%endif
    5558
Note: See TracChangeset for help on using the changeset viewer.