Changeset 614 in xtideuniversalbios for trunk/XTIDE_Universal_BIOS/Src/Initialization/AtaID.asm
- Timestamp:
- Jun 10, 2021, 4:56:34 PM (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/XTIDE_Universal_BIOS/Src/Initialization/AtaID.asm
r613 r614 35 35 ; ES:SI: Ata information with possible corrections made 36 36 ; AH: INT 13h Error Code from reading ATA information 37 ; CF cleared if drive now accepted37 ; CF Cleared if drive now accepted 38 38 ; Corrupts registers: 39 39 ; AL, BX, CX, DX, DI … … 49 49 50 50 ; Only correct cylinders since there are no reports that head or sectors could be wrong 51 MIN_U WORD [es:si+ATA1.wCylCnt], MAX_ VALID_PCHS_CYLINDERS ; Limit to max allowed value52 51 MIN_U WORD [es:si+ATA1.wCylCnt], MAX_PCHS_CYLINDERS ; Limit to max allowed value 52 53 53 ; Note! There are ATA ID words 54-58 that also need to be modified! However, 54 54 ; the drive itself should modify them when we do Initialize Device Parameters command at AH=9h. 55 55 ; Verification from real drive needed before we fix them manually 56 56 57 57 clc ; Return success 58 58 .Return: … … 82 82 ; Verify P-CHS cylinders 83 83 mov bx, ATA1.wCylCnt 84 mov ax, MAX_ VALID_PCHS_CYLINDERS84 mov ax, MAX_PCHS_CYLINDERS 85 85 call .CompareCHorSfromOffsetBXtoMaxValueInAX 86 86 87 87 mov bl, ATA1.wHeadCnt & 0FFh 88 mov ax, MAX_ VALID_PCHS_HEADS88 mov ax, MAX_PCHS_HEADS 89 89 call .CompareCHorSfromOffsetBXtoMaxValueInAX 90 90 91 91 mov bl, ATA1.wSPT & 0FFh 92 mov al, MAX_ VALID_PCHS_SECTORS_PER_TRACK92 mov al, MAX_PCHS_SECTORS_PER_TRACK 93 93 call .CompareCHorSfromOffsetBXtoMaxValueInAX 94 94
Note:
See TracChangeset
for help on using the changeset viewer.