Autor Tema: Aventura conversacional en BASIC con modulo de voz HR5  (Leído 4336 veces)

pastbytes

Aventura conversacional en BASIC con modulo de voz HR5
« en: Enero 05, 2015, 10:02:48 »
Desde hace tiempo queria concretar algunas cosas independientes que ahora con este proyecto se logran todas juntas.
Hace bastante que deje de comprar ordenadores porque habia conseguido unos cuantos y nunca tuve tiempo de usarlos, asi que en cierto momento decidi que trataria de usarlos, en la medida de lo posible programandolos en asm, sino en BASIC, o por lo menos probando soft o hard. Esa es la razon por la que entre otras cosas porte mi sintetizador de voz por soft a varias plataformas para las que no habia programado nunca.
Y en este caso son varias las cosas que queria realizar, primero queria conectar el Commodore 128 por RGBI para ver 80 columnas en colores, ya tenia un cable armado para verlas por video compuesto, pero no era lo mismo. Otra cosa que queria probar era lo de controlar los dos chips de video a la vez, tambien por supuesto programar algo en el BASIC del C128, que tendria que funcionar en 80 columnas para que fuera algo que no pareciera un programa de C64. Y la ultima cosa que queria hacer era adaptar una aventura conversacional para que usara mi chip de voz.
Si bien ya hace unos meses vengo preparando textos, armando placas, investigando cosas, nunca tuve tiempo para ponerme manos a la obra, y en los ultimos dias decidi dedicarme a esto para que no pasara mas tiempo.
Lo que hice fue adaptar una aventura conversacional que a su vez fue adaptada antes para MSX-BASIC, "La nave espacial condenada", hacerle unos cambios para que funcionara en el C128 en 80 columnas, darle un poco de color y formato, y agregarle luego los comandos de voz.
Lo primero fue armar de nuevo una placa para el modulo de voz, y probarla en el C128:





Despues me arme el cable RGBI para conectar el monitor Commodore 2002 y ver las 80 columnas como corresponde:



Como siguiente paso adapte la aventura editando el programa en un editor de texto y pegando el codigo en VICE para tener un entorno de desarrollo mas comodo, pero con el problema de que no podia probar los comandos de voz, por lo que aproveche para experimentar con doble pantalla. Use la pantalla de 80 columnas para mostrar el texto normal de la aventura, y la pantalla de 40 columnas para imprimir los comandos foneticos que irian al modulo de voz, como puede verse aqui:



Pantalla con el texto final de la aventura:



Pantalla con el texto fonetico para el modulo de voz:



Video de la prueba con monitor dual:

Prueba de Commodore 128 con dos monitores

Una vez probado todo eso, solo quedaba adaptar la aventura reemplazando los comandos del segundo monitor por los que envian el texto al modulo de voz, y aqui se ve el resultado final, primero corriendo el programa para ver el funcionamiento de la placa, y luego un poco de la partida con la camara fija apuntando al monitor:

Aventura conversacional hablada con módulo de voz HR5 en Commodore 128

Como comente en mi sitio, falta agregar algunos textos, pero la modificacion del programa, a pesar de estar basado en variables y lineas DATA, resulto ser mas simple de lo que esperaba. Tal vez algun dia lo complete, pero dudo que haya muchos interesados en aventuras conversacionales que tengan C128, monitor para 80 columnas y modulo de voz HR4 o HR5, asi que es un mercado mas que reducido.  ;)
« última modificación: Enero 05, 2015, 10:27:00 por pastbytes »
 

marcos64

Re:Aventura conversacional en BASIC con modulo de voz HR5
« Respuesta #1 en: Enero 05, 2015, 10:40:23 »
Mas que curioso el invento. Ya se sabe que la utilidad de estas cosas es reducida pero y lo bien que lo pasa uno haciendo estos montajes y comprobando que funcionan  :D

Yo tuve durante años varios 128 y un monitor de 80 columnas y nunca llegue a hacer el cable a pesar de tener todos los componentes a mano. Es que en la practica el modo de 80 columnas es poco interesante...
http://marcos64.orgfree.com/
Actualizacion 22/4/2018: Actualizada Load'N'Run numero 5 con nuevos TAPs y PRGs.
 

pastbytes

Re:Aventura conversacional en BASIC con modulo de voz HR5
« Respuesta #2 en: Enero 05, 2015, 10:47:57 »
Depende del uso, un C128 es para usar CP/M, la mayoria de la gente que compraba uno lo uso en parte para eso, sino se habrian comprado directamente un C64. Y el CP/M no es muy util en 40 columnas, en Argentina fue un ordenador muy popular, por aqui no existian opciones de PC de bajo costo asi que el C128 era muy usado en pequeñas empresas, y se usaba mucho CP/M (Amstrad por aqui no llego mas que brevemente con los primeros CPC).
En mi caso particular, algo que justifica el uso del VDC es el GEOS128, que aprovecha la resolucion de 640x200.
 

marcos64

Re:Aventura conversacional en BASIC con modulo de voz HR5
« Respuesta #3 en: Enero 05, 2015, 11:48:25 »
El CP/M de C128 es inutilizable. Es tan leeeennnnnntoooooooooo. Yo lo probe en 80 columnas pero con el cable monocromo.

En cambio el GEOS si que va bien. Y con una REU de 512KB aun mejor  ;D

Habia bastantes programas ofimaticos interesantes para el modo 80 columnas pero no suelen ser muy divertidos  ;)
http://marcos64.orgfree.com/
Actualizacion 22/4/2018: Actualizada Load'N'Run numero 5 con nuevos TAPs y PRGs.
 

josepzin

Re:Aventura conversacional en BASIC con modulo de voz HR5
« Respuesta #4 en: Enero 05, 2015, 14:54:05 »
Impresionante! :-o

Con tu permiso voy a republicar todo en mi blog.

pastbytes

Re:Aventura conversacional en BASIC con modulo de voz HR5
« Respuesta #5 en: Enero 05, 2015, 18:08:36 »
Ningun problema, republique nomas.
Para adaptar el programa a C64 va a haber que modificar algunas lineas, porque los BASIC de C64 y C128 permiten lineas de programa de hasta 2 lineas de pantalla, 80 caracteres en el caso de C64 y 160 en el caso de C128, y no alcanzan los 80 para muchas lineas. Para la mayoria de los textos no hay problema en agregar lineas intermedias pero algunos de los textos que se imprimen y hablan estan dentro de lineas IF, asi que hay que hacer algunas reformas para dividir eso en dos lineas.
 


josepzin

Re:Aventura conversacional en BASIC con modulo de voz HR5
« Respuesta #7 en: Enero 08, 2015, 20:53:41 »
Pastbytes, tienes una pregunta en los comentarios.

pastbytes

Re:Aventura conversacional en BASIC con modulo de voz HR5
« Respuesta #8 en: Enero 08, 2015, 21:31:16 »
Respondida.
Quedo bien la entrada en el blog, pense que podia quedar fuera de contexto pero se entiende, lo unico que no se explica es de que se trata la placa, pero supongo que con la respuesta deberia quedar claro.
 

pastbytes

Re:Aventura conversacional en BASIC con modulo de voz HR5
« Respuesta #9 en: Enero 24, 2015, 06:13:15 »
Termine de pasar los textos que faltaban de la aventura, asi que al menos el juego esta terminado, algun dia se le podria hacer una mejor presentacion y agregar los creditos correspondientes, mencionando el libro al cual pertenece, a christian que publico el listado para MSX, y a the woz que me ayudo con algunos detalles tecnicos del puerto del usuario. Lo mio fue mas que nada reescribir los textos en forma fonetica, en la parte de programacion lo mas complicado fue hacer andar el puerto RS232 del C128 que por alguna razon desconocida da mas problemas que en el C64, el resto fue ajustar los textos a la pantalla y colocar algun color en unas pocas frases.
La version para C64 va a requerir modificar un poco el programa para partir lineas en 2, ya que muchas terminaron ocupando entre 80 y 160 caracteres, que el C64 no permite.
Este es el video, es una partida completa asi que la segunda mitad se pone un poco monotona, no se cual es la secuencia para apagar el reactor, asi que probaba cosas para que avanzara el tiempo y poder ver cuando explotara todo.  ;D

Neutronia (aventura conversacional) con módulo de voz HR5 en C128

Me olvidaba, tuve que escribir una subrutina para convertir los numeros de la temperatura en texto fonetico, y para eso tuve que investigar el codigo para saber que numeros podian tocar, al parecer es cualquier numero entre 440 y 840 grados.
GorGo: a ver si consigues el conector para el puerto del usuario y pruebas la aventura.  ;)
 

pastbytes

Re:Aventura conversacional en BASIC con modulo de voz HR5
« Respuesta #10 en: Febrero 13, 2015, 07:49:10 »
Esto no tiene nada que ver con Commodore, pero por si a alguno le interesa, probe la aventura conversacional en MSX y en PC (GW-BASIC), en MSX se usa una placa que se conecta al puerto de joystick y simula un puerto RS232. En PC se usa directamente la placa RS232, pero tiene la desventaja de que no se puede detectar cuando el PIC termina de hablar, por lo que no se puede sincronizar lo impreso con lo hablado como en las otras versiones, a menos que se agregue otro MAX232 a la placa.
Estos son los videos, aca se ve corriendo en MSX:

MSX: Neutronia (aventura conversacional) con módulo de voz HR5

Y aca en PC:

PC: Neutronia (aventura conversacional) con módulo de voz HR5

Me sigue gustando mas la version para C128.  8)
 

Maniako

Re:Aventura conversacional en BASIC con modulo de voz HR5
« Respuesta #11 en: Julio 02, 2015, 08:50:21 »
Es genial!! . Me encanta esa voz.
Supongo que si, el mercado para esto es reducido, pero a mi me encantaria tener uno  ;)

He puesto todos los videos a la vez.  ;D
LDA #$50
STA $0400
RTS
Lloré cuando conseguí hacer esto con el monitor del FC1.