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

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


2003-10-27 (Mon)

[Hard] Propeller clock

空間を描画せよ

実は週末の間、あるテーマをとことん追求した。それは「コンポジット信号の制御」。テレビとファミコンを接続する際に使う、RCA プラグと言えばお分かりであろうか。

私達が普段使っているパソコンの画面出力は、ご存じの通り RGB 出力だが、往年のマイコンが利用していたのは、最も原始的なコンポジット信号である。

GCCプログラミング工房では、register programming を通して VGA chip を自在に操ることを目指している。とは言うものの、所詮ハードウェアとの戯れに過ぎない。ソフトウェア野郎が到達できるのは、残念ながらこのレベルまでである。しかし、世界のハードウェア野郎達は、さらにこの上を行く。とってもとっても、悔しいではないか!

そこで、私はこの画像出力を、フルスクラッチで自作したコードで制御してやろうと目論んでいる。既に、多くのハードウェア野郎達が PIC や AVR を用いて、ブロック崩しなどに挑戦しているが、きちんとしたドキュメントはまだ存在しないからだ。

当初は、ありふれた VGA モニターへの出力を考えていたのだが、調査を重ねていくうちに、「NTSC をすっぽかしてはいかん!」と気付かされた。基本を疎かにすると、後でたたるのである。

で、先日紹介した Gunee 氏のサイトを足がかりにして、貴重な資料の数々をファイル1冊分ほど印刷した。同氏は、PIC および Ubicom 社の SX-28 CPU をベースにした、モノクロおよびカラーコンポジット信号の合成方法を丁寧に解説しているが、その内容もさることながら、参考文献の付け方が素晴らしい出来である。これはもう、学術論文のレベルと言っても過言ではない。おかげで、珠玉のリファレンスの山を前に、楽しく充実した時間を過ごさせてもらうことが出来た。感謝すると共に、Lund 大学における修士教育の充実度に舌を巻く。これこそが、教育の賜物だろう。

さて、まだ曖昧な点は多々残っているが、モノクロ・コンポジット信号の全体像はおおよそ把握できた。その中身はあっけないほどシンプルである。「モノクロテレビの映像信号の正体って、たったのこんだけ?」という感じ。

後は、オシロスコープで0〜1Vのアナログ波形を追い、タイミングにさえ気を付ければ、ビデオ出力ルーチンを作成することは、それほど骨の折れる作業ではないだろう。

と、納得していた。満足していた。正直言うと、トップページに書かれた「Mechanically scanned: Virtual Game System」という言葉が、心のどこかに引っ掛かってはいたのだけれど・・。

で、先ほど「何だろうなぁ?」とこのページをチェックして驚愕した。ぬわぁんと、LED16個をDCモーター上でグルグルぶん回して、その残像を画像として空間に再現するというのだ!しかも、ピンポンやってるよ、テトリスやってるよ・・。

おじさん、腰抜けちゃったです、ハイ。何という発想の奇抜さ、素晴らしさだろう。以前、東急ハンズで振り子のように揺れるLEDフラッシャーによるクロックを見かけたことがあるが、その3次元版という訳だ。しかも自作である。

調べてみると、この空間時計の起源は Bob Brick 氏による「Propeller clock」というもので、以後多くの亜種が世界中で生まれているらしい。Google のヒット状況を見る限り、日本のハードウェア野郎達は、まだ気づいていないようである。

コンポジット信号と言い、Propeller clock と言い、こりゃH8ボードのテーマとしては、最高だねぇ・・。