The Legend of Zelda/TBL

From Data Crystal
< The Legend of Zelda
Revision as of 04:01, 16 July 2019 by Gzip (talk | contribs) (Fixing problematic characters when copying and pasting the table for use in an editor)
Jump to navigation Jump to search

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=_