Hacking Gundam Ghiren's Greed Translation

Rex0009

Active Member
OP
Newcomer
Joined
Sep 27, 2016
Messages
31
Trophies
0
Age
42
XP
93
Country
United States
Hey guys,

Recently I've taken in interest in what I think is one of the greatest PSP games ever made.
It's Mobile Suit Gundam Ghiren's Greed Axis no Kyoui V. Picture Romance of three kingdoms
or Nobunaga's ambition with a Gundam overaly.

The Cool thing is I'm fluent in Japanese, and I've taken the liberty of extracting and translating
the majority of the Menu's, major decisions and pilot data(This is all stored in images,
the game has very little text and most of that is in the EBOOT.bin)
A ton of text still remains untranslated (mostly pilot dialog etc.)

The issue is I used a program that I found on a Japanese site to extract all of the images.
The program has no option to re-compress and insert the images I've translated.


Here is some of the technical info I've figured out:

The Game major storage system are large MKD files, this is where most of the images and game data are found and inside everything is stored in SD0 Containers The other major file is the MIF file which keeps track of all SD0 containers spread over all the MKD files. It does so in a weird way that I dont fully understand (yet) but generally, it keeps flags to tell you which file is in which mkd file... and where in the mkd file its located. It stores that value as a block number (2B) that gets multiplied by 2048 to get the actual offset, from there it jumps into the mkd(SD0) files...

The SD0 Files inside the MKD start with a 4B "SD0-filesize" And another 4B that I can only assume at this point to be some kind of descriptor. Followed by a 1B flag that tells the filetype that follows... and then the actual payload which again, branches into several other subtypes.


At this point I'm fresh out of ideas of where to go next

if anyone is interested in assisting let me know.

I've attached an image of the SD0 hex dump.
ir8jgn.jpg


also upon request I can send the program I used to extract the images
 

takeya yuki

I am now someone waifu.
Member
Joined
Feb 27, 2016
Messages
157
Trophies
0
Location
Tokyo
XP
395
Country
Japan
Hey guys,

Recently I've taken in interest in what I think is one of the greatest PSP games ever made.
It's Mobile Suit Gundam Ghiren's Greed Axis no Kyoui V. Picture Romance of three kingdoms
or Nobunaga's ambition with a Gundam overaly.

The Cool thing is I'm fluent in Japanese, and I've taken the liberty of extracting and translating
the majority of the Menu's, major decisions and pilot data(This is all stored in images,
the game has very little text and most of that is in the EBOOT.bin)
A ton of text still remains untranslated (mostly pilot dialog etc.)

The issue is I used a program that I found on a Japanese site to extract all of the images.
The program has no option to re-compress and insert the images I've translated.


Here is some of the technical info I've figured out:

The Game major storage system are large MKD files, this is where most of the images and game data are found and inside everything is stored in SD0 Containers The other major file is the MIF file which keeps track of all SD0 containers spread over all the MKD files. It does so in a weird way that I dont fully understand (yet) but generally, it keeps flags to tell you which file is in which mkd file... and where in the mkd file its located. It stores that value as a block number (2B) that gets multiplied by 2048 to get the actual offset, from there it jumps into the mkd(SD0) files...

The SD0 Files inside the MKD start with a 4B "SD0-filesize" And another 4B that I can only assume at this point to be some kind of descriptor. Followed by a 1B flag that tells the filetype that follows... and then the actual payload which again, branches into several other subtypes.


At this point I'm fresh out of ideas of where to go next

if anyone is interested in assisting let me know.

I've attached an image of the SD0 hex dump.
ir8jgn.jpg


also upon request I can send the program I used to extract the images

Can I see a picture all file inside this game iso. Maybe I can help because I hack PSP game before like persona 3, shining ark and Brother Conflict. I want to know all file inside this game before I try to help with what I can do.
 

Rex0009

Active Member
OP
Newcomer
Joined
Sep 27, 2016
Messages
31
Trophies
0
Age
42
XP
93
Country
United States
Hey here is the main directory
maindir.png


--------------------- MERGED ---------------------------

Also here is a sample of extracted images
extracted.png
 

flame1234

Well-Known Member
Member
Joined
May 17, 2009
Messages
734
Trophies
0
XP
957
Country
United States
Did you try GE Debugger?
Are those textures? Can you see them when you step through the appropriate scene in GE Debugger?
 

flame1234

Well-Known Member
Member
Joined
May 17, 2009
Messages
734
Trophies
0
XP
957
Country
United States
OK, post a screenshot of GE debugger with one of those textures up.
It will tell you texture address.
Set a write breakpoint on the texture address, then hit resume and see what happens. For science.

With the texture up in GE debugger:
1. Click on the main window.
2. CTRL+D to open the CPU debugger.
3. Click the breakpoints tab at the bottom.
4. Right click the empty space in the breakpoints window, choose Add.
5. Type the texture address 0x######## in the box.
6. Set the options so that it will break on a write.
7. Press OK.
Your write breakpoint is now set.
8. Push "resume" on GE debugger and see what happens. Post a screenshot of that, too, the CPU debugger at the breakpoint.

You can always use your breakpoints to figure out what the PSP is doing at any given time. Hopefully you'll be able to find the decompression code and reverse-engineer it.
 

Rex0009

Active Member
OP
Newcomer
Joined
Sep 27, 2016
Messages
31
Trophies
0
Age
42
XP
93
Country
United States
ok here is the texture

texture.png


--------------------- MERGED ---------------------------

CPU Debugger at break point

break_debug.png
 

Rex0009

Active Member
OP
Newcomer
Joined
Sep 27, 2016
Messages
31
Trophies
0
Age
42
XP
93
Country
United States
the only text is the traditional sense is in the eboot.bin.... it's only for unit names, stats, etc...The actual menu and most of the game text are all graphics...I figured that out when I dumped it.
 
  • Like
Reactions: takeya yuki

takeya yuki

I am now someone waifu.
Member
Joined
Feb 27, 2016
Messages
157
Trophies
0
Location
Tokyo
XP
395
Country
Japan
the only text is the traditional sense is in the eboot.bin.... it's only for unit names, stats, etc...The actual menu and most of the game text are all graphics...I figured that out when I dumped it.

Do you already download mad edit hex software and crystal tile2? If you have this software, I will tell you what to do next.
 

takeya yuki

I am now someone waifu.
Member
Joined
Feb 27, 2016
Messages
157
Trophies
0
Location
Tokyo
XP
395
Country
Japan
Hey, thanks for your help bunny....

still a long way to go

I suggest you learn to hack SNES games first for beginner from website called romhacking.net. in there you can learn how many way to hack the game like from nds and PSP games.:)

Just take your time to learn broB-)
 

Rex0009

Active Member
OP
Newcomer
Joined
Sep 27, 2016
Messages
31
Trophies
0
Age
42
XP
93
Country
United States
I've recently bought a book on MIPS. (Mips Assembly Language by Robert Britton, a co worker told me about it)
I'm sure it will take me months of study and playing around with MARS to be competent enough to figure out decompression
and re-compression. I know java and python relatively well and the best way to do something is to learn it yourself.

If I don't get the game images reinserted and the script dumped (the script seems small).
I plan on creating and updating a wiki with all my translations and images I've found.

If anyone enjoys strategy games and has a small amount of patience and Japanese language knowledge, do yourself a favor and play this
awesome game.

It's right behind hearts of iron 2 in terms of grand strategy games.

Update:

Game Menu 100%
Pilot Menu: 100%
Unit Menu: 100%
Adviser/Decision Menu: 5% I'm doing it by campaign

Future Plans:
Unit Translations
Pilot Name Translations

Stretch:
Incidental Dialog - There's over 2000 instances
 

flame1234

Well-Known Member
Member
Joined
May 17, 2009
Messages
734
Trophies
0
XP
957
Country
United States
It could be something simple, and if that's the case it's going to be pretty quick.

The MIPS book might not help you that much, you need to study reverse engineering techniques rather than MIPS.
Like, install Cheat Engine and then complete the tutorial. They have a forum if you have trouble with the Cheat Engine tutorial.

Reverse engineering techniques for what you're doing I'm not sure.

Anyway, in the test above you had a read/write breakpoint (rather than write only).
We want to set a write breakpoint because we want to break where in our program that texture is getting set. That texture is coming from those source data files; we need to look at the code that reads those files to understand what is going on. To do that we need to find that code that's reading those files in the haystack. To find it, you set a breakpoint on the plaintext version. If you keep backtracing, you eventually get to the point in the code where that data is being decompressed or read from. I mean, when the decompression routine decompresses the data, it will need to put it somewhere. We want to set our write breakpoint on that point: where the decompression routine is storing the decompressed data.
 

Rex0009

Active Member
OP
Newcomer
Joined
Sep 27, 2016
Messages
31
Trophies
0
Age
42
XP
93
Country
United States
I did some research after you posted the technique above. For me the frustrating part is not being able to understand what I'm reading, which is why I assumed MIPS would help.

so bear with me the highlighted portion where the break is it says:

add unsigned a0 = s0+0x2978
 

BetaXenon

Well-Known Member
Newcomer
Joined
Jan 21, 2015
Messages
93
Trophies
0
Age
31
Location
Samara, Russia
XP
160
Country
Russia
Update:

Game Menu 100%
Pilot Menu: 100%
Unit Menu: 100%
Adviser/Decision Menu: 5% I'm doing it by campaign

Future Plans:
Unit Translations
Pilot Name Translations

Stretch:
Incidental Dialog - There's over 2000 instances
Can you upload a current eboot file then (and any other that you chaged if you done it already and they can be reinserted)? I playing this game once on a while and game menus is going to be quite a handy.

Also, if you manage to extract unit and pilot names then i can translate them for you. Aside of this i can't help much.
 
Last edited by BetaXenon,

Rex0009

Active Member
OP
Newcomer
Joined
Sep 27, 2016
Messages
31
Trophies
0
Age
42
XP
93
Country
United States
I edited all of the menu images and translated them, but I have no way to insert them. so the only thing I could send you is translated images.

I'll be clearer:
When you go to the menu with pilot data...and see the list 'that' is text.
it's all in the boot.bin, just s-jis.

when you select a pilot and his picture an stats comes up that's an image, I personally edited and translated those menu's and images into english.
plus the main menu, battle menu, and now I'm starting on main dialog and decision points.

Send me your info, and I will shoot the program I use to you...and if you want you can mass extract the images yourself.

When I have the images done the way I want them, I'll just put them in several rar files on G-Drive, and people can do whatever they want with them.
 
  • Like
Reactions: BetaXenon

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • BigOnYa @ BigOnYa:
    He said he had 3 different doctors apt this week, so he prob there. Something about gerbal extraction, I don't know.
    +1
  • ZeroT21 @ ZeroT21:
    bored, guess i'll spread more democracy
  • LeoTCK @ LeoTCK:
    @K3Nv2 one more time you say such bs to @BakerMan and I'll smack you across the whole planet
  • K3Nv2 @ K3Nv2:
    Make sure you smack my booty daddy
    +1
  • LeoTCK @ LeoTCK:
    telling him that my partner is luke...does he look like someone with such big ne
    eds?
  • LeoTCK @ LeoTCK:
    do you really think I could stand living with someone like luke?
  • LeoTCK @ LeoTCK:
    I suppose luke has "special needs" but he's not my partner, did you just say that to piss me off again?
  • LeoTCK @ LeoTCK:
    besides I had bigger worries today
  • LeoTCK @ LeoTCK:
    but what do you know about that, you won't believe me anyways
  • K3Nv2 @ K3Nv2:
    @BigOnYa can answer that
  • BigOnYa @ BigOnYa:
    BigOnYa already left the chat
  • K3Nv2 @ K3Nv2:
    Biginya
  • BigOnYa @ BigOnYa:
    Auto correct got me, I'm on my tablet, i need to turn that shit off
  • K3Nv2 @ K3Nv2:
    With other tabs open you perv
  • BigOnYa @ BigOnYa:
    I'm actually in my shed, bout to cut 2-3 acres of grass, my back yard.
  • K3Nv2 @ K3Nv2:
    I use to have a guy for that thanks richard
  • BigOnYa @ BigOnYa:
    I use my tablet to stream to a bluetooth speaker when in shed. iHeartRadio, FlyNation
  • K3Nv2 @ K3Nv2:
    While the victims are being buried
  • K3Nv2 @ K3Nv2:
    Grave shovel
  • BigOnYa @ BigOnYa:
    Nuh those goto the edge of the property (maybe just on the other side of)
  • K3Nv2 @ K3Nv2:
    On the neighbors side
    +1
  • BigOnYa @ BigOnYa:
    Yup, by the weird smelly green bushy looking plants.
  • Xdqwerty @ Xdqwerty:
    Water park was quite fun
    Xdqwerty @ Xdqwerty: Water park was quite fun