MSX-DOS
MSX-DOS(エムエスエックスドス)は、MSX規格向けに開発された、CP/M上位互換のDOSである。MSX-DOSとMSX-DOS2がある。
MSX-DOSは、アスキーとマイクロソフト、国内家電各社などを中心として1983年に策定されたホームコンピュータ(家庭用テレビに接続し直ぐに使用できる安価で便利なコンピュータの事)の統一規格「MSX」のシステム環境、OS(オペレーティングシステム)環境としてMSX-BASICと共に開発された。1983年、マイクロソフトは、MS-DOSをMSXに移植する契約をティム・パターソンと交わした。パターソンは彼の会社に資金を助成するという契約を受け入れ、1984年にMSX-DOSオペレーティングシステムを完成させた。
OSとしては、当時80系(インテル8080系)CPUを搭載したコンピュータで広く利用されていた米デジタルリサーチ社開発のCP/M-80との上位互換性を確保したクローンOSである。構造的には、CP/M 1.4相当の機能に加え当時すでに普及が始まっていた86系(インテル8086系)コンピュータ向けのMS-DOS 1.25 で用いられていたFAT12と互換性を持つファイルシステムを採用した。
フロントエンドとなるCOMMAND.COMコマンドラインインタプリタは、CP/MのCCPの代わりにMS-DOS環境で標準的に用いられていたCOMMAND.COM環境を移植したサブセットである。ただし、MSX-DOSとMS-DOSはシステムコールやバイナリには互換性の無いまったく別のOSである。
MSX-DOSは、CP/Mとのシステムコール(BIOS)およびバイナリ互換を持っている。FAT12とほぼ同一のファイルシステムを採用しているが、MSXの半角平仮名(1バイトの平仮名文字)などをサポートするために8bit透過性が確保されているなどの特色もある。
CP/MとはTPAの容量に注意すればバイナリにも互換性があり、CP/M用の WordMaster/WordStar や Turbo Pascal などの各種アプリケーションはファイルシステムをコンバートすると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の双方で単一のファイルフォーマット(FAT12ファイルシステム)を使用。
これにより MS-DOS を使用したパソコンと、同じフロッピーディスクでデータをやり取りできる。ただし、MS-DOS で作成されたディスクのサブディレクトリは認識できるが(DIRコマンド等で表示可能)、アクセスは不可能である。したがって MS-DOS とデータをやり取りする場合は、ルートディレクトリにファイルを置く必要がある。
MSX-DOS上のアプリケーションからBIOSを、MSX-BASIC環境からMSX-DOSのBDOSを利用可能。
CP/M用のアセンブラ(M80)やコンパイラ等を用いてコーディングする際にも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程度であり、発売当時としてはこれだけの容量を管理できれば十分と言えた。
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だったと元マイクロソフトの古川享は指摘している。
MSX-DOS2(エム・エス・エックス・ドス・ツー)は1988年にMSX2用にアスキーが開発し、OS単体(ディスク+カートリッジ)で販売したものである。因みに商品名は『日本語MSX-DOS2』
MSX-DOS2では、ファイルシステムにMS-DOS Version 2.11とほぼ同等の仕様の階層ディレクトリやの特殊属性機能、環境変数とパス、リダイレクトやパイプなどが追加されたほか、日本語表示(全角文字、漢字ROM)への対応や、マッパーRAM(EMSに似た切り替え機構を備えた大容量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では本体に内蔵された。
2003年11月30日に行われた「MSXマガジンまつり」にて西和彦からコメントがあり、「2HDとTCP/IPに対応し2004年にリリース予定」とされていた。1チップMSXのアスキーからの製品化が白紙になったこともあり、その後の状況は不明。
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言語コンパイラ(LSI C-80セルフ版相当)と、そのライブラリ。使用するにはDOS TOOLSが必要。
MSXではMSX-DOS以外にも以下のOSが動作する。開発年順に列記する。
CP/M