mcleod_ideafix escribió:jotego, una pregunta: el core AY-3-8910 que tienes hecho, ¿da la salida "mezclada" de los tres canales, o cada canal tiene salida aparte, como en el chip original? ¿Qué licencia de uso tiene este core? Es para usarlo en sustitución del core que tengo ahora mismo en el ZX-Uno, si el tuyo tiene las tres salidas independientes. Las licencias que son compatibles con el proyecto ZX-Uno son la GPL y la CC-by-SA
Repito la respuesta del privado:
Sí, el módulo principal saca las tres salidas independientemente. El fichero es sqmusic.v. El primer módulo es un adaptador para la placa 1942, el módulo que a ti te interesa se llama SQMUSIC. En el mismo fichero están los otros módulos accesorios. Son las tres salidas en 4 bits, o sea escala logarítmica. Para pasarlo a lineal usa el módulo SQM_LOG que está en sqm_amp.v. Ahí hay un sumador SQM_AMP que las linealiza y suma, puedes cambiar la suma para sacarlas independientemente. Es trivial. La conversión a lineal es muy sencilla, no sé porqué se complicaron tanto la vida en la implementación que habéis estado manejando.
La licencia es GPL.
Para descargarlo:
Mira en la carpeta trunk/sqm
Yo en ese proyecto usé un PWM. Creo que tu tienes un sigma delta. No te costará nada enchufarlos. La salida de cada canal es de 12 bits.
Me alegro de que le podáis sacar partido. Estos proyectos si no se usan no dan alegrías.
-- Actualizado 02 Feb 2015, 23:27 --
Se podría haber hecho con un microcontrolador ARM o Cortex, supongo. Pero el objetivo final es clonar el chip de Yamaha en la FPGA. Esto ha sido un paso intermedio para verificar que el chip original que uso como modelo funcionaba. Cuando haya clonado el chip y publique el código con licencia GPL se abrirán la puerta a clonar en FPGA muchísimos arcades y ordenadores como el X68000. Si aun sigo con ánimo, no debería costarme mucho clonar los otros dos principales chips de Yamaha para permitir clonar la Megadrive y el Ghosts&Goblins de máquina, por ejemplo. Aunque al paso que voy igual tardo un año en completar el primero.