나무모에 미러 (일반/밝은 화면)
최근 수정 시각 : 2024-12-15 15:51:38

에뮬레이터


1. 개요2. 에뮬레이터의 예시
2.1. LLE vs HLE
3. 콘솔 에뮬레이터
3.1. 하이스코어에서의 에뮬레이터3.2. 관련 문서
4. 법적 문제
4.1. 콘솔 하드웨어의 저작권
4.1.1. 미국4.1.2. 한국
4.2. 소프트웨어의 저작권4.3. 소프트웨어의 DRM
5. 에뮬레이터 목록
5.1. 가정용·휴대용 게임기, 일반 컴퓨터5.2. 아케이드 기판 에뮬레이터5.3. 다기종 에뮬레이터5.4. 그 밖의 에뮬레이터5.5. 공식 에뮬레이터5.6. 에뮬레이터가 없거나 불완전한 것만 있는 게임기/기판
5.6.1. 휴대용5.6.2. 가정용5.6.3. 아케이드 기판5.6.4. 시뮬레이터만 있는 것
5.7. 불법 에뮬레이터
6. 가짜 에뮬레이터
6.1. 대강의 목록
7. 진짜인지 가짜인지 불명확한 에뮬레이터
7.1. 목록
8. 관련 문서

1. 개요

Emulator[1]

원래는 '경쟁자', '모방자'라는 뜻의 영단어다. 컴퓨터 과학용어로써의 '에뮬레이터'는 다른 프로그램이나 장치를 모방하는 컴퓨터 프로그램 또는 전자기기를 가리키는 말. 다시 말해서, 에뮬레이터는 하드웨어 기반일 수도, 소프트웨어 기반일 수도 있다. 지원되지 않는 하드웨어에서 소프트웨어를 실행하기 위하는 목적으로 널리 쓰인다.

2. 에뮬레이터의 예시

멀리 갈 필요 없이, 64비트 Windows에서는 32비트 에뮬레이션을 위해 WoW(Windows on Windows) 기능을 제공한다. 프로그램을 설치할 때 "Program Files"와 "Program Files(x86)"이 나뉘는 것이 그 이유.

프린터 대부분에는 HP 레이저젯 프린터의 시스템 규격을 모방하는 모드가 있다. 한때 여러 소프트웨어가 HP 프린터의 스펙에 맞춰져 제작되었기 때문에 해당하는 소프트웨어가 제대로 작동할 수 있도록 HP의 프린터와 같은 규격으로 프로그램과 통신하고 이를 실제 프린터의 신호로 변환하는 식으로 동작하여 프로그램으로는 HP 프린터인 것처럼 동작하게 하는 것이다. 이를 두고 프로그램을 속인다는 표현을 쓰기도 한다.

애플 IIMS-DOS 시절에는 OS 차원에서 한글을 지원하기가 어려운 환경이었기 때문에 메인보드의 슬롯에 '한글 카드'라는 물건을 꽂아서 사용한 적이 있다. 한글 글꼴과 한글의 입력/처리에 관하는 기능을 하는 카드인데, 이게 가격이 꽤 비쌌기 때문에 나중에는 한글 카드의 동작을 소프트웨어로 흉내내는 한글 에뮬레이터가 나와서 널리 쓰였다. 대표적으로 CHP, NKP[2], DKBB[3]이 유명했다. 486~펜티엄 초기까지는 국산 그래픽 카드가 시장에서 많이 팔렸는데, 이 한글 에뮬레이터를 폰트롬까지 내장한 것들이 많았다. MS의 도스가 HBIOS.COM으로 완성형 한글을 지원하지만 윈도우 95가 출시되며 KSC5601 위주로 환경이 고정되었고, 도스 텍스트 화면을 볼 일이 없어지자 한글 에뮬레이터도 에뮬레이션도 단종되었다.

허큘리스 그래픽 카드CGA 지원 게임을 실행할 수 있도록 CGA 에뮬레이션을 수행하는 'SIMCGA'라는 프로그램도 있다. 역시나 허큘리스가 CGA 환경을 가상으로 구동하여 CGA만 지원하는 프로그램을 구동하기 위하는 에뮬레이터다. 한국의 16비트 PC 환경이 한글 표시 문제로 변형 CGA를 사용하던 일부 고가 대기업 제품을 제외하면 허큘리스에서 SVGA로 바로 넘어가버렸기 때문에 1989년의 정부 결정으로 널리 보급된 교육용 컴퓨터 사양에서 SIMCGA는 오랫동안 애용되었다.

PC통신 시절에 사용된 PC통신 프로그램의 본래 명칭은 <터미널 에뮬레이터>(Terminal Emulator). 이것은 PC통신 자체가 서버는 유닉스 터미널에서 돌아가는 환경이지만 유저들의 PC 통신 환경은 백에 아흔아홉(보다 더 될 것이다)은 유닉스가 아닌 도스나 윈도이기 때문에 프로그램으로 유닉스 터미널 규격을 모방하여 접속했기 때문이다.

오늘날에도 보편적으로 사용되는 에뮬레이터의 예로는 VMwareVirtual PC, VirtualBox 같은 가상 머신 프로그램들이 있다. 이쪽은 하드웨어 가상화 개념에 가깝지만 그래픽, 사운드 카드 같은 일부 특정 장비를 흉내내어 구현한다. 윈도 NT 계열로도 MS-DOS 소프트웨어를 호환하고자 만든 VDM(Virtual DOS Machine) 역시 일종의 에뮬레이션 구현을 바탕으로 하는 가상 머신. 다만, 오늘날에는 32비트 윈도에만 있고, 64비트 윈도에는 없다.[4] 리눅스상에서 MS 윈도우 가상환경을 지원하는 Wine기능만 보면 에뮬레이터의 일종으로 볼 수 있다. <Wine>이 "Wine is not an emulator"의 약자라고 할 정도로 개발진은 에뮬레이터임을 부정하고 있고, 실제로 동작 방식이 일반적인 에뮬레이터와 다른 일종의 API 호환 레이어 같은 성격을 띄지만 이런 종류의 구현도 넓게 보면 에뮬레이터의 일종으로 볼 수 있다.

ARM 기반 PC에서 x86 프로그램을 실행하거나 그 반대의 상황에서 바이너리를 변환해 주는 에뮬레이터를 사용한다.

Java 같은 플랫폼 독립적인 프로그램들은 에뮬레이터와 비슷한 가상 머신으로 실행하는 방식으로 호환성을 확보한다. 안드로이드 역시 OS 자체를 리눅스 커널 위에서 가상 머신(QEMU VM)으로 돌린다. 사실상 에뮬레이터와 가상 머신은 기본적으로 같은 기술이 바탕이지만 에뮬레이터는 특정 다른 장치의 동작을 모방하고, 가상 머신은 그럴 수도 아닐 수도 있는 차이가 있다. 가상머신의 좋은 예가 자바의 JVM과 안드로이드인데, JVM은 특정한 기기를 모방하는 것이 아니라 자체 스펙으로 추상화된 가상 기기로 동작하는 것일 뿐이다. 안드로이드는 가상 머신이지만 자신만의 기기 위에서 굴러가기에 에뮬레이터는 아니다. 따라서 에뮬레이터(특히 소프트웨어적인 에뮬레이터)는 가상 머신의 범주에 포함되는 영역이라고 할 수 있다.

FPGA(field programmable gate array)를 이용하여 특정 하드웨어와 똑같이 동작하도록 설계하는 것도 일종의 하드웨어적인 에뮬레이트라고 할 수 있다. 실제로 원칩 MSX처럼 특정한 하드웨어를 재현할 수 있도록 한 FPGA 소스 코드와 메인보드 설계가 오픈 소스 형식으로 공개되어 있는 경우가 드물지 않게 있다. 예시

실제로 존재하지 않는 장치의 에뮬레이터라는 컨셉을 잡고 프로그램이나 게임을 만들기도 한다. 판타지 콘솔이라는 컨셉의 PICO-8이나 메가 드라이브 미니 2에 수록된 스페이스 헤리어 II의 세가 마크 V 버전이 여기에 해당된다.

2.1. LLE vs HLE

Low Level Emulation / High Level Emulation

주로 CPU나 메모리 이외의 하드웨어(GPU 등)의 에뮬레이션을 어느 관점에서 구현하느냐에 따라 LLE냐, HLE냐로 나뉘게 된다.

원래 에뮬레이터는 하드웨어를 분석해서, CPU가 해당 하드웨어에 명령과 데이터를 주면 어떤 식으로 동작하는 지에 대해 파악한 뒤 해당 프로세스를 일일이 구현하는 방식으로 개발되었다. 특히 대부분 어셈블리어를 사용해서 게임을 개발한 메가 드라이브, 슈퍼 패미컴 등의 4세대 콘솔까지는 이와 같은 방식으로 에뮬레이터를 개발하였다.

그러다가 1999년, 처음으로 유의미하게 게임 구동이 가능했던 Nintendo 64 에뮬레이터 'UltraHLE'가 등장하면서 에뮬레이터 개발에 새로운 방식이 제안되었다. 이 에뮬레이터는 N64 게임이 C로 개발되었다는 데서 착안하여, 하드웨어 전체를 저레벨에서 구현하는 대신 이 C 코드가 호출하는 API를 구현하는 방식으로 개발되었다. 덕분에 당대 자주 사용되던 펜티엄 2Voodoo 그래픽 카드를 사용한 PC에서 비교적 원활하게 게임이 구동되어 에뮬레이션 개발계에 많은 영향을 주었다. 그래서 이렇게 하드웨어를 API 레벨에서 구현하는 방식을 HLE라고 부르게 되었으며, 반대로 상술한 하드웨어를 일일이 구현하는 방식은 LLE라고 부르게 되었다.

HLE 방식은 LLE보다 훨씬 빠른 속도로 구동된다는 장점이 있으나, 완전히 하드웨어 부분의 에뮬레이팅을 하지 않다보니 호환성은 LLE 방식보다 당연하게도 떨어질 수 밖에 없다. 실제로 UltraHLE는 20개 정도의 게임만 구동되며, 개발 중단 및 다른 에뮬레이터의 등장으로 현재는 'HLE의 시초'라는 의의만 가진 채 게임 구동용으로는 사용되지 않는 에뮬레이터가 되었다. 그러나 HLE의 장점인 빠른 속도의 에뮬레이션은 분명 장점이기 때문에, 2021년 현재의 에뮬레이터는 HLE와 LLE 모두 활발하게 사용하며, 양쪽 다 과거에 비해 정확성 면에서 크게 발전한다. 특히 복잡한 하드웨어가 많아지면서 분석하기가 어려워지고, 덩치 큰 OS가 많아지면서 OS에서 제공하는 API를 통해 하드웨어에 접근하는 경향이 많은 비교적 현대 콘솔의 에뮬레이션인 경우는 HLE의 비중이 높아진다.

다음은 2021년 기준은 자주 사용되는 에뮬레이터들의 주요 구현 방식의 예이다.

3. 콘솔 에뮬레이터

에뮬레이터의 분류 가운데 특정한 게임기의 환경을 컴퓨터나 다른 기종으로써 가상화된 형태로서 구현해 주는 에뮬레이터를 다른 에뮬레이터와 '콘솔 에뮬레이터(Console Emulator)'로 구별해서 부른다. 일반적인 사용자가 '에뮬레이터'라고 하면 대개는 이것을 가리키는 말. 흔히 '에뮬'로 줄여 부르기도 한다.[6]

구현의 범위는 아케이드 머신부터 휴대용 기기에 이르기까지 다양하고, 여태 나온 게임기들의 대부분이 이미 에뮬레이터로 구현되어 있다. 제작은 대부분 리버스 엔지니어링(역설계)을 거쳐 이루어진다. 이를 통해 하드웨어의 구조를 파악한 뒤에 CPU의 처리 과정[7]과 메모리 전송 등을 전부 소프트웨어적으로 구현하고 컨트롤러의 입력이나 그래픽/사운드 처리는 DirectX 등을 사용하여 구현하는 방식이 주를 이룬다. 이러게 만들어진 가상의 기기 위에 실제 게임기의 소프트웨어를 올려서 구동시키는 것이 원리다. 따라서 에뮬레이터로 구동되는 소프트웨어는 대개 해당 기기의 기판, 롬 카트리지 등으로부터 파일로 복제한, 일명 '롬 파일'의 형식으로, 내용은 실기로 구동되는 것과 동일한 것이다. 이런 이유로 에뮬레이터는 에뮬레이션의 대상인 프로세서보다 훨씬 높은 성능을 필요로 한다. 프로세서를 이용하여 직접 구동하는 것과, 프로그래밍을 통하여 그 프로세서를 가상으로 구현해서 메모리 위에 띄워 놓은 뒤에 메모리를 오가며 구동하는 것의 속도 차이가 넘사벽으로 크기 때문이다. 단지 에뮬 이용자들이 흔히 사용하는 x86, Arm 계열 CPU의 성능 향상이 매년 빠른 속도로 이루어지고, 기반이 되는 콘솔의 사양 자체가 낮아 부담을 잘 느끼지 않을 뿐.

1990년대 후반 MAME가 개발되면서 역사가 시작되었고, PC로 다른 기종 게임을 돌릴 수 있다는 점+추억의 게임을 다시 할 수 있다는 점은 당시로는 매우 신기하게 받아들여졌다. 그 전까지는 PC로 다른 기종 게임이 이식된 경우가 많이 있었지만[8] 당시 PC 성능때문에 원본과는 다르거나 다운이식인 경우가 대부분이었던 반면 에뮬은 원본을 그대로 즐길 수 있기 때문에 이식작과는 차원이 달랐다.

콘솔 게임기는 PSPPMPV43, Dingoo A320, (물리 키패드가 있는) 스마트폰 등 에뮬레이터를 구동하는 데 적합한 환경을 지니고 있으면 '에뮬머신'이라는 다른 이름이 붙기도 한다. 다음 세대 기기의 성능이 점차 향상되고 통신망이 발달하면서 쉽고 빠르게 데이터를 주고받을 수 있는 환경이 되자 자체적인 에뮬레이터를 제작해서 DLC 형태로 재발매하는 게임들도 늘어났다. 닌텐도의 버추얼 콘솔이 한 예시이고, PSNXBLA로 서비스되는 플레이스테이션 및 구 엑스박스 게임들도 소프트웨어 에뮬레이션의 형태로 이식된 것들이다.

위 내용처럼 일반적으로 에뮬레이터가 원본 기기보다 매우 높은 성능을 요구하는 것은 당연한 일이지만, 그 밖에 콘솔의 구조적 특징이나 에뮬레이터 자체의 결함 때문에 필요 성능이 본래 성능과 비교하여 기하급수적으로 높거나 성능은 다른 에뮬레이터와 차이가 적지만 개발이 어려운 경우도 있다. 이 분야의 본좌로는 시스템 구조가 복잡해서 같은 시대의 경쟁 기종보다 훨씬 늦게 개발이 이루어진 세가 새턴이 있다. 문서를 보면 알겠지만, 설계가 워낙 땜빵으로 덧붙은 탓에 구조가 지저분하고 당대에도 게임 개발이 어렵기로 유명한 기기인데, 이런 구조는 가상화 구현에도 당연히 나쁜 영향을 미쳐 새턴 에뮬레이터는 같은 세대의 기기인 플레이스테이션은 말할 것도 없고, 후속기인 드림캐스트 에뮬레이터보다도 넘사벽으로 높은 사양을 요구하는 괴악한 것이 되었다. 새턴보다 더한 것도 있는데, 아래 문단 참고.

캡콤의 아케이드 기판인 CPS2, CPS3는 복제 방지 기술이 구현을 막는 경우. 암호화가 워낙 복잡해서 평문으로 복호화된 롬 추출이 어려웠고, 결과적으로 에뮬레이터를 만들 수가 없었다. CPS2 에뮬레이션 개발에 핵심적인 일을 한 '라줄라'라는 개발자가 'XOR 테이블'이라는 일종의 복호화 테이블을 찾아내는 식으로 우회적 구현되었고, 한참 뒤에야 암호화가 완전히 풀려서 결국 아케이드 머신과 같은 동작으로 구현할 수 있게 되었다. 한편, 세이부 개발의 일부 게임의 롬은 추출되었지만, 기판의 암호화가 아직도 풀리지 않고 있다고 한다.

초대 엑스박스는 하드웨어의 대부분이 문서화되어 있지 않고, 사람들의 에뮬레이터 요구 또한 적은 편이라 아직도 제대로 된 에뮬레이터가 없다. 이쪽은 하드웨어가 x86 PC에 가까운 것인데도 개발이 지지부진하여 MS의 고소미가 두려워서라는 루머도 있다. CPU는 평범한 인텔 물건이지만 GPU와 사운드 시스템 쪽은 엔비디아의 커스텀 하드웨어인 것이 가장 큰 걸림돌이다. 지포스 3에 일부 지포스 4의 기능이 추가된 형태다 보니 둘 다와 차이가 있어서 분석이 더딘 편이다. #

또한 같은 이유로 7세대 콘솔인 PS3엑스박스 360은 8세대 콘솔이 나온 뒤에도 에뮬레이터 개발 상황이 더딘 편이다. 360은 하드웨어가 아직 제대로 문서화되어 있지 않고, PS3는 셀 아키텍처가 복잡한 구조이며, 이들 역시 에뮬레이션에 많은 양의 리소스를 써야 한다. 이들 CPU는 2000년대 중반 성능이지만 10여 년 지난 2020년 현재 기준으로도 현 세대 하드웨어로 에뮬레이션하기에는 사양이 낮은 게 절대로 아니다. higan만 써봐도 알 수 있을 것이다. 그나마 다행인 것은 3D 콘솔 에뮬레이터는 대개 GPU로 렌더링을 수행하는 하드웨어 렌더러를 지원해 CPU의 부담을 많이 덜어주는 점이다. 5세대 이후로 GPU의 연산 성능은 무섭도록 발전했는데, 현대의 게이밍 GPU는 에뮬레이터들에 충분한 성능을 제공하므로 걱정하지 않아도 된다.[9] 이걸 CPU로 전부 에뮬레이팅하려면 끔찍한 부담이 생길 것이다.

에뮬레이터와 롬 파일을 확보하면 패미컴처럼 오래되어 더 이상 구하기 어려운 게임기와 게임을 영원히 지속할 수 있다. 한 번 특정 언어로 포팅된 에뮬레이터 엔진이 나오면 모든 플랫폼 콘솔의 칩셋의 수명이 다하는 순간에 사라질 운명이던 게임들이 다른 환경으로 포팅, 빌드되면서 불멸 할 수 있는 것이다. 이런 점 때문인지 2010년대 중반 즈음부터는 아예 콘솔 제조사가 직접 에뮬레이터를 만들기 시작했다.

에뮬레이터는 기존 콘솔 게임들을 더 높은 퀄리티로 즐길 수 있게 해준다. 2D 게임들은 셰이더를 넣어서 선명하게 만들고, 3D 게임들은 텍스처 필터링에 HD 렌더링을 하면 실기로와는 차원이 다른 그래픽을 누릴 수 있고, CPU를 오버클럭해 실기로 할 때의 프레임 드롭이 지나친 게임을 쾌적하게 즐길 수도 있다.

다만 리듬 게임 같은 경우 정확한 타이밍을 요구하기 때문에 에뮬레이션의 인풋랙이 치명적일 수 밖에 없다. 그래서 리듬 게임 만큼은 실기를 사서 플레이하는 것이 권장된다. 또한 특정한 하드웨어를 요구하는 게임의 경우 에뮬레이션이 불가능하거나 어려운 경우가 많다.

본 문서의 최상단 정의에서 보듯 에뮬레이터는 특정한 하드웨어 또는 소프트웨어의 작동을 모방하는 것이면 무엇이든 '에뮬레이터'로 부를 수 있지만, 일상 생활에서 '에뮬레이터'라는 단어는 거의 게임 구동을 위하는 콘솔 및 구형 컴퓨터 에뮬레이터를 지칭하는 이유는 실질적으로 에뮬레이터가 필요한 경우가 게임뿐인 일이 대부분이기 때문이다.

오피스 프로그램 또는 그래픽, 동영상 편집기를 사용하려는 목적으로 구형 컴퓨터 기기의 에뮬레이터 또는 가상머신을 사용하는 경우는 거의 없다. 이런 잘 나가는 전문가용, 업무용 프로그램은 새 하드웨어나 운영체제에 대응되는 신 버전이 개발되어서 굳이 구 버전을 돌릴 일이 그다지 없고[10], 제작사가 망하거나 개발이 중단되었으면 어쩌든 얼렁뚱땅으로나마 대체 프로그램을 찾을 수 있다. 가령 아래아 한글이 망하면 마이크로소프트 워드리브레오피스를 쓰면 되고, 파이널 컷이 망하면 어도비 프리미어라도 꺼내올 수 있다.

하지만 게임은 다르다. 게임은 놀이, 취미의 영역이고, '생산적'인 것은 아니다. 게임은 완구와 비슷해서 유행이 지나면 그다지 안 팔려 단종되거나 사라진다. 게임 소프트웨어도 특정한 하드웨어나 OS에서 돌아가는데, 그 게임의 유행이 사라져 판매도 중단되면 굳이 업무용 프로그램처럼 새 기기, 새 OS에서 작동하도록 호환성을 보장해 줄 필요성이 없는 것이다. 살면서 꼭 필요한 것이 아니고, 회사는 더이상 그것으로 돈을 벌기 어려우니까. 이 또한 규모의 경제와 유관하다고 할 수 있다. 하지만 그런 철지난 추억을 가진 사람들은 있고, 그런 사람들이 이미 사라져 버린 콘솔이나 구형 PC용 게임을 하고자 에뮬레이터를 찾는 것이다.[11] 드라마/영화 촬영에 쓰기도 하고, 복고전작빠의 존재도 비슷한 예이다. 물론 에뮬레이터가 있어도 게임 롬 파일이 있어야 돌릴 수 있다.

일반적으로 통용되는 콘솔 에뮬레이션의 난이도 순서는 대략 다음과 같다. 뒤로 갈수록 에뮬레이션에 높은 에뮬레이터의 성능이 필요하다. 단 하드웨어 뿐 아니라 에뮬레이터 난이도나 성숙도 등 다양한 요인에 영향받는다. 특히 플스2 는 세대에 비해 제대로 된 에뮬에 매우 높은 성능이 필요하다.
현재 ARM CPU 기반의 60달러 정도의 휴대 레트로 게임기는 대략 PS1 정도나 NDS 정도까지 원활, 100달러 정도의 게임기는 닌텐도 64 까지는 완벽, PSP 정도 까지가 대부분의 게임이 원활한 정도이다. 그 이상은 게임에 따라 프레임 드랍 등 성능이 부족해 보통 x86 CPU 기반의 고성능 하드웨어가 필요하다.

3.1. 하이스코어에서의 에뮬레이터

아케이드 게임의 하이스코어 집계에선 에뮬레이터로 세운 스코어는 이유 불문하고 무조건 우소스코어로 여긴다. 여차 말하지만 에뮬레이터로 세운 스코어랑 실기로 세운 스코어를 동급으로 놓는 것 자체가 말도 안 되는 일이고, 실제 기기와 에뮬레이터상의 플레이 환경 차이와 정확성, TAS의 위험성까지 고려해야 한다. 그래서 일본 하이스코어 협회에선 당연히 에뮬레이터를 이용해서 찍은 스코어의 신청을 받아주지 않는다. 게임 제작사에서 별도로 인정하면 모를까. 다만 오락실이 많이 줄어들고 비인기 게임이 설치된 기기의 경우 사실상 절멸된 한국에서는 실기로 아케이드 게임을 하기 어려운 환경이므로 일본과는 상황이 다르다.

하이스코어에서 에뮬레이터의 위치는 아무리 잘 쳐줘야 참고용 점수일 뿐이다. 이를 잘 보여주는 예시가 BBH의 쇼크 트루퍼스 3271만[12]과 WY의 도돈파치 대왕생 블랙레이블 A타입 37.2억[13], Aozaki의 메탈슬러그 2 1070만. 이 세 기록은 에뮬레이터로 찍은 기록인 점 때문에 전일로 인정되지 못하고 참고용 기록으로 여겨진다. 그리고 SRT의 드래곤 스피릿 200.6만은 에뮬레이터 기판으로 찍은 기록이다. 대한민국으로 치면 월광보합으로 찍은 기록인 셈으로 이걸 인정한다는건 월광보합으로 찍은 기록을 인정하겠다는 소리나 다름없다. 당연히 이거 역시도 참고용 기록으로만 여겨진다.

CYS-SAK의 1999 X-36 360.1만은 에뮬레이터로 찍은 기록이라는 근거로 제시된 Project ARCA에서 2021년 12월 20일에 개정된 판본에서 기판으로 플레이했다고 정정되었기에 이 목록에서 빠지게 되었다. 하지만 CYS-SAK의 경우엔 증거부족으로 목록에서 빠진것이다.

3.2. 관련 문서

4. 법적 문제

4.1. 콘솔 하드웨어의 저작권

4.1.1. 미국

미국에서는 저작권이 있는 바이오스나 다른 소스를 도용하지 않는 한, 상업 목적이 있어도 에뮬레이터 개발 및 이용 자체는 합법이다. 미국에 있던 플레이스테이션 에뮬레이터 VGS의 개발사, Connectix와 SCE 사이의 법적 공방에서 확인받은 바 있다. 에뮬레이터가 바이오스를 시뮬레이션하는 것도 합법으로, 이를 위해 호환 바이오스를 개발하는 경우도 있다.

다만, VGS는 2000년에 일어난 사례로, 현재는 많은 수의 소프트웨어가 리버스 엔지니어링을 금지하는 EULA를 따르기 때문에 EULA를 따르는 소프트웨어를 리버스 엔지니어링하여 영리적 목적으로 쓰면 계약 위반에 따르는 민사 소송을 각오해야 한다. 이 이유로 블리자드에서는 배틀넷 에뮬레이터 개발자에게서 승소한 바 있다.[14]

하지만 2024년 닌텐도yuzu와의 합의문에서, 플랫폼 홀더가 걸어놓은 프로텍터를 우회하여 구동하는 기술 자체를 DMCA 위반이라고 명시하여 법원에 제출하여 에뮬레이터 자체를 예전처럼 합법이라고 할 수 없게 되었다.

4.1.2. 한국

이 곳을 참고할 것. 쉽게 말하면 비상업적인 목적(연구, 학술)인 경우에만 제한적으로 허용하고 있다.

4.2. 소프트웨어의 저작권

에뮬레이터 사용자로서 꼭 알아야 하는 것이 있는데, 에뮬레이터로 돌리는 게임 및 BIOS 롬 파일은 소유한 원본 매체(카트리지, CD, 실물 콘솔)에 있는 걸 직접 복사해야 한다. 롬 파일을 추출하는 방법은 여러 가지로서 실기 콘솔에 커스텀 펌웨어를 설치할 수 있으면 대개 손쉽게 롬 파일을 추출할 수 있다. 그럴 수 없으면 CDDVD 같은 광매체는 광디스크 드라이브 등을 이용해 개인이 원본 매체에서 쉽게 추출할 수 있지만, 카트리지 매체는 별도 장비가 필요하다. 닌텐도에서는 게임 추출기로 게임을 추출하는 것도 불법이라고 말하고 있다. 자세한 내용은 롬 파일 문서의 법적 문제 문단 참고.

닌텐도의 버추얼 콘솔, Nintendo Switch용 클래식 게임 서비스, 소니의 클래식 타이틀, 엑스박스 시리즈의 하위호환 지원 타이틀 등은 본사에서 직접 만든 에뮬레이터이고, 버추얼 콘솔로 돌아가는 소프트웨어도 원작자의 허락을 받고 정당한 대가를 지불한 것이다. 구작 게임을 이식할 때 에뮬레이터 방식으로 이식하는 게 싸고 빠르기 때문에 일반적으로 추가요소를 넣기 위한 것이 아니라면 공식적으로 에뮬레이터 방식으로 이식하는 경우가 많다.

4.3. 소프트웨어의 DRM

7세대부터 콘솔 게임들이 DRM을 사용하기 시작하면서 이전과는 다른 법적 문제가 생겨났다. 에뮬레이션을 통해 컴퓨터 상에서 게임의 백업본을 실행하면 DRM을 위반하게 되는 것이고, 이는 에뮬레이터가 'DRM을 우회하는 용도의 프로그램'이 되어 저작권에 위배되는 것으로 간주될 수 있다.[15] 2010년대 중반 이후로 7세대 이상 콘솔 에뮬레이터들이 점점 거시적인 성과를 내놓기 시작하면서 일부 유저들이 이 점에 우려를 하기 시작했다.

결국 2017년, ATLUS에서 자사 게임 페르소나 5DRM 위반을 이유로 플레이스테이션 3 에뮬레이터 RPCS3 팀원에게 자사 게임을 구동할 수 있는 기능을 삭제할 것을 요구하는 일이 벌어졌다. 다행히 RPCS3 측이 홈페이지에서 페르소나 5에 관한 정보를 삭제하는 것으로 일단락된 듯하다.[16] 다만, 페르소나 5는 여전히 RPCS3로 실행할 수 있다. 자세한 내용은 해당 에뮬레이터 페이지 참고.

일단은 RPCS3의 경우 이미 복사되어 파일로 만들어진 게임을 실행할 뿐이기 때문에 DRM을 위반한 건 아니다.[17]

5. 에뮬레이터 목록

특이 사항 및 에뮬레이터가 구동되는 기기가 PC 밖의 기종도 지원하는 것은 따로 표기할 것. 실기 자체가 아닌 에뮬레이터가 여러 기종(패미컴·슈퍼 패미컴, 메가 드라이브·게임 기어 등)을 지원하는 것은 '☆'로 표시하고, 다기종 에뮬레이터 문단 참고. 아케이드 기판끼리는 아래 문단 참고. 정확성을 추구하는 사이클 수준의 것은 '★'로 표시할 것. (참고, 번역글)(1, 2, 3) 개발이 중단된 것은 '▩'로 표기할 것.

iOS용은 애플 정책상 앱스토어에 등록할 수 없지만 개발자용 앱을 이용하는 방식으로 설치할 수 있다. 다만 이 정책은 2024년 4월에 애플이 "레트로" 게임 콘솔 에뮬레이터에 한해 완화하였고, GBA4iOS 기반의 멀티플랫폼 에뮬레이터인 Delta가 처음으로 앱 스토어에 등록되었다.

아래 목록은 전체가 아닌 일부로서 더 많은 에뮬레이터를 보고 싶으면 zophar.net, Emulation-general 위키, 위키피디아도 참고하는 게 좋다.

5.1. 가정용·휴대용 게임기, 일반 컴퓨터

5.2. 아케이드 기판 에뮬레이터

5.3. 다기종 에뮬레이터

기종 자체가 다른 기종 게임의 하위 호환을 지원하는 경우(SMS←MD, (GB←GBC)←GBA←NDS 등)는 제외. 아케이드 기판끼리는 위의 아케이드 기판 에뮬레이터 문단에서 볼 것.

5.4. 그 밖의 에뮬레이터

5.5. 공식 에뮬레이터

해당 기기의 개발사가 직접, 또는 개발사의 허가를 받고 제작한 에뮬레이터다. 추가적인 불법 요소를 사용하지 않고 이 방법을 이용하는 에뮬레이팅은 전부 합법이다.

파일:CC-white.svg 이 문단의 내용 중 전체 또는 일부는
문서의 r156
, 번 문단
에서 가져왔습니다. 이전 역사 보러 가기
파일:CC-white.svg 이 문단의 내용 중 전체 또는 일부는 다른 문서에서 가져왔습니다.
[ 펼치기 · 접기 ]
문서의 r156 (이전 역사)
문서의 r62 (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

5.6. 에뮬레이터가 없거나 불완전한 것만 있는 게임기/기판

아래 기종들은 에뮬레이터가 없거나 무난히 플레이 할 수 있는[23] 게임이 적거나 없는 에뮬레이터만 있는 게임기/기판이다.

아래 게임기/기판용 상용 게임을 완벽하게 돌릴 수 있다고 주장하는 에뮬레이터는 모두 가짜이다. 스크린샷과 유튜브로 올린 비디오 따위는 실기로도 얼마든지 띄울 수 있는 것들이고, 증거가 될 수 없다. 진짜 에뮬레이터는 스크린샷이나 비디오 따위가 아닌 소스 코드를 공개한다. 만약에 새로운 에뮬레이터를 자처하는 사이트가 있으면 관련 블로그나 커뮤니티를 찾아서 예전에 이미 낚시로 판명난 사이트인지 아닌지를 확인하고, 생긴 지 얼마 안 지나서 아직 잘 알려지지 않는 사이트이면 악성코드일 수 있으니 진위 여부가 판별될 때까지 기다리는 것이 좋다. 자세한 내용 및 가짜로 판명난 에뮬레이터는 아래 문단에서 확인할 것.

5.6.1. 휴대용

5.6.2. 가정용

5.6.3. 아케이드 기판

5.6.4. 시뮬레이터만 있는 것

5.7. 불법 에뮬레이터

보통 에뮬레이터가 아닌 다른 에뮬레이터의 소스 코드를 무단으로 도용한 에뮬레이터. 자신이 직접 개발하거나 원작자 허가를 받고 소스 코드를 포크해서 커스터마이징한 것이 아닌 원작자의 허락 일절 없이 소스 코드를 그대로 때려박은 사례이다. 다만 에뮬레이터의 제작 과정이 불법이라 언제 내려갈 지 모른다 정도의 뜻이지, 이를 사용하는 것이 불법이라는 의미는 아니다.

파일:CC-white.svg 이 문단의 내용 중 전체 또는 일부는
문서의 r363
, 4.3번 문단
에서 가져왔습니다. 이전 역사 보러 가기
파일:CC-white.svg 이 문단의 내용 중 전체 또는 일부는 다른 문서에서 가져왔습니다.
[ 펼치기 · 접기 ]
문서의 r363 (이전 역사)
문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

6. 가짜 에뮬레이터

기기가 나온 지 얼마 안 지난 기종 에뮬레이터이면 가짜인 게 많다. 목적은 대개 랜섬웨어트로이 목마 같은 바이러스일 가능성이 높으며, 그나마 양호한 게 검색 유입에 쓴 가짜 키워드 정도다.

내용물이 매우 수상하고 바이오스마저 설치 형태로 주니까 몹시 꺼림칙한데, 풀면 나오는 설치 파일 아이콘 자체부터 영 못 믿을 것처럼 생긴 것이 특징. 열면 당연히 큰일 난다. 자동으로 설치되고 설치 파일 속 바이러스가 강제로 실행되어 랜섬웨어가 깔린다. 7zip으로 풀면 나오는 내용물은 역시나 랜섬웨어 파일이다. 따라서 가짜 에뮬레이터를 피하고 싶으면 에뮬레이터를 구글로 찾지 않는 게 좋고, 신뢰할 만한 대형 커뮤니티나 공식 사이트에서 인지도가 있는 에뮬레이터를 내려받는 것이 좋다.

아무나 편집할 수 있는 나무위키의 특성상 이 문서 역시 맹신은 금물. 한때 아래의 3DS Emulator X가 위의 3DS 에뮬레이터 목록에 버젓이 올라 있었듯이 구글 검색 결과로 긁어온 결과가 문서에 추가되는 경우가 있다. 대개는 위키페어리들이 매의 눈으로 보다가 문서를 손보겠지만, 목록도 워낙 길고 복잡하니 못 보고 넘어간 채로 상당 시간에 있을 수도 있다. 어느 정도는 알아보고 오피셜 사이트, 대형 커뮤니티 같은 믿을 수 있는 곳에서 다운로드하는 것을 권장한다.

6.1. 대강의 목록

아래는 그 가운데 구글 검색 결과 상위권을 차지한 사이트를 중심으로 한 일부 목록이다. 사이트 이름 또는 에뮬레이터 이름이 '(콘솔 이름) Emulator'인 것은 EMU7800과 Model2Emulator, 안드로이드용 .emu 시리즈 같은 진짜 에뮬레이터일 수도 있지만, 구글 검색으로 유입하려고 제목을 지은 가짜 에뮬레이터일 가능성이 매우 높다. 가짜 에뮬레이터도 이게 다가 아니니까 충분한 주의를 바란다. 무엇보다 여기에 정리될 정도면 한 번 이상 당한 피해자가 반드시 있다는 것이다.

7. 진짜인지 가짜인지 불명확한 에뮬레이터

가짜라고는 명확히 판명되지 않았으나, 아무런 정보나 영상이 공개되지 않아 진짜 에뮬레이터라 하는 것도 의심을 살 만한 에뮬레이터 목록. 정보가 더 공개될 때 에뮬레이터 목록이나 가짜 에뮬레이터 목록으로 옮겨진다.

7.1. 목록

8. 관련 문서


[1] '예뮬레이터'로 잘못 쓰는 경우가 많다. '예물'이라고 잘못 쓰기도 한다. 많은 게이머들이 그만큼 나이들었음을 시사한다. 이제 게이머들이 사회를 이끈다[2] 프로그램 파일명이 "CHP.COM", "NKP.COM"이어서 이렇게 불렸다. 둘다 삼보 상용조합형을 지원하는 한글 에뮬레이터.[3] '한글 도깨비'라는 한글카드를 소프트웨어적으로 흉내내주는 에뮬레이터다.[4] x64의 long 모드로는 VDM 구동에 필요한 CPU의 기능인 가상 8086 모드(VM86)가 동작하지 않기 때문이다.[5] 그런데도 3dfx 에뮬레이션 코드를 DOSBox에서 가져왔다고 한다(...)[6] 영어, 일본어로는 '에뮤(Emu, エミュ)'.[7] 대개의 게임기에 쓰인 CPU는 x86이 아니기 때문에 CPU의 기본적인 동작부터 가상으로 구현해야 한다. 이 점이 CPU 처리를 별도로 에뮬레이션하지 않고 패스스루하는 VMware류의 가상머신과의 가장 큰 차이점.[8] 스트리트 파이터 2, 록맨 X, 골든 액스 등 의외로 PC로 이식된 타기종 게임들은 굉장히 많다.[9] higan은 오늘날 콘솔의 GPU에 대응되는 SNES의 PPU를 대부분 정확하게 에뮬레이트하기에 매우 느리다. 반대로 저성능의 3DS용으로 만들어진 Snes9x for 3DS는 이 작업을 GPU에 맡겨서 아주 빠르지만 정확성을 희생했다.[10] 한국에서는 출판업계에서 구형 Mac OS X 10.4 버전이 탑재된 파워PC 맥이 오래 굴려진 경우가 있긴 한데, 해당 문서 참조.[11] 반대로 월드 오브 워크래프트리그 오브 레전드처럼 단일한 게임 앱이 히트를 오래 치고 장수하면 최신 환경에 호환성을 맞춘다.[12] 3766만은 잔혹설정 OFF에다가 레벨8 세팅이라 우소스코어로 간주하여 제외[13] 플레이 플랫폼이 GOTVG다.[14] #[15] DRM 우회의 불법 여부는 국가마다 다르다. DRM 문서에 따르면 '이용권을 가진 본인이 다른 기기등에서 사용할 목적으로 해제하는 것, 정확히는 정당한 권한을 가지고 프로그램을 사용하는 자가 다른 프로그램과의 호환을 위하여 필요한 범위에서 프로그램 코드 역분석을 하는 경우'에는 합법이다. 에뮬레이터를 이용한 백업 게임 구동은 불법이 아닌 듯 하다.[16] 이는 페르소나 5와 관련된 내용을 게시하는 것이 저작권 침해라는 주장에 따라 문제될 수 있는 내용을 삭제한 듯 하다.[17] 복사 방법을 안내하는 글이 홈페이지에 있었는데, 나중에 삭제되었다.[18] 'My Emulator Doesn't Need A Frickin' Excellent Name'의 약자[19] 정확히는 AVI 캡처 설정에 있다. 'Sync to audio'로 되어 있으면 오디오를 기준으로 삼게 된다.[20] 다만 동명의 짝퉁들 때문에 예나 지금이나 구하기가 어렵다.[21] 엑스박스 원, 엑스박스 원 X 게임들은 '네이티브 호환+스마트 딜리버리' 지원.[22] 외부 데이터 버스와 어드레스 버스를 32비트화한 V70 포함.[23] 일반적으로 에뮬레이터의 롬 파일 호환 여부를 나누는 기준인 5가지 분류(크래시/로딩 거부, 메인 화면 표시가능, 게임 내 그래픽 표시가능, 플레이가능, 완벽)에 따를 때.[24] 스위치는 ARMv8, 비타는 ARMv7이지만, ARMv8은 ARMv7과의 하위호환성을 가진다. 일부 ARMv7으로 작동하는 스위치 게임(주로 Wii U 이식작)도 있다.[25] 원본 롬은 구동되나 불안정하다. 말기판의 클론인 NEW와 2000은 정상 플레이 가능.[26] 뚫린 건 해적판 한 개다. 이쪽은 아예 원본이 구동되지 않는다.[27] 'Daphne'라는 이름은 이쪽 계열의 시초인 드래곤즈 레어의 히로인 이름에서 따왔다. 롬 파일은 'Singe'라는 이름의 폴더에 넣게 되어 있는데, 이는 보스의 이름.