Rom: Tales of Hearts DS Anime Edition
Hi,
I'm still very new to romhacking. I am currently working on Tales of Hearts DS to translate in English.
Most of the menu text is in arm9.bin. I first used CrystalTile2 to do the following steps
1) Open Crystaltile2, decompress Arm9.bin
2) Translate a string
3) Open Crystaltile2, replace arm9.bin with the compression option
These steps works most of the time. (Sometimes, I do get the infamus, file is too small blabla when compressing arm9.bin), but I had a lot of success with this method.
I was able to translate most of the main menu.
The thing is this method is relatively manual and I would like to have a one click batch file to create a new NDS rom with my arm9.bin translated to test it in Desmume.
I read a lot of different romhacking sites and found out that the arm9.bin file used some kind of BLZ compression than be compress/decompressed using CUE's tool.
So what I did is
1) Unpack the original nds rom using ndstool in a folder
2) Decompress arm9.bin using Cue's tool
blz -d arm9.bin
3)Translate a string
4) Recompress using cue's tool
blz -en9 arm9.bin
5) Create the new rom using ndstool
When I do these steps, the game stays on a black screen when I open it. I'm not even able to see the Namcobandai title.
- Decompresing arm9.bin using Cue's tool works perfectly.
- I already did some test and I'm able to use desmume to open the memory view, find my string and hex edit and this works
- When I say translate a string in my steps, I'm basically hex editing the file with hxd, not updating any pointers and padding with 00s
What I also tried:
1) Take arm9.bin from Tinke
2) Decompress arm9.bin using Cue's tool
blz -d arm9.bin
3)Translate a string
4) Recompress using cue's tool
blz -en9 arm9.bin
5) Replace the file in Tinke and save the rom
Using Tinke will work when I just hex edit a simple string. If I try to update the pointers and update more strings, I'll still get a black screen and the game won't load.
Is it that I'm not using properly cue's tool to recompress the arm9.bin?
Maybe there are some steps required?
Thank you for all your help!
To add more information, The command I uses with ndstool are the following. They have been taken from DSLazy batch files.
- Unpack the rom
ndstool -x TOH_Original.nds -9 NDS_UNPACK/arm9.bin -7 NDS_UNPACK/arm7.bin -y9 NDS_UNPACK/y9.bin -y7 NDS_UNPACK/y7.bin -d NDS_UNPACK/data -y NDS_UNPACK/overlay -t NDS_UNPACK/banner.bin -h NDS_UNPACK/header.bin
- Pack the rom
ndstool -c new.nds -9 NDS_UNPACK/arm9.bin -7 NDS_UNPACK/arm7.bin -y9 NDS_UNPACK/y9.bin -y7 NDS_UNPACK/y7.bin -d NDS_UNPACK/data -y NDS_UNPACK/overlay -t NDS_UNPACK/banner.bin -h NDS_UNPACK/header.bin
Also, I'm not sure if this is the expected behavior but the new size of the rom is lower than the original.
Original: 262144Kb
New: 242 524Kb
Thank you!
Hi,
I'm still very new to romhacking. I am currently working on Tales of Hearts DS to translate in English.
Most of the menu text is in arm9.bin. I first used CrystalTile2 to do the following steps
1) Open Crystaltile2, decompress Arm9.bin
2) Translate a string
3) Open Crystaltile2, replace arm9.bin with the compression option
These steps works most of the time. (Sometimes, I do get the infamus, file is too small blabla when compressing arm9.bin), but I had a lot of success with this method.
I was able to translate most of the main menu.
The thing is this method is relatively manual and I would like to have a one click batch file to create a new NDS rom with my arm9.bin translated to test it in Desmume.
I read a lot of different romhacking sites and found out that the arm9.bin file used some kind of BLZ compression than be compress/decompressed using CUE's tool.
So what I did is
1) Unpack the original nds rom using ndstool in a folder
2) Decompress arm9.bin using Cue's tool
blz -d arm9.bin
3)Translate a string
4) Recompress using cue's tool
blz -en9 arm9.bin
5) Create the new rom using ndstool
When I do these steps, the game stays on a black screen when I open it. I'm not even able to see the Namcobandai title.
- Decompresing arm9.bin using Cue's tool works perfectly.
- I already did some test and I'm able to use desmume to open the memory view, find my string and hex edit and this works
- When I say translate a string in my steps, I'm basically hex editing the file with hxd, not updating any pointers and padding with 00s
What I also tried:
1) Take arm9.bin from Tinke
2) Decompress arm9.bin using Cue's tool
blz -d arm9.bin
3)Translate a string
4) Recompress using cue's tool
blz -en9 arm9.bin
5) Replace the file in Tinke and save the rom
Using Tinke will work when I just hex edit a simple string. If I try to update the pointers and update more strings, I'll still get a black screen and the game won't load.
Is it that I'm not using properly cue's tool to recompress the arm9.bin?
Maybe there are some steps required?
Thank you for all your help!
Post automatically merged:
To add more information, The command I uses with ndstool are the following. They have been taken from DSLazy batch files.
- Unpack the rom
ndstool -x TOH_Original.nds -9 NDS_UNPACK/arm9.bin -7 NDS_UNPACK/arm7.bin -y9 NDS_UNPACK/y9.bin -y7 NDS_UNPACK/y7.bin -d NDS_UNPACK/data -y NDS_UNPACK/overlay -t NDS_UNPACK/banner.bin -h NDS_UNPACK/header.bin
- Pack the rom
ndstool -c new.nds -9 NDS_UNPACK/arm9.bin -7 NDS_UNPACK/arm7.bin -y9 NDS_UNPACK/y9.bin -y7 NDS_UNPACK/y7.bin -d NDS_UNPACK/data -y NDS_UNPACK/overlay -t NDS_UNPACK/banner.bin -h NDS_UNPACK/header.bin
Also, I'm not sure if this is the expected behavior but the new size of the rom is lower than the original.
Original: 262144Kb
New: 242 524Kb
Thank you!
Last edited by TheCopulator,