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

エミュレータ（英: Emulator）とは、コンピューターを含む機械装置の動作・機能を模倣する事をエミュレート（動詞）またはエミュレーション（名詞）といい、エミュレート/エミュレーションする装置、あるいはソフトウェアのことをエミュレーターという。本項では、コンピュータに関連したエミュレータについて解説する。 エミュレータとは、所定のコンピュータや機械装置の全機能を模倣する機構のことである。特に実機が存在するもの、ないし実機の内部ロジックそのものを再現するもの、を指すことが多く、仮想化技術（仮想機械#システム仮想機械）のひとつでもある。一方、Java仮想マシンなどの仮想機械（仮想機械#プロセス仮想機械）は、原理的にはエミュレータと同様のものだが、模倣対象の実機が存在しないため、エミュレータとしないこともある。 エミュレータの需要の背景には、既に摩滅して、市場で入手困難になったハードウェアの代用品として、あるいはまだ存在していない製品の代用や、クロス開発の実行環境として、開発段階で汎用性のある現用のパソコンを流用しようというものがある。これらは、所定の環境で動作するソフトウェアを、ハードウェアやオペレーティングシステムが異なる環境でも動作させることを目的とする。 コンピュータ上で動作するエミュレータの多くは、ソフトウェアによる実装が多い。ハードウェアでエミュレートするものもあり、産業用に広く使われている。 ICE (In-Circuit Emulator) やROMエミュレータ等はハードウェアによって実装されたエミュレータである。プログラマブルロジックデバイスに他の集積回路と同等のものを実装したものも一種のハードウェアによるエミュレータである。 エミュレータは、対象となるハードウェア仕様を模倣して動作する。それを利用するソフトウェアやハードウェアに対しては、適切なインターフェースを提供する。提供されるインターフェイスは、製品として存在しない仕様のものであったり、エミュレーションを念頭において製造された仕様であったりする。 主な用途としては、 新しいシステムでも、古いソフトウェアを実行するため。（後方互換) あるコンピュータ上で、異なるオペレーティングシステムを同時に実行させる環境を構築する。 携帯電話、PDA、組み込みシステムなどのソフトウェアをクロス開発する際の実行環境として。 端末をエミュレートする端末エミュレータ。 ゲーム機やパーソナルコンピュータ向けのソフトウェアを、別の環境で実行する。 などがある。 商用で最初のコンピュータのエミュレータは、1958年のIBM 709に搭載された。またマイクロプログラム方式のCPUは複数の命令セットのサポートを容易とした。 一般にエミュレータは、タイミングの制約は考慮しないものが多い。例えば、Z80のエミュレータの動作速度は、実物のZ80の実行速度で動くとは限らない。1命令を実行するために必要なクロック数を考慮しないことも多い。ただし、リアルタイムの処理系を正確に再現する場合は、当然ながら配慮される。 ほとんどのエミュレータは、環境の違いを吸収するための、なんらかのトランスレーションを行いつつ実行される。従って、実行時のオーバーヘッドは避けられない。そのため実行環境は、エミュレーション対象よりも高速な処理能力が必要である。しかし、古いスペックのハードウェアを、十分に高速なハードウェアでエミュレーションした場合は、実機よりも高速に稼働してしまう場合もある。 メインフレーム・汎用機において、PCやUnixサーバ向けCPUを使ったエミュレータによって構成されているモデルがある。特別なハードウェアを搭載する必要がなく、ダウンサイジングを目的としたタイプに多い。これは、激化したPCやUnixサーバ向けCPUの性能競争の結果、メインフレーム/汎用機などに使われるCPUを、ソフトウェアでエミュレーションした方が速くなってしまったためである。 現代のPC向けCPUもまた、RISCプロセッサで作ったCISCプロセッサエミュレータである場合が多い。 原理的にはコンピュータのエミュレータの一種だが、家庭用ゲーム機や業務用ゲーム機をエミュレーションするソフトウェアで、ほとんどはゲーム機メーカーとは関係のない個人や団体が作成した非公認のものである。 さまざまなゲーム機のエミュレーターが存在し、実行環境の多くはパソコン用だが、家庭用ゲーム機上に実装されたもの(バーチャルコンソール等)も存在する。市販ソフトウェアを対象とする場合、著作権と絡んで難しい問題を含む。 原則として、ゲームエミュレータ本体に関しては、実物の動作をリバースエンジニアリングして開発する限りは違法性はないとされる。ただし、ハードウェアベンダから提供される、ハードウェア情報やソフトウェア開発キットなど、ベンダとの守秘義務契約に該当する情報を流用した場合は、守秘義務契約を違反した開発者に対して違法性を問われることになる。 パソコン上で実行する場合、ゲームソフトの実行に特化したハードウェアであるゲーム機の動作を汎用ハードウェアのパソコン上で再現するには多くの問題があるため、実機と同等の速度で動作させるためには元のゲーム機より遙かに高い処理能力が必要である。特に、複数のCPUを搭載しているセガサターンや特殊フォーマットのCDであるGD-ROMを採用したドリームキャストや現行のゲーム機よりCPU性能が劣っていてもロムカートリッジ内にCPUが搭載されているカセットビジョンなど、特殊な仕様になっているゲーム機のエミュレータは開発が困難である。実用レベルで動作させることができる性能を持つパソコンであっても、エミュレータの再現度によって、挙動が異なる場合がままある。これは、エミュレータ自身の実装の問題のように改善が可能なものもあれば、音声など、実機のアナログ(アンプ)回路の設計・実装や個体差に依存する問題のように、対応が困難なものもある。 家庭用ゲーム機などパソコン以外のハードウェア用のエミュレータも存在し、セガのドリームキャスト上でソニー・コンピュータエンタテインメントのPlayStationのソフトを動作させるものや、ソニー・コンピュータエンタテインメントのPSPで任天堂のファミコンを動作させるものなどがある。こういった家庭用ゲーム機を実行環境とする非公認エミュレータはゲーム機やソフトのメーカーが本来意図した使用方法とは異なるので、メーカー側がハードウェアやソフトウェアに対策を施すことでエミュレータ環境の実行を阻止する対策をとることがある。 一方、メーカーの公認・許諾を得てエミュレータおよびROMイメージを販売・提供する例もある。任天堂のWiiには、過去に発売されたゲームをダウンロードして遊べる「バーチャルコンソール」というサービスがある（この場合は、Wii本体がゲームエミュレータとなる）。 また、PlayStation 3やPCでPlayStationとPCエンジンのゲームをダウンロードしてPS3およびPSP上で動かす「ゲームアーカイブス」や、かつて販売されたテレビゲームやパソコンゲームをWindows上でエミュレートさせて動作可能な状態に復刻しダウンロード販売を行う「プロジェクトEGG」などのサービスも提供されている。 ゲームエミュレータは、いわばゲーム機本体であるといえる。従ってゲームソフトを別に用意する必要がある。ゲームソフトといっても、デジタルデータであり、これが俗称でROMイメージなどと呼ばれる。エミュレータは、このROMイメージの内容をロードして再生することで、初めて動作する。CD-ROMやDVD-ROMといった汎用メディアを採用したソフトウェアである場合は、直接ロード可能な場合もあるが、それ以外の場合は実物のゲームソフトからコピーしてパソコン上にROMイメージを作り出す必要がある。 業務用ゲーム機などの場合、基板から外したROMのIC単体でROMリーダ/ライタを使って読み出す。家庭用ゲーム機と供給方式が似ている場合も、同様の手段でデータを読み出す。 一般的なパソコンで利用できないメディアを採用したソフトウェアのROMイメージを作り出す場合には、作り出したいROMイメージのソフトと、パソコンがROMイメージを読み込めるようにする機器が必要である。メディアをパソコン上で読み込めるようにする手法と、パソコンへ転送する機器を用いて実機上でメディアを読み出す手法がある。この2つは違法性がないとされている手法だが、さすがに必要な機器は堂々とは売られておらず、インターネット通販や、アンダーグラウンドな製品を扱っている店舗（秋葉原や日本橋に多く、機器は全て輸入品）で販売されるのが一般的である。 このような吸い出し行為は昔はOKだったが、2012年の著作権法の改正により、私的複製に於ても技術的保護手段(いわゆるコピープロテクト)を解除することは違法になった。ただしこの改正自体は主にDVDやブルーレイディスクの映像ソフトのコピーを念頭に置いたものであり、ゲームソフトに関しては明確な見解は出されていない。コピープロテクトのかかっていないソフトの私的複製は依然として合法である。 詳しくは後述するが、こうしてコピーされたゲームデータのイメージがインターネット上で違法に配布されているという事例は後を絶たず、著作権者や管理団体の頭痛のタネとなっている。 ゲームエミュレータの種類によっては、ハードウェア環境固有の基本プログラムのデータである「BIOS」、が必要な場合がある。これはROMとして実装されているのが普通で、前述のROMイメージと同様にゲーム機の本体から抽出してコピーするため、公衆に頒布することは著作権法違反となる。しかし、ウェブサイトやファイル共有ソフトを用いて違法に頒布する例は、ROMイメージ同様に後を絶たない。 自力でゲーム機の本体からBIOSをコピーする場合には、ROMイメージと同様に専用の機器と専用のソフトウェアが必要になる。これらもROMイメージコピー用の機器と同じく、アンダーグラウンドな製品を扱う店舗やインターネットでの通販という販売形態がほとんどである。 ただし、オリジナルの挙動から、互換性のあるコードを生成、再実装した互換BIOSや、シャープのX68000については、メーカーが公式にBIOSの配布を許諾しており、これを用いる場合にはその限りではない。 ゲームエミュレータにおけるこうした問題で一番重要とされているものは、ROMやBIOSイメージの入手方法である。現存しているROMやBIOSデータは「ほとんどがインターネット上へのアップロードやCD-R等の記憶媒体経由で第三者に譲渡・頒布されたものであって明らかに違法なものである」と考えられているため、著作権者および関連団体はこれを問題視している。 ゲームエミュレータが持つ役割は、入手が困難な古いゲームソフトをプレーするという面が強かったが、最新のゲーム機のエミュレータも多い。コピーしたソフトが実機を必要としない為、最新のゲームソフトが発売日前に流出するという事態も珍しいことではなくなった。これは、コンピュータの高性能化やインターネットの高速化、改造をゲーム機本体に直接加える事などにより引き起こされた問題である。 日本においては、譲渡・頒布など、提供する側を罰する法律はあり、時折検挙者も見られる。しかし、受け取る側に関しては、著作権法は親告罪であることから、ダウンロードの利用に関しては、拡大解釈してグレーゾーンあるいは合法と吹聴する者もいるが、あまりに悪質な場合は警察が独自に捜査を行う場合もあるため、明らかに誤った認識である。また、違法ダウンロードの刑事罰化が施行済みである。 自分の持っているソフトウェアならば、ダウンロードは法律で認められている、などと記述するサイトもあるが、理論上はアップロードされているデータは他人が複製したものであり、自身が複製した物ではない。このため、たとえ電子的には同じ情報であっても、著作権法の私的複製には該当せず、法的には全く根拠はない。 また、家庭内での私的利用の範疇における複製は著作権法で認められているので、これに基づいた考え方の「自分が所有しているソフトウエアやハードウエアから直接の複製を行う場合は合法である」という考えは一般的である。ただしコピープロテクトを破って複製するなど、著作権法（99年改正など）の「技術的保護手段（の回避）」に関する項に触れる場合は違法である。現在不正競争防止法の見直しが検討中である[1]。 加えて、契約でコピーを禁止していれば、そのソフトをコピーすることは原則禁止となる。これに違反してソフトウェアを無理やりコピーすれば、契約不履行である。それでも、本来ならば利用することができなくなったそのソフトを無理に使用したら、前述のように、契約の問題で販売元は法的手段に訴えることが可能であり、訴えられる可能性がある。 また「ゲームソフトのデータを配布するサイトを具体的に紹介するサイト」というのも、法的には極めて黒に近いグレーゾーンである。ゲームソフトを配布しているサイトを不特定多数に紹介することで違法行為を教唆していると解釈することも可能である。 こうした情報を目の当たりにして違法性を認識しつつ使用した場合、著作権侵害となり刑事罰などが科せられるというのが著作権法上の解釈である。 各社から公開されているオンラインゲームに関して、そのゲームサーバをエミュレートするソフトが存在している。サービスのエミュレータではあっても、厳密に言えばオリジナルの実装を完全に再現しない限り、サーバーサービスとプロトコルのシミュレータである。しかし便宜上エミュレータと呼ばれることがほとんどである。また、そのようなソフトウェアで公開されているサーバを、元の開発元の「公式サーバ」と区別して「エミュレータサーバ」「エミュサーバ」などと呼ぶ。 エミュレータと名乗る中には、正当でない手段で入手した、正規のサーバソフトウェアを全部あるいは一部使用している場合もある。実際に、ラグナロクオンラインは、サーバプログラムが台湾で流出している。この場合は単なるデッドコピーであり、異なるものの、エミュレータと呼ぶこともある。エミュレータと詐称することには、違法性の認識を矮小化する意図が含まれる。 グラフィックなどのデータの大半は、クライアントソフトに依存しているため、外観については、エミュレータサーバであっても、ほぼ同一である。しかし、エミュレーションの実装度合いや再現度によって 公式サーバでは公開されているマップに進入できなかったり、アイテムの入手確率や敵の強さが違うなどといった相違点も多い。 有名なものでは、外国産のウルティマオンラインを始め、ラグナロクオンラインやリネージュ2など、さまざまなゲームのエミュレーターサーバがある。非公認であるため、サーバを公開しているのは、個人がほとんどである。また、ほとんどが公式サーバとは違い、無料で接続できるのがひとつの特徴である。無料で開放されている一つの理由としては、存在そのものが著作権や商標に抵触している可能性が濃厚で、その上に料金を取れば営業妨害で訴えられる可能性が高く、そこからサーバ開設者の特定（そして逮捕など）が容易になるからである。事実、海外では料金こそ取っていなかったが、「エミュレーターサーバの運営者が、公式サイトのクライアントソフトに直接リンクしてダウンロードさせていたため、クライアントソフトの提供に多額のコスト被害が発生した」として逮捕されたケースもある。 一方でエミュレーターサーバに接続するユーザーは、逮捕されたり起訴されたといった話はまずないが、サーバに接続するためにクライアントソフトの改造を必要とする場合がある。それを直接罰する法律はないが、ほとんどの場合、クライアントソフトの改変やサーバエミュレータの利用は、クライアントソフトウェアの利用規約に対して違反している。 680x0シリーズ Macintosh FusionPC (DOS上で動作) BasiliskII (Windows、BeOSなどで動作) vMac ShapeShifter SoftMac (MacOS 8.1まで動作) X68000　製造中止後、シャープが仕様、ROM内容、OSを公開している EX68 X68EM XM6 WinX68k AX68K Amiga UAE (Ubiquitous Amiga Emulator) PowerPC Power Mac SheepShaver PearPC 6502系 Apple2 appilwin applepc appler AppleWin (Windowsで動作するApple II / IIe エミュレータ） 6800系 富士通FMシリーズ(8ビット機のみ。FM-8、FM-7、FM-77、FM77AV〜FM77AV40SX) EM-7 XM7 FEMU7 日立ベーシックマスターシリーズ BRSMS21R Dega M80F MEKA030 Past-O-Rama SPCAD225 日立S1 MB-S1(試作版) パナソニック JR-200 Virtual Panasonic JR-200U x86 PC/AT互換機　仕様が元々オープンのため多種多彩なエミュレータが存在している Virtual PC VMware Bochs Parallels Workstation Parallels Desktop Q VirtualBox SoftWindows DOSBox PC-6000シリーズ iP6 Pius PC-6001V PC-8800シリーズ M88 P88SR QUASI88 X88000 PC88EM PC88Emulator P88SR PC-9800シリーズ PC-98E T98 PC-X86 PC-9821シリーズ T98-Next Neko Project 21/W 98互換機 ANEX86 Neko Project II FM TOWNS うんづ 津軽 X1シリーズ WinX1 ika風味 X millennium MZシリーズ MZ-80K系統（MZ-80C、MZ-80K、MZ-700、MZ-1200、MZ-1500） mz7_052 MZ700WIN mz700y2k02 MZ-80B系統（MZ-80B、MZ-80B2、MZ-2000、MZ-2200） emuz2000 MZ-2500 EmuZ-2500 SONY SMC-777 WinSMC MSX blueMSX fMSX NLMSX openMSX paraMSX RuMSX Zodiac MSXPLAYer (MSXアソシエーションによる公式エミュレータ) バーチャルコンソール (任天堂による公式エミュレータ) ぴゅう太 InfoPyuta TutorEm マルチプラットフォーム QEMU MESS (主にゲーム機) 大型汎用機端末 IBM3270 日立T560 富士通F6680 端末エミュレータ Tera Term X端末 Exceed Exceed onDemand Exceed Freedom ※ゲームエミュレータ 注意：基本的には合法であるこちらの非公認エミュレータも、使用法によっては著作権法を侵害する可能性がある。 ファミリーコンピュータ Famtasia BioNES Nesticle NNNesterJ iNES fwNES RockNES バーチャルコンソール (任天堂による公式エミュレータ) パソファミ MacFC VirtuaNES Nestopia SMYNES BeNES スーパーファミコン Snes9x SNEShout ZSNES SNESGT bsnes uosnes バーチャルコンソール (任天堂による公式エミュレータ) NINTENDO64 Project64 1964 Nemu64 バーチャルコンソール (任天堂による公式エミュレータ) ニンテンドーゲームキューブ Dolphin Wii Dolphin Wii U Cemu Decaf Nintendo Switch yuzu ゲームボーイ KiGB Virtual Gameboy TGB Dual VisualBoyAdvance GEM バーチャルコンソール (任天堂による公式エミュレータ) ゲームボーイアドバンス Boycott Advance VisualBoyAdvance VBA-M バーチャルコンソール (任天堂による公式エミュレータ) ニンテンドーDS DeSmuMe melonDS iDeaS NO$GBA バーチャルコンソール (任天堂による公式エミュレータ) ニンテンドー3DS Citra Corgi3DS PlayStation ePSXe bleem! Connectix Virtual Game Station PCSX SSSPSX PSXeven pSX emulator xebra ゲームアーカイブス (SCEによる公式エミュレータ) PlayStation 2 PCSX2 PlayStation 3 RPCS3 PocketStation PK201 PlayStation Portable PPSSPP PlayStation Vita Vita3K マスターシステム Kega Fusion バーチャルコンソール (任天堂による公式エミュレータ) PCエンジン Ootake MagicEngine Yame バーチャルコンソール (任天堂による公式エミュレータ) ゲームアーカイブス (SCEによる公式エミュレータ) PC Engine GameBox (当時のハドソンによる公式エミュレータ) メガドライブ Kega Fusion Gens バーチャルコンソール (任天堂による公式エミュレータ) セガサターン SSF Yabause ドリームキャスト Chankast Makaron nullDC lxdream ビジュアルメモリ SoftVMS ゲームギア Kega Fusion バーチャルコンソール (任天堂による公式エミュレータ) ネオジオ NeoRageX バーチャルコンソール (任天堂による公式エミュレータ) アタリ2600 Z26 Stella PC-FX MagicEngineFX MAME (マルチプラットホーム) raine32 エミュレーター基板 Vivanonno(ナムコシステム22) バーチャルコンソール (任天堂による公式エミュレータ) hoot mdxdrv zmdrive Audio Overload