Bill Pentz's memories

of the prehistory of the personal computer

While at Sacramento's California State University, I inherited a graduate student project where a team undertook the work needed to turn an IBM System 3 into firmware that could be put onto a single VLSI chip. At that time the biggest internal memory for the VLSI technology was 4K so the entire System 3 instruction set had to be built in firmware that fit in 4k. The graduate students struggled for two years to finally get their firmware code written to fully emulate the System 3, but their result ended up 12K in size. I sent a year of my life turning that 12k into a 4k sized program. Every change I made had to be tested, so I build a test program that verified firmware worked. It basically checked every different instruction, function, address mode, program counter, stacks, and calls. That program worked so well, we soon were in the business of checking out VLSI designs for most of the major mini computer and mainframe computer vendors in trade for lots of equipment for our department. I ran that effort.

My pet project was for the American Medical Preventics Society, a group of pretty forward thinkers who were backed by the Governor. They were having our campus build a set of programs to validate how well existing medical treatment programs worked that used already approved medications. The issue is lots of things are certified for one thing and then used for something else, but the alternative uses are not legal and can create a mess. Our major goal was to see what behaviors actually lead to the longest and most healthy lives. Our secondary goal was to look at using the same chemicals to treat heavy metal poisoning as a means to remove excess plaques and other debris from circulatory systems. The big problem this project had was nothing new, we had far more computer work to do than we had money to pay for computer time. At $400+ per hour of computer time it made no sense at all to be using our mainframe to enter and edit the thousands of patient records we had.

We already had a Tektronix 4023 smart graphics terminal and my though was we might be able to cobble up something with the 8008 Intel early prototype sets we got in trade for helping Intel with some VLSI testing. One of my lab students, Alan Neuman and I used a DigiDesigner prototyping board and wired up a working 8008. The result worked but had so many problems and timing errors it was too unreliable to use. I took that problem to the senior electrical technician, Russel Light. Russ was one of these guys who is kind of a natural genius who just knows what to do. We needed him badly because our fastest scopes showed nothing leaving us totally in the dark as to why we were having problems. Russ' counterpart, Dave Mack was the other CSU electronics technician. He was as diligent as Russ was inspired and they made a great team in spite of all getting done with huge amounts of yelling and consternation. Regardless, Dave made us a prototype board that slipped into the Tektronix 4023 expansion chassis.

Writing code for the 8008 was torture that required PhD skills and near infinite patience as the commands were so very primitive. I was in a hurry to get a data entry system up and running quickly. As the computer department technician I kept all of the listings and card decks from the senior projects to make sure students did not cheat. All projects were written in IBM BAL. I found a really good cross assembler and a really good emulator that ran on IBM BAL. With the IBM System 3 emulation working, I was able to simply steal most of the firmware to support all the other BAL instructions, address modes, etc. in the same firmware we used for emulation. That firmware was near identical to the 8008 code, so all I had to do was pretend the 8008 was a firmware machine and provide it with a program so it behaved like a simple IBM BAL computer. Presto! We instantly had a huge library of very well written programs that would do all kinds of things. One thing we did not have was a good interactive video editor, so we wrote a quick and dirty editor based on doing a memory map of 1K of address space. All that we did including both hardware and software was shared with Intel. They actually modeled their development systems after much of what we got working. Further, they used our cross assembler to convert our BAL programs to give them a working operating system, an assembler, a BASIC interpreter, and a viable data base.

In theory all was good, but in practice there were still strange problems with the 8008 board being intermittent. We really did not have the technology to fix that ourselves. Dr. John Miles had been doing some work with Tektronix out of Beaverton, Or. which got us more of the nice color graphics terminals. I worked with him a little and was able to impose on them for some help. They gave me a fully working and debugged multi layer 8008 CPU system. The engineer who gave that unit to me claimed they built it all in just a few hours after learning what I wanted, but I later learned this system was started for another project that had already been closed, so the equipment was looking for a home. Donating it to our university made for a good write off. Regardless, we ended up with a solid unit that we connected to a 5 MB fixed with removable hard disc drive, the color Tektronix with its built in communications to let us send our edited data to the host, and even incorporated a nice line printer.

Intel asked my help in trying to decide on the final instruction set and features for their new 8080 microprocessor. I shared the main instructions that were so difficult to emulate as well as both address space and addressing mode recommendations. They gave us some of the early prototypes in trade for again using my VLSI test programs. With help from both Dave Mack and Russ Light we upgraded our system from the Tektronix 8008 to our own 8080 system. We were hoping that we would be able to build that 8080 into a full affordable medical computer system to help physicians track patients through time and more quickly note changes that needed addressed. Our project came to a screaming halt because our new department chair, Professor Jerry Dillion got so frustrated trying to build his own microprocessor based equipment and software that he called time, said these things were just too primitive to be of any real use because it was near impossible to work out the electronic problems and needed PhD programming skills with the patience of Job. I was told to do no further work with microprocessors or spend any more time helping anyone or vendors. The State of California had long been after me to come help with some of their big host computer system problems and I suddenly was invited by the Governor's Office to either come help the State or not have a job. I went to work with the State at three times my prior technician salary.

On my own I helped build a few more systems including the original IMSAI, but within a couple of years I was so burned out from so many people bugging me with questions that I called time and went into hiding....

Bill Pentz, Januery 2015