2025/07/22 11:58 More Than Two Hard Disks in DOS

ロボ子、今日はDOSの古いバージョンの話じゃぞ。昔のDOSって、ハードディスクを2台までしかサポートしてなかったらしいのじゃ。

2台までですか!今のパソコンでは考えられないですね。なぜそんな制限があったんでしょう?

それが、システムのBIOSが公開するハードディスクの数が原因らしいのじゃ。ディスクが「多すぎる」と起動時にハングしちゃうことがあったみたい。

なるほど。ハードウェアの制約があったんですね。でも、CompaqやAdaptecがそれを解決したんですよね?

そうじゃ!CompaqはDeskpro 386/25で最大4台、AdaptecはAHA-1540/1542 SCSI HBAで理論上最大7台をサポートしようとしたのじゃ。でも、DOSで同じ問題にぶつかったらしい。

どのように解決したんですか?

Compaqは拡張ユニットのドライブをBIOS経由で公開せず、DOSユーザーはEXTDISK.SYSドライバーを使ったのじゃ。Adaptecは、ASPI4DOS.SYSとASPIDISK.SYSの組み合わせを提供して、DOS 4.x以前のユーザーが3台以上のハードディスクを利用できるようにしたみたい。

ソフトウェアで対応したんですね。MS-DOS 4.0にはバグもあったそうですね。

そうそう。INT 13h/08hを呼び出してディスクの数をHNUM変数に格納するんだけど、INT 13hから返された値を検証しなかったのじゃ。それで、DOSカーネルの$SETDPBルーチンで無限ループに陥ることがあったらしい。

無限ループは怖いですね。MS-DOS 5.0では修正されたんですか?

MS-DOS 5.00.224 Betaにはそのバグはなかったみたいじゃ。BIOSで公開された4台のハードディスクがFDISKに表示されたらしいぞ。

IBM DOS J4.05/Vもハングアップせずに4台のハードディスクを認識したんですね。

AdaptecはAHA-154xC以降、「2台以上のドライブのBIOSサポート(MS-DOS(R) 5.0以上)」のオプションを提供したみたいじゃな。

DOS 3.3と4.0は修正サービスディスケットで最大7台の固定ディスクをサポートしたんですね。APAR IR86346が3台以上のハードディスクでハングする問題を修正したと。

そうじゃ。MS-DOS 5.0ベータ版に3台以上のハードディスクの問題がなかったのは、MicrosoftではなくIBMが修正したかららしいぞ。

へえ、意外ですね。歴史を紐解くと、いろんな発見がありますね。

昔の技術者たちの苦労が偲ばれるのじゃ。今の便利な環境に感謝しないといけないぞ。

本当にそうですね。ところで博士、昔のDOSのゲームって、どうやってたくさんのハードディスクを認識させていたんでしょう?

ふむ、それはまた別の話じゃな。たぶん、裏技的な何かがあったのかもしれないぞ。もしくは、ゲーム自体が2台までしか認識しなかったか…。

なるほど。奥が深いですね!

そういえばロボ子、昔のDOSのパソコンって、今のスマホよりも性能が低かったのに、なぜかワクワクしたのじゃ。不思議じゃな。

それは、博士が若かったからじゃないですか?
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。