MY 1442 CARD READER/PUNCH WAS NOT FULLY OPERATIONAL
I had an issue with the punch, which I will repair with a replacement punch unit given to me by a very kind organization last year. In addition, the clutch and moving parts are still a bit sludgy with old lubricants and don't move crisply enough. I was not able to read more than one card before errors were detected because the card wasn't moving fast enough.
Still, it was useful enough that I cabled it up to the VCF 1130 to test the controller logic cards. I had inserted all the cards that I identified as belonging to the 1442.
BEGINS NPRO BUT DOES NOT STOP
Non-process runout (NPRO) is the IBM term for clearing cards out of a machine. Feed cycles are taken continuously while the button is pressed down. When I pushed the NPRO button it began feeding but after I released the button, it did not stop.
I traced the failure to an inverter that wasn't delivering the feed CB - a magnet spinning on a shaft passes by four coils located around the perimeter of a circle, inducing a pulse that IBM called Feed CB1 through Feed CB4. The NPRO latch will shut off at the next Feed CB1 pulse after the pushbutton is released, but it was not getting the pulse.
MISSING CARD THAT SITS IN VERY UNUSUAL SPOT IN THE COMPARTMENT
An 0000 card was missing from card slot N4. Below is the view of the A-B1 compartment with the SLT cards inserted for the 1442 device controller logic.
SLT card slots are named by the row and column. You can see card slots 2 through 7, from top to bottom. Spaces 1 and 8 are not long enough for a card; instead they take cable connectors at right angles to the way cards are oriented. You can see columns B to M, from left to right. I inserted cards in rows 2, 3 and 4 across the columns B to M.
Behind the metal braces on the left and right are columns A (left) and N (right). They are almost always used for cable connections as you can see with the masses of yellow and black wires that are connected in those columns.
However, IBM chose to put an SLT card in slot N4 instead of a connector. We see another connector plugged into slot M6 here, not on the two edges A and N where the others connect. I not only didn't see the empty slot, I couldn't put an SLT card into the slot or remove it without first detaching the metal brace on the right.
Brace removed and open slot visible on right |
Card in place in N4 |
Next I reinstalled the metal brace. You can hardly see the card now, with the brace blocking the view.
Where's Waldo - SLT card edition |
MUCH IS WORKING CORRECTLY WITH THE CONTROLLER LOGIC
When I place a card in the hopper and hit the Start button, the logic takes a feed cycle to pull the card inside and leave it in the pre-read station. The next feed cycle will pass the card through the photocells to read the eighty columns as the card goes by.
Card inside, sitting at the pre-read station |
When finally the last part of the deck was put in the hopper and the last card of the deck is fed into the pre-read station, the machine again drops Ready status. Pushing the Start button without having put any cards into the hopper enables a special mode called Last Card. The reader becomes Ready and when the software reads the card there is a special bit set in the device status word indicating Last Card.
I pushed the Start button another time and the Ready light turned on, testing that part of the logic.
The Check and Chip Box lights look illuminated but they are not. At this point the machine is ready to read or feed the card when an XIO Control command is issued. Clutches will activate to move the card from station to station and logic will either activate a read or simply feed (move the card forward).
Motor, clutches and stations for card movement |
READING IS A BIT COMPLEX SO I DIDN'T ATTEMPT IT
Like the 1132 printer we checked earlier, this device is very simply thus putting a heavy load on the CPU and the programmer. To read a card that is sitting in the pre-read station, the program issues an XIO Control with the Start Read bit set on. This begins to feed the card through to the next station (pre-punch).
As each card column passes through the photocell slot, the controller logic issues an interrupt on level 0, the highest priority interrupt. The interrupt handler software must issue an XIO Read instruction to store the word that contains the 12 rows of holes for this current column, padded with four bits of 0 on the right. This happens eighty times, once per card column, and the read must occur before the card moves to the next column position or data will be lost.
When the card has finished the eightieth column, the reader requests an interrupt on level 4. This interrupt has a device status word bit that indicates the read has completed. You can think of IL4 as the card and machine level interrupt and IL0 as the column level interrupt.
As you can see, I would have to write two interrupt handlers, one for each level being used, in order to handle the data from the card once I start the read with XIO Control-Start Read. Since I know that my reader is still sluggish due to old lubricants, I know it can't move the card fast enough. It registers errors in the movement; I could only read one card at best when I last turned this off. It isn't worth the work to try a read when I am fairly sure it will fail anyway.
It is easier to just request a feed cycle - to move a card from one station to the next. We only get the IL4 interrupt at the end of the move if an error is detected, otherwise it just silently executes the request. I therefore set up an XIO Control with the Start Feed bit on and fired off some movement.
FEED CYCLE ENDS WITH FEED CHECK IN READ STATION
The card did move to the next (pre-punch) station however the machine detected an error in the movement through the read station. This is a consequence of sluggishness, as the machine verifies that the card has passed through the photocells, so that none are dark, when a specific Feed CB is triggered. Our card moved too slowly, partly because our clutch didn't start the movement promptly enough.
JUST ABOUT DONE WITH WHAT I CAN DO WITH THE 1442
Without the ability to read cards or perform other operations without errors, I really can't exercise all aspects of the controller logic. However, once I discovered the missing card at N4, everything else has worked flawlessly on the controller side.
I do intend to continue restoring my 1442, repairing the sluggishness and replacing the punch unit so that it could process cards normally. It would divert time from restoring the VCF machine, particularly since the museum does not have a 1442 reader/punch to use with the system. Instead, they have an 1132 printer and the 2501 card reader.
On a side note, the frustrating finicky incandescent lamps for the 1130 display panel are also used inside the 1442 for a status panel. Many bulbs have had their leads snap off and this is really ready to have the bulbs replaced with the LED bulb substitutes I built.
You probably remember this, but "CB" is IBM-ese for "Circuit Breaker". As I well remember from servicing 026 punches, 085 sorters, etc., Circuit Breaker or CB was the term for a cam-operated switch, typically comprising a pair of spring-loaded contacts. The contacts are normally-closed, but one contact rides on a cam on a rotating shaft, making the contacts open and close at specific rotational points of the shaft. It's like the "points" in a traditional automobile distributor, and have the same purpose, to provide pulses timed to a shaft rotation.
ReplyDeleteWith the mechanical CBs, the Customer Engineer
(CE) had to carefully adjust the position of the CB assembly so the contacts opened and closed at juuuuuust the right degrees of rotation.
Clearly in the "modern" design of the 1442, the old mechanical CB has been replaced by a contactless magnetic sensor, with the same purpose of pulses timed to a shaft rotation. But in your picture I can see the adjusting screws that let the CE adjust the CB assembly position.
Indeed the 2501 also uses coils as "CBs". My talk at VCF East this year was on restoration of 50s-60s machines and the somewhat unique IBM language such as CB was a part of the heads-up I provided.
ReplyDelete