銀河漂流バイファム(MSX)を改造しよう

MSX版の「銀河漂流バイファム(ROM)」は、MSX2以降で動かそうとしても起動しません。

これをなんとか動かしてしまおう、というページです。

原因

プログラムを解析してみたところ、起動直後に、システムROMの意味不明なアドレス(044EH)を呼び出そうとしていました。

明らかに不具合なのですが、MSX1の場合はたまたま暴走せずにリターンするため、気づかれなかったようです。

本来はどこかのサブルーチンを呼び出すつもりだったとは思うのですが、特に呼ばなくても動作に問題はなさそうなので、この部分をスキップしてしまえば、MSX2以降でも動作します。

対応方法

対応方法は簡単で、意味不明なアドレスのコールをやめる(例えば B307Hの"CD"を"01"に書き換える)だけで動作するようになります。

とはいっても、多くの方はROMを書き換えることなどできないと思うので、MSX2以降でも動作するディスク版を作ってみました。

ディスク版の作成

必要な環境

コンバートツール

  1. MSX2を起動して、BASICから以下のプログラムを入力してください。

    10 CLEAR50,&HD000 20 PRINT"SET [VIFAM] TO SLOT-1 AND" 30 PRINT"INSERT DISK TO DRIVE-A" 40 PRINT:PRINT"HIT ANY KEY TO CONVERT";:A$=INPUT$(1) 50 SCREEN 8:CLS 60 FOR I=&HD000 TO &HD01F:READ A$:POKE I,VAL("&H"+A$):NEXT 70 DATA 3E,01,26,80,CD,24,00,21,00,80,11,00,80,01,00,40 80 DATA CD,5C,00,3A,43,F3,26,80,CD,24,00,C9,00,00,00,00 90 DEFUSR=&HD000:A=USR(0) 100 VPOKE&HB307,1:'PATCH 110 BSAVE"VIFAM.BIN",&H8010,&HBFFF,S

  2. RUNした後、電源を入れた状態で バイファムのROMをスロット1に入れてください(自己責任でお願いします)。
  3. ディスクドライブに、データを保存したいフロッピーディスクを入れてください。
  4. 何かキーを押すと、グラフィック画面になり、フロッピーディスクに "VIFAM.BIN" というファイルが作成されます。

ディスク版の実行

  1. "VIFAM.BIN" が保存されているフロッピーディスクをドライブに入れてください。
  2. BASICから以下のコマンドを実行してください。

    BLOAD"VIFAM.BIN",R


DEEP! P6! DEEP! MSX! に戻る