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.