ラリーX(MSX)を改造しよう

初期バージョンのMSX版ラリーXも、MSX版ギャラクシアンMSX版キング&バルーン 同様、MSX2以降の機種では動作しなかったり、ゲームオーバー後にタイトル画面が崩れるなどの現象が発生します。

そんな初期バージョンのROMにパッチを当てて、MSX2以降でも正しく動作するROMデータを作成してみましょう。

作成方法

MSX本体のみではパッチを当てることができません。作業には WindowsPCが必要となります。

  1. 以下のパッチをダウンロード・展開してください。
    RALLYX_MSX_Patch.zip
  2. 初期バージョンのラリーX(穴の空いたROMカートリッジで、裏に書かれているナムコの住所が「蒲田」になっているもの)のROMデータを RALLYX.ROMという名前で、展開したフォルダ内にコピーしてください。。
    ※ROMのサイズは16KBで、CRC32の値は「9FD2F1DC」のものになります。それ以外のバージョンについては対応していません。
  3. rallyx_patch.bat を実行してください。
    ※一部のセキュリティーツールが反応するかもしれませんが、全く問題ないのでご安心ください。
  4. エラーがなければ、同じフォルダに RALLYX_N.ROMRALLYX_N.BIN という2つのファイルが作られます。
  5. RALLYX_N.ROM は MSX2以降でも正しく動作するようにしたROMファイルです。実機でプレイするにはROMに焼く必要があります。
  6. RALLYX_N.BINRALLYX_N.ROM のディスク版です。このファイルをフロッピーディスクにコピーし、MSX(RAM64KB以上)のDISK-BASICから BLOAD"RALLYX_N.BIN",R で起動します。

これでMSX2以降でも正しく動作するラリーXが楽しめると思います。

※もし動かない場合は機種名とともに twitter で @tiny_yarou まで報告していただけると嬉しいです。

なぜ動かないんでしょうか

初期バージョンのラリーXは、F400H-FB58H のRAMをワークエリアとして使用しているのですが、本来この領域はMSXのシステムワークとなっており、アプリケーションが使用してはいけません。

ただ、ラリーXが使用している領域のほとんどは「BASIC実行中に使われるワークエリア」なので、ゲームアプリケーション実行中は使われることがなく、MSX1では問題なく動いていたようですが、MSX2になってこの領域が BASIC以外からも使われるようになり、そこを破壊してしまうために正しく動作しなくなってしまったようです。

新バージョン(裏に書かれているナムコの住所が「多摩川」になっており、MSX2でも正しく動作する)を初期バージョンと比較してみたところ、以下のようにワークエリアのアドレスが変更されて、新バージョンではシステムワークを破壊しない形に修正されていました(厳密な比較はしていないので、細かいアドレスは参考程度に…)。

今回のパッチでは、ワークエリアを新バージョンと同じアドレスに移動し、アクセスしている箇所を全て書き換えているのですが、図のように大幅にワークエリアのアドレスが変更されたため、300箇所もの修正を行う必要がでてきてしまいました(さすがに手作業での修正作業は無理ということで、簡単なパッチツールも同梱させてもらいました)。

ということで、初期バージョンのラリーXをお持ちの方で、「どうしてもMSX2で動かしたい」という方は、ぜひこちらのパッチを試してみてください。

ただ、ラリーXにはこの2種類以外にもバージョンがあるようなので、今回のパッチで動かないバージョンをお持ちの方はごめんなさい。


DEEP! P6! DEEP! MSX! に戻る