createdvdでCHD化したのに警告消えねー→成功!~PPSSPP

ポク太郎です。

こーいう投稿は気が引けます。

理由は「ブログ更新停滞の理由がゲームだとバレるから」。ですが、せっかくのネタなので一応投稿。PPSSPPでのCHD化の話です。

ご注意
本記事の内容でcreatedvdコマンドによるCHD化は成功しましたが、PPSSPPには同じ警告が表示されたままであり、そこは成功しておりません。最新版chdman.exeが問題なのか、PPSSPPの誤認識なのか、現状特定できず。PPSSPPバージョンv1.18.1で成功しました!
使用したバージョン
chdman.exe MAME0.267に同梱のもの。
20240803に再検証)MAME0.268に同梱ので再検証。chdman.exe自体は更新されてるようですが、結果は同じく警告が消えません。
20241108に再検証)MAME0.271に同梱ので再検証。警告が消えました!ただし、成功の恐らくの理由はchdman.exeでなく、PPSSPPのバージョンがv1.18.1にアップデートされたこと。
PPSSPP v1.17.1
20241108に再検証)v1.18.1←Createdvd化&警告消去成功!


ISOイメージの容量削減にCHD化!

エミュレータがドンドコ便利になり、最近はイメージのCHD化でその記録容量まで削減してくれます。よく使用されるのがnamDHC

これはコマンドラインでしか使えないchdman.exeをGUI化してくれるツール。入力ファイル選択&出力フォルダを記入しボタン押すだけでCHD化してくれます。

が、最新版v1.13が2022年12月から更新されておらず、内包するchdman.exeが古いままです。

その古いchdman.exePPSSPPが要求するcreatedvdコマンドをサポートしておらず、必ずcreatecdコマンドが使用されてしまいます。

createcdコマンドでCHD化したイメージでも問題なく動きますが、PPSSPP画面上にこんな警告が。

createdvdでCHD化したのに警告消えねーよ~PPSSPP
Bad CHD file. Compress using “chdman createdvd” for good performance.
(悪いCHDファイルだ。良いパフォーマンスのためにchdman createdvd使って圧縮せい。)

もっと速くなるの?と聞くと、試したくなるのがジジイの性→createdvdCHD化する環境を構築し試しました。

使ったchdman.exeはMAME最新版の

上記namDHCに同梱されたchdman.exeに対しhelpコマンドを叩くと、createcdの表記は見えますがcreatedvdが見つかりません。

createdvdがある最新版chdman

namDHCの同梱物が古すぎなのかも。でもchdman.exeMAMEチームによる供給品なので、MAMEにも同梱されております。

ここで選んだ最新v0.267に同梱されたchdman.exeに対しhelpコマンドを叩くと、createdvdの表記が見えました。

この最新chdman.exenamDHCに放り込んでもcreatedvdコマンドを使ってくれる訳ではないので、バッチファイルを作成しCHD化することにします。

またPPSSPPのバージョンはv1.7.1。それ以前の安定板v1.6.6ではCHD化そのものが非対応です。追記→)v1.8.1で成功しました!

文章でツラツラ書いてて分かり辛いので、ここまでのトラブルと次項で行う方法を整理。

ここまでの話を整理
[Ⅰ]createdvdコマンド使えと警告出る状態 [Ⅱ]次項で行う方法
1 chdman namDHC同梱物

…同梱chdman.exe古くてcreatedvdコマンドが存在しない。
MAME最新版同梱物
2 CHD化ソフト namDHC

MAME最新版同梱のchdmanに入れ替えてもnamDHCcreatedvdコマンドを使ってくれない。
次項で作成するバッチファイル
ダウンロード後解凍してテキストエディタで開いて、
次項の通りご自身の環境向けに③④直して保存して、
chdman.exeと同じフォルダに置いて、
管理者として実行してね。
3 PPSSPP

…問題なく動くけど、createdvdコマンド使えと警告表示。
v1.7.1ならcreatedvdコマンド使えと警告出たまま
v1.8.1なら警告消えて成功!

バッチファイルの作成

これが作成したバッチファイル。内部の①②③④を自分の環境に合わせて編集し、chdman.exeと同じフォルダに置きます。

そのバッチファイルに対し、右クリック-管理者として実行して使用します。

@echo off
set isofo=F:\emu\psp\iso\←③
set chdfo=C:\Users\hoge\Desktop\chd\←④

D:←①
cd \emu\chdman-folder←②

for /r %isofo% %%f in (*.iso) do (
	echo ===== %%~nf 変換中… =====
	chdman createdvd -i "%%f" -o "%chdfo%%%~nf.chd" -f
	echo.
)
pause
D:\emu\chdman-folder\にこのバッチファイル(拡張子は.bat)とchdman.exeを置いた場合。
説明用の「←①②③④」は当然消してね。
バッチファイル入力例
バッチのドライブ: バッチファイルがあるドライブ名。例えばD:\emu\chdman-folder\にあるなら以下記入。
D:

バッチのディレクトリ バッチファイルがあるフォルダのパス。例えばD:\emu\chdman-folder\にあるなら以下記入。
\emu\chdman-folder
イメージ元ディレクトリ 変換目的のISOがあるフォルダのパス。例えばF:\emu\psp\iso\にあるなら以下記入。文末の\必須。
F:\emu\psp\iso\
CHD化イメージ格納先 出来上がったCHDを入れるフォルダのパス。例えばC:\Users\hoge\Desktop\chd\なら以下記入。文末の\必須。
C:\Users\hoge\Desktop\chd\

実行するとドンドコドンドコ変換されていきます。

元のサイズの70%になったり65%になったり40%にまでなったり。やたらと時間掛かるのにそれが楽しくてずっと見続けてしまいます。

結局createdvdでも変わらんやん→成功!

結果は上で書いた通り、何も変わらん。同じ警告が出たまんまです。

追記修正

PPSSPPバージョンv1.18.1にて成功しました!

…んで、よく考えたら記録フォーマットに対する良いパフォーマンス”なので、エミュの精度・速度がアップする訳では無し。せいぜいが読み込み時間改善。

どうせ読み込み時は早送りボタンでビーッて飛ばせるので、あんまり意味がありませんでした。ボケてたワ。

ただし、コメント欄に返信しましたが、圧縮後の容量が.chd.csoより更に100MB小さくなるなど、圧縮方式だけでそれだけ違います。

400500MB削減できたと喜んでるところへ更に100MB削減できるので、PSPソフトをたくさん持ってる方にとっては、まーそれなりに需要がある機能ではないでしょうか。

それでも圧縮率はcreatecdも同じなので、createdvdでなきゃいけませんとこだわる必要はありませんけどね。

ややこしいのでスキッとまとめると、

.chd化で容量は絞れるけど、createdvdが必須な訳じゃない。
createdvdならPPSSPPで警告消えるだけ。」

ボケてたワ。

まぁこーやって記録しておくと、次の新MAMEが出た際にすぐ試せます。一番の敵は“再挑戦が億劫”なので情報揃えておくだけで再挑戦の面倒クサ度が全然違います。

MAMEPPSSPPも開発中止ではないので、その内動きがあるかと。

何か判明したら本ページに追記・更新します。→成功しました!

コメント

  1. sic018 より:

    こんなこと言うとだけど、

    PPSSPPは、PSP実機に合わせ、ISOか、CSOが良いのではないでしょうか。

    ただ、実機でも、CSOは、圧縮具合により、音ズレ等、旨く動作しない場合があります。

    • pokutaro pokutaro より:

      >sic018さん
      つい最近(と言っても半年以上前だけど)、CHDの読み込みに対応したんです。
      何かいいことあるのか?と疑問に思う訳で。

      手持ちので試した所、圧縮の状況は以下でした。
      iso:1.71GB、cso:1.28GB、chd:1.18GB。
      chdはMAMEが更新される限り変化してく訳で、圧縮の方法だけで100MB違うってのはまぁデカいかな。わざわざCHD対応した理由はそこなんですかね。

      相互変換できるので、ケースバイケースで役に立つのかも。

  2. 匿名 より:

    ①②は
    cd /d %~dp0
    とすればバッチファイルの置き場所を気にせずにすみますよ

    • pokutaro pokutaro より:

      >匿名さん

      おお!ありがとうございます!
      その方が余計な編集要らずなのでスマートですね。
      助かります。

タイトルとURLをコピーしました