Wednesday, June 5, 2024

Toying with idea suggested by another restorer; plug in peripheral replacements for 1130 systems

THE 1130 REQUIRES PERIPHERALS FOR EFFECTIVE DEMONSTRATIONS

The entire design of the IBM 1130 system is centered on batch processing, thus a machine which primarily reads punched cards in, processes things and produces printed output on a line printer. Several of the museums which have 1130 systems do not have the reader and printer, or they are not working, nor do they have the keypunches and supplies on hand to use these systems as they were intended. 

In spite of its disk based monitor system (DMS2) the software is itself constructed around the concept of reading job control languages and other data from card readers, producing output on line printers, card punches, plotters and other devices. The console printer (typewriter) is a secondary kind of device that was generally not used very often compared to the continuous use of the readers and printers. 

CONCEPT OF A REPLACEMENT

The basic idea from this restorer is to inject card images from a PC based file but using the physical card reader on their system. This works when you have a mostly working peripheral but does not solve the issue for museums that lack working readers and printers.
To accomplish this without needing the IO boxes, my approach would be to connect to the 1130 at its cable connector for the missing peripherals. The replacement would appear to be the physical card reader or line printer as far as the 1130 system was concerned, but would instead use modern file systems and storage devices to hold the pretend punched cards and to record the pretend paper output. 

HOW IT WOULD WORK FOR A 1442 CARD READER REPLACEMENT

The 1442 card reader/punch is a complex beast but as far as the 1130 cable connection is concerned, it is much simpler. There are approximately 65 signals on the cable between the device and the 1130. These are in categories:
  • 12 rows of card data from reading the current column
  • 12 rows of card data to be punched in the current column
  • 12 rows of confirmation signals of what was punched in the current column
  • Four 'CB' pulses at points during one feed cycle
  • Read emitter pulse that each of 80 columns is ready to be read
  • Hopper empty, Stacker full and Cover open microswitches
  • Card entering punch station signal
  • Two Incremental Drive pulses indicating movement of card in punch station
  • Two punch 'CB' pulses for each of 80 columns
  • Trigger feed, read or punch
  • Busy status
  • Select alternate stacker
  • Motor controls
  • Pushbuttons (Start, Stop, Non-Process Runout) and lights (Power, Ready, Check and other errors)
The replacement device will generate the appropriate CB and emitter pulses at the proper timing when the device has been requested to do a feed, read or punch. It will present the state of the 12 rows (holes) then emit a pulse to have the 1130 pick up the data. On punching, it will grab the 12 rows of data for each column to save on the replacement device, then echo back the value to indicate that the punching worked properly. 

Feed CB pulses, microswitches and other pulses generated by the replacement device will show the card moving through the 1442. Any lamps to be illuminated on a physical 1442 will be shown on our replacement device. We can send a pushbutton signal for Start, Stop and NPRO from the replacement device.

This will cause the controller logic in the 1130 to believe that it is controlling a physical 1442 and that successful reading and punching of cards has taken place. All works normally for the 1130 system. 

The data that will be passed into the 1130 upon reading or captured from the 1130 upon punching is stored recording all 12 rows of data for each of 80 columns, thus ensuring it handles any kind of binary as well as Hollerith format. The data is stored compatibly to the format used by the DeckView program written by Brian Knittel as part of his IBM 1130 simulator, thus these files can be interchanged between simulators and the real 1130. Deckview will show the 029 keypunch glyph on the top of the card image when viewing a card, in addition to the actual holes punched. 

A USB memory stick with a card file having a specified name can be inserted into the replacement box, just as a stack of cards would be placed onto the input hopper of the physical 1442. Once must supply blank card images on the USB stick the same way that an operator must load blank cards before doing an output only job. Any punching will update the cards just as would occur with an actual 1442, since programmers can read certain columns of a card and then punch data in different columns immediately afterwards. The restriction is that punching must start in column 1 so the data being read has to be in higher column numbers. 

Physically I envision this as a small model of a 1442 with a USB slot on top for the input hopper. It would have the lights and pushbuttons that look like the physical reader. Perhaps the USB card would have a 3D printed cover that looked like a stack of cards. 

Image copyright The National Museum of Computing, UK

A companion application would look like an 029 keypunch and allow creating and editing cards in the files. The files on the USB stick might be named hopper, stacker1 and stacker2. 

HOW IT MIGHT WORK FOR AN 1132 PRINTER REPLACEMENT

The 1132 uses 120 spinning print wheels that have 48 character positions around their perimeter, all wheels moving together continuously. When a user starts a print operation, the 1132 raises a signal when each new character is about to move in front of the ribbon and paper. It also sends a bit pattern that represents the particular character which is arriving. 

The printer hardware waits a fixed period of time, allowing the software on the IBM 1130 to read that bit pattern then set up a hardware scan buffer in memory with a 1 bit for every print column that contains the character that is arriving. This buffer is fixed in locations 32 to 39, which covers the 120 columns plus the final bit is used to let the printer detect when the software had not finished setting up those bits in the buffer before physical printing began. 

When the software was interrupted due to a new character arriving on the wheel, once it grabs the character code it should turn off the final bit in the hardware buffer. Once the software has set all the bits in the buffer for columns containing that character, it turns on the final bit. The printer would fetch the eight words of the buffer one by one to select the columns it will print; if the final word's final bit is not a 1, the controller logic in the 1130 takes the printer out of ready and signals a 'scan check' error condition. 

Our replacement will model a wheel rotating at the 150 rpm so that each character takes a bit over 8.3 milliseconds to arrive. Thus when commanded to start a print by one of the signal wires begin activated, we will send the interrupt signal every 8.3 ms and encode the proper character bit pattern on eight wires. The 1130 delays for 1.78 ms to allow the preparation of the hardware scan buffer before it begins sending the buffer words to the printer. 

The printer is sent 16 bits representing one word of the buffer plus a eight print group lines that tell us which of the eight buffer words we are receiving from the 1130. We use this to insert the character into any column where a 1 bit has arrived from the buffer. When we have processed the final word of the eight from the buffer, we have completed adding this character to the print line we are building up. 

Thus when the print gate signal is activated, we clear our print line in the replacement device, begin sending the print wheel characters every 8.3 ms and receive the buffer words for each character to insert into the columns of the print line. When the print gate signal is dropped, because the print line has been completed, we capture that line and go back to waiting.

The paper movement is generated by one of two signal wires from the IBM 1130. clutch or interposer, which either cause a one line space of the paper or start the paper skipping up. Our replacement device will emulate the carriage control tape of the printer, which is a paper band with twelve columns along the length representing printer channels 1 through 12 although this printer only works with 1 to 6, 9 and 12. The band is taped into a loop and is mounted on the physical 1132. 

The printer can be set for either 6 lines per inch or 8 lines per inch spacing. The carriage control tape will move at 60 or 80 positions per second while skipping, thus our replacement device sends the carriage pulse once each 12.5 or 16.67 milliseconds representing the movement of one line. Spacing down one line takes the same time as during a skip. 

Our replacement device will have a carriage control tape stored in it, with holes in the columns and enough rows to emulate the longest paper length. Typically forms have 66 lines on them, but could have about 90 when in high density (6 lpi) mode. We track where we are on the continuous loop tape and send the proper hole bits for channels 1, 2, 3, 4, 5, 6, 9 and 12 for each row (line). 

In general, it is up to the software to determine when to stop skipping. When the interposer signal is dropped we stop at the next line (row) of the simulated tape. We capture a blank line for each row/line we pass as the printer spaces or skips. The carriage restore button, however, skips until it finds the next hole in channel 1 of the tape. This is done by the 1132 hardware thus we must pad blank print lines down to the point where we have a hole in channel 1, rather than waiting for the software to stop the skip. 

This replacement device will communicate over a USB serial link to software that runs on a personal computer. The software on the PC or Mac will be capture the output into an ASCII file. That software will also transmit a carriage control tape image down to the replacement device in order to control skipping and carriage restore operations. 

It is common for programs to overprint with an 1132, that is to send multiple lines of print without spacing or skipping the carrier to move the paper. This has to be addressed somehow in the captured file. Also, we need to show the fold lines of the paper which is traditionally a bit above the point where the carriage control tape has a hole in channel 1, as that is the top of the form. 

I envision generating the output of the printer in postscript. It would be output to a printer attached to the device. The device would need to have a button to flush a page to see the last lines since the postscript would still be building up the page image, but that would be labeled as Carriage Restore just as on the physical 1132. 

 If I had used a standard ASCII file it cannot show the results of overprinting, instead showing only the last line printed before a space or skip. A tradition with printing on the 1132 is to watch for a hole in channels 9 or 12, which indicates the last printable line of a form, then skip to another channel before the next print operation. Thus, we can detect this pattern and do something to indicate the first line of a page such as a line of a character that doesn't exist on the 1132 print wheel. 

The viewing program could graphically set pixels for each line printed, thus showing what overprinting would look like on physical paper. It also can show perforation lines at the fanfold. Optionally it could introduce tinting to represent greenbar paper, where alternating stripes of green and white are on the paper before it is loaded into the printer. 

OTHER OPTIONS AND THOUGHTS

1 - A physical card reader, e.g. a Documation reader, could be combined with the 1442 replacement device so that actual punched cards can be read by the 1130 system. That plus the postscript based modern printer attached as the 1132 replacement would give the closest recreation of operating a batch mainframe system. 

2 - Rather than implementing these at the connectors, which requires the 1130 to have controller logic installed for each peripheral you are emulating, a design could be attached which intercepts the XIO instructions and manages core memory, interrupts and device status words, bypassing any actual device controller logic in the system. 

This requires about 76 signals to be connected onto the SLT (mother)boards but allows emulation of any device that can be installed on an 1130, not just the devices which were installed on the specific 1130 machine. The bonus is that I have already created the FPGA logic to do this as part of my SAC Emulator box I developed years ago to use with my own IBM 1130. This therefore would have the least development work involved; mainly I have to clean up the Python based GUI and make it more rugged. 

Sunday, June 2, 2024

More testing of the cycle steal (DMA) core memory loader

NOT HAPPY WITH TRIGGER AND STOP OF THE CYCLE FROM THE ARDUINO

I discovered that the logic wasn't doing what I expected - wait to trigger until the Arduino request line (ArdReq) goes high, emit a done line (ArdDone) to the Arduino, then go back to idle when the ArdReq line is dropped. 

I did spot the reason for the flaw and believed that a very simply change would fix it. I worked out a mod I could make to the board, cutting one trace and adding a wire between a couple of other pins. I applied this bodge to the board and tested again. The start and stop of the cycle steal was now reliable and just as I intended.

CHECKING THAT ADDRESS AND DATA EMITTED TO 1130 ONLY DURING A CYCLE

I hooked up some wires to address and data pins on the board, as they would be raised by the Arduino before commanding each cycle steal. I then monitored what was done to the wires that will be connected to the 1130 circuitry. 

Since the gates driving the 1130 are open collector, intended to interface with the different voltage levels of SLT versus TTL, I also put in some pullup resistors so that I could observe the actual logic state of these output pins. 

I worked through all of them, ensuring that I would present the address and data correctly to the 1130 system. I also verified that control output lines -CSLevel0Request and -FileGateEntry were asserted (pulled low by open collector gates) at the proper time during a cycle steal.  

CHECKED OPERABILITY OF THE TTL LOGIC WITH SLT CIRCUIT INPUT SIGNALS

Since SLT logic has a different voltage scheme with an on state nominally +3V and off nominally 0V, while TTL has +5 and 0 for its nominal values, I wanted to be certain that a valid SLT logic level would be detected properly by my TTL logic gates. 

I did not find a complete set of lowest valid high and highest valid low voltages, but IBM did specify the 'transition' voltages where a rising signal switches from 0 to 1 and where a falling signal switches from 1 to 0. These are 0.3 and 1.8V respectively.  Thus I can expect SLT to give me something below 0.3 when low and above 1.8 when high.

SLT operates only by sinking current, as far as the input of the next gate is concerned, not the actual voltage level. If the output voltage is low enough to cause a current to flow from the next gate input down through the output to ground, then it is at logic low. Any other condition is logic high. Thus an open circuit is a valid high as far as SLT is concerned, with 0V present. 

The typical gate output of SLT is formed by a transistor whose base is tied to ground and whose collector is the output. A pullup resistor, often 5K, brings the collector up to +3V when the transistor is not switched on. The germanium transistor has a diode junction voltage of about 0.3V, thus when turned on it appears to be at roughly 0.3V. 

That means my TTL gates will see about 0.3V when the driving SLT gate is in the low state and about 3V when the gate is in the high state. If the SLT gate is also driving other circuits then resistor divider effects could lower the sensed voltage somewhat, but it is going to be well north of 2V for any practical case. 

Going in the other direction, an open collector TTL gate could sink perhaps 8ma to near ground level, which is certainly enough to pull the junction of diodes inside an SLT gate down to zero volts as they have resistors on the order of 2K pulling the junction up and about 5K pulling down and therefore only need a bit over 2ma of current sinking. 

Even considering the non-zero output because of the diode voltage of the TTL transistors, SLT is implemented with -3V and +6V rails plus a few diodes such that the voltage at the base of the SLT inverting transistor is below its threshold even when the inputs are a bit above 0.  This means that our TTL open collector gates can easily inject a logic low into an SLT circuit. 

Thus, I checked whether my TTL gates would work properly with inputs down to 2V for logic high and with inputs a bit above 0.3 for logic low. The specification for most 74LSxx gates is a minimum of 2V for logic high input and a maximum of 0.7V for a logic low, which fits nicely with the expected situation. My circuit breadboard tool has a variable supply allowing me to adjust the voltage being fed into my circuits, seeing them detect properly with 2V and 0.7V levels presented on their inputs. 

FINAL BOARD DESIGN SENT TO THE FABRICATION HOUSE

I worked carefully on the board, cleaning up traces, adding extensive ground planes and improving the silkscreen legends. Now that the logic is working as desired, I uploaded the design to JLCPCB.com and will wait for the final boards to arrive in a week or so. 

Sunday, May 26, 2024

Finalizing work on SSM 1053 console typewriter

SYSTEM SOURCE MUSEUM CONSOLE PRINTER BROKE A ROTATE TAPE

During the VCF East event, the rotate tape of the console printer on the recently restored System Source Museum 1130 broke , while it was being exhibited there. I brought just the typewriter back with me in order to change the tape and make sure it was in perfect condition before returning to Baltimore.

FINE TUNED ADJUSTMENT FOR ROTATE TIMING

With the new tape in place, I carefully examined and tweaked the timing of the machine to ensure that the tapes are not subjected to any extra stress. During a print cycle, the mechanism first pivots levers to pull or release pressure on the rotate and tilt tapes, positioning the typewriter ball at the proper character. Next, the mechanism pivots locking (detent) bars to lock the type ball in its exact position before it strikes the paper. The ball is flung forward to strike the paper.

After hitting the paper the locking bars get released so that the rotate and tilt tapes can return to their idle positions; meanwhile, the type ball continues its returns to wait for the next print cycle. The timing of the locking bars and the rotate/tilt tape movement have to be synchronized. If the tapes change pressure while the ball is locked, it adds stress to the tapes; if the tapes have not finished moving yet, the ball can be locked on the wrong character in addition to putting strain on the tapes. 

A print cycle involves a 180 degree rotation of the cam shaft,  driven by the main motor when released by the print clutch. This cam shaft directly turns cams that pull down levers to select and drive two metal tapes. Those tapes move on a pulley system and run to the print carrier where they tilt and rotate the ball. The motor is continually turning the right side of the shaft, called the operational shaft, but the clutch keeps the left side, the cam shaft, from turning except when the clutch engages for one cycle. 

The cam shaft is also connected via a gear train to a print shaft that the print carrier slides along. This print shaft has a slot along its length that turns mechanisms in the carrier. The rotation of the print shaft inside the carrier moves the type element forward to print a character, but also engages the detent lock to hold the ball in position for the strike and does other actions such as advance the ribbon. 

The relative timing of these two shafts is adjusted by loosening setscrews in the gear on the end of the print shaft, then moving the print shaft to the point it needs to be relative to the position of the cam shaft. Any movement of the pivot levers that are rotating and/or tilting the type ball must have ceased before the detent is engaged. This holds the ball until after it has struck the ribbon to impress a character on the paper. 

The detent should be released before the pivot levers start to return to their idle conditions, turning and tilting the ball to its home position. The time when the detent is engaged must be aligned very well with the print selection done by the cam shaft which is ultimately swinging the rotate and tilt pivot arms. 

I hand cycled printing while adjusting the timing of the locking bar and print ball movements. I wanted the locking to start AFTER the ball reached its final position and to be released BEFORE the tapes start releasing. If that works properly then the tapes will last a long time. 

I had found that the IBM documented procedure for setting the relative timing did not directly look at the detent lever movements nor the pivot arm movements, instead dealing with secondary indications that I believe are less reliable in achieving the correct operation. 

I will try a few under power later, perhaps, filming in slow motion, but as far as I can tell with very careful hand cycling, the timing of the detent lever latching and the rotate and tilt tape movements are perfectly synchronized. 

NEW ACRYLIC LID FOR PRINTER BEING BUILT

I designed a thick lid for the 1053 typewriter cover as the SSM machine did not have its original IBM part. I will have to glue a couple of small blocks to the underside that will engage the springy metal on the cover that holds the lid in place. This is not an exact copy of the IBM lid, since that has curves and bent sections that would be very challenging to duplicate, but it provides the same function and will look very similar to the casual observer. 

POWER CONNECTION SMS PADDLE CARD REPAIRED

During the removal of the typewriter at VCF, I noticed that the SMS paddle card which connects the 1053 to the power block of the 1130 system had sustained a crack. This broke the metal traces between the card fingers and the spot where the wires were soldered down. 

After an epoxy repair of the card itself, I added some bridge wires to restore connectivity across the line of the crack. The card delivers 115VAC for the motor, +48V for the solenoids, the system ground connection and frame ground that protects users touching the case. Thus the card can now be plugged in and used successfully. 

REINSTALLATION INSTRUCTIONS TO BE PREPARED

I am typing up some instructions for reinstalling the console printer onto the 1130 system. The main difficulties surround the insertion of the cables into the 1130 since the SMS connectors for power and signal lines are buried down inside the machine and can be confusing to a skilled technician who is not totally familiar with IBM systems of that era. I will use lots of pictures to make it easier for the staff that has to put this back on their machine. 

Friday, May 24, 2024

Restoration work to resume and ramp up over the coming weeks

HAVE BEEN HELPING MY WIFE AFTER HER MAJOR SURGERY TWO WEEKS AGO

Due to the surgery on her lower spine, she can't bend or twist or lift for a number of weeks until the bone in her spine fuses around the titanium hardware. Further, until yesterday she had to take pain and related medications as she healed. I therefore had to be home to care for her and handle all the tasks she was unable to accomplish.

We are reaching a point where I can be away for intervals of a few hours, although our dog Kerry needs regular walks which requires me home even if my wife Nancy is otherwise okay. Still, I expect that I can get in about one day of work this next week and increase gradually after that, thus I can get back to the restoration tasks. 

Wednesday, May 15, 2024

DMA based memory loader circuit boards have arrived

 PCB SHIELD FOR ARDUINO

I have received the circuit board that will plug on the top of an Arduino Mega 2560 and implement the function. I will solder on the chips and other parts soon so that once the 1130 is working sufficiently well to do memory cycles and cycle steal, I can test out my design.


HEADERS TO ISOLATE WIREWRAP FROM THE LOADER BOARD

I wanted the wires that will be linked to specific backplane (in IBM-speak, the board) pins to interface my loader to the 1130s logic. The header goes above the board at the top of the gate and I will use wirewrap to make connections between header and board pins. 


Cables will connect the headers to the shield PCB on the Arduino. 

Power sequencing problem found and repaired

TRACING DOWN THE FAULT IN THE POWER UP SEQUENCE

Sometimes you can test each section of a machine and find no problems, because the defect is in the interconnection. I had extensively tested the SMS sequencing card and also reverified the wiring to the SMS socket. I could observe the three primary supply rails were present at the correct voltage at the pins of the socket as well. 

Thus, it should have worked but it didn't. As I did more and more involved tests, probing parts on the board while it was in operation, I heard the relays click on and off as I applied pressure to the test point. This was the clue that led me to determine that the corrosion on the contacts of the SMS connector were introducing high resistance or causing intermittent connections. 

FIXING THE PROBLEM

Applying deoxidizing solution to the contacts and wiping them by inserting the SMS card cleaned up the contacts. The power sequencer now brings up the machine properly, delivering +12V and +48V to the machine because the main rails are working correctly. 

MACHINE NOW UP WITH LAMPS AND BUTTONS ACTIVE

When +12V is delivered to the logic gates, we will see the indicator lamps and pushbuttons that surround the keyboard on the console function as they should. The Prog Start and other buttons can be pressed and result in appropriate actions based on the rotary mode switch setting. For example, each time the machine takes a step or executes instructions, the Ready lamp will glow until the processor enters a wait state again. 

Indeed, the machine came up with a few lamps glowing. File Ready and Parity lamps were illuminated. The first is understandable since I have the drive out of the machine so that the controller logic is interpreting its state incorrectly. However, the Parity error is an issue I have to troubleshoot.

FIRST TESTS OF FUNCTIONALITY

The lamp test switch does not illuminate all the bulbs in the display pedestal as it should. The Storage Display and Storage Load switches won't cycle through memory even with the Parity Run switch set which does not set the stop latch on errors. Pushing Prog Start button does not flick the Run lamp on, although that may be a consequence of the parity error. 

Given the corrosion I detected with the power sequence connector, it is likely that I have to deoxidize all the switches before they will work correctly. I most likely have a memory related issue as well. I like to work carefully from the most central points of the machine outward, so I will begin some testing to determine how healthy the logic may be and the areas that are failing. 

Tuesday, May 14, 2024

Tested regulator under load; working on power sequencing issue

OUTLET INSTALLED IN WORKSHOP

The workshop had its 230V receptacle installed today, something that was necessary to continue restoration work on the VCF 1130 system's power system. I had wanted a 30A receptacle with four wires (ground, neutral and hot lines from different phases), so that I could pull 115 or 230 depending on the wiring of the plug I insert. 

What I had mentioned earlier to the landlord was an L6-30 receptacle, which is three wire, lacking the neutral. This is a 30A 230V only outlet. That is actually fine for the work I am doing now, so I was able to proceed with my testing. 

L6-30R outlet

REGULATOR UNDER 15A LOAD FOR FINAL TEST

Now that the 230V outlet is installed in my new workshop, I could power up the VCF 1130 system to test the +3V regulator. The resistor network is installed which will draw 15A at the nominal 3V output of the regulator. It could be split to start out at 6A draw, 9A or all 15A. 

The expectation is that the voltage setting under the various load levels will be essentially the same as with no load. This ensures that the regulator is working properly. 

I powered up the 1130, with only the +3V regulator switched on. Pin A of the SMS card that sequences power was disconnected - this pin is used to shut down the machine if all three primary voltages (+3, -3 and +6) are not present within a few seconds of power-up. Since I will only be working with +3, I had to pull this wire to leave the system switched on. 

The voltage with no load was set to 3.01V and then I connected the resistors set up for a 6A load. The voltage was still 3.01V at that current which was exactly at the starting point. 

Resistors producing 0.5 ohms for 6A draw

Regulator maintains voltage at 3.01V

I changed the wiring of the resistors to draw 9A and saw 3.01V measured. Once again, holding the voltage very accurately.

Three groups of resistors for 0.33 ohms, 9A draw

Still holding at 3.01V

Finally, with the resistors wired to load the regulator to 15A, I saw the output voltage sit at 3.01Vfor at least a minute. I can declare the power supply completely repaired and working as it should. 

Resistors set for 0.2 ohms, 15A of draw

Holding exactly 3.01V

Next up I connected the logic to the voltage regulator outputs, put pin A back on the sequencing card, and then brought up the system to adjust the voltages as seen at the base of the logic gates. The specifications are:

    -3 supply      between -2.88V and -3.12V
    +6 supply     between +5.76V and +6.24V
    +3 supply     between +2.88V and +3.12V

I set the voltages to 3.01V, -3.01V and 6.01V but did notice that the machine would drop power and lock out the power switch after five seconds even though all three regulators were online and putting out the correct voltage. 

ISSUE TO DEBUG IN THE POWER SEQUENCING LOGIC

The 1130 feeds the output of the three main power regulators to three relays on an SMS card. Then the three relays are all energized, the series circuit is completed to power on relay R1 in the main power sequence box. The purpose of R1 is to switch the +12V and +48V supplies into the logic circuitry. 

However, R1 has a second purpose. If R1 is not activated by the time the 5 second time delay at power-up has finished, then pin A of the card will latch in another relay which drops power to the machine while remaining energized to remember that there was a power rail issue. The main power switch does nothing while this new relay is energized. The CE has to flip a switch or remove building power in order to reset the relay and allow another power-up attempt. 

Power validation circuit to ensure +3, -3 and +6 are present

I had verified that all the voltage rails are present and at the proper levels, but the card is no activating R1. I did a quick test of the voltage on the card pins K, M and N relative to pin C which should show the +6, -3 and +3 levels respectively. The -3 pin was reading only -1.9V but the main regulator was continuing to produce -3.01V as it had been set. 

I did some testing of the SMS card to verify that the parts are okay. Using bench power supplies I confirmed that the three relays RR2, RR3 and RR4 would latch as their respective supplies were connected. Further, I verified that the series circuit worked through the relays which should have triggered relay R1. 
SMS card with RR1, RR2, RR3 and RR4

I had to leave the workshop before I could delve further into the issue. However, since we do have good power, resolving this should be easy. While I could pull pin A off the card so that it didn't drop machine power, without relay R1 being activated we don't get the +12V and +48V supplied to the logic. Since the mode switches and pushbuttons are powered by +12V, the machine can't really be debugged until I get this section fixed. 

I did see a good state reflected on the display panel, indicating that the machine was set up properly by the power on reset and was apparently ready to do more once it had +12V active.