2008年10月12日日曜日

なぜPONGなのか(2)

そしていつの間にか私もいい歳の大人になって、おやじになって、世の中はテレビゲームのみならず携帯ゲームが世の中を席捲している状況。ひとえにコンピュータ産業の発展のたまものです。

これらはコンピュータを内蔵し、ソフトウェアで動くという点で世代にかかわらず私から見れば「同じもの」。つまり、画面上の座標と一対一に対応付けられたビデオメモリー(VRAM)に、ソフトウェアで指令されたコンピュータのコア(CPU)がせっせとイチゼロのデータを書き換え続けるということです。VRAMのある番地のデータが書き換われば対応する画面の座標の色が変わります。そういうVRAM→テレビ画面の仕組みがチップ内に組み込まれているのです。

私が生まれて初めて触れたコンピュータは、すでにテレビ用のインターフェースを備え、白黒ではあったが文字表示と簡易グラフィック表示ができるものでした。当然画面への表示は前述のVRAM→画面の仕組み(CRTC = Cathode-Ray Tube Controller)が搭載されていました。テレビに何かを表示したい場合にはそのような仕組みにするのが当然であり、それしか方法はないものだと思い込んでいました。まだ何も知らない若造だったのです。



某電器メーカーのコンピュータ設計部門に就職したその年、先輩エンジニアたちと雑談をしていて、私が愚にもつかない質問をしました。

「テレビのOSD*を出すためのマイコンってどのくらいVRAM積んでいるんですかね?」

(* On-Screen Display: チャンネル番号やボリュームレベルをテレビ映像に重ねて表示する機能)

ちょうどテレビの設計部門から転属してきていた先輩エンジニアはすかさず答えます。

「VRAMなんか持っているわけないじゃん。そんなメモリー積んでたら(値段が)高くなっちゃってしょうがないよ。」

自分の常識を覆す答え。え?それじゃあどうやって文字を出すの?

「スキャンビーム(走査電子ビーム)が、うまい位置を通るちょうどその時に映像信号をONするようにプログラムループを使ってタイミングをとるんだよ。テレビなんて何種類も文字出さないし、文字の解像度もすごく低いからからそんなんで十分。アセンブラでゴリゴリよく書いたもんだ。」

目から鱗でした。なるほど、極小のリソースの中でどれだけ複雑なことができるか、これぞ技術だ、技だと思ったものです。

0 件のコメント: