hrydgard/ppsspp

Metal Gear Solid Peace Walker Chinese Patched blue screen

sum2012 opened this issue · 10 comments

Edit nothing

Did it ever previously work?

-[Unknown]

In the past, we are ignore invalid address to play.
Kernel only debug add this line
23:36:930 kfs io0 I[SCEMODULE]: hle\scekernelmodule.cpp:2507 322=sceKernelLoadModuleByID(4,flag=00000000,00000014,00000002,00000000,position = 00000001)

Jpcsp emulator run this game no problem without ignore invalid address

jmpLibFont seems to be a custom font library that uses sceFont behind the scenes, so blocking it from loading seems like it would cause errors, based on that log.

The change I made recently to more correctly handle sceKernelModuleStart with no start address didn't help, did it?

Read Word: Invalid address 0a000000 PC 08e1b560 LR 08e1b560 looks like it's actually during relocations or module handling, because it's logged after the imports but before the exports. So this seems like something wrong with ELF loading or relocations...

Is this jmp prx specific to the Chinese patch? If so, is it open source? I'd like to look at it if it's not copyright restricted.

-[Unknown]

v1.11.2-355-g7db53d2f0-windows-amd64 still same problem.
log:
https://gist.github.com/sum2012/4109b087fa7b0ea535304263aef3e3b8
Chinese patched file are closed source.

The prx is different from this one right?
https://github.com/hz86/mgspw

Seems likely related, I guess the idea is it replaces the text using a lookup when being drawn through this prx.

-[Unknown]

I use binary compare.
Yes,It is same file

How does it work now?

-[Unknown]

PPSSPP v1.11.2-375-g50d5195b4
Fixed.log: https://gist.github.com/sum2012/9888cefec359143f0fbb335c8dd33c44
Thanks @unknownbrackets
Closing