フォントファイルには「FONT.DAT」と「EFONT.DAT」の2つがあり、
ファイル名 | 用途 | サイズ(1文字) |
FONT.DAT | メニューやメッセージ (残り時間表示など) | 16*16 |
EFONT.DAT | エンディングのスタッフロール | 24*24 |
となっています。
データは1ドットを1ビットで表しており、1バイトで横8ドット分の情報が含まれています。
上位ビットが左側、下位ビットが右側のドットに対応しており、ビットが1になっている部分が描画されます。
例:$37(2進数だと00110111)の場合
$37 ↓ 2進数に直す ↓ |
0 | 0 | 1 | 1 | 0 | 1 | 1 | 1 |
|
|
|
|
|
|
|
|
データはキャラクタの左上から横方向に格納されています。
1キャラクタあたりのデータサイズは([横サイズ/8]*縦サイズ)で、
FONT.DATが$20(32)バイト、EFONT.DATが$48(72)バイトになります。
フォントファイルはこのようなデータがキャラクタ数分だけ続いています。
・座標とアドレスの対応
(アドレスはそのキャラクタの先頭が基準($00)になります)
・FONT.DAT(キャラクタサイズ:16*16)
座標 | 0〜7 | 8〜15 |
0 | $00 | $01 |
1 | $02 | $03 |
2 | $04 | $05 |
... |
|
|
15 | $1E | $1F |
・EFONT.DAT(キャラクタサイズ:24*24)
座標 | 0〜7 | 8〜15 | 16〜23 |
0 | $00 | $01 | $02 |
1 | $03 | $04 | $05 |
2 | $06 | $07 | $08 |
... |
|
|
|
23 | $45 | $46 | $47 |
|
格納されているキャラクタの順番ですが、
FONT.DATは0〜9、A〜Z(大文字のみ)、「.」、「,」、「/」、「←┘(リターンキーのマーク)」 となっています。
EFONT.DATは少し特殊で、
ABCDEFGHIJKLMOPSTYabcdefghiklmnoprstuvwyz()−.
|
と、大小両方のアルファベットがある代わりに、一部の文字が入っていません。
(おそらく、スタッフロールで使われている文字だけが入っているのだと思います)