Tuesday, September 22, 2015

Major work SAC Interface Box device support, plus working on 1053 console printer


I went out first thing this morning and fired up the typewriter/keyboard diagnostics again. The occurrence of drop-out intervals, where the solenoids fire but the print cycle doesn't trigger, are fewer today. This appears to be more dried lubricant working its way out from inside pivots and other spots I can't easily clean or flush.

As of this morning, what isn't working properly:

  • tab no longer triggers under program control
  • index doesn't trigger under program control
  • carrier return sluggish, sporadically doesn't unlatch fully
  • once in a blue moon, CR will skip past left margin
  • ribbon color nylon tape still not repaired/installed
I will go adjust the tab and index operational magnet trip links to fix the top two problems. I still haven't measured the force of the CR operation but that and corresponding adjustments are upcoming. Since some of the symptoms are still indicative of lingering lubricant issues, they may go away completely after substantial further exercising of the mechanism.

The nylon tape that shifts ribbon color tore off its right hand hook - unfortunately the hook is lost as well. Once I find a suitable replacement hook, I will use an adhesive to replace the hook on the end of the tape and install it once again. I put in a half hour scouring the workshop for signs of the missing hook end - but alternatively for a shorter tape I received in error that should still have good hooks on the ends! Of course, I couldn't find either during my lunch hour so maybe this evening I will get lucky. 

The hunt was finally successful tonight. It did prompt me to do a bit of cleanup while searching. I now have the intact tape that is too short for this typewriter and my correct length with the broken end. Having the proper parts, now I just need to use the right adhesive to remake a loop into which the hook will fit. The original process looks like it might have been a heat fusing process, based on the dimple I see, but that could also be pressure during the adhesive setting time.

Good end of my tape on right and good spare on left

My tape on right has torn loop and lost the hook, which you can see on good spare to left
I am playing with the adjustment for the index operational magnet pull link - in order to get the index (line feed) working well. I found that the damned spring popped off the back of the tab interposer, which is why tab is not working any more. I will find a better spring and fit it onto the interposer - sigh - in another tedious task with insanely limited access.

I can see evidence of old lube coming out of the mechanism, so there is hope that I can keep exercising this until it becomes rock solid.

Lubricant coming out as machine is used


I removed the jumpers on my power-up relay in the SAC Interface Box. This relay is engaged when main 1130 system power is on, through a low voltage AC line coming over the cables, and in turn powers on my circuitry in the box.

The fpga auto-loads its bitstream and initializes when power is turned on. I found that the timing is a bit slow, so that the 1131 comes out of its power-on reset with quite a few interrupts triggered spuriously. I can deal with that by powering up in SS mode, then doing a Reset before switching the processor to normal Run mode.

My changes to mirror the 1053 console printer, the 1131 keyboard, the 1131 console bit switches and the 1132 printer are now included in the SAC box. I have to whip up the appropriate code on the PC side so that whenever I open a file as a mirror of the device, the code polls and extracts the data and status information it needs to faithfully recreate in the file what the operator sees on the real device.

I am still thinking about how to deal with the 1442 reader/punch that I have. If I can't get it operational in the near term, I could create a virtual 1442 device in the SAC box. The only unique requirement is that I need to find and block the area code or XIO signals getting to the IO adapter logic in the 1131. If the adapter doesn't see the XIOs or doesn't see its address, it will not respond and I can safely do so with my box.

I did some investigation of the logic pages to see what is the cleanest way I might disable the 1442 adapter logic to allow my box to take over. There is one source, gate A compartment C1 card F3 pin D06, which I can jumper to ground (pin D08 of the same card). This will cause the IO adapter to ignore any XIO targeting its area code of 2 and therefore it will be disabled.

A virtual 1442 reader should look similar to the virtual 2501, although the punch side will add some complexity. On the other hand, the 1442 does not use cycle steal, instead interrupting the processor for each column which requires the software to issue 80 separate reads or writes. I have to plan out the fpga side of the virtual 1442 reader and punch logic. This will take a few days.

Meanwhile, I began to write the first mirror code in Python for the PC side. This will mirror what is typed on the 1053 Console Printer. At this time, I am ignoring what is typed on the keyboard, looking only for XIO Write commands which are the codes to drive the selectric mechanism. I built a dictionary of all the valid codes for the printer and the corresponding ascii character that would be typed.

There is no cent sign or 'not' symbol on the PC, without going to unicode or other complex encoding, so I simply substituted '^' and '~' for them. The control codes for new line, form feed, tab, and backspace are translated to their ASCII equivalents /n, /f, /t, and /b while the space is obvious. Two control commands, shift to red ribbon and shift to black ribbon, will instead stick a null in the file. I need a better substitution. 

No comments:

Post a Comment