Hacking Help porting Utawarerumono Mask of Deception resolution hack

  • Thread starter Thread starter Xitrial
  • Start date Start date
  • Views Views 3,256
  • Replies Replies 6

Xitrial

Member
Newcomer
Joined
Feb 27, 2017
Messages
7
Reaction score
9
Trophies
0
XP
128
Country
United States
Ok I've been trying to use the resolution hack of the japanese version with english assets (gbatemp net/threads/utawarerumono-mask-of-deception-full-540p-resolution-hack.481134/), in the english version.

I can't find in the eboot.bin of the english version the hex 2A0EA0E3061DA0E3, so no way to directly change that.

I've tried using for the previous hex values in the japanese eboot, that are directly before those, and searching for them in the english eboot. imgur com / GOiCLEy (japanese patched eboot)

While I can find them the values to the right are very different. imgur com / mK1PpAO (english eboot)

-The game is down res from 960x540 to 672x384, so converting 672 to hex gives 2A0, this coincidences whit the start of the hex you are supposed to replace in the japanese eboot. And of course searching for 2A0 give a ton of results.

-The original hack (puu(dot)sh/xbZja/18f03e21a9.png) required some pretty advanced knowledge, unless someone know how to do it, it can't be done again

--------------------------------------------------------------------------------

Also I successfully ported the res hack of Mask of Truth, that was easy as there was a text patch with offsets to change, I only had to find the difference in offsets of the to eboots (+2530 in this case).

What I'm going here is that the method for resolution change seems to be different:

#Basically, change first byte of opcode to any value from 0 to 64 to set desired resolution
#Set 3D Resolution to 25%
#0x81C52908: 4620A0E3, 1920A0E3
#Set 3D Resolution to 50%
#0x81C52908: 4620A0E3, 3220A0E3
#Set 3D Resolution to 75%
#0x81C52908: 4620A0E3, 4B20A0E3
#Set 3D Resolution to 100%
0x81C52908: 4620A0E3, 6420A0E3

Maybe this method can be used in Mask of Deception. It seems both games are at 70%(46hex) resolution. But searching for 46 in hex gives again, a ton of results.
 
Search for 4640A0E3. Offset 0x11d1f4 should be the place(edit: may be 0x11e1f4 if using maidump eboot). Now it is not different than Utawarerumono: Mask of Truth.
All you need to do is to overwrite 46 from 4640A0E3 with 64 and you will have vita native resolution in 3d parts of the game.
 
Last edited by worryN0t,
  • Like
Reactions: ThunderCloud
just minus 0x1000 to the offset to get the right offset for the new eboot. BTW you need to edit the unpacked eboot.bon (eboot.elf.bin) to edit the offset then pack it back


for example :

mai eboot #0x81C52908: 4620A0E3, 1920A0E3

fagdec eboot.elf #0x81C51908: 4620A0E3, 1920A0E3
 
Search for 4640A0E3. Offset 0x11d1f4 should be the place(edit: may be 0x11e1f4 if using maidump eboot). Now it is not different than Utawarerumono: Mask of Truth.
All you need to do is to overwrite 46 from 4640A0E3 with 64 and you will have vita native resolution in 3d parts of the game.
Managed to get this to work thanks to you! 0x11d1f4 is indeed the right place when I edited the eboot.bin.elf made from the comppact eboot.bin. Thank you very much! I've been struggling for hours trying to figure this out. I still don't know how you figured it out, but I can stop now.
 
Managed to get this to work thanks to you! 0x11d1f4 is indeed the right place when I edited the eboot.bin.elf made from the comppact eboot.bin. Thank you very much! I've been struggling for hours trying to figure this out. I still don't know how you figured it out, but I can stop now.
How did you managed to do it?

I managed to decrypt with fagdec and got the eboot.bin.elf. Found the offset and hex and modified it to be 64 for 100%. Repack it with the instruction from the fagdec guide. Put the files in rePatch/GAMEID and I get error C1-2613-2. :(
 
Managed to get this to work thanks to you! 0x11d1f4 is indeed the right place when I edited the eboot.bin.elf made from the comppact eboot.bin. Thank you very much! I've been struggling for hours trying to figure this out. I still don't know how you figured it out, but I can stop now.
In JPN Mask of Deception eboot file(after disassembly) there were 0x2a0(672) 0x180(384) resolution values, in jPN mask of truth they used function (i don't know if it is the right word) described in first post, which was also used in Mask of Deception and Mask of Truth localised releases(my assumption; also 70% of 960 = 672). I disassembled eboot.bin and looked for 0x46(70) that could be related to sceGxmCreateRenderTarget and I found it :D.

@up have you copy-pasted first 8 bytes from self_auth.bin to your eboot.bin at 0x80 offset?
 
In JPN Mask of Deception eboot file(after disassembly) there were 0x2a0(672) 0x180(384) resolution values, in jPN mask of truth they used function (i don't know if it is the right word) described in first post, which was also used in Mask of Deception and Mask of Truth localised releases(my assumption; also 70% of 960 = 672). I disassembled eboot.bin and looked for 0x46(70) that could be related to sceGxmCreateRenderTarget and I found it :D.

@up have you copy-pasted first 8 bytes from self_auth.bin to your eboot.bin at 0x80 offset?
I used the python script that automatically combines the eboot.bin with eboot.bin.elf and self_auth.bin. unless the python script is causing issue and I have to do the eboot.bin only :(
 

Site & Scene News

Popular threads in this forum