ここにあるのは、本来は ゴミ置場 に置くようなものばかりである。 部屋の掃除をしていたら、 昔さわっていたMSXに関するものがいくつか出て来たので、 懐かしかったからここに置くことにした。
コンピュータの進化は非常に速く、 最近コンピュータに触れた人などは当時の環境など想像もできないであろう。 ここをみれば、 その時代の様子の片鱗を覗くことができるかも知れない。
といっても、 そんな昔の話ではない。 私が15〜18歳のころ、 せいぜい1987〜1990年くらいのことである。
しかし、つまらないページがまた増えたなあ。 自己満足ページの典型 をひた走っているぞ。 しかも懐古主義まではいっている。 まあどうせ、 コンピュータやってウェブページ作っている人なんて、 自己顕示欲の固まり みたいな人ばかりだから、 自分もそのひとりなんだろう。
その資料を解析して、 昔つくったプログラムを復活させようと思ったが、 よく考えてみれば、 MSXは捨ててしまった のだった。 MSXプログラマのバイブル と呼ばれた(私が勝手に呼んでいる) 「MSX2 テクニカルハンドブック」(ハンドブックといいながら馬鹿でかい) も捨ててしまった。 もはやMSXでプログラムすることは私にはほぼ不可能である。
MSXは、ザイログ社のZ80という8ビットのCPUを4MHzで動かしていた、ように思う。 4MHzといっても、たしか、1つの命令に5クロックかかったような気がするので、 最近のPentiumとかPentium IIみたいに1クロックで2つも3つも命令を実行するのとは断然速さが違う。 いや、断然遅さが違うと言った方がいいか。
MSXには、BASICが組み込まれていたのだけれども、 ちょっと自分でプログラムを組み出すと、 遅くて大変であった。 なぜBASICが遅いかと言うと、これはそういう言語だからだ。 CPUはマシン語と言う数字の羅列しか解釈しない。 ではどうするかというと、 BASICでは人間にわかりやすく書かれた命令(PRINTやINPUTなど)を実行時にいちいち機械語に翻訳している。 その翻訳にかかるコストが動作の足をひっぱるわけだ。
軽快なプログラムを書こうとなると、 直接マシン語で書くしかない。 といっても、 xx番がxxxxという動作をする命令で……というように把握するのは、 人間には難しいので、 マシン語と1対1対応のアセンブリ言語というのがある。 まさにCPUの動作をいちいち記述する言語である。 いったんアセンブリ言語でプログラムを書いた後、 マシン語に変換する、それがアセンブルという作業だ。
アセンブリ言語からマシン語への変換は、 アセンブラというプログラムがやってくれる。 しかし、当初はお金がなかったのでアセンブラを持っていなかった。 仕方がないから表を見ながら手で変換した。 それがハンドアセンブルである。 ハッカーと呼ばれる人種は表を見ないでもハンドアセンブルできるらしいが、 私はそれには遠く及ばないので、じっくりとやるしかない。 そのときのノートが見つかったが、 さて、何のプログラムだったやら…。
その後、 アセンブラが載っている本を手に入れた。 載っているというのは、 16進数が延々と数ページに渡って掲載されているということであり、 これを実行するためにはこの数字の列を入力することになる。 いまでこそCDROMが付いている書籍は珍しくもないが、 当時はフロッピーディスクが付いている本もなかった。 いや、そもそもフロッピーディスクドライブなんて持っていなかった。 オーディオ用のカセットテープに記録していたのだが、 その速さはたしか1200bit/secである。 今どきのハードディスクは数百Mbit/secだったかな。
まあ16進数と1日中つき合っているなんて異常だね。 当時なんか16進数で会話していたくらいだ(嘘)。
結局なんのことかわからんが、 金はなくても根性はあったということ。