Project

General

Profile

Actions

Emulator Issues #103

closed

TLB needs TLC bad.

Added by Crysalize over 16 years ago.

Status:
Invalid
Priority:
Normal
Assignee:
-
Category:
JIT
% Done:

0%

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

Description

I traced the crash in metroid prime when the HUD comes up to a invalided
memory address. I noticed there was some test code there trying to decode
it but TLB needs a lot of help yet :)

Actions #1

Updated by josh.lar.JL over 16 years ago

TLB (or lack of it) is also preventing F-Zero X from booting

Actions #2

Updated by hrydgard over 16 years ago

  • Status changed from New to Questionable

The TLB stuff is mostly a red herring and we should probably disable it if the games
don't explicitly ask for it, since what would otherwise be regular crashes often
manifests itself as TLB errors.

Actions #3

Updated by MasterPhW over 16 years ago

Could also be a part of the game.ini...
An TLBDisable=1 or something... just a thought

Actions #5

Updated by tommyhl2.SS about 16 years ago

How is this bug "questionable"? These TLB errors are stopping so many games from
running or getting further in-game. This should be a vital part of fixing the
emulator to get the compatibility up.

Actions #6

Updated by XTra.KrazzY about 16 years ago

  • Category set to jit
  • Relates to performance set to Yes
  • Operating system N/A added

I think it should be JIT'd

Actions #7

Updated by raineyames about 16 years ago

Definitely. Its causing most game-stopping errors i see.

Actions #8

Updated by omegadox about 16 years ago

Not all the TLB messages mean it is a TLB-related error, it can also mean some bug in
the core caused an invalid read.

Actions #9

Updated by tinctorius almost 16 years ago

Issue 448 is probably related. MP1 crashes for me with errors about the TLD
sometimes, but sometimes generates segmentation faults before getting there.

Actions #10

Updated by earthwormjeff almost 16 years ago

I commented the following code in "memmap.cpp" and now I can access to in-game in
mario party 8 and kororinpa, I don't think this will cause problem in other games.

u32 CheckDTLB(u32 _Address, XCheckTLBFlag _Flag)
{
//return 0;
/* if (Core::GetStartupParameter().bWii) {
// TLB is never used on Wii (except linux and stuff, but we don't care about that)
PanicAlert("%s invalid memory region (0x%08x)\n\n"
"There is no way to recover from this error,"
"so Dolphin will now exit. Sorry!",
_Flag == FLAG_WRITE ? "Write to" : "Read from", _Address);
}
else {
PanicAlert("%s invalid memory region (0x%08x)\n\n"
"This is either the game crashing randomly, or a TLB write."
"Several games uses the TLB to map memory. This\n"
"function is not supported in Dolphin. "
"Unfortunately there is no way to recover from this error,"
"so Dolphin will now exit abruptly. Sorry!",
_Flag == FLAG_WRITE ? "Write to" : "Read from", _Address);
}
exit(0);*/

Actions #11

Updated by lpfaint99 almost 16 years ago

@earthwormjeff, that causes lots of issue with other games, although it may "work"
with some games

Actions #12

Updated by earthwormjeff almost 16 years ago

hello lpfaint99,
can you give me an example of a game that will have isues without this part of the
code that would work fine with it ? I would like to try it, to see if I can help...

Actions #13

Updated by Isamu99 almost 16 years ago

Hi guys :)

Any progress on the TLB issue? Earthworm, will your trick allow F-ZeroGX to be
playable? :)

Actions #14

Updated by slink_3_ almost 16 years ago

the TLBHack is what you may be looking for :)

Actions #15

Updated by lpfaint99 almost 16 years ago

earthwormjeff: slink is correct with recent changes you can use the TLBHack to
accomplish the same thing as commenting out those lines

Actions #16

Updated by hrydgard almost 16 years ago

  • Status changed from Questionable to Invalid
Actions #17

Updated by swiftsword94 about 15 years ago

in some games -zelda twilight princess- you cant use TLBHack because it somehow
crashes... why not instead of TLBHack just fix the TLB write feature, and add a
button under the game configuration window. that way you can use the feature only
when it is needed

Actions #18

Updated by swiftsword94 about 15 years ago

I dont see anything wrong with making the feature optional... or is it just the fact
that the function cant be added and must be a part of the core?

Actions

Also available in: Atom PDF