en:docs:dos:api:int21:53
no way to compare when less than two revisions

Differences

This shows you the differences between two versions of the page.


en:docs:dos:api:int21:53 [2021/05/02 05:42] (current) – created prokushev
Line 1: Line 1:
 +{{page>en:templates:dosint}}
 +
 +====== Int 21H, AH=53H ======
 +
 +===== Version =====
 +
 +2 and higher
 +
 +===== Brief =====
 +
 +TRANSLATE BIOS PARAMETER BLOCK TO DRIVE PARAM BLOCK
 +
 +===== Family API =====
 +
 +
 +===== Input =====
 +
 + AH = 53h
 + DS:SI -> BIOS Parameter Block (see #01663)
 + ES:BP -> buffer for Drive Parameter Block (see #01395 at AH=32h)
 +     DBP drive byte must be set to valid drive (Windows95-OSR2)
 + ---Windows95---
 + CX = signature 4558h ('EX') for FAT32 extended BPB/DPB (see #01664)
 + DX = signature 4152h ('AR') for FAT32 extended BPB/DPB
 +
 +===== Return =====
 +
 +   ES:BP buffer filled
 +
 +===== Notes =====
 +
 + for DOS 3.0+, the cluster at which to start searching is set to 0000h
 +   and the number of free clusters is set to FFFFh (unknown)
 + if the number of sectors per cluster is set to zero, MS-DOS will hang
 +   at startup because it computes the internally-used shift count by
 +   shifting this value right until the carry flag is set; since this
 +   will never happen when the field is zero, MS-DOS hangs
 + not supported by Windows NT 3.1
 +          
 +===== See also =====
 +
 + 
 +
 +===== Note =====
 +
 +Text based on [[http://www.cs.cmu.edu/~ralf/files.html|Ralf Brown Interrupt List Release 61]]
 +
 +{{page>en:templates:int}}
 +
 +{{page>en:templates:fapi}}
 +