◆推論の実行

痛いときに「イテ〜ッ!」と大声をあげるレスラーに大物はいない。痛みをグッと堪えてこそ、反撃への闘争心が生まれるのだ。これが闘魂の原点だ。あのアントニオ猪木は、前座のころから痛みを口に出さないので有名だった。まさに闘魂の塊(かたまり)ではないか。

最近(←1990年ころ)は、マ界で強敵に出会うとすぐに助けを求めたり、悲鳴をあげて退散する勇者(?)が増えてきた。もちろん、自分で調べてわからなければ誰かに聞いて解決するしかない……のだが、問題はその後にある。そこで闘魂を発揮できるかどうか、それがレベルアップの分水嶺なのだ。

な、なんだ、その闘魂を発揮するとは!? そう思ったら、それを自分で発見しなきゃネ。わかんないから「わかんねェ!」じゃ、闘魂になんないんだから……。佐々木武蔵だって、それくらい自分で解決したんだ〜ヨ。

目指すはマシン語……。何の手掛かりもない武蔵は本屋さんへ行くしかなかった。『はじめてのマシン語』〜『マシン語ゲームプログラミング』……。もちろん、あるわけがない。少ない書籍の中から、武蔵はマシン語が「ニモニックと16進数の山の中にある」ということを知った。ウ〜ム、まるでわからん。こうなれば、市販のゲームを解析するしかないか。

メモリの中身をゼロでクリアして、プログラムをロードする。こうすれば、どこにプログラムがあるかわかるからだ。武蔵は、モニタでそのアドレスを捜して逆アセンブルした。


注:
つい最近まで……ていうかァ、Windowsが全盛となる以前のパソコンには、種々のソフトウェアがバンドルされていない代わりに、プログラムを組むための何らかの手段が講じられていた。さらに、この男が悪戦苦闘している黎明期(1980年代〜)にはBASICとモニタ(マシン語を入力〜解析〜実行するためのツール)が本体に内蔵されていた。要するに、必要なソフトウェアは「自分で組みなさい!」ということだったのだ。
その結果……。武蔵の頭はますます混乱した。無理もない。そこは、なんとデータエリアだったのだから!? もちろん、当時の武蔵には知らぬことであった。

武蔵は、そこで1つの推論を出した。マ界とは「偶然に作られる世界」に違いない。天才プログラマーというのは、幸運にもその世界をつかんだ人間のこと。16進数を適当にメモリに入れているうちに、まぐれでゲームが完成してしまうのだ。何人もの人間が、毎日どこかでそういった偶然にチャレンジしていれば、それは十分に起こりうること。だって、メモリ数は限られているし、中には00H〜FFHの数値しか入れることができないのだから……。

つまり、マシン語プログラムとは「限られた数の組み合わせ」というわけである。これならすべて納得できる。武蔵は、メモリにデタラメな数を入れることにした。とはいえ、これも結構面倒な作業であったが……。そして、実行。

おっと、うまくいったときのためにプログラム(?)はセーブしておかなければネ。その程度のこと、忘れるような武蔵ではない。準備は万端、抜かりはない。確認の上、武蔵はプログラムを走らせた。ガビ〜ン!!

1回、2回、3回……。失敗の暴走ばかりが連続する。偶然をつかむとは難しいのォ。そして、2日目。ついに暴走以外の症状は現れなかった。もしかすると、この推論は間違っていたのかもしれない。武蔵は、何げなく組み合わせの総数を数えてみた。

エ〜ッと、1バイトのメモリでは256通り。2バイトでは256×256だから65,536通り。そうすると、3バイト目には16,777,216通り。

ギョエ〜〜ッ!! 4バイト目には、驚きの4,294,967,296通り。これでは偶然をつかむことなど、宝クジに当たるより難しい。

こうして、武蔵の推論は音も立てずに崩れ去った。武蔵、1回目の挫折である。だが、立ち直りの速さにかけては天下一品。こんなときにはどうするか、武蔵はちゃんと次の一手を考えていたのであった。