AssemblerとC

1990年頃だったと思うが、MS-DOSをバージョンアップしたら、Masmが付属しなくなってしまった。
それで別途アセンブラーを買った。当時これから言語は「C」の時代だなどと、どの雑誌にも書いてあったので、Cコンパイラーも買った。今から考えると、アセンブラーは無駄な買い物だった。Cの機能の中にInner Assemblyというものがある。アセンブラーが必要なのはほんのわずかな部分なので、専用のものは不要だったのだ。

Cは関数を書いて組み上げてゆく言語だ。
最初は面食らったが、簡単なものはなんとか書けるようになった。dBASE3で、まず構造をしっかり考える訓練が出来ていたのが良かったと思う。アセンブラーのように、メモリーのアドレスを意識する必要はないし、レジスタに値を移す前に、レジスタの値をスタックにプッシュ(一時保存)して、作業が終わったら、スタックから値をポップしてレジスターの値を前に戻しておくとか、お決まりの面倒なことはCに任せておけば良い。変数を宣言すると、適当なアドレスに適当な容量(バイト)を確保してくれる。関数も適当なアドレスに設置される。

ただ直接アドレスにアクセスした方が簡単なことがある。例えば、画面上の何番目のビットが1なのか0なのか知りたいとか、直接書き換えたいとか、そういうときはアセンブラーに限る。
Cの得意な人なら「ポインタを使えばいいでしょ」とか言いそうだけど、あのポインタというのが曲者で、必ずバグの元になってしまうのだ。その上一旦バグるとどこでバグったのかなかなか分からない。ちょっとしたミスを見つけるのに何時間もかかって頭がパニック状態になってしまう。そんなことが何度となくあった。

dBASE3

1988年頃ヒダヤットの弟がアメリカ留学からインドネシアのパレンバンにdBASE3を持ち帰ってきた。ヒダヤットの会社は生産管理、給与管理、販売管理などすべてをdBASE3で組むことになった。弟がマニュアルをコピーしてくれたので、彼のパソコンを拝借してどんなものか試してみた。データベースという概念さえ全く頭になかったので、衝撃を受けた。これは素晴らしいかも、と思った。
おそらく、dBASE3はMS-DOSの歴史の中で一番優れたアプリケーションだと今でも思う。たった300KB位のソフトでデータベースに必要なことがすべて間に合った。

帰国した私は早速dBASE3を購入した。
今まで、ワープロと表計算で間に合わないことはベーシックを基調に一部機械語で独自ソフトを作って間に合わせていたが、この日からほとんどすべてがdBASE3に替わった。今のSQLよりずっとフレキシブルで、洗練されていた。dBASE3自体が優秀なプログラミング言語といっても良いと思う。ベーシックのように行き当たりばったりに、goto文であっちへ行きこっちに行き組み上げるというわけには行かず、しっかり構造を決めないとプログラミングが出来ない。これで、私のプログラミング技能が少しましになったと思う。しかしコンパイルするわけでなく、あくまでインタープリターだから、試行錯誤しながら頻繁に改善できる。足りない点があればすぐに追加し、確認することが出来た。

気に入らない点が一つあった。それは、印刷の機能が弱かったことだ。英文ならタイプライター式に文字と数字をTABで区切りながら並べてゆけば、結構見栄えの良いものも作れるが、日本語はそうは行かない。ただ、そこはデータベースという本来の機能とは別なので、文句を言うことではないだろう。私は罫線を引いたり、文字を大きくしたりする部分は、独自に書いて組み込んだ。

ファックス

時代は前後するが、私が初めてファックスを目にしたのは、1978年か79年だ。
インドネシアで船積みを立ち会った貨物船の中で、オペレータ(無線技士)がニュース記事を見せてくれた。航路中に船に本社から無線でニュースが送られてくるのだそうだ。見ていると、テレックスくらいの大きな受信機から、ゆっくりゆっくり紙が流れて、文字が現れてくる。テレックスと違い、日本語の文字や絵が受信できる。これはすごい。 これからは、これが世界に広がるはずだ、とオペレータは言っていた。

10年程経って本当にそうなった。

脱サラした当初は、まだテレックス専用機が活躍していた。原稿を打つと、2センチ幅ほどの長いテープに5列(4列だったか)の穴が開いて出てくる。そのテープを所定の差し込み場所に挟んでから、テレックスを海外の相手につなげる。接続後、そのテープを流すと、先ほど作った原稿がそのまま相手に流れてゆく。

脱サラ2年目にはテレックスの機械が小さくなり、原稿をパソコンで打てるようになった。ゴミになる穴の開いたテープは不要になり、画面上で文章を作成・修正できる。これは便利と喜んでいる間にファックスが出回ってきた。数年の間にほとんどの相手がファックスを導入し、1990年頃にはテレックスは全く使わなくなっていたと思う。

そのファックスも、今ではただのレガシーになろうとしている。あれから40年くらいしか経っていないのに。オペレータさんはまだお達者だろうか。

NetWare

1990年か1991年頃まで、我が事務所のパソコンはすべてスタンドアロンで稼働していた。ハードディスク(確か20メガバイト程度。もっと小さかったかな)はすでにあった。MS-DOSにワープロ一太郎と表計算マルチプランが全部のパソコンにインストールされていて、ファイルのやりとりはフロッピーディスクで手渡ししていた。マイクロソフトのマルチプランはあまり普及しておらず、どこもロータス123だったのだが、どうして我が社はマルチプランだったのかは覚えていない。プリンター自動切り替え機なるものがあって、パラレル端子を接続した複数のパソコンから一台のプリンターで印刷ができた。切り替え機のキャッシュから順にプリンターにデータが流れ印刷するという原始的な機械だが、結構役に立った。

ファイルをフロッピーディスクの手渡しでやりとりするのは、いろいろ問題があった。
本人がいなくてディスクの所在がわからないとか、
何人も同じファイルを使いたいとか、
落として割れてしまったとか、
時々様々な事故が起こった。
それで、Netwareの導入を考えた(Netwareといっても、NetwareLiteだったが)。
大きめのハードディスクとプリンターを接続したパソコン1台をファイル兼プリンターサーバーにし、ほとんどのパソコンをLanボードでつなげた。ファイルの所有者やアクセス制限はどうなっていたのか。多分誰でもアクセスできる無防備な状態だったと思うが、それが問題だと思ったことはなかったと思う。切り替え機がお蔵入りすることになったが、とにもかくにも、感動的に便利になった。

国際電話代(KDDさんもうけすぎ?番外編2)

1986年当時、私の事務所の通信費は40万円前後、テレックスが機械のリース代含めて7万円くらいで、国際電話代が30万円前後かかっていた。事務所代が月5万円か10万円、パートが10万円位だったので、通信費の高さは際立っていた。国際電話はまだダイアル直通ではなく、KDDのオペレーターにつないでもらう方式だったように思う。通信状態ももう一つだし、それにしても料金が高すぎだろう。今なら1万円程度か。

それでもインドネシアよりはずいぶんましだった。インドネシアの地方にいる時は、日本に電話をかけるのに、電話局に行って申し込むのだが、朝申し込んでつながるのが夕方、なんてことがしょっちゅうあった。オペレータにお土産を渡すとすぐにつながったりするのだが、私は潔癖症なので、よほどのことでない限りそれはできない。単行本を持って行って読みながら呼ばれるのを待っている。全部読み終わってもまだ呼ばれない。あの憔悴感は、やった者でないとわからないだろう。

MS-DOS

1986年か87年に、ヒダヤットの友人、シンガポールのマイケルの事務所にもパソコンが入った。OSがMS-DOS、表計算Lotus-123とワープロソフトWordStarが付属しているIBM製だ。最近まで使っていたタイプライターは横に置かれ、ユニスがパソコンで文書を作っている。作業効率は圧倒的に良くなったように見える。タイプミスしても大騒ぎせず、カーソルを戻して打ち直せば良い。

そのパソコンがどんなものか、少しいじらせてもらった。PC-9801と違い、ベーシックはROMにはいっておらず、フロッピーディスクに記録されたOS付属の1アプリケーションだ。ベーシックのコマンドはだいたい共通のようだが一部がNECと異なっている。またOSに、Masmが無料で付属している。これは、雑誌で読んだばかりだったが、機械語アセンブラーだ。いちいちコード表とにらめっこせず、コマンドをならべて機械語プログラムを作ることができる。すぐにでも欲しいと思ったが、NECパソコンが対応するのに1年くらいかかったと思う。

インドネシアのヒダヤットやクリスマンのところにもIBMパソコンが導入されたので、Masmを触る機会は思ったより早くやってきた。クリスマンから頼まれ、データ計算プログラムを作成した。やはり画面表示がモッチャリしているので、その部分をアセンブラーで書いてコンパイルした。コード表とにらめっこするよりはましだったが、正直言って難しい。一日中マニュアルと格闘していた気がする。

NEC PC9801-VF

1985年、脱サラした私は、知人の事務所の一角を借りて、机一つで仕事をすることになった。その事務所に知人が買ったばかりのPC9801-VFが2台あり、そのうちの1台を使わせてもらうことになった。ユーザーメモリーが256KB(384KBだったかもしれない)、5インチフロッピーディスクドライブが2基、、8ビットから16ビットに進化したばかりの当時としては十分なスペックのパソコンだった。OSはNEC独自のものだったと思う。立ち上げるとベーシックの画面になった。簡単なエディターが付属していたと思うが、そのままではほとんど何もできない。ベーシックでプログラムを自作する必要があった。仕事に必要なデータ整理プログラムをなんとか作り上げて、私はそれを利用していた。画面表示が遅すぎたので、その部分は機械語で組んだ。これは面倒だった。A4ページ見開き(だったと思う)に、機械語命令セットが記載されている。16進数とコマンドが並んでいる表だ。それを見ながら必要な命令セットの16進数を並べてゆく。ちょっと間違えると暴走するので集中力と根気のいる作業だった。とはいえ、内容はそれほど難しいことではない。当時のPC9801の画面表示は、あるアドレスのメモリーと画面がリンクされていて、そのメモリーに2進数を書き込めば、それがそのまま画面に表示される仕組みだった。アドレスは赤、緑、黄、濃淡の4アドレスあり、それでカラー画面を表示する(最初は赤緑黄の3アドレスだったかもしれない)。だから、アドレスと2進数を正しく書き込むだけで良かったのだ。

作成したプログラムはフロッピーディスクに書き込む。使うときには、ディスクドライブに差し込んでプログラムをユーザーメモリーに読み込ませて動かす。今から考えるとずいぶん面倒だったが、それで十分だった。自分で好きなようにできる分、今より快適だったかもしれない。

それから約10年PC9801にはお世話になった。おそらく、合計20台くらいは購入したはずだ(累計1000万円くらいだ。NECさん感謝してね)

初めての海外旅行(番外編その1)

初めて海外に行ったのは、1977年3月、シンガポール・インドネシアへの出張だった。まだ成田空港が完成する前で、羽田から飛び立った。海外どころか飛行機に乗るのも初めてだったので半ば死ぬような覚悟で、田中と矢島に羽田まで見送りに来てもらった(面倒かけました。ごめん)。確かJALで(SQだったかもしれない)羽田、台北、香港経由でシンガポールまで12時間くらいかかったと思う。その数年前なら香港の後にバンコクも経由したらしいので先輩諸氏より少し楽をさせていただいた。

当時はまだ、外貨持ち出し制限があって、確か1000ドルか3000ドルを超えるドルは持ち出せなかった。クレジットカードもない時代なので日本人の旅行者はまだまだ貧乏だった(私は出張だから問題なかったが)と思う。

パスポートと別にイエローカードというものがあって、旅行先によっては、コレラの予防接種を受けた証明の判を医者から押してもらう必要があった。それも面倒なことに、数日をあけて2回注射しなくてはならなかった。だから海外に行く時は今以上にいろいろ面倒だったのだ。

マイコン

仕事でインドネシアと日本を数ヶ月おきに行ったり来たりしていた1980年頃のこと。日本にやってきたインドネシアのパレンバンの知人ヒダヤットのアテンドをすることになった。ホテルがどこだったか、食事はどうしたかの記憶もないが、有楽町の日劇に行ったことだけは覚えている。あれは丸い風情のある良い建物だった。ほんとに懐かしい。マリオンになってしまってから、有楽町は私にとってはつまらないところになった。

東京に来てから2日目か3日目に、本人の希望で秋葉原に行くことになった。私はあまり興味がなかったのだが、彼はあらかじめ調べてきたらしく、いろいろ買い物をする。その中に、シャープのマイコンがあった。小型のキーボードの上部に一行だけのディスプレイが付いている、卓上計算機が横に広くなったようなものだ。これが私のパーソナルコンピュータ(といって良いかどうか)との初めての出会いだった。

ヒダヤットがインドネシアに帰る時に、高価な電子器具を持ち帰ると大変な輸入関税を取られるので、私に預けたい、今度インドネシアに来るときに持ってきて欲しい、と依頼された。私が持ち込む場合関税はかからないはずだし、最悪関税がかかることになっても、中古なら評価額が全然違うので、ネシアに来るまで好きに使っていてくれと言う。私はありがたく引き受けた。

それから数ヶ月、私の手元にあることになったマイコンは、思いのほか優れもので、ベーシックを使ってプログラミングができる。計算は何でもできるし簡単なゲームも作ることができた。一行しか表示できないので、わずか50行程度のプログラミングでも結構大変だったが、すこしずつ勉強して、ベーシックをある程度覚えることができた。この経験が、その後私がパソコンにはまったきっかけになった。

パンチカード計算機

初めて電子計算機を使ったのは大学4年の時だ。研究室で、助教授からデータの加重平均を計算するのにこれを使いなさいと2枚のパンチカードを渡された。言われたとおり計算機に順番にカードを突っ込むとカチャカチャと計算してくれる。膨大な量の計算があっという間に終わってしまう。今から考えるとおもちゃのようなものだが、こんな良いものがあったのかと、感動した。しかし、あのパンチカードの穴のパターンがどういう意味を持つのか、機械がどうやって計算するのかに全く興味が持てなかったのは不覚だった。とにかく、さっさとデータを整理して卒論を仕上げなくてはと、そこに頭がいっぱいだったのだ。