ゼッパチとトランジスタ技術の頃
最近の人たちは、どんなボードマイコンを利用しているのだろう。もしかしてμITRONとかC言語とか、そんな高級言語が走るやつでしょうか。僕らの学生時代は、機械語、つまり、バイナリデータで動かすパソコンでした。いわゆるZ80世代ですかね。もっと言えばZ80Aというやつですね。
命令語も簡単で、A(演算)レジスタにぶち込んで、ビット操作、論理演算、インクリメント。また、強引にIX(インデックス)レジスタにアドレスをぶち込めば、プログラムの実行先(ポインタ)を変えることもできました。ローテイトシフト(数珠つなぎになった0と1を左右にずらす)ってまだ概念として残っているのでしょうか。新しいのをやったことがないのでよく分かりません。そして現在でも「2の補数」で引き算をやったりするのでしょうか。
■次は何をやろう、何をやろうかと
とにかく、2桁の16進数で指定してあげれば、何でもできました。自宅のMSX2で何をやったかというと、近年のサンプリングレートよりは全然遅くて、ともすれば雑音にしか聞こえなかったのですが、カセット入力端子から、1ビットのシンセサイザーを動かし、にわかサンプラーを作ろうとしました。微かに音声が聞こえた時には、うほうほ喜んでいました。
その他、機械語だけで動く「ひたすらFDをA:ドライブからB:ドライブに、セクタコピーするソフト」とか、なんと時代を先取りして「MSX-Window」(注:決してWIndowsではない)にわかGUIを発表して「どこが面白いの」とか言われたりしました。
また、友達からせっかくもらったMSXを、クロックを上げ、Z80B(高速版Z80)に差し替えたがために、処理は確かにするんですが、テレビの画面表示ができなくなり、(確か、Z80Aの周波数が、テレビの垂直同期か水平同期に、周波数が合っていた)結局、実質、壊してしまったこともありました。その際はごめんなさい。今でも彼に謝りたい気分で一杯です。彼はいま、どこで何をしているのでしょう。
■TK-80には間に合わなかったけれど
Z80Aが搭載された、実習用のボードマイコンに、ちまちまと機械語を入れていくと、実行をしたときに、たとえば簡易電卓になるとか、日の字のLEDが光るとか、毎日が楽しかった記憶があります。また、自分でプリント基板を焼く作業もしました。フォトレジストではないのですが、特殊なペンを使い、銅板にペンで描かれた部分は溶け残り、何も描いていない部分は溶剤で溶ける、という仕組みでした。今でも高校では、こういうことをしているのでしょうか。また、今でも、論理回路用のICチップ(NANDゲートなど)でフリップフロップ回路とか、発振回路とかお作りなんでしょうか。ああ、母校に行きたくなってきた。お金ないけど。
そういえば、たとえば、秋葉原の秋月電子通商さんや共立電子産業さんにキットやパーツを買いによく出かけました。また、西千葉のパーツ屋さんにもよく行きました。……今のPICマイコンって、すごくシンプルですね。集積度が高いです。あと、トランジスタ技術という書籍を定期購読していましたね、あの頃。
懐かしの「トランジスタ技術」、20年振りのゲット!!
■これぞ電子計算機だ、と呼べるFORTRAN77
今のFORTRANには行番号がたぶんないと思う(構造化されていて)のですが、当時のFORTRANには、きっちり行番号がありました。GOTO文(この行番号へ行け)もありましたが、これに慣れたり、頼っちゃうと、構造化された言語にとっつきにくい、という欠点がありまして、未だに難儀しています。インスタンス? 何ですかそれは。僕の世代は、UML図じゃなくて、単にフローチャートだけでしたからね。上から下へ流れるという流れ図のみ。今ではプログラミングをするのにも複雑化してきて、とても老人の付いて来れる世界ではなくなって来ています。つまり、従前の言語では、入力があるまで、入力ルーチンを繰り返すことで処理してきたのですが、現在のように、イベントドリブン方式(きっかけに対して処理を行う)は、残念ながら実務経験が余りありません。
■これのどこが商業系? と疑問に思ったCOBOL80
年を経ても絶対に忘れていないのが、最初の定義文。たとえば、「IDENTIFICATION DIVISION」とかいう、変数定義です。あとは余り印象には残らなかったのですが、いちおう課題は製作しました。なんだか、面倒くさいな、と思った記憶はあります。学生当時、取扱説明書を見て、COBOLは「COBOL自身には何の保証もありません」と書かれていたことにびっくりしました。今考えれば、つまり、COBOLは、主にカネ勘定に関わる言語なので、もしプログラミングのミスをして、たとえ損失が出ても責任をとりませんよ、というスタンスだったんだろうと、今にして思えば納得できます。
■「あんた、年いくつ?」と言われそうなテレタイプも経験!
YHP(横河ヒューレットパッカード)の、なんと主記憶装置がコアメモリ、そしてCPUが4ビットという、最古参のパソコンを操作したことがあります。それにプログラムを入れるには、鑽孔テープ。つまり、テレタイプ装置で打鍵する、という具合にです。途中で打鍵し間違えたならば、ビットにすべてに穴を空けて無効(NOP)にする、そして、途中で紙テープがちぎれたら終わり、という、なんともまたすばらしいパソコンでした。今でも現存するならば、国宝級かも分かりませんね。
ちなみにコアメモリとは、記憶時に電磁力(フレミング右手の法則)を利用して、ごく小さなドーナツ状の磁性体(フェライトコア)に磁場を与えて励磁し、ポジションを記憶し、読込時には、交錯する活線の起電力のあるなし(フレミング左手の法則)を利用して読み込むという、すさまじいものでした。そして、取り出したメモリの現物を見せてもらいました。まるで、テニスラケットのガットの格子に、小さなリングが大量にぶら下がっている状態を想像するといいです。
この場合、最早、昭和の何年製造かもよく分からない状態でした。画面表示? そんなものなかったですねえ。各々のレジスタが、何のデータを保っているかは、8つ並んだ赤色LEDのビット列のみで表示でした。……いま、扱っているコンピュータが、HP Compaq というのには、何か因縁めいたものを感じざるを得ません。
■純国産OS! N5200 model05上の PTOS
そうなんです。現在のように、OSが今のように舶来というわけではなくて、こぢんまりとしながらも、キビキビ動く、国産OSがあった時代なのです。
i8086を搭載したN5200 model05。 涙が出るほど古いぜ!!
一般人が参るほど古い話で恐縮ですが、当然ポインティングデバイス(マウス)もなく、サウンドと言えばビープ音ばかり。アスキーコード表をもとに入力すると「外字」が出ました。また、漢字ROMや、カラー表示はオプションでした。ハードディスク? そんなもの、教師用のパソコンにしかありませんでした。一般の生徒は、256KBの8インチフロッピー(2D)にガッタンゴットンと記録する他はありませんでした。でも、計算はめちゃくちゃ速かった気がします。まだコンピュータが、電子計算機然としていた時代です。
そこからラインプリンター(大きなドットインパクトプリンター)にデータを送り、中には、ラインプリンターで印字し、また巻き戻し、半角英数の記号で陰影や濃淡を付け、いわゆる「アスキーアート」の原型みたいな物なのですが、これでアニメのキャラクター(うる星やつらのラムちゃんとか)を描く強者がいましたね。あれはどうなっているのか、すごい情熱を感じました。一種の執念というべきか。
それにひきかえ、今では32ビット、いや、もっと好奇心旺盛な人なら、現在64ビットOSを使っているでしょう。一般人が、パソコン操作にそんなに苦労することはなくなり、パソコンの垣根を下げたのは、やはりウインドウズのお陰でしょうか。それにしても、世の中すっかり変わったものですねえ。いやはや、どうりで、オレが年をとる訳だ(苦笑)。芸歴だけは長いなあ(って、それ芸じゃないし)。それでは、お後がよろしいようで。
追伸:インフラ系SEを自認するのなら、日立のJP1と、ITILファンデーション試験のテキストを取り寄せました。全体のシステムリソースなど、何でもコンソールで確認できて、確かに管理は便利そうですね。
追伸:@IT編集部、カネタケさんから、先日のお返し(東京おかき)が届きました。大変上品な味を堪能。ビバおやつ!! おやつフォーエバー!!
赤坂 柿山 http://www.kakiyama.com/
(このようにして、思索と模索は続く……)