In the Japanese versions, a total of 377JStadStad/369Stad2 characters are supported. In the Western versions, a total of 141Stad/164Stad2 characters are supported. A space () is used as a fallback character for characters not included in a given font.
Differs between revisions/languages in Pokémon Stadium
Differs between Pokémon Stadium and Pokémon Stadium 2
Only in Pokémon Stadium
Only in Pokémon Stadium 2
Unused characters
In the Japanese versions:
Only code sets 0 and 1 of the EUC-JP character encoding are supported, as all bytes from 0x80-FF are interpreted as a leading byte for a double-byte character.
Some nonstandard two-byte sequences are supported: the highest bit of the trailing byte does not have to be set, and a leading byte of 0x80 is treated as a padding byte for the single-byte character corresponding to the trailing byte.
Code points 0xA1EC and 0xA1ED are mapped to the right quotation marks (’, ”) in Pokémon Stadium and Pokémon Stadium 2, and to the left quotation marks (‘, “) in Pokémon Stadium G&S. These code points correspond to the prime symbols (′, ″) in EUC-JP.
In the Western versions:
In Pokémon Stadium, the character map does not include the 0x90-9F range.
Versions 1.0 and 1.1 of the American English version and version 1.0 of the British English version of Pokémon Stadium do not map the code point 0xB0 to the glyph for the degree sign (°). It is present in later revisions and in the French, German, Italian, and Spanish versions.
Game Boy Tower
The font used in the menu displayed when pausing a Game Boy game in the Game Boy Tower does not use the standard character map prior to Pokémon Stadium 2. In the Japanese versions of Pokémon Stadium and Pokémon Stadium 2, this text is stored directly as the corresponding glyph indices. In Western versions of Pokémon Stadium, this text uses a modified character map that includes only the lower 0x20-0x7F range; it primarily remaps necessary characters from the upper half of ISO 8859-1 to otherwise unused code points.
Western (Game Boy Tower)
-0
-1
-2
-3
-4
-5
-6
-7
-8
-9
-A
-B
-C
-D
-E
-F
2-
!
"
ü
ä
%
&
'
(
)
*
+
,
-
.
/
3-
0
1
2
3
4
5
6
7
8
9
:
;
ö
:
ó
?
4-
é
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
5-
P
Q
R
S
T
U
V
W
X
Y
Z
[
ì
]
à
6-
í
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
7-
p
q
r
s
t
u
v
w
x
y
z
ú
l
á
~
¿
Legend
Differs from the main font
Differs between revisions/languages
Differs between revisions/languages
Unused characters
Versions 1.0 and 1.1 of the American English version and version 1.0 of the British English version do not map any code points to the glyphs for ä, ö, ü, á, í, ó, ú, and ¿. They are present in later revisions and in the French, German, Italian, and Spanish versions.
The American English versions and version 1.0 of the British English version do not map any code points to the glyphs for à and ì. They are present in version 1.1 of the British English version and in the Italian and Spanish versions.
Character set
The following tables describe the internal indices that correspond to each glyph in the game's font. As the Japanese font only contains 256 distinct glyphs, some of the supported 377 code points are displayed identically; these include the halfwidth and fullwidth forms of most characters.
Unused characters (displayed as an invisible, zero-width character)
Only in Pokémon Stadium 2
Unused characters only in Pokémon Stadium 2 (displayed as a space of the same width as most lowercase letters)
Transcoding
Text from the Game Boy and Game Boy Color games is transcoded from the proprietary encoding used in those games to the encoding based on ISO 8859-1 or EUC-JP for display using a lookup table, though it is still stored using the proprietary encoding in the game's save file.
The Pokémon Stadium games generally use the transcoding table corresponding to the language of the Pokémon Stadium game, even if a cartridge of a different language is inserted. However, like in the handheld games, when reading Mail in a Western language game, the game uses the character encoding of the language the Mail was written in, rather than the current game's language, which prevents the text from being corrupted. In Pokémon Stadium 2, the same table is used for both Generation I and Generation II games.
Empty cells are unused values that are transcoded as a space (in Western Stadium), as the codepoint 0x80 which displays as a space (in Western Stadium 2), or as a fullwidth space (in Japanese). If these characters are found in a Pokémon's nickname, they are changed to a space (in Western Stadium), a null byte (in Western Stadium 2), or a fullwidth space (in Japanese).
Note that the characters in the table below for the Japanese versions are specifically transcoded to the canonical fullwidth code point corresponding to the displayed character, even if other code points may display identically.
Differs between Pokémon Stadium and Pokémon Stadium 2
Only in Pokémon Stadium
Only in Pokémon Stadium 2
Unused characters
Invalid characters in Pokémon Stadium 2
0x50 is treated as a terminator, marking the ends of strings. This applies in all versions, including those where it is not explicitly mapped as such in the transcoding table.
0x5D is transcoded as "TRAINER" in Pokémon Stadium, and causes an Original Trainer name or a Pokémon's nickname to be displayed as "Trainer" if it is the first byte of the name in Pokémon Stadium 2. The exact text depends on the game's language.
Japanese 0x1D and 0x25 are transcoded as に and の in a Mail message. These two control characters are used in Randy's Mail message.
Japanese 0xE4-E5 and 0xE8 are 。, ., and 、 in Pokémon Stadium/Pokémon Stadium 2, and ゛, ゜, and 。 in Pokémon Stadium G&S.
If an invalid character is encountered in a Pokémon's nickname, it is reset to its species name. If an invalid character is encountered in an Original Trainer name, it is changed to the player's name on that save file. If an invalid character is encountered in a Mail message, the game will fall back to the message こんにちは (translated as Good Morning! in the English versions).
Control characters
0x00 (␀) is a terminator, marking the ends of strings.
0x25 (%) is used in printf format strings to insert strings or numbers into the displayed text.
0x23 (#) is an escape character for variables. It is followed by a two-digit decimal number in ASCII indicating which variable to display. (Western Pokémon Stadium, Japanese Pokémon Stadium G&S, and Western Pokémon Stadium 2)
0x3C (<) and 0x3E (>) are the escape characters for functions. They enclose the name of the function and its parameters, separated by commas. (Japanese Pokémon Stadium G&S and Western Pokémon Stadium 2)
For functions that perform operations on a stack, the first argument must be LOAD, PUSH, or POP.
LOAD sets the state to the value specified by the subsequent arguments.
PUSH saves the current state, and sets the state to the value specified by the subsequent arguments.
POP loads the saved state. It takes no additional arguments.
Name
Function
Values
FONT
sets the font size in pixels
stack (number)
COL1
sets the top gradient text color to the specified RGBA color (the alpha component applies to the whole text)
stack (number, number, number, number)
COL2
sets the bottom gradient text color to the specified RGBA color (the alpha component is ignored)
stack (number, number, number, number)
TEX
displays an inline image
number
LINE
sets the line spacing in pixels
number
FACE
displays a character portrait
number, number
DIST
sets the character spacing in pixels
number
WAZA
marks dialogue triggered by using the specified move
number, number
KOKA
unused
NEMURI
marks dialogue triggered by putting the player's Pokémon to sleep
number
DOKU
marks dialogue triggered by poisoning the player's Pokémon
number
DOKUDOKU
marks dialogue triggered by badly poisoning the player's Pokémon
number
YAKEDO
marks dialogue triggered by burning the player's Pokémon
number
KOHRI
marks dialogue triggered by freezing the player's Pokémon
number
MAHI
marks dialogue triggered by paralyzing the player's Pokémon
number
HIRUMI
marks dialogue triggered by causing the player's Pokémon to flinch