Saltar al contenido
La bitácora de FreeMEM by Francisco Tapias Bravo

Apuntes, proyectos, conocimiento libre y hacktivismo

5 min de lecturaAmiga Computersprogramación

Le he dado una IA a mi Amiga y se ha puesto a programar (y a usar LightWave)

Inferencia escribiendo un hola mundo en Forja, y la palabra AMIGA en LightWave

En 2018 os confesé aquí una espina que llevaba clavada: siete años con un Amiga y ni una sola línea de código escrita para él. Real3D, LightWave y PageStream me tenían tan absorbido que la programación se quedó en el cajón.

Pues hace unos días le pedí a mi Amiga que escribiera un programa él solito. Y lo hizo. Lo escribió, lo guardó, lo compiló y lo ejecutó. Y ya puestos, le pedí que me modelara la palabra AMIGA en LightWave. El mismo LightWave de entonces 🙂

No hay trampa ni cartón. Está grabado en directo y son cuatro minutos y medio:

Qué estás viendo

Todo pasa en un Amiga con AmigaOS 3.2, emulado en Amiberry con tarjeta gráfica a 1024×768. En el montaje solo he acelerado las esperas, mientras el modelo piensa. Lo demás va a su velocidad.

  1. Un hola mundo con ventana MUI. Se lo pido a Inferencia. Lee un ejemplo, escribe el código directamente en el editor de Forja y, por ARexx, le dice a Forja que lo guarde, lo compile y lo ejecute. Si salen errores, los lee y los corrige.
  2. Una ventana dibujada, no programada. Abro un fichero .dashui en el editor de ventanas de Forja, miro la vista previa, cambio un botón, guardo y la ejecuto. La vista previa no es un dibujo: es MUI de verdad.
  3. AMIGA en 3D. Inferencia se lee el manual ARexx del Modeler, escribe el guion, lo lanza con rx y, si falla, lo arregla y vuelve a probar.

¿Y el cerebro? No está en ninguna nube. Es qwen3-coder corriendo en Ollama, en un PC de casa con una RTX 3050. Ni suscripciones ni un solo dato saliendo de mi red.

Inferencia: una IA que trabaja en tu Amiga, no al lado

Ya hay mil chats que te dicen qué teclear. Inferencia no te lo dice: lo hace. Le hablas desde una ventana MUI y el modelo puede leer y cambiar ficheros, ejecutar órdenes del Shell, mandar órdenes ARexx a otros programas y mirar cómo va el sistema: memoria, volúmenes, tareas…

Ahora bien, darle las llaves de casa a una IA da un poco de yuyu, lo sé. Por eso, antes de tocar nada, pregunta. Tú eliges «Sí», «No» o «Siempre». Y si cambia un fichero que tienes abierto en Forja, el cambio entra en el editor sin guardar, así que lo puedes deshacer.

Para el modelo vale casi cualquier cosa: una clave de OpenRouter o de Anthropic, o un modelo en un PC de tu red con Ollama o LM Studio, que no necesita clave ni cuesta un euro.

Forja: programar en el Amiga, desde el Amiga

Esto es lo que más ilusión me hace. Forja es un entorno de desarrollo para Dash que corre en el propio Amiga, con fondo negro, como mandan los cánones:

  • Un editor con colores, pestañas, buscar y cambiar, y deshacer de verdad.
  • Compilar y ejecutar sin salir. Los errores salen abajo y un clic te lleva a su línea.
  • Un depurador paso a paso, con puntos de parada y las variables a la vista.
  • El editor de ventanas .dashui , con el mismo formato que la extensión de VS Code. Puedes empezar una ventana en el PC y acabarla en el Amiga, o al revés.
  • Un botón Inferencia (Amiga-I) que le pasa a la IA el fichero o las líneas que tengas elegidas.

ARexx: el pegamento que ya teníamos en los noventa

Aquí no hay magia nueva. Lo que hace todo esto posible lleva en el Amiga desde Workbench 2.0: ARexx. Cada programa abre su puerto y cualquiera puede mandarle órdenes. Forja tiene el suyo ( FORJA.1 ), LightWave el suyo, y Inferencia habla con todos ellos.

Y funciona en los dos sentidos. Inferencia también abre su puerto, INFERENCIA.1 , así que cualquier guion tuyo puede preguntarle cosas:

/* Pregúntale algo a Inferencia desde un guion */
options results
call addlib('rexxsupport.library', 0, -30, 0)
address 'INFERENCIA.1'
'PREGUNTA ¿Cuánta memoria Chip me queda libre?'
call delay(50)
do forever
    'ESTADO'
    if result = 'libre' then leave
    call delay(50)
end
'RESPUESTA'
say result

Una curiosidad: un guion ARexx que no empieza con un comentario da «Program not found». Los que lleváis años con el Amiga lo sabéis de memoria. La IA no lo sabía, y se volvía loca pensando que rx no existía. Ahora se lo advierto de serie 😉

Y por debajo de todo, Dash 2.0

Forja e Inferencia están escritos en Dash, el lenguaje que os presenté en marzo. Y el vídeo adelanta lo que viene: Dash 2.0.

Su nuevo compilador, dashc, ya no necesita Python ni un compilador de C. Genera él mismo el código 68000 y funciona tanto en Linux como en el propio Amiga. Por eso Forja compila en el Amiga sin pasar por el PC. Era la pieza que le faltaba a Dash para valerse por sí mismo.

La 2.0 todavía no está publicada (la última versión es la 1.0.1), pero Forja e Inferencia ya se compilan con ella. Os aviso en cuanto salga.

Lo que necesitas para probarlo

  • AmigaOS 3.0 o superior, un 68020 o mejor y MUI 5.
  • Para Inferencia, una pila TCP/IP (Roadshow, AmiTCP, Miami…), AmiSSL 5 y el reloj en hora, que AmiSSL comprueba las fechas de los certificados.
  • Un modelo: una clave de OpenRouter o de Anthropic, o Ollama en un PC de tu red.

Y una advertencia sincera: son versiones de prueba. Funcionan en el emulador, pero todavía no las he probado en un Amiga de verdad. Los modelos pequeños tampoco aciertan siempre a la primera: qwen3-coder hace las dos escenas, pero a veces necesita un segundo intento, y gpt-oss directamente pasa de usar las herramientas.

Así que si tienes un Amiga con 68020 y MUI 5 y te apetece hacer de conejillo de indias, me harías un favor enorme.

Todo es software libre, con licencia MIT. Si lo pruebas, cuéntame qué tal en los comentarios. Y si tu Amiga te hace un logo mejor que el mío, quiero verlo.

Saludos!

Comentarios

Deja un comentario

Los comentarios se moderan antes de publicarse. Tu correo solo sirve para contestarte: más en la política de privacidad.