この前、NEC PC98のMS-DOS 3.3がMS-DOS 3.21をベースであることを検証したけども、IBMの日本語DOS K3.3を調べてみたところ、こちらもベースはMS-DOS 3.3より前である可能性が高い。ただ、MS-DOS 3.21かというと、そうとも言えない。

まず、日本語DOS K3.3がMS-DOS 3.2x以前もしくはIBM DOS 3.2以前であることは、以下のことから分かる。

  • コードページの切り替えに対応していない。
  • CALLコマンドやCHCPコマンドがない。
  • FDISKで論理ドライブを作成できるが、DOSで論理ドライブを認識するにはドライバを組み込む必要がある。

また、COMMANDでInt 21h, AX=6300h(DBCSベクタアドレスの取得)、AX=6301h、AX=6302h(非公開機能?)、を使用していることから、MS-DOS 3.21ベースのようにも見受けられるが、そうとも言えない面が多くある。

DOSコマンドのバージョン別比較

対応するコマンドを比較してみる。左から、MS-DOS 3.1、IBM DOS 3.2、MS-DOS 3.2、沖電気 (AX) MS-DOS 3.21、NEC 日本語MS-DOS 3.3C、IBM 日本語DOS K3.3、IBM DOS 3.3、MS-DOS 3.3。英語版の比較情報は末尾の資料1より。

DOS Version 3.1 (MS) 3.2 (IBM) 3.2 (MS) MS-DOS 3.21ベース? 3.3 (IBM) 3.3 (MS)
コマンド 3.21 (AX) 3.3C (PC98) K3.31 (IBMJ)
APPEND × × ×
ATTRIB +A ×
ATTRIB /S × × × × × ×
CALL × × × × × ×
CHCP × × × × × ×
FC × × ×
FC /A × × × ×
MODE × ×
REPLACE ×
TREE ×
XCOPY ×

日本語DOS K3.3がDOS 3.3未満であることは黄色背景の部分から分かる。また、日本語DOS K3.3がDOS 3.2以上であることは水色背景の部分から分かる。ただし、青色背景で表したように、MicrosoftのMS-DOSにはあってIBMのDOSにはないコマンドというのがあり、日本語DOS K3.3はIBM DOS 3.2と一致することが分かる。

また、外部コマンドの多くはバージョン3.20、クレジット(著作権表示)は1986年となっていて、IBMスタッフの名前が入っている。

IBM 5550 Multistation Directory Path Display Utility Version 3.20 (C)Copyright IBM Corp 1983,1986 Licensed Material - Program Property of IBM Author - David Litton Modified - Mark Tyson, W. Russell Whitehead Modified for IBM 5550 - Takashi Itoh

クレジットを読むに、幾つかのDOSコマンドを5550用に移植していたのはItoh Takashiさんで、おそらく1977年から2007年までに日本IBMに在籍していらっしゃった伊藤孝さんのことと思われる。

COMMANDの要求するDOSバージョンも3.30ではなく3.20。K3.2がルーツだろうか。こうなってくると、そもそも日本語DOSのバージョン体系がどのようなものだったか調べる必要があるだろう。

IBM 日本語DOSのバージョン体系

そもそも日本語DOSというのは、日本IBMが日本市場向けに発売したマルチステーション5550やパーソナルシステム/55用のDOSであって、そのバージョン体系は本家たる米国IBMのPC DOSとは大きく異なる。バージョン体系がある程度統一されるのは、英語モードへの切り替えが実装された1989年発売のDOS J4.0以降になる。

DOSの新バージョンは新機種に合わせて発表されるので、その時の発表レターさえ見つければ発表日は分かる。

  • 日本語DOS K2.0からK2.7(5550用) - 1983年から1986年にかけてリリース。詳細不明。
  • 日本語DOS K3.2(5550用) - 1986年5月発表?(5550-J/Kと同時発表?)
  • 日本語DOS K3.3(PS/55用) - 1987年5月発表(PS/55シリーズと同時発表)
  • 日本語DOS K3.4(PS/55用) - 1988年9月発表(5570-T0Cと同時発表)
  • DOS J4.0(PS/55用) - 1989年5月発表(5550-Vと同時発表)

日本語DOS K3.2については発表レターではなく別の資料(資料2)で1986年5月発表とあるのを見つけた。これを5550ファンのサイトの年表と合わせると、5551-J,Kモデルが発表された時期と被る。ただ、同サイトのOSページではK2.7でJ,Kモデルに対応したとあるので、これらの情報が正しいなら、K2.7とK3.2は同時発表だったということになる。

なお、米国IBMがPC DOS 3.2を発表したのは1986年3月のこと。それからわずか2ヶ月後に日本IBMがDOS K3.2を発表したことになる。

結論:日本語DOS K3.3はDOS 3.3ベースではない

本題に戻ると、資料3によれば、日本語版MS-DOS 3.21のOAK β版がリリースされたのが1988年5月。日本語DOS K3.2の推定リリースである1986年5月とは離れすぎている。しかし、実際には日本語DOS K3.3には日本語版MS-DOS 3.21で追加されたDBCSベクタテーブルが実装されている。つまり、日本語DOS K3.3はPC DOS 3.2をベースとしながらも、日本語版MS-DOS 3.21の成果を取り込んでいるという、どっちつかずの状態だったということになる。

日本語DOS K3.2にDBCSベクタテーブルが実装されているかどうかは直接確認できないが、パーソナル・エディターがAX=6300hを使用していてかつ日本語DOS K3.2以降で動作するということなので、既に実装されていた可能性がある。そうなると、MS-DOS 3.21との前後関係はもはや成立しない。

資料4によると、1985年10月にMS-DOS 2.25がリリースされ、Ralf Brown’s Interrupt Listによれば、Int 21h, AX=6300h(DBCSベクタアドレスの取得)が実装されていると書かれている。MS-DOS 2.25の成果を共有して日本語DOS K3.2に取り込んでいると考えられるだろうか。ただ、MS-DOS 2.25については、EPSON PC用MS-DOS 2.11のベースになっていると噂では聞いたことあるが、文献等の公的な資料でその存在を確認したことはない。

ここで分かったことは、日本語DOS K3.3はDOS 3.2相当がベースではあるが、IBM PC DOS 3.2寄りでありながら、MS-DOS 2.25またはMS-DOS 3.21のDBCSベクタテーブルを実装しているということ。

参考資料

  1. List of DOS commands - PC DOS Retro
  2. 戸塚正康『日本IBMのパソコン新戦略 DOS/Vの衝撃波』、日本工業新聞社、1991年
  3. PC98のMS-DOS 3.3がMS-DOS 3.21であることを実証する
  4. Timeline of DOS operating systems - Wikipedia

※コメント欄が表示されない場合はdisqusについてJavascriptが有効であることを確認して下さい.

(C) 2008-2020 akm. Generated with sakmug-dp.