※開発に興味のある人向けのページです。


とりあえずこれまでスレに乗っていた情報をまとめるページとして準備しています。後日ページを分けるなどして見やすく直していきたいと思います。

PCSX2 1.7 Qt版のビルド方法(Win環境)


ビルド環境
OS:Windows 10
Visual C++ 2019

1.準備
1-1.Visual Studio 2022コミュニティダウンロード(インストール)
https://visualstudio.microsoft.com/ja/downloads/
(WEBインストーラ)
上記URLよりコミュニティの無料ダウンロードしVisual Studio 2022をインストールする。
ダウンロードとインストールには若干時間がかかるので注意。
インストーラーが起動したらC++によるデスクトップ開発にチェックを入れる。
Professional Editionがあるなら当然それでOK。

1-2.TortoiseGitのダウンロード
GitをGUIで操作するためのソフトを導入する。
CUIでのGitの操作が分かっていれば必要は無い。
https://tortoisegit.org/download/
上記URLより自分のOSに合わせて32bit版か64bit版のいずれかをダウンロードしインストールする。
オプションは標準のまま何も考えずNEXTでOK
インストール後は再起動が必要
日本語化したい場合はページ下部のLanguage packsからJapaneseを探し言語パックをダウンロードしインストールし、
エクスプローラの適当な場所で右クリックしてTortoiseGit→Settingsをクリックすると設定画面が出てくるのでLanguageのタブから日本語を選んでOKを押せば日本語化される。
されない場合は一旦再起動すればOK。

2.フェッチとビルド(ソースコードのダウンロード)
2-1.Gitリポジトリのフェッチ
場所はどこでもいいので適当なフォルダを作成し、ダブルクリックして作成したフォルダ上にマウスポインタを置く。
右クリック→クローン(複製)を行う。
https://github.com/PCSX2/pcsx2.git
上記URLを、URL欄に入れて、「再帰的」にチェックを入れてクローンを行う。

2-2.依存ファイルのダウンロード
Qt版はソースコードをダウンロードしただけでは必要なファイルが足りずビルドできないので、追加のファイルをダウンロードする。
https://github.com/PCSX2/pcsx2-windows-dependencies/releases
上記URLから最新の依存ファイルをダウンロードし、解凍する。
2023年3月時点では、Qt6.4.0のファイルが最新なのでAssets欄のqt-6.4.0-x64.7zをクリックしてダウンロードする。
解凍したフォルダを、先ほどGitクローンしたディレクトリにある3rdparty\qtフォルダ内に移動させる。
例えばQt6.4.0をダウンロードしたなら、
(自分の作ったフォルダ)\3rdparty\qt\6.4.0\msvc2022_64\(以下略)
というフォルダ構造になっていることを確認する。

2-3.ビルド
ソースファイルのダウンロードが終わったら、pcsx2フォルダ以下の
PCSX2_qt.slnをダブルクリックする。
|Debug|x64|のようなプルダウンメニューがあるので選択し目的に合わせてRelease/Devel/Debugを選択する。

ソリューションエクスプローラーの「ソリューション"PCSX2_qt"(30/30プロジェクト)」を右クリックしてビルドを選択すると、プラグインと本体のビルドが始まる。
ビルドが終わると、(自分の作ったフォルダ)\bin\以下にpcsx2.exeができている。

ここでエラー(警告では無い)が発生する場合は(加筆修正よろしく)。


PCSX2 wxWidgets版のビルド方法(Win環境)(旧バージョン)

ビルド環境
OS:Windows 8.1
OS:Windows 10
Visual C++ 2019

1.準備
1-1.Visual Studio 2019コミュニティダウンロード(インストール)
https://visualstudio.microsoft.com/ja/downloads/
(WEBインストーラ)
上記URLよりコミュニティの無料ダウンロードしVisual Studio 2019をインストールする。
ダウンロードとインストールには若干時間がかかるので注意。
インストーラーが起動したらC++によるデスクトップ開発にチェックを入れる。
Professional Editionがあるなら当然それでOK。

1-2.TortoiseGitのダウンロード
https://tortoisegit.org/download/
上記URLより自分のOSに合わせて32bit版か64bit版のいずれかをダウンロードしインストールする。
オプションは標準のまま何も考えずNEXTでOK
インストール後は再起動が必要
日本語化したい場合はページ下部のLanguage packsからJapaneseを探し言語パックをダウンロードしインストールし、
エクスプローラの適当な場所で右クリックしてTortoiseGit→Settingsをクリックすると設定画面が出てくるのでLanguageのタブから日本語を選んでOKを押せば日本語化される。
されない場合は一旦再起動すればOK。

2.フェッチとビルド(ソースコードのダウンロード)
2-1.Gitリポジトリのフェッチ
場所はどこでもいいので適当なフォルダを作成し、ダブルクリックして作成したフォルダ上にマウスポインタを置く。
右クリック→クローン(複製)を行う。
「再帰的」にチェックを入れサブモジュールもフェッチすること。

2-2.ビルド
ソースファイルのダウンロードが終わったら、pcsx2フォルダ以下の
PCSX2_suite.slnをダブルクリックする。
|Debug|Win32|のようなプルダウンメニューがあるので選択し目的に合わせてRelease/Deval/Debugを選択する。

ソリューションエクスプローラーの「ソリューション"PCSX2_suite"(22/22プロジェクト)」を右クリックしてビルドを選択すると、プラグインと本体のビルドが始まる。
ビルドが終わると、自分の作ったフォルダ\bin\以下にpcsx2.exeが、bin\pluginsに各種プラグイン.dll(とビルド中に生成された不要なファイル)できている。

ここでエラー(警告では無い)が発生する場合は(加筆修正よろしく)。


GSdx のパッチ手順

対象となるソースファイルは、GSCrc.cppです。
ソリューションエクスプローラーの中のGSdx以下の、Source Files\GSCrc.cppファイルをダブルクリックすることで編集できます。

WildArms5を例にとると、
{0xC164550A, WildArms5, JPUNDUB, false},
{0xC1640D2C, WildArms5, US, false},
となっている箇所がWildArms5に対するパッチ処理を適用している箇所になります。

「形式」
{0x▲▲▲▲▲, □□□□□, ○○○, 0},

「意味」
▲▲▲▲▲・・・ディスク固有のCRC値(ページ下部参照)
□□□□□・・・GSdxプラグイン作者が作成した処理名称(ゲームタイトルかその略称)
○○○・・・日本語ディスクなら基本は「JP」(値は国ごとに決められている。凡例はGSCrc.hに記載)
0…変えなくてよいです。(一部ゲームに必要な処理の有無を表示?現在は一部のギャルゲにPointListPaletteという記述がされている)

このように、この形式の行を1行つけくわえると、特定のディスク(CRCの値を持ったもの)に対してパッチ処理が適用されます。

以下の処理は現在のGSdxには既に反映されているため新たにソースファイルを編集する必要はありません。

実際にWA5の修正では、以下の2行を付け加えました。
{0xC164550A, WildArms5, JPUNDUB, false},
{0xC1640D2C, WildArms5, US, false},
{0x2294d322, WildArms5, JP, false}, //qc Add for WA5JP
{0x565b6170, WildArms5, JP, false}, //qc Add for WA4JP

(//のあとの文字はコメント、覚書のようなものです)
これで再度ビルドして効果が出ているようなら成功です。

同様に付け加えた行は以下のとおりです。
{0x280ad120, FFXII, JP, false}, //qc
{0xC5DEFEA0, Okami, JP, false}, //qc
{0x0481ad8a, MetalGearSolid3, JP, false}, //qc
{0xb01a4c95, ICO, JP, false}, //qc
{0xCA6243B9, GT4, JP, false}, //qc
{0xE906EA37, GT4, JP, false}, //qc
{0x5ed8fb53, AceCombat4, JP, false}, //qc
{0xfc46ea61, Tekken5, JP, false}, //qc
{0xAA5EC3A3, TalesOfAbyss, JP, false}, // qc
{0x2294d322, WildArms5, JP, false}, //qc Add for WA5JP
{0x565b6170, WildArms5, JP, false}, //qc Add for WA4JP


報告のあった日本語ディスクのCRC

CRCの値は、ディスクを見分けるためにエミュの処理やパッチファイルなどで使用されるため、記録として残していこうと思います。

  • ICO(イコ)(CRC=b01a4c95)
  • エースコンバット04 シャッタードスカイ(CRC=EC432B24)
  • 大神(OKAMI)(CRC=c5defea0)
  • グランツーリスモ4(CRC=CA6243B9、E906EA37)
  • シャイニング・ウィンド(CRC=db4fa981)
  • シャイニング・フォース イクサ(CRC=8b383fdf)
  • 真・女神転生III-ノクターン マニアクス(CRC=0e762e8d)
  • 涼宮ハルヒの戸惑(CRC=428c0039)
  • ゼノサーガ エピソードIII [ツァラトゥストラはかく語りき](CRC=e0347841)
  • テイルズ オブ ジ アビス(CRC=AA5EC3A3)
  • テイルズ オブ デスティニー(CRC=A90CD846)
  • 鉄拳5(CRC=fc46ea61)
  • .hack//G.U. Vol.1 再誕(CRC=d5b63c1f)
  • ドラゴンクエストVIII 空と海と大地と呪われし姫君(CRC=1F3D5031)
  • ひぐらしのなく頃に祭(CRC=cda67466)
  • ファイナルファンタジーXII(FF12)(CRC=280ad120)
  • ペルソナ3 フェス(CRC=232c7d72)
  • ペルソナ4(CRC=4e63e63c)
  • メタルギア ソリッド3 スネークイーター(CRC=0481ad8a)
  • ワイルドアームズ ザ フォースデトネイター (CRC=565b6170)
  • ワイルドアームズ ザ フィフスヴァンガード(CRC=2294d322)

  • オーディンスフィア(CRC=731B4557)
  • 九龍妖魔學園紀(CRC=57782923)
  • 真・女神転生III-ノクターン マニアクス クロニクル(CRC=47ba9034)
  • サモンナイト4(CRC=D9233E31)
  • サモンナイト エクステーゼ ~夜明けの翼~(CRC=0C3E8D76)
  • 魔界戦記ディスガイア(CRC=D00037c4)
  • 魔界戦記ディスガイア2(CRC=4334E17D)
  • デビルサマナー 葛葉ライドウ 対 アバドン王(CRC=D06BF8A6)

  • 真・女神転生III -NOCTURNE(CRC=d60da6d4)
  • デビルサマナー 葛葉ライドウ対超力兵団(CRC=67d76160)
  • ペルソナ(CRC=305c3d28f)
  • DIGITAL DEVIL SAGA アバタール・チューナー(CRC=44865ce1)
  • DIGITAL DEVIL SAGA アバタール・チューナー2(CRC=e47c1a9c)
  • ロマンシング サガ -ミンストレルソング-(CRC=2b9af3c5)
  • ファイナルファンタジーX(CRC=6a4efe60)
  • アンリミテッド:サガ(CRC=20356da7)


現在GSdxに登録されていない日本語版ゲーム

GSdxには特定ゲーム向けの修正がいくつも入っており、ディスクのCRCで判別して適応しています。
ですが開発者やフォーラムのテスターは英語圏の人ばかりなので世界的に有名であったり日本語版がかなり先行して発売されたソフトを除くと中々日本語版ディスクのCRC情報が集まりません。
現在以下のゲームが海外版(北米やヨーロッパ版)のみ登録されており日本語版のCRCが未登録な状態です。
ゲームを一度起動するとコンソール画面に
ELF (cdrom0:\SLPS_252.50;1) Game CRC = 0x8A6D7F14, EntryPoint = 0x00100008
(SYSTEM.CNF) Detected PS2 Disc = cdrom0:\SLPS_252.50;1
と表示されるので(上記はFFX-2の例)、Game CRC =に続く英数字をCRC欄に、SLPx_yyy.yy(xはアルファベット、yは数字)をSLPx-yyyyyに直してID欄に書き込んでください。
コメントフォームを設置しますのでwikiの編集が出来ない人も気軽に投稿してください。
ゲーム名 ID CRC
FF X-2(非インタ版) SLPS-25250 0x8A6D7F14
シャドウハーツ SLPS-73418 0xDDFB18B0
ドラゴンボールZ スパーキング メテオ SLPS 25815 0xF28D21F1
ストリートファイターEX3 SLPS-20003 0x63642E9F
Bully SLPS-25879 0x019CFA48
ワンダと巨像 SCPS-15097 0x877F3436
ワンピース グランドバトル SLPS-25473 0x66953267
グランツーリスモ コンセプト
クラッシュ・バンディクー4 SLPM-62114 0xF8643F9B
スパルタン SLPM-66444 0x26689C87
ドラッグオンドラグーン2 SLPM-65999 0xDA6D80ED
ゴッドオブウォー SLPM-67010 0xCA052D22
ゴッドオブウォー2 SLPM-67013 0xE96E55BD
Jackie Chan Adventures
牧場物語
NAMCO x CAPCOM SLPS-25505 0x75C01A04
鬼武者3 SLPM-65413 0x71320CA8
Genji SCPS-15095 0xB4776FC1
ラジアータ ストーリーズ SLPM-65800 0xAC73005E
Rhapsodia SLPM-66105 0xB808413B
天誅紅 SLPS-25384 0x735A10C2
天誅 参 SLPS-25234 0x13DD9957
DEMON STONE
爆走コンボイ伝説
タイムスプリッター 時空の侵略者
RED・DEAD・REVOLVER
サイレントヒル3 SLPM-65257 0x8CFE667F
サイレントヒル2 SLPM-65051 0xE36E16C9

  • SLPS-25421 CRC:0xD2F0DC73 -- (牧場物語 Oh!ワンダフルライフ) 2011-06-12 12:33:36
  • SLPM-62114 0xF8643F9B クラッシュ・バンディクー4 非ベスト版 -- (名無しさん) 2011-07-08 15:06:08
  • ID:SLPS-25250 CRC:0x63642E9F -- (ストリートファイターEX3) -- (ひろし) 2011-07-18 11:12:23
  • ID:SLPS-20003 CRC:0x63642E9F -- (ストリートファイターEX3) IDこちらが正です -- (ひろし) 2011-07-18 11:15:11
  • ID:SLPM-74232 CRC:0xC1C77637-- (新鬼武者 ベスト版) -- (名無しさん) 2011-07-25 19:24:56
  • SLPM-66105 CRC:0xB808413B--(Rhapsdiaコナミザベスト版) -- (名無しさん) 2011-08-28 00:48:15
  • ID:SLPM-25207 CRC:0x2C16B37E -- (タイムスプリッター 時空の侵略者) 2011-10-05 19:59:59
  • SLPS-25207 CRC:0x2C16B37E (ID訂正) -- (タイムスプリッター 時空の侵略者) 2011-10-05 20:02:42
  • どうやっても真・三國無双4 Empiresがプレイできない -- (名無しさん) 2013-03-27 02:00:16
  • ELF (cdrom0:\SLPM_653.24;1) Game CRC = 0x992C9F92, EntryPoint = 0x00100008 起動できません -- (Gregory Horror Show - Soul Collector [NTSC-J] [SLPM-65324]) 2013-05-26 01:31:11
名前:
コメント:

すべてのコメントを見る

State Saveの解析

例えばFFX-2 IN+LM(SLPM_654.78)の場合

http://ps2.vs.land.to/ps2up/src/ps20157.jpg
39096 GILを増やしたいとする。この状態でF1を押しsstatesフォルダー内に
'E1FD9A2D.000'を作成。SaveState.cppのソースコードを読んでいくと
gzipped to/from disk state savesとある。つまりステートセーブには
gzip圧縮が使用されている。そこで'E1FD9A2D.000'を'E1FD9A2D.000.gz'に
リネーム。7Zipなどのソフトを使用し解凍。解凍された物'E1FD9A2D.000'
をバイナリーエディターで開く。39096をHEXに直すと&h0098b8この値を検索する。
数が小さい程、検索しずらいかと思います。
http://ps2.vs.land.to/ps2up/src/ps20158.jpg
数値を書換え保存する。保存後の'E1FD9A2D.000'は勿論無圧縮の状態なので
7Zipを使用し書庫形式を'GZip'・ワードサイズを'8'に変更後、圧縮する。
http://ps2.vs.land.to/ps2up/src/ps20159.jpg
完成したファイル'E1FD9A2D.000.gz'を'E1FD9A2D.000'にリネーム。
ソフトを立ち上げF3でロード。成功していれば以下の画像の状態になります。
http://ps2.vs.land.to/ps2up/src/ps20160.jpg
ロードできない、或いは変化が無い場合は失敗しているので
コード書換え前のデーターを再検索するところから繰り返す。

結論:チート目的で使うだけなら面倒な方法よりも
ツールを使う事を勧めます。これはあくまでもState Saveの
格納を解析する為の手段です。

Written by 名無し侍

タグ:

+ タグ編集
  • タグ:

このサイトはreCAPTCHAによって保護されており、Googleの プライバシーポリシー利用規約 が適用されます。

最終更新:2023年03月17日 00:23