メモリーカードからHDAdvanceを起動してみよう!!
...なんだか、PS2のネタは随分とご無沙汰だったりする。俺様的には、やはりPS2はメインストリームにはなりえず、その間任天堂64とかゲームボーアドバンスとかDS LiteとかWiiとか、要するに任天堂のゲーム機+ドリームキャストの「女剣士アスカ見参!」にどっぷり漬かる日々だった。
が、PS3も発売され徐々に下降線を辿らされているPS2がこの頃不憫に思えてきた(^^;)。
というわけで、久々にPS2のネタ、行きますかぁ。
HDAdvanceのその後
画期的なアイテムというかソフトである「HDAdvance」だが、その後も我が家ではぼちぼちと使われていた。
全体的な満足度は非常に高かったりするが、使っているうちに多少不満も出てきた。
それは、「起動に時間が掛かる」ということだったりする。ただでさえ「リングプロテクト」採用で読み込みが悪い=起動に失敗する頻度が高いのに加えて、我が家の餓鬼供がディスクに傷を付けまくるので、起動にかなり時間が掛かってしまっている。恐らくPS2のピックアップには相当負担がかかっているだろう。
このままではピックアップがいかれてしまうのが目に見えているので、何か対策はないかと色々考えてみた...
- 「HDAdvance」の起動ディスクを使わずに、なんとか「HDAdvance」を起動できないもんかいのぉ?
- それなら、「HDAdvance」のプログラムを何か別のメディアで起動させれば良いんかのぉ?
- そういえば、メモリーカードにプログラムを仕込んで起動させる方法が確かあったのぉ?
- そうそう、それって古い型番のPS2でできる方法だったのぉ?
- んじゃ、その方法でやってみようかのぉ?(以下略)
...いわゆる「メモリーカードブート」(略してメモカブート)がベストの選択っぽい。これができれば、PS1のゲームディスク+メモリカードで「HDAdvance」を起動することができ、PS2のピックアップの負担が相当軽減できるかも。
- PS2のバグ(バッファオーバーフローエラー)を利用して、メモリーカードからプログラムを起動
- この技が使えるPS2は、型番で言うと10000番台(SCPH-10000)から55000番台(SCPH-55000、但し基板バージョンはV9)まで
- 「HDAdvance」を使うということは当然ハードディスク内蔵タイプなので、30000番台から55000番台(但し基板バージョンはV9)まで
その他メモカブートについては、検索をかければ山ほど出てくるので詳しい説明は省略(^^;)。
用意するもの
- PS2本体 → 30000番台がベスト
- PS2用のメモリーカード(以下メモカ) → 当然必要
- パソコン → CD-ROM及びDVD-ROMが読み込み可能&CD-R/RWに書き込み可能なドライブを搭載し、ディスクイメージファイルを書込みできるソフトがインストールされているもの
- PS1用のゲームディスク → 今後メモカブート用起動ディスクとして使用する。正常に読み込み起動できるのであれば何でも可
- 「HDAdvance」→ ここではバージョン2.1のDVD-ROM版を使用。バージョン3.0は駄目
- ディスクスワップツール → メモリーカードにプログラムを仕込むためだけに使用。持ってなければ友達に借りること(^^;)。ソフトは定番の「SwapMagic」ということで。あとはツールとしてフリップトップカバーでもスライドツールでも強制イジェクトスイッチでもお好きにどうぞ
あと、ソフトウェアとして以下のものを用意すること。
- バイナリエディタ →「HDAdvance」のプログラムを加工し、特定の部分を抜き出すために必要。自分はBzを使用
- LaunchELF v3.41.zip → いわゆるランチャソフト。多機能だが使いやすい。デザインもシンプルでいい感じ
- titleman.zip → PS2を騙す(^^;)ためのデータを作成するソフト。どっからか拾ってくること
- exploit-inst.zip → メモリーカードにプログラムを転送するためのソフト。これまたどっからか拾ってくること
- CDGENPS2.zip → PS2に読み込ませるディスクイメージを作成するためのソフト。しつこいようだがどっからか拾ってくること
第一段階~「HDAdvance」のプログラム抜き出し
それでは、まず「HDAdvance」のDVD-ROMから「HDAdvance」のプログラムを抜き出す作業を。
「HDAdvance」のDVD-ROMをパソコンに食わしてやると、以下のようなファイルが入っているはず。この中の「SLPS_250.26」というファイルが「HDAdvance」の本体なので、これをバイナリエディタで開く。
それから、バイナリエディタでメモリアドレス「0000:0000」から「000A:490C」までを抜き出し、「HDAdvance21.elf」という名前をつけて適当な場所に保存しておく。バイナリファイルのサイズは674,060バイトになるので確認すること。
第二段階~TITLE.DBの作成
次に、PS2を騙すためのファイルである「TITLE.DB」の作成。
まずは拾ってきた「titleman.zip」を解凍しておく。
用意したPS1のディスクをパソコンに食わしてやると、先程の「HDAdvance」のときと同様に、ディスクの内容が確認できるはず。
そうしたら、メモ帳を起動してディスクの中にある「SYSTEM」というファイルを開く。
そうすると、中に「SLPS_XXX.XX」という文字列があるので、そこの個所をコピーしておく。
次に、新規にメモ帳を起動して、下の画像のように2行テキストを入力する。
- 1行目は「titleman -c」で、
- 2行目は「titleman -a 」まで入力し、2行目の最後には先程コピーした文字列をペーストする。
次に、メモ帳に入力したテキストを「makedb.bat」という名前をつけて先程解凍した「titleman.zip」のフォルダに保存する。そうすると下の画像のようにファイルが2個存在しているはず。
ここでおもむろに、「makedb.bat」のアイコンをダブルクリックする。そうするとバッチファイルが起動し、下の画像のように「TITLE.DB」というファイルが新たに作成されているはず。
第三段階~メモカにインストールするファイルの作成
お次に、拾ってきた「exploit-inst.zip」を解凍しておく。解凍したフォルダの中は、下の画像のようなファイルが展開されているはず。ここで「README.TXT」を削除しておく。
そうしたら、「FILES」フォルダの中にあるファイルをすべて削除しておく。
一つ階層を戻して、先程作成した「TITLE.DB」のファイルをコピーする。
次に、「LaunchELF v3.41.zip」のファイルを解凍する。下の画像のようなファイルが展開されているはず。
ここで、先程作成した「HDAdvance」の縮小版ファイルである「HDAdvance21.elf」及び「LaunchELF v3.41.zip」のファイルを解凍してできた「BOOT.ELF」という2つのファイルを「FILES」フォルダの中にコピーする。
これで必要なファイルの準備が完了。
第四段階~イメージファイルの作成
次に、拾ってきた「CDGENPS2.zip」を解凍し、展開された「CDGENPS2.exe」をダブルクリックする。
そうすると、「CDGENPS2」が起動する。
次に、先程作成したフォルダ及びファイルを下の順番でドラッグ&ドロップしていく。
- 「FILES」フォルダ
- EXPINST.ELF
- CDVD.IRX
- SYSTEM.CNF
- TITLE.DB
次に、「SYSTEM.CNF」のアイコンを右クリックして、メニューから「編集」を選択する。
「LBA」の項目に「12231」と入力し、OKボタンをクリックする。
「SYSTEM.CNF」のLBA値が「12231」になっていることを確認する。
ここまできたら、左側の縦長のアイコン群の真ん中あたりにある「IMG」ボタンをクリックし、適当な名前をつけてイメージファイルを保存する。「ファイル名.cue」及び「ファイル名.bin」という2つのファイルが作成される。
第五段階~イメージファイルの書き込み
あと少し。ライティングソフトを起動し、先程作成したイメージファイルをCD-R/RWに書き込みし、メモカ転送用ディスクを作成する。俺様はneroを使用。
データ作成の手順を間違ったりして失敗する可能性もあるので、CD-RではなくCD-RWに焼くのがベターかも?無駄なコースターは作りたくないので(^^;)。
第六段階~メモリーカードへのインストール
いよいよメモカへプログラムをインストール。まずは「SwapMagic」をPS2にセットし、電源投入。あ、プログラムをインストールするメモカも当然セットしておくこと。コントローラも。
「SwapMagic」のCD版は非常に読込みが悪いようで、結構な確率で下の画像のような悲しいメッセージが表示されるけど、あきらめずにリセットを繰り返すと...
めでたく起動(^^;)。スプラッシュ画面が一瞬表示される。
次に、中文でよく分からないメッセージが表示されるが、コントローラのセレクトボタンを何回か押すと日本語メニューが表示される。
ここでディスクの交換=スワップとなる。
「SwapMagic」のディスクと、先程作成したメモカ転送用ディスクを交換。
普通にイジェクトボタンを押してしまうと元も子もなくなるので(^^;)、ここはツールとしてフリップトップカバーやスライドツールや強制イジェクトスイッチの出番。
俺様は一番お手軽なフリップトップカバーでさくっとディスクを交換。
ここでコントローラの「×」ボタンを押すと、メモカ転送用ディスクに仕込まれたプログラムが起動し、データをメモカに転送してくれる。
完了すると、「終わったよ」というメッセージが表示されるので、PS2の電源を切る。
第七段階~メモカブートの実行
あとはメモカブートによる起動を確認するのみ。はやる気持ちを押さえつつ、「TITLE.DB」のファイルを作成した時に使用したPS1のディスクをPS2にセットし、PS2の電源を投入。
すると、PS1のディスクを読み込みに行ったあとPS2が騙され(^^;)、メモカブートが実行される。
その後、LaunchELFのプログラムが起動する。
ここからLaunchELFの設定をば。
コントローラのセレクトボタンを押すと、コンフィグの画面に切り替わる。このランチャは、コントローラのそれぞれのボタンに起動できるプログラムを割り当てすることが可能となっている。
まずは、デフォルトで起動するプログラムの選択。「DEFAULT」とある項目でコントローラの「○」ボタンを押すと、プログラムの参照画面になる。
ここでは、「HDAdvance」をデフォルトで自動起動させたいので、パスとして「mc0:/」を選択してコントローラの「○」ボタンを押す。
次に「BIDATA-SYSTEM」というフォルダが表示されるので、カーソルで選択してコントローラの「○」ボタンを押す。
お目当ての「HDAdvance」のプログラムである「HDADVANCE21.ELF」というファイルが表示されるので、カーソルで選択して「○」ボタンを押す。
同様にコントローラの「○」ボタンにも「HDAdvance」のプログラムを割り当てして、下の「MISC」という項目にある「TIMEOUT」という項目を10から5に変更。その他の項目は変更せず[OK」という項目にカーソルを移動して「○」ボタンを押す。
そうすると、LaunchELFの起動画面が表示され、5秒経過すると...
「HDAdvance」のプログラムをロードして、「HDAdvance」がめでたく起動!!
これ以降は、PS1のディスクをセットしてPS2の電源を投入するだけでLaunchELFが起動し、更に「HDAdvance」を起動というステップを繰り返すことになる。
PS1のディスクしか読み込まずに、お手軽に「HDAdvance」を起動するメモカブート、ピックアップに余計な負担をかけずに、とっても便利だったりする。
LaunchELFは、USBメモリ経由で他のプログラムを仕込むことも可能であり、応用範囲が非常に広いランチャなので有効活用よろしく(^^;)。