松下仕様12ドット漢字ROM解析資料 by ごりぽん 0.初めに  このデータは,ごりぽんが独自に漢字BASIC等を解析した結果によるものです. 松下電気産業への問い合わせはご遠慮ください. 1.I/Oポート  松下仕様12ドット漢字ROMは,以下のI/Oに接続されています. −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− I/O R/W 用途 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 40H R/W 拡張I/Oセレクト(FS-CM1のみ) 42H W 漢字ROMイネーブル(FS-4600Fのみ)  bit0 第一水準漢字(ON=1)  bit1 第二水準漢字(ON=1) 47H W 漢字番号上位8bit 48H W 漢字番号下位8bit 49H R フォントデータ −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 2.フォントデータの読み出し  2.1.漢字フォントの読み出し方   ・FS-CM1内蔵の場合  メーカーコードF7H(08Hではない)の拡張I/Oを選択してから,漢字番号 を設定してフォントデータを読み出します.  この場合,使う前後で拡張I/Oセレクトが変化すると,他の拡張I/Oを使 用するプログラムで不都合が生じる可能性があります.必ず拡張I/Oセレ クトの値を保存しておき,使い終わったら復帰させるようにしてください.  なお,割り込み処理中に拡張I/Oが操作される可能性もありますので, アクセスする際には割り込みを禁止したほうが良いでしょう.   ・FS-4600F内蔵や第二水準漢字の場合  漢字イネーブルビットをONにしてから,漢字番号を設定してフォント データを読み出します.  FS-4600FにFS-CM1を接続した場合を考慮して,FS-CM1(メーカーコードF7H の拡張I/Oデバイス)がある場合,第一水準漢字をONにしてはいけません.  2.2.漢字番号の計算方法(第一・第二水準共通)    シフトJISコードから7340Hを引いた値が漢字コードになります.半角の場合   には半角コードそのまま(00000H〜00FFH)が漢字番号になります.  2.3.フォントデータの並び方    フォントデータの並び方は,全・半角共通で以下のようになっています.半   角の場合はフォントの左半分が有効です.        +−−−−−−−−−+−−−−−−−−−−−−−−−−+  1ライン目 |1バイト目のデータ|2バイト目のデータの上位4bit|        +−−−−−−−−−+−−−−−−+−−−−−−−−−+  2ライン目 |2バイト目のデータの下位4bit|3バイト目のデータ|        +−−−−−−−−−+−−−−−−+−−−−−−−−−+  3ライン目 |4バイト目のデータ|5バイト目のデータの上位4bit|        +−−−−−−−−−+−−−−−−−−−−−−−−−−+    ・   |             ・            |    ・   |             ・            |    ・   |             ・            |        +−−−−−−−−−−−−−−−−−−−−−−−−−−+  2.4.第一水準漢字ROMのチェック    第一水準では,漢字番号0000H(半角スペース)の先頭2バイトが00Hで,漢字   番号0E5FHの始め8バイトの合計が4CHになるようになっています.    なお,拡張I/OにメーカーコードF7Hの機器が接続されている場合,必ず第一   水準漢字が存在しますので,上記のようなチェックは必要ありません.  2.5.第二水準漢字ROMのチェック    第二水準では,漢字番号255EHのフォントの先頭2バイトが41H,42Hになって   いるようです.ただし,これは漢字BASICでチェックされているのを確認した   だけであり,現在のところ第二水準の漢字ROMは発見されていません. 4.その他  4.1.漢字ROMのデータの鮮度    松下仕様12ドット漢字ROMには,罫線などがサポートされたJIS83のJISコー   ドが使用されているようです(8区にJIS罫線が入っています).  4.2.未定義文字コード    JISコードで定義されていない9区から15区には,横向きフォントやトランプ   マークなどのフォントが格納されています.12ドット漢字ROM専用ということ   で構わなければ使用しても問題はないでしょう.