en:docs:dos:api:int21:1b

Note: This API call is for DOS and Win16 personality only. Use Family API for portability.

2018/09/07 05:04 · prokushev · 0 Comments

Int 21H, AH=1BH

Version

1 and higher

Brief

GET ALLOCATION INFORMATION FOR DEFAULT DRIVE

Family API

none

Input

      AH = 1Bh

Return

AL = sectors per cluster (allocation unit)

      CX = bytes per sector
      DX = total number of clusters
      DS:BX -> media ID byte (see #01356)

Notes

under DOS 1.x, DS:BX points at an actual copy of the FAT; later

        versions return a pointer to a copy of the FAT's ID byte
      this function may not be properly supported on CD-ROMs and other
        installable file systems (use AX=4402h"CD-ROM" for CD-ROMs
        instead)

BUG: DOS 7.10 (Win95B/Win98) reportedly returns incorrect values in AL and

        DX for FAT12/FAT16 drives, even though it manages correct results
        for FAT32 drives (DOS windows are not affected, only real-mode
        DOS)

Values for media ID byte: FFh floppy, double-sided, 8 sectors per track (320K) FEh floppy, single-sided, 8 sectors per track (160K) FDh floppy, double-sided, 9 sectors per track (360K) FCh floppy, single-sided, 9 sectors per track (180K) FAh HP 200LX D: ROM disk, 16 sectors per track (995K)

      HP 200LX E: (Stacker host drive ???)

F9h floppy, double-sided, 15 sectors per track (1.2M)

      floppy, double-sided, 9 sectors per track (720K,3.5")

F8h hard disk F0h other media

      (e.g. floppy, double-sized, 18 sectors per track -- 1.44M,3.5")
        

See also

AH=1Ch,AH=36h

Note

2018/09/04 17:23 · prokushev · 0 Comments