/ «2003-10-29 (Wed) ^ 2003-10-31 (Fri)» ?
   西田 亙の本:GNU 開発ツール -- hello.c から a.out が誕生するまで --

Categories Books | Hard | Hardware | Linux | MCU | Misc | Publish | Radio | Repository | Thoughts | Time | UNIX | Writing | プロフィール


2003-10-30 (Thu)

[Hard] Floppy the Robot

フロッピードライブ、走る!

Net cruising している間に、またまたとんでもない代物を見つけてしまった。"Floppy the Robot" は、米国 Goodwin 大学の Fran Golden 氏によるフロッピーディスクドライブで駆動するロボットである。同氏のサイトでは、丁寧にその製作方法が解説されているが、その冒頭にこう書かれている。

The floppy drive has all of the motors and electronics you need to
get started and compete in a robot contest.

言われてみればその通りで、フロッピーディスクドライブにはDCモーターはもとより、ステッピングモーターも搭載されており、ロボット製作の素材としては、最適である。

それにしても、海外の教官はどうしてここまで COOL な発想ができるのだろう?それとも、私達日本人が、体の芯まで「消費漬け」になっているのだろうか?今の日本は、あらゆることがお金で済まされる時代。生徒も教師も読者も出版社も、工夫する前に、お金で「解決したつもり」になっているのではなかろうか・・。

健気に走り回る Floppy のビデオクリップを見ながら、ふとそんなことを考えた(ちなみに 3.5' フロッピーディスクドライブの回転数は 300 rpm)。

我が青春の FDC 765

Floppy に刺激されて、若かりし頃のめり込んだ FDC 765 (Floppy Disk Controller) を思い出す。

IBM-PC のフロッピーディスクドライブ制御には、日本が誇る NEC uPD765 FDC が採用され、Super I/O は未だにその互換機能を搭載している。そして、この FDC 制御は数ある I/O programming の中でも、最高に exciting な部類に入る。私の感覚では、VGA register よりもさらに面白い。なぜなら、FDC は Golden 氏が述べているように、「メカ」だからである。

自分が書いたコードでステッピングモーターを動かし、ヘッドをロードし、セクターを読み書きする。この操作の間、シーク音やヘッドロード音、モーター音など、様々な音が私達の耳に入る。裸のドライブを観察すれば、動きも目に入る。さらに、一般には知られていないディスクフォーマットの最深部は、麻薬のように刺激的である(read diagnostic command を発行することで、ディスク上のデータのビットパターンを観察することが可能になる)。これほど面白いプログラミングテーマは、なかなかないだろう。

残念なことに、FDC の直接制御方法を解説した書籍は、私が知る限り我が日本のコピープロテクト関連書しかなく、いずれも絶版になっている。また、ネット上でも十分な資料は公開されていない。どうしてもリファレンスが欲しければ、インターフェース誌のコピーサービスを通じて入手することが可能であるが、これらの記事を読みこなすためには、専門的知識が必要となる。

ということで、来年 GCC プログラミング工房上で、FDC programming をシリーズで執筆する予定。VGA, RS-232C, タイマー,割り込み処理,FDC。このあたりまで片づけば、オリジナル OS 構築も夢ではない。Let there be light! は近い・・かな?