INT 13h, Function 1Ch, Subfunction 0Bh
"Get ESDI/DBA-ESDI Microcode Version"

Registers at call:

AX = 1C0Bh
DL = 80h
ES:BX -> 12-byte buffer block

Return:

CF set on error
CF clear if successful
AH = Status

If successful:
ES:[BX+00]: E9h
ES:[BX+01]: 06 (number of words returned in block)
ES:[BX+02]: 00 00 (unused on all controller versions)
ES:[BX+04]: xx xx xx xx (controller microcode version, LSB to MSB)
ES:[BX+08]: 00 (unused on all controller versions)
ES:[BX+09]: 36h on DBA-ESDI controllers with 80C196KB MCU, unused on others
ES:[BX+0A]: 00 00 (unused on all controller versions)


Model 60/80 ESDI controller Series - Adapter ID DDFFh
Buffer has hexadecimal ‘E9 06 00 00 [3x 30 30 30] 00 00 00 00’ returned:

‘x’ will be a value of ‘2’ to ‘7’ - the microcode version is ASCII-encoded in the buffer 
for ease in displaying the results only with this microcode sequence. The microchannel 
ESDI Adapter/A has an 80C31 MCU on the PCB. Microcode field as returned LSB to MSB:

‘32 30 30 30’ = Revision '0002', ROM FRU 90X7399 (90X6853), 03 Feb 1987
‘33 30 30 30’ = Revision '0003', Likely ROM FRU 90X8635 (Unknown), Unknown
‘34 30 30 30’ = Revision '0004', ROM FRU 15F6587 (15F6588), 07 Oct 1987
‘35 30 30 30’ = Revision '0005', ROM FRU 15F6807 (15F6809), 13 Jan 1988
‘36 30 30 30’ = Revision '0006', Likely ROM FRU 91F7430 (Unknown), Unknown
‘37 30 30 30’ = Revision '0007', ROM FRU 04G3759 (04G3761), 05 Apr 1991

Here is more information on the ESDI Adapter/A and its microcode levels - including ROM 
images and warnings. This adapter was only offered on the PS/2 Model 60 and Model 80, 
with ESDI drives of 70Mb (IBM ‘0667’) and 115Mb (IBM ‘0669’) for the Model 60, and an 
additional 314Mb (IBM ‘0671’) drive on the Model 80.


DBA-ESDI PCB with 80C31 MCU Series - Adapter ID DF9Fh
Buffer has hexadecimal ‘E9 06 00 00 [xx 00 02 32] 00 00 00 00’ returned:

‘xx’ will be a value of ‘19’, ‘20’, ‘22’, ‘24’, or ‘50’ hexadecimal - the returned microcode 
values are not ASCII-encoded. The DBA-ESDI drives of this sequence have an 80C31 MCU on the 
controller PCB. The microcode field is as returned LSB to MSB. ‘MCL’ is a microcode value 
printed on the white top label on the drive enclosure. The drive model and any microcode 
versioning label on the PCB are listed here. The controller PCB has a silkscreened year, 
also shown here. The microcode ROM is typically soldered on the PCB and has an encoding label 
on top. The WDL-330R 30Mb drive has a PCB identified as “PASCAL4”:

‘19 00 02 32’ = MLC 'C13035', WD-387, 'C13044', '1988'
‘19 00 02 32’ = MLC 'C13044', WD-387T, 'C13044', '1988'
‘xx 00 02 32’ = MLC ‘C13086”, WDL-330R, ‘C13086G-G”, ‘1989’ (‘2.32’)
‘20 00 02 32’ = MLC 'C13101', WDL-330R, 'C13130-A', '1989'
‘22 00 02 32’ = MLC '341669', WDL-330R, 'C27353-A', '1989'
‘22 00 02 32’ = MLC '341669', WDL-330R, 'C27386-C', '1989'
‘24 00 02 32’ = MLC 'C81194', WDL-330R, 'C81194-A', '1989'
‘50 00 02 32’ = MLC 'C27850', WD-387, 'C64391-D', '1989'
‘50 00 02 32’ = MLC 'C27850', WD-3158, 'C64391-D', '1989'

These are the DBA-ESDI drives WDL-330R (30Mb), WD-387[T] (60Mb), and WD-3158 (120Mb) in this 
sequence that are dated as 1987 to 1989 - Notice the drive capacity doubling on every iteration.


DBA-ESDI PCB with 80C196KB MCU Series - Adapter ID DF9Fh
Buffer has hexadecimal ‘E9 06 00 00 [0x 06 01 30] 00 36 00 00’ returned:

‘x’ will be a value of ‘0’ or ‘2’, and possibly ‘1’ or a value of ‘3’ or higher - the returned 
microcode values are not ASCII-encoded. The DBA-ESDI drives of this sequence have an 80C196KB 
MCU on the controller PCB. The microcode field is as returned LSB to MSB. ‘MCL’ is a microcode 
value printed on the white top label on the drive enclosure. The drive model and any microcode 
versioning label on the PCB are listed here. The controller PCB has a silkscreened year, also 
shown here. The microcode ROM is typically socketed on the PCB and has an FRU label on top. 
The PCB for the WDL-40S is different than the higher-capacity drives, and the ROM appears to be
79F3586 for it and FRU 79F6265 for the higher-capacity drives, no matter the microcode version:

‘00-06-01-30’ = MLC 'C81004', WD-3160S, 'C81004', '1990' (‘79F6265-2.BIN’)
‘0x-06-01-30’ = MLC 'C81552', WD-3160S, 'C81552-B', '1990' (‘79F6265.BIN’)
‘0x-06-01-30’ = MLC 'C72711’, WDL-40S, ‘C72711A’, ‘1990’
‘02-06-01-30’ = MLC 'C81555', WD-380S, 'C72778'/'285010E', '1989' (‘79F6265-3.BIN’)

These are the DBA-ESDI drives WDL-40S (40Mb), WD-380S (80Mb), and WD-3160S (160Mb) in this 
sequence, which are dated as 1989 to 1990 - Notice the drive capacity doubling on every iteration.

Last updated 3 June 2023

Back to the Interrupt 13h index