いまさらながらZ80CPUと周辺チップを入手したので、しばらくこれらで遊んでいます。
タイニーBASICを動かしてみたくていろいろ試していましたが、なかなかうまくインタプリタを動作させることができなかったので、いったんここはシンプルなI/Oポートを実装してみて、その仕組みと動作を確かめてみることにしました。
参考にしているのは
です。基本のロジックについての説明から、データシートの読み方、Z80の動かし方まで一通り書いてあり、大変わかりやすいです。
今日ブレッドボードに組み上げた回路はこちらです。
DIPスイッチを入力ポート(02h)に、LEDを2つの出力ポート(00h, 01h)に接続してあります。
プログラムは
という感じにしてみました。機械語はまだよくわかりません(汗
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
; SIMPLE I/O TEST | |
; TARGET : Z80 BREADBOARD COMPUTER | |
; ASSEMBLER : ZASM | |
IO00: EQU 0 | |
IO01: EQU 1 | |
IO02: EQU 2 | |
ORG 0H0000 | |
LOOP: LD A,0 | |
SW1: IN A,IO02 | |
CP 1 | |
JP Z,SW12 | |
LD A,00H | |
JP SW13 | |
SW12: LD A,80H | |
SW13: OUT IO00,A | |
SW2: IN A,IO02 | |
CP 2 | |
JP Z,SW22 | |
LD A,00H | |
JP SW23 | |
SW22: LD A,80H | |
SW23: OUT IO01,A | |
JP LOOP | |
END |
という感じにしてみました。機械語はまだよくわかりません(汗
ROMを焼いて走らせてみたらDIPスイッチの操作でLEDがそれぞれ点いたり消えたりしたので成功したようです。あまりにも地味なので、誰にも自慢できません。
今回出力ポートを実装するのに使ったのはハリスのCD74HCT574です。前に間違えて100個買い付けてしまったのでいくらでも使えます。
0 件のコメント:
コメントを投稿