Hacking Help porting Utawarerumono Mask of Deception resolution hack

Xitrial

Member
OP
Newcomer
Joined
Feb 27, 2017
Messages
6
Trophies
0
XP
91
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.
 

worryN0t

New Member
Newbie
Joined
Jul 27, 2018
Messages
2
Trophies
0
Age
32
XP
24
Country
Zimbabwe
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

happydance

Well-Known Member
Member
Joined
Jul 16, 2009
Messages
598
Trophies
0
XP
349
Country
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
 

ThunderCloud

New Member
Newbie
Joined
Jun 19, 2008
Messages
1
Trophies
0
XP
10
Country
Canada
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.
 

warheit

Well-Known Member
Newcomer
Joined
Sep 14, 2009
Messages
63
Trophies
1
Location
Melbourne
XP
377
Country
Australia
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. :(
 

worryN0t

New Member
Newbie
Joined
Jul 27, 2018
Messages
2
Trophies
0
Age
32
XP
24
Country
Zimbabwe
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?
 

warheit

Well-Known Member
Newcomer
Joined
Sep 14, 2009
Messages
63
Trophies
1
Location
Melbourne
XP
377
Country
Australia
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

General chit-chat
Help Users
  • No one is chatting at the moment.
  • BakerMan @ BakerMan:
    i said i was sleeping...
  • BakerMan @ BakerMan:
    sleeping with uremum
  • K3Nv2 @ K3Nv2:
    Even my mum slept on that uremum
  • TwoSpikedHands @ TwoSpikedHands:
    yall im torn... ive been hacking away at tales of phantasia GBA (the USA version) and have so many documents of reverse engineering i've done
  • TwoSpikedHands @ TwoSpikedHands:
    I just found out that the EU version is better in literally every way, better sound quality, better lighting, and there's even a patch someone made to make the text look nicer
  • TwoSpikedHands @ TwoSpikedHands:
    Do I restart now using what i've learned on the EU version since it's a better overall experience? or do I continue with the US version since that is what ive been using, and if someone decides to play my hack, it would most likely be that version?
  • Sicklyboy @ Sicklyboy:
    @TwoSpikedHands, I'll preface this with the fact that I know nothing about the game, but, I think it depends on what your goals are. Are you trying to make a definitive version of the game? You may want to refocus your efforts on the EU version then. Or, are you trying to make a better US version? In which case, the only way to make a better US version is to keep on plugging away at that one ;)
  • Sicklyboy @ Sicklyboy:
    I'm not familiar with the technicalities of the differences between the two versions, but I'm wondering if at least some of those differences are things that you could port over to the US version in your patch without having to include copyrighted assets from the EU version
  • TwoSpikedHands @ TwoSpikedHands:
    @Sicklyboy I am wanting to fully change the game and bend it to my will lol. I would like to eventually have the ability to add more characters, enemies, even have a completely different story if i wanted. I already have the ability to change the tilemaps in the US version, so I can basically make my own map and warp to it in game - so I'm pretty far into it!
  • TwoSpikedHands @ TwoSpikedHands:
    I really would like to make a hack that I would enjoy playing, and maybe other people would too. swapping to the EU version would also mean my US friends could not legally play it
  • TwoSpikedHands @ TwoSpikedHands:
    I am definitely considering porting over some of the EU features without using the actual ROM itself, tbh that would probably be the best way to go about it... but i'm sad that the voice acting is so.... not good on the US version. May not be a way around that though
  • TwoSpikedHands @ TwoSpikedHands:
    I appreciate the insight!
  • The Real Jdbye @ The Real Jdbye:
    @TwoSpikedHands just switch, all the knowledge you learned still applies and most of the code and assets should be the same anyway
  • The Real Jdbye @ The Real Jdbye:
    and realistically they wouldn't

    be able to play it legally anyway since they need a ROM and they probably don't have the means to dump it themselves
  • The Real Jdbye @ The Real Jdbye:
    why the shit does the shitbox randomly insert newlines in my messages
  • Veho @ Veho:
    It does that when I edit a post.
  • Veho @ Veho:
    It inserts a newline in a random spot.
  • The Real Jdbye @ The Real Jdbye:
    never had that i don't think
  • Karma177 @ Karma177:
    do y'all think having an sd card that has a write speed of 700kb/s is a bad idea?
    trying to restore emunand rn but it's taking ages... (also when I finished the first time hekate decided to delete all my fucking files :wacko:)
  • The Real Jdbye @ The Real Jdbye:
    @Karma177 that sd card is 100% faulty so yes, its a bad idea
  • The Real Jdbye @ The Real Jdbye:
    even the slowest non-sdhc sd cards are a few MB/s
  • Karma177 @ Karma177:
    @The Real Jdbye it hasn't given me any error trying to write things on it so I don't really think it's faulty (pasted 40/50gb+ folders and no write errors)
  • DinohScene @ DinohScene:
    run h2testw on it
  • DinohScene @ DinohScene:
    when SD cards/microSD write speeds drop below a meg a sec, they're usually on the verge of dying
    DinohScene @ DinohScene: when SD cards/microSD write speeds drop below a meg a sec, they're usually on the verge of dying