Project

General

Profile

Actions

Emulator Issues #12937

open

IOS boot times aren't always accurate

Added by stebler almost 2 years ago. Updated almost 2 years ago.

Status:
Questionable
Priority:
Normal
Assignee:
-
% Done:

0%

Operating system:
N/A
Issue type:
Bug
Milestone:
Regression:
No
Relates to usability:
No
Relates to performance:
No
Easy:
No
Relates to maintainability:
No
Regression start:
Fixed in:

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

001-ipc-init-console.png (46.3 KB) 001-ipc-init-console.png Console timings leoetlino, 06/18/2022 10:53 PM
001-ipc-init-dolphin-5.0-16668.png (50.3 KB) 001-ipc-init-dolphin-5.0-16668.png Emulated timings (5.0-16668) leoetlino, 06/18/2022 10:53 PM

Updated by leoetlino almost 2 years ago

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).

Actions

Also available in: Atom PDF