MSX2

MSX2（エム・エス・エックス・ツー）とはMSX規格の一つで、1985年に発表され、6月から規格適合機種が発売された。
その仕様は、互換性に配慮しつつ、従来の初代規格と比べ、主にグラフィック機能が大幅に強化された。その規格の後期には、低価格路線を推し進めたことでユーザー数が大幅に増加し、後継となった規格のMSX2+は性能的にほぼ据え置きとなったこともあり、一連のMSX規格のうち事実上の標準と見なされることもある。

概要

MSX2は当初、MSX1と並行して販売され、マーケティング上の差をつけるためにFDD・漢字ROM・マッパーメモリー（128〜256KiB）を搭載し、さらに本体・キーボードが分離するセパレートタイプで「本格的なパソコン型」の高価な製品が多かった。これには、新規設計されたMSX-SYSTEMやMSX-SYSTEMII、V9938などの周辺チップ搭載や、8ビットパソコンとしては破格の大容量メモリーを搭載する必要があったこと等から、製造原価を押し上げてしまったという事情もある。1985年の年末には参入各社からMSX2のセパレートモデルが市場投入されたが、同じ時期にPC-8801mkIIFR, X1turbo II, FM77AV20が同価格帯で発売されており、競合機種がひしめく中での展開となった。
こうして発売後しばらくは「2〜6万円のMSX1」・「FDD非搭載、キーボード一体型で10万円弱のMSX2」・「FDD・漢字ROM内蔵、キーボードセパレートタイプで15万円程度の高級MSX2」の3路線のマシンが併売された。当時はワープロ専用機の全盛期でもあり、ワープロソフトを内蔵または付属した製品は数多く、10万円クラスの製品にはプリンターと一体化した製品も存在した。
MSX2発売当初はまだメガROMカートリッジは存在せず、FDDのない標準的仕様のMSX2ではその拡張されたグラフィック機能を活かすことが難しかった。また高級機は、一般向けには他の独自仕様ホビー・ビジネス機と対象が重なり、16ビット機の台頭も著しかったことから、その性能の大きな変貌とは裏腹に、一般ユーザーのMSX2への移行は緩やかなものとなった。
MSXという規格の柔軟さを生かし、当初より拡張アダプターによるMSX1規格からのアップグレードパスがアナウンスされ、いくつかのメーカーで、発売の検討がされた。しかし、コストや互換性などの問題から、最終的に製品としてリリースされたのは、1986年夏に発売された、NEOSのMA-20のみである。29800円と、発売時の価格は本体と比較しそれなりに安価だったが、同年10月には同価格の本体が発売されてしまい、普及することはなかった。構造的にVDPは置換することができないため、このアダプタでは、V9938と、MSX-BASIC2.0をカートリッジに内蔵、追加する形で動作する。拡張アダプターを用いてMSX2化したマシンとMSX2とでは、競合しないよう、VDPが接続されるI/Oポートのアドレスが異なる。MSX規格ではVDPのみ、アプリケーションがBIOSを介さずI/Oポートにアクセスすることを許容しており、メインROMの6、7番地に格納されているアドレスを用いることで差異を吸収することになっていた。しかし、現実的には、このような構成になっているハードウェア環境は著しく少なく、高速化のためのオーバーヘッドの回避や、プログラムサイズの縮小のため、これらの処理が行われず、MSX2として動作しないものもあった。
また、高い互換性を保っていたものの、MSX2で追加された仕様によって特定の状態を期待しているものが、期待される状態にならなくなったものや、ROM Versionに依存する形でのROM内ルーチンの直接コール等、初代MSX用のハードウェア並びにソフトウェアの一部に少数ながら動作しないものが存在している。
1986年秋、松下電器産業とソニーが本体・キーボード一体型の低価格機として、それぞれ定価29,800円のFS-A1と定価32,800円のHB-F1を発売する。これは前出のMSX-SYSTEMやMSX-SYSTEM II、V9938の製造設備の償却が終了し単価が大幅に下げられたことと、他社16ビットパソコンの普及でメモリーの価格が低下していたこと等の相乗効果による。その直前にメガROMカートリッジが登場したこともあり、安価に高機能グラフィックを楽しめるようになり、高額な他社のMSX2や表現力で劣るMSX1を抑え、主にゲーム機として小中学生を中心に普及した。
1987年、この両シリーズの後継モデルであるFS-A1F/HB-F1XDが登場。1基のFDDを内蔵して、定価はいずれも54,800円だった。ようやくソフトの供給メディアでは他機種と同列に並び、移植ゲームが多数発売された。また、ユーザーがそのグラフィックを中心としてデータを自由に扱える環境が整い、その後のMSX2規格を牽引していった。両シリーズが普及したことで、MSX2以降も「キーボード一体型の、安価なオモチャのパソコン」というイメージが定着するとともに、カートリッジスロット2つにFDD1台の環境が標準的なものとなり、ソフトウェアがそろうこととなった。
一方、ソニー、松下電器産業、三洋電機以外の各社は、MSX/MSX2規格からは撤退していった。ホビーパソコンの市場は既に8ビットから16ビットの転換期にあり、パソコンから撤退したメーカーや、16ビットのAX規格にも参入するメーカーもあった。
MSX1に対応するソフトも、ROMカートリッジで供給されるゲームを中心に、MSX2+が登場する頃までは地道に作り続けられた。特にコナミなどには「MSX2に匹敵するグラフィック」を実現したソフトもあった。
MSX1・MSX2は合わせて、世界的には400万台が出荷されたと公称されている。

VDPの一新

VDPはTMS9918とソフトウェア的な互換性を保ちつつ、ビットマップ画面の追加やスプライトの拡張などの性能の向上を図ったV9938へと変更された。VRAMの容量は64KiBまたは128KiBで、メーカーによる増設サービスやユーザーによる改造などの例外を除けば、その機種の標準構成で固定である。システムの起動時には縦スクロールして大きいMSXロゴが現れ、VRAM搭載容量が表示された。
テキスト画面も、80桁表示が可能になった。家庭用テレビの使用時には見づらくなり、フォント当たりの横幅が6ピクセルとなっているため一部の文字の表示が欠けてしまうものの、プログラムの作成、入力などで画面当たりのテキスト情報量が増えることの意味は大きく、これらにより本格的なパソコンとしての性格を強めた。
一方で、V9938は「スプライトの同時表示枚数が強化されていない」「ビットマップの描画があまり速くない」「PCGは強化されていない」「横方向のハードウェアスクロール機能がない」など、ゲーム用途で用いるには優れているとは言い難く、価格帯として競合したゲーム専用機と比較して、本格的なアクションゲームを作るには不向きだった。例えば、面ごとの多彩なスクロールが持ち味であるコナミ『魂斗羅』のMSX2移植版は画面切り換え方式になっていた。作るとしても、VRAMの使用量が比較的少なく、速度的に余裕がある16色横256ドットのモードが使用されることが多かった。機能の追加に関わらず、CPU速度が非力なまま据え置き、かつメインRAMも標準ではVRAMに比して小容量だったこともそのカタログスペックに見合うソフトウェアがそろいにくかった一因とも言える。横スムーススクロールについては後に、表示位置の補正機能を用い、実現するソフトウェアが現れた。
SCREEN4以上の画面モードでのスプライトはモード2とされ、横ライン毎の着色指定と、重なり合った二枚のスプライトによりスプライト1の色・スプライト2の色・両者のORを取った色・透明の4色の表示が可能となった。また、横方向に同時に表示できる枚数が4枚から8枚になり、実際の色が重なっている座標を検出する割り込みモードの追加などが強化されている。ただし、一画面同時表示が32枚までであることに代わりはない上に、重ね合わせの多色表示を行うとそれらの恩恵は利用できないという制約があったため、シューティングゲームの敵などは相変わらず単色のことも多かった。後に画面割り込みを利用して、見かけ上、倍の64枚表示を売り物にしたゲームも発売されたが、ごく特殊な例といえる。
ビットマップグラフィックスモードでは、新設されたVDPコマンドが使用でき、CPUのアドレス空間を超える容量のVRAMに対するアクセスをサポートした。転送や描画には論理演算を行えるなど、当時としては高機能であり、スプライト等の機能を含むこれらの機能によってBASICコマンドで実現する描画処理は直接VDPを制御するのに肉薄する速度で動作し、当時のパソコン誌には他の機種では難しかったユーザーによって作成されたリアルタイムゲームが多数掲載された。反面、どうがんばっても描画処理そのものはそれ以上の速度は出ないということでもあった。また、GRAPHIC 3（BASICでいうところのSCREEN4）以外の追加された画面モードはビットマップグラフィックであり、VDPコマンドの存在を持ってしてもゲームの背景としてダイナミックな動きを実現することは難しかった。理論上、VDPはCPUとの並列処理が可能である。しかし、VDP自体が然程高速なものではなく、VDPのみで完結する処理が限られていること、CPU自体が高速ではないことから並列性は上がらず、現実的にはアクセスに対するウェイトの存在や、VDPを介してVRAMに対してアクセスする構造はコーディングによる工夫の壁となり、他の実装のハードウェアに対して大きくパフォーマンスを向上させることはなかった。そして、このさほど速くないVDPが表示に関する制御を握ってしまうこの構造は、後継規格であるMSXturboRでCPUが高速化した際にシステムパフォーマンスの足を引っ張る原因となった。
テレビへ表示することを前提に作られていることもあり、最大解像度そのものも、横幅が最大512ドットで、他の同時期のコンピュータより狭く設定されている。
一方で、256色同時発色のモードは、少色・高解像度一辺倒だった当時のパソコンの中では異彩を放つ、充分にインパクトのある仕様だった。この後にシャープから256色表示のMZ-2500が、富士通から4096色表示のFM77AVが発売されるなど、当時の傾向に一石を投じたと言える。また、少色表示のモードではカラーパレットが使えるようになり、表示色の選択の自由度が増した。初代MSX規格用のソフトウェアの一部では、機種を判定し、カラーパレットによる表現を追加しているものもある。なお、起動時に設定されるカラーパレットのデフォルト色はMSX1に近いものに設定されたが、表示色の分解能などから、カラーテーブルに完全な互換性がないため、実際にテレビに写る色は微妙に異なる。
SCREEN5以降のモードでは、2画面切り替えでインターレース表示をすることで、縦方向の解像度を見かけ上、倍にすることができた。標準のBASICでは設定ができるのみで活用されてはいなかったが、後に発売された漢字BASICでは正式に使用された他、一部のゲームソフトやグラフィックツールでも使われていた。これにより、漢字表示の文字数などでは当時の他のパソコンにほぼ並ぶことができた。ただし、「家庭用テレビにつなげて使える」はずのMSXにあっては、アナログRGB入力端子つきのテレビ・モニターを所有しているか、さもなくばRF・ビデオ出力では目立ってしまうちらつきを許容できるかなど、いささかばかり環境やユーザーを選ぶものだった感は否めない。

メモリマッパの追加

メイン・メモリーが最低64KiBと規定されるとともに、スロットとは別にメイン・メモリーをページ単位で割り当てることができる、メモリー・マッパーがオプションで規格に加えられた。これにより、仕様上はスロットあたり最大4MiB弱のRAMを増設できるようになっている。ただし、MSX-SYSTEMIIなど、本体内蔵LSIのメモリマッパが512KiBまでしかデコードされておらず、当時はメモリが高価であり実際にフル実装された環境はまれだった。初期のハイエンド機でこそ128KBや、256KBを搭載した機種があったものの、MSX-DOS1並びにMSX-BASICとそのBIOSではサポートルーチンが用意されず、規格としてオプションだった事などから、ディスクリート部品で構成された国産機種などでは搭載されていない機種も多く存在する。そのため、MSX-BASICのプログラム用フリーエリアは最大実装量に関わらず32KiB未満である。このような条件も重なって、存在が保証されないことから国内の市販ソフトウェアで積極的に対応することはなく、メモリマッパをサポートするソフトウェアは独自流通のユーザーによるプログラムの方に多く見られた。また、前述のような状況から4MiBを搭載したメモリマッパを使用した場合算術的オーバーフローによる誤認識や、誤動作が見られるケースも多くあった。
システム全体で管理する仕組みがないため、MSX-DOS上のプログラムなどで、常駐プログラムなど複数の対応ソフトウェアを併用する場合はその使用状況の競合などへの考慮が必要となる。海外ではメインメモリが64KiBでもメモリーマッパーを内蔵している機種が標準とされ、存在することを前提にMMUの代わりに使用しているようなプログラムも見られる。
前述のとおり、メモリーマッパーはスロットとは異なりメモリーマッパー上のページを接続されたスロット上の任意のページに割り当てることが可能なMMUに近い柔軟性を持つ。この点が、そのページアドレスの移動は不可能なスロット上に配置されたROMやメモリーマッパー非対応RAMとの最大の違いである。システムからのサポートにはMSX-DOS2が必要となり、MSX-DOS2では、最も大きいメモリが接続されているメモリマッパーがプライマリマッパーとして選択され、その際管理される最大容量は4096KiBとなっている。
メモリマッパーのI/Oポートは一つ分しか確保されていないため、そのレジスタは書き込み専用である。また、純正のシステムではサポートしていないものの、スロット制御の併用によって、カートリッジスロットが1つの機種ではそれをセカンダリスロット4つに拡張してそれぞれに4MiBのメモリマッパを搭載する事で16MiB、2つの機種では同様の拡張で32MiB強に及ぶメモリ空間を制御することも理論上は可能となった。在野のユーザーによるものではあるが、セカンダリスロットにもマッピングを行い1つのカートリッジで16MiBのメモリを搭載したメモリマッパカートリッジも実在している。

その他の変更点

16Byteと小容量ながら乾電池によるバックアップ機能も付加され、RTCや起動時の画面モードの保存、起動時パスワードの保持、Beep音の設定保存などに排他的に使用された。
BASICは、強化された表示回りのサポートの強化のほか、カナの入力にローマ字入力がサポートされるなどの機能追加が行われている。
サウンドではオプションとして、文字多重放送とキャプテンシステムに対応したFM音源/ADPCM音源を採用したMSX-AUDIO（Y8950）も規格に盛り込まれた。しかし、松下電器産業が商品化したMSX-AUDIO対応カートリッジは、34,800円と本体価格に比して高価でかつ対応ソフトもほとんど発売されなかったこと、その特殊な形状などから国内では普及しなかった。標準ではMSX1から据え置きのPSG音源のままであり、この頃からFM音源をオプションとして用意、もしくは標準搭載され始めた他のパソコンに遅れを取っていた。この状態は1988年に松下電器産業から7,800円とより安価なFM音源カートリッジFM-PAC（MSX-MUSIC）が発売されるまで続いた。
このような要因もあり、MSX2になってもゲームマシンとしてはファミコンに遠く及ばず、パソコンとしてもパソコン御三家などからグラフィックを書き直して移植されたものが大多数で、MSX2オリジナルのパソコン然としたソフトは少なかった。解像度が他の国産機と異なっていたことや、漢字ROMがオプションだったことも移植に影響した。またMSXのバンク切り替えを多用する規格上の制約並びに、インターフェイスの設計からフロッピーディスクドライブなどの転送中はCPUの割り込み処理を止めざるを得なかったため、サウンドの再生が途切れる等の演出上の制約も“チープさ”に拍車をかけていた側面は否定できない。