sábado, 26 de octubre de 2019

Circuito de sonido de tragaperras años 80. Parte 1.

En esta ocasión toca un poco de electrónica "vintage".

Hace poco, mientras organizaba (o lo intentaba) los cacharros que tengo por el trastero, me encontré con una placa de sonido de una máquina tragaperras de los años 80. Los que ya tengan cierta edad, se acordarán de las maquinas que llamaban la atención tocando la canción de los "pajaritos" de María Jesús.

foto: @tecnitra (ver texto)
Nunca supe a qué modelo de máquina pertenecía, pero hace poco; buscando información por internet me encontré con el blog https://retrotragaperras.wordpress.comen el que @tecnitra muestra en un post (https://retrotragaperras.wordpress.com/2014/08/25/baby-fruits-de-recreativos-franco/) la restauración de una máquina tragaperras BabyFruits de recreativos Franco. Y entre las fotos pude ver que montaba la misma placa de sonido que tengo yo. Con una única diferencia: el puente "RECLAMO" que puede verse en las fotos.

Esta placa, junto con muchas otras, me la regalaron cuando todavía estaba yo en mi época de estudiante de electrónica; y gracias a ellas, estudiándolas, reprogramándolas, etc, es como aprendíamos por nuestra cuenta lo que hoy nadie enseña con placas más modernas como Arduino y similares. 

Por aquél entonces no teníamos el acceso a la información que existe hoy en día, y conseguir documentación, esquemas y demás era bastante más difícil que ahora. Así que la mayoría de las veces no quedaba otra que hacer los esquemas a mano haciendo la ingeniería inversa de la placa y ayudados del polímetro, y leer las memorias eprom para extraer el firmware y desemsamblarlo; en muchas ocasiones a mano también.

En su día ya había hecho todo el trabajo para poner la placa a funcionar, pero toda esa información está perdida en viejos disquetes y el caso es que no me apetecía mucho conseguir una disquetera y ponerme a buscar entre todos ellos. Y porque, a decir verdad, quizá por añoranza; me apetecía volver a repetir el trabajo.

Así que treinta años después, vamos de nuevo a hacerle la ingeniería inversa a la placa de sonido de la maquinita de los "pajaritos".

Cara de componentes. En el conector, notas que le puse hace tantos años.
Cara de soldaduras.

En las fotos, pueden verse los siguientes componentes en la placa:
  • Microcontrolador TMP8035 fabricado por Toshiba y perteneciente a la familia MCS48 que Intel lanzó al mercado en 1976. 
  • Memoria eprom de 4K, TMS2532JL-35 de Texas Instruments que almacena el firmware de la placa.
  • Integrado P8212. Es un integrado con puerto I/O de 8 bits y que en este caso se utiliza como "latch" para el direccionamiento de la memoria eprom. 
  • Un par de circuitos integrados AY-3-8910. Desarrollados y fabricados por General Instruments. Salieron al mercado en 1978 y fueron muy conocidos en la época ya que se utilizaban mucho para generar sonidos tanto en tragaperras, como en máquinas de vídeo juegos como en ordenadores. 
  • Integrado SN7486. Puertas lógicas XOR utilizadas en la descodificación de direcciones. 
  • Integrado LM380 como amplificador de sonido. 
  • Y un motón de componentes pasivos que completan el circuito. 

Primer paso: leer la eprom. 

Leer una eprom no es tarea complicada. Para hacerlo utilicé una placa de desarrollo PsoC de Cypress, en concreto la placa CY8CKIT-44 ya que tiene entradas/salidas suficientes para poder direccionar la eprom, manejar los pines de señales y leer los datos sin necesidad de añadir más circuitería.

Leyendo la eprom.

Desarrollé un pequeño firmware que lee los datos de la eprom de forma secuencial y los envía al ordenador a través del puerto serie en formato hexadecimal de Intel. En el ordenador utilicé el programa Teraterm para recibir los datos y de allí hice un corta-pega a un archivo de texto.


Teraterm recibiendo los datos en formato Intel Hex.


Una vez el código en su archivo en formato hexadecimal de Intel, solo fue cuestión de pasarlo a formato binario utilizando una de las utilidades (hexbin.exe) de mi antiguo programador de eproms, que milagrosamente y no recuerdo porqué ya había pasado de disquetes a una memoria usb hace unos cuantos años.

Buscando por internet, encontré un desemsamblador para la familia MCS48 con el que pude pasar el archivo en formato binario a código ensamblador. Así, ya tenemos algo que estudiar y poder descifrar cómo funciona la placa.

Más adelante volveré sobre el tema del código y dejaré el enlace a Github por si alguien está interesado en los archivos de código, o las herramientas.

Segundo paso: el circuito. 

Tengo el esquema del circuito, el original. Solo hay un problema, que no se dónde lo tengo guardado, soy incapaz de encontrarlo.

Así que toca echarle mano al polímetro y dar gracias por tener la suerte de que se trate de un circuito simple de doble cara.

Aunque costó trabajo, no fue demasiado complicado hacer la ingeniería inversa de la placa y ahora, además del código desemsamblado ya dispongo del esquema del circuito lo que no es poco.


Esquema de la placa.
 
Continuará... :-)
Compartir:  Facebook Twitter

0 comentarios:

Publicar un comentario