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

[OSASK 2171] Re: Mandelbrot



  こんにちは、川合です。


MITSUNARI shigeo さんは 2001/09/16 21:55:31 の「[OSASK 2166] Man
delbrot」で書きました:

>マンデルブロー表示プログラムを書いてみました。
>>http://homepage1.nifty.com/herumi/soft/mandel.zip

  ありがとうございます。

>adarrel4(以降)専用でカーソルキーでカーソル移動、zで拡大、xで縮小です。

  カーソルを拡大したい位置に合わせてzを押すと拡大できるんですよ
ね?起動直後の全体像が見えている時は確かにそのとおりに動いている
ようですが、拡大画面でやると、少しずれているような気がします。・
・・って僕の思い違いのせいかもしれません(笑)。

>qを押すと落ちます(^^;

  ええと、これも含めて、ソースの一部をフォローいたします。

  ソースの48行目に、「/* この4はどういう意味? */」という質問があ
りましたが、別に意味はありません。REWIND_CODEや0とぶつからない値
なら何でもいいです。たとえば、KEY_SIG_LEFTを2にしてもいいですし
、KEY_SIG_LEFTを1にしてREWIND_CODEを8とかにしてもいいです。値は
連続している必要はありませんが、特に理由がなければ普通は連続にす
るでしょう(笑)。

  ソースの204行目で、プログラムを終了させようとしているように見
えますが、すでにお気づきの通り、これはうまくいきません。

    lib_waitsignal(1, 0, 0);

は、introaのmove2.txtで説明されているとおり、単にシグナルが来る
までスリープするというだけで、タスクを終了するという意味合いはあ
りません。即時終了させるには、introcのcntdwnc4のようにlob_close(
)を使ってください。mandelではシグナルを扱っているので、cntdwnc4.
txtの注意にしたがって終了処理を記述してください。

  また、<string.h>については、[OSASK 1838]でもねさんがちょこっと
作ったりもしていたようです。光成さんのと合わせれば、

  strcpy()
  strncpy()
  strcmp()
  strncmp()
  strcat()
  strncat()
  strlen()
  memset()

になります。・・・そういえば、社内ではかつてもっとたくさんの関数
をサポートした<string.h>があったように思います。2000.11.13の頃の
話です。これは、OSASK-MLでは公開されなかったのですが、もったいな
いので是非公開してください。許可さえいただければ、僕が転載しても
いいです。                                          > Iさん

>16色なんで汚いです。早く256色でるようになるといいですね。

  ごもっともです。256色と高解像度への対応は、次バージョンであるT
revizeの主たる課題です。


  それでは。

--
    川合 秀実(KAWAI Hidemi)
川合堂社長 / OSASK計画総指揮 / カーネル開発班
E-mail:kawai !Atmark! imasy.org
Homepage http://www.imasy.org/~kawai/