Mimic

Convert a Raspberry Pi 400 into a retro computer that behaves like the popular Amiga 500.

The Commodore Amiga was more than a gaming platform; its graphical interface, Workbench, was way ahead of its time. The Amiga models rank among the particularly popular home computers of the 1980s and 1990s. The A500, A1200, and several other Amigas had the motherboard and a floppy drive integrated into the keyboard case. More professional variants like the A3000 were built more like a PC and housed the mainboard, expansion cards, and drives in a desktop or tower case.

According to Wikipedia, the Amiga 500 is the best-selling model, which is what prompted Retro Games Ltd. to launch a replica that was released in April 2022, dubbed the A500 Mini. The manufacturer is already known for reissues of other Commodore computers, such as the C64 (in miniature format and full size with a working keyboard) and VC20 (full size only).

For a good Amiga emulation, you don’t have to wait for the A500 Mini. Emulators are available for practically all platforms (even for the old MS-DOS) that bring that Amiga feel to other hardware with varying levels of setup overhead. In the Raspberry Pi world, the Pi 400 (Figure 1) is a very good choice for use as an Amiga emulator because, like the original keyboard Amigas, it combines a keyboard, mainboard, and storage device in a single housing.

new_fig01.tif
Figure 1: Install PiMiga on a Raspberry Pi 400 for a great retro experience.

Chris Edwards, the developer of PiMiga had the same thought, prompting them to build a Raspberry Pi OS distribution that boots directly into the Amiberry emulator. A Pi 400 with the PiMiga card in place needs 39 seconds after powering on for the Amiga Workbench interface to appear in high resolution (1920x1080) (Figure 2). The current PiMiga release 2.0 uses Raspberry Pi OS 10 with kernel 5.10.60.

b02-workbench.tif
Figure 2: The graphical user interface on Amiga computers is known as the Workbench.

Installation

PiMiga is available as a torrent file, which you can source directly from Chris Edwards. Earlier releases came in two variants (for example: PiMiga 1.5 Lite and PiMiga 1.5MF), but now there is only one version. Download the PiMiga2x64.7z archive which weighs in at 24GB and lets you extract the 44GB PIMIGA2.0x64.img image file.

It may take some time to download the archive, unpack it, and write the image file to a sufficiently large microSD card (64GB).

To boot the emulated Amiga, you need a BIOS, or Kickstart ROM in Amiga-speak. Different versions of these ROMs are available for various Amiga computers. For the Amiga 1200, PiMiga needs Kickstart 3.1.

The developer sets great store by users sticking to the correct procedure; both images come without the required Amiga Kickstart ROMs, which you have to source elsewhere. This process is completely legal because all rights to the Commodore and Amiga products up to 1993 have been transferred to Cloanto, and the company still distributes software packages containing the ROMs.

The “Kickstart ROMs” box provides tips on how to buy a suitable package from the Cloanto store and where to find the correct ROMs therein. Of most importance is that you have Kickstart v3.1 for the Amiga 1200 (kick31a1200.rom) in the KICK partition on the microSD card. If you use an encrypted version of this ROM (from the Cloanto packages), the rom.key file must be in the same location.

Kickstart ROMs
If you own an Amiga, you can use the original ROM; otherwise, you have to get it some other way. One good option is to buy the Amiga Forever Plus Edition for just under $30 (EUR30). Manufacturer Cloanto is the current rights holder of all Kickstart versions and sells them, among other things, as part of this package. After you confirm payment, you can download directly from the store page, which gives you either an MSI installer (for Windows) or a ZIP archive (Figure 3).

Unpack the AmigaForever9Plus.zip archive after completing the download and access the ISO image af-dvd.iso. On Linux you can mount the image with a variant of the command

mount -o loop af-dvd.iso /mnt/

and find the Kickstart ROMs in the Amiga Files/Shared/rom/ folder. You need two files for PiMiga: the encrypted Kickstart ROM amiga-os-310-a1200.rom and the key file rom.key. If you use Windows or macOS, double-click the af-dvd.iso file so that the file manager will mount it. Then search for the same folder.

Amiga Forever Essentials for Android is far cheaper ($1.99); but it is only useful if you own an Android smartphone. There is no iOS version. Transferring the file involves a bit of work. The app shows the directory with the ROMs (/storage/emulated/0/Android/data/com.cloanto.
amigaforever.essentials/files). The filenames of the two required files are identical.

Copy the two files to the KICK partition on the SD card and overwrite the existing rom.key file. Also rename amiga-os-310-a1200.rom at this location to kick31a1200.rom.

Table 1 lists successfully tested ROMs and their MD5 checksums. PiMiga may also be able to handle ROMs from older versions of the Amiga Forever packages. With a little luck, you might find software collections like Amiga ClassiX 4 or Retro ClassiX, as well, which also contain the ROMs. The purchase price of some of the older DVDs can be less than $10.
b03-amiga-forever.tif
Figure 3: Amiga Forever Plus Edition contains various emulators and Amiga games, as well as the Kickstart ROMs.

Table 1: Kickstart ROMs

License

Source File

MD5 Checksum

Amiga Forever 9 Plus

amiga-os-310-a1200.rom

43efffafb382528355bb4cdde9fa9ce7

 

rom.key

69f3435483bbf39f686d9168bff37f2f

Amiga Forever Android

amiga-os-310-a1200.rom

c9abf2dfd16594d7839924e5f8aea32e

 

rom.key

68a7d3d66af496ec1d896128b005e9ab

The PiMiga image has been prepped in a smart way. Most of the data is on an ext4 partition on the SD card. However, in addition to the usual FAT partition, which contains the bootloader, another FAT partition named KICK is present to which you can copy the missing ROMs from any operating system, even if it doesn’t understand the ext4 filesystem.

Retro Gaming

PiMiga does not come with the Kickstart ROMs; however, what you do find in the images are several thousand games that were often sold at the height of the Amiga boom in pretty game boxes in stores. The community considers these abandonware, and numerous websites offer them for download. On the Internet Archive website, you can play more than 10,000 Amiga games right in your browser (Figure 4) from the Software Library: Amiga page.

b04-archive-org.tif
Figure 4: Try out Amiga games directly in your browser at the Internet Archive.

PiMiga relies on WHDLoad and its iGame front end, which you can run by double-clicking the iGame icon at the bottom of the screen. In this program, you can scroll through the entire list of installed games, but it makes more sense to enter a search term in the top bar; then, iGame only shows you the far shorter list of matches.

Many games have a preview image (Figure 5), and double-clicking an entry lets you open the WHDLoad start dialog for that game. When you get there, some games let you enable cheats such as infinite lives or invulnerability before you start the game with a click on Start – other games start directly after a short delay.

Regardless of the mechanisms provided in the game, it is usually possible to press F10 to quit the game currently running. The WHDLoad dialog that you see directly before the game starts will typically tell you that, too. However, if the virtual Amiga crashes, this key does not work: You need to press the keyboard shortcut Ctrl+Fn+Raspberry key+Left arrow to restart the emulator.

new_fig05.tif
Figure 5: Amiga games can be launched conveniently from the WHDLoad iGame front end, which comes with a search function.

Joystick Setup

Before you start your first game, you will want to connect and set up a joystick or gamepad. To begin, press F12 to enter the Amiberry configuration. (On the Raspberry Pi 400 keyboard, F12 is Fn+F2.) Click Input on the left and then select the device on Port 1 in the drop-down menu. Directly below, you can then change the drop-down from Default to Joystick or Gamepad (Figure 6).

new_fig06.tif
Figure 6: Configure your joystick or gamepad to avoid having to control games with the keyboard.

Switch to Configurations on the left and click Save to save your changes. When you return to the desktop with Resume, the joystick should work in all games.

Complete System

The Amiga Workbench is not just a pretty game starter. Various applications and tools are installed that you can try out. AmigaAMP, for example, is an MP3 player that works like the classic WinAMP or its Linux clone XMMS.

The version of Workbench used by PiMiga is more modern than the official Workbench shipped by Commodore, and it takes advantage of the greater power of current systems. (If you want to take a look at older Workbench versions, you will find a live simulator online.)

Folders with icons on the desktop can be opened by double-clicking. By the way, Amiga computers use a different nomenclature than the rest of the world. The desktop is known as the Workbench on the Amiga, and in the hierarchical disk filesystems, folders are known as drawers, and subfolders are subdrawers.

The default file manager for PiMiga is Directory Opus. The program offers a two-column view and supports various file operations on the selected file(s) from buttons at the bottom. In this way, you can copy, move, or delete files quite comfortably. The operating principle is somewhat reminiscent of Norton Commander (MS-DOS) or its clone Midnight Commander (Linux).

By default, Directory Opus creates a second workbench on which it then runs in full-screen mode. You can change this if necessary by right-clicking on the menubar and selecting Configure | Screen | Screen mode | Display mode… Workbench: Use.

The way program windows are handled is similar to other graphical user interfaces: You can move windows from the upper window border and change window size by grabbing the handle in the lower right corner. Clicking once on a window shifts it into focus, but you need two clicks (again on the titlebar) to bring it to the front. One of the icons on the right edge of the titlebar alternately moves the window all the way to the front or all the way to the back; to close a window, single-click in the upper left corner.

Internet

If the Raspberry Pi is connected to the network over Ethernet, the Amiga programs will have access to the Internet. Whether or not this is useful depends on which services you want to use. For example, while the standard AWeb browser in the version installed on PiMiga can do SSL (and thus lets you open https:// URLs), it does not recognize any of the current certificates, so you’ll get a load of warnings on every HTTPS page. There's no real point in trying to access modern pages with it. Nevertheless, the browser can be useful for some tasks. For example, you can access Aminet, which offers a comprehensive software collection. As a test, I downloaded an Amiga version of the C shell as an LHA archive, unpacked it in Directory Opus, and finally launched it from the terminal program (Figure 7). 

new_fig07.tif
Figure 7: You can download additional software from the Aminet server with AWeb and then unpack and start the program.

Login and SSH

The Raspberry Pi does not start a classic Linux desktop. The Workbench interface is a fixed part of the emulation and cannot run Linux applications. However, you can get this to work with a trick that lets you install a VNC server on the Raspberry Pi.

First you need a Linux shell. If you are running another computer on the network with a secure shell (SSH) client, log in to the Raspberry Pi with

ssh pi@pimiga400

and the login password pimiga.

If name resolution is not working, you need to find the IP address of the Raspberry Pi. The fastest way to do this is to press F12 to open the Amiberry menu and click Quit at the bottom. You will then end up in text mode, where you are logged in as the pi user. Enter the command:

$ hostname -I
192.168.178.118 192.168.178.117 2001:16b8:a43:ff00:ed90:df20:397b:bfda 2001:16b8:a43:ff00:bf02:667c:59db:93c6

 The first address shown in the output that follows the command is the IPv4 address assigned to the network card. Another IPv4 address (for WLAN) and the associated IPv6 addresses might follow.

If you have already quit the Amiga emulator, execute the steps directly in the shell on the Raspberry Pi; you can do without the remote login from another computer in this case.

To begin, install the required packages:

sudo apt update
sudo apt install tightvncserver xfce4 xfce4-terminal

Most important is the TightVNC server, and you need some kind of window manager; the Xfce lightweight desktop works well in this case.

Alternatively, a simpler window manager (without a desktop environment) will do the job. The obvious candidate is AmiWM, which mimics the Workbench; unfortunately, it is not available as a ready-to-use package for Raspberry Pi OS, and I was not immediately able to compile it from the source code. Working as the pi user, the commands

vncpasswd
vncserver

let you assign a VNC password and start the server. If you had to quit the Amiga emulator for these steps, you can restart the emulator now:

cd; sudo ./amiberry.sh

  On the Amiga workbench, open the System, Internet and TwinVNC drawers in turn; then, double-click to launch the TwinVNC program and enter the address localhost:5901 for Server and the password you just set for Password. Now click Connect (or press Enter): TwinVNC opens the connection to the locally running VNC server.

Initially, the Xfce desktop prompts you to set up the panel (Welcome to the first start of the panel). Next, click Use default config. After that, you can work with the desktop (Figure 8), much like any other Linux installation, but with a few limitations. Scrolling with the mouse does not work in all programs, and the middle mouse button is not supported; therefore, you have to resort to keyboard shortcuts like Ctrl+C and Ctrl+V for copy and paste actions or Ctrl+Shift+C and Ctrl+Shift+V in the terminal window. Alternatively, you can use menu items (e.g., Edit | Copy). Copy and paste between Linux and Amiga programs did not work in our lab.

new_fig08.tif
Figure 8: Running a full-blown Linux desktop on the Raspberry Pi 400 next to the Amiga emulator does disturb the retro look a bit, but it is practical.

On the running Linux desktop, you can also start a state-of-the-art browser like Firefox, although you need to install it first:

sudo apt install firefox-esr

By the way, to grab a screenshot of the Workbench, install the Linux raspi2png tool. Every time you run the program, it then stores a screenshot in the current folder as snapshot.png. This command also works on another computer if you are logged in over SSH.

Add a Macintosh Computer

You can also run one of several emulators that you find in the System / Emulators drawer. Probably the most interesting entry in this category is ShapeShifter which can emulate a classic Apple Mac running System 8 (an early MacOS version).

If you want to try ShapeShifter, you need to adjust some settings, because the Amiga emulator is optimized for gaming, and ShapeShifter needs a slightly different setup. Press F12 to enter the setup tool, then navigate to Configurations. From the list of configurations double-click on PimigaSS (ShapeShifter config). This will reboot the virtual Amiga.

When you’re back on the Workbench, go to the System / Emulators / ShapeShifter / 81 subdrawer and click on ShapeShifter, then on Start. You should now see a Mac booting into the desktop shown in Figure 9. 

new_fig09.tif
Figure 9: If you’re not content with playing loads of classical Amiga games, you can try the Macintosh emulator.

Add 100

Thanks to PiMiga, the Raspberry Pi 400 morphs into the Amiga 500 – or a successor to the classic home computer – with state-of-the-art ease of use and reasonable performance. Much of what PiMiga can do could be built as a DIY project (e.g., with DietPi) in the Amiberry variant; however, that would mean a huge amount of work and deep diving into the configuration of various tools.

PiMiga impresses as a ready-made, complete package that only lacks the Kickstart ROMs. The microSD card is filled to the brim with classic games and other Amiga software goldies, so you can have weeks or months of fun trying out these old treasures. Enjoy your dive into the Amiga software universe! 

Watch the Pimiga 2.0 video.