更新日: 2011 年 11 月 15 日
PIC 拡張ヘッダ
メモ
結城見さん のページから転載。
picheader.txt
(A)PICが持っていないセーブ時の座標などの情報を、コメントの領域を利用して 埋め込もうというアイデアです。埋め込みに使っているのがコメント領域なので普 通のAPICローダーでも正常にロードできます。 PIC/MM/ ファイルの先頭がこれで始まらなかったらこの規格外 と、いうわけで通常の(A)PICファイルとしてロード この後は順不同で、以下のフラグがあります。フラグの切れ目は/であり、途中 に余計なスペースをはさんではいけません。また大文字のみです。 XY00000000/ 左上の座標。 無い時は(0, 0) MK/ 縦横2倍拡大 無い時は拡大の必要無し MY/ 縦2倍拡大 無い時は拡大の必要無し MHY/ 縦方向補正拡大(512/424倍) 無い時は補正の必要無し MS?/ 表示スクリ−ンモ−ド ?...5,6,7,8,A,B,C 無い時はSC8 XS?/ 画面モード。?...Nは512x512モード。Sは768x512モード。 無い時は512x512。 ただしAPIC16色の時には強制的に768x512 XF?/ 解像度。?...Hは31kHz。Lで15kHz。無い時は31kHz AU名前/ 著者名(GORRY.さんのAPICGに付いている) : ヘッダの終わり。あとは自由にコメントを書いていい これ以外の文字列は将来への拡張用ということで、次の/,あるいは0x1aまで無視する フラグの詳細 ・XY????????/ セーブされた矩形の左上の座標。 ちなみに大きさについてはPICフォーマット内部で規定されている MSXでセーブ時に使われるフラグ ・MK/ 縦横を単純に2倍に拡大する ・MY/ 縦を単純に2倍に拡大する ・MHY/ X68000で表示するときには縦方向を512/424倍に拡大する ・MS?/ スクリーンモード7は512*256,最大16色。8は256*256,最大256色 X68000でセーブ時に使われるフラグ ・XS?/ 768x512モードというのは画面が768x512モードで、 そこに512x512以内の絵を表示することです。 (つまり横が2/3に潰れて、ドット縦横比がほぼ正方形になる) ・XF?/ 普通は31kHzで使っています。15kHzにするとやや縦が伸びます。 ・他 元々のapicフォーマットで画面モード(65536, 32768, 256, 16色)が決ります ドット比 31kHzで 横 / 縦 = 1.44 15kHzで 横 / 縦 = 1.28 (768x512モード 31kHzで 横 / 縦 = 0.96) いずれも定規で測った推定値 例 PIC/MM/XY00120035/:<1a><00> (12, 35)からセーブしたもの PIC/MM/MK/:あればコメント<1a><00> 縦横2倍拡大 PIC/MM/MY/XY00320015/MK/:<1a><00> 縦横2倍拡大、縦補正。位置は(32,15) PIC/MM/XSS/:コメント<1a><00> 正方形モード PIC/MM/AU結城 見:<1a><00> 著者名は「結城 見」 前世の遺物 PIC/mfged5/????????<1a><00> これは PIC/MM/XY????????/:<1a><00> と同じことです。mfged.x V4.5fと、V5.0 のプロトタイプで使用しているので、mfged.xは宿命としてサポートしますが、他 では気が向かなければサポートする必要はないと思います。 MSX:MERONさん(NAT23181)と、X68000:結城 見(NAT21946)とで考えました。 今のところこの2人の作ったプログラムと、あとzedやepicなどで画面モードと位置 (要はX68000用のフラグ)を読んでロードしてくれるようになりました。 ほんとうは、元祖PICでこうした情報を埋め込むように拡張されるのが良いので、 もしPICが作者の柳沢さんによって拡張されたら、 このヘッダは、はかなくも消える運命にあります。 GORRY.さんのAPICGで「AU」追加になりました。私も対応することにしました。 (mmapicの方はもう手を加えることはないので、mfgedの方で) このドキュメント、転載自由です。