Thursday, September 3, 2015

Tab interposer spring installed in 1053 printer, wiring and cabling work for SAC Interface enhancement

1053 CONSOLE PRINTER RESTORATION

I pulled out the spring that pulls the tab interposer rearward, since it was not exerting any force. Comparing it to the proper spring which is much shorter, the reason for its failure to work is obvious. I have the proper spring and have to get it attached using springhooks and other tools that I can snake through the very limited openings given me access to the interposer and the rear attachment point.

Incorrect, overly long and weak spring on left, proper one on right
I did get the new spring hooked to the tab interposer, now the challenge was to get the other end secured over the rear mounting point. Somehow, I managed to poke a springhook from the rear, then tilt the machine and and use another springhook to get the spring over the first one. With that done, I could return to the rear, pull it out and gently coax it over the rear mounting point.

That done, I tested the tab interposer which now snaps back cleanly when pulled down, which means it will work when I reattach the operational magnet assembly and all the pull links. Before I reassemble, there is another spring, the one that extends from a tang on the back of the backspace interposer and holds the backspace operational latch frontwards, out from under the operational bail.

It is only when the backspace interposer was triggered and slid rearward that it will push the backspace operational latch under the operational bail. The operational bail oscillates down and up with operational cycles, pulling down on any operational latches which are pushed under the edge of the bail when it moves. The bail pulling down on operational latches is coupled through pivots, levers and fulcrums to the various mechanisms to accomplish the movements such as space, backspace, tab, return and index.

I got the spring hooked over the backspace operational latch but now have to force it over the tang on the backspace interposer. A few tries with sets of springhooks failed, after which I took a breather from this somewhat frustrating task. When it is on, I can reattach the operational magnet assembly since I won't need the access to the interposers any more.

I managed to hook the spring on, but while I was moving the machine around to install the operational magnets, another of the damned springs between interposer tang and operational latches came loose. I packed it in for the night and will wrestle with all the springs tomorrow, then reinstall my operational magnet assembly.

SAC INTERFACE FOR ADDING PERIPHERALS TO THE 1130

It was a terrific battle but finally I got my enhancement cable made. I had to snake a stiff wire through, tape the twisted pairs around then end, and then pull it back through the 17 feet of heat shrink. It took a good 100 minutes to finally work the stiff wire through the tubing, since it was pushing a bendable wire not actually any pulling.

There was no way to wires pulled through the thinner (1/4") heatshrink tube which would have been a nice fit, so I had to use a 1/2" tube which would not have tightened enough to hug the five twisted pairs. I took some token ring cable and snaked it through as a stiffener and to eat up the spare space, then applied the heat gun to tighten up the cable cover.

The male plug is now attached to the cable and the other end is snaked into place inside the SAC Interface Box. I found a good spot to connect the female connector on the 1130, near where the other SAC cables are connected. Once I build the small daughter boards that will sit near the 1130 logic gates and interface the signals to my cable, I can make up the wiring to run inside the 1130 cabinet.

I settled on the design for the small card to be mounted inside the 1131 near the logic gates and began wiring it up (with an IC socket as I don't have the chip yet). Still a few details to work out, such as the mounting location and hardware.

I ordered a small board for the power supply which will be TTL level (+5V), whereas the 1130 uses +6, -6 and +3V supplies. The DC-DC converter board will tap onto the +6V supply of the 1130 and produce +5V for any and all circuitry I place inside the 1131. Initially, it will provide power for my emulation engine (implements a virtual Prog Load button) and for the daughter card for the interrupt levels.
DC - DC power supply to cover SLT +6V supply to +5V for my TTL logic
I documented the pin assignments on the connector for the SAC Interface enhancement cable, so that I can wire up the 1130 side female connector and begin hooking the SAC Box wiring into the fpga. As soon as I have the console typewriter out of the way, I will open up the keyboard and upper cover of the 1131, to begin locating and attaching my boards and cables for the SAC enhancement.

I will secure the daughter board under the top cover, to the right of the console printer but still left of the usage meter and CE key. With the location set, I ran the twisted pairs that carry the interrupt level signals up to the daughter card from the IO connector panel at the bottom rear, having first housed the twisted pairs in the 1/4" heat shrink tubing.

Tomorrow, I will install the emulation engine and its relay board under the keyboard and switches panel, which will have its own run of twisted wire from the IO connector panel. With the wires in place, I will crimp all the female pins to the wires and install them in the female connector housing. That will get fastened with screws and nuts into an empty space on the IO connector panel. 

Wednesday, September 2, 2015

Light day, some work on SAC expansion cable

1401 RESTORATION AT CHM

On top of a heavy work day, I went over to the CHM in the late afternoon to help out with a few problems. There is a problem related to a broken wire inside the cable from the German 1401 to its first 729 tape drive, but a few other members were working on that. I sat down with another team member and looked at a power supply which was tripping out on the Connecticut machine, keeping it from coming up.

Ron had first checked the electrolytic filter capacitors, five 11000 uf units in parallel across the raw supply, and found that they had essentially no capacitance at all. Temporarily, he hooked up a 33000 uf electrolytic, but this is temporary until we can get the proper replacements for the five units that were in the power supply.

However, with the filter capacitors, it still wouldn't adjust to the proper -12V output level. It was sitting at a lower level, which was causing the crowbar protective circuit to trip the breaker as a protective measure. After a bit of hunting, we found that one of the ten parallel power transistors was shorted, which effectively bypassed all voltage regulation.

We replaced the transistor with a spare and then tested the unit. It needs a reference voltage of -6V for the voltage regulator card, which we supplied from a workbench supply, then verified that we could adjust the output voltage to exactly -12V.

Next, we pulled out a load fixture we have, which allowed up to place huge high power resistors across the supply and set up the unit to 0.75 ohm resistance and drive the supply up to 16 or so amps. The supply stayed at -12V, with a variance of only about 30 millivolts from zero to full load. This is ready to be put back in the system on Monday.

SAC INTERFACE FOR ADDING PERIPHERALS TO THE 1130

I picked up the heat shrink tubing and some connectors to use with my new SAC Interface expansion cable that adds interrupt levels 0 and 1 to the box, plus an emulated Prog Load button. I went out to snake my twisted pairs through the 17 feet of heat shrink, which was much harder than I expected.

I chose an Amphenol connector that can support up to 14 pins, twist-lock, which I will put on the 1130 end of my expansion cable. The cable will be hard wired into the SAC Interface Box on its other end. I have to designate the signals for each position, solder on the wires, and insert the pins in order to complete the cable. 

Diving into the console printer inability to trigger tab by program command, plus work on SAC interface box enhancement

1053 CONSOLE PRINTER RESTORATION

I now suspect that the tab interposer spring which should be pulling it strongly back to activate a cycle is an incorrect type. It is far too weak and thus the interposer won't slide back when pulled down by the pull link from the operational magnet.

There is also an adjustment screw which is the pivot for the interposer. On the tab interposer, this screw is much higher than the other four interposers. This may be contributing to the problem. Unfortunately, the direct way to get to these adjustments will involve removing the operational magnet assembly, a major pain.

Operational Magnet assembly removed, pull link clevises are black
Access to underside of interposers with op magnet removed
I bit the bullet and removed it. I did verify that a weak spring is the root problem and detached one end of the spring, but the far end is buried.

Correct interposer springs shown, under tension

Tab spring with almost zero tension to pull interposer rear-ward
I do hope that I don't also have to remove the mainspring, forward and reverse nylon cords, various mechanisms and starter capacitor so that I can also get to the rear of these mechanisms. That would be another huge PITA. I will hope I can do the equivalent of arthroscopic surgery with all this in the way.

Mainspring to right, other stuff blocking rear mount of tab interposer spring
SAC INTERFACE FOR ADDING PERIPHERALS TO THE 1130

I worked on my reset and startup logic for the emulation engine - the circuit that will fire off the four relays to "push" the Imm Stop, Reset and Prog Start buttons. NB - Prog Start is a DPDT switch and thus needs a pair of my SPDT relays.

Relays to push the three buttons on the 1130 console
Once I cleaned up the circuit with good noise filtering, it was working just as I wished. I wired up the relay board and was happy with the speed of the button pushing and the duration - I might not need to lengthen this beyond the 0.1s clock pulses.

Emulation engine that drives the relays with fixed timing
Here is a quick video of it sequencing, the tiny LEDs on the relay panel light as each of the buttons is "pushed". Once I work out the mounting method to install these two boards under the keyboard panel, I will wire in the switches to the relays.

I bought twisted pair cables, very similar to those used in the I/O cables on the 1130, in order to make up the supplemental cable for my SAC Interface Box. This cable will carry five signals, two inbound and three outbound. The signals involved are:

  • Inbound state of Interrupt Level 0
  • Inbound state of Interrupt Level 1
  • Outbound request to trigger Interrupt Level 0
  • Outbound request to trigger Interrupt Level 1
  • Outbound request to trigger emulation engine
I cut the twisted pairs to length and am now waiting for heat shrink tubing to arrive so I can turn this into a proper cable rather than several loose twisted pairs. It is the same length as the main SAC cable, plus 3 feet for runs inside the 1131. I haven't chosen a connector mechanism yet. 




Monday, August 31, 2015

Still battling persnickety selectric typewriter mechanim. Wired up the board to emulate the Prog Load button for virtual 2501 reader

1053 CONSOLE PRINTER RESTORATION

My adjustment for the carrier return latching issue has corrected the problem. I now sails across to the left margin whenever activated. Making progress. The unlatching when it reaches the left side is better but still will occasionally fail to fully unlatch. In those cases the movement seems mushy also.

I remain very happy with the character selection and shift operation of the console printer. I get every letter, typed cleanly, in both hemispheres. The remaining problems are generally independent of each other, allowing me to attack and fix each one in whatever order suits me.

I have adjustments for the carrier return unlatch, after I do a basic test with a spring scale to verify that the leftward pressure is appropriate. It should be around 2 pounds of pull to the left. I can adjust the governor that establishes the amount of pull.

I still have a few issues which I am working my way through, in addition to the carrier return failure to reliably unlatch at the left margin. Sometimes the index operation sticks on and feeds down many lines before it releases. Tab is still not adjusted to activate under program control. Lastly, I still see some poor spacing especially all the way at the left margin.

The poor spacing is likely the dastardly solidified lubricants which are so hard to completely flush from the unit without a total disassembly and bath in solvents. With continued use, this will improve, but initially I can just set the left margin over more to the right, to avoid the region where this occurs.

It may also be that my space escapement lever isn't moving far enough, so that at the end the tooth is just barely touching the rack. I will try to make some adjustments later to see whether this helps, but not today.

The runaway index is a failure of the interposer restorer to latch it back up - a matter of inspection and adjustment. It may also involve a missing spring out of the untold hundreds of tiny springs that are sprinkled across this mechanism.

Relatching for the indexing interposer was being blocked by a loose, excess spring down in the mechanism. After I moved it out of the way, but alas did not extract it completely, the index seemed to fire once and reset quite reliably.

The tab issue remains open to investigation. Definitely something wrong in the whole interposer/trigger mechanism, but not sure what it is right now. Unfortunately, none of the service manuals or the diagrams in the parts list are a complete view of the mechanism and how it should be operating. I spent some time in the late afternoon studying everything I could on this section of a selectric.

When the other pull links are operated, they pull down on the interposer enough for the latch at the front to slip off, the spring then pulls the interposer back and it operates a cycle. No amount of tugging on the tab pull link will cause it to move down enough to slip the latch free, so it never moves backwards. Still no resolution.

I triggered both space and backspace operations, but the carrier was just dancing left and right a slight bit for both of them. Upon inspection I found that the tiny spring that holds the backspace operational lever towards the front had popped off. With both mechanisms tripping at the same time, the carrier didn't know which way to move. If I hold the backspace lever where it should go, a space operation works fine. I have the spring but attaching it is a PITA (pain in . . .), so perhaps later tonight.

The more I pull on the tab interposer, the more it seems that it is hung up on something, as it won't slide backwards as it should with a slight release, instead requiring a substantial push from the front panel button mechanism. Once it slides back, the tab function works just fine.

Some possibilities for the problem with the tab interposer:

  • loose spring inside somewhere jamming the movement
  • burr on interposer stopping it from sliding free
  • maladjustment of interposer (from among several adjustments)
  • misplacement of tab interlock swingarm

Once I can figure out and fix the tab issue, replace the spring on the backspace latch, and get the return torque adjusted better, and repair the ribbon color nylon cable, I expect to have a pretty decent console printer.

SAC INTERFACE FOR ADDING PERIPHERALS TO THE 1130

I spent some free time in the morning putting in all the wires on the emulation engine board so that I am only waiting for the ICs, resistors and capacitors in order to finish it up. I used a prototyping board which means I have to put discrete wires for each connection between pin pairs Over lunch I tested to be sure there are no shorts among adjacent lines and that every connection was proper and sound.

I am feeling a bit nervous about the clock speed of the emulation engine - designed to be 0.1 seconds - as the various switched circuits attached to 1130 buttons might need a bit more time. More importantly, I want to be sure that the PC program will see the machine complete its reset, then store all eighty words of the boot card image into core before the emulation engine presses the Prog Start button.

I decided to slow down the clock to 0.2 or 0.25 seconds. The entire emulated Prog Load sequence will still only take 2 or 2.5 seconds, which is fast enough to see immediate when the user pushes on the Prog Load button on the PC side program. I just needed to parallel the timing capacitor with another, to increase the total capacitance, thus increasing the RC constant of the circuit and slowing the timer pops. I will get a suitable capacitor later and test now at 0.1 seconds.

When the components arrived this afternoon, I wired in the resistors and capacitors, then did a final test for shorts and incorrect connections. I put together a quick testbench, hung the scope on the lines and listened to the relays as I triggered a cycle.

Initially it did not work satisfactorily, with the flaw being in its initialization and reset circuit. When it was running it counted up and fired the relays exactly as desired, but without resetting to the initial state after a cycle, it wasn't usable. I put it aside to mull over tonight and make adjustments to the logic tomorrow.

While running the 1130 to test and adjust the 1053 console printer, I was using the SAC Interface Box to reload the diagnostic program whenever it seemed to be wedged up. At one point, when I tried to power it back up for another round of diagnostic test loading, the box didn't fire up the fans or power supply. I have good power to the outlet and the cord looks fine, so I had a new issue to have to debug.

The connector for the AC input to the power supply itself, inside my box, seemed properly seated but a bit of wiggling brought the box back to life. With this resolved, I can go back to my testing tomorrow.

In the meantime, I expanded my UCW (unit control word), which keeps status for each of the twenty possible peripherals that can be hooked to the box, to include interrupt levels 0 and 1. The logic for setting, resetting and reporting the two new levels was added as well, so that once I have this enhancement wired into the 1131, I can start supporting virtual (PC based) and real (hardware hooked to the box) devices such as the 1442 and 1132 that require these interrupt levels. 

Sunday, August 30, 2015

Console Printer (1053) adjustment/testing and enhancement of the SAC Interface Box

1053 CONSOLE PRINTER RESTORATION

I hooked up the scope to the busy lines on the adapter - the line from the typewriter mechanism into the adapter and then the official busy line that is produced by the adapter logic. I used it in conjunction with my testing to figure out when problems arise.

Mechanically, I made adjustments to the five pull links that the operational magnets yank when the solenoids are activated. These fire the Tab, Return, Index, Space and Backspace cycles respectively. Four of the five were too loose, so that the pull link didn't trip the interposer to fire off a cycle. The Tab link, on the other hand, isn't firing the interposer regardless of the adjustment.

I adjusted the four links so that they would trip when I pushed down on the operational magnet armature, which I believe will make them work well although for completeness I checked this under diagnostic control. What I found is very encouraging. Spacing, backspaces, indexing and carrier returns are triggered reliably by program command.

I have a few problems with carrier return which are purely in the mechanical side of the typewriter, and for some reason tab won't trigger when I yank on the pull link. I imagine this is also purely a mechanical issue inside the typewriter.

When I ran the diagnostic, it was typing away, triggering returns, and in the test for alignment it would forward space to type black 0 characters then backspace and type a red + inside. These looked quite nice most times it tried this test. The characters on both upper and lower case side of the typeball typed cleanly.

Here is what is unresolved as of dinnertime:

  • Carrier return doesn't latch as it should, stops after an inch of travel
  • Carrier return is not pushing the left margin stop hard enough to unlatch
  • Tab does not activate by pull link at all
  • My broken nylon ribbon is stopping the machine from activating the red/black ink halves of the ribbon under program control
The lack of activation of the tab interposer means that some adjustment is way off so that it won't unlatch on a pull downwards. The only reason it activates by the button on the front panel is because that forces the interposer back. If I can figure out what is wrong with the triggering mechanism on the interposer, it should fix all these problems.

The carrier return is a more pernicious problem - the toughest part of the machine to rehabilitate. Within this, there are two subparts - not moving far enough to latch and not unlatching on the far side. Frankly, I have to check that the high speed gearing is engaging, as the failure to unlatch at the end could be a result of slow or anemic movement. There is also a clutch spring on the operational shaft that can affect the carrier speed. 


The nylon ribbon for selecting the color of the ribbon is a simple attachment and adjustment, if I can repair the end or find a new part.

After a bit of studying, concentrating on the carrier return problem where it doesn't latch, I knew what was wrong. There is an adjustment where the latch edge should overthrow the slot in the keeper but it isn't even clearing the edge most times. I loosened the nut and moved the bolt head down to achieve the overthrow I wanted.

I did accidentally loosen a nearby nut first, and in spite of tightening it back down, I have to adjust that one to get the mechanism back to working properly. The adjustment is twisting the escapement, as it has to during a return operation to pull the escapement teeth out of the rack, but if it doesn't release fully it will stop the spacing and tab. That is the current symptom.

SAC INTERFACE FOR ADDING PERIPHERALS TO THE 1130

I put in some time changing the logic in the fpga to add a transaction type to be sent from the PC that requests activation of my emulated Prog Load button - a sequence of Imm Stop, Reset and then Prog Start key presses. In between the Reset and the Prog Start, the PC program will have to write the 80 words into low storage which will get executed when the Prog Start key finally activates.

I also built in the new signals for Interrupt Level 0 and 1, but have not yet changed my UCW design or other logic to fully implement these new signals. Basically, I need two bits to control these two levels, plus the logic that sets and resets the bits as IO device adapters work, and the logic that first the interrupt requests when the UCW bits are set.

I began assembling the logic card for the Prog Load engine that will sit in the 1131 under the keyboard. The parts won't all be here for a few days but I could put in IC sockets and do some wiring. I found a convenient set of signals from the fpga to handle the four signals for the handling of interrupt levels 0 and 1, but I haven't yet selected a pin for the trigger to my Prog Load engine.

The sequence to activate this, from the PC program side, is:

  1. verify that there is a binary mode card deck loaded into the virtual 2501 reader
  2. issue a transaction with code 14 and special value 127 which triggers the emulation engine in the machine.
  3. verify that the USB link returns the same command code 14 and word value 127.
  4. issue status fetches for the word that has the Reset line as one of its bits
  5. wait for the Reset line to go active, meaning that the emulation engine pushed Imm Stop and now Reset buttons
  6. wait for the Reset line to go inactive, meaning that the processor is waiting at IAR of 0x0000
  7. request cycle steal writes for the first card image, in boot format, into locations 0000 to 004F
  8. at this point, do nothing. The emulation engine will push Prog Start to begin executing at 0000

There are several independent mechanisms that have to work in the proper sequence, but I don't have much ability to synchronize them. After I fire off the emulation engine for the Program Load, by sending the command type 14 from PC to the fpga, that engine has no interaction with the fpga.

The emulation engine steps through a ten stage state machine with its own on-board clock operating at about 10 Hertz or a click every 0.1 second. The machine presses the Imm Stop key for .1 second, pauses for .1 second, then pushes the Reset  button for .1 second. then waits a half second before pushing the Prog Start button for .1 second and finishing.

During the half second, the PC has to see the Reset signal drop, meaning the action of that button has finished, then the PC will request 80 write cycles to load memory with the boot instructions. It can't start too early or the 1130 will still be in reset and not able to handle the cycle steal write cycles. If the 80 characters aren't stored by the time that the Prog Start key is pushed to begin execution, the boot instructions might not yet be in core. 

Working through the 1053 Console Printer (IO Selectric) diagnostics and making adustments

1053 CONSOLE PRINTER RESTORATION

I worked on the adjustments for the shift mechanism and it now seems to reliably move between upper case and lower case positions when I manually push on the appropriate solenoid. I attempted a power on test, but there is still the unresolved issue of a level 4 interrupt that is unexpected or not cleared. I will need to shoot that first.

Another humid day, although a bit less hot with highs only forecast to reach the upper 70s (F). It is sticky in a way that we normally don't experience out here.

If I hadn't run into a diagnostic that was checking for extraneous device interrupts, I wouldn't have found this error in my fpga logic until sometime later. My change fixed this problem, so that I can move back to the debugging of the console printer.



It is now shifting properly but I suspect it is still getting lost in a busy state. I am bashing my way through the diagnostic, in equal parts understanding what it is saying, how it works and what problems it is flagging. 

Another issue solved - I adjusted the ribbon color mechanism so that it shifts between black and red ink portions of the ribbon under program control. The remaining issues to work on:
  • Return button on front of printer panel starts CR but it is not latching properly into return mode (this will be fixed with an adjustment)
  • Getting lost in some state, but not sure what causes it until I understand the diagnostic better
  • XIO request for CR not activating a cycle
  • XIO request for Tab not activating a cycle
  • XIO request for backspace not activating a cycle
  • XIO request for line feed (index) not activating a cycle
Part of the diagnostic operation echoes from the keyboard to the console printer. I tried quite a few keys and it is getting the correct character, but I need to do a more exhaustive test to validate everything. The space bar, a separate microswitch, is erratic in its operation and needs contact cleaning. 

I put the diagnostic into a mode where I can type individual characters or movement commands by setting their value in the bit switches. I used that to validate all the XIO results. However, I can't quite get the diagnostic into that mode.

I did get some sporadic junk jammed onto the incoming data line, which I suspect is from one of my peripherals, so I uncabled the 1442 reader/punch and the 1132 printer for now. I can concentrate on debugging the keyboard, console printer and my peripherals hooked through the SAC Interface Box. 


I found a few more adjustments that improved operation. I think the situation where the machine gets lost with CR and tab operation is going to be gone, but I still have to get all the operational magnets to trip their operational clutches when the solenoid is engaged. The other issue I know I still have is the failure of a CR to latch up.

Normally, when the CR solenoid or Return button trips the operational clutch, it takes one cycle of the operational shaft to start the carrier into its return motion, but since that motion lasts longer than a rotation of the operational shaft, it has to latch the mechanism. The carrier slams into the left side at the end of a return, which unlatches the mechanism. My problem is that the mechanism isn't latching up so that when you trigger a return, it moves just about an inch until the operational cycle is over and then it stops. 

While I was adjusting the heavy printer, which involves tipping it on its back and upright again several times, I managed to clumsily snag and rip off the nylon tape that shifts the ribbon between black and red halves. This is frustrating, as I have done this once before, and it was JUST ADJUSTED TO WORK WELL this morning. I will figure out how to attach a new hook to the end of the tape, put it back on, and adjust again, but I won't do this until everything else is working cleanly. 

I found that the stickiness in the carrier return mechanism latching up is easing up as I work it more and more. It must be residual hardened grease in the mechanism which will only go away with time and exercise. It is still not latching perfectly every time but much better already.

Even when I push down on the armatures of the various operational solenoids, the link is not tripping the cycle for any of those functions - tab, return, index, space and backspace - thus I have it narrowed down to inside the 1053 mechanism, not an adapter electronics issue. 

SAC INTERFACE FOR ADDING PERIPHERALS TO THE 1130

I had to look over the fpga logic to see if I am somehow interfering with the operation of the interrupt level which is shared between the console printer and my virtual 2501 logic here. I did find that the logic to load the interrupting device in an ILSW was flawed - it always would dump that bit pattern if the device issued an XIO Sense ILSW, even if it wasn't actually triggering the interrupt level.

What is special about an XIO Sense ILSW, compared to every other function of an XIO, is that the device number (area code) is ignored. The instruction is issued in an interrupt handler in order to figure out which device(s) have triggered the interrupt and branch into their device specific interrupt handler. As a result, whenever an XIO Sense ILSW is triggered, all of my FSMs were triggered even though the program was working with area code 1, the console printer/keyboard.

I have one FSM for each device which is triggered by any XIO Sense ILSW regardless of device and returns the bit pattern for that device. For interrupt levels with multiple devices implemented in my fpga logic, there will be more than one of these FSMs operating at the same time.

The bit pattern is 0 for all devices that did not trigger an interrupt, but since all the the device patterns are tied together in an OR, that works fine. Only the device, if any, that is requesting an interrupt on the level will have a 1 bit high in its assigned position in the ILSW.

I began thinking about the enclosure and physical construction details of the circuitry that will sit under or near the keyboard and remotely actuate the buttons needed to emulate a Program Load.

Friday, August 28, 2015

Designing enhancement for SAC Interface Box and working on misadjustment of console printer shift mechanism

1053 CONSOLE PRINTER RESTORATION

My suspicions are focused on the known problem where the typewriter won't perform shift cycles - it should switch hemispheres on the typeball and those cycles will fire off a cycle and response, although won't pass along an interrupt to the processor. If the cycle is not occurring, it might cause something to time out in the adapter and thus present an interrupt when none should happen.

My first investigation will be into the shift mechanism, getting it working properly before I go on to debug some of the other symptoms. Now that the lack of interrupts is resolved, I have to check and fix:
  • no shift
  • CR by program command doesn't work
  • red/black ribbon shift not adjusted right
  • Tab by program command doesn't work
  • Backspace by program command doesn't work
In addition I have to test the index (line feed) function to see if that works under program command. Due to the 90+ degree temperatures today, I chose to keep the machine powered down until it had cooled by early evening. Instead, I removed the cover from the console printer in order to begin working on the failure to shift, the red/black ribbon adjustment and other possible adjustment issues. 

Working on the machine with the covers off, I can tell that the shift mechanism is not working properly. I am digging into it as much as I can stand, due to the heat, while my portable air conditioner tries to make the workshop habitable. It took several hours and didn't get the temps down low enough to power up the 1130 until the late evening, past when I was interested in working. Des

SAC INTERFACE FOR ADDING PERIPHERALS TO THE 1130

I have specific locations on the backplane where I will tie in my four signals to allow the box to manage interrupt levels 0 and 1. These are one the two swing out gates under the console printer and display panel, that swing open to the rear. The gate at the rear is A and behind it will swing out gate B. One each gate, there are three card compartments, each with a backplane. These are A1, B1 and C1 from left to right when looking at the SLT cards, or reversed when looking at the backplane side.

On the inner gate B, on the backplane for compartment A1 and in row 7, we have card G7 pin B02 which emits +Int Lvl 0 and pin D20 which emits +Int Lvl 1. These two signals can be redriven out to my box in order to see the state of these two interrupt levels.

Also in that compartment is card J7, whose pin B13 is an input -Int Lvl 0 Req which I can wire-or to a gate that will pull it down to ground request a level 0 interrupt. The final signal is on the other gate, A, in card compartment C1, where the card at H7 has an input pin D05 for -Int Lvl 1 Req which can be similarly wire-or pulled to ground to request an interrupt on level 1.

I need two open collector gates to pull the interrupt requests down to ground, and two buffer gates to redrive the interrupt status signals, using four twisted pairs in a cable to run out from the 1130 to the box. At the same time, I will run the line for my "program load" function on a fifth twisted pair.

A small board I will build will be triggered by the program load signal I will send, which fires three relays with suitable timing so that it activates the Immediate Stop switch, then the Reset switch, and finally pushes the Program Start button, with the timing permitting my box to use cycle stealing to load in eight words of boot program right in between Reset and Prog Start. I have ordered the relays for the task but still have to design and build the sequencer logic.

I whipped up a conceptual design with a 555 timer popping each 1/2 second when not held in reset, driving a binary counter chip which I would feed trough a decoder to get 10 single distinct output lines as it counted. The first two would fire the Imm Stop and the Reset relays, then it would count up to 9 and fire the Prog Start relay. When 10 fired, it would reset a S/R flipflop which held the counter and timer chips in reset until the next trigger pulse set the flipflop to do it all again.

The SAC interface from the 1130 included the Reset state signal, so that I could synchronize this all from my box. I would fire the trigger to set the S/R flipflop, wait until I saw reset activate and then deactivate, use cycle steal to write locations 0000 to 004F with the 80 column boot card image and then later the counter would get up to 9 and trigger the Prog Start button to make it execute.

I ordered the discrete chips and other parts I needed so that I could wire this together and begin testing. At the same time, I ordered some parts to implement a small card that fit inside the 1130 to receive and drive my four additional interrupt level signals out from the 1131 to the SAC Interface Box. I should be able to build these circuits by mid to late this coming week, once the parts arrive, and then I can cable this into the new improved SAC Interface Box.