PAR3でプレイステーションBIOSを吸い出す
Text:Imaha486
協力:PSX Japan(Hanimar氏) http://www.geocities.com/SiliconValley/Station/8269/


更新履歴
海腹川背・旬のリプレイデータの入ったメモリーカードイメージを置きました。
>>詳細はこっち。

AR3READ.EXEを利用した、GUI操作のBIOS吸出しツール(というかランチャー)を作りました。
>>ツールの説明へ。

※注意書き※
当記事ではハードウェアに色々と触れることになります。
記述された作業が原因でシステムに影響、データの破壊などのトラブルが発生しても、
当方は一切の責任を負いかねます(At own your risk!!)
また、PS本体の型番は SCPH-3500(ファイティングボックス…古ぅ) で、
プロアクションリプレイ3(以下PAR3)はバージョン3.1です。
と言っても同じ環境であっても吸いだせるとは保証できません。
もしも吸い出せなかったら、諦め…ては勿体無いので他の方法を模索してください。

また、BIOSを吸い出してエミュレータで使うから実機は要らないや〜と、
売ったり捨てたり譲ったりしては駄目です。
あくまで法律的には個人用のバックアップですからちゃんと所持しててください。
(さらに細かく言うと、併用も駄目だそうです)。

当然、吸出したBIOSをネットにアップロードするなど言語道断…というよりも、
バラまく目的ならばこんな手間をかけてまで吸い出しませんね(笑

☆はじめに
最近(というか結構前から)、ePSXeというプレイステーション(以下PS)エミュレータが流行っているようです。
このエミュレータでのソフト動作率は7〜8割と、それほど高くないのですが、
・PSEmuPROと同じく各種デバイスにプラグインを採用
・NTSCモニタではへぼへぼだったのを高解像度でプレイできる
・どこでもセーブ&ロードなど付加機能もたくさん
・フリーウェアである
など、多くの利点があります。
プラグイン式は初心者の方には邪魔みたいですが、逆に言えば、
環境に合わせてカスタマイズできる〜ということですね。

☆必要なもの
で、フリーウェアのPSエミュ全般に言えることですが実行には
プレステ実機のBIOSが必要になります。

しかし、ePSXeを推薦しているサイトを見ると…
「BIOSはxxxxというサイトでダウンロードできます」
こういうのは法律的…というか普通、駄目です(苦笑
本来、PS-BIOSはプロアクションリプレイ(以下PAR)プロコムズリンクを使って、
PCとPSを通信可能状態にし、アドレス BFC00000 から BFC7FFFFまでの、
計80000h(524288)バイトをファイル出力すれば得られます。

☆しかし…
いまさらPAR1やPAR2なんてなかなか置いてませんし、プロコムズリンクに至っては
現在、生産・販売すら行われていません。
今手に入るといえばPAR3かCDX-PARくらいのものだと思います。
(PAR2は、現在別名で販売されているみたいですが…)
そして考えつくことは「どうにかしてPAR3でBIOSを吸いだせないか?」です。

というかこの文章を見てる人なら分かると思いますが、できました(笑
PAR3には本来、プリンターポートでPCと相互通信する機能が備わっており、
PAR3ユーティリティというオフィシャルの通信ソフトを使えば、改造コードの転送、
メモリエリアの参照などが自由自在にできます。

そこで世の中の凄い人達は「データをやり取りするツール」を自分で作ってしまいました。
当テキストはその方々に感謝すると共に、恩恵を十二分に活用するために作成しました。

☆Hanimarさん
PS解析の大御所PSX Japan。PS2DISの作者様と言えば即分かるかと思います。
このテキストの作成にはHanimarさんに協力していただきました。
(この場を借りて感謝の言葉を申し上げます)。

今回はHanimarさんの制作したPAR3通信ツールを使ってBIOSを吸い出したいと思います。
>>ここから必要なツール・情報を得ることができます。
最上部に「DOS 用のプログラムの最新版(修正版 Ver0.32)」とありますが、
これをダウンロードしてください。
通信CDイメージを使えばもっと色々と実験も出来ますが、
今回はBIOSの吸出しが目的ですので、省略させて頂きます。
(なお、CDイメージのアーカイブ同封の通信ツールは不安定なので、
 できるだけ最新版の方を使ってくださいとのことです)。

☆準備
ver032pc.zipを展開したら色々とファイルが出力されますが、
AR3VERS.EXE … 通信可能状態か確認するためのバージョンチェック
AR3READ.EXE … BIOSを吸い出すためのリードツール
の2つをパスの通ったディレクトリに置いてください(これらはDOSアプリです)。

あと、PAR3とPCを繋ぐために「ストレート・オスメスのプリンターケーブル」
が必要になりますが、これは当然、各自で用意してください。
「PS(PAR3)→プリンターケーブル→PC」と配線し、PSに適当なソフトを入れて起動し、
PAR3のメニューの画面にしてください。
PNG非表示の人はごめん〜
この画面になったらDOS窓を開き、AR3VERS.EXEを実行します。
C:\WINDOWS>AR3VERS.EXE
50032f20 "プレイステーション プロアクションリプレイ3 Ver3.1"
こんな風になれば通信成功です。

☆BIOS吸出し開始
ここから先はかなり運になります。
最初にも説明したようにBIOSはアドレス BFC00000 〜 BFC7FFFF までのROMエリアに
格納されているのですが、本来、AR3READ.EXE(というかPAR3そのもの?)はアドレス
80010000 〜 801FFFFF と 1F800000 〜 1F8003FFのRAMエリアしか吸い出せないようです。

ですが、HanimarさんによるとPAR3のバージョン3.2はアドレスチェックがいいかげんで、
ROM領域を指定してもそのまま吸い出せてしまったりするようです。
…私のPAR3はバージョン3.1なのに吸い出せましたが(笑
まあ、こういうロット差もありそうですのでバージョン外だからと言って、
諦めずに挑戦してみてくださいな。

では吸出し開始してみましょう。
PAR3メニューのままでは「PSX must be in game.」と表示されて中断されますので、
適当にゲームを開始して、ゲームのタイトル画面など(PAR3のローディング画面でもOKでした)で
AR3READ 出力ファイル名 開始アドレス ファイルサイズ(16進)
のように指定します。
私の場合はPS型番SCPH3500ですので…
C:\WINDOWS>AR3READ SCPH3500.BIN BFC00000 80000
BFC00000 to BFC7FFFF > [SCPH3500.BIN], Using LPT1.
1
1
1
1
Done.
とまぁこんな風になります。
最後が Done. ではなく False. の場合は転送失敗ですのでやりなおしてください。
これで同フォルダ内にファイルが出力されていれば成功です。
念には念を…と思う方は複数個出力し、比較してみると良いでしょう。



☆PAR3 PS-BIOS RIPPER
AR3READ.EXEのコマンド入力を代わりに行うGUIツールを作りました。
かなりヘナヘナ
必要最小限の機能しかありませんが、これで上記の作業が行えます。
起動するには、AR3VERS.EXEとAR3READ.EXEを同じフォルダに置けばOKです。
>>ここをクリックするとダウンロード開始です。

☆エミュレータでチェック
ePSXeのカスタマイズ方法は各種エミュレータサイトを参考にして頂くとして、
吸い出した SCPH3500.BIN をePSXeに読み込ませてゲームを起動してみました。

スクリーンショット
川背さん♪ びよよ〜ん
で〜ざ〜え〜も〜〜んっ これ隠しゲーム…
わふーっ 友人は1分51秒台
ってわけで、ばっちりうごきました♪
みんなも、PSエミュレータにレッツトライっ

☆おまけ メモリーカードイメージ
海腹川背・旬のフィールド0を、7秒99でクリアしたリプレイデータです。
微妙に甘いところもあるのでまだスピードは伸びそうですが、参考にどうぞです。
>>ダウンロード

TOPに戻る