白石先生へ

 投稿者:SECOND  投稿日:2009年 7月 6日(月)03時18分45秒
  白石先生へ
御世話になります。complex\ sin_2.BAS 外部例外 ご返事の件の 環境 詳細です。
「拡大する枠」までは、かなりな頻度で、行けるのですが、その先で、止まります。

<システムのプロパティ> のコピー。
全般                        <仮想メモリ>
システム :                ハードディスク: C:\4417MB の空き
   Microsoft Windows 98             最小: 128 MB
   Second Edition                           最大: 最大値なし
   4.10.2222 A
製造およびサポート元 :
   NEC
   LaVie
   GenuineIntel
   x86 Family 6 Model 8 Stepping 1
   255.0MB の RAM


<追記>
先頃、外部例外のご報告を、先生にお送りした所、次の様なご返事を頂きました。
ご協力、おねがいします。

-------------------------
ご報告ありがとうございます。
complex\ sin_2.BAS は,DEF文での(BASICの)例外を頻繁に起こさせるプログラムです。
十進BASICは例外が起こるたびごとに例外に関係した情報を動的に確保されるメモリ上に保存します。
そのメモリは不要になると解放されるのですが,メモリの断片化のために必要以上の(Windowsの)仮想
メモリを消費する可能性があります。
Windowsの仮想メモリの拡張がうまくいかず,例外0EとしてBASICに戻されているように思います。
Windowsの仮想メモリの設定にもディスクの残量にも問題がないようでしたら,
原因の特定には同じ現象を起こす環境を特定する必要があるので,
OSのバージョン情報とともに掲示板に書き込んでいただけないでしょうか。
 

Re: 白石先生へ

 投稿者:白石 和夫  投稿日:2009年 7月 6日(月)10時36分57秒
  > No.428[元記事へ]

「拡大する枠」までは正常に動作し,「拡大する枠」の直後に問題が起こるのであれば,
ディスプレー・ドライバの問題の可能性もあるので,Windowsのコントロールパネルの「画面のプロパティ」の「トラブルシューティング」でハードウェアアクセラレータの目盛りを下げてみてください。
 

Re: 白石先生へ

 投稿者:SECOND  投稿日:2009年 7月 6日(月)17時27分8秒
  > No.429[元記事へ]

アクセラレーターを、止めると、症状が、消えました。 ディスプレイドライバーは、
RAGE MOBILITY PCI (日本語) バージョン:4.12.2083 製造元 :ATI Tech. - Enhanced
ですが、止めてしまうと、他に支障があるため、下の様にして、しのいでいます。
 すみません。ありがとうございました。

しきい値の、710 は、ギリギリ一杯なので、709 にしました。

FOR u= left TO right STEP (right-left)/px
   FOR v = bottom TO top STEP (top-bottom)/py
      LET Lambda=COMPLEX(u,v)
      LET z=0.5             ! 初期値
      FOR n = 1 TO 250
         IF ABS(i*z)< 710 THEN LET z=lambda*sin(z) ELSE EXIT FOR !桁あふれ防止
      NEXT n
      IF 250< n THEN PLOT POINTS: u,v
   NEXT v
NEXT u


<<追記>>
やはり、アクセラレーターを、止めても、頻度は少ないですが、
「例外 0E が、0028:C0059CA9 で発生しました。」で、終ってしまいます。
上の差替え文では、確実に動くのですが・・

WinXP などで、何事もなければ、この問題は、Win98SE 以前のバグのようでもあり、
追跡は、割愛してください。ありがとうございました。
 

Re: 白石先生へ

 投稿者:白石 和夫  投稿日:2009年 7月 7日(火)10時04分21秒
  > No.430[元記事へ]

広く症例を集めることで,原因がWin98SEにあるのか,それともビデオドライバにあるのか,特定できると思います。そのための掲示板利用です。
(その観点で題名が不適切です)
 

戻る