PASOPIA7を入手しました。またしても、なにもソフトがありませんので、S-OS SWORDを動かします。今回はFDDがありませんので、カセットテープで遊びます。
いつものように最初にイメージを置いておきます。本体だけでなくローダーも必要です。
ソフトもいくつか置いておきます。
ソフトの実行に必要な開始アドレス、実行アドレスのメモを置いておきます。
開始アドレス実行アドレス.txt - Google ドライブ
動かし方ですが、最初にローダーを読み込みます。と言っても2行しかないプログラムなので2秒くらいで読み終わります。ローダーの名前は「LOADS」です。
ローダーを実行するとS-OS SWORDを読み込みに行きますので、SWORD.WAVをセットします。大体1分30秒くらいで読み終わり、S-OS SWORDが実行されます。
以下、本文です。
何もない状態からS-OS SWORDを実行する
PASOPIA7用S-OS SWORDはOh!MZの1987年の12月号に掲載されています。まずは該当ページをスキャンして取り込みます。Program List OCRという素晴らしいソフトがあるので、これを使ってダンプファイルを読み込みます。
出来上がったダンプファイルをDumpListEditorを使って、読み取りエラーなどを修正していきます。ダンプファイル形式は、「Oh!MZ/X(MACINTO-C)」です。
ここから先は何でもいいのですが、私はDUMP2MOTの後、MOT2BINでバイナリファイルにしています。無駄が多いです。
エミュレータを使って、バイナリデータをテープデータに変換する
バイナリファイルが出来ても、PASOPIA7に読み込ませる方法がありません。PASOPIA7のモニタから手入力で入れるなど私には不可能ですので、エミュレータの力を借ります。作業の前にTBASIC7上でLOADERを書いて、テープにセーブしておきます。
EmuPIA7にはDebug MainCPUと言う強力なデバッガがあります。
これを起動して、バイナリファイルをメモリに流し込みます。Oh!MZの記事ではC000hから始まるので、こんな感じで実行します。ここではバイナリファイルの名前をc000.binにしました。Nコマンドでファイル名を指定して、Lコマンドで指定番地にバイナリデータをロードします。終わったらQコマンドでデバッガを終了して、エミュレータに戻ります。
これでメモリに入ったので、あとはTBASIC7上で
BSAVE#-1,"SWORD",&HC000,&2D00
としてセーブすれば完了です。テープデータに変換できました。
PASOPIA7用S-OS SWORDは、MZT形式をサポートしています。ソフトをダウンロードして、MZT形式に変換してS-OS上でロードしましたが出来ませんでした。条件を変えてみましたがダメでした。面倒なので、S-OSと同様にデバッガからメモリにロードして、S-OS上でセーブしました。
ロードするときは、デフォルトのデバイスをT(MZTテープデバイス)に変更(DVTを入力)して、Lコマンドで読み込みます。この時、ロードアドレスは指定しなくても動きますが、Jコマンドは当然ながら開始アドレス必須です。