Skip to content
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

Dead or Alive Paradise (ULUS10521):- Current state of affairs (Updated) #3128

Open
solarmystic opened this issue Aug 11, 2013 · 36 comments
Open

Comments

@solarmystic
Copy link
Contributor

See #3128 (comment)

UPDATE:- With the source file change proposed by @unknownbrackets #3126 (comment), the game goes further ingame, and doesn't crash after choosing the New game options in the main menu. It now has 4 major unresolved issues left.#3128 (comment)

Thanks to @unknownbrackets #3126 pull request that got merged into master 66569b8, this game, which has never booted up successfully on any previous build of PPSSPP now starts right up, generates an autosave successfully and plays back the rather "fun" opening FMV beautifully:-

(This is one of the most inoffensive SFW screenshots I could get from the FMV)

capture

Which then progresses to the title screen:-

capture

Pressing start then brings us to this main menu:-

doap4

Unfortunately, selecting any option in the aforementioned menu just leads to an infinite, non-progressive "Now Loading" screen or just a black screen, effectively hanging the game:-

capture

Logfile up to the point it hangs:-

https://gist.github.com/solarmystic/6207386

Logfile from a debug build of the same revision (35 MB, in a 7z file):-

http://www.mediafire.com/?aj9ydcac9lsz9cl

No stacktrace is obtainable since the game doesn't actually crash the emulator at any point, and you can safely exit back to the main PPSSPP main menu screen even when the game hangs.

@VIRGINKLM
Copy link
Contributor

What I think is happening is that the game tries to assign all (?) threads for some reason (HLE bug/timming issue/oddity in the game's code?) on the same entrypoint as an other and it overlaps it. Like it lags for a tiny period of time or fails to get on which entrypoint it will assign the next thread and it registers it on the same. Surprising this doesn't lead to a BREAK, like the game waits forever for something to happen. What happens when you saperate the threads is possibly that it has the time to correct that by assigning the problematic threads to a different thread on the CPU (so they won't collide) until this problem gets fixed by itself or something. (I hope it made atleast half sense @unknownbrackets)

@unknownbrackets
Copy link
Collaborator

Well all the game's threads still run on the same thread. Just talking to the Windows/etc. operating system to do the disc read is on a separate thread. The difference for the game is that after calling sceIoReadAsync, the buffer is no longer incorrectly updated immediately (but sometimes it may still be, the timing is non-determisistic.)

-[Unknown]

@VIRGINKLM
Copy link
Contributor

Could you input a slight wait/latency until it updates the buffer or it would affect negatively other games?

@solarmystic
Copy link
Contributor Author

Back again, folks. (For a little while, I'm supposed to be on "vacation" with the S.O., she'll have my head if she knew I was on github posting on my laptop.)

@unknownbrackets

It seems like the source change you suggested here #3126 (comment) did wonders for the game! I've no idea why I didn't change it earlier on like you suggested.

It now goes properly ingame when coupled with Multithreaded I/O, and is semi playable with 4 major issues left to tackle:-

(I apologize for the slightly NSFW screenshots, but they're the only way to show the issues)

a. The character models have that wireframe effect on them. And no, I do not have the Wireframe option on, and it's been depreciated a long time ago anyway.

screen00011

b. The internal FPS drops to 20 when playing a beach volleyball match with 4 characters on screen, making everything seem like it's running in slow motion. (I'm sure this wasn't the intention of the developers.)

screen00010

c. Going into photo mode (precious memories) hangs the game, but doesn't crash the emulator. It just gets stuck on this scene, but can be resetted like a normally running game:-

screen00009

d. The music playback in the game is rather stuttery and wonky. I suspect that's due to the lacking MP3 support that PPSSPP has.

Updated logfile when going in game and fooling around:-
https://gist.github.com/solarmystic/6288370

Logfile when game gets stuck when accessing Precious Memories:-
https://gist.github.com/solarmystic/6288386

Thanks again @unknownbrackets

@bonquacks
Copy link

@solarmystic

I can chip in a bit to the discussion, when the game hangs after selecting Photo Mode (a.k.a Precious Memories), the following is being spammed into the Debug Log Console:-

capture

@unknownbrackets
Copy link
Collaborator

We don't support the screenshot API yet, other games hang there too, like Senjou no Valkyira 3 and ClaDun.

-[Unknown]

@bonquacks
Copy link

I've just finished a few "vacations" with two girls, so to speak. The game is definitely playable now, sans the photo mode (Precious Memories).

If that "wireframe" effect on the girls (which is definitely jarring at times), the frame rate drop and the staticky music playback can be cleared up, it'd be close to perfect.

The game is just gorgeous, I've no idea how the PSP managed to pull off those visuals.

@bonquacks
Copy link

Just reporting that problem 2 (the internal FPS drop when playing the beach volleyball game), can be resolved temporarily by employing the good ol' Change CPU Clock method. I changed it to 666 MHz and I don't get anymore slowdown.

The wireframe issue can also be somewhat mitigated by using AntiAliasing (I don't know why, but it clears it up a little).

@VIRGINKLM
Copy link
Contributor

The wireframe is not fixed with AA, it's just that the renderer takes 4 more samples to render one pixel which makes it less sharp visualy.

@hrydgard
Copy link
Owner

I think I know what the wireframe is. The PSP has the rather weird ability to render "AA lines" to smooth out edges, and I guess that's what this game is doing.

It would probably work to turn off line drawing entirely if (gstate.antiAliasEnable & 1) == 0

Try that. For example on line 452 of GLES_GPU.cpp:

if ((type == GE_PRIM_LINE_STRIP || type == GE_PRIM_LINES) && (gstate.antiAliasEnable & 1) == 1)
    break;

@hrydgard
Copy link
Owner

Haven't tested it but I'm sure enough of the fix that I just committed it. Have fun.

@bonquacks
Copy link

@hrydgard

Yep. This 3cd80e1 totally fixes the wireframe look on the character models in DOA. So much better, they almost look as good as the XBOX 1 DOA character models now.

Thanks so much for the AA line fix!

screen00031

That leaves the music and the Precious memories issues for the game, which require proper MP3 and Screenshot API support to be added into the emulator.

@internetakias
Copy link

Looks like the AA line fix also took care of the outlines of certain 2d objects in P3P

@VIRGINKLM
Copy link
Contributor

MP3 can't be done via linking to Android's native decoders/filters?

@thedax
Copy link
Collaborator

thedax commented Aug 23, 2013

To supplement this issue thread, DOA:P has a demo available here(it's in Japanese, but so much stuff is grayed out/disabled that it's easy to navigate):

http://www.pspdemocenter.com/page.php?id=3102

@dbz400
Copy link
Contributor

dbz400 commented Aug 23, 2013

I think only outstanding issue for this game is strange shadow only

screen00008

@solarmystic
Copy link
Contributor Author

Back again folks!

I've just had another quick look at the game, and the status is pretty much the same, but I'd like to add another issue to the game. (@hrydgard very nice work with removing the wireframe lines, it was the first thing I noticed upon booting up the game again)

The game will have a tendency to hang with 60-70% CPU utlization on my Core 2 Duo machine when you access the "View The Contents of the Closet" option in the Hotel of your choosing when the day is over. Has a higher chance if you've just dumped a lot of items from your person into the closet. E.g. Loads of swimsuits and other items.

Repro method:-

  1. Load up the game. Any build that supports the game will do. (0.9.1-3 and above)
  2. Start a character vacation. Any girl will suffice, it can happen on any of them
  3. Do your typical three activities a day and get back to your hotel.
  4. (Optional) If you have a lot of items on your character, put them all away into the closet.
  5. Select the "View the contents of the closet" option, and start scrolling down.
  6. Sooner or later as your cursor hits an item that is stored in the closet, the game will hang. If in fullscreen mode, the only way to exit is Ctrl-Alt-Del. The whole emulator becomes unresponsive. It doesn't crash and produce a Windows Crash Report though.

@solarmystic
Copy link
Contributor Author

Another update to the state of the game, the abnormal shadowing has been fixed thanks to this @raven02 pull request #4105 that got merged to master in v0.9.1-1667-g0fcba4e 0fcba4e

screen00097

Only persistent issues remaining are the horrible mp3 BGM playback (coupled with the endless debug log spam)and the inability to access the "Precious Memories" (Photo Mode) section (accessing it results in a hang)

@hrydgard
Copy link
Owner

Are the shadows instead missing entirely now? I don't see any in the screenshot...

@solarmystic
Copy link
Contributor Author

@hrydgard

They're still there, it's just the angle and composition of the screenshot taken that made it "missing" so to speak. Here's another screenshot from a different scene that had shadows, notice that they no longer protrude from the characters heads anymore:-

screen00101

Compare the fixed shadows to what it looked like previously before the pull request got merged (taken from the same position, roughly):-

screen00103

@internetakias
Copy link

So all that's left now is to fix the mp3 support, right?

@hrydgard
Copy link
Owner

I don't play this game, but the lighting looks really dull in the screen shots, so there's probably something more left to fix there.

@solarmystic
Copy link
Contributor Author

@internetakias

Mp3 support, and ingame screenshot functionality (for Precious Memories photo mode) to be implemented, that's pretty much it.

@hrydgard

I don't think the game had any form of advanced dynamic lighting/bloom, even on the actual PSP. Even the shadows are rather rudimentary. I maybe wrong on this though.

@VIRGINKLM
Copy link
Contributor

The mp3 issue sounds like the buffer is too small for some reason and there's big latency.

@dbz400
Copy link
Contributor

dbz400 commented Oct 11, 2013

@VIRGINKLM , just curious Mp3 playback okay for this game? ( i didn't try hear it indeed)

@VIRGINKLM
Copy link
Contributor

No it stutters constantly, same effect as when the bug I described above happens.

@internetakias
Copy link

@hrydgard
Nah, pretty sure the lighting is the same on a real PSP:
http://youtu.be/rpe-0018ZmU?t=3m21s

@dbz400
Copy link
Contributor

dbz400 commented Oct 12, 2013

I see. Thanks @VIRGINKLM

@VIRGINKLM
Copy link
Contributor

Any luck with fixing mp3 audio? It still stutters.

@dbz400
Copy link
Contributor

dbz400 commented Apr 14, 2014

Finally get fixed here though with hack.

@solarmystic
Copy link
Contributor Author

The only issue remaining with this game (after the mp3 fixes from @kaienfr), is the hang after selecting the "Precious Memories" option in the main menu caused by the Screenshot API.

Log console spams the following in the latest master:-
.capture

@internetakias
Copy link

I'm not sure why, but trying to change songs while another is still playing seems to break music output entirely.

@livisor
Copy link
Collaborator

livisor commented Feb 17, 2017

I tested this with latest version of ppsspp and precious memories spams this when clicked
https://gist.github.com/livisor/9115ec75824abdb5c307932e462264cc

@ppmeis
Copy link
Contributor

ppmeis commented Jan 13, 2021

Tested with latest Windows build. Precious Memories menu spams this after enter in it:

57:50:208 hle\scenet.cpp:210 N[SCENET]: LocalHost IP will be 127.0.0.1 [e8:85:32:a9:f9:5a]
57:50:328 root N[BOOT]: ui\emuscreen.cpp:302 Loading E:/Roms/Sony/PSP/UMD/EU/D - E/Dead or Alive Paradise [ULES-01416]/Dead or Alive Paradise [ULES-01416].PBP...
57:50:801 user_main E[SCEKERNEL]: hle\scekernelthread.cpp:2682 sceKernelWaitThreadEnd - bad thread 298
57:51:867 MTC_TASK E[SCEKERNEL]: hle\scekernelthread.cpp:2682 sceKernelWaitThreadEnd - bad thread 307
57:53:734 MTC_TASK E[SCEUTIL]: hle\sceutility.cpp:309 80111102=sceUtilityLoadModule(00000300): already loaded
57:54:818 MTC_TASK E[ME]: hle\scepsmf.cpp:1166 80616001=scePsmfPlayerStop(09151310): not yet playing
57:56:064 user_main E[SCEKERNEL]: hle\scekernelthread.cpp:1243 __KernelGetWaitID ERROR: thread 308

@ppmeis
Copy link
Contributor

ppmeis commented Dec 17, 2022

Tested in latest build. Same issue.

@Frostchill
Copy link

When I play this game on the emulator on PC it's super laggy. How do I fix this?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests