Page 1 of 1

PCjr Serial Port Shennanigans

PostPosted: Sat Sep 29, 2012 1:47 pm
by balsino
Guess my serial port is bad. It is a marginal performance problem which makes it worse. I was looking for an excuse to play with ProComm Plus on my PCjr, so I tried connecting jr to a serial port on a network switch with a direct connection. ProComm Plus showed correctly when I was online, because when I broke the serial cable connection it would immediately show I was offline. Yet when I was online, I could never get any connection characters on my screen, not even garbage ones.

As a sanity check, I used ProComm Plus and the same serial cables for a direct serial connection with that same network switch (sans a jr serial cable, of couse) on my IBM Aptiva DOS PC, so I know my serial cables are okay.

The serial port on my PCjr comes up as COM2 because I have the 300 Baud internal modem in my jr which is COM1. I tried 3 different PCjr serial cables, all with the same result. Then for further testing, I decided to pull out some external modems - my original PCjr compatible Supra Modem 2400 and a couple of US Robotics modems. The PCjr serial port was never able to do anything with those modems.

Finally, frustrated, I decided to test and play with the COM1 PCjr internal modem, using the PC Enterprises software made for that modem. It worked! Of course, I got garbage characters on the screen, as who even supported 300 Baud when the PCjr came out!

To confirm the PCjr serial port was bad, I went to run the diagnostics on the port using the Harware Maintenance Manual and the serial port wrap test plug. Guess what - I installed those PCjr "Port protectors" IBM gave out for free in the late 1980s so you don't damage your PCjr port pins, and now those wrap plugs cannot fit in with those port protectors! It seems impossible to take those port protectors out too, so I just had to abandon that test.

I tried using various serial mouse devices on my jr back in the Spring, and none of them worked either. So I guess this latest series of attempts to use the serial port shows it is definitely dead. Oh well. I have other specially modified PC Enterprises jr system boards I can substitute, but I am too happy with the rest of my PCjr to attempt a repair right now. I'll leave that project for the distant future!

Re: PCjr Serial Port Shennanigans

PostPosted: Sun Sep 30, 2012 7:48 am
by Brutman
I think it's highly unlikely that the serial port is bad. Some questions:

The BIOS only supports speeds up to 2400 BPS. The machine can run as high as 9600, but not reliably - it depends on if you are updating the screen, the keyboard generates an interrupt (NMI) or if the diskette comes on. All of those will cause lost characters. What speed were you trying to run at? Even at those speeds you should be able to get something on the display.

Lower speeds are going to be closer to "spec". That's because the PCjr uses a different divisor frequency than the PC or XT do, and the higher you go the less accurate it becomes with respect to the published spec. 300 to 2400 bps are well within spec. 4800 and 9600 start to vary - I think at 9600 the timings on the line when looked at with an scope are off by more than 5%. (@#$@ IBM being cheap ...)

I use ProComm 2.4.3 on the Jr. That has always worked for me. Whatever comm program you use set it up so that it ignores the handshaking lines like CTS, DTR, etc. That is the most simple configuration, and you need to have all of that crap turned off on both sides. If it works like that then you can start enabling those signals again. If ProComm Plus is showing you "online" or "offline" then definitely disable these signals on both ends ...

Are the pins on the Jr bent? Is there a stray fleck of metal on the motherboard that doesn't belong there? I assume that you checked all of this, but sometimes it works better with a magnifying glass. Cracked solder joints are hard to see with the naked eye.

The "pin protectors" from IBM do come out - they are just held in with plastic friction tabs. If you squeeze them in the center they should come out. Squeeze and pull the top out first, then the bottom. Then you can use the wrap plugs to run diagnostics. Diagnostics will definitely spot a bad 8250 UART.

Do you have a serial breakout box? They are kind of a lost art but they really help in this case.

Pull the modem out and try it again. Most Jrs don't have the modem installed, so the external serial port (com2) shows up as com1 even though the port assignments say com2. Procomm lets you specify the port assignments directly instead of trusting the logical names. There are also programs like "comswap" and "comrest" that can swap the port assignments. Try all of the combinations ... and leave the internal modem out, it's just pulling power and it's a piece of garbage. (Sorry!) There is a modification that turns it into a second serial port - if you did that at least it would be useful.