Monday, January 24, 2022

Fixed hot interrupt issue with FPGA box unplugged, testing 1130 instructions by hand, anomaly spotted, plus typewriter work

 LOOKED OVER MY MODIFICATION TO ADD IL0 AND IL1 SUPPORT TO SAC

I had designed and installed a modification to the Storage Access Channel feature to add in the ability to trigger requests and see the state of interrupt levels 0 and 1. The SAC as it was shipped by IBM provides access to levels 2, 3, 4 and 5 but didn't include the two highest levels. 

Some peripherals, for example the 1442 card reader/punch, make use of those levels. Since I want the SAC as a means of emulated all peripherals, for completeness I needed those levels included. After I located the appropriate pins on the SLT gates in the 1130 to trigger and view the levels, I added driver circuits in small boards I fasted under the covers. 

The 1130, like most older IBM mainframes, makes extensive use of wired-OR circuits to reduce the parts count. That method will connect several open-collector gates together in a wired junction with one pullup resistor. Any gate going active will activate the output by taking it low, thus it is a wired-OR with inverter. That makes it simple to add in my wires to the gates that drive IL0 and IL1. 

I set up a small connector on the 1130 to tie to the four added signals (IL0 in, IL0 out, IL1 in and IL1 out). When it is disconnected, as it is right now, the new circuit boards I built will pull the wired-OR low (make it on). Normally the FPGA expansion box will keep the signal low when an interrupt is not wanted, but that doesn't work with the connector disconnected.

FIX TO STOP INTERRUPT REQUESTS WHEN EXPANSION BOX UNPLUGGED

I added some high value resistors to the circuit to drive it in the desired direction, 100K in value, so that the disconnected behavior is that no interrupt request is triggered. I powered up and everything was perfect. That allowed me to turn off the Interrupt Delay switch and operate in more normal mode.

TESTING INSTRUCTIONS BY FOLLOWING TESTS FROM CPU FUNCTIONAL DIAGNOSTIC

I have binders with listings of all the diagnostic programs that are delivered with the 1130 system. Among them is the CPU Functional Test which would be a great way to check out the processor functionality. When I have the expansion unit cabled up I can boot up the diagnostic loader and run these directly from a virtual card reader, but right now I can toggle in small numbers of instructions and data from the console as a first set of tests.

The console has a rotary mode switch which has Load and Display settings as well as Run mode and others to step through execution. When in Load mode, the 16 console entry switches are used to set up the bit pattern for a word that is stored in core memory. If you push the Load IAR button it puts the number in the CES into the Instruction Address Register. Effectively, if you push Load IAR you are selecting the core location from which you display contents or load new data from the CES. 

I set the IAR to x0100 and loaded some branch instructions - Modify Index (MDX) and Branch and Skip (BSC) - to check that they worked as they should. I watched them perform properly, which also proved out lots of the processor execution control and the arithmetic logical unit. During the single stepping of branch instructions some addition is done to calculate the effective address for the next instruction to execute. 

I could confirm that these worked right and the machine was adding properly as it did the address arithmetic. However, soon the CES switches and the Load IAR button stopped working. I think that the contacts are spotty in the rotary mode switch, but it could be a circuitry failure. Something to work on next time I come to the workshop.

WORKING ON THE SELECTRIC MECHANISM IN THE 1053 CONSOLE PRINTER

I applied the clock oil and exercised various moving parts to make the typewriter work more smoothly. I This is a iterative process but over time the improvement was very clear. At this point, the Carrier Return and Space functions are working quite well, but Tab still has problems. 

If I push the rocker arm that directly triggers tab movement, the carrier zooms along just fine, but when I trip the mechanism with the Tab button or the solenoids, it doesn't latch up. That means the carrier only moves a bit during the cycle time of the Tab button but does not stay engaged to continue moving to the next stop position. 

There was a spring detached in the mechanism behind the carrier that does space, backspace and tab, so I fixed that before continuing. I owned quite a few springhooks of different sizes and shapes, but can't find them now. All I have is one with a somewhat large curved hook end. 

I need to read more about the selectric mechanism in order to understand what parts should latch the tab, as that is where I need to oil, free up or perhaps where a spring is detached. Another task to get to when I return to the shop.

No comments:

Post a Comment