2016年6月18日土曜日

モニター(ディスプレイ)無しでPC-9801を使う方法

モニター(ディスプレイ)が無いけれども、エミュレータ用にフロッピーディスクのイメージを作りたいとか、BIOS ROMを保存したいとか、とりあえずMS-DOSで使えれば良いという場合、windowsパソコンとシリアルポート (RS-232C) で接続して、windowsパソコンでPC-9801を操作することが出来ます。

接続

PC-9801とwindowsパソコンをRS-232Cのクロスケーブルで接続します。windowsパソコンにシリアルポートが無い場合は USB - シリアル変換ケーブル を使用します。

PC-9801の設定

MS-DOSでRS-232Cを使用できるように、CONFIG.SYSに
DEVICE=RSDRV.SYS
という感じに記入して、RSDRV.SYSを登録します。

つぎに、CTTYコマンドで標準の入出力をRS-232Cに切り替えるために、AUTOEXEC.BAT に
SPEED RS232C-0 9600 BITS-8 PARITY-NONE STOP-1 NONE
CTTY AUX
という感じに記入。SPEEDは外部コマンド、CTTYは内部コマンドです。
これでPC-9801をリセットすれば、RS-232CでPC-9801を操作できるようになります。
PC-9801が3.5インチフロッピーの機種なら、PC-9801版MS-DOSの起動ディスクをwindowsパソコンで編集すれば簡単ですし、PC-9801のモニターがなくても設定できます。5インチの機種ならPC-9801で編集することになると思います。
windowsパソコン用の3.5インチフロッピーディスクドライブは2016年現在でもUSB接続のものが容易に入手できます。amazonで1,000円くらいで買った物を使っていますが、PC-9801の1.2MBのフロッピーディスクも読み書きできて、ちゃんと使えています。

windowsパソコンの設定

シリアルポートを使えるターミナルエミュレータで、9800bps、8bit、パリティなし、ストップビット1、フロー制御なしに設定すれば使えます。

Tera Termの場合だと
こんな感じ。

漢字コードをシフトJISに設定しておけば漢字も表示できます。


こんな感じでwindowsパソコンでPC-9801を操作できます。
使えるのは標準入出力だけなので、MS-DOSの機能を使用せずに入出力を行うプログラムはwindowsパソコンから操作することができません。
MS-DOS標準のコマンドでもメニューが出て操作するようなものは使えません。例えばFORMATコマンドをオプション無しで起動した場合なども使えません。ドライブレター等のコマンドラインオプションを付けた場合は、メニューが出ないので使えます。
CTRL-C や CTRL-Z なんかも、windowsパソコン側から入力できないので、PC-9801にもキーボードを繋いでおいたほうが便利に使えます。

windowsパソコン側で
CTTY CON
と入力すれば、PC-9801側のキーボードとモニターでの操作に戻ります。

スクリーンショットが撮れたり、文字のコピー&ペーストができたりで、けっこう便利です。

MS-DOSでシリアルコンソールを使えないのかな?と、MS-DOSのマニュアルを読んだら、ちゃんと使い方が書いてありました。CTTYなんてコマンド、これまで使ったことありませんでした。

MS-DOSのマニュアルは、インターネットアーカイブで探せば読むことが出来ます。

最近の液晶モニターでも、PC-9801を接続して使える場合があるので、ためしてみると良いです。