こんばんわ
久しぶりに4連休だったのですが、まあ本当に何もしない4連休だったなと。。子供が小さい頃は何処かに遊びにいあったりしたものですが、初日に妻と2人でショッピングモールに一緒に行っただけで、他に何もしませんでした。
そんなわけですごく時間があったので、ポケコンにUSBを接続できるようにして、ゲームでもしてみようかなという気持ちになります。私がポケコンを一生懸命触っていた頃は、本に載っている壮大なプログラムのリストを自分で入力して、カセットのI/Fを接続して、カセットテープに「ぴ〜ひょろひょろ〜」という音で保存していたものでした。なかなか面倒で本当に巨大なプログラムなどは、とてもとても入力する気にはならなかったです。それでも何日もかけて入力していましたが。。。そしてそんな風に何日もかけて入力してカセットテープに保存してもそのうちに読み込めなくなって悲しい思いをしたりしたものです。そうそう、カセットテープがもったいなくて、1本のテープにいくつもプログラムを保存して、何分あたりに〜ゲーム、何分あたりに〜ゲームと、保存されている時間を記録したりしていました。まあそんなめんどくさい時代でした。ところが、先日インターネットを検索してみると、いまどきのパソコンと接続いてデータをポケコンと送受信できるということ。まあ、当たり前なのかもしれませんが、私がポケコンを使っていた頃は「パソコン買えないからポケコン買った」という感じでしたので、パソコンと何かやり取りしようなどとは夢に重思っていませんでした。まあそんな風に夢にも思っていなかったのですが、標準のI/Fでパソコンとやりとりができそうなので頑張って見ました。そんなI/Fはすでに売っていないでしょうからね。。。
基本的にはTTLレベルのSerial I/Fとのことなので先日から使っている秋月電子で購入したUSBシリアル変換モジュール AE-TTL−232Rが利用できそうです。そちらと接続することを前提に考えて見ました。
1.USBシリアル変換の AE-TTL-232Rのディップスイッチの2をON(TTL=5V)にします。出荷時はOFF(TTL=3.3)になっているのですが、ポケコン側のI/Fが5Vなのでそれに合わせます。赤い四角のディップスイッチです。私は両方ともONにしましたが、SW2だけでいいです。Arduinoと通信して見ましたが、5Vでも問題なく通信できるようでした。
2.ポケコンの信号線はON/OFFが逆になっているので、それを変換するインバータを接続します。これがけっこうしんどかった。です。なにせ素人なので色々と失敗しまして。。。
はじめにブレッドボードで実験です。ついでなので、送受信のランプつけたり、RTS/CTSの信号にランプつけたりしてます。これが結構面倒の始まったりだったりして。。。
(この状態で通信できていましたが、この後書きますがこのまま基盤に半田付けしても動かなかったです。注意してください)
ブレッドボードの回路そのまま組み上げて見たのですが、PC→ポケコンの送信の時にエラーになります。色々とインターネットを検索したり試したりした結果、RTS/CTSを1kオームの抵抗を挟んでグランドに接続することで急にうまく動作するようになりました。最終的な回路を以下に示します。素人回路なので間違いあるかもしれませんので、ご容赦ください。今のところこの図の配線で送受信動作しています。CTSのランプは成り行きでいつの間にか無くなりました。
今時手書きかよ。。。なんかいいソフトとかありますかね。。。
出来上がったボードこちら!裏面はすごいことになっているのでお見せできません(笑)
抵抗があちこちに変な場所に変な向きでついているのは試行錯誤の結果そうなってしまいました。
基盤下側の左がポケコンからの送信、右がPCからの送信です(だったと思う)。
3.あとは、TeraTermなどの通信速度を合わせます。
ボーレート:1200ボー(すげーおそっ!)
データ:8
パリティ:無し
ストップbit:1
フロー制御:ハード
送信遅延:5ms/字、50ms/行
(送信遅延は結構重要みたいです。うまくいくポイントを探す必要がありました)
改行コード:受信:Auto、送信:CR+LF
ローカルエコー:ON
漢字:SJIS
受信中。
送信中。
こんなの入れて見ました。マシン語のリストもシリアルから行けるんですね。モニタにしてRコマンドでした。
今更やる人いないかもしれませんが、やって見てください。
学生で暇な時間がたくさんあった時に色々とやっておけばよかったとつくづく反省しています。今は老眼のため半田付けが非常に大変です。目がしょぼしょぼしてきたら「今日はここまでだな」って感じで止めるようにしてます。
以上
0 件のコメント:
コメントを投稿