■
スプライトの起源 (4)
前回までに取り上げたスプライトチップたちは、いずれもヴィデオゲーム機のために開発されたものでした。しかしその後、競争の舞台はホームコンピュータの世界に移っていきます。アップルIIの成功により、ホームコンピュータが高級ゲーム機としても注目されるようになったためです。ゲーム制作を意識した作りのBASIC言語とパドルコントローラが標準で付属していたアップルIIは、最初のゲームパソコンであったともいえるでしょう。そしてこの着想にいち早く追随し、より強化する方向に向かったのが、アタリとテキサス・インストゥルメンツでした。
CTIA/GTIA
アタリVCSの発売を目前に控えた1977年夏のある日、グラスヴァレー・チームは、早くも次なる新型機の開発に着手していました。アップルIIを凌駕する高精度オーディオ/ヴィジュアルのゲームパソコン・アタリ800と、表現力はそのままに低価格化を図ったアタリ400です。アタリVCS開発時の功績を買われてか、今度はジェイ・マイナー氏が中心になってデザインをまとめています。
グラフィクスにほとんどメモリを割くことのできなかったVCSと違って、アタリ400/800では桁違いのメモリ (最高8キロバイト) を消費することが許されていました。これによってついにビットマップグラフィクスの実用化に道が拓けます。しかし前回述べたように、ビットマップ処理はCPUに大きな負担を強いるものでした。そのままでは使い物にならない―――そこでグラスヴァレー・チームとマイナー氏はこれを克服するべく、グラフィクス専用のサブCPUを開発することにしました。ANTIC (Alpha-Numeric Television Interface Circuit) と呼ばれるチップがそれです。これを搭載したことにより、アタリ400/800は同時代のどんなパソコンよりも高速にグラフィクスを処理することができたのです。加えてANTICには、縦横方向のスクロール機能もありました。
そしてこのANTICの制御下に、さらにスプライトを司るCTIA (Color Television Interface Adaptor) というチップが用意されていました (もしくはその改良版であるGTIA - George's Television Interface Adaptor)。チップの原案はマイナー氏によるものですが、実質的なデザインを手がけたのはジョージ・マクラウドという人物でした。残念ながら、彼についての資料は何も残っていないようです。
CTIA/GTIAは、アタリVCSでいうところの「プレイヤ・オブジェクト」を、画面内に5枚まで並べることができるようになっています。またそのうちの1枚を分割して、4枚の「ミサイル・オブジェクト」として活用することも可能です。こうした特徴から、アタリ400/800のスプライトシステムは「プレイヤ=ミサイル・グラフィクス」と呼ばれていました。スプライトをもっとも多く表示する場合には、4体の「プレイヤ」と4発の「ミサイル」という構成になるわけですが、これはTIAのおよそ2倍にあたる枚数です。アタリ400/800では、VCSの倍のプレイヤ数、つまり4人までの同時プレイが想定されていたのです。このことは、4個のジョイスティック端子が標準装備されていることからも分かります。
アタリ400/800のグラフィクス設計は、その後アミーガにも色濃く反映され、ANTICはAGNUS, GTIAはDENISEという、さらに強力なチップへと変貌を遂げています。DENISEでは画面内に8枚までのマルチカラースプライト (16ピクセル幅) を表示することができるようになりました。これは1983年の設計としてはいささか物足りない仕様ですが、その代わりAGNUS側にもビットブリット機能が用意されており、ソフトウェアによる高速スプライト処理も可能になっていたのです。
VDP (TMS9918)
半導体大手テキサス・インストゥルメンツもまた、アタリ400/800とほぼ同時期に、よく似たコンセプトでホームコンピュータを開発していました。その名をTI-99/4といいます。玩具大手であるミルトン・ブラッドレイと共同で手がけただけあって、ゲームマシンとしての性格はアタリ400/800に劣らず濃いものでした。このパソコンについてはご存知なくとも、そのヴィデオチップ・TMS9918, 通称VDP (Video Display Processor) の世話になった人は多いでしょう。のちにMSXからアミューズメント機まで幅広く採用され、スプライト技術のスタンダード化に大きく貢献したグラフィクスチップです。
TI-99/4は開発コンセプトだけでなく、価格でも投入時期でもアタリ400/800と真正面から衝突しました。しかし緒戦では大敗を喫することになります。これは主にマーケティング戦略の失敗によるものでした。アタリ400/800と違って家庭用テレビで使うことができず、またゲームライブラリの充実ぶりでも水を開けられてしまったのです。しかし表現力ではアタリ400/800にひけをとるものではありませんでした。
TI-99/4のVDPも、ANTICと同じようにサブCPU的な役割を担うチップです。もっともANTICと違って、スプライトは自前で処理していました。VDPは画面内に32枚までのスプライト (16x16/単色) を表示できる構造になっています。ただしよく知られているように、横方向に5枚以上ならべるとちらつきが発生します。
背景はSTICとよく似たパターンブロック方式ですが、性能はその3倍強。768枚 (8x8ピクセル/2色, 256種から選択) を配置することで、ビットマップ並に細やかな描画を可能にしています。ビットマップまであともう一歩だということは、開発者たちも認識していたのでしょう。2年後に登場したVDPの改良タイプ・TMS9918Aには、擬似的なビットマップモード (MSXでいうところのSCREEN 2) が追加されました。
VDPの開発はTI-99/4そのものより先行しており、1977年には始まっていました。関連特許を見ると、そのスプライト技術はアタリやインテルより自由度の高い (しかもビデオ出力できる) ものであるということが主張されています。第一回の冒頭で、スプライトという用語を考案したのはテキサス・インストゥルメンツの開発チームだったと述べましたが、彼らがわざわざアタリやインテルと違う呼称を持ち出してきたのは「あたかも小妖精が舞うかのように」手軽にキャラクタ表示位置を変えることができるということを誇示するためだったように見受けられます。従来の単なる「移動オブジェクト」とは一味違うぞ、というわけですね。
このスプライトの自由度は、スプライト座標設定用のメモリ、いわゆるスプライト属性テーブルを導入した効果でした。このような機能をチップ自体に組み込んだのは、テキサス・インストゥルメンツが最初だったようです。VDPのスプライトアーキテクチャを手がけたカール・グッタグ氏は、「ファミコンのスプライト技術はTMS9918の模倣だ」と述べているのですが、これはファミコンのヴィデオチップ・PPUにも同様の座標システムがあり、さらに似たような表示枚数制限 (横方向は8枚まで) があったためだと思います。そうでなければ、そこまで断言できるものではないでしょう。まあいずれにせよ、これは彼の思い違いです。PPUが下敷きにしたのは、よく知られているようにナムコのアーケード技術でした。そして「ギャラクシアン」以降のナムコ基板もまた、スプライト座標設定専用のメモリを持っていたのです。こちらのルーツは、さらに「アタリ・フットボール」の頃にまで遡ると見られますが、グッタグ氏もさすがにアーケードにまでは目が届かなかったのかもしれません。
VDPの系譜
テキサス・インストゥルメンツのVDPには、RGB対応タイプのTMS9928A/9929Aや、大容量DRAM対応タイプのTMS9118/9128/9129など、いくつかの細かなリヴジョンがありますが、大幅に機能強化されることはないまま終わりました。ですがグッタグ氏の談話によると、テキサス・インストゥルメンツは密かに後継チップの開発を進めていたようです。開発コードネームがAVDPだったこと以外詳細は不明なのですが、これはTMS9938として世に出るはずでした。しかし設計に多くの問題点を抱えており、しかも完成が近づいた頃に北米ヴィデオゲーム市場が崩壊してしまったため、プロジェクトは中止を余儀なくされたそうです。
以降今日に至るまで、テキサス・インストゥルメンツはスプライト機能を持つチップをリリースしていません。しかしVDPは彼らの手を離れ、ヤマハの手で改良されていくことになります。ヤマハ製VDPは、V9938に始まるMSX2系統と、セガとの共同開発による家庭用ヴィデオゲーム機系統の315-5xxxという、2系統に分かれて進化を続けました。MSX系VDPの面影は、わりと最近までアミューズメント機器用のPVDCシリーズに残されていましたが、現行チップはすべてフレームバッファ方式に移行しています。
図中のヤマハ製V9938とテキサス・インストゥルメンツ製TMS9938は、型番こそ一致するものの、まったくの別物です。テキサス・インストゥルメンツとヤマハの間に、VDPに関する技術交流はなかったそうです。
ところでヤマハがVDPの改良に取り組みはじめたころ、グッタグ氏らはフレームバッファの機構を持つグラフィクスチップを構想し、その開発にまい進していました。フレームバッファというのは、いってみればビットマップを高速に処理するための技術です。従来のスプライトは処理速度かせぎの意味合いが大きかったわけですから、これが低価格で実現されるようになれば、将来的にスプライトは不要になるはずという思惑がありました。実際1990年代半ばには、従来型スプライトはほとんど姿を消すことになります。
グッタグ氏らが1986年に完成させたTMS34010、通称GSP (Graphics System Processor) は、IBM-PC互換機のグラフィクス・アクセラレータ用チップとして有名ですが、アーケードでも活用され、「ハードドライビン」 (1989) をはじめとする海外作品で実績を残しています。
VIC-II (MOS 6567/6569)
ファミリーコンピュータ登場以前のスプライト史で、もうひとつ忘れてはいけないのが、コモドール64の存在です。コモドールは傘下にMOSテクノロジという個性的な半導体メーカを抱えていました。ヴィデオゲーム方面にはさほど熱心な会社ではなかったのですが、それでも1977年〜1978年頃には、ゲーム機やターミナル機を視野に入れたMOS 6560, 通称VIC (Video Interface Chip) というグラフィクスチップを一応発売しています。
VICは最高506枚のパターンブロックを軽快に描画することができるものですが、スプライト機能は持っていませんでした。そのせいか、これを使ってゲーム機を作ってみようという会社はなかなか現れず、痺れを切らしたコモドールは、結局自分たちでパソコンを組んで売り出しています。これが超低価格ホームコンピュータとして成功を収めたVIC-1001 (VIC-20) でした。
VIC-1001の発売から三ヶ月経った1981年1月、そのチップ開発を手がけたアルバート・シャルパンティエ氏らを中心とするグループは、後継チップの開発計画を発動しています。次なる目標は、VICのような廉価路線ではない、最高級のヴィデオゲーム用チップセットを作ることでした。彼らはアーケードや家庭用ゲーム機で、そのようなチップセットの需要がきわめて大きいはずだと確信していたのです。
開発に先駆けて、彼らは既存のグラフィクスチップを研究することにしました。まず当時最新のゲーム機・インテレビジョンを徹底的に検証し、次にTI99/4Aとアタリ800にも触れています。一連のチップのなかで、特に注目を惹いたのはTI99/4AのVDPの設計でした。およそ二週間の調査を経て、彼らは一連のチップが今後どう進化するかについて予測をたて、その先を行くことを目標に開発プランをまとめました。
新型チップは約10ヶ月ののちに、MOS 6567 (通称VIC-II) として完成します。しかしコモドールはその直後に、ヴィデオゲームメーカにはVIC-IIを供給しないという方針を固めました。この一年の間に、ヴィデオゲーム市場のパイ争いが急速に過熱していたため、今からそこに参戦しても、実入りは少ないだろうという判断がはたらいたようです。
コモドール社長ジャック・トラミエル氏はその代わりに、VIC-IIを使って新型ホームコンピュータを開発するという決定を下しました。そして約1ヶ月後のコンシューマ・エレクトロニクス・ショウ (CES) に試作機を出品せよとの指令を出します。あまりに急な路線変更に、コモドールのエンジニアたちは慌てふためきました。わりあい急ぎ仕事の多いコモドールにあっても、これは前代未聞の過酷なスケジュールだったといいます。彼らはわずか2日で基本設計をまとめ、それから既存のVIC-20を突貫工事で改造して、なんとか5台を完成させました。
ところが、かくも急ごしらえのものだったにもかかわらず、この試作機は望外に大きな注目を集めることになります。そしてその年のうちに、コモドール64として製品化されるに至るのです。出荷開始は1982年9月。任天堂のファミリーコンピュータが発売される、およそ1年前のことでした。
コモドール64のグラフィクス能力は、ファミリーコンピュータにこそ及びませんが、当時としては確かに最高クラスの性能でした。しかしその特徴を分析してみると、それほど独創的な技術は使われていないことが分かります。それもそのはずで、VIC-IIはそもそも、既存のチップから美味しいところを拝借するかたちで開発されたものだったのです。
コモドールはスプライトのことを「ムーバブル・オブジェクト・ブロック」(MOB) と名付けていました。最初はVDPにあやかって「スプライト」と呼んでいたのですが、これに対してテキサス・インストゥルメンツからクレームが付いたため、不本意ながらこの名に改称しました。VIC-IIはMOBを画面内に8枚まで表示できます。表示枚数からいってSTICを念頭に置いていたのでしょうが、1枚につき3色を割り振ることができるという点は、大きな違いでした。VIC-II以前のグラフィクスチップはいずれも単色スプライトしか扱うことができず、3色使おうと思えば3枚のスプライトを重ね合わせる必要がありました。そういう意味では、VIC-IIのスプライト8枚は、STICやVDPなどの24枚分に相当するといえなくもありません。ただしこのマルチカラースプライトには、横方向のピクセル数が単色スプライトの半分になるという弱点もありました。初期のゲームソフトはこれを嫌い、むしろ単色スプライトを多用しています。マルチカラースプライトの真価が発揮されるまでには、少し時間がかかりました。
背景描画システムは、VDPを意識したと思われるパターンブロック方式になっており、やはり擬似的なビットマップ描画も可能です。解像度はVDPより2割ほど細かくなっていますが、VIC-IIが真価を発揮するのは、むしろ低解像度モードにおいてでした。スプライトと同じように背景パターンもまた、横方向のピクセル数を半減させることで、発色数を倍増させることができたのです (2色→4色)。ゲームソフトはたいていこのモードをメインに使用していました。
このように、VIC-IIは技術的な飛躍ではなく、解像度と発色数を絶妙なバランスでトレードオフすることで、小さなアドバンテージを最大限に引き伸ばすことに成功していたわけです。
機種 (発売年) | グラフィクスチップ | 最高解像度 (フルカラー時) | 同時発色数 | スプライト枚数 (サイズ) | スプライト1枚あたりの発色数 | 背景 |
Atari VCS (1977) | TIA | 160x192 | 128 (8色16階調) | 5 (8ピクセル幅x2 + 1ピクセル幅x3) | 1 | 擬似ビットマップ (20x192を左右対称に配置) |
Atari 400/800 初期型 (1979) |
ANTIC + CTIA | 320x192 (160x96) | 8 (スプライト4+背景4) | 5 (8ピクセル幅x5) または 8 (8ピクセル幅x4 + 1ピクセル幅x4) |
1 | ビットマップ |
Atari 400/800 後期型 (1981) |
ANTIC + GTIA | 320x192 (80x192) | 20 (スプライト4+背景16) | 5 (8ピクセル幅x5) または 8 (8ピクセル幅x4 + 1ピクセル幅x4) |
1 | ビットマップ |
Amiga 1000 (1985) | AGNUS + DENISE | 640x256 (320x256) |
4096 (基本16色を加工) | 4または8 (16ピクセル幅) | 16 (4枚) または 4 (8枚) |
ビットマップ |
Intellivision (1980) | STIC | 160x96 | 16 | 8 (8x8) | 1 | パターン (8x8/2色) 240枚 |
TI-99/4 (1979) | VDP (TMS9918) | 256x192 | 16 | 32 (8x8または16x16) ※4枚/ライン |
1 | パターン(8x8/2色) 768枚 ※256種から選択 |
TI-99/4A (1981) | VDP (TMS9918A) | 256x192 | 16 | 32 (8x8または16x16) ※4枚/ライン |
1 | パターン/擬似ビットマップ (8ピクセル幅/2色) 768枚 |
Sega Mark III (1985) | 315-5124 | 256x192 | 32 (スプライト16+背景16) | 64 (8x8または8x16) ※8枚/ライン |
16 | 擬似ビットマップ/パターン(8x8/16色) 768枚 ※448種から選択 |
MSX2 (1985) | MSX-VIDEO (V9938) | 512x212 (256x212) | 256 | 32 (8x8または16x16) ※8枚/ライン |
16 (1色/ライン) | パターン(TMS9918A相当)/ビットマップ |
Commodore 64 (1982) | VIC-II | 320x200 (160x200) | 16 | 8 (24x21または12x21) | 3 (12x21時) | パターン/擬似ビットマップ (8x8/2色または4x8/4色) 1000枚 |
Family Computer (1983) | PPU | 256x240 | 25 (スプライト12+背景13) | 64 (8x8または8x16) ※8枚/ライン |
4 | パターン (8x8/4色) 960枚 |
VIC-IIのバリエイションとしては、コモドール64C (後期型) に用いられた省電力タイプの8562/8565、コモドール128に用いられた倍速クロック対応タイプの8564/8566 (VIC-II E) などがあります。しかし目立って大きな変更は、1990年頃にコモドール65が試作されるまでありませんでした。コモドール65には、VIC-IIIことCSG 4567が搭載されています。これはアミーガ的な拡張を行ったものだったため、スプライトに関しては何も改良されていません。
終わりに
予期していた以上に長く複雑な連載企画になってしまいましたが、スプライト史の話はとりあえずここまでにしたいと思います。「日本のスプライト史にも言及してほしい」というお声もいただきましたが、ファミリーコンピュータ登場以前の国産機でスプライト機能を持つものは、ほとんどすべてVDPを使用していたため、残念ながら語るべきものが見当たらないのです。唯一の純国産スプライトは、おそらくカセットビジョンの一部ソフトからスーパーカセットビジョンに連なるNECの系譜でしょうが、これについては情報が乏しすぎて、何も言えません。
いっぽうアーケードは、いぜんナムコ「ギャラクシアン」の影響下にありました。アーケード各社はいかにしてその影響から脱却していったか―――これはなかなか興味深いテーマだと思うのですが、ハードウェアの種類が多すぎて、いささか手に余るというのが正直なところです。少しずつ勉強してはおりますが、こちら方面は私より詳しいかたが大勢いらっしゃるはずなので、そちらにお任せしたほうが良さそうな気もしますね。
参考:
- Christian Bauer: The MOS 6567/6569 video controller (VIC-II) and its application in the Commodore 64
- Design Case History: The Commodore 64 (IEEE Spectrum, March 1985)
- Reverse Engineering II - Did Commodore Really Reverse Engineer the Atari? (Atari times)
- Rick Melick: VIC-20 Documentation Archive
- Bob Harris interview (Classic Gamer Magazine issues #5/#6)
- Charles MacDonald: Sega Master System VDP documentation
- Player-Missile Graphics (Jeffrey Stanton with Dan Pinal "Atari Graphics & Arcade Game Design" Chapter 5 [1984])
- Keith Howell: 400/800 Atari Home Computer System Hardware Manual
- Stephen L. Judd: Steve's handy Atari vs. C64 comparison chart