Robotrek/Strings

From Data Crystal
Jump to navigation Jump to search

This is a sub-page of Robotrek.

Below is the string definition for US version of the ROM. Strings are generally referenced using COP 1D and 1F, and are used by actor scripts

There are two types of strings: one for console/menus, and one for dialog boxes.

In the US version, strings use standard ASCII characters so you can view them with a hex editor.

Menu Strings

The menu font can be found at 0x13873D. It is compressed, 2bpp, and written to VRAM 0xC000. The first two rows of tiles contain dialog borders. The developers seem to have left the Japanese characters in rows 0x80 - 0xE0, even though they aren't used. A modder could utilize these for extra borders/graphics.

Character Table
0 1 2 3 4 5 6 7 8 9 A B C D E F
20 ! PT S. & EG ( ) * + , - . /
30 0 1 2 3 4 5 6 7 8 9 : ; ?
40 A B C D E F G H I J K L M N O
50 P Q R S T U V W X Y Z .S ˎ ˳
60 ' a b c d e f g h i j k l m n o
70 p q r s t u v w x y z ·
F0 L1 L2 L3 L4 L5 L6 L7 L8 L9 EN ER GY EN EM Y


Command Table
ID Name Parameters Description
00 NUL Terminates string
01 POS ScreenIX: Word Sets cursor position to absolute screen tile index. 0x40 is one tile in the Y direction
02 STR StringPtr: Address Prints a string at the specified address and returns
03 PAL IX: Byte Sets the palette index
04 TBL TablePtr: Address
IndexPtr: Offset
Prints a string from a table, using the index stored at IndexPtr
05 NUM Digits: Byte
ValuePtr: Offset
Prints an integer number using the specified number of digits, stored at ValuePtr
06 DEC Decimals: Byte
Digits: Byte
ValuePtr: Offset
Prints a decimal number using the specified number of decimals and digits, stored at ValuePtr
07 BOX Width: Byte
Height: Byte
ScreenIX: Word
Displays a window/box with a specific width/height, at an absolute screen index
08 08 Word ??
09 FIL TileIX: Byte
NumberPtr: Offset
Fills layer 3 with a specific tile at the current position, the number filled is stored at NumberPtr
0A 0A Binary + 0xFF ??
0B 0B Byte ??
0C 0C ??
0D N Wraps the cursor position around to a new line
0E 0E ??

Dialog Strings

The dialog font can be found at 0x080000. It is 2bpp, uncompressed, and is 256 tiles wide wrapping around at 0x081000 for the second half of the characters. The first 32 entries are mostly blank but contain the words "Quintet" and "Enix", which don't seem to be used anywhere. When rendered, each character is stamped directly into VRAM 0xD000 from ROM.

Character Table
0 1 2 3 4 5 6 7 8 9 A B C D E F
20 ! ʺ # $ % & ( ) * + , - . /
30 0 1 2 3 4 5 6 7 8 9 : ; = ˮ ?
40 A B C D E F G H I J K L M N O
50 P Q R S T U V W X Y Z " § ˮ
60 ' a b c d e f g h i j k l m n o
70 p q r s t u v w x y z
80 Ç ü é â ä à å ç ê ë è ï î ì Ä À
90 É ô ö ò û ù ÿ Ö Ü
A0 á í ó ú β
B0 ¨ ˎ ˳ ·
Command Table
ID Name Parameters Description
C0 END Terminates string waiting for input, does not show arrow. Destroys box and contents.
C1 POS X: Byte
Y: Byte
Sets character position on screen
C2 NAM ID: Byte Displays one of the player-defined names (character, robot)
C3 PAL ID: Byte Changes palette index used
C4 PGE Scrolls box content up before clearing it and resetting cursor position.
C5 TBL Table: Offset
Index: Offset
Displays one of the strings in an Offset table, using an in-memory index
C6 NUM Digits: Byte
ValuePtr: Offset
Prints a BCD number with a specific number of digits, stored at ValuePtr.
C7 BOX Width: Byte
Height: Byte
Border: Byte
Renders a dialog box originating at POS, using a specific size and border type
C8 DES Destroys box and contents. Does not wait for input.
C9 PAU Frames: Byte Pauses display of text for a set number of frames
CA CA ??
CB CB ??
CC TER Immediately terminates string. Does not wait for input. Does not destroy box. Should not be used within a box string as it will ruin all functionality.
CD N Wraps text around to a new line
CE SKP Count: Byte Skips Count number of characters in the dialog, effectively showing spaces
CF CF Address ??
D0 CLR Clears but does not destroy dialog box, and returns to start position.
D1 FIN Stops text, waiting for input, before clearing the box for a new page.
D2 WAI Halts display of text, waiting for input.
D3 JMP String: Offset Transfers string display to a new address.
D4 KNA In JP version, switches to katakana font. Unused in US version
D5 HGA In JP version, switches to hiragana font. Unused in US version
D6 SFX SoundIX: Byte Changes SFX used when printing each character. 00 is silent
D7 DEF Renders a dialog box using the default position and size at the bottom of the screen
D8 DF2 Same as D7 (DEF)??
D9 DFT Same as D7 (DEF) except displays box at the top of the screen
DA DF4 Same as D7 (DEF)??
DB DF5 Same as D7 (DEF)??
DC DLY Frames: Byte Sets the wait time for each displayed character
DD DD ??
DE NXT Terminates string waiting for input. Displays arrow at bottom of box. Does not destroy box, but clears it for new text.
DF DEC Decimals: Byte
Digits: Byte
ValuePtr: Offset
Prints a BCD decimal number with a specific number of decimals and digits, stored at ValuePtr.
E0 TPL ID: Byte Displays one of the template strings from table 08D86E. Mostly for names
E1 ESC Terminates string. Does not wait for input. Does not destroy or clear box, keeps current position.
E2 E2 Word ??
E3 DIC ID: Byte Displays one of the compression strings from table 0FB654
Compression Dictionary 0FB654
ID Text
00 "the "
01 "you "
02 "have "
03 "I'm "
04 "The "
05 "your "
06 "I'll "
07 "don't "
08 "and "
09 "You "
0A "about "
0B "You're "
0C "for "
0D "It's "
0E "this "
0F "can't "
10 "with "
11 "Mayor "
12 "will "
13 "you're "
14 "can "
15 "that "
16 "was "
17 "Don't "
18 "has "
19 "What "
1A "He's "
1B "it's "
1C "are "
1D "father "
1E "not "
1F "from "
20 "come "
21 "something "
22 "but "
23 "what "
24 "This "
25 "going "
26 "get "
27 "Mayor's "
28 "When "
29 "want "
2A "Oh, "
2B "would "
2C "That's "
2D "like "
2E "What? "
2F "found "
30 "take "
31 "Hey, "
32 "Akihabara's "
33 "Please "
34 "Well, "
35 "just "
36 "But "
37 "give "
38 "Hacker "
39 "little "
3A "some "
3B "know "
3C "been "
3D "talk "
3E "back "
3F "really "
40 "Your "
41 "he's "
42 "make "
43 "when "
44 "his "
45 "There's "
46 "Hackers "
47 "inventor "
48 "There "
49 "South "
4A "out "
4B "there "
4C "inventory's "
4D "find "
4E "must "
4F "tell "
50 "should "
51 "What's "
52 "Come "
53 "I've "
54 "time "
55 "great "
56 "need "
57 "children "
58 "heard "
59 "Stone "
5A "him "
5B "Just "
5C "People "
5D "good "
5E "see "
5F "shouldn't "
60 "trying "
61 "mother "
62 "That "
63 "were "
64 "Welcome "
65 "looking "
66 "nothing "
67 "won't "
68 "they're "
69 "without "
6A "thought "
6B "Are "
6C "got "
6D "help "
6E "went "
6F "lost "
70 "around "
71 "all "
72 "understand "
73 "Maybe "
74 "suspicious "
75 "taking "
76 "Scrap "
77 "making "
78 "one "
79 "house "
7A "secretary, "
7B "change "
7C "Thank "
7D "young "
7E "came "
7F "Because "
80 "Count's "
81 "meet "
82 "kind "
83 "combine "
84 "worried "
85 "show "
86 "dangerous "
87 "invention "
88 "Why "
89 "secretary "
8A "Invention "
8B "inventory "
8C "Let's "
8D "still "
8E "might "
8F "We're "
90 "mouse "
91 "looks "
92 "she's "
93 "place "
94 "could "
95 "saved "
96 "very "
97 "master "
98 "Surprise "
99 "probably "
9A "gotten "
9B "Rococo "
9C "hard "
9D "remember "
9E "house. "
9F "happened "
A0 "who "
A1 "Month, "
A2 "Thanks "
A3 "Now "
A4 "long "
A5 "Get "
A6 "here "
A7 "now "
A8 "said "
A9 "They "
AA "caused "
AB "sure "
AC "care "
AD "them "
AE "straightened "
AF "father's "
B0 "things "
B1 "only "
B2 "anything "
B3 "you've "
B4 "You'll "
B5 "interesting "
B6 "talking "
B7 "there's "
B8 "forward "
B9 "use "
BA "No, "
BB "against "
BC "did "
BD "dog "
BE "any "
BF "First "
C0 "moved "
C1 "more "
C2 "Fever "
C3 "over "
C4 "Inventions "
C5 "lots "
C6 "look "
C7 "Could "
C8 "such "
C9 "than "
CA "let's "
CB "their "
CC "these "
CD "real "
CE "Where "
CF "Especially "
D0 "Take "
D1 "read "
D2 "where "
D3 "told "
D4 "Robot "
D5 "knows "
D6 "left "
D7 "Everything "
D8 "check "
D9 "seems "
DA "keep "
DB "they "
DC "bring "
DD "you. "
DE "happy, "
DF "health "
E0 "matter "
E1 "invent "
E2 "police "
E3 "Akihabara "
E4 "inventor, "
E5 "Everybody "
E6 "too "
E7 "people "
E8 "strong "
E9 "pretty "
EA "increases "
EB "island "
EC "combining "
ED "Did "
EE "rearrange "
EF "somewhere "
F0 "didn't "
F1 "rumors "
F2 "before "
F3 "recovered "
F4 "that's "
F5 "different "
F6 "her "
F7 "Nagisa "
F8 "looked "
F9 "Office "
FA "You've "
FB "way "
FC "important "
FD "Father's "
FE "invented "
FF "Everyone "