Commodore Amiga Emulation on Windows PC: WinUAE
Note from racketboy:
“For those starting out in the world of classic gaming, emulation is one of the first places people start out in order to get their feet wet. While emulators may be a bit more work to set up and use than the original console, it lets curious gamers play around with the system without investing any financial resources (although in this particular case, you may need to purchase some copyrighted files). Our resident emulation enthusiast, Ivo has volunteered to share a series of emulation guides that will focus on helping new retro gamers get started on their emulation journey. This particular guide will teach you how to run Commodore Amiga games on your Windows PC.”
Quick Amiga Introduction
As the Commodore Amiga is not as famous as the previous systems I covered, I thought I should start this guide with a short introduction.
- The Commodore Amiga is a family of home computers.
- They were quite popular in Europe (in their peak), but perhaps not so known in the US (and I’m guessing even less so in Japan).
- They competed directly with other home computers of the time such as the Atari ST, and competed indirectly in the gaming machine market with the 16-bit consoles
- The Genesis had similar processing capabilities to the Amiga 500, using essentially the same CPU.
- Commodore made some pioneering forays into the CD-ROM format, 1st with the CDTV, and later with the Amiga CD32 – which I believe was the first 32-bit CD-ROM based console. (I won’t go into emulation of the CD-ROM systems in this guide, focusing on the floppy disk based Amigas.)
- The Amiga has an interesting story with some notable historic uses, namely having been used for producing graphics for the Babylon 5 TV series, and for some work of Spielberg. If you are interested in reading more about it do check the wikipedia article: http://en.wikipedia.org/wiki
- Even if it wasn’t the only think it could muster, arguably the most popular use for the Amiga were games.
- Many arcade ports and multi-platform games had superior versions on the Amiga. I think it is fair to say that there weren’t many notorious exclusives produced for the Amiga (particularly comparing to the consoles of the time, as Commodore had no first party development) – but there are some, and regardless there are plenty of excellent games in the system’s library.
Find The Best Emulator For The Job
Choosing the best Amiga emulator isn’t particularly hard since there are only two to choose from: UAE and Fellow. I have little to no experience with Fellow, but I think the near general consensus is that UAE is currently the best anyway. This guide will continue discussing WinUAE, the Windows version of UAE.
Unlike the consoles discussed before, finding free games to test your emulator with is rather easy, as there are plenty of freeware / public domain games (including previously commercial games that the copyright holders gave permission to be distributed – thanks!).The Amiga were mostly floppy disk based systems, and instead of the “ROMs” of consoles, we have usually either ADF or IPF files that are images of the floppy disks (similar to how CD images are often ISO files).
However, the actual machine “kickstart ROMs” that you need to do anything with the emulator (similar to BIOS files found in other consoles) are copyrighted, and shouldn’t be distributed freely. Unlike most old games that are still copyrighted but not sold anywhere any longer, Cloanto (the company that holds the copyright) currently DOES sell the kickstart ROMs for a rather modest price, all included in a package called “Amiga Forever” (under $30 for the basic online version – which has lots of extra stuff on top of the ROMs). Considering what you are getting, it really is worth it in my opinion. Check it out here (and if you have questions, feel free to use the comments or head to the forums):
If you actually own an Amiga, you do have the legal right to use the corresponding kickstart ROM for emulation. In practice getting the file from the machine itself is probably not within your means, so in that case you can download it from somewhere if you can find it. Otherwise, and if you aren’t legally entitled to the ROM you want, please do consider supporting Cloanto and buying their Amiga Forever package.
Getting Some Games (or Demos)
Much like consoles, there are a number of ways to find some games for your Amiga emulator. The Cloanto site has links to sites where you can download games legally. You can also check out AMI Sector One for a decent selection of games to keep you busy.
It might be surprising for you to find that there are lots of quality, formerly commercial games available there, which the copyright holders gave permission to be distributed (if any of said copyright holders somehow happen to read this, thank you)!
That site also has a sample of technical feats called “demos” (don’t confuse with game demos). If you are really into the demoscene (click if you want to know what that is), you can find dedicated sites with huge collections of Amiga demos (or ask about it in the comments section or the forums).
Configuring and Running the Emulator
As from this section on, I’m assuming you’ve already have:
- Downloaded and installed WinUAE (grab the installer from the official website)
- Got a suitable kickstart ROM (legally, from Cloanto or otherwise)
- Got a suitable game (for example, from AMI Sector One)
Preferably don’t start with CDTV or CD32 kickstart ROMs / games, as I won’t cover those in this guide (although the guide should generalize reasonably well if you know how to handle CD-ROM images such as ISOs and so on).
Amiga emulation can get slightly more complicated than most consoles since there are different models and the games aren’t always compatible (although they should be, but some weren’t coded with flexibility in mind) – some games are finicky and only work with quite specific configurations.
For tricky games, unless you fancy trial and error until it works, you’re better off trying to find information on the web – or either looking up the configuration used by a frontend and porting it, or using the frontend directly.
I will start by showing how to configure WinUAE itself, and in the last section before the conclusion I will present a frontend that might be the better option for unexperienced users (feel free to skip to the following sections, but finish reading this one before doing that).
Something important to know (even if you use a frontend) is that the F12 key interrupts a WinUAE emulation run bringing up the main menu screen (similar to the starting one shown below). This is useful for more than one reason, such as floppy disk swapping, saving and loading states or using the reset (without needing to do the Amiga 3 finger salute). I will mention the use of F12 again in the appropriate places.
The Main Menu Screen (it is simpler than it looks)
If you put your kickstart ROM file inside the WinUAE folder (there is a folder called “ROMS”) it should automatically detect them (if not, see below).
When you start WinUAE (I’m using version 1.4.3 for reference)… Well, basically don’t stop reading yet – you don’t need to tinker with most of the sections so it is effectively much SIMPLER than it looks. This is what you will see:
In general (and particularly if you have a PC that is sufficiently powerful) you want the slider to remain on the “Best compatibility” end of the spectrum.
Note the “Reset” button on the lower left corner, which you will probably find useful (instead of quitting and restarting the emulator each time).
I won’t go over the finer points of the other all these menus as there’s enough to cover in the basics of Amiga emulation. However it is relevant to note that if your ROM wasn’t detected, you can manually direct the emulator to the file under the “ROM” menu. Naturally, in the “Display” or “Sound” menus you can do stuff like choosing to run WinUAE in a window or full screen, or if you want the sound to be accurately emulated and so on.
Something that you will probably want to do is configure your controls (if for no other reason than to know the default controls). WinUAE natively supports USB gamepads and the like, but personally I use Xpadder as I often want to map keys to spare buttons – a significant drawback of the Amiga is that the default joysticks only had one button, and thus most games use some keys (if not for anything else, to pause the game – usually mapped to the “P” key, but not always).
You can select your controls in the “Game & I/O ports” menu:
You should usually leave Port 0 as the mouse, as even games that don’t use the mouse may require a mouse click to skip an introduction or something.
WinUAE automatically recognized my USB gamepad, but if it doesn’t do that for you, consider using Xpadder instead, and configure Xpadder to replace the default keyboard layout (the “Layout B” shown in the picture) with whatever gamepad commands you desire.
Floppy drives and disk swapping
It is (mostly) enough to use only the “Quickstart” mode that WinUAE starts on by default. Assign a floppy to the DF0 virtual drive, which you do by clicking “Select disk image” and choosing a suitable file (usually an .adf).
If you want to change it, you can press eject (not needed) and/or choose another file.
For multi disk games, disk 1 should almost always be in DF0 to boot the game (there are a few cases where other disks are bootable, and disk 1 is just an intro). In the case of 2 disk games, repeat the image disk selection procedure for the second floppy drive DF1, after checking the box – this will let the emulator read from DF0 or DF1 whenever needed (as a real Amiga would) and hopefully you won’t need to swap disks during gameplay.
Some games are simply over 2 disks (the disks were double density, not high density and as such the maximum data was around 700 kB – impressive how technology evolved); some 2 disk games were coded without flexibility in mind and can only read data from DF0 (in a real Amiga, DF1 and so on are add-on external floppy drives, so it’s not actually too surprising that some games didn’t take them into account).
Whatever the reason, you will probably need to know how to swap disks in the middle of an emulation run. The game will prompt you for the disk, and you need to interrupt the emulation by using F12 to bring the menu up (I will demonstrate this in a sample run of a multi disk game). Fact is, you can enable up to 4 virtual floppy drives in the “Floppy drives” menu, and the “Disk swapper” menu probably goes even beyond (I never used it, to be honest, but it seems like it might be able to automatically swap floppy images if you set it up). I actually like swapping an occasional (virtual) floppy for old times sake, but if you hate it, have a look at the swapper as it doesn’t look too tricky to figure it out.
Save and Load States and Their Useful Uses
If you want to use the save and load feature (and trust me, you WANT to use it), you simply need to press F12 whenever you want to do it, head into the “Misc” menu, and either a) click “save state…” and enter a name of the file to save or b) click “load sate…” and select the file to load:
Uses of this feature abound:
- Keep your scores and/or save games in a convenient fashion
- Save on loading times (after the first emulation of a game)
- Use it to help with tough games (e.g. between levels of hard games without saves or passwords)
In a real Amiga you would usually save your scores into the very floppy disk the game was on (unlike cartridges, they are writable), and game saves often were kept in separate formatted disks. Replicating that is probably more trouble than it is worth for most users, and I personally just use WinUAE save and load states instead to keep my scores and saves.
If you aren’t used to home computers, you should know now that the games sometimes can take a while to load. I suggest that you keep a saved state of that game right after the game has finishing the booting up sequence and is ready to start, and that way by loading the state you can skip through and avoid the loading times (note that you should still have the required floppies “inserted” into the virtual drives, or the game will notice they are not there when it needs to read something from them, which may even cause it to crash).
I know many gamers frown upon the use of emulator save states, and consider it cheating (technically, it is). It is up to each person how they use the feature, I’m glad to have it available in certain games. Rarely I use it very frequently, in some really hard games. Sometimes I use it sparsely, for example saving only between levels. In other games I don’t use it at all.
AGA and non-AGA – a brief explanation
Amigas have custom chip sets that mostly help the CPU with sound and graphics. The 16-bit Amiga models like the A500 have a graphic chip set that differs significantly from the graphic chip set that the more modern 32-bit Amiga models like the A1200 have. For that reason, some games only run in hardware of A1200 and the like – for reasons that probably don’t interest you, these games are referred to as AGA games (it stands for “Advanced Graphical Architecture).
AGA games typically feature more colors, and often you can find AGA and regular versions of the same game. To emulate an AGA game, you need to emulate the adequate hardware, which will in turn require an appropriate kickstart ROM (like kickstart 3.1, in order to emulate an A1200 properly). The Amiga Forever package has ALL the kickstart ROM files (the most important ones for gaming purposes are probably kickstart 1.2 or 1.3 for A500, 3.0 or 3.1 for A1200, and the CD32 ROM in my opinion).
A Sample Non-AGA Run: Syndicate Step by Step
I will demonstrate the principles outlined in the guide by emulating Syndicate, a great 4 disk game (which you can get here from Ami Sector One – props to Peter Molyneux and Bullfrog for making this great game, and I suppose Electronic Arts for allowing its distribution).
This is not an AGA game, so I will use the A500 default configuration. I selected disk 1 for DF0 and disk 2 for DF1 and pressed start:
The emulator started loading the game like a real Amiga does, and after a while you should see a characteristic blue screen (don’t worry, it isn’t the Windows one):
That is very characteristic of Amiga games. If you are running with later kickstarts and/or games, you might have a similar grey screen instead, but that is besides the point. Be warned also that during loading, some games also appear to “freak out” and show loads of flashing colored lines (in a slightly trippy fashion). This is also (as far as I know) normal and characteristic, for some reason.
Despite being a legal download, the Syndicate .adf files available in Ami Sector One were clearly recovered from a cracked / pirated copy. I know this because I was presented with a cracktro (click for more info). This cracktro didn’t include a trainer (which allows you to start the game with some cheat, like infinite lives), but from my limited knowledge those are fairly common in cracked copies. I needed to skip the cracktro by using the left mouse button, which sometimes happens even for games that are controlled solely by the joystick. They don’t always have instructions on how to skip them (and inconveniently, many will loop, so you can’t just wait it out) – sometimes you just have to try guessing what you must press to go on.
After a while you are asked to choose a language (you can change with right mouse button and select with left). After that, you get a loading screen with the old Bullfrog logo from 1993 (look at those jaggies), and then the intro (which was rather cool and I suppose even cutting edge in 1993):
I went back to get this screen (I don’t remember when they ask for disk 3 or 4) as I wanted to show a typical request for a non-inserted disk. After a reset, I ran the game again with only disk 1 inserted in DF0, and sure enough the request for disk 2 popped up after the intro (this also serves to show how having it pre-inserted in DF1 saved you trouble). To insert disk 2, I just pressed F12, load up the disk 2 image (either in DF0 or DF1, as Syndicate will read from whatever drive), and then pressed “OK” (the button that is now in the place of “Start”).
There are frontends that let you emulate with less hassle – like Lemonade, which comes pre-configured by the amazing Amiga community (specifically from Lemon Amiga):
I don’t have too much experience with Lemonade as I’m usually able to get my games running on my own, and only recently discovered this frontend, but from my use of it I can recommend unexperienced users to try it.
The guide is already somewhat long so I will finish here. I think I covered everything that was important, but if there are either corrections or something you would like me to cover in detail, ask about it in the comments section or the forums, and accordingly I’ll either reply to it or even add it to the guide if it is worth it.