-
Hyper Neo Geo 64는 SNK가 1997년부터 1999년까지 2년간 운영한 3D 아케이드 시스템으로, 총 7개의 게임만 출시된 후 단명했으며, 2D에서 3D로 넘어가던 과도기의 실험적 플랫폼
- MAME 개발자 David Haywood가 2004년부터 21년간 진행한 에뮬레이션 작업이 최근 완성 단계에 도달하여, 그래픽과 입력은 물론 사운드 에뮬레이션까지 정상 작동
- 최근 한 달간 R. Belmont를 비롯한 MAME 기여자들이 사운드 합성 및 필터 처리 방식을 해결하며 급격한 개선을 이루었고, 10월 출시 예정인 MAME 0.282 버전에서 완전한 오디오 지원 제공
- 에뮬레이션 개발 과정에서 I/O 마이크로컨트롤러 덤프, V53 CPU 코어 개선 등 주변 기술의 발전이 핵심 돌파구로 작용했으며, 신디사이저 에뮬레이션 작업과의 예상치 못한 시너지도 기여
- 이 사례는 에뮬레이션 개발의 특성을 잘 보여주는데, 수년간의 보이지 않는 작업과 인내, 그리고 다양한 기술 요소들이 하나씩 맞춰지며 완성되는 협업 프로세스의 중요성을 시사
Hyper Neo Geo 64 에뮬레이션의 긴 여정
- David "MameHaze" Haywood가 2004년에 Hyper Neo Geo 64 에뮬레이션 작업을 시작했을 당시, MAME는 3D 게임 지원이 거의 없었고, MIPS CPU 코어도 초기 단계였으며, I/O 마이크로컨트롤러 덤프조차 없는 상황
- 당시 PC의 메모리는 2D 그래픽을 로드하고 디코딩하기에도 부족한 수준
- YouTube 이전 시대로 참고 자료를 구하기도 매우 어려운 환경
- 현재 이 플랫폼 에뮬레이션에 관심 있는 젊은 성인들 중 상당수는 작업이 시작될 당시 태어나지도 않았음
- 몇 주 전 Haywood가 시스템을 MAME에서 "작동" 상태로 승격시켰지만, 이는 다소 형식적인 조치였음
- 적절한 사운드 에뮬레이션이 여전히 누락된 상태였고, Haywood는 2023년 이후 코어 작업을 하지 않았음
- 사람들이 오랫동안 소리 없이 게임을 즐겨왔으니 "작동" 레이블을 붙여도 된다고 판단
- 이것이 다른 MAME 기여자들이 사운드 개선에 나서는 계기가 됨
Hyper Neo Geo 64 시스템 개요
- 1997년부터 1999년까지 2년간만 아케이드에서 활동했으며, 총 7개의 게임이 출시됨
- Road's Edge
- Samurai Shodown 64
- Xtreme Rally
- Beat Busters: Second Nightmare
- Samurai Shodown 64: Warriors Rage
- Fatal Fury: Wild Ambition
- Buriki One
- 이 게임들은 개별적으로 에뮬레이션에 대한 강력한 동기를 제공하지 못했지만, MAME 팀의 모든 아케이드 시스템을 역설계하고 보존하려는 열정이 프로젝트를 지속시킴
- Capcom의 CPS3 보드가 해독된 후 빠르게 지원이 추가된 것과 달리, Hyper Neo Geo 64는 21년간의 간헐적인 고된 작업이 필요했음
에뮬레이션 개발의 보이지 않는 노력
- Haywood는 "사람들이 에뮬레이션에 대해 정말 이해하지 못하는 것은, 긍정적인 결과를 전혀 얻지 못하는 작업에 투입해야 하는 시간의 양"이라고 지적
- Hyper Neo Geo 64 드라이버를 여러 번 작업하며 수주를 투입했지만 전혀 진전이 없었던 경험이 반복됨
- 모든 것을 이해하려 노력했지만 결국 "그렇게 작동하지 않는다"는 결론만 얻을 수 있었던 좌절감
- 몇 년 전 I/O 마이크로컨트롤러가 덤프되고 Haywood가 이를 에뮬레이트할 CPU 코어를 작성하면서 실질적인 진전 달성
- 많은 게임에서 입력이 작동하기 시작하여 비디오 개선 작업을 더 진행할 수 있게 됨
- 다른 시스템을 위해 개발된 V53 CPU 지원이 나중에 사운드 DSP를 구동하는 데 결정적 역할
사운드 에뮬레이션의 급격한 진전
- Haywood가 플랫폼을 "작동" 상태로 표시하자, R. Belmont를 비롯한 MAME 기여자들의 관심을 끌게 됨
- Belmont, Happy, O. Galibert 등이 지난 한 달간 게임이 제대로 소리나도록 만드는 작업 진행
- Happy가 작성한 사운드 CPU 프로그램의 상세한 디스어셈블리가 매우 유용했음
- Belmont와 Galibert는 MAME에서 신디사이저 지원 작업을 하고 있었는데, Hyper Neo Geo 64의 사운드 칩이 신디사이저에도 사용되어 편리한 전문 분야 중복 발생
- 현재 MAME 릴리스 0.281에는 Belmont가 YouTube 동영상으로 문서화한 일련의 빠른 개선 사항이 포함됨
- 기본 샘플 시작 및 중지가 올바른 방식으로 작동하도록 수정
- 볼륨 엔벌로프에 대한 예비 지원 추가로 오디오 밸런스 개선
- 음성별 로우패스 필터 추가로 고주파 노이즈가 정리되고 사운드가 더 깨끗해짐
MAME 0.282의 주요 개선 사항
- 10월 출시 예정인 MAME 0.282에서 Xtreme Rally의 오디오 문제 해결 및 전반적인 품질 향상 예정
- Olivier Galibert가 12비트 다이나믹 레인지를 8비트로 압축하는 방식을 알아내고, 더 적합한 Chamberlin 필터로 교체하여 훨씬 선명하고 높은 충실도의 사운드 구현
- 루핑 샘플의 실제 작동 방식을 파악하고, 최종 믹스다운에서 왜곡이 발생하지 않도록 수정하며, 필터 엔벌로프를 수정하여 Beast Busters Second Nightmare 인트로의 극적인 개선 달성
- Xtreme Rally의 고유한 코드 문제 해결
- 이 게임은 사운드 명령을 최대한 빠르게 사운드 CPU로 전송하려는 독특한 코드를 가지고 있어, 명령의 2/3가 손실되는 문제 발생
- 모든 명령이 전달되도록 문제를 수정하여 Xtreme Rally가 이제 훌륭하게 들림
- MAME 0.282가 출시되면 Hyper Neo Geo 64는 진정으로 "작동" 레이블에 걸맞는 상태가 됨
협업 프로젝트의 완벽한 예시
- Galibert는 Reddit에 신디사이저 에뮬레이션에 대한 관심에서 비롯된 기여였지만, "재미있게도 신디사이저 자체(MPC3000)는 아직 전혀 작동하지 않는다"고 언급
- 신디사이저의 일부가 여전히 덤프되지 않고 문서화되지 않았지만, 가진 조각 중 하나가 완전히 다른 퍼즐에 맞아떨어지는 경우가 있음
- Haywood는 "그저 길고 느린 과정이었다"며, "수년에 걸쳐 조금씩 발전했고, MAME의 주변 코드가 더 나아지고 더 능력 있게 되면서 단계별로 더 많은 진전을 이룰 수 있었다"고 회고