エミュを改造したかった(挫折予定)
あまり現実的ではないのだけど。ソースコードつきのエミュレータを、どうにかして改造できるようにしたい。まあ、理由は言わずもがな。ここ数日の記事を見れば分かってしまうくらい、単純なものです(主にチートコード関連)。
というわけで、元々VirtuaNESの改造品であるそのアプリケーションのソースを見ることで、ソリューションファイル・コンパイラがVisual Studio2005だと割り出し、インストールしたわけです。
しかし、導入最初ということで色々とやることがある。まず、SDKの類をインストールしなければならなかった。
Microsoft Platform SDKに始まり、DirectX SDKも一緒に入れることに。1HDDを2パーティションに分けてデュアルブートしているPCなので、容量キツキツで厳しい。もう一個のOS(Vista)に2008を入れて、サガフロの画像部分のバイナリを覗こうとして頓挫したことがあったが(しかも使ってたのはVCじゃなくVB)、まあその時も扱い切れていなかった。既に消してある。
はい、VC++入りました。ばんじゃーいばんじゃーい。・・・とはいかず、まだやることがあった。
コンパイルしていて出てくる警告は、ただ単に「標準関数の、より高セキュリティのものを新たに作ったので、古いのを使っただけで警告が出るようにしました」という類のものであったので無視したが(それでも100単位で出るが)、先のSDKに入っているライブラリ等は、インストールだけでは自動的に読みに行ってくれないことが殆どらしい。
というわけで、ツールのオプション内、プロジェクトおよびソリューションの VC++ディレクトリ に、以下のパスを追加することになった。もちろんググって調べたり、既に新しいページに変わっていたものをインターネットアーカイブで見て、その記述をぶっこ抜いただけです。
更に、見つけたページ(インターネットアーカイブ)に言われるままに、プロジェクトのプロパティ内「構成プロパティ→リンカ→入力」にて、
-
- Kernel32.lib
- user32.lib
- gdi32.lib
- winspool.lib
- comdlg32.lib
- advapi32.lib
- shell32.lib
- ole32.lib
- oleaut32.lib
- uuid.lib
を追加してみた。
これらを網羅する前にも、主に「存在しないパラメータ読み出した」的なエラーで首をひねることしきりだったが、とりあえずこれらの設定を全て行ってみたら、ビルド完了、exeファイルを実行することもできた。そのexeによるファイル読み込み、読み込んだゲームの動作も(OPだけだが)確認できた。一歩前進。
ただ、公開されているものが780KB程度のところ、ここでできたものは2MBくらいだったりするので、何かがおかしい、あるいは必要ないものまでも同梱されている状況かもしれない。関係ありそうなものを根こそぎくっつけているので、もっとちゃんと把握しないと駄目なのだろう。
また、言語プラグイン用の開発ツール(ソースコード)も入っていたが、これはビルド完了をさせてもうまく機能しない。完成品を、本体と同じフォルダに入れたら読んでくれるはずのものだが、「んなもんねーよ」と仰っている。勉強するガッツが出ません。
これも、88KBだったものが500KBになったりしてるので、何か間違えているような気がする。が、普段弄ってないものを急にやろうとしても、よくわかりませんでした。むしろ、よくビルドしたものを動かすところまでいったとは思う。
ここまでで、ソースを弄る気力まで使い果たしたので、たぶん続きません。おやすみなさい。本当は他のことやりたかったのに。
ちなみに、VirtuaNES自体はたぶんVC++6.0で作られた物だと思われる(プロジェクトファイル、開発日時等を見る限り)。