Tuesday, March 5, 2024

Quick test of new Console Loader implementation

CONSOLE LOADER ENHANCEMENT FOR IBM 1130 SYSTEMS

The 1130 has a mode where the operator can set up addresses on the 16 console entry switches that sit on the 1053 front panel, then push Load IAR to make that the current address for both execution and memory load or display. This requires the rotary mode switch of the 1130 to be turned to Load or Display.

When the rotary mode switch is in Load mode, the operator can set up the value of a word in the 16 console entry switches and then push Prog Start to load that into memory. The current address increments automatically with each push, thus one can load sequential data addresses without having to first load the IAR using the procedure in the first paragraph.

This can be very tedious, flipping those switches for each data word being the most time consuming, so that loading any significant amount of data into memory is onerous using the standard manual method.

The Console Loader is connected via a USB cable to any terminal or program that uses ASCII serial communications. Simple commands are provided to talk to the loader. To use it, after setting the rotary mode switch to Load mode, simply issue the activation command over the USB serial link and the loader takes control.

Commands let you set the IAR, load a word of data into memory, load a range of all zero words, and a few others as well. Thus with an ASCII file prepared in advance and the use of a program to transmit that to the Console Loader, you can load any amount of data to the 1130 without having to flip those console entry switches and push buttons. 

The last command deactivates the console loader, which allows the operator to turn the rotary mode back to Run mode and push Prog Start to execute from the point they specified. This is very handy to load in extensive diagnostics. 

VERSION 2 INSTALLED INSIDE 1053

The original was built using an Arduino in a project box sitting under the table top, plus three relay boards that were screwed down just in front of the keyboard under the table. It was tight and messy in there. 

The new version makes use of surface mount electronic relays on a small PCB that installs as a shield on an Arduino. The resulting sandwich is small enough that it can fit behind the 1053 front panel in the space below the three pushbuttons (Tab, Space, Return). I unwired and removed the version 1 loader parts and wired the new unit inside.

SMALL ERROR IN WIRING DISCOVERED

The 1130 came up but was locked in the power-on reset state and not responsive to the various mode switch and pushbuttons. The reason was an error when I wired in the new version of the console loader. 

The +12V supply is connected first to the six lamps on the main panel (Disk Unlock, Disk Ready, Run, Parity Check, KB Select, and Forms Check), then to five switches on the CE panel (Parity Run, Storage Load, Interrupt Delay, No-Store Load Cycle, and Display Storage), then to six buttons/switches (Console/Keyboard, Prog Start, Imm Stop, Prog Stop, Reset, and Program Load) and ultimately to the Usage Meter circuitry. This is a long chain to deliver 12V to all of them.

My modification disconnects the +12V from the common terminal of the Prog Start pushbutton. However, this interrupted the chain. I should have made sure that the common terminal of the Console/Keyboard switch was connected to the Imm Stop pushbutton. This would have isolated the Prog Start button but left the rest of the chain intact. 

The result was failure to power the switches downstream from Prog Start (Imm Stop, Prog Stop, Reset, and Program Load) as well as the rotary mode switch. One consequence was that the reset button must delivery +12V when it is NOT pressed, otherwise the machine is held in a reset state. I fixed the wiring error and proceeded to check out the loader. 

Power flow as manufactured


Properly wired modification power flow

There were a pair of wires that were soldered to the common terminal of the Prog Start switch, which I had removed and taped off. It turns out that these wires when soldered together bridge the 12V perfectly. 

Pair of wires between Console/Keyboard and Imm Stop switches

Soldered to reconnect the 12V chain

Protected with heat shrink

CHECKOUT OF THE NEW LOADER

First off I verified that the machine works as it should while we are not loading into core, since this modifies the wiring for the Prog Start and Load IAR buttons. All was good.

Next up I connected to the loader with a serial console program and executed a few commands to verify operation:

  • Activate unit and verify that Prog Start button is now inactive when pushed by hand
  • Set IAR and verify it changed on machine
  • Store contents in three adjacent locations and then manually verify the contents
  • Change to new location and verify change of address
  • Store content at new location and verify
  • Deactivate and verify that Prog Start works as before

No comments:

Post a Comment