• Please review our updated Terms and Rules here

IBM 5150 08/16/82 BIOS - Has anyone ever seen this?

compaqportableplus

Veteran Member
Joined
Apr 21, 2011
Messages
1,044
Location
USA
The early Rev A 5150 I recently got has a very strange BIOS dated 08/16/82.

IMG_9445.jpeg
IMG_9442.jpeg

The chip is copyrighted 1982 and the part number is 5000024, which I have been unable to locate ANY info for online.

The first-known 5160 BIOS is dated 08/16/82, but there doesn’t seem to be any info out there of a 5150 BIOS with that date.

I’m quite confused and extremely intrigued by this.


@modem7 have you ever seen this?
 
Can you dump it ?, It'll be interesting to compare with the 5150 Bios on MinusZeroDegrees, IBM have been known to change the date and part number / checksum of a Bios leaving the rest of the code identical to a more commonly available one.
 
Can you dump it ?, It'll be interesting to compare with the 5150 Bios on MinusZeroDegrees, IBM have been known to change the date and part number / checksum of a Bios leaving the rest of the code identical to a more commonly available one.
I’d like to, but I don’t have an EEPROM programmer at the moment unfortunately.

Is there some way to dump it to a file on a floppy or something? If so I can definitely do that.
 
I followed the instructions on that page exactly, so I hope this is correct. Let me know if it looks right. I haven't done this before so please keep that in mind! Here is what *should* be the BIOS dump, I hope.
 

Attachments

  • FINAL.BIN.zip
    31.9 KB · Views: 12
I followed the instructions on that page exactly, so I hope this is correct. Let me know if it looks right. I haven't done this before so please keep that in mind! Here is what *should* be the BIOS dump, I hope.
The BIOS is in the last 8 KB of that.

@modem7 have you ever seen this?
Very interesting.

If it had been an EPROM, I would have dismissed it. But it is a masked ROM with IBM numbering.

The contents are very close to the 10/27/82 dated BIOS (dated two months later than yours) for the IBM 5150.
Could this be a case of a BIOS that was planned for public release, but significant bugs were detected that warranted a fixed version (released as 10/27/82) ?
When I get the time, I will disassemble the changed portions and see what exactly got changed.
 
The BIOS is in the last 8 KB of that.


Very interesting.

If it had been an EPROM, I would have dismissed it. But it is a masked ROM with IBM numbering.

The contents are very close to the 10/27/82 dated BIOS (dated two months later than yours) for the IBM 5150.
Could this be a case of a BIOS that was planned for public release, but significant bugs were detected that warranted a fixed version (released as 10/27/82) ?
When I get the time, I will disassemble the changed portions and see what exactly got changed.
Ok, so I’m assuming all of the BIOS data is present in that dump and there’s nothing else I need to do? I do really want that ROM data preserved in case the chip were to fail.

Yes, I also wouldn’t think much of it if it were an EPROM, but it’s an official IBM masked ROM, so it has to be authentic.

I too was thinking it may be some pre-release version of what would become the 10/27/82 BIOS, but who knows.

Please do report back with your findings!

And thank you very much for your input! I’ve learned so much from you and your website!
 
Last edited:
Ok, so I’m assuming all of the BIOS data is present in that dump and there’s nothing else I need to do?
Correct.

I too was thinking it may be some pre-release version of what would become the 10/27/82 BIOS, but who knows.
Background: Read the last bullet point on the web page at [here], a page about the 08/16/82 release for the IBM 5160.

Speculation: It could be that your 08/16/82 release for the 5150 is in the same boat: Was there was going to be a '08/16/82' public release for the 5150 and 5160, but serious-enough bugs/problems found in both meant that both 08/16/82 releases had to be 'scrubbed', to be substituted with later releases.

Like what we observed for the 08/16/82 release for the IBM 5160, maybe down the track, more examples of the same dated release for the 5150 will turn up. Kind of like how I expect additional isolated groups of coelacanth to eventually be discovered.

Please do report back with your findings!
Will do.

(On my to-do-list.)
 
Please do report back with your findings!
I did a reasonable comparison, not thorough.
Some things that I spotted:

Item #1. POST: Code for the 5161 expansion unit is there (although, in a different location).
Item #2. POST: Supports BIOS expansion ROM's.
Item #3. POST: Reads switch 5 of SW2 (i.e. supports 640 KB).
Item #4. POST: Has the same RAM sizing and testing bugs as the later BIOS.

So, based on my reasonable comparison (not thorough), this BIOS appears to be very close to the 10/27/82 one, functionally the same.

Anyhow, I will now add the 06/16/82 dated 5150 BIOS to minuszerodegrees.net, and update my DOS based tools that report BIOS information.
 
I did a reasonable comparison, not thorough.
Some things that I spotted:

Item #1. POST: Code for the 5161 expansion unit is there (although, in a different location).
Item #2. POST: Supports BIOS expansion ROM's.
Item #3. POST: Reads switch 5 of SW2 (i.e. supports 640 KB).
Item #4. POST: Has the same RAM sizing and testing bugs as the later BIOS.

So, based on my reasonable comparison (not thorough), this BIOS appears to be very close to the 10/27/82 one, functionally the same.

Anyhow, I will now add the 06/16/82 dated 5150 BIOS to minuszerodegrees.net, and update my DOS based tools that report BIOS information.
Very cool. Thank you for the info and taking the time to look into this! I'm really glad this previously-unknown BIOS version is now found and preserved.

I did notice the expansion ROM support, as I tried a hard disk controller with it yesterday without a drive connected and got a "1701," indicating that it was indeed working!
 
Thanks very much!


This BIOS may be the 3rd BIOS version. After doing some testing, I found the following.

1) Partial support for expansion cards with BIOS
---> For example, devices such as HDC (Hard Disk Controller) are supported, EGA / VGA cards are not supported.
This symptom is the same as the previous BIOS.

2) RAM recognizes up to 640KB as mentioned by modem7.

In some ways, it seems like a transitional period or trial and error to go to Rev.4 (10/27/1982).
Lastly, the interesting thing is that if you select only the 8KB part of the IBM PC 5160 Rev.0 (08/16/1982), burn it into the 5150 BIOS, and run it, it works well enough to recognize EGA / VGA.pce0002.png pce0001.pngpce0000.png
 
Thanks very much!


This BIOS may be the 3rd BIOS version. After doing some testing, I found the following.

1) Partial support for expansion cards with BIOS
---> For example, devices such as HDC (Hard Disk Controller) are supported, EGA / VGA cards are not supported.
This symptom is the same as the previous BIOS.

2) RAM recognizes up to 640KB as mentioned by modem7.

In some ways, it seems like a transitional period or trial and error to go to Rev.4 (10/27/1982).
Lastly, the interesting thing is that if you select only the 8KB part of the IBM PC 5160 Rev.0 (08/16/1982), burn it into the 5150 BIOS, and run it, it works well enough to recognize EGA / VGA.View attachment 1268762 View attachment 1268761View attachment 1268760
You are very welcome! Happy to have this BIOS preserved now, not to be lost to a failing ROM chip.

Wow, that's VERY intriguing about it only having partial option ROM support. I hadn't tried an EGA card yet, so wasn't aware of that. The hard disk controller I tried worked fine as you say though.

Interesting that you can run the early XT BIOS in the PC also!

Thanks a bunch for the info! This is definitely one of the most exciting things I have found lately.
 
@compaqportableplus

Thanks.

By the way, can you run this BASIC Program on IBM PC 5150 (5000024) finally?

I've maid simple BIOS sum program on BASIC.

10 CLS
20 DEF SEG=&HF000
30 A=0:FOR I=&HE000 TO &HFFFF
40 A=A+PEEK(I):NEXT
50 PRINT "SUM : E000-FFFF is";A
60 PRINT "BIOS version is ";:FOR I=0 TO 7 : PRINT CHR$(PEEK(&HFFF5+I));:NEXT

Normal value must be following
SUM 7 = 951808 (BIOS version 04/24/81 or 10/19/81, E000-FFFF), SUM 7 = 962560 (BIOS version 10/27/82, E000-FFFF)
SUM 7 = 962816 (BIOS version 08/16/82, E000-FFFF)

I want to know 962816 is correct.

pce0003.png

pce0008.png
 
---> For example, devices such as HDC (Hard Disk Controller) are supported, EGA / VGA cards are not supported.
Not according to what I see in the 08/16/82 code. Per below, both the 08/16/82 and the 10/27/82 revisions of 5150 ROM contain code that scans for BIOS expansion ROM's on video cards. The code is even at the same offset into the ROM, that is, 0363.

1701293044493.png
 
In some ways, it seems like a transitional period or trial and error to go to Rev.4 (10/27/1982).
Lastly, the interesting thing is that if you select only the 8KB part of the IBM PC 5160 Rev.0 (08/16/1982)
I think that you should stop including a 'Rev. <sequential number>' when describing the revision.

1. It doesn't allow for the fact that future revisions will be discovered.

2. It is even confusing you. In the first quote sentence, you wrote, "IBM PC 5160 Rev.0" which mean that you start your numbering at zero. But in the first quoted sentence, you start the numbering for the IBM 5150 at one (four IBM 5150 motherboard BIOS' discovered to date, and you indicate that the 10/27/1982 revision is "Rev. 4").
 
Interesting that you can run the early XT BIOS in the PC also!
If it was a simple as that, we'd be telling people with 5150's that they have the option of upgrading the motherboard BIOS to a 5160 BIOS.
But we don't; for a reason. Some things are different between the 5150 and 5160.
A good example is that switch block SW1 is read differently. Accordingly, the code portion in the ROM for reading SW1 differs between the 5150 BIOS and the 5160 BIOS.

SW1 on IBM 5150

To read switches 1 to 8, set bit 7 on 8255 port B, then read port A.

SW1 on IBM 5160

A two-stage process.
- To read switches 1 to 4, clear bit 3 on 8255 port B, then read low nibble of port C.
- To read switches 5 to 8, set bit 3 on 8255 port B, then read low nibble of port C.
 
Regarding the VGA support or lack there of: Does this BIOS, on a real machine work with a VGA card or not? Does this BIOS on a real machine work with an IBM EGA card or not?

I ask, because on a Columbia Data Product clone, it does look for the video expansion BIOS, works with EGA, yet fails with VGA (or at least all VGA I have tested). Presumably due to a bug in the BIOS. (A later, but not yet unearthed, CDP BIOS update fixed that).
 
Back
Top