Thursday, August 27, 2015

Planning an enhancement for SAC Interface Box, plus debugging the Console Printer operation


I dove into some diagnosis - since the printer staying busy is a symptom that affects other diagnostics as well, I decided I should dive into this one first. I hooked up the scope to the signal lines coming from the console printer in order to check for a flaw inside the selectric mechanism.

It appears to be working properly - the scope shows the response switch dropping as it should during the cycle on the typewriter, and the interlock for tab and carrier return (long operations) seems to be working too. However, the status as far as the diagnostic code is that the printer is busy (DSW bit 4 is on).

In addition to the adapter making this active during the course of a mechanical typing operation, it can be on if the end of line switch is set. That is an important clue, since my machine had a local mod by the previous owner that activated a buzzer when end of line is on. I moved the scope line over to see what level is emitted on the wire.

When the End of Line signal was verified, I did some bare metal testing on the machine. The results were mixed. When I commanded it to write any signal character, it seemed to always get the tilt and rotate correct to make it happen properly. Space commands also produced an appropriate motion of the carrier. That is about the limit of what worked correctly.

I could see that the two commands, Shift to Red and Shift to Black, were doing something as the tape tension changed on the nylon tape that should be pulling on a pivot inside the carrier. However, the outcome was always the same, red ink for the character. This is probably just an adjustment issue for the tape tension.

Regardless of whether I requested an upper case or lower case carrier, that is carriers from one or the other hemisphere, the ball stayed where it was. There is a problem with the shift operation that should be commanded by the adapter logic. I will need to chase it down to find out whether the adapter is triggering a cycle but the mechanism won't more, or whether the issue is in the adapter.

When I push the front panel buttons that mechanically trip the selectric mechanisms, I got space, tab and carrier return. However, when I entered the control character that should cause those to happen, only space worked. Backspace, Tab and CR all failed to start any movement. Again, the location of the fault, either in the adapter logic or in my typewriter mechanism, will be determined by checking for a solenoid pulse when the movement is commanded.

Most troubling is that the level 4 interrupt that should occur is not triggered. I issue an XIO Write, it types a character but no interrupt. Unless the Interrupt Delay switch is on under the covers somehow, this situation shouldn't happen. There seemed to be the appropriate Print Response condition in the DSW when I checked it, but I could do a more exhaustive sequence of tests to see what repeated Write commands without a reset cause.

The good news - at least from a time to repair standpoint, is that the Interrupt Delay switch was indeed set. When I was snaking the cable from the console printer back down inside the machine, where it runs near the bank of CE switches, it must have snagged that one and turned it on. With the switch fixed, typing a character does cause a level 4 interrupt just as it should.

Now, when I run the keyboard/typewriter diagnostic, it waits with a different error - 30F9 - which means that an interrupt level is high when it should be reset. That is, I trigger the first typewriter action and the machine is not resetting the interrupt level as it should.

My suspicion is that I have a defect in my SAC Interface Box fpga logic, since my virtual 2501 card reader is also using IL4. My guess is that somehow my logic is getting confused when it sees the machine enter IL4, so that the machine continues to request that interrupt level after the typewriter adapter has dropped its request.

This could be a indirect symptom of a timing issue within the typewriter, such that the adapter isn't in a good state and it is the cause of the IL4 demand. I will sort this out by scoping the IL4 request line on my box, as well as by looking through my logic to see if another device using IL4 might cause this behavior in my state machines.

If it weren't in the mid 90s (F) out here, I would be doing more testing but it isn't fair to the machine to run it in the high temperatures. I did go through the adapter logic to try to find situations that might cause some of those symptoms - it could be misadjusted feedback from contact switches in the typewriter, or could be bad logic due to a failed component.


I looked for the 1134/1055 diagnostic module so that I could test out my paper tape reader and punch implemented through my SAC Interface Box, but as the installation from which I received the machine did not have these installed, they didn't punch and save the diagnostics either. Same for the 1627 plotter module and the 2501 card reader diagnostics, both of which would be quite helpful in testing out my work.

I would like to be able to punch out cards, either physically on the 1442 reader/punch or virtually to the PC, but the only punch devices supported by the 1130 system are 1442 models. These use interrupt level 0, which the SAC interface doesn't support. I did some research to see how I could add in the support for those levels, plus the three machine pushbuttons Imm Stop, Reset, and Prog Start.

I found where I can monitor the signals for interrupt level 0 and 1 active, thus I only need to add some driver circuit to get the signals over to my SAC Interface Box. Similarly, I found two spots where I could 'wire-or' a signal to request interrupt level 0 or 1, simply by pulling the line down to ground. If I add a suitable receiver circuit from the SAC Interface Box I can inject the interrupt level requests.

As far as the three pushbuttons are concerned, a bank of relays will allow me to control these remotely. The Immediate stop is a simple N/O switch, and the Reset button is a simple N/C switch, but the Program Start switches the +12V between the N/C and N/O outputs to a circuit that needs to see the pair of signals swap between opposite levels. If I drive this with a relay I can activate it with a single line and do so from multiple places.

I will install the relay bank inside the 1131, under the keyboard, and wire the three activation lines out to my SAC Interface box, along with the four interrupt level based signals I found above. I do have to tie up fpga pins to add the functionality, but I can use just five.

The reason I only need five is that my only use for the Imm Stop, Reset and Prog Start buttons is to implement the equivalent of the Prog Load button - where my box will push those three in a fixed sequence. I will have a sequencer that pushes Imm Stop, Reset, then pauses long enough for my PC side program to push down the 80 columns of boot card image, before the sequencer pushes the final Prog Start button.

No comments:

Post a Comment