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

Innocent Life - Crashes the emulator when starting a new game or loading a save. #2830

Open
andoruB opened this issue Jul 18, 2013 · 47 comments
Labels
I/O Affected by I/O timing settings, or other kind of I/O issue. PSMF / MPEG Issue involves scePsmf or sceMpeg video playback.
Milestone

Comments

@andoruB
Copy link

andoruB commented Jul 18, 2013

[Continued from this thread: http://forums.ppsspp.org/showthread.php?tid=4644]
[Also continued from this issue: https://github.com//issues/2027
Started a new one as the previous one was confronting a different problem that's now obsolete]

I've tried now with v0.8.1-632-g05dfd27 and v0.8.1-633-g6cc141a, things are not fixed as of yet either.
Loading a savegame still crashes the emulator same as going through the intro again, and crashes before entering the Ruins area.
What's different from previous versions is that the colours are more vibrant now, and they look more closer to how they are on a real PSP. Also something that's changed, but not in good is that when the HUD is displayed on-screen, the game slows down by 10-20VPS, still playable (at least in the intro). This also happens when there are more than 3 peeps on-screen. I'm not sure if this is actually how the emu behaves or because I still had to limit the CPU frequency to 80 (to be able to pass through the FMV at the beginning). Also the text seems to flicker and morph a lot on the screen (turning into a lower-res font and back). This flicker happens almost constantly with punctuation from what I observed.

Innocent Life - USA 1.00 / EUR 1.02 / HK 1.00 / JP 1.01

@hmfreak
Copy link

hmfreak commented Jul 21, 2013

attention needed ... sorry i know its not useful but i wait for the fix for so long already ...

@unknownbrackets
Copy link
Collaborator

Can you test this in the latest git build with reporting enabled? Ideally with default settings. A new log would be helpful.

-[Unknown]

@andoruB
Copy link
Author

andoruB commented Sep 2, 2013

Not sure what reporting is and where to find it (maybe it's a build command? )
But here are the logs with the latest Windows build ATM (v0.9.1-454-ge07b581)
Loading from a savegame - https://gist.github.com/andoruB/6413880#file-gistfile1-txt
Starting a new game and going through the intro - https://gist.github.com/andoruB/6413868#file-gistfile1-txt

Changes in this new version are the intro being fixed (no longer choppy because of the title music) and the emu doesn't quit once it encounters the problem.
But still can't play the game beyond going out of the cave and/or loading a saved game.

@unknownbrackets
Copy link
Collaborator

And it works with dynarec disabled (just slow)?

-[Unknown]

@andoruB
Copy link
Author

andoruB commented Sep 2, 2013

Nope, doesn't work with or without JIT.

@andoruB
Copy link
Author

andoruB commented Sep 3, 2013

Seems I got no answers so far. Do you know exactly what causes this, or what I could try further to find out the problem?
EDIT: Tried with PPSSPP v0.9.1-487-g728e1a5, still no change.

@unknownbrackets
Copy link
Collaborator

Have no idea what exactly causes this. If I did, I'd be suggesting things for sure.

Reporting is a setting under System. If it won't let you enable it, change Rendering Mode to "Buffered Rendering." The "Read Framebuffers to Memory" options cause bugs and crashes in many games.

Make sure you have "Fast Memory" disabled.

Also try disabling the atrac plugin.

To confirm, the crash is PPSSPP crashing, right? Are you able to use a compiler or debugger? I don't have this game, but if you were able to get me a stack trace, it might lead to a fix. There's a topic on the forum for compiling on Windows and getting one, I think.

-[Unknown]

@andoruB
Copy link
Author

andoruB commented Sep 3, 2013

I meant mostly for you to suggest me to try things for debugging ^^;
But nevermind about that =)

You mean Compatibility Server Reports? I have that enabled. Also I can't run the game with Buffered mode on as it's too slow on my machine due to some reasons.
Fast Memory is disabled here and I also tried disabling both Atrac and sound and it still doesn't work.

I'm not sure what you mean with the PPSSPP question. By stack trace you mean to do a copy from Debugger? In that case I gave you one a few weeks ago and you said it was just a Bad Jump to which you didn't comment further.
But anyway, I'll try to make another dump: https://gist.github.com/andoruB/6429119 =)

Also, wouldn't it be easier if I sent you my copy? ^^

@unknownbrackets
Copy link
Collaborator

Well, that's from the disasm, but that didn't really tell me anything except that it probably shouldn't be going there in the first place.

I don't think you can send me your copy unless you plan to destroy all your own copies of it or it's a demo.

-[Unknown]

@andoruB
Copy link
Author

andoruB commented Sep 3, 2013

What would a stack trace be?

Why destroying my copy? I'm confused.

@unknownbrackets
Copy link
Collaborator

Well, maybe a stack wouldn't help if it's just jumping to outer space anyway. Grr.

Well, obviously, it wouldn't be okay for me to obtain an illegal copy of the game, so the only way for you to give it to me is if you don't have it anymore afterward. I don't think that makes much sense here.

-[Unknown]

@andoruB
Copy link
Author

andoruB commented Sep 3, 2013

That's quite a bummer =/

So there isn't any fix for bad jumps? Perhaps I would need to obtain a different version of the game?

I'd rather think that those copyright laws are plain dumb, if not borderline insane, but that's IMO =)

@andoruB
Copy link
Author

andoruB commented Sep 5, 2013

I still didn't get the answer if Compatibility Server Reports is what you meant earlier...
Also I tried to play the EU and JP versions of the game on v0.9.1-580-g515874c and they both have the same problem.

I managed to save the log and copied the diasm from the debug window while trying the latter (I didn't think of saving the log when trying the EU version since i thought it would be similar, but if needed I'll try that one again)

Here's the log: https://gist.github.com/andoruB/6452961
Block 08a30000: https://gist.github.com/andoruB/6452981
Block 08a3076c: https://gist.github.com/andoruB/6453015 (I started a bit earlier than the block itself, since there was more stuff in the other block, this block starts with the beql thing)

EDIT: Sorry for closing the issue and reopening it, the button is annoyingly close to the submit button.

@unknownbrackets
Copy link
Collaborator

It seems like it no longer crashes according to the forum:
http://forums.ppsspp.org/showthread.php?tid=4644&page=2

But new games afaiu still do hang "at the island." I suspect it's audio related, above I'm asking for JpcspTrace logs.

-[Unknown]

@hrydgard
Copy link
Owner

hrydgard commented Jan 2, 2014

This is from yanthey's original email:

Henrik , i have report, i can make ppsspp running innocent life a futuristic harvestmoon.. 
I using save file, download from gamefaqs..
First, save states the games, and than download save file, and know ,rename save file like save state. 
Examples      ULUS10219DATA00 ( just rename ULUS10219 only) :) relax!!

It's a little confused but gives me the impression that there might be a savegame name issue, concatenating with DATA00 when it shouldn't?

@unknownbrackets
Copy link
Collaborator

Per #2384, this could be mpeg/audio related, but as mentioned that could just be a side effect of some savedata issue.

-[Unknown]

@sum2012
Copy link
Collaborator

sum2012 commented Feb 16, 2014

I don't sucess his method (USA version)

@dbz400
Copy link
Contributor

dbz400 commented Feb 16, 2014

Just tried this game .Start new game is not working and hangs right after here "Island" and audio also has delay issue.

screen00028

If loading save from gamefaqs , it is working fine.
screen00025
screen00026

@unknownbrackets
Copy link
Collaborator

On the forum, someone said that adjusting the clock speed to just the right value helped. So this is likely timing related somehow.

-[Unknown]

@sum2012
Copy link
Collaborator

sum2012 commented Feb 16, 2014

The sound of the video have problem.

@burnt01
Copy link

burnt01 commented Aug 16, 2014

I set the cpu to 60mhz speed and it sorts it (actually tuned it down to 56 and its better)

@unknownbrackets
Copy link
Collaborator

This part is from the other issue, just so it doesn't get lost:

In sceIo.cpp, under __IoRead, there are these lines:

    // Low estimate, may be improved later from the ReadFile result.
    us = size / 100;
    if (us < 100) {
        us = 100;
    }

This is different:

How low do you have to make the "/ 100" part for it to work? Or does size / 1 not even work (maybe it's like the Pangya issue, then)?

-[Unknown]

@sum2012
Copy link
Collaborator

sum2012 commented Jan 23, 2015

How low do you have to make the "/ 100" part for it to work?
I don't mean it

 size / 1 doesn't work

Use v0.9.9.1-1586-g502614b orignal code:

fast (bad):
log:
https://drive.google.com/file/d/0B3OaSdeV0L8kSXNPOURuVmlnZ2s/view?usp=sharing

Host(good):
log:
https://drive.google.com/file/d/0B3OaSdeV0L8kbFV3U0ZfeWEzMFk/view?usp=sharing

Simulate UMD delays (good):
log:
https://drive.google.com/file/d/0B3OaSdeV0L8kV09hRVJaOXQyZW8/view?usp=sharing

@sum2012 sum2012 added the PSMF / MPEG Issue involves scePsmf or sceMpeg video playback. label Aug 28, 2016
@sum2012
Copy link
Collaborator

sum2012 commented Feb 21, 2017

@benderscruffy As this game is IO timing related.
You need to log again with time parameter.
eg: sceMpegAtracDecode 0x800C44DF change to sceMpegAtracDecode 0x800C44DF !0
sceMpegAvcConvertToYuv420 0XF5E7EA31 change to sceMpegAvcConvertToYuv420 0XF5E7EA31 !0
other scempeg functions same change

@sum2012
Copy link
Collaborator

sum2012 commented Feb 23, 2017

Your jpcsp trace does not update to day.
Can you update first https://drive.google.com/file/d/0B3OaSdeV0L8kSWw5QjNSbk5Bb1k/view?usp=sharing ,then log again ?

@sum2012
Copy link
Collaborator

sum2012 commented Feb 25, 2017

@benderscruffy Sorry,the newest version should have in & out.
Not sure what 's problem.
I would log again with myself

@sum2012
Copy link
Collaborator

sum2012 commented Feb 28, 2017

@benderscruffy Thanks,I forget ! parameter should be "0 !"
I have tried changed the speed,but still fail
sum2012@6afcee4

@elestopa
Copy link

Hi. I've managed to make it work (tested on Android 5.0.1, build v1.3-1030-gfa9f8f6). You have to load a state saved from any region (I use a USA with ISO EUR), then you have to exit the game and start it again without closing PPSSPP, and normally start a new game by choosing the name you want, pressing the start button And then press and hold the turbo button. After finishing the video of the island you can continue playing.

Note: When you load the saved state from different region, it will load in that language, but upon restarting the game, the language will be that of the ISO region.
If the saved state file is of different region, you have to rename it to be compatible.

Sorry, I'm using a translator. I hope you understand. :)

@LunaMoo
Copy link
Collaborator

LunaMoo commented Mar 20, 2017

Why don't we just set simulate umd delays as default? Pretty sure this wasn't the only game that requires it and it's definitely more proper than keeping it at fast and trying to find different problem blaming potentially unrelated things and finding weird workarounds just to keep less correct IO timing.

@unknownbrackets
Copy link
Collaborator

Don't they break other games? I thought it was a "win some, lose some" trade off, at best. Also, assuming we correctly emulated UMD load times, that can sometimes be annoying.

If you have the iso on your memory stick on a real PSP, you don't have "UMD delays." So if this game works on a real PSP in that way, then we shouldn't need "full" UMD delays to solve the bug.

I would argue our default timing should strive to simulate the behavior of a PSP with the data on a class 10 memory stick, and UMD delays should strive to simulate the behavior with a UMD inserted. So in theory, we should be able to have "correct timing" for both settings.

But, if more things work with UMD delays, I'm fine with changing the default.

-[Unknown]

@LunaMoo
Copy link
Collaborator

LunaMoo commented Mar 21, 2017

Even if it's still a tradeoff it definitelly helps more than breaks compared to fast. I use it all the time from quite some time and didn't really had any problems caused by it yet. Loading speed for the most part is not noticeable and for most annoying cases unthrottle works best anyway.

@unknownbrackets
Copy link
Collaborator

Okay, although I'd say it's a bug that loading speed is not affected. Simulate UMD delays fails to simulate some of the delays it should.

-[Unknown]

@LunaMoo
Copy link
Collaborator

LunaMoo commented Mar 21, 2017

I think time is on many screens bottlenecked by animations which in most cases takes more time than reading files. So the difference does exist, I would say it's around 10% at best through, mostly on non animated loading screens or where animation doesn't drag longer than it needs to.
Both are much faster than loading from memstick on real psp(can't say I ever invested in fastest ones and don't have psp anymore to really check:P), so the option definitely doesn't simulate whole "UMD experience", but does improve timings enough to matter in those buggy games that depend on it.

This video seems to have a nice comparison for boot times, the same thing in ppsspp using standard hdd would last just slightly above 20s with maybe like 2s of a difference between settings.

@unknownbrackets unknownbrackets added the I/O Affected by I/O timing settings, or other kind of I/O issue. label May 28, 2018
@ghost
Copy link

ghost commented Nov 11, 2018

Issue still happen

@Panderner
Copy link
Contributor

I wonder why this game crashed due to sceMpegAvcInitYCbCr and sceMpegAvcDecodeStopYCbCr are not implemented on PPSSPP

@ghost
Copy link

ghost commented Apr 17, 2020

I wonder why this game crashed due to sceMpegAvcInitYCbCr and sceMpegAvcDecodeStopYCbCr are not implemented on PPSSPP

What part of this game it will crash!?

@Panderner
Copy link
Contributor

I wonder why this game crashed due to sceMpegAvcInitYCbCr and sceMpegAvcDecodeStopYCbCr are not implemented on PPSSPP

What part of this game it will crash!?

After the cutscene when I starting the game.

@ghost
Copy link

ghost commented Apr 18, 2020

I wonder why this game crashed due to sceMpegAvcInitYCbCr and sceMpegAvcDecodeStopYCbCr are not implemented on PPSSPP

What part of this game it will crash!?

After the cutscene when I starting the game.

Not crashing on my phone i set the I/O TIMING METHOD to UMD DELAYS :)

@ghost
Copy link

ghost commented May 3, 2020

Why don't we just set simulate umd delays as default? Pretty sure this wasn't the only game that requires it and it's definitely more proper than keeping it at fast and trying to find different problem blaming potentially unrelated things and finding weird workarounds just to keep less correct IO timing.

@hrydgard why not added this game to ForceUMDDelay compat?

@hrydgard
Copy link
Owner

hrydgard commented May 3, 2020

Good question, we probably should just do that. I'll take care of it.

@sum2012
Copy link
Collaborator

sum2012 commented Dec 6, 2022

I think that we might live our hack code forever

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
I/O Affected by I/O timing settings, or other kind of I/O issue. PSMF / MPEG Issue involves scePsmf or sceMpeg video playback.
Projects
None yet
Development

No branches or pull requests