News: 11 March 2016 - Forum Rules

Author Topic: ROM Hacking for newer consoles  (Read 3437 times)

javierbg

  • Jr. Member
  • **
  • Posts: 3
    • View Profile
ROM Hacking for newer consoles
« on: September 02, 2012, 10:03:48 am »
So, here's my story:
I like translating (from English to Spanish), I like programming (C and Python) and I love videogames. So when I started playing Persona 3 FES on PS2 I said to myself: "Wouldn't it be great if Spanish speakers who don't know English could also enjoy this game? I could give it a try!" Then I realized that so much text (and I mean SO MUCH) would be an impossible work for just one person. Anyway, I've been always interested in ROM Hacking, specially translations, so I found this page and started learning, just for fun. I have learnt a lot about ROMs and I have found where to begin with ISOs, but I'm stuck. I managed to extract all the basic files and I think I could start experimenting (though it's harder when you have to work with bigger files) so I can translate things like items, menus and that kind of stuff.

Now, long story short: I don't really know if modern games also use tables and stuff like that. If that's the case where can I found a powerful Hex editor that supports tables and relative search? I repeat, I don't really know if I'm heading the right way. I think I should learn about script extraction and insertion instead of that: Where can I find information about this?

I know that I haven't chosen something easy, but I haven't planned making a big project or something like that, I just want to learn something new.

Auryn

  • Hero Member
  • *****
  • Posts: 650
    • View Profile
Re: ROM Hacking for newer consoles
« Reply #1 on: September 02, 2012, 10:32:13 am »
HERE
Everything is basically the same for every system.
You have to learn about hex and hex editors first because you have to discover how the text is encoded, compressed an/or stored. So you will take a look at the files in hex view first and when you know how it's stored, you can think about extraction/insertion.

Well as you said yourself, you didn't choose something easy and there is the problem of with "loosing interest" meaning that you probably will need to invest alot of time before see any success and this could make you loose interest even before you get that success.

Plus you are working with PS2 that don't really get a lot of love from the translation scene.


javierbg

  • Jr. Member
  • **
  • Posts: 3
    • View Profile
Re: ROM Hacking for newer consoles
« Reply #2 on: September 02, 2012, 10:47:05 am »
I have already read almost all of the documents there (except the music and level editing) so I know the very basics of hex and hex editors.

Anyway, thanks for the advice, I don't know if I'm patient enough, but I guess there's only one way to know! If I see that it is too much, maybe I will try with something more simple like a NES game.

Also, about the hex editor : Which do you recommend?
« Last Edit: September 02, 2012, 10:57:31 am by javierbg »

LostTemplar

  • Hero Member
  • *****
  • Posts: 910
    • View Profile
    • au-ro-ra.net
Re: ROM Hacking for newer consoles
« Reply #3 on: September 02, 2012, 11:06:56 am »
I'd think most games on a console as new as the PS2 would just use ASCII, but unfortunately I have no experience to support this. And, well, the possibility that the developers use something different is always given.

However the bigger problem lies with compression anyway, I'd say. To reduce loading times, a lot of stuff, including text, might be compressed. For text, often some kind of LZSS compression is used, if that helps.

But as Auryn says the basics are exactly the same for all consoles, and what some game actually does is highly dependent on that particular game.

Auryn

  • Hero Member
  • *****
  • Posts: 650
    • View Profile
Re: ROM Hacking for newer consoles
« Reply #4 on: September 04, 2012, 12:56:51 pm »
Well, the hex editor choise is dependant of what you like and what you need so you will probably end up with more than just one hex editor. Here you have a good table that compare the different hex editors.

My taste:
-hex workshop for general use and unicode
-madedit for japanese  shift jis or others
-transelhexation for non standart encoding (work with table)
-nitro hex (not listed in that list because not supported since years) for line by line compare.

javierbg

  • Jr. Member
  • **
  • Posts: 3
    • View Profile
Re: ROM Hacking for newer consoles
« Reply #5 on: September 04, 2012, 05:00:40 pm »
Thank you very much! That list has been really useful, I had tried hex workshop and madedit, but I didn't know about transelhexation, and that's exactly what I was looking for.

As for the game: I have figured out lots of things like finding the text and decoding and encoding the sound,

The problem I'm having right now is about rebuilding the ISO: If I modify the files directly inside the ISO and rebuild them with CD-DVD Rom Generator and Apache3 it works fine. But modifying a 4GB file is not really easy. So I decompressed the CVM files inside the ISO (MagicISO and Apache3 worked fine, since these files are just ISOs with different extension) and modified one of the files inside (I just changed some characters, I kept it the same lenght). I opened the corresponding CVM file with Apache3 and tried to use the "Replace selected file" option to replace the file I modified. Although I made sure that they had the exact same size, Apache3 says that they are not. If I check "Ignore file size differences" and click Replace File, it just crashes. I tried doing the same with MagicISO, but, obviously, it doesn't work because MagicISO doesn't have the replace option, you have to erase the original and insert the modified file, if I try to rebuild the ISO with that file the game doesn't start (I'm using Open Ps2 Loader via SMB so I don't have to burn the game every time I try or run it on an emulator).

Do you know any application similar to Apache3 (which webpage is now a porn website --U) which I can use to replace the files inside the CVMs with the ones I have modified? The only version of Apache that I have found is a beta (it's hard to find an application that has the same name that another famous one) Do you know where to find a previous (stable) version?

Again, thanks for the help.