[GH-ISSUE #4109] NBA Live 06 : Black texture (hand/leg) #1669

Open
opened 2026-03-18 02:19:36 +03:00 by kerem · 40 comments
Owner

Originally created by @dbz400 on GitHub (Oct 11, 2013).
Original GitHub issue: https://github.com/hrydgard/ppsspp/issues/4109

Just for record .

[removed nonsense non-screenshot pictures]

Originally created by @dbz400 on GitHub (Oct 11, 2013). Original GitHub issue: https://github.com/hrydgard/ppsspp/issues/4109 Just for record . [removed nonsense non-screenshot pictures]
Author
Owner

@dbz400 commented on GitHub (Oct 14, 2013):

Just checked using softGPU , it is the same issue with black texture in hang/leg .

<!-- gh-comment-id:26244763 --> @dbz400 commented on GitHub (Oct 14, 2013): Just checked using softGPU , it is the same issue with black texture in hang/leg .
Author
Owner

@hrydgard commented on GitHub (Oct 14, 2013):

Funny bug. Might just as well be lighting errors as textures though.

<!-- gh-comment-id:26245389 --> @hrydgard commented on GitHub (Oct 14, 2013): Funny bug. Might just as well be lighting errors as textures though.
Author
Owner

@dbz400 commented on GitHub (Oct 14, 2013):

I do believe it is the remaining lighting bug .Let me link up here .https://github.com/hrydgard/ppsspp/issues/4140

<!-- gh-comment-id:26246137 --> @dbz400 commented on GitHub (Oct 14, 2013): I do believe it is the remaining lighting bug .Let me link up here .https://github.com/hrydgard/ppsspp/issues/4140
Author
Owner

@unknownbrackets commented on GitHub (Jan 5, 2014):

Does this still happen?

-[Unknown]

<!-- gh-comment-id:31611589 --> @unknownbrackets commented on GitHub (Jan 5, 2014): Does this still happen? -[Unknown]
Author
Owner

@dbz400 commented on GitHub (Jan 6, 2014):

It is still happening aunfortunately

<!-- gh-comment-id:31621276 --> @dbz400 commented on GitHub (Jan 6, 2014): It is still happening aunfortunately
Author
Owner

@GinIchimaru commented on GitHub (Jan 7, 2014):

Yeah,it's happening on '09 and '10 too...and the court is black,at least I'm experiencing that problem

<!-- gh-comment-id:31731239 --> @GinIchimaru commented on GitHub (Jan 7, 2014): Yeah,it's happening on '09 and '10 too...and the court is black,at least I'm experiencing that problem
Author
Owner

@unknownbrackets commented on GitHub (Feb 16, 2014):

What does it look like when it's about to draw those things in the GE debugger?

https://github.com/hrydgard/ppsspp/wiki/How-to-find-a-graphic-issue-with-the-GE-debugger

-[Unknown]

<!-- gh-comment-id:35181146 --> @unknownbrackets commented on GitHub (Feb 16, 2014): What does it look like when it's about to draw those things in the GE debugger? https://github.com/hrydgard/ppsspp/wiki/How-to-find-a-graphic-issue-with-the-GE-debugger -[Unknown]
Author
Owner

@dbz400 commented on GitHub (Feb 16, 2014):

Mostly , the original texture is black as well.

untitled

<!-- gh-comment-id:35196802 --> @dbz400 commented on GitHub (Feb 16, 2014): Mostly , the original texture is black as well. ![untitled](https://f.cloud.github.com/assets/3000282/2180292/3e9ad4b2-970f-11e3-93c6-80b91f6a1cdc.jpg)
Author
Owner

@unknownbrackets commented on GitHub (Feb 16, 2014):

Hmm, I wonder if it's a block transfer or something then to that address. Sounds like our problem is that the texture is black and shouldn't be.

I assume it's also black in the softgpu, right? I wonder if it's accessing swizzled vram or something...

-[Unknown]

<!-- gh-comment-id:35201711 --> @unknownbrackets commented on GitHub (Feb 16, 2014): Hmm, I wonder if it's a block transfer or something then to that address. Sounds like our problem is that the texture is black and shouldn't be. I assume it's also black in the softgpu, right? I wonder if it's accessing swizzled vram or something... -[Unknown]
Author
Owner

@dbz400 commented on GitHub (Feb 17, 2014):

Yep softgpu also the same black texture.

screen00047

<!-- gh-comment-id:35222355 --> @dbz400 commented on GitHub (Feb 17, 2014): Yep softgpu also the same black texture. ![screen00047](https://f.cloud.github.com/assets/3000282/2181905/99a93aea-9770-11e3-80a9-8ec8bce5cbbe.jpg)
Author
Owner

@unknownbrackets commented on GitHub (Feb 17, 2014):

Okay, try pausing it right when you load the game (soon as possible, or better yet turn off "run on load"), and set a memory breakpoint for 0x04200000 of size 0x00600000. Then run it, don't load state, and try to get there again.

If it trips the breakpoint, it's trying to write somewhere into swizzled vram.

Also, does JPCSP show them correctly, or also black? I don't think it supports the swizzled vram either but I don't really know.

-[Unknown]

<!-- gh-comment-id:35223696 --> @unknownbrackets commented on GitHub (Feb 17, 2014): Okay, try pausing it right when you load the game (soon as possible, or better yet turn off "run on load"), and set a memory breakpoint for 0x04200000 of size 0x00600000. Then run it, don't load state, and try to get there again. If it trips the breakpoint, it's trying to write somewhere into swizzled vram. Also, does JPCSP show them correctly, or also black? I don't think it supports the swizzled vram either but I don't really know. -[Unknown]
Author
Owner

@dbz400 commented on GitHub (Feb 17, 2014):

yep, JPCSP also same black texture.

(Not too sure how to do with it ........:(
untitled

<!-- gh-comment-id:35254265 --> @dbz400 commented on GitHub (Feb 17, 2014): yep, JPCSP also same black texture. (Not too sure how to do with it ........:( ![untitled](https://f.cloud.github.com/assets/3000282/2185334/3948e9e4-97d3-11e3-9ab5-3796df1ad6f8.jpg)
Author
Owner

@unknownbrackets commented on GitHub (Feb 17, 2014):

Before it runs any code. Also, both addresses should have 8 digits (just copying them should be fine.)

Once you hit okay, just run. Emulation will automatically stop when the game tries to access that range.

-[Unknown]

<!-- gh-comment-id:35304116 --> @unknownbrackets commented on GitHub (Feb 17, 2014): Before it runs any code. Also, both addresses should have 8 digits (just copying them should be fine.) Once you hit okay, just run. Emulation will automatically stop when the game tries to access that range. -[Unknown]
Author
Owner

@hrydgard commented on GitHub (Feb 17, 2014):

It could also write to normal vram and read from swizzled vram, thereby, well, swizzling the data the "other way".

<!-- gh-comment-id:35325763 --> @hrydgard commented on GitHub (Feb 17, 2014): It could also write to normal vram and read from swizzled vram, thereby, well, swizzling the data the "other way".
Author
Owner

@unknownbrackets commented on GitHub (Feb 17, 2014):

Sure, but that texture address appears to be regular vram.

Of course, it could also be a block transfer or something. Probably a good idea to set a breakpoint for 0x100 bytes at the texture address too.

-[Unknown]

<!-- gh-comment-id:35326203 --> @unknownbrackets commented on GitHub (Feb 17, 2014): Sure, but that texture address appears to be regular vram. Of course, it could also be a block transfer or something. Probably a good idea to set a breakpoint for 0x100 bytes at the texture address too. -[Unknown]
Author
Owner

@unknownbrackets commented on GitHub (Jun 7, 2014):

Has this changed in the latest git build and "simulate block transfers" enabled?

-[Unknown]

<!-- gh-comment-id:45402777 --> @unknownbrackets commented on GitHub (Jun 7, 2014): Has this changed in the latest git build and "simulate block transfers" enabled? -[Unknown]
Author
Owner

@unknownbrackets commented on GitHub (Jun 15, 2014):

Also, a copy or screenshot of the lighting tab when it's about to draw a hand/leg would be helpful (on the prim.) As well, does it use mipmap levels (will show Level + button)?

-[Unknown]

<!-- gh-comment-id:46125017 --> @unknownbrackets commented on GitHub (Jun 15, 2014): Also, a copy or screenshot of the lighting tab when it's about to draw a hand/leg would be helpful (on the prim.) As well, does it use mipmap levels (will show Level + button)? -[Unknown]
Author
Owner

@ppmeis commented on GitHub (Jul 21, 2014):

Tested with latest build. Same issue:
image

Lighting tab on GE Debugger:
image
image

<!-- gh-comment-id:49609009 --> @ppmeis commented on GitHub (Jul 21, 2014): Tested with latest build. Same issue: ![image](https://cloud.githubusercontent.com/assets/4381277/3644345/4d780726-10df-11e4-8838-5ff34fce2c9e.png) Lighting tab on GE Debugger: ![image](https://cloud.githubusercontent.com/assets/4381277/3644369/9e03513c-10df-11e4-8e0b-178a2bad0bc0.png) ![image](https://cloud.githubusercontent.com/assets/4381277/3644370/a31d9010-10df-11e4-9172-fc619f2d0813.png)
Author
Owner

@daniel229 commented on GitHub (Feb 21, 2015):

JPCSP works fine in softrendering
01

dolphin also has the similar bug
https://code.google.com/p/dolphin-emu/issues/detail?id=8207
02

<!-- gh-comment-id:75375136 --> @daniel229 commented on GitHub (Feb 21, 2015): JPCSP works fine in softrendering ![01](https://cloud.githubusercontent.com/assets/3481559/6314515/ed0c6a2a-ba1c-11e4-9b76-e7672f60ffbe.png) dolphin also has the similar bug https://code.google.com/p/dolphin-emu/issues/detail?id=8207 ![02](https://cloud.githubusercontent.com/assets/3481559/6314529/25e1e0b4-ba1d-11e4-9a6a-676bfe37f5ba.png)
Author
Owner

@unknownbrackets commented on GitHub (Feb 24, 2015):

Does #7515 improve this at all?

-[Unknown]

<!-- gh-comment-id:75698821 --> @unknownbrackets commented on GitHub (Feb 24, 2015): Does #7515 improve this at all? -[Unknown]
Author
Owner

@daniel229 commented on GitHub (Feb 24, 2015):

No.

<!-- gh-comment-id:75703921 --> @daniel229 commented on GitHub (Feb 24, 2015): No.
Author
Owner

@unknownbrackets commented on GitHub (Apr 13, 2015):

I don't suppose this is similar to #7682 after all and #7683 helps? We've focused on lighting, so I'm not sure what the clut address is here.

-[Unknown]

<!-- gh-comment-id:92224526 --> @unknownbrackets commented on GitHub (Apr 13, 2015): I don't suppose this is similar to #7682 after all and #7683 helps? We've focused on lighting, so I'm not sure what the clut address is here. -[Unknown]
Author
Owner

@daniel229 commented on GitHub (Apr 13, 2015):

No, #7683 does not help it.

<!-- gh-comment-id:92232110 --> @daniel229 commented on GitHub (Apr 13, 2015): No, #7683 does not help it.
Author
Owner

@unknownbrackets commented on GitHub (Dec 21, 2015):

This still happens in softgpu right?

The texture data must be wrong. It's not a swizzled mirror though, so I wonder how it can be wrong in softgpu... hmm. It seems it doesn't use a palette. Can I see the entire texture tab?

Some of them even have psychedelic arms in that last screenshot in Dolphin.

-[Unknown]

<!-- gh-comment-id:166210437 --> @unknownbrackets commented on GitHub (Dec 21, 2015): This still happens in softgpu right? The texture data must be wrong. It's not a swizzled mirror though, so I wonder how it can be wrong in softgpu... hmm. It seems it doesn't use a palette. Can I see the entire texture tab? Some of them even have psychedelic arms in that last screenshot in Dolphin. -[Unknown]
Author
Owner

@daniel229 commented on GitHub (Dec 21, 2015):

texture tab
03

softgpu seems is fine since longtime ago.

01

02

<!-- gh-comment-id:166324963 --> @daniel229 commented on GitHub (Dec 21, 2015): texture tab ![03](https://cloud.githubusercontent.com/assets/3481559/11933458/dff48dfa-a836-11e5-8a74-7b33b2c374db.png) softgpu seems is fine since longtime ago. ![01](https://cloud.githubusercontent.com/assets/3481559/11933470/0404c26e-a837-11e5-8a3a-c69a4df4deff.png) ![02](https://cloud.githubusercontent.com/assets/3481559/11933471/041442fc-a837-11e5-9753-bab23a32f423.png)
Author
Owner

@unknownbrackets commented on GitHub (Dec 22, 2015):

Odd, negative UV offset, but it has wrapping anyway.

It's not using any CLUT. So I guess it's either drawing to that 64x64 or writing to it. We checked mirrors already, right?

My goal is to figure out who is responsible for filling the texture at 0x041cb630. Are there ever any logged FBOs for "0x001cb630" or "0x041cb630"? If you set a memory breakpoint at 0x041cb630 (size = 0x2000), does it ever trip?

-[Unknown]

<!-- gh-comment-id:166500535 --> @unknownbrackets commented on GitHub (Dec 22, 2015): Odd, negative UV offset, but it has wrapping anyway. It's not using any CLUT. So I guess it's either drawing to that 64x64 or writing to it. We checked mirrors already, right? My goal is to figure out who is responsible for filling the texture at 0x041cb630. Are there ever any logged FBOs for "0x001cb630" or "0x041cb630"? If you set a memory breakpoint at 0x041cb630 (size = 0x2000), does it ever trip? -[Unknown]
Author
Owner

@daniel229 commented on GitHub (Dec 22, 2015):

I got this log from the breakpoint.
https://gist.github.com/daniel229/695dc1af06877288cce3

Dolhine post said Dolphin's issue is a dualcare timing issue,and it works fine in single core.

<!-- gh-comment-id:166504466 --> @daniel229 commented on GitHub (Dec 22, 2015): I got this log from the breakpoint. https://gist.github.com/daniel229/695dc1af06877288cce3 Dolhine post said Dolphin's issue is a dualcare timing issue,and it works fine in single core.
Author
Owner

@hrydgard commented on GitHub (Dec 22, 2015):

Given the dolphin problem, sounds to me like the game might be filling out the texture with the right color at some point in time without synchronizing properly with the GPU - and we might be processing display lists "too fast" as seen from the PSP CPU...

<!-- gh-comment-id:166553706 --> @hrydgard commented on GitHub (Dec 22, 2015): Given the dolphin problem, sounds to me like the game might be filling out the texture with the right color at some point in time without synchronizing properly with the GPU - and we might be processing display lists "too fast" as seen from the PSP CPU...
Author
Owner

@ppmeis commented on GitHub (Oct 21, 2018):

Tested with latest build. Same status. Here's the debugger dump:
ULES00158_0001.zip

<!-- gh-comment-id:431707883 --> @ppmeis commented on GitHub (Oct 21, 2018): Tested with latest build. Same status. Here's the debugger dump: [ULES00158_0001.zip](https://github.com/hrydgard/ppsspp/files/2499660/ULES00158_0001.zip)
Author
Owner

@unknownbrackets commented on GitHub (Nov 22, 2018):

Erp, strike of "doesn't fix". Reopening.

-[Unknown]

<!-- gh-comment-id:441116150 --> @unknownbrackets commented on GitHub (Nov 22, 2018): Erp, strike of "doesn't fix". Reopening. -[Unknown]
Author
Owner

@hrydgard commented on GitHub (Nov 22, 2018):

What happened to the screenshots in the first post? Pretty sure those aren't of the game :D

<!-- gh-comment-id:441129681 --> @hrydgard commented on GitHub (Nov 22, 2018): What happened to the screenshots in the first post? Pretty sure those aren't of the game :D
Author
Owner

@Levan7 commented on GitHub (Mar 18, 2020):

Still an issue at least test nba live 2010

<!-- gh-comment-id:600889267 --> @Levan7 commented on GitHub (Mar 18, 2020): Still an issue at least test nba live 2010
Author
Owner

@Levan7 commented on GitHub (Mar 19, 2020):

One thing i found strange is that if you load the game with software mode and start the match then save stat it and then load the game with hardware mode the textures are no longer a problem unless a player will get substituted.

So the emulator under hardware mode loads textures in error?

<!-- gh-comment-id:601123373 --> @Levan7 commented on GitHub (Mar 19, 2020): One thing i found strange is that if you load the game with software mode and start the match then save stat it and then load the game with hardware mode the textures are no longer a problem unless a player will get substituted. So the emulator under hardware mode loads textures in error?
Author
Owner

@hrydgard commented on GitHub (Mar 19, 2020):

it probably creates the textures through some draw calls that either fail, or never gets copied back to RAM at a point where the game grabs them to create the actual textures...

<!-- gh-comment-id:601156824 --> @hrydgard commented on GitHub (Mar 19, 2020): it probably creates the textures through some draw calls that either fail, or never gets copied back to RAM at a point where the game grabs them to create the actual textures...
Author
Owner

@jserodio commented on GitHub (Jan 16, 2021):

Still happening in 2021. It's been 8 years already and we still have black arms.
Nobody has a clue?

<!-- gh-comment-id:761537999 --> @jserodio commented on GitHub (Jan 16, 2021): Still happening in 2021. It's been 8 years already and we still have black arms. Nobody has a clue?
Author
Owner

@unknownbrackets commented on GitHub (Jan 18, 2021):

If it works in software, it's either a temp framebuffer being decimated or a not detected CPU modification of VRAM.

What's the texture address that's incorrect in hardware but correct in software? If it's in VRAM (0x04xxxxxx), the next step is a breakpoint to find when it's being written to in software.

-[Unknown]

<!-- gh-comment-id:762457998 --> @unknownbrackets commented on GitHub (Jan 18, 2021): If it works in software, it's either a temp framebuffer being decimated or a not detected CPU modification of VRAM. What's the texture address that's incorrect in hardware but correct in software? If it's in VRAM (0x04xxxxxx), the next step is a breakpoint to find when it's being written to in software. -[Unknown]
Author
Owner

@ghost commented on GitHub (Aug 29, 2021):

Software

Screenshot_2021-08-29-12-07-18-014_org ppsspp ppsspp

Hardware VK

Screenshot_2021-08-29-12-08-53-055_org ppsspp ppsspp

<!-- gh-comment-id:907725906 --> @ghost commented on GitHub (Aug 29, 2021): ### Software ![Screenshot_2021-08-29-12-07-18-014_org ppsspp ppsspp](https://user-images.githubusercontent.com/37603562/131238074-82e70fc5-c078-4eca-95c8-c4301243530d.jpg) ### Hardware VK ![Screenshot_2021-08-29-12-08-53-055_org ppsspp ppsspp](https://user-images.githubusercontent.com/37603562/131238083-e85e09ca-4f29-4247-b0f2-8b94a5ff4bf9.jpg)
Author
Owner

@ghost commented on GitHub (Aug 29, 2021):

GE Dump using ppsspp latest git apk
NBALive06.zip

<!-- gh-comment-id:907726124 --> @ghost commented on GitHub (Aug 29, 2021): GE Dump using ppsspp latest git apk [NBALive06.zip](https://github.com/hrydgard/ppsspp/files/7071902/NBALive06.zip)
Author
Owner

@unknownbrackets commented on GitHub (Oct 10, 2022):

On a PSP, that latest frame dump shows incorrect arms:
#4109_ULES01310_nba_arms2

Looking at the player in the white jersey at the top (12), their limbs are all drawn from a texture that is 100% zero RGB:

Simple black texture

This texture is 5650, so it's not a CLUT issue. Could set a breakpoint with the software renderer in debug mode to see when 0x041bba30 is written too. It's either rendered to, or a copy we don't detect. It's 0x2000 bytes (0x041bba30 - 0x041bda30). Their face looks good, and is a nearby texture at 0x041bda30:

Face

It's possible something more complex is happening, like a render-to-clut and then single frame render-to-texture. But I suspect it's just a single frame draw where it colorizes textures.

For reference, people with "working" legs looks like this:

Leg texture

Such as at 0x041d0a30.

-[Unknown]

<!-- gh-comment-id:1272792110 --> @unknownbrackets commented on GitHub (Oct 10, 2022): On a PSP, that latest frame dump shows incorrect arms: ![#4109_ULES01310_nba_arms2](https://user-images.githubusercontent.com/191233/194800842-e22eb225-bb0b-4c32-8158-9fc674929326.png) Looking at the player in the white jersey at the top (12), their limbs are all drawn from a texture that is 100% zero RGB: ![Simple black texture](https://user-images.githubusercontent.com/191233/194801522-9556a266-9707-4f9d-a54f-bbd865109c06.png) This texture is 5650, so it's not a CLUT issue. Could set a breakpoint with the software renderer in debug mode to see when 0x041bba30 is written too. It's either rendered to, or a copy we don't detect. It's 0x2000 bytes (0x041bba30 - 0x041bda30). Their face looks good, and is a nearby texture at 0x041bda30: ![Face](https://user-images.githubusercontent.com/191233/194801760-05c1cfe6-7dff-492a-ba31-b09f30c597c0.png) It's possible something more complex is happening, like a render-to-clut and then single frame render-to-texture. But I suspect it's just a single frame draw where it colorizes textures. For reference, people with "working" legs looks like this: ![Leg texture](https://user-images.githubusercontent.com/191233/194801927-a167efaa-26ab-457d-97e7-c62709e11efb.png) Such as at 0x041d0a30. -[Unknown]
Author
Owner

@ppmeis commented on GitHub (Dec 16, 2022):

Tested in latest build. Same issues.

<!-- gh-comment-id:1355828034 --> @ppmeis commented on GitHub (Dec 16, 2022): Tested in latest build. Same issues.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/ppsspp#1669
No description provided.