• Que bueno !

    Y yo que pensaba que era el unico retorcido que le habia hecho decir palabrotas al pobre sintetizador pero veo que en la muestra RetroAlba tambien lo hicieron! jaja   

    Tengo que terminar mi intento de aventura conversacional para C64 
    Saludos, 

    Hace 2 meses en España presentaron el sintetizador de voz para MSX en RetroAlba, esta es la placa: LINK
    En este tema se puede ver 2 fotos en la expo: LINK
    Estan como a 2/3 de la pagina, donde dice:
    "Como os comentaba antes, Pepillo compañero nuestro de Vintagenarios, presentó en el evento, un Sintetizador de Voz, que ha de funcionar en cualquier equipo que disponga de puerto serie, con diseño de Pastbytes de Retrocomputación y montaje de Vaporatorius."
    En esa ocasion hicieron un menu donde se podia lanzar el piano que hice, el juego REC de DamianWorf, o un pequeño programa donde se puede tipear cualquier texto y se envia al chip, que es lo que dejaron corriendo.
    Ahora hice unas modificaciones a ese programa, que hizo Vaporatorius, de IRC Hispano, y le agregue la aventura conversacional al menu.
    Adjunto la imagen del diskette por si alguno lo quiere probar con el sintetizador, es de 360K.
    La pantalla de seleccion es esta:

    1428341158 75 FT84787 Openmsx0001



    pastbytes
     

  • Podes partir de la aventura para C128, hay que eliminar la rutina en codigo maquina que tiene al principio, que en C64 no es necesaria, esa rutina lo unico que hace es abrir el puerto, por alguna razon en C64 funciona bien y en C128 da error a veces con OPEN.
    Aca tenes el libro donde desarrolla esa aventura desde cero, los numeros de linea no coinciden pero creo que es el mismo programa, si entendes como modificarlo es mas facil que empezar uno nuevo.
    http://ibero.bookz.lt/Inform/Diseno%20De%20Juegos.pdf

     

  • Dejo una version minima del plano para armar el sintetizador, Le deje conectados los jumpers para 19200 bps que es la velocidad que usa el soft adaptado, tambien dejo deshabilitado el jumper de eco de lo recibido que no tiene sentido en esta version, y habilitado el mensaje de arranque. Tambien elimine los otros dos leds, dejando solo el de reproduccion de sonido, tal como esta en la ultima placa que arme.
    Le cambie los capacitores del cristal a 22pF que es mas cercano a lo que corresponde, aunque con 33pF igual anda. El valor correcto depende del cristal, que suele tenerlo indicado, los que yo uso por ejemplo dicen 20pF.


    1429622569 75 FT84787 Picsynthmsx2
     

  • La version 1.1 del sintetizador HR4 paso a beta 1, el circuito ahora es diferente porque cambian unos pines de lugar, asi que las placas anteriores tienen que modificarse ligeramente para funcionar con esta nueva version.
    El nuevo circuito es este:

    1473600556 75 FT84787 Picsynthmsx3

    Lo que cambia es que se movieron las entradas JP0 (pin 17) y JP1 (pin 18) a los pines 6 y 13, se movio la salida NOT_READY/CTS del pin 13 al 10, se agrego la entrada JP4 en el pin 3, que antes no estaba conectada, y los pines 17 y 18 ahora se conectan a masa.
    Tambien cambia en el puerto de joystick que el pin 6 (boton 1) que antes se usaba como salida de datos hacia el PIC, ahora se usa como entrada de datos desde el PIC (esta señal antes no estaba conectada), y el pin 8 ahora se va a usar como la nueva salida de datos hacia el PIC.
    Hay que adaptar la rutina en asm para que envie por el pin 8 en lugar de hacerlo por el 6, para que siga andando el soft de demostracion existente para MSX.

     

  • Pasaron menos de 2 meses pero hubo un monton de cambios en la placa, no llegue a publicar la v1.1, por suerte, y ya tenemos la v1.2. Y digo por suerte, porque la v1.1 era incompatible con el soft existente, y la v1.2 vuelve a ser compatible, asi que los usuarios de la v1.0 podran modificarla y seguir usando el soft actual.
    En la v1.1 decidi agregar una entrada RX para recibir datos desde el PIC, algo que no habia en la v1.0 porque los unicos datos que enviaba el PIC eran el mensaje de inicio, y el eco de lo recibido si se habilitaba ese jumper. Pero en la v1.1 ya habia un comando para consultar el modelo del sintetizador y la version del firmware, entonces necesitaba una entrada en el puerto de joystick para recibirlos.
    Cuando adapte el juego REC de DamianWorf, vi que el usaba la orden PLAY para generar los tonos, y tambien una funcion de esa misma orden que le permitia saber cuando un tono terminaba de reproducirse. Como el programa era muy dependiente de esta sincronizacion con la reproduccion de sonido, tuve que ingeniarmelas para chequear rapidamente esto, razon por la cual esta conectada la salida PLAYING del sintetizador, que va a la direccion izquierda del puerto de joystick. La salida CTS del sintetizador, que se pone a 0 cuando puede recibir datos desde la MSX, esta conectada a la direccion arriba del puerto de joystick. Estas direcciones estan elegidas de forma de dar siempre un valor valido para un joystick (es decir, no use por ejemplo las direcciones arriba y abajo, que darian un valor ilegal), por lo que se puede chequear el estado del sintetizador con la orden STICK, verificando si no hay movimiento, si se mueve a la izquierda, hacia arriba, o en diagonal arriba-izquierda.
    En la v1.1 tenia que agregar una entrada RX para recibir datos del PIC, y como ya no podia agregarla a las entradas izquierda-derecha-arriba-abajo, porque habria combinaciones ilegales para un joystick, lo que hice fue asignar RX a lo que era la salida de datos hacia el sintetizador (TX), que estaba en el pin 6 (boton 1 del joystick) , y asignar TX al pin que solo sirve como salida, el 8.
    Estas modificaciones eran logicas, pero hacian que el soft antiguo por un lado siguiera siendo compatible a nivel BASIC, porque la orden STICK funcionaria de la misma manera, pero por otro lado se hacia incompatible en el envio de datos hacia el sintetizador, cosa que se solucionaba con otro driver en reemplazo del anterior.
    En eso estaba cuando empece a experimentar con la lectura de joystick analogico de PC y luego con el modulo wifi, lo que me llevo a congelar la v1.1 y hacer una v1.2 que se adaptara mejor a los futuros cambios. En realidad podria haber sido esa la v1.1, pero como habia publicado ya el plano, era menos confuso llamarla 1.2 y cancelar la anterior.
    El plano actual queda asi:

    1478505088 75 FT84787 Microsintmsx1


    Si bien no pude hacer andar del todo la entrada de joystick analogico en este sintetizador (si funciona en el HD1), decidi dejar reservados esos pines para que si logro hacerlo andar, solo haga falta actualizar el firmware del PIC , y agregar los componentes necesarios. Como la lectura de joystick se hace en este sintetizador con las entradas de comparadores, hubo que mover varios pines de lugar, ya que esas entradas no pueden estar en cualquier pin. Tambien al destinar 2 entradas para los ejes del joystick y 2 para los botones, hubo que eliminar funciones, como el led CONFIGMODE que no tenia mucha utilidad, y los dos jumpers _ECHO (que solo es util usando el sintetizador desde una terminal) y _SPKMODE, que habia introducido en la v1.1 y nunca se llego a usar.
    De las pruebas compartiendo el puerto RS232 de la C64 entre el modulo wifi y el sintetizador, surgio la necesidad de una entrada _CS, que cuando se pone a 0 habilita al sintetizador a leer y enviar datos por RS232, y si esta a 1 ignora cualquier envio y recepcion. Esta linea deberia ser controlada por una nueva salida DTR / SEL que seleccionaria si queremos "hablar" con el sintetizador o el modulo wifi, si se arma una placa dual, en este caso iria fija a masa.
    Para una placa dual con sintetizador y wifi se necesitan 3 salidas: TX, RTS y DTR/SEL. Como en el puerto de joystick de la MSX hay justo 3 salidas, volvi a asignar TX en el pin 6 como en la placa de la v1.0, y asigne las nuevas RTS y DTR/SEL a los pines 7 (boton 2 del joystick) y 8 respectivamente.  En esta placa los pines 7 y 8 quedan sin conectar.
    La nueva entrada RX que leera datos desde el PIC, normalmente estara a 1, por lo que no deberia interferir para nada a la orden STICK que lee CTS y PLAYING. Los nuevos comandos de chequeo de modelo de sintetizador y version del firmware, asi como los futuros de lectura de joystick analogico, estan diseñados para enviar datos de a un byte a la vez y apenas se recibe un byte desde la MSX, por lo que la lectura desde la MSX se haria en un driver especial y nunca ocurriria durante la ejecucion del programa BASIC. Por eso el soft actual deberia funcionar sin problemas, ya que RX nunca recibiria nada (solo en el arranque del sintetizador, cuando la MSX tambien esta arrancando), y al no estar conectadas RTS y DTR/SEL, da igual que el driver v1.0 las ignore.
    En definitiva, el que tiene un sintetizador v1.0, puede regrabar el PIC con la v1.2, adaptar las conexiones en el PIC, y agregar un cable al puerto de joystick para leer datos desde el PIC. Esto ultimo solo se va a usar en soft que todavia no esta hecho, que autodetectaria si hay un sintetizador conectado.
     

  • Bueno, en estos dias estuve dandole forma final al sintetizador HR4 v1.2, al final le deje habilitados los comandos para leer el joystick de PC, pero devuelve valores fijos para los ejes/potenciometros, ya que eso no esta funcionando todavia, lo que si reporta correctamente es el estado de los dos botones del joystick. No sirve para mucho pero ya quedan los comandos habilitados, solo va a faltar implementarlos en otra version.
    Ayer pude modificar la placa para Commodore 64 y funciono correctamente, incluso la lectura de joystick (con los ejes fijos). Despues modifique la placa para MSX, y hace un rato pude probarla en la Talent, fue una prueba rapida pero todo lo que cargue funciona, asi que es 100% compatible con el soft existente.
    Dejo unos fotos de la prueba:

    1478685036 75 FT84787 103 1500s

    1478685037 75 FT84787 103 1501s

    1478685037 75 FT84787 103 1504s

    1478685037 75 FT84787 103 1505s

    1478685037 75 FT84787 103 1507s

    Los que quieran grabar o regrabar los PICs me pueden pedir el archivo. Tengan en cuenta que los que tienen la placa v1.0 van a tener que modificar la conexion del PIC, porque cambiaron varios pines.
     

  • Muy bueno, quedo muy compacto , tengo que enviarte el mio asi me haces la gauchada para modificarlo y probarlo en la 5150 y la Commodore 64
     

  • Modifique el diskette de demostracion del sintetizador de voz para incluir el programa que canta el himno nacional.

    Aca se puede ver el video de ese programa, y esta el link para descargar el soft actualizado:

    http://www.retrocomputacion.com/forum/_general_/94733/pruebas-con-modulos-de-voz-hr-y-hd/?p=8#post-108483

    Dejo unas fotos que tome cuando hice el video:

     

  • Puede parece cursi lo que te voy a decir, pero escuchar una talent, que usé en mi colegio secundario, y uso habitualmente tocando el himno nacional, sonando tan bien es un poco "emocionante"... felicitaciones por el trabajo y gracias tambien a Uctumi por tanto talento componiendo con pocos bytes disponibles...
     

  • Ya las MSX y las Commodore pueden cantar el himno en feriados o reuniones retro.
    Ahora me tengo que hacer un programa para convertir mas facilmente desde midi o tracker.
     

Moderador (s): homecomputer, Selandari, pastbytes, El Griego, damian.worf, Durandal