Hex Editing Japanese Text. - Famicom fun...

This is an archive of a topic from NESdev BBS, taken in mid-October 2019 before a server upgrade.
View original topic
Hex Editing Japanese Text. - Famicom fun...
by on (#75968)
I played around with advice I have learned from previously. I have a question about a project I am working on, i added a couple screen shots on where I am starting. My question is if you think this will work and if not what can I change to make this work?

My goal for right now.
Image


What I am working with........
Image

*Build my character table -(I have found the complete english alphabet capitalized with in the game and added this to the table, and considered making the entire translation capitalized so no graphic editing needed. Though i thought that would might cause problems possibly to large and taking to much room possible? That and might as well try to do it right.)

Image
*Write out the complete text of the game (or see if anyone who has done it already will work with me if possible.)

*Follow each word in the script with the code it uses and write it under each word in script.

*Replace Japanese character graphic with an english lower case character graphic till lower case alphabet complete.

*Use english translations done in accordance with the script and write the new code under each english translation changes that will be made.

*Open rom in hex editor and follow the japanese script and follow first word in script by entering the code written earlier in a search in the hex editor when highlighted enter new code translation if need less words work with script or more words to fit use blanks?

Think it might work or will it bomb because of something i am missing in my logic of how it works? :lol: :shock:

by on (#75969)
Technically this depends on the game.
Your method will work, if the game is simple enough.

Since Akira is a (possibly) text-heavy adventure game it is quite possible that the texts are all compressed in the ROM, so unless you figure out the compression scheme and decode the messages you may not be able to find the texts from it.

Another problem is space. In general Japanese messages occupy much less characters than English (this is the case for most Eastern vs Western languages), so you may not be able to accurately translate a line within the original number of characters most of the time. For example, in your first screen shot, the first four characters "so no yo ru" translates to something like "that night", which takes 10 characters (including the space), so unless you use funny internet abbreviated languages such as "u r g8!" you may need to do surgery in expanding the size of the ROM (which will involve much work as this also messes with the addresses of the messages and the like). Not to mention that sometimes the original text boxes are not big enough to display the translated messages, and that means more work.

So, while it is not difficult to do graphic hacks and message hacks on certain simple games it may not be the case for all games and "professional" translation hacks often involve lots of tweaks and changes to make things work.

by on (#75971)
Awesome, Gilbert that is exactly what I was wondering and was one of my concerns about the diffrences in languages. Do you know of a resource I can read up on which you have mentioned of heavy changes? I know this wont happen right away but I am interested in doing what I can over time.

If someone else comes out with it before I get to it, then I would be happy!! mission acomplished!! Although I will keep working at this till I finish unless something happens unforseen. (knock on wood)

I do not have a script yet but I have been watching this on youtube trying to figure how much space will the english have to take up it has given me and idea what I am up against. I do think if i cut things short it would serve its purpose but i think I rather keep learning and find fixes.

That vid on youtube. Kudos who has done this video for Akira! Most excellent!! As well as much apreciated. http://www.youtube.com/watch?v=ErRnmdMRK9A

by on (#75973)
www.romhacking.com covers most of such activities nowadays. There are also an assortment of tools to aid one on rom hacking. Just pick random entries of translation projects and check their description on how and what they have changed to get some ideas.

by on (#75974)
Gilbert wrote:
www.romhacking.com covers most of such activities nowadays. There are also an assortment of tools to aid one on rom hacking. Just pick random entries of translation projects and check their description on how and what they have changed to get some ideas.


Thanks Gilbert I apreciate it, I will see what I can find on the subject. I edited my last post with an addition of a youtube video that is pretty cool.

by on (#75975)
Awesome site!

I remember this one Chocoman did years ago, I remember i was stoked and he was heading in a good direction. WHat happen to Chocoman?

Oh now see, it says that Dark-Trans is 90% done with the Patch. I thought this was for the script.

(The patch is around 90% done now and had some assembly work done by RedComet, and the script translated by Niahak. Currently undergoing script editing, and MTE optimization)

Script editing, assembly work and MTE optimization is what you must have beent talking about Gilbert? I would guess assembly work more than anything due to the text diffrences.

I hope these guys finish this translation successfully I will be greatfull for sure as will many others. Till then I am gonna keep hacking away at this.

by on (#75980)
Khyron wrote:
I remember this one Chocoman did years ago, I remember i was stoked and he was heading in a good direction. WHat happen to Chocoman?


He took up doing drugs on a regular basis, started "DJing", promoting use of drugs (I'm not talking about weed either) on IRC, his girlfriend/fiance/wife/whatever left him, and he continued on his downward spiral. That's all I know.

By the way, if you guys can't find someone who does 6502/assembly work for this romhack, let me know and I can work on it in my spare time. However, keep in mind "spare time" means I'm often busy for weeks on end (day job at Microsoft of very high stress), and tend to spend my weekends relaxing/not thinking about work. But I sorta miss doing ""simple"" translation stuff like this for folks. If you need someone dedicating day in/day out to the project, finding someone else would be much wiser.

Which reminds me, I have a romhacking project of my own I need to spend some time on, except it's for the SFC/SNES and the author company wrote some pretty amazing/optimised code that takes some serious dedicated focus to figure out. Gideon Zhi gave me some helpful tips but chose to stay away from working on it due to its complexity. I still have all my disassembly and reverse-engineering notes...

by on (#75985)
koitsu wrote:
Khyron wrote:
I remember this one Chocoman did years ago, I remember i was stoked and he was heading in a good direction. WHat happen to Chocoman?


He took up doing drugs on a regular basis, started "DJing", promoting use of drugs (I'm not talking about weed either) on IRC, his girlfriend/fiance/wife/whatever left him, and he continued on his downward spiral. That's all I know.

By the way, if you guys can't find someone who does 6502/assembly work for this romhack, let me know and I can work on it in my spare time. However, keep in mind "spare time" means I'm often busy for weeks on end (day job at Microsoft of very high stress), and tend to spend my weekends relaxing/not thinking about work. But I sorta miss doing ""simple"" translation stuff like this for folks. If you need someone dedicating day in/day out to the project, finding someone else would be much wiser.

Which reminds me, I have a romhacking project of my own I need to spend some time on, except it's for the SFC/SNES and the author company wrote some pretty amazing/optimised code that takes some serious dedicated focus to figure out. Gideon Zhi gave me some helpful tips but chose to stay away from working on it due to its complexity. I still have all my disassembly and reverse-engineering notes...


Damn that really sucks for Chocoman it is so easy sometimes to make a bad decisions in life . I hope he is doing better.

Also, that would be awesome koitsu and greatly apreciated as I am inexperienced in that subject and it will take me some time to learn on the side. As for your time range of things bieng worked on that is actually great I definetly can wait for things. Thank you for the offer this one more step closer to getting this together.

I am going to try to contact Dark-Trans and see if he gave up on his project or if he is sill trying to complete this, overall the main goal i want to see is the actual game translated for all of us to play. If it is truely done 90% then that would be cool to help him out if needed to complete if he would like that.

Thank you both for all the help and i will post up here whats up next.

by on (#75986)
:o

Looks like my main goal is almost to its completion guys thanks to Dark-Trans, I just got done talking to Dark-Trans via email and I am extremely happy to say that he is complete with the patch and it is bieng tested right now due to all the options in this game to make sure it is all working well.

Mission acomplished, Akira playable for the english speaking masses thanks to the guys(gals) who worked on that project with Dark-Trans. I apreciate all the help Gilbert with the information on what I was getting into with text changes in this game. Also, thank you koitsu for offering your experience in 6502/assembly in efforts to see the completion of a Akira Translation.

I hope you all don't find that this was a waste as I have learned much from this thread and I am greatful for the input and the offered assistance in trying to work to this goal.

I am looking foward to that Akira Patch release as I have been for years and was my drive to do wanting to do this. I am gonna go think about what I can do next.

-Khyron

Huurray for a Akira English Translation. HUUURRAY! *crosses fingers* :lol:

by on (#75989)
Doesn't look like I'll be making an NES repro cart of this thing anytime soon :D It uses Mapper 33. Maybe next we should work on an MMC3 port?

by on (#75990)
qbradq wrote:
Doesn't look like I'll be making an NES repro cart of this thing anytime soon :D It uses Mapper 33. Maybe next we should work on an MMC3 port?


MMC3 Port, What would that involve exactly? Also is there any cartridges that use that mapper 33 that can be reprogramed?

by on (#75991)
There are no US cartages that use mapper 33. It is a Japan-only mapper used exclusively by Taito games NESCartDB Reference for Mapper 33.

Licensed US games were mostly restricted to using official Nintendo mappers and boards, like NROM, A*ROM, U*ROM, MMC1, MMC3 and MMC5.

To "port" a game from one mapper to another requires assembly hacks. The few that I have played with are not terribly complicated. You just identify the routines in the game that manipulate the mapper, then rewrite those routines to interface with a different mapper.

In the case of Mapper 33 to MMC3 it might be a little more complicated. Using MMC3 will require a small bit of initialization code to be inserted into the reset routine, and the routines that swap banks will require more instructions. This means you would need to identify an unused portion of the fixed bank to relocate those routines to, or somehow reduce the amount of program code or data somewhere to make room.

It can certainly be done. I might work on that once the translation comes out (assuming I like the game, I loved the movie).

by on (#75995)
qbradq wrote:
There are no US cartages that use mapper 33. It is a Japan-only mapper used exclusively by Taito games NESCartDB Reference for Mapper 33.

Licensed US games were mostly restricted to using official Nintendo mappers and boards, like NROM, A*ROM, U*ROM, MMC1, MMC3 and MMC5.

To "port" a game from one mapper to another requires assembly hacks. The few that I have played with are not terribly complicated. You just identify the routines in the game that manipulate the mapper, then rewrite those routines to interface with a different mapper.

In the case of Mapper 33 to MMC3 it might be a little more complicated. Using MMC3 will require a small bit of initialization code to be inserted into the reset routine, and the routines that swap banks will require more instructions. This means you would need to identify an unused portion of the fixed bank to relocate those routines to, or somehow reduce the amount of program code or data somewhere to make room.

It can certainly be done. I might work on that once the translation comes out (assuming I like the game, I loved the movie).


I got to keep going on this 6502/assembly learnin. Well that would be cool if you ported it to a easier accesible format, just wondering though, why did you pick MMC3 if you dont mind me asking? :idea:

by on (#75996)
MMC3 is a good fit, since mapper #33 is about equivalent to MMC3.
For PRG, it has two 8k switchable banks at the beginning, and a fixed 16k bank at the end.
For CHR, it has two 2k CHR banks, and four 1k CHR banks.

* referring to Mapper #33 in this post.

by on (#75997)
Dwedit wrote:
MMC3 is a good fit, since mapper #33 is about equivalent to MMC3.
For PRG, it has two 8k switchable banks at the beginning, and a fixed 16k bank at the end.
For CHR, it has two 2k CHR banks, and four 1k CHR banks.


Cool, thanks for informing me, that makes sense.