Engineers at the Acushnet Company (makers of the Titleist® golf ball) collected golfer swing and golf ball flight data on DEC PDP-8 computers and analyzed them on the IBM-370 in the MIS department. The only data storage medium common to the two computers was punched paper tape. R&D technicians punched a reel of tape and carried it down to MIS. MIS technicians mounted it, started the correct processing program, and stacked the printed output for pick-up by R&D.
Attempted Solution:
MIS hired an IBM I/O consultant. In a month's effort he was unable to establish a reasonable communications channel between the two computer families.
a (very) little device driver
The IBM-370 was also accessed by a number of remote terminals, from which R&D engineers wrote and ran programs. In less than 40 hours I wrote a PDP-8 device driver (restricted to less than 256 words of assembly language instructions and data combined) that allowed the operator to type through to the serial line to the IBM-370, log onto the 370's operating system, and start the 370's editor program. The operator could then switch to having the PDP-8 "type" the data in its file following the prompts of the 370.
Problem 2:
The IBM serial ports were synchronous while the PDP-8 supported only asynchronous communication.
a little digital design
I designed and built an interface box with an oscillator running 16 times faster than the nominal synchronous clock speed. The oscillator drove a divide by 16 counter to generate the clock signal. Setting the counter to 8 on every transition of the data line locked the clock to the data stream. Both computers were quite happy.
Problem 3:
Five years later, and four years after I left the Acushnet Company, the link failed to handle certain file transfers.
a little foresight
When the Acushnet engineer called me, I told him that, if he checked, he'd find that he was running version A of the driver. (They were in the middle of an important project when I finished revision B and did not want to risk a disruption if the newer version didn't work as well as version A.) Installing revision B, which he found in the box of diskettes I had left behind, cured the problem. I had solved their problem five years before they had it!