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

2021-02-06 23:44 — asano

テーマ

カテゴリー

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


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

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

右上端のショートピンは74LS139でデコードしたIORを74LS541に供給するためのもの、抜けば"H"に固定されるので以前と同じ動作になります。

ついにデジタルオシロを

2021-01-29 18:14 — asano

テーマ

カテゴリー

いままでアナログのや工夫で何とかやってきましたが、ついにデジタルのオシロスコープを買ってしまいました。


RigolのMSO1074Zです。価格は今までのOS-5100Aとほぼ同等ですね。AliExpressあたりで輸入すればもう少し安くなりますが、劇的に異なるわけではないので安心をとって国内調達です。

OS-5100A購入時の条件は当然クリアしています。最低50MHzできれば100MHz⇒帯域は70MHzですが後から100MHzに上げることも可能なようです。2現象できれば4現象⇒4現象でさらに16本までのロジック入力(8本ごとにアナログ入力が減るのでロジック16本使うとアナログは2現象まで)ができます。遅延掃引⇒もちろん可能です。

SBCV20

2021-01-24 23:49 — asano

テーマ

カテゴリー

電脳伝説@vintagechipsさんの最新作SBCV20ルーズキット、発売と同時に注文したところ翌日に到着したので早速組んでみました。


今回は事前に必要な部品は確保していたので素直に組めました。とはいっても新規に調達が必要だったのは19.6608MHzのクリスタルのみです。

組み方としてはV20用のほか8088用にもできますが、8088は8088ボードで動かせているので今回はV20用で組むことにします。

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

2021-01-19 18:25 — asano

テーマ

カテゴリー

(その2)から1年以上経ってしまいましたが、ちょっと動きがあったので続きを書きます。

前に買ったのとは異なるショップでMN1613を発見、在庫も豊富なようだったので予備ということでもう一つ買ってしまいました。


さすがにこの特徴あるパッケージ、リマーク品の可能性はほぼ無いと思いますが、動作確認はしておきたいところです。

Z8000 CALR命令

2021-01-14 21:48 — asano
カテゴリー

前回予告したように今回はCALR命令について書いてみようと思います。

CALR命令は相対サブルーチンコール命令で、JPに対してJRがあるようにCALLに対してあるのがこれです。同様に相対番地でメモリアクセスするLDR命令や、アドレスを取得するLDAR命令もあります。

Z80の位置独立なコードを書けない(著しく困難)問題に対処しています。

SBCZ8002(ソフトウェア編)

2021-01-06 23:32 — asano
カテゴリー

前回ハードウェアが無事に動作するようになったのでUniversal Monitorの移植してみました。

年末から初期化部分などを細々と書いていましたが、本格的に書き始めたのは年が明けてボードが動き始めてからです。それでも3日にはI(n)/O(ut), R(egister)コマンドまで動作しましたからこれまでの最速記録ですね。確かに慣れてきたという側面はありますが、Z8000がアセンブリ言語で書きやすいプロセッサだというのは間違いないでしょう。

今回はその過程で気になった点についていくつか書いてみたいと思います。

リセットの怪

シャープのマニュアルによるとZ8002のリセット時の動作について以下のように書かれています。

Z8002では,最初のサイクルで,0002H番地からFCWを読み出し,0004HH番地からPCを読み出し,つぎの最初の命令フェッチ・サイクルからプログラムがスタートする。

SBCZ8002(動作編)

2021-01-01 23:31 — asano

テーマ

カテゴリー

2021年、今年もどうぞ宜しくお願いいたします。

さて昨年末に組み立てたまま動かずに悩んでいたSBCZ8002ですが、動作するようになりましたのでその顛末を書いておきます。

まずはすぐに使える周波数カウンタとテスタで見られるところから見ていきました。

A0はリセット直後は変化ありますがその後は"L"のままです。

A1A11は次のような周期で変化し続けています。