OatmealDome / dolphin-ios

Dolphin for iOS, reborn
Other
250 stars 27 forks source link

Failed to load GameCube BIOS and games #91

Closed iamlechien closed 1 year ago

iamlechien commented 1 year ago

I’ve been using DolphiniOS (latest version) for a while and I always encounter this problem whenever I start running GameCube BIOS or playing GameCube games. It doesn’t work. Instead, it displays a "vm_remap failed" error then a “Failed to map memory region at 0x00000000” error and the app crashes, like in this video:

https://github.com/OatmealDome/dolphin-ios/assets/136947636/920ad7e4-8148-4c3b-8bf2-ed1983ad8a0d

I somehow managed to make it work yesterday by either changing the CPU emulation engine to Cached Interpreter (Settings > Config > Advanced > CPU Emulation Engine > Cached Interpreter) or enabling MMU (Settings > Config > Advanced > Enable MMU). However, in both cases, the emulation turned out to run as if JIT wasn’t on (as in, unplayably slow).

JIT enabled via AltStore, CPU Emulation Engine is JIT Recompiler, MMU on:

https://github.com/OatmealDome/dolphin-ios/assets/136947636/a21557be-a01c-4233-845f-621a5e56d9ee

JIT enabled via AltStore, CPU Emulation Engine is Cached Interpreter, MMU off:

https://github.com/OatmealDome/dolphin-ios/assets/136947636/91d634bf-c877-4157-919d-5809a386ed3e

I would be grateful if anyone had an explanation or two for this issue because I won't be able to play Mario Kart Double Dash if this situation goes on. Thanks for reading.

Device: iPhone XS Max, running iOS 16.5

iamlechien commented 1 year ago

Apparently, I made a huge mistake by putting IPL.bin files into the GC folder. Without them, the GameCube games work perfectly. So I guess it's a GameCube bios problem.

OatmealDome commented 1 year ago

Thank you for your report. We are no longer accepting issues for the 3.x.x version series, as we have restarted development from scratch using a new codebase and are no longer updating 3.x.x (because of odd issues like these). If this still occurs in a 4.0.0 beta build, feel free to open another issue.