ZSNES에서 던키콩 컨트리 2 버그 심층 분석

2025-07-01

오래된 SNES 에뮬레이터 ZSNES의 알려지지 않은 버그는 던키콩 컨트리 2의 특정 레벨에 있는 회전하는 통에 영향을 미칩니다. 저자는 조사를 통해 근본 원인이 ZSNES의 잘못된 오픈 버스 동작 에뮬레이션에 있음을 발견했습니다. 게임 코드를 역어셈블하고 65816 프로세서의 동작을 분석하여 저자는 단일 명령어의 주소 지정 모드가 잘못되었음을 알아냈습니다. 절대 주소 지정이 아닌 즉시 주소 지정을 사용해야 했습니다. 이 간단한 오류를 수정하면 통 메커니즘이 수정됩니다.

더 보기
게임

세가 제네시스의 YM2612 사운드 칩 에뮬레이션 (1부)

2025-03-29

이 글은 세가 제네시스의 Yamaha YM2612 FM 합성 칩(OPN2) 에뮬레이션에 대한 연재의 첫 번째 글입니다. 저자는 에뮬레이션하기가 매우 어려운 이 칩의 복잡성을 자세히 설명하고, 제네시스 내 통합과 CPU 상호 작용에 초점을 맞춥니다. 이 글에서는 YM2612의 아키텍처를 심층적으로 파고들어 6개의 오디오 채널, 채널당 4개의 오퍼레이터, 8개의 알고리즘, LFO, 타이머, DAC 등의 추가 기능을 설명합니다. 68000과 Z80 CPU 간의 상호 작용, 레지스터 매핑, 읽기/쓰기 동작, 그리고 다양한 제네시스 모델에서 특정 게임(예: Earthworm Jim과 Hellfire)의 오디오 문제의 근본 원인을 조사합니다. 마지막으로, 저자는 DAC 채널 에뮬레이션에 대해 설명하고, YM2612 에뮬레이션에 도전하는 모든 사람에게 귀중한 통찰력을 제공합니다.

더 보기

로우패스 필터를 사용한 세가 CD PCM 오디오 품질 개선

2025-02-17

본 글에서는 세가 CD의 PCM 사운드 칩의 낮은 음질의 원인을 탐구하고, 오디오 품질 향상을 위한 해결책으로 로우패스 필터 사용을 제안합니다. 다양한 Genesis 모델의 오디오 하드웨어 차이점과 로우패스 필터의 오디오 처리에서의 역할을 설명합니다. 실험을 통해 다양한 종류의 로우패스 필터(버터워스 IIR 필터)의 효과를 비교하고 코드 예시를 제공합니다. 최종적으로 세가 CD의 PCM 오디오 음질을 개선하고, 소프트웨어에서 IIR 필터를 구현할 때 주의해야 할 점들을 요약합니다.

더 보기