MSX-DOS

MSX-DOSは、MSX規格向けに開発された、CP/M上位互換のDOSである。MSX-DOSとMSX-DOS2がある。

1. 開発
-----

MSX-DOSは、アスキーとマイクロソフト、国内家電各社などを中心として1983年に策定されたホームコンピュータの統一規格「MSX」のシステム環境、OS環境としてMSX-BASICと共に開発された。1983年、マイクロソフトは、MS-DOSをMSXに移植する契約をティム・パターソンと交わした。パターソンは彼の会社に資金を助成するという契約を受け入れ、1984年にMSX-DOSオペレーティングシステムを完成させた。

2. 互換性
------

OSとしては、当時80系CPUを搭載したコンピュータで広く利用されていた米デジタルリサーチ社開発のCP/M-80に対する上位互換性を確保したクローンOSである。構造的には、CP/M 1.4相当の機能を持つ。フロントエンドとなるCOMMAND.COMコマンドラインインタプリタは、CP/MのCCPの代わりにMS-DOS環境で標準的に用いられていたCOMMAND.COM環境をZ-80向けに移植したサブセットである。このため、MSX-DOSとMS-DOSはシステムコールやバイナリには互換性はない。

MSX-DOSは、CP/Mに対してシステムコールおよびバイナリ互換を持ち、TPAの容量に注意すればCP/M用の WordMaster/WordStar や Turbo Pascal などの各種アプリケーションはファイルシステムをコンバートするのみでMSX-DOS上でそのまま動作する。

ファイルシステムとしては、当時すでに普及が始まっていた86系コンピュータ向けのMS-DOS 1.25 で用いられていたFAT12と互換性を持つファイルシステムを採用しており、制限はあるもののMS-DOSとフロッピーディスクを共用できる。なお、MSXの半角平仮名などをサポートするために8bit透過性が保証されているなどの特色もある。

3. MSX用のMSX-DOS
---------------

フロッピーディスクドライブやパーソナルコンピュータ本体、アプリケーションソフトウェアに付属して配布された。使用には最低64KBのメインメモリが必要。MSX-DOSだけが個別に販売されることはなかった。ただし、開発環境などが同梱された MSX-DOS Tools というパッケージはあった。

BIOSと拡張されたシステムコールは併せてBDOSと呼ばれ、ディスクドライブのインターフェースカートリッジのROMに内蔵されているものを呼び出して実行している。このためDISK-BASICからもBDOSの実行ができる。またDOSからMSXのROM-BIOSやスロットの使用もできる。システムファイルはMSXDOS.SYS・COMMAND.COM・AUTOEXEC.BATであり、MS-DOSにあるCONFIG.SYSや、デバイスドライバを記述するコマンドなどはない。MSXの特徴として、その柔軟かつ強力なBIOSシステムによって拡張機器にはBIOSが搭載されており、接続すると自動的にBIOSが組み込まれるため、デバイスドライバ等の組み込みは構造上必要なかった。

構造的な特徴としては、MSXの強力なBIOSシステムおよびそれらを共有するMSX-BASIC環境との間に、次のような親和性の高さがある。

コマンドプロンプトから互いの環境を行き来することが可能。
DOSとBASICの双方で単一のファイルフォーマットを使用。
これにより MS-DOS 搭載パソコンと、フロッピーディスクのフォーマットをコンバートすることなく共用してデータを交換できる。ただし、MS-DOS で作成されたディスクのサブディレクトリは認識できるが、アクセスは不可能である。したがって MS-DOS とデータを交換する場合は、ルートディレクトリにファイルを置く必要がある。
MSX-DOS上のアプリケーションからBIOSを、MSX-BASIC環境からMSX-DOSのBDOSを利用可能。
CP/M用のアセンブラやコンパイラ等を用いてコーディングする際にもMSX用のBDOSやBIOSをシームレスに利用可能。これにより、当時の8bitコンピューター用のDOS環境としては破格の機能と柔軟性を確保した上で、豊富なCP/Mのアプリケーションやデータおよび知見なども活かすことが可能だった。

ファイルの時刻の管理はパソコンの本体にカレンダー時計機能があればそれを利用し、なければ起動時に日時を入力するようになっている。

MSX-DOSは4台までのフロッピーディスクのほかハードディスクドライブなどにも対応している。ただしファイルシステムがFAT12相当であるため、ドライブ1パーティションあたりの容量は最大32MBまでという制限がある。またドライブレターもワークエリアの容量の関係上、A:からH:までの最大8台分に限定され、MSX-DOSおよびDISK-BASICで取り扱い可能なストレージの最大容量は32MB×8の256MBとなっている。なお、当時のPC/ATやPC-9801などの一般的なMS-DOS環境に対応したESDIやSASIのHDDの容量は20～80MB程度であり、発売当時としてはこれだけの容量を管理できれば十分と言えた。

4. MSX用以外のMSX-DOS
-----------------

MSX-DOSは本来MSX用のオペレーティングシステムとして開発された製品である。しかし、マイクロソフトの表計算ソフトウェアであるMicrosoft Multiplanを日本電気製のPC-8800シリーズやシャープ製のX1シリーズ、MZ-2500シリーズに移植する際にMS-DOSとのファイルの互換性が重視されたためMSX-DOSは両機種にもサブセットとして移植され、専用のメモリボードと組み合わせて販売された。MSX用のMSX-DOSと同様に、これらの移植版についてもMSX-DOSだけが個別に販売されることはなかった。

PC-8801とX1には、MS-DOS互換フォーマットやCP/Mをサポートする類似のOSとしてC-DOSがあった。

パチンコ基板にも搭載された。MSXの総生産台数500万台に加え、パチンコ基板の年間生産台数が420万台に及んだことから、当時の日本のOSシェアのトップは実はMSX-DOSだったと元マイクロソフトの古川享は指摘している。

5. 後継
-----

5.1. MSX-DOS2
-------------

MSX-DOS2は1988年にMSX2用にアスキーが開発し、OS単体で販売したものである。因みに商品名は『日本語MSX-DOS2』

MSX-DOS2では、ファイルシステムにMS-DOS Version 2.11とほぼ同等の仕様の階層ディレクトリやファイルの特殊属性機能、環境変数とパス、リダイレクトやパイプなどが追加されたほか、日本語表示への対応や、マッパーRAMの管理ルーチンと、これを使用したRAM DISKの機能が備え付けられた。COMMAND.COMなどのヘルプ機能も充実した。同時に、DISK-BASICの拡張もなされた。ファイルシステムはFAT12のままだが、後年ユーザー有志の手によるパッチを当てることによりFAT16のアクセスも一応可能となった。

専用のROMカートリッジには、拡張されたBIOS/BDOSがROMに収められている。動作するために最低128KBのマッパーRAMが要求され、作業領域として32KBのRAMをマッパーRAMから確保する。そのため、内蔵増設RAMがあるものとないものの2つのバージョンがある。RAMがあるものはカートリッジ内部でスロットを拡張しているため、セカンダリスロットでは動作しない。

なお、MSX-DOS2のROMカートリッジの内容はMSXturboRでは本体に内蔵された。

5.2. MSX-DOS3
-------------

2003年11月30日に行われた「MSXマガジンまつり」にて西和彦からコメントがあり、「2HDとTCP/IPに対応し2004年にリリース予定」とされていた。1チップMSXのアスキーからの製品化が白紙になったこともあり、その後の状況は不明。

6. MSX-DOSの主なアプリケーション
---------------------

MSX-DOS TOOLS : CP/Mから移植したM80、L80、MEDなどの開発ツールをまとめたもの。
MSX-DOS2 TOOLS : MSX-DOS TOOLSの、DOS2専用の日本語対応版。
MSX-SBUG : シンボリックデバッガ
MSX-SBUG2 : MSX-SBUGの、DOS2専用の日本語対応版。
MSX-C : MSX用のC言語コンパイラと、そのライブラリ。使用するにはDOS TOOLSが必要。

7. MSX-DOS以外のMSX用DOS
--------------------

MSXではMSX-DOS以外にも以下のOSが動作する。開発年順に列記する。

CP/M
S-OS"SWORD"
UZIX
SymbOS
Contiki
[1]

8. 関連項目
-------

MSX-BASIC
HALNOTE
MSX-VIEW

9. 参照
-----