Ending sequence text pointers

View previous topic View next topic Go down

Ending sequence text pointers

Post by SePH on Sun 4 May 2014 - 17:22

Hello, does anyone here know about the pointers for the ending dialogue?

CUE, another member here, pm'd me this request:

CUE wrote:Hi

I translated the entire game script & graphics to spanish using the GBA version:

[You must be registered and logged in to see this link.]

But I don't know where are the pointers for the end texts (THE RETURN OF THE KING, THE LOYAL SAGE, ..., credits and statistics). Can you help me? (I'm not a SNES expert).

CUE

Replied to him, referring to this thread: [You must be registered and logged in to see this link.]

But then...

CUE wrote:I know where the texts are stored and I have all complete tables. I need the pointers to modify the length of each text Sad

An example: I need translate "THE LOYAL SAGE" (14 chars) to "EL SACERDOTE LEAL" (17 chars), but I can't do without change the following pointers to use more space:
Code:
L73F88: ; offset
  db $62,$68  ; 6260 + ($20 - strlen) / 2, big endian <- VRAM offset, centered
  db $00,$1B  ; strlen * 2 - 1, big endian
  db "THE LOYAL SAGE"
L73F9A: ...

I obviously didn't knew what pointers were, so maybe someone else more experimented with those can point him in the right direction!

Thanks!  Very Happy

SePH
Administrator
Administrator

Since : 2012-06-19

Back to top Go down

Re: Ending sequence text pointers

Post by Conn on Sun 4 May 2014 - 19:12

I sent a mail to red, since he's Translation expert, and probably the best who can help here. Didn't he already translate PW? Then he should know where the pointers are.

If he doesn't know I probably can trace.
avatar
Conn
Zelda God - Administrator
Zelda God - Administrator

Since : 2013-06-30

Back to top Go down

Re: Ending sequence text pointers

Post by CUE on Mon 5 May 2014 - 4:05

I'm not a SNES expert and I don't know how find these pointers.
I want that info because it is a part of the game that I want to translate correctly to add to my spanish translation (it is the only part not translated).
avatar
CUE
Rank: Bee
Rank: Bee

Since : 2014-04-10

http://romxhack.esforos.com/portal.php

Back to top Go down

Re: Ending sequence text pointers

Post by Puzzledude on Mon 5 May 2014 - 6:45

I decoded the ending credits a while back.
I never actually searched for pointers, since I could change everything without them. I will check for pointers.

From the upper post I can see, that you know where texts are, but you need more space (this is not necessary doable, since all edits I made had the same or less texts).

Also, if you know all the locations of texts, then finding pointers should be easy (if they exist). But it is not necessary, that you can increase the number of letters, because of the centering problem. If original has 14 letters and the new 17, the text should start 1 or 2 units more to the left, for the text to be in the center. So this needs to be fixed also.
avatar
Puzzledude
Elite ROM Hacker
Elite ROM Hacker

Since : 2012-06-20

Back to top Go down

Re: Ending sequence text pointers

Post by Conn on Mon 5 May 2014 - 7:29

I shortly traced, but it seems a bit complicated, so I wait whether Red already knows what to dó. Also Euclid might know since he already altered the slides (and thus the text lengths for PW).
Maybe they also know how to re-Center the new text
avatar
Conn
Zelda God - Administrator
Zelda God - Administrator

Since : 2013-06-30

Back to top Go down

Re: Ending sequence text pointers

Post by CUE on Mon 5 May 2014 - 8:49

Yes, Puzzledude, I know where the text is stored, the format used by the game and where the table is stored to use the needed chars/tiles/colors, so I don'thave problem with it.
But I'm not able to find the pointers Sad

Re-center these texts is not a problem, you just have to modify a byte stored before the text.
avatar
CUE
Rank: Bee
Rank: Bee

Since : 2014-04-10

http://romxhack.esforos.com/portal.php

Back to top Go down

Re: Ending sequence text pointers

Post by Puzzledude on Mon 5 May 2014 - 10:40

The first monologue starts at 73F50 or 73F4E, so the pointers should be 50 BF 0E or 4E BF 0E. But no such bytes exist. If pointers are 2byte, then 50 BF or 4E BF.

Next line is all in the same section, so that the BF should repeat at lest 2 times.

Next line is at 73F8A or C, which is 8A BF 0E or 8C BF 0E, if 2bytes, then 8A BF, 8C BF.

Combination should be 50 BF 8C BF, or in any case:
50 BF xx BF xx BF or 4E BF xx BF xx BF;
however no such combination of bytes exist in the rom.

I think only Red Scorpion knows for sure, since I know he made the german translation and I think some screens have more letters than the original.
avatar
Puzzledude
Elite ROM Hacker
Elite ROM Hacker

Since : 2012-06-20

Back to top Go down

Re: Ending sequence text pointers

Post by CUE on Mon 5 May 2014 - 11:30

I found all with a tiny tool, rsearch :cheers: :cheers: :cheers:

The text is stored @:
- 73F4C: The return of the king
- 73F88: The loyal sage
- 73FB4: Sahasralah's homecoming
- 73FF6: Vultures rule the desert
- 74034: The bully  makes a friend
- ...
(each text includes 4 bytes with an offset and a length)

Searching the final byte with rsearch to find relative pointers:
Code:
>rsearch alttp.smc $4c88b4f63474 1 200

RSEARCH 1.4 - Relative Search
Copyright (C) 2013-2014 CUE

- reading file 'alttp.smc'
- searching hexadecimal '$4c88b4f63474'
  + 000742E1:2  00  3C  68  AA  E8  28

Done
742E1 has a 2-bytes low-endian table with each relative pointer (origin = 73F4C):
- 0000
- 003C
- 0068
- 00AA
....

The text is stored @ 73F4C-742E0, pointers @ 742E1 Smile
avatar
CUE
Rank: Bee
Rank: Bee

Since : 2014-04-10

http://romxhack.esforos.com/portal.php

Back to top Go down

Re: Ending sequence text pointers

Post by Puzzledude on Mon 5 May 2014 - 12:42

Great. So it is 4 bytes in between (and not 2 like I thought). And the pointers are not really "normal pointers", but rather and offset of the starting value.

There is only one question remaining. Is this enough info to transfer the data to the empty bank. It doesn't seem like it, but you have some empty space in the same bank (which is just being lucky), namly from 76E30 to 773FF. Because of this empty space in the same bank, you can now write anything.
avatar
Puzzledude
Elite ROM Hacker
Elite ROM Hacker

Since : 2012-06-20

Back to top Go down

Re: Ending sequence text pointers

Post by CUE on Mon 5 May 2014 - 13:01

Yeah, I can use two empty zones in the same bank:
- 76E30-773FF (0E:EE30-F3FF)
- 77B70-77FFF (0E:FB70-FFFF)
No more space problems Wink

Now I have the same problem with the credits/statistics. rseach do not find pointers.
avatar
CUE
Rank: Bee
Rank: Bee

Since : 2014-04-10

http://romxhack.esforos.com/portal.php

Back to top Go down

Re: Ending sequence text pointers

Post by RedScorpion on Mon 5 May 2014 - 13:28

Hi team,

i had not changed the Pointer, only the positions of text and translated to german.

Sorry.

I have some infos about the credits. Must check my rom! Wink
First info:

[You must be registered and logged in to see this link.]


Thanks

red
avatar
RedScorpion
Translation Expert
Translation Expert

Since : 2013-04-28

http://www.snes-projects.de

Back to top Go down

Re: Ending sequence text pointers

Post by CUE on Mon 5 May 2014 - 14:04

Found too !!!

The credits have the same format, but now with 2 bytes instead 4, and the pointers are after the texts, as before.

A tiny help to create the complete table:
The "letters" used are indexes to a table located @ 073038, 2 bytes each entry (tile number used in the font tileset + attribute to use):
- 073038, codes 00-19, font A, 8x8, color yellow
- 07306C, codes 1A-37, font B, 8x8, color red
- 0730A8, codes 38-52, font C, 8x8, color green
- 0730DE, codes 53-78 + 79-9E, font D, 8x16, color white (first all upper tiles, next the lower tiles)
- 073176, code 9F, space, 8x8, color white
- 073178, credits
- 07393D, relative pointers, 2 bytes low-endian
avatar
CUE
Rank: Bee
Rank: Bee

Since : 2014-04-10

http://romxhack.esforos.com/portal.php

Back to top Go down

Re: Ending sequence text pointers

Post by Puzzledude on Mon 5 May 2014 - 14:34

Good thing, that you found this too.
Let me also post my findings from a while back on ending sequence:


Code:

A) ENDING SEQUENCE, TEXTS


EXAMPLE:

First text is:
the return of the king (small text)
HYRULE CASTLE (BIG TEXT)


Go to WinHex32, go to relative search and type: return,
it will tell you, that the return is 2B 1E 2D 2E 2B 27

THE RETURN... = 2D 21 1E 9F 2B 1E 2D 2E 2B 27 ...

now you have the location


Go to WinHex32, go to relative search and type: Castle
it will tell you, that the castle is 5F 5D 6F 70 68 61 and 85 83 95 96 8E 87

now you have the locations

-----------

ALPHABET

SMALL TEXT COLOUR1    SMALL TEXT COLOUR2    SMALL TEXT COLOUR3
A=1A                  A=38                  A=00
B=1B                  B=39                  B=01
C=1C                  C=3A                  C=02
D=1D                  D=3B                  D=03
E=1E                  E=3C                  E=04
F=1F                  F=3D                  F=05
G=20                  G=3E                  G=06
H=21                  H=3F                  H=07
I=22                  I=40                  I=08
J=23                  J=41                  J=09
K=24                  K=42                  K=0A
L=25                  L=43                  L=0B
M=26                  M=44                  M=0C
N=27                  N=45                  N=0D
O=28                  O=46                  O=0E
P=29                  P=47                  P=0F
Q=2A                  Q=48                  Q=10
R=2B                  R=49                  R=11
S=2C                  S=4A                  S=12
T=2D                  T=4B                  T=13
U=2E                  U=4C                  U=14
V=2F                  V=4D                  V=15
W=30                  W=4E                  W=16
X=31                  X=4F                  X=17
Y=32                  Y=50                  Y=18
Z=33                  Z=51                  Z=19
APOSTROPH=34                                  
EMPTY=9F              EMPTY=9F               EMPTY=9F      


BIG TEXT (2 VALUES, UPPER ROW, LOWER ROW,
BUT UPPER ROW ALWAYS TOGETHER AND LOWER ROW ALWAYS TOGETHER)

  UP  LOW
A=5D,  83
B=5E,  84
C=5F,  85
D=60,  86
E=61,  87
F=62,  88
G=63,  89
H=64,  8A
I=65,  8B
J=66,  8C
K=67,  8D
L=68,  8E
M=69,  8F
N=6A,  90
O=6B,  91
P=6C,  92
Q=6D,  93
R=6E,  94
S=6F,  95
T=70,  96
U=71,  97
V=72,  98
W=73,  99
X=74,  9A
Y=75,  9B
Z=76,  9C
EMPTY= 9F


-----------


Lets say you want to change:
the return of the king (22 letters)

to this:
the evil is vanishing (21 letters) 22 is 21+1


With relative search find the starting byte and replace the 22 old bytes with this:
2D 21 1E, 9F, 1E 2F 22 25, 9F, 22 2C, 9F, 2F 1A 27 22 2C 21 22 27 29, 9F

-----------

Lets say you want to change:
HYRULE CASTLE (13 letters)

to this:
DARK TEMPLE (11 letters) 13 is 1+11+1 (first and second value must be empty because of the centering)

With relative search find the starting byte of the First row and replace the 13 old bytes with this:
9F, 60 5D 6E 67, 9F, 70 61 69 6C 68 61, 9F

With relative search find the starting byte of the Second row and replace the 13 old bytes with this:
9F, 86 83 94 8D, 9F, 96 87 8F 92 8E 87, 9F





B) ENDING SEQUENCE, SPECIAL EXITS
      (this is not the door but the location of the frames of the ending)


   01.) EXIT 1000 (place it in big area, lower middle position of the exit, picture travels up, place it so that the sprites are not seen)  
   02.) room 18 (automatic)
   03.) EXIT 1002 (place it in big area, upper right, travels down and left)
   04.) EXIT 1012 (big area, lower middle, travels up)
   05.) EXIT 1004 (big area, middle up, travels down)
   06.) EXIT 1006 (small area, upper right, travels down left)
   07.) EXIT 1010 (big area = zora domain, upper left, travels right)
   08.) EXIT 1014 (small area, upper middle, travels down)
   09.) EXIT 100A (small area, middle right, travels left)
   10.) EXIT 1016 (big area, middle low, travels up)
   11.) room 277 (must be fountain, automatic)
   12.) toom 289 (must be smith, automatic)
   13.) EXIT 100E (big area, upper left, travels right)
   14.) EXIT 1008 (big area, upper right, travels left)
   15.) EXIT 1018 (big area, upper left, travels down right)
   16.) EXIT 0180 (master sword, automatic)
   ps = exit of the small area can be placed in a big area to avoid the sprites


Texts:
   01.) the return of the king, HYRULE CASTLE
   02.) the loyal sage, SANCTUARY
   03.) sahasrahla's homecoming, KAKARIKO TOWN
   04.) vultures rule the desert, DESERT PALACE
   05.) the bully makes a friend, DEATH MOUNTAIN
   06.) your uncle recovers, YOUR HOUSE
   07.) flippers for sale, ZORA'S WATERFALL
   08.) the witch and assistant, MAGIC SHOP
   09.) twin lumberjacks, WOODSMEN'S HUT
   10.) flute boy plays again, HOUNTED GROVE
   11.) venus. queen of faeries, WISHING WELL
   12.) the dwarven swordsmiths, SMITHERY
   13.) the bug-catching kid, KAKARIKO TOWN
   14.) the lost old man, DEATH MOUNTAIN
   15.) the forest thief, LOST WOODS
   16.) and the master sword, sleeps again..., FOREVER





C) CREDITS AND QUEST HISTORY

Some things to type in the relative search, because they are are subject to change

-executive producer - HIROSHI YAMAUCHI
-producer - SHIGERU MIYAMOTO
-director - TAKASHI TEZUKA
-script writer - KENSUKE TANABE
-assistant directors - YASUHISA YAMAMURA, YOICHI YAMADA


-QUEST HISTORY

-castle of hyrule
-castle dungeon
-east palace
-desert palace
-mountain tower

-level 1 DARK PALACE
-level 2 SWAMP PALACE
-level 3 SKULL WOODS
-level 4 THIEVES' TOWN
-level 5 ICE PALACE
-level 6 MISERY MIRE
-level 7 TURTLE ROCK
-level 8 GANON'S TOWER
avatar
Puzzledude
Elite ROM Hacker
Elite ROM Hacker

Since : 2012-06-20

Back to top Go down

Re: Ending sequence text pointers

Post by RedScorpion on Mon 5 May 2014 - 18:06

It would be fine, if we could find out where all this Pointer stored in Zelda PW/PR.

So i could change a some things Wink

In the german version there are zwo things. First. I cant use special chars like äöü
and the last scene...

[You must be registered and logged in to see this image.]

Click on the image to see the complete snipet.

"IN EWIG" is a little bit strange her, but i havn't enough space for "IN EWIGKEIT"

Thanks

red
avatar
RedScorpion
Translation Expert
Translation Expert

Since : 2013-04-28

http://www.snes-projects.de

Back to top Go down

Re: Ending sequence text pointers

Post by SePH on Mon 5 May 2014 - 19:07

Couldn't click on your picture red, so here's the part your were referring to for others to see it Wink

[You must be registered and logged in to see this image.]

SePH
Administrator
Administrator

Since : 2012-06-19

Back to top Go down

Re: Ending sequence text pointers

Post by Spane on Tue 6 May 2014 - 0:48

Hey Red why you havn't written "Auf Ewig"? :-P

Spane
Elite ROM Hacker
Elite ROM Hacker

Since : 2013-01-22

Back to top Go down

Re: Ending sequence text pointers

Post by CUE on Tue 6 May 2014 - 1:23

RedScorpion wrote:In the german version there are zwo things. First. I cant use special chars like äöü
You can modify a tile to put '¨' (diaeresis). Now just write that tile above the 'a'/'o'/'e' tile to obtain the special char, but you need 5 bytes to do: offset, 2*length-1, tile number.

Example to write "Ausgänge":
XXXX+4, 1, "¨" <--- offset+4, length=1 -> 2*1-1=1
XXXX, 15, "Ausgange" <--- offset, length=8 -> 2*8-1=15
(XXXX is the starting position, so XXXX+4  has the 'a')

Total bytes used = 2+2+1 + 2+2+8 = 17
avatar
CUE
Rank: Bee
Rank: Bee

Since : 2014-04-10

http://romxhack.esforos.com/portal.php

Back to top Go down

Re: Ending sequence text pointers

Post by RedScorpion on Tue 6 May 2014 - 13:24

Spane wrote:Hey Red why you havn't written "Auf Ewig"? :-P

Good question! Wink

I think the english version is "FOREVER" Wink

I will check this in the next weeks, because i have no time at the moment! ;/

Thanks

red
avatar
RedScorpion
Translation Expert
Translation Expert

Since : 2013-04-28

http://www.snes-projects.de

Back to top Go down

Re: Ending sequence text pointers

Post by Spane on Tue 6 May 2014 - 13:35

Dann nur ewig xD aber "In ewig" hört sich irgendwie komisch an :-D


Last edited by Spane on Tue 6 May 2014 - 16:02; edited 1 time in total

Spane
Elite ROM Hacker
Elite ROM Hacker

Since : 2013-01-22

Back to top Go down

Re: Ending sequence text pointers

Post by CUE on Thu 8 May 2014 - 2:04

I finally translated all the ending scenes, credits and statistics Smile
Now the game is 100% translated to spanish Wink
avatar
CUE
Rank: Bee
Rank: Bee

Since : 2014-04-10

http://romxhack.esforos.com/portal.php

Back to top Go down

Re: Ending sequence text pointers

Post by Puzzledude on Thu 8 May 2014 - 5:56

That's great. It is nice to know, that we have another translator of this game, and in another language. Have you ever thought about translating Alttp hacks (should be similar work)?
avatar
Puzzledude
Elite ROM Hacker
Elite ROM Hacker

Since : 2012-06-20

Back to top Go down

Re: Ending sequence text pointers

Post by CUE on Fri 9 May 2014 - 2:39

I know people who want to translate these hacks, but they need to change multiple tilesets to put some words in Spanish (item names). Those tilesets were empty and the hacks use that space to put some graphics.
avatar
CUE
Rank: Bee
Rank: Bee

Since : 2014-04-10

http://romxhack.esforos.com/portal.php

Back to top Go down

View previous topic View next topic Back to top


 
Permissions in this forum:
You cannot reply to topics in this forum