A random project by Lamibe.
I will not try to make it cycle accurate as it's too complex and too slow for lua.

Kinda slow so don't expect good performance on slow devices
And don't support mobile