Comments
Description
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 月号