テクハンwiki

2章 MSX2システム概要

 ここでは、MSX2システムの概要を、ソフトウェア/ハードウェアの両面から簡単に見ていくことにします。なお、概念的理解の妨げにならないように、実際のソフトウェア開発時に必要になるような具体的内容(VRAMマップ、I/Oマップ、インターフェイス規格など)は、なるべく巻末のAPPENDIXにまとめて掲載することにしました。

 2.1 ハードウェア概要

 まず、MSX2の全体のハードウェア構成を理解していただくために、ブロック・ダイヤグラムを図1.3に示します。


図1.3 MSX2のブロックダイアグラム

2.1.1 アドレスマップ

● メモリマップ
 MSX2に標準で装備されているメモリは、MAIN-ROM、SUB-ROM、64KRAMの3つです。それらのメモリは、物理的にはそれぞれ独立した64Kのアドレス空間にあり図1.4の(1)のように配置されています(64Kの各空間を“スロット”、それを16Kずつ4つに分けた各エリアを“ページ”という)。(2)、(3)はそれぞれBASIC、MSX-DOSを利用する時のメモリの使われ方です。

 では、それぞれのメモリについて(イ)のメモリマップを図1.5に、(ロ)のメモリマップを図1.6に、(ハ)のメモリマップを図1.7に示します。

 メモリマップ以外で、仕様が規定されているものに、VRAMマップ、I/Oマップがありますが、それらは巻末のAPPENDIXにまとめて掲載しています。


図1.4 MSX2の標準装備メモリ


図1.5 MAIN-ROMのメモリマップ

図1.7 MAIN-RAMのメモリマップ

図1.6 SUB-ROMのメモリマップ

2.1.2 周辺機器とのインターフェイス

 MSX2では、周辺機器とのインターフェイスに関しても詳細に規格化されています。
 標準仕様として規格化されているインターフェイスは以下のとおりです。

  • ディスプレイ・インターフェイス
  • オーディオ・インターフェイス
  • カセット・インターフェイス
  • 汎用入出力インターフェイス
  • プリンタ・インターフェイス

 このうち、最後のプリンタ・インターフェイスに関しては、MSX1ではオプションでしたが、MSX2から標準仕様に加えられています。

 ディスク・ドライブのインターフェイスは、MSX1と同様オプションになっていますが、MSX2のメインRAMが標準で64Kであることを考えると、標準仕様に近い存在といえるでしょう。

 その他、MSXの大きな特徴であるカートリッジの仕様など詳細な情報はAPPENDIXに掲載しています。

 2.2 ソフトウェア概要

 MSXにはBASICモードとDOSモードの2つのソフトウェア環境が用意されています。BASICモードではMSX-BASICによるプログラムの開発、実行といったことが簡単に行えるようになっており、通常はこのモードが広く使用されています。パソコンが現在これだけの普及率を得ているのも、ひとつにはこのBASIC言語の“誰にでも使える”という点が評価された大きな要因であるといえます。

 DOSモードではMSX-DOSを核としてさまざまな言語、ユーティリティあるいはアプリケーションといったものを使用することができるようになっています。一般にDOSとは、ハードウェアの違いを補い、そのDOS上であればマシンを選ぶことなく同一のプログラムが実行できる場を提供するもので、これにより今までに蓄積されてきたソフトウェア資源を有効に利用できることになります。もちろんMSX-DOSにもその精神はおおいに受け継がれています。まず、ディスクのフォーマットが16ビットマシンでは一般的なMS-DOSと同一であるため、MS-DOS上で作成されたC言語などのソースプログラムをMSX-DOS上でコンパイルし実行するといったことが簡単にできます。また、8ビットマシンの世界で膨大なアプリケーションの蓄積を持つCP/M上のソフトウェアが、ファイル変換をするだけで、ほとんどそのまま実行できることも見逃せません。

 そして特筆すべきなのは、MSXにおいてはBASICとDOSが同一のディスクフォーマットを持ち、資源が共有できるという点でしょう。両者は図1.8に示すように、BIOS(Basic I/O System)を共通の基盤として持つ均一化されたソフトウェア環境の上に成立しています。ディスク操作の基本となるBDOS(Basic Disk Operating System)もまた、このBIOS上に構築されているのです。MSXでは、この共通のBDOSとBIOSを通して、BASICとDOSに統一されたプログラミング環境を提供しています。


図1.8 MSX1およびMSX2のソフトウェア階層図