The current URL is datacrystal.tcrf.net.
Robotrek/Strings
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.
| 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 | ☻ |
| 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.
| 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 | → | ← | ↑ | ↓ | ╔ | ╝ | ╳ | ¨ | ˎ | ˳ | · | ┌ | ┘ | ━ | “ | ” |
| 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 |
| 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 " |
Internal Data for Robotrek
| |
|---|---|