I was recentlymade aware of CoffeePope's mame-sh34 fork (thanks Buffi) which tries to improve on the accuracy of the emulated sh3 cpu in mame (https://github.com/CoffeePope/mame-sh34/) which in turns helps make the Cavecv1k games have mostly accurate when combined with Buffi's blitter delay improvements. I did some testing/comparison with pbc captures and and the slowdown seems near perfect from my limited testing. Please let me know if you find examples where the slowdown is not accurate.
But since these sh3 cpu modification come at a non-negligible computational cost, it is currently completely impractical for runahead based emulators such as retroarch to get these accuracy improvements. One solution is the good old Shmupmame way of removing double buffering from the cv1k driver in mame, removing one frame of lag/delay and making the input lag closer to real hardware when running on a typical pc setup. And unlike other older shmupsmame hacks, this comes without any adverse visual artifacts!
I applied similar fixes to other systems which are not easily combined with runahead due to emulation computational costs:
This is a special Shmupmame build with only those specific drivers:
cv1k games (one frame less lag) and with accurate slowdown
Improved playstation hw based shmups (one frame less lag):
- RayStorm
- RayCrisis
- Brave Blade
- G Darius
- Pryvariar
- Shikigami no shiro
- XII Stag
- Night Raid
- Xevious 3D/G
- Sonic Wings Special
- Radiant Silvergun (mame latency 5 frames to 3 frames delay)
- Guardian force (mame latency 7 frames to 4 frames delay)
- Cotton 2 (mame latency 7 frames to 4 frames delay)
- Cotton Boomerang (mame latency 7 frames to 4 frames delay)
Downloads (source code is in the /src folder):
Shmupmame sh3 Windows 64
Shmupmame sh3 Linux 64bit
the Linux build dynamically links SDL2, Qt5, libFLAC etc, ymmv. I could check to make an AppImage if some people are interested.
If you use your own mame.ini make sure to use the lowlatency 1 setting to ensure mame is as responsive as possible.
Let me know if you find any issues/bugs




