Posted Fri Apr 23, 2021 9:45 pm
Well, full disclosure, I'm good friends with Claude but in direct competition with him.
PiStorm fills a niche of giving good performance and a slew of features missing on the Amiga such as RTG, fast file system, and Ethernet. By leveraging Open Source emulation, PiStorm was able to be brought up quickly and works fairly well.
That being said I see three big problems with the PiStorm.
First is the bottleneck between the Pi and the Amiga. The Pi has no true memory bus on the GPIO headers and the PiStorm "bit-bangs" communication to and from the CPLD which in turn emulates the 68000 bus. There's a lot of transactions and latency here and right now, the PiStorm accesses chip RAM about as fast as a real 68000 if it had an additional wait state with chip RAM.
Which leads to problem number two; the transactional nature of this does not lend itself to efficient emulation. Musashi right now is hitting "modest" 68040 speeds because any chip RAM access has to stop the world and poll the CPLD. I think some of this can be mitigated by adding a FIFO to the CPLD, but I'm not sure that particular CPLD is complex enough to do something like that.
And the third thing is that this is running on Linux. Now, I'll shelve my hatred for Linux for the moment and tell you what the real problem is -- determinacy. See, you're running a processor on a full operating system and that operating system might decide to go do something else for a while. And you can go crazy stripping Linux down and it still might do that. And you could rebuild the kernel with RT extensions, and Linux might still do that. You're at the mercy of Linux.
Which leads me to my final question.
If you have a Pi, why not just run PiMiga on it? It's spanking fast and faster than PiStorm. See, the load of emulating the chipset stopped being an issue around the K3-600 (remember those?) and since most people only use that to emulate games, there's no need to run better than a 1200. For everything else, there's RTG and AHI leaving the CPU to go crazy on JIT and give you performance PiStorm could only dream of.
So in the end, I don't see how it makes any sense. UAE will do better chipset emulation here because it's not bottlenecked. It's a strange solution for a problem we didn't really have.