Saturday, March 29, 2025

Console printer ready and diagnostic program now running

DIAGNOSIS OF THE MISSING -TWR CB RESPONSE SIGNAL

The power cable to the typewriter - an SMS paddle card plugged into the base of the IBM 1130 - supplies 115VAC for the typewriter motor, +12V and +48V. The 48V passes through three sequential microswitches, which IBM terms circuit breakers (CBs). These are actuated by cams or other moving parts to break the connection during the active portion of some typewriter operation and restore it as it finishes. It is wired to the 1130 logic as the -Twr CB Response signal. 

CB2 rides on a cam on the end of one shaft that only rotates during a print cycle - when the typeball is going to be slammed against the ribbon and paper to produce a printed character. The connection opens at approximately 20 degrees of movement and closes again at 120 degrees, out of 180 degrees that this particular shaft turns in a single print cycle. 

Printing begins when the selection solenoids are activated, simultaneously tripping the print cycle clutch. The solenoids that were activated release an arm from a hook so that it is NOT pulled down by the print mechanism. These arms pivot levers that ultimately produce the rotation and tilting of the typeball as it is set up for printing. 

The purpose of CB2 is to prevent any additional selection solenoid activations during this time when the ball is rotating and tilting for the initially selected print character. After the 120 degree point, the golf ball is locked into position, ready to fly forward toward the ribbon. All the mechanical motion from 120 to 180 occurs without regard to the arms that might be selected for the next print character.

In order to achieve the fastest possible print speeds, the computer could now trigger a new set of solenoids to select the next character to be typed. The print cycle clutch would remain tripped and as the first print cycle ended at 180 degrees the mechanism would just continue on, pulling on the arms that were not selected for the second print character, rotating and tilting to a new position, and preparing the ball for typing. 

The only way to achieve the 16.5 character per second max rate is to have selected the next character before the prior one has mechanically completed. The controller logic in the IBM 1130 is blocked from activating the selection solenoids (and triggering the print cycle clutch) when the circuit for -TW CB Response is opened by CB2. As soon as CB2 closes again, it can activate solenoids. 

CB5 is activated by the operational section, which involves a set of clutches that turn a mechanism 180 degrees when the clutch is tripped. That rotation is converted into vertical movement of a plate on the rear of the typewriter. As the plate is moving, CB5 opens at about 15 degrees of the operational clutch rotation and closes again at 105 degrees. 

There are two operational clutches, which convert the continually turning shaft motion into a rotation. One of them turns a full 360 degrees - it is used for carrier return and line feed activation. The other is the one connected to CB5, which makes just one 180 degree turn each time it is tripped.

The 180 degree clutch is connected to three different solenoid activated linkages - tab, backspace, and space - which cause it to rotate. In addition to tripping the 180 degree clutch, each linkage will move a pivot arm under that vertically moving plate at the rear of the typewriter. If the pivot arm is under the plate, it is pulled down during the clutch cycle. CB5 is pushed open by an arm of the vertically moving plate. 

For example, the space linkage, when pulled down, rotates a spring loaded hook down to grab and twist the space torque bar, with the hook pulling off the torque bar partway through the hook's downward movement. It is designed to impart a short twist to the space torque bar, which pops a tooth out of a rack temporarily on the carrier. The coil spring has tensioned a cord that tries to pull the carrier rightward at all times. The tooth is what stops the carrier from movement, so the temporary removal of the tooth lets the carrier slip to the right one rack space. 

The operational unit functions - space, tab, return, etc - are independent of printing characters. It is important to block a new request from activating while mechanical motion is underway on a previous one. We don't want to space to the right while simultaneously driving the carrier to the left margin in a return operation. 

Thus CB5 keeps the 1130 controller logic from activating any solenoids to drive the 180 degree operational clutch by opening for a portion of the clutch rotation. A different mechanism blocks the controller while the indeterminately long functions of a carrier return or a tab movement take place. These depend on the position of the carrier when it starts, and on the column where a tab stop is set in the case of a tab movement. The +Twr CR-LF-T Intlk signal handles this, routing +12V when these long functions are active. 

The final CB in this chain is CB7, which blocks typing while a shift of the ball is occurring. The Selectric typeball has two hemispheres with 44 characters each. On a typewriter used for normal office purposes, we have both capital (upper case) and lower case versions of the 26 letters. One hemisphere of the ball is the upper case side, the other hemisphere is for lower case. When switching between the cases, the ball must be twisted 180 degrees by the shift mechanism. 

The controller logic in the IBM 1130 keeps track of which hemisphere is current in use. If the next character to be printed is located on the other hemisphere, the logic first triggers a shift cycle to turn the ball. Once this is done, the logic then triggers the selection for the actual character we want printed. 

Thus two cycles are needed when shifting between upper and lower case, rather than one. This drops the printing rate of the typewriter - at worst case its maximum would be a bit over 10 characters per second if every other character was on the opposite hemisphere. This is faster than simply half of 16.5 because of the overlap afforded by the timing of the CB signal. 

The solenoid that triggers a shift between hemispheres is fired, and while the shift mechanism does its 180 degree rotation from one position to the other, a cam causes CB7 to open at 15 degrees of rotation and close at 115 degrees. This holds off the activation of any character selection solenoid and thus holds off a print cycle while it is open. The choice of 115 degrees allows the maximum safe overlap of a print cycle with the preceding shift cycle, maximizing print speed of the console printer. 

In addition to the task of blocking solenoid activation while at sensitive points of mechanical motion in the typewriter, the signal is used to set the end of operation latch in the logic. This happens with a rising edge of the -Twr CB Response signal, as the CB involved restores the connection to 48V. If the signal does not drop during a print, shift or other operation, then it won't be detected as a rise. 

When the operation complete latch is set, it also raises the request for an interrupt on level 4. The 1130 will branch into the interrupt handler, check the device status for the console printer, reset the operation complete condition during the XIO Sense DSW it used for the check, and branch out to clear the interrupt level. This normally triggers software to issue the next XIO Write to print another character or request another movement from the typewriter. 

When the operation complete latch is not triggered, we don't get an interrupt request and the software that is driving the printer will stall. That is precisely what was happening with the console printer in this case. I had to determine why we were not seeing the signal dip and rise. 

CB5 which I worked near is associated with space, backspace and tab operations driven by the 180 degree operational clutch. It remains closed otherwise and the signal dip would be caused by CB2 for a character printing (and possible CB7 if the ball had to be shifted between cases before the typing). This strongly suggested that I had not mechanically misadjusted CB5 to cause the problem.

I checked the presence of 48V going through CB2, CB5 and CB7. I checked for continuity of the -Twr CB Response line from those CBs back through a signal SMS paddle card into the IBM 1130 logic for the console printer. No 48V getting to the logic backplane. 

I decided to track it through the three CBs and then down the cable. That was when I noticed that the cam for the shift mechanism, driving CB7, was in the wrong position. It was holding the contacts open while the ball was at rest, not while it shifted hemispheres.

REPAIR AND SUCCESSFUL OPERATION RESTORED

I could rotate the cam relative to the shift mechanism itself, but it should be anchored in one position to achieve the make and break degree positions defined for the CB. Here it is oriented as it should be resting when we are not in a shift cycle. 

I removed the circlip and washer to expose the screw that sets the cam in place. The screw inside was indeed very loose. 

I hand cranked the machine through shift cycles, varying the position of the cam, until it achieved the make and break timings we need for good operation. I then locked it in place with a bit of gorilla glue so that it won't work loose again. 


FIRING UP DIAGNOSTIC MONITOR AND DISK FUNCTION TEST 309

Using the core memory loader function on this system, I loaded the core memory I had saved when I started the diagnostic monitor and the disk function test diagnostic on an IBM 1130 simulator, held at the point where I could start it up to test the Virtual 2315 Cartridge Facility. The machine was paused between instructions of the diagnostic monitor, which I could then resume by pushing Prog Start on the 1130 console. 

Setting the console entry switches (CES) to 0181 and pushing the interrupt request key (IRQ) on the 1130 keyboard will ask the diagnostic monitor to restart the 309 diagnostic in paused mode. Turning CES to 8100 and hitting IRQ will select the 1130 internal disk drive for testing. Flipping CES to C10C and hitting IRQ informs the diagnostic that we are aware it will write patterns on many disk sectors because this is a test cartridge, not a live customer cartridge. Turning CES to 4100 and hitting IRQ selects the tests to run (all of them) and then choosing 01C0 in the CES will start the diagnostic when we hit IRQ. 

As the diagnostic 309 is restarted and paused, we will get a printed line each time we hit IRQ informing us that the CES value was received and passed to the diagnostic. The final IRQ with CES at 01C0 prints the start message for the diagnostic (START 0309) then various informational (and possibly error) messages printed as the tests are performed. 


I brought it up to the point where I was ready to start 309, having 01C0 in the CES, but needed to bring up the virtual disk cartridge in order to proceed. I was rewiring the power connections to the Virtual 2315 Cartridge Facility and did not get the sense wire connected that informs the logic that we have good power from the 1130's 12V power supply. Without that connection, the logic would not load a cartridge because it believed we were in a power failure situation. 

The erratic space function and other adjustment issues made the print above a bit rough, but good enough for me to run the diagnostic and evaluate its outcome - once I get the power wiring fixed. 

No comments:

Post a Comment