PC-G850用USB通信ケーブルを作ろう!
2020/12/14更新

■はじめに

現在、PC-G850(G800含む)専用の純正の通信ケーブルを入手するのはかなり困難です。
ただし、ネットを探せばこのケーブルを自作するための回路図が見つかるため、実際はそこまで困ることはありません。
また、レベル変換回路を省いて代わりにツェナーダイオードを使った簡易型のコンバーターならそれなりに安く作ることも出来ます。

しかし、これらのコンバータはどれもPCにCOMポートが付いている必要があるという致命的な欠点があります。

特に今どきのPCはそもそもCOMポート自体が付いていなかったり、マザーボード自体にコネクタは付いていても、それを外に出すためのPCIパネルを別途購入する必要があったり、また市販のUSBシリアル変換ケーブルを使う方法も考えられますが、このケーブルもメーカー品は2000~5000円くらいするため、結果的にパーツ代なども含めると純正以上の出費となってしまい、学生だとこれに投資する価値があるかはそれこそ微妙だと思います。

そこで調べてみたところ、今だともっと安く超簡単に通信ケーブルを作れることが分かったので、ここではその方法について詳しく紹介します。

※Bluetoothを使った通信ボードの作り方はこちら

■USBシリアル変換キットを使う

いろいろ調べていたところ、なんと秋月電子にちょうど良いパーツが売られているのを見つけました。
まさにポケコン用と言っていいほど必要な部品や端子が全部揃っているため、基板を起こしたり部品を半田付けしたりといった手間はほとんど必要ありません。

FT-232RQ USBシリアル変換キット
 

これの利点を箇条書きにまとめてみました。
これとピンヘッダがあれば実はもう完成ですが、実はこのキットにはピンヘッダが付属しています。
しかし、付属のものはまっすぐなピンのもの(上の写真参考)でポケコンの接続用としてはちょっと不便です。

そこでここではL字型のピンヘッダを使うことにします。
ピンヘッダ (オスL型) 1×40 (40P)
 
 ※ピンの間隔はフルピッチ(2.54mm)という規格のものです

この2つの部品はどちらも秋月電子で手に入るので、近いところに住んでいるならばアキバ、そうでなければ通販で直ぐに揃います。
※通販の場合は1回の買い物で送料500円がかかります

■配線図

以下はこのパーツを使った場合の通信ケーブルの配線図です。


L字型のピンヘッダは直接キットに取り付けて半田付けしますが、ここではキット側の5V端子は使用しないのと、ポケコン側の⑧CD端子をキット側に接続してはならないため、ここでは最初にピンヘッダからこれらのピンを抜いておきます。
※半田ごてでピンの先っぽを押す感じで当てていると、すぐに熱でプラスチック部分が緩くなってズボっと押し込まれるので、
 最後は反対側からラジオペンチなどで引っぱればきれいに抜けます

あとはキット側のRTS端子とポケコン側の⑨CS端子が1個分ズレているので、基板にピンヘッダを半田付けしたあとで適当な銅線などでジャンパします。

※クリックで拡大

なお、ピンヘッダは最低③~⑨の7ピン分あれば問題ありませんが、これだとポケコンに接続する時に刺す場所を間違えてしまう可能性があるので、ここではポケコンに合わせて11ピン分をそのまま残しておいたほうが良いと思われます。

注意点としてポケコンは5Vで通信を行う必要があるため、SW2をONにする必要があります。
※OFFの場合は3.3V設定となり、ポケコンの作動電圧より低いため誤作動する可能性があります(壊れはしません)


ちなみにSW1をONにした場合は単に通電確認用のLED(写真左上)が光るだけです。

■プルダウン抵抗

このページを最初に投稿した時は手持ちのPC-G850(初代)のみでしか動作確認をしていませんでしたが、その後中古でPC-G850Vを手に入れたのでこちらでテストをしてみたところ、Sio画面からBASICファイルを転送する分には特に問題はありませんでしたが、何故かマシン語モニタでIHXファイルをPCから受信する時にI/O DEVICE ERRORが発生してしまいました。

そこで端子にテスターを当てて調べてみたところ、どうやらポケコンの出力ビットがOFFの際に電圧が0Vではなく浮遊していることが原因だと判明しました。

ちなみにこの現象は出力がOFFの場合に端子が0Vに落ちているのではなく、どこにも繋がっていない状態(無接点状態)となっている場合に発生するもので、この場合は一般的には抵抗を通してGNDに落とすことで、OFFの時に確実に0Vとすることが出来ます。
逆に出力がONの場合は、5Vの電圧がこの抵抗を通してGNDに流れることでショートを防ぐことが出来ますが、この方法をプルダウンと言って、I/O回路では基本的に浮遊状態にならないようこのような対策が必要となります。
※逆にGNDをONとする回路の場合は5V側に抵抗を通しますが、このような接続をプルアップと言います
 (電子回路は通常こっちの方が多い)


上記の回路はポケコンによってはうまく動作するかもしれませんが、もし動作が不安定な場合は以下のように2箇所に1kΩ(茶黒赤金)程度の抵抗を入れることで解決できます。
 

実は中古のPC-G850VではGND→CTS間の1本だけ追加しただけで通信は出来ましたが、場合によっては上記以外のTXDやRTSも含め4つ全ての端子をプルダウンするとさらに安定性が増すかもしれません。(ブレッドボードで試した感じでは特に分からなかった)

対策後の写真(基板の裏側で1/6W抵抗を使用した場合)
 
 ※クリックで拡大

手持ちの抵抗が1つも無い場合は秋月でも売っているので、ついでに買っておくと良いかもしれません。
ちなみに1袋100本入っていますが値段はこれで100円ですw
カーボン抵抗(炭素皮膜抵抗) 1/6W 1kΩ (100本入)
 

■ドライバのインストール

Windows10では標準でドライバが入りますが、それ以外のOSではドライバをインストールする必要があります。

USBケーブルを使ってこのキットをPCに接続した時に、不明なデバイスとして表示される場合はドライバが必要ですので、以下のURLからドライバをダウンロードしてインストールしてください。

http://www.ftdichip.com/


■ファームウェアの書き換え

これが一番面倒な作業かもしれませんが、ポケコンの通信ラインは一般的なシリアル通信と異なり、送受信時に使用するピンのON/OFFが反転しています。

本来はトランジスタやロジックICなどを通して出力を反転しなければなりませんが、このキットが使用しているFTDI製のチップはプログラマブル仕様となっており、各端子の使い方を変更したりピンの電圧を逆転させることが出来ます。
これはFTDIが無料で公開している「FT_PROG」ユーティリティを使って行います。

なお、書き込んだ情報はチップ内に保存されるため電源を切っても有効です。
このためこの書き換え作業は1回だけ行えば終わりです。

ダウンロード
①FTDIのサイトにアクセスし、左のメニューの「Support」→「Utilities」をクリック、右側の「FT_PROG」をクリックします
 http://www.ftdichip.com/
 
②ページ内の「clicking here」をクリックするとFT_PROGのインストーラーがダウンロード出来ます
 

インストール
ダウンロードしたインストーラーを起動してインストールをします。
インストールが完了するとデスクトップに「FT_Prog」のショートカットが生成されます。
 

書き換え
書き換えをするにはPCにキットを接続した状態で、デバイスマネージャに正しく認識されている必要があります。
①インストールしたFT_Progを起動すると以下のような画面が表示されます
 
②上の「DEVICES」をクリックし「Scan and Parse」をクリックします
 
③接続しているデバイスが見つかるとそのデバイスがリストに表示されます
 
 ※複数接続している場合は順番に羅列されます
④このデバイスの「Hardware Specific」を開いて「Invert RS232 Signals」をクリックし、
 右側の「Invert TXD」「Invert RXD」「Invert RTS#」「Invert CTS#」のチェックを入れます
 
⑤上の「DEVICES」の「Program」をクリックします
 
⑥最終確認ダイアログが表示されたら「Program」ボタンを押して書き込みを行います
 
 ※複数接続している場合は一度に全部を書き込むことが出来ます
⑦書き換えに成功したらソフトを終了し一度デバイスをPCから外します
⑧デバイスをもう一度接続すると設定が有効になります
 ※書き込みを行ったあとで再接続した場合、新しいハードウェアと認識されCOMポートの番号が変更されることがあります

■完成



完成したら純正のPCGLinkや、このサイトで公開している自作のPCGToolを使って通信が出来るか試してみてください。

ちなみにPCGToolとは、PCGLinkの編集機能を省略し通信だけに特化した簡易型のソフトです。


PCGToolはこちらから上のメニューの「SOFTWARE」→「ポケコン」→「ポケコンの部屋」からDL出来ます。
※同じ場所にポケコン用のゲームなども公開しています