日本語コンソール。2


jconsole w.i.p 1



まだ1文字表示のみ。1バイト文字と2バイト文字の表示まで。
勉強も兼ねてるので、簡単なところで 8x8 の美咲フォントで実装中。


ASCII, ANK コードに位置するフォントデータはスタティックとする(マップ0〜255)。
SJISコードに位置するフォントデータはダイナミックロードとする(マップ256〜1024)。


ASCII, ANK コードはマップ No と文字コードとを対とする。


SJIS コード自体はどのマップとも関係は不定。
マップそのものに関しては、
マップ No 256〜1024(768 マップ分) と NDS スクリーンの X0〜X31, Y0〜Y23 とを対とし、
指定された表示位置に SJIS 文字の表示要求が発生した場合、
表示位置(マップ No)と等しいタイルアドレスに SJIS フォントデータを読み出して表示を行う。


美咲フォント(png)を 1 次元のベタな状態で持ってるので表示の際は SJIS 用に再計算してる。
めらまんさんのとは逆のアプローチ。
フォントを分割して、前もってリスト化して手間を省くか
1 次元配列から計算で取り出すかの違い。


EUC なら美咲フォントのベタデータがまんま等しい状態であることに気付いたのは SJIS が動くようになった後ですた。