Emu68 is dominating the PiStorm news this week, and quite rightly so! Welcome to This Week in PiStorm!
What a week it has been for Emu68! Every week more and more things start to work as the issues get resolved at an incredible pace. I thought my big news this week would be that Workbench gets part-way though booting, but no, we blew past that…
A very short time later the full Workbench experience was felt (even if there were a few quirks):
It even got as far as a slightly modified version of SysInfo managing to boot and by the end of the week, completing a full benchmark run, this was the first result which was a little “disappointing”:
Apparently even though this is 6-7x the performance of the regular PiStorm emulator, better was expected. By the end of the week, after some tweaking the numbers got to eye-watering levels:
We are now talking 12x faster than the regular emulator used for PiStorm. This is still with a Raspberry Pi3A+ so with a Pi Compute Module 4 we could be seeing incredible numbers. It also has a FastRAM benchmark speed of around 7GB/sec.
According to Michal, 700-800 MIPS should be possible on a Pi3A+, but this is still hampered a little by the GPIO and current wire protocol. You can read more about the progress in his Patreon post. There is also a further post about issues regarding reset.
Now, it should be noted that this is all still quite experimental. Only a couple of Kickstart versions will even boot right now, most software won’t (but it is getting better every day). A key point which I’ve made before is that this is a bare metal emulator as opposed to a Linux based one. Which means that all the extra goodies such as SCSI and RTG will need to be re-written to use the hardware. They will eventually come, but they will take time to develop.
The keen eyes out there may also spot that the Chip Speed is low. It is the same with PiStorm right now and this is down to the current firmware used in the PiStorm. Once we have future versions working then this should also increase significantly.
Michal has done incredible work and is progressing so fast that even I’m struggling to keep up. I wouldn’t be surprised if there is more news before I hit the publish button on this post. If you love what he is doing for PiStorm then I again urge you to sponsor his Patreon.
To MMU or not to MMU, that is the question…
Actually it really isn’t. The reason many accelerators use the MMU that comes with a full 68030 onward is that it is used to map the ROM into RAM which gives a nice performance boost. If the accelerator itself cached the system ROM into its own RAM and mapped that itself then it would have the same effect. PiStorm can do this if you use a ROM file or with the “autodump_mem” option to cache the system ROM into the Pi’s RAM.
In many cases having the MMU causes a performance hit to the CPU and can hit several painful bugs, especially with WHDLoad. The emulator currently used by PiStorm has a very buggy MMU emulator that causes a large performance hit because it needs to add a lookup table for the memory pages for every access. Some time ago we actually hard-coded the MMU to be turned off in the emulator. The emulated CPU may still advertise it for software such as SysInfo, but it isn’t there. So there is no real MMU functionality in the emulated CPU.
Our recommendation is not using the MMU libraries for your Amiga OS. The amount of software that really requires it is very tiny.
First Emu68 Speed Tests on the PiStorm
Simo managed to capture the first speed tests for Emu68 PiStorm on video for you all to enjoy:
And then a follow-up for the improved performance:
FPS Gaming On PiStorm
Mike’s Retro Tech did a live stream showing the state of various FPS games running on PiStorm such as Wolfenstein 3D and Blood. As expected, some currently run well, some do not yet: