June 6, 2005

Experience the '80s again with Ubiquitous Amiga Emulation

Author: Tony Granberg

In this era of fast, inexpensive computers, we expect nice-looking 3D graphics in each new animated film, PC game, console game, and even operating system. But when I saw a programming demo of a simplistic yet cool-looking white 3D ball bouncing freely and smoothly on a friend's 1992-vintage Amiga1200 screen, it amazed me that a machine that old could be so powerful. Alas, most of the operational machines from that era are collecting dust in people's attics, but we can re-enter the realm of Amiga with an open source emulation application.

First, a bit of history. Commodore was the company behind the Amiga machine. The company was founded in 1958, and in its early days was known for producing calculators. In the 1980s it entered the home computer industry, creating machines like VIC-20 and Commodore 64 and 128. In 1985 it introduces the Amiga computer, a sort of all-in-one computer system with a bundled graphical interface called Workbench. The machines were capable of doing multimedia or office work -- the only catch was how time-consuming things would be. Rendering a good-looking 3D scene that today would take about two minutes could then take as long as two weeks to complete. But at least they were capable of doing it!

Using a modem or network adapter, you could hook your Amiga up to a local network or a bulletin board system. Today, Amiga owners can hook them up to the Internet, if they can find a compatible Ethernet device.

You can still find Amigas for sale by a couple of companies in areas where both classic and modern hardware, such as the AmigaOne and Pegasosis, are offered.

Those who do not have their own Amiga computer but want to experience life before the fast lane can use Ubiquitious Amiga Emulation (UAE), a mature open source emulator application. However, there is a catch: in order to get 99.9% of the software, demos, and games to work, you will need a Kickstart ROM, which unfortunately is a commercial proprietary binary piece of code.

If you do not own a real Amiga or you don't feel like buying the Kickstart ROMs, you can try out the RSI Megademo. For this I recommend you download a specific experimental version of UAE that contains both sources and precompiled binaries made for GCC 3.3 and upwards: uae-0.8.25 (experimental).

Make sure you have the prerequisite libraries for UAE: either GTK 1.x or GTK 2.x depending on UAE version. For this MegaDemo example, it's the GTK 2.x libraries.

Uncompress the file and invoke the program with the commands:

mv uae-0.8.25-20040302-x86-glibc23.tar.tar uae-0.8.25-20040302-x86-glibc23.tar.bz2
tar jxvf uae-0.8.25-20040302-x86-glibc23.tar.bz2
cd uae-0.8.25-20040302

UAE displays an About screen in a tabbed window. Click the "Floppy Discs" tab, press Insert, and locate the rsi1.adf file (Megademo). Then press Pause, and voilĂ ! The Megademo loads up on your screen, and you should hear some crisp sound coming out of your speakers.

The Megademo is supposed to behave correctly whenever it is initialised together with the original Kickstart ROM file, but this is unfortunately not the case when you select the built-in early-release replacement version found in UAE. Most noticably you find that the background music and scrolling text are both missing. Also, don't be too surprised if error messages appear in the console output -- a clear hint that this is experimental code. This part of the emulator is a work in progress. In a finished state, it should allow anyone to experience Amiga nostalgia using 100% GPL-licensed code.

You can order a licensed ROM file from the Amiga Forever Web site. If you are the owner of an Amiga machine, use software called TransROM (bundled with the emulator source files) to extract the Kickrom and transfer the file to your computer for use with UAE.

Features being emulated

CPU: 68000, 68010, 68020, 68040
RAM: Ranging everywhere from 1 MB and 64 MB
Graphic chipsets: OCS, AGA and ECS
Graphic card memory: Less than or equal to 8 MB
Floppy: Image-based format, with 4 slots available to read from
Hard disk: Either as image or using a native filesystem for it
Peripheral support: Joysticks and mouse
State saving support: (Ability to pause and resume sessions)

Amiga software resources

Back2roots.org is probably the most famous Amiga site. It offers hints on how to get complex games and demos running with different emulator configurations, and illustrates listed items with thumbnail screenshots. Be warned, though -- navigating around the site is a mess. However, it does have the most comprehensive list of games and applications I've seen so far.

Another site you can visit for abandonware is Ancient Toys. It uses a simpler layout and navigation than Back2roots. Games are listed with suffixes "OCS," "AGA," and so on, which tells you straight away which graphic chip you need to configure for in order to get a selected game to work.

Commodore was ahead of its time when it created a versatile and powerful home computer for the masses. You can still find quite a few applications and innovative games written for the system -- something for everyone. Give it a try if you want to see what a past generation of programmers could do with the cutting-edge desktop hardware of its day.

Tony Granberg is a 21-year-old student from Sweden with six years of experience using Linux software.

Click Here!