MZ の I/O ポートを活用しよう

書きかけです

MZ-2000/2200の I/O ポートアドレスは以下のようになっています。
■FDD (オプションのMZ-8BFI、MZ-1E05などが必要)
D8h 216 入力 FDCステータスレジスタ
D8h 216 出力 FDCコマンドレジスタ
D9h 217 入出力 FDCトラックレジスタ
DAh 218 入出力 FDCセクタレジスタ
DBh 219 入出力 FDCデータレジスタ
DCh 220 入力 未使用
DCh 220 出力 ディスクドライブの選択とモーター制御
DDh 221 入力 未使用
DDh 221 出力 ディスクのサイド(面)選択
■8255
E0h 224 入力 未使用
E0h 224 出力 セットデッキ制御など
bit7 プログラムの頭出し(APSS)の準備
bit6 巻き戻し終了時の自動再生
bit5 再生、録音時の自動巻き戻し
bit4 画面のB/Wを反転させる
bit3 カセットの動作停止
bit2 カセットの再生(PLAY)
bit1 カセットの早送り(FF)
bit0 カセットの巻き戻し(REW)
E1h 225 入力 カセットデッキのセンサの入力など
bit7 カセット動作中にBreakを押したか 0:押した, 1:押してない
bit6 カセットからの読み出しデータ
bit5 0: カセットにテープが入っている, 1:入っていない
bit4 0: カセットのツメが折れていない, 1:カセットが入っていないかツメが折れている
bit3 0: カセットが動作中, 1:動作していない
bit2 未使用
bit1 未使用
bit0 0: 垂直ブランキング期間中, 1:垂直ブランキング期間中ではない
E1h 225 出力 カセットデッキアナログ部制御
bit7 カセットの入力切替 0:ライン, 1:マイク
bit6 アナログアンプ 0: 録音状態, 1: 再生状態
bit5 未使用
bit4 未使用
bit3 未使用
bit2 未使用
bit1 未使用
bit0 未使用
E2h 226 入力 未使用
E2h 226 出力 カセットデッキ、システム制御
bit7 カセットへの書き込みデータ
bit6 デジタルアンプ REC待機
bit5 0: FF, REW, STOPなどの各ボタン入力可, 1: ボタン入力禁止
bit4 カセットデッキEJECT
bit3 IPLスタート
bit2 サウンド出力
bit1 RESET (0000hからスタート)
bit0 0固定 (SuperMZ活用研究では画面表示する(0)しない(1)になっている)
E3h 227 出力 8255モードコントロール
bit7 0固定
bit6 未使用
bit5 未使用
bit4 未使用
bit3 ビットセレクト(E2hに書き込むビット位置指定 0~7)
bit2 ビットセレクト↑
bit1 ビットセレクト↑
bit0 書き込む値
■8253
E4h 228 入力 モード2 (16ビット・レートジェネレータ)
E4h 228 出力 C0
E5h 229 入力 モード2 (16ビット・レートジェネレータ)
E5h 229 出力 C1
E6h 230 入力 モード2 (16ビット・レートジェネレータ)
E6h 230 出力 C2
E7h 231 出力 モードコントロール
bit7 SC1 カウンタ選択、コマンド選択 (00: カウンタ0, 01: カウンタ1, 10: カウンタ2)
bit6 SC0 ↑
bit5 RW1 カウンタリードライトモード (11: 下位,上位の順に読み書き, 00 カウンタラッチ)
bit4 RW0 ↑
bit3 M2 カウンタモード (000: モード0, 010: モード2, 011: モード3)
bit2 M1 ↑
bit1 M0 ↑
bit0 BCD (0: バイナリ, 1: BCDカウント選択)
■Z80A-PIO
E8h 232 入力 未使用
E8h 232 出力 画面設定、キーボードスキャン設定
bit7 テキストRAM、GRAMアドレスをマッピングする
bit6 ↑ 00: 通常, 01: 通常, 10: C000h~FFFFhにGRAMをマッピング, 11: D000h~DFFFhにテキストRAMをマッピング
bit5 1: テキスト画面80桁モード, 0:40桁モード
bit4 0: bit0~3を無効にする 1: bit0~3を有効にする
bit3 キーボードスキャン用ストローブ信号
bit2 ↑
bit1 ↑
bit0 ↑
E9h 233 入力 モードコントロール
E9h 233 出力 モードコントロール
EAh 234 入力 bit7~0 キーボードスキャンデータ入力(負理論)
EBh 235 入力 モードコントロール
EBh 235 出力 モードコントロール
■その他
F4h 244 入力 未使用
F4h 244 出力 カラーCRT画面のバックグラウンド色調選択
bit7 未使用
bit6 未使用
bit5 未使用
bit4 未使用
bit3 未使用
bit2 バックグラウンドのカラーコード
bit1 ↑ 000: 黒, 001: 青, 010: 赤, 011: 紫, 100:緑, 101:水色, 110: 黄, 111:白
bit0 ↑
F5h 245 入力 未使用
F5h 245 出力 キャラクタの色とグラフィックのプライオリティ
bit7 未使用
bit6 未使用
bit5 未使用
bit4 未使用
bit3 プライオリティ 0:文字優先, 1:グラフィック優先
bit2 キャラクタのカラーコード
bit1 ↑ 000: 黒, 001: 青, 010: 赤, 011: 紫, 100:緑, 101:水色, 110: 黄, 111:白
bit0 ↑
F6h 246 入力 未使用
F6h 246 出力 白黒画面への重ね合わせ表示およびRGBのディスプレイ各色成分表示選択
bit7 未使用
bit6 未使用
bit5 未使用
bit4 未使用
bit3 0:モノクロディスプレイに出力する, 1:しない
bit2 0: 緑成分をカラーディスプレイに表示しない, 1:表示する
bit1 0: 赤成分をカラーディスプレイに表示しない, 1:表示する
bit0 0: 青成分をカラーディスプレイに表示しない, 1:表示する
F7h 247 入力 未使用
F7h 247 出力 グラフイックエリアの切リ替え
bit7 未使用
bit6 未使用
bit5 未使用
bit4 未使用
bit3 未使用
bit2 未使用
bit1 グラフイックエリア選択
bit0 ↑ 00:アクセスしない, 01:青, 10:赤, 11:緑

戻る