3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

MacとX1turboのシリアル接続

Last updated at Posted at 2015-10-08

シリアルケーブルで接続して、データの送受信を試してみます。

ケーブルを用意

以下の2つが必要です。

  • シリアルUSB変換ケーブル
  • D-sub9ピンと25ピンのクロスケーブル

Macにはシリアル端子がありませんので、シリアルUSB変換が可能なケーブルとして、RiteUpのシリアルUSB変換ケーブル RUUSRL1 を使用します。
なお、このケーブルのシリアル端子はD-sub9ピンですが、X1turboはD-sub25ピンです。
なので、9ピンと25ピンのクロスケーブルを探す必要があります。規格があっていれば何でもいいはずですが、ここではサンワサプライのKR-XD2を使います。

シリアルUSB変換ケーブルの認識

USB変換に使われているチップのメーカーによって必要なドライバが異なるようですが、RUUSRL1は何もせずとも認識されました。(OS X Mavericks,Yosemite で確認)
認識されているかどうかはこれで確認できます。

$ ls -l /dev/tty.*
crw-rw-rw-  1 root  wheel   18,   0  9 21 07:58 /dev/tty.Bluetooth-Incoming-Port
crw-rw-rw-  1 root  wheel   18,   2  9 21 07:58 /dev/tty.Bluetooth-Modem
crw-rw-rw-  1 root  wheel   18,   4 10  8 21:36 /dev/tty.usbserial-142

名前からして tty.usbserial-142 がシリアルUSB変換ケーブルでしょう。

シリアルコンソール

screenコマンドを使用します。

$ screen /dev/tty.usbserial-142 9600

末尾の9600はボーレートです。X1turboのBASICで指定できる最大値に合わせています。
実行すると、ターミナルの表示内容が消えます。
これでMac側の準備は完了です。

なお、screenを終了させるには、Ctrl-a Ctrl-\ を押します。
するとこのようなプロンプトが出るので、y を押せば終了できます。

Really quit and kill all your windows [y/n]

X1turboからMacへ送信

BASICのプログラムを送信してみます。

まず、X1turboで適当なBASICプログラムを入力します。

10 PRINT "hello from x1"
20 END

送信するにはSAVEコマンドで行います。
SAVEはプログラムを保存するコマンドですが、デバイスに COM: を指定すれば、シリアルポートへ送信するようになります。

SAVE "COM:6N83NNLCND"

これで、MacのシリアルコンソールにBASICのソースが表示されれば、正常に送信できたことになります。
なお、COM: の後ろの呪文は通信パラメータで、以下の意味になります。
わりと適当ですが、なんとかなります。

文字位置 パラメータ 指定値 意味
1 ボーレート 6 9600ボー
2 パリティ N パリティチェックなし
3 データビット長 8 8ビット
4 ストップビット長 3 2ビット
5 通信制御指定 N フロー制御なし
6 カナの表現方法 N 7ビットモードでカナの送受信不可
7 CR,LFコードの送信処理 L 送信改行コードはCRLF
8 CR,LFコードの受信処理 C CR受信で復帰+改行コードとして処理
9 日本語文字列の表現方法 N シフトJIS
10 エンドコード D Ctrl-D(&H04)で終了

MacからX1turboへの送信

逆にMacからBASICのプログラムを送信します。

まず、X1turboで受信の準備をします。
先ほどのSAVEとは逆のLOADコマンドを使用します。通信パラメータは同じです。

LOAD "COM:6N83NNLCND"

次に、Macでプログラムを入力し、最後に Ctrl-D を押します。

10 PRINT "hello from mac"
20 END

すると、X1turboではLOADコマンドが終了しているはずです。
LISTコマンドでソースを表示して確認します。

LIST
10 PRINT "hello from mac"
20 END

通信パラメータは、少なくとも以下の2つは正しく設定しないと正常に受信できませんでした。

文字位置 パラメータ 指定値 注意点
8 CR,LFコードの受信処理 C これでないと正しく改行されない
10 エンドコード D Macでこれを入力しないと、X1turboのLOADコマンドが終了しない

というわけで、以外に簡単に送受信ができました。

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?