こんばんは、川合です。
Hidemi KAWAI は 2004/05/17 02:39:55 の「[osask 6953] bim2bin4c.
」で書きました:
> まずbim2bin4aではtek0に負けていたhellok1での逆転に成功しました
>。またzero4kやbballc2も負けていたのですが、追いつきました。zero6
>4kはまだ負けていますが1バイトなのでまあ悪くはないです。ビットス
>トリームとバイトストリームに分割する関係上、バイトストリームがど
>こから始まるかをヘッダに書かねばならず、もうこれ以上ヘッダを小さ
>くすることはできないように思います。
いやあ、そんなことはありませんでした。最短符号検索ルーチンのバ
グを取り、さらにヘッダを改良して短形式と長形式を設けて工夫したと
ころ、ブロックサイズさえ十分に大きくとれば、常にtek0に負けないよ
うになりました(テストした範囲では)。
ということでファイルフォーマットがまた変わったので、bim2bin4c
との互換性はありません。
これで一通りの改良は済んだと思うので、このバージョンからはベー
タ版です(註:危険なツールではないので、ベータとは言っても今まで
どおりMLリリース扱いでかまいません)。
http://k.hideyosi.com/bim2bi4d.lzh (26.4KB)
さて改善の結果です。例によってすべてブロックサイズ1MBです。
無圧縮 tek0 tek1 bz2
hellok1.org 272 128 125 166
100% 47.1% 46.0% 61.0%
kdun00b.org 655360 46246 45787 47306
100% 7.06% 6.99% 7.22%
zero4k.org 4096 27 26 43
100% 0.66% 0.63% 1.05%
zero64k.org 65536 28 28 43
100% 0.043% 0.043% 0.066%
bim2bin.c 53792 15019 14744 12903
100% 27.9% 27.4% 24.0%
helloc4 tek0: 497 tek1: 493 改善率:0.80%
helloc9 tek0: 176 tek1: 174 改善率:1.14%
bballc0 tek0: 628 tek1: 618 改善率:1.59%
bballc2 tek0: 295 tek1: 293 改善率:0.68%
invader2 tek0:1699 tek1:1690 改善率:0.53%
invader5 tek0:1258 tek1:1243 改善率:1.19%
(bim2bin.cはbim2bin4cのものです。)
zero64kで負けなくなったのが嬉しいです。またinvader5が1243にま
で改善しており、これはTownsOS版のinvaderのサイズにかなり迫ってい
ます。OSASKでtek1をサポートするとこれが使えるようになるわけです
から、期待大です。
ブロックサイズを変更するには、
prompt>bim2bin -osacmp in:kdun00b.org out:kdun00b.bin bsiz:1m
のように、オプション「bsiz:」を付けます。デフォルトはbsiz:32kに
なっています。
まだ試してはいませんが、osaskgoやjpn16v00もtek1化するとさらに
小さく&解凍速度upできそうです。edimgもtek1対応ですね(edimgの
tek1対応はたぶんtek1のフォーマットさえ落ち着けばすぐにできます
。bim2binの関数をコピーすればいいだけなので)。
それでは。
--
川合 秀実(KAWAI Hidemi)
OSASK計画代表 / システム設計開発担当
E-mail:kawai !Atmark! osask.jp
Homepage http://osask.jp/