BASICのフリーエリアを減らすことなくMZ2000_SDからセーブ、ロードできるようにする

■■ダウンロード
まずこちらから「mz2000sdPatch###.zip」をダウンロードします。(###はバージョン番号)
ソースファイルはこちら
バージョンは1.0.7以上である必要があります。
ディスクBASICに関してはバージョンは1.0.8以上である必要があります。

■■対応BASIC
・BASIC SB-5520
・BASIC MZ-1Z001
・COLOR BASIC MZ-1Z002
・Double precision BASIC MZ-1Z003
・マイコンシステム企画 SuperColorBASIC (IPLセレクタ用に1ファイル化したもの)
・スガヤ無線 漢字BASIC(コンバート済みの物、おそらくディスク版)

■■mz2000sdPatchツールでパッチを当てる場合
■設定ファイル
設定ファイルには以下のものがあります。
・SB-5520_MonitorSDPatch.json
・MZ-1Z001_MonitorSDPatch.json
・MZ-1Z002_MonitorSDPatch.json
・MZ-1Z003_MonitorSDPatch.json
・SuperColorBASIC_MonitorSDPatch.json
・KANJIBASIC_SB-2000T_MonitorSDPatch.json

■各BASICの書き換え方法

(1) PatchGUI.exeを起動します。
(2) 設定jsonファイルにjsonファイルを選びます。
(3) 元になるmztファイルにパッチを当てたいBASICのMZTファイルを選びます。
(4) 作成するファイルのファイル名が「…(M-SD).mzt」となります。好きなように変更できます。
(5) 実行するボタンを押すとmztファイルが作成されます。

■■BASICに手動でパッチを当てる場合
(1)バイナリエディタで書き換えるmztファイルを読み込みます。mztファイルは必ずバックアップを取ってください。
(2)バイナリエディタを上書きモードにしてください。
(2)MonitorSDPatchフォルダにあるMonitorSDPatch.binをアドレス02D1hに配置してください。
(3)025Chから5バイトを00hで埋めてください。(MZファイルとDOSファイルが違っていてもロードできるようにするため)
(4)0468hから2バイトを以下のデータに書き換えてください。各BASICで違います。(BASICのファイル名バッファ。LOADコマンド実行時にファイル名がセットされます)
 SB-5520: 8Bh 40h
 SB-6520: FBh 4Dh
 MZ-1Z001: 9Ah 40h
 MZ-1Z002: 20h 41h
 MZ-1Z003: 69h 3Eh
 MZ-2Z001: 57h 4Fh
 MZ-2Z002 V1.0A: 82h 4Fh
 MZ-2Z002 V1.0B: 82h 4Fh
 MZ-2Z002 V1.02: 7Ah 4Fh
 MZ-2Z021: 34h 50h
 SuperColorBASIC: 9Ah 40h
 漢字BASIC(おそらくディスク版): 57h 4Fh
(5)保存する。

■■mz2000sdPatchツールでパッチを当てる場合
MZDiskExplorerでディスクイメージから一度ブートプログラムをmzt形式で取り出しパッチを当てた後にMZDiskExplorerでブートプログラムとして書き込んでください。

■■DiskBASICに手動でパッチを当てる場合
(1)BASICパッチプログラムをディスクに転送する。
SB-6520の場合は「SB6520(MSD)BAS.mzt」、
MZ-2Z001の場合は「MZ2Z001(MSD)BAS.mzt」、
MZ-2Z002 V1.02の場合は「MZ2Z002A(MSD)BAS.mzt」、
MZ-2Z002 V1.0A または V1.0Bの場合は「MZ2Z002B(MSD)BAS.mzt」、
MZ-2Z021の場合は「MZ2Z021(MSD)BAS.mzt」をそれぞれの起動ディスクに転送する。
(2)上記のBASICファイルをRUNすると以降LOAD/T、SAVE/Tなどのテープ操作関連の命令がSDカードが使えるようになります。
(3)AUTO RUNを消して上記のBASICファイルをAUTO RUNとしてセーブすると以降起動時に自動的にSDカードが使えるようになります。

例)MZ-2Z001にすでにMZ2Z001(MSD)BAS.mztを転送済みの場合
UNLOCK "AUTO RUN"
DELETE "AUTO RUN"
RENAME "MZ2Z001(MSD)BAS","AUTO RUN"

■■注意事項
このパッチを適応するとLOADするときにDOS FILEを聞いてきません。LOAD命令に直接DOS FILE名を指定してください。
またDOS FILE入力時にファイル一覧を表示する*FDLコマンドはありません。

まだまだ実験段階だけど、とりあえずMZ-1Z001、MZ-1Z002のメモリを減らさずにMZ2000_SD対応バグ取れた。自作の改造EmuZ-2200、自作のパッチ当てソフト、モニタへのパッチ当て全部がバグっていた。モニタでのセーブロード、BASICのセーブロード、WOPEN、ROPENでのデータセーブロード全部できた! pic.twitter.com/Gu4mflQ6mR

— kuran_kuran (@kuran_kuran) November 25, 2025
戻る