macvid0 at nubus0 slot c: RasterOps 8/24XLi macvid0: Unknown video card ID 0x2a0 -- Not Installing interrupt routine. macvid0: 1152 x 870, monochrome grf1 at macvid0 ite at grf1 not configuredと表示されています。 つまり、1152x 870モノクロームとして認識されたということですね。
さて、Color
Video LKMかSLOTMAN kernelを使用しないとカラーにはならないので試してみたところ、どちらの場合も起動時にRasterOps
24XLiをチェックしている所でデバッグモードに落ちました。
Color Video LKM の方のソースを追いかけてみると、アセンブラソース内で落ちているようでした。 詳しくは判らないのですが、カードのリソースで見つからないものがあったにも関わらず、エラーリターンせずに突っ走っているためだと思われましたので、この部分を変更して取り敢えずデバッグモードに落ちることだけはなくなりました。
それにしてもマジックナンバー0x40,0x80ってなに?
意味も判らず、ソースを追っかけてしまうのであった(笑)<時間の無駄だってば
また、RasterOps 24XLiを抜いて、内蔵ビデオだけにするとNetBSDは起動しますが、Xはカラーにはなりませんでした。
結局、GENERICカーネルだけにして、
後日、RasterOps 24XLiに関する情報(「サポート外のNuBusビデオカードへの対応」参照)を調査してAllen Briggs氏に送ったところ、対応コードをcurrentに付け加えた旨とその修正内容のメイルを頂きました。 さっそく、ソースに修正を施し、カーネルの再構築をしています。 こちらでテストしないと誰もテストしてくれませんからね。(まあ、できれば、それを元に自分で対応できれば申し分ないのですが、取り敢えず無駄な努力とは思いつつやってみた所、どこでどういう処理をすればいいのかまで判っても、どういうコードを書けばいいかわからず、やはり無駄に終わりました。)
さて、対応コードを付け加えたカーネルで起動してみると、起動メッセージは、
macvid0 at nubus0 slot c: RasterOps 8/24XLiとなり、
macvid0: 1152 x 870, monochrome
grf1 at macvid0
ite at grf1 not configured
macvid0: Unknown video card ID 0x2a0 -- Not Installing interrupt routine.の行は消えたので、カードは認識され、インタラプトルーチンはインストールされたという事なんでしょうね。 (というか、カードを認識させインタラプトルーチンをインストールするコードを追加したんだから当然といえば当然なんですが...)
macvid0 at nubus0 slot c: RasterOps 8/24XLiとなり、Xもうまく動作しています。 もちろんカラー対応カーネルではありませんので、Xは256グレイスケールとなります。
macvid0: 1152 x 870, 256 color
grf1 at macvid0
ite at grf1 not configured
ちょっと調べて見たら、このカードが動作可能なMonitor Depth(このカードの場合5種類)を表すコードは返してくるように見えますが、なにがいけないのでしょうか? これ以上は判りません。(あ、当然か)
というわけで、現在は、
HQP00700@nifty.ne.jp