Emulating the Sega Genesis's YM2612 Sound Chip (Part 1)

2025-03-29

This post begins a series on emulating the Sega Genesis's Yamaha YM2612 FM synthesis chip (OPN2). The author details the complexities of this notoriously difficult-to-emulate chip, focusing on its integration within the Genesis and CPU interaction. The article delves into the YM2612's architecture, explaining its six audio channels, four operators per channel, eight algorithms, and additional features like an LFO, timers, and a DAC. It explores the interplay between the 68000 and Z80 CPUs, register mapping, read/write behavior, and the root causes of audio issues in certain games (e.g., Earthworm Jim and Hellfire) on different Genesis models. Finally, the author describes emulating the DAC channel, providing valuable insight for anyone undertaking YM2612 emulation.

Read more

Improving Sega CD PCM Audio Quality with Low-Pass Filtering

2025-02-17

This article delves into the reasons behind the poor audio quality of the Sega CD's PCM sound chip and proposes a solution: using low-pass filters to enhance audio quality. It explores differences in audio hardware across various Genesis models and the role of low-pass filters in audio processing. Through experiments, the author compares the effectiveness of different types of low-pass filters (Butterworth IIR filters) and provides code examples. Ultimately, the author successfully improves the sound quality of Sega CD PCM audio and summarizes important considerations when implementing IIR filters in software.

Read more