[52489]  PC98のSASIについて
投稿者:TOYAMA さん   2009-06-17 17:05:39
PC9801シリーズで質問があります。
トラ技のハードディスクインターフェースで見てみるとSASIのI/Oポートアドレスが
80h,82hとなっています。NRDSW=0にしてディップスイッチの状態を読みたいのですがうまく
読込みできません。実機では試していなくエミュレータ上で試しています。
マニュアルではSASIインターフェース(PC9801-27)となっています。

98エミュレータのAnex86,NPIIのHDD仕様はSASIだと思いますがI/Oポートの82hでディップスイッチ
のHDDセクタ長、HDD容量を取得するにはどうしたらいいのでしょうか。82hで読み込んだらFFh
が返ります。そもそもやり方に問題があるのでしょうか。詳しい情報お持ちの方いましたら宜しくお願いします。
  1. KAZZEZ さん   2009-06-17 22:08:13
    まったく詳しくないので恐縮なのですが、少しだけ。

    実機で少し試した限り、IDE搭載機ではI/Oポート80h/82hをソフトから読んでもFFhでしたが、
    SASI搭載機ではソフトから普通に読めました(20MB搭載の場合00h/27h)
    ので、PC-98上の操作としてやり方が違うというわけではないと思います。

    BIOSレベルではSASIとIDEに差は無いと思いましたので、
    もしかしたらエミュレータではSASI仕様というよりBIOSレベルでのSASI/IDE仕様となっていて、
    ハードウエアレベルではIDEもしくは独自仕様だったという可能性はないでしょうか。

    大抵のプログラムではハードウエアに依存しないように
    HDDはBIOS経由でアクセスするのが普通かと思いますので。
  2. TOYAMA さん   2009-06-18 07:38:38
    返信有難うございました。私の環境では実機でHDDはSCSIドライブになっています。
    SASI HDDがどこかで購入できないかどうか検討したいと思います。

    マニュアルのシステム共通領域の4B0h-4BFhの拡張デバイスのセグメント値を見てみると
    エミュレータでは00hになっています。SASI仕様ではなくIDE拡張デバイスなのでしょうか。
    IDE拡張デバイスが今ひとつよく分かりません。
    HDD BIOSのSASI拡張デバイスのセグメント値が少し気になります。
    HDD BIOSの仕様についてもう少し調べてみたいと思います。いろいろ有難うございました。
  3. tsh さん   2009-06-19 01:04:50
    >SASI HDD
    動作品、恐ろしく減っています。

    それと、SASI I/Fが実装できるのは、基本的に内蔵IDE(もどき)を実装していない機種に限られますので、ご注意ください。
  4. key 122 さん   2009-06-20 11:47:21
    >BIOSレベルでのSASI/IDE仕様

    RA51 WIN95上だと SASIは IDE認識となっていました
  5. KAZZEZ さん   2009-06-20 23:18:43
    >RA51 WIN95上だと SASIは IDE認識となっていました
    RA51に最初から内蔵されているSASIドライブは256バイトセクタ専用なので95では使えないはずですが、
    サードパーティ品か何かでしょうか?
  6. KAZZEZ さん   2009-06-23 12:45:43
    要点を整理しますが、
    一般に「95上の認識」と言いますと、BIOSが使われない、ドライバによる認識となります。
    つまりkey122氏は、RAのSASIとIDEはBIOSレベルではなく
    ハードウエア的に等しいのではないかとおっしゃりたいのでしょうか?

    気になったので手元のRA21にSASI-HDD(サードパーティ製80MBを40MBx2に分割)
    を積んで試してみました。

    結果から言えばオンボードIDEはレガシーデバイスですので、
    IDEの存在しない機種にそのドライバが組み込まれていても
    特にデバイスマネージャでエラーは出ないようです(リソース競合時を除く)。
    恐らく95のセットアップの段階でBIOS認識のSASI/IDEを誤認したものが、
    そのまま組み込まれたままになっていたというだけか何かではないでしょうか。
    RAで組み込まれたIDEドライバは、IRQ9が占有されているという意味での
    予防線の意味にしかなっていません。

    RA21でスタンダードIDEアダプタが組み込まれていても、その下にHDDデバイスは無く、
    ドライブがあるとしてもMS-DOS互換モードでの認識であり、
    さらに前述の通り95上からはアクセスできません。
    またスタンダードIDEアダプタをデバイスマネージャから削除して、
    その後ハードウエア検出を行ってもIDEは検出されません。

    つまりRAでは95上で内蔵SASIをIDEとして認識しているのではありませんので、
    ハードウエア的に近いわけではなさそうです。

    それと、RAで95を使うときは必ず内蔵SASIを前面DIP-SWで切り離すようにしてください。
    Win上ではアクセスできなくてもDOSモードでは誤認のうえでアクセスできるので
    異常動作で記録データが破壊される可能性があります。
    # 今回の実験もデータを退避したうえで行っています。

    ちなみにWindows2000で試しても、IDEドライバがレガシーデバイスなので
    機能していないのにエラーにはなっていない点は同様でした。
    # ↑以前Bfで試した2k入りSCSI-HDDとGAをRA21に適用し、
    # 自作IPLwareでハイパーメモリCPUのメモリ64MB認識・L1キャッシュを有効化させたもの。