Romhacking.net

Romhacking => ROM Hacking Discussion => Topic started by: jordiway73 on March 06, 2017, 01:44:55 pm

Title: Famicom Disk System Zelda ENG Translation (Finished)
Post by: jordiway73 on March 06, 2017, 01:44:55 pm
Current Build: http://www.romhacking.net/translations/2958/

patch with rom ver 1.1

Thanks

March 11, 2017, 12:03:54 am - (Auto Merged - Double Posts are not allowed before 7 days.)
(http://i64.tinypic.com/30w9r34.png) (http://i66.tinypic.com/1qgav5.jpg) (http://i67.tinypic.com/svmedu.png) (http://i65.tinypic.com/rsgao3.png) (http://i64.tinypic.com/2z9e5gg.png)

just wanted to share some pics still trying to figure out how to edit the in-game text
Title: Re: FDS Zelda eng translation Need Help finding some text
Post by: jordiway73 on March 18, 2017, 11:09:06 pm
I would like to thank FlashPV for editing the title screen and the letter

(http://i65.tinypic.com/2afwzf4.jpg) (http://i68.tinypic.com/21euwhu.jpg)

Title: Re: FDS Zelda eng translation Need Help finding some text
Post by: rainponcho on March 20, 2017, 10:20:41 pm
Notes:
Spoiler:
Zelda no Densetsu - The Hyrule Fantasy (Japan) (v1.1).fds

Found a text ptr table @ rom 1331e - 13342.

1331e = 23 b7 ==> b723 ==> 13342 rom  [text = take wooden sword]


String looks like this:
1e 17 2b 56 1d 0a 0c 30 4f
==>
42 3b 4f 3a ..

1e + 24 = 42
17 + 24 = 3b
2b + 24 = 4f
56 & 3f = 16 + 24 = 3a

FF = newline


If you want to reposition the text left some more, here's a sample asm edit.

move text left 8 tiles:
rom 13f5c = f0 ==> e8
rom 13f20 = b0 ==> a8
rom 13f92 = b0 ==> a8


After that, you're on your own.
Title: Re: FDS Zelda eng translation Need Help finding some text
Post by: jordiway73 on March 21, 2017, 02:49:34 am
Thank you rainponcho, this is very helpful indeed

The current build (3-21-17), fixed the header and the game menu screens


(http://i68.tinypic.com/90qgc5.png) (http://i68.tinypic.com/f9pco9.png)
Title: Re: FDS Zelda eng translation Need Help finding some text
Post by: KingMike on March 21, 2017, 12:46:13 pm
A fact that's easier to see on the cartridge version (which used the NES font): the Japanese version has two zeros on the name screen and no 'O'. ;D
Title: Re: FDS Zelda eng translation Need Help finding some text
Post by: jordiway73 on March 28, 2017, 03:50:37 am
I would like thank rainponcho for all of his help, most of this would not be possible without his help.

This is the new weapons menu after he showed me how too add an extra letter to the word TRIFORCE. Things are moving along quite well. I'm not sure if there is enough empty space to do a complete accurate translation but we shall see.

(http://i65.tinypic.com/o9rggp.png) (http://i63.tinypic.com/b8oh3d.png)
Title: Re: FDS Zelda eng translation (Need some testers)
Post by: jordiway73 on April 08, 2017, 08:14:16 am
Sadly a 100% accurate translation is not possible, there just isn't enough space to work with so a lot of text had to be shortened, with that being said

The Overworld text is finished I went through it a few times and didn't see any mistakes but I am hoping I can get a few testers to help verify this,
the link has been updated with the current build, thanks!
Title: Re: FDS Zelda eng translation (Need some testers)
Post by: Asaki on April 10, 2017, 09:04:21 am
Sadly a 100% accurate translation is not possible, there just isn't enough space to work with so a lot of text had to be shortened...

Are you retranslating it, or using one of the two official English translations?
Title: Re: FDS Zelda eng translation (Need some testers)
Post by: jordiway73 on April 10, 2017, 04:04:44 pm
I'm almost finished, I just have to play through both worlds one more time. When I am finished I will probably never play this game again lol


(http://i66.tinypic.com/2djtc6.png)

April 17, 2017, 06:10:41 am - (Auto Merged - Double Posts are not allowed before 7 days.)
After playing through the whole game two times I have found no errors, I made a few small changes to the font of (the Letter Y and the number 4).

(http://i64.tinypic.com/2j491tw.png)   (http://i63.tinypic.com/8zfsso.png)

I will submit this in the next few days its going to take some time to write the read me file. I have a lot of info I want to document incase anybody wants too modify it in the future, thanks.
Title: Re: Famicom Disk System Zelda ENG Translation (Finished)
Post by: rainponcho on April 17, 2017, 08:39:07 am
Awesome.

I'll wait for your translation to clear before posting the standalone secret chime door patch change - sometimes I get ahead of myself with others' works and goofed the other person before.
Title: Re: FDS Zelda eng translation (Need some testers)
Post by: Spinner 8 on April 17, 2017, 11:58:48 am
(http://i64.tinypic.com/2j491tw.png)

This... won't be in the submitted patch, will it
Title: Re: Famicom Disk System Zelda ENG Translation (Finished)
Post by: jordiway73 on April 17, 2017, 12:21:46 pm
Here is a side by side comparison 1st quest ending of the FDS version and the NES version and the one I translated.

(http://i63.tinypic.com/35j9hlt.png) (http://i68.tinypic.com/30cucjr.png) (http://i64.tinypic.com/2j491tw.png)

As stated earlier in this thread there is no extra space in this rom, therefore I had to make due with what I had to work with, is it great NO, but I don't think its all that bad either!
(notice how Link and Zelda disappear in the FDS version after they hold up the two pieces of triforce)

2ND quest ending, the only thing added was (END OF "ZELDA 1") and I changed the letter Y because it looked funny

(http://i67.tinypic.com/k3sj07.png)  (http://i63.tinypic.com/8zfsso.png)


If you can improve it please feel free to do so!!!!!!!!!!
Title: Re: Famicom Disk System Zelda ENG Translation (Finished)
Post by: rainponcho on April 17, 2017, 02:00:01 pm
Yes.

jordiway73 copy-pasted the original official nes "Engrish" script where possible. Due to space limitations (fds ram overlays), much was cut and shortened.

Given the revised aim and style (later decided after text limits), sure.


If someone writes a review about this translation, specifically blame me (rainponcho) for doing a weak, quarter-baked applesauce job of trying to expand the text space for jordiway73. I have no defense, explanation or excuse. And I feel queasy comfortable, knowing there are alternative better scripts out there.

If someone wants to obliterate what I did, readme should have a technical diary on what went wrong. And could be done better.
Title: Re: Famicom Disk System Zelda ENG Translation (Finished)
Post by: azoreseuropa on April 17, 2017, 03:47:58 pm
Here is a side by side comparison 1st quest ending of the FDS version and the NES version and the one I translated.

(http://i63.tinypic.com/35j9hlt.png) (http://i68.tinypic.com/30cucjr.png) (http://i64.tinypic.com/2j491tw.png)

As stated earlier in this thread there is no extra space in this rom, therefore I had to make due with what I had to work with, is it great NO, but I don't think its all that bad either!

2ND quest ending, the only thing added was (END OF "ZELDA 1") and I changed the letter Y because it looked funny

(http://i67.tinypic.com/k3sj07.png)  (http://i63.tinypic.com/8zfsso.png)


If you can improve it please feel free to do so!!!!!!!!!!

Your version is so much better than Nintendo version and more accurately. Congratulations. Can't wait for the patch 100% available. Huge fan of Zelda games!
Title: Re: Famicom Disk System Zelda ENG Translation (Finished)
Post by: tc on April 17, 2017, 03:53:05 pm
Personally... if I had to choose between FDS with the official text, or NES with an extremist script overhaul to the degree someone stepped into a time machine and shot down the board meeting at Nintendo of America about translating the game, I'd choose the latter.
Title: Re: Famicom Disk System Zelda ENG Translation (Finished)
Post by: KingMike on April 17, 2017, 05:25:06 pm
Tomato found out that after 30 years, they fixed the spelling of "PENINSULA" on the NES Mini. :P

(and they managed to botch the copyright text on the ending screen of FDS Zelda, on the Famicom Mini. ",1986 NINTENDO". Can only guess they intended to update the copyright date and something went wrong.)
Title: Re: Famicom Disk System Zelda ENG Translation (Finished)
Post by: rainponcho on April 19, 2017, 12:32:15 pm
Pondering over ram overlays some more. I think at boot time Side A loads the sound engine for both overworld / underworld. Which could mean that it holds sfx for both areas, and possibly even main music themes.

We know that dungeons (underworld) containts lots of sfx not used by overworld. So maybe it's possible to replace those "unused" wavetable data with expanded dialogue text. And when dungeon PRG gets loaded, load another file with the cut dungeon sounds. Longer load times but it gets the job done.

Dungeons have less text than overworld so not as much needs to be cut out I suppose.

This is all just fantasy thinking and not fully thought out (haven't done hard research). Throwing it out there in case someone throws it along further.
Title: Re: Famicom Disk System Zelda ENG Translation (Finished)
Post by: Pennywise on April 19, 2017, 01:10:03 pm
Do you think there's enough room to add all the code etc for Huffman compression? Given how limited space is, even if you added more space, compression still might be your best bet.
Title: Re: Famicom Disk System Zelda ENG Translation (Finished)
Post by: rainponcho on April 19, 2017, 02:02:30 pm
iirc, original overworld constraints had like ~20 free space bytes - which was used to fix the Triforce letters.

00-3F = normal letter
40-7F = letter + mark
80-BF = letter + ws
C0-FE = letter + end string
FF = newline

You could save maybe a few bytes by optimizing some unused code out but it was not good.

Thought about taking a cheap dte way out but adding in new code would eat up enough overhead space to make me stop before bothering trying.

I didn't work on actual script replacement but I don't remember seeing much there to begin with. Especially with the re-translation scripts.


Huffman.. I sorta remember what it is but storing the tree + table could crash the party right now.

Small lightbulb moment.

Let me walk that back a bit - script uses only uppercase letters (26) + misc (ws, period, comma, exclamation, newline, eos). 5 bits per char, or say 6-7 for emergency extended modes.

Overworld, underworld will have different encoding tables - by file design.

Text printing has like ~5-6 frame delay between letters.

Let's say overall 5/8 = 62.5%. So ex. 256 ~=> 409 = +153 gain - 40-50 tree data = +100~


Honestly I don't know anymore - maybe there is some glimmer. But this isn't something I'd want to pick up for awhile (lots of months). Learning time, curve, time spent, chance of fail. Seems like a longer-term project - tools, further hack research, debugging. My own frustrating schedules. Not some fast and easy project to scarf down. :|

Who knows - maybe both techniques will have to be used. :o

(I guess this is why I try to stay out of translation hacking - dedicated honcho or sous-chef level)


edit: Thanks for pulling out the idea though. Interesting brainstorm.
Title: Re: Famicom Disk System Zelda ENG Translation (Finished)
Post by: Pennywise on April 19, 2017, 02:33:07 pm
No problem. Huffman has been used a few times in commercial games, Uninvited and Battletoads I think, and also in Redcomet's DBZ NES fan translations. His source code is hosted in the documents section if you're curious.

But man did I luck in the current FDS game I'm translating. The last $1000 bytes or so of the RAM overlay was unused by the game. Woo!
Title: Re: FDS Zelda eng translation (Need some testers)
Post by: Asaki on April 20, 2017, 08:20:12 am
After playing through the whole game two times I have found no errors, I made a few small changes to the font of (the Letter Y and the number 4).

As Spinner 8 subtly pointed out, "you're" is spelt wrong.

What's wrong with those two characters? They look fine to me, but an easy change to revert if one desires.
Title: Re: Famicom Disk System Zelda ENG Translation (Finished)
Post by: jordiway73 on April 20, 2017, 01:51:50 pm
Your is spelled wrong on purpose, because of space limitations, if there were 2 extra bytes for an apostrophe and an E, I would have spelled it correctly. Just be thankful it wasn't UR.

I don't think its a big deal because there are a ton of NES games with spelling errors, Double Dragon 3 probably being the worst
Title: Re: Famicom Disk System Zelda ENG Translation (Finished)
Post by: KingMike on April 20, 2017, 03:03:00 pm
Yes, games had spelling errors, but to intentionally make spelling mistakes "because other games did it" is rather ugly.
If you can't fit the full translation, it would be good to find words that can fit.
I'd go with maybe "THE HERO" or even "YOU HERO".
Or "THANK YOU, HERO OF HYRULE" if you wanted to preserve the important text of the message (I'm assuming Link's name is a variable that would have to be deleted)
Or "THANKS LINK, HYRULE HERO!"
Title: Re: Famicom Disk System Zelda ENG Translation (Finished)
Post by: jordiway73 on April 20, 2017, 03:51:49 pm
My goal when I started this project was to imitate the NES version as close as possible. I also knew that no matter what I did people would complain, so instead of trying too please everybody else I just went with what made me happy. ;D

What is most important is that all the major groundwork has been completed and I believe someone out there with more technical knowledge of this game than myself will eventually solve the problem with the space limitations and eventually we will have a 100% accurate NES translation. But it had to start somewhere!!!!!!! :thumbsup:

As I have stated before if you feel that you can improve this hack, please do so. ;) 

I changed the Title screen because of a translation error on my part  (http://i68.tinypic.com/1z5jc4x.png)

after working on the famicom Zelda re-release cartridge title screen I realized my mistake http://www.romhacking.net/hacks/3426/
Title: Re: Famicom Disk System Zelda ENG Translation (Finished)
Post by: w1ck3d on April 28, 2017, 03:24:21 pm
I was just thinking, if someone could figure out how to recover the the text space that's been blanked out from the items introduction, they might have enough space to expand the dialog boxes. But then, maybe rewriting all of that code would take even more space. Maybe. What do I know.
Title: Re: Famicom Disk System Zelda ENG Translation (Finished)
Post by: rainponcho on April 28, 2017, 10:34:35 pm
Unfortunately it's only valid for Side A. Overworld, Underworld (Side B) wipes out all that space later. Thanks for the idea though.

Actual Huffman code takes space too so that sucks (+ tree). But RedComet was kind to post the source. My asm isn't great for something like that. :)
Title: Re: Famicom Disk System Zelda ENG Translation (Finished)
Post by: w1ck3d on April 29, 2017, 06:13:31 am
Literally, I just woke up and my first thought this morning was 'oh yeah, the introduction is on side a, so that wouldn't make a difference'.  Funny how that works... :woot!:

Anyway, gave it some more thought and wondered if there was any unused audio that could be deleted to free up space, but that does not appear to be the case, at least from what I could find. However there is an unused enemy that could be deleted to recover space. Assuming it also exists in the FDS version and does not break the other copies of this particular monster.

Quote from: https://tcrf.net/The_Legend_of_Zelda
Unused Enemy Type

Enemy type $42 is a Gleeok with one head, unused in the final game. This can be seen by freezing RAM address $0350 at $42 and changing screens.

And I'll just throw this in, in case you are unaware of it: http://www.glitterberri.com/the-legend-of-zelda/retranslation-redux/
Title: Re: Famicom Disk System Zelda ENG Translation (Finished)
Post by: rainponcho on April 29, 2017, 07:15:41 am
Overworld and underworld are different files, space restrictions. Thought about that too but don't think it'll save enough bytes to make the major gains we need. Thanks still!
Title: Re: Famicom Disk System Zelda ENG Translation (Finished)
Post by: w1ck3d on April 29, 2017, 10:02:54 pm
lol you may want to reread what I said in that last reply  :beer:
Title: Re: Famicom Disk System Zelda ENG Translation (Finished)
Post by: rainponcho on April 29, 2017, 10:26:09 pm
Yes. Already looked for unused audio and monster data - in both overworld and underworld files. Not enough to make a game changing difference.
Title: Re: Famicom Disk System Zelda ENG Translation (Finished)
Post by: abw on April 30, 2017, 04:50:02 pm
Exactly how tight on space are you? Based on the English NES version, some rough math suggests that Huffman compression of the overworld room text could save about 375 bytes (compressed text being ~575 bytes shorter minus 151 bytes for Huffman tree and ~50 bytes for Huffman code), which seems like a worthwhile gain on a script that's only 1366 bytes to start with. If you're going to start ripping out the guts of the existing text engine, though, you might want to run some numbers on other compression methods (e.g. DTE/Dictionary) to see if there's anything better/easier to use.
Title: Re: Famicom Disk System Zelda ENG Translation (Finished)
Post by: rainponcho on April 30, 2017, 05:11:08 pm
Jordiway would know more, who did the actual insertion. But I remember from discussions that a decent amount of Nintendo nes text got cut. I think the overworld was the bigger problem with the bulk. I don't remember seeing a lot of text space (256-600 bytes iirc) but that was a quick mental scan.

I looked over the English translation from glitterberri (in the beginning) and thought it was even more text. Would require 3+ line adjustment hack also.

375 is a good gain. Admittedly I'm just not the one to work on this part; at least not until later this year. Maybe it is easy using RedComet's "template" stuff, but I still feel a void in motivation and energy on this project. I tend to mentally shut down with {big-ly} projects or when there's a lot of (potentially challenging) <hacking> ""work"" involved; my experience with the game's optimized, tight asm code didn't leave any Spanish gelato on my tongue.

So I tend to spend my rhdn energy where I think quick, small gains can be obtained. Keeps my satisfaction burning just long enough to try another. Or if some problem really catches my odd fetish.

Some projects have a hard time holding me awake. Partly regret taking them on since I can't run the closer on them. Although I do get lucky sometimes when other >smarter people take over and scrub down my mess.

<-- description to left

(I should add that I complain a whole lot more when I'm fatigued, disappointed, or downright confused what to do. And some laziness)
Title: Re: Famicom Disk System Zelda ENG Translation (Finished)
Post by: jordiway73 on April 30, 2017, 11:38:01 pm
Huffman compression of the overworld room text could save about 375 bytes (compressed text being ~575 bytes shorter minus 151 bytes for Huffman tree and ~50 bytes for Huffman code), which seems like a worthwhile gain on a script that's only 1366 bytes to start with.

I think that would be plenty but what about the underworld
Title: Re: Famicom Disk System Zelda ENG Translation (Finished)
Post by: abw on May 01, 2017, 08:52:26 pm
I think that would be plenty but what about the underworld
Ah, sorry, despite saying "the overworld room text", what I actually meant to say was just "the room text", including both over- and underworld.

@rainponcho:
No worries - we all find different aspects of this hobby interesting and contribute where and when we're inclined to do so. :beer:
Title: Re: Famicom Disk System Zelda ENG Translation (Finished)
Post by: rainponcho on May 02, 2017, 05:59:14 pm
Best I can come up with is Huffman + Dictionary (any form of substrings).