Table of Contents
Text Editing
Metroid 2 has a very simple text system. Most text is made of tilemaps, while some are made of sprite data.
Tilemaps
Each character is one byte, and you are limited to 16 characters per item and 6 for the save message (you can go above 6, but it will overlap the “Press Start” text). The format is listed here:
C0-D9 = letters, in order DA = . DB = , DC = ' DD = - DE = 3 dots, 1/2 (for the save text) DF = 3 dots, 2/2 FF = Space
00-BF and F0-FE are assorted graphics and empty space. You'll find the text between 0x05911 and 0x05A10 in Bank 1:
0x05911-0x05920 - " SAVE... " or D2 C0 D5 C4 DE DF FF FF FF FF FF FF FF FF FF FF S A V E ... 0x05921-0x05930 - " PLASMA BEAM" or FF FF FF FF CF CB C0 D2 CC C0 FF C1 C4 C0 CC FF P L A S M A B E A M 0x05931-0x05940 - " ICE BEAM " or FF FF FF FF FF C8 C2 C4 FF C1 C4 C0 CC FF FF FF I C E B E A M 0x05941-0x05950 - " WAVE BEAM " or FF FF FF FF D6 C0 D5 C4 FF C1 C4 C0 CC FF FF FF W A V E B E A M 0x05951-0x05960 - " SPAZER " or FF FF FF FF FF D2 CF C0 D9 C4 D1 FF FF FF FF FF S P A Z E R 0x05961-0x05970 - " BOMB " or FF FF FF FF FF FF FF C1 CE CC C1 FF FF FF FF FF B O M B 0x05971-0x05980 - " SCREW ATTACK" or FF FF FF D2 C2 D1 C4 D6 FF C0 D3 D3 C0 C2 CA FF S C R E W A T T A C K 0x05981-0x05990 - " VARIA " or FF FF FF FF FF D5 C0 D1 C8 C0 FF FF FF FF FF FF V A R I A 0x05991-0x059A0 - " HIGH JUMP BOOTS" or C7 C8 C6 C7 FF C9 D4 CC CF FF C1 CE CE D3 D2 FF H I G H J U M P B O O T S 0x059A1-0x059B0 - " SPACE JUMP " or FF FF FF FF D2 CF C0 C2 C4 FF C9 D4 CC CF FF FF S P A C E J U M P 0x059B1-0x059C0 - " SPIDER BALL " or FF FF FF D2 CF C8 C3 C4 D1 FF C1 C0 CB CB FF FF S P I D E R B A L L 0x059C1-0x059D0 - " SPRING BALL " or FF FF D2 CF D1 C8 CD C6 FF C1 C0 CB CB FF FF FF S P R I N G B A L L 0x059D1-0x059E0 - " ENERGY TANK " or FF FF FF C4 CD C4 D1 C6 D8 FF D3 C0 CD CA FF FF E N E R G Y T A N K 0x059E1-0x059F0 - " MISSILE TANK" or FF FF FF CC C8 D2 D2 C8 CB C4 FF D3 C0 CD CA FF M I S S I L E T A N K 0x059F1-0x05A00 - " ENERGY " or FF FF FF FF FF FF C4 CD C4 D1 C6 D8 FF FF FF FF E N E R G Y 0x05A01-0x05A10 - " MISSILES " or FF FF FF FF FF CC C8 D2 D2 C8 CB C4 D2 FF FF FA M I S S I L E S
Sprites
This section will focus specifically on how the sprites are used for text. Refer to here for more specific information on the sprite format.
Each character is made from a sequence of four bytes. The third one points to which tile to use.
Only the two saving texts after the “Save…” prompt are constructed in this way.
0x04093 - "COMPLETED" 00 00 C2 80 - C 00 08 CE 80 - O 00 10 CC 80 - M 00 18 CF 80 - P 00 20 CB 80 - L 00 28 C4 80 - E 00 30 D3 80 - T 00 38 C4 80 - E 00 40 C3 80 - D FF 0x040B8 - "PRESS START" 00 00 CF 00 - P 00 08 D1 00 - R 00 10 C4 00 - E 00 18 D2 00 - S 00 20 D2 00 - S 00 30 D2 00 - S 00 38 D3 00 - T 00 40 C0 00 - A 00 48 D1 00 - R 00 50 D3 00 - T FF
Full Text Table
For a more organized text-editing experience, copy-paste the following list of characters into a text editor and save the document as a “.tbl” file, which can be used for a hex editor or other program that supports them.
FF= A0=0 A1=1 A2=2 A3=3 A4=4 A5=5 A6=6 A7=7 A8=8 A9=9 C0=A C1=B C2=C C3=D C4=E C5=F C6=G C7=H C8=I C9=J CA=K CB=L CC=M CD=N CE=O CF=P D0=Q D1=R D2=S D3=T D4=U D5=V D6=W D7=X D8=Y D9=Z DA=. DB=, DC=' DD=- DE=.. DF=..