IBM OS/2のBASIC

数年前にPCDOS6.x以前に入っているIBMのBASIC処理系、BASIC.EXEにパッチを当ててIBMマシン以外でもBASICが起動できるようにする記事を書いた。

IBM DOS (PC DOS)のBASIC

OS/2にもIBM BASICは入っている。これにもROMチェックがあってIBMマシン以外では動かない。

VirtualBox上のOS/2 Warp3

PCDOSのパッチ済みBASIC.EXEを持ってきたら動くかと思ったのに、何か違うとかメッセージが出て動かない。しかたがないからOS/2版のBASIC.EXEもパッチしてみる。

画面がスクロールして消えている一行目は “COPY BASIC.EXE BASIC-P.BIN” としてパッチ用のファイルを作っている。これはDEBUGが.EXEを読み込むとEXEヘッダを展開して実行直前の状態までメモリに展開してしまうので、拡張子を.EXE以外にして通常のバイナリファイルとして読み込ませる。パッチする場所はファイル先頭からのオフセット9DB8Hにあるが、DEBUGが100Hを起点としてメモリに読み込むためDEBUGのMコマンドでは+100Hして9EB8Hを編集する。変更内容はPCDOS版のBASIC.EXEと全く同じで74H→EBH。編集したらWコマンドでBASIC-P.BINに書き戻してから.EXEにリネームして、パッチ済みのBASIC-P.EXEができあがる。

さっそく実行してみる。

はい動きました。

バージョン番号はBASIC KV3.38でPCDOS版と同じ。

こんな情報はDOSよりはるかに需要が少なそう。でも業務用途だとOS/2はまだ動いているところもあるし、もしかしたら困っている誰かの役に立つかもしれない。このBASIC処理系で書かれたプログラムが現役で動いて走っているのに、PC本体が壊れて互換機に買い換えたらBASICが動かなくて困っているとか、そういうシチュエーションで。



BASIC.EXEは英語PCDOS環境で動かなくて、純粋に日本語DOS/V環境でしか動かない。英語版のBASICA.COMはROMチェックを飛ばすと変な感じでちょっとだけ動いて固まってしまう。

ROMチェックをスキップ。
うんこ色に固まる。

まあ、英語環境ではQBasicが提供されているのでBASIC環境としては困らない。

BASICの良し悪しは抜きしてBASIC処理系が最初から用意されているのはPCの歴史的に意義がある。

コメントを残す

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

WordPress.com ロゴ

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

Google フォト

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

Twitter 画像

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

Facebook の写真

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

%s と連携中