TL;DR version:
- My Super Serial Card wasn't accepting any keyboard commands, either via Control+A or Control+I.
- Attempts to transfer anything over to it just resulted in garbage, if anything, on the screen.
- The problem turned out to (probably) be worn out DIP switches that no longer closed the circuit when set to "On".
The full story:
My recently-aquired Apple IIe happened to come with a Super Serial Card, which I planned to use with ADTpro. However I couldn't get the thing to work. It responded as if it were set to the wrong baud rate, but it wouldn't let me change it via the keyboard (I tried both Control+A and Control+I). Setting the DIP switches to various positions didn't help either.
- My first step was to visually check for any obvious problems. Leaking caps, broken solder joints, etc. Didn't see anything.
- With the card in and powered up, I checked voltages. Everything seemed okay.
- Then I pulled the card and checked for any shorted-out capacitors, but didn't find any. I expected as much since that would've likely caused problems right from boot-up.
- I took out the modem/terminal jumper block and checked it for the correct continuity. All good.
- While I was poking around, I checked some of the DIP switches and noticed that a few were inoperative, causing open ("off") circuits no matter what the switch was physically set to. I didn't give that much thought though, since I figured all the settings could be overridden in software anyway. [Spoiler alert: I was wrong.]
- Next was to check the socketed ICs, starting with the 74LS245. It's a transceiver chip that goes across the data bus. If it was bad, any communication between the computer and the card would be wonky. I tested it with my MiniPro and it came up as good. I also swapped in a new chip just in case, but that didn't change anything. So the 245 wasn't the problem. I cleaned the socket with DeoxIT and put the chip back in. (By the way, I use the free/open-source minipro software on my Mac. The current release version doesn't do chip testing at the time of this writing. I had to downland and compile the latest dev version from GitHub, and also upgrade my firmware, in order to get the testing capability.)
- Then I pulled the 2316, which is the ROM that holds the firmware. Maybe some of its memory had deteriorated? I dumped the contents to a file via the MiniPro and compared that file to a binary of what the firmware should be (found on the Internet). A perfect match, so that wasn't it. I cleaned its socket and put it back.
- At this point I'm thinking I'm going to have to check the various logic chips, which are soldered on. Ugh. I scoured over the schematic to try to figure out which one would be the best one start with.
- That's when I noticed that not all of the DIP switches are doing things that are also under software control. Specifically, SW1-7 and SW2-7 are wired into the signal path between the DB-25 serial port and the 6551 ACIA chip. They work together to control what pin on the serial port winds up connected to pin 16 on the 6551. And SW2-6 is wired between the interrupt line on the card slot and the interrupt pin on the 6551. Software can't override any of these paths, so if the switches along them go bad, it might matter!
Ideally I would just replace the switch blocks, but I didn't have any replacements handy. I did what I could with Deoxit and got a few working. I took a couple of snipped-off component legs that I had saved for just such an occasion and hard-wired the backs of two of the switches that needed to be on but still wouldn't close. Ugly, but effective. I'll do a real repair later... probably. Maybe.
I put everything together and... success! Now I'm assuming that the switches were the problem, but I guess there's a chance it might have instead (or also) been the cleaning and reseating of the ROM that did the trick. I didn't do a test immediately after that to see.
Some posts from AppleFritter were in the results when I Googled this problem, but none of the threads helped. So hopefully this will help some future enthusiast who is having the same problem as me!
The bigger the blob, the better the job, right?
switch_fix.jpg
My MiniPro wasn't able to recognize a 2316 ROM (as far as I could figure out, at least). But, as many here know, the 2316 is nearly pin-compatible with the more-common 2716 EPROM chip. The main differences are the enable pins.
So I plopped the 2316 on a breadboard and hooked the data, address, and power/ground lines to the MiniPro via jumper wires. I borrowed the power and ground off the MiniPro for the rails on the breadboard while I was at it, and then "manually" tied the remaining pins high or low on the 2316 to set it up for reading. Worked like a charm!
memory_dump.jpg
I really like the trick of running out to a breadboard like that. I honestly hadn't thought of it.
Such a good idea.
Chesh