...

Z80丸見えコンピュータ学習

by user

on
Category: Documents
39

views

Report

Comments

Transcript

Z80丸見えコンピュータ学習
ご購入はこちら
Z80 40 周年特別企画 昔のチップだったらビギナにも分かりやすい
こち
亀
同い と
年!
伝説名機のラスト・サムライ
Z80 丸見えコンピュータ学習
第 2 回 Z80 周辺回路エミュレータの Arduino プログラム
表 1 ユーザが PC から入力できるコマンド
動作の指示とバス状態の確認
指示> 1サイクル実行
実行結果:
アドレス・バス=01C4
データ・バス=3A
M1=H,MREQ=L,
RD=L,WR=H
指示>
バスの状態を
直接観測し波形表示
信号A
信号B
信号C
Z80
CPU
ロジアナ
(オプション)
信号を観測
Arduino
Uno
コマンド
動 作
h
Z80 のクロックを 1 回(“H”→“L”または“L”→“H”)
変化させる
c
Z80 のクロックが新たに“H”になるまでクロックを
変化させる
s
Z80 の M1 信号が新たに ON(“L”
)になるまでクロッ
クを変化させる
PC
動作を指示
動作の様子を
出力
図 1 システム構成
PC から動作を指示し,バスの状態を確認する.Z80 はボード上にバスの
配線があるので,ロジック・アナライザを使うとさらに詳細に状態を確
認できる
g
何かキーが押されるまで Z80 のクロックを変化させる
m
メモリ領域をダンプする
o
PC への出力を ON/OFF する
R
Z80 をリセットする
?
このヘルプを表示する
i
INT 信号を変化させる
n
NMI 信号を変化させる
w
WAIT 信号を変化させる
b
BUSRQ 信号を変化させる
p
I/O 領域をダンプする
l
インテル HEX ファイルをメモリ領域にロード
する
x
インテルHEXファイルをI/O領域にロードする
loop
setup
ピン設定
reset
cmd←idle
M1←false
コマンド入力
h:cmd←half
c:cmd←cycle1
s:cmd←step1
(if M1)
s:cmd←step2
(else)
g:cmd←go
idle
cmd
半サイクル実行
return
拡張コマンド
Z80の動作に
必要な情報を
やりとり
USB
永原 柊
return
(a)初期化
cmd
half
cmd←idle
step1
cycle1
CLK=L
yes
no
no
cmd←step2
cycleコマンド
go
M1
yes
no
cmd←idle
halfコマンド
M1
step2
yes
cmd←idle
stepコマンド
no
input
yes
cmd←idle
goコマンド
return
(b)コマンド入力と実行の制御
図 2 Z80 CPU を制御する Arduino のプログラムの流れ 140
第 1 回 Z80 マイコン学習ボードの製作(2016 年 11 月号)
2016 年 12 月号
Fly UP