PiStorm Accelerator with AmigaOS 3.2 on Amiga 500
Today I am taking a look at the PiStorm accelerator with RTG support on my Amiga 500, which is installed in a Checkmate A1500Plus case.
It also supports emulation of RTG graphics via the Raspberry Pi's HDMI output connector, WiFi internet access via the Pi, and HDF hard disk emulation via a pi-scsi.device driver using the 32GB MicroSD added to the Pi system.
The upshot of the PiStorm is that I get an accelerated Amiga 500/1000/2000 with 128MB fast mem, HD, WiFi networking, and full RTG support for the fraction of the price of a new/old Accelerator board with 128MB memory, RTG graphics card with HDMI output, and a network card. No wonder people are so interested in this!
Before I get too far into it, I should stress that PiStorm is very new and very beta. There are plenty of things that don't work well or properly yet, but the things that do work have definitely got people excited to try it, including me.
Do I really know how this black magic PiStorm works? Nah, not really. Do I have the time to work it out? Not at all. That's why I bought it as a PiStorm bundle from AmigaStore.eu, all setup, complete with AmigaOS 3.2 licensed hard disk setup, all ready to go. You can buy it here. You can choose what you want included with it, depending on how much hardware you have already, and how much setup work you want to do yourself.
I covered this build in previous blog posts I will link here if you want to review first to see the setup of this Amiga 500 in more detail. I also installed a Vampire 500 V2 in it previously, but went back to the ACA500 in frustration. All covered in these blog entries:
Here is the system internals of the Amiga 500 build. I opened the Checkmate A1500 plus case below to start work on the PiStorm upgrade:
I removed the ROM with a chip removal tool, ready for the new 3.2 rom chip.
I booted up a AmigaOS 3.2 Install floppy disk just to confirm 2MB chip memory and other items were still working as expected - all good:
Next step is to install the 32GB MicroSD card in the Raspberry Pi 3A+, which has been preloaded with the required Pi Linux and PiStorm configuration, plus the HDF hard disk file with AmigaOS 3.2 and RTG support preinstalled.
This is why I bought the 68000 relocation board, just in case it doesn't. So I removed the 68000 CPU next:
Here is a closer look at the 68000 CPU socket converter thingy. As mentioned there is a GPIO connector socket on it, which is where the Raspberry Pi 3A needs to be connected.
Installing the socket converter in the 68000 socket has to be done without the Pi attached, otherwise you can't see what you are doing!
As you can see, the clearance from the GPIO socket to the power connectors above is potentially an issue - looks like it is going to be a tight squeeze for the Pi:
However, I needed to remove the ATX power connector temporarily in order to fit the Pi 3A+ there.
When I plugged the ATX power cables back in, I found the Pi 3A+ is *just* lower than the connector and cable - phew!
Next I plugged in the HDMI cable to the HDMI connector on the Pi 3A, which is connected to the external HDMI connector on the rear of the Checkmate A1500plus case, as covered in my previous blog posts on the Vampire 500 setup.
I think I need a right angle HDMI cable here though - it does push on the Ace2 expansion installed next to it and lifts the edge of the Pi slightly, but not enough to be a problem.
Temporarily, I connected a Raspberry Pi keyboard and mouse to the USB port on the PI in case I needed to do anything on the Pi itself.
Here is the setup, almost ready for power on. I connected a HDMI monitor to the Pi HDMI output, and the previous VGA TFT screen to the Indivision ECS as usual.
On power on, I get a definite long wait while the Pi boots up and runs the PiStorm software. Until then, there is no CPU for the Amiga to use, so it will just sit there until it PiStorm CPU emulation is running and can operate the computer - this takes around 30 seconds or so. Out of the box AmigaStore configured the PiStorm to run as a 020 CPU:
When the Pi finishes booting the CPU emulation is running and the Amiga boots from the HDF hard disk on the 32GB SD card on the Pi 3A. It works!
Intially, the HDF is setup to use a standard PAL screen mode, utilising the onboard video out on the Amiga. My 2MB chip from the Ace2 is working fine, and the 128MB memory is also visible:
I ran SysInfo, included on the drive also as delivered, and checked out the performance of the 020 CPU - not too shabby, faster than an 040-25Mhz in the Amiga 4000.
Checing the hard disks attached, they are formatted FFS but this being AmigaOS 3.2, we don't need to worry about the 2GB/4GB limits.
The emulated Zorro expansion cards for the CPU accelerator, memory, network card and rtg graphics card are also visible here.
Your mileage may vary but when I selected 1080p output I couldn't read the text on the screen.
Running RTG 32bit colour at 800x600 was perfect and displayed fine, as shown below. The higher modes I found the text too small to read. Probably I could adjust the font size to compensate. I might do this later.
With that done, I could now run AmigaOS 3.2 from RTG screenmode from boot up, no need for the native display unless running games, demos or requiring access to the early boot menu.
I still needed to adjust the fonts though. Seriously, I hate Topaz. It looks rubbish. For the next release of AmigaOS can we please change the default font to something nicer...
I put the Checkmate A1500 Plus case back together and positioned the HDMI screen back on top. As this screen also has VGA and DVI inputs, I connected the native Amiga Indivision ECS output to the same screen, allowing me to switch modes easily as needed without a second screen. I also ran a USB extension cable from the Pi3A+ through the rear of the case so I can re-connect the Pi keyboard if needed.
I think I might switch the screen to native output and wait 30 seconds and switch back once the pi has booted up...feels less like I am using a Linux machine that way.
Once the Pi boots up and CPU emulation starts the Workbench booting from HDF appears almost instantly.
Doing this will copy the file system handler to l: and append the required mount list list entry for the Pi file system, which is setup to point to /home/pi/pistorm/data/a314-share
As a last step on this part, I added a mount pi0: command to the s:startup-sequence so it will be mounted automatically so it is available every time the Amiga 500 system boots up.
With that done, I copied Larn (one of my favourite PD games on the Amiga) from floppy disk to the hard disk on the Amiga 500 and played it for a bit before I moved on to the next step. Because I needed a break, and also, why not! :-)
As the Pi 3A+ has wireless LAN built in, I can proceed to set that up:
I bash in the WiFi SSID and password and we are good to go. I tested access to the internet to be sure - all good:
I then run ifconfig to check the ip address assigned to the Pi 3A+ as I will need this to connect to it remotely.
I should mention that the Pi 3A+ keyboard mapping as delivered is odd out of the box, not using a standard US keyboard, which is a pain to enter \ / keys. You can change that here too.
With that setup done, I could put the screenmode of the AmigaOS 3.2 back to RTG again, and move to my recently rebuilt Windows 10 PC for the next part.
Next I configured WinSCP to connect to the Pi 3A+ via SFTP. I then selected the a314-share folder that is mapped to the Amiga 500 AmigaOS 3.2 hard disk setup via Pi0: so I can start to transfer files to the Pi 3A+
One thing I did have to do was turn on using MagicWB colours in the Workbench Prefs, as I have lots of MagicWB icons from stuff I am transferring across, and also programs like MUI, etc, use it:
EaglePlayer works well but I can't use the 24bit skins - it complains about guigfx library needing to be v11+, but actually it is version 20! Overwriting with an older version might break stuff in OS3.2 so I left Eagleplayer using lower colour skins for now. Anyone have a fix for this?
A cool feature I learned about while reading through the PiStorm Github documentation, is that you can run an Amiga command called "pi" which will connect to the console of the Pi 3A+ so you can run commands on the Pi while the Amiga 500 is running!
I can use the AmigaOS "pi" command to run other linux commands on the Pi 3A+ like getting it's most recent dhcp ip address for access via SSH or WinSCP. Very nice.
Following the instructions on Github Wiki, I installed the pre-requisite python2-pip and other related configurations.
That done, I have finished the Pi 3A+ side of the configuration. Next I switched to the Amiga. I needed to install Roadshow, which is a commercial TCP stack offering that I have purchased. You can also download the demo version if you want to just try it out.
Yep, I want it all, thanks. :-)
I install the support docs, which are essential really, as configuring Roadshow sucks. Seriously. I have complained about this before. This is a commercial product - virtually every other Amiga TCP stack has a GUI to configure it. Give me a GUI please...
After rebooting, I open an Amiga Shell and browse to the PiStorm:a314/ drawer - I copy the a314eth.device file to DEVS:
It works! I then installed the iBrowse 2.5 web browser (updated 2020 commercial browser for classic Amiga) - which I have purchased:
With the install done, I also installed AmiSSL 4 latest version, which is needed for SSL enabled websites, which is most of them these days! I could then run iBrowse.
I got on with installing AHI on the system, as it is needed for a number of programs, including AmigaAmp, which is also on my to-do list:
AHI installed fine, just using the MUI prefs and standard Paula and Filesave devices. I noticed there is a PiAudio driver floating around which apparently is not working yet. Might have to play with that later...hmmm, hardware decoding mp3 playback, that would be a great add-on.... :-)
AmigaAmp's latest 68k version was released in March 2021 - it is great to see the ongoing development. I changed the Prefs in AmigaAmp to use low quality 22050 output. I am limited by the use of the 020 CPU and relatively slow speed for MP3 playback. I need a hardware solution. Might have to take the MAS Player hardware from my Amiga 3000 back to this machine!
I then used the new ADF mounting functionality in AmigaOS 3.2 to double click each adf to mount the Final Writer 97 ADF files and get the install underway. This is done while listening to mods in Eagleplayer and transferring mp3 files from the Pi0: disk to my Data drive. Multitasking is great isn't it?
With Final Writer installed, I opened up a full screen rtg instance and bashed out my first document with my PiStorm enabled Amiga 500!