QUASI88 の漢字フォントファイルの構造

IREEN.D88 が N88.ROM、N88SUB.ROM の互換品で動くけど、文字がちゃんと出ない。どうやら、漢字 ROM からフォントを取得して表示しているようなので、漢字 ROM ファイルの互換品を作るべく、構造を調べてみた。

QUASI88 用 N88KNJ1.ROM(128KB)
00000〜00FFF ( 4KB) 8×16ドット半角フォント(16 バイト× 256 文字)
01000〜017FF ( 2KB) 8×8ドット半角フォント(8 バイト× 256 文字)
01800〜01FFF ( 2KB) 未使用(00 で埋めてある)
02000〜03FFF ( 8KB) 16×16全角フォント ANK左部(第1バイト 20〜27、第2バイト 20〜3F)
04000〜05FFF ( 8KB) 16×16全角フォント ANK中部(第1バイト 20〜27、第2バイト 40〜5F)
06000〜07FFF ( 8KB) 16×16全角フォント ANK右部(第1バイト 20〜27、第2バイト 60〜7F)
08000〜0BFFF (16KB) 16×16全角フォント 漢字左下部(第1バイト 40〜4F、第2バイト 20〜3F)
0C000〜0FFFF (16KB) 16×16全角フォント 漢字左上部(第1バイト 30〜3F、第2バイト 20〜3F)
10000〜13FFF (16KB) 16×16全角フォント 漢字中下部(第1バイト 40〜4F、第2バイト 40〜5F)
14000〜17FFF (16KB) 16×16全角フォント 漢字中上部(第1バイト 30〜3F、第2バイト 40〜5F)
18000〜1BFFF (16KB) 16×16全角フォント 漢字右下部(第1バイト 40〜4F、第2バイト 60〜7F)
1C000〜1FFFF (16KB) 16×16全角フォント 漢字右上部(第1バイト 30〜3F、第2バイト 60〜7F)

つ、疲れた・・・。見ての通り、変態的な構造をしています。当時の NEC の人間は何を考えて、こんな構造にしたんだ・・・(いや、理由は想像でけん訳じゃないけどさ・・・。)。
早いハナシが漢字 ROM フォントを ANK 部分と漢字部分に分けて、これを第2バイトで3分割している訳です。順番で言えば、2020〜203F の文字フォントの次に 2120〜213F の文字フォントが続くといったカタチです。