標準TTLだけ(!)でCPUをつくろう!(組立てキットです!)
(ホントは74HC、CMOSなんだけど…)
[第374回]

●さっそく8080アセンブラを使っていただいています

もう何回も紹介させていただいているYT様のブログです。
FIAT500と洗車の日々・・・(http://plaza.rakuten.co.jp/flyback/)

MYCPU80といっしょにお送りしたCDROMには8080アセンブラが入っています。
YT様は、それをさっそく使って、どうやらゲームプログラムを作り始められたようです。

8080アセンブラを気に入っていただけたようで、とてもうれしいです。
急いで作りましたから、エラーメッセージは、WHAT?とHOW?しかないという、乱暴なものですし、変数も16進数4桁のみ、10進数は扱えないというしろものですけれど、そりゃあハンドアセンブルとは比較にならないくらい便利なことに間違いはありませんから、まあ、そんな感じで使い込んでいただければ幸いです。

ブログでは、プログラムの一部分をちらりと見せていただいていますが、コメントもしっかり入っていて立派なものですし、ラベルも人が見てもわかるようにしっかり書かれています。

私などは、もう面倒なものですから、ラベルなど、LOOP5だの、SUB3だのといった類の、いいかげんなものを思いつくまま適当につけていくものですから、おまけにコメントなどめったに書きませんから、自分で作ったプログラムでありながら、もう半年も経つと、本人ですら、何が書いてあるかさっぱりわからない、といういい加減なプログラムばかり書いてきましたから、いやあ、ほんと、頭が下がります。

なんでもそのうち完成したら、プログラムを発表しますよ、とのことだそうです。
期待して楽しみにお待ちしています。
がんばってください。

●ロジアナ

前回は、RZのふるまいを観測するのに、ロジアナがあるといいなぁ、と書きました。
そうしたら、思い出したのです。
たしかどこかにころがっていたはず…。

ロジアナがころがっていたりするか?ふつう。
ころがっていたのですよ、それが。

一年ほど前でしたか、たまたまネットで見つけて、そのうち何かの役に立つかも、と思い買ったものの、とりたてて使うほどの局面に出くわさなかったものですから、ついその辺にころがしたまま、忘れてしまっていました。

●カメレオンUSB+ロジアナキット

あるいはご存知の方もみえるかも知れません。
なんたって安い。安すぎる!
キットもあるのですけれど、完成品でもなんと13000円ほど。
そりゃあ、迷わず、完成品を購入しました。

その値段で、100MHz、32CHつうのですから、まあ、だまされたと思って買ってしまったのです。
パソコンとUSBで接続して使いますけれど、これがうれしいことに、ちゃんとWindows98でも動いてくれるのです。
こういうメーカーはほんとに好きです。
ただしプローブは附属していません。
ンなものは適当に作ってしまいます。

●そのロジアナで観測してみましたよ

まずはMYCPU80に適当に作ってしまったプローブで接続して観測中の写真です。

プローブつうか、ただのミニクリップなんですけれど、そんなんで十分なのです。
見ていただいてのとおり、じつにいい加減なものです。
32CHあるのですが、プローブを作るのが面倒なのでまだ12〜3本しか使っていません。

右下に見えるのが「カメレオンUSB+ロジアナ」です。
左に写っている2本のプローブはオシロスコープのものです。

●これが測定した結果です

パソコンに表示された測定画面です(なんと100MHzです)。

信号名はあとから書き入れました。
本当は画面のタテ方向が小さくて全部の信号波形を一度に見ることはできません。
これもあとから画面をつなぎ合わせてあります。

IC42のpin1とpin2の入力が離れているのに、pin3が出力されているのは、pin1入力の立ち上がりが遅い信号がロジアナではスレッショルドの関係で観測できないためです。
さすが100MHzの実力は十分のようです。
pin2、pin3、PCLregWRと、信号が遅延しているところまで、しっかりと捉えています。
これで13000円は安い!

●こちらは10MHzの波形です



100MHzでは余りに信号が伸びすぎてかえってわかりにくいものですから、今度は10MHzで観測してみました。
画面下に書き入れたのは、データバス(DB0〜DB7)に出力されているデータ(コード)です。
画面上部にはTnを書き入れました。

39というのはTK80回路のLED表示のためのDMAによって強制的にメモリから出力された、表示データです。
コードC8(RZ)の終わりに、次の命令コードの00(NOP)がほんの短期間出力され、それがPCLregWRの立ち上がりと同時に、コード3Eに変化しています(このあたりの様子はさきほどの100MHzの画像だと、もっとはっきりと見えます)。
PCLregWRによって、コード00がPCL(プログラムカウンタの下位8ビット)に書き込まれてしまったため、PCから出力されるアドレスが瞬間的に8000になってしまい、その結果アドレス8000にある命令コード3E(MVI A)がデータバスに出力されたことが見て取れます。
そのあとまたDMAがあって、FF、B7と続いています。
RZの終わりに突然アドレス8000に戻ってしまう様子がはっきりと観測されています。

ところで、このすぐれものの「カメレオンUSB+ロジアナ」なのですが、取説らしいものが附属してきません。
もちろんCDROMもありません。
無くしてしまったのかも知れないけれど、多分なにもついてこなかったような気がします。
ホームページに説明があるから、それを読め、ということのようです。
ソフトもそこからダウンロードせよ、つうことのようです。
それでも安い。と思います。

でもまあ、そういう製品ですから、もしご購入されるようでしたら、その辺は承知の上でご判断を願います。
カメレオンUSB+ロジアナの紹介ページ(http://www.itplaza.co.jp/opti/cusb/index.html)です。

●突然TK80が暴走!?

「ロジアナ」であちこち測定してしばらく遊んでいましたが、まあ、だいたい使い方もわかってきましたから、今回はこれでおしまい、ということにしてロジアナは片付けてしまいました。
さて、ちょいとまた、確認したいことがありましたので、MYCPU80(TK80回路)とパソコンをUSBで接続して、プログラムをLOADしようとしましたら。
うう?
動作がおかしい?
LOADできません。LEDの表示がおかしい。

じゃあSTOREは?
これもダメ…!

うわあ、えらいこっちゃ。こわれてしもうたぁ…!

落ち着いて。
よくよく確認してみましたら、どうやら、STOREとLOADだけがだめ。
そのほかの機能は無事のようです。
さては?

PIC16F88を外して、そいつを消去してもう一度プログラムを書き込んでから、MYCPU80に再度実装して、LOADしてみました。
今度はOKでした。
STOREもOK。

「ロジアナのプローブ」をICの端子に取り付けるときに、電源を切ってからやればよいものを、たったそれだけのことが面倒くさくて、あちこちぴしぱちショートさせながら強引にやったものですから、どうやらそのショックでPICのプログラムが飛んでしまったようなのです。
まあ、私は、そうやってもう一度PICを焼き直してOKになりましたけれど、皆様がそれをおやりになりますと、PICを返送してもらわなくてはならなくなってしまいますから、基板のあちこちをいじられる際にはくれぐれも電源をお切りになってからになさいますようお願いいたします。
2009.10.29upload

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