IBM 029 keypunch keyboard repair and conversion
Posted: 11 Jun 2019, 05:53
ok so this will be my first really long and drawn out post on this forum, been lurking and poking in various topics every now and again.
right so with that out of the way:
a little over a year ago i snagged one of these bad boys:
mighty dirty too, there was a mat or a felt of hair (thankfully no arsenic)
so first off i had to take it down to the core components. which are these? here's a diagram from righto (ken sherriff's blog)
to start off i removed all the keys, cleaned them, removed the keystem alignment plate and sanded it and spray painted it as well. i also removed the permutation bails (to gain access to the permutation bars), and alignment comb for the permutation bars. here is the plate below the keystem alignment plate that was so badly rusted
the rods shown are the latch pull bars, and keystem cams. these have a hook at the end that catches into the latching mechanism in the circled bit of the diagram. to align the latch pull bars, you need a hook, and you have to catch the bit of bent metal at the back of the latch bar and pull it onto the small notch in the latch, and in front of the permutation bar. (the bit in the circled detail in the mechanism schematic). each switch latch pull bar has to be aligned by an alignment comb and alignment spring (these are the u and c shaped bits on the top of the pull bar). the keystem alignment plate is installed on top a plate that also has the permutation bar alignment plate bolted into it. I probably didnt need to remove the permutation alignment comb, but i didnt really know how to realign the pull bars into the correct place until after i had removed it. but either way the latch pull bars get misaligned when the alignment comb and spring are removed (they are attached to the keystem alignment plate).
here are the misaligned latch pull bars
and here are the permutation bars with the permutation bar alignment comb removed
the above image doesnt show the process of putting the key stems themselves back into the cam of the latch pull bar. you have to pull on the latch pull bar from behind while inserting the keystem, to align the cam with its slot. the spring is held by a bit of floss through the hole at the bottom of the stem. you pull on the pull bar and move the stem up and down until it falls into place. super tedious. then once the stem is in place with the cam, you hold down the stem, realign the pull bar into its notch; and insert a bit of metal into the bottom hole.
then you thread a bit of 50lb test fishing wire (HEY! its all i had!) through the stem hole, to make sure its held down. that fishing wire prevents the switch from literally just dicking off!
so after a great bit of shenanigans, and another set of hands (all those springs at the top of the permutation bars are exceptionally strong! you have to push them down, and align the permutation bars through the comb at the top at the same time, its super frustrating!)
the sharp eyed will notice a small long bent gusset at the top of the permutation bar alignment comb, that has to be tuned to have a 0.005 inch space between it and the permutation bars. you definitely need gauge slips (i forget the word).
to install the permutation bails again, you just move one of the permutation contactors out of the way (they're held on my two screws at the top and bottom of the gusset that holds the contactors onto the frame) and insert the bails in order from bottom to top
after installing the bails you need to bend and adjust the contactors so that the have the proper clearance. this is the set of gauge slips (i forget the word) that i used.
if i recall correctly the space is 0.025 inches (aka 25 mil or 25 thou).
here's one side tuned, and I'm bending the contacts on the other side to get it consistent
i also liberally cleaned with a bit of 4k grit sandpaper and some deoxit all the permutation contactors, as well as latch contacts (those are the contacts at the very bottom of the mechanism). the latch contacts also had a similar specification for median distance between contacts when open.
each switch also has rubber bumpers on it, and its stabilizers to prevent it from over traveling the cam out of the keystem. to install the caps, you need another bit of bent metal to keep the keytem from camming out and away from the latch pull bar cam,
you then push the cap onto the stem and PRESTO! you're done! with cleaning at least.....
so this begs the question ....how the flying ()*#&$)(*&#$%^%!@#(*)$ does this thing work? ..... oh boy.......these are the connectors
these are called SMS connectors, and where used on the IBM 7030 and later on the 1401 https://en.wikipedia.org/wiki/IBM_Stan ... lar_System
so i need an SMS socket, but more on that later.
so how does this thing work? well initially when the user presses a key this pulls on the cam attached to the latch pull bar, this pulls on part of the permutation mechanism, simultaneously pulling the permutation bar down (each key, save a few have a permutation bar associated to them), and pulling on the latch mechanism. when the latch is pulled forward (towards the user) by the latch pull bar its pulled into a track of flat metal discs called interposer discs. the distance between the discs is such that only one latch can be placed between them at a time (exceptions are that some switches can be used while others are down) this prevents more than one key roll over. when a permutation bar is pulled down, a latch contact is pressed, and some of the tabs on the permutation bails have tabs corresponding to a notch on that particular bar. the tabs get caught in this notch, rotate the bar upwards, completing a circuit on certain permutation contactors.
ok so thats how the mechanism works mechanically however, electrically its a bit busier.
so i still haven't covered how the latch gets undone. that's right to type on this keyboard the computer has to enable you to type after every keypress. the way that's done is the keypunch (yeah i know i called it computer, and that's stretching things a bit, but you can program the dang thing, and I'm sure its Turing complete so sue me!) allows a voltage of 48v at just under an amp to flow through the bail restoring magnets, this in turn causes the restoring bail to kick upwards and knock the latches and permutation bars up and out of the interposer block, breaking the latch contact and permutation contact circuits.
so what does the output of the thing look like? well believe it or not, it outputs Hollerith code! well mostly anyway.
here's the schematics for the alpha-numeric (IBM being well IBM called it the alphameric portion) portion of the keyboard.
the way you read the arrow-ed tag, is by looking at the schematic page number its column and its row. for example look at the first arrow, remember the A04B bit for now, that will come back when we deal with SMS; but for now we're just gonna use it to help us in finding wires, it reads (12 int, sect 1A) we look at our page and see at the top we are in section 4, and over on the left we see we are in row A. going back a page (in the manual) we look for section 1, row A, 12 int and low and behold we see an arrow that says A04B
following that wire backwards we see there's a switch that says 12 next to it. that refers to the hole positions in a punched card (borrowing from this site http://homepage.divms.uiowa.edu/~jones/cards/codes.html)
if you are really observant you should notice that there's no way to directly make an 8 punch! its the only punch position that is composed of two portions of the switch matrix, we need to out controller to look at A02F, and A04R; but i haven't told you what those mean yet have i?
so the A in A02F refers to the card in column A, at row 2, who's pin is enumerated F. we don't use the first code, that specifies module, as in the 029, there's only one module
so now that that's out of the way, we can begin tracing the rest of the switches on the keyboard, and its front panel. I'll spare you the details, and just pass along the final converter schematic. the manual can be gotten online, but if you cant find it give me a DM and I'll send you a link from my dropbox! in case you're wondering everything to the left of the plugs in the schematic is the keyboard side of the connector, that doesn't really exist in the PCB. I have not yet finished building my test converter, i need to solder it up, and program it.
oh and incase you're wondering this thing can be really really confusing
OH and just one really quick asside: I have tested my machine at a local cmputer museum, by swapping out their keyboard for mine. at first we couldnt get the thing to print in alphabetic vs numeric, but then we realised that some of the microswitches under the keyboard where not in the right place. after fixing that it worked quite well! i even punched some cards on my own keyboard!
right so with that out of the way:
a little over a year ago i snagged one of these bad boys:
mighty dirty too, there was a mat or a felt of hair (thankfully no arsenic)
so first off i had to take it down to the core components. which are these? here's a diagram from righto (ken sherriff's blog)
to start off i removed all the keys, cleaned them, removed the keystem alignment plate and sanded it and spray painted it as well. i also removed the permutation bails (to gain access to the permutation bars), and alignment comb for the permutation bars. here is the plate below the keystem alignment plate that was so badly rusted
the rods shown are the latch pull bars, and keystem cams. these have a hook at the end that catches into the latching mechanism in the circled bit of the diagram. to align the latch pull bars, you need a hook, and you have to catch the bit of bent metal at the back of the latch bar and pull it onto the small notch in the latch, and in front of the permutation bar. (the bit in the circled detail in the mechanism schematic). each switch latch pull bar has to be aligned by an alignment comb and alignment spring (these are the u and c shaped bits on the top of the pull bar). the keystem alignment plate is installed on top a plate that also has the permutation bar alignment plate bolted into it. I probably didnt need to remove the permutation alignment comb, but i didnt really know how to realign the pull bars into the correct place until after i had removed it. but either way the latch pull bars get misaligned when the alignment comb and spring are removed (they are attached to the keystem alignment plate).
here are the misaligned latch pull bars
and here are the permutation bars with the permutation bar alignment comb removed
the above image doesnt show the process of putting the key stems themselves back into the cam of the latch pull bar. you have to pull on the latch pull bar from behind while inserting the keystem, to align the cam with its slot. the spring is held by a bit of floss through the hole at the bottom of the stem. you pull on the pull bar and move the stem up and down until it falls into place. super tedious. then once the stem is in place with the cam, you hold down the stem, realign the pull bar into its notch; and insert a bit of metal into the bottom hole.
then you thread a bit of 50lb test fishing wire (HEY! its all i had!) through the stem hole, to make sure its held down. that fishing wire prevents the switch from literally just dicking off!
so after a great bit of shenanigans, and another set of hands (all those springs at the top of the permutation bars are exceptionally strong! you have to push them down, and align the permutation bars through the comb at the top at the same time, its super frustrating!)
the sharp eyed will notice a small long bent gusset at the top of the permutation bar alignment comb, that has to be tuned to have a 0.005 inch space between it and the permutation bars. you definitely need gauge slips (i forget the word).
to install the permutation bails again, you just move one of the permutation contactors out of the way (they're held on my two screws at the top and bottom of the gusset that holds the contactors onto the frame) and insert the bails in order from bottom to top
after installing the bails you need to bend and adjust the contactors so that the have the proper clearance. this is the set of gauge slips (i forget the word) that i used.
if i recall correctly the space is 0.025 inches (aka 25 mil or 25 thou).
here's one side tuned, and I'm bending the contacts on the other side to get it consistent
i also liberally cleaned with a bit of 4k grit sandpaper and some deoxit all the permutation contactors, as well as latch contacts (those are the contacts at the very bottom of the mechanism). the latch contacts also had a similar specification for median distance between contacts when open.
each switch also has rubber bumpers on it, and its stabilizers to prevent it from over traveling the cam out of the keystem. to install the caps, you need another bit of bent metal to keep the keytem from camming out and away from the latch pull bar cam,
you then push the cap onto the stem and PRESTO! you're done! with cleaning at least.....
so this begs the question ....how the flying ()*#&$)(*&#$%^%!@#(*)$ does this thing work? ..... oh boy.......these are the connectors
these are called SMS connectors, and where used on the IBM 7030 and later on the 1401 https://en.wikipedia.org/wiki/IBM_Stan ... lar_System
so i need an SMS socket, but more on that later.
so how does this thing work? well initially when the user presses a key this pulls on the cam attached to the latch pull bar, this pulls on part of the permutation mechanism, simultaneously pulling the permutation bar down (each key, save a few have a permutation bar associated to them), and pulling on the latch mechanism. when the latch is pulled forward (towards the user) by the latch pull bar its pulled into a track of flat metal discs called interposer discs. the distance between the discs is such that only one latch can be placed between them at a time (exceptions are that some switches can be used while others are down) this prevents more than one key roll over. when a permutation bar is pulled down, a latch contact is pressed, and some of the tabs on the permutation bails have tabs corresponding to a notch on that particular bar. the tabs get caught in this notch, rotate the bar upwards, completing a circuit on certain permutation contactors.
ok so thats how the mechanism works mechanically however, electrically its a bit busier.
so i still haven't covered how the latch gets undone. that's right to type on this keyboard the computer has to enable you to type after every keypress. the way that's done is the keypunch (yeah i know i called it computer, and that's stretching things a bit, but you can program the dang thing, and I'm sure its Turing complete so sue me!) allows a voltage of 48v at just under an amp to flow through the bail restoring magnets, this in turn causes the restoring bail to kick upwards and knock the latches and permutation bars up and out of the interposer block, breaking the latch contact and permutation contact circuits.
so what does the output of the thing look like? well believe it or not, it outputs Hollerith code! well mostly anyway.
here's the schematics for the alpha-numeric (IBM being well IBM called it the alphameric portion) portion of the keyboard.
the way you read the arrow-ed tag, is by looking at the schematic page number its column and its row. for example look at the first arrow, remember the A04B bit for now, that will come back when we deal with SMS; but for now we're just gonna use it to help us in finding wires, it reads (12 int, sect 1A) we look at our page and see at the top we are in section 4, and over on the left we see we are in row A. going back a page (in the manual) we look for section 1, row A, 12 int and low and behold we see an arrow that says A04B
following that wire backwards we see there's a switch that says 12 next to it. that refers to the hole positions in a punched card (borrowing from this site http://homepage.divms.uiowa.edu/~jones/cards/codes.html)
Code: Select all
029 &-0123456789ABCDEFGHIJKLMNOPQR/STUVWXYZ:#@'="¢.<(+|!$*);¬ ,%_>?
IBME ¹-0123456789ABCDEFGHIJKLMNOPQR/STUVWXYZ:#²'="].<(+|[$*);¬³,%_>?
EBCD &-0123456789ABCDEFGHIJKLMNOPQR/STUVWXYZ:#@'="[.<(+|]$*);^\,%_>?
________________________________________________________________
/&-0123456789ABCDEFGHIJKLMNOPQR/STUVWXYZb#@'>V?.¤[<§!$*];^±,%v\¶
12 / O OOOOOOOOO OOOOOO
11| O OOOOOOOOO OOOOOO
0| O OOOOOOOOO OOOOOO
1| O O O O
2| O O O O O O O O
3| O O O O O O O O
4| O O O O O O O O
5| O O O O O O O O
6| O O O O O O O O
7| O O O O O O O O
8| O O O O OOOOOOOOOOOOOOOOOOOOOOOO
9| O O O O
|__________________________________________________________________
so the A in A02F refers to the card in column A, at row 2, who's pin is enumerated F. we don't use the first code, that specifies module, as in the 029, there's only one module
so now that that's out of the way, we can begin tracing the rest of the switches on the keyboard, and its front panel. I'll spare you the details, and just pass along the final converter schematic. the manual can be gotten online, but if you cant find it give me a DM and I'll send you a link from my dropbox! in case you're wondering everything to the left of the plugs in the schematic is the keyboard side of the connector, that doesn't really exist in the PCB. I have not yet finished building my test converter, i need to solder it up, and program it.
oh and incase you're wondering this thing can be really really confusing
OH and just one really quick asside: I have tested my machine at a local cmputer museum, by swapping out their keyboard for mine. at first we couldnt get the thing to print in alphabetic vs numeric, but then we realised that some of the microswitches under the keyboard where not in the right place. after fixing that it worked quite well! i even punched some cards on my own keyboard!