I’ve long been fascinated by the Raspberry Pi series, and have a cased though admittedly barely used original “Model B” to prove it.
A few days ago I had the idea of a “400” being my new Amiga development machine after seeing some interesting things about it recently.
This post documents what I’ve done so far.
The micro SD included with the bundle I received (computer, mouse, power supply, etc) right out of the box showed a bunch of errors as a newer version of the OS is out, the supplied version “buster” moving from “stable” to “oldstable”.
This highlights a problem with Raspberry Pi OS (previously called Raspbian). The upgrade path is technically wipe and start again whereas many other systems have a method of doing a “distribution upgrade”. For the greatest “run” the best thing to do is upgrade rather than allow the OS to “switch” to “oldstable”.
For a variety of reasons I didn’t go with the “Raspberry Pi Imager” – I did things manually with my Linux based laptop.
OS images can be downloaded from the following page:
https://www.raspberrypi.com/software/operating-systems/
I chose the 32-bit “Raspberry Pi OS with desktop and recommended software” option. At the time of writing this download as a zip file called 2022-01-28-raspios-bullseye-armhf-full.zip and containing an image 2022-01-28-raspios-bullseye-armhf-full.img inside.
Next up was finding the “block device” to use. This can be found by typing in “lsblk”, inserting the SD card (in my case the micro SD card into the supplied Raspberry branded adapter and then into the laptop’s built-in SD reader slot) and typing the “lsblk” command again. In my case, this showed “mmcblk0”.
Now I just needed to extract and write the image:
cd ~/Downloads unzip 2022-01-28-raspios-bullseye-armhf-full.zip sudo dd if=2022-01-28-raspios-bullseye-armhf-full.img \ of=/dev/mmcblk0 \ status=progress
This process will take a long time. Patience is a virtue in getting this set up.
When finished the SD can be popped back into the Pi 400 and it can be booted.
There is an initial setup process and for me not entirely successful but eventually it gave me the Raspberry Pi OS desktop, with a convenient terminal icon in the taskbar at the top of the screen.
I quickly discovered in the terminal window not all the keys typed the correct characters. This was easily fixed by using the command “raspi-config”, going to the Localisation Options, and changing the keyboard to Generic 101-key, English (UK), default for keyboard layout, no compose key and don’t use Ctrl+Alt+Backspace to terminate X.
As mentioned, for me, the software update process didn’t complete successfully so to start with I set that off manually.
sudo apt update sudo apt upgrade -y
Now to grab FS-UAE source code. We’ll set up a directory for native code (useful later) and pull the source down into it.
mkdir ~/prg cd ~/prg git clone https://github.com/FrodeSolheim/fs-uae.git cd fs-uae
I then reviewed the documentation for compiling FS-UAE at the link below:
https://github.com/FrodeSolheim/fs-uae/blob/master/docs/compiling.md
Raspberry Pi OS is based on Debian (the old name Raspbian was derived from this) so I figured I could use those notes as a guide. I have since found another guide for Raspberry Pi 4, but I didn’t see that at the time, so I’m sticking with this for now.
sudo apt install -y autoconf automake build-essential gettext \ libfreetype6-dev libglew-dev libglib2.0-dev libjpeg-dev \ libmpeg2-4-dev libopenal-dev libpng-dev libsdl2-dev \ libsdl2-ttf-dev libtool libxi-dev libxtst-dev zip zlib1g-dev ./bootstrap ./configure make
The first three lines didn’t take that long but the “make” command was the biggest time sink. Approximately 20 minutes. Perfect time to make a nice cup of tea… and drink it.
Then came the moment of truth…
./fs-uae
It worked! It looked a bit different to the FS-UAE I’ve used to date, but it worked, slowly bringing up the “AROS” boot screen typical of several Amiga emulators when they don’t have an official Kickstart ROM available.
On the Pi 400 keyboard, Fn+F2 brings up the FS-UAE “F12 menu” and as per usual you can arrow up to an ‘X’ icon and hit enter to quit the emulator.
This first run will create a lot of the needed directories in an “FS-UAE” folder so the test run is actually quite useful. In previous (pre-built) versions this folder lived in the “Documents” folder, but this self built version the software created the folder in the user’s $HOME directory. Interesting, we’ll need to take that into account.
That was my initial session to bring a “known” Amiga emulator onto my Raspberry Pi 400.