Tuesday, September 23, 2014

Keyboard almost fully restored and working, progress on 1053 console printer and 360 channel emulator card


Today I picked up a burnishing tool and used that along with an oxidation remover to get those keyboard restore bail contacts working again. After a bit of work, I was able to get the contacts to make a circuit with between 0 and 4.5 ohms resistance, good enough to work with.

Oxide removing spray and burnishing tool at bottom
Contacts after cleaning and burnishing, much better connection
I reassembled the keyboard and console cover, fired up the system, but discovered that the first 8K of core memory is now hosed up - most bits stuck on regardless of the bit pattern being written. It must be something I disturbed while troubleshooting the contact issue on the keyboard, but right now I can't think of what I might have touched since I last turned off power that could cause these symptoms.

If I can't find something that was disturbed recently, I will have to go back to troubleshooting basics to see what is happening. I carefully checked the connections and closed up the gates, then powered up again. Things were working fine now - not sure what happened but it is working properly at this time. If it misbehaves sometime in the future, I will debug it while it is in that state in order to resolve the root cause.

I entered my keyboard testing code and began checking out the various keys and functions. Int Req does fire up interrupt level 4, as does the press of any key while the keyboard is in the selected state. XIO Read correctly stores the Hollerith code associated with a pressed key. I worked my way through the lower case (alpha) keys, with most of them reading correctly.

The keyboard is a transplant from an 029 keypunch, which is why it encodes Hollerith (punched card coding). The keys have a stem underneath, which have a unique pattern of tabs that pull on certain crossbars, called bails. Any bail that is pulled by a tab will activate a switch contact. The end of the stem also pushes its own contact, called a latch.

Wiring of the bails and latches creates what IBM calls a permutation unit, which is an encoder. When the numeric key is held down, it powers certain latches, others are powered when it is in alpha mode, while another group are powered at all times. This is how a key with two characters, lower and upper, encodes the appropriate bit pattern.

The first failure I encountered was incorrect behavior of the numeric key. It should only be switching power from the alpha group of latches to the numeric group, but not triggering any bit unless a bail is also connected. However, when I hold down the numeric key, it is sending in bit 1 and also triggering a keyboard restore operation, in a machine gun speed series of restores.

Restricted to verifying the lower case (alpha) characters, I continued with the testing. Most keys produced the right Hollerith, but the % and the , keys were both incorrect. They were missing bit 6 in both cases. By carefully studying the permutation unit logic and the results, I determined that bail 5 is not making contact.

Other bails might be unable to make a reliable connection, but they are associated with numeric mode (upper) characters which I couldn't test while the numeric key was malfunctioning. Pretty clear that this is another case of oxide on contacts, thus I took the console part and began to test each set of bail contacts.

Finding a few that were erratic, I decided to use a deoxidizer on all of them, along with my contact burnisher, to ensure they would work reliably. Once the bail contacts were working, I moved on and cleaned up the latch contacts.

Powering up, I did some exhaustive testing of the characters again. The numeric key now works correctly, as do most characters. I am still having some problems with a few bails that drive bits 5 and 6 for some alpha characters, but the keyboard is almost good now. I will get some good very fine sandpaper and really scrape the heck out of the oxide on those contacts.


I strung the nylon tape that activates the ribbon color shift, placing it onto the machine. It hooks to the activation arm inside the carrier, goes around a pulley on the carrier and then to the left of the frame. There it changes direction around a pulley to downward, loops over a pulley on the solenoid arm at the bottom left and return upward to a second pulley on the top left of the frame. From this pulley, it runs direction across to the right top frame, around a pulley and back to carrier, where it hooks over an anchor bolt.

Tape running left from carrier, down to solenoid, up and then to the far right
Tape runs from left side to right side, around pulley and back leftward to the carrier
Tape exiting carrier left side around pulley, crossing in front and then returning to the right side of carrier
I can tell that this tape is too loose, requiring some sort of tension adjustment, but that can wait until I have the selectric able to space, backspace, return and type. I still have the one spring to connect deep inside the recesses of the machine under the cycle clutch and then forward to the cycle clutch latch arm. After this, it is only the stickiness of the old grease and oil that is keeping me from a restored typewriter console printer.

Of course, there are a few contacts on the typewriter, any of which may suffer from the thick oxidation I am seeing on many other contact pairs. I don't want to deal with this yet, but will check it out before I try to print from the 1131 which depends on those contact signals to ensure safe and correct operation of the printer.


I received my latest eBay purchase of an IBM card that implements a 370 channel in a PC, with a set of bus and tag cables that hook to any IBM mainframe peripheral. I already owned the bus and tag cable set with the special connector plug that fits this card. When this card is installed in a MCA (Microchannel) bus slot in a PC and the driver software is loaded, I can make use of 3420 tape drives, 2501 card readers and other peripherals.

IBM 360 Channel Emulation/A card

No comments:

Post a Comment