-
Notifications
You must be signed in to change notification settings - Fork 2.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
NBA Live 10 [ULES01310] - player's edges and floor are black #6614
Comments
Tried with latest build. Issues still present in both backends. |
Tested with latest build. Same status. |
Does #7515 improve this at all? -[Unknown] |
@unknownbrackets no it doesn't. |
I wonder if this is related to: -[Unknown] |
Nothing change after applying the clut-render branch |
JPCSP fixed the floor in jpcsp/jpcsp@6d64055 |
We essentially already do that, although we only do it for rectangles: ppsspp/GPU/Common/SoftwareTransformCommon.cpp Line 567 in 53f062b
I guess clear mode can be used with triangles? I'm not actually sure. Maybe that's the issue - does this game ever draw a prim while clear is enabled and the prim type is not rectangles? Easiest way to check would be logging here (inside the != RECTANGLES case): ppsspp/GPU/Common/SoftwareTransformCommon.cpp Line 483 in 53f062b
if (gstate.isModeClear() && gstate.isClearModeAlphaMask()) {
WARN_LOG(G3D, "Hello, I'm Triangle Clearsalot. And who might you be?");
} -[Unknown] |
Tested with latest build. Same status. |
Tested again. Same issues. |
Since the texture is shown as black, we're definitely either:
Per here: It could be we're reading the texture too early. -[Unknown] |
It would be very interesting to try to find the build where this behavior changed, it might point us to a more complete fix. Looks like software just has culling / guardband bugs, but otherwise renders the arms and hands correctly. -[Unknown] |
I was looking for a first build made this change, all I can do is to notice that v1.2.2 had the issue and it was fixed on v1.3. |
@unknownbrackets one step forward about investigation. |
So that means #8757 helped this. Since we don't do that very aggressively, it's probably why the skin color is sometimes wrong. In that case, we could do something similar to Danganronpa here and force readback for some framebuf, if we know which it is. -[Unknown] |
Could you try exporting a GE debugger dump on PC? To do this, open the game and select Debug -> GE debugger..., then when it's displaying the scene, press Record in the top right. After a second or so, it'll finish and save a trace of the drawing activity. After that, check the memstick/PSP/SYSTEM/DUMP folder and it'll have created a file named something like "ULES12345_0000.ppdmp". You can zip that and then drag and drop it into a reply here. -[Unknown] |
Tested with latest Windows build. Same issues. GE Debugger dump: |
still happens |
Tested with latest Windows build. Same issues |
Tested in latest build. Same issues. |
This is somewhat related to #4109. In one of the latest frame dumps, I see white fingers at 10424/11216. It happens because the bottom part of the texture is gray: This skin texture does seem to look like that generally... 0x041ae430 (64x64) - player 20 0x041c5430 (64x64) - player 15 0x041a3c30 (64x64) - player 14 The gray and black at the bottom is the reason why the players have strange fingers or feet, because this texture is used for both arms and legs. The floor is at 0x0416d7d0 (128x128) and it CLUT4. It being black suggests some sort of VRAM corruption, which was also already suggested by #8757 helping. Focusing on 0x0419e830, it's 565 rather than even using a palette. Stride is 64, so it's neatly packed and not in the margin of anything else. It is swizzled. Looking at it without unswizzling: It's clear the last part of it is strangely messed up. But it's E71C, so not a single byte or anything. Hard to say what it's supposed to be. A VRAM dump from the game running on a PSP would be helpful. It'd also help to know when the game sets these memory regions, and if it's rendering them. -[Unknown] |
I can get my old PSP to live again. Could you tell me how to do a VRAM dump on real PSP? |
First, get psplink. These instructions may work and are more recent: But this is how I've done it in the past: Either way, get to this step:
Once you have that, we're going to do something different from either of the above: edit ms0:/seplugins/game.txt and add this line:
Once that's ready, you can turn off USB mode on the PSP and start the game. At this point, psplink is running as a plugin while the game is also running. Next, open a wsl session and type Now, assuming your USB cable is connected, you should see the following in the
This means that the psplink plugin is running and everything is okay. If you don't see the Connected message, something is wrong with the connection or the game.txt setup. Next, get to where ever in the game this happens. Now in the
You could also use I did recently (in Silent Hill) have this behave strangely, but hopefully it works fine here. Alternatively you might use If anything goes wrong, you can press home on the PSP to quit the game and try again, this usually works. -[Unknown] |
@unknownbrackets I'm trying to use these tools but with Windows executables instead of WSL/Linux. Everytime I tried to launch savemem command there's an error: |
This is the result of memdump 0x041a3c30 b command:
|
It could be related to #4109 because it seems to be same graphic engine and it's the same franchise/saga. Arms, legs and the floor are black.
The text was updated successfully, but these errors were encountered: