Thanks for the reply!
I understand your point, I was wondering if there's any plan to improve the accuracy, in particular the problem related to the slowdowns in the CAVE games.
Right now we have the Blitter Delay option which kind of works but we have to figure out the correct value by trial and error and, even with a certain value, there are still inaccuracies in some games.
Are we going to see any updates on the cv1k or is it considered "good enough" and be left as is, until someone else picks it up and works on it?
I don't have the information required to do that, there are even disagreements over if it's really a blitter speed problem or an SH3 speed problem or both.
It would require extensive tests to get the blitter right, including working out why the blitter microcode is changed between games (we don't use the microcode for emulation) but I can only assume it was optimized / tweaked depending on the needs of different games, so even if we do timing measurements it might not end up being a 'one size fits all' solution, and there are a lot of variables to test.
The other issue is the SH3, for any modern CPU you have things like cache, and often significant waitstates if slower parts are used. Emulating the caching algorithms of a modern CPU is tricky, MAME assumes RAM has 0 access time (so everything is the speed it would be if read from cache) but in reality code running from RAM/ROM could be slower, or even affected by blitter operations to further complicate things.
It's taken years to finally get 99.99% perfect emulation of the blitter speeds on Robotron (only happened in the last 2-3 years) and Robotron is a FAR less complex system.
In other words, the best you're likely to see for a long time is an approximation, even the ports use approximations.