Amiga Emulation Guide
A Reborn Prophet of Hugi
The Retro movement had its peek in about 1997, when masses of emulators were released for PC. The first known to a broader public were C64 emulators, followed by emus for various consoles, Spectrum, Atari computers, Amiga and even arcade systems. These tools usually were free or shareware programs developed by enthusiastic computer freaks who were forced to switch their system for some reason and still wanted to use the old programs. At the beginning these tools were a bit buggy, of course, but with time, the emu coders community managed to get rid of most errors. Now most programs for most systems are emulatable without any flickering, crashing or extraordinary behaviour.
The handling of the individual emus differs a lot, however. Don't think that you can always simply run programs downloaded from the Net without any experience with the emulated system. This may work with Bloodlust's NES and Mega Drive emulators, which are as easy to control as the original machines: just download the ROM of the game you want to play, select it in an file-open box, and it will already run. Okay, PaCifiST for Atari ST machines isn't much harder, as the ST got an easy-to-use built-in graphical interface. But for C64 emulators, you already need some knowledge of the system, like that the command-line interface is a full-fledged Basic interpreter. You need to know at least the two most basic Basic commands, Load and Run.
The Amiga is a yet harder piece of hardware, and getting a prog to run on the emulators may be very complicated for people who've never had to do much with the machine. Not only do you need to get two files apart from your emulator in order to do anything with it other than gazing at the Insert-Kickstart-disk screen, most programs, especially demoscene stuff, are not available on the Net as disk-images, but as lha archives. After unpacking them, you will get files and directories, as they would be on an Amiga harddisk. It's still possible to run these programs using emulators, but it is not fully explained in any of the docs distributed with UAE or Fellow, the major Amiga emulators for PC systems.
My own Story
These two obstacles created a lot of problems for me. In fact I have an ancient Amiga 500 with a memory extension of merely 1 MByte and no harddisk. It was already outdated at the time I got it, and so I didn't do much with it apart from using the original programs I had bought along with it once in a while. That was why I never got really experienced at using this system, for instance I never used the command line interface (CLI) of Workbench. When I was longing for finally reading all the Amiga diskmags I had gathered on my PC emulating an up-to-date Amiga machine, I hence was like someone who had never had an Amiga before. The fact that the emulator alone was not enough to get any mag to run quickly tempered my initial enthusiasm.
When I had finally gathered the stuff I needed, I was disappointed that I only succeeded in executing the mags which I had as ADF files (Amiga disk images). After searching the Net, I found a tool called ADFOpus which promised that one could easily create ADFs and HDFs (virtual harddisks) out of sets of files and directories. Unfortunately, it turned out to be rather buggy. Creating HDFs larger than 1 MByte didn't work at all, and if I didn't copy files into the ADFs one by one, it could happen that the last file appeared in the ADF twice and I couldn't copy anything more into it.
After a while I succeeded in creating such an ADF file of the diskmag Oepir Risti #8. I ran WinUAE, plugged the diskmag ADF into the virtual drive df1:, Workbench being in df0:, and indeed an icon of the disk appeared. After a first double-click, a new window opened with a large Oepir Risti icon, and after another, I was in the mag. But this procedure didn't work with the other mags I tried it with. No logo was displayed after opening the disk folder - it seemed as if the disk was empty.
Luckily, I reached my Hugi-Core mate TAD via ICQ that evening. He explained me that this phenomenon simply happened if no icon image was distributed along with the program. Unlike Windows, no standard icon was displayed in that case. He suggested using the CLI. I tried it and quickly found the way to run those programs, and more, I found out how to circumvent having to create an ADF file.
With time I tracked down further problems which still prevented me from starting some programs. I've incorporated the lessons I've thus learned in this article.
Now I'm really happy. These Amiga diskmags are a great motivation for writing articles indeed. As I suppose that I'm not the only out here who's had problems getting Amiga stuff from Aminet FTP sites to run on PC, I have decided to write this comprehensive guide to Amiga emulation.
First, you need an Amiga emulator such as UAE or Fellow. They are available at various sites on the Net for free, one of them being winuae.com. Should you have any problems connecting to that site, try looking for another place to download the emu with your favourite search engine, e.g. Google.
UAE was originally developed for Unix systems, but it has been ported to (MS-)DOS, Windows and other operating systems as well. The Windows version is called WinUAE. Fellow exists for DOS and is currently being ported to Windows. It used to be a tad faster but less compatible than UAE. Now it's said that the latest versions of WinUAE outperform Fellow in applications that require fast graphic processing. I personally use WinUAE, therefore the emulator-dependent parts of this guide are related to this emu. But as far as I know, Fellow isn't much different to handle.
The second step is the hardest. To work with either of these two emulators, you need a Kickstart ROM. This includes the system initialization and other vital routines. Furthermore, you will probably need a disk image of Workbench. Not only does it contain a GUI, which wouldn't be that tragic not to have, but also several important libraries and shell commands. Raw Amiga DOS without Workbench doesn't have a dir command, nor does it fully support the AGA graphics chipset.
I'd recommend versions 3.1 of Kickstart and Workbench - they seem to be most compatible.
The reason why Kickstart and Workbench are not distributed along with the emus is that, to my knowledge, all versions of Kickstart and some versions of Workbench are copyrighted and the creators of the emulators don't want to risk getting sued.
There are various ways to obtain the required ROM and disk images. The most secure way is to download them from Cloanto. They say that it is 100% legal to get the stuff from their site, so even if it were true, you couldn't be held responsible for it. There is, however, a snag with it: They charge a fee of almost 30 US$ for downloading the pack. That's extremely much considering that you can get everything else needed for Amiga emulation for free.
But there are also other ways to get the required files. If you have physical access to real Amiga equipment, you can copy Kickstart and Workbench and convert them to the format used by the emulators. Appropriate tools called transrom and transdisk are supplied with the emulators. Furthermore, you need a null-modem cable, or programs like D2D (DOS-to-DOS) or CrossDOS, which allow copying files to PC-formatted double-density disks using the Amiga. How it is done, is explained in detail in the documentation of Fellow.
TAD has told me it's also possible to transfer files using the parallel port, by means of purchased or custom-built devices, but it's a slightly "iffy" way and may even allow just read-only access.
If you lack physical access to an Amiga or simply don't have the necessary devices or software, you could try searching for the stuff on the Net. The Kickstart ROM image has the file extension .rom, the Workbench image .adf. The actual file names are not fixed. Perhaps you'll find what you want when searching for kick.rom, but the file might also have a different name. You could also ask people who have an Amiga or use an emulator to send you the stuff. After some looking around, you'll certainly find what you need. But please, keep in mind that in most of the western countries, using thus gained versions of Workbench and Kickstart is only legal if you have an original Kickstart ROM and an original Workbench disk, too, like me. Then again, however, there is very little chance that you'll be sued, as the Amiga systems that are emulated by UAE and Fellow are hardly sold any more and can thus be called commercially dead.
If you don't manage to get Workbench, try searching for a tool called setpatch. It does some patches to Kickstart that are usually set by Workbench. I've included a section about starting programs without Workbench at the end of this guide.
The third step then is simple: Install the emulator, copy Kickstart and Workbench into the directory where you installed it, and set it up correctly. Concerning WinUAE, this means entering the filename of the Kickstart image in the section ROM and the filename of the Workbench image in the section Floppies for the df0: drive. Furthermore, I recommend enabling AGA chipset in the section Display. Most of the scenestuff released in the second half of the 1990s needs it. Additionally, it can't be wrong enabling FPU support by setting the CPU to 68020+FPU and enabling as much FastMem as possible in the section RAM. Save this as the "default" configuration.
Okay, how do you start an Amiga program now? This mainly depends on the format the program is stored in.
If it is stored as a DMS, get the PC tool dms2adf. You can download it at many sites, e.g. Retroplay. Convert the DMS file to an ADF and read on.
If the program is stored as an ADF, there are two possibilities: It may be a self-booting program or not. You usually don't know what's the case beforehand, so first deal with it assuming that it's not self-booting. Insert the ADF into df1: by selecting the section Floppies in the UAE configuration manager and selecting the file. Then run UAE. As soon as the Workbench interface has appeared, you will see an icon with the volume name of the disk near the left or right edge of the screen, depending on your version of Workbench. Memorize this name. Double-click on the Workbench icon and then on System. Select Shell in order to enter the CLI and type:
dir volume_name: or:
(As far as I know, the only difference between dir and list is the formatting of the directory list. The output of dir is easier to read, list makes the output more compact.)
Instead of volume_name, you have to write the name of the disk, of course, that's why I told you to memorize it. If you have forgotten it, well - move the Shell window so that you see the disk icon again and then write it down.
You will get to see the files stored in the ADF disk image. If there are too many files so that the first are not visible any more, simply increase the size of the Shell window by drag'n'drop of its top and bottom-right, then repeat the dir command. Now look at the list of files. Do you see any file ending with .exe? Like on PC, files ending with these characters are often executable files. But the Amiga does not require a particular extension such as .exe or .com to mark executable files. They can also have a different "extension" or none at all. So, if you don't find an .exe, don't panic, maybe a file simply called "starter" or "run-the-damn-prog" is what you are looking for. Or just look into the readme or .nfo file, if provided, maybe it's included there.
Anyhow, as soon as you have located the executable file, type:
The name_of_the_executable_file must include what PC users like to call "extension", i.e. you have to type ST14Run.exe and not just ST14Run.
If the executable is located in a subdirectory, the most secure way is to change into this subdirectory after selecting the volume name and before starting the executable. Like in DOS you could also start it from another subdirectory using name_of_the_directory/name_of_the_executable_file, but you might have problems with data files that need to be stored in the same directory. Changing directory is even simpler than on PC: Instead of CD name_of_the_directory, you just type name_of_the_directory.
If it works, be happy! If it doesn't, as you might be signalized by an error message, the reason may be that it's a self-booting program. This applies to Grapevine, for example. Most issues of this mag were distributed on two or even three disks. If you download it from emucamp.com, you will get several ADF files. Nothing is easier than getting it to run! Simply insert the first disk (e.g. grapevine21a.adf) into df0: in your WinUAE configuration manager, the second into df1: etc., then start the thing, and instead of Workbench you'll get a nice diskmag interface and you can read the articles without any further complications.
Most scenestuff as you download it from Aminet or Amigascne is neither stored as ADF nor DMS, but it is packed in LHA. If you unpack it using Yoshi's widely spread LHA archiver for DOS or a newer program such as WinZIP, you will get a couple of files - files like they are usually stored in ADFs. You could pack them into an ADF indeed using a messy tool like ADFOpus (available at Retroplay), but fortunately need not do that.
It is possible to use these files straight after unpacking them because of WinUAE's fantastic Virtual Harddisk feature. In the configuration manager, go to Hard Drives and push the button Add Directory. As Volume Name, enter a word of your choice, and specify the Path you stored the Amiga program in. Press OK and start the emulation. Now you can run the prog using the CLI as described above. As you have already unpacked the LHA archive using the PC tools you are accustomed to, you have already been able to see the directory and check out which file is the key executable. If you haven't, you can still display the directory using:
Then simply start the executable by typing:
If the executable is in a subdirectory, change into this subdirectory as described in the previous section (ADF).
Starting without Workbench
Old Kickstart versions (i.e. for Amiga 500) don't allow working without Workbench, as far as I know, as you'll just get the famous "insert Workbench disk" screen. Newer ones, however, do. You'll get to an Amiga DOS shell. There you can start programs just like you do in the Workbench shell, but - unless you downloaded a program called dir or list separately - you have to live without commands that show you the contents of a directory.
A tool like setpatch enables some critical routines that are usually only provided by Workbench. It must, however, be started manually every time you boot your virtual Amiga. If you run a program from a virtual harddisk, I recommend to simply copy setpatch into the directory the harddisk is in. If you run a program stored as an ADF file, simply create a virtual harddisk for setpatch, select this harddisk by typing the volume name you defined followed by ':', start setpatch and then execute the program of your choice.
Well, that's it! So far I've been able to run most of the diskmags I've tried the emulator with in this way. Perhaps I'll also suceed with the others, like Seenpoint, after toying a bit more with the configuration. I hope you'll also be able to start what you always wanted to see.
Of course I can't be held responsible for any crashes or accidents that might still occur with Amiga emulation. I'm just a user who wants to help his fellows. The emulators probably support most programs they've been tested with, but that doesn't mean they already support all. Software emulation of hardware will hardly ever be 100% perfect. Just think of the large number of undocumented opcodes and extra functions of documented ones x86 CPUs have. The Motorola CPUs the Amiga and other machines use definitely have similar secrets. Furthermore, think of the manifold graphic and sound chipsets, and the FPU...
Sorry if some of these explanations were too detailed and contained facts you already knew or guessed yourself, but if you're in a desparate situation I think it's better to get more help than needed rather than the other way round.
Okay, have fun in the world of Amiga Emulation!
Thanks to Darkus, Makke, Ravian, Seffren and TAD for their help.
Adok/Hugi - 08 Aug 2000