Giter Club home page Giter Club logo

Comments (8)

romhack avatar romhack commented on July 21, 2024

Hello, Augen!
The main problem for me is not knowing Japanese. I can't tell the difference between an improperly unpacked binary chunk and normal Japanese text.
On the other side I can reverse engineer text instances addresses and support you in compiling the tool.
Say, did you try to recompile mgsgblz from source? That should not be hard: just install Haskell stack, and then do

stack setup
stack build

If everything OK, I will modify source code, so you could build it and try yourself to extract full script.

from mgsgblz.

AugenKOR avatar AugenKOR commented on July 21, 2024

Thanks for the reply
Let's try it!

from mgsgblz.

romhack avatar romhack commented on July 21, 2024

So I have build a tool with new command key: decompress instance as binary blocks. Check out attached exe and batch file with sample commands to unpack instance 0 and 1 as set of binary blocks:
mgsgbLz-master.zip
I personally have no idea what is unpacked, so the target now is to check unpacked blocks and verify it. If everything is OK, you can create table, like in Eglish case:
table.zip
And then use command -d -s, so mgsgblz will use your new table and extract full script in set of text instances.

from mgsgblz.

AugenKOR avatar AugenKOR commented on July 21, 2024

Thank you for your hard work
I created a table according to the Japanese version and succeeded in Decode script.
But there was a problem.
There is a difference between the English version and the Japanese version of the rom address of mteDictionary.
The Japanese version of the character name starts at 0x001483FF.
If you look at the HEX above, you can see that it is different from the created mteDictionary.
But I can't find the exact rom address by my ability...

I'll give you the Decode script file, name.txt, table.tbl.

https://1drv.ms/u/s!Av-otsJCarsx6XkkMTwZ2UK1hcwZ?e=zYrOtV

from mgsgblz.

romhack avatar romhack commented on July 21, 2024

I'm not sure, that understood your question right.
In English version first 24 MTE entries are reserved for character names. So MTE entry #0 at 0x14898D is encoded 'Snake' string. As I understand, the same goes for Japan. Do you state, that Japan MTE entry #0 at 0x1483FF is not Japan 'Snake'?
Also note, that in generated binary MTE dictionary first 0x200 bytes are reserved for pointer table for MTE entries.

from mgsgblz.

AugenKOR avatar AugenKOR commented on July 21, 2024

What you understood is correct
It seems to be the same principle.
Japanese and English names seem to exist the same as the Japanese version and the English version.

I will attach a screenshot of the rom data.
https://1drv.ms/u/s!Av-otsJCarsx6X-0Sa9Z69IKYjeB?e=zkYhRi
https://1drv.ms/u/s!Av-otsJCarsx6gDhJggX58rWt_sc?e=XJ4xVJ

from mgsgblz.

romhack avatar romhack commented on July 21, 2024

So, in Japan ROM MTE table starts at 0x1481FF and built mteDictionary should be inserted there.
I mean, you couldn't find this ROM address?

from mgsgblz.

AugenKOR avatar AugenKOR commented on July 21, 2024

right. :D
I couldn't do this on my own.

from mgsgblz.

Related Issues (1)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.