2019年5月5日日曜日

Z8001に火を入れる

ATmega328Pを使って、Z8001のバスをリセット後に奪えるのか確認してみます。
懲りずにブレッドボード上に回路を組んでみました。

CLOCK, *RESET, *BUSREQは328Pにつなぎ、割り込み、トラップなどはプルアップ、AD0-15はプルダウンして、常に0x0000を読み込むようにしてあります。

CLOCKは328PのPWMを使って作っています。データシートによると、Z8001の最低動作クロック周波数は500kHzのようですが、動作を確認しやすいようにもっと下げて20kHzにしてあります。

まずは、クロックを供給しながら、*RESETを L->H だけしてみました。これで、CPUにリセットがかかり、ADDB RH0, #0 がひたすら実行しているはずです。行儀のいい暴走といったところでしょうか。
オシロで、*AS と *DS を見てみます。


CH1(黄色)が*AS、CH2(青色)が*DSです。短めの*ASに続いて*DSが長めにLowになる動作を繰り返しているので、正常に動作しているようです。

次は、*BUSREQを確認してみます。

0 件のコメント:

コメントを投稿