現在地

マイコン

マイコン

マイクロプロセッサ・マイクロコントローラ等です。

Zilog Z8S180

テーマ:

カテゴリー:

Z180の判別と初期化でHD64180RとHD64180Z(Z180)の判別ができましたが、そうなるとZ8S180の判別もしたくなります。これは持っていないので新たに調達しました。


Zilog Z8S18010VSG、10MHz版になります。Z8S180には33MHz版などという高速なものもありますが目的が目的なのでこれで十分です。

デートコードは2007、なんと2020年製ですね。このZ8S180は現行品なので買ったのもいつものeBayやAliExpressではなくて真っ当なルートです。

まずはそのまま載せ替えてみます。

Z180の不正命令TRAPを捕まえよう

Z8S180の前にやってみたいことがあります。

Z180には未定義な命令を実行しようとした時に発生するTRAP割り込みというものがあります。これを捕まえてRST 38Hによるブレークのようにアドレスやレジスタが表示できれば便利でしょう。

ということで調べ始めたのですが、思った以上にハードルが高く簡単ではありませんでした。

まず未定義な命令を実行しようとした時に何が起こるかです。

  1. ITC(Interrupt TRAP Control)レジスタのTRAPビットが1になる
  2. PCの値がスタックに積まれる
  3. 論理アドレス0000Hにジャンプする

えっ、0000Hってリセットと同じではないですか。MMUで論理アドレス0000Hに異なる物理アドレスを設定していれば問題ありませんが、ROM, RAMともに16kBしかないSBCZ80でこのためだけにMMUを有効にするのはかなり面倒です。

SH7045ボード

テーマ:

カテゴリー:

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


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

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

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

F8 I/Oボード(その3: 汎用ロジックによるポート)

テーマ:

カテゴリー:

8251の前にまずは単純なポートを試してみることにします。


テスト用のボード、ブレッドボードで十分な気がしますがどうも好きになれないので作ってしまいました。

機能は単純です。

IORに対しては下部ジャンパで設定した値をSN74HC541N経由でデータバスに送り込みます。アドレスをデコードしていないのでアドレスは任意です。

F8 I/Oボード(その1: F8のメモリアクセス)

テーマ:

カテゴリー:

SBCF8では8251はメモリマップされています。でもF8にはIN/OUT命令が存在しますので、何とかI/O空間にマップできないかやってみようと思います。

これF8(F3850)の特殊性を知らないと難しさがわからないと思うので簡単に書いておきます。

まずF3850にはアドレスバスの出力がありません。他の信号とマルチプレクスされているといったレベルではなくありません。

アドレスレジスタも(プログラムカウンタすら)ありません。

プログラムカウンタ(以下PC0)無しでどうやって動くのかというと、PC0はメモリ側が持つことになっています。

MN1613のステップ実行(その5)

テーマ:

カテゴリー:

これまで不明だったリセット解除直後のX'0000'番地からのI/Oリード、X'0000'以外の値を返したら何が起きるか?ということでその3で予告したIORサイクルでデータバスに値を送り込む回路を追加しました。


空だったソケットにはSN74LS541Nを載せました。

下に並ぶショートピンの群れは値の設定用、8ビットのところで区切りがわかるように空けておきます。写真の状態でX'F010'を設定しています。

ページ