Sunday, May 31, 2026

Refining the 1053 Emulator code in the Arduino

ENHANCING SPEED OF THE CODE

I went through the code and looked for all the spots where I could reduce the time it took to perform a function or stop the processor from having to execute code unnecessarily. The aim is to ensure that we can keep up with the max rate of 15.5 characters or short movement commands per second that the typewriter can achieve. 

The code implements two state machines, one for the typing and short movement operations, the other for the three long/indefinite operations (carrier return, line feed and tab). The code interrogates the timer and compares it to the time when the state machine left the idle state. 

At specific durations, it switches the machine to the next state. However, it also outputs signals during some of the states, which can mean we are repeatedly outputting the same signal until the timer comparison moves the machine to the next state. A simple change fixed this - with the code that emits signals only taking place on the first cycle in a new state, saving the old state to detect the 'edge'. 

The character lookup was unnecessarily complex, looking through a table of all 44 possible tilt and rotate combinations for the typeball hemisphere to find a match, then using the index of where we matched to pick out a character from the hemisphere glyph table. I created a direct access table with all 64 possible combinations of tilt and rotate values, even though only 44 of them are valid, so that I could pick up the index using the tilt/rotate selection value as the displacement into the table. That avoided the loop reading through a table. 

I made many improvements long these lines to reduce the compute load and free up the Arduino for faster response. When I am back I can do some testing to verify whether it can keep up with the stream of characters and short movements. 

ADDING IN APL TYPEBALL SUPPORT

One of the stretch goals when I began this project was to emulate both the normal console type element and the special Selectric ball used with APL (A Programming Language). I have a few type 988 balls which would allow the IBM 1130 system to run APL, when put on the 1053 console printer. I believed that adding this to the emulator would be useful. 

One of the challenges of the APL character set is that there are many more symbols than the 88 positions on a Selectric type element. Once you consider the 26 alphabetic and 10 numeric characters that must be included, only 52 spots are available for other glyphs. The solution IBM adopted was to overstrike, typing one character from the ball, backspacing, then typing another (or even a third), to combine together to form the intended glyph. 

This poses a small challenge to the emulator which sends data to a remote terminal program for display. It isn't using actual paper, thus when the backspace is sent after the first character is typed, the terminal will replace the first character with the second when it is sent rather than combining the two. 

This is a minor issue with normal console characters, since overprinting is not done that often with the 1130. Passwords might be obscured by backspacing and typing various characters over the entered password thus making it very hard for an observer to read the password from the paper. The 1053 diagnostic prints a line of O characters, each time backing up and typing a * character. This is used to verify how accurately the spacing and backspacing is operating. 

This becomes much more of an issue with APL where overprinting is very common. The meaning of a glyph is going to be impossible to discern if you only see the last character typed into a column and not the prior ones. 

This can be solved by developing a custom terminal program to display the output of the emulator. It would retain the characters in the current line, thus when backspacing it would merge the prior column contents with the newly typed character. The program will be displaying the columns as bitmaps avoiding the need to find a unicode glyph for the combinations. 

Meanwhile, I had to create the alternative set of glyphs for the 88 positions of the APL typeball. The emulator has a command that can be issued over the serial link that switches between normal and APL elements. I just had to find all the glyphs such as ⊥ and ∆ to put them into the table. As long as unicode had the character, I could transmit it over the serial link. 

To make life more interesting, since I was visiting relatives in Myrtle Beach, South Carolina over the past few days, I had to recreate the APL typeball without having it in my hand for direct inspection. I had to look over various online documents and use a 3D viewer to examine a replacement typeball designed by another hobbyist.  

Monday, May 25, 2026

Power supply failure and debugging on the Calcomp 565 plotter

RESTORING LAST BIT OF CIRCUITRY WHEN AN ANOMALY OCCURED

Having previously restored the carriage left/right servo to full operation with the replacement power transistor installed, I turned my attention to the pen up/pen down circuit. This operates a solenoid in the pen that either holds the pen up in the air off the paper or allows a spring to push the pen down for drawing. 

I had discovered a failed power transistor in the circuit and when the spare part arrived, I installed it. As I was probing around investigating the operation of the circuit, I installed a similar solenoid onto the carriage and hooked it up. Apparently Calcomp also made a cutter solenoid that would work on the same plotter mechanism, but place a knife on the paper/plastic/fabric so that patterns could be cut with .01" precision. 

It is almost identical to the pen solenoid, which is why I scooped it up on eBay, planning to convert it into the pen. It has the same inductance and method of attachment to the carriage. It was in place and I began checking voltages, when I saw that the -24V level shot down to -41V. It may have been something I did duriing the probing or it may have been a coincidental failure. 

I turned it off, then when I powered up later the voltages were now all near or at zero. The fuses were good, so it appears that something failed in the power supply. 

FIRST FAILED PART DISCOVERED - A WIRE

I verified that the AC output was coming from the transformer, but there was essentially zero coming out of the bridge rectifier. Checking all the diodes did not find any that were shorted, open or otherwise malfunction. Just zero volts coming out and I had confirmed it was NOT due to a short that the rectifier was feeding. 

After some continuity and other testing, I discovered a defect in the wire which connects one of the transformer secondaries to two diodes in the bridge. The wire was not a wire. It is one of a bundle of wires that are laced together and routed through the power supply, with no obvious sign of damage or overheating. It was just an open circuit. 

ADDED A NEW WIRE BUT THE VOLTAGES WERE NOT GOOD

I soldered in a new section of stranded wire between the terminal board where the transformer secondaries attach and the junction of the two diodes. With continuity, I powered up and began to check the voltages being produced by the supply. The line that should be -24V (or a bit more negative since it was unloaded) was at -41V, the same as what I observed just before the wire committed suicide. 

I checked a couple of the other power rails and they were all off significantly. Something else failed in the supply besides the wire. I ran out of time to find the issue when I had to leave the workshop.

OVERVIEW OF THE POWER SUPPLY

The power supply of the Calcomp plotter is interesting, using just one s et of transformer secondaries and no regulators yet producing -24, -9, -7.5, +1.5 and +3V rails. It depends upon a chain of diodes to generate the proper voltages, a voltage divider taking the approximately 27V produced by the rectifier bridge under load and turning it into the rails above.

There is a small additional part of the circuitry that is connected to the bridge rectifier before the filter in order to have pulsing DC, used for the fast stepper modes that drive the servos at 120 steps per second. It is not salient to the issue we are debugging so I didn't include it in the pseudo-schematic above. 

For me to see 41V instead of the 34V I previously observed, the most likely failure is that the Zener diode has shorted. I tested all the other diodes with a VOM in diode mode and found them all to have a good diode voltage and not pass any current in the reverse direction. However, I couldn't check a Zener with that method.

The acid test for a Zener is a transistor curve tracer, where carefully limited current and controlled voltages can be introduced and the results observed on an oscilloscope. The diode should be high resistance at voltages up to 7.5 then exhibit a nearly vertical slope to the current flow allowed by the tracer setting. 

When I get back to the shop, I will remove the Zener diode and test it on my transistor curve tracer. If I need a replacement I must be sure to get one with a high enough power dissipation capacity. The schematic lists it is a 1N3016A diode so that would be the perfect replacement, or a substitute with the same or higher specification of 1W capacity. Interestingly, the spec sheet does not show the voltage threshold as 7.5V, instead listing it at 6.8V. 

Designed SMS socket and having it manufactured

THE NEED FOR AN SMS SOCKET

The Standard Modular System was the construction methodology used for IBM computers in the generation from the Stretch computer until it was replaced in 1964 by Solid Logic Technology of the System 360 and 1130 systems. The 1401 and the 7094 are two well known systems based on SMS. 

IBM did use SMS components during the later generations such as S/360, both for components such as power supplies and for attaching older peripherals originally designed to connect to SMS machines. In the IBM 1130, many peripherals are attached using SMS paddle cards and SMS power cards. 

The paddle card looks like the end of an SMS logic card, but is attached to cables. SMS cards have 13 pads, labeled A through R (as they skip the letters I and O due to their resemblance to the digits 0 and 1). The power card is similar but has some pads combined into fatter pads to handle more current, e.g. M and N become a double width pad, and it has a notch in the middle. The connector block into which power cards are plugged has a steel bar to block ordinary SMS paddle cards but allow the notch of the power card to slide around it. 

I do not have any reasonable source for SMS paddle cards, SMS sockets, nor the gender changer/adapters that allow two paddle cards to be connected. I had to build my own small PCBs to work as SMS paddle cards and SMS power cards. 

The challenge I face is that there is another option connected to a cable, a socket into which a paddle card will plug. One of the cables coming from the 1053 Console Printer, a selectric typewriter used as the console of the IBM 1130, has a socket on it rather than a paddle card. My 1053 Emulator project was originally built with SMS paddle cards, but one of the cables either needs a gender changer/adapter or a socket.

CONCEPT FOR SMS SOCKET

I realized that I could solder some RF shield fingers onto the pads of one of my SMS paddle PCBs. These are springy gold plated contacts that stand 2.5 mm above the PCB but can compress down to 1.5 mm or less, ensuring a good contact across all thirteen pads of whatever we mate to. I needed a body that would hold the paddle card PCB with its fingers and hold an inserted SMS paddle card against the contacts. 

At first I was working on a design that would put my paddle card PCB inside and have a slot for the insertion of an SMS paddle card. However, I realized that the paddle card PCB itself acts as one side of the socket, thus it does not need to be enclosed. 

I designed a part that will be installed over the top of my paddle card PCB, bolted in place through the four holes I put into that PCB. The opening of that part is 3.8mm high, thus an SMS paddle card at 1.54mm will slide in and compress the fingers on my PCB down to 2.26mm height, giving a good solid contact. The part has a wall to stop the SMS paddle card from sliding in too far. 

It has two additional features, notches for mounting and an opening for the cable wiring to exit the socket. The opening is not particularly important, but the notches are key to use in the 1130.

The IBM 1130 has a U shaped bit of metal, the height of the U much larger than the width of the opening. The opening itself is just over 56 mm. The U shaped bit is rotated 90 degrees and mounted in the 1130. 

The IBM gender changer/adapter parts have notches built in so that they can be slid into the U and thus anchored, with SMS paddle cards plugging into the front and back of the adapter. SMS sockets such as the one attached to the 1053 also have the notches and are slid into the U the same way. 

DESIGNED IN FREECAD AND SENT OUT TO MANUFACTURE IN NYLON

I whipped up a design for the body that converts my SMS paddle card PCB into a socket.

I transmitted the design through Cloudcraft and should have three of them by the end of next week.  

Sunday, May 24, 2026

Continued debugging of the 1053 Emulator - part 2

TESTING AFTER THOSE CORRECTIONS

I plugged the emulator into the VCF 1130 system and ran my hand entered code to fire off characters and commands to the emulator. I needed to see it successfully handle a print, triggering the interrupt level so that I knew it had the correct feedback signals from my box. Without the feedback working, I can't do a shift nor test out the characters on the other hemisphere of the type ball. 

The oscilloscope was set up to watch the feedback signals as further confirmation that they are reliably delivered into the 1130 system. I did not see enough swing in the signals to cause the 1130 controller logic to operate as intended. I have to throw in the towel and give up on using the N-channel enhancement MOSFETs - the only type I had in the shop. 

THE PROBLEM WITH N CHANNEL MOSFET SWITCHING

The N MOSFET needs a positive voltage on its gate relative to the source, of a high enough differential to switch on the channel and pass current from the drain through the source (actually electrons flow from the source to the drain, but the conventional notation used in circuits has the current flowing from + to - terminals. That is why an N channel MOSFET has a positive voltage on the drain relative to the source.

The classic circuit for these is to have the source hooked to ground, the drain hooked to the + rail through a current limiting resistor, and the load being switched is hooked between the drain and the limiting resistor. An Arduino delivering 0V to the gate will keep it off since the gate is NOT more positive than the source. The high (+5V) output of the Arduino is positive enough for some N channel MOSFETS, although some require a higher differential, thus it can turn on the flow through the MOSFET and pull the load down to ground. 

The situation with the 1130 and the 1053 is not the classic situation. The load line is pulling current from the + rail down to -3V inside the debouncer in the 1130. When the MOSFET is switched on, the load line jumps to nearly the + rail, when the MOSFET is off the load line is seen to be at -3V. 

The drain of the N MOSFET is thus nearly at the + rail  when the switch is off, but drops down to -3V when it is turned on. The gate is more positive than the source when the MOSFET is turned on, but we have to limit current through the resistor which drops the voltage sent to the debouncer circuit. When the switch is on, the current is flowing through the MOSFET in addition to going into the debouncer. 

This gets more severe with one of the signals, which has a +48V rail, as the current limiting resistor is set for 2.5W of consumption yet that lowers the voltage to the debouncer too much to work reliably. In reality, the classic circuit does not work well for me.

The ideal use of the MOSFET switch is indeed as a switch, with the + rail on the drain and the debouncer circuit on the source with no current limiting resistor at all. That way it works purely as a switch, the perfect analog for the mechanical switches in the 1053 typewriter we are emulating. The challenge comes from trying to control it with the gate.

The source voltage is going to vary now, from -3V when the switch is intended to be open up to the + rail when the switch is closed. The gate has to be more positive that the source to turn it on, but that means it has to be more positive that the + rail. Unless I want to add additional power supplies above the 12 and 48 V rails of the 1130, this is not possible to do. I certainly can't do it with an Arduino's 5V logic high. 

There is even the risk that some current will flow even when the Arduino puts out 0V, logic low, as that is 3V more positive than the source initially. The MOSFET is likely to turn on just enough to raise the source to a point where the gate-source differential is lower than its threshold.

P CHANNEL MOSFET IS THE SOLUTION

If I switch to a P Channel MOSFET and hook it up as a switch, the situation gets better. The rail connects to the source terminal, the drain is connected to the debouncer. The gate has to be more negative than the source terminal, but fortunately in this case the source is steady at the + rail, not varying as in the N channel case. We just need a way to get the gate to sit either at the + rail or about 8-10V below the rail, to have the switch off and on respectively.

That is provided by a simple NPN transistor and a voltage divider between the + rail and the collector. The emitter is hooked to ground and the Arduino will turn this on or off as it drives the base with logic high and logic low respectively. The transistor, when off, allows the MOSFET gate to see the full + rail voltage. When the transistor conducts, the pair of resistors in a voltage divider are sinking current to ground through the emitter. 

Choosing the values of the two resistors lets me set the gate voltage I want the MOSFET to see when we want to turn it on. The MOSFET doesn't need any appreciable current to the gate, thus the resistors can have high values. If the upper resistor is 30K and the lower resistor is 10K, with a +12V rail, the junction of the resistors will drop to 3V when the transistor conducts. putting the gate about 9V more negative than the source. 

Now this is simplified due to things like the diode voltage drop of the transistor and non-zero emitter-collector on resistance, but you get the idea. For the +48V rail, we can choose an upper at 18K and a lower at 47K to produce just under 35V at the junction and thus the gate will be 13V more negative than the source. 

I will order some P channel enhancement, MOSFETs with suitable voltages and thresholds. I have plenty of switching NPN transistors on hand and enough resistors to create the voltage dividers I need. 

Saturday, May 23, 2026

Developing SMS socket to connect to paddle cards

WHIPPING UP A FEMALE SMS SOCKET FOR THE BOX

I think I have a good plan for a female socket to plug into an SMS paddle card. I built some SMS signal paddle PCBs that I could adapt.


Using some 1/8" or 3/16" stock, I could cut some pieces and drill holes so they create a channel for the incoming SMS paddle card. Another larger plate sits on top of those side channels and creates the socket. Soldering some spring contacts on the pads of my PCB will allow good contact when the male paddle card is inserted. I could also add a block to stop the paddle card from inserting too deeply. 

I soldered some RF shield fingers as springy contacts - it wasn't a perfect job but they are all there with no shorts. Next I cut up some brass I had as the spacers and a plastic spreader as the top.


Very quick and dirty, but sufficient to test out the concepts and spacing. The brass spacers were .09" high and the tests I did shows that I need the space to be almost1/8" otherwise the contacts have to bend too much. However, by loosening the nuts slightly I could insert another SMS paddle card into this makeshift socket and verify connectivity for all thirteen pads. 


I have one additional spacing detail - I need grooves on the sides that are 2.2" apart. The SMS signal box in the 1130 into which the socket attaches has top and bottom rails separated by just over 2.2", thus the socket is held in place while in the system. 

Based on these tests, I will design a socket structure to connect with my SMS paddle card. It can be 3D printed fairly easily. 

I believe I can design a simple 3D printed part that can be attached with screws and nuts to form a socket, something cleaner than some scrap parts cobbled together. I will work on that but this temporary socket gives me an emulator box that can be long term loaned to the System Source Museum for use whenever the 1053 typewriter is out of service. 

Replaced transistor to restore Calcomp 565 plotter carriage movement

REPLACED - CARRIAGE STEPPER NOW MOVING 

I had found some GM Delco 2N392 transistors on eBay - apparently this was used widely in car radios. The first new-old-stock transistor arrived and I installed it into the plotter. When I powered up for a test, the ring counter was restored to correct operation. The manual control for carriage right or carriage left now shifts the ring counter one step, changing the coil that was activated and moving the stepper motor one position. 

WAITING ON PEN SOLENOID TRANSISTOR TO REPAIR THE REMAINING CIRCUIT

The second new-old-stock transistor is on its way from a different vendor. Once it arrives I can stick it into the pen flip flop circuit and finish restoring that to (hopefully) full operation. However, having done some circuit testing and analysis, I am concerned that another PNP transistor in the circuit is also bad. 

Continued debugging of the 1053 Emulator - part 1

ADJUSTED RESISTOR VALUES FOR MOSFET SWITCHES

The voltage divider network hidden inside the IBM 1130 logic, specifically the switch debouncing circuits, required a much smaller resistor on my MOSFET switches to produce logic low and logic high levels on the gates fed by the signal. I changed over to 470 ohm resistors for the three switches that work with 12V. 

The switch that drives the -TWR CB RESPONSE signal has to deliver 48V when active and that voltage sinks to ground through the MOSFET when it is turned on. While I don't have the exact resistor values inside the debouncing circuit for the 48V signals, I believe that a 1K resistor will allow the gates to see logic low and logic high as it switches. That will consume a bit under 2.5 W when on steadily. 

CHASING DOWN ANOMALY WITH PHANTOM RED SHIFT COMMAND

I can see from the output to the terminal that immediately after the emulator box turns on, it believes it has received a Shift to Red command from the 1130. However, the logic in the 1130 is designed to fire off a Shift to Black when it starts up, so this looks like the wires are crossed somewhere in my box. 

In point of fact, I had misinterpreted the string of characters - it was actually a shift to black exactly as it should be. No issue.

SWITCHED TO DIRECT PORT ACCESS FOR DIGITALREAD AND DIGITALWRITE

I removed the digitalRead and digitalWrite statements, instead using direct access to ports such as PORTL and PINL. Much faster. Running my code in WokWiki, an online Arduino simulator, it appears to not produce output characters at the maximum rate of 15.5 cps. The simulator web page claims that it runs as fast as the Mega 2560 hardware. 

I will need to run some printing software to hit the maximum rate and check to see if any characters get dropped. If there is a speed problem, I will have to get even more clever to meet the timing requirements. 

Thursday, May 21, 2026

Attempting to make the 1053 Emulator usable for SSM in time for their pickup of typewriter tomorrow

RESOLVING FLAWS RAPIDLY IS POSSIBLE

The issues I identified with the feedback signals should be resolved with some simple MOSFET switch board rework. The missing line feed is fixed already. The only behavior I still need to investigate is why the ANSI colors aren't working as expected. That seems likely to be easy to resolve too. 

DEALING WITH GENDER MISMATCH IS A CHALLENGE IN THE TIMEFRAME

The physical connection issue is what worries me. The 1053 printer comes with two SMS signal connections - one is a male paddle card and one is a female socket. My emulator however has two male SMS paddle cards. 

I can temporarily fix this by using an IBM SMS gender adapter, a molded device into which two male paddle cards are plugged. In fact, the SMS signal block into which the 1053 plugs has one such adapter already. A male card from the 1130 logic plugs into the adapter, then the male card from the 1053 plugs into the other side. 

The 1130 logic has a second male paddle card, which is plugged into the female socket on the cable that comes from the 1053. When I add a second adapter, I can plug my second male paddle card into the adapter and connect to the second male card from the 1130 logic. 

The only tricky part is that the adapter reverses pads. The leftmost pad on an SMS card is A, the rightmost is R. However, through the adapter, what is on pad A on a card plugged in will be connected to pad R on the other male card plugged in. I have to invert the male paddle card from my emulator to plug it into the adapter in order to get my signal line on pad A to connect to the 1130's paddle card pad A. 

I don't have spare adapter devices. I had to borrow the one from my own 1130 system, the one that normally connects the male 1053 cable to the male 1130 logic cable in the SMS signal block. That leaves my system unable to use its console printer, so I can't loan this to the System Source Museum when I loan them the emulator. 

If I am able to put together a usable emulator by Friday afternoon, I will have to cobble together a female paddle card socket and wire that to my emulator tomorrow. I have a start on this with some experimental work I did, but it is pretty crude and unfinished. We will see if I can pull this off by 4PM tomorrow.

Debugging my 1053 printer emulator box

DESIGNED AND BUILT THIS FOR LAB USE A FEW YEARS AGO

The 1053 attaches to a mainframe with three SMS paddle cards - two carry signals and the third delivers power. This emulator is built around an Arduino Mega 2560 R3, a MOSFET switching board and some simple circuitry, hooked to three SMS paddle cards. It provides a serial port connection over a USB cable for communicating with a terminal emulator program on a personal computer to display the output that is being 'typed' by the mainframe.  

This emulates the console typeball that is installed on an IBM 1130 system, but can be easily modified to support a different (or additional) typeballs. The typeball has characters that are not in standard ASCII, e.g.  ¬ and ¢ which can be displayed in UTF8.

Using a terminal emulator that supports UTF8 encoding and ANSI colors provides the most realistic output, since the text will display in either black or red on white background - the text color is selectable by ribbon shift commands from the mainframe to the 1053. I have had good results with The terminal emulator PUTTY, set for 9600 baud. The code offers a few commands that can be issued to the PC1053 - mainly to set the left and right margins, but also to set, clear and display tab stop columns that will be in effect. 

PC1053 operates at approximately the same timing as a 1053, which supported a maximum of 15.5 characters per second and with the high speed carrier return feature would move from right to left edge in just a bit over 1 second. This provides realistic timing on the feedback signals that tell the mainframe when the Selectric mechanism is busy in a print cycle or performing an operation such as shifting case or moving to a new line. 

The device is constructed in a case with a three digit display to show the current column that the typeball/carrier has reached. It has buttons on the front to match the controls on a real 1053 - buttons to Tab, Space and Return, plus tab Set and Clear. This project has a Fritzing diagram of the connections, a schematic of the MOSFET switch board and other circuits, while the physical layout of the case is left as an exercise for the reader. 

TESTING THE 1053 EMULATOR

I connected the 1053 Emulator to the VCF 1130 to check out its operating condition before loaning it to the System Source Museum. The one challenge I had was that my emulator had two male SMS paddle cables for signals, but the 1053 itself has one male and one female card. Thus I needed to use a Female to Female adapter from my own 1053 just to complete the testing. I tested the signal connections to be sure that the pad reversal of the adapter wasn't crossing signals; soon I had everything connected between emulator and 1130 according to the design. 

FOUND A FEW FLAWS

Immediately I found that the END OF FORMS lamp on the console was lit, which makes the typewriter not ready for operation. The controller logic inside the 1130 won't work properly with that error state. My emulator should tell the controller that forms are good, thus ready for printing. 

I began testing anyway since I saw that my little hand program to write to the console printer was seeing the print codes when I did an XIO Write. The controller hangs up after the first write - must be an issue with the response signals back to the 1130, but it could also be due to the forms error condition. 

I saw the proper characters on the terminal screen for all the letters, numerals and special characters on the lower case hemisphere of the typeball. Any time I entered a code on the upper case side, the controller fired off a shift command which failed to complete, thus it would not type any character on that side. 

I felt good about the translation and display of the characters, even the cents sign which is not part of normal ASCII but is being displayed using UTF-8 unicode encoding of the characters. The column pointer was advancing properly, showing where the carrier would be sitting if it were a real printer. 

Space, backspace, line feed (new line) and tab seemed to work just fine. When I issued a carriage return command, which should also be triggering a line feed, I only saw the cursor return to the beginning of the same line. This happens even when I push the Return button on the emulated printer console (actually on my emulator box). I suspect this is a simple flaw in my Arduino code inside the emulator. 

I tried the commands to shift to red ink and shift to black ink, but the output on the terminal did not change. This may be a remnant of the issue caused the the forms error, but it could also be a defect in my code. I do remember this working properly on the bench, so it could also be a flaw in detecting the shift to xxx ink commands. 

DEBUGGING THE FORMS LIGHT ISSUE AND LACK OF FEEDBACK SIGNALS

The hidden analog circuits inside the IBM 1130 logic cards were the reason that my MOSFET switched feedback signals including end of forms were not working as expected. IBM debounces these with a circuit that pulls the +12V line down to -3V, with resistors in that circuit acting as a voltage divider, so that without the 12V applied, the line will activate the next logic gate. 

My problem was the 4.7K pullup resistor in my circuit - the line from the emulator to the 1130 passes through a 470 ohm resistor before entering the debouncer (voltage divider) and the result was always seen as a logic low by the following 1130 gates. Switching my resistor to a 470 ohm pullup gave me exactly the results I wanted. The forms condition went away.

I have to make similar changes to the other three MOSFET switch circuits in order to be recognized by the 1130 debouncers and ensuing logic gates as validly high or low. Once the controller triggers a set of solenoids in the 1053, it expects to see the two feedback signals change (-TWR CB RESPONSE and +TWR CRLFT INLK). 

-TWR CB RESPONSE should dip from +48V to ground for any print or operations cycle, except for the commands to change the ribbon use between black and red ink stripes. If my signals don't return to logical high then the controller believes the typewriter mechanism is stalled and won't continue. 

+TWR CRLFT INLK will rise from logic low to logic high with +12V delivered during the times that a carrier return, a line feed or a tab movement are underway. Due to the high resistors I used, it will never be seen as reaching the high state, nor will the other feedback signal. 

Its a fairly trivial rework of the MOSFET switch board. The new 470 ohm resistors will consume about 300 milliwatts of power if steadily on, for the three signals that switch between 12V and ground. The 48V signal, with a 470 ohm resistor, would consume 5W when the output needs to be at ground level. 

That only occurs during a cycle, when typing or moving, otherwise relatively little power required. During times of rapid typing the average power use will be about 2 1/4 Watts maximum, although if the typewriter mechanism stalls or jams it could jump up to the full 5W for some time. I will make use of a suitable high power resistor. 

FIXED THE FAILURE TO MOVE THE LINE DOWN DURING A CARRIER RETURN

I simply forgot to print the 0x10 character (new line) after the 0x13 (carrier return) in the emulator code. It was added and corrected the problem. 

BUILDING SMS ADAPTER HOUSING

I had built some SMS paddle card PCBs previously and realized that I could use one of them to create a female SMS socket to put onto my 1053 emulator in lieu of the male paddle card. What I needed was a housing to hold my male paddle card in place with room for another male card to be inserted parallel to the first. I would add some springy contacts soldered to the pads of the male paddle card, thus giving contact when the second male card is inserted into the housing.

I had to secure my own male card in the housing, so that we had a female socket with the combination of my male card and the housing. I fired up FreeCAD and designed a housing that could be 3D printed. 

On challenge using the adapters is that the way IBM built them, they reverse the pads from one side to the other. Pad A on one side is pad R on the other, pad B is pad Q, and so forth. This can be confusing when dealing with signals on the two paddle cards being joined.


Conquered 1053 rotate turnbuckle adjustment problems, wrapped up the printer

FINALLY GOT THE FINE ALIGNMENT DONE IN SPITE OF THE TURNBUCKLE

One of the earliest steps in the rotate alignment process is preliminary homing, where the typeball position is set approximately right. It involves accessing the carrier from underneath, with it sitting about 4/5 of the way to the left margin so that there is a hole through the mechanism underneath. A setscrew with a Bristol head is loosened, after which you turn the typeball from the top and then get back under to tighten the setscrew. 

Because the turnbuckle system was not converging on a good setting, I decided to use the preliminary method as my final alignment instead of trying to change the length of the rotate rod using the turnbuckle. It only took a couple of tries to get the detent entering the teeth of the typeball right where I wanted it.  

I also tweaked the tension adjustment for the string that activates the ribbon color shift, ensuring that it selects cleanly between the black (bottom) stripe and the red (top) stripe of the ribbon based on the solenoids that set the type color. 

PRINTER CONNECTED TO THE 1130 AND EXERCISED ONE LAST TIME

I plugged the printer into the VCF 1130 and used my short hand entered program to test out its operation. It selected all the characters properly and shifted colors well. Once I was happy with its behavior and its condition, it was ready to go. 

WRAPPED UP AND READY FOR PICKUP

I put on the case and wrapped it up in some padding as it will ride in the trunk of the museum manager who will come by to pick it up. I added a bit of cable lacing string to one lever that is otherwise a real pain to connect to the faceplate of the printer. 

The faceplate of the printer has the console entry switches on it, but the wiring does not have a connector that allows easy detachment from the 1130 system. Therefore, before bringing the printer to me, the System Source Museum unscrewed the faceplate and left it with the system in Maryland.

A small rod runs from the right rear of the machine, when viewed from the front, to attach to a lever on the faceplate. This sets or clears the tab stop at the carrier's current column position. There is not enough room to get hands or fingers inside when the faceplate is being attached - at least not to grab that rod and attach it. A ballet with forceps and other tools is about the best one can expect. Often the rod falls down and requires removal of the typewriter cover to recover from that state. 

However, I wrapped the lacing cord around the end of the rod, and taped it to the top of the printer top cover. That will allow whoever will reinstall the faceplate to hold the rod up and be able to get to it with pliers, forceps or whatever is needed. 

Ran SSM 1053 to stretch tilt/rotate tapes, making final adjustments

DECIDED TO HOOK THE 1053 TO AN 1130 TO CHECK IT OUT

I read some advice on Selectric repair forums that the metal bands that tilt and rotate the type ball tend to stretch a bit when first used under power, so I plugged the printer into the VCF 1130 instead of its own 1053. I used a quick hand entered program to type characters and commands, discovering that the tilt tape did stretch a bit from how it had been adjusted. 

NEEDED TO REALIGN THE TILT MECHANISM

The result was that the tilt position being selected is now one row off - a character in tilt 3 row would instead type the character at the same rotation but in tilt row 2.  This required a quick removal of the cover and a readjustment of the tilt alignment to restore the printer to correct selection. I also saw that the rotate positions, which I had carefully set during my earlier alignment, had gone amok. 

ROTATE ALIGNMENT - ARRGGGGGHHHH

I whipped through the rotate adjustments, up to the the last step which is to complete a fine adjustment of the rotation position just as the print cycle begins to activate the detent to hold the ball in place. This is seemingly easy, at least on paper, but was maddening today.

There is a rod that comes from the selection mechanism, pushed or pulled to the eleven positions of rotation. It attaches to the bottom of a lever on the left side of the machine that has the rotate tape pulley on its top. The rod is built with two threaded pieces and a turnbuckle that joins them. The screw threads are in opposite directions on the two pieces, thus the turnbuckle shortens or lengthens the rod.

I had the machine dialed in perfectly, selecting every rotation column correctly, good on both hemispheres. The last step is to adjust that rod so that the detent enters the typeball teeth at about halfway down the right slope if viewing the teeth from the back of the machine. You select a character and hand crank the machine halfway through a print cycle, so that the detent is engaged in the typeball. 

You then hold clockwise pressure on the typeball and withdraw the detent, to see where the detent meets the right slope. Adjusting the turnbuckle should move the point of contact right or left. The turnbuckle has two nuts holding it in place, one screwed against each side of the turnbuckle. Loosen the nuts, turn the turnbuckle, watch the detent position and tighten when correct.

In theory.

Each time I adjusted the turnbuckle to achieve a good positioning of the detent into the teeth, I would carefully tighten the nuts against the turnbuckle. When I check after this, the positioning is way off - the detent comes down right on the bottom of the tooth, in between two columns. 

I did this many times. I tried experiments with the order of tightening the nuts. I tried to anticipate the effect of the nuts on the rod. Failure after failure. The machine seems to return to the same bad positioning regardless of how I set the rod length with the turnbuckle, at least once I tighten the nuts ever so gently. 

The urge to superglue the turnbuckle in its correct place without the nuts tightened is a challenge hard to resist, because the next time the printer needs service or adjustment the turnbuckle will need to turn once again. 

RIBBON COLOR CABLE TENSION ADJUSTED

The printer supports dual color typing, with a cable that is tensioned by a pair of solenoids to select between two levels of pull, transferring that tension to a lever inside the carriage that controls the amount that the ribbon lifts during a print cycle - either to the red or the black stripe of the ribbon. Another easy adjustment. 


Tuesday, May 19, 2026

Finished work on System Source Museum 1053 console printer

TEDIUM PAYS OFF EVENTUALLY - THE TYPEWRITER WORKS WELL

After I exited the loop of adjustments when all character positions were selecting properly in both upper and lower case hemispheres of the type element, I had just one final area to tune up. The 1053 has microswitches at key points in the mechanism to provide feedback to the controller logic inside the IBM 1130 system. These have to be set to fairly exacting points of the mechanical movement, otherwise the controller might start another character print or movement when the typewriter is not in a good position to accommodate it. 

One set are meant to protect the typewriter during 'long' operations. These are movements that take a variable amount of time to complete and are much longer than a single print or shift cycle. For instance, the time for a Tab movement to finish depends on which column we start from and how far away is the next column with a tab set. Similarly, carrier return time depends on how far to the right we were when it is started. 

The other inform the controller when the rotation of the mechanism is at a sensitive point where further commands shouldn't be attempted and then when the mechanism reaches a point where it could again accept requests. Typing a single character involves starting the print cycle from a standing start, moving the type ball and then coming to a stop. 

It is possible to stream an additional character before the print cycle stops, so that the clutch never stops it. The mechanism just continues around in another cycle. This allows the typewriter to reach its maximum speed of just over 15 characters per second, as it is considerably slower if it has to start and stop for each printed character. 

Shifting between upper and lower hemispheres consumes one print cycle, so the actual max printing speed also depends on the specific characters being typed - at worst case it will only print a bit less than 8 characters a second (if a shift is needed between each character). 

I was finally satisfied with its behavior and performance. I put the covers back on and wrapped it up, ready to be brought back to Maryland and enjoyed by museum visitors. 

PRINTER ADJUSTMENTS ARE FINALIZED, READY TO SEND THE UNIT BACK

I was happy to call them and let them know the console printer is ready for pickup. They can get their 1130 back in operation soon. The pickup is this Friday. 

ALSO LOANING A 1053 SIMULATOR FOR TIMES WHEN THE PRINTER FAILS

I designed and built a simulator that plugs into the IBM 1130 and replaces the connections to the 1053 console printer. It delivers the output of the printer over a USB serial link to a terminal or computer where the same results will be seen as would be printed on paper by the printer. 

It provides the same ability to set tab positions, left and right margins, offers a display of the current print column along the line, offers the same return, tab and space buttons for manual interaction, and displays the full character set in both red and black ink. 

It had been initially built with relay boards driven by an Arduino Mega 2560 to provide the feedback signals to the 1130, but the performance of the relays was not sufficient to meet the signal timing produced by the I/O Selectric printer mechanism. With each print cycle taking about 65 milliseconds, the -TWR CB RESPONSE signal would need to drop from 48V to 0 at 7.22 ms into the cycle and return back to 48V by the 43 ms point. 

The relay boards I initially used require up to 15ms to turn on and up to 10ms to turn off. That would have delayed the signal above until 22 ms into the print cycle, way past the safe point where further commands could be issued. Further, it would remain off until 53 ms. Generally these are acceptable for switching rates up to 10 per second, but the 1053 can exceed 15 cycles per second. 

Due to the high speed requirements, I whipped up a small board with four MOSFET switches to instead drive the feedback signals - due to their 12V and 48V levels the Arduino can't directly drive them. A quick check on the breadboard verified the suitability, with the IRF520N transistors I had in the shop turning on and off in mere nanoseconds, approximately a million times faster than the relays could operate. 

The 1053 has two SMS paddle cards that plug into the signal SMS connector block of the 1130 and one SMS power paddle card that plugs into the power SMS block. These are swapped with the cards from my simulator to make use of the simulator instead of the physical typewriter. 

I am loaning the 1053 simulator for an indefinite period to allow the System Source Museum to demonstrate their IBM 1130 even when the console printer, the most trouble-prone part of the system, is inoperative. This also saves on paper use since the paper forms needed for the 1053 have to be custom manufactured and thus are expensive. 

Diagnosed failure point of Calcomp 565 plotter carriage stepper circuit

SINGLE POINT OF FAILURE MUST BE SHORTED TRANSISTOR

The symptoms were that the ring counter was not advancing in either direction. That implied a single failed component must cause this since different parts were involved in moving based on the direction. 

The ring counter has three stages, each driving one coil of a stepper motor. The design is such that only one of the three stages has its output conducting at any time. A request to shift the ring counter comes in through two paths, one to shift to the right and the other to shift to the left. 

If we imagine that the ring counter is currently operating with the first stage active, then a shift right pulse will be passed only to the trigger transistor of the second stage. A shift left pulse is passed only to the trigger transistor of the stage 3. 

The one stage that is conducting permits the shift pulse to be passed to the next stage. When a pulse turns on the next stage, the voltage at the conducting transistor forces the other two stages to turn off. 

I verified that the output transistor for stage 1 was conducting and that it was passing the shift right pulse to the trigger transistor of stage 2. However, stage 2 did not switch on, there was only a very short blip. Further, since it did not switch on, stage 1 was not forced to turn off. That might look as if it could be caused by a bad trigger transistor for stage 2, except that the same failure occurs with a shift left pulse which involves a completely different stage and trigger transistor. 

If, however, the germanium PNP output transistor of stage 1, a 2n392, had failed in a short circuit then it would effectively be conducting at all times. Initially it would direct the shift pulses to stage 2 or stage 3 trigger transistors, but would continue to conduct which would immediately force those other stages back off. 

REMOVED THE SUSPECT TRANSISTOR - STEPPER NOW MOVING PARTIALLY

I pulled the transistor off the board. That would allow the trigger to move the ring counter to stage 2 or stage 3 depending on whether we selected Carriage Right or Carriage Left, but it would not be able to move back to stage 1. It was enough to verify that a permanently conducting (effectively shorted) transistor was causing the symptoms.

TRIED TO MOVE SAME TRANSISTOR TYPE FROM PEN UP/DOWN CIRCUIT - ALSO BAD

The flip flop circuit that drives the pen solenoid is triggered by Pen Up and Pen Down commands, which should alternate turning the solenoid on and off. I get good trigger signals when the switch is moved but their is no change in the output transistor.

Since it was the same type of transistor (2N392), I pulled it to see if it was good and might temporarily give me a working carriage stepper. Alas, it too was stuck on, both in the pen solenoid circuit and therefore for stage 1 of the carriage ring counter when I moved the transistor there. Ordered another 2N392 from eBay. 


Monday, May 18, 2026

Adjusting System Source Museum 1053 console printer (typewriter)

ADJUSTING THE MACHINE TO CORRECTLY SELECT CHARACTERS FOR PRINTING

There are two aspects to adjusting the Selectric mechanism correctly for printing characters - tension on the two metal tapes and timing. The metal tape bands pull on components inside the carrier to twist the typeball to a specific column and to tilt the ball up or down to a specific row. The ball is locked into position at a defined time as it is pivoted forward to strike the ribbon, which must be related to when the tape tension is changed and when it must hold steady. 

A print cycle is the process that begins by moving the selection levers and ends when the typeball returns back to rest position after having struck a character on the paper. The selection levers are pulled down at the early part of the print cycle, which apply differing amounts of tilt to the levers that the metal tape bands run around. Tilting the lever further from the side of the frame will add tension to to the tape band that runs over the pulley, while tilting it inward will release tension. 

Thus, the lever and pulley that the rotate tape runs over will move up to five steps outward and five steps inward to select among eleven levels of tension on the rotate metal tape. The coil spring under the typeball resists the rotate tape tension, so that relieving a bit of tension will allow the spring to turn the ball one way, while adding tension turns the ball the other direction. 

The lever and pulley that the tilt tape runs over can move up to three steps outward from the frame, selecting among four levels of tension. A spring resists the tension of the tilt metal tape, but when the tension increases the cam that the spring pulls on will turn stretching the spring. This is transmitted to a gear that tilts the typeball to its row (tilt) positions. 

It takes a bit of time in the print cycle for the selection levers to be fully set and thus the tension on the two metal tape bands is changing during that time. Once the levers have settled to their full positions, the tape tensions should be static. At this point, a detent lever is lowered into the notches on the bottom of the typeball. This forces the ball to a more exact alignment of the column of type above and holds the ball steady while it is striking the ribbon to produce a character. 

The lever must NOT detent until the two tapes have stopped moving, otherwise the change in tension of the tape no longer produces movement of the ball, instead putting stress on the metal. They can fatigue and eventually break if the tape tension changes when the ball cannot move. Similarly, if the typeball is twisted by hand when the tapes are not changing tension, it can put stress on the tape and lead to fatigue failure. 

As well, after the ball has struck the ribbon but before it returns to rest position, the selection levers begin to restore to their idle position and the two metal bands change tension back to their rest states. The detent lever MUST be removed from the typeball before the tape tension changes, otherwise we again can strain the tapes leading to failure. 

The adjustments for timing must ensure that the detent lever is in the notches of the typeball only when the tape tension is not changing. It must enter before the ball hits the ribbon and it must disengage before the selection levers begin restoring. 
 
The adjustments for selecting the correct character must ensure that when the selection levers pick among the 11 column and 4 row positions, the ball turns to the intended row and column. Detents in the typeball notch (and underneath on the tilt mechanism) will adjust for minor misalignments and hold the ball steady during that midpoint of the print cycle. 

Ideally the ball is perfectly aligned for all of the tilt and rotate targets, but real world variations exist in the parts. Thus, the detent levers make fine adjustments - the more they have to adjust, the more strain on the tapes so we want to be as close as we can to perfect. 

One addition factor complicates things. The shift mechanism selects from one of two hemispheres of the typeball. On a typewriter, these are upper and lower case characters, but on the typeball with the IBM 1130 there are only upper case letters. Instead, it is numerals and special characters that exist only one one side or the other. 

The shift mechanism has its own lever and pulley on the right frame of the typewriter. It can pull the rotate metal tape band to add enough tension to spin the typeball 180 degrees. This is in addition to the tension adjustments performed by the rotate lever on the left frame. Ideally this is exactly 180 degrees but in the real world it is not. Thus, we have to check for the alignment of the typeball for the eleven rotate columns on both sides of the typeball. 

A given column might be exactly right on the 'lower case' side but off a bit on the 'upper case' side, due to variations. We want to find the best adjustments of everything to minimize the error in positioning for all 88 characters, two hemispheres by four rows by eleven columns of shift, tile and rotate. 

These adjustments are interrelated and take quite a bit of time to dial in to a suitable accuracy. This involves hand cycling the print cycle, adjusting gear positions to time the detent lever movements, and changing lever points and rod lengths until the row and column positioning of the typeball JUST BEFORE detent engagement are as spot on as possible. 

LOOPING THROUGH ADJUSTMENTS - EACH ONE AFFECTS THE OTHERS!

The adjustment instructions give a sequence of parts to check and adjust, as if it were a linear process that results in a perfectly working machine when you finish the last step. If only that were true, I would have been done several hours ago.

Instead, each adjustment may shift the parts involved in prior adjustments, so that they are no longer set to the desired position. One needs to iterate through the adjustments, hopefully so that the deviations shrink over time and the results are 'good enough' when you hit the last step once again. 

Sunday, May 17, 2026

Replaced rotate and tilt tapes on System Source Museum 1053 console

CONSOLE PRINTER FROM SSM'S 1130 BROKE ITS TAPES

I received the console printer (1053, a Selectric mechanism driven by the computer) as the rotate and tilt tapes had broken when it was being used at their museum. I have new tapes which I am installing before adjusting the typewriter for proper typing behavior. 

INSTALLING THE ROTATE TAPE

This metal band will cause the typeball to spin, selecting which hemisphere (upper or lower case side) as well as which of the eleven columns on a side is to be printed. It is anchored to the moving carrier on the right side, runs through the frame on the right around a pulley on a lever arm, then passes underneath the carrier to the left side of the frame where it again passes over a pulley before it enters the carrier on the left side. 

We begin by inserting an eyehook on one side of the tape into the right of the carrier where a vertical screw holds it in place. The tape is threaded back and forth until it is ready to be inserted in the left side of the carrier. 

The rotate tape is wound around a drum which has spring tension keeping the metal band taut. As the pulley on the left side moves it selects one of the eleven columns, and the lever on the right chooses one hemisphere or the other. 

The typeball is rotated by hand four turns plus a bit to wind up the spring of the drum. The other end of the rotate tape has a T shaped end which is placed into a slot on the drum. The drum is then allowed to turn, releasing spring tension and pulling on the rotate tape until all slack is removed from the tape. 

Sounds easy? It isn't. You need one hand carefully maintaining tension at all times on the tape, a second hand to hold the typeball and turn it gently, and a third hand to release and reactivate the detent. The tape tries very hard to jump off the drum it is winding on, instead wrapping around the axle. 

INSTALLING THE TILT TAPE

The tilt tape also has an eyehook end which is attached to the same screw that holds the rotate tape on the right side of the carrier. It is all too easy to have the rotate tape eyehook slip off while you are trying to add the tilt tape eyehook. The tape is then routed over a pulley on the right side of the frame, back under the carrier to the left side of the frame where it goes over a pulley on a lever that can move to select one of four rows of type around the typeball from top to bottom. 

The other end of the tilt tape has an eyehook which passes into the left side of the carrier and is placed into a plastic rotary piece that is linked to the tilt gear of the typeball. That rotary piece is pulled by a spring, with the tilt tape pulled taut. As the lever on the left side moves outward, it pulls the rotary piece around against the spring tension to tilt the typeball to the chosen row of characters. 

This tape is less challenging to install, but does still need three hands or more at certain points in the process. Threading it below the carrier was the hardest part but eventually I had to routed over the tilt actuating lever and back into the carrier for attachment to the pully for the tilt gear. 

Debugging failure of carriage to move on Calcomp 565 plotter

SYMPTOMS OBSERVED

Operation of the manual carriage control to move the motor left or right had no effect. The same was true when the controller card in the 1130 sent a pulse to shift the carriage right or left. The first coil of the motor was always energized, the other two were not, and thus the motor held its position. The fast step manual switch for right or left carriage also did nothing. 

OVERVIEW OF CIRCUIT

The stepper motor that moves the carriage left or right has three coils, one of which is always energized and the other two off. By changing which of the three is energized, the motor moves one step in the direction of the new energized coil. The three coils are drive by a ring counter that moves between three states in both directions, based on a pulse to shift either to the right or two the left. 

One-shots generate a pulse and debounce the triggers to shift the ring counter left or right. The one-shot can be triggered by the manual control switches on the plotter or by a pulse on the interface from the computer to the plotter. 

The connection of the one-shots for right and left to the ring counter right and left shift inputs is routed through limit switches on the ends of the carriage. If the switch is depressed by the presence of the carrier at that extreme, any pulse to move further in that direction is blocked from the ring counter. 

CHECKING LIMIT SWITCHES

The contacts in the limit switch must be conducting in order for the pulses to get to the ring counter and shift it. I checked the conductivity of the switch using an ohmmeter. The contacts might have tarnished with age, growing a non-conducting layer. This can be fixed with contact cleaner and a burnishing tool. Fortunately, these were in good condition with very low resistance. 

CHECKING ONE SHOT OUTPUTS

The two one-shots, left and right, can be triggered by the manual control for that direction or by the interface input for that direction. The one-shot is a cross coupled set of transistors with an RC constant that holds the second transistor on for a fixed interval then returns the pair to the stable state where only the left transistor is conducting. 

I checked the voltages on the two transistors to verify first that they were set in the stable state with the left one on. I then used the manual control, watching the pulse and the right transistor to see that it turned on, cutting off the left. Finally, I watched the state revert to the left transistor on after the RC interval of about 1500 microseconds. 

The one-shots were producing perfect 1500 us pulses, however the ring counter wasn't moving. There are separate circuits for carriage left and carriage right movements, feeding a shift left and a shift right signal to the ring counter. Both sides worked, both for the manual movement switches and for computer interface commands.

CHECKING RING COUNTER OPERATION

The ring counter was initially sitting with the first stage active, energizing current through coil 1 of the stepper motor. Triggering a shift right pulse from the right one-shot, I watched to see if the transistors in the middle stage activated from the pulse. The middle coil should now be energized, with the other two stages cut off. Similarly, with the ring counter sitting with the first stage active, a left shift pulse from the left one-shot should activate the transistors in the third stage and energize that coil, cutting off the first and second stages. 

The counter never moved, with either type of shift request. On the correctly working drum movement side, the circuit feeding the second coil would snap on crisply and cut off the original coil. On the carriage ring counter, I saw a very short pulse as an attempt to turn on the transistor but nothing changed. 

The circuit uses older germanium transistors; the transistor that did not turn on is a 2N1304 type. To all appearances the transistor is bad, since the diodes and voltage levels around the circuit all seem to be good. However, I am suspicious since the counter does not shift in either direction. It we had a failed transistor for coil 2, that would fail to shift in one direction but going in the other should successfully activate coil 3. 

I will have to study the schematic and look for all the possible single points of failure that would block this from advancing in both directions. If it is one of the germanium transistors, I should be able to find them or a close substitute at worst case. 

ADDITIONAL MISSING PART IDENTIFIED

I began to string the the cables that pull the carriage left and right across the width of the drum, when I realized that I am missing the spring that provides the tension for the cables. There are two, attached the each side of the carriage and then routed through pulleys to the mechanisms inside the case. 

The cables also carry the 24V power to activate the pen solenoid on top of the carriage. Portions of the cable are in a plastic sleeve, providing insulation, with the back portions left as plain wire. The two pulleys on the rear are thus insulated from the machine chassis, used to connect the solenoid voltage to each cable. The two cables not only meet at the carriage, they also meet at the rear of the plotter where they are hooked to a spring (using insulated eyelets on the end). 

Those two eyelets are connected to the ends of a spring, which pulls the cables taut and maintains tension while the pair move the carriage. A round hub on a stepper motor is what moves one of the cables, the spring and other side the carriage moving the other cable in concert. 

Friends at a museum with an 1130 are going to measure the spring, both size and its reaction to a pull. With that information I can find a suitable replacement that will fit into the rear of the plotter and provide the intended tension. 

Saturday, May 16, 2026

Restoring a Calcomp 565 plotter for use with my IBM 1130 system

SOMEONE DONATED THIS PLOTTER TO ME - IT WAS IN SAD SHAPE

The plotter had been damaged when something in a moving truck fell down and dented the drum of the plotter fairly severely. In addition, the prior owner had disassembled it for unknown reasons and it was given to me as a pile of parts and a partially disassembled jumble. It was also missing the solenoid that holds the pens. 

FRIEND OFFERED TO STRAIGHTEN THE DRUM BUT RESULTS WERE NOT GREAT

I got the drum back with the dent hammered out but the drum was out of round, with dips and bulges since the aluminum had stretched during the dent repair. It is not good enough to draw graphs on. It sat in the shop for a long time waiting for some inspiration on how to repair it.

Some years ago, a reader of my blog offered to 3D print a drum but that trailed off to nowhere. Again, I waited for inspiration. I have not yet developed a high confidence plan for a replacement.

Part of the issue is that the left and right sides of the drum have pins that mate with pin feed paper, so that the drum will pull the paper up or down as it rotates. Even if I found a source to make or buy a hollow aluminum drum of the right dimensions, I would have to recreate the pins. 

MADE USE OF THE PLOTTER TO TEST MY CONTROLLER CARD FOR THE 1130

As part of the successful project to build a card and connectors to upgrade an 1130 to add support for an IBM 1627, which is a relabeled Calcomp 565 or 563 sold by IBM, I partially restored the plotter to verify that a plotter would be controlled by my card. 

It took several hours to carefully assemble the parts sufficient to attempt the testing. I had first tested the power supply and found it working properly. I then used the manual controls on the plotter to test out movement of the drum (up and down), the carriage (left or right) and the solenoid to lower the pen onto the paper. 

SOME PARTS OF THE PLOTTER ARE NOT WORKING CORRECTLY

3I discovered that the carriage movement circuitry is not working properly. Neither the manual controls nor pulses from a bench test setup nor from the 1130 controller card would cause the stepper motor to move. The power transistors for the stepper motor remained holding just one coil active, ignoring any attempt to change the ring counter to select an adjacent coil. This will need to be debugged. 

The chart paper motors, which keep tension on the rolls of chart paper that is moving through the drum, did not move. They are both physically frozen in place - I suspect congealed lubricants are the cause.

I have to restring the cables for the carriage movement, although I also need the stepper motor working for this to matter. With that in place and once the stepper is working, I can check for solenoid power with the pen raise and pen lower commands. I am assuming this circuitry works properly but it has not been tested.

MISSING SOME PARTS

I was missing the 5/16-32 panel nut that holds the power on/off switch onto the panel. It is hard to find that size nut, as the retailing world seems to be concentrating on 3/8" and metric nuts. There are also quite a few screws missing from the pile I received, a mix of 4-40 and 6-32 sizes. I will fill in all the missing locations when I replenish my screw stock. 

BUILDING A PEN SOLENOID REPLACEMENT

The plotter has a pen holder with a solenoid inside that is attached to the top of the carriage. It will lower a pen onto the paper or lift it off. The holder from Calcomp had several attachments for different types of pen inserts. 

I came across a Calcomp holder and solenoid that was used for a cutter instead of a pen. It sat on the same plotter mechanism but was used to cut plastic, paper or fabric. Since its shape and functionality is identical to the pen version, other than having a cutter instead of a pen insert, it should be easy for me to work out a way to put a pen in the holder. 

NEXT UP - LOOK INTO THE ISSUE WITH THE CARRIAGE STEPPER MOTOR

When I have time in the workshop, in between higher priority projects or tasks, I will dive into the logic and figure out why the carriage is not moving with manual or interface commands. At the same time I will do a quick check to see if the flipflop for pen lower/raise is working and if the circuit is driving voltage when the solenoid should be activating. 

Testing with a Calcomp 535 - part 2

MEASURING -34 VOLTS IS OKAY WHEN THE SUPPLY IS UNCONNECTED

Two factors contribute to a higher unloaded voltage observed on the -24V rail. First, the nominal AC mains voltage was bumped up from 115V to 120V at some point after the plotter was designed. Second, voltage drop takes place in the transformer secondary windings when it is under load that reduces the output voltage compared to the very high impedance of an unloaded measurement. 

MOVING FORWARD TO TESTING

I tested the logic boards to be sure that there were no short circuits that might damage the power supply rails. After this point, I felt comfortable that the worst I would be facing is incorrect behavior, not dramatic failure. I hooked up the logic board to the power supply, controls and stepper motors, again checking for unexpected short circuits. 

There are two ring counters in the plotter - one for the pen carriage moving left or right, the other for the drum to roll up or down. These drive current through one of three pairs of coils in a stepper motor, with the active coil pair moving each time we shift the ring counter. 

The final circuit is a flipflop for pen up versus pen down on the paper. A falling edge on one side sets the flipflop to 'pen down', a falling edge on the other changes the flipflop to 'pen up'. This either energizes the solenoid in the pen or turns it off to allow the pen to move back under spring tension. 

My first tests used the manual controls on the plotter. This verifies that the motors move one step in each direction and that the ring counters are functional. It is a fairly good test of the plotter circuitry. The circuit for the drum movements worked perfectly, single stepping and then moving 120 steps per second with the fast mode manual control. The carriage left or right controls did nothing - no single step, no fast movement. 

There is something wrong with the plotter concerning the carriage movements. I don't have the plotter assembled enough to power the solenoid since its power travels through the cables which pull the carriage left or right and those are not connected yet. Thus all I can test with the plotter in its current condition is whether the controller card can move the drum up or down one step in response to an XIO Write. 

TESTING THE INPUTS FROM THE 1130

Then I used my bench testing setup to try to make the steppers work with triggers from my breadboard device. The circuitry looks for a falling edge on the control inputs to advance a ring counter in one direction or another - the outputs of the ring counter are fed to the poles of the stepper motor, so that one step of the ring counter causes one increment of rotation on the motor.  

The bench setup uses pullup resistors to 12V and a pushbutton to drop each of two lines to ground when I activate the button. My scope could show me the state of the ring counter which would let me verify that it moves one step in each direction on command.  Alternately a voltmeter on the collector of the driver transistor for each of the three coils will show two at -24V and one at ground, shifting which is grounded as the ring counter advances. 

Indeed, the button press resulted in a one step movement in the direction I requested, exactly the same as the manual control on the plotter. Since this mirrors how my controller card drives the plotter, I fully expected the final testing on the 1130 to succeed too. It was time to connect to the 1130 and try it out. 

TESTING WITH THE IBM 1130 SYSTEM

I hand toggled some commands into the 1130 system so that I could execute XIO Write and XIO Sense Device commands. The goal was to mirror the tests from the bench. 

I coded an XIO Write with the data word set to request an up movement, followed by an XIO Sense Device and then a wait instruction. I should see the status with bits 14 and 15 set in the accumulator register (ACC). The 1130 should have taken a step into the interrupt handler for level 3, which I set up with a wait instruction. The stepper motor should have moved one step. 

I then have an XIO Sense Device followed by another wait instruction. This is in the interrupt handler code. I should see bits 0 and 15 in the accumulator, since the movement is complete. The next instruction is an XIO Sense Device with Reset bit 15 followed by a branch out of the interrupt handler. I should return to a wait instruction following the original XIO Write and Sense Device code. 

I can update the data word and do the above a second time, so that it is now requesting to turn the drum down. This too worked properly. I set up a loop so that my program issued drum movement commands as fast as the prior one completed and we returned from the interrupt handler. The drum moved rapidly, even faster than the manual fast mode control. 

Ultimately, I powered off the Calcomp to test its behavior in that mode. When I issue the XIO Sense Device I should see that no bits are on. Doing an XIO Write to request an up movement should turn on the interrupt request but an XIO Sense Device will show only bit 0 turned on indicating that the movement completed but the plotter is not ready. 

That is exactly how it behaved. Everything I could test was working exactly as it should. 


Project to support a 1627 plotter on an IBM 1130 is a success!

FULLY SATISFIED WITH THE FUNCTIONALITY

All the testing proved out the card and connectors do exactly what the original IBM parts would do. This is a full substitute for the 5806223 card and various connectors that are installed in an IBM 1130 when IBM configured the machine to support the 1627 plotter. 

GITHUB UPDATED, PROJECT CONSIDERED COMPLETE

I made sure that the Github files for this project are up to date, with a correct bill of materials, FPGA code, PCB design files and other documents. I also shared the board on PCBWay.com so that others could order it directly from them. 

The goal of this project is to allow other IBM 1130 owners to be able to build and use this card in order to connect an IBM 1627 or Calcomp 565/563 plotter and have it draw graphs from programs, just as they would function in a machine with the original IBM 5806223 controller card installed and the 1130 configured by IBM to attach a 1627. 

Thursday, May 14, 2026

Testing with a Calcomp 535 (equivalent of IBM 1627 model 1) - part 1

I WANTED TO USE A PLOTTER FOR A FINAL CHECK OF THE PROJECT

I am restoring a Calcomp 565 plotter and it is currently disassembled because the physical plotter drum is dented and unusable. However, I can connect to it and power up the circuitry to see how it responds. The stepper motors should move if it is responding to the -up or -left commands. I should see voltage to the solenoid that will raise or lower the pen - turned on when the pen is lowered and turned off when a -raise command has executed. I can also verify that it delivers the -24V to the 1130 when the power switch is turned on. 

CABLING WORK

I was not satisfied with the quality of the SLT connector mainly due to issues with the crimp pins particularly with a few wires that were larger (but had unique colors like orange and purple). In the end, I rebuilt the connector and fidgeted with the pins as some of them were not locking into place in the connector as they should have. 

I also discovered all the ways to assemble the Cannon 19 pin connector incorrectly - one at a time - but eventually got the threads, cover, access plate, strain plate and other parts over in the proper sequence over the wiring. In other words, the cable work took surprisingly long.

I finished wiring my cable to the 19 pin connector that plugs into the plotter. Four wires from the connector run to an SMS paddle card that will plug into the IBM 1130's power block, delivering 115VAC and connecting to the signal ground of the computer. The other wires run to the SLT connector plugged into slot N5 of compartment C1 of gate A of the system. I also included the 3.9K resistor that IBM installs on the signal SMS paddle card, since I skipped the signal paddle cards for this installation. The resistor is inline in the Cannon connector now, thus making the equivalent connection from the plotter to my controller card as would occur with the IBM paddle card scheme. 

My cabling between plotter and the 1130
Controller card and connector in place

MAKING SURE THE PLOTTER WILL POWER UP AND WORK (ELECTRICALLY)

Since I haven't powered this up since I received it years ago, I needed to approach it as a restoration to get all the electrical/electronic aspects working. Then the stepper motors have to be able to move when the circuitry commands it.

First up was the power supply, which I had to get working properly before hooking it to the logic and other circuitry. This supply produces -24V, -9V, -7.5V, +1.5V and +3V all from a single bridge rectifier, using diodes in a voltage divider plus one Zener diode to produce all the individual levels, with ground sitting 3V out from one end of the 27V span out of the rectifier. Not too much to go wrong, but had to be checked. 

The -24V output was sitting at -34V, but that may be because there is no load with the power supply disconnected from the logic board and other components. There is also the reality that line voltage in the US is noticeably higher than the nominal 115V that the equipment was designed to use. 

At this point, I noticed that the diagrams that I had printed, from the IBM 1627 version of the plotter manual, had components whose numbering was changed compared to the Calcomp manual; most importantly, the component numbers on the actual plotter matched the Calcomp manual. IBM chose to drop some diagrams from their version of the manual, but I needed those diagrams to do the detailed testing I had planned.

I will print all the diagrams from the Calcomp manual when I get home tonight, so that I can finish up my testing of the plotter power supply and move on to the other components. 

Monday, May 11, 2026

Testing the plotter controller card in the IBM 1130, without a plotter hooked up - part 2

ANSWER TO THE BIT 15 MISBEHAVIOR

With the card out of the machine, I checked the pins on the backplane at slot M4 to check for shorts or unusual connections of the pin B05 that drops to 0V during an XIO Sense Device if pin B08 does not have -24V connected through a 3.9K resistor. 

I checked the card as well, testing the connections between the FPGA board, the inverter gate and the output pin. I also looked for shorts to adjacent pins. I then plugged the card into the 1130 at M4 and M5, then tested whether B05 is now shorted to B04 or B06, the likely issue if a mechanical short exists inside my connector. 

The first issue I observed with the card was that the contact seemed a bit mis-shaped. I swapped a better contact and resumed testing. I discovered that with the -24V applied, bit 15 would turn on, the opposite of what should occur. That was a simple fix to apply to my Verilog code. 

CONTINUING TESTING IN THE 1130

I had to wire up a -24V source to the 3.9K resistor on the cable in order for the controller to see the plotter as ready for commands. If that voltage isn't present, the machine sets bit 15 of the Device Status Word (DSW) to 1 and simply presents an immediate interrupt with operation completion without attempting any control of the plotter. 

I switched on the Interrupt Delay switch under the top cover of the 1130. This blocks the machine from jumping into an interrupt handler even though interrupt requests may be present. This made the testing more straightforward. 

A short program that I hand toggled into memory fired off XIO Write commands to trigger the different movements - Drum Up, Drum Down, Carriage Left, Carriage Right, Pen Raised and Pen Lowered. It could be stepped in single instruction mode to watch the interrupt level 3 request (IL3), then to look at the outputs of XIO Sense Device. 

I hooked up the scope to the output pins on the backplane of the 1130 where the plotter outputs exit the card. What I was looking for was a 12V output steady state while idle and then a 1.9ms or 50ms dip to ground when the pen movement or pen lift/lower commands were issued. The machine should also trigger an interrupt on level 3 and respond appropriately to XIO Sense Device commands. 

I also watched the interrupt level 3 request pin to verify that timing from the issuance of the XIO Write and the assertion of the interrupt request. This too passed correctly. Redoing this with -24V off showed virtually zero delay between the XIO Write and the interrupt request. 

I verified that the interrupt was requested on level 3 after a command was issued. The DSW status bits were correct after the command - Bit 0 on indicating plotter response and bit 15 off showing that -24V is present from the plotter. Turning off -24V and repeating, I saw Bit 0 and Bit 15 both set. These were the expected results. 

Running a program that issues the XIO Write and immediately performed an XIO Sense Device and stops at a Halt instruction allowed me to see if the busy bit 14 would be turned on in the DSW while the controller was active, without having to code an interrupt handler routine to run under level 3. The busy bit was set. 

The hardest test to perform was to verify if bit 14 of the device status would be turned on while the card was actively requesting a movement command and for the succeeding duration where the plotter is expected to be busy completing the task. The easier to detect was the pen raise or pen lower commands, as these should be busy for 100 milliseconds. This too was correct. 

Everything worked perfectly now. I checked the timing of when the interrupt is requested compared to the length of the plotter drive signal and that was spot on as well. I checked all six movement commands just to be certain. The card now operates exactly as the IBM built 5806223 card does, with the same signal timing, levels and behaviors. 

Purple trace is pen movement (1.9ms), yellow is Int L3 Req

USING USB SERIAL LINK TO CAPTURE MOVEMENT COMMANDS FROM CARD

The CMOD S7 daughtercard has a USB connector that can be used for both loading the FPGA configuration information onto the board and for serial communications with an external device such as a PC. It runs at 38,400 baud and emits a short line with six ASCII characters, either 0 or 1, based on the first six bits of the data word written by the XIO Write instruction. Each line is followed by a newline and a carrier return character. 

In order to protect the power supply on my controller card when the USB cable is being used for this purpose, we have to disable having the USB power drive the card; only the 12V from the 1130 into my card will power up the CMOD S7 board. There is a diode (D17) on the CMOD S7 board that connects the +5V from the USB port to the remainder of the board's power circuitry. Opening this connection ensures that the USB cable won't feed any power into the CMOD board or the rest of my controller card.

Diode D17 is circled in red

 From the point that you remove the diode, the way you can flash new code into the FPGA configuration memory device is to apply 12V to pin G02 of the card, ground to D08 and J08, then plug in the USB cable and use Vivado as usual. The card must be out of the IBM 1130, of course. 

INSTALLING A CABLE FROM SLOT N5 TO THE PLOTTER CONNECTOR

I built a cable with SLT connector to fit into slot N5 of the same compartment. That brings out the six signals that drive the plotter - pen left, pen right, drum up, drum down, raise pen and lower pen. This cable also carries the signal ground and brings the -24 supply from the plotter, through a 3.9K resistor, to be sensed by the controller card to determine that the plotter is attached and powered on. 

In order to exhaustively prove out the card, I had to verify that what it emits over the cable to the 1627 Plotter is sufficient to cause it to move the drum up/down, move the pen left/right, and raise or drop the pen onto the surface. The cable needed to be completed that took the signals from Gate A, Compartment C1, Slot N5 and out to the plotter. 

The IBM approach connected a bundle of wires from the SLT connector in Slot N5 and routed them to the Standard Modular System (SMS) connector PF6 inside the 1130. An SMS paddle card inserted into PF6 is wired to the cable that ends in a 19 pin connector (Cannon SK19-23C) which plugs into the plotter. A few wires from the 19 pin connector are hooked to an SMS power paddle card that plugs into SMS connector PP6 inside the 1130, primarily to provide 115VAC to the plotter. 

An alternate approach wires an SLT connector from slot N5 out to the 19 pin connector, with only the SMS power paddle card plugged into the original PP6 slot of the 1130. I chose this first as a faster implementation in order to complete some plotter testing. 

Sunday, May 10, 2026

Testing the plotter controller card in the IBM 1130, without a plotter hooked up - part 1

TESTING IN THE 1130

Since it did everything properly on the bench setup, it was time to verify that it works correctly with the IBM 1130 while inserted into the logic compartment. The newly constructed card was inserted again into slots M4 and M5 in compartment A-C1 of the 1130 system, which is set up for the IBM card that controls the plotter. 

I did basic verification that the slots were indeed wired up to N5 where the connection to the plotter exits the backplane. I then set up some simple tests to see how it behaved without the -24 volts from the plotter applied to pin B08.

It should produce a Device Status Word (DSW) with bit 15 set to 1, indicating that the plotter is either not attached or not powered on. I issued an XIO instruction to an IOCC specifying a Sense Device operation on area code 5 (the 1627). The resulting DSW was all zeroes. This was not what I expected.

I then changed the IOCC to specify a write operation on area code 5 pointing at a word where I had both bits 0 and 5 set to 1. When I executed the XIO, I saw the light for interrupt level 3 come on, which is exactly what I would expect. Having turned on the Interrupt Delay switch under the top cover of the 1130, it didn't jump into the interrupt handler code, so I could more easily debug the card. 

I reset the IOCC to a Sense Device operation and executed it. I saw a DSW with bit 0 turned on (operation complete) which is consistent with the interrupt request. However, I put the oscilloscope on the output pin and never saw it dip down from 12V to 0, as it should have for 50 milliseconds. 

That is consistent with the board behavior if the plotter is not turned on - immediate completion but no command signal sent to the plotter. Everything was correct with the behavior except for the lack of DSW bit 15. 

I then tried to load some memory locations but wasn't able to set bit 15 to a 1 value. Locations that previously had that value would display the 1 in bit 15, but I couldn't load any new values using that bit. The console entry switch (CES) that I used to load memory values shows every switch that is in the 1 position in a register EXCEPT the switch for bit 15 didn't turn on the register bit.

Before I proceed to more elaborate testing, I need to investigate this relatively small issue - bit 15 not appearing in the DSW nor available to load into memory. This could be a short inside my connector on the card, for example, or some other issue in the 1130 that only manifests when the card is plugged in. 

Saturday, May 9, 2026

More bench testing of 1627 controller card

COMPLEX BENCH TESTING SETUP SEEMS TO BE WORKING

The SLT breakout box provides each signal on a banana plug jack. Where it gets cumbersome is when I have to connect to a wire going into a breadboard or some other device. I have some banana cables with alligator clips but mostly they are male to male types. As you can see below, it gets messy interfacing many input and output signals from an SLT card.




I ordered quite a few banana plugs that I can solder to wire segments suitable to inserting in a breadboard or an Arduino type device. That will make this process much easier the next time around. I made up enough to rewire the testbench and clean things up. 

I put the new Arduino Uno into the testing setup and now see the XIO Write signal asserted properly. This gives my card the three signals it needs to accept a write request from the 1130 - XIO Write, Area 5 and T6. When those occur, the state machine proceeds through to generate the request for an interrupt at the completion of the commanded plotter movement. 

CONTINUING TESTING, USING SCOPE TO OBSERVE OUTPUTS

I used a four channel scope to capture sets of output signals from the card. The signals produced to drive the plotter are inverted logic 12V levels, the signals to the 1130 are inverted 3V levels, and some of them required pull-up resistors since the 1130 normally provides the pull-up. 

Activating the DC Reset line sets the board in its idle configuration - all six plotter outputs would be de-asserted to 12V levels, the four outputs to the 1130 would be de-asserted at 3V levels, and internally it should have the busy state turned off. I checked this first. Works perfectly. 

Sense while idle but no -24 power

Without plotter power connected, the DSW should show that the plotter is not ready. This occurred - bit 15 of the DSW is 1. 

Sense while idle with -24 power

The sense should show the plotter ready but not busy and no operation complete. Interrupt level 3 will remain high. The DSW has all bits off, which is correct, and no operation complete or interrupt request.

Trigger write requesting to move the pen up

The signal to the plotter should drop low for an appropriate time. After an additional interval the interrupt level 3 signal will drop low. For the model 1, the time for a plotter signal to cause this operation is 1.9 milliseconds, followed by a second 1.9 ms interval, all of which has the plotter indicating busy by putting a 1 in bit 14 of the DSW if a Sense Device is executed during this time. At the end of the 3.8 ms, the interrupt request for level 3 becomes 0 (inverted logic levels) and a DSW will have bit 0 turned on from this point onward. 

A 1627 model 2 will use 2.9 milliseconds for the duration of the command to the plotter and an additional 2.9 ms of busy time before triggering the interrupt request. I checked by temporarily placing a jumper on the card and verified the two durations  were correct for both model 1 and model 2. 

Sense then sense with reset issued

The sense should show operation complete (DSW bit 0) but not busy (DSW bit 14 off) and ready for further operations (DSW bit 15 off). It should only turn off the operation complete status (DSW bit 0) and interrupt level 3 will go high when the Sense with reset bit 15 is issued, not with a regular Sense Device. This worked exactly as intended. 

Trigger write requesting raising pen off paper

The raise command should do the same things as the prior write but the timing will be longer as is appropriate for raising and lowering the pen. The command to the plotter is held for 50 milliseconds, then a second interval of 50 milliseconds follows that; during the entire 100 ms, the plotter is shown as busy (by a 1 in DSW bit 14).  This is the same for either model of the plotter. I verified that this works correctly. 

Trigger write with both left pen movement and raising it off the paper

Requesting both types of movements should drop the 'left' command after 1.9 or 2.9 ms but maintain 'raise' for a full 50ms. The plotter is busy through the entire 100 ms interval. The interrupt level and operation complete only occur after the raise is complete. This was verified on the bench. 

Trigger above dual write test while -24 power is off

If -24V is off, no movement is commanded of the plotter but the interrupt request is immediately issued and the operation complete (DSW bit 0 set) is shown too. Initially I blipped the command signals to the plotter for 80 nanoseconds before my logic determined it should give an immediate operation completion. 

I decided to avoid this, thus recoding a bit of the FPGA state machine. It now proceeds immediately to completion status without toggling any of the signal lines to the plotter. 

RESULTS OF THE TESTING

The bench testing setup was fragile, but with some work it became reliable enough to perform all the tests I wanted. I had simulated all of this in Vivado previously but it is good to see the actual behavior match what I designed and expected. 

The board was inserted into the IBM 1130 in order to be put through its paces being driven by software commands and interacting with the 1130's interrupt and sense device mechanisms. I began building a connector to fit into slot N5 of gate A, compartment C1 of the 1130, with wiring that will deliver the six command signals to the plotter (pen left, pen right, drum up, drum down, raise pen and lower pen) as well has carry the -24V from the plotter that indicates to the controller that the plotter is ready to receive commands. 

I found the correct parts on Mouser to build SLT sockets to connect wiring to the backplane of the 1130. I started wiring the connector and cable before I ran out of steam today.