• Please review our updated Terms and Rules here

PCjr won't boot... beeps twice, no display

geoffm3

Veteran Member
Joined
Oct 9, 2009
Messages
1,272
Location
Huntsville, AL
My PCjr is having some trouble and I'm trying to figure it out. The system beeps twice, and doesn't display anything. After looking through the BIOS listing, I discovered the POST test can be setup to spit out some error codes to the built-in serial port (at 9600 8-O-2). So, I set this up tonight to try that out, and sure enough, it spits out three bytes:

<FF><04><FF>

If I read the BIOS listing correctly, this is memory failure in the built-in 64k RAM. I poked around on the RAM with my oscilloscope and everything looks about like you'd expect... except Dout from each RAM chip. I see that they go to the logic 1 state just fine, but when it looks like it should be low, it looks like something else is driving onto the bus... the state is somewhere between 0 and 1. Looking at the schematic, I can't figure out how this could happen, as there are several latches that use this bus (labeled ED{0-7} on the schematic), but it doesn't look like anything else should be able to output onto that bus.

Has anyone encountered this before?
 
The exact error description from the BIOS listing is this:

Base 2k Read/Write storage test
Write/Read/Verify data patterns AA, 55, and 00 to 1st 2k of storage
and the 2k just below 64k (CRT buffer). Verify storage addressability. On exit set CRT page to 3. Set temporary stack also.

MFG Error code 04xx for system board mem
05xx for 64k attrib. cd. mem
06 for errors in both
(xx= error bits)


The first byte spit out during the output I believe is garbage is just an uninitialized variable (MFG_TST) that indicates the position in the POST test during later tests. I don't think it's set up when this particular test runs.
 
Last edited:
Do you think this could be a bad memory chip on the motherboard ?

Others on the forum have had success finding bad memory chips by 'piggybacking' a known good memory
chip on the existing chip. I think this all depends on what is wrong with a bad chip. I'm sure there are cases
where the chip can be 'so bad' this won't work. You just need to bend the pins on the chip slightly inward to provide
enough tension to make the connections.
 
If it was just one or two, I would go that route, but I'm seeing the same behavior on all 8 so that leads me to think something else is at play.
 
I almost hate to even ask, but have you pulled the extra RAM adapter, floppy controller, and any sidecar expansions to see if it will then post correctly? Have you double-checked the connectors on the back of the unit to ensure that pins aren't bent and touching? - if you're lucky, it might be that simple.
 
I almost hate to even ask, but have you pulled the extra RAM adapter, floppy controller, and any sidecar expansions to see if it will then post correctly? Have you double-checked the connectors on the back of the unit to ensure that pins aren't bent and touching? - if you're lucky, it might be that simple.

Apart from the power supply there's nothing else plugged into the motherboard when I've run the test. I have tried it with the additional memory loaded as well, and the reported error changes slightly:

<BF><04><FF>
 
Followup. Well, I now have a PCjr that's working (mostly). I'm not sure what I did to make it work though. :)

Last things I did was to remove all the cards, and then I probed around on the RAS, CAS, and Dout lines on one of the DRAMs. The data out line looked a bit suspicious in that it looks like there's several places in the waveform where it doesn't make it all the way to logic 0 or 1. However, looking at the schematic CAS is just RAS delayed by 90ns (which is also apparent from the waveform), and so RAS deasserts before CAS does, so maybe the DRAM output doesn't tri-state before a new address is placed on the bus? Not sure about that.

After that, I was curious if video ram CS on the video gate array would wiggle at all, so I poked around on that... nothing. I power cycle and hear only one BEEP this time. Huh! I didn't have a monitor plugged in while I was doing the testing (since it seemed apparent that it was pointless). Excitedly I grabbed the monitor, hooked it up, and lo and behold! The ROM BASIC is up, and responds to the keyboard.

I played around with it a bit and turned it off. Turned it back on again and I got nothing on the screen and two beeps. Several subsequent attempts also got just a couple beeps each with no video. I tapped around on the motherboard and tried again. This time the POST screen came up and one beep.

Right now I've got the additional 64k ram and floppy disk controller, drive, and fan all hooked up. It's sitting at an A> prompt, but it has locked up a couple times while sitting idle.

Maybe a bad solder joint then.. huh. Not sure.
 
I should also mention that I checked the voltages from the floppy disk power connector on the power supply board. There's about 100mV total ripple on both +5V and +12V.
 
Bad solder joint, or perhaps a foreign piece of metal grounding something that it should not be.

Besides looking at the motherboard components, look at the connectors too. The pins in the sidecar bus and accessory connectors are prone to damage and breakage, and there might be something lodged between a few pins that does not belong there.
 
Well, I've got it working now I think... as mentioned before I tapped around on the board and found that if I put firm pressure on one spot in the motherboard (enough to cause it to flex ever so slightly) the computer would boot. It seemed to be better when I put pressure around the video gate array and 6845 chips, so I resoldered those. No dice. So, I got out a high-tech troubleshooting tool, a block of wood and sat the motherboard on that so that the board wouldn't flex, and put pressure on several ICs in the vicinity of where the problem got better. It ended up being the clock delay IC PE-21212. It seems to be working okay now... when I flex the board I no longer get the two beeps immediately after powering on!

I guess I'm good to start throwing some expansion add-ons to this baby now. :)
 
Another followup on this... the I had the machine mostly working okay, with the occasional 2 beeps error. Thinking it might still be a solder joint I took the board to work to use on our soldering station to clean it up since my soldering iron was making a bit of a mess. No dice, I had a continuous 2 beeps at powerup. Putting pressure on the aforementioned PE-21212 delay line would bring it back, but it required significantly more pressure with each attempt. I hooked up an oscilloscope to the input and outputs of the delay line and discovered that the input signal wasn't being delayed at the outputs at all! I found a replacement component on eBay for about $6 (+ shipping), and put that in and now all is well. So I think I've solved this one once and for all.
 
Bad solder joint, or perhaps a foreign piece of metal grounding something that it should not be.

Besides looking at the motherboard components, look at the connectors too. The pins in the sidecar bus and accessory connectors are prone to damage and breakage, and there might be something lodged between a few pins that does not belong there.

If you wanted to remove the connector, the female connector is easy to remove once you unscrew the two screws. The male connector with those long pins, can they be removed by a reasonable amount of physical force? They don't seem to be soldered in.
 
you have exactly described the problem with my PCJR, though here we are ten years later, and no source for the delay line remains. (Other than a few of those shifty "we sell everything until you ask, when we will find that it is no longer in stock" sites.)

Other than pushing on the Pulse Engineering PE-21212 chip every time I run the PCJR, does anyone have a suggestion, or insight into what the delay line actually does for the computer... I'm understanding it may simply send a CAS signal as an echo of the RAS signal 150ns later? Can this be faked with an Atmel micro controller running IRQ code that is triggered by the RAS signal, tweaked until the delay is in the neighborhood?
 
Last edited:
you have exactly described the problem with my PCJR, though here we are ten years later, and no source for the delay line remains. (Other than a few of those shifty "we sell everything until you ask, when we will find that it is no longer in stock" sites.)

Other than pushing on the Pulse Engineering PE-21212 chip every time I run the PCJR, does anyone have a suggestion, or insight into what the delay line actually does for the computer... I'm understanding it may simply send a CAS signal as an echo of the RAS signal 150ns later? Can this be faked with an Atmel micro controller running IRQ code that is triggered by the RAS signal, tweaked until the delay is in the neighborhood?

That's exactly what it does. The same thing I believe is done on the regular IBM PC motherboard (and presumably clones). It's cheap but works apparently...until it doesn't. I think your solution could definitely work.

Mine has started doing the two beep no screen thing again, but I think this time things are different. If I'm persistent enough in toggling the on/off switch it will eventually start normally and then it's fine after that. I am thinking that the computer isn't being held in reset long enough for the power supplies to stabilize.
 
Can this be faked with an Atmel micro controller running IRQ code that is triggered by the RAS signal, tweaked until the delay is in the neighborhood?
No need for IRQ or any magic. Just read the input continuously and write the delayed version - a delay line doesn't care about the value either, it just delays it.
 
Back
Top