パソコン少年時代

6時前起き。目覚ましが鳴る前に起きてしまった。
お粥を炊き、書き作業をする。

お粥、キャベツのマリネで朝飯。

地下鉄で仕事へ。
西新宿ではなく、新宿から歩いた。
家からオフィスまでトータル40分かかった。
荻窪の時とあまり変わらない。

午前中、エクセルの修正。
コンドウHくんの依頼で先月から改修してきたもので、それを毎朝タナカさんが使っている。
ところが不要な行が追加されてしまうという。
同じエクセルでオレがやっても不要な行は作られない。

一つの更新ではなく、複数の更新を連続してやってみた。
動作ではなく、作業の再現だ。
すると、デバッグ用のブレークポイントで実行が止まった。
ある条件を満たしたら実行するコードのところだ。
調べると、原因がわかった。
IF文の条件に不足があったのだ。

それを修正するとお昼になった。

お粥、魚肉ソーセージ、大辛スープで昼飯。

午後、シガキさんに依頼されたツールの改修をする。
月をまたぐと表示がおかしくなったという。
調べると、PowerQueryに問題があるとわかった。
どんな問題なのかは引き続き調べると伝え、メンテナンスへ。

メンテナンス後、原因を調べる。
PowerQueryで最初に指定したデータソースの行が、その後も変化しないようだった。
データは外部ではなく、PowerQueryを置いてあるブックのシートにあり、コマンドボタンを押して外部のCSVから都度貼り付ける仕様にしている。
外部のCSVは日々の変化があるので行は少しずつ増えている。
だが貼り付け先のシートをソースにして実行したPowerQueryは、初回に貼り付けた行までしか集計をしてくれない。

結局、CSVを貼り付ける時に、必要な行のみ貼り付けることにした。
行が減る分には問題ないと思われたからだ。

実行してみたらうまくいったのでシガキさんに渡す。
根本的な解決にはなっていないが。

改修を終えたことで気分良く帰ろうとした時、カタギリさんとタナカさんに呼び止められた。
データのIDを変更して欲しいのだが、対象のIDをまとめるまで待って欲しいとのことだった。
仕事は残っていなかったが、予定もなかったので、うろうろしながら待つ。

30分ほど、廊下をうろうろしたり、外に出たり、パソコンに座ってメールをみたりし、7時半にデータを受け取った。
すぐ更新を済ませ、仕事をあがった。
残業とはいえ、1時間はほぼ待ち時間だった。
まあ、楽と言えば楽だが。

自転車で8時半帰宅。

風呂に入る。
最近、風呂にゆっくりつかることにはまっている。

ネットで古いパソコンのことを調べる。
PC8801など。
ほかに、Z80、6502、6809といった8ビットのCPUについて。

8ビットパソコンの全盛期は、BASICでプログラムを組むのが普通だった。
遅い時にはマシン語を使った。
ゲームプログラムを作る時には必須だった。

パソコンに興味を持ったのは小学校6年生の時だった。
PC8001が欲しかったが、16万円以上もしたので、とても手が出なかった。
ちょうどその頃パソコンブームが起こり、PC8001よりも性能が良く安い機種がどんどん発売された。
中学に上がってからは富士通のFM-7が欲しくなったが、これも12万円以上した。
アルバイトのできる身分ではないのが恨めしかった。
あの頃バイトができていたら、一体どれだけ働いていただろうと、二十代半ばのバイト三昧だった頃に思った。

小遣いやお年玉を貯め、中学1年の終わり頃には5万円ほどの貯金ができた。

だが、ちょうどその頃に、日立からS-1という新機種が発売され、FM-7の性能を追い抜いてしまった。
ショックだった。
なぜなら、FM-7を買おうと思って一年間ずっとBASICからマシン語まで、たっぷりと本を買い込んで勉強していたからだった。
お金が貯まった頃には、欲しい機種が時代遅れになっているんじゃないかと不安になった。

重要なのは、いつかではなく、その時に手に入れることだった。
もしFM-7を使うなら、中学1年の時に手に入れていないといけなかった。
中3で手に入れたとしても、もはや時代遅れの中古品だ。

とにかく、自分のパソコンがないとダメだと焦っていた。
そんな時、秋葉原のラジオ会館でコモドール64を見つけた。
本体価格の半値で売られていた。

なぜそれを買ったのかというと、焦っていたとしか言いようがない。
たとえると、結婚のようなもので、これを逃すともう結婚できないかもしれないという焦りが、目の前の相手を選ばせてしまったようなものだ。

結果としてその結婚生活はどうであったかは、過去このブログで何度も書いているが、優しく潤いに満ちたものとは到底言えなかった。
あくまでも結婚にたとえれば、家具、電化製品、家、ご近所さん、そして子供に恵まれていなかった。
無人島で二人きりで、魚を採り果実を採集してなんとか生きていた。
しかも、魚を採る道具すら、自分で作らないといけなかった。

マシン語の話に戻る。
最初に欲しくなったPC8001のCPUは、Z80だった。
FM-7が、6809。
コモドール64が、6502。

実機を持っていないにもかかわらず、欲しさのあまりマシン語の勉強をした。
Z80のマシン語は、塚越一雄さんの書いた『PC8001マシン語入門』を本屋で注文して入手して勉強した。
6809も、同じく塚越さんの本で勉強した。
どちらも中学1年のオレには難しすぎた。
6502のマシン語は、アップル2の本で勉強した。
その頃は中学2年生になっていて、少しは内容を理解することができたと思う。
ただし、機種が違うので、本にあるコードをそのまま実行することができなかった。

コモドール64にはアセンブラはおろか、マシン語モニタもなかった。
BASIC上でマシン語を実行するには、POKE文を用いるしかなかった。
さらに面倒なことがあった。
他のマシンでは、16進数を扱う時に、「&H」という文字列を前につければよかった。
&HFFとか。

ところがコモドール64は10進数しか扱えなかった。
つまり、手書きでアセンブリ言語のコードを書いて、それを手動で16進数に変換した後、さらに10進数に変換しなければならないのだ。
とてつもなく面倒だった。
釣り竿も釣り糸も釣り針も自作で魚を釣れ、ということだ。

入力に関してはBASICでマシン語モニタもどきみたいなものを作ってなんとかしのげたが、実行したりその結果を返したりなど、デバッグ作業はできなかった。
マシン語はちょっとでもバグがあったら、実行した瞬間マシンが固まってしまう。

せっかく買ったパソコンだったが、そのような感興にあっては、いくら勉強しても見返りは少なかった。
あらかじめマシン語モニタやグラフィック描画命令を持つMSXが羨ましかった。

なければ作るしかないという環境で、およそ1年ばかりコモドール64を使っていたのだが、中三になると受験のため、親からパソコンの使用を止められた。
小学6年の終わりから中学2年まで、およそ2年あまりのパソコン生活は、ここで中断した。

一年後、無事に高校に合格し、久しぶりにコモドール64を引っ張り出したが、その頃すでにこのパソコンは日本において忘れ去られており、プログラムを掲載している雑誌は一つもなかった。
新しいパソコンが欲しいとぼんやり思い、同じCPUを持つアップルIICのカタログを眺めたりしていたが、高校に上がってすぐ、ファミコンを買った。
ゲームソフトの出来の良さに、すべてが馬鹿らしくなった。
一個人のプログラマーがゲームを書いて儲けるという時代はとっくの昔に終わり、企業がビジネスとしてソフト開発をし販売するのが当たり前になっていた。

コモドール64は、日本以外の欧米諸国ではファミコン以上に売れたパソコンだ。
もしオレが当時アメリカで過ごしていて、コモドール64を買っていたとすれば、ファミコンを買ったのと同じような気分を味わっただろう。
自分でプログラムを書こうとしなくても、面白いゲームは毎月何本も発表される。

こうして書いてみると、少年時代のパソコン生活は思っていたよりも短かったと思う。
トータル期間にして、3年に満たなかったのだ。

もし、中学1年の時にPC8001やFM-7を手に入れていたらどうなっていただろうと思う。
おそらく、その後の進路は今と違っていたことだろう。
文系ではなく理系に進み、演劇と出会うこともなかったかもしれない。

仕事でVBAのコードを書いている時、
(あれ? オレ、中学の時、こういう仕事につくのが夢だったんじゃねえか?)
と思った。
(じゃあ、今、オレ、夢をかなえて幸せなのか?)
と自問した。
(幸せってわけじゃねえな。不幸せってわけでもねえけど)
と独りごち、カタカタカタとコード修正を続けたのだった。