Emulating the Past
When I was a kid, I had to walk 5 miles, uphill, in the snow to school each day....Okay, it wasn't THAT bad. Back in 1975, the MITS company produced the first personal computer: the Altair 8800. I remember reading the article in Popular Electronics describing this wonderful new computer, but since I was 10 years old at the time, $400 for a kit was not only way too expensive, it would also have been impossible for me to build. This computer was based on the 8080 8-bit CPU and had 256 bytes of RAM. I didn't say 256Mb of RAM or 256Kb of RAM, I said 256 BYTES of RAM.
I didn't get my first computer until the early 1980s when I could finally afford a computer. I selected the TRS-80 Color Computer. At the time, there were many competing types of computers, and almost none of them were compatible. It was difficult to choose between the TI-99/4A, Commodore Vic 20, Apple II, Atari 800 and the many other personal computers available at the time.
I learned a lot about computers from my Color Computer. I wrote programs in BASIC and assembly language. I also had lots of fun playing the arcade type games. I expanded my computer from 16K of RAM with no mass storage to 64K of RAM with 2 floppy drives. The computer was even able to run the OS-9 which is a UNIX-like operating system that allows multiple users on one computer. I actually had a dumb terminal connected to the serial port of my 64K Color Computer and had two programs running at once!
Here we are in the year 2000. No, we don't have flying cars or transporters, but computers with 400Mhz processors, 64MB of RAM and 10GB of disk space are common place. It's amazing how powerful our computers are now. I have four or five PCs at home, but I got rid of my Color Computer quite a while ago.
Recently, a friend and I were talking about the Altair computer and other historical personal computers. He owned a TI-99/4A computer, and has spent quite a bit of time searching the Web for information about the TI-99/4A computer. (If you want to see his site about the TI-99/4a, go to http://www.mainbyte.com/ti99/.) I spent time searching for information about the Altair and Color Computer. As a result of our search, we found quite a few emulator programs which will emulate a historical computer on the PC you have on your desktop.
One of the most developed emulators is the XMAME/XMESS. MAME stands for Multi Arcade Machine Emulator. MESS stands for Multi Emulator Super System. MAME was created so people could run arcade games on their computer. Games you used to pay quarters for in an arcade can be run on your Linux PC! MESS uses the same framework as MAME but is used to emulate personal computers such as the Commodore 64, Color Computer or TI-99/4A.
Building the emulator software is very simple. You can download the source code to these emulators at http://x.mame.net.. This version of the emulator runs under X11 and compiles under Linux. However, finding the software to run on the emulator is very challenging. I wanted to run the TRS-80 Color Computer emulator, so I downloaded the MESS software and compiled it. This software emulates the Color Computer hardware, but does not have the computer BIOS or any software. Even though Radio Shack does not make any money from Color Computer software today, they still maintain the copyright on their BIOS and software. They don't appreciate people illegally copying their ROMs and software.
There are ways to obtain the code you need, though. If you own a computer that you would like to emulate or know someone who does, you can find programs that will extract the BIOS for use in the emulator. If you do a Web search, you might find the ROM images and software you need. The publisher of this web site and the author of this article will not be able to help you find ROMs or software. Sorry.
As you can see from the screen images, I have successfully emulated the TI-99/4A computer and the Color Computer on my Red Hat Linux system using the XMAME software. This software is able to emulate many of the poplar PCs from the 1980s, but what about the Altair? Well, I even found some emulators for it! Soon after the Altair computer was released, the IMSAI company created a compatible computer. And I bet you thought Compaq came out with the first compatible computer! There are graphical emulators for the Altair and the IMSAI computers; they are for Windows, but I've been told they run under WINE though. You can find them at http://incolor.inetnebr.com/bill_r/.
These old computers had switches and single LED's to manipulate and view the data and address lines on the 8080 processor. The graphical emulators allow you to flip switches and view the LEDs blink as programs run. Unfortunately, you have to enter your programs in one machine language byte at a time, which is what you need to do if you purchased the kit in 1976. Soon after the kit was released, companies released peripherals, such as floppy drives, making these computers much more useful. Before long, your Altair personal computer could run operating systems such as CP/M and software such as Turbo Pascal, dBase II, WordStar and others.
There is a web site called The Online Software Museum that has emulators you can run from your computer via telnet. The URL is http://elena.sysun.com/museum.index.html. You can run an Altair emulator with Microsoft BASIC or a system running CP/M with applications such as WordStar and dBase II. If you want to run these on your own computer, you can FTP them from this URL: ftp://elena.sysun.com/pub/sim. Be careful when you access this site because it is connected to the Internet via a slow link.
I hope you had fun remembering computers of the past. Hopefully, it was more like a walk in the park and less like walking miles to school in the snow.
Free DevOps eBooks, Videos, and more!
Regardless of where you are in your DevOps process, Linux Journal can help!
We offer here the DEFINITIVE DevOps for Dummies, a mobile Application Development Primer, and advice & help from the expert sources like:
- Linux Journal
- New Products
- Users, Permissions and Multitenant Sites
- Flexible Access Control with Squid Proxy
- Security in Three Ds: Detect, Decide and Deny
- High-Availability Storage with HA-LVM
- Tighten Up SSH
- DevOps: Everything You Need to Know
- Solving ODEs on Linux
- Non-Linux FOSS: MenuMeters
- diff -u: What's New in Kernel Development