思い出すのに使う日記

よくある備忘録

PS2 FHDB OPL-DBからPS1起動の備忘録

PS2にFHDB導入してOPLからPS1起動の備忘録

2023年9月、PS1をHDDから起動したくて導入開始。

SCPH-50000(BBUnit)をHDD250GBに換装、Free HDBoot(v1.966)導入済。OPL-DBを導入していった時の作業メモ。

OPL-DB導入後にOSDSYSをメニューを少し調整

OpenPS2Loader Daily-Builds (OPL-DB)

PS1とPS2のリストをOPLで表示したいので「Daily-Builds」の方を導入。

今回使用したのは「OPNPS2LD-v1.2.0-Beta-DB-2203-aa531a8.7z」(Releases)。
日本語表示にするのでDB用のlngファイル「lang_Japanese_r2134.lng」(lng)もダウンロード。

日本語表示に使うフォントの用意

lngファイルに日本語表示用のフォントは付属していない(たぶん用意されて無い)ので、使用するフォントを探します。

今回は Google Fonts の Noto Sans Japanese をダウンロードして「NotoSansJP-Regular.ttf」を使用します。
使用するフォントが細いと表示がちらつき易く(環境による?)、太過ぎるとはみ出す箇所があるのでまずはRegularで様子見。

USBメモリでファイルをPS2内HDDへ

用意したファイルをUSBメモリへ入れていきます。

・「OPNPS2LD-DB.ELF」
「OPNPS2LD-v1.2.0-Beta-DB-2203-aa531a8.7z」を展開して中の「.ELF」を使用。
「OPNPS2LD-v1.2.0-Beta-DB-2203-aa531a8.ELF」のままだとファイル名長いのでリネームしています。
「OPNPS2LD-v1.2.0-Beta-DB-2203-aa531a8.ELF」をファイル名長すぎるので丸ごと。
・「lang_Japanese_r2134.lng」(lang_***.lng)
・「font_Japanese_r2134.ttf」(font_***.ttf / font_***.otf)
フォント(.ttf)ファイル「NotoSansJP-Regular.ttf」を***が同じになるようにリネーム。OPL内での表示名も兼ねる?

ファイルを入れたUSBメモリPS2に接続。PS2で「LaunchELF」を起動してUSB(mass:/)からファイルをコピー。

Path: hdd0:/+OPL/
 OPNPS2LD-DB.ELF

Path: hdd0:/+OPL/LNG/
 lang_Japanese_r2134.lng
 font_Japanese_r2134.ttf

「+OPL」「LNG」が無ければ作成。R1:Menu(R1ボタン) で表示されるMenuから New Dir 。

言語設定

用意したファイルのコピーが終わったらUSBメモリを取り外して先ほどコピーしたOPNPS2LD-DB.ELFを起動。この時点では追加した .lng .ttf が言語設定に表示されないので一旦設定保存して終了。
Save Changes (Settings Saved to pfs0:)>Exit
(USBメモリやMCが接続されている時、この設定の保存先が Save to mass: / mc0: になってしまう場合がある)
再度 LaunchELF から OPNPS2LD-DB.ELF を起動します。
言語設定は Display Settings>Language の「English (internal)」を選択して上下で選択。追加した「Japanese_r2134」があるはず。
変更したら Display Settings 画面の一番下の「OK」を選択して設定画面を抜けると設定が適用される。設定後は Save Changes (設定を保存する)を忘れずに。

他の設定

今回はOPL-DBでHDDからPS1ゲーム起動が目的なので、
・「HDDデバイスモード(HDD Device Start Mode):自動(Auto)」
・「PS1ゲーム 画面モード(PS1 Games display mode):自動(Auto)」
を設定しておきます。
他「Settings(設定)」「Display Settings(表示設定)」の項目をいくつか。

Settings(設定)

Debug Colors :オン推奨(無効化)。「デバッグカラー無効化をオン」にして無効だそうです。有効だとゲーム起動時に画面にテキストや何度か単色表示されます。新しいversionのOPLではオフで無効化。
IGRパス :インゲームリセット(ゲーム内リセット)した時に実行するアプリ(ELF?)を設定。空欄で良いみたいです。
Write Operations :オフ推奨。ゲームリストのオプションボタンメニューに「名前の変更」「削除」が追加される。削除はリストから消すのではなくファイルの削除。

最後にプレイしたゲームを記憶する :オンにするとOPLで最後にロードしたPS2ゲームを記憶して、次回OPL起動時に自動スタートしたりする機能だとか。

BDM Start Mode :自動(Auto)でUSBなどから読込
HDDデバイス開始モード :自動(Auto)でHDDからゲームリストを読込
ETHデバイス開始モード :自動(Auto)でSMB(ネットワーク共有 Ethernet)から読込
PS1ゲーム 画面モード :Daily-Builds の機能。自動(Auto)でPS1のゲームリスト読込(POPSTARTER)。利用する時は同時にPS1ゲームがある他の開始モードを自動に設定しておく。

Display Settings(表示設定)

テーマ :THMにカスタムテーマを入れると設定できるように。一回の起動中に何度も変更するとフリーズしやすくなるような。
言語 :最新のOPL言語ファイルはDBに使えない(項目名や表示が合わない)。もちろん逆も。
自動リフレッシュ :ゲームリスト表示の自動更新?たぶんオフ推奨
Notifications :オンで情報ページ表示

画面モード :自動(Auto)。OPLでロードしたゲーム中の画面モードではなく、OPL(メニューやゲームリスト?)の画面モード

Controller Settings

セレクトボタン :選択(決定)に使うボタン。「〇」か「×」で選んだ方が選択ボタンに。設定画面下の「OK」を押すまでは変更前のボタンで選択。

 

OPNPS2LD-LANGS を使って日本語化

https://github.com/ps2homebrew/Open-PS2-Loader/
「font_Japanese.otf」「lang_Japanese.lng

ver的には Daily-Builds が遅れていて機能差もあるせいか、最新OPLの .lng ではOPL-DBをまともに日本語化できない(いくつかの項目名、設定表記、注釈が違う箇所に適用される)。
またこちらはfont付属していても(確認時は)表示されない文字があった。他fontを「font_Japanese.otf」にリネームして使用するか諦める。

フォントの容量減らすなら サブセットフォント化 水準漢字 常用漢字 など。

 

LaunchELF (PS2での操作)

PS1.VCD
 Path: hdd0:/__.POPS/
VCDはSCPS、SLPSなどPSソフト型番(GAME ID)にリネームしておく SLPS_***.**.title.VCD
XXXX_XXX.XX.X.VCD でも認識してくれるようだけどセーブデータ名などに影響する。適当は後から面倒。

POPSTARTER.ELF
 Path: hdd0:/+OPL/POPS/

POPS.ELF
IOPRP252.IMG
 Path: hdd0:/__common/POPS/
POPSTARTER.ELF、POPS.ELF、IOPRP252.IMG は「Quick start guide for internal HDD」「POPS-binaries」等からダウンロード。

「POPS」ディレクトリ(フォルダ)が無いときは作成。
VCDを入れる「__.POPS」の作成は MISC/HddManager の「PS2 HDD MANAGER」でR1:Menu >Create を行う。
USB起動だと「POPS_IOX.PAK」が必要だったり配置が異なるとか。
 

 

HDDに転送

HDDをPCに接続してVCDを「__.POPS」に転送する。WindowsエクスプローラースタイルのPS2 HDDマネージャーGUI の「PFS_HDD_Manager_VS」を使用。

https://github.com/leyed0/PFS_HDD_Manager_VS/releases

pfs system initialize するとおかしくなった気がするので注意。WINHIIPで「ユーティリティ」>「Scan / Repair PS2 Drive」を試して治ったような関係ないような。「WINHIIP」は管理者として実行。
LaunchELFでUSBメモリからでも転送できるが1枚当たり約15分と低速。HDD外すの面倒&ネットワークケーブル接続面倒で結局USB転送。

 

PFS HDD Managerが起動できない システムエラー VCRUNTIME140.dll
Visual Studio 2015 の Visual C++ 再頒布可能パッケージ
https://www.microsoft.com/ja-jp/download/details.aspx?id=48145

BINのVCD化

POPStarter Quickstarter Pack の CUE2POPS を使ってみる。
CUE2POPS_2_3.EXEにcueをドラッグ&ドロップ。
「CUE2POPS_2_3.EXE」のあるフォルダにcue+binを入れて、同フォルダ内の「BULK_CUE2POPS.BAT」を実行すると同フォルダ内のcue+binを連続でVCD化してくれる。(マルチディスクのVCD1ファイル化ではない)
BULK_CUE2POPS.BATは繰り返し実行しても同じ場所にVCDがあるcueは無視してくれる。たぶん。無視してくれなかった(再変換上書き)。

マルチトラック.bin (Multiple / Multi-Track .BIN Files)

Error: Cue sheets of splitted dumps aren't supported
       CDmage and IsoBuster can merge tracks in a single BIN/CUE.
VCD変換時にこんなエラーで困ったら「CDmage」などCDイメージ編集ソフトでBINをまとめる。cueを開いてそのまま保存。

マルチディスク

2~4枚組でゲーム中のディスク入れ替え操作を行いたい。
例えば「SLPS_007.00.FF7_Disc_1.VCD」「SLPS_007.01.FF7_Disc_2.VCD」「SLPS_007.02.FF7_Disc_3.VCD」3枚の場合、「DISCS.TXT」「VMCDIR.TXT」を下の内容で作成する。TXTが小文字(txt)だったりすると認識してくれない。大小違いで認識しないのはこれに限らずあるとのこと。折角できたのに戦闘画面真っ暗。

「DISCS.TXT」

SLPS_007.00.FF7_Disc_1.VCD
SLPS_007.01.FF7_Disc_2.VCD
SLPS_007.02.FF7_Disc_3.VCD

ファイル名1行1ディスク。1枚目、2枚目、3枚目と上から順に。4枚が上限。このファイルが間違えているディスクからの起動では他のディスクに移れない。
DISCS.TXTはMFのディスク入れ替えにも使えそう(未確認)。

「VMCDIR.TXT」

SLPS_007.00.FF7_Disc_1

VMCファイルのディレクトリ指定(?)。別のディスク間でVMCの共有ができる。例では1枚目で使用されたVMCを2・3枚目でも使用し、VMCは1枚目(SLPS_007.00.FF7_Disc_1)にだけ作成される。記述と同位置「SLPS_007.00.FF7_Disc_1」にはVMCDIR.TXTを入れなくてもVMCは認識される。TXT内の記述に拡張子は要らない。Dirは1回だけで、無効な記述は無視される(VMCDIR.TXT無しとみなされる?)。
VMCDIR.TXTに「MemoryCard」とでも記述しておくとその名前でディレクトリが作成されVMCもそこに入る。複数ディスクのゲームに限らず、同じ記述のVMCDIR.TXTを使えば他ゲームともVMCを共有できる。

「DISCS.TXT」「VMCDIR.TXT」を配置

hdd0:/__common/POPS/SLPS_007.00.FF7_Disc_1/DISCS.TXT
hdd0:/__common/POPS/SLPS_007.00.FF7_Disc_1/VMCDIR.TXT
hdd0:/__common/POPS/SLPS_007.01.FF7_Disc_2/DISCS.TXT
hdd0:/__common/POPS/SLPS_007.01.FF7_Disc_2/VMCDIR.TXT
hdd0:/__common/POPS/SLPS_007.02.FF7_Disc_3/DISCS.TXT
hdd0:/__common/POPS/SLPS_007.02.FF7_Disc_3/VMCDIR.TXT

※VCDは「__.POPS/」
「DISCS.TXT」「VMCDIR.TXT」は必ずセットで使う必要もなさそうで、毎回Disc1から起動してセーブデータを読み込めるならVMCDIR.TXTは必要なかったりする。その場合、次のディスク入れ替え操作は毎回必要になる。DISCS.TXTも使いたくなければ入れ替え直前にセーブできるものに限り、入れ替え指示の度
ゲーム終了 > VMCを入れ替え先にコピー >入れ替え先のディスクから起動
とかのかえって面倒くさい気がする操作が考えられる。

ディスク入れ替え画面でのボタン操作

1.ディスクホルダー(ふた)を開ける
 SELECT + L2 + R2 + △(三角)
2.入れるディスクを決める
 十字キー上:1、右:2、下:3、左:4。下の例は2枚目。
 SELECT + L2 + R2 + →(十字キー右)
3.ディスクホルダー(ふた)を閉める
 SELECT + L2 + R2 + □(四角)

 

POPSのホットキーで SELECTボタン+L2+R2 にもう一つボタンを組み合わせて同時に押して操作する。先に3つ押しておいて最後のボタンを1つ押すと楽。2,3枚目から起動して「NEW GAME」(はじめから)などで1枚目に入れ替えできるか試すと安心。
ふたの開け閉めやディスク入れ替えはいつでもできる。

 

メモ

未整理

Open-PS2-Loader

https://github.com/ps2homebrew/Open-PS2-Loader

wLaunchELF

https://github.com/ps2homebrew/wLaunchELF
LaunchELFと同じフォルダに「ELISA100.FNT」(恵梨沙フォント)を入れてセーブデータなどを日本語タイトル表示可能に。L1:Mode>□:Game Title + Details
https://www.vector.co.jp/soft/data/writing/se013782.html

LbFn

https://wiki.nika-2ch.net/?appli/LbFn
日本語対応のファイラー。フォントセット「ulejp.lng」「ank16j3n.fnt」「ank16j3s.fnt」をwLaunchELF(v4.43a)で適用するとある程度日本語化できる。
Startup Settings...>Language File , Font File

Memory Card Annihilator

https://gbatemp.net/download/memory-card-annihilator.35971/
メモリーカード(MC)のフォーマット(不良ブロック処理)やMCイメージ作成など。操作間違えると悲惨。【×:決定、△:戻る】
HDDからの起動で英語表示でない時は、スロット選択画面でSELECTボタンからMCA起動しなおすとたぶんlang.lngが読み込まれる。MC/USBから起動だと初めからlang.lng適用表示されていた。
PC使わずPS2だけで「MCをVMC化」や「VMCを実MCに書き込み」でセーブデータ受け渡しもできる。「Create MC image」で実メモリーカードからmemorycard.mcrを作成後「SLOT0.VMC」にリネームするとVMCとして使えたりする。「Restore MC image」で実カードに戻す時は「.mcr」にリネームして戻す。CreateもRestoreもカード丸ごとなのでメモリーカード1枚での運用は上書きに注意。

OSDSYSメニューを日本語表示

PS2で LbFn から設定するのが簡単。

PCから編集する際参考にしたところ
http://0yi.blogspot.com/2008/
FREEHDB.CNFの編集に紹介されているテキストエディタ「Notepad2」を使用してみる。Free McBoot Configuratorで閉じカギ括弧( 」)のような表示になっているAlt+num7(0007)を入力できるので特殊な書式も編集できる。
https://www.flos-freeware.ch/
メニュー名(LaunchELF や Restart System 等)に日本語を使いたいだけなら、テキストエディタでFREEHDB.CNFの「name_OSDSYS_ITEM_1-100 = ***」を編集する。Windows11のメモ帳で編集すると閉じカギ括弧( 」)がスペースに置き換えられてしまったので他の何かで。サクラエディタとか。

ImgBurn

https://www.imgburn.com/
BIN ISO イメージファイル作成に使用

Official Free McBoot Guides

https://sksapps.haldrie.com/bootleg/tutorials/fmcb/index.php

 

OPL-DB導入したものの…

DBはOPLのフォークで、OPL作成者の承認サポートがされていないらしくバグも多いとのこと。文字色設定してもOPL-DB起動する度にデフォルト色で表示されること、設定値自体は維持されているので設定画面開いてOKして有効にする作業が必要だったりと、これもバグの一つなんだろうかと…
導入して使ってみると、PS1 VCD 一つを __.POPS に放り込むだけでリスト追加できるのがほぼ唯一の利点になっている。なのでPS1は別の方法を探し試して、いずれは元のOPLへ移行。