• Please review our updated Terms and Rules here

Dead IBM 5150 motherboard @ 8253

NickyDoes

Member
Joined
May 27, 2024
Messages
18
Location
Raleigh, North Carolina, USA
I picked up a 5150 B model with a single Tandon floppy and a Tandon TM262 winchester disk. The machine is in perfect condition, excellently maintained. Except that it doesn't boot. Bare mobo with no cards / RAM in B1-3 / 8087. First, the 12V tants were shorted, so I removed those and placed new ones in my D-K list. The power supply came to life and works.

I of course went to -0's most excellent troubleshooting. I'm reasonably well equipped with scope, logic analyzer, probes, jumpers, etc. Here's my log. I don't have enough 16-pin DIP sockets to socket BANK 0, but have them in the D-K cart. I also don't have any spare IBM BIOSes / 8088 CPUs on hand. Maybe the 12V failure took something else out?

IBM PC 5150 "B" troubleshooting

64KB-256KB CPU board
BIOS 1501476
OE silver 63.5 W power supply

Starting here https://www.minuszerodegrees.net/5150_5160/MDC/minimum_diag_config.htm

Removed everything from the chassis (cards, drives)
Visually inspected all tantalum caps - no defects noted
Switched SW1-2 off
Power on the motherboard and note the power supply fan jumps, then stops. The speaker makes a crackle sound for a moment.
Remove plug P8 from the supply
Power on mother board and observe that the fan runs continuously.
From troubleshooting pages, note that the 12V supply is likely shorted due to a failed tantalum capacitor.
Removed two 12V capacitors. See https://www.minuszerodegrees.net/5150/misc/5150_12volt_caps_plus_minus_64_256KB.jpg
Reconnected the power supply
Power on motherboard and observe that the fan runs continuously, but no beeps.

Measure power rails with supply connected to only motherboard (no drives or cards).
5V: 5.16V
-5V 4.87V
12V: 12.27V
-12V: -11.72V
Power Good: 5.14


faulty motherboard symptom page

1/9: Visually, the board looks excellent. No evidence of repairs beyond the removed tantalums.

2/9:
Removed RAM banks 1, 2, 3 including parity
removed math coprocessor
reseated all socketed chpis. Verified pin integrity and entry into socket
SW1: 0111 1011
SW2: 1011 0000

3/9 - no spare BIOS ROM available, no spare CPU available.

4/9 - 8284A pin 10 falls ~280 ms after power good. Voltage is 4.6V / 0V

5/9 All clocks are present and clean - at 8284A, CPU, and 8288A

6/9 - 8253 pin 13 is high, not pulsing per the oscilloscope capture. All data lines are high, and it has a valid clock at 1.193 MHz

I attempted the 'ground I/O CH RDY' procedure.
- 1/13 - verify BIOS - ok.

- 2/13 - ground I/O CH RDY - done properly

- 3/13 - 8088 READY and RESET pins are low.

- 4/13 - verify FFFF0 at ISA slot - ok

- 5/13 - verify FFFF0 at BIOS ROM - ok

- 6/13 - verify BIOS ROM is enabled - ok

- 7/13 - verify EA at BIOS ROM data pins - ok

- 8/13 - verify EA at ISA slot - ok

- 9/13 - verify EA at CPU - ok

- 10/13 and beyond - I do not have suitable EPROMs available.
 
Welcome to these forums.

You have done a lot of preliminary work, and so that is good; a lot of information in one post.

At this stage, take a look at step 6 at [here]. If you measure FC hex, then obviously, we know that things are progressing as far as step 6. Seeing FC ?

If the only remaining problem was faulty RAM in bank 0, then we would expect the POST to reach step 13, in which case, you would have seen the required signals (frequency, voltage, periods) out of pin 13 of the 8253 (i.e. step 9). But multiple problems are always a possibility.

Do you have plans to acquire the ability to program ROM's for socket U33? Obviously, you could then create a replacement IBM BIOS. Using Ruud's Diagnostic ROM (RDR), if the fault enables it to run, would be informative.

And it may turn out that custom diagnostic code, including that at [here] may need to be executed. In which case, one of [these] will probably be required.
 
Indeed I do read 0xFC on the 8255 port B.

For ROM programming, I have the ubiquitous TL86-something-or-other and some 27Cxxx parts. I do not have the socket adapter.


Side note 1: I cleaned and serviced the IBM 5151 monitor I sourced for this PC. It's in excellent condition - needed a bit of work, but that's for a separate thread.


Super side celebratory note 2, I just got my 1980's HP 85A to work. The primary 9.8 MHz oscillator had failed. It's a Colpitts-type, and the transistor had failed. It's an amazing device!
 
I'm still a moderated user - so I hope my edits to the prior message make it through. Here's the gist of my edit:

The 8253 15 μs pulses *are* working. It's likely measuring error on my part (timebase too fast, not reading carefully) or that I 'exercised' the DIP switches many times. Either way, I'm through step 8.

It seems the most likely issue is bad RAM in the only populated bank 0. I'm ordering from D-K today, so I'll get some quality 16 pin DIP sockets on the way.
 
@modem7 thank you. I got to see my little project on the 'billboard'!

I'm traveling for a week starting tomorrow, so I did not have the time to do a proper test with proper documentation.

Today, I removed the BANK0 RAM and soldered in sockets. I then inserted some RAM that was in another bank and tried the minimal boot, waiting to hear some beeps, but I heard none.
 
Today, I removed the BANK0 RAM and soldered in sockets. I then inserted some RAM that was in another bank and tried the minimal boot, waiting to hear some beeps, but I heard none.
There is always the possibility that 'bad' was replaced with 'bad'.
Also, the fault may not be a RAM chip, but something else in the RAM subsystem.

For ROM programming, I have the ubiquitous TL86-something-or-other and some 27Cxxx parts. I do not have the socket adapter.
Do you intend to purchase the ROM socket adapter?
That would then give you the ability to:
- Try a newly created IBM BIOS ROM.
- Try Ruud's Diagnostic ROM (RDR).
- Try select code from [here].

And for the latter, one of [these]. They are cheap. And for RDR as well, if your MDA card (assumed) and 5151 turn out to be faulty too.

Side note 1: I cleaned and serviced the IBM 5151 monitor I sourced for this PC. It's in excellent condition - needed a bit of work, but that's for a separate thread.
BTW. In case you are unaware, your 5151 will appear dead (no EHT, etc.) until it receives suitable sync signals from the MDA card. Discussed in the 'SYMPTOM: No display (not even a raster)' section at [here].
 
A quick update:
+ Yes, I did just order the BIOS adapter.
+ I also started building a simple Arduino-based RAM tester.
+ I do know the 5150 needs SYNC signals. I would be interested in a way to simulate those signals with a modern MCU. Side note: I just came off restoring a HP 85A. All CRT sync signals are derived from the master clock. The master clock's Colpitt's oscillator transistor was weak. Now, it works 😁.

- I only have a Hercules GB200 card, and it appears that card will not drive a 5150 MDA monitor. Am I correct? I'm going for the vintage look of the 5151 monitor with its green screen, but am open to a more capable video card that also drives MDA.
 
A GB200 is a CGA card and will not work with an MDA monitor. If you want something that will work with a 5151 there are probably lots of cheap cards based on the tamarack TD3088A3 or TD3088A5 chip.
 
A key takeaway there is, "Results are 100 percent reliable only if the test FAILS - you can throw away the chip without fear." I.e. If the testing passes, that doesn't mean that the chip is 100% functional.

+ I do know the 5150 (sic) needs SYNC signals. I would be interested in a way to simulate those signals with a modern MCU.
Presumably, synthesising video and intensity signals as well.

I see at [here], a hardware driver for CGA using an Arduino. It might not be much work to alter it to drive MDA instead.
 
I found some time to play with vintage gear this weekend. I got a Ruud BIOS burned and adapted to fit U33. This was the (initial?) problem. I do not have a complete display solution - the Hercules GB100 arrives in 2-3 days. I only have the 5151 MDA monitor and the Hercules GB200 CGA compatible graphics card today.

Today: Ruud BIOS / IBM 5150 64-256KB motherboard - Beeps at power-up: Short - Long - Short. No floppy seek.

I have the LPT / laptop / parallel POST decode board on order. Is there a site showing what codes come from the LPT port? Might be easy to throw together a quick Sigrok/Pulseview decoder so I don't need to wait for said card.
 
If you can, pick up a POST card off of eBay and see what code pops up when it stops. Short long Short on beeps is "step 2" on Ruud BIOS. Very early step in the BIOS.

You could go through the list of items tested and use your logic probe to see if the CTC, DMA, PPI, and DRAM are being enabled/tested and seeing where things stop. It's easier to do if you have a reset switch hacked in so you can reset it as much as you need without having to bonk it with the power switch.
 

Attachments

  • 1723405485680.png
    1723405485680.png
    30.6 KB · Views: 3
If you can, pick up a POST card off of eBay and see what code pops up when it stops.
Per the 'Checkpoint codes' section of [here], modern POST cards are not expected to work.

Short long Short on beeps is "step 2" on Ruud BIOS. Very early step in the BIOS.
Noting that Ruud's Diagnostic ROM is a diagnostic, not a BIOS.

I have the LPT / laptop / parallel POST decode board on order. Is there a site showing what codes come from the LPT port?
There is a link to that information in the second sentence of the 'Checkpoint codes' section of [here].
 
Per the 'Checkpoint codes' section of [here], modern POST cards are not expected to work.

Per the same page:
At various stages of execution, Ruud's diagnostic ROM sends 'checkpoint' codes (bytes) to I/O ports 80h, 378h, 278h, 3BCh, and 3F8h. The codes are listed at here, and in the diagnostic's source code (included in the image download below).
Port 80 is for the POST card.
 
Port 80 is for the POST card.
For a POST card that is usable in an IBM 5150. My vintage POST card works but not my modern one. Others have reported the same behaviour for their modern card. More information about that is at [here].

When I took over development of Ruud's Diagnostic ROM (RDR), the code for outputting to I/O port 80h was already there. I did think about removing it, but it does not consume much code, even though it is probably only of benefit to a very few.

Because this subject is causing confusion, I think I will either:
- Remove references to I/O port 80h from the RDR web pages; or
- In the web pages, add a '(see note 6)' text against all references to I/O port 80h, with note 6 containing the 'not expected to work' information.

Probably the latter.
 
I've never used the Ruud. I use the Landmark one you drop in place of the exiting BIOS so I'm far more familiar with it. Even at that I'd probably go old-school and wire up a reset switch then check the chip enables on the DMA, CTC, PPI, and DRAM to see where in the line of testing things are stopping.

On the PCjr, I monitor the serial port and put it into manufacturer diagnostic mode which gives far more details than the test mode listed in the IBM doc books. Not sure if that mode is available on the PC. It outputs raw codes to the serial port and I use debug mode on TeraTerm to print the raw hex so I can see what is happening.
 
I've never used the Ruud. I use the Landmark one you drop in place of the exiting BIOS so I'm far more familiar with it.
I believe that Ruud created Ruud's Diagnostic ROM (RDR) due to issues that were experienced with the use of the Supersoft/Landmark diagnostic ROM in the IBM 5150.
And having the source code of RDR available, helps as well.

Even at that I'd probably go old-school and wire up a reset switch then check the chip enables on the DMA, CTC, PPI, and DRAM to see where in the line of testing things are stopping.
Although, one has to be careful doing that. I remember at one point, monitoring only the /CS pin on the 5150's 8253 timer chip, and seeing activity on that when none was expected (at face value that is). After some investigation, I added 'Note 1' to the diagram at [here]. And so even reads of certain addresses in the BIOS ROM will pulse the /CS pin. One would need to look for co-incidence of /CS with /RD, or co-incidence of /CS with /RW.

On the PCjr, I monitor the serial port and put it into manufacturer diagnostic mode which gives far more details than the test mode listed in the IBM doc books. Not sure if that mode is available on the PC.
No, not on the IBM 5150/5155/5160/5170.
Per [here], the 5150 has a 'Manufacturing Test' mode that can be triggered, but that mode of operation does not output additional information.

Serial output was added to RDR at version 4.3
 
Success! The 5150 now boots normally. @modem7 can close the case here. Thank you, all.

Now for the mystery: Aside from replacing failed 3-legged tantalums on the +12V rail, all other components are (now) original. I have the Ruud Diagnostic ROM (RDR) and the LPT/parallel POST analyzer.

Original symptom: It wouldn't get past EA on the original ROM.

What I did:
1. remove soldered-in BANK 0 RAM and add sockets.
2. move BANK 1 RAM into BANK 0 sockets.
3. replace ROM with RDR.

After #2, the machine still would not boot.
After #3, video appeared, and I monitored all tests. All tests passed, so I expected that I had a failed original ROM.

4. restore original ROM.

After #4, the machine booted correctly. (Yes, I had reseated all ROMs, all RAM, CPU - any DIP with a socket. I tried a bit of deoxit, too.

Anyways, this machine now boots and runs normally. I let it re-burn-in for > 24h and have booted it multiple times. Its 100% reliable, so far.

On other news:
- I picked up a XT (516o) with a HardCard 30 and the original ST-406. This one boots, but the EGA card has problems. New thread coming soon.
 
Back
Top