As the Apollo Core 68080 is very promising, I wanted to see how it behaves with Atari stuff. This can give an idea of how it would work if some day the Apollo Core 68080 was available for Atari hardware. Here are my (Vincent) conclusions.
For memory:
- In 2010, I ported
EmuTOS to Amiga. I had previously cleaned up the EmuTOS sources to remove dependencies to Atari hardware (when working on ColdFire Evaluation boards). Then I suspected it would be easy to port it to Amiga, with minimal efforts. Even if I'm not an Amiga guy, I found Amiga hardware programming documentation on the web and I got first results with WinUAE in 2 days. I took the time to clean up all that stuff, then it has finally be officially included in EmuTOS 0.9.0 released in 2013 (only ST-High video mode supported).
- In June 2016, I made
minor changes to FreeMiNT to make it compatible with non-Atari hardware such as Amiga. As FreeMiNT relies almost entirely on underlying BIOS for hardware support, this was easy to make it run over EmuTOS for Amiga.
- In February 2017, after having bought an Amiga and a Vampire board, I have published an
fVDI driver for SAGA, the extended HDMI output of Vampire boards on Amiga. This driver supports 16-bit extended video modes up to 1680x1050 (could be more).
The result is a perfectly working FreeMiNT environment for Amiga/Vampire, similar to the one which can be obtained with ARAnyM of high-end Atari machines. Old TOS programs work well unmodified (I mean old binaries), provided they don't try to access Atari hardware directly, which is of course missing. The resulting system is somehow similar to Milan. I have published many screenshots on the
Apollo Forum, as this is Amiga stuff. Reported results range from monochrome screenshots to full-blown FreeMiNT setup in 1680x1050, including Kronos benchmarks.
What are useful conclusions regarding to eventual availability of the Apollo Core 68080 for Atari machines?
- CPU compatibility. Basically, Apollo 68080 has exactly the same features as a fast 68040. It just works, I didn't face any software issues. I can even run my entire FreeMiNT setup (using official mint040.prg) with ARAnyM, WinUAE or Vampire, by just changing the fVDI driver.
- FPU: currently unavailable. But it is planned to be included in future Apollo Core updates (updatable by software).
- MMU: unavailable, and not planned. FreeMiNT memory protection for 68040 can't be used, but this is not a big problem as it is an optional feature.
- Speed: In Apollo Core GOLD2 release, the FPGA is clocked at 78 MHz (could be clocked higher in future releases). I compared Vampire results to CT60 ones provided by OL. It is difficult to blindly trust Kronos results, because some instructions can be faster than others, with cache differences, etc. Overall memory access is also a bit slower with higher SAGA video modes. My interpretation is that Apollo 68080 CPU speed is roughly equivalent to 68060 clocked at the same speed. I'm convinced that the truth is not far from that. It also appears that the Vampire's FastRAM is very fast, significantly faster than CT60. On the other hand, Chip RAM (= ST-RAM) is still very slow on Amiga.
Apollo 68080 has special enhancements like transparent parallel execution of instructions, transparent cache, etc. This can lead to better performance for some programs, but that's difficult to predict. 68080 also supports extended instructions such as AMMX which can greatly speed up multimedia software, but special routines must be explicitly written for that.
My conclusion is that the Apollo Core 68080 has very good performance, and is very promising. For sure, it is worth to port it to Atari computers. Personally, I don't know hardware, so I can't do more.
Go ahead, hardware people, and bring us Apollo Core 68080 for Atari computers!
EDIT: People of Apollo Team are currently overbusy with their Amiga stuff. Even if they want to support Atari stuff (they asked for help to do that), this will not happen immediately.