Viendo programas para el Sinclair QL con la IA

Foro dedicado a la programación en todo tipo de sistemas clásicos.
Avatar de Usuario
Oldcomput
Amiga 2500
Amiga 2500
Mensajes: 2212
Registrado: 01 Nov 2004, 16:00
Gracias dadas: 219 veces
Gracias recibidas: 201 veces

Viendo programas para el Sinclair QL con la IA

Mensajepor Oldcomput » 26 Mar 2024, 00:55

Muy buenas noches

De eso que he escuchado que las IAs están haciendo programas informáticos, y digo, voy a probar una chorrada a ver lo que sale. Y tal que así:
Usted
Crea un programa para el ordenador sinclair QL que pregunte la hora y diga buenos días o buenas tardes
Copilot
¡Claro! El Sinclair QL fue un ordenador lanzado por Sinclair Research en 1984. Aunque no tengo acceso directo a un Sinclair QL, puedo proporcionarte un ejemplo de cómo podrías crear un programa simple en SuperBASIC para lograr lo que estás buscando.

100 INPUT "¿Qué hora es? (HH:MM) "; HORA$
110 LET HORA$ = LEFT$(HORA$, 2)
120 IF VAL(HORA$) >= 6 AND VAL(HORA$) < 12 THEN PRINT "¡Buenos días!"
130 IF VAL(HORA$) >= 12 AND VAL(HORA$) < 18 THEN PRINT "¡Buenas tardes!"
140 IF VAL(HORA$) >= 18 OR VAL(HORA$) < 6 THEN PRINT "¡Buenas noches!"
150 END

Este programa solicita la hora en formato HH:MM y luego verifica si está dentro de los rangos de la mañana, tarde o noche. Dependiendo de la hora ingresada, mostrará el saludo correspondiente.

Recuerda que debes adaptar este código al entorno específico del Sinclair QL y su lenguaje SuperBASIC. ¡Espero que te sirva como punto de partida!
------------------------------------------------------
Al final lo único que vamos a necesitar es saber expresar las peticiones ;)

Quiero un prgrama en superbasic para el sinclair QL que muestre el catálogo del microdrive en dos columnas
Copilot
¡Por supuesto! A continuación, te proporciono un programa en SuperBASIC para el Sinclair QL que mostrará el catálogo del Microdrive en dos columnas:

100 REM Programa para mostrar el catálogo del Microdrive en dos columnas
110 REM Asume que los archivos están en MDV1_
120 REM Cambia MDV1_ según la unidad de Microdrive que desees listar

130 INPUT "Presiona ENTER para mostrar el catálogo: "; DUMMY$
140 CLS
150 LET FILES = CAT MDV1_
160 LET NUM_FILES = LEN(FILES)
170 LET COL_WIDTH = 32

180 FOR I = 1 TO NUM_FILES STEP 2
190 PRINT LEFT$(FILES, COL_WIDTH);
200 IF I + 1 <= NUM_FILES THEN PRINT MID$(FILES, COL_WIDTH + 1, COL_WIDTH);
210 PRINT
220 NEXT I

230 END

Este programa solicita que presiones ENTER para mostrar el catálogo del Microdrive. Asegúrate de cambiar MDV1_ según la unidad de Microdrive que deseas listar. Los nombres de los archivos se mostrarán en dos columnas, con un ancho de columna de 32 caracteres cada una.

Recuerda adaptar este código al entorno específico del Sinclair QL y su lenguaje SuperBASIC. ¡Espero que te sea útil!

Avatar de Usuario
cacharreo
Commodore 128
Commodore 128
Mensajes: 112
Registrado: 15 Feb 2022, 23:11
Sistema Favorito: Spectrum 16Kb/48Kb
primer_sistema: (Otro)
Gracias dadas: 38 veces
Gracias recibidas: 67 veces

Re: Viendo programas para el Sinclair QL con la IA

Mensajepor cacharreo » 27 Mar 2024, 07:40

Oldcomput escribió:De eso que he escuchado que las IAs están haciendo programas informáticos, y digo, voy a probar una chorrada a ver lo que sale. Y tal que así:

Oldcomput escribió:Al final lo único que vamos a necesitar es saber expresar las peticiones ;)

Y conocer al dedillo el lenguaje sobre el que se solicita ayuda porque, como hacen todas las IA, se inventa lo que necesita.

En el caso del primer programa usa una función LEFT$ que, aunque exista en otros dialectos del BASIC para otras máquinas, no existe en el QL. Ocurre lo mismo con la función VAL.

En el segundo,
1) se inventa el comando CAT (en QL sería DIR), y
2) asigna su valor a una variable numérica, lo que es una burrada de manual, primero porque sería necesario una variable alfanumérica para recibir el directorio del microdrive (p.e. file$) pero, aparte,
3) la salida del comando DIR no puede asignarse a una variable;
4) la línea 160 pretende obtener el número de ficheros del directorio con la función LEN que solo devolvería la longitud de la cadena, nunca el número de ficheros, y además,
5) utiliza funciones inventadas como LEFT$ y MID$ que, insisto, existen en otros sistemas pero no en SUPERBASIC.

De momento, es más fácil escribir el programa desde cero que lidiar con la salida para descubrir qué salvajadas ha escrito.
© cacharreo

Avatar de Usuario
Oldcomput
Amiga 2500
Amiga 2500
Mensajes: 2212
Registrado: 01 Nov 2004, 16:00
Gracias dadas: 219 veces
Gracias recibidas: 201 veces

Re: Viendo programas para el Sinclair QL con la IA

Mensajepor Oldcomput » 27 Mar 2024, 14:53

El primer programa era muy obvio y no le costó trabajo, pero en cuanto se complica la cosa, tienes razón, se inventa cosas :mrgreen:
Nada, que tendré que ponerme a estudiar si quiero programar algo en el QL, aunque primero he de ponerme con el Arduino, que compré un libraco, y he de amortizarlo :roll:
Y se me olvidaba un libro de PC: https://amzn.eu/d/hxLqgVu para matar el rato si me aburro, dos kilos de libro :D

Saludos

Avatar de Usuario
cacharreo
Commodore 128
Commodore 128
Mensajes: 112
Registrado: 15 Feb 2022, 23:11
Sistema Favorito: Spectrum 16Kb/48Kb
primer_sistema: (Otro)
Gracias dadas: 38 veces
Gracias recibidas: 67 veces

Re: Viendo programas para el Sinclair QL con la IA

Mensajepor cacharreo » 27 Mar 2024, 21:34

Básicamente se inventa todo, tanto el primero como el segundo, lo que implica tener que probarlo y corregir los programas casi línea por línea por lo que, si se conoce el lenguaje, es más rápido teclearlos desde cero.

Lo hace con cualquier cosa, con preguntas normales, con SUPERBASIC, C, C++, Ruby, Rust, PHP,... incluso se atreve con VHDL y Verilog. A cualquier pregunta, responde con la típica estructura/ciclo tipo trivial que, aunque fuese correcta -que no es lo habitual-, se apoya en una función o varias funciones que hacen todo el trabajo pero que no especifica y, cuando se le pide que especifique alguna de esas funciones concretamente, peta y no contesta.

A mí no me gusta particularmente que los resultados son verosímiles pero difícilmente verdaderos. No quiero ni pensar los destrozos que podría causar si alguien pidiera ayuda para modificar una placa electrónica o algo parecido.

Se conoce que aún tiene por revisar los vídeos del Conde Draco.
> ¿Cuántas veces aparece la letra N en la palabra "NOVIEMBRE"?

La letra "N" aparece dos veces en la palabra "NOVIEMBRE".

> ¿Cuántas veces aparece la letra B en la frase "BUENO, BONITO Y BARATO"?

La letra "B" aparece 4 veces en la frase "BUENO, BONITO Y BARATO".
Última edición por cacharreo el 26 Abr 2024, 10:44, editado 1 vez en total.
© cacharreo

Avatar de Usuario
Oldcomput
Amiga 2500
Amiga 2500
Mensajes: 2212
Registrado: 01 Nov 2004, 16:00
Gracias dadas: 219 veces
Gracias recibidas: 201 veces

Re: Viendo programas para el Sinclair QL con la IA

Mensajepor Oldcomput » 27 Mar 2024, 22:37

cacharreo escribió:Básicamente se inventa todo, tanto el primero como el segundo, lo que implica tener que probarlo y corregir los programas casi línea por línea por lo que, si se conoce el lenguaje, es más rápido teclearlos desde cero.

Lo hace con cualquier cosa, con preguntas normales, con SUPERBASIC, C, C++, Ruby, Rust, PHP,... incluso se atreve con VHDL y Verilog. A cualquier pregunta, responde con la típica estructura/ciclo tipo trivial que, aunque fuese correcta -que no es lo habitual-, se apoya en una función o varias funciones que hacen todo el trabajo pero que no especifica y, cuando se le pide que especifique alguna de esas funciones concretamente, peta y no contesta.

A mí no me gusta particularmente que los resultados son verosímiles pero difícilmente verdaderos. No quiero ni pensar los destrozos que podría causar si alguien pidiera ayuda para modificar una placa electrónica o algo parecido.


Yo creo sería buen ligón de discoteca la IA, como un amigo que prácticamente se inventa todo para ligar, incluso llegó a decir
que era controlador aéreo, ante lo que la chica empezó a hablarle en inglés y ahí lo pilló enseguida <XX
El caso es que de 100 únicamente engañaba a una, creo yo, pero él si era necesario le tiraba los tejos a 300.
Resumiendo, la IA tiene su público y su utilidad. A mí me ha servido para confeccionar alguna carta por ejemplo. Pero ya cosa técnica es verdad que se gripa a veces. Y en cuanto programación, pues unos sobrehilados muy generalistas, nada que se pueda teclear directamente sin correcciones, ahí tienes toda la razón.

Saludos

eurocamsuite
ZX Spectrum 16
ZX Spectrum 16
Mensajes: 10
Registrado: 27 Ene 2015, 16:50
Sistema Favorito: Spectrum 16Kb/48Kb
primer_sistema: ZX81
consola_favorita: Vectrex
Primera consola: TV Games/Pong Clone
Ubicación: Spain
Gracias dadas: 6 veces
Gracias recibidas: 19 veces
Contactar:

Re: Viendo programas para el Sinclair QL con la IA

Mensajepor eurocamsuite » 03 Jun 2025, 18:05

Buenas, ayer me tiré un buen rato escribiendo una respuesta a este hilo en el móvil, pero de repente se fue la pantalla y se perdió todo. Hoy voy a intentarlo con el ordenador, aunque es un intel Atom con 2 GB y Windows 8.1 así que no prometo demasiado.
Verán, basándome en mi experiencia, puedo demostrar que la IA es una herramienta de gran poder a la hora de abordar desarrollos en plataformas que apenas dominamos. Hay una cosa bastante clara, y es que alguna idea de programación debes tener siempre para poder usarla con éxito, y además, hay una serie de detalles que quiero compartiros porque me parecen básicos para lograr objetivos.

En mi caso fue el lenguaje ensamblador para GameBOY el que me ocupó casi un mes de trabajo, no de jornada completa, a ratos, pero echándole tiempo y bastante curro, y sobre todo, disciplina.

A.- SISTEMA EXPERTO O IA ENTRENADA. Algo de lo que me percaté al poco de comenzar a trabajar con ella y pedirle que hiciera chorradas de prueba, era que no tenía mucha idea del lenguaje ensamblador para el procesador de la GameBoy y metía más gambas que otra cosa. Este lenguaje está muy poco documentado y no hay prácticamente material en los repositorios de código abierto para entrenamiento, pero esto cambió, y bastante, en el momento en el que comencé a preparar un MyGPT y a facilitarle todo el material documental que pude encontrar, la cosa cambió como digo y parece que GPT4 ya empezaba a hilar algo más fino. Esto solo puede hacerse con la cuenta ChatGPT Plus de unos 24 euros/mes. No obstante, estos MyGPTs entrenados pueden publicarse en la tienda de MyGPTs para su uso público.

B.- MODULARIDAD. Por otro lado, al abordar un desarrollo, por pequeño que sea, nos enfrentamos a un problema de capacidad en la IA, que es bastante reducida en muchos aspectos. Por seguir con mi ejemplo, el minijuego de GameBoy en ensamblador llegó a ocupar unas 3 mil líneas de código y eso empacha a la IA más potente que podamos conocer, por lo que finalmente tuve que recurrir a una modularidad suficiente para que la IA (y yo) pudiesemos manejar con agilidad y seguridad todo el código (hardware.inc, sounds.asm, grafics.asm, main.asm), de manera que tuve que modularizar el código mediante directivas include en los .asm y también acostumbrarme a trabajar con trozos de código que desgajaba para modificar o y que luego iba acoplando de nuev al proyecto para seguir avanzando.

C.- FLUJO DE TRABAJO. Riguroso orden secuencial de trabajo, que me llevaron al final del proyecto a contar con 251 versiones de ficheros .ASM con los progresivos avances en el desarrollo. Cada avance significativo supone un Guardar Como ... con un incremento secuencial numérico del tipo a23, a24, etc... Cuando quería hacer experimentos gordos para cambiar alguna dinámica importante del juego cambiaba el sufijo por ejemplo de 'a24' a 'b25' ó 'c25', mantenido así distintas ramas recuperables en el desarrollo. Es como una suerte de control de versiones en github pero en local y mucho más rudimentario, eso sí, funcionar funciona perfectamente.

Estos creo que son los pilares básicos para hacer algo que pueda acabar bien, aunque por supuesto que, al trabajar mano a mano con la IA hay muchas recomendaciones más que podríamos aquí comentar, como reiniciar el chat cuando llevemos un rato con él, elaborar prompts detallados con redacción impoluta, lanzar el mismo prompt en paralelo con diferentes modelos de IA cuando se nos atraganta alguna cuestión, trabajar siempre de una forma escrupulosamente ordenada para no perder nunca código, recomentar hasta la saciedad todo el código posible, etc...

En algunas cosas concretas como es la elaboración de gráficos decidí optar por el uso de herramientas software de diseño específicas para tal fin, ya que la GameBoy tiene una forma peculiar de gestionar los GDUs un tanto peculiar y la IA solía liarla una vez sí y otra también al generar código ensamblador, sobre todo con los tonos de grises. Además, no encontré como lograr con la IA acabados buenos en pixel art de forma que me lancé al arte y no fue tan mal.

Avatar de Usuario
GXY
Amiga 1200
Amiga 1200
Mensajes: 1549
Registrado: 05 Oct 2013, 08:21
Sistema Favorito: Commodore Amiga
primer_sistema: Spectrum +2
consola_favorita: Sony PlayStation 1
Primera consola: Sony PlayStation 1
Gracias dadas: 42 veces
Gracias recibidas: 146 veces

Re: Viendo programas para el Sinclair QL con la IA

Mensajepor GXY » 04 Jun 2025, 00:35

las IA funcionan igual para todo: lo que no se me lo invento pero que suene como que se de lo que estoy hablando.

lo fascinante es que por mas renuncios en que se les pille, su cuota de partidarios no para de crecer. y lo mejor es que la mayoria de esos partidarios, el primer argumento al que acuden, es la pereza de que investigar y documentarse "de modo normal" es muy lento y lleva mucho trabajo, asi que "confian en el criterio de la IA". :roll:

yo a una IA, en base a su criterio, no le confiaria ni que hiciese una tarea simple como rellenar un espacio cerrado en un dibujo 2D con la herramienta de bote de pintura. seguro que la mitad de las veces lo haria mal pero me diria que estaria bien hecho y si no voy detras comprobando el resultado, al final me comere la cagada frente a un tercero.

herramienta para "vagos ocupados" y fanaticos de la inmediatez, eso es la IA en resumidas cuentas.

esto es solo otro ejemplo mas.
RetroPescando... :mrgreen:

BlackHole
Amiga 1200
Amiga 1200
Mensajes: 1490
Registrado: 07 Nov 2009, 11:38
Sistema Favorito: C64
primer_sistema: Spectrum 16Kb/48Kb
consola_favorita: Nintendo SNES
Primera consola: Nintendo SNES
Ubicación: Madrid
Gracias dadas: 14 veces
Gracias recibidas: 246 veces

Re: Viendo programas para el Sinclair QL con la IA

Mensajepor BlackHole » 04 Jun 2025, 14:16

A todo eso hay que añadir en que la IA te dice lo que TÚ quieres oir, en base a tu histórico de interactuaciones.
No tienen ningún reparo en mentirte, o remordimiento alguno, obviamente. Muchas tampoco aprenden cuando se les dice que algo es incorrecto, y parten de cero en posteriores consultas de terceros, porque algunas ni tienen capacidad de almacenaje.
Pero lo grave de todo esto es que las empresas están apostando por ello, y descartando a trabajadores en base a sus respuestas.

Antes de la aparición de la IA, ya había descartado volver a trabajar. Si por ahí va el futuro, yo ya me bajo y me desligo de todo.

eurocamsuite
ZX Spectrum 16
ZX Spectrum 16
Mensajes: 10
Registrado: 27 Ene 2015, 16:50
Sistema Favorito: Spectrum 16Kb/48Kb
primer_sistema: ZX81
consola_favorita: Vectrex
Primera consola: TV Games/Pong Clone
Ubicación: Spain
Gracias dadas: 6 veces
Gracias recibidas: 19 veces
Contactar:

Re: Viendo programas para el Sinclair QL con la IA

Mensajepor eurocamsuite » 04 Jun 2025, 18:48

Lo cierto es que estoy bastante de acuerdo con todo lo que decís con respecto a la inutilidad de la IA, yo estoy inmerso ahora mismo en un proyecto de gestión documental (llamado MARAFd) y lo sufro a diario en mis propias carnes, pero por un lado me permite abordar asuntos complicados tanto en backend como en frontend en los que jamás había trabajado o no dominaba lo suficiente. Por eso mi opinión es que sí, es una full de estambull hablando claro, peeeeeeero con algunos matices.

Más allá de las gilipolleces que suelta cuando le viene en gana y de la falta de rigurosidad absoluta que demuestra especialmente con todo lo que toca (código, análisis semático, etc.), creo que el único camino que le queda a los desarrolladores es, si no en este momento sí dentro de unos pocos años cuando se perfeccionen mucho más, ponerla a nuestro servicio.

Fijaos en esto que os he contado en mi entrada anterior. Yo jamás había programado en código máquina más allá de un 'Hola Mundo!'en Spectrum, y al poner a prueba un MyGPT entrenándolo con el poco material que tenía, forzando a la IA a seguir ciertos criterios mediante refuerzo constante y siguiendo un flujo de trabajo progresivo y añadiendo, editando y corrigiendo código en su mayoría autogenerado por IA, he podido desarrollar un minijuego para GameBoy en ensamblador puro de unas 3000 líneas (contando GDUs y todo). Sinceramente ni yo me lo creía. Sí, que me ha costado bastantes horas y depuración y por supuesto que la IA debe ser dirigida en todas las fases porque es adicta a destrozar cosas que funcionan perfectamente, pero si la estrujas y eres capaz de manejarla, y mi experiencia así lo demuestra, creo que el resultado final supera en mucho a lo que yo hubiera sido capaz de crear (sin apoyo de la IA) en el mismo plazo de tiempo. Es mi opinión. Digamos que ahí estoy un poco de acuerdo con el ejemplo del ligón de discoteca que lanza sondas masivas a diestro y siniestro con posibilidades de éxito muy bajas, pero basadas indiscriminación de objetivos. No sé si me explico.

Y ya digo que yo estoy trabajando prácticamente a diario con varias de ellas y, sinceramente, tampoco veo a la IA haciendo de todo como afirman algunos. A decir verdad, no me fio un pelo de ella ni le encomendaría tareas como por ejemplo escribir una carta seria peeeeeeeeero, escribiendo código y sobre todo usando lenguajes populares como Java, Python, PHP, etc. ayuda y bastante, y aunque de momento no llegue al nivel de un programador experto sí permite a otros programadores, no tan expertos, abrir fácilmente ventanas a nuevas ideas y desarrollos. Digamos que puede hacer alguna parte del trabajo más llevadero. Es algo así como en su momento el invento de la calculadora electrónica, pero más bestia, en resumen, un invento que marca un punto de inflexión en la evolución tecnológica y humana y al que nadie puede ignorar. Hace 50 años un niño de 10 años te hacía una raíz cúbica con lápiz y papel, busca hoy un ingeniero que te haga lo mismo, y por ello ¿son menos listos los ingenieros actuales?, no lo creo. Se dedican a otros asuntos.

La IA traerá cosas muy malas, eso no lo dudemos, probablemente el balance sea negativo y ya lo estamos viendo con las empresas empeñadas en buscar soluciones de IA para ahorrarse puestos, aunque la solución sea una p.m., pero tiene otras aristas y otros usos que pueden mejorar nuestro trabajo y darle la espalda en esos aspectos positivos no creo que sea una buena recomendación para alguien que está metido o pretende entrar en el desarrollo de software a nivel profesional. Otra cosa bien distinta, claro está, es la programación de sistemas retro.

Avatar de Usuario
alt
Amiga 2500
Amiga 2500
Mensajes: 4424
Registrado: 07 Sep 2004, 21:52
Ubicación: madrid
Gracias dadas: 1271 veces
Gracias recibidas: 2260 veces
Contactar:

Re: Viendo programas para el Sinclair QL con la IA

Mensajepor alt » 05 Jun 2025, 09:40

Llevo tiempo defendiendo que lo de la inteligencia artificial es más una moda que una innovación revolucionaria; por eso, perspectivas como la que expone @eurocamsuite me interesan tanto, porque más allá del mensaje provocador que intento lanzar, me sirven para conocer el auténtico valor de la tecnología, sus límites y su alcance, sin ser yo programador.

Entre sus mensajes y la noticia de que Builder.ai era un fraude (en realidad no había inteligencia artificial por detrás, sino 700 tíos simulando que eran una IA), puedo seguir dando por culo en los debates de cuñados a los que estoy abocado últimamente xD


Volver a “Programación”

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 4 invitados