- Timestamp:
- May 15, 2021, 8:27:11 PM (4 years ago)
- Location:
- trunk/XTIDE_Universal_BIOS
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h/AH8h_HParams.asm
r567 r606 61 61 62 62 mov [bp+IDEPACK.intpack+INTPACK.bl], bl 63 64 63 mov [bp+IDEPACK.intpack+INTPACK.es], es 65 64 mov [bp+IDEPACK.intpack+INTPACK.di], di … … 150 149 ;-------------------------------------------------------------------- 151 150 AH8h_LimitAXtoMaximumLCylinders: 152 %ifdef RESERVE_DIAGNOSTIC_CYLINDER153 dec ax154 %endif155 151 MIN_U ax, MAX_LCHS_CYLINDERS 156 152 ret -
trunk/XTIDE_Universal_BIOS/Src/VariablesAndDPTs/AtaGeometry.asm
r592 r606 74 74 ; BH: Number of L-CHS sectors per track (1...63) 75 75 ; CX: Number of bits shifted (0...3) 76 ; D L: CHS Translate Mode77 ; Corrupts registers: 78 ; DH76 ; DX: CHS Translate Mode 77 ; Corrupts registers: 78 ; Nothing 79 79 ;-------------------------------------------------------------------- 80 80 AtaGeometry_GetLCHStoAXBLBHfromAtaInfoInESSIwithTranslateModeInDX: … … 100 100 cmp ax, 8192 101 101 jbe SHORT ConvertPCHfromAXBLtoEnhancedCHinAXBL 102 %else 103 ; Check if the drive is within the limits of NORMAL addressing. 104 ; If it is, then no CHS translation is necessary. 105 cmp ax, MAX_LCHS_CYLINDERS 106 jbe SHORT ConvertPCHfromAXBLtoEnhancedCHinAXBL 102 107 %endif 103 108 … … 161 166 ; BH: Number of sectors per track (always 63) 162 167 ; CX: Number of bits shifted (0) 163 ; D L: TRANSLATEMODE_ASSISTED_LBA164 ; Corrupts registers: 165 ; DH168 ; DX: TRANSLATEMODE_ASSISTED_LBA 169 ; Corrupts registers: 170 ; Nothing 166 171 ;-------------------------------------------------------------------- 167 172 ConvertChsSectorCountFromDXAXtoLbaAssistedLCHSinAXBLBH: … … 213 218 xchg bh, cl ; Sectors per Track to BH, zero to CL (CX) 214 219 mov dl, TRANSLATEMODE_ASSISTED_LBA 220 ; All combinations of value CH from 1 to 262128 divided by number of heads 221 ; (16/32/64/128/255) has been verified to return with DH cleared. 215 222 ReturnLCHSinAXBLBH: 216 223 ret -
trunk/XTIDE_Universal_BIOS/Src/VariablesAndDPTs/CreateDPT.asm
r605 r606 108 108 ; Store P-CHS and flags 109 109 call AtaGeometry_GetPCHStoAXBLBHfromAtaInfoInESSI 110 dec d l; Set ZF if TRANSLATEMODE_LARGE, SF if TRANSLATEMODE_NORMAL110 dec dx ; Set ZF if TRANSLATEMODE_LARGE, SF if TRANSLATEMODE_NORMAL 111 111 jle SHORT .JumpOverSetBitForAssistedLBA 112 112 -
trunk/XTIDE_Universal_BIOS/makefile
r605 r606 36 36 # ELIMINATE_CGA_SNOW Prevents CGA snowing at the cost of a few bytes # 37 37 # RELOCATE_INT13H_STACK ** Relocates INT 13h stack to beginning of stolen conventional memory # 38 # RESERVE_DIAGNOSTIC_CYLINDER Reserve one L-CHS cylinder for compatibility with old BIOSes #39 38 # NO_ATAID_VALIDATION *** Excludes code that tries to ensure proper communication with drives # 40 39 # USE_186 Use instructions supported by 80188/80186 and V20/V30 and later # … … 107 106 # Assembler preprocessor defines. # 108 107 ################################################################# 109 DEFINES_COMMON = MODULE_STRINGS_COMPRESSED MODULE_HOTKEYS MODULE_8BIT_IDE MODULE_EBIOS MODULE_SERIAL MODULE_SERIAL_FLOPPY MODULE_POWER_MANAGEMENT RESERVE_DIAGNOSTIC_CYLINDERNO_ATAID_VALIDATION CLD_NEEDED108 DEFINES_COMMON = MODULE_STRINGS_COMPRESSED MODULE_HOTKEYS MODULE_8BIT_IDE MODULE_EBIOS MODULE_SERIAL MODULE_SERIAL_FLOPPY MODULE_POWER_MANAGEMENT NO_ATAID_VALIDATION CLD_NEEDED 110 109 DEFINES_COMMON_LARGE = MODULE_BOOT_MENU MODULE_8BIT_IDE_ADVANCED MODULE_COMPATIBLE_TABLES 111 110
Note:
See TracChangeset
for help on using the changeset viewer.