Tuesday, May 6, 2025

Trying gears on 2501 reader; narrowing down failure point on typewriter tab interlock switch

GEARS INSTALLED, TURNING WELL

The glued together plastic gears and aluminum disks were installed into the 2501 card reader. The teeth mesh properly, not too loose and not too tight. I left the bubbled up Gorilla Glue since it doesn't interfere with the operation of the gears. 

Stacker reduction gear for joggling cards

Hopper gear to synchronize picker knife with reader timing

FAILURE POINT IDENTIFIED ON TAB INTERLOCK SWITCH MECHANISM

The failure I am seeing is that the tab interlock switch can turn back off as the tab movement was initiated, well before the carrier actually reaches its destination column. The torque bar remains rotated during the movement, but the switch itself turns off.

After careful study I believe it is caused by misadjustment of the horizontal tab on the end of the tab torque bar. This allows the trigger lever for the tab interlock to move up and latch on the torque bar mechanism, when it should be held below the lip on the torque bar end so that it can't latch while the bar is rotated. 

In the diagram above, you can see that the horizontal lug of the torque bar allows the tab switch trigger to ride up so that its lip can latch atop the tab torque bar. As the torque bar rotates clockwise about 20 degrees the tab switch trigger lip is pushed off the torque bar and is moved down by the lug. That causes the switch to be activated. 

The horizontal lug should keep the tab switch trigger down so that it keeps the switch activated. The crudely modified diagram below shows that situation.

Because the horizontal lug is way too high over the tab switch trigger, it allows it to pop up and latch while the torque bar is still rotated. The adjustment is done by bending the horizontal lug down so that it matches the clearance shown in the first diagram. 

MY NEW KNEE

Front and left view of my new knee. 



Sunday, May 4, 2025

Glued gears for 2501 and worked on 1053 typewriter adjustments

BACK IN THE SHOP TODAY

Once I was able to drive myself places, beginning towards the end of last week, everything was ready for my return to the workshop. I still have to elevate and ice the knee pretty often, plus do exercises and attend physical therapy sessions. I also enjoyed some outings with my wife and friends in the free time I had. Today, I put in a couple of hours in the shop which was very satisfying.

GLUED 3D PRINTED GEARS ONTO ALUMINUM DISKS

I first did test fits of the printed gear rings onto the disks to form the complete stacker and hopper gears for the 2501 card reader. As you can see, they fit perfectly without any bending or force. 

They mesh properly inside the machine as seen in the picture below of the stacker gear in place (but prior to being glued to the disk). 


This fits on the disk and extends out from it far enough to ensure a good mesh with the metal gear teeth at the top of the picture above. Contrast that to the thinness of the teeth in the version that was (mis)printed by another 3D printing service - below. 


GLUED TOGETHER USING A POLYETHYLENE GLUE (GORILLA GLUE)

The PETG plastic used to print the gears had to be bonded onto the aluminum disk that will spin it around. After some research on glue performance to PETG and to aluminum, I chose the original Gorilla Glue as polyethylene glue seems to provide the best results. 


Although the glue was firm at the end of the two hour session, it doesn't reach full strength until 24 hours after application. I set these aside and will fit them back on the 2501 at my next session. I have several appointments tomorrow (Monday) so that may have to wait until Tuesday.

ADJUSTING OPERATION CLUTCH FOR CR AND LF OPERATIONS

The continually turning operational shaft has two clutches attached to it. One of them will turn 180 degrees when engaged, while the other makes a full turn on each trigger. The latter is used to power the line feed and carriage return operations. 

That latter clutch would work when triggered but it bounced back and forth a bit steadily at all other times. It should have been held in the rest position by a latch when it finished its 360 degree spin. I needed to adjust an eccentric screw on the clutch in order to fix this.

I loosened one screw on the other side of the yellow clutch disk and turned the eccentric until I got a clear firm stop to the clutch after each activation. This left only a couple of items to finish up on the typewriter - the tab interlock operation and proper shifting between red and black ink. 

MORE WORK ON TAB INTERLOCK BUT NOT YET WORKING WELL

The purpose of tab interlock is to signal to the IBM 1130 that a tab movement is in progress, so that no further commands such as typing a character or carrier return will be issued. The process of starting a tab movement uses a half turn of the operational shaft to twist a torque bar which runs left to right with the carrier moving just behind it. The half turn takes about 65 milliseconds, the same as the duration of a character printing cycle. 

The twisted torque bar latches an arm at the rear of the carrier which frees it so it can be pulled to the right by the cords coming from the wound up main spring. The time it takes for the carrier to be pulled by the spring depends on the distance between the column the carrier was at when it began the tab and the column that has a tab stop set to end the movement. 

This time is variable and longer than the duration of the tab activation turn of the operational shaft. A microswitch to generate the interlock signal is mounted at the left rear of the typewriter frame and activated by the tab torque bar. When the torque bar twists, the switch is activated and remains that way until the torque bar returns to its rest position. 

The initial twist of the torque bar comes from the operational mechanism during the 65 milliseconds of tab activation. The bar must be kept twisted once that initial force is removed, staying twisted until the carrier unlatches the arms after it strikes a tab stop at the target column. 

The job of keeping the torque bar twisted is given to a bendable tang on the tab activation lever. When the torque bar first twists it latches the carrier into tab operation. The space and backspace pawls are pulled away from the teeth in the racks that lock the carrier to a column normally. The arms that do this remain latched until the tab stop releases the latching action.

Thus, the tang on the tab activation lever should keep enough twist on the torque bar to ensure the tab interlock microswitch stays activated. If that tang doesn't do its job, the torque bar snaps back to rest position after the 65ms activation, rather than remaining twisted through the entire tab movement. 

After my adjustments today, the torque bar remained partially twisted during the movement but the tab interlock microswitch didn't remain activated. This may be an issue with the mechanism for tab interlock near the switch, or I may need to bend the tang even further. I ran out of time to complete this today. 

Friday, April 25, 2025

New gears arrived for the 2501 card reader restoration

NEW HOPPER GEAR CAME OUT CORRECT FROM SAME STL FILE AS THE OTHER

The first gear I had printed using the craftcloud3d.com broker service did not have the correct high walls. This new print had the exact same STL file sent but it was done properly. The printing service that did a good job was Detroit 3D Manufacturing, someone I will select when I use the broker service again. 

By comparison, look at the old order made by 'elipac 3D' where the wall and the outside teeth end prematurely. 

NEW STACKER GEAR TO REPLACE THE ONE THAT SNAPPED

I had a hopper gear whose teeth bent inwards towards the center as the extended further up from the bracing at the bottom. To get this to fit on the aluminum disk which forms the gear I had to attempt to bend it slightly but it broke in half. The gear did match the STL file, but the result wasn't good. 

Friends suggested a change in material that would suffer less from the deformation and bending of the sides of the teeth, so when I reprinted I selected a different plastic. I also used 'Detroit 3D Manufacturing' and in this case also the part was excellent when I received it. 

Comparing it to the prior gear, the one I snapped, I believe this new one is to be superior on the merits of the printing quality. The picture below of the snapped older gear isn't very sharp, I am afraid.

RECOVERY FROM KNEE REPLACEMENT - BEATING EXPECTATIONS

On Monday 21 April I had my right knee replaced, was walking with the aid of a rolling walker that night. Before I was sent home on Tuesday morning I could already bend more than 105 degrees and almost fully straighten the knee. I never needed pain killers outside of Tylenol and had remarkably little pain. 

The Wednesday 23 April I was able to walk without the walker as a support. I could do marching steps backwards and forwards at the Physical Therapy facility on Thursday as well as stand on the repaired leg while tapping my good foot back and forth, all with good balance. 

The only consequences of the operation are the swelling of the leg and bruising, but as long as I continue all the exercises and ice it frequently, those will greatly reduce or disappear in a week. I am extremely optimistic about resuming my workshop activities - except for any that might require me to kneel on the new knee - within a week. 

Monday, April 21, 2025

Working on a way to run DMS-2 on an 1130 without a working card reader and line printer

CHALLENGE FOR SOME OWNERS OF IBM 1130 SYSTEMS

The IBM 1130 was developed by IBM in the era of batch processing. Input was punched onto cards, work was processed serially and the results were output on line printers. Many users might share a machine by submitting their decks of cards. The decks were stacked in the reader, processed one by one and the output pages were returned to the user later. 

There were some alternatives for input and output, but the bulk of processing involved card decks and printed output. A keyboard, console printer (typewriter), switches, paper tape reader/punch, plotters, disk drives and other devices offered those alternatives. 

The controlling software for the IBM 1130 was Disk Monitor System (DMS). The latest version of the software was release 2, with most people referring to it as DMS 2. Enhancements and fixes to bugs were rolled out in incremental versions. The last official release was DMS V2 R12 although some bug fixes could be applied if you wanted a 'V2 R13'. 

Most IBM 1130 systems came with one internal disk drive which used 2315 cartridges holding about 500K words. Additional drives could be attached (IBM 2310 or 2311) for larger installations. DMS 2 was installed on one or more cartridges. 

To start the system, a boot card was placed in a card reader and the Prog Load button on the console loaded that in memory and began execution. That card's program would fetch in DMS 2 from a disk drive and turn over control to the monitor. The first thing that DMS 2 would do as it started was to print a page on the line printer, pretending that it had read a control card (// JOB) from a card reader. 

Decks started with a // JOB card to delineate a new element of work, often a new user. The deck is read by DMS 2 to find control cards - these can start compilers like Fortran or utility programs like DUP (Disk Utility Program) or user programs (// XEQ). The programs such as a compiler will read cards to accomplish its part of the job, then return to the monitor to look for the next control card. One might call a compiler (// RPG) then run the program (// XEQ). When the monitor finds the next // JOB card, it begins the next job. 

In general practice, to load DMS 2 from the disk requires a boot card (cold start card) in a working card reader. DMS 2 won't fully start without a working line printer to display that first // JOB card. It tries to read cards from the reader in order to find control cards. If an installation does not have a working line printer and a working card reader, nothing can be accomplished. DMS 2 waits at a special location x002A with a code in the accumulator register (ACC) showing which device is not ready or not working properly. 

While you could toggle in some code to memory to act as the cold start card, once DMS 2 is loaded from the disk drive, it will wait for the missing line printer. If that barrier were overcome, it would then wait for the missing card reader. This makes demonstrating an IBM 1130 in a museum challenging unless you have the printer, card reader, and disk drive working. 

DMS 2 DID NOT PROVIDE DEVICE INDEPENDENCE

Device independence is a common design objective with operating systems to provide a common interface that allows a program, without modification, to use different device types. Within reason - you can't expect to read data from a plotter for example - but modern software might allow you to read from a card reader, a tape drive, a disk drive, a keyboard, as well as multiple types of card readers. 

This was not a general capability of DMS 2, with only a primitive degree of independence provided. Printed output could be directed to the 1132 or 1403 line printers, or to the console printer (Selectric based typewriter). However, the program had to format the output in the character code of the specific printer being used, so that it had to be modified if you switched between printer types. 

For input of decks, the 1130 could use the 1442 or 2501 card readers, the keyboard on the 1130, or the 1134 paper tape reader. The character code of the paper tape reader differed from the Hollerith code used with the first three devices. 

DMS 2 was generated for an installation, tailored to the devices being attached to the machine. As part of that tailoring, DMS 2 assigned one card reader and one line printer as the principle input device and the principle output device. This is the primitive level of device independence offered. 

When reading control cards, DMS 2 would refer to the principle input device rather than the specific 1442 or 2501 driver. Similarly, when printing the // JOB card and other monitor data it would use the principle output device instead of the specific 1403 or 1132 device drivers. 

Installations could have multiple types of readers and/or line printers. DMS 2 would always use the one assigned as the principle device, but user programs could read/write to the device of their choice which made use of the specific device driver. 

CONSOLE PRINTER AND KEYBOARD AS ALTERNATE PRINCIPLE DEVICES

DMS 2 did allow the console printer and the keyboard to be used as the principle devices by reading specific control cards. The // CPRNT control card would switch the principle output device from a line printer to the typewriter. The // JOB card and other monitor output is typed on the console printer. This continues until a // CEND card is read which changes the principle output back to the assigned line printer. 

The change of the principle output device was written back to disk, so that any time you booted DMS 2 after a // CPRNT had been executed, the monitor output would be typed rather than sent to a line printer. This could resolve the problem where DMS 2 hangs at startup due to a missing line printer. 

DMS 2 could switch the primary input device to the keyboard when it executes a // TYP control card. All subsequent monitor cards are read from the principle input device, e.g. from the keyboard. This is NOT written back to disk however so upon a reboot DMS 2 would again hang waiting for a missing card reader. 

Using the console printer and keyboard is very cumbersome and impractical for meaningful decks to be entered. DMS 2 and its programs used fixed columns for card fields, unlike the free form input of most modern systems. An Assembler input card      LOOPX LDD I *-4 must match the column requirements of the assembler. 

  • Columns 1 to 20 are ignored  
  • Columns 21 to 25 are the name field of the statement, with any name left justified in the field
  • Column 26 (and 31 and 34) are ignored
  • Columns 27 to 30 are used to enter an operation code or assembler directive name, left justified
  • Column 32 is used to mark a long format (doubleword) instruction using L or indirect using I
  • Column 33 is used to select one of three index registers entering 1, 2 or 3
  • Columns 35 to 71 hold the operand, left justified
  • Columns 72 to 80 hold card sequence numbers, used to sort a card deck into order

If using the keyboard, the user would need to space precisely to column 21, 27, 32, 33, and 35 in order to type in the left justified nonblank input. There is no way to go back to earlier 'cards' to make changes, only some primitive line editing for the current 'card'. 

Perniciously, it takes a working card reader to read in a // TYP in order to switch to the keyboard. Since the change to keyboard is not recorded on disk, each boot of DMS 2 returns to the card reader as the principle input device.

STRATEGY TO CORRECT THIS

I think the most straightforward way is to cold start DMS 2, with it having previously processed the // CPRNT card making the typewriter our principle output device. It will type out the initial job card information and then stop at x002A with a card reader not ready condition.

I will work out how to enter a // TYP card in the buffer and a way to branch into the card reader to make it return to the monitor claiming a successful read of a card. The monitor will process the // TYP, changing the principle input, leading to the Keyboard Select lamp lighting on the console next.

I did a lot of source code examination of the monitor logic that reads the control cards as well as the device driver for the card reader. It isn't enough to zap the disk image after a // TYP because the execution of that command loaded a different device driver and changed quite a few words in core. That would mean I would have to update a substantial number of memory words to place the correct driver and control words in core. It is easier to let the monitor handle the work by feeding it a // TYP card.

METHOD TESTED ON IBM 1130 SIMULATOR

The card buffer for the monitor control records sits at 0x0faf with the first word containing the word count (0x0050 or 80 columns) for the read. The data in that buffer is read as Hollerith characters but the card reader routine will convert them to EBCDIC characters before they are processed as monitor records. 

This means the desired card - // TYP - reads in as 3000 3000 0000 2400 2020 4040 0000 0000 . . . 0000 but when it is converted and packed two characters per word, it becomes 6161 40E3 E8D7 4040 4040. . . 4040 instead. I have to load the buffer with the Hollerith values, then branch back as if the card read device driver finished the read and now wants to convert it. 

I was doing something wrong because the conversion is not completing successfully. I see the card columns converted from Hollerith to EBCDIC but they are not packed two characters per word. I thought I must be branching to the wrong place. 

After tracing the execution a bit, I realized that it there was some flag that wasn't right so it was trying to read another card. If the flag had been correct it would have branched to the routine to pack the characters two per word and then process the command. I set the IAR to that routine and started execution. It worked!

PROCEDURE ON A SPECIFIC DISK

On the disk I had loaded with DMS 2 and previously configured for printing on the typewriter, the monitor control record processing code sat starting at x04FE which determines the locations to use in the procedure. It is likely that other disks will use the same address if they were loaded with the same version of DMS 2 but I would always test to be certain.

Boot DMS 2 and verify it is at 0x002A with 0x3000 in the ACC register - wait for card reader not ready. 

The card buffer sits at 0x0fb0 to 0x0fff. The first step is to clear that buffer to all spaces - 0x0000 then enter the Hollerith code of our // TYP card. Starting at 0x0fb0 we enter:

  • 3000
  • 3000
  • 0000
  • 2400
  • 2020
  • 4040

The IAR is set to 320, the address where the card reader routine will execute to return after it has successfully read a card into the buffer. Press Prog Start and the machine waits again at 0x002A with 0x3000 in the ACC. Set the IAR to 5C6 and press Prog Start. The Keyboard Select lamp will light on the console indicating this has worked, plus the // TYP card will be typed out on the console printer. 


LIMITATIONS OF THIS WORKAROUND

This process will allow DMS 2 to be run and some work can be performed using the console printer and keyboard as the principle output and principle input devices. However, many programs will use the actual device driver for line printers rather than go through the principal output device. This will cause them to stall at x002A with a printer not ready condition. 

For example, I was able to invoke DUP with a // DUP card and that program did read its input from the keyboard. However, when I invoked the DUP command *dumplet to list the contents of the disk directory, the output went to the 1132 line printer and not the typewriter. 

Saturday, April 19, 2025

IBM 1130 typewriter (console printer) repair and adjustment - part 6

ATTEMPTING TO FIT MYSTERY PART DISTURBED A PLATEN ADJUSTMENT

One point where they mystery typewriter part might have been attached was the inside post behind a screw with locking nut that adjusts the platen (roller upon which the paper rests). I had to partly remove the post in order to slip the part over it, but once it was clear this could not do anything useful, I pulled the part off. 

Unfortunately, tightening the screw left the platen misadjusted. This caused the carrier to partly jam as it tried to move along past the paper and platen. I had tried to run the Console/Keyboard diagnostic to check out my typewriter adjustments but ran into the jamming right away. I will need to set this adjustment properly before I proceed. 

MOVED COMPONENTS OVER TO THE NEW 2310 INTERFACE BOARD PCB

The new PCBs arrived from the fabrication service. I chose to desolder and swap the parts from the bodged older board, to have a fully correct version of the Virtual 2315 Cartridge Facility for use with the two IBM 1130 systems that will receive it. This was easy to complete and the new boards are ready for installation. 

Thursday, April 17, 2025

IBM 1130 typewriter (console printer) repair and adjustment - part 5

ADJUSTING TAB OPERATION

I had two issues to address. First, the metal part that supports a plate under the platen (roller) was too close to the tab torque bar plate and could interfere. Second, the tab stop plate on top of the carrier was not adjusted correctly. 

For the interference issue, I studied the maximum rotation of the tab torque bar and determined that it would not be reaching the point of interference as it reached and went slightly beyond its high point. There is a stop tab that is set to block it from moving too far up and that was properly adjusted.

That left only the important function of opening a microswitch during the entire time the carrier is moving to the right in a tab operation. To accomplish this, the tab torque bar must be prevented from restoring to its idle rotational position until the carrier reaches the next column where a tab stop is set. This typewriter was starting the tab movement but restoring immediately, before the carrier motion has completed. 

CHALLENGE FINDING MECHANISM THAT SHOULD HOLD TAB INTERLOCK

The Theory of Operations manual shows a raised lug on the back of the tab trigger lever, but that does not exist on my machines - either of them. That is what should hook under the lever and keep it twisted away from its idle position until the tab lever itself is reset upon reaching a tab stop column. 

The parts manual does not show the lug either. It doesn't show any part that would act to hold the lever from returning immediately as the operational cam finished the rotation to trigger the tab movement. That matches what is occurring on this machine where the switch closes again right after the tab movement is initiated and well before it ends the movement to its new column. 

A suspicion arose - could this be related to the mystery part that I can't locate in the parts manual or on the machine? Perhaps it provides a latching action to hold the microswitch assembly open once it is begun by the tab operational cam rotation? What I don't see right away is how it would be released when the carrier reaches the tab stop column, but I can try to install it and puzzle out the behavior.


Above is the drawing from the parts manual which does not show that part. Below is a very quick slapdash drawing where the part might fit on the machine. 

TESTING FIT OF MYSTERY PART INTO THE TAB MOVEMENT LOCK MECHANISM

There was no orientation or placement for the part that would do anything useful with the tab switch. The mystery part remains a mystery but is unrelated to the tab interlock issue. 

I SPOTTED THE LUG MENTIONED IN THE THEORY OF OPERATIONS MANUAL

The Theory of Operations manual mentioned a lug on the rear of the tab trigger lever that would hold the tab torque bar partially rotated, but I didn't see any signs of a lug or other projection. However, when I was bending the torque bar for another look, I noticed that the escapement bracket (rear of the carrier) had a hole in it into which a spring disappeared. I had believed this was only used to allow the spring to pull the tab trigger lever back to idle position, but I saw a glint of metal inside there.

REPAIR MADE, TAB SWITCH STAYS ON DURING ENTIRE TAB MOVEMENT

I realized that the lug was indeed on the lever but it was bent back so far that it stayed inside the 'tunnel' of the hole on the escapement bracket. I used a small screwdriver to bend it forward. The mechanism worked correctly! 

This is NOT an adjustment or check mentioned in any of the IBM maintenance manuals for the IO (Input Output) Selectric models. The line of IO Selectrics is broad, with models having keyboards and others like the IBM 1130 console printer that are output only. Some were developed for banking, some for remote terminal access to timesharing on the mainframe, and some were consoles for various computer systems. 

The manuals are filled with details that pertain to only certain models. Further, they mention iterations of the design, such as version 1, 2, 3 and 4 of the escapement mechanisms. It is difficult to build a parts manual and documentation for all those variations. Still, both of my issues were due to missing information so I can't give them an A rating.

The tab switch is only needed for the IO models in order to block any letters from printing while the carrier is in motion. An office Selectric would not have this problem because the human typist would not press keys fast enough to have them print while the carrier was still moving. 

POWER ON TEST OF TAB LOOKED PERFECT

I set up the typewriter with a long distance between stops, turned on the computer and watched the behavior doing tabs. The RETURN button got the carrier to the left column, then the TAB button caused it to zip to the right until it reached the column where a stop was set. The microswitch lever remained activated throughout the motion and reset as the carrier stopped. 

Hiatus as I recover from a total knee replacement

APRIL 21 IS THE SURGERY DATE FOR A REPLACEMENT OF MY RIGHT KNEE

Arthritis settled into my right knee, I believe accelerated due to the complete quadriceps tendon rupture I suffered back in 1998, where the repaired knee grew bone spurs in multiple locations. About three years ago I experienced a few events which I ascribed at the time as injuries to the knee but were in fact the degradation reaching a tipping point. 

It is time to have it replaced, having bought time with steroid and gel injections for the last six months waiting for the best surgeon in the area to slot me into his schedule. Monday April 21 is the day! I should be home by Tuesday, but it will take a bit of time to recover. An ice machine will cool the leg to reduce swelling and a variety of medications will support me as the injured tissues stop complaining. 

I will receive physical therapy starting on Wednesday April 23rd and anticipate that I should be relatively mobile in 4 to 6 weeks. In the first few weeks, however, it is unlikely that I could return to work on my various projects in the workshop. Thus, a pause is coming. 

NEED TO RECOVER ENOUGH MOBILITY TO SAFELY MOVE IN THE WORKSHOP

I not only have to be able to move around reasonably well with limited pain, but need to be sure that the workshop aisles and workbenches are safe for me when I may be depending on a walker or cane. This is one of the gating factors for when I can resume progress.