나무모에 미러 (일반/어두운 화면)
최근 수정 시각 : 2025-11-27 09:44:25

ZSNES

#!wiki style="margin: -5px -10px; padding: 5px 10px;
{{{+1 {{{#fff '''닌텐도 에뮬레이터'''}}}}}}
{{{#!wiki style="margin: 0 -10px -5px; min-height: calc(1.5em + 5px)"
{{{#!folding [ 펼치기 · 접기 ]
{{{#!wiki style="margin: -5px -1px -11px; word-break: keep-all"
<colbgcolor=#e60012><colcolor=#ffffff>
별도 문서가 있는 에뮬레이터
취소선은 개발 중지 상태
가정용 패밀리컴퓨터 파이널번 네오 · higan
슈퍼 패미컴 ares · bsnes · higan · ZSNES
게임큐브 · Wii Dolphin
Wii U Cemu
휴대용 게임보이 · 게임보이 컬러 Virtual GameBoy · VisualBoyAdvance · higan
게임보이 어드밴스 VisualBoyAdvance · NO$GBA · higan
닌텐도 DS DeSmuME · NO$GBA · melonDS · DraStic · iNDS · Delta
닌텐도 3DS Citra[1] · Azahar
하이브리드 Nintendo Switch Ryujinx[2] · yuzu · Skyline
비고 [1] : 단, 비공식 버전의 업데이트는 계속되고 있다.
[2] : 사용 편의성 업데이트는 다른 개발자에 의해 유지되고 있다.
}}}}}}}}} ||


파일:ZSNES_screenshot.png
ZSNES v1.51 초기 화면[1]

1. 개요2. 역사3. 취약점4. 여담5. 참고 자료6. 외부 링크

1. 개요

zsKnight[2], _Demo_ 등이 개발한 슈퍼 패미컴 에뮬레이터.

1997년 10월에 첫 버전이 공개되었고 2001년 4월에 오픈 소스가 되었다. 이후 2007년 1월에 공개된 1.51버전을 마지막으로 사실상 개발이 중단된 상태이다. 코드의 대부분이 x86 어셈블리로 작성되었고,[a] 일부분이 CC++로 작성되었다. 초기에는 DOS 버전으로 개발되었으나 나중에 Windows, Linux 등으로 포팅되었다.

빠른 속도[4]와 높은 호환성[5], 그리고 독특한 유저 인터페이스 등으로 한동안 찬사를 받는 에뮬레이터였으나, 현재는 정확성(accuracy)이 떨어지는 에뮬레이터로 평가받고 있으며 아래의 보안상 취약점도 있어 사용을 추천하지 않는다.[6]

2. 역사

주개발자인 zsKnight는 16살 때부터 어셈블리를 공부하기 시작했는데, 특히 최적화(optimization)에 관심이 많았다. 그는 17살이던 어느 날 친구에게 슈퍼 패미컴 에뮬레이터인 슈퍼 파소파미(Super Pasofami/スーパーパソファミ)[7]에 대해 듣게 되었다. 그는 슈퍼 패미컴 에뮬레이터는 말도 안된다고 생각했다. 당시는 패미컴 에뮬레이터도 이제 막 개발되기 시작한 때였기 때문이다. 그런데 집에 와서 검색해 보니 진짜로 슈퍼 파소파미가 있어서 슈퍼 마리오 월드를 실행해 보았는데, 사운드도 없고 속도도 느렸다. 그럼에도 그는 무엇인가 된다는 것에 매료되었다.

마침 zsKnight는 어셈블리에 푹 빠져 있었고, 또 닌텐도 게임의 열렬한 팬[8]이었기에 온라인에서 자료를 찾아 읽으며 공부하기 시작했고, 마침내 순수하게 어셈블리만 사용해 슈퍼 패미컴 에뮬레이터를 만들기 시작했다.[a] 그는 개발 도중에 _Demo_를 만나게 되는데, 그가 슈퍼 패미컴 에뮬레이터를 만들고 있다고 하자 _Demo_도 같이 하기를 원했다. _Demo_가 참여한 후 둘은 개발을 계속해 드디어 1997년 10월 14일에 ZSNES의 첫번째 버전인 ZSNES v0.150을 내놓게 되었다.[10]

3. 취약점

2015년에 알려진 보안상 취약점이 있다. 사용자가 해킹롬 파일을 ZSNES에서 로드할 시 해커가 롬 파일에 숨겨놓은 코드가 사용자의 컴퓨터에서 실행될 수 있다. 참고영상(ZSNES exploit demonstration) 앞의 참고영상을 보면 롬 파일을 로드했을 뿐인데 웹 브라우저에서 특정 웹사이트가 열리는 것을 볼 수 있다. 여기서는 특정 웹사이트가 열리는 것을 예시로 보여주었으나 어떤 코드를 실행하느냐에 따라 파괴적인 결과를 일으킬 수도 있으므로 주의를 요한다. ZSNES가 개발이 사실상 중단되어 수정될 여지도 없으므로, 믿을 수 없는 롬 파일은 절대로 ZSNES에서 로드해서는 안 된다.

4. 여담

5. 참고 자료

6. 외부 링크



[1] 화면의 흰 점들은 스노우 이펙트(snow effect)이다. 실제 화면에서는 눈이 내리는 것 같은 스노우 이펙트를 볼 수 있다.[2] 캐나다인으로 z를 미국식인 '지(ziː)'가 아닌 영국식인 '제드(zed)'로 읽어 '제드에스나이트'라고 읽는다. 마찬가지로 ZSNES도 개발자인 zsKnight 본인은 '제드에스엔이에스'라고 읽는다. 인터뷰에 의하면 ZSNES라는 이름은 단순히 Z라는 글자를 좋아해서 붙인 이름이라고 한다(SNES는 슈퍼 패미컴의 북미 출시 이름인 Super Nintendo Entertainment System의 약자). 또, zsKnight라는 별명은 원래 스스로를 knight라고 부르길 좋아했는데, knight는 일반적인 단어라 별명으로 삼을 수 없어서, 당시 작업중이던 ZSNES의 앞 두 글자 zs를 붙여 zsKnight가 되었다고 한다. 출처:How ZSNES Changed SNES Emulation Forever | Interview with the Creator[a] Windows로 포팅되기 전까지는 단 한 줄의 C 코드도 없는 100% 어셈블리로만 작성되었다고 한다.[4] 어셈블리로 개발돼서 속도가 빨랐다. ZSNES는 속도가 빨라 과거 컴퓨터 성능이 좋지 않던 시절에도 슈퍼 패미컴 게임을 풀 스피드(full speed)로 실행시킬 수 있었다. 이 덕분에 당시 저사양 컴퓨터를 쓰는 유저들에게 매우 좋은 평을 받았다.[5] 대부분의 게임이 문제없이 잘 실행되었다.[6] 시간이 지나면서 가정용 컴퓨터의 성능이 상향 평준화된 데다가, 당시에 비교대상이었던 Snes9x가 업데이트를 멈추지 않아서 정확성과 신뢰성을 확보한 덕분도 있다.[7] 초기 슈퍼 패미컴 에뮬레이터 중 하나로 개발자는 안도 노부아키(安藤信明)이다.[8] 그때까지 100개가 넘는 슈퍼 패미컴 게임을 끝까지 플레이 해봤다고 한다.[a] [10] 1996년 무렵 zsKnight가 17살이었다고 하므로, ZSNES의 첫 버전이 나왔을 때 그는 18살 정도였던 셈이다.