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.25k stars 2.17k forks source link

Grand Theft Auto Vice City Stories Crashed after intro video (Chinese patched version) #5638

Closed kaienfr closed 9 years ago

kaienfr commented 10 years ago

Unable to locate the source, but just crashed after video, the only screenshot in crash time is the asm debug as follows: crash

0x0000000013D4D9E5 exception (in PPSSPPDebug64.exe): 0xC0000005: access violation in reading location 0x000000007FFFC9E8.

unknownbrackets commented 10 years ago

What's the first build this started happening in, and the last one it worked in?

-[Unknown]

kaienfr commented 10 years ago

I don't know. Have a try later.

kaienfr commented 10 years ago

I've tested the last one in buildbot v0.9.7-1-g95af98b, still crashed...

unknownbrackets commented 10 years ago

I was under the impression this was a popular game. I don't have it, but it seems surprising that it would've been broken since 0.9.7 without anyone reporting it.

Are you sure you have a good rip?

-[Unknown]

kaienfr commented 10 years ago

[deleted]

hrydgard commented 10 years ago

Oh come on, you know better than that. No talk about piracy or related subjects here. Deleted.

daniel229 commented 10 years ago

That Chinese patch always not be supported by PPSSPP and JPCSP.

kaienfr commented 10 years ago

hehe, well sensitive talk. ok! I am not sure what kind of problem could be. Let's not talk about "rip" here... the image is about 1.6G...so

kaienfr commented 10 years ago

@daniel229 enh, not sure neither if it's the chinese patch's problem, I've checked in log, and no errors found there when crashes.

daniel229 commented 10 years ago

If replacing with the original EBOOT.BIN,it won't crash,but you can't read text.

sum2012 commented 10 years ago

v0.9.7.2-244-gca0a8d0-windows-amd64 debug log (crash) https://drive.google.com/file/d/0B3OaSdeV0L8keS1rbGV2eklxbnc/edit?usp=sharing

hrydgard commented 10 years ago

A clean dump of the EU version plays just fine.

If this is some issue that only occurs with some Chinese patch, it's not a critical issue for the release (maybe unless it has worked in the past).

sum2012 commented 10 years ago

Seem no version worked in the past of the Chinese patch

kaienfr commented 10 years ago

@sum2012 @hrydgard @unknownbrackets So it should be the problem of chinese version, I've also tested the very old 0.9.1 and still crash. Well, as other problems in chinese games, let's leave them to the future.

Congratulations to the new release 0.9.8! :)

hrydgard commented 10 years ago

Don't congratulate me until it's done :) This is basically a quick release to fix the problems that Xperia phones get when upgrading to 4.3, I would have waited another month otherwise because we don't have that many super exciting fixes in this one yet.

Updated the issue name to clarify.

sum2012 commented 10 years ago

v0.9.8-661-g2d12eb3 still crash info log: https://gist.github.com/sum2012/960e358757743d68d903 debug log: https://drive.google.com/file/d/0B3OaSdeV0L8kUjNDSnZYMmlHcWM/edit?usp=sharing

Only produce this log when use interpreter. 38:37:537 threadmain E[CPU]: Mips\MIPSInt.cpp:416 WARNING : exception-causing sub at 08a965f4

hrydgard commented 10 years ago

That sub is nothing to worry about, it's something else.

ppmeis commented 10 years ago

@hrydgard @unknownbrackets There's a known problem with proper dumps: a lot of them were made with a homebrew that dumped the whole game in a ISO image, well apparently. Because some sceners realized that in most cases dumps were underdumped (most often 2048 underdump), that could cause games not to work properly.

How to check if a dump is good? 1. Check with ISO Size Verifier Tool, It will compare the sectors recorded on the iso header with the real sectors. 2. Check in a scene database if your dump is good, the best is Renascene for me, here an example:

image

According with database, Europe proper dump is no good (it says bad dump) but there's a fix to make it good. Also, there's no chinese version but Japanese. That's why is very important to put Game ID in tittle reports or at least in the first comment @kaienfr .

sum2012 commented 10 years ago

The chinese patched version is based on ULJM05297 (Japan version)

ppmeis commented 10 years ago

Tested with latest build and ULJM05297. Game goes ingame and works fine without crash or glitches: image image

sum2012 commented 10 years ago

I don't know the chinese translate team do something lazy thing.

ppmeis commented 10 years ago

@kaienfr could you please share chinese patch file?

sum2012 commented 10 years ago

@ppmeis Do not need follow up. The issue is fixed when #6616 is merged

ppmeis commented 10 years ago

@sum2012 thanks.

sum2012 commented 10 years ago

v0.9.9.1-38-g2de6b47 still crash Some commit in #6616 has changed

unknownbrackets commented 10 years ago

Yes, I removed the commits that altered God Eater 2's behavior for now.

-[Unknown]

sum2012 commented 9 years ago

@unknownbrackets Do you remember your removed commits ? I only remember one is sceUtility.cpp change

unknownbrackets commented 9 years ago

https://github.com/unknownbrackets/ppsspp/compare/modules

-[Unknown]

sum2012 commented 9 years ago

Thanks @unknownbrackets

sum2012 commented 9 years ago

@daniel229 Does God Eater 2 still have problem with this commit only ? https://github.com/unknownbrackets/ppsspp/commit/8a012a9d785b56b9742d0550dd61222732a98440

daniel229 commented 9 years ago

Yes,still hangs when entring the mission.

sum2012 commented 9 years ago

Thanks @daniel229

unknownbrackets commented 9 years ago

Oh, I had misremembered this as breaking this game, rather than breaking God Eater 2.

Well, the numbers are all based on testing. In moduleLoadInfo, if you make the second number zero in all cases, does it work? That would probably mean it's just still a problem of memory allocation, and we've gotten closer but something else is wrong.

It may be that if something else allocates more (like sceNet) it will free a block earlier and work. The reason is that Gods Eater Burst and God Eater 2 use a slab/pool based allocation model. They actually keep free slabs allocated and deallocate them when there's memory "pressure." So they keep very careful tabs on free memory and it's no surprise they break when memory isn't allocated the way they expect it to be.

Otherwise, is it one of the dependencies (the extra numbers listed after the second one)? I'm pretty sure those are right, though.

-[Unknown]

daniel229 commented 9 years ago

Make the second number zero in moduleLoadInfo,The GTA won't work,God Eater 2 works.

sum2012 commented 9 years ago

edit: remove wait a minute

sum2012 commented 9 years ago

@daniel229 sorry,updated my commit. Can you try again God Eater 2 ? https://github.com/unknownbrackets/ppsspp/commit/8a012a9d785b56b9742d0550dd61222732a98440 additional https://github.com/sum2012/ppsspp/commit/2271d2abebfa1f22b29754bb97156e0c985f1ee9

daniel229 commented 9 years ago

I merged https://github.com/unknownbrackets/ppsspp/commit/8a012a9d785b56b9742d0550dd61222732a98440 ,but some games include God Eater 2 and GTA would crash on start up. Apply https://github.com/sum2012/ppsspp/commit/2271d2abebfa1f22b29754bb97156e0c985f1ee9 still crash on start up

sum2012 commented 9 years ago

OK,I re-write all code. How about only this commit ? https://github.com/sum2012/ppsspp/commit/156830811568a2f68ab2cf978cbf1cb773f7e21d

daniel229 commented 9 years ago

Still breaks god eater 2 1.4

sum2012 commented 9 years ago

@daniel229 Thanks your test. @unknownbrackets gid15 believe your commit , but only alloc memory for Atrac3plus module http://code.google.com/p/jpcsp/source/detail?r=3710

unknownbrackets commented 9 years ago

The numbers are all based on tests I made on a real psp, I am planning to clean it up at some point and put it on pspautotests. Note that I'm also allocating the prx if it's loaded.

Maybe I'll make another build of JpcspTrace with cleaner memory measurements and we can just trace the games that have problems... need some way to match it up cleanly, though.

-[Unknown]

sum2012 commented 9 years ago

edit wrong

hrydgard commented 9 years ago

@kaienfr @daniel229 is this still an issue?

daniel229 commented 9 years ago

Yes,still an issue.

sum2012 commented 9 years ago

@hrydgard this chinese patch game need alloc memory for unknown reason but alloc memory would break god eater 2 1.4

sum2012 commented 9 years ago

Test again @unknownbrackets of modules branch. crash :( 2

hrydgard commented 9 years ago

Try replacing

*dep != 0; 

with

dep && *dep == 0
sum2012 commented 9 years ago

@hrydgard Thanks,it work

sum2012 commented 9 years ago

I test now no more break For god eater 2 1.4 with @hrydgard fix

hrydgard commented 9 years ago

@sum2012 so the game fully works now, with @unknownbrackets module fix and my little patch above?