******************************************************************************* 常駐デバイス型 'FONT' for PC-E500/1480U シリーズ Programmed by H.Morita ******************************************************************************* 0:はじめに ------------------------------------------------------------------  このプログラムは、基 建吉さん によって制作されたフォント変更プログラムの 常駐デバイスバージョンです。 1:主な機能 ------------------------------------------------------------------  ・$00ー$FFのフォントをユーザー独自のフォントに置き換えられる  ・BASICの INIT 命令で ROM FONT <--> USER FONT の切り替えが可能  ・[CTRL]+[+/-]でひらがな <--> カタカナ の 切り替えが可能(フォントがそれに 対応していれば) 2:動作環境 ------------------------------------------------------------------  動作確認は、PC-E500 ROM Ver 2 で行いました。  インストール時には、機械語領域$BE000以降を使用します。 3:インストール --------------------------------------------------------------  インストールを行う前に、現在のフォントが正常なものかどうか確認してください。  まず、機械語領域を最低$BE000まで確保してください。  その後、 LOADM"FONT":CALL &BE000 とします。すると、S1に「FONT.SYS」、「FONTKEY.SYS」の2つのファイルができま す。これが常駐部です。  これで終了です。しかし、これだけでは独自のフォントはセットされません。イン ストール時にはROMのフォントがセットされます。 4:フォントの登録 ------------------------------------------------------------  フォントの登録は、「FONT」を使用します。  機械語領域を$BE000まで確保し、 LOADM"FONT":CALL &BE000"[FILENAME] とします。[FILENAME]がフォントファイル名です。ファイル名にはドライブ名も必ず 付けてください。 フォントの登録に成功したら、フォントが登録したものに切り替わり、 Stay font と表示されます。 Can't set font と表示されたら、 1) 指定したファイルが規定のフォーマットになっていない 2) S1に「FONT.SYS」がない のいずれかです。  指定したフォントファイルがなかった場合、インストールを行います。  なお、フォントファイルに入っていないキャラクターコードのフォントは、以前の データがそのまま残ります。 5:フォントの切り替え方法 ----------------------------------------------------  BASIC の INIT命令か、「FONT」を使用します。 INIT"FONT:S" 登録したフォントになる or LOADM"FONT":CALL &BE000"-S INIT"FONT:R" ROMのフォントになる or LOADM"FONT":CALL &BE000"-R INIT"FONT:C ひらがな<-->カタカナの切り替えを行う or LOADM"FONT":CALL &BE000"-C  ひらがな<-->カタカナの切り替えは、[CTRL]+[+/-]でも可能です。 また、 LOADM"FONT":CALL &BE000"-I とすると、「FONT.SYS」内のフォントデータをROMフォントで初期化します。 6:フォン卜ファイルのフォーマット --------------------------------------------  先頭4バイトが 'FONT' となっていて、その後にフォントデータの開始キャラクター コード1バイトが入り、その次に、終了キャラクターコード1バイトが入ります。そ のあと、ひらがなフォントがあれば1、なければ0を入れ、その後ろにフォントデー タを入れます。フォン卜データは6バイトで1キャラクタ分のフォントデータになっ てます。フォントデータはGPRINT文のデータ形式と全く同じです。  ひらがなフォントを入れるときは、全てのひらがなフォントのデータを入れなけれ ばなりません。キャラクターコードの$A6から$DDに対応するフォントを入れて ください。 フォントファイルの例 'F' 'O' 'N' 'T' $20 $FF $01 この場合、$20から$FFまでのフォントと ひらがなフォントが入っていることを示 します。 XX XX XX XX XX XX CHR(&20)のフォント : XX XX XX XX XX XX CHR(&FF)のフォント XX XX XX XX XX XX CHR(&A6)に対応するひらがなフォント : XX XX XX XX XX XX CHR(&DD)に対応するひらがなフォント 7:プログラムについて --------------------------------------------------------  インストール時にIOCSのパラメータワーク「キャラクタ・フォントの格納アド レス」を読みだし、「FONT.SYS」内にセットしています。これを見て、フォントの切 り替えを行っています。  このプログラムは、デバイスとしてIOCSに登録されています。仕様は、以下の 通りです。 ドライブ名  : FONT: デバイス番号 : 11以降 ドライブ番号 : 0 デバイス属性 : $80 サポートするコマンド : $3Fのみ  FONT:のコマンド$3Fは、Xレジスタに以下の設定情報文字列の先頭アドレスをい れて呼び出します。 'S' 独自のフォントに切り替える 'R' ROMのフォントに切り替える 'C' ひらがな、カタカナのフォントデータを入れ替える  これ以外はキャラクタフォントの格納アドレスの再書き換えを行います。  また、「FONTKEY.SYS」で STDI:,KYBD: デバイスをフックして、コマンド$43が 発生し[CTRL]+[+/-]が押されたときにフォントの切り替えを行ってます。[CTRL]+[+/-] には、もともとフォントの格納アドレスを正常に直す機能があり、$43の後にフォ ントを切り替えてそのまま[CTRL]+[+/-]のコードを渡すとフォントの格納アドレスが ROMのものに書き換えられてしまいます。このため、独自のフォントを使用してい るときは[CTRL]+[+/-]のコードを検出できないようにしています。  「FONT.SYS」のIOCSヘッダの後にフォントデータ格納アドレスが入っています。 8:著作権など ----------------------------------------------------------------  このプログラム及びドキュメントの著作権は 森田久也 が保有します。また、同梱 されている2つのフォントファイル「ALPHA.FNT」と「KANA.FNT」のフォントの著作権 は 基 建吉さんにあります。  運用、転載、配布などに関しては、以下の通りです。  ・個人的に改変するのは自由ですが、転載配布するときには、すべてのファイルを   改変せずにまとめて転載配布してください。  ・配布する際は、実費以外は無償で行ってください。  ・作者の著作権を侵害する恐れのあるBBSなどへの転載は禁止します。  ・転載するときは、事前に連絡してください。  ・バージョンアップされたときは、できるだけ最新版を配布してください。  ・このプログラムやドキュメントを使用したことによって生じたいかなる損害にも   作者は免責とさせていただきます。  ・このプログラムやドキュメントにミスがあっても、作者はそれを訂正する義務を   負わないものとします。  また、フォントに関しては、 > 手数料を除く金銭をともなわない配布に関しては自由とします。 > ご自由に自分のソフトに組み込んでくださって構いません。 > その際、できればフォント作成者の名前を明記してください(この場合は私ですね)。 ^^ 基さんのこと  ということです。 9:参考にしたもの ------------------------------------------------------------  このプログラムおよびドキュメントを作るのに、以下のものを参考にさせていただ きました。(敬称略) ・FONT 92/12/21版 基 建吉 ・JFP Ver. 1.05 近 成人  また、同梱のフォントファイル「ALPHA.FNT」と「KANA.FNT」は 上記の FONT 92/12/21版 付属の「FONT3.SYS」から、「ALPHA.FNT」は$20ー$7Eのフォント、 「KANA.FNT」はかなフォントを抜き出したものです。 10:履歴 -------------------------------------------------------------------- 92.12.23 Version 1.00 初版 93.01.05 1.10 「FONT」と「FONTINST」を1つにまとめた かなフォントの配置を変更 フォントファイルのフォーマットを変更 ファイル名作成ルーチンのバグを修正 「FONT」に−Iを追加 93.02.14 1.20 「FONT」を自動実行にするとインストール できなくなる不都合を修正 93.02.20 1.30 Ver1.20でインストールの不都合が直って なかったのを修正 ドライバのエラー時の処理を変更 93.03.12 1.40 iocsヘッダが2つ含まれているため、 ファイルを2分割した 11:最後に ------------------------------------------------------------------  素晴らしいフォントを作ってくれた基さんに多謝。 ポケット通信Ver.3 ID:1827 HiM