OatmealDome (the Dolphin for iOS developer) found that Dolphin without a JIT runs at 20% of full speed on an iPhone. https://oatmealdome.me/blog/why-dolphin-isnt-coming-to-the-app-store/ I doubt you could get it to full speed, but if you could make it just a little faster, you could play RPGs and other games where speed isn't an issue... Surely there's low-hanging fruit in Dolphin's CachedInterpreter? e.g. - can you use Fastmem in CachedInterpreter to skip parts of the MMU emulation? - Are there any instructions that could be optimized specifically for the CachedInterpreter (somehow), instead of using the regular Interpreter's code? - Can you move the dispatch loop into the instructions themselves, like a threaded interpreter? - Can you avoid saving/restoring registers in the interpreter's instructions? The code looks simple enough (400 lines!) that you should play with it and see if you could make it faster... (https://github.com/dolphin-emu/dolphin/blob/master/Source/Core/Core/PowerPC/CachedInterpreter/CachedInterpreter.cpp)
Reply