MSX開発の関係者を匂わせるタイトルかもしれませんが、私は全然関係ない(外野)です。
私はマイコン世代(死語)の人間ですが、実はリアルタイムでMSXは触ったことすら無いです。私が最初に触ったパソコンはPC-9801(16bit機)で、8bit機のMSXは触る機会すらありませんでした。
なので、MSXには全然詳しくないし、思い入れとかも全然ありません。PC-9801だと使えないスプライトが使えたり、PSG音源が標準実装されている点が羨ましいと思った記憶がある程度です。
最近、TinyMSXというMSXエミュレータを開発した関係で、MSXのハード仕様的な部分であれば現役でMSXを使っていた世代の諸先輩方よりも詳しくなりました。そんな客観的視点から「MSXとは何だったのか」を分析してみようと思います。
なお、MSXにはMSX、MSX2、MSX2+、MSX turboRという4シリーズあります。
以降、初代MSXのことは便宜上「MSX1」と表記します。
まず、MSX1のハード構成は以下の通りです。
- CPU: Z80A互換
- MMU: 独自システム(スロット)
- Sound: AY-3-8910
- Video: TMS9918A
TMS9918Aはテキサス・インスツルメンツ社が開発した画像処理装置(Video Display Processor)です。かなりクセが強いですが、16KBという比較的少ないビデオメモリ(VRAM)でそこそこカラフル(16色中16色を同時発色可能)な映像表現ができます。
TMS9918は元々、1979年にリリースされたテキサス・インスツルメンツのTI-99/4というパソコン(ホームコンピュータ)に搭載するために開発されたVDPです。そして、TMS9918Aは1981年にリリースされた後継機のTI-99/4Aに搭載されました。TMS9918との違いは画面モードにMode 2が追加された点です。(Mode 2は256x3の豊富 & カラフルなキャラクタパターンを表示できる画面モードで、MSX1の市販ゲームソフトの大半がMode 2を使っています)
なお、TI-99/4は最初に16bit CPU(TMS9900)を搭載した先進的なホームコンピュータとして知られています。ただし、変態キーボードを搭載していたり、競合のAppleIIと比べて値段が高かったりといった難があり、1981年までの2年間で2万台以下しか売れませんでした。一方、後継機のTI-99/4Aはかなりヒットして、北米でトータル280万台出荷されました。
MSX1が販売された1983年の時点では、TMS9918Aは既に2年落ちの古いVDPでしたが、TI-99/4Aのヒットにより安価に調達できたものと考えられます。同年にSEGAから発売されたSG-1000にもTMS9918Aが採用されました。
ちなみに、SG-1000と同じ年(というか同じ発売日)に任天堂からファミリーコンピュータも販売されましたが、ファミコンのVDP(PPU)は、TMS9918Aと違い、3色のカラフルなスプライトを同時に64枚(TMS9918Aは単色で同時に32枚)表示でき、1ドット単位の滑らかなBGスクロールができる(TMS9918Aだと8ドット単位のカクカクなBGスクロールしかできない)という、当時としてはとても優れたものでした。
MSX1のCPUは1976年にリリースされたZ80の互換CPU(8bit)です。
そして、PSG(音源)のAY-3-8910は、1978年にリリースされたサウンドチップで、当時のゲームサウンドではほぼデファクトスタンダードの地位だったので、ゲーム機やホビー系パソコンなどに広く搭載されていました。なお、一部のMSXではYAMAHA製のYM2149(AY-3-8910の互換チップ)が使われています。
つまり、1983年に発売されたMSX1は、1976〜1981年ごろに普及した(2〜7年落ちの)古いチップセットが使われています。MSXの基本コンセプトは「ホームコンピュータの標準化」なので、ハード部分は枯れた技術の寄せ集めの方が参入障壁が下がり都合が良かったものと想像できます。
ただし、MSX2(1985年)でだいぶ状況が変わります。
MSX2では、ASCII, Microsoft, YAMAHAがMSX用に共同開発したV9938(通称MSX-VIDEO)というTMS9918A上位互換のVDPが採用されました。
V9938は、カラフルなビットマップ表示(※これはASCIIからのリクエスト)や1行に80列表示できるテキスト表示(※これはMicrosoftからのリクエスト)などが出来る反面、ゲーム向けの機能強化については申し訳ない程度にしか強化されませんでした。
当時のASCIIとMicrosoftはあまりゲームを重視していなかったようです。
グラフィックはかなりキレイになりました。
ただし、ビットマップベースの画像処理には膨大な量のデータ処理が必要です。TMS9918Aは8x8のキャラクタベースの画像処理でしたが、ビットマップベースだとデータ量が単純計算で64倍に増えることになります。しかし、CPUは依然としてZ80(9年落ち)なので、ビットマップベースの膨大な量のデータ処理には向きません。その問題を解決するため、V9938にはコマンドと呼ばれるDMA装置が実装されています。しかし、そもそもデータ処理量が多いのでコマンド実行速度は期待したほど速くありませんでした。そのため、V9938はファミコンよりもキレイなグラフ表示などができる反面、キャラクタベースの画像処理主体のゲーム・グラフィックとしての性能はファミコン(MSX2発売時点で2年落ち)に劣るものでした。実際、ザナックEXと呼ばれるファミコン版ザナックをMSX2へ移植したゲームが存在しますが、処理落ちがかなり酷いものになってしまいました。
MSX2+(1988年)でVDPがV9938からV9958に強化され、横方向のハードウェアスクロールが可能になるなどのマイナーチェンジがされましたが、CPUは依然としてZ80(12年落ち)でした。CPUについてはMSX turboRでR800(16bit)になり劇的に速くなったものの、VDPはV9958に据え置かれており、今度はコマンドのウェイト発生が動作速度upする上でのネックになったものと想像できます。
MSXは世界向けの標準規格を目指していましたが、MSX2の時点で海外のメーカーはほぼ撤退し、MSX2+では日本メーカー3社のみが残り、最後のMSX turboRに至っては日本メーカー1社だけの日本ローカル規格になってしまいました。
MSXの標準化路線自体は正しかったものの、MSX2以降でミスディレクションしているように見えます。MSX1はCPUとVDPのバランスが良かったのですが、MSX2以降の全てのシリーズではCPUとVDPのバランスが常に悪かったという点が目立ちます。MSXはどちらかというと、「ゲーム開発できるゲーム機」という側面が強かったので、ゲーム(ホビー)向けに振り切っていれば、標準規格としてもっと生き長らえることができたかもしれません。
YAMAHAはV9938の開発後、SEGAマークIIIに搭載される315-5124というTMS9918A上位互換(V9938とは別の系譜)のVDPを開発しています。315-5124はMode 4という機能が追加実装され、Mode 4ではカラフル(512色中32色同時発色)なスプライトとBGを表示でき、1ドット単位の滑らかなスクロールも実現できます。更に、Mode 4のBGはV9938のようなビットマップベースではなくキャラクタベースなので、V9938と違いバランスが良い(Z80の処理性能でも制御しやすい)VDPだといえます。Mode 4はファミコンのPPU以上の性能があります。ファミコンだとBGの属性テーブルのビットレイアウトが独特(1バイトで2x2ブロック=4キャラクタ分の属性を設定する複雑な仕様)なのに対して、315-5124はネームテーブルと属性テーブルが各1バイトのシンプルなレイアウトになっているので、315-5124の方がゲームプログラムの開発には適していると思います。
要するに、V9938ではなく315-5124を搭載したMSX (MSX1+?) が欲しかった。