スキップしてメイン コンテンツに移動

最新の投稿

ツール紹介 Advanced SNES ROM Utility

 今回は「Advanced SNES ROM Utility」というスーパーファミコン用のROMイメージ編集ツールをご紹介致します。内容的にはROM CheckerとLunar Expandを統合したようなツールで、ROMのタイプ(HiROM/LoROM)のチェックとROMイメージのサイズを変更できるのですが、その他にも色々と面白い機能が実装されています。以下がその一例です。 チェックサムの修正 ヘッダの追加と削除 ROMサイズの変更 ROM情報(タイトル、リージョン、バージョン、特殊チップの有無など)の編集 パッチの適用 ROMイメージのHiROM/LoROM相互変換  特に嬉しいのは「ROMイメージのHiROM/LoROM相互変換」の機能です。キャプテン翼4や5のROMイメージのHiROM化( https://www.retrogamelaboratory.com/2024/06/loromhirom.html )の際に触れたように、私は今までLoROMのROMイメージをHiROMに変換する場合は各バンクの間にいちいち8000h分の空データ(00)を追加していたのですが、このツールを使用すれば自動的に各バンクの間に8000h分の空データ(FF)を追加してくれます。こんな便利なツールがあるのであればもっと早く知りたかったですね…。ともあれ、これによりLoROMのバンクサイズの関係でデータを追加しにくかった作品も大幅に手を加えやすくなるのではないでしょうか。ツールに関する詳細は以下のURLをご参照下さい。 https://www.romhacking.net/utilities/1638/

第4次スーパーロボット大戦 自軍メンバー登録限度拡張に関しての考察

 ざっと解析してみたところ、自軍登録メンバーの数を65以上にするにあたっての課題点が見えてきました。以下にその課題点を列挙していきます。

  • 各種データの計算用RAM領域。これに関しては足りない分をコーエーの作品に見られる大容量SRAMや特殊チップ搭載ROMのように「外付けRAM」で増量してそちらに読み込みデータを逃がして展開させればいいが、中断データのセーブ・ロードの際の内容を大幅に変更しないと実現が難しい。外付けRAMがSRAMだった場合はリセットしたり電源を落としてもデータが更新されるまで逃がした展開データが保持され続けるので、中断データがある状態で別データのプレイをするとSRAM領域のデータが更新されてしまい内容が消えてしまう(=中断データが正常に再現されない)。特殊チップに展開する場合はリセットしたり電源を落とすと展開データ自体が消えてしまう。いずれにせよ、中断データにこの展開データを別領域にセーブ・ロードする処理を組み込む必要があり、作業量を考えると現実的ではない。
  • 通常のセーブデータに保持できる内容はRAMでいうところの7E1000〜7E15D5まで。これより下の領域にセーブデータの内容を拡張しようとすると中断データに影響を及ぼし、やはり外部RAMへの展開データ拡張とセーブ・ロードの方式の変更が避けられない。
  • 登録可能数を増やすとその分だけRAM各パラメーターの読み込み領域も増やさないといけない。通常は自軍・敵軍を合計して64体分で、これを超過するとRAMからデータがはみ出して不具合を起こすので一部パラメーターの分を丸ごと外部RAMに移す必要があるが、例によって中断データに影響を及ぼす。
  • MAP上では展開データ領域は自軍・敵軍で共用64体分を使用するが、インターミッションでは同じ領域を自軍のみで64体分を使用する。つまり、逆に言うとそれぞれで使用するRAM領域が違えばインターミッションで使用するRAM領域だけ増やせばいいという事になる(MAP上で自軍・敵軍を合わせて65体以上出現させなければいいだけなので)。
 以上の内容から見えてくるのは「7E1000〜7E152Dまでに登録データ数を保持しつつ不要と思われる内容を整理してセーブデータ領域に空きを作り、この空き容量を使って残りの登録データ容量を拡張。そしてインターミッションでのパラメーター閲覧や機体改造、乗り換えなどの作業実行の際には外付けRAMを指定してデータを展開して処理、対してMAP上では従来の通常メモリマップ内のRAMを使用して展開データを処理する」、つまりインターミッションの時だけ外付けRAMを使って増加させたデータを処理するという方法です。こうする事によって、理論上はセーブデータのSRAMへの書き込みや読み込み処理の大幅な改変をせずとも登録メンバーを増やせるのですが、そのためにはやはりSRAMに保存されるデータを一部減らさなければなりません。そうなると候補になるのが武器の個別改造とパイロットの撃墜スコアです。仮に武器の個別改造を捨ててパイロットやユニットの保持数を引き上げようとした場合、計算上は従来の64体から80~83体(個人的には80体を推奨したいところです)、パイロットの撃墜スコアを削除すればもう少し増やす事が可能になりますが、撃墜スコアはこれを利用した未使用のイベントコードが存在するので削除を避けたいところです。「武器の個別改造を捨てても16体分くらいしか増やせないのか」という見方もありますが、16体分増やせればできる事の幅は色々と広がると思います。

 SRAM容量はROM内のRAM容量の項目を変更すれば最大で256kbiteまで増やせるので容量不足の心配はありませんが、問題はインターミッションの時だけ外付けRAMにアクセスしてデータを書き込み・読み込みできるという処理が実現できるかどうかですね。これによって登録メンバーの拡張ができるかどうかの明暗が分かれますが、できる限り実現への努力をしてみるつもりです。

コメント

人気の投稿

第4次スーパーロボット大戦 改造コスト&改造数値分岐パッチを公開しました

第4次スーパーロボット大戦 初期型ROMと後期型ROMの物理的な見分け方と入手方法

第4次スーパーロボット大戦 コマ送りモードについて