[comp.os.msdos.programmer] System identification byte

jhall@wpi.WPI.EDU (John Clinton Hall) (11/20/90)

I forgot who it was, but someone here was looking for information regarding
the system ID byte.

From the Dos Programmer's Reference, Second Edition:

A model-identification byte (located at F000:FFFEh) can be used to
differentiate between models.  The PS/2 family continues to support this
model identification byte.  For non-IBM machines, however, this byte cannot
be relied on; no standard set of values has ever been established.

Interrupt 15h/C0h returns a pointer to system descriptor information:

Calling Registers:       AH        C0h

Return Registers:   PC, PCjr:
                         Carry flag set
                         AH        80h

                    PC XT BIOS (11/08/82), Personal Computer AT BIOS
                    (01/10/84):
                         Carry flag set
                         AH        86h

                    All Others:
                         ES:BX     Pointer to system descriptor table in
                                   ROM

Comments:  The ROM system descriptor table contains useful information
about the system.  The following table shows the meaning of the entries:

Offset    Meaning
------    -------
00h       Byte count of data that follows (minimum 8)
02h       Model byte
03h       Submodel byte
04h       BIOS revision level (00 = first release)
05h       Feature information
06-09h    Reserved

The model byte contained at offset 02h of the system descriptor table
should be the same as the system ID byte (stored at F000:FFFEh).  The
submodel byte (offset 03h) can be used for additional system
identification.  From the information shown in the following table, you can
determine what type of IBM computer is being used.

Computer
Type           Model     Submodel  BIOS Revision
--------       -----     --------  -------------
PC             FFh
PC XT          FEh
PC XT          FBh       00h       01h
PC XT          FBh       00h       02h
PCjr           FDh
AT             FCh
AT             FCh       00h       01h
AT, COMPAQ 286 FCh       02h       00h
PC XT 286      FCh       02h       00h
PC Convertible F9h       00h       00h
PS/2 Model 30  FAh       00h       00h
PS/2 Model 50  FCh       04h       00h
PS/2 Model 60  FCh       05h       00h
PS/2 Model 80  F8h       00h       00h

The feature information byte is interpreted as shown in the following
table:

  Bit
76543210       Meaning
--------       -------
.......x       Reserved
......0.       PC bus I/O channel
......1.       Micro channel architecture
.....1..       Extended BIOS data area (EBDA) allocated
....1...       Wait for external event is support
...1....       Keyboard intercept is called by INT 09h
..1.....       Real-time clock present
.1......       Second interrupt chip present
1.......       DMA channel 3 used by hard disk BIOS
-- 
----------------------------------------------------------------------------
The highest sounds are hardest to hear.      ## ## ## ##### ##
Going forward is a way to retreat.           ## ## ## ## ## ##  jhall
Great talent shows itself late in life.      ## ## ## ##### ##  @wpi.wpi.edu