Friday, April 22, 2022

Found and corrected miswiring of 1130 metering power supply, adding Console Loading Automaton

IBM 1130 CUSTOMER USAGE METER POWER SUPPLY LEFT AT 115VAC SETTING

The IBM 1130 with its three possible 60Hz supply voltages of 115, 208 or 230 has a number of transformers whose windings must be selected to match the voltage, so that the output is the intended level, e.g. 48V regardless of the choice of mains supply. 

Enough that it requires quite a bit of diligence to be sure that you have set all of them properly when changing a machine between different voltage levels, as I did switching my own 1130 from 208 to 230 and as this machine must do to change from 115 to 230.

I was suspicious of the usage meter supply because the case has an 'anti tampering' plastic insert which is almost always broken off when a modern day owner has opened the case, but it was intact on this system. I doubted that the past restorers were in possession of a tool to open this piece or even aware of the purpose of that plastic bit.

IBM rented computers rather than sold them until they agreed to a 1950s era consent decree with the US Department of Justice that ended up shifting the business to almost exclusively outright sale or long term lease. In support of rental, IBM configured their systems with usage meters that would count the hours and tenths of hours that a machine was running. This allowed customers to choose lower priced 'one shift per day' rental rates or around-the-clock but higher rates. 

When IBM maintained a system, a second CE usage meter was switched on so that the hours spent doing repair were not billed to the customer. This is why you see to meters with a keyswitch in between them; the CE would switch over when they took the mainframe for service and switch it back when returning it to the customer. 

Since the hours recorded were important to the revenue, IBM sealed the circuitry that switched between CE and customer mode, as well as powered the meters. The box with the power supply and logic for the usage meters had a plastic security tab inserted that would break off if an unauthorized (or not criminally clever) person opened the box. 

When I opened the box I found the wiring still set for 115VAC. That means that the hour meters were receiving double their designed voltage and the control circuitry was as well. Fortunately, there are no transistors or other particularly voltage sensitive parts inside, just relays and resistors and diodes, thus I expect this has survived the overvoltage. It is now set to 230VAC for future operation. Whether the hour meters have suffered any damage will have to wait until I am running the system to determine. 

CONSOLE LOADING AUTOMATON TO BE ADDED TO THIS SYSTEM

To help out a UK museum that has a running IBM 1130, I developed a small tool based around an Arduino and a few relay boards that would let a PC based text file drive this to load core memory with whatever contents were desired. This was much faster than manually flipping the console entry switches on the 1130 and pushing the buttons to load each word, thus making it practical to load in decent sized programs and data. 

I don't need this on my own 1130 because my FPGA based extender box makes use of cycle stealing (DMA) to load and dump memory at even faster speeds, but for the system I am restoring, I will add this capability. Essentially this flips the entry switches and pushes the Program Start button to load the data into a memory location. It also flips the entry switches and pushes the Load IAR button to set the next address for a block of data to be loaded. 

The Arduino communicates over the USB serial link to a remote system which can issue the commands I defined to set the IAR and to load contents into memory. 

The protocol is extremely simple. You transmit lines with four hexadecimal characters to have that word loaded into the current IAR. The 1130 system will automatically advance the IAR after loading a word, thus the next data goes into the next sequential address. Prefixing a word with @ will take those hex digits as an address and load the IAR with them.  Without a prefix, this is a data value to load.

A prefix of # will take control over the 1130 for loading (activation), however if already active then it will return control (deactivation). This allows the link to remain active between the terminal/PC and the 1130 system, allowing normal console operations until it is activated. 

No comments:

Post a Comment