普通のイメージ化の方法はAKDさんのページのtapeload.exeの使い方などを参考に…。
通常、テープ上のファイルは インフォメーションブロック + データブロック の組で記録されています。
2段ロードを行うソフトウェアなどでは、1段目のプログラムから直接ファイルサイズ・ロードアドレスを指定して、追加のデータブロックを読み込むようなものが存在します。このような場合、tapeload.exe で直接変換することはできず、1段目のプログラムを解析して2段目のファイルサイズなどを調べる必要があります。
改造版の MZ700Win を使うと、インフォメーションブロック・データブロックをロードするROM内ルーチンの呼び出しのログを取ることができ、改造版の tapeload_g.exe を使うことで多段ロードするテープのイメージ化を行うことができます。これらを使うことで、解析・イメージ化の作業を多少楽に行えます。
まずは通常の手順でイメージ化を試してみます。この段階で問題なく動いてしまえばもうOKですね。
"CHECK SUM ER." が出て動かなかったなどの場合は、2段ロードを疑ってみます。トップページのダウンロードコーナーにあるMZ700Win改造版を起動し、"Debug" メニューから "Log Window" を選択してログウィンドウを開きます。この状態で、動かなかったMZTイメージをセットし、ロードしてみます。
---MZ700Win Debug Log Window---
Reading Information Block... Done.
SIZE:xxxx LOAD:xxxx EXEC:xxxx
Reading Data Block of SIZE:xxxx ... Done.
Reading Data Block of SIZE:0500 ... Error!
1段目のインフォメーションブロックとデータブロックを読んだあとで、サイズ 0500h のデータブロックを読もうとしています。ということで、このサイズ0500h のデータブロックもイメージ化してやらないといけません。
同じくトップページのダウンロードコーナーにあるtapeload_g.exe改造版を使い、"-a" オプションで追加のデータブロックのイメージ化を指定します。
C:\MZ700WIN\tapeload>tapeload_g tekitou.wav -a0500
無事にイメージ化できたら、header.dat, out.dat, out1.dat という3つのファイルが出来ています。いつものように連結して、1つのMZTファイルにしてください。
C:\MZ700WIN\tapeload>copy /b header.dat+out.dat+out1.dat tekitou.mzt
MZ700Win改造版を起動し、ログウィンドウを開いた状態で、出来たMZTイメージをセットし、ロードしてみます。まだ動きませんでした。
---MZ700Win Debug Log Window---
Reading Information Block... Done.
SIZE:xxxx LOAD:xxxx EXEC:xxxx
Reading Data Block of SIZE:xxxx ... Done.
Reading Data Block of SIZE:0500 ... Done.
Reading Data Block of SIZE:4E00 ... Error!
2段目のデータブロックを読んだあとで、さらにサイズ 4E00h のデータブロックを読もうとしています。ということで、さらにサイズ4E00h のデータブロックもイメージ化してやります。
C:\MZ700WIN\tapeload>tapeload_g tekitou.wav -a0500,4E00
C:\MZ700WIN\tapeload>copy /b header.dat+out.dat+out1.dat+out2.dat tekitou.mzt
MZ700Win改造版を起動し、ログウィンドウを開いた状態で、再度ロードしてみます。
---MZ700Win Debug Log Window---
Reading Information Block... Done.
SIZE:xxxx LOAD:xxxx EXEC:xxxx
Reading Data Block of SIZE:xxxx ... Done.
Reading Data Block of SIZE:0500 ... Done.
Reading Data Block of SIZE:4E00 ... Done.
多段ロードのすべてのデータが読めているようです。これで完了です。
その1と同様な手順でイメージ化してみます。
---MZ700Win Debug Log Window---
Reading Information Block... Done.
SIZE:xxxx LOAD:xxxx EXEC:xxxx
Reading Data Block of SIZE:xxxx ... Done.
Reading Information Block... Error!
1段目のインフォメーションブロックとデータブロックを読んだあとで、2段目のインフォメーションブロックを読もうとしています。ということは、インフォメーションブロック + データブロック の組が2段目に存在するということです。
tapeload_g.exe改造版の "-a" オプションのサイズ指定を 0 にすることで、追加のインフォメーションブロック+データブロックの組のイメージ化を指定することができます。
C:\MZ700WIN\tapeload>tapeload_g tekitou.wav -a0
header.dat, out.dat, header1.dat, out1.dat という4つのファイルが出来ました。連結してロードしてみます。
---MZ700Win Debug Log Window---
Reading Information Block... Done.
SIZE:xxxx LOAD:xxxx EXEC:xxxx
Reading Data Block of SIZE:xxxx ... Done.
Reading Information Block... Done.
SIZE:xxxx LOAD:xxxx EXEC:xxxx
Reading Data Block of SIZE:xxxx ... Done.
Reading Data Block of SIZE:7700 ... Error!
2段目のデータブロックを読んだあとで、さらにサイズ 7700h のデータブロックを読もうとしています。ということで、さらにサイズ7700h のデータブロックもイメージ化してやります。
C:\MZ700WIN\tapeload>tapeload_g tekitou.wav -a0,7700
連結してロードしてみます。
---MZ700Win Debug Log Window---
Reading Information Block... Done.
SIZE:xxxx LOAD:xxxx EXEC:xxxx
Reading Data Block of SIZE:xxxx ... Done.
Reading Information Block... Done.
SIZE:xxxx LOAD:xxxx EXEC:xxxx
Reading Data Block of SIZE:xxxx ... Done.
Reading Data Block of SIZE:7700 ... Done.
多段ロードのすべてのデータが読めているようです。これで完了です。