Project

General

Profile

Emulator Issues #7192

Ocarina of Time Master Quest "Video Previews" freeze up [cpuTiming]

Added by JMC4789 almost 6 years ago. Updated over 3 years ago.

Status:
Accepted
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?

The Legend of Zelda: Ocarina of Time Master Quest

Game ID?

D43E01

Game MD5?

1e23afc69bff50a7d20f32c5b739dc06

What's the problem? Describe what went wrong in few words.

The video previews freeze except for the hotclips. F-Zero GX freezes very early in, making it very easy to reproduce. The game doesn't crash; you can still cancel the video and return to main menu.

What did you expect to happen instead?

Well, I expected the videos to play.

What steps will reproduce the problem?
1.Startup Game
2.Hit Z at main menu
3.Choose F-Zero or any other video.

Dolphin 3.5 and 3.5-367 are old versions of Dolphin that have
known issues and bugs, so don't report issues about them and test the
latest Dolphin version first.
Which versions of Dolphin did you test on?

Dolphin 3.5-367... JK

I probably tested this in a ton of versions. Most recent being 4.0-1422. tested like a hundred branches and other changes too. And tons of settings, like, every setting in dolphin.

Does using an older version of Dolphin solve your issue? If yes, which
versions of Dolphin used to work?

Nope

What are your PC specifications? (including, but not limited to: Operating
System, CPU and GPU)

Core i5 3570K, GTX 760 running Windows 7 64bit
Core i7 2670QM, GTX 560m running Ubuntu something or another. It runs Dolphin, basically.

Are you using the 32 or the 64 bit version of Dolphin?

64bit

Is there any other relevant information? (e.g. logs, screenshots,
configuration files)

The game does not crash during this; the video just freezes up. Hitting any buttons will take you the main menu. That's the most interesting part to me.

History

#1 Updated by JMC4789 almost 6 years ago

Still broken in 4.0-2012

#2 Updated by phire almost 6 years ago

Might be a jit issue; Does it work in JITIL or interpreter?

#3 Updated by JMC4789 almost 6 years ago

It doesn't work on JIT or JITIL or Interpreter. Or Software Renderer + any of those combinations. And it never worked to my knowledge. Will test 3.0.

#4 Updated by JMC4789 almost 6 years ago

It's froze up instantly in 2.0, in 3.0 no video shows and you hear about 2 seconds of sound. In 3.5, no video shows and you hear about 3 seconds of sound.

#5 Updated by Anonymous over 5 years ago

  • Status changed from New to Accepted

Currently it works in interpreter.

I've fixed it in jit by the following changes:

diff --git a/Source/Core/Core/HW/VideoInterface.cpp b/Source/Core/Core/HW/VideoInterface.cpp
index 8c88d3c..810eeab 100644
--- a/Source/Core/Core/HW/VideoInterface.cpp
+++ b/Source/Core/Core/HW/VideoInterface.cpp
@@ -480,7 +480,7 @@ int GetNumFields()
if (Core::g_CoreStartupParameter.bVBeamSpeedHack)
return (2 / fields);
else
- return 1;
+ return fields;
}

unsigned int GetTicksPerLine()
@@ -494,7 +494,7 @@ unsigned int GetTicksPerLine()
if (Core::g_CoreStartupParameter.bVBeamSpeedHack)
return TicksPerFrame / s_lineCount;
else
- return TicksPerFrame / (s_lineCount / (2 / fields)) ;
+ return TicksPerFrame / (s_lineCount / fields);
}
}

diff --git a/Source/Core/Core/HW/VideoInterface.h b/Source/Core/Core/HW/VideoInterface.h
index 0ee68ce..36790e7 100644
--- a/Source/Core/Core/HW/VideoInterface.h
+++ b/Source/Core/Core/HW/VideoInterface.h
@@ -16,8 +16,8 @@ namespace VideoInterface
// the field rate from 60 FPS when they added color to the standard.
// This was done to prevent analog interference between the video and
// audio signals. PAL has no similar reduction; it is exactly 50 FPS.
-//#define NTSC_FIELD_RATE (60.0f / 1.001f)
-#define NTSC_FIELD_RATE 60
+#define NTSC_FIELD_RATE (60.0f / 1.001f)
+//#define NTSC_FIELD_RATE 60
#define NTSC_LINE_COUNT 525
// These line numbers indicate the beginning of the "active video" in a frame.
// An NTSC frame has the lower field first followed by the upper field.

The changes to VideoInterface.cpp seem straightforward and like there were just bugs before...?
The change to the header makes sense but i fear making the change correctly (converting a bunch of stuff back to floats...)

#6 Updated by JMC4789 over 5 years ago

It seems as though something is going on regarding the CPU Timing. Two people have confirmed it's working in this Pull Request. https://github.com/dolphin-emu/dolphin/pull/1316

https://dl.dolphin-emu.org/prs/pr-1316-dolphin-latest-x64.7z

It's a hacky WIP and not guaranteed to be the correct fix, so not marking as fixed in PR or anything like that.

#7 Updated by PPLToast over 3 years ago

This still seems to be happening on master, but curiously I noticed the Japanese version gets through the F Zero trailer albeit choking around the middle a bit. https://youtu.be/MfLiFM6eXsY

Also available in: Atom PDF