Monday, May 19, 2025

Cleaning and waxing of stacker mechanism for 2501 card reader

DISASSEMBLED AGAIN

Because their was too much friction and sticking, I pulled everything apart to work on the parts. My first attempt using 409 did not remove enough of the deposits to allow free and easy movement of the parts. There was also a shaft around which the cam roller and levers turn in order to move the card shifter left and right, but it was barely turning because of sludge inside.

PUT RUSTED/CORRODED PARTS IN CONCENTRATED VINEGAR AND SCRUBBED

All the parts that were interfering with smooth movement due to layers of rust or corrosion were soaked in a 30% vinegar bath for hours to loosen up and dissolve what it could. I used a sanding block to break away the surface coatings. I was able to reduce the irregularities in the surfaces far enough to allow the parts to move smoothly. 

APPLIED PASTE WAX TO REDUCE FRICTION IN CARD SHOE AND ROD

After the rust and other dirt was removed from the rod, it still had some rough surfaces because of corrosion pitting. I used an automotive type paste wax to reduce friction on the rod. I had cleaned out the hole in the shoe as well. 

In addition, the surfaces that the shoe glides upon - the side plates in the reader plus the top of the shoe - were waxed to give it less friction. The result was an acceptably free card holder sliding to the right under spring tension but giving way to the left as cards are added to the stack. 

GREASED THE SHAFT ACTIVATING THE CARD SHIFTER

The shaft with the cam roller and levers pivoting on it needed a bit of grease applied in order to have the parts rotate easily on the shaft. This is far enough down that there is no risk of the grease contacting any cards, thus it was safe to lubricate here. 

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

BENT HORIZONTAL LUG FOR TAB INTERLOCK SWITCH

The objective with the positioning of the horizontal lug is to allow the tab trigger lever to maintain a small space between the latch lip on the lever and the tab torque bar, so that the tab trigger lever will positively catch the latch lip when the torque bar first rotates. It must also keep the trigger latch lever pushed down enough to keep the tab interlock switch activated until the tab torque bar returns to its full rest (vertical) orientation when tab movement ends at the target column. 


I held the tab torque bar so it didn't rotate and applied bending pressure to the horizontal lug until it satisfied the conditions above. The first testing was with manual rotation of the typewriter using the hand cycle wheel, both slowly and with a quick acceleration at the start that had previously always caused the interlock switch to reset. 

This worked, even with a rapid twist of the hand cycle wheel. I then applied power to the IBM 1130 so the typewriter motor was spinning and did some tab activations using the front panel tab pushbutton. The Tab Interlock Switch was clearly active for the entire travel time of the carrier until it reached the destination tab and stopped. This works properly now. 


Sunday, May 18, 2025

Cleaning up the stacker mechanism

REMOVING CRUD AND CORROSION ON PARTS

Most of the brown caked crud on the parts, which looks like rust, is actually a mix of mouse urine, dirt and a bit of aluminum or other metal corrosion rather than iron oxide. I was able to remove much of it with 409 spray and in some cases a mild sanding block to break free the layers. 

Example of corrosion

The rod that the card stacker shoe slides along cleaned up quite nicely. With a bit more work on it and some cleaning of the side plates that the shoe slides underneath, I should get it to return rightward under spring tension and move freely. 

MORE DISASSEMBLY IN ORDER TO CLEAN AND LUBRICATE CARD PUSHER PARTS

I removed the metal arch that converts the card motion from horizontal to vertical as it enters the stacker. This gave me good access to the card pusher plates that should oscillate smoothly left and right to move cards leftward to join the stack of other cards. 

I did a trial assembly after the cleanup and lubrication and found that everything moved reasonably well, but still had some resistance that kept the return spring from always pulling the card pusher plates rightward. The cam which causes the pusher plates to oscillate will move the plates leftward at its high spot but when the cam profile lowers, the spring must move the plates rightward to ensure smooth back and forth action. 




Pivot driven by cam moves card pusher back and forth

Shoe at bottom sliding on the rod

WORKING ON EASY MOTION WITHOUT ADDING OIL

Normally with mechanical parts I would add some oil or grease to reduce friction and ensure smooth motion. However, the stacker parts can come in contact with the punched cards. Since they are made from paper they will wick up some of the oil. 

That would cause the card to swell up. The throat in a card reader that allows just one card to enter at a time is based on the nominal thickness; a card that is too thick will jam up and bend. 

Therefore I have to find a way to reduce friction without the oils. I will use a combination of paste wax and more work removing sludge and corrosion from the moving surfaces. 

DISINTEGRATED BUMPER THAT MUST BE REPLACED

Below you can see the broken fragments of the bumper that the cards will fly up into and come to a stop. Fortunately I was warned about this and already have a replacement part in the works. 


The sound deadening foam that was glued between the ribs above has disintegrated. This is pretty typical of the foam used in 1960s IBM gear. I will remove it since it has no functional role, simply reduces sound levels. 

DISCOVERED MY ISSUE WITH HOPPER GEAR ALIGNMENT DOESN'T EXIST

In prior posts I was concerned about the timing between the picker knife actuation cam and the timing disk. The solenoid for the knife is triggered at the time of the CB 3 pulse from the timing disk and released at CB 1 time. This timing also starts the card feeding from the pre-read station out through the read photocells and into the stacker. 

I was worried that if the knife moves at the wrong time when the previous card hasn't cleared the pre-read station, we could have a jam. I wanted to get a copy of the FE Maintenance Manual to learn how to mesh the gears for proper synchronization.

However, that was due to a big misconception of mine. It appeared that the gear with the timing disk on it was meshed to other gears that not only turns rollers to move cards but also turns a cam to move the picker knife. Thus, the two gears would have to be set in the proper relationship in order to turn the cam at the right time. 

The diagrams in the Parts Catalog appeared to match that assumption. However, as I disassembled the card reader I realized that the cam for the picker knife is on the SAME shaft as the timing disk. The shaft has a key that orients the timing disk to the shaft, thus the timing between feed and pickerknife are assured. 

DRILLED OUT AND REPLACED A FROZEN RUSTED SCREW

As I was removing side plates to get access to the card stacker shoe and rod, one of the screws was too rusted in place to turn with a screwdriver. It was a recessed head screw as well, thus harder to apply turning torque to the end of the slot. I had to drill out the head in order to get the screw turning. 

Fortunately, it was a pretty standard type of screw that I could buy and use as a replacement when I reassembled the stacker assembly. 

Alerted to another plastic item on 2501 card reader that has failed with age

BUMPER STOPS UPWARD CARD MOVEMENT AS IT IS EJECTED INTO STACKER

As cards are fed through the read station, they continue to the left and curve upwards to be ejected out into the stacker. The card strikes an elastic bumper that arrests its movement and allows it to fall downward gently. 


The card pusher oscillates left and right at the bottom to gently move the card leftward until it is against the stack of cards previously ejected. The stairstep shape of the card pusher initially places the ejected card higher than the top edge of the stack, but then nudges it down the steps while the card slides down to end up well aligned against the other cards in the stack. 

WARNED TO CHECK THE CONDITION OF THE BUMPER

The bumper is another of the materials IBM used in the 1960s that degrades with the passage of time. Foam insulation, rubber and plastic parts outgas the chemicals that provide the elasticity and other characterists, so that by now they are brittle, crumble or in some cases have turned to a sludge. 

It sits in the area marked A in the diagram below at the top of the stacker assembly. The card flying up from below will bounce to a stop off the bumper, then drop to where the card pusher can move it against the other cards. 


The bumper itself consists of a holder (61), a soft elastic material (60) and a tougher outer face (62). 


EXPERTS WHO RESTORED A 2501 IN EUROPE ALERTED ME TO CHECK THIS

Friends who have restored 1130 systems for a museum had previously restored the 2501 Card Reader as part of that effort. They encountered the broken plastic gears during that work and were the source of the design files I used to fabricate my replacement parts. 

The found that the bumper on their reader was cutting or damaging cards because of its degraded state, so they replaced it. Because of this, they warned me to check the bumper on my 2501. The bumper was sitting there seemingly good but when I touched it to check the elasticity, it broke apart. 

Fortunately, the team had produced a design file for the bumper holder onto which they glued some firm foam. I was given the file and will build the holder. I already have suitable firm foam to add to it. 

Saturday, May 17, 2025

2501 Restoration - mainly working on stacker section

VACUUMED OUT THE 2501 CARD READER

I used a shop vacuum to remove the fragmented plastic gear reside, mouse hair, dust and other junk from the card reader as the first step in cleaning it up. I will follow up with 409 and Simple Green for general cleaning. There is rust on a number of non-critical parts that I will partially sand and then treat with a rust converter but not right now.


STACKER ASSEMBLY NEEDS TO BE DISASSEMBLED

The card stacker is a mechanism into which cards are ejected at the end of a read/feed operation that will hold them in a neat stack for eventual removal by the operator. The card flies up and bounces off a bumper at the top to arrest its motion, then is nudged leftward by an oscillating assembly to result in the card fitting against the prior cards in a neat stack. The stack of cards is on a slider which is spring loaded so that it moves leftwards as the stack of cards grows until it reaches a 'stacker full' microswitch that causes the reader to become not ready. 

The slider moves along a chromed rod, with a shoe fitting under guide rails and having the rod pass through a hole in the center.  A spring attached to the shoe pulls the slider rightward. The chromed rod has rust and corrosion on it, so that the slider can't easily move left or right. This will need to be treated to allow easy movement of the rod through the shoe. 

The oscillating assembly that nudges cards to the left once they fall down from the bumper is jammed. It consists of a base plastic piece with steps formed into it, plus two thin plastic pieces that move left and right in slots cut into the base piece. The thin plastic pieces are moved by a lever underneath that is oscillated by a cam on a shaft. The shaft is turned by the stacker gear that I replaced, converting rotary motion into the back and forth nudging action. The thin pieces don't move due to solidified grease and dust. 

I have to remove quite a few screws and plates to open up the stacker assembly to remove the slider rod as well as to reach the thin pieces where they are frozen in place. This is mostly done now, but I need a bit more work to uncover the front side thin piece because the card reader motor is in front of it. 

Once I clean up the rod and the thin pieces, I have to reassemble the stacker. A number of the parts have room for movement so that they can be adjusted to specific widths or relative positions. In particular, the path that the ejected card moves through, as it moves up to the bumper and falls down onto the nudging assembly, may have a target range of adjustment.

I do not have access to the IBM 2501 Field Engineering Maintenance Manual, the document in which IBM would detail all the adjustments and specifications for reassembling parts of the card reader. This worries me as I will be doing even more disassembly of the reader, with those parts also having specific adjustment targets. If anyone knows of someone with this manual, such that I could get it scanned, it would be a great help. The parts catalog and FE Theory of Operations are available online already, but not this key manual. 

I will clean the rod, then sand down any high spots and finally try a rust converter to produce a smooth enough surface for the shoe to slide over it easily. The rod has a notch in it at the right for a circlip that holds it in place in the assembly, so simply buying a replacement rod of the right diameter and length isn't enough. 

Wednesday, May 14, 2025

Determined how to mesh geartrains in 2501 card reader

CONTINUOUSLY RUNNING SHAFTS AND SOLENOID CLUTCHES

The IBM 2501 Card Reader has a motor that is spinning continuously while the device is ready for card moving and reading operations. A number of drive belts connect different shafts both side to side and front to back in the machine to provide energy to various rollers and other devices.

The card stacker where cards are ejected after reading is connected to one of these shafts and via a cam converts the motion to side to side movement of the bottom of the stacker. This helps move each newly ejected card to the left where it can fit closely against all the cards that were previously ejected. 

Rollers to move cards from the pre-read station through the read station and push them up into the stacker also run continuously. Most of these rollers have a spring loaded roller on the other side such that the cards will be moved.  Any card entering between a pair of rollers will be grabbed and moved leftward. 

At the rightmost side of the machine in the pre-read station, however, the first roller does not have a counterpart permanently pressing on it. Thus the card will not be moved from the pre-read station until a feed solenoid moves the counterpart roller down to pinch against the card. When pressed down, this roller starts the card moving until it enters the next pair of rollers where the pair are pressed together to keep the card moving. 

The input hopper for cards yet to be read has pairs of rollers turning just inside the opening into the reader. As long as the cards sit stacked in the hopper they are not yet touching the rollers so they will not move. A set of 'picker knives' move front to back when activated by a hopper solenoid. These have a lip that is less than the thickness of a punched card, so they only push on the bottommost card. The entry into the reader has a 'throat' that is adjusted to be less then two cards in thickness, thus ensuring that one and only one card enters per movement of the picker knives. 

A row of 12 photocells sit inside the card path so that they will sense light coming through punched holes in each column as it is moved past. Cards sit in the hopper with the face of the card down and the left side (column 1) of the card to the left in the hopper. 

READING CARD IN PRE-READ STATION

Activating the feed solenoid pinches the card in pre-read so the continuously turning rollers propel it leftward into the next set of rollers. The card moves under the photocell station where each of the 80 columns can be sensed in turn, then moved up into the stacker. 

Simultaneous with feeding a card to read it, the hopper solenoid is activated to feed in the next card from the hopper into the pre-read station where it can wait for the subsequent read request. 

FEEDING CARDS FROM HOPPER TO PRE-READ STATION

Firing the hopper solenoid will cause the picker knives to push a card into the throat, where the rollers will push the card to the rear so that it stops in the pre-read station. When the machine is initially empty, a feed cycle must be taken to put the first card in pre-read before the card reader becomes ready for operations. This is done by pushing the Start button. 

Every read operation (feed solenoid) also activates the hopper solenoid so that as long as there are cards left in the hopper it will have one ready in pre-read at all times. When the hopper becomes empty, there is still a card sitting in the pre-read station from the prior picker knife activation. The card reader will drop out of ready condition at this point, allowing the operator to add more cards to the hopper if desired. When new cards are in the hopper, pressing Start will turn on ready, read the card in pre-read and pull in a new one from the hopper. 

However, when there are no more cards to be put in the hopper, the reader has not yet read the last one since it is sitting in pre-read. Pressing the Start button without adding any cards to the hopper will turn the reader back to ready where another read request can be processed to read that final card. A special condition is raised so that the 1130 software can tell this was the 'last card' being read. 

KNOWING WHEN TO SAMPLE THE PHOTOCELLS FOR THE 80 CARD COLUMNS

The rollers pulling cards through from pre-read to the stacker move continuously, as does an 'emitter station' in the machine. When the leading edge of the card enters under the photocells, the logic detects that at least one row (actually all 12) is dark. It records pulses on the emitter station, spaced one card column apart as the emitter station rotates. 

Thus each pulse identifies the location of columns 0, 1, 2 . . . 80, 81 and then the trailing edge of the card. After the card exits the read station, the emitter station is erased to be ready for the next incoming card. Because the pulses are placed exactly as the card first enters the photocells, we have a precise start position for the card. Because the emitter station rotates in synchronization with the rollers moving the card along, the pulses mark off the location of columns very accurately. 

TIMING CB PULSES SYNCHRONIZE CARD MOVEMENTS AND SOLENOID ACTIVATIONS

A rotating disk with a permanent magnet glued on it spins continuously as the reader motor runs. It has three coils placed around the perimeter so that the magnet will generate a pulse from each in turn at specific points in the rotation of the disk. These are called CB, for circuit breaker, which is an IBM term for a circuit that is turned on or off based on motion of a cam or other mechanism. 


The three CB pulses control when the solenoids are activated, when the emitter station pulses are recorded and thus relate to the movement of cards through the machine.


The solenoids are activated at CB3 time and released at the start of CB1. Cards entering from the hopper will slide rearwards into the pre-read station near the end of a cycle. A photocell to detect whether a card was feed into pre-read is activated at around 211 degrees, we after any card moving out of the pre-read has passed fully through the photocells. 

A card being read (by activating the feed solenoid) will have its leading edge enter the photocell station around 15 degrees, as it moves rightwards, meanwhile the card from the hopper is moving rearwards at the same time. The trailing edge of the card clears the photocell station around 165 degrees, thus the entire card is out of the pre-read station sometime prior to that. The incoming card from the hopper is about halfway into the pre-read station (based on the location of the photocell that senses it) at 211 degrees and will be at rest and ready for feeding before CB3 at 335 degrees. 

This is a ballet of simultaneous card movement that must be managed lest the incoming card from the hopper jams into the card moving through the photocells. The activate time of the solenoids runs from CB3 of one rotation to CB1 of the next, which starts the movement of both cards. Thus most of the synchronization is purely done by using the CB pulses to control solenoid firing.

However, the card that comes in from the hopper is fed through the throat by the picker knives. The solenoid to release them is fired based on the CB pulses, but the physical back and forth movement is driven by a cam that is also rotating continuously along with the timing disk. If the knife moves early the card might crash into the card leaving the pre-read station. If it moves late, the card might not be fully at rest in the pre-read station when the feed solenoid is activated to start the card through the photocell station. 

A gear on the timing disk meshes with other gears that turn the picker knife cams. Thus, the relative position of the cam to the timing disk is important to ensure that we time the picker knife movement properly. 

The Field Engineering Maintenance Manual would contain the instructions for setting the gears in time with each other, but that manual is not available to me nor available online. Fortunately, there is a blurb in the Theory of Operations manual that tells me how to synchronize these.


MY PROCEDURE

I will disconnect the new white gear from the gears on the right, then rotate the motor so that the permanent magnet pole (red arrow below) will be positioned at the CB3 coil (green arrow below) when the disk and new white gear is reinstalled. Then I will turn the existing gears so the cam is in the position show in the diagram above. Meshing the new white gear to the existing gears in this orientation will give me the relative timing necessary for proper operation. 



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. 

Wednesday, April 16, 2025

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

READJUSTING THE REMOVED PARTS

Selection Stop Plate


This is a simple adjustment, just a bit awkward due to the narrow zone where the wrench has to fit to tighten the screws while holding the plate from moving.

Cycle Clutch






As you can see from the multiple diagrams above, the print cycle clutch has quite a few settings that must be checked or adjusted in order to work properly. I methodically moved through them. Most are easy to measure and straightforward to change.

C2 Switch


I hook up a VOM in continuity mode to the switch. The hand cycle tool I used to turn the shaft of the typewriter has degree markings, which gives me a way to measure where the switch contacts are opening and closing. 

The adjustment is done by rotating the cam and then moving the bracket around until the make and break points are achieved. First I had to disconnect the switch bracket in order to get to the two setscrews that hold the cam on the shaft.


I then loosened the two tiny setscrews (at 90 degrees from each other) and turned the cam to achieve the proper orientation while the cycle shaft was at rest. 


The bracket was replaced onto the frame and moved until the contacts just broke while the print cycle shaft was left at the 20 degrees of operation point. I then verified that the contacts reconnect right around 120 degrees of print cycle movement. 

Filter Shaft

On normal office typewriters, those with keys that are pressed by a human, the key latches down and has to be reset at the end of the print cycle to allow the next keystroke to be accepted. The filter shaft has a cross section that is a very thin oval, the two ends are what push the keys back to the restored position. 

This rotates as part of the print cycle, which is a 180 degree turn of each shaft, thus the two lobes on the filter shaft. In addition to its (unnecessary) role of restoring keys, this has a cam which pulls a rod to trigger a space of the carrier. A pawl is briefly pulled out of the rack of teeth that hold the carrier in place, so that the coil spring energy pulls the carrier to the right where the pawl falls into the next tooth (column). IBM calls this spacing action escapement. 

We want to move the carrier after the typeball has already begun moving back away from the paper and ribbon, not while it is still in contact, otherwise we will get a smear instead of a clean letter. The cam is adjusted so that it pulls the rod after the critical position of the ball is past, yet still releases the pull rod when the print cycle comes to rest. 


This was straightforward to check and was set correctly. The filter shaft on this keyboardless typewriter used a circular shaft rather than the oval version from office typewriters. 

Carrier Print Shaft


This is a very important adjustment. It rotates the rod that the carrier slides across, thus it turns the mechanisms inside the carrier. A notch runs along the length of the rod into which the various cams in the carrier are keyed. 

A print cycle begins when one or more solenoids are engaged by the 1130 to request a particular letter to be printed. These solenoids pull on levers that dangle under a wide plate, so that the lever is either under the plate or out of the way. The plate will be forced downward during a print cycle, thus pulling all levers that are still under the plate.

The print cycle clutch is triggered by the activation of any solenoid. It releases the print mechanism to turn 180 degrees before the clutch latches back to idle. As the shaft turns through the 180 degrees, it is rotating cams that push the selection plate downward. 

The downward pull of the levers that were selected cause the mechanisms in the typewriter to change the tension on two thin metal ribbons that are routed to the carrier. One of the ribbons turns the typeball left or right, achieving one of 11 rotation positions. The other ribbon tilts the typeball to one of four rows of characters. Thus the selection picks one of the 44 unique type characters on the ball. 

As the print cycle proceeds, the shaft running through the carrier is turning. It begins moving a set of latches which will first lock the ball to the tilt setting and a bit later push a lever up into a tooth on the typeball to lock in the rotation setting. 

During our print cycle, we have two sets of motions occurring. The metal ribbons are moving based on the selected levers and downward plate movement. The locks are engaging and releasing for tilt and rotate.

These must be synchronized. If the selection mechanism is still moving a ribbon, not yet at its final rotation or tilt tension, but we lock the ball then we have two bad things happening. We may have selected the wrong character, locking the ball before it gets to the intended target. We are also locking the ball but putting tension on the ribbons, which might cause them to break. 

This is why we want the shaft going through the carrier to be in a very precise relationship to the print cycle overall. We want to see the typeball move to its intended position just before the latches lock down the typeball. We also want to see the typeball unlatched before we begin restoring the ribbons to their rest position as the selection plate and levers move back up. 

I hand cycle and carefully observe the motion of the ball and of the latches, both at engagement of the latch and at release. The shaft position at idle is adjusted until I am satisfied with the synchronization. This is all checked with extremes of rotation and tilt, the worst case for problems in timing. Thus I selected characters with a +5 and a -5 column and a tilt of +3. All worked properly. 

Gear Lash


This is an easy adjustment, which must be done to allow smooth movement of the print clutch shaft, filter shaft and carrier shaft gears as they mesh and turn together. We don't want too much friction nor too sloppy an engagements. 

Final Checks

I first checked that the print shaft going through the carrier is in the right orientation, with the groove in the shaft just a bit rearward of straight up, about the 11PM position on a clock dial. I also checked the position of the cams for the spacing and shift mechanism lockout, as they need to be at the proper place when the cycle is idle. 

I then check for malselection of various characters, using the hand crank to see when the locking bar enters the teeth on the selectric type ball. I had to do this for both upper and lower case positions, testing -5 and +5 rotate operations. All appeared to be correct. 

Hand cycle tool to manually operate typewriter

TEST UNDER POWER

With the console entry switches (CES) removed from the front panel, the typewriter could be moved four to five feet from the 1130 due to the long cable. I plugged the SMS power and signal cards back in with the typewriter on a table next to the 1130, so that I could run it under power to see how everything works.

The front panel buttons Tab, Space and Return were pushed to observe how the carrier moved. Everything else will be tested by commands issued from the IBM 1130.  I let the residual code from the disk diagnostic run to print a few messages.

It was obvious that the mechanism to hold the tab microswitch open was not working properly. The tab torque bar snapped right back to idle position while the carrier was still in motion. This was reflected in the typed output which was distorted when new commands were issued during a tab move. 

I also noticed something different between this typewriter and the one on my personal 1130 system. The tab torque bar lever that activates the microswitch is able to jam against a metal part that is part of the paper movement system. 

Specifically, the platen (roller that the paper curves around) sits on four small roller shafts and has a metal plate that forms a sandwich of platen, paper and this plate. This extends for about a third of a circumference of the platen centered near the bottom. The metal plate sits on two metal parts, one at each end of the typewriter. 

You can see in the picture above that the metal part extends out to brush against the end of the torque bar plate as it rotates up. Compare that to the position of the metal part on my typewriter, shown below.


REPLACED TWO OUTPUT BUFFER CHIPS FOR V2315CF MAIN BOX

Due to an error on the 2310 Interface Board PCB, one of the control signals from the Virtual 2315 Cartridge Facility (V2315CF) was exposed to 12V when it was intended as an output to drive a MOSFET transistor. The signal would turn on the Unlock lamp on the 1130 console when the V2315CF did not have a virtual cartridge file loaded and it was operating in virtual mode. In its real mode, the 2310 disk drive inside the IBM 1130 would directly control that lamp.

I received a supply of replacement buffers for both input and output signals from the V2315CF and installed one on each of the two V2315CF boxes I had built. Having hacked the existing 2310 Interface Board PCB to cut traces to the 12V supply and add a bodge wire, it is now safe for use. The new version of the PCB should arrive tonight so that I can create an unhacked version for production use.