標準TTLだけ(!)でCPUをつくろう!(組立てキットです!)
(ホントは74HC、CMOSなんだけど…)
やっと(!)MYCPU80の改良型基板製作に着手しました!!
[第865回]
●宇宙船エンタープライズ号が発進できません…
前回「もう一度基板を作り直します」と書いたのですが、まだ基板の発注ができません。
よりによってこのタイミングで困った問題が発生してしまいました。
いえ、むしろまだ基板発注前のぎりぎりのタイミングでよかった、と言うべきかもしれません。
とにかく週初からずっとこの問題で悩んでいます。
ここへきてなんとかやっとひとつの解決策がみつかりました。
でもまだ満足ではありません。
何が起きたのかと言いますと。
やっと基板アートワークの修正作業も終って、いよいよ最終基板の発注を、という段階になって、念のためにもう一度最後の動作テストをしておこうと思ったのがそもそもの始まりでした。
ND80Z3/MC80とMYCPU80Bを接続して、WindowsパソコンとUSB接続して、N8ZB3DOSを起動するところまでは順調でした。
そしてMBASICも起動できました。
ところが。
STARTREKのLOADが途中でこけてしまいます。
いや、そんなはずは…。
MBASICもSTARTREKもちゃんと前に動作を確認したはずでした(ううう。確認を怠っていたか???)。
大体ZB3DOSもMBASICももうずいぶん以前から出荷の度にテストしていますし、ND80Z3.5用だけではなくてND8080用も随分テストを重ねています。
MYCPU80用は今まではUSB/232C変換を使っていますから、今回のPICによるUSB接続はMYCPU80用としてははじめてなのですが、それはND8080用としてすでに実証済みです。
一体全体何が起きたのだ?
こうなりますともう疑心暗鬼です。
ちょいとパニクっています。
だんだんと冷静さを欠いてきて、ありとあらゆる妄想が脳裏を渦巻きます。
ひょっとするとMBASICがバグっているのではないか?
ND80Z3/MC80回路に問題があるのでは?
ひょっとしたらMYCPU80Bの回路に問題があるのでは?
それでおよそ3日間をかけてそのような疑問をひとつずつつぶしていきました。
その過程で確認できたことは。
ND80Z3/MC80にZ80CPUを搭載して、それでN8ZB3DOSを起動して、MBASICを起動して、さらにSTARTREKをロードし、RUNして正常に動作することを確認しました。
Z80CPUですから本来はZB3DOSを起動すべきところですが、Z80は8080上位互換ですからND8080用のN8ZB3DOSも起動できます。
今回は疑問点をつぶすのが目的ですから、あえてN8ZB3DOSを起動してテストしました。
このテストによってND80Z3/MC80ボードには何の問題もないことが確認できました(実はそうではなかったことが後になってからわかります)。
次にMYCPU80Bのほうですが、こちらは新独立化セットに単独で接続して、独立化セット用のN8ZB3DOSをSDカードから起動して、MBASICを起動して、STARTREKをロードし、RUNして正しく実行できることを確認しました。
ということはMYCPU80B基板も正常だということになります。
ところが。
正常なはずのND80Z3/MC80とMYCPU80Bを接続してWindowsパソコンにUSB接続してN8ZB3DOSを起動し、MBASICを起動するところまでは正常なのですが、そのあとSTARTREKをロードしようとするとどういうわけか途中で暴走してしまったり、勝手に終了してしまったりします。
ここで使っているソフトはND8080用のN8ZB3DOSですからND8080では正常動作を実証済みです。
CPUクロックはどちらも同じ2MHzです。
MYCPU80は厳密にいうと8080とは命令の実行クロック数に違いがありますが、基本的には概ね同じと考えてよいはずです。
ND8080では動作OKでそれがMYCPU80ではだめということになると、その違いは巨大基板回路ゆえの物理的な何かが影響している、のではないかと考えました。
しかし。
N8ZB3DOSそのものも、それからMBASICも、ともにUSB経由でRAMにロードしています。
それらは正常にロードできるのに、なぜSTARTREKのロードでは異常が発生するのか?
そこが謎でした。
途中ですが本日も時間がありません。
次回に続きます。
TTLでCPUをつくろう![第865回]
2018.3.17upload
前へ
次へ
ホームページトップへ戻る