[OSASK 5132] Re: LIBR_BMP 0.2

 こんにちは、I.Tak.です。

From: rakkyo <rakkyo-taro !Atmark! nifty.com>
Subject: [OSASK 5073] LIBR_BMP 0.2
Date: Sun, 29 Sep 2002 00:20:07 +0900

> BMPデータ		->graphbox用データ

 このルーチンをちょっと読んでみました。それで気が付いたことを
いくつか。

 bmp_info構造体へのポインタを返すようになっていますが、その構造体
は静的に置いてあるんですよね?それならグローバル変数を用意してもら
って、「勝手に書き換えます」ということでいいんじゃないかと。
川合さんのmtlはそういう引数をとりますし。
あるいは、構造体のポインタを引数にしてそこへ書き込むとか(これが
普通だと思いますが)。

 それから、圧縮bmpの展開で、00 02 hh vv というデータをみつけたら
素直にジャンプするようになっていますよね。これ、graphicboxとしては
相当にマズいはずです。なぜなら、mallocした領域の初期値は不明だから
です……OSASK/ATや98は死にます(OSASK/TOWNSだと、そういうデータには
ファンシーな色が出るだけですが)。

 あと、要らないcmpが多いとか……例えば、
        dec     cl
        cmp     cl, 0
        jz      bmp_type16r_start
というのがありますが、このcmpは要りません。たぶんASKAが吐いた部分で
        dec     EBX
        jne     @GL0000000C
こうなってるようにすればそれでOKです。これは
        EBX--;
    }while(==0)
とかいうのに対応しています。

 もうちょっと踏み込むと、フラグがでてきちゃうんですけど……
命令によって一部のフラグに影響しないとか面倒なので、とりあえず
このへんで。


I.Tak. <g240845 !Atmark! mail.ecc.u-tokyo.ac.jp>
http://user.ecc.u-tokyo.ac.jp/~g240845/


ML番号でジャンプ
ML単語検索