ROM Hack How To Translate ROMs

BelmontSlayer

Pokémon Master
OP
Member
Joined
May 11, 2006
Messages
306
Trophies
1
Age
34
Location
Memememe Island
XP
1,280
Country
Thailand
It seems that my translation project has spawned dozens of newbs who wish to learn how to translate ROMs. This isn't something that you can learn in a day...or even a week.

To learn how to translate, you must first learn how to hack. There are two great sites on that subject and both of them are run by an expert in the field. First off there's www.romhacks.net the site for beginners. They list several step-by-step tutorials to teach you basic methods of replacing text, images and more. After you've studied everything you can on that site it's time to learn some advanced techniques. That's were www.romhacking.net comes into play. They offer advanced tutorial and utilities.

If you'd rather have something you could print off and read from, then FAST6191 has you covered. He's released a tutorial called "ROM Hacking 101" to all of those who wish to learn the basics. FAST has plenty of experience in ROM hacking and his tutorial is great for newbs and vets alike. You can grab it from here. You'll need Adobe Reader to open the file, so grab that if you don't already have it.

Those sites and tutorials will teach you almost everything neccessary to perform a simple translation. Learn, study, translate and then post your work here so everybody can enjoy it.

tl;dr - www.romhacks.net / www.romhacking.net / FAST6191's - ROM Hacking 101 Tutorial
 
D

Deleted User

Guest
One of the thing I can't put more emphasis on : to translate efficiently you have to know how to code. There's two main reasons for this : if you know how to code, and have already tried to define your own file format for storing data, then you'll find it really easy to guess the structures used on some files. The other thing is that knowing how is packed the data is of no use if you don't have a mean to give an efficient method of replacing text or graphics for your translators.

So it might sound a bit harsh, but don't try to do a real rom translation if you don't have real programming skills.

Also I have to add that releasing a translation patch is smoothing a lot the process. It reduces the work done to replacing some part of the rom and moving some others, and so it can appeal to some as a quite easy process... It's really not the case, to make a translation you have to go by a very long phasis of trial and error, then you've to write the tools, then you have the debugging part that is really exhausting. Take all of this into consideration before attempting a translation. As a final note, people who will use your patch are often quite noobish and won't give you a lot of feedback. So be sure you want to do this for yourself (either that you want the translation or your want to learn some skills) and not to get some fame. If you want the latter go make a good homebrew.
 

kenshin9

Member
Newcomer
Joined
Mar 22, 2007
Messages
13
Trophies
1
XP
119
Country
United States
I've been thinking about learning how to program. I was originally a computer science major at my university, but the requirements were becoming too much for me at the time. Programming and the idea of rom hacking has always been interesting to me. Now it has become something that I would like to put my time into and learn.

The question I have is: Where should I begin? Or, which programming language should I read up on and learn first? I've read a lot of different opinions from different people. Some people say to start with QBasic, but then others say not to because it's obsolete. Others say Pascal, and others say to jump right into C++. I figured I'd ask people that are actually into rom hacking and know what they're doing.

Any replies would be appreciated. Thanks.
 

Grimalkin

Waaaaaaaah!
Member
Joined
Jun 9, 2006
Messages
1,173
Trophies
0
Website
Visit site
XP
141
Country
Canada
I've been thinking about learning how to program. I was originally a computer science major at my university, but the requirements were becoming too much for me at the time. Programming and the idea of rom hacking has always been interesting to me. Now it has become something that I would like to put my time into and learn.

The question I have is: Where should I begin? Or, which programming language should I read up on and learn first? I've read a lot of different opinions from different people. Some people say to start with QBasic, but then others say not to because it's obsolete. Others say Pascal, and others say to jump right into C++. I figured I'd ask people that are actually into rom hacking and know what they're doing.

Any replies would be appreciated. Thanks.

Well, it depends. A lot of polytechnics nowadays put you into C first.

I started with C then went Java/C++

From C++ I went php.

From Java, I learned SQL.

(After you learn one or two languages, it's really easy to get into another language.)

Then I went to learn lisp (Lost in Stupid Parenthesis) and Assembler (Currently learning, I've been out of Uni for a long time now and it feels weird to go back).

EDIT: Btw, if you learn Assembler, you really start to understand programming, and how it works in the low-level part down to the 1's and 0's of byte code that your machine can understand. Personally, I would recommend learning it if you want to become a good programmer.

Remember, learning programming can be difficult and you may spend many days trying to wrap your head around some of the ideas. Don't take minor details for granted, they made end up being important in the long run.
 
D

Deleted User

Guest
python is the language of choice for rom hacking. It can handle binary string very well and also sjis or unicode encoded ones.
ARM assembler can be learned just by looking at some reversed code.
 

kenshin9

Member
Newcomer
Joined
Mar 22, 2007
Messages
13
Trophies
1
XP
119
Country
United States
I see. Thanks for the input guys. I forgot to mention Python. I was thinking about starting out with that before. This should be interesting.
 

litium

Well-Known Member
Member
Joined
Mar 19, 2008
Messages
196
Trophies
0
Age
32
Location
Argentina
XP
112
Country
Argentina
Also, for starting, is really NECESARY that your computer can read Jap characthers. (Mine, cant, even tough i've have JAP installed U_U). Also, NDS hacking is quite different from NES hacking. You need to unpack the rom, browse trough files... and all that. I'm still a noob. The best way to start is hacking ENG roms. Change some text, images, etc.

I'm still unable to replace images with crystaltile2 so, i'm that useless. Altough i managed to view NGCR files with TileED 2002 but i was too lazy to add the pallete manualy.
 

Sp33der

Well-Known Member
Member
Joined
May 31, 2008
Messages
435
Trophies
0
XP
78
Country
Netherlands
well the folder namesmake it a lil bit easier, if you see a /skills folder you immidiatly know where the skills are
tongue.gif


I know Python no need for others when it comes to hacking tbh, also reccomend it for beginners.I'm still bad with graphics hacking
frown.gif
, i think there should be more docs about DS.
 

nIxx

Well-Known Member
Member
Joined
Sep 30, 2007
Messages
1,544
Trophies
0
Location
Germany
Website
Visit site
XP
337
Country
Gambia, The
FAST6191 said:
My 4shared site is still around:
http://www.4shared.com/file/3636881/1f5f088d/rom101.html

I have however spent the last few months updating it (but I have not released it yet) so that version is looking pretty outdated.


Hi
thank you for the guide.
At the Moment i playing a bit around woth TileEd and CrystalTile2.
Know i have another question i saw in the CrystalTile2 thread that anyone wanted to translate it. Is there an release ?
And how can i change the palette i tried to export the Palette in TileEd and then import it in CrystalTile2 but nothing changed !?
nIxx
 

psycoblaster

Divine
Member
Joined
Jan 26, 2008
Messages
2,131
Trophies
0
Age
33
Location
Seoul.. (in Korea)
Website
Visit site
XP
211
Country
nIxx said:
FAST6191 said:
My 4shared site is still around:
http://www.4shared.com/file/3636881/1f5f088d/rom101.html

I have however spent the last few months updating it (but I have not released it yet) so that version is looking pretty outdated.


Hi
thank you for the guide.
At the Moment i playing a bit around woth TileEd and CrystalTile2.
Know i have another question i saw in the CrystalTile2 thread that anyone wanted to translate it. Is there an release ?
And how can i change the palette i tried to export the Palette in TileEd and then import it in CrystalTile2 but nothing changed !?
nIxx
FAST did a crystaltile translation (I think)
I also made an english language file. Ask Noitora, because I gave it to him and I deleted mine :|
CrystalTile2 can import palette files in only certain files, such as pal/act , and other DS supported palettes such as NLCR.
A BMP image palette is also supported.
If I remember correctly, photoshop also uses act palettes.
http://mfiles.naver.net/6cbd598094cda1173f...mp2pal_v1.0.zip
This is a utility that changes a bitmap palette into an act palette.
http://cafefiles.naver.net/data26/2007/8/1...F%EB_mbox32.png was changed into a palette.
Result:
http://cafefiles.naver.net/data26/2007/8/1...F%EB_mbox32.png

http://cafefiles.naver.net/data26/2007/8/1...7%C3_mbox32.png
it's done by editing this file.
You just edit this file using the colors from the pic (you can use the 'fill' function in mspaint to help)
But really, all this isn't really required though.

What i'm basically saying is that crystaltile only supports certain types of palettes.
 

psycoblaster

Divine
Member
Joined
Jan 26, 2008
Messages
2,131
Trophies
0
Age
33
Location
Seoul.. (in Korea)
Website
Visit site
XP
211
Country
Noitora said:
psycoblaster said:
Noitora said:
Hmm, I didn't know you could import act palettes from crystaltile, this saves me a from lot of troubles :/
Where the heck do you import them from? D:
on your left section, click on the palette tab and click on import.
Aha, thankies, really helpful
smile.gif
no problem
biggrin.gif
 

litium

Well-Known Member
Member
Joined
Mar 19, 2008
Messages
196
Trophies
0
Age
32
Location
Argentina
XP
112
Country
Argentina
Psycoblaster, sorry to be so anoyying. It would be great if you make a Crystaltile2 guide. you seem to know alto of this program and it looks raelly helpful. But i cant understand it to much.

Also, anyone knows how to display JAP chars. on XP?
 

psycoblaster

Divine
Member
Joined
Jan 26, 2008
Messages
2,131
Trophies
0
Age
33
Location
Seoul.. (in Korea)
Website
Visit site
XP
211
Country
litium said:
Psycoblaster, sorry to be so anoyying. It would be great if you make a Crystaltile2 guide. you seem to know alto of this program and it looks raelly helpful. But i cant understand it to much.

Also, anyone knows how to display JAP chars. on XP?
It should be there by default.
I'm not THAT good on crystaltile2 - I think FAST knows more about it than me. But CrystalTile is also the main tool used for Korean romhacking so I still know enough about it for translation purposes.
Also, I recommend a program called CrystalScript, which is one of my favorite text dumping utilities.
And also, the reason why you can't see the japanese characters on your viewer/hex editor is probably because of the encoding.
In crystaltile2, there are several main inbuilt code tables, including the widely used unicode and s-jis.
When you load a table file, make sure you choose the encoding properly.
 

litium

Well-Known Member
Member
Joined
Mar 19, 2008
Messages
196
Trophies
0
Age
32
Location
Argentina
XP
112
Country
Argentina
Ohhh i see. I've got those tables so i¡ll use them. Thanks alot!

Hey! Guess what! I got my first gfx hack working ^^. Thanks to Noitora and psycoblaster i'm starting to understand CT2 (Also by looking around in the program helped me very much). Here's a screenie:

imagen026fv8.png


When i'm able to see JAP chars, i'll se what can be translated of the ROM.

PS: Anyone haves a S-JIS table?

Thanks everybody!
biggrin.gif
 

psycoblaster

Divine
Member
Joined
Jan 26, 2008
Messages
2,131
Trophies
0
Age
33
Location
Seoul.. (in Korea)
Website
Visit site
XP
211
Country
litium said:
Ohhh i see. I've got those tables so i¡ll use them. Thanks alot!

Hey! Guess what! I got my first gfx hack working ^^. Thanks to Noitora and psycoblaster i'm starting to understand CT2 (Also by looking around in the program helped me very much). Here's a screenie:

imagen026fv8.png


When i'm able to see JAP chars, i'll se what can be translated of the ROM.

PS: Anyone haves a S-JIS table?

Thanks everybody!
biggrin.gif
there is an inbuilt sjis table in crystaltile2. But you can also go to google and type in sjis.tbl
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    Xdqwerty @ Xdqwerty: good night