殺意の接吻 KISS OF MURDER(MSX2/DISK版)のサウンドを本体内蔵FM音源で鳴らしてみよう

「殺意の接吻 KISS OF MURDER」の MSX2/DISK版 ですが、FM音源の検索部分にバグがあり、一部のMSX2+/turboRの本体内蔵FM音源や、拡張スロットに差したFM-PACを認識してくれません。

ディスクにパッチを当てることで、このバグを修正しよう、というページです。

改造しよう

事前準備

改造方法

元に戻すには

雑談

もともとなぜ認識しないのかというと、このゲームのFM音源を検索するプログラムに不具合があるからです。

MSXは、0から3までの4つの基本スロットがあり、それぞれのスロットの下にはさらに0から3までの4つの拡張スロットを設けることができます。

MSX2+までの機種のスロット構成はメーカーごとに異なっており、例えばA1WXとF1XDJでは内蔵FM音源のスロットが違います。

以下の緑色の部分がFM音源のスロットなのですが、A1WXではスロット0-2に、F1XDJではスロット3-3に存在します(MSX SLOT INFORMATION VIEWER ONLINEより)

また、MSXの64KBのメモリ空間には、PAGE0(0000H-3FFFH)、PAGE1(4000H-7FFFH)、PAGE2(8000H-BFFFH)、PAGE3(C000H-FFFFH)の16KB単位で別々のスロットを割り当てることができます(こうして表に出すことでアクセスできるようになります)。

FM音源が存在するかどうかのチェックは、PAGE1(4000H-7FFFH)のスロットを切り替えながら特定の文字列を探すのですが、このスロット切り替えプログラムはとても面倒かつ危険なので、BIOSのスロット切り替えルーチンを使うことが推奨されています。

「殺意の接吻」の場合は、この切り替え部分をBIOSを使わずに自前で実装しているのですが、残念ながら不具合があります。

ざっくりいうと、「殺意の接吻」のFM音源検索ルーチンは、基本スロット3以外では、拡張スロットの切り替えが正しく行われません。

そのため、スロット0-0、スロット1-0、スロット2-0、スロット3-0,3-1,3-2,3-3にFM音源が存在する場合は大丈夫なのですが、それ以外の場所にFM音源があっても見つけることができません。

A1WX/ST/GTなどのPanasonicの2+やturboRは、スロット0-2にFM音源があるため、「殺意の接吻」ではPSGでのサウンドになってしまうのでした。


戻る