SBC1802
カテゴリー:
またもや 電脳伝説@vintagechips さんのボード、SBC1802です。
しばらく前に基板入手していたのですが、SuperHやらH8やらやっていて後回しになっていました。部品はほぼ手持ちでそろったので一気に組み上げたところです。
27256は十分持っているので焼いてもよかったのですが、とりあえず手持ちのROMエミュレータを載せています。
いつものように搭載部品を見ていきます。
マイクロプロセッサ・マイクロコントローラ等です。
またもや 電脳伝説@vintagechips さんのボード、SBC1802です。
しばらく前に基板入手していたのですが、SuperHやらH8やらやっていて後回しになっていました。部品はほぼ手持ちでそろったので一気に組み上げたところです。
27256は十分持っているので焼いてもよかったのですが、とりあえず手持ちのROMエミュレータを載せています。
いつものように搭載部品を見ていきます。
SH7045ボードも動いたことですし、次はH8でも動かしてみようと何枚か買った記憶のあるAKI-H8を探していました。
最初に見つけたのはH8/3048搭載のこのボード、表面実装のIC以外は未実装のキット版ですね。
未組み立ての状態で説明書や部品一式とともに出てきました。
なんとかSCIが動くようになったのでUniversal Monitorの移植に取り掛かれます。
SuperHファミリはここで取り上げるプロセッサとしてはモダンな部類ですが、アセンブリで書くとなるとかなり癖が強いですね。慣れるまでは結構てこずりました。
移植の過程で気になった点をいくつか上げてみます。
SuperHの大きな特徴の一つはすべての命令が16ビット長ということです。これはオペコード部の長さではなくオペランドを含めても16ビットということですから、大きな値やアドレスを持つことができません。
即値は一部の命令で8ビットのものがありますが、さすがに8ビット程度では意味がないので絶対アドレッシングは存在しません。
以前お見せしたSH7045ボードを動かしてみたくなってこんなボードを作ってみました。
あのボードは電源さえつなげば動かせるはずなのですが、今さらRS-232よりUSBシリアルのほうが便利、EMILY Boardに接続してみたい、ちょっとした実験などするのにユニバーサルエリアが欲しい、といった理由です。
電源はEMILY Boardから供給しますが、スタンドアローンで動かす場合は右上のコネクタからも+5Vを供給できます。
シリアルポートは写真では見にくいですが左下のところに6ピンのコネクタ(TTL-232R-5V用)を設けてあります。
先日のZ80180アダプタとともにNSC800アダプタの基板もいただいていますのでデバイス買ってみました。Rレジスタや未定義命令の挙動も見てみたいですし。
National SemiconductorのNSC800N-4I、4Iは4MHzで動作温度範囲が-40~+85°Cを表します。1988年製ですね。
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を有効にするのはかなり面倒です。