Monday, August 6, 2018

My Early PC Experience


Since I received my BS in Computer Science in 1969 and my MS two years later, I was at the forefront of those in the computer field. But I was not a hobbyist as some were who bought some of the early home computers, often by putting them together themselves. Rather, as a user of computers in business, I lagged a few years until the initial bugs were worked out. But still I was an early adopter once the home PC market began to develop.

Being an early adopter

I bought my first IBM-PC (actually the only one actually marketed by IBM that I ever bought) some time around 1983. It came with 64K. I had my choice of a single-sided or double-sided floppy drive (I chose the latter). I also bought a color monitor, a copy of DOS 1.1, an Okidata 82 printer (with NLQ (Near-Letter Quality) print capability), and a printer cable (everything was unbundled those days). I paid about $2,200 for all of those – a hefty sum in those days. For software, I purchased a copy of Volkswriter (*1), a relative cheap package, but one that was far superior to IBM’s Easywriter and easier to use than WordStar which had just come out. I also got a copy of WordProof which was a companion piece that did spell/grammar checking. These were my primary tools – remember that things like email didn’t come along until 10 years later in 1993.

Over the coming several years I made a number of upgrades. First, I got a second floppy drive and upgraded the memory from 64K to 256K (maxing out the motherboard as I inserted the chips myself). Later I replaced one of the floppy drives with a hard drive that stored a whopping 5M and upgraded to DOS 2.0 in order to support it. Eventually I replaced that original IBM PC with a 286 machine from Northgate. Over the years I’ve had a continuing series of machines, each much more powerful that the last, but interestingly the basic price remained in the same range.

I’d like to take the rest of this article to give an overview of one of the most significant projects that I was involved in that stretched the ability of that first PC.

A major project

I was still operating that original PC, now upgraded with more memory and a second floppy drive, in the winter of 1984-1985. A man who I’d gotten to know over the prior several years (and who has been a good friend ever since), Dick Gehman, was a missionary to Kenya. I used to pick up he and his family at JFK airport every four years as they came home on furlough and then take them back to JFK a year later when they returned to Kenya. In 1984 the Gehmans came home for year and his task for that year was to work on his Doctorate in Missiology – in particular on completing and submitting his dissertation to Fuller Seminary in CA. Fuller’s standards at the time included a requirement that the dissertation be typed on an IBM Selectric typewriter. Dick heard that I had a PC and asked if it were possible to use this “new” technology to prepare his dissertation. I agreed and printed out a sample document in NLQ (with a new ribbon) and he submitted it to Fuller and asked if that printing was acceptable. They said yes.

Starting in January 1985, and continuing for two full months, Dick would come to my house each morning before I left for work. He had never used a computer before and had no idea on how to do basic functions like starting it up, saving his work, etc. I got the PC set up before he arrived. He brought his lunch with him but basically spent the entire day typing. When I came home I would save his day’s work. When he finished a chapter, I would run it through WordProof and do a basic read through and edit myself, then print out that chapter which he would take home to his wife for further proofreading. Corrections would eventually come back to me, I would make the changes and then print the final chapter.

African languages, Greek and Hebrew

There was one major issue that I had to work through and that tested my skills. Dick’s dissertation was on African Traditional Religion. Part of the dissertation included some words from three of the tribes in Kenya that he worked with. While these words used primarily Latin characters, some of the letters had diacritical marks. These were not too bad to deal with. But the final portion of the dissertation was a study on the biblical interpretation of some of the subjects. For this, Dick would reference the original words in Greek or Hebrew (the language of the New and Old Testament). But these characters did not exist in any word processor of the time. So, what was I to do – other than leave blanks in the document for them to be hand-written in later?

The solution lay in the fact that the Okidata printer supported what was known as downline loadable fonts. Basically, I could design my own characters/fonts by creating a bit pattern stored in binary, then send them to the printer to be stored in its local memory. Then when the printer was asked to print the alternate font it would pull it from its memory and use the bit pattern to fire the individual pins in the printhead. There were some limitations, such as you could not fire the same pin twice in a row as it needed time to reset itself as the printhead moved across the page, and the character could only be as large as a typical character (as I recall it was 9 bits high and 11 bits wide), but otherwise you had free rein to program the firing of the individual pins in the printhead.

I looked in an encyclopedia for the shape of the full Greek and Hebrew characters, then built a file with a corresponding set of pin firings for each character (essentially a text file with a bunch of X’s corresponding to the firing of each pin on a separate line and a column for successive firings). I then constructed a program in BASIC that would read this text file of X’s and build the bit patterns that would be sent to the printer. I thought it was a pretty elegant solution.

When you selected the “alternate font” in Volkswriter (kind of like a modified shift key), it would put the font on the screen in color. The correspondence was that a lower case “a” (which would show on the screen in red background) was going to be transliterated into a Greek alpha, but an upper case “A” was going to be transliterated into a Hebrew alef. For Dick, this was going to be pretty easy, he would just shift into alternate font mode and type the equivalent Latin characters for each Greek character (alpha, beta, gamma, delta, etc.) or the upper-case equivalents for Hebrew characters (Alef, Bet, Gimel, etc.) Since Greek and Hebrew do not have lower/upper cases there were no conflicts. I printed out a full alphabet for Dick and he made a few corrections to my character shapes based on how he wrote each character and I simply adjusted the pattern of X’s in my text file and reprocessed it until I satisfied his criteria.

This was a real good test of my computer skills – learning the capabilities of my printer, designing a solution that included a readable input (patterns of Xs) and building a program to translate that readable input into the bit patterns that the printer required.

Finishing the dissertation

Dick is a very serious writer. The finished work was over 600 single-spaced pages which he took to CA with him for his dissertation defense. The committee he met with had a number of changes that they wanted in it, which mostly involved cutting out some portions. But the finished project needed to be printed and also needed things like a table of contents, and an index. Dick returned the marked-up copy to me (via insured mail), together with rubber-banded strips of paper that contained all the things that he wanted to appear in the index. And by strips of paper I mean little strips – basically one line high with a word/phrase and page number on each strip!

I had some major work to do in order to produce the finished product. I first typed up all the strips of paper into a document, then sorted the lines of the document by page number. I made all the textual changes from the marked-up document. I then printed the main body of the dissertation (I’ll call it a book, because it was going to be one before it was done). This meant a continuous print job that lasted nearly 24 hours. I built an overall document that did an “include” of each of the documents that were part of the overall book). I was sufficiently skilled that I could go from floppy to floppy as each chapter finished (as I recall it took 7 floppies to store it all). I was also able to periodically pause the printer and put in a new ribbon (so that the final print quality would not show any fading as the pages advanced). But once that 24 hours of printing was done, I had more work to do.

First, I had to look up each of the index entries to find out what page number the reference had moved to (remember that if there are significant deletions, then the page numbers are all going to change)! I then sorted the index document by reference word/phrase to get it in alphabetical order. When the same word was indexed in two or more places, I manually combined the lines into one with multiple page numbers listed. I then printed the index (starting the page number of the index on the page after the last chapter. Finally, with all the page numbers known, I could insert the page numbers into the table of contents – the last piece of the puzzle to be printed.

It took several days to complete the project – but I was thoroughly invested in the finished work. I mailed it back to Dick in CA (again by insured mail). He had copies made and bound. As a token of thanks, he presented me with a copy of the finished work – my sole pay for my contribution in both time and expertise to his dissertation. But, unlike many dissertations, this one did not just sit on a shelf gathering dust. It became the basis for three books that he later published, some of which are still being used now some 35 years later. I’m happy that I was able to be a part of this project!


Notes:


No comments:

Post a Comment