エミュレータ (コンピュータ)

提供: Yourpedia
2020年1月17日 (金) 01:15時点における揖保川の水兵さん (トーク | 投稿記録)による版 (SEOに熱心なMuttley (トーク) による編集を Ded による直前の版へ差し戻しました)

(差分) ←前の版 | 最新版 (差分) | 次の版→ (差分)
移動: 案内検索

エミュレータ (Emulator)とは、コンピュータを含む機械装置の動作・機能を模倣する装置、あるいは模倣するソフトウェアのことである。ただし本項ではコンピュータに関するエミュレータについて解説する。

概要

エミュレータは、所定のコンピュータや機械装置の模倣装置あるいは模倣ソフトウェアのことで、もともとは機械装置全般に使う言葉である。なお動作を予め仮想的に行うものはシミュレータであり、エミュレータは動作そのものが求められる。コンピュータのエミュレータの多くは、ソフトウエアによるものである。パソコンのエミュレータ、ゲーム機器のエミュレータなどが多く製作・利用されている。

これらは、所定のコンピュータで動作するソフトウェアを、ハードウェアやオペレーティングシステムの全く異なる環境で動作させることを目的とするもので、ソフトウェア移植作業を行わなくても動作させられるため、再現性の高いエミュレータがあれば、対象となるソフトウェアの種類が問われないなどの利便性がある。反面、コンピュータ内部で一端ハードウェアが処理していた機能もソフトウェアで代行することから、エミュレータを動作させるコンピュータの能力は、もともとのコンピュータよりも更に高いものが要求される。

これらは一種のミドルウェアである。たとえば古い8ビットパソコンのソフトウェアを、現在のMicrosoft Windowsパソコンで動作させる時などに使うものがみられる。中には厳密にエミュレータとは呼べないものも多いが、すでにパソコン用語として定着している。ハードウェアでエミュレートするものもあり、産業用に広く使われている。

こういったものが存在する需要の背景には、とっくの昔に摩滅して中古市場でも入手困難になったハードウェアの代用品として、あるいはまだ存在していない製品の代用品として開発段階で、汎用性のある現用のパソコンを流用しようというものがあるが、当然ながら入出力装置(ユーザインタフェース)まで同じというわけには行かず、現行製品で代用される。

コンピュータのエミュレータ

エミュレータは対象となるハードウェア仕様を模倣して動作し、それを利用するソフトウェアやハードウェアに対して適切なインターフェースを提供する。その提供されるインターフェイスは、製品として元来対象に存在しない仕様のものであったり、エミュレーションを念頭において製造された仕様であったりする。

主な用途としては、1台のコンピュータでエミュレーション技術無しでは元来動作しない異なるオペレーティングシステムを同時に実行させる環境を構築したり、携帯電話PDA組み込みシステムなどのソフトウェアをクロス開発する際のデバッグ用、大型汎用コンピュータ端末機能の提供といったものがあるが、最近ではゲーム機や古いパーソナルコンピュータ向けのソフトウェアをPC/AT互換機Macintoshなどのこれも元来エミュレータ無しでは動作することの無いソフトウェアをそのような仕様上まったく互換性の無いハードウェア上で実行させるソフトウェアを指すことも多い。

一般にエミュレータと言う場合にはタイミングの制約は考慮しないものが多い。たとえばZ80のエミュレータの動作速度は実物のZ80の実行速度で動くわけではない。また、1命令を実行するために必要なクロック数を考慮しないことも多い。ただしゲーム機のエミュレータのようにタイミングが重要な場合には考慮することもある。逆に言えば、現時点で同スペックに近似した異なる仕様のハードウェアで異なるエミュレータを実行した場合、エミュレーションで、標準性能で動かすハードウェア以上の性能でエミュレーションした互換スペックのハードウェアが高速に稼動することはまずありえない。更に言えば、古いスペックの標準稼働ハードウェアの仕様を、互換性のない別の高速ハードウェアでエミュレーションした場合、標準稼働ハードウェアの上位機種よりもエミュレーションしたPCの方が、高速に稼働してしまうといった事は、ままある現象である。

Java VMのような仮想機械(VM)は、CPUI/O等のエミュレータと仕組みが似ているが、実際に存在しないハードウェアを動作させるものはエミュレータと呼ばないのが普通である。

なお、ICE (In-Circuit Emulator) やROMエミュレータ等はハードウェアによって実装されたエミュレータである。

メインフレーム・汎用機において、PC向けCPUを使ったエミュレータによって構成されているモデルがある(特別なハードウェアを搭載する必要がなくダウンサイジングを目的としたタイプに多い)。これは激化したPC向けCPUの性能競争の結果、メインフレーム/汎用機などに使われるCPUをソフトウェアでエミュレーションした方が速くなってしまった為である。皮肉な話であるが、現代のPC向けCPUもまた、RISCプロセッサで作ったCISCプロセッサエミュレータである場合が多い。

ゲームエミュレータ

ゲーム機などのエミュレータの多くはパソコン用のプログラムで、この他にも家庭用ゲーム機業務用ゲーム機の機能をエミュレーションするものがある。ただ、市販ソフトウェアの不許可複製などに相当する作業を前提とするものもあり、このあたりは著作権などに絡んで難しい問題を含む(後述)。

実機さながらに満足に遊べるほど動作するかどうかは別として、いままで発売されたゲーム機のほとんどのエミュレータがユーザーサイドで開発されている。中には当然、日本のゲーム機(ファミリーコンピュータ等)のエミュレーターもあるが、その大半は海外で作られている。しかし複数のCPUを搭載しているセガサターン特殊フォーマットのCDを採用したドリームキャストなど、他に比べ特殊な仕様のゲーム機のエミュレータの開発は難航しているようである。特にWiiリモコンによる特殊な操作・特殊なディスクを使用しているWiiに至ってはほぼ不可能である。

ゲーム機というのはパソコンと違い、あくまでゲームソフトを動かす事に特化して作られており、全体的に見れば近年のハイスペックパソコンよりも劣るがエミュレータは基本的にWindowsMac OSといったOSの上でさらにOSを動かすのに原理が近いため、実機レベルで動かすためには単純に元のゲーム機よりもより高い処理能力が必要な場合がほとんどである。ゲーム機とほぼ同等の性能を持つパソコンで満足に動作させる事は不可能に近い。パソコンで最新ゲーム機をエミュレーションしてゲームをプレーするには、実際にそのゲーム機を購入する以上に設備投資が必要である。

また、実用レベルで動作させることができるだけの性能を持つパソコンでゲームをプレイしても、エミュレータ本体の種類によって挙動が異なる場合がある。これはプログラムとROMイメージ(後述)の相性の問題で、例えばゲームAは実際のゲーム機と遜色ないほど動作しても、ゲームBはまったく動作しないということは多々ある。これはエミュレータ本体のプログラムを改定するか、別の種類のエミュレータを使って回避するしか方法はない。特にエミュレータ本体の種類間で特に顕著なのは、レトロゲームの音声の再現度に関する部分で、プログラムによって聞こえ方がまったく異なる場合が多い。

ROMイメージ

「ゲームのエミュレータ」とは基本的に「ゲーム機をパソコン上に仮想的に作るソフト」の部分を指す。これは実際の「ゲーム機本体」に該当する。「ゲームソフト」の部分についてはこれと区別して「ROMイメージ」と言う。したがって、ゲームエミュレータはこのROMイメージの内容をロードして再生させる事で、初めて動作する。
元の無い状態からプログラムして作られているゲームエミュレータ本体には違法性が無い。しかし、ROMイメージはゲームソフトからコピーして作り出すため、インターネット上へのアップロードや、CD-R等に保存して第三者に渡したり、頒布されたものを違法性を認識しつつ使用した場合は著作権侵害となり、刑事罰などが科せられる場合がある。違法性の認識無く、とあるが、あろうが無かろうが逮捕されるときは逮捕されるため、所有権の無いゲームのROMイメージを所有している場合は速やかに削除すべきである(ソフトを所有してようがしてなかろうが、ROMイメージをダウンロードしても私的使用の範囲内で使用するならば合法という見解も多数ある)。なお、著作権法では自分の所有しているソフトウエアから直接の複製のみを認めているため、「自分の所有しているゲームソフトのROMイメージをネットからダウンロードする」行為も違法とする見方が大半である(異論もある)。また、中には「自分の持っているソフトから吸い出したデータを使用する」ことすらも違法コピーとする見方もある。
アーケードゲームを動作させるエミュレータも存在するが、「ゲーム機本体としてのエミュレータ」と「ROMイメージ(ゲームの基板)」という基本概念は、ほぼ同じものである。
正式な方法でファミコンやスーパーファミコン、ゲームボーイといったカセット式のゲームソフトウェアのROMイメージを作り出す場合、当然ながら一般的なパソコンにそれらのソフトを挿入できる差込口はないので、作り出したいROMイメージのソフトと専用のコピー用機器が必要である。

BIOS

ゲームエミュレータの種類によっては「BIOS」という特定のゲーム機を動作させる核となるデータが必要な場合がある。前述のROMイメージと同様にこのBIOSも、基本はゲーム機の本体から抽出してコピーするため、公衆に頒布することは著作権法違反となる。しかし依然として、ウェブサイトファイル共有ソフトを用いてROMイメージやBIOSを違法に頒布する例は後を絶たない。
自力でゲーム機の本体からBIOSをコピーする場合には、ROMイメージと同様に専用の機器と専用のソフトウェアが必要になる。これらには違法性は無いものの、堂々とは売られておらず、アンダーグラウンドな製品を扱う店舗や、インターネットでの通販によって手に入れることになる。

ゲームエミュレータによる逮捕者

前述したように、所有していないゲームソフトのROMイメージやBIOSのデータのやりとりはいかなる手段、方法を用いても日本国内では違法である。事実 いままでも多数の逮捕者が出ている(ゲームのROMイメージに限らず別件での余罪も含まれる)。ソースはないのだが。

パソコン以外のハードウェアを使ったゲームエミュレータ

パソコン以外のハード(ゲーム機など)上でエミュレーターを起動させ、そのハード上で読み込み可能なメディアに書き込まれたゲームソフトのデータ(ROMイメージ)を読み込み、動作させることも可能である。
セガのドリームキャスト上でソニーのプレイステーションのソフトを動作させるbleem!や、ソニーのPSPで任天堂のファミコンを動作させるNesterJなどがその例である。
こういったエミュレータはハード(ゲーム機)やソフト(ゲームソフト)を販売しているメーカーが本来意図した商品の使用方法とは異なるため、商品の保証を断ることや、ハードのシステムデータを頻繁に更新し、こういったプログラムを実行できなくしたりすることで対策をとることがある。
その一方、メーカーがユーザーにエミュレータおよびROMイメージを販売、提供する例もある。任天堂のWiiには過去に発売されたゲームをダウンロードして遊べるバーチャルコンソールというサービスがあり、プレイステーション3PCプレイステーションのゲームをダウンロードして、PS3およびPSP上で動かすゲームアーカイブスというサービスが提供されている。

ゲームサーバーエミュレータ

近年では多様なネットゲームが各社から公開されており、そのゲームサーバーをエミュレートしてゲーム世界を不特定多数のユーザーに公開させるというソフトが存在しており、そういったソフトで公開されているサーバーを、元の開発元の「公式サーバー」と区別して「エミュサーバー」と呼ぶ。

グラフィックなどのデータの大半はクライアントソフトに依存しているため、外観についてはほぼ同一だが、エミュレータソフトの開発状況によって 例えば公式サーバーでは公開されている特定のマップに進入できなかったり、アイテムの入手確率や敵の強さが違うなどといった相違点が多く、その手のサーバーを公開しているのは個人によって提供されている場合が多い。エミュレータと名乗る中には正当でない手段で入手したサーバーソフトウェアを全部あるいは一部使用している場合も少なくない。その場合、エミュレータではなくそのものであり、エミュレータとの詐称は違法性の認識を矮小化する意図が含まれる。

有名なものではウルティマオンラインを始め、ラグナロクオンラインリネージュ2など、様々なゲームのエミュレーターサーバがあり、ほとんどが公式サーバーとは違い無料で接続できるのがひとつの特徴である。無料で開放されている一つの理由としては、存在そのものが著作権や商標に抵触している可能性が濃厚で、その上に料金を取れば営業妨害で訴えられる可能性が高い上に、料金徴収に掛かるコストが大きい上にそこからサーバー開設者の特定(そして逮捕など)が容易になるからである。事実、海外では料金こそ取っていなかったが「エミュレーターサーバーの運営者が公式サイトのクライアントソフトに直接リンクしてダウンロードさせていたためクライアントソフトの提供に多額のコスト被害が発生した」として逮捕されたケースもある。

一方でエミュレーターサーバーに接続する「ユーザー」の場合、逮捕されたり起訴されたといった話は無いが、サーバーに接続するためにクライアントソフトの改造を必要とする場合があり、著作権法違反やゲームソフトの利用規約違反に抵触する恐れがあるため注意が必要である。それ以前にエミュレータのほとんどが違法であるという認識を持つべきである。

各種エミュレータ

PC系列

ゲーム機系列

ゲームエミュレータ

注意:使用法によっては、これらは、著作権法を侵害する可能性があります。

音源に特化したもの

関連項目