[53468]  PC-9821Ap3の、内蔵FDD I/Fへ5"接続時の設定
投稿者:minami さん   2014-08-06 20:55:59
PC-9821Ap3/C8Wの内蔵FDDケーブルを加工して、FD1155D(VFO無効:RD=1)をDrive1として接続しました。Drive0は、もともとついていたFD1148Tを接続しています。
(フロントパネル下のスイッチは「2」に設定します)。
なので、12pinサブコネクタは使用せずに、2DDからもブートできる5"ドライブが使えるようになりました。

が、MS-DOS6.2のFORMATコマンドで確認すると、フォーマット種別に「1.44MB」が選べるようになっています。つまり、3modeとして認識されてしまっているわけです。
(ここで素直に1.44MBを選んでも、「トラック0が不良です」とされて、フォーマッティングしてくれないです・・5" 1.44MBが作れるか?と思ったのですが)。

/M2モデルでは(きっと)5"と認識されると思うので、
質問は、「/CxW、/U2」モデルのFDDの接続と、
「/M2」モデルのFDDの接続の、なにが違うと認識が変わるのか?、です。

3.5"モデルの30pinコネクタ配列、接続は大方分かったので(HAMLIN's PAGE さんにて確認)、
5"モデルのコネクタ配列をご存じではないでしょうか?。
(まさか、”+12Vを使ってるかどうか?”では無いでしょうし・・違いは30pinコネクタしかなさそうです・・)。
  1. 総額7600円 さん   2014-08-08 18:43:16
    3モードFDD内蔵機種では、マザーボード(あるいはファイルベイバックボード)上のFDDケーブルコネクタの360/300信号ピンがNCだと、接続されているFDDが3モードとして認識され、GNDに接続されていると2モードとして認識されます。
    本体起動時にマザーボード上の300/360ピンをNCにすると、I/Oポート04BEhのbit 4の値が1となり、GNDに接続すると0となります。起動後に接続先を変化させてもこの値は変わりませんでした。

    なおファイルベイアダプタPC-9821A3-E01に含まれる30ピン−34ピン変換ケーブル(http://ematei.web11.jp/kenkyu/30-36cnvcable.htm)では、バックボード側の13ピン(360/300 0)と17ピン(360/300 1)がFDD側に接続されていません。従ってファイルベイアダプタを装着したAp3/M2・As3/M2では、内蔵FD1158Cが3モードFDDとして誤認識されてしまいます。NECはこれを不具合としていないので、「仕様」ということになります。

    http://ematei.web11.jp/kenkyu/fdd_conv.htmもご覧下さい。
  2. KAZZEZ さん   2014-08-09 17:59:20
    ソフトウエア的には、FDD#1,#2,#3,#4のうち、どのドライブを3モード対応と見なすべきかの結果が
    メモリアドレス0000:05AEhの下4ビットに格納されています。

    FORMAT.EXEなどの多くのソフトウエアはここを見て1.44MB対応かどうかを確認している
    (というよりBIOSコールで返す値がここを参照しているらしい)ので、
    該当ドライブのビットをゼロに下げるプログラムを作って
    あらかじめ(AUTOEXECなりIPLwareなりに)組み込んでおくという対策もあると思います。

    もっともFDDの構成を変えたときに(#1#2と#3#4の内蔵/外付を入れ替えた時など)誤動作する可能性もありますので、
    根本的な対策にはなりませんが・・・。
  3. minami さん   2014-08-10 00:13:43
    ありがとうございます(今は出張中なのでリプライのみさせていただきます)。

    残念ながら、うちの環境(ネット?)では、emateiさんのページはなぜかGateway timeoutになってしまって見れないのです。

    17番ピンの扱いですが、現在はFDD(FD1155D)の1ピン(GND)に接続されているのですが、それでも3modeとして認識されているようです。
    I/Oポート(4BEh)は見ていないので、あとで確認してみます。

    ただ、5インチモデルでも3modeとして認識されているのですね・・そもそも3mode限定機なのかもしれないですね、Ap3は。

    メモリアドレス(0000:5AEh)の確認もあとでしてみます。
    書き換え確認であればDebugコマンドでできますし、アセンブラでCOMファイル作ればたいしたことなさそうですし、ね。
    通常はドライブ構成決め打ちなので、目的さえ達成すれば(汎用性は)別にいいでしょう。
  4. 総額7600円 さん   2014-08-10 09:56:23
    ちょっと調べてみました。

    04BEhに関しては、UNDOCUMENTED 9801/9821 Vol.2のio_fdd.txtに情報があります。
    今回はbit 6・5に01を書き込んでテスト対象を2基目の内蔵FDDとしました。

    結果、As3/U8Wではファイルベイバックボード側17ピンの接続状態にかかわりなく、04BEhのbit 4は1でした(16が返って来ます)。

    Ap/U2でも同じ。まぁこれのFD1138Tは最初から2基なので事情が異なるかもしれませんが。
    またAp2/M2ではFD1158C接続時の04BEhのbit 4の値は0でした。Ap3/As3の真の5インチモデル(ファイルスロットつき/M2モデル)でも2モードとして認識されるのかもしれません。

    Ap3ではFDDケーブルで内蔵する5インチFDDの純正オプションが用意されていなかったので、3.5インチモデルでは04BEhのbit 4は1固定なのかもしれません。してみるとPC-9821A3-E01に含まれる30ピン−34ピン変換ケーブルでバックボード側13・17ピンがNCなのも当然かと。ただ上の1.のテストはBX4/U2で行ったものなので、どの機種でも事情は同じというわけでもないようです。
  5. minami さん   2014-08-18 14:01:04
    追試してみました。
    たしかに、ポート4BEも、メモリ5AEも、(30PINコネクタの)17ピンをGNDに短絡しても変化しないようです。
    5AEを書き換えても、INT 1B(AH=C4)の返り値は変化しなかったので、
    モデル(/Uとか/Mとか)でROMの内容自体が異なる(決め打ち)のかもしれません。Ra43でも、WindowsモデルとMS-DOSモデルとでROMが異なるという情報もありましたし。

    30ピンコネクタのうち、未使用の15,16ピンはなんらかマザーボードへ接続されています。OCの出力(マザーボード→外部)ですが、信号的にはドライブセレクトっぽいです。ホントはなにかは調べていませんが。GNDに接続しても、(今回の目的には)関係なかったようです。

    実際は、1.44MBさえ選ばなければモンダイは無いですし、ね。

    ただ、面白くは無いので、FD1155Dを改造して、5インチなのに1.44MB対応にしてみました。
    フリーソフト(FO160など)と違って、JISフォーマット(JISでは3.5インチだけの規定ですが)準拠なので、DOSでそのまま読み書きできます。
    (AT用の3.5インチ1.44MBとフォーマットは同じだけど、サイズが違うので、はっきり言って使い道はまったく無い)。

    まっ、今更どうにも役に立たないシロモノですが・・というか、5インチ(130mm)のJIS規格って、もう廃止されていたんですね・・。
  6. KAZZEZ さん   2014-08-21 18:25:49
    > 5AEを書き換えても、INT 1B(AH=C4)の返り値は変化しなかったので、
    うーん・・・どうなんでしょうね。
    多くの機種での挙動から考えてもワークエリアを参照しないで決め打ちの値を返すBIOSというのは考えにくいと思うんですが・・・。

    もしセグメント指定や該当ビットの位置、演算(ANDとOR違え)に間違いがない場合、
    DIP-SW1-4で、#1#2と#3#4が入れ替わっていたということは無いでしょうか?
    個人的には問題が起こるまで結構気付かないこともありましたので・・・。
  7. minami さん   2014-09-16 21:21:51
    再追試をしてみました。

    結果、5AEの書き換えでINT 1Bの値が変化していました。
    (先回、うまくいかなかったのはなぜなのか・・)。
    ちゃんと、"1"のドライブが3mode、"0"のドライブが2modeと認識されています。
    (両ドライブとも内蔵扱いなので、それは正しい)。

    I/Oの4BEについては、やはり変化しないようです。ほんとに変わらないのか、他のパラメータ(条件)があるのか、これは分からないですね。
  8. minami さん   2014-10-14 11:39:52
    再追試です。
    V200/MZD2では、1pin(この機種は34pinタイプ)のGND接続の有無で、
    I/Oポート04BEhとメモリ05AEhも変化がありました(FORMAT.EXEの媒体選択にも影響していました)。
  9. 総額7600円 さん   2014-10-18 18:34:42
    Mate-A以外のFD1138T内蔵機種であるXs/U7WでのI/Oポート04BEhの挙動を調べました。テストは1基目の内蔵FDDに対して実施。

    結果、本体起動時に360/300 0ピンがNCであればbit 4は1で、GNDに接続してあればbit 4は0でした。起動後に接続先を変えても値は変わらず。上記のFD1231T内蔵機種BX4/U2と同じ結果となりました。3モードFDD内蔵機種のうちMate-Aの3.5インチモデルだけが特殊?なんでしょうかね。