ザイログZ8の真実

ボクのライフワークは1970年代に発表されたCPUをすべて実際に動かしてみること。このところの話題はもっぱらRaspberry Piだが、週末はビートルズの時代へタイムスリップする。いま取り組んでいるのはザイログのZ8で、この前の日曜日、主要部分の配線を完了した。最終的にはシリアルのレベルコンバータを付けるが、現状でもピンにテスタを当てる方法で動作確認できる。ただし、ROMライタが完成していないのでROMを取り付けることができない。当面、ただの飾りもの。

z8socket

Z8はボクのジャンク箱から見付かった。ヘンな言い方だがマーキング(正式な型番)がZ8681なのでわからなかった。どうせろくでもないICだろうと思いながら捨てずにとっておいたのが良かった。ときどき重要文化財が個人宅の倉庫から見付かったりするのはそんな事情なのだろう。左の写真がジャンク箱にあった元祖Z8で、1983年製造。右の写真はついこの間、鈴商で見つけたやつ。1989年製造で、12MHzで動く高速版。本来こういうレアなICはどこで売っているか言わないのだが、スペアを確保したあとだから言ってしまって差し支えない。在庫僅少。

Z8681PSZ8681

Z8は当時のCPUで最大級の誤解を受け、過小評価されている。とかくビンテージのCPUはあとから妙な伝説が付け加わったりするものだが、Z8は現役のときもう間違った説明が横行しており、いまや手のほどこしようがない。重要な事実をひとつ指摘しておくと、いまインターネットに掲載されている解説はほぼすべてZ8を制御用と位置づけているが実際は制御用に特化されておらず、汎用コンピュータのCPUとして立派に働く。特に、ROMとRAMがつねに区別されるi8048/51やPICのようなアーキテクチャではなく、それを根拠に制御用としているならまったくの誤りである。

Z8が制御用に位置づけられる原因はたぶん名前にある。ザイログでいちばん有名なCPUはZ80で、上位にZ8000があり、見たことがないがZ80000というのも存在したらしい。このラインアップだとZ8が制御用と捉えられても仕方がない。そういう観念でピン配置を見ると、ROMとRAMを区別しようと思えばできる#DMピンがやけに目立つ。同じ働きをもつピンがMC6809やx86にもあり、これらのCPUは通常そのピンを無接続としてROMとRAMを同一アドレス空間に割り当てる。つまり、z8はMC6809やx86の側に属するアーキテクチャなのに名前の雰囲気でi8048/51やPICの側に分類され、ひいてはメモリの使いかたが誤解され、ひいては制御用となって悪循環を生んでいる。

命令体系はZ80がi8080に対して拡張した命令をなくした感じ。数式を整理して言い直すとi8080のようなもの。だからたとえばPaloalto TinyBASICを移植するのも簡単そう。少なくとも機能的に制約となるものはない。ハードウェアはすごい。Z80とほぼ互換のバスがあり、メモリを64kバイト近く(ROMとRAMを区別すればもっとたくさん)つなげる。周辺回路はシリアルとタイマとポートがあって割り込み関係の処理ができる。パッケージがZ80と同じ40ピンなのでポートの一部はバスと兼用だが、双方の働きを最大限両立させる絶妙なピン配置になっていて、たとえば、2716(ROM)、6116(RAM)、シリアル、タイマ、8ビットパラレル+ハンドシェイクが同時に動く。

ボクが作っているのがまさにその構成の汎用コンピュータ。回路図はこちらz8sbc.pdf。この回路図で線を引っ張り出してあるだけのシリアルがいつか完成したあかつきには外部からRAMへプログラムを読み込んで実行する。だからROMに書くのはブートローダだけ。たぶん256バイトくらいだと思うが、その前にROMライタを完成する必要があり、そのファームウェアを4kバイトくらい書かなければならない。こちらは動作確認に失敗するたびにROM代300円がかかる。こんな贅沢な趣味は日曜だけに限定される。

広告
カテゴリー: Z8 パーマリンク

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中