Monday, March 18, 2024

Making the keyboard Space bar work properly is continuing to be a challenge

LOOKING INTO THE POOR SPACE BAR OPERATION

The keyboard mechanism of an IBM 1130 is the same keyboard mechanism inside the IBM 024 and 029 keypunches, which were introduced along with the S/360, 1800 and 1130 systems in 1964. The mechanism was derived from the earlier keypunches such as the IBM 026 which was introduced in 1949 and continued on designs from much earlier in that century. 

On this machine, the space bar is quite low, barely is detected and may not restore properly. I had inspected the underside and found that a leaf spring associated with the key was out of position and perhaps adding friction. I fixed that, reassembled the machine but the problem persisted. 

I decided to really dig into the unit to figure out what was going wrong with Space and making it work well. That involved splitting the keyboard assembly into its two halves. 

DISASSEMBLY OF THE 1130 KEYBOARD TO IMPROVE SPACE BAR OPERATION

Physically the keyboard is two parts bolted together, the key unit and the permutation unit. A key unit has the physical spring loaded keys, a mechanism that ensure no more than one key can be pressed down at a time, and some levers that project into the permutation unit to select the permutation bar assigned to each key. 

I separated the two as my issue is mechanical, most likely in the linkage from the space bar to the permutation bar but possibly in the permutation bar latch for that key. Both are exposed by the separation. 

KEYBOARD OF THE IBM 1130 - EXPLANATION

It is a complicated beast because it has to convert the push of a single key into the Hollerith code associated with that key. For example, the letter a is a combination of the 12 and 1 rows on a punch card thus its Hollerith code is 12-1. a $ is 11-3-8 as it has three holes punched (in rows 11, 3 and 8). The numbers themselves were very simple, the digit 4 is a hole in column 4 or Hollerith code 4. 

Add to this complication the fact that the keypunch had more characters than physical keys, such that it needed a shift key. This was generally labeled the Numeric key and pushing it would encode an alternate character for each key pressed. 

As you may be able to see, the key marked F has a semicolon (;) printed above the F. If the Numeric shift is held down while pressing that key, the card has a code of 11-6-8 but without the shift key this must produce 12-6 instead.

Handling the code translation for shift as well as the need to emit multiple row signals for a single key press involved a combination of mechanical and electrical solutions. The keylever would latch down and lock the keyboard, but in that latched position it will cause a permutation bar to be pulled downward in the back half of the machine called the permutation unit.

The Hollerith code was generated by switches activated by the permutation bar so it had to remain down and locked until the computer had captured those bit values. A restoring solenoid was activated by the computer (or the manual KB Restore button) which pushed the permutation bar back to its idle position and pushed they key back up. Thus typing at speed involved the keyboard latching, the computer grabbing the character and then restoring the keyboard before the user's finger next pressed a key. 

Each permutation bar has fifteen notches in it vertically, which align with fifteen pivoting horizontal bails. A bail has a microswitch at the end, thus pivoting a particular bail closes the circuit for that bail. Each bail has tabs extending backwards for every key that should pivot this bail. Lack of a tab means the bail does not energize. 

Tabs on a bail to associate it with certain keys

Contacts on the sides of bails, switched when bail rotates

As we can see, pressing a key activates certain bails so that we translate one key into a pattern of 15 bits. The astute reader may wonder at this point why not just use 12 bails, so that the output is the direct Hollerith code for that key as it twists selected bails. The reason is the Shift key and the second set of characters associated with most keys. 

At the bottom of most permutation bars is a microswitch that is closed when the permutation bar is latched downward. Thus, we actually have 15 bits from the bails plus 1 bit from the latch contact below the permutation bar. 

The shift keys (Numeric and Alpha) direct power to bails and latches. Some bails are only powered by the Numeric condition and others only by the Alpha condition while one is powered by the joint Alphameric bus. Similarly the latch contacts are powered the Shift, Numeric or Alphameric buses. Alphameric is the always powered whereas Numeric and Alpha are switched by the Numeric key. 

Wiring of 1130 keyboard

The bail contacts are circled in green, the remaining are the latch contacts. This clever connection of latch contacts, bail contacts and the Numeric key along with the selective use of tabs to activate bails produce the Hollerith codes for all the keys.

A few of the keys on the keyboard do not latch down nor activate permutation bars - Numeric and KB Restore. Some do their encoding purely through the latch contacts - Space bar, Erase Field, End of Field, Backspace and Interrupt Request - even though they latch down the permutation bar. 

CAN'T FIND SOURCE OF PROBLEM IN EITHER HALF

I looked carefully, tripped and reset the permutation bar for the Space key many times, verified that the linkage from the key on the key assembly was good as well. 



As is visible in the top picture, the keys have those long levers with right angle hooks. When a key is depressed, the hook is pulled backwards into the key unit. That hook fits around the triggers you can see in the upper opening of the picture immediately above this text. It pulls forward on the trigger there and the permutation bar is moved downward to its latched position.


These are the permutation bars with their latches at the top half of the picture. The far side which you can't see has the fifteen notches that can move tabs on the bails. In the case of the Space key, the hollerith pattern is an absence of holes (bits) so there are no tabs fitting into this permutation bar. 


The bottom of each permutation bar will press down and close a set of contacts (the latch contacts) when that bar is locked down. In the case of the Space key, the only electrical connection made is the latch contact below the permutation bar, which tells the controller logic that a space was pressed. 

I can see nothing wrong or even different with the space permutation bar and any other one. Similarly I can find nothing wrong with the space key mechanism and its lever that trips the permutation trigger - the same as the others on the unit. No signs of corrosion, rubbing or other friction. 

REASSEMBLED AND TRIED AGAIN

I put the two halves together, the keyboard back in the 1130 and closed everything up. The space bar was working fine as I held the keyboard in my hand, so I was hopeful. Alas, when closed up in the machine, the space key was back to its bad ways. Even worse, when I powered up the machine, I heard nonstop restoring which is an indication of some new problem I introduced in the keyboard probably a contact that was disturbed. 

RAN OUT OF TIME BUT WILL SOLVE THIS TOMORROW

Tomorrow when I return to the shop, I will bring two things. I will bring a version of the printer diagnostic that I believe will function well enough to work out the 1053. I will also come with a new theory that something is mechanically binding when the keyboard unit is screwed down into the 1130 or when the lamp & pushbutton plate is placed over it. 

No comments:

Post a Comment