[17663]  98のPCIカード認識で疑問
投稿者:かねやす さん   2002-01-17 00:19:21
とりあえずCHANPON2 98BIOS計画ですが、いきなりコケてます(^_^;)。表題の件で
詳しい人、ご教示をお願いします。
PCIカードだと、PC98の認識シーケンスは下記先頭ヘッダだと思うんですが、
------------------------------------------------------------------
+00h word 55h AAh ;PCI仕様シグネチャ
+02h byte ROM BIOS size(n*512)
+03h 4bytes jmp どっか
+07h +17hまでreserved
+18h word PCIRストラクチャへのポインタ
+1Ah word 拡張ヘッダ(なくてもよい)
+1Ch 4bytes 'PC98'
+20h 4bytes 98用のjmp どっか
------------------------------------------------------------------
なんか、PC98情報入れないと、BIOS無視するとおもいきや、+03hのjmpに移動
してるみたいなんでうけど、これって仕様なんですか?

あと、LBA計算は
LBA=(C1*H0+H1)*S0+S1-1
C1=シリンダ番号
H0=ヘッド数(0〜Max Head+1)
H1=選択ヘッド数
S0=全セクタ数-1(?)
S1=セクタ番号

のはずなんですが、色々見てると独自パラメータ振ってて、まったく上記式が
当てはまらないんですが、どこかに変換ロジックをかまさないとダメ? その場
合、IDE BIOSのWORK RAMエリアを使うべきなんでしょうか? Bbank EMSとか
使ったら殺されるでしょうか?
  1. K.Takata さん   2002-01-17 23:55:26
    >PCIカードだと、PC98の認識シーケンスは下記先頭ヘッダだと思うんですが、
    おお、ちょうど知りたかった情報が。なるほど、こうなっていたのか。

    >S0=全セクタ数-1(?)
    1トラックあたりのセクタ数ですね。
  2. まりも さん   2002-01-18 00:20:01
    とりあえず出版物として分かりやすいのは、
    OpenDesign No.7 CQN出版 126頁なんで、まずこれをを読むべし。

    >これって仕様なん
    思いっきり仕様です。98の仕様ではなくx86互換PC/ATマシン一般の仕様。

    >IDE BIOSのWORK RAMエリア
    こんな所は使いづらい(通常は書き込み不可属性なので)し、未使用かどうかも分からないで使うのは危険です。IDE装置が繋がっていない場合は出現しない機種もあります。

    >Bbank EMS
    PCI搭載の9821にはこの機構はありません。

    で、結局何をやりたいのか分からないんですが…。BIOSの移植はそう簡単ではないです。
  3. K.Takata さん   2002-01-18 00:39:45
    >OpenDesign No.7 CQN出版 126頁なんで、まずこれをを読むべし。
    この本持っているのにすっかり存在を忘れてました。(笑
    というか、本当はこんなことをやっている場合ではないのですが。(汗

    >独自パラメータ
    私にはこれが具体的にどういうことなのか分かりませんでした。
  4. かねやす さん   2002-01-18 13:26:23
    ジャンクで買ってきたpromiseのATA33カードへの98BIOSはほとんど完了しました。
    ただFlashROMに焼いても起動できない(^^;)ので、困ったちゃん状態。無視してく
    れればいいのにと思いつつ、昔のざべに書いてあったPCIカード説明見ながら、あ
    あでもこうでも、とやってます。
     あと、CHSアクセスなんて、さらさら実装する気なかったのですが、DISK BIOS
    のリニアアクセスだと4Gで壁になるので、それ以降は、しょうがなくCHSパラメー
    タ→LBA変換ぽいのを書いてみて、使えてるHDさしてreadしたら、セクタ、トラッ
    ク変換で失敗しているらしく…以下同様(爆笑)。
  5. かねやす さん   2002-01-18 19:26:10
    あと、お礼を言い忘れていました。
    K.Takata さん、まりもさんありがとうございます。

    …ところで、BIOSって難しく思います? 公開してある情報どおりに作成すれば
    いいのですから、ソフトとしては簡単だと思いますが。アクセス方法はLinuxの
    ソースを参考にasm化しているだけですし。

    その他の参考資料は下記のとおりです
    書籍:
    CQ出版 Interface 2000年7月号
    トランジスタ技術SPECIAL No.45
    トランジスタ技術SPECIAL No.65

    アスキー出版局 PC9800シリーズ

    web:
    dmi,smbiosの情報
    http://www.dmtf.org/standards/bios.php

    PnP、ATA BIOSの実装など
    http://www.phoenix.com/PlatSS/products/specs.html

    PC98の仕様
    http://www.webtech.co.jp/undoc/index.html

    (参考)動作確認ATAカードでお世話になっている?
    http://support.promise.com/

  6. まりも さん   2002-01-20 23:09:32
    >promiseのATA33カードへの98BIOSはほとんど完了
    うまく行きましたか。いち9821ユーザとして、公開されることを期待しております。

    >公開してある情報どおりに作成すれば
    98x1の BIOSサービスルーチン(int 1Bh)のファンクションの全てが公開されているわけではなく、解析しないと分からないことも多いです。