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

[OSASK 3044] Re: OSASK/TOWNS 800x600



  こんにちは、川合です。


I.Tak. さんは 2002/01/16 22:01:01 の「[OSASK 2935] OSASK/TOWNS 8
00x600」で書きました:

> OSASK/TOWNSの仮想画面をコンパイルオプションで変えられるように
>改造したものがようやくできました(言ってから半月放ってもう一月)。
>http://home1.catvmics.ne.jp/~msy/tak/osask/ostwkai7.htm

  結局、TOWNS HRで864x606を実現するのは、不可能のようです。

  僕は上記からアーカイブを1/17にダウンロードして、まずソースをad
elaid6に組み込んでみました。・・・起動直後はいいんですが、仮想画
面の大きさを実感しようと、マウスで横に8ドットほどスクロールさせ
てみるといきなり画面が乱れました。

  僕はたまげて組み込みを中断し、まずはアーカイブ内にあったosask.
exeを実行してみました。・・・しかしこいつも画面が乱れて、場合に
よってはハングアップさえしてしまいました(画面が緑一色になって、
ハードウェアリセット以外の何も効かなくなる・・・セミハイレゾに切
り替えようとしてなったこともありました)。

  「どうもバグがあるらしい」と思った僕は、ソースをそのまま引用し
ないで、自分で少しいじってはテストを繰り返すことでadelaid6に組み
込んでいきました。そうしたら、どこが原因か分かりました。

  CRTCのコントロールレジスタ0(0x1c)を0x803fにすると駄目なようで
す。0x800fのままだと表示は乱れますが、ハングアップはしないで済み
ます。この差はCEN1とCEN0を1にするか0にするかの違いで、ようするに
カウンターキャリーを有効にしたら死んでいるということなんですが、
アスキーの赤本によると、640x400モード以外ではディゼーブルにせよ
、とのことです。・・・なおうちのHRでは、0x803fにしてもスクロール
した時に画面は乱れます。結局どちらに設定しても864x606のときの画
面の乱れを回避できていません。1024x512で0x800fなら、乱れもなく安
定しています。

  もしかしたら、I.Tak.さんのマシンでは0x803fにしてもOKだったのか
もしれません。そんなわけでソースはそのままTWVSW対応にしてありま
すが、adelaid7ではTWVSWは1024で、CRTCのコントロールレジスタ0は、
0x800fにしてあります。・・・もし興味がございましたら、make21がリ
リースされた時に、TWVSWを864にして再ビルドしてください。


  それでは。

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