From TLoZ: ALTTP Hacking Resources
Revision as of 21:22, 2 July 2017 by Tatters (talk | contribs) (English version)
Jump to: navigation, search


The Japanese font is compressed.

The font for the English version is in the uncompressed 2BPP format.

English German
Font (U).png Font (G).png
  • The German version's font is shorter by one pixel in some cases.
  • The arrows are largers in the German version.
  • The German version uses more graphic space.
  • Certain characters are different like "C".

The German version has additional font characters at 0x77500 for the menu screen in the uncompressed 2BPP format. The English releases has the font compressed as 3BPP in a different locaiton.

English version


Each dialogue entry in the game doesn't have a pointer, rather, the pointers for each entry are generated while the game runs through some calculations. As a result, we have two pointers for the dialogue which is split up into two banks.

Lo Hi Bank Assembled pointer Size
Bank 1 0x753F5 0x753F6 0x753EF 0xE0000 $8000
Bank 2 0x75437 0x75438 0x7543C 0x75F40 $14C0

The "assembled pointer" is the address where the dialogue is located at. The size of the monologues isn't actually a stored value.


The widths for each character are located at 0x74ADF to 0x74B41 (62)


The English version uses DTE compression. The pointer starts at 0x74703 with $61 entries. The pointers are two bytes long in LO HI order. The dictionary entries are in the same bank so the bank value is implied. The dictionary values have no delimiter, the end of each entry is calculated by the next pointer. The last entry is three bytes long (not sure how this is determined in the game). There is zero room for expansion because code starts immediately after the DTE table.


Table of Contents
SpritesDungeonsOverworldUnderworldSRAM MapRAM MapROM MapMusicMonologueCreditsDumpsMiscellaneousTo-Do/Suggestions