• 締切済み

PC9801で拡張232C(PC-9801-101)ボード使用

先日、数年前に納めたシステムが落雷の影響で破損しました。 破損したPCはFC9821Xで、症状はシリアル通信ができなくなりました。 シリアル通信ができなくなったポートはCOM2で、増設232Cボード(PC-9801-101)です。 そこで、増設232Cボードを交換し、動作確認する最中、HELPキーを押しながらPCを立ち上げる際、誤って設定を初期化してしまいました。 結果、作成既存アプリケーションからポートOpenできなくなりました。 以前の設定を保存していないため、どのスイッチが変わったのか? もしくはSwitchコマンドなどで設定した値が変わったのか? 現時点ではまったく不明です。 環境は以下の通りです。 OS MS-DOS 5.0 開発言語 C7(通信は_bios_serialcomを使用) 拡張ボード PC-9801-101(PC-9861K互換モード使用) どなたか詳しい方がいらっしゃいましたら、アドバイスいただけないでしょうか? 以上

みんなの回答

  • miitankoko
  • ベストアンサー率24% (286/1145)
回答No.6

とりあえずHELP+ONは「初期化しない」の設定に戻してありますよね。

medamaki
質問者

補足

皆さん、いろいろとアドバイスいただきありがとうございます。 又、現地へ行っていて返信が遅くなりました。 現在いろいろ試しているのでうが、状況が好転せず、頭がパニック状態ですが、整理の意味を込めて状況報告します。 HELP+ONは初期化しないの設定に変更しました。 switchコマンドでは、標準ポートのみ設定可能です。 speedコマンドではCOM2/COM3も設定可能ですが、ボーレートは変更できません。(ボーレートはボード上DSWで設定:9600bps) 開発アプリのソースを確認しましたが、通信プロトコル類はOpen時に設定しています。 設定内容は9600bps(DSW) 7bit EVEN Stop1 Xの設定はしていませんのでNonだと思います。 設定内容に問題はないように思われるのですが、Open処理[_bios_serialcom]でINIT処理を行ったところで、返値[255(FF)]が返ってきているようです。 speedコマンドではCOM2/COM3ともパラメータ設定可能です。 (ボードを抜くと設定できません) 増設ボードの割り込み設定も[yama1718]の教えていただいた資料を見ても、DSWで設定するようになっていました。 RASボードが刺さっていましたので、それをはずしたり、割り込み設定をいろいろ変更したりしましたが、状況に変化はありませんでした。 HELP+ONで設定できるのは標準ポートの同期方式ぐらいだし、switchコマンドでも標準ポートのみの設定と思います。 状況から見ると、HELP+ONが原因っぽいのですが、本当にそうなのか自信がなくなってきました。 増設ボードドライバの中に[SWITCHRS.EXE]というものがあったのですが、[コンフィグレーションマネージャがありません]というエラーで起動できません。子プロセス専用exeのようです。 現時点では八方ふさがりと言った所です。

  • yama1718
  • ベストアンサー率41% (670/1618)
回答No.5

PC-9801-101で検索したらテキストで設定の説明があったので紹介しておきます。

参考URL:
http://ematei.hp.infoseek.co.jp/~miyabi/data/pc98_101.txt
medamaki
質問者

お礼

yama1718さん 参考URLのご紹介ありがとうございます。 DSWに関しては「多分大丈夫だろう?」的な見方だったので、ないよう確認ができ、そこの部分はクリアにすることができました。 後は、なんでOpenできないのか... です。 今日も一日がんばります!

回答No.4

以前9821Xtを使っていた時、COM2通信ポートは使用不可がデフォルトになっていたと思います。 確認しようと思ったけどマニュアル類は既に廃棄したようで見当たりません。 記憶では、サウンドボード(だったと思う)と割り込みがぶつかるので サウンドボードを使わない設定にしたような気がします。

medamaki
質問者

補足

マニュアルを何とか入手し、読んでみました。 N88Basicを使用するとCOM2/COM3通信ボードは設定しない限り使用負荷のようです。 MS-DOSを使用している場合はデフォルト使用許可になるそうです。 確かにボードをさしただけで、speedコマンドでCOM認識しました。 でも、アプリから制御できないのがなぜか... 後、FCなのでサウンドボードは搭載されていませんでした。 INTのぶつかりが原因ではと思い、いろいろ試しているのですが... HELP+ON、switchコマンド以外でメモリ設定することってあるのでしょうか?

  • S-Fuji
  • ベストアンサー率36% (592/1624)
回答No.3

Help+ONやSWITCHコマンドで、RS232C-1や2の設定が出てきますか?。 RS232C-0が本体ですね。  私が作った古いソースを一寸見てみました。 スピード以外の部分は、ソフトで設定していました。 例、8ビット・Nonパリ・ストップビット等です。 そのソフトでは、どこまで設定していたのでしょうか?。 本体が壊れているという事は無いのでしょうか?。

  • yama1718
  • ベストアンサー率41% (670/1618)
回答No.2

懐かしいですね、昔、PC-9801で通信プログラムをよく書いていました。 交換したボードのジャンパなどの設定は元と全く同じにしていますよね。 PC-9801-101(PC-9861K互換モード)なら、S2の割込レベル設定(INT0~INT6)が他と重複しない様に設定する必要があります。 他の割り込みレベルはSCSIやHDDなどのデバイスに割り振られているので、その辺りの設定が初期化されてしまったのではないでしょうか? SPEEDコマンドなどはコマンドラインでのCOM通信を設定をする物で、普通は通信ソフトで初期化するものなのですが。 通信速度(bps)だけはハード的にディップスイッチS1とS3で設定します。

medamaki
質問者

お礼

皆様、いろいろと情報頂きありがとうございます。 何とかボードマニュアルを入手し、一通り読みきりました。 MS-DOSでは何も設定いらないと書いてありましたが、N88Basic使用時にはポートを有効にしなければならないと記載してありました。 だめもとでN88Basicを使用し、有効のフラグを立てました。 以降、Cで作成したアプリでポートOpenが可能となりました。 以前もそのような手順を踏んだのかどうかは記憶が定かではありませんが、やはりCOM2以降は有効無効のフラグをONさせ、メモリに記憶する必要があるようです。 又、それはSwitchコマンドではできないため、N88Basic等のアプリを作成し、フラグ変更する必要があるようです。 なぜドライバインストール時にそれができないのか?は疑問が残りますが、今後同じようなお悩みを持つ方はぜひ参考にしてください。 又、ご協力いただきました皆様にお礼申し上げます。

  • S-Fuji
  • ベストアンサー率36% (592/1624)
回答No.1

20年近く前の事なので、・・・・ですが。 Help+ONで出てくるスイッチ設定は、本体部分だけでは無かったかと思います。 拡張232Cボード上には、何の設定スイッチも無かったでしょうか?。

medamaki
質問者

補足

ご回答いただきありがとうございます。 そうなんです。 かなり前のことなので...なのです。 拡張232Cボード上にディップスイッチはいくつかあります。 それは、当初ささっていたボードと同じ設定にしました。 その後、しばらく動作確認をしているうちは通信ポートOpenできていました。 で、Help+ONでスイッチクリアしてしまったため、Openできなくなってしまいました。 なので原因はそこでの設定もしくはswitchコマンドの設定だと思うのですが... あれからRS232Cの同期設定だったり、いろいろな設定を試みているのですが、よい結果は得られていません。 せめてドライバ、マニュアルが手元にあれば...と言う感じです。

関連するQ&A