Sunday, October 14, 2018

Looking at read/write core memory used in AGC Block II

RESEARCH FOR APOLLO GUIDANCE COMPUTER RESTORATION

Erasable Memory cycle and timing

The main oscillator is divided in half to produce a 1.024 MHz main clock which steps through a 12 stage ring that constitutes the memory cycle of the machine. The memories are based on magnetic cores, thus the process of reading also resets the core to zero and a second half of the cycle must write back the value to restore it into the memory - or a changed value to store into the location replacing the old value.

By the beginning of the sixth step of the ring, the contents of a memory location, either the erasable or fixed memory, is available on the bus for use. By the beginning of the 9th step, a value in the register is latched to be written out to the same memory address if it was in erasable memory.

The erasable memory consisted of lithium ferrite core stacks, manufactured by either EMI or RCA. Addressing of the memory makes use of bits 0 to 11 of the instruction word. If bits 11 and 10 are both zero, this indicates that we are accessing the erasable memory.

The memory scheme of the AGC is complicated. The 2K of memory is implemented as 8 banks of 256 words. When address bit 9 and 8 are both 1, we are referring to a bank indirectly, depending on the contents of the BBank register to select which of eight banks to use. When the high two bits are not both on, then we are directly addressing banks 0, 1 or 2 depending on the value of bits 8 and 9.

This means that from the CPU standpoint, we have only 1K addresses to select. Addresses from 0 to 767 are directly hooked to the first three banks of the physical core plane, while addresses from 768 to 1023 are hooked to one of the eight banks based on the contents of the BBank register

Physically, the core stack is a sandwich of 128 planes, each having an array of 16 x 16 cores, all folded tightly in a small space. We can look at each logical bit plane independently to understand addressing, thus we have only 8 small planes to consider,

The eight total small core planes can be thought of as an array of four across and two down. In the Y X signals run vertically through two small core planes. Y signals run horizontally through four small core planes. They intersect in only one plane.

 The address bits 0, 1 and 2 are used to select one group of eight cores out of eight such groups in the X selection lines. Two groups of eight fit on each of the small core planes, thus we have four planes across in the X direction.

Address bits 3, 4 and 5 will select one of eight of the cores in the group  thus the combination of all six bits selects one of the 64 X rows of cores. This activates an X row in both of two small core planes, which will be distinguished by the Y selection line that activates in only one of the two selected planes.

Address bits 6 and 7 select one of four groups of 8 lines in the Y direction. Bank selection logic picks one of the eight lines in a group, thus one of the banks of 256 words. Selecting 64 X and 4 Y lines with the regular address bits 1 to 7 picks which of the 256 works you want in a bank. The 4 Y lines each represent 8 physical lines, the other end of which is determined by the bank select to finalize on one of the 32 physical Y lines in the array.

There are eight banks, picked by the bank selection logic using bits 8 and 9. This works in a special way. If bits 8 and 9 are 00, 01 or 10, this selects the first three banks. If bits 8 and 9 are 11, it looks at the BBank register and uses that value to select which of the eight banks to use.

Inhibit drives run through each core in each plane, so that we can inhibit the setting of each plane individually. A sense wire runs through each core in each plane and allows detection of the case where a core is reset to 0 but was previously magnetized as a 1.

The memory stack is folded to fit best in a rectangular solid shape, its steering diodes are put on top and the entire contents are encapsulated in a wide module (B12) that will plug into tray B.

Saturday, October 13, 2018

Miscellaneous notes on AGC design from my research

APOLLO GUIDANCE COMPUTER RESTORATION NOTES

Connectors

All the connectors on the Apollo Guidance Computer were constructed of the Malco mini-WASP components. These were individual pins, male and female, set in a small rectangular nylon insulator with a circular base. Individual holes were drilled in a metal chassis for each pin position, the nylon with its pin was pressed into the hole, and the holes were arranged in lines with .125" spacing.

The male pins looked like a small standard screwdriver blade. The female pins were a tuning fork shape, at right angles to the male blade. The male slide into the fork with the two tines pressing onto the male to make contact.

Female 'tuning fork' pin

Male 'screwdriver blade' pin

The nylon insulators had a circular bottom section to press into a hole in metal, with a squared off top section and a center hole into which the pin was pressed.
Female insulator body

Male insulator body
It was quite common to build multiple lines of connectors, side by side, to form arrays such as the 24 by 4 connector for core rope modules to attach to the rest of the AGC. The largest connector was the main connection between the AGC and the rest of the Apollo spacecraft. It had 360 of these pins installed in an array, a pair of 180 pin halves.

Connectors but from the predecessor block I version of the AGC
Interaction with the rest of the spacecraft

The AGC was connected to many other parts of the spacecraft. The most visible connection to people was the DSKY, the display and keyboard module that the astronauts interacted through to control the software on the AGC. However, the system was quite central in the operation of the spacecraft and interacted with many subsystems.

The inertial guidance unit or IMU provided a stable platform that would maintain its orientation in space in spite of movement or rotations of the spacecraft. Driven by gyroscopes, this platform would would hold its position as the IMU rotated around it in three dimensions. The pivots, called gimbals, had measuring devices to indicate how the spacecraft pivoted around the stable member, plus a motor that could force the platform to pivot on the gimbal.

The motors forced the stable member to pivot on the three gimbals until the member was oriented in a desired direction. This was done on the ground by uplinks from Launch Control and during flight from mission control, but the most important method of forcing the member to a known position was by use of a star sighting mechanism in the lower bay of the Command Module.

An astronaut would rotate the spacecraft to point at a known star, and through an offset scope look at a second known star. The computer would swing the spacecraft to the position it though would place the stars correctly, but the astronaut would then move the craft around until the stars were precisely in the crosshairs of the scope. Pushing a button at this point told the computer what orientation to set the IMU and what location to record for the spacecraft. 

Since gyroscopes are not perfect and drift a bit over time, the stable platform would be realigned periodically using the optics system described above. This set the IMU to a stable reference alignment and synced the computer view with the physical reality.

Three accelerometers were installed in the IMU and recorded the acceleration of the spacecraft on three axes. The computer recorded the accelerations and used them to calculate the change in position of the spacecraft. The combination of the pivot angles from the stable reference orientation and the accelerations in three dimensions allowed the computer to keep track of the spacecraft position and speed.

The computer had a pair of hand controllers that the astronauts used to command changes in the spacecraft position. One would request pitch, yaw or roll around the current position. The other would request translation along one of the axes - move left, move up, speed up, etc.

These hand controller inputs were read by the computer and caused requests to be sent to the Reaction Control System, small rockets that thrust to cause the spacecraft to translate or rotate in space. Thus, the Apollo spacecraft was a fly-by-wire system, with the AGC or a backup SCS system connecting the pilots inputs on the controllers with the RCS jets.

Telemetry was assembled and disassembled by the AGC over the links with the ground. Uplinks could even insert new data into the AGC and was used often during missions. For example, the various burns for navigation, such as Trans Earth Insertion, were calculated on the ground using the Real Time Computer Complex (a pair of IBM 360/75 mainframes) and uploaded to the AGC for execution by the astronauts.

The AGC even had a mode where it could force a takeover of the Saturn IVB computer during launch, if the astronauts or ground decided that the computer navigation inside the Saturn V was malfunctioning. The hand controller would then swing the engine of the SIVB motor and control the duration of a burn, so that an astronaut could hand fly the system if the booster navigation and control failed.

All this with only 360 signal connections from the AGC to the rest of the spacecraft. 

Studying to assist in the restoration of an Apollo Guidance Computer

ASSISTING RESTORATION OF APOLLO GUIDANCE COMPUTER

Background

I was contacted to discuss a restoration of an Apollo Guidance Computer, the block II type that was used on all the manned Apollo missions. Until I have clearance to say more, I can't discuss the location, ownership or other identifying details, but I can post about the AGC itself and the detailed studying I have been doing to prepare for this task.

AGC construction

The block II AGC is a general purpose computer constructed entirely of logic gates (and power supplies and memory of course), no microprocessors. The logic was entirely built with a single IC type, a dual NOR gate, each one triple input. These ICs are RTL, resistor-transistor logic, which preceded both diode-transistor logic (DTL) and then transistor-transistor logic (TTL).

RTL gates are very simple. Each input is coupled through a resistor to the base of a transistor. The emitter is tied to ground and the collector has the output lead and a pullup resistor to the positive voltage source. In the AGC case, this is +4V.

When a positive voltage is presented on the input, the transistor conducts and pulls the output down to almost ground level. When no input voltage, the transistor is off and the output is pulled up to nearly +4V.

The triple input NOR gate has three transistors, with three base resistors, and the collectors all tied together, making use of a single pullup resistor for the output. If any or all of the three inputs has a positive voltage, one or more of the transistors are conducting and pull the output down towards ground, otherwise with all inputs at 0, the output floats up to +4.

These dual-NOR gate chips have two of the above circuits, thus it has six transistors and eight resistors on the chip. It was built in a flat pack, a rectangular flat shape with ten leads arranged five per long side.

The chips are mounted on a multi layer printed circuit board, but welded to the pad rather than soldered. Soldering was not considered reliable enough to use with a machine that has to resist up to 50g of vibration/acceleration.

The multilayer PCB was quite advanced for the time. It was seven layers. This was designed and manufactured in the first half of the 1960s.

The top layer had the pads for the flat pack ICs to be welded, and tabs along the bottom of that layer or interconnects to the board. Next was the voltage layer. In the middle were three layers used for circuit interconnects. A ground layer sat below them and a final interconnect layer was on the bottom of the sandwich.

A printed circuit board was 9 inches wide and just over 1 inch tall, with mounting spots for 60 ICs. Thus, one PCB held 120 NOR gates of logic. The I/O interconnect tabs along the bottom edge of the PCB were in two groups of 40 and a middle group of 58, thus the PCB featured up to 138 connections to the backplane connector. Wires were connected between these tabs and the Malco mini-WASP connectors on the base of the logic module.

The logic module was sealed in epoxy potting, although some testing and development machines were left unpotted for each debugging access. Aluminum modules held two of these PCBs, one per side, with 276 pins of I/O on the bottom. This module plugged into an aluminum tray with a backplane across the bottom.



The backplane had connectors for all the logic modules, up to 240 connections each, with wire-wrap connecting all those pins together. The AGC had two such trays - the logic tray and the memory tray - which were magnesium, bolted together and put on a cold plate, forming a 24 inch by 12.5 inch structure that was 6.5 inches deep. Liquid cooling was supplied to the cold plate to remove the heat during operation.

The AGC was supplied with 28V DC and had internal power supplies to produce the lower voltages, such as 4V and 14V, needed for logic and memory. The main oscillator ran at 2.048 MHz and was used as a common timing source to drive all the attached electronics in the spacecraft.

Memory used ferrite cores. The regular read-write memory (called erasable) was 2048 locations of 16 bit words. The remainder of the memory was read-only (called fixed), built as core rope assemblies. The erasable memory needed space for 32,768 cores to hold the 2K of data, but the design of rope memory provided 36K words with only 3,072 cores.

Each core, which was larger than the lithium ferrite core used with erasable memory, is a different material and had many wires threaded through it  A core could hold 192 bits of information because the actual information storage was the wiring of sense lines. The remainder of the wiring was used to select which 16 of the 3072 cores to flip on and off. If a sense wire ran through that core, it produced a 1 on output while the wires that bypassed cores had a 0 output.

The reality was a bit more complex, because the memory was arranged in six core rope modules of 512 cores each (6K words). Inside the module were four planes of 128 cores each. In reality more than 16 cores would be flipped but selection logic and diodes assured that we picked off only the 16 bits that were desired. No individual core would ever have more than 128 sense lines through it (1 bits assigned).

During testing and software development, various core rope simulators were plugged into the AGC in lieu of the actual fixed memory modules. Some would override the core rope module, others replaced the six modules with plugs connected to the simulator. This allowed testing of software changes before the design was frozen and the Raytheon factor wove the sense lines to form a final rope module.

Monday, October 8, 2018

Teletype model 19 restoration complete; Sherman Tank Bar lives another day

TELETYPE RESTORATION WORK

Model 19 system

Marc and I finished reassembling the model 19, putting on all the last small parts on covers. Marc had carefully hand polished all the label plates so they would look good when reinstalled. Finally, we had every single part accounted for, everything installed and the table ready to power up for testing.

Flipping the switches to provide power to the REC 30 power supply did turn it on, so that after a 40 second warmup it began supplying 120V DC to the table and all components plugged in there.The other switch was flipped, the send and receive jacks of the model 15 put into the TEST socket, and we verified that the unit would successfully print what was typed.

The test power was adjusted a bit high - over 70ma when the current loop should run at 60 - but it all worked. Another model 15 was hooked to the Line1 jack and it faithfully echoed what is produced on the local model 15. The perforator on the model 15 works as well, punching tape as we typed.

The tape that was punched, threaded into the model 14 Transmitter Distributor, allowed us to test whether the TD was hooked up and working properly. It did send out exactly what was on the tape. At this point, Marc only needs to adjust down the test loop current to 60ma and he can make full use of the model 19.

SHERMAN TANK BAR

The life size Sherman Tank bar we made for the Villa Siena fundraiser was given to a different non-profit and will be used again on Veteran's day, Nov 11th, where it will serve as the information booth at Santana Row for the military vehicle event. I am happy to see this bar be of further use before it has to be torn apart and scrapped. 

Saturday, September 29, 2018

Sherman Tank bar completed and ready for fundraiser tonight

FUNDRAISER THEMED BAR - SHERMAN TANK - COMPLETED

The work involved in completing the tank consumed all my time for weeks, distracting me from posting as I usually do. Right in the middle of the effort, I had scheduled a helpful medical procedure but it left me dependent on others to do the lifting, further complicating everything.

We did finish construction of all the parts and modular assemblies in time for transportation yesterday. Due to the large size of the tank and the limited size of gates and passageways around my property, we built this as eight major assemblies which could be moved independently. 

A crew of 5 people came to help, lifting and moving each section. The top sections were the hardest to handle - 11 1/2 feet long, 5 feet wide and a height that averaged more than 3 feet. In fact, to have the room to maneuver them, we first had to move the three bottom sections upon which they rested.

To allow for this, I built four tall stands which fit in between the top and bottoms, so that we could lift the tops slightly and leave them suspended up in the air while we removed the bottom assemblies. The first truckload carried the bottom assemblies, all the wheels, suspension boxes, sections of tread, the cannon and other parts with the exception of the suspended top pieces and the tank turret which was still being painted. 
Suspended tops, after removing bottom sections
We returned to move the tops down off the stands and out to the truck. The turret barely fit inside, jutting out the back of the truck slightly and roped in place. I carefully drove with the open truck, unloaded, and assembly began. 

About five hours of work were needed to put it all together, the first time that it all could be assembled because there wasn't enough room in the yard space where we built everything. We had a few snags and needed some improvising. A few bits of wood broke and had to be repaired. Still, it came together in the end.

Tank assembled in place
Actually half a tank, split side to side
Today, after I post this, we will go back and do some minor paint detailing for artistic effects. I have a 48 star US flag (period authentic) to attach to the antenna on the turret, then the tank is complete. I can install my model 15 teletype next to one of the decorative army tents nearby, get it operational, and fine tune the 'green screen' photography setup in the library where we will provide digital pictures of attendees standing in front of period pictures such as a B-17 bomber. 

Example of green screen photography results

Saturday, September 8, 2018

Teletype and Sherman Tank progress

MODEL 19 TELETYPE TABLE RESTORATION

Ken and I completed the wiring of all AC and DC power on the table. During that process, we checked all the lines for correct connections and absence of short circuits. We did discover two shorts. One was caused by frayed wiring connected to a receptacle, and the other came from wire whiskers  bridging between adjacent terminal on the Transmitter/Distributor connector block. 

The desk has two power switches on the front. One controls the motor on the Transmitter/Distributor and the other controls the REC-30 Power Supply. I checked their operation and found a fault in the Power Supply switching. We discovered that the switch itself was stuck open. It was a double pole, single throw 20A switch which had been wired in parallel to support more than 20A load. 

We picked up a suitable DPST 20A switch from a local hardware store and installed it, restoring the ability to switch the main power supply on and off. 

I began to wire the signal lines, supporting twin lines, a mix of Reperforator, Transmitter/Distributor and Printer/Keyboard plus test plugs. The last set of connections to make come from the complex line switch that supports connecting the reperforator to either of two lines or leave it offline. There are also connections from a Tape Out button that provides idle characters as filler to provide some leader or trailer on a tape being punched. 

We all worked to install the base and connector block into which the model 14 Transmitter/Distributor will slide. This was finished and all the wiring completed, thus we can use the TD as soon as the signal wiring of the desk is complete. 

Marc spent some time putting together the cover for the model 15 printer that will sit atop the desk. There were several doors and flaps that were twisted and fitted badly. Marc spent the time bending these until the closed and opened properly.

MODEL 14 PRINTING REPERFORATION RESTORATION

Mike did a teardown of the selector mechanism in the reperforator, both to improve its operation and to support some video demonstration of the way that teletype selectors work. 

Mike and Marc designed and installed a modification providing a terminal strip for connections to the reperforator, which provides a neater and more reliable alternative to the directly soldered wiring of the original mechanism. 

Mike did quite a bit of oiling and exercising of all the moving parts. It is largely done now, with most levers or other parts moving easily and promptly. 

MODEL 14 TRANSMITTER DISTRIBUTOR TESTED

Marc's Transmitter/Distributor was assembled and all wiring completed. He did a sequence of adjustments until it performed perfectly. He demonstrated this with a tape he had produced on his keyboard perforator, transmitted flawlessly to his model 15 printers. 

I picked up new brushes to install on my Transmitter Distributor, but for the time being I am waiting until we can manufacture or find a motor pinion supporting the standard 60 wpm transmission speed. 

SHERMAN TANK BAR BUILD

Nancy selected the tank body color and did a test painting. We are ready to prime and paint all the panels of the tank now. We are still struggling to find right material for tank treads and wheels. 

I spent Saturday building out the front half of the upper body and doing some finishing of the center 'bar' section. We have a few more plywood panels to install but the majority of the front half of the tank is done. I expect to wrap this up on Sunday and to begin building the rear half of the upper body and the rest of the bottom panels. 

Most of front upper body is done, but some panels left to do

Bartenders side view of the front of the tank (sans Turrent on top)

Tuesday, September 4, 2018

Starting on Sherman Tank bar construction


SHERMAN TANK BAR CONSTRUCTION

I began construction of the latest bar structure we are building for the Villa Siena fundraising dinner. The theme of this dinner is WWII/1940s and the design we chose was a Sherman Tank. We have to accommodate bartenders inside which requires this to be big enough to allow for a ten foot wide window across the bar where drinks are served.

The structure is a side of a tank (actually half a tank as it is cut along the front-back centerline), with the main gun barrel facing left. The structure is 21 feet long and five feet deep. The top of the treads are 4 foot off the ground and the bottom of the gun turret sits about 7 foot off the ground. This is slightly larger than life size scale, where a real Sherman tank is only 19.5 foot long.

Structure - picture distorted due to need to use Panorama mode to capture image
We built the frame for the bottom of the tank (up to the top of the treads) with the higher window opening for the bartenders taking 10' of the length and nearly centered front to back. It consists of a front, a back and the center bartender section, allowing us to move the parts; these but side to side to form the 21' length. The center section can be separated to fit past gates and openings around my home.

The body of the tank consists of a front and back half that will sit atop the structure you see here - these rise to about 7' above ground over the center section and form the outline of the tank, minus the turret. We have to build these front and back body pieces next and sit them over the frame you see.

The turret itself will be formed from paper mache, using chicken wire as a form to apply the paper. That will attach to the top of the body sections we will build next.