Sunday, April 5, 2020

PiMiga v1.2b for Raspberry Pi 4B

This weekend I decided to take a look at the recently released PiMiga V1.2B Lockdown Edition pre-setup Amiga emulation Amiga 1200/4000 build for Raspberry Pi 4.

Sorry for the delay in blog posts, but with the Coronavirus situation, my employers company being taken over by another one this past two weeks, it has meant I have had a lot of other things to do recently that have stopped me playing around with the Amiga's much. 

But I made sure to make time this weekend. I really needed a break from work and virus news to play with something new and fun!

To use PiMiga, I of course needed a Raspberry Pi 4.

I picked mine up locally in AU for $177 from Core Electronics. As a side note they also sell the very cool Gameboy inspired Retroflag GPi case!

I bought the official Pi case, keyboard and mouse too - the base Pi 4B 4GB board was $102:

I already have experience with Pi systems, most recently with a Raspberry Pi 3, which I was using for IOT projects running Windows 10 IOT, and also Ubuntu Mate for playing around with various stuff.

I hoped the Raspberry Pi 4 would bring the badly needed speed increase the platform needs, and hopefully runs Amiga emulation at full speed! Let's find out!

Here is some close up photos of the Raspberry Pi 4 - this is the model B version with 4GB memory:

It has dual mini-hdmi out, and USB-C power source, alongside the usual USB, ethernet, audio and GPIO port.

Flipping the board over, you can see the MicroSD slot to put OS images into:

The official case is a perfect fit for the Pi 4 and easy to assemble, with no screws needed:

External views of the Pi 4 case with the Pi 4 installed:

The keyboard deserves a mention - the new keyboard has a USB hub built in, which the (extremely short) USB mouse cable is obviously designed to fit into:

I loaded up Debian onto a 64GB MicroSD using my Windows 10 PC and booted up the new Raspberry Pi 4 for the first time.

Having established the system works, I next wrote out the latest v1.2B Raspberry Pi 4 build of PiMiga to a MicroSD card. I did this using my Windows 10 PC as it is less hassle with the 7zip files and large file formats I need to work with.

PiMiga includes the latest AmiBerry Amiga emulation, but setup on an almost ready to run bootable image for the Raspberry Pi 4.

You can get the latest version of PiMiga from the recently setup dedicate Facebook page - just search for PiMiga. The Facebook page includes the link to get the multi-part 7zip archive files (around 16GB worth), and also includes the password needed to extract the files from the archive:

After downloading and extracting the archive, I reviewed the installation instructions included in the PDF in the archive.  

I then got to work writing out the 30GB image file to a 64GB MicroSD card using my Windows 10 PC and Win32 Disk Imager:

Once the image file is written out, the only thing we need to do before putting it in the Raspberry Pi 4 is drop the kickstart roms files into the required partition location, as these can't be included in the distribution for copyright reasons. These steps are included in the PDF in the PiMiga archive. 

As per the instructions, the Image once written out to the MicroSD card results in two partitions, one unreadable under Windows 10, and one readable called KICK, which is where we need to copy our legally obtained kickstart roms.

You can buy them from Cloanto. I got them as part of the Amiga Forever package, so I copied the 3.1 A1200 and A4000 kickstart roms (and the rom.key needed to decrypt) across to the MicroSD card KICK drive:

Once there, I needed to rename the two kickstart files to the convention required by the instructions in the PDF, as below:

Excellent. Now we are ready to try it out on the Raspberry Pi 4! I put the MicroSD card in the Pi4 and powered on. After some quick setup stuff that was invisible it rebooted into the PiMiga environment with a nice splash boot screen and boot sound:

Here is the booted Amiga 1200 Hard disk emulated Workbench 3.1 desktop - looks pretty awesome:

Something I found out though is that I needed to use the Micro HDMI port closest to the USB-C power adapter port on the Pi 4B to hear any audio output.

With that done the mod sounds came through loud and clear and I was very happy indeed!

Under the hood, This is a Debian linux distribution, running the latest AmiBerry 3.1.3 Amiga emulation distribution. If you press the Function + F12 on the Raspberry Pi keyboard (F12 on a normal full sized keyboard) you get the Amiberry GUI, which allows you to view and change the Amiga emulation configuration, to reset the Amiga emulation, or shutdown the Pi 4 system:

Clicking through the various emulation options, you can see the A1200 configuration used by default is running 68020 AGA system, with 8MB chip and 128MB fast memory:

Being an A1200 emulation, it is using the AGA chipset:

Interesting part next is the hard disk folder setup. This shows that the various folders under linux are mapped to DHx devices under the emulation:

If you hit Quit or if AmiBerry crashes during the emulation for any reason, you can return to the command line login prompt for linux. You will need the username 'pi' and password 'pima' to login. then type 'sudo reboot' to reboot the system back into the PiMiga system environment.

There are two configurations in AmiBerry, one for A1200 and one for A4000. The main differences are the memory (256MB versus 128MB), CPU (020 versus 040) - the drives map to the same folders under linux under either system.

You could create additional configurations for 1.3 based emulations, etc. I might do this later on.

One other thing you do need to do here is configure your USB joystick (if you have one). I have one attached, so I go into the Input settings - by default the emulation is using the keyboard as a joystick:

We can click the down arrow to select the USB joystick:

I then went to the configurations section to save the configuration, so it would remember it every time it boots.

With that done, let's now take a look at the PiMiga pre-staged Workbench 3.1 hard disk environment as provided:

The author of the PiMiga package has gone to a lot of effort to do nice icons, and a logical structure to the program locations:

The prefs icons are unusual - I haven't seen icons like this before!

The backdrops of the windows for each drawer are colourful:

There are icons on the desktop for UAE Control parameters you can change, and also shortcuts to drawers - it is clear this appears to be using ClassicWB distribution which is modified a lot:

There are a number of emulators preinstalled, but I haven't tried these yet:

There is a large number of WHDLoad games preloaded on the PiMiga image, ready to run:

There are a bunch of demos too. Note that some need the A4000 configuration to run, some need the A1200 configuration to run, depending on their CPU requirements.

A close up of the drive icons, modelled on Mac Mini systems of old - but looks pretty cool:

There are a few example movies you can play out of the box on the PiMiga system:

Being a huge fan of modules, I am pleased to see there are a number of modules out of the box to enjoy, although I plan to add my own large collection to this in due course.

iGame is setup on the PiMiga system, and indexed with all the thousands of WHDLoad games ready to run on the system:

I have to admit, I am impressed with the work done on this setup, and grateful it saves me the time to do it myself!

I ran the SysInfo tool, which surprise surprise resulted in a  very fast Amiga, way faster than any real Amiga can run!

Final Writer 68k is also included, and it was nice to use under PiMiga:

The shell is VincEd Shell, which I am glad to see has been setup for tab completion for paths, etc.

There are a number of applications included, like AHX for chip tune composing:

Perfect Paint is installed for your graphic file manipulation needs:

Octamed Sound Studio is also installed:

I shutdown the system and mounted the MicroSD on my separate Linux Mint system, so I could copy my mods, demos, ADF files and more to the card - you can see the Kick drive and rootfs are mounted on:

I copied a number of ADF's into to currently empty /home/pi/pimiga/adf folder on the MicroSD card:

I realise with the WHDLoad games on the HD you probably don't need ADF files, but I prefer to have them handy just in case.

I also put my Amiga 2000 HDF (taken from my real Amiga 2000 hard disk) into the empty HDF folder - I don't plan to set this up right now, but will do so at a later time.

Under the /home/pi/pimiga folder on the MicroSD you can see the various folders mounted as drives under PiMiga (AmiBerry):

I quickly added my favourite modules and demos to these folders:

I unmounted the MicroSD, removed from the Linux PC and inserted back into the Raspberry Pi 4B and booted again.  The backdrop changes on each boot:

I tested some WHDLoad games, such as Agony, which ran well:

Shadow of the Beast also ran well:

The USB Joystick also works perfectly:

I also ran a few demos, as included on the distribution. There seems a small issue with iconx as provided in this image for icon launching of some demos, but apart from that, the demos run fine from the Amiga shell (which is how I normally run them anyway).

TBL's Starstruck demo runs flawlessly on the Pi4 using the A4000 configuration in Amiberry, which is great news!

Other demos, such as this one from Focus Design also ran well in A1200 020 configuration:

For me, the big thing was that AGA 060 demos run perfectly at full speed on the Pi4. I am very happy to see this, and makes the Raspberry Pi 4B a cheap and full speed Amiga emulation platform.

PiMiga is a free distribution to download and use, and is definitely worth trying out on your Raspberry Pi 4 today! (there is also a Raspberry Pi 3 version but I haven't tested that)

Please all keep safe out there!