何とか庵日誌

本名荒井が毒にも薬にもならないことを書きつづるところ

「トリトーン」ROM版の不具合




MSXのROM版「トリトーン」をROMイメージファイル化して、
blueMSXやopenMSX等で走らせると、最後の最後、
ペイ・バルーサの部屋でバグるという現象が起こるんですが、
最近その問題に関する情報提供がありましたのでここでご報告します。


VENOMさん(http://www1.bbiq.jp/venom/)が突き止めて教えてくれたことによれば、
件のバグは、RAMのE453h番地の状態によって引き起こされます。
この番地にはペイ・バルーサの動作(おそらくは武器の状態)を管理する
数値が入っているのですが、プログラムはこの内容が00hであることを
前提として組まれています。
ところがRAM初期値の状態が機種によって異なるにもかかわらず、
プログラムで肝心の初期化をしていないため、
この初期値の下一桁がFhとなる機種で走らせると、
エラーが出て止まってしまうとのこと。
これは実機でも同様で、荒井のXDJでは見事にバグりました(泣)。


その対策としてblueMSXの場合、デバッガ機能を使うのが一番簡単でしょう。
ゲーム起動後、デバッガでE453hに00hを書きこめば、件のエラーを回避できます。
トレーナー機能でE453hに00hを書きこむチートコードを追加するのもよいでしょう。
この場合、起動後一度だけチートをオンしたら、あとは無効化しときましょう。
チートをオンにしたままペイ・バルーサの部屋に入ると
剣の数が増えるという別のバグが発生します。





さて、肝心の実機で動かす場合はどうすればいいか。
手っ取り早い対策としてはソフトリセット、つまりリセットボタンが使えます。
いちどBASICを起動し、コマンドラインから「POKE&HE453,00」を実行したあと、
スロットにROMを挿してリセットボタンでゲームを始めればOK。
XDJで試した場合、この方法でいけました。
リセットボタンがない場合は、ボタンを押す代わり「DEFUSR=0:A=USR(0)」でも
大丈夫だと思いますが、こちらはまだ試してません。
電源を入れた状態でROMを挿しますので、
例によって破損の恐れがあることもいちおう書いときます。


最後になりましたが原因を突き止めてくださったVENOM@VNMさんに、
改めてこの場を借りてお礼申しあげます。


拙サイトの攻略記事にも対処法を追加しときましたのでご参考に。
http://psyzans.com/Testsite/Tritorn/Tritorn_02.html