I used the logic analyzer to verify the reasonableness of the feedback signals I will be generating in my fpga logic to pass to the IBM provided printer adapter logic. It is time to move on to driving the typewriter with the actual fpga rather than my Arduino based test exerciser. The pins on the cable that connected to the Arduino will plug into an fpga extender board I own, allowing me to test with the fpga board before wiring the cables permanently into the 1130 replica.
After carefully sorting out the connections, including a passthrough of the derived feedback signals to allow them to be monitored by the logic analyzer, I was ready for some testing.
A friend made some spare parts available to let me replace the ad-hoc cover and reed switch with original equipment components. I swapped these in and verified their operation. I did some basic testing with the fpga adapter, using a short diagnostic routine from IBM that drives the typewriter in flexible ways. I uncovered some defects in my adapter logic and corrected them, a few at a time.
- Tab didn't work, but all other movement commands were fine
- Alternating between upper and lower case on each pair of characters when both are identical
- End of Line status was always set
I discovered I had mistyped the code for Tab, that the shift status feedback from the MT50 mechanism was the inverse of what I expected, and that I had a subtle flaw in my end of line routine. With all that corrected, everything appeared to work perfectly except for a hangup when it did an automatic new line - typing past the right margin setting. This is going to take some debugging as the situation isn't obvious.
I did verify all the characters, movement operations like tab and return and backspace, and subject it to a fairly stringent testing. Outside of the automatic new line, all is good. That said, I still haven't tested the buttons for 'tab set', 'tab clear', 'set right margin' and button alternatives for space, return and tab. I only need to wire up buttons and configure the signals into the fpga to accomplish that testing and the functions look pretty straightforward, but the job isn't done until these are all tested (and my automatic line return works).
I suspect this is caused by an unwanted interaction between the IBM adapter logic and my adapter logic. I will be studying the IBM logic to see if I can spot where its expectations and assumptions are different from my actions in my adapter. If that doesn't work, I will need to spend some time instrumenting the right signals to the logic analyzer and try to capture the point at which things go awry.
I was still running analyzer traces by the end of the weekend, getting closer but still not seeing exactly where things are going awry. I think I can now trigger on the conditions that will capture the incriminating signal sequences in my buffer, but ran out of time. It will have to wait until some time during the week.
REPAIR OF TYPEWRITER POWER SUPPLIES FOR FRIEND
I received the two malfunctioning power supplies for IBM Memory Typewriters, sent to me by a friend who repairs and collects these systems. A wizard with mechanical issues, which is 99% of the work dealing with the typewriters, he is less equipped to deal with electronic issues. IBM does not provide any schematics of the power supplies or circuit boards, treating those entire units as the field replaceable unit. If it isn't working, toss the entire power supply out and replace it.
I had offered to look inside and see if I could get them working again. The first of the two, whose symptom was that the 24V power line only delivered 12V, was pretty straightforward to debug. One of the two diode was bad; these collectively convert the 24V AC output of the transformer to 24V DC. If one is open, the DC voltage will be 12V (and with more 'noise'). I borrowed a diode from the second power supply, installed it, and tested the power supply. It ran perfectly, delivering the rated voltages on the connector. Further, I hooked it to my memory 50 typewriter mechanism and ran my test printing successfully.
These power supplies are 'world trade' versions, set to run on 240V/50Hz power, but with easy switching of the input voltage. This saved me from having to wire up 240V to the supply. I was able to switch it to 120V for my testing, which with US voltage levels delivered the same 12V incorrect output before repair and operated exactly on spec after the repair. The difference in frequency, 50Hz versus 60Hz, has a very slight effect on the efficiency of the transformer but not enough to matter while I tested it with 120V. My last act after the testing was to reset the switch to 240V for its next use back in Switzerland.
I ordered a handful of superior diodes to use on power supply #2, handling higher reverse voltage, more power, faster response as voltage swings from reverse to forward, lower voltage drop, ROHS certified and lower leakage. These are still inexpensive, a handful of coins apiece, but will ensure that the power supply works reliably for many years to come.
The diodes arrived Saturday, earlier than expected, and were put into the power supply that evening. Initial testing shows that the supply is delivering the right voltage on all but one pin of the power connector. The -12V supply on pin 3 is reading just under -8V. I will have to do some more troubleshooting and look closer at the section of the supply that is responsible for -12V, to uncover the failing or misadjusted parts.
This supply had never worked properly, according to Lukas, but the fact that it is already working properly for five of the six voltages makes me a bit optimistic that whatever is wrong is localized, simple and could be corrected with available parts. There is even an alternative to consider if the -12V portion is damaged in one of the custom ICs for which I have no replacement. I could put together a small daughterboard circuit to regulate -12V, fed from the supply on the power supply's board, mount that somehow and make the supply fully operational even if no longer IBM standard.
When I began inspecting it more closely, I found that a transistor had been unsoldered and removed from the power supply at some time in the past, probably before my friend owned it, since it was never functional for him. By comparing to the repaired and working power supply, I know the part is an IBM 205 transistor. IBM labeled their transistors with their own numbers, unrelated to any standard numbering by other manufacturers. That was even true for transistors made by other companies on behalf of IBM, such as this one produced by Motorola.
Using some cross reference documents uncovered by the 1401 restoration team, I found that the IBM transistor is the equivalent of a 2N2904 transistor, thus I could order a replacement. When it arrives, I will install it into the power supply and test it again to see if the -12V portion is now working properly. If not, I will do more diagnosis.
Once successful, I can mail the two back to my friend Lukas, who has been a great help in dealing with both of my typewriters, the Electronic Typewriter Model 50 and the Memory Typewriter, plus having rare spare parts when I needed them. I feel good that I can reciprocate for the help he gave to me (and to many others on the Golfball Typewriter forum who he has helped).
COMPUTER HISTORY MUSEUM PAPER TAPE READER AND PUNCH INTERFACE
I have the documentation for a virtual tape drive emulator that was built as part of the 1401 restoration project. I will leverage this to stream data to and from the paper tape units, which will appear to be a pair of tape drives to the 1401. It maps BCD characters on the 1401 to ASCII, as I do with the data on the paper tape. Once I synchronize my mapping of BCD to ASCII, so that a 1401 character such as group mark will be turned into an ASCII character by my interface and then recognized by the virtual tape emulator to produce the group mark going into the 1401.
The only complication is that the emulator is accessed using a web browser to connect to a PC web server that is part of the emulator unit. This runs a Java based graphical interface to select ASCII files to upload from browser to the virtual tape drive (or vice versa to fetch data from 1401 into an ASCII file on the machine running the web browser). This introduces some human intervention to read paper tape files or to punch output files, clicking on the graphical interface and selecting files with an 'open' or 'save' dialog box from the browser. If I could drive it programmatically, removing the human intervention, it would be preferable. I need more detail before I can determine if that is reasonable to do.
Apparently there is another option, an interface using RS232 (serial link) to the console typewriter of the 1401, which is much simpler to link to. I am discussing ways to use this with one of the team members who helped build this. I will make a decision on the method to use over the next week, then code up my paper tape interface machinery appropriately.
DISPLAY PEDESTAL WORK
I sprayed some additional layers on the back of the plexiglass panel, to cover up the ripped open circular defect that has marred the appearance. I suspect it will always be slightly visible, but if I can minimize the contrast with the undamaged layers, it won't be grossly evident when looking at the system.
I have some careful work to do, drilling holes in the panel and in the flange of the pedestal box, gluing some sections of acrylic rod to the panel back and mounting it with this new method. The two side metal panels could also use a better attachment. As well, I want to redo the mounting of the light blocks inside the pedestal box. Finally, I need to bolster the rectangular stands for the box, to ensure it will be sufficiently rigid.
ASSIST OF BINGHAMTON COMPUTER HISTORY MUSEUM IN ACQUIRING KEYPUNCH
A co-worker who lives near Akron, Ohio where the keypunch is being offered has very kindly agreed to pick it up and store it for a couple of weeks while the museum works out crating and shipment, since the seller requires it to be picked up by Monday, an impossibly short deadline otherwise. My friend will take it in a pickup truck and put it into his garage, then meet the shippers to hand it off later.
All this was contingent on the museum acquiring this. There are 13 other 'watchers' of this auction on ebay, which might mean one or more other potential buyers could be dropping in last second bids. In the end, however, they did make the purchase and we are now arranging the details for my friend to take possession on Monday morning then hand it off in a couple of weeks to the shippers for the museum to bring it to Binghamton, NY where it will be restored and used as part of their restored and operation IBM 1460 mainframe.
The seller and the museum engaged in some discussions for an alternative that wouldn't require my buddies help, with the seller bringing the keypunch on a moving truck to his new apartment in NYC and the museum retrieving it from the truck. It appears the logistics of that plan were too complex to pull off, so the keypunch will be moved from the sellers location to a garage nearby in Ohio for a couple of weeks.