キャプテン翼4や紋章の謎などの各種データ拡張のためにROMイメージの大型化を検討していましたが、LoROM特有の面倒な仕様=8000h単位でバンクが切り替えられてしまうため、大きなデータを移設するには色々と不自由していました。そこで、ふとした思い付きからROMイメージの仕様そのものを変更できないかと試みてみました。簡単に言えばLoROM仕様のROMイメージをHiROM化する事によりバンク切り替えの仕様を8000h単位から倍の10000h単位にしてしまおうという訳ですが、各種プログラムを移動させるとアドレスアクセスのためのデータを全て変更しなければならず、さすがにそれは面倒なので試しに元のLoROMの各バンク8000h毎に8000h分の空データ(=全て「00」や「FF」で埋めたダミー)を挿入し、これにより各アクセスアドレスを変更する事なくデータ位置を変更し、なおかつROMヘッダの15h(00FFD5)に+01してHiROM化してみました。これで理論上はアクセスデータのアドレスを変更する必要はない事になります。 これによりROM容量は元の倍の容量になってしまいましたが、1.5MBのキャプテン翼4(変更後は3.0MB=24メガバイト)や2.0MBのキャプテン翼5(変更後は32メガイト)はLoROMではなくHiROMとして認識され、かつ本来はメモリマップ上の領域が変更されるはずのSRAMも正常に読み書きがされました。なお、変更前に3.0MBだった紋章の謎は6.0MB(=48メガバイト)に拡張したところ残念ながら正常に起動しませんでした。エミュレーターによるのかもしれませんが、どうやら拡大後のROMイメージが4MB=32メガバイトに収まり、そしてSRAMの容量が8KBのように小さければLoROMの状態でもHiROMの状態でも問題は起こらないようで、正常にROMの中身が所定の位置にメモリマッピングされています。そしてこれを実行した後でメモリの状態を調べてみると、どうやらの400000~7DFFFFはROMの中身の常にLoROMの状態=つまり下位アドレス状態で408000から10000h単位で展開されており、上位アドレス(4000000や500000)には何も書き込まれていません(=「00」の状態)でした。ROMの上位アドレスに書き込んだデータはC00000以下のアドレスから
作成したファイルでデータを変更したものをテストプレイし、動作の確認が取れましたので、PS版スーパーロボット大戦F完結編のBNE2用設定ファイルを公開します。この設定ファイルで変更できるのは以下の内容です。
- 参戦作品単位のBGM設定
- レベルアップに伴うゴッドガンダムHの武器改造レベル
- 各種バリアの限界値
- 各種改造コストや上昇値設定
- パイロットの各能力成長パターンのテーブルデータ
- 精神コマンドのSP消費量と対象者設定
- 各種地形適応係数
- レベルアップに必要な経験値
- 武器データの各種設定
- ニュータイプや聖戦士補正の数値
- パイロットのオフセットテーブル
- パイロットの各種パラメーターや所持スキルなど
- 機体のオフセットテーブル
- 機体の各種パラメーターや所持武器など
https://ux.getuploader.com/retrogamelaboratory/download/83
ファイル解凍に必要なパスワードは「k5ea)ZU.5ph*HGL,a#R8)J4*-v-M6iwHx!zykM8H」です。今後の予定としては攻撃アニメーションエフェクトの座標変更や改造ボーナス値の設定のほか、余裕があればシナリオデータの解析を行いポセイダルルートとDCルートの統合版のようなものを作ってみたい(没データにある逆襲のシャアシナリオの再現や新規シナリオの作成などではなく、あくまでポセイダルルートとDCルートのイベントを両立できるようなもの)と考えています。
コメント
コメントを投稿