TOUCH THE SECURITY Powered by Security Service G

コラム

2018.08.22

hackerアーリーデイズvol.1 ――AppleⅡとウォズニアックの魔法

偉人の年表を見ていて、ついつい「自分と同じ年齢の時に何をしていたか」が気になる人はいないだろうか。そして、往々にして「こんな若い時に、こんなすごいことを成し遂げていたんだ!」とびっくりすることになる。偉人は若い頃から図抜けているものなのだ。

アップルの創業者の1人、スティーブ・ウォズニアック、愛称「ウォズ」もそうだった。6歳の時にはアマチュア無線の免許を取得し、13歳の時には原子の電子配置を電球の点滅で表示する装置を作って科学コンクールで好成績を取っている。

26歳の時には、ワンボードマイコン「Apple I」を開発、翌年「アップル」を起業。そして、27歳で、当時、誰もが追いつけない画期的なパーソナルコンピューター「Apple II」をほぼ1人で開発。これが累計500万台も売れ、30歳の時に株式公開を果たし、ウォズは富豪のリストに名を連ねることになった。ここまでのアップルの成功は、ウォズ1人の功績とまでは言わないが、ウォズがいなければありえなかったことは間違いない。

AppleⅡとセンセーショナルなグラフィック機能

なぜApple IIはここまで大ヒットをしたのか。それは、6色のカラー表示ができたという点が圧倒的に大きい(初期モデルは4色)。当時、ライバル製品だったタンディー社のTRS80、コモドール社のPET2001は、モノクロ表示しかできなかった。

6色カラーと言うと、今日ではずいぶん少ないように感じてしまうが、当時としては誰もが驚く画期的なことだったのだ。アップルは、この強みをより示すために、リンゴマークの企業ロゴまで6色カラーにしたほどだ。

6色のカラー表示モードを備えていたAppleⅡ
By Marcin Wichary [CC BY 2.0 ], via Wikimedia Commons

カラーvsモノクロ リソースの違い

では、なぜウォズにカラー表示ができて、他社はできなかったのか。それは、ビデオメモリが極めて高価だったため、カラー表示をすると、製造コストが跳ね上がってしまうからだ。

Apple IIは280×192ドットの画面表示が可能だ。これで例えば8色表示をするには、280×192のビデオメモリ空間に、0から7までの数値で色を指定しなければならない。0から7までの数値を入れるには、3ビットのメモリを消費する。結局、Apple IIで8色表示するには、3×280×192=161280ビット=20160バイト=19.7Kバイトのメモリが必要になる。

モノクロ表示であれば、ビデオメモリはどのくらいで済むだろうか。点灯と消灯という1ビットで足りるから、1×280×192=53760ビット=6720バイト=6.6Kバイトで済む。

カラー表示にしようとすると、ビデオメモリのコストは3倍にもふくれあがってしまう。だから、TRS80やPET2001はモノクロ表示にしたのだと思われる。

ビデオメモリを最大限に活用、ウォズが注目したのは「補色」

色相の関係を環状に並べた時、それぞれの正反対に位置する色を補色と呼ぶ。光の場合、補色同士を組み合わせると、打ち消し合って白色となる。

では、Apple IIはどのくらいのビデオメモリを搭載していたか。実際は8Kバイトだ。モノクロ表示の場合とさほど変わらない。こんな小さなメモリで6色表示を可能にした。ここにウォズの魔法があった。

ウォズが注目をしたのは、補色という色の組み合わせだった。例えば、紫と緑は補色の関係にあり、紫の光と緑の光が混じり合うと白色光に見える。

隣り合った2ドットをひとつの単位として考えれば、(紫、緑)は遠くからみると白色に見える。(紫、消灯)は紫に、(消灯、緑)は緑に、(消灯、消灯)は黒に見える。これで4色が表示できる。

さらにウォズは(青、橙)の補色ペアも使った。これで白、青、橙、黒の4色が表示できる。白と黒がダブっているので、2つの補色ペアを使うことで、合計6色の表示ができることになる。

ウォズが使った2種類の補色パターン。いずれもすべて点灯すると、白色に見える。7ドットをひとつの単位として、1バイトの先頭ビットでどちらのパターンを使うかを指定し、残りの7ビットで点灯するドットを指定する。

実際には画面上の横7ドットをひとつの単位として、色指定をしていた。8ビットを使い、先頭の1ビットでは(紫、緑)(青、橙)のいずれの補色ペアを使うかを指定し、残りの7ビットで、7ドットをどのように点灯させるかを指定する。例えば、「1010101」とすれば紫だけが点灯し、「1111111」とすれば紫と緑の両方が点灯して、白に見える。

2つの補色ペアの点灯、消灯を制御することで、白、黒、紫、緑、青、橙の6色が表現できる。

このウォズの方法では、どのくらいのビデオメモリが必要になるだろうか。画面は280×192ドットだが、横7ドットをひとつの単位とするので、40単位×192列が必要になる。横7ドットを色指定するのに、8ビット=1バイトが必要なので、40×192=7680バイト=7.5Kバイトが必要になる。Apple IIが搭載している8Kバイトのビデオメモリでじゅうぶん間に合うことになる。モノクロ表示をするのですら6.6Kバイト必要なので、わずかなコスト上昇で6色表示ができるというのは誰も考えつかなかったことだった。

確かに、7ドットを1つの単位として考えているため、綺麗な緑色を発色することはできない。「緑、黒、緑、黒…」といったタイルパターンのような色表現になってしまう。しかし、これがApple IIの独特の色表現となって、魅力のひとつになった。当初、Apple IIが売れたのは、最先端のゲーム機としてだ。家庭用ゲーム機として大ヒットした「ATARI 2600」とほぼ同時期の発売で、価格は1298ドルとATARI 2600の199ドルに比べて非常に高価だったが、遊べるゲームの質がまるで違った。

特にアドベンチャーゲーム「ミステリーハウス」は、ゲームが大ヒットし、それに釣られてApple IIも売れる。Apple IIがある程度普及したところで、世界初のスプレッドシートソフト「VisiCalc」が登場し、Apple IIは、ゲーム機としてもビジネス用のパーソナルコンピューターとしても定番の存在になっていった。

ウォズの魔法、その原点

これ以外にもウォズは、普通の人には考えつかないさまざまな発想で、アップルの成長の原動力になっていた。Macの開発が始まる頃、ウォズは自家用セスナで飛行機事故を起こし、それがきっかけでアップルと一定の距離を置くようになるが、「もし、事故を起こしていなければ」と誰もが考える。

ときおり、ウォズのこのようなトリッキーなテクニックを見て、ウィザードという尊称をウォズに捧げようとする人がいる。しかし、それはウォズの本質ではないかもしれない。ウォズは、子どもの頃から電子工作が大好きで、当時は高価だったダイオードやトランジスターを使って、いろいろな工作をしていた。子どものお小遣いではなかなか大量の電子部品は買えない。それで、できるだけ少ない部品で、必要な機能を実現する習慣がついた。

そのメリットはコストダウンだけではないと言う。使う部品の数が少ないということは、構造がシンプルになり、故障が起きづらくなり、万が一故障が起きた場合でも対処しやすくなるのだとウォズは語っている。

ウォズが作ったApple IIは今でもイーベイなどのオークションサイトで取引がされている。すでに50年近く経とうとしているのに、その多くが完動品であるという。

記事一覧に戻る