Una inmersión profunda en un error de Donkey Kong Country 2 en ZSNES

2025-07-01

Un error obscuro en el antiguo emulador de SNES ZSNES afecta a los barriles giratorios en ciertos niveles de Donkey Kong Country 2. El autor investigó, descubriendo que la causa raíz radica en la emulación incorrecta del comportamiento de bus abierto por parte de ZSNES. Al desensamblar el código del juego y analizar el funcionamiento del procesador 65816, el autor identificó un modo de direccionamiento incorrecto en una sola instrucción: absoluto en lugar de inmediato. Corregir este sencillo error corrige la mecánica del barril.

Leer más

Emulando el chip de sonido YM2612 de Sega Genesis (Parte 1)

2025-03-29

Esta publicación inicia una serie sobre la emulación del chip de síntesis FM Yamaha YM2612 (OPN2) de Sega Genesis. El autor detalla las complejidades de este chip notoriamente difícil de emular, centrándose en su integración en Genesis y la interacción de la CPU. El artículo profundiza en la arquitectura del YM2612, explicando sus seis canales de audio, cuatro operadores por canal, ocho algoritmos y características adicionales como un LFO, temporizadores y un DAC. Explora la interacción entre las CPU 68000 y Z80, el mapeo de registros, el comportamiento de lectura/escritura y las causas raíz de los problemas de audio en ciertos juegos (por ejemplo, Earthworm Jim y Hellfire) en diferentes modelos de Genesis. Finalmente, el autor describe la emulación del canal DAC, proporcionando información valiosa para cualquiera que emprenda la emulación del YM2612.

Leer más

Mejorando la calidad de audio PCM del Sega CD con filtrado de paso bajo

2025-02-17

Este artículo profundiza en las razones detrás de la mala calidad de audio del chip de sonido PCM del Sega CD y propone una solución: usar filtros de paso bajo para mejorar la calidad de audio. Explora las diferencias en el hardware de audio en varios modelos de Genesis y el papel de los filtros de paso bajo en el procesamiento de audio. A través de experimentos, el autor compara la efectividad de diferentes tipos de filtros de paso bajo (filtros Butterworth IIR) y proporciona ejemplos de código. En última instancia, el autor mejora con éxito la calidad de audio PCM del Sega CD y resume las consideraciones importantes al implementar filtros IIR en software.

Leer más