The Legend of Zelda/TBL: Difference between revisions

From Data Crystal
Jump to navigation Jump to search
No edit summary
m (Xkeeper moved page The Legend of Zelda:TBL to The Legend of Zelda/TBL: normalize subpages and titles)
 
(5 intermediate revisions by 4 users not shown)
Line 1: Line 1:
{{TBL|game=The Legend of Zelda}}
{{TBL|game=The Legend of Zelda}}
 
==NPC Text==
The game does not make use of lowercase letters. However, for reasons explained below, normal text is represented by lowercase characters for the purpose of text editing. The explanations given for values 24+ should be removed before using this list in a .tbl file.  
The game does not make use of lowercase letters. However, for reasons explained below, normal text is represented by lowercase characters for the purpose of text editing. The tilde (~) is used to represent an indenting space. Indenting spaces are drawn without the delay and sound that occurs with other letters.
 
<pre>
<pre>
00=0
00=0
Line 40: Line 39:
22=y
22=y
23=z
23=z
24=_ (space)
24=_  
25=~ (indent space)
25=~
26=  (nothing?)
28=,
27=  (nothing?)
29=!
28=, (comma)
2A='
29=! (exclamation point)
2B=&
2A=' (apostrophe)
2C=.
2B=& (ampersand)
2D="
2C=. (period)
2E=?
2D=" (quotes)
2F=-
2E=? (question mark)
2F=- (hyphen)
</pre>
</pre>


Some (probably most) messages in the game run more than one line. From the perspective of bytes, each character has three additional forms that tell the game to end the current line and start at the second or third line or terminate the string. These secondary forms are visually identical to their primary counterparts, but to make their presence obvious during text editing, they are represented here with capitals. For example, 0C means print a C, but 4C means print a C then proceed to the beginning of the second line before continuing to write. 8C means print a C then proceed to the third line. 8C means print a C, which is the end of the current string. This is best understood in terms of bits rather than bytes. Set bit 6 (equivalent to adding hexadecimal 40) to go to the second line and bit 7 (80) for the third line, and both to terminate the string.
Each letter is stored in the lower six bits of a byte. The upper two bits of each byte are used for formatting codes. $80 specifies that the ''next'' character should appear on the second line. $40 specifies that the ''next'' character should appear on the third line. $C0 specifies the end of a string. Thus, $80 should be added to the last letter on the first line, $40 should be added to the last letter on the second line, and $C0 should be added to the very last character.
 
For example, to encode the string:
 
Y
HELLO
THAR!!1!
 
First convert the string to hex values
 
22
11 0E 15 15 18
1D 11 0A 1B 29 29 01 29
 
Then add the values listed above to the last character of each line.
 
<span style="color:#FF0000">'''A2'''</span>
11 0E 15 15 <span style="color:#FF0000">'''58'''</span>
1D 11 0A 1B 29 29 01 <span style="color:#FF0000">'''E9'''</span>
 
The resulting hex is <tt>A2 11 0E 15 15 58 1D 11 0A 1B 29 29 01 E9</tt>.


==Story Text==


Third-Line Forms:
The story text ("MANY YEARS AGO PRINCE DARKNESS...") uses additional characters and graphics mixed in with the text. In the table below, quotes are represented with an underscore (note that there are two different quote characters used in this game!), parentheses are used to represent the vertical parts of the "wreath", the less than and greater than sign are used for the horizontal parts of the wreath, and the number sign is used for the corner piece of the wreath.


<pre>
<pre>
80=0
00=0
81=1
01=1
82=2
02=2
83=3
03=3
84=4
04=4
85=5
05=5
86=6
06=6
87=7
07=7
88=8
08=8
89=9
09=9
8A=A
0A=a
8B=B
0B=b
8C=C
0C=c
8D=D
0D=d
8E=E
0E=e
8F=F
0F=f
90=G
10=g
91=H
11=h
92=I
12=i
93=J
13=j
94=K
14=k
95=L
15=l
96=M
16=m
97=N
17=n
98=O
18=o
99=P
19=p
9A=Q
1A=q
9B=R
1B=r
9C=S
1C=s
9D=T
1D=t
9E=U
1E=u
9F=V
1F=v
A0=W
20=w
A1=X
21=x
A2=Y
22=y
A3=Z
23=z
A4=_ (space)
24=  
A5=~ (indent space)
25=
A6=  (nothing?)
28=,
A7=  (nothing?)
29=!
A8=, (comma)
2A='
A9=! (exclamation point)
2B=&
AA=' (apostrophe)
2C=.
AB=& (ampersand)
2D="
AC=. (period)
2E=?
AD=" (quotes)
2F=-
AE=? (qustion mark)
E2=(
AF=- (hyphen)
E3=)
E4=<
E5=>
E6=#
F8=_
</pre>
</pre>
{{Internal Data|game=The Legend of Zelda}}

Latest revision as of 02:42, 24 January 2024

Chip tiny.png The following article is a Text Table for The Legend of Zelda.

NPC Text

The game does not make use of lowercase letters. However, for reasons explained below, normal text is represented by lowercase characters for the purpose of text editing. The tilde (~) is used to represent an indenting space. Indenting spaces are drawn without the delay and sound that occurs with other letters.

00=0
01=1
02=2
03=3
04=4
05=5
06=6
07=7
08=8
09=9
0A=a
0B=b
0C=c
0D=d
0E=e
0F=f
10=g
11=h
12=i
13=j
14=k
15=l
16=m
17=n
18=o
19=p
1A=q
1B=r
1C=s
1D=t
1E=u
1F=v
20=w
21=x
22=y
23=z
24=_ 
25=~
28=,
29=!
2A='
2B=&
2C=.
2D="
2E=?
2F=-

Each letter is stored in the lower six bits of a byte. The upper two bits of each byte are used for formatting codes. $80 specifies that the next character should appear on the second line. $40 specifies that the next character should appear on the third line. $C0 specifies the end of a string. Thus, $80 should be added to the last letter on the first line, $40 should be added to the last letter on the second line, and $C0 should be added to the very last character.

For example, to encode the string:

Y
HELLO
THAR!!1!

First convert the string to hex values

22
11 0E 15 15 18
1D 11 0A 1B 29 29 01 29

Then add the values listed above to the last character of each line.

A2
11 0E 15 15 58
1D 11 0A 1B 29 29 01 E9

The resulting hex is A2 11 0E 15 15 58 1D 11 0A 1B 29 29 01 E9.

Story Text

The story text ("MANY YEARS AGO PRINCE DARKNESS...") uses additional characters and graphics mixed in with the text. In the table below, quotes are represented with an underscore (note that there are two different quote characters used in this game!), parentheses are used to represent the vertical parts of the "wreath", the less than and greater than sign are used for the horizontal parts of the wreath, and the number sign is used for the corner piece of the wreath.

00=0
01=1
02=2
03=3
04=4
05=5
06=6
07=7
08=8
09=9
0A=a
0B=b
0C=c
0D=d
0E=e
0F=f
10=g
11=h
12=i
13=j
14=k
15=l
16=m
17=n
18=o
19=p
1A=q
1B=r
1C=s
1D=t
1E=u
1F=v
20=w
21=x
22=y
23=z
24= 
25=
28=,
29=!
2A='
2B=&
2C=.
2D="
2E=?
2F=-
E2=(
E3=)
E4=<
E5=>
E6=#
F8=_