Aging Systems for Flavor
You see, François, the wonder of cooking with Linux. This tiny diskette contains a complete Linux distribution. With it, I can set up an IP firewall and gateway using nothing but an old 386. Mais oui, I read about it on the Linux Journal web site in their System Administration section. Ah, François, sometimes I long for the days of small, fast applications, requiring just the slightest hint of memory, the faintest glimmer of disk space, and nothing but a subtle je ne sais quoi to achieve grandeur. Cooking with Linux, all this is still possible. Of course, in the old days, it was not all productivity, non?
Oui, François. Qu'est-ce que tu dit? Ah, mes amis! Forgive me. I was reminiscing and did not notice your arrival. Please, come in. François will see you to your table, and I will choose a wine. Hm...what to serve?
Every once in a while, one longs for the days of some old hardware platform on which they first practiced their computing (or gaming) skills; a Commodore 64, a PET, an ATARI, an Amiga, a TRS-80 or even an IBM 1130. This is part of the normal human condition, something called “nostalgia”. Not unlike a fine wine, some of these old platforms seem to mature and take on subtle, elusive qualities that can best be appreciated in a relaxed, open atmosphere.
This month, in a special hardware issue, we are going to be cooking with Linux, but cooking up something decidedly “un-Linux” in the process.
Speaking of wine...François! Kindly bring up the '89 Pomerol from the cellar. Our guests are thirsty.
Emulators are quite common in the Linux world. You can run old DOS applications with DOSEMU and Windows applications with WINE (knowing full well, of course, that Wine Is Not an Emulator). To truly emulate something, you create virtual machines that run on your current machine. With Windows, this is done using products like VMWare (http://www.vmware.com/), which let you run full versions of Windows on Linux. Emulators can also bring back systems long ago thought dead.
In the case of the products I describe here, you must remember that the material is often still copyrighted. Some emulators require that you have the original disks containing the OS or the ROM image. Making software backups of old ROM cartridges is beyond the scope of this article and would require that I keep François working far too late. However, emulator sites do store this type of information for various platforms. There also are a number of public domain programs designed for each of these platforms, so you can have the joy of playing a game with 8 bit graphics without the guilt. I will also hold off until the end of the article to give the appropriate URLs for each emulator I discuss.
Getting these emulators is as simple as visiting the appropriate sites on the Web. I won't spend a lot of time explaining how to go about compiling each one. The format is essentially the same for all.
tar -xzvf emulator-1.01.tar.gz<\n> cd emulator-1.01 ./configure make make install
First on the menu is an old favorite of mine. Once upon a time, your humble chef had a Commodore 64 (not to mention a PET and even a VIC20). For those who may still have old programs floating about and long for the days of your favorite game, complete with sound courtesy of Commodore's SID chip, try a little VICE, which stands for “Versatile Commodore Emulator”; it is indeed versatile. It can emulate the C64, the C128, the VIC20 and most of the PET models. The “VICE Team” distributes the program under the GPL.
Of all the Commodore models, I admit to having been quite attached to my old C64. On a whim, I decided to try a little basic program, for old time's sake. As you can see from the screen capture (see Figure 1), Marcel's Commodore BASIC is not as sharp as it once was. To launch a Commodore session, simply execute the following:
x64 (to launch a C-64 session)<\n> xpet (to start your very own Pet) x128 (starts a commodore 128)
Et oui, there are more. The C64 was an actual computer, in that you had a keyboard where you could type and do work. Not all the machines of the late 1970s and early 1980s were designed for work. One of the most popular games of the time was the Atari 2600 Video Computer System; it seemed everybody but your chef had one, although he did visit friends who were willing to share. For those longing to relive those days, there is Stella, created by Bradford W. Mott (although many others share in its continued development and ports). Stella is distributed free of charge, but the license is not GPL. Once again, there are numerous freeware games and demos out there for the curious. Running a game with Stella is very simple:
The Atari 2600 was only one of many systems put out by the company over the years. Petr Stehlik's first computer was an Atari 800XL, which he describes as something like a first girlfriend, somebody (or something, as in the case of the 800) that you will never forget. He is the current maintainer of the Atari 800 emulator, originally written by David Firth). Along with the help of others, he continues to develop the product.
There is a huge repository of Atari 8-bit programs sitting over at the University of Michigan software archives. A visit there will provide you with hours of nostalgic fun. In the arcade games section, you may even find the answer to that old question about the chicken and the road with a familiar game called chicken. A number of these programs are stored in the old ARC compression format. You may need to get something like unstuff (the Alladin Expander) to extract the files after you download them.
Another computer I was quite fond of in my early days, and my first exposure to assembler programming, was a TRS-80 Model 1, Level II. It was on this machine that I first learned BASIC (Fortran actually came first on an IBM 1130). For the Radio Shack TRS-80 enthusiast, you should find Tim Mann's TRS-80 pages with emulators, links to documentation and other TRS-80 sites. In fact, there is a wealth of information about every aspect of this nearly forgotten platform. This is a man who, at one time, was a TRS-80 systems programmer and has never gotten it out of his system.
Hardware emulators even make sense for people developing software for existing platforms. Xcopilot is such a program for your PalmPilot. Using the getrom program from the pilot-link utilities on your system, you can then use this X Window version of the copilot program to develop software or debug applications without risking your own Palm Pilot's sanity (I have crashed mine with experimental programs). Or, you can simply run the applications on your desktop if you happen to be fond of that Pilot interface.
Finally, for those with far too much time on their hands, I discovered the most unlikely emulator. Remember those annoying little electro-pets on a keychain, the Tamagotchi? If you miss your little friend while you are busy working, you could run Ktamaga, a Tamagotchi emulator for the K Desktop Environment (KDE).
If you find yourself looking for emulators that will run under Linux that I have not mentioned here, consider visiting Freshmeat.net. Doing a search using “emulator” will give you plenty to keep you busy.
Once again, it is time to close the doors here at Chez Marcel. Apparently, I will be the one to refill your glasses one more time before you go. It seems that François has disappeared. He is probably playing that old chicken-road-crossing game, non? Our François is a hardworking man, non? I hope this little tour has given you a taste of how your Linux system can help bring back those long lost friends of your early computing days. Until next time, your table will be waiting here at Chez Marcel.
Á votre santé! Bon appétit!
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
- Be a Mechanic...with Android and Linux!
- 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