맨위로가기

ZSNES

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

ZSNES는 1997년 zsKnight와 _Demo_에 의해 개발된 슈퍼 패미컴 에뮬레이터이다. 1997년 DOS용으로 처음 출시되었으며, 2000년 윈도우 버전이 공개되었다. 2001년 소스 코드가 GNU GPL로 공개되었으며, 넷플레이, ZMV 무비 등 혁신적인 기능을 제공했다. 저수준 어셈블리어로 작성되어 ARM 아키텍처로의 이식은 어려웠다. 2000년대 초반 한국에서 슈퍼 패미컴 게임을 즐기는 데 널리 사용되었으나, 낮은 정확성, 보안 취약점 등의 문제로 인해 Snes9x 등 다른 에뮬레이터에 밀려났다.

더 읽어볼만한 페이지

  • 슈퍼 패미컴 - 리코 5A22
    리코 5A22는 65C816 코어를 기반으로 슈퍼 패미컴에 사용된 프로세서로, 컨트롤러 포트 인터페이스, 인터럽트 생성 회로, DMA 기능, 곱셈 및 나눗셈 연산을 위한 레지스터 등을 포함하며, 두 개의 개별 주소 버스로 제어되는 8비트 데이터 버스를 특징으로 한다.
  • 슈퍼 패미컴 - 슈퍼 FX
    슈퍼 FX는 슈퍼 패미컴 게임 카트리지에 탑재되어 3D 폴리곤 렌더링을 가속화하는 보조 프로세서로, 아르고너트 게임스와 닌텐도의 협력을 통해 《스타 폭스》 같은 게임에서 혁신적인 그래픽을 구현했지만 높은 제조 비용으로 널리 사용되지는 못했다.
  • 자유 에뮬레이션 소프트웨어 - 커널 기반 가상 머신
    커널 기반 가상 머신(KVM)은 리눅스 커널의 가상화 확장 기능으로, CPU와 메모리 가상화를 지원하며 QEMU와 함께 완전한 가상화 솔루션을 구성하고 다양한 관리 도구를 제공한다.
  • 자유 에뮬레이션 소프트웨어 - 버추얼박스
    버추얼박스(VirtualBox)는 오라클이 개발한 가상화 소프트웨어로, 단일 운영 체제 내에서 여러 게스트 운영 체제를 실행할 수 있으며, 핵심 패키지는 자유 소프트웨어로 제공된다.
  • 에뮬레이션 소프트웨어 - 에뮬레이터
    에뮬레이터는 다른 프로그램이나 장치를 모방하는 컴퓨터 프로그램 또는 전자기기의 능력으로, 하드웨어 및 소프트웨어 모방을 포함하며 디지털 아카이빙과 뉴 미디어 아트 분야에서 중요한 역할을 한다.
  • 에뮬레이션 소프트웨어 - 시그윈
    Cygwin은 윈도우에서 유닉스 시스템과 유사한 환경을 제공하는 소프트웨어로, POSIX API 구현 및 다양한 개발 도구를 통해 유닉스 기반 소프트웨어의 개발, 빌드, 실행을 지원한다.
ZSNES - [IT 관련 정보]에 관한 문서
기본 정보
ZSNES의 아이콘
ZSNES의 그래픽 사용자 인터페이스
종류비디오 게임 콘솔 에뮬레이터
라이선스1.50 이후: GPL-2.0-only
웹사이트ZSNES 공식 웹사이트
개발
원저자zsKnight, _Demo_, pagefault, Nach
개발자ZSNES 팀
프로그래밍 언어x86 어셈블리, C, C++, PSR
출시
최초 출시일0.150 /
최신 버전1.51
지원 환경
운영체제리눅스, DOS, 윈도우, Mac OS X, FreeBSD, Xbox
언어영어
기타
단종 여부

2. 역사

ZSNES 프로젝트는 1997년 인터넷상에서 두 명의 프로그래머 'zsKnight'와 '_Demo_'에 의해 시작되었으며, 같은 해 10월 14일에 첫 판인 0.150 버전이 클로즈드 소스로 공개되었다.[1] 2001년 4월 2일, 전환점을 맞이하여 소스 코드 저작권이 GNU GPL로 바뀌었고, 소스포지.넷에서 공개되기 시작하였다.[1] 2000년 9월 1일에는 1.000 버전이 출시됨과 동시에 첫 윈도 판이 공개되었다.[11] 2007년 1월 24일, 1.51 버전을 마지막으로 공개하고 바운티소스로 거점을 옮겼다.[1]

2. 1. 개발 배경

ZSNES는 1997년 7월 3일에 개발이 시작되어, 1997년 10월 14일에 첫 버전이 DOS용으로 출시되었다.[1] 이후 Windows 및 Linux용 버전도 제작되었다.[1] 2001년 4월 2일에는 GPL-2.0-이상 라이선스 하에 자유 소프트웨어가 되었다.[1]

초기 ZSNES는 "ZMV 무비"라는 흥미로운 기능을 제공했다.[1] 이를 통해 플레이어는 자신의 플레이 세션 입력을 기록하여 ZMV 파일로 만들 수 있었다. 이 파일과 ZSNES, 그리고 해당 ROM 파일을 가진 다른 사용자는 녹화된 플레이를 볼 수 있었다. 이는 온라인 게임 플레이 비디오가 널리 퍼지기 전, 이러한 유형의 콘텐츠를 공유하는 초기 형태였다.

ZSNES는 대부분 저수준 어셈블리 언어로 x86 프로세서용으로 작성되었기 때문에, ARM과 같은 RISC 아키텍처를 사용하는 장치로 이식하기가 매우 어려웠다.[6]

ZSNES의 첫 공개 버전인 0.150 버전은 1997년 10월 14일에 출시되었다.[7] 이 버전은 슈퍼 닌텐도(SNES)의 수정된 WDC 65C816 마이크로프로세서의 65816 명령어 집합 전체를 통합하고, SRAM 지원과 부분적인 Mode 7 구현, 저장 상태를 .ZST 파일로 저장하는 기능을 포함했다.[7]

1998년 9월 9일에 출시된 0.600 버전은 개발자 Pharos가 참여한 첫 버전으로, 새로운 16비트 그래픽 엔진과 개선된 GUI를 특징으로 하는 획기적인 릴리스였다.[8] 1998년 10월 27일에 출시된 0.700 버전은 C 코드로 컴파일된 최초의 버전이었다.[9]

1999년 7월 4일에 출시된 0.900c/a 버전부터는 네이티브 ZIP 압축 지원이 추가되어 사용자들이 하드 디스크 공간을 절약할 수 있게 되었다.[10] 또한 SA-1 칩 지원도 강화되었다.[10]

2000년 9월 1일, ZSNES의 첫 공식 Windows 버전인 1.000 버전이 출시되었다.[11] 2001년 4월 2일, 소프트웨어 소스 코드가 공개되고 Teuf가 개발팀에 합류했다.[12]

2001년 6월 16일에 출시된 1.30b 버전은 스타 오션과 해당 게임의 S-DD1 압축 칩에 대한 초기 지원을 추가하여 슈퍼 닌텐도 에뮬레이션의 중요한 이정표로 여겨진다.[13]

2001년 7월, zsKnight가 개인적인 이유로 떠난 후, 2001년 9월 30일에 버전 1.337이 출시되었다.[14]

2004년 12월 25일에 출시된 1.40 버전은 프로젝트의 전환점으로, 새로운 개발자들이 참여하고 에뮬레이터의 오래된 시스템에 대한 대대적인 개편이 이루어졌다.[15]

2006년 12월 22일에 출시된 v1.50 버전은 또 다른 주요 개편이었다.[16] 개발자에 따르면 ZSNES는 20만 줄 이상의 소스 코드를 가진 프로그램이며, 이 릴리스에서 25% 이상이 수정되었고, 어셈블리의 약 15%가 C로 이식되었다.[16] 이후 마이너 버전 1.51이 출시된 후 개발이 종료되었다.

2. 2. 초기 버전 (1997년 ~ 2000년)

ZSNES의 첫 공개 버전은 1997년 10월 14일에 출시된 버전 0.150이었다.[7] 이 버전은 슈퍼 닌텐도(SNES)의 수정된 WDC 65C816 마이크로프로세서의 전체 65816 명령어 집합을 통합했을 뿐만 아니라 SRAM 지원 및 부분적인 Mode 7 구현을 포함했다.[7] 또한 저장 상태를 .ZST 파일로 저장하는 기능을 제공했다.[7] 다만, 이 초기 버전은 특정 DSP 기능은 포함하지 않았다.[7]

1998년 9월 9일 출시된 버전 0.600은 개발자 Pharos (코딩 보조)가 처음으로 참여한 버전으로, 새로운 16비트 그래픽 엔진 구현과 이전보다 더 많은 기능을 갖춘 완전히 새로운 GUI를 특징으로 하는 획기적인 릴리스였다.[8] 곧이어 1998년 10월 27일에 출시된 버전 0.700은 C 코드로 컴파일된 최초의 버전이었다.[9]

1999년 7월 4일 출시된 버전 0.900c/a부터는 당시 중요했던 기능인 네이티브 ZIP 압축 지원이 추가되어 사용자들이 당시 비쌌던 하드 디스크의 공간을 절약할 수 있었다. 또한 SA-1 칩 지원 개선 작업도 강화되었다.[10]

2. 3. 윈도우 버전 및 오픈 소스 전환 (2000년 ~ 2001년)

2000년 9월 1일, 1.000 버전은 ZSNES의 첫 번째 공식 윈도우 릴리스였다.[11] 이후 몇몇 버전은 이 포트의 품질 향상에 집중했다. 2001년 4월 2일, 소프트웨어의 소스 코드가 GNU GPL로 공개되었고, 소스포지.넷에서 공개되기 시작하였다. 같은 날 코더 Teuf가 팀에 합류했다.[12]

2. 4. 주요 기능 추가 및 업데이트 (2001년 ~ 2007년)

ZSNES는 초기 버전부터 여러 주요 기능 추가와 업데이트를 거쳤다.

버전출시일주요 내용
1.30b2001년 6월 16일스타 오션 게임과 S-DD1 압축 칩 초기 지원[13]
1.3372001년 9월 30일zsKnight의 공로를 기리기 위해 출시[14]
1.402004년 12월 25일코드 개선 및 특수 칩 지원 강화, ZSNES 코드베이스의 일부였던 해킹 제거, 까다로운 게임에 의존하는 적절한 코드 구현[15]
1.502006년 12월 22일대대적인 코드 수정 및 C 언어 이식 (20만 줄이 넘는 소스 코드 중 25% 이상 수정, 어셈블리 코드의 약 15%가 C로 이식)[16]
1.512007년 1월 24일마지막 공식 릴리스


2. 5. 개발 중단 및 이후 (2007년 ~ 현재)

ZSNES의 개발은 2007년 1월 24일 1.51 버전 출시 이후 눈에 띄게 둔화되었다.[1] 개발 노력의 상당 부분은 어셈블리 언어 코드를 C 및 C++로 다시 작성하여 에뮬레이터의 이식성을 높이는 데 집중되었다.[2] 여기에는 Qt를 사용한 새로운 GUI가 포함된다.[3]

2009년 ''adventure_of_link''는 ZSNES 게시판에서 "ZSNES는 죽지 않았으며, 여전히 개발 중"이라고 발표했지만,[1] 뚜렷한 진전은 없었다.

3. 특징

ZSNES는 1997년 7월 3일에 개발이 시작되어 1997년 10월 14일에 첫 버전이 DOS용으로 출시되었다. 이후 윈도우 및 리눅스용 공식 포트가 제작되었다. 2001년 4월 2일에는 GPL-2.0-이상 라이선스 하에 자유 소프트웨어가 되었다.[1] 2007년 1월 24일 1.51 버전이 출시된 이후 개발이 둔화되었지만, C 및 C++로 어셈블리 코드를 다시 작성하여 에뮬레이터의 이식성을 높이는 작업과 Qt를 사용한 새로운 GUI 개발이 진행되었다.[2][3]

3. 1. 혁신적인 기능

초기 ZSNES는 넷플레이, ZMV 무비 등 당시로서는 혁신적인 기능을 제공했다. 넷플레이는 TCP/IP영어 또는 UDP영어를 통해 다른 사용자와 함께 게임을 즐길 수 있는 기능이다.[5] ZMV 무비는 게임 플레이를 녹화하여 다른 사용자와 공유할 수 있는 기능이다.[https://www.zophar.net/movies/snes.html]

ZMV 무비 기능을 통해 플레이어는 플레이 세션의 입력을 기록한 다음 ZMV 파일로 출력할 수 있었다. ZSNES 사본, 일치하는 ROM 파일 및 ZMV 파일을 가진 다른 사용자는 ZMV 파일을 통해 다른 사람의 게임 플레이를 시청할 수 있었다. 이는 온라인 게임 플레이 비디오가 대중적으로 보급되기 훨씬 이전의 일로, 이러한 유형의 콘텐츠를 공유하는 초기 형태였다.

3. 2. 슈퍼 패미컴 특수 칩 지원

ZSNES는 SNES 기능 향상 칩의 에뮬레이션에 초기부터 상당한 성과를 보였다는 점에서 주목할 만하다.[4]

3. 3. 이식성의 한계

ZSNES는 대부분 저수준 어셈블리 언어로 x86 프로세서용으로 작성되었기 때문에, ARM과 같은 RISC 아키텍처를 사용하는 장치로 이식하는 것은 매우 어렵다. 상업용 게임 콘솔은 8세대 이전에는 초기 Xbox를 제외하고 x86 프로세서를 사용하지 않았으며, 2013년에 Xbox One과 PlayStation 4가 출시되었다.[6]

4. 평가

ZSNES는 전성기에 대체로 호평을 받았으나[17], 컴퓨터 성능 향상과 함께 Snes9x, higan 등 더 정확한 SNES 에뮬레이터가 개발되면서 낮은 정확성이 문제점으로 지적되었다.[18] 또한, 2015년에는 ZSNES 버전 1.51에서 특별히 제작된 SNES ROM을 통해 호스트 시스템을 제어하고 악성 코드를 실행할 수 있는 익스플로잇이 발견되기도 했다.[19]

4. 1. 긍정적 평가

ZSNES는 전성기에 대체로 호평을 받았으며, 2005년 영국의 게임 잡지 ''레트로 게이머''는 이 에뮬레이터를 "매우 인상적"이라고 칭찬하며 "놀라운 토스터 모드"를 호평했다.[17]

4. 2. 부정적 평가

ZSNES는 한때 호평을 받았지만, 컴퓨터 성능 향상과 함께 Snes9x, higan 등 더 정확한 SNES 에뮬레이터가 개발되면서 낮은 정확성이 문제점으로 지적되었다.[18] ZSNES의 인기로 인해 많은 팬이 제작한 번역 및 수정 게임들이 ZSNES의 부정확성에 맞춰 제작되었는데, 이 때문에 실제 SNES 하드웨어나 다른 에뮬레이터에서는 제대로 작동하지 않는 문제가 발생했다.[18] 다른 에뮬레이터 중 일부는 ZSNES의 특징을 복제하는 모드를 포함하여 이러한 문제를 해결하기도 했다.[18]

2015년에는 ZSNES 버전 1.51에서 특별히 제작된 SNES ROM을 통해 호스트 시스템을 제어하고 악성 코드를 실행할 수 있는 익스플로잇이 발견되었다.[19] 이후 부분적으로 수정된 미리 보기 빌드가 출시되었다.[19]

참조

[1] 웹사이트 ZSNES is not dead, it is still under active development https://board.zsnes.[...] 2010-07-23
[2] 웹사이트 Re: Current Status FAQ https://web.archive.[...] 2011-10-24
[3] 웹사이트 ZSNES GUI 3.0 the first screenshot https://board.zsnes.[...] 2011-10-24
[4] 웹사이트 History - ZSNES Documentation https://zsnes-docs.s[...]
[5] 웹사이트 ZSNES Home Page https://zsnes.com/in[...] ZSNES 2020-04-24
[6] 웹사이트 No Port requests https://board.zsnes.[...] 2010-07-23
[7] 웹사이트 History - ZSNES Documentation - v0.150 - Initial Release - October 14, 1997 https://zsnes-docs.s[...]
[8] 웹사이트 History - ZSNES Documentation https://zsnes-docs.s[...]
[9] 웹사이트 History - ZSNES Documentation https://zsnes-docs.s[...]
[10] 웹사이트 History - ZSNES Documentation https://zsnes-docs.s[...]
[11] 웹사이트 History - ZSNES Documentation https://zsnes-docs.s[...]
[12] 웹사이트 History - ZSNES Documentation https://zsnes-docs.s[...]
[13] 웹사이트 History - ZSNES Documentation https://zsnes-docs.s[...]
[14] 웹사이트 History - ZSNES Documentation https://zsnes-docs.s[...]
[15] 웹사이트 History - ZSNES Documentation https://zsnes-docs.s[...]
[16] 웹사이트 History - ZSNES Documentation https://zsnes-docs.s[...]
[17] 간행물 Retro Coverdisc
[18] 웹사이트 Accuracy takes power: one man's 3GHz quest to build a perfect SNES emulator https://arstechnica.[...] 2011-10-24
[19] 웹사이트 "#792420 - zsnes: emulator escape vulnerability - Debian Bug report logs" https://bugs.debian.[...] 2016-07-28



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com