今では、テキストエディタは数多あり、画面にテキストを表示しながら、入力編集が行える。これを「ビジュアルエディタ」と呼ぶ。これ以前には、コマンドで行を編集する「ラインエディタ」が主流だった。1980年台、Unix系OSでは、Emacs(イーマックス)とvi(ブイアイ)がビジュアルエディタの2大巨頭として広く使われていた。しかし、それぞれ開発されたのは1976年(Emacs)、1977年(vi)とUnixが登場した1971年からすると、かなり遅くの登場だ。
すでに8 bitマイクロプロセッサの8080や6800(共に1974年)が出荷されており、現在のパソコンに近い製品であるTRS-80、Apple II、PET 2001(3機種とも1977年)も出荷されていた頃だ。これらはホームコンピュータと呼ばれていた。また、CP/Mの上で動くエディタWord Masterや、Electric Pencil(ホームコンピュータ用の最初のワープロ)なども1976年に作られている。このため、PCでEmacsやviを動かそうとしたが、仮想記憶のないMS-DOSでは、MicroEmacsのような縮小版しか動作せず、Windowsでもシェル実行が困難などの理由で単体での移植が困難(Unix環境に似せるためのCygwinなどが必要だった)だったことなどで、当時、PC上では主流になることはなかった。とはいえ、後年、Windowsの機能が向上すると、Emacsやvi互換のvimが普通に動作するようになった。
ビジュアルエディタでマイクロプロセッサが先行したのは表示にCRTモニタや家庭用テレビを使っていたからだ。最初のマイクロプロセッサを使った一般消費者向けの製品であるAltair 8800(1974年)は端末を必要としたが、1976年に発売されたホームコンピューター、Sol-20はビデオ出力回路を内蔵していた。PET 2001のMicrosoft BASICでは、キーでカーソルを移動させ画面上のBASICリストを直接、書き直してプログラムを修正することができた。1画面のみではあるが、ビジュアルエディタが組み込まれていた。
Emacsやviの登場は、早くもなければ、せいぜい同時ぐらいでしかなかった。これには、当時のミニコンなどのマイクロプロセッサを使っていない「高性能」なコンピュータの構成に原因がある。当時の高性能なコンピュータは、端末を接続して使っていたのである。そして、その端末の多くは、表示に機械式プリンターを使っており、ビジュアルエディタが実現できなかった。
この問題を解決するのが、表示にCRTを使う「グラスターミナル」あるいは「VDT」(Video Display Terminal)と呼ばれる端末だ。VDTは、1960年台中頃にIBMやUnivacといった「メインフレーム」の周辺装置として登場し、タイムシェアリング・システムとともに使われるようになる。しかし、非常に高価な装置であり、1970年台、多くの大学や研究機関などでは、通信用に作られたTeltype社のModel 33のような端末装置を使っていた。このため、エディタのようなソフトウェアを作る必要がなかったのである。この時期、Unixで使われていたのは、edやTECOなどと呼ばれる、コマンドで操作するラインエディタだ。プリンタに出力するため、応答などはできる限り短いものがよいとされた。
それが大きく変わるのは、低価格のVDTであるADMシリーズが登場してからだ。ADMシリーズは、Lear Siegler Incorporatedが1973年に発売を開始した低価格端末で、最初のADM-1は、1000~1500ドルの価格帯で販売された。当時、販売されていたHP社の2600A(Datapoint 3300のOEM製品)が4250ドルなので、半分以下の価格である。1975年のADM-3は、998ドルと1000ドルを切る価格で販売された。これにより、大学などで機械式のTeltype端末などの置き換えが一気に進む。
マイクロプロセッサと同時期の製品だが、ADMシリーズはTTL(Transistor-transistor-logic)ICを使ったデジタル回路として作られた。当時のマイクロプロセッサはまだ遅く、高速なTTLで作ったデジタル回路には速度的に太刀打ちできなかった。そもそも、Intelの8008はCTC社(Computer Terminal Corporation。のちに製品名を社名としてDatapoint社となる)が仕様を決めて発注したものだが、インテルは同社の要求を満たすことができず、結果的に自社製品として販売することになった。CTC社はTTLで同等の回路を作ってDatapoint 2200を製品化した。回路を簡略化するため、8 bitの処理を1 bitごとに処理していたが、それでも8008より高速だったという。
viは、1977年にカリフォルニア大学バークレー校で開発された2BSDに含まれていた。開発者は、のちにSUN Microsystemsの共同設立者にもなるビル・ジョイ。viは、以前に開発したラインエディタexをベースにVDT向けにビジュアルエディタを作った。
このviは、ビル・ジョイが使っていた低価格端末のADM-3A(1976年。ADM-3の改良版でカーソル制御コードに対応)を念頭に作られた。ADM-3Aには独立したカーソルキーがなかったが、CtrlキーとH、I、J、Kのキーの組み合わせでカーソルを動かすことができた。viのカーソル移動がこの4文字でできるのは、ADM-3Aのキーボードに由来する。WikipediaのADM-3Aのページにキーボードの図がある。
もっともviは、ADM-3A以外の端末でも動作するように作られた。ビル・ジョイは、端末の仕様や制御コードのデータベースであるtermcapを開発。viはこれを利用して画面制御を行う。新しい端末が登場しても、termcapに制御コードや画面サイズなどを登録することでviを動かせるようになる。
ビジュアルエディタのもう一方の雄、Emacsは以前紹介したスペースカデットキーボードに影響されていて、Metaキーなどの修飾キーを多用する。意外に、ソフトウェアもハードウェアに影響されやすいということか。
BSDや端末の歴史などを見ていると、「ADM-3」や「ADM-3A」という言葉が頻出する(termcapファイルやmanページにもあった)。当時低価格の端末として人気を博していたからだ。Lear Siegler Incorporated(リア・ジーグラーと読むらしい)は、1950年に暖房機器のメーカーとして創業、短期間に40以上の企業を買収して巨大になった複合企業体の先駆けでもあり、航空関係の軍需品も手がける。こうした背景からか、同社の製品は社名を大きく表示することがなく、社名を略したLSIのロゴを付ける程度だった。インターネットの商用化以前の時代、世間での会社の知名度は低く、知る人ぞ知る「謎」の会社でもあった。同社は1987年に非公開企業となり、多数の部門を売却あるいは独立させた。ADMシリーズを開発したData Products部門も1987年に端末メーカーZentech Crop.に売却されている。
今回のタイトルネタは、1968年の米国ドラマ「Adam-12」の邦題「特捜隊アダム12」である。このドラマは、パトカー(その名前がAdam-12)で街をパトロールしている警官2人の物語。リアル警察物のはしりともいえるドラマ。とはいえ、米国ロサンゼルスが舞台。子供が遊んでるような町中で銃撃戦することも結構あった。日本では1970年頃放送されていた。
ADMシリーズの設計者によれば、ADMとはAmerican Dream Machineから付けられたという。1980年台、読み方もわからないADM-3Aという言葉に遭遇するたび、筆者は、このドラマの無線の呼び出し音声「アダム・トウェルブ、アダム・トウェルブ……」を思い出していた。読み方がわからないと、頭で認識しにくかったからだ。しかし、単に「エー・ディー・エム」だったとは。