改造版MZ700Win/改造版tapeload_gを使った多段ロードソフトのMZTイメージ化

 普通のイメージ化の方法はAKDさんのページのtapeload.exeの使い方などを参考に…。

 通常、テープ上のファイルは インフォメーションブロック + データブロック の組で記録されています。

 2段ロードを行うソフトウェアなどでは、1段目のプログラムから直接ファイルサイズ・ロードアドレスを指定して、追加のデータブロックを読み込むようなものが存在します。このような場合、tapeload.exe で直接変換することはできず、1段目のプログラムを解析して2段目のファイルサイズなどを調べる必要があります。

 改造版の MZ700Win を使うと、インフォメーションブロック・データブロックをロードするROM内ルーチンの呼び出しのログを取ることができ、改造版の tapeload_g.exe を使うことで多段ロードするテープのイメージ化を行うことができます。これらを使うことで、解析・イメージ化の作業を多少楽に行えます。


多段ロードのイメージ化例 その1

 まずは通常の手順でイメージ化を試してみます。この段階で問題なく動いてしまえばもう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.

 多段ロードのすべてのデータが読めているようです。これで完了です。


多段ロードのイメージ化例 その2

 その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.

 多段ロードのすべてのデータが読めているようです。これで完了です。


戻る