This article contains computer jargon that seems impossible to explain in such restricted space. The following may be helpful:
bit: binary digit, 0 or 1.
byte: a group of 8 bits; may have one of these meanings:
1. an unsigned integer, 0 to 255,
2. a signed integer, -128 to +127,
3. a character (a letter, space, punctuation point, etc.).
kilobyte: 1000 bytes (actually 1024). This article requires about 20 kilobytes of space to store in a computer.
TEN YEARS ago when anyone found out that I had a personal computer or that I claimed computing as a hobby, his first question was: “What do you compute?” I never did find out how to answer that question to the satisfaction of either the questioner or myself. Fortunately now that everyone and his brother has a personal computer, no one finds the hobby strange or peculiar, and the question has completely disappeared.
In Boxwooder 219, I discussed the decline of the CP/M operating system and noted that if one wanted to use modern programs, one must have an IBM or IBM clone. I have therefore obtained an IBM-AT clone, a Zenith Z-248, and have set about learning a new operating system. I shall, of course, also keep my CompuPro computer which will, for the near future, be the working system while the new computer will be the system for play. That is the customary method for changing from a CP/M computer to an MS-DOS computer. I suppose after some time, one turns completely to the new system. It will be quite a while, of that I’m certain. Financially, it makes little difference since the CompuPro, although a very fine computer, has little resale value. The depreciation on computers makes new cars look like investments. No matter what computers cost or how well they operate, one must be prepared to throw the old ones away when the newer models are available. Someone said that if automobiles had followed the path of computers that a Cadillac would now cost $6, get 300 miles per gallon, and be three inches long. Actually I have found that serious home computers remain fairly constant in cost, just about $4,000, but the improvement in capability over a few years is remarkable.
The acquisition of the new computer reminded me that it was just ten years ago that I became interested in this hobby, and I think it fitting that I now review my participation in this decade of hobby computing.
Ten years ago Dave and I were struggling to understand home computers well enough to ask questions about them at the two or three Washington computer stores and at computer shows which were just beginning to be popular. Although I was remotely acquainted with mainframe computing and had even learned the rudiments of FORTRAN at one time, it seemed extraordinarily difficult to find out anything about the home computer. Mainly one did not know what he needed to know. My son and I decided that the main block was the computer jargon, and we learned that as quickly as we could. At one show we talked to a Sol computer salesman who had a knack for explaining the mysterious machines, and I perhaps not coincidentally, decided that the Sol was the proper computer for me to buy. I talked to a friend, Jay Allgood, who owned an IMSAI, about my plans to enter the hobby. He was not encouraging. “I think it’s too late,” Jay said, “the fun and excitement are over.”
When recently I told my nephew, Jim Gary, what Jay had said, Jim said, “I’ve always thought of you as being in on the beginning of home computing.”
Nevertheless, I knew what Jay meant. When one bought a home computer at the time Jay bought his, you had to be prepared yourself to make it work. Whether you liked it or not, you were part of the testing and engineering effort of the computer maker. What engineering the computer company had done was done on the money that buyers sent in for the forthcoming computer. They used your money and then your brains and were usually very nasty to you in the process. This is one feature that has remained constant over the years. Computer companies treat their customers with contempt and disdain. The more successful the company, the nastier it becomes to its customers.
Software companies have carried this to even higher levels. Almost every commercial program one buys requires you to sign an agreement which states that if the program is entirely worthless it is only to be expected and is entirely your problem. For example, I have a Pmate (a fairly popular editor) manual which has in the front the reproduction of an ad for the program in which the incredible wonders of the program are extolled while in the back of the same manual is the contract to be signed by the purchaser that says among many other things:
This program is provided ‘as is’ without warranty of any kind, either expressed or implied, including but not limited to implied warranties of merchantability and fitness for a particular purpose. The entire risk as to the quality and performance of the program is with you. Should the program prove defective, you (and not Phoenix or an authorized dealer) assume the entire cost of all necessary servicing, repair, or correction.
You might ask why anyone would sign such a contract. Well, if you buy software and want to later buy updates, you have to sign it. It should not surprise the software houses that having forced you to sign such a contract that you are quite willing to see their programs passed to other computer owners without charge. This is worse than the guarantee that you receive when you buy an auto at a police auction. At least the police guarantee that you will get an automobile. That’s the meaning of merchantability.
Microsoft (a major software producer) has even started putting such statements in their books. If you should buy a Microsoft book and find that it is simply full of blank pages, you have agreed, according to Microsoft, that it is all your fault, and if you want a printed book, you’ll now have to pay to have it printed. All they need to do is put their books in shrink wrapping the way they do their software and claim you have agreed to the contract when you break the seal, which is what they do with software. Let us hope the used-car dealers never find out about such agreements.
Jay also was not very taken with the Sol – he thought its power supply was too small. When I asked him about how much memory I needed, he said that he had 24 kilobytes in his computer and had never run out of memory while running a program. I told him I was getting the latest in memory boards – 32 kilobytes on one board. I think this board cost about $750 for which one could today buy at least six times that much memory.
I obtained my Sol in early spring of 1978 and almost immediately had trouble with the memory board and had to send the board back. While I had been waiting for the computer I had learned, more or less, to program in BASIC, and my first real program was to compute my federal and state income taxes. I am still using this program though naturally it has been revised every year to keep up with the tax changes. Another program that I wrote in the spring of 1978 kept track of my topical stamp collection, and I am using it to this day. How I longed for a book on Microsoft BASIC or a class that I could take to learn more about this complex language. It now seems incredible that there were no computer books to speak of in those days.
I soon found that I needed more memory and bought a 16 kilobyte board for $450 to add to the computer to bring the total random access memory to 48 kilobytes.
The Sol was designed by Lee Felsenstein who later designed the Osborne computer, and I found it to be very satisfactory. Even in the rapidly changing atmosphere of those days, the designer seemed to have anticipated every need. The keyboard of the Sol was the best I’ve ever used. With the addition of a Micropolis disk drive with the then astonishing capacity of 315 kilobytes on a single-sided, 5-inch disk, it became a very satisfactory machine.
The only obvious mistake was that the screen which was written by memory mapping commenced at the 48-kilobyte level which broke up the possible 64 kilobytes of contiguous memory. When Felsenstein designed the Osborne, he used a method of memory swapping which prevented the screen from appearing to use any of the possible 64 kilobytes capable of being addressed by the 8080 or Z80 CPU. Years later IBM repeated the Sol’s mistake by putting the screen memory in such a location that the IBM computers (and, of course, clones such as mine) are capable of using only 640 kilobytes out of the 1,024 kilobytes the 16-bit CPU is capable of addressing.
In the early days one had to know a bit about his computer and its resident software to be able to use its operating system or CP/M when that became common. The Sol manual assumes you are going to build the computer from a kit so not only is the construction described but the purpose and operation of every chip and circuit in the computer is detailed along with the assembly language programs that comprise the operating system of the computer. Such technical detail today is unheard of in computer manuals. I was even able to alter the CP/M system so that it jumped over the memory used by the screen of the Sol and thought that it had some 54 kilobytes of contiguous memory. I was able to write my own handshaking program for my printer and install it in the BIOS of the Sol. I installed a program that caused the Sol to have a “Print Screen” capability that did not interfere with the program in progress.
Processor Technology, the company that made the Sol, went belly-up shortly after I bought the computer, and the time came when I wanted a 25-line by 80-column screen. On the basis of their word processor, Memorite, I decided that I wanted a Vector Graphic computer. I had already decided that used computers represented better values than new ones with little loss in reliability so I watched the classified ads until I found exactly what I wanted, the Vector Graphic System B.
By this time I had tried programming in C and Pascal in addition to BASIC. I never did seem to like Pascal and the C compiler that I had, though it was the very popular BDS C compiler, did not permit real numbers – that is only integers could be used in calculations. With considerable trepidation I decided to buy Digital Research’s PL/I compiler. I had read a little about the language, and much of what I had read was not encouraging. PL/I was written by a committee (like the modern Ada) and was said to be such a big language that few people knew it all. The micro version is a subset of a mainframe version called Subset G. Some people claim that the micro version is a better language than the original. Anyway I did buy the compiler and found that I could do all kinds of complex programming in the language.
Even the micro version is very large and complex, but just as I was beginning to learn it, Bruce Hunter published a series of articles, “PL/I From the Top Down,” in a magazine named Lifelines, and I worked through all of his examples. By corresponding with him I learned that he was preparing to publish a book on PL/I. I sent him some suggestions and some corrections of his published programs, and he started sending me the articles before publication and eventually sent me the complete manuscript of his book. Digital Research then had plans to make the 16-bit version of PL/I the complete Subset G. This was just about the time that the IBM computer swept away the future of the CP/M operating system, and both Hunter’s book and the plans of Digital Research to improve the 16-bit micro version of PL/I went down the drain.
At about that time I was feeling the need for a 16-bit computer in order to keep up with the hobby. I had long admired the CompuPro with its capability to operate at 8 and 16 bits and found a used one that had a very unhappy owner. He had fallen victim to the common error of buying a computer without having available the exact software to accomplish what he needed the computer to do, and like most others in this position, he found that he had made an expensive and frustrating mistake.
So in June 1984 I acquired what I still believe to be the finest microcomputer made, the CompuPro System 8/16. It has 640 kilobytes of memory, two 8-inch, 1.2-megabyte floppies, a 20-megabyte hard disk, dual CPU’s (a Z80 and an 80286), and has the Concurrent CP/M operating system which is multiuser (We have two terminals and Leah can work at one while I use the other.) It has such niceties as 9 serial ports and many other fine features. It automatically determines whether a program is 8 bit or 16 bit and runs it. Disk access and computing speeds are at least as fast as the IBM AT. It is not small, however, but consists of three cabinets, each of which is about the size of an AT.
Two major new languages have become available in the last couple of years, Ada, sponsored by the Defense Department, is a big language written by committee over a period of many years and requires a very complex compiler and lots of memory. Versions for the 16-bit micro are just now becoming available, but they are still quite expensive (the order of $2,000). It is reportedly a fine, capable language. It will be successful in any case since the Defense Department requires its use on defense contracts.
The other language, Modula-2, is almost the contrary of Ada. Modula-2 was written by one man and is a language with a very small kernel which can be expanded by adding particular libraries or modules to handle almost any computing needs. Modula-2 was written by Nicklaus Wirth who wrote Pascal some years ago as a teaching language – a language to teach people how to program. Pascal gradually became so popular that it is now used in many applications for which it has obvious deficiencies. Instead of trying to patch the language, Wirth wrote a new one, Modula-2, which resembles Pascal but remedies its deficiencies and much more.
Several Modula-2 compilers for both 8 and 16-bit computers are on the market. In March 1986, I purchased the FTL Modula-2 compiler (about $50 plus $30 for the editor) and have had a lot of fun learning to program in this fine language. Unlike the early days of BASIC and PL/I, there are books aplenty on Modula-2. Still there are many puzzles when one is trying to learn a new language. I had almost given up on trying to incorporate assembly language routines into Modula-2, although I knew it could somehow be done, when I suddenly discovered the method. I have written several fairly complex programs in Modula-2 and hope to write many more. The same compiler, FTL, is available for MS-DOS computers and I have ordered it. That means I will be able to transfer Modula-2 programs between the computers by recompiling.
When and if Ada compilers are more reasonably priced, I would like to try my hand at that language. And I suppose I should sometime try to learn the C language. There are now plenty of books on this language and several compilers are available including the new Borland C which costs under $100 and is reputed to be very good.
Perhaps now I can more or less answer the question that used to baffle me – “What do you compute?” First let me say that an awful lot of computer time is spent on computer housekeeping and preparation. If one has a woodworking shop one must before, or while, he is making chairs and tables and whatnot also make workbenches, tables for new machines, and other conveniences. In computing, the procurement of the hardware and software and getting it to work together is an endless task.
Then there is the selection and tailoring of the “utilities.” These are the programs that allow you to handle all the computing facilities with ever greater ease and efficiency. There are literally thousands of utility programs available free or at little cost from various user groups and electronic bulletin boards. There are utilities that locate your programs, check your memory chips, check and reorganize your hard disks, help you understand the operating system commands, enable you to dial the telephone and connect you to other computers for the transfer of programs and data, squeeze your data so it can be stored efficiently, and so on neverendingly. By the time you get one set of utilities organized, later versions are available, and you have to do it all over again. So without actually doing anything, it is easy to keep busy on the computer.
If one tries to learn to program in any language, he finds there is never enough time on the computer. A program of any complexity can take weeks to get into operation, and the fine tuning to make it do exactly what you want it to can go on and on. Also no matter how many programs are available commercially, the only way to make the computer do exactly what you want is to write the program yourself. Programming is not a mathematical process nor does one need any math ability to do it. The nearest parallel to programming that I can think of is writing a short story – the process, the difficulty, and the pleasure in the fulfillment are very similar. Modula-2, for example, is a much more restricted language than English but is also more precise. It is still so complex that a program that you would write in Modula-2 is as distinctively yours as a story you would write in English. If you’ve ever tried writing short stories, you know the result is usually surprising – not what you started out to write. In programming the result is almost always surprising, but since the computer is supposedly a logical device, one feels that he can eventually straighten out the program to do what he intended. Usually this can be done though I know of cases where, though I have faith in the computer’s logic, I cannot determine why a particular result obtains. Programming is a creative, frustrating, puzzling, baffling, fulfilling process.
So what do I compute? Very little. The computer is used for word processing – I would feel very deprived if I now had to depend upon a typewriter. It is used to print mailing labels for the bundle and for the NA, and to keep address information for NAPA and VAPA members. I use it to keep my financial records and to calculate my income taxes and to keep track of my stamp collection. Leah uses the word processor and keeps a large recipe file. That’s what we compute. Not much really. So why do I need another computer, an MS-DOS computer? It is simple. I am using computers as toys, and one must always have the very latest toys.
My major concern about computing as a hobby is that I feel that I am continually falling behind technically. Ten years ago I started virtually ignorant about computers and achieved a fair understanding of the hardware and the software, but the complexity of computers and operating systems grows faster than I can keep up with so that after a decade I am almost as ignorant about computers as when I started and am on the way to becoming a “toaster brain” user rather than a computer hobbyist.
Hand set in Deepdene; cover type is Eurostile Normal. Edited and published by Jake Warner who printed 415 copies on an SP-15 Vandercook. The cover was printed on a 10×15 C&P.
The Boxwood Press
Greenbelt, MD 20770