Amiga CD32 emulation guide

Amiga-CD32-wController-L

Last revised: 28 February 2020

Guide contents:

  1. Introduction
  2. What you will need
  3. Setting up
  4. Customising your configuration
  5. Playing FMV videos
  6. Saving hi-scores and games
 

1. Introduction

The Amiga CD32 console, released in 1993, was Commodore’s follow-up to the CDTV. Essentially, it was a repackaged Amiga 1200 with a built-in CD-ROM drive and a bespoke 6-button joypad controller. Indeed, by plugging in a keyboard, mouse and floppy drive, you pretty much had a fully functioning A1200.

Marketed as “the world’s first 32-bit CD games console” (although this wasn’t strictly true), the CD32 was rather short-lived, being discontinued in 1994 when Commodore went bankrupt.

Personally, I never owned a CD32 (or knew anyone that did!) but I did have a CD-ROM drive (with a Squirrel SCSI interface) for my A1200, which allowed me to play CD32 games. Disappointingly, most CD32 titles were just pre-existing Amiga games (both OCS/ECS and AGA) lazily shoved onto a CD with no additional content or functionality. Although, this did allow for some nice compilation disks and obviously there was no disk swapping.

Fortunately, some developers did take advantage of this new medium, with CD32 versions of their games benefiting from expanded or alternative intros (e.g. Alien Breed Tower Assault, Theme Park, UFO: Enemy Unknown) and/or CD-quality music, speech and sound effects (e.g. Diggers, The Chaos Engine, Super Stardust). Moreover, there were a handful of CD32 exclusive titles that never made it to floppy-based Amigas, such as Defender of the Crown II, Pirates! Gold, and The Labyrinth Of Time.

For these reasons, it can be worth emulating the CD32, so I thought I’d write a short guide on how to do this using WinUAE. Fortunately, it’s pretty straightforward and won’t take long.

By the way, a guy called Peter Hutchison has put together an nice unofficial PDF manual for the CD32.

You may also be interested in my guide to building a virtual Amiga for retrogaming, which covers many other aspects of configuring WinUAE to your tastes and needs.

 

2. What you will need

1. WinUAE (obviously!). If you haven’t done so already you will need to download and install the WinUAE emulator. At the time of writing, I was using version 3.2.2, but it’s usually worth installing the latest version.

2. Kickstart ROM 3.1 rev 40.60 and CD32 Extended ROM rev 40.60. As with all Amiga ROMs, these are still under copyright but can be obtained legally through purchasing one of Cloanto’s Amiga Forever packages. If you already have Amiga Forever installed, WinUAE should automatically detect the available kickstart ROMs that come with the package. Otherwise, you will need to direct it to where you have them stored – this is done under System ROMs: in the Paths tab.

3. A CD32 game! WinUAE can use both actual CDs (originals or copies) and disk images. If using an image, you will need a cue file for games that utilise CD audio tracks. WinUAE can also use cue + img + mp3/wav. All 178 CD32 games can still be downloaded for free from EmuParadise CD32 section, but you now need a script to “find” the download link.

For this guide, I will be using The Chaos Engine, which in my opinion is the definitive version of the game thanks to its AGA graphics, CD-quality music and atmospheric background sounds (I much prefer it over the Steam re-release) — download from EmuParadise and extract the files to a folder of your choice.

 

3. Setting up

The easiest way to get started is to use the CD32 preset from the WinUAE quickstart tab. This will generate a basic CD32 configuration and should choose the correct ROMs automatically.

You can then tweak the options to your needs/tastes and save the configuration for future use. Be sure to untick the NTSC option, otherwise, you’ll end up staring at a black screen when you boot up because most CD32 games are in PAL format.

Anyway, the basic settings are:

  • CPU and FPU tab:
    • 68020 CPU with 24-bit addressing
    • more compatible checked
    • no FPU
    • emulation speed set to “Approximate A500/A1200 or cycle-exact”
  • Chipset tab:
    • AGA chipset
    • CD32 for chipset extra
  • ROM tab:
    • Main ROM file: Kickstart ROM 3.1 rev 40.60
    • Extended ROM file: CD32 Extended ROM rev 40.60
  • RAM tab:
    • 2MB chip

Test the configuration by directing WinUAE to your CD32 game in the CD & Hard drives tab. In our case, there is a cue file because The Chaos Engine uses CD audio tracks, so select that (see screenshot).

If using an actual CD, you need to direct it to the specific drive on your computer — you can also check the turbo CD read speed option to speed up disk access.

Note that if you want to swap games during the emulation then you will need to also mount your CD or image as a drive. You can do this by clicking the Add SCSI/IDE CD Drive button. But it’s just as easy to restart the emulation and “insert” a new CD/image.

CD & Hard drives tab in the WinUAE GUI.
CD & Hard drives tab. This is where you select your CD drive or image. Click image to enlarge.

Once you’ve done that, press start. If you see this screen, the CD/image is booting and you’re in business:

The Amiga CD32 loading screen
CD32 booting screen. This indicates that the game is loading.

This should be followed shortly by The Chaos Engine logo and then the game intro. If you don’t hear any sound then you’ve probably selected the image instead of the cue file.

If you see this screen, then something is wrong and the game is not loading:

The Amiga CD32 boot screen
 

4. Customising your configuration

The first thing you will probably want to do is change the full screen and windowed resolution in the Display tab — by the way, you can switch between full screen and windowed mode any time by pressing CTRL + F12 and get to the WinUAE GUI by pressing F12.

In my case, I’ve chosen 1920×1080, which is the native resolution of my monitor. I would suggest leaving other settings in this tab to their default values.

For the Sound tab, leave the frequency at 44100 as changing can sometimes cause the CD32 emulation to freeze.

Here, you can also choose your preferred speaker config, for me, this is 5.1 channels. I also suggest turning off the audio filter, as these tend to reduce sound crispness — though it may help reduce unwanted noise/distortion. Choose the Interpolation method that gives you the best sound, I normally stick to “Anti”.

The WinUAE GUI sound options.
Sound options. Many of these can be played with to suit your own taste, but changing the frequency can sometimes cause problems when emulating the CD32. Click image to enlarge.

The Filters tab affects screen scaling and can be customised to your taste. Personally, I switch between default and automatic scaling depending on which provides the most satisfactory results.

You can also manually adjust resizing and centering. I don’t use a filter myself, but feel free to experiment. See the Game Resolution and Scaling section of my Building a Virtual Amiga guide for a more detailed explanation on this.

You will also need to set up a control method for non-mouse games in the Game ports tab. If you don’t have a joypad, then you’ll need to choose one of the keyboard layouts or map your own.

If you have an Xbox controller or something similar, you can simply select this from the drop-down menu for Port 2 and select CD32 pad from the menu directly below (see screenshot). This will automatically map the CD32 controller’s buttons to your gamepad. Autofire can be useful in some shooters but is not needed for The Chaos Engine.

Setting up a control method in the WinUAE game ports tab
Game ports tab. If you have an Xbox controller select it from the drop-down menu and choose CD32 pad. This will automatically map the CD32 controller’s buttons to your gamepad. Click image to enlarge.

If you’re feeling adventurous, you can play around with the settings in the “CPU and FPU” and Chipset tabs to speed up the emulation. A CD32 setup is unlikely to benefit much from this but if you experience problems, then you can try slowing down the emulation and enabling the various compatibility options.

Once happy with your set-up, head to the Configurations tab, give it a name (and description if you want) and save it. Then you can just load your config, pop in an image or CD and away you go. Or just make a different config for each game you want to play.

And don’t forget to have fun playing The Chaos Engine 🙂

 

5. Playing FMV videos

A few CD32 games, such as Cannon Fodder, included FMV intros or videos. The original CD32 actually required an expensive expansion module in order to be able to watch these.

Luckily, WinUAE can also emulate this module. Simply head to the Expansions tab and check the “CD32 Full Motion Video cartridge” option.

 

6. Saving hi-scores and games

The CD32 did have a limited capacity for saving hi-scores and sometimes even save games (e.g. Diggers) via a flash ROM known as the NVRAM, which had a whopping 1KB capacity!

WinUAE emulates the NVRAM by writing to a file on your computer called “cd32.nvr”. You can change the location of this file in the ROM tab under the “Flash RAM” option (see screenshot below. If you care about preserving for your hi-score for prosperity, then it’s a good idea to make a backup of this file.

Changing the location of the NVRAM file in WinUAE
WinUAE saves CD32 hi-scores to a file called “cd32.nvr”. You can change the location of this file in the ROM tab.

To manage the contents of your NVRAM file, you need to boot up your CD32 config without a CD. When you get to the boot screen (the one with the animated CD; see earlier screenshot), pressing the equivalent of the red button on the CD32 pad will bring you to the NVRAM management screen (see screenshot below).

The CD32 GUI for managing hi-scores and save games written to the NVRAM
The CD32 GUI for managing the contents of the NVRAM. Pressing the red button locks the selected file and prevents it from being overwritten when the NVRAM gets full. Press the blue button to exit.

It’s a bit of a crappy interface to be honest. You can’t delete files directly but pressing the red button locks the selected file and prevents it from being overwritten when the NVRAM gets full. To exit, press the equivalent of the blue button.

22 thoughts on “Amiga CD32 emulation guide

  1. You now know someone that owns a CD32! Really good guide here. UAE is not a user-friendly emulator, and I’m sure this will help some more people see what it’s like to play on this forgotten console. Nice work!

    Like

    1. Haha, thanks. Yeah, WinUAE is not the most user friendly, but it’s a helluva lot better than it used to be!

      Like

  2. What a wonderful and helpful guide. Well-written and concise, too. I look forward to implementing it with my Raspberry Pi 3, which is on its way. Do the games run as smoothly in UAE as on the original hardware?

    Like

    1. In general games should run just as smooth, if not better, as loading times are quicker. Though occasionally you will find a game that requires you to tweak the settings to get it working just right.

      Like

        1. You’re very welcome! I have written another WinUAE guide (https://thecakeisaliegaming.wordpress.com/2015/03/22/building-a-virtual-amiga-for-retrogaming/), but it’s more geared toward building a virtual Amiga environment (basically a heavily upgraded A1200) and running games from the hard drive using WHDLoad. That said, I do go a little bit into what some of the settings do. WinUAE can be quite daunting though, I’m still not sure exactly what everything does myself! When I get time, I might write another guide or expand on that one.

          Like

    1. Yes, but I much prefer the configurability of WinUAE. That said, it is a bit more straight forward to use and has some really nice features that WinUAE doesn’t.

      Like

  3. Thank you very much, it was really hard to make this work without reading this post, either way I wasn’t getting any sound, and then the music it wasn’t playing properly. Now finally everything is working perfect! Great tutorial and essential for everybody!

    Like

  4. Hello! Excellent guide. I have one single issue: I want to run games via Hyperpie PC and I’m using a 360 gamepad. I can find the options for 360 gamepads in WinUAE (game ports) but I cant make it work! I set it to my gamepad, save config and quit WinUAE. When I start the program back up my changes to controls haven’t been saved. Think I might be missing something?

    Liked by 1 person

    1. Hi, thanks. Unfortunately, I have no experience of Hyperpie PC. When I run WinUAE through Windows my controller set-ups are retained along with all my other settings when I save the configuration (I also use a 360 controller). One thing to note is that you need to have the controller plugged in before you load the config.

      Anyway, I’m not really sure what to suggest. It could be an issue specific to Hyperpie. I don’t which version of WinUAE you’re using, but you could try using a newer or an older version and seeing if that helps.

      Sorry that I can’t be more helpful!!!

      Liked by 1 person

      1. Hi! Turns out I was of course missing something. WinUAE that was included with Hyperpie PC was set to autoload another config than the one I was editing…So pretty much a case of calling tech support before checking if the computer is plugged in. Thank you for replying and thanks again for your guide. My next step will be trying to get Amiga games up and running, so I think your other guide will come in handy 🙂

        Liked by 2 people

  5. I got mine setup and The Chaos Engine seems stretched and has a black bar along the bottom once in game. Is this normal? The title screen etc looks ok.

    Like

    1. You’ll probably need to play with the scaling settings in WinUAE’s filters tab, and the results can vary depending on both your computer setup and the game you’re playing. I usually have scaling set to automatic and aspect ratio correction disabled, which for most games (including The Chaos Engine) stretches the picture to fill my entire screen (1920×1080). I cover some of the settings in my one of my other guides: https://thecakeisaliegaming.wordpress.com/2015/03/22/building-a-virtual-amiga-for-retrogaming/#scaling

      Like

  6. I can load the games fine in WinUAE as all my games are in .chd format but I cannot get my frontend RetroFE to pick them up and load without first interfacing back to WinUAE. Anyone know how to accomplish this?

    Like

Leave a comment