Playing Amiga games with UAE
Official Homepage: http://www.freiburg.linux.de/~uae/
Latest version: http://www.rcdrummond.net/uae/
The Unavoidable Disclaimer: This guide refers to the (at the time of writing) latest version of Richard Drummond's 'Experimental' UAE. The official branch of UAE has been abandoned by its creator more than a year ago, so this is the version we strongly recommend.
Small details in your version might differ from the one shown on the screenshots. Don't let these confuse you - once there are major changes, this guide will be updated. Also, if you're running a version of the same emulator built without X server support (Mac users might for example), you will not see the GTK GUI the screenshots show. Instead, you get a different looking configuration tool driven by keyboard which offers the same functionality.
As you'll quickly notice, this guide is aimed at total newbies who want to run games. Settings which might be crucial for 'serious' use aren't explained.
Amiga Emulation is a good deal more complicated than emulating most other systems. That is because the Amiga is a computer which can be equipped with lots of different hardware. Although there are a few 'base standard systems', all of them can be expanded as the owner sees it fit. This is reflected in relatively heavy configurability of the emulators.
Prerequisites: To understand this guide, it is necessary to know what files and directories are. You need to know what operating system you are running and what 'family' your CPU belongs to. We also assume you already have a game ready on your harddrive. If you have downloaded it from a website, make sure you extract the archive. If you have files with the extension .adf, everything's fine.
Downloading: You have to choose the correct version for your system to download. The descriptions in the right-hand column are pretty detailed and accurate, but might be a little confusing to newbies. The first thing listed is the operating system this version runs under. Choices are Linux (this includes all flavours), Mac OS X, AmigaOS and BeOS. For Linux and Mac, there are two or three different versions. "Linux/x86" is the right choice if you have an Intel or AMD CPU (Pentium I,II,III,IV, Celeron, Athlon, Duron,....). "Linux/PPC" is for users running Linux on Motorola CPUs, e.g. Macs or Amigas with accellerators. For MacOS, one version requires an X11 server and GTK to be installed. If you don't know what that is, you probably don't want this version. Choose the other one.
Installation: Since pre-compiled binaries for every supported system are available directly from the website, installation is a simple matter of extracting a compressed archive. Mac and Linux users need TAR and BZIP2, BeOS users ZIP and Amiga users LHA. Chances are you already have a fitting (un-)archiver installed.
If you don't have a GUI driven archiver, you have to use the command line. For .tar.bz2 files try typing bzip2 -dc uae-xxxxxxxx.tar.bz2 | tar xv, for .zip files try unzip uae-xxxxxxxx.zip and for .lha files try lha x uae-xxxxxxxx.lha.
If you chose to download the source code instead, please refer to the building instructions provided in the archive.
Configuration: Now we get to the interesting part. Run UAE. The GTK GUI (provided you have a version which supports this - see above) will launch. It has different 'tabs', each of which will be described in the following paragraphs.
Non-GUI Configuration: Unfortunately, the GTK GUI is not perfect. Several important settings can't be changed through it. To set these to what you want/need anyway, you need to either pass them via command line (fussy, not described here) or via configuration file.
This is the first thing you'll see after launching UAE. As you will notice, there is nothing to do here. However, it shows one important piece of information: the version number. If you have problems and decide to ask for help, make sure you always include the exact version you tried! The screenshot shows version "0.8.25-20040223" for example.
This tab is located on the left-hand side. Amiga games were usually played directly from floppies (as opposed to today's standard of installing a game to the hard disk and probably also have a CD in the drive at the same time). The usage is straightforward: each row represents one virtual disk drive (four on the whole). The first one (DF0:) is the boot drive. This is where you 'insert' the first 'disk'. Choose 'Insert' on the right-hand side and browse your directory tree until you find the disk image (.adf file) you've been looking for. Chose it and click 'OK'. Careful - if the game you want to run consists of multiple disks, you have to insert the first one into DF0:, otherwise the game won't boot!
If your game consists of only one disk, you're done with this tab. If it has more, though, proceed with the additional disks as with the first one. There are two problems you can run into:
- The game has more than four disks. In this case, just insert the four first ones into the drives. The game will prompt you to switch disks when it needs another one. When this happens, pause emulation (by clicking the 'Pause' button in the upper right corner of the GUI), eject one of the currect disks by clicking the 'Eject' button of one of the drives and insert the needed disk instead. Un-pause the emulation and the game will continue.
- All disks of the game are inserted, but the game still asks for a disk which is located in DF1:, DF2: or DF3:. Some (especially older) games don't support multiple drives. Some support only two, some even only one. In such a case, you won't have any choice but to use DF0: only. When you're prompted for another disk by the game, eject the first disk and insert the one the game needs instead.
The next tab's title is a little misleading, because the first thing which has to be set here is the Kickstart ROM file (which is, of course, memory, too, but.... you know what I mean...). The Kickstart is roughly aequivalent to a PC's BIOS. It also contains part of the Amiga's operating system. You need a Kickstart ROM - the games which will run without one can be counted using only the fingers of one hand. Kickstarts can be read from a real Amiga (explaining this would be taking this guide too far). If you don't have one, you can get a set with the Amiga Forever package. In the latter case, you will also need to set the 'key file' in the second row since these versions have been encrypted. Otherwise, just leave the second row blank.
Setting UAE to use a specific Kickstart is simple. Choosing the correct version is tougher. The two most important versions are Kickstart 1.3 and Kickstart 3.1. Kickstart 1.3 is the right choice for games made for the Amiga 500. For any game made before 1993 you should automatically default to 1.3. Kickstart 3.1 is for games made for the Amiga 1200. These games are usually marked as 'AGA' (A500 games are sometimes referred to 'ECS' or 'OCS'). Games made from 1993 to 1996 could be both. The newer the game, the more likely it is you need 3.1. Anything newer than 1996 is almost impossible to require version 1.3.
On the bottom, there are four colums. The first one it labelled 'Chip Mem'. This is the most important one. If you choose 2 MB here, you're on the safe side for 99.9999% of all games. 'Slow Mem' can safely be set to 0, only very few very old games need it. 'Fast Mem' is only needed for pretty new games (late nineties and after), so normally, you can set this to 0, too. 'Z3 Mem' is another form of Fast RAM, and can be ignored for playing games.
The settings here are pretty much dependent on the game you want to run. As 'CPU Model', two choices should be enough for most games. 68000 was the CPU of the A500. If you chose Kickstart 1.3, you probably want this one. 68020 would be an A1200, so for all AGA / Kickstart 3.1 games, this is the right one. '24 Bit Addressing' and 'FPU' aren't important for games. 'Accuracy' should be 'Normal', but if a game won't run, try setting it to 'Compatible'. There is no general rule for this, so all you can do is try it out. 'Emulation Speed' is pretty much the same as the CPU model. If you chose 68000, 'Approximate 7MHz 68000' fits. For faster CPUs, 'Maximum' should be fine, unless your actual CPU is extremely fast. If the game runs too fast, choose 'Adjustable' and use the slider below to change speed.
There are only two things here. 'P96 RAM' is important if you want to emulate a video card following the Picasso 96 standard. For games, you don't need this. 'Framerate' should be set to 1 (that means all frames are displayed). If the game is unbearably slow, you can change this to a higher number. That means frames will be dropped, resulting in a choppier, but faster gameplay. This should only be needed on older computers, though.
'Sprite collision' is only needed for a few old games. Setting it to 'Sprites & playfields' (like on the screenshot) should work fine. 'Chipset' is again dependent on the game. The criteria are the same as for the Kickstart and CPU. For A500 games, set it to OCS, ECS Agnus or full ECS (these three don't make much of a difference). For A1200 games, choose AGA.
Sound is a major factor of speed, because emulating it takes up lots of CPU time. If the emulation is running too slow, this is the first setting you should recude. 'Mode' should be set to 'Normal'. 'Accurate' is a lot slower, and unless you have Superman's hearing, you won't notice any difference. 'None' is significantly faster, of course. 'No output' is the same as turning off your speakers: sound will be emulated, but there will be no output. This setting has been implemented, because some games don't work witih 'None'.
'Channels' and 'Resolution' are the quality settings of the sound. 16 bit stereo is the best, but also the slowest setting.
JIT is an acronym of 'Just In Time Compiler'. If you don't know what that is and if you only want to play games, skip this tab. Skip it!
This is something more important again. It's also quite simple. Port 1 is where almost every game looks for the joystick. If you have a joystick (it has to be properly set up with your operating system!), you can chose it. Otherwise, choose one of the bottom three keymaps. With 'Numeric Pad', 8, 4, 6 and 2 control the direction of the virtual joystick and 0 is the fire button. The other two settings should be obvious. Be aware that the keys you choose for joystick emulation will not be available as 'regular' keys, though! If the game you're running absolutely needs the cursor keys, setting them as joystick isn't the best idea.
Port 0 is where games expect to find a mouse. Unless you have a very good reason not to, set it to use your real mouse.
Eventually, there are some of the hardest-to-understand settings. First of all: You don't need them. As mentioned before, you can run almost every game from virtual floppies. So if you want to save yourself the headache, just leave everything empty here.
If you want to set a virtual harddrive, click 'Add'. You'll see the following dialog:
In order to fill these values in correctly, you need to understand how emulation of a harddrive works. UAE will simply use a directory on your real harddrive. This can be located anywhere, it doesn't matter. Unless you've already set one up, a random empty directory will do.
Within the emulator, this directory will show up as what you're setting in the 'As Amiga disk' part. The Amiga usually calls harddrives DHx (x being a number). The first harddrive is DH0, the second one is DH1 and so on. In addition, each harddrive has a name (an alias which will be shown when you're running Workbench for example). The default name for a boot-hd is 'Workbench', but you can set it to anything you like.
Setting up a harddrive is useful if you decide to use UAE more often than 'casual use'. Then, you can 'install' games to this hd and save yourself the fiddling with multiple .adf-files. Loading times will decrease significantly. This is again going too far for this article, though.
A configuration file is a simple text file which you can write with any text editor. You can set one parameter per line. The exact syntax isn't properly documented anywhere, so don't mess much with it if you only want to play games.
There are a few important settings which can't be accessed in any other way, however. First of all, there is the 'line mode'. The Amiga uses PAL (or NTSC, depending on the country) compatible output, only every second vertical line is used by default. Unless you have a very slow computer, you can make the graphics look a lot better by setting it to double the existing lines. The command for this is 'gfx_linemode=double'.
Then there is the size of the game window. Usually, a resolution of 640x512 is the best choice. Some games won't use the full vertical space, but that's not fatal. A few games use 'overscan' capabilities to use even more of the PAL screen, though. To see these areas, set the resolution to 768x576. These are rare cases, though. Commands for this are 'gfx_width=640' and 'gfx_height=512' respectively.
Sometimes, the picture isn't centered properly. To avoid this, set gfx_center_vertical=true and gfx_center_horizontal=true.
You can of course set every single configuration value via config file. To get a glimpse at what can be done, check out the .uaerc (MacOS X: default.uaerc) file in your home directory (after running UAE at least once). For standard configurations, try the files provided by us:
To tell UAE to use a configuration file, run it by typing:
- uae -f "/path/to/config.file"
Starting the Emulation: At last everything's ready! We advise you to go back to the 'Floppy Disks' tab now, because there, you can see all disk activity. Click the 'Pause' button in the upper right corner. Another window will pop up, and your game should start booting. If you're using .adf files, it might take some time, so don't panic. The small black boxes next to virtual disk drives on the GUI will turn green when one of the disks is accessed. That means everything is alright, and nothing has crashed. Enjoy your game!
Troubleshooting: Unfortunately, no general configuration is perfect, so problems might still occur. Here are some common ones.
After clicking 'Pause', another window opens, but it stays black.
Check if there is disk activity on any of the floppies. If there isn't, you've probably forgotten to choose a Kickstart ROM, or you've chosen a broken one.
After clicking 'Pause', another window opens, but only the picture of a hand holding a disk or a disk 'flying' into a drive is displayed.
That's the 'welcome' screen of the Kickstart ROM. Check if you have a bootable disk in either DF0: or as harddrive.
The colours are all wrong.
This usually means you've set UAE to emulate the AGA chipset or a too fast CPU for an old game not compatible with these settings. Try setting it to OCS/ECS and 68000 CPU.
Only every second line seems to be used, every other line is black.
You've either skipped the 'Non-GUI Configuration' part or your config file is broken. Linemode has to be set to double.
There are vast black, unused areas in the game window.
Again, this is not configurable via the GTK GUI. You need to do it via configuration file.
I have set UAE to run in fullscreen mode (via config file), but it refuses to.
You need to run UAE with root privileges to do that.
My mouse cursor always moved out of the game window.
Press F12 & g at the same time. This will 'trap' the cursor within the game window. To release it again, use the same key combination again.
Post in the forum and we'll try our best to help you even with specific configuration problems.