LZFR スイッチ[リソースID] 入力ファイル名 出力ファイル名 |
(記述例) LZFR f data.bin data.fr LZFR e5 font.fr fontlz.fr |
+0 | unsigned short magic | 'FR' リソースファイル識別コード | リソース共通ヘッダ |
+2 | unsigned short type | 'LZ' LZIL データ識別コード | |
+4 | short size16p | ヘッダも含んだリソース全体のサイズ(16バイト単位) | |
+6 | unsigned short id | リソースID | |
+8 | unsigned short type2 | 'DT' LZDT データ識別コード | 独自追加部分 |
+A | unsigned short size | 展開後のデータサイズ | |
+C 以降 | 圧縮されたデータ |
+0 | unsigned short magic | 'FR' リソースファイル識別コード | リソース共通ヘッダ |
+2 | unsigned short type | 'LZ' LZIL データ識別コード | |
+4 | short size16p | ヘッダも含んだリソース全体のサイズ(16バイト単位) | |
+6 | unsigned short id | リソースID | |
+8 | unsigned short type2 | 'BM' LZBM データ識別コード | 独自追加部分 |
+A | unsigned short size | 展開後のデータサイズ | |
+C | unsigned char width | 横のフォント個数 | |
+D | unsigned char height | 縦のフォント個数 | |
+E | unsigned char format | FRBM 形式と互換を保つためのダミー | |
+F | unsigned char reserve | 予約(未使用) | |
+10 | unsigned char clrtable[4] | FRBM 形式と互換を保つためのダミー | |
+14 | unsigned short pal_table[16] | パレット | |
+34 以降 | 圧縮されたデータ |
#include "lzil.h" LZIL LzIL; |
int result; result = ilibIL->_open("@lzil", (IL far *)&LzIL); if (result != E_FS_SUCCESS) { /* LZIL 使用不可能なので、シェルに戻るなどの処理を記述する */ } |
int far lz(void far *src, void far *dst, void far *work) <<機能>> LZDT 形式のデータを一括展開します。 <<引数>> void far *src LZDT データが格納されているアドレスを指定します。 void fat *dst 展開先のメモリアドレスを指定します。 当然ですが、展開先のワークサイズは、 展開後のデータサイズ以上確保しておく必要があります。 不足していると、メモリエリアを破壊しますので、ご注意ください。 void far *work 展開用ワークエリアのアドレスを指定します。 展開用ワークエリアのサイズは必ず 4096バイト以上必要です。 4096バイト未満ですと、メモリエリアを破壊しますので、ご注意ください。 <<戻値>> 0 : 展開失敗 1 : 展開成功 |
unsigned short far lzFont(void far *src, void far *work, short spat) <<機能>> LZDT および LZBM 形式のデータを展開し、フォント定義します。 <<引数>> void far *src LZDT および LZBM データが格納されているアドレスを指定します。 void far *work 展開用ワークエリアのアドレスを指定します。 展開用ワークエリアのサイズは必ず 4096バイト以上必要です。 4096バイト未満ですと、メモリエリアを破壊しますので、ご注意ください。 short spat 定義を開始するフォント番号を指定します。 値は 0 〜 1023 の範囲で指定してください。 <<戻値>> 0 : 展開失敗 0 以外 :「最後に定義したフォント番号+1」が値として戻ります。 <<補足>> 厳密には、圧縮データを展開し、展開データが32バイトに達する毎に、 1フォント定義することを繰り返します。 また、本サービスコールは、16色カラー・パックトモード以外で動作させないでください。 |