[Subject Prev][Subject Next][Thread Prev][Thread Next][Subject Index][Thread Index]

[OSASK 3675] cmptek0a.



  こんばんは、川合です。


Hidemi KAWAI は 2002/05/20 21:15:31 の「[OSASK 3672] cmptek0(Re:
 pictw25).」で書きました:

>  適当にやったら、できちゃいました。・・・が、どうもバグがあるよ
>うで、大きなファイルがうまく圧縮できません。OSASKはセグメンテー
>ションによる保護例外がまめに出るので、そのせいで今まで気がつかな
>かったバグを発見したのかもしれません。そうでなければ、OSASKのバ
>グを発見したのかもしれません。まあ何にしても、もうちょっとかかり
>そうです。

  バグはアプリにありました。

  初めはアプリを疑って、調べるうちにOSASKの方がおかしいような気
がして、init.askを調べて、papi0.askを調べました。しかし調べれば
調べるほどOSASKはまともで、だんだんi486SXそのものを疑いはじめま
した。例外が起きる理由がないのに例外を起こしているように見えたの
です。・・・しかし、もっと調べるとi486SXに罪はないと分かり、イン
テルに心の中で謝りました。

  そもそも変なポインタを生成しているのは結局アプリの方だと分かっ
て、今度は「すまんなあ、OSASK。君を疑った僕が悪かったよ」とぼや
きつつ、cmptek0を何度も走らせて挙動を観察したら、バグの個所が推
定できて解決できました。

  どこが悪いか分かってみると実にくだらないことで、こんなことのた
めに5時間くらい悩まされたというのは実に屈辱的でした。精進せねば
!

  さてぼやきはこれくらいにして、このアプリの使い方を説明しておき
ます。ちなみにcmptek0aはベータリリースで、ドキュメントが入ってい
ません。

  cmptek0は、mcopyc0と似たような挙動をします。ただ出力されるファ
イルがtek0で圧縮されてくるというだけです。mcopyc0は解凍ツールと
しても使えるので、これでOSASK上で圧縮・展開ができることになりま
す。

  さっそく、pete3t上でVRAMIMAG.BINを作って、F6を押して、そのVRAM
IMAG.BINを圧縮してみました。起動直後の状態をキャプチャーしたので
すが、512KBが1.98KBになりました。tek0、おそるべし!もちろん、こ
のアーカイブはOSASK上でもWin95上で"bim2bin2 -restore"を使ってで
も、どちらでもちゃんと512KBに戻りました。

  多分、ウィンドウをたくさん並べたりしたときの圧縮率は悪いでしょ
う。でもまあ、圧縮しないよりはずっとマシだと思うので、使ってみて
ください。>小柳さん

  ところで、cmptek0aは最大512KBのファイルまでしか圧縮できません
。ということでより大きなファイルを圧縮したい場合は、ソースをいじ
って再コンパイルしてください。うまく動くかどうかは分かりませんが
(笑)。


  それでは。

--
    川合 秀実(KAWAI Hidemi)
OSASK計画代表 / システム設計開発担当
E-mail:kawai !Atmark! imasy.org
Homepage http://www.imasy.org/~kawai/