|
● TRANSで読み込んだマシン語ファイルの場合は、ヘッダはそのままでいいので、問題ないですよね。
● BASICのファイルとQCコマンドやこのページ上のプログラムで読み込んだファイルの場合
tapeload.exeでパソコンに読み込み後、バイナリエディタでヘッダを修正します。
MZ−700WIN付属のmz700faq.htmの中にMZTファイルのフォーマットに関して記述があり、ヘッダの先頭を00hとして、
00h アトリビュート(ファイルモード)
01h〜11h ファイル名。20hでパディングします。
12h,13h ファイルサイズ
14h,15h 格納(先頭)アドレス
16h,17h 実行アドレス
○ BASICのファイルはアトリビュートの変更が必要です。05h→02h。
○ QCコマンドやこのページ上のプログラムで読み込んだファイルの場合、
テープにセーブするときに実行アドレスを正いものを入力していたなら、ファイル先頭アドレスのデータみ変更が必要です。
これも上位と下位を逆にして入力します。2000hなら
00 20 です。
以下に例を示します。
上の図はヘッダのサンプルです。
00000000hのアトリビュート(ファイルモード)が01hなのでマシン語ファイルであることがわかると思います。BASICのファイルの場合ここが05hとなっていると思いますので、02hに修正します。
00000001h〜00000011hがファイル名です。ファイル名のエンドマークに0Dhが入っています。それ以降は20hで埋めれられています。
00000012h、00000013hがファイルサイズでこの場合0312hです。
00000014h、00000015hがファイル先頭アドレスです。ROMモニタのQCコマンドや、このページにあるプログラムで読み込んだ場合、ここが00h,12hになっていると思いますので正しいものに修正します。
上の図のファイルはの場合の5000hからのファイルなので、00h,05hとなっています。
00000016h、00000017hが実行アドレスです。このプログラムの実行アドレスは52ABhであることがわかると思います。
ちなみにこのヘッダのサンプルも
ファイル"CHENGE MEMORY"(^_^;)のものです。
MZ-1500からテープに移したとき参照したデータと比べてみてください。 |