IBM DOS (PC DOS)のBASIC

IBM DOS (PC DOS)のBASICはなぜ動かないのか。

IBM DOS 5.0 に含まれているBASIC コマンド。
VirtualBoxではROM BASICが無いとか言われて動かない。

bas1

インターネッツで探すと、いつものようにいいかげんなことが書かれている。

オーケーウェーブの楽しい問答集。
ROM BASICの入れる方法

まず、タイトルの助詞の使い方からおかしい。
適当なこと書かないでもうちょっとがんばって。

どうも嘘っぽいってことで DEBUGにかけてみた。

:

で、一か所パッチしたヴァージョンを作ってみたら、
bas2

bas3

はい動きました。

BASIC KV3.38

仕組みを簡単に説明するとBASIC.EXEが起動時にBIOS内のコピーライト表示「IBM…」の文字列を確認してるだけなんですね。なのでIBMのAptivaとかThinkPadなら動くものが多いけれど、サードメーカー製のAward BIOSとかAMI BIOSだと動かない。

パッチしたものは起動はするが、完全に動くかどうかは分かんないです。簡単なテストプログラムは動くようだけど、VirtualBoxではDONKEY.BASは動きませんでした。SCREENの動作もあやしいのでビデオまわりのエミュレーションがいまいちなのかも。

OEM版Windows XPのBIOSチェックみたいなものかと。

今回はBASIC.EXEのみを対象としましたが、DOS5に入ってるIBM BASIC は次のようなファイル構成になっています。

BASIC.COM ・・・ BASICローダー
BASIC.EXE ・・・ 日本語環境のBASICインタプリタBASIC Ver. KV3.38 (1992)
BASICA.COM・・・英語環境のBASICインタプリタThe IBM Basic Ver. A3.40 (1987)

BASIC.COMがローダーになっていて日本語環境・英語環境を判別してBASIC.EXEかBASICA.COMを起動します。BASIC.EXEは一応日本語対応らしく、ShiftJISのダメ文字もきちんとPRINTで表示できたはずです。バージョン表記KVはKanji Versionのことかな。KバージョンはPS/55の日本語DOS(通称 漢字DOS、KDOS)用、KVバージョンがDOS/V用。BASICA.COMは英語版で起動されるがIBMのBASIC ROMが載っていない互換機では動作しない様子。追跡したら機種判別は特に行われておらず、ビデオモードがおかしいのを除いて、コピーライトの表示あたりまでは動くが、コマンド入力待ちになる前にプログラムコード外に飛んでハングかリブートしてしまい動作しない。

2023.12追記 ROM BASICがないPC/AT互換機でもBASICA.COMを動かすことができた。
「ROM BASICの入れる方法」

Hampa Hug氏のPCE Emulator(IBM PC 5150エミュレータ)でDOS5のBASICA.COMを動かしてみると、きちんと動きます。このエミュレータはCPUが80186までなのでDOS/Vは動かないものの5150のBIOSをそのまま使っているらしく非常に再現性が良い感じ。

basica

これだと人気のAppleスマホにもAndroidにも移植された、DONKEY.BASが動きます。

Big Blueの名を冠したマシン名がまぶしい。

basica2

BOOM!

スマホゲームの操作性を先取りしたワンタッチで楽しめるゲームシステム、ドゥルドゥルというイカした効果音、そしてロバの体が真っ二つに吹き飛ぶ派手なアクション!!

ゲイツ氏入魂の世界初The PC用クソゲーには2分くらいで飽きました。ブレーキが効かないイカれた車で止まっている障害物を永遠に避け続けるという当時ありふれていたレーシングゲームの中でも2レーンはミニマルすぎ。

IBM DOS (PC DOS)のBASIC」への4件のフィードバック

  1. ピンバック: の回想録

  2. ピンバック: の回想録

  3. ピンバック: の回想録

  4. ピンバック: の回想録

コメントを残す