2011/02/13

ポケコンとMacをシリアルケーブルで繋ぐ

先日、知人と昔の趣味の話ついでに高校の頃から使っているポケコン(SHARP PC-1360K)の話をした。その後、無性にいじりたくなったので、会社の机に入れていたのを持ち帰って手始めにシリアルケーブルで接続してみた。このポケコンは今でもちゃんと使える。計算が非常に遅いし、他のポケコンのように関数キーが充実していないので使う事は無いけど。

さて我が愛機 PC-1360K には本体右手にシリアル入出力ポート(SIO)が付いている。15ピンで1.27mmピッチのようなので、まずは手持ちのパーツから自作コネクタを作成した。

丁度1.27mm->2.54mmピッチ変換基板を持っているのでピーカッターを使ってまっ二つに。










ピンヘッダからピンを抜く。











抜いたピンを PC-1360K の SIO に刺す。SIO は 15ピンなのだが、ピッチ変換基板は 14ピン。SIO 1ピンはフレームグランドなので、無視。グランドは信号グランドにてとるから良し。この時点で片面に予備半田を薄く載せておく。今回使用した基板は予備半田が載っていたので基板は予備半田してない。





位置を合わせたら、一本一本コテを当てて半田をしていく。














ヘッダピンを付ける。まだやってないが、1.27mm ピッチのピンは半田でかろうじて付いている状況。エポキシでも盛って強化しておきたい。実は半田が甘くて、実験中ピンが一本外れた。。ここでフロー制御無視のため 4ピン(RTS)と5ピン(CTS)をショートしてしまう。










実験用にRS-232C のメスコネクタとレベルシフタ(秋月で売ってる SP3232)を載せた万能基板を持っているので(RTS, CTS は基板上でショート)、電源, GND, TxD, RxD を IC クリップで接続すれば出来上がり。会社同僚のアドバイスの通り PC-1360K の TxD, RxD は極性が反転しているようなので、パーツボックスの中に見つけた 2SK1336 (NMOS) で簡易インバーターを作る(S->GND, G->SIO TxD, D->レベルシフタの TxD 入力、手持ちの10KΩを D、電源間を接続)。RxD はパーツ不足で保留(後で74HC04を見つけたが、DIP じゃないのでやる気がおきません)。






USB シリアルケーブルは Arvel の SRC06-USB。ドライバは FDTI 。FDTI のホームページには Mac のドライバもあるので、インストールしておく。うちでは /dev/cu.usbserial-FTDC6A59 で認識されている。

Mac (MacBook) 側はターミナルを開いて、標準付属の screen コマンドで、
% screen /dev/cu.usbserial-FTDC6A59 1200
を実行して受信準備。ポケコン側は、
> OPEN
> LPRINT "Hello World!"
と実行。結果が写真の通り。Mac のターミナルに表示されています♪





ちなみに PC-1360K のシリアル通信の最高速度は 1200bps 。これをデフォルトのパリティ無し、データ8ビット、ストップビット1の設定で実行してるのだけど、見てるとすごーく遅い。

余談。
ポケコン側の4ピン(RTS)と5ピン(CTS)をショートするのを忘れて、一日無駄にした。オシロが無いので動いているかどうかを判断するのが難しい。もちろんテスターはあるが。ポケコンから LPRINT を実行すると無反応になるので、その時点で気づくべきだった。またポケコンのボタン電池が弱っていたので、同じぐらいの電位を出力する USB ポートから直にポケコンに電源を与えていたのだけど、実験中にうっかりどこかにショートしたらしく、MacBook から 1A の過電流の警告を出してしまった。くわばらくわばら。
ちなみに SIO から受信するベーシックのコマンドが見当たらないのだが、気のせいか?レベルシフタを入れてから考えよう(INPUT#1でいいようだ。後で試そう)。

おしまい。

0 件のコメント: