Apple ][ and FORTH
Chap.1 コンピュータとの出会い |
Chap.2 最初のマイ・コンピュータ |
Chap.3 アップル・コンパチ |
Chap.4 プログラム言語・FORTH |
Chap.5 パーソナル・コンピュータ |
Chap.6 apple ][の資料 |
Chap.7 FORTHの資料 |
このページはapple
IIという古いコンピュータとFORTHというちょっと変わったコンピュータ言語の資料をまとめる予定です。apple
IIは今日のパソコンの原型といえるものです。パソコンは、その後コンピュータユーザーの広がりとともにより高性能で、より簡単なユーザーインターフェイスをもった今日のマッキントッシュやウインドウズへと移ってゆくことになったのですが、apple
II
は実験制御用として今日なお用途によっては十分な処理能力をもっており、なんと常磐大学では設立のときから現在も現役で稼働しています。(とはいえ、補修部品もほとんど入手不可能になってきつつあるので、制御用コンピュータはDOS/Vへ移行予定です。)
もはや過去のコンピュータについてなにごとか記録にとどめておきたいと思ったのは、パーソナルコンピュータ(そういえば、いまだに適切な日本語訳がない)の草創期に居合わせた偶然と、心理学の実験やデータの処理のために多くのものを自作したことがいわゆるパソコンの原点ではないかとの思いからである。
私が始めてコンピュータに触れたのは学部の2年生のときに「情報科学」の課外実習(有料であった)で、当時の大型コンピュータでフォートランFORTRANのクラスであった。FORTRANのプログラムは、とにかく大げさなものでパンチカードとカードリーダでプログラムをつくって、結果がでるのをかなりの時間待たされた。まあ、それでも相当の威力を直感した。(「答え一発カシオミニ」という広告で記憶にのこる電卓が発売されたのはたしかこのころで電卓の性能・価格競争が始まった。)
もっと小さいコンピュータなら自分で持てるという可能性が出てきた。このころ講談社ブルーバックスに「マイコンピュータをつくる」(安田寿明)というシリーズが出版されており、また、実際に自作のための設計図と自作の行程を詳細に記載した松本良彦氏の「私だけのマイコン設計&製作(CQ出版)」とともに、自作派におおきな影響を与えたように思う。自分のコンピュータを所有できるということは現在ではなんの感動も与えないことかもしれないが、「大型」コンピュータと原理的に同等のものを所有できるというのは相当な魅力があった。
最初に買ったのは秋葉原の秋月通商という店のキットで6502というマイクロプロセッサユニットMPUを使用したワンボードのコンピュータだった。(当時はメーカーによりMPU(Micro Processor Unit)という言葉とCPU(Central Processor Unit)ということばに好みがあったようだ。ちなみに6502はAPPLE ][や近くはファミコンに使用された。)
本体は安価であったのだが問題はターミナルで、ジャンクの小形テレタイプを探して接続したが、えらく威勢のいい音で動作した。しかし、ジャンク品であり特定文字が印字されなかったことを記憶している。動くだけで満足であった。(コンピュータの「悪い」点はすでにここに出てきていた。とにかく動くということに充足感があるのだから、コンピュータを専門にしないものをもとらえる魅力があった。)さきにあげた松本吉彦氏の本は自作派のバイブルのようなものでこの本はコンピュータを自分で作り上げる・所有できるのだという喜びに満ちていた。(名前が同一なのでたぶん現在はPOWER COMPUTINGの日本支社の代表をしておられるようだが、APPLE 社の昨今のライセンス問題に振り回されてそのこころのうちはいかなるものかと。ちなみにPOWER COPUTING社は本社をはるか上回る性能の「MAC互換機」を販売、成功していた。)
このころハードロジックの手ほどきを当時大学院で出会った田中氏に受けていたので,なにか作りたくてしょうがないじきでもあった。(反応時間の測定に必要ということでハードロジックで1ミリ秒のタイマーをつくったのが最初の実験装置であった。)
その後しばらくしてAPPLE ][のコピー版が秋葉原に出回りはじめた。いま考えるとどうしてあんなことができたのかちょっと不思議である。しかし、ともかくこれは大いに売れたようで、また、値段もかなり下がって来た時点では、私自信も含めて、身の回りの友人たちは複数の「APPLE ][コンパチ」を所有していた。このころのパーソナルコンピュータの部品はほとんど汎用部品でつくられていたのでこのようなこともできたのであろうが、apple ][のマニュアルには詳細な設計図や基本ソフトまで記載されていた。
apple ][本体はこのコンパチ版を組み立て、インターフェースから実験装置まで自作した。このようなことができたのは、プログラム可能な装置が個人の手にはいったという「革命」と、それ以前のハードロジック( IC論理回路による)の知識が大いに役にたった。
さて、ハードウエアは実験制御装置として理想的なものが入手できるようになったが、問題はソフトウエアであった。このころ「コンピュータ、ソフトなければただの箱」といわれ、ソフトウエアの重要性がすでに認識されていた。心理学実験プログラムはかなり複雑で、ミリセコンドのオーダーでの実時間対応が必要という結構めんどうなものだから、APPLE SOFT BASICではいろいろな問題が生じた。(応答速度がおそく部分的にアセンブラーが必要になる。BASICとの連携は可能だがちょっと面倒であった。また、構造化されていない昔のBASICであったので、プログラムミスが恐ろしい。リセットすると取得データが消失した。などなど。)
このような心理学実験プログラムの要求のもとに、さきほど登場した田中氏のグループが APPLEで動作する FORTH ][という新しいプログラム言語を見つけ出し、教えてくれた。これが非常におもしろい言語で、実験制御にはこれ以上のものはないと感じられた。なにしろ日本語語順でプログラムを書くことができること、小さい単位で実行可能なプログラム(ワードと呼ばれる・独立して動作するサブルーチンのような)をつくっていけば、FORTHの処理系自体にそのワードが組み込まれる。ちょうどだれかに「ことば」を教えているようなものだ。どんどんかしこくなる。それで、実験プログラムをつくる必要のあったわれわれユーザが選択した言語がFORTHであった。ただ、コードがちょっと読みにくいという問題はあるが、いまのCの方がよっぽど読みにくい。
応答処理時間の問題を解決するためにはどうしてもアセンブラー(機械語)が必要だったが、FORTHではこれも「インラインアセンブラ」によってワードを作成することができ、他のワードとまったく同じに扱うことができ非常に便利であった。もっとも、FORTHは非常に早く動作したので割り込み処理以外ではアセンブラはほとんど不要であった。
APPLEにはタイマーがなかったので、これまた、田中氏が中心となりVIA6522というチップをつかってカウンタータイマーカードを作成していた。わたしもこれを利用させてもらいカウンター、タイマー、デジタルI/OをそなえたまさにVERSATILE INTERFACE ADAPTERとして利用してきた。
そのあとMicroMotion社からFORTH-79が発売され、こちらのほうがアップルの環境によくあわせてつくられていたので、こちらに乗り換えた。その後、FORTH-83も発売されたのだが、結局FORTH-79を使ってきた。このようにAPPLE ][とFORTHとの幸せな組み合わせには田中氏とそのグループの功績が大きかった。
このようにふりかえってみると、今日のコンピュータはますますブラックボックスにちかくなり、そのこと自体は便利になっているのだが、パーソナルな側面が失われてしまっている。最近ではふたたびパソコンの自作ブームが見られるのは、パーソナルな特徴をとりもどそうとする要因があるのではないだろうか。
そこで、マイクロソフト社(でなくともよいのだが)はマックのまねをするのではなく、せめてマック以上に洗練され、コンピュータ本来の多様性の条件を満たしたOSを開発してほしいものだ。 どうしても「われわれの悲劇はMSが最良の製品をもっていないことにある(某anti MS誌)」などと言ってみたくもなる(^^;)。
WINDOWS95によって広がったパソコンユーザーの眼も肥えて厳しくなるであろうから、選択眼をそなえたユーザーが多くなることで、これからもっと良いシステムが生まれてくることを期待しよう。
以下はFORTHの記録を残しておくために現在手元にある関係資料をリストアップしたものである。apple ][との名コンビで実験プログラムの作成に非常に役立ち、また、プログラムを作ることが楽しくもあった。せめて記録にとどめることで、感謝の意としたい。なお、現在もFORTH DIMENSIONS誌が活動を続けているが、わが国においても「FORTH研究会」が活動し、会報を出版していた。
FORTHはもともとはMOORE氏が天体望遠鏡の制御のために発明したプログラミング言語で、現在でも多くの天文台で使用されているのではないかと思われる?。おそらく、40 20 move というような命令で。(赤緯40赤経20へ移動。最近の映画Contactの電波望遠鏡ももしかしてFORTHで動いているのかなーなどと考えながら見ていた。)
身近なところではプリンター出力の業界標準となっているPOST SCRIPTはその名が示しているようにFORTHが原型となっている。また、電卓ファンにはおなじみのHewlet Packard社の電卓が「逆ポーランド記法」をとっていて、FORTHの演算方式と同じである(たとえば1+2という足し算は日本語語順どうり「1と2をたす」と表現する。1 2 +)。
IBM PC およびMac用を主としている。価格はシステムでUS$10-30。IBM PC用はF83(Perry & Laxen) US$20, F-PC(T.Zimmer) US$30.mac用ではPocketForth(C.Heilman) US$10, Yerkes Forth US$20など。
出版・特集:
FORTH系言語とその応用 インターフェース1981。8月号(No. 51) |
L. Brodie, Starting FORTH Prentice-Hall, 1981, ISBN0-13-842922-7 (poly FORTH)(原道宏・訳)FORTH 入門 工学社 1984 ISBN4-87593-029-1 C3055 |
西川利夫 実用FORTHテクニック入門 誠文堂心光社 1984(ISBN4-416-18414-X C2055) (APPLE II + FORTH II) |
S.オーケイ(石井稔(訳))パソコンのためのフォース 啓学出版 1984 ISBN:4-7665-0086-5(FORTH-79, MMS-FORTH, TRS-80/IBM PC XT) |
M.E.Timin (菜塚清貴(訳))FORTH ユーザーズマニュアル ライフボート 1984(Timin FORTH, CP/M) |
井上外志雄 標準FORTH 共立出版 1985 ISBN4-320-02247-5 |
オーウエン・ビショップ(荒実・玄光男(訳))はじめて学ぶFORTHプログラミング入門 啓学出版 1987 (ISBN4-7665-0319-8) (timin FORTH (alpa FORTH) + CP/M) |
A. ウインフィールド(寺島元章(訳))パソコン・ユーザーのためのFORTH 入門 近代科学社 1989 (ISBN4-7649-0152-8 C3050) (FORTH-79) |
Koopman, P.J.Jr. (田中清臣(監訳)藤井敬雄(訳))スタックコンピュータ:CISC/RISCとスタックアーキテクチャー 共立出版1994 |
日本FORTH研究会誌 |