アドレス | Read/Write | 内容 |
$70-$7f | R/W |
uPD71071
Ch.0 : SASI HDD
Ch.1 : MB8876
Ch.2 : DRAMリフレッシュ?
Ch.3 : 拡張スロット DRQ3
|
$80-$81 | R/W |
8259 (MASTER / MN12861)
IR0 : 8253 OUT0
IR1 : VBLANK
IR2 : Z80SIO
IR3 : uPD71071G TC
IR4 : SASI HDD
IR5 : MB8876
IR6 : 9253 OUT1
IR7 : 8259 SLAVE
|
$82-$83 | R/W |
8259 (SLAVE)
IR0 : 8253 OUT2
IR1 : プリンタ BUSY
IR2 : RP-5C15
IR3 : 拡張スロット IR11
IR4 : 拡張スロット IR12
IR5 : 拡張スロット IR13
IR6 : 拡張スロット IR14
IR7 : YM2203
|
$8c | R/W |
メモリウィンドウレジスタ
$080000-$0bffffにアクセスする際に、bit0-bit5がA18-A23に出力される
ただし、DMAのメモリアクセスには影響しない
|
$8d | R/W |
VRAMバンク設定 ($0c0000-$0dffff)
0 : リードモディファイライト?
4 : バンクB
5 : バンクR
6 : バンクG
7 : バンクI
|
$8e | R |
ディップスイッチ
bit0 : 1=400ライン, 0=200ライン
bit1 : 1=スーパーインポーズ無効, 0=有効
bit2 : 1 (常時OFFに設定)
bit3 : 1 (常時OFFに設定)
bit4 : 1=外付けFDDは2HD/2DD, 0=2DD
bit5 : 1 (常時OFFに設定)
bit6-bit7 : RS-232Cの送受信クロック
工場出荷時の設定では$ffが返る
|
$8f | R/W |
システムポート
bit4 : SHUT0
bit5 : SHUT1
ハードウェアリセットが掛ったか、プロテクトモードからの復帰なのかを判別するためのポート?
起動時にSHUT0=1, SHUT1=1の場合、SP=0000:021Ch, SS=0000:021Ehとして、0000:0218hにfar jumpする
|
$a0-$a3 | R/W |
Z80SIO
|
$**ae | R/W |
4096色パレットボード色指定
A8-A12でバンクを指定する ($00-$1f)
|
$af | R/W |
SASI I/F コマンド&ステータスレジスタ
データレジスタはDMAでのみアクセスする?
|
$be | R |
Z80SIOの割込み応答サイクル
CPUがZ80でないため、I/Oアクセスで割り込み応答とベクタ取得を行う
(割込みからの復帰についてはZ80SIOの内部コマンドで行う)
|
$c8-$c9 | R/W |
YM2203
No.14は出力ポートとして設定される
IOA0 : RS-232C READYA
IOA1 : 外部ディスク選択
IOA2 : 4096色パレット選択
No.15は入力ポートとして設定される
IOB0 : RS-232C CDA
IOB1 : RS-232C CIA
IOB3 : RP-5C15
IOB6 : CRTスイッチ
IOB7 : GND
|
$ca | R/W |
ボイスコミュニケーションI/F?
リードすると$7fが返る
|
$*cc | R/W |
RP-5C15
バンクはA8-A11で選択する
|
$ce | R/W |
辞書ROMバンク設定
bit3-bit4 : 辞書ROMバンク
|
$d8-$db | R/W |
MB8876
バスバッファに74LS640を使用しており、データバスが反転するため、実質的にはMB8877相当となる
|
$dc | W |
ディスクドライブの選択信号とモータ制御
bit0-bit1 : ドライブ番号
bit2 : ドライブの選択無効
bit7 : モータ制御
2HD/2DDドライブの場合は常にモータオンとなる
|
$dd | W |
ディスクのサイド(面)選択
bit0 : ディスクのサイド(面)
|
$de | W |
ディスクの記録方式の選択?
bit0 : 1=FM, 0=MFM
|
$df | W |
ディスクの記録方式の選択?
bit0 : 1=2HD, 0=2DD
|
$e0-$e3 | R/W |
8255 (MN12861)
ポートA (出力)
PA4 : モノクロディスプレイの表示反転?
ポートB (入力)
PB0 : BLANK
PB1 : VBLANK
PB2 : +5V
PB3 : +5V
PB4 : +5V
PB5 : +5V
PB6 : +5V
PB7 : EAh(キーボード入力)のbit7
ポートC (出力)
PC0 : 画面表示禁止
PC1 : CPUリセット?
PC2 : ダイレクトサウンド出力
PC3 : パワーオンリセット
PC7 : WTRP → システムコントローラ NFTD
PC7:WTRPは、データバスの状態を監視する回路で、D0,D8をマスクするのに使用している
Z80のモード2割り込み終了時に、RETI命令を認識するのに関係がある?
|
$e4-$e7 | R/W |
8253 (MN12861)
カウンタ1
CLK0 ← 31.25KHz
GATE0 ← PITG ($f0-$f3?)
OUT0 → 8253(MASTER) IR0, CLK1
カウンタ2
CLK1 ← OUT1
GATE1 ← PITG ($f0-$f3?)
OUT1 → 8253(MASTER) IR6
カウンタ3
CLK2 ← 31.25KHz
GATE2 ← +5V
OUT2 → 8253(SLAVE) IR0
CLK2は、MZ-2500モードとMZ-2800モードで入力が異なる
|
$e8-$eb | R/W |
Z80PIO
ポートA (出力)
A0 : キーボードのカラム選択
A1 : キーボードのカラム選択
A2 : キーボードのカラム選択
A3 : キーボードのカラム選択
A4 : キーストローブ信号
A5 : 80桁/40桁
A6 : HCLG
A7 : DISP
ポートB (入力)
B0-B7 : キースキャン
A6:HCLG, A7:DISPは、MZ-80B/2000モードのメモリマップに使用する
MZ-2800ではMZ-80B/2000モードはないが、メモリコントローラへの接続は残っている
|
$ef | R/W |
ジョイスティック状態取得&制御?
|
$133 | R/W |
|
$170 | W |
テキスト画面コントローラのレジスタ選択?
MZ-2500の$f4相当
|
$172 | W |
テキスト画面コントローラのレジスタ出力?
MZ-2500の$f5相当
|
$174 | W |
グラフィックマスク制御?
MZ-2500の$f6相当
|
$176 | W |
縦12行モードの制御?
MZ-2500の$f7相当
|
$178, $179 | W |
グラフィックコントローラのレジスタ#1選択
bit0-bit4 : レジスタ番号
bit7 : 1=オートインクリメント有効, 0=無効
$178は$17aの、$179は$17bのレジスタ番号を指定する
|
$17a, $17b | W |
グラフィックコントローラのレジスタ#1出力
#00 : プレーン0用タイリングペイントパターン
#01 : プレーン1用タイリングペイントパターン
#02 : プレーン2用タイリングペイントパターン
#03 : プレーン3用タイリングペイントパターン
#04 : 描画したい色のパレット番号
#05 : アクセスするプレーンとモード
#06 : ビットマスクデータ
#07 : リードモディファイの修飾情報
#08,#09 : ハードウェアビューポート縦方向終了位置?
#0a,#0b : ハードウェアビューポート縦方向開始位置?
#0e : 画面モード?
MZ-2500の$bd相当のうち、リードモディファイライト関係のみ
$17aはVRAMの偶数アドレス、$17bは奇数アドレスに対して機能する
#08-#0eは起動時に初期化しているが、機能していない?
|
$1fe | R/W |
プリンタステータス入力、制御信号出力
|
$1ff | W |
プリンタデータ出力
|
$270 | W |
グラフィックコントローラのレジスタ#2選択
bit0-bit4 : レジスタ番号
bit7 : 1=オートインクリメント有効, 0=無効
|
$272 | W |
グラフィックコントローラのレジスタ#2出力
#00,#01 : ハードウェアビューポート縦方向開始位置
#02,#03 : ハードウェアビューポート縦方向終了位置
#04 : ハードウェアビューポート横方向開始位置
#05 : ハードウェアビューポート横方向終了位置
#06 : 画面モード
$13=640x400x16
$17=640x200x16
$1b=640x400x65536
$1f=640x200x65536
#07 : 横スクロール量
#08,#09 : スクロールエリアの開始VRAMアドレス
#0a,#0b : 固定エリアの開始VRAMアドレス?
#0c,#0d : スクロールエリアの縦のラスタ数
#10 : 表示するプレーン
MZ-2500の$bd相当のうち、ビューポートおよびスクロール関係のみ
#08-#0bの値は2倍して使用する
|
$274 | R/W |
PCG/漢字ROMバンク設定 ($0f0000-$0f0fff)
bit0-bit6 : 漢字ROMバンク
bit7 : 0=PCG, 1=漢字ROM
|