★XM7 V1用フォントパッチツール


== 説明 ==

XM7(V1, V2)で使用するフォントを丸ごと入れ替えたり、特定の文字だけを変更したりすることができるツールです。
具体的には、XM7が使用するSUBSYS_C.ROM(V1), またはSUBSYSCG.ROM(V2)内のフォント領域を書き換えることで表示フォントを変更します。

fontp v0.1 ダウンロード (17KB)


== 使用方法 ==

このプログラムは、SUBSYS_C.ROMまたはSUBSYSCG.ROMファイルの中身を書き換えるプログラムです。公開前にテストを行っていますが、依然α版ですので必ず正常動作する保証はできません。実行前に必ずSUBSYS_C.ROMまたはSUBSYSCG.ROMファイルのバックアップを取った上で実行してください。
このプログラムはコマンドラインプログラムですが、コンパイラの都合で32ビットプログラムですのでWindows 9x, 2000でのみ実行可能です。DOSでは使用できません。

書式: fontp patchfile

書き換えられるファイルは自動選択されます。選択ルールとしては、SUBSYSCG.ROMSUBSYS_C.ROMの順にファイルの存在を確認し、先に見つかったほうを書き換えます。これにより、XM V1, V2を気にすることなくコマンドを実行すれば必要なファイルが書き換えられることになります。

patchfile : フォントパッチファイル名を指定します。

フォントパッチファイルは、拡張子により2タイプに分類されます。

.TXT : テキストパッチファイル
特定の文字のみのパッチをあてることが可能。もちろん全ての文字のフォントを書き換えることも可能。指定の書式にしたがってテキストエディタなどでフォントパッチファイルを作成してください。

.BIN : バイナリパッチファイル
$800(2K)バイトのサイズを持つバイナリファイルを指定します。fontpSUBSYS_C.ROMまたはSUBSYSCG.ROM内のフォント領域を指定のファイルで置き換えます。指定のファイルが$800バイト以上あるときは$800バイト以降は無視されます。$800バイトに満たない場合は、ファイルのサイズ分だけが書き換えられます。

この2つ以外の拡張子のファイルを指定した場合、エラーとなります。


== テキストパッチファイルフォーマット ==

テキストパッチファイルは、テキスト形式のフォントパッチファイルです(そのままやん)。
以下の書式でフォントファイルを作成します。フォントファイルは1文字分でも、全部のキャラクタ分でも構いません(任意長)。

・フォントファイルの内容

フォント番号指定
フォント内容(カラム0)
フォント内容(カラム1)
フォント内容(カラム2)
フォント内容(カラム3)
フォント内容(カラム4)
フォント内容(カラム5)
フォント内容(カラム6)
フォント内容(カラム7)

全ての行は行頭からデータを書き始めてください(ホワイトスペースははさまないで下さい)。

・フォント番号指定

(1) 16進数による指定
@に続けて16進数で指定
例: @41 (0x41='A'のフォントを指定)

(2) キャラクタによる指定
-に続けて文字で指定
例: -A ('A'のフォントを指定)

・フォント内容(1ライン分)
0と1で横8ビット分を指定する。8文字以降は任意(コメントも可能)。フォント内容は8ライン分続けて指定する。途中にコメント行をはさむことは可能。実際には0と0以外としか見ていないので、ドットのある部分は別の文字を使っても可能です。
例: 00011000 ; コメント
例: 
00**0000 ; これでも可!

・コメント
行頭を';'か'#'で始めた場合、その行はコメント行とみなされる。

・フォントファイル例

; 'A'のフォントを変更
@41
00010000 ;0
00101000 ;1
01000100 ;2
01111100 ;3
01000100 ;4
00000000 ;5
00000000 ;6
00000000 ;7
; 'F'
のフォントを変更
-F
00000000 ;0
00000000 ;1
00000000 ;2
0$$$$000 ;3
0$000000 ;4
0$$$0000 ;5
0$000000 ;6
00000000 ;7


== その他(余談) ==

Oh!FM-7(http://www3.plala.or.jp/laver/)のHPで紹介されているLaverさんが作られたオリジナルフォントも、このプログラムでパッチ当てを行うことが出来ます。LaverさんのHPからfont1.zipをダウンロードし、解凍した後、font1をfont1.binにファイル名を変更します。その後、'fontp font1.bin'とコマンドを発行すればフォントを入れ替えることが出来ます。

フォントコードの指定を間違ったりしてもSUBSYS_C.ROMのフォントエリア以外を破壊することはないと思います。一応パラメータチェックしています。


== 実行例 ==

C:>fontp font.txt
XM7(V1) Font patch tool v0.1
Programmed by an XM7 supporter
Target file is the SUBSYSCG.ROM
Done!


== 変更履歴 ==

v0.0 2000/5/11 新規作成
v0.1 2000/5/21 SUBSYS_C.ROMとSUBSYSCG.ROMを自動で選択するように変更(V2対応)