Hindustan Computers Limited (HCL) introduced the first PC in India in 1978 before IBM and Apple Inc. It was called HCL 8C and was based on Rockwell PP 8 microprocessor. It came with BASIC language and a powerful Sort/Merge Package and could meet the IT needs of medium-sized companies.
In the 1970’s, most of the computers used in India were the IBM 1401’s. You had to use a special Assembly Language called Autocoder to develop programs. The IBM 1401 was huge and required a big data centre with air conditioning. Also, the IBM 1401 was based on second generation transistor technology and was very slow. IBM was charging around INR 500,000 per year just to lease this computer. HCL introduced the HCL 8C that you could buy outright for just INR 300,000. You could put it on an office desk and it did not need any air conditioning. HCL 8C used the latest Rockwell PPS 8 microprocessors, and it was much faster and efficient than the second generation IBM 1401’s.
I was fortunate to be one of the developers of HCL 8C. Our small team of engineers, most of us from IIT Kanpur, developed HCL 8C right from scratch using indigenous components (except for the microprocessor and the memory chips). The motherboard and all I/O boards were designed and assembled out of discrete components. The Operating System, all the Device Drivers, BASIC Interpreter and the Sort/Merge Package were written using bare machine language of Rockwell PPS 8.
Though, there were many challenges. There was no one to mentor or guide us; we had to learn everything by trial and error and had to start from scratch. All we had was just the Rockwell PPS 8 CPU and memory connected. There were two rows of 8 toggle switches, one to indicate the memory location and the other to specify the program byte to be loaded into that memory location. We had written the device driver programs in machine language (using Zeroes and Ones) and had to load the whole program into memory, byte by byte, before starting debugging. Often in the middle of debugging, the whole program used to get wiped out of memory due to some power spike that were common in India in those days and we had to reload the program again. .
Later, we found that we could use PROMS (Programmable Read Only Memory) Chips which made things a bit easier. This way of debugging the programs was very slow because the H/W that we were using was being developed and tested by the H/W team. This is when I wrote a Rockwell PPS 8 simulator on the IBM 360 at the Delhi University Computer Centre. This allowed the S/W team to start developing the system in parallel, without relying on the H/W that also was being developed. I wrote the simulator in FORTRAN and IBM 360 Assembly Language.
We still had to code the programs in machine code. To make things easier, I also wrote a Cross Assembler on IBM 360. This allowed us to write our System Software in Rockwell PPS 8 Assembly Language that used easily understood commands rather than Zeroes and Ones. The Cross assembler would read Assembly Language programs and would convert it to machine code, which in turn could be run on the Rockwell PPS 8 8080 simulator.
Those days, we had only Batch Processing and the programs had to be fed to the IBM 360 via 80 column punched cards; each card representing one line of code. Every morning, we used to carry boxes of punched cards containing our programs to the Delhi University Computer Centre. We submitted our jobs in the Batch Queue along with the Delhi University Students. We had to wait for many hours to get the output. When we got the output, often the job would have failed due to some punching error on one of the cards. We had to re-submit the job and wait for a few more hours. The University Computer Centre was very busy and we could get only two runs per day. Then we found that the IBM 360 at Physical Research Labs in Ahmedabad was not so busy and decided to use it for our development. Our team would travel to Ahmedabad, stay there for a month, develop the S/W on the IBM 360, come back to Delhi and test on our system. This cycle continued until we developed the complete HCL 8C system.
I clearly remember our frequent trips to Ahmedabad from Delhi travelling in third Class Railway Compartments carrying huge boxes of punched cards, and also our long hardworking software debugging sessions often extending to 36 hours at a stretch.
We developed all the Device Drivers, the Operating System, BASIC Interpreter and the Sort/Merge Program using our Cross Assembler/Simulator System on the IBM 360. When the H/W guys were ready with all the mother board and I/O cards, we were ready with the Software. Because we wrote the whole software in machine code, the HCL 8C was very fast and efficient and could beat the IBM 1401’s easily. No wonder, the HCL 8Cs started selling like hot cakes.
The HCL 8C was very well accepted by the Indian IT Community and they started asking for enhancements. Because our software code was in ROM (Read Only Memory), this posed a problem. The EPROMs (Erasable Read Only Memory) chips which had just started becoming available at that time came handy. We started using these EPROMs for new releases of our Software; the customer just had to replace the old PROM with a new one to get the new Software release. We could then erase the old EPORMS by exposing them to Ultraviolet rays and reuse them.
If the IT industry had continued to use the same HCL strategy for Basic Software Releases, we would never have any PC viruses and the multi-billion dollar PC virus security industry would never have existed.
HCL introduced “System 2” an INTEL based computer in 1981. The “Busybee” was the PC compatible machine and was introduced later.
About the Author
Rama Ayyar is an IIT Kanpur alumni (1974 Batch M.Tech Computer Science). He is an IT Consultant based in Sydney, Australia. He is one of the founding members of HCL India.