PiStorm turbocharges vintage Amigas with the Raspberry Pi
Who needs the present when you can relive the '80s at warp speed?
FOSDEM 2024 The PiStorm is an ingenious way to make real vintage Commodore Amiga hardware not only run again, but do it over three orders of magnitude faster – using cheap, open source hardware and software.
The PiStorm project has gone through several iterations, and Andrew Hutchings demonstrated and talked about two recent developments: the PiStorm32-Lite accelerator board for the Amiga 1200, running the Emu68 bare-metal 68000 emulator for Arm.
The FOSDEM conference in Brussels is a hotbed of Unix fans, so it's a brave individual who presents a totally non-Unix-like system. Especially when the new iteration removes Linux from the setup. It's even more intrepid if he actually uses the 30-year-old kit in question to present from. Hutchings has prior vintage-kit form, though – he's also the chap behind this Pi-based teletext system.
On the other hand, the Amiga is one of the most cult retro platforms out there. It sold in the millions, defined the state of the art for mid-1980s video games, and it's still beloved by legions of fans today. As The Reg FOSS desk has covered, its unique OS received an update last year, and there are dedicated FPGA-based accelerators that can turbocharge revenant Commodore hardware and bring it to useful levels of performance. You can even buy a standalone model – for a fairly hefty price.
But one of the delights of retro kit is that it can be a cheap hobby. Yes, some hardcore enthusiasts are willing to pay more than its original price for upgrades to a 1980s computer, but there's a bigger market for cheap kit like the Raspberry Pi. Gigahertz-class computing for under $50 has strong appeal. So when clever hardware – and equally clever code – brings these things together, that's even more interesting.
The original PiStorm was a CPU replacement board. You removed the 68000 chip from an Amiga 500, 1000 or 2000 and replaced it with a carrier board that held a Raspberry Pi 3A, with its Ethernet and USB ports removed or relocated. When the host machine got power, the Pi booted its usual Linux-based OS, then inside that, it booted a CPU emulator called Musashi. Thanks to a CPLD on the adapter, this took over the functions of the Amiga's CPU and booted AmigaOS on the machine's reanimated carcass.
When the author first heard about this device, his response was a mixture of awed respect and horrified revulsion. Yes, the performance was good. Hutchings showed a screenshot of Amiga benchmarking tool SYSINFO showing a CPU speed of 12,443 Dhrystones – not the fastest Amiga ever, but five times the speed of an Amiga 3000 with a 25 MHz 68030 – and it was under $50 if you brought your own Pi. The thing is that it's also a very complex, and to our mind horrendously inelegant, kludge, using an entire, alien and very complex OS to emulate one chip.
Using Linux did bring advantages, though. Given a sufficiently warped mind creative imagination, and substantial configuration, other chunks of the Pi's hardware can be linked up to AmigaOS: networking, RTG graphics, HDMI output, USB ports, and more.
- The real significance of Apple's Macintosh
- ZX Spectrum Next Issue 2 ships out, chip shortages be damned
- How Sinclair's QL computer outshined Apple's Macintosh against all odds
- Code archaeologist digs up oldest known ancestor of MS-DOS
Back in 2021, Hutchings blogged about an alternative approach, using the bare-metal Emu68 68000-on-Arm emulator. We mentioned it a couple of years ago. Emu68 does JIT compilation of 68000 code, yielding much faster emulation – at that time, it could deliver about 795,875 Dhrystones, or about 800 MIPS. By 2021, the Linux-based emulator had doubled its speed, but Emu68 was still around 35 times faster, and Hutchings demonstrated it running Doom.
Late last year, he published an updated post with a Pi 4 board in an Amiga 1200. By then, it did 1,614,644 Dhrystones, which as he says is about 1,300 times faster than a stock Amiga 1200 … and now, the demo uses Quake. On the machine's original AGA display chipset, it can do 50 frames per second, and using the Pi's graphics over Amiga RTG, it can do 90 FPS.
In September, that post said: "I'm planning something very cool for it, which will be public in a couple of months." We reckon that the FOSDEM talk fits that description.
To be fair, we feel it's worth mentioning that while Emu68 is much faster, it doesn't deliver all the functionality of the Linux-based route. As an example, it seems that for now it doesn't do networking, although these things might come in time. Its impressive performance is tempting others into experimenting with PiStorm, such as this Atari ST adaptation. It's also drawn the attention of the Sinclair QL world.
The PiStorm32-Lite hardware is open source, and you can buy ready-made boards for €84.95 ($91) if you provide your own Pi. There are also cheaper versions for the Amiga 500 and 2000 and the Amiga 600.
The talk is just under 20 minutes long, and there's a video on the FOSDEM program page, as well as the slide deck [PDF]. This vulture has now joined our colleague Richard Speed, who reported that Hutchings' previous project resulted in feeling strong acquisitive urges. ®