見出し画像

APPLESOFT BASIC と MICROSOFT

無印apple][に組み込まれていた整数BASICは、文字通り整数のみしか扱えず、小数が必要となる数値計算やビジネス目的には機能が不足していました。ゲームを相手にしているだけであれば困らなかったのですが、ビジネス目的にも売ろうとしていたアップルコンピュータとしては、何とか「本物のBASIC」を動かす必要がありました。残りの御三家であるPETとTRSには最初から小数を扱えるBASIC ROMが用意されています。

恐らく、整数BASICを開発したSteveWozniakは必要な機能はちゃんと実装したと思っていたので、本物のBASICを開発するのは乗り気ではなく彼はDOSの開発に専念したかったようです。確かに遅くなりがちな文字列処理や高速性が要求される高解像度グラフィックのサポートなどはBASICでやるものではないと思っていたかもしれません。少なくとも浮動小数点処理はBASICには含まれていなかったものの、サポート関数はROMに含まれていました。

そこで既にapple][に使われている6502CPUのBASICインタプリタを開発していたMICROSOFTが売り込んできたらしいです。今でこそMICROSOFTはOSメーカーとして有名ですが、当時はマイコンCPU用のBASICインタプリタをようやく開発したところで、たくさんあるベンチャー企業のひとつに過ぎませんでした。

MICROSOFTは次々と売り出されるパソコンに自社のBASICインタプリタを組み込んでもらうことでBASICといえばMICROSOFTと言われるまでになり急速に成長していったのです。ただあくまで他社製品に組み込まれるだけで会社として自社ブランドを確立したのはMS-DOSと呼ばれたOSを売るようになってからです。

さて、どうしてMICROSOFTが採用されることが多かったのかといえば、もちろんビジネス的な側面もあったとは思いますが、利用する人に寄り添った仕様にもあると思います。分かりやすいのが浮動小数点演算で、例えば仕様どおりに実装すると1÷3×3が1にならなかったりすることがあるのです。これでは、いくら理由があっても普通に使う人にはこれは受け入れられません。こういうところを実に上手に実装しているのです。これはROMに組み込まれているルーチンとAPPLESOFT BASICのコードを見比べて感心したところです。他にも文字列処理でメモリを効率良く使うガベージコレクションも当時としてはとても良くできているものでした(これは文字列処理が大規模になった時代になると処理が長く止まることがあって問題視されるようになりましたが)。

APPLESOFT BASICはかなり急いで実装したようで、当初は機能が足りなかったりバグもあったようですが、カセットテープで供給していたことが幸いし、適宜バージョンアップがなされたようです。

APPLESOFT BASICも整数BASICのように、入力されたプログラムは、都度、中間コードに変換されるのですが、数値に関しては文字列のままで、実行時に変換されていたようです。浮動小数点演算はそもそも遅いですし、変換したほうがメモリを食うことも起こるので、こういう実装になったのかもしれません。こういったBASICの実装の進化は、いずれ整理してみたいですね。

まあ無印appleの時代はAPPLESOFTを使うには、まずテープからインタプリタを読み込んでBASICを起動して、それから目的とするプログラムを読み込んでようやくプログラムが走るという、なかなか手間と時間がかかりました。これもフロッピーディスクが使えるようになると楽にはなるのですが、インタプリタがまず10Kあり、今度はDOSも10K以上のメモリが必要になるので、プログラム自身や変数を置くメモリが不足気味になります。当時は搭載できる最大である48KもRAMがあれば何でもできるだろうくらいに思われていたのですが(友人にはメモリの終点が遠すぎて見えないと言われました)、高解像度グラフィックス2ページ分のメモリも取られると、いよいよメモリが足りないという事態はすぐにやってきました。

この本物のBASICとDOSという組み合わせが揃うことにより、単なるゲームなどのオモチャの扱いから、今までは、より大きなコンピュータがこなしていた数値計算やビジネス処理の分野にも乗り出すことができるようになりました。ゲームで伸ばしたシェアを武器にアプリケーションソフトも次々と発売され、ここにアップルの最初のエコシステムが動きだしたわけです。速度やメモリが不足気味であるとはいえ、大きなコンピュータに「比べれば」大変に安価です。仕事などの際に必要なときだけ使う共有のコンピュータより、自分で独占できるパソコンは大変に魅力的です。このため急速に売れるようになっていくとともに、自分で面倒を見なくてはならないことが、その自由さから「スキもの」を生み出し「パソコンオタク」というカルチャーに発展していったような気がします。

とはいえ、まだ無印appleの時代は「オタク」以前の「マニア」の時代で、その存在を知っているだけで特別な人扱いでした。インターネット時代の今でも変わらないかもしれませんが、情報の大部分は英語です。まず英語の雑誌を読み、ネット通販もないので、欲しい物があれば輸入販売をしている、まだアキバとは呼ばれていなかった、秋葉原のお店に相談に行く必要がありました。そして自然発生的にお店に集まる人のコミュニティが出来ていったのを覚えています。まわりは大学生や社会人ばかりで、中学生には敷居が少しばかり高かったです。でもいじられながらも大変お世話になりました。

モノに関する話ばかりだけではなくヒトの話も書いておきたいですね。



APPLESOFT BASIC

Apple II Extended Precision FloatingPointBASIC言語リファレンスマニュアル

関連した私のnote


この記事が気に入ったらサポートをしてみませんか?