Identificación de AY-3-8910, YM2149 y clones
Moderador: Fundadores
-
- Aspirante a demonio
- Mensajes: 204
- Registrado: 07 Jun 2023, 10:57
- Has thanked: 74 times
- Been thanked: 28 times
Identificación de AY-3-8910, YM2149 y clones
Me acaban de llegar unos AY-3-8910 y YM2149 de AliExpress y estoy intentando verificar que es lo que se supone que tiene que ser.
Los he conectado a un Arduino Uno usando los 5V del Arduino y una señal de reloj de 2Mhz generada por el Arduino.
Se supone que los AY no guardan los bits que no se usan de los registros, mientras que los YM sí. En ninguno de los que he recibido se guardan.
Sí que se nota que los AY tienen un volumen de salida muy superior. Los voltajes a las salidas en silencio son de 1'2V en el AY y de 3'1V en el YM, lo cual no se corresponde con los 0'2V y 2V que debería dar, es más o menos 1V más. No sé si fiarme de esta medida que hago.
Pensaba que sería sencillo implementar un identificador en el Arduino escribiendo y leyendo los registros pero no parece posible si lo estoy haciendo bien.
¿Puede alguien confirmar mis observaciones o decirme qué puedo estar haciendo algo mal? Es la primera vez que los manejo.
Estoy usando la biblioteca AY3891X del Arduino.
Los he conectado a un Arduino Uno usando los 5V del Arduino y una señal de reloj de 2Mhz generada por el Arduino.
Se supone que los AY no guardan los bits que no se usan de los registros, mientras que los YM sí. En ninguno de los que he recibido se guardan.
Sí que se nota que los AY tienen un volumen de salida muy superior. Los voltajes a las salidas en silencio son de 1'2V en el AY y de 3'1V en el YM, lo cual no se corresponde con los 0'2V y 2V que debería dar, es más o menos 1V más. No sé si fiarme de esta medida que hago.
Pensaba que sería sencillo implementar un identificador en el Arduino escribiendo y leyendo los registros pero no parece posible si lo estoy haciendo bien.
¿Puede alguien confirmar mis observaciones o decirme qué puedo estar haciendo algo mal? Es la primera vez que los manejo.
Estoy usando la biblioteca AY3891X del Arduino.
Última edición por berarma el 24 Dic 2023, 14:14, editado 1 vez en total.
- cacharreo
- Moderador
- Mensajes: 5891
- Registrado: 09 Ago 2019, 10:17
- Ubicación: /home/cacharreo/
- Has thanked: 1212 times
- Been thanked: 2837 times
- Contactar:
Re: Identificación de AY-3-8910, YM2149 y clones
No sé con seguridad si tu objetivo final es identificar los chips o arreglar tu programa. Por si acaso te comento que hay un programa llamado AY Detect de George Velesoft que distingue si el chip de sonido del Spectrum es tipo AY-3-891x o YM2149. Con una ZX Spectrum AY Sound Card resultaría muy sencillo ir probando un chip tras otro.
© cacharreo
-
- Aspirante a demonio
- Mensajes: 204
- Registrado: 07 Jun 2023, 10:57
- Has thanked: 74 times
- Been thanked: 28 times
Re: Identificación de AY-3-8910, YM2149 y clones
Me gustaría identificarlos y también saber cual es el método correcto para hacerlo. Y si el método es el que he probado saber por qué no me ha funcionado. No puedo conectarlos al Spectrum. Desensamblaré el programa que me has pasado para ver cómo lo hace. Gracias.cacharreo escribió: ↑24 Dic 2023, 13:44 No sé con seguridad si tu objetivo final es identificar los chips o arreglar tu programa. Por si acaso te comento que hay un programa llamado AY Detect de George Velesoft que distingue si el chip de sonido del Spectrum es tipo AY-3-891x o YM2149. Con una ZX Spectrum AY Sound Card resultaría muy sencillo ir probando un chip tras otro.
- cacharreo
- Moderador
- Mensajes: 5891
- Registrado: 09 Ago 2019, 10:17
- Ubicación: /home/cacharreo/
- Has thanked: 1212 times
- Been thanked: 2837 times
- Contactar:
Re: Identificación de AY-3-8910, YM2149 y clones
De nada. Dejo este artículo como referencia.berarma escribió: ↑24 Dic 2023, 14:22Me gustaría identificarlos y también saber cual es el método correcto para hacerlo. Y si el método es el que he probado saber por qué no me ha funcionado. No puedo conectarlos al Spectrum. Desensamblaré el programa que me has pasado para ver cómo lo hace. Gracias.
© cacharreo
-
- Aspirante a demonio
- Mensajes: 204
- Registrado: 07 Jun 2023, 10:57
- Has thanked: 74 times
- Been thanked: 28 times
Re: Identificación de AY-3-8910, YM2149 y clones
Sí, lo había visto pero o está mal, o estoy haciendo algo mal, o estos YM2149 que tengo son especiales.
- cacharreo
- Moderador
- Mensajes: 5891
- Registrado: 09 Ago 2019, 10:17
- Ubicación: /home/cacharreo/
- Has thanked: 1212 times
- Been thanked: 2837 times
- Contactar:
Re: Identificación de AY-3-8910, YM2149 y clones
Lo había enlazado por si fuera útil más adelante cuando tuvieras claro el método de detección que usaba el aydete para Spectrum pero, aún así, parece increíble que ninguna de las 4 caracterizaciones puedas comprobarla. Entiendo que la última (DC offset) sin ver la señal en el osciloscopio será complicado diferenciar la componente continua de la alterna. Para esta opción ¿has pensado en añadir electrónica adicional? Una posible aproximación sería probar con un filtro paso bajo (p.e. 10kΩ y 330nF) y, tal vez, un pequeño amplificador (con ganancia 2) antes del ADC. De esta forma se filtraría cualquier componente de alterna por debajo de los 50Hz y con un puerto analógico deberías leer alrededor de 800 para el YM2149 y unos 80 para los AY-3.
© cacharreo
- Kyp
- Hermano de Lucifer
- Mensajes: 3385
- Registrado: 30 Sep 2013, 14:54
- Ubicación: Madrid
- Has thanked: 28 times
- Been thanked: 151 times
Re: Identificación de AY-3-8910, YM2149 y clones
Con lo de los registros debería valer.
Otra diferencia es el funcionamiento del pin26. En el YM poniéndolo a masa divide el clock entre 2. Sería algo así como:
- Conectar un cable al pin 26 y dejar al aire.
- Poner a sonar el chip con un tono fijo.
- Mientra suena poner el cable a masa.
Si cambia el tono es un YM, si sigue igual es un AY.
Y si tienes un osciloscopio se podría ver como cambia la envolvente con el tiempo. Un AY tiene 16 escalones, un YM 32.
Otra diferencia es el funcionamiento del pin26. En el YM poniéndolo a masa divide el clock entre 2. Sería algo así como:
- Conectar un cable al pin 26 y dejar al aire.
- Poner a sonar el chip con un tono fijo.
- Mientra suena poner el cable a masa.
Si cambia el tono es un YM, si sigue igual es un AY.
Y si tienes un osciloscopio se podría ver como cambia la envolvente con el tiempo. Un AY tiene 16 escalones, un YM 32.
- cacharreo
- Moderador
- Mensajes: 5891
- Registrado: 09 Ago 2019, 10:17
- Ubicación: /home/cacharreo/
- Has thanked: 1212 times
- Been thanked: 2837 times
- Contactar:
Re: Identificación de AY-3-8910, YM2149 y clones
Exacto, queda ver por qué está fallando en el código de @berarma.
Es la primera de las diferencias en el artículo citado pero además sugeriría añadir un pull-up en el pin 26 que no cuesta nada, para prevenir accidentes. El YM tiene ese pull-up interno para mantener la compatibilidad con los AY-3 pero en el AY-3-8910 el pin está etiquetado como TEST2 y está indocumentado pero si fuera una salida a priori sería impredecible cómo se comportaría si se conectara a tierra directamente.Kyp escribió: ↑24 Dic 2023, 18:09Otra diferencia es el funcionamiento del pin26. En el YM poniéndolo a masa divide el clock entre 2. Sería algo así como:
- Conectar un cable al pin 26 y dejar al aire.
- Poner a sonar el chip con un tono fijo.
- Mientra suena poner el cable a masa.
Si cambia el tono es un YM, si sigue igual es un AY.
De todas formas supongo que @berarma lo que quiere es el que el propio código detecte e informe al usuario si es un AY-3 o un YM como hace el aydete y no le va a servir de mucho que un tono audible se escuche más grave.
© cacharreo
-
- Aspirante a demonio
- Mensajes: 204
- Registrado: 07 Jun 2023, 10:57
- Has thanked: 74 times
- Been thanked: 28 times
Re: Identificación de AY-3-8910, YM2149 y clones
Estoy usando el ejemplo AY3891x_EX1_Find_Address.ino de la biblioteca AY8391X que escribe y lee de un registro. He probado con varios registros diferentes con bits que no se usan. Nunca me devuelve el mismo valor que escribo.
Tengo el DSO-TC2 y es con lo que he medido la tensión continua de salida. Aunque como no tengo mucha experiencia con osciloscopios no sé si estaré haciendo algo mal. Porque otra cosa que he notado es que la tensión cambia cuando cambio la escala de tensión del osciloscopio.
Ya he comprobado que las señales de salida son diferentes en el volumen. Podría comprobar también los niveles de la envolvente, pero me quedaría igualmente la duda de si tengo un YM2149 original 100% y si la prueba de los registros es realmente válida y si la estoy haciendo bien.
Por cierto, tengo cinco YM2149 y el resultado es el mismo en todos.
Tengo el DSO-TC2 y es con lo que he medido la tensión continua de salida. Aunque como no tengo mucha experiencia con osciloscopios no sé si estaré haciendo algo mal. Porque otra cosa que he notado es que la tensión cambia cuando cambio la escala de tensión del osciloscopio.
Ya he comprobado que las señales de salida son diferentes en el volumen. Podría comprobar también los niveles de la envolvente, pero me quedaría igualmente la duda de si tengo un YM2149 original 100% y si la prueba de los registros es realmente válida y si la estoy haciendo bien.
Por cierto, tengo cinco YM2149 y el resultado es el mismo en todos.
- Kyp
- Hermano de Lucifer
- Mensajes: 3385
- Registrado: 30 Sep 2013, 14:54
- Ubicación: Madrid
- Has thanked: 28 times
- Been thanked: 151 times
Re: Identificación de AY-3-8910, YM2149 y clones
Lo de los registros tiene que valer. Creo que el AY devuelve bits a 1 en los bits no usados. Si sale así igual ha tenido suerte y le han vendido AY remarcados como YM Que no sería nada raro.