• Please review our updated Terms and Rules here

IBM PC ROM Dumps to Complete Collection

Great Hierophant

Veteran Member
Joined
Mar 22, 2006
Messages
1,928
Location
Massachusetts, USA
Here is all I need:

1. Original IBM 4/24/81 BIOS w/ BASIC (a 64K dump of F000 on would do via debug.)

2. 8K IBM CGA/MDA Font ROM (plug it into the empty ROM socket of the 5150 and dump it via debug.)

I have every other important ROM of the PC era. This includes later 5150s, XT (3 versions), AT (3 versions), XT 286, PCJr., PCJX, EGA and VGA.
 

Attachments

  • IBM_5788005_AM9264_1981_CGA_CARD.zip
    3.7 KB · Views: 31
That is a nice collection. What are you doing to make that collection available to other people, especially those doing emulator development?
 
It's possible that there are no 4/24/81 versions out there. Can you confirm that this ROM was on any production systems? What production dates had this version of ROM? It's possible that this was an internal / prototype version of the ROM.
 
That is a nice collection. What are you doing to make that collection available to other people, especially those doing emulator development?

I pretty much have what I need, and I will gladly distribute it to emulator authors if they want it and others if they need to replace some ROMs. Still, I know that there is a 4/24/81 BIOS out there somewhere... My collection is not quite complete without it.
 
I pretty much have what I need, and I will gladly distribute it to emulator authors if they want it and others if they need to replace some ROMs.

I'm interested... Sendt you a PM (is it just me, or does it happens that some PM's never arrives?).

[I'll see if I have any abilities to dump my MDA ROM. If I try to do it on my XT, the checksum would problably fail, but I got a NIC with a ROM socket I could try to use.](See below)

*Edit*
I just figured that the MDA and CGA uses the same ROM...
 
Last edited:
I'm interested... Sendt you a PM (is it just me, or does it happens that some PM's never arrives?).

[I'll see if I have any abilities to dump my MDA ROM. If I try to do it on my XT, the checksum would problably fail, but I got a NIC with a ROM socket I could try to use.](See below)

*Edit*
I just figured that the MDA and CGA uses the same ROM...

How can they? The MDA font has double the number of lines per character cell.
 
How can they? The MDA font has double the number of lines per character cell.
The ROM in the MDA and CGA cards have the same IBM part number.
Experience tells me that because of the shared IBM part number, the ROMs will have the same contents, but I admit that I haven't done an actual comparison.
Maybe to cut production costs, IBM designed the ROM contents so that the one ROM was common to the MDA and CGA.
 
It's an 8k ROM. The MDA uses the font in the first 4k. The CGA uses one of the two fonts in the second 4k. Easy :)

I have just done the following:
1. Downloaded the ROM from this thread
2. Opened it in a hex editor
3. Used my DHTML hex-to-picture converter (at Pixelzise=1) ( http://www.cemetech.net/programs/index.php?mode=file&path=/web/hexaicon4.zip ) to transform the ROM data to pictures.
4. Used print-screen and the paste function in MS-Paint to get the image data as BMP.
5. cut out only the font-images and paste them organized in it's own paint window.
6. Repeated step 3 to 5 until the whole ROM was transfered to Paint
7. Used Paint to put the MDA font together (top part on top of lower part)
8. Remove the two unused lines of MDA font and algined CGA font so it get organized.

9. The result is this (the ZIP contains the more accurate BMP version):
Clm 1 = Data from offset base 0000h combined with data from offset base 0800h
Clm 2 = Data from offset base 1000h
Clm 3 = Data from offset base 1800h
All those numbers are 8 bytes/character, so to get the offset for the character you want, you must add CharacterNumber*8 to the offset
 

Attachments

  • font.zip
    5.6 KB · Views: 14
Last edited:
Okay, after several contributions, I have what I believe to be the nearly complete set of IBM PC ROMs:

IBM PC 5150 BIOS & BASIC (5 Files Each, 40KB Total)
10/19/81
10/27/82

IBM Video (1 File Each)
IBM CGA/MDA FONT
IBM EGA BIOS
IBM VGA BIOS

IBM PC/XT 5160 BIOS & BASIC (2 Files Each, 64KB Total)
11/08/82 (Also IBM PC Portable 5155)
01/10/86
05/09/86

IBM PC AT 5170 BIOS & BASIC (2 Files Each, 64KB Total)
01/10/84
06/10/85
11/15/85

IBM PC/XT 286 5162 BIOS & BASIC (2 Files Each, 64KB Total)
04/21/86

IBM PC Convertible 5140 BIOS & BASIC (1 File Each, 64KB Total)
09/13/85 BIOS & BASIC

IBM PCjr. 4860 BIOS & BASIC (1 File Each, , 64KB Total)
06/01/83

IBM PC JX BIOS & BASIC (1 File Each, , 64KB Total)
03/15/85

I also have the Firmware ROMs for the PGC and the 3270 PC. All I am missing is the 4/24/81 PC BIOS.
 
5160 hard disk controllers

5160 hard disk controllers

Have you thought about the ROMs on the Xebec-made hard disk controllers used in the 5160?
 
Have you thought about the ROMs on the Xebec-made hard disk controllers used in the 5160?

A good point. I believe the Xebec 1210 board used an 8KB ROM in its first (10KB ST-412) revision and a 4KB ROM in its second (20MB ST-225) revision. Mueller reports that IBM actually wrote the BIOS for these boards, so they would be of immense value.

IBM's Combination Fixed Disk and Diskette Controller would not need a separate BIOS because the drive tables would be contained in the system BIOS. Some XTs may have come with a Western Digital controller, but they may have been aftermarket or even in-store replacements for the slow Xebec.
 
Xebec hard disk controllers for 5160

Xebec hard disk controllers for 5160

I have three variations of the board, and have captured the contents of the IBM ROM from each one.

Variation #1

IBM part number 1501492. This is the early version of 1501492.
It has mostly discrete TTL chips, and has 4 potentiometers. No switches. Mine is dated 1983.

The IBM ROM is 8K in size and stamped with IBM part number "5000059".
The ROM contains the string of "5000059 (C)COPYRIGHT IBM 1982".
The 8 bit checksum is 00 (with the last byte obviously adjusted to get 00).

Variation #2

IBM part number 1501492. More modern version of variation #1. No switches. Mine is dated 1984.

The IBM ROM is 8K in size and stamped with IBM part number "6359121".
Although using a different part number, the contents are identical to the 5000059 ROM used in variation #1.

Variation #3

IBM part number 62X0776. Has switches. Mine is dated 1986.
The IBM ROM is 4K in size and stamped with IBM part number "62X0822".

The ROM contains the string of "559X7291 (C) COPYRIGHT IBM CORP.,1982 ,1985.".
The 8 bit checksum is 00 (with the last byte obviously adjusted to get 00).
.
 

Attachments

  • 62X0822.zip
    1.6 KB · Views: 13
  • 5000059.zip
    1.7 KB · Views: 12
  • 6359121.zip
    1.7 KB · Views: 14
Okay, after several contributions, I have what I believe to be the nearly complete set of IBM PC ROMs:

IBM PC 5150 BIOS & BASIC (5 Files Each, 40KB Total)
10/19/81
10/27/82

IBM Video (1 File Each)
IBM CGA/MDA FONT
IBM EGA BIOS
IBM VGA BIOS

IBM PC/XT 5160 BIOS & BASIC (2 Files Each, 64KB Total)
11/08/82 (Also IBM PC Portable 5155)
01/10/86
05/09/86

IBM PC AT 5170 BIOS & BASIC (2 Files Each, 64KB Total)
01/10/84
06/10/85
11/15/85

IBM PC/XT 286 5162 BIOS & BASIC (2 Files Each, 64KB Total)
04/21/86

IBM PC Convertible 5140 BIOS & BASIC (1 File Each, 64KB Total)
09/13/85 BIOS & BASIC

IBM PCjr. 4860 BIOS & BASIC (1 File Each, , 64KB Total)
06/01/83

IBM PC JX BIOS & BASIC (1 File Each, , 64KB Total)
03/15/85

I also have the Firmware ROMs for the PGC and the 3270 PC. All I am missing is the 4/24/81 PC BIOS.

I'm missing the ROMs for the PCjr, the PC JX, the PC Convertible, the PGC and 3270 PC, EGA, VGA, the XT 286 PC, and the 4/24/81 PC BIOS.

I thought I had the XT 286 BIOS, but it was corrupt and didn't work.

Where did you get the ones you have?
 
By the way, I just stumbled across this bios file while searching for the one I mentioned above... The date stamp is 08/16/82 ... However, I haven't seen it before and I might think it is a modified version of another BIOS. It is fairly similar to the first XT BIOS revision, however it has some minor differences (chip number = 5000026 instead of 1501512, one byte in the code is different (line 937 in the PC XT systembios listings)).

What do you think is the origin of this dump, is it modified, or is it a beta?
 

Attachments

  • pc081682.zip
    6.5 KB · Views: 10
Real first BIOS version in 5160 ?

Real first BIOS version in 5160 ?

By the way, I just stumbled across this bios file while searching for the one I mentioned above... The date stamp is 08/16/82 ... However, I haven't seen it before and I might think it is a modified version of another BIOS. It is fairly similar to the first XT BIOS revision, however it has some minor differences (chip number = 5000026 instead of 1501512, one byte in the code is different (line 937 in the PC XT systembios listings)).

What do you think is the origin of this dump, is it modified, or is it a beta?

That BIOS file is 8K in size. Only in the first 5160 BIOS version is one of the ROMs 8K in size, but the contents of that 8K ROM (U19) is part of BASIC, not the actual BIOS code itself (which is in the latter part of U18):

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
------: ........................|< U19 >|<----------- U18 ------------->|


It appears that the file is a trimmed version of a U18.

Searching the Internet for "5000026" reveals site http://mess.toseciso.org/dumping:ibm_needed
And so according to the MESS project, there are four versions of the 5160 BIOS, not three:

Revision 1: 08/16/82 U18=5000026 / U19=5000027 <----------------- what you've found
Revision 2: 11/08/82 (known to be: U18=1501512 / U19=500027)
Revision 3: 01/10/86 (known to be: U18=62X0851 / U19=62X0854)
Revision 4: 05/09/86 (known to be: U18=59x7268 [EPROM] or 62x0890 [PROM] / U19=62x0819 [EPROM] or 68x4370 [PROM]

That is interesting. Most here would agree that an authorative source on PCs is Mueller's "Upgrading and Repairing PCs" book.
Mueller only lists 3 versions of the 5160 BIOS (the final 3 in the list of 4 above).

The BIOS date of 08/16/82 shows as being a BIOS date at:
1. http://www.o3one.org/hwdocs/bios_doc/dosref22.html
2. http://www.brl.ntt.co.jp/people/takehiko/interrupt/INTERRUP_C.txt

And the book, "PC-based instrumentation and Control", has a page showing the major ROM releases. It indicates that the "08/16/82" BIOS is the "original" one used in the 5160. Odd though that it doesn't list the 05/09/86 version.

And so I'm convinced now that there are 4 versions of the 5160 BIOS. However, noting that the 5000026 chip was replaced by the 1501512 in very late 1982, and that the 5160 was released in March 1983, a question is, did the 5000026 chip make it into released 5160s? Maybe it didn't, and that is why Mueller doesn't list it.


, one byte in the code is different (line 937 in the PC XT systembios listings)).
The BIOS supports a feature where test code can be loaded via the keyboard port. It's used by IBM during manufacturing, and is referred to as 'manufacturing test mode'. The byte (of functional code) that is changed between the 08/16/82 and 11/08/82 BIOS versions is in a block of code that gets called if the 'manufacturing test mode' is active, specifically code that sets up the timer chip to initiate the blinking of a LED.
.
 
The BIOS supports a feature where test code can be loaded via the keyboard port. It's used by IBM during manufacturing, and is referred to as 'manufacturing test mode'. ..

Hello modem7,

Would you please elaborate more on this feature! I read somewhere that it is
possible to do data-acquisition in the background on a PC via keyboard buffer...

ziloo
 
That BIOS file is 8K in size. Only in the first 5160 BIOS version is one of the ROMs 8K in size, but the contents of that 8K ROM (U19) is part of BASIC, not the actual BIOS code itself (which is in the latter part of U18):

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
------: ........................|< U19 >|<----------- U18 ------------->|


It appears that the file is a trimmed version of a U18.
That's right. It came with basic C1.10 too, splitted into 8K segements. The reason I didn't include 'em was beause it is the same on all XT's, AT's and rev. B PC's.
 
Back
Top