April 11 - 18, planning, building and debugging on many fronts


My new connector PCB for the cables into the disk drives came out of the developer in superb shape, but distractions that evening led me to leave it in the etching tank far too long. The copper traces were eroding and many of the contact fingers that would fit in the card socket were unacceptably degraded.

Today I manufactured a new connector card, which is in pretty good condition, considering the damage already done to the card before purchase. The blank I had picked up from Fry's Electronics had the printed label affixed to the plastic bag with tape, an unusual addition compared to the other bags of like boards. I was suspicious of a tear that would have caused light leaks, exposing the board, but found no signs of such rips.

However, I wasn't suspicious enough, as this had apparently suffered some strong mechanical impact and abrading, likely scratching the label which spurred them to repair it with shipping tape. When I peeled the protective vinyl from the board in the darkroom in preparation for exposure, I could see that the photosensitive coating had been gouged off in spots on both faces, all hidden under the glued vinyl and the outer sealed plastic bag.

I found an orientation that minimized the amount of my copper trace patterns that would be impacted by the gouges, knowing I would have to solder on some wire bridges a bit later. The remainder worked out quite well and with just three short bare conductor wire segments crossing the gaps in three affected traces, I had a working board.

I chose to buy a table saw blade made to cut plastic and non-ferrous metals, then achieved beautiful clean straight cuts of the board outlines on my saw. I used the sliding table to move the boards smoothly across the blade and found it a delight. There are a few notches and insets and keyed slots on the end of the board with the contact fingers, which could either be cut with a router table or my tabletop scroll saw. Even though it burns through the blades quickly, I went with the scroll saw for two reasons. First, it was easy to see and control exactly how I cut the board. Second, and perhaps more importantly, my giant router table was piled with junk and blocked by other piles of storage that had crept into the garage over the last year.

With everything cut to proper shape, it was then time to drill the holes for the thru components. For the terminator, I had to drill for three 16-pin DIP form factor components, the resistor packs required by DEC logic levels and bus designs. For the cable connector card, it was a single 50 pin header into which I would plug the 50 wire ribbon cable connector. This format has two parallel rows of 25 pins, with some precision required in order to get all 50 pins to go through the holes when I mount the header. If I had drill and the hole to hole spacing is too erratic, it is quite difficult to get parts to go through. As a final touch, four holes at the top are drilled to mount the two DEC handles that grace the outer edge of every logic card.

All prepared, the cards came into the house and were assembled and soldered. The terminator card was easy to assemble, but as I expected, the 50 pin header fought me tooth and nail. I solved the problem by using separate header rows, painstakingly maneuvering each pin into its hole and then soldering it to the traces. The ribbon cable connector fits over the parallel header rows just fine and my signal continuity tests showed all is well with the connector card.

After a bit of testing and triple checking, I declared the two cards complete and (probably) correct, pending live operation of the link from my interface box. They are installed in the drive and covered by a prefilter for the air inlet I constructed. I took a reusable filter fabric designed for air conditioners, the aluminum outlet for vent holes along roof eaves, trimmed them to size and fit them with two sided tape and holddown screws/washers.

I can now begin building my test jig for proving out my disk interface logic. Portions of the drive can be tested independently of others. For example, tie the cylinder address pins to 1 or 0 power levels and activate the strobe signal to request that the drive do a seek. Before it will respond to anything, I have to tie the select lines to the address this drive answers, as a constant requirement for all other testing. As another example, if the read gate signal is activated, I should see clock and data bits streaming out of the drive. Restore plus strobe will move the arm back to the home position (cylinder 0). I will probably create a breadboard to do this testing before I move onto PCB design, to ensure I have the levels and other interface details working properly.

My second drive arrived today, packed extraordinarily well by the UPS store where the seller dropped it off. Only downside - damned styrofoam peanuts. In the low humidity in California, after 3 or 4 handfuls are handled, they pick up a large static electric charge and begin to fly apart as well as stick like magnets to my skin. Dump a handful in a bag, most stay on the hand and fly back to you if flicked away. This was a very large box full of these things, it would take days if I couldn't scoop more than four handfuls at a time.

I searched the web, noting all the solutions that were alleged to work perfectly to remove the static. Method one involved rubbing my hands with olive oil - which did nothing other than add an oily residue to the rest of the mess. Method two was to spray the peanuts with Windex. This in fact worked, but only for the peanuts that were directlly struck by the mist. I was able to spray the top surface, scoop down one handful deep all around the box, then repeat.

I wrestled the drive up onto my work table in the garage. I noticed that several of the plastic light covers on the front were missing, but this is not much of an issue. The seller had already mentioned that the bottom covers are missing, which is more substantive as I need this closed up to keep out contaminants that might cause disk crashes. The shape is pretty straightforward so this should be a simple sheet metal fabrication task. Like my other drive, it lacked the terminator card and the cable card.

I had asked the seller to install the shipping strap - a bracket that is reversed to hold the voice coil and arm back in the fully retracted position. This protects the arm and head from bouncing in and out, possibly being damaged during shipment. The strap is placed on the voice coil magnet, jutting out radially away from the voice coil. To install it, you loosen the bolt and rotate it 180 degrees. It then sits in front of the voicecoil carriage and blocks it from sliding out from the retracted rest position.

To my chagrin, I found that the strap was rotated only 90 degrees, thus not blocking the movement at all and potentially it could have ruined the voice coil magnet windings if they had scraped along the bracket. I don't see any damage to the arm or the voice call. Hopefully I was lucky once again with drives being shipped without the arm restrained, although I now am thinking of drive three that the same seller has coming to me on Monday.

The drive checked out, so I powered it up and it came up with no fault indications or other symptoms. The heads look clean, but the blower, air filter and remainder of the air path needs major cleaning before putting a pack into the drive.

Drive three arrived also without apparent damage - in this case because the shipping strap was in its non-shipping position, apparently the seller forgot about the task entirely. Fortunate as it could have damaged the mechanism. The arm and heads seem to have weathered the trip fine. This drive had a lot more deteriorating rubber and foam - the foam falls apart with age which is common to all the drives, but a rubber connector )from the air filter to the duct that mates with disk cartridges) had become brittle and shattered. Not sure how this happened, it is so different from the other drives.

I need to clean out and clean up the two new drives, then decide whether to clean out or replace the air filter that blocks big dust and smoke particles from getting to the disk drive. I will figure out a replacement for the rubber connector, perhaps casting one in the tech shop if I can't find a direct replacement part.


My final parts arrived for the chiller that will keep the punch head cool on the card punch mechanism and I completed building the power supply. I have to pick up some hosing, pull out the ammonia cooling gear and install the chiller inside the punch. Lastly, I will run an RS232 cable out to allow me to monitor the chiller operation and punch head temperature.

I installed a hose loop and ran the chiller for a bit, which worked properly although there was an odd sound from the pump that could either be worn bearings or just cavitation because I hadn't topped up the reservoir when the 20 feet of hose was filled with glycol mixture.


I have mounted the auxiliary board that detects the photocell outputs of the keyboard mechanism. It is cabled to the main interface card that plugs into the side of the fpga board. The fpga board will mount to the left of this auxiliary board, both will sit under the tilted formica desktop surface of the 1130 system, in front of the console typewriter and behind the keyboard mechanism.

Above the mounted boards, on the front plate of the console typewriter, are 16 toggle switches that are used to enter data and control program execution. The switch used on the 1130 is almost identical to this one, which is harvested from another bit of scrapped IBM gear, but I do not yet have the 16 I will need.

IBM switch, cylindrical shaft with plastic tip, built by Arrow-Hart and by Course-Hinds for IBM


I did some modest restructuring of the logic design for my interface between the IBM Electronic Typewriter model 50 mechanism and the 1130's adapter circuits designed to operate a 1053 Selectric. The behavior is much more solid now.

I did (re) learn a hard lesson when debugging some incomprehensible behavior, where a signal was switched on inexplicably because the signals that were supposed to determine its state were trimmed away during synthesis. My margins were to be set by pushing a button on the typewriter when the carriage was at the desired position, but during the testing there is no button installed. The tools noticed that the button signals could never be activated, thus the margins could never be set, thus it tossed away the signals themselves. With the signals missing, the comparisons and other tests were eliminated, leaving the end of line signal because it was hooked to a real output during testing. Debugging the comparisons and tests which had been tossed in the wastebasket was a futile exercise.

I have to periodically wade through a huge volume of messages that the tool chain produces during synthesis. The software produces many warnings that are not an issue, but provides no means to suppress those or mark them as 'intentional choices'. You can either stop all messages or read through thousands, but can't selectively disable them. The reports would be much, much more useful if all they flagged were problems you hadn't already investigated and accepted.

The great thing about working with fpga circuits is that they are totally soft - load a new set of code and within ten minutes you have a changed circuit. Much faster than physical hardware can be modified. This suits me well, as I am willing to tear up a design and start over if I find it losing a clearness or elegance, something I may do a dozen times or more until I feel satisfied. This is definitely true of the typewriter interface, because I am so paranoid of damaging the somewhat fragile mechanism if flaws in my logic activate mechanisms at a bad time. This week, I did one major restructuring and have now taken on a second rewrite. Very pleased with behavior, just cleaning up all the special cases and conditions I can dream up before letting it loose on the selectric mechanism.


Inputs side interface box for Punched Card Reader

Rear of salvaged control panel from IBM 2501 card reader

Scrap 2501 control panel with yellow paint over buttons and lamps

Outputs side box for Punched Card Reader interface

Acetone removed yellow paint; still have to clean up white lettering

Clean up of glass block for indicator lamp, needs touchup of white legends
On a parenthetical note, I had believed the card reader was marginally out of adjustment because it would get read check errors on certain cards, always the same types of cards, those with a slant cut on the trailing edge. However, today I was told that this is a well known misbehavior of the Documation readers - they all do this, because the see the light come through for the notch and assume the card has prematurely cleared the read station, thus it wasn't moving at the expected speed and the data read is suspect. If I ever have spare time I may investigate a way to 'mod' the readers to disable this erroneous behavior.


I created the design for a PCB to control the paper tape reader, hooking the mechanism I have to the 1130's adapter and causing it to behave like an IBM 1134 which was sold for use with the computer. I moved quickly to produce the board, as I had all the components on hand to assemble everything except a set of 10 resistors.

During the manufacture of the PCB, I apparently didn't leave the board in the developer quite long enough, as one corner of the board must have had a slight coat of the resist still in place, hard to spot in the darkroom conditions. The effect, however, is that the copper does not etch away where the resist remains, leaving one corner of the pattern with copper shorting and bridging traces.

In looking at the area affected, I realized that with a bit of scraping to eliminate the shorting, I would have a cosmetically flawed but fully functional board. With no spare board stock of the right size, I began scraping away.

The following day, after I picked up the remaining components, I assembled and soldered the board.

Paper Tape Reader interface board, almost complete
Paper tape reader in current enclosure, will remount it in 1034 style enclosure


I spent some time with a few people at the Computer History Museum checking out the 1054 and 1055 paper tape reader and punch units they wish to attach to the IBM 1401 computer they have restored. The interface for the reader and punch is very easy and quite well documented from the 1130 materials I own. The museum has a clever device built by a team member that pretends to be a virtual tape drive, hooked on the chain of real IBM 729 drives, but streaming the data through an RS232 link. With a small bit of work, the paper tape units they own can be connected to that RS232 port and accessed by programs in the 1401.

A museum in Binghamton, NY is restoring an IBM 1440 computer and faces several challenges with getting peripherals attached and working. Bob Rosenbloom had donated his IBM 1442 reader/punch to the museum and the team there is building an interface to connect it; that work seems to be well along. Robert Garner, who leads the 1401 team at the CHM, bought a 1403 printer that came on the used market and is donating it to the Binghamton team. However, this model has an integrated controller inside to connect to IBM 360 bus and tag cables, not to a 1440. The 1440 would make use of 1403 printers, the models with native 1403 connections not bus and tag, through a controller named the 1446 for which zero documentation seems to exist. I will be working with controller logic from the 1130, 360/20 and a 2821 control unit to create an interface for the printer, but key information I need concerns how a 1440 connects to peripherals. They will send me scanned documentation and I will determine how we might proceed.

Finally, the Living Computer Museum in Seattle has a 360/20 to which it needs to attach a 2501 card reader and a 1403 printer. We are not sure exactly what adapter logic may be installed in the 360/20, but at worst case it can be replicated in fpga. I am collecting some final documentation but this should be straightforward albeit substantial work. They are fairly sure that they have the logic installed to support a 2560 reader/punch device, thus if we can build an interface to map the 2501 to behave like a 2560, they should be able to get it working. The 2501 they have is a model B with a control unit built into the frame, but the 360 20 works with a model A reader, one that has no controller logic inside it. Instead, the 360/20 would have controller logic in its 2501 adapter circuits, if that adapter had been configured on the machine. It does not appear to be present, however.

I did spot someone selling a used manual on Amazon that looked promising. It arrived today: IBM Field Engineering Theory of Operation - 2501 Card Reader Model A. This describes the reader and how it is implemented with a 360 model 20! This provides more than enough information on the 2501 to interface to it. I have scanned the manual and delivered it to the bitsavers.org archive to allow others to access this historical information.

On another front, I found an auction on ebay that appears to offer a cable set that has bus and tag connectors (360 channel connections) on one end and a high density single connector on the other, presumably to connect to an add-in card for a PC or workstation that allows it to access 360 peripherals. I don't need the add-in card, but having the right cabling is highly valuable and time saving. It is on the way here.


Since the printer is driven by RS232 signals and my controller will be an Arduino, I have some level shifting to address. Specifically, RS232 signals 1 and 0 states by swinging voltages between + and - 12V, while TTL logic swings between 0 and 5V. To handle this, I made use of a pair of MAX232 chips, which are designed to accomplish this exact task of level shifting between RS232 voltages and TTL style voltages. I designed and built a card that used these chips to provide the data, CTS and RTS signals to the Arduino, which can process several RS232 links as long as they are level shifted first.

The board had a small amount of damage done sometime before I purchased it, which lifted the photoresist in one corner. This left a gap on a ground trace, which I easily closed by soldering down a bridging conductor. Here you can see the completed card with the surface mount components installed and the conductor bridging the gap.
My level shifter card for line printer interfacing


I have signed up with a membership shop facility (www.TechShop.ws) for access to their shops where I can make the sheet metal cabinet enclosures, machine needed metal parts, leverage 3D printers and other machinery to make key handles and other cosmetic touches, and move the project along toward completion. They mandate familiarization/safety courses on major equipment before you can use it, but after I attend four such classes in the next week I should be able to drop in when I have time and need to fabricate some part of the system.

After completing the sheet metal course, I went in to the shop and made the box that sits on pedestals above the console typewriter, into which I will install all the blinking lights, the rotary mode switch and the emergency pull handle. It was pretty straightforward, although I did learn one lesson about the order in which I need to make certain cuts and folds. Easily resolved and something I will avoid in the future.
Light panel enclosure, not yet soldered or drilled

How the rear will look, with pedestals in approximate position
I had to learn how to solder the plates and make the result look good - takes a bit of technique to do this well and I had zero technique at the outset. I began with the pedestal uprights, then moved on to solder the two halves of the enclosure together. Due to the limited size of the sheet metal at the local home improvement store, I had to make the roughly 28" by 5" by 4" box as two "L" shaped halves, with a 28" and a 5" leg, then connect the two halves to make the entire box. I overlapped a bit on the sides and soldered it to close any gap.

Since the metal will be finished with a bumpy surface under the paint, to match the appearance of the real 1130, I can hide imperfect joints to a small degree but anything grossly wrong will still be visible. Grinding or sanding can take down imperfections to a size that is masked by the finish.

No comments:

Post a Comment