Autor Tema: Presentacion y nuevo programa para C64  (Leído 26117 veces)

pastbytes

  • Desarrolladores
  • Commodore Master
  • ******
  • Mensajes: 556
  • SYS 0
    • Ver Perfil
Presentacion y nuevo programa para C64
« 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/
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.

marcos64

  • Commodore Master
  • *****
  • Mensajes: 2970
    • Ver Perfil
    • http://marcos64.orgfree.com/
Re:Presentacion y nuevo programa para C64
« Respuesta #1 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?
http://marcos64.orgfree.com/
Actualizacion 22/4/2018: Actualizada Load'N'Run numero 5 con nuevos TAPs y PRGs.

pastbytes

  • Desarrolladores
  • Commodore Master
  • ******
  • Mensajes: 556
  • SYS 0
    • Ver Perfil
Re:Presentacion y nuevo programa para C64
« Respuesta #2 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/ , 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) 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).
« última modificación: Enero 14, 2012, 17:35:12 por pastbytes »

marcos64

  • Commodore Master
  • *****
  • Mensajes: 2970
    • Ver Perfil
    • http://marcos64.orgfree.com/
Re:Presentacion y nuevo programa para C64
« Respuesta #3 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.
http://marcos64.orgfree.com/
Actualizacion 22/4/2018: Actualizada Load'N'Run numero 5 con nuevos TAPs y PRGs.

pastbytes

  • Desarrolladores
  • Commodore Master
  • ******
  • Mensajes: 556
  • SYS 0
    • Ver Perfil
Re:Presentacion y nuevo programa para C64
« Respuesta #4 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.

pastbytes

  • Desarrolladores
  • Commodore Master
  • ******
  • Mensajes: 556
  • SYS 0
    • Ver Perfil
Re:Presentacion y nuevo programa para C64
« Respuesta #5 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.
« última modificación: Enero 17, 2012, 09:42:17 por pastbytes »

marcos64

  • Commodore Master
  • *****
  • Mensajes: 2970
    • Ver Perfil
    • http://marcos64.orgfree.com/
Re:Presentacion y nuevo programa para C64
« Respuesta #6 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.
http://marcos64.orgfree.com/
Actualizacion 22/4/2018: Actualizada Load'N'Run numero 5 con nuevos TAPs y PRGs.

marcos64

  • Commodore Master
  • *****
  • Mensajes: 2970
    • Ver Perfil
    • http://marcos64.orgfree.com/
Re:Presentacion y nuevo programa para C64
« Respuesta #7 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/

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.

http://marcos64.orgfree.com/
Actualizacion 22/4/2018: Actualizada Load'N'Run numero 5 con nuevos TAPs y PRGs.

pastbytes

  • Desarrolladores
  • Commodore Master
  • ******
  • Mensajes: 556
  • SYS 0
    • Ver Perfil
Re:Presentacion y nuevo programa para C64
« Respuesta #8 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.

pastbytes

  • Desarrolladores
  • Commodore Master
  • ******
  • Mensajes: 556
  • SYS 0
    • Ver Perfil
Re:Presentacion y nuevo programa para C64
« Respuesta #9 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
(donde dice TAV64 Demo), o con el enlace directo:
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.

pastbytes

  • Desarrolladores
  • Commodore Master
  • ******
  • Mensajes: 556
  • SYS 0
    • Ver Perfil
Re:Presentacion y nuevo programa para C64
« Respuesta #10 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.

R. INTERNATIONAL

  • Desarrolladores
  • Commodore Master
  • ******
  • Mensajes: 667
  • THE NEW IRON AGE HAS COME!!
    • Ver Perfil
Re:Presentacion y nuevo programa para C64
« Respuesta #11 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.

R. INTERNATIONAL

  • Desarrolladores
  • Commodore Master
  • ******
  • Mensajes: 667
  • THE NEW IRON AGE HAS COME!!
    • Ver Perfil
Re:Presentacion y nuevo programa para C64
« Respuesta #12 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!!!

pastbytes

  • Desarrolladores
  • Commodore Master
  • ******
  • Mensajes: 556
  • SYS 0
    • Ver Perfil
Re:Presentacion y nuevo programa para C64
« Respuesta #13 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.

pastbytes

  • Desarrolladores
  • Commodore Master
  • ******
  • Mensajes: 556
  • SYS 0
    • Ver Perfil
Re:Presentacion y nuevo programa para C64
« Respuesta #14 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.