Commodore manía

Commodore 64 => General => Mensaje iniciado por: pastbytes en Enero 14, 2012, 12:55:26

Título: Presentacion y nuevo programa para C64
Publicado por: pastbytes en Enero 14, 2012, 12:55:26
Saludos a todos desde Argentina, hacia unas semanas que intentaba registrarme, siguiendo una invitacion por parte de josepzin, pero por alguna razon no me aceptaba el registro. Como sea ya estoy aqui, estuve mirando un poco el foro y por lo que vi parece que no se estila aqui presentarse antes de publicar algo, pero por si acaso va presentacion y publicacion todo en uno.
Soy Jorge Castillo, uno de los administradores de retrocomputacion.com, mi usuario alla tambien es pastbytes, que viene de mi sitio pastbytes.com, bastante abandonado hace años pero que un dia de estos volvera a actualizarse, espero.
Se podria decir que soy coleccionista porque tengo unas cuantas maquinas (que en este sitio serian mas bien ordenadores), pero prefiero considerarme mas bien usuario, ya que si es una coleccion es mas por cantidad que por calidad, en el sentido de que me interesa mas probar distintas plataformas, software y accesorios que en su tiempo no pude, mas que tener algo inconseguible y guardarlo en caja cerrada sin haberlo usado nunca.
La primera maquina que vi en persona fue una TK85 (clon brasilero de 16K del ZX81), en una feria de ciencias cuando estaba en el ultimo año de la primaria, alla por 1985, fue impresionante ver corriendo un simulador de vuelo en una maquina que controlaba lo que se veia en el TV.  :o
Tal fue el impacto que tuvo en mi ese evento que al año siguiente me compraron un Commodore 64 (Drean 64C) y empece un curso de programacion BASIC, por suerte era el momento justo en el pais, 1986, cuando se podian comprar maquinas de Drean (todos clones de Commodore) a credito, junto con otras como las Talent MSX o Atari 800XL. Por suerte en el curso (que empece antes de tener una maquina) usaban C64s con disketeras 1541, y C128 con 1571 y monitor 1902, asi que termine eligiendo Commodore. En ese momento por las publicidades en las revistas K64 que empece a comprar, no me decidia entre C64 y Atari 800XL, menos mal que no elegi Atari, porque tal vez no hubiera llegado muy lejos.
De 1986 hasta 1991 fui usuario y programador de C64, ya en el ultimo año hacia todo en GEOS con mi 1541 que aun conservo aunque ya sin funcionar, e imprimia con una interfaz Centronics en mi Epson LX-810, no habia PC que pudiera competir contra un documento hecho combinando GeoWrite y GeoPaint. 8)
En 1992 se termino para mi el mundo C64 pero no por la compra de un PC, ya que nunca me llamaron la atencion, en lugar de eso tuve mi primer Amiga, un A2000 con flickerfixer, 1MB chip, 512K fast, reloj y monitor 1950, con eso no habia PC que pudiera competir. Si bien use PC (286) desde el 93 por cuestiones de trabajo (empece a programar PIC), recien compre un 486 en 1994 cuando lo necesitaba para la universidad, para correr Unix y Visual Basic, desde ahi use Amiga y PC en conjunto, conectados por RS232 o usando diskettes para intercambiar informacion.
Los ultimos 2 o 3 años de los 90s ya no estaba usando nada mas que PC, pero en el 2000 descubri la perdicion (ebay) y empece a comprar maquinas, programas y accesorios que siempre quise y no se me habia ocurrido que podria volver a encontrar. A partir de ahi es que volvi al C64 y tambien descubri plataformas que solo habia visto en revistas, asi que si bien mis maquinas preferidas son C64 y Amiga, y son sin duda las que mas uso y conozco, estoy bastante diversificado. Me parece que cada plataforma tiene algo interesante para destacar, y en los ultimos meses pude comprobarlo un poco mas en profundidad, ya que estuve convirtiendo un programa que hice a varios sistemas de 8 bits.
Bueno, terminada la presentacion un tanto extensa, les dejo el programa al que hacia referencia, un sintetizador de voz que use como experimento para darme el gusto de programar en distintas plataformas que habia usado poco y nada, empece con una version primitiva para C64 en BASIC, y como sonaba mejor de lo esperado, despues de un tiempo decidi hacer una version completa en ensamblador. Cuando tuve hecha esa version empece a convertirlo a sistemas con Z80, lo que me sirvio como excusa para aprender ensamblador de Z80, algo que de otro modo probablemente no hubiera ocurrido nunca.
El programa lo pueden encontrar aqui: http://www.pastbytes.com/apps/tav/ (http://www.pastbytes.com/apps/tav/)
Hay un enlace para descargar todas las versiones disponibles y algun manual que no esta del todo actualizado. El programa logicamente esta diseñado para el idioma castellano, aunque no para procesar la gramatica del lenguaje, hay que escribir mas bien foneticamente, eso esta explicado en el manual, donde sale una tabla con los comandos que se pueden usar para representar los fonemas.
La version para C64 viene en una imagen D64, que al arrancar carga el programa que se puede probar de inmediato ingresando texto, y va escribiendo los comandos a medida que se ejecutan. Ademas de esta version hay otra en el mismo disco, que consiste en dos partes, una en codigo maquina que debe cargarse con ,8,1 y se ubica a partir de la direccion 49152, y otra en BASIC que sirve de ejemplo de uso y cumple la misma funcion que el programa integrado. El que tiene la interfaz integrada se carga en el espacio del BASIC y por lo tanto no sirve para usarlo desde un programa BASIC, el que se carga en 49152 si puede ser usado desde BASIC, asignando un texto a la variable ZZ$ y llamando al programa con SYS 49152.
Los sonidos son generados digitalmente, algunos estan almacenados en memoria, otros generados por programa, y otros combinando ambos metodos, las primeras versiones eran "analogicas", es decir que usaban las voces del SID para generar los sonidos. Todo el programa esta hecho para ocupar menos de 4K, y como se carga fuera del area del BASIC, no le resta memoria de programa al usuario.
La pagina esta en construccion, asi que aun falta explicar todo el desarrollo desde que converti el programa a sonido digital, que es como funciona actualmente.
Título: Re:Presentacion y nuevo programa para C64
Publicado por: marcos64 en Enero 14, 2012, 16:05:17
Hola y bienvenido al foro!

Muy buena presentacion, me gustaria que todos los nuevos usuarios se presentaran tambien, en una buena forma de romper el hielo.

Es curioso la atraccion que tienen los sintetizadores de voz, al menos entre  los usuarios de los 80. Yo recibo cada cierto tiempo algun mensaje porque en mi web tengo el SAM, aunque sigo sin tener el manual completo ni en ingles ni la adaptacion al castellano.

Y eso me lleva a hacerte una pregunta pastbytes: Como te decidiste a crear el TAV existiendo el SAM?
Título: Re:Presentacion y nuevo programa para C64
Publicado por: pastbytes en Enero 14, 2012, 16:33:13
El programa es una conversion del sintetizador que hice con un microcontrolador PIC, pero es como dices, los sintetizadores de voz son muy atractivos para la gente, y para los que vivimos los 80s creo que mas aun. Para mi desde esa epoca fue como tecnologia inalcanzable asi que nunca se me ocurrio intentarlo hasta hace como 5 o 6 años cuando queria emitir sonido digital con un PIC. Empece de cero y tomo mucho tiempo terminarlo, interrumpi el desarrollo muchisimas veces en estos años, pero tuve la suerte de tener exito con los primeros sonidos que intente, lo que hizo que siguiera adelante. Si hubiera sabido lo complicado que era todo lo demas tal vez lo habria abandonado, el haberlo hecho cada tanto tambien ayudo a que no lo abandonara, porque cada vez que lo retomaba empezaba con ideas nuevas. El sintetizador corre en un chip y acepta texto por RS232, lo pense para conectarlo a C64 y otras maquinas, lo probe en C64 por el puerto del usuario y en un Spectrum con Interface 1 por RS232, ademas de en un PC y con un Epson HX-20 que tambien tiene RS232. Hay algunos videos de esas pruebas en http://www.pastbytes.com/apps/picsynth/ (http://www.pastbytes.com/apps/picsynth/) , el ultimo es de la placa y el programa mas reciente, que ya se controla por RS232 en tiempo real (habla a medida que recibe el texto).
Esa pagina ya esta desactualizada, en mi canal en youtube (http://www.youtube.com/pastbytes (http://www.youtube.com/pastbytes)) se pueden ver otros videos como la prueba desde C64, Spectrum y HX-20.
Como dije antes, hice unas pruebas sintetizando un par de palabras en BASIC de C64 y me sorprendio la calidad, pense que era imposible hacer algo que se pareciera a voz, pero funciono asi que despues probe en ensamblador. No pense que iba a sonar tan bien, habiendo pasado de sonido de 8 bits en el PIC de 20MHz a sonido de 4 bits en un 6510 de 1MHz, pero fue un desafio interesante. Hice todas las optimizaciones que pude para no pasarme de 4K, eso no era necesario pero hizo mas interesante el proyecto, y tuve que generar algunos sonidos de formas muy diferentes al programa original, para compensar la diferencia de velocidad y el limite en tamaño para el programa.
El SAM es un programa excelente, pero es muy grande y no esta pensado para castellano, aunque lo que mas me motivo es que pudiera tener la pantalla funcionando, ya que mostrando el texto mientras se habla se entiende mas, no solo por si algun sonido no es del todo inteligible, sino porque si son frases largas uno se olvida lo que ya escucho. Teniendo la pantalla funcionando el sintetizador pasa de ser una curiosidad a volverse un programa util (hasta despues que hice el programa no sabia que el SAM tambien tiene una opcion para dejar la pantalla habilitada).
Título: Re:Presentacion y nuevo programa para C64
Publicado por: marcos64 en Enero 14, 2012, 22:18:25
Asi que comenzaste con el proyecto hace 5 o 6 años. Lo comprendi mal en tu primer mensaje, creia que lo habias hecho en los 80.
Título: Re:Presentacion y nuevo programa para C64
Publicado por: pastbytes en Enero 15, 2012, 05:04:18
En realidad el proyecto ni siquiera tuvo que ver con C64, porque como dije lo empece en un microcontrolador, asi que el SAM no era lo que intentaba igualar, sino lo que habia disponible como chip de voz, que para el castellano eran chips (con voz natural) de mas de 100 euros. Para el idioma ingles sin embargo habia algunos chips de alrededor de 25 dolares para arriba, que se fabrican actualmente y estan implementados precisamente con microcontroladores PIC, pero de mas potencia que el que yo uso. Lo que yo queria era tener un chip aunque no fuera de voz natural sino con la clasica voz robotica, pero que estuviera en el rango de precios de los chips mas baratos en ingles, y de paso aprender lo que pudiera de la generacion de voz, de lo cual hay muy poco material para el castellano y mucho para el idioma ingles.
La conversion a C64 es muy reciente, de hace unos pocos meses, y fue interesante porque al haber tenido que trabajar con recursos aun mas limitados, me dio unas cuantas ideas para hacer otra version con un chip mucho mas modesto.
Título: Re:Presentacion y nuevo programa para C64
Publicado por: pastbytes en Enero 17, 2012, 09:38:21
Alguno tuvo oportunidad de probar el sintetizador?
Pensaba agregarle soporte en la siguiente version para algun sonido que haya quedado afuera, como la Z, tambien estoy haciendo una version en ingles, que no tiene mucho sentido en C64 donde ya existe el SAM, pero los sonidos sirven para cualquier version.
No tengo apuro para hacer la version 1.1 ya que por el momento no hay demasiado para agregar, por eso seria interesante que se pruebe lo mas posible y por gente de distintas zonas, porque algun sonido puede ir bien para algunos y mal para otros. Estoy considerando usar varias versiones de algunos fonemas que no se adaptan a todos los casos, eso serian alofonos, es decir variaciones de fonemas.
Y por cierto Marcos, estuve viendo tu sitio, es muy bueno, me descargue todo lo de C16/Plus4, habia algunos juegos que no conocia. Tengo un Plus/4 pero esta archivado en su caja, es algo que tengo pendiente de usar, si no se complica mucho voy a intentar hacer una version del sintetizador para C16, supongo que habran 4K libres para el programa, pero tengo que investigar un poco el TED todavia para ver como hago sonido digital.
Título: Re:Presentacion y nuevo programa para C64
Publicado por: marcos64 en Enero 17, 2012, 12:31:56
Ultimamente solo he usado el C16. Asi que todo lo nuevo para C64 esta sin probar, a excepcion del Canabalt.

Sinceramente no te aconsejo que hagas una version para C16 salvo que sea muy poco trabajo. Me explico, el punto debil del TED es su sonido, es realmente de muy baja calidad. Una pena porque el resto esta muy bien. Asi que vas a invertir tiempo en algo que no creo que de buen resultado. Pero bueno, tu eres el experto. Mirate las caracteristicas de sonido del TED y a ver que te parece.

Tengo unos cuantos juegos mas de PLUS/4 preparados para subir a mi web pero no encuentro el momento. Alguien sabe a donde puedo subirlos comprimidos en un ZIP de forma rapida y sencilla? Para C16/PLUS/4 hay muchos juegos, lo dificil es entresacar los poco buenos.
Título: Re:Presentacion y nuevo programa para C64
Publicado por: marcos64 en Enero 17, 2012, 12:47:51
Lo he probado superficialmente en el VICE. Suena un poco metalico pero me imagino que es debido al VICE, me pasa lo mismo con algunas demos. En cualquier caso esta muy bien.

Creo que deberias pasarte por CSDB:

http://noname.c64.org/csdb/ (http://noname.c64.org/csdb/)

Y publicar alli el programa. Todos los 'gurus' de C64 se pasan por ahi. Seguro que puedes conocer a gente con la que compartir conocimiento de algo tan especifico y tecnico como lo que has hecho. Eso si, siempre en ingles.

Título: Re:Presentacion y nuevo programa para C64
Publicado por: pastbytes en Enero 17, 2012, 15:04:56
Sinceramente no te aconsejo que hagas una version para C16 salvo que sea muy poco trabajo. Me explico, el punto debil del TED es su sonido, es realmente de muy baja calidad. Una pena porque el resto esta muy bien. Asi que vas a invertir tiempo en algo que no creo que de buen resultado. Pero bueno, tu eres el experto. Mirate las caracteristicas de sonido del TED y a ver que te parece.

No creo que cueste mucho adaptarlo a cualquier otro modelo de Commodore de 8 bits, lo que cambia principalmente es donde almacenar el programa y el "controlador" de sonido, es decir el codigo que tengo que escribir especialmente para traducir el sonido digital que genera el programa para que el chip emita sonido. Por lo que lei el TED permitiria generar sonido digital de 4 bits perfectamente, incluso mas facilmente que el SID.

Tengo unos cuantos juegos mas de PLUS/4 preparados para subir a mi web pero no encuentro el momento. Alguien sabe a donde puedo subirlos comprimidos en un ZIP de forma rapida y sencilla? Para C16/PLUS/4 hay muchos juegos, lo dificil es entresacar los poco buenos.

Desde hace años cada tanto buscaba juegos para Plus/4 que sean interesantes para probar, pero encontraba paquetes de muchos juegos que tenia que andar probando uno por uno, asi que terminaba aburriendome, incluso siendo que usaba el emulador que me facilitaba las cosas. Tambien vi sitios que mostraban alguna pantalla o descripcion pero tenia que andar mirando de a uno hasta encontrar algo interesante, por eso me parecio buena la seleccion esa, es facil tener una idea de lo que se trata. Lo que me di cuenta es que parece haber pocos que se destacan, en el sentido de que aprovechan los colores extra que no tiene el C64, vi unos cuantos buenos pero al menos por las pantallas no parecen ser nada que no pueda hacer un C64. Supongo que el hecho de que no aprovechen el sistema es que comercialmente les convenia hacer la mayoria de los juegos compatibles tambien con C16, y esto limitaba lo que se podia hacer.
Título: Re:Presentacion y nuevo programa para C64
Publicado por: pastbytes en Enero 29, 2012, 08:55:11
Estuve haciendo un experimento para un futuro sintetizador de voz que ademas permita cantar. Para evitar problemas de derechos de autor transcribi el himno nacional argentino, como para no ser menos que el SAM que canta el himno norteamericano.  ;D
Esto como dije es un experimento, a medida que lo completo me voy dando cuenta de los problemas con que me voy a encontrar cuando el programa permita el ingreso de comandos para el canto, y que tantos parametros tengo que contemplar para poder ejecutar la mayoria de las canciones.
No soy musico, y fui entendiendo como pasar de la partitura a los valores de tono y duracion a medida que iba avanzando en el tema, asi que con seguridad hay muchos errores porque todavia me falta entender un monton de cosas, pero como demostracion sirve.  ;)
El programa se puede descargar desde aqui: http://www.pastbytes.com/apps/tav/descargas.html (http://www.pastbytes.com/apps/tav/descargas.html)
(donde dice TAV64 Demo), o con el enlace directo:
http://www.pastbytes.com/apps/tav/tav64demo.zip (http://www.pastbytes.com/apps/tav/tav64demo.zip)
Me reportaron que solo imprimia el texto al arrancar y no sonaba nada, no sabemos si es un problema con los C64 europeos, con el SID2SID o con algun cartucho que tuviera instalado el C64 en ese momento. Si alguien mas puede probarlo en un C64 estandar nos vamos a enterar si es un problema con los modelos europeos o con alguna otra expansion. En Argentina no son muy comunes esos modelos, y no tengo ninguno para probar, el C64 que uso normalmente es NTSC, pero en el VICE funciona correctamente emulando un modelo PAL.
Título: Re:Presentacion y nuevo programa para C64
Publicado por: pastbytes en Marzo 04, 2012, 16:54:04
Breve actualizacion, el programa al parecer funciona correctamente en C64s europeos, y tambien vi que se puede convertir a C16 y Plus/4, aunque el TED tiene 8 niveles de volumen en vez de 16, lo que reduce la calidad, pero el codigo para emitir sonido digital es mas simple que en C64. Cuando tenga un tiempo voy a hacer alguna version, pero seguramente sera una para C16 y otra para Plus/4, para no complicarme la vida con el mapeado de memoria que no termino de entender del todo.
Título: Re:Presentacion y nuevo programa para C64
Publicado por: R. INTERNATIONAL en Marzo 05, 2012, 20:27:56
Lo he estado probando y Marcos quizas tiene razon en el sentido de que suena un tanto "metalico", pero es verdad que es un proyecto interesante, a mi estas cosas me parecen muy curiosas.
Si te interesa el tema de sonidillos, yo de Bombjack/Commodore (la Biblioteca de Alejandria) me baje todos los libros relacionados con Sonido e hice un trabajo de preservacion guapo, tecleando basicamente todos los Efectos de Audio que me encontre, para ser utilizados en juegos, si te interesa te los mando por correo.
Otra cosa, me encantaria tener algun efecto de voz guapo aislado para poder incluir en algun juego, imagino que todos recordareis el inolvidable: " ARRRGGHHH!!!!" en Misión Imposible en Commodore cuando el protagonista caía por alguno de los agujeros, no se si tu podrias aislar en algun mini, mini programa un efecto de este tipo para ser utilizado cuando el Personaje Principal es matado.

Un saludo.
Título: Re:Presentacion y nuevo programa para C64
Publicado por: R. INTERNATIONAL en Marzo 05, 2012, 20:36:58
LLevo 5 minutos metiendole combinaciones pero no consigo emular el Estremecedor Grito de Mision Imposible, así todo el Proyecto es Curioso, estas cosas siempre se agradecen!!!
Título: Re:Presentacion y nuevo programa para C64
Publicado por: pastbytes en Marzo 06, 2012, 22:10:28
Bueno, el programa es algo limitado porque no queria que robara mas de 4K de memoria, aun asi lo que mas me importaba es que se entendiera lo mejor posible dentro de esa limitacion, y que fuera practico de usar desde el BASIC. Algunas mejoras que vi posibles se solucionan en la version cantante, como la velocidad del habla y la posibilidad de tener 2 octavas para los tonos de voz, otras son para permitir un mejor uso en aplicaciones BASIC, como la posibilidad de que se interrumpa la reproduccion con alguna tecla, algo util en menues, para que al moverse en un menu vaya hablando cada opcion pero no espere a que termine antes de moverse a la siguiente opcion. Tambien se me ocurrio en agregarle un efecto de modulacion de amplitud que lo haria menos inteligible pero mas util para efectos en musica, por supuesto esto seria activable y desactivable.
En cuanto al efecto de sonido, tendria que ver que se puede hacer al respecto, ando con poco tiempo estos dias pero como poder se tiene que poder hacer, el tema es que tanto se pueda reducir el codigo y el sonido para que sea util.
Título: Re:Presentacion y nuevo programa para C64
Publicado por: pastbytes en Marzo 08, 2012, 11:39:43
Hablando de efectos de sonido, del baul de los recuerdos rescate este programa que hice hace un año para saber que tan posible era sintetizar voz en BASIC, resulto que aunque no se entendiera demasiado, es bastante posible.
El sonido esta todo hecho con POKEs y bucles FOR...NEXT, no se usa nada de codigo de maquina, termine sintetizando por lo menos la mitad de los fonemas del castellano, pero despues lo hice en ensamblador usando el mismo metodo, y por ultimo lo descarte y pase a sonido digital.
Título: Re:Presentacion y nuevo programa para C64
Publicado por: josepzin en Marzo 10, 2012, 18:10:39
pastbytes: que bueno ese ejemplo!!! :O justo hace unos días Rulas estaba intentado hacer esto mismo, aunque no sé si lo consiguió.

Recuerdo en mis inocentes tiempos intentando hacer esto mismo "a lo tonto" :D obviamente no llegué a nada... jeje
Título: Re:Presentacion y nuevo programa para C64
Publicado por: pastbytes en Marzo 11, 2012, 16:53:03
Esa prueba fue el genesis del proyecto TAV, no pense que se pudiera hacer voz en BASIC, asi que fue como un experimento no muy serio, pero me sorprendio como sonaba, de hecho el unico problema que tiene es que el BASIC es lento y tarda como 20 milisegundos en hacer lo que deberia hacer en alrededor de 9 milisegundos. Por eso experimente un poco mas y luego pase a ensamblador, pero en BASIC creo que tengo ademas de las vocales y la L, tambien la N, S, D y no se si alguna otra. El sintetizador analogico en ensamblador no sonaba para nada metalico, pero no tenia un sonido tan contundente, por eso pase a sonido digital, la gracia era que se entendiera, no que fuera sonido de alta fidelidad.
El sintetizador de donde viene todo esto (hecho con el chip) es digital, asi que la version actual de TAV es mas fiel al original, cuando empece a experimentar en C64 no pense que con sonido digital de 4 bits se pudiera hacer bien, por eso encontre un metodo analogico totalmente diferente pero con menos carga para el procesador. No es facil encontrar los valores adecuados para colocar en el SID, por ejemplo para hacer el fonema A, en mi sitio explique como obtuve los parametros a partir de un ciclo de la onda original digitalizada a 44KHz y 16 bits:
http://www.pastbytes.com/apps/tav/historia.html (http://www.pastbytes.com/apps/tav/historia.html)
Teniendo cualquier onda se puede descomponer en 2 o 3 ondas del SID que se pueden combinar para aproximar el sonido original, yo tengo la ventaja de que pase años obteniendo los fonemas como sonido digitalizado en buena calidad, asi que lo unico que me quedaba era sintetizarlo con ondas triangulares y ruido generados por el SID.
Título: Re:Presentacion y nuevo programa para C64
Publicado por: pastbytes en Marzo 31, 2012, 07:36:18
Hace unos dias publicamos en retrocomputacion el TAV64 convertido a extension del BASIC, modesta pero extension al fin. Ahora hay que cargar la extension, que agrega las instrucciones TAV, BORDER, PAPER y el comando HELP.
BORDER y PAPER funcionan como en Spectrum, para cambiar el color de borde y fondo respectivamente, TAV funciona de manera similar a la instruccion SAY del SAM, admitiendo cadenas literales, variables o expresiones, siempre y cuando devuelvan texto. El comando HELP muestra los creditos y un resumen del uso.
El programa se carga (en el caso de la disketera 8 ) con LOAD"TAV64BAS",8 y luego hay que ejecutarlo para instalar la extension al BASIC, esto agrega los comandos y mueve el programa debajo de la ROM del BASIC, por lo que la extension resta alrededor de 500 bytes a la zona de programas BASIC, para la entrada a las rutinas.
En la imagen .D64 se incluyo ademas una version del famoso Eliza, adaptado para que hable, debe cargarse una vez instalada la extension anterior. Esta version originalmente se publico en un fasciculo de la enciclopedia Mi Computer.
La imagen se encuentra en este tema del foro:
http://www.retrocomputacion.com/e107_plugins/forum/forum_viewtopic.php?66985 (http://www.retrocomputacion.com/e107_plugins/forum/forum_viewtopic.php?66985)
Ahi tambien esta el codigo del programa BASIC para el que quiera modificarlo.
O$ es la cadena que se imprime, OT$ es la cadena que se habla, y en la linea 300 es donde se llama al sintetizador de voz, con la instruccion TAV.
Título: Re:Presentacion y nuevo programa para C64
Publicado por: pastbytes en Marzo 18, 2013, 07:26:26
Bueno, esto no esta tan relacionado a este tema, pero antes que empezar uno nuevo lo pongo aca por si a alguien le interesa.
Hace un año, despues de implementar los sintetizadores de voz por soft para varias maquinas, incluyendo Commodore 64, empece a hacer experimentos para que pudiera cantar, y antes de hacer una nueva version decidi volver al proyecto original con un microcontrolador PIC, para poder experimentar mejor y cuando estuviera funcionando poder hacer otra reimplementacion por soft en plataformas de 8 bits.
Llevo mucho tiempo pero ya esta una version casi final, me tendria que armar otra placa para conectarlo al C64, pero creo que eso va a esperar porque por aca los conectores para el puerto del usuario son dificiles de conseguir y muy caros, por lo que estoy analizando otras formas de conexion. Habia pensado conectarlo por el puerto de cartuchos, pero saldria caro porque habria que incluir una extension para seguir usando un fast load por ejemplo, y puede que de conflictos con algunos cartuchos. Hasta el momento parece ser que la mejor opcion es convertir la placa en un dispositivo IEC, para que se conecte como se haria por ejemplo con una impresora, lo que haria que fuera facil de utilizar y de armar.
Por ahora a lo unico que puede conectarse es a cualquier cosa que tenga RS232 y soporte 1200 bps, como un C64 o Plus/4 con la adaptacion a RS232. Se supone que en el futuro tambien va a tener funciones de chip de sonido, por lo que seria una expansion de voz y sonido para usar en juegos y otras aplicaciones.
Como sea, aca hay dos videos que hice probando el chip desde un PC a traves de un programa emulador de terminal:
Prueba 1:  Sintetizador de voz con PIC16F648A, version 4 (2013) (http://www.youtube.com/watch?v=h2DKORl6hak#)
Prueba 2:  Sintetizador de voz HR4 (2013) - Parte 2 (http://www.youtube.com/watch?v=YVDSw3bjCP4#)
Título: Re:Presentacion y nuevo programa para C64
Publicado por: Zonacas en Marzo 18, 2013, 08:00:56
Muy Bueno :)
Título: Re:Presentacion y nuevo programa para C64
Publicado por: josepzin en Marzo 18, 2013, 09:40:35
Se nota que te diviertes :D

La verdad es que me pierdo con el tema pero el video es muy entretenido, sobre todo la "conversación" que mantienen tus voces y cuando cantan :)

tendria que armar otra placa para conectarlo al C64, pero creo que eso va a esperar porque por aca los conectores para el puerto del usuario son dificiles de conseguir y muy caros,
¿Que conectores son esos? en España se consiguen o son mas baratos??
Título: Re:Presentacion y nuevo programa para C64
Publicado por: pastbytes en Marzo 18, 2013, 09:50:41
No se como se llaman esos conectores, pero en el pais no hay, salvo algun que otro remanente limitado y por los que piden mas de lo que vale el PIC y el resto de los componentes. Lo mejor es que sea un dispositivo IEC, pero me complica el programa.
Para aventuras conversacionales tendria que andar muy bien, con voz por el PIC y sonido ambiental por el SID.
Me tienen que mandar uno para hacerme otra placa, pero el problema no es ese sino que cualquiera lo consiga y ese no es el caso, asi que ya descarte conectarlo al puerto del usuario.
Título: Re:Presentacion y nuevo programa para C64
Publicado por: josepzin en Marzo 18, 2013, 09:55:15
Si los encontras por internet en España avisame y te los puedo llevar. No creo que eso ocupe mucho!
Título: Re:Presentacion y nuevo programa para C64
Publicado por: pastbytes en Marzo 18, 2013, 09:56:17
Vas a venir a Argentina?
Título: Re:Presentacion y nuevo programa para C64
Publicado por: josepzin en Marzo 18, 2013, 09:57:04
Si, tengo viaje en par de meses, creo
Título: Re:Presentacion y nuevo programa para C64
Publicado por: josepzin en Marzo 18, 2013, 09:59:24
Creo que podrías preguntarles a los de http://www.retrocables.es (http://www.retrocables.es) o http://amigastore.eu (http://amigastore.eu) si tienen ese enchufe

¿Es algo asi? http://www.retrocables.es/product.php?id_product=108 (http://www.retrocables.es/product.php?id_product=108)
Título: Re:Presentacion y nuevo programa para C64
Publicado por: pastbytes en Marzo 18, 2013, 10:05:03
Si, ese es el conector, mas las tapas y un boton de reset, no esta mal porque ahi dentro se puede armar el circuito y queda cerrado. Yo le estoy por armar a alguien uno asi, me manda el reset y le agrego el chip adentro.
Título: Re:Presentacion y nuevo programa para C64
Publicado por: pastbytes en Marzo 18, 2013, 10:08:33
Yo estoy lejos de Buenos Aires pero por ahi algo se pueda coordinar para que tengas una placa para probar.
Título: Re:Presentacion y nuevo programa para C64
Publicado por: pastbytes en Marzo 18, 2013, 10:17:35
Me olvidaba, lo que se envia al PIC para que hable lo del primer video es esto:

Citar
(v30)(n20r06)
salu+dos,komunida+d de retrokomputasio+n.esta+n eskucha+ndo labersio+n  kua+tro delsintetisado+r debo+s  kon pi+k
diesise+i-s.
e+sta bersio+n impleme+nta un nue+bo algor2i+tmo,ke'jene+r2a labo+s  emitie+ndo u+na- o+nda ba+se, la ku+al e+s
modula+da en amplitu+d,por u+na- o+nda enbolbe+nte,defrekue+nsia- eskala+ble-.
lafrekue+nsia dela enbolbe+nte,pue+de- ajusta+rse pa+r2a koresponde+r a kualkie+r semito+no (n10r03)de+sde la no+ta
do+,de-la-okta+ba u+no,(n40r18)a+sta la no+ta do+,de-la-okta+ba  kua+tro-.
(v26)(n20r06)pode+mos proba+r ko-nla-s no+tas musika+l(n30r0c)es.
(v30)por supue+sto-;
(n10r0a)do (n12)re (n14r04)m(r0a)i (n15)fa (n17)so(r03)l (n19)l(r0a)a (n1B)si,
(n20r14)do (n22)re (n24r08)m(r14)i (n25)fa (n27)so(r06)l (n29)l(r14)a (n2B)si,
(n30r28)do (n32)re (n34r10)m(r28)i (n35)fa (n37)so(r0c)l (n39)l(r28)a (n3B)si,
(n40r50)do.
(n20r06)
(v26)inter2esa+nte,shotambie+n bo+i-a- proba+r;
(n10r0a)do (n12)re (n14r04)m(r0a)i (n15)fa (n17)so(r03)l (n19)l(r0a)a (n1B)si,
(n20r14)do (n22)re (n24r08)m(r14)i (n25)fa (n27)so(r06)l (n29)l(r14)a (n2B)si,
(n30r28)do (n32)re (n34r10)m(r28)i (n35)fa (n37)so(r0c)l (n39)l(r28)a (n3B)si,
(n40r50)do.
(n20r06)
po-rfabo+r,kontinu+a-.
(v30)
e+ste progra+ma esta+ implementa+do usa+ndo un pi+k diesise+is e+fe se+is kuar2e+ntaio+cho'a+,i resi+be los koma+ndos
a mildos'sie+ntos bi+ts po-rsegu+ndo,por me+dio de u+na koneksio+n se+r2ie-.
e-lsoni+do emiti+do es'dijita+l,ko-nu+na kalida+d'de-o+cho-bi+ts de-resolusio+n,a-u+na frekue+nsia de-muestre+o  de-o+cho
ko+ma-se+is kiloje-rts.
(v26)itambie+n se-pue+de kant(n30r0c)a+r.
(v30)(n20r06)si+,probe+mo-s.
(n26r24)O(n27r21)ID(r0c)M(n28r16)ORT(n29r4a)A(r0c)L(r34)ES
(n2ar0e)E(r0c)LGR(n2ar1d)I(n29r16)IT(n28r31)OS(n27r0f)AGR(n26r5f)A(n23r1f)AD(n22r19)O.
(v26)
(r0c)L(n23r28)IB(n26r07)ERT(n25r36)AD(r0c)L(r2d)IB(n27r07)ERT(n26r39)AD(r0c)L(n27r32)IB(n28r08)ERT(n29r44)AD.

(v26n20r06)
bie+n,do+nde-se-pue+de-enkontrar informasio+n sobre-el proshe+kt(n30r0c)o.
(v30n20r06)
pa+r2a ma+s informasio+n,ingre+sen a-l si+tio del proshe+kto,e-n
do+ble-be+ do+ble-be+ do+ble-be+  pu+nto-  pastba+its  pu+nto ko-m.
(v26)
o- al fo+r2o de- proshe+ktos en retrokomputasio+n  pu+nto ko-m./0
Título: Re:Presentacion y nuevo programa para C64
Publicado por: pastbytes en Marzo 18, 2013, 10:22:21
Y en el segundo video se envia esto:

Citar
(v30n20r06)
e+ste- es uneje+mplo de ko+mo- los koma+ndo-s deasentuasio+n i-de to+no- debo+s  pue+de-n kambia+r la-bo+s pa+r2a- ase+rla- masnatur2a+l  o-ma-s robo+tika-.
probe+mo-s prime+r2o- konbo+s asentua+da-.
(v26n20r06)
le+shes de-la-robo+tika-.
u-n robo+t no-pue+de a-ser da+nio a-un se+r uma+no-  o,po-r inaksio+n,permiti+r ke-un'se+r uma+no su+fra-'da+nio-.
u-n robo+t d+ebe- obedese+r la-so+rdene-s da+das po-r lo-s'se+r2e-s uma+no-s,ekse+pto si-e+sta-s o+rdene-s entra+se-n enkonfli+kto- ko-nla prime+r2a-le+i-.
u-n robo+t d+ebe proteje+r su-pro+pia- eksiste+nsia-,e-nla-medi+da- e+nke- e+sta- proteksio+n  no-e+ntre- enkonfli+kto- ko-nla prime+r2a-  o-la-segu+nda-le+i-.
.
(v30n20r06)
i-ao+r2a probe+mo-s konbo+s robo+tika-,si-n ase+nto-s i-kon to+no-sdebo+s  ma-s agu+do-s.

(v30n20r06)
leshes de la robotika.
(v36)
un robot no puede aser danio a un ser umano o,por inaksion,permitir ke un ser umano sufra danio.
(n26r09)
un robot debe obedeser las ordenes dadas por los ser2es humanos,eksepto si estas ordenes entrasen en konflikto kon la primer2a lei.
(n30r0c)
un robot debe protejer su propia eksistensia en la medida en ke esta proteksion no entre en konflikto kon la primer2a o la segunda lei.

(v30n20r06)
tambie+n pode+mos ase+r efe+ktos  deja+ndo u+na no+ta fi+ja  mie+ntras bar2ia+mos el to+no ba+se de-labo+s,
ene+ste-ka+so,emitie+ndo- lasboka+le-s.

(n20r05)
(v10)a(v11)a(v12)a(v13)a(v14)a(v15)a(v16)a(v17)a(v18)a(v19)a(v1a)a(v1b)a
(v20)a(v21)a(v22)a(v23)a(v24)a(v25)a(v26)a(v27)a(v28)a(v29)a(v2a)a(v2b)a
(v30)a(v31)a(v32)a(v33)a(v34)a(v35)a(v36)a(v37)a(v38)a(v39)a(v3a)a(v3b)a(v40)a
(v10)e(v11)e(v12)e(v13)e(v14)e(v15)e(v16)e(v17)e(v18)e(v19)e(v1a)e(v1b)e
(v20)e(v21)e(v22)e(v23)e(v24)e(v25)e(v26)e(v27)e(v28)e(v29)e(v2a)e(v2b)e
(v30)e(v31)e(v32)e(v33)e(v34)e(v35)e(v36)e(v37)e(v38)e(v39)e(v3a)e(v3b)e(v40)e
(v10)i(v11)i(v12)i(v13)i(v14)i(v15)i(v16)i(v17)i(v18)i(v19)i(v1a)i(v1b)i
(v20)i(v21)i(v22)i(v23)i(v24)i(v25)i(v26)i(v27)i(v28)i(v29)i(v2a)i(v2b)i
(v30)i(v31)i(v32)i(v33)i(v34)i(v35)i(v36)i(v37)i(v38)i(v39)i(v3a)i(v3b)i(v40)i
(v10)o(v11)o(v12)o(v13)o(v14)o(v15)o(v16)o(v17)o(v18)o(v19)o(v1a)o(v1b)o
(v20)o(v21)o(v22)o(v23)o(v24)o(v25)o(v26)o(v27)o(v28)o(v29)o(v2a)o(v2b)o
(v30)o(v31)o(v32)o(v33)o(v34)o(v35)o(v36)o(v37)o(v38)o(v39)o(v3a)o(v3b)o(v40)o
(v10)u(v11)u(v12)u(v13)u(v14)u(v15)u(v16)u(v17)u(v18)u(v19)u(v1a)u(v1b)u
(v20)u(v21)u(v22)u(v23)u(v24)u(v25)u(v26)u(v27)u(v28)u(v29)u(v2a)u(v2b)u
(v30)u(v31)u(v32)u(v33)u(v34)u(v35)u(v36)u(v37)u(v38)u(v39)u(v3a)u(v3b)u(v40)u
.
Título: Re:Presentacion y nuevo programa para C64
Publicado por: pastbytes en Marzo 18, 2013, 10:23:10
Citar
(v30n20r06)
tambie+n pode+mos konta+r.
(v26n20r06)
/1;die+s;nue+be;o+cho;sie+te;se+is;si+nko;kua+tro;tre+s;do+s;u+no;se+r2o-;/0.
(v30n20r06)
o-emiti+r u-nsoni+do- de- ero+r./2/2.
o-usa+r la-sboka+les pa+r2a-ase+r  melodi+as.
(v30)
(N12R04)O(N17R08)O,
(N15R04)O(N1AR09)O,
(N17R04)O(N20R23)O   

(N12R04)O(N17R08)O,
(N15R04)O(N1AR09)O,
(N18R04)O(N21R09)O
(N17R04)O(N20R23)O.
(v26)
(N19R06)O'(N17R04)O'(N14R0A)O',(R0A)O, O, ;
(R04)O'(R0A)O'(R0A)O'(N17R0B)O'(N14R04)O'(N19R0B)O;,  '
(N19R06)O'(N17R04)O'(N14R0A)O',(R0A)O, O, ;
(R04)O'(R0A)O'(R0A)O'(N17R0B)O'(N14R04)O'(N19R0B)O;,  '
(v30)
(N39R18)O(N38)O(N39)O(N38)O(N39)O(N38)O(N34)O(N2B)OO,
(N34R10)O'(N34)O  (N34)O'(N34)O  (N34)O'(N34)O  (N34)O'(N34)O  (N34)OO(N3B)OOOO,
.
(v30n20r06)
o-usa+r la-skonsona+ntes pa+r2a-ase+r  efe+kto-s.

P TS  P TS  P TS  P TS  P TS  P TS  P TS  P TS  P TS  P TS  P TS  P TS  P TS  P TS  P TS 
R   R   R   R   R   R   R   R   R   R   R  R  R  R  R  R  R  R  R R R R R R R R R R R RR RR RR RR RR RR RR RR RR RR RR RR RRR RRR RRR RRR RRR RRR RRR RRR RRR RRRRRRRRRRRRRRRRRRRRRRRRRRR
F   F   F   F   F   F   F   F   F   F   F  F  F  F  F  F  F  F  F F F F F F F F F F F FFFFFFFFFFFFFFFFFFFFFFFF
P   P   P   P   P   P   P   P   P   P   P  P  P  P  P  P  P  P  P P P P P P P P P P P PPPPPPPPPPPPPPPPPPPPPPPP
.
(v36)
fin de la demostrasion

Lo puse en dos partes porque parece que es demasiado largo para el foro y no dejaba publicarlo.
Título: Re:Presentacion y nuevo programa para C64
Publicado por: rajahtavaa_energiaa en Marzo 18, 2013, 23:19:24
Tienes que hacer escribir foneticamente como "say" de workbench 1.3?

Solo soportaba ingles y las letras como ö ä å no las hacia caso.
Título: Re:Presentacion y nuevo programa para C64
Publicado por: pastbytes en Marzo 19, 2013, 06:45:14
Si, se escribe foneticamente porque la forma de pronunciar varia segun el pais o incluso la region, por eso no quise atarlo a ninguna pronunciacion particular. Le falta algun sonido, como la Z, aqui donde estoy se pronuncia como S y por eso no esta implementada, pero la tengo que agregar, tambien solamente esta implementado el sonido B y no V, que diferencia hay no se porque aqui tampoco la hay. Son detalles que deje para resolver para cuando tuviera algo casi final como la version actual.
Los fonemas soportados son A E I O U B CH D F G J K L M N P R R2 S T SH, la G solo funciona como en "gato", no como en "general", para esa ultima tiene que usarse J. La RR se escribe R porque es el sonido mas comun, para la R suave se usa R2, podria haber usado RR y R, pero ya que RR es tan comun se terminaria escribiendo demasiado. Tambien se soporta entonacion con dos comandos, los acentos se hacen agregando un + despues de las vocales, y en la ultima silaba de una oracion se puede usar un - despues de una vocal para bajarle el tono, ya que eso hace uno cuando habla, sino suena como frase sin terminar. Para hacer voz robotica justamente no se pone nada de eso y suena siempre en el mismo tono.
Título: Re:Presentacion y nuevo programa para C64
Publicado por: pastbytes en Octubre 03, 2013, 08:01:58
Para no abrir un nuevo tema, y como por el momento no tiene mucho que ver con Commodore, actualizo aca el estado del proyecto del sintetizador por hard. En estos meses hubo bastantes avances, lo primero es que complete el sintetizador de voz, agregue jumpers de configuracion para que pueda conectarse por RS232 a 4 velocidades distintas: 1200, 9600, 19200 y 57600 bps. Tambien ahora el eco de lo recibido se puede deshabilitar con un jumper, ya que es util solamente en el caso de controlar el chip desde una terminal, y agregue otro jumper para poder deshabilitar el mensaje de arranque, tanto hablado como de texto, lo que hace que se pueda integrar dentro de otros proyectos.
El cambio mas importante en estos meses fue que pude agregar tanto un generador de ruido como uno de sonido, con varios instrumentos incluidos. El sonido sigue siendo monofonico, pero se puede generar tanto voz como sonido en las octavas 0 a 5, aunque para la voz no tiene mucho sentido fuera de las octavas 1 a 3. Las ondas que se pueden usar para generar sonido son: bajo, organo, guitarra electrica, y una cuarta onda que es definible por el usuario, pero viene precargada con la definicion de una onda cuadrada. Ese ultimo instrumento se reproduce desde la RAM del chip, y se puede definir con una secuencia de 66 bytes que representan la tabla de ondas del sonido, que se puede enviar en cualquier momento mediante un comando.
Ademas de los instrumentos se dispone de un generador de ruido, que igual que el generador de sonido permite controlar la frecuencia por notas musicales, en el caso del ruido se puede ajustar en 3 octavas, en el caso del sonido en 6. Tanto al ruido como al sonido se le puede asignar envolventes, tambien de duracion/frecuencia programable, con 4 formas de onda distintas (triangular, diente de sierra descendente, diente de sierra ascendente, y onda definida por el usuario) y en dos modos posibles: envolvente ciclica (se repite continuamente mientras dure el sonido), o envolvente unica (se reproduce una unica vez).
Todavia no hice una prueba en Commodore 64, ya que como siempre probaba todo primero ahi, esta vez decidi empezar por otras plataformas. La primera prueba la hice en mi CZ Spectrum con Interface 1, que incorpora RS232. Este es el video, donde se puede ver tambien un par de fotos de la placa conectada:

Demo de sintetizador HR4 en CZ Spectrum 48K
 (http://www.youtube.com/watch?v=Au8V4iX4EPg#)

La segunda prueba la hice conectando el sintetizador directamente al puerto de joystick en MSX, usando una rutina que simula una transmision RS232 a niveles TTL, por lo cual el circuito se simplifica bastante, al no tener que usar un MAX232 para adaptar los voltajes. La rutina de transmision se llama directamente desde el BASIC pasandole una cadena como parametro, por lo que es facil adaptar un programa para que soporte al sintetizador.
Para la prueba modifique un juego en BASIC y le agregue voz y sonido, no es una prueba muy espectacular pero sirve para darse una idea de como se usaria en un programa mas elaborado. El juego usaba la orden PLAY para emitir el sonido, que en MSX toca una secuencia como "tarea de fondo", y se puede consultar tambien desde BASIC el estado de la reproduccion para saber cuando se completo la secuencia. Para hacer lo mismo con el sintetizador, le tuve que conectar la salida PLAYING del chip a una entrada del puerto de joystick, de forma que con la orden STICK (que chequea el estado del joystick) se puede saber si se termino de reproducir la secuencia enviada. De esta manera, adaptar juegos de MSXBASIC cambiando de PLAY al sintetizador es bastante simple, con la salvedad de que el sintetizador es monofonico y el AY-3-8910 tiene 3 canales de sonido. Tambien probe el comando para detener la secuencia inmediatamente y borrar el buffer, lo que es util por ejemplo al recorrer un menu, como se puede apreciar en el video:

Demo de sintetizador HR4 en MSX
 (http://www.youtube.com/watch?v=DWPktgs_d4A#)

Aca se puede ver la placa conectada:

(http://www.retrocomputacion.com/e107_files/public/1380099565_75_FT59536_epsn3483s.jpg)

(http://www.retrocomputacion.com/e107_files/public/1380099565_75_FT59536_epsn3484s.jpg)

Los dos videos los hice capturando la salida de video compuesto de cada maquina y la salida de sonido del sintetizador.
En Commodore quiero hacer alguna prueba en C64, otra en Plus/4, y una ultima en C128 en modo 128, en principio usando el puerto del usuario, que para RS232 es compatible en los tres modelos por lo que se usaria la misma placa, pero en Plus/4 se pueden obtener velocidades de hasta 19200 bps, mientras que en C64/128 se usaria 1200 bps.
Ademas de esto ya hice un manual preliminar que ni tiempo tuve de revisar, y se puede descargar aqui: http://www.pastbytes.com/apps/picsynth/ManualHR4.zip (http://www.pastbytes.com/apps/picsynth/ManualHR4.zip)
El circuito para MSX es este:

(http://www.retrocomputacion.com/e107_files/public/1380685969_75_FT84787_picsynthmsx1.gif)

El puerto en MSX es diferente que en Commodore, pero seguramente se puede hacer algo similar, todavia no se si es mejor conectar el chip por un puerto de joystick o usar el puerto del usuario. Lo mas practico seria el puerto del usuario, pero conseguir los conectores no es tan facil, al menos por aca, vi que los venden en ebay a 75 dolares por 100 conectores, lo que es un muy buen precio, pero no creo que la aduana deje entrar 100 conectores sin tomarlo como una importacion comercial. Por esta razon puede convenir mas usar el puerto de joystick, pero tambien es una complicacion tener que andar conectando y desconectando la placa.
Por ultimo, para ayudar a probar en tiempo real las funciones del sintetizador, y para generar secuencias simples, hice un programa para Windows, que tiene esta interfaz:

(http://www.retrocomputacion.com/e107_files/public/1379605913_75_FT59536_picsynthctrl6.gif)

Aca se puede ver un video de una de las primeras versiones, mucho mas simple, de cuando el chip no tenia generador de ruido y sonido:

Sintetizador de voz HR4 (2013) - Beta 1
 (http://www.youtube.com/watch?v=07YvGq6VT10#)

Estuve buscando alguna aventura conversacional que no fuera muy complicada de modificar, pero por lo visto no hay nada que sirva, ya que para poder hacer una prueba rapida deberia cumplir demasiadas condiciones, como que deberia estar en BASIC en lo posible y no ser un programa muy largo, porque hay que duplicar la cantidad de texto almacenado (el texto original para pantalla y el texto fonetico para la voz). Me parece que va a ser mas practico hacer o modificar algun juego simple, ya que no pretendo pasarme meses desarrollando un juego si la intencion es solamente probar el chip.
Título: Re:Presentacion y nuevo programa para C64
Publicado por: Jeff en Octubre 03, 2013, 09:44:01
R Tape Loading error
Título: Re:Presentacion y nuevo programa para C64
Publicado por: marcos64 en Octubre 05, 2013, 09:09:27
Curioso que ultimamente haya varios proyectos de sintetizadores de voz. Y se suelen conectar por el puerto RS232. Por que? Es una pena que no se conecten al puerto de expansion porque supongo que no funcionarar con los juegos que soportan el MAgic Voice.
Título: Re:Presentacion y nuevo programa para C64
Publicado por: pastbytes en Octubre 06, 2013, 00:26:23
Aca donde estoy no se consiguen conectores para el puerto del usuario, por lo cual mire varias formas de conectarlo, entre ellas el puerto de expansion. El puerto dispone de dos lineas especiales para direccionar un espacio libre de E/S, y este sintetizador usa RS232 porque tiene mas posibilidades de conexion, pero bien podria conectarse a un puerto paralelo o a un bus de procesador. Pero hay varios inconvenientes, el primero es que para conectarse a un bus se necesita un PIC de 40 pines que trae incorporada esa interfaz, el costo no es mucho mayor, pero queda un monton de hard desperdiciado en el PIC, por lo cual es un proyecto mas avanzado que pienso realizar mas adelante, agregando timers, conversor A/D, señales digitales de E/S, y lo que se pueda aprovechar del PIC.
El otro problema, que aqui es muy importante aunque no tanto en Europa, es que por aqui casi todo el que tiene Commodore tiene disketera, y alguna version de Fast Load, esto hace complicado usar el puerto de expansion, porque el uso de ese espacio de E/S (creo que hay 2) depende de cada cartucho, habria que investigar bastante y agregar una continuacion del conector para que pudiera ser transparente para los cartuchos mas comunes.
En cuanto al Magic Voice, no conozco que chip que usa, pero aunque pudiera conectarlo de la misma manera no tendria el mismo sintetizador. Yo no pretendo aprovechar soft existente, ya que debe ser muy poco, lo que quiero hacer es una plataforma de sonido que se programe igual en cualquier ordenador al que se conecte, ya que no es un chip de sonido sino mas como un coprocesador, ejecuta sus propios comandos y controla sus propios tiempos. Mi idea es terminar de pulir un poco el codigo de los sintetizadores por soft, que tienen comandos compatibles con este por hard, y liberar ese codigo, de esa manera se pueden hacer juegos que tengan voz, si tienen un chip conectado tendran mas capacidades, sino pueden cargar la version por soft y tener la voz basica.
Mi desarrollo va mas alla de Commodore o incluso los ordenadores de 8 bits, ademas en algun momento habra una version de 4 canales y con mejores capacidades para cargar tablas de onda en RAM, limitarse a reemplazar un sintetizador de voz de los 80s no me convence, ademas supongo que seria mas apto para el ingles. En algun momento mi sintetizador va a soportar tambien ingles, pero la verdad es que ahora no es mi prioridad, prefiero hacer desarrollos en español.
Título: Re:Presentacion y nuevo programa para C64
Publicado por: pastbytes en Octubre 07, 2013, 19:01:35
Despues de poco mas de 2 años volvi a armar una placa para Commodore, esta vez con el circuito y el firmware actualizado, aca hay un par de fotos:

(http://www.retrocomputacion.com/e107_files/public/1381164769_75_FT59124_epsn3488s.jpg)

(http://www.retrocomputacion.com/e107_files/public/1381164769_75_FT59124_epsn3489s.jpg)

Probe el sintetizador desde BASIC en C64 y anduvo perfecto, luego hice una prueba en Plus/4, y aunque tuve que andar probando distintas configuraciones del comando OPEN, porque no es 100% igual al de C64, al final salio andando.
Título: Re:Presentacion y nuevo programa para C64
Publicado por: josepzin en Octubre 07, 2013, 19:21:38
Tendrías que hacer un video donde se ve funcionando :)

Para los conectores, si compras minimo mil puedes encontrar algo aqui  http://www.alibaba.com/countrysearch/CN/conectores.html (http://www.alibaba.com/countrysearch/CN/conectores.html) :P
Título: Re:Presentacion y nuevo programa para C64
Publicado por: pastbytes en Octubre 07, 2013, 19:29:54
Si, ya voy a hacer algun video, pero estuve horas armando eso y peleando con el BASIC, se me acabo la energia para filmar y editar.
Por suerte mi C64 y mi Plus/4 son NTSC, igual que mi filmadora, asi que no va a haber problemas con el parpadeo de la imagen.
Título: Re:Presentacion y nuevo programa para C64
Publicado por: pastbytes en Octubre 08, 2013, 01:49:45
Subi un video probando el sintetizador directamente desde el BASIC de Plus/4 usando PRINT#, para C64/128 es igual, los cambios estan en la instruccion OPEN que usa unos parametros ligeramente distintos.

Prueba de sintetizador HR4 en Commodore Plus/4 (http://www.youtube.com/watch?v=fRcWwOmL4T0#)
Título: Re:Presentacion y nuevo programa para C64
Publicado por: josepzin en Diciembre 21, 2014, 17:25:14
Le podes enviar esa plaquita al Stephen Hawkings, que creo usa un procesador de voz de los 80s!
Título: Re:Presentacion y nuevo programa para C64
Publicado por: pastbytes en Enero 15, 2015, 02:16:33
Despues de las pruebas con el C128 modifique ligeramente el circuito para que el Commodore pueda saber cuando se termina de reproducir el sonido y asi el video se pueda sincronizar con el audio. Tambien habia un error en el esquema de conexion, en la parte del 7404 que se usa para invertir la linea CTS, y agregue una nueva conexion a DSR solo por si acaso el C128 lo usa en lugar de CTS.
Este es el nuevo plano de conexion:

(http://retroinvaders.com/commodoremania/foro/index.php?action=dlattach;topic=576.0;attach=1380;image)

De paso pregunto, ya que puede ser que alguien en España pueda vender estos chips, por mas o menos lo que cuesta cada PIC y el envio, hay alguien que tenga interes en algun chip para armarse alguna placa?
El precio no lo se, dependera de a cuanto consiga los PICs esta persona, yo con esto no gano nada pero no quiero liberar el codigo del programa, por eso tendrian que comprar los PICs grabados. Tampoco tengo confirmado todo esto pero pregunto para saber si realmente hay gente que este interesada en el futuro en comprar alguno.
Lo que no podemos hacer es armar placas, el que tenga un chip de estos tendra que armarse la placa que necesite, RS232, C64-128-Plus/4, MSX.
Título: Re:Presentacion y nuevo programa para C64
Publicado por: pastbytes en Enero 16, 2015, 07:55:39
Estuve mirando los precios de los PIC en Argentina, a mi me costaba hace 2 meses el PIC16F648A en dolares 5,32 por unidad. Segun me dijeron, en Valencia estaba un poco mas caro, pero estimo que se puede llegar a tener un sintetizador de voz/musica/ruido por alrededor de 10 o 15 euros, entre PIC, cristal, 7404 y el resto de componentes que no son caros. Lo unico complicado de conseguir es el conector para el puerto del usuario.
Me queda probar uno de estos dias la conexion compatible con el cable UP9600, que permitiria usar el chip en ensamblador casi sin consumo de procesador, por usar el puerto serie por hard de la CIA en lugar de las rutinas de la ROM que temporizan por software. Lo malo de usar este modo es que el cableado ya no seria compatible con el Plus/4, pero como soy el unico usuario con Plus/4 no se pierde mucho.  ;D
Título: Re:Presentacion y nuevo programa para C64
Publicado por: josepzin en Enero 16, 2015, 12:42:46
Quizás el único usuario en Argentina, pero en España y de este foro seguro hay varios!
Título: Re:Presentacion y nuevo programa para C64
Publicado por: pastbytes en Enero 16, 2015, 13:13:26
Me referia a usuarios que tuvieran Plus/4 y un modulo de voz de estos, solo yo lo uso en Plus/4, el resto en C64/128, MSX o Spectrum.
Por aca tambien hay unos cuantos con Plus/4.