- Timestamp:
- Dec 5, 2012, 5:54:46 PM (12 years ago)
- google:author:
- aitotat@gmail.com
- Location:
- trunk/XTIDE_Universal_BIOS
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/XTIDE_Universal_BIOS/Inc/Controllers/XTCF.inc
r482 r487 23 23 %define XTCF_INC 24 24 25 XTCF_DMA_MODE_MAX_BLOCK_SIZE EQU 64 ; Sectors26 25 OFFSET_TO_CONTROL_BLOCK_REGISTERS EQU 8 27 26 DEFAULT_XTCF_SECTOR_WINDOW_SEGMENT EQU 0D800h 27 28 ; XT-CF requires that block must be less than 128 sectors (64 kiB). 29 ; Instead of limiting block size to 64, we limit it to 32 (16 kiB). 30 ; Transferring more than 16 kiB with 8237 DMA controller block or demand 31 ; mode might interfere with DRAM refresh on XT systems. 32 XTCF_DMA_MODE_MAX_BLOCK_SIZE EQU 32 ; Sectors 28 33 29 34 ; Possible base addresses. Note that all XT-CF IDE registers are SHL 1 compared -
trunk/XTIDE_Universal_BIOS/Src/Initialization/AtaID.asm
r445 r487 52 52 call .CompareCHorSfromOffsetBXtoMaxValueInCX 53 53 54 ; We now verified P-CHS parameters so we assume ATA ID to be valid 55 ; for ATA-4 and older. For ATA-5 and later we check signature 56 ; and checksum. 57 mov ax, [es:si+ATA6.wMajorVer] ; ATA-3 and later have this word 58 inc ax 59 jz SHORT .AtaIDverifiedSuccessfully ; FFFFh means no version info available 60 dec ax 61 jz SHORT .AtaIDverifiedSuccessfully ; Zero means no version info available 62 cmp ax, A6_wMajorVer_ATA5 63 jb SHORT .AtaIDverifiedSuccessfully ; ATA-3 and ATA-4 do not have checksum 64 65 ; Check signature byte 66 cmp BYTE [es:si+ATA6.bSignature], A6_wIntegrity_SIGNATURE 54 ; Check signature byte. It is only found on ATA-5 and later. It should be zero on 55 ; ATA-4 and older. 56 mov al, [es:si+ATA6.bSignature] 57 test al, al 58 jz SHORT .AtaIDverifiedSuccessfully ; Old ATA so Signature and Checksum is not available 59 cmp al, A6_wIntegrity_SIGNATURE 67 60 jne SHORT .FailedToVerifyAtaID 68 61 69 ; Check checksum byte 62 ; Check checksum byte since signature was present 70 63 mov cx, ATA6_size 71 64 call Memory_SumCXbytesFromESSItoAL ; Returns with ZF set according to result
Note:
See TracChangeset
for help on using the changeset viewer.