문서의 임의 삭제는 제재 대상으로, 문서를 삭제하려면 삭제 토론을 진행해야 합니다. 문서 보기문서 삭제토론 에뮬레이터 (문단 편집) == 콘솔 에뮬레이터 == 에뮬레이터의 분류 가운데 특정한 [[게임기]]의 환경을 [[컴퓨터]]나 다른 기종으로써 가상화된 형태로서 구현해 주는 에뮬레이터를 다른 에뮬레이터와 '콘솔 에뮬레이터(Console Emulator)'로 구별해서 부른다. 일반적인 사용자가 '에뮬레이터'라고 하면 대개는 이것을 가리키는 말. 흔히 '에뮬'로 줄여 부르기도 한다.[* 영어, 일본어로는 '에뮤(Emu, エミュ)'.] 구현의 범위는 [[아케이드]] 머신부터 휴대용 기기에 이르기까지 다양하고, 여태 나온 게임기들의 대부분이 이미 에뮬레이터로 구현되어 있다. 제작은 대부분 [[리버스 엔지니어링]](역설계)을 거쳐 이루어진다. 이를 통해 하드웨어의 구조를 파악한 뒤에 CPU의 처리 과정[* 대개의 게임기에 쓰인 CPU는 x86이 아니기 때문에 CPU의 기본적인 동작부터 가상으로 구현해야 한다. 이 점이 CPU 처리를 별도로 에뮬레이션하지 않고 패스스루하는 [[VMware]]류의 가상머신과의 가장 큰 차이점.]과 메모리 전송 등을 전부 '''소프트웨어적으로 구현'''하고 컨트롤러의 입력이나 그래픽/사운드 처리는 [[DirectX]] 등을 사용하여 구현하는 방식이 주를 이룬다. 이러게 만들어진 '''가상의 기기''' 위에 실제 게임기의 소프트웨어를 올려서 구동시키는 것이 원리다. 따라서 에뮬레이터로 구동되는 소프트웨어는 대개 해당 기기의 기판, 롬 카트리지 등으로부터 파일로 복제한, 일명 '[[롬 파일]]'의 형식으로, 내용은 실기로 구동되는 것과 동일한 것이다. 이런 이유로 에뮬레이터는 에뮬레이션의 대상인 프로세서보다 훨씬 높은 성능을 필요로 한다. 프로세서를 이용하여 직접 구동하는 것과, 프로그래밍을 통하여 그 프로세서를 가상으로 구현해서 메모리 위에 띄워 놓은 뒤에 메모리를 오가며 구동하는 것의 속도 차이가 넘사벽으로 크기 때문이다. 1990년대 후반 [[MAME]]가 개발되면서 역사가 시작되었고, PC로 다른 기종 게임을 돌릴 수 있다는 점+추억의 게임을 다시 할 수 있다는 점은 당시로는 매우 신기하게 받아들여졌다. 그 전까지는 PC로 다른 기종 게임이 이식된 경우가 많이 있었지만[* [[스트리트 파이터 2]], [[록맨 X]], [[골든 액스]] 등 의외로 PC로 이식된 타기종 게임들은 굉장히 많다.] 당시 PC 성능때문에 원본과는 다르거나 다운이식인 경우가 대부분이었던 반면 에뮬은 원본을 그대로 즐길 수 있기 때문에 이식작과는 차원이 달랐다. 콘솔 게임기는 [[PSP]]과 [[PMP]]의 [[V43]], [[Dingoo A320]], (물리 키패드가 있는) 스마트폰 등 에뮬레이터를 구동하는 데 적합한 환경을 지니고 있으면 '에뮬머신'이라는 다른 이름이 붙기도 한다. 다음 세대 기기의 성능이 점차 향상되고 통신망이 발달하면서 쉽고 빠르게 데이터를 주고받을 수 있는 환경이 되자 자체적인 에뮬레이터를 제작해서 DLC 형태로 재발매하는 게임들도 늘어났다. 닌텐도의 [[버추얼 콘솔]]이 한 예시이고, [[PSN]]과 [[XBLA]]로 서비스되는 [[플레이스테이션]] 및 구 [[엑스박스(게임기)|엑스박스]] 게임들도 소프트웨어 에뮬레이션의 형태로 이식된 것들이다. 위 내용처럼 일반적으로 에뮬레이터가 원본 기기보다 매우 높은 성능을 요구하는 것은 당연한 일이지만, 그 밖에 콘솔의 구조적 특징이나 에뮬레이터 자체의 결함 때문에 필요 성능이 본래 성능과 비교하여 기하급수적으로 높거나 성능은 다른 에뮬레이터와 차이가 적지만 개발이 어려운 경우도 있다. 이 분야의 본좌로는 시스템 구조가 복잡해서 같은 시대의 경쟁 기종보다 훨씬 늦게 개발이 이루어진 [[세가 새턴]]이 있다. 문서를 보면 알겠지만, 설계가 워낙 땜빵으로 덧붙은 탓에 구조가 지저분하고 당대에도 게임 개발이 어렵기로 유명한 기기인데, 이런 구조는 가상화 구현에도 당연히 나쁜 영향을 미쳐 새턴 에뮬레이터는 같은 세대의 기기인 [[플레이스테이션]]은 말할 것도 없고, 후속기인 [[드림캐스트]] 에뮬레이터보다도 넘사벽으로 높은 사양을 요구하는 괴악한 것이 되었다. 새턴보다 더한 것도 있는데, 아래 문단 참고. 캡콤의 아케이드 기판인 [[CPS2]], [[CPS3]]는 복제 방지 기술이 구현을 막는 경우. 암호화가 워낙 복잡해서 평문으로 복호화된 롬 추출이 어려웠고, 결과적으로 에뮬레이터를 만들 수가 없었다. CPS2 에뮬레이션 개발에 핵심적인 일을 한 '라줄라'라는 개발자가 'XOR 테이블'이라는 일종의 복호화 테이블을 찾아내는 식으로 우회적 구현되었고, 한참 뒤에야 암호화가 완전히 풀려서 결국 아케이드 머신과 같은 동작으로 구현할 수 있게 되었다. 한편, [[세이부 개발]]의 일부 게임의 롬은 추출되었지만, 기판의 암호화가 아직도 풀리지 않고 있다고 한다. [[엑스박스(게임기)|초대 엑스박스]]는 하드웨어의 대부분이 문서화되어 있지 않고, 사람들의 에뮬레이터 요구 또한 적은 편이라 아직도 제대로 된 에뮬레이터가 없다. 이쪽은 하드웨어가 x86 PC에 가까운 것인데도 개발이 지지부진하여 MS의 [[고소미]]가 두려워서라는 루머도 있다. CPU는 평범한 인텔 물건이지만 GPU와 사운드 시스템 쪽은 엔비디아의 커스텀 하드웨어인 것이 가장 큰 걸림돌이다. 지포스 3에 일부 지포스 4의 기능이 추가된 형태다 보니 둘 다와 차이가 있어서 분석이 더딘 편이다. [[https://web.archive.org/web/20130517194502/http://www.ngemu.com/forums/showthread.php?t=132032|#]] 또한 같은 이유로 7세대 콘솔인 [[PS3]]와 [[엑스박스 360]]은 8세대 콘솔이 나온 뒤에도 에뮬레이터 개발 상황이 더딘 편이다. 360은 하드웨어가 아직 제대로 문서화되어 있지 않고, PS3는 셀 아키텍처가 복잡한 구조이며, 이들 역시 에뮬레이션에 많은 양의 리소스를 써야 한다. 이들 CPU는 2000년대 중반 성능이지만 10여 년 지난 2020년 현재 기준으로도 현 세대 하드웨어로 에뮬레이션하기에는 사양이 낮은 게 절대로 아니다. [[higan]]만 써봐도 알 수 있을 것이다. 그나마 다행인 것은 3D 콘솔 에뮬레이터는 대개 GPU로 렌더링을 수행하는 하드웨어 렌더러를 지원해 CPU의 부담을 많이 덜어주는 점이다. 5세대 이후로 GPU의 연산 성능은 무섭도록 발전했는데, 현대의 게이밍 GPU는 에뮬레이터들에 충분한 성능을 제공하므로 걱정하지 않아도 된다.[* higan은 오늘날 콘솔의 GPU에 대응되는 SNES의 PPU를 대부분 정확하게 에뮬레이트하기에 매우 느리다. 반대로 저성능의 3DS용으로 만들어진 Snes9x for 3DS는 이 작업을 GPU에 맡겨서 아주 빠르지만 정확성을 희생했다.] 이걸 CPU로 전부 에뮬레이팅하려면 끔찍한 부담이 생길 것이다. 에뮬레이터와 롬 파일을 확보하면 패미컴처럼 오래되어 더 이상 구하기 어려운 게임기와 게임을 영원히 지속할 수 있다. 한 번 특정 언어로 포팅된 에뮬레이터 엔진이 나오면 모든 플랫폼 콘솔의 칩셋의 수명이 다하는 순간에 사라질 운명이던 게임들이 다른 환경으로 포팅, 빌드되면서 불멸 할 수 있는 것이다. 에뮬레이터는 기존 콘솔 게임들을 더 높은 퀄리티로 즐길 수 있게 해준다. 2D 게임들은 셰이더를 넣어서 선명하게 만들고, 3D 게임들은 텍스처 필터링에 HD 렌더링을 하면 실기로와는 차원이 다른 그래픽을 누릴 수 있고, CPU를 오버클럭해 실기로 할 때의 프레임 드롭이 지나친 게임을 쾌적하게 즐길 수도 있다. 본 문서의 최상단 정의에서 보듯 에뮬레이터는 특정한 하드웨어 또는 소프트웨어의 작동을 모방하는 것이면 무엇이든 '에뮬레이터'로 부를 수 있지만, 일상 생활에서 '에뮬레이터'라는 단어는 거의 게임 구동을 위하는 콘솔 및 구형 컴퓨터 에뮬레이터를 지칭하는 이유는 '''실질적으로 에뮬레이터가 필요한 경우가 게임뿐'''인 일이 대부분이기 때문이다. 오피스 프로그램 또는 그래픽, 동영상 편집기를 사용하려는 목적으로 구형 컴퓨터 기기의 에뮬레이터 또는 [[가상머신]]을 사용하는 경우는 거의 없다. 이런 잘 나가는 전문가용, 업무용 프로그램은 새 하드웨어나 운영체제에 대응되는 신 버전이 개발되어서 굳이 구 버전을 돌릴 일이 그다지 없고[* 한국에서는 출판업계에서 구형 [[macOS/버전|Mac OS X 10.4 버전]]이 탑재된 파워PC 맥이 오래 굴려진 경우가 있긴 한데, 해당 문서 참조.], 제작사가 망하거나 개발이 중단되었으면 어쩌든 얼렁뚱땅으로나마 대체 프로그램을 찾을 수 있다. 가령 [[아래아 한글]]이 망하면 [[마이크로소프트 워드]]나 [[리브레오피스]]를 쓰면 되고, [[파이널 컷]]이 망하면 [[어도비 프리미어]]라도 꺼내올 수 있다. 하지만 게임은 다르다. 게임은 놀이, 취미의 영역이고, '생산적'인 것은 아니다. 게임은 완구와 비슷해서 [[유행]]이 지나면 그다지 안 팔려 [[단종]]되거나 사라진다. 게임 소프트웨어도 특정한 하드웨어나 OS에서 돌아가는데, 그 게임의 [[유행]]이 사라져 판매도 중단되면 굳이 업무용 프로그램처럼 새 기기, 새 OS에서 작동하도록 호환성을 보장해 줄 '''필요성'''이 없는 것이다. 살면서 꼭 필요한 것이 아니고, 회사는 더이상 그것으로 돈을 벌기 어려우니까. 이 또한 [[규모의 경제]]와 유관하다고 할 수 있다. 하지만 그런 철지난 추억을 가진 사람들은 있고, 그런 사람들이 이미 사라져 버린 콘솔이나 구형 PC용 게임을 하고자 에뮬레이터를 찾는 것이다.[* 반대로 [[월드 오브 워크래프트]]나 [[리그 오브 레전드]]처럼 단일한 게임 앱이 히트를 오래 치고 [[장수만세|장수하면]] 최신 환경에 호환성을 맞춘다.] 드라마/영화 [[소품|촬영에 쓰기]]도 하고, [[복고]]와 [[전작빠]]의 존재도 비슷한 예이다. 물론 에뮬레이터가 있어도 게임 [[롬 파일]]이 있어야 돌릴 수 있다. 일반적으로 통용되는 콘솔 에뮬레이션의 난이도 순서는 대략 다음과 같다. 뒤로 갈수록 에뮬레이션에 높은 에뮬레이터의 성능이 필요하다. 단 하드웨어 뿐 아니라 에뮬레이터 난이도나 성숙도 등 다양한 요인에 영향받는다. 특히 플스2 는 세대에 비해 제대로 된 에뮬에 매우 높은 성능이 필요하다. [[게임보이]] < [[패밀리 컴퓨터|패미컴(NES)]] < [[메가 드라이브|SEGA 메가드라이브]] < [[게임보이 어드밴스]] < [[슈퍼 패미컴|수퍼패미컴 (SNES)]] < [[PlayStation(콘솔)|플레이스테이션 1]] < [[닌텐도 DS]] < [[Nintendo 64|닌텐도 64]] < SEGA [[드림캐스트]] < [[PlayStation Portable]] < [[세가 새턴]] < [[닌텐도 게임큐브]] < 닌텐도 [[Wii]] < [[닌텐도 3DS]] < [[PlayStation 2]] < 닌텐도 [[Wii U]] < [[Nintendo Switch]] 현재 ARM CPU 기반의 60달러 정도의 휴대 리트로 게임기는 대략 PS1 정도나 NDS 정도까지 원활, 100달러 정도의 게임기는 닌텐도 64 까지는 완벽, PSP 정도 까지가 대부분의 게임이 원활한 정도이다. 그 이상은 게임에 따라 프레임 드랍 등 성능이 부족해 보통 x86 CPU 기반의 고성능 하드웨어가 필요하다.저장 버튼을 클릭하면 당신이 기여한 내용을 CC-BY-NC-SA 2.0 KR으로 배포하고,기여한 문서에 대한 하이퍼링크나 URL을 이용하여 저작자 표시를 하는 것으로 충분하다는 데 동의하는 것입니다.이 동의는 철회할 수 없습니다.캡챠저장미리보기