世の中には「どちらか一つを選べない」罪深い人間がいる。基板の上に散乱するジャンパワイヤを見つめながら、私は今、猛烈に後悔している。
発端は1970年代後半、空前のマイコンブームの熱狂だった。 本命は、名門インテル家の正統派プリンスi8080。育ちが良く、業界標準の安心感がある。
しかし彼は、どこか手のかかる男だった。付き合うには+5V、-5V、+12Vという3電源を用意し、気難しい2相クロックジェネレータ(i8224)でお膳立てしてあげなければ動いてくれない。
愛はお金と回路規模で証明するものだと、当時の私は自分に言い聞かせていた。
そんなとき、私の前に現れたのがZ80だった。
名門を飛び出した野心家(ザイログ)が放つ、圧倒的なオーラ。「俺なら単一+5V、単相クロックで十分だよ」と囁き、おまけにDRAMの面倒まで自分で見る(リフレッシュ機能内蔵)というスマートさ。
極めつけは、8080の命令セットをすべて飲み込んだ完全上位互換性だ。
「あの男にできることは、俺にも全部できる。それ以上のこともね」
インデックスレジスタ(IX/IY)や裏レジスタセット(AF', BC', DE', HL')をチラつかせる彼に、私の心はあっけなく奪われた。
「8080用のソースコード資産を抱えたまま、Z80のハイスペックな刺激も味わいたい」
浅はかな私は、両者を都合よく乗り換える二股のハイブリッド生活に手を出した。 互換性があるのだから、どちらの土俵でも器用に立ち回れると思い込んでいたのだ。
しかし、この甘い見通しが悲劇の引き金を引く。
破滅は、日常の些細な油断から訪れた。
Z80の甘美な拡張命令…
一瞬でブロック転送を片付けるLDIRや、電光石火のコンテキストスイッチを可能にするEXXの快楽に一度溺れてしまうと、もう8080の質素な世界には戻れない。
気がつけば、私の書くコードはすっかりZ80色に染まっていた。
そして運命のパリティフラグ事件が起きる。
8080において演算結果の奇数・偶数を示すはずのPフラグを、Z80は「オーバーフロー(V)」として平然と使い回していたのだ。
互換という甘い言葉を信じ切っていた私は、条件分岐の不整合という名の泥沼に足を取られた。
「8080の顔を立てながら、夜はZ80の拡張命令で遊ぶ」という私の二枚舌は、完全な互換性の崩壊によって暴かれた。8080の実機環境に持ち帰ったコードは、未定義命令のトラップに引っかかり、けたたましい暴走とともに沈黙した。
基板の上で冷たくなった回路を前に、私は膝をつく。
八方美人を気取った女に残されたのは、どちらのアーキテクチャにも純粋に捧げきれなかった、スパゲッティ状態のアセンブラソースと、山のようなジャンパ線の残骸だけだった。
互換性という名の甘い幻想に寄りかかった二股の代償は、あまりにも苦いリセットスイッチの感触とともに、私の指先に刻まれている。
#掌編小説 #レトロPC #CPU #Z80 #Intel8080 #マイコン #プログラミング #自作PC #擬人化
