MN1613のステップ実行(その5)
これまで不明だったリセット解除直後のX'0000'番地からのI/Oリード、X'0000'以外の値を返したら何が起きるか?ということでその3で予告したIORサイクルでデータバスに値を送り込む回路を追加しました。
空だったソケットにはSN74LS541Nを載せました。
下に並ぶショートピンの群れは値の設定用、8ビットのところで区切りがわかるように空けておきます。写真の状態でX'F010'を設定しています。
右上端のショートピンは74LS139でデコードしたIORを74LS541に供給するためのもの、抜けば"H"に固定されるので以前と同じ動作になります。
ついにデジタルオシロを
いままでアナログのや工夫で何とかやってきましたが、ついにデジタルのオシロスコープを買ってしまいました。
RigolのMSO1074Zです。価格は今までのOS-5100Aとほぼ同等ですね。AliExpressあたりで輸入すればもう少し安くなりますが、劇的に異なるわけではないので安心をとって国内調達です。
OS-5100A購入時の条件は当然クリアしています。最低50MHzできれば100MHz⇒帯域は70MHzですが後から100MHzに上げることも可能なようです。2現象できれば4現象⇒4現象でさらに16本までのロジック入力(8本ごとにアナログ入力が減るのでロジック16本使うとアナログは2現象まで)ができます。遅延掃引⇒もちろん可能です。
SBCV20
電脳伝説@vintagechipsさんの最新作SBCV20ルーズキット、発売と同時に注文したところ翌日に到着したので早速組んでみました。
今回は事前に必要な部品は確保していたので素直に組めました。とはいっても新規に調達が必要だったのは19.6608MHzのクリスタルのみです。
組み方としてはV20用のほか8088用にもできますが、8088は8088ボードで動かせているので今回はV20用で組むことにします。
MN1613のステップ実行(その3)
Z8000 CALR命令
SBCZ8002(ソフトウェア編)
前回ハードウェアが無事に動作するようになったのでUniversal Monitorの移植してみました。
年末から初期化部分などを細々と書いていましたが、本格的に書き始めたのは年が明けてボードが動き始めてからです。それでも3日にはI(n)/O(ut), R(egister)コマンドまで動作しましたからこれまでの最速記録ですね。確かに慣れてきたという側面はありますが、Z8000がアセンブリ言語で書きやすいプロセッサだというのは間違いないでしょう。
今回はその過程で気になった点についていくつか書いてみたいと思います。
リセットの怪
シャープのマニュアルによるとZ8002のリセット時の動作について以下のように書かれています。
Z8002では,最初のサイクルで,0002H番地からFCWを読み出し,0004HH番地からPCを読み出し,つぎの最初の命令フェッチ・サイクルからプログラムがスタートする。
SBCZ8002(動作編)
2021年、今年もどうぞ宜しくお願いいたします。
さて昨年末に組み立てたまま動かずに悩んでいたSBCZ8002ですが、動作するようになりましたのでその顛末を書いておきます。
まずはすぐに使える周波数カウンタとテスタで見られるところから見ていきました。
A0はリセット直後は変化ありますがその後は"L"のままです。
A1~A11は次のような周期で変化し続けています。