これはWindows7(32bit)をターゲットとした記事です。Windows10では試していません。
今までMark Grass Generic DriverやDavironica Generic Driverなどの汎用ドライバのお世話になりっぱなしだった。多分これからも。
聞き専wikiでオリジナルドライバの作り方を見て試しにやってみたら、たまたまできたので忘れないように記録しておく。先達に感謝。
必要なもの(ツールはググると英語サイトで見つかる)
- VGMToolbox(インストールは済ませておく)
- Psy-Q_46.zipの中身一式
- PSFoCycle.exe(PSFoCycle101.zipの中にある)
- SLPS_XXX.XX(PSのCDからハードディスクの適当な場所にコピーしておく)
手順
Psy-Q_46.zipをC:\に展開する。
ユーザー環境変数に追加する。(コントロールパネル→システムとセキュリティ→システム→システムの詳細設定→環境変数)
変数 値 PATH C:\PSYQ;C:\PSYQ\BIN PSYQ_PATH C:\PSYQ\BIN VGMToolboxを起動する。
折りたたみメニューからMisc. Tools→xSF Tools→PSF→PSF Stub Creatorを選ぶ。SLPS_XXX.XXを、Drop Files Hereのエリア(赤丸の場所)にドラッグ&ドロップしてみる。
下の方にこのような感じのメッセージが出たら、オリジナルドライバが作成できる予感。
Allow drivers with load address…にチェックを入れる。
Load Defaltsボタンを押す。なにやら数値欄がアドレスなどで埋まる。
『実際の値は○○○です。』の所が、0x80120000以上なら、さらにHighest Addressボタンを押す。
PSFDRV_LOADとPSFDRV_PARAMのアドレスを書き換える。
- PSFDRV_LOADは先ほどのメッセージに載っていたアドレスに。例)0x8010A800
- PSFDRV_PARAMはメッセージに載っていたアドレス+0x1000に。例)0x8010B800
あと、Driver Text Stringに適当な名前をつけるのを忘れない。
Add reverb information to stub,…にチェックを入れるとリバーブがかかるらしいが、かけたのとかけないのではあまり差は感じなかった。リバーブパラメータがなかったのかもしれない。
最後に、Drop Files HereエリアにSLPS_XXX.XXをドラッグ&ドロップする。
ドライバの作成が上手くいけば、SLPS_XXX.XXがある場所に、SLPS_XXX.XX.stub.cとSLPS_XXX.XX.stub.binが作成されている。
PSFoCycle101.zipを展開してPSFoCycle.exeを起動する。
Build Driver...ボタンを押すと、Build Driverのダイアログボックスが出るので、Stub fileにSLPS_XXX.XX.stub.binを指定する。
Original game EXE: にSLPS_XXX.XXを入力する。
Build...ボタンを押して、好きなドライバ名をつけて保存する。
これでオリジナルドライバファイルが完成。
PSF Makerでオリジナルドライバを使う時
PresetをPSF Stub Builder Defaultsにして、Source Driver Pathに作成したドライバファイルを指定する。
Highest Addressを指定して作ったドライバ(実際の値は0x80120000以上だったやつ)は赤丸の部分がこのままではいけない。
PSF Driver Stub Cerator画面に戻り、Load Defaultsボタンを押してから、Highest Addressボタンを押し、数値欄にアドレスを表示させる。
再びPSF Makerの画面に戻り、Load from Stub Makerボタンを押す。
SEQ OffsetとVH OffsetとVB Offsetが変わっていれば大丈夫。









6 件のコメント:
"実際の値は 0x80123800 です。"とログに出て、その後、Highest Addressを押したのですが、
"PSFSRV_SIZE cannot be empty."と表示されてしまい次のステップに進めません。(どこか初歩的な部分で躓いているとは思いますが、どうしても分からないので…)環境変数は設定済で、使っているバージョンはr1040です。
ごめんなさい、説明が足りなかったです。
一旦、Load Defaultsボタンを押して(すると数値欄に0x80...のアドレスが出る)から、Highest Addressボタンを押すのでした。上手くいくことをお祈りしています。
アドレスは、差を加算するのですか?それとも、表示された数値をそのまま入力するのですか?
非常にものわかりが悪くて申し訳ありません。
Highest Addressの場合は、特に数値を弄らなくてもいいような気がするのですが、弄るとしたらやはり、PSFDRV_LOADに0x80123800、PSFDRV_PARAMに0x80124800を入れてみてください。その後Driver Text Stringに何か適当な名前を入れて、SLPM_***.**を放り込むとドライバが作成されると思います。
上記の作業を全て行いましたが、"PSFDRV.OBJ : Error : Symbol 'SSSEPOPEN' not defined"
と表示されて作成できませんでした。このソフトは、この方法を使ってドライバを作成するのはムリみたいですね。
こんなくだらない質問に最後までお付き合いいただきありがとうございました。
最後の最後で上手くいかないのは何か悔しいですね。でも、オリジナルドライバで作ったPSFと、Mark Grass Generic DriverやDavironica Generic Driverで作ったPSFはそれほど違った感じもしませんでした。<(_ _)>
コメントを投稿