hrydgard / ppsspp

A PSP emulator for Android, Windows, Mac and Linux, written in C++. Want to contribute? Join us on Discord at https://discord.gg/5NJB6dD or just send pull requests / issues. For discussion use the forums at forums.ppsspp.org.
https://www.ppsspp.org
Other
11.02k stars 2.15k forks source link

Star Wars Lethal Alliance - loading screen issues #2997

Open Dreamer-4pda opened 11 years ago

Dreamer-4pda commented 11 years ago

34:58:532 user_main E[HLE]: /Developer/PPSSPP/Core/HLE/HLE.cpp:495 Unimplemented HLE function sceUtilityGameSharingUpdate 34:58:532 user_main E[HLE]: /Developer/PPSSPP/Core/HLE/sceNet.cpp:288 UNIMPL sceNetAdhocctlTerm() 34:58:532 user_main E[HLE]: /Developer/PPSSPP/Core/HLE/HLE.cpp:495 Unimplemented HLE function sceUtilityGameSharingGetStatus 34:58:532 user_main E[HLE]: /Developer/PPSSPP/Core/HLE/HLE.cpp:495 Unimplemented HLE function sceUtilityGameSharingGetStatus 34:58:532 user_main E[HLE]: /Developer/PPSSPP/Core/HLE/HLE.cpp:495 Unimplemented HLE function sceUtilityGameSharingGetStatus 34:58:537 user_main E[HLE]: /Developer/PPSSPP/Core/HLE/HLE.cpp:495 Unimplemented HLE function sceUtilityGameSharingGetStatus 34:58:537 user_main E[HLE]: /Developer/PPSSPP/Core/HLE/HLE.cpp:495 Unimplemented HLE function sceUtilityGameSharingGetStatus 34:58:548 user_main E[HLE]: /Developer/PPSSPP/Core/HLE/HLE.cpp:495 Unimplemented HLE function sceUtilityGameSharingGetStatus 34:58:548 user_main E[HLE]: /Developer/PPSSPP/Core/HLE/HLE.cpp:495 Unimplemented HLE function sceUtilityGameSharingUpdate 34:58:548 user_main E[HLE]: /Developer/PPSSPP/Core/HLE/sceNet.cpp:288 UNIMPL sceNetAdhocctlTerm() 34:58:548 user_main E[HLE]: /Developer/PPSSPP/Core/HLE/HLE.cpp:495 Unimplemented HLE function sceUtilityGameSharingGetStatus 34:58:548 user_main E[HLE]: /Developer/PPSSPP/Core/HLE/HLE.cpp:495 Unimplemented HLE function sceUtilityGameSharingGetStatus 34:58:548 user_main E[HLE]: /Developer/PPSSPP/Core/HLE/HLE.cpp:495 Unimplemented HLE function sceUtilityGameSharingGetStatus 34:58:553 user_main E[HLE]: /Developer/PPSSPP/Core/HLE/HLE.cpp:495 Unimplemented HLE function sceUtilityGameSharingGetStatus 34:58:553 user_main E[HLE]: /Developer/PPSSPP/Core/HLE/HLE.cpp:495 Unimplemented HLE function sceUtilityGameSharingGetStatus 34:58:564 user_main E[HLE]: /Developer/PPSSPP/Core/HLE/HLE.cpp:495 Unimplemented HLE function sceUtilityGameSharingGetStatus 34:58:564 user_main E[HLE]: /Developer/PPSSPP/Core/HLE/HLE.cpp:495 Unimplemented HLE function sceUtilityGameSharingUpdate 34:58:564 user_main E[HLE]: /Developer/PPSSPP/Core/HLE/sceNet.cpp:288 UNIMPL sceNetAdhocctlTerm() 34:58:564 user_main E[HLE]: /Developer/PPSSPP/Core/HLE/HLE.cpp:495 Unimplemented HLE function sceUtilityGameSharingGetStatus 34:58:564 user_main E[HLE]: /Developer/PPSSPP/Core/HLE/HLE.cpp:495 Unimplemented HLE function sceUtilityGameSharingGetStatus 34:58:564 user_main E[HLE]: /Developer/PPSSPP/Core/HLE/HLE.cpp:495 Unimplemented HLE function sceUtilityGameSharingGetStatus 34:58:570 user_main E[HLE]: /Developer/PPSSPP/Core/HLE/HLE.cpp:495 Unimplemented HLE function sceUtilityGameSharingGetStatus 34:58:570 user_main E[HLE]: /Developer/PPSSPP/Core/HLE/HLE.cpp:495 Unimplemented HLE function sceUtilityGameSharingGetStatus 34:58:581 user_main E[HLE]: /Developer/PPSSPP/Core/HLE/HLE.cpp:495 Unimplemented HLE function sceUtilityGameSharingGetStatus 34:58:581 user_main E[HLE]: /Developer/PPSSPP/Core/HLE/HLE.cpp:495 Unimplemented HLE function sceUtilityGameSharingUpdate 34:58:581 user_main E[HLE]: /Developer/PPSSPP/Core/HLE/sceNet.cpp:288 UNIMPL sceNetAdhocctlTerm() 34:58:581 user_main E[HLE]: /Developer/PPSSPP/Core/HLE/HLE.cpp:495 Unimplemented HLE function sceUtilityGameSharingGetStatus 34:58:581 user_main E[HLE]: /Developer/PPSSPP/Core/HLE/HLE.cpp:495 Unimplemented HLE function sceUtilityGameSharingGetStatus 34:58:582 user_main E[HLE]: /Developer/PPSSPP/Core/HLE/HLE.cpp:495 Unimplemented HLE function sceUtilityGameSharingGetStatus 34:58:586 user_main E[HLE]: /Developer/PPSSPP/Core/HLE/HLE.cpp:495 Unimplemented HLE function sceUtilityGameSharingGetStatus 34:58:586 user_main E[HLE]: /Developer/PPSSPP/Core/HLE/HLE.cpp:495 Unimplemented HLE function sceUtilityGameSharingGetStatus 34:58:598 user_main E[HLE]: /Developer/PPSSPP/Core/HLE/HLE.cpp:495 Unimplemented HLE function sceUtilityGameSharingGetStatus 34:58:598 user_main E[HLE]: /Developer/PPSSPP/Core/HLE/HLE.cpp:495 Unimplemented HLE function sceUtilityGameSharingUpdate 34:58:598 user_main E[HLE]: /Developer/PPSSPP/Core/HLE/sceNet.cpp:288 UNIMPL sceNetAdhocctlTerm() 34:58:598 user_main E[HLE]: /Developer/PPSSPP/Core/HLE/HLE.cpp:495 Unimplemented HLE function sceUtilityGameSharingGetStatus 34:58:598 user_main E[HLE]: /Developer/PPSSPP/Core/HLE/HLE.cpp:495 Unimplemented HLE function sceUtilityGameSharingGetStatus 34:58:598 user_main E[HLE]: /Developer/PPSSPP/Core/HLE/HLE.cpp:495 Unimplemented HLE function sceUtilityGameSharingGetStatus 34:58:604 user_main E[HLE]: /Developer/PPSSPP/Core/HLE/HLE.cpp:495 Unimplemented HLE function sceUtilityGameSharingGetStatus 34:58:604 user_main E[HLE]: /Developer/PPSSPP/Core/HLE/HLE.cpp:495 Unimplemented HLE function sceUtilityGameSharingGetStatus 34:58:614 user_main E[HLE]: /Developer/PPSSPP/Core/HLE/HLE.cpp:495 Unimplemented HLE function sceUtilityGameSharingGetStatus 34:58:614 user_main E[HLE]: /Developer/PPSSPP/Core/HLE/HLE.cpp:495 Unimplemented HLE function sceUtilityGameSharingUpdate 34:58:614 user_main E[HLE]: /Developer/PPSSPP/Core/HLE/sceNet.cpp:288 UNIMPL sceNetAdhocctlTerm() 34:58:614 user_main E[HLE]: /Developer/PPSSPP/Core/HLE/HLE.cpp:495 Unimplemented HLE function sceUtilityGameSharingGetStatus 34:58:614 user_main E[HLE]: /Developer/PPSSPP/Core/HLE/HLE.cpp:495 Unimplemented HLE function sceUtilityGameSharingGetStatus 34:58:614 user_main E[HLE]: /Developer/PPSSPP/Core/HLE/HLE.cpp:495 Unimplemented HLE function sceUtilityGameSharingGetStatus 34:58:620 user_main E[HLE]: /Developer/PPSSPP/Core/HLE/HLE.cpp:495 Unimplemented HLE function sceUtilityGameSharingGetStatus 34:58:620 user_main E[HLE]: /Developer/PPSSPP/Core/HLE/HLE.cpp:495 Unimplemented HLE function sceUtilityGameSharingGetStatus 34:58:634 user_main E[HLE]: /Developer/PPSSPP/Core/HLE/HLE.cpp:495 Unimplemented HLE function sceUtilityGameSharingGetStatus 34:58:634 user_main E[HLE]: /Developer/PPSSPP/Core/HLE/HLE.cpp:495 Unimplemented HLE function sceUtilityGameSharingUpdate 34:58:634 user_main E[HLE]: /Developer/PPSSPP/Core/HLE/sceNet.cpp:288 UNIMPL sceNetAdhocctlTerm() 34:58:634 user_main E[HLE]: /Developer/PPSSPP/Core/HLE/HLE.cpp:495 Unimplemented HLE function sceUtilityGameSharingGetStatus 34:58:643 user_main W[HLE]: /Developer/PPSSPP/Core/HLE/sceIo.cpp:1389 SCE_KERNEL_ERROR_NOASYNC = sceIoWaitAsync(4, 09ffe5a0) 34:58:647 AudioWorkerT I[HLE]: /Developer/PPSSPP/Core/HLE/sceKernelThread.cpp:2089 sceKernelExitThread(0) 34:58:647 user_main E[HLE]: /Developer/PPSSPP/Core/HLE/sceAudio.cpp:102 sceAudioOutputPannedBlocking() - channel not reserved 34:58:647 user_main E[HLE]: /Developer/PPSSPP/Core/HLE/sceAudio.cpp:102 sceAudioOutputPannedBlocking() - channel not reserved 34:58:698 user_main E[HLE]: /Developer/PPSSPP/Core/HLE/sceNet.cpp:288 UNIMPL sceNetAdhocctlTerm() 34:58:698 user_main E[HLE]: /Developer/PPSSPP/Core/HLE/sceNet.cpp:295 UNIMPL sceNetAdhocTerm() 34:58:698 user_main E[HLE]: /Developer/PPSSPP/Core/HLE/sceNet.cpp:180 UNIMPL sceNetTerm() 34:58:699 user_main I[HLE]: /Developer/PPSSPP/Core/HLE/sceMpeg.cpp:1042 sceMpegFinish(...)

Star Wars Lethal Alliance - USA 1.02 / EUR 1.01

raven02 commented 11 years ago

Please mention what is the issue you got and not just cut and paste the log here .

Dreamer-4pda commented 11 years ago

I get Issue in game menu, after choose difficult PPSSPP Mac OS build

hrydgard commented 11 years ago

So does it hang, or crash, or you just get this log output?

Dreamer-4pda commented 11 years ago

Image freezing, emulator window not response, console logs non stop.

unknownbrackets commented 10 years ago

Any improvement here? We have stubs for sceUtilityGameSharingUpdate. The log should hopefully be different, at least.

-[Unknown]

raven02 commented 10 years ago

It is not working .Probably it is video issue

02:38:767 user_main E[FileSys]: FileSystems\ISOFileSystem.cpp:362 File SCN01E.STE not found 02:38:767 user_main E[IO]: HLE\sceIo.cpp:1169 ERROR_ERRNO_FILE_NOT_FOUND=sceIoOpen(disc0:/PSP_GAME/USRDIR/DATAPSP/MOVIES/SCN01E.STE, 00000001, 0000 0284) - file not found 02:38:781 idle0 E[IO]: HLE\sceIo.cpp:367 Unable to complete IO operation on disc0:/PSP_GAME/USRDIR/DATAPSP/MOVIES/SCN01E.PMF 02:38:781 user_main E[FileSys]: FileSystems\ISOFileSystem.cpp:362 File SCN01E.STE not found 02:38:781 user_main E[IO]: HLE\sceIo.cpp:1169 ERROR_ERRNO_FILE_NOT_FOUND=sceIoOpen(disc0:/PSP_GAME/USRDIR/DATAPSP/MOVIES/SCN01E.STE, 00000001, 0000 0284) - file not found

unknownbrackets commented 10 years ago

Those paths look questionable. Can anyone JpcspTrace sceIoOpen?

sceIoOpen 0x109F50BC 3 sxx sceIoOpenAsync 0x89AA9906 3 sxx

-[Unknown]

ppmeis commented 10 years ago

@unknownbrackets @hrydgard game boots fine. But there are strange black screens during menus and loading transitions, also the image is too bright (Buffer render on, when off I get black screen ingame, maybe related to #6117?):

image Debuglog: http://goo.gl/X9Ln8Z

Software rendering has a lot of glitches but brightness is fine: image

Screenshot in real hardware: 20140527141605

I also notice that intro movies and cinematics play too fast, while sounds play at normal speed. Even disabling multithread/IO options. This issue also happens on real hardware when CPU speed is set to other value than default. In default CPU speed there is no desync.

raven02 commented 10 years ago

May be you can test the framebuffer-clut branch

ulus10188_00000

ppmeis commented 10 years ago

@raven02 could you please share a download of that branch? Much appreciated :D.

unknownbrackets commented 10 years ago

The latest git build has it now.

-[Unknown]

ppmeis commented 10 years ago

@unknownbrackets now it looks fine: image

I notice if you leave block transfers options enable emulator crashes. Also movies still has desync issues.

unknownbrackets commented 10 years ago

Darn, crashes? Can you get a debug log of a crash? Wondering what block transfer does it.

-[Unknown]

ppmeis commented 10 years ago

@unknownbrackets here's debuglog: http://goo.gl/G2QpcP

unknownbrackets commented 10 years ago

Hmm, I don't even see any block transfers. Maybe it crashed before flushing the log. Hmm. I do see a memset(), but not sure why it wouldn't be safe.

-[Unknown]

ppmeis commented 10 years ago

@unknownbrackets I can send you the same log with block transfer disable: http://goo.gl/oChA0B

unknownbrackets commented 10 years ago

I wonder if it's related to the loadexec.

-[Unknown]

unknownbrackets commented 10 years ago

Is it still crashing?

-[Unknown]

ppmeis commented 10 years ago

@unknownbrackets tried lastest build. It's not crashing now if block transfer is enable.

Desync movies and black screens during load times are still there. I tried setting CPU clock to 222 (default speed in real PSP) and even enable real cpu sync, but they don't help either.

unknownbrackets commented 9 years ago

Have improvements in block transfers made any difference here?

-[Unknown]

daniel229 commented 9 years ago

That loading screen still black,in software rendering it's showing up though.

GE debugger 01

unknownbrackets commented 9 years ago

Hmm, the prim you have is a clear. Any breakpoint hits on that memory?

-[Unknown]

daniel229 commented 9 years ago

This function 02

full function https://gist.github.com/daniel229/252243fd8e9542fb26f1

daniel229 commented 9 years ago

Should be this noe drawing the loading screen,and the texture is black

03

unknownbrackets commented 9 years ago

It looks like that dmac memcpy should be copying between the two framebuffers. I wonder why it's not doing it though? sceDmacMemcpy should work.

In Core/HLE/sceDmac.cpp, what if you take this:

    if (Memory::IsVRAMAddress(src) || Memory::IsVRAMAddress(dst)) {
        skip = gpu->PerformMemoryCopy(dst, src, size);
    }

And make it:

    if (Memory::IsVRAMAddress(src) || Memory::IsVRAMAddress(dst)) {
        skip = gpu->PerformMemoryCopy(dst, src, size);
        NOTICE_LOG(HLE, "sceDmacMemcpy %08x -> %08x (%x): handled by gpu=%d", src, dst, size, skip);
    } else {
        NOTICE_LOG(HLE, "Non-VRAM sceDmacMemcpy %08x -> %08x (%x)", src, dst, size);
    }

It should log "04000000 -> 04044000 (44000): handled by gpu=1", but it seems like it will be logging "handled by gpu=0". Either way, does it log this every frame or just once?

-[Unknown]

daniel229 commented 9 years ago

log 1 time handled by gpu=1 01

daniel229 commented 9 years ago

I think it not that function,the background appearing before sceMpegInit() in software rendering. It loads the background right after

I[UTIL]: HLE\sceUtility.cpp:190 0=sceUtilityLoadAvModule(0)
I[UTIL]: HLE\sceUtility.cpp:190 0=sceUtilityLoadAvModule(1)
I[UTIL]: HLE\sceUtility.cpp:190 0=sceUtilityLoadAvModule(3)

So probably these affect the background

user_main    I[SCEGE]: Common\FramebufferCommon.cpp:331 Creating FBO for 00000000 : 480 x 272 x 0
user_main    W[G3D]: Common\FramebufferCommon.cpp:522 Memcpy fbo upload 04400000 -> 04000000
user_main    W[G3D]: GLES\TextureCache.cpp:413 Render to texture with incompatible formats 3 != 0 at 00000000
ppmeis commented 9 years ago

Tested with latest build. Still same issues during loading screens, also sound in videos are desync: image

ppmeis commented 8 years ago

Tested with latest build. Same status.

JimsAlliance commented 5 years ago

These issues still exist in the latest v1.7.1 builds. No advances in the last 3 years seem to have helped.

ppmeis commented 5 years ago

Tested in latest Windows build. Same status: image

ppmeis commented 5 years ago

@benderscruffy this related to loading screen errors and sound. Graphics are mentioned in #11551

unknownbrackets commented 4 years ago

So I think the issue here is really an mpeg issue, and it's similar to other desync issues: I think our timing of when we start returning video and audio frames is wrong. We may need to return "no data yet" a few times before returning data. This might enable both the loading screen and audio sync to show as they should.

-[Unknown]

ghost commented 2 years ago

Why super slow using OpenGL? Screenshot_2021-10-03-19-52-28-563_org ppsspp ppsspp opengl.ppdmp.zip

Levan7 commented 1 year ago

Tested the video still runs fast