• Please review our updated Terms and Rules here

IBM PC 5150 BIOS Versions

modem7

10k Member
Joined
May 29, 2006
Messages
10,424
Location
Melbourne, Australia
According to:
1. Microsoft article 33706
2. Various editions of Upgrading & Repairing PC's (Scott Mueller)
3. Internet sources
4. ROMs in possession
5. Information provided by members of these forums

-------------------------
04/24/81
-------------------------
ROM SIZE = 40K (U33 BIOS = 8K, U29-U32 BASIC = 8K each)
ROM U33 = 8K chip labeled with IBM part number of 5700051
ID/SUBMODEL/VERSION = FF/--/--
* Used on 16/64K motherboards.
* Only up to 544K RAM is recognisable (BIOS only reads first 4 switches of the SW2 block)

Memory map:
. = unused
b = ROM BASIC
R = ROM BIOS
------: 0---1---2---3---4---5---6---7---8---9---A---B---C---D---E---F---
0F0000: ........................bbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbRRRRRRRR
------: ........................|<-U29->|<-U30->|<-U31->|<-U32->|<-U33->|


-------------------------
10/19/81
-------------------------
ROM SIZE = 40K (U33 BIOS = 8K, U29-U32 BASIC = 8K each)
ROM U33 = 8K chip labeled with IBM part number of 5700671
ID/SUBMODEL/VERSION = FF/--/--
* Fixed a couple of minor display bugs.

Memory map:
. = unused
b = ROM BASIC
R = ROM BIOS
------: 0---1---2---3---4---5---6---7---8---9---A---B---C---D---E---F---
0F0000: ........................bbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbRRRRRRRR
------: ........................|<-U29->|<-U30->|<-U31->|<-U32->|<-U33->|


-------------------------
10/27/82
-------------------------
ROM SIZE = 40K (U33 BIOS = 8K, U29-U32 BASIC = 8K each)
ROM U33 = 8K chip labeled with IBM part number of 1501476
ID/SUBMODEL/VERSION = FF/--/--
* All 64/256K motherboards contained the 10/27/82 BIOS.
* 640K RAM is now recognisable (BIOS now reads first 5 switches of the SW2 block)
* All machines released after Mar'83 have this version of the BIOS.
* In Apr'84, IBM released a 'BIOS Update kit' for the 16/64K motherboards to update the BIOS to this version.
* Adds support for adapters that have a ROM BIOS extension (e.g. hard disk drive adapter)

Memory map:
. = unused
b = ROM BASIC
R = ROM BIOS
------: 0---1---2---3---4---5---6---7---8---9---A---B---C---D---E---F---
0F0000: ........................bbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbRRRRRRRR
------: ........................|<-U29->|<-U30->|<-U31->|<-U32->|<-U33->|

 
Last edited:
Using Debug commands, I have extracted three IBM PC 5150 BIOS versions. They can be retrieved here:
http://www.vintagecomputer.net/ibm/5150/BIOS_dumps/

The numbers associated with these files correspond to their IBM 5150 serial numbers. The silkscreen markings on the ROM chips are listed below (slashes separate each line).

0192562.BIN
S/N 0192562 (16/64K "A" Model)
U28 EMPTY
U29 5700019 / IBM 1981 / XE / 8220E NM
U30 5700027 / IBM 1981 / XE 8223B NM
U31 MK36905N-4 / 5700035 / 2A / IBM 1981 / D MALAYSIA / 8225
U32 5700043 / IBM 1981 / XE 8220E NM
U33 5700671 / IBM 1981 / XE8223B N M


0239462.BIN
S/N 0239462 (16/64K "A" Model)
U28 EMPTY
U29 5700019 / IBM 1981 / XE / 8231B NM
U30 5700027 / IBM 1981 / XE 8231A NM
U31 MK36905N-4 / 5700035 / IBM 1981 / MALAYSIA / 8231
U32 MK367284-4 / 5700043/ IBM 1981 / MALAYSIA / 8230
U33 AMI 8609 MAH / S68B364 / 1501476 / IBM CORP / 1981, 1983 / PHILIPPINES


1004872.BIN
S/N 10048725150 (64/256K "B" Model)
U28 EMPTY
U29 5000019 / AM92640PC / 34148 8347ZAP
U30 AM9264DPC34149 / 5000021 / 8413FPM / IBM 1981, 1983
U31 AM9264DPL34150 / 5000022 / 8411DPM / IBM 1981, 1983
U32 AM9264DPC34180 / 5000023 / 8406YPM / IBM 1981, 1982
U33 1501476 / AM9264DPC / 34146 8340ZPP
 
Seems for me that the "A" Models used Casette Basic 1.00, while "B" models, XTs and ATs used Casette Basic 1.10.

Using Debug commands, I have extracted three IBM PC 5150 BIOS versions. They can be retrieved here:
http://www.vintagecomputer.net/ibm/5150/BIOS_dumps/

The numbers associated with these files correspond to their IBM 5150 serial numbers. The silkscreen markings on the ROM chips are listed below (slashes separate each line).
(...)
 
Seems for me that the "A" Models used Casette Basic 1.00, while "B" models, XTs and ATs used Casette Basic 1.10.
-----
Well, my PC has BASIC C1.10.

Chip markings FWIW:
(That late U32 kinda stands out)

U29: XE6359109 8446R NM (Motorola)
U30: XE6359111 8446A NM (Motorola)
U31: XE5000022 8444B NM (Motorola)
U32: 6359113 8604MAY (AMI S68B364)
U33: 1501476 8444DMM (AMI 9264DPC34184)

All copyright 1981, 1983 IBM Corp.

m
 
The difference between Rev.1 and Rev.2 (5150 BIOS)

The difference between Rev.1 and Rev.2 (5150 BIOS)

Hi, everybody.

I compared the each BIOS files by FC.EXE command.

The difference between Rev.1 and Rev.2 is the following attached.

I got BIOS file of Rev.1 from the internet and compared this with Rev.2

from MESS.

5700051 -- Rev.1 (8KB)

(SHA1 : f046058faa016ad13aed5a082a45b21dea43d346)
(CRC32 : 12d33fb8)

5700671 -- Rev.2 (8KB)

(SHA1 : bdb06f846c4768f39eeff7e16b6dbff8cd2117d2)
(CRC32 : b7d4ec46)
 

Attachments

  • test.txt
    1,008 bytes · Views: 5
som,ewhat off topic XT bios

som,ewhat off topic XT bios

the aim or every red-blooded american boy or man was to put a genuine IBM bios in his pc or xt..
at "eni" they used ibm pc's as a dedicated controller for medical testing.
pc's came back to be repaired anmd one, an xt in this case, came in with an e-propm, not a masked prom. The techs, aware of this, attempted to copy the chip. Unsucessfully, I think the difference was IBM used 2332 and the clones used a 2732 chip.
it had a different pinout.
there was a set of basic chips that could be installed in any pc/xt that had more rom sockets.
( clones up to the 8 mhz models)
But it was easier to use a program to " suck out"
the basic ( using a pc/xt ) and create a disk based exe file that was true ibm basic.

clone bios' would work in a AT,. I believe.
i HAVE SOME HERE AND WILL TRY IT.
 
I got another 5150 A rev 2 today
s/n -159618 (16/64K "A" Model)

Here are the silkscreen markings on the ROM chips for the 0159618
U28 EMPTY
U29 (M) 5700019 / (c) IBM 1981 / XE 8212 M N M
U30 (M) 5700027 / (C) IBM 1981 / XE8206A N M
U31 5700035 / (C) IBM 1981 / XE / 8208A NM
U32 (M) 5700043 / (C) IBM 1981 / XE 8211ENM
U33 (M) 5700671 / (C) IBM 1981 / XE8201C N M

This one has the ROMs from 10/81
http://www.vintagecomputer.net/ibm/5150/BIOS_dumps/
0159618.bin

It's hard to find the 16-64 boards that still have the original ROM chips in them. I have two 16-64 boards with upgraded chips. Makes sense to have done it then, but bummer from a history perspective.

Bill
 
And here's one that I got yesterday:
(Same as Billdeg's except for numbers in red font).

S/N - 0150246 (16-64KB 'A' model)

Here are the silkscreen markings on the ROM chips for the 0150246
U28 EMPTY
U29 (M) 5700019 / (c) IBM 1981 / XE 8212 M N M
U30 (M) 5700027 / (C) IBM 1981 / XE8206A N M
U31 5700035 / (C) IBM 1981 / XE /8207A NM
U32 (M) 5700043 / (C) IBM 1981 / XE 8209A NM
U33 (M) 5700671 / (C) IBM 1981 / XE8201C N M
 
Last edited:
Sorry to bring back the dead... but can you guys give me more information about the BIOS chip itself?

The image is 8k in size, but how many pins does the chip have?

If it's a 28 pin then a standard 2764 will work... but if it's a 24 pin there are a couple of different chips it could be. A common pinout for that would be what the Motorola 68764/68766 has.

Thanks!

RJ


EDIT: Never mind! It is the same pinout as the 68764/68766 and the picture here shows it's a 400ns part in the socket. :D
 
Last edited:
the aim or every red-blooded american boy or man was to put a genuine IBM bios in his pc or xt..]

I was one of those red bloods. With a 4.77 xt and a NeedHams eprom burner I spent months using a program to suck out ever XT and AT bios I could find an built up a data base for lets say resale to customers wanting an upgrade. I would split and rematch across multiple eprom chips. Even rewrote some of the code for various projects. Some place I have a box full of 360k floppys just of snatched bios's.

Maybe I'll go looking for it.
 
hate to further bring back a dead post, but can one of those bioses be used to get an AT with 720kb support to support a 1440kb drive?
In case you are unaware, 'partial' 1.44M support can be gained by the proper use of DRIVER.SYS (launched via CONFIG.SYS). The use of DRIVER.SYS won't allow the IBM AT to boot from a 1.44M diskette.

If you need the capability to boot from a 1.44M diskette, yes, you'll need an updated BIOS. The 11/15/85 BIOS for the IBM AT supports 1.44M drives. That BIOS is at at http://members.dodo.com.au/~slappanel555/bios.htm Also there is a suitable AMI and suitable Award BIOS for the IBM AT.

If you use the 11/15/85 BIOS, you may need to use something like GSETUP (at http://members.dodo.com.au/~slappanel555/software/GSETUP.ZIP) to then set 1.44M in the CMOS setup/configuration.
 
Question: The 10/27/1982 BIOS from IBM for the 5150 would be the logical choice for True Blue enthusiasts, but what after-market or clone BIOS for the 5 slot PC motherboard adds the most functionality? ( I have an EPROM burner and I know how to use it!) Would appreciate all inputs and points of view. Thank You, Michael.
 
I interested, I made an ASM file of the 11/08/82 BIOS for the 5160. I already enhanced it for my self by speeding up the RAM test so one hasn't to wait 'ages' :) You're free to have the sources of these and other BIOSes to create one according your own taste. You only need the old Borland TASM V3.2 to create the BINs.

Groetjes, Ruud Baltissen
www.Baltissen.org
 
There's a lot of details about the three BIOS revisions here and in the wiki, but not much information about motherboard revisions. The wiki article only says that there were two hardware versions (16/64K "A" and 64/256K "B"), but it looks like there were several versions of each type. I have two 64/256KB 5150s and they have completely different motherboards.

The first is from November 1983 and has "1501480 XM" written on the motherboard. There is a space between the parity bit and Bit 0 for all four RAM banks.
The second is from October 1984 and clearly states "P/N 6137399". The is no space between the nine RAM chips in each bank.

1501480 XM and 6137399 seem like very different part numbers. Is there a list anywhere of part numbers for 16/64KB and 64/256KB 5150 motherboards?
 
Like myself, others have discovered that the 10/27/82 BIOS for the 5150 has a requirement for a minimum of four banks of motherboard RAM.
That requirement is contrary to IBM's documentation.
I've started reseaching why the requirement exists, and documenting the results at http://www.minuszerodegrees.net
 
The 10/27/82 revision of the 5150 BIOS has a bug related to XT-class hard disk controllers (if controller added).

If the ROM on that controller is corrupt (different from 'dead'), then instead of the error code of "C800 ROM" being displayed, there will be heard 1 long beep then 2 short beeps (which suggests an MDA/CGA video related problem).

Details at http://www.minuszerodegrees.net/5150/misc/5150_post_and_initialisation.htm
 
Hi.

I found Revision 3 (10/27/82) version exists as 3 kinds.

1) BIOS with IBM BASIC C1.00 (BIOS - 1501476 COPR. IBM 1981 / Checksum : 00, value of FFFFh is 78h)
2) BIOS with IBM BASIC C1.10 (BIOS - 1501476 COPR. IBM 1981 / Checksum : 00, value of FFFFh is 78h)
3) BIOS with IBM BASIC C1.10 (BIOS - 1501476 COPR. IBM 1982 / Checksum : 00, value of FFFFh is 77h)

Of course they're dumped correctly.
I have all of them.
 
Last edited:
I found Revision 3 (10/27/82) version exists as 3 kinds.

1) BIOS with IBM BASIC C1.00 (BIOS - 1501476 COPR. IBM 1981 / Checksum : 00, value of FFFFh is 78h)
2) BIOS with IBM BASIC C1.10 (BIOS - 1501476 COPR. IBM 1981 / Checksum : 00, value of FFFFh is 78h)
3) BIOS with IBM BASIC C1.10 (BIOS - 1501476 COPR. IBM 1982 / Checksum : 00, value of FFFFh is 77h)
This is the third revision BIOS for the 5150. It is dated "10/27/82" in code, and has "1501476" printed on the top of the chip.

What fs5500 is bringing our attention to, is that there are two versions of the third revision BIOS for the 5150.

The difference is in the year that appears in the copyright string at the start of the ROM:
1. "1501476 COPR. IBM 1981"; or
2. "1501476 COPR. IBM 1982"

As expected, the checksum byte (last byte) in the ROM is different also.

To verify what fs5500 wrote, I inspected the eight 1501476 chips that I have access to.
Of those:
* Three are "1501476 COPR. IBM 1981" ones, and have "1982" printed on their top;
* Five are "1501476 COPR. IBM 1982" ones, and have "1981, 1983" printed on their top.
 
Back
Top