超小型パソコン、東芝Libretto。
両手に収まるか収まらないかの大きさで、Pentium133MHzとメモリ16メガバイトが入っていて、一年以上前にジャンクコーナーで買ったときも、結構いい値段だったのを覚えている。
その取り回しの良さの威力は凄まじく、2007年のパソコンとしては年代物と呼ぶべき性能であるにもかかわらず、俺の入っている大学の心理学実験実習のデータ取りの時などにものすごい大活躍。
しかし、無理して小さくしたせいで、フロッピードライブとかはケーブルを伸ばしてユニットと繋げて使う代物らしい。
そして、あくまでもジャンク品で購入したため、OSとかフロッピードライブとかはない。
もちろんUSBもない。
で、このパソコンに頑張ってOSだの何だのといったソフトウェアを入れるわけだが…。
でも、ないのよね、そのままだと入れる方法が。
だけど確かにWindows95が稼動しているのは、何とか頑張って入れたからだ。
どうするのかって言うと、
ネジを外す
↓
カバーを外す
↓
ハードディスクを取り出す
↓
ハードディスクを別のパソコンに繋ぐ
↓
繋いだパソコンからデータをハードディスクに転送する
↓
繋いだパソコンからハードディスクを抜く
↓
ハードディスクを戻す
↓
カバーを閉じる
↓
ネジを締める
っていう面倒臭い方法で入れていたのだ。
でも、いつまでもこうやっていると、実験機のロボットに搭載するコンピュータとして使った場合、頻繁にソフトウェアの書き換えが必要になってくると思うんだよね。
そして、試行錯誤の上、ようやくファイル転送ができる段階になったので、方法をまとめるよ。
なお現在ではPCMCIAカードでWindows95でもSDカードを差し込み読み書きできる事が分かったので、必ずしも必要ではなかったりするが、一応、教養として…。
まず、多分使い方は分かると思うんだけれど、パソコン同士を繋いでファイルを転送するんだ。
「普通、シリアルポートを使うものじゃないの?」と聞かれた場合、俺は遠距離通信技術が思い切り立ち遅れている事を説明しなければならない…。
要はシリアルポートとか良く分からなくて、たまたまプリンタポートの規格が書いてある資料をめっけて、実際に適当に繋いでみたら発光ダイオードが光って感動したりして、そのうちここまでやるようになったという算段だ。
ケーブルについては、一部自作する必要がある。
長い方のケーブルは、市販のやつ。
短い方が今回自作した部分なのだが、とりあえず材料は、
上のやつを作ったら、ソフトウェアでデータを送受信するのだ。
そしてこれ、2008年6月4日に大幅に仕様が変更されて更新しているので注意だ。
コード
上記のコードを使って作成したはずのEXEファイル
うーん、あっちこっちで細かい改良をしたプログラムだから、本当にここに載せたソースコードでここに載せたEXEファイルができるのかちょっと心配だけれど、大差ないことだけは保証しておく。
もちろん、ppio.exe及びそのソースコードを使用して被ったいかなる損害も負わない事だけは書いておくよ。
一応、以前のバージョンも、その時のページごと残しておいたよ。
で、「NT系OS」では使えない。
どういうことかと言うと、現在主流のOSであるWindows2000とかWindowsXPとかでは使えませんという致命的な事態なのだ。
えらいこっちゃ。
でも、ジャンクのパソコンのOSならば未だにWindows95とかがザラだから、ロボット用コンピュータならばこれで十分に実用可能だろう。
そんな事より、できるだけ早くXPで動かせるようになりたいものだ…。
それから、パラレルポートって、標準のBIOSの設定だと受信できない設定になっていたりする可能性が大きいから、BIOSの設定で「双方向」とか「By-Directional」とか書いてある方を選んで設定しておいてね。
で、2008年1月30日に追記するけれど…実はWindows2000とかXPでも、16ビットアプリケーションがある程度動くようになっているみたいで、このタイプのアプリケーションで動かすと平気な顔してIOポートがいじれるらしい事…と思ったが、やっぱりダメみたいだ…。
それから、パラレルポートって、標準のBIOSの設定だと受信できない設定になっていたりする可能性が大きいから、BIOSの設定で「双方向」とか「By-Directional」とか書いてある方を選んで設定しておいてね。
まず、出力から。
PPIO O ファイル名
上記のように書くと、ファイルを送ってくれるわけだけれど、ESCキーで作業が中止できるようになった。
次に入力の方だ!
PPIO I
こう書くと、前のバージョンと違ってファイル名も取得できるのだ。
受信中止もESCキーでできるぞ!
というわけで、何かの役に立つようだったら役立ててください…。