Need a CommunicationSULLution?

 

Problem 1:*

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.
SULLution1

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.

SULLution2

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.
SULLution3

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!

*Problems by others.

SULLutions by Paul F. Sullivan.