My Early Computer Days (pre DOS)

1975 to 1984

Beginnings

My experience with computers started in the early 1970's when the company where I worked installed a Timeshare computer system.  This consisted of an ASR-33 Teletype connected to a 110 baud acoustic modem, which connected to the Timeshare company's mainframe computer over the telephone line.  When my supervisor asked if any of us were interested in taking training for this system, I immediately volunteered.

I learned to use the Basic programming language on this system and began to really wish that something like this was available for the home user.

This is an ASR-33 Teletype typical of the one used by the Timeshare system I first learned on.

An article in the January 1975 issue of Popular Electronics heralded the new MITS Altair computer as the first practical home computer. 

The revolution had started! 

The Altair was a box containing a power supply, a motherboard, and a front panel with lots of switches and lights.  Into the motherboard were installed the CPU card, memory cards, input/output cards, etc.  Input output was usually by means of a serial terminal.  If you bought it as a kit, you had to assemble and solder all the components to their boards before you could use it, however it was also available assembled.  To start the computer you needed to toggle the front panel switches forming binary numbers and enter them.  You repeated this for a number of bytes as needed to program the boot program.  Then you could enter your larger program using a punched tape reader, or a cassette player.  It was quite a tedious process.

The January 1975 edition of Popular Electronics featured the new MITS Altair 8800 computer.  This was the first commercially viable home computer system.
This is the original ad I saw for the Sphere system..

Sphere Computer

In July 1975 I saw an ad for a Sphere computer.  This was a system based on the Motorola 6800 processor, and unlike the Altair which had to be booted up by toggling front panel switches, the Sphere came with a boot ROM, a keyboard, and a CRT driver.  This provided a self contained, auto booting computer - a true revolution for that time.  After driving to a location where they had a demonstration of their system and seeing it, I placed an order.  I bought the kit system with no monitor, but paid extra for the monitor case and a 16 kB RAM card. 

In October, my kit finally arrived!  The system carried serial number 00013.  In addition to the sheet metal for the computer case and the power supply, there were several Styrofoam blocks, each with a printed sheet on the top.  Through this sheet were poked many IC's, resistors, capacitors, etc.  Each package also included a printed circuit board.  There were instructions, but they were really scanty!  The keyboard consisted of a printed circuit board, a bag of key switches, and a bag of key caps, along with a few other components.

After spending many evenings with my magnifying goggles and soldering iron, I had a series of assembled circuit boards and a huge power supply box assembled and ready to try.  I connected all the cables, hooked up a modified TV set and turned it on.  Nothing but random characters on the screen!  What a disappointment!  A friend of mine, an electrical engineer came over and after a couple hours of oscilloscope probing, we found a defective part.  After replacing it we tried it and IT WORKED!  Of course I didn't have any software to run, but it did include a minimal "operating system", and I could type and see the results on the TV screen.

For it's time the Sphere was a very advanced system.  The CPU board contained the 6800 processor, 4 KB of RAM, 1 KB of EPROM.  It also provided a serial and a parallel input/output, along with the interface for an audio cassette tape recorder.  The EPROM contained the keyboard and video drivers, a small editor, a debugger, a mini-assembler, and drivers for the cassette tape interface.  All this was contained in a miniscule 1024 bytes!

The video card provided 16 lines of 32 upper-case characters output to a TV monitor using a composite video signal.  I modified an old TV to accept this input for my initial use.  Later I got an honest to goodness video monitor.

The cards, including the keyboard were connected using 4 ribbon cables, which daisy chained from card to card.  One cable was for the power distribution, one for the data bus, and two were for the address bus.

The power supply was a linear supply producing +- 5 volts and +- 15 volts.  The supply was large and heavy and had a heavy cable to the computer.

The initial trials of my Sphere were on my workbench.  Here the keyboard is in the foreground, the CPU and video cards in a rack on the left, the power supply in the center, and my modified TV (with a somewhat rotated image) to the right
I typed a screen to show my friends that my computer really works!  The 16 x 32 display only showed upper case characters.  In my comment about part of the debugger working, that was all I had tried so far.  It all worked!

I memorialized this event by means of a Polaroid camera.

Sphere Design Flaws

Although functionally the Sphere worked very well, there were two main problems with its design - the power distribution and the data distribution.

The power supply was a well regulated supply, but by the time the power was sent to the various cards using the light weight ribbon cables, the voltages were considerably lower.  This caused several problems over the life of the system.

The DIP connectors used on the power and data ribbon cables were the other weak spot.  It was easy for one of the connectors to be slightly unplugged and lose the connection.  The mechanical strain of the cables contributed to this.  Also the fragile pins on the connectors would bend and occasionally break and require replacement of the damaged connector.

Sphere Peripherals

I had a very good experience with my Sphere and really learned a lot!  It was difficult to get started, as there was no available software and the methods of loading any you had were crude to non-existent.  When I received the computer there was no tape interface firmware, as the Kansas City Standard (an industry agreed upon standard for 300 baud recording and playback on a standard audio tape recorder) was still being developed.  A couple of months later, after the standard was adopted, I received an updated EPROM containing the drivers.

Initially I would use the built in editor to manually type in the source code for the program in the format for the built in mini-assembler.  I would then assemble it and run it.  This worked well, but of course was a major pain to hand type in the code each time (but less of a pain than toggling switches to input the binary code!).  I soon interfaced a mechanical punched paper tape reader I had to the parallel input port.  Using this, I could type the source code on an ASR-33 teletype at work producing a punched tape.  After hand typing a small loader program, I could then run this tape through the reader and enter the code automatically.  Before long I had programmed the boot ROMs to directly support the punched tape, eliminating the need to hand type the boot program.  While this eliminated the need for a lot of typing, it was very slow.  The tape reader worked at 10 characters per second, and there were several source characters for every final program byte.  This resulted in a realistic speed of about 3 bytes per second of program code.

When the Kansas City EPROMs arrived, I was able to read and write final program code at 30 bytes per second.

Later I bought a Tarbell cassette interface board and connected it with two slightly modified tape recorders to provide a "high speed" way to load and save programs.  Of course this board was for the S-100 bus, so I mounted it in a small box under the recorders and ran a ribbon cable interface to my Sphere.  The Tarbell unit operated at 187 characters per second compared to the Kansas City Standard with its 30 cps and the paper tape reader with its effective rate of about 3.  I was in Hog Heaven!

At a local swap meet, I bought an old Baudot code teletype machine for $10.  This is only a 5 bit machine, which means it can only define 32 characters.  There is a code to shift to capitals, and another one to shift back to lower case.  There are not many special characters.  I wrote a program to convert the standard ASCII code of the computer to the Baudot code of the printer.  This is the only time I ever wrote a program in assembly language where it all worked the first time!  I could now print out the results of my efforts.

Here I have the Sphere set up and operarting.  To the right is my Baudot teletype which served as my  first printer.  On the shelf below the teletype is my paper tape reader.

I bought the two teletype stands from the same fellow as the teletype.

I thought the beige paint over the olive drab of the teletype and the orange paint over the navy gray of the tables spruced things up somewhat.


Over time I updated my printer to a large spinning wheel printer which printed at an amazing 30 characters per second, followed by an IBM Selectric typewriter printer with its ball printhead, a dot-matrix Okidata printer, and eventually a Diablo daisy wheel printer.

Sphere Programming

The built in software was truly amazing!  They had programmed all the needed drivers, an editor, a debugging tool, and a mini-assembler in the very small 1024 bytes of EPROM area.  The mini-assembler required you to type in the source code in the hexadecimal code for the operation, and allowed only single character labels, but worked very well.  The debug routine allowed a hexadecimal dump of the selected area of RAM and was very handy.

One of the members of the Sphere User Group wrote a program to expand the mini-assembler, allowing full mnemonic input as in a full assembler.  This made the programming much easier.

One of the programs which I wrote and submitted to the Sphere User Group was the game of Life.  This was a graphical representation of a population which thrived or died depending on the density of its near neighbors.  The result was an ever changing display of characters showing the population status.  The object was to distribute the initial population so it would survive the most generations.  I won 2nd place for this program and won $25 credit toward more hardware from Sphere (The mnemonic assembler rightfully won 1st place!).  I eventually spent this reward toward their improved 80 character by 25 line display board.  I was really pleased when I went to one of the few Sphere User Group meetings I was able to attend.  When I walked into the hall there were about 10 Sphere computer owners with their systems.  Almost all of them were running my version of Life!

Sphere was never really able to deliver on their promise of a BASIC program for the Sphere.  They gave a computer system to a programmer in exchange for his writing BASIC.  He gave them a stack of program code on paper and disappeared.  The program never worked.  They did deliver a copy of Provisional BASIC some time later, but it was very cumbersome and buggy.  It was rumored that they took a copy of PDP-8 BASIC, surrounded it with a 6800 emulator and called it Provisional BASIC.  It was so slow that it would take several seconds to display a line of code after typing it and hitting ENTER.

I designed and built an EPROM board which held four 2708 EPROMS giving me a total of 4 KB of ROM.  Now with all the added space I rewrote portions of the editor, and debugger, as well as the CRT routines to provide much more functionality.

For $5 I bought a copy of Tiny Basic which was written for the Southwest Technical System and made some minor modifications.  I now had a working copy of Basic!  

I often wonder just how much I would have learned about computers if Sphere had initially delivered on their promise of including BASIC.  My initial desire was to simply program in BASIC and leave the assembly language work for others.

In July 1976 I was contacted by our local newspaper asking if I would be willing to talk with one of their reporters.  Shortly later, Gene Michals, who would later become one of my very good friends, showed up at my house, talked to me about my computer and took some photos.  My story ended up as a 2 page spread in the July 25, 1976 Sunday supplement.

To see the article, please click here.

Imsai

By now I had learned a major amount about computers, but was getting very frustrated by the lack of software and accessories available for my system.  It was obvious that the main hobbyist activity was with the Intel 8080, the Zilog Z-80 and the S-100 systems.

I decided to buy an Imsai system, which was very similar to the Altair, but better built.  I figured I could use the Sphere as a terminal for the Imsai, and the Imsai as a mass storage device for the Sphere.  After I built the Imsai and added floppy disks to it, I had a truly amazing system.  Boot ROMs were now available to eliminate having to toggle in the boot program.  Affordable floppy drives (8 inch) and the newly available CP/M operating system allowed easy and direct access to any programs available.

I made a parallel interface board for the Insai, connected the two computers together, and wrote the required software to allow operation of both systems, each gaining support from the other.  I could now read and write my Sphere software to floppies through the Imsai, and I could operate all the native Imsai applications using the Sphere as a video terminal.  Very quickly I was using the Imsai mode almost exclusively, as there were actually programs available to run on this system!

Each time I designed and built a special board I used a hand wire wrap technique.  I would insert all the sockets into a perforated board, then wire by wire I would strip about an inch of insulation from my wire, poke it into the end of a special hand wire wrap tool, place the tool over the correct pin and twist it until I had a very neat wrap of the wire over the pin.  I would then route the wire to the next pin to be connected and repeat the operation.  You could place two or three wraps on each pin, so you could connect all the required points together.  It was a very effective, but very tedious, construction method.  Of course the professionals used electric wire wrap guns, but I never graduated to that level.

Here I have interfaced the Sphere to the Imsai.  The 8 inch floppies can save and restore programs for the Imsai or the Sphere, and the Sphere is my video terminal for the Imsai and of course for itself.

By now I had removed the smoked plexiglas that covered the front of the Sphere.  Although it gave the computer a smooth, sexy look, it really dimmed the display a lot.

At this point, I had upgraded to an Okidata dot matrix printer.  Initially this printed only in upper case, but by reprogramming the internal EPROM, I was able to get both upper and lower case.

Under the printer you can see my dual cassette tape system and its mounting box containing the Tarbell card and power supply.

There were many accessories available for S-100 bus systems. I built and interfaced an EPROM programmer, so now I could easily modify any of my drivers and boot programs.  Standard serial and parallel port boards were available along with many specialized accessories.

The CP/M User Group was now well established and offered free distribution of literally hundreds of programs written by users and freely shared.  I joined the San Diego Computer Society (SDCS) shortly after getting my Sphere (and shortly after the society was formed).  I later became a life member.  For several years I was the chairman of the CP/M users group and did all the copying and distribution for our many members.  The SDCS was very instrumental in advancing my computer education.  I attended many  special interest group meetings.  My favorite group was called the Inovators.  This focused on new equipment and technical issues in general.  At one meeting we were shown a single board computer.  This was unheard of.  We were used to having separate CPU, input-output, and multiple memory cards.  The presenter showed us 8 chips on this board and announced that that was a full 64 KB of RAM.  We were all amazed!

One of my best sources for hardware, software, and accessories was the swap meet before every San Diego Computer Society meeting.  I bought and sold many items there.  

About this time a local company, Xcomp, gave a demonstration of their brand new CP/M based hard drive system at an SDCS meeting.  We were very impressed!  For only $2500 they offered a huge 10 MB drive (That would hold the contents of over 40 8 inch floppies!) and an S-100 controller consisting of two boards, along with all the required software and cables.  At the end of the meeting, they made us an offer that was hard to refuse.  If we got 10 members to agree to buy systems, we could have them for $1500 each!  Several of my friends and I each bought a system.  It was wonderful. 

With CP/M you had to custom write your own BIOS for your specific hardware, as there were no such things as installable drivers.  The BIOS for the hard drive was quite complex and I never did tailor their example to my system and install it.  Instead I used what they called a "back end loader".  This was an executable TSR (terminate and stay resident) program which put all the required hooks and controls into your system for you.  I just called this program from my autoexec.bat file and I automatically had my hard drive available any time I booted the system.  The main disadvantage to using this approach was that I still had to boot from a floppy disk.  Once the boot process was complete (about 2 or 3 seconds) I had full use of the hard drive.

CP/M did not have a system of directories and sub-directories (folders and sub-folders), but they did allow a drive to be divided into 16 different user areas.  I used these users as a way to help organize my software.

A word about memory:  In those days memory was very limited and very expensive!  I bought two 16 KB RAM boards for my Imsai.  I paid $500 each for them.  That's over $30,000 per megabyte!  As a comparison, in May 2011 I bought 2 gigabytes of RAM for my laptop for $36.  That's less than $.02 per megabyte!  That is over a 1.5 million to one cost ratio!

Kaypro II

Several years into my home computer experience, I ran across a reasonably priced used Kaypro II and bought it.  This was a rugged aluminum box with a detachable keyboard, which was also the lid to the box, and had a built in 9 inch monitor and two 5 1/4 diskette drives.  It was a "portable" system (really it was "luggable").  It ran a Z-80 chip at 2.5 MHz and had 64 KB of RAM.  It ran the CP/M operating system. 

I used this computer when I became the membership chairman of the SDCS to develop a Dbase II membership program which I used for several years to maintain the member records, produce renewal notices, produce monthly reports for the board of directors meetings, and do all the related tasks needed to track hundreds of members.

I used the Kaypro II for my San Diego Computer Society membership program.  On top of the Kaypro is my pen plotter which I used to print out Autocad drawings for work.

On the right is my Heath HS-161 - my first DOS system.  I had a small TV which also had a CGA computer input.  I used this as a monitor for this system.

Out of the picture to the left are my Sphere and Imsai systems.  You can just see my EPROM programmer on the shelf.  I never did interface this to a DOS system, only CP/M.

Around this time I got a Heathkit serial terminal and no longer used my Sphere as my terminal so I retired it.  My son was going away to college so I decided to make him a computer to take with him.  I used the Sphere case and monitor, removed the Sphere card cage and installed a small S-100 card cage along with a switching power supply.  Using some spare S-100 cards, it made a very capable CP/M system for him.  Unfortunately I cannot find any pictures of it, but I do remember that he named it Monique!

The effort must have worked, as now he is employed by Cal Poly University as the manager of a data administration group.  I now go to him for my computer help!

The Birth of the PC

In 1981, IBM introduced their first PC.  This computer was aimed at the low end business user and the home user.  The first system had 2 floppy drives and up to 256 KB of RAM, and ran PCDOS from Microsoft.  It also had a cassette tape interface.  They soon introduced the PC-XT with a hard drive and up to 512 KB of RAM.  Makers of CP/M systems tried to fight back, but soon they pretty much faded into oblivion.  Some came out with CP/M-86 systems to attack the DOS systems head-on, but were short lived.

The system IBM had designed was released as an open source system, which allowed 3rd party companies to produce peripherals and accessories which worked with the IBM.  This also led to a plethora of independent companies producing full blown computer systems in direct competition to IBM.

Microsoft produced two versions of DOS:  PCDOS was only for IBM machines and MSDOS was for everyone else.  The primary difference between the two was that PCDOS supported a version of BASIC which was burned into the IBM BIOS.  MSDOS included BASIC as a separate program.

In 1984 I bought my first DOS based system, a Heathkit portable which included a pop-up compartment containing two drives.  In my case that was a 5 1/4 inch floppy and a 20 MB hard drive.  Over time I found myself using my CP/M systems less and the DOS systems more. 

My first DOS system was a Heath HS-161 "portable" computer.  The drive bay "popped up" from the main case for use, and could be snapped down for transport.  I couldn't live with just one floppy, so I have a 2nd floppy drive sitting on top.

My monitor was a Sony TV which had a CGA computer interface.  This became obsolete on future computers which supported EGA graphics, and then eventually the current standard of VGA.

I later traded this system for an equivalent desktop Zenith system.  We each got the form facter we preferred.

From this point I progressed through a series of ever more powerful DOS based systems, then into the Windows based systems.

I started out with computers that I built completely.  This included soldering all the sockets and components into the circuit boards, assembling it all, then checking it all out.  After my first several computers the construction got much easier.  Individual circuit boards were already factory built.  I merely needed to select my components and plug them all together.  The only computers I did not build, other than my laptops, were my Kaypro II, which I bought used and functioning, A Zenith Z-151 desktop computer I traded for my Heath, and my current Intel Core I-7 system which in a moment of weakness, I let a local computer company build for me.

It's been a long and rewarding road!



<BACK>

 


Dick Mason, Prescott, AZ 6/2/11