エミュレータ (コンピュータ)
'''エミュレータ''' (Emulator)とは、[[コンピュータ]]を含む機械装置の動作・機能を模倣する装置、あるいは模倣する[[ソフトウェア]]のことである。ただし本項ではコンピュータに関する[[エミュレータ]]について解説する。 == 概要 == エミュレータは、所定のコンピュータや機械装置の模倣装置あるいは模倣ソフトウェアのことで、もともとは機械装置全般に使う言葉である。なお動作を予め仮想的に行うものは[[シミュレータ]]であり、エミュレータは動作そのものが求められる。コンピュータのエミュレータの多くは、ソフトウエアによるものである。パソコンのエミュレータ、[[コンピュータゲーム|ゲーム機器]]のエミュレータなどが多く製作・利用されている。 これらは、所定のコンピュータで動作するソフトウェアを、ハードウェアや[[オペレーティングシステム]]の全く異なる環境で動作させることを目的とするもので、[[移植 (ソフトウェア)|ソフトウェア移植作業]]を行わなくても動作させられるため、再現性の高いエミュレータがあれば、対象となるソフトウェアの種類が問われないなどの利便性がある。反面、コンピュータ内部で一端ハードウェアが処理していた機能もソフトウェアで代行することから、エミュレータを動作させるコンピュータの能力は、もともとのコンピュータよりも更に高いものが要求される。 これらは一種の[[ミドルウェア]]である。たとえば古い[[8ビットパソコン]]のソフトウェアを、現在の[[Microsoft Windows]][[パーソナルコンピュータ|パソコン]]で動作させる時などに使うものがみられる。中には厳密にエミュレータとは呼べないものも多いが、すでにパソコン用語として定着している。ハードウェアでエミュレートするものもあり、産業用に広く使われている。 こういったものが存在する需要の背景には、とっくの昔に摩滅して[[中古]]市場でも入手困難になったハードウェアの代用品として、あるいはまだ存在していない製品の代用品として開発段階で、汎用性のある現用のパソコンを流用しようというものがあるが、当然ながら入出力装置([[ユーザインタフェース]])まで同じというわけには行かず、現行製品で代用される。 == コンピュータのエミュレータ == エミュレータは対象となるハードウェア仕様を模倣して動作し、それを利用するソフトウェアやハードウェアに対して適切な[[インターフェース]]を提供する。その提供されるインターフェイスは、製品として元来対象に存在しない仕様のものであったり、エミュレーションを念頭において製造された仕様であったりする。 主な用途としては、1台のコンピュータでエミュレーション技術無しでは元来動作しない異なるオペレーティングシステムを同時に実行させる環境を構築したり、[[携帯電話]]、[[携帯情報端末|PDA]]、[[組み込みシステム]]などのソフトウェアをクロス開発する際の[[デバッグ]]用、大型[[汎用コンピュータ]]の[[端末]]機能の提供といったものがあるが、最近では[[ゲーム機]]や古い[[パーソナルコンピュータ]]向けのソフトウェアを[[PC/AT互換機]]や[[Macintosh]]などのこれも元来エミュレータ無しでは動作することの無いソフトウェアをそのような仕様上まったく互換性の無いハードウェア上で実行させるソフトウェアを指すことも多い。 一般にエミュレータと言う場合にはタイミングの制約は考慮しないものが多い。たとえば[[Z80]]のエミュレータの動作速度は実物のZ80の実行速度で動くわけではない。また、1命令を実行するために必要な[[クロック|クロック数]]を考慮しないことも多い。ただしゲーム機のエミュレータのようにタイミングが重要な場合には考慮することもある。逆に言えば、現時点で同スペックに近似した異なる仕様のハードウェアで異なるエミュレータを実行した場合、エミュレーションで、標準性能で動かすハードウェア以上の性能でエミュレーションした互換スペックのハードウェアが高速に稼動することはまずありえない。更に言えば、古いスペックの標準稼働ハードウェアの仕様を、互換性のない別の高速ハードウェアでエミュレーションした場合、標準稼働ハードウェアの上位機種よりもエミュレーションしたPCの方が、高速に稼働してしまうといった事は、ままある現象である。 [[Java仮想マシン|Java VM]]のような仮想機械([[バーチャルマシン|VM]])は、[[CPU]]や[[I/O]]等のエミュレータと仕組みが似ているが、実際に存在しないハードウェアを動作させるものはエミュレータと呼ばないのが普通である。 なお、[[インサーキット・エミュレータ|ICE]] (In-Circuit Emulator) やROMエミュレータ等はハードウェアによって実装されたエミュレータである。 [[メインフレーム]]・汎用機において、PC向けCPUを使ったエミュレータによって構成されているモデルがある(特別なハードウェアを搭載する必要がなくダウンサイジングを目的としたタイプに多い)。これは激化したPC向けCPUの性能競争の結果、メインフレーム/汎用機などに使われるCPUをソフトウェアでエミュレーションした方が速くなってしまった為である。皮肉な話であるが、現代のPC向けCPUもまた、[[RISC]]プロセッサで作った[[CISC]]プロセッサエミュレータである場合が多い。 ==ゲームエミュレータ== [[ゲームエミュレータ|ゲーム機などのエミュレータ]]の多くはパソコン用のプログラムで、この他にも[[コンシューマーゲーム|家庭用ゲーム機]]や[[アーケードゲーム|業務用ゲーム機]]の機能をエミュレーションするものがある。ただ、市販ソフトウェアの不許可複製などに相当する作業を前提とするものもあり、このあたりは[[著作権]]などに絡んで難しい問題を含む(後述)。 実機さながらに満足に遊べるほど動作するかどうかは別として、いままで発売されたゲーム機のほとんどのエミュレータがユーザーサイドで開発されている。中には当然、日本のゲーム機([[ファミリーコンピュータ]]等)のエミュレーターもあるが、その大半は海外で作られている。しかし複数のCPUを搭載している[[セガサターン]]や[[GD-ROM|特殊フォーマットのCD]]を採用した[[ドリームキャスト]]など、他に比べ特殊な仕様のゲーム機のエミュレータの開発は難航しているようである。特にWiiリモコンによる特殊な操作・特殊なディスクを使用している[[Wii]]に至ってはほぼ不可能である。 ゲーム機というのはパソコンと違い、あくまでゲームソフトを動かす事に特化して作られており、全体的に見れば近年のハイスペックパソコンよりも劣るがエミュレータは基本的に[[Microsoft Windows|Windows]]や[[Mac OS]]といった[[オペレーティングシステム|OS]]の上でさらにOSを動かすのに原理が近いため、実機レベルで動かすためには単純に元のゲーム機よりもより高い処理能力が必要な場合がほとんどである。ゲーム機とほぼ同等の性能を持つパソコンで満足に動作させる事は不可能に近い。パソコンで最新ゲーム機をエミュレーションしてゲームをプレーするには、実際にそのゲーム機を購入する以上に設備投資が必要である。 また、実用レベルで動作させることができるだけの性能を持つパソコンでゲームをプレイしても、エミュレータ本体の種類によって挙動が異なる場合がある。これはプログラムとROMイメージ(後述)の相性の問題で、例えばゲームAは実際のゲーム機と遜色ないほど動作しても、ゲームBはまったく動作しないということは多々ある。これはエミュレータ本体のプログラムを改定するか、別の種類のエミュレータを使って回避するしか方法はない。特にエミュレータ本体の種類間で特に顕著なのは、[[レトロゲーム]]の音声の再現度に関する部分で、プログラムによって聞こえ方がまったく異なる場合が多い。 ===ROMイメージ=== :「ゲームのエミュレータ」とは基本的に「ゲーム機をパソコン上に仮想的に作るソフト」の部分を指す。これは実際の「ゲーム機本体」に該当する。「ゲームソフト」の部分についてはこれと区別して「ROMイメージ」と言う。したがって、ゲームエミュレータはこのROMイメージの内容をロードして再生させる事で、初めて動作する。 :元の無い状態からプログラムして作られているゲームエミュレータ本体には違法性が無い。しかし、ROMイメージはゲームソフトから[[コピー]]して作り出すため、[[インターネット]]上への[[アップロード]]や、[[CD-R]]等に保存して第三者に渡したり、頒布されたものを違法性を認識しつつ使用した場合は[[著作権侵害]]となり、[[刑事罰]]などが科せられる場合がある。違法性の認識無く、とあるが、あろうが無かろうが[[逮捕]]されるときは逮捕されるため、所有権の無いゲームのROMイメージを所有している場合は速やかに削除すべきである(ソフトを所有してようがしてなかろうが、ROMイメージをダウンロードしても私的使用の範囲内で使用するならば合法という見解も多数ある)。なお、著作権法では自分の所有しているソフトウエアから'''直接の複製'''のみを認めているため、「自分の所有しているゲームソフトのROMイメージをネットからダウンロードする」行為も違法とする見方が大半である(異論もある)。また、中には「自分の持っているソフトから吸い出したデータを使用する」ことすらも違法コピーとする見方もある。 :[[アーケードゲーム]]を動作させるエミュレータも存在するが、「ゲーム機本体としてのエミュレータ」と「ROMイメージ([[アーケードゲーム基板|ゲームの基板]])」という基本概念は、ほぼ同じものである。 :正式な方法でファミコンやスーパーファミコン、ゲームボーイといった[[カセット]]式のゲームソフトウェアのROMイメージを作り出す場合、当然ながら一般的なパソコンにそれらのソフトを挿入できる差込口はないので、作り出したいROMイメージのソフトと専用のコピー用機器が必要である。 ===BIOS=== :ゲームエミュレータの種類によっては「[[Basic Input/Output System|BIOS]]」という特定のゲーム機を動作させる核となるデータが必要な場合がある。前述のROMイメージと同様にこのBIOSも、基本はゲーム機の本体から抽出してコピーするため、公衆に頒布することは[[著作権法]]違反となる。しかし依然として、[[ウェブサイト]]や[[ファイル共有ソフト]]を用いてROMイメージやBIOSを違法に頒布する例は後を絶たない。 :自力でゲーム機の本体からBIOSをコピーする場合には、ROMイメージと同様に専用の機器と専用のソフトウェアが必要になる。これらには違法性は無いものの、堂々とは売られておらず、[[アンダーグラウンド (文化)|アンダーグラウンド]]な製品を扱う店舗や、インターネットでの通販によって手に入れることになる。 ===ゲームエミュレータによる逮捕者=== :前述したように、所有していないゲームソフトのROMイメージやBIOSのデータのやりとりはいかなる手段、方法を用いても日本国内では違法である。事実 いままでも多数の逮捕者が出ている(ゲームのROMイメージに限らず[[違法コピー|別件での余罪]]も含まれる)。ソースはないのだが。 ===パソコン以外のハードウェアを使ったゲームエミュレータ=== :パソコン以外のハード(ゲーム機など)上でエミュレーターを起動させ、そのハード上で読み込み可能なメディアに書き込まれたゲームソフトのデータ(ROMイメージ)を読み込み、動作させることも可能である。 :セガのドリームキャスト上でソニーの[[プレイステーション]]のソフトを動作させる'''bleem!'''や、ソニーの[[プレイステーションポータブル|PSP]]で任天堂の[[ファミリーコンピュータ|ファミコン]]を動作させる'''NesterJ'''などがその例である。 :こういったエミュレータはハード(ゲーム機)やソフト(ゲームソフト)を販売しているメーカーが本来意図した商品の使用方法とは異なるため、商品の保証を断ることや、ハードのシステムデータを頻繁に更新し、こういったプログラムを実行できなくしたりすることで対策をとることがある。 :その一方、メーカーがユーザーにエミュレータおよびROMイメージを販売、提供する例もある。任天堂の[[Wii]]には過去に発売されたゲームをダウンロードして遊べる[[バーチャルコンソール]]というサービスがあり、[[プレイステーション3]]や[[PC]]で[[プレイステーション]]のゲームをダウンロードして、PS3およびPSP上で動かす[[ゲームアーカイブス]]というサービスが提供されている。 ==ゲームサーバーエミュレータ== 近年では多様な[[ネットゲーム]]が各社から公開されており、そのゲームサーバーをエミュレートしてゲーム世界を不特定多数のユーザーに公開させるというソフトが存在しており、そういったソフトで公開されているサーバーを、元の開発元の「公式サーバー」と区別して「エミュサーバー」と呼ぶ。 グラフィックなどのデータの大半は[[クライアント]]ソフトに依存しているため、外観についてはほぼ同一だが、エミュレータソフトの開発状況によって 例えば公式サーバーでは公開されている特定のマップに進入できなかったり、アイテムの入手確率や敵の強さが違うなどといった相違点が多く、その手のサーバーを公開しているのは個人によって提供されている場合が多い。エミュレータと名乗る中には正当でない手段で入手したサーバーソフトウェアを全部あるいは一部使用している場合も少なくない。その場合、エミュレータではなくそのものであり、エミュレータとの詐称は違法性の認識を矮小化する意図が含まれる。 有名なものでは[[ウルティマオンライン]]を始め、[[ラグナロクオンライン]]や[[リネージュ2]]など、様々なゲームのエミュレーターサーバがあり、ほとんどが公式サーバーとは違い無料で接続できるのがひとつの特徴である。無料で開放されている一つの理由としては、存在そのものが著作権や商標に抵触している可能性が濃厚で、その上に料金を取れば[[営業妨害]]で訴えられる可能性が高い上に、料金徴収に掛かるコストが大きい上にそこからサーバー開設者の特定(そして逮捕など)が容易になるからである。事実、海外では料金こそ取っていなかったが「エミュレーターサーバーの運営者が公式サイトのクライアントソフトに直接リンクしてダウンロードさせていたためクライアントソフトの提供に多額のコスト被害が発生した」として逮捕されたケースもある。 一方でエミュレーターサーバーに接続する「ユーザー」の場合、逮捕されたり起訴されたといった話は無いが、サーバーに接続するためにクライアントソフトの改造を必要とする場合があり、著作権法違反やゲームソフトの利用規約違反に抵触する恐れがあるため注意が必要である。それ以前にエミュレータのほとんどが違法であるという認識を持つべきである。 == 各種エミュレータ == === PC系列 === *680x0シリーズ **[[Macintosh]] ***FusionPC ***BasiliskII ***vMac ***ShapeShifter **[[X68000]] ***EX68 ***X68EM ***xm6 ***WinX68k ***AX68K **[[Amiga]] ***UAE (Ubiquitous Amiga Emulator) *PowerPC **[[Power Mac]] ***[[SheepShaver]] ***[[PearPC]] *[[80x86]] **[[PC/AT互換機]] ***[[Virtual PC]] ***[[VMware]] ***[[Bochs]] ***[[Parallels Workstation]] ***[[Parallels Desktop]] ***[[キュー (エミュレータ)]] **[[PC-8800シリーズ]] ***M88 ***P88SR **[[PC-9800シリーズ]] ***PC-98E ***T98 **[[PC-9821シリーズ]] ***T98-Next **98互換機 ***ANEX86 ***Neko Project II **[[FM TOWNS]] ***うんづ *[[MSX]] **blueMSX **fMSX **NLMSX **openMSX **paraMSX **RuMSX **Zodiac **MSXPLAYer **Wiiバーチャルコンソール ***ただし、一部のゲームに限る。 *マルチプラットフォーム **[[QEMU]] **MESS (主にゲーム機) *大型汎用機端末 **[[IBM]]3270 **[[日立製作所|日立]]T560 **[[富士通]]F6680 *[[端末エミュレータ]] **[[Tera Term]] *X端末 **Exceed === ゲーム機系列 === ※[[ゲームエミュレータ]] 注意:使用法によっては、これらは、[[著作権]]法を侵害する可能性があります。 *ゲーム機 **[[プレイステーション]] ***ePSXe ***bleem! ***CVGS (Connectix Virtual Game Station) ***PCSX ***SSSPSX ***PSXeven ***pSX emulator **[[セガサターン]] ***SSF **[[ドリームキャスト]] ***Chankast ****[[ドリームキャスト#ビジュアルメモリ|ビジュアルメモリ]] *****SoftVMS **[[PCエンジン]] ***Ootake ***MagicEngine ***Yame ***Wiiバーチャルコンソール **[[PC-FX]] ***MagicEngineFX **[[ゲームボーイ]]シリーズ ***ゲームボーイ ****KiGB ****Virtual Gameboy ****TGB Dual ***[[ゲームボーイアドバンス]] ****Boycott Advance ****[[VisualBoyAdvance]] (ゲームボーイとゲームボーイアドバンスの両方に対応) **[[スーパーファミコン]] ***Snes9x ***SNEShout ***ZSNES ***SNESGT ***bsnes ***uosnes ***Wiiバーチャルコンソール **[[ファミリーコンピュータ|ファミコン]] ***Famtasia ***BioNES ***Nesticle ***NNNesterJ ***iNES ***fwNES ***RockNES ***[[パソファミ]] ***MacFC ***VirtuaNES ***Nestopia ***SMYNES ***BeNES ***VirtuaNES ***Wiiバーチャルコンソール **[[メガドライブ]] ***Kega Fusion ***Gens ***Wiiバーチャルコンソール **[[アーケードゲーム]] ***[[MAME]] (マルチプラットホーム) ***raine32 ***[[エミュレーター基板]] ***[[Vivanonno]]([[ナムコ]]システム22) **[[プレイステーション2]] ***PCSX2 **[[ニンテンドーDS]] ***DeSmuMe ***iDeaS ***no$gba **ゲーム&ウォッチ **[[ゲームキューブ]] ***DOLPHIN === 音源に特化したもの === **hoot **mdxdrv **[[Audio Overload]] == 関連項目 == * [[シミュレータ]] * [[コンピュータ]] * [[著作権]] * [[Homebrew]] * [[ハックロム]] {{DEFAULTSORT:えみゆれた}} [[Category:エミュレーションソフトウェア|*]] [[Category:システムソフトウェア]] [[Category:コンピュータアーキテクチャ]]