• Please review our updated Terms and Rules here

IBM PC 5150 model A in europe?

As suggested by Per, did you measure the +5V ? The turning fan in the PSU does not indicate that all PSU output voltages are present and correct.

Where can I find the pinout of this roms? Is it possible to build an adapter and replace the original ROM with a 27Cxx EPROM?
An adapter for a 27256 (or 27C256) is at http://members.dodo.com.au/~slappanel555/5150_u33.htm
In post #34 of thread http://www.vintage-computer.com/vcforum/showthread.php?7065, Per points to an adapter for a 2764.

At http://members.dodo.com.au/~slappanel555/bios.htm are BIOS ROM images for the 5150.

Do the 5150 BIOS send messages to the 80h port? Will an ISA POST debug card receive them?
No.

On keyboard fail, only a 301 is displayed? no beeps?
Correct.

But I assume that at least the POST OK beep is produced...
If the POST gets that far. Right at the end, just before the POST attempts to boot from a drive (i.e. start 'bootstrap').
 
Oh, and if the 5 volts measures good, check the POWER GOOD signal from the PSU. On turn on, it's the POWER GOOD signal transisitioning from low to high that starts the motherboard (takes it out of a reset state).
 
As suggested by Per, did you measure the +5V ? The turning fan in the PSU does not indicate that all PSU output voltages are present and correct.

Oh, and if the 5 volts measures good, check the POWER GOOD signal from the PSU. On turn on, it's the POWER GOOD signal transisitioning from low to high that starts the motherboard (takes it out of a reset state).

The power supply is not the problem, I checked the voltages and all are OK, including power good signal. Also tried the 5150 power supply on a Pentium motherboard and runs fine. Using the Pentium power supply with the 5150 motherboard didn't change anything... except the initial 'click' on the speaker:

Focusing on this, I think the 'click' sound is related to a CPU reset engaged by the power good line. The original power supply makes a single 'click' but using this pentium AT power supply makes the board to do two 'clicks', separated by about half second.

The only thing I tried was to remove all the ROM chips, and when U33 is removed, the 'click' sound is not produced. Maybe the 'click' is part of a early initialization on 8255...so with a bit of luck, maybe the problem is only a corrupted BIOS.

I don't have easy access to an oscilloscope, but checking voltage pins on the main ICs with the multimeter they seem to be OK, about 5.05v, and most address and data pins read between 1 and 4 volts... so they must be switching too fast for the multimeter to measure them correctly.

An adapter for a 27256 (or 27C256) is at http://members.dodo.com.au/~slappanel555/5150_u33.htm
In post #34 of thread http://www.vintage-computer.com/vcforum/showthread.php?7065, Per points to an adapter for a 2764.

At http://members.dodo.com.au/~slappanel555/bios.htm are BIOS ROM images for the 5150.

Thank you for the info, I will build an adapter and burn the last BIOS.
By the way, I have read that there is a BIOS from LandMark with debug codes enabled. Where can I find it?
 
Last edited:
The only thing I tried was to remove all the ROM chips, and when U33 is removed, the 'click' sound is not produced. Maybe the 'click' is part of a early initialization on 8255...so with a bit of luck, maybe the problem is only a corrupted BIOS.
That indicates that the CPU at least does something, allthough it shouldn't run as hot as you described earlier after just such a short amount of time. If you got a spare 8088 laying around, I suggest trying replacing it.

You should also still check U33, though.
 
I built the 27C256 EPROM adapter and there was no luck, the motherboard behaves identically. As a curiosity, accidentally I half-plugged the adaptor for one time and when I turned on the power supply, I heard a loud "click". I think it was the tape relay :lol:

I will look for a 8088, I don't have spares.
Thank you for all your help and advice.
 
I built the 27C256 EPROM adapter and there was no luck, the motherboard behaves identically. As a curiosity, accidentally I half-plugged the adaptor for one time and when I turned on the power supply, I heard a loud "click". I think it was the tape relay :lol:

No, you're not supposed to plug the adapter into the 5150!

You will need to use the adapter to read the contnents from the ROM on a more recent computer with an expansion card containing an empty, 27xxx-compatible ROM socket. You can also use an EPROM reader to do this. When you get the 8KB binary, post it here or check if it matches the third 5150 BIOS.
 
No, you're not supposed to plug the adapter into the 5150!

You will need to use the adapter to read the contnents from the ROM on a more recent computer with an expansion card containing an empty, 27xxx-compatible ROM socket. You can also use an EPROM reader to do this. When you get the 8KB binary, post it here or check if it matches the third 5150 BIOS.
Am I missing something? Both the adapters pointed to look like they do plug into the 5150, allowing use of a JEDEC standard 27xx EPROM (available from Jim Brain for $1.50 bare or $5.00 assembled, BTW)

http://www.jbrain.net/products/2364-Adapter.html

Which adapter are you talking about that goes the other way? There's software (Mike Brutman's, for one) that will read the ROM installed in the 5150, so why would you need one anyway?
 
Am I missing something? Both the adapters pointed to look like they do plug into the 5150, allowing use of a JEDEC standard 27xx EPROM
Certainly the 27256 adapter that I pointed to plugs into the 5150.

By the way, I have read that there is a BIOS from LandMark with debug codes enabled. Where can I find it?
Chuck gave me some Supersoft/Landmark ROM images a while back. I've placed them at http://members.dodo.com.au/~slappanel555/rom/supersoft.htm

I can't remember if they output POST codes.

Whereas the IBM POST does a few checks then enables video, the Supersoft/Landmark POST enables video very early. Thus, for example, if one or more RAM chips in bank 0 are faulty, the Supersoft/Landmark POST will show it onscreen.
 
If you have no success with the Supersoft/Landmark POST ROMs, here is something much simpler.

I've placed an 8KB binary at http://members.dodo.com.au/~slappanel555/misc/BIOS_5150_U33_TEST1_000_8K.BIN

For the 5150 only. Burn it into the first 8KB of your 27256.
The only thing the code does is output "33" to port 80h.
Obviously you'll be expecting "33" to appear on a POST card that is monitoring port 80h (the standard AT diagnostic port).
 
Am I missing something? Both the adapters pointed to look like they do plug into the 5150, allowing use of a JEDEC standard 27xx EPROM (available from Jim Brain for $1.50 bare or $5.00 assembled, BTW)

http://www.jbrain.net/products/2364-Adapter.html

Which adapter are you talking about that goes the other way? There's software (Mike Brutman's, for one) that will read the ROM installed in the 5150, so why would you need one anyway?

I must have been mistaken there.

I thought about an adapter from 2364 to 27xx, not 27xx to 2364 as the discussed one apparently is.
 
Chuck gave me some Supersoft/Landmark ROM images a while back. I've placed them at http://members.dodo.com.au/~slappanel555/rom/supersoft.htm

I can't remember if they output POST codes.

Whereas the IBM POST does a few checks then enables video, the Supersoft/Landmark POST enables video very early. Thus, for example, if one or more RAM chips in bank 0 are faulty, the Supersoft/Landmark POST will show it onscreen.

I finished to build the ISA BIOS debug card and tried this ROM. It doesn't output post codes, and I can't get video output (I only have vga monitors and the four ISA VGAs I have don't show any output in this machine). But this bios makes the board to beep a lot! (yes, there is still a bit of life in it). It makes three different stages with combinations of different beeps, some also with relay switching, but I don't know what they mean. At least this bios proves that the board is not completely dead. Here is a video:

Any idea to interpret these beep codes?

If you have no success with the Supersoft/Landmark POST ROMs, here is something much simpler.
The only thing the code does is output "33" to port 80h.
Obviously you'll be expecting "33" to appear on a POST card that is monitoring port 80h (the standard AT diagnostic port).

This bios does output the 33 in my homemade PORT card. I think there is still hope to revive this board!

Thank you all!
 
This bios does output the 33 in my homemade PORT card. I think there is still hope to revive this board!

Thank you all!

Ok, that means that the CPU is mostly working, and that the interval timer is working, along with the speaker cirquits.

My guess so far about the beeping is that the system-I/O decode logic may be failing. This means that any I/O access sent or read to the board are interpreted as +/- 20h*n where n is an integer.

If you had aprogram that tried to identify the different chips by I/O data (based uppon known unike behavour), you could use this to figure if this is the case, and what ports it happens on.
 
The Landmark images require a CGA or MDA/MGA video card (not EGA or VGA). The beeping is a good sign--it's telling you that it doesn't see a video card.

Stick one in with a monitor and see what you get.

I'm guessing that you probably have a DRAM failure in the first 16K somewhere. That's normally very hard to diagnose with the stock 5150 BIOS, but the Landmark will point it out right away.

(Sorry, I haven't been paying much attention to this thread)
 
If you don't have a monochrome or CGA card, there is an option. Before Chuck gave me the Supersoft/Landmark ROMs, I had created my own set of diagnostic ROMs by modifying the IBM POST to output to a POST card. The '33 to POST card' code I posted earlier was TEST #1.

Because of what the Supersoft/Landmark ROM is doing, I agree with Chuck. The probability is now high that you have a failure in the first 16K of RAM (because of the relatively high failure rate of RAM chips). Therefore, if you don't have a monochrome or CGA card, try my TEST #4 ROM, and see if you get a POST code displayed.

The image is at http://members.dodo.com.au/~slappanel555/rom/BIOS_5150_U33_TEST4_014B_8K.zip

===========================
TEST #4 - 16K RAM TEST
===========================

Step 1. Performs CPU test - halt on fail
Step 2. Verifies that 8 bit checksum of ROM is 00 - halt on fail
Step 3. Timer 1 - verify that it functions okay
Step 4. Timer 1 - set it up to refresh memory
Step 5. 8237 DMA initialisation and test - halt on fail
Step 6. Test first 16K of RAM

If 16K block of RAM is good, "99" is displayed on POST card, else:
00 indicates the parity chip
01 indicates the bit 0 chip
02 indicates the bit 1 chip
04 indicates the bit 2 chip
08 indicates the bit 3 chip
10 indicates the bit 4 chip
20 indicates the bit 5 chip
40 indicates the bit 6 chip
80 indicates the bit 7 chip

Something else is a multi-bit failure. E.g. 50 indicates bits 4 and 6

5150 motherboard RAM bank layout: P _ 0 1 2 3 4 5 6 7

Note: On a good 64-256k board, you may see "AA" then "75" temporarily before you see either 00/01/02/04/08/10/20/40/80/99


Code:
PROGRAMMING INFO

Based on the 27OCT82 version of the BIOS chip, U33.
The following code was substitued at offset 014B.
U33 appears at FE000 and so for example, offset 0123 will be address FE123 in the machine.

Note that the stack pointer points to ROM not RAM. Pointing to RAM is risky because:
1. we don't know how much RAM is in the machine (i.e. valid RAM address range), and
2. the RAM might be faulty (the purpose of this test).
We can point to ROM because we're not PUSH'ing, only POP'ing.

OFFSET CODE         
------------------------------------------------
014B   90 90 90                       ; 90 is a NOP
014E   90 90
0150   90 90
0152   90 90
0154   BB 00 00      MOV BX,0000H     ; set to "BB 00 00" for first 16k (0-16), "BB 00 04" for second 16k (16-32),
                                      ; "BB 00 08" for third 16k (32-48), "BB 00 0C" for fourth 16k (48-64),
                                      ; "BB 00 10" = 16k starting at 64k boundary, etc.
0157   8E DB         MOV DS,BX  
0159   8E C3         MOV ES,BX        ; DS and ES now have BX
 
015B   BC 78 E1      MOV SP, E178 ------ offset address of 'return address' --------+
015E   90            NOP                                                            |
015F   E9 B6 FE      JMP STGTST       ; jump to IBM's 16K memory test subroutine    |
                                      ; subroutine executes a POP at the end        |
0162   74 0B         JE GOOD     <---------------------------------------+          |
                                                                         |          |
       ; 16K block bad - display fail pattern                            |          |
0164   8A D8         MOV BL,AL        ; preserve AL                      |          |
0166   B0 04         MOV AL,4         ; disable DMA controller           |          |
0168   E6 08         OUT 8,AL         ;    "     "      "                |          |
016A   8A C3         MOV AL,BL        ; restore AL                       |          |
016C   E6 80         OUT 80H,AL       ; send AL contents to POST card    |          |
016E   F4            HLT              ; halt                             |          |
                                                                         |          |
GOOD:  ; 16K block good - display "99"                                   |          |
016F   B0 04         MOV AL,4         ; disable DMA controller           |          |
0171   E6 08         OUT 8,AL         ;    "     "      "                |          |
0173   B0 99         MOV AL,99H       ; AL = 99H                         |          |
0175   E6 80         OUT 80H,AL       ; send AL contents to POST card    |          |
0177   F4            HLT              ; halt                             |          |
0178   62 E1  ---------------------------- return address ---------------+  <-------+


Note: It was found necessary to disable the DMA controller to get the POST card to display a code.
 
Note: On a good 64-256k board, you may see "AA" then "75" temporarily before you see either 00/01/02/04/08/10/20/40/80/99

I tried the test4 bios and it shows 01, but nothing about "AA" or "75". It changes from 00 (value shown at power on) to 01, nothing more...

Is the bit 0 chip broken or is the test not working if "AA" and "75" are not shown before?
 
I tried the test4 bios and it shows 01, but nothing about "AA" or "75". It changes from 00 (value shown at power on) to 01, nothing more...
Is the bit 0 chip broken or is the test not working if "AA" and "75" are not shown before?
So you noted that I used "may" rather than "will". The AA/75 appears to be connected with the disabling of the DMA controller (required before outputing to port 80h). AA/75 appears on some 5150 motherboards but not others. I don't know why. You see subtle variations between 5150 motherboards. For example, reading from a non-existent RAM address might on one good board consistently read back 54h, read back 01h on another good board, and read back 7Ch on another good board.

Had you seen AA/75 before the 01, I would have been confident that the bit 0 chip is faulty. But because you didn't see the AA/75, I'm not confident. You could verify it via the Supersoft/Landmark ROM, but because you tried my TEST#4, I figure that you don't have a monochrome or CGA card/monitor to use the Supersoft/Landmark ROM.

It might be a good time to eliminate the earlier tests.
Try my TEST#2. If that works, try TEST#2A. If that works, try TEST#2B. If that works, try TEST#3.

TEST#1 = display 33
TEST#2 = TEST#1 plus ROM checksum - on pass, display 02
TEST#2A = TEST#2 plus timer test 1 of 2 - on pass, display 2A
TEST#2B = TEST#2A plus timer test 2 of 2 - on pass, display 2B
TEST#3 = TEST#2B plus 8237 DMA - on pass, display 03

TEST#1 at http://members.dodo.com.au/~slappanel555/rom/BIOS_5150_U33_TEST1_000_8K.zip
TEST#2 at http://members.dodo.com.au/~slappanel555/rom/BIOS_5150_U33_TEST2_00D3_8K.zip
TEST#2A at http://members.dodo.com.au/~slappanel555/rom/BIOS_5150_U33_TEST2A_0104_8K.zip
TEST#2B at http://members.dodo.com.au/~slappanel555/rom/BIOS_5150_U33_TEST2B_012B_8K.zip
TEST#3 at http://members.dodo.com.au/~slappanel555/rom/BIOS_5150_U33_TEST3_014B_8K.zip

If all up to TEST#3 pass, the failure of TEST#4 to display 99 is a good indicator that you have a RAM issue. There would be a chance though that the 01 you see in TEST#4 doesn't indicate bit 0 failure, but is simply the result of a general RAM read problem. My bet would be on RAM chip failure (based on experience).
 
A big step today!

I tried modem7 test ROMS and all reported the expected code, so I desoldered U38 (Bit0 Bank0) and put a socket there. The first 4164 IC that I tried showed a nice 99 on POST card, so I put back IBM BIOS on U33 and the board made a nice beep! Chuck and modem7 were right!

I put a VGA card and the monitor turned on... but nothing appeared on screen, and the beep was missing.
Tried another VGA card, this one showed a error message: PARITY CHECK 1, but didn't beep!
Tried the last VGA... and this did the POST beep and managed to get IBM Basic! But it shows a POST error: "1055 201"

It seems that another IC from Bank0 is bad, but this one fails above the first 16 kb, am I right? How can I locate it?

Many thanks again, I'm very happy with the result of your help!
 
A big step today!

I tried modem7 test ROMS and all reported the expected code, so I desoldered U38 (Bit0 Bank0) and put a socket there. The first 4164 IC that I tried showed a nice 99 on POST card, so I put back IBM BIOS on U33 and the board made a nice beep! Chuck and modem7 were right!

I put a VGA card and the monitor turned on... but nothing appeared on screen, and the beep was missing.
Tried another VGA card, this one showed a error message: PARITY CHECK 1, but didn't beep!
Tried the last VGA... and this did the POST beep and managed to get IBM Basic! But it shows a POST error: "1055 201"

It seems that another IC from Bank0 is bad, but this one fails above the first 16 kb, am I right? How can I locate it?

Many thanks again, I'm very happy with the result of your help!

You did make sure you configured the motherboard for external Video-BIOS?

The code displayed along 201 represent in what segment and with what bit-pattern the memory failed with. 10 means that the memory where within the absolute address of 10xx:xxxx (Bank1), while 55 means that bit 0, 2, 4 and 6 is failing (also note that 55 is one of the raw patterns the POST uses during the memory test). To be sure it's not some timing issue, you should still try once when you are sure the motherboard switches are set correctly.
 
Is there no possibility of getting a CGA card and compatible monitor on that PC? Those Landmark diagnostic ROMs are superb when it comes to nailing down memory problems.
 
Back
Top