2021.8.24
前へ
次へ
ホームページトップへ戻る

トランジスタでCPUをつくろう!
トランジスタで8080をつくってしまおうというまさにびっくり仰天、狂気のプロジェクトです!
☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
見事にできましたら、もちろんTK−80モニタを乗せて、それからBASIC、CP/Mを走らせましょう!
☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆


[第389回]



●4MHzでは暴走してしまいます

前回書きましたようにCLOCK/MEM基板を改造してCPUクロックに4MHzと2MHzを追加しました。
さてうまく動いてくれるでしょうか。
まずは2MHzです。
今までの1MHzでのテストと同じテストを2MHzでやってみました。
その結果は。
見事にクリアできました。
2MHzは成功です。

しかし。
4MHzでは駄目でした。
あらぬアドレスに飛んでしまいます。
やっぱり4MHzは無理か。
まあ、でも2MHzでは動いたのだからこれでよしとするか。
一旦はそのように妥協しかかったのですが。

駄目でもともと。
なぜ4MHzだと駄目なのか、今後の改良のためにせめてそこのところだけでもはっきりさせておきたい。
ということで4MHzでは暴走してしまう原因を追求することにしました。
あれこれ試していくうちに、どうやら4MHzではJMP命令がまともに実行されないらしいということがわかってきました。
おお。
そこまでわかれば上等ではありませんか。
今までのプログラムを少し変形させて、そこのところをさらにはっきりさせるためのテストプログラムを作りました。

[第267回]のプログラムを少し変形してJMP 5とJMP 2を繰り返し実行するようにしました。
無限ループプログラムです。
1MHzと2MHzではプログラムは正しく実行され、アドレス2とアドレス5のJMP命令が高速で交互に実行されるため、アドレスLEDは7を表示し、データLEDはC7を表示しているように見えます。
ところが4MHzでは全く関係ないアドレスに飛んでしまいます。

何が原因でそうなるのか、カメレオンロジアナで確認してみました。

上から4MHz、2MHz、1MHzです。
PROBE00はMCLK
PROBE01はA0
PROBE02はPCWR_
PROBE03〜09は下の回路図に矢印と(番号)で示しました。
PROBE10はA1
PROBE11はA2
です。



ロジアナで確認したところ4MHzではPROBE5(PCWRL)の信号が出ていないことがわかりました。
2MHzと1MHzではちゃんと出力されています。
どうやらここが4MHzでは暴走してしまう原因のようです。

次回に続きます。

トランジスタでCPUをつくろう![第389回]
2021.8.24upload

前へ
次へ
ホームページトップへ戻る