Monday, June 10, 2024

Replacing bulbs in display and debugging the machine's behavior

BORROWED LOTS OF BULBS FROM MY OWN MACHINE FOR THE DURATION OF TESTING

I had converted my 1130 from the IBM incandescent lighting structure to a different design that I find easier to work with as I replace bulbs and work on the machine. The original long PCBs with the lamps installed were saved and are the source for the loan of working bulbs.

I need to see enough status on the display to identify what is working correctly and what fails. I populated the Storage Buffer Register (SBR) which shows the contents of memory fetches and the value set up in the console entry switches (CES). I also worked on the Wait bit and tried to get the Op Code bits register to light up. 

I didn't have every bulb working, but I could see most light when I flipped on Lamp Test so that I was comfortable using the display to guide my debugging going forward. The Op Code lights work under Lamp Test but were blank, as were the last four interrupt levels and the instruction cycle stages lights. 

I noted where the lights were driven from and began to check each of those conditions. The op code bits are produced by one SLT card and the signals run over a cable plugged into the edge of the board up to the display panel. I checked that the correct card was inserted and that it was seated well. While doing that, I noticed that the adjacent cable, the one that routed the signals up to the display panel, was not fully seated in its socket. 

When I reseated it, the Op Code bits lit up properly. I believe I will take off covers and carefully reseat all the connectors around the six card compartments as many signals travel between compartments on these cables. 

MEMORY WORKS GREAT AT LEAST IN THE LOW RANGE OF ADDRESSES

Now that I could see that SBR, I toggled in some values and stored them into memory locations. They were displayed properly when I went back in display mode. They also were moved into registers such as the Op Code bits during execution of that address. 

CODED A BRANCH INSTRUCTION AND IT WORKED PROPERLY

I put in an MDX 4 instruction, a short (one word) instruction that adds the operand (decimal 4) to the Instruction Address Register so the next instruction will be fetched from that updated location. I put the branch at location x0000 and stepped through its execution. I saw the adder working properly to generate the new IAR value of x0005. 

STORAGE LOAD AND STORAGE DISPLAY NOT WORKING CORRECTLY

The Load operation should take the value I entered in the console entry switches and then as I hold down the Prog Start key, it should loop through memory repeatedly storing that value. The Display function just loops through memory repeatedly fetching the contents of memory. It failed to loop with either function. 

No comments:

Post a Comment