TRACkiNG DOWN AN UpGRAdE MALfUNCTiON
THOMAS J. ANdREWS, CONTRibUTiNG AUTHOR
Some time ago, my RAMBO upgrade failed. After over three months of working flawlessly, it began to get confused. RAMdisks and files would disappear in whole or in part. Sometimes it would fail to boot the RAMdisks, becoming lost and wandering off along the way.
It was worst when trying to use the ACE of Syracuse "Backstairs" BBS. Downloaded files would disappear when I attempted to copy them to a floppy disk, and the number of free sectors in the RAMdisk would shrink without warning. One of the files I had uploaded was corrupted and unusable. And in the most maddening fashion, every once in a while it would work perfectly.
A severe feeling of depression began to creep in to my being. As I had been told before-and now experienced for myself-having an Atari 8-bit in trouble in Syracuse NY in the 1990's is a terrible feeling. You alternate between panic and dispair, wondering if you should try to find a repair service (fat chance these days!), buy a "reconditioned" one by mail order (from the West Coast: weeks of withdrawal!), chuck everything Atari and get a better supported computer (misery), or take up something less stressful for a hobby (like brain surgery).
Realizing I couldn't continue this way, I switched to my brother's computer, which has also been upgraded, and started to investigate. One of the first things I did was to run the RAMTEST.OBJ program on my computer. This program, available from the Backstairs BBS, is designed to test the RAM installed with a RAMBO upgrade. Much to my surprise, it passed with flying colors, even though I ran the program three times. Obviously, my problem was outside the range of this test.
The next step was a three-way discussion with a couple of ACE heavyweights. Ken Wickert, who currently holds several offices in the Syracuse ACE, has relatively easy access to information and experiences published in user group newsletters from all over, and he's no slouch with the 8-bit himself. Ken Brick, our beloved President, has experience in electronics servicing of medical equipment, and while he is not intimately knowlegeable about the 8bit, he does know about the general aspects of computer circuitry. For my part, I brought to the conversation a pretty good working knowlege of the 8-bit operating system and a dusty, little used, 20-year-old electrical engineering degree. Oh yeah-I also brought the problem.
Probing the Patient
We began with some of the easy things to check.
The power supply was proposed as a possible source, but I said that probably wasn't it. When I had switched computers, I merely pulled the cables out of the back of mine and plugged them into the other computer, using the same power supply, drives, and software as I had on my own, and my brother's worked perfectly. Of course, mine had worked perfectly for three months.
The memory chips came under scrutiny next. The RAMBO upgrade doesn't come with the 256kx1 DRAM chips; you have to purchase them separately. I had bought mine at bargain prices at a computer fair that was held at the New York State Fairgrounds earlier in the year.
These were 80 nanosecond chips, much faster than those the XL and the RAMBO were designed to use. Ken Wickert knew of this, since he had been with me when I bought them, and he began to question their compatibility on the basis of the excessive speed. I felt that if they were incompatible, they wouldn't have worked as long as they did. Ken Brick put this speculation to rest right away. He explained that the speed of the chips only indicates how quickly they respond when called upon to deliver information to the data line. Once the information is delivered, it remains there until the CPU is ready for it.
However, Ken Brick did suggest that one of the chips might have developed an intermittant problem. It seems that if a chip is going to fail, it will usually do so within that three month period. While they usually don't wait that long to fail, it does happen.
Since the problem seemed to be confined to the expanded memory, I first suspected the RAMBO itself. Later, after a little research into this area of the operaitng system, I began to feel that the PIA chip might be involved. The PIA, or Peripheral Interface Adapter, exists in all Atari 8-bit computers. Its original function in the 400/800 operating system was to control the four controller ports, which can be used for more than just joysticks.
Since few programs utilized ports 3 and 4, when the XL was designed this part of the PIA chip function was changed to memory bank selection. Part of the RAMBO installation involves soldering a fivewire ribbon cable to five of the pins on the PIA. A little too much heat here can turn a perfectly good chip into useless junk. Ken Brick's response to this idea was that an intermittant problem like this could be very difficult to find and that it really could be almost anywhere in the computer.
It soon became obvious to each of us that we needed more information to eliminate some of these possibilities, so it was suggested that I try disassembling my XL and replacing some of the components with those in my brother's, which were known to be good. By switching components, one by one between the two machines, the source of the problem would probably be found when it moved from one XL to the other. Because all the chips in each of our machines are socketed instead of soldered, this was a relatively simple test to perform. After negotiating permission from my brother, I decided to start with the memory chips.
I opened up my XL first. Removing that circuit board from the case does get easier with practice. Just in case, I examined the RAMBO installation before removing the chips-,and there I found it!
One of the solder connections of the ribbon cable had broken. When I soldered the wires, in my zeal to protect the PIA chip I had been too lighthanded with the soldering iron. (It would seem that a proper balance is required, too little being as bad as too much.) I resoldered the cable, doing a better job this time, reassembled the computer, and tested it. Everything worked fine again, and still does. Once I knew where the problem was, the symptoms began to make sense. Let me try to explain.
A Logical Explanation
As I mentioned before, part of the function of the PIA chip is memory bank selection. Memory location 54017, which has been given the name PORTB, is used to do this.
The ribbon cable is the electrical connection between the register and the RAMBO circuit board. If one of the wires is disconnected from the register, the RAMBO board always sees that bit as a 0, no matter what is in the register. This will cause the wrong bank to be accessed, and writing to the wrong bank will scramble the data that's supposed to be there-unbeknownst to the CPU.
The computer worked part of the time for two reasons. First, if the RAMdisk controller didn't happen to use the disconnected bit, no scrambling took place. Second, the wire was close enough to the pin that the vibration of typing would occasionally make or break a tenuous connection.
The RAMTEST program didn't pick up the problem because it had no way of knowing that a particular bank of memory it was examining was the wrong one. As long as it found a functioning bank, it assumed all was as it should be.
It's been quite some time now, and there's been no recurrence of the problem. I was lucky-this time. This was a simple, obvious problem with an easy repair. But one question remains unanswered. What do we do when the repairs aren't so easy?
[Reprinted by permission from the Syracuse ACE Newsletter.]