VRAM

アドレスR/W説明
D000h

D3FFh
R/W テキストVRAM
Bit76543210
機能ディスプレイコード

表示するキャラクタのディスプレイコードを指定する
D400h

D7FFh
R/W PCG VRAM 1 (MZ-1500)
Bit76543210
機能PCGN[7:0]

PCG VRAM 2 と合わせてPCG番号を指定する
D800h

DBFFh
R/W アトリビュートVRAM
Bit76543210
機能ATBFC
BC

ATBキャラクタセット切り替え0: セット0(英大文字・カタカナ)
1: セット1(英小文字・ひらがな)
FC文字色
FC,BCFC,BC
000 100
001 101シアン
010 110黄色
011マゼンタ111
BC背景色
DC00h

DFFFh
R/W PCG VRAM 2 (MZ-1500)
Bit76543210
機能PCGN[9:8]
PCGE

PCGNPCG番号0〜1023
PCGEPCG表示制御0: この位置のPCGを表示しない
1: この位置のPCGを表示する

PCG VRAM 1 と合わせてPCG番号を指定する

ディスプレイコード表

キャラクタセット0 (ATB=0)
キャラクタセット1 (ATB=1)


メモリマップドI/O

アドレスR/W説明
E000hW 8255 ポートA
Bit76543210
R/WW
W
信号556RST
KEYSTROBE

556RSTカーソル点滅用タイマーのリセット0: リセット
1: 何もしない
KEYSTROBEキーボードマトリクスのストローブ出力
E001hR8255 ポートB
キーボードマトリクスのデータ入力
\Strobe
Data\
0123456789
D7カナ YQIA1* INSTBREAKF1
D6GRAPHZRJB2+ DEL CTRL F2
D5= @SKC3- F3
D4英数 (TLD4SP F4
D3 )UME50 F5
D2; VNF69
D1: WOG7, ?
D0CR XPH8. / SHIFT
E002hR/W 8255 ポートC
Bit76543210
R/WRRRRWWWW
信号VBLK556OUTRDATAMOTORM-ONINTMSKWDATASOUNDMSK

VBLK垂直ブランキング信号
556OUTカーソル点滅用タイマー
RDATAデータレコーダからの入力
MOTORデータレコーダのモータの状態0: OFF
1: ON
M-ONデータレコーダのモータON/OFF0→1の立ち上がりエッジでトリガ動作
INTMSK8253 Ch.2からの割り込みをマスクする0: 割り込み禁止
1: 割り込み許可
WDATAデータレコーダへの出力
SOUNDMSK
(MZ-1500)
8253 Ch.0のサウンド出力をマスクする0: マスクする
1: マスクしない
E003hW 8255 コントロール
  • ビットセット/リセット
    Bit76543210
    信号0
    ポートCの
    ビット番号
    0: リセット
    1: セット

  • モードセット
    ※MZ-700/1500では8Ahに設定する
    Bit76543210
    信号1ModeAPortAPortCHModeBPortBPortCL

    ModeAPort A 動作モード1x: モード2
    01: モード1
    00: モード0
    ModeBPort B 動作モード1: モード1
    0: モード0
    PortAPort A 入出力0: 出力
    1: 入力
    PortBPort B 入出力0: 出力
    1: 入力
    PortCHPort C 上位ニブル 入出力0: 出力
    1: 入力
    PortCLPort C 下位ニブル 入出力0: 出力
    1: 入力
E004hR/W8253 Ch.0 カウンタリード/ライト
E005hR/W8253 Ch.1 カウンタリード/ライト
E006hR/W8253 Ch.2 カウンタリード/ライト
E007hW8253 コントロール
Bit76543210
信号SC1SC0RL1RL0M2M1M0BCD

SC1, SC0カウンタ選択00: Ch.0
01: Ch.1
10: Ch.2
11: Invalid
RL1, RL0Read/Load00: カウンタ・ラッチ・オペレーション
01: カウンタの下位バイトをアクセス
10: カウンタの上位バイトをアクセス
11: カウンタの下位バイト→上位バイトの順に連続してアクセス
M2,M1,M0モード選択000: Mode 0 (Interrupt on Terminal Count)
001: Mode 1 (Programmable One-Shot)
x10: Mode 2 (Rate Generator)
x11: Mode 3 (Square Wave Generator)
100: Mode 4 (Software Triggered Strobe)
101: Mode 5 (Hardware Triggered Strobe)
BCDカウントモード0: 16ビットバイナリ
1: 4桁BCD
E008hR
Bit76543210
信号HBLK
JB2JB1JA2JA1TEMPO

HBLK水平ブランキング信号
JA2,JA1Joystick A 入力
JB2,JB1Joystick B 入力
TEMPOテンポタイマー入力
W
Bit76543210
信号
GATE
GATE 8253 Ch.0のGATE入力へ

メモリマップ

PCGバンクはMZ-1500のみ。
拡張ROM領域はMZ-700では未定義(空き領域。MZ-1R12, MZ-1E05, MZ-1E14などのボード上のROMが使用)、MZ-1500では第2モニタROM 9Z-502Mが置かれている。
メモリマップドI/O領域は実際は E000h-E00Fh だけが予約されており、E000h-E00Bh が使用されている。E00Ch-E00Fh は未定義。E010h-E7FFh はMZ-700では未定義だが、MZ-1500ではROMに書かれたFFhが読める。
PCGバンクの F000h-FFFFh は未定義。PCGバンクをCGROMに切り替えた場合、実際のCGROMの内容は D000h-DFFFh の範囲で、E000h-EFFFh の範囲はそのミラーイメージとなる。


メモリバンク切り替え

アドレスR/W説明
0000h-0FFFhD000h-FFFFh
E0hWDRAM---
E1h---DRAM
E2hMONITOR ROM---
E3h---VRAM/KEY/TIMER
E4hMONITOR ROMVRAM/KEY/TIMER
E5h---MZ-1500: PCGバンク切り替え
Bit76543210
信号
BANK

BANK説明
00CGROM
01PCG 青プレーン
10PCG 赤プレーン
11PCG 緑プレーン
E6h---MZ-1500: PCGバンクを閉じる
※E1h, E3h はPCGバンクを閉じないが、DRAMバンクとVRAM/KEY/TIMERバンクの切り替えは裏で行われており、E6hでPCGバンクを閉じたときには反映されている。例えば、D000h-FFFFhがDRAMバンクの状態でE5h→E3h→E6hとOUTすると、VRAM/KEY/TIMERバンクの状態になる。
E4hはPCGバンクを閉じる。

プリンタインタフェース

MZ-700
アドレスR/W説明
FEhR/W プリンタ制御
Bit76543210
R/WWW

RRRR
信号RDPIRT

0SNSSTARDA
※SNSは「プリンタ切替SWが内蔵側」かつ「プロッタプリンタが接続されていない」とき 1
FFhW プリンタ データ出力
Bit76543210
信号Data

MZ-1500
アドレスR/W説明
FChWZ80PIO ポートAコントロール
FDhWZ80PIO ポートBコントロール
FEhR/W プリンタ制御・タイマ割り込み (Z80PIO ポートAデータ)
Bit76543210
R/WWWRRRRRR
信号RDPIRTINT1INT000STARDA

INT08253 OUT0出力
INT18253 OUT2出力
RDP, IRT は DIP SWで反転可
FFhW プリンタ データ出力 (Z80PIO ポートBデータ)
Bit76543210
信号Data


テキスト/PCG プライオリティ

アドレスR/W説明
F0hW プライオリティ
Bit76543210
信号
優先順位PCG表示

優先順位0 : テキスト文字色>PCG>テキスト背景色
1 : PCG>テキスト
PCG表示0 : PCGを表示しない
1 : PCGを表示する

パレット

アドレスR/W説明
F1hW パレット設定
Bit76543210
信号
パレット番号
カラーコード

PSG SN76489AN

アドレスR/W説明
F2h(L-Ch.)
F3h(R-Ch.)
E9h(同時)
W 第1バイト
Bit76543210
信号1R2R1R0D3D2D1D0

R2R1R0コントロールレジスタの割り当て
000トーン0 周波数
001トーン0 音量
010トーン1 周波数
011トーン1 音量
100トーン2 周波数
101トーン2 音量
110ノイズコントロール
111ノイズ音量
  • 周波数(分周比)
    第1バイト
    Bit76543210
    信号1R2R1R0分周比n(下位4ビット)
    第2バイト
    Bit76543210
    信号0
    分周比n(上位6ビット)
    周波数 f(Hz) = 3.579545×106 / (32×n)

  • 音量
    Bit76543210
    信号1R2R1R0減衰量

    D3D2D1D0減衰量(dB)減衰量比(参考)
    000001.000000
    000120.794328
    001040.630957
    001160.501187
    010080.398107
    0101100.316228
    0110120.251189
    0111140.199526
    1000160.158489
    1001180.125893
    1010200.100000
    1011220.079433
    1100240.063096
    1101260.050119
    1110280.039811
    1111OFF0.000000


  • ノイズコントロール
    Bit76543210
    信号1110
    Type周波数

    Type0 : 同期ノイズ
    1 : ホワイトノイズ
    周波数00 : 3.579545×103/512 (kHz)
    01 : 3.579545×103/1024 (kHz)
    10 : 3.579545×103/2048 (kHz)
    11 : トーンジェネレータ2出力

MZ-1R18 RAMファイル(64K)

アドレスR/W説明
EAhRデータ読み出し・アドレスカウンタ+1
Wデータ書き込み・アドレスカウンタ+1
EBhWアドレスカウンタの書き込み
上位バイト={A15-A8}, 下位バイト={D7-D0}

MZ-1M08 ボイスボード

アドレスR/W説明
E8hWボイスボードへの送信
Bit76543210
信号ACL/N1BUSYDATA

ACLリセットビット0 : 通常オペレーション
1 : ボイスボードをリセット
/N1ROM指定0 : 内部ROM
1 : 外部ROM
BUSYハンドシェイクビット
DATA送信データ
Rボイスボードからのアクノリッジ
Bit76543210
信号
ACK

データの送り方

以下の手順でボイス番号のBit7からBit0までをシリアル転送する。転送中に/N1を変化させてはならない
リセット(ACL=1)の期間は10ms以上確保する。
  1. ACK==0 を確認し、BUSY=1にしてDATAを送る
  2. ACK==1 を確認し、BUSY=0にする
※Bit0を送った後、ACK==0となるのは発音終了後。ACK==0となってからBUSY=0にする

内部ROM

下位\上位0123
0Oh Ten Zero チャイム1
1One Eleven Time is up チャイム2
2Two Twelve to チャイム3
3Three Thirteen it's チャイム4
4Four Fourteen it's now 休 256ms
5Five Fifteen go to 休 16ms
6Six Sixteen ぷ〜ん 休 192ms
7Seven Seventeenピッ
8Eight Eighteen ピッ ピッ
9Nine Nineteen プッ
AHours A.M. プーン
BHour P.M. ぴっ
CMinutesTwenty ピッ ピッ ピッ ピッ
DMinute Thirty Alarm
E休 8ms Forty Alarm set for
F休 8ms Fifty (メロディ)

外部ROM

\上位
下位\
0123456789ABCDEF
0ゼロ
0分経過に使用
ハッSP
128ms
0
ゼロ
キュPよくでき
ました
たすDディ〜経過ビャピャ
1分 フンジュウ
(A)

8ms
1
イチ
AQ笑い声ひく〜億ニャビュピュ
2分 プンジュウ
(C)

16ms
2
BRゲーム
スタート
イテテッキャニュビョピョ
3休止 大
200ms
ジュッ
(テン)

32ms
3
CSゲーム
オーバー
イテッ!キュニョリャ
4休止 中
80ms
〜ジュッ
(テン)

48ms
4
DTアウト自動車
(全)
キョ午前リュ
5休止 小
40ms
ジュウ
64ms
5
EUGO自動車
(発進)

(時計"時"用)
午後リョ
6プッ〜ジュウ
(A)

160ms
6
ロク
FV命中自動車
(走行)
ロッ
(時計用)
ヒャ
7プ〜ン〜ジュウ
(B)

256ms
7
GWお好きな
キーを
押して
ください
自動車
(エンディング)
シャヒュギャ
8ピッヒャク
320ms
8
ハチ
HXYかNの
キーを
押して
ください
メロディ
葬送行進曲
シュヒョギュ
9
(時計"分"用)
〜ヒャク
(A)
〜です9
ュウ
IY最高得点メロディ
デキシーランド
ショヨ(時)ギョ
A
(時計用)
〜ヒャク
(B)
かけるJZボーナス点メロディ
蛍の光
シェワ(時)ティ
B
(50分用)
〜ピャクプラスKゴーあなたの
番です
メロディ
おおスザンナ
ニーミャファ
C〜ジュッ
(時計用)
〜ビャクELまちがい
です
私の
勝ちです
メロディ
故郷の人々
チャミュジャSLOW
D[CR]〜センマイナスイコールM正解です文法上の
誤りです
メロディ
村の鍛冶屋
チュミョジュ
Eイッ〜ゼンテンNOK私は
MZです
休止
480ms
チョ〜時間
2,4,5,9に使用
ジョ休止
1120ms
MIDD
Fロッ〜マン割るOもう一回
チャレンジ
しますか
休止
340ms
チェ〜時間
1,3,6,7,8に使用
ジェ休止
290ms
FAST

※0xFC, 0xFE, 0xFF は再生速度の変更のためのコントロールコードで、リセットするまで有効


MZ-1R23 漢字ROMボード / MZ-1R24 辞書ROMボード

アドレス R/W説明
B8hW 制御ポート
Bit76543210
信号KANJIENDIAN
BANK

KANJI漢字ROM/辞書ROM選択0: 辞書ROM
1: 漢字ROM
ENDIAN読み出すパターンのビット並び0: Bit7が左側・Bit0が右側
1: Bit0が左側・Bit7が右側
BANK辞書ROMのバンク選択00〜11
B9h W漢字パターン番号 / 辞書ROMアドレス
上位バイト={A15-A8}, 下位バイト={D7-D0}
R データ読み出し(オートインクリメント)
パターンは左上→左下、右上→右下の順に読み出される(右図)
漢字パターン番号 = (JisH - 0x21 - ((JisH >= 0x30) ? 0x08 : 0x00)) * 94 + (JisL - 0x21)

一部が標準JISコードと異なる。2821〜2F7Eに相当するパターンは存在しない
222F〜2239─│┌┐┘└├┬┤┴┼
2240〜225F
2276〜227D
2321〜232F
2475〜247E
2577〜257E
2659〜265F
2661〜267A英大文字 A〜Z (半角)
2746〜274F
2774〜277E
4F54〜4F5F讓 赳 躾 軋 輌 輳 輻 隨 遽 邁 鄂 鈑
4F60〜4F6F錮 鈩 鑽 隘 鞏 頌 騷 髪 塵 麒 齟 齬 俯 會 僣 刹
4F70〜4F7E厖 國 埃 彙 怱 扨 抒 旁 漱 瞰 籐 籖 羞 翔 膠
5021〜5029鋏 閨 頽 餞 驀 珈 琲 辣 撻


MZ-1R12 CMOSバッテリバックアップメモリ(32K)

アドレスR/W説明
F8hRアドレスカウンタを0000hにリセット
Wアドレスカウンタの上位バイト書き込み
F9hRデータ読み出し・アドレスカウンタ+1
Wアドレスカウンタの下位バイト書き込み
FAhWデータ書き込み・アドレスカウンタ+1
※ベースアドレスはDIP SWで指定可
 MZ-700でブートデバイスとして使用できるアドレスは F8h
 MZ-1500でブートデバイスとして使用できるアドレスは F8h/A8h (拡張ユニットMZ-1U08に装着する場合は A8hのみ)

・MZ-1R12の自動起動プログラム格納形式
オフセットデータ
+00プログラム格納サイズ(L)
+01プログラム格納サイズ(H)
+02ロードアドレス (L)
+03ロードアドレス (H)
+04実行アドレス (L)
+05実行アドレス (H)
+06データ部チェックサム (L) *1
+07データ部チェックサム (H) *1
+08ヘッダ部チェックサム *2
+09〜プログラム本体 (オフセット+00,+01で指定されたサイズ)
*1 プログラム本体の各バイトに対し、ビット'1'の数を16bitでカウントしたもの
*2 ヘッダ部分(+00〜+08)の各バイトに対し、ビット'1'の数を8bitでカウントしたもの


MZ-1E24/MZ-8BI03 RS-232Cボード

アドレスR/W説明
B0hR/WZ80SIO チャネルAデータ
B1hR/WZ80SIO チャネルAコントロール
B2hR/WZ80SIO チャネルBデータ
B3hR/WZ80SIO チャネルBコントロール
※ベースアドレスはDIP SWで指定可
 MZ-1500のオーナーズマニュアルでは、本体の拡張スロットに装着するときは D0h, 拡張ユニットMZ-1U08に装着する時は B0h を指定するよう指示されている
 BASIC 5Z-001がサポートしているのは装置名 RS1(B0h,Ch.A) RS2(B0h,Ch.B) RS3(D0h,Ch.A) RS4(D0h,Ch.B)

QD I/F (Z80A-SIO)

アドレスR/W説明
F4hR/WSIO チャネルAデータ
F5hR/WSIO チャネルBデータ
F6hR/WSIO チャネルAコントロール
F7hR/WSIO チャネルBコントロール
SIO信号I/OQD信号
DCDAIメディアスイッチ
L: メディアがセットされている
H: メディアはセットされていない
CTSAIライトプロテクト
L: 書き込み可
H: 書込み禁止
RTSAOWRITE GATE出力
L: 書き込み
DCDBIHOME信号
L: ヘッドが読み書き有効エリアにある
DTRBOモータオン
H→L: モータON
H: モータストップポイントに到達したらモータOFF
RTSBOMFM復調回路VFOイネーブル
L: 読み込み

MZ-1E05 FDD I/F (MB8876)

アドレスR/W説明
D8hRステータスレジスタ
Wコマンドレジスタ
D9hR/Wトラックレジスタ
DAhR/Wセクタレジスタ
DBhR/Wデータレジスタ
DChW モータ/ドライブセレクト制御レジスタ
Bit76543210
信号M-ON
DSENDS

M-ONFDD モータ制御0: OFF
1: ON
DSENドライブセレクト有効?0: ドライブセレクト無効
1: DSで指定した番号のドライブをセレクト
DSドライブセレクト?セレクトするドライブ番号
DDhW ヘッドセレクト制御レジスタ
Bit76543210
信号
HS

HSヘッドセレクト0: Side 0
1: Side 1

PCG-700 (HAL研究所)

アドレスR/W説明
E010hW PCG-RAMに書き込むパターンデータ
Bit76543210
信号パターンデータ
E011hWPCG-RAMアドレス 下位8ビット
Bit76543210
信号ADDR[7:0]
E012hW PCG-RAMアドレス 上位3ビット / PCGコントロール
Bit76543210
信号
COPYWESSWADDR[10:8]

COPYCGROMからのコピー0: WEでの書き込み時、E010h に書かれているパターンデータを書き込む
1: WEでの書き込み時、CGROMからのパターンデータを書き込む
WE書き込み操作0→1→0 とトグルすることでPCG-RAMにデータを書き込む
SSWPCG選択0: PCGを使用する
1: PCGを使用しない
ADDR書き込みアドレス000h-7FFh

ディスプレイコード 80h-FFh の範囲(アトリビュートVRAMのBit7による切り替えと合わせて128×2=256キャラクタ分)がPCGで表示される。
D000h〜FFFFhのバンクがDRAMの状態であっても E010h〜E012hへの書き込みに反応してしまうので注意すること(SSWを1のままにしない)


PIO-3034 320K EMM (I-O DATA)

アドレスR/W説明
00hWアドレスカウンタ Bit[7:0]
01hWアドレスカウンタ Bit[15:8]
02hWアドレスカウンタ Bit[18:16]
03hRデータ読み出し・アドレスカウンタ+1
Wデータ書き込み・アドレスカウンタ+1
※ベースアドレスはDIP SWで指定可・HuBASICは00h-03hに対応している

Celestite LAN/メモリ複合ボード (Oh!石さん製作)

アドレスR/W説明
60hWW5100 MR(Mode Register)
61hWW5100 IDM_AR0 (アドレスレジスタ上位)
62hWW5100 IDM_AR1 (アドレスレジスタ下位)
63hR/WW5100 IDM_DR (データ読み書き・アドレス+1)
64hR/W割り込みベクタ
65hW 割り込み制御
Bit76543210
信号
ENABLE

ENABLE割り込みイネーブル0: 禁止
1: 許可
R 割り込みステータス
Bit76543210
信号割り込み入力割り込み受付
ENABLE

???割り込み入力0: 割り込みリクエスト中ではない
1: 割り込みリクエスト中
???割り込み受付0: 割り込みアクノリッジサイクルを検知していない
1: 割り込みアクノリッジサイクルを検知した
ENABLE割り込みイネーブル状態
(書き込んだ値)
0: 禁止
1: 許可
66hR/Wメモレジスタ
68hWUFM(ユーザフラッシュメモリ) アドレスレジスタ
R UFM(ユーザフラッシュメモリ) ステータス
Bit76543210
信号WP
READYBUSY

WPライトプロテクト0: 書き込み禁止
1: 書き込み許可
READYUFMデータ有効0: データ無効
1: アドレスに対応する有効なデータが 69h にある
BUSYUFMビジー状態0: UFM操作可
1: UFM操作不可
69hR/WUFM(ユーザフラッシュメモリ) データレジスタ
リード
  1. UFMアドレス(68h)を設定
  2. UFMステータス(68h)のREADYが1になるのを待つ
  3. UFMデータ(69h)を読む
ライト
  1. アンロックレジスタ(6Fh)にD1h,57hを書いてUFM全体を消去
  2. UFMステータス(68h)のBUSYが0になるのを待つ
  3. UFMがライトプロテクト状態なら、アンロックレジスタ(6Fh)にD1h,0Fhを書いてライトプロテクトを解除
  4. UFMアドレス(68h)を設定
  5. UFMステータス(68h)のREADYが1になるのを待つ
  6. UFMデータ(69h)にデータを書き込む
  7. UFMステータス(68h)のBUSYが0になるのを待つ
  8. 書き込みたいデータの数だけ 4. からの処理を繰り返す
  9. アンロックレジスタ(6Fh)にD1h,0Fhを書いてライトプロテクトをかける
6FhW アンロック(ボード機能制御)
D1h に続けて以下のキーワードを書き込むことで各機能が実行される
キーワード機能リセット時
12hMZ-1R12互換CMOS RAMの容量を64KBに倍増32KB
37hMZ-2500用EMMの有効化(DIP-SWで無効化されている時のみ)DIP-SWの設定に従う
05hMZ-700用の拡張ROMとFD ROMのエリアのライトプロテクトを解除ライトプロテクト
57hUFMエリアを消去(ライトプロテクト時でも消去)
0FhUFMエリアへのライトプロテクトを反転ライトプロテクト

MZ-1R37 640K EMM

アドレスR/W説明
AChWアドレスラッチの書き込み
アドレス[19:16]={A15-A8}, アドレス[15:8]={D7-D0}
ADhRデータ読み出し
アドレス[7:0]={A15-A8}, データ={D7-D0}
Wデータ書き込み
アドレス[7:0]={A15-A8}, データ={D7-D0}
※アドレスのオートインクリメントは無し

MZ-2500用のオプションだが、Celestite LAN/メモリ複合ボードでサポートされている。EMMエリアはMZ-1500ではMZ-1R23 漢字ROMの領域として使用されるため、これらのポートは主に漢字ROM領域および拡張ROM領域(E800h-FFFFh)の初期化のために使用する。

拡張ROM領域はEMMの 0FE800h〜0FFFFFh にマップされている。


戻る