2016-07-03 23:38 — asano
これは自作したZ-80ボードの4号機、MAA-1ボードです。
これを作ったのは2002年のことなのでわりと最近の部類に入るかもしれません。
名前の「MAA-1」は「南青山アドベンチャー」1号機の略で、「年刊 Ah!SKI」1983年号に掲載された「南青山アドベンチャー」というアドベンチャーゲームを実行するためだけのボードです。ちなみに「年刊 Ah!SKI」は月刊ASCIIのパロディ版として1981~1987年まで4/1に発売された(1981,1982年はASCII誌の4月号綴じ込み付録)雑誌です。
普通この手の懐かしいプログラムを動かすなら当時のパソコンのエミュレータで実行するものですが、以下の事情でハードウェアを製作することにしたのです。
まず自作のX11環境用PC-8001/8001mk2/8801エミュレータ上では動作しました(少なくともその時は動作したと思いました)。しかしこれはPC-8001実機のROMイメージを必要とします。
そこでROMイメージを必要としない方法を考えました。幸いこのゲームはPC-8001,MZ-80,PASOPIAなど当時の複数機種で同一のプログラムを共有し、機種固有部分だけ入れ替える構造になっていました。そこでハードウェアのエミュレーションをやめ、CPUエミュレーションのみにすることでROM不要で動作するプログラムを作りました。
ところが遊び始めてみると動作が微妙におかしいのです。昔実機で動かしたことはありますので気付いたのですが、確認しようにもこの時点で実機は動かなくなっていました。そこで、なら実機を作ってしまえ、ということでこの製作がスタートしたのです。(詳細は記憶していませんが、エミュレーション時のフラグ動作にバグがあったようです)
左側に出ているコネクタは、ACアダプタ(秋月の5V 2.3Aのものを想定)、プレイするためのターミナルを繋ぐシリアル、予備のシリアルです。
最下段左側がZilog Z0840004PSC、オリジナルのZ80 CPUの4MHzです。ロゴは新しいものですね。
右が日立のHM62256LP-12、32kバイトのRAMです。プログラムはROMに格納するわけですが、元がパソコン用のものなのでコードとデータの分離がされていない上にZ-80ではリロケートも困難なのでRAMに転送して実行することになります。そこで当時のパソコンと同等の容量を載せています。
下から2段目左はSGS製のZ-80 SIO/0です。昔は高価なデバイスだったのですが、この頃には手頃な値段で買えるようになっていました。
右側は写真がボケていますがM27C256B-70XFI、UV-EPROMです。交換を想定してZIFソケットにしてあります。
3段目左から、16MHzの水晶発振子、ここから4MHzのCPUクロックやシリアルクロックを生成します。
右がSN74LS393N、クロックの分周器になります。
隣がMAX232CPE,言わずと知れたシリアルのレベルコンバータですね。
右端はSN74LS139AN、アドレスデコーダです。
最上段左側から、電源・シリアルのコネクタの隣はシリアルのボーレート設定用のジャンパ、2つのシリアルで別にすることは出来ません。
次の8ピンは24LC256、IICインターフェイスのEEPROMです。これはゲームの途中セーブ用で、元々はカセットインターフェイスに記録していたのと同じデータ列を書き込んでいます。このデバイスの接続にはZ80 SIO/0のモデム制御用のポートを流用し、普通IICのSDAには双方向ポートが必要なところを出力1と入力1と抵抗で済ますという変則的なことをしています。
右はSN74LS161AN、これはシリアルクロック用の13分周器を構成しています。
最後のSN74LS14N、リセット回路に使っています。リセットスイッチは設けていません。
これが裏面、この頃はもう縦横に配線する流儀に変わっています。下の方で配線がかなりビジーになっているのはCPU-メモリ間のアドレス・データバスの配線ですね。緑がアドレス、青がデータです。
このように配線が盛り上がるのを嫌って、あるいは別の理由で、UEWを使う人が増えているようですが、私はこのラッピング用ワイヤをハンダ付けで使うのが好きです。
先端の皮を剥くときに短めに剥いておいてじっくりと予備ハンダをすると被覆が少し収縮するので剥いたときの傷をフィレットの中に埋めるようにハンダ付けすると折れにくいです。適度な太さがあるので配線を目で追いかけることもできます。その時にピンセットで配線の束をほじくるようにしても被覆が傷つくことも無いですし。
コメントを追加