-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathnotes.txt
142 lines (114 loc) · 4.6 KB
/
notes.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
============================================================
Relevant Offsets
============================================================
042BA4 - Points to 08C59368 -> 0837CBCC (Font Images)
063608 - Menu Data Pointers
37CBCC - Font Image Data
CF7BAC - Story Titles Pointers
CF9D5C - Story Episodes Pointers
CF9E54 - Pilot Profiles Pointers
DCA820 - EoF Padding
============================================================
Menu Data Pointers - 063608
============================================================
Data Structure (8 bytes)
Text Pointer - Unsigned Int32
Unknown 1 - Unsigned Int32
* 6 structures, one for each selection of the Main Menu
* Unknown 1 could be the image, background, or menu code
pointer. I haven't looked into it
============================================================
Font Image Data - 37CBCC
============================================================
Character Structure
2x2 Tiles
8x8 linear bitmap chunks
16 bits per pixel, second-to-first
* 1611 structures, one for each character in the font
* Even though the font definition itself doesn't represent
the characters contiguously, the image data is coniguous
* Some characters appear in a different order from the
font definition
============================================================
Story Titles Pointers - CF7BAC
============================================================
51 Unsigned Int32's that point to the image data for each
episode of the story.
Image Structure
4x14 tiles
8x8 linear bitmap chunks
16 bits per pixel, second-to-first
* Image is supposedly compressed with LZ77.
* Image is composed of seven 16-pixel-tall rows
* Rows are arranged horizontally for title image
============================================================
Story Episodes Pointers - CF9D5C
============================================================
51 Unsigned Int32's that point to individual pointer tables
which in turn point to the text data for each individual
line of text in any given story episode description.
Diagram:
All Episodes Pointer Table - points to:
Individual Episode's Pointer Table - points to:
Episode's Individual Lines' Text
* Episode Line Pointer tables are terminated with two EOF
lines, which are referenced by 085C42E0
* At least 6 lines must be present before EOF's become
effective. Pad with empty lines if necessary
* Lines are normal text, terminated with 00
* All lines' text data must begin on a 4-byte boundary
============================================================
Pilot Profiles Pointers - CF9E54
============================================================
Data Structure (12 bytes)
Blood type - Byte
Age - Byte
Month of birth - Byte
Day of birth - Byte
Pilot Text Pointer - Unsigned Int32
Machine Text Pointer - Unsigned Int32
* 38 structures, one for each pilot, in the order they
appear on the Pilot Profiles menu; left-to-right,
top-to-bottom
* Pilot and Machine text must begin on a 4-byte boundary
============================================================
EoF Padding
============================================================
* Unused portion of the ROM. Free game for any data
* A few chunks do have data in them, which include the
ROM headers for GP Legend and Maximum Velocity among other
data. The purpose of these chunks is unknown, so don't
overwrite them
* Padding is composed entirely of FF bytes
* Actually begins at DCA818, but DCA820 is prettier
============================================================
Font Character Assignment Specification
============================================================
16-bit characters, except for control characters
00: String Terminator
0A: Newline
8060-813F: Windows Code Page 1252 (starting at Space)
Miscellaneous Symbols & Punctuation:
8140-817E, 8180-81AC, 81B8-81BF, 81C8-81CE,
81DA-81E8, 81F0-81F7, 81FC
824F-8258: Numerical Digits
8260-8279: Roman Alphabet (Uppercase)
8281-829A: Roman Alphabet (Lowercase)
829F-82F1: Hiragana
8340-8396: Katakana
839F-83B6: Greek Alphabet (Uppercase)
83BF-83D6: Greek Alphabet (Lowercase)
8440-8460: Cyrillic Alphabet (Uppercase)
8470-8491: Cyrillic Alphabet (Lowercase)
849F-84BE: Table Formatting Characters
8540-8553: Circled Numbers (1 to 20)
859F-85A8: Roman Numerals
Unknown characters requiring further analysis:
8600-87FF, 8840-8850
Kanji Character Ranges:
889F-88FC, 8940-897E, 8980-89FC, 8A40-8A7E,
8A80-8AFC, 8B40-8B7E, 8B80-8BFC, 8C40-8C7E,
8C80-8CFC, 8D40-8D7E, 8D80-8DFC, 8E40-8E7E,
8E80-8EFC, 8F40-8F7E, 8F80-8FFC, 9040-907E,
9180-91FC, 9240-927E, 9380-93FC, 9440-947E,
9580-95FC, 9640-967E, 9780-97FC, 9840-9872