We,
@ijor and I, have a bit of an update on the Phoenix Sparkalaphobia aka the Hardware FPGA Blitter with Ijor's Blitter core. We have been working in the background on the core and testing. Ijor has been instrumental in helping get the timings and plumbing in place. I have learnt a great deal more about FPGAs through this experience.
We have performed extensive testing and are now confident to announce we have a working Blitter core on real hardware that matches the original Blitter.
Now for the details
Our tests have been on the following hardware: an original STFM and Phoenix H5 motherboard and we have tested on TOS102 and TOS104.
The software we used:
Using the above software we got matches of all the patterns from Cyprian's programs both original and FPGA version matched exactly. Ijor's delay test program gave the same results as an original Blitter on an STFM and H5.
However the GEMBench tests spawned tangential discussions with
@exxos and Ijor on
GEMBench timing (rounding errors). We were seeing a 0.005 difference in running on TOS102 which is negligible but GEMBench rounding was causing 99% score. That said GEMBench scores on TOS104 are 100% between original and FPGA.
Below are some example results. You may also notice that there are timing differences between TOS102 and TOS104 - Ijor mentioned in the thread
Blitter on H5 Test the Blitter code section is similar in TOS104 - TOS206 but different in TOS102. There is also more discussion in that thread about the GEMBench timings.
- Original STFM with original Blitter on TOS102 the Blitter timing is 3.570
- Original STFM with Sparkalaphobia Blitter on TOS102 the Blitter timing is 3.575
- Original STFM with original Blitter on TOS104 the Blitter timing is 3.590
- Original STFM with Sparkalaphobia Blitter on TOS104 the Blitter timing is 3.590
What next?
Well with the shortage of FPGAs currently there won't be many Sparkalaphobia boards being made other than a few DEV ones for continued testing etc. However we now have a solution for a future Blitter chip replacement for original and Phoenix motherboards.