Changeset 550 in xtideuniversalbios for trunk/XTIDE_Universal_BIOS/Src/VariablesAndDPTs
- Timestamp:
- Apr 27, 2013, 5:30:50 PM (12 years ago)
- google:author:
- aitotat@gmail.com
- Location:
- trunk/XTIDE_Universal_BIOS/Src/VariablesAndDPTs
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/XTIDE_Universal_BIOS/Src/VariablesAndDPTs/CompatibleDPT.asm
r543 r550 63 63 ; Nothing 64 64 ;-------------------------------------------------------------------- 65 %ifdef MODULE_EBIOS 65 66 GetTemporaryBufferForDPTEtoESDI: 66 67 call GetBufferForDrive80hToESDI 67 68 add di, BYTE TRANSLATED_DPT_size * 2 68 69 ret 70 %endif 69 71 70 72 GetBufferForDrive80hToESDI: … … 73 75 mov di, [cs:ROMVARS.bStealSize] ; No harm to read WORD 74 76 eSHL_IM di, 10 ; DI = RAMVARS size in bytes 77 %ifdef MODULE_EBIOS 75 78 sub di, BYTE (TRANSLATED_DPT_size * 2) + DPTE_size 79 %else 80 sub di, BYTE TRANSLATED_DPT_size * 2 81 %endif 76 82 ret 77 83 … … 174 180 175 181 182 %ifdef MODULE_EBIOS 176 183 ;-------------------------------------------------------------------- 177 184 ; CompatibleDPT_CreateDeviceParameterTableExtensionToESBXfromDPTinDSSI … … 248 255 lea bx, [di-DPTE_size] 249 256 ret 257 %endif ; MODULE_EBIOS 250 258 251 259 -
trunk/XTIDE_Universal_BIOS/Src/VariablesAndDPTs/CreateDPT.asm
r549 r550 128 128 or [di+DPT.bFlagsLow], cl ; Shift count and addressing mode 129 129 mov [di+DPT.wPchsHeadsAndSectors], bx 130 131 %ifdef MODULE_EBIOS 130 %ifdef MODULE_COMPATIBLE_TABLES OR MODULE_EBIOS 132 131 ; Store P-Cylinders here for Compatible DPTs when FLGL_DPT_LBA is not set 133 132 ; or when drive has over 15,482,880 sectors 134 133 mov [di+DPT.wPchsCylinders], ax 134 %endif 135 136 %ifdef MODULE_EBIOS 135 137 test cl, FLGL_DPT_LBA 136 138 jz SHORT .NoLbaSoNoEBIOS … … 188 190 .NoLbaSoNoEBIOS: 189 191 %endif ; MODULE_EBIOS 190 ; Fall to .StoreBlockMode191 192 ;--------------------------------------------------------------------193 ; .StoreBlockMode194 ; Parameters:195 ; DS:DI: Ptr to Disk Parameter Table196 ; ES:SI: Ptr to 512-byte ATA information read from the drive197 ; CS:BP: Ptr to IDEVARS for the controller198 ; Returns:199 ; Nothing200 ; Corrupts registers:201 ; Nothing202 ;--------------------------------------------------------------------203 .StoreBlockMode:204 cmp BYTE [es:si+ATA1.bBlckSize], 1 ; Max block size in sectors205 jbe SHORT .BlockModeTransfersNotSupported206 or BYTE [di+DPT.bFlagsHigh], FLGH_DPT_BLOCK_MODE_SUPPORTED207 .BlockModeTransfersNotSupported:208 192 ; Fall to .StoreDeviceSpecificParameters 209 193
Note:
See TracChangeset
for help on using the changeset viewer.