I try to keep tabs on a huge number of operating system projects out there – for obvious reasons – but long ago I learned that when it comes to the world of Amiga, it’s best to maintain distance and let any important news find its way out of the Amiga bubble, lest one loses their sanity. Keeping up with the Amiga world requires following every nook and cranny of various forums and websites with different allegiances to different (shell) companies, with often barely coherent screeching and arguments literally nobody cares about.
It’s a mess is what I’m trying to say.
Anyway, it seems one of the many small companies still somehow making a living in the Amiga world, AmiKit, has recently released a new device, the A600GS. It’s a retrogaming-oriented Amiga computer, but it does come with something called AmiBench, that’s apparently a weird hybrid between bits of Amiga OS 4 and AROS, so it does also support running a proper desktop and associated applications, but only AmigaOS 3.x applications (I think? It’s a bit unclear). It has HDMI at up to 1080p, and even WiFi and Bluetooth support, which is pretty neat.
Wait, Wifi and Bluetooth support? What are we really dealing with here? Once again the information is hard to find because AmiKit is incredibly stingy with specifications – I had to read goddamn YouTube comments to get some hints – but it seems to be a custom board with an Orange Pi Zero 3 stuck on top doing most of the work. In other words, the meat of this thing is just an emulator, which in and of itself isn’t a bad thing, it’s just weird to me that they’re not upfront and direct about this.
While this answers some questions, it also raises a whole bunch more. If this is running on low-end Allwinner ARM hardware from 2022, how is this AmiBench desktop environment (or operating system?) a “fork of OS4 with AROS code in it“? AmigaOS 4 is PowerPC-only, which may explain why AmiKit only mentions AmigaOS 3.x and 68K compatibility, and not AmigaOS 4 compatibility. And what’s AROS doing in there?
I mean, this is an interesting product in the sense that it’s a relatively cheap turnkey solution for classic Amiga enthusiasts, but a new Amiga this is definitely not. At about EUR130, this is not a bad deal, but other than hardcore fans of the classic 68K Amiga, I don’t see many people being interested in this. The Apollo Standalone V4+ piques my interest way more, but at EUR700-800, it’s also a lot more expensive, but at least they’re much clearer about what the Apollo is, what software it’s running, and that they’re giving back their work to AROS.
It sounds like they’ve knocked off the PiStorm (see also) that tons of people are putting into their genuine Amigas.
It’s basically a modern substitute for those accelerator boards you could buy for your Amiga back in the day which, these days, either cost a fortune or are unobtanium.
The trick is that, instead of having to fab a custom ASIC or pay a lot of money for a suitably beefy FPGA (with uncertainty for how long they’ll remain in production), the PiStorm works by using a cheap CPLD for translation and a bare metal (i.e. OS-less) program running on the Pi which does cycle-accurate emulation of a faster 680×0 CPU, extra chip RAM, and a configurable set of peripherals. (eg. USB controller, WiFi card, etc.)
In essence, take an Amiga, pull out the CPU, and leverage how directly it connects to the system bus to plug in a Pi pretending to be a longer system bus with a CPU, some RAM and a bunch of expansion cards hanging off it.
Similar concept to something like the PiSCSI, but extending the system bus instead of the SCSI bus.
Actually, let me correct that. I was mushing together multiple approaches in my memory. The PiStorm can run its emulation as a Linux userspace app (the original approach) which, I believe, gives greater peripheral compatibility and more fancy features, or it can run it as a bare metal application… and I believe the latter also has a JIT compiler in the 680×0 emulator, leveraging how upgrading from one CPU to another in the same ISA isn’t guaranteed to keep the execution timings of instructions the same relative to each other.