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

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

bas1

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

オーケーウェーブの楽しい問答集
適当なこと書かないでもうちょっとがんばって。

どうも嘘っぽいってことで 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のことかな。

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レーンはミニマルすぎ。

 

広告

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中