Changeset 363 in xtideuniversalbios for trunk/XTIDE_Universal_BIOS/Inc/CustomDPT.inc
- Timestamp:
- Mar 26, 2012, 4:20:43 PM (12 years ago)
- google:author:
- aitotat@gmail.com
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/XTIDE_Universal_BIOS/Inc/CustomDPT.inc
r358 r363 25 25 endstruc 26 26 27 ; DPT for ATA devices28 struc DPT_ATA ; 10 + 2 bytes = 12 bytes29 .dpt resb DPT_size30 31 ; Block size is specified in sectors (1, 2, 4, 8, 16, 32, 64 or 128)32 .wSetAndMaxBlock:33 .bSetBlock resb 1 ; Current block size (at least 1)34 .bMaxBlock resb 1 ; Maximum block size, 0 = block mode not supported35 endstruc36 37 %ifdef MODULE_SERIAL38 ; DPT for Serial devices39 struc DPT_SERIAL40 .dpt resb DPT_size41 42 .wSerialPortAndBaud:43 .bSerialPort resb 1 ; Serial connection I/O port address, divided by 444 .bSerialBaud resb 1 ; Serial connection baud rate divisor45 endstruc46 %endif47 48 LARGEST_DPT_SIZE EQU DPT_ATA_size49 50 51 27 ; Bit definitions for DPT.bFlagsLow 52 28 MASKL_DPT_CHS_SHIFT_COUNT EQU (7<<0) ; Bits 0...3, P-CHS to L-CHS bit shift count (0...4) … … 62 38 %endif 63 39 FLGH_DPT_INTERRUPT_IN_SERVICE EQU (1<<3) ; Set when waiting for IRQ 64 FLGH_DPT_RESET_nDRDY EQU (1<<4) ; Drive ready to accept commands65 FLGH_DPT_RESET_nINITPRMS EQU (1<<5) ; Initialize Device Parameters successful66 FLGH_DPT_RESET_nRECALIBRATE EQU (1<<6) ; Recalibrate successful67 FLGH_DPT_RESET_nSETBLOCK EQU (1<<7) ; Initialize Block Mode successful68 MASKH_DPT_RESET EQU 0F0h69 40 41 ; IDE device only 42 FLGH_DPT_INITERROR EQU (1<<7) 43 44 ; Serial device only 70 45 FLGH_DPT_SERIAL_FLOPPY EQU (1<<4) 71 46 FLGH_DPT_SERIAL_FLOPPY_TYPE_MASK EQU 0e0h … … 78 53 ADDRESSING_MODE_LBA28 EQU 2 ; 28-bit LBA Addressing Mode 79 54 ADDRESSING_MODE_LBA48 EQU 3 ; 48-bit LBA Addressing Mode 55 56 57 ; DPT for ATA devices 58 struc DPT_ATA ; 10 + 2 bytes = 12 bytes 59 .dpt resb DPT_size 60 61 ; Block size is specified in sectors (1, 2, 4, 8, 16, 32, 64 or 128) 62 .wSetAndMaxBlock: 63 .bSetBlock resb 1 ; Current block size (do not set to zero!) 64 .bMaxBlock resb 1 ; Maximum block size, 0 = block mode not supported 65 66 %ifdef MODULE_ADVANCED_ATA ; +2 extra bytes = 14 bytes 67 .bPioMode resb 1 68 .bDevice resb 1 69 %endif 70 endstruc 71 72 73 %ifdef MODULE_ADVANCED_ATA 74 ; Temporary extension for DPT_ATA. Contents will be copied to BOOTMENUINFO and 75 ; then these variables will be overridden by next DPT. 76 struc DPT_ADVANCED_ATA 77 .dpt_ata resb DPT_ATA_size 78 .wIdeBasePort resb 2 ; IDE Base Port 79 .wMinPioActiveTimeNs resb 2 ; Minimum PIO Active Time in ns 80 .wMinPioRecoveryTimeNs resb 2 ; Minimum PIO Recovery Time in ns 81 .wControllerID resb 2 ; Controller specific ID WORD 82 .wControllerBasePort resb 2 ; Advanced Controller port (not IDE port) 83 endstruc 84 %endif 85 86 87 %ifdef MODULE_SERIAL 88 ; DPT for Serial devices 89 struc DPT_SERIAL 90 .dpt resb DPT_size 91 92 .wSerialPortAndBaud: 93 .bSerialPort resb 1 ; Serial connection I/O port address, divided by 4 94 .bSerialBaud resb 1 ; Serial connection baud rate divisor 95 endstruc 96 %endif 97 98 99 ; This is the common size for all DPTs. All DPTs must be equal size. 100 LARGEST_DPT_SIZE EQU DPT_ATA_size 101 80 102 81 103 ; Number of Sectors per Track is fixed to 63 for LBA assist calculation.
Note: See TracChangeset
for help on using the changeset viewer.