Retrieving the Planar ID

"Planar" is IBM-speak for what other computer manufacturers call a "motherboard". Starting from the microchannel computer systems, which introduced hardware that could be identified and configured with software, IBM (and other licenced manufacturers producing microchannel systems or planars) set a semi-unique (there are several duplicates) 16-bit "Planar ID" so that software can identify the planar it is operating on. Most, but not all, systems that have a Planar ID will have a microchannel bus (there is also the dual bus MCA/PCI Server 320/520 planar, and the dual bus EISA/PCI Server 320/520 planar, both with Planar IDs) so the CheckMCA routine normally should be run before trying to retrieve a Planar ID. The Planar ID value is gained by clearing the Most Significant Bit ("MSB") on port 94h, getting the high byte value from port 101h, then the low byte value from port 100h. Once you have retrieved the Planar ID, set the MSB for port 94h again. These routines do not incorporate any I/O port read delays and may get inconsistent or inaccurate results on some planars.

Assembly Language Routine
BASIC Language Routine
Supported Models (and Planar ID values)

Assembly Language Routine:

;----------------------------------------------
; 	    PlanarID Assembly routine
; This routine retrieves the MCA planar ID.
; The CheckMCA routine should be run first to
; make sure it is a microchannel computer.
; Pseudocode - add dummy I/O port reads
; 
;    Entry:
;	None
;
;    Exit:
;	    AX = Planar ID
;
;----------------------------------------------

PlanarID	proc	near
		cli
		out	94h,7Fh
		mov	DX,101h
		in 	AL,DX
		mov	AH,AL
		dec	DX
		in	AL,DX
		out	94h,0FFh
		sti
PlanarID	endp

BASIC Language Routine:

'----------------------------------------------
' 	    PlanarID BASIC function
' This function retrieves the MCA planar ID.
'----------------------------------------------
FUNCTION PlanarID
	OUT &H94, &H7F
	HighByte = INP(&H101)
	LowByte = INP(&H100)
	PlanarID = (HighByte * 256) + LowByte
	OUT &H94, &HFF
END FUNCTION

Supported Models (and Planar IDs):
Duplicates shown with an asterisk

PS/2 Model 50-021				FBFFh *	
PS/2 Model 50Z					F9FFh *
PS/2 Model N51SX				F1FEh *
PS/2 Model N51SLC				F1FEh *
PS/2 Model 53SLC2				E3FEh *
PS/2 Model 55SX					FBFFh *
PS/2 Model 55LS					F5FFh
PS/2 Model 55LS	486				E3FEh *
PS/2 Model 56SX	(8556)				E6FEh *
PS/2 Model 56SLC (8556)				E6FEh *
PS/2 Model 56SLC2 (9556)			E1FEh *
PS/2 Model 56SLC3 (9556)			E1FEh *
PS/2 Model 57SX (8557)				E2FEh *
PS/2 Model 57SLC (8557)				E2FEh *
PS/2 Model 57SLC2 (9557)			E0FEh *
PS/2 Model 57SLC3 (9557)			E0FEh *
PS/2 Model CL57SX 				F1EFh *
PS/2 Model 60 					F7FFh *
PS/2 Model 65SX 				E3FFh *
PS/2 Model 70 386 (16MHz)			DFFFh
PS/2 Model 70 386 (20MHz)			F3FFh
PS/2 Model 70 386 (25MHz)			F9FFh *
PS/2 Model 70 486 (25MHz)			FCFFh
PS/2 Model 70 486 (33MHz)			E3FFh *
PS/2 Model P70 ("old" planar with two EPROMs)	FFAFh
PS/2 Model P70 ("new" planar with one EPROM)	F4FFh
PS/2 Model P75					E0FFh
PS/2 Model 76 (Bermuda)				DFFEh
PS/2 Model 76i/s (Lacuna 25/33)			EE7Bh
PS/2 Model 76i/s (Lacuna 33)			EE7Ch
PS/2 Model 77 (Bermuda)				DEFEh
PS/2 Model 77i/s (Lacuna 25/33)			EE79h
PS/2 Model 77i/s (Lacuna 33)			EE7Ah
PS/2 Model 80 386 (16MHz)			FEFFh *
PS/2 Model 80 386 (20MHz)			FDFFh *
PS/2 Model 80 386 (25MHz)			FFF9h
PS/2 Model 80 486				E2FEh *
PS/2 Model 85 (X model)				FFDCh
PS/2 Model 85 (K/N models)			FEDFh
PS/2 Model 8590	planar, any complex		FF6Fh *
PS/2 Model 9590	planar, any complex		FF6Fh *
PS/2 Model 8595 planar, any complex		FF9Fh
PS/2 Model 9595	planar, Type 4 complex		E4FEh *
PS/55 (Japanese) Model 5550-S, 5550-T		FFFAh *
PS/55 (Japanese) Model 5554			F1EFh *
PS/55 (Japanese) Model 5571-T			FFFCh
ThinkPad 700					F1EEh
ThinkPad 700C					F1ECh
ThinkPad 720					F1E8h	
ThinkPad 720C					F1E9h
7561 Industrial PC				FFFAh *
7568 Industrial PC ("Gearbox 800")		FFE9h
Server 310 (5 slot microchannel version)	FED2h *
Server 320 (PCI/MCA)				FE80h *
Server 320 (PCI/EISA)				FEBEh *
Server 500 planar, Type 4 complex		E4FEh *
Server 520 (PCI/MCA)				FE80h *
Server 520 (PCI/EISA)				FEBEh *
Server 720					FEE7h
PC 730 (2 slot)					FED0h
PC 730 (6876, 3 slot)				FED1h
PC 750 (6886, 5 slot)				FED2h *

Reply 32                                        FEFFh *
Reply 50  "Turboprocessor"			E0FEh *
Reply 55SX planar upgrade			E3FEh *
Reply 56/57/76/77 Powerboard /w Model 56 riser	0F77h
Reply 56/57/76/77 Powerboard /w Model 57 riser	0F76h
Reply 70 Turboboard			       	E3FFh *
Reply 80 Turboboard			       	E2FEh *
Reply 80 Powerboard				0FD5h

NCR System 3220                                 FBFFh *
NCR System 3350					F9FFh *
NCR System 3421					FDFFh *
NCR System 3433                                 F9FFh *

Apricot Qi	300				F7FFh *

Last modified 22 March 2022

Back to the Interrupts index