Emulator Issues #5431


Emulating loading periods is pretty much non-existant for Metroid Prime in Dolphin

Added by yasharnasirian about 12 years ago.

% Done:


Operating system:
Issue type:
Relates to usability:
Relates to performance:
Relates to maintainability:
Regression start:
Fixed in:



I would like to report that Dolphin doesn't currently emulate the loading times in Metroid Prime. Instead, it basically loads the next room/area instantly. Dolphin "should" be able to load something of the loading period.

Actions #1

Updated by pauldacheez about 12 years ago

A) This is a problem?
B) Go into the game's properties, uncheck "Speed up Disc Transfer Rate".

Actions #2

Updated by yasharnasirian about 12 years ago

Does not work.

Actions #3

Updated by pauldacheez about 12 years ago

Maybe disabling Speed up Disc Transfer Rate doesn't account for the disc drive's inconsistently slow access time. Oh well. This really doesn't matter unless a game actually relies on the inconsistently slow access times of an optical drive, which is preposterous and highly improbable. And one could certainly argue that this isn't a bug, it's a feature.

Actions #4

Updated by yasharnasirian about 12 years ago

I have used a lot of emulators (fceu, vba, pscx, pscx2, snes9x, gens, finalburn alpha etc) in recent years and ALL of them emulate load times. Some do it almost perfectly, some do it too long etc. The point is, they try to emulate. In the case with Dolphin, it instantly loads next room/area. That is a new thing for me and most certainly for a lot of other people who are avid fan of Metroid Prime who can notice this. I assume the main goal with Dolphin is to be perfect as possible, that includes this "issue" aswell.

I strongly and respectfully disagree with your opinion that my issue is more of a feature than a bug report (I've reasoned why).

Actions #5

Updated by yasharnasirian about 12 years ago

Also, this is a good read:

Also from irc:

"it isn't a bug, it's a feature"
oh god how many times do I hear that from software developers
well in this case he's not totally wrong
he clearly doesn't understand the whole point of emulation
the software isn't doing what it's supposed to do
that's a bug
bug is not the same as unimplemented feature ;P
unless its supposed to do it already
just its not working
then yes it would be a bug
ok then this is either a bug or an unimplemented feature, depending on how you look at it
logically turning off speed-up disc transfer should cause a loading delay
so I would call this a bug
also I remember it working correctly in older revisions
is there code that is supposed to emulate those delays?
then yes
or even worse
dolphin is 50% regressions 50% improvements
at any moment in time
which really frustrates me
delroth, what do you mean by that?
because it seems like everytime anybody tries to fix/improve something something else breaks
basically all emulators emulate at least some loading point
and correct me if i am wrong but doesnt dolphin emulate various other game's loading time?
I don't think it does
so if it doesnt emulate metroid prime's loading time, then something must be wrong.
dvd seek time is unpredictable anyway
even skid made a commit for a particular game to emulate its loading times.
delroth: no it isn't
but some ps2 games REQUIRE the drive to be slow to work
else they crash
if it's not exact then why emulate it in the first place --> better to emulate something than nothing.
gigaherz, mind if i copy some of your lines mate?
i want to reply to that guy
<@shuffle2> yes they are copyrighted
yay, let's introduce loading delays which will piss off everyone with no goal else than "hey, gotta emulate it"
aren't you striving for emulating games perfect as possible?
<@shuffle2> the gc dvd timing is complex because the drive actually schedules audio requests differently from data
and why would people be pissed off because dolphin emulates loading times? i dont understand this at all.
AngerFist: because it makes the game slower!
so it takes longer to play!
so what's the point of playin in the emulator if it's as slow as the real one?
lol, by what, 2-3 seconds per loading time? gee i hope we didnt waste their time too much.
(or some stupid crap like that)
<@shuffle2> it won't make anyone pissed off because it's not going to be implemented unless it breaks something
<@shuffle2> ie /care
AngerFist: ever played xenoblade on a real wii?
it loads things from the dvd when you open the main menu
every time
shuffle, then lets hope some other developer cares.
2s of delay
<@shuffle2> that's 2 seconds of your life that you're not giving away
<@shuffle2> and you should be!
I'm totally ok with features that introduce slowdowns when they actually fix something

Actions #6

Updated by moozooh about 12 years ago

The conversation above seems to see the load time emulation as an "always-on vs. always-off" feature, while clearly for some games/purposes people would want it on, and for some off. Making a menu item for it would definitely not introduce any inconvenience to anybody. Of course, that would require the feature to implemented first.

Actions #7

Updated by pauldacheez about 12 years ago

'Oy, Yashi. I'm not a developer, nor was I aware of its importance to TAS - I'm just a guy that plays the game in Dolphin and doesn't like having to wait in front of doors. Sorry for my idiocy.

Actions #8

Updated by hatarumoroboshi about 12 years ago

If slower loading times fix something they're welcome, otherwise what do you need them for?

Actions #9

Updated by rdragoon about 12 years ago

It fixes things in metroid prime.

If this is added it obviously needs to be an option that defaults to off.

Actions #10

Updated by delroth about 12 years ago

What does it fix exactly?

If someone is interested to work on that and maintain it in the long run, patches are obviously welcome.

Actions #11

Updated by rdragoon about 12 years ago

A glitch that lets you get out of bounds, before things are loaded. I'm not sure of the details. Normal gameplay isn't affected at all.

Actions #12

Updated by yasharnasirian almost 12 years ago

Also, Metroid Prime 2 is also dependent for a certain room to be "properly" loaded. I am quoting Miles (the world record holder of Metroid Prime 1 and 2).

Actions #13

Updated by tommyhl2.SS almost 12 years ago

As far as I know, everything that normally happens during the loading screen still happens, except the actual loading screen is not there? Meaning the emulation is loading the loading screen faster than expected and just never shows on-screen.

Actions #14

Updated by rdragoon almost 12 years ago

The lack of actual loading is what is exactly the problem. Everything is loaded properly, but not at the right time. So anything that can only be done while the game is still loading things are impossible on dolphin.

Actions #15

Updated by pauldacheez almost 12 years ago

tommyhl2, if you're unfamiliar with the game, there's no actual loading "screen" - the loading occurs when you shoot a door to open it, and you can tell the next room is loading because the door often takes a few seconds to open.

I've also not had either of these crashes occur when I played through the game recently, on a rip of my original North American copy of the game. (I haven't tested too rigorously, though.)
They're both apparently caused by the code that loads rooms, which was changed in later versions of the game to fix those crashes. (They also made it slower, but I have no other versions of the game to test.)

Actions #16

Updated by skidau almost 12 years ago

There are two adjustable settings in Dolphin that control the speed of the emulated drive. They are here:


The emulation of the drive speed is not exact (it does not consider where the data is stored on the disc for example) but if you could provide us with the two numbers that would more closely match the drive speed of the real GameCube, post them here and we can update the source.

Actions #17

Updated by yasharnasirian almost 12 years ago

That sounds like a solution skid. But how are we supposed to find those numbers?

Actions #18

Updated by skidau almost 12 years ago

Measure it.

Actions #19

Updated by Anonymous almost 12 years ago

has anyone ever confirmed this is actually related to disc accesses?
ie. some of the complainers should try a build after the aram-dma-fixes branch was merged and see if that fixes it.
it could be other things as well..

Actions #20

Updated by pauldacheez almost 12 years ago

On current master, doors still open instantly for me. So, neither aram-dma-fixes nor the two Rogue Squadron 3 commits did anything, as far as I can tell.

(I'm running the game off a flash drive, and that's the slowest storage medium I have - my / is an SSD.)

Actions #21

Updated by Autoran1 over 11 years ago

The reason of this is Shader Cache folder, metroid game just made me notice this.
When you start the game with clear Shader Cache, you have the flicks (Issue 4336) you've got slow area changing after shooting the door
Now you've played this game for 10-15 hours, you have about 2-2,5Mb of PS and VS Cache, and like magic, there are no more flicks, and doors are opening instantly like they supposed to be
And than in some revision developers changing number in linearDiskCache.h file when it necessary, that purges all cache you gained in this game, and makes you think that emulator again catched some nasty bug or slowdown
Unfortunately, this fact is most noticeable in Metroid games
And NO, metroid has nothing to do with "Speed up Disc Transfer Rate"

Actions #22

Updated by Autoran1 over 11 years ago

Can't even say, but i don't think this issue is valid

Actions #23

Updated by Autoran1 over 11 years ago

  • Status changed from New to Duplicate
Actions #24

Updated by rachelbryk over 10 years ago

  • Status changed from Duplicate to Accepted
  • Issue type set to Bug
  • Priority set to Low

Not sure why this was ever marked as a duplicate of that.

Actions #25

Updated by JMC4789 about 10 years ago

Somehow, this is fixed in the DVD-seek-time pull request. I'm making this post just to remind me to close the issue when that is merged.

Actions #26

Updated by JMC4789 about 10 years ago

  • Status changed from Accepted to Fixed

Fixed in 4.0-1592 -> 5391b2dd9c6fab009daf506d89045ab878c02081

Verified by TASers -


Also available in: Atom PDF