Emulator Issues #12937
openIOS boot times aren't always accurate
0%
Description
Game Name?
IOS58
Game ID? (right click the game in the game list, Properties, Info tab)
N/A
MD5 Hash? (right click the game in the game list, Properties, Verify tab, Verify Integrity button)
N/A
What's the problem? Describe what went wrong.
Dolphin takes at least 641 milliseconds to reload the emulated IOS (GetESBootTicks in ES.cpp) but libogc only waits 400 milliseconds (__IOS_LaunchNewIOS in ios.c).
What steps will reproduce the problem?
Launch an app that performs IPC synchronously like TinyLoad from the OHBC. At some point it will receive an unexpected ack and get stuck.
Is the issue present in the latest development version? For future reference, please also write down the version number of the latest development version.
Yes 5.0-16545.
Is the issue present in the latest stable version?
Presumably.
If the issue isn't present in the latest stable version, which is the first broken version? (You can find the first broken version by bisecting. Windows users can use the tool https://forums.dolphin-emu.org/Thread-green-notice-development-thread-unofficial-dolphin-bisection-tool-for-finding-broken-builds and anyone who is building Dolphin on their own can use git bisect.)
N/A
If your issue is a graphical issue, please attach screenshots and record a three frame fifolog of the issue if possible. Screenshots showing what it is supposed to look like from either console or older builds of Dolphin will help too. For more information on how to use the fifoplayer, please check here: https://wiki.dolphin-emu.org/index.php?title=FifoPlayer
N/A
What are your PC specifications? (CPU, GPU, Operating System, more)
Intel Core i7-8650U, Intel UHD Graphics 620, Arch Linux
Is there anything else that can help developers narrow down the issue? (e.g. logs, screenshots,
configuration files, savefiles, savestates)
N/A
Files
Updated by leoetlino over 2 years ago
- File 001-ipc-init-console.png 001-ipc-init-console.png added
- File 001-ipc-init-dolphin-5.0-16668.png 001-ipc-init-dolphin-5.0-16668.png added
- Status changed from New to Questionable
The current timings come from HW tests (though Dolphin uses a simplified model), so I would be very surprised if this were actually an issue with the emulated boot timings.
Just to make sure there is no regression, I ran the HW test on the latest version of Dolphin (5.0-16668) and I'm still getting the same results I was getting in March 2021. And the timings are similar -- and even slightly faster -- than on my Wii. (See the attached files.)
I also cannot reproduce the issue with TinyLoad. If you launched it from the HBC and the top of the screen turned red, and TinyLoad tried to launch 000100014a4f4449 (JODI -- an old title ID of the Homebrew Channel), that's probably because there is no disc inserted. TinyLoad is supposed to hang (loop forever) after it tries to go back to the HBC.
Edit: Also note that IOS80 takes about (40000000 × 12 ticks) ÷ (729000000 ticks/s) = ~0.7s to start on my Wii, and a HackMii post shows IPC init consistently taking over 400 and sometimes even 1000 "IPC ticks" (iterations of that busywait loop in libogc).