ZPU

Cromemco社といえば、S-100 Busシステムのメーカとして有名ですね。そのCromemcoを有名にしたボードのひとつが、間違いなくこのZPUボードでしょう。
S-100 BusはMITS社のALTAIR 8800から始まったわけで、8080用のバスでした。8080特有のステータス情報を利用してデコードした制御信号を必要とし、Z80 CPUの端子から出される信号とはタイミングも意味も異なるものが結構含まれていました。そこを無理してZ80 CPUの端子から出される信号から作成して、いかにS-100 Busの規約を満足させるか、それがZ80 CPUを採用したS-100 Busボードを作成しているメーカの腕の見せ所でした。ソフトウェア的には確かにZ80 CPUは8080と互換性がありましたから、S-100 Busと互換性を持たせることさえできれば、高性能なS-100バスコンピュータシステムが得られるわけです。

Cromemco ZPU board

CPUにはMOSTEK社のMK3880N-4が使われています。もちろんZ80 CPUのセカンドソースで実際にZ80 CPUというマーキングも読み取れますが、-4の部分が後でマーキングされているところをみると4 MHz動作の試験に通った選別品ではないかと思います。3端子レギュレータと水晶発振子の間にあるスイッチは、クロック周波数を2 MHzにするか4 MHzにするかを決定するためのものです。写真の位置では2 MHzになっていますね。
右端にあるDIPスイッチはリセット時のジャンプアドレス設定用で、通常の8080/Z80 CPUではリセット後にアドレス0の命令から実行を開始しますが、このボードではリセット後にCPUが動作状態になって命令を読み込む際に強制的にJMP命令を読み込ませて、4 KByte境界の任意のアドレスから実行を開始できました。当時のオペレーティングシステムであるCP/MやCDOS(Cromemco DOS : CP/MをCromemco社が改造して機能を付け加えたDOS)はアドレス0からRWMである必要があったので、オペレーティングシステムの動作時にはアドレス0にROMでなくてRWMが存在しなければいけません。そのため、OSブート用のプログラムを納めたROMは、バンク切り替えでブート後にはアドレス空間から見えなくなるようにするか、このZPUボードのようにパワーオンジャンプ機能を用いてアドレス0F000Hあたりに配置するのが普通でした。同じCromemco社の4FDCボードには0C000Hから1 KByteのROMが配置されていて、この中に納められたモニタプログラムからフロッピーディスク内のOSをブートさせることができるようになっています。
基板の品質は高く、GND〜電源パターンも広く表裏で田の字になるように配線されていてインピーダンスを低くし安定動作に配慮されています。電源パターンの裏表を接続するスルーホールも、1ヶ所につき2個ないし4個程度配置して、インピーダンスを低くする技法がしっかりと使われています。シルク印刷では部品番号のほか、ICの名称なども印刷されていて丁寧です。今の基準からするとバイパスコンデンサの数が少な目のように見えますが、当時の遅くてスパイク電流の少な目のTTLやLS TTLを用いた回路ではIC 2 - 3個につき1個のコンデンサを入れるのが奨励されていましたから、適切な量だと思います。
パターンのできからして、ALTAIR 8800bのCPU基板とは基礎的な技術の差がはっきりしています。しょせんMITS社はアマチュア向け低価格キットメーカでしかなかったわけですね。まぁ、前述のように無理をしてS-100 Busに適合させているしパワーオンジャンプ機能なども付けられていますから、43個ものICが必要になってしまっていますけど。CPUが8080AならバッファだけでS-100 Busにインターフェースできますから、半分以下の回路規模になります。
この基板は1980年1月に製造されたものと思われますが、左下のIC30とIC31の上にある銅箔面のCOPYRIGHT 1976 BY CROMEMCOの文字から基本設計は1976年のようですね。基板のリビジョンはEでした。

残念ながら私のALTAIR 8800bシステムでは、コンソールパネルとCPUの機能が緊密に結び付けられているため、CPUボードをZPUに差し替えるとコンソールパネルが使えなくなってしまいます。そのため、ターンキーシステム、つまり電源を投入したら自動的に何らかのソフトウェアが起動して端末から使用できる状況にまで、他のハードウェアやソフトウェアを整備しなければZPUボードを使うことはできません。

Return to IC Collection