illegal function call in 1980s

1980年代のスポーツノンフィクションについてやさぐれる文章を書きはじめました。最近の関心は猫のはなちゃんとくるみちゃんです。

ソースを読むという感覚(しかしそれが目的ではなくて)

昨晩、金曜の夜くらいはいいだろうと船橋の書店に向かった。

店舗内でおれの向かう先はだいたい決まっていて、文芸誌、文庫、パソコン雑誌、パソコン書籍の一角である。それ以外の箇所は眩くて辟易する。変な日本語はできるだけ吸い込みたくない。(それをいったら文芸誌でも…)

*

ま、それはいい。薄っぺらになった工学社「I/O」に時の流れを思い、思い出したことがあって、ぜひブログに書いておこうと思ったことがある。かように「思い」を3連発する程度にはおれの日本語は鈍っている。

*

おれがI/OやASCIIやマイコンを読み始めたのは1980年の夏頃。父親がPC-8001と8031(1Wだ。2Wや80S31ではない。5インチである。片面単密)とカラーモニタをどこからか仕入れてきた。おれはたちまち夢中になり、日々何かしら打ち込んだ。打ち込むというのは精を出す比喩ではなく、文字通りキーボードを前にプログラムを入力する行為を指す。かちゃかちゃ、かちゃかちゃ、やるのである。だからおれのブラインドタッチは亜流もいいところで、初めて見る人はその異様な右手中指と左手親指と人指指の活躍/躍動に驚き給う。放っておいてくれ。80年当時、ガキの手の届く世界にブラインドタッチなる言葉自体がなかった。

*

ちなみにマニュアルもリファレンスも付いてこなかった。それでどうやってN-BASICとZ80を身につけたかといえば、それがI/OやASCIIやマイコンベーマガ、PiO、POPCOM、徳間のプログラポシェット、RAM、Foresight(マイコンクラブ)などなどのおかげである。人気機種、80、88、FM-7、MZ、X1などのプログラムを打ち出したものが、ゲーム9割、実用1割の比率で掲載されていた。N-BASIC(PC-8001)用のものは雑誌が店頭に並んだ当日と翌日にあらかた打ち込んでフロッピーに保存して遊び尽くしてしまう。自機は増やす。色味も変える。

*

んでやることがないのである。どうするか。まあ、BASICは多少の方言があれど、まあ、なんとかなる。せっせと移植に励む。PLAY文とSYMBOL文以外は、まあ、なんとか。あー、320/640の解像度を160x100のセミグラフィックに移植するのは大変だった。PASOPIAのはN-BASICに比較的移しやすかったなあ。マニュアルがないから、エラーメッセージから、「有る機能/構文」「無い機能/構文」「取り得るパラメータ」を逆算するほかにない。

まあ、そもそも、他機種のは動かなくてもいいんだ。「こんなゲームが、機能がある」「こんなロジック/アルゴリズムがある」そのことの感動に、おれはPC-8001を触っていたときが、他機種のプログラムを紙面で眺めて夢想していたときが、いちばん楽しかった。スプライトに憧れる少年期でした。

*

Z80だって、ROM内ルーチンだって、似たような手順さ。

  • 16進をテンキー片手で入力するプログラム(N-BASIC)→同(Z80)→同リロケータブル→逆アセンブラ

ここまでの自作は、必然でしょう。5年目、中1くらい(1985)かな。とはいえ、最先端は88に移り、80の雑誌資産を見ていて「世の中にはこんなにすごい人がいる」ことは分かっていたし、それでも「自力でなんとか山に登りたい」一心。FM-NEW7と88SRが家に来てからも、やっぱりおれは8001と8031が好きで、マシン語の読み書きができるDisk Operating Systemを自作する途中まで、8001と並走していた。おれにとってのその究極の目標は2つ。円周率の無限計算。それから、ペナントレース130試合の記録とシミュレーションだ。だからいまでも円周率も素数もフィボナッチもフラクタルレイトレーシングも、サイバーメトリクスも大好き。

*

でね、その基礎的な鍛錬、修練は、Web周りは別よ、別だけれど、VBAとかPHPとか、Pythonとか、まあ、楽だわね。オブジェクト指向は無理よ。だってガキの頃にやってないから。いまでも気持ち悪い。プロシージャ好き好き。あ、再帰は好きよ。

*

それで、「ソースを読む/読もう」みたいな話しをよく見かけるわけだ。

しかし、本屋で手にする、紙に打ち出されたもの以外は、おれはどうしても「読む」「頭に入る」感覚になれない。これは実は文章でも同じで、日本語でも英語でも、紙でないと読む感じに入っていけない。みんな、どうしてるんだろうね、なんてことをふと思い、おれはこれからPiSTARTERに向かう。ライフゲームでも実装するかと。

*

(追記)おれが、マニュアルなしの世界からN-BASICを習得したプロセスが、実は赤ちゃんが母語を身につけるプロセスと近いんでないの? 的なことに気づいたのは、ずっと後、チョムスキーとかを読むようになってからの、それはもうめでたい出来事、世界の再発見、なのでありました。