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.
|Designing Electronics with Linux||May 22, 2013|
|Dynamic DNS—an Object Lesson in Problem Solving||May 21, 2013|
|Using Salt Stack and Vagrant for Drupal Development||May 20, 2013|
|Making Linux and Android Get Along (It's Not as Hard as It Sounds)||May 16, 2013|
|Drupal Is a Framework: Why Everyone Needs to Understand This||May 15, 2013|
|Home, My Backup Data Center||May 13, 2013|
- Designing Electronics with Linux
- New Products
- Making Linux and Android Get Along (It's Not as Hard as It Sounds)
- Dynamic DNS—an Object Lesson in Problem Solving
- Using Salt Stack and Vagrant for Drupal Development
- Validate an E-Mail Address with PHP, the Right Way
- Tech Tip: Really Simple HTTP Server with Python
- Build a Skype Server for Your Home Phone System
- Why Python?
- Drupal Is a Framework: Why Everyone Needs to Understand This
- Reply to comment | Linux Journal
9 min 54 sec ago
- Reply to comment | Linux Journal
1 hour 7 sec ago
- Not free anymore
5 hours 1 min ago
8 hours 49 min ago
- Reply to comment | Linux Journal
8 hours 57 min ago
- Understanding the Linux Kernel
11 hours 11 min ago
13 hours 41 min ago
- Kernel Problem
23 hours 44 min ago
- BASH script to log IPs on public web server
1 day 4 hours ago
1 day 7 hours ago
Enter to Win an Adafruit Pi Cobbler Breakout Kit for Raspberry Pi
It's Raspberry Pi month at Linux Journal. Each week in May, Adafruit will be giving away a Pi-related prize to a lucky, randomly drawn LJ reader. Winners will be announced weekly.
Fill out the fields below to enter to win this week's prize-- a Pi Cobbler Breakout Kit for Raspberry Pi.
Congratulations to our winners so far:
- 5-8-13, Pi Starter Pack: Jack Davis
- 5-15-13, Pi Model B 512MB RAM: Patrick Dunn
- 5-21-13, Prototyping Pi Plate Kit: Philip Kirby
- Next winner announced on 5-27-13!
Free Webinar: Hadoop
How to Build an Optimal Hadoop Cluster to Store and Maintain Unlimited Amounts of Data Using Microservers
Realizing the promise of Apache® Hadoop® requires the effective deployment of compute, memory, storage and networking to achieve optimal results. With its flexibility and multitude of options, it is easy to over or under provision the server infrastructure, resulting in poor performance and high TCO. Join us for an in depth, technical discussion with industry experts from leading Hadoop and server companies who will provide insights into the key considerations for designing and deploying an optimal Hadoop cluster.
Some of key questions to be discussed are:
- What is the “typical” Hadoop cluster and what should be installed on the different machine types?
- Why should you consider the typical workload patterns when making your hardware decisions?
- Are all microservers created equal for Hadoop deployments?
- How do I plan for expansion if I require more compute, memory, storage or networking?