Z280固有の初期化(その1)
カテゴリー:
Z280は特別な初期化をしなくても高速なZ80として動作するので何もしていませんでしたが、Z180の初期化を加えたのでZ280でもやってみました。ゆくゆくはトラップの対応などもやってみたいと考えています。
以下はCPU判別でZ280であると判定されたところです。
マイクロプロセッサ・マイクロコントローラ等です。
Z280は特別な初期化をしなくても高速なZ80として動作するので何もしていませんでしたが、Z180の初期化を加えたのでZ280でもやってみました。ゆくゆくはトラップの対応などもやってみたいと考えています。
以下はCPU判別でZ280であると判定されたところです。
Z180の判別と初期化でHD64180RとHD64180Z(Z180)の判別ができましたが、そうなるとZ8S180の判別もしたくなります。これは持っていないので新たに調達しました。
Zilog Z8S18010VSG、10MHz版になります。Z8S180には33MHz版などという高速なものもありますが目的が目的なのでこれで十分です。
デートコードは2007、なんと2020年製ですね。このZ8S180は現行品なので買ったのもいつものeBayやAliExpressではなくて真っ当なルートです。
まずはそのまま載せ替えてみます。
Z8S180の前にやってみたいことがあります。
Z180には未定義な命令を実行しようとした時に発生するTRAP割り込みというものがあります。これを捕まえてRST 38H
によるブレークのようにアドレスやレジスタが表示できれば便利でしょう。
ということで調べ始めたのですが、思った以上にハードルが高く簡単ではありませんでした。
まず未定義な命令を実行しようとした時に何が起こるかです。
えっ、0000Hってリセットと同じではないですか。MMUで論理アドレス0000Hに異なる物理アドレスを設定していれば問題ありませんが、ROM, RAMともに16kBしかないSBCZ80でこのためだけにMMUを有効にするのはかなり面倒です。
はせりん@haserin09さんよりはせりん工房の基板一式を頂きました。その中からすぐに部品の揃ったZ80180-Z80 ADAPTER for SBCZ80を組み立ててみました。
これは電脳伝説@vintagechipsさんのSBCZ80にZ180を搭載するためのアダプタです。