Project

General

Profile

Actions

Emulator Issues #1425

closed

Metroid Prime: Random hangs since R3984/R3986

Added by gladderbin about 15 years ago.

Status:
Duplicate
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

I have random hangs in Metroid Prime (image freezes, fps drops to 0 and
sound loops). There was no problem in R3981, but I do get the hangs in
R3986. The revisions in between do not compile, but I suspect that the
hangs might be caused by R3984. The problem persists up to current SVN.

I did the following test: Run Dolphin, load Metroid Prime, start new game,
let the intro play. The settings I used were all default settings except
that I turned on dual core and disabled other audio to make it run faster
and enabled safe tecture cache to make it not crash.

Results:
R4285: Hung during intro 5 out of 10 times
R3986: Hung during intro 7 out of 10 times
R3981: Let the whole intro run 12 times now, still no hang...

What version of the product are you using? On what operating system?
R3986/R4285 JIT64 DC
Win7 x64


Related issues 1 (0 open1 closed)

Is duplicate of Emulator - Emulator Issues #1524: r3984 causes several games to freezeFixedsl1nk3.s

Actions
Actions #1

Updated by ChaosCode about 15 years ago

  • Issue type set to Bug
Actions #2

Updated by lpfaint99 about 15 years ago

probably related to the fifo changes

Actions #3

Updated by Migs351 about 15 years ago

Reverting CommandProcessor.cpp and Fifo.cpp fixes the problem. I did re-add the
following to Fifo.cpp after Fifo_SendFifoData(uData, distToSend);, and it didn't have
any lock-up problems... Not sure if Pokemon XD still works or not... I don't own
that game...

//Check BP Mode - Pokemon XD wants this to be called after the pointer move
if (_fifo.bFF_BPEnable && (readPtr == _fifo.CPBreakpoint))
{
Common::AtomicStore(_fifo.bFF_Breakpoint, 1);
video_initialize.pUpdateInterrupts();
}

Actions #4

Updated by sl1nk3.s about 15 years ago

nah, pokemon XD won't work anymore (at least if it ever worked :p), ector also found
out it breaks Burnout 2 and another game i can't remember (freezes on boot)

Also, note that the Fifo.cpp change only is to blame, this thing is really senstitive
and i wish someone would figure it out :(

Actions #5

Updated by omegadox about 15 years ago

Maybe do it the bad way, add FIFO hacks :P

Actions #6

Updated by Migs351 about 15 years ago

when I reverted just the fifo changes all games ran excessively slow, it wasn't until
I reverted the CP changes till they ran normally again.

Actions #7

Updated by sl1nk3.s about 15 years ago

that's nothing important it's just because there's some events in the CP files that
you have to set for the thing not to lock, reverting the CP file also reverted the
event, but you can as well just add the set() in the reverted fifo file

anyway :P

Actions #8

Updated by sl1nk3.s about 15 years ago

  • Status changed from New to Duplicate
Actions

Also available in: Atom PDF