*** Actualizacion 20-Dic-2017 - HR4 version 1.3 alfa 8 ***
En los pocos ratos que tuve libre fui haciendo varias modificaciones, principalmente optimizaciones y reescrituras de codigo para poder achicar el programa y que entraran cosas nuevas o correcciones de bugs.
Los cambios son de comandos, esta vez no cambia nada con respecto al hard. Tenia la opcion de agregar nuevas funciones, por ejemplo utilizar las 4 salidas libres para encender leds que reflejaran lo que se va hablando, o entradas/salidas que el usuario pudiera aprovechar, pero despues de pensarlo decidi que era mejor apuntar los cambios a la ampliacion del lenguaje, para que se acercara mas al español escrito.
Este es un resumen de los cambios hasta el momento:
V1.3 alfa 3:
- Un cambio que no afecta a la funcionalidad pero que surgio con la escritura del manual, es que ahora se aceptan los caracteres LF y CR en el medio del comando I (para cargar el instrumento musical definido por el usuario). Ya que este comando requiere el caracter "i" seguido de 66 muestras de 8 bits representadas como numeros en hexadecimal, el comando completo se compone de 133 caracteres (el caracter "i" mas 66x2 digitos hexadecimales), las ondas de ejemplo en el manual y en la web podian no entrar en el ancho de la pagina, lo que complicaba cortar el comando y pegarlo en una terminal. Ahora se puede mostrar en varias lineas sin que afecte a la copia.
V1.3 alfa 4:
- Optimizaciones varias para reducir el codigo.
V1.3 alfa 5:
- Se modifico el lenguaje para que acepte las combinaciones de la letra C con las vocales, diferenciando los casos CE y CI de los otros.
V1.3 alfa 6:
- Optimizaciones varias para reducir el codigo.
V1.3 alfa 7:
- Se modifico el lenguaje para que acepte las combinaciones de la letra G con las vocales, diferenciando los casos GE y GI de los otros. Se agrego los caracteres Ü y ü a los permitidos, y se diferencian las combinaciones GÜE y GÜI del resto, pronunciando Ü como U. Tambien se diferencian los casos GUE y GUI del resto. Se agrego los caracteres Ñ y ñ a los permitidos, y se procesa el nuevo fonema.
V1.3 alfa 8:
- Se modifico el lenguaje para que acepte los caracteres Q y q como permitidos, y procese las combinaciones de la letra Q con las vocales, diferenciando los casos QUE y QUI de los otros.
Quedaria agregar, si la memoria disponible lo permite, las letras V, W, X, Y y Z, que en este momento no son caracteres validos.
*** Actualizacion 22-Dic-2017 - HR4 version 2.0 beta 1 ***
Bueno, en un rato pude terminar lo que faltaba, milagrosamente siempre aparecen cosas para optimizar y lograr mas memoria libre, y algunos comandos se pudieron agregar sin consumo extra de instrucciones o incluso ahorrando.
Esta version deberia ser 1.3 alfa 9, pero dado que ya agregue todo lo que estaba en la lista, ya pasaba a ser beta 1. Para evitar confusiones con las placas y versiones anteriores, que son diferentes e incompatibles, mas en hard que en soft, me parecio mas claro que la version pase a ser 2.0, por eso queda como v2.0 beta 1.
Los cambios son los siguientes:
- Se modifico el lenguaje para que acepte la letra V, agregando en su lugar el fonema B.
- Se modifico el lenguaje para que acepte la letra W, agregando en su lugar el fonema U.
- Se modifico el lenguaje para que acepte la letra X, agregando en su lugar la secuencia K S.
- Se modifico el lenguaje para que acepte la letra Y, agregando en su lugar el fonema I.
- Se modifico el lenguaje para que acepte la letra Z, agregando en su lugar el fonema S.
En el futuro se van a diferenciar los sonidos C/Z del sonido S, por ahora solo se diferencian en el parser. Ya que la Y se pronuncia de forma diferente en varios lugares, solo esta puesto el sonido i, el otro sonido puede ser el mismo o diferente pero debe ser escrito foneticamente (por ejemplo usar SH en español rioplatense). Por la misma razon, la LL no se procesa, debe escribirse foneticamente segun como se quiera que suene.
Tengo que pasar en limpio el nuevo circuito, y si no encuentro ningun problema con el codigo, esta finalmente seria la primera version publica. Tambien me queda rehacer el manual y todos los programas de demostracion, que tienen que ser adaptados en el lenguaje.