AT BIOS Hard Disk Types

 The following drive types are pre-defined in the AT and PS/2 ROM-BIOS.
 During POST, the value in CMOS Memory address 12H (and/or 19H-1aH) is read
 and the vectors for INT 41H and INT 46H are set to a ROM table containing
 the information for the types of drive(s) installed.

    Note: This table is probably NOT reliable for your computer.  See
          Notes, below.

                   Write   Land                       Write   Land
     Type Cyls Hds PreComp Zone Size    Type Cyls Hds PreComp Zone Size
                   
      0   (no fixed disk installed)     17   977   5  300      977  42M
      1   306   4  128     305   10M    18   977   7  0ffffH   977  59M
      2   615   4  300     615   21M    19  1024   7  512     1023  62M
      3   615   6  300     615   32M    20   733   5  300      732  31M
      4   940   8  512     940   65M    21   733   7  300      732  44M
      5   940   6  512     940   49M    22   733   5  300      733  31M
      6   615   4  0ffffH  615   21M    23   306   4  0        336  10M
      7   462   8  256     511   32M    24   612   4  305      663  22M
      8   733   5  0ffffH  733   31M    25   306   4  0ffffH   340  10M
      9   900  15  0ffffH  901  117M    26   612   4  0ffffH   670  21M
     10   820   3  0ffffH  820   21M    27   698   7  300      732  43M
     11   855   5  0ffffH  855   37M    28   967   5  488      977  42M
     12   855   7  0ffffH  855   52M    29   306   4  0        340  11M
     13   306   8  128     319   21M    30   611   4  306      663  21M
     14   733   7  0ffffH  733   44M    31   732   7  300      732  46M
     15   reserved (see notes)          32  1023   5  ffffH   1023  46M
     16   612   4  0       663   21M    (33-255 reserved, see notes)

   Notes:  The drive-type table in ROM is a major point of departure for
            the various BIOS makers.  The above table identifies values
            used in IBM's BIOS.  Some BIOSes identify over 100 drive types.
            Alas, there is no documented ROM address where you can hope to
            find the table.

           Type 1 is the original XT hard disk
           Type 2 is the standard 20M AT hard disk
           Type 15 is reserved. That value in CMOS address 12H tells the
            system to look in CMOS address 19H for drive C: and 1aH for
            drive D:
           Types 16-23 were added to ROM-BIOS of 11/15/85
           Types 24-32 were added to PS/2 BIOS

           Write PreComp selects the lowest cylinder at which the
            controller is to use different timing for writing.  ffffH
            means none; 0 means all.

 Newer BIOSes provide a means to define a custom setting.  The setting will
 be stored in an undocumented location in CMOS memory (and is lost if the
 battery ever fails -- so write it down!)

 On older BIOSes it is difficult (but possible) to use drives that are not
 in the table.  You must install a table with the correct parameters and
 force BIOS and DOS to notice the changes.  Some hard-disk peprearation
 tools handle this by creating a custom Master Boot Record that
 installs the table at boot time.

See Also: Hard Disk Parameter Table
          POST
          INT 15H (extended AT services)
          BIOS Data Area
                                    -*-