tunozemichanの日記 / tunozemichan's diary

SORD社のコンピューターM68やM68MXの解析についての備忘録です。This blog is a memorandum about the analysis of SORD's computers M68 and M68MX.

PASOPIA7でテープを使ってS-OS SWORDを実行する。

PASOPIA7を入手しました。またしても、なにもソフトがありませんので、S-OS SWORDを動かします。今回はFDDがありませんので、カセットテープで遊びます。

いつものように最初にイメージを置いておきます。本体だけでなくローダーも必要です。

 

LOADER.wav - Google ドライブ

SWORD.wav - Google ドライブ

 

ソフトもいくつか置いておきます。

 

ELFES2.wav - Google ドライブ

ELFES4.wav - Google ドライブ

 

ソフトの実行に必要な開始アドレス、実行アドレスのメモを置いておきます。

 

開始アドレス実行アドレス.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コマンドは当然ながら開始アドレス必須です。