#99 Article 903 Posted at 1995/05/12 11:16:39 by MEX (MAP5294) [ML1]
Subject: ロードできない
> はいっ。この2枚、
>>SAMPLE1 ML1 1229 95-05-02 13:43
>>MEX10053 ML1 1413 95-05-11 22:40
> ml1b でロードしようとすると、
> sample1.ml1 は "Abnormal program termination" てって
> 絵を半分くらいロードしたところで終わっちゃうし、
> mex10053.ml1 は、半分くらいロードしたところでハングって
> リセットがかかってしまいます。
> ml1a、ml1w、ml1g、luna、ml1c では正常にロードできました。
そそ(笑)これはIllustshopで保存したものです。
Illustshopで吐いたビット列を ml1b に入れるとよく起きます。
実は昔から気にはなっていました(ォ
拙作のセーバーモジュールが吐いたデータはそのような結果になること
があります。(ちなみに同じ物をめぢVでセーブすると ml1b は問題ない)
しかしながら、ml1b 以外の手持ちのローダーでまったく問題ないものですから
たぶん ml1b に原因があるのかと勝手に思って黙ってました(笑)
解っていることを報告します。
---------------------------------------------------------------------------
Illustshopのセーバーモジュールのエンコード方法はほぼNOZOMU氏のC言語の
ひな型をアセになおしただけのものですが、オリジナルで縦連鎖に2つの枝刈
を入れて無駄な縦連鎖を抑止しています。
2つの抑止法とは、縦連鎖を横方向伸張で代用できると判断した時は、先行の
連鎖を戻って取り消すことと、斜め方向の縦連鎖に於いて斜度に追いつかない
状態の時はあらかじめ連鎖を取りやめることです。以下に説明します。
前者の例 ---------------------------------------
|<-------->| 全画面として
1111112222
(3)-->1111122231<--(1)
1122222222
^
|
(2)
上図ではじめ色1の縦連鎖がありますが、(2)まで下がりません。
それは(2)の変化点からの横方向伸張で代用できるからです。
ですからこの場合(3)までしか下がりません。
「ローダーの仮想VRAM構造がひな型とおりである」ということを前提にして
います。(つまり(2)から(1)へつながっていると考えます)
そのために展開プログラムの構造によってはうまくないのかと(謎)
でもこれって規格内だと受けとめているのですが(^^!
後者の例 ---------------------------------------
(1)
|
v
1111112222
1112222222
^^
||
(32)
上図の色1から2への変化に対して、(1)の位置から下に縦連鎖を
探索し、2つ左の下(2)の位置に連鎖するはずなのですがこの場合
連鎖はしなくなります。横方向伸張を(3)の位置から利用できるからです。
これは問題起こさないと思います。
---------------------------------------------------------------------------
以上、説明終わり。
絵の乱れ具合(笑)からいって、たぶんml1bでの不具合はは前者に起因
するかと予想されますが・・・どうでしょ?(笑)
MAP5294 MEX