What's new

TLB in GFX?

Dave2001

Moderator
00211a50 (c0:de000000, c1:e0007600): uc0:displaylist: 00007600, push:yes (seg 0, offset 00007600)

Umm... is it just me or is Gauntlet Legends trying to use the TLB from the GFX plugin?? Address is 0xe0007600. I don't believe there is a way to get the TLB from within the plugin, so... is this impossible to fix? ???

Or is there a way?

Or am I doing sth completely wrong in the first place?
 
Last edited:

Hacktarux

Emulator Developer
Moderator
Think that it's impossible !
TLB is a translation made inside the cpu. The address is translated before accessing the bus.
The RDP have a direct access to the main memory. Maybe if u just make an address & 0xFFFFFF, it will work...
 
OP
Dave2001

Dave2001

Moderator
The only way that works is if you do special checks to make sure it doesn't jump on top of itself and into bad memory (marked in that game as 0x7FFF0BAD)... & even then it still does bad jumps like when entering a level. So something weird is going on because these checks are most likely not present on the n64.
 

Cyberman

Moderator
Moderator
Dave2001 said:
00211a50 (c0:de000000, c1:e0007600): uc0:displaylist: 00007600, push:yes (seg 0, offset 00007600)

Umm... is it just me or is Gauntlet Legends trying to use the TLB from the GFX plugin?? Address is 0xe0007600. I don't believe there is a way to get the TLB from within the plugin, so... is this impossible to fix? ???

Or is there a way?

Or am I doing sth completely wrong in the first place?

This might be a case to get the reference information for COProcessors and the MIPS line. It really depends on when in the decoding line the RDP takes over the instruction. IE if the CPU decodes the address prior to the use of the TLB it will it use that information from the CPU.

If the coprocessor handles the addressing itself then it may be a different matter. Perhaps if you check what range the RDP can address, it will make more sense.

Cyb
 

Doomulation

?????????????????????????
This is probably some core bug, i'd guess.
Or something. Both azimer and rice seem to have this one working, at least somewhat.
 

Top