MZ のテープを活用しよう

MZ-2000/2200 用モニタ MZ-1Z001M についての情報です。

■テープのヘッダのアドレスを確認する。
1140h モード (01h バイナリ, 02h S-BASIC, C8h CMU-800 データファイル)
1141h ~ 1151h ファイル名
1152h ~ 1153h サイズ
1154h ~ 1155h ロードアドレス
1156h ~ 1157h 実行アドレス
モニタ内の L コマンドでデータをロードすると上記のアドレスにテープのヘッダ情報が格納されます。
ロードが完了してしまうと自動的に実行されてしまうのでロードが完了する前に [SHIFT] + [BREAK] でロードの中断をします。
「ロード後に自動的に実行しない」と併用する場合は中断する必要はありません。M コマンドまたは D コマンドで確認する事ができます。

■ロードアドレスを変更する。
02B9h 2Ah → 21h
02BAh 54h → ロードアドレスの下位バイト
02BBh 11h → ロードアドレスの上位バイト

■セーブアドレスを変更する。
0289h 2Ah → 21h
028Ah 54h → ロードアドレスの下位バイト
028Bh 11h → ロードアドレスの上位バイト

■ロード後に自動的に実行しない。
01F5h E9h → F7h
通常 L コマンドでロードすると自動的に実行アドレスにジャンプしてしまいます。
この変更を行うとロードだけ行うようになります。

■テープの 2 回セーブを変更する。
02DBh 02h → セーブ回数
030Ch 02h → ロード回数
0359h 02h → ベリファイ回数
通常テープにデータをセーブすると 2 回分のデータをセーブしてしまいます。これでは時間がかかってしまうので 1 回セーブにする事ができます。そのかわり信頼性が下がってしまいます。
それぞれ 02h を 01h に変更すると 1 回セーブになります。また、セーブ回数を増やすこともできます。

■テープをバックアップする
01F5h E9h → F7h
0289h 2Ah → 21h
028Ah 54h → 00h
028Bh 11h → 80h
02B9h 2Ah → 21h
02BAh 54h → 00h
02BBh 11h → 80h
(1) 上記を打ち込む。
(2) L コマンドでバックアップ元のテープを読み込む。
(3) テープを取り出しバックアップ先のテープをセットする。
(4) J コマンドで 01B5h にジャンプする。
すると、バックアップ元テープに記録されていたデータがバックアップ先テープに記録されます。複数のデータがある場合はそのデータの分だけの回数分だけ (2) に戻ります。この方法では、ロードアドレスとセーブアドレスを 8000h に変更しているため 8000h ~ FFFFh のメモリを使用します。そのため 32KB までのデータをバックアップすることができます。8000h をもっと小さくしていくとさらに大きなデータをバックアップすることができますが、あまり小さくすると BASIC 自体を破壊してしまい BASIC に戻れなくなります。その場合はバックアップ後に再起動してください。

■1200bps で記録されたテープを読み込めるようにする
0557h 41h → 66h
一度上記の変更を行うと以降ずっと 1200bps で記録されたテープしか読み込みができなくなってしまいます。この変更を行うと MZ-80K/C/700/1500 で記録されたテープを読み込むことができます。「テープをバックアップする」と併用すると 1200bps で記録されたデータを 2000bps でテープに記録することができます。

■データを 1200bps でテープに記録する
0524h 2Ah → 3Fh
0530h 25h → 3Ah
053Fh 5Ah → 81h
054Bh 55h → 7Ch
一度上記の変更を行うと以降ずっと 1200bps でデータを記録します。この変更を行うと書き込んだデータを MZ-80K/C/1200/700/1500 で読み込むことができます。「テープをバックアップする」と併用すると 2000bps で記録されたデータを 1200bps でテープに記録することができます。

■1200bps で記録されたテープをバックアップする
「テープをバックアップする」「1200bps で記録されたテープを読み込めるようにする」「データを 1200bps でテープに記録する」を組み合わせる事によって 1200bps で記録されたテープをバックアップすることができます。
つまり、MZ-80K/C/1200/700/1500 で記録されたテープを MZ-2000/2200 でバックアップすることができます。
01F5h E9h → F7h
0289h 2Ah → 21h
028Ah 54h → 00h
028Bh 11h → 80h
02B9h 2Ah → 21h
02BAh 54h → 00h
02BBh 11h → 80h
0524h 2Ah → 3Fh
0530h 25h → 3Ah
053Fh 5Ah → 81h
054Bh 55h → 7Ch
0557h 41h → 66h
(1) 上記を打ち込む。
(2) L コマンドでバックアップ元のテープを読み込む。
(3) テープを取り出しバックアップ先のテープをセットする。
(4) J コマンドで 01B5h にジャンプする。
すると、バックアップ元テープに記録されていたデータがバックアップ先テープに記録されます。複数のデータがある場合はそのデータの分だけの回数分だけ (2) に戻ります。この方法では、ロードアドレスとセーブアドレスを 8000h に変更しているため 8000h ~ FFFFh のメモリを使用します。そのため 32KB までのデータをバックアップすることができます。8000h をもっと小さくしていくとさらに大きなデータをバックアップすることができますが、あまり小さくすると BASIC 自体を破壊してしまい BASIC に戻れなくなります。その場合はバックアップ後に再起動してください。

戻る