Home Trips Motor Home
Projects
House Projects  Machine Shop
Projects
Automotive
Projects
Early Computer
Days
About

   

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

The revolution was now underway!
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 shorted trace on a circuit board and a solder short..  After correcting these 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 two parallel input/outputs.  A separate board provided the interface for dual audio cassette tape recorders.  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 +- 12 volts.  The supply was large and heavy and had a heavy cable to the computer where it attached to a ribbon cable for distribution to the various cards.

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 when I tried it!  I did figure out the assembler and it worked also.

I memorialized this event by means of a Polaroid camera.

Sphere Firsts

The Sphere computer was acknowledged by Byte magazine in its 5 year commemoration issue as the first true home computer.  They based this on the requirement that a home computer needed a keyboard, a numeric keypad, a built in monitor, and external storage.  Steve Jobs from Apple bitterly contested this announcement, but the fact is that Apple didn't even exist until a year after Sphere released their system.  Sphere was also the first computer to use a keyboard reset function (i.e. CNTL-ALT-DELETE).  The man from IBM who claims this distinction was not even hired by IBM until 5 years after the Sphere was built.  Within a year after the Sphere was released, there were many other companies releasing systems very similar in looks and function to the Sphere.

Sphere Design Flaws

Although functionally the Sphere worked very well, there were two main problems I found 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, even though they used multiple conductors for the heavy draws, 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.  I bought DIP connectors by the dozen!

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.  For short programs, I could just type in the object code in hexidecimal into the debugger.  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 surplus mechanical punched paper tape reader I already had to a 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, 20 bytes if I remember correctly, I could then run this tape through the reader and enter the code automatically.  After I discovered we had an EPROM programmer at work, I programmed the boot ROMs to directly support the punched tape, eliminating the need to hand type the loader 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.

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 letters, and another one to shift to numbers and symbols.  One of the "symbols" was the ringing of a bell.  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 and made my wife much happier about my bringing them into the house.


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

This was actually somewhat anticlimactic as I had already 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!  The big plus in receiving the Kansas City  EPROMS was that I now had a common method of interchanging  software with other Sphere users.


Tape Unit This is the high speed tape system I made.  The Tarbell cassette board and a small switching power supply are in the beige box.  It is connected to the Sphere through a ribbon cable.  The whole assembly pulls out on drawer slides for use.

The two tape recorders are slightly modified.  The latches that hold the Fast Forward and Rewind keys have been removed so that they are momentary buttons.  Also the muting switch that quiets the audio during tape transport was disabled.  This allowed me to drive the tape to the approximate counter number, then slew the tape back and forth to locate the silence between programs.  This is where I would start loading the next program, or saving the current one.

I was easily able to switch the function of the recorders between the Tarbell controller and the Sphere Kansas City Standard tape.



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 to check the results of my programming.

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, which displayed both upper and lower case!.  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 digging into the innards of the system and the assembly language programming 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.  In addition to having a system which was compatible with "the rest of the world", 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 Imsai, 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 made the display dim and hard to read.

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 San Diego Computer Society

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. 

The CP/M User Group was now well established and offered free distribution of literally hundreds of programs written by users and freely shared.  For several years I was the chairman of the CP/M users group for the SDCS 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 forty 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 guess this was as close as CP/M came to having an installable driver).  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 built 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!

Printers

I have touched on several of my printers in the above paragraphs.  Until I reviewed my early computer photos, I didn't realize just how many different printers I had during this period.  Here is a quick summary of these printers:


As mentioned above, this Baudot code teletype, purchased at a swap meet for $10 was my first printer.  It interfaced with a serial, current loop interface and needed a conversion program in my Sphere to allow it to correctly iterpret the ASCII computer characters.

It worked pretty well, although it was slow and required a roll of paper to print on.  Newsprint paper was the only paper I could find on a compatible roll.  Oddly enough, it was sold as "Teletype Paper".
Several months later, I found this monsterous floor stand printer at surplus and bought it.  It interfaced to the Sphere using a regular RS-232 serial interface.  I don't recall if it printed both upper and lower case or only upper.

The printer worked using a constantly spinning print wheel which rolled against an ink roller.  This wheel would cross the page as it printed with a small hammer on the back side of the paper hitting as the correct character spun by.  It printed at 30 characters per second and produced fairly good print.

It required tractor feed paper, and I would place a carton of the paper on the floor under it which would be pulled up into the printer as it went.  I could then tear off the printed pages at the rear of the printer when it was done, after ejecting a blank page to bring the printing outside the case.

This is the exact same model printer our company Timeshare system went to when they upgraded their system to 30 characters per second.


One of the members of the San Diego Computer Society found a deal on 20 surplus IBM Selectric input/output typewriters, and a number of us each bought one.  These were the regular Selectric typewriter mechanisms with the ball printhead, but with the addition of a paper tape reader and punch, and the ability for a computer to input from the keyboard and output to the printer (typewriter).

It never handled the paper tape reader and punch properly, but was an excellent printer and could still be used as a manual typewriter.  It was somewhat slow and quite noisy.  I could easily change the font style by changing the snap-on golf ball sized (and expensive) printhead.  I only had a couple printheads.
The printer supplied as an option with the original Sphere system was a rather large Okidata 7 pin dot matrix printer.  It was originally priced at almost $1500 and printed only in upper case.

I found a used one for MUCH less money and bought it about a year after buying my Sphere.  I read in a magazine how to add lower case by re-burning an EPROM inside.  I took some graph paper and carefully laid out the lower case alaphabet (with no descending dots, as this was a 7 pin printhead), coded the lines of dots in each character, and burned an EPROM.  I now had both upper and lower case characters, although the lower case characters I designed were really small uppercase characters.  It worked well for its period of use.


Several years into my computing experience, both Epson and Okidata came out with small, inexpensive (for that time) dot matirx printers.  I chose the Okidata because it was fast and it had a 9 pin printhead which produced both upper and lower case characters correctly, including the descenders.  It used a regular typewriter ribbon so was cheap to run.

This printer was fast, economical, and had a decent quality print.  It served me well for quite a while.
Toward the end of my CP/M days, I bought a "real" printer, a Diablo 630 daisy wheel printer.  This used plastic daisy wheels to provide all the characters for a given font style and size.  By merely popping off one wheel and snapping on another, you could change fonts.  The printing quality was excellent and the printing speed was quite fast for an impact printer of the day.

It was a little expensive to operate, as it used a one-pass custom carbon film ribbon cartridge which often seemed to need replacing.  I accumulated a number of print wheels for different fonts, but I never had to replace any due to wear.

This served as my printer throughout the balance of my CP/M days and well into my DOS systems.

I couldn't find any photos of mine, so this is a "file" photo.


OK, so this isn't really a printer, but since a pen plotter still imparts a computer image to paper, I'll include it here.

In the early 80's, a friend of mine and I went together and bought a very nice new surplus pen plotter.  We each used it on several of our current projects, but after a while I started using it heavily for printing out many drawings generated on ACAD for the small company I was a partner in.  It served this function very well and made very readible schematics, detail drawings, and assembly drawings.  Eleven inches was the widest paper it would accomodate, so most of the drawings I printed were 11 x 17.

This extends outside the timeline of this page, but I wanted to include my first laser printer.  Several years after getting into the DOS system world, I bought an HP Laserjet.  This was absolutely wonderful!  It did everything I had been trying to do since I started working with computers.  I could print in any font, any size, any direction, and I could intermix these on the same page.  In addition it would do a better job on line graphics than my pen plotter, and was extremely fast!.

I had an extended fonts cartridge and a Postscript catridge which added greatly to the usability of this printer.  In the pre-Windows days, your printer had to have the same font and font size your application used.  There was no font transfer between the application and the printer.  Postscript fonts were scalable, but only the premium applications supported Postscript.

The world of printing really changed with the introduction of this marvelous technology.

I have had many printers since, but they tend to fall into the world of "modern printers" and have all been either laser or inkjet.




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 to to my son 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