Wednesday, April 21, 2021

Missing a handful of bulbs to complete all 164 positions of the 1130 Console Panel

 BAD NEWS FROM THE LAMP SUPPLIER

The supplier who told me that my bulbs were on order and would be shipped next week, followed up today with an email informing me that the bulb is discontinued by the maker (which I knew) and therefore they were refunding my purchase. Drat.

I hunted down some other suppliers who claim to have stock on the 2114 bulbs and have ordered another 20 from them, but in the interim I discovered a box of 20 bulbs that I owned. Between the 100% success rate I had reusing the bulbs from the old holders and these new bulbs, I was able to complete all but two lamp assemblies. 

SIDE PROJECT BATTLING FIDDLY HARDWARE AND TARNISH ON A BRAINIAC K-30

I recently arranged a sale of a Brainiac K-30 as I slash the size of my collection of retro items. This is a derivative of the Geniac, a kit from the mid 1950s that was the introduction to boolean logic and digital computers for children of the 50s and 60s. 

The kit was a large masonite board, predrilled, and six round masonite dials that were also predrilled. These dials formed rotary switches using bolt heads as the contacts on the main board and staple-like jumpers on the dials. You could make various switches from the two pairs of rows and sixteen rotary positions. A battery and flashlight bulbs in sockets completed the active components of the kit.

Quite primitive, but through a series of increasingly complex sets of switches you wired up, solving more and more complex issues, the user could experiment with boolean logic and experience how digital logic could address a wide range of real life problems. 

The weakness of the kit was always the quality of contact between bolt heads and jumpers as you turned the dials to various positions. That weakness remains, but added to it is more than five decades of tarnish on the brass parts.

The buyer of the kit is a museum, to which I impulsively offered to wire up a three bit full binary adder to show the kind of problem this could tackle. Given the six dials that came in the kit, that was about the largest adder it might handle. 

Seemingly an easy task, I discovered anew the difference between digital logic and these switches. No resistors, no diodes, no inverters and in fact a signal did not operate in binary. That is, there was not a 0 and a 1 level on the signal. There was a connection, or there was no connection. No such thing as a 0 level connection. 

The boolean equation for a binary adder stage (except the rightmost) is A xor B xor CarryIn and there came my first design challenge. Implementing an XOR is a matter of wiring a switch on one dial to a switch on the other, but criss-crossing the wires so that a connection is made only if the dials are 0,1 or 1,0 but not if they are both 0 or both 1. 

However, how do you wire another XOR to that when you have one wire when the CarryIn is active but nothing when it is false? Instead, I had to produce two different signals from the stage to the right - CarryIn and InvertedCarryIn - where I had voltage on one of the wires but not the other at any time. 

Then I had to wire up the XOR driven by InvertedCarryIn to produce the sum of the bits for the case where no carry occurred to the right, which indeed sets the output to 1 if the two dials are 0,1 or 1,0. 

When a carry has occurred to the right, the output is an inversion of the XOR such that we get an output only when both dials are 0 or both dials are 1, but not when they differ. This is wired as a switch on each dial with the 1 positions connected together and the 0 positions connected with a different wire. That means four total switches are used to light the output lamp for a 1 value for this adder stage. One pair is powered from CarryIn and the other pair is powered by InvertedCarryIn. 

The boolean equation to calculate CarryOut and InvertedCarryOut were:

CarryOut =                                 (A and B) 

                                                        or

                                       ( (A xor B) and CarryIn )

InvertedCarryOut = (     (notA or notB) and InvertedCarryIn    )

                                                        or

                                     (    (A or B) and CarryIn    )

That required another eight switches, four on each dial, for a grand total of twelve two position switches for each binary adder stage. The rightmost position was easier because it had no carryIn to consider, thus I only wired the switch paths that were fed by InvertedCarryIn, which was itself hooked to the battery. 

The kit had an almost full complement of parts such as bolts, nuts, jumpers, bulbs etc but there were not quite enough of the jumpers to populate the third binary stage. I thus had to settle for a binary adder that took a pair of two bit values and produced a two bit output plus a carry signal. 

Building this and testing all the wiring was a bit more work than I initially had imagined, but once I was done it was time to deal with the poor quality of the connections. I tried to use deoxit spray and ensure the best fit possible, but the result was as disappointing as I belatedly remembered from my youth. 

The bottom line, however, is that I did wire this up to produce a full adder for a pair of two bit binary values. Satisfied, I documented everything and shipped it out today.

No comments:

Post a Comment