Friday, September 20, 2024

Powered up 1442 card reader and did some debugging the controller logic

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

I inserted an 0000 card into that slot between the cable connectors at rows 3 and 5. 

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
The logic for the 1442 requires that there be another card ready in the input hopper before the machine will assume the Ready state. This supports handling of very long card decks, which won't all fit into the hopper at one time. The operator loads the first part of the deck and reads. 

When the hopper is empty, the reader turns off Ready status, but there is still a card sitting in the pre-read station, as above. Putting in the next part of the deck and pushing Start will continue with reading the deck, giving the software doing the reading no clue that there has been an interruption. 

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. 




No comments:

Post a Comment