初めに
x86系CPUは、長年に亙って下位の互換性を保ちながら進化してきました。理論上8086で動くコードは現代のCore iシリーズでも実行できるはずです。
しかし、互換性が保たれているのはCPUの命令セットに限られます。周辺機器は時代と共に置き換わっており、MS-DOS時代には当たり前に使えた装置が、現代のPCでは存在せずエラーで止まってしまうことがあります。
そこで今回は、現代的なノートPC「ThinkPad X280」でMS-DOSを実際に起動し、どこまで動くのか、どこで止まるのかを実験しました。
BIOSの設定
現代のPCの多くは初期設定でUEFIとなっているため、BIOS起動できる設定にしておきます。
起動
MS-DOSをUSB経由で起動しようと試みたところ、現代のハードと互換性が無くドライバ関連のエラーで止まります。
対策
以下のように「Starting MS-DOS」と表示された瞬間にF5
を押すとハード関連の処理が飛ばれて、MS-DOSが起動します
コマンドを試してみる
dir
mem
ver
hkdsk
のコマンドは正常に動きました。
最後に
エミュレータを使わずにThinkPad上でMS-DOSが動いた時は感動しました。
core iシリーズのCPUが8086との互換性をを完全に保っている証拠です。
今後CONFIG.SYS/AUTOEXEC.BATを弄って実際どのドライバが原因で起動できないのかを調査する予定です。