復活!CP/M ワンボードマイコンでCP/Mを!
CP/MがTK−80互換のワンボードマイコンの上で復活します
ND80ZVとMYCPU80の上でCP/Mが走ります!
[第286回]
●ロジアナでとらえたアドレスセットの誤動作波形
前回説明をいたしました、Z80で追加された命令が原因で発生した、E−80(仮称)ミニコンのアドレスセット(READ操作)で実際に誤動作している様子をロジアナで観測いたしました。
今回はその記録波形をお見せします。
なおここで使いましたロジアナにつきましては「TTLだけでCPUをつくろう[第374回]」でご紹介いたしました。
超ローコストですぐれもののロジアナ(カメレオンUSB+ロジアナキット)です。
ロジアナのプローブを接続して観測をおこなった信号は[第276回]と同じです。
下図はそのときにお見せした、プローブの接続ポイントをプロットした回路図です。
こちらが誤動作している様子をとらえた波形の記録です。
[第276回]でお見せした正常動作しているときの波形と比べてみてください。
両者の違いがよりはっきり分かるように、[第276回]の説明を下敷きにして説明をすることにいたします。
アドレスセット+メモリリードの操作はREADスイッチをONにすることで行われます。
READスイッチは中点復帰式(momentaly。押している間だけ接点が閉じ、離すと元に戻る)のスイッチです。
そのスイッチ信号によって74HC123から出力されたワンショットパルスによって回路動作がスタートします。
74HC123のQ出力にロジアナのプローブ00を接続し、その立ち上がりを測定開始トリガとしました。
READスイッチをONにする前に、STOPスイッチをONにしてCPUをM1のタイミング(命令OPコード読み込み)でウェイトさせてあります。
そのときのアドレス表示は××3AHで、データバスにはメモリのそのアドレスの値78Hが出力されています。
ここにはアドレスの上位8ビットは(プローブを接続していませんので)表示されていませんが、073AHであることがわかっています。
今までのところではフロントパネルの操作についてしか説明してきませんでしたが、E−80(仮称)ミニコンはもっともっと大きな機能をもっていて、当記事に先行してその機能についての各種動作テストも行っております。
実は現在デバッグ中のE−80(仮称)ミニコンのRAMにはND80ZV(ND80Z3.5)のROMの中身がすでに移植済みになっています。
ですのでパワーONしますと、その移植しましたND80Zモニタが動作して、USB接続待ちになります。
そこでは以下のプログラムが実行されます。
; 0726 41 SOUTSB:LD B,C 0727 0EFE LD C,FE 0729 3E06 LD A,06 072B D3FB OUT (FB),A 072D ED78 SOUTSB2:IN A,(C) 072F F22D07 JP P,SOUTSB2 0732 78 LD A,B 0733 D3FC OUT (FC),A 0735 3E08 LD A,08 0737 D3FE OUT (FE),A 0739 ED78 SOUTSB3:IN A,(C) 073B FA3907 JP M,SOUTSB3 073E AF XOR A 073F D3FE OUT (FE),A 0741 3E07 LD A,07 0743 D3FB OUT (FB),A 0745 C9 RET ; |