BASIC 1.0 Copilot para AMSTRAD CPC 6128
El viernes, a última hora de la tarde, di mi charla en RootedCON que había titulado "Laife gets better", que es un juego de palabras con life + ai, porque cada vez se mete en más partes de nuestra vida. En este caso, quería contar, a través del cine y de proyectos que hemos ido haciendo este año en el equipo de Ideas Locas, cómo la Inteligencia Artificial puede transformar todo, y comencé por mis principios de desarrollador, con 12 años, cuando programaba en BASIC.
En este caso, la película por la que hay que comenzar es TRON, la película donde los protagonistas son programas que viven aventuras dentro de una CPU de 8 bits, y donde los programadores son sus creadores, sus dioses. Los que les dan vida. Hay que ver eso con los ojos de un niño y no querer ser programador.
Figura 2: Tron
A partir de ahí, me apunté a la academia de mi barrio llamada RUS, y me puse a estudiar informática. Y creo que no he dejado de estudiar informática ni un sólo día, así que fijaos si tuvo impacto en mí esa película.
Figura 3: Libros para Makers en 0xWord que deberías tener:
Un día, leyendo el proyecto de un hacker que había conectado una calculadora científica a ChatGPT para aprobar todos los exámenes - os lo dejé en el artículo "Cómo hacerte una calculadora conectada a ChatGPT y aprobar todos los exámenes #Makers", me animé a hacer lo mismo para nuestros Retro-Computers. Al final, en el equipo tenemos grandes makers, y estos proyectos siempre son de los que nos molan. Ya hace años habíamos hecho un proyecto similar, para dotar a Macintosh de almacenamiento infinito en la nube que tenéis en la presentación siguiente, así que porque no hacerlo con ChatGPT.
Pero no íbamos a repetir el experimento, así de sencillo. Había que hacerlo más complejo, que mis chicos makers están acostumbrados a hacer cosas difíciles como "Chucky Alonso", y como yo tenía el recuerdo de mi AMSTRAD CPC 6128, les pedí que lo hiciéramos con él, para tener un BASIC 1.0 Copilot para AMSTRAD CPC 6128.
BASIC 1.0 Copilot para AMSTRAD CPC 6128
Para construirlo, primero hay que conectar a Internet nuestro querido AMSTRAD CPC 6128, y una forma sencilla es cambiarle la disquetera y ponerle un EMULADOR de disquetera de 3" que tiene conexión vía USB. Este gadget lo puedes comprar en Amazon por menos de 40 €.
Figura 5: Emulador de disquetera de 3" a USB
Una vez que lo tengas ya lo puedes conectar a la Raspberry Pi y darle conexión a Internet para hacer las conexiones a ChatGPT con los prompts que desees. Por ejemplo, que haga un programa que dibuje una espiral gaussiana por pantalla.
Así que el resto es ajustar todo. Para hacer todas las pruebas y demos, usamos el Emulador de AMSTRAD CPC 6128 de Retro Virtual Machine de Juan Carlos González Amestoy, que era perfecto para esta prueba. Y se creo el siguiente código en BASIC 1.0 como interfaz de BASIC 1.0 Copilot.
Como podéis ver, es tan sencillo como pedir un prompt y guardarlo en un fichero de preguntas QSTN.TXT, que se quedará en el disquete. Cuando ejecutamos este programa tenemos un interfaz para escribir los prompts por pantalla, como podéis ver:
En el emulador no tenemos la conexión directa USB a la Raspberry Pi para hacer el proceso automáticamente con nuestro script en Python, así que hay que sacar el disquete manualmente y volver a cargarlo. Esto es porque el emulador, una vez que carga el disquete hace una copia de su contenido en memoria, por lo que no hay actualizaciones en disco hasta que no se fuerzan con una extracción virtual del mismo.
Pero cuando se saca, el script lee el fichero QSTN.TXT, se hace la pregunta a ChatGPT, se obtiene la respuesta y se lee el fichero de respuesta que se llama RSPT.BAS para que sea ejecutable directamente. Así que cuando se carga el disquete de nuevo, continua el programa y podemos listar la respuesta.
Una vez que tenemos la respuesta, podemos ver el código que nos ha generado, y lo siguiente es tan sencillo como ejecutar con nuestro querido RUN, para poder ver la magia en acción.
Tenéis el proceso completo en este vídeo que os he subido a mi canal Youtube para que podáis verlo funcionar en un par de minutos completo, que es una chulada.
La inteligencia artificial va a cambiar todo, y hacer estas pruebas con sistemas de nuestra infancia, donde estas cosas eran ciencia-ficción, nos ayuda a comprender un poco mejor el impacto que tiene hoy en todo. Así que más vale que te pongas las pilas porque el nuevo mundo es por aquí.
¡Saludos Malignos!
Autor: Chema Alonso (Contactar con Chema Alonso)
4 comentarios:
Curioso e ingenioso. Buen domingo. Lo dicho. O:)
Estimado Chema, ruego revises la capacidad de los disquetes de 3" del AMSTRAD CPC 6128 que indicas como 1.44MB en éste articulo "BASIC 1.0 Copilot para AMSTRAD CPC 6128" o alternativamente elimines dicha información sobre la capacidad de los disquetes de 3", que a mi entender es incorrecta y por lo que he leído tampoco parece relevante para el articulo si los disquetes eran de 1.44MB, en tanto que si parece relevante que se habla de la conexión de la disquetera interna de 3" y no del modulo de expansión del CPC 6128 donde se pueden conectar disqueteras externas de 5,25" y 3,5" (que si tiene disquetes de 1.44MB):
He encontrado estas dos referencias a la capacidad, a mi entender incorrecta de los disquetes de 3":
a) "... nuestro querido AMSTRAD CPC 6128, y una forma sencilla es cambiarle la disquetera y ponerle un EMULADOR de disquetera de 1.44MB de 3" ..."
b) "Figura 9: Emulación de disquetes de 1.44 MB"
Entiendo que es incorrecta dado que la capacidad de los disquetes de 3" para el AMSTRAD CPC 6128 era de 180kB por cara, 360kB por disquete con la disquetera Hitachi original. Es posible que se pudiera cambiar la disquetera por una de 3" Double Density, la capacidad en ese caso seria de 360kB por cara, en total 720kB por disquete de 3". Pero nada me indica que se llegaran a fabricar disquetes de 3" High Density. Solo se hicieron en formato HD de 1.44MB los disquetes de 3,5" que en el caso del CPC 6128 se usarían en una disquetera externa conectada al modulo de expansión, que no se corresponde con la conexión que explicas en éste articulo (la de la disquetera interna de 3").
Querido @xla ....llevas toda la razón.. me la jugó la edad. Lo cambio todo. Gracias!
Gracias por la rápida respuesta y por mantener éste espacio de divulgación donde encontrar temas interesantes O:_)
Publicar un comentario