Z180の判別と初期化

カテゴリー:

今回はZ80180-Z80 ADAPTER for SBCZ80のソフトウェア編です。

SBCZ80にZ80180-Z80 ADAPTER for SBCZ80を載せてもそのままでは正常に動作しません。

Z180ではZ80から追加された機能をコントロールするための内蔵レジスタがI/O空間の00H~3FHに配置されていますが、SBCZ80ではZ80 SIOがI/O空間の00H~03Hに配置されており、アドレスが重なってしまっているからです。SBCZ80を改造してZ80 SIOのアドレスを変更する手もありますが、Z180の内蔵レジスタはI/O Control Register(ICR, 3FH)で移動可能なのでこちらを移動することにします。

以上の変更で一応動作するようにはなりますが、さらにいくつかのレジスタを設定することでパフォーマンスが上がりますので設定しておきます。

MC68010の判別(補足)

今回はブレーク処理についての予定でしたが、MC68010の判別で書き足らなかったことがいくつかありますのでそちらを書くことにします。

MC68008の判別

MC68008の判別もできないか考えたのですが...

  1. ソフトウェア的にはMC68000からの命令等の追加・変更はありません
  2. 最初MC68008は8ビットバスなので奇数番地からのワードアクセスで判別できるのではないかと思ったのですが、データシートによると奇数アドレスからのワード・ロングワードアクセスはアドレスエラー例外を発生するとあるのでこれで判別はできません。
  3. プリフェッチキューあたりに相違があるかもしれませんがデータシートからはよくわかりませんでした。実機が試せるようになったら見てみたいところではあります。

MC68010の判別は例外処理に必要なのに対し、MC68008の判別はどうしても必要というわけではありません。3.を試すにしても優先度はかなり低いですね。

MC68010の判別

SH7045ボードへのUniversal Monitorの移植に着手したのですが、その前にMC68000系で動くようになっていますのでそのあたりの話を何回かに分けて書こうと思います。

MC68000自体は30年ほど前にいじっていて(だから未経験のプロセッサを優先して後回しになっていました)サクサク書いていたのですが、これまで書いたことがなかったのがプロセッサの識別です。

当時からMC68010は載せていましたがモニタは専用にアセンブルしていました。

N BASIC上で動く簡易クロスアセンブラを使用していたので条件アセンブルなどはできずソースを別個に管理していたように記憶しています。

ですからMPUを載せかえる時はROMも一緒に交換です。

今回は基本部分がすんなり動作したので識別ルーチンに挑戦することにします。

識別の原理はもちろんプロセッサによる挙動の違いを検出するわけですが、これにはいくつかのパターンがあります。

SH7045ボード

テーマ:

カテゴリー:

しばらく前に出てきたまま忘れていたボード、思い出したので動かせないか調べ始めました。


SH/7045のボードですね。シルクにはありませんが、秋月で買ったようなかすかな記憶があります。

秋月のサイトを見てもさすがに取り扱いは無い(買ったのは10年どころではない昔のはず)ですが、「回路図集」の中にキットの説明書がありました。やはり記憶はあっていたようです。

表面実装部品は実装済みだったはずなので自分で付けたのはコネクタ・ソケット・水晶・ケミコンだけです。

PIO-48W(98)

テーマ:

カテゴリー:

もう一丁 Cバスのボード、これも神田装備さんでの戦利品です。


コンテックのパラレルI/Oボード、PIO-48W(98)です。

ネットで検索するとISAバスのPIO-48W(PC)や98ノート用のPIO-48W(9N)などという姉妹品もあったようです。

パラレルI/Oといってもプリンタポートの類ではなく、汎用のいわゆるGPIO的なものになります。機械などの制御用にパソコンを組み込んで使う際に重宝するもので、昔はトランジスタ技術誌の広告にも似たようなボードがたくさん掲載されていたものです。

ImPPボード?

テーマ:

カテゴリー:

今回はしばらく前に神田装備さんで購入したCバスのボードです。


2枚のボードの間にPGAらしきものが見えたので何かのマイコンボードかなと思って買ってみたのですが...

結果的には予想外のボードでした。

まずはサブボードを外してPGAの確認からです。

Pages