空きテープをセットしてPOKE 3688, 30 LOAD "AUTOCRACY" POKE 3688, 20
AUTOCRACYのテープをセットしてSAVE "AUTOCRACY"
空きテープをセットしてPOKE 3688, 30 LOAD "MU" POKE 3688, 20
"AUTOCRACY" がタイトル画面と操作説明のHu-BASICプログラム、"MU" がゲーム本体のHu-BASICプログラムです。SAVE "MU"
【補足】ゲーム自体はオールBASICですが、データの開始を示す部分の仕様がちょっとだけ変えられてテープに記録されているため、通常のHu-BASICからはロードできません。本体の前にあるマシン語プログラムがHu-BASICにパッチを当てていて、これを読めるようにし、ついでにSHIFT+BREAKやLISTを無効にしています。というわけで、ちょっとだけ変更したフォーマットでBASICプログラムをロードし、普通のフォーマットに戻してセーブすればOKです。
・通常版
0040 50 41 54 3A 74 1D 02 00 00 FF FF
・PCG版
0040 50 41 54 3A 79 1D 02 00 00 FF FF
・1段目
通常の方法でイメージ化。
・2段目
1段目のプログラムを実行せずに1200hからロードした後、モニタから以下のコマンド(赤文字の部分)を打ち込み、パッチを当てて実行します。
*M13A7実行するとテープからのロードが再開し、しばらくして停止します。停止したらリセットし、3000h〜6817h の範囲をセーブ。セーブした2段目をイメージ化し、1段目の末尾に2段目のデータ部を追加。
13A7 11 30
*M213C
213C 21 18
213D 00 FE
*J1200
0E25 21 10 23 11 00 11 01 18 38 ED B0 C3 2C 0F
キャリーラボものは特殊なフォーマット(WICS?)の2段目をロードする構造のものが多いようなので、イメージ化支援プログラムを作成してみました。
CarryLabFiler Download
実機で CarryLabFiler.mzt を実行すると "SET TAPE AND PRESS ANY KEY" と表示されるので、テープをセットして何かキーを押してください。ロードとパッチが完了すると "SET BLANK TAPE AND SAVE AS FOLLOWS" と表示され、その下にセーブ用の Sコマンドが表示されます。新しいテープをセットし、表示された Sコマンドの行の上で [CR] を押してテープにセーブしてください。新しくセーブしたテープは通常の方法でイメージ化できます。なお、「プロ野球」のようにゲーム開始後もテープの読み書きを行うものには対応できません。
・動作確認に使用したソフト
タイトル | メーカー | 構造 |
---|---|---|
暴走!オリエント急行 | エニックス | I+D+D(3900) |
ビルディングホッパー | タスクフォーツ高知 | I+D+D(9D9F) |
サブマリンシューター | ハドソン | I+D+D(504E) |
ぐしゃ | ハドソン | I+D+D(57C7) |
3Dスペースドライブ | 富士音響マイコンセンターRAM | I+D+D(0500)+D(4E00) |
ガタ・ゴト | 富士音響マイコンセンターRAM | I+D+D(0500)+D(1820) |
バドミントン | 富士音響マイコンセンターRAM | I+D+D(0500)+D(2A00) |
本将棋 | 富士音響マイコンセンターRAM | I+D+I+D+D(7700) |
PCGモンスターパニック | マーベルコンピュータ(COSMOS明石) | I+D+I+D+I+D |
アンドロメダプラン | ヒロセマイコンプラザ | I+D+D(003D)+D(5D95) |
LRfiler.zip Download
【補足】Lode RunnerはQDのB面を独自のフォーマットで使っており、ROMモニタを使わずに自分で直接アクセスするので、MZ700WINとは相性がよくありません。そこで、B面のデータをRAMファイル(MZ-1R18)に入れておき、QDへのアクセスをRAMファイルへのアクセスに置き換えるパッチを当てて動かしています。
B面は普通のフォーマットですので、通常どおりの方法で各ファイルをイメージ化し、連結します。各ファイル名が元のQDのものと一致していないといけない点にだけ注意。実機とイメージでモニタのQDコマンドの結果が同じになっているかどうか確認しましょう。0040 50 41 54 3A 2F 6C 31 CD 39 5A D3 E3 CD 00 FA D3 0050 E1 F5 E5 D5 C5 21 F0 10 11 FC 58 06 40 4E 1A 77 0060 79 12 23 13 10 F7 1E 7C 06 1A 4E 1A 77 79 12 23 0070 13 10 F7 C1 D1 E1 F1 C9 C5 6B 02 F0 10 FF FF 00
【補足】ミルキーウェイのプログラムは、ROMモニタ9Z-502M内のQDIOドライバと全く同じ内容でアドレスだけ変更したものを内部に持っていて、これを呼び出してQDをアクセスしています。このため、MZ700WINがQDへのアクセスを引っかけられず、QDからの読み出しが正しく動きません。 そこで、ミルキーウェイのQDIO用のワークと、9Z-502MのQDIO用のワーク(に相当するアドレス)の中身を交換したうえで9Z-502MのQDIOを呼び出し、再び交換して元に戻す、というパッチを当てています。
・A面
上の方法でロードし、イメージ化します。イメージ化したMZTファイルのヘッダ部分に以下のパッチを当てます。
0040 50 41 54 3A 0C 14 18 21 00 10 CD 1E 02 21 00 10 0050 01 00 A0 CD 21 02 C3 00 10 ED F4 01 ED F4 02 FF 0060 FF
・B面
上の方法でA面をロードします。ロード後、モニタから以下のコマンド(赤文字の部分)を打ち込み、A面のプログラムにパッチを当てて実行します。
*M13CEB面をセットして[CR]を押すと、B面をロードして停止します。リセットして、2000h〜BFFFhの範囲をセーブし、イメージ化してください。
13CE 38 18
13CF 03 FE
*M143B
143B 10 20
*JEF66
できたイメージはテープ版になりますので、エミュレータ上ではQDではなくカセットテープとして起動してください。「B面をセットして〜」のところで "Set Load Tape" のメニューからB面のテープをセットします。なお、A面とB面のMZTイメージを連結すれば、テープイメージの入れ替えは不要になります。
【補足】ばってんタヌキのB面は独自フォーマットのようなので、A面のプログラムにロードしてもらった直後に止めてイメージ化しています。エミュレータ上での2段ロードは、手抜きしてMZ700WINのテープパッチ用特殊命令を使っています(バンクの状態とか何も考えなくていいので…)。テープ版になってしまっているのはそのせいです。