MZ-1R12 増設 RAM を活用しよう

■仕様
対応機種 MZ-700/2000/2200/2500
MZ-1500/80B は未確認
記憶容量 32KB
BOOT 用 ROM 4KB (MZ-80B/2000/2200/2500 では使用しません)
データ保持期間 約 1.5 ヶ月 (150% 充電した場合)
充電時間 100% 充電 29 時間
150% 充電 43 時間
電源 DC 5V ± 10%
使用素子 CMOS STATIC RAM 2KB × 16 個

■ディップスイッチ
下記は出荷時設定
スイッチ番号 1 2 3 4 5 6 7 8
ON
OFF
















スイッチ名 A2B A3B A4B A5B A6B A7B MSEL A11

A2B ~ A7B I/O ポートアドレス すべて OFF で 00h ~ 02h を使用
A2B が ON、その他が OFF で 04h ~ 06h を使用
A2B が OFF、その他が ON で F8h ~ FAh を使用 (出荷時設定)
F8h ~ FAh を使用する設定の場合のみ起動可能
MSEL BOOT 用 ROM ON 使用する (出荷時設定)
OFF 使用しない
(MZ-700/1500 で起動する場合のみ ON にする)
A11 BOOT 用 ROM 選択 ON BOOT 用 ROM の前半 2KB を使用
OFF BOOT 用 ROM の後半 2KB を使用
通常は ON 固定

■MZ-80B/2000/2200/2500 で起動装置として使用できるようにする場合は以下のように設定します
ディップスイッチを下記のように設定し I/O ポートアドレスを F8h ~ FAh に、BOOT 用 ROM を使用しないに設定します。
スイッチ番号 1 2 3 4 5 6 7 8
ON
OFF
















スイッチ名 A2B A3B A4B A5B A6B A7B MSEL A11

各 I/O ポートの動作は以下のようになります
ポートアドレス 出力 (OUT) 入力 (IN)
F8h 上位アドレス設定 カウンタリセット
F9h 下位アドレス設定 データの読み出し
FAh データの書き込み 無効

■MZ-80B/2000/2200/2500(80B/2000 モード) での起動プログラム転送
(1) BASIC を起動します。
 SB-1520、MZ-1Z001、MZ-1Z002、MZ-2Z001、MZ-2Z002 など。
(2) MON[CR] を入力してモニターモードにします。
(3) M コマンドで下記のプログラムを 7000h から 702Dh に入力します。
ADDR. +0 +1 +2 +3 +4 +5 +6 +7
-----------------------------
7000h DD 21 00 75 21 00 80 3E
7008h 00 D3 F8 D3 F9 DD 7E 00
7010h D3 FA DD 23 2B 7C B5 C2
7018h 0D 70 21 54 11 22 8A 02
7020h 22 BA 02 3E 2A 32 89 02
7028h 32 B9 02 C3 05 4C
(4) M コマンドで下記のように 02B9h から 02BBh を書き換えます。
 これにより L コマンドによるロードアドレスが 7500h に変更されます。
メモリアドレス 変更前 変更後
02B9 2A 21
02BA 54 00
02BB 11 75
(5) 増設 RAM に書き込むプログラムカセットテープをセットして L コマンドでロードします。
 7500h 以降に格納されます。
(6) 増設 RAM に書き込むプログラムは先頭データが 00h でなければならないので、7500h ~ 7502h を変更します。
 ただし以下の変更は SHARP 製のプログラムのみ対応です。
メモリアドレス 変更前 変更後
7500 C3 00
7501 3B 18
7502 00 38
(7) J コマンドで 7000h からのプログラムを実行します。

以上の操作で増設 RAM にプログラムを転送できます。
増設 RAM はバッテリーでバックアップされているため電源 OFF 後も長時間内容が保存されます。
「/」キーを押しながら起動する事によって MZ-1R12 内の RAM からプログラムを起動できます。
注) 初期ロットの MZ-2511/2521(80B/2000 モード含む) では起動装置として使用することはできません。
8KB以内のプログラムまでしか起動できません。

■MZ-2500 での起動プログラム転送
BASIC-M25 および BASIC-S25 などの MZ-2500 の起動ファイルは 32KB 以上のサイズがあるため転送はできません。
転送できるプログラムは 32KB 以内のプログラムのみとなります。

■BASIC でのデータアクセス
MZ-80B (SB-1520) および MZ-2000/2200 (MZ-1Z001) の場合
データの読み出し (0000h から 256 バイトを表示する)
10 INP@ $F8,A
20 OUT@ $F8,$00
30 OUT@ $F9,$00
40 FOR I=0 TO 255
50 INP@ $F9,A
60 PRINT A,
70 NEXT
カウンタリセット
上位アドレス設定
下位アドレス設定
I を 0 から 255 に変化させる
データ読み込み
データ表示

データの書き込み (0000h から 256 バイトを 0 にする)
10 INP@ $F8,A
20 OUT@ $F8,$00
30 OUT@ $F9,$00
40 FOR I=0 TO 255
50 OUT@ $FA,0
70 NEXT
カウンタリセット
上位アドレス設定
下位アドレス設定
I を 0 から 255 に変化させる
データ書き込み


MZ-2500 (BASIC-M25) の場合
データの読み出し (0000h から 256 バイトを表示する)
10 A=inp(&HF8)
20 out &HF8,&H0
30 out &HF9,&H0
40 for I=0 to 255
50 A=inp(&HF9)
60 print A,
70 next
カウンタリセット
上位アドレス設定
下位アドレス設定
I を 0 から 255 に変化させる
データ読み込み
データ表示

データの書き込み (0000h から 256 バイトを 0 にする)
10 A=inp(&HF8)
20 out &HF8,&H0
30 out &HF9,&H0
40 for I=0 to 255
50 out &HFA,0
70 next
カウンタリセット
上位アドレス設定
下位アドレス設定
I を 0 から 255 に変化させる
データ書き込み


I/O ポートを 00h ~ 02h や 04h ~ 06h に設定した場合は起動できなくなりますが、以上のプログラムの OUT と INP のポートアドレスを変更する事によってデータアクセスすることができます。

戻る