雑 Flash Guardの紹介とKENBOさんタイポケ投稿分 とsample切り出し

ROM抽出,日常Flash Guard,Reshade,ネタ,レスキューショット ブービーぼー

Flash Guardのご紹介

コメントにて作者さんより情報提供いただきました
ダウンロードでzipとパラメーター入りのPDFもダウンロードしましょう

ReshadeというDLLにフックをかける汎用シェーダーツールがありまして


そちらのプラグインとして動作し、点滅を中和するシェーダーになります

利点はチートコードや改造が不要で、汎用性が高く多少の調整作業で打ち消せること
欠点はマシンガンで乱射するようなゲームだとコマ落ちしてしまいます。

インストール

Reshadeは検索すればインストール方法が腐るほどあるのでググって調べてください
インストーラーにエミュレーターの実行ファイルを指定していると思うので
そちらにreshade-shaders/ShadersにFlash Guard(JP).fxをコピーすればOKです。

あとはHOMEキーを押してチュートリアルを読んだら
Flash Guard(JP).fxを有効にして設定するだけ!

実例

レスキューショット ブービーぼーです!

Duckstation/Vulkan レスキューショット ブービーぼー A色のみ 90/91/255 感度0.85

余談ですが、最近Duckstationベータ(10666以降)は
この作品のキャリブレーションの画面が通過不可能です
0.1-10570-g1ef7ce0d7 (dev)なら正常動作します
マイナータイトルなので報告されてなさそう。

他にタイムクライシス3も検証しました
PCSX2/Vulkan タイムクライシス3 120/120/120 A色のみ 感度0.85
ただしマシンガンを使うと画面が固まります;

他のゲームはいくつか検証されているので
PDFファイルと作者さんの調整動画を見てもらえればよいかと思います。

KENBOさん投稿分 QIX PSPタイトーポケット

なんとかQIXが起動できるようになったので
BATファイルを記載させていただきます。恒例のNo Soundですが、、、

QIXのqq27.u27(audiocpu)はROM内に怪しい箇所があったので
切り取ってみましたがだめでした。QIX2…u7って記載だったのに

QIX
———————————————–
bcut QIX.ROM qq4_rev2.u4 0x1C800 0x800
bcut QIX.ROM qq5_rev2.u5 0x1D000 0x800
bcut QIX.ROM qq6_rev2.u6 0x1D800 0x800
bcut QIX.ROM qq7_rev2.u7 0x1E000 0x800
bcut QIX.ROM qq8_rev2.u8 0x1E800 0x800
bcut QIX.ROM qq9_rev2.u9 0x1F000 0x800
bcut QIX.ROM qq10_rev2.u10 0x1F800 0x800
bcut QIX.ROM qq12_rev2.u12 0xC000 0x800
bcut QIX.ROM qq13_rev2.u13 0xC800 0x800
bcut QIX.ROM qq14_rev2.u14 0xD000 0x800
bcut QIX.ROM qq15_rev2.u15 0xD800 0x800
bcut QIX.ROM qq16_rev2.u16 0xE000 0x800
bcut QIX.ROM qq17_rev2.u17 0xE800 0x800
bcut QIX.ROM qq18_rev2.u18 0xF000 0x800
bcut QIX.ROM qq19_rev2.u19 0xF800 0x800
———————————————–
qq27.u27は2KB(0xFF)のダミーファイルを作成し
CRCをf3782bd0に書き換え後に全てのファイルをqix.zipにまとめてください
No SoundでFBNEOとMAME0.284で起動可能です。

初回起動時に言語設定画面が出てフリーズしますが
再起動すると普通に動作しておりました。音がないと寂しい、、、

エレベーターアクションは中途半端な抽出となり動作不可かもしれません。
万が一動くようであれば報告したいと思います。

KENBOさんより追加分の投稿があったのでご紹介
TaitoLegends分(0.106)でもBGMなくてSEだけだったんで、しょうがないですね;

バッチ投稿ありがとうございました!

匿名希望様よりタイポケsample切り出しができるかも情報

既にご承知の通り、PS2版タイトーメモリーズには zarala 様 製
「タイトーメモリーズ BGM/SE再生」 ツールによる wav抽出が可能で、
PS2版を所持しているならば、そちらを流用するのが手早いかと存じます
(ただし、先頭部分に微量の無音時間が含まれるので気になる場合は調整が必要かも)

今回、この手法を PSPタイトーメモリーズポケット のみの場合でも
適用できるのではないかと愚考しました

ルナレスキューを例に

・SEはファイル LRESCUE.ZSE 内に 収納
・バイナリ”00 07 77 77 77 77 77 77 77 77 77 77 77 77 77 77”で区切られている
 (ルナレスキューのケースでは全 12 SE)ので、切り分ける
・wavに変換する、ただし ファイル LRESCUE.SDH の情報を元に各SE毎、周波数を調整する
・Audacityや直接バイナリ書き換え 等により微調整

大まかにですが、以上の工程でwav可した SE が抽出可能となります
ただし当然ながら、サンプルファイル(効果音ファイル)として
ファイルサイズやCRC 情報は乖離しています

簡易ではありますが、下記に具体的な手順を記載します

1. gzh を展開 (PSPの場合は USRDIR\GAMEDATAから?)

2. PSound にて LRESCUE.ZSE を開く
(LRESCUE | 00000 ~ LRESCUE | 00011)

3. LRESCUE.SDH をバイナリエディターで開き周波数を確認
 
0x58〜0x59 “22 56” → LRESCUE | 00000
0x68〜0x69 “22 56” → LRESCUE | 00001
≀
            ≀
0xF8〜0xF9 “80 BB” → LRESCUE | 00010
   0x108〜0x109 “22 56” → LRESCUE | 00011

備考
     22 56 → 22050 Hz
   44 AC → 44100 Hz
    80 BB → 48000 Hz

4. PSound ツールバー右端 Configuration の Sample rateにて
 希望の Hz を選び、Force to にチェック
 wav変換したいファイルを選択し、Convert から保存

 なお、周波数(Hz)を間違えて変換した場合、
 バイナリエディタで変換後のwavファイル 0x18〜0x19 部分書き換えでも修正可能

以下の作業はお好みとなるかもしれませんが……

5. PSoundは変換後、
 バイナリ末尾に LIST~(“4C 49″をスタートに28バイト分)チャンクが付いてしまうので削除する
 減った分ヘッドの総量情報(0x4〜0x7 “xx xx xx xx “)を正しく書き換える

面倒な場合は”input.wav”としたうえで、下記の Python を適当な名前で動かしてください……

import struct

# 入力ファイル
input_file = “input.wav”
# 出力ファイル
output_file = “output.wav”

# 1. WAVファイルを読み込む
with open(input_file, “rb”) as f:
data = f.read()

# 2. 末尾LIST/INFOチャンクを検索して削除
list_idx = data.find(b”LIST”)
if list_idx != -1:
print(f”LIST Delete chunk Offset: {list_idx}”)
data = data[:list_idx]
else:
print(“LIST No chunks found, no need to delete”)

# 3. 先頭ChunkSize(0x04~0x07)を修正
# ChunkSize = ファイル全長 – 8
chunk_size = len(data) – 8
print(f”After modification ChunkSize: {chunk_size} (0x{chunk_size:X})”)

# 4バイトリトルエンディアンで上書き
data = data[:4] + struct.pack(‘<I', chunk_size) + data[8:]

# 4. 出力
with open(output_file, "wb") as f:
f.write(data)

print(f"The modified file has been saved: {output_file}")

6. Audacity 等のツールで微調整を施す(再生時にプツッといった音が気になる 等の場合)

最後に mame lrescue サンプルファイル(効果音ファイル) 9個

alienexplosion
beamgun
bonus2
bonus3
rescueshipexplosion
shootingstar
steph
stepl
thrust

しかし SEは 12個、用意されて……面白いですね

追加情報分です。

”なお、周波数(Hz)を間違えて変換した場合、
バイナリエディタで変換後のwavファイル 0x18〜0x19 部分書き換えでも修正可能”

と記述しましたが、手動で変更した際の ByteRate 修正を忘れていました
0x1C〜0x1F 部分になります

ルナレスキューのケースでは
Hz × 1ch × 16bit ÷ 8 ……でよかったかな……

一応、参考がわりに

“22 56 00 00” → 22050 Hz とした場合 → “44 AC 00 00”
“44 AC 00 00” → “88 58 01 00”
“80 BB 00 00” → “00 77 01 00”

PSound は 容量が大きいファイルはフリーズする 等、色々と不備もあると思います
(cube media player 2 + MFAudio は古すぎるでしょうか……)

もっと洗練された手法もあると思います
どうか踏み台がわりにでもしていただければ幸いです

以下はJackさん投稿分の切り出しバッチです。

[LRESCUE.ZSE-cut.bat]================================
bcut.exe LRESCUE.ZSE 1.temp 0 0x3180
bcut.exe LRESCUE.ZSE 2.temp 0x3190 0x4dd0
bcut.exe LRESCUE.ZSE 3.temp 0x7f70 0xed0
bcut.exe LRESCUE.ZSE 4.temp 0x8e50 0xeb0
bcut.exe LRESCUE.ZSE 5.temp 0x9d10 0xeb0
bcut.exe LRESCUE.ZSE 6.temp 0xabd0 0x2d70
bcut.exe LRESCUE.ZSE 7.temp 0xd950 0x7430
bcut.exe LRESCUE.ZSE 8.temp 0x14d90 0xc190
bcut.exe LRESCUE.ZSE 9.temp 0x20f30 0x4d0
bcut.exe LRESCUE.ZSE 10.temp 0x21410 0x14320
bcut.exe LRESCUE.ZSE 11.temp 0x35740 0x14a90
bcut.exe LRESCUE.ZSE 12.temp 0x4a1e0 0x35d0
==================================================

MrVexarさんより投稿いただきました

ご協力いただいた皆様、ありがとうございます!うまく翻訳されていることを願っています。
サンプルファイルの抽出ガイドは素晴らしく、Taito Legends 2の英国版でも動作しました。
PSP版をプレイして、12個のLunar Rescueの.wavファイルのそれぞれが何なのかを調べてみました。
これが私の推測です。いくつかのサウンドの再生方法についての説明を追加しました。

LRESCUE_00000.wav -> beamgun.wav (画面上方へ突き上げる際に再生されます)
LRESCUE_00001.wav -> rescueshipexplosion.wav
LRESCUE_00002.wav -> alienexplosion.wav
LRESCUE_00003.wav -> steph.wav (人を救出する際の甲高い足音)
LRESCUE_00004.wav -> 未使用だと思います
LRESCUE_00005.wav -> stepl.wav (人を救出する際の低めの足音)
LRESCUE_00006.wav -> 船の上部に入る際に再生される音です。このサンプルはMAMEではエミュレートされていますが、PSP版では置き換えられています。
LRESCUE_00007.wav -> shootingstar.wav (救助船が画面下部に降下する際の音です。)
LRESCUE_00008.wav -> bonus2.wav (救助された人がスコアに加算された際に再生される音です。)
LRESCUE_00009.wav -> 6人を救助した際の音です。 MAMEではエミュレートされていますが、ゲームプレイでは置き換えられています。
LRESCUE_00010.wav -> bonus3.wav (このサウンドのトリガーは不明です)
LRESCUE_00011.wav -> thrust.wav (画面下降中にスラストを行う際の音です。正しいサンプルだと思いますが、PSP版に近づけるため、曲の最初の0.1秒を切り取る必要がありました。スラスト音には複数のサウンドが使用されていると思われるため、2つのサンプルが同時に再生されている可能性があります。) 

これは素晴らしい!
推測いただき感謝いたします。

匿名希望さんより情報提供です
いつもコメントありがとうございます、情報を生かしきれず申し訳ないです;


サイレントスコープは、仕様上ガンコン対応諦めた感じだったんですね
今は普通にTPSやFPSばかりですので、それも仕方ないかなと

というわけで、たぶんできるんじゃないかな?と情報の投稿を頂きました!
いけると思いますけど所持してないとどうにもこうにも;
サンプル数多いのはメーカーならでは、なのかも?

コメント投稿ありがとうございました!

ひとのこころとかないんか?

ガンコン初代(PS1用)とタイムクライシス3(PS2)のセットて…

タイムクライシス3はPS2用なのでガンコン初代は使えません
PS2は基本的にガンコン2のみ対応です(EU版の一部に旧ガンコン対応があるとか)
ガンコン2まではブラウン管のみ、液晶系は非対応。動作しにくいケースって何?!

知らない人が買うのか知ってて買うのか
それにしたって個別に買えば安いですしねえ。

PCSX2にバグレポ



ニンジャアサルトがキャリブレーションで盛大にズレるんですよ

調べたら
{“SLPS-20218", 90.0f, 92.0f, 320, 134, 640, 240}, // Ninja Assault (J)
{“SLUS-20492", 90.25f, 92.5f, 390, 132, 640, 240}, // Ninja Assault (U)

他の製品パラメータでも320は異常に低いのでこれをいじってみました

修正後
{“SLPS-20218", 90.0f, 92.0f, 390 134, 640, 240}, // Ninja Assault (J)


ガンコンの手動設定で確認済です

いきなりプルリク投げていい物か分からないのでバグ報告にしておきました(弱

しめ

けっこうな雪が降ってえらいことに!
南岸低気圧で湿った雪がほとんどなのに
今回はやたらさらさらした雪で積もりましたねえ
マイナス4度予報とか出てるし、さむいさむい;;

皆さんも体調にはお気を付けください。

ROM抽出,日常

Posted by あんこ