Sunday, January 23, 2022

Verified cause of interrupts on IBM 1130, more indications it is in great shape, plus removed console typewriter for restoration

VERIFIED THE CAUSE OF THE SPURIOUS INTERRUPT LEVEL 0 EXECUTION

I had suspected that this was caused by my modification to the Storage Access Channel (SAC) feature to also control interrupt levels 0 and 1, allowing my FPGA box attached to the SAC to emulate every peripheral type that runs on an 1130. I added some circuitry to the 1130 SLT logic, a few small boards of my own, and a new connector for a cable to run to my FPGA box. That isn't connected at this time.

The way I designed the interface boards, absence of a signal results in triggering interrupt requests, certainly not what I want the behavior to be. I will do a quick reimplementation ensuring that absence of a cable allows the machine to work as originally designed.

My verification was to switch one of the Customer Engineer (CE) switches to Interrupt Delay. This blocks the interrupt recognition while the switch is on. In that state, I could reset the machine and step it through fetching and executing instructions cleanly. 

MORE INDICATIONS THAT EVERYTHING IS GOOD WITH THE MACHINE

I used another of the CE switches that does a continual loop through memory fetching and displaying the contents of memory. That checked all 16K words and found that all worked properly, none with a parity error. 

I did use the Lamp Test CE switch again and see that only one light is not working. It is one of eight lights reserved for CE use, meaning that you might hook a signal inside the machine to one of them in order to see its state while you are debugging. Normally, these are unconnected. Seven of the eight work fine, but the bulb for CE5 is not lighting. At this point I will not do anything as this is truly a superfluous indicator for my machine. 

REMOVED CONSOLE TYPEWRITER FOR REFURBISHMENT

The console typewriter is an IBM Input-Output Selectric, model 1053, which is a printer only typewriter mechanism that is controlled by computer. These are the console printers for many of the IBM S/360 mainframes as well as the 1130 system. Mainframe users often installed multiple 1053 consoles, such that they could print logs and provide specialized console access to the operating system. 

The mechanism is inside an enclosure that features a few pushbuttons for Space, Tab and Carrier Return, setting or clearing tabs, and 16 toggles switches called the Console Entry Switches (CES). The programmer can read the state of the CES so they are often used to indicate choices by the operator to the program. As an example, when loading the DMS software onto a blank disk cartridge, the CES indicate which drive number is the target, which is useful on systems with multiple drives attached. 

The CES are cabled directly into the SLT card cages and don't easily disconnect. I removed the faceplate and left it on the computer, thus I can still enter values into the CES. They allow the operator to load addresses and data into memory for manual operation. 

I disconnected the SMS style paddle cards that connect the solenoids, microswitches and power to the 1053. The machine was carried over to my workbench where I wired up just the 115V AC for the typewriter motor. 

I will install the paddle cards from the 1053 Emulator box which I had designed and built, so that I can run the 1130 and communicate exactly as if the console printer was installed, although the actual output data is streamed over a USB serial link to a terminal program on a PC. 

INITIAL WORK ON TYPEWRITER DEALING WITH BAD LUBRICANT

I began to add my extremely fine Nye #80 Clock Oil to the parts of the mechanism which were sluggish. Adding the oil to seep under the dry lube and moving the parts frees everything up and restores operation. It will take some time as there are many many moving parts that need this treatment, but I can start with the parts involved in each symptom I encounter.

My first work was on the Carrier Return, Tab and Spacing functions, since I can trigger them with the mechanical pushbuttons that sit behind the faceplate. I worked a while and began to see satisfactory operation. It will take some time but I hope to have this working to spec and returned to the IBM 1130 in a week or two.

LOOSE SPRINGS FOUND IN AT LEAST TWO SPOTS

I noticed a spring dangling off the return for the Tab mechanical button on the front. Later I noticed a spring that is detached on the space/backspace mechanism behind the carrier. These need to be reattached.

For some reason, I can't locate the plastic tub with all my spring hook tools. Fortunately I had one sitting in another box of tools so that I could re-attach the end of the Tab spring but I really need to find my full set. I won't attempt the spring in the space mechanism without the proper size and shape spring hook. 

TRYING TO SOLVE THE MYSTERY OF HOW IBM COBOL IS LOADED ON DMS

IBM sold COBOL as a added price program product to 1130 users, rather than including the compiler for free as they did with Fortran, Assembler and tRPG. I have the deck marked COBOL, with the twelve phases of code that make up the compiler, but I am not sure how they are installed. 

All the other parts of DMS have a phase card in front of each phase of code which includes the phase number in hex. For example, the Fortran compiler's first phase if 1F and that is what is marked on the card in front of the deck. COBOL, on the other hand, has no visible phase cards. 

However, the loader program is clearly designed to load it. The Load Mode card has a column where you specify if each compiler is loaded or skipped and the last such column gets a C if COBOl is to be loaded. The DMS system has reserved the range of 51 to 5C for the twelve phases of the compiler. 

This is why I was confused by the presence of decks without any phase cards. I tried to load it without the cards, putting the phases in the correct place in the deck right after Fortran. The first phase was read but the loader reported a Checksum Error thus something isn't right. 

I will try creating my own phase cards and placing them in front, to see what happens. I may have to try various things blindly but hopefully at some point I will get it to load and have the compiler run. 

No comments:

Post a Comment