H25/9/7
序章
 これは私の愛機に行なった幾度もの改造を思い起こしての回想録である。
 何枚もの回路図の設計、幾度もの失敗の苦しみ、そして成功の喜び。これらを繰り返しながら現在に至った、私と我が愛機の歩んできたハードウエアの道程である。
2708から2732へ
 あれは私がまだAND・OR程度しか知らない頃のでき事だった。

 すべては杉之原名人がROMを交換したことに始まる。

 当時の彼のマシンはMZ-80Cであった。某雑誌に掲載されたプログラム(知る人ぞ知るモニタSP-1003である。)を記録したROM、それが目前で動いている。驚異であった。

 しかし、このROMにはバグが居たので、私は彼に協力してバグを取ることにした。紙に赤いマークを三つつけてデバックは終了したのだが、これが私をハードの道にのめり込ませる決定打となった。「このROMが使いたい」そんな思いがこみ上げてくる。しかしこのROMは2732で、私のマシンは初期タイプである2708×4の構成なのだ……。この時、私の取るべき道は決まった。

 コテを握るまでは良かったがカッターが使えない。パターン・カットを強行するだけの自信がないのだ。そこで「ICソケット・2段重ね!!」のピラミッド(これが後にトラブルの原因となった)が2つ並んだ。SP-1003と従来のSP-1002を2732に書き込んだ物だ。これをスイッチで切り換える。なぜこのようにしなければならなかったかというとF-DOSを使うためである。SP-1003とF-DOSのキー・リピートが同時にかかるのを避けなければならなかったのだ。

 完璧なはずだった。そして確かに初めは正常だった……。

 当時、私の愛機には倍速基板、つまりクロックを4MHzにするボードを搭載してあった。このスイッチを4MHzにしたとたんに暴走するのだ。しかもケースを開いているときは正常に動作する。これではまるで熱暴走である。確かに夏の暑い最中である。これでは手の出しようがない。あきらめ半分で試しにピラミッドのソケットとソケットの間にコンデンサを入れてみることにした。すると……。まったく正常なのである。たかがパスコンを入れただけで。ここで私はセラミック・コンデンサの偉大さをあらためて思い知らされたのである。

 ともあれ目標は達せられた。しかし私の改造の歴史は今始まったのだ。

PCGボード
 その日は新明君がMZ-80K2Eを持って来ていた。HALのPCGを搭載しての登場である。グラフィック・キャラクタの寄せ集めと田んぼドット・グラフィックを見慣れた目には驚異だった。それは杉之原氏も同じであったのだろう。即座にボードを自作してきたのだったが、残念なことにとても完動とは言い難い状態だった。しかし、私の心を揺さぶる物であったことに違いはない。この先に悲惨な運命が待っているとも知らずに……。

 回路としてはごく単純なものである。CPU系のバスとビデオ信号系のバスを切り換えるだけなのだ。もっとも当時は随分と悩ませてもらったのだが。杉之原氏はこれに『浅田式PCG』と名付けてくれた。だが『杉之原式PCG』にわずかに手を加えただけなのだ。決してオリジナルではない。

 今度はソケットのピラミッドというわけにはいかない。TTL数個とRAMとROMではあるがユニバーサル基板に組み込むことにした。まるでバッファICに乗っ取られたメモリ・ボードのように見える。当然といえば当然のことなのだが。1~2箇所ほどバグを取り、どうにかOKとなる。いや、メモリ・ダンプをすると希ではあるがビットが化けるようだ。これは気に入らない。エディタの仕様も変更しなくてはならなくなる。ここで妥協などはしたくない。しかしこの決断が最悪とも思える事態に陥る引金になったのだ。ディスクが起動しない。FDCボードの異状か、いやそうではない。メモリ・アドレスの後半がでたらめになっている。その後の処置も空しく、すべてノーマルに戻された私の愛機は修理に出されたのであった。

 これ以来ハンダごて握れない日々が続くことになった。

RAM 52KB

 長い屈辱の日々だった。だがこのまま引き下がる私ではなかった。メモリ・マップにイメージ領域があるのがどうにも面白くないのである。そこでPCGを後から拡張可能なRAMボードを載せることにした。アドレスは D400H~DFFFHとE400~E7FFHをRAMに割り当て、E800H~EFFFHをPCGとしてデコードまで済ませておくことにした。

 RAMはPCGの時に用意した6116を使うことにした、他の改造記事にも使用されていることからタイミングに気を使わずに済むからだ。とはいえ今から考えると恐ろしい話だ、クロックが2MHzだったことに感謝しなければならない。 今回もパターン・カットはしないことにする。結局トラブルが心配なのだ。前回のことがあるだけに不安感は拭えない。これを吹っ切るためにも今回の改造は成功させなければならない。

 回路は万全のはずだ。まずは電源を入れてみる……OKだ。次に改造BASIC(これには簡単なモニタが付けてある。)をLOADする。イメージは取れている。WRITEしてもOKだ。繰り返しダンプしてもビットが化けるようなことはない。ひとまず成功である。後は増設部分にマシン語のプログラムを乗せてみるだけだ。簡単な方法としてWICSを走らせる。テキスト・スタートD400H、なかなか異様だ。オブジェクトをE400Hからおいて走らせる。異常動作はない。完成である。

 この日、私の愛機は遂に48KBの壁を破った。

52KB本体内拡張ボード

RAM 56KB
 難問に挑戦し、それを解き終えた時点で楽しみは終わる。

 つまり同じ製品をいくつも作るとき、最初の一つをあれこれいじくり回している間の苦労が楽しく、それが完成した途端に熱は冷めてしまうということだ。どうやら私にもこれが当てはまるらしい。中途半端とはいえ一度は動いたPCGである。意欲がわかないうちに時が流れ、遂に中止の決定を下したわけだが、同時にPCGに用意したエリアにRAMを割り当てることにした。幸いデコードも済んでいる。問題はどこからバスを引き出すかだ。ラッピング・ソケットで安全に接続できそうな場所は全て前回のRAMボードで使ってしまったのだ。苦し紛れにバス・バッファをソケットにして、ここに極めてコンパクトに納めた基板を搭載することにした。とはいっても、たかだか20ピンのICソケットに6116を2つ付けようというのである。危ないなどというものではない。ほとんど自殺行為である。

 基板は完成したのだが、案の定、接触不良に悩まされる。そのうえRAMを2つともソケットに差し込んだ状態で電源を入れると、途端に暴走するのだ。どうやら前回のデコード部にバグがあるようだ。本体内にRAMを増設するのは断念した方が良さそうである。今回は潔く引き下がることにした。

RAM 57KB
 ディスク・ドライブのROMはI/Oボックスに格納されていてもCPUから見ればメモリ・マップ上に存在する。このROMでさえタイミングが一番厳しいM1サイクルの条件が満足できるのだ。RAMが置けないはずはない。6116LP-3で計算すると確実に間に合うことがわかる。以前買ったかなり遅いタイプの2114があったので、これも調べてみる。2114はアドレス・バス決定後、セルの切り替えに時間がかかる。ところが、意外にもイネーブル後の出力は6116より速い。今回の使い方ではイネーブル信号がかなり遅く届くため、6116はセルの決定後数百nSもの待ちを強いられることになる。一方、2114はちょうどセルが決まった頃にイネーブルになるので、結局CPUから見た場合どちらも同じタイミングになってしまうのである。

 実は、この増設RAMはMIDIインタフェース・ボード上の余白に設けたのだ。いや余白になるはずの部分としたほうが正解だろう。なぜなら、MIDIインタフェース部は全く何も載っていないのだから。ついでのはずがついでの部分だけ完成してしまったのである。

 このRAMボードの恩恵を一番受けたのはCMU-800なのだ。プログラムは全て増設した9KBに収まるため、48KBのうちモニタのワークとして使う1KBを除いたものが全部フリー・エリアとして使えるのである。

 しかし、プログラムの一部が1mも離れたI/Oボックス内のRAMにあるというのは奇妙なものだ。

5KB I/O-BOX内拡張ボード

RAM 61KB
 もう一人の絵夢絶党創始者である佐野氏よりMZ-80Kを譲り受けることになる。故障部分を修理に出し、完全にノーマルにしてから改造にとりかかった。私にとっては2台目のMZ-80Kなので思い切った構成がとれる。たとえ修理不能となってもマシンに触れない寂しさを味わわずに済むからだ。

 まずはキャラ・ジェネROMからいく。2708×2を手持ちの2732にする。2716で容量は足りるのだが手持ちのものをそのまま使うことにした。2個が1個になったのだから当然空きができる。そこにモニタROMを持ってこようと思ったわけである。これはかなりきつい。利用できるのは電源ラインだけなのだ。今までパターン・カットを避けていた人間の行ないとは思えない。実は今回の改造で行なったパターン・カットは80~100箇所にも及ぶのだ。よくこんなものが動いているものだ。

モニタは無事に動いた。基板上のソケットは6-2で4個余った。いよいよこれからが本番だ。D-RAMの配線を変更する。データ・バスが空けたROMを通過しているためだ。バッファの世話になったバスでは自由にならない。改めて引っ張るより他になさそうだ。D-RAMの動作確認を済ませRAMの増設にかかる。4個同時ではトラブルが起きた場合回避する自信がないので1個ずつ載せていく……。作業は順調に進む。しかしこれだけの改造でトラブルが起きないはずはない。それは4個目のRAMを載せたときに起こった。誤配線はない。断線も短絡もない。不思議だ。なぜ動かないのだ。だが、今回は運が良かった。全く思わぬことから原因がわかったのだ。電源を入れたままの基板をうっかり落としてしまったのだ。その時CRTにキャラクタが表示され、さらには高速で移動したのだ。最初は接触不良かと思ったのだが、振動を与え続けているうちに動作が安定したのである。こうなれば考えられることはこれしかない。ハンダくずによる短絡である。実際、いやというほどに振動を与えた後は何事もなかったかのごとく動いているのだ。

 ところでRAMを61KBにするためにはどこかでバンクを使うことになるのだが、ここは大方の予想を裏切らず、モニタROMの裏に位置している。その気になればCP/Mを使うこともできるのである。

 いよいよ最後のステップである。秋葉原で購入したキーボードを接続するのだ。8255のビットが余っているので、これをデコードして使うことにする。回路は単純なのだがICを載せるスペースが必要になる。幸いなことにMZ-80Kには不必要な回路が付いている。D-RAMをフルに実装した途端に無意味になるICなどがあるのだ。そうはいっても撤去して終わりのはずはない。とぎれた回路をジャンパする。CS1とCS2がなくなると、なかなかすっきりして見える。見とれていても作業は終わらない。フラット・ケーブルを接続して終わりである。

 だが、甘かった。設計段階のバグがあったのだ。増設したキーボードをスキャンしたときに本体側のキーにもローが出てしまうのだ。今度こそ最後のパターン・カットである。50箇所を越える辺りまでは数えていたのだが控えていたわけではないのでいくつかわからない。とにかく予定は全てこなした。終了である。

 61KBマシンは仕上がった。ここでメイン・コンピュータとサブ・コンピュータの交代である。

61KB拡張時のメインボード
一見すると何の変哲も無いのだが・・・・・

61KB拡張時のメインボードの裏配線
よくこんなので動いてるね!

RAM 256KB ?
 幾度もの改造によって私の愛機はかなり強力なマシンとなった。だが限界に達した。決して見捨てたわけではないのだが……。

 ここで新しいマシンを手に入れることになる。MZ-2500である。とりあえず文句のないマシンだと思う。・・・いや、ウソだ。既にいくつかの改造案があるのだが実現するにはまだ問題が残っているので手を付けていないだけである。

 そのうちZ-180が手に入ったら2台のMZ-80Kを1台にしようかとも考えている。 これから先は私にもわからない。新しいデバイスと新たに得た知識が更にハードウェアの世界へと導いてくれるだろう。