AboutBlogPortfolioLibrary

Pistorm: Like a Neuralink for your Amiga

I got my hands on something shiny and new! And by shiny and new, I of course mean the exact opposite of that, but today it is what's on the inside that counts. Follow me on this adventure.

On the Canithesis blog, I expressed interest in wanting to develop a version of TIME FALCON for the Commodore Amiga. Originally, development of this port was planned to take place well into the development of the Windows and Linux versions, after we had enough completed to begin a fundraiser, but I got lucky and managed to get my hands on a PAL Amiga 1200 way sooner than expected. With my budget this sort of opportunity would not come up again for at least another year, so I didn't hesitate. It arrived at my house earlier this month, so I've been taking some time off work to get all the necessary hardware and software set up that I'll be needing to make the most of it.

The choice of platform was nothing short of deliberate. The Saturn was a close pick, but couldn't output the screen resolutions I wanted for nice artwork, only an interlaced PAL TV signal would work at the minimum. I wanted my game to have a vertical aspect ratio like many arcade cabinets. If you want an example of trying to do that on a Saturn, look no further than Galactic Attack: good game, very clunky port. Plus, having more old computers in my collection scratches a nice itch, so that's a bonus.

The Amiga has a bit of a reputation among computer nerds for being very ahead of it's time in the early years, and for pioneering many at-home careers in music production and digital illustration, then followed by a swift but not quite complete fall from grace after Commodore fatally botched the marketing and hardware development of the machines. Multiple new, cutting-edge architectures were in development in an attempt to bring the Amiga platform back into the spotlight during the 3D generation, but Commodore was liquidated before any of them saw the light of day. The branding was reused in some PowerPC desktops by the name "AmigaOne", as late as 2017, but those are rather uninteresting and barely relevant to the 68k machines that still maintain a cult following.

Now, I couldn't get an era-appropriate accelerator for my Amiga, which was a problem because I expect TIME FALCON's game engine to be a pretty massive CPU hog. We also need realtime scaling and rotation of graphics, something the Amiga is not very good at out of the box. So either a lot of horsepower or a lot of spare RAM for prefetching scaled graphics is needed, preferably the latter. The only accelerator affordable to me was the Pistorm32 Lite, which is a sort of translator that allows you to embed an ARM-based Raspberry Pi inside of an Amiga 1200 or 4000 and software-emulate a 68060 at breakneck speeds. This is perhaps counter-intuitive since the point of all this is to test the performance of my code on real hardware, but I'll cross that road when I get there. Running it on the stock 68020 and lowering my expectations a bit is always an option if all else fails, the only brick wall to run into is available RAM :) By the way, if you own an older OCS Amiga, there is a separate version of the Pistorm for that as well.

The current emulator used is a standalone build of Emu68, though you can also use the Musashi emulator provided you're okay with running an outdated version of Debian, as the compilation for the Pistorm software appears to be broken past Debian 11 due to some updates to the Pi tvservice. Musashi is, according to what I've heard, pretty unreliable, so you'd only ever want to do this if you need network SSH access and FTP transfers out of the box. There are servers that you can run straight from AmigaOS to do this job as well, provided security is not a concern for you, such as squirt (be extremely careful when typing that into your search engine). For my file transfers I have been using a program called apccomm and a USB to Serial cable connected to my Linux battlestation. Using serial for this is prone to failures and not ideal for lots of files or very large ones, more on that soon.

Emu68 for the Pistorm includes an installer in the form of a Powershell script. As a pretty big Unix guy I have never really gotten deep into Powershell or liked much of the scripting or automation stuff for Windows, so I can't imagine why this was the platform of choice for the installer, but it is possible to roll your own Emu68 + Workbench distro manually if you do not have a Windows machine available. I opted to just bite the bullet and boot into Windows since I was short on time. If you do use the Windows installer, you may want to create a disk image rather than burn it directly since the script could not access my drive correctly. To do this I had to boot back into Linux so I could use GNU dd, disk management to me on Windows is a patently awful experience.

Once that is set up, you should be greeted with a mostly stock AmigaOS 3 desktop on bootup. The Emu68 distribution you generated comes with all the drivers you need to access the Pistorm's features, including RTG graphics, and Wi-Fi or Ethernet passthrough compatible with any Amiga networking stack such as AmiTCP. Also included are shareware copies of Roadshow (a TCP/IP stack), HippoPlayer, SysInfo, an internet speed tester called AmiSpeedTest, the iBrowse internet browser, and Directory Opus. There is little to nothing loaded at startup though, so this won't be a bloated experience like what you would otherwise find in Amiga Game Selector. The onboard IDE controller is disabled and replaced by the Pistorm's SD card, but you can boot from it again if you disable the Pistorm by holding the reset hotkey when turning the computer on. No emulated sound card is provided, so any AHI programs will use the Paula driver. With the monstrous CPU speeds this is not a problem at all but it does mean you will not get audio out the HDMI port, only through the analog RCA connectors native to the original system.

If you are using RTG output through the Pi's HDMI output like I am, one of the first essential programs you must install is NewMode. There is another similar program called ModePro that seems decent, but NewMode is a lot easier to use. These are screen mode promoters, which are programs that intercept API calls to create new Intuition screens and allow you to override the parameters that the screen is created with before the call gets passed on to the window system for real. These usually also come with some basic letterboxing or scaling options. Games and demos are unlikely to work with screen promoters, nor some poorly written productivity software or really anything that assumes a particular screen resolution. OctaMED, for example. But for programs like Emacs it is really handy so that you do not need to switch between composite/RGB and HDMI whenever you open or close those programs that do not have RTG support.

(Don't actually try this with WHDLoad, it will complain and exit immediately. Plug in a cheap composite cable.)

This isn't a tutorial, so I'll leave the rest up to you to figure out. If you have used an Amiga you already know what to expect, and if you don't... RTFM. This is about my experience specifically on the Pistorm, so let's talk about the bad stuff.

First, instability. Emu68 is pretty reliable. A lot of software for the Amiga is not. I already mentioned the RTG mode being a bit annoying to use if you intend to play any games, but the ludicrous speed of the Pistorm is very likely to create big problems for you too. I was not able to get any TBL demos running without freezing the whole system. apccomm exhibited much more data loss during serial transfers, especially if I had music playing in the background or attempted to open any drawers while it was going. Super Stardust's inputs were broken, with both weapons and shield requiring that I mash the keys even if autofire was on. Overall, not amazing. You will have the fastest Amiga out there, but it will come with a price. As mentioned before you can disable the Pistorm by holding the reset keys when the computer starts up, but you lose all of your additional RAM when you do this. Most productivity software was not adversely affected by the speed increase, so if you are using your Amiga to get actual work done (and that work isn't game development or making music) this may not matter to you. If it does, you might want to crank things down several notches, seek out patches, or just buy something else.


Yeah SysInfo is broken, but mmmm, look at all those dhrystones!

Second, a few compatible Pi models have clearance issues inside the case. The USB ports, which you'll never use, may protrude out the bottom of the A1200's trapdoor and prevent it from closing properly. You may have to shoehorn an HDMI or ethernet cable inside the Amiga and route it out the back if you intend on connecting them anywhere, and this often barely fits with the floppy drive cage in the way. Putting some anxiety-inducing pressure on the Pi's pins and the Amiga's expansion slot is not unexpected if you're going all-in with the Pistorm.


(The camera angle here with the bottom cover on doesn't do it justice. I just wanted an excuse to show my friend's reaction to this because it was hilarious.)

Third, and I said this before, but the onboard IDE storage is inaccessible while the Pistorm is running. At least, by default it is. The Pistorm does not provide sound capabilities to the Amiga nor will the Emu68 distribution route Paula data back to the Pi, so you aren't saving on cables by using RTG graphics.

In conclusion, I think the Pistorm32 is really neat, and you should definitely give it a try if you're serious about using a classic Amiga in 2025, but if you are new to the Amiga platform or are expecting a "just works" experience this isn't what you're looking for. Really neat project by some very smart people, and I'm more patient with computers than most, so to me this is worth the time and money investment.