PlayStation 2エミュレータ「PCSX2」、ついにバージョン1.0に 84
ストーリー by hylom
結局PS2は捨てられない 部門より
結局PS2は捨てられない 部門より
あるAnonymous Coward 曰く、
GPLのPlayStation 2エミュレータ「PCSX2」のバージョン1.0がリリースされた。本家/.によると、PS2タイトルの73%、1697タイトルが動作するそうだ。設定によっては1080pでゲームをプレイできるということで、実機以上のグラフィックも期待できるという。プレイの模様を録画する機能やゲームのスピードを調整する機能などもある。
なお、推奨スペックとして「Core 2 Duo/3.2GHz」もしくは「Core i5 2.66GHz以上」、GPUとしてGeForce 9600GTもしくはRadeon HD 4750以上が挙げられている。最近のゲーム用PCであれば余裕でクリアできるレベルであろう。
なお、当然ながらPlayStation 2のBIOSは含まれていないのでご注意を。
# そういえばBIOSの吸い出しは改正著作権法的にはセーフなのだろうか?
i5相当のCPU+ミドルクラスのグラボで動いた (スコア:2, 参考になる)
最近マシンを新調したときに試したら、
一部イベントシーン等でフリーズするタイトルはあるものの、
3Dアクションを含む大抵のタイトルで遊べる雰囲気がありました。
(ただしフレームスキップや音ズレは許容する)
いつも通り、引き伸ばされたテクスチャやプリレンダ動画はもやっとしますが
キャラのポリゴンモデルだけは無駄に細やかに見えます。
エミュレータは、違法プレイを助長するか? (スコア:1)
エミュレータとBIOSとゲームソフトのISOファイルがあれば、PCでゲームが出来るという話ですよね。
間違いなく、違法プレイを助長すると思います。ただし、違法と知ってのISOファイルダウンロードは、改正著作権法で罰則が課せられるようになるということも知っておいたほうがいいと思います。
PS2の本体価格は、新品で1万5千円くらいです。「わざわざ、PCでやらんでもよかろうに」と思います。
自分の所有しているゲームタイトルのISOだけで満足しているのでしょうか~。
将来、PS3/XBOX 360エミュレータとか出てくるのでしょうか?
Re:エミュレータは、違法プレイを助長するか? (スコア:1)
確かにPCSX2は違法プレイを助長するかもしれませんが、当のソニーがPS3向けのエミュレーターをまだ出していない上、
わざわざ1万5000円出してPS2を買うよりも、目の前にあるマシンで手持ちのPS2ソフトウェアが動くのであれば、これほどありがたいお話はないでしょう。少し話題が逸れますがファイル共有ソフトだって、今でこそ黒いイメージがつきまといますが使い方によっては(もちろん違法でない範囲で)実に有用なツールとなるわけです。今も存在しているのかはわかりませんが、かつてある動画サイトで専用のP2Pソフトを用いて回線の負担を分散・軽減させるということをしていたのを見かけましたし、結局悪いことをしていなければ、堂々としていればいいんじゃないですか?
別にエミュレーター自体が違法という判決がなされたことも、今のところありませんからね。
それに、違法プレイがどうのこうのという問題は我々ではなくソニーやソフトウェアの開発側が考えればいいことです。別に彼らがPCSX2に対して特に問題視していなければそれでいいのでは?
自由の行使には責任を伴わなければならない
Re:エミュレータは、違法プレイを助長するか? (スコア:1)
皆さんから、数通のレスをいただきました。ここでレスさせて頂きます。
実機でなくエミュレータを使う利点(セーブがどこでも出来る、メディアの入れ替え要らず、画質が綺麗、メモリーカード要らず、など)はわかりました。
また、PCSX2自体や合法プレイを貶めるつもりは全く有りません。目一杯、楽しんで下さい。
ただ、違法プレイは、日本のゲーム市場の衰退を加速させる恐れがあるので、1ユーザーながら発言しました。
ゲームソフトのISOがネット上でダウンロードし放題な現状については、任天堂やソニーは苦虫を噛み潰したような思いをしているのではないかと思います。しかし、手の出しようがない。
そういった中で、改正著作権法が成立したのだと思います。改悪という意見もあるかとは、思いますが、「ゲームソフトは買わなくてもいい」という人々には、大きな制裁措置を下せる状況になったわけです。
ゲームソフトを買うことによって、そのメーカーやソニー等に利益が配分されるというのが真っ当なやり方だと考えます。
Re: (スコア:0)
カートリッジ式のソフトの場合ROM吸い出しが難しかったので、ネットからダウンロードするしかないユーザが多かったと思いますが、PS2のソフトなら中古で1000円程度で入手できて、自力でリッピングも可能だと思いますのでファミコンやスーファミよりはマシになるのではないでしょうか。
> PS2の本体価格は、新品で1万5千円くらいです。「わざわざ、PCでやらんでもよかろうに」と思います。
自由に途中経過を保存できたりとか、PCの方が画質が良かったりとか、わざわざPCでやるメリットはありますよ。
Re: (スコア:0)
自分がどれくらい少数派なのかはわかりませんが、自分の所有しているゲームタイトルの実メディアでしか遊んだことはありません。ロードがあまりにも遅いゲームはISOを使いますけど。
ISOを吸いだしてソフトは中古屋に売る、なんてこともしていません。当然PS2の実機も持ってますし、PS2互換機能ありのPS3初期型も持ってますが、それでもエミュレータを起動することが多いです。
理由は、いつでもどこでも一瞬でセーブ&ロードできることと、実機より早いこと(=短いプレイ時間でクリアできる)、ですね。
Re: (スコア:0)
自分もほぼ同じ。HDD完全インストールが出来てメディアなしで起動できれば、実機でもというか実機がいいんですねけどね。
iPodみたく、持ってるゲーム全部入れてメディア入れ替えなしで遊びたいんですよ。PS3もなんでそうできるようにしないかな。
中古対策に、ゲーム起動100回に一度か年一回のメディア認証が必要、程度ならば許容範囲なんだけど。
Re:エミュレータは、違法プレイを助長するか? (スコア:2)
これの話ですか? もう売ってない上 対応ソフト&本体型番って
http://ja.wikipedia.org/wiki/PlayStation_BB_Unit [wikipedia.org]
こんなもんですよ
Re: (スコア:0)
値段の問題ではないのよ。
利点は色々ある。
メモカが事実上無制限なので、タイトル別に用意するといったこともできる。
万が一用のデータバックアップもファイルコピーという手軽さ。
スペックがあれば実機より綺麗な画面。
ISO吸いだしておけばいちいち物理的なディスク入れたり出したりをしなくて済む。
ステートセーブにより楽ちんプレイ。
チートコードをコピペで使えるので実機+PARみたいな面倒な入力が必要ない。
何より嵩張る実機を設置して接続してというのが何より面倒。
PCは持ってる人間ならそもそも設置され続けているものだから手間もなにもない。
正直公式で出して商売したらいいんじゃないかとすら思う。
ビジネスチャンスを逃してると思うけどな。
PS3のアーカイブ?ソフト持ってるのにまた買わないといけないし、そもそもPS3持ってないとできないし論外。
過去の資産を流用できることに意義がある。
Re:エミュレータは、違法プレイを助長するか? (スコア:2)
スペックがあったとしても、安定してゲームできなかったりしますけどねぇ。
ソフトによってプラグイン変えたり、設定変更したり・・・
ePSxeの頃は、ビデオプラグインだけで3-4種類くらい使ってたっけ
スーファミ・GBA位までは簡単な設定変更程度で済んでたけどね。
#PS2の場合HDDローダーの方が違法コピーを助長してたような気もしますね。
#最終的にメモカブートなんて凶悪な方法まで登場してたし。
Re:エミュレータは、違法プレイを助長するか? (スコア:1)
>正直公式で出して商売したらいいんじゃないかとすら思う。
>ビジネスチャンスを逃してると思うけどな。
気持ちは分かるけど、実機商売と真っ向から客を奪い合うし
必要な技術やノウハウは全然別のものだからねぇ。
要はPS・PS2のソフトがsteamみたいな形でPC上でプレイできればってことなんだろうけど。
(steamでは利点とされたうちのいくつかが実現できないとかそういう細かいことは置いといて)
#そういえばproject eggとかあったけど、事業規模ってどのくらいなのかなぁとか。
Re:エミュレータは、違法プレイを助長するか? (スコア:1)
うーん。恐らく、山内溥氏が言ったのは、「ユーザはゲームをしたいからゲーム機を買うわけで」の部分で、「ライセンスに違反していなければエミュレータでやろうとなんだろうと構わない」とは言わないと思います。(私の事実誤認ならすみません)
前者はゲーム機はソフトウェアがなければただの箱という話ですね。
山内溥氏が関わっていたのは主にFCからN64などのロムカセットのゲーム機だから、自分でISOをロムカセットから吸い出すのは、専用の電子機器が必要で、コストもバカにならなかった時代だと思います。
FCくらいのソフトウェアなら、2000年くらいには実用に耐えるエミュレータが存在してましたね
反面、インターネットが普及しだす頃で(ADSLなども登場前夜で、ダイアルアップ接続で主流)、大かがりな違法アップロードは今と比べて少なかったと思いますが。
何故、BIOSが含まれて無いか考えろよ (スコア:0)
改正著作権法じゃ無くてもアウトだろ
Re: (スコア:0)
Re: (スコア:0)
はて、自分で吸い出す行為は現時点で明確に黒でしたっけ?
今配布されてないのは、ファミコン等のROMカートリッジイメージやPC-9801エミュのフォントROMイメージ等が配布がNGなのと同じ理由でPS2 BIOSがSCE等の著作物だからですよね。
Re:何故、BIOSが含まれて無いか考えろよ (スコア:1)
フォントROMイメージって著作物なの?
Re:何故、BIOSが含まれて無いか考えろよ (スコア:2)
ググレカス
#って返せばいいのかな?
Re:何故、BIOSが含まれて無いか考えろよ (スコア:1)
そうですよ。というか、フォント自体著作物ですよ。
スルースキル:Lv2
Keep It Simple, Stupid!
Re: (スコア:0)
ググレカス
Re: (スコア:0)
beroさん夏厨をからかうのはやめてください!
Re:何故、BIOSが含まれて無いか考えろよ (スコア:1)
> フォント自体著作物ですよ
と一般化して断言することはできないことは少し調べ(ググ)ればわかるはず。(#2208841 [srad.jp])
#zlibについて聞いているのに(GPLは汚染するから)FLOSSは全部汚染する(あるいは逆に全部勝手に使える)と断言してるようなもの
字体とか書体(タイプフェイス)とか芸術とかプログラムとか
さらにいえば著作物としてではなく不正競争防止法での保護とか
様々な要件があって、
その上で「PC-9801エミュのフォントROMイメージ(念のため補足すると字体ビットマップを文字コード順に並べたもの)って著作物なの?」
私なりに要件を整理すると
「ビットマップってプログラムなの?」という問いに行き着きます。
ちなみにビットマップでプログラムを表現することはできますが(ライフゲーム [hatena.ne.jp])
Re: (スコア:0)
書体に無くてもデジタルデータ化に伴って著作権が発生するケースがありえます。
特に漢字ROMやらTTFといったフォントファイルはプログラムの構成要素の一部として見做される危険性もありますが、著作物ではないという判例出てましたっけ?
Re: (スコア:0)
どちらかというとTTFみたいなアウトラインフォントファイルになると、著作物という判例ならある。大阪地裁 平成15年(ワ)第2552号とか。
書体には著作権は認めないけど、ファイルになるとプログラムとして扱われるという漢字になる。ただビットマップフォントはわからん。
一回印字してスキャンしたものと区別がつかないだろうし。
Re: (スコア:0)
BIOSの頒布と吸い出しは全然違う
エミュ (スコア:0)
いつも思うんですがエミュって重いですよね
LLVMみたいに動的コンパイルすれば超早くなるのでは?と妄想してしまいます
# 難しい(現実的に作るのは不可能に近い)のはわかってます
Re:エミュ (スコア:2)
PCSX2のMIPSエミュレーションで利用されてるかどうかはしりませんが最近の
エミュレーターはJIT使ってるのも結構あるみたいですね。
重いとっても最近のx86は速いので、昔のCPUのエミュレーションだけならそんなに重荷
でもなくて、どちらかというとグラフィックスやサウンドといったサブシステムの
エミュレーションのほうが荷が重いかな、というところじゃないでしょうか。
Re: (スコア:0)
そうなんですか?
コード部分が圧縮とか暗号化とかしてあってメモリ展開だとJITは不可能じゃないのか?と思ってました。(switchしか無理だろうなと)
Re: (スコア:0)
訂正
switchじゃなくて関数ポインタの配列ジャンプかな?
BYTE nimoc[0xFF]={func_00, func_01, ...}みたいな
switchだと何倍も遅くなっちゃいますよね
Re:エミュ (スコア:1)
そゆことです。
みたいな関数ポインタコードの場合は、関数をインライン展開することは不可能ですが、
とした場合には、関数のインライン展開が可能になります。
インライン展開されなかったとしても関数ポインタ配列と同等。
あとはコンパイラ次第ですが、今時のコンパイラなら、関数の宣言側でinline を付けなくても
自動で最適化で勝手にインライン展開してくれたりしますな。
で、その結果として関数呼び出しがなくなった場合、
・引数のスタックへのプッシュが不要
・関数入り口でのレジスタ退避が不要
になるほか、
・変数のライフタイム管理がより正確に行えるようになる
というメリットも。
例えば、エミュレータの場合なら、エミュ対象CPUのレジスタなどの状態情報を変数に保持することになるかと思いますが、そのデータ内容は呼び出した関数でも書き換えられる可能性があります。
となると、呼び出し元では、関数呼び出し前に変数内容をメモリからレジスタに読み込んでいたとしても、関数呼び出し後にはレジスタ内容は捨てて再度メモリから変数内容を読み込み直す必要があります。
それが、インライン展開されるなどして関数呼び出しがなくなってしまえば、「書き換えられていない」ことが確定しているデータについては、無駄なメモリアクセスをなくすことができます。
まあ、これは突き詰めて言えば「C言語のポインタは、最適化を妨げる諸悪の根源だ」なんて考え方にもなっちゃうんですけどね。
#私が昔Z80のエミュレータを書いた時は、そこまで性能を気にしなかったので、関数ポインタの配列を使ったかな。
#オペコード1バイト目と、CB/EDのオペコード2バイト目の、計3テーブル。DD/FDはフラグを立てたんだっけか。
#今にして思えば、オペコードを8進数3桁に分離してからswitch-caseを使った方が、シンプルで保守性のよいコードになっただろうな、と思う…
Re: (スコア:0)
有名どころではQEMU [qemu.org]なんかそうですね。
Wikipedia [wikipedia.org]より。
Re: (スコア:0)
さっそく調べてみたんですが私の脳みそではちょっとよく理解できませんでした・・・
http://www.usenix.org/publications/library/proceedings/usenix05/tech/f... [usenix.org]
3.6を一生懸命読んでみると(英語読めませんが・・・)コードっぽい部分、読み取り専用部分を一度実行すれば動的コンパイルしてキャッシュするみたいなことなのでしょうか?
Re:エミュ (スコア:1)
前どこかでソースコードを見た時に、switchの羅列ばかりで驚いた事があります。当時、なんとなくエミュって得体のしれない超技術で作られているようなイメージが有り、少なくとも関数ポインタの配列位は使ってるんじゃないかと思っていたので。
いつもの結論は、必要ないとか技術不足以外では、移植性の高さと再現性を重視しているんじゃないかってところです。
ゲーム機エミュレーターってのは、閉じたハードにサードパーティーソフトを動かせるようになった時に真っ先に移植されるソフトです。何しろ、初歩的なグラフィック・オーディオ命令だけ書き換えて移植すれば、何千何万という良質なゲームソフトが動くなるようになるわけですから。開発コミュニティの規模や技術から、いちいち移植に人員を割いてもいられませんし。
それに元のハードウェア仕様ががっちりきまってますから、タイミング含めてかなりきちんと再現しなくちゃいけません。ミスがあるとdesyncなんて言ってTASや普通のステートセーブなんかに影響が出たりします。深刻なら動かないゲームまで出てくるでしょう。
もちろん十分な技術や人員があれば何とかなるんでしょうけど、需要は多いとはいえ大っぴらに開発したり募集したりできない代物です。
AppleでさえLionでは、Rosettaのサポートを辞めたくらいですし。JavaScriptのJIT対応ブラウザは世界にいくつかしかありません。そういう意味では難しいんでしょう。
そういえば昔、ROMをアップロードすればiアプリに変換するサービスがあったような気がします。iアプリをiPhoneアプリに変換 [nikkeibp.co.jp]みたいなのもあります。ただ、実用的時間で動的となれば話は別でしょう。
Re:エミュ (スコア:3, すばらしい洞察)
関数ポインタの配列って可読性はよくなりますが、オーバーヘッドが大きいですよ。それよりもswitchの方が効率が良いです。
switch-caseと見ると、内部的にif-elseif-elseif…みたいな処理になって効率が悪い、と思われるのかもしれませんが、
賢いコンパイラ(gccとか)で、caseの指定値が連続した数値だった場合、ジャンプテーブルに展開されます。そういう場合のswitch-caseはそんなオーバーヘッドはありません。むしろ、関数ポインタ配列に較べて、関数呼び出しではない(引数のスタック積み込み操作がない)分、switch-caseの方がオーバーヘッドが少なくなります。
#私はコンパイラのそういう賢さを、Duff's device [wikipedia.org]のコンパイル出力で知りました。
#下手にアセンブラでごりごり書くより速いコードをコンパイラが出力するのでorzになった…
Re:エミュ (スコア:1)
いくら最適化が賢くても関数ポインタの配列よりか速くはならないだろうと思ってましたが、関数呼び出しかどうかで差が出るんですか。びっくりしました。
ただそのコードは余り最適化を期待できない環境で、逆に関数ポインタの意味も無さそうな環境で…。まぁ、私はコードを見ただけで別に関わったりは…。とにかく当時はそう思っちゃいました。
ところで昔から思うんですが、高速化する場合Cとアセンブラ両方で書いて、コンパイラが等価性を保証して、速度比較して、さらにそこから学習してくれる、みたいなのはできないんでしょうかね。
Re:エミュ (スコア:2)
10年くらい前には、定型文・式みたいなものはそういうのやってましたよ
Re:エミュ (スコア:1)
他に、昔のゲームで多用される関数ポインタへの対応の困難・メモリとデータの混在の厄介さ・セキュリティー問題などがあるでしょうね。
例えば、RPGの戦闘で多様なエフェクトを出す、あるいはアイテムで特殊な振る舞いをさせる、といった場面を考えると、簡単なスクリプトを使うか関数ポインタを使うしか思い浮かびません。メモリ制限が厳しいROM時代なら後者しかないでしょう。関数ポインタの対応もやろうとすればできなくはないでしょうが、ハードウェア・コンパイラ回りの知識が必要で、バグの温床・移植の妨げです。
単に静的コンパイルするだけなら、外部のコンパイラかアセンブラにソースコードを食わせればいいように思えますが、こういう理由でうまくいかないんでしょうね。
というより、昔のゲームなら必要なくて、新しいゲームなら再現性ある移植で精いっぱいというのが実情でしょうか。
Re: (スコア:0)
なんでしてないと思ったの?
Re: (スコア:0)
してるんですか?
Re: (スコア:0)
自分で調べろよ
Re: (スコア:0)
無理でしょ
# 1レス目に書いてありますが
Re: (スコア:0)
×動的コンパイル
○静的コンパイル
の間違いでした
今度は (スコア:0)
これをPS3(Cell/RSX)に移植してくれwww
Re: (スコア:0)
ソニーがやる…技術的に期待できない(できたらとっくに互換してるので)
ソニーの外の人がやる…ソニーの横槍で頓挫する(Install Other OSを忘れるな)
PS2のゲームをやりたいならPS2でいいと思いますけどね…
最近の収益悪化の原因は、穀潰しのPSVitaをPS2が支えられなかったから、と
未だに責任がのしかかってくるくらいソニーの柱ですから
買ってあげようよ
Re:今度は (スコア:2)
Re: (スコア:0)
そそ、PS3で互換が成立していれば、とっととPS3買って、PS2が捨てられた
PCでゲームはしない主義なので、今はPS4(PS互換付)に期待中
#さすがに2世代前なら互換機能は大丈夫だよな?
Re: (スコア:0)
Re:今度は (スコア:2)
Virtual Game Station (スコア:0)
Connectixの Virtual Game Station を思い出しました。
SCEIに勝ったんですよね。あれ。
米Connectix、PSエミュレータ「Virtual Game Station」係争で勝利を勝ち取る [impress.co.jp]
2000年の話でしたか・・・。
Re:Virtual Game Station (スコア:2)
Bleemも忘れないでください。
CVGSのほうが対応ゲーム多かったけ。
#VPCシリーズの礎を築き、LogiCoolのQuickCamのベースも作ってたことは忘れられがちだけど。
Re:Virtual Game Station (スコア:1)
そういや、この間整理をしていたらBleem!のメディアが出てきたなぁ・・・