Hace un tiempo que estoy un poco ausente de todos los foros, y es porque este año me meti en un proyecto que no tenia tanto que ver con lo que termino siendo. El año pasado hice el primer video de nuestro canal de retrocomputacion.com en youtube, hablando sobre como funcionan las terminales, los modems y el RS232. Ese video llevo un monton de trabajo, varios meses, y cuando lo termine, decidi hacer una pausa antes de empezar uno nuevo. En el medio de eso, rehice mi sitio web pastbytes.com, y me fui poniendo al dia con otras cosas. Cuando empezo el año, decidi que era momento para pensar el proximo video, y el tema candidato eran las computadoras portatiles de 8 bits de los 80s, en particular las que tengo, Epson HX-20, PX-4 y PX8, y alguna otra. Pensando como filmar el video, llegue a la conclusion de que al ser maquinas que no usan monitor, tenia que inventarme algo para rellenar el resto de la pantalla ancha del video, y se me ocurrio que podria tener la Commodore 64 corriendo algun programa de presentaciones, mostrando imagenes, laminas o como se quiera llamarlas, un poco como relleno y otro poco para apoyar las explicaciones.
Muchas cosas pasaron en medio, y gracias a que rescate tecnologia que habia hecho para los sintetizadores de voz años atras, de todo eso surgio una terminal, que cumple mas o menos con lo que yo pretendia, pero que derivo en un proyecto mas orientado a las comunicaciones.
Ya voy a explicar el proyecto con mas detalle mas adelante, pero por ahora dejo este video probando la terminal en una Drean 64C, con modem wifi, funcionando a 57600 bps con mi terminal, Retroterm. La C64 se conecta a un BBS que tambien hice en Python, que esta corriendo en mi PC, aceptando llamadas por telnet. La terminal es un tanto particular, funciona unicamente a 57600 bps y solamente como terminal PETSCII (con los caracteres de Commodore, nada de ANSI o siquiera ASCII). Normalmente funciona a una velocidad equivalente a 1500 bps en PAL y 1800 bps en NTSC. Hice muchas pruebas y conclui que esa era una velocidad suficiente para leer textos, asi que no busque aumentarla. Pero ademas de la terminal y el BBS, me invente un protocolo, que llame TURBO56K, y que tiene una serie de comandos que permiten a la terminal operar con pantalla desactivada todo el tiempo a 57600 bps, logrando transferir 46K en alrededor de 11 segundos, directo a memoria.
Tambien hice otro experimento que termino siendo incluido en la terminal, que es el streaming de audio PCM de 4 bits (audio digitalizado) a 11KHz, eso el BBS lo transmite a 57600 bps y la terminal lo recibe y coloca casi en tiempo real en el volumen del SID, para lograr reproducir audio en vivo y sin limite de duracion.
En el video el streaming se puede ver en el arranque del BBS, cuando emite el audio de bienvenida. Se puede ver la velocidad de recepcion de texto, y los modos turbo con pantalla desactivada recibiendo imagenes bitmap directo a memoria.
Ya hay una version del BBS andando, pero esta es una version mas elaborada a la que le faltan unos dias para estar terminada. Cuando todo este terminado, va a haber un BBS de ejemplo en Python para el que quiera correr uno, una terminal que funciona en C64 tanto con RS232 y una PC con tcpser/BBSServer, como con un modem wifi. Y tambien una version de la terminal que corre en emuladores, para el que quiera conectar sin tener una C64 real.
Dejo aca el video, y ampliaremos mas adelante...
https://www.youtube.com/watch?v=iWgYjSe5VGs