何とか庵日誌

本名荒井が毒にも薬にもならないことを書きつづるところ

「I.M.A.S.」

f:id:fukenko:20140517005522p:plain

先日「MSXべーしっ君」を手に入れる機会がありましたので、専用プログラムを一本入力してみました。
今回ご紹介するのはログイン87年6月号掲載「I.M.A.S.」です。あずささんや涼ちんが出てくる方のアレではありません(おい)。
ゲームはシンプルな固定画面STG。照準を動かし、上から降ってくる敵をどんどん打ち落とします。画面下部を左右に移動している砲台が自機で、これに敵がぶつかるとダメージ。溜まるとゲームオーバーです。自機と照準の動きが別々というところが工夫で、かの名作「激写ボーイ」や「ワイルドガンズ」に通じるものがあると言えないこともありません。

f:id:fukenko:20140517005557p:plain

さておき、本作はなんとオールBASIC。アクションやSTGに不向きなBASICながら堅実に遊べるのは、ひとえに「MSXべーしっ君」の賜物であります。
80年代のホビーパソコンに積まれたBASICは、インタプリタ式で動くものが大半でした。
CPUが解する命令は飽くまでマシン語のみです。ですので高級言語で書かれたプログラムを実行する際は、どこかでマシン語に変換してやる必要があります。
インタプリタ式とは、命令を逐一マシン語に変換しながら実行する方式です。人間にとってわかりやすい、デバグがしやすいといった利点がありますが、そのかわり、実行中は常に変換処理が必要になるため動作速度が遅いという弱点がありました。当時のホビーマシンのBASICが遅い理由は主にこれです。

f:id:fukenko:20140517005636p:plain

MSXべーしっ君」とは、アスキーより発売されたMSXBASICコンパイラーです。名前はもちろん荒井清和先生の「べーしっ君」にちなんでます。通常インタプリタ式で動くBASICプログラムをマシン語化した状態で走らせることで、動作速度を大幅に上げることができます。
他のコンパイラーと違うのは、実行プログラムを生成するためのコンパイル作業が必要ないところ。オンメモリで動作し、プログラム中で任意に動作をオンオフできるため、インタプリタ式のBASICと変わりない使い勝手を実現しています。ソフトはROMで販売されたほか、ソースコードはログイン86年11月号にも掲載され、こちらを入力して手にすることもできました。

試しに「べーしっ君」を切って動かしてみたところ、その差は一目瞭然。blueMSXのブースト機能を使って10倍速で走らせた時よりも、等速で「べーしっ君」を使って走らせた方が断然早いです。「べーしっ君」は公称15~20倍を謳っていたので、偽りなしといったところでしょうか。

BASICマシン語並みの速度が出せる「べーしっ君」は非常に便利で、MSXユーザーの間での知名度もそれなりに高かったはずなのですが、あまり普及しなかったように思います。理由はいろいろ考えられますが、そこまでしてBASICを使うようなユーザーがあまりいなかったということなのかもしれません。