_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ mod_huffnam _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ 【作者】 : motchy 【最終更新】 : 2015/9/12 【バージョン】 : 1.0.0 【動作確認環境】 : Hot Soup Processor 3.4 (※最新版を推奨) 【開発環境】 : Hot Soup Processor 3.4 -------------------------------------------------------------------------------------------------------------------------------------------- < 概要 >  HSPの標準命令のみを使って2GiB未満(2GiB-2B)のバイナリの静的ハフマン符号化を行うモジュールです。hsp3dishでも使用できます。 -------------------------------------------------------------------------------------------------------------------------------------------- < 詳細 > < 命令・関数一覧 > ・mhfm_init ・mhfm_setProgRpt ・mhfm_cfgProgRpt ・mhfm_enc ・mhfm_dec ・mhfm_cancel < mhfm_init > モジュールの初期化。HSPランタイム起動後、一度だけ実行すること。 < mhfm_setProgRpt > 符号化/複合化進捗状況報告割り込みのON/OFF [書式] mhfm_setProgRpt prm1 prm1 : スイッチ。(0,1) = (OFF,ON) [実行後のstatの値] (0,1) = (成功,失敗) < mhfm_cfgProgRpt > 符号化/復号化進捗状況報告割り込み設定 [書式] mhfm_cfgProgRpt prm1, prm2 prm1 : 進捗状況報告サブルーチンジャンプ先のラベル prm2 : バイトステップ。このバイト数処理する毎にジャンプする。 [実行殿statの値] (0,1) = (成功,失敗) [詳細] ジャンプ先では prog@mod_huffman 変数から進捗状況を百分率(double型)で参照できる。 < mhfm_enc > 符号化 [書式] mhfm_enc prm1, prm2, prm3 prm1 : 入力元変数 prm2 : 入力のサイズ(byte) prm3 : 出力先変数 [実行後のstatの値] (-1,other) = (失敗,出力サイズ) [詳細] 進捗状況報告がONになっている場合は、指定されたバイト数処理する毎に指定されたラベルにサブルーチンジャンプする。 ジャンプ先では phase@mod_huffman から段階を取得できる。(0,1) = (ハフマン木構築中,符号化中) また、prog@mod_huffman 変数から進捗状況を百分率(double型)で参照できる。 < mhfm_dec > 復号化 [書式] mhfm_enc prm1, prm2, prm3 prm1 : 入力元変数 prm2 : 入力のサイズ(byte) prm3 : 出力先変数 [実行後のstatの値] (-1,other) = (失敗,出力サイズ) [詳細] 進捗状況報告がONになっている場合は、指定されたバイト数処理する毎に指定されたラベルにサブルーチンジャンプする。 ジャンプ先では prog@mod_huffman 変数から進捗状況を百分率(double型)で参照できる。 < mhfm_cancel > 処理の中止 < 諸注意 >  処理は全てオンメモリで行います。符号化前データの2倍の空き領域があれば十分ですが、巨大なファイルを処理する場合は空きメモリに 注意してください。 < 符号化バイナリのフォーマット > [0,1023] : int 4byteブロック×256個 = 1024byte。第iブロックはiの出現回数。 これで復号化後サイズS[byte]がわかる。 [1024,1023+S] : 符号化データ -------------------------------------------------------------------------------------------------------------------------------------------- < ライセンス > motchy が書いたソースコードと関連ファイルはMITライセンスに従います。 詳しくは LICENSE.txt を参照してください。 This software's source code and related files made by motchy are released under the MIT license, see LICENSE.txt. -------------------------------------------------------------------------------------------------------------------------------------------- < 作者連絡先 > grepon8492@gmail.com 不具合等、お気付きの点がありましたらお気軽にご連絡ください。 但し、対処する保証はありません。 -------------------------------------------------------------------------------------------------------------------------------------------- < 謝辞 > 手軽で多機能なプログラミング言語 Hot Soup Processor 開発者の皆様に感謝致します。 --------------------------------------------------------------------------------------------------------------------------------------------