ポケコンとパソコンをつなぐ前に

最終更新日:2013年4月23日

ポケコンとパソコンの通信は、単純だから難しい

単純だから難しいという表現は、矛盾していると思うかもしれませんが、実際、単純だから難しいのです。

あなたがこのwebサイトを見るためには、あなたのパソコンと、この文章が保存されているサーバーが正常に通信できなければなりません。

現在は、インターネットに接続するために特別な設定を行わずとも、通信が確立できます。ルーターとパソコンをLANケーブルで接続すれば、TCP/IPで必要な設定項目、たとえばIPアドレス、サブネットマスク、ルータアドレス、DNSアドレスなどはDHCPで自動取得されます。
物理的な設定項目、たとえばパソコンとルーターの間の通信速度はEthernetで規定されていますが、これも機器間で協調して自動設定されます。

パソコンで難解な設定をせずともインターネットを使えるのは、ユーザーから見えない場所でハードウエアやソフトウエアが協調しているからです。難しくて細かいことは自動でやってくれるので、ユーザーが面倒な設定を行わなくても、つながるのです。

これに対してポケコンとパソコンの通信では、ボーレート、パリティビットの有無(有なら奇数・偶数の別)、データビットの長さ、ストップビットの長さ、改行コード、通信終了コード、フロー制御の有無(有ならRS/CS・Xon/Xoffの別)を自分で決めて、パソコンとポケコンを完全に同じ設定に揃える必要があります。

ここまで設定しても、物理的条件が整っただけです。
プロトコル(HTTPとかFTPとかSMTPとか、通信の言語のようなもの)を用いて通信するのであれば、ポケコンにプロトコルを実装しなければなりません。
プロトコルを使わずに、つまり無手順で通信するのであれば、パソコンのwebブラウザやメーラーでポケコンと通信させることはできません。webブラウザやメーラーはプロトコルを使わなければ通信を確立できないからです。

無手順で通信するなら、パソコンにも無手順に対応したソフトを用意しなければなりません。
それが、SHARP PC-GリンクやTeraTermなどです。

ポケコンとパソコンの間は無手順で通信するのが普通なので、ソフトを用意して物理的条件さえ整えれば通信できる「はず」なのですが、ハードウエア固有の癖や問題を吸収する手段でもあるプロトコルが無いために、些細な問題でもつまづいてしまうのです。

必要なソフトを揃えましょう

それでは、ポケコンとパソコンを無手順で接続するのに必要なパソコンのソフトを用意しましょう。

WindowsXP以前では、ハイパーターミナルというソフトが付いてきましたが、必要最低限の機能しか実装されておらず、使いやすいとは言えません。

シャープがポケコンとパソコンの通信のために開発した「PC-Gリンク」というソフトがあるので、これを使うのが簡単でしょう。

あらかじめ断っておきます。くりこうのホームページはシャープ株式会社より許諾を受け、PC-Gリンクを掲載しています。PC-Gリンクを同社の許可無く転載することは禁止されています。Readme.txtには「転載の際に許可を取る必要は無い」と言う旨の記述がありますが、これは誤記との事です。

下のリンクを右クリックして「リンク先をファイルに保存」などの項目を選択してください。
PC-Gリンクをダウンロードする(LHA形式1120kB)

ただ、PC-Gリンクも万能ではありませんので、一般的なターミナルソフトも用意しておいたほうが良いでしょう。
機械語の転送を考えている方は、PC-Gリンクでは対処できない状況が発生する可能性が大です。

なのでターミナルソフトも用意してください。文字ごと、行ごとに待ち時間を設定できるものが必要です。
個人的には、実績があり知名度も高い「Tera Term」をお勧めします。Vectorや窓の杜で検索すれば、すぐ見つかります。

覚えて損しない通信の基礎用語

シリアル
英和辞典によれば「連続している、一連の、順次の。」コンピュータ用語としては、データが1列で順次送られてくる転送方式。対語はパラレル。かつてのプリンタ接続手段「パラレルポート」は、データが8列になって送受信される。
プロトコル
英和辞典によれば「儀礼、慣習、条約議定書。」コンピュータ用語としては、通信の手順を定めたもの。いまあなたが読んでいるこの文章も、httpというプロトコルを使って転送されています。
ボーレート
1秒間に何回データを送受信できるかを示す単位、変調速度。シリアル通信の場合、一度に1ビットづつしか送受信できないので、変調速度=通信速度になる。なのでシリアル通信では「通信速度」の事をボーレートという変な慣例があります。訳がわからないので、単純に「通信速度のこと。」と覚えておけばいい。
パリティビット
通信のエラーを発見するための信号。1文字ごとのデータの「1」の数が、偶数(even)か奇数(odd)になるようにパリティビットを1か0にする。パリティビットの分信号が増える上に、エラーが偶数個発生すると検知できないのであまり使わない。
データビット
1文字のデータを、何個の「0」「1」で表現するか、という単位。アルファベットと数字だけなら7ビット(組み合わせは128通り)でも事足りるが、半角カナを使うなら8ビット(組み合わせは256通り)でなければ足りない。インターネット黎明期に半角カナを使うと文字化けしたのはこれのせい。ちなみに漢字を使うためには8ビット2文字分の情報量(組み合わせは65536通り)が必要。
ストップビット
「1文字のデータはここで終わりです」という目印。普通は1ビット。
フロー制御
データを転送する時、受信側の処理が追いつかない時に送信側に「待った」をかける仕組み。専用の信号線を使ったり(RS/CS)、通信データに「待った」を混ぜる方法(Xon/Xoff)がある。受信側の処理能力に余裕があれば「使わない。」という選択肢もある。
改行コード
1行の終わりを示す記号。慣例として、WindowsではCR+LF、MacではCR、UnixではLF。かつてMacのTeachTextで書いた文章をWindowsのメモ帳で開くと、改行が全く無い1行の文章になってしまう現象があった。

EOF
End Of Fileの略。ファイルはこれで終わりという目印。普通は0x1A(BASIC式に書けば&H1A)を使う。